public function execute(CommandContext $context) { if (!Current_User::allow('hms', 'reports')) { PHPWS_Core::initModClass('hms', 'exception/PermissionException.php'); throw new PermissionException('You do no have permission to run reports.'); } PHPWS_Core::initModClass('hms', 'ReportFactory.php'); $reportClass = $context->get('reportClass'); if (!isset($reportClass) || is_null($reportClass)) { throw new InvalidArgumentException('Missing report class name.'); } $reportCtrl = ReportFactory::getcontrollerInstance($reportClass); $runNow = $context->get('runNow'); if (isset($runNow) && $runNow == "true") { $time = time(); } else { $timePicker = $context->get('timePicker'); $timeParts = explode(" ", $timePicker); $meridian = $timeParts[1]; $timeParts = explode(":", $timeParts[0]); $hour = $timeParts[0]; if ($meridian == "PM") { $hour += 12; } $min = $timeParts[1]; $datePicker = $context->get('datePicker'); $dateParts = explode("/", $datePicker); $month = $dateParts[0]; $day = $dateParts[1]; $year = $dateParts[2]; $time = mktime($hour, $min, 0, $month, $day, $year); } // Set the exec time $reportCtrl->newReport($time); // Save the report $reportCtrl->saveReport(); // Grab the report's settings from the context $reportCtrl->setParams($context->getParams()); // Save those params $reportCtrl->saveParams(); HMS::quit(); }