All pastes #74375 Raw Edit

Stuff

public php v1 · immutable
#74375 ·published 2006-06-28 23:03 UTC
rendered paste body
function views_scheduler_schedule_form() {	  // Description section  $form['details'] = array(    '#type' => 'fieldset',    '#title' => t('Schedule Description'),    '#collapsible' => TRUE,    '#collapsed' => FALSE,    '#tree' => TRUE,  );    $form['details']['name'] = array(    '#type' => 'textfield',    '#title' => t('Name'),    '#size' => 30,    '#maxlength' => 64,    '#required' => TRUE,    '#description' => t('Name of the schedule'),  );  $view_name=db_fetch_array(db_query('SELECT name FROM view_view'));  $form['details']['view'] = array(    '#type' => 'select',    '#title' => t('Existing views'),    '#default_value' => NULL,    '#options' => array(    'NULL' => 'Select a View',    $view_name['name'] =>$view_name['name'],      ),    '#description' => t('Select a view to link this schedule to.'),  );    $form['details']['node'] = array(   '#type' => 'textfield',   '#title' => t('No. of node'),   '#default_value' => '0',   '#size' => 2,   '#maxlength' => 3,   '#required' => TRUE,   '#description' => t('Number of nodes to published each time (0 means all)'),  );  //END     // Schedule Timing Details  $form['schedule'] = array(    '#type' => 'fieldset',    '#title' => t('Frequency'),    '#collapsible' => TRUE,    '#collapsed' => FALSE,    '#tree' => TRUE,    '#description' => t('Schedule Frequency'),  );  $form['schedule']['every'] = array(    '#type' => 'textfield',    '#title' => t('Every'),	    '#size' => 5,    '#maxlength' => 3,    //'#required' => TRUE,    '#description' => t('Every'),  );  $form['schedule']['frequency'] = array(    '#type' => 'radios',    '#title' => t('Frequency'),    '#default_value' =>  'manual',    '#options' => array(    'hour' => t('Hour(s)'),     'day' => t('Day(s)'),     'month' => t('Month(s)'),     'manual' => t('Manual Publication')),   );  // END    // First Sending Takes Place.  $form['next'] = array(    '#type' => 'fieldset',    '#collapsible' => TRUE,    '#collapsed' => FALSE,    '#tree' => TRUE,    '#title' => t('Next Send'),    '#description' => t('DateTime to send next publication.'),  );   $form['next']['date'] = array(    '#type' => 'textfield',    '#title' => t('Date'),    '#default_value' => $start_day=date("m/d/y"),    '#size' => 10,    '#maxlength' => 10,    '#required' => TRUE,    '#description' => t('%start_day (mm/dd/yy)', array('%start_day' => $start_day)),  );  $form['next']['hour'] = array(    '#type' => 'select',    '#title' => t('Time'),    '#default_value' => $hour=date("G"),    '#options' => array(    '1' => '1 a.m.',     '2' => '2 a.m.',     '3' => '3 a.m.',     '4' => '4 a.m.',     '5' => '5 a.m.',     '6' => '6 a.m.',     '7' => '7 a.m.',     '8' => '8 a.m.',     '9' => '9 a.m.',     '10' => '10 a.m.',     '11' => '11 a.m.',     '12' => '12 a.m.',     '13' => '1 p.m.',     '14' => '2 p.m.',      '15' => '3 p.m.',      '16' => '4 p.m.',      '17' => '5 p.m.',      '18' => '6 p.m.',      '19' => '7 p.m.',      '20' => '8 p.m.',      '21' => '9 p.m.',      '22' => '10 p.m.',      '23' => '11 p.m.',     '0' => '12 p.m.'),  );  // END  $form['sendtime'] = array('#type' => 'value', '#value' => array());   //Finish off the form	  $form['submit'] = array('#type' => 'submit', '#value' => t('Save Schedule'));  $output = drupal_get_form('view_schedule_form', $form);  // END      return $output;}function view_schedule_form_validate($form_id, $form_values) {  if ($form_values['details']['view'] ==NULL || $form_values['details']['view'] =='NULL') {  	  form_set_error('view', t('Please select a view.'));  }     if (!is_numeric($form_values['details']['node'])) {  	  form_set_error('node', t('Please enter a number of you nodes you would like to be published..'));  }      if (!is_numeric($form_values['schedule']['every'])) {  	  form_set_error('every', t('Please enter a number for every.'));  }   if ($form_values['schedule']['frequency'] == 'manual') {    $form_values['schedule']['every']= 0;   }       // check whether date/time is valid or has already passed   $date_array=getdate(strtotime($form_valuess['next']['date']));    if (checkdate( $date_array['mon'], $date_array['mday'], $date_array['year'] == TRUE )) {       $next_send=mktime($form_values['next']['hour'],0,0,$date_array['mon'], $date_array['mday'], $date_array['year']);               if ($next_send<= time()) {	           form_set_error('next', t('The date/time has already passed ')); 	   } 	 }	   else {		  form_set_error('next', t('The date entered is wrong, Please make sure to enter the date in following format: mm/dd/yy.'));       	    }		     form_set_value($form['sendtime'], $next_send);        //print_r ($form_values);}function view_schedule_form_submit($form_id, $form_values) {  $sendtime = $form_values['sendtime'];	  db_query("INSERT INTO {view_schedules} (vschedule_id , view , node , actions_id)  VALUES (NULL, '%s', '%s', '%d' )", $form_values['details']['view'], $form_values['details']['node'], 4);  $view_schedule_id=db_result(db_query("SELECT LAST_INSERT_ID()"));  	  db_query("INSERT INTO {schedules} (schedule_id, schedule_title, type, publication_id, start, first, next, last, every, frequency)   VALUES (NULL, '%s','%d', '%d', '%d', '%d', '%d', '%d', '%d', '%s')", $form_values['details']['name'], 0,$view_schedule_id, 0, 0, $sendtime, $form_values['schedule']['every'], $form_values['schedule']['frequency']);	  drupal_set_message(t('Your form has been saved.'));}