[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [ocs-webserver/dev] application/modules/default: updated user update workflow
From:       Alexander Schmidt <null () kde ! org>
Date:       2018-09-10 9:06:20
Message-ID: E1fzI9E-0005Fr-Ql () code ! kde ! org
[Download RAW message or body]

Git commit 270f3ec87044d174992777da1d231a798e173445 by Alexander Schmidt.
Committed on 10/09/2018 at 09:06.
Pushed by alexanderschmidt into branch 'dev'.

updated user update workflow

M  +6    -0    application/modules/default/controllers/SettingsController.php
M  +38   -5    application/modules/default/models/Ocs/OpenCode.php

https://commits.kde.org/ocs-webserver/270f3ec87044d174992777da1d231a798e173445

diff --git a/application/modules/default/controllers/SettingsController.php \
b/application/modules/default/controllers/SettingsController.php index \
                5eb58f69..3998d301 100644
--- a/application/modules/default/controllers/SettingsController.php
+++ b/application/modules/default/controllers/SettingsController.php
@@ -1416,6 +1416,12 @@ class SettingsController extends \
Local_Controller_Action_DomainSwitch  } catch (Exception $e) {
                 Zend_Registry::get('logger')->err($e->getMessage() . PHP_EOL . \
$e->getTraceAsString());  }
+            try {
+                $ldap_server = new Default_Model_Ocs_OpenCode();
+                $ldap_server->updateMail($this->_authMember->member_id);
+            } catch (Exception $e) {
+                Zend_Registry::get('logger')->err($e->getMessage() . PHP_EOL . \
$e->getTraceAsString()); +            }
         }
     }
 
diff --git a/application/modules/default/models/Ocs/OpenCode.php \
b/application/modules/default/models/Ocs/OpenCode.php index 49093c03..7a282756 100644
--- a/application/modules/default/models/Ocs/OpenCode.php
+++ b/application/modules/default/models/Ocs/OpenCode.php
@@ -114,9 +114,10 @@ class Default_Model_Ocs_OpenCode
     }
 
     /**
-     * @param string $username
+     * @param string $extern_uid
      *
-     * @return bool
+     * @return array
+     * @throws Default_Model_Ocs_Exception
      * @throws Zend_Exception
      * @throws Zend_Http_Client_Exception
      * @throws Zend_Json_Exception
@@ -136,19 +137,19 @@ class Default_Model_Ocs_OpenCode
         $body = Zend_Json::decode($response->getRawBody());
 
         if (count($body) == 0) {
-            return false;
+            return array();
         }
 
         if (array_key_exists("message", $body)) {
             $result_code = substr(trim($body["message"]), 0, 3);
             if ((int)$result_code >= 300) {
-                throw new Zend_Exception($body["message"]);
+                throw new Default_Model_Ocs_Exception($body["message"]);
             }
         }
 
         Zend_Registry::get('logger')->debug(__METHOD__ . " - body: " . \
$response->getRawBody());  
-        return $body[0]['id'];
+        return $body[0];
     }
 
     /**
@@ -456,6 +457,38 @@ class Default_Model_Ocs_OpenCode
         return false;
     }
 
+    /**
+     * @param $member_id
+     *
+     * @return bool
+     * @throws Default_Model_Ocs_Exception
+     * @throws Zend_Exception
+     * @throws Zend_Http_Client_Exception
+     * @throws Zend_Http_Exception
+     * @throws Zend_Json_Exception
+     */
+    public function updateMail($member_id)
+    {
+        if (empty($member_id)) {
+            throw new Default_Model_Ocs_Exception('given member_id is empty');
+        }
+
+        $member_data = $this->getMemberData($member_id, false);
+        $entry = $this->getUser($member_data['external_id']);
+
+        if (empty($entry)) {
+            $this->messages[] = "Failed. User not found;";
+
+            return false;
+        }
+
+        $entry['skip_reconfirmation'] = 'true';
+        $this->httpUserUpdate($entry, $entry['id']);
+        $this->messages[] = "Success";
+
+        return true;
+    }
+
     /**
      * @param $member_id
      *


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic