Changeset 396 for trunk/expressoAdmin1_2/inc/class.user.inc.php
- Timestamp:
- 08/14/08 11:45:39 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.user.inc.php
r379 r396 1059 1059 } 1060 1060 1061 // Check if the new_uid alrteady is in use. 1062 if ( ! $this->ldap_functions->check_rename_new_uid($params['new_uid']) ) 1063 { 1064 $return['status'] = false; 1065 $return['msg'] = 'Novo login já está em uso.'; 1066 return $return; 1067 } 1068 1061 1069 // Verifica o acesso do gerente 1062 1070 if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'rename_users')) … … 1083 1091 $tmp = split('v2.', $server_resp); 1084 1092 $cyrus_version = '2' . $tmp[1][0]; 1085 //$is_cyrus22 = strpos($server_resp, "v2.2"); 1086 1087 if ($cyrus_version > '21') 1093 1094 if ($cyrus_version < '22') 1088 1095 { 1089 // Seta senha default 1090 $user_password = $this->ldap_functions->set_user_password($uid, $defaultUserPassword); 1091 1092 // Renomeia UID no openldap 1093 $result = $this->ldap_functions->rename_uid($uid, $new_uid); 1094 $new_dn = $result['new_dn']; 1095 if (!$result['status']) 1096 $return['status'] = false; 1097 $return['msg'] = "A renomeação de usuários só permitida com o cyrus versão 2.2 ou superior,"; 1098 $return['msg'] .= "\ne com a opção 'allowusermoves: yes' configurado no imapd.conf."; 1099 return $return; 1100 } 1101 1102 // Renomeia UID no openldap 1103 $result = $this->ldap_functions->rename_uid($uid, $new_uid); 1104 if (!$result['status']) 1105 { 1106 $return['status'] = false; 1107 $return['msg'] = "Erro ao renomear usuário no LDAP. Processo abortado."; 1108 return $return; 1109 } 1110 1111 //Renomeia mailbox 1112 $result = $this->imap_functions->rename_mailbox($uid, $new_uid); 1113 if (!$result['status']) 1114 { 1115 // Back user uid. 1116 $result = $this->ldap_functions->rename_uid($new_uid, $uid); 1117 1118 $return['status'] = false; 1119 $return['msg'] = "Erro ao renomear usuário no Cyrus. Processo abortado."; 1120 return $return; 1121 } 1122 1123 1124 // Seta senha default 1125 $user_password = $this->ldap_functions->set_user_password($new_uid, $defaultUserPassword); 1126 1127 // Renomeia sieve script 1128 include_once('sieve-php.lib.php'); 1129 $sieve=new sieve($sieve_server, $sieve_port, $new_uid, $defaultUserPassword_plain); 1130 1131 if ($sieve->sieve_login()) 1132 { 1133 $sieve->sieve_listscripts(); 1134 $myactivescript=$sieve->response["ACTIVE"]; 1135 $sieve->sieve_getscript($myactivescript); 1136 1137 $script = ''; 1138 if (!empty($sieve->response)) 1139 { 1140 foreach($sieve->response as $result) 1141 { 1142 $script .= $result; 1143 } 1144 } 1145 1146 $scriptname = $new_uid; 1147 if($sieve->sieve_sendscript($new_uid,$script)) 1148 { 1149 if ($sieve->sieve_setactivescript($new_uid)) 1150 { 1151 $sieve->sieve_deletescript($myactivescript); 1152 } 1153 } 1154 else 1096 1155 { 1097 1156 $return['status'] = false; 1098 $return['msg'] .= "\n" . $result['msg']; 1099 $return['msg'] .= "\nErro ao renomear usuário no LDAP. Processo abortado."; 1100 return $return; 1101 } 1102 1103 // Remove old UID do ldap 1104 $user_info_mod_remove['uid'] = $uid; 1105 $this->ldap_functions->remove_user_attributes($new_dn, $user_info_mod_remove); 1106 1107 //Renomeia mailbox 1108 $result = $this->imap_functions->rename_mailbox($uid, $new_uid); 1109 if (!$result['status']) 1110 { 1157 $return['msg'] .= $result['msg'] . "Erro ao renomear script sieve, falha no envio do novo script." . 1158 "\nCaixa postal e login alterados."; 1159 } 1160 $sieve->sieve_logout(); 1161 } 1162 else 1163 { 1111 1164 $return['status'] = false; 1112 $return['msg'] .= "\n" . $result['msg']; 1113 $return['msg'] .= "\nErro ao renomear usuário no Cyrus. Processo abortado."; 1114 } 1115 1116 // Renomeia sieve script 1117 include_once('sieve-php.lib.php'); 1118 $sieve=new sieve($sieve_server, $sieve_port, $new_uid, $defaultUserPassword_plain); 1119 1120 if ($sieve->sieve_login()) 1121 { 1122 $sieve->sieve_listscripts(); 1123 $myactivescript=$sieve->response["ACTIVE"]; 1124 $sieve->sieve_getscript($myactivescript); 1125 1126 $script = ''; 1127 foreach($sieve->response as $result) 1128 { 1129 $script .= $result; 1130 } 1131 1132 $scriptname = $new_uid; 1133 if($sieve->sieve_sendscript($new_uid,$script)) 1134 { 1135 if ($sieve->sieve_setactivescript($new_uid)) 1136 { 1137 $sieve->sieve_deletescript($myactivescript); 1138 } 1139 } 1140 else 1141 { 1142 $return['status'] = false; 1143 $return['msg'] .= $result['msg'] . "\nErro ao renomear script sieve, falha no envio do novo script."; 1144 } 1145 $sieve->sieve_logout(); 1146 } 1147 else 1148 { 1149 $return['status'] = false; 1150 $return['msg'] .= $result['msg'] . "\nErro ao renomear script sieve, falha no Login."; 1151 } 1152 1153 // Retorna senha do usuário 1154 $this->ldap_functions->set_user_password($new_uid, $user_password); 1155 1156 $this->db_functions->write_log("renomeado login do usuario $uid para $new_uid.",'','','',''); 1157 1158 $return['exec_return'] = ""; 1159 } 1160 else 1161 { 1162 $return['status'] = false; 1163 $return['msg'] .= "A renomeação de usuários só permitida com o cyrus versão 2.2 ou superior,"; 1164 $return['msg'] .= "\ne com a opção 'allowusermoves: yes' configurado no imapd.conf."; 1165 } 1165 $return['msg'] .= $result['msg'] . "Erro ao renomear script sieve, falha no Login." . 1166 "\nCaixa postal e login alterados."; 1167 } 1168 1169 // Back user password. 1170 $this->ldap_functions->set_user_password($new_uid, $user_password); 1171 1172 $this->db_functions->write_log("renomeado login do usuario $uid para $new_uid.",'','','',''); 1173 1174 $return['exec_return'] = ""; 1175 1166 1176 return $return; 1167 1177 }
Note: See TracChangeset
for help on using the changeset viewer.