/** * Поиск пользователей и компаний. * * @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); }
/** * Поиск пользователей и компаний * @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); }