Example #1
0
$dir = opendir("components");
if ($dir) {
    while (($fname = readdir($dir)) !== false) {
        if ($fname[0] != '.' && is_dir('components/' . $fname)) {
            // load class definition
            require_once "components/{$fname}/{$fname}.php";
            $available_components[] = $fname;
        }
    }
}
$page = new Page();
// Load data layout data from storage class
$storage = new $storage_class(array($CONF['configs']['current'], $_GET['page']));
$storage->loadData();
foreach ($storage->getPageData() as $name => $val) {
    $page->setPropertyValue($name, $val);
}
// open the template file associated with requested page
$filename = $CONF['themes']['base_folder'] . '/' . $CONF['themes']['current'] . '/' . $page->getPropertyValue('template');
if (!file_exists($filename)) {
    $CONF['themes']['current'] = 'default';
    $filename = $CONF['themes']['base_folder'] . '/' . $CONF['themes']['current'] . '/' . $page->getPropertyValue('template');
}
$xtpl = new XTemplate($filename);
// create all the components from loaded data
// and load associated datasources
foreach ($storage->getComponentsData() as $comp_data) {
    $comp_class = $comp_data['type'];
    $c = new $comp_class();
    $CACHE = array();
    foreach ($comp_data as $name => $val) {