# CHANGES
## RosarioSIS Student Information System
Changes in 11.4.2
-----------------
- Course Teacher change: Update teacher's assignments in Courses.fnc.php
Changes in 11.4.1
-----------------
- Fix SQL error invalid input syntax for type integer: "" in Courses.php
- InputDivOnclick() Do not not convert single quotes to gain a few bytes in Inputs.php
- Add `functions/PDF.php|pdf_stop_html` & `functions/PDF.php|pdf_stop_pdf` action hooks in Actions.php & PDF.php
- Fix PHP warning use reset() instead of guessing if $errors[1] is set in ErrorMessage.fnc.php & diagnostic.php
- Add arguments to Action tags PHPDoc in Actions.php
- Add `Students/Letters.php|header` action hook in Actions.php & Letters.php
- Add `Grades/HonorRoll.php|header` action hook in Actions.php & HonorRoll.php
- Add `ProgramFunctions/Template.fnc.php|before_get` & `ProgramFunctions/Template.fnc.php|before_save` action hooks in Actions.php & Template.fnc.php
Changes in 11.4
---------------
- Add XRedirectUrl JS global var for soft redirection when not an AJAX request in PreparePHP_SELF.fnc.php & warehouse.js
- JS Fix double HTML character encoding, use jQuery text instead of jQuery html in warehouse.js
- PostgreSQL fix limit set_updated_at_triggers() to current schema in rosariosis.sql
- SQL add Comment to every grade of the Main scale in rosariosis.sql & rosariosis_mysql.sql
- Add Chrome OS to GetUserAgentOS() in UserAgent.fnc.php
- Add 'SELECT_ONLY' to $extra param in GetStaffList.fnc.php
- SQL performance: limit main query to teacher profile in GetTeacher.fnc.php
- Smart cache: do not get ALL users database twice if Teacher not found in GetTeacher.fnc.php
- 'ParseMLField' can be used as a DBGet() callback function to parse column in ParseML.php
- Breaking change: remove use of 'next_modname' request param in Search.fnc.php, Search.inc.php & various programs
- Remove use of `$_SESSION['_REQUEST_vars']` in MyReport.php, Schedule.php, ClassSearchWidget.fnc.php, Calendar.php, CopySchool.php, Search.inc.php & Export.php
- Simplify use of `$_SESSION['Back_PHP_SELF']` in MyReport.php, ClassSearchWidget.fnc.php, Search.inc.php & Export.php
- Do NOT rely on SubmitButton() name param, use modfunc instead in DailyMenus.php, EditReportCardGrades.php, StudentAssignments.php, Calendar.php & Schools.php
- Fix isPopup() for Calendar Events new modfunc detail_save & detail_delete in Warehouse.js
- Use 'delete_ok' URL param instead of submit button name in Prompts.php
- DeletePrompt() Go back in browser history on Cancel (unless $remove_modfunc_on_cancel = false) in Prompts.php
- Rename student checkbox from 'student' to 'st' to gain space in URL in MassDrops.php
- User is not logged in, redirect to login screen in Help.php
- Fix SQL error when USERNAME length > 100 in index.php
- Automatically clear Access Log entries older than one year in AccessLog.php
- Only list events for selected month by default in Calendar.php
- Use DBUpsert() in Comments.inc.php
- Set Moodle course end date (enddate parameter) in plugins/Moodle/Scheduling/Course.php
- PHP error reporting: use php.ini configuration if debug mode not set in Warehouse.php
- Add --single-transaction flag to mysqldump so database remains in a consistent state throughout the backup in DatabaseBackup.php
- Reassign Course Subject (unless Moodle plugin is active) in Courses.php & Courses.fnc.php
- GetGpaOrTotalRow() Deprecate $courses_number param in Grades.fnc.php, ReportCards.fnc.php & Transcripts.fnc.php
- GetGpaOrTotalRow() Fix check MP exists before trying to get GPA in Grades.fnc.php
- Add Group courses by subject (only for Report Cards) in ReportCards.fnc.php
- Add "Use Grade Scale Comments" option in InputFinalGrades.php
- Update French & Spanish translations in rosariosis.po
- Remove Social Security field from Substitutions, already added by SubstitutionsCustomFields() in Transcripts.fnc.php
- Fix SQL error Field 'gp_passing_value' doesn't have a default value in ReportCardGrades.php
- Make functions: simplify setting $id var, program wide
- Prepare jQuery Form to FormData transition: check for `$_FILES[ $input ]['name']` in FileUpload.fnc.php, Accounting/functions.inc.php, Assignments.php, PortalNotes.php, Student_Billing/functions.inc.php, Student.php & User.php
- Attach multiple files in StudentAssignments.fnc.php
- Fix file upload for new Contact/Address in Student.php & Address.inc.php
- Add "Student Info tab fields after" action hook: Add your own fields in Actions.php & Other_Info.inc.php
- Add "User Info tab fields after" action hook: Add your own fields in Actions.php & Other_Info.inc.php
- Fix NoInput() display '-' when $value is false in Inputs.php
- Add "Report a bug" link to Resources in rosariosis.sql, rosariosis_mysql.sql, rosariosis_es.sql & rosariosis_fr.sql
- Fix SQL error Data too long for column 'title' in Menus.php
- Remove trailing '-main' from add-on directory in Modules.inc.php & Plugins.inc.php
- Add "Filter Grade Level" action hook in Actions.php & GetGrade.fnc.php
- Replace `_makeReadMe`, `_makeActivated` & `_delTree` functions with `AddonMakeReadMe`, `AddonMakeActivated` & `AddonDelTree` in Addon.fnc.php, Modules.inc.php & Plugins.inc.php
Changes in 11.3.3
-----------------
- Fix PHP 8.1 fatal error: array_key_exists() arg 2 ($array) must be of type array in ListOutput.fnc.php
Changes in 11.3.2
-----------------
- Fix PHP fatal error checkdate(): arg must be of type int, string given in Date.php
- Fix SQL error when amount has exponent, ie "10e-2" in Expenses.php, Incomes.php, Salaries.php, StaffPayments.php, MassAssignFees.php, MassAssignPayments.php, StudentFees.php & StudentPayments.php
- Set "Parent" as default Profile option (least compromising option) in Users/includes/General_Info.inc.php
- Simplify code for requested 'type' & remove use of `$_SESSION['_REQUEST_vars']` in Accounts.php, ActivityReport.php, BalanceReport.php, Reminders.php, ServeMenus.php, Statements.php & Transactions.php
- Fix maintain current student ID when multiple tabs are open in Eligibility/Student.php, Accounts.php, ServeMenus.php, Transactions.php, Student_Billing/functions.inc.php, StudentFees.php & StudentPayments.php
- Fix maintain current user ID when multiple tabs are open in Accounting/functions.inc.php, Salaries.php, StaffPayments.php, Transactions.php, Accounts.php, ServeMenus.php & Exceptions.php
Changes in 11.3.1
-----------------
- HTML use number input for "Base Grading Scale" in Schools.php
- Always add raw Datetime inside HTML comment in Date.php
- JS fix for IE 11 remove function param default value in jquery-passwordstrength.js & warehouse.js
- Fix regression since 4.7 SQL set_class_rank_mp() Class Rank calculation when various school years in rosariosis.sql, rosariosis_mysql.sql & Update.fnc.php
Changes in 11.3
---------------
- Immunization or Physical (select): No N/A value for existing entries in StudentsUsersInfo.fnc.php
- Nurse Visit (date): No N/A value for existing entries in StudentsUsersInfo.fnc.php
- Medical Alert: Required TITLE value for existing entries in StudentsUsersInfo.fnc.php
- SQL add NOT NULL for student_medical type, student_medical_alerts title & student_medical_visits school_date columns in rosariosis.sql & rosariosis_mysql.sql
- Replace ExcelXML class with SimpleXLSXGen in classes/ExcelXML.php & classes/SimpleXLSXGen/
- Export list to Excel using SimpleXLSXGen (more reliable) in ListOutput.fnc.php
- Fix list sort, search, page, save when multiple lists on same page in ListOutput.fnc.php
- Remove null values from URL in PreparePHP_SELF.fnc.php
- We are inside a sentence, convert nouns to lowercase (except for German) in ListOutput.fnc.php & Prompts.php
- No "Default for Teacher" checkbox if Type is "Office Only" in AttendanceCodes.php
- Fix incoherence with AllowEdit() when category_id present or not in URL in Student.php & User.php
- Refuse to enroll student twice in the same course period in Schedule.php & MassSchedule.php
- Update French & Spanish translations in rosariosis.po & help.po
- Add Percent grade inside HTML comment so we can accurately sort by Grade column in InputFinalGrades.php
- No new days inputs if Edit not allowed in DailyMenus.php
- Allow non admin users & students to Generate Menu (no AllowEdit() required) in DailyMenus.php
- Simplify logic to save Menu ID to session in Kiosk.php & MenuReports.php
- Fail if Marking Periods are not in current School Year in FinalGrades.php & ReportCards.fnc.php
- Fix "Daily Absences" / "Other Attendance" strings in ReportCards.fnc.php
- Moodle plugin: only roll Users & Courses once in Rollover.php & plugins/Moodle/README.md
- Contact not found, remove person_id & redirect URL in Address.inc.php
- Rename `$grades_RET[$i]` var to `$grade_i` inside foreach loop in ReportCards.fnc.php
- MySQL dump: export procedures, functions and triggers in DatabaseBackup.php
- Rename `_makeCheckBoxInput()` to `_makeCheckboxInput()` & `CheckBoxInput()` to `CheckboxInput()` in AttendanceCodes.php, EditReportCardGrades.php & EnrollmentCodes.php
- CSS responsive fix Stackable tables: columns always align left in zresponsive.css
- Update Installation Directions for Ubuntu 22.04 in INSTALL.md, INSTALL_es.md & INSTALL_fr.md
- Move MySQL step which accidentally was under PostgreSQL instructions in INSTALL_fr.md & INSTALL_fr.pdf
- SQL do not round GPA average in Grades/includes/Dashboard.inc.php
- CSS add .rseparator class responsive separator: hide text separator & break line in zresponsive.css & InputFinalGrades.php
- CSS add .addon-readme class Add-on module/plugin README inside colorBox in stylesheet.css
- Use DBUpsert() & check for required columns on INSERT in Medical.inc.php
- Fix use DBUnescapeString() to unescape string for both PostgreSQL & MySQL in Config.fnc.php
- Fix sorting list when first value is null in ListOutput.fnc.php
- JS fix rt2colorBox children height calculation in warehouse.js
- CSS fix tooltip text wrapping inside responsive list in stylesheet.css
- JS Do NOT scroll to top onload in warehouse.js
- To disable responsive list layout, add `&LO_disable_responsive=Y` to the URL in ListOutput.fnc.php
Changes in 11.2.4
-----------------
- Fix DisplayName() for "Last Name First Name" & "Last Name, First Name" options in GetStuList.fnc.php
- Fix Mailing Label skip if No Contact tied to address in MailingLabel.fnc.php
- MySQL 8+ fix infinite loop due to cached AUTO_INCREMENT in database.inc.php
Changes in 11.2.3
-----------------
- Security fix #341 update phpwkhtmltopdf, php-shellcommand & php-tmpfile in classes/phpwkhtmltopdf
- Fix PHP warnings, force search_modfunc to list in Bottom.php
- Move Updates for version 6, 8 and 9 in UpdateV6_8_9.fnc.php
- Fix HasFirstLoginForm() when admin did not complete steps on first login in FirstLogin.fnc.php
- SQL fix duplicate key value violates unique constraint "attendance_completed_pkey" in Courses.fnc.php
- Use return instead of exit. Allows Warehouse( 'footer' ) to run in TakeAttendance.php & Grades/Configuration.php
- Fix column name is empty, use Period Title if no Short Name in StudentSummary.php
Changes in 11.2.2
-----------------
- Hide list count in ReportCards.fnc.php, Transcripts.fnc.php & Preferences.php
- Security: SQL prevent INSERT or UPDATE on any table in MassCreateAssignments.php, SchoolFields.php, AddressFields.php, PeopleFields.php, StudentFields.php & UserFields.php
- Adapt missing config table SQL error for MySQL in diagnostic.php
- Fix PHP warnings when course_period_id GET param does not exist in Courses.php
- Fix SQL error foreign keys: force roll Schools in Rollover.php
Changes in 11.2.1
-----------------
- ProgramUserConfig(): SQL can use negative $staff_id for Students in Config.fnc.php
- Excel & CSV: replace line breaks (br) with "\n" instead of space in ListOutput.fnc.php
- Only show header if more than 1 school in Users/includes/Schedule.inc.php
- Remove start & end date params from GET form URL in Expenses.php, Incomes.php & StudentSummary.php
- Fix SQL syntax error at or near "ND" in DeleteTransactionItem.fnc.php
- SQL add FOREIGN KEY to transaction_id column in rosariosis.sql & rosariosis_mysql.sql
- SQL Add MENU_ITEM_ID column to food_service_transaction_items & food_service_staff_transaction_items tables in Update.fnc.php, rosariosis.sql & rosariosis_mysql.sql
- Fix regression since 11.2 SQL error duplicate key value violates unique constraint in ServeMenus.php
- FS transaction menu item ID references food_service_menu_items(menu_item_id) in ServeMenus.php
Changes in 11.2
---------------
- Add $add_post argument, POST parameters to add to the URL (optional) in Prepare_PHP_SELF.fnc.php
- Fix Apache 414 Request-URI Too Long, move st from `$_REQUEST` to `$_SESSION` in FinalGrades.php
- Add `$_POST` elements, ytd_tardies_code, mp_tardies_code & mp_arr to URL in FinalGrades.php
- CSS WPadmin theme remove bold from MD preview tabs in stylesheet.css
- SQL Add CREATED_BY column to billing_fees & billing_payments tables in Update.fnc.php, rosariosis.sql & rosariosis_mysql.sql
- Expanded View: Add Created by & Created at columns in MassAssignFees.php, MassAssignPayments.php, StudentFees.php, StudentPayments.php & DailyTransactions.php
- Do NOT create Assignment Type if already exists for Course & Teacher in MassCreateAssignments.php
- Add RosarioURL() function in Prepare_PHP_SELF.fnc.php
- Use RosarioURL() instead of local function in PasswordReset.php, MarkDownHTML.fnc.php & SendNotification.fnc.php
- Security remove $wkhtmltopdfAssetsPath & --enable-local-file-access, use base URL instead in INSTALL.md, INSTALL_es.md, INSTALL_fr.md & PDF.php
- HTML increase Username input size (suitable for email address) in General_Info.inc.php
- Fix Attendance State Code: rename "Half Day" to "Half" in AttendanceCodes.php, AttendanceCodes.fnc.php & AttendanceSummary.php
- CSS themes adjust tooltip height to fit inside PopTable in stylesheet.css & zresponsive.css
- Fix SQL error when school has no MPs in Rollover.php
- HTML add arrow to indicate sub-option in Configuration.php
- Rename "Registration" fieldset to "Public Registration" in Configuration.php
- Add AttendanceDailyTotalMinutesSQL() & AttendanceDailyTotalMinutesPresent() functions in UpdateAttendanceDaily.fnc.php
- Breaking Change: use AttendanceDailyTotalMinutesPresent() instead of AttendanceDailyTotalMinutes() in UpdateAttendanceDaily.fnc.php
- Add Action hook, filter Total Minutes Present in UpdateAttendanceDaily.fnc.php & Actions.php
- Dynamic Daily Attendance calculation based on total course period minutes in UpdateAttendanceDaily.fnc.php, AttendanceSummary.php & Configuration.php
- Add help text for Dynamic Daily Attendance calculation in Help_en.php
- SQL new default is 0 for ATTENDANCE_FULL_DAY_MINUTES Config option in rosariosis.sql & rosariosis_mysql.sql
- MarkDown: remove two spaces before line break in Markdownify/Converter.php
- Only allow column names of string type (not empty) in DBUpsert.php
- Fix SQL error when $columns is false in DBUpsert.php
- Update French & Spanish translations in rosariosis.po & help.po
- CSS themes apply list margin/padding outside widefat tables + fix .size-1 in stylesheet.css
- HTML Fix Menu description overflow hidden + allow MarkDown in DailyMenus.php
- Add Action hook Filter each menu item in the loop in Kiosk.php & Actions.php
- FS transaction item ID references food_service_menu_items(menu_item_id) in ServeMenus.php, rosariosis.sql & rosariosis_mysql.sql
- CSS WPadmin theme style fieldset legend like FlatSIS theme in stylesheet.css
- Fix Select Multiple from Options answer count when none selected in PortalPollsNotes.fnc.php
- Fix regression since 11.0 Reporter not saved when logged in as a Teacher in MakeReferral.php
- Fix SQL error when no MP array is empty in Grades.fnc.php
- Add Student Account fields table after action hook in Actions.php & Food_Service/Students/Accounts.php
- Add Food Service tab fields table after action hook in Actions.php & Food_Service/Student.inc.php
Changes in 11.1.2
-----------------
- Maintain list preferences as GET params in form URL (save) in Schedule.php
- Use basename() to extract file name from path in StudentsUsersInfo.fnc.php, Accounting/functions.inc.php, StudentAssignments.fnc.php & Student_Billing/functions.inc.php
- Fix PHP warning undefined array index in RegistrationAdmin.fnc.php
- CSS WPadmin theme style button text like FlatSIS theme in stylesheet.css
Changes in 11.1.1
-----------------
- Fix PostgreSQL error column "ac" of relation "attendance_completed" does not exist in Courses.fnc.php
Changes in 11.1
---------------
- Fix SQL error when no MPs in calcSeats0.fnc.php
- Choose Checkbox uncheck by default to prevent accidental creations in MassCreateAssignments.php
- HTML display Courses list next to Assignment Types list in MassCreateAssignments.php
- Set email for default admin user so he can reset his password in InstallDatabase.php
- Prevent using App name, username, or email in the password in PasswordReset.php, FirstLogin.fnc.php, Inputs.php & Preferences.php
- JS Add userInputs param to prevent using App name, username, or email in the password in jquery-passwordstrength.js
- Return EMAIL column for students too (empty if "Student email field" not set) in User.fnc.php
- Fix SQL error if delete Student email field, reset in StudentFields.php
- Add SideMarkingPeriodSelect() function in Side.php
- SQL Use GetFullYearMP() & GetChildrenMP() functions to limit Marking Periods in Grades/Configuration.php, ReportCards.fnc.php, Courses.php, MassDrops.php, MassSchedule.php & PrintSchedules.php
- Allow override GetFullYearMP(), GetAllMP(), GetParentMP(), GetChildrenMP() & GetCurrentMP() functions in GetMP.php
- SQL set min Credits to 0 & fix division by zero error in Courses.fnc.php, rosariosis.sql & rosariosis_mysql.sql
- SQL Update to version 11.1 in Update.fnc.php
- Add timestamp (including microseconds) to filename to make it harder to predict in FileUpload.fnc.php, Accounting/functions.inc.php, StudentAssignments.fnc.php, PortalNotes.php, Student_Billing/functions.inc.php
- Copy $DefaultSyear global var to session (once) to prevent errors when edited in Warehouse.php & Config.fnc.php
- Add "Probably a module. Move it to the modules/ folder." error in Plugins.inc.php
- Make Course Periods number link in Periods.php
- Move `_updateSchedulesCPMP()` to includes/Courses.fnc.php & rename CoursePeriodUpdateMP() in Courses.php & Courses.fnc.php
- Automatically update teacher: attendance_completed + grades_completed in Courses.php & Courses.fnc.php
- Automatically update credits (attempted and earned); will also recalculate GPA in Courses.php & Courses.fnc.php
- Update French & Spanish translations in rosariosis.po
- Update Recommended PHP configuration in INSTALL.md, INSTALL_es.md & INSTALL_fr.md
- CSS WPadmin: remove opensans EOT font files in font.css & `themes/WPadmin/fonts/opensans/*.eot`
- CSS themes: reduce list margin & padding when inside .widefat table in stylesheet.css
- CSS themes: force .tooltip styles when inside .widefat table head in stylesheet.css
- Fix SQL error null value in column "student_id" in Eligibility/Student.php
- Fix SQL error Unknown column 'a.ADDRESS' in 'where clause' in Percent.php
- CSS Fix PDF Frame background when multiple pages in HonorRoll.fnc.php
- Fix SQL error invalid input syntax for type integer: "" in Registration.fnc.php & RegistrationSave.fnc.php
Changes in 11.0.2
-----------------
- Fix SQL error escape Menu title in MenuReports.php & TakeMenuCounts.php
- MySQL fix specify COUNT column name in MenuReports.php
- Remove "-master" suffix from manually uploaded add-ons in Modules.inc.php & Plugins.inc.php
- Fix SQL error, Check if Account ID already exists in Student.php & Food_Service/Students/Accounts.php
Changes in 11.0.1
-----------------
- Fix PHP deprecated passing null to parameter #1 ($datetime) of type string in Warehouse.php
- MySQL fix infinite loop, emulate PostgreSQL's nextval() in database.inc.php
- Fix Apache 414 Request-URI Too Long, use POST method instead of GET in Administration.php
- Fix display result count when no singular/plural set in ListOutput.fnc.php
- Fix SQL drop order by School Period, allow Course Periods with no Periods in ReportCards.fnc.php
Changes in 11.0
---------------
- Add Weight Assignments option in Grades/Configuration.php, Assignments.php & MassCreateAssignments.php
- Add Weight field in Assignments.php & MassCreateAssignments.php
- Calculate Weighted Grade in Grades.php, InputFinalGrades.php & ProgressReports.php
- Add Assignment Weight in StudentGrades.php & StudentAssignments.fnc.php
- Translate "Zip" & "Zipcode" to "Zip Code" in GetStuList.fnc.php, MyReport.php, Registration.fnc.php, Schools.php & Address.inc.php
- HTML Text input min size is 2 in Inputs.php
- Skip School Period column if has no students scheduled for selected date in Administration.php
- Add microseconds to filename format to make it harder to predict in FileUpload.fnc.php, Accounting/functions.php, PortalNotes.php & Student_Billing/functions.php
- Remove UserCoursePeriodSchoolPeriod() & UserPeriod() functions in Current.php
- SQL access_log: deprecate LOGIN_TIME column, use CREATED_AT instead in index.php, AccessLog.php, Dashboard.inc.php, rosariosis.sql & rosariosis_mysql.sql
- SQL portal_notes & portal_polls: deprecate PUBLISHED_DATE column, use CREATED_AT instead in PortalNotes.php, PortalPolls.php, Portal.php, rosariosis.sql & rosariosis_mysql.sql
- Truncate column title to 36 chars if > 36 chars in MyReport.php & Grades.php
- Handle Points decimal with comma instead of point, ie "10,5" in Grades.php
- Increase default Password Strength from 1 to 2 in rosariosis.sql & rosariosis_mysql.sql
- PostgreSQL rename "rank" to "class_rank" in set_class_rank_mp() for consistency with MySQL in rosariosis.sql
- HTML put "" around the link href if no spaces in $link & no other attributes in Buttons.php & program wide
- HTML5 CSS use details + summary instead of .toggle hack in index.php, stylesheet.css & colors.css
- SQL add TITLE column in GetTeacher.fnc.php
- Cache Class average percent in Grades.fnc.php
- Add GetClassRank() function (for Course Period) in Grades.fnc.php
- Add Class Average & Class Rank (Course Period) in ReportCards.fnc.php
- Move "Progress Reports" from Teacher Programs to Grades menu (admin) in Grades/Menu.php, ProgressReports.php, rosariosis.sql & rosariosis_mysql.sql
- CSS FlatSIS enlarge left menu width by 6px for German in stylesheet.css
- SQL add ORDER BY to GetChildrenMP() in GetMP.php
- SQL select Grading Scales by Teacher, only the ones having student grades in GradeBreakdown.php
- Add Insert into or Update DB functions in DBUpsert.php
- Use DBUpsert() function in Template.fnc.php, Config.fnc.php & StudentAssignments.fnc.php
- Use DBInsertSQL() function in AddActivity.php, Scheduler.php, Calendar.php, MarkingPeriods.php, MassAssignFees.php & MassAssignPayments.php
- Use DBUpdateSQL() function in MarkingPeriods.php
- Use DBUpdate() & DBInsert() functions, program wide
- Create missing Food Service Student Account in Accounts.php
- Fix SQL display Students with no Food Service account in the list in Accounts.php
- Fix PHP warning if Food Service Student Account missing in Student.inc.php, Accounts.php, ServeMenus.php, Statements.php & Transactions.php
- Let user edit inputs on Food Service User Account creation in Accounts.php
- Fix Contact file path (delete) in Student.php
- Upload Address & Contact files in RegistrationSave.fnc.php
- Security: use URLEscape() for PHP redirection in index.php & Portal.php
- Use `$_REQUEST['search_terms']` to allow GET param in URL in Courses.php
- Move from serialize() to json_encode() in StudentAssignments.fnc.php & Comments.inc.php
- SQL calculate Class Rank for Progress Periods in ReportCards.php
- SQL Fix replacement in case the "username" contains the prefix in Removeaccess.php, thanks to @0xD0M1M0
- SQL add accounting_categories table in rosariosis.sql & rosariosis_mysql.sql
- Add Categories program to Accounting module in Categories.php, Menu.php, rosariosis.sql & rosariosis_mysql.sql
- Add `_makePaymentsCategory()` & `_makeIncomesCategory()` functions in Accounting/functions.inc.php
- Reuse `_makeIncomesTextInput()` function in `_makePaymentsTextInput()` in Accounting/functions.inc.php
- Use button only for File Attached input & download in Accounting/functions.inc.php & Student_Billing/functions.inc.php
- Add Timeframe start / end date filters in Expenses.php & Incomes.php
- Add Category column in Expenses.php & Incomes.php
- Add Title column in Expenses.php
- Fix display Go button for all users (no AllowEdit() required) in DailyTotals.php & DailyTransactions.php
- Add Category filter in DailyTransactions.php
- SQL Update v11.0: Move "Progress Reports" from Teacher Programs to Grades menu (admin) in Update.fnc.php
- SQL Update v11.0: Add accounting_categories table in Update.fnc.php
- SQL Update v11.0: Add TITLE column to accounting_payments table in Update.fnc.php
- SQL Update v11.0: Add CATEGORY_ID column to accounting_incomes & accounting_payments tables in Update.fnc.php
- SQL Update v11.0: Give admin profile access to Accounting > Categories program in Update.fnc.php
- Add & translate help texts for Weight Assignments option in Help_en.php, help.pot & help.po
- Translate Weight Assignments option to French & Spanish in rosariosis.pot & rosariosis.po
- CSS Add .rbr class, responsive `
` does not break line, use inside responsive table in zresponsive.css, DisciplineForm.php & Student_Billing/functions.inc.php
- Enable Test Mode by default in case of accidental run in Scheduler.php
- Fix PHP fatal error if openssl PHP extension is missing in Warehouse.php, index.php, Student.php & User.php
- MySQL fix not single MP check in MarkingPeriods.php
- Fix exception strtotime() returns false for year >= 2038 (PHP 32-bit) in Date.php
Changes in 10.9.8
-----------------
- Fix remove "-master" suffix from add-on folder in Modules.inc.php & Plugins.inc.php
- Update Default School Year to 2023 in config.inc.sample.php, rosariosis.sql & rosariosis_mysql.sql
Changes in 10.9.7
-----------------
- Fix SQL for Class Average calculation, exclude NULL grades in Grades.fnc.php
- Fix Total Credits reset for each student in ReportCards.fnc.php
- Fix NULL grade display when Min. and Max. Grades in ReportCards.fnc.php
Changes in 10.9.6
-----------------
- Do not use strtok(), can't handle nested calls for multiple files in InstallDatabase.php & database.inc.php
- Add Vietnamese (Vietnam) translation in locale/vi_VN.utf8/ & locale/REFERENCE.md
- Update German (Germany) translation in locale/de_DE.utf8/ & locale/REFERENCE.md
- Fix Portuguese (Brazil) translation for "Gradebook": "livro de notas" in locale/pt_BR.utf8/
Changes in 10.9.5
-----------------
- Fix SQL error table name "sam" specified more than once in ReportCards.fnc.php
- Security: prevent CSV Injection via formulas in ListOutput.fnc.php, thanks to Ranjeet Jaiswal
Changes in 10.9.4
-----------------
- Fix regression since 10.8.4 save multiple SelectInput() when none selected, add hidden empty input (only if $allow_na) in Inputs.php
- Save when none selected, add hidden empty input (Grade Levels) in Resources.php & Resources.fnc.php
Changes in 10.9.3
-----------------
- Security Fix browser loading cached page when page full reload (F5) + logout + Back button in warehouse.js, thanks to @b1tch3s
- Fix Edge browser detection in UserAgent.fnc.php
- Add-on SQL translation file can be named "install_es.sql" or "install_pt_BR.sql" in Modules.inc.php & Plugins.inc.php
- Fix regression since 10.8.1 SQL error when saving Contact/Address/Student Fields in Registration.fnc.php, RegistrationAdmin.fnc.php & RegistrationSave.fnc.php
Changes in 10.9.2
-----------------
- Fix Format Contact Field value based on its Type in ViewContact.php
- Fix regression add Contact Info columns to list in MyReport.php
- ETag + Cache-Control header: use no-cache directive in Warehouse.php
- Set `$_SESSION['is_secondary_teacher']` in SetUserCoursePeriod() in Current.php
- Fix Set current User Course Period before Secondary Teacher logic in TakeAttendance.php, AnomalousGrades.php, Assignments.php, Grades.php, InputFinalGrades.php & ProgressReports.php
- SQL Show Gradebook Grades of Inactive Students (Only if has grades) in StudentGrades.php
Changes in 10.9.1
-----------------
- Fix Anonymous Statistics bar overflow in StudentGrades.php
- SQL Show Gradebook Grades of Inactive Students (Course status, maybe dropped as of today) in StudentGrades.php
- Show Gradebook Grades of Inactive Students (School status) in StudentGrades.php
- Fix PHP error if date.timezone ini setting is an invalid time zone identifier in Warehouse.php
Changes in 10.9
---------------
- Fix do not add new Enrollment Record if existing has no Dropped date in Student.php, Enrollment.inc.php & SaveEnrollment.fnc.php
- Enrollment Start: No N/A option for first entry in StudentsUsersInfo.fnc.php
- Hide End Date input for Inactive Students (no Attendance Start Date) in StudentsUsersInfo.fnc.php
- SQL ORDER BY DEFAULT_CALENDAR IS NULL,DEFAULT_CALENDAR ASC (nulls first) for consistency between PostgreSQL & MySQL in Courses.fnc.php, Calendar.php & Enrollment.inc.php
- Simplify & harmonize code, use GetAllMP() in GPARankList.php, InputFinalGrades.php & TeacherCompletion.php
- Exclude already associated parents/students from Search() in AddUsers.php & AddStudents.php
- Replace "Course Title" in TipMessage with actual Course title in Attendance/, Eligibility/ & Grades/TeacherCompletion.php
- Handle multiple Course Periods on the same Period for same Teacher in Attendance/ & Eligibility/TeacherCompletion.php
- JS Remove "Go" button & submit form on select change in Eligibility/TeacherCompletion.php
- Add SetUserCoursePeriod() function in Current.php
- Set current User Course Period using SetUserCoursePeriod() in Side.php, TakeAttendance.php, EnterEligibility.php, AnomalousGrades.php, Assignments.php, Grades.php, InputFinalGrades.php, ProgressReports.php & TeacherPrograms.php
- Add `'&period=' . UserCoursePeriod()` to Teacher form URL in TakeAttendance.php, EnterEligibility.php, Assignments.php, Grades.php, InputFinalGrades.php, ProgressReports.php, StudentAssignments.fnc.php & Portal.php
- Remove period from URL when switching School / Year / MP / CP in Side.php
- HTML Rename "period" select input ID to "school_period" to avoid conflicts in Attendance/, Eligibility/, Food_Service/ & Grades/TeacherCompletion.php
- CSS Add modname class, ie .modname-grades-reportcards-php for modname=Grades/ReportCards.php in PDF.php
- CSS Add .list-column-[column_name] class in ListOutput.fnc.php
- CSS Set Report Cards Comments column (max) width to 33% in wkhtmltopdf.css
- Temporary AllowEdit so SelectInput() is displayed to everyone in DailyTransactions.php
- SQL ORDER BY Assignment Type first, then order Assignments in Grades.php
- Remove $count & $has_count_text variables in ListOutput.fnc.php
- Add pagination option (defaults to false) in ListOutput.fnc.php
- Add pagination for list > 1000 results in AccessLog.php & ReportCardGrades.php
- SQL gradebook_assignments table: Add WEIGHT column in Update.fnc.php, rosariosis.sql & rosariosis_mysql.sql
- Fix security issue, unset any FILE_ATTACHED column first in PortalNotes.php
- Use `_makeAutoSelectInputX()` for Contact Information Description in Address.inc.php
- SQL courses ORDER BY TITLE in Requests.php
- HTML remove "Add a Request" & hide "Subject" input label in Requests.php
- Update command to install wkhtmltopdf & dependencies in INSTALL.md
- Add link to Softaculous installation directions in INSTALL.md
- Fix wkhtmltopdf not rendering URL in CSS in PDF.php
- CSS Fix breaking words inside .header2 in stylesheet.css
- SQL set N/A grade GPA to NULL in rosariosis.sql, rosariosis_es.sql, rosariosis_fr.sql & rosariosis_mysql.sql
- Add Portuguese (Brazil) translation in InstallDatabase.php, REFERENCE.md, locale/pt_BR.utf8/ & rosariosis_pt_BR.sql, thanks to Emerson Barros
Changes in 10.8.5
-----------------
- Fix "Folder not writable" error on add-on zip upload in Modules.inc.php & Plugins.inc.php
Changes in 10.8.4
-----------------
- Fix SQL error escape menu title in DailyMenus.php, ServeMenus.php
- Fix MySQL date interval in Food_Service/Students/ServeMenus.php
- SQL order Transactions by ID in Transactions.php
- Fix regression since 10.6.2 SQL error invalid reference to FROM-clause entry for table "ssm" in Widget.php
- Fix do not set empty Grade Points to 0 in Grades.php
- Fix save multiple SelectInput() when none selected, add hidden empty input in Inputs.php
- Fix check if Available Seats < selected students calculation in MassSchedule.php
- SQL order Requests by Course in Requests.php
- CSS set minimum colorBox width to 50% view width in StudentGrades.php
- Fix SQL error when Phone > 30 chars in Address.inc.php
- If City length > 22 without space, force stackable table in Address.inc.php
- CSS responsive stack Address & Contacts table below Laptop MDPI screen in zresponsive.css
- Fix PHP fatal error Unsupported operand types: string - int when not a date in Date.php
- Fix do not display Rollover default check warning if modfunc=remove in EnrollmentCodes.php
- Fix check for Description & Value when saving new Contact Information in Address.inc.php
Changes in 10.8.3
-----------------
- Add assets/FileUploads/ directory
- Fix regression since 10.8.2 PHP fatal error $timestamp is not a valid date-time string in StudentAssignments.fnc.php
- Catch strftime_compat() exception $timestamp is not a valid date-time string in Date.php
Changes in 10.8.2
-----------------
- PHP<7 Fix add microseconds to filename to make it harder to predict in StudentAssignments.fnc.php, thanks to @jeffreygaor
- Add datetime to filename to make it harder to predict in Accounting/functions.inc.php & Student_Billing/functions.inc.php
- HTML add maxlength to Field Category & Name inputs in Fields.fnc.php
- Do not check username uniqueness if empty in Student.php & User.php
- CSS FLatSIS adjust fieldset border color & MD to HTML line-height in colors.css & stylesheet.css
- Fix MySQL 8 syntax error, 'rank' is a reserved keyword in rosariosis_mysql.sql
- Add MySQL global setting to allow function creation in INSTALL.md, INSTALL_es.md & INSTALL_fr.md
Changes in 10.8.1
-----------------
- Use CheckBoxOnclick() in StudentBalances.php & Schedule.inc.php
- Fix SQL error when Quarter with Assignments is deleted in Portal.php
- SQL Check requested assignment belongs to current Marking Period in Assignments.php
- MySQL + MariaDB < 10.5 fix FOREIGN KEY constraint syntax in rosariosis_mysql.sql
- SQL use CONCAT() instead of pipes || for MySQL compatibility in CreateParents.php
- Fix SQL error cast attendance code to integer in TakeAttendance.php
- Fix hide Contact Fields according to Emergency/Custody settings in Address.inc.php
- Fix MultipleCheckboxInput() save all unchecked, add hidden empty checkbox in Inputs.php
Changes in 10.8
---------------
- Fix MySQL Periods list in MasterScheduleReport.php
- SQL explicitly list all columns instead of `SELECT *` in MenuItems.php, Menus.php, EditHistoryMarkingPeriods.php, EditReportcardGrades.php, ReportCardCommentCodes.php, ReportCardComments.php & ReportCardGrades.php
- Add & use DBSQLCommaSeparatedResult() function (SQL result as comma separated list) in database.inc.php, Dashboard.inc.php, MasterScheduleReport.php & Export.php
- HTML email input remove pattern, add maxlength in PasswordReset.php, StudentsUsersInfo.fnc.php, NotifyParents.php, CreateParents.php & General_Info.inc.php, Other_Info.inc.php
- JS Fix #319 Try a full match first to identify selected menu link in warehouse.js
- Spanish translation add ¿ character before questions in rosariosis.po
- HTML add "Check All" checkbox after Periods in AddAbsences.php
- Truncate Assignment title to 36 chars in AnomalousGrades.php
- SQL resources table: Add PUBLISHED_PROFILES & PUBLISHED_GRADE_LEVELS columns in Update.fnc.php, rosariosis.sql & rosariosis_mysql.sql
- Add Resource Visibility options in Resources.php
- Move Resources functions to separate file & rename them in Resources.php & Resources.fnc.php
- Update French & Spanish translations in rosariosis.po
- CSS Fix Select2 dropdown hidden when inside colorBox (has z-index 9999) in stylesheet.css
Changes in 10.7.1
-----------------
- Fix SQL limit School Periods to Course Period in AddAbsences.php
Changes in 10.7
---------------
- CSS add Select2 styles in stylesheet.css & colors.css
- JS add Select2 jQuery plugin in assets/js/jquery-select2/
- Add Select2Input() function in Inputs.php
- Use Select2 instead of Chosen, fixes the overflow issue in Widget.php, MakeReferral.php, Transcripts.fnc.php & Address.inc.php
- Fix PHP8.2 deprecated Creation of dynamic property in Markdownify/ConverterExtra.php
- SQL always add space before AND to $extra['WHERE'], program wide
- Escape SanitizeHTML() & SanitizeMarkDown() before saving to DB, program wide
- Always use UserStudentID() instead of `$_SESSION['STUDENT_ID']` in PortalPollsNotes.php
- SQL use EXISTS(SELECT 1) instead of `EXISTS(SELECT *)` in EditReportCardGrades.php, Rollover.php & Moodle/functions.php
- Remove trailing seconds :00 & add sorting HTML comment to datetime in Date.php
- HTML set max Event Repeat Days to 300 in Calendar.php
- Only display Locked column if AllowEdit() in Schedule.php
- Schedule table: rename Periods column to Period (singular) in PrintSchedules.php & Schedule.inc.php
- HTML add padding to Assignment options + remove useless table in Grades/Configuration.php
- Move "Remove required attribute, TinyMCE bug" fix to TextAreaInput() in Inputs.php
- Only display profiles w/Custom if actually used to gain space in PortalPollsNotes.php
- Add & remove module icons in themes/FlatSIS/modules/
- Add .dotx,.ppsx,.mdb,.sldx,.odg,.odc,.odb,.odf,.numbers,.pages,.m4a,.tsv,.json,.ics file extensions to whitelist in FileUpload.fnc.php
- ROLL Gradebook Config's Final Grading Percentages for Admin (overridden) in Rollover.php
- HTML responsive limit display columns to 3 in Courses.php & Assignments.php
- SQL remove Period Length<=(Minutes in a Full School Day / 2) for Teacher's Schedule table in Schedule.inc.php
- SQL include Secondary Teacher Course Periods in Schedule.inc.php
- HTML move Schedule list inside PopTable & rework table cell in Schedule.inc.php
- Fix do not display "Enroll student for next school year" link if new enrollment record in Enrollment.inc.php
- Add Class Average row in ReportCards.fnc.php & Grades.fnc.php
- Fix HTML5 notice Trailing slash on void elements has no effect, but keep `
` for `$_ROSARIO['SearchTerms']`, program wide
- Fix regression since 9.0 show Student Photo in Transcripts.fnc.php
- Check Assignment is in current MP in StudentAssignments.php & StudentAssignments.fnc.php
- Corrections for French translation in rosariosis.po
- CSS FlatSIS .list & .postbox headers adjustments for Chrome in stylesheet.css
- CSS reduce File input size when inside list in stylesheet.css
- CSS responsive increase max input size when inside list in zresponsive.css
- CSS fix Student Comments margin & padding in stylesheet.css
- Fix regression display Mailing Labels in ReportCards.fnc.php
- Add Student Photo in ReportCards.fnc.php
- Fix SQL error ORDER BY for Expanded View + Contact Information in GetStuList.fnc.php
Changes in 10.6.3
-----------------
- Fix regression Teacher can save config even if overridden by Admin in Grades/Configuration.php
- Prevent double encoding single quote (`'`), was encoded by SanitizeHTML() or SanitizeMarkDown() in Inputs.php
Changes in 10.6.2
-----------------
- Do not truncate value on List export in Accounting/functions.inc.php, Grades.php, StudentGrades.php, StudentAsignments.fnc.php, Resources.php & Student_Billing/functions.inc.php
- SQL performance use POSITION()>0 instead of LIKE, program wide
- SQL remove useless ID='' check in StudentFees.php, StudentPayments.php & Student_Billing/functions.inc.php
- Fix hide File input if cannot edit in Accounting/functions.inc.php & Student_Billing/functions.inc.php
- SQL use CONCAT() instead of pipes || for MySQL compatibility in Accounting/functions.inc.php & Student_Billing/functions.inc.php
- Fix SQL use JOIN instead of WHERE EXISTS for Discipline Widgets in Widget.php
- MySQL fix PHP fatal error when updating Course's Marking Period in Courses.php
- Fix #338 Only check against Course Periods having overlapping Marking Period in Courses.fnc.php
Changes in 10.6.1
-----------------
- PostgreSQL Fix Class Rank float comparison issue: do NOT use double precision type (inexact), use numeric (exact) in rosariosis.sql, thanks to @fatahou
- MySQL Fix Class Rank float comparison issue: do NOT use double precision type (inexact), use numeric(22,16) (exact) in rosariosis_mysql.sql, thanks to @fatahou
- SQL Fix regression since 10.0, change sum/cum factors & credit_attempted/earned columns type from double precision to numeric in Update.fnc.php
- Fix Grades input not displaying for Teachers in Widget.php
- Raise minimum PHP version from 5.4.45 to 5.5.9 in INSTALL.md, README.md, composer.json, diagnostic.php & Portal.php
- Fix close PopTable wrapper `