1. get_context_name should respect the $CFG->courselistshortnames
setting.
2. When $CFG->courselistshortnames is on, what to display should use a
language string, rather than string concatenation. This makes it
possible for people to configure the display. For example, they might
want 'My first course [M101]' instead of 'M101 My first course'.
If the string passed to get_string is empty, say that. Don't say that it
contains illegal characters.
When relying on the __call magic in plugin_renderer_base, when the
method cannot be found, include the right class name in the error
message.
With the capability check and the return -1 commented
it has been checked here that it's possible to upload
and pick from filesystem repository files normally, so
I'm introducing this temp commit to allow people to
use those repos "normallly" until a proper fix arrives
supporting the new cap.
Conflicts:
lib/db/upgrade.php
lib/phpunit/lib.php
version.php
Fixed:
lib/db/upgrade.php - duplicate course->sectioncache add code
lib/db/install.xml - cleanup needed because xmldb editor was not used
lib/phpunit/classes/util.php - cleanup $GROUPLIB_CACHE on test reset
When deleting modules that failed to delete using normal method, it deleted
the course-modules table first and then the availability/completion,
which depend on the entries in course-modules table. This commit switches
the order.
Credit: original version done by Kirill Astashov of NetSpot (netspot.com.au),
finished and tweaked by sam.
This change adds conditional availability support for sections analagous to
that already available for activities. (Backend, UI, backup/restore.)
In order that this feature does not reduce performance, section cacheing has
also been added using a new course 'sectioncache' field analagous to modinfo.
The new feature integrates with activity availability so that activities
inside sections which are not available are automatically not available
themselves (meaning it works to restrict access).
usergetdate should return consistent values for different timezone. There are
two return path
1. If timezone is servertime, it returns getdate
2. If timezone other then servertime, it use gmstrftime, which returns string and
values with leading zero.
In second case, leading zero's are removed and values are type casted. One major fix
is with yday, getdate returns 0 through 365, whereas %j returns 001 through 366. This
has been fixed as well.
Includes:
* constants refactoring
* reworked db table init
* support for $CFG->debug = -1
* functional DB tests
* fixed $DB->get_indexes() to not throw exceptions when table does not exist
* fix handling of user passwords in test db
* add debug info to exception messages
* removed unnecessary PHP debug errors from mathslib
* fixed @error suppression in get_string
* fixed PHPUnit error handler setup
* added timezone info to default install
We will need to know our major version to fetch the relevant data from remote
servers. This patch also fixes yet another place where the version used
to be hard-coded.