function phorum_htmlpurifier_show_form() { if (phorum_htmlpurifier_config_file_exists()) { phorum_htmlpurifier_show_config_info(); return; } global $PHORUM; $config = phorum_htmlpurifier_get_config(); $frm = new PhorumInputForm("", "post", "Save"); $frm->hidden("module", "modsettings"); $frm->hidden("mod", "htmlpurifier"); // this is the directory name that the Settings file lives in if (!empty($error)) { echo "{$error}<br />"; } $frm->addbreak("Edit settings for the HTML Purifier module"); $frm->addMessage('<p>The box below sets <code>$PHORUM[\'mod_htmlpurifier\'][\'wysiwyg\']</code>. When checked, contents sent for edit are now purified and the informative message is disabled. If your WYSIWYG editor is disabled for admin edits, you can safely keep this unchecked.</p>'); $frm->addRow('Use WYSIWYG?', $frm->checkbox('wysiwyg', '1', '', $PHORUM['mod_htmlpurifier']['wysiwyg'])); $frm->addMessage('<p>The box below sets <code>$PHORUM[\'mod_htmlpurifier\'][\'suppress_message\']</code>, which removes the big how-to use HTML Purifier message.</p>'); $frm->addRow('Suppress information?', $frm->checkbox('suppress_message', '1', '', $PHORUM['mod_htmlpurifier']['suppress_message'])); $frm->addMessage('<p>Click on directive links to read what each option does (links do not open in new windows).</p> <p>For more flexibility (for instance, you want to edit the full range of configuration directives), you can create a <tt>config.php</tt> file in your <tt>mods/htmlpurifier/</tt> directory. Doing so will, however, make the web configuration interface unavailable.</p>'); require_once 'HTMLPurifier/Printer/ConfigForm.php'; $htmlpurifier_form = new HTMLPurifier_Printer_ConfigForm('config', 'http://htmlpurifier.org/live/configdoc/plain.html#%s'); $htmlpurifier_form->setTextareaDimensions(23, 7); // widen a little, since we have space $frm->addMessage($htmlpurifier_form->render($config, $PHORUM['mod_htmlpurifier']['directives'], false)); $frm->addMessage("<strong>Warning: Changing HTML Purifier's configuration will invalidate\r\n the cache. Expect to see a flurry of database activity after you change\r\n any of these settings.</strong>"); $frm->addrow('Reset to defaults:', $frm->checkbox("reset", "1", "", false)); // hack to include extra styling echo '<style type="text/css">' . $htmlpurifier_form->getCSS() . ' .hp-config {margin-left:auto;margin-right:auto;} </style>'; $js = $htmlpurifier_form->getJavaScript(); echo '<script type="text/javascript">' . "<!--\n{$js}\n//-->" . '</script>'; $frm->show(); }
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>HTML Purifier Config Form Smoketest</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="../library/HTMLPurifier/Printer/ConfigForm.css" type="text/css" /> <script defer="defer" type="text/javascript" src="../library/HTMLPurifier/Printer/ConfigForm.js"></script> </head> <body> <h1>HTML Purifier Config Form Smoketest</h1> <p>This file outputs the configuration form for every single type of directive possible.</p> <form id="htmlpurifier-config" name="htmlpurifier-config" method="get" action="" style="float:right;"> <?php $schema_builder = new HTMLPurifier_ConfigSchema_Builder_ConfigSchema(); $schema = $schema_builder->build($interchange); $config = HTMLPurifier_Config::loadArrayFromForm($_GET, 'config', true, true, $schema); $printer = new HTMLPurifier_Printer_ConfigForm('config', '?doc#%s'); echo $printer->render(array(HTMLPurifier_Config::createDefault(), $config)); ?> </form> <pre> <?php echo htmlspecialchars(var_export($config->getAll(), true)); ?> </pre> </body> </html> <?php // vim: et sw=4 sts=4
<head> <title>HTML Purifier Config Form Smoketest</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="../library/HTMLPurifier/Printer/ConfigForm.css" type="text/css" /> <script defer="defer" type="text/javascript" src="../library/HTMLPurifier/Printer/ConfigForm.js"></script> </head> <body> <h1>HTML Purifier Config Form Smoketest</h1> <p>This file outputs the configuration form for every single type of directive possible.</p> <form id="htmlpurifier-config" name="htmlpurifier-config" method="get" action="" style="float:right;"> <?php require_once 'HTMLPurifier/Printer/ConfigForm.php'; // fictional set, attempts to cover every possible data-type // see source at ConfigTest.php require_once 'testSchema.php'; // cleanup ( this should be rolled into Config ) $config = HTMLPurifier_Config::loadArrayFromForm($_GET, 'config'); $printer = new HTMLPurifier_Printer_ConfigForm('config', '?doc#%s'); echo $printer->render($config); ?> </form> <pre> <?php echo htmlspecialchars(print_r($config->getAll(), true)); ?> </pre> </body> </html>
<?php require_once 'common.php'; // load library require_once 'HTMLPurifier/Printer/HTMLDefinition.php'; require_once 'HTMLPurifier/Printer/CSSDefinition.php'; require_once 'HTMLPurifier/Printer/ConfigForm.php'; $config = HTMLPurifier_Config::loadArrayFromForm($_GET, 'config', 'HTML'); // you can do custom configuration! if (file_exists('printDefinition.settings.php')) { include 'printDefinition.settings.php'; } $printer_html_definition = new HTMLPurifier_Printer_HTMLDefinition(); $printer_css_definition = new HTMLPurifier_Printer_CSSDefinition(); $printer_config_form = new HTMLPurifier_Printer_ConfigForm('config', 'http://htmlpurifier.org/live/configdoc/plain.html#%s'); echo '<?xml version="1.0" encoding="UTF-8" ?>'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>HTML Purifier Printer Smoketest</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> .hp-config {margin-left:auto; margin-right:auto;} .HTMLPurifier_Printer table {border-collapse:collapse; border:1px solid #000; width:600px; margin:1em auto;font-family:sans-serif;font-size:75%;} .HTMLPurifier_Printer td, .HTMLPurifier_Printer th {padding:3px; border:1px solid #000;background:#CCC; vertical-align: baseline;} .HTMLPurifier_Printer th {text-align:left;background:#CCF;width:20%;}