Представляем вашему вниманию скрипт системы универсальной оценки материала.
Особенности скрипта:
+ Возможность одновременной установки на большинство модулей, Быстрая работа, Два типа оценки с отдельным подсчетом каждой (Положительная, отрицательная), Изменение выбранной оценки, Вывод списка оценивших, Простая установка, Не требуется занимать модули.
Установка скрипта:
Скачайте архив скачать, разархивируйте его. Откройте файл rate.php, найдите переменную $site (В начале, см. комментарии к строкам) и впишите адрес Вашего сайта. Сохраните. По ftp php загрузите файлы users.dat, rate.dat, rate.php,
phpfunctions.php в папку urate, предварительно ее создав.
Скрипт универсальный для модулей, имеющих страницу материала и комментариев к нему и может использоваться в них всех одновременно. Для этого зайдите в ПУ, Управление дизайном, Нужный модуль, страница материала и комментариев к нему, найдите стандартную форму рейтинга
и замените ее на код:
Code
<style>
#vote_form {color:#777} /*Цвет текста в форме рейтинга*/
#total_votes {color:#444} /*Всего голосов*/
#votes_plus {color:green} /*Положительных голосов*/
#votes_minus {color:red} /*Отрицательных голосов*/
#uAvatar {padding:1px} /*Аватарки проголосовавших*/
.vote_good {color:green;padding:1px} /*Сообщение об успешном положит. голосе*/
.vote_bad {color:red;padding:1px} /*Сообщение об успешном отр. голосе*/
.vote_img {vertical-align:-2px} /*Позиционирование изображений +/-*/
</style>
<script type="text/javascript">
/*
Name: Универсальная система рейтинга материалов
Date: 10.08.2012
Author: www.ujs.su
*/
var rate = {
getVotes: function () {
$.post(phpurl,{a:'getrate',m:module,n:entryID}, function (res) {
if(res.split('|')[0].length > 1) { $('#votes_plus').html(res.split('|')[0].toString());
$('#votes_minus').html(res.split('|')[1].toString());
$('#total_votes').html(parseInt($('#votes_plus').text().match(/\d+/))+parseInt($('#votes_minus').text().match(/\d+/)));
if(res.split('|')[2].length > 1) {
var t = res.split('|')[2].toString();$('#mm').remove(); $('#like, #unlike').show();
$('#'+t).before('<img src="http://www.ujs.su/uJS/'+t+'_notactive.png" id="mm" border="0" class="vote_img" title="Ваша оценка этого материала" width="12" height="12"/>').hide();
}
} else {$('#total_votes, #votes_plus, #votes_minus').html('0')}
})
},
vote: function (type) {
rate._ajax(phpurl, {a:'dorate',type:type,m:module,n:entryID})
setTimeout(function() {rate.getVotes()},500)
},
getList: function (vtype) {
var u = vtype == 'like' ? 'положительно' : 'отрицательно';
new _uWnd('list','Список оценивших '+u,300,140,{align:0,аutоsizе:1,close:0,modal:1,oncontent: function () {$.post(phpurl, {a:'getlist',m:module,n:entryID,type:vtype}, function (r) {if(r.length > 1) { $('#list_u').html(r);} else {$('#list_u').html('Пока никто не оценил...')} _uWnd.getbyname('list').checksize()})}},'<fieldset><legend>Пользователи:</legend><div id="list_u">Loading...</div></fieldset><fieldset><div align="right"><input type="button" style="padding:2px;" onclick="_uWnd.close(\'list\')" value="Закрыть"></div></fieldset>')
},
_ajax: function (url,params) {
$.post(url, params, function (rs) { _uWnd.alert(rs,'',{w:300,h:40}); })
}
}
</script>
<script>
var phpurl = '/php/urate/rate.php'; // Путь к php скрипту
var entryID = '$ID$'; // ID материала, не трогать
var module = '$MODULE_ID$'; // Модуль, не трогать
$(function () {
rate.getVotes()
})
</script>
<span id="vote_form">Всего голосов: <b id="total_votes">...</b> | <a href="javascript://" id="like" onclick="rate.vote('like')"><img src="http://ucozon.ru/_dr/60/57515400.png" border="0" class="vote_img" width="12" height="12"/></a><a href="javascript://" style="padding-left:2px" onclick="rate.getList('like')"><b id="votes_plus">...</b></a> | <a href="javascript://" style="padding-right:2px" onclick="rate.getList('unlike')"><b id="votes_minus">...</b></a><a href="javascript://" id="unlike" onclick="rate.vote('unlike')"><img src="http://ucozon.ru/_dr/60/86339498.png" border="0" class="vote_img" width="12" height="12" /></a> |</span>
P.S.: весь визуальный вид можно легко настроить, css стили прокомментированы.
Автор: uJS team