";
$purifier = RCCWP_HTML_Purifier::get_purifier ();
$pos = strpos($data, $MORE_TAG);
if ($pos === false){
$data = addslashes ($purifier->purify (stripslashes ($data)));
}
else{
$before_more = addslashes ($purifier->purify (stripslashes (substr($data,0,$pos))));
$after_more = addslashes ($purifier->purify (stripslashes (substr($data,$pos+strlen($MORE_TAG)))));
$data = $before_more.$MORE_TAG.$after_more;
}
return $data;
}
/**
* Get an HTML Purifier object with all settings already configured
*
* @return HTMLPurifier
**/
function get_purifier ()
{
require_once('purifier_lib/HTMLPurifier.auto.php');
include_once('RCCWP_Options.php');
$config = HTMLPurifier_Config::createDefault();
// Set base options
$config->set ('HTML', 'Doctype', "HTML 4.01 Transitional");
$config->set ('Core', 'Encoding', get_option ('blog_charset'));
$config->set ('HTML', 'TidyLevel', RCCWP_Options::Get('tidy-level'));
$config->set ('Output', 'TidyFormat', true);
// If we can write to the cache directory then set it (directory is same as used by WP-Cache and WP object cache)
if (is_writeable (dirname (RCCWP_HTML_Purifier::cache_directory ())))
{
if (!file_exists (RCCWP_HTML_Purifier::cache_directory ()))
@mkdir (RCCWP_HTML_Purifier::cache_directory ());
die('here');
$config->set ('Cache', 'SerializerPath', RCCWP_HTML_Purifier::cache_directory ());
}
else{
$config->set ('Cache', 'DefinitionImpl', null);
$config->set ('Cache', 'SerializerPath', null);
}
return new HTMLPurifier ($config);
}
/**
* Return the cache directory
*
* @return string
**/
function cache_directory ()
{
return realpath (dirname (__FILE__).'/../../cache/html-purified');
}
}
?>