]> source.dussan.org Git - nextcloud-server.git/commitdiff
get max upload file size for upload form from php settings
authorArthur Schiwon <blizzz@arthur-schiwon.de>
Sun, 17 Apr 2011 10:03:23 +0000 (12:03 +0200)
committerArthur Schiwon <blizzz@arthur-schiwon.de>
Sun, 17 Apr 2011 10:03:23 +0000 (12:03 +0200)
files/index.php
files/templates/index.php
lib/helper.php

index 638f5d0c51ee396549462d1b8a05d584e95af2d7..e07e80aabb5921d2d2b2287a1784fec73b335727 100644 (file)
@@ -60,6 +60,7 @@ $tmpl = new OC_TEMPLATE( "files", "index", "user" );
 $tmpl->assign( "files", $files );
 $tmpl->assign( "breadcrumb", $breadcrumb );
 $tmpl->assign( 'dir', $dir);
+$tmpl->assign( 'uploadMaxFilesize', OC_HELPER::computerFileSize(ini_get('upload_max_filesize')));
 $tmpl->printPage();
 
 ?>
index 49742a98136e7ba25fff48ef9acfb100cceee46a..40113c9fe0cc0c5926554d58cad7f4b253229d3f 100644 (file)
@@ -8,7 +8,7 @@ href="" title="" class="delete">Delete</a>
        <div id="file_upload_form">
                <form action="ajax/upload.php"
 method="post" enctype="multipart/form-data" target="file_upload_target"><input
-type="hidden" name="MAX_FILE_SIZE" value="2097152" id="max_upload"><input
+type="hidden" name="MAX_FILE_SIZE" value="<?php echo $_["uploadMaxFilesize"] ?>" id="max_upload"><input
 type="hidden" name="dir" value="<?php echo $_["dir"] ?>" id="dir"><input
 type="file" name="file" id="fileSelector"><input type="submit"
 id="file_upload_start" value="Upload" /><iframe id="file_upload_target"
index 7c7fe2757e7d94355fc420c5c8a1c7618d6d5f87..ff16d5894b859095f5e1047e6c306a80197350a1 100644 (file)
@@ -118,6 +118,43 @@ class OC_HELPER {
                return "$bytes GB";
        }
        
+       /**
+        * @brief Make a computer file size
+        * @param $str file size in a fancy format
+        * @returns a file size in bytes
+        *
+        * Makes 2kB to 2048.
+        *
+        * Inspired by: http://www.php.net/manual/en/function.filesize.php#92418
+        */
+       public static function computerFileSize( $str ){
+               $bytes = 0;
+
+               $bytes_array = array(
+                       'B' => 1,
+                       'K' => 1024,
+                       'KB' => 1024,
+                       'MB' => 1024 * 1024,
+                       'M'  => 1024 * 1024,
+                       'GB' => 1024 * 1024 * 1024,
+                       'G'  => 1024 * 1024 * 1024,
+                       'TB' => 1024 * 1024 * 1024 * 1024,
+                       'T'  => 1024 * 1024 * 1024 * 1024,
+                       'PB' => 1024 * 1024 * 1024 * 1024 * 1024,
+                       'P'  => 1024 * 1024 * 1024 * 1024 * 1024,
+               );
+
+               $bytes = floatval($str);
+
+               if (preg_match('#([KMGTP]?B?)$#si', $str, $matches) && !empty($bytes_array[$matches[1]])) {
+                       $bytes *= $bytes_array[$matches[1]];
+               }
+
+               $bytes = intval(round($bytes, 2));
+
+               return $bytes; 
+       }
+       
        /**
         * @brief Recusive editing of file permissions
         * @param $path path to file or folder