Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Система Управлением Сайта | Народный SF Fusion
# 1 Тема: [6.01.13.3] - [Bidgo] - Репутация
Bidgo
SF Team

Avatar пользователя

Антикиллер

SF Support Team

Любитель Fusion

Сообщений: 240
Откуда: Полтава
Зарегистрирован: 27 Октября 2007, 15:06:15
Сказали спасибо 39 раз
Статус: offline
ICQ статус 252950850
Опубликовано 03 Февраля 2008, 20:02:10
В аттаче файлы, которые надо заменить и sql для внесения изменений в базу (выполнить через phpMyAdmin).
В файлах куски кода, которые заменены или добавлены выделены комментами:
// Repa ->
// <- Repa

В админке, в настройках форума добавлены 3 пункта:
* Репутация - Вкл/Выкл
* Минимальный уровень репутации для возможности изменять репутацию юзерам - по умолчанию 0
* Минимальное время регистрации, после которого можно изменять репутацию - по умолчанию 15 дней

Юзер не может изменять репутацию:
- себе,
- если зарегистрирован на сайте менее указанного периода,
- если репутация меньше указанной в админке,
- если уже поставил + или - за данный пост.

На админа эти ограничения не действуют. Админ не может ставить + или - только себе.
Кроме того админ может удалять проставленные + и - (для этого надо нажать на ссылку "Репутация" под аватарой, и там нажать на ссылку "удалить".

Пробуйте, ищите баги - буду исправлять. smiley
Прикрепленные файлы
Для просмотра вложения зарегистрируйтесь


[Изменил(а) Bidgo, 04 Февраля 2008, 21:20:27]

--------------------
Все что НЕ делается, было бы к лучшему...
Присоединяйтесь!
^ наверх ^ 252950850 http://ordenplameni.tclans.ru/
9 пользователей сказали спасибо Вам: Кирдон, pozitiv, snake_oriental, Yan, Drakula, lumian, freez38ru, Rinat, GRITRAY
# 2  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 04 Февраля 2008, 00:55:58
Нашел баг...нажимаю на минус, но всеравно репу плюсует...и даже при добавлении камента пишет "Повышение репутации..."

или только у меня такое? я ничего неменял...


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 3  
Bidgo
SF Team

Avatar пользователя

Антикиллер

SF Support Team

Любитель Fusion

Сообщений: 240
Откуда: Полтава
Зарегистрирован: 27 Октября 2007, 15:06:15
Сказали спасибо 39 раз
Статус: offline
ICQ статус 252950850
Опубликовано 04 Февраля 2008, 08:40:18
Гы, провтыкал...
Строка 55
$vote!='p'
замени на
$vote!=='p'

Фактически этот баг влиял только на эту надпись.
+ и - ставились нормально.


--------------------
Все что НЕ делается, было бы к лучшему...
Присоединяйтесь!
^ наверх ^ 252950850 http://ordenplameni.tclans.ru/
# 4  
Yan
SF Team

Avatar пользователя

Не трогайте Ская! Отпизжу!

SF Support Team

Любитель Fusion

Сообщений: 325
Откуда: Москва
Зарегистрирован: 08 Мая 2007, 19:40:59
Сказали спасибо 24 раз
Статус: offline
Опубликовано 04 Февраля 2008, 10:54:01
У мну кирилицу не тянет...
Читаю комменты реп, одни знаки вопросов... ???????????????
Менял кодировку таблицы, всё ровно знаки вопросов!
И немогу стерать коменты. Ошибку выдаёт.


[Изменил(а) Yan, 04 Февраля 2008, 11:06:02]  
^ наверх ^ yan.kiev.ua
# 5  
Bidgo
SF Team

Avatar пользователя

Антикиллер

SF Support Team

Любитель Fusion

Сообщений: 240
Откуда: Полтава
Зарегистрирован: 27 Октября 2007, 15:06:15
Сказали спасибо 39 раз
Статус: offline
ICQ статус 252950850
Опубликовано 04 Февраля 2008, 11:15:43
Исправил. Странно, но на денвере работало, а на хосте нет. smiley
Строка 169:
reputation?step
заменить на
reputation.php?step

С кодировкой незнаю, скорее всего, чтото все таки с таблицей.
У меня и на денвере и на хосте нормально отображается.

Обновил архив в первом посте.
Исправилены некоторые баги.


[Изменил(а) Bidgo, 04 Февраля 2008, 11:21:47]

--------------------
Все что НЕ делается, было бы к лучшему...
Присоединяйтесь!
^ наверх ^ 252950850 http://ordenplameni.tclans.ru/
# 6  
Bidgo
SF Team

Avatar пользователя

Антикиллер

SF Support Team

Любитель Fusion

Сообщений: 240
Откуда: Полтава
Зарегистрирован: 27 Октября 2007, 15:06:15
Сказали спасибо 39 раз
Статус: offline
ICQ статус 252950850
Опубликовано 04 Февраля 2008, 11:40:09
Yan, попробуй так создать, без указания кодовой страницы по умолчанию:

CREATE TABLE `fus_reputation` (
`user_id` smallint(5) NOT NULL default '0',
`voter` smallint(5) NOT NULL default '0',
`vote` char(1) NOT NULL default '',
`post_id` smallint(5) NOT NULL default '0',
`thread_id` smallint(5) NOT NULL default '0',
`forum_id` smallint(5) NOT NULL default '0',
`msg` text NOT NULL,
`datestamp` int(10) NOT NULL default '0'
) TYPE=MyISAM;


--------------------
Все что НЕ делается, было бы к лучшему...
Присоединяйтесь!
^ наверх ^ 252950850 http://ordenplameni.tclans.ru/
# 7  
Yan
SF Team

Avatar пользователя

Не трогайте Ская! Отпизжу!

SF Support Team

Любитель Fusion

Сообщений: 325
Откуда: Москва
Зарегистрирован: 08 Мая 2007, 19:40:59
Сказали спасибо 24 раз
Статус: offline
Опубликовано 04 Февраля 2008, 12:05:49
Теперь работает)
Только вот, может лучше сделать по типу:
Репутация: (картинкой +) (Число где вычитаются все плюсы и минусы с ссылкой на общую репутацию) (картинкой минус)

Пример:
Репутация: '' 50 ''
Ну или не картинкой а как и было: (+1) 50 (-1)

доп картинки ''''''''

Еще ж надо добавить такую строку в профиле...
И написано должно быть - Добавлено из профиля...
Прикрепленные файлы
r_add.gif   ( width:16 height:16 )

r_minus.gif   ( width:16 height:16 )


[Изменил(а) Yan, 04 Февраля 2008, 17:51:49]  
^ наверх ^ yan.kiev.ua
# 8  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 04 Февраля 2008, 13:38:58
Вот лови....картинки залей в паку имаджес в корне сайта..
вроде так должно быть...
// Repa ->
if ($resrep['reputation']) {
echo "<span class='alt'>Репутация:</span> ";
$repa=(dbcount("(vote)", "reputation", "(user_id=".$data['user_id']." and vote='p')"))-(dbcount("(vote)", "reputation", "(user_id=".$data['user_id']." and vote='m')"));

if (iMEMBER && ($data['user_id']<>$userdata['user_id']) && (iADMIN || ((time()-$userdata['user_joined'])/86400>$resrep['min_time']) && (dbcount("(vote)", "reputation", "(voter=".$userdata['user_id']." and post_id=".$data['post_id'].")")==0) && (dbcount("(vote)", "reputation", "(user_id=".$userdata['user_id']." and vote='p')")-dbcount("(vote)", "reputation", "(user_id=".$userdata['user_id']." and vote='m')")>=$resrep['min_repa']))) {
echo "<b><a href='".FORUM."reputation.php?vote=p&post=".$data['post_id']."&user=".$data['user_id']."&forum_id=$f
orum_id&thread_id=$thread_id'><img src='".IMAGES."r_add.gif' alt='".dbcount("(vote)", "reputation", "(user_id=".$data['user_id']." and vote='p')")."'></a><a href='".FORUM."reputation.php?user=".$data['user_id']."'> $repa </a><a href='".FORUM."reputation.php?vote=m&post=".$data['post_id']."&user=".$data['user_id']."&forum_id=$f
orum_id&thread_id=$thread_id'><img src='".IMAGES."r_minus.gif' alt='".dbcount("(vote)", "reputation", "(user_id=".$data['user_id']." and vote='m')")."'></a></b>\n";

} else {
echo "<b><img src='".IMAGES."r_add1.gif'><a href='".FORUM."reputation.php?user=".$data['user_id']."'> $repa </a><img src='".IMAGES."r_minus1.gif'></b>\n";
}

}
// <- Repa



тута пример(если увидиш)


ПРИМЕР


[Изменил(а) pozitiv, 04 Февраля 2008, 14:01:29]

--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 9  
Bidgo
SF Team

Avatar пользователя

Антикиллер

SF Support Team

Любитель Fusion

Сообщений: 240
Откуда: Полтава
Зарегистрирован: 27 Октября 2007, 15:06:15
Сказали спасибо 39 раз
Статус: offline
ICQ статус 252950850
Опубликовано 04 Февраля 2008, 13:50:56
Ну я так и пробовал, тока чето между стрелочками все время 0 показывало, $repa не считалась...
И че это у тебя за r_add1.gif и r_minus1.gif?
Чем они должны отличаться от r_add.gif и r_minus.gif?

З.Ы. Уже увидел) Круто) Тока зачем $repa2? И зачем $repa считается 2 раза?
ИМХО, $repa2 вобще можно убрать, а $repa вынести перед if


[Изменил(а) Bidgo, 04 Февраля 2008, 13:59:07]

--------------------
Все что НЕ делается, было бы к лучшему...
Присоединяйтесь!
^ наверх ^ 252950850 http://ordenplameni.tclans.ru/
# 10  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 04 Февраля 2008, 14:04:07
И че это у тебя за r_add1.gif и r_minus1.gif?
Чем они должны отличаться от r_add.gif и r_minus.gif?


r_add1.gif и r_minus1.gif отличаются от r_add.gif и r_minus.gif тем что они серые и ненажимаемые, типа сам себе репу менять неможеш))

зы: изменил код выше по совету))
зыы: $repa2 я просто провтыкал удалить...


[Изменил(а) pozitiv, 04 Февраля 2008, 14:08:35]

--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 11  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 04 Февраля 2008, 14:26:37
Помогите с другой проблемой...я хочу сделать чтобы репа отображалась таблицей, а не постами как на форуме...я немного изменил кое-чего, но там сбивается таблица...как я понял я чтото забыл, но исправить никак немогу(((
вот код отображения репы..


openside("История репутации пользователя");
if (isset($user) && isnum($user)) {
$rows = dbcount("(vote)", "reputation", "user_id='$user'");
if (!isset($rowstart) || !isNum($rowstart)) $rowstart = 0;
if ($rows > 20) {
echo "<div align='center' style='margin-top:5px;margin-bottom:5px;'>
".makePageNav($rowstart,20,$rows,3,FUSION_SELF."?user=$user&")."
</div>\n";
}
echo "<table cellpadding='0' cellspacing='1' width='100%' align='center' class='tbl-border'>
<tr>
<td width='20' class='tbl2'>От юзера</td>
<td class='tbl2'>Тема</td>
<td width='100' class='tbl2'>Коментарий</td>
<td align='center' width='50' class='tbl2'>Уровень</td>
<td align='center' width='50' class='tbl2'>Дата</td>

\n";
if (iADMIN || iSUPERADMIN) {
echo"<td width='20' class='tbl2'>Опции</td>";
}
if ($rows != 0) {
$result = dbquery(
"(SELECT r.*,u.user_name,u.user_avatar FROM ".$db_prefix."reputation r, ".$db_prefix."users u
WHERE r.voter=u.user_id AND r.user_id=$user
ORDER BY datestamp LIMIT $rowstart,$posts_per_page) "
);

$numrows = dbrows($result);
$i = 0;
while ($data = dbarray($result)) {
$i++;
$message = $data['msg'];
$message = parsesmileys($message);
$message = parseubb($message);
$message = preg_replace("/([^\s]{150})/", "$1\n", $message);
$message = nl2br($message);




echo "<table class='tbl' width='100%'>";


echo "</tr><tr>
<td valign='top' width='145' class='tbl1'><a href='../profile.php?lookup=".$data['voter']."'>".$data['user_name']."
</a><br>\n";

echo "</td><td valign='top' class='tbl1'><a href='".FORUM."viewthread.php?forum_id=".$data['forum_id']."&thread_id=".$data['thread_id']."&post_i
d=".$data['post_id']."#post_".$data['post_id']."'>";
$results = dbquery(
"(SELECT * FROM ".$db_prefix."threads WHERE thread_id=".$data['thread_id'].")
");
while ($datas = dbarray($results)) {
echo "".$datas['thread_subject']."";
}
echo "</a>";

echo "</td><td valign='top' class='tbl1'>
$message";

echo "</td><td valign='top' class='tbl1'>";
if ($data['vote']=='p') {
echo "<center><img src='".IMAGES."up.gif'></center>";
} else {
echo "<center><img src='".IMAGES."down.gif'></center>";
}
echo "</td><td valign='top' class='tbl1'><center>".showdate("forumdate",$data['datestamp'])."</center>";
if (iADMIN || iSUPERADMIN) {
echo "</td><td valign='top' class='tbl1'><center><a href='reputation.php?step=del&user=$user&voter=".$data['voter']."&post=".$data['post_id']."&st=".$data[&#
39;datestamp']."'><img src='".IMAGES."delete.png'></a></center>";
}
else {
echo "</td>";
}

echo "</td></tr></table>\n";
if ($rows > 20) {
echo "<div align='center' style='margin-top:5px;margin-bottom:5px;'>
".makePageNav($rowstart,20,$rows,3,FUSION_SELF."?user=$user&")."
</div>\n";
}
}
}
}
closeside();


[Изменил(а) pozitiv, 04 Февраля 2008, 14:27:09]

--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 12  
Bidgo
SF Team

Avatar пользователя

Антикиллер

SF Support Team

Любитель Fusion

Сообщений: 240
Откуда: Полтава
Зарегистрирован: 27 Октября 2007, 15:06:15
Сказали спасибо 39 раз
Статус: offline
ICQ статус 252950850
Опубликовано 04 Февраля 2008, 17:19:52
Что бросилось в глаза в первую очередь, Этот кусок кажется лишним.



echo "<table class='tbl' width='100%'>";





И еще, я там уже исправлял... у тебя начальный вариант...
Во всех ссылках где используется viewthread.php?....post_id=$post....
надо изменить &post_id= на &pid=


[Изменил(а) Bidgo, 04 Февраля 2008, 17:24:32]

--------------------
Все что НЕ делается, было бы к лучшему...
Присоединяйтесь!
^ наверх ^ 252950850 http://ordenplameni.tclans.ru/
# 13  
pozitiv
SF Team

Avatar пользователя

паZитифф

SF Support Team

Почетный SF

Сообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз
Статус: offline
ICQ статус 3902393
Опубликовано 04 Февраля 2008, 18:22:09
К сожалению без етого куска распадается вся таблица((

зы: у меня неначальный вариант, просто етот кусок я менял в начльном варианте, потом поставил исправленную версию и просто поменял нужный мне кусок=))


--------------------
wmz - Z226856101527
wmr - R513979829437

Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^ 3902393 http://nekto.me
# 14  
Yan
SF Team

Avatar пользователя

Не трогайте Ская! Отпизжу!

SF Support Team

Любитель Fusion

Сообщений: 325
Откуда: Москва
Зарегистрирован: 08 Мая 2007, 19:40:59
Сказали спасибо 24 раз
Статус: offline
Опубликовано 04 Февраля 2008, 20:09:17
Принцып:
<TABLE>
<TR>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD></TD>
</TR>
</TABLE>
Завтра сделаю.
 
^ наверх ^ yan.kiev.ua
# 15  
Bidgo
SF Team

Avatar пользователя

Антикиллер

SF Support Team

Любитель Fusion

Сообщений: 240
Откуда: Полтава
Зарегистрирован: 27 Октября 2007, 15:06:15
Сказали спасибо 39 раз
Статус: offline
ICQ статус 252950850
Опубликовано 04 Февраля 2008, 20:49:45
Исправил и немного оптимизировал.
Обновленные скрыпты в первом посте.

А ошибка твоя в том, что таблица закрывалась в цикле.


[Изменил(а) Bidgo, 05 Февраля 2008, 08:10:14]

--------------------
Все что НЕ делается, было бы к лучшему...
Присоединяйтесь!
^ наверх ^ 252950850 http://ordenplameni.tclans.ru/
5 пользователей сказали спасибо Вам: pozitiv, Rinat, targa, valiko, Argentum
Перейти на форум:


104,859,508 уникальных посетителей
сейчас: 01 Ноября 2024, 02:08:00
Генерация страницы: 0.40 сек.

Original size:59 кб.
GZipped size: 11 кб.
Compression:81%