Till Brehm
2014-08-14 68fccf6d5e610c8ee078826bd9a759cafc9bf788
CODING_NOTES.php.txt
@@ -6,13 +6,18 @@
* every php file starts and end with <?php ?> 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 <? and that is confusing with <?xml -> always <?php
* Column names in database tables and database table names are in lowercase
* Classes for the interface are located in interface/lib/classes/ and loaded with $app->uses() or $app->load() functions.
* Classes for the server are located in server/lib/classes/ and loaded with $app->uses() or $app->load() functions.
please mark any section that need review or work on with
// TODO 
* Add documentation about access levels (public, private, protected).
* Make function / var names on the following way, first word lower, next word(s) first letter upper like. getFirstResult();
Pear coding guiidelines
Pear coding guidelines
//*****************************************************************************
// Commenting style
@@ -92,5 +97,39 @@
... 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