Changeset 180 for trunk/expressoAdmin1_2/inc/class.maillist.inc.php
- Timestamp:
- 02/26/08 17:04:07 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.maillist.inc.php
r86 r180 50 50 $return['status'] = true; 51 51 52 //Retira os uids duplicados se existir52 //Retira os mailForwardingAddress duplicados, se existir algum. 53 53 $array_tmp = array(); 54 $array_tmp = array_unique($params['m embers']);55 $params['m embers'] = $array_tmp;54 $array_tmp = array_unique($params['mailForwardingAddress']); 55 $params['mailForwardingAddress'] = $array_tmp; 56 56 57 57 // Leio o ID a ser usado na criação do objecto. … … 67 67 $id = $next_id['id']; 68 68 } 69 // Pega ID do BD e incrementa de 1.70 //$id = (($this->db_functions->get_next_id()) + 1);71 // Incrementa o id no BD.72 //$this->db_functions->increment_id($id,'accounts');73 69 74 70 // Cria array para incluir no LDAP … … 105 101 $maillist_info['phpgwAccountVisible'] = '-1'; 106 102 103 /* 107 104 foreach($params['members'] as $index=>$uidnumber) 108 105 { … … 111 108 $this->db_functions->write_log("Adicionado usuario $mail a lista ".$params['cn']." no momento da criação",$dn,$uidnumber,'',''); 112 109 } 110 */ 111 112 $maillist_info['mailForwardingAddress'] = $params['mailForwardingAddress']; 113 113 114 114 $result = $this->ldap_functions->ldap_add_entry($dn, $maillist_info); … … 119 119 } 120 120 121 /* log */ 121 122 if ($return['status'] == true) 122 123 { 123 124 $this->db_functions->write_log('Criado lista de email','',$dn,'',''); 125 126 foreach($params['mailForwardingAddress'] as $index=>$mail) 127 { 128 $this->db_functions->write_log("Adicionado email $mail a lista ".$params['cn']." no momento da criação",$dn,'','',''); 129 } 124 130 } 125 131 … … 138 144 139 145 $return['status'] = true; 140 141 //Retira os uids duplicados se existir 142 $array_tmp = array(); 143 $array_tmp = array_unique($new_values['members']); 144 $new_values['members'] = $array_tmp; 145 146 146 147 $old_values = $this->get_info($new_values['uidnumber'], $new_values['manager_context']); 147 148 $diff = array_diff($new_values, $old_values); … … 233 234 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 234 235 // USERS 235 236 if (!$new_values['members']) 237 $new_values['members'] = array(); 238 if (!$old_values['members']) 239 $old_values['members'] = array(); 240 241 $add_users = array_diff($new_values['members'], $old_values['members']); 242 $remove_users = array_diff($old_values['members'], $new_values['members']); 236 if (!$new_values['mailForwardingAddress']) 237 $new_values['mailForwardingAddress'] = array(); 238 if (!$old_values['mailForwardingAddress']) 239 $old_values['mailForwardingAddress'] = array(); 240 241 $add_users = array_diff($new_values['mailForwardingAddress'], $old_values['mailForwardingAddress']); 242 $remove_users = array_diff($old_values['mailForwardingAddress'], $new_values['mailForwardingAddress']); 243 244 /* echo '<pre>'; 245 print_r($new_values);*/ 243 246 244 247 if (count($add_users)>0) 245 248 { 246 $array_emails_add = array(); 247 foreach($add_users as $uidnumber) 248 { 249 if ($uidnumber != -1) 249 sort($add_users); 250 $result = $this->ldap_functions->add_user2maillist($new_values['uidnumber'], $add_users); 251 252 /* log */ 253 if (!$result['status']) 254 { 255 $return['status'] = false; 256 $return['msg'] .= $result['msg']; 257 } 258 else 259 { 260 foreach($add_users['mailForwardingAddress'] as $index=>$mail) 250 261 { 251 $mail = $this->ldap_functions->uidnumber2mail($uidnumber); 252 $array_emails_add[] = $mail; 253 $this->db_functions->write_log("Adicionado usuario $mail a lista",$dn,$uidnumber,'',''); 262 $this->db_functions->write_log("Adicionado usuario $mail a lista de email $dn",$dn,'','',''); 254 263 } 255 264 } 256 $this->ldap_functions->add_user2maillist($new_values['uidnumber'], $array_emails_add);257 }265 } 266 258 267 if (count($remove_users)>0) 259 268 { 260 $array_emails_remove = array(); 261 foreach($remove_users as $uidnumber) 262 { 263 if ($uidnumber != -1) 269 sort($remove_users); 270 $result = $this->ldap_functions->remove_user2maillist($new_values['uidnumber'], $remove_users); 271 272 /* log */ 273 if (!$result['status']) 274 { 275 $return['status'] = false; 276 $return['msg'] .= $result['msg']; 277 } 278 else 279 { 280 foreach($remove_users as $index=>$mail) 264 281 { 265 $mail = $this->ldap_functions->uidnumber2mail($uidnumber); 266 267 // Não achei o email do usuário no ldap. 268 if (empty($mail)) 269 $mail = $uidnumber; 270 271 $array_emails_remove[] = $mail; 272 $this->db_functions->write_log("Removido usuario $mail da lista",$dn,$uidnumber,'',''); 282 $this->db_functions->write_log("Removido usuario $mail da lista de email $dn",$dn,'','',''); 273 283 } 274 284 } 275 $this->ldap_functions->remove_user2maillist($new_values['uidnumber'], $array_emails_remove);276 285 } 277 286 … … 431 440 $uidnumber = $params['uidnumber']; 432 441 $uid = $this->ldap_functions->uidnumber2uid($uidnumber); 442 $mail = $this->ldap_functions->uidnumber2mail($uidnumber); 433 443 434 444 //LDAP 435 $result_ldap = $this->ldap_functions->delete_maillist($uidnumber );445 $result_ldap = $this->ldap_functions->delete_maillist($uidnumber, $mail); 436 446 if (!$result_ldap['status']) 437 447 {
Note: See TracChangeset
for help on using the changeset viewer.