<?php namespace Garradin; require __DIR__ . '/_inc.php'; $id = isset($_GET['id']) ? $_GET['id'] : false; $filename = !empty($_GET['file']) ? $_GET['file'] : false; $size = false; if (empty($id)) { throw new UserException('Fichier inconnu.'); } foreach ($_GET as $key => $value) { if (substr($key, -2) == 'px') { $size = (int) substr($key, 0, -2); break; } } $id = base_convert($id, 36, 10); $file = new Fichiers((int) $id); $membres = new Membres(); $is_logged = $membres->isLogged(); if (!$file->checkAccess($membres->getLoggedUser())) { header('HTTP/1.1 403 Forbidden', true, 403); throw new UserException('Vous n\'avez pas accès à ce fichier.'); } if ($size) { $file->serveThumbnail($size); } else { $file->serve(); }
$error = false; if (!$page) { throw new UserException('Page introuvable.'); } // Vérification des hash avant upload if ($hash_check = Utils::post('uploadHelper_hashCheck')) { echo json_encode(Fichiers::checkHashList($hash_check)); exit; } if (Utils::post('delete')) { if (!Utils::CSRF_check('wiki_files_' . $page['id'])) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { try { $fichier = new Fichiers(Utils::post('delete')); if (!$fichier->checkAccess($user)) { throw new UserException('Vous n\'avez pas accès à ce fichier.'); } $fichier->remove(); Utils::redirect('/admin/wiki/_fichiers.php?page=' . $page['id']); } catch (UserException $e) { $error = $e->getMessage(); } } } if (Utils::post('upload') || isset($_POST['uploadHelper_status'])) { if (!Utils::CSRF_check('wiki_files_' . $page['id'])) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } elseif (Utils::post('uploadHelper_status') > 0) { $error = 'Un seul fichier peut être envoyé en même temps.'; } elseif (!empty($_POST['fichier']) || isset($_FILES['fichier'])) {