flatpress/fp-includes/core/core.layout.php
azett 52bf429a01 Replaced Smarty 2.6.31-dev with v 4.0.4, keeping the FP-specific Smarty plugins.
Updated calls to current Smarty API (register_function()/register_modifier()/register_block() -> registerPlugin(); assign_by_ref() -> assignByRef()).
Fixed file includes in templates with quotes.
Removed SmartyValidate.class.php includes.

Still work in progress as some errors still appear!
2022-01-23 15:02:33 +01:00

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->registerPlugin('block', 'pagecontent', array(
&$this,
'pagecontent'
));
parent::display();
}
}
?>