diff --git a/class/Downloader.php b/class/Downloader.php index 1a0bb79..b070222 100644 --- a/class/Downloader.php +++ b/class/Downloader.php @@ -1,4 +1,5 @@ config = require dirname(__DIR__).'/config/config.php'; - - //this allows to use absolute paths - if(strpos($this->config["outputFolder"], "/") === 0) - { - $this->download_path = $this->config["outputFolder"]; - } - else - { - $this->download_path = dirname(__DIR__).'/'.$this->config["outputFolder"]; - } + + $this->download_path = (new FileHandler())->get_downloads_folder(); $this->audio_only = $audio_only; $this->urls = explode(",", $post); @@ -118,7 +111,7 @@ class Downloader } $config = require dirname(__DIR__).'/config/config.php'; - $folder = dirname(__DIR__).'/'.$config["outputFolder"].'/'; + $folder = $this->download_path; foreach(glob($folder.'*.part') as $file) { @@ -192,7 +185,7 @@ class Downloader private function do_download() { $cmd = "youtube-dl"; - $cmd .= " -o ".$this->config["outputFolder"]."/"; + $cmd .= " -o ".$this->download_path."/"; $cmd .= escapeshellarg("%(title)s-%(uploader)s.%(ext)s"); if($this->audio_only) diff --git a/class/FileHandler.php b/class/FileHandler.php index 6156afc..756be2b 100644 --- a/class/FileHandler.php +++ b/class/FileHandler.php @@ -18,7 +18,7 @@ class FileHandler if(!$this->outuput_folder_exists()) return; - $folder = dirname(__DIR__).'/'.$this->config["outputFolder"].'/'; + $folder = $this->get_downloads_folder().'/'; foreach(glob($folder.'*'.$this->videos_ext, GLOB_BRACE) as $file) { @@ -39,7 +39,7 @@ class FileHandler if(!$this->outuput_folder_exists()) return; - $folder = dirname(__DIR__).'/'.$this->config["outputFolder"].'/'; + $folder = $this->get_downloads_folder().'/'; foreach(glob($folder.'*'.$this->musics_ext, GLOB_BRACE) as $file) { @@ -55,7 +55,7 @@ class FileHandler public function delete($id, $type) { - $folder = dirname(__DIR__).'/'.$this->config["outputFolder"].'/'; + $folder = $this->get_downloads_folder().'/'; $i = 0; if($type === 'v') @@ -83,10 +83,10 @@ class FileHandler private function outuput_folder_exists() { - if(!is_dir($this->config['outputFolder'])) + if(!is_dir($this->get_downloads_folder())) { //Folder doesn't exist - if(!mkdir('./'.$this->config['outputFolder'], 0777)) + if(!mkdir($this->get_downloads_folder(),0777)) { return false; //No folder and creation failed } @@ -104,12 +104,17 @@ class FileHandler public function free_space() { - return $this->to_human_filesize(disk_free_space($this->config["outputFolder"])); + return $this->to_human_filesize(disk_free_space($this->get_downloads_folder())); } public function get_downloads_folder() { - return $this->config["outputFolder"]; + $path = $this->config["outputFolder"]; + if(strpos($path , "/") !== 0) + { + $path = dirname(__DIR__).'/' . $path; + } + return $path; } }