intro playlist scaffolding in place but needs refinement to get working
This commit is contained in:
parent
ae9f95c758
commit
f9a5da2ba3
|
@ -33,12 +33,18 @@ class AutoPlaylistManager {
|
||||||
// call the addPlaylist to show function and don't check for user permission to avoid call to non-existant user object
|
// call the addPlaylist to show function and don't check for user permission to avoid call to non-existant user object
|
||||||
$sid = $si->getShowId();
|
$sid = $si->getShowId();
|
||||||
$playlistrepeat = new Application_Model_Show($sid);
|
$playlistrepeat = new Application_Model_Show($sid);
|
||||||
|
$introplaylistid = Application_Model_Preference::GetIntroPlaylist();
|
||||||
|
Logging::info("intro");
|
||||||
|
Logging::info($introplaylistid);
|
||||||
|
Logging::info($playlistid);
|
||||||
|
Logging::info("outro");
|
||||||
|
$outroplaylistid = Application_Model_Preference::GetOutroPlaylist();
|
||||||
|
Logging::info($outroplaylistid);
|
||||||
|
|
||||||
if ($playlistrepeat->getAutoPlaylistRepeat()) {
|
if ($playlistrepeat->getAutoPlaylistRepeat()) {
|
||||||
$full = false;
|
$full = false;
|
||||||
while(!$full) {
|
while(!$full) {
|
||||||
$si = new Application_Model_ShowInstance($autoplaylist->getDbId());
|
$si = new Application_Model_ShowInstance($autoplaylist->getDbId());
|
||||||
$si->addPlaylistToShow($playlistid, false);
|
|
||||||
$ps = $si->getPercentScheduled();
|
$ps = $si->getPercentScheduled();
|
||||||
//Logging::info("The total percent scheduled is % $ps");
|
//Logging::info("The total percent scheduled is % $ps");
|
||||||
if ($ps > 100) {
|
if ($ps > 100) {
|
||||||
|
@ -49,6 +55,12 @@ class AutoPlaylistManager {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$si->addPlaylistToShow($playlistid, false);
|
$si->addPlaylistToShow($playlistid, false);
|
||||||
|
if ($introplaylistid != null) {
|
||||||
|
$si->addPlaylistToShowStart($introplaylistid, false);
|
||||||
|
}
|
||||||
|
if ($outroplaylistid != null) {
|
||||||
|
$si->addPlaylistToShow($outroplaylistid, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$si->setAutoPlaylistBuilt(true);
|
$si->setAutoPlaylistBuilt(true);
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,8 @@ class PreferenceController extends Zend_Controller_Action
|
||||||
Application_Model_Preference::SetDefaultFadeOut($values["stationDefaultFadeOut"]);
|
Application_Model_Preference::SetDefaultFadeOut($values["stationDefaultFadeOut"]);
|
||||||
Application_Model_Preference::SetPodcastAlbumOverride($values["podcastAlbumOverride"]);
|
Application_Model_Preference::SetPodcastAlbumOverride($values["podcastAlbumOverride"]);
|
||||||
Application_Model_Preference::SetPodcastAutoSmartblock($values["podcastAutoSmartblock"]);
|
Application_Model_Preference::SetPodcastAutoSmartblock($values["podcastAutoSmartblock"]);
|
||||||
|
Application_Model_Preference::SetIntroPlaylist($values["introPlaylistSelect"]);
|
||||||
|
Application_Model_Preference::SetOutroPlaylist($values["outroPlaylistSelect"]);
|
||||||
Application_Model_Preference::SetAllow3rdPartyApi($values["thirdPartyApi"]);
|
Application_Model_Preference::SetAllow3rdPartyApi($values["thirdPartyApi"]);
|
||||||
Application_Model_Preference::SetAllowedCorsUrls($values["allowedCorsUrls"]);
|
Application_Model_Preference::SetAllowedCorsUrls($values["allowedCorsUrls"]);
|
||||||
Application_Model_Preference::SetDefaultLocale($values["locale"]);
|
Application_Model_Preference::SetDefaultLocale($values["locale"]);
|
||||||
|
|
|
@ -105,13 +105,13 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm
|
||||||
$introPlaylistSelect = new Zend_Form_Element_Select("introPlaylistSelect");
|
$introPlaylistSelect = new Zend_Form_Element_Select("introPlaylistSelect");
|
||||||
$introPlaylistSelect->setLabel(_("Intro Autoloading Playlist"));
|
$introPlaylistSelect->setLabel(_("Intro Autoloading Playlist"));
|
||||||
$introPlaylistSelect->setMultiOptions(Application_Model_Library::getPlaylistNames(true));
|
$introPlaylistSelect->setMultiOptions(Application_Model_Library::getPlaylistNames(true));
|
||||||
$introPlaylistSelect->setValue(null);
|
$introPlaylistSelect->setValue(Application_Model_Preference::GetIntroPlaylist());
|
||||||
$this->addElement($introPlaylistSelect);
|
$this->addElement($introPlaylistSelect);
|
||||||
|
|
||||||
$outroPlaylistSelect = new Zend_Form_Element_Select("outroPlaylistSelect");
|
$outroPlaylistSelect = new Zend_Form_Element_Select("outroPlaylistSelect");
|
||||||
$outroPlaylistSelect->setLabel(_("Outro Autoloading Playlist"));
|
$outroPlaylistSelect->setLabel(_("Outro Autoloading Playlist"));
|
||||||
$outroPlaylistSelect->setMultiOptions(Application_Model_Library::getPlaylistNames(true));
|
$outroPlaylistSelect->setMultiOptions(Application_Model_Library::getPlaylistNames(true));
|
||||||
$outroPlaylistSelect->setValue(null);
|
$outroPlaylistSelect->setValue(Application_Model_Preference::GetOutroPlaylist());
|
||||||
$this->addElement($outroPlaylistSelect);
|
$this->addElement($outroPlaylistSelect);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -387,6 +387,26 @@ class Application_Model_Preference
|
||||||
return $val === '1' ? true : false;
|
return $val === '1' ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function GetIntroPlaylist()
|
||||||
|
{
|
||||||
|
return self::getValue("intro_playlist");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function GetOutroPlaylist()
|
||||||
|
{
|
||||||
|
return self::getValue("outro_playlist");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static function SetIntroPlaylist($playlist)
|
||||||
|
{
|
||||||
|
self::setValue("intro_playlist", $playlist);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function SetOutroPlaylist($playlist)
|
||||||
|
{
|
||||||
|
self::setValue("outro_playlist", $playlist);
|
||||||
|
}
|
||||||
|
|
||||||
public static function SetPhone($phone)
|
public static function SetPhone($phone)
|
||||||
{
|
{
|
||||||
|
|
|
@ -244,7 +244,22 @@ SQL;
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a playlist as the first item of the current show.
|
||||||
|
*
|
||||||
|
* @param int $plId
|
||||||
|
* Playlist ID.
|
||||||
|
*/
|
||||||
|
public function addPlaylistToShowStart($pl_id, $checkUserPerm = true)
|
||||||
|
{
|
||||||
|
$ts = intval($this->_showInstance->getDbLastScheduled("U")) ? : 0;
|
||||||
|
$id = $this->_showInstance->getDbId();
|
||||||
|
$scheduler = new Application_Model_Scheduler($checkUserPerm);
|
||||||
|
$scheduler->scheduleAfter(
|
||||||
|
array(array("id" => 0, "instance" => $id, "timestamp" => $ts)),
|
||||||
|
array(array("id" => $pl_id, "type" => "playlist"))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue