/[drupal]/contributions/modules/mlm/include/mlm.form.inc
ViewVC logotype

Diff of /contributions/modules/mlm/include/mlm.form.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1, Fri May 15 14:34:32 2009 UTC revision 1.2, Mon Aug 10 01:57:46 2009 UTC
# Line 1  Line 1 
1  <?php // $Id$  <?php // $Id: mlm.form.inc,v 1.1 2009/05/15 14:34:32 vauxia Exp $
2    
3  /**  /**
4   * Page callback to handle user subscription requests for all lists.   * Page callback to handle user subscription requests for all lists.
# Line 33  function mlm_admin_lists($list = NULL, $ Line 33  function mlm_admin_lists($list = NULL, $
33  function mlm_form($form_state, $list = NULL) {  function mlm_form($form_state, $list = NULL) {
34    if (!$list) {    if (!$list) {
35      if (count($backends = mlm_backends()) == 1) {      if (count($backends = mlm_backends()) == 1) {
36        $list = current($backends);        $list = mlm_load(current($backends));
37      }      }
38      elseif (isset($form_state['storage']['set_mlm_list'])) {      elseif (isset($form_state['storage']['set_mlm_list'])) {
39        $list = mlm_load(NULL, $form_state['storage']['set_mlm_list']);        $list = mlm_load($form_state['storage']['set_mlm_list']);
40      }      }
41      else {      else {
42        // List type selection form.        // List type selection form.
43        foreach ($backends as $name => $mlm) {        foreach ($backends as $name => $info) {
44          $options[$name] = $mlm->name;          $options[$name] = $info['title'];
45        }        }
46        $form['set_mlm_list'] = array(        $form['set_mlm_list'] = array(
47          '#type' => 'select',          '#type' => 'select',
# Line 55  function mlm_form($form_state, $list = N Line 55  function mlm_form($form_state, $list = N
55      }      }
56    }    }
57    if ($list) {    if ($list) {
58      $form = $list->_edit_form();      $form = $list->_edit_form($form_state);
     $form['#mlm_id'] = $list->lid;  
     $form['#mlm_backend'] = $list->backend;  
59    
60      $title = $list->lid ? $list->title() : t('Add a list');      $title = $list->lid ? $list->title() : t('Add a list');
61      drupal_set_title($title);      drupal_set_title($title);
# Line 82  function mlm_form($form_state, $list = N Line 80  function mlm_form($form_state, $list = N
80   * Validation handler for list creation.   * Validation handler for list creation.
81   */   */
82  function mlm_form_validate($form, &$form_state) {  function mlm_form_validate($form, &$form_state) {
83    if (isset($form['#mlm_backend'])) {    if (isset($form_state['values']['backend'])) {
84      $mlm = mlm_load($form['#mlm_id'], $form['#mlm_backend'], $form_state['values']);      $mlm = mlm_load($form_state['values']);
85      $mlm->_edit_form_validate($form, $form_state, $form_state['values']);      $mlm->_edit_form_validate($form, $form_state, $form_state['values']);
86    }    }
87  }  }
# Line 99  function mlm_form_submit($form, &$form_s Line 97  function mlm_form_submit($form, &$form_s
97      }      }
98      return;      return;
99    }    }
100    if (isset($form['#mlm_backend'])) {    if (isset($form_state['values']['backend'])) {
101      $mlm = mlm_load($form['#mlm_id'], $form['#mlm_backend'], $form_state['values']);      $mlm = mlm_load($form_state['values']);
102      $mlm->_edit_form_submit($form, $form_state, $form_state['values']);      $mlm->_edit_form_submit($form, $form_state, $form_state['values']);
103      $mlm->_save();      $mlm->_save();
104        unset($form_state['rebuild'], $form_state['storage']);
105      $form_state['redirect'] = $mlm->path();      $form_state['redirect'] = $mlm->path();
106    }    }
107  }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.2