Вопрос по Vote up/down

Главные вкладки

Аватар пользователя Eretica Eretica 26 ноября 2007 в 14:20

Можно ли сделать так, чтобы пользователи не могли ставить поинты за собственные материалы?
Если да, то как?

Комментарии

Аватар пользователя kernel32 kernel32 26 ноября 2007 в 17:42

простое, но слегка корявое решение - при отображении их сравнивать uid в ноде с id юзера, если совпало - не отображать кнопки.
дописать 1 строчку кода.

Аватар пользователя kernel32 kernel32 27 ноября 2007 в 3:54

я наврал. 2 строчки:
$node = node_load($cid);
if ($user->uid==$node->uid) $output='';

запихать их в конец function theme_vote_up_down_widget($cid, $type), перед строчкой
return $output;

тупая проверка, если айдишка юзера и автора нода совпали, не отображать стрелочки.

если используется альтернативный виджет, повторить в function theme_vote_up_down_widget_alt($cid, $type).

а, файл где править называется vote_up_down.module.

метод слегка корявый, он просто убирает отображение кнопок, голосовать можно будет по прямым ссылкам, если их каким-то другим образом получить (например самому вычислить, зная айдишку ноды, если у вас юзеры будут знать айдишки нод, они с долей хитрости смогут обойти убер защиту). нормальное решение больше чем в 2 строчки Sad и мне лень его искать за просто так.

Аватар пользователя kernel32 kernel32 28 ноября 2007 в 10:14

а что кокретно написало, какая ошибка? у меня эти 2 строчки работали. даже интересно, в чём может быть косяк в этих 2 строчках оО

Аватар пользователя Сет Сет 22 января 2008 в 19:03

Угу. Причем, рабочее.
Там приведен код модуля, который (у автора нода, коммента) заменяет виджет на количество поинтов.
PHP я не знаю, а через CSS убрал этим:

.content .vote-points {
display: none;
}