84 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
 | 
						|
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.
 | 
						|
 |