Seditio Source
Root |
./othercms/b2evolution_7.2.3/inc/cron/views/_cronjob.form.php
<?php
/**
 * This file implements the UI view for the cron job form.
 *
 * This file is part of the evoCore framework - {@link http://evocore.net/}
 * See also {@link https://github.com/b2evolution/b2evolution}.
 *
 * @license GNU GPL v2 - {@link http://b2evolution.net/about/gnu-gpl-license}
 *
 * @copyright (c)2003-2020 by Francois Planque - {@link http://fplanque.com/}
 *
 * @package admin
 */
if( !defined('EVO_MAIN_INIT') ) die( 'Please, do not access this page directly.' );

global
$localtimenow, $edited_Cronjob;

// Determine if we are creating or updating...
global $action;
$creating = is_create_action( $action );

$Form = new Form( NULL, 'cronjob' );

$Form->global_icon( TB_('Cancel').'!', 'close', regenerate_url( 'action' ) );

$Form->begin_form( 'fform', $creating ? TB_('New scheduled job') : TB_('Edit scheduled job') );

   
$Form->add_crumb( 'crontask' );
   
$Form->hiddens_by_key( get_memorized( 'action' ) );
   
$Form->hidden( 'action', $creating ? 'create' : 'update' );

   
$Form->begin_fieldset( TB_('Job details').get_manual_link('scheduled-job-form') );

        if(
$creating && $action != 'copy' )
        {
// New cronjob
           
$cron_jobs_names = get_cron_jobs_config( 'name' );
           
// Exclude these cron jobs from manual creating
           
unset( $cron_jobs_names['send-post-notifications'] );
            unset(
$cron_jobs_names['send-comment-notifications'] );
            unset(
$cron_jobs_names['send-email-campaign'] );
           
$Form->select_input_array( 'cjob_type', get_param( 'cjob_type' ), $cron_jobs_names, TB_('Job type') );
        }
        else
        {
// Edit cronjob
           
if( $action == 'edit' )
            {
               
$Form->info( TB_('Job #'), $edited_Cronjob->ID );
            }

           
$Form->info( TB_('Default job name'), cron_job_name( $edited_Cronjob->key, '', $edited_Cronjob->params ) );

           
$Form->text_input( 'cjob_name', $edited_Cronjob->name, 50, TB_('Job name'), '', array( 'maxlength' => 255 ) );
        }

       
$Form->begin_line( TB_('Schedule date'), 'cjob_date', '', array( 'required' => true ) );

           
$Form->date_input( 'cjob_date', date2mysql( $edited_Cronjob->start_timestamp ), '', array( 'required' => true ) );

            echo
' '.TB_('at').' ';

           
$Form->time_input( 'cjob_time', date2mysql( $edited_Cronjob->start_timestamp ), '', array( 'required' => true ) );

       
$Form->end_line();

       
$Form->begin_line( TB_('Repeat every') );
           
$Form->duration_input( 'cjob_repeat_after', $edited_Cronjob->repeat_after, '', 'days', 'minutes', array( 'minutes_step' => 1 ) );

            if(
$edited_Cronjob->key == 'poll-antispam-blacklist' )
            {
// Don't allow to edit this param for cron job "Poll the antispam blacklist"
               
$Form->info( TB_('+/- variation of:'), TB_('Auto') );
            }
            else
            {
               
$Form->duration_input( 'cjob_repeat_variation', $edited_Cronjob->repeat_variation, TB_('+/- variation of:'), 'days', 'minutes', array( 'minutes_step' => 1 ) );
            }
       
$Form->end_line();

   
$Form->end_fieldset();

    if( !
$creating )
    {    
// We can edit only pending cron jobs, Show this field just for info
       
$Form->begin_fieldset( TB_('Execution details').get_manual_link('scheduled-job-execution-details') );

           
$Form->info( TB_('Status'), 'pending' );

       
$Form->end_fieldset();
    }

$Form->end_form( array( array( 'submit', 'submit', $creating ? TB_('Create') : TB_('Save Changes!'), 'SaveButton' ) ) );

?>