/** * Make queue for sms send * * @return void */ public function RemindUser() { $LiveDays = $this->AltCfg['REMINDER_DAYS_THRESHOLD']; $LiveTime = $LiveDays * 24 * 60 * 60; $CacheTime = time() - $LiveTime; foreach ($this->AllLogin as $userLoginData) { $eachLogin = $userLoginData['login']; if (!$this->FilterPassive($eachLogin)) { if ($this->money->getOnlineLeftCountFast($eachLogin) <= $LiveDays and $this->money->getOnlineLeftCountFast($eachLogin) >= 0) { if (!file_exists(self::FLAGPREFIX . $eachLogin)) { $number = $this->AllPhones[$eachLogin]['mobile']; if (!empty($number)) { $number = trim($number); $number = str_replace($this->AltCfg['REMINDER_PREFIX'], '', $number); $number = vf($number, 3); $number = $this->AltCfg['REMINDER_PREFIX'] . $number; $template = $this->AltCfg['REMINDER_TEMPLATE']; if (!empty($template)) { $message = zb_TemplateReplace($eachLogin, $template, $this->AllTemplates); if (!empty($message)) { $this->sms->sendSMS($number, $message, false); file_put_contents(self::FLAGPREFIX . $eachLogin, ''); } } } } } elseif ($this->money->getOnlineLeftCountFast($eachLogin) == -2) { log_register(__('SMS will not sent. Tariff is free.' . ' ' . 'Login' . ': ' . $eachLogin)); } else { if (file_exists(self::FLAGPREFIX . $eachLogin)) { if (filemtime(self::FLAGPREFIX . $eachLogin) > $CacheTime) { unlink(self::FLAGPREFIX . $eachLogin); } } } } } }
/** * Parses HTML document template with some user data * * @param string $template * @param string $login * @return string */ function zb_DocsParseTemplate($template, $login) { $templatebody = zb_DocsLoadTemplate($template); $alluserdata = zb_TemplateGetAllUserData(); $result = zb_TemplateReplace($login, $templatebody, $alluserdata); return $result; }
function ra_NasRebuildAll() { $nas_q = "SELECT * from `nas` WHERE `nastype`='radius'"; $radiusnas = simple_queryall($nas_q); if (!empty($radiusnas)) { $allips = zb_UserGetAllIPs(); $transips = array_flip($allips); $allnetids = zb_UserGetNetidsAll(); $alluserdata = zb_TemplateGetAllUserData(); foreach ($radiusnas as $io => $eachnas) { $netid = $eachnas['netid']; $nasid = $eachnas['id']; $nastemplate = ra_NasGetTemplate($nasid); if (!empty($nastemplate)) { foreach ($allnetids as $ip => $eachnetid) { if ($eachnetid == $netid) { $userlogin = $transips[$ip]; if (!empty($userlogin)) { $parsed_template = zb_TemplateReplace($userlogin, $nastemplate, $alluserdata); ra_UserRebuildAttributes($userlogin, $parsed_template, false); } } } } } } }
/** * Make queue for sms send for all users with remind tag * * @return void */ public function forceRemind() { foreach ($this->AllLogin as $userLoginData) { $eachLogin = $userLoginData['login']; if (!$this->FilterPassive($eachLogin)) { $number = $this->AllPhones[$eachLogin]['mobile']; if (!empty($number)) { $number = trim($number); $number = str_replace($this->AltCfg['REMINDER_PREFIX'], '', $number); $number = vf($number, 3); $number = $this->AltCfg['REMINDER_PREFIX'] . $number; $template = $this->AltCfg['REMINDER_TEMPLATE']; if (!empty($template)) { $message = zb_TemplateReplace($eachLogin, $template, $this->AllTemplates); if (!empty($message)) { $this->sms->sendSMS($number, $message, true, 'REMINDER'); log_register('REMINDER FORCE SEND SMS (' . $eachLogin . ') NUMBER `' . $number . '`'); } } } else { log_register('REMINDER EMPTY NUMBER (' . $eachLogin . ')'); } } } }