<?php $noJSLogin = isJSPromlebBrowser(); require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/messages.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sbr.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/drafts.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/bar_notify.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/Helpers/PopupAfterPageLoaded.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/Helpers/SubBarNotificationHelper.php"; if ($_SESSION['uid']) { checkProLast(); // количество новых личных сообщений $iMsgsCount = messages::GetNewMsgCount(get_uid(false), $err); $_SESSION['newmsgs'] = intval($iMsgsCount); //код ниже не используется вроде /* // количество новых сообщений в СБР $iMsgsCount = sbr_meta::GetNewMsgCount( get_uid(false) ); $_SESSION['sbr_newmsgs'] = intval( $iMsgsCount ); // количество черновиков $iDraftsCount = intval($_SESSION['drafts_count']); $barNotify = new bar_notify($_SESSION['uid']); // получаем непрочитанные уведомления $barNotifies = $barNotify->getNotifies(); // bill $oldAccountToolTip = $accountToolTip; // тут может быть тултип о подарке $accountToolTip = null;
/** * Инициализирует все данные в сессии. * * @param users $user инициализирванный объект users. */ public function fillU($user) { if (!$user->uid) { $this->error(EXTERNAL_ERR_USER_NOTFOUND); } if ($user->is_banned) { $this->error(EXTERNAL_ERR_USER_BANNED); } if ($user->active != 't') { $this->error(EXTERNAL_ERR_USER_NOTACTIVE); } $data = get_object_vars($user); unset($user); require_once ABS_PATH . '/classes/sbr.php'; require_once ABS_PATH . '/classes/sbr_meta.php'; require_once ABS_PATH . '/classes/messages.php'; require_once ABS_PATH . '/classes/account.php'; $is_emp = is_emp($data['role']); $data['id'] = md5(self::MEM_GROUP . uniqid($data['uid'])); $data['new_msgs'] = messages::GetNewMsgCount($data['uid']); $data['role'] = (int) $is_emp; $data['is_pro'] = $this->pg2ex($data['is_pro'], EXTERNAL_DT_BOOL); $sbr_cls = $is_emp ? 'sbr_emp' : 'sbr_frl'; $sbr = new $sbr_cls($data['uid'], $data['login']); $data['sbr_count'] = $sbr->getActivesCount(); $data['new_sbr_events'] = sbr_meta::getNewEventCount($data['uid']); $account = new account(); $account->GetInfo($data['uid']); $data['sum'] = $account->sum; foreach ($this->public as $f => $v) { $this->{$f} = $data[$f]; } $this->_uid = $data['uid']; $this->_last_updated = time(); }
/** * возвращает подсказку для кнопки "Сообщения" * в виде массива ((int)count, (string)tip) * null - в случае ошибки * * @param boolean $ajax вызов функции ajax'ом */ public static function getMessTip($ajax = false) { $mem = new memBuff(); $uid = get_uid(0); if (!$uid) { return null; } if ($ajax) { $newMessCount = messages::GetNewMsgCount($uid, true); } else { $newMessCount = $_SESSION['newmsgs']; } if ($newMessCount === null) { return null; } elseif ((int) $newMessCount === 0) { $tip = 'Мои сообщения и переписка'; } elseif ((int) $newMessCount === 1) { /*$mess = new messages; if ( empty($_SESSION['newMsgSender']) ) { $user = $mess->GetLastMessageContact($uid); $_SESSION['newMsgSender'] = $user['uname'] . ' ' . $user['usurname'] . ' [' . $user['login'] . ']'; } $tip = 'Новое сообщение от пользователя ' . $_SESSION['newMsgSender'];*/ $newMsgSender = $mem->get("msgsNewSender{$uid}"); if ($newMsgSender === false || trim($newMsgSender) == '[]') { $mess = new messages(); $sender = $mess->GetLastMessageContact($uid); if (trim($sender['login']) != '') { $newMsgSender = $sender['uname'] . ' ' . $sender['usurname'] . ' [' . $sender['login'] . ']'; $mem->set("msgsNewSender{$uid}", $newMsgSender, 3600, 'msgsNewSenderID' . $sender['uid']); } } $tip = 'Новое сообщение от пользователя ' . $newMsgSender; } else { $tip = $newMessCount . ' ' . ending($newMessCount, 'непрочитанное сообщение', 'непрочитанных сообщения', 'непрочитанных сообщений'); } return array('count' => $newMessCount, 'tip' => $tip); }