<?php
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
      the cache. Expect to see a flurry of database activity after you change
      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 ();
}
function phorum_htmlpurifier_show_config_info() {
	global $PHORUM;
	
	// update mod_htmlpurifier for housekeeping
	phorum_htmlpurifier_commit_settings ();
	
	// politely tell user how to edit settings manually
	?>
<div class="input-form-td-break">How to edit settings for HTML Purifier
  module</div>
<p>
  A
  <tt>config.php</tt>
  file exists in your
  <tt>mods/htmlpurifier/</tt>
  directory. This file contains your custom configuration: in order to
  change it, please navigate to that file and edit it accordingly. You
  can also set
  <code>$GLOBALS['PHORUM']['mod_htmlpurifier']['wysiwyg']</code>
  or
  <code>$GLOBALS['PHORUM']['mod_htmlpurifier']['suppress_message']</code>
</p>
<p>
  To use the web interface, delete
  <tt>config.php</tt>
  (or rename it to
  <tt>config.php.bak</tt>
  ).
</p>
<p>
  <strong>Warning: Changing HTML Purifier's configuration will
    invalidate the cache. Expect to see a flurry of database activity
    after you change any of these settings.</strong>
</p>
<?php
}

// vim: et sw=4 sts=4