got savings check working
Foaly* [Thu, 19 Sep 2013 00:13:45 +0000 (01:13 +0100)]
12 files changed:
ImageCompressor.module.php
action.ajax.php
images/filetypes/bmp.png [changed mode: 0755->0644]
images/filetypes/gif.png [changed mode: 0755->0644]
images/filetypes/jpg.png [changed mode: 0755->0644]
images/filetypes/png.png [changed mode: 0755->0644]
inc/ImageCompressor.js
inc/imagecompressor.css
lang/en_US.php
lib/class.imagecompressor_utils.php
method.install.php
method.uninstall.php

index e3bd512..9db23a2 100644 (file)
@@ -49,10 +49,6 @@ class ImageCompressor extends CMSModule {
        {
                return '0.10.1';
        }
-       public function GetHelp()
-       {
-               return $this->Lang('help');
-       }
        public function GetAuthor()
        {
                return 'JS';
index ff26f9c..ea0bb6f 100644 (file)
@@ -30,37 +30,39 @@ if(!isset($params['action'])) {
        exit;
 }
 $config = cmsms()->GetConfig();
-$mod = cmsms()->GetModuleInstance(get_called_class());
-$mod->LoadLangMethods();
-
 $return = array();
 switch($params['action']) {
        case 'check':
+               if(!imagecompressor_utils::url_fopen_enabled())
+               {
+                       $return['error'] = $this->Lang('fopen_error');
+                       break;
+               }
                $data = imagecompressor_utils::smushit_post($config['image_uploads_url'].'/'.$params['path']);
                if(!$data)
                {
-                       $return['error'] = $mod->Lang('N/A');
+                       $return['error'] = $this->Lang('N/A');
                        break;
                }
                if(isset($data->error))
                {
-                       $return['error'] = $mod->Lang('smushit_error').' '. $data->error;
+                       $return['error'] = $this->Lang('smushit_error').' '. $data->error;
                        break;
                }
                if(intval($data->dest_size) == -1 || intval($data->percent) == 0)
                {
-                       $return['message'] = $mod->Lang('nosavings');
+                       $return['message'] = $this->Lang('nosavings');
                        break;
                }
 
-               $return['message'] = sprintf($mod->Lang('couldsave'), $data->percent);
+               $return['message'] = sprintf($this->Lang('couldsave'), $data->percent);
                if(is_writable($config['image_uploads_path'].'/'.$path))
                {
-                       $return['message'] .= '<br /><a href="#" class="smush" data-dest="'.$data->dest.'">'.$mod->Lang('compress').'</a>';
+                       $return['message'] .= '<br /><a href="#" class="smush" data-dest="'.$data->dest.'">'.$this->Lang('compress').'</a>';
                }
                else
                {
-                       $return['error'] = $mod->Lang('notwritable');
+                       $return['error'] = $this->Lang('notwritable');
                }
                break;
 }
old mode 100755 (executable)
new mode 100644 (file)
index 22841a5..933edee
Binary files a/images/filetypes/bmp.png and b/images/filetypes/bmp.png differ
old mode 100755 (executable)
new mode 100644 (file)
index c2f375d..4580034
Binary files a/images/filetypes/gif.png and b/images/filetypes/gif.png differ
old mode 100755 (executable)
new mode 100644 (file)
index 981821e..b7717a1
Binary files a/images/filetypes/jpg.png and b/images/filetypes/jpg.png differ
old mode 100755 (executable)
new mode 100644 (file)
index be65795..5148a80
Binary files a/images/filetypes/png.png and b/images/filetypes/png.png differ
index 0a994a4..ea399d6 100644 (file)
@@ -41,11 +41,11 @@ var ImageCompressor = (function ($) {
                                        var $html = $();
                                        if(typeof data.message !== 'undefined')
                                        {
-                                               $html.add('<span class="message">' + data.message + '</span>');
+                                               $html = $html.add('<span class="ic_message">' + data.message + '</span>');
                                        }
                                        if(typeof data.error !== 'undefined')
                                        {
-                                               $html.add('<span class="error">' + data.error + '</span>');
+                                               $html = $html.add('<span class="ic_error">' + data.error + '</span>');
                                        }
                                        $td.html($html);
                                },
index e3a0242..572080d 100644 (file)
@@ -1,57 +1,60 @@
-#filelist_imagecompressor a{\r
-       text-decoration:none;\r
-}\r
-#filelist_imagecompressor a:hover{\r
-       text-decoration:underline;\r
-}\r
-#filelist_imagecompressor .notwritable{\r
-       color:#f00;\r
-}\r
-#filelist_imagecompressor .massclick_smush{\r
-       font-weight:bold;\r
-}\r
-#filelist_imagecompressor .queue,\r
-#filelist_imagecompressor .nosavings{\r
-       color:#999;\r
-}\r
-#filelist_imagecompressor .checking{\r
-       color:#0000ff;\r
-}\r
-\r
-/* NEW SHIT */\r
-\r
-#filelist_imagecompressor thead th:last-child {\r
-       width: 220px;\r
-}\r
-\r
-#filelist_imagecompressor .spinner {\r
-       height: 22px;\r
-       width: 22px;\r
-       position: relative;\r
-       -webkit-animation: rotation .6s infinite linear;\r
-       -moz-animation: rotation .6s infinite linear;\r
-       -o-animation: rotation .6s infinite linear;\r
-       animation: rotation .6s infinite linear;\r
-       border-left: 6px solid rgba(0, 174, 239, .15);\r
-       border-right: 6px solid rgba(0, 174, 239, .15);\r
-       border-bottom: 6px solid rgba(0, 174, 239, .15);\r
-       border-top: 6px solid rgba(0, 174, 239, .8);\r
-       border-radius: 100%;\r
-}\r
-\r
-@-webkit-keyframes rotation {\r
-       from { -webkit-transform: rotate(0deg); }\r
-       to { -webkit-transform: rotate(359deg); }\r
-}\r
-@-moz-keyframes rotation {\r
-       from { -moz-transform: rotate(0deg); }\r
-       to { -moz-transform: rotate(359deg); }\r
-}\r
-@-o-keyframes rotation {\r
-       from { -o-transform: rotate(0deg); }\r
-       to { -o-transform: rotate(359deg); }\r
-}\r
-@keyframes rotation {\r
-       from { transform: rotate(0deg); }\r
-       to { transform: rotate(359deg); }\r
+#filelist_imagecompressor a{
+       text-decoration:none;
+}
+#filelist_imagecompressor a:hover{
+       text-decoration:underline;
+}
+#filelist_imagecompressor .notwritable{
+       color:#f00;
+}
+#filelist_imagecompressor .massclick_smush{
+       font-weight:bold;
+}
+#filelist_imagecompressor .queue,
+#filelist_imagecompressor .nosavings{
+       color:#999;
+}
+#filelist_imagecompressor .checking{
+       color:#0000ff;
+}
+
+/* NEW SHIT */
+
+#filelist_imagecompressor thead th:last-child {
+       width: 220px;
+}
+
+#filelist_imagecompressor .spinner {
+       height: 22px;
+       width: 22px;
+       position: relative;
+       -webkit-animation: rotation .6s infinite linear;
+       -moz-animation: rotation .6s infinite linear;
+       -o-animation: rotation .6s infinite linear;
+       animation: rotation .6s infinite linear;
+       border-left: 6px solid rgba(0, 174, 239, .15);
+       border-right: 6px solid rgba(0, 174, 239, .15);
+       border-bottom: 6px solid rgba(0, 174, 239, .15);
+       border-top: 6px solid rgba(0, 174, 239, .8);
+       border-radius: 100%;
+}
+
+@-webkit-keyframes rotation {
+       from { -webkit-transform: rotate(0deg); }
+       to { -webkit-transform: rotate(359deg); }
+}
+@-moz-keyframes rotation {
+       from { -moz-transform: rotate(0deg); }
+       to { -moz-transform: rotate(359deg); }
+}
+@-o-keyframes rotation {
+       from { -o-transform: rotate(0deg); }
+       to { -o-transform: rotate(359deg); }
+}
+@keyframes rotation {
+       from { transform: rotate(0deg); }
+       to { transform: rotate(359deg); }
+}
+#filelist_imagecompressor .ic_error {
+       color: #f00;
 }
\ No newline at end of file
index 34e460e..94a9326 100644 (file)
@@ -1,31 +1,32 @@
-<?php\r
-$lang['friendlyname'] = 'Image Compressor';\r
-$lang['postinstall'] = 'Be sure to set "Use Image Compressor" permissions to use this module!';\r
-$lang['postuninstall'] = 'Modul unistalled.';\r
-$lang['really_uninstall'] = 'Really? You\'re sure you want to uninstall this module?';\r
-$lang['uninstalled'] = 'Module uninstalled.';\r
-$lang['installed'] = 'Module version %s installed.';\r
-$lang['accessdenied'] = 'Access Denied. Please check your permissions.';\r
-$lang['error'] = 'Error!';\r
-$lang['moddescription'] = 'Reduces file size of all images uploaded to the Image Manager to improve website performance using the smush.it-API.';\r
-$lang['changelog'] = '';\r
-\r
-$lang['smushit_error'] = 'Smushit error:';\r
-$lang['title_imagelist'] = 'File view';\r
-$lang['filenametext'] = 'Filename';\r
-$lang['filepermstext'] = 'Access perms';\r
-$lang['filesizetext'] = 'Size';\r
-$lang['filedatetext'] = 'Date';\r
-$lang['checkall'] = 'check all';\r
-$lang['smushall'] = 'smush all';\r
-$lang['stopqueue'] = 'stop queue';\r
-$lang['filedateformat'] = "m/d/Y H:m:s";\r
-$lang['nosavings'] = 'No savings';\r
-$lang['checksavings'] = 'Check savings';\r
-$lang['couldsave'] = 'Can save %01.1f%%';\r
-$lang['compress'] = 'Compress!';\r
-$lang['notwritable'] = 'Not writable!';\r
-$lang['done'] = 'Done!';\r
-$lang['invalidurl'] = 'Invalid URL!';\r
-$lang['N/A'] = 'Image couldn\'t be processed or service unavailable. Umlauts or spaces in image name?';\r
+<?php
+$lang['friendlyname'] = 'Image Compressor';
+$lang['postinstall'] = 'Be sure to set "Use Image Compressor" permissions to use this module!';
+$lang['postuninstall'] = 'Modul unistalled.';
+$lang['really_uninstall'] = 'Really? You\'re sure you want to uninstall this module?';
+$lang['uninstalled'] = 'Module uninstalled.';
+$lang['installed'] = 'Module version %s installed.';
+$lang['accessdenied'] = 'Access Denied. Please check your permissions.';
+$lang['error'] = 'Error!';
+$lang['moddescription'] = 'Reduces file size of all images uploaded to the Image Manager to improve website performance using the smush.it-API.';
+$lang['changelog'] = '';
+
+$lang['fopen_error'] = 'fopen can\'t open remote files';
+$lang['smushit_error'] = 'Smushit error:';
+$lang['title_imagelist'] = 'File view';
+$lang['filenametext'] = 'Filename';
+$lang['filepermstext'] = 'Access perms';
+$lang['filesizetext'] = 'Size';
+$lang['filedatetext'] = 'Date';
+$lang['checkall'] = 'check all';
+$lang['smushall'] = 'smush all';
+$lang['stopqueue'] = 'stop queue';
+$lang['filedateformat'] = "m/d/Y H:m:s";
+$lang['nosavings'] = 'No savings';
+$lang['checksavings'] = 'Check savings';
+$lang['couldsave'] = 'Can save %01.1f%%';
+$lang['compress'] = 'Compress!';
+$lang['notwritable'] = 'Not writable!';
+$lang['done'] = 'Done!';
+$lang['invalidurl'] = 'Invalid URL!';
+$lang['N/A'] = 'Image couldn\'t be processed or service unavailable. Umlauts or spaces in image name?';
 $lang['nofiles'] = 'No images found.';
\ No newline at end of file
index 7810eea..c422506 100644 (file)
@@ -95,10 +95,19 @@ class imagecompressor_utils {
        {
                $config = cmsms()->GetConfig();
 
-               $url = substr(realpath(__DIR__.'/../'), strlen($config['root_path']));
+               $url = substr(realpath(dirname(__FILE__).'/../'), strlen($config['root_path']));
                $url = str_replace(DIRECTORY_SEPARATOR, '/', $url);
                $url = $config['root_url'] . $url;
 
                return $url;
        }
+
+       static final public function url_fopen_enabled()
+       {
+               if (!ini_get('allow_url_fopen') || $_SERVER['GATEWAY_INTERFACE'])
+               {
+                       return false;
+               }
+               return true;
+       }
 }
\ No newline at end of file
index f1fa789..2a3d1a2 100644 (file)
@@ -1,33 +1,33 @@
-<?php\r
-#-------------------------------------------------------------------------\r
-#\r
-# Jonathan Schmid, <hi@jonathanschmid.de>\r
-# Web: www.jonathanschmid.de\r
-#\r
-#-------------------------------------------------------------------------\r
-#\r
-# ImageCompressor is a CMS Made Simple module that can compress user-uploaded images.\r
-#\r
-#-------------------------------------------------------------------------\r
-#\r
-# This program is free software; you can redistribute it and/or modify\r
-# it under the terms of the GNU General Public License as published by\r
-# the Free Software Foundation; either version 2 of the License, or\r
-# (at your option) any later version.\r
-#\r
-# This program is distributed in the hope that it will be useful,\r
-# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-# GNU General Public License for more details.\r
-# You should have received a copy of the GNU General Public License\r
-# along with this program; if not, write to the Free Software\r
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
-# Or read it online: http://www.gnu.org/licenses/licenses.html#GPL\r
-#\r
-#-------------------------------------------------------------------------\r
-\r
-if (!is_object(cmsms())) exit;\r
-\r
-$this->CreatePermission('Use Image Compressor', 'Use Image Compressor');\r
-$this->Audit(0, $this->Lang('friendlyname'), $this->Lang('installed', $this->GetVersion()));\r
+<?php
+#-------------------------------------------------------------------------
+#
+# Jonathan Schmid, <hi@jonathanschmid.de>
+# Web: www.jonathanschmid.de
+#
+#-------------------------------------------------------------------------
+#
+# ImageCompressor is a CMS Made Simple module that can compress user-uploaded images.
+#
+#-------------------------------------------------------------------------
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Or read it online: http://www.gnu.org/licenses/licenses.html#GPL
+#
+#-------------------------------------------------------------------------
+
+if (!is_object(cmsms())) exit;
+
+$this->CreatePermission('Use Image Compressor', 'Use Image Compressor');
+$this->Audit(0, $this->Lang('friendlyname'), $this->Lang('installed', $this->GetVersion()));
 ?>
\ No newline at end of file
index 45af8e4..7e80e97 100644 (file)
@@ -1,33 +1,33 @@
-<?php\r
-#-------------------------------------------------------------------------\r
-#\r
-# Jonathan Schmid, <hi@jonathanschmid.de>\r
-# Web: www.jonathanschmid.de\r
-#\r
-#-------------------------------------------------------------------------\r
-#\r
-# ImageCompressor is a CMS Made Simple module that can compress user-uploaded images.\r
-#\r
-#-------------------------------------------------------------------------\r
-#\r
-# This program is free software; you can redistribute it and/or modify\r
-# it under the terms of the GNU General Public License as published by\r
-# the Free Software Foundation; either version 2 of the License, or\r
-# (at your option) any later version.\r
-#\r
-# This program is distributed in the hope that it will be useful,\r
-# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-# GNU General Public License for more details.\r
-# You should have received a copy of the GNU General Public License\r
-# along with this program; if not, write to the Free Software\r
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
-# Or read it online: http://www.gnu.org/licenses/licenses.html#GPL\r
-#\r
-#-------------------------------------------------------------------------\r
-\r
-if (!is_object(cmsms())) exit;\r
-\r
-$this->RemovePermission('Use Image Compressor');\r
-$this->Audit(0, $this->Lang('friendlyname'), $this->Lang('uninstalled'));\r
+<?php
+#-------------------------------------------------------------------------
+#
+# Jonathan Schmid, <hi@jonathanschmid.de>
+# Web: www.jonathanschmid.de
+#
+#-------------------------------------------------------------------------
+#
+# ImageCompressor is a CMS Made Simple module that can compress user-uploaded images.
+#
+#-------------------------------------------------------------------------
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Or read it online: http://www.gnu.org/licenses/licenses.html#GPL
+#
+#-------------------------------------------------------------------------
+
+if (!is_object(cmsms())) exit;
+
+$this->RemovePermission('Use Image Compressor');
+$this->Audit(0, $this->Lang('friendlyname'), $this->Lang('uninstalled'));
 ?>
\ No newline at end of file