rendered paste bodyfunction 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.'));}