ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilCronManagerGUI Class Reference

Class ilCronManagerGUI. More...

+ Collaboration diagram for ilCronManagerGUI:

Public Member Functions

 executeCommand ()
 
 render ()
 
 edit (ilPropertyFormGUI $a_form=null)
 
 initEditForm ($a_job_id)
 
 update ()
 
 run ()
 
 confirmedRun ()
 
 activate ()
 
 confirmedActivate ()
 
 deactivate ()
 
 confirmedDeactivate ()
 
 reset ()
 
 confirmedReset ()
 
 addToExternalSettingsForm ($a_form_id)
 

Protected Member Functions

 getMultiActionData ()
 

Detailed Description

Class ilCronManagerGUI.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Id
class.ilObjFolderGUI.php 25134 2010-08-13 14:22:11Z smeyer

@ilCtrl_Calls ilCronManagerGUI:

Definition at line 16 of file class.ilCronManagerGUI.php.

Member Function Documentation

◆ activate()

ilCronManagerGUI::activate ( )

Definition at line 231 of file class.ilCronManagerGUI.php.

232 {
233 $this->confirm("activate");
234 }

◆ addToExternalSettingsForm()

ilCronManagerGUI::addToExternalSettingsForm (   $a_form_id)

Definition at line 398 of file class.ilCronManagerGUI.php.

399 {
400 $fields = array();
401
403 foreach($data as $item)
404 {
405 $job = ilCronManager::getJobInstance($item["job_id"],
406 $item["component"], $item["class"], $item["path"]);
407
408 if(method_exists($job, "addToExternalSettingsForm"))
409 {
410 $job->addToExternalSettingsForm($a_form_id, $fields, $item["job_status"]);
411 }
412 }
413
414 if(sizeof($fields))
415 {
416 return array("cron_jobs"=>array("jumpToCronJobs", $fields));
417 }
418 }
static getCronJobData($a_id=null, $a_include_inactive=true)
Get cron job configuration/execution data.
static getJobInstance($a_id, $a_component, $a_class, $a_path=null)
Get job instance (by job data)
$data

References $data, ilCronManager\getCronJobData(), and ilCronManager\getJobInstance().

+ Here is the call graph for this function:

◆ confirmedActivate()

ilCronManagerGUI::confirmedActivate ( )

Definition at line 236 of file class.ilCronManagerGUI.php.

237 {
238 global $ilCtrl, $lng;
239
240 $jobs = $this->getMultiActionData();
241 if($jobs)
242 {
243 foreach($jobs as $job)
244 {
245 if(ilCronManager::isJobInactive($job->getId()))
246 {
248 ilCronManager::activateJob($job, true);
249 }
250 }
251
252 ilUtil::sendSuccess($lng->txt("cron_action_activate_success"), true);
253 }
254
255 $ilCtrl->redirect($this, "render");
256 }
static isJobInactive($a_job_id)
Check if given job is currently inactive.
static activateJob(ilCronJob $a_job, $a_manual=false)
Activate cron job.
static resetJob(ilCronJob $a_job)
Reset job.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40

References $ilCtrl, $lng, ilCronManager\activateJob(), getMultiActionData(), ilCronManager\isJobInactive(), ilCronManager\resetJob(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ confirmedDeactivate()

ilCronManagerGUI::confirmedDeactivate ( )

Definition at line 263 of file class.ilCronManagerGUI.php.

264 {
265 global $ilCtrl, $lng;
266
267 $jobs = $this->getMultiActionData();
268 if($jobs)
269 {
270 foreach($jobs as $job)
271 {
272 if(ilCronManager::isJobActive($job->getId()))
273 {
274 ilCronManager::deactivateJob($job, true);
275 }
276 }
277
278 ilUtil::sendSuccess($lng->txt("cron_action_deactivate_success"), true);
279 }
280
281 $ilCtrl->redirect($this, "render");
282 }
static isJobActive($a_job_id)
Check if given job is currently active.
static deactivateJob(ilCronJob $a_job, $a_manual=false)
Deactivate cron job.

References $ilCtrl, $lng, ilCronManager\deactivateJob(), getMultiActionData(), ilCronManager\isJobActive(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ confirmedReset()

ilCronManagerGUI::confirmedReset ( )

Definition at line 289 of file class.ilCronManagerGUI.php.

290 {
291 global $ilCtrl, $lng;
292
293 $job_id = $_GET["jid"];
294 if($job_id)
295 {
296 $job = ilCronManager::getJobInstanceById($job_id);
297 if($job)
298 {
300
301 ilUtil::sendSuccess($lng->txt("cron_action_reset_success"), true);
302 }
303 }
304
305 $ilCtrl->redirect($this, "render");
306 }
$_GET["client_id"]
static getJobInstanceById($a_job_id)
Get job instance (by job id)

References $_GET, $ilCtrl, $lng, ilCronManager\getJobInstanceById(), ilCronManager\resetJob(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ confirmedRun()

ilCronManagerGUI::confirmedRun ( )

Definition at line 211 of file class.ilCronManagerGUI.php.

212 {
213 global $ilCtrl, $lng;
214
215 $job_id = $_GET["jid"];
216 if($job_id)
217 {
218 if(ilCronManager::runJobManual($job_id))
219 {
220 ilUtil::sendSuccess($lng->txt("cron_action_run_success"), true);
221 }
222 else
223 {
224 ilUtil::sendFailure($lng->txt("cron_action_run_fail"), true);
225 }
226 }
227
228 $ilCtrl->redirect($this, "render");
229 }
static runJobManual($a_job_id)
Run single job manually.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

References $_GET, $ilCtrl, $lng, ilCronManager\runJobManual(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ deactivate()

ilCronManagerGUI::deactivate ( )

Definition at line 258 of file class.ilCronManagerGUI.php.

259 {
260 $this->confirm("deactivate");
261 }

◆ edit()

ilCronManagerGUI::edit ( ilPropertyFormGUI  $a_form = null)

Definition at line 49 of file class.ilCronManagerGUI.php.

50 {
51 global $ilCtrl, $tpl;
52
53 $id = $_REQUEST["jid"];
54 if(!$id)
55 {
56 $ilCtrl->redirect($this, "render");
57 }
58
59 if(!$a_form)
60 {
61 $a_form = $this->initEditForm($id);
62 }
63
64 $tpl->setContent($a_form->getHTML());
65 }
global $tpl
Definition: ilias.php:8
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7

References $_REQUEST, $ilCtrl, $tpl, and initEditForm().

Referenced by update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilCronManagerGUI::executeCommand ( )

Definition at line 18 of file class.ilCronManagerGUI.php.

19 {
20 global $ilCtrl, $lng;
21
22 $lng->loadLanguageModule("cron");
23
24 $cmd = $ilCtrl->getCmd("render");
25 $this->$cmd();
26
27 return true;
28 }
$cmd
Definition: sahs_server.php:35

References $cmd, $ilCtrl, and $lng.

◆ getMultiActionData()

ilCronManagerGUI::getMultiActionData ( )
protected

Definition at line 308 of file class.ilCronManagerGUI.php.

309 {
310 $res = array();
311
312 if($_REQUEST["jid"])
313 {
314 $job_id = trim($_REQUEST["jid"]);
315 $job = ilCronManager::getJobInstanceById($job_id);
316 if($job)
317 {
318 $res[$job_id] = $job;
319 }
320 }
321 else if(is_array($_REQUEST["mjid"]))
322 {
323 foreach($_REQUEST["mjid"] as $job_id)
324 {
325 $job = ilCronManager::getJobInstanceById($job_id);
326 if($job)
327 {
328 $res[$job_id] = $job;
329 }
330 }
331 }
332
333 return $res;
334 }

References $_REQUEST, $res, and ilCronManager\getJobInstanceById().

Referenced by confirmedActivate(), and confirmedDeactivate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initEditForm()

ilCronManagerGUI::initEditForm (   $a_job_id)

Definition at line 67 of file class.ilCronManagerGUI.php.

68 {
69 global $ilCtrl, $lng;
70
71 $job = ilCronManager::getJobInstanceById($a_job_id);
72 if(!$job)
73 {
74 $ilCtrl->redirect($this, "render");
75 }
76
77 $ilCtrl->setParameter($this, "jid", $a_job_id);
78
79 $data = array_pop(ilCronManager::getCronJobData($job->getId()));
80
81 include_once("Services/Cron/classes/class.ilCronJob.php");
82 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
83 $form = new ilPropertyFormGUI();
84 $form->setFormAction($ilCtrl->getFormAction($this, "update"));
85 $form->setTitle($lng->txt("cron_action_edit").': "'.$job->getTitle().'"');
86
87 if($job->hasFlexibleSchedule())
88 {
89 $type = new ilRadioGroupInputGUI($lng->txt("cron_schedule_type"), "type");
90 $type->setRequired(true);
91 $type->setValue($data["schedule_type"]);
92 $type->addOption(new ilRadioOption($lng->txt("cron_schedule_daily"), ilCronJob::SCHEDULE_TYPE_DAILY));
93 $type->addOption(new ilRadioOption($lng->txt("cron_schedule_weekly"), ilCronJob::SCHEDULE_TYPE_WEEKLY));
94 $type->addOption(new ilRadioOption($lng->txt("cron_schedule_monthly"), ilCronJob::SCHEDULE_TYPE_MONTHLY));
95 $type->addOption(new ilRadioOption($lng->txt("cron_schedule_quarterly"), ilCronJob::SCHEDULE_TYPE_QUARTERLY));
96 $type->addOption(new ilRadioOption($lng->txt("cron_schedule_yearly"), ilCronJob::SCHEDULE_TYPE_YEARLY));
97
98 $min = new ilRadioOption(sprintf($lng->txt("cron_schedule_in_minutes"), "x"),
100 $mini = new ilNumberInputGUI($lng->txt("cron_schedule_value"), "smini");
101 $mini->setRequired(true);
102 $mini->setSize(5);
103 if($data["schedule_type"] == ilCronJob::SCHEDULE_TYPE_IN_MINUTES)
104 {
105 $mini->setValue($data["schedule_value"]);
106 }
107 $min->addSubItem($mini);
108 $type->addOption($min);
109
110 $hr = new ilRadioOption(sprintf($lng->txt("cron_schedule_in_hours"), "x"),
112 $hri = new ilNumberInputGUI($lng->txt("cron_schedule_value"), "shri");
113 $hri->setRequired(true);
114 $hri->setSize(5);
115 if($data["schedule_type"] == ilCronJob::SCHEDULE_TYPE_IN_HOURS)
116 {
117 $hri->setValue($data["schedule_value"]);
118 }
119 $hr->addSubItem($hri);
120 $type->addOption($hr);
121
122 $dy = new ilRadioOption(sprintf($lng->txt("cron_schedule_in_days"), "x"),
124 $dyi = new ilNumberInputGUI($lng->txt("cron_schedule_value"), "sdyi");
125 $dyi->setRequired(true);
126 $dyi->setSize(5);
127 if($data["schedule_type"] == ilCronJob::SCHEDULE_TYPE_IN_DAYS)
128 {
129 $dyi->setValue($data["schedule_value"]);
130 }
131 $dy->addSubItem($dyi);
132 $type->addOption($dy);
133
134 $form->addItem($type);
135 }
136
137 if($job->hasCustomSettings())
138 {
139 $job->addCustomSettingsToForm($form);
140 }
141
142 $form->addCommandButton("update", $lng->txt("save"));
143 $form->addCommandButton("render", $lng->txt("cancel"));
144
145 return $form;
146 }
const SCHEDULE_TYPE_IN_DAYS
const SCHEDULE_TYPE_IN_HOURS
const SCHEDULE_TYPE_IN_MINUTES
const SCHEDULE_TYPE_WEEKLY
const SCHEDULE_TYPE_YEARLY
const SCHEDULE_TYPE_DAILY
const SCHEDULE_TYPE_QUARTERLY
const SCHEDULE_TYPE_MONTHLY
This class represents a number property in a property form.
This class represents a property form user interface.
This class represents a property in a property form.
This class represents an option in a radio group.

References $data, $ilCtrl, $lng, ilCronManager\getCronJobData(), ilCronManager\getJobInstanceById(), ilCronJob\SCHEDULE_TYPE_DAILY, ilCronJob\SCHEDULE_TYPE_IN_DAYS, ilCronJob\SCHEDULE_TYPE_IN_HOURS, ilCronJob\SCHEDULE_TYPE_IN_MINUTES, ilCronJob\SCHEDULE_TYPE_MONTHLY, ilCronJob\SCHEDULE_TYPE_QUARTERLY, ilCronJob\SCHEDULE_TYPE_WEEKLY, and ilCronJob\SCHEDULE_TYPE_YEARLY.

Referenced by edit(), and update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ render()

ilCronManagerGUI::render ( )

Definition at line 30 of file class.ilCronManagerGUI.php.

31 {
32 global $tpl, $ilSetting, $lng;
33
34 if($ilSetting->get('last_cronjob_start_ts'))
35 {
36 $tstamp = ilDatePresentation::formatDate(new ilDateTime($ilSetting->get('last_cronjob_start_ts'), IL_CAL_UNIX));
37 }
38 else
39 {
40 $tstamp = $lng->txt('cronjob_last_start_unknown');
41 }
42 ilUtil::sendInfo($lng->txt('cronjob_last_start').": ".$tstamp);
43
44 include_once "Services/Cron/classes/class.ilCronManagerTableGUI.php";
45 $tbl = new ilCronManagerTableGUI($this, "render");
46 $tpl->setContent($tbl->getHTML());
47 }
const IL_CAL_UNIX
List all active cron jobs.
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$tbl
Definition: example_048.php:81
global $ilSetting
Definition: privfeed.php:40

References $ilSetting, $lng, $tbl, $tpl, ilDatePresentation\formatDate(), IL_CAL_UNIX, and ilUtil\sendInfo().

+ Here is the call graph for this function:

◆ reset()

ilCronManagerGUI::reset ( )

Definition at line 284 of file class.ilCronManagerGUI.php.

285 {
286 $this->confirm("reset");
287 }

◆ run()

ilCronManagerGUI::run ( )

Definition at line 206 of file class.ilCronManagerGUI.php.

207 {
208 $this->confirm("run");
209 }

◆ update()

ilCronManagerGUI::update ( )

Definition at line 148 of file class.ilCronManagerGUI.php.

149 {
150 global $ilCtrl, $lng;
151
152 $id = $_REQUEST["jid"];
153 if(!$id)
154 {
155 $ilCtrl->redirect($this, "render");
156 }
157
158 $form = $this->initEditForm($id);
159 if($form->checkInput())
160 {
162 if($job)
163 {
164 $valid = true;
165 if($job->hasCustomSettings() &&
166 !$job->saveCustomSettings($form))
167 {
168 $valid = false;
169 }
170
171 if($valid && $job->hasFlexibleSchedule())
172 {
173 $type = $form->getInput("type");
174 switch($type)
175 {
177 $value = $form->getInput("smini");
178 break;
179
181 $value = $form->getInput("shri");
182 break;
183
185 $value = $form->getInput("sdyi");
186 break;
187
188 default:
189 $value = null;
190 }
191
192 ilCronManager::updateJobSchedule($job, $type, $value);
193 }
194 if($valid)
195 {
196 ilUtil::sendSuccess($lng->txt("cron_action_edit_success"), true);
197 $ilCtrl->redirect($this, "render");
198 }
199 }
200 }
201
202 $form->setValuesByPost();
203 $this->edit($form);
204 }
edit(ilPropertyFormGUI $a_form=null)
static updateJobSchedule(ilCronJob $a_job, $a_schedule_type, $a_schedule_value)
Update job schedule.
$valid

References $_REQUEST, $ilCtrl, $lng, $valid, edit(), ilCronManager\getJobInstanceById(), initEditForm(), ilCronJob\SCHEDULE_TYPE_IN_DAYS, ilCronJob\SCHEDULE_TYPE_IN_HOURS, ilCronJob\SCHEDULE_TYPE_IN_MINUTES, ilUtil\sendSuccess(), and ilCronManager\updateJobSchedule().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: