Exemple #1
0
 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();