; var filter_bullets = [[],[]]; <?php if (sizeof($_SESSION['ph_categories'])) { for ($ci = 0; $ci < 2; $ci++) { $ph_categories[$ci] = array(); if (sizeof($_SESSION['ph_categories'][$ci])) { foreach ($_SESSION['ph_categories'][$ci] as $fkey => $fvalue) { if ($fkey) { if (!freelancers_filters::mirrorExistsInArray($fkey, $ph_categories[$ci], $mirrored_specs)) { if (!$fvalue) { $proftitle = professions::GetGroup($fkey, $error); $proftitle = $proftitle['name']; } else { $proftitle = professions::GetProfName($fkey); $prof_group = professions::GetProfField($fkey, 'prof_group'); } ?> filter_bullets[<?php echo $fvalue; ?> ][<?php echo $fkey; ?> ] = new Array(); filter_bullets[<?php echo $fvalue; ?> ][<?php echo $fkey; ?>
exit; } //------------------------------------------------------------------------------ $freelancer = new freelancer(); if (!$prof_id && !$prof_group_id) { $prof_type = false; $anchor = 0; $cat_menu_freelancers = true; } elseif ($prof_group_id) { $prof_name = professions::GetProfGroupTitle($prof_group_id); $prof_type = false; $anchor = 0; $cat_menu_freelancers = true; } else { if (!$prof_link) { $prof_link = professions::GetProfField($prof_id, 'link'); } $prof_name_arr = professions::GetProfTitle($prof_id); $prof_name = $prof_name_arr['name']; $prof_title = $prof_name_arr['title'] ? $prof_name_arr['title'] : $prof_name; $prof_type = professions::GetProfType($prof_id); $anchor = professions::GetProfessionOrigin($prof_id); $g_page_id = "1|" . $prof_id; } //Мета-теги if ($prof_group_id) { SeoTags::getInstance()->initFreelancers($prof_group_id, $page, false); } else { SeoTags::getInstance()->initFreelancers($prof_id, $page); } $page_title = SeoTags::getInstance()->getTitle();
//$avg_price_hour = $avg_price_project = $avg_price_month = null; $anchor = 0; $cat_menu_freelancers = true; } else { // Подсчитываем количество избранных. Переписать в отдельный метод. // $fav_count = 0; if (!$prof_link) { $prof_link = professions::GetProfField($prof_id, 'link'); } $prof_name_arr = professions::GetProfTitle($prof_id); $prof_name = $prof_name_arr['name']; $prof_title = $prof_name_arr['title'] ? $prof_name_arr['title'] : $prof_name; $prof_type = professions::GetProfType($prof_id); //$prof_group_name = professions::GetProfGroupName($prof_id); $prof_descr = professions::GetProfField($prof_id, 'descr'); $prof_descr_text = professions::GetProfField($prof_id, 'descr_text'); $anchor = professions::GetProfessionOrigin($prof_id); $g_page_id = "1|" . $prof_id; if ($page == 1) { if (empty($prof_name_arr['title'])) { $page_title = $prof_title . " - фриланс, удаленная работа на FL.ru"; $page_keyw = $prof_title . ", Поиск работы, Предложение работы, Портфолио фри-лансеров, FL.ru"; } else { $page_title = $page_keyw = $prof_name_arr['title'] . " - фриланс, удаленная работа%prepositional_cityname% на FL.ru"; $page_keyw = $prof_name_arr['title'] . ", Поиск работы, Предложение работы, Портфолио фри-лансеров, FL.ru"; } } else { $page_title = $prof_name . ' - Страница ' . $page . ' - фриланс, удаленная работа%prepositional_cityname% на FL.ru'; $page_keyw = $prof_name . ', Страница ' . $page . ', FL.ru'; } if ($page == 1) {
/** * Проверяет по специализациям, может ли текущий пользователь ответить на проект. * * @param int $projec_id ид проекта * * @return boolean */ public static function offerSpecIsAllowed($projec_id) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php'; // ПРО отвечают без ограничений if (is_pro()) { return true; } if (!get_uid(false)) { return false; } $is_send_offers = false; $spec_project = new_projects::getSpecs($projec_id); $user_spec = professions::GetProfsAddSpec($_SESSION['uid']); if (is_array($user_spec)) { $user_spec = array_merge($user_spec, $_SESSION['specs']); } else { $user_spec = $_SESSION['specs']; } if ($user_spec) { $user_spec = array_merge($user_spec, professions::GetMirroredProfs(professions::GetProfessionOrigin(implode(',', $user_spec)))); $user_spec = array_unique($user_spec); //@todo запехать в один запрос foreach ($user_spec as $spec) { $prof_group[$spec] = professions::GetProfField($spec, 'prof_group'); } } foreach ($spec_project as $specs) { if (is_array($prof_group) && in_array($specs['category_id'], $prof_group)) { $is_send_offers = true; // Разрашаем оставлять отзыв break; } } return $is_send_offers; }
$dc = 0; if (!empty($_GET['g'])) { if (preg_match("/^([0-9]+)\\:([0-9]+)\$/", $_GET['g'], $o)) { $dc = $_GET['g']; $dcg = $o[1]; $dcp = $o[2]; } else { if (preg_match("/^[0-9]+\$/", $_GET['g'])) { $dc = "{$_GET['g']}:0"; $dcg = $_GET['g']; $dcp = 0; } } } if (!empty($_GET['p'])) { if ($dcg = professions::GetProfField(intval($_GET['p']), 'prof_group')) { $dcp = intval($_GET['p']); $dc = "{$dcg}:{$dcp}"; } } //echo '<pre>'; var_dump($_SESSION['r_masssending']); echo '</pre>'; $page_title = "Рассылка по каталогу - фриланс, удаленная работа на FL.ru"; if (isset($_GET['done'])) { $content = 'done.php'; } else { if (!empty($_POST)) { if (!$uid) { header('Location: /registration/?user_action=masssending'); exit; } $params = $_POST;
/** * Возвращает часть ответа с информацией о пользователе * * @param array $aData информация о пользователе из базы * @param bool $bShowEmail включить пользователя Email в ответ * @param bool $bExtended получить расширенную информацию (аналог профиля на сайте) * @return array */ private function _getUserData($aData = array(), $bShowEmail = false, $bExtended = false) { $this->_oSession->view_online_status($aData['login'], false); $u = new users(); if (!is_emp($aData['role'])) { require_once ABS_PATH . '/classes/professions.php'; $prof_id = $aData['spec'] ? $aData['spec'] : 0; $prof_group_id = $aData['spec'] ? professions::GetProfField($aData['spec'], 'prof_group') : 0; } else { $prof_id = 0; $prof_group_id = 0; } $aReturn = array('id' => $aData['uid'], 'status' => $aData['self_deleted'] == 't' ? 2 : 1, 'username' => $aData['login'] ? iconv('cp1251', 'utf-8', $aData['login']) : '', 'firstname' => $aData['uname'] ? iconv('cp1251', 'utf-8', $aData['uname']) : '', 'lastname' => $aData['usurname'] ? iconv('cp1251', 'utf-8', $aData['usurname']) : '', 'role' => is_emp($aData['role']) ? 2 : 1, 'pro' => $aData['is_pro'] == 't' ? 1 : 0, 'verified' => $aData['is_verify'] == 't' ? 1 : 0, 'online' => $this->_oSession->is_active ? 1 : 0, 'spec' => $aData['spec'] ? $aData['spec'] : 0, 'avatar' => array('url' => $aData['photo'] ? WDCPREFIX . '/users/' . $aData['login'] . '/foto/' : '', 'file' => $aData['photo'] ? substr($aData['photo'], 2) . '?' . strtotime($aData['photo_modified_time']) : ''), 'gender' => $aData['sex'] == 't' ? 1 : ($aData['sex'] == 'f' ? 2 : 0), 'country_id' => intval($aData['country']), 'city_id' => intval($aData['city']), 'age' => ElapsedYears(strtotime($u->GetField($aData['uid'], $e, 'birthday'))), 'birthday' => $u->GetField($aData['uid'], $e, 'birthday'), 'prof_id' => $prof_id, 'prof_group_id' => $prof_group_id, 'create_time' => strtotime($aData['reg_date']), 'update_time' => $aData['modified_time'] ? strtotime($aData['modified_time']) : 0); if ($bShowEmail) { $aReturn['email'] = $aData['email'] ? iconv('cp1251', 'utf-8', $aData['email']) : ''; } if ($bExtended) { require_once ABS_PATH . '/classes/rating.php'; require_once ABS_PATH . '/classes/teams.php'; $rating = new rating($aData['uid'], $aData['is_pro'], $aData['is_verify'], @$aData['is_profi'], 1); $team = new teams(); $aReturn['rating'] = rating::round($rating->data['total']); $aReturn['favorite'] = $team->teamsIsInFavorites($_SESSION['uid'], $aData['uid']); $aReturn['contacts'] = is_view_contacts(get_uid(false)) ? $this->_getUserContactsData($aData) : array(); $aReturn['reviews'] = $this->_getUserOpinionsData($aData); } return $aReturn; }