| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Smarty plugin | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @package Smarty | 
					
						
							|  |  |  |  * @subpackage PluginsModifierCompiler | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Smarty unescape modifier plugin | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Type:     modifier<br> | 
					
						
							|  |  |  |  * Name:     unescape<br> | 
					
						
							|  |  |  |  * Purpose:  unescape html entities | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @author Rodney Rehm | 
					
						
							|  |  |  |  * @param array $params parameters | 
					
						
							|  |  |  |  * @return string with compiled code | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | function smarty_modifiercompiler_unescape($params, $compiler) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     if (!isset($params[1])) { | 
					
						
							|  |  |  |         $params[1] = 'html'; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     if (!isset($params[2])) { | 
					
						
							| 
									
										
										
										
											2011-12-18 18:20:09 +00:00
										 |  |  |         $params[2] = '\'' . addslashes(Smarty::$_CHARSET) . '\''; | 
					
						
							| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  |     } else { | 
					
						
							|  |  |  |         $params[2] = "'" . $params[2] . "'"; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     switch (trim($params[1], '"\'')) { | 
					
						
							|  |  |  |         case 'entity': | 
					
						
							|  |  |  |         case 'htmlall': | 
					
						
							| 
									
										
										
										
											2011-12-18 18:20:09 +00:00
										 |  |  |             if (Smarty::$_MBSTRING) { | 
					
						
							| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  |                 return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')'; | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2012-02-06 20:33:07 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |             return 'html_entity_decode(' . $params[0] . ', ENT_NOQUOTES, ' . $params[2] . ')'; | 
					
						
							| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         case 'html': | 
					
						
							|  |  |  |             return 'htmlspecialchars_decode(' . $params[0] . ', ENT_QUOTES)'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-06 20:33:07 +00:00
										 |  |  |         case 'url': | 
					
						
							|  |  |  |             return 'rawurldecode(' . $params[0] . ')'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-16 14:19:56 +00:00
										 |  |  |         default: | 
					
						
							|  |  |  |             return $params[0]; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ?>
 |