141 lines
2.5 KiB
PHP
141 lines
2.5 KiB
PHP
<?php
|
|
|
|
class LayoutDefault {
|
|
|
|
var $content;
|
|
|
|
var $fpdb;
|
|
|
|
var $fp_widgets;
|
|
|
|
var $smarty;
|
|
|
|
var $config;
|
|
|
|
var $lang;
|
|
|
|
var $tpl = 'index.tpl';
|
|
|
|
var $message_queue = array();
|
|
|
|
function LayoutDefault($content = array()) {
|
|
$this->pagecontent = $content;
|
|
|
|
$this->fpdb =& new FPDB();
|
|
$GLOBALS ['fpdb'] = & $this->fpdb;
|
|
|
|
$this->fp_widgets =& new widget_indexer();
|
|
$GLOBALS ['fp_widgets'] = & $this->fp_widgets;
|
|
|
|
$this->smarty = & $GLOBALS ['_FP_SMARTY'];
|
|
|
|
$GLOBALS ['fp_config'] = & $this->config;
|
|
$this->config = $GLOBALS ['fp_config'] ['general'];
|
|
|
|
$this->theme = theme_loadsettings();
|
|
$GLOBALS ['theme'] = & $this->theme;
|
|
|
|
$this->lang = lang_load();
|
|
$GLOBALS ['lang'] = & $this->lang;
|
|
|
|
// user_loggedin() or sess_setup();
|
|
|
|
plugin_loadall();
|
|
|
|
// init smarty
|
|
|
|
$this->smarty->compile_dir = CACHE_DIR;
|
|
$this->smarty->cache_dir = SMARTY_DIR . 'cache/';
|
|
$this->smarty->caching = 0;
|
|
|
|
do_action('init');
|
|
}
|
|
|
|
function display() {
|
|
$this->main();
|
|
theme_init($this->smarty, $this);
|
|
$this->smarty->display($this->tpl);
|
|
|
|
unset($this->smarty);
|
|
|
|
do_action('shutdown');
|
|
}
|
|
|
|
/*
|
|
*
|
|
* function post_message($module, $ring, $message) {
|
|
* $this->message_queue[$module][$ring][]=$message;
|
|
*
|
|
* }
|
|
*
|
|
* function flush_messages($module, $ring=-1) {
|
|
*
|
|
* $msg_arr=array();
|
|
* if ($ring<0)
|
|
* $ring_arr =
|
|
* array_keys($this->message_queue[$module]);
|
|
* else
|
|
* $ring_arr = array($ring);
|
|
*
|
|
* foreach($ring_arr as $this_ring) {
|
|
* $localq=& $this->message_queue[$module][$this_ring];
|
|
* foreach ($localq as $msg) {
|
|
* $msg_arr[]=$msg;
|
|
* }
|
|
* }
|
|
*
|
|
* $this->smarty->append('err', $msg_arr);
|
|
* return $msg_arr;
|
|
* }
|
|
*/
|
|
}
|
|
|
|
class Abstract_LayoutIndex extends LayoutDefault {
|
|
|
|
var $tpl = 'index.tpl';
|
|
|
|
}
|
|
|
|
class Abstract_LayoutComment extends LayoutDefault {
|
|
|
|
var $tpl = 'comments.tpl';
|
|
|
|
}
|
|
|
|
class Abstract_LayoutDialog extends LayoutDefault {
|
|
|
|
var $tpl = 'default.tpl';
|
|
|
|
function page($subject, $content, $rawcontent = false) {
|
|
$this->pagecontent = array(
|
|
'subject' => $subject,
|
|
'content' => $content
|
|
);
|
|
|
|
if ($rawcontent) {
|
|
$this->smarty->assign('rawcontent', true);
|
|
} else {
|
|
$this->smarty->assign('rawcontent', false);
|
|
}
|
|
}
|
|
|
|
function pagecontent($params, $content, &$smarty, &$repeat) {
|
|
if ($this->pagecontent) {
|
|
$this->smarty->assign($this->pagecontent);
|
|
return $content;
|
|
} else
|
|
return;
|
|
}
|
|
|
|
function display() {
|
|
$this->smarty->register_block('page', array(
|
|
&$this,
|
|
'pagecontent'
|
|
));
|
|
parent::display();
|
|
}
|
|
|
|
}
|
|
|
|
?>
|