Ver código fonte

not using cusomfields password for password change

andre 5 anos atrás
pai
commit
6edccf99a0
2 arquivos alterados com 12 adições e 40 exclusões
  1. 11 10
      zimbraSingle.inc
  2. 1 30
      zimbraSingle.php

+ 11 - 10
zimbraSingle.inc

@@ -266,18 +266,19 @@ function zimbraSingleDeleteAccount($userData)
     return 'success';
 }
 
-function zimbraSingleChangePassword($userData, $encrypted) {
+function zimbraSingleChangePassword($params) {
     $accessData = zimbraSingleGetAccess();
-    if($encrypted == 'yes') {
-        $passDecrypt = localAPI('DecryptPassword', array('password2' => $userData['password']));
-            if ($passDecrypt['result'] == 'success') {
-            $userData['password'] = $passDecrypt['password'];
-        }
-    }
-    if ($checkPW = zimbraSingleCheckPassword($userData['password'])) {
+    if ($checkPW = zimbraSingleCheckPassword($params['password'])) {
         return $checkPW;
     }
-    $account_name = $userData['username'] . '@' . $userData['maildomain'];
+    $account_name = $params['customfields']['username'] . '@' . $params['customfields']['maildomain'];
+    logModuleCall(
+        'zimbrasingle',
+        __FUNCTION__,
+        $account_name,
+        "Debug",
+        $params['password']
+    );
     $api = new Zm_Auth($accessData['zimbraServer'], $accessData['adminUser'], $accessData['adminPass'], "admin");
     $login = $api->login();
     if(is_a($login, "Exception")) {
@@ -291,7 +292,7 @@ function zimbraSingleChangePassword($userData, $encrypted) {
         return false;
     }
     $apiAccountManager = new Zm_Account($api);
-    $response = $apiAccountManager->setAccountPassword($account_name, $userData['password']);
+    $response = $apiAccountManager->setAccountPassword($account_name, $params['password']);
     if(is_a($response, "Exception")) {
         logModuleCall(
             'zimbrasingle',

+ 1 - 30
zimbraSingle.php

@@ -51,36 +51,7 @@ function zimbraSingle_ClientArea($params)
 
 function zimbraSingle_ChangePassword($params)
 {
-    if (defined('CLIENTAREA')) {
-        $params['customfields']['password'] = $params['password'];
-        $params['customfields']['pwrepeat'] = $params['password'];
-        $customFieldIDsCol = Capsule::table('tblcustomfields')
-            ->select('id')
-            ->where('relid', '=', $params['pid'])
-            ->where('fieldtype', '=', 'password')
-            ->get();
-        $customFieldIDsObj = $customFieldIDsCol->toArray();
-        foreach ($customFieldIDsObj as $value) 
-            $customFieldIDs[] = $value->id;
-        $customfields = array(
-            $customFieldIDs[0] => $params['password'],
-            $customFieldIDs[1] => $params['password']
-        );
-        $postData = array(
-            'serviceid' => $params['serviceid'],
-            'customfields' => base64_encode(serialize($customfields)),
-        );
-        $results = localAPI('UpdateClientProduct', $postData);
-        logModuleCall(
-            'zimbrasingle',
-            __FUNCTION__,
-            $results,
-            "Debug",
-            "blubb"
-        );
-        $response = zimbraSingleChangePassword($params['customfields'], 'no');
-    } else {
-        $response = zimbraSingleChangePassword($params['customfields'], 'yes');
+    $response = zimbraSingleChangePassword($params);
     }
     if($response == 'success') {
         return 'success';