/** * Восстановление комментария. * * @param integer id комментария * * @return xajaxResponse */ function RestoreComment($cid) { global $contest; session_start(); $cid = intval($cid); $objResponse = new xajaxResponse(); if (!($uid = $_SESSION['uid'])) { return $objResponse; } define('FUNCTIONS_ONLY', TRUE); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/contest.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/projects/contest.php'; $contest = new contest(0, $uid, is_emp(), FALSE, hasPermissions('projects')); if ($error = $contest->RestoreComment($cid)) { $objResponse->alert($error); return $objResponse; } $comment = $contest->GetComment($cid); $contest->GetOffer($comment['offer_id']); $objResponse->call('comment.restored', comment_options($contest->offer['project_id'], $comment, $contest->offer['comm_blocked'] == 't', 0, 0)); return $objResponse; }
/** * Отдает HTML для Редактирование предложения по конкурсам * * @param object $objResponse xajaxResponse * @param string $rec_id идентификатор записи * @param string $rec_type тип записи * @param array $aParams дополнительные параметры с UID отправителя. остальные - опционально * @return string */ function _admEditContestOfferParseForm(&$objResponse, $rec_id = '', $rec_type = '', $aParams = array()) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/contest.php'; $contest = new contest($aParams['project_id'], $aParams['user_id'], false, false, true, $aParams['is_pro'] == 't'); $edit = $contest->GetOffer($rec_id); ob_start(); include_once $_SERVER['DOCUMENT_ROOT'] . '/user/adm_edit_tpl/contest_offers.php'; $sHtml = ob_get_contents(); ob_end_clean(); // аттачи ----------------------------------- $sAttach = 'files = [];'; if ($contest->offer['attach']) { $sAttach .= 'i = 0;'; foreach ($contest->offer['attach'] as $file) { $sAttach .= "files[i++] = {\n filename: '{$file['fname']}',\n displayname: '" . addslashes($file['orig_name']) . "',\n preview: '{$file['prev_fname']}',\n time: '" . date('Добавлено d.m.Y в H:i', strtotime($file['modified'])) . "',\n dir: '{$file['upload_login']}',\n fileID: 'o{$file['id']}'\n };"; } } $sAttach .= 'time_limit = ' . ini_get('max_input_time') . ';'; $sAttach .= "iboxes = new IBoxes('/projects/upload.php', 'ps_attach', {uid: '" . $contest->offer['user_id'] . "', action: 'add_pic', pid: '{$aParams['project_id']}', u_token_key: _TOKEN_KEY} );"; $sAttach .= "boxes = new Boxes(document.getElementById('ca-iboxes'), files, 15);"; $sAttach .= "boxes.path = '" . WDCPREFIX . "/users/{$contest->offer['login']}/upload/';"; $sAttach .= "boxes.WDCPERFIX = '" . WDCPREFIX . "';"; $sAttach .= 'boxes.add();'; //------------------------------------------- // текст $sOnReady = "if(document.getElementById('adm_edit_descr')) \n document.getElementById('adm_edit_descr').value = (\$('adm_edit_descr_source')? \$('adm_edit_descr_source').value : null);"; $objResponse->assign('h4_adm_edit', 'innerHTML', 'Редактировать конкурсную работу'); $objResponse->assign('div_adm_edit', 'innerHTML', $sHtml); $objResponse->script("\$('div_adm_reason').setStyle('display', 'none');"); $objResponse->script("adm_edit_content.editMenuItems = ['', 'Основное', 'Файлы'];"); $objResponse->script('adm_edit_content.edit();'); $objResponse->script($sAttach); $objResponse->script($sOnReady); $objResponse->script('xajax_getAdmEditReasons(' . admin_log::ACT_ID_EDIT_PRJ_OFFERS . ');'); }
} if ($project['sbr_frl_id'] && $project['sbr_status'] >= sbr::STATUS_CHANGED) { $project['exec_id'] = $project['sbr_frl_id']; } if (hasPermissions('projects')) { $project_history = $obj_project->GetPrjHistory($prj_id); } // Новые конкурсы if ($project['kind'] == 7) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/contest.php'; $contest = new contest($project['id'], $uid, is_emp(), $project['user_id'] == $uid, hasPermissions('projects'), is_pro()); $contest->GetOffers((string) $_GET['filter']); $project['contest_end'] = mktime() > strtotime($project['end_date']); $project['contest_win'] = mktime() > strtotime($project['win_date']); if ($_GET['offer-edit']) { $edit = $contest->GetOffer($_GET['offer-edit'], true); } } if ($project['pro_only'] == 't' && !$is_pro && !is_emp() && !hasPermissions('projects')) { if ($project['kind'] == 7) { if (contest::IsContestOfferExists($project['id'], get_uid(false))) { $is_pro = get_uid(false); } } else { if (projects_offers::IsPrjOfferExists($project['id'], get_uid(false))) { $is_verify = 1; $is_pro = get_uid(false); } } } // $from_prm: откуда зашли. Нужен для кнопки [Назад].