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

1.10.x
Yannick Warnier 11 years ago
parent 4374442bf9
commit f951c79210
  1. 9
      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 ( if (UserManager::is_user_id_valid($userId) &&
UserManager::is_user_id_valid($userId) &&
SessionManager::isValidId($sessionId) SessionManager::isValidId($sessionId)
) { ) {
// Check if student is already subscribed // Check if student is already subscribed

Loading…
Cancel
Save