per-user settings can be stored in a more or less standard way using hook_user and/or user_save
something strange in PHP. It seems that global arrays defined in an INCLUDED files are local to the included file and their range disappears in the including file:
<?php
// foo.php
$ar = array('alice', 'bob') ;
function baz()
{
global $ar ;
echo is_array($ar) ? 'True' : 'False' ;
}
?>
<?php
// bar.php
include 'foo.php';
baz();
?>
<?php
// qux.php
require 'foo.php';
baz();
?>
qux.php displays True as expected.
bar.php displays False (???)
bug, feature, or test error ?
Tested with PHP 5.0.4