* @since Version 2.0 */ class cCron { private $module; // Init base varibles public function __construct() { $dir = (__DIR__ ? __DIR__ : dirname(__FILE__)); $this->module = new cCronModule(); } /** * Function to exec cron business day end scripts * * @category Cron * @author Mareks Keišs * @returns bool */ public function execBDEndCronScripts() { // CMS msg links $this->module->deleteCmsMsgLinks(); // PUB msg links $this->module->deletePubMsgLinks(); // PUB old access tokens //$this->module->deleteOldAccessTokens(); // CMS old user online tokens $this->module->deleteOldUserOnlineTokens(); // Site cleanup $this->module->sysSiteCleanup(); return true; } /** * Function to send email with system news * * @author Aivars Žukovskis * @category pubSystemDashboard Controller * @param array $vDates - array('s' => start, 'e' => end) ( In unix ) * @param bool $bReturnData to return array data * @return array of data */ public function sendEmailWithSystemNews($vDates = array(), $bReturnData = false){ if(empty($vDates)) $vDates = array('s' => strtotime("00:00:00"), 'e' => strtotime("23:59:59")); $vData = array( 'nCreatedAccounts' => $this->module->getAccountsCreatedByDate($vDates), 'nActivatedAccounts' => $this->module->getAccountsActivatedByDate($vDates), 'nReceivedInquiries' => $this->module->getReceivedInquiriesByDate($vDates), 'usersOnline' => $this->module->getUsersOnlineByDate($vDates), ); // accounts to bill map id 785 // accounts manager map id 681 // Get host for activation link //$oCfg = new cINI(__CFG__ . 'init.cfg.ini'); //$vLocalHosts = $oCfg->getV('domain_cfg_json', 'localhost_domains', true); //$sHost = "http://" . (in_array($_SERVER['HTTP_HOST'], $vLocalHosts) ? cMail::EHLO_SERVER : $_SERVER['HTTP_HOST']); //$sLink = $sHost . $this->getLinkForID(681, $update['user_lang_id'], false, $sEndParam); if($bReturnData){ return $vData; }else{ foreach($vData as $k => $v){ if($v && $k != 'usersOnline'){ $mm = new cMail(); $mm->addMail( cMail::$SERVER_CFG[cMail::MAIL_SERVER_LORETA_LV][cMail::LOGIN], false, cMail::MAIL_SERVER_LORETA_LV, cMail::MAIL_16_SYSTEM_NEW_MAILS, $this->module->getDefaultAppLang(), array( '[%ACC_CREATED%]' => $vData['nCreatedAccounts'], '[%ACC_CREATE_LINK%]' => '', '[%ACC_ACTIVATED%]' => $vData['nActivatedAccounts'], '[%ACC_LINK%]' => '', '[%RECEIVED_INQUIRIES%]' => $vData['nReceivedInquiries'], '[%RECEIVED_INQUIRIES_LINK%]' => '', '[%USERS%]' => $vData['usersOnline'], '[%USERS_LINK%]' => '' ), false ); break; } } return true; } } }