A super easy PHP Framework for web development!
				https://github.com/exacti/phacil-framework
			
			
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					51 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					51 lines
				
				1.2 KiB
			| 
								 
											7 years ago
										 
									 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Smarty plugin
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @package    Smarty
							 | 
						||
| 
								 | 
							
								 * @subpackage PluginsModifierCompiler
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Smarty unescape modifier plugin
							 | 
						||
| 
								 | 
							
								 * Type:     modifier
							 | 
						||
| 
								 | 
							
								 * Name:     unescape
							 | 
						||
| 
								 | 
							
								 * Purpose:  unescape html entities
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @author Rodney Rehm
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param array $params parameters
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @return string with compiled code
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								function smarty_modifiercompiler_unescape($params)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    if (!isset($params[ 1 ])) {
							 | 
						||
| 
								 | 
							
								        $params[ 1 ] = 'html';
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (!isset($params[ 2 ])) {
							 | 
						||
| 
								 | 
							
								        $params[ 2 ] = '\'' . addslashes(Smarty::$_CHARSET) . '\'';
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
								        $params[ 2 ] = "'{$params[ 2 ]}'";
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    switch (trim($params[ 1 ], '"\'')) {
							 | 
						||
| 
								 | 
							
								        case 'entity':
							 | 
						||
| 
								 | 
							
								        case 'htmlall':
							 | 
						||
| 
								 | 
							
								            if (Smarty::$_MBSTRING) {
							 | 
						||
| 
								 | 
							
								                return 'mb_convert_encoding(' . $params[ 0 ] . ', ' . $params[ 2 ] . ', \'HTML-ENTITIES\')';
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            return 'html_entity_decode(' . $params[ 0 ] . ', ENT_NOQUOTES, ' . $params[ 2 ] . ')';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        case 'html':
							 | 
						||
| 
								 | 
							
								            return 'htmlspecialchars_decode(' . $params[ 0 ] . ', ENT_QUOTES)';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        case 'url':
							 | 
						||
| 
								 | 
							
								            return 'rawurldecode(' . $params[ 0 ] . ')';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        default:
							 | 
						||
| 
								 | 
							
								            return $params[ 0 ];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |