diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index 54840cae6..49d38cba2 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -561,7 +561,7 @@ class ApiController extends Zend_Controller_Action $request = $this->getRequest(); $api_key = $request->getParam('api_key'); - $path = base64_decode($request->getParam('path')); + $path = realpath(base64_decode($request->getParam('path')))."/"; if (!in_array($api_key, $CC_CONFIG["apiKey"])) { @@ -578,7 +578,7 @@ class ApiController extends Zend_Controller_Action $request = $this->getRequest(); $api_key = $request->getParam('api_key'); - $path = base64_decode($request->getParam('path')); + $path = realpath(base64_decode($request->getParam('path')))."/"; if (!in_array($api_key, $CC_CONFIG["apiKey"])) { @@ -595,7 +595,7 @@ class ApiController extends Zend_Controller_Action $request = $this->getRequest(); $api_key = $request->getParam('api_key'); - $path = base64_decode($request->getParam('path')); + $path = realpath(base64_decode($request->getParam('path')))."/"; if (!in_array($api_key, $CC_CONFIG["apiKey"])) { diff --git a/airtime_mvc/application/models/MusicDir.php b/airtime_mvc/application/models/MusicDir.php index 8ceac2be8..337547ae8 100644 --- a/airtime_mvc/application/models/MusicDir.php +++ b/airtime_mvc/application/models/MusicDir.php @@ -157,15 +157,13 @@ class MusicDir { public static function splitFilePath($p_filepath) { $mus_dir = self::getWatchedDirFromFilepath($p_filepath); + if(is_null($mus_dir)) { return null; } $length_dir = strlen($mus_dir->getDirectory()); - $length_filepath = strlen($p_filepath); - $length = $length_filepath - $length_dir; - - $fp = substr($p_filepath, $length_dir+1, $length); + $fp = substr($p_filepath, $length_dir); return array($mus_dir->getDirectory(), $fp); } diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index 3c6bdfa7f..2f6870d37 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -417,7 +417,7 @@ class StoredFile { $music_dir = MusicDir::getDirByPK($this->_file->getDbDirectory()); $filepath = $this->_file->getDbFilepath(); - return $music_dir->getDirectory()."/".$filepath; + return $music_dir->getDirectory().$filepath; } /** diff --git a/install/include/airtime-db-install.php b/install/include/airtime-db-install.php index f1abf02c1..7f008b1fe 100644 --- a/install/include/airtime-db-install.php +++ b/install/include/airtime-db-install.php @@ -53,7 +53,7 @@ if (AirtimeInstall::$databaseTablesCreated) { $ini = parse_ini_file(__DIR__."/airtime-install.ini"); - $stor_dir = $ini["storage_dir"]; + $stor_dir = realpath($ini["storage_dir"])."/"; echo "* Inserting stor directory location $stor_dir into music_dirs table".PHP_EOL; $sql = "INSERT INTO cc_music_dirs (directory, type) VALUES ('$stor_dir', 'stor')"; diff --git a/install/include/airtime-install.ini b/install/include/airtime-install.ini index 7ea43d9a5..01d938f3a 100644 --- a/install/include/airtime-install.ini +++ b/install/include/airtime-install.ini @@ -1 +1 @@ -storage_dir = /srv/airtime/stor +storage_dir = /srv/airtime/stor/