summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBen Coburn <btcoburn@silicodon.net>2006-05-16 08:23:21 +0200
committerBen Coburn <btcoburn@silicodon.net>2006-05-16 08:23:21 +0200
commit2b03e74de514af15d4004e7635625fa64816231a (patch)
treee1d60964b029476328279d9bf0f7f4e83068d74c /lib
parentdb1fc0df0c64ca0e16140e9be6d15815cdefc767 (diff)
downloadrpg-2b03e74de514af15d4004e7635625fa64816231a.tar.gz
rpg-2b03e74de514af15d4004e7635625fa64816231a.tar.bz2
jpg quality option
- Adds a jpg quality setting for scaled images (Some images were getting too many jpg artifacts at the hard-coded compression setting.) - Creates a group for the media settings in the config plugin. darcs-hash:20060516062321-05dcb-a175b0de3264322a335cf60d8ee96317f7b03144.gz
Diffstat (limited to 'lib')
-rw-r--r--lib/exe/fetch.php5
-rw-r--r--lib/plugins/config/lang/en/lang.php2
-rw-r--r--lib/plugins/config/settings/config.metadata.php7
3 files changed, 11 insertions, 3 deletions
diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php
index 4df204f50..7f5024b2d 100644
--- a/lib/exe/fetch.php
+++ b/lib/exe/fetch.php
@@ -262,6 +262,9 @@ function resize_imageIM($ext,$from,$from_w,$from_h,$to,$to_w,$to_h){
// prepare command
$cmd = $conf['im_convert'];
$cmd .= ' -resize '.$to_w.'x'.$to_h.'!';
+ if ($ext == 'jpg' || $ext == 'jpeg') {
+ $cmd .= ' -quality '.$conf['jpg_quality'];
+ }
$cmd .= " $from $to";
@exec($cmd,$out,$retval);
@@ -328,7 +331,7 @@ function resize_imageGD($ext,$from,$from_w,$from_h,$to,$to_w,$to_h){
if(!function_exists('imagejpeg')){
$okay = false;
}else{
- $okay = imagejpeg($newimg, $to, 70);
+ $okay = imagejpeg($newimg, $to, $conf['jpg_quality']);
}
}elseif($ext == 'png') {
if(!function_exists('imagepng')){
diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php
index a19a71d0d..b41402072 100644
--- a/lib/plugins/config/lang/en/lang.php
+++ b/lib/plugins/config/lang/en/lang.php
@@ -30,6 +30,7 @@ $lang['_authentication'] = 'Authentication Settings';
$lang['_anti_spam'] = 'Anti-Spam Settings';
$lang['_editing'] = 'Editing Settings';
$lang['_links'] = 'Link Settings';
+$lang['_media'] = 'Media Settings';
$lang['_advanced'] = 'Advanced Settings';
$lang['_network'] = 'Network Settings';
// The settings group name for plugins and templates can be set with
@@ -100,6 +101,7 @@ $lang['notify'] = 'Send change notifications to this email address';
$lang['mailfrom'] = 'Email address to use for automatic mails';
$lang['gdlib'] = 'GD Lib version';
$lang['im_convert'] = 'Path to ImageMagick\'s convert tool';
+$lang['jpg_quality'] = 'JPG compression quality (0-100)';
$lang['spellchecker']= 'Enable spellchecker';
$lang['subscribers'] = 'Enable page subscription support';
$lang['compress'] = 'Compress CSS and javascript files';
diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php
index bf2b74ff5..d48d08d56 100644
--- a/lib/plugins/config/settings/config.metadata.php
+++ b/lib/plugins/config/settings/config.metadata.php
@@ -133,6 +133,11 @@ $meta['target____extern'] = array('string');
$meta['target____media'] = array('string');
$meta['target____windows'] = array('string');
+$meta['_media'] = array('fieldset');
+$meta['gdlib'] = array('multichoice','_choices' => array(0,1,2));
+$meta['im_convert'] = array('im_convert');
+$meta['jpg_quality'] = array('numeric','_pattern' => '/^100$|^[1-9]?[0-9]$/'); //(0-100)
+
$meta['_advanced'] = array('fieldset');
$meta['userewrite'] = array('multichoice','_choices' => array(0,1,2));
$meta['useslash'] = array('onoff');
@@ -141,8 +146,6 @@ $meta['canonical'] = array('onoff');
$meta['autoplural'] = array('onoff');
$meta['usegzip'] = array('onoff');
$meta['mailfrom'] = array('email');
-$meta['gdlib'] = array('multichoice','_choices' => array(0,1,2));
-$meta['im_convert'] = array('im_convert');
$meta['compress'] = array('onoff');
$meta['hidepages'] = array('string');
$meta['send404'] = array('onoff');