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

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

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

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

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

    Sland ПротNв те4ениR

    Регистр.:
    15 дек 2006
    Сообщения:
    181
    Симпатии:
    156
    [​IMG]

    открыть 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
     
    Nous, CannabiS, glam и 3 другим нравится это.
  2. kwin

    kwin

    Регистр.:
    22 авг 2007
    Сообщения:
    413
    Симпатии:
    167
    не есть Sland
    storm aka unstandart есть я
     
    bzez, Nous, Sland и 2 другим нравится это.
  3. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    сделал как былонаписано, но выскакивает вот такая ошибка:

    Код:
    Parse error: syntax error, unexpected T_STRING in ***/engine/modules/show.full.php on line 522 
    
    *** - это мой адрес
    что делать?
    на версию 6.7 ставил
     
  4. GauraStyle

    GauraStyle Kot

    Регистр.:
    13 фев 2007
    Сообщения:
    1.492
    Симпатии:
    916
    Находите свою 522 строку или такую строчку с таким содержимым (Делайте эти действия когда выполните все действия выше)
    PHP:
    $tpl->copy_template "<a name="comment"></a>".$tpl->copy_template;
    Заменяете на:
    PHP:
    $tpl->copy_template "<a name=\"comment\"></a>".$tpl->copy_template;
    и будет работать
    Даная подсказка была предоставлена самим GreenFestом
    ;)
     
    Shotlandec нравится это.
  5. Shotlandec

    Shotlandec

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

    зы все сделал один в один как было сказано выше.
     
  6. shoma

    shoma Постоялец

    Регистр.:
    16 авг 2006
    Сообщения:
    63
    Симпатии:
    8
    Такая же проблема как и у Shotlandec

    Поправте пожалуйста до нормальной версии
     
  7. topme

    topme Читатель

    Заблокирован
    Регистр.:
    26 окт 2007
    Сообщения:
    121
    Симпатии:
    40
    Сделайте то что тут я написал и у вас все бутет работать!
    Итак, начнем :

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

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

    найти

    заменить на

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


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

    найти
    comments.tpl
    заменить на
    comments1.tpl
    И все! ЧТо тут трудного то?!
    У МЕНЯ РАБОТАЕТ НА 6.5 и 7.0
     
  8. kwin

    kwin

    Регистр.:
    22 авг 2007
    Сообщения:
    413
    Симпатии:
    167
    да , там был коясчок в установке, от моделя жалоб вроде , я случайно пропустил, каюсь.

    А так работает на 6.7 и 7.0 абсолютно точно.
     
  9. shoma

    shoma Постоялец

    Регистр.:
    16 авг 2006
    Сообщения:
    63
    Симпатии:
    8
    ВОт так правильнее будет! Все работает! спасибо

    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']); 
     
  10. DeveLord

    DeveLord Писатель

    Регистр.:
    14 дек 2006
    Сообщения:
    6
    Симпатии:
    51
    Может кто подскажет, как это прикрутить к lastcomments?
     
Статус темы:
Закрыта.