本文整理汇总了PHP中messages::GetContacts方法的典型用法代码示例。如果您正苦于以下问题:PHP messages::GetContacts方法的具体用法?PHP messages::GetContacts怎么用?PHP messages::GetContacts使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类messages
的用法示例。
在下文中一共展示了messages::GetContacts方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _ceContacts
/**
* Возвращает родстер (список контактов) пользователя.
*
* @param stdClass $attr - список параметров
* string type : all - вернуть всех пользователей, active - вернуть только "активных".
* Обязательные параметр. @see self::ACTIVE_CONTACT
* integer online: 1 - возвращать только пользователей находящихся на сайте, 0 - всех
*
* @return array - массив с пользователями
*/
protected function _ceContacts($attr)
{
global $session;
$messages = new messages();
if (is_emp($this->_uid)) {
$sbr = new sbr_emp($this->_uid);
} else {
$sbr = new sbr_frl($this->_uid);
}
$rows = array_merge($messages->GetContacts($this->_uid), $sbr->getContacts());
$uids = array();
$res = array();
foreach ($rows as $row) {
if (in_array($row['uid'], $uids) || $row['login'] == 'admin') {
continue;
}
$uids[] = $row['uid'];
if ($attr->type == 'active' && (isset($row['my_last_post']) || isset($row['his_last_post']))) {
$last = max(strtotime($row['my_last_post']), strtotime($row['his_last_post']));
if ($last + self::ACTIVE_CONTACT < time()) {
continue;
}
}
$session->view_online_status($row['login']);
$row['online'] = $session->is_active;
if (!empty($attr->online) && !$row['online']) {
continue;
}
$res[] = array('uid' => $row['uid'], 'name' => $row['uname'] ? iconv('CP1251', 'UTF-8', $row['uname'] . ' ' . $row['usurname']) : $row['login'], 'login' => $row['login'], 'online' => (int) $row['online'], 'avatar' => $row['photo'] ? WDCPREFIX . '/users/' . $row['login'] . '/foto/sm_' . $row['photo'] : '', 'emp' => (int) is_emp($row['role']), 'pro' => (int) ($row['is_pro'] == 't'));
}
return $res;
}
示例2: getUsersList
/**
* Получение списка пользователей.
*
* @todo кеш и js
*
* @param string $s - поисковая строка
* @param string $limit - сколько записей запрашивать
* @param int $userType - фильтр результатов поиска: 0 - искать и фриленсеров и работодателей,
* 1 - искать только фриленсеров,
* 2 - искать только работодателей,
* @param int $scope - определяет, где искать: 0 - в СБР/контактах и общем списке пользователей,
* 1 - в СБР/контактах,
* 2 - в общем списке пользователей
*
* @return string - список пользователей в формате JSON
*/
public function getUsersList($s, $limit = 'ALL', $userType = 0, $scope = 0)
{
session_start();
$uid = get_uid(false);
$result = array();
$contacts = array();
$more = array();
// подготовка строки для поиска в shpinx
if ($s != '') {
$s = iconv('UTF-8', 'WINDOWS-1251//IGNORE', $s);
$s = substr(trim($s), 0, 60);
$r = preg_split("/\\s+/", $s);
$s = '';
// если введено два слова, то пологаем что это имя и фамилия и обрабатываем вариант такого поиска особо
// если одно из слов состоит только из /^[-_a-z0-9]+$/i также полагаем что это может быть часть логина
if (count($r) == 2) {
$s = "(@uname {$r[0]} & (@usurname *{$r[1]}* | @usurname {$r[1]})) | (@usurname {$r[0]} & (@uname *{$r[1]}* | @uname {$r[1]}))";
if (preg_match('/^[-_a-z0-9]+$/i', $r[0])) {
$s .= " | (@login *{$r[0]}* & (@uname *{$r[1]}* | @usurname *{$r[1]}*)) | @login *{$r[0]}*";
}
if (preg_match('/^[-_a-z0-9]+$/i', $r[1])) {
$s .= " | (@login *{$r[1]}* & (@uname {$r[0]} | @usurname {$r[0]})) | @login *{$r[1]}*";
}
// во всех остальных случаях полагаем что все слова кроме последнего введены полностью и просто ищем совпадения
} else {
for ($i = 0; $i < count($r) - 1; ++$i) {
$s .= "{$r[$i]} | ";
}
$s .= "*{$r[$i]}* | {$r[$i]}";
}
}
// если нужны контакты в сбр и личке, то получаем их id
if ($scope == 0 || $scope == 1) {
// контакты в сбр
$memBuff = new memBuff();
$contacts = $memBuff->get("bComboUsers{$uid}");
if ($contacts === false) {
if (is_emp()) {
$sbr = new sbr_emp($uid);
} else {
$sbr = new sbr_frl($uid);
}
$contacts = $sbr->getPartersId();
// контакты в личке
$mess = new messages();
$rows = $mess->GetContacts($uid);
for ($i = 0; $i < count($rows); ++$i) {
if (!in_array($rows[$i]['uid'], $contacts)) {
$contacts[] = $rows[$i]['uid'];
}
}
$memBuff->set("bComboUsers{$uid}", $contacts, 600);
}
}
// $i = 0-контакты, 1-остальные пользователи
for ($i = 0; $i <= 1; ++$i) {
if (!$i && !$contacts) {
continue;
}
$rows = array();
// если поиск не требуется
if ($s == '') {
if (!$i) {
if ($userType) {
$table = $userType == 2 ? 'employer' : 'freelancer';
} else {
$table = 'users';
}
$rows = users::GetUsersInfoByIds($limit == 'ALL' ? $contacts : array_slice($contacts, 0, $limit), $table);
}
// если требуется
} else {
$filter = array();
if ($contacts) {
if (!$i) {
$filter['uids'] = $contacts;
} else {
$filter['nouids'] = $contacts;
}
}
if ($userType) {
$filter['utype'] = $userType - 1;
}
$search = new search(get_uid(false));
//.........这里部分代码省略.........
示例3: x____getContacts
/**
* Возвращает список контактов пользователя в определенной папке.
*
* @see messages::GetContacts()
*
* @param int $folder ид. папки.
*
* @return array
*/
protected function x____getContacts($args)
{
list($folder) = $args;
require_once ABS_PATH . '/classes/messages.php';
$folder = (int) $folder;
$result = null;
$uid = $this->_sess->_uid;
$limit = $this->_mCfg['page_size'];
$messages = new messages();
if ($cnts = $messages->GetContacts($uid, $folder, null, $limit)) {
foreach ($cnts as $key => $c) {
$row = $this->pg2exRow($this->_mCfg['fields'], $c);
if ($row['photo']) {
$row['photo'] = WDCPREFIX . "/users/{$row['login']}/foto/{$row['photo']}";
}
$row['role'] = (int) is_emp($row['role']);
$row['link'] = $GLOBALS['host'] . "/contacts/?from={$row['login']}";
$result[$key] = $row;
}
}
return $result;
}
示例4: trim
}
$find = trim($_GET['find']);
$msgs = new messages();
if (!($page = __paramInit('int', 'page', NULL, NULL))) {
$page = 1;
$bPageDefault = true;
}
if ($page <= 0) {
$page = 1;
}
if (!$pm_folder) {
// пользовательские папки
if ($cur_folder == -5) {
$contacts = $msgs->GetContactsWithNote(get_uid(), $find);
} else {
$contacts = $msgs->GetContacts(get_uid(), $cur_folder, $find, $blogspp, ($page - 1) * $blogspp, $predefined_count);
}
} else {
// автоматические папки для массовых рассылок личных менеджеров
$contacts = $msgs->pmAutoFolderGetContacts(get_uid(), $pm_folder, $find);
}
$count = $predefined_count ? $predefined_count : sizeof($contacts);
$pages = ceil($count / $blogspp);
if (($count == 0 || $count < ($page - 1) * $blogspp) && !$bPageDefault || $pages == 1 && !$bPageDefault) {
include ABS_PATH . '/404.php';
exit;
}
}
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/payed.php";
$is_pro = payed::CheckPro($_SESSION['login']);
$header = "../header.php";
示例5: RnFolder
function RnFolder($form_values)
{
session_start();
$fuid = get_uid(false);
$objResponse = new xajaxResponse();
$bError = false;
$fld = new mess_folders();
$msgs = new messages();
$contacts = $msgs->GetContacts($fuid);
$users_folders = $msgs->GetUsersInFolders($fuid);
if (!isset($form_values['id'])) {
$objResponse->alert("Не выбрана папка.");
$bError = true;
} else {
$folder_id = intval($form_values['id']);
$cur_folder = intval($form_values['cur_folder']);
$cont = intval($form_values['cont']);
$logins = addslashes($form_values['logins']);
$arr_logins = split('~', $logins);
if ($folder_id <= 0) {
$objResponse->alert("Не выбрана папка.");
} else {
if (!isset($form_values['new_name'])) {
$objResponse->alert("Не указано новое имя папки.");
} else {
// $folder_name = addslashes($form_values['new_name']);
$folder_name = substr(change_q($form_values['new_name'], false, 64), 0, 64);
$request_folder_name = substr(change_q(stripslashes($form_values['new_name']), false, 64), 0, 64);
$srch = array("<", ">");
$folder_name = trim(str_replace($srch, "", $folder_name));
if (empty($folder_name) || $folder_name == '') {
$objResponse->alert("Не указано новое имя папки.");
$objResponse->assign("savebtn", "disabled", false);
} else {
$fld->fname = $folder_name;
$fld->id = $folder_id;
$fld->from_id = get_uid(false);
if (!($ermsg = $fld->Rename($folder_id))) {
$GLOBALS['xajax']->setCharEncoding("windows-1251");
$objResponse->script("old_name='" . $folder_name . "';");
if ($cur_folder == $folder_id) {
$folder_html = "<img class=\"li\" src=\"/images/ico_dir.gif\" />" . reformat($request_folder_name, 15, 0, 1);
$folder_header = 'Сообщения / ' . reformat($folder_name, 15, 0, 1);
$objResponse->assign("cht", "innerHTML", $folder_header);
} else {
$folder_html = "<a href=\"/contacts/?folder=" . $folder_id . "\"><span style=\"float:left;\"><img class=\"li\" src=\"/images/ico_dir.gif\" /></a></span><a href=\"/contacts/?folder=" . $folder_id . "\" class=\"blue\">" . reformat($request_folder_name, 15, 0, 1) . "</a>";
}
foreach ($arr_logins as $login) {
$objResponse->assign("folder" . $folder_id . "u" . $login, "innerHTML", reformat($folder_name, 25, 0, 1));
$objResponse->assign("vfolder" . $folder_id . "u" . $login, "innerHTML", reformat($folder_name, 25, 0, 1));
}
$folder_html .= " (<span id=\"fldcount" . $folder_id . "\">" . $cont . "</span>)";
$folder_html .= "<div style=\"margin-top: 17px; text-align:right\"><a href=\"/contacts/?action=delfolder&id=" . $folder_id . "\" onClick=\"return warning(9)\" title=\"Удалится только папка. Контакты переместятся в папку «Все».\">Удалить</a> | <a href='javascript:rename(\"" . $folder_id . "\",\"" . $cur_folder . "\",\"" . str_replace("\\", "\\\\", htmlspecialchars($request_folder_name)) . "\",\"" . $cont . "\",\"" . $logins . "\");'>Переименовать</a></div>";
$objResponse->assign("li_folder" . $folder_id, "innerHTML", $folder_html);
} else {
$objResponse->alert($ermsg);
$objResponse->assign("savebtn", "disabled", false);
}
}
}
}
}
return $objResponse;
}