Null ratio / Обнуление рейтинга

drew

Легенда
Завтра выложу ajax версию, изменения в ней будут минимальные. + Можете написать что добавить надо в этот мод.
 

Dream

Легенда
Сегодня не было чем заняться решил переписать на ajax вот что получилось:

в index_datap.php
найти:
PHP:
}
 
$this->response['html']    = $html;
добавить перед:
PHP:
    case 'null_ratio':
        if(!$bb_cfg['rationull_enabled']) $this->ajax_die($lang['MODULE_OFF']);
        $user_id = (int) $this->request['user_id'];
       
        $btu = get_bt_userdata($user_id);
       
        $up_total = $btu['u_up_total'] + $btu['u_up_release'] + $btu['u_up_bonus'];
        $down_total = $btu['u_down_total'];
        $ratio = ($down_total) ? round((($up_total) / $down_total), 2) : '-';
        $ratio_nulled = $btu['ratio_nulled'];
       
        if ($user_id != $userdata['user_id']) $this->ajax_die("Вы не можите обнулять чужой рейтинг!");
        else if ($down_total < MIN_DL_FOR_RATIO) $this->ajax_die("Вы скачали меньше !");
        else if ($ratio_nulled) $this->ajax_die("Вы уже обнуляли рейтинг!");
        else if ($ratio > $bb_cfg['ratio_to_null']) $this->ajax_die("Ваш рейтинг нормален. Обнуление разрешено только при рейтинге меньше ". $bb_cfg['ratio_to_null'] ."");
 
        DB()->query("UPDATE ". BB_BT_USERS ." SET u_up_total = 0, u_down_total = 0, u_up_release = 0, u_up_bonus = 0, ratio_nulled = 1 WHERE user_id = ". $user_id ."");   
        $this->ajax_die("Рейтинг сброшен! Впредь держите его в норме!");
    break;

в config.php в конец докинуть:
PHP:
$bb_cfg['rationull_enabled'] = true;
$bb_cfg['ratio_to_null'] = 0.3;

в usercp_viewprofile.tpl
найти:
HTML:
<h4 class="cat border bw_TB" id="username">{L_CONTACT} <span class="editable bold">{USERNAME}</span></h4>
перед добавить:
HTML:
        <script type="text/javascript">
        ajax.index_data = function(mode) {
            ajax.exec({
                action  : 'index_data',
                mode    : mode,
                user_id : {PROFILE_USER_ID}
            });
        }
        ajax.callback.index_data = function(data) {
            $('#index_data').html(data.html);
        }
        </script>
        <!-- IF not NULLED_RATIO -->
        <a class="adm" href="#" onclick="ajax.index_data('null_ratio'); return false;">[ Обнулить рейтинг ]</a>
        <!-- ELSE -->
        Рейтинг уже сброшен
        <!-- ENDIF -->

в usercp_viewprofile.php
найти:
PHP:
    $count_draft = $count_draft["count"];
}

после добавить:
PHP:
if ($bb_cfg['rationull_enabled'])
{
    $btu = get_bt_userdata($profiledata['user_id']);
}

найти:
PHP:
'LOCATION'            => $profiledata['user_from'],
после:
PHP:
'NULLED_RATIO'          => $btu['ratio_nulled'],
 

vitalix

Пользователь
Dream,
Ещё момент - совместить с напоминанием на главной(с основного мода) и переводом в юзер профиль. )
 
Сверху