dremjs-old/apps/Cinema/index.php
Innovation Inc 5678a476ed A massive commit
I'm finally going to continue working on this and commit like I should.
2021-03-26 00:58:21 -05:00

238 lines
8.5 KiB
PHP

<?php
$file = "/home/user/Pictures/Default.png";
function GenerateTagForMedia($path) {
global $file;
// What even is this massive statement? The answer may shock you.
// (it's laziness)
if(isset($_REQUEST["action"]) && $_REQUEST["action"] == "shuffle") {
return ShuffleMusic();
}
if(isset($_REQUEST["openfile"])) {
if(file_exists($_SERVER["DOCUMENT_ROOT"].$_REQUEST["openfile"]) && !is_dir($_SERVER["DOCUMENT_ROOT"].$_REQUEST["openfile"])) {
$mime = mime_content_type($_SERVER["DOCUMENT_ROOT"].$_REQUEST["openfile"]);
if(strstr($mime, "video/")){
return "<video class='media' controls autoplay>\
<source src='".$_REQUEST["openfile"]."' type='".$mime."'>\
</video>";
// This basically depends on the video tag to support the video and is dumb.
}else if(strstr($mime, "image/")){
return "<img class='media' src='".$_REQUEST['openfile']."'>";
}else if(strstr($mime, "audio/")){
return "<audio controls autoplay>\
<source src='".$_REQUEST["openfile"]."' type='".$mime."'>\
</audio>";
}
} else {
return "<img class='media' src='assets/images/Default.png'>";
}
} else {
return "<img class='media' src='assets/images/Default.png'>";
}
}
function ShuffleMusic() {
// Build array of all music in the user's Music directory
$files = scandir("/home/user/Music/");
$music = array();
$temp = "";
// Find all files that have .mp3, .wav, or .ogg (not case sensitive) and put them into the $music array
for ($i = 0; $i < count($files); $i++) {
if (count($temp) >= 5) {
$temp = substr($files[$i], count($files[$i]-4));
} else {
$temp = "StringTooSmallSkipping";
}
if($temp == ".mp3" || $temp == ".wav" || $temp == ".ogg") {
$music[] = $files[$i];
}
}
}
/*if($_REQUEST["action"] == "shuffle") {
ShufleMusic();
}*/
?>
<html>
<head>
<style>
body {
font-family: Calibri;
background-color: white;
}
.container {
width: 80%;
margin: auto;
padding: 0px;
}
.left {
width: 30%;
float: left;
}
.right {
margin-left: 5%;
}
.openDialog {
position: absolute;
background: #D3D3D3;
top: 5%;
left: 5%;
width: 90%;
padding: 5px;
display: none;
}
.aboutDialog {
position: absolute;
background: #D3D3D3;
top: 5%;
left: 5%;
width: 90%;
height: 90%;
padding: 5px;
display: none;
}
.actionbar {
height: 42px;
width: 100%;
background-color: black;
}
.actionbarbutton {
width: 32px;
height: 32px;
border: 10px;
}
.media {
height: 95%;
width: auto;
vertical-align: middle;
}
</style>
</head>
<body onload="Init();">
<script type="text/javascript">
document.addEventListener('contextmenu', event => event.preventDefault());
function GetDremJSMenuFunctions() {
return [
["Open", "OpenDocumentDialog();"],
["<hr />", ""],
["Shuffle", "ShuffleMusic();"],
["<hr />", ""],
["Toggle Light", "ToggleLight();"],
["<hr />", ""],
["About", "About();"]
];
}
CurrentFile = "/home/user/";
var MediaTag = "";
function Init() {
//document.getElementById("writingto").innerHTML = "Writing to: " + CurrentFile;
MediaTag = "<?php echo GenerateTagForMedia("/home/user/Pictures/Default.png"); ?>";
document.getElementById("open").value = CurrentFile;
document.getElementById('MediaBox').innerHTML=MediaTag;
}
function OpenDocumentDialog() {
document.getElementById("openDialog").style.display = "block";
}
function OpenDocument() {
/*$.ajax({
url : window.location.href,
type : "POST",
data : {action : "open", open : document.getElementById("open").value},
success: function(data, textStatus, jqXHR) {
//console.log(data);// You can see the result which is created in chat.php
console.log("Successfully Opened");
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(textStatus);// if there is an error
}
});*/
//CurrentFile = document.getElementById("open").value;
//CancelOpen();
//Init();
window.location.href = "index.php?action=open&openfile=" + document.getElementById("open").value;
}
function CancelOpen() {
document.getElementById("openDialog").style.display = "none";
}
function About() {
document.getElementById("aboutDialog").style.display = "block";
}
function CloseAbout() {
document.getElementById("aboutDialog").style.display = "none";
}
function ToggleLight() {
if (document.getElementsByTagName("body")[0].style.backgroundColor === "black") {
document.getElementsByTagName("body")[0].style.backgroundColor = "white";
} else {
document.getElementsByTagName("body")[0].style.backgroundColor = "black";
}
}
function ShuffleMusic() {
$.ajax({
type:'POST',
url:'index.php',
data:'action=shuffle',
success:function(data) {
if(data=="Something") {
// Do Something
} else {
// Do Something
}
}
});
window.location.href = "index.php?action=shuffle";
}
</script>
<!--<div id="actionBar" class="actionbar">
<div id="light" class="actionbarbutton left">
<img style="width:42px;height:42px;" src="assets/images/lightbulb-on-white.png" />
</div>
</div>-->
<center>
<div id="MediaBox">
</div>
</center>
<div id="openDialog" class="openDialog">
<p>Input the path to the media file you would like to open. You can use the File Manager to find the path.</p>
<!--<form action="index.php" method="POST">
<input type="hidden" name="action" value="open" />-->
<input type="text" id="open" name="open" size="50" />
<input type="submit" id="OpenFile" onclick="OpenDocument()" value="Open File" />
<!--</form>-->
<input type="button" onclick="CancelOpen()" value="Cancel" />
</div>
<div id="aboutDialog" class="aboutDialog container">
<div class="left">
<img src="cinema.png" style="width:128px;height:128px" />
</div>
<div class="right">
<h1>About DremJS Cinema</h1>
<h2>Version: 0.1.0b</h2>
</div>
<p>
Open: Opens a media file.<br />
Toggle Light: Toggles the background to be white or black (easier on the eyes)<br />
</p>
<center><input type="button" onclick="CloseAbout()" value="Close" /></center>
<p>
</div>
</body>
</html>