Changes in 12.7.2 ----------------- - Fix Checkbox input, use `_makeCheckboxInput()` function in Schools.php - Fix CSS responsive header, use .rseparator class in Grades.php, AnomalousGrades.php & Statements.php - Fix SQL error invalid input syntax for type date: "" in AssignOtherInfo.php - Fix Final Grade when assignments are weighted in StudentGrades.php - Fix Multilingual course title: use ParseMLField() in ProgressReports.php, thanks to @Macadoshis - Fix CSS responsive List width: do NOT use the .fixed-col class, use pure CSS in Schedule.inc.php - Fix regression since 12.5 JS update body on mobile: menu button adds #! to URL, remove hash in warehouse.js - Fix regression since 12.5 JS do not setInnerHTML if no target in warehouse.js - Fix CSS theme WPadmin menu loading icon height in stylesheet.css & zresponsive.css Changes 12.7.1 -------------- - Fix reassign existing Barcode to student Food Service account in Food_Service/Students/Accounts.php - Add `_skipDie()` function, used when skipping CSP report in SaveReport.php - Multilingual course title: use ParseMLField() in Schedule.inc.php - CSS responsive fix Schedule table, use .rbr class in Schedule.inc.php - Skip CSP violation triggered by safari-web-extension & sandbox eval code in SaveReport.php - Fix Chrome user logged out after CSP violation in SaveReport.php Changes in 12.7 --------------- - SQL allow array in $where_columns: WHERE COLUMN IN(val1,val2) in DBUpsert.php - Fix #363 Pull-Down field: add "No Value" option in AssignOtherInfo.php - Fix #363 Checkbox Field: save unchecked state in AssignOtherInfo.php - Fix #363 Auto Pull-Down field: add "-Edit-" option in AssignOtherInfo.php - Rework save logic & use DBUpdate() function in AssignOtherInfo.php - Move PhpMyAdmin\MoTranslator classes to match their namespace in classes/PhpMyAdmin/MoTranslator/ - Move Symfony\Polyfill classes to match their namespace in classes/Symfony/Polyfill/ - Remove XML-RPC compatibility classes in classes/PHPCompatibility/Xmlrpc/ - Remove XML-RPC compatibility functions in ProgramFunctions/PHPCompatibility/xmlrpc.php & plugins/Moodle/client.php - Move Services_JSON class to match its namespace (none) in classes/ - Move PHPMailer\PHPMailer classes to match their namespace in classes/PHPMailer/PHPMailer/ - Move mikehaertl classes to match their namespace in classes/mikehaertl/ - Move Shuchkin classes to match their namespace in classes/Shuchkin/ - Move StaffWidgets & Widgets classes to match their namespace in classes/RosarioSIS/ - Move StaffWidget classes to match their namespace in classes/RosarioSIS/StaffWidget/ - Move Widget classes to match their namespace in classes/RosarioSIS/Widget/ - Autoload classes (PSR-4): classes/[Namespace]/[Class].php in Warehouse.php - Autoload classes (PSR-4): remove require_once, program wide - Custom widget classes should now use \Addon_Name\StaffWidget\ or \Addon_Name\Widget\ namespace - Fix "Last Year Course" widget responsive: add .st class in modules/Scheduling/functions.inc.php - Deprecate PhpDebugBar() & Kint() functions in Debug.fnc.php - Minor corrections to the Russian and Ukrainian translations in rosariosis.po & rosariosis.sql - Simplify PHP logic of HackingLog(): 17 lines gain in HackingLog.fnc.php - Use MultipleCheckboxInput() function in `_makeMultipleInput()` in StudentsUsersInfo.fnc.php - Fix PHP8.5 deprecated curl_close() function in curl.php - Double (free) Comment input size when MP does not do Comments in InputFinalGrades.php - Misconfiguration hint: Scale Value different from max GPA Value in ReportCardGrades.php - Misconfiguration hint: Minimum Passing Grade > Scale Value in ReportCardGrades.php - CSS themes enlarge custom Numeric field in stylesheet.css - HTML increase "Course" input maxlength to 100 in EditReportCardGrades.php - HTML use number type for Grade and Credit inputs in EditReportCardGrades.php - Do not save CSP violations triggered by browser extensions, some domains & custom ones in SaveReport.php - Add Czech (Czech Republic) translation in locale/cz_CZ.utf8/ - Fix regression since 12.5 Calendar select input was erasing calendar days in Calendar.php - Fix PHP8.5 deprecated imagedestroy() function in ImageResizeGD.php Changes in 12.6 --------------- - HTML responsive stackable tables in Export.php - Export list: add Total row in ListOutput.fnc.php - Add rounded flag icons in locale/[locale_code]/flag.png - Fix #362 Order by Points as Letter Grade is alphabetically sorted (may be inaccurate) in Grades.php - Add Activity field is required + "Remove" activity (instead of "Delete") in Eligibility/Student.php - Fix responsive image height, rename $width param to $height in FS_Icons.inc.php & MenuItems.php - HTML add fieldset & padding to PopTable in MassRequests.php - CSS add .class-picture class in PrintClassPictures.php - CSS fix #365 pictures width, height & name overflow in PrintClassPictures.php - Remove `_saveRosarioModules()` local function, use Config() in Modules.inc.php - Remove `_saveRosarioPlugins()` local function, use Config() in Plugins.inc.php - CSS Fix first column (list, table) in DailySummary.php, Grades.php, Search.inc.php, rtl.css, stylesheet.css & zresponsive.css - CSS FlatSIS theme reduce bottom buttons height in stylesheet.css & zresponsive.css - Display short month and year labels instead of short month only in CategoryBreakdownTime.php - SQL order Transcript Grades by Course Title in Transcripts.fnc.php - Add Administrator option to Visible To User Profiles in Resources.fnc.php, rosariosis.sql & rosariosis_mysql.sql - Create Student Account: Force Default School in index.php, Configuration.php, Student.php, General_Info.inc.php, rosariosis.sql & rosariosis_mysql.sql - SQL add csp_reports table in rosariosis.sql & rosariosis_mysql.sql - Add Content Security Policy plugin in plugins/Content_Security_Policy/, rosariosis.sql & rosariosis_mysql.sql - Update to version 12.6 in Update.fnc.php - Add Content-Security-Policy-Report-Only HTTP header in Warehouse.php - Fix SQL error foreign keys: force roll Schools in Rollover.php - Update French & Spanish translations in rosariosis.po - Add Russian & Ukrainian translations in InstallDatabase.php, locale/ru_RU.utf8/ & locale/uk_UA.utf8/ 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 `