Pushed initial code and edited readme.
BIN
Documents/000.jpg
Normal file
After Width: | Height: | Size: 386 KiB |
BIN
Images/000.jpg
Normal file
After Width: | Height: | Size: 210 KiB |
BIN
Images/1.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
BIN
Images/2.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
Images/3.png
Normal file
After Width: | Height: | Size: 1.8 MiB |
BIN
Images/4.png
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
Images/5.png
Normal file
After Width: | Height: | Size: 2.0 MiB |
BIN
Music/000.jpg
Normal file
After Width: | Height: | Size: 1019 KiB |
@ -13,6 +13,15 @@ Notes:
|
|||||||
3. The provided folders except "resources" are optional. You can add and remove them as you please.
|
3. The provided folders except "resources" are optional. You can add and remove them as you please.
|
||||||
4. The media and image pane can be moved by dragging from the transparentish bar that has the close button and other controls.
|
4. The media and image pane can be moved by dragging from the transparentish bar that has the close button and other controls.
|
||||||
|
|
||||||
|
# TO-DO
|
||||||
|
1. Allow for move, copy, delete functionality.
|
||||||
|
2. Allow for creating folders through the web interface.
|
||||||
|
3. Fix the ' and & naming issue.
|
||||||
|
4. Resolve issue were uploading doesn't always prompt an interface update.
|
||||||
|
5. Impliment themes functionality.
|
||||||
|
6. Look to refactor code.
|
||||||
|
|
||||||
|
|
||||||
# Images
|
# Images
|
||||||
|
|
||||||
![1 Home](Images/1.png)
|
![1 Home](Images/1.png)
|
||||||
|
BIN
Videos/000.jpg
Normal file
After Width: | Height: | Size: 1.9 MiB |
BIN
favicon.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
42
index.html
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta content="" charset="utf-8"/>
|
||||||
|
<title>Web File Manager</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="resources/css/base.css"/>
|
||||||
|
<link type="text/css" rel="stylesheet" href="resources/css/main.css"/>
|
||||||
|
<link rel="shortcut icon" type="image/png" href="favicon.png"/>
|
||||||
|
</head>
|
||||||
|
<body onload="onloadSetBG(); getDir('/')">
|
||||||
|
<!-- Background -->
|
||||||
|
<img id="bg" />
|
||||||
|
|
||||||
|
<!-- Uploader -->
|
||||||
|
<h2 id="fullPathHeader">
|
||||||
|
<form action="resources/php/upload.php" method="post" enctype="multipart/form-data" target="FormSubmitter">
|
||||||
|
<input type="button" onclick="tgglServerMsgView()" title="Show Server Messages" value="Show Server Messages">
|
||||||
|
<input type="reset" title="Clear" value="Clear">
|
||||||
|
<input type="submit" name="UploadFiles" title="Upload File(s)" value="Upload File(s)" />
|
||||||
|
<input type="text" id="DIRPATHUL" name="DIRPATHUL" value="">
|
||||||
|
<input class="ulFile" type="file" title="files To Upload" name="filesToUpload[]" data-multiple-caption="{count} files selected" multiple />
|
||||||
|
<button type="button" onclick="clearDirCookie()">Home Directory</button>
|
||||||
|
</form>
|
||||||
|
<br/>
|
||||||
|
Path: <span id="path"></span>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<!-- Dynamic content targets -->
|
||||||
|
<div id="dynDiv"></div>
|
||||||
|
<div id="imgView" style="display:none;"></div>
|
||||||
|
<div id="fileView" style="display:none;"></div>
|
||||||
|
|
||||||
|
<!-- Uploader processor -->
|
||||||
|
<div id="toggleServerMsg" style="display:none;">
|
||||||
|
<iframe id="FormSubmitter" name="FormSubmitter" frameborder="0" ></iframe>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="resources/js/ajax.js" charset="utf-8"></script>
|
||||||
|
<script type="text/javascript" src="resources/js/controlers.js" charset="utf-8"></script>
|
||||||
|
<script type="text/javascript" src="resources/js/dragContainer.js" charset="utf-8"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
14
resources/css/base.css
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
html {
|
||||||
|
margin: 0em;
|
||||||
|
padding: 0em;
|
||||||
|
}
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
position: fixed;
|
||||||
|
overflow: auto;
|
||||||
|
background-color: rgba(60, 110, 135, 0.24);
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
158
resources/css/main.css
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
/* IDs */
|
||||||
|
|
||||||
|
#DIRPATHUL {
|
||||||
|
display: none;
|
||||||
|
width: 1px;
|
||||||
|
height: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bg {
|
||||||
|
position: fixed;
|
||||||
|
top: 0%;
|
||||||
|
left: 0%;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -999;
|
||||||
|
}
|
||||||
|
#bg img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fullPathHeader, #dynDiv,
|
||||||
|
.errorStyling, .dirStyle, .movieStyle, .fileStyle {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
overflow: auto;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
color: #ffffff;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.2em;
|
||||||
|
background-color: rgba(0,0,0,0.64);
|
||||||
|
}
|
||||||
|
|
||||||
|
#fullPathHeader {
|
||||||
|
display: block;
|
||||||
|
position: fixed;
|
||||||
|
top: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#dynDiv {
|
||||||
|
margin-top: 8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#imgView, #imgArea, #fileView {
|
||||||
|
width: 800px;
|
||||||
|
height: 600px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#imgView, #fileView {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0em;
|
||||||
|
z-index: 100;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: rgb(114,184,199);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#fileView {
|
||||||
|
display: block;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fileViewInner {
|
||||||
|
position: sticky;
|
||||||
|
display: inline;
|
||||||
|
width: 100%;
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#imgArea {
|
||||||
|
width: 800px;
|
||||||
|
height: 600px;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
#imgView { overflow: hidden; left: 15em; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Classes */
|
||||||
|
.imgViewImg {
|
||||||
|
width: inherit;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.dirStyle { background-color: rgba(0, 0, 0, 0.56); }
|
||||||
|
.movieStyle, .fileStyle { background-color: rgba(101, 101, 101, 0.56); }
|
||||||
|
|
||||||
|
.dirStyle:hover, .movieStyle:hover, .fileStyle:hover {
|
||||||
|
background-color: rgba(0, 141, 166, 0.56);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.movieStyle {
|
||||||
|
float: left;
|
||||||
|
width: 15em;
|
||||||
|
overflow: hidden;
|
||||||
|
height: auto;
|
||||||
|
margin: 0.5em;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.movieTitle {
|
||||||
|
width: 15em;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconImg {
|
||||||
|
width: 12em;
|
||||||
|
height: 8em;
|
||||||
|
margin: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popOutBttn, .closeBttn {
|
||||||
|
float: right;
|
||||||
|
z-index: 2;
|
||||||
|
width: 4em;
|
||||||
|
height: 4em;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
line-height: 4em; /* the same as your div height */
|
||||||
|
background-color: rgba(0,0,0, 0.85);
|
||||||
|
color: rgb(255,255,255);
|
||||||
|
border-style:solid;
|
||||||
|
border-color: rgb(255,255,255);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Hover events */
|
||||||
|
.closeBttn:hover, .popOutBttn:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.closeBttn:hover, .popOutBttn:hover {
|
||||||
|
background-color: rgba(255,255,255, 0.85);
|
||||||
|
color: #000000;
|
||||||
|
border-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error, .warnning, .success {
|
||||||
|
float: left;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.errorStyling { background-color: rgb(255,0,0); }
|
||||||
|
|
||||||
|
.error { color: rgb(255, 0, 0); }
|
||||||
|
.warnning { color: rgb(255, 168, 0); }
|
||||||
|
.success { color: rgb(136, 204, 39); }
|
BIN
resources/ffmpegthumbnailer
Executable file
BIN
resources/images/backgrounds/000.jpg
Executable file
After Width: | Height: | Size: 216 KiB |
1
resources/images/thumbnails/placeHolder.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Place Holder File
|
140
resources/js/ajax.js
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
var pathNodes = []; // Path parts Could store a cookie to keep sessions
|
||||||
|
|
||||||
|
function getDirSSE() {
|
||||||
|
var path = "";
|
||||||
|
|
||||||
|
// Create path from array of items
|
||||||
|
for (pathNode of pathNodes) { path += pathNode; }
|
||||||
|
path = "dirQuery=" + path;
|
||||||
|
process(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDir(query) {
|
||||||
|
var formULPTH = document.getElementById("DIRPATHUL");
|
||||||
|
var path = "";
|
||||||
|
|
||||||
|
// push or pop to path list
|
||||||
|
if (query === "/") {
|
||||||
|
if (document.cookie) {
|
||||||
|
var temp = document.cookie.replace("dirQuery=", "");
|
||||||
|
temp = temp.split("/");
|
||||||
|
// Subtract one b/c paths end with / and create empty slot
|
||||||
|
var size = temp.length - 1;
|
||||||
|
|
||||||
|
for (var i = 0; i < size; i++) {
|
||||||
|
pathNodes.push(temp[i] + "/");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pathNodes.push("." + query); // If in root of server
|
||||||
|
}
|
||||||
|
} else if (query === "../") {
|
||||||
|
if (pathNodes.length > 1) { pathNodes.pop(); } // Only remove while not in root
|
||||||
|
} else if (query === "./") { // Do nothing since re-scanning dir
|
||||||
|
} else { pathNodes.push(query); } // Add path
|
||||||
|
|
||||||
|
// Create path from array of items
|
||||||
|
for (pathNode of pathNodes) { path += pathNode; }
|
||||||
|
|
||||||
|
formULPTH.value = path; // Used when upoading a file
|
||||||
|
path = "dirQuery=" + path;
|
||||||
|
process(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
function process(path) {
|
||||||
|
// Get dir info...
|
||||||
|
var xhttp = new XMLHttpRequest(); // Create the xhttp object
|
||||||
|
|
||||||
|
// This is actually run after open and send are done
|
||||||
|
xhttp.onreadystatechange = function() {
|
||||||
|
if (this.readyState === 4 && this.status === 200) {
|
||||||
|
// Send the returned data to further process
|
||||||
|
updatePage(this.responseXML);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xhttp.open("POST", "resources/php/process.php", true); // Open the connection
|
||||||
|
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||||
|
xhttp.overrideMimeType('application/xml'); // Force return to be XML
|
||||||
|
xhttp.send(path); // Start the process
|
||||||
|
|
||||||
|
// Use a cookie for persistence during browser session....
|
||||||
|
document.cookie = path +"; path=" + document.URL;
|
||||||
|
}
|
||||||
|
|
||||||
|
function updatePage(returnData) {
|
||||||
|
var dirPath = returnData.getElementsByTagName('PATH_HEAD')[0];
|
||||||
|
var dirs = returnData.getElementsByTagName('DIR');
|
||||||
|
var videos = returnData.getElementsByTagName('VID_FILE');
|
||||||
|
var images = returnData.getElementsByTagName('IMG_FILE');
|
||||||
|
var files = returnData.getElementsByTagName('FILE');
|
||||||
|
var insertArea = document.getElementById('dynDiv');
|
||||||
|
var workingDir = dirPath.innerHTML;
|
||||||
|
var i = 0;
|
||||||
|
|
||||||
|
// Insert dirs
|
||||||
|
document.getElementById("path").innerHTML = dirPath.innerHTML;
|
||||||
|
insertArea.innerHTML = "";
|
||||||
|
|
||||||
|
if (workingDir === "./") { var i = 2 } // Remove ,. and ../ if in "root"
|
||||||
|
|
||||||
|
var size = dirs.length;
|
||||||
|
for (; i < size; i++) {
|
||||||
|
var dir = dirs[i].innerHTML;
|
||||||
|
|
||||||
|
if (dir != "resources/") {
|
||||||
|
insertArea.innerHTML += "<div class=\"dirStyle\" onclick=\"getDir('"
|
||||||
|
+ dir + "')\" >"
|
||||||
|
+ dir
|
||||||
|
+ "</dir>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert videos
|
||||||
|
size = videos .length;
|
||||||
|
for (i = 0; i < size; i++) {
|
||||||
|
var thumbnail = videos[i].children[0].innerHTML;
|
||||||
|
var videoPth = videos[i].children[1].innerHTML;
|
||||||
|
var vidNme = videos[i].children[2].innerHTML;
|
||||||
|
|
||||||
|
insertArea.innerHTML += "<span class=\"movieStyle\" title=\"" + vidNme
|
||||||
|
+ "\" onclick='showMedia(\"" + videoPth + "\")'>"
|
||||||
|
+ "<img src=\"" + thumbnail + "\" alt=\"" + videoPth + "\">"
|
||||||
|
+ "<p class=\"movieTitle\">" + vidNme + "</p>"
|
||||||
|
+ "</span>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert images
|
||||||
|
size = images.length;
|
||||||
|
for (i = 0; i < size; i++) {
|
||||||
|
var thumbnail = images[i].children[0].innerHTML;
|
||||||
|
var imgTitle = images[i].children[1].innerHTML;
|
||||||
|
|
||||||
|
if (!imgTitle.includes("favicon.png") && !imgTitle.includes("000.png") &&
|
||||||
|
!imgTitle.includes("000.jpg") && !imgTitle.includes("000.gif")) {
|
||||||
|
insertArea.innerHTML += "<img class=\"iconImg\" src=\""
|
||||||
|
+ thumbnail
|
||||||
|
+ "\" alt=\"" + imgTitle + "\""
|
||||||
|
+ "onclick='showImg(\"" + thumbnail + "\")'/>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (images[0] != undefined) {
|
||||||
|
if (images[0].children[0].innerHTML.includes("000.jpg") ||
|
||||||
|
images[0].children[0].innerHTML.includes("000.png") ||
|
||||||
|
images[0].children[0].innerHTML.includes("000.gif")) {
|
||||||
|
updateBG(images[0].children[0].innerHTML);
|
||||||
|
} else { updateBG("resources/images/backgrounds/000.jpg"); }
|
||||||
|
} else { updateBG("resources/images/backgrounds/000.jpg"); }
|
||||||
|
|
||||||
|
// Insert files
|
||||||
|
size = files.length;
|
||||||
|
for (i = 0; i < size; i++) {
|
||||||
|
var filePath = files[i].children[0].innerHTML;
|
||||||
|
var fileName = files[i].children[1].innerHTML
|
||||||
|
|
||||||
|
if (fileName != "sse.php" && fileName != "upload.php" &&
|
||||||
|
fileName != "open.php" && fileName != "process.php") {
|
||||||
|
insertArea.innerHTML += "<div class=\"fileStyle\" onclick=\"showMedia('"
|
||||||
|
+ filePath + "')\">" + fileName + "</dir>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
82
resources/js/controlers.js
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
function showImg(imgLoc) {
|
||||||
|
var imgView = document.getElementById("imgView");
|
||||||
|
var toPlayerButton = "<div class=\"popOutBttn\" onclick=\"openInLocalProg('" + imgLoc + "')\">∽</div>";
|
||||||
|
var popButton = "<a href=\"" + imgLoc + "\" target=\"_blank\"><div class=\"popOutBttn\">↗</div></a>";
|
||||||
|
var CloseBttn = "<div class=\"closeBttn\" onclick=\"closeImg()\">X</div>";
|
||||||
|
|
||||||
|
imgView.style.display = "block";
|
||||||
|
imgView.innerHTML = CloseBttn + popButton + toPlayerButton;
|
||||||
|
imgView.innerHTML += "<div id=\"imgArea\"><img class=\"imgViewImg\" src=\"" + imgLoc + "\" /></div>";
|
||||||
|
|
||||||
|
dragContainer(imgView); // Set for dragging events
|
||||||
|
}
|
||||||
|
|
||||||
|
function showMedia(media) {
|
||||||
|
var tempRef = media.toLowerCase();
|
||||||
|
if (tempRef.includes(".mkv") || tempRef.includes(".avi") || tempRef.includes(".flv") ||
|
||||||
|
tempRef.includes(".mov") || tempRef.includes(".m4v") || tempRef.includes(".mpg") ||
|
||||||
|
tempRef.includes(".wmv") || tempRef.includes(".mpeg") || tempRef.includes(".psf")) {
|
||||||
|
openInLocalProg(media);
|
||||||
|
} else {
|
||||||
|
var mediaView = document.getElementById("fileView");
|
||||||
|
var toPlayerButton = "<div class=\"popOutBttn\" onclick=\"openInLocalProg('" + media + "')\">∽</div>";
|
||||||
|
var popButton = "<a title=\"New Tab\" href=\"" + media + "\" target=\"_blank\"><div class=\"popOutBttn\">↗</div></a>";
|
||||||
|
var CloseBttn = "<div class=\"closeBttn\" title=\"Close\" onclick=\"closeMedia()\">X</div>";
|
||||||
|
|
||||||
|
mediaView.style.display = "block";
|
||||||
|
mediaView.innerHTML = CloseBttn + popButton + toPlayerButton;
|
||||||
|
mediaView.innerHTML += "<iframe id=\"fileViewInner\" src=\"" + media + "\"></iframe>";
|
||||||
|
|
||||||
|
dragContainer(mediaView); // Set for dragging events
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function openInLocalProg(media) {
|
||||||
|
var xhttp = new XMLHttpRequest();
|
||||||
|
|
||||||
|
xhttp.open("POST", "resources/php/open.php", true);
|
||||||
|
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||||
|
xhttp.send("media=" + media);
|
||||||
|
}
|
||||||
|
|
||||||
|
function tgglServerMsgView() {
|
||||||
|
var serverMsgView = document.getElementById("toggleServerMsg");
|
||||||
|
if (serverMsgView.style.display == "none") {
|
||||||
|
serverMsgView.style.display = "block";
|
||||||
|
} else {
|
||||||
|
serverMsgView.style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeImg() {
|
||||||
|
var imgView = document.getElementById("imgView");
|
||||||
|
imgView.style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeMedia() {
|
||||||
|
var mediaView = document.getElementById("fileView");
|
||||||
|
mediaView.style.display = "none";
|
||||||
|
mediaView.children[3].src = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearDirCookie() {
|
||||||
|
var expireDate = "Thu, 01 Jan 1970 00:00:00 UTC";
|
||||||
|
document.cookie = "dirQuery=; expires=" + expireDate;
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
function onloadSetBG() { updateBG("resources/images/backgrounds/000.jpg"); }
|
||||||
|
function updateBG(bgImg) { document.getElementById("bg").src = bgImg; }
|
||||||
|
|
||||||
|
|
||||||
|
// SSE events if supported
|
||||||
|
if(typeof(EventSource) !== "undefined") {
|
||||||
|
var source = new EventSource("resources/php/sse.php");
|
||||||
|
source.onmessage = function(event) {
|
||||||
|
if (event.data === "updateListing") {
|
||||||
|
getDirSSE();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
console.log("SSE Not Supported In Browser...");
|
||||||
|
}
|
43
resources/js/dragContainer.js
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
function dragContainer(elmnt) {
|
||||||
|
var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;
|
||||||
|
elmnt.onmousedown = dragMouseDown;
|
||||||
|
|
||||||
|
function dragMouseDown(e) {
|
||||||
|
e = e || window.event;
|
||||||
|
pauseEvent(e);
|
||||||
|
// get the mouse cursor position at startup:
|
||||||
|
pos3 = e.clientX;
|
||||||
|
pos4 = e.clientY;
|
||||||
|
document.onmouseup = closeDragElement;
|
||||||
|
// call a function whenever the cursor moves:
|
||||||
|
document.onmousemove = elementDrag;
|
||||||
|
}
|
||||||
|
|
||||||
|
function elementDrag(e) {
|
||||||
|
e = e || window.event;
|
||||||
|
pauseEvent(e);
|
||||||
|
// calculate the new cursor position:
|
||||||
|
pos1 = pos3 - e.clientX;
|
||||||
|
pos2 = pos4 - e.clientY;
|
||||||
|
pos3 = e.clientX;
|
||||||
|
pos4 = e.clientY;
|
||||||
|
// set the element's new position:
|
||||||
|
elmnt.style.top = (elmnt.offsetTop - pos2) + "px";
|
||||||
|
elmnt.style.left = (elmnt.offsetLeft - pos1) + "px";
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeDragElement(e) {
|
||||||
|
// stop moving when mouse button is released:
|
||||||
|
document.onmouseup = null;
|
||||||
|
document.onmousemove = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function pauseEvent(e) {
|
||||||
|
if(e.stopPropagation) e.stopPropagation();
|
||||||
|
if(e.preventDefault) e.preventDefault();
|
||||||
|
|
||||||
|
e.cancelBubble=true;
|
||||||
|
e.returnValue=false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
11
resources/php/config.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$MEDIAPLAYER = "mplayer";
|
||||||
|
$MUSICPLAYER = "/opt/deadbeef/bin/deadbeef";
|
||||||
|
$IMGVIEWER = "mirage";
|
||||||
|
$OFFICEPROG = "libreoffice";
|
||||||
|
$PDFVIEWER = "evince";
|
||||||
|
$TEXTVIEWER = "leafpad";
|
||||||
|
$FILEMANAGER = "spacefm";
|
||||||
|
|
||||||
|
?>
|
23
resources/php/open.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
function openFile($FILE) {
|
||||||
|
include 'config.php';
|
||||||
|
|
||||||
|
if (preg_match('(mkv|wmv|mp4|webm|avi|m4v|ogv|flv)', strtolower($FILE)) === 1) {
|
||||||
|
shell_exec('cd ../../ && ' . $MEDIAPLAYER . ' "' . $FILE . '" &');
|
||||||
|
} else if (preg_match('(png|jpg|jpeg|gif)', strtolower($FILE)) === 1) {
|
||||||
|
shell_exec('cd ../../ && ' . $IMGVIEWER . ' "' . $FILE . '" &');
|
||||||
|
} else if (preg_match('(psf|mp3|ogg|flac)', strtolower($FILE)) === 1) {
|
||||||
|
shell_exec('cd ../../ && ' . $MUSICPLAYER . ' "' . $FILE . '" &');
|
||||||
|
} else if (preg_match('(pdf)', strtolower($FILE)) === 1) {
|
||||||
|
shell_exec('cd ../../ && ' . $PDFVIEWER . ' "' . $FILE . '" &');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (isset($_POST["media"])) {
|
||||||
|
openFile($_POST["media"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
53
resources/php/process.php
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
// Retrieve data
|
||||||
|
function dirListing($PATH) {
|
||||||
|
$CLEANPATH = $PATH;
|
||||||
|
$PATH = "../../" . $PATH;
|
||||||
|
$GeneratedXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><DIR_LIST>"
|
||||||
|
. "<PATH_HEAD>" . $CLEANPATH . "</PATH_HEAD>";
|
||||||
|
|
||||||
|
$dirContents = scandir($PATH);
|
||||||
|
foreach ($dirContents as $fileName) {
|
||||||
|
$fullPath = $CLEANPATH . $fileName;
|
||||||
|
|
||||||
|
if (is_dir($PATH . $fileName)) {
|
||||||
|
$GeneratedXML .= "<DIR>" . $fileName . "/</DIR>";
|
||||||
|
} elseif (preg_match('/^.*\.(mkv|avi|flv|mov|m4v|mpg|wmv|mpeg|mp4|webm)$/i', strtolower($fileName))) {
|
||||||
|
$NAMEHASH = hash('sha256', $fileName);
|
||||||
|
if (!file_exists('../images/thumbnails/' . $NAMEHASH . '.jpg')) {
|
||||||
|
shell_exec('../ffmpegthumbnailer -t 65% -s 320 -c jpg -i "'
|
||||||
|
. $PATH . $fileName . '" -o ../images/thumbnails/'
|
||||||
|
. $NAMEHASH . '.jpg');
|
||||||
|
}
|
||||||
|
$GeneratedXML .=
|
||||||
|
"<VID_FILE>"
|
||||||
|
. "<VID_IMG>/resources/images/thumbnails/" . $NAMEHASH . ".jpg</VID_IMG>"
|
||||||
|
. "<VID_PTH>" . $fullPath . "</VID_PTH>"
|
||||||
|
. "<VID_NAME>" . $fileName . "</VID_NAME>" .
|
||||||
|
"</VID_FILE>";
|
||||||
|
} elseif (preg_match('/^.*\.(png|jpg|gif|jpeg)$/i', strtolower($fileName))) {
|
||||||
|
$GeneratedXML .=
|
||||||
|
"<IMG_FILE>"
|
||||||
|
. "<IMAGE_LINK>". $fullPath . "</IMAGE_LINK>"
|
||||||
|
. "<IMAGE_NAME>" . $fileName . "</IMAGE_NAME>"
|
||||||
|
. "</IMG_FILE>";
|
||||||
|
} else {
|
||||||
|
$GeneratedXML .=
|
||||||
|
"<FILE>"
|
||||||
|
. "<FILE_PATH>" . $fullPath . "</FILE_PATH>"
|
||||||
|
. "<FILE_NAME>" . $fileName . "</FILE_NAME>"
|
||||||
|
. "</FILE>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$GeneratedXML .= "</DIR_LIST>";
|
||||||
|
echo $GeneratedXML;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determin action
|
||||||
|
if (isset($_POST['dirQuery'])) {
|
||||||
|
dirListing(trim($_POST['dirQuery']));
|
||||||
|
} else {
|
||||||
|
echo "<h2 class='errorStyling'>Error! Illegal Access Method!</h2>";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
17
resources/php/sse.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
// Prompt an update clint side when sse checks that there is updateListing.
|
||||||
|
$myfile = fopen("../vars.txt", "wa+");
|
||||||
|
$state = fgets($myfile);
|
||||||
|
|
||||||
|
if ($state == "updateListing") {
|
||||||
|
$txt = "Null";
|
||||||
|
fwrite($myfile, $txt);
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose($myfile);
|
||||||
|
|
||||||
|
header('Content-Type: text/event-stream');
|
||||||
|
header('Cache-Control: no-cache');
|
||||||
|
echo "data:" . $state . "\n\n";
|
||||||
|
flush();
|
||||||
|
?>
|
71
resources/php/upload.php
Executable file
@ -0,0 +1,71 @@
|
|||||||
|
<?php
|
||||||
|
function uploadFiles($targetDir) {
|
||||||
|
echo "<!DOCTYPE html>"
|
||||||
|
. "<head>"
|
||||||
|
. "<link type='text/css' rel='stylesheet' href='../css/base.css'/>"
|
||||||
|
. "<link type='text/css' rel='stylesheet' href='../css/main.css'/>"
|
||||||
|
. "</head><body>";
|
||||||
|
|
||||||
|
$numberOfFiles = count($_FILES['filesToUpload']['name']);
|
||||||
|
for ($i=0; $i < $numberOfFiles; $i++) {
|
||||||
|
$uploadOk = 1;
|
||||||
|
$fileName = $_FILES['filesToUpload']['name'][$i];
|
||||||
|
$fileTmpName = $_FILES['filesToUpload']['tmp_name'][$i];
|
||||||
|
|
||||||
|
// Check if file already exists
|
||||||
|
$targetFile = "../../" . $targetDir . $fileName;
|
||||||
|
if (file_exists($targetFile)) {
|
||||||
|
unlink($targetFile);
|
||||||
|
echo "<span class='warnning'>Server: [Warnning] --> This file already exists. Overwriting it.</span>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check file size
|
||||||
|
$fileSize = $_FILES['filesToUpload']['size'][$i];
|
||||||
|
if ($fileSize > 500000000000) {
|
||||||
|
echo "<span class='warnning'>Server: [Warnning] --> This file is too large.</span>";
|
||||||
|
$uploadOk = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Allow certain file formats
|
||||||
|
// $ext = pathinfo($targetFile,PATHINFO_EXTENSION);
|
||||||
|
// if($ext != "rar" && $ext != "iso" && $ext != "img" && $ext != "tar"
|
||||||
|
// && $ext != "zip" && $ext != "7z" && $ext != "7zip" && $ext != "jpg"
|
||||||
|
// && $ext != "png" && $ext != "jpeg" && $ext != "gif" && $ext != "mpeg"
|
||||||
|
// && $ext != "MOV" && $ext != "flv" && $ext != "avi" && $ext != "mp4"
|
||||||
|
// && $ext != "mov" && $ext != "mp3" && $ext != "m4a" && $ext != "ogg"
|
||||||
|
// && $ext != "mkv" && $ext != "docx" && $ext != "doc" && $ext != "odt"
|
||||||
|
// && $ext != "txt" && $ext != "pdf" && $ext != "webm" && $ext != "M4A"
|
||||||
|
// && $ext != "mpg" ) {
|
||||||
|
// echo "<span class='warnning'>This file type is not allowed. File Not uploade.</span>";
|
||||||
|
// $uploadOk = 0;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Check if $uploadOk is set to 0 by an error
|
||||||
|
if ($uploadOk == 0) {
|
||||||
|
echo "<span class='error'>Server: [Error] --> Your file " . $fileName . " was not uploaded.</span>";
|
||||||
|
// if everything is ok, try to upload file
|
||||||
|
} else {
|
||||||
|
if (move_uploaded_file($fileTmpName, $targetFile)) {
|
||||||
|
echo "<span class='success'>Server: [Success] --> The file " . $fileName . " has been uploaded.</span>";
|
||||||
|
} else {
|
||||||
|
echo "<span class='error'>Server: [Error] --> File not uploaded for the above reason(s).</span>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "</body></html>";
|
||||||
|
|
||||||
|
// Prompt an update clint side when sse checks that there is updateListing.
|
||||||
|
$myfile = fopen("../vars.txt", "wa+");
|
||||||
|
$txt = "updateListing";
|
||||||
|
fwrite($myfile, $txt);
|
||||||
|
fclose($myfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check access type.
|
||||||
|
if(isset($_POST["UploadFiles"])) {
|
||||||
|
uploadFiles($_POST["DIRPATHUL"]);
|
||||||
|
} else {
|
||||||
|
echo "<span style='color:rgb(255, 0, 0);'>Server: [Error] --> Incorrect access attempt!</span>";
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
91
resources/themes/Grid List.css
Executable file
@ -0,0 +1,91 @@
|
|||||||
|
/*START OF HOMEPAGE BUTTON SETTINGS*/
|
||||||
|
.homeSection {
|
||||||
|
float: left;
|
||||||
|
width: 40%;
|
||||||
|
height: 14em;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 100%;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: .2em;
|
||||||
|
color: rgba(0, 232, 255, .69); /*#00E8FF*/
|
||||||
|
background: rgba(19, 21, 21, .6);
|
||||||
|
}
|
||||||
|
/*END OF HOMEPAGE BUTTON SETTINGS*/
|
||||||
|
.header {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
width: 99%;
|
||||||
|
}
|
||||||
|
.section, .lnksNdirs, .header {
|
||||||
|
display: block;
|
||||||
|
float: left;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 100%;
|
||||||
|
padding-top: 1em;
|
||||||
|
margin: 1em;
|
||||||
|
background: rgba(19, 21, 21, .7);
|
||||||
|
color: rgba(0, 232, 255, .69); /*#00E8FF*/
|
||||||
|
/* border-style: solid;
|
||||||
|
border-width: .2em;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
.backbutton {
|
||||||
|
top: 3.55em;
|
||||||
|
clear: both;
|
||||||
|
z-index: 2;
|
||||||
|
position: fixed;
|
||||||
|
float: left;
|
||||||
|
width: 5%;
|
||||||
|
height: 50px;
|
||||||
|
opacity: .8;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 2em;
|
||||||
|
left: 25%;
|
||||||
|
width: 50%;
|
||||||
|
height: 360px;
|
||||||
|
background: rgba(0,0,0,.5);
|
||||||
|
transition: 0s;
|
||||||
|
transition-delay:2s;
|
||||||
|
}
|
||||||
|
iframe:hover {
|
||||||
|
left: 2%;
|
||||||
|
width: 99%;
|
||||||
|
height: 700px;
|
||||||
|
transition-delay:2s;
|
||||||
|
}
|
||||||
|
.lnkStyl {
|
||||||
|
clear: right;
|
||||||
|
float: left;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.imgsStyl {
|
||||||
|
margin-left: 50%;
|
||||||
|
opacity: 0.699999988079071044921875;
|
||||||
|
width: 32.333%;
|
||||||
|
height: 20em;
|
||||||
|
}
|
||||||
|
.imgsStyl:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
#bg {
|
||||||
|
position: fixed;
|
||||||
|
top: 0%;
|
||||||
|
left: 0%;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
#bg img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
89
resources/themes/Horizontal List.css
Executable file
@ -0,0 +1,89 @@
|
|||||||
|
body {
|
||||||
|
width: 600%;
|
||||||
|
}
|
||||||
|
/*START OF HOMEPAGE BUTTON SETTINGS*/
|
||||||
|
.homeSection {
|
||||||
|
float: left;
|
||||||
|
width: 40%;
|
||||||
|
height: 14em;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 100%;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: .2em;
|
||||||
|
color: rgba(0, 232, 255, .69); /*#00E8FF*/
|
||||||
|
background: rgba(19, 21, 21, .6);
|
||||||
|
}
|
||||||
|
/*END OF HOMEPAGE BUTTON SETTINGS*/
|
||||||
|
.header {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
width: 99%;
|
||||||
|
}
|
||||||
|
.section, .lnksNdirs, .header {
|
||||||
|
display: block;
|
||||||
|
clear: right;
|
||||||
|
float: left;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 100%;
|
||||||
|
padding-top: 1em;
|
||||||
|
margin: 1em;
|
||||||
|
background: rgba(19, 21, 21, .7);
|
||||||
|
color: rgba(0, 232, 255, .69); /*#00E8FF*/
|
||||||
|
/* border-style: solid;
|
||||||
|
border-width: .2em;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
.backbutton {
|
||||||
|
top: 3.55em;
|
||||||
|
clear: both;
|
||||||
|
z-index: 2;
|
||||||
|
position: fixed;
|
||||||
|
float: left;
|
||||||
|
width: 5%;
|
||||||
|
height: 50px;
|
||||||
|
opacity: .8;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 2em;
|
||||||
|
left: 25%;
|
||||||
|
width: 50%;
|
||||||
|
height: 360px;
|
||||||
|
background: rgba(0,0,0,.5)
|
||||||
|
transition: 0s;
|
||||||
|
transition-delay:2s;
|
||||||
|
}
|
||||||
|
.lnkStyl {
|
||||||
|
clear: right;
|
||||||
|
float: left;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.imgsStyl {
|
||||||
|
margin-left: 50%;
|
||||||
|
opacity: 0.699999988079071044921875;
|
||||||
|
width: 32.333%;
|
||||||
|
height: 20em;
|
||||||
|
}
|
||||||
|
.imgsStyl:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
#bg {
|
||||||
|
position: fixed;
|
||||||
|
top: 0%;
|
||||||
|
left: 0%;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
#bg img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
89
resources/themes/List Centered.css
Executable file
@ -0,0 +1,89 @@
|
|||||||
|
/*START OF HOMEPAGE BUTTON SETTINGS*/
|
||||||
|
.homeSection {
|
||||||
|
float: left;
|
||||||
|
width: 40%;
|
||||||
|
height: 14em;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 100%;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: .2em;
|
||||||
|
color: rgba(0, 232, 255, .69); /*#00E8FF*/
|
||||||
|
background: rgba(19, 21, 21, .6);
|
||||||
|
}
|
||||||
|
/*END OF HOMEPAGE BUTTON SETTINGS*/
|
||||||
|
.header {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
width: 99%;
|
||||||
|
}
|
||||||
|
.section, .lnksNdirs, .header {
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 100%;
|
||||||
|
padding-top: 1em;
|
||||||
|
margin-top: 1em;
|
||||||
|
background: rgba(19, 21, 21, .7);
|
||||||
|
color: rgba(0, 232, 255, .69); /*#00E8FF*/
|
||||||
|
/* border-style: solid;
|
||||||
|
border-width: .2em;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
.backbutton {
|
||||||
|
top: 3.55em;
|
||||||
|
clear: both;
|
||||||
|
z-index: 2;
|
||||||
|
position: fixed;
|
||||||
|
float: left;
|
||||||
|
width: 5%;
|
||||||
|
height: 50px;
|
||||||
|
opacity: .8;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
clear: both;
|
||||||
|
z-index: 1;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 5%;
|
||||||
|
width: 40%;
|
||||||
|
height: 500px;
|
||||||
|
background: rgba(0,0,0,.5)
|
||||||
|
transition: 0s;
|
||||||
|
transition-delay:2s;
|
||||||
|
}
|
||||||
|
iframe:hover {
|
||||||
|
width: 99%;
|
||||||
|
transition-delay:2s;
|
||||||
|
}
|
||||||
|
.lnkStyl {
|
||||||
|
clear: right;
|
||||||
|
float: left;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.imgsStyl {
|
||||||
|
margin-left: 50%;
|
||||||
|
opacity: 0.699999988079071044921875;
|
||||||
|
width: 32.333%;
|
||||||
|
height: 20em;
|
||||||
|
}
|
||||||
|
.imgsStyl:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
#bg {
|
||||||
|
position: fixed;
|
||||||
|
top: 0%;
|
||||||
|
left: 0%;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
#bg img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
110
resources/themes/List On The Left.css
Executable file
@ -0,0 +1,110 @@
|
|||||||
|
/*START OF HOMEPAGE BUTTON SETTINGS*/
|
||||||
|
.homeSection {
|
||||||
|
float: left;
|
||||||
|
width: 40%;
|
||||||
|
height: 14em;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 100%;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: .2em;
|
||||||
|
color: rgba(0, 232, 255, .69); /*#00E8FF*/
|
||||||
|
background: rgba(19, 21, 21, .6);
|
||||||
|
}
|
||||||
|
/*END OF HOMEPAGE BUTTON SETTINGS*/
|
||||||
|
|
||||||
|
.lnkStyl {
|
||||||
|
clear: right;
|
||||||
|
float: left;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
.imgsStyl {
|
||||||
|
clear: both;
|
||||||
|
float: left;
|
||||||
|
opacity: 0.699999988079071044921875;
|
||||||
|
width: 20%;
|
||||||
|
height: 15em;
|
||||||
|
}
|
||||||
|
.imgsStyl:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.header {
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.lnksNdirs {
|
||||||
|
width: 20%;
|
||||||
|
float:left;
|
||||||
|
}
|
||||||
|
/* used to format sections of pgs*/
|
||||||
|
.section, .lnksNdirs, .header {
|
||||||
|
clear: both;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 1em;
|
||||||
|
margin-top: 1em;
|
||||||
|
font-size: 100%;
|
||||||
|
background: rgba(19, 21, 21, .6);
|
||||||
|
background: rgba(19, 21, 21, .7);
|
||||||
|
color: rgba(0, 232, 255, .69); /*#00E8FF*/
|
||||||
|
/* border-style: solid;
|
||||||
|
border-width: .2em;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
.backbutton {
|
||||||
|
top: 3em;
|
||||||
|
clear: both;
|
||||||
|
z-index: 2;
|
||||||
|
position: fixed;
|
||||||
|
float: left;
|
||||||
|
width: 5%;
|
||||||
|
height: 55px;
|
||||||
|
opacity: .8;
|
||||||
|
}
|
||||||
|
.ifrmbutton2 {
|
||||||
|
top: 3em;
|
||||||
|
float: right;
|
||||||
|
right: .5em;
|
||||||
|
z-index:2;
|
||||||
|
position: fixed;
|
||||||
|
width: 5%;
|
||||||
|
height: 30px;
|
||||||
|
opacity: .6;
|
||||||
|
}
|
||||||
|
iframe {
|
||||||
|
margin-left: 2%;
|
||||||
|
z-index: 2;
|
||||||
|
position: fixed;
|
||||||
|
top: 8em;
|
||||||
|
right: 0.534em;
|
||||||
|
bottom: 2%;
|
||||||
|
width: 75%;
|
||||||
|
height: 525px;
|
||||||
|
background: rgba(0,0,0,.5)
|
||||||
|
transition: 0s;
|
||||||
|
transition-delay:2s;
|
||||||
|
}
|
||||||
|
iframe:hover {
|
||||||
|
height: 775px;
|
||||||
|
transition-delay:2s;
|
||||||
|
}
|
||||||
|
#bg {
|
||||||
|
position: fixed;
|
||||||
|
top: 0%;
|
||||||
|
left: 0%;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
#bg img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
}
|