| 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. |
| 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', |
| 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); |
| 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 |
} |
} |
| 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 |
} |
} |