forked from extern/egroupware
phpgw --> egw plus some documentation
This commit is contained in:
parent
bd325a811f
commit
c5a6a2bcc0
@ -28,18 +28,12 @@
|
||||
* Direct functions which are not part of the API classes *
|
||||
* because they are required to be available at the lowest level. *
|
||||
\***************************************************************************/
|
||||
/*!
|
||||
@collection_start direct functions
|
||||
@abstract Direct functions which are not part of the API classes because they are required to be available at the lowest level.
|
||||
*/
|
||||
|
||||
/*!
|
||||
@function print_debug_subarray
|
||||
@abstract Not to be used directly. Should only be used by print_debug()
|
||||
*/
|
||||
/**
|
||||
* @internal Not to be used directly. Should only be used by print_debug()
|
||||
*/
|
||||
function print_debug_subarray($array)
|
||||
{
|
||||
// while(list($key, $value) = each($array))
|
||||
foreach($array as $key => $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
@ -54,17 +48,15 @@
|
||||
return $vartypes;
|
||||
}
|
||||
|
||||
/*!
|
||||
@function print_debug
|
||||
@abstract print debug data only when debugging mode is turned on.
|
||||
@author seek3r
|
||||
@discussion This function is used to debugging data.
|
||||
@syntax print_debug('message', $somevar);
|
||||
@example print_debug('this is some debugging data',$somevar);
|
||||
*/
|
||||
/**
|
||||
* print debug data only when debugging mode is turned on.
|
||||
*
|
||||
* @author seek3r
|
||||
* This function is used to debugging data.
|
||||
* print_debug('this is some debugging data',$somevar);
|
||||
*/
|
||||
function print_debug($message,$var = 'messageonly',$part = 'app', $level = 3)
|
||||
{
|
||||
// if (($part == 'app' && EXP_DEBUG_APP == True) || ($part == 'api' && DEBUG_API == True))
|
||||
if (($part == 'app' && DEBUG_APP == True) || ($part == 'api' && DEBUG_API == True))
|
||||
{
|
||||
if (!defined('DEBUG_OUTPUT'))
|
||||
@ -107,7 +99,7 @@
|
||||
/*
|
||||
if (!!(DEBUG_OUTPUT & 32))
|
||||
{
|
||||
$obj_debug = new COM('Some_COM_App.Class','localhost');
|
||||
$obj_debug =& new COM('Some_COM_App.Class','localhost');
|
||||
if (is_object($obj_debug))
|
||||
{
|
||||
$DebugMessage_return = $obj_debug->DebugMessage($output);
|
||||
@ -157,13 +149,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
@function safe_args
|
||||
@abstract Allows for array and direct function params as well as sanatization.
|
||||
@author seek3r
|
||||
@discussion This function is used to validate param data as well as offer flexible function usage.
|
||||
@syntax safe_args($expected_args, $recieved_args,__LINE__,__FILE__);
|
||||
@example
|
||||
/**
|
||||
* Allows for array and direct function params as well as sanatization.
|
||||
*
|
||||
* @author seek3r
|
||||
* This function is used to validate param data as well as offer flexible function usage.
|
||||
*
|
||||
function somefunc()
|
||||
{
|
||||
$expected_args[0] = Array('name'=>'fname','default'=>'joe', 'type'=>'string');
|
||||
@ -195,7 +186,7 @@
|
||||
This would result in - Full name: jack hick brown<br>
|
||||
Its using the default value for the second param.
|
||||
Of course if you have the second param as a required field it will fail to work.
|
||||
*/
|
||||
*/
|
||||
function safe_args($expected, $recieved, $line='??', $file='??')
|
||||
{
|
||||
/* This array will contain all the required fields */
|
||||
@ -277,19 +268,13 @@
|
||||
return $args;
|
||||
}
|
||||
|
||||
/*!
|
||||
@function sanitize
|
||||
@abstract Validate data.
|
||||
@author seek3r
|
||||
@discussion This function is used to validate input data.
|
||||
@syntax sanitize('type', 'match string');
|
||||
@example sanitize('number',$somestring);
|
||||
*/
|
||||
|
||||
/*
|
||||
$GLOBALS['egw_info']['server']['sanitize_types']['number'] = Array('type' => 'preg_match', 'string' => '/^[0-9]+$/i');
|
||||
*/
|
||||
|
||||
/**
|
||||
* Validate data.
|
||||
*
|
||||
* @author seek3r
|
||||
* This function is used to validate input data.
|
||||
* sanitize('number',$somestring);
|
||||
*/
|
||||
function sanitize($string,$type)
|
||||
{
|
||||
switch ($type)
|
||||
@ -645,17 +630,16 @@
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*!
|
||||
@function get_var
|
||||
@abstract retrieve a value from either a POST, GET, COOKIE, SERVER or from a class variable.
|
||||
@author skeeter
|
||||
@discussion This function is used to retrieve a value from a user defined order of methods.
|
||||
@syntax get_var('id',array('HTTP_POST_VARS'||'POST','HTTP_GET_VARS'||'GET','HTTP_COOKIE_VARS'||'COOKIE','GLOBAL','DEFAULT'));
|
||||
@example $this->id = get_var('id',array('HTTP_POST_VARS'||'POST','HTTP_GET_VARS'||'GET','HTTP_COOKIE_VARS'||'COOKIE','GLOBAL','DEFAULT'));
|
||||
@param $variable name
|
||||
@param $method ordered array of methods to search for supplied variable
|
||||
@param $default_value (optional)
|
||||
*/
|
||||
/**
|
||||
* retrieve a value from either a POST, GET, COOKIE, SERVER or from a class variable.
|
||||
*
|
||||
* @author skeeter
|
||||
* This function is used to retrieve a value from a user defined order of methods.
|
||||
* $this->id = get_var('id',array('HTTP_POST_VARS'||'POST','HTTP_GET_VARS'||'GET','HTTP_COOKIE_VARS'||'COOKIE','GLOBAL','DEFAULT'));
|
||||
* @param $variable name
|
||||
* @param $method ordered array of methods to search for supplied variable
|
||||
* @param $default_value (optional)
|
||||
*/
|
||||
function get_var($variable,$method='any',$default_value='')
|
||||
{
|
||||
if(!@is_array($method))
|
||||
@ -665,18 +649,17 @@
|
||||
return reg_var($variable,$method,'any',$default_value,False);
|
||||
}
|
||||
|
||||
/*!
|
||||
@function CreateObject
|
||||
@abstract Load a class and include the class file if not done so already.
|
||||
@author mdean
|
||||
@author milosch
|
||||
@author (thanks to jengo and ralf)
|
||||
@discussion This function is used to create an instance of a class, and if the class file has not been included it will do so.
|
||||
@syntax CreateObject('app.class', 'constructor_params');
|
||||
@example $phpgw->acl = CreateObject('phpgwapi.acl');
|
||||
@param $classname name of class
|
||||
@param $p1,$p2,... class parameters (all optional)
|
||||
*/
|
||||
/**
|
||||
* Load a class and include the class file if not done so already.
|
||||
*
|
||||
* This function is used to create an instance of a class, and if the class file has not been included it will do so.
|
||||
* $GLOBALS['egw']->acl =& CreateObject('phpgwapi.acl');
|
||||
*
|
||||
* @author RalfBecker@outdoor-training.de
|
||||
* @param $classname name of class
|
||||
* @param $p1,$p2,... class parameters (all optional)
|
||||
* @return object reference to an object
|
||||
*/
|
||||
function &CreateObject($class)
|
||||
{
|
||||
list($appname,$classname) = explode('.',$class);
|
||||
@ -712,12 +695,13 @@
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute a function with multiple arguments
|
||||
* We take object $GLOBALS[classname] from class if exists
|
||||
*
|
||||
* @param string app.class.method method to execute
|
||||
* @example ExecObject('etemplates.so_sql.search',$criteria,$key_only,...);
|
||||
*/
|
||||
* Execute a function with multiple arguments
|
||||
* We take object $GLOBALS[classname] from class if exists
|
||||
*
|
||||
* @param string app.class.method method to execute
|
||||
* @example ExecObject('etemplates.so_sql.search',$criteria,$key_only,...);
|
||||
* @return mixed reference to returnvalue of the method
|
||||
*/
|
||||
function &ExecMethod2($acm)
|
||||
{
|
||||
list($app,$class,$method) = explode('.',$acm);
|
||||
@ -735,7 +719,7 @@
|
||||
|
||||
$args = func_get_args();
|
||||
unset($args[0]);
|
||||
$code = '$return = $obj->'.$method.'(';
|
||||
$code = '$return =& $obj->'.$method.'(';
|
||||
foreach ($args as $n => $arg)
|
||||
{
|
||||
if ($n)
|
||||
@ -749,18 +733,18 @@
|
||||
return $return;
|
||||
}
|
||||
|
||||
/*!
|
||||
@function ExecMethod
|
||||
@abstract Execute a function, and load a class and include the class file if not done so already.
|
||||
@author seek3r
|
||||
@discussion This function is used to create an instance of a class, and if the class file has not been included it will do so.
|
||||
@syntax ExecObject('app.class', 'constructor_params');
|
||||
@param $method to execute
|
||||
@param $functionparams function param should be an array
|
||||
@param $loglevel developers choice of logging level
|
||||
@param $classparams params to be sent to the contructor
|
||||
@example ExecObject('phpgwapi.acl.read');
|
||||
*/
|
||||
/**
|
||||
* Execute a function, and load a class and include the class file if not done so already.
|
||||
*
|
||||
* This function is used to create an instance of a class, and if the class file has not been included it will do so.
|
||||
*
|
||||
* @author seek3r
|
||||
* @param $method to execute
|
||||
* @param $functionparams function param should be an array
|
||||
* @param $loglevel developers choice of logging level
|
||||
* @param $classparams params to be sent to the contructor
|
||||
* @return mixed returnvalue of method
|
||||
*/
|
||||
function ExecMethod($method, $functionparams = '_UNDEF_', $loglevel = 3, $classparams = '_UNDEF_')
|
||||
{
|
||||
/* Need to make sure this is working against a single dimensional object */
|
||||
@ -772,11 +756,11 @@
|
||||
{
|
||||
if ($classparams != '_UNDEF_' && ($classparams || $classparams != 'True'))
|
||||
{
|
||||
$GLOBALS[$classname] = CreateObject($appname.'.'.$classname, $classparams);
|
||||
$GLOBALS[$classname] =& CreateObject($appname.'.'.$classname, $classparams);
|
||||
}
|
||||
else
|
||||
{
|
||||
$GLOBALS[$classname] = CreateObject($appname.'.'.$classname);
|
||||
$GLOBALS[$classname] =& CreateObject($appname.'.'.$classname);
|
||||
}
|
||||
}
|
||||
|
||||
@ -831,16 +815,16 @@
|
||||
{
|
||||
if (is_string($classparams))
|
||||
{
|
||||
eval($parentobject.'->'.$classname.' = CreateObject("'.$appname.'.'.$classname.'", "'.$classparams.'");');
|
||||
eval($parentobject.'->'.$classname.' =& CreateObject("'.$appname.'.'.$classname.'", "'.$classparams.'");');
|
||||
}
|
||||
else
|
||||
{
|
||||
eval($parentobject.'->'.$classname.' = CreateObject("'.$appname.'.'.$classname.'", '.$classparams.');');
|
||||
eval($parentobject.'->'.$classname.' =& CreateObject("'.$appname.'.'.$classname.'", '.$classparams.');');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
eval($parentobject.'->'.$classname.' = CreateObject("'.$appname.'.'.$classname.'");');
|
||||
eval($parentobject.'->'.$classname.' =& CreateObject("'.$appname.'.'.$classname.'");');
|
||||
}
|
||||
}
|
||||
|
||||
@ -861,16 +845,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
@function copyobj
|
||||
@abstract duplicates the result of copying an object under php3/4 even when using php5
|
||||
@author milosch
|
||||
@discussion This is critical when looping on db object output and updating or inserting to the database using a copy of the db object. This was first added to GroupWhere
|
||||
@syntax copyobj($source_object,$target_object);
|
||||
@example copyobj($GLOBALS['egw']->db,$mydb);
|
||||
@param $a - Source Object
|
||||
@param $b - Target Object (copy)
|
||||
*/
|
||||
/**
|
||||
* duplicates the result of copying an object under php3/4 even when using php5
|
||||
*
|
||||
* This is critical when looping on db object output and updating or inserting to the database using a copy of the db object. This was first added to GroupWhere
|
||||
*
|
||||
* @deprecated use $copy = clone($obj);
|
||||
* @author milosch
|
||||
* @param $a - Source Object
|
||||
* @param $b - Target Object (copy)
|
||||
*/
|
||||
function copyobj($a,&$b)
|
||||
{
|
||||
if(floor(phpversion()) > 4)
|
||||
@ -884,16 +868,16 @@
|
||||
return;
|
||||
}
|
||||
|
||||
/*!
|
||||
@function get_account_id
|
||||
@abstract Return a properly formatted account_id.
|
||||
@author skeeter
|
||||
@discussion This function will return a properly formatted account_id. This can take either a name or an account_id as paramters. If a name is provided it will return the associated id.
|
||||
@syntax get_account_id($accountid);
|
||||
@example $account_id = get_account_id($accountid);
|
||||
@param $account_id either a name or an id
|
||||
@param $default_id either a name or an id
|
||||
*/
|
||||
/**
|
||||
* Return a properly formatted account_id.
|
||||
*
|
||||
* @author skeeter
|
||||
* This function will return a properly formatted account_id. This can take either a name or an account_id as paramters. If a name is provided it will return the associated id.
|
||||
* $account_id = get_account_id($accountid);
|
||||
* @param int/string $account_id either a name or an id
|
||||
* @param int/string $default_id either a name or an id
|
||||
* @return int account_id
|
||||
*/
|
||||
function get_account_id($account_id = '',$default_id = '')
|
||||
{
|
||||
if (gettype($account_id) == 'integer')
|
||||
@ -925,11 +909,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
@function filesystem_separator
|
||||
@abstract sets the file system seperator depending on OS
|
||||
@result file system separator
|
||||
*/
|
||||
/**
|
||||
* sets the file system seperator depending on OS
|
||||
*
|
||||
* This is completely unnecessary, as you can use forward slashes in php under every OS -- RalfBecker 2005/11/09
|
||||
*
|
||||
* @return file system separator
|
||||
*/
|
||||
function filesystem_separator()
|
||||
{
|
||||
if(PHP_OS == 'Windows' || PHP_OS == 'OS/2' || PHP_OS == 'WINNT')
|
||||
@ -942,6 +928,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* print an array or object as pre-formatted html
|
||||
*
|
||||
* @param mixed $array
|
||||
* @param boolean $print=true print or return the content
|
||||
* @return string if !$print
|
||||
*/
|
||||
function _debug_array($array,$print=True)
|
||||
{
|
||||
$four = False;
|
||||
@ -971,13 +964,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@function alessthanb
|
||||
@abstract phpgw version checking, is param 1 < param 2 in phpgw versionspeak?
|
||||
@param $a phpgw version number to check if less than $b
|
||||
@param $b phpgw version number to check $a against
|
||||
#return True if $a < $b
|
||||
*/
|
||||
/**
|
||||
* eGW version checking, is eGW version in $a < $b
|
||||
*
|
||||
* @param string $a egw version number to check if less than $b
|
||||
* @param string $b egw version number to check $a against
|
||||
* @return boolean True if $a < $b
|
||||
*/
|
||||
function alessthanb($a,$b,$DEBUG=False)
|
||||
{
|
||||
$num = array('1st','2nd','3rd','4th');
|
||||
@ -1059,13 +1052,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
@function amorethanb
|
||||
@abstract phpgw version checking, is param 1 > param 2 in phpgw versionspeak?
|
||||
@param $a phpgw version number to check if more than $b
|
||||
@param $b phpgw version number to check $a against
|
||||
#return True if $a < $b
|
||||
*/
|
||||
/**
|
||||
* eGW version checking, is eGW version in $a > $b
|
||||
*
|
||||
* @param string $a eGW version number to check if more than $b
|
||||
* @param string $b eGW version number to check check $a against
|
||||
* @return boolean True if $a > $b
|
||||
*/
|
||||
function amorethanb($a,$b,$DEBUG=False)
|
||||
{
|
||||
$num = array('1st','2nd','3rd','4th');
|
||||
@ -1139,14 +1132,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
@function prepend_tables_prefix
|
||||
@abstract prepend a prefix to an array of table names
|
||||
@author Adam Hull (aka fixe) - No copyright claim
|
||||
@param $prefix the string to be prepended
|
||||
@param $tables and array of tables to have the prefix prepended to
|
||||
@return array of table names with the prefix prepended
|
||||
*/
|
||||
/**
|
||||
* prepend a prefix to an array of table names
|
||||
*
|
||||
* @author Adam Hull (aka fixe) - No copyright claim
|
||||
* @param $prefix the string to be prepended
|
||||
* @param $tables and array of tables to have the prefix prepended to
|
||||
* @return array of table names with the prefix prepended
|
||||
*/
|
||||
function prepend_tables_prefix($prefix,$tables)
|
||||
{
|
||||
foreach($tables as $key => $value)
|
||||
@ -1156,12 +1149,13 @@
|
||||
return $tables;
|
||||
}
|
||||
|
||||
/*!
|
||||
@function function_backtrace
|
||||
@abstract backtrace of the calling functions for php4.3+ else menuaction/scriptname
|
||||
@author ralfbecker
|
||||
@return function-names separated by slashes (beginning with the calling function not this one)
|
||||
*/
|
||||
/**
|
||||
* backtrace of the calling functions for php4.3+ else menuaction/scriptname
|
||||
*
|
||||
* @author RalfBecker-AT-outdoor-training.de
|
||||
* @param int $remove=0 number of levels to remove
|
||||
* @return string function-names separated by slashes (beginning with the calling function not this one)
|
||||
*/
|
||||
function function_backtrace($remove=0)
|
||||
{
|
||||
if (function_exists('debug_backtrace'))
|
||||
@ -1184,6 +1178,13 @@
|
||||
return $_GET['menuaction'] ? $_GET['menuaction'] : str_replace(EGW_SERVER_ROOT,'',$_SERVER['SCRIPT_FILENAME']);
|
||||
}
|
||||
|
||||
/**
|
||||
* check $_REQUEST data for XSS, vars containing script tags are moved to $GLOBALS['egw_unset_vars']
|
||||
*
|
||||
* @internal
|
||||
* @param array &$var reference of array to check
|
||||
* @param string $name='' name of the array
|
||||
*/
|
||||
function _check_script_tag(&$var,$name='')
|
||||
{
|
||||
if (is_array($var))
|
||||
@ -1244,12 +1245,16 @@
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* function to handle multilanguage support
|
||||
*/
|
||||
if (!function_exists('lang')) // setup declares an own version
|
||||
{
|
||||
function lang($key,$vars='')
|
||||
/**
|
||||
* function to handle multilanguage support
|
||||
*
|
||||
* @param string $key message in englich with %1, %2, ... placeholders
|
||||
* @param string $vars=null multiple values to replace the placeholders
|
||||
* @return string translated message with placeholders replaced
|
||||
*/
|
||||
function lang($key,$vars=null)
|
||||
{
|
||||
if(!is_array($m1))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user