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

z!m3r

Мой дом здесь!
Регистрация
17 Июн 2006
Сообщения
304
Реакции
257
Скрытое содержимое доступно для зарегистрированных пользователей!
 
  • Нравится
Реакции: beno
Я глянул этот граббер, не юзал, но код вроде рабочий, может у тебя 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
Это уже смотри в файле инсерт
 
А рабочий он на 1.10.1 или на 1.10.3???
 
Dimabik, рабочий он на 1.10.1

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

PHP:
Notice: Constant 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:26) in/home/public_html/core/cms.php on line 538

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

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

Notice: Undefined variable: i in /home/public_html/zed/index.php on line 60

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

Notice: Undefined variable: rows in /home/public_html/zed/cat_title.php on line 8

Notice: Undefined variable: table in /home/public_html/zed/cat_title.php on line 25

Узнал про ГД у хоста:
Sophia: we have the latest version of GD 2.1.0
 
рабочий он на 1.10.1
Ошибки по фигне, открой файл cat_title.php и там замени
PHP:
mysql_query
на
PHP:
$inDB->query
PHP:
mysql_fetch_assoc
замени на
PHP:
$inDB->fetch_assoc
PHP:
count
замени на
PHP:
$inDB->num_rows
 
Все также, не отображаются категории куда залить новости.. вот скрин.
2014_05_21_154719.jpg

Ошибки также.. их мона и отключить..
PHP:
Notice: Constant HOST already defined in /home/public_html/zed/index.php on line 33
Notice: Undefined variable: i 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 variable: table in /home/public_html/zed/cat_title.php on line 25
 
Все также, не отображаются категории куда залить новости..
У тебя есть некие знания 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
Как всё заработает, будь другом оформи отдельной темой, я может в скором времени займусь этим компонентом, переделать его на модульную основу, в плане того, что каждый отдельный донор был отдельным файлом, так проще править и распространять и простым людям самим допиливать
 
Последнее редактирование:
Знаний нет, к сожалению.. но заработало))) спасибо 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
Последнее редактирование:
Боюс из за таких урлов с %20%%20%%20% меня заблочит хостер)
На самом деле тут урл такой из за ошибок, он склеил ошибки с уролом, смотри, вот что я декодировал
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</b> on 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</b> on 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'];
и покажи в каком виде возвращается массив
 
Последнее редактирование:
Будь я рядом, пожалбы руку тебе, Для просмотра ссылки Войди или Зарегистрируйся!! :beer:
Все работает отлично!!

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

Notice: Undefined offset: 18 in /home/public_html/zed/cat_title.php on line 13

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

Вложения

  • zed by Rimon.rar
    5,5 KB · Просмотры: 114
Назад
Сверху