summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Smith <chris@jalakai.co.uk>2007-08-05 21:36:38 +0200
committerChris Smith <chris@jalakai.co.uk>2007-08-05 21:36:38 +0200
commit1b95bfdf531bcebc21db63c41394692b813cbd71 (patch)
tree9aec22b0849153e08ca2fd49a6dad57858e9b3ce
parent2bb0d5419919bf72dd2338b331ea1a4c40ec6cbc (diff)
downloadrpg-1b95bfdf531bcebc21db63c41394692b813cbd71.tar.gz
rpg-1b95bfdf531bcebc21db63c41394692b813cbd71.tar.bz2
Add checks for supported attic compression methods to config plugin (FS#1185)
darcs-hash:20070805193638-d26fc-aac3910d4dea3cd5539572cce3e73366ed39ab80.gz
-rw-r--r--lib/plugins/config/settings/config.class.php2
-rw-r--r--lib/plugins/config/settings/config.metadata.php3
-rw-r--r--lib/plugins/config/settings/extra.class.php16
3 files changed, 19 insertions, 2 deletions
diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php
index 909cc01de..71e69b4c8 100644
--- a/lib/plugins/config/settings/config.class.php
+++ b/lib/plugins/config/settings/config.class.php
@@ -622,7 +622,7 @@ if (!class_exists('setting_dirchoice')) {
function initialize($default,$local,$protected) {
- // populate $this->_choices with a list of available templates
+ // populate $this->_choices with a list of directories
$list = array();
if ($dh = @opendir($this->_dir)) {
diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php
index f8e2c35ce..3609b0cf5 100644
--- a/lib/plugins/config/settings/config.metadata.php
+++ b/lib/plugins/config/settings/config.metadata.php
@@ -35,6 +35,7 @@
* 'authtype' - as 'setting', input validated against a valid php file at expected location for auth files
* 'im_convert' - as 'setting', input must exist and be an im_convert module
* 'disableactions' - as 'setting'
+ * 'compression' - no additional parameters. checks php installation supports possible compression alternatives
*
* Any setting commented or missing will use 'setting' class - text input, minimal validation, quoted output
*
@@ -162,7 +163,7 @@ $meta['compress'] = array('onoff');
$meta['gzip_output'] = array('onoff');
$meta['hidepages'] = array('string');
$meta['send404'] = array('onoff');
-$meta['compression'] = array('multichoice','_choices' => array('0','gz','bz2'));
+$meta['compression'] = array('compression');
$meta['sitemap'] = array('numeric');
$meta['rss_type'] = array('multichoice','_choices' => array('rss','rss1','rss2','atom','atom1'));
$meta['rss_linkto'] = array('multichoice','_choices' => array('diff','page','rev','current'));
diff --git a/lib/plugins/config/settings/extra.class.php b/lib/plugins/config/settings/extra.class.php
index af97d85a8..42cbe64f8 100644
--- a/lib/plugins/config/settings/extra.class.php
+++ b/lib/plugins/config/settings/extra.class.php
@@ -98,3 +98,19 @@ if (!class_exists('setting_disableactions')) {
}
}
}
+
+if (!class_exists('setting_compression')) {
+ class setting_compression extends setting_multichoice {
+
+ var $_choices = array('0'); // 0 = no compression, always supported
+
+ function initialize($default,$local,$protected) {
+
+ // populate _choices with the compression methods supported by this php installation
+ if (function_exists('gzopen')) $this->_choices[] = 'gz';
+ if (function_exists('bzopen')) $this->_choices[] = 'bzip';
+
+ parent::initialize($default,$local,$protected);
+ }
+ }
+}