/[drupal]/contributions/modules/send/send.module
ViewVC logotype

Diff of /contributions/modules/send/send.module

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

revision 1.50, Fri Aug 7 01:00:03 2009 UTC revision 1.51, Wed Aug 26 01:18:13 2009 UTC
# Line 87  function send_perm() { Line 87  function send_perm() {
87   * This permits us to build, validate and render a variety of send forms.   * This permits us to build, validate and render a variety of send forms.
88   */   */
89  function send_elements() {  function send_elements() {
   // Common settings for all elements. They'll be expanded individually later.  
   $defaults = array(  
     '#input' => TRUE,  
     '#process' => array('send_process'),  
     '#theme' => 'send_element',  
     '#tree' => TRUE,  
     //'#after_build' => array('send_set_value'),  
   );  
   
90    return array(    return array(
91      'send' => array(      'send' => array(
92        '#input' => TRUE,        '#input' => TRUE,
93        '#tree' => TRUE,        '#tree' => TRUE,
94        '#process' => array('send_process'),        '#process' => array('send_process'),
       // TODO will validate/submit work here?  
95       ),       ),
96      'send_contact' => $defaults,      'send_contact' => send_element_defaults(),
97      'send_user' => $defaults,      'send_user' => send_element_defaults(),
98      'send_multiple' => $defaults,      'send_multiple' => send_element_defaults(),
99      'send_message' => $defaults,      'send_message_edit' => send_element_defaults(),
100        'send_message_compose' => send_element_defaults(),
101    );    );
102  }  }
103    
104  /**  /**
105     * API Function: Common defaults for any element that appears on a send form.
106     */
107    function send_element_defaults() {
108      return array(
109        '#input' => TRUE,
110        '#process' => array('send_process'),
111        '#theme' => 'send_element',
112        '#tree' => TRUE,
113      );
114    }
115    
116    /**
117   * A #process callback for send_form elements.   * A #process callback for send_form elements.
118   * Responsible for loading the required files and building out the form.   * Responsible for loading the required files and building out the form.
119   */   */
120  function send_process($element, $edit, &$form_state, $complete_form) {  function send_process($element, $edit, &$form_state, $complete_form) {
121    module_load_include('inc', 'send', 'includes/send.form');    module_load_include('inc', 'send', 'includes/send.form');
122    if (function_exists($func = $element['#type'] .'_element_process')) {    if (function_exists($func = $element['#type'] .'_element_process')) {
     //return $func($element, $edit, $form_state, $complete_form);  
123      $element = $func($element, $edit, $form_state, $complete_form);      $element = $func($element, $edit, $form_state, $complete_form);
124    }    }
125  // TODO copied from send_set_value. REMOVE?    unset($element['#required']);
   if (function_exists($func = $element['#type'] .'_element_set_value')) {  
     //$element = $func($element, $form_state);  
     //form_set_value($element, $element['#value'], $form_state);  
   }  
   return $element;  
 }  
   
 /**  
  * An #after_build callback for send_form elements.  
  * Responsible for setting values  
  */  
 function send_set_value(&$element, $form_state) {  
   return $element; //TODO  
 return;  
   module_load_include('inc', 'send', 'includes/send.form');  
   if (function_exists($func = $element['#type'] .'_element_set_value')) {  
     //return $func($element, $form_state);  
     $func($element, $form_state);  
     form_set_value($element, $element['#value'], $form_state);  
   }  
126    return $element;    return $element;
127  }  }
128    
# Line 151  function send_user($op, &$edit, &$user) Line 133  function send_user($op, &$edit, &$user)
133    switch ($op) {    switch ($op) {
134    
135      case 'insert' :      case 'insert' :
136        //if user has been a recipient before, note their uid        // If user has been a sender or recipient, update their uid.
137        if (!$user->mail) return;        if (!$user->mail) return;
138        db_query("UPDATE {send_contact} SET uid = %d WHERE mail = '%s'", $user->uid, $user->mail);        db_query("UPDATE {send_contact}
139            SET uid = %d WHERE mail = '%s'", $user->uid, $user->mail);
140        return;        return;
141    
142      case 'delete':      case 'delete':
143        // no orphan uids        // Set send_contact entries to anonymous.
144        db_query("UPDATE {send} SET uid = 0 WHERE uid = %d", $user->uid);        db_query("UPDATE {send_contact} SET uid = 0 WHERE uid = %d", $user->uid);
       db_query("UPDATE {send_recipient} SET rid = 0 WHERE rid = %d AND rtype='user'", $user->uid);  
145        return;        return;
146    }    }
147  }  }
# Line 243  function send_templates($profile = NULL, Line 225  function send_templates($profile = NULL,
225  }  }
226    
227  /**  /**
  * An API function returning a list of node build_modes.  
  */  
 function send_build_modes() {  
   static $build_modes;  
   if (!isset($build_modes)) {  
     $build_modes = array();  
   
     // CCK is installed, use its hooks.  
     if (function_exists('content_build_modes')) {  
       foreach (content_build_modes() as $name => $info) {  
         $build_modes[$name] = $info['title'];  
       }  
     }  
   
     // Set generic defaults.  
     else {  
       $build_modes['teaser'] = t('Teaser');  
       $build_modes['full'] = t('Full node');  
     }  
   }  
   return $build_modes;  
 }  
   
 /**  
228   * Implementation of hook_views_api().   * Implementation of hook_views_api().
229   */   */
230  function send_views_api() {  function send_views_api() {

Legend:
Removed from v.1.50  
changed lines
  Added in v.1.51

  ViewVC Help
Powered by ViewVC 1.1.2