MDL-35454 ignore invalid $custombytes in get_max_upload_sizes()
authorPetr Škoda <commits@skodak.org>
Sat, 15 Sep 2012 09:13:04 +0000 (11:13 +0200)
committerPetr Škoda <commits@skodak.org>
Sun, 16 Sep 2012 22:08:36 +0000 (00:08 +0200)
This fixes installation and phpunit init regression.

lib/moodlelib.php

index ce65499..388ded6 100644 (file)
@@ -5959,16 +5959,19 @@ function get_max_upload_sizes($sitebytes = 0, $coursebytes = 0, $modulebytes = 0
         return array();
     }
 
+    $filesize = array();
     $filesize[intval($maxsize)] = display_size($maxsize);
 
     $sizelist = array(10240, 51200, 102400, 512000, 1048576, 2097152,
                       5242880, 10485760, 20971520, 52428800, 104857600);
 
-    // If custombytes is given then add it to the list.
-    if (!is_null($custombytes)) {
-        if (is_number($custombytes)) {
-            $custombytes = array((int)$custombytes);
+    // If custombytes is given and is valid then add it to the list.
+    if (is_number($custombytes) and $custombytes > 0) {
+        $custombytes = (int)$custombytes;
+        if (!in_array($custombytes, $sizelist)) {
+            $sizelist[] = $custombytes;
         }
+    } else if (is_array($custombytes)) {
         $sizelist = array_unique(array_merge($sizelist, $custombytes));
     }