Chamilo 1.11.28
29 October 2024
Chamilo version 1.11.28 is now available (security release).
Upgrading to Chamilo 1.11.28
Chamilo 1.11.28 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Chamilo updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Chamilo install to test the 1.11.28 upgrade prior to applying it live. Get started managing your Chamilo installations with Installatron
What's New in Chamilo 1.11.28
Security
- (fe74d0d3 - BT#21146) Security: Support 'send_two_inscription_confirmation_mail' setting on password update
- (79856c32 - BT#21146) Admin: Security: Fix issue when date field is not complete (unknown historical reason)
- (f2df5d3c - BT#21289) Security: escape values when importing username list to anonymize
- (d1beb7aa) Vendor: Bump moment.js version to 2.29.4
- (ca2e7a58 - BT#21289) Security: Refactor cookie warning to avoid CSRF
- (aa2e97b1 - BT#21289) Security: Vendor: JqueryUI: Checkboxradio: Don't re-evaluate text labels as HTML
- (9dc36531 - BT#21289) Security: Vendor: Jquery: Mitigate possible XSS vulnerability
- (3ce8c31c) Vendor: Bump jquery-ui version to 1.12.*
- (cdc12f99 - BT#21289) Security: Remove connection information when opening db manager when 'db_manager_enabled' is true, reducing the likeliness of a successful BREACH attack
- (56ac8ca2 - BT#21289) Security: Add attribute rel="noopener noreferrer" to links with target=_blank to reduce probability of tabnabbing
- (72aa7604 - BT#21289) Security: Vendor: CKEditor: Update uicolor plugin
- (b3afaf6b - BT#21289) Security: Add configuration setting 'security_login_autocomplete_disable' to set autocomplete attribute of both login and password to "new-password"
- (f1806784 - BT#21289) Security: Set ch_sid cookie to 'secure' when using HTTPS
- (060b1e3e - BT#21289) Internal: Bum JS Cookie version to 2.2.0 to support "secure"
- (9da3f3ba - BT#21289) Security: Set cookie as secure if HTTPS
- (0b4df28e - BT#21295) Security: Exercise: Do not permit access to questions review if the attempt is not of the connected user
- (34c3357f - BT#21289) Security: Reduce XSS/CSRF probability as admin user
- (63d9dec1) Documentation: Add documentation about setting 'block_my_files_access' to security.html
- (015cbccf - BT#21323) Security: remove possibility for get_user_popup to be called recursively with all user_id by using a none predictable hash instead of the user_id
- (e40e36de - BT#21329) Security: Announcement: add verification if user is subscribed to course or subscribed to group to send response
- (8b49c4f2 - BT#21323) Security: fix warning in hash generation
- (53275c15) Security: Ticket: Remove possible XSS in attachment file name
- (a63e03ef) Security: Remove possible XSS when showing file name selected
- (5a661249 - BT#21427) Security: Escape URL query params before using them to build AJAX link to avoid potential XSS (only affects admin accounts)
- (3740eece - BT#21427) Security: Add filter on GET data in admin users list
- (29357ac5 - BT#21427) Security: Fix potential XSS in course catalogue
- (6ed17571) Security: FormValidator check the token even when there are no errors
- (58d3647c) Security: fix check on security token when accepting the cookie warning
- (bef68ffe) Security: Message: Block anonymous users to get count of messages
- (3b986821) Security: Social: Remove XSS when displaying group messages
- (7a0e10cc) Security: Social: Protect form to post in wall
- (a1a1e4df) Security: Ensure that is the current user whose data is modified
- (42566a09) Security: Agenda: Strictly filter event content
- (2b83d158) Security: Replace HTML form with FormValidator to avoid possible XSS when uploading file in some tool
- (7080b9be) Security: Replace HTML form with FormValidator to avoid possible XSS when searching session category
- (e6999a97) Security: Plugin: Validate plugin name to load its README.md file
- (884d9b39) Security: Avoid dangerous file name when uploading a file by extra field
- (d7ead2f9) Security: Clean path when upload files to avoid arbitrary file write
- (c9f912ba) Security: Remove curdirpath param in ajax request to upload images when enable_uploadimage_editor is enabled
- (7f683767) Security: Remove link tags with external URIs when exporting to PDF
- (9da090da - BT#21323) Security: User: only return the list of users by role if an admin is asking
- (7baea1c2 - BT#21329) Security: Announcement: fix verification if user is subscribed to course
- (d30adc7b) Security: Filter variables for XSS before returning in LP's storageapi
- (58c54f46) Security: Fix logical flaw allowing unauthenticated users to send data to a specific table
- (830bc7a1) Security: Remove db.php (modified version of Adminer) to avoid unnecessary security risks. Please download your own Adminer script to access your database directly from now on.
- (ba9d331a - BT#22072) Security: Add Permissions-Policy header capability (at global level)
- (30936218 - BT#22085) Security: Bump moment.js version
- (78bc0da7 - BT#22085) Security: Filter actions to avoid XSS in personal courses sorting
- (408cdb45 - BT#22085) Security: Prevent directory indexing globally (no reason to enable it for web requests)
- (1d916652 - BT#22085) Security: Prevent access to web.config on Apache servers (also documented in the installation guide for nginx)
- (b4400125 - BT#22085) Security: Avoid error in catalogue when attempted hack in course code
- (80227020 - BT#22085) Security: Add warning in dropbox download to educate users about the dangers of downloading files from untrusted sources
- (0ee56d48) Security: Remove deprecated file. Last used before 2016 and contains code enabling RCE.
- (43a9bd1f) Security: Add 'auth_openid_allowed_providers' configuration setting to fix potential unauthenticated blind SSRF via openid.
- (7784dadc - GH#175) Security: Add note about setting Content-Security-Policy in configuration.php to reduce the likeliness of registered users trying to trick others into sending data to other sites
- (b544020d) Security: apply attr_on_filter when send message by social network
- (2c32fdef) Security: User FormValidator::addHtmlEditor FormValidator::addElement('html_editor')
- (7a72f095 - BT#22113) Security: Portfolio: Apply remove XSS on items and comments content
New Features - For end-users, teachers and Chamilo admins
- (a12dae74 - BT#21146) Admin: Statistics: Add list of duplicated users by e-mail
- (989cc07a - BT#20691) Exercise: Add export all results with date filter
- (2d993de8 - BT#21146) System: Inactive users will no longer receive e-mails
- (c92ea791 - BT#21146) Admin: Add checkbox to ask for new password on users update through CSV import
- (76f88c7c - BT#21353) Course settings: add parameter to enable student to be assigned as course teacher
- (fa4b551e - BT#21354) Plugin: Zoom: Add option to enable presenters for meetings
- (54d32efd - BT#21387) User: Plugin: Justification: add option to send notification to creator of the user
- (400f7a4b - BT#21441) Admin: Add update courses through CSV/XML
- (503d9d0e - BT#21415) Admin: Add visibility to course import/export/update through CSV/XML
- (91f98230 - BT#21224) Gradebook: Add a global page for the user to be able to see all the requirement in all its courses where a gradebook is set
- (e5ccf4d6 - BT#21424) Document: add MathJax script in all HTML document before returning the document for download (optional)
- (994244bb - BT#21930) Plugin: Azure: Add option to set the verification order for existing user
- (7df53955 - BT#21930) Plugin: Azure: Add script to sync groups from Azure
- (331d9fac - BT#21930) Plugin: Azure: Add option to deactivate non-existing users in Azure when running sync_users script
- (6949a076 - BT#21930) Plugin: Azure: Add script to sync users from Azure
- (dc27ce5f - BT#21930) Plugin: Azure: Add option to update existing users
- (41af8870 - BT#21977) Maintenance: Add MBZ file generation for Moodle 3/4 backups
- (de5623b2 - BT#22048) Internal: Add button to show last 10 registered users in user group and session pages
- (0f32994d - GH#5395) Learnpath: Add support for OnlyOffice viewer in learning paths for ppt(x), odp, xls(x), ods, csv, doc(x), odt and pdf formats
- New Features - For developers and sysadmins
- (eb6e4d30 - GH#4954) Admin: Learnpath: Add configuration setting 'lp_ios_hide_open_in_new_window_button' to remove button in lp on iOS
- (d4872441 - BT#21146) Admin: Security: Add configuration setting 'security_password_rotate_days' to enable password rotation requirement
- (329e2085 - BT#21312) Admin: User: add option to show first connection date in the admin user list
- (80df5b7d - BT#21445) Script: Cron: add possibility to empty an extra field when anonymizing a user
- (4728002c - GH#5347) Admin: Exercise: Add configuration setting 'quiz_question_description_open_by_default' to open the description for the quiz by default during the test
- (2f816642 - BT#21755) Display: Add configuration setting 'email_logo' to allow for a different logo to be used only for e-mail communication
- (ef1e71f1 - BT#21709) Maintenance: CommonCartridge: Add configuration setting 'commoncartridge_path_token' to allow for the previously recommended special path token when exporting to Common Cartridge packages
- (0c18776f - BT#21982) Session: Learnpath: Document: add 3 options to limit edition and modification of content in session context session_hide_lp_copy session_hide_lp_creation session_hide_document_upload
- (5e9f2f0b - GH#4242) Admin: Add configuration setting 'quiz_question_edit_open_advanced_params_by_default' to show questions advanced settings by default
- (c8748f86 - GH#5543) Admin: Add configuration setting 'session_visibility_after_end_date_options_configuration' to limit the visible session-visibility options
- (4fb383d0 - GH#5191) Admin: Add configuration setting 'hide_my_progress_tab' to hide the 'My Progress' tab
- (615a5068) Internal: Bump PHP version from 7.2 to 7.4 in composer.json
Improvements (minor features) and debug
- (c9e3e1f3) CI: Fix fill in blanks question test
- (a97d5b76 - GH#5880) Fix behat tests (#5880) * CI: Fix users name displayed in test to create session * CI: Fix behat test for matching question * CI: Fix behat test for oral expression question * CI: Fix behat test for Combination true/false/don't-know question * CI: Fix users name displayed in test to create session * Survey: Fix duplication
- (ef8f48e9) CI: Fix users name displayed in test to create session
- (0c256b54) Internal: Avoid double slash in sys_code_path and rel_code_path in api_get_path() (noticeable double slash in installer)
- (c7290daa - GH#5684) Portfolio: Add missing steps for correct portfolio tool functionality
- (ab6c2129) Exercise: Increase blurriness of text in reading comprehension questions (better resolutions make it possible to read)
- (d2772e4b - GH#5132) Tracking: Add support for c_lp_item_view in notification icons on course homepage
- (40f0939d) Internal: Bump version in version.php
- (ddd2b05a - BT#21977) Internal: Fix for 'setting_invalid_integer' error during Moodle 4 import
- (20ec8e75 - GH#5237) Tracking: Improve message tracking (remove duplicate and add seeing sent/received) (#5237)
- (aa3f62c9) Plugin: Custom certificate: Fix bug for certificates with learnpath index as content type
- (14e699f2 - GH#4776) Authentication: User session: Add expiration notification system
- (0f96eac0) Plugin: OnlyOffice: Improve README.md
- (4ef87834) Plugin: ONLYOFFICE: Bump to v1.5
- (deee60dc) Plugin: OnlyOffice: Update README with more/more precise information
- (9c3e6998) Plugin: OnlyOffice: Bump to 1.4 & add support for document viewer in learning path
- (9edc811a) Internal: Declare UserManager::isEmailingAllowed as static method
- (c4b51722 - BT#22064) Compilatio: Define missing variable
- (ddd2604e) Documentation: Update installation guides: Fix outdated links
- (0d90010a) Compilatio: Fix default message not needed anymore and remove indication for phpsoap installation - refs BT22064
- (a6898b17 - BT#22064) Compilatio: Clean and update settings to work
- (c847844c - BT#21735) Tracking: fix to use UTC time to search in the BD
- (e54d0d4a) Plugin: Advanced subscription: Fix query in src/admin_view.php
- (95a845ce - BT#22064) Compilatio: Change text length for c_plagiarism_compilatio_docs.compilatio_id column
- (97a6bab4 - BT#22064) Compilatio: Refactoring to use RESTful api
- (a6a09d39) Survey: Highlight the question that was just updated and scroll down to it (scrollIntoView())
- (08f5afb4) Internal: Update session.class.php PHP 8 compatibility by adding typed return values
- (69a66257) Session: Add new tag user_official_code to scheduled announcement editor
- (5ef0ef5a) Internal: avoid exception by initializing visibility variable in tool visibility in sessions
- (bd060311) Tracking: Change display order of learning paths on "my progress" page to show them by display_order and name
- (dbbda28c) Survey: Ask for survey code when duplicating a survey
- (d905b2e8) Language: Fix "LastXMonths" string throwing "Unknown format specifier"
- (eaedb6bc) Tracking: Include courses without category in number of courses stats page
- (7c6c15d9) Dropbox: Keep initial upload date when updating a document
- (8c27c9df) Survey: Fix possible "Undefined offset" warning in surveyUtil.class.php
- (8d76d000) Internal: Add __serialize() and __unserialize() to AppKernel.php to improve support for PHP 8.1+
- (7118284f) Plugin: Onlyoffice: Fix static call to non-static method
- (54d47745 - BT#21735) Learnpath: Fix final item access and LP progress to accept failed items when lp_prerequisit_on_quiz_unblock_if_max_attempt_reached is true
- (d8b42f65 - BT#21735) Tracking: include end date in the search for report exports
- (d676c608 - BT#22037) Learnpath: Fix parameter allow_teachers_to_access_blocked_lp_by_prerequisite to work for coaches in session
- (300e9ca3 - BT#21977) Internal: Import Moodle label as chapter in lesson
- (dcea6396 - GH#5825) Revert "Merge commit from fork" (#5825) This reverts commit 453fb732b7d7e8b25b3c94376c76b3e6871dc985.
- (c55018ec - BT#22002) Portfolio: add source edition in HTML form for posts in portfolio
- (881bea18 - BT#21977) Maintenance: Refactor quiz import logic to handle both Moodle versions
- (df28327b - BT#21500) Plugin: Azure: adapt order for role verification to have first admin, then teacher to avoid setting a teacher role to an admin
- (b7f22d3c - BT#22011) Gradebook: fix percentage that was always set for categories when using exercise score model
- (578c7877 - BT#21977) Maintenance: Moodle Export: Add online documentation to form
- (f5d563c3 - BT#21930) Plugin: Azure: Catch exception when getting group members
- (274f9f28 - BT#21930) Plugin: Azure: Move methods to parent class
- (90588f25 - BT#21930) Plugin: Azure: Fix script to sync user groups and divide process to subscriptions
- (95426d37 - BT#21930) Plugin: Azure: Register users as student and then update their status according defined groups
- (a600f8bb - BT#21930) Plugin: Azure: Increase page size for results
- (d2ebff9e - BT#21930) Plugin: Azure: Optimize request when registering/updating user
- (c9d99a60 - BT#21930) Plugin: Azure: Request a new access token when it expires
- (e3978e15 - BT#21930) Plugin: Azure: Reload plugin settings when running scripts
- (7e0862ba - BT#21930) Plugin: Azure: Refactor conditions to register/update user
- (091a9d29 - BT#21930) Plugin: Azure: Refactor to get paginated results when syncing user groups
- (ca32e132 - BT#21930) Plugin: Azure: Refactor to get paginated results when syncing users
- (83846c0a - BT#21976) Exercise: Fix pending exercise for admins that do not have courses to show all results anyway
- (9b0c2a4d) Remove typed property allowed only since php7.4
- (22afc8ea - BT#21930) Plugin: Azure: Bump version to v2.4
- (9cecd7bf - BT#21930) Plugin: Azure: Move code to function
- (c492a140 - BT#21930) Plugin: Azure: Allows the user to be verified based on the internal Azure ID
- (d17817a0 - BT#21942) Catalogue: Display: Fix pagination URL for page 1 in Catalogue
- (51005aae - BT#21735) Tracking: fix to show local time in time report exports
- (c31e220b) Document: LP: Fix paths to hide in resources tree
- (df773154) Document: LP: Fix folding list for folder in resources tree
- (dd64b298) Internal: Fix string / string division in gradebook scores display configuration code
- (18c9bed0) Document: LP: Fix visibility class in resources tree
- (29012184) Document: LP: Ensures that list tags are closed properly
- (377b6646) Document: LP: Fix value types to generate resources tree
- (66772291) Gradebook: Fix syntax error See cdd51ff84135bc2f1068c3b8f94c1017978a640f
- (cdd51ff8 - BT#21503) Gradebook: fix certificate generation use all elements avoid excluding invisible items
- (ac9c1cb5 - BT#21814) Tracking: fix student list to calculate the statistics on followed users, fix to commit d19450c29d8fbafd7589363b8788d57ab7000fa6
- (d4b511d2 - BT#21860) Announcement: remove datetime comparaison with string to avoid error in MYSQL since version 8.0.16 https://bugs.mysql.com/bug.php?id=95466
- (e555b88c - BT#21482) Exercise: Fix show pending attempt to session admin and enable to search on all courses of the current URL
- (c38dde9f - BT#21735) Tracking: list all users for session admins
- (8a6907d4 - BT#21735) Tracking: Fix access to time report page for all user except students
- (d3d06481 - BT#21735) Tracking: Fix translations and column name, report entry for all user type except student
- (4f789ae1 - BT#21734) Tracking: make course in session use the manual ordering in the student tracking report
- (0826bbbf - BT#21832) Tracking: Minor translation update in EN, ES, FR for new time reports functionnality
- (2866098c - BT#21832) Tracking: adapt icon for new time report entry
- (90c22d23 - BT#21832) Tracking: Minor translation update in EN, ES, FR for new time reports functionnality
- (1108bf0e - BT#21832) Tracking: Internal: Fix time difference calculation to have the correct value
- (75bacc8d - BT#21794) Tracking: Add username column in user session export
- (265e3937 - BT#21832) Internal: Improve time report results
- (af975cd3 - BT#21832) Internal: Fix report queries and time format
- (71b33e7a - BT#21832) Internal: Fix user selector and resolve array syntax error
- (d3bebddc - BT#21832) Internal: Add Time Report feature with export to Excel
- (9a6496a1 - BT#21828) Calendar: avoid register when user_id is null in agenda event registration
- (a5e65df6 - BT#21794) Tracking: Add export for user progress in all sessions of one course
- (5b3cc853 - BT#21709) Maintenance: CommonCartridge: Fix issue exporting media files in subdirectories
- (906f7666 - BT#21709) Maintenance: CommonCartridge: Partial implementation of fill-in-the-blanks question types (CC doesn't define it precisely)
- (1ace9818) Plugin: OnlyOffice: Avoid static call to non-static method AppConfig::GetLinkToDocs()
- (5f02d6e6 - BT#21709) Maintenance: CommonCartridge: Fix restoration of image files from CC package into tests, questions & answers
- (13ec1f9b - BT#21709) Maintenance: CommonCartridge: Fix issue uploading referenced 'webcontent' files to the documents tool ('commoncartridge' folder)
- (281049be - BT#21709) Maintenance: CommonCartridge: Factorize creation of CC directory on import + new webcontent constant
- (17fee8b5 - BT#21709) Maintenance: CommonCartridge: Avoid static call of Imscc13Import::execute()
- (d8023772 - BT#21709) Maintenance: CommonCartridge: Fix typo in "indentifier" in internal array index
- (5596ce01 - BT#21709) Maintenance: CommonCartridge: Fix typo in "assesment" xml filename (came as is from imported library)
- (432bbfe0 - BT#21709) Maintenance: CommonCartridge: Fix typo in "cartriedge" internal array index
- (79159d1d - BT#21709) Maintenance: CommonCartridge: Add test description recovery on import
- (92b85f5e - BT#21709) Maintenance: CommonCartridge: Add param for otherwise undefined $rootPath + add support for webp images in attached CC media
- (bf5d0361 - BT#21709) Maintenance: CommonCartridge: Improve code syntax and documentation
- (193be111 - BT#21709) Maintenance: CommonCartridge: Improve media paths management on import. Accept both $IMS-CC_FILEBASE$ and $1EdTech-CC-FILEBASE$
- (825e366b - BT#21709) Maintenance: CommonCartridge: Fix correct answer selection in unique answer question type
- (0cb3afe4 - BT#21709) Maintenance: CommonCartridge: Fix Essay (free answer) type question import
- (18b4f5e5 - BT#21709) Maintenance: CommonCartridge: Add support for Essay (free answer) type question. Only validated for export so far
- (d8c23170 - BT#21614) Display: Tracking: Improve layout in the Move Users From Course to Session page
- (2c6a402b - BT#21709) Exercise: Common Cartridge export: Fix export of embedded media (remove Mdl tags @@PLUGINFILE@@ and $@FILEPHP@$) (only works with documents from the document tool in the same course) + update token $IMS-CC-FILEBASE$ to $1EdTech-CC-FILEBASE$ + improve code documentation
- (69e5524e) Plugin: OnlyOffice: Avoid static call to non-static method.
- (d7e828b7) Plugin: AI Helper: Update ChatGPT model to 4o
- (72445b39) Maintenance: CommonCartridge: Fix permission issue preventing teacher from downloading the CC package
- (4e648dcc - BT#21501) Tracking: fix default minimum time in a course to update logoutDate passing from 5 minutes to 30 seconds
- (0183995a - BT#21482) Exercise: Fix pending exercise for admins to show results from all courses and not only course where the user is the teacher
- (d3f8c22f - BT#21501) Tracking: fix verification of last existing registry and timing based on logout_course_date instead of login_course_date to avoid loosing registry of time for user
- (3299a6b1 - BT#21501) Tracking: add option to define a specific fixed time to add to the registry when logging out from a course and no recent registry exists
- (e256dff0 - BT#21501) Learnpath: add option to define a specific time for abusive time registring in LP items
- (bec99906 - BT#21482) Exercise: Fix show pending attempt only if attempting user is on the current access url
- (2f99150d - BT#21482) Exercise: Fix show pending attempt only in the base course or on the current access url
- (4ad53929 - BT#21482) Exercise: fix pending exercise search to show correct attemps depending on the configuration and the type of user
- (1118d78f - BT#21706) Document: fix missing security token to export to pdf
- (0cc44acc) Forum: Specify forum_order table
- (661cd934 - BT#21739) Plugin: Azure AD: Add specific case for 'interaction_required' as this does not seem to be managed directly by Azure AD
- (0c299d9d - BT#21739) Plugin: Azure AD: Diversify exception to be more explicit regarding empty fields in Azure profile
- (4a3624a2 - BT#21363) Admin: Fix CSV user edit when expiration dates have been saved as '9999-12-31 **:**:**', which seemed to be the case at some point in Chamilo's history for "no expiration"
- (a2461481) Plugin: OnlyOffice: Add missing files
- (58eabc01) Plugin: OnlyOffice: Add missing files
- (03e1960b - BT#21566) Forum: fix error when value is null, it should now be to avoid the error due to commit ea334a3f6f3240dc4f0c98ad8d4857545e940a87
- (689516df - BT#21503) Gradebook: add certificate pdf export blocking for session as it is for courses
- (d307c15d) Course request: Set description as mandatory field in course request form
- (cbab6d8a) Course request: Fix email notifications text (new lines and signature)
- (11922c12) Documentation: Fix typo in Keycloak's README
- (cb5e7428) Plugin: Keycloak: Update README
- (2dd119eb - GH#5394) Display: Fix pagination with language filtering in course catalogue
- (52452286 - GH#5393) Tracking: Fix issue displaying the pChart-generated charts due to Apache 2.4 syntax change
- (2a47d074) Plugin: OnlyOffice: Bump plugin version to upstream's 1.3
- (ece77896 - BT#21524) Exercise: Include column for minimum score in result report
- (a5f515a1) Exercise: Add missing variables
- (36449ab1 - BT#21424) Document: add configuration option to include MathJax script in all HTML document before returning the document for download
- (6a1612b7 - BT#21482) Exercise: minor: partial translation update for new option for pending attemps to show only attempts from exercice with question that do not have automatic correction in EN, FR, ES
- (64fc4450 - BT#21482) Exercise: add option to select type of question on pending attempt page
- (57c05b7f - BT#21488) Maintenance: fix commit 9f22a9c76c57d adding option to enable scorm folder selection for backup creation
- (4bb326de - BT#21488) Maintenance: Minor: partial translation update for new option for course backup to select Scorm folders in EN, FR, ES
- (9f22a9c7 - BT#21488) Maintenance: adding option to enable scorm folder selection for backup creation
- (9d2f5fff - BT#21513) Admin: Fix typo in visibility field mapping of CSV course update
- (3c6dd38d - BT#11727) Authentication: Fix excessive filter preventing terms and conditions to show on new user auto-registration
- (3b13d009 - BT#21495) Internal: fix session_lifetime to accept the use of multiple URL configuration
- (f94d85a2) Gradebook: Update all_my_gradebooks.php Display footer Display footer
- (d2ce9b5d) Gradebook: Update all_my_gradebooks.php Previent une erreur notice session null
- (87f83bf4 - BT#21495) Tracking: fix timezone issue in date calculation that generates error with logout date comparaison
- (5f87db66 - BT#21441) Admin: Fix course CSV import: Preserve existing non-required fields
- (6a57e1b6 - BT#21478) Exercise: fix option 'show_exercise_attempts_in_all_user_sessions' to have correct listing of course and correct exercises attempts
- (1121aec1) Internal: Fix issue with all AJAX requests created by previous code syntax improvement commit 4dbc251abd6f03a847a1495aacea739567f6d114
- (5041118b - BT#21478) Exercise: fix option 'show_exercise_attempts_in_all_user_sessions' to show results in the sessions
- (4c534209 - BT#21469) Tracking: Minor: fix partial translation update for new time format presentation in EN, FR, ES
- (642345e7 - BT#21469) Tracking: Minor: partial translation update for new time format presentation in EN, FR, ES
- (7bc5d278 - BT#21469) Tracking: adapt time presentation in access details report by adding an option lang to api_format_time
- (384b85e6 - BT#21469) Tracking: fix session listing to include terminated sessions
- (0cbb0771) Documentation: Update link to new forum on admin page and menu block
- (4638242b) Documentation: Add the change of system_version in the upgrade guide in all languages
- (702672c2) Plugin: AzureActiveDirectory: Fix error when loading index file as standalone
- (4dbc251a) Internal: Set stricter types and improve PHPDoc
- (ea334a3f) Internal: Set stricter functions declarations and improve PHPDoc
- (78d9462b - BT#21400) Internal: Fix issue with password_last_updated extra field being out of format for old records
- (59cc88e3) Plugin: AI Helper: Improve prompt for learning path items
- (efe308b3) Plugin: AIHelper: Use new AI model from OpenAI
- (f4d8c9aa - BT#21386) User: Plugin: Justification: add option to enable access to plugin management of user's jutificatives to session admins
- (66916617) Plugin: Zoom: add french translations and fix spanish one -refs BT21354
- (5a0ac4da - BT#21376) Calendar: fix error when there is no user invited to an event but just subscriptions
- (e5550b93 - BT#21369) Learnpath: when deleting a LP remove all prerequisite based on this LP
- (1611bd4a - BT#21354) Plugin: Zoom: Bump version to 0.6
- (b08d33c6 - BT#21312) Admin: user_list fix statitics access icon based on user status to be available for student users
- (ba0184cd - BT#21339) User: Optimization not to load all users if not necessary
- (3e40997a - BT#21208) User: Fix usergroup add user behavior for default visibility settings
- (62ba004a - BT#21129) Learnpath: on scorm package update overwrite all the file even if newer files are on the server
- (a83430e5) Admin: User import: Add ID and username of the user that already exists with the same email to the CSV Co-authored-by: Juan Cortizas Ponte <124381395+juancpbinario@users.noreply.github.com>
- (f1667d16) Course categories: Add link on course name
- (8f00c940 - BT#20849) LDAP: fix wrong variable name for salt parameter
- (1deddd2a - BT#21342) Session: fix move user from course to session to not subscribe user if only stats and correct session id management
- (0e6f6258) Admin: Statistics: Optimize query for users_online
- (d822f462 - BT#21334) User: use template form user edit mail notification subject
- (2e026eb0 - BT#21334) User: add complete name to variable passed for email registration title if needed
- (1156716e - BT#21299) Course: Block access for all to course's about page
- (e512dd24 - BT#21298) Session: Block access for all to session's about page
- (c5c9b337 - BT#21330) Session: limit access to admin session list to authorized user (admin, session admin and teachers)
- (ad8889fa) Admin: fix sql query for last course access statistic report
- (047c8e22) Remove forgotten debug code
- (90aa0185 - CT#21052) Update justification.php Ajout d'une icone Pièce non chargée Support
- (1fb92e27) Update justification.php Afficher un bouton au lieu d'un message
- (36dd77af - BT#21299) Course: restrict access to course's about page only if user is connected if course_catalog_published is false
- (d0cea357 - BT#21298) Session: restrict access to session's about page only if user is connecter if course_catalog_published is false
- (67076c4a) Survey: Fix export survey when open question element needs more than one page Author: Juan Cortizas Ponte <124381395+juancpbinario@users.noreply.github.com>
- (9e35ee61 - GH#4981) Session: Allow session general coach to see more user reporting details
- (8b0b9190 - BT#20849) LDAP: Fix incorrect path for config file inclusion
- (e6518621 - BT#21289) Calendar: Fix when showing edit form for event without invitation
- (dbc5a264 - BT#20691) Exercise: fix export all results when selecting all to include hidden exercises (such as included in LP)
- (cb600c94) Plugin: PENS: Fix plugin issue trying to create the plugin_pens table even if it already exists
- (c90f2b4d - BT#21289) Internal: Load vrview.js when enabling it in video features
- (e5ff1de4 - BT#21289) Admin: Don't show cookie warning on admin page
- (c47fafb9 - BT#21207) User: partial translation update in EN, ES and FR for show only active user in usergroup subscription list
- (4eb6f132 - BT#21290) Exercise: Fix commit 4b1149e6ede87be463d1faca0aa4ead81a4e0752 to still not consider empty an answer with 0 only if its in a fill in the blank question, in other case it should be considered as empty
- (852bd80e - BT#21288) Internal: restrict access to the page when option 'allow_email_editor' is not activated
- (073dca63 - BT#21018) Attendance: adapt CSS to work when there are many courses on "My missing signatures" page
- (facb6457 - CT#21018) Update my_missing_signatures style
- (377cddb2 - BT#21018) Attendance: partail translation update for My missing signatures page functionnality
- (0af873f2 - BT#21018) Attendance: Add "my missing signatures" page feature
- (660d728e - BT#21277) Message: add link to url for new password request
- (f33cb495) Webservice: fix message to indicate the correct configuration value to enable webservices
- (f01d3825 - BT#21212) Webservice: fix variable recovery from GET to REQUEST
- (108c152f - BT#21212) Webservice: remove extra ',' to be compatible with php versions
- (0514275f - BT#21212) Webservice: remove access restriction not needed for those 2 webservices
- (ac61878d - BT#20659) Exercise: fix integration in iframe not to show tool shortcut-refs
- (dfca2641) Tracking: fix average total time spent on platform calculation and use
- (07dae4f0) Tracking: Fix calls to get_time_spent_on_platform
- (2317f74d) Tracking: fix average total time spent on platform calculation
- (9fe3a371) Documentation: Add recommended index for c_item_property
- (5ca79485 - BT#20659) Exercise: Translation: add partial translation in FR, ES, EN for exercise iframe export code
- (a40a3346 - BT#20659) Exercise: Minor: fix missing letter
- (e299ca8f - BT#20659) Exercise: add iframe code in popup for exercice integration
- (66948554 - CT#21208) Platform: Add button to show only active users
- (e4818a85 - BT#21163) Wiki: fix pdf export with special caracters in title
- (a3e5a035 - BT#21018) Attendance: Add extra condition to filter the attendance list only when necessary
- (d48281d2 - BT#21018) Attendance: Add filtering on specific calendar date for the presentation of attendance report for Student and adding filter in the QR code
- (d9bc2a95 - BT#21018) Attendance: Show Attendance QR code in an modal window and not as a file for download
- (e1246012 - BT#21146) Internal: Add commented code to help when wanting to filter only on users for whom e-mail has changed
- (5c01c6a4 - BT#21146) Internal: Remove query debug in user active check before sending e-mail
- (a1052bda - BT#21185) Tracking: Update important activities report to filter event types from log constants and add links to search more efficiently
- (a1115b28 - BT#21195) Group: Temporary fix to prevent mis-assignment of class role during WS subscription
- (b772c491 - BT#21185) Tracking: Update important activities report to not load anything if no search has been done, and to show the list of terms that can be searched
- (48c43077 - BT#21195) Documentation: Add index suggestion for table track_e_default
- (e039ad4a - BT#21163) Wiki: fix icon actions for discussions
- (324f604a - BT#21163) Wiki: fix previous commit to fix quote in page title and reflink that broked sql queries
- (15a9422b - BT#21163) Wiki: fix quote in page title and reflink that broked sql queries
- (9610bd60 - BT#21163) Wiki: fix quote in page title and reflink that broked sql queries
- (14308008 - BT#20849) LDAP: enable ldap admin password encryption in synchronisation script to avoid having clear password in the configuration file
- (12655c3f) Internal: Add additional check on alternative authentication source file to avoid logging useless warnings
- (2c0f90ba) Admin: Avoid error when updating user if expiration date is enabled but has no value (author: juancpbinario)
- (9914b74d - BT#21185) Learnpath: log learning path creation, update and deletion into track_e_default
- (0d533efd - BT#21185) Exercise: log exercise creation and update
- (4f219c2b) Exercise: Add constants for additional exercises logging
- (5d256140 - BT#21185) Exercise: log exercise deletion
- (b4fa0d04 - BT#21185) Exercise: log creation of new questions by duplication
- (8907075d - BT#21185) Exercise: log differently automated deletion of incomplete results vs manual deletion of all results
- (270dd7bd - BT#21163) Wiki: fix special caracters in reflink for redirect after page edition
- (4633d7fa - BT#21165) Chat: Group: Add specific exception not to show action icons on files inside the chat_files folder for students
- (e23ee80a - BT#21163) Wiki: fix special caracters in reflink search to find the correct page for links
- (c6f00506) Mail: Add support for passphrase for DKIM private key Current config doesn't implement passphrase which is more or less the forced way openssl will generate a key now.
- (e5bef38a - BT#21129) Learnpath: do not show category when no LP inside the category, fix error when LP is invisible
- (83db3dfc - BT#21166) Glossary: fix import error with xlsx and description field empty
- (28ebee28 - BT#21163) Wiki: fix url encode for new page wiki title to get the correct title
- (a70c3ade - BT#21163) Wiki: fix special character encoded in page reference that broke viewing, editing, discuss and reference links pages
- (b025b391 - BT#21165) Chat: Group: Adapt default behaviour of chat folder in document tool in a group to act as in the course document tool for with the course chat folder
- (19dc8e5e) Plugin: OAuth2: Add event log when updating user
- (1b19cdae) Internal: Separate commands to run openoffice converter
- (48bb9a20 - BT#21163) Plugin: vChamilo: Update 'archive' (pre-1.10 term) to 'cache'
- (7c64c6d7 - BT#21151) User: fix password field in profile visible if needed to change email even if profile settings indicates not to show password
- (9ad6162a - BT#21163) Plugin: vChamilo: Update deprecated configuration path in cron script
- (864f73fe - BT#21164) Wiki: Use the same icons for notification as in the forum tool and same language variables for coherence
- (21a0371f - BT#21164) Forum: fix notification message to have a different message when cancelling notification
- (627a97a0 - BT#21164) Forum: Link: Work: Wiki: Use the same visibility variable names as for documents and Learning path to make it all coherent and always indicate what will happen when pressing the icon
- (81e557de - BT#21164) Wiki: correcting alt button text on notification icon to correspond to the action to be realised
- (fb9b7c82 - BT#21160) Group: global export made to xls and not to csv when using xls icon
- (25b2fdfe - BT#21146) Internal: Fix duplicate users page query
- (6a3e0898 - BT#21153) Link: fix checkurl for cases like youtube that do not accept request in IPv6 and need to have arequest in IPv4
- (ed21498a - BT#21154) Plugin: AI Helper: Documentation: Update API key creation documentation
- (2cfba6be - BT#21151) User: fix profile edition to show password due to auth_source not present in user from session
- (64a0062d) Plugin: AzureActiveDirectory: Check if plugin is enabled to do callback process
- (fafe1dbe) Plugin: OAuth2: Check if plugin is enabled to do callback and oidc login process
- (a0393ebe - BT#21122) Forum: Fix number of thread and posts in the category page
- (48f192df - GH#4916) Course: Fix undefined function html_filter()
- (88fe731a - BT#21018) Attendance: Only show sign button if the user has been marked as present
- (a528ca13 - BT#20849) LDAP: enable ldap admin password encryption to avoid having clear password in the configuration file
- (363fdd0f - BT#21021) Admin: User export: Fix issue in full export introduced by last_login option in 9472790
- (4d9b0339) Plugin: Justification: Send message when all justification pieces have been completed.
- (33329fc7 - BT#21063) Wiki: Fix logical error to let not only admin edit the page when page has not yet been edited a first time
- (9a0785d0 - BT#21066) Document: Security: fix sanitize file name that could not import document with special characters, fix commit 3d74fb7d99bd2e287730552f7a66562417a55047