Exemplo n.º 1
0
/**
 * Устанавливает поля в форме редактирования блокировки проекта.
 * 
 * @param int $obj_id   ID состояние объекта
 * @param int $last_act Текущее состояние объекта (ID действия из admin_actions)
 * @param int $src_id   ID исходного действия (projects_blocked)
 * @param int $edit     флаг редактирования причины блокировки
 *
 * @return object xajaxResponse
 */
function setPrjBlockForm($obj_id, $last_act, $src_id = 0, $edit = 0)
{
    session_start();
    $objResponse = new xajaxResponse();
    if (hasPermissions('projects')) {
        $sReason = $customReason = '';
        $reasonId = 0;
        if ($last_act == 10) {
            // инициализируем блокировкой по умолчанию
            $nActId = 9;
            $objResponse->assign('lr1', 'innerHTML', 'Заблокировать');
        } else {
            if ($edit) {
                // инициализируем данными блокировки
                $nActId = 9;
                $aBlock = admin_log::getProjBlock($src_id);
                $sReason = $aBlock['reason'];
                $reasonId = $aBlock['reason_id'];
                $objResponse->assign('lr1', 'innerHTML', 'Редактировать блокировку');
            } else {
                // инициализируем разблокировкой по умолчанию
                $nActId = 10;
                $objResponse->assign('lr1', 'innerHTML', 'Разблокировать');
            }
        }
        $customReason = $reasonId ? '' : $sReason;
        $readonly = $reasonId ? true : false;
        $sBanDiv = '<div id="bfrm_div_sel_0"><select><option>Подождите...</option></select></div>' . '<textarea id="bfrm_0" name="bfrm_0" cols="" rows="">' . clearTextForJS(html_entity_decode($sReason, ENT_QUOTES, 'cp1251')) . '</textarea>';
        $objResponse->assign('prj_ban_div', 'innerHTML', $sBanDiv);
        $objResponse->script('banned.buffer[0] = new Object();');
        $objResponse->script('banned.buffer[0].customReason = new Array();');
        $objResponse->script('banned.buffer[0].reasonId = new Array();');
        $objResponse->script("banned.buffer[0].act_id = '{$nActId}';");
        $objResponse->script("banned.buffer[0].objectId = '{$obj_id}';");
        $objResponse->script("banned.buffer[0].srcId = '{$src_id}';");
        $objResponse->script("banned.buffer[0].customReason[{$nActId}] = '{$customReason}';");
        $objResponse->script("banned.buffer[0].reasonId[{$nActId}] = '{$reasonId}';");
        $objResponse->script("xajax_getAdminActionReasons( {$nActId}, '0', '{$reasonId}' );");
        $objResponse->script("\$('ov-notice3').setStyle('display', '');");
    }
    return $objResponse;
}