示例#1
0
/**
 * Восстановление комментария.
 *
 * @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 . ');');
}
示例#3
0
 }
 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: откуда зашли. Нужен для кнопки [Назад].