Skip to content

Commit

Permalink
Merge branch '2.5.x' of https://github.com/sourcefabric/Airtime into …
Browse files Browse the repository at this point in the history
…2.5.x
  • Loading branch information
drigato committed May 11, 2015
2 parents 2899734 + efad7be commit 56e5e95
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions airtime_mvc/application/models/Webstream.php
Expand Up @@ -93,6 +93,7 @@ public static function deleteStreams($p_ids, $p_userId)
$isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER));

if (!$isAdminOrPM) {
//Make sure the user has ownership of ALL the selected webstreams before
$leftOver = self::streamsNotOwnedByUser($p_ids, $p_userId);
if (count($leftOver) == 0) {
CcWebstreamQuery::create()->findPKs($p_ids)->delete();
Expand Down Expand Up @@ -280,13 +281,22 @@ private static function getXspfUrl($url)
private static function getPlsUrl($url)
{
$content = self::getUrlData($url);
$ini = parse_ini_string($content, true);

if ($ini !== false && isset($ini["playlist"]) && isset($ini["playlist"]["File1"])) {
return $ini["playlist"]["File1"];
$matches = array();
$numStreams = 0; //Number of streams explicitly listed in the PLS.

if (preg_match("/NumberOfEntries=([0-9]*)/", $content, $matches) !== FALSE) {
$numStreams = $matches[1];
}

throw new Exception(_("Could not parse PLS playlist"));
//Find all the stream URLs in the playlist
if (preg_match_all("/File[0-9]*=(.*)/", $content, $matches) !== FALSE) {
//This array contains all the streams! If we need fallback stream URLs in the future,
//they're already in this array...
return $matches[1][0];
} else {
throw new Exception(_("Could not parse PLS playlist"));
}
}

private static function getM3uUrl($url)
Expand Down

0 comments on commit 56e5e95

Please sign in to comment.