• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

[хак] Ccomments v.1.0 (комменты как на 4dle.ru)

Статус
В этой теме нельзя размещать новые ответы.

Sland

ПротNв те4ениR
Регистрация
15 Дек 2006
Сообщения
194
Реакции
159
Для просмотра ссылки Войди или Зарегистрируйся

открыть engine/modules/show.full.php

найти и удалить

PHP:
if ($config['comm_msort'] == "ASC")
        $tpl->set('{comment-id}', $cstart+$i);
    else
        $tpl->set('{comment-id}', $comments_num-$cstart-$i+1);

найти

PHP:
$tpl->load_template('comments.tpl');
    

    if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false;

    if ($xfound) $xfields = xfieldsload(true);

    $tpl->copy_template = "<a name="comment"></a>".$tpl->copy_template;

    if ($config['allow_cmod']) $where_approve = " AND " . PREFIX . "_comments.approve='1'"; else $where_approve = "";

    $sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'".$where_approve." ORDER BY date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);

    while($row = $db->get_row($sql_result)){ $i++;

    $row['date'] = strtotime($row['date']);

    $row['gast_name'] = stripslashes($row['gast_name']);
    $row['gast_email'] = stripslashes($row['gast_email']);
    $row['name'] = stripslashes($row['name']);

заменить на

PHP:
$sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'".$where_approve." ORDER BY date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);

    
    
    
    
    while($row = $db->get_row($sql_result)){ $i++;
    
        
    if ($config['comm_msort'] == "ASC") {
        $tpl->set('{comment-id}', $cstart+$i);
        $a_comment_id = $cstart+$i;
        } else {
        $tpl->set('{comment-id}', $comments_num-$cstart-$i+1);
        $a_comment_id = $comments_num-$cstart-$i+1;
        }
    
    if ($a_comment_id & 1)
    $tpl->load_template('comments1.tpl');
    else
    $tpl->load_template('comments2.tpl');
    
    
    if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false;

    if ($xfound) $xfields = xfieldsload(true);

    $tpl->copy_template = "<a name="comment"></a>".$tpl->copy_template;

    if ($config['allow_cmod']) $where_approve = " AND " . PREFIX . "_comments.approve='1'"; else $where_approve = "";

    $row['date'] = strtotime($row['date']);

    $row['gast_name'] = stripslashes($row['gast_name']);
    $row['gast_email'] = stripslashes($row['gast_email']);
    $row['name'] = stripslashes($row['name']);

создать 2 файла шаблона
comments1.tpl - для нечетных комментариев
comments2.tpl - для четных

Автор : storm aka unstandart
 
сделал как былонаписано, но выскакивает вот такая ошибка:

Код:
Parse error: syntax error, unexpected T_STRING in ***/engine/modules/show.full.php on line 522
*** - это мой адрес
что делать?
на версию 6.7 ставил
 
Находите свою 522 строку или такую строчку с таким содержимым (Делайте эти действия когда выполните все действия выше)
PHP:
$tpl->copy_template = "<a name="comment"></a>".$tpl->copy_template;
Заменяете на:
PHP:
$tpl->copy_template = "<a name=\"comment\"></a>".$tpl->copy_template;
и будет работать
Даная подсказка была предоставлена самим GreenFestом
;)
 
поспешил радоваться :confused:
обновил страницу - все комменты нормально отображаются, то есть чередуются как положено, но при добавлении коммента начинаются глюки:
1. если цитировать чей-либо коммент, то при добавлении почему-то выскакивает окно с предупреждением, что Вы ввели слишком большое количество символов.
2. если просто добавлять коммент, то появляется стандартная маленька формочка dle (идет загрузка, подождите), и все сайт зависает. в ie появляется строчка: ошибка на странице...

зы все сделал один в один как было сказано выше.
 
Такая же проблема как и у Shotlandec

Поправте пожалуйста до нормальной версии
 
  • Заблокирован
  • #7
Сделайте то что тут я написал и у вас все бутет работать!
Итак, начнем :

открыть engine/modules/show.full.php

найти и удалить

if ($config['comm_msort'] == "ASC")
$tpl->set('{comment-id}', $cstart+$i);
else
$tpl->set('{comment-id}', $comments_num-$cstart-$i+1);

найти

$tpl->load_template('comments.tpl');


if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false;

if ($xfound) $xfields = xfieldsload(true);

$tpl->copy_template = "<a name=\"comment\"></a>".$tpl->copy_template;

if ($config['allow_cmod']) $where_approve = " AND " . PREFIX . "_comments.approve='1'"; else $where_approve = "";

$sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'".$where_approve." ORDER BY date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);

while($row = $db->get_row($sql_result)){ $i++;

$row['date'] = strtotime($row['date']);

$row['gast_name'] = stripslashes($row['gast_name']);
$row['gast_email'] = stripslashes($row['gast_email']);
$row['name'] = stripslashes($row['name']);

заменить на

$sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'".$where_approve." ORDER BY date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);

while($row = $db->get_row($sql_result)){ $i++;


if ($config['comm_msort'] == "ASC") {
$tpl->set('{comment-id}', $cstart+$i);
$a_comment_id = $cstart+$i;
} else {
$tpl->set('{comment-id}', $comments_num-$cstart-$i+1);
$a_comment_id = $comments_num-$cstart-$i+1;
}

if ($a_comment_id & 1)
$tpl->load_template('comments1.tpl');
else
$tpl->load_template('comments2.tpl');


if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false;

if ($xfound) $xfields = xfieldsload(true);

$tpl->copy_template = "<a name=\"comment\"></a>".$tpl->copy_template;

if ($config['allow_cmod']) $where_approve = " AND " . PREFIX . "_comments.approve='1'"; else $where_approve = "";

$row['date'] = strtotime($row['date']);

$row['gast_name'] = stripslashes($row['gast_name']);
$row['gast_email'] = stripslashes($row['gast_email']);
$row['name'] = stripslashes($row['name']);

создать 2 файла шаблона
comments1.tpl - для нечетных комментариев
comments2.tpl - для четных


После всего этого пройти сюда: ajax/addcomments.php

найти
comments.tpl
заменить на
comments1.tpl
И все! ЧТо тут трудного то?!
У МЕНЯ РАБОТАЕТ НА 6.5 и 7.0
 
да , там был коясчок в установке, от моделя жалоб вроде , я случайно пропустил, каюсь.

А так работает на 6.7 и 7.0 абсолютно точно.
 
ВОт так правильнее будет! Все работает! спасибо

PHP:
$sql_result = $db->query("SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'".$where_approve." ORDER BY date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);
while($row = $db->get_row($sql_result)){ $i++;

if ($config['comm_msort'] == "ASC") {
$tpl->set('{comment-id}', $cstart+$i);
$a_comment_id = $cstart+$i;
} else {
$tpl->set('{comment-id}', $comments_num-$cstart-$i+1);
$a_comment_id = $comments_num-$cstart-$i+1;
}
if ($a_comment_id & 1)
$tpl->load_template('comments1.tpl');
else
$tpl->load_template('comments2.tpl');

if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false;
if ($xfound) $xfields = xfieldsload(true);
$tpl->copy_template = "<a name=\"comment\"></a>".$tpl->copy_template;
if ($config['allow_cmod']) $where_approve = " AND " . PREFIX . "_comments.approve='1'"; else $where_approve = "";
$row['date'] = strtotime($row['date']);
$row['gast_name'] = stripslashes($row['gast_name']);
$row['gast_email'] = stripslashes($row['gast_email']);
$row['name'] = stripslashes($row['name']);
 
Может кто подскажет, как это прикрутить к lastcomments?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху