summaryrefslogtreecommitdiff
path: root/src/Controller/Card.php
diff options
context:
space:
mode:
authorDaniel Weipert <code@drogueronin.de>2022-01-14 18:21:36 +0100
committerDaniel Weipert <code@drogueronin.de>2022-01-14 18:21:36 +0100
commit4cacc94240944ff316104bfd1b5e8e00fad14517 (patch)
tree2559dc3aa121d70bd645ff0a2fe56e1ae0695daa /src/Controller/Card.php
parent9c0893cb65df986b9edf0f48a6d4d2d65f27b8ef (diff)
Add Artworks, Votes and better routing
Diffstat (limited to 'src/Controller/Card.php')
-rw-r--r--src/Controller/Card.php42
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');
+ }
}