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();
 | |
| 	}
 | |
| 
 | |
| }
 | |
| 
 | |
| ?>
 | 
