示例#1
0
文件: tab.php 项目: amitjoy/other-php
 /**
  * Create a cronParser and check to see if we need to create new jobs
  *
  * @return void
  */
 function process()
 {
     global $db;
     $cronParser =& new CronParser($this->cronDefinition);
     if ($this->getId() && $cronParser->getLastRanUnix() > $this->getLastActualTimestamp()) {
         if (function_exists('writeLog')) {
             writeLog('creating job because ' . date('d-m-Y H:i', $cronParser->getLastRanUnix()) . ' > ' . date('d-m-Y H:i', $this->getLastActualTimestamp()) . ' (' . $cronParser->getLastRanUnix() . ' > ' . $this->getLastActualTimestamp() . ')');
         }
         $this->lastActualTimestamp = time();
         $sql = 'UPDATE `' . DB_NAME . '`.`' . TABLE_CRONTAB . '` SET `lastActualTimestamp`= ' . $db->Quote($this->lastActualTimestamp) . ' WHERE `id`= ' . $db->Quote($this->getId());
         $db->Execute($sql);
         $job = new CronJob();
         $job->createFromCrontab(&$this);
         $job->update();
     }
     return;
 }
 public function formui_submit(FormUI $form)
 {
     if (isset($form->cron_id)) {
         $cron = CronTab::get_cronjob((int) $form->cron_id->value);
     } else {
         $required = array('cron_name', 'callback', 'description');
         foreach ($required as $req) {
             if (!$form->{$req}->value) {
                 Session::error(_t('%s is a required feild.', array(ucwords($req)), 'crontabmanager'));
                 return;
             }
         }
         $cron = new CronJob();
         //$cron->insert();
     }
     $cron->name = $form->cron_name->value;
     $cron->callback = strpos($form->callback->value, 'a:') === 0 || strpos($form->callback->value, 'O:') === 0 ? unserialize($form->callback->value) : $form->callback->value;
     $cron->increment = $form->increment->value ? $form->increment->value : 86400;
     $cron->next_run = HabariDateTime::date_create(isset($form->next_run) && $form->next_run->value ? $form->next_run->value : HabariDateTime::date_create());
     $cron->start_time = HabariDateTime::date_create($form->start_time->value ? $form->start_time->value : HabariDateTime::date_create());
     $cron->end_time = $form->end_time->value ? HabariDateTime::date_create($form->end_time->value) : null;
     $cron->description = $form->description->value;
     $cron->cron_class = $form->cron_class->value;
     if (intval(Options::get('next_cron')) > $cron->next_run->int) {
         Options::set('next_cron', $cron->next_run->int);
     }
     if ($cron->update()) {
         Session::notice(_t('Cron Job saved.', 'crontabmanager'));
     } else {
         Session::error(_t('Could not save Cron Job.', 'crontabmanager'));
     }
 }