summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/dokuwiki.php1
-rw-r--r--lib/exe/indexer.php2
-rw-r--r--lib/plugins/config/lang/en/lang.php1
-rw-r--r--lib/plugins/config/settings/config.metadata.php1
4 files changed, 4 insertions, 1 deletions
diff --git a/conf/dokuwiki.php b/conf/dokuwiki.php
index 98c446d58..66a2171b3 100644
--- a/conf/dokuwiki.php
+++ b/conf/dokuwiki.php
@@ -108,6 +108,7 @@ $conf['rss_linkto'] = 'diff'; //what page RSS entries link to:
$conf['rss_update'] = 5*60; //Update the RSS feed every n minutes (defaults to 5 minutes)
$conf['recent_days'] = 7; //How many days of recent changes to keep. (days)
$conf['rss_show_summary'] = 1; //Add revision summary to title? 0|1
+$conf['broken_iua'] = 0; //Platform with broken ignore_user_abort (IIS+CGI) 0|1
//Set target to use when creating links - leave empty for same window
$conf['target']['wiki'] = '';
diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php
index bb79bf2cc..da79db0e0 100644
--- a/lib/exe/indexer.php
+++ b/lib/exe/indexer.php
@@ -20,7 +20,7 @@ define('INDEXER_VERSION', 1);
@ignore_user_abort(true);
// check if user abort worked, if yes send output early
-if(@ignore_user_abort()){
+if(@ignore_user_abort() && !$conf['broken_iua']){
sendGIF(); // send gif
$defer = false;
}else{
diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php
index a415ca464..9f3df88bb 100644
--- a/lib/plugins/config/lang/en/lang.php
+++ b/lib/plugins/config/lang/en/lang.php
@@ -121,6 +121,7 @@ $lang['compress'] = 'Compact CSS and javascript output';
$lang['hidepages'] = 'Hide matching pages (regular expressions)';
$lang['send404'] = 'Send "HTTP 404/Page Not Found" for non existing pages';
$lang['sitemap'] = 'Generate Google sitemap (days)';
+$lang['broken_iua'] = 'Is the ignore_user_abort function broken on your system? This could cause a non working search index. IIS+PHP/CGI is known to be broken. See <a href="http://bugs.splitbrain.org/?do=details&id=852">Bug 852</a> for more info.';
$lang['rss_type'] = 'XML feed type';
$lang['rss_linkto'] = 'XML feed links to';
diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php
index 3ef6c79b1..d1456b3e9 100644
--- a/lib/plugins/config/settings/config.metadata.php
+++ b/lib/plugins/config/settings/config.metadata.php
@@ -165,6 +165,7 @@ $meta['rss_linkto'] = array('multichoice','_choices' => array('diff','page','re
$meta['rss_update'] = array('numeric');
$meta['recent_days'] = array('numeric');
$meta['rss_show_summary'] = array('onoff');
+$meta['broken_iua'] = array('onoff');
$meta['test_indexer'] = array('numeric'); // FIXME: delete when no longer needed
$meta['_network'] = array('fieldset');