From 04e81df67c9079694108bf7e4155bb8e48d14ad4 Mon Sep 17 00:00:00 2001 From: naomiaro Date: Wed, 22 Sep 2010 10:43:23 -0400 Subject: [PATCH] playlists appear in scratchpad, can close, reopen for edit. --- src/modules/htmlUI/var/html/ui_handler.php | 4 +-- src/modules/htmlUI/var/ui_base.inc.php | 30 +++++++------------ src/modules/htmlUI/var/ui_playlist.class.php | 10 ++++++- .../htmlUI/var/ui_scratchpad.class.php | 13 ++++++-- 4 files changed, 32 insertions(+), 25 deletions(-) diff --git a/src/modules/htmlUI/var/html/ui_handler.php b/src/modules/htmlUI/var/html/ui_handler.php index 98c9a1cde..37b46e35d 100644 --- a/src/modules/htmlUI/var/html/ui_handler.php +++ b/src/modules/htmlUI/var/html/ui_handler.php @@ -295,7 +295,7 @@ switch ($_REQUEST['act']) { case "PL.activate": if ($uiHandler->PLAYLIST->activate($_REQUEST['id']) === TRUE) { - $uiHandler->SCRATCHPAD->addItem($_REQUEST['id']); + $uiHandler->SCRATCHPAD->addItem($_REQUEST['id'], TRUE); } $uiHandler->PLAYLIST->setRedirect(); break; @@ -306,7 +306,7 @@ switch ($_REQUEST['act']) { if ($ids) { //$uiHandler->SCRATCHPAD->addItem($ids); } - //$uiHandler->SCRATCHPAD->addItem($ui_tmpid); + $uiHandler->SCRATCHPAD->addItem($ui_tmpid, TRUE); } $uiHandler->PLAYLIST->setRedirect('_2PL.editMetaData'); break; diff --git a/src/modules/htmlUI/var/ui_base.inc.php b/src/modules/htmlUI/var/ui_base.inc.php index c5fbaa53a..8f2cb09f6 100644 --- a/src/modules/htmlUI/var/ui_base.inc.php +++ b/src/modules/htmlUI/var/ui_base.inc.php @@ -527,27 +527,21 @@ class uiBase } // fn _retMsg + public function getPLMetaInfo($id) + { + $data = array('id' => $id, + 'title' => $this->gb->getPLMetadataValue($id, UI_MDATA_KEY_TITLE), + 'creator' => $this->gb->getPLMetadataValue($id, UI_MDATA_KEY_CREATOR), + 'duration' => $this->gb->getPLMetadataValue($id, UI_MDATA_KEY_DURATION), + 'type' => 'playlist', + ); + return ($data); + } + public function getMetaInfo($id) { $type = strtolower(GreenBox::getFileType($id)); - if($type == 'playlist') { - require_once("../../../storageServer/var/Playlist.php"); - - $playList = new Playlist(GreenBox::GunidFromId($id)); - $playListData = $playList->export(); - - for ($i = 1; $i < count($playListData); $i++) { - - $entry = StoredFile::RecallByGunid($playListData["".$i]["gunid"]); - $playListEntries[] = $entry->getName(); - - } - - $_SESSION['mdata'] = $playListEntries; - - } - $data = array('id' => $id, 'gunid' => BasicStor::GunidFromId($id), 'title' => $this->getMetadataValue($id, UI_MDATA_KEY_TITLE), @@ -557,8 +551,6 @@ class uiBase 'source' => $type == 'audioclip' ? $this->getMetadataValue($id, UI_MDATA_KEY_SOURCE) : NULL, 'bitRate' => $type == 'audioclip' ? $this->getMetadataValue($id, UI_MDATA_KEY_BITRATE) : NULL, 'sampleRate' => $type == 'audioclip' ? $this->getMetadataValue($id, UI_MDATA_KEY_SAMPLERATE) : NULL, - //'isAvailable' => $type == 'playlist' ? $this->gb->playlistIsAvailable($id, $this->sessid) : NULL, - 'content' => $type == 'playlist' ? join("/", $playListEntries) : NULL, ); return ($data); } // fn getMetaInfo diff --git a/src/modules/htmlUI/var/ui_playlist.class.php b/src/modules/htmlUI/var/ui_playlist.class.php index e1de0f5c8..eea927d09 100644 --- a/src/modules/htmlUI/var/ui_playlist.class.php +++ b/src/modules/htmlUI/var/ui_playlist.class.php @@ -224,6 +224,9 @@ class uiPlaylist return FALSE; } } + + $this->Base->SCRATCHPAD->reloadMetadata(); + return TRUE; } // fn addItem @@ -249,6 +252,9 @@ class uiPlaylist return FALSE; } } + + $this->Base->SCRATCHPAD->reloadMetadata(); + return TRUE; } // fn removeItem @@ -656,7 +662,9 @@ class uiPlaylist } if (UI_VERBOSE) { $this->Base->_retMsg('Metadata saved.'); - } + } + + $this->Base->SCRATCHPAD->reloadMetadata(); } // fn editMetadata diff --git a/src/modules/htmlUI/var/ui_scratchpad.class.php b/src/modules/htmlUI/var/ui_scratchpad.class.php index 58d2984f5..cc55d6b22 100644 --- a/src/modules/htmlUI/var/ui_scratchpad.class.php +++ b/src/modules/htmlUI/var/ui_scratchpad.class.php @@ -113,7 +113,7 @@ class uiScratchPad * One or more media IDs. * @return boolean */ - public function addItem($ids) + public function addItem($ids, $playlist=FALSE) { if (!$this->Base->STATIONPREFS[UI_SCRATCHPAD_MAXLENGTH_KEY]) { if (UI_WARNING) { @@ -133,7 +133,10 @@ class uiScratchPad $scratchpad = $this->get(); foreach ($ids as $id) { - $item = $this->Base->getMetaInfo($id); + if($playlist === FALSE) + $item = $this->Base->getMetaInfo($id); + else + $item = $this->Base->getPLMetaInfo($id); foreach ($scratchpad as $key => $val) { if ($val['id'] == $item['id']) { @@ -238,8 +241,12 @@ class uiScratchPad */ public function reloadMetadata() { + $_SESSION['pl'] = $this->items; foreach ($this->items as $key => $val) { - $this->items[$key] = $this->Base->getMetaInfo($val['id']); + if($val['type'] === 'playlist') + $this->items[$key] = $this->Base->getPLMetaInfo($val['id']); + else + $this->items[$key] = $this->Base->getMetaInfo($val['id']); } } } // class uiScratchPad