From 14712d4d7833f4b28b77cf0b4459e1b63d4b8c79 Mon Sep 17 00:00:00 2001 From: denise Date: Thu, 19 Jul 2012 19:09:51 -0400 Subject: [PATCH] CC-84: Smart Playlists - fixed undefined index warnings --- airtime_mvc/application/models/Playlist.php | 58 +++++++++++---------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/airtime_mvc/application/models/Playlist.php b/airtime_mvc/application/models/Playlist.php index 4f9c6d764..003e2a6a0 100644 --- a/airtime_mvc/application/models/Playlist.php +++ b/airtime_mvc/application/models/Playlist.php @@ -1099,37 +1099,41 @@ class Application_Model_Playlist } $qry = CcFilesQuery::create(); - foreach ($storedCrit["crit"] as $criteria) { - $spCriteriaPhpName = self::$criteria2PeerMap[$criteria['criteria']]; - $spCriteria = $criteria['criteria']; - - $spCriteriaModifier = $criteria['modifier']; - $spCriteriaValue = $criteria['value']; - if ($spCriteriaModifier == "starts with") { - $spCriteriaValue = "$spCriteriaValue%"; - } else if ($spCriteriaModifier == "ends with") { - $spCriteriaValue = "%$spCriteriaValue"; - } else if ($spCriteriaModifier == "contains" || $spCriteriaModifier == "does not contain") { - $spCriteriaValue = "%$spCriteriaValue%"; - } else if ($spCriteriaModifier == "is in the range") { - $spCriteriaValue = "$spCriteria > '$spCriteriaValue' AND $spCriteria < '$criteria[extra]'"; - } - $spCriteriaModifier = self::$modifier2CriteriaMap[$spCriteriaModifier]; - try{ - $qry->filterBy($spCriteriaPhpName, $spCriteriaValue, $spCriteriaModifier); - $qry->addAscendingOrderByColumn('random()'); - }catch (Exception $e){ - Logging::log($e); + if (isset($storedCrit["crit"])) { + foreach ($storedCrit["crit"] as $criteria) { + $spCriteriaPhpName = self::$criteria2PeerMap[$criteria['criteria']]; + $spCriteria = $criteria['criteria']; + + $spCriteriaModifier = $criteria['modifier']; + $spCriteriaValue = $criteria['value']; + if ($spCriteriaModifier == "starts with") { + $spCriteriaValue = "$spCriteriaValue%"; + } else if ($spCriteriaModifier == "ends with") { + $spCriteriaValue = "%$spCriteriaValue"; + } else if ($spCriteriaModifier == "contains" || $spCriteriaModifier == "does not contain") { + $spCriteriaValue = "%$spCriteriaValue%"; + } else if ($spCriteriaModifier == "is in the range") { + $spCriteriaValue = "$spCriteria > '$spCriteriaValue' AND $spCriteria < '$criteria[extra]'"; + } + $spCriteriaModifier = self::$modifier2CriteriaMap[$spCriteriaModifier]; + try{ + $qry->filterBy($spCriteriaPhpName, $spCriteriaValue, $spCriteriaModifier); + $qry->addAscendingOrderByColumn('random()'); + }catch (Exception $e){ + Logging::log($e); + } } } // construct limit restriction $limits = array(); - if ($storedCrit['limit']['modifier'] == "items") { - $limits['time'] = 1440 * 60; - $limits['items'] = $storedCrit['limit']['value']; - } else { - $limits['time'] = $storedCrit['limit']['modifier'] == "hours" ? intval($storedCrit['limit']['value']) * 60 * 60 : intval($storedCrit['limit']['value'] * 60); - $limits['items'] = null; + if (isset($storedCrit['limit'])) { + if ($storedCrit['limit']['modifier'] == "items") { + $limits['time'] = 1440 * 60; + $limits['items'] = $storedCrit['limit']['value']; + } else { + $limits['time'] = $storedCrit['limit']['modifier'] == "hours" ? intval($storedCrit['limit']['value']) * 60 * 60 : intval($storedCrit['limit']['value'] * 60); + $limits['items'] = null; + } } try{ $out = $qry->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)->find();