Перейдите в
Панель управления » Управление дизайном » Глобальные блоки: Верхняя часть сайта, в самый верх разместите код:
<script type="text/javascript">
window.entries = [];
<?if($PAGE_ID$ == "entry" || $PAGE_ID$ == "usercomments")?>window.entries.push('$MODULE_ID$/$ID$/$UID$');<?endif?>
window.hashes = [];
window.users = [];
</script>
и сохраните изменения.
Если у вас нет такого шаблона, создайте глобальный блок и вставьте в него код, а затем разместите этот глобальный блок во всех шаблонах "Страница материала и комментариев к нему", в том числе и в "Общий вид страниц форума", ОБЯЗАТЕЛЬНО сразу после открывающего тега <body>.
Затем перейдите в
Панель управления » Управление дизайном » Глобальные блоки: Нижняя часть сайта, и в самый низ разместите код из файла:
<script type="text/javascript">
<?if($ADMIN_BAR$ && $GROUP_ID$ == "4")?>
(function() {
var tmp;
tmp = setInterval(function() {
if ($('.uadm-comments .uadm-subl').length > 0) {
$('.uadm-comments .uadm-subl').append('<div id="karmaButton" style="height: 28px;padding: 0 17px 0 12px;cursor:pointer;color:#000" onclick="new _uWnd(\'karmaWindow\',\'Настройка\',400,160,{align:\'left\',closeonesc:1,min:0,max:0},{url:\'/php/karma/karma.php?config=true\'});return false;">Настройка кармы</div>');
clearInterval(tmp);
}
}, 100);
})();
<?endif?>
<?if($PAGE_ID$ == "entry" || $PAGE_ID$ == "usercomments")?>
<?if($RATE_FORM$)?>
(function() {
if (typeof ustarrating != 'function') return;
ustarrating2 = ustarrating;
ustarrating = function(id, mark) {
$.post('/php/karma/karma.php', {id: '$UID$', karma: mark-3, entry: '$MODULE_ID$/$ID$', hash: window.hashes['$MODULE_ID$/$ID$/$UID$']});
ustarrating2(id, mark);
}
})();
$(document).ready(function() {
if ($('#rt$ID$').length) {
var onChange = $('#rt$ID$').attr('onChange').replace('disabled=true;', 'disabled=true;$.post("/php/karma/karma.php",{id: "$UID$", karma: this.options[this.selectedIndex].value-3, entry: "$MODULE_ID$/$ID$", hash: window.hashes["$MODULE_ID$/$ID$/$UID$"]});');
$('#rt$ID$').attr('onChange', onChange);
}
});
<?endif?>
if(typeof window.entries != 'undefined') $.post('/php/karma/karma.php', {entries: window.entries.join(',')}, function(data) {
window.hashes = data;
}, 'json');
<?endif?>
</script>
и сохраните изменения.
Если у вас нет такого шаблона, создайте глобальный блок, вставьте в него код, затем разместите этот глобальный блок во всех шаблонах "Страница материала и комментариев к нему", в том числе и в "Общий вид страниц форума", ОБЯЗАТЕЛЬНО сразу перед закрывающим тегом </body>.
Далее перейдите в
Панель управления » Управление дизайном » Комментарии: Вид комментариев, найдите код оценки комментария (примерно следующий код):
<?if($GOOD_COMMENT_URL$)?>
<a href="$GOOD_COMMENT_URL$"><img alt="" src="http://s701.uweb.ru/img/icon/thumbu2.png" title="Хороший пост" style="margin: 0 4px;vertical-align: middle;"></a>
<?if($COMMENT_RATING$ > 0)?>
$COMMENT_RATING$
<?else?>
$COMMENT_RATING$
<?endif?>
<a href="$BAD_COMMENT_URL$"><img alt="" src="http://s701.uweb.ru/img/icon/thumbd2.png" title="Плохой пост" style="margin: 0 4px;vertical-align: middle;"></a>
<?else?>
<img alt="" src="http://s701.uweb.ru/img/icon/thumbu2_.png" title="Хороший пост" style="margin: 0 4px;vertical-align: middle;opacity: .5;">
<?if($COMMENT_RATING$ > 0)?>
$COMMENT_RATING$
<?else?>
$COMMENT_RATING$
<?endif?>
<img alt="" src="http://s701.uweb.ru/img/icon/thumbd2_.png" title="Плохой пост" style="margin: 0 4px;vertical-align: middle;opacity: .5;">
<?endif?>
и замените данный код на:
<script type="text/javascript">
// В текущем окне:
//window.users['$USERNAME$'] = '<?(substr($PROFILE_URL$,strpos($PROFILE_URL$,"/index/8-")+9))?>';
// В новом окне (простом):
//window.users['$USERNAME$'] = '<?(substr($PROFILE_URL$,strpos($PROFILE_URL$,"/index/8-")+9,strpos($PROFILE_URL$,'" target="')-strpos($PROFILE_URL$,"index/8-")-8))?>';
// В новом окне (оформленном):
window.users['$USERNAME$'] = '<?(substr($PROFILE_URL$,strpos($PROFILE_URL$,"/index/8-")+9,strpos($PROFILE_URL$,"','up")-strpos($PROFILE_URL$,"index/8-")-8))?>';
window.entries.push('$MODULE_ID$/comments/$ID$/'+window.users['$USERNAME$']);
</script>
<?if($GOOD_COMMENT_URL$)?>
<a href="javascript://" rel="nofollow" onclick="$.ajax({url: '/index/60-$ID$-1', dataType: 'xml', success: function(data) {
var js = $(data).find('cmd[p=\'js\']').text();
$.globalEval(js);
if(js.indexOf('Оценка засчитана')>-1) $.post('/php/karma/karma.php', {id: window.users['$USERNAME$'], karma: 1, entry: '$MODULE_ID$/comments/$ID$', hash: window.hashes['$MODULE_ID$/comments/$ID$/'+window.users['$USERNAME$']]});
}});return false;"><img src="/.s/img/icon/thumbu.png" align="absmiddle" border="0" title="+1"></a>
<?else?>
<img src="/.s/img/icon/thumbu_.png" align="absmiddle" border="0">
<?endif?>
<b id="comrat$ID$"<?if($COMMENT_RATING$<0)?>class="myWinError"><?else?><?if($COMMENT_RATING$=0)?>style="color:gray;"><?else?>class="myWinSuccess">+<?endif?><?endif?>$COMMENT_RATING$</b>
<?if($BAD_COMMENT_URL$)?>
<a href="javascript://" rel="nofollow" onclick="$.ajax({url: '/index/60-$ID$-2', dataType: 'xml', success: function(data) {
var js = $(data).find('cmd[p=\'js\']').text();
$.globalEval(js);
if(js.indexOf('Оценка засчитана')>-1) $.post('/php/karma/karma.php', {id: window.users['$USERNAME$'], karma: -1, entry: '$MODULE_ID$/comments/$ID$', hash: window.hashes['$MODULE_ID$/comments/$ID$/'+window.users['$USERNAME$']]});
}});return false;"><img src="/.s/img/icon/thumbd.png" border="0" align="absmiddle" title="-1"></a>
<?else?><img src="/.s/img/icon/thumbd_.png" align="absmiddle" border="0"><?endif?>
При этом, обратите внимание в этом коде на три строчки: в зависимости от того, в каком окне открывается профиль, надо использовать только одну из них, а остальные закомментировать (или удалить):
// В текущем окне:
//window.users['$USERNAME$'] = '<?(substr($PROFILE_URL$,strpos($PROFILE_URL$,"/index/8-")+9))?>';
// В новом окне (простом):
//window.users['$USERNAME$'] = '<?(substr($PROFILE_URL$,strpos($PROFILE_URL$,"/index/8-")+9,strpos($PROFILE_URL$,'" target="')-strpos($PROFILE_URL$,"index/8-")-8))?>';
// В новом окне (оформленном):
window.users['$USERNAME$'] = '<?(substr($PROFILE_URL$,strpos($PROFILE_URL$,"/index/8-")+9,strpos($PROFILE_URL$,"','up")-strpos($PROFILE_URL$,"index/8-")-8))?>';
window.entries.push('$MODULE_ID$/comments/$ID$/'+window.users['$USERNAME$']);
После чего перейдите в
Панель управления » Управление дизайном » Пользователи: Персональная страница пользователя, и разместите следующий код в то место, где хотите видеть отображение вывода кармы пользователя:
<script type="text/javascript">
var getthiskarm;
(function() {
getthiskarm = function() {
$('#karmasbm').attr('src','/.s/img/wd/1/ajaxs.gif');
$.post('/php/karma/karma.php', $('#karmaform').serialize(), function(data) {
$('#newKarma').val(data);
$('#karmasbm').attr('src','/.s/img/icon/ok.png');
}, 'json');
};
document.write('<div id="karma"></div>');
$.post('/php/karma/karma.php', {users: $_USER_ID$}, function(data) {
if (data == null) return;
data = data['$_USER_ID$'];
$('#karma').html('<div class="udtb"><div class="udtlb">Карма:</div> <?if($MODER_PANEL$)?><form id="karmaform"><input type="hidden" name="id" value="$_USER_ID$"><input type="text" name="newKarma" id="newKarma" value="' + data + '" class="manFlaName" style="width:80px;"><img align="absmiddle" style="cursor:pointer;margin-left:5px;" src="/.s/img/icon/ok.png" id="karmasbm" onclick="getthiskarm();return false;"></form><?else?><span class="karma">' + data + '</span><?endif?></div>');
}, 'json');
})();
</script>