X-Git-Url: https://jfr.im/git/uguu.git/blobdiff_plain/2f98035ac108db6733365c5f54236e0cb55ac69e..7bc98e88525b25f26b53a77921159a36343d1d65:/includes/core.php diff --git a/includes/core.php b/includes/core.php index 04303eb..5aca11b 100644 --- a/includes/core.php +++ b/includes/core.php @@ -9,14 +9,7 @@ function save_file ($file, $name, $arg, $type){ case 'random': $ext = pathinfo($file.$name, PATHINFO_EXTENSION); $ext = strtolower($ext); - if(in_array($ext, unserialize(CONFIG_BLOCKED_EXTENSIONS))){ - if($type==='normal'){ - include_once(CONFIG_ROOT_PATH.'error_meow.php'); - exit(0); - }else{ - exit('File type not allowed.'); - } - } + verify_extension($ext, $type); $file_name = gen_name('random', $ext); while(file_exists(CONFIG_FILES_PATH.$file_name)){ $file_name = gen_name('random', $ext); @@ -28,14 +21,7 @@ function save_file ($file, $name, $arg, $type){ $file_name = gen_name('custom_original', $name); $ext = pathinfo($file_name, PATHINFO_EXTENSION); $ext = strtolower($ext); - if(in_array($ext, unserialize(CONFIG_BLOCKED_EXTENSIONS))){ - if($type==='normal'){ - include_once(CONFIG_ROOT_PATH.'error_meow.php'); - exit(0); - }else{ - exit('File type not allowed.'); - } - } + verify_extension($ext, $type); while(file_exists(CONFIG_FILES_PATH.$file_name)){ $file_name = gen_name('custom_original', $name); } @@ -46,7 +32,11 @@ function save_file ($file, $name, $arg, $type){ //Check if html or plain text should be returned if($type==='tool'){ //Return url+filename to the user (plain text) + if(CONFIG_SUBUPLOAD_URL_ENABLED == "true"){ + echo CONFIG_SUBUPLOAD_URL.'/'.urlencode($file_name); + }else{ echo CONFIG_ROOT_URL.'/files/'.urlencode($file_name); + } exit(0); }elseif($type==='normal'){ //Return url+filename to the user (HTML) @@ -72,3 +62,21 @@ function gen_name($arg, $in){ break; } } + +//Verify that the extension is allowed +function verify_extension($ext, $type){ + if(CONFIG_EXTENSION_BLOCKING_MODE === "WHITELIST") { + $allowed = in_array($ext, unserialize(CONFIG_ALLOWED_EXTENSIONS)); + }else{ + $allowed = !in_array($ext, unserialize(CONFIG_BLOCKED_EXTENSIONS)); + } + + if(!$allowed){ + if($type==='normal'){ + include_once(CONFIG_ROOT_PATH.'error_meow.php'); + exit(0); + }else{ + exit('File type not allowed.'); + } + } +}