mirror of
https://github.com/moodle/moodle.git
synced 2025-03-18 22:50:19 +01:00
Based on work by Tim Lock <tim.lock@blackboard.com> While upgrading to Moodle 2.8 or above it is possible for it to fail if the site has multiple graded attempts for a user without an associated submission record. This caused the upgrade to violate the databases unique key rules. This same issue could apply to a backup that was created of an assignment that had this issue, when it is restored into Moodle 2.8 or later. This change adds the attempt number from the grade table into the query that is inserting the new submission record (thanks to Tim). It also moves the insert query before the latest flag is set on submission records to ensure that only one has it, without this it is possible that multiple submission records would be marked as the latest after an upgrade or restore.
ACTIVITY MODULES ---------------- These are main modules in Moodle, allowing various activities. Each of these modules contains a number of expected components: mod_form.php: a form to setup/update a module instance version.php: defines some meta-info and provides upgrading code pix/icon.gif: a 16x16 icon for the module db/install.xml: an SQL dump of all the required db tables and data index.php: a page to list all instances in a course view.php: a page to view a particular instance lib.php: any/all functions defined by the module should be in here. constants should be defined using MODULENAME_xxxxxx functions should be defined using modulename_xxxxxx There are a number of standard functions: modulename_add_instance() modulename_update_instance() modulename_delete_instance() modulename_user_complete() modulename_user_outline() modulename_cron() modulename_print_recent_activity() If you are a developer and interested in developing new Modules see: Moodle Documentation: http://moodle.org/doc Moodle Community: http://moodle.org/community