Помощь Ищу хак для загрузки картинок на radikal

Тема в разделе "DLE", создана пользователем bobkli, 22 сен 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. bobkli

    bobkli Местный

    Регистр.:
    2 ноя 2007
    Сообщения:
    693
    Симпатии:
    116
    Ребята ищу хак для загрузки картинок с сервера на radikal
    раньше скачал откудота а теперь найти не могу может подскажете где скачать мона?
     
  2. Izrael

    Izrael

    Регистр.:
    12 фев 2008
    Сообщения:
    448
    Симпатии:
    56
    скрипт при добавлении или редактировании скачивает все картинки из тегов на сервер и заменяет их.

    Хак сделан на основе какого-то модуля (незнаю чей!)

    PHP:
    <?php


    class image_controller
      
    {
        var 
    $source '';
        var 
    $allow_watermark false;
        var 
    $images = array ();
        var 
    $thumbs = array ();
        var 
    $prefix 'dl';
        var 
    $upload_images = array ();
        
        function 
    reset_url($url)
        {
            
    $value str_replace("http://"""$url);
            
    $value str_replace("www.""",    $value);
            return 
    reset(explode("/"$value));
        }
        function 
    get_images ($content)
        {
          
    preg_match_all (''[thumb](.+?)[/thumb]'ie'$content$preg_array);
          foreach (
    $preg_array[1] as $item)
          {
            if (
    $this->reset_url($_SERVER['HTTP_HOST'])!=$this->reset_url($item))
            {
                if (!(
    in_array ($item$this->thumbs)))
                {
                  
    $this->thumbs[] = $item;
                }

                if (!(
    in_array ($item$this->images)))
                {
                  
    $this->images[] = $item;
                  continue;
                }
            }
          }

          
    preg_match_all ('#[img](.+?)[/img]#ie'$content$preg_array);
          if (
    count ($preg_array[1]) != 0)
          {
            foreach (
    $preg_array[1] as $item)
            {
                if (
    $this->reset_url($_SERVER['HTTP_HOST'])!=$this->reset_url($item))
                {
                    if (!(
    in_array ($item$this->images)))
                    {
                        
    $this->images[] = $item;
                        continue;
                    }
                }
            }
          }

        }

        function 
    download ($image_url$is_thumb false)
        {
          global 
    $config;
          
    $image_name basename ($image_url);
          
    $image_arr explode ('_'$image_name);
          if (
    count ($image_arr) != 0)
          {
            
    $image_name end ($image_arr);
          }

          
    $image_name $this->prefix '_' $image_name;
          if (
    $is_thumb)
          {
            
    $thumb_url str_replace ('/uploads/posts/''/uploads/posts/thumbs/'$image_url);
            
    $serv_image_url $config['http_home_url'] . 'uploads/posts/thumbs/' $image_name;
            
    $this->source str_replace ($thumb_url$serv_image_url$this->source);
            if (!(
    in_array (basename ($serv_image_url), $this->upload_images)))
            {
              
    $this->upload_images[] = basename ($serv_image_url);
            }

            @
    copy ($thumb_urlTHUMB_PATH $image_name);
          }

          
    $serv_image_url $config['http_home_url'] . 'uploads/posts/' $image_name;
          
    $this->source str_replace ($image_url$serv_image_url$this->source);
          @
    copy ($image_urlUPLOAD_PATH $image_name);
          if (!(
    in_array (basename ($serv_image_url), $this->upload_images)))
          {
            
    $this->upload_images[] = basename ($serv_image_url);
          }

          if (
    $this->allow_watermark)
          {
            
    $thumb = new thumbnail (UPLOAD_PATH $image_name);
            
    $thumb->jpeg_quality ($config['jpeg_quality']);
            
    $thumb->insert_watermark ($config['max_watermark']);
            
    $thumb->save (UPLOAD_PATH $image_name);
            unset (
    $thumb);
            if (
    $is_thumb)
            {
              
    $thumb = new thumbnail (THUMB_PATH $image_name);
              
    $thumb->jpeg_quality ($config['jpeg_quality']);
              
    $thumb->insert_watermark ($config['max_watermark']);
              
    $thumb->save (THUMB_PATH $image_name);
              unset (
    $thumb);
            }
          }

        }

        function 
    process ($parse)
        {
            
    $this->source $parse->decodeBBCodes($this->source);
            
    $this->prefix time ();

          if (
    trim ($this->source) != '')
          {
            
    $this->get_images ($this->source);
          }

          foreach (
    $this->images as $image_url)
          {
            
    $this->download ($image_url);
          }

          foreach (
    $this->thumbs as $image_url)
          {
            
    $this->download ($image_urltrue);
          }
            
    $this->source $parse->BB_Parse($this->source);

        }
      }

      
    define ('UPLOAD_PATH'ROOT_DIR '/uploads/posts/');
      
    define ('THUMB_PATH'UPLOAD_PATH 'thumbs/');

    ?>
    это в /engine/inc/di.php
    в файле /engine/inc/parse.class.php
    после
    PHP:
    function process($source) {
    добавляем
    PHP:
    <strong>require_once</strongENGINE_DIR.'/inc/di.php';
        
    $i_control = new image_controller();
        
    $i_control->source  $source;
        
    $i_control->process($this);
        
    $source  $i_control->source;
     
  3. Christmasnet

    Christmasnet

    Регистр.:
    20 окт 2008
    Сообщения:
    151
    Симпатии:
    54
    Пролистал весь код и где интересно функция закачки файлов на radikal?
     
  4. WebeX

    WebeX Постоялец

    Заблокирован
    Регистр.:
    8 фев 2007
    Сообщения:
    277
    Симпатии:
    129
    Скорее всего он их просто с сервера на ваш сервак закачает и все
     
  5. -=BlackSmoke=-

    -=BlackSmoke=-

    Регистр.:
    4 авг 2009
    Сообщения:
    281
    Симпатии:
    49
    Izrael неправильно понял тему, думаю. Нужен хак для заливки файлов НА радикал, а он написал код для сливания картинок С радикала и других внешних серверов :)
     
  6. Tadasi

    Tadasi Постоялец

    Регистр.:
    6 май 2008
    Сообщения:
    145
    Симпатии:
    6
    Тема актуальна очень!
    Нужен такой скрипт, который бы в автомате заливал любое количество фоток на бесплатный хостинг картинок типа radikal.ru или подобный ему. Ну и желательно, что бы работал уже с имеющейся базой (для dle), и в итоге заменял бы исходную ссылку на фотку на полученную.
    Если не захотите спалить, то хоть в асю стукните - мож о чём и договоримся.
     
Статус темы:
Закрыта.