This patch conbines valuable contributions from Kashmira Nagwekar and
Luca Bösch. Many thanks to them. However, the final form of the fix,
and hence the blame, falls to me -- Tim.
There were several issues here:
* The load_questions_usages_by_activity method in
question/engine/datalib.php was incorrectly treating the case
when no data was returned. (Looks like a historic copy-pase from
other methods that fetch one item by unique id, which therefore
must exist.)
* The report was not correctly handling the display when the 'Which
tries' was set to 'with, and without, attempts'.
* It was possible to select the 'All tries' option when also saying
'Users without attempts'. This combination makes not sense, so
a disabledIf rule was added to the form.
Before this implementation, both resourcekey and password
were not being included in the backups, so old backups are
missing them. To keep upwards compatibility and avoid a PHP
Notice (undefined property), existence is checked via isset(),
that is the usual way all over the restore process.
The singlescobasic_missingorg.zip file includes a modified version of
the javascript which deliberately breaks content.
We need it to have different file names to not break other similar copies
of the file.
Significant string changes:
* multiple strings in core_hub - 'Publish' changed to 'Share' plus other
wording improvements to avoid misunderstandings
* errorretrievingkey in message_airnotifier - improved wording and
removing reference to Moodle.org
* enddate_help and courseduration_desc in core - clearer wording
explaining what the date actually does
* restore:viewautomatedfilearea in core_role - changing wording to match
the behaviour
* dropzones_help in qtype_ddmarker - improved wording
* autologinkeygenerationlockout in tool_mobile - updated error message
* configallowemailaddresses in core_admin - clearer description
* subscriptionmode_helpin mod_forum - removing misleading sentence about
subscription mode changes not affecting existing users
SCORM 2004 uses the element 'cmi.completion_status' to store the
completion status of a SCO, not 'cmi.core.lesson_status'.
This amends scorm_check_mode so that the right element is looked up.
When scorm_version_check returns false, SCORM 1.2 is assumed.