diff --git a/README.md b/README.md index a4b66ef..d28ba8c 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Table of contents ### Config options - [x] ALT_FOLDER -- [x] URL +- [x] URL (instead of FORCE_DOMAIN but mandatory) - [x] LOG_UPLOADER - [x] FFMPEG_BINARY - [x] PNG_COMPRESSION @@ -47,6 +47,12 @@ Table of contents - [x] MASTER_DELETE_CODE - [x] MASTER_DELETE_IP - [ ] UPLOAD_CODE +- [ ] UPLOAD_FORM_LOCATION +- [ ] LOW_PROFILE +- [ ] IMAGE_CHANGE_CODE +- [ ] MAX_RESIZED_IMAGES +- [ ] ALLOW_BLOATING +- [ ] BACKBLAZE ### Image hosting - [X] Resizing diff --git a/content-controllers/image/image.controller.php b/content-controllers/image/image.controller.php index 2ea0b0c..d1c3351 100644 --- a/content-controllers/image/image.controller.php +++ b/content-controllers/image/image.controller.php @@ -11,7 +11,7 @@ class ImageController implements ContentController { //returns all extensions registered by this type of content - public function getRegisteredExtensions(){return array('png','bmp','gif','jpg','jpeg','x-png','ico','webp');} + public function getRegisteredExtensions(){return array('png','bmp','gif','jpg','jpeg','x-png','webp');} public function handleUpload($tmpfile,$hash=false) { diff --git a/content-controllers/video/video.controller.php b/content-controllers/video/video.controller.php index 3555c23..297a882 100644 --- a/content-controllers/video/video.controller.php +++ b/content-controllers/video/video.controller.php @@ -3,7 +3,7 @@ class VideoController implements ContentController { //returns all extensions registered by this type of content - public function getRegisteredExtensions(){return array('mp4','ogg','webm');} + public function getRegisteredExtensions(){return array('mp4');} public function handleHash($hash,$url) { diff --git a/inc/core.php b/inc/core.php index 5a6aa4b..129ef28 100644 --- a/inc/core.php +++ b/inc/core.php @@ -405,6 +405,37 @@ function getStorageControllers() return $controllers; } +function getAllContentControllers() +{ + $controllers = array(); + if ($handle = opendir(ROOT.DS.'content-controllers')) { + while (false !== ($entry = readdir($handle))) { + if ($entry != "." && $entry != "..") { + if(is_dir(ROOT.DS.'content-controllers'.DS.$entry) && file_exists(ROOT.DS.'content-controllers'.DS.$entry.DS."$entry.controller.php")) + { + $controllers[] = ucfirst($entry).'Controller'; + include_once(ROOT.DS.'content-controllers'.DS.$entry.DS."$entry.controller.php"); + } + } + } + closedir($handle); + } + + return $controllers; +} + +function getAllContentFiletypes() +{ + $types = array(); + $controllers = getAllContentControllers(true); + foreach($controllers as $c) + { + $types = array_merge($types,(new $c)->getRegisteredExtensions()); + } + + return $types; +} + function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); diff --git a/templates/main.html b/templates/main.html index 9615eb0..0ddd6d5 100644 --- a/templates/main.html +++ b/templates/main.html @@ -37,12 +37,14 @@
-

- +

+ "; + echo "Allowed file types: ". implode(', ',getAllContentFiletypes()); + ?> +