]> jfr.im git - uguu.git/commitdiff
Update Upload.class.php
authornokonoko <redacted>
Sat, 29 Jan 2022 20:00:53 +0000 (21:00 +0100)
committernokonoko <redacted>
Sat, 29 Jan 2022 20:00:53 +0000 (21:00 +0100)
static/php/includes/Upload.class.php

index 4318eea33b29b00a9ffa057d98330f1956cff531..7de2e1dd7cae7d89a5b5285e4ca522b2286d4842 100644 (file)
@@ -80,7 +80,9 @@ class Upload
 
         if (Settings::$FILTER_MODE) {
             self::checkMimeBlacklist();
-            self::checkExtensionBlacklist();
+            if(!is_null(self::$FILE_EXTENSION)){
+                self::checkExtensionBlacklist();
+            }
         }
 
         if (Settings::$ANTI_DUPE) {
@@ -140,8 +142,13 @@ class Upload
             finfo_close($finfo);
 
             $extension = explode('.', self::$FILE_NAME);
-            self::$FILE_EXTENSION = $extension[count($extension)-2].'.'.$extension[count($extension)-1];
-
+            if(substr_count(self::$FILE_NAME, '.') === 0) {
+                self::$FILE_EXTENSION = null;
+            } elseif(substr_count(self::$FILE_NAME, '.') > 1) {
+                self::$FILE_EXTENSION = $extension[count($extension)-2].'.'.$extension[count($extension)-1];
+            } else {
+                self::$FILE_EXTENSION = $extension[count($extension)-1];
+            }
 
             if (Settings::$LOG_IP) {
                 self::getIP();
@@ -189,10 +196,12 @@ class Upload
                 self::$NEW_NAME .= Settings::$ID_CHARSET[mt_rand(0, strlen(Settings::$ID_CHARSET))];
             }
 
-            if (isset(self::$FILE_EXTENSION)) {
-                self::$NEW_NAME_FULL = self::$NEW_NAME;
+            self::$NEW_NAME_FULL = self::$NEW_NAME;
+
+            if (!is_null(self::$FILE_EXTENSION)) {
                 self::$NEW_NAME_FULL .= '.' . self::$FILE_EXTENSION;
             }
+
         } while (Database::dbCheckNameExists() > 0);
     }
 }
\ No newline at end of file