Форум о социальных сетях Поиск по форуму Инвестиции SMM обучение SMM курсы
Форум о социальных сетях Поиск по форуму Инвестиции SMM обучение SMM курсы
  • Страница 1 из 1
  • 1
Счетчик комментариев+ранг пользователей v.1.5
#1
Вторник, 25.01.2011, 21:02
Console
Проверенный
Сообщения: 182
Репутация: -17
С помощью этого хака можно добавить количество комментариев каждого зарегестрированного пользователя.
Пример смотрите на сайте почти в каждой статье.

Тестировалось на 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. Проверяем работу!

  • Страница 1 из 1
  • 1
Поиск:
Форум
Социальные сети
Хостинг от uCoz