Example #1
0
 public function deleteAction()
 {
     //array containing id and type of media to delete.
     $mediaItems = $this->_getParam('media', null);
     $user = Application_Model_User::getCurrentUser();
     //$isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER));
     $files = array();
     $playlists = array();
     $blocks = array();
     $streams = array();
     $message = null;
     foreach ($mediaItems as $media) {
         if ($media["type"] === "audioclip") {
             $files[] = intval($media["id"]);
         } elseif ($media["type"] === "playlist") {
             $playlists[] = intval($media["id"]);
         } elseif ($media["type"] === "block") {
             $blocks[] = intval($media["id"]);
         } elseif ($media["type"] === "stream") {
             $streams[] = intval($media["id"]);
         }
     }
     try {
         Application_Model_Playlist::deletePlaylists($playlists, $user->getId());
     } catch (PlaylistNoPermissionException $e) {
         $this->view->message = "You don't have permission to delete selected items.";
         return;
     }
     try {
         Application_Model_Block::deleteBlocks($blocks, $user->getId());
     } catch (Exception $e) {
         //TODO: warn user that not all blocks could be deleted.
     }
     try {
         Application_Model_Webstream::deleteStreams($streams, $user->getId());
     } catch (Exception $e) {
         //TODO: warn user that not all streams could be deleted.
         Logging::info($e);
     }
     foreach ($files as $id) {
         $file = Application_Model_StoredFile::Recall($id);
         if (isset($file)) {
             try {
                 $res = $file->delete(true);
             } catch (Exception $e) {
                 //could throw a scheduled in future exception.
                 $message = "Could not delete some scheduled files.";
                 Logging::debug($e->getMessage());
             }
         }
     }
     if (isset($message)) {
         $this->view->message = $message;
     }
 }