Beispiel #1
0
<?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();
}
Beispiel #2
0
$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'])) {