Exemplo n.º 1
0
 /**
  * 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);
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
/**
 * 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;
}
Exemplo n.º 3
0
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);
                        }
                    }
                }
            }
        }
    }
}
Exemplo n.º 4
0
 /**
  * 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 . ')');
             }
         }
     }
 }