103 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			103 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								/* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								# ***** BEGIN LICENSE BLOCK *****
							 | 
						||
| 
								 | 
							
								# This file is part of InDefero, an open source project management application.
							 | 
						||
| 
								 | 
							
								# Copyright (C) 2008 Céondo Ltd and contributors.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# InDefero is free software; you can redistribute it and/or modify
							 | 
						||
| 
								 | 
							
								# it under the terms of the GNU General Public License as published by
							 | 
						||
| 
								 | 
							
								# the Free Software Foundation; either version 2 of the License, or
							 | 
						||
| 
								 | 
							
								# (at your option) any later version.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# InDefero is distributed in the hope that it will be useful,
							 | 
						||
| 
								 | 
							
								# but WITHOUT ANY WARRANTY; without even the implied warranty of
							 | 
						||
| 
								 | 
							
								# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
							 | 
						||
| 
								 | 
							
								# GNU General Public License for more details.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# You should have received a copy of the GNU General Public License
							 | 
						||
| 
								 | 
							
								# along with this program; if not, write to the Free Software
							 | 
						||
| 
								 | 
							
								# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# ***** END LICENSE BLOCK ***** */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Pluf::loadFunction('Pluf_Text_MarkDown_parse');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function IDF_Template_Markdown_filter($mdtext)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    $filter = new IDF_Template_Markdown();
							 | 
						||
| 
								 | 
							
								    return Pluf_Template::markSafe(Pluf_Text_MarkDown_parse($filter->go($mdtext)));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Strict class to only allow entities.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								class IDF_Template_Markdown extends Pluf_Text_HTML_Filter
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public $allowed = array();
							 | 
						||
| 
								 | 
							
								    public $always_close = array();
							 | 
						||
| 
								 | 
							
								    public $remove_blanks = array();
							 | 
						||
| 
								 | 
							
								    public $allowed_entities = array(
							 | 
						||
| 
								 | 
							
								                                     'amp',
							 | 
						||
| 
								 | 
							
								                                     'gt',
							 | 
						||
| 
								 | 
							
								                                     'lt',
							 | 
						||
| 
								 | 
							
								                                     'quot',
							 | 
						||
| 
								 | 
							
								                                     'nbsp',
							 | 
						||
| 
								 | 
							
								                                     'ndash',
							 | 
						||
| 
								 | 
							
								                                     'rdquo',
							 | 
						||
| 
								 | 
							
								                                     'ldquo',
							 | 
						||
| 
								 | 
							
								                                     'Alpha',
							 | 
						||
| 
								 | 
							
								                                     'Beta', 
							 | 
						||
| 
								 | 
							
								                                     'Gamma', 
							 | 
						||
| 
								 | 
							
								                                     'Delta', 
							 | 
						||
| 
								 | 
							
								                                     'Epsilon', 
							 | 
						||
| 
								 | 
							
								                                     'Zeta', 
							 | 
						||
| 
								 | 
							
								                                     'Eta', 
							 | 
						||
| 
								 | 
							
								                                     'Theta', 
							 | 
						||
| 
								 | 
							
								                                     'Iota', 
							 | 
						||
| 
								 | 
							
								                                     'Kappa', 
							 | 
						||
| 
								 | 
							
								                                     'Lambda', 
							 | 
						||
| 
								 | 
							
								                                     'Mu', 
							 | 
						||
| 
								 | 
							
								                                     'Nu', 
							 | 
						||
| 
								 | 
							
								                                     'Xi', 
							 | 
						||
| 
								 | 
							
								                                     'Omicron', 
							 | 
						||
| 
								 | 
							
								                                     'Pi', 
							 | 
						||
| 
								 | 
							
								                                     'Rho', 
							 | 
						||
| 
								 | 
							
								                                     'Sigma', 
							 | 
						||
| 
								 | 
							
								                                     'Tau', 
							 | 
						||
| 
								 | 
							
								                                     'Upsilon', 
							 | 
						||
| 
								 | 
							
								                                     'Phi', 
							 | 
						||
| 
								 | 
							
								                                     'Chi', 
							 | 
						||
| 
								 | 
							
								                                     'Psi', 
							 | 
						||
| 
								 | 
							
								                                     'Omega', 
							 | 
						||
| 
								 | 
							
								                                     'alpha', 
							 | 
						||
| 
								 | 
							
								                                     'beta', 
							 | 
						||
| 
								 | 
							
								                                     'gamma', 
							 | 
						||
| 
								 | 
							
								                                     'delta', 
							 | 
						||
| 
								 | 
							
								                                     'epsilon', 
							 | 
						||
| 
								 | 
							
								                                     'zeta', 
							 | 
						||
| 
								 | 
							
								                                     'eta', 
							 | 
						||
| 
								 | 
							
								                                     'theta', 
							 | 
						||
| 
								 | 
							
								                                     'iota', 
							 | 
						||
| 
								 | 
							
								                                     'kappa', 
							 | 
						||
| 
								 | 
							
								                                     'lambda', 
							 | 
						||
| 
								 | 
							
								                                     'mu', 
							 | 
						||
| 
								 | 
							
								                                     'nu', 
							 | 
						||
| 
								 | 
							
								                                     'xi', 
							 | 
						||
| 
								 | 
							
								                                     'omicron', 
							 | 
						||
| 
								 | 
							
								                                     'pi', 
							 | 
						||
| 
								 | 
							
								                                     'rho', 
							 | 
						||
| 
								 | 
							
								                                     'sigmaf', 
							 | 
						||
| 
								 | 
							
								                                     'sigma', 
							 | 
						||
| 
								 | 
							
								                                     'tau', 
							 | 
						||
| 
								 | 
							
								                                     'upsilon', 
							 | 
						||
| 
								 | 
							
								                                     'phi', 
							 | 
						||
| 
								 | 
							
								                                     'chi', 
							 | 
						||
| 
								 | 
							
								                                     'psi', 
							 | 
						||
| 
								 | 
							
								                                     'omega', 
							 | 
						||
| 
								 | 
							
								                                     'thetasym', 
							 | 
						||
| 
								 | 
							
								                                     'upsih', 
							 | 
						||
| 
								 | 
							
								                                     'piv',
							 | 
						||
| 
								 | 
							
								                                     );
							 | 
						||
| 
								 | 
							
								}
							 |