diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index 563319c86..79c80a238 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -403,7 +403,8 @@ SQL; Logging::info($_SERVER["HTTP_HOST"].": User ".$user->getLogin()." is deleting file: ".$this->_file->getDbTrackTitle()." - file id: ".$this->_file->getDbId()); // set hidden flag to true - $this->_file->setDbHidden(true); + //$this->_file->setDbHidden(true); + $this->_file->setDbFileExists(false); $this->_file->save(); // need to explicitly update any playlist's and block's length diff --git a/airtime_mvc/application/modules/rest/controllers/MediaController.php b/airtime_mvc/application/modules/rest/controllers/MediaController.php index 06382dd75..345ae6a05 100644 --- a/airtime_mvc/application/modules/rest/controllers/MediaController.php +++ b/airtime_mvc/application/modules/rest/controllers/MediaController.php @@ -215,6 +215,7 @@ class Rest_MediaController extends Zend_Rest_Controller $requestData = json_decode($this->getRequest()->getRawBody(), true); $whiteList = $this->removeBlacklistedFieldsFromRequestData($requestData); $whiteList = $this->stripTimeStampFromYearTag($whiteList); + $whiteList = $this->truncateGenreTag($whiteList); if (!$this->validateRequestData($file, $whiteList)) { $file->save(); @@ -495,6 +496,20 @@ class Rest_MediaController extends Zend_Rest_Controller } return $metadata; } - + + /** The genre tag in our cc_files schema is currently a varchar(64). It's possible for MP3 genre tags + * to be longer than that, so we have to truncate longer genres. (We've seen ridiculously long genre tags.) + * @param string array $metadata + */ + private function truncateGenreTag($metadata) + { + if (isset($metadata["genre"])) + { + if (strlen($metadata["genre"]) >= 64) { + $metadata["genre"] = substr($metadata["genre"], 0, 64); + } + } + return $metadata; + } }