public function service() { $customer = $this->getCustomer(); if ($customer) { $onlineUsersManager = new OnlineUsersManager($this->config, $this->args); $user = $this->getUser(); $onlineUsersManager->removeOnlineUserByEmail($customer->getEmail()); $this->sessionManager->removeUser($user, true); } $this->redirect(); }
/** * Returns an singleton instance of this class * * @param object $config * @param object $args * @return */ public static function getInstance($config, $args) { if (self::$instance == null) { self::$instance = new OnlineUsersManager($config, $args); } return self::$instance; }
public function addEventIntoEventsTableForOnlineCustomers($to_emails_array, $fromName, $subject) { $customerAlertsManager = CustomerAlertsManager::getInstance($this->config, $this->args); $onlineUsersManager = OnlineUsersManager::getInstance($this->config, $this->args); $customerLocalEmailsManager = CustomerLocalEmailsManager::getInstance($this->config, $this->args); $onlineRegisteredCustomers = $onlineUsersManager->getOnlineRegisteredCustomers(); foreach ($onlineRegisteredCustomers as $onlineUsersDto) { $custEmail = $onlineUsersDto->getEmail(); if (in_array($custEmail, $to_emails_array)) { $customerInboxUnreadEmailsCount = $customerLocalEmailsManager->getCustomerInboxUnreadEmailsCountCustomerEmail($custEmail); $customerAlertsManager->addNewEmailCustomerAlert($custEmail, $fromName, $subject, $customerInboxUnreadEmailsCount, $onlineUsersDto->getLanguageCode()); } } }
public function service() { $onlineUserManager = new OnlineUsersManager($this->config, $this->args); $customer = $this->getCustomer(); if ($this->getUserLevel() !== UserGroups::$GUEST) { //add to online users table $customerEmail = $customer->getEmail(); $newAdded = $onlineUserManager->addOnlineUser($this->getUserLevel(), $customer) > 0; if ($newAdded) { $customerMessagesAfterLoginManager = CustomerMessagesAfterLoginManager::getInstance($this->config, $this->args); $customerAfterLoginMessagesDtos = $customerMessagesAfterLoginManager->getCustomerMessages($customer->getEmail()); $customerMessagesAfterLoginManager->incrementCustomerMessagesShowedCount($customerAfterLoginMessagesDtos); $customerAfterLoginMessagesDtosToArray = AbstractDto::dtosToArray($customerAfterLoginMessagesDtos); } //check user alerts $winUid = $_REQUEST['win_uid']; $customerAlertListManager = CustomerAlertListManager::getInstance($this->config, $this->args); $registeredCustomerAlertsDtosToArray = $customerAlertListManager->getRegisteredCustomerAlerts($customer, $winUid); $customerAlertsManager = CustomerAlertsManager::getInstance($this->config, $this->args); $customerMessagesDtos = $customerAlertsManager->getCustomerAlertsByCustomerLogin($customerEmail, $winUid); $customerMessagesToPhpArray = AbstractDto::dtosToArray($customerMessagesDtos); } else { //add guest in online users table $guest_online_table_id = $_COOKIE['guest_online_table_id']; if ($guest_online_table_id) { $onlineUser = $onlineUserManager->selectByPK($guest_online_table_id); if (isset($onlineUser)) { $onlineUserManager->updateOnlineUserAttributes($onlineUser); } else { $newId = $onlineUserManager->addOnlineUser($this->getUserLevel(), null); if (isset($newId)) { $this->setcookie('guest_online_table_id', $newId); } } } else { $newId = $onlineUserManager->addOnlineUser($this->getUserLevel(), null); if (isset($newId)) { $this->setcookie('guest_online_table_id', $newId); } } } $jsonArr = array('status' => "ok"); if (!empty($registeredCustomerAlertsDtosToArray)) { $jsonArr['alerts'] = $registeredCustomerAlertsDtosToArray; } if (!empty($customerAfterLoginMessagesDtosToArray)) { $jsonArr['customer_after_login_messages'] = $customerAfterLoginMessagesDtos; } if (!empty($customerMessagesToPhpArray)) { $jsonArr['messages'] = $customerMessagesToPhpArray; } echo json_encode($jsonArr); return true; }
public function addEventIntoEventsTableForOnlineCustomers($company) { $customerAlertsManager = CustomerAlertsManager::getInstance($this->config, $this->args); $companyDealersManager = CompanyDealersManager::getInstance($this->config, $this->args); $onlineUsersManager = OnlineUsersManager::getInstance($this->config, $this->args); $userManager = UserManager::getInstance($this->config, $this->args); $onlineRegisteredCustomers = $onlineUsersManager->getOnlineRegisteredCustomers(); foreach ($onlineRegisteredCustomers as $onlineUsersDto) { $customerType = $userManager->getCustomerTypeByEmail($onlineUsersDto->getEmail()); if ($customerType === UserGroups::$USER) { $userCustomer = $userManager->getUserByEmail($onlineUsersDto->getEmail()); $dealerDto = $companyDealersManager->getByCompanyIdAndUserId($userCustomer->getId(), $company->getId()); if (isset($dealerDto)) { $customerAlertsManager->addPriceUploadCustomerAlert($onlineUsersDto->getEmail(), $company, $onlineUsersDto->getLanguageCode()); } } elseif ($customerType === UserGroups::$COMPANY || $customerType === UserGroups::$ADMIN) { $customerAlertsManager->addPriceUploadCustomerAlert($onlineUsersDto->getEmail(), $company); } } }
private function getOnlineAdminsEmails() { $adminManager = AdminManager::getInstance(null, null); $adminsDtos = $adminManager->selectAll(); $onlineUsersManager = OnlineUsersManager::getInstance(null, null); $ret = array(); foreach ($adminsDtos as $adminDto) { $adminEmail = $adminDto->getEmail(); $onlineAdminDto = $onlineUsersManager->selectByField('email', $adminEmail); if (!empty($onlineAdminDto)) { $ret[] = $adminEmail; } } return $ret; }
public function load() { $onlineUsersManager = OnlineUsersManager::getInstance($this->config, $this->args); $ac = $onlineUsersManager->selectAll(); $this->addParam('onlineusers', $ac); }
public function service() { $onlineUsersManager = new OnlineUsersManager($this->config, $this->args); $onlineUsersManager->removeTimeOutedUsers(180); //3 minutes }
error_reporting(E_ALL ^ E_NOTICE); ini_set('display_errors', true); defined('__DIR__') or define('__DIR__', dirname(__FILE__)); $_dir = str_replace("/bin", "", __DIR__); require_once $_dir . "/conf/constants.php"; require_once CLASSES_PATH . "/util/db/DBMSFactory.class.php"; require_once CLASSES_PATH . "/managers/OnlineUsersManager.class.php"; require_once CLASSES_PATH . "/managers/CustomerAlertsManager.class.php"; require_once CLASSES_PATH . "/managers/CompanyItemCheckListManager.class.php"; require_once CLASSES_PATH . "/managers/CmsSearchRequestsManager.class.php"; require_once CLASSES_PATH . "/managers/CbaRatesManager.class.php"; require_once CLASSES_PATH . "/managers/ReceiveEmailManager.class.php"; $config = parse_ini_file(CONF_PATH . "/config.ini"); DBMSFactory::init($config); $onlineUsersManager = new OnlineUsersManager($config, null); $onlineUsersManager->removeTimeOutedUsers(120); //2 minutes $customerAlertsManager = new CustomerAlertsManager($config, null); $customerAlertsManager->removeOldAlerts(10); //10 minute $companyItemCheckListManager = new CompanyItemCheckListManager($config, null); $companyItemCheckListManager->removeOldRowsBySeconds(120); //2 minutes $requestHistoryManager = new RequestHistoryManager($config, null); $requestHistoryManager->removeOldRowsByDays(90); // 90 days $cmsSearchRequestsManager = new CmsSearchRequestsManager($config, null); $cmsSearchRequestsManager->removeOldRowsByDays(90); // 90 days //chaching cba rates for all exchanges