예제 #1
0
 // 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
예제 #2
0
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;
}
예제 #3
0
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>";
}