bee

Unnamed repository; edit this file 'description' to name the repository.
git clone http://git.code.weiherhei.de/bee.git
Log | Files | Refs

MarkdownPageGenerator.class.php (1371B)


      1 <?php
      2 
      3 class MarkdownPageGenerator extends GeneratorBase
      4 {
      5 	var $page;
      6 	
      7 	function __construct( $page )
      8 	{
      9 		$this->page = $page;
     10 	}
     11 	
     12 	function generate()
     13 	{
     14 	
     15 		HttpUtil::lastModified( $this->page['date'] );
     16 	
     17 		$parsedown = new Parsedown();
     18 	
     19 		$html = $parsedown->text( $this->page['value'] );
     20 	
     21 		define('CONTENT',$html);
     22 		define('TITLE'  ,$this->page['title']);
     23 		global $PAGE;
     24 		$PAGE = $this->page;
     25 	
     26 		global $PAGES_RELATED;
     27 		$PAGES_RELATED = $this->get_related_pages();
     28 		
     29 	
     30 		if	( is_file(SITES_DIR.SLASH.SITE.'/site-config.ini'))
     31 			extract(parse_ini_file( SITES_DIR.SLASH.SITE.'/site-config.ini'),EXTR_PREFIX_ALL,'site');
     32 	
     33 		$this->outputTheme();
     34 	
     35 		exit;
     36 	}
     37 
     38 
     39 
     40 
     41 	/**
     42 	 * Determine related pages.
     43 	 */
     44 	function get_related_pages()
     45 	{
     46 		global $PAGES_BY_KEYWORD;
     47 		global $PAGES_BY_URL;
     48 		
     49 		$relatedPages = array();
     50 		foreach( $this->page['keywords'] as $keyword )
     51 		{
     52 			foreach( $PAGES_BY_KEYWORD[$keyword] as $page)
     53 			{
     54 				if	( $page['url'] == $this->page['url'] )
     55 					continue; // only other sites are related.
     56 				
     57 				if	( !isset($relatedPages[$page['url']]))
     58 					$relatedPages[$page['url']] = 1;
     59 				else
     60 					$relatedPages[$page['url']] = $relatedPages[$page['url']] + 1;
     61 			}
     62 		}
     63 		arsort($relatedPages);
     64 		$pages = array();
     65 		foreach( $relatedPages as $url=>$count)
     66 		{
     67 			$pages[] = $PAGES_BY_URL[$url];
     68 		}
     69 	
     70 		return $pages;
     71 	}
     72 
     73 
     74 
     75 }
     76 
     77 ?>