From 40734ef711643d37f9c1abe134aaec98892c20d8 Mon Sep 17 00:00:00 2001
From: Shish <shish@shishnet.org>
Date: Sun, 7 Dec 2014 13:54:47 +0000
Subject: [PATCH] turn MIN_FREE_SPACE into a userspace config option

---
 core/sys_config.inc.php |  1 -
 ext/upload/main.php     | 17 ++++++++++-------
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/core/sys_config.inc.php b/core/sys_config.inc.php
index 449462a8..c33f3414 100644
--- a/core/sys_config.inc.php
+++ b/core/sys_config.inc.php
@@ -35,7 +35,6 @@ _d("NICE_URLS", false);      // boolean  force niceurl mode
 _d("WH_SPLITS", 1);          // int      how many levels of subfolders to put in the warehouse
 _d("VERSION", '2.5.2+');     // string   shimmie version
 _d("TIMEZONE", null);        // string   timezone
-_d("MIN_FREE_SPACE",100*1024*1024); // int      disable uploading if there's less than MIN_FREE_SPACE bytes free space
 _d("CORE_EXTS", "bbcode,user,mail,upload,image,view,handle_pixel,ext_manager,setup,upgrade,handle_404,comment,tag_list,index,tag_edit,alias_editor"); // extensions to always enable
 _d("EXTRA_EXTS", "");        // optional extra extensions
 
diff --git a/ext/upload/main.php b/ext/upload/main.php
index 61f76bd4..f0166008 100644
--- a/ext/upload/main.php
+++ b/ext/upload/main.php
@@ -65,15 +65,18 @@ class Upload extends Extension {
 		global $config;
 		$config->set_default_int('upload_count', 3);
 		$config->set_default_int('upload_size', '1MB');
+		$config->set_default_int('upload_min_free_space', '100MB');
 		$config->set_default_bool('upload_tlsource', TRUE);
 
-		// SHIT: fucking PHP "security" measures -_-;;;
-		$free_num = @disk_free_space(realpath("./images/"));
-		if($free_num === FALSE) {
-			$this->is_full = false;
-		}
-		else {
-			$this->is_full = $free_num < MIN_FREE_SPACE;
+		$this->is_full = false;
+
+		$min_free_space = $config->get_int("upload_min_free_space");
+		if($min_free_space > 0) {
+			// SHIT: fucking PHP "security" measures -_-;;;
+			$free_num = @disk_free_space(realpath("./images/"));
+			if($free_num !== FALSE) {
+				$this->is_full = $free_num < $min_free_space;
+			}
 		}
 	}