138 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			138 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);
 | 
						|
			
 | 
						|
		}
 | 
						|
		
 | 
						|
		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();
 | 
						|
		}
 | 
						|
	
 | 
						|
		
 | 
						|
	}
 | 
						|
 | 
						|
 | 
						|
?>
 |