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