Update of /cvsroot/openfirst/base/includes
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22763/includes
Modified Files:
Module.php
Log Message:
ModuleManager tracks current module now. (An effort to make sure that if a module uses there own class, it will be used instead of w/e globals.php uses.)
Index: Module.php
===================================================================
RCS file: /cvsroot/openfirst/base/includes/Module.php,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Module.php 19 Oct 2005 03:58:34 -0000 1.11
--- Module.php 22 Nov 2005 16:23:37 -0000 1.12
***************
*** 38,42 ****
*/
class ModuleManager {
! /*private*/ var $ids, $dirs, $modules;
/** Returns the ID of the module in the dir.
--- 38,42 ----
*/
class ModuleManager {
! /*private*/ var $ids, $dirs, $modules, $objs = array(), $current;
/** Returns the ID of the module in the dir.
***************
*** 85,105 ****
$dir = $mod->getDir();
$id = $mod->getID();
! if (!isset($this->ids[$id])) $this->ids[$id] = array();
! $this->ids[$id][] = $dir;
! $this->dirs[$dir] = $id;
$this->modules[$dir] =& $mod;
}
function &addModuleFromDir($dir) {
! $mod =& Module::createFromDir($dir);
! $dir = $mod->getDir();
! $id = $mod->getID();
! if (!isset($this->ids[$id])) $this->ids[$id] = array();
! $this->ids[$id][] = $dir;
! $this->dirs[$dir] = $id;
! $this->modules[$dir] =& $mod;
return $mod;
}
function getDirs() {
if (is_array($this->modules)) {
--- 85,119 ----
$dir = $mod->getDir();
$id = $mod->getID();
! if (!isset($this->modules[$dir])) {
! if (!isset($this->ids[$id])) $this->ids[$id] = array();
! $this->ids[$id][] = $dir;
! $this->dirs[$dir] = $id;
! }
$this->modules[$dir] =& $mod;
}
function &addModuleFromDir($dir) {
! if (!isset($this->modules[$dir])) {
! $mod =& Module::createFromDir($dir);
! $dir = $mod->getDir();
! $id = $mod->getID();
! if (!isset($this->ids[$id])) $this->ids[$id] = array();
! $this->ids[$id][] = $dir;
! $this->dirs[$dir] = $id;
! $this->modules[$dir] =& $mod;
! } else {
! $mod =& $this->modules[$dir];
! }
return $mod;
}
+ function setCurrent($dir) {
+ $this->current = $dir;
+ }
+
+ function &getCurrent() {
+ return $this->getModuleFromDir($this->current);
+ }
+
function getDirs() {
if (is_array($this->modules)) {
***************
*** 117,122 ****
function Module($dir) {
global $ogDB;
! $sql = 'SELECT * FROM '.$ogDB->quoteTable('config').' WHERE '.$ogDB->quoteFDPairs(array('dir'=>$dir), ' AND ').' LIMIT 0,1';
! $res = $ogDB->query($sql);
$mod = $ogDB->fetchObject($res);
$ogDB->freeResult($res);
--- 131,135 ----
function Module($dir) {
global $ogDB;
! $res = $ogDB->select('config', '*', array('dir'=>$dir), array('LIMIT' => '0,1'));
$mod = $ogDB->fetchObject($res);
$ogDB->freeResult($res);
***************
*** 148,158 ****
/*** STATIC FUNCTIONS ***/
- /** Creates a Module object from a directory in the oF directory.
- * This isn't actually possible, since the same module can have multiple dirs
- */
- /*static*/ /*function createFromID($ID) {
- return new Module($ID);
- }*/
-
/*static*/ function createFromDir($Dir) {
return new Module($Dir);
--- 161,164 ----
|