Documentation is available at Ajax.class.php
- <?php
- function action($pAction,$pArgs = null) {
- $pAction = trim($pAction);
- if ($pAction == "") return false;
- $lReturnValue = null;
- switch ($pAction) {
- case "loadDreambox":
- $lReturnValue = loadDreambox($pArgs);
- break;
- case "zap":
- $lReturnValue = zap($pArgs);
- break;
- case "loadBoutiques":
- $lReturnValue = getBoutiques();
- break;
- case "loadChannels":
- $lReturnValue = getChannels($pArgs);
- break;
- case "serverstatus":
- $lReturnValue = serverStatus();
- break;
- case "killserver":
- $lReturnValue = killServer();
- break;
- case "channelInfo":
- $lReturnValue = getChannelInfo($pArgs);
- break;
- case "tvguide":
- $lReturnValue = showTVGuide($pArgs);
- break;
- case "programinfo":
- $lReturnValue = getProgramInfo($pArgs);
- break;
- case "loadRecordings" :
- $lReturnValue = getRecordings();
- break;
- }
- return $lReturnValue;
- }
- function loadDreambox($pRenew = 0) {
- $lDreambox = new Dreambox(Settings::getDreamboxIP(),Settings::getEnigmaVersion(),array(Settings::getDreamboxUserName(),Settings::getDreamboxPassword()),$pRenew);
- $lAjaxResponse = new xajaxResponse();
- if ( ($lMessage = $lDreambox->sanityCheck()) != "") {
- $lAjaxResponse->addAssign("TB_ajaxContent","innerHTML","<br />Your settup is not correct! Fix the following problems:<br />$lMessage");
- $lAjaxResponse->addAssign("TB_ajaxContent","style.color","red");
- } elseif ($lDreambox->isOnline()) {
- $lDreambox->loadBoutiques($pRenew);
- $lDreambox->loadChannels($pRenew);
- $lAjaxResponse->addScript("xajax_action('loadBoutiques');xajax_action('serverstatus');");
- $VLCServerObj = new VLCServer();
- if ($VLCServerObj->getCurrentStream()) {
- $lAjaxResponse->addScript($VLCServerObj->getJSSettings() . ";");
- $lBoutique = $lDreambox->findBoutiqueWithChannel($VLCServerObj->getCurrentChannel());
- $lAjaxResponse->addScript("setTimeout(function(){jQuery('#boutiques').val('". $lBoutique->getID() . "');xajax_action('loadChannels','". $lBoutique->getID() . "')},1000);");
- $lAjaxResponse->addScript("setTimeout(function(){jQuery('#channels').val('". $VLCServerObj->getCurrentChannel() . "');},2500);");
- $lAjaxResponse->addScript("window.streamingUrl = '" . $VLCServerObj->getStreamingUrl() . "';");
- $lAjaxResponse->addScript("xajax_action('tvguide','". $VLCServerObj->getCurrentChannel() . "');");
- $lAjaxResponse->addScript("setTimeout(function(){jQuery('#tvguide a:eq(0)').click();},2000);");
- if ($VLCServerObj->getEmbbedType() == "javascript") {
- $lAjaxResponse->addScript($VLCServerObj->getEmbeddedPlayer() . ";");
- } else {
- $lAjaxResponse->addAssign("PlayerDiv","innerHTML",$VLCServerObj->getEmbeddedPlayer());
- }
- }
- } else {
- $lAjaxResponse->addAssign("TB_ajaxContent","innerHTML","<br />Your dreambox is <b>OFFLINE</b>! Please power on the dreambox!");
- $lAjaxResponse->addAssign("TB_ajaxContent","style.color","red");
- }
- return $lAjaxResponse;
- }
- function getBoutiques() {
- $lDreamBoxObj = new Dreambox();
- $lDreamBoxObj->resetBoutiqueCounter();
- $lFirstBoutique = "";
- $lAjaxResponse = new xajaxResponse();
- $lReturnValue = "<select name=\"boutiques\" id=\"boutiques\" onchange=\"xajax_action('loadChannels',this.value)\">";
- while ( ($lBoutiqueObj = $lDreamBoxObj->getNextBoutique()) != false ) {
- if ($lFirstBoutique == "") {
- $lFirstBoutique = $lBoutiqueObj->getID();
- }
- $lReturnValue .= "<option value=\"" . $lBoutiqueObj->getID() . "\">" . $lBoutiqueObj->getName() . "</option>\n";
- }
- $lReturnValue .= "</select>\n";
- $lAjaxResponse->addAssign("boutiquesSelector","innerHTML",$lReturnValue);
- $lAjaxResponse->addScript("xajax_action('loadChannels','$lFirstBoutique,1')");
- return $lAjaxResponse;
- }
- function getChannels($pArgs) {
- $pArgs = explode(",",$pArgs);
- $lBoutiqueName = trim($pArgs[0]);
- $lFirst = (isset($pArgs[1]) ? $pArgs[1] : 0);
- $lDreamBoxObj = new Dreambox();
- $lAjaxResponse = new xajaxResponse();
- $lReturnValue = "<select name=\"channels\" id=\"channels\" onchange=\"xajax_action('tvguide',this.value);\">";
- if ( ($lBoutiqueObj = $lDreamBoxObj->searchBoutique($lBoutiqueName)) != false ) {
- while ( ($lChannelObj = $lBoutiqueObj->getNextChannel()) != false ) {
- $lReturnValue .= " <option value=\"" . $lChannelObj->getID() . "\">" . $lChannelObj->getName() . "</option>\n";
- }
- }
- $lReturnValue .= "</select>\n";
- $lAjaxResponse->addAssign("channelsSelector","innerHTML",$lReturnValue);
- if ($lFirst) $lAjaxResponse->addScript("tb_remove();");
- return $lAjaxResponse;
- }
- function zap($pArgs) {
- $lVLCObj = new VLCServer(Settings::getEnigmaVersion(),array(Settings::getDreamboxUserName(),Settings::getDreamboxPassword()));
- $lVLCObj->setDimentions($pArgs["resolution"]);
- $lVLCObj->setChannel($pArgs["channels"]);
- $lVLCObj->setAudioCodec($pArgs["audio"]);
- $lVLCObj->setVideoCodec($pArgs["video"]);
- $lVLCObj->setFPS($pArgs["fps"]);
- $lVLCObj->setStreamType($pArgs["transport"]);
- $lVLCObj->setBitrate($pArgs["bitrate"]);
- $lVLCObj->setAudioBitrate("64");
- $lDebug = $lVLCObj->stopServer();
- $lDebug = $lVLCObj->startServer(1);
- $lDreamboxObj = new Dreambox();
- $lDreamboxObj->zap($pArgs["boutiques"],$pArgs["channels"]);
- sleep(3); // Wait for VLC to startup encoding
- foreach ($pArgs as $lKey => $lValue) {
- $lData .= "$lKey => $lValue\n"; // Debug loop
- }
- $objResponse = new xajaxResponse();
- $objResponse->script("tb_remove();");
- if ($pArgs["video"] == "FLV1" || $pArgs["transport"] == "rtmp") {
- $objResponse->addScript($lVLCObj->getEmbeddedPlayer());
- } else {
- $objResponse->addAssign("PlayerDiv","innerHTML",$lVLCObj->getEmbeddedPlayer());
- }
- $objResponse->addScript("window.streamingUrl = '" . $lVLCObj->getStreamingUrl() . "';");
- $objResponse->addScript("tb_remove();");
- if (substr($pArgs["channels"],0,2) == "1:") $objResponse->addScript("xajax_action('tvguide','". $pArgs["channels"] . "');");
- $objResponse->addAssign("debug-content","innerHTML","<pre>" . htmlentities($lVLCObj->getEmbeddedPlayer()) . "\n$lDebug\n$lData</pre>");
- return $objResponse;
- }
- function showTVGuide($pChannelID = "") {
- $lDreamboxObj = new Dreambox();
- $lDreamboxObj->loadProgramGuide($pChannelID,1);
- $lReturnValue = "";
- $lPrevDate = "";
- while ( ($lProgramObj = $lDreamboxObj->programGuide()->getNextProgram()) != false ) {
- if ($lReturnValue == "" || ( date("H",$lPrevDate) < 6 && date("H",$lProgramObj->getStartTime()) > 6) || stripos($lProgramObj->getTitle(),"BIENTOT") !== false ) {
- $lReturnValue .= "<b>" . date("d-m-Y",$lProgramObj->getStartTime()) . "</b><br />";
- }
- $lPrevDate = $lProgramObj->getStartTime();
- $lReturnValue .= date("H:i",$lProgramObj->getStartTime()) . " - " . date("H:i",$lProgramObj->getStopTime()) . "|<a href=\"javascript:void(0);\" onclick=\"xajax_action('programinfo','" . $lProgramObj->getID() . "')\" title=\"" . $lProgramObj->getTitle() . "\" >" . $lProgramObj->getTitle() . "</a><br />";
- }
- $objResponse = new xajaxResponse();
- $objResponse->addAssign("tvguide","innerHTML","TVGuide:<br />" . $lReturnValue);
- return $objResponse;
- }
- function getProgramInfo($pProgramID) {
- $lDreamboxObj = new Dreambox();
- $lDreamboxObj->loadProgramGuide();
- $lProgramObj = $lDreamboxObj->programGuide()->searchProgram($pProgramID);
- $lAjaxResponse = new xajaxResponse();
- $lAjaxResponse->addAssign("programmaInfo","innerHTML","<strong>" . date("H:i",$lProgramObj->getStartTime()) . " - " . date("H:i",$lProgramObj->getStopTime()) . " | " . $lProgramObj->getTitle() . "</strong><br />" . $lProgramObj->getDescription());
- return $lAjaxResponse;
- }
- function killServer() {
- $lVLCObj = new VLCServer(Settings::getEnigmaVersion(),array(Settings::getDreamboxUserName(),Settings::getDreamboxPassword()));
- $lDebug = $lVLCObj->stopServer();
- $objResponse = new xajaxResponse();
- $objResponse->addScript("xajax_action('serverstatus',0);");
- return $objResponse;
- }
- function serverStatus($pRepeat = 1) {
- $lVLCObj = new VLCServer(Settings::getEnigmaVersion(),array(Settings::getDreamboxUserName(),Settings::getDreamboxPassword()));
- $objResponse = new xajaxResponse();
- $objResponse->addAssign("serverStatus","style.backgroundColor",($lVLCObj->isServerRunning() ? "green" : "red"));
- if ($pRepeat == 1) $objResponse->addScript("setTimeout('xajax_action(\'serverstatus\')',5000);");
- return $objResponse;
- }
- function getRecordings() {
- $lDreamboxObj = new Dreambox();
- $lDreamboxObj->getRecordings();
- $lReturnValue = "";
- while ($lRecording = $lDreamboxObj->getNextRecording()) {
- $lReturnValue .= "<a href=\"javascript:void(0);\" onclick=\"startRecording('" . Utils::JSSave($lRecording->getFileName()) . "');\">" . date("d/m/Y H:i",$lRecording->getStartTime()) . " - " . $lRecording->getName() . "</a><br />";
- }
- $objResponse = new xajaxResponse();
- $objResponse->addAssign("tvguide","innerHTML","Recordings:<br />" . $lReturnValue);
- return $objResponse;
- }
- ?>
Documentation generated on Tue, 24 Jun 2008 18:59:29 +0200 by phpDocumentor 1.3.0RC3