/** * Проверяет, можно ли по данному проекту (таблица projects) начать СБР. * Инициализирует $this->projects информацией о проекте. * * @param int $project_id ид. проекта. * * @return array информация о проекте. */ public function checkProject($project_id) { $project_id = intvalPgSql($project_id); if ($this->project && $this->project['id'] == $project_id) { return $this->project; } if ($this->project = new_projects::getPrj($project_id)) { if ($this->project['uid'] != $this->uid) { $this->error['project_id'] = 'Вы не можете начать «Безопасную Сделку» в чужом проекте'; } elseif ($this->project['is_blocked'] == 't') { $this->error['project_id'] = 'Проект заблокирован! Невозможно начать «Безопасную Сделку» в заблокированном проекте'; } elseif ($this->project['no_risk'] == 't') { // !!! триггер сделать + проверить работает ли флаг в старых СБР $this->error['project_id'] = 'Данный проект уже участвует в другой «Безопасной Сделке»'; } elseif ($this->project['kind'] == 7 && !$this->project['exec_id']) { // если создается сделка из конкурса, то обязательно должен быть выбран победитель $this->error['project_id'] = 'Сперва нужно выбрать победителя'; } else { if ($this->project['attach'] = projects::getAllAttach($this->project['id'])) { array_walk($this->project['attach'], create_function('&$m, $k', '$m["source_type"] = ' . sbr_stages::ATTACH_SOURCE_PRJ . ';')); } } } else { $this->error['project_id'] = 'Проект не найден'; } //print_r($this->error); if ($this->error) { $this->project = null; } return $this->project; }
/** * Перемещает проект в вакансии * @global type $user_content * @param type $sid * @return \xajaxResponse */ function makeVacancy($stream_id = '', $sid = '') { global $user_content; $objResponse = new xajaxResponse(); list($content_id, $rec_id, $rec_type) = explode('_', $sid); if ($user_content->hasContentPermissions($content_id)) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smtp.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/template.php'; $project = new_projects::initData(new_projects::getPrj($rec_id)); if ($project->isAllowMovedToVacancy()) { // Делаем проект вакансией $project->movedToVacancy(); $user_content->markProjectBlocked($stream_id, $rec_id); // Отсылаем письмо заказчику о переносе его проекта в раздел вакансии $mail = new smtp(); $mail->subject = 'Ваш проект перенесен в раздел Вакансии и ожидает публикации'; // заголовок письма $mail->message = Template::render($_SERVER['DOCUMENT_ROOT'] . '/templates/mail/projects/makevacancy.tpl.php', array('title' => $project->_project['name'], 'project_id' => $project->_project['id'])); $mail->recipient = "{$project->_project['email']} <{$project->_project['email']}>"; // получатель $mail->SmtpMail('text/html'); } $objResponse->script('user_content.spinner.hide(true);'); $objResponse->script("\$('my_div_content_{$sid}').destroy();"); $objResponse->script('user_content.spinner.resize();'); } else { _parsePermissionsDenied($objResponse); } return $objResponse; }
<?php require_once realpath(__DIR__ . '/../../classes/stdf.php'); require_once HOME . '/classes/projects.php'; require_once HOME . '/classes/smtp.php'; require_once HOME . '/classes/template.php'; $id = intval(__paramInit('int', 'id', 'id', 0)); $is_allow = $id > 0 && hasPermissions('projects'); if (!$is_allow) { header('Location: /403.php'); exit; } $project = new_projects::initData(new_projects::getPrj($id)); if ($project->isAllowMovedToVacancy()) { // ƒелаем проект вакансией $project->movedToVacancy(); // ќтсылаем письмо заказчику о переносе его проекта в раздел вакансии $mail = new smtp(); $mail->subject = '¬аш проект перенесен в раздел ¬акансии и ожидает оплаты'; // заголовок письма $mail->message = Template::render(HOME . '/templates/mail/projects/makevacancy.tpl.php', array('title' => $project->_project['name'], 'project_id' => $project->_project['id'], 'is_pro' => $project->isOwnerPro(), 'pro_price' => $project->getProjectInOfficePrice(true), 'not_pro_price' => $project->getProjectInOfficePrice(false))); $mail->recipient = "{$project->_project['email']} <{$project->_project['email']}>"; // получатель $success = $mail->SmtpMail('text/html'); } $ref_uri = empty($_SESSION['ref_uri']) ? '/' : urldecode($_SESSION['ref_uri']); header("Location: {$ref_uri}#project-item{$project->_project['id']}"); exit;
function quickprjedit_get_prj($prj_id) { $objResponse = new xajaxResponse(); if (hasPermissions('projects')) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; $categories = professions::GetAllGroupsLite(); $professions = professions::GetAllProfessions(); array_group($professions, 'groupid'); $professions[0] = array(); $oprj = new new_projects(); $project = $oprj->getPrj($prj_id); if ($project['id']) { $project_categories = $oprj->getSpecs($project['id']); if (empty($project_categories)) { $project_categories[] = array('category_id' => 0, 'subcategory_id' => 0); } $html_categories = ''; foreach ($project_categories as $project_category) { $html_categories .= "<div id='category_line'>\n <select name='categories[]' class='b-select__select b-select__select_width_180' onchange='popupQEditPrjRefreshSubCategory(this);'>\n <option value='0'>Выберите раздел</option>\n "; foreach ($categories as $cat) { if ($cat['id'] <= 0) { continue; } $html_categories .= "<option value='{$cat['id']}' " . ($project_category['category_id'] == $cat['id'] ? ' selected' : '') . ">{$cat['name']}</option>"; } $html_categories .= "</select>\n <select name='subcategories[]' class='b-select__select b-select__select_width_180'>\n "; $categories_specs = $professions[$project_category['category_id']]; for ($i = 0; $i < sizeof($categories_specs); ++$i) { $html_categories .= "<option value='{$categories_specs[$i]['id']}'" . ($categories_specs[$i]['id'] == $project_category['subcategory_id'] ? ' selected' : '') . ">{$categories_specs[$i]['profname']}</option>"; } $html_categories .= " <option value='0' " . ($project_category['subcategory_id'] == 0 ? ' selected' : '') . '>Все специализации</option> </select> </div> '; } $countries = country::GetCountries(); if ($project['country']) { $cities = city::GetCities($project['country']); } $html_location = ''; $html_location .= "<div><select id='popup_qedit_prj_fld_country' name='country' onChange='popupQEditPrjCityUpd(this.value);'><option value='0'>Страна</option>"; foreach ($countries as $country_id => $country) { $html_location .= "<option value='{$country_id}' " . ($country_id == $project['country'] ? 'selected' : '') . ">{$country}</option>"; } $html_location .= '</select></div>'; $html_location .= "<div id='frm_city'><select name='city'><option value='0'>Город</option>"; if ($cities) { foreach ($cities as $city_id => $city) { $html_location .= "<option value='{$city_id}' " . ($city_id == $project['city'] ? 'selected' : '') . ">{$city}</option>"; } } $html_location .= '</select>'; $objResponse->assign('popup_qedit_prj_fld_id', 'value', $project['id']); $objResponse->assign('popup_qedit_prj_fld_name', 'value', htmlspecialchars_decode($project['name'], ENT_QUOTES)); $objResponse->assign('popup_qedit_prj_fld_descr', 'value', htmlspecialchars_decode($project['descr'], ENT_QUOTES)); $objResponse->assign('popup_qedit_prj_fld_categories', 'innerHTML', $html_categories); $objResponse->assign('popup_qedit_prj_fld_location', 'innerHTML', $html_location); $objResponse->script('$("popup_qedit_prj_fld_kind_1").set("checked", false);'); switch ($project['kind']) { case 1: $objResponse->script('$("popup_qedit_prj_cal1").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_cal2").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_kind").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_fld_kind_1").set("checked", true);'); $objResponse->script('$("popup_qedit_prj_fld_location").setStyle("display", "none");'); break; case 2: //$objResponse->script('$("sbr_text_block").setStyle("display", "none");'); break; case 4: $objResponse->script('$("popup_qedit_prj_cal1").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_cal2").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_kind").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_fld_kind_2").set("checked", true);'); $objResponse->script('$("popup_qedit_prj_fld_location").setStyle("display", "block");'); break; case 7: $objResponse->script('$("popup_qedit_prj_cal1").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_cal2").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_kind").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_fld_location").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_fld_end_date").set("value", "' . date('d-m-Y', strtotime($project['end_date'])) . '");'); $objResponse->script('$("popup_qedit_prj_fld_win_date").set("value", "' . date('d-m-Y', strtotime($project['win_date'])) . '");'); break; } if ($project['pro_only'] == 't') { $objResponse->script('$("popup_qedit_prj_fld_pro_only").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_pro_only").set("checked", false);'); } if ($project['verify_only'] == 't') { $objResponse->script('$("popup_qedit_prj_fld_verify_only").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_verify_only").set("checked", false);'); } if ($project['prefer_sbr'] == 't') { $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", false);'); } if ($project['strong_top'] == 1) { $objResponse->script('$("popup_qedit_prj_fld_strong_top").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_strong_top").set("checked", false);'); } /*if($project['prefer_sbr']=='t') { $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", false);'); }*/ $objResponse->script("var mx = new MultiInput('popup_qedit_prj_fld_categories','category_line', " . (int) ($project['is_pro'] === 't') . '); mx.init();'); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php'; $attchedfiles = new attachedfiles($attachedfiles_session); $attachedfiles_tmpprj_files = $oprj->GetAllAttach($project['id']); if ($attachedfiles_tmpprj_files) { $attachedfiles_prj_files = array(); foreach ($attachedfiles_tmpprj_files as $attachedfiles_prj_file) { $attachedfiles_prj_files[] = $attachedfiles_prj_file['file_id']; } $attchedfiles->setFiles($attachedfiles_prj_files); } $attachedfiles_files = $attchedfiles->getFiles(); $js_attachedfiles = 'attachedfiles_list = [];'; if ($attachedfiles_files) { $n = 0; foreach ($attachedfiles_files as $attachedfiles_file) { $js_attachedfiles .= "attachedfiles_list[{$n}] = new Object;\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].id = '" . md5($attachedfiles_file['id']) . "';\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].name = '{$attachedfiles_file['orig_name']}';\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].path = '" . WDCPREFIX . "/{$attachedfiles_file['path']}{$attachedfiles_file['name']}';\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].size = '" . ConvertBtoMB($attachedfiles_file['size']) . "';\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].type = '{$attachedfiles_file['type']}';\n"; ++$n; } } $objResponse->script($js_attachedfiles); $objResponse->script("attachedFiles.init('popup_qedit_prj_attachedfiles', '" . $attchedfiles->getSession() . "', attachedfiles_list, " . tmp_project::MAX_FILE_COUNT . ', ' . tmp_project::MAX_FILE_SIZE . ",'" . implode(', ', $GLOBALS['disallowed_array']) . "', 'project', " . get_uid(false) . ');'); if ($project['is_color'] == 't') { $objResponse->script("\$('popup_qedit_prj_is_color').set('checked', true); popupQEditPrjToggleIsColor();"); } else { $objResponse->script("\$('popup_qedit_prj_is_color').set('checked', false); popupQEditPrjToggleIsColor();"); } if ($project['is_bold'] == 't') { $objResponse->script("\$('popup_qedit_prj_is_bold').set('checked', true); popupQEditPrjToggleIsBold();"); } else { $objResponse->script("\$('popup_qedit_prj_is_bold').set('checked', false); popupQEditPrjToggleIsBold();"); } if ($project['hide'] == 't') { $objResponse->script("\$('popup_qedit_prj_is_hide').set('checked', true); "); } else { $objResponse->script("\$('popup_qedit_prj_is_hide').set('checked', false); "); } if ($project['urgent'] == 't') { $objResponse->script("\$('popup_qedit_prj_is_urgent').set('checked', true); "); } else { $objResponse->script("\$('popup_qedit_prj_is_urgent').set('checked', false); "); } $objResponse->assign('popup_qedit_prj_logolink', 'value', $project['link']); $key = md5(uniqid($uid)); $tmpPrj = new tmp_project($key); $tmpPrj->init(1, $project['id']); $remTPeriod = $tmpPrj->getRemainingTopPeriod($remTD, $remTH, $remTM, $remtverb); $addedTD = $tmpPrj->getAddedTopDays(); $objResponse->assign('popup_qedit_prj_fld_tmpid', 'value', $key); if ($remTPeriod || $addedTD) { $objResponse->script('$("popup_qedit_prj_top_ok").set("checked", true);'); $objResponse->script('$("popup_qedit_prj_top_ok").set("disabled", true);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("value", "1");'); $objResponse->script('$("popup_qedit_prj_top_ok_icon").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("disabled", true);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("checked", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_days").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_days").set("value", "1");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_left").set("html", "' . $remtverb . ' ' . $remTPeriod . '");'); } else { $objResponse->script('$("popup_qedit_prj_top_ok").set("checked", false);'); $objResponse->script('$("popup_qedit_prj_top_ok").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("value", "1");'); $objResponse->script('$("popup_qedit_prj_top_ok_icon").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("checked", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("disabled", true);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_days").set("disabled", true);'); } if ($project['logo_id']) { $logo = $tmpPrj->getLogo(); $objResponse->script('$("popup_qedit_prj_use_logo_src").set("href", "' . WDCPREFIX . '/' . $logo['path'] . $logo['name'] . '");'); $objResponse->script('$("popup_qedit_prj_use_logo").set("checked", true);'); $objResponse->script('$("popup_qedit_prj_use_logo").set("disabled", true);'); $objResponse->script('$("popup_qedit_prj_use_logo_tab").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_use_logo_tab2").setStyle("display", "none");'); } else { $objResponse->script('$("popup_qedit_prj_use_logo").set("checked", false);'); $objResponse->script('$("popup_qedit_prj_use_logo").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_use_logo_tab").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_use_logo_tab2").setStyle("display", "none");'); } $tmpPrj->fix(); $objResponse->call('center_popup', '.b-shadow_center-quick'); } } return $objResponse; }
/** * Парсит порцию HTML содержимого для проектов * * @param int $last_id возвращает последний Id проектов * @param array $content массив данных из базы * @param int $status статус: 0 - не проверенно, 1 - утверждено, 2 - удалено * @param array $aStream данные о потоке * @return string HTML */ function _parseProjects(&$last_id, $content = array(), $status = 0, $aStream = array()) { global $user_content, $stop_words, $sTeam; $nCnt = count($content); $sReturn = ''; $aEmpId = array(); foreach ($content as $aOne) { $aEmpId[] = $aOne['user_id']; } $aPrjCnt = $user_content->getProjectsPer24($aEmpId); // TODO: вынести в модель foreach ($content as $aOne) { $last_id = $aOne['moder_num']; $sAttach = ''; if ($aOne['attach']) { $nn = 1; foreach ($aOne['attach'] as $attach) { $aData = getAttachDisplayData(null, $attach["name"], $attach['path'], 1000, 300, 307200, 0); if ($aData && $aData['success']) { if ($aData['file_mode'] || $aData['virus_flag'] || $aData['file_ext'] == "swf") { $sAttach .= _parseAttach($aData); } else { $sAttach .= "<div class=\"b-fon__body b-fon__body_pad_5 b-fon__body_bg_ffebbf b-fon__body_margbot_1\"><img src=\"" . WDCPREFIX . '/' . $attach['path'] . $attach["name"] . "\" alt=\"{$aData['file_name']}\" title=\"{$aData['file_name']}\" width=\"{$aData['img_width']}\" height=\"{$aData['img_height']}\" /></div>"; } $nn++; } } $sAttach = '<div class="b-icon-layout b-post__txt_padbot_15">' . $sAttach . '</div>'; } $sLogo = ''; if ($aOne['logo_id']) { $cfile = new cfile($aOne['logo_id']); if ($cfile->id && trim($aOne['link'])) { $sLogo = '<div class="b-post__txt b-post__txt_padbot_15"><strong>Лого: </strong><br/> <div> <a target="_blank" rel="nofollow" href="' . $aOne['link'] . '" target="_blank" class="b-post__link"> <img alt="" src="' . WDCPREFIX . '/' . $cfile->path . '/' . $cfile->name . '" class="b-post__pic b-post__pic_clear_right"> </a> </div>'; } } $sPayed = $aOne['kind'] == 7 ? 'Конкурс!' : ($aOne['ico_payed'] == 't' || $aOne['is_upped'] == 't' ? 'Платный проект!' : ''); $sPayed = $sPayed ? '<div class="b-post__txt b-post__txt_padbot_5 b-post__txt_fontsize_15"><span class="b-post__txt b-post__txt_color_c10601">' . $sPayed . '</span></div>' : ''; $sTitle = xmloutofrangechars($aOne['name']); $sTitle = $aOne['kind'] != 4 && $status != 1 ? $stop_words->replace($sTitle) : $sTitle; $sTitle = reformat($sTitle, 30, 0, 1); $sDescr = xmloutofrangechars($aOne['descr']); $sDescr = $aOne['kind'] != 4 && $status != 1 ? $stop_words->replace($sDescr) : $sDescr; $sDescr = preg_replace("/^ /", "", $sDescr); $sDescr = preg_replace("/(\n) /", "\$1", $sDescr); $sDescr = reformat($sDescr, 30, 0, 0, 1); $sDescr = preg_replace("//", " ", $sDescr); $sLink = $GLOBALS['host'] . getFriendlyURL('project', $aOne['id']); $sPrjCnt = isset($aPrjCnt[$aOne['user_id']]) ? $aPrjCnt[$aOne['user_id']] : '0'; $sOffice = $aOne['kind'] != 4 ? '' : '<div class="b-post__txt b-post__txt_padbot_5 b-post__txt_fontsize_15" style="color: #cc4642;"> Проект в офис. Разрешен обмен контактами.</div>'; $aOne['context_code'] = '3'; $aOne['context_link'] = $sLink; $aOne['context_title'] = xmloutofrangechars($aOne['name']); $sKindIco = $aOne['kind'] == 7 ? 'kont' : 'prj'; $sJSParams = "{'content_id': " . user_content::MODER_PROJECTS . ", 'stream_id': '{$aStream['stream_id']}', 'content_cnt': {$nCnt}, 'status': {$status}, 'is_sent': '{$aOne['is_sent']}'}"; $sEditIcon = _parseEditIcon('admEditProjects', $aOne['id'], $status, $aOne['kind'] == 7 ? 7 : 0, $sJSParams); $sPro = $aOne['is_pro'] == 't' ? preg_replace('#<a[^>]+>(.+)</a>#', '$1', view_pro_emp()) . ' ' : ''; $projectObject = new_projects::initData(new_projects::getPrj($aOne['id'])); $allow_vacancy = $projectObject->isAllowMovedToVacancy(); $moveToVacancy = $allow_vacancy ? ' <div class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_11"> <a onclick="user_content.make_vacancy(\'' . $aOne['content_id'] . '_' . $aOne['id'] . '_0\');" class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_11" href="#">Сделать вакансией</a> </div>' : ''; $sReturn .= ' <div class="b-post b-post_bordtop_dfe3e4 b-post_padtop_15 b-post_marg_20_10" id="my_div_content_' . $aOne['content_id'] . '_' . $aOne['id'] . '_0"> ' . _parseHidden($aOne) . ' ' . _parseOkIcon($status, $aOne['content_id'], $aOne['id'], '0', $aOne['user_id']) . ' ' . _parsePostTime($status, $aOne['post_time']) . ' <div class="b-username b-username_padbot_5">' . ($aOne['is_team'] == 't' ? $sTeam : $sPro) . '<a class="b-username__link b-username__link_color_6db335 b-username__link_fontsize_11 b-username__link_bold" href="/users/' . $aOne['login'] . '?kind=0&all=1" target="_blank">' . $aOne['uname'] . ' ' . $aOne['usurname'] . ' [' . $aOne['login'] . ']</a></div> ' . $sPayed . ' ' . ($aOne['warn'] ? '<div class="b-username_padbot_5"><a onclick="parent.user_content.getUserWarns(' . $aOne['user_id'] . ');" href="javascript:void(0);" class="notice">Предупреждения: <span id="warn_' . $aOne['user_id'] . '_' . user_content::MODER_PROJECTS . '_' . $aOne['id'] . '">' . intval($aOne['warn']) . '</span></a></div>' : '<div class="b-username_padbot_5 user-notice">Предупреждений нет</div>') . ' <div class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_11"><img class="b-post__pic b-post__pic_valign_mid" src="/images/frame-' . $sKindIco . '.png" alt="" /> (' . $sPrjCnt . ' за 24 часа)' . ($aOne['pro_only'] == 't' ? ' Только для <span class="b-icon b-icon__pro b-icon__pro_f"></span>' : '') . '</div> ' . $sOffice . ' ' . _parseMass($aOne, $status, '0') . ' <div class="b-post__txt b-post__txt_padbot_5 b-post__txt_fontsize_15"><a class="b-post__link b-post__link_bold b-post__link_fontsize_15" href="' . $sLink . '" target="_blank">' . $sTitle . '</a></div> <div class="b-post__txt b-post__txt_padbot_5 b-post__txt_fontsize_15">' . $sDescr . '</div> ' . $sAttach . ' ' . $sLogo . ' <div class="b-post__txt b-post__txt_padtop_5 b-post__txt_fontsize_11"><span class="b-post__bold">Раздел:</span> ' . $aOne['specs'] . '</div> ' . ($aOne['pro_only'] == 't' ? '<div class="b-post__txt b-post__txt_padtop_10 b-post__txt_fontsize_11">Только для <span class="b-icon b-icon__pro b-icon__pro_f"></span></div>' : '') . ' ' . $moveToVacancy . ' ' . _parseDelIcons($aOne, 'user_id', $status, '0', $sJSParams, $sEditIcon) . ' </div>'; } return $sReturn; }