Please make sure your profile image is large enough for print. Don't worry about cropping or aspect ratio, it will be adjusted into the layout by us.
PNG, JPG or GIF
min. 500 x 500 @ 300 dpi
[], 'success' => [], 'warning' => [], 'danger' => [] ]; $data = ['img' => '', 'name' => '', 'url' => '', 'desc' => '']; try { $data = Storage::get($id); } catch(Exception $ex) { $alerts['danger'][] = '❌ Error reading database'; } $img = $data['img']; // echo '
'; print_r($img); echo ''; $name = $data['name']; $url = $data['url']; $desc = $data['desc']; if ($_SERVER["REQUEST_METHOD"] === 'POST' && isset($_GET['upload'])) { http_response_code(202); $targetDir = "uppies/"; $file = $_FILES["files"]; $targetFile = $targetDir . basename($file["name"][0]); $imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION)); // Create the uploads directory if it doesn't exist if (!is_dir($targetDir)) { mkdir($targetDir, 0775, true); } // Check if the file is actually an image $check = getimagesize($file["tmp_name"][0]); if ($check === false) { exit("❌ Error: File is not a valid image."); } // Allow only specific image file formats $allowedTypes = ["jpg", "jpeg", "png", "gif"]; if (!in_array($imageFileType, $allowedTypes)) { exit("❌ Error: Only JPG, JPEG, PNG and GIF files allowed."); } // Limit file size (e.g., 5MB) if ($file["size"][0] > 100 * 1024 * 1024) { exit("❌ Error: File too large (max. 100 MB)"); } // generate destination file name $finalPath = $targetDir . $id . '.' . $imageFileType; // Move uploaded file to the target directory if (move_uploaded_file($file["tmp_name"][0], $finalPath)) { try { Storage::set_img($id, $id . '.' . $imageFileType); } catch(Exception $ex) { exit("❌ Database error."); } http_response_code(200); exit($finalPath); } exit("❌ General error saving the file."); } else if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['desc']) && isset($_POST['name']) && isset($_POST['url'])) { $name = htmlspecialchars(trim($_POST['name'])); $url = htmlspecialchars(trim($_POST['url'])); $desc = htmlspecialchars(trim($_POST['desc'])); if (!empty($name) && !empty($desc) && !empty($url)) { try { Storage::set_data($id, $name, $url, $desc); Telegram::report("EF Conbook Artist Credits Submission\nname: $name\nurl: $url\ntext:\n$desc"); $alerts['success'][] = '✅ Entry saved'; } catch(Exception $ex) { $alerts['danger'][] = $ex; } } } ?>
Thank you for submitting art to the Eurofurence Conbook. In the event of your art making an appearance in the book, your are eligible to an entry in the artist credits.
Edit your entry below before the end of July to make sure you are credited appropriately.
Bookmark this page or save the following url to be able to edit your entry later:
Please make sure your profile image is large enough for print. Don't worry about cropping or aspect ratio, it will be adjusted into the layout by us.