forked from GNUsocial/gnu-social
		
	
		
			
	
	
		
			31 lines
		
	
	
		
			923 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			923 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | /** | ||
|  |  * @file | ||
|  |  * Emulation layer for code that used kses(), substituting in HTML Purifier. | ||
|  |  */ | ||
|  | 
 | ||
|  | require_once dirname(__FILE__) . '/HTMLPurifier.auto.php'; | ||
|  | 
 | ||
|  | function kses($string, $allowed_html, $allowed_protocols = null) | ||
|  | { | ||
|  |     $config = HTMLPurifier_Config::createDefault(); | ||
|  |     $allowed_elements = array(); | ||
|  |     $allowed_attributes = array(); | ||
|  |     foreach ($allowed_html as $element => $attributes) { | ||
|  |         $allowed_elements[$element] = true; | ||
|  |         foreach ($attributes as $attribute => $x) { | ||
|  |             $allowed_attributes["$element.$attribute"] = true; | ||
|  |         } | ||
|  |     } | ||
|  |     $config->set('HTML.AllowedElements', $allowed_elements); | ||
|  |     $config->set('HTML.AllowedAttributes', $allowed_attributes); | ||
|  |     if ($allowed_protocols !== null) { | ||
|  |         $config->set('URI.AllowedSchemes', $allowed_protocols); | ||
|  |     } | ||
|  |     $purifier = new HTMLPurifier($config); | ||
|  |     return $purifier->purify($string); | ||
|  | } | ||
|  | 
 | ||
|  | // vim: et sw=4 sts=4
 |