56 if( $_SERVER[
'argc'] > 4 )
58 for($i = 4; $i < $_SERVER[
'argc']; $i++)
60 $arg = $_SERVER[
'argv'][$i];
62 if( !isset($this->possible_tasks[$arg]) )
63 throw new ilException(
'cron-task "'.$arg.
'" is not defined');
65 $task = $this->possible_tasks[$arg];
70 else foreach($this->default_tasks as $task)
72 $task = $this->possible_tasks[$task];
86 $classlocation = $task[
'location'].
'/classes';
87 if( isset($task[
'sub_location']) && strlen($task[
'sub_location']) )
89 $classlocation .=
'/'.$task[
'sub_location'];
91 $classfile .= $classlocation.
'/class.'.$task[
'classname'].
'.php';
93 $classname = $task[
'classname'];
94 $method = $task[
'method'];
96 $condition = $task[
'condition'];
102 if( !file_exists($classfile) )
103 throw new ilException(
'class file "'.$classfile.
'" does not exist');
105 require_once($classfile);
107 if( !class_exists($classname) )
108 throw new ilException(
'class "'.$classname.
'" does not exist');
110 if( !method_exists($classname, $method) )
111 throw new ilException(
'method "'.$classname.
'::'.$method.
'()" does not exist');
120 $ilLog->write(
"CRON - starting task: ".$classname.
"::".$method);
122 $task =
new $classname;
125 $ilLog->write(
"CRON - finished task: ".$classname.
"::".$method);
129 $ilLog->write(
"CRON - task condition failed: ".$classname.
"::".$method);
137 require_once(
'Services/Payment/classes/class.ilUserDefinedInvoiceNumber.php');
139 $this->default_tasks = array(
140 'ilCronValidator::check'
143 $this->possible_tasks = array(
146 'ilCronValidator::check' => array(
147 'classname' =>
'ilCronValidator',
149 'location' =>
'cron',
150 'condition' => ($ilias->getSetting(
'systemcheck_cron') == 1)