I just went thru some quick fixes necessary to run 1.5.2+ at my PHP5 box. One thing I've noticed: the behaviour of PHP has silently changed during last development: only variables can be now passed to array_shift(). E.g.
$focus = "form.".array_shift(array_flip(get_object_vars($err)));
will produce PHP's Fatal error in latest versions .I've found the problematic code in several places:
$ egrep -rc 'array_shift\([^$]' * | grep -v ':0$'
course/groups.php:1
grade/exceptions.php:1
lib/adodb/drivers/adodb-ldap.inc.php:3
lib/datalib.php:10
lib/magpie/rss_parse.inc:2
login/signup.php:1
Maybe PHP5 compatibility is not the issue of the day, but you clever guys developing our favourite Moodle should avoid using this traditional syntax in the future.. (fixing the current code would be welcome )course/groups.php:1
grade/exceptions.php:1
lib/adodb/drivers/adodb-ldap.inc.php:3
lib/datalib.php:10
lib/magpie/rss_parse.inc:2
login/signup.php:1
See Moodle bug 3900 and PHPBug-#33495 for more details on this.
David