aboutsummaryrefslogtreecommitdiff
path: root/art/index.php
diff options
context:
space:
mode:
authorAda Isopods <me@bathynomus.xyz>2024-12-05 20:26:58 -0700
committerAda Isopods <me@bathynomus.xyz>2026-10-21 23:30:20 -0600
commite0406f8c60a05887c2670d633d1d8eb58c7332c1 (patch)
tree77fd790ff67921e35f5c0f10a1c1e375a5b4d566 /art/index.php
parentb58b9832183c5dec8af2dfd580abf3d5d9bdc086 (diff)
overhauled the entire site basically
Diffstat (limited to 'art/index.php')
-rw-r--r--art/index.php146
1 files changed, 0 insertions, 146 deletions
diff --git a/art/index.php b/art/index.php
deleted file mode 100644
index 4e5735b..0000000
--- a/art/index.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<!--?php
-ini_set('display_errors', 1);
-ini_set('display_startup_errors', 1);
-error_reporting(E_ALL);
-?-->
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <?php
- $siteurl = $_SERVER['HTTP_HOST'];
- if($siteurl == "deeptwisty.com") {
- echo '<link rel="icon" type="image/x-icon" href="../favicon.ico"><title>deep twisty official NFTs</title><style>@font-face { font-family: "Ubuntu"; src: url(../ubuntu.ttf); } :root { --stdfont: "Ubuntu", Century Gothic,CenturyGothic,AppleGothic,sans-serif; } </style>';
- } elseif($siteurl == "isopod.cool") {
- echo '<link rel="icon" type="image/x-icon" href="../../favicon.ico"><title>niceopod official NFTs</title><style>:root { --stdfont: mono, monospace; } </style>';
- }
- ?>
- <style>
- :root {
- --shadowcolor: #00000099;
- --imagesperrow: 4;
- }
- body {
- font-family: var(--stdfont);
- margin: 0;
- padding: 0;
- background: #202020;
- width: 100vw;
- overflow-x: hidden;
- }
- .flex-container {
- margin: 0;
- padding: 0;
- overflow-x: hidden;
- display: flex;
- flex-wrap: wrap;
- }
-
- @media (max-width: 1200px) {
- :root {
- --imagesperrow: 3;
- }
- }
- @media (max-width: 800px) {
- :root {
- --imagesperrow: 2;
- }
- }
-
- a {
- height: calc(100vw / var(--imagesperrow));
- width: calc(100vw / var(--imagesperrow));
- color: transparent;
- text-decoration: none;
- background-position: center;
- background-size: 100%;
- padding: 2rem;
- transition-duration: 0.5s;
- box-sizing: border-box;
- display: flex;
- justify-content: center;
- align-items: center;
- box-shadow: 0 0 0 0 var(--shadowcolor) inset;
- }
- a span {
- text-align: center;
- }
- input[type="checkbox"]:checked + label a {
- --shadowcolor: #000000ef;
- }
- a:hover, input[type="checkbox"]:checked + label a {
- color: white;
- background-size: 115%;
- /*box-shadow: 0 calc(100vw / var(--imagesperrow)) 0 0 var(--shadowcolor) inset;*/
- box-shadow: 0 0 0 calc(100vw / var(--imagesperrow) / 2) var(--shadowcolor) inset;
- }
- .caption {
- padding: 10px;
- padding-top: 6px;
- height: 100%;
- border-bottom-right-radius: 10px;
- }
- </style>
- </head>
- <body>
- <div class="flex-container">
- <?php
- $imagetimes = Array();
-
- function test_image($name) { // Returns true if a file is an image (png or gif), false otherwise
- return (strpos($name, ".png") > 0 or strpos($name, ".gif") > 0);
- }
-
- function imagetime($file) { // This needs to return a Unix timestamp.
- global $imagetimes;
- if(!$imagetimes[$file]) {
- $imagetimes[$file] = filemtime($file);
- }
- return $imagetimes[$file];
- }
-
- $images = array_filter(scandir("."), "test_image"); // Generate array of every image in the directory by filename
-
- usort($images, function($a, $b) { // Sort images by modification date of the files
- return imagetime("$b") - imagetime("$a");
- });
-
- $datecounts = array();
- foreach($images as $im) { // Generate list of dates and how many images have them
- $mt = date("Y-m-d", imagetime("$im")); // File modification date in ISO format
- if($datecounts[$mt]) {
- $datecounts[$mt]++;
- } else {
- $datecounts[$mt] = 1;
- }
- }
-
- $pmt = $mt;
- foreach($images as $im) { // Loops through each image and echoes it to the page
-
- $no = substr($im, 0, strpos($im, ".")); // Filename with extension stripped
- $mt = date("Y-m-d", imagetime("$im")); // File modification date in ISO format
- $is = getimagesize("$im");
- $ist = $is[0] . "×" . $is[1] . "px"; // Image size formatted as X×Ypx
-
- $cl = "";
- if($datecounts[$mt] > 1) { // If there's more than one image published on the same date, merge them into a single thumbnail that can be clicked to reveal the full set. Would have done this based on names, but that would have been much harder. Might do that later.
- if($pmt != $mt) {
- echo "<style>.d$mt { display: none; } #show$mt:checked ~ .d$mt { display: flex; } #show$mt + label:hover a { cursor: pointer; }</style><input type='checkbox' style='display: none;' id='show$mt'></input>";
- $tn = $no;
- if(file_exists("thumbs/$mt.jpg")) { // Use the same image for the group thumbnail as the first image in the group. If there's a thumbnail named with the date in question, use that instead.
- $tn = $mt;
- }
- echo "<label for='show$mt'><a style='background-image:url(thumbs/$tn.jpg);'><span>...</span></a></label>";
- $pmt = $mt;
- }
- $cl = " class='d$mt'";
- }
-
- echo "<a href='$im' style='background-image:url(thumbs/$no.jpg);'$cl><span>$im<br>$mt • $ist</span></a>";
- }
- ?>
- </div>
- </body>
-</html>