Модуль RSS Grabber

Тема в разделе "DLE", создана пользователем Skamer, 6 май 2008.

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

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

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

    Skamer Постоялец

    Регистр.:
    1 дек 2006
    Сообщения:
    116
    Симпатии:
    73
    В связи что тема старая полна всякого мусора, и на грани закрытия. я решил создать эту тему:

    RSS Grabber 2.3 - это модуль для:
    Перекачивания короткой, и полной новости с картинкой с сайтов на DLE.
    может работать через Cron (автоматически добавлять новости каждый день)
    Совместимость: Dle 6.7. , dle 7.0
    Скачать можно тут (взято из старой темы)
    Чтобы сграбить полную новость, нужно правильно указать шаблон начала и шаблон конца полной новости. чтобы это сделать, открываем полную новость нужного сайта, смотрим исходный код странички и ищем уникальный код начала и конца самой новости.

    Наиболее частые ошибки и их решения:

    - решение:
    Код:
    Открыть /engine/classes/parse.class.php
    Найти:
    
    function filterTags($source) {
    $preTag = NULL;
    $postTag = $source;
    $tagOpen_start = strpos($source, '<');
    while($tagOpen_start !== FALSE)
    
    Добавить выше:
    Для MySQL 5:
    
    function safeSQL( $source )
    {
    if ($this->db_id) return mysqli_real_escape_string ($this->db_id, $source);
    else return mysql_escape_string($source);
    }
    Для MySQL 4:
    
    function safesql( $source )
    {
    if ($this->db_id) return mysql_real_escape_string ($source, $this->db_id);
    else return mysql_escape_string($source);
    }
    --------------------------------------
    Решение:
    в rss.functions.php меняешь
    PHP:
          return '[thumb]http://' $host $url '[/thumb]';
        }

        return 
    '[thumb]' $url '[/thumb]'
    на:
    PHP:
       return '[img]http://' $host $url '[/img]';
        }

        return 
    '[img]' $url '[/img]'
    и ошибка больше не появляется, уменьшенная копия конечно не создаётся, но в движке можно задать ограничение на размер и картинка будет сжата до нужного размера, главное граббит и вставляет нормально
    (С) wwwkila
    --------------------------------------

    Не установлена или отключена библиотека iconv. Требуй чтобы включил хостер.
    Если тестишь на локале, устанавливай и бут работать.
    --------------------------------------

    Решение:
    в rss.function.php надо заменить TRUE на FALSE в строке
    PHP:
     $http_client->useGzip
    --------------------------------------
    Вроде с частыми ошибками все..

    Главная ошибка которую нашел, и она у всех и на нее нет решения:
    Если на сайте с которого грабишь полную новость картинки загружены на сервер в теге [thumb] т.е при нажатии картинка увеличивается, то в графе полная новость будет просто пустой текст (не при нажатии добавить, а еще при выборе новостей)
    скрин

    rss Канал:
    http://www.korzik.net/engine/rss.php?do=cat&category=erotika
    шаблон начала:
    <div id='news-id-
    шаблон конца
    </div><br /><div align="left"><br>

    Как проблему решить не знаю, может кто немного подправит модуль? или вообще будут люди которые скинутся на доработку модуля. Т.е дорабатывать есть что!
    если что я за!

     
    Budrin, EvialWorld, antiterror и 21 другим нравится это.
  2. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    то же присоединюсь к посту на счет крона. надо редмишку, как и что с кроном делать, где его брать...
    _________________________________
    от себя добавлю:
    вот еще проблема котрая иногда попадается (у меня буквально недавно была)

    не открываются ссылки, которые скрыты хайдом, хотя и прописано в настройках ленты:
    Код:
    dle_name=vash_nic_na_saite
    dle_password=2a3dfa66c2d8e8c67b77f2a25886e3cf
    там же в кеше смотрим такое значение: PHPSESSID

    и прописываем третьей строкой в в поле где логин и пароль вы прописываете, то есть :
    Код:
    dle_name=vash_nic_na_saite
    dle_password=2a3dfa66c2d8e8c67b77f2a25886e3cf
    PHPSESSID=a59eaf73d138f44ec1a2538a3a1f9471
    и все будет нормально :)


    _______________________________________
    - поддерживаю!
     
    EvialWorld нравится это.
  3. almaz

    almaz

    Регистр.:
    12 ноя 2006
    Сообщения:
    336
    Симпатии:
    74
    VETERCOM, walkman7 и Shotlandec нравится это.
  4. wwwkila

    wwwkila

    Регистр.:
    29 дек 2006
    Сообщения:
    196
    Симпатии:
    32
    не знаю поможет или нет, но попробовать можешь выполнить следующие действия:

    в файле engine/inc/makethumb.php

    найти

    Код:
    } else {
                //DEFAULT
                echo "Not Supported File! Thumbnails can only be made from .jpg, gif and .png images!";
                exit();
    заменить на

    Код:
    } else {
                $this->img["format"]="PNG";
                $this->img["src"] = @imagecreatefrompng ($imgfile);
                exit();
    найти и удалить

    Код:
    if ($this->img["src"] == "") {
                echo "Not Supported File! Thumbnails can only be made from .jpg, gif and .png images!";
                @unlink($imgfile);
                exit();
    
            }
     
  5. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    пишу еще раз подробно, что бы не было кривотолков:
    стоят грабли, ктороые были выложены в предыдцщей теме (где уже за 80 страниц перевалило), версия 2.3, dle 7 - стоит
    все работает прекрасно, то есть в ручном режиме, через админку. уже третий крон (все что здесь были выложены) пытаюсь запустить только вот ошибки дает и все...
    ради помощи могу выложить любые файлы для проверки, уже просто руки опускаются... обидно еще то, что вроде говорят, что должно работать, а оно не пашет :(

    ________________________
    нашел небольшую вещь: что дал крон almaz, он работает, но что-то возникает проблема с гра***ми, выдает ошибку, что описывал я выше: ругается тумба, что не может закачать картинки... Все остальные грабли, что тут уже выкладывали, что в прошлой теме, просто не хотят работать... у них прописана одна сстрока:
    Код:
    require_once ENGINE_DIR . '/classes/rss.class.php';
    а в файлике Алмаза (извини что просклонял твой ник :)) эта строка:
    Код:
    require_once ENGINE_DIR . '/inc/plugins/rss.classes.php';
    вот в чем фишка, что не хотело работать. теперь осталось понять, как от ошибки уйти...
     
  6. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    уж в англицком я разбираюсь :)
    вопрос более конкретный был, что это обозначает для работоспособности кода :0)

    ладно, надо двигаться дальше....
    в общем испробовал все грабли что были здесь выложены, вывод:
    -все работают.
    -у всех одна и таже проблема с грабом картинок:
    Код:
    Not Supported File! Thumbnails can only be made from .jpg, gif and .png images!
    для решения этой проблемы в админке, то есть грабилка в ручном режиме:
    находим в engine/inc/plugins/rss.functions.php
    Код:
          return '[thumb]http://' . $host . $url . '[/thumb]';
        }
    
        return '[thumb]' . $url . '[/thumb]';
      }
    
    заменяем все тумбы на "img"

    и в админке устанавливаем "Автоматическое изменение размера для удаленных изображений" на тот размер, котрый вам надо, что бы картинка сжималась...

    конечно это не панацея, но все же выход из положения.

    НО! эта ошибка остается на кроне, как ее там исправить вот вопрос! кто сдесь может что подсказать?
     
  7. qwe1234

    qwe1234

    Регистр.:
    1 мар 2008
    Сообщения:
    178
    Симпатии:
    12


    а ты куда устанавливал на денвер или хостинг ?

    попробуй сделать так

    Код:
    Удаляем старую таблицу dle_rss
    А потом создаем новую
    Выполняем следующие SQL запросы 
    CREATE TABLE `dle_rss` (
      `id` int(11) NOT NULL auto_increment,
      `url` varchar(255) NOT NULL,
      `title` text NOT NULL,
      `descr` text NOT NULL,
      `date` varchar(60) NOT NULL,
      `category` int(5) NOT NULL,
      `allow_main` tinyint(1) NOT NULL default '0',
      `allow_comm` tinyint(1) NOT NULL default '0',
      `allow_auto` tinyint(1) NOT NULL default '0',
      `allow_rate` tinyint(1) NOT NULL default '0',
      `allow_more` tinyint(1) NOT NULL default '0',
      `allow_watermark` tinyint(1) NOT NULL default '0',
      `date_format` tinyint(1) NOT NULL default '0',
      `load_img` tinyint(1) NOT NULL default '0',
      `start_template` text NOT NULL default '',
      `finish_template` text NOT NULL default '',
      `cookies` text NOT NULL default '',
      `proxy` text NOT NULL default '',
      `keywords` text NOT NULL default '',
      PRIMARY KEY  (`id`),
      UNIQUE KEY `id` (`id`)
    );
     
  8. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    нет не удалось. вот прикрепляю три крона:
    Посмотреть вложение cron.rar
    Посмотреть вложение cron.rss - нет.rar
    Посмотреть вложение cron_rss - нет.rar
    два последних, где написано в названии "нет". вообще ни чего не происходит, запускаешь, страница просто обновляется и все, новости не добавляются. первый хоть что-то пытается делать :) , как уже говорил уходит в ошибку с тумбой.
    если все же кто найдется грамотный посмотрите...
     
    qwe1234 нравится это.
  9. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    я прочитал все посты по грабберам у нас на форуме, но все что я смог вынести от-туда полезного, так то, что крон просто льется в корень с сайтом, некоторые писали пример заливки: кореньсайта->папка с кроном->сам крон, некоторые: кореньсайта->сам крон
    далее в кроне посомотреть что бы прописаны были правильные пути к файлам:
    Код:
    require_once ENGINE_DIR . '/init.php';
    require_once ENGINE_DIR . '/classes/parse.class.php';
    require_once ENGINE_DIR . '/inc/makethumb.php';
    require_once ENGINE_DIR . '/inc/plugins/rss.classes.php';
    require_once ENGINE_DIR . '/inc/plugins/rss.functions.php';
    
    не ориентируйтесь на то что написал выше, надо проверять у себя.
    далее по их словам должно все работать, то есть для проверки вбить в поисковую строку "свойсайт.крон.php" и должно работать. вот тут, то и загвоздка....
     
    qwe1234 нравится это.
  10. qwe1234

    qwe1234

    Регистр.:
    1 мар 2008
    Сообщения:
    178
    Симпатии:
    12
    и третий крон тоже рабочий все добовляется без ошибок
    Посмотреть вложение cron_rss .rar
    в этом файле немного другие строки в ковычках
    Код:
    require_once ENGINE_DIR . '/init.php';
     ""require_once ENGINE_DIR . '/inc/parse.class.php';""
    require_once ENGINE_DIR . '/inc/makethumb.php';
     ""require_once ENGINE_DIR . '/classes/rss.class.php';""
    require_once ENGINE_DIR . '/inc/plugins/rss.functions.php';
    но тоже все работает
     
Статус темы:
Закрыта.