Beispiel #1
0
 /**
  * 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];
 }
Beispiel #2
0
 /**
  * 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();
     }
 }
Beispiel #3
0
 /**
  * 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]];
 }