public function action2()
 {
     global $js_file;
     require_once ABS_PATH . "/classes/professions.php";
     $category = __paramInit('int', NULL, 'category', NULL);
     $subcategory = __paramInit('int', NULL, 'subcategory', NULL);
     if ($category > 0 && $subcategory > 0 && professions::isExistProfId($subcategory, $category)) {
         $data = array();
         $data['kind'] = 1;
         //проект!
         $data['pro_only'] = true;
         $data['verify_only'] = false;
         $data['categories'][] = array('category_id' => $category, 'subcategory_id' => $subcategory);
         $_SESSION['customer_wizard'] = $data;
         $this->redirect('/welcome/customer/3/');
     }
     $professions = professions::GetProfessionsAndGroup('g.cnt DESC, p.pcount DESC NULLS LAST');
     $suffix = isset($_SESSION['pda']) && $_SESSION['pda'] == 1 ? '_pda' : '';
     $js_file['ElementsFactory'] = 'form/ElementsFactory.js';
     $js_file['ElementVerticalSelect'] = 'form/VerticalSelect.js';
     $this->render("step2{$suffix}", array('professions' => $professions, 'default_group' => 2, 'default_spec' => 9));
 }
 /**
  * Обрабатывает POST переменную action  и  возвращает null или данные.
  *
  * @return string
  */
 public function processRequest()
 {
     $expire = 1;
     //3600;
     $action = __paramInit('string', '', 'action');
     switch ($action) {
         case 'getdays':
             $days = array(1 => iconv('WINDOWS-1251', 'UTF-8//IGNORE', '1 день'));
             $max = __paramInit('integer', '', 'max', 1);
             $all = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 21, 30, 45, 60, 90);
             if ($max > 1) {
                 $days = array();
                 foreach ($all as $day) {
                     if ($day >= $max) {
                         break;
                     }
                     $days[$day] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $day . ending($day, ' день', ' дня', ' дней'));
                 }
             }
             $days = array(array('parentId' => '0'), $days);
             return json_encode($days);
             break;
         case 'gettucategories':
             $expire = 300;
             //3600;
             $membuf = new memBuff();
             $memkey = 'b-combo-gettucategories';
             $result = $membuf->get($memkey);
             if (!$result) {
                 /*
                  * Получаем из базы иерархию категорий для
                  * типовой услуги
                  */
                 $DB = new DB('master');
                 $sql = 'SELECT 
                             g.id AS gid, 
                             g.title AS gname, 
                             g.ucnt AS gucnt, 
                             p.id AS pid, 
                             p.title AS name,
                             p.ucnt AS pucnt
                          FROM tservices_categories AS g 
                          INNER JOIN tservices_categories AS p ON p.parent_id = g.id 
                          ORDER BY g.ucnt DESC, p.ucnt DESC --gid, pid --g.n_order, p.n_order';
                 $rows = $DB->rows($sql);
                 $result = array();
                 if (count($rows)) {
                     foreach ($rows as $k => $i) {
                         if ($result[$i['gid']] === null) {
                             $result[$i['gid']] = array('0' => array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname']), $i['gucnt']));
                             if ($i['pid'] !== null) {
                                 $result[$i['gid']][$i['pid']] = array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']), $i['pucnt']);
                             } else {
                                 $result[$i['gid']] = array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname']), $i['gucnt']);
                             }
                         } elseif (is_array($result[$i['gid']])) {
                             $result[$i['gid']][$i['pid']] = array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']), $i['pucnt']);
                         }
                     }
                 }
                 //print_r($result);
                 //exit;
                 $result = json_encode($result);
                 $membuf->add($memkey, $result, $expire);
             }
             return $result;
             break;
         case 'getlettergrouplist':
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php';
             $lettergroups = letters::getGroups($_POST['word'], (int) $_POST['limit']);
             $result = array();
             $n = 0;
             foreach ($lettergroups as $k => $i) {
                 $result[$n]['uid'] = $i['id'];
                 $result[$n]['uname'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['title']);
                 $result[$n]['usurname'] = '';
                 $result[$n]['login'] = '';
                 $result[$n]['photo'] = '';
                 $result[$n]['path'] = '';
                 $result[$n]['isContacts'] = '';
                 ++$n;
             }
             $list = array();
             $list['list'] = $result;
             $list['counters']['moreContacts'] = 0;
             $list['counters']['moreUsers'] = 0;
             $list['dav'] = WDCPREFIX;
             return json_encode($list);
             break;
         case 'getlettergroupinfo':
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php';
             $group = letters::getGroup($_POST['uid']);
             if ($group) {
                 $data = array('record' => array('uid' => $group['id'], 'uname' => iconv('WINDOWS-1251', 'UTF-8//IGNORE', $group['title']), 'usurname' => '', 'login' => '', 'photo' => '', 'path' => '', 'isContacts' => ''), 'found' => 1, 'dav' => WDCPREFIX);
             }
             return json_encode($data);
             break;
         case 'getletterdocinfo':
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php';
             $doc = letters::getDocument($_POST['uid']);
             if ($doc) {
                 $data = array('record' => array('uid' => $doc['id'], 'uname' => iconv('WINDOWS-1251', 'UTF-8//IGNORE', $doc['id'] . ' ' . htmlspecialchars($doc['group_title']) . ' - ' . htmlspecialchars($doc['title'])), 'usurname' => '', 'login' => '', 'photo' => '', 'path' => '', 'isContacts' => ''), 'found' => 1, 'dav' => WDCPREFIX);
             }
             return json_encode($data);
             break;
         case 'getletterdoclist':
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php';
             $letterdocs = letters::getDocuments($_POST['word'], (int) $_POST['limit']);
             $result = array();
             $n = 0;
             foreach ($letterdocs as $k => $i) {
                 $result[$n]['uid'] = $i['id'];
                 $result[$n]['uname'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['id'] . ' ' . htmlspecialchars($i['group_title']) . ' - ' . htmlspecialchars($i['title']));
                 $result[$n]['usurname'] = '';
                 $result[$n]['login'] = '';
                 $result[$n]['photo'] = '';
                 $result[$n]['path'] = '';
                 $result[$n]['isContacts'] = '';
                 ++$n;
             }
             $list = array();
             $list['list'] = $result;
             $list['counters']['moreContacts'] = 0;
             $list['counters']['moreUsers'] = 0;
             $list['dav'] = WDCPREFIX;
             return json_encode($list);
             break;
         case 'getletterdocsearch':
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php';
             $letterdocs = letters::getSearchDocuments($_POST['word'], (int) $_POST['limit']);
             $result = array();
             $n = 0;
             foreach ($letterdocs as $k => $i) {
                 $result[$n]['uid'] = $i['id'];
                 $result[$n]['uname'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['id'] . ' ' . htmlspecialchars($i['group_title']) . ' - ' . htmlspecialchars($i['title']));
                 $result[$n]['usurname'] = '';
                 $result[$n]['login'] = '';
                 $result[$n]['photo'] = '';
                 $result[$n]['path'] = '';
                 $result[$n]['isContacts'] = '';
                 ++$n;
             }
             $list = array();
             $list['list'] = $result;
             $list['counters']['moreContacts'] = 0;
             $list['counters']['moreUsers'] = 0;
             $list['dav'] = WDCPREFIX;
             return json_encode($list);
             break;
         case 'getdate':
             return date('Y-m-d');
         case 'getprofgroups':
             $membuf = new memBuff();
             $memkey = 'b-combo-getprofgroups';
             $result = $membuf->get($memkey);
             if (!$result) {
                 $rows = professions::GetAllGroupsLite();
                 $result = array();
                 foreach ($rows as $k => $i) {
                     $result[$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']);
                 }
                 $membuf->add($memkey, $result, $expire);
             }
             return json_encode($result);
         case 'getprofessionsandgroups':
             $membuf = new memBuff();
             $memkey = 'b-combo-getprofandgroups';
             $result = $membuf->get($memkey);
             if (!$result) {
                 $rows = professions::GetProfessionsAndGroup();
                 $result = array();
                 foreach ($rows as $k => $i) {
                     if ($result[$i['gid']] === null) {
                         $result[$i['gid']] = array($i['gid'] => iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname']));
                         if ($i['id'] !== null) {
                             $result[$i['gid']][$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']);
                         } else {
                             $result[$i['gid']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname']);
                         }
                     } elseif (is_array($result[$i['gid']])) {
                         $result[$i['gid']][$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']);
                     }
                 }
                 $membuf->add($memkey, $result, $expire);
             }
             return json_encode($result);
         case 'getprofessions':
             $n = __paramInit('integer', '', 'id');
             if ($n !== false) {
                 $membuf = new memBuff();
                 $memkey = "b-combo-getprofbygroup{$n}";
                 $result = $membuf->get($memkey);
                 if (!$result) {
                     $rows = professions::GetProfs($n);
                     $result = array(0 => iconv('WINDOWS-1251', 'UTF-8//IGNORE', 'Все специальности'));
                     foreach ($rows as $k => $i) {
                         $result[$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']);
                     }
                     $membuf->add($memkey, $result, $expire);
                 }
                 $data = array(array('parentId' => "{$n}"), $result);
                 return json_encode($data);
             }
         case 'get_pro_types':
             $membuf = new memBuff();
             $memkey = 'b-combo-get_pro_type';
             $result = $membuf->get($memkey);
             if (!$result) {
                 $rows = op_codes::getCodes(array(47, 48, 49, 50, 51));
                 $result = array();
                 foreach ($rows as $k => $i) {
                     $result[$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['op_name']);
                 }
                 $result[76] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', 'На несколько недель');
                 $membuf->add($memkey, $result, $expire);
             }
             return json_encode($result);
         case 'getcountries':
         case 'getrelevantcountries':
             $membuf = new memBuff();
             $memkey = 'b-combo-getcountriesr';
             $result = $membuf->get($memkey);
             if (!$result) {
                 $rows = country::GetCountriesByCountUser();
                 $result = array();
                 foreach ($rows as $k => $i) {
                     $result[$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']);
                 }
                 $membuf->add($memkey, $result, $expire);
             }
             return json_encode($result);
         case 'getcities':
             $n = __paramInit('integer', '', 'id');
             if ($n !== false) {
                 $membuf = new memBuff();
                 $memkey = "b-combo-getcitybycountry{$n}";
                 $result = $membuf->get($memkey);
                 if (!$result) {
                     $rows = city::GetCities($n);
                     $result = array('0' => iconv('WINDOWS-1251', 'UTF-8//IGNORE', 'Все города'));
                     if (is_array($rows)) {
                         foreach ($rows as $k => $i) {
                             $result[$k] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i);
                         }
                     }
                     $membuf->add($memkey, $result, $expire);
                 }
                 $data = array(array('parentId' => "{$n}"), $result);
                 return json_encode($data);
             }
         case 'getcitiesbyid':
             $n = __paramInit('integer', '', 'id');
             if ($n !== false) {
                 $membuf = new memBuff();
                 $memkey = "b-combo-getcitybycountry{$n}";
                 $result = $membuf->get($memkey);
                 if (!$result) {
                     $rows = city::GetCities($n);
                     $result = array('0' => iconv('WINDOWS-1251', 'UTF-8//IGNORE', 'Все города'));
                     foreach ($rows as $k => $i) {
                         $result[$k] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i);
                     }
                     $membuf->add($memkey, $result, $expire);
                 }
                 return json_encode($result);
             }
         case 'getuserlistbysbr':
         case 'getuserlistold':
         case 'getuserlist':
             return $this->getUsersList($_POST['word'], (int) $_POST['limit'], (int) $_POST['userType'], (int) $_POST['scope']);
         case 'get_user_info':
             return json_encode(users::GetUserShortInfo((int) $_POST['uid']));
         case 'getusersandcompanies':
             return $this->getUsersAndCompany($_POST['word'], (int) $_POST['limit'], (int) $_POST['userType'], (int) $_POST['scope'], false);
         case 'get_user_or_company_info':
             return $this->getUserOrCompanyRecord();
         case 'getsms':
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/registration.php';
             $registration = new registration();
             $registration->listenerAction(__paramInit('string', null, 'action'));
     }
     return false;
 }
Exemple #3
0
<?php

require_once $_SERVER["DOCUMENT_ROOT"] . "/classes/stdf.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php";
$membuf = new memBuff();
$memkey = "b-combo-getprofandgroups";
$s = $membuf->get($memkey);
if (!$s) {
    $rows = professions::GetProfessionsAndGroup();
    $result = array();
    foreach ($rows as $k => $i) {
        if ($result[$i["gid"]] === null) {
            $result[$i["gid"]] = array('0' => iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["gname"]), "undefined_value" => iconv("WINDOWS-1251", "UTF-8//IGNORE", 'Все специальности'));
            if ($i["id"] !== null) {
                $result[$i["gid"]][$i["id"]] = iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["name"]);
            } else {
                $result[$i["gid"]] = iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["gname"]);
            }
        } else {
            if (is_array($result[$i["gid"]])) {
                $result[$i["gid"]][$i["id"]] = iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["name"]);
            }
        }
    }
    $s = json_encode($result);
    $membuf->add($memkey, $s);
}
print 'var professionsList = ' . $s . '; professionsList["0"]["0"] = "Другое";professionsList["0"]["undefined_value"] = "Нет специализации";';
Exemple #4
0
    }
    $_user_action = isset($_REQUEST['user_action']) && $_REQUEST['user_action'] ? substr(htmlspecialchars($_REQUEST['user_action']), 0, 25) : '';
    $_user_action = trim($_user_action);
    switch ($_user_action) {
        case 'tu':
            if (isset($_SESSION['tu_ref_uri'])) {
                $redirect_to = HTTP_PFX . $_SERVER['HTTP_HOST'] . urldecode($_SESSION['tu_ref_uri']);
            }
            break;
        case 'new_tu':
            $redirect_to = HTTP_PFX . $_SERVER['HTTP_HOST'] . '/users/' . $_SESSION['login'] . '/tu/new/';
            break;
        case 'promo_verification':
            $redirect_to = '/promo/verification/';
            break;
        case 'buypro':
            $redirect_to = '/payed/';
            break;
    }
    header("Location: {$redirect_to}");
    exit;
}
//Если есть другой редирект то выставляем этот флаг
$is_other_redirect = isset($_SESSION['ref_uri']) || isset($_REQUEST['user_action']);
//Получить список профессий с указанной сортировкой
$professions_data = professions::GetProfessionsAndGroup('gname, name');
$stretch_page = true;
$header = '../header.php';
$footer = '../footer.html';
$content = 'tpl.profession.php';
include '../template3.php';
Exemple #5
0
 /**
  * Рассылка о новых проектах лицам, отсутствовавшим на сайте более суток и менее года. Вызывается раз в день из hourly.php.
  *
  * @param array &$uids - массив идентификаторов пользователей, подписанных на новые проекты но которым отправлено это уведомление
  *                     необходимо передать в smail::NewProj
  *
  * @return int количество получивших рассылку
  */
 public function NewProjForMissingMoreThan24h(&$uids)
 {
     $projects = projects::GetNewProjectsWithBudjet($error);
     //сортировка по стоимости
     foreach ($projects as $key => $prj) {
         $prj['sort_cost'] = $prj['cost'];
         if ($prj['currency'] == 0) {
             $prj['sort_cost'] *= 30;
             //в данном случае точный курс не важен, важно отсортировать
         }
         if ($prj['currency'] == 1) {
             $prj['sort_cost'] *= 40;
             //в данном случае точный курс не важен, важно отсортировать
         }
         $projects[$key] = $prj;
     }
     $all_mirrored_specs = professions::GetAllMirroredProfsId();
     $professions = professions::GetProfessionsAndGroup();
     $professionsTree = array();
     foreach ($professions as $k => $i) {
         if ($professionsTree[$i['gid']] === null) {
             $professionsTree[$i['gid']] = array('gid' => $i['gname']);
             if ($i['id'] !== null) {
                 $professionsTree[$i['gid']][$i['id']] = $i['name'];
             } else {
                 $professionsTree[$i['gid']] = $i['gname'];
             }
         } elseif (is_array($professionsTree[$i['gid']])) {
             $professionsTree[$i['gid']][$i['id']] = $i['name'];
         }
     }
     $page = 0;
     $count = 0;
     // total
     $countBs = 0;
     // БС
     $countCar = 0;
     // карусель
     $countPro = 0;
     // ПРО
     $countPayed = 0;
     // платные места
     $countVerify = 0;
     // верификация
     $this->subject = 'Новые проекты и конкурсы на FL.ru';
     $pHost = $GLOBALS['host'];
     ob_start();
     include $_SERVER['DOCUMENT_ROOT'] . '/masssending/tpl.missing_more_than_24h.php';
     $this->message = ob_get_clean();
     $this->recipient = '';
     $massId = $this->masssend();
     $dbStat = new DB('master');
     while ($users = freelancer::GetMissingMoreThan24h($error, ++$page, 100)) {
         $this->recipient = array();
         foreach ($users as $user) {
             if (!$user['unsubscribe_key']) {
                 $user['unsubscribe_key'] = users::GetUnsubscribeKey($user['login']);
             }
             $unsubscribe_link = "{$pHost}/unsubscribe?ukey=" . $user['unsubscribe_key'];
             $advert_template = $this->getAdvertTemplate($user, $n);
             //номер рекламного блока 0 - БС, 1 - карусель, 2 - ПРО, 3 - платные места, 4 - верификация
             switch ($n) {
                 case 0:
                     $countBs++;
                     break;
                 case 1:
                     $countCar++;
                     break;
                 case 2:
                     $countPro++;
                     break;
                 case 3:
                     $countPayed++;
                     break;
                 case 4:
                     $countVerify++;
                     break;
             }
             $pList = $this->getProjectsForUser($projects, $user, $all_mirrored_specs, $professionsTree);
             $length = count($pList);
             if ($length == 0) {
                 continue;
             }
             for ($i = 0; $i < count($pList); ++$i) {
                 for ($j = $i; $j < count($pList); ++$j) {
                     $a = $pList[$i];
                     $b = $pList[$j];
                     if ($b['sort_cost'] > $a['sort_cost']) {
                         $buf = $pList[$i];
                         $pList[$i] = $pList[$j];
                         $pList[$j] = $buf;
                     }
                 }
             }
             $pListHtml = '';
             foreach ($pList as $p) {
                 ob_start();
                 include $_SERVER['DOCUMENT_ROOT'] . '/masssending/tpl.missing_more_than_24h_list_item.php';
                 $pListHtml .= ob_get_clean();
             }
             $str = 'Посмотрите пять самых свежих &mdash; они могут вам понравиться.';
             switch ($length) {
                 case 1:
                     $str = 'Посмотрите самый свежий &mdash; он может вам понравиться.';
                     break;
                 case 2:
                     $str = 'Посмотрите два самых свежих &mdash; они могут вам понравиться.';
                     break;
                 case 3:
                     $str = 'Посмотрите три самых свежих &mdash; они могут вам понравиться.';
                     break;
                 case 4:
                     $str = 'Посмотрите четыре самых свежих &mdash; они могут вам понравиться.';
                     break;
             }
             ob_start();
             include $_SERVER['DOCUMENT_ROOT'] . "/masssending/{$advert_template}";
             $advHtml = ob_get_clean();
             if ($user['subscr_new_prj'] == 't') {
                 $uids[] = $user['uid'];
             }
             $recipient[] = array('email' => $user['uname'] . ' ' . $user['usurname'] . ' [' . $user['login'] . '] ' . ' <' . $user['email'] . '>', 'extra' => array('NAME' => (string) $user['uname'], 'EMAIL' => (string) $user['email'], 'LIST' => (string) $pListHtml, 'ADV' => (string) $advHtml, 'STR' => (string) $str, 'UNSUBSCRIBE_LINK' => (string) $unsubscribe_link));
             ++$count;
         }
         $this->recipient = $recipient;
         $this->bind($massId);
         $recipient = array();
     }
     $query = 'INSERT INTO subscribe_missing_24h_stat (date_subscribe, bs, carusel, pro, payed_places, verify) VALUES (?, ?i, ?i, ?i, ?i, ?i)';
     $dbStat->query($query, date('Y-m-d'), $countBs, $countCar, $countPro, $countPayed, $countVerify);
     return $count;
 }
<?php

define('IS_PHP_JS', true);
require_once $_SERVER["DOCUMENT_ROOT"] . "/classes/stdf.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php";
$membuf = new memBuff();
$memkey = "b-combo-getprofandgroups";
$s = $membuf->get($memkey);
if (!$s) {
    $rows = professions::GetProfessionsAndGroup('g.cnt DESC, p.pcount DESC NULLS LAST');
    $result = array();
    foreach ($rows as $k => $i) {
        if ($result[$i["gid"]] === null) {
            $result[$i["gid"]] = array('0' => array(iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["gname"]), "{$i["gcnt"]}"), "undefined_value" => array(iconv("WINDOWS-1251", "UTF-8//IGNORE", 'Все специальности'), "0"));
            if ($i["id"] !== null) {
                $result[$i["gid"]][$i["id"]] = array(iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["name"]), "{$i["pcount"]}");
            } else {
                $result[$i["gid"]] = array(iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["gname"]), "{$i["gcnt"]}");
            }
        } else {
            if (is_array($result[$i["gid"]])) {
                $result[$i["gid"]][$i["id"]] = array(iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["name"]), "{$i["pcount"]}");
            }
        }
    }
    $s = json_encode($result);
    $membuf->add($memkey, $s);
}
print 'var professionsList = ' . $s . '; professionsList["0"]["0"] = ["Другое","0"]; professionsList["0"]["undefined_value"] = ["Нет специализации","0"];';
Exemple #7
0
 /**
  * Получение настроек фильтра
  * 
  * @return array
  */
 private function _settings_get_filter()
 {
     require_once ABS_PATH . '/classes/projects_filter.php';
     require_once ABS_PATH . '/classes/professions.php';
     $aReturn = array();
     $nPage = self::$_aPlatform[$this->_sPlatform]['filter_page'];
     // какой фильтр получать
     $oFilter = new projects_filters();
     $aFilter = $oFilter->GetFilter($_SESSION['uid'], $error, $nPage);
     // фильтр из базы даных
     if ($this->_sPlatform == 'ios' || $this->_sPlatform == 'android') {
         $aReturn['enabled'] = $aFilter['use_main_filter'] == 't' ? 1 : 0;
         // наследовать фильтр с главной
     }
     $aReturn['keyword'] = iconv('cp1251', 'utf-8', $aFilter['keywords']);
     // ключевые слова
     $aReturn['items'] = array();
     // группы профессий, где выбран весь раздел
     if (!empty($aFilter['categories']) && !empty($aFilter['categories'][0]) && is_array($aFilter['categories'][0])) {
         foreach ($aFilter['categories'][0] as $nId => $nFake) {
             $aReturn['items'][] = array('categories_group_id' => $nId, 'categories_id' => 0);
         }
     }
     // профессии, где выбрана конкретная
     if (!empty($aFilter['categories']) && !empty($aFilter['categories'][1]) && is_array($aFilter['categories'][1])) {
         $aProfsAndGroups = professions::GetProfessionsAndGroup();
         $aProfsToGroups = array();
         foreach ($aProfsAndGroups as $aOne) {
             $aProfsToGroups[$aOne['id']] = $aOne['gid'];
         }
         foreach ($aFilter['categories'][1] as $nId => $nFake) {
             $aReturn['items'][] = array('categories_group_id' => $aProfsToGroups[$nId], 'categories_id' => $nId);
         }
     }
     return $aReturn;
 }