From 53d67187eafc0de7cd494a475df8d3afc082a29f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Ml=C3=A1dek?= Date: Thu, 17 Oct 2019 17:55:32 +0200 Subject: [PATCH] add front label generation; update composer --- www/_templates/front_doc_overview.php | 3 + www/_templates/label_template.php | 131 ++++++++++++ www/assets/pile_300dpi.png | Bin 0 -> 11762 bytes www/composer.json | 1 + www/composer.lock | 287 +++++++++++++++++++++++++- www/label.php | 47 +++++ 6 files changed, 462 insertions(+), 7 deletions(-) create mode 100644 www/_templates/label_template.php create mode 100644 www/assets/pile_300dpi.png create mode 100644 www/label.php diff --git a/www/_templates/front_doc_overview.php b/www/_templates/front_doc_overview.php index 5c491ba..9fa36c0 100644 --- a/www/_templates/front_doc_overview.php +++ b/www/_templates/front_doc_overview.php @@ -25,6 +25,9 @@ :

+ + diff --git a/www/_templates/label_template.php b/www/_templates/label_template.php new file mode 100644 index 0000000..a578482 --- /dev/null +++ b/www/_templates/label_template.php @@ -0,0 +1,131 @@ + + + + LABEL FOR <?= $doc["Title"] ?> + + + + +

ex libris /-\ pile

+
+
+
+
+ +
#
+
+
+
+

+

+ + By + + +
(Published: )
+ +

+

+
+
+ +
+ + \ No newline at end of file diff --git a/www/assets/pile_300dpi.png b/www/assets/pile_300dpi.png new file mode 100644 index 0000000000000000000000000000000000000000..fb9445db1670d34bf12a7eb4fd62994074cb8c5a GIT binary patch literal 11762 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 JH42u`{}1C>1w{Y= literal 0 HcmV?d00001 diff --git a/www/composer.json b/www/composer.json index 5c49d7e..5c477a1 100644 --- a/www/composer.json +++ b/www/composer.json @@ -4,6 +4,7 @@ }, "require": { "erusev/parsedown": "^1.7", + "mpdf/mpdf": "^8.0", "ext-sqlite3": "*" } } diff --git a/www/composer.lock b/www/composer.lock index f65749b..283bd6e 100644 --- a/www/composer.lock +++ b/www/composer.lock @@ -4,23 +4,24 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f493960dbf3229f8998effb35c5e910d", + "content-hash": "07bcf0ebe745edf9a2aff62e65aae616", "packages": [ { "name": "erusev/parsedown", - "version": "1.7.0", + "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/erusev/parsedown.git", - "reference": "6678d59be48c4be64eaca6ce70bea48a09488cc2" + "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/6678d59be48c4be64eaca6ce70bea48a09488cc2", - "reference": "6678d59be48c4be64eaca6ce70bea48a09488cc2", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/6d893938171a817f4e9bc9e86f2da1e370b7bcd7", + "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7", "shasum": "" }, "require": { + "ext-mbstring": "*", "php": ">=5.3.0" }, "require-dev": { @@ -49,7 +50,277 @@ "markdown", "parser" ], - "time": "2018-02-28T11:41:37+00:00" + "time": "2019-03-17T18:48:37+00:00" + }, + { + "name": "mpdf/mpdf", + "version": "v8.0.2", + "source": { + "type": "git", + "url": "https://github.com/mpdf/mpdf.git", + "reference": "ab0662606cc2396015616633946f3b8918d818a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mpdf/mpdf/zipball/ab0662606cc2396015616633946f3b8918d818a7", + "reference": "ab0662606cc2396015616633946f3b8918d818a7", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "ext-mbstring": "*", + "myclabs/deep-copy": "^1.7", + "paragonie/random_compat": "^1.4|^2.0|9.99.99", + "php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0", + "psr/log": "^1.0", + "setasign/fpdi": "^2.1" + }, + "require-dev": { + "mockery/mockery": "^0.9.5", + "mpdf/qrcode": "^1.0.0", + "phpunit/phpunit": "^5.0", + "squizlabs/php_codesniffer": "^2.7.0", + "tracy/tracy": "^2.4" + }, + "suggest": { + "ext-bcmath": "Needed for generation of some types of barcodes", + "ext-xml": "Needed mainly for SVG manipulation", + "ext-zlib": "Needed for compression of embedded resources, such as fonts" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-development": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Mpdf\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-only" + ], + "authors": [ + { + "name": "Matěj Humpál", + "role": "Developer, maintainer" + }, + { + "name": "Ian Back", + "role": "Developer (retired)" + } + ], + "description": "PHP library generating PDF files from UTF-8 encoded HTML", + "homepage": "https://mpdf.github.io", + "keywords": [ + "pdf", + "php", + "utf-8" + ], + "time": "2019-06-17T09:03:49+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.9.3", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", + "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2019-08-09T12:45:53+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.99", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-02T15:55:56+00:00" + }, + { + "name": "psr/log", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2018-11-20T15:27:04+00:00" + }, + { + "name": "setasign/fpdi", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/Setasign/FPDI.git", + "reference": "3c266002f8044f61b17329f7cd702d44d73f0f7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Setasign/FPDI/zipball/3c266002f8044f61b17329f7cd702d44d73f0f7f", + "reference": "3c266002f8044f61b17329f7cd702d44d73f0f7f", + "shasum": "" + }, + "require": { + "ext-zlib": "*", + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "~5.7", + "setasign/fpdf": "~1.8", + "setasign/tfpdf": "1.25", + "tecnickcom/tcpdf": "~6.2" + }, + "suggest": { + "setasign/fpdf": "FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured.", + "setasign/fpdi-fpdf": "Use this package to automatically evaluate dependencies to FPDF.", + "setasign/fpdi-tcpdf": "Use this package to automatically evaluate dependencies to TCPDF.", + "setasign/fpdi-tfpdf": "Use this package to automatically evaluate dependencies to tFPDF." + }, + "type": "library", + "autoload": { + "psr-4": { + "setasign\\Fpdi\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Slabon", + "email": "jan.slabon@setasign.com", + "homepage": "https://www.setasign.com" + }, + { + "name": "Maximilian Kresse", + "email": "maximilian.kresse@setasign.com", + "homepage": "https://www.setasign.com" + } + ], + "description": "FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF. Because it is also possible to use FPDI with TCPDF, there are no fixed dependencies defined. Please see suggestions for packages which evaluates the dependencies automatically.", + "homepage": "https://www.setasign.com/fpdi", + "keywords": [ + "fpdf", + "fpdi", + "pdf" + ], + "time": "2019-01-30T14:11:19+00:00" } ], "packages-dev": [], @@ -58,6 +329,8 @@ "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, - "platform": [], + "platform": { + "ext-sqlite3": "*" + }, "platform-dev": [] } diff --git a/www/label.php b/www/label.php new file mode 100644 index 0000000..321e381 --- /dev/null +++ b/www/label.php @@ -0,0 +1,47 @@ +fetchDoc($_GET["id"]); + +$pd = new Parsedown(); +$doc["Description"] = $pd->text($doc["Description"]); + +$front = new Template(); +$front->doc = $doc; + +$defaultConfig = (new \Mpdf\Config\ConfigVariables())->getDefaults(); +$fontDirs = $defaultConfig['fontDir']; +$defaultFontConfig = (new \Mpdf\Config\FontVariables())->getDefaults(); +$fontData = $defaultFontConfig['fontdata']; +try { + $mpdf = new \Mpdf\Mpdf([ + 'format' => 'A4', + 'fontDir' => array_merge($fontDirs, [ + __DIR__ . '/assets', + ]), + 'fontdata' => $fontData + [ + 'prociono' => [ + 'R' => 'Prociono-Regular.ttf', + ] + ], + 'default_font' => 'prociono' + ]); + + $mpdf->showImageErrors = true; + $mpdf->WriteHTML($front->render("_templates/label_template.php")); + $mpdf->Output(); +} catch (\Mpdf\MpdfException $exception) { + http_response_code(500); ?> +

Something went wrong generating the label.

+
getMessage() ?>
+ \ No newline at end of file