5 include_once
"Services/Cron/classes/class.ilCronManager.php";
22 $lng->loadLanguageModule(
"cron");
24 $cmd = $ilCtrl->getCmd(
"render");
34 if($ilSetting->get(
'last_cronjob_start_ts'))
40 $tstamp = $lng->txt(
'cronjob_last_start_unknown');
44 include_once
"Services/Cron/classes/class.ilCronManagerTableGUI.php";
46 $tpl->setContent(
$tbl->getHTML());
53 $id = $_REQUEST[
"jid"];
56 $ilCtrl->redirect($this,
"render");
64 $tpl->setContent($a_form->getHTML());
74 $ilCtrl->redirect($this,
"render");
77 $ilCtrl->setParameter($this,
"jid", $a_job_id);
81 include_once(
"Services/Cron/classes/class.ilCronJob.php");
82 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
84 $form->setFormAction($ilCtrl->getFormAction($this,
"update"));
85 $form->setTitle($lng->txt(
"cron_action_edit").
': "'.$job->getTitle().
'"');
87 if($job->hasFlexibleSchedule())
91 $type->setValue(
$data[
"schedule_type"]);
98 $min =
new ilRadioOption(sprintf($lng->txt(
"cron_schedule_in_minutes"),
"x"),
105 $mini->setValue(
$data[
"schedule_value"]);
107 $min->addSubItem($mini);
108 $type->addOption($min);
110 $hr =
new ilRadioOption(sprintf($lng->txt(
"cron_schedule_in_hours"),
"x"),
117 $hri->setValue(
$data[
"schedule_value"]);
119 $hr->addSubItem($hri);
120 $type->addOption($hr);
122 $dy =
new ilRadioOption(sprintf($lng->txt(
"cron_schedule_in_days"),
"x"),
129 $dyi->setValue(
$data[
"schedule_value"]);
131 $dy->addSubItem($dyi);
132 $type->addOption($dy);
134 $form->addItem($type);
137 if($job->hasCustomSettings())
139 $job->addCustomSettingsToForm($form);
142 $form->addCommandButton(
"update", $lng->txt(
"save"));
143 $form->addCommandButton(
"render", $lng->txt(
"cancel"));
152 $id = $_REQUEST[
"jid"];
155 $ilCtrl->redirect($this,
"render");
159 if($form->checkInput())
165 if($job->hasCustomSettings() &&
166 !$job->saveCustomSettings($form))
171 if(
$valid && $job->hasFlexibleSchedule())
173 $type = $form->getInput(
"type");
177 $value = $form->getInput(
"smini");
181 $value = $form->getInput(
"shri");
185 $value = $form->getInput(
"sdyi");
197 $ilCtrl->redirect($this,
"render");
202 $form->setValuesByPost();
208 $this->confirm(
"run");
215 $job_id =
$_GET[
"jid"];
228 $ilCtrl->redirect($this,
"render");
233 $this->confirm(
"activate");
243 foreach($jobs as $job)
255 $ilCtrl->redirect($this,
"render");
260 $this->confirm(
"deactivate");
270 foreach($jobs as $job)
281 $ilCtrl->redirect($this,
"render");
286 $this->confirm(
"reset");
296 foreach($jobs as $job)
306 $ilCtrl->redirect($this,
"render");
315 $job_id = trim($_REQUEST[
"jid"]);
319 $res[$job_id] = $job;
322 else if(is_array($_REQUEST[
"mjid"]))
324 foreach($_REQUEST[
"mjid"] as $job_id)
329 $res[$job_id] = $job;
337 protected function confirm($a_action)
344 $ilCtrl->redirect($this,
"render");
347 if(
'run' == $a_action)
350 $jobs = array_filter($jobs,
function ($job) {
354 return $job->isManuallyExecutable();
357 if(0 == count($jobs))
360 $ilCtrl->redirect($this,
'render');
364 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
367 if(
sizeof($jobs) == 1)
369 $job_id = array_pop(array_keys($jobs));
370 $job = array_pop($jobs);
371 $title = $job->getTitle();
374 $title = preg_replace(
"[^A-Za-z0-9_\-]",
"", $job->getId());
377 $cgui->setHeaderText(sprintf($lng->txt(
"cron_action_".$a_action.
"_sure"),
380 $ilCtrl->setParameter($this,
"jid", $job_id);
384 $cgui->setHeaderText($lng->txt(
"cron_action_".$a_action.
"_sure_multi"));
386 foreach($jobs as $job_id => $job)
388 $cgui->addItem(
"mjid[]", $job_id, $job->getTitle());
392 $cgui->setFormAction($ilCtrl->getFormAction($this,
"confirmed".ucfirst($a_action)));
393 $cgui->setCancel($lng->txt(
"cancel"),
"render");
394 $cgui->setConfirm($lng->txt(
"cron_action_".$a_action),
"confirmed".ucfirst($a_action));
396 $tpl->setContent($cgui->getHTML());
404 foreach(
$data as $item)
407 $item[
"component"], $item[
"class"], $item[
"path"]);
409 if(method_exists($job,
"addToExternalSettingsForm"))
411 $job->addToExternalSettingsForm($a_form_id, $fields, $item[
"job_status"]);
417 return array(
"cron_jobs"=>
array(
"jumpToCronJobs", $fields));
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getJobInstance($a_id, $a_component, $a_class, $a_path=null)
Get job instance (by job data)
This class represents an option in a radio group.
static deactivateJob(ilCronJob $a_job, $a_manual=false)
Deactivate cron job.
const SCHEDULE_TYPE_IN_MINUTES
static activateJob(ilCronJob $a_job, $a_manual=false)
Activate cron job.
static isJobInactive($a_job_id)
Check if given job is currently inactive.
static runJobManual($a_job_id)
Run single job manually.
const SCHEDULE_TYPE_MONTHLY
const SCHEDULE_TYPE_WEEKLY
static resetJob(ilCronJob $a_job)
Reset job.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
addToExternalSettingsForm($a_form_id)
static getCronJobData($a_id=null, $a_include_inactive=true)
Get cron job configuration/execution data.
static getJobInstanceById($a_job_id)
Get job instance (by job id)
static formatDate(ilDateTime $date)
Format a date public.
const SCHEDULE_TYPE_IN_DAYS
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
const SCHEDULE_TYPE_YEARLY
edit(ilPropertyFormGUI $a_form=null)
const SCHEDULE_TYPE_DAILY
const SCHEDULE_TYPE_QUARTERLY
static updateJobSchedule(ilCronJob $a_job, $a_schedule_type, $a_schedule_value)
Update job schedule.
static isJobActive($a_job_id)
Check if given job is currently active.
const SCHEDULE_TYPE_IN_HOURS
List all active cron jobs.
Confirmation screen class.