コード例 #1
0
 /**
  * Поиск пользователей и компаний.
  *
  * @param $s     - поисковая строка
  * @param $limit - сколько записей запрашивать
  * @param $userType - фильтр результатов поиска  0: искать и фриленсеров и работодателей,   
  *                                               1: искать только фриленсеров,
  *                                               2: искать только работодателей,
  * @param $scope    - определяет, где искать     0:   в СБР/контактах и общем списке пользователей,
  *                                               1:   в СБР/контактах,
  *                                               2:   в общем списке пользователей
  * @param $is_delete - искать удаленных пользователей или нет
  * */
 private function getUsersAndCompany($s, $limit = ' ALL ', $userType = 0, $scope = 0, $is_delete = true)
 {
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php';
     $s = iconv('UTF-8', 'WINDOWS-1251//IGNORE', $s);
     $s = substr($s, 0, 40);
     $rows = array();
     if ($scope != 1) {
         if ($s != '') {
             $rows = users::GetUsersBySubstringInFinInfo($s, $limit, $moreUsers);
             //$DB->cache(600)->rows($cmd);
             $map = array();
             foreach ($rows as $k => $i) {
                 $i['uname'] = str_replace(array('onerror', 'onload', '<script'), array('', '', ''), $i['uname']);
                 $i['uname'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', htmlspecialchars_decode($i['uname']));
                 $i['usurname'] = '';
                 $i['address'] = str_replace(array('onerror', 'onload', '<script'), array('', '', ''), $i['address']);
                 $i['address'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', "{$i['country']}, {$i['city']}, {$i['index']}, {$i['address']}");
                 $i['photo'] = str_replace(array('onerror', 'onload', '<script'), array('', '', ''), $i['photo']);
                 $i['photo'] = get_unanimated_gif($i['login'], $i['photo']);
                 $i['path'] = 'users/' . substr($i['login'], 0, 2) . '/' . $i['login'] . '/foto/';
                 $i['name'] = str_replace(array('onerror', 'onload', '<script'), array('', '', ''), $i['name']);
                 $i['name'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', htmlspecialchars_decode($i['name']));
                 $i['country'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', htmlspecialchars_decode($i['country']));
                 $i['city'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', htmlspecialchars_decode($i['city']));
                 $i['isContacts'] = 1;
                 if ($i['photo'] === null || $i['path'] === null) {
                     $i['photo'] = '/images/temp/small-pic.gif';
                 }
                 $rows[$k] = $i;
                 $map[$i['uid']] = $k;
             }
             $moreUsers -= $limit;
             if ($moreUsers < 0) {
                 $moreUsers = 0;
             }
         }
     }
     //get company list
     $companies = letters::getCompanies($s, $limit);
     if ($companies['data']) {
         foreach ($companies['data'] as $company) {
             if ($company['frm_type']) {
                 $company['name'] = $company['frm_type'] . ' "' . $company['name'] . '"';
             }
             $i['uid'] = $company['id'];
             $company['name'] = str_replace(array('onerror', 'onload', '<script'), array('', '', ''), $company['name']);
             $i['uname'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', htmlspecialchars_decode($company['name']));
             $company['address'] = str_replace(array('onerror', 'onload', '<script'), array('', '', ''), $company['address']);
             $company['index'] = str_replace(array('onerror', 'onload', '<script'), array('', '', ''), $company['index']);
             $company['city_title'] = str_replace(array('onerror', 'onload', '<script'), array('', '', ''), $company['city_title']);
             $i['address'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', "{$company['country_title']}, {$company['city_title']}, {$company['index']}, {$company['address']}");
             $i['name'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', htmlspecialchars_decode($i['name']));
             $i['country'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', htmlspecialchars_decode($i['country']));
             $i['city'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', htmlspecialchars_decode($i['city']));
             $i['usurname'] = '';
             $i['login'] = '';
             $i['photo'] = '';
             $i['isContacts'] = 0;
             $i['isCompany'] = 1;
             $rows[] = $i;
         }
     }
     $moreCompany = intval($companies['count']) - intval(count($companies['data']));
     //сюда запишем N из фразы "Показаны первые M из N компаний"
     $result = $rows;
     $data = array('list' => $result, 'counters' => array('moreContacts' => $moreUsers, 'moreUsers' => $moreCompany), 'dav' => WDCPREFIX);
     return json_encode($data);
 }
コード例 #2
0
 /**
  * Поиск пользователей и компаний
  * @param $s     - поисковая строка
  * @param $limit - сколько записей запрашивать
  * @param $userType - фильтр результатов поиска  0: искать и фриленсеров и работодателей,   
  *                                               1: искать только фриленсеров,
  *                                               2: искать только работодателей,
  * @param $scope    - определяет, где искать     0:   в СБР/контактах и общем списке пользователей,
  *                                               1:   в СБР/контактах,
  *                                               2:   в общем списке пользователей
  * @param $is_delete - искать удаленных пользователей или нет
  * */
 private function getUsersAndCompany($s, $limit = " ALL ", $userType = 0, $scope = 0, $is_delete = true)
 {
     require_once $_SERVER["DOCUMENT_ROOT"] . "/classes/letters.php";
     $s = iconv("UTF-8", "WINDOWS-1251//IGNORE", $s);
     $s = substr($s, 0, 40);
     $rows = array();
     if ($scope != 1) {
         if ($s != "") {
             $rows = users::GetUsersBySubstringInFinInfo($s, $limit, $moreUsers);
             //$DB->cache(600)->rows($cmd);
             $map = array();
             foreach ($rows as $k => $i) {
                 $i["uname"] = str_replace(array("onerror", "onload", '<script'), array('', '', ''), $i["uname"]);
                 $i["uname"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", htmlspecialchars_decode($i["uname"]));
                 $i["usurname"] = '';
                 $i["address"] = str_replace(array("onerror", "onload", '<script'), array('', '', ''), $i["address"]);
                 $i["address"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", "{$i['country']}, {$i['city']}, {$i['index']}, {$i['address']}");
                 $i["photo"] = str_replace(array("onerror", "onload", '<script'), array('', '', ''), $i["photo"]);
                 $i['photo'] = get_unanimated_gif($i['login'], $i['photo']);
                 $i['path'] = "users/" . substr($i['login'], 0, 2) . "/" . $i['login'] . "/foto/";
                 $i["name"] = str_replace(array("onerror", "onload", '<script'), array('', '', ''), $i["name"]);
                 $i["name"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", htmlspecialchars_decode($i["name"]));
                 $i["country"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", htmlspecialchars_decode($i["country"]));
                 $i["city"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", htmlspecialchars_decode($i["city"]));
                 $i["isContacts"] = 1;
                 if ($i["photo"] === null || $i["path"] === null) {
                     $i["photo"] = "/images/temp/small-pic.gif";
                 }
                 $rows[$k] = $i;
                 $map[$i["uid"]] = $k;
             }
             $moreUsers -= $limit;
             if ($moreUsers < 0) {
                 $moreUsers = 0;
             }
         }
     }
     //get company list
     $companies = letters::getCompanies($s, $limit);
     if ($companies['data']) {
         foreach ($companies['data'] as $company) {
             if ($company['frm_type']) {
                 $company['name'] = $company['frm_type'] . ' "' . $company['name'] . '"';
             }
             $i["uid"] = $company['id'];
             $company["name"] = str_replace(array("onerror", "onload", '<script'), array('', '', ''), $company["name"]);
             $i["uname"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", htmlspecialchars_decode($company['name']));
             $company["address"] = str_replace(array("onerror", "onload", '<script'), array('', '', ''), $company["address"]);
             $company["index"] = str_replace(array("onerror", "onload", '<script'), array('', '', ''), $company["index"]);
             $company["city_title"] = str_replace(array("onerror", "onload", '<script'), array('', '', ''), $company["city_title"]);
             $i["address"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", "{$company['country_title']}, {$company['city_title']}, {$company['index']}, {$company['address']}");
             $i["name"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", htmlspecialchars_decode($i["name"]));
             $i["country"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", htmlspecialchars_decode($i["country"]));
             $i["city"] = iconv("WINDOWS-1251", "UTF-8//IGNORE", htmlspecialchars_decode($i["city"]));
             $i["usurname"] = "";
             $i["login"] = "";
             $i['photo'] = "";
             $i["isContacts"] = 0;
             $i["isCompany"] = 1;
             $rows[] = $i;
         }
     }
     $moreCompany = intval($companies['count']) - intval(count($companies['data']));
     //сюда запишем N из фразы "Показаны первые M из N компаний"
     $result = $rows;
     $data = array("list" => $result, "counters" => array("moreContacts" => $moreUsers, "moreUsers" => $moreCompany), "dav" => WDCPREFIX);
     return json_encode($data);
 }