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

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

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

revision 1.13, Mon Aug 10 01:57:46 2009 UTC revision 1.14, Sun Aug 23 23:06:28 2009 UTC
# Line 1  Line 1 
1  <?php // $Id: admin.inc,v 1.12 2009/08/10 01:09:32 vauxia Exp $  <?php // $Id: admin.inc,v 1.13 2009/08/10 01:57:46 vauxia Exp $
2    
3  /**  /**
4   * @file   * @file
# Line 19  function mlm_admin_list_overview() { Line 19  function mlm_admin_list_overview() {
19    );    );
20    $rows = array();    $rows = array();
21    
22      $info = mlm_backends();
23      $types = mlm_list_types();
24    
25    foreach (mlm_lists(NULL, NULL, NULL, $header, 50) as $mlm) {    foreach (mlm_lists(NULL, NULL, NULL, $header, 50) as $mlm) {
26      $rows[] = array(      $rows[] = array(
27        l($mlm->title(), $mlm->path()),        l($mlm->title(), $mlm->path()),
28        $mlm->backend,        $info[$mlm->backend]['title'],
29        $mlm->list_type,        $types[$mlm->list_type]['title'],
30        array('data' => l($mlm->count(), 'mlm/'. $mlm->lid .'/subscribers'), 'align' => 'right'),        array('data' => l($mlm->count(), 'mlm/'. $mlm->lid .'/subscribers'), 'align' => 'right'),
31        l(t('subscribers'), $mlm->path() .'/subscribers', array('query' => 'destination='. $_GET['q'])) .' '.        l(t('subscribers'), $mlm->path() .'/subscribers', array('query' => 'destination='. $_GET['q'])) .' '.
32        l(t('edit'), $mlm->path() .'/edit', array('query' => 'destination='. $_GET['q'])),        l(t('edit'), $mlm->path() .'/edit', array('query' => 'destination='. $_GET['q'])),
# Line 43  function mlm_admin_list_overview() { Line 46  function mlm_admin_list_overview() {
46   * Administration form for overall MLM features and settings.   * Administration form for overall MLM features and settings.
47   */   */
48  function mlm_admin_settings() {  function mlm_admin_settings() {
   drupal_add_js(drupal_get_path('module', 'mlm') .'/js/mlm-settings.js');  
   
49    $form = array();    $form = array();
50    $form['#validate'][] = '_mlm_admin_settings_validate';    $form['#validate'][] = '_mlm_admin_settings_validate';
51    $form['#submit'][] = '_mlm_admin_settings_submit';    $form['#submit'][] = '_mlm_admin_settings_submit';
52    
53    // And a list of backends.    // And a list of backends.
54    $backends = mlm_backends(FALSE);    $backends = mlm_backends();
55    
56    $form['general'] = array(    $form['general'] = array(
57      '#type' => 'fieldset',      '#type' => 'fieldset',
# Line 60  function mlm_admin_settings() { Line 61  function mlm_admin_settings() {
61    
62    $form['general']['mlm_backends'] = array(    $form['general']['mlm_backends'] = array(
63      '#type' => 'checkboxes',      '#type' => 'checkboxes',
64      '#title' => t('Backends'),      '#title' => t('Enabled backends'),
65      '#options' => $backend_list,      '#options' => $backend_list,
     '#attributes' => array('id' => 'mlm-backends'),  
66    );    );
67    $mlm_backends = variable_get('mlm_backends', array());  
68    foreach ($backends as $backend => $mlm) {    $enabled = array_filter(variable_get('mlm_backends', array()));
69      $form['general']['mlm_backends'][$backend] = array(  
70      foreach ($backends as $name => $info) {
71        $form['general']['mlm_backends'][$name] = array(
72        '#type' => 'checkbox',        '#type' => 'checkbox',
73        '#title' => $mlm->name,        '#title' => $info['title'],
74        '#description' => $mlm->description,        '#description' => $info['description'],
75        '#return_value' => $backend,        '#default_value' => isset($enabled[$name]),
       '#default_value' => isset($mlm_backends[$backend]) && $mlm_backends[$backend],  
76      );      );
77    
78        $mlm = mlm_load($name);
79        if ($settings = $mlm->settings_form()) {
80          $id = 'edit-mlm-backends-'. str_replace('_', '-', $name);
81          $form['settings'][$name] = array_merge($settings, array(
82            '#type' => 'fieldset',
83            '#title' => t('@name settings', array('@name' => $info['title'])),
84            '#attributes' => array('class' => $id),
85          ));
86        }
87    }    }
88    
89    $form['general']['mlm_help'] = array(    $form['general']['mlm_help'] = array(
# Line 83  function mlm_admin_settings() { Line 94  function mlm_admin_settings() {
94    );    );
95    $form['general']['mlm_help_format'] = filter_form(variable_get('mlm_help_format', FILTER_FORMAT_DEFAULT), NULL, array('mlm_help_format'));    $form['general']['mlm_help_format'] = filter_form(variable_get('mlm_help_format', FILTER_FORMAT_DEFAULT), NULL, array('mlm_help_format'));
96    
97    $form['backends'] = array(    foreach ($backends as $name => $info) {
     '#type' => 'fieldset',  
     '#collapsible' => TRUE,  
     '#title' => t('Backend settings'),  
     '#attributes' => array('id' => 'mlm-backend-settings'),  
   );  
   
   foreach ($backends as $name => $mlm) {  
     if ($form['backends'][$name] = $mlm->settings_form()) {  
       $form['backends'][$name]['#type'] = 'fieldset';  
       $form['backends'][$name]['#title'] = $mlm->title();  
       $form['backends'][$name]['#attributes'] = array('id' => 'mlm-backend-'. $name);  
     }  
     else {  
       unset($form['backends'][$name]);  
     }  
98    }    }
99    
100      // Hide the non-pertinent settings forms.
101      $js = 'Drupal.behaviors.mlmSettings = function(context) {
102        $("input[type=checkbox]").change( function() {
103          var settingsForm = $("." + $(this).attr("id"));
104          if ($(this).attr("checked") == 1) settingsForm.show();
105          else settingsForm.hide();
106        });
107        $("input[type=checkbox]").trigger("change");
108      }';
109      drupal_add_js($js, 'inline');
110    
111    return system_settings_form($form);    return system_settings_form($form);
112  }  }
113    

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.2