Beispiel #1
0
function at_config_display()
{
    if (!atIsAdminUser()) {
        return;
    }
    $runningconfig = atGetRunningConfig();
    extract($runningconfig);
    if (isset($_GET['at_admin'])) {
        ob_end_clean();
        OpenTable();
        eval($command['print-link']);
        echo "<h1>AutoTheme</h1><br />";
        switch ($_GET['at_admin']) {
            case "cmds":
                echo "<h2>" . _AT_LOADEDCOMMANDS . "</h2>";
                $commands = atRunningGetVar("command");
                foreach ($runningconfig as $cmd => $action) {
                    $vars = " echo \${$cmd};";
                }
                $commands = array_merge((array) $commands, (array) $vars);
                echo "<table border=\"1\" width=\"100%\"><tr><td><b>" . _AT_COMMAND . "</b></td><td width=\"50%\"><b>" . _AT_ACTION . "</b></td><td width=\"50%\"><b>" . _AT_RESULT . "</b></td></tr>";
                foreach ($commands as $cmd => $action) {
                    ob_start();
                    eval($action);
                    $result = ob_get_contents();
                    ob_end_clean();
                    echo "<tr><td valign=\"top\">{$cmd}</td><td valign=\"top\">" . htmlentities($action) . "</td><td valign=\"top\">&nbsp;{$result}</td></tr>";
                }
                echo "</table>";
                break;
            case "at":
                //
                echo "<h2>" . _AT_CONFIG . "</h2>";
                echo "<table border=\"1\" width=\"100%\"><tr><td><b>" . _AT_NAME . "</b></td><td><b>" . _AT_VALUE . "</b></td></tr>";
                $atconfig = atGetAutoConfig();
                foreach ($atconfig as $name => $val) {
                    if (is_array($val)) {
                        ob_start();
                        at_array_display($val);
                        $result = ob_get_contents();
                        ob_end_clean();
                    } else {
                        $result = $val;
                    }
                    echo "<tr><td valign=\"top\">{$name}</td><td valign=\"top\">{$result}</td></tr>";
                }
                echo "</table>";
                break;
            case "theme":
                echo "<h2>" . _AT_THEMECONFIG . "</h2>";
                echo "<table border=\"1\" width=\"100%\"><tr><td><b>" . _AT_NAME . "</b></td><td><b>" . _AT_VALUE . "</b></td></tr>";
                $themeconfig = atGetThemeConfig();
                foreach ($themeconfig as $name => $val) {
                    if (is_array($val)) {
                        ob_start();
                        at_array_display($val);
                        $result = ob_get_contents();
                        ob_end_clean();
                    } else {
                        $result = $val;
                    }
                    echo "<tr><td valign=\"top\">{$name}</td><td valign=\"top\">{$result}</td></tr>";
                }
                echo "</table>";
                break;
            case "running":
                echo "<h2>" . _AT_RUNNINGCONFIG . "</h2>";
                echo "<table border=\"1\" width=\"100%\"><tr><td><b>" . _AT_NAME . "</b></td><td><b>" . _AT_VALUE . "</b></td></tr>";
                $runningconfig = atGetRunningConfig();
                foreach ($runningconfig as $name => $val) {
                    if (is_array($val)) {
                        ob_start();
                        at_array_display($val);
                        $result = ob_get_contents();
                        ob_end_clean();
                    } else {
                        $result = $val;
                    }
                    echo "<tr><td valign=\"top\">{$name}</td><td valign=\"top\">{$result}</td></tr>";
                }
                echo "</table>";
                break;
        }
        CloseTable();
        die;
    }
}
Beispiel #2
0
function atFixupThemeConfig($themedir)
{
    $autocmd = array();
    $autoblock = array();
    $autoconfig = atGetAutoConfig();
    extract($autoconfig);
    $tempab = $autoblock;
    $tempcmd = $autocmd;
    $themepath = at_gettheme_path($themedir);
    $themeconfig = atLoadThemeConfig($themepath);
    extract($themeconfig);
    if (empty($autoblock)) {
        $autoblock = $tempab;
    }
    if (empty($themecmd)) {
        $themecmd = $tempcmd;
    }
    /* fix old custom module names */
    if (array_key_exists("pnHome", $template)) {
        $template['*HomePage'] = $template['pnHome'];
        $blockdisplay['*HomePage'] = $blockdisplay['pnHome'];
        $style['*HomePage'] = $style['pnHome'];
        unset($template['pnHome'], $blockdisplay['pnHome'], $style['pnHome']);
    }
    if (array_key_exists("pnAdmin", $template)) {
        $template['*AdminPages'] = $template['pnAdmin'];
        $blockdisplay['*AdminPages'] = $blockdisplay['pnAdmin'];
        $style['*AdminPages'] = $style['pnAdmin'];
        unset($template['pnAdmin'], $blockdisplay['pnAdmin'], $style['pnAdmin']);
    }
    if (array_key_exists("pnUser", $template)) {
        $template['*UserPages'] = $template['pnUser'];
        $blockdisplay['*UserPages'] = $blockdisplay['pnUser'];
        $style['*UserPages'] = $style['pnUser'];
        unset($template['pnUser'], $blockdisplay['pnUser'], $style['pnUser']);
    }
    if (array_key_exists("nukeHome", $template)) {
        $template['*HomePage'] = $template['nukeHome'];
        $blockdisplay['*HomePage'] = $blockdisplay['nukeHome'];
        $style['*HomePage'] = $style['nukeHome'];
        unset($template['nukeHome'], $blockdisplay['nukeHome'], $style['nukeHome']);
    }
    if (array_key_exists("nukeAdmin", $template)) {
        $template['*AdminPages'] = $template['nukeAdmin'];
        $blockdisplay['*AdminPages'] = $blockdisplay['nukeAdmin'];
        $style['*AdminPages'] = $style['nukeAdmin'];
        unset($template['nukeAdmin'], $blockdisplay['nukeAdmin'], $style['nukeAdmin']);
    }
    if (array_key_exists("nukeUser", $template)) {
        $template['*UserPages'] = $template['nukeUser'];
        $blockdisplay['*UserPages'] = $blockdisplay['nukeUser'];
        $style['*UserPages'] = $style['nukeUser'];
        unset($template['nukeUser'], $blockdisplay['nukeUser'], $style['nukeUser']);
    }
    /* fix block templates for custom modules */
    if (!is_array($blocktemplate['default'])) {
        $temp = $blocktemplate;
        unset($blocktemplate);
        $blocktemplate['default'] = $temp;
        foreach ($template as $thememod => $a) {
            if ($thememod != 'default') {
                foreach ($a as $modops => $v) {
                    $blocktemplate[$thememod][$modops] = $temp;
                }
            }
        }
    }
    /* fix autoblock templates and blockdisplay keys */
    foreach ($template as $mod => $arr1) {
        foreach ($arr1 as $modop => $arr2) {
            if ($mod == "default") {
                foreach ($autoblock as $num => $name) {
                    if (!$template['default']['autoblock' . $num]) {
                        $template['default']['autoblock' . $num] = $template['default'][$name . 'block'];
                        $blockdisplay['default']['autoblock' . $num] = $blockdisplay['default'][$name];
                        unset($template['default'][$name . 'block']);
                        unset($blockdisplay['default'][$name]);
                    }
                }
            } else {
                foreach ($arr2 as $k => $v) {
                    foreach ($autoblock as $num => $name) {
                        if (!$template[$mod][$modop]['autoblock' . $num]) {
                            $template[$mod][$modop]['autoblock' . $num] = $template[$mod][$modop][$name . 'block'];
                            $blockdisplay[$mod][$modop]['autoblock' . $num] = $blockdisplay[$mod][$modop][$name];
                            unset($template[$mod][$modop][$name . 'block']);
                            unset($blockdisplay[$mod][$modop][$name]);
                        }
                    }
                }
            }
        }
    }
    $var = compact("template", "blockdisplay", "style", "autoblock", "themecmd", "blocktemplate");
    atSaveThemeConfig($themedir, $var);
}