]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fixed #905: Presenting image size limit to user.
authorSean Murphy <sgmurphy@gmail.com>
Thu, 5 Feb 2009 19:11:50 +0000 (14:11 -0500)
committerSean Murphy <sgmurphy@gmail.com>
Thu, 5 Feb 2009 19:11:50 +0000 (14:11 -0500)
actions/avatarsettings.php
actions/grouplogo.php
lib/imagefile.php

index 643c0e567590dc102e05d519074a9ae5d9dbc5d2..79ca6b7898336f3e8c081ddcd5e63ecccff20ad3 100644 (file)
@@ -75,7 +75,7 @@ class AvatarsettingsAction extends AccountSettingsAction
 
     function getInstructions()
     {
-        return _('You can upload your personal avatar.');
+        return _('You can upload your personal avatar. The maximum file size is '.ImageFile::maxFileSize().'.');
     }
 
     /**
index 294005f1bbce00f1d3038a63df1c2212ae3b21b4..4be7c4e12fcab4d763463a875ef537b235866261 100644 (file)
@@ -152,7 +152,7 @@ class GrouplogoAction extends Action
 
     function getInstructions()
     {
-        return _('You can upload a logo image for your group.');
+        return _('You can upload a logo image for your group. The maximum file size is '.ImageFile::maxFileSize().'.');
     }
 
     /**
index 5e9913235caeb87a8eb6ad50c8ed04ac070fd786..f9f47a47ee5a8f3f4d1e5bb6025a0c41005b45d8 100644 (file)
@@ -72,7 +72,7 @@ class ImageFile
             break;
         case UPLOAD_ERR_INI_SIZE:
         case UPLOAD_ERR_FORM_SIZE:
-            throw new Exception(_('That file is too big.'));
+            throw new Exception(_('That file is too big. The maximum file size is '.$this->maxFileSize().'.'));
             return;
         case UPLOAD_ERR_PARTIAL:
             @unlink($_FILES[$param]['tmp_name']);
@@ -182,4 +182,27 @@ class ImageFile
     {
         @unlink($this->filename);
     }
+    
+    static function maxFileSize()
+    {
+        $limit = min(ImageFile::strToInt(ini_get('post_max_size')), ImageFile::strToInt(ini_get('upload_max_filesize')));
+        return ($limit/(1024*1024)).'MB';
+    }
+    
+    static function strToInt($str)
+    {
+        $unit = substr($str, -1);
+        $num = substr($str, 0, -1);
+        
+        switch(strtoupper($unit)){
+            case 'G':
+                $num *= 1024;
+            case 'M':
+                $num *= 1024;
+            case 'K':
+                $num *= 1024;
+        }
+        
+        return $num;
+    }
 }
\ No newline at end of file