CHANGELOG.txt
Search API
FlightPath 4.x Changelog ======================== 2014-03-20 Added rounding logic to FlightPath class, when applying subs, to compensate for weird floating point arithmetic errors. Adjusted it and Student class to round to 6 places, instead of 5. Added ability to filter by role in the User management module. Also did some minor display tweaking to make things fit better. Fixed a minor bug in User module, where the list of students would select a major code if a search were performed. Due to re-use of a variable name. Fixed a bug in CourseList and FlightPath classes where GPA and hours wasn't being calculated correctly, especially for subs split more than once. Added a new hook to AdvisingScreen class, after build_screen_elements(), so other modules can hook in and add to the screen once that function is called. See advise.module's listing for hook_advise_build_screen_elements() for description and example of use. ---------------- RELEASED 4.4.1 ---------------- 2014-03-19 Added the ability for FlightPath to calculate cumulative hours and GPA on the fly, instead of relying on what is in the database. Added new settings to the School data settings form, for configuring what quality points each grade is worth, as well as enabling the on-the-fly calculations for hours and gpa. Moved more settings from the System Settings form to the School Data form. Made variable_get and variable_set more efficient by taking advantage of a global variable for caching. Tweaked advise.js, to reducee the hour options for subs if they are already decimals (just use manual for that) Added a new function, fp_truncate_decimals(), which lets gives you back a float with a truncated number of decimals, instead of rounded (as number_format does). Added the ability for modules to require that FlightPath core be a certain version. In the .info file, use "requires core version = 4.5", for example. If the user is not running that version for FlightPath core or higher, they will not be able to enable the module from the modules page, and a warning will be displayed next to the module's listing. Tweaked wording on user form for students, to make it clear that the cumulative hours and gpa might be getting replaced if you have that set. 2014-03-13 Fixed display bug where, for some transfer courses, an eqv might show up more than once in the popup window. 2014-03-12 Tweaked math that splits substitutions. If a split happens for certain decimals, the result isn't expected. For example, 2.001 - 2 should equal "0.001" Instead, we get "0.000099999999". This is due to binary math. So, I added a round() statement, which rounds to the 5th decimal point, which should be sufficient, since the database only allows for 4 decimal points anyway. Also tweaked javascript in advise.js to not show substitution hour selections if we're dealing with a course with decimals to begin with-- only give them "Max (Default)" or "Manual" selections. ---------------- RELEASED 4.4 ---------------- 2014-03-10 Changed hour fields in FlightPath to allow for decimal values. The rule is that hours may not be larger than 9999 hours, and have no more than 4 decimal places. For example, 2.25 hours is acceptable. 2.33334 would be truncated to 2.3333. Added alias to form_api system for "no_please_select" to much more descriptive "hide_please_select", for select fields. Added ability to control whether or not course titles are auto-capitalized based on a capitalization scheme. Fixed a bug in last release (4.3.4) where the students table no longer had the is_active column. 2014-02-27 Added ability to specify College Code for each degree, through new settings page "School Data," with new permission. Moved "subjects" setting under the new settings page as well, for simplicity. Cache gets automatically cleared when we run DB updates. ---------------- RELEASED 4.3.4 ---------------- 2014-02-25 Fixed a bug in blank_degrees.module, where future draft catalog years couldn't be selected for viewing. Also changed wording on admin.module's form, which sets the draft catalog year, to make it clear that it only affects the Blank Degree Search feature, not What If. Made various changes to some of the core code, in preparation of a new module, "audit", which required extra calculations for quality points. Also, made slight changes to the core comments module, so it can accomodate more access_types (again, will be used by the upcoming "audit" module). 2014-02-20 Fixed bug with "ghost hours" in _DatabaseHandler.php. When a course has zero hours for either min or max hours, it was changing into 1 hours when duplicated to a new catalog year. 2014-02-06 Made minor documenation changes to various functions. ---------------- RELEASED 4.3.3 ---------------- 2014-02-05 Tweaked _Semester.php so it's easier to override the default semester names at a code level, and updated admin.module to use those semester names from _Semester.php, rather than hard-coded the way I had it. 2014-1-8 Fixed bug in db_query function, which caused dollar values ($10.75) to be converted to ".75", due to the dollar sign not being escaped correctly. Added extra verbage on student user edit form, to make it clear that a rank code from the Allowed Student Ranks field must be entered for the student to be searchable. ---------------- RELEASED 4.3.2 ---------------- 2013-12-12 Added Content-Type meta tags to classic theme template files, specifying the charset as UTF-8, for simplicity. Altered menu.inc functions so that, after retrieving from the DB, menu items have their titles and descriptions run through the t() function, so they can be translated at run-time. Altered the fpm() command in misc.inc to output strings with htmlentities(), if FALSE is passed with fpm(). Ex: fpm("<b>Hey</b>", FALSE); will output the <b>, instead of actually making the string bold. Tweaked format_date() function to let it default to the current time, if none is specified. Fixed bug in form submission, where if a file field was required, it failed validation every time. 2013-12-11 Tweaked _DatabaseHandler.php. Now, if a mysql error is reported which shows that the connection to the database has been lost, execution of the script will terminate immediately (with a friendly error message displayed to the user). This is to prevent email recipients from being spammed by error messages if the server crashes (or goes offline) in the middle of a script with lots of queries to execute. 2013-12-09 Tweaked _Student.php, load_student_tests. If a test code wasn't yet in the standardized_tests table, the query failed (because of a join). Now, we will show test scores for anything in the student_tests table, even if there is no description in standardized_tests. It just shows the code itself in that case. ---------------- RELEASED 4.3.1 ---------------- 2013-11-14 Fixed a bug where the grade "E" was hard-coded at one spot to mean "enrolled", instead if that being a setting. Added a new field "default_enrolled_grade" to the System Settings form for this purpose. Added code to facilitate language translations through the t() function, once the locale module is fully implemented. Fixed bug in form api where #redirect should be ignored if the form failed validation. ---------------- RELEASED 4.3 ---------------- 2013-11-12 Fixed javascript bug in admin.js file, which prevented courses and groups from being deleted. Modified _Student.class so that if the rank code isn't recognized, it will display whatever code the student has. Fixed bug in menu.inc, where the file_system_path was not being added to a module's path, even when requested. 2013-11-02 Updated README.txt file to contain extra information about the icon sets used in FlightPath. Updated COPYRIGHT.txt file for minor clarifications. ---------------- RELEASED 4.2.3 ---------------- 2013-10-31 Modified Users core module, to be able to edit/create/delete both Faculty/Staff and Student users. Includes a new user.js file to facilitate user deletion. Set "user" module to be enabled by default on a fresh install. ---------------- RELEASED 4.2.2 ---------------- 2013-10-30 Fixed error in system module install, where "is_active" field not added to student table. 2013-10-04 Updated announcements module to show "Updated" date in block, instead of "Posted" date, if the announcement had been updated recently. ---------------- RELEASED 4.2.1 ---------------- 2013-08-14 Added a settings page to student_search module, moved settings specific to its functioning to there. Made it so that the user's permissions are re-calculated on every page load, so if the admin grants or takes away permissions/roles from a user, they do not have to log out and back in before changes are affected. Added a new form element type, "checkbox" which saves as either NULL or boolean TRUE, depending on if the checkbox was checked. Before this, you had to specify multiple "checkboxes" in an array structure, and it wasn't as conveinient for a single on/off checkbox. ---------------- RELEASED 4.2 ---------------- 2013-08-12 Fixed bug in _AdvisingScreen.php, where the current student was lost when changing filters in the Admin Toolbox Fixed bug involving addition substitutions, where the max hours avail wasn't being calculated correctly. Added a safeguard when saving substitutions, so that you can never save for more hours than the subbed course is worth. Modified the db_error function in _DatabaseHandler.php, so we get a timestamp as well as the backtrace emailed when an error occurs. Added functions in db.inc for getting/setting individual user settings, which is required for the changes to Student Search. Updated student_search module, to have a major search tab, where advisors can see all students in a major. Their selections are remembered in user settings. Also, added new permissions for fine-level of control over who can see which subtabs. ---------------- RELEASED 4.1 ---------------- 2013-07-25 Tweaked student_search.module to display "advanced search tips" on all sub tabs. Changed schema of the faculty table, and updated the system.install file to make those changes on update. Fixed a bug in user module, where roles were not showing up. Also, added where is_faculty=1 to search queries, to reduce duplicate users who are both faculty and students. 2013-07-19 Added new watchdog (log entry) viewer to admin module Added warning message that displays on admin console if cron hasn't been run in over 7 days Added new function fp_get_module_details to misc.inc Modified system.install so that core modules get the version of "core" when first installed. Changed maintenance mode message slightly in system.module Tweaked update_status module to make it more clear, and added a "check now" url and link, so users can check for new modules instead of waiting for cron. Limited search results (student_search.module) to 300, and display message if 300 is reached. Fixed bug in db.inc, function variable_get(). If what you were getting was boolean TRUE, then it would show as FALSE! Kind of a nasty bug! Added new "short" date format to format_date function, in theme.inc Updated documentation in hook.api.php ---------------- RELEASED 4.0 ---------------- First full release of FlightPath as an open source project (though, it's been in constant production use at ULM for 6 years ;) 2013-07-17 Updated system.install to create a better transfer_eqv table, made term_id a varchar instead of int. Updated _Course.php to fix some documentation issues, and removed a check for valid_term_id in the load_descriptive_transfer_data function. Updated _Student.php so that we do not require a match on valif_term_id when looking for transfer eqv's. Added a new report to the Stats module, to show all of a student's courses, and cleaned up the source code for that module, removing old code and adding comments. Added descriptions to most of the core's menu items which appear on the admin page. 2013-07-15 Updated system.install to handle changes to the students table. 2013-07-13 Updated student_search module to use the is_active field in the students table by default as its "extra student search conditions". Updated the system settings form to reflect that as well. 2013-07-12 Added is_active field the the students table, and as such modified the system.install file to include that change. ---------------- RELEASED 4.0-rc5.1 ---------------- 2013-07-09 Fixed a small bug in the settings file template (in install.php) where modules were not being sorted in a logical way, causing some modules to load before others when they had the same weight. ---------------- RELEASED 4.0-rc5 ---------------- 2013-07-08 Made changes to system.module, to sort modules page correctly. Also, gave new ability to execute arbitrary PHP code from the admin menu (for admins only, obviously). Minor change to bootstrap.inc's comments. 2013-05-02 Fixed bug in system module which was causing "system forms" to not accept form values which had been modified by a form's hook_validate function. Created new hook: hook_exit(). Called last as FlightPath is shutting down, at the end of index.php Added GLOBALS variable so we can tell that the bootstrap has indeed finished loaded. Added new hook, hook_student_load(), which is called after a new student object is created. This lets modules hook in and change the student object, w/o needing to override the class file. 2013-04-26 Added programming to the example_helper module which ships with FlightPath, to better demonstrate basic module development. Fixed bug in format_date, where it was not handling non-integer values gracefully. Tweaked update_status.module to state if Cron has never been run before. 2013-03-14 Modified a query in student_search module, to not give warning when attempting to search by major code (major=CODE hack). 2013-03-13 Changed the form which sends an email when someone clicks the "Contact link" to not specify the "From" address. This was causing some email clients to flag the email as spam. ---------------- RELEASED 4.0-rc4 ---------------- 2013-03-11 Fixed bug in update_status module, where it always reported FP needed updating. Modified system module's hook_status to report FP's version number Fixed bug in system.install, where student_transfer_courses table's primary key wasn't set up correctly. 2013-03-10 Adding a hook_status hook, and page to view system status information. Modified invoke_hook() function to return possible results of invoking the hook. Finished update_status module, so that it effectively talks to getflightpath.com, to discover which modules need updates. 2013-03-09 Fixed unclosed <a> tag in install.php. Modified the places where call_user_func was being called with a referenced variable; changed it to a more PHP 5.4 friendly technique, so FP will be compatible with PHP 5.4. Updated hooks.api.php file to contain all of the hooks in FP, with explanations. 2013-03-08 Fixed bug in advising history, where the term_id displayed for a recent advising popup might not have been correct. Modified bootstrap.inc so that it can be easily manipulated by getflightpath.com's upload script. Added an extra mysql_real_escape_string to _Databasehandler's db_query() command, to make sure that slash's (\) get escaped properly. ------------------ RELEASED 4.0-rc3.1 ------------------ 2013-03-01 Tweaked TinyMCE module to give more options. Fixed bug in student_search.module where searching for both first and last name caused a mysql error. Added TinyMCE module to core, so it is now built in to FlightPath by default. Updated installation to install TinyMCE by default. Modified descriptions of some form elements. Modified system.module and install.php to better reflect how cron should be set up. 2013-02-28 Fixed announcements.install so that a sample announcement is inserted by default. 2013-01-14 Changed the order in which advised courses are added to groups. They are now added FIRST instead of LAST. This is so that an advised courses will never be "overwritten" by a fulfilled course, and the fulfilled course will just go to the next group. (There was a bug). 2012-12-17 Modified user.module, so role headers on permissions form appear for every module. Otherwise, it was confusing when the list of permissions was very long. Moving FlightPath version from dev to 4.0-rc1, signifying "release candidate" status. 2012-12-14 More work on Course Search, making the rotation schedule entry more closely follow the established term_id structure. 2012-12-13 Added jQuery UI plugin to core, as well as its CSS file. Expanded Course Search's edit abilities, to make it easier to update large numbers of courses. 2012-12-10 Fixed bug in the report bug popup, where a user couldn't submit more than one report per session. 2012-12-07 Fixed bug which caused user roles to not be editable from form. 2012-11-30 Fixed a few minor bugs around FP, mostly related to display. Course descriptions have non-UTF8 chars stripped out by default. This might need to be something I re-think for version 5.x, so other languages can use it. Changed Modules page to make it more clear when a core module is overrided. What was being displayed was somewhat confusing. 2012-11-28 Corrected bug where forms couldn't be submitted via js when an element (like a button) was named "submit". Simply auto-renamed elements named "submit" to "btn_submit". Fixed bug where $form var wasn't being passed by reference to submit handlers. Fixed several bugs introduced to admin degree, course, and group entry by changes to the Form API. Made a big change to Announcements, to use the content module instead of being its own module. 2012-11-27 Added roles as CSS classes to table rows in the user management area, to help with themeing. 2012-11-20 Added "loading" message when pulling up a new student. Corrected display bug on the admin degree entry page, when listing degrees it did not show track titles correctly. Adjusted CSS for degrees and courses listings (for admin). Created ability for users to manage the "subjects" table directly from admin settings screen. Also, fixed bug in course_search where a subject wouldn't show up if it didn't have a title set in the subjects table. 2012-11-09 Added new "confirm" option for submit buttons in form API. So you can have a javascript confirm popup when a submit button is pressed (to handle deletes, per se). Added concept of "body classes" to theme, and new function "fp_add_body_class()" Made it to where menu items will not be displayed if the user doesn't have access to them. Content module is somewhat rough, but acceptable. Menu router paths can now have wildcards! As in, content/%/edit is what will be executed if the user visits content/17/edit. This works in a very similar way as Drupal's menu system. 2012-11-08 Fixed bug on Blocks admin page where you couldn't switch past the first selected section. Started work on Content module, allowing users to create generic bits of HTML content, like the "node" idea in Drupal. Made it so you can pass arguments to callbacks with fp_render_form. 2012-10-16 Fixed bug where test scores from different attempts were all showing as having come from the same test. Implemented hook_update system, for when its time to update a module and that module requires DB updates to be made. 2012-07-30 If a term_id doesn't have a matching description, just display the term_id itself (instead of the text "unknown term.") Added a not_released_grades_terms field to the advising settings. Added to the hook.api.php file, to help document hooks in FlightPath. 2012-07-15 The default submit and validate handlers are explicitly added to all forms now. On the admin page, the current catalog year being edited is controlled through a pull-down menu. 2012-07-14 When searching, major=MAJORCODE now displays a list of students with that major. Also, if you enter an asterisk (*) with your search, it will bypass the extra search conditions and rank checks. Also, if there is only one result, it immediately redirects to the View tab with that student's degree plan loaded. 2012-07-13 Added "cwid" field to watchog, users, faculty, staff table. Advising records need to be saved off this cwid instead of the auto-increment user_id. 2012-07-10 Moved user functions into its own module, user, and enabled on install by default. Also fixed a few bugs int he user module. 2012-07-09 On install, insert basic permissions for the authenticated user. 2012-07-06 Enabled announcements and update_status modules on FlightPath first install, and created a new sample announcement when the announcement module is installed the first time. Added check to install.php to make sure custom directory was writable, displaying error if it is not. Made it to where tabs don't show up for advisors until they select a student. Little search in the corner doesn't show up unless you have permission to search. Fixed bug where "objList" was being required instead of "ObjList". It caused a fatal error on Linux, but not on Windows, interestingly enough. Difference in PHP versions? 2012-07-05 Started update_status module. 2012-06-30 Finalized COPYRIGHT.txt file, and removed old copyright notices from individual source files. Added token check to advising submissions, as well as hook so users can hook in when it is submitted. Removed old files from the repository. index.php checks to see that FlightPath is installed, if not, it redirects to install script 2012-06-27 Completed the install script for the most part, as well as made various changes in other files in the pursuit of making the install script work. 2012-06-26 Working on creating an install script for FlightPath; moving database creation statements into system.install file, under the system module. 2012-06-10 Finished the stats module for now. It could use some more reports, but is OK for now. Got mobile version back to working state. 2012-06-09 Beginning work on the stats module. Changed comment form to be proper FlightPath form, with form api. 2012-06-08 Student developmentals and standardized tests are now in core. I have officially done away with the concept of the "flightpath_extra_data" additional database. Added in a depricated_message function, to help me track down problems after I depricate a function. Moved to new watchdog() table and function, instead of the old log table. Got rid of old PHP split() function. 2012-06-07 Removed the old AdvisingScreen::draw_curved_title function, in favor of the new fp_render_curved_line function. Got transfer credits & eqv's working correctly. 2012-06-05 Worked with course_search module. It has now merged with the courseinfoentry module. Removed the courseinfoentry module as a result. 2012-06-04 Removed old references to SESSION["user_type"], replaced with newer check on permissions instead Renamed old files to have a z__ in front of filename, in preparation to delete. Popup contact/report a bug is now part of the system module, not its own php file. Removed references to old admin_debug statement. Also cleaned up some old comments along the way. Added blank_degrees module and reworked various bits of code to make it work. 2012-05-28 Made sure user has access to submit a form after they've submitted. Refined permissions, made sure permissions were working correctly for tabs. Tabs don't show if you don't have permission. Worked on "student" view, when they can only see their own degree plan. Fixed bug where show/hide pie charts stopped working. Login form is now a proper "fp" form, so it can have custom submitters/validators Created hook_user_login and hook_user_logout Made fpm() function VERY fancy, with click-to-open folding, like Krumo. Great for debugging. Blocks don't show up if there is no content in the body. 2012-05-24 Removing the concept of the separate flightpath_extra_data database Switched datetime field type to "posted" timestamp integer in tables Added idea of validate_handlers to forms, like in Drupal. 2012-05-21 Created Blocks module, and method of establishing block regions and blocks offered by a module. 2012-05-19 Working on modules page. Installing, enabling, uninstalling, etc. Created system of hooks that go in a .install file, like Drupal. Created various other enhancements to admin, uncluding user management and roles. 2012-04-21 Enabled small search box in corner. 2012-04-15 Print view working, change terms, change tracks 2012-04-13 Added ability to change tracks & terms on Degree Plans. 2012-04-12 Finished the History tab 2012-04-11 Worked more on Admin, the variable system, and converting the concept of System variables over to the variable system, to eliminate the extra "settings" tables which are unneeded. 2012-04-01 Created permissions page, where users can set which rolls have which permissions. 2012-03-31 Added Rolls management page to admin module. 2012-03-25 Still workin on admin module. Focusing on the Groups section. Got changing icon working for edit-group page. Got definitions working on the edit-group page. Add new group and delete group works. Fixed bug where groups did not redirect to exactly the correct URL by default. Process all group definitions now works. Editing/Adding/Deleting courses now fully works. Apply draft changes done 2012-03-24 Still working on admin module. Can now add new degree plans. Implemented a new, more robust Form API system similar to Drupal. You can have "required" fields, which automatically fail validation if no value is entered. Automatically looks for a callback_submit() function to submit to; no need to register a new menu hook. Have a new "form_error" function which creates an error message for your form. Can now "copy" a degree plan. I believe this basically completes the degrees portion of the admin section. Made some tweaks to the menus, so that in Admin there are tabs now to help the user keep track of what screen they are looking at. Starting on "groups" for Admin. Created concepts of "popup_description" instead of just "description" in the form_api. This causes a [?] link to appear in the label of the element, and, which clicked, will popup the text therein. It makes forms a bit more tidy. Have basic editing of groups mostly complete. 2012-03-23 Continuing work on admin module. Can actually save degrees now, and add/remove elective groups Fixed some minor tweaks to make sure it scrolled back to the correct position. Changed the way the "menu_links" array is set up in the menu items, to allow for more flexibility in the future. Invented a new hook. hook_menu_handle_replacement_pattern ($st). It will let you pass things like de_catalog_year=%DE_CATALOG_YEAR% to the l() function, which will then look for that hook to give each module the chance to act on that replacement pattern. 2012-03-18 Continued work on admin module. Got much of the Edit Degrees displaying correctly. At this point, have not yet wired it up so that you can submit changes to degree plans. 2012-03-16 Beginning work on the Admin module today. I expect it to be huge and complicated. Urgent message Save/Load Created simple Form API similar to Drupal (but much simpler) Created a concept of a system_settings_form which automatically writes values to the variables table upon save, so you don't have to create your own submit handler for forms. Ideal for little one-form settings pages. New "page_setting" for menu items: menu_links. Provides a way to place "breadcrumbs" and other types of links at the top of the page automatically. 2012-03-15 Finished up (mostly) Comments module. Did work on getting access callback system working with permissions. 2012-03-12 Got switching between Year view and Type view working. Got What If working (I think). Its a little bit screwy, and sometimes it seems to break when it wants to, but it seems to be OK for the time being. 2012-03-11 Got many of the popups working on the "View" page. Also, submitting a basic advising session works. Moved over all of the Javascript into its own file (advise.js) instead of being locked up inside the AdvisingScreen object. It could be further split out into other files as well. Adding/Removing Substitutions, and removing courses from a degree plan, appear to be working correctly. Menus can specify a file to load as needed. Like an additional .inc file where that page_callback is located. Admin toolbox and hide/show pie charts Got rid of XML in FlightPath. Now, we just serialize or nothing. No sense in the extra overhead. Still need to get rid of it for module.info files. Some are still .xml. Will get to that when I do the Admin work. 2012-03-10 Continuing work on making FP more like Drupal. Created "modules" table to better keep track of modules. Created student_search module. Working on bringing in all of its functionality. Added jquery 1.7.1 instead of 1.3.2. Added much of the Advise module Have a new concept of passing around the "current_student_id" from page to page, and saving all other "advising variables" to a table, rather than keeping them in the POST between every page. This makes it much more tidy. 2012-03-09 ** BIG CHANGE ** I ran a script to convert from camelCase to underscore_style. Now, only Class names are CamelCased. Everything else-- variables and methods and functions, are all going to be underscore_style (also called K&R or C++ style). Even though I think this isn't as pretty, it is consistent, which is what I am more concerned about. Fixed numerous capitalization problems. I'm sure there's more after this. Gave important system_settings default values. Moved functions.php into other .inc files, in a new "includes" directory. 2012-03-08 Fixed a bug where definitions in groups, once entered could not be removed. Adjusted default.settings.php file to have error reporting limited by default, as well as additional instructions for setting up through Windows. Added "user_auth" table to flightpath database. Implemented default login attempts to that table (empty it to override and use another method) - Created "admin" user by default. user_id = 1, password = fpadminuser Made it so the number of courses to load (and cache) on login is configurable in the settings. Added menu_rebuild_cache(), pretty_print(), and db_query() Making other numerous changes, to make FlightPath more like Drupal. Changing naming convention to underscore style instead of camelCase, when not dealing with an object. Made a lot of progress in getting the primary display of course_search module to use the new menu system (piped through ?q=location/etc --- v3.1.1 2012-01-03 Cleaned up queries in admin.php to use new replacement pattern system. 2011-12-22 Modified queries throughout the various classes and php files to use new replacement pattern system, to make them less vulnerable to SQL-injection attacks. 2011-11-25 Created new replacement pattern system for DatabaseHandler::dbQuery function, to help protect against SQL-injection attacks. --- v3.1 7-14-2011 FlightPath is now capable of handling courses with 0 hours. It actually, internally, tracks them as 1 hour courses, but displays them as 0 hour courses. The pseudo-hour which is attributed to it is known as a "Ghost hour" in the system. 5-4-2011 Fixed a small bug relating to degree options. If a student has a particular option selected, then changes catalog years, and that option (track code) no longer exists, then FP was just display no degree plan. It will now default back to the base degree plan. --- v3.0.1b 4-11-2011 Made "deCanSwitchUsers" be its own permission, instead of simply testing for full_admin status. Made theme change to remove "ULM" from the default banner image. --- v3.0b --- 4-8-2011 This is the initial release of FlightPath as open source, debuting as version 3.0b.
File
CHANGELOG.txtView source
- FlightPath 4.x Changelog
- ========================
-
-
- 2014-03-20
- Added rounding logic to FlightPath class, when applying subs, to compensate for weird floating point
- arithmetic errors. Adjusted it and Student class to round to 6 places, instead of 5.
-
- Added ability to filter by role in the User management module. Also did some minor display tweaking
- to make things fit better.
-
- Fixed a minor bug in User module, where the list of students would select a major code if a search
- were performed. Due to re-use of a variable name.
-
- Fixed a bug in CourseList and FlightPath classes where GPA and hours wasn't being calculated correctly,
- especially for subs split more than once.
-
- Added a new hook to AdvisingScreen class, after build_screen_elements(), so other modules
- can hook in and add to the screen once that function is called. See advise.module's listing
- for hook_advise_build_screen_elements() for description and example of use.
-
-
- ----------------
- RELEASED 4.4.1
- ----------------
-
-
- 2014-03-19
- Added the ability for FlightPath to calculate cumulative hours and GPA on the fly, instead of
- relying on what is in the database.
-
- Added new settings to the School data settings form, for configuring what quality points each grade
- is worth, as well as enabling the on-the-fly calculations for hours and gpa.
-
- Moved more settings from the System Settings form to the School Data form.
-
- Made variable_get and variable_set more efficient by taking advantage of a global variable for caching.
-
- Tweaked advise.js, to reducee the hour options for subs if they are already decimals (just use
- manual for that)
-
- Added a new function, fp_truncate_decimals(), which lets gives you back a float with a truncated
- number of decimals, instead of rounded (as number_format does).
-
- Added the ability for modules to require that FlightPath core be a certain version. In the
- .info file, use "requires core version = 4.5", for example. If the user is not running that version
- for FlightPath core or higher, they will not be able to enable the module from the modules page, and
- a warning will be displayed next to the module's listing.
-
- Tweaked wording on user form for students, to make it clear that the cumulative hours and gpa
- might be getting replaced if you have that set.
-
-
- 2014-03-13
- Fixed display bug where, for some transfer courses, an eqv might show up more than once
- in the popup window.
-
-
- 2014-03-12
- Tweaked math that splits substitutions. If a split happens for certain decimals, the
- result isn't expected. For example, 2.001 - 2 should equal "0.001" Instead, we get
- "0.000099999999". This is due to binary math. So, I added a round() statement, which rounds
- to the 5th decimal point, which should be sufficient, since the database only allows for 4 decimal
- points anyway.
-
- Also tweaked javascript in advise.js to not show substitution hour selections if we're dealing with
- a course with decimals to begin with-- only give them "Max (Default)" or "Manual" selections.
-
-
- ----------------
- RELEASED 4.4
- ----------------
-
- 2014-03-10
- Changed hour fields in FlightPath to allow for decimal values. The rule is that hours
- may not be larger than 9999 hours, and have no more than 4 decimal places. For example,
- 2.25 hours is acceptable. 2.33334 would be truncated to 2.3333.
-
- Added alias to form_api system for "no_please_select" to much more descriptive "hide_please_select",
- for select fields.
-
- Added ability to control whether or not course titles are auto-capitalized based on a capitalization
- scheme.
-
- Fixed a bug in last release (4.3.4) where the students table no longer had the is_active column.
-
-
- 2014-02-27
- Added ability to specify College Code for each degree, through new settings page "School Data," with
- new permission.
-
- Moved "subjects" setting under the new settings page as well, for simplicity.
-
- Cache gets automatically cleared when we run DB updates.
-
-
- ----------------
- RELEASED 4.3.4
- ----------------
-
-
- 2014-02-25
- Fixed a bug in blank_degrees.module, where future draft catalog years couldn't be selected for
- viewing. Also changed wording on admin.module's form, which sets the draft catalog year, to make
- it clear that it only affects the Blank Degree Search feature, not What If.
-
- Made various changes to some of the core code, in preparation of a new module, "audit", which
- required extra calculations for quality points. Also, made slight changes to the core comments
- module, so it can accomodate more access_types (again, will be used by the upcoming "audit" module).
-
-
- 2014-02-20
- Fixed bug with "ghost hours" in _DatabaseHandler.php. When a course has zero hours for
- either min or max hours, it was changing into 1 hours when duplicated to a new catalog year.
-
-
- 2014-02-06
- Made minor documenation changes to various functions.
-
-
- ----------------
- RELEASED 4.3.3
- ----------------
-
-
- 2014-02-05
- Tweaked _Semester.php so it's easier to override the default semester names at a code level,
- and updated admin.module to use those semester names from _Semester.php, rather than hard-coded the way
- I had it.
-
-
- 2014-1-8
- Fixed bug in db_query function, which caused dollar values ($10.75) to be converted to ".75", due to the dollar sign
- not being escaped correctly.
-
- Added extra verbage on student user edit form, to make it clear that a rank code from the Allowed Student Ranks field
- must be entered for the student to be searchable.
-
- ----------------
- RELEASED 4.3.2
- ----------------
-
-
- 2013-12-12
- Added Content-Type meta tags to classic theme template files, specifying the charset as UTF-8, for
- simplicity.
-
- Altered menu.inc functions so that, after retrieving from the DB, menu items have their titles and
- descriptions run through the t() function, so they can be translated at run-time.
-
- Altered the fpm() command in misc.inc to output strings with htmlentities(), if FALSE is passed with fpm().
- Ex: fpm("Hey", FALSE); will output the , instead of actually making the string bold.
-
- Tweaked format_date() function to let it default to the current time, if none is specified.
-
- Fixed bug in form submission, where if a file field was required, it failed validation every time.
-
-
- 2013-12-11
- Tweaked _DatabaseHandler.php. Now, if a mysql error is reported which shows that the connection
- to the database has been lost, execution of the script will terminate immediately (with a friendly
- error message displayed to the user). This is to prevent email recipients from being spammed
- by error messages if the server crashes (or goes offline) in the middle of a script with lots
- of queries to execute.
-
-
- 2013-12-09
- Tweaked _Student.php, load_student_tests. If a test code wasn't yet in the standardized_tests
- table, the query failed (because of a join). Now, we will show test scores for anything in the
- student_tests table, even if there is no description in standardized_tests. It just shows the code
- itself in that case.
-
-
- ----------------
- RELEASED 4.3.1
- ----------------
-
- 2013-11-14
- Fixed a bug where the grade "E" was hard-coded at one spot to mean "enrolled", instead
- if that being a setting. Added a new field "default_enrolled_grade" to the System Settings form
- for this purpose.
-
- Added code to facilitate language translations through the t() function, once the locale module
- is fully implemented.
-
- Fixed bug in form api where #redirect should be ignored if the form failed validation.
-
-
- ----------------
- RELEASED 4.3
- ----------------
-
- 2013-11-12
- Fixed javascript bug in admin.js file, which prevented courses and groups from being
- deleted.
-
- Modified _Student.class so that if the rank code isn't recognized, it will display whatever
- code the student has.
-
- Fixed bug in menu.inc, where the file_system_path was not being added to a module's path, even
- when requested.
-
-
- 2013-11-02
- Updated README.txt file to contain extra information about the icon sets used in FlightPath.
- Updated COPYRIGHT.txt file for minor clarifications.
-
-
- ----------------
- RELEASED 4.2.3
- ----------------
-
-
- 2013-10-31
- Modified Users core module, to be able to edit/create/delete both Faculty/Staff and Student users. Includes
- a new user.js file to facilitate user deletion.
-
- Set "user" module to be enabled by default on a fresh install.
-
-
- ----------------
- RELEASED 4.2.2
- ----------------
-
-
- 2013-10-30
- Fixed error in system module install, where "is_active" field not added to student
- table.
-
- 2013-10-04
- Updated announcements module to show "Updated" date in block, instead of "Posted" date,
- if the announcement had been updated recently.
-
-
- ----------------
- RELEASED 4.2.1
- ----------------
-
-
- 2013-08-14
- Added a settings page to student_search module, moved settings specific to its functioning
- to there.
-
- Made it so that the user's permissions are re-calculated on every page load, so if the admin
- grants or takes away permissions/roles from a user, they do not have to log out and back in before
- changes are affected.
-
- Added a new form element type, "checkbox" which saves as either NULL or boolean TRUE, depending
- on if the checkbox was checked. Before this, you had to specify multiple "checkboxes" in an
- array structure, and it wasn't as conveinient for a single on/off checkbox.
-
-
- ----------------
- RELEASED 4.2
- ----------------
-
-
- 2013-08-12
- Fixed bug in _AdvisingScreen.php, where the current student was lost when changing filters
- in the Admin Toolbox
-
- Fixed bug involving addition substitutions, where the max hours avail wasn't being calculated
- correctly.
-
- Added a safeguard when saving substitutions, so that you can never save for more hours than
- the subbed course is worth.
-
- Modified the db_error function in _DatabaseHandler.php, so we get a timestamp as well
- as the backtrace emailed when an error occurs.
-
- Added functions in db.inc for getting/setting individual user settings, which is required
- for the changes to Student Search.
-
- Updated student_search module, to have a major search tab, where advisors can see all students
- in a major. Their selections are remembered in user settings. Also, added new permissions
- for fine-level of control over who can see which subtabs.
-
-
-
- ----------------
- RELEASED 4.1
- ----------------
-
-
- 2013-07-25
- Tweaked student_search.module to display "advanced search tips" on all sub tabs.
-
- Changed schema of the faculty table, and updated the system.install file to make those
- changes on update.
-
- Fixed a bug in user module, where roles were not showing up. Also, added where is_faculty=1
- to search queries, to reduce duplicate users who are both faculty and students.
-
-
- 2013-07-19
- Added new watchdog (log entry) viewer to admin module
-
- Added warning message that displays on admin console if cron hasn't been run in over 7 days
-
- Added new function fp_get_module_details to misc.inc
-
- Modified system.install so that core modules get the version of "core" when first installed.
-
- Changed maintenance mode message slightly in system.module
-
- Tweaked update_status module to make it more clear, and added a "check now" url and link,
- so users can check for new modules instead of waiting for cron.
-
- Limited search results (student_search.module) to 300, and display message if 300 is reached.
-
- Fixed bug in db.inc, function variable_get(). If what you were getting was boolean TRUE, then it would
- show as FALSE! Kind of a nasty bug!
-
- Added new "short" date format to format_date function, in theme.inc
-
- Updated documentation in hook.api.php
-
-
- ----------------
- RELEASED 4.0
- ----------------
-
- First full release of FlightPath as an open source project (though, it's been in constant
- production use at ULM for 6 years ;)
-
- 2013-07-17
- Updated system.install to create a better transfer_eqv table, made term_id a varchar instead
- of int.
-
- Updated _Course.php to fix some documentation issues, and removed a check for valid_term_id
- in the load_descriptive_transfer_data function.
-
- Updated _Student.php so that we do not require a match on valif_term_id when looking for
- transfer eqv's.
-
- Added a new report to the Stats module, to show all of a student's courses, and cleaned up
- the source code for that module, removing old code and adding comments.
-
- Added descriptions to most of the core's menu items which appear on the admin page.
-
-
- 2013-07-15
- Updated system.install to handle changes to the students table.
-
-
- 2013-07-13
- Updated student_search module to use the is_active field in the students table by default as
- its "extra student search conditions". Updated the system settings form to reflect that
- as well.
-
-
- 2013-07-12
- Added is_active field the the students table, and as such modified the system.install file
- to include that change.
-
-
- ----------------
- RELEASED 4.0-rc5.1
- ----------------
-
- 2013-07-09
- Fixed a small bug in the settings file template (in install.php) where modules were not
- being sorted in a logical way, causing some modules to load before others when they had the same
- weight.
-
- ----------------
- RELEASED 4.0-rc5
- ----------------
-
- 2013-07-08
- Made changes to system.module, to sort modules page correctly. Also, gave new
- ability to execute arbitrary PHP code from the admin menu (for admins only, obviously).
-
- Minor change to bootstrap.inc's comments.
-
-
- 2013-05-02
- Fixed bug in system module which was causing "system forms" to not accept
- form values which had been modified by a form's hook_validate function.
-
- Created new hook: hook_exit(). Called last as FlightPath is shutting down, at the end
- of index.php
-
- Added GLOBALS variable so we can tell that the bootstrap has indeed finished loaded.
-
- Added new hook, hook_student_load(), which is called after a new student object is created.
- This lets modules hook in and change the student object, w/o needing to override the class file.
-
-
- 2013-04-26
- Added programming to the example_helper module which ships with FlightPath,
- to better demonstrate basic module development.
-
- Fixed bug in format_date, where it was not handling non-integer values gracefully.
-
- Tweaked update_status.module to state if Cron has never been run before.
-
-
- 2013-03-14
- Modified a query in student_search module, to not give warning when attempting
- to search by major code (major=CODE hack).
-
-
- 2013-03-13
- Changed the form which sends an email when someone clicks the "Contact link" to not
- specify the "From" address. This was causing some email clients to flag the email
- as spam.
-
-
- ----------------
- RELEASED 4.0-rc4
- ----------------
-
- 2013-03-11
- Fixed bug in update_status module, where it always reported FP needed updating.
-
- Modified system module's hook_status to report FP's version number
-
- Fixed bug in system.install, where student_transfer_courses table's primary key
- wasn't set up correctly.
-
-
- 2013-03-10
- Adding a hook_status hook, and page to view system status information.
-
- Modified invoke_hook() function to return possible results of invoking the hook.
-
- Finished update_status module, so that it effectively talks to getflightpath.com,
- to discover which modules need updates.
-
-
- 2013-03-09
- Fixed unclosed tag in install.php.
-
- Modified the places where call_user_func was being called with a referenced variable;
- changed it to a more PHP 5.4 friendly technique, so FP will be compatible with PHP 5.4.
-
- Updated hooks.api.php file to contain all of the hooks in FP, with explanations.
-
-
- 2013-03-08
- Fixed bug in advising history, where the term_id displayed for a recent advising
- popup might not have been correct.
-
- Modified bootstrap.inc so that it can be easily manipulated by getflightpath.com's upload
- script.
-
- Added an extra mysql_real_escape_string to _Databasehandler's db_query() command, to make
- sure that slash's (\) get escaped properly.
-
-
- ------------------
- RELEASED 4.0-rc3.1
- ------------------
-
-
- 2013-03-01
- Tweaked TinyMCE module to give more options.
-
- Fixed bug in student_search.module where searching for both first
- and last name caused a mysql error.
-
- Added TinyMCE module to core, so it is now built in to FlightPath by default.
-
- Updated installation to install TinyMCE by default.
-
- Modified descriptions of some form elements.
-
- Modified system.module and install.php to better reflect how cron should be set up.
-
-
- 2013-02-28
- Fixed announcements.install so that a sample announcement is inserted by default.
-
-
- 2013-01-14
- Changed the order in which advised courses are added to groups. They are now
- added FIRST instead of LAST. This is so that an advised courses will never be "overwritten"
- by a fulfilled course, and the fulfilled course will just go to the next group. (There was
- a bug).
-
-
- 2012-12-17
- Modified user.module, so role headers on permissions form appear for every module.
- Otherwise, it was confusing when the list of permissions was very long.
-
- Moving FlightPath version from dev to 4.0-rc1, signifying "release candidate" status.
-
-
- 2012-12-14
- More work on Course Search, making the rotation schedule entry more closely
- follow the established term_id structure.
-
-
- 2012-12-13
- Added jQuery UI plugin to core, as well as its CSS file.
-
- Expanded Course Search's edit abilities, to make it easier to
- update large numbers of courses.
-
-
- 2012-12-10
- Fixed bug in the report bug popup, where a user couldn't submit
- more than one report per session.
-
-
- 2012-12-07
- Fixed bug which caused user roles to not be editable from form.
-
-
- 2012-11-30
- Fixed a few minor bugs around FP, mostly related to display.
-
- Course descriptions have non-UTF8 chars stripped out by default. This
- might need to be something I re-think for version 5.x, so other languages can
- use it.
-
- Changed Modules page to make it more clear when a core module is overrided. What
- was being displayed was somewhat confusing.
-
-
- 2012-11-28
- Corrected bug where forms couldn't be submitted via js when an element (like a button)
- was named "submit". Simply auto-renamed elements named "submit" to "btn_submit".
-
- Fixed bug where $form var wasn't being passed by reference to submit handlers.
-
- Fixed several bugs introduced to admin degree, course, and group entry by changes
- to the Form API.
-
- Made a big change to Announcements, to use the content module instead of being
- its own module.
-
-
- 2012-11-27
- Added roles as CSS classes to table rows in the user management area, to help
- with themeing.
-
-
- 2012-11-20
- Added "loading" message when pulling up a new student.
-
- Corrected display bug on the admin degree entry page, when listing
- degrees it did not show track titles correctly.
-
- Adjusted CSS for degrees and courses listings (for admin).
-
- Created ability for users to manage the "subjects" table directly
- from admin settings screen. Also, fixed bug in course_search where
- a subject wouldn't show up if it didn't have a title set in the subjects
- table.
-
-
- 2012-11-09
- Added new "confirm" option for submit buttons in form API. So you can have a
- javascript confirm popup when a submit button is pressed (to handle deletes, per se).
-
- Added concept of "body classes" to theme, and new function "fp_add_body_class()"
-
- Made it to where menu items will not be displayed if the user doesn't have access to them.
-
- Content module is somewhat rough, but acceptable.
-
- Menu router paths can now have wildcards! As in, content/%/edit is what will be executed
- if the user visits content/17/edit. This works in a very similar way as Drupal's menu system.
-
-
- 2012-11-08
- Fixed bug on Blocks admin page where you couldn't switch past the first
- selected section.
-
- Started work on Content module, allowing users to create generic bits of HTML
- content, like the "node" idea in Drupal.
-
- Made it so you can pass arguments to callbacks with fp_render_form.
-
-
- 2012-10-16
- Fixed bug where test scores from different attempts were all showing
- as having come from the same test.
-
- Implemented hook_update system, for when its time to update a module and
- that module requires DB updates to be made.
-
-
- 2012-07-30
- If a term_id doesn't have a matching description, just display the term_id itself (instead
- of the text "unknown term.")
-
- Added a not_released_grades_terms field to the advising settings.
-
- Added to the hook.api.php file, to help document hooks in FlightPath.
-
-
- 2012-07-15
- The default submit and validate handlers are explicitly added to all forms now.
-
- On the admin page, the current catalog year being edited is controlled through
- a pull-down menu.
-
-
- 2012-07-14
- When searching, major=MAJORCODE now displays a list of students with that major.
-
- Also, if you enter an asterisk (*) with your search, it will bypass the
- extra search conditions and rank checks.
-
- Also, if there is only one result, it immediately redirects to the View
- tab with that student's degree plan loaded.
-
-
- 2012-07-13
- Added "cwid" field to watchog, users, faculty, staff table. Advising records need to be
- saved off this cwid instead of the auto-increment user_id.
-
-
- 2012-07-10
- Moved user functions into its own module, user, and enabled on install by default.
- Also fixed a few bugs int he user module.
-
-
- 2012-07-09
- On install, insert basic permissions for the authenticated user.
-
-
- 2012-07-06
- Enabled announcements and update_status modules on FlightPath first install,
- and created a new sample announcement when the announcement module is installed
- the first time.
-
- Added check to install.php to make sure custom directory was writable, displaying
- error if it is not.
-
- Made it to where tabs don't show up for advisors until they select a student.
-
- Little search in the corner doesn't show up unless you have permission to search.
-
- Fixed bug where "objList" was being required instead of "ObjList". It caused a fatal
- error on Linux, but not on Windows, interestingly enough. Difference in PHP versions?
-
-
- 2012-07-05
- Started update_status module.
-
-
- 2012-06-30
- Finalized COPYRIGHT.txt file, and removed old copyright notices from individual source files.
-
- Added token check to advising submissions, as well as hook so users can hook in when it is submitted.
-
- Removed old files from the repository.
-
- index.php checks to see that FlightPath is installed, if not, it redirects to install script
-
-
- 2012-06-27
- Completed the install script for the most part, as well as made various changes in other
- files in the pursuit of making the install script work.
-
-
- 2012-06-26
- Working on creating an install script for FlightPath; moving database creation statements
- into system.install file, under the system module.
-
-
- 2012-06-10
- Finished the stats module for now. It could use some more reports, but is OK for now.
-
- Got mobile version back to working state.
-
-
- 2012-06-09
- Beginning work on the stats module.
-
- Changed comment form to be proper FlightPath form, with form api.
-
-
- 2012-06-08
- Student developmentals and standardized tests are now in core.
-
- I have officially done away with the concept of the "flightpath_extra_data"
- additional database.
-
- Added in a depricated_message function, to help me track down problems after
- I depricate a function.
-
- Moved to new watchdog() table and function, instead of the old log table.
-
- Got rid of old PHP split() function.
-
-
- 2012-06-07
- Removed the old AdvisingScreen::draw_curved_title function, in favor of the new
- fp_render_curved_line function.
-
- Got transfer credits & eqv's working correctly.
-
-
- 2012-06-05
- Worked with course_search module. It has now merged with the courseinfoentry module. Removed
- the courseinfoentry module as a result.
-
-
- 2012-06-04
- Removed old references to SESSION["user_type"], replaced with newer check on permissions instead
-
- Renamed old files to have a z__ in front of filename, in preparation to delete.
-
- Popup contact/report a bug is now part of the system module, not its own php file.
-
- Removed references to old admin_debug statement. Also cleaned up some old comments along
- the way.
-
- Added blank_degrees module and reworked various bits of code to make it work.
-
-
- 2012-05-28
- Made sure user has access to submit a form after they've submitted.
-
- Refined permissions, made sure permissions were working correctly for tabs.
-
- Tabs don't show if you don't have permission.
-
- Worked on "student" view, when they can only see their own degree plan.
-
- Fixed bug where show/hide pie charts stopped working.
-
- Login form is now a proper "fp" form, so it can have
- custom submitters/validators
-
- Created hook_user_login and hook_user_logout
-
- Made fpm() function VERY fancy, with click-to-open
- folding, like Krumo. Great for debugging.
-
- Blocks don't show up if there is no content in the body.
-
- 2012-05-24
- Removing the concept of the separate flightpath_extra_data database
-
- Switched datetime field type to "posted" timestamp integer in tables
-
- Added idea of validate_handlers to forms, like in Drupal.
-
- 2012-05-21
- Created Blocks module, and method of establishing block regions and blocks offered by a module.
-
- 2012-05-19
- Working on modules page. Installing, enabling, uninstalling, etc. Created system
- of hooks that go in a .install file, like Drupal.
-
- Created various other enhancements to admin, uncluding user management and roles.
-
- 2012-04-21
- Enabled small search box in corner.
-
- 2012-04-15
- Print view working, change terms, change tracks
-
- 2012-04-13
- Added ability to change tracks & terms on Degree Plans.
-
- 2012-04-12
- Finished the History tab
-
- 2012-04-11
- Worked more on Admin, the variable system, and converting the concept of System variables
- over to the variable system, to eliminate the extra "settings" tables which are unneeded.
-
- 2012-04-01
- Created permissions page, where users can set which rolls have which permissions.
-
-
- 2012-03-31
- Added Rolls management page to admin module.
-
-
- 2012-03-25
- Still workin on admin module.
- Focusing on the Groups section.
-
- Got changing icon working for edit-group page.
-
- Got definitions working on the edit-group page.
-
- Add new group and delete group works.
-
- Fixed bug where groups did not redirect to exactly the correct URL by default.
-
- Process all group definitions now works.
-
- Editing/Adding/Deleting courses now fully works.
-
- Apply draft changes done
-
-
- 2012-03-24
- Still working on admin module.
-
- Can now add new degree plans.
-
- Implemented a new, more robust Form API system similar
- to Drupal. You can have "required" fields, which
- automatically fail validation if no value is entered.
-
- Automatically looks for a callback_submit() function to submit to; no need
- to register a new menu hook.
-
- Have a new "form_error" function which creates an error
- message for your form.
-
- Can now "copy" a degree plan. I believe this basically completes the degrees portion
- of the admin section.
-
- Made some tweaks to the menus, so that in Admin there are tabs now to help the user
- keep track of what screen they are looking at.
-
- Starting on "groups" for Admin.
-
- Created concepts of "popup_description" instead of just "description" in the form_api.
- This causes a [?] link to appear in the label of the element, and, which clicked,
- will popup the text therein. It makes forms a bit more tidy.
-
- Have basic editing of groups mostly complete.
-
-
- 2012-03-23
- Continuing work on admin module.
-
- Can actually save degrees now, and add/remove elective groups
-
- Fixed some minor tweaks to make sure it scrolled back to the correct position.
-
- Changed the way the "menu_links" array is set up in the menu items, to allow for
- more flexibility in the future.
-
- Invented a new hook. hook_menu_handle_replacement_pattern ($st). It will
- let you pass things like de_catalog_year=%DE_CATALOG_YEAR% to the l() function,
- which will then look for that hook to give each module the chance to act on that replacement
- pattern.
-
-
- 2012-03-18
- Continued work on admin module.
-
- Got much of the Edit Degrees displaying correctly. At this point, have not yet wired
- it up so that you can submit changes to degree plans.
-
-
- 2012-03-16
- Beginning work on the Admin module today. I expect it to be huge and complicated.
-
- Urgent message Save/Load
-
- Created simple Form API similar to Drupal (but much simpler)
-
- Created a concept of a system_settings_form which automatically writes values to the variables
- table upon save, so you don't have to create your own submit handler for forms. Ideal for little
- one-form settings pages.
-
- New "page_setting" for menu items: menu_links. Provides a way to place "breadcrumbs" and other
- types of links at the top of the page automatically.
-
-
- 2012-03-15
- Finished up (mostly) Comments module.
-
- Did work on getting access callback system working with permissions.
-
-
- 2012-03-12
- Got switching between Year view and Type view working.
-
- Got What If working (I think). Its a little bit screwy, and sometimes it seems to break when
- it wants to, but it seems to be OK for the time being.
-
-
- 2012-03-11
- Got many of the popups working on the "View" page. Also, submitting a basic advising session works.
-
- Moved over all of the Javascript into its own file (advise.js) instead of being locked up inside the
- AdvisingScreen object. It could be further split out into other files as well.
-
- Adding/Removing Substitutions, and removing courses from a degree plan, appear to be working
- correctly.
-
- Menus can specify a file to load as needed. Like an additional .inc file where that page_callback is located.
-
- Admin toolbox and hide/show pie charts
-
- Got rid of XML in FlightPath. Now, we just serialize or nothing. No sense in the extra overhead. Still need to get rid of it
- for module.info files. Some are still .xml. Will get to that when I do the Admin work.
-
-
- 2012-03-10
- Continuing work on making FP more like Drupal.
-
- Created "modules" table to better keep track of modules.
-
- Created student_search module. Working on bringing in all of its functionality.
-
- Added jquery 1.7.1 instead of 1.3.2.
-
- Added much of the Advise module
-
- Have a new concept of passing around the "current_student_id" from page to page,
- and saving all other "advising variables" to a table, rather than keeping them in the POST
- between every page. This makes it much more tidy.
-
-
- 2012-03-09
- ** BIG CHANGE **
- I ran a script to convert from camelCase to underscore_style.
- Now, only Class names are CamelCased. Everything else-- variables and methods and functions,
- are all going to be underscore_style (also called K&R or C++ style).
- Even though I think this isn't as pretty, it is consistent, which is what I am more
- concerned about.
-
- Fixed numerous capitalization problems. I'm sure there's more after this.
-
- Gave important system_settings default values.
-
- Moved functions.php into other .inc files, in a new "includes" directory.
-
-
- 2012-03-08
- Fixed a bug where definitions in groups, once entered could not be removed.
-
- Adjusted default.settings.php file to have error reporting limited by default,
- as well as additional instructions for setting up through Windows.
-
- Added "user_auth" table to flightpath database. Implemented default login
- attempts to that table (empty it to override and use another method)
- - Created "admin" user by default. user_id = 1, password = fpadminuser
-
- Made it so the number of courses to load (and cache) on login is configurable
- in the settings.
-
- Added menu_rebuild_cache(), pretty_print(), and db_query()
-
- Making other numerous changes, to make FlightPath more like Drupal.
-
- Changing naming convention to underscore style instead of camelCase,
- when not dealing with an object.
-
- Made a lot of progress in getting the primary display of course_search module
- to use the new menu system (piped through ?q=location/etc
-
- --- v3.1.1
-
- 2012-01-03
- Cleaned up queries in admin.php to use new replacement pattern system.
-
- 2011-12-22
- Modified queries throughout the various classes and php files to
- use new replacement pattern system, to make them less
- vulnerable to SQL-injection attacks.
-
- 2011-11-25
- Created new replacement pattern system for DatabaseHandler::dbQuery function,
- to help protect against SQL-injection attacks.
-
- --- v3.1
-
- 7-14-2011
- FlightPath is now capable of handling courses with 0 hours.
- It actually, internally, tracks them as 1 hour courses, but
- displays them as 0 hour courses. The pseudo-hour which is
- attributed to it is known as a "Ghost hour" in the system.
-
- 5-4-2011
- Fixed a small bug relating to degree options. If a student
- has a particular option selected, then changes catalog years,
- and that option (track code) no longer exists, then FP was just
- display no degree plan. It will now default back to the
- base degree plan.
-
-
- --- v3.0.1b
-
- 4-11-2011
- Made "deCanSwitchUsers" be its own permission, instead
- of simply testing for full_admin status.
-
- Made theme change to remove "ULM" from the default banner image.
-
- --- v3.0b ---
-
- 4-8-2011
- This is the initial release of FlightPath as open source,
- debuting as version 3.0b.