コード例 #1
0
ファイル: banned.server.php プロジェクト: Nikitian/fl-ru-damp
/**
 * Устанавливает поля в форме редактирования предупреждения пользователя
 * 
 * @param  int $sUid    UID пользователя
 * @param  int $sWarnId ID предупреждения при редактировании/снятии
 * @param  int $edit флаг редактирования причины предупреждения
 * @return object xajaxResponse
 */
function setUserWarnFormNew($sUid = 0, $sWarnId = 0, $edit = 0)
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
    session_start();
    $objResponse = new xajaxResponse();
    $users = new users();
    if (hasPermissions('users') && !$users->GetUserByUID($sUid)) {
        $customReason = $reasonId = '';
        $aUserWarn = admin_log::getUserWarn($sWarnId);
        $sUniqId = "warnUser{$sUid}";
        $sObjName = $users->uname . ' ' . $users->usurname . ' [' . $users->login . ']';
        $sReason = '';
        $reasonId = 0;
        if (!$aUserWarn) {
            // инициализируем предупреждение по умолчанию
            $nActId = 1;
            $objResponse->assign('warn_label', 'innerHTML', 'Сделать');
        } else {
            if ($edit) {
                // инициализируем данными предупреждения
                $nActId = 1;
                $sReason = $aUserWarn['reason'];
                $reasonId = $aUserWarn['reason_id'];
                $objResponse->assign('warn_label', 'innerHTML', 'Редактировать');
            } else {
                // инициализируем снятие предупреждения по умолчанию
                $nActId = 2;
                $objResponse->assign('warn_label', 'innerHTML', 'Снять');
            }
        }
        $customReason = $reasonId ? '' : $sReason;
        $readonly = $reasonId ? true : false;
        $sSelectOptions = _getAdminActionReasonOptions($nActId, $reasonId);
        $sBanDiv = '<div id="bfrm_div_sel_' . $sUniqId . '"><select id="bfrm_sel_' . $sUniqId . '" name="bfrm_sel_' . $sUniqId . '" onchange="banned.setReason(\'' . $sUniqId . '\');">' . $sSelectOptions . '</select></div>';
        $sBanTextarea = '<textarea id="bfrm_' . $sUniqId . '" name="bfrm_' . $sUniqId . '" cols="" rows="" class="b-textarea__textarea b-textarea__textarea_height_50">' . $sReason . '</textarea>';
        $objResponse->assign('warn_div', 'innerHTML', $sBanDiv);
        $objResponse->assign('warn_texarea', 'innerHTML', $sBanTextarea);
        $objResponse->assign('warn_name', 'innerHTML', $sObjName);
        $objResponse->assign('warn_name', 'href', '/users/' . $users->login);
        $objResponse->script("banned.banUid = '{$sUniqId}';");
        $objResponse->script("banned.buffer['{$sUniqId}'].act_id = {$nActId};");
        $objResponse->script("banned.buffer['{$sUniqId}'].customReason[{$nActId}] = '{$customReason}';");
        $objResponse->script("banned.buffer['{$sUniqId}'].reasonId[{$nActId}] = '{$reasonId}';");
        $objResponse->script("\$('warn_btn').set('disabled',false);\$('warn_close').set('disabled',false);\$('warn_btn').set('value','Сохранить');");
        $objResponse->script("\$('ov-notice').setStyle('display', '');");
    }
    return $objResponse;
}