mirror of
https://github.com/Znote/ZnoteAAC.git
synced 2025-04-26 01:09:22 +02:00
132 lines
4.0 KiB
PHP
132 lines
4.0 KiB
PHP
<?php require_once 'engine/init.php'; include 'layout/overall/header.php';
|
|
|
|
/* SETUP INSTALLATION
|
|
- See comments above $config['gallery'] in config.php */
|
|
|
|
$logged_in = user_logged_in();
|
|
if ($logged_in === true) {
|
|
if (!empty($_POST['new'])) {
|
|
?>
|
|
<h1>Create image article</h1>
|
|
<p>This gallery is powered by IMGUR image host.</p>
|
|
<form action="" method="post" enctype="multipart/form-data">
|
|
Select image to upload:<br><input type="file" name="imagefile" id="imagefile"><br>
|
|
Image Title:<br /><input type="text" name="title" size="70"><br />
|
|
Image Description:<br /><textarea name="desc" cols="55" rows="15"></textarea><br />
|
|
<input type="submit" value="Upload Image" name="submit">
|
|
</form>
|
|
<?php
|
|
}
|
|
|
|
if (isset($_FILES['imagefile']) && !empty($_FILES['imagefile'])) {
|
|
$image = file_get_contents($_FILES['imagefile']['tmp_name']);
|
|
$imgurClientID = $config['gallery']['Client ID'];
|
|
|
|
// Post image to imgur
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, "https://api.imgur.com/3/image/");
|
|
curl_setopt($ch, CURLOPT_HEADER, false);
|
|
curl_setopt($ch, CURLOPT_POST, true);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, [
|
|
"type" => "file",
|
|
"name" => $_FILES['imagefile']['name'],
|
|
"image" => $image
|
|
]);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
|
"Authorization: Client-ID {$imgurClientID}"
|
|
));
|
|
$response = json_decode(curl_exec($ch));
|
|
$image_url = $response->data->link;
|
|
$image_delete = $response->data->deletehash;
|
|
$title = $_POST['title'];
|
|
$desc = $_POST['desc'];
|
|
|
|
if ($image_url !== false) {
|
|
|
|
// Insert to database
|
|
$inserted = insertImage((int)$session_user_id, $title, $desc, $image_url, $image_delete);
|
|
if ($inserted === true) {
|
|
?>
|
|
<h1>Image Posted</h1>
|
|
<p>However, your image will not be listed until a GM have verified it.<br />
|
|
Feel free to remind the GM in-game to login on website and approve the image post.</p>
|
|
|
|
<h2>Preview:</h2>
|
|
<table>
|
|
<tr class="yellow">
|
|
<td><h3><?php echo $title; ?></h3></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="<?php echo $image_url; ?>" target="_BLANK"><img class="galleryImage" style="max-width: 100%;" src="<?php echo $image_url; ?>" alt="<?php echo $title; ?>"/></a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<?php
|
|
$descr = str_replace("\\r", "", $desc);
|
|
$descr = str_replace("\\n", "<br />", $descr);
|
|
?>
|
|
<p><?php echo $descr; ?></p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php
|
|
} else { // Image not inserted because it already exist
|
|
?>
|
|
<h1>Image already exist</h1>
|
|
<p>The image has already been posted. However, images will not be listed until a GM have verified it.</p>
|
|
<?php
|
|
}
|
|
|
|
} else { // Failed to locate imageSrc
|
|
?>
|
|
<h1>Failed to find the image</h1>
|
|
<p>We failed to find the image, did you give us the Image code from <a href="http://www.freeimagehosting.net/">www.freeimagehosting.net</a>?</p>
|
|
<?php
|
|
}
|
|
}
|
|
}
|
|
if (empty($_POST)) {
|
|
?>
|
|
<h1>Gallery</h1>
|
|
<?php if ($logged_in === true) { ?>
|
|
<form action="" method="post">
|
|
Got some cool images to show the community? <input type="submit" name="new" value="Add Image">
|
|
</form>
|
|
<?php
|
|
}
|
|
|
|
$cache = new Cache('engine/cache/gallery');
|
|
$images = $cache->load();
|
|
if (is_array($images) && !empty($images)) {
|
|
foreach($images as $image) {
|
|
?>
|
|
<table>
|
|
<tr class="yellow">
|
|
<td><h3><?php echo $image['title']; ?></h3></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="<?php echo $image['image']; ?>" target="_BLANK"><img class="galleryImage" style="max-width: 100%;" src="<?php echo $image['image']; ?>" alt="<?php echo $image['title']; ?>"/></a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<?php
|
|
$descr = str_replace("\\r", "", $image['desc']);
|
|
$descr = str_replace("\\n", "<br />", $descr);
|
|
?>
|
|
<p><?php echo $descr; ?></p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<?php }
|
|
} else echo '<h2>There are currently no public images.</h2>';
|
|
|
|
if ($logged_in === false) echo 'You need to be logged in to add images.';
|
|
}
|
|
include 'layout/overall/footer.php';
|
|
?>
|