Made isteacher() require that the first parameter (course id) be
specified and non-empty. If it is empty, [i.e., 0, which was used to
simulate what has now become isteacherinanycourse()], then the return
value IS correct but a warning is printed on screen. This should allow
us to track down any such calls in legacy modules without breaking Moodle.
The correct way to check for teacher status in ANY course is now to
call isteacherinanycourse().
There were several issues in fix_coursesortorder() that were fixed. Mainly:
- the recursive calls dropped the $safe parameter
- we did not even try to maintain uniqueness in the sortorder field across categories
http://moodle.org/bugs/bug.php?op=show&bugid=2334
The old code assumed that the courseid would always be set but that is only the case for course events, not for user or group events. (See http://moodle.org/mod/forum/discuss.php?d=4466#20827 for a discussion about the meaning of the courseid field in the event table)
I also made the $courseid argument to get_coursemodule_from_instance() optional. It is not needed and in some cases it will not be know, as for example for non-course events created by activity modules.
Fixed upgrade bug that could show up in cases where:
- installations with large numbers of courses in a category AND 'hidden' courses in those categories
- where the database upgrade was performed while NOT in a logged-in-admin session
fix_course_sortorder() would fail to guarantee the uniqueness of course,sortorder and the new unique index on that column would fail to be created.
Sigh.
Fixes to fix_course_sortorder() and course/category.php pages. (martinlanghoff)
arch-eduforge@catalyst.net.nz--2004/moodle--eduforge--1.3.3--patch-160
Minor fix: moodle would crash on high number of courses when doing course creation -- should be more scalable now
arch-eduforge@catalyst.net.nz--2004/moodle--eduforge--1.3.3--patch-164
Fix a bug I have introduced in fix_course_sortorder() - v2
arch-eduforge@catalyst.net.nz--2004/moodle--eduforge--1.3.3--patch-210
Fixed nested transaction in fix_course_sortorder()
arch-eduforge@catalyst.net.nz--2004/moodle--eduforge--1.3.3--patch-215
Performance and memory usage fixes for re-sort courses function
arch-eduforge@catalyst.net.nz--2004/moodle--eduforge--1.3.3--patch-268
Major performance and correctness improvements in the functions that move courses up and down, reorder by name, and in fix_course_sortorder(). All now assume course-sortorder is unique (this is enforced at the DB)
arch-eduforge@catalyst.net.nz--2004/moodle--eduforge--1.3.3--patch-332
fix_coursesortorder() bugfixes and logic simplification
arch-eduforge@catalyst.net.nz--2004/moodle--eduforge--1.3.3--patch-333
courses listing enhancements: bugfix on re-ordering, keep the right page on actions