function load() { // initiate the site and make pages and page // globally available $site = $this; $panel = $this; $pages = $this->pages; $page = $this->pages->active(); if ($page->isErrorPage() && $this->uri()->path() != c::get('404')) { go(url(c::get('404'))); } g::set('site', $this); g::set('panel', $this); g::set('pages', $pages); g::set('page', $page); // set the global template vars tpl::set('site', $this); tpl::set('panel', $this); tpl::set('pages', $pages); tpl::set('page', $page); // initiate the user settings $settings = new settings(); g::set('settings', $settings); tpl::set('settings', $settings); // add a user $panel->user = new user(); // load the language paneload::language(); // check for a valid array of user accounts and other correct setups if (!check::installed() || !check::hasAccounts() || check::stillHasDefaultAccount() || check::wrongKirbyVersion()) { require c::get('root.panel') . '/modals/installation.php'; return; } // add all panel info $panel->isHome = !$panel->uri->path(1) ? true : false; $panel->show = $panel->uri->param('show'); $panel->action = $panel->uri->param('do'); $panel->nocontent = (string) $page->contents() == '' ? true : false; if ($panel->isHome && $panel->show != 'info' && $panel->show != 'logout') { $panel->show = 'home'; } switch ($panel->action) { case 'edit-pages': $panel->sortable = true; break; } if ($panel->isHome) { $settings->pages = true; $settings->flip = false; } switch ($panel->show) { case 'logout': $panel->user->logout(); exit; break; case 'files': $thumbDir = c::get('root') . '/thumbs'; $panel->fancybox = true; $panel->thumbs = is_dir($thumbDir) && is_writable($thumbDir) ? true : false; break; // more available views // more available views case 'info': case 'home': case 'pages': case 'options': if (($panel->show == 'home' || $panel->show == 'info') && !$panel->isHome) { go(url() . '/show:' . $panel->show); } break; default: $valid = array('options', 'content'); if (!in_array($panel->show, $valid)) { $panel->show = 'content'; } break; } // init the form if ($panel->show == 'info' || $panel->show == 'content') { $panel->form = new form($settings); } // set the template file; $panel->templateFile = $panel->show . '.php'; $panel->templateRoot = c::get('root.panel') . '/templates'; content::start(); if ($panel->user->isLoggedIn()) { require $panel->templateRoot . '/' . $panel->templateFile; } else { require $panel->templateRoot . '/login.php'; } content::end(); }
require_once $rootKirby . '/lib/kirby.php'; require_once $rootPanel . '/lib/load.php'; // set the root c::set('root', $root); c::set('root.kirby', $rootKirby); c::set('root.site', $rootSite); c::set('root.content', $rootContent); c::set('root.panel', $rootPanel); // panel version c::set('panel.version.string', '0.5'); c::set('panel.version.number', 0.5); c::set('panel.min.kirby.version', 1.08); c::set('panel.folder', $folder); paneload::lib(); paneload::config(); // set the admin url c::set('panel.url', c::get('url') . '/' . $folder); paneload::parsers(); // switch on errors if (c::get('debug')) { error_reporting(E_ALL); ini_set('display_errors', 1); } else { error_reporting(0); ini_set('display_errors', 0); } // set the timezone to make sure we // avoid errors in php 5.3 @date_default_timezone_set(c::get('timezone')); $site = new panel(); $site->load();