Hi !!
there are sevral places in index.php whith conditions like
if ($_action=='error' && strlen($_GET['_code']))
where perhaps it could be the same to do
if ($_action=='error' && isset($_GET['_code']))
it's not exaclty the same as if $_GET['_code'] is an empty string the first (original) condition will suceed but not the last proposed one. The advantatge of the last one is that it does not produce any warning in any error_reporting level. Looks like there are many places when this change is feasible, specially if strlen(x) is a way to test if x has been defined or not.
other, not so obvious places where that change could be made are, i.e, change:
$_framed = ( $_GET['_framed'] || $_POST['_framed'] );
for
$_framed = ( isset($_GET['_framed']) || isset($_POST['_framed']) );
this will work always unless there is any situation where _framed could be zero, can this happen ?