[Eis-commits] SF.net SVN: eis: [217] trunk
Status: Pre-Alpha
Brought to you by:
baslijnse
|
From: <tom...@us...> - 2007-09-18 20:51:26
|
Revision: 217
http://eis.svn.sourceforge.net/eis/?rev=217&view=rev
Author: tombroek
Date: 2007-09-18 13:51:23 -0700 (Tue, 18 Sep 2007)
Log Message:
-----------
Migrated the moduleconfig from config/module.php to the module.xml
The module.xml is automatically cached in the cache directory.
Modified Paths:
--------------
trunk/lib/engine/engine.lib.php
trunk/mod/eis_engine/module.xml
trunk/mod/eis_log/module.xml
trunk/mod/eis_session/module.xml
trunk/mod/eis_user/module.xml
Removed Paths:
-------------
trunk/mod/eis_engine/config/module.php
trunk/mod/eis_log/config/module.php
trunk/mod/eis_session/config/module.php
trunk/mod/eis_user/config/module.php
Modified: trunk/lib/engine/engine.lib.php
===================================================================
--- trunk/lib/engine/engine.lib.php 2007-09-17 09:17:04 UTC (rev 216)
+++ trunk/lib/engine/engine.lib.php 2007-09-18 20:51:23 UTC (rev 217)
@@ -31,6 +31,8 @@
var $user = null; /**< The user instance */
var $log = null; /**< The log instance */
+ var $cachedir = 'cache/';
+
/**
* Engine constructor, gathers basic info about the environment.
*/
@@ -146,10 +148,11 @@
//TODO: Get this from the module's definition
return 'default';
}
+
/**
- *Load moduleconfig
+ *Load moduleconfig. This function will load the moduleconfig from the cache or form the module.xml.
*@param modul of which the config has to be loaded
- *@result mosuleconfig is returned
+ *@result moduleconfig is returned
*/
function _loadModuleConfig($module, $reload = false) {
@@ -157,12 +160,12 @@
$config = array();
- //Load defaults
- $defaults = 'mod/'.$module.'/config/module.php';
- if(file_exists($defaults)) {
- include($defaults);
- if(is_array($cfg))
- $config = $cfg;
+ //Load moduleconfig
+ if($this->_cacheModuleConfigAvailable($module)) {
+ $config = $this->_loadModuleConfigFromCache($module);
+ } else {
+ $config = $this->_loadModuleConfigFromXml($module);
+ $this->_storeModuleConfigToCache($module, $config);
}
//Apply modifications
@@ -177,7 +180,78 @@
return $this->moduleConfig[$module];
}
+
/**
+ *Load moduleconfig from the module.xml of the module
+ *@param modul of which the config has to be loaded
+ *@result moduleconfig is returned
+ */
+ function _loadModuleConfigFromXml($module) {
+
+ $struct = new XmlStruct();
+
+ $moduleconfig = array();
+ //Libraries
+ $this->libraries = array();
+ $doc = $struct->decodeFile('mod/'.$module.'/module.xml');
+ $config = $struct->getArray($doc['module'],'config');
+
+ foreach($config as $entry) {
+ $moduleconfig[$entry['name']] = $entry['value'];
+ }
+
+ return $moduleconfig;
+
+
+ }
+
+ /**
+ *Checks if their is an valid cache version of the module config
+ *@param module of which the config has to be loaded
+ *@result moduleconfig is returned
+ */
+ function _cacheModuleConfigAvailable($module) {
+ if(is_readable($this->cachedir.'MODULECONFIG-'.$module.'.php')) {
+ $tcache = filemtime($this->cachedir.'MODULECONFIG-'.$module.'.php');
+ if(filemtime('mod/'.$module.'/module.xml') > $tcache) {
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+ /**
+ *Load moduleconfig from the cache dir
+ *@param module of which the config has to be loaded
+ *@result moduleconfig is returned
+ */
+
+ function _loadModuleConfigFromCache($module) {
+ require($this->cachedir.'MODULECONFIG-'.$module.'.php');
+ return $config;
+ }
+
+ /**
+ *Store moduleconfig as a cached php file
+ *@param module of which the config has to be cached
+ *@param config wich contains the module config of $module
+ */
+ function _storeModuleConfigToCache($module, $config) {
+ if(!is_writable($this->cachedir))
+ return;
+
+ $cache = "<?php\n";
+ $cache .= "\$config =".var_export($config, true).";\n";
+ $cache .= "?>";
+
+ $f = fopen($this->cachedir.'MODULECONFIG-'.$module.'.php',"w");
+ fwrite($f, $cache);
+ fclose($f);
+ }
+
+
+
+ /**
*Load elementconfig
*@param module of the config to be loaded
*@param element of the config to be loaded
Deleted: trunk/mod/eis_engine/config/module.php
===================================================================
--- trunk/mod/eis_engine/config/module.php 2007-09-17 09:17:04 UTC (rev 216)
+++ trunk/mod/eis_engine/config/module.php 2007-09-18 20:51:23 UTC (rev 217)
@@ -1,47 +0,0 @@
-<?php
- $cfg['admin_password'] = 'admin';
-
- $cfg['redirect_404'] = null;
- $cfg['redirect_403'] = null;
-
- $cfg['admin'] = 'nobody@localhost';
-
- # Enable/disable options
- $cfg['enable_datadir'] = true;
- $cfg['enable_database'] = true;
- $cfg['enable_session'] = true;
- $cfg['enable_user'] = true;
-
- # Deployment and development settings
- $cfg['deployment_level'] = 'dev'; # Deployment level of this site: install|dev|test|live|unavailable
-
- $cfg['deployment_dev_user'] ='dev';
- $cfg['deployment_dev_password'] = 'dev';
- $cfg['deployment_dev_iprange'] = '127\.0\.0\.1';
-
- $cfg['deployment_test_user'] = 'test';
- $cfg['deployment_test_password'] = 'test';
- $cfg['deployment_test_iprange'] = '127\.0\.0\.1';
-
- # Data Dir Location
- $cfg['data_root'] = 'data';
-
- $cfg['data_root_dev'] = null;
- $cfg['data_root_test'] = null;
-
- #Mysql
- $cfg['mysql_user'] = null;
- $cfg['mysql_host'] = null;
- $cfg['mysql_db'] = null;
- $cfg['mysql_pwd'] = null;
-
- $cfg['mysql_dev_user'] = null;
- $cfg['mysql_dev_host'] = null;
- $cfg['mysql_dev_db'] = null;
- $cfg['mysql_dev_pwd'] = null;
-
- $cfg['mysql_test_user'] = null;
- $cfg['mysql_test_host'] = null;
- $cfg['mysql_test_db'] = null;
- $cfg['mysql_test_pwd'] = null;
-?>
Modified: trunk/mod/eis_engine/module.xml
===================================================================
--- trunk/mod/eis_engine/module.xml 2007-09-17 09:17:04 UTC (rev 216)
+++ trunk/mod/eis_engine/module.xml 2007-09-18 20:51:23 UTC (rev 217)
@@ -6,4 +6,124 @@
<author>EIS Team</author>
<homepage>http://eis.sourceforge.net/</homepage>
<license>BSD License</license>
+ <config>
+ <name>admin_password</name>
+ <value>admin</value>
+ </config>
+ <config>
+ <name>redirect_404</name>
+ <value></value>
+ </config>
+ <config>
+ <name>redirect_403</name>
+ <value></value>
+ </config>
+ <config>
+ <name>admin</name>
+ <value>nobody@localhost</value>
+ </config>
+ <config>
+ <name>enable_datadir</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_database</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_session</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_user</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>deployment_level</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_user</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_password</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_iprange</name>
+ <value>127.0.0.1</value>
+ </config>
+ <config>
+ <name>deployment_test_user</name>
+ <value>test</value>
+ </config>
+ <config>
+ <name>deployment_test_password</name>
+ <value>test</value>
+ </config>
+ <config>
+ <name>deployment_test_iprange</name>
+ <value>127.0.0.1</value>
+ </config>
+ <config>
+ <name>data_root</name>
+ <value>data</value>
+ </config>
+ <config>
+ <name>data_root_dev</name>
+ <value></value>
+ </config>
+ <config>
+ <name>data_root_test</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_pwd</name>
+ <value></value>
+ </config>
</module>
Deleted: trunk/mod/eis_log/config/module.php
===================================================================
--- trunk/mod/eis_log/config/module.php 2007-09-17 09:17:04 UTC (rev 216)
+++ trunk/mod/eis_log/config/module.php 2007-09-18 20:51:23 UTC (rev 217)
@@ -1,4 +0,0 @@
-<?php
- $cfg['logfile_filename'] = 'message.log';
- $cfg['logfile_ansicolor'] = true;
-?>
Modified: trunk/mod/eis_log/module.xml
===================================================================
--- trunk/mod/eis_log/module.xml 2007-09-17 09:17:04 UTC (rev 216)
+++ trunk/mod/eis_log/module.xml 2007-09-18 20:51:23 UTC (rev 217)
@@ -6,4 +6,132 @@
<author>EIS Team</author>
<homepage>http://eis.sourceforge.net/</homepage>
<license>BSD License</license>
+ <config>
+ <name>admin_password</name>
+ <value>admin</value>
+ </config>
+ <config>
+ <name>redirect_404</name>
+ <value></value>
+ </config>
+ <config>
+ <name>redirect_403</name>
+ <value></value>
+ </config>
+ <config>
+ <name>admin</name>
+ <value>nobody@localhost</value>
+ </config>
+ <config>
+ <name>enable_datadir</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_database</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_session</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_user</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>deployment_level</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_user</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_password</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_iprange</name>
+ <value>127.0.0.1</value>
+ </config>
+ <config>
+ <name>deployment_test_user</name>
+ <value>test</value>
+ </config>
+ <config>
+ <name>deployment_test_password</name>
+ <value>test</value>
+ </config>
+ <config>
+ <name>deployment_test_iprange</name>
+ <value>127.0.0.1</value>
+ </config>
+ <config>
+ <name>data_root</name>
+ <value>data</value>
+ </config>
+ <config>
+ <name>data_root_dev</name>
+ <value></value>
+ </config>
+ <config>
+ <name>data_root_test</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>logfile_filename</name>
+ <value>message.log</value>
+ </config>
+ <config>
+ <name>logfile_ansicolor</name>
+ <value>1</value>
+ </config>
</module>
Deleted: trunk/mod/eis_session/config/module.php
===================================================================
--- trunk/mod/eis_session/config/module.php 2007-09-17 09:17:04 UTC (rev 216)
+++ trunk/mod/eis_session/config/module.php 2007-09-18 20:51:23 UTC (rev 217)
@@ -1,6 +0,0 @@
-<?php
- $cfg['ttl_authenticated'] = "1800"; // Session time to live in minutes for authenticated sessions
- $cfg['ttl_anonymous'] = "3600"; //Session time to live for anomous sessions
-
- $cfg['tmp_dir'] = '/tmp';
-?>
Modified: trunk/mod/eis_session/module.xml
===================================================================
--- trunk/mod/eis_session/module.xml 2007-09-17 09:17:04 UTC (rev 216)
+++ trunk/mod/eis_session/module.xml 2007-09-18 20:51:23 UTC (rev 217)
@@ -1,9 +1,149 @@
<?xml version="1.0" encoding="utf-8" ?>
<module>
- <name>eis_engine</name>
+ <name>eis_session</name>
<version>0.1.0</version>
<description>Management of EIS sessions.</description>
<author>EIS Team</author>
<homepage>http://eis.sourceforge.net/</homepage>
<license>BSD License</license>
+ <config>
+ <name>admin_password</name>
+ <value>admin</value>
+ </config>
+ <config>
+ <name>redirect_404</name>
+ <value></value>
+ </config>
+ <config>
+ <name>redirect_403</name>
+ <value></value>
+ </config>
+ <config>
+ <name>admin</name>
+ <value>nobody@localhost</value>
+ </config>
+ <config>
+ <name>enable_datadir</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_database</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_session</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_user</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>deployment_level</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_user</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_password</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_iprange</name>
+ <value>127.0.0.1</value>
+ </config>
+ <config>
+ <name>deployment_test_user</name>
+ <value>test</value>
+ </config>
+ <config>
+ <name>deployment_test_password</name>
+ <value>test</value>
+ </config>
+ <config>
+ <name>deployment_test_iprange</name>
+ <value>127.0.0.1</value>
+ </config>
+ <config>
+ <name>data_root</name>
+ <value>data</value>
+ </config>
+ <config>
+ <name>data_root_dev</name>
+ <value></value>
+ </config>
+ <config>
+ <name>data_root_test</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>logfile_filename</name>
+ <value>message.log</value>
+ </config>
+ <config>
+ <name>logfile_ansicolor</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>ttl_authenticated</name>
+ <value>1800</value>
+ </config>
+ <config>
+ <name>ttl_anonymous</name>
+ <value>3600</value>
+ </config>
+ <config>
+ <name>tmp_dir</name>
+ <value>/tmp</value>
+ </config>
</module>
Deleted: trunk/mod/eis_user/config/module.php
===================================================================
--- trunk/mod/eis_user/config/module.php 2007-09-17 09:17:04 UTC (rev 216)
+++ trunk/mod/eis_user/config/module.php 2007-09-18 20:51:23 UTC (rev 217)
@@ -1,12 +0,0 @@
-<?php
- $cfg['password_type'] = 'md5'; // plain | md5
-
- $cfg['email_signup_from'] = 'nobody@localhost';
- $cfg['email_signup_subject'] = 'Activate your account now';
- $cfg['email_signup_body'] = 'mod/user/mail/signup.txt';
-
- $cfg['pages_signup_activate'] = '/signup/activate';
-
- $cfg['user_activation_initial_groups'] = null;
- $cfg['user_activation_autologin'] = true;
-?>
Modified: trunk/mod/eis_user/module.xml
===================================================================
--- trunk/mod/eis_user/module.xml 2007-09-17 09:17:04 UTC (rev 216)
+++ trunk/mod/eis_user/module.xml 2007-09-18 20:51:23 UTC (rev 217)
@@ -6,4 +6,172 @@
<author>EIS Team</author>
<homepage>http://eis.sourceforge.net/</homepage>
<license>BSD License</license>
+ <config>
+ <name>admin_password</name>
+ <value>admin</value>
+ </config>
+ <config>
+ <name>redirect_404</name>
+ <value></value>
+ </config>
+ <config>
+ <name>redirect_403</name>
+ <value></value>
+ </config>
+ <config>
+ <name>admin</name>
+ <value>nobody@localhost</value>
+ </config>
+ <config>
+ <name>enable_datadir</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_database</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_session</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>enable_user</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>deployment_level</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_user</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_password</name>
+ <value>dev</value>
+ </config>
+ <config>
+ <name>deployment_dev_iprange</name>
+ <value>127.0.0.1</value>
+ </config>
+ <config>
+ <name>deployment_test_user</name>
+ <value>test</value>
+ </config>
+ <config>
+ <name>deployment_test_password</name>
+ <value>test</value>
+ </config>
+ <config>
+ <name>deployment_test_iprange</name>
+ <value>127.0.0.1</value>
+ </config>
+ <config>
+ <name>data_root</name>
+ <value>data</value>
+ </config>
+ <config>
+ <name>data_root_dev</name>
+ <value></value>
+ </config>
+ <config>
+ <name>data_root_test</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_dev_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_user</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_host</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_db</name>
+ <value></value>
+ </config>
+ <config>
+ <name>mysql_test_pwd</name>
+ <value></value>
+ </config>
+ <config>
+ <name>logfile_filename</name>
+ <value>message.log</value>
+ </config>
+ <config>
+ <name>logfile_ansicolor</name>
+ <value>1</value>
+ </config>
+ <config>
+ <name>ttl_authenticated</name>
+ <value>1800</value>
+ </config>
+ <config>
+ <name>ttl_anonymous</name>
+ <value>3600</value>
+ </config>
+ <config>
+ <name>tmp_dir</name>
+ <value>/tmp</value>
+ </config>
+ <config>
+ <name>password_type</name>
+ <value>md5</value>
+ </config>
+ <config>
+ <name>email_signup_from</name>
+ <value>nobody@localhost</value>
+ </config>
+ <config>
+ <name>email_signup_subject</name>
+ <value>Activate your account now</value>
+ </config>
+ <config>
+ <name>email_signup_body</name>
+ <value>mod/user/mail/signup.txt</value>
+ </config>
+ <config>
+ <name>pages_signup_activate</name>
+ <value>/signup/activate</value>
+ </config>
+ <config>
+ <name>user_activation_initial_groups</name>
+ <value></value>
+ </config>
+ <config>
+ <name>user_activation_autologin</name>
+ <value>1</value>
+ </config>
</module>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|