<?php
class WebBase_Design_Info
{
private $f_name;
private $f_author;
private $f_version;
// 0 = Third-Party-Product
// 1 = Official Product
private $f_license;
function name() {
return $this->f_name;
}
function author() {
return $this->f_author;
}
function version() {
return $this->f_version;
}
function license() {
return $this->f_license;
}
function WebBase_Design_Info($name, $author, $version, $license) {
$this->f_name = $name;
$this->f_author = $author;
$this->f_version = $version;
$this->f_license = $license;
}
};
class WBModuleHandler {
private static
$cache_design_information = Array();
function get_design_information($designname)
{
if (isset(self::$cache_design_information[$designname])) {
return self::$cache_design_information[$designname];
}
$xml = new xml();
if ((!strpos($designname, '..')) && (file_exists('designs/'.$designname.'/info.xml')))
{
$object = $xml->xml_file_to_object('designs/'.$designname.'/info.xml');
if ($object->name == 'designinfo')
{
$v_name = '';
$v_author = '';
$v_version = '';
$v_license = '';
foreach ($object->children as $m1 => $m2)
{
if ($object->children[$m1]->name == 'name') $v_name = $object->children[$m1]->content;
if ($object->children[$m1]->name == 'author') $v_author = $object->children[$m1]->content;
if ($object->children[$m1]->name == 'version') $v_version = $object->children[$m1]->content;
if ($object->children[$m1]->name == 'license') $v_license = $object->children[$m1]->content;
}
$output = new WebBase_Design_Info($v_name, $v_author, $v_version, $v_license);
if ($output->name == '') $output->name = $designname;
$ee = getmicrotime();
global $xml_time;
$xml_time += $ee-$ss;
global $xml_count;
$xml_count++;
}
self::$cache_design_information[$designname] = $output;
return $output;
}
else
{
return NULL;
}
}
else
{
return NULL;
}
}
}
?>
?>