Если глобально, то так
В файле lib_karma.php
в функции cmsSubmitKarma
if(cmsAlreadyKarmed($target, $item_id, $id)){ return false; }
меняем на
if($id) {
if(cmsAlreadyKarmed($target, $item_id, $id)){ return false; }
} else {
if(cmsAlreadyKarmedIP($target, $item_id, $ip)){ return false; }
$id = 0;
}
в функции cmsKarmaButtonsText
if(!cmsAlreadyKarmed($target, $target_id, $inUser->id)){
меняем на
if(!cmsAlreadyKarmed($target, $target_id, $inUser->id) && !cmsAlreadyKarmedIP($target, $target_id, $ip)){
до if добавляем
$ip = $_SERVER['REMOTE_ADDR'];
В файле core/ajax/karma.php
if (!$inUser->id) { $inCore->halt(); }
закомментируем
// if (!$inUser->id) { $inCore->halt(); }
Не знаю насколько правильно, но работать должно