/[drupal]/contributions/modules/user_import/supported/subscribed.inc
ViewVC logotype

Diff of /contributions/modules/user_import/supported/subscribed.inc

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

revision 1.1.2.4, Sat Mar 21 23:11:50 2009 UTC revision 1.1.2.5, Sun Sep 20 02:02:13 2009 UTC
# Line 70  function subscribed_user_import_form_upd Line 70  function subscribed_user_import_form_upd
70  /**  /**
71   * Implementation of hook_user_import_after_save().   * Implementation of hook_user_import_after_save().
72   */   */
73  function subscribed_user_import_after_save($settings, $account, $password, $fields, $updated) {  function subscribed_user_import_after_save($settings, $account, $password, $fields, $updated, $update_setting_per_module) {
74  /**  
  * @todo change to new update architecture  
  */  
   if (!module_exists('publication') || !module_exists('schedule') || !module_exists('identity_hash') || empty($settings['options']['subscribed'])) return;  
   
   $subscribed_settings = $settings['options']['subscribed'];  
75    $uid = $account->uid;    $uid = $account->uid;
76            $subscribed_settings = $settings['options']['subscribed'];
77    if (is_array($subscribed_settings)) {          $update_setting = $update_setting_per_module['subscribed'];
78    
79      if (!module_exists('publication') || !module_exists('schedule') || !module_exists('identity_hash')) return;
80            if (empty($subscribed_settings) || !is_array($subscribed_settings)) return;
81            if ($updated && $update_setting == UPDATE_NONE) return;
82    
83      foreach($subscribed_settings as $type => $type_subscriptions) {          if ($updated) $subscribed = subscribed_subscriptions_user_all_select_db($uid);
84    
85    
86      foreach($subscribed_settings as $type => $type_subscriptions) {
87    
88        $subscriptions = $type_subscriptions;      $subscriptions = $type_subscriptions;
89    
90                          foreach($type_subscriptions as $publication_id => $schedule) {                  foreach($type_subscriptions as $publication_id => $schedule) {
91                  if (empty($schedule[0])) unset($subscriptions[$publication_id]);  
92                            if (!$updated || ($updated && $update_setting == UPDATE_REPLACE)) {
93                                    if (empty($schedule[0])) unset($subscriptions[$publication_id]);
94                          }                          }
95                            elseif ($updated && $update_setting == UPDATE_ADD) {
96                                    if (empty($subscribed[$type][$publication_id]) && !empty($subscriptions[$publication_id][0])) {
97                                            $update_subscriptions = TRUE;
98                                    }
99                                    else {
100                                            $subscriptions[$publication_id][0] = $subscribed[$type][$publication_id][$schedule[0]]['schedule_id'];
101                                            if (empty($subscribed[$type][$publication_id][$schedule[0]])) unset($subscriptions[$publication_id]);
102                                    }
103                            }
104                    }
105    
106                    $publications = publication_select_publications_and_terms($type);
107    
108                          $publications = publication_select_publications_and_terms($type);                  if (!empty($publications) && !empty($subscriptions)) {
109    
110                            if (!$updated || ($updated && $update_setting == UPDATE_REPLACE) || ($updated && $update_setting == UPDATE_ADD && $update_subscriptions)) {
111    
112                        subscribed_set_subscriptions($type, $uid, $publications, $subscriptions);
113                        subscribed_set_subscriptions_terms($type, $uid, $publications, $subscriptions);
114                        identity_hash_set_hash($uid);
115                            }
116                    }
117      }
118    
       if (!empty($publications) && !empty($subscriptions)) {  
         subscribed_set_subscriptions($type, $uid, $publications, $subscriptions);  
         subscribed_set_subscriptions_terms($type, $uid, $publications, $subscriptions);  
         identity_hash_set_hash($uid);  
       }  
     }  
   }  
119    return;    return;
120  }  }

Legend:
Removed from v.1.1.2.4  
changed lines
  Added in v.1.1.2.5

  ViewVC Help
Powered by ViewVC 1.1.2