/** * load all app files for given path and build.xml document * * @param string $path app base path * @param DOMDocument $build build.xml * @return boolean */ private function _doBuild($path, DOMDocument $build) { $Classes = Classes::get(); $x = new DOMXPath($build); $app = $x->query('/build/app'); if ($app->length != 1) { throw new PException('App error!'); } $app = $app->item(0); if (!$app->hasAttribute('name')) { throw new PException('App name error!'); } $this->_apps[$app->getAttribute('name')] = $build; $files = $x->query('/build/files/file'); foreach ($files as $file) { if ($file->hasAttribute('class')) { $Classes->addClass($file->getAttribute('class'), $path . $file->nodeValue); continue; } if ($file->hasAttribute('include')) { if (!file_exists($path . $file->nodeValue)) { continue; } $this->_includes[] = $path . $file->nodeValue; continue; } } return true; }
public function loadModules() { if (!isset($this->_moduleDir)) { return false; } $Classes = Classes::get(); $dir = dir($this->_moduleDir); while ($d = $dir->read()) { if ($d == '.' || $d == '..') { continue; } $dp = $dir->path . '/' . $d; if (!is_dir($dp)) { continue; } if (!file_exists($dp . '/module.xml')) { continue; } $d = @DOMDocument::load($dp . '/module.xml'); if (!$d) { continue; } $d->XPath = new DOMXPath($d); $moduleName = $d->XPath->query('/module/moduleName'); if ($moduleName->length != 1) { throw new PException('Module load error in "' . $dp . '/module.xml"!'); } $moduleFiles = $d->XPath->query('/module/moduleFiles'); if ($moduleFiles->length != 1) { throw new PException('Module load error in "' . $dp . '/module.xml"!'); } foreach ($moduleFiles->item(0)->childNodes as $node) { if (!is_a($node, 'DOMElement')) { continue; } foreach ($node->childNodes as $file) { if (!is_a($file, 'DOMElement')) { continue; } if ($file->hasAttribute('class')) { $Classes->addClass($file->getAttribute('class'), $dp . '/' . $node->nodeName . '/' . $file->nodeValue); } } } $this->_modules[$moduleName->item(0)->nodeValue] = $d; } }
* @license http://www.gnu.org/licenses/gpl.html GNU General Public License (GPL) * @version $Id: libs.php 122 2006-07-13 16:48:45Z kang $ */ if (!defined('SCRIPT_BASE')) { throw new Exception('Internal base error!', 0); } if (!defined('LIB_DIR')) { throw new Exception('Internal base error!', 0); } $version = '0.0'; /** * The version of this library set */ define('PLATFORM_VERSION', $version); require_once SCRIPT_BASE . 'lib/misc/classes.autoload.php'; $Classes = Classes::get(); //*************************************************************** // Miscellaneous //*************************************************************** $Classes->addClass('PException', SCRIPT_BASE . 'lib/misc/exception.lib.php'); $Classes->addClass('PPHP', SCRIPT_BASE . 'lib/misc/phpi.lib.php'); $Classes->addClass('PVars', SCRIPT_BASE . 'lib/misc/vars.lib.php'); $Classes->addClass('PVarObj', SCRIPT_BASE . 'lib/misc/var_obj.lib.php'); $Classes->addClass('PFunctions', SCRIPT_BASE . 'lib/misc/functions.lib.php'); $Classes->addClass('PModules', SCRIPT_BASE . 'lib/misc/modules.lib.php'); $Classes->addClass('PDate', SCRIPT_BASE . 'lib/misc/date.lib.php'); $Classes->addClass('PSurveillance', SCRIPT_BASE . 'lib/misc/surveillance.lib.php'); $Classes->addClass('PDataDir', SCRIPT_BASE . 'lib/misc/datadir.lib.php'); //*************************************************************** // DB //***************************************************************