// rights sections $smarty->assign('RIGHTS', $prg->getAssociatedObjects('sotf_rights', 'start_time')); // audio files $audioFiles = $prg->getAssociatedObjects('sotf_media_files', 'main_content DESC, filename'); $to = count($audioFiles); for ($i = 0; $i < $to; $i++) { if ($prg->isLocal()) { // if local, we check if file disappeared in the meantime $path = $prg->getFilePath($audioFiles[$i]); if (!is_readable($path)) { debug("DISAPPEARED FILE", $path); unset($audioFiles[$i]); continue; } } $audioFiles[$i] = array_merge($audioFiles[$i], sotf_AudioFile::decodeFormatFilename($audioFiles[$i]['format'])); $audioFiles[$i]['playtime_string'] = strftime('%M:%S', $audioFiles[$i]['play_length']); } $smarty->assign('AUDIO_FILES', $audioFiles); // other files $otherFiles = $prg->getAssociatedObjects('sotf_other_files', 'filename'); $smarty->assign('OTHER_FILES', $otherFiles); // links $smarty->assign('LINKS', $prg->getAssociatedObjects('sotf_links', 'caption')); // referencing portals $smarty->assign('REFS', $prg->getRefs()); // statistics $smarty->assign('STATS', $prg->getStats()); // add this visit to statistics $prg->addStat('', "visits"); // rating
function selectAudioVideo(&$prg) { global $config; $files = $prg->listAudioFiles('TRUE', 'kbps DESC'); if (is_array($files)) { foreach ($files as $f) { if ($f['download_access'] == 't') { /* sun 8.2.06 added to format properly the enclosure url --rama */ $station = sotf_Utils::makeValidName($prg->get('station'), 23); $series = sotf_Utils::makeValidName($prg->get('series'), 23); $title = sotf_Utils::makeValidName($prg->get('title'), 30); if ($station != "" && $series != "" && $title != "") { $fname = "{$station}-{$series}-{$title}"; } elseif ($station != "" && $title != "") { $fname = "{$station}-{$title}"; } elseif ($title != "") { $fname = $title; } /* end properly format enclosure url */ //$f['url'] = $config['rootUrl'] . '/getFile.php/' . $f['filename'] . '?audio=1&id=' . $prg->id . '&filename=' . $f['filename']; //$f['url'] = $config['rootUrl'] . '/getFile.php?audio=1&id=' . $prg->id . '&filename=' . $f['filename']; $baseUrl = sotf_Node::getHomeNodeRootUrl($prg); //$f['url'] = $baseUrl . '/getFile.php/fid__' . $f['id'].".mp3"; // wreutz: very dirty hack for ipooder to work on os x //MODIFIED BY Martin Schmidt $f = array_merge($f, sotf_AudioFile::decodeFormatFilename($f['format'])); if ($prg->isVideoPrg() && $f['format'] == "mp4") { //echo "drinnen"; $f['url'] = $baseUrl . '/getFile.php/' . 'fid__' . $f['id'] . '__' . $fname . ".mp4"; return $f; } else { if ($prg->isAudioPrg()) { $f['url'] = $baseUrl . '/getFile.php/' . 'fid__' . $f['id'] . '__' . $fname . ".mp3"; //rjankowski changed order to get parsed by getFile.php return $f; } } ////////////////////////// // rama: included $fname as formatted name $station-$series-$title } } } /* if(!$retval and is_array($files)) { foreach($files as $f) { if($f['stream_access']=='t') { $f['url'] = $config['rootUrl'] . '/listen.php?id=' . $prg->id . '&fileid=' . $f['id']; return $f; } } } */ return NULL; }
function addItem(&$rss, &$prog) { global $config; $rss .= "\n\n<item>"; writeTag($rss, "title", $prog->get('title')); writeTag($rss, "link", $config['rootUrl'] . "/get.php?id=" . $prog->id); writeTag($rss, "pubDate", toW3CDate($prog->get('entry_date'))); writeTag($rss, "description", $prog->get('abstract')); writeTag($rss, "guid", $prog->get('id')); writeTag($rss, "sotf:episodesequence", $prog->get('episode_sequence')); writeTag($rss, "sotf:episodetitle", $prog->get('episode_title')); writeTag($rss, "sotf:broadcastdate", $prog->get('broadcast_date')); $files = $prog->getAssociatedObjects('sotf_media_files', 'main_content DESC, filename'); for ($i = 0; $i < count($files); $i++) { $files[$i] = array_merge($files[$i], sotf_AudioFile::decodeFormatFilename($files[$i]['format'])); $files[$i]['playtime_string'] = strftime('%M:%S', $fFiles[$i]['play_length']); } if ($files) { $rss .= "\n<sotf:mediafiles>"; foreach ($files as $f) { if ($f['stream_access'] = 't') { #$rss .= "\n<sotf:mediafileitem>"; #writeTag($rss, "sotf:mediafileurl", $config['rootUrl']."/listen.php/audio.m3u?id=".$prog->get('id')); #writeTag($rss, "sotf:mediafileimage", $config['rootUrl']."/static/listen.gif"); #writeTag($rss, "sotf:mediafiletype", "audio"); #writeTag($rss, "sotf:mediafilebitrate", $f['bitrate']); #writeTag($rss, "sotf:mediafileformat", $f['format']); #$rss .= "\n</sotf:mediafileitem>"; $rss .= "\n<sotf:mediafileitem url=\"" . $config['rootUrl'] . "/listen.php/audio.m3u?id=" . $prog->get('id') . "\" image=\"" . $config['rootUrl'] . "/static/listen.gif\" type=\"audiostream\" bitrate=\"" . $f['bitrate'] . "\" format=\"" . $f['format'] . "\" />"; } if ($f['download_access'] = 't') { #$rss .= "\n<sotf:mediafileitem>"; #writeTag($rss, "sotf:mediafileurl", $config['rootUrl']."/getFile.php/".$f['filename']."?audio=1&id=".$prog->get('id')."&filename=".$f['filename']); #writeTag($rss, "sotf:mediafileimage", $config['rootUrl']."/static/download.gif"); #writeTag($rss, "sotf:mediafiletype", "audio"); #writeTag($rss, "sotf:mediafilebitrate", $f['bitrate']); #writeTag($rss, "sotf:mediafileformat", $f['format']); #$rss .= "\n</sotf:mediafileitem>"; $rss .= "\n<sotf:mediafileitem url=\"" . $config['rootUrl'] . "/getFile.php/fid__" . $f['id'] . "\" image=\"" . $config['rootUrl'] . "/static/download.gif\" type=\"audiofile\" bitrate=\"" . $f['bitrate'] . "\" format=\"" . $f['format'] . "\" />"; } } $rss .= "\n</sotf:mediafiles>"; } $rss .= "\n</item>"; }