forked from AlternC/AlternC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCODING_CONVENTION.php
83 lines (64 loc) · 3.35 KB
/
CODING_CONVENTION.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
Coding Convention
----------------
We are using the following coding convention
Graphically
----------------
The classes are structured like that.
texts prefixed by "##" are comments to explain the convention with an example. Do not use them in your code.
<?php
## The header below is on every head of php file use current year instead of 2012. ##
/*
----------------------------------------------------------------------
AlternC - Web Hosting System
Copyright (C) 2000-2012 by the AlternC Development Team.
https://alternc.org/
----------------------------------------------------------------------
LICENSE
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License (GPL)
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
To read the license please visit http://www.gnu.org/copyleft/gpl.html
----------------------------------------------------------------------
Purpose of file: Manage mailing-lists with Mailman
----------------------------------------------------------------------
*/
## Enter the purpose of this file up there ^^ ##
## the name of the class is the same as the file (m_dom, m_mailman...) ##
class m_mailman {
## 2 blank lines here and between each functions, give it some space ;) ##
## the following line of -- allow you to visually quickly find a function ##
## then the comment after it is using /** notation, so that phpdoc can build a self-made documentation of our classes ##
/* ----------------------------------------------------------------- */
/** ## here we put a full long description of the function's behavior, in english ##
* ## this description may span multiple lines ##
* @param $domain string ## each param has its @param line, followed by the param name ($domain) type (string) and description ##
* @return array ## a @return line is added when the function returns anything, followed by the returned type and description ##
*/
function enum_ml($domain = null, $order_by = array('domain', 'list')) {
## function which consist of more than one word are separated by _ ##
## private functions are prefixed by "private" and their name starts by "_" ##
global $err,$db,$cuid;
## use the globals for $db (database mapper), $cuid (uid of current alternc's user) $err (error/log mapper)
$err->log("mailman","enum_ml");
## when calling an important function, log it that way ##
## when raising an error, use the following syntax ##
$err->raise("classname",_("text in english"));
}
}
/* at the end of a php-only file, we don't put a ?> */
?>
Syntax in code :
----------------
function names starting by "hook_" are hooks called that way:
global $hooks;
$res=$hooks->invoke("hook_class_method_name",array($param1,$param2));
$params1 & 2 are sent as parameters to the hooked functions of each files.
the hook function name must have the CALLING class name after hook_
like hook_admin_del_member for a hook in "admin" class.
$res is an array with the returned data as values, for each function called in a class.
The key in that array is the classname called.