PHPIndex

This page lists files in the current directory. You can view content, get download/execute commands for Wget, Curl, or PowerShell, or filter the list using wildcards (e.g., `*.sh`).

index.html
wget 'https://sme10.lists2.roe3.org/mdrone/jack-o-lantern_generator/index.html'
View Content
<!DOCTYPE html>
<html lang="en" >
<head>
<title>Jack O'Lantern Generator</title>
  <meta charset="UTF-8">
  <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css'>
  <link rel="stylesheet" href="./style.css">
</head>
<body>
<div class="header-container">
  <img src="jackogenerator.png" alt="Jack O'Lantern Generator" class="header-image" />
</div>

<!-- Generator Inputs -->
<div class="container">
  <div class="generator">
    <!-- Eyes Selection -->
    <div class="input-group">
      <label for="eyes"><i class="fas fa-eye"></i> Eyes</label>
      <select id="eyes">
        <option value="triangle">Triangle</option>
        <option value="round">Round</option>
        <option value="slanted">Slanted</option>
        <option value="star-shaped">Star-shaped</option>
        <option value="crescent">Crescent</option>
        <option value="heart-shaped">Heart-shaped</option>
        <option value="diamond">Diamond</option>
        <option value="spiral">Spiral</option>
      </select>
    </div>

    <!-- Nose Selection -->
    <div class="input-group">
      <label for="nose"><i class="fas fa-play" style="transform: rotate(32deg);"></i> Nose</label>
      <select id="nose">
        <option value="triangle">Triangle</option>
        <option value="round">Round</option>
        <option value="heart-shaped">Heart-shaped</option>
        <option value="none">No nose</option>
        <option value="square">Square</option>
        <option value="star-shaped">Star-shaped</option>
        <option value="crescent">Crescent</option>
      </select>
    </div>

    <!-- Mouth Selection -->
    <div class="input-group">
      <label for="mouth"><i class="fas fa-smile"></i> Mouth</label>
      <select id="mouth">
        <option value="grin">Grin</option>
        <option value="frown">Frown</option>
        <option value="square">Square</option>
        <option value="jagged">Jagged</option>
        <option value="curved">Curved</option>
        <option value="stitched">Stitched</option>
        <option value="fanged">Fanged</option>
        <option value="surprised">Surprised</option>
        <option value="smirk">Smirk</option>
      </select>

    </div>

    <!-- Accessories Selection -->
    <div class="input-group">
      <label for="accessories"><i class="fas fa-hat-wizard"></i> Accessories</label>
      <select id="accessories">
        <option value="none">None</option>
        <option value="witch hat">Witch Hat</option>
        <option value="scarf">Scarf</option>
        <option value="glasses">Glasses</option>
        <option value="sunglasses">Sunglasses</option>
        <option value="beanie">Beanie</option>
        <option value="bow tie">Bow Tie</option>
        <option value="earrings">Earrings</option>
        <option value="mustache">Mustache</option>
        <option value="pipe">Pipe</option>
        <option value="monocle">Monocle</option>
        <option value="crown">Crown</option>
        <option value="glasses and scarf">Glasses and Scarf</option>
        <option value="beanie and scarf">Beanie and Scarf</option>
        <option value="witch hat and glasses">Witch Hat and Glasses</option>
        <option value="sunglasses and bow tie">Sunglasses and Bow Tie</option>
        <option value="sunglasses and scarf">Sunglasses and Scarf</option>
        <option value="sunglasses and beanie">Sunglasses and Beanie</option>
      </select>
    </div>

    <!-- Background Selection -->
    <div class="input-group">
      <label for="background"><i class="fas fa-tree"></i> Background</label>
      <select id="background">
        <option value="spooky forest">Spooky Forest</option>
        <option value="haunted house">Haunted House</option>
        <option value="graveyard">Graveyard</option>
        <option value="misty night">Misty Night</option>
        <option value="full moon">Full Moon</option>
        <option value="pumpkin patch">Pumpkin Patch</option>
        <option value="witch's cauldron">Witch's Cauldron</option>
        <option value="abandoned castle">Abandoned Castle</option>
      </select>
    </div>

    <!-- Art Style Selection -->
    <div class="input-group">
      <label for="style"><i class="fas fa-palette"></i> Art Style</label>
      <select id="style">
        <option value="realistic">Realistic</option>
        <option value="cartoon">Cartoon</option>
        <option value="watercolor">Watercolor</option>
        <option value="oil painting">Oil Painting</option>
        <option value="digital art">Digital Art</option>
        <option value="sketchy">Sketchy</option>
        <option value="pixel art">Pixel Art</option>
        <option value="gothic">Gothic</option>
        <option value="pop art">Pop Art</option>
        <option value="abstract">Abstract</option>
        <option value="line drawing">Line Drawing</option>
        <option value="comic book">Comic Book</option>
      </select>

    </div>

    <!-- Generate Button -->
    <button id="generate">
      <i class="fas fa-magic"></i> Conjure Your Jack O'Lantern
    </button>
  </div>

  <!-- Output Section -->
  <div class="output">
    <div id="message"></div>
    <div id="loading-spinner" class="loader"></div>
    <div id="image-container">
      <img src="yourcreationhere.png" alt="Placeholder for Jack o'Lantern" />
    </div>
    <div id="utilities">
      <a id="dlLink" href="#" target="_blank" style="display: none;">
        <i class="fas fa-ghost"></i> Unleash Your Creation
      </a>
    </div>
  </div>
</div>
<script  src="./script.js"></script>
</body>
</html>
jackogenerator.png
wget 'https://sme10.lists2.roe3.org/mdrone/jack-o-lantern_generator/jackogenerator.png'
View Content
script.js
wget 'https://sme10.lists2.roe3.org/mdrone/jack-o-lantern_generator/script.js'
View Content
document.addEventListener("DOMContentLoaded", function () {
  const generateButton = document.getElementById("generate");
  const eyesInput = document.getElementById("eyes");
  const noseInput = document.getElementById("nose");
  const mouthInput = document.getElementById("mouth");
  const accessoriesInput = document.getElementById("accessories");
  const backgroundInput = document.getElementById("background");
  const styleInput = document.getElementById("style");
  const imageContainer = document.getElementById("image-container");
  const loadingSpinner = document.getElementById("loading-spinner");
  const dlLink = document.getElementById("dlLink");
  const message = document.getElementById("message");

  dlLink.style.display = "none";

  generateButton.addEventListener("click", function () {
    const description = encodeURIComponent(createDescription());
    const imageUrl = `https://image.pollinations.ai/prompt/${description}?nologo=1&seed=${generateRandomSeed()}&height=512&width=512`;
    displayLoadingState(true);

    // Use a CORS proxy
    const proxyUrl = "https://corsproxy.io/?";
    const proxiedImageUrl = proxyUrl + encodeURIComponent(imageUrl);

    fetch(proxiedImageUrl)
      .then((response) => response.blob())
      .then((blob) => {
        const img = new Image();
        img.onload = function () {
          displayGeneratedImage(this);
          updateDownloadLink(imageUrl); // Use original URL for download
          message.textContent = "Your Jack o'Lantern has been generated!";
          displayLoadingState(false);
        };
        img.onerror = function () {
          throw new Error("Image failed to load");
        };
        img.src = URL.createObjectURL(blob);
      })
      .catch((error) => {
        displayLoadingState(false);
        message.textContent = "Failed to generate the image. Please try again.";
        console.error("Error:", error);
      });
  });

  function createDescription() {
    return `Detailed Halloween pumpkin Jack o'Lantern, ${getEyesDescription(
      eyesInput.value
    )}, ${getNoseDescription(noseInput.value)}, ${getMouthDescription(mouthInput.value)}, ${getAccessoriesDescription(accessoriesInput.value)} in a ${getBackgroundDescription(backgroundInput.value)}, ${getStyleDescription(styleInput.value)} style, spooky, highly detailed`;
  }

  function generateRandomSeed() {
    return Math.floor(Math.random() * 1e9);
  }

  function displayLoadingState(isLoading) {
    loadingSpinner.style.display = isLoading ? "block" : "none";
    generateButton.disabled = isLoading;
    if (isLoading) {
      imageContainer.innerHTML = "";
      dlLink.style.display = "none";
      message.textContent = "Conjuring your Jack O'Lantern...";
    }
  }

  function displayGeneratedImage(img) {
    imageContainer.innerHTML = "";
    imageContainer.appendChild(img);
  }

  function updateDownloadLink(imageUrl) {
    dlLink.style.display = "inline-block";
    dlLink.href = imageUrl;
  }

  function getEyesDescription(eyesType) {
    const descriptions = {
      triangle: "triangular-shaped glowing eyes",
      round: "round glowing eyes",
      slanted: "slanted menacing eyes",
      "star-shaped": "star-shaped glowing eyes",
      crescent: "crescent-shaped glowing eyes",
      "heart-shaped": "heart-shaped glowing eyes",
      diamond: "diamond-shaped glowing eyes",
      spiral: "spiral-shaped glowing eyes"
    };
    return descriptions[eyesType] || "glowing eyes";
  }

  function getNoseDescription(noseType) {
    const descriptions = {
      triangle: "triangular-shaped nose",
      round: "round nose",
      "heart-shaped": "heart-shaped nose",
      none: "no nose",
      square: "square-shaped nose",
      "star-shaped": "star-shaped nose",
      crescent: "crescent-shaped nose"
    };
    return descriptions[noseType] || "carved nose";
  }

  function getMouthDescription(mouthType) {
    const descriptions = {
      grin: "wide grinning mouth with teeth",
      frown: "frowning mouth",
      square: "square-shaped mouth",
      jagged: "jagged, zigzag mouth",
      curved: "curved smiling mouth",
      stitched: "stitched mouth",
      fanged: "fanged grinning mouth",
      surprised: "surprised O-shaped mouth",
      smirk: "a mischievous smirk or smile" // New Smirk option
    };
    return descriptions[mouthType] || "carved mouth";
  }

  function getAccessoriesDescription(accessoryType) {
    const descriptions = {
      none: "",
      "witch hat": "wearing a witch hat",
      scarf: "wearing a cozy scarf",
      glasses: "wearing glasses",
      sunglasses: "wearing cool sunglasses",
      beanie: "wearing a warm beanie",
      "bow tie": "wearing a dapper bow tie",
      earrings: "with dangling earrings",
      mustache: "with a curly mustache",
      pipe: "with a smoking pipe",
      monocle: "wearing a monocle",
      crown: "wearing a regal crown",
      "glasses and scarf": "wearing glasses and a cozy scarf",
      "beanie and scarf": "wearing a warm beanie and a cozy scarf",
      "witch hat and glasses": "wearing a witch hat and glasses",
      "sunglasses and bow tie": "wearing cool sunglasses and a dapper bow tie",
      "sunglasses and scarf": "wearing cool sunglasses and a cozy scarf",
      "sunglasses and beanie": "wearing cool sunglasses and a warm beanie"
    };
    return descriptions[accessoryType] || "";
  }

  function getBackgroundDescription(backgroundType) {
    const descriptions = {
      "spooky forest": "spooky forest with twisted trees and fog",
      "haunted house": "haunted house with eerie windows and a full moon",
      graveyard: "misty graveyard with crooked tombstones",
      "misty night": "misty night scene with a full moon",
      "full moon": "dramatic full moon night sky",
      "pumpkin patch": "pumpkin patch with various sized pumpkins",
      "witch's cauldron": "bubbling witch's cauldron with green smoke",
      "abandoned castle": "looming abandoned castle on a hilltop"
    };
    return descriptions[backgroundType] || "spooky Halloween scene";
  }

  function getStyleDescription(styleType) {
    const descriptions = {
      realistic: "realistic style",
      cartoon: "cartoon style",
      watercolor: "watercolor painting style",
      "oil painting": "oil painting style",
      "digital art": "digital art style",
      sketchy: "sketchy, hand-drawn style",
      "pixel art": "pixel art style",
      gothic: "dark, gothic style",
      "pop art": "bold, pop art style",
      abstract: "abstract art style", // New art styles
      "line drawing": "minimalist line drawing style",
      "comic book": "comic book style"
    };
    return descriptions[styleType] || "artistic style";
  }
});
style.css
wget 'https://sme10.lists2.roe3.org/mdrone/jack-o-lantern_generator/style.css'
View Content
:root {
}

* {
  font-family: "Rubik", sans-serif;
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  background-color: #121212;
  color: #ff6600;
}

.header-container {
  width: 95%;
  max-width: 1200px;
  margin: 2rem auto;
}

.header-image {
  width: 100%;
  height: 100px;
  object-fit: cover;
  object-position: center;
}

.container {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #1e1e1e;
  border-radius: 20px;
  padding: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.generator,
.output {
  flex: 1;
  min-width: 300px;
  display: flex;
  flex-direction: column;
}

.input-group {
  margin-bottom: 1.5rem;
}

label {
  display: flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

label i {
  margin-right: 0.5rem;
  font-size: 1.2rem;
  color: #ff6600;
}

select {
  width: 100%;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 2px solid #ff6600;
  border-radius: 10px;
  background-color: #2a2a2a;
  color: #ffffff;
  appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg fill="%23ff6600" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 0.7rem center;
  background-size: 1.5em auto;
}

select:focus {
  outline: none;
  border-color: #ff9933;
  box-shadow: 0 0 10px rgba(255, 153, 51, 0.5);
}

button,
#dlLink {
  width: 100%;
  background-color: #222325;
  color: #ffffff;
  padding: 1rem;
  border: 2px solid #ffffff;
  border-radius: 50px;
  font-size: 1.2rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  margin-top: auto;
}

button:hover,
#dlLink:hover {
  background-color: #ff9933;
}

button i,
#dlLink i {
  margin-right: 0.5rem;
}

.output {
  text-align: center;
  position: relative;
}

#message {
  font-size: 1.2rem;
  margin-bottom: 1rem;
  color: #ffffff;
  font-weight: 600;
}

#image-container {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}

#image-container img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.loader {
  width: 64px;
  height: 220px;
  border: 3px solid #ff6600;
  border-radius: 0 0 50px 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0px 0px #ff3d00 inset;
  background-image: linear-gradient(#ff3d00 100%, transparent 0);
  background-position: 0px 220px;
  background-size: 64px 220px;
  background-repeat: no-repeat;
  animation: animloader98 6s linear infinite;
  display: none;
}

.loader::after {
  content: "";
  box-sizing: border-box;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  border: 3px solid #ff6600;
  border-radius: 50%;
  width: 78px;
  height: 16px;
}

.loader::before {
  content: "";
  box-sizing: border-box;
  left: 0;
  bottom: -11px;
  border-radius: 50%;
  position: absolute;
  width: 10px;
  height: 10px;
  animation: animloader98s 6s linear infinite;
}

@keyframes animloader98 {
  0% {
    background-position: 0 220px;
  }
  100% {
    background-position: 0 0;
  }
}

@keyframes animloader98s {
  0% {
    box-shadow: 8px -10px rgba(255, 102, 0, 0), 12px 0px rgba(255, 102, 0, 0),
      16px -15px rgba(255, 102, 0, 0), 24px 0px rgba(255, 102, 0, 0);
  }
  20% {
    box-shadow: 8px -40px rgba(255, 102, 0, 0), 12px -20px rgba(255, 102, 0, 0),
      16px -60px rgba(255, 102, 0, 0.5), 24px -10px rgba(255, 102, 0, 0);
  }
  40% {
    box-shadow: 4px -80px rgba(255, 102, 0, 0.5),
      12px -60px rgba(255, 102, 0, 0.4), 16px -120px rgba(255, 102, 0, 0.5),
      24px -30px rgba(255, 102, 0, 0.5);
  }
  60% {
    box-shadow: 8px -120px rgba(255, 102, 0, 0.5),
      12px -100px rgba(255, 102, 0, 0.4), 16px -180px rgba(255, 102, 0, 0.5),
      24px -50px rgba(255, 102, 0, 0.5);
  }
  80% {
    box-shadow: 4px -160px rgba(255, 102, 0, 0.5),
      8px -140px rgba(255, 102, 0, 0.4), 16px -240px rgba(255, 102, 0, 0),
      24px -70px rgba(255, 102, 0, 0.5);
  }
  100% {
    box-shadow: 8px -200px rgba(255, 102, 0, 0),
      12px -180px rgba(255, 102, 0, 0), 16px -240px rgba(255, 102, 0, 0),
      24px -90px rgba(255, 102, 0, 0);
  }
}

button {
  min-height: 50px; /* Adjust this value as needed */
}

.output {
  min-height: 550px; /* Adjust this value based on your layout */
}

@media (max-width: 768px) {
  .container {
    flex-direction: column;
  }
  .generator,
  .output {
    width: 100%;
  }
}
yourcreationhere.png
wget 'https://sme10.lists2.roe3.org/mdrone/jack-o-lantern_generator/yourcreationhere.png'
View Content