diff --git a/airtime_mvc/application/common/AutoPlaylistManager.php b/airtime_mvc/application/common/AutoPlaylistManager.php index 36e97b20d..eefc6377f 100644 --- a/airtime_mvc/application/common/AutoPlaylistManager.php +++ b/airtime_mvc/application/common/AutoPlaylistManager.php @@ -18,53 +18,23 @@ class AutoPlaylistManager { return empty($lastPolled) || (microtime(true) > $lastPolled + self::$_AUTOPLAYLIST_POLL_INTERVAL_SECONDS); } - /* - * This function is copied from the TestUser class and is used to instantiate a user so that - * the Scheduler model can be utilized by buildAutoPlaylist. - * Not sure if this is the best strategy but it works. - */ - public static function loginUser() - { - $authAdapter = Application_Model_Auth::getAuthAdapter(); - - //pass to the adapter the submitted username and password - $authAdapter->setIdentity('admin') - ->setCredential('admin'); - - $auth = Zend_Auth::getInstance(); - $result = $auth->authenticate($authAdapter); - if ($result->isValid()) { - //all info about this user from the login table omit only the password - $userInfo = $authAdapter->getResultRowObject(null, 'password'); - - //the default storage is a session with namespace Zend_Auth - $authStorage = $auth->getStorage(); - $authStorage->write($userInfo); - } - } - /** * Find all shows with autoplaylists who have yet to have their playlists built and added to the schedule * */ public static function buildAutoPlaylist() { - // Starting a session so that the User can be created - Zend_Session::start(); - static::loginUser(); - Logging::info("Checking to run Auto Playlist"); + Logging::info("Checking to run Auto Playlist"); $autoPlaylists = static::_upcomingAutoPlaylistShows(); - foreach ($autoPlaylists as $autoplaylist) { - // creates a ShowInstance object to build the playlist in from the ShowInstancesQuery Object - $si = new Application_Model_ShowInstance($autoplaylist->getDbId()); - $playlistid = $si->GetAutoPlaylistId(); + foreach ($autoPlaylists as $autoplaylist) { + // creates a ShowInstance object to build the playlist in from the ShowInstancesQuery Object + $si = new Application_Model_ShowInstance($autoplaylist->getDbId()); + $playlistid = $si->GetAutoPlaylistId(); Logging::info("Scheduling $playlistid"); // call the addPlaylist to show function and don't check for user permission to avoid call to non-existant user object $si->addPlaylistToShow($playlistid, false); $si->setAutoPlaylistBuilt(true); - - } + } Application_Model_Preference::setAutoPlaylistPollLock(microtime(true)); - Zend_Session::stop(); } /** diff --git a/airtime_mvc/application/models/Scheduler.php b/airtime_mvc/application/models/Scheduler.php index f3f0c508c..cf542dce5 100644 --- a/airtime_mvc/application/models/Scheduler.php +++ b/airtime_mvc/application/models/Scheduler.php @@ -1,6 +1,6 @@ con = Propel::getConnection(CcSchedulePeer::DATABASE_NAME); @@ -40,7 +40,11 @@ class Application_Model_Scheduler $this->nowDT = DateTime::createFromFormat("U", time(), new DateTimeZone("UTC")); } - $this->user = Application_Model_User::getCurrentUser(); + $this->setCheckUserPermissions($checkUserPermissions); + + if ($this->checkUserPermissions) { + $this->user = Application_Model_User::getCurrentUser(); + } $this->crossfadeDuration = Application_Model_Preference::GetDefaultCrossfadeDuration(); } @@ -76,7 +80,7 @@ class Application_Model_Scheduler } /* - * make sure any incoming requests for scheduling are ligit. + * make sure any incoming requests for scheduling are legit. * * @param array $items, an array containing pks of cc_schedule items. */ diff --git a/airtime_mvc/application/models/ShowInstance.php b/airtime_mvc/application/models/ShowInstance.php index bbccd538d..a87d53951 100644 --- a/airtime_mvc/application/models/ShowInstance.php +++ b/airtime_mvc/application/models/ShowInstance.php @@ -229,7 +229,7 @@ SQL; $ts = intval($this->_showInstance->getDbLastScheduled("U")) ? : 0; $id = $this->_showInstance->getDbId(); - $scheduler = new Application_Model_Scheduler(); + $scheduler = new Application_Model_Scheduler($checkUserPerm); $scheduler->scheduleAfter( array(array("id" => 0, "instance" => $id, "timestamp" => $ts)), array(array("id" => $pl_id, "type" => "playlist"))