UPDATED from earlier:
I am using a simple Drupal form that collect user info before allowing the user access to donwloadable content. NOTE: This is using the form API and I am no longer using a modal; just using a regular page created by a hook. Here is the scenario:
<?php function my_form_menu() { $items = array(); $items['form/userinfo'] = array( //this creates a URL that will call this form 'title' => 'Download Form', //page title 'description' => 'A form that gathers user infomation', 'page callback' => 'drupal_get_form', //this is the function that will be called w hen the page is accessed. for a form, use drupal_get_form 'page arguments' => array('my_form'), //name of the form 'access callback' => TRUE ); return $items; } function my_form() { if (!empty($_COOKIE['Drupal_visitor_downloadbypass'])) { drupal_goto('this is where the pdf file will go'); // rest of the page will not execute because drupal_goto ends the request. } $form['name']['first'] = array( '#type' => 'textfield', '#title' => t('First name'), '#required' => TRUE, ); $form['name']['last'] = array( '#type' => 'textfield', '#title' => t('Last name'), '#required' => TRUE, ); $form['name']['title'] = array( '#type' => 'textfield', '#title' => t('title'), '#required' => TRUE, ); $form['submit'] = array( '#type' => 'submit', '#value' => 'Submit', ); return $form; } function my_form_submit($form, &$form_state) { // $form_state['values']['example'] contains the submitted value of 'example' element. user_cookie_save(array('downloadbypass' => 1)); $form_state['redirect'] = 'this is where the pdf file will go'; }
So here is my question: Now my form page is not showing up and I didnt change the hook except for the form name argument. The form will need to redirect back to the previous page and open the file in a new window upon submission.
Thanks!
phi