Some guidelines for web development with php. ----------------------------------------------------- * Unix Line Breaks Only, NO windows breaks please. * Tabs set at 4 spaces either as tabs or spaces. * no accidental _ no spaces before or after * error_reporting(E_ALL|E_STRICT) , yep php5 * Magic quotes is gone in php6, get used to it now. config = magic_quotes_gpc() Everything must be quoted * Don't use ereg,split and other old function -> gone in php 5.4 or 6 (different information on php.net) http://www.php.net/manual/en/migration53.deprecated.php * Don't use shorttags. A Shorttag is always gas(+1); // test_pressure(); << inline comment break; //* Do default action default: do_land(); get_gps(); //* following grant greaceful exit //basket_exit_crash(); basket_exit(); } Do not use the phpdoc on every function, eg /** * Login a user * @param string user username * @param string password of user */ >> function login($user, $pass){ ....... } << as this function explains its self, the following clean code will suffice >> function login($user, $pass){ ....... } If you do need to explain a function then put un the summary syntax eg /** Pass an array of values where third param is bar * $foo['bar'] = 1; // allow a user * $foo['bar'] = 2; // destroy user * $foo['bar'] = -1; // recreate */ public function do_something($x, $y, $foo){ ... do something interesting } //***************************************************************************** // Where to store custom settings //***************************************************************************** -- Interface settings The recommended place to store global interface settings is the ini style global config system (see system.ini.master file in install/tpl/ to set defaults). The settings file gets stored inside the ispconfig database. Settings can be accessed with the function: $app->uses('ini_parser,getconf'); $interface_settings = $app->getconf->get_global_config('modulename'); where modulename corresponds to the config section in the system.ini.master file. To make the settings editable under System > interface config, add the new configuration fields to the file interface/web/admin/form/system_config.tform.php and the corresponding tempalte file in the templates subfolder of the admin module. -- Server settings Server settings are stored in the ini style server config system (see server.ini.master template file) The settings file gets stored inside the ispconfig database in the server table. Settings can be accessed with the function $app->getconf->get_server_config(....) Example to access the web configuration: $app->uses('ini_parser,getconf'); $web_config = $app->getconf->get_server_config($server_id,'web'); //***************************************************************************** // Learn about the form validators //***************************************************************************** There are form validators in interface/lib/classes/tform.inc.php to make validating forms easier. Read about: REGEX,UNIQUE,NOTEMPTY,ISEMAIL,ISINT,ISPOSITIVE,ISIPV4,CUSTOM