Помощь Счетчик комментариев и Ранг пользователей v.2.0

Тема в разделе "DLE", создана пользователем to0x, 27 апр 2007.

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

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

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

    to0x V.I.P.

    Регистр.:
    9 апр 2006
    Сообщения:
    684
    Симпатии:
    740
    Размер архива: 46 кб
    Версия скрипта: 5.1
    Модуль тестировался: 5.1

    http://rapidshare.com/files/28217360/Raiting_Commeents_DLE_5.1.zip
     

    Вложения:

    • Comment.png
      Comment.png
      Размер файла:
      3,5 КБ
      Просмотров:
      182
  2. najmas

    najmas Создатель

    Регистр.:
    17 мар 2007
    Сообщения:
    19
    Симпатии:
    0
    Сможет кто переделать под 5.7?
     
  3. Xao

    Xao Madoka Magika

    Регистр.:
    9 дек 2006
    Сообщения:
    247
    Симпатии:
    75
    я пробовал тока у меня не получилось! знаний не достаточно!:( если кто сможет сделать выложите плиЗ!!:bc:
     
  4. Barthez

    Barthez

    Регистр.:
    28 мар 2007
    Сообщения:
    265
    Симпатии:
    169
    это я переделывал этот модуль и выкладывал на 4dle внимание работает только на версии 5.1 ибо делал лично для себя пример посмотреть можежте здесь :)
    http://web-script.org/index.php
     
  5. lan77

    lan77 Постоялец

    Регистр.:
    11 фев 2007
    Сообщения:
    59
    Симпатии:
    5
    Подскажи на 5.5 как переделать, смотрел твои файлы, которые в архиве там ссылки на картинки на твой сайт, но это не проблема, главное код по определению ранга вставил в файлы на 5.5, не работает, где еще изменить надо?
     
  6. SOCRAT

    SOCRAT

    Регистр.:
    6 июн 2006
    Сообщения:
    275
    Симпатии:
    54
    на оф. форуме все описано, на 55 у меня работает
     
  7. lan77

    lan77 Постоялец

    Регистр.:
    11 фев 2007
    Сообщения:
    59
    Симпатии:
    5
    на 5.5 не найду хак, файлы от 5.1 не хочется заменять, подскажи где готовый есть. :nezn:
     
  8. sidor

    sidor

    Регистр.:
    7 июн 2006
    Сообщения:
    220
    Симпатии:
    14
    выложи плз на 5.5
     
  9. sidor

    sidor

    Регистр.:
    7 июн 2006
    Сообщения:
    220
    Симпатии:
    14
    вообщем, полазил в инете, сделал (у меня 5.3, 5.5, на других не пробовал)

    1. [/bПравим шаблон comments.tpl.
    Нужно добавить два кода. Это код для количества комментариев и сама картинка(полоса) рейтинга.
    К примеру так:
    Код:
    <img src="{foto}" border="0" /><br />
    <img src={THEME}/images/comments.gif border="0" alt="Комментариев" />{comm_num}<br />
    <img src="{image_rating}" border="0" alt="Рейтинг" />
    Я добавил эти поля под фото.

    2. Файл show.full.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, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id' order by date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);
    на

    Код:
        $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, user_group, comm_num, is_register, name, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id' order by date ".$config['comm_msort']." LIMIT ".$cstart.",".$config['comm_nummers']);
    далее после:
    Код:
       if ($row['is_register'] AND $row['signature']) {
        $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","\\1");
        $tpl->set('{signature}', stripslashes($row['signature']));
        } else {
        $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","");
        }
    дописываем
    Код:
    $arr_ratings = array(
    '{THEME}/images/rank_00.png'=>'0',// Здесь первая это картинка-рейтинг, а второе число это количество комментариев. 
    '{THEME}/images/rank_01.png'=>'2',
    '{THEME}/images/rank_02.png'=>'4',
    '{THEME}/images/rank_03.png'=>'6',
    '{THEME}/images/rank_04.png'=>'8',
    '{THEME}/images/rank_05.png'=>'10',
    );
    $image_rating = $arr_rating[0];
    foreach($arr_ratings as $key=>$value)
    {
      if ($row['comm_num']>=$value){$image_rating = $key;}
    }
    if (!isset($image_rating)){$image_rating = $arr_ratings[0];}
    $tpl->set('{image_rating}',$image_rating);
    if ($row['comm_num']>0){
    $tpl->set('{comm_num}',$row['comm_num']);
    }
    else
    $tpl->set('{comm_num}','-');
    теперь займемся http://your_site/index.php?do=lastcomments

    открываем файлик ласткомментс

    ищем
    Код:
      if ($userid) {
        $sql_comm = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq, " . PREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE {$stop_list}" . PREFIX . "_comments.is_register = '1' AND " . PREFIX . "_comments.user_id='$userid' ORDER BY date desc LIMIT ".$cstart.",".$number;
        $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id WHERE {$stop_list}" . PREFIX . "_comments.is_register = '1' AND " . PREFIX . "_comments.user_id='$userid'";
        }
        else {
        $sql_comm = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq, " . PREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id {$stop_list}ORDER BY date desc LIMIT ".$cstart.",".$number;
        $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id {$stop_list}";
        }
    меняем на
    Код:
        if ($userid) {
            $sql_comm = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, news_num, " . PREFIX . "_users.comm_num, reg_date, signature, foto, fullname, land, icq, " . PREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE {$stop_list}" . PREFIX . "_comments.is_register = '1' AND " . PREFIX . "_comments.user_id='$userid' ORDER BY date desc LIMIT ".$cstart.",".$number;
        $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id WHERE {$stop_list}" . PREFIX . "_comments.is_register = '1' AND " . PREFIX . "_comments.user_id='$userid'";
        }
        else {
            $sql_comm = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.date, " . PREFIX . "_comments.autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . PREFIX . "_users.email, news_num, " . PREFIX . "_users.comm_num, reg_date, signature, foto, fullname, land, icq, " . PREFIX . "_users.xfields as xprofile, " . PREFIX . "_post.title, " . PREFIX . "_post.date as newsdate, " . PREFIX . "_post.alt_name FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id {$stop_list}ORDER BY date desc LIMIT ".$cstart.",".$number;
            $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id {$stop_list}";
        }
    после
    Код:
      if ($row['is_register']) $tpl->set('{registration}', langdate("d.m.Y", $row['reg_date']));
        else $tpl->set('{registration}', '--');
    пишем
    Код:
       $tpl->set('{comm_num}', intval($row['comm_num']));
    после
    Код:
      $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","");
        }
    пишем
    Код:
    $arr_ratings = array(
    '{THEME}/images/rank_00.png'=>'0',// Здесь первая это картинка-рейтинг, а второе число это количество комментариев.
    '{THEME}/images/rank_01.png'=>'2',
    '{THEME}/images/rank_02.png'=>'4',
    '{THEME}/images/rank_03.png'=>'6',
    '{THEME}/images/rank_04.png'=>'8',
    '{THEME}/images/rank_05.png'=>'10',
    );
    $image_rating = $arr_rating[0];
    foreach($arr_ratings as $key=>$value)
    {
      if ($row['comm_num']>=$value){$image_rating = $key;}
    }
    if (!isset($image_rating)){$image_rating = $arr_ratings[0];}
    $tpl->set('{image_rating}',$image_rating);
    if ($row['comm_num']>0){
    $tpl->set('{comm_num}',$row['comm_num']);
    }
    else
    $tpl->set('{comm_num}','-');
    теперь находим \engine\ajax\addcomments.php и там нужно сделать следующее

    после
    Код:
      if ($row['is_register']) $tpl->set('{registration}', langdate("d.m.Y", $row['reg_date']));
        else $tpl->set('{registration}', '--');
    пишем
    Код:
       $tpl->set('{comm_num}', intval($row['comm_num']));
    после
    Код:
      $tpl->set_block("'\\[signature\\](.*?)\\[/signature\\]'si","");
        }
    пишем
    Код:
    $arr_ratings = array(
    '{THEME}/images/rank_00.png'=>'0',// Здесь первая это картинка-рейтинг, а второе число это количество комментариев.
    '{THEME}/images/rank_01.png'=>'2',
    '{THEME}/images/rank_02.png'=>'4',
    '{THEME}/images/rank_03.png'=>'6',
    '{THEME}/images/rank_04.png'=>'8',
    '{THEME}/images/rank_05.png'=>'10',
    );
    $image_rating = $arr_rating[0];
    foreach($arr_ratings as $key=>$value)
    {
      if ($row['comm_num']>=$value){$image_rating = $key;}
    }
    if (!isset($image_rating)){$image_rating = $arr_ratings[0];}
    $tpl->set('{image_rating}',$image_rating);
    if ($row['comm_num']>0){
    $tpl->set('{comm_num}',$row['comm_num']);
    }
    else
    $tpl->set('{comm_num}','-');
    нам осталось только поменять запрос к базе. для этого

    находим
    Код:
       $row = $db->super_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, " . PREFIX . "_users.email, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$post_id' order by id DESC LIMIT 0,1");
    и меняем на
    Код:
       $row = $db->super_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, " . PREFIX . "_users.email, news_num, " . PREFIX . "_users.comm_num, " . PREFIX . "_users.user_group, reg_date, signature, foto, fullname, land, icq, xfields FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_users ON " . PREFIX . "_comments.user_id=" . PREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$post_id' order by id DESC LIMIT 0,1");
    Не забудьте изменить пути к картинкам ну и загрузить, конечно, их на сервер! :smmne:
     
  10. najmas

    najmas Создатель

    Регистр.:
    17 мар 2007
    Сообщения:
    19
    Симпатии:
    0
    Так никто под 5.7 не сделал?:confused:
     
Статус темы:
Закрыта.