/** * Rotate picture to right * * @param int $year * @param int $month * @param int $day * @param string $flatname * @param Context $ctx * @return array * * @throws NotFoundException */ public function rotateRight($year, $month, $day, $flatname, Context $ctx) { $year = (int) $year; $month = (int) $month; $day = (int) $day; // get post data and album $album = Album::one($year, $month, $day, $flatname); list($author, $filename) = $ctx->post('author', 'filename'); if (!$album or !($author = $album->author($author)) or !($picture = $author->pic($filename))) { throw new NotFoundException(); } // rotate if (!$picture->rotateRight()) { return ['state' => false, 'message' => 'Not implemented']; } $ctx->logger->info($ctx->user->username . ' rotates picture "' . $picture->filename . '" to right in "' . $album->fullname . '"', $_POST); return ['state' => true]; }
/** * Download album as .zip * * @param int $year * @param int $month * @param int $day * @param string $flatname * @return Response\Download * * @throws HttpException * @throws NotFoundException */ public function download($year, $month, $day, $flatname) { $year = (int) $year; $month = (int) $month; $day = (int) $day; // get album $album = Album::one($year, $month, $day, $flatname); if (!$album) { throw new NotFoundException(); } try { // create zip file $zipname = $album->zip(); $ctx->logger->info($ctx->user->username . ' downloads "' . $album->fullname . '"'); return Response::download($zipname)->header('Content-Type', 'application/zip'); } catch (\Exception $e) { throw new HttpException(); } }
/** * Render a specific album * * @html albums/show * * @param int $year * @param int $month * @param int $day * @param string $flatname * @return array * @throws NotFoundException */ public function show($year, $month, $day, $flatname) { $year = (int) $year; $month = (int) $month; $day = (int) $day; $album = Album::one($year, $month, $day, $flatname); if (!$album) { throw new NotFoundException(); } return ['album' => $album, 'ariane' => [$day => $year . '/' . $month . '/' . $day, text('date.month.' . $month) => $year . '/' . $month, $year => $year]]; }