summaryrefslogtreecommitdiff
path: root/index.php
diff options
context:
space:
mode:
authorDaniel Weipert <code@drogueronin.de>2023-11-26 10:28:25 +0100
committerDaniel Weipert <code@drogueronin.de>2023-11-26 10:28:25 +0100
commit5d55842c465710c910735bb6a55fcb42f910984e (patch)
tree29a6343522e74e033972556bbdab8494fc9a07fc /index.php
parenta65b12797c73a4b0be6f2e73a805d476a1581e95 (diff)
update commit
Diffstat (limited to 'index.php')
-rw-r--r--index.php105
1 files changed, 9 insertions, 96 deletions
diff --git a/index.php b/index.php
index 3132381..4f403a3 100644
--- a/index.php
+++ b/index.php
@@ -1,101 +1,14 @@
<?php
-use Gotenberg\Gotenberg;
-use Gotenberg\Stream;
-
-require_once __DIR__ . '/vendor/autoload.php';
-
-$decklist = $_ENV['DECKLIST'];
-
-/*
- * (\d+) ([\w\s]+) \(([\w\d]+)\) (\d+)
- * 2 Hall of Storm Giants (AFR) 257
- */
-
-preg_match_all("/(\d+) ([\w\s]+) \(([\w\d]+)\) (\d+)/", $decklist, $matches);
-$cards = [];
-for ($idx = 0; $idx < count($matches[0]); $idx++) {
- $cards[] = [
- 'quantity' => $matches[1][$idx],
- 'name' => $matches[2][$idx],
- 'set' => $matches[3][$idx],
- 'number' => $matches[4][$idx],
- ];
-}
-
-/*
- * SELECT scryfallId from cardIdentifiers
- * JOIN cards ON cardIdentifiers.uuid=cards.uuid
- * WHERE cards.setCode='$SETCODE' AND cards.number='$NUMBER';
- */
-
-$db = new \PDO('sqlite:AllPrintings.sqlite');
-
-$images = [];
-foreach ($cards as $card) {
- $query = 'SELECT scryfallId from cardIdentifiers JOIN cards on cardIdentifiers.uuid=cards.uuid WHERE cards.setCode=:setCode AND cards.number=:number';
- $statement = $db->prepare($query);
- $statement->execute(['setCode' => $card['set'], 'number' => $card['number']]);
-
- $id = $statement->fetchColumn()?: '';
-
- if (empty($id)) {
- continue;
- }
-
- // TODO: check double sided
-
- $images[] = [
- 'quantity' => $card['quantity'],
- 'src' => "https://cards.scryfall.io/png/front/" . substr($id, 0, 1) . "/" . substr($id, 1, 1) . "/$id.png",
- ];
+if (isset($_POST['decklist'])) {
+ $_ENV['DECKLIST'] = $_POST['decklist'];
+ include __DIR__ . '/mtg-pdf.php';
+ exit;
}
-// https://cards.scryfall.io/png/front/substr($scryfallId, 0, 1)/substr($scryfallId, 1, 1)/$scryfallId.png
-
-/*
- curl \
---request POST 'http://localhost:3000/forms/chromium/convert/html' \
---form 'files=@"./index.html"' \
--o my.pdf -F marginTop=0.0 -F marginBottom=0.0 -F marginRight=0.0 -F marginLeft=0.0
- */
-
-$template = <<<HTML
-<html>
- <head>
- <style>* { margin: 0; padding: 0; } html { } #bg { background-color: #fff; display: flex; flex-wrap: wrap; } img {display:block;}</style>
- <style>
- @media print {
- @page {
- }
- }
- html, body {
- padding: 0;
- margin: 0;
- }
- img {
- width: 2.49in;
- height: 3.48in;
- background-color: #16130e;
- background-color: #000;
- }
- </style>
- </head>
- <body>
- <div id="bg">{{imgs}}</div>
- </body>
-</html>
-HTML;
-
-$imgs = array_map(function ($image) {
- return str_repeat("<img src=\"$image[src]\">", $image['quantity']);
-}, $images);
-
-$html = str_replace('{{imgs}}', implode('', $imgs), $template);
-$request = Gotenberg::chromium('gotenberg:3000')
- ->paperSize(8.27, 11.7) # A4
- ->margins(0, 0, 0, 0)
- ->outputFilename(date("Ymd_His"))
- ->html(Stream::string('index.html', $html));
+?>
-Gotenberg::save($request, __DIR__ . '/output');
+<form action="" method="POST">
+ <textarea name="decklist"></textarea>
+ <button>Submit</button>
+</form>