/** * Устанавливает поля в форме редактирования блокировки проекта. * * @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; }