setvar('pageop', (empty($pageop)) ? "default" : $pageop); // op-switch switch ($pageop) { default: case "default": // fill lists // vidc $vidcList = Vlc::getList('vidc'); $list_vidc = array(); foreach ($vidcList as $vidcT) array_push($list_vidc, array('name' => $vidcT)); $tmpl->setloop('list_vidc', $list_vidc); // vbit $vbitList = Vlc::getList('vbit'); $list_vbit = array(); foreach ($vbitList as $vbitT) array_push($list_vbit, array('name' => $vbitT)); $tmpl->setloop('list_vbit', $list_vbit); // audc $audcList = Vlc::getList('audc'); $list_audc = array(); foreach ($audcList as $audcT) array_push($list_audc, array('name' => $audcT)); $tmpl->setloop('list_audc', $list_audc); // abit $abitList = Vlc::getList('abit'); $list_abit = array(); foreach ($abitList as $abitT) array_push($list_abit, array('name' => $abitT)); $tmpl->setloop('list_abit', $list_abit); // requested file $dirName = urldecode($_REQUEST['dir']); $fileName = urldecode(stripslashes($_REQUEST['file'])); $targetFile = $dirName.$fileName; // only valid dirs + entries with permission if (!((tfb_isValidPath($targetFile)) && (isValidEntry(basename($targetFile))) && (hasPermission($targetFile, $cfg["user"], 'r')))) { AuditAction($cfg["constants"]["error"], "ILLEGAL VLC-ACCESS: ".$cfg["user"]." tried to view ".$fileName." in ".$dirName); @error("Illegal access. Action has been logged.", "", ""); } // set vars $tmpl->setvar('file', $fileName); $tmpl->setvar('target', urlencode(addslashes($targetFile))); // host vars $tmpl->setvar('addr', Vlc::getAddr()); $tmpl->setvar('port', Vlc::getPort()); // already streaming if (Vlc::isStreamRunning(Vlc::getPort()) === true) { $tmpl->setvar('is_streaming', 1); $streams = Vlc::getRunning(Vlc::getPort()); $currentStream = (empty($streams)) ? "" : array_pop($streams); $tmpl->setvar('current_stream', $currentStream); } else { $tmpl->setvar('is_streaming', 0); } break; case "start": // get vars $fileName = urldecode(stripslashes($_REQUEST['file'])); $targetFile = urldecode(stripslashes($_POST['target'])); $target_vidc = $_POST['vidc']; $target_vbit = $_POST['vbit']; $target_audc = $_POST['audc']; $target_abit = $_POST['abit']; // only valid dirs + entries with permission if (!((tfb_isValidPath($targetFile)) && (isValidEntry(basename($targetFile))) && (hasPermission($targetFile, $cfg["user"], 'r')))) { AuditAction($cfg["constants"]["error"], "ILLEGAL VLC-ACCESS: ".$cfg["user"]." tried to view ".$fileName." in ".$dirName); @error("Illegal access. Action has been logged.", "", ""); } // set template vars $tmpl->setvar('file', $fileName); $tmpl->setvar('vidc', $target_vidc); $tmpl->setvar('vbit', $target_vbit); $tmpl->setvar('audc', $target_audc); $tmpl->setvar('abit', $target_abit); $tmpl->setvar('addr', Vlc::getAddr()); $tmpl->setvar('port', Vlc::getPort()); // start vlc Vlc::start($cfg["path"].$targetFile, $target_vidc, $target_vbit, $target_audc, $target_abit); break; case "stop": // stop vlc Vlc::stop(); break; } // title-bar tmplSetTitleBar($cfg["pagetitle"]." - "."vlc", false); // iid tmplSetIidVars(); // parse template $tmpl->pparse(); ?>