<?php

class PlayerRequest {
    
    const DEFAULT_WIDTH = 512;
    const DEFAULT_HEIGHT = 288;
    # Codes for the player instances on thePlatform
    
    # PIDs for the two different main feeds
    const LOCAL_FEED_PID = "vbnrH_ew_gqKA2Npq_EbJQJKqOxpBnQA";
    const NATIONAL_FEED_PID = "zFyICaqaFs2wGY4Wf55XxFve24R0mvSK";
    
    var $autoplay;
    var $endseconds;
    var $episodemediaid;
    var $height;
    var $pid;
	var $share;
    var $startseconds;
    var $thumbnail;
    var $width;
	var $feed_pid;

    function __construct($args) {
        foreach ($args as $key=>$val)
            $this->$key = $val;
		$this->handleBooleans();
        $this->ensureDimensions();
		$this->feed_pid = PlayerRequest::NATIONAL_FEED_PID;
    }
	
	private function handleBooleans() {
		$this->autoplay = ($this->autoplay == 'true') ? 'true' : 'false';
		$this->share = ($this->share == 'true');
	}
    
    private function ensureDimensions() {
        if (!$this->height or !$this->width) {
            $this->width = PlayerRequest::DEFAULT_WIDTH;
            $this->height = PlayerRequest::DEFAULT_HEIGHT;
        }
    }
    
}

class VideoMetadata {
	
	var $description;
	var $pid;
	var $thumb;
	var $title;
	
	function __construct($pid) {
		$this->pid = $pid;
		$this->populate();
	}
	
	private function getFeed() {
		$feed = 'http://feeds.theplatform.com/ps/JSON/PortalService/2.1/getReleaseList?PID=zFyICaqaFs2wGY4Wf55XxFve24R0mvSK&startIndex=1&endIndex=1&field=title&field=description&field=thumbnailURL&query=PIDs|'.$this->pid;
		$ch = curl_init($feed);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		$data = curl_exec($ch);
		curl_close($ch);
		return $data;
	}
	
	private function populate() {
		$obj = json_decode($this->getFeed());
		$items = $obj->items;
		$meta = $items[0];
		$this->description = $meta->description;
		$this->thumb = $meta->thumbnailURL;
		$this->title = $meta->title;
	}

}

$request = new PlayerRequest($_GET);

if ($request->share) 
	$meta = new VideoMetadata($request->pid);

?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<?php if ($meta) { ?>
	<title><?=$meta->title ?></title>
	<meta name="title" content="<?=$meta->title ?>" />
	<meta name="description" content="<?=$meta->description ?>" /> 
	<link rel="image_src" href="<?=$meta->thumb ?>" / >
<?php } ?>
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript" src="js/util.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="video_src" href="http://tpplayer.comcastcim.edgesuite.net/PDK/4.2/swf/flvPlayer.swf?skinURL=http%3A%2F%2Ftpplayer.comcastcim.edgesuite.net%2FPDK%2F4.2%2Fswf%2FskinCinematic.swf&backgroundColor=0x131313&controlBackgroundColor=0x131313&controlColor=0xBEBEBE&controlFrameColor=0x545759&controlHighlightColor=0x242424&controlHoverColor=0xBEBEBE&controlSelectedColor=0x00CCFF&frameColor=0x545759&loadProgressColor=0xBEBEBE&pageBackgroundColor=0x131313&playProgressColor=0x00CCFF&textBackgroundColor=0x383838&textColor=0xBEBEBE&scrubberColor=0xBEBEBE&scrubberFrameColor=0x00CCFF&scrubTrackColor=0xBEBEBE&emailServiceURL=http%3A%2F%2Fplayer.theplatform.com%2Fps%2Fmail&releaseURL=http%3A%2F%2Frelease.theplatform.com%2Fcontent.select%3Fpid%3D<?=$request->pid ?>%26UserName%3DUnknown%26Embedded%3DTrue%26Tracking%3DTrue%26Player%3DPlugin%2B16x9%2Ballow%2Bembed&playerURL=http%3A%2F%2Fplayer.theplatform.com%2Fps%2Fplayer%2Fpds%2Fkj-5OcNN0M%3Fpid%3D<?=$request->pid ?>&embeddedPlayerHTML=%3Cembed+src%3D%22http%3A%2F%2Fplayer.theplatform.com%2Fps%2Fplayer%2Fpds%2Fkj-5OcNN0M%26pid%3D{releasePID}%22+width%3D%22512%22+height%3D%22287%22+type%3D%22application%2Fx-shockwave-flash%22+allowFullScreen%3D%22true%22+bgcolor%3D%22%23131313%22%2F%3E&allowFullScreen=true&autoPlay=false&showNav=false&ID=playerwidget&width=420&height=280"/> 
<meta name="video_height" content="280" /> 
<meta name="video_width" content="420" /> 
<meta name="video_type" content="application/x-shockwave-flash" />
<meta name="medium" content="video" />
<link media="screen" rel="stylesheet" type="text/css" href="css/player.css" />
</head>
<body>
<div id="pdkHolder">
    <div class="background" id="background"></div>
    <div class="commmanager" id="commmanagerDiv"></div>
    <div class="player" id="playerDiv">
        <p style="font:10pt Verdana; color:#f7f7f7">To view this site, you need to have Flash Player 9.0.115 or later installed. Click <a href="http://www.macromedia.com/go/getflashplayer/" target='_blank' style="color:#f7f7f7">here</a> to get the latest Flash player.</p>
    </div>
</div>
<script type="text/javascript">
    tpSetCommManagerID("commmanagerwidget");
    tpLoadExternalMediaJS("js/tpExternal_WMP.js", "js/tpExternal_QVT.js");
</script>
<script type="text/javascript">
    tpRegisterID("playerwidget");
	var qsReleasePID = '<?=$request->pid ?>'
    var so = new SWFObject("http://tpplayer.comcastcim.edgesuite.net/PDK/4.2/swf/flvPlayer.swf", "playerwidget", "<?=$request->width ?>", "<?=$request->height ?>", "9.0.115.0");
    so.addParam("quality", "high");
    so.addParam("scale", "noscale");
    so.addParam("salign", "tl");
    so.addParam("menu", "false");
    so.addParam("allowScriptAccess", "always");
    so.addVariable("ID", "playerwidget");
    so.addParam("wmode", "transparent");
    so.addParam("allowFullScreen", "true");
    so.addParam("bgcolor", "#ffffff");
    so.addVariable("skinURL", "http://tpplayer.comcastcim.edgesuite.net/PDK/4.2/swf/skinCinematic.swf");
	so.addVariable("backgroundColor", "0x000000");
	so.addVariable("controlBackgroundColor", "0x131313");
	so.addVariable("controlColor", "0xBEBEBE");
	so.addVariable("controlFrameColor", "0x545759");
	so.addVariable("controlHoverColor", "0x00CCFF");
	so.addVariable("controlSelectedColor", "0xBEBEBE");
	so.addVariable("frameColor", "0x545759");
	so.addVariable("playProgressColor", "0x00CCFF");
	so.addVariable("scrubberColor", "0xBEBEBE");
	so.addVariable("scrubberFrameColor", "0x00CCFF");
	so.addVariable("scrubTrackColor", "0xBEBEBE");
	so.addVariable("textBackgroundColor", "0x383838");
	so.addVariable("textColor", "0xBEBEBE");
    so.addVariable("height", "<?=$request->height ?>");
    so.addVariable("width", "<?=$request->width ?>");
    so.addVariable("emailServiceURL", "http://player.theplatform.com/ps/mail");
	so.addVariable("releaseURL", "http://release.theplatform.com/content.select?pid=" + qsReleasePID + "&Tracking=true");
    so.addVariable("playerURL", "http://www.pbs.org/wnet/embed-player?pid=<?=$request->pid ?>&share=true");
    so.addVariable("embeddedPlayerHTML", "<embed src=\"http://www.pbs.org/wnet/embed-player?pid=<?=$request->pid ?>\" width=\"<?=$request->width ?>\" height=\"<?=$request->height ?>\" type=\"application/x-shockwave-flash\" allowFullScreen=\"true\" bgcolor=\"#ffffff\"/>");
    so.addVariable("allowFullScreen", "true");
    so.addVariable("autoPlay", "<?=$request->autoplay ?>");
    so.addVariable("showNav", "false");
    so.write("playerDiv");
</script>
<script type="text/javascript">
    var so = new SWFObject("swf/commManager.swf", tpGetCommManagerID(), "<?=$request->width ?>", "<?=$request->height ?>", "9.0.115.0");
    so.addParam("allowScriptAccess", "always");
    so.addParam("wmode", "transparent");
    so.write("commmanagerDiv");
</script>
</body>
</html>
