/** * Устанавливает поля в форме редактирования блокировки предложения фрилансера. * * @param int $obj_id ID предложения * @param int $last_act Текущее состояние предложения (ID действия из admin_actions) * @param int $src_id ID исходного действия (в данном случае равен $obj_id или 0 - просто индикатор) * @param int $edit флаг редактирования причины блокировки * * @return object xajaxResponse */ function setOfferBlockForm($obj_id, $last_act, $src_id = 0, $edit = 0) { session_start(); $objResponse = new xajaxResponse(); if (hasPermissions('projects')) { $sReason = $customReason = ''; $reasonId = 0; if ($last_act == 14) { // инициализируем блокировкой по умолчанию $nActId = 13; $objResponse->assign('lr1', 'innerHTML', 'Заблокировать'); } else { if ($edit) { // инициализируем данными блокировки $nActId = 13; $aBlock = admin_log::getOfferBlock($src_id); $sReason = $aBlock['reason']; $reasonId = $aBlock['reason_id']; $objResponse->assign('lr1', 'innerHTML', 'Редактировать блокировку'); } else { // инициализируем разблокировкой по умолчанию $nActId = 14; $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('offer_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; }