First
This commit is contained in:
commit
415eae4374
|
@ -0,0 +1,2 @@
|
||||||
|
content/*
|
||||||
|
favicon.apng
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Kino-PHP
|
||||||
|
## What is this
|
||||||
|
PHP script that allows the navigation of folders and shows files within the "/content" folder.
|
||||||
|
|
||||||
|
It is styled with a custom css that you may edit. It is also in catalan, which you may also change.
|
|
@ -0,0 +1,71 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ca">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
|
<title>Dusk Kino</title>
|
||||||
|
<link rel="icon" type="image/png" href="./favicon.apng" sizes="32x32">
|
||||||
|
<link href="./normal.css" rel="stylesheet" type="text/css" media="all"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Dusk Kino</h1>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
$basedir = "./content";
|
||||||
|
$_GET["q"] = $_GET["q"] ?? "";
|
||||||
|
|
||||||
|
$currentdir = $basedir . ($_GET["q"] ? "/" . $_GET["q"] : "");
|
||||||
|
|
||||||
|
//Avoid being able to go back in directory structure
|
||||||
|
if(strstr($currentdir, "..") || !is_dir($currentdir)) {
|
||||||
|
echo("404");
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Check if home and back buttons are needed
|
||||||
|
if($currentdir != $basedir) {
|
||||||
|
echo("<div id=\"navigation\">");
|
||||||
|
echo("<a href=\"/\">Inici</a><br/>");
|
||||||
|
|
||||||
|
//Solve ocurrences where url has ?q=./
|
||||||
|
if (dirname($_GET["q"]) == ".") {
|
||||||
|
$parentdir = "";
|
||||||
|
}
|
||||||
|
else $parentdir = dirname($_GET["q"]);
|
||||||
|
|
||||||
|
echo("<a href=\"?q=" . $parentdir . "\">Arrere</a><br/>");
|
||||||
|
echo("</div>");
|
||||||
|
}
|
||||||
|
|
||||||
|
echo("<hr style=\"border:2px dashed #e87d3e; margin-bottom: 65px\"/>");
|
||||||
|
|
||||||
|
$is_there_files = false;
|
||||||
|
|
||||||
|
//Show folder links
|
||||||
|
$dirs = scandir($currentdir);
|
||||||
|
echo("<h2>Carpetes</h2>");
|
||||||
|
foreach($dirs as $file) {
|
||||||
|
if ($file[0] != '.' && is_dir("$currentdir/$file")) {
|
||||||
|
echo("<a href=\"?q=" . ($_GET["q"] ? $_GET["q"] . "/" : "") . "$file\"><b>/$file/</b></a><br/>\n");
|
||||||
|
}
|
||||||
|
if(!is_dir("$currentdir/$file")) $is_there_files = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($is_there_files){
|
||||||
|
echo("<hr/>");
|
||||||
|
|
||||||
|
//Show file links
|
||||||
|
echo("<h2>Fitxers</h2>");
|
||||||
|
|
||||||
|
echo("<div id=\"files\">");
|
||||||
|
foreach($dirs as $file) {
|
||||||
|
if ($file[0] != '.' && !is_dir("$currentdir/$file")) {
|
||||||
|
echo("<a href=\"$currentdir/$file\"><b>$file</b></a><br/>\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo("</div>");
|
||||||
|
}
|
||||||
|
printf('<p class="path">/%s</p>', $_GET["q"]);
|
||||||
|
?>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,59 @@
|
||||||
|
body {
|
||||||
|
background-color: #2e2e2e;
|
||||||
|
color: #d6d6d6;
|
||||||
|
font-family: "Courier New", monospace;
|
||||||
|
font-size: 1.25em;
|
||||||
|
margin: 75px 20%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 4em;
|
||||||
|
}
|
||||||
|
/* unvisited link */
|
||||||
|
a:link {
|
||||||
|
color: #e87d3e;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* visited link */
|
||||||
|
a:visited {
|
||||||
|
color: #e87d3e;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mouse over link */
|
||||||
|
a:hover {
|
||||||
|
color: #2e2e2e;
|
||||||
|
background-color: #e87d3e;
|
||||||
|
transition: color 0.1s, background-color 0.1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* selected link */
|
||||||
|
/*a:active {
|
||||||
|
} */
|
||||||
|
|
||||||
|
#navigation {
|
||||||
|
border: 2px dashed #d6d6d6;
|
||||||
|
padding: 10px;
|
||||||
|
display: inline-block;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#files {
|
||||||
|
padding: 20px;
|
||||||
|
text-align: left;
|
||||||
|
display: inline-block;
|
||||||
|
border: 2px dashed #d6d6d6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.path {
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 0.75em;
|
||||||
|
color: rgba(255,255,255,0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 1.5px solid #d6d6d6;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue