本文整理汇总了PHP中PHPWS_Core::initModCLass方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPWS_Core::initModCLass方法的具体用法?PHP PHPWS_Core::initModCLass怎么用?PHP PHPWS_Core::initModCLass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPWS_Core
的用法示例。
在下文中一共展示了PHPWS_Core::initModCLass方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* Executes this pulse. Checks for any pending reports and runs them.
*/
public static function execute()
{
// Reschedule the next run of this process
/*
$sp = $this->makeClone();
$sp->execute_at = strtotime("+1 minutes");
$sp->save();
*
*/
// Load necessary classes
PHPWS_Core::initModClass('hms', 'UserStatus.php');
PHPWS_Core::initModClass('hms', 'ReportFactory.php');
PHPWS_Core::initModCLass('hms', 'HMS_Email.php');
// Fake a user, in case we need that
UserStatus::wearMask('HMS System');
// Check for any pending reports (scheduled for any time up until now)
$db = new PHPWS_DB('hms_report');
$db->addWhere('completed_timestamp', null, 'IS');
// not completed
$db->addWhere('began_timestamp', null, 'IS');
// not already running somewhere
$db->addWhere('scheduled_exec_time', time(), '<=');
// scheduled exec time is now or before
$db->addOrder('scheduled_exec_time ASC');
// Run in order scheduled
$results = $db->select();
// If there's nothing to do, quite nicely
if (!isset($results) || is_null($results) || empty($results)) {
UserStatus::removeMask();
return 'No reports waiting.';
}
// Run each report
foreach ($results as $row) {
$report = null;
try {
// Load the proper controller for this report
$reportCtrl = ReportFactory::getControllerById($row['id']);
// Load this report's params
$reportCtrl->loadParams();
// Generate the report
$reportCtrl->generateReport();
$report = $reportCtrl->getReport();
} catch (Exception $e) {
// handle the exception nicely
self::emailError(self::formatException($e));
exit;
}
// Send success notification
$username = $report->getCreatedBy();
if ($username == 'jbooker') {
$username = 'jb67803';
}
HMS_Email::sendReportCompleteNotification($username, $report->getFriendlyName());
}
// Remove the mask
UserStatus::removeMask();
// Exit cleanly
return;
}