use new html purifier for profile descriptions
This commit is contained in:
@@ -24,4 +24,46 @@ class OcHTMLPurifier extends HTMLPurifier
|
||||
parent::__construct($config);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Old code from useroptions.class.php, was formerly used to purify profile
|
||||
// description text and may be useful somewhere ...?
|
||||
|
||||
/*
|
||||
function tidy_html_description($text)
|
||||
{
|
||||
$options = array("input-encoding" => "utf8", "output-encoding" => "utf8", "output-xhtml" => true, "doctype" => "omit", "show-body-only" => true, "char-encoding" => "utf8", "quote-ampersand" => true, "quote-nbsp" => true, "wrap" => 0);
|
||||
$config = HTMLPurifier_Config::createDefault();
|
||||
$cssDefinition = $config->getCSSDefinition();
|
||||
|
||||
$cssDefinition->info['position'] = new
|
||||
HTMLPurifier_AttrDef_Enum(array('absolute', 'fixed', 'relative', 'static', 'inherit'), false);
|
||||
|
||||
$cssDefinition->info['left'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
|
||||
new HTMLPurifier_AttrDef_CSS_Length(),
|
||||
new HTMLPurifier_AttrDef_CSS_Percentage()
|
||||
));
|
||||
|
||||
$cssDefinition->info['right'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
|
||||
new HTMLPurifier_AttrDef_CSS_Length(),
|
||||
new HTMLPurifier_AttrDef_CSS_Percentage()
|
||||
));
|
||||
|
||||
$cssDefinition->info['top'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
|
||||
new HTMLPurifier_AttrDef_CSS_Length(),
|
||||
new HTMLPurifier_AttrDef_CSS_Percentage()
|
||||
));
|
||||
|
||||
$cssDefinition->info['bottom'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
|
||||
new HTMLPurifier_AttrDef_CSS_Length(),
|
||||
new HTMLPurifier_AttrDef_CSS_Percentage()
|
||||
));
|
||||
|
||||
$purifier = new HTMLPurifier($config);
|
||||
$clean_html = $purifier->purify($text);
|
||||
return $clean_html;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
?>
|
||||
@@ -9,10 +9,6 @@
|
||||
***************************************************************************/
|
||||
global $opt;
|
||||
|
||||
// check for lib2
|
||||
if (!defined('PURIFIERLIB2'))
|
||||
require_once($opt['rootpath'] . '../lib/htmlpurifier-4.2.0/library/HTMLPurifier.auto.php');
|
||||
|
||||
require_once($opt['rootpath'] . 'lib2/logic/const.inc.php');
|
||||
|
||||
class useroptions
|
||||
@@ -129,43 +125,10 @@ class useroptions
|
||||
{
|
||||
sqll("INSERT INTO `user_options` (`user_id`, `option_id`, `option_visible`, `option_value`)
|
||||
VALUES ('&1', '&2', '&3', '&4') ON DUPLICATE KEY UPDATE `option_visible`='&3', `option_value`='&4'",
|
||||
$this->nUserId, $record['id'], $record['option_visible'], $this->tidy_html_description($record['option_value']));
|
||||
$this->nUserId, $record['id'], $record['option_visible'], $record['option_value']);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function tidy_html_description($text)
|
||||
{
|
||||
$options = array("input-encoding" => "utf8", "output-encoding" => "utf8", "output-xhtml" => true, "doctype" => "omit", "show-body-only" => true, "char-encoding" => "utf8", "quote-ampersand" => true, "quote-nbsp" => true, "wrap" => 0);
|
||||
$config = HTMLPurifier_Config::createDefault();
|
||||
$cssDefinition = $config->getCSSDefinition();
|
||||
|
||||
$cssDefinition->info['position'] = new
|
||||
HTMLPurifier_AttrDef_Enum(array('absolute', 'fixed', 'relative', 'static', 'inherit'), false);
|
||||
|
||||
$cssDefinition->info['left'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
|
||||
new HTMLPurifier_AttrDef_CSS_Length(),
|
||||
new HTMLPurifier_AttrDef_CSS_Percentage()
|
||||
));
|
||||
|
||||
$cssDefinition->info['right'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
|
||||
new HTMLPurifier_AttrDef_CSS_Length(),
|
||||
new HTMLPurifier_AttrDef_CSS_Percentage()
|
||||
));
|
||||
|
||||
$cssDefinition->info['top'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
|
||||
new HTMLPurifier_AttrDef_CSS_Length(),
|
||||
new HTMLPurifier_AttrDef_CSS_Percentage()
|
||||
));
|
||||
|
||||
$cssDefinition->info['bottom'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
|
||||
new HTMLPurifier_AttrDef_CSS_Length(),
|
||||
new HTMLPurifier_AttrDef_CSS_Percentage()
|
||||
));
|
||||
|
||||
$purifier = new HTMLPurifier($config);
|
||||
$clean_html = $purifier->purify($text);
|
||||
return $clean_html;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -9,9 +9,6 @@
|
||||
if ((isset($_POST['submit']) || isset($_POST['submitform'])) && !isset($_POST['version3']))
|
||||
die('Your client may be outdated!');
|
||||
|
||||
// use purifier in lib2
|
||||
define('PURIFIERLIB2', true);
|
||||
|
||||
// include librarys
|
||||
require('./lib2/web.inc.php');
|
||||
require_once('./lib2/logic/cache.class.php');
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
require_once('lib2/web.inc.php');
|
||||
require_once('lib2/logic/user.class.php');
|
||||
require_once('lib2/logic/useroptions.class.php');
|
||||
require_once('lang/de/ocstyle/smilies.inc.php');
|
||||
require_once('../lib/htmlpurifier-4.2.0/library/HTMLPurifier.auto.php');
|
||||
require_once('lib2/OcHTMLPurifier.class.php');
|
||||
|
||||
$tpl->name = 'mydetails';
|
||||
$tpl->menuitem = MNU_MYPROFILE_DETAILS;
|
||||
@@ -101,7 +100,7 @@ function changetext()
|
||||
|
||||
if (isset($_REQUEST['save']))
|
||||
{
|
||||
$purifier = new HTMLPurifier();
|
||||
$purifier = new OcHTMLPurifier();
|
||||
$desctext = isset($_REQUEST['desctext']) ? $purifier->purify($_REQUEST['desctext']) : "";
|
||||
sql("UPDATE `user` SET `description`='&2' WHERE `user_id`='&1'", $login->userid, $desctext);
|
||||
$tpl->redirect('mydetails.php');
|
||||
|
||||
Reference in New Issue
Block a user