113 lines
3.6 KiB
PHP
113 lines
3.6 KiB
PHP
<?php
|
|
|
|
namespace BRSystems\Core\Library\cCron;
|
|
|
|
use BRSystems\Core\Library\cMail\cMail;
|
|
|
|
/**
|
|
* Cron controller class
|
|
*
|
|
* @category Cron
|
|
* @author Mareks Keišs <mareks.keiss@brsystems.lv>
|
|
* @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 <mareks.keiss@brsystems.lv>
|
|
* @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 <info@brsystems.lv>
|
|
* @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_DEFAULT][cMail::LOGIN],
|
|
false,
|
|
cMail::MAIL_SERVER_DEFAULT,
|
|
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;
|
|
}
|
|
}
|
|
}
|