Source for file OCSP_MODULE.phpclass
Documentation is available at OCSP_MODULE.phpclass
* openCSP class file OCSP_MODULE
* @project Open CSP-Management
* @author Peter Krebs <pitlinz@users.sourceforge.net>
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: OCSP_MODULE.phpclass,v 1.11 2008/11/17 21:50:38 pitlinz Exp $
// ---------------------------------------------------------
// ---------------------------------------------------------
* openCSP class OCSP_MODULE
* uses the singleton pattern
* @project Open CSP-Management
* @author Peter Krebs <pitlinz@users.sourceforge.net>
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: OCSP_MODULE.phpclass,v 1.11 2008/11/17 21:50:38 pitlinz Exp $
/*** class constants --------------------------------------------- */
* @constant string CLASS_SRC_FILE
/*** class vars ------------------------------------------------- */
* array containing already loaded modules
protected static $loadedModules =
array();
* arry containing module id's
* @staticvar array $knownModules
protected static $knownModules =
array();
/*** class functions ---------------------------------------------- */
* returns a loaded instance of the module with prefix
* @param string $modPrefix
public static function &getInstance($modPrefix,$debug=
False)
if (!isset
(self::$loadedModules[$modPrefix]) ||
!pcf_is_instance_of(self::$loadedModules[$modPrefix],"OCSP_MODULE"))
self::factoryFromPrefix($modPrefix,False,$debug);
return self::$loadedModules[$modPrefix];
* returns the module unit of work with module id $modId
if (isset
(self::$knownModules[$modId]))
return self::getInstance(self::$knownModules[$modId],$debug);
return self::factoryFromId(intval($modId,$debug));
* returns an array with all installed modules
* @param boolean $refreshCache
* @return array of OCSP_MODULE
if ($debug) echoDebugMethod(__FILE__
,"static","OCSP_MODULE::factoryAllInstalledModules()");
foreach($arr_modules as $arr_modRow)
self::factoryFromRow($arr_row['MOD_PREFIX'],$arr_modRow,$debug);
self::$loadedModules[$arr_row['MOD_PREFIX']]->cacheToApc(0,$debug);
self::$loadedModules[$arr_row['MOD_PREFIX']]->cacheToFile(0,$debug);
$knownModules[$arr_row['MOD_ID']] =
$arr_row['MOD_PREFIX'];
return self::$loadedModules;
/*** compostion --------------------------------------------------- */
* array of already loaded configuration values
* @var array $myLoadedConfValues
* timestamp the configurations have been populated
* @var timestamp $myLoadedConfValuesTS
/*** attributes -------------------------------------------------- */
/*** factory / construct ----------------------------------------- */
* @param string $$modPrefix
if ($debug) echoDebugMethod(__FILE__
,"static","OCSP_MODULE::factoryFromId(" .
$modId .
")");
if (isset
(self::$knownModules[intval($modId)]))
return self::factoryFromPrefix(self::$knownModules[intval($modId)]);
if($obj_ret =
self::factoryFromDB($modId,$debug))
$obj_ret->cacheToApc(0,$debug);
$obj_ret->cacheToFile(0,$debug);
return self::$loadedModules[$obj_ret->getPrefix()];
* first tries APC and FILE cache
* @param string $$modPrefix
public static function &factoryFromPrefix($modPrefix,$forceReload=
False,$debug=
False)
if ($debug) echoDebugMethod(__FILE__
,get_class($this),"OCSP_MODULE::factoryFromPrefix(".
$modPrefix.
")");
if (isset
(self::$loadedModules[$modPrefix]) &&
pcf_is_instance_of(self::$loadedModules[$modPrefix],"OCSP_MODULE"))
return self::$loadedModules[$modPrefix];
$bol_useAPC =
OCSP_CONF::getInstance('OCSP')->getValue('USEMODAPC');
$obj_ret =
self::factoryFromRow($modPrefix,$arr_modRow,$debug);
if (intval($obj_ret->getId()))
$knownModules[$obj_ret->getId()] =
$obj_ret->getPrefix();
$bol_storeToFile =
False;
if (self::factoryFromRow($modPrefix,$arr_modRow,$debug))
self::$loadedModules[$modPrefix]->cacheToApc(0,$debug);
return self::$loadedModules[$modPrefix];
if (self::factoryFromDB($modPrefix,$debug))
if ($bol_useAPC &&
$bol_storeToApc)
self::$loadedModules[$modPrefix]->cacheToApc(0,$debug);
self::$loadedModules[$modPrefix]->cacheToFile(0,$debug);
self::$loadedModules[$modPrefix]=
Null;
return self::$loadedModules[$modPrefix];
* factory the object from the database
* @param mixed $aKey value of [MOD_ID|MOD_PREFIX]
if ($debug) echoDebugMethod(__FILE__
,"static","OCSP_MODULE::factoryFromDB(" .
$aKey .
")");
$arr_filter=
array('MOD_ID' =>
intval($aKey));
} else if (!empty($aKey)) {
$arr_filter=
array('MOD_PREFIX' =>
$aKey);
return self::factoryFromRow($arr_row['MOD_PREFIX'],$arr_row,$debug);
* factory the object from a data row
* @param string $modPrefix
public static function &factoryFromRow($modPrefix,$dbRow,$debug=
False)
self::$loadedModules[$modPrefix] =
new OCSP_MODULE();
self::$loadedModules[$modPrefix]->setDBRow($dbRow,True,$debug);
self::$knownModules[$dbRow['MOD_ID']] =
$dbRow['MOD_PREFIX'];
return self::$loadedModules[$modPrefix];
/*** getter / setter ---------------------------------------------- */
// ----------------------------------------------------------------
// ----------------------------------------------------------------
* returns the absolute module path
if ($debug) echoDebugLine(__FILE__
,__LINE__
,"<h1>absolut path </h1>");
* returns the absolute module include path
* requires a class file for $className
* @param string $className
public function require_class($className,$subPath=
"",$debug=
False)
// ----------------------------------------------------------------
// ----------------------------------------------------------------
* returns the admin root url of the module
/*** cache methods ---------------------------------------------- */
* returns the cache group name
* caches the module to APC
* caches the module row to the file cache
// ----------------------------------------------------
// ----------------------------------------------------
* populates all configuration values from the database
foreach($arr_confRows as $arr_row)
if (!empty($arr_row['MOS_VALUE']))
* returns a configuration value
* sets a configuration option
public function setMyConf($key,$value,$debug=
False)
'MOD_ID' =>
$this->getId(),
* sets a config setting only if it's not already set
'MOD_ID' =>
$this->getId(),
Documentation generated on Thu, 08 Jan 2009 17:46:56 +0100 by phpDocumentor 1.4.0a2