ZED граббер от CN с иправлениями от Rimon

Тема в разделе "InstantCMS", создана пользователем z!m3r, 20 май 2014.

Модераторы: Maybe
  1. z!m3r

    z!m3r

    Регистр.:
    17 июн 2006
    Сообщения:
    224
    Симпатии:
    212
     
    beno нравится это.
  2. Rimon

    Rimon Постоялец

    Регистр.:
    14 апр 2013
    Сообщения:
    126
    Симпатии:
    88
    Я глянул этот граббер, не юзал, но код вроде рабочий, может у тебя GD ниже 1.8 ? Спроси у хостера. А вообще удали в файле Index.php первые 5 строк и смотри, что будет писать. А лучше, вместо строки
    PHP:
    ini_set('display_errors''Off');
    Напиши
    PHP:
    error_reporting(-1);
    ini_set('display_errors'TRUE);
    ini_set('display_startup_errors'TRUE);
    И что выведет тебе покажи.
    И еще, вроде как инстант новых версий не любит такие вот строки
    PHP:
    or die (mysql_error())
    А так же
    PHP:
    mysql_result
    Это уже смотри в файле инсерт
     
    z!m3r нравится это.
  3. dimabik

    dimabik

    Регистр.:
    14 мар 2008
    Сообщения:
    962
    Симпатии:
    179
    А рабочий он на 1.10.1 или на 1.10.3???
     
  4. z!m3r

    z!m3r

    Регистр.:
    17 июн 2006
    Сообщения:
    224
    Симпатии:
    212
    Dimabik, рабочий он на 1.10.1

    Rimon, спасибо большое, что нашел время и глянул.
    Как сменил строки, ошибки сразу посыпались)

    PHP:
    NoticeConstant HOST already defined in /home/public_html/zed/index.php on line 33

    Warning
    Cannot modify header information headers already sent by (output started at /home/public_html/zed/index.php:26in/home/public_html/core/cms.php on line 538

    Notice
    Undefined indexsearch in /home/public_html/zed/index.php on line 39

    Notice
    Undefined indexpage in /home/public_html/zed/index.php on line 40

    Notice
    Undefined variablei in /home/public_html/zed/index.php on line 60

    Warning
    mysql_fetch_assoc() expects parameter 1 to be resourceboolean given in /home/public_html/zed/cat_title.php on line 5

    Notice
    Undefined variablerows in /home/public_html/zed/cat_title.php on line 8

    Notice
    Undefined variabletable in /home/public_html/zed/cat_title.php on line 25

    Узнал про ГД у хоста:
    Sophia: we have the latest version of GD 2.1.0
     
    Rimon нравится это.
  5. Rimon

    Rimon Постоялец

    Регистр.:
    14 апр 2013
    Сообщения:
    126
    Симпатии:
    88
    Ошибки по фигне, открой файл cat_title.php и там замени
    PHP:
    mysql_query
    на
    PHP:
    $inDB->query
    PHP:
    mysql_fetch_assoc
    замени на
    PHP:
    $inDB->fetch_assoc
    PHP:
    count
    замени на
    PHP:
    $inDB->num_rows
     
    z!m3r нравится это.
  6. z!m3r

    z!m3r

    Регистр.:
    17 июн 2006
    Сообщения:
    224
    Симпатии:
    212
    Все также, не отображаются категории куда залить новости.. вот скрин.
    [​IMG]
    Ошибки также.. их мона и отключить..
    PHP:
    NoticeConstant HOST already defined in /home/public_html/zed/index.php on line 33
    Notice
    Undefined variablei in /home/public_html/zed/index.php on line 60

    Warning
    mysqli_num_rows() expects parameter 1 to be mysqli_result, array given in /home/public_html/core/classes/db.class.php on line183

    Notice
    Undefined variabletable in /home/public_html/zed/cat_title.php on line 25
     
    Rimon нравится это.
  7. Rimon

    Rimon Постоялец

    Регистр.:
    14 апр 2013
    Сообщения:
    126
    Симпатии:
    88
    У тебя есть некие знания PHP ?
    Дело в файле cat_title.php попробуй там вначале вставить
    PHP:
    $inDB cmsDatabase::getInstance();
    И когда у тебя ошибка выскакивает ты пиши саму строку еще, я протестировать не могу, с завязанными глазами можно сказать. Смотри, что делает этот файл, он делает подключение к БД и заносит данные в массив этими строками
    PHP:
    $query "SELECT id,title FROM cms_category";
    $res = @mysql_query($query);
    while (
    $row mysql_fetch_assoc($res)) {
        
    $rows[]=$row;
    }
    замени этот код на
    PHP:
        $query "SELECT id,title FROM cms_category";
         
    $result $inDB->query($query);
    $rows= array();
    while (
    $row$inDB->fetch_assoc($result)){
                
    $rows[] = $row;
            }
    Далее он считает количество элементов массива
    PHP:
    $last_id count($rows);
    заменить на
    PHP:
    $last_id=$inDB->num_rows($rows)
    и вот этим циклом он создает select box или как там его, в общем выпадающий список
    PHP:
    for($i=1;$i<=$last_id;$i++)
    {
        
    $name iconv('UTF-8','UTF-8',$rows[$i]['title']);
        if(
    $name){
        if(
    $_GET['cat_id']==$rows[$i]['id'])
        {
        
    $table .= '<option value='.$rows[$i]['id'].' selected >'.$name.'</option>';
        }
        else
        {
        
    $table .= '<option value='.$rows[$i]['id'].' >'.$name.'</option>';
        }
        }
    }
    и этим
    PHP:
    return $table;
    он возвращает всё то, что он выше создал, точнее все селекты категорий.
    Какие могут быть ошибки тут: Во-первых это то, что я писал постом выше, во вторых может таблица названа не так? cms_category
    Возвращает же он всё это в такую вот строку в файл index.php
    PHP:
    $cats = include('cat_title.php');
    попробуй после этой строки написать
    PHP:
    print_r($cats); die();
    Какой вывод будет? Die() убьет всё то, что будет идти по коду дальше а принт_р выведет всё содержимое переменной $cats
    Как всё заработает, будь другом оформи отдельной темой, я может в скором времени займусь этим компонентом, переделать его на модульную основу, в плане того, что каждый отдельный донор был отдельным файлом, так проще править и распространять и простым людям самим допиливать
     
    Последнее редактирование: 21 май 2014
    irip и z!m3r нравится это.
  8. z!m3r

    z!m3r

    Регистр.:
    17 июн 2006
    Сообщения:
    224
    Симпатии:
    212
    Знаний нет, к сожалению.. но заработало))) спасибо Rimon, после исправления в файле кат тайтл отобразились каты. Текст с загловками новостей удачно копируются. Две проблемы остались, не копирует картинки с донора и при просмотре загруженных новостей со страницы граббера, кажись ошибка в конце урла от файла инсерт о котором ты говорил выше.
    Он под конец урла добавляет охинею какуюто..
    PHP:
    http://сайт.info/news/politika/priznan-papom-goda%3Cbr%20%3E%3C/a%3E%3Cb%3EWarning%3C/b%3E:%20%20mysql_result()%20expects%20parameter%201%20to%20be%20resource,%20object%20given%20in%20%3Cb%3E/home/public_html/zed/insert.php%3C/b%3E%20on%20line%20%3Cb%3E140%3C/b%3E%3Cbr%20/%3E%3Cbr%20/%3E%3Cb%3EWarning%3C/b%3E:%20%20mysql_result()%20expects%20parameter%201%20to%20be%20resource,%20object%20given%20in%20%3Cb%3E/home/public_html/zed/insert.php%3C/b%3E%20on%20line%20%3Cb%3E157%3C/b%3E%3Cbr%20/%3E.html
    Боюс из за таких урлов с %20%%20%%20% меня заблочит хостер)

    п.с. я в отдельной теме упомянув тебя выложу рабочий граббер.
     

    Вложения:

    • cat_title.rar
      Размер файла:
      425 байт
      Просмотров:
      11
    Последнее редактирование: 21 май 2014
    Rimon нравится это.
  9. Rimon

    Rimon Постоялец

    Регистр.:
    14 апр 2013
    Сообщения:
    126
    Симпатии:
    88
    На самом деле тут урл такой из за ошибок, он склеил ошибки с уролом, смотри, вот что я декодировал
    PHP:
    http://сайт.info/news/politika/priznan-papom-goda<br ></a>
    <b>Warning</b>:  mysql_result() expects parameter 1 to be resource,
    object given in <b>/home/public_html/zed/insert.php</bon line <b>140</b><br />
    <
    br /><b>Warning</b>:  mysql_result() expects parameter 1 to be resource,
    object given in <b>/home/public_html/zed/insert.php</bon line <b>157</b><br />.html
    Он ругается на строку я так полагаю
    PHP:
    $id mysql_result($id,0,id);
    Что если мы сделаем так?
    PHP:
    $id=$inDB->fetch_assoc($id);
    $id=$id['id'];
    прости за гавнокод. Еще я увидел 157 строку
    PHP:
    $id_tags mysql_result($tags,0,id);
    Давай её заменим на
    PHP:
    $id_tags=$inDB->fetch_assoc($tags);
    $id_tags=$id_tags['id'];
    если не заработает, то попробуй сделать между этими строками
    PHP:
    $id=$inDB->fetch_assoc($id);
    $id=$id['id'];
    вот такую строчку вставить
    PHP:
    print_r($id);die();
    чтобы получилось так
    PHP:
    $id=$inDB->fetch_assoc($id);
    print_r($id);die();
    $id=$id['id'];
    и покажи в каком виде возвращается массив
     
    Последнее редактирование: 21 май 2014
  10. z!m3r

    z!m3r

    Регистр.:
    17 июн 2006
    Сообщения:
    224
    Симпатии:
    212
    Будь я рядом, пожалбы руку тебе, Rimon!! :beer:
    Все работает отлично!!

    Только такие сообщение вверху
    PHP:
    NoticeUndefined indexcat_id in /home/public_html/zed/cat_title.php on line 15

    Notice
    Undefined offset18 in /home/public_html/zed/cat_title.php on line 13
    но это мона и отключить вывод ошибок.
    Как переработчик плагина, сам откроешь тему отдельно и чтобы модеры перенесли туда последние сообщения по теме? или мне сделать это?
     

    Вложения:

    Rimon нравится это.