summaryrefslogtreecommitdiff
path: root/admin/filter_htmlpurifier.php
diff options
context:
space:
mode:
authorMax Kremmel <xing@synapse.plus.com>2007-06-09 11:20:41 +0000
committerMax Kremmel <xing@synapse.plus.com>2007-06-09 11:20:41 +0000
commit74c58bb9bd45f41b8ff6dd52ce5a3605e19ebc89 (patch)
treea6c083bb998a64aab22ed38830628e1a09730c62 /admin/filter_htmlpurifier.php
parented69a3250da52796ea866da7923346bde5db83b3 (diff)
downloadliberty-74c58bb9bd45f41b8ff6dd52ce5a3605e19ebc89.tar.gz
liberty-74c58bb9bd45f41b8ff6dd52ce5a3605e19ebc89.tar.bz2
liberty-74c58bb9bd45f41b8ff6dd52ce5a3605e19ebc89.zip
add htmlpurifier plugin and separate options page
Diffstat (limited to 'admin/filter_htmlpurifier.php')
-rw-r--r--admin/filter_htmlpurifier.php75
1 files changed, 75 insertions, 0 deletions
diff --git a/admin/filter_htmlpurifier.php b/admin/filter_htmlpurifier.php
new file mode 100644
index 0000000..780da7b
--- /dev/null
+++ b/admin/filter_htmlpurifier.php
@@ -0,0 +1,75 @@
+<?php
+require_once( '../../bit_setup_inc.php' );
+include_once( KERNEL_PKG_PATH.'simple_form_functions_lib.php' );
+
+$gBitSystem->verifyPermission( 'p_admin' );
+
+$htmlPurifier = array(
+ 'liberty_html_pure_escape_bad' => array(
+ 'label' => 'Escape invalid HTML',
+ 'note' => ' Escapes invlid HTML as text. Otherwise invalid HTML is silently dropped. See <a href="http://htmlpurifier.org/live/configdoc/plain.html#Core.EscapeInvalidTags">this</a> and <a href="http://htmlpurifier.org/live/configdoc/plain.html#Core.EscapeInvalidChildren">this</a> for more information.',
+ 'default' => 'y'
+ ),
+ 'liberty_html_pure_disable_extern' => array(
+ 'label' => 'Disable External Links',
+ 'note' => 'Disables links to external websites which is effective against spam. See <a href="http://htmlpurifier.org/live/configdoc/plain.html#URI.DisableExternal">this</a> for more information.',
+ 'default' => 'n'
+ ),
+ 'liberty_html_pure_disable_extern_res' => array(
+ 'label' => 'Disable External Resounces',
+ 'note' => 'Disables the embedding of external resource like images from other hosts. See <a href="http://htmlpurifier.org/live/configdoc/plain.html#URI.DisableExternalResources">this</a> for more information.',
+ 'default' => 'y'
+ ),
+ 'liberty_html_pure_disable_res' => array(
+ 'label' => 'Disable All Resources',
+ 'note' => 'Disables the embedding of all resources preventing users from including pictures at all. See <a href="http://htmlpurifier.org/live/configdoc/plain.html#URI.DisableResources">this</a> for more information.',
+ 'default' => 'n'
+ ),
+ 'liberty_html_pure_disable_uri' => array(
+ 'label' => 'Disable all URIs',
+ 'note' => 'Disables all URIs in all forms within submitted content. See <a href="http://htmlpurifier.org/live/configdoc/plain.html#URI.Disable">this</a> for more information.',
+ 'default' => 'n'
+ ),
+ 'liberty_html_pure_use_redirect' => array(
+ 'label' => 'Use Redirect',
+ 'note' => 'Uses the redirect service in the Redirect URI. This can be handy to track clicks out and prevent leacks of PageRank. See <a href="http://htmlpurifier.org/live/configdoc/plain.html#URI.Munge">this</a> for more information.',
+ 'default' => 'n'
+ ),
+ 'liberty_html_pure_strict_html' => array(
+ 'label' => 'Force Strict',
+ 'note' => 'Determines if the purification matches the Transitional or Strict rule sets. See <a href="http://htmlpurifier.org/live/configdoc/plain.html#HTML.Strict">this</a> for more information.',
+ 'default' => 'y'
+ ),
+ 'liberty_html_pure_xhtml' => array(
+ 'label' => 'Force XHTML',
+ 'note' => 'Determine if purification forces only XHTML tags or if it allows standard HTML.',
+ 'default' => 'y'
+ ),
+ // TODO: We should parse the plugins directory to generate these
+ // so that new plugins just have to be dropped in the dir and turned on.
+ 'liberty_html_pure_allow_youtube' => array(
+ 'label' => 'Allow YouTube',
+ 'note' => 'Allow YouTube videos to be passed through.',
+ 'default' => 'n'
+ ),
+);
+$gBitSmarty->assign( 'htmlPurifier', $htmlPurifier );
+
+if( !empty( $_REQUEST['apply'] )) {
+ $formFeatures = array_merge( $htmlPurifier );
+ foreach( $formFeatures as $item => $data ) {
+ simple_set_toggle( $item, LIBERTY_PKG_NAME );
+ }
+
+ if( !empty($_REQUEST['blacklisted_html_tags'] )) {
+ $tags = preg_replace( '/\s/', '', $_REQUEST['blacklisted_html_tags'] );
+ if( strlen( $tags ) > 250 ) {
+ $tags = substr( $tags, 0, 250 );
+ $errors['blacklist'] = 'The blacklisted tags list has been shortened. You can only have 250 characters for blacklisted tags.';
+ }
+ $gBitSystem->storeConfig('blacklisted_html_tags', $tags , LIBERTY_PKG_NAME );
+ }
+}
+
+$gBitSystem->display( 'bitpackage:liberty/filter_htmlpurifier.tpl', 'HTML Purifier' );
+?>