blob: f962c07258b54f855d5fe6a7a87f3082b919a005 (
plain) (
tree)
|
|
<?php
class Page_Images extends Page
{
protected function doPreprocess()
{
User::load();
if (!User::isShibbolethAuth()) {
Message::addError('Not {{0}}', CONFIG_IDM);
Util::redirect('?do=Main');
}
if (!User::isAdmin()) {
Message::addError('Not admin!');
Util::redirect('?do=Main');
}
if (Request::post('action') === 'delete') {
$image = Request::post('image');
$row = Database::queryFirst('SELECT filepath FROM imageversion WHERE imageversionid = :version',
['version' => $image]);
if ($row === false) {
Message::addError('Image {{0}} nicht gefunden', $image);
} else {
// PHP process doesn't have write permissions to VM store, plus we don't have the absolute path
// for now this has to do, until someone comes along and adds an RPC method in the java app.
Message::addInfo('Vergessen Sie nicht, {{0}} vom Storage zu löschen', $row['filepath']);
Database::exec("DELETE FROM imageversion WHERE imageversionid = :version",
['version' => $image]);
}
Util::redirect('?do=images');
}
}
protected function doRender()
{
$res = Database::simpleQuery('SELECT b.displayname, b.description,
v.imageversionid, v.createtime, v.expiretime, v.filesize, v.filepath
FROM imagebase b
INNER JOIN imageversion v USING (imagebaseid)
ORDER BY b.imagebaseid ASC, v.createtime ASC');
$rows = [];
while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
$row['createtime_s'] = date('d.m.Y', $row['createtime']);
$row['expiretime_s'] = date('d.m.Y', $row['expiretime']);
$row['filesize_s'] = Util::readableFileSize($row['filesize']);
$rows[] = $row;
}
Render::addTemplate('image-list', ['list' => $rows]);
}
}
|