Changes in 12.5 --------------- - Add '&modfunc=save' to form URL in Expenses.php, Incomes.php, Salaries.php, StaffPayments.php, DisciplineForm.php, Referrals.php, EnterEligibility.php, InputFinalGrades.php, StudentFees.php, StudentPayments.php & Preferences.php - SQL case-insensitive username uniqueness check in ImportUsers.fnc.php - Fix HTML error label's for attribute doesn't match any element id in General_Info.php - Fix add .tinymce CSS class when class already set in $extra param in Inputs.php - JS add CSP root, functions & programFunctions (global, always loaded) in Gruntfile.js, assets/js/csp/ - JS add setInnerHTML() function in warehouse.js - JS add submenuOnTouch() function in warehouse.js - JS Prevent submitting form if no checkboxes are checked in warehouse.js & Inputs.php - JS add bottomButtonClick() Bottom.php buttons click related events in warehouse.js & Bottom.php - JS deprecate switchMenu() function: use `
` instead in warehouse.js, General_Info.inc.php, Search.fnc.php & Widgets.php - JS ajaxPrepare(): handle #ajax_update_body, #menu_user_session & #warehouse_user_session in warehouse.js, Side.php & Warehouse.php - JS use #x_redirect_url value instead of XRedirectUrl global var in warehouse.js & PreparePHP_SELF.fnc.php - JS Trigger custom ajaxPrepare event in warehouse.js - Deprecate `_printPageHead()` function & rework display logic in PasswordHelp.php - JS add backPrompt() function in BackPrompt.js & Prompts.php - JS remove inline code from CaptchaInput() in Inputs.php & CaptchaInput.js - JS remove inline code from FileInput() in Inputs.php & FileInput.js - JS remove inline code from MLTextInput() in Inputs.php & MLTextInput.js - JS remove inline code from MarkDownInputPreview() in Inputs.php & MarkDownInputPreview.js - JS required group of checkboxes in Inputs.php & MultipleCheckboxInput.js - JS remove inline code from PasswordInput() in Inputs.php & PasswordInput.js - JS remove inline code from DeletePrompt() & Prompt() + add .button-prompt-cancel CSS class in Prompts.php & Prompt.js - JS remove inline code from Search() in Search.fnc.php & Search.js - JS remove inline code from Select2Input() in Inputs.php & Select2Input.js - JS remove inline code from TinyMCEInput() in Inputs.php & TinyMCEInput.js - JS remove inline code from Widget_course in Widget.php & Course.js - JS remove inline AJAX call in ClassRank.inc.php, FinalGrades.inc.php, Addon.fnc.php, Modules.inc.php, Plugins.inc.php & AjaxUrl.js - JS remove inline code from MoodleImportFormSubmitJS() in Moodles/config.inc.php, ImportUsers.fnc.php & ImportFormSubmit.js - JS remove inline reload menu code in MarkingPeriods.php, Rollover.php, Modules.inc.php, Profiles.php & ReloadMenu.js - JS remove inline code from `_makePaymentsCommentsInput()` in Accounting/functions.inc.php & MakePaymentsCommentsInput.js - JS remove inline code from program in Administration.php & Administration.js - JS remove inline code from program in FixDailyAttendance.php & FixDailyAttendance.js - JS remove inline code from RegistrationAdminContactEnable() in RegistrationAdmin.fnc.php & RegistrationAdminContactEnable.js - JS remove inline code from RegistrationSiblingUseContactsAddress() in Registration.fnc.php & RegistrationSiblingUseContactsAddress.js - JS remove inline code from program in MassCreateAssignments.php & MassCreateAssignments.js - JS remove inline code from StudentAssignmentSubmissionOutput() in StudentAssignments.fnc.php & StudentAssignmentSubmissionOutput.js - JS remove inline code from program in ChooseCourse.php & ChooseCourse.js - JS remove inline code from program in ChooseRequest.php & ChooseRequest.js - JS remove inline code from program in Export.php & Export.js - JS remove inline code from program in Courses.php & Courses.js - JS remove inline code from program in MassDrops.php & MassDrops.js - JS remove inline code from program in MassRequests.php & MassRequests.js - JS remove inline code from program in MassSchedule.php & MassSchedule.js - JS remove inline code from program in Requests.php & Requests.js - JS remove inline code from program in Schedule.php & Schedule.js - JS remove inline code from program in Scheduler.php & Scheduler.js - JS remove inline code from program in AccessLog.php & AccessLog.js - JS remove inline code from program in Configuration.php & Configuration.js - JS remove inline code from program in MarkingPeriods.php & MarkingPeriods.js - JS remove inline code from program in PortalPolls.php & PortalPolls.js - JS remove inline code from program in Rollover.php & Rollover.js - JS remove inline code from `_makePaymentsCommentsInput()` in Student_Billing/functions.inc.php & MakePaymentsCommentsInput.js - JS remove inline code from Addresses & Contacts tab in Address.inc.php & Address.js - JS remove inline code from General Info tab in General_Info.inc.php & CreateStudentAccount.js - JS remove inline code from program in StudentLabels.fnc.php & StudentLabels.js - JS remove inline code from BottomButtonBackUpdate() in Bottom.fnc.php & BottomButtonBackUpdate.js - JS remove inline code from ChartjsChart() in Charts.fnc.php & ChartjsChart.js - JS remove inline code from GetFieldsForm() in Fields.fnc.php & FieldsGetForm.js - JS remove inline code from SubstitutionsInput() in Substitutions.fnc.php & SubstitutionsInput.js - JS fix CSP error: use setInnerHTML() instead of jQuery .append() function in jquery.colorbox.js & jquery.colorbox-min.js - JS not available, reload page (eg. when reopening closed tab) in Warehouse.php, noJsReload.js & warehouse.js - Module is addon, set custom module icon & remove $icon param in DashboardModule.fnc.php - CSP Redirection is done in HTML in HackingLog.fnc.php, Theme.fnc.php, Student.php & User.php - Fix reload theme when "Force" checked in Theme.fnc.php - CSP add .onmouseover-tipmsg CSS class, use `data-title` & `data-msg` attributes in TipMessage.fnc.php - Redirection is done in HTML in case current request is AJAX in Warehouse.php - Add `_gradeScaleInputHtml()` & `_search()` private methods to Widget_letter_grade object in Widget.php - Use Select2 input + AJAX search when scale has more than 1003 grades in Widget.php - Change User-Agent to "RosarioSIS/1.0; +https://www.rosariosis.org/" in curl.php - Cache config values, avoid calling Config() function X times in Currency.fnc.php & User.fnc.php - Submit selected date: use `onchange-date-submit` CSS class & `data-name` attribute in Date.php - Add CSS classes to .list element in ListOutput.fnc.php - CSP use the 'vertical-tab-navigation' class option for ListOutput() in Grades.php & InputFinalGrades.php - CSP remove unsafe-inline Javascript: use `data-url` attribute in ListOutput.fnc.php - Use MultipleCheckboxInput() function in AddAbsences.php - CSP add .onclick-checkall CSS class & use `data-name-like` attribute in AddAbsences.php, DuplicateAttendance.php, Exceptions.php & Profiles.php - CSP add .onclick-toggle CSS class & use `data-id` attribute in CreateParents.php, ReportCards.fnc.php & Transcripts.fnc.php - FinalGradeSave() can save COMMENT column in FinalGrades.inc.php - Include Students active as of Timeframe end date in DailyTransactions.php - CSP add .onchange-maybe-edit-select CSS class in StudentsUsersInfo.fnc.php & Address.inc.php - Prevent using username, or email in the password in General_Info.inc.php - CSP add .onclick-ajax-link & .onchange-ajax-link CSS classes, use `data-link` attribute, program wide - CSP add .onchange-ajax-post-form CSS class, program wide - CSP use curl POST instead of AJAX to send data to external domain in FirstLogin.fnc.php - HTML space gain: remove minus between letter & percent grades in Grades.php - SQL remove unused columns in GradebookBreakdown.php - CSP use `