Разделы
Каталог модулей
Вход на сайт
Последние сообщения на форуме
Последние комментарии
41 минуту назад - BasssTa 7 часов назад - Aribova 1 день и 11 часов назад - vladimir 1 день и 14 часов назад - ПриватБанк 1 день и 14 часов назад - vladimir 1 день и 15 часов назад - arowana 1 день и 19 часов назад - k12st 2 дня и 15 часов назад - Spaun 2 дня и 16 часов назад - slavyan Опрос
Топ-новости
Другие сайты о ДЛЕ
Архив сайта
Какие-то ссылки
|
Главная страница » Хаки » Счетчик комментариев+ранг пользователей v.1.5
Счетчик комментариев+ранг пользователей v.1.5Хаки
С помощью этого хака можно добавить количество комментариев каждого зарегестрированного пользователя.
Пример смотрите на сайте почти в каждой статье. Тестировалось на Datalife Engine 5.1-5.3 Автор: Лысак Владимир(dle.net.ua) Приступим! 1. Правим шаблон comments.tpl. Нужно добавить два кода. Это код для количества комментариев и сама картинка(полоса) рейтинга. К примеру так: <img src="{foto}" border="0" /><br /> {rank_txt}<br /> <img src=/templates/rus/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']); на (для 5.1, а может и 5.2) $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, user_group, reg_date, signature, foto, fullname, land, icq,comm_num, 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']); на (для 5.3) $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, 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 = '$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",""); } дописываем $no_rating = " Гости не учавствуют в рейтинге"; $arr_ratings = array( 0=> array( 'image_rating'=>'http://www.dle.net.ua/templates/rus/images/rank_00.png', 'rank_txt'=>'Прохожий', 'count_comm'=>'0' ), 1=> array( 'image_rating'=>'http://www.dle.net.ua/templates/rus/images/rank_01.png', 'rank_txt'=>'Гость', 'count_comm'=>'1' ), 2=> array( 'image_rating'=>'http://www.dle.net.ua/templates/rus/images/rank_02.png', 'rank_txt'=>'Новичок', 'count_comm'=>'10' ), 3=> array( 'image_rating'=>'http://www.dle.net.ua/templates/rus/images/rank_03.png', 'rank_txt'=>'Опытный', 'count_comm'=>'20' ), 4=> array( 'image_rating'=>'http://www.dle.net.ua/templates/rus/images/rank_04png', 'rank_txt'=>'Шаман', 'count_comm'=>'30' ), 5=> array( 'image_rating'=>'http://www.dle.net.ua/templates/rus/images/rank_05.png', 'rank_txt'=>'Гуру', 'count_comm'=>'40' ), ); if ($row['comm_num']==""){$row[comm_num]=0;} for($j=0;$j<=count($arr_ratings)-1;$j++) { if ($row['comm_num']>=$arr_ratings[$j]['count_comm']) { $image_rating = $arr_ratings[$j]['image_rating']; $rank_txt = $arr_ratings[$j]['rank_txt']; $remain_comm = "До следующего звания Вам ".($arr_ratings[$j+1]['count_comm']-$row['comm_num'])." комментариев"; if ($row['comm_num']==0){$remain_comm = $no_rating;} } } if ($row['user_group']==1) { $rank_txt = "<b>Администратор</b>"; $remain_comm = ""; } $tpl->set('{image_rating}',$image_rating); $tpl->set('{rank_txt}',$rank_txt); $rank_txt = ""; $image_rating = ""; if ($row['comm_num']>0){ $tpl->set('{comm_num}',$row['comm_num']); } else $tpl->set('{comm_num}','-'); $tpl->set('{img_rating_alt}',$remain_comm); Аналогичные действия проводим с файлом ajax/addcomments.php Не забудьте изменить пути к картинкам ну и загрузить, конечно, их на сервер! 3. Проверяем работу! Результат работы вы можете видеть например тут счётчик комментариев Удачи!
Информация
![]() Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||