diff options
author | Daniel Weipert <code@drogueronin.de> | 2022-01-14 18:21:36 +0100 |
---|---|---|
committer | Daniel Weipert <code@drogueronin.de> | 2022-01-14 18:21:36 +0100 |
commit | 4cacc94240944ff316104bfd1b5e8e00fad14517 (patch) | |
tree | 2559dc3aa121d70bd645ff0a2fe56e1ae0695daa /src/Controller/Card.php | |
parent | 9c0893cb65df986b9edf0f48a6d4d2d65f27b8ef (diff) |
Add Artworks, Votes and better routing
Diffstat (limited to 'src/Controller/Card.php')
-rw-r--r-- | src/Controller/Card.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/Controller/Card.php b/src/Controller/Card.php index 39560bb..d4ee393 100644 --- a/src/Controller/Card.php +++ b/src/Controller/Card.php @@ -3,8 +3,12 @@ namespace Elements\Controller; use Elements\DB; +use Elements\Model\Artwork; use Elements\Model\Card as CardModel; use Elements\Model\CardMeta; +use Elements\Model\VoteArtwork; +use Elements\Model\VoteCard; +use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -21,11 +25,49 @@ class Card DB::save($meta); } + /**@var UploadedFile[] $files*/ + if ($files = $request->files->get('images')) { + foreach ($files as $file) { + $image = Artwork::fromUploadedFile($file); + + /*TEST*/ + for ($i = 0; $i <= rand(0, 40); $i++) { + $vote = new VoteArtwork(); + $vote->value = rand(-1, 1) >= 0 ? 1 : -1; + $image->addVote($vote); + DB::save($vote); + } + /*TEST*/ + + $card->addArtwork($image); + DB::save($image); + } + } + + /*TEST*/ + for ($i = 0; $i <= rand(0, 60); $i++) { + $vote = new VoteCard(); + $vote->value = rand(-1, 1) > 0 ? 1 : -1; + $card->addVote($vote); + DB::save($vote); + } + /*TEST*/ + DB::save($card); $response = new RedirectResponse('/'); return $response; } + + public static function get(Request $request) + { + $route = $request->attributes->get('route'); + $cardId = $route['id']; + + $card = DB::$entityManager->getRepository(CardModel::class)->find($cardId); + + return $card->getMeta('name'); + } } |