Ross / Bill,
Ross - you have nailed it!
The fault is in the code, as debug shows, because SUBSTR is not a legal call on MS SQL, which requires SUBSTRING. See article at:
http://www.1keydata.com/sql/sql-substring.htmlAnd the debug list shows the function calls in reverse order, so the faulty call is in
lib/accesslib.php in the function
context_moved()...
Use you PHP/HTML editor to open the file and look for the lines:
$sql = "UPDATE {$CFG->prefix}context SET path = ".sql_concat("'$newpath'", 'SUBSTR(path, '.$len.' +1)')." $setdepth WHERE path LIKE '{$frompath}/%'"; execute_sql($sql,false);and change
SUBSTR to
SUBSTRING.
Notes:
Move you courses back first before editing the PHP and moving them again.
This bug can only affect
MSSQL servers, and this is the only instance of the use of this call I can find in the whole of 1.9.1!!!
This call should not be confused with the legitimate PHP function substr() used very frequently wherever it appears other than in an SQL statement.
Finally, as for the white page from User Roles Report...
This happened to me when I first installed it because I didn't read all the instructions and apply them carefully!
Best regards,
John