This commit is contained in:
Dusk 2021-08-29 00:43:04 +02:00
commit 415eae4374
4 changed files with 137 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
content/*
favicon.apng

5
README.md Normal file
View File

@ -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.

71
index.php Normal file
View File

@ -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>

59
normal.css Normal file
View File

@ -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;
}