فهرست منبع

Fix issue with wSSessionGetDetailByUser() web service not receiving user_field name - refs BT#9092

Yannick Warnier 10 سال پیش
والد
کامیت
f951c79210
1فایلهای تغییر یافته به همراه5 افزوده شده و 4 حذف شده
  1. 5 4
      plugin/advanced_subscription/src/HookAdvancedSubscription.php

+ 5 - 4
plugin/advanced_subscription/src/HookAdvancedSubscription.php

@@ -139,8 +139,10 @@ class HookAdvancedSubscription extends HookObserver implements
                 'all',
                 'all',
                 '',
                 '',
                 array(
                 array(
-                    // user.user_id
+                    // user_field_values.value
                     'user_id' => array('name' => 'user_id', 'type' => 'xsd:int'),
                     'user_id' => array('name' => 'user_id', 'type' => 'xsd:int'),
+                    // user_field.user_id
+                    'user_field' => array('name' => 'user_field', 'type' => 'xsd:string'),
                     // session.id
                     // session.id
                     'session_id' => array('name' => 'session_id', 'type' => 'xsd:int'),
                     'session_id' => array('name' => 'session_id', 'type' => 'xsd:int'),
                     // user.profile_completes
                     // user.profile_completes
@@ -473,11 +475,10 @@ class HookAdvancedSubscription extends HookObserver implements
         $result = return_error(WS_ERROR_NOT_FOUND_RESULT);
         $result = return_error(WS_ERROR_NOT_FOUND_RESULT);
         // Check params
         // Check params
         if (is_array($params) && !empty($params['session_id']) && !empty($params['user_id'])) {
         if (is_array($params) && !empty($params['session_id']) && !empty($params['user_id'])) {
-            $userId = (int) $params['user_id'];
+            $userId = UserManager::get_user_id_from_original_id($params['user_id'], $params['user_field']);
             $sessionId = (int) $params['session_id'];
             $sessionId = (int) $params['session_id'];
             // Check if user exists
             // Check if user exists
-            if (
-                UserManager::is_user_id_valid($userId) &&
+            if (UserManager::is_user_id_valid($userId) &&
                 SessionManager::isValidId($sessionId)
                 SessionManager::isValidId($sessionId)
             ) {
             ) {
                 // Check if student is already subscribed
                 // Check if student is already subscribed