本文整理匯總了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;
}