diff --git a/main/auth/profile.php b/main/auth/profile.php index 3fc3213c8e..517cebd58c 100755 --- a/main/auth/profile.php +++ b/main/auth/profile.php @@ -219,7 +219,7 @@ if (api_get_setting('profile', 'language') !== 'true') { //THEME if (is_profile_editable() && api_get_setting('user_selected_theme') == 'true') { - $form->addElement('select_theme', 'theme', get_lang('Theme')); + $form->addElement('SelectTheme', 'theme', get_lang('Theme')); if (api_get_setting('profile', 'theme') !== 'true') { $form->freeze('theme'); } diff --git a/main/course_info/infocours.php b/main/course_info/infocours.php index 79fce7b37d..819f291cb0 100755 --- a/main/course_info/infocours.php +++ b/main/course_info/infocours.php @@ -158,7 +158,7 @@ if (api_get_setting('pdf_export_watermark_by_course') == 'true') { } $group = array(); -$group[]=$form->createElement('select_theme', 'course_theme', null, array('class'=>' ', 'id'=>'course_theme_id')); +$group[]=$form->createElement('SelectTheme', 'course_theme', null, array('class'=>' ', 'id'=>'course_theme_id')); $form->addGroup($group, '', array(get_lang("Stylesheets")), ''); $form->addElement('label', get_lang('DocumentQuota'), format_file_size(DocumentManager::get_course_quota())); diff --git a/main/inc/lib/formvalidator/Element/select_theme.php b/main/inc/lib/formvalidator/Element/SelectTheme.php old mode 100755 new mode 100644 similarity index 78% rename from main/inc/lib/formvalidator/Element/select_theme.php rename to main/inc/lib/formvalidator/Element/SelectTheme.php index b28ebc093e..d874266770 --- a/main/inc/lib/formvalidator/Element/select_theme.php +++ b/main/inc/lib/formvalidator/Element/SelectTheme.php @@ -4,12 +4,12 @@ /** * A dropdownlist with all themes to use with QuickForm */ -class HTML_QuickForm_Select_Theme extends HTML_QuickForm_select +class SelectTheme extends HTML_QuickForm_select { /** * Class constructor */ - function HTML_QuickForm_Select_Theme($elementName=null, $elementLabel=null, $options=null, $attributes=null) { + function SelectTheme($elementName=null, $elementLabel=null, $options=null, $attributes=null) { if (!isset($attributes['class'])) { //todo this was comment due a bug in infocours.php with jquery-ui //$attributes['class'] = 'chzn-select'; diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index ae5233fe7b..42146a82ee 100755 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -5518,10 +5518,13 @@ class SessionManager if ($sessionFieldValue['session_id'] == $id) { // Check if session field value is set in session field list if (isset($fields[$sessionFieldValue['field_id']])) { - $var = $fields[$sessionFieldValue['field_id']]; - $val = $sessionFieldValue['field_value']; - // Assign session field value to session - $session[$var] = $val; + // Avoid overwriting the session's ID field + if ($fields[$sessionFieldValue['field_id']] != 'id') { + $var = $fields[$sessionFieldValue['field_id']]; + $val = $sessionFieldValue['field_value']; + // Assign session field value to session + $session[$var] = $val; + } } } } @@ -5737,19 +5740,26 @@ class SessionManager $term = Database::escape_string($term); - $resultData = Database::select('*', $sTable, array( - 'where' => array( - "name LIKE %?% " => $term, - "OR description LIKE %?% " => $term, - "OR id IN ( + if (is_array($extraFieldsToInclude) && count($extraFieldsToInclude) > 0) { + $resultData = Database::select('*', $sTable, array( + 'where' => array( + "name LIKE %?% " => $term, + "OR description LIKE %?% " => $term, + "OR id IN ( SELECT session_id FROM $sfvTable WHERE field_value LIKE %?% ) " => $term - ) - )); + ) + )); + } else { + $resultData = Database::select('*', $sTable, array( + 'where' => array( + "name LIKE %?% " => $term, + "OR description LIKE %?% " => $term + ) + )); - if (empty($extraFieldsToInclude)) { return $resultData; } diff --git a/main/lang/english/trad4all.inc.php b/main/lang/english/trad4all.inc.php index 61ed824814..1843edb2d0 100755 --- a/main/lang/english/trad4all.inc.php +++ b/main/lang/english/trad4all.inc.php @@ -319,7 +319,8 @@ $UserIsNotATeacher = "User is not a teacher"; $ConvertToMultipleAnswer = "Convert to multiple answer"; $ThisItemIsInvisibleForStudentsButYouHaveAccessAsTeacher = "This item is invisible for learner but you have access as teacher."; $PreventSessionAdminsToManageAllUsersTitle = "Prevent session admins to manage all users"; -$AllowSessionAdminsToSeeAllUsersComment = "When this option is not enabled (default), session administrators can only see the users they have created."; +$IsOpenSession = "Open session"; +$AllowVisitors = "Allow visitors"; $DeleteAllAttendances = "Delete all created attendances"; $Unsubscribe = "Unsubscribe"; $AddForum = "Add a forum"; @@ -327,6 +328,12 @@ $ReplyShort = "Re:"; $SendToAllUsers = "Send to all users"; $SelectACategory = "Select a category"; $AdvancedEdit = "Advanced edit"; +$PublicationStartDate = "Published start date"; +$ShowStatus = "Show status"; +$Mode = "Mode"; +$Schedule = "Schedule"; +$Place = "Place/Location"; +$RecommendedNumberOfParticipants = "Recommended number of participants"; $WCAGGoMenu = "Goto menu"; $WCAGGoContent = "Goto content"; $NoTimeLimits = "No time limits"; @@ -334,6 +341,9 @@ $SearchXapianModuleNotInstalled = "The Xapian search module is not installed"; $TypeMessage = "Please type your message!"; $ConfirmReset = "Do you really want to delete all messages?"; $ClearList = "Clear the chat"; +$SessionBanner = "Session banner"; +$ShortDescription = "Short description"; +$TargetAudience = "Target audience"; $CallSent = "Chat call has been sent. Waiting for the approval of your partner."; $ChatDenied = "Your call has been denied by your partner."; $Send = "Send message"; @@ -1061,8 +1071,12 @@ $LastPage = "Last page"; $Coachs = "Coachs"; $CourseProgram = "Description"; $ThisCourseDescriptionIsEmpty = "There is no course description so far."; +$Vacancies = "Vacancies"; $QuestionPlan = "Help"; +$Cost = "Cost"; $NewBloc = "Other"; +$TeachingHours = "Lecture hours"; +$Area = "Area"; $InProcess = "In process"; $CourseDescriptionUpdated = "The description has been updated"; $CourseDescriptionDeleted = "Description has been deleted"; @@ -1082,7 +1096,7 @@ $AttendanceCalendar = "Attendance calendar"; $QualifyAttendanceGradebook = "Grade the attendance list in the assessment tool"; $CreateANewAttendance = "Create a new attendance list"; $Attendance = "Attendance"; -$AllowSessionAdminsToSeeAllUsersTitle = "Allow session administrators to see all users"; +$IsInductionSession = "Induction-type session"; $GeneralDescription = "Description"; $GeneralDescriptionQuestions = "What is the goal of the training? Are there prerequisites? How is this training connected to other training?"; $GeneralDescriptionInformation = "Describe the training (number of hours, sser number, location) and trainer (name, office, Tel., e-mail, office hours . . . .)."; @@ -1113,7 +1127,9 @@ $ShowThumbnails = "Show Thumbnails"; $SetSlideshowOptions = "Gallery settings"; $SlideshowOptions = "Slideshow Options"; $NoResizing = "NO RESIZING"; +$Brochure = "Brochure"; $SlideShow = "Slideshow"; +$PublicationEndDate = "Published end date"; $ViewSlideshow = "View Slideshow"; $UploadADocument = "Upload a document"; $langNameOfLang['bosnian'] = "bosnian"; diff --git a/main/lang/french/trad4all.inc.php b/main/lang/french/trad4all.inc.php index dae0912bd5..fdea065651 100755 --- a/main/lang/french/trad4all.inc.php +++ b/main/lang/french/trad4all.inc.php @@ -317,7 +317,11 @@ $YourVersionNotUpToDate = "Votre version n'est pas à jour"; $Hotpotatoes = "Hotpotatoes"; $CourseCategoriesAreGlobal = "Les catégories de cours sont globales par rapport aux configurations multi-portails. Les modifications ne sont autorisées qu'à l'administrateur global du portail administratif."; $UserIsNotATeacher = "L'utilisateur n'est pas un enseignant"; +$ConvertToMultipleAnswer = "Convertir à réponses multiples"; $ThisItemIsInvisibleForStudentsButYouHaveAccessAsTeacher = "Cet élément est invisible pour les étudiants mais vous avez un accès enseignant."; +$PreventSessionAdminsToManageAllUsersTitle = "Empêcher les administrateurs de session de gérer tous les utilisateurs"; +$IsOpenSession = "Session ouverte"; +$AllowVisitors = "Permettre des visiteurs externes"; $DeleteAllAttendances = "Supprimer toutes les présences créées"; $Unsubscribe = "Désinscription"; $AddForum = "Ajouter un nouveau forum"; @@ -325,6 +329,12 @@ $ReplyShort = "Re:"; $SendToAllUsers = "Envoyer à tous"; $SelectACategory = "Sélectionnez une catégorie"; $AdvancedEdit = "Édition avancée"; +$PublicationStartDate = "Date de début publiée"; +$ShowStatus = "Montrer l'état"; +$Mode = "Modalité"; +$Schedule = "Horaire"; +$Place = "Lieu"; +$RecommendedNumberOfParticipants = "Nombre recommandé de participants"; $WCAGGoMenu = "Aller au menu"; $WCAGGoContent = "Aller au contenu"; $NoTimeLimits = "Pas de limite de temps"; @@ -332,6 +342,9 @@ $SearchXapianModuleNotInstalled = "Le module de recherche Xapian n'est pas insta $TypeMessage = "Veuillez introduire votre message !"; $ConfirmReset = "Etes-vous sûr de vouloir supprimer tous les messages ?"; $ClearList = "Effacer la liste"; +$SessionBanner = "Banner de session"; +$ShortDescription = "Courte description"; +$TargetAudience = "Public cible"; $CallSent = "Une demande de \"chat\" a été envoyée. En attente d'approbation de la personne contactée."; $ChatDenied = "Votre appel a été refusé par la personne contactée."; $Send = "Envoyer"; @@ -1059,11 +1072,18 @@ $LastPage = "Dernière page"; $Coachs = "Formateurs"; $CourseProgram = "Description du cours"; $ThisCourseDescriptionIsEmpty = "La description du cours est vide"; +$Vacancies = "Places libres"; $QuestionPlan = "Question pour le responsable"; +$Cost = "Coût"; $NewBloc = "Autre"; +$TeachingHours = "Heures académiques"; +$Area = "Département"; +$InProcess = "En cours"; $CourseDescriptionUpdated = "La description du cour a été mise à jour"; $CourseDescriptionDeleted = "La description du cours a été supprimée"; +$PreventSessionAdminsToManageAllUsersComment = "Lorsque cette option est activée, les administrateurs de sessions ne pourront voir que les utilisateurs qu'ils ont eux-mêmes créés."; $FieldTypeFile = "Envoi de fichier"; +$ConvertToUniqueAnswer = "Convertir à réponse unique"; $NextWeek = "Semaine suivante"; $DragAndDropAnElementHere = "Glisser déposer un élément ici."; $ThereAreNoRegisteredDatetimeYet = "Il n'y a aucune date/heure enregistrée pour le moment"; @@ -1077,6 +1097,7 @@ $AttendanceCalendar = "Calendrier de présences"; $QualifyAttendanceGradebook = "Coter les présences dans le cahier de notes"; $CreateANewAttendance = "Créer un nouveau répertoire de feuilles de présences"; $Attendance = "Présence"; +$IsInductionSession = "Session de type induction"; $GeneralDescription = "Description du cours"; $GeneralDescriptionQuestions = "Quelle est la place de ce cours dans l'organisation? Quels sont les prérequis? Quels sont les liens avec les autres cours?"; $GeneralDescriptionInformation = "Informations permettant d'identifier le cours (sigle, titre, nombre de personnes impliquées, ...) et le responsable (nom, prénom, bureau, tél, e-mail, horaire...).Présentation générale du cours."; @@ -1107,7 +1128,9 @@ $ShowThumbnails = "Afficher les vignettes"; $SetSlideshowOptions = "Définir les options de la galerie"; $SlideshowOptions = "Options de la galerie"; $NoResizing = "NE PAS REDIMENSIONNER (défaut)"; +$Brochure = "Brochure"; $SlideShow = "Présentation"; +$PublicationEndDate = "Date de fin publiée"; $ViewSlideshow = "Voir la galerie"; $UploadADocument = "Envoyer un document"; $langNameOfLang['bosnian'] = "bosnien"; diff --git a/main/lang/spanish/trad4all.inc.php b/main/lang/spanish/trad4all.inc.php index 76c8f6abf6..adc8b25658 100755 --- a/main/lang/spanish/trad4all.inc.php +++ b/main/lang/spanish/trad4all.inc.php @@ -319,7 +319,8 @@ $UserIsNotATeacher = "El usuario no es un profesor."; $ConvertToMultipleAnswer = "Convertir a respuesta múltiple"; $ThisItemIsInvisibleForStudentsButYouHaveAccessAsTeacher = "Este item no es visible para un estudiante pero podrá acceder a él como profesor"; $PreventSessionAdminsToManageAllUsersTitle = "Impedir a los admins de sesiones de gestionar todos los usuarios"; -$AllowSessionAdminsToSeeAllUsersComment = "Cuando esta opción está desactivada los administradores de sesión solamente podrán ver sus usuarios."; +$IsOpenSession = "Sesión abierta"; +$AllowVisitors = "Permitir visitantes"; $DeleteAllAttendances = "Eliminar todas las asistencias creadas"; $Unsubscribe = "Dar de baja"; $AddForum = "Añadir un foro"; @@ -327,6 +328,12 @@ $ReplyShort = "Re:"; $SendToAllUsers = "Enviar a todos los usuarios"; $SelectACategory = "Seleccione una categoría"; $AdvancedEdit = "Edición avanzada"; +$PublicationStartDate = "Fecha de inicio publicada"; +$ShowStatus = "Mostrar estado"; +$Mode = "Modalidad"; +$Schedule = "Horario"; +$Place = "Ubicación"; +$RecommendedNumberOfParticipants = "Número recomendado de participantes"; $WCAGGoMenu = "Ir al menú"; $WCAGGoContent = "Ir al contenido"; $NoTimeLimits = "Sin límite de tiempo"; @@ -334,6 +341,9 @@ $SearchXapianModuleNotInstalled = "El modulo Xapian de PHP no está configurado $TypeMessage = "Por favor, escriba su mensaje"; $ConfirmReset = "¿Seguro que quiere borrar todos los mensajes?"; $ClearList = "Borrar la lista"; +$SessionBanner = "Banner de sesión"; +$ShortDescription = "Descripción corta"; +$TargetAudience = "Público objetivo"; $CallSent = "Una petición de chat ha sido enviada. Esperando la aprobación de la persona contactada."; $ChatDenied = "Su llamada ha sido rechazada por la persona contactada"; $Send = "Enviar"; @@ -1061,8 +1071,12 @@ $LastPage = "Última página"; $Coachs = "Tutores"; $CourseProgram = "Descripción del curso"; $ThisCourseDescriptionIsEmpty = "Descripción no disponible"; +$Vacancies = "Vacantes"; $QuestionPlan = "Cuestiones clave"; +$Cost = "Costo"; $NewBloc = "Apartado personalizado"; +$TeachingHours = "Horas lectivas"; +$Area = "Área"; $InProcess = "En proceso"; $CourseDescriptionUpdated = "La descripción del curso ha sido actualizada"; $CourseDescriptionDeleted = "La descripción del curso ha sido borrada"; @@ -1082,7 +1096,7 @@ $AttendanceCalendar = "Calendario de asistencia"; $QualifyAttendanceGradebook = "Calificar la lista de asistencia"; $CreateANewAttendance = "Crear una lista de asistencia"; $Attendance = "Asistencia"; -$AllowSessionAdminsToSeeAllUsersTitle = "Permitir a los administradores de sesión ver todos los usuarios"; +$IsInductionSession = "Sesión de tipo inducción"; $GeneralDescription = "Descripción general"; $GeneralDescriptionQuestions = "¿Cuál es el objetivo de este curso? ¿Hay requisitos previos? ¿Qué relación tiene con otros cursos?"; $GeneralDescriptionInformation = "Descripción del curso (número de horas, código, lugar donde se desarrollará, etc.). Profesorado (nombre, despacho, teléfono, correo electrónico, etc.)."; @@ -1113,7 +1127,9 @@ $ShowThumbnails = "Mostrar miniaturas"; $SetSlideshowOptions = "Opciones de la presentación"; $SlideshowOptions = "Opciones de la presentación"; $NoResizing = "Presentación en su tamaño original"; +$Brochure = "Brochure"; $SlideShow = "Presentación"; +$PublicationEndDate = "Fecha de fin publicada"; $ViewSlideshow = "Ver presentación"; $UploadADocument = "Enviar un documento"; $langNameOfLang['bosnian'] = "bosnio"; diff --git a/main/newscorm/lp_edit.php b/main/newscorm/lp_edit.php index 71956eef59..2ff29b1fa2 100755 --- a/main/newscorm/lp_edit.php +++ b/main/newscorm/lp_edit.php @@ -111,7 +111,7 @@ if (api_get_setting('allow_course_theme') == 'true') { $mycourselptheme = api_get_course_setting('allow_learning_path_theme'); if (!empty($mycourselptheme) && $mycourselptheme!=-1 && $mycourselptheme== 1) { //LP theme picker - $theme_select = $form->addElement('select_theme', 'lp_theme', get_lang('Theme')); + $theme_select = $form->addElement('SelectTheme', 'lp_theme', get_lang('Theme')); $form->applyFilter('lp_theme', 'trim'); $s_theme = $_SESSION['oLP']->get_theme(); diff --git a/main/webservices/registration.soap.php b/main/webservices/registration.soap.php index 6512c6981d..35ec33c132 100755 --- a/main/webservices/registration.soap.php +++ b/main/webservices/registration.soap.php @@ -5643,36 +5643,40 @@ $server->register( ); /** -* Web service to get a session list filtered by name, description or short description extra field -* @param string $term Search term -* @param string $extraFields Extrafields to include in request result -* @param string $secretKey Secret key to check -* @return array The list -*/ -function WSSearchSession($term, $extraFields, $secretKey) + * Web service to get a session list filtered by name, description or short description extra field + * @param array $params Contains the following parameters + * string $params['term'] Search term + * string $params['extra_fields'] Extrafields to include in request result + * string $params['secret_key'] Secret key to check + * @return array The list + */ +function WSSearchSession($params) { - if (!WSHelperVerifyKey($secretKey)) { + if (!WSHelperVerifyKey($params['secret_key'])) { return return_error(WS_ERROR_SECRET_KEY); } - $fieldsToInclude = explode(',', $extraFields); + $fieldsToInclude = array(); - foreach ($fieldsToInclude as &$field) { - if (empty($field)) { - continue; - } + if (!empty($params['extrafields'])) { + $fieldsToInclude = explode(',', $params['extrafields']); + foreach ($fieldsToInclude as &$field) { + if (empty($field)) { + continue; + } - $field = trim($field); + $field = trim($field); + } } - return SessionManager::searchSession($term, $fieldsToInclude); + return SessionManager::searchSession($params['term'], $fieldsToInclude); } /* Search session Web Service end */ /* Fetch session Web Service start */ -// Input params for WSSearchSession +// Input params for WSFetchSession $server->wsdl->addComplexType( 'FetchSession', 'complexType', @@ -5680,7 +5684,7 @@ $server->wsdl->addComplexType( 'all', '', array( - 'id' => array('name' => 'term', 'type' => 'xsd:int'), + 'id' => array('name' => 'id', 'type' => 'xsd:int'), 'extrafields' => array('name' => 'extrafields', 'type' => 'xsd:string'), 'secret_key' => array('name' => 'secret_key', 'type' => 'xsd:string') ) @@ -5699,19 +5703,20 @@ $server->register( ); /** -* Web service to get a session by its id. Optionally can get its extra fields values -* @param int $id The session id -* @param string $extraFields Extrafields to include in request result -* @param string $secretKey Secret key to check -* @return array The session data -*/ -function WSFetchSession($id, $extraFields, $secretKey) + * Web service to get a session by its id. Optionally can get its extra fields values + * @param array $params Contains the following parameters: + * int $params['id'] The session id + * string $params['extrafields'] Extrafields to include in request result + * string $params['secret_key'] Secret key to check + * @return array The session data + */ +function WSFetchSession($params) { - if (!WSHelperVerifyKey($secretKey)) { + if (!WSHelperVerifyKey($params['secret_key'])) { return return_error(WS_ERROR_SECRET_KEY); } - $fieldsToInclude = explode(',', $extraFields); + $fieldsToInclude = explode(',', $params['extrafields']); foreach ($fieldsToInclude as &$field) { if (empty($field)) { @@ -5721,14 +5726,14 @@ function WSFetchSession($id, $extraFields, $secretKey) $field = trim($field); } - $sessionData = SessionManager::fetch($id); + $sessionData = SessionManager::fetch($params['id']); if ($sessionData === false) { return return_error(WS_ERROR_INVALID_INPUT); } if (!empty($extraFields)) { - $sessionData['extra'] = SessionManager::getFilteredExtraFields($id, $fieldsToInclude); + $sessionData['extra'] = SessionManager::getFilteredExtraFields($params['id'], $fieldsToInclude); } return array($sessionData); diff --git a/plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php b/plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php index 73850528bb..62186fc7b6 100644 --- a/plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php +++ b/plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php @@ -829,7 +829,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface { if (!empty($sessionId)) { // Assign variables - $fieldsArray = array('id', 'cost', 'place', 'allow_visitors', 'teaching_hours', 'brochure', 'banner'); + $fieldsArray = array('code', 'cost', 'place', 'allow_visitors', 'teaching_hours', 'brochure', 'banner'); $extraSession = new ExtraFieldValue('session'); $extraField = new ExtraField('session'); // Get session fields @@ -843,12 +843,12 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface } $mergedArray = array_merge(array($sessionId), array_keys($fields)); - $sessionFieldValueList = $extraSession->get_all( - array( - 'session_id = ? field_id IN ( ?, ?, ?, ?, ?, ?, ? )' => $mergedArray - ) - ); - foreach ($sessionFieldValueList as $sessionFieldValue) { + + $sql = "SELECT * FROM " . Database::get_main_table(TABLE_MAIN_SESSION_FIELD_VALUES) . + " WHERE session_id = %d AND field_id IN (%d, %d, %d, %d, %d, %d, %d)"; + $sql = vsprintf($sql, $mergedArray); + $sessionFieldValueList = Database::query($sql); + while ($sessionFieldValue = Database::fetch_assoc($sessionFieldValueList)) { // Check if session field value is set in session field list if (isset($fields[$sessionFieldValue['field_id']])) { $var = $fields[$sessionFieldValue['field_id']]; diff --git a/plugin/advanced_subscription/src/HookAdvancedSubscription.php b/plugin/advanced_subscription/src/HookAdvancedSubscription.php index 4435416b5e..d56791c1a2 100644 --- a/plugin/advanced_subscription/src/HookAdvancedSubscription.php +++ b/plugin/advanced_subscription/src/HookAdvancedSubscription.php @@ -139,8 +139,10 @@ class HookAdvancedSubscription extends HookObserver implements 'all', '', array( - // user.user_id + // user_field_values.value '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' => array('name' => 'session_id', 'type' => 'xsd:int'), // user.profile_completes @@ -415,7 +417,7 @@ class HookAdvancedSubscription extends HookObserver implements global $debug; if ($debug) { - error_log('WSUserSubscribedInCourse'); + error_log(__FUNCTION__); error_log('Params ' . print_r($params, 1)); } if (!WSHelperVerifyKey($params)) { @@ -473,11 +475,10 @@ class HookAdvancedSubscription extends HookObserver implements $result = return_error(WS_ERROR_NOT_FOUND_RESULT); // Check params 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']; // Check if user exists - if ( - UserManager::is_user_id_valid($userId) && + if (UserManager::is_user_id_valid($userId) && SessionManager::isValidId($sessionId) ) { // Check if student is already subscribed @@ -684,4 +685,4 @@ class HookAdvancedSubscription extends HookObserver implements } return false; } -} \ No newline at end of file +} diff --git a/plugin/advanced_subscription/src/scripts/insert_session_fields.php b/plugin/advanced_subscription/src/scripts/insert_session_fields.php index a70acd26cb..e527aecf82 100644 --- a/plugin/advanced_subscription/src/scripts/insert_session_fields.php +++ b/plugin/advanced_subscription/src/scripts/insert_session_fields.php @@ -93,7 +93,7 @@ $mode->save(array( $isInductionSession = new ExtraField('session'); $isInductionSession->save(array( 'field_type' => ExtraField::FIELD_TYPE_CHECKBOX, - 'field_variable' => 'is_induccion_session', + 'field_variable' => 'is_induction_session', 'field_display_text' => get_lang('IsInductionSession'), 'field_visible' => 1, 'field_changeable' => 1 @@ -178,7 +178,7 @@ $target = new ExtraField('session'); $target->save(array( 'field_type' => ExtraField::FIELD_TYPE_SELECT, 'field_variable' => 'target', - 'field_display_text' => get_lang('Target'), + 'field_display_text' => get_lang('TargetAudience'), 'field_visible' => 1, 'field_changeable' => 1, 'field_options' => implode('; ', $targetOptions) @@ -188,7 +188,7 @@ $shortDescription = new ExtraField('session'); $shortDescription->save(array( 'field_type' => ExtraField::FIELD_TYPE_TEXT, 'field_variable' => 'short_description', - 'field_display_text' => get_lang('ShortSescription'), + 'field_display_text' => get_lang('ShortDescription'), 'field_visible' => 1, 'field_changeable' => 1 )); @@ -196,8 +196,8 @@ $shortDescription->save(array( $id = new ExtraField('session'); $id->save(array( 'field_type' => ExtraField::FIELD_TYPE_TEXT, - 'field_variable' => 'id', - 'field_display_text' => get_lang('Id'), + 'field_variable' => 'code', + 'field_display_text' => get_lang('Code'), 'field_visible' => 1, 'field_changeable' => 1 ));