/** * Constructor * @param string $sType - system type * @param string $sAction - system action * @param int $iObjectId - object id * @param int $iSenderId - sender (action's author) id */ function BxDolAlerts($sUnit, $sAction, $iObjectId, $iSender = 0, $aExtras = array()) { $oCache = $GLOBALS['MySQL']->getDbCacheObject(); $aData = $oCache->getData($GLOBALS['MySQL']->genDbCacheKey('sys_alerts')); if (null === $aData) { $aData = BxDolAlerts::cache(); } $this->_aAlerts = $aData['alerts']; $this->_aHandlers = $aData['handlers']; $this->sUnit = $sUnit; $this->sAction = $sAction; $this->iObject = (int) $iObjectId; $this->iSender = !empty($iSender) ? (int) $iSender : (empty($_COOKIE['memberID']) ? 0 : (int) $_COOKIE['memberID']); $this->aExtras = $aExtras; }
function serviceUpdateHandlers($sModuleUri = 'all', $bInstall = true) { $aModules = $sModuleUri == 'all' ? $this->_oDb->getModules() : array($this->_oDb->getModuleByUri($sModuleUri)); foreach ($aModules as $aModule) { if (!BxDolRequest::serviceExists($aModule, 'get_wall_data')) { continue; } $aData = BxDolService::call($aModule['uri'], 'get_wall_data'); if ($bInstall) { $this->_oDb->insertData($aData); } else { $this->_oDb->deleteData($aData); } } BxDolAlerts::cache(); }