ready-made for 1.11.1
Foaly* [Sat, 8 Sep 2012 13:30:00 +0000 (15:30 +0200)]
ImageCompressor.module.php
action.defaultadmin.php

index c8068c1..107890f 100644 (file)
@@ -3,84 +3,90 @@
  * ImageCompressor class
  *
  * @author Jonathan Schmid
- * @since 0.9
+ * @since 0.10
  * @version $Revision: 12 $
  * @modifiedby $LastChangedBy: foaly* $
  * @lastmodified $Date: 2011-02-01 11:56:16 +0100 (Tue, 01 Feb 2011) $
  * @license GPL
- * TODO:
- * - break client cache for webworkers
- * - appearance in ie 7-8
- * - option whether gifs shall be converted or not
- **/
+ * 
+ * TODO: better error handling
+ * TODO: break client cache for webworkers
+ * TODO: appearance in ie 7-8
+ * TODO: option whether gifs shall be converted or not
+ *
+ */
+
 class ImageCompressor extends CMSModule
 {
        const SMUSHIT_API_URL = 'http://www.smushit.com/ysmush.it/ws.php?img=%s';
        const SMUSHIT_UA = 'CMSms Image Compressor/0.9 (http://dev.cmsmadesimple.org/projects/imagecompressor)';
 
-       function __construct(){
+       public function __construct(){
                parent::__construct();
 
                if (!function_exists('json_decode'))
                        require_once('JSON/JSON.php');
        }
-       function GetName(){
+       public function GetName(){
                return 'ImageCompressor';
        }
-       function GetFriendlyName(){
+       public function GetFriendlyName(){
                return $this->Lang('friendlyname');
        }
-       function GetVersion(){
-               return '0.9.3';
+       public function GetVersion(){
+               return '0.10';
        }
-       function GetHelp(){
+       public function GetHelp(){
                return $this->Lang('help');
        }
-       function GetAuthor(){
+       public function GetAuthor(){
                return 'JS';
        }
-       function GetAuthorEmail(){
+       public function GetAuthorEmail(){
                return 'hi@jonathanschmid.de';
        }
-       function GetChangeLog(){
+       public function GetChangeLog(){
                return $this->Lang('changelog');
        }
-       function IsPluginModule(){
+       public function IsPluginModule(){
                return false;
        }
-       function HasAdmin(){
+       public function HasAdmin(){
+               return true;
+       }
+       public function IsAdminOnly(){
                return true;
        }
-       function GetAdminDescription(){
+       public function LazyLoadAdmin(){
+               return true;
+       }
+       public function GetAdminDescription(){
                return $this->Lang('moddescription');
        }
-       function VisibleToAdminUser(){
+       public function VisibleToAdminUser(){
                return $this->CheckPermission('Use Image Compressor');
        }
-       function GetDependencies(){
+       public function GetDependencies(){
                return array();
        }
-       function MinimumCMSVersion(){
+       public function MinimumCMSVersion(){
                return "1.10";
        }
-       function MaximumCMSVersion(){
-               return "1.11";
-       }
-       function InstallPostMessage(){
+       public function InstallPostMessage(){
                return $this->Lang('postinstall');
        }
-       function UninstallPostMessage(){
+       public function UninstallPostMessage(){
                return $this->Lang('postuninstall');
        }
-       function UninstallPreMessage(){
+       public function UninstallPreMessage(){
                return $this->Lang('really_uninstall');
        }
-       function format_bytes($size) {
+       protected function format_bytes($size) {
                $units = array(' B', ' KB', ' MB', ' GB', ' TB');
                for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024;
                return round($size, 1).$units[$i];
        }
-       function smushit_post($file_url){
+       protected function smushit_post($file_url){
                $uri = sprintf(self::SMUSHIT_API_URL, urlencode($file_url));
                $f = fopen($uri, 'r');
                $response = fgets($f);
@@ -98,7 +104,7 @@ class ImageCompressor extends CMSModule
 
                return $response;
        }
-       function get_compression_rate($path){
+       protected function get_compression_rate($path){
                $config = cmsms()->GetConfig();
                $data = $this->smushit_post($config['image_uploads_url'].'/'.$path);
                if(!$data)
@@ -114,14 +120,14 @@ class ImageCompressor extends CMSModule
                        $return .= sprintf('<span class="notwritable">%s</span>', $this->Lang('notwritable'));
                return $return;
        }
-       function is_image($path){
+       protected function is_image($path){
                $info = @exif_imagetype($path);
                if($info & (IMAGETYPE_GIF | IMAGETYPE_JPEG | IMAGETYPE_PNG))
                        return true;
                else
                        return false;
        }
-       function smush($url, $size){
+       protected function smush($url, $size){
                $config = cmsms()->GetConfig();
                $url = urldecode($url);
                if(strpos($url, 'http://ysmushit.zenfs.com/results') !== 0)
@@ -138,7 +144,7 @@ class ImageCompressor extends CMSModule
 
                return $this->Lang('done');
        }
-       function sort_files_by_date($a, $b){
+       protected function sort_files_by_date($a, $b){
                if($a->filetime == $b->filetime)
                        return 0;
        
index 058c2f9..4e329b4 100644 (file)
@@ -9,8 +9,6 @@
 # The module's homepage is: http://dev.cmsmadesimple.org/projects/imagecompressor/
 #
 #-------------------------------------------------------------------------
-if (!isset($gCms)) exit;
-
 if (!$this->CheckPermission('Use Image Compressor'))
        return $this->DisplayErrorPage($id, $params, $returnid, $this->Lang('accessdenied'));