Files
name-a-color/upload.php
T

52 lines
1.0 KiB
PHP

<?php
include __DIR__ . "/incl/util.php";
header("Content-Type: text/plain");
$time = time();
$conn = connectToDatabase();
$color = $_GET['color'];
$name = $_GET['name'];
$color = ltrim($color, '#');
if (!preg_match('/^[a-f0-9]{6}$/i', $color)) {
echo "-1";
exit;
}
if (strlen($name) < 3) {
echo "-2";
exit;
}
if (strlen($name) > 50) {
echo "-3";
exit;
}
$name = base64_encode($name);
$stmt = $conn->prepare("SELECT name FROM colors WHERE color = :color");
$stmt->bindParam(':color', $color);
$stmt->execute();
if ($stmt->rowCount() > 0) {
echo "-4";
exit;
}
$stmt = $conn->prepare("SELECT name FROM colors WHERE name = :name");
$stmt->bindParam(':name', $name);
$stmt->execute();
if ($stmt->rowCount() > 0) {
echo "-5";
exit;
}
$stmt = $conn->prepare("INSERT INTO colors (color, name, timestamp) VALUES (:color, :name, :time)");
$stmt->bindParam(':color', $color);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':time', $time);
$stmt->execute();
$lastInsertId = $conn->lastInsertId();
echo "1:" . $lastInsertId;