$arguments = array( 'old_flags' => array( $school->fid => $old_school_id, $location->fid => $old_location_id), 'new_flags' => array( $school->fid => $new_location_school_id, $location->fid => $new_location_id), 'message' => t('Your accounts location has been updated.'), 'process_message' => t('Notice! Your accounts school has been changed to match the new location. Other available locations for this school are listed below.'), 'submission_path' => 'zsareads/tutor/tutor_action_confirm_submit', 'redirect' => 'tutor/school/' . $new_location_school_id); $this->tutor_action_confirm_form($arguments); function tutor_action_confirm_form($args = array()) { //exit('' . print_r($args, 1) . ''); // Arguments from url/get to post foreach($args as $key => $argument) { if(is_array($argument)) { foreach($argument as $item => $value) { $form['argument'][$key][]= array( '#type' => 'hidden', '#name' => $key . '[' . $item . ']', '#value' => $value ); } } else { $form['argument'][] = array( '#type' => 'hidden', '#name' => '' . $key, '#value' => $argument); } } // Submit $form['submit'] = array( '#type' => 'submit', '#value' => 'Confirm', ); $form_main = drupal_render($form); $variables['element']['#children'] = $form_main; // Action path form $variables['element']['#attributes'] = array( 'method' => 'post', 'action' => url($args['submission_path']) ); //return $form_main; return theme_form($variables); }
Warning! This does not allow the use of hooks in the typical "Drupal Way" of doing things. But it saves you so much headache in the long run.
No comments:
Post a Comment