Changeset 1391
- Timestamp:
- 12/01/08 17:28:18 (5 weeks ago)
- Location:
- plugins/crontabmanager/trunk
- Files:
-
- 2 modified
-
crontab.php (modified) (4 diffs)
-
crontabmanager.plugin.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
plugins/crontabmanager/trunk/crontab.php
r1389 r1391 1 1 <?php $theme->display('header');?> 2 2 3 <div class="create"> 4 5 <?php echo $form; ?> 6 7 </div> 3 8 4 9 <div id="crontab" class="container settings"> 10 <div style="float:right">Current Time: <?php HabariDateTime::date_create('now')->out(); ?></div> 5 11 <h2>Current Crontab Entries</h2> 6 12 … … 23 29 <ul class="dropbutton"> 24 30 <li><a href="<?php URL::out('admin', array('page'=>'cronjob', 'cron_id'=>$cron->cron_id)); ?>">Edit</a></li> 31 <li><a href="<?php URL::out('admin', array('page'=>'crontab', 'action'=>'run', 'cron_id'=>$cron->cron_id)); ?>">Run Now</a></li> 25 32 <li><a href="<?php URL::out('admin', array('page'=>'crontab', 'action'=>'delete', 'cron_id'=>$cron->cron_id)); ?>">Delete</a></li> 26 33 </ul> … … 35 42 <ul class="description pct50"> 36 43 <li>Runs Every <?php echo $cron->increment; ?> seconds.</li> 37 <li>Last Run: <?php $cron->last_run->out(); ?></li>44 <li>Last Run: <?php echo $cron->last_run ? $cron->last_run->get() : 'Not Run'; ?></li> 38 45 <li>Next Run: <?php $cron->next_run->out(); ?></li> 39 46 <li>Starts On: <?php $cron->start_time->out(); ?></li> … … 42 49 </div> 43 50 44 <?php endforeach; ?>51 <?php endforeach; ?> 45 52 </div> 46 53 -
plugins/crontabmanager/trunk/crontabmanager.plugin.php
r1389 r1391 24 24 $this->add_template('crontab', dirname($this->get_file()) . '/crontab.php'); 25 25 $this->add_template('cronjob', dirname($this->get_file()) . '/cronjob.php'); 26 } 27 28 public function action_admin_theme_post_crontab( AdminHandler $handler, Theme $theme ) 29 { 30 // saving is handled by FormUI 31 $this->action_admin_theme_get_crontab($handler, $theme); 32 $theme->display('crontab'); 33 34 // stoopid. 35 exit; 26 36 } 27 37 … … 47 57 } 48 58 break; 59 case 'run': 60 $cron = CronTab::get_cronjob((int) $handler->handler_vars['cron_id']); 61 $cron->next_run = HabariDateTime::date_create('now'); 62 $cron->update(); 63 Options::set('next_cron', $cron->next_run->int ); 64 Session::notice(_t( 65 'Executing Cron Job "%s"', 66 array($cron->name), 67 'crontabmanager' 68 )); 69 break; 49 70 } 50 71 } 72 73 $form = new FormUI('crontab-new'); 74 $form->set_option( 'form_action', URL::get('admin', 'page=crontab' ) ); 75 $form->class[] = 'form comment'; 76 $tabs = $form->append('tabs', 'publish_controls'); 77 $new = $tabs->append('fieldset', 'settings', _t('Add Cronjob', 'crontabmanage')); 78 79 $name = $new->append('text', 'cron_name', 'null:null', _t('Name', 'crontabmanager'), 'tabcontrol_text'); 80 81 $callback = $new->append('text', 'callback', 'null:null', _t('Callback', 'crontabmanager'), 'tabcontrol_text'); 82 83 $increment = $new->append('text', 'increment', 'null:null', _t('Iterval', 'crontabmanager'), 'tabcontrol_text'); 84 85 $start_time = $new->append('text', 'start_time', 'null:null', _t('Start Time', 'crontabmanager'), 'tabcontrol_text'); 86 87 $end_time = $new->append('text', 'end_time', 'null:null', _t('End Time', 'crontabmanager'), 'tabcontrol_text'); 88 89 $description = $new->append('text', 'description', 'null:null', _t('Description', 'crontabmanager'), 'tabcontrol_text'); 90 91 $cron_class = $new->append('select', 'cron_class', 'null:null', _t('Cron Class', 'crontabmanager'), 'tabcontrol_select'); 92 $cron_class->value = CronJob::CRON_CUSTOM; 93 $cron_class->options = array( 94 CronJob::CRON_SYSTEM => _t('System', 'crontabmanager'), 95 CronJob::CRON_THEME => _t('Theme', 'crontabmanager'), 96 CronJob::CRON_PLUGIN => _t('Plugin', 'crontabmanager'), 97 CronJob::CRON_CUSTOM => _t('Custom', 'crontabmanager'), 98 ); 99 100 $new->append( 'submit', 'save', _t('Save', 'crontabmanager') ); 101 $form->on_success( array($this, 'formui_submit') ); 102 $theme->form = $form->get(); 103 104 51 105 $crons = DB::get_results( 52 106 'SELECT * FROM {crontab}', … … 148 202 public function formui_submit( FormUI $form ) 149 203 { 150 $cron = CronTab::get_cronjob((int) $form->cron_id->value); 204 if( isset($form->cron_id) ) { 205 $cron = CronTab::get_cronjob((int) $form->cron_id->value); 206 } 207 else { 208 $required = array('cron_name', 'callback', 'description'); 209 foreach( $required as $req ) { 210 if( !$form->{$req}->value ) { 211 Session::error(_t('%s is a required feild.', array(ucwords($req)), 'crontabmanager')); 212 return; 213 } 214 } 215 $cron = new CronJob; 216 //$cron->insert(); 217 } 218 151 219 $cron->name = $form->cron_name->value; 152 220 $cron->callback = … … 154 222 ? unserialize($form->callback->value) 155 223 : $form->callback->value; 156 $cron->increment = $form->increment->value; 157 $cron->next_run = HabariDateTime::date_create($form->next_run->value); 158 $cron->start_time = HabariDateTime::date_create($form->start_time->value); 159 $cron->end_time = $form->end_time->value ? HabariDateTime::date_create($form->end_time->value) : null; 160 $cron->description = $form->description->value; 161 $cron->cron_class = $form->cron_class->value; 224 $cron->increment = $form->increment->value ? $form->increment->value : 86400; 225 $cron->next_run = HabariDateTime::date_create((isset($form->next_run) && $form->next_run->value) ? $form->next_run->value : HabariDateTime::date_create()); 226 $cron->start_time = HabariDateTime::date_create($form->start_time->value ? $form->start_time->value : HabariDateTime::date_create()); 227 $cron->end_time = $form->end_time->value ? HabariDateTime::date_create($form->end_time->value) : null; 228 $cron->description = $form->description->value; 229 $cron->cron_class = $form->cron_class->value; 230 231 if ( intval( Options::get('next_cron') ) > $cron->next_run->int ){ 232 Options::set( 'next_cron', $cron->next_run->int ); 233 } 162 234 163 235 if( $cron->update() ) { … … 165 237 } 166 238 else { 167 Session::error( _t('Coul not save Cron Job.', 'crontabmanager') );239 Session::error( _t('Could not save Cron Job.', 'crontabmanager') ); 168 240 } 169 241 }
