]> git.p6c8.net - jirafeau.git/blobdiff - lib/functions.php
[BUGFIX] Manage PHP configuration with "unlimited" upload
[jirafeau.git] / lib / functions.php
index 4dcf5de235f94cb35c5670c17a495c8e26d51c93..cfc7dce8250f58c1debeec5e23477d97dca71c74 100644 (file)
@@ -235,13 +235,23 @@ function jirafeau_get_max_upload_size()
  */
 function jirafeau_get_max_upload_chunk_size_bytes($max_upload_chunk_size_bytes = 0)
 {
-    if ($max_upload_chunk_size_bytes > 0) {
-        return min(
-            jirafeau_get_max_upload_size_bytes(),
-            $max_upload_chunk_size_bytes
-        );
+    if ($max_upload_chunk_size_bytes == 0) {
+        $size = jirafeau_get_max_upload_size_bytes();
+        // Jirafeau must choose an arbitrary number as PHP config does not give any limit nor $max_upload_chunk_size_bytes
+        if ($size == 0) {
+            return 10000000; // 10MB
+        }
+        return $size;
+    }
+
+    $size = min(
+        jirafeau_get_max_upload_size_bytes(),
+        $max_upload_chunk_size_bytes
+    );
+    if ($size == 0) {
+        return $max_upload_chunk_size_bytes;
     }
-    return jirafeau_get_max_upload_size_bytes();
+    return $size;
 }
 
 /**
@@ -579,13 +589,15 @@ function show_errors()
 
 function check_errors($cfg)
 {
-    if (file_exists(JIRAFEAU_ROOT . 'install.php')
-        && !($cfg['installation_done'] === true)) {
-        header('Location: install.php');
-        exit;
+    if (!($cfg['installation_done'] === true)) {
+        if (file_exists(JIRAFEAU_ROOT . 'install.php')) {
+            header('Location: install.php');
+            exit;
+        } else {
+            add_error(t('INSTALL_FILE_NOT_FOUND_TITLE'), t('INSTALL_FILE_NOT_FOUND_DESC'));
+        }
     }
 
-    /* Checking for errors. */
     if (!is_writable(VAR_FILES)) {
         add_error(t('FILE_DIR_W'), VAR_FILES);
     }
@@ -1560,5 +1572,5 @@ function jirafeau_add_ending_slash($path)
 
 function jirafeau_default_web_root()
 {
-    return $_SERVER['HTTP_HOST'] . str_replace(basename(__FILE__), '', $_SERVER['REQUEST_URI']);
+    return $_SERVER['HTTP_HOST'] . str_replace('install.php', '', $_SERVER['REQUEST_URI']);
 }

patrick-canterino.de