Version Description
- Feature: Add Copy to Clipboard feature for PDF Shortcode on the PDF List page
- Bug: Fix empty check on the Radio field so a zero (0) value is not considered empty
Download this release
Release Info
Developer | Blue Liquid Designs |
Plugin | Gravity PDF |
Version | 6.1.0 |
Comparing to | |
See all releases |
Code changes from version 6.1.1 to 6.1.0
- README.txt +1 -7
- dist/assets/js/admin.min.js +1 -1
- dist/assets/js/app.bundle.min.js +1 -1
- dist/assets/js/gfpdf-entries.min.js +1 -1
- pdf.php +2 -2
- src/Helper/Fields/Field_Number.php +1 -1
- src/Helper/Fields/Field_Repeater.php +1 -4
- src/Helper/Helper_Misc.php +1 -12
- src/Helper/Helper_Pdf_Queue.php +33 -49
- src/Statics/Queue_Callbacks.php +0 -2
- src/assets/languages/gravity-forms-pdf-extended.pot +1 -1
- vendor/autoload.php +0 -0
- vendor/composer/ClassLoader.php +11 -102
- vendor/composer/InstalledVersions.php +6 -19
- vendor/composer/LICENSE +0 -0
- vendor/composer/autoload_classmap.php +0 -4
- vendor/composer/autoload_namespaces.php +0 -0
- vendor/composer/autoload_psr4.php +0 -0
- vendor/composer/autoload_real.php +0 -0
- vendor/composer/autoload_static.php +0 -4
- vendor/composer/installed.json +97 -109
- vendor/composer/installed.php +37 -34
- vendor/composer/platform_check.php +0 -0
- vendor/paragonie/random_compat/LICENSE +0 -0
- vendor/paragonie/random_compat/composer.json +0 -0
- vendor/paragonie/random_compat/dist/random_compat.phar.pubkey +0 -0
- vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc +0 -0
- vendor/paragonie/random_compat/lib/random.php +0 -0
- vendor/paragonie/random_compat/other/build_phar.php +0 -0
- vendor/paragonie/random_compat/psalm-autoload.php +0 -0
- vendor/paragonie/random_compat/psalm.xml +0 -0
- vendor/psr/http-message/CHANGELOG.md +0 -0
- vendor/psr/http-message/LICENSE +0 -0
- vendor/psr/http-message/README.md +0 -0
- vendor/psr/http-message/composer.json +0 -0
- vendor/psr/http-message/src/MessageInterface.php +0 -0
- vendor/psr/http-message/src/RequestInterface.php +0 -0
- vendor/psr/http-message/src/ResponseInterface.php +0 -0
- vendor/psr/http-message/src/ServerRequestInterface.php +0 -0
- vendor/psr/http-message/src/StreamInterface.php +0 -0
- vendor/psr/http-message/src/UploadedFileInterface.php +0 -0
- vendor/psr/http-message/src/UriInterface.php +0 -0
- vendor/psr/log/LICENSE +0 -0
- vendor/psr/log/Psr/Log/AbstractLogger.php +16 -16
- vendor/psr/log/Psr/Log/InvalidArgumentException.php +0 -0
- vendor/psr/log/Psr/Log/LogLevel.php +0 -0
- vendor/psr/log/Psr/Log/LoggerAwareInterface.php +0 -0
- vendor/psr/log/Psr/Log/LoggerAwareTrait.php +1 -1
- vendor/psr/log/Psr/Log/LoggerInterface.php +0 -0
- vendor/psr/log/Psr/Log/LoggerTrait.php +0 -0
- vendor/psr/log/Psr/Log/NullLogger.php +0 -0
- vendor/psr/log/Psr/Log/Test/DummyTest.php +0 -0
- vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +0 -0
- vendor/psr/log/Psr/Log/Test/TestLogger.php +0 -0
- vendor/psr/log/README.md +0 -0
- vendor/psr/log/composer.json +1 -1
- vendor_prefixed/league/uri-components/src/Components/Authority.php +3 -1
- vendor_prefixed/league/uri-components/src/Components/Component.php +8 -10
- vendor_prefixed/league/uri-components/src/Components/DataPath.php +3 -8
- vendor_prefixed/league/uri-components/src/Components/Domain.php +3 -8
- vendor_prefixed/league/uri-components/src/Components/Fragment.php +3 -1
- vendor_prefixed/league/uri-components/src/Components/HierarchicalPath.php +3 -8
- vendor_prefixed/league/uri-components/src/Components/Host.php +81 -16
- vendor_prefixed/league/uri-components/src/Components/Path.php +3 -8
- vendor_prefixed/league/uri-components/src/Components/Port.php +3 -1
- vendor_prefixed/league/uri-components/src/Components/Query.php +3 -1
- vendor_prefixed/league/uri-components/src/Components/Scheme.php +3 -1
- vendor_prefixed/league/uri-components/src/Components/UserInfo.php +3 -1
- vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php +3 -1
- vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php +3 -1
- vendor_prefixed/league/uri-components/src/IPv4Calculators/BCMathCalculator.php +3 -1
- vendor_prefixed/league/uri-components/src/IPv4Calculators/GMPCalculator.php +3 -1
- vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php +3 -1
- vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php +3 -1
- vendor_prefixed/league/uri-components/src/IPv4Normalizer.php +3 -1
- vendor_prefixed/league/uri-components/src/QueryString.php +4 -9
- vendor_prefixed/league/uri-components/src/UriModifier.php +3 -1
- vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnaConversionFailed.php +0 -36
- vendor_prefixed/league/uri-interfaces/src/Idna/Idna.php +0 -172
- vendor_prefixed/league/uri-interfaces/src/Idna/IdnaInfo.php +0 -78
- vendor_prefixed/league/uri/src/Uri.php +86 -18
- vendor_prefixed/league/uri/src/UriString.php +79 -5
- vendor_prefixed/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php +1 -2
- vendor_prefixed/monolog/src/Monolog/ErrorHandler.php +23 -58
- vendor_prefixed/monolog/src/Monolog/Formatter/ChromePHPFormatter.php +2 -4
- vendor_prefixed/monolog/src/Monolog/Formatter/ElasticaFormatter.php +3 -7
- vendor_prefixed/monolog/src/Monolog/Formatter/ElasticsearchFormatter.php +5 -5
- vendor_prefixed/monolog/src/Monolog/Formatter/FlowdockFormatter.php +2 -6
- vendor_prefixed/monolog/src/Monolog/Formatter/FormatterInterface.php +0 -6
- vendor_prefixed/monolog/src/Monolog/Formatter/GelfMessageFormatter.php +16 -25
- vendor_prefixed/monolog/src/Monolog/Formatter/HtmlFormatter.php +2 -5
- vendor_prefixed/monolog/src/Monolog/Formatter/JsonFormatter.php +4 -23
- vendor_prefixed/monolog/src/Monolog/Formatter/LineFormatter.php +4 -18
- vendor_prefixed/monolog/src/Monolog/Formatter/LogstashFormatter.php +2 -2
- vendor_prefixed/monolog/src/Monolog/Formatter/MongoDBFormatter.php +20 -38
- vendor_prefixed/monolog/src/Monolog/Formatter/NormalizerFormatter.php +7 -15
- vendor_prefixed/monolog/src/Monolog/Formatter/ScalarFormatter.php +5 -8
- vendor_prefixed/monolog/src/Monolog/Formatter/WildfireFormatter.php +4 -14
- vendor_prefixed/monolog/src/Monolog/Handler/AbstractHandler.php +2 -18
- vendor_prefixed/monolog/src/Monolog/Handler/AbstractProcessingHandler.php +1 -12
- vendor_prefixed/monolog/src/Monolog/Handler/AbstractSyslogHandler.php +3 -7
- vendor_prefixed/monolog/src/Monolog/Handler/AmqpHandler.php +2 -6
- vendor_prefixed/monolog/src/Monolog/Handler/BrowserConsoleHandler.php +1 -26
- vendor_prefixed/monolog/src/Monolog/Handler/BufferHandler.php +6 -12
- vendor_prefixed/monolog/src/Monolog/Handler/ChromePHPHandler.php +6 -9
- vendor_prefixed/monolog/src/Monolog/Handler/CouchDBHandler.php +0 -4
- vendor_prefixed/monolog/src/Monolog/Handler/CubeHandler.php +9 -20
- vendor_prefixed/monolog/src/Monolog/Handler/Curl/Util.php +0 -1
- vendor_prefixed/monolog/src/Monolog/Handler/DeduplicationHandler.php +1 -14
- vendor_prefixed/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php +0 -1
- vendor_prefixed/monolog/src/Monolog/Handler/DynamoDbHandler.php +5 -6
- vendor_prefixed/monolog/src/Monolog/Handler/ElasticaHandler.php +7 -12
- vendor_prefixed/monolog/src/Monolog/Handler/ElasticsearchHandler.php +11 -9
- vendor_prefixed/monolog/src/Monolog/Handler/ErrorLogHandler.php +6 -11
- vendor_prefixed/monolog/src/Monolog/Handler/FallbackGroupHandler.php +2 -13
- vendor_prefixed/monolog/src/Monolog/Handler/FilterHandler.php +7 -29
- vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php +0 -4
- vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php +4 -15
- vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php +1 -7
- vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossedHandler.php +9 -33
- vendor_prefixed/monolog/src/Monolog/Handler/FirePHPHandler.php +4 -18
- vendor_prefixed/monolog/src/Monolog/Handler/FleepHookHandler.php +3 -5
- vendor_prefixed/monolog/src/Monolog/Handler/FlowdockHandler.php +8 -7
- vendor_prefixed/monolog/src/Monolog/Handler/FormattableHandlerTrait.php +2 -2
- vendor_prefixed/monolog/src/Monolog/Handler/GelfHandler.php +5 -3
- vendor_prefixed/monolog/src/Monolog/Handler/GroupHandler.php +4 -9
- vendor_prefixed/monolog/src/Monolog/Handler/Handler.php +2 -2
- vendor_prefixed/monolog/src/Monolog/Handler/HandlerInterface.php +0 -9
- vendor_prefixed/monolog/src/Monolog/Handler/HandlerWrapper.php +8 -8
- vendor_prefixed/monolog/src/Monolog/Handler/IFTTTHandler.php +5 -8
- vendor_prefixed/monolog/src/Monolog/Handler/InsightOpsHandler.php +3 -1
- vendor_prefixed/monolog/src/Monolog/Handler/LogEntriesHandler.php +3 -1
- vendor_prefixed/monolog/src/Monolog/Handler/LogglyHandler.php +3 -3
- vendor_prefixed/monolog/src/Monolog/Handler/LogmaticHandler.php +4 -2
- vendor_prefixed/monolog/src/Monolog/Handler/MailHandler.php +4 -14
- vendor_prefixed/monolog/src/Monolog/Handler/MandrillHandler.php +3 -1
- vendor_prefixed/monolog/src/Monolog/Handler/MongoDBHandler.php +2 -3
- vendor_prefixed/monolog/src/Monolog/Handler/NativeMailerHandler.php +12 -10
- vendor_prefixed/monolog/src/Monolog/Handler/NewRelicHandler.php +4 -6
- vendor_prefixed/monolog/src/Monolog/Handler/NoopHandler.php +2 -2
- vendor_prefixed/monolog/src/Monolog/Handler/NullHandler.php +2 -8
- vendor_prefixed/monolog/src/Monolog/Handler/OverflowHandler.php +8 -3
- vendor_prefixed/monolog/src/Monolog/Handler/PHPConsoleHandler.php +4 -26
- vendor_prefixed/monolog/src/Monolog/Handler/ProcessHandler.php +6 -4
- vendor_prefixed/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php +4 -6
- vendor_prefixed/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php +2 -9
- vendor_prefixed/monolog/src/Monolog/Handler/PsrHandler.php +2 -0
- vendor_prefixed/monolog/src/Monolog/Handler/PushoverHandler.php +6 -35
- vendor_prefixed/monolog/src/Monolog/Handler/RedisHandler.php +2 -7
- vendor_prefixed/monolog/src/Monolog/Handler/RedisPubSubHandler.php +4 -4
- vendor_prefixed/monolog/src/Monolog/Handler/RollbarHandler.php +5 -6
- vendor_prefixed/monolog/src/Monolog/Handler/RotatingFileHandler.php +8 -16
- vendor_prefixed/monolog/src/Monolog/Handler/SamplingHandler.php +4 -11
- vendor_prefixed/monolog/src/Monolog/Handler/SendGridHandler.php +9 -10
- vendor_prefixed/monolog/src/Monolog/Handler/Slack/SlackRecord.php +3 -31
- vendor_prefixed/monolog/src/Monolog/Handler/SlackHandler.php +5 -14
- vendor_prefixed/monolog/src/Monolog/Handler/SlackWebhookHandler.php +6 -5
- vendor_prefixed/monolog/src/Monolog/Handler/SocketHandler.php +16 -52
- vendor_prefixed/monolog/src/Monolog/Handler/SqsHandler.php +3 -1
- vendor_prefixed/monolog/src/Monolog/Handler/StreamHandler.php +20 -59
- vendor_prefixed/monolog/src/Monolog/Handler/SwiftMailerHandler.php +4 -8
- vendor_prefixed/monolog/src/Monolog/Handler/SyslogHandler.php +4 -4
- vendor_prefixed/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php +0 -5
- vendor_prefixed/monolog/src/Monolog/Handler/SyslogUdpHandler.php +8 -27
- vendor_prefixed/monolog/src/Monolog/Handler/TelegramBotHandler.php +6 -15
- vendor_prefixed/monolog/src/Monolog/Handler/TestHandler.php +6 -44
- vendor_prefixed/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php +2 -6
- vendor_prefixed/monolog/src/Monolog/Handler/ZendMonitorHandler.php +5 -10
- vendor_prefixed/monolog/src/Monolog/Logger.php +21 -49
- vendor_prefixed/monolog/src/Monolog/Processor/GitProcessor.php +1 -15
- vendor_prefixed/monolog/src/Monolog/Processor/HostnameProcessor.php +0 -4
- vendor_prefixed/monolog/src/Monolog/Processor/IntrospectionProcessor.php +2 -19
- vendor_prefixed/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php +0 -3
- vendor_prefixed/monolog/src/Monolog/Processor/MemoryUsageProcessor.php +0 -3
- vendor_prefixed/monolog/src/Monolog/Processor/MercurialProcessor.php +2 -16
- vendor_prefixed/monolog/src/Monolog/Processor/ProcessIdProcessor.php +0 -3
- vendor_prefixed/monolog/src/Monolog/Processor/ProcessorInterface.php +0 -5
- vendor_prefixed/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php +2 -1
- vendor_prefixed/monolog/src/Monolog/Processor/TagProcessor.php +0 -13
- vendor_prefixed/monolog/src/Monolog/Processor/UidProcessor.php +0 -4
- vendor_prefixed/monolog/src/Monolog/Processor/WebProcessor.php +4 -11
- vendor_prefixed/monolog/src/Monolog/Registry.php +1 -2
- vendor_prefixed/monolog/src/Monolog/SignalHandler.php +3 -23
- vendor_prefixed/monolog/src/Monolog/Test/TestCase.php +2 -13
- vendor_prefixed/monolog/src/Monolog/Utils.php +1 -57
- vendor_prefixed/mpdf/mpdf/src/Barcode.php +25 -25
- vendor_prefixed/mpdf/mpdf/src/Barcode/Codabar.php +3 -3
- vendor_prefixed/mpdf/mpdf/src/Barcode/Code11.php +3 -3
- vendor_prefixed/mpdf/mpdf/src/Barcode/Code128.php +3 -3
- vendor_prefixed/mpdf/mpdf/src/Barcode/Code39.php +3 -3
- vendor_prefixed/mpdf/mpdf/src/Barcode/Code93.php +3 -3
- vendor_prefixed/mpdf/mpdf/src/Barcode/I25.php +3 -3
- vendor_prefixed/mpdf/mpdf/src/Barcode/Msi.php +3 -3
- vendor_prefixed/mpdf/mpdf/src/Barcode/S25.php +3 -3
- vendor_prefixed/mpdf/mpdf/src/Cache.php +0 -1
- vendor_prefixed/mpdf/mpdf/src/Color/ColorConverter.php +5 -15
- vendor_prefixed/mpdf/mpdf/src/Config/ConfigVariables.php +0 -1
- vendor_prefixed/mpdf/mpdf/src/CssManager.php +7 -12
- vendor_prefixed/mpdf/mpdf/src/Gradient.php +10 -10
- vendor_prefixed/mpdf/mpdf/src/Image/ImageProcessor.php +5 -28
- vendor_prefixed/mpdf/mpdf/src/Image/ImageTypeGuesser.php +0 -3
- vendor_prefixed/mpdf/mpdf/src/Image/Svg.php +20 -23
- vendor_prefixed/mpdf/mpdf/src/Mpdf.php +30 -68
- vendor_prefixed/mpdf/mpdf/src/Otl.php +3 -3
- vendor_prefixed/mpdf/mpdf/src/OtlDump.php +1 -1
- vendor_prefixed/mpdf/mpdf/src/Pdf/Protection.php +1 -1
- vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php +1 -4
- vendor_prefixed/mpdf/mpdf/src/ServiceFactory.php +2 -2
- vendor_prefixed/mpdf/mpdf/src/TTFontFile.php +2 -13
- vendor_prefixed/mpdf/mpdf/src/TTFontFileAnalysis.php +1 -1
- vendor_prefixed/mpdf/mpdf/src/Tag/BarCode.php +4 -16
- vendor_prefixed/mpdf/mpdf/src/Tag/BlockTag.php +1 -1
- vendor_prefixed/mpdf/mpdf/src/Tag/Table.php +0 -10
- vendor_prefixed/mpdf/mpdf/src/Tag/Td.php +1 -1
- vendor_prefixed/mpdf/mpdf/src/Tag/Tr.php +0 -2
- vendor_prefixed/mpdf/mpdf/src/Utils/Arrays.php +0 -7
- vendor_prefixed/mpdf/qrcode/src/Output/Png.php +1 -1
- vendor_prefixed/mpdf/qrcode/src/Output/Svg.php +0 -97
- vendor_prefixed/spatie/url-signer/src/BaseUrlSigner.php +0 -9
README.txt
CHANGED
@@ -5,7 +5,7 @@ Donate link: https://gravitypdf.com/donate-to-plugin/
|
|
5 |
Tags: gravityforms, gravity, forms, pdf, automation, attachment, email
|
6 |
Requires at least: 5.3
|
7 |
Tested up to: 5.9
|
8 |
-
Stable tag: 6.1.
|
9 |
Requires PHP: 7.3
|
10 |
License: GPLv2 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl.txt
|
@@ -105,12 +105,6 @@ _If you aren't able to meet the v6 minimum requirements [you can download v5 whi
|
|
105 |
|
106 |
== Changelog ==
|
107 |
|
108 |
-
= 6.1.1 =
|
109 |
-
* Bug: Allow number field to show a thousand separator by using the 'gform_include_thousands_sep_pre_format_number' filter.
|
110 |
-
* Bug: Fix PHP Notice when displaying Repeater field caused by processing field's not present in `$form_data['field']` array key
|
111 |
-
* Housekeeping: Add logging to file/directory cleanup method
|
112 |
-
* Housekeeping: Add additional checks and logging when processing background tasks
|
113 |
-
|
114 |
= 6.1.0 =
|
115 |
* Feature: Add Copy to Clipboard feature for PDF Shortcode on the PDF List page
|
116 |
* Bug: Fix empty check on the Radio field so a zero (0) value is not considered empty
|
5 |
Tags: gravityforms, gravity, forms, pdf, automation, attachment, email
|
6 |
Requires at least: 5.3
|
7 |
Tested up to: 5.9
|
8 |
+
Stable tag: 6.1.0
|
9 |
Requires PHP: 7.3
|
10 |
License: GPLv2 or later
|
11 |
License URI: http://www.gnu.org/licenses/gpl.txt
|
105 |
|
106 |
== Changelog ==
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
= 6.1.0 =
|
109 |
* Feature: Add Copy to Clipboard feature for PDF Shortcode on the PDF List page
|
110 |
* Bug: Fix empty check on the Radio field so a zero (0) value is not considered empty
|
dist/assets/js/admin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.1/dist/",e(e.s=211)}([,,function(t,n){t.exports=jQuery},,function(t,n,e){(function(n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")()}).call(this,e(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r=e(4),i=e(61),o=e(9),a=e(63),c=e(64),f=e(101),s=i("wks"),u=r.Symbol,l=f?u:u&&u.withoutSetter||a;t.exports=function(t){return o(s,t)||(c&&o(u,t)?s[t]=u[t]:s[t]=l("Symbol."+t)),s[t]}},function(t,n,e){var r=e(4),i=e(45).f,o=e(14),a=e(26),c=e(50),f=e(102),s=e(85);t.exports=function(t,n){var e,u,l,p,d,g=t.target,v=t.global,h=t.stat;if(e=v?r:h?r[g]||c(g,{}):(r[g]||{}).prototype)for(u in n){if(p=n[u],l=t.noTargetGet?(d=i(e,u))&&d.value:e[u],!s(v?u:g+(h?".":"#")+u,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;f(p,l)}(t.sham||l&&l.sham)&&o(p,"sham",!0),a(e,u,p,t)}}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(10),i=e(76),o=e(8),a=e(51),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(o(t),n=a(n,!0),o(e),i)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},,function(t,n,e){var r=e(10),i=e(12),o=e(34);t.exports=r?function(t,n,e){return i.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},,,,,function(t,n,e){"use strict";var r=e(7),i=e(48).find,o=e(86),a=e(33),c=!0,f=a("find");"find"in[]&&Array(1).find((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!f},{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("find")},function(t,n,e){var r=e(59),i=e(22);t.exports=function(t){return r(i(t))}},function(t,n,e){var r=e(35),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(22);t.exports=function(t){return Object(r(t))}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){"use strict";var r=e(117).charAt,i=e(47),o=e(132),a=i.set,c=i.getterFor("String Iterator");o(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=c(this),e=n.string,i=n.index;return i>=e.length?{value:void 0,done:!0}:(t=r(e,i),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(4),i=e(14),o=e(9),a=e(50),c=e(65),f=e(47),s=f.get,u=f.enforce,l=String(String).split("String");(t.exports=function(t,n,e,c){var f=!!c&&!!c.unsafe,s=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof e&&("string"!=typeof n||o(e,"name")||i(e,"name",n),u(e).source=l.join("string"==typeof n?n:"")),t!==r?(f?!p&&t[n]&&(s=!0):delete t[n],s?t[n]=e:i(t,n,e)):s?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},function(t,n,e){var r=e(104),i=e(4),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?o(r[t])||o(i[t]):r[t]&&r[t][n]||i[t]&&i[t][n]}},,function(t,n,e){"use strict";var r=e(26),i=e(8),o=e(5),a=e(97),c=RegExp.prototype,f=c.toString,s=o((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),u="toString"!=f.name;(s||u)&&r(RegExp.prototype,"toString",(function(){var t=i(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in c)?a.call(t):e)}),{unsafe:!0})},,,,function(t,n,e){var r=e(10),i=e(5),o=e(9),a=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(o(c,t))return c[t];n||(n={});var e=[][t],s=!!o(n,"ACCESSORS")&&n.ACCESSORS,u=o(n,0)?n[0]:f,l=o(n,1)?n[1]:void 0;return c[t]=!!e&&!i((function(){if(s&&!r)return!0;var t={length:-1};s?a(t,1,{enumerable:!0,get:f}):t[1]=1,e.call(t,u,l)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},,,,,,function(t,n,e){"use strict";var r=e(7),i=e(73);r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},function(t,n,e){"use strict";var r=e(7),i=e(48).map,o=e(90),a=e(33),c=o("map"),f=a("map");r({target:"Array",proto:!0,forced:!c||!f},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,e){var r=e(10),i=e(77),o=e(34),a=e(20),c=e(51),f=e(9),s=e(76),u=Object.getOwnPropertyDescriptor;n.f=r?u:function(t,n){if(t=a(t),n=c(n,!0),s)try{return u(t,n)}catch(t){}if(f(t,n))return o(!i.f.call(t,n),t[n])}},,function(t,n,e){var r,i,o,a=e(114),c=e(4),f=e(11),s=e(14),u=e(9),l=e(52),p=e(44),d=c.WeakMap;if(a){var g=new d,v=g.get,h=g.has,m=g.set;r=function(t,n){return m.call(g,t,n),n},i=function(t){return v.call(g,t)||{}},o=function(t){return h.call(g,t)}}else{var y=l("state");p[y]=!0,r=function(t,n){return s(t,y,n),n},i=function(t){return u(t,y)?t[y]:{}},o=function(t){return u(t,y)}}t.exports={set:r,get:i,has:o,enforce:function(t){return o(t)?i(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!f(n)||(e=i(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(66),i=e(59),o=e(23),a=e(21),c=e(107),f=[].push,s=function(t){var n=1==t,e=2==t,s=3==t,u=4==t,l=6==t,p=5==t||l;return function(d,g,v,h){for(var m,y,_=o(d),x=i(_),b=r(g,v,3),w=a(x.length),S=0,E=h||c,O=n?E(d,w):e?E(d,0):void 0;w>S;S++)if((p||S in x)&&(y=b(m=x[S],S,_),t))if(n)O[S]=y;else if(y)switch(t){case 3:return!0;case 5:return m;case 6:return S;case 2:f.call(O,m)}else if(u)return!1;return l?-1:s||u?u:O}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(t,n){t.exports=!1},function(t,n,e){var r=e(4),i=e(14);t.exports=function(t,n){try{i(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(11);t.exports=function(t,n){if(!r(t))return t;var e,i;if(n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;if("function"==typeof(e=t.valueOf)&&!r(i=e.call(t)))return i;if(!n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(61),i=e(63),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,function(t,n,e){var r=e(7),i=e(144);r({target:"Array",stat:!0,forced:!e(130)((function(t){Array.from(t)}))},{from:i})},function(t,n){t.exports={}},,function(t,n,e){"use strict";var r=e(7),i=e(48).filter,o=e(90),a=e(33),c=o("filter"),f=a("filter");r({target:"Array",proto:!0,forced:!c||!f},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(5),i=e(24),o="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?o.call(t,""):Object(t)}:Object},,function(t,n,e){var r=e(49),i=e(75);(t.exports=function(t,n){return i[t]||(i[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(4),i=e(11),o=r.document,a=i(o)&&i(o.createElement);t.exports=function(t){return a?o.createElement(t):{}}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n,e){var r=e(5);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(75),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return i.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(43);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,i){return t.call(n,e,r,i)}}return function(){return t.apply(n,arguments)}}},function(t,n,e){var r=e(78),i=e(53);t.exports=Object.keys||function(t){return r(t,i)}},function(t,n,e){var r,i=e(8),o=e(118),a=e(53),c=e(44),f=e(106),s=e(62),u=e(52),l=u("IE_PROTO"),p=function(){},d=function(t){return"<script>"+t+"<\/script>"},g=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;g=r?function(t){t.write(d("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=s("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(d("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete g.prototype[a[e]];return g()};c[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=i(t),e=new p,p.prototype=null,e[l]=t):e=g(),void 0===n?e:o(e,n)}},,,function(t,n,e){var r=e(10),i=e(12).f,o=Function.prototype,a=o.toString,c=/^\s*function ([^ (]*)/;r&&!("name"in o)&&i(o,"name",{configurable:!0,get:function(){try{return a.call(this).match(c)[1]}catch(t){return""}}})},function(t,n,e){var r=e(78),i=e(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,n,e){"use strict";var r,i,o=e(97),a=e(124),c=RegExp.prototype.exec,f=String.prototype.replace,s=c,u=(r=/a/,i=/b*/g,c.call(r,"a"),c.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(u||p||l)&&(s=function(t){var n,e,r,i,a=this,s=l&&a.sticky,d=o.call(a),g=a.source,v=0,h=t;return s&&(-1===(d=d.replace("y","")).indexOf("g")&&(d+="g"),h=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(g="(?: "+g+")",h=" "+h,v++),e=new RegExp("^(?:"+g+")",d)),p&&(e=new RegExp("^"+g+"$(?!\\s)",d)),u&&(n=a.lastIndex),r=c.call(s?e:a,h),s?r?(r.input=r.input.slice(v),r[0]=r[0].slice(v),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:u&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&f.call(r[0],e,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(r[i]=void 0)})),r}),t.exports=s},function(t,n,e){var r=e(24);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(4),i=e(50),o=r["__core-js_shared__"]||i("__core-js_shared__",{});t.exports=o},function(t,n,e){var r=e(10),i=e(5),o=e(62);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);n.f=o?function(t){var n=i(this,t);return!!n&&n.enumerable}:r},function(t,n,e){var r=e(9),i=e(20),o=e(96).indexOf,a=e(44);t.exports=function(t,n){var e,c=i(t),f=0,s=[];for(e in c)!r(a,e)&&r(c,e)&&s.push(e);for(;n.length>f;)r(c,e=n[f++])&&(~o(s,e)||s.push(e));return s}},,,,,,function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){var r=e(5),i=/#|\.prototype\./,o=function(t,n){var e=c[a(t)];return e==s||e!=f&&("function"==typeof n?r(n):!!n)},a=o.normalize=function(t){return String(t).replace(i,".").toLowerCase()},c=o.data={},f=o.NATIVE="N",s=o.POLYFILL="P";t.exports=o},function(t,n,e){var r=e(6),i=e(68),o=e(12),a=r("unscopables"),c=Array.prototype;null==c[a]&&o.f(c,a,{configurable:!0,value:i(null)}),t.exports=function(t){c[a][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(12).f,i=e(9),o=e(6)("toStringTag");t.exports=function(t,n,e){t&&!i(t=e?t:t.prototype,o)&&r(t,o,{configurable:!0,value:n})}},function(t,n,e){var r=e(5),i=e(6),o=e(115),a=i("species");t.exports=function(t){return o>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},,,function(t,n,e){"use strict";var r=e(98),i=e(8),o=e(23),a=e(21),c=e(35),f=e(22),s=e(112),u=e(99),l=Math.max,p=Math.min,d=Math.floor,g=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var h=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=h?"$":"$0";return[function(e,r){var i=f(this),o=null==e?void 0:e[t];return void 0!==o?o.call(e,i,r):n.call(String(i),e,r)},function(t,r){if(!h&&m||"string"==typeof r&&-1===r.indexOf(y)){var o=e(n,t,this,r);if(o.done)return o.value}var f=i(t),d=String(this),g="function"==typeof r;g||(r=String(r));var v=f.global;if(v){var x=f.unicode;f.lastIndex=0}for(var b=[];;){var w=u(f,d);if(null===w)break;if(b.push(w),!v)break;""===String(w[0])&&(f.lastIndex=s(d,a(f.lastIndex),x))}for(var S,E="",O=0,A=0;A<b.length;A++){w=b[A];for(var j=String(w[0]),k=l(p(c(w.index),d.length),0),P=[],C=1;C<w.length;C++)P.push(void 0===(S=w[C])?S:String(S));var T=w.groups;if(g){var R=[j].concat(P,k,d);void 0!==T&&R.push(T);var F=String(r.apply(void 0,R))}else F=_(j,d,k,P,T,r);k>=O&&(E+=d.slice(O,k)+F,O=k+j.length)}return E+d.slice(O)}];function _(t,e,r,i,a,c){var f=r+t.length,s=i.length,u=v;return void 0!==a&&(a=o(a),u=g),n.call(c,u,(function(n,o){var c;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(f);case"<":c=a[o.slice(1,-1)];break;default:var u=+o;if(0===u)return n;if(u>s){var l=d(u/10);return 0===l?n:l<=s?void 0===i[l-1]?o.charAt(1):i[l-1]+o.charAt(1):n}c=i[u-1]}return void 0===c?"":c}))}}))},,,function(t,n,e){var r=e(20),i=e(21),o=e(105),a=function(t){return function(n,e,a){var c,f=r(n),s=i(f.length),u=o(a,s);if(t&&e!=e){for(;s>u;)if((c=f[u++])!=c)return!0}else for(;s>u;u++)if((t||u in f)&&f[u]===e)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){"use strict";var r=e(8);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){"use strict";e(41);var r=e(26),i=e(5),o=e(6),a=e(73),c=e(14),f=o("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),u="$0"==="a".replace(/./,"$0"),l=o("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),d=!i((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var g=o(t),v=!i((function(){var n={};return n[g]=function(){return 7},7!=""[t](n)})),h=v&&!i((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[f]=function(){return e},e.flags="",e[g]=/./[g]),e.exec=function(){return n=!0,null},e[g](""),!n}));if(!v||!h||"replace"===t&&(!s||!u||p)||"split"===t&&!d){var m=/./[g],y=e(g,""[t],(function(t,n,e,r,i){return n.exec===a?v&&!i?{done:!0,value:m.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),_=y[0],x=y[1];r(String.prototype,t,_),r(RegExp.prototype,g,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}l&&c(RegExp.prototype[g],"sham",!0)}},function(t,n,e){var r=e(24),i=e(73);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var o=e.call(t,n);if("object"!=typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},,function(t,n,e){var r=e(64);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(9),i=e(103),o=e(45),a=e(12);t.exports=function(t,n){for(var e=i(n),c=a.f,f=o.f,s=0;s<e.length;s++){var u=e[s];r(t,u)||c(t,u,f(n,u))}}},function(t,n,e){var r=e(27),i=e(72),o=e(88),a=e(8);t.exports=r("Reflect","ownKeys")||function(t){var n=i.f(a(t)),e=o.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(4);t.exports=r},function(t,n,e){var r=e(35),i=Math.max,o=Math.min;t.exports=function(t,n){var e=r(t);return e<0?i(e+n,0):o(e,n)}},function(t,n,e){var r=e(27);t.exports=r("document","documentElement")},function(t,n,e){var r=e(11),i=e(74),o=e(6)("species");t.exports=function(t,n){var e;return i(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)?r(e)&&null===(e=e[o])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){"use strict";var r=e(51),i=e(12),o=e(34);t.exports=function(t,n,e){var a=r(n);a in t?i.f(t,a,o(0,e)):t[a]=e}},function(t,n,e){var r=e(9),i=e(23),o=e(52),a=e(133),c=o("IE_PROTO"),f=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=i(t),r(t,c)?t[c]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?f:null}},,,function(t,n,e){"use strict";var r=e(117).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r={};r[e(6)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(4),i=e(65),o=r.WeakMap;t.exports="function"==typeof o&&/native code/.test(i(o))},function(t,n,e){var r,i,o=e(4),a=e(131),c=o.process,f=c&&c.versions,s=f&&f.v8;s?i=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(i=r[1]),t.exports=i&&+i},,function(t,n,e){var r=e(35),i=e(22),o=function(t){return function(n,e){var o,a,c=String(i(n)),f=r(e),s=c.length;return f<0||f>=s?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===s||(a=c.charCodeAt(f+1))<56320||a>57343?t?c.charAt(f):o:t?c.slice(f,f+2):a-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},function(t,n,e){var r=e(10),i=e(12),o=e(8),a=e(67);t.exports=r?Object.defineProperties:function(t,n){o(t);for(var e,r=a(n),c=r.length,f=0;c>f;)i.f(t,e=r[f++],n[e]);return t}},function(t,n,e){"use strict";var r,i,o,a=e(109),c=e(14),f=e(9),s=e(6),u=e(49),l=s("iterator"),p=!1;[].keys&&("next"in(o=[].keys())?(i=a(a(o)))!==Object.prototype&&(r=i):p=!0),null==r&&(r={}),u||f(r,l)||c(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},,function(t,n,e){"use strict";e.d(n,"a",(function(){return r})),e.d(n,"b",(function(){return i}));e(55),e(42),e(25);function r(t,n){var e=Array.from(t);e.pop(),e.map((function(t,e){"none"!==t.style.display&&(t.querySelector(".gform-settings-panel__collapsible-toggle-checkbox").addEventListener("click",(function(){i(t,n,e)})),i(t,n,e,"firstLoad"))}))}function i(t,n,e,r){var i="submit-container-"+e;if(!t.classList.contains("gform-settings-panel--collapsed")){var o=n.querySelector("#submit").cloneNode(!0);o.setAttribute("id","submit_"+e);var a=document.createElement("div");return a.setAttribute("class",i),a.innerHTML=o.outerHTML,t.parentNode.insertBefore(a,t.nextSibling)}r||document.querySelector(".".concat(i)).remove()}},,function(t,n,e){var r=e(11),i=e(24),o=e(6)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,e){"use strict";var r=e(5);function i(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=i("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=i("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(8),i=e(146);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,o){return r(e),i(o),n?t.call(e,o):e.__proto__=o,e}}():void 0)},function(t,n,e){var r=e(113),i=e(24),o=e(6)("toStringTag"),a="Arguments"==i(function(){return arguments}());t.exports=r?i:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),o))?e:a?i(n):"Object"==(r=i(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r=e(6),i=e(56),o=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||a[o]===t)}},function(t,n,e){var r=e(126),i=e(56),o=e(6)("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,n,e){var r=e(8);t.exports=function(t,n,e,i){try{return i?n(r(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&r(o.call(t)),n}}},function(t,n,e){var r=e(6)("iterator"),i=!1;try{var o=0,a={next:function(){return{done:!!o++}},return:function(){i=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var e=!1;try{var o={};o[r]=function(){return{next:function(){return{done:e=!0}}}},t(o)}catch(t){}return e}},function(t,n,e){var r=e(27);t.exports=r("navigator","userAgent")||""},function(t,n,e){"use strict";var r=e(7),i=e(145),o=e(109),a=e(125),c=e(89),f=e(14),s=e(26),u=e(6),l=e(49),p=e(56),d=e(119),g=d.IteratorPrototype,v=d.BUGGY_SAFARI_ITERATORS,h=u("iterator"),m=function(){return this};t.exports=function(t,n,e,u,d,y,_){i(e,n,u);var x,b,w,S=function(t){if(t===d&&k)return k;if(!v&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},E=n+" Iterator",O=!1,A=t.prototype,j=A[h]||A["@@iterator"]||d&&A[d],k=!v&&j||S(d),P="Array"==n&&A.entries||j;if(P&&(x=o(P.call(new t)),g!==Object.prototype&&x.next&&(l||o(x)===g||(a?a(x,g):"function"!=typeof x[h]&&f(x,h,m)),c(x,E,!0,!0),l&&(p[E]=m))),"values"==d&&j&&"values"!==j.name&&(O=!0,k=function(){return j.call(this)}),l&&!_||A[h]===k||f(A,h,k),p[n]=k,d)if(b={values:S("values"),keys:y?k:S("keys"),entries:S("entries")},_)for(w in b)(v||O||!(w in A))&&s(A,w,b[w]);else r({target:n,proto:!0,forced:v||O},b);return b}},function(t,n,e){var r=e(5);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},,,,,,,,function(t,n,e){"use strict";var r=e(27),i=e(12),o=e(6),a=e(10),c=o("species");t.exports=function(t){var n=r(t),e=i.f;a&&n&&!n[c]&&e(n,c,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(8),i=e(43),o=e(6)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[o])?n:i(e)}},,function(t,n,e){"use strict";var r=e(66),i=e(23),o=e(129),a=e(127),c=e(21),f=e(108),s=e(128);t.exports=function(t){var n,e,u,l,p,d,g=i(t),v="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,y=void 0!==m,_=s(g),x=0;if(y&&(m=r(m,h>2?arguments[2]:void 0,2)),null==_||v==Array&&a(_))for(e=new v(n=c(g.length));n>x;x++)d=y?m(g[x],x):g[x],f(e,x,d);else for(p=(l=_.call(g)).next,e=new v;!(u=p.call(l)).done;x++)d=y?o(l,m,[u.value,x],!0):u.value,f(e,x,d);return e.length=x,e}},function(t,n,e){"use strict";var r=e(119).IteratorPrototype,i=e(68),o=e(34),a=e(89),c=e(56),f=function(){return this};t.exports=function(t,n,e){var s=n+" Iterator";return t.prototype=i(r,{next:o(1,e)}),a(t,s,!1,!0),c[s]=f,t}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e(7)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})},,,,,,function(t,n,e){var r=e(10),i=e(4),o=e(85),a=e(172),c=e(12).f,f=e(72).f,s=e(123),u=e(97),l=e(124),p=e(26),d=e(5),g=e(47).set,v=e(141),h=e(6)("match"),m=i.RegExp,y=m.prototype,_=/a/g,x=/a/g,b=new m(_)!==_,w=l.UNSUPPORTED_Y;if(r&&o("RegExp",!b||w||d((function(){return x[h]=!1,m(_)!=_||m(x)==x||"/a/i"!=m(_,"i")})))){for(var S=function(t,n){var e,r=this instanceof S,i=s(t),o=void 0===n;if(!r&&i&&t.constructor===S&&o)return t;b?i&&!o&&(t=t.source):t instanceof S&&(o&&(n=u.call(t)),t=t.source),w&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var c=a(b?new m(t,n):m(t,n),r?this:y,S);return w&&e&&g(c,{sticky:e}),c},E=function(t){t in S||c(S,t,{configurable:!0,get:function(){return m[t]},set:function(n){m[t]=n}})},O=f(m),A=0;O.length>A;)E(O[A++]);y.constructor=S,S.prototype=y,p(i,"RegExp",S)}v("RegExp")},function(t,n,e){var r=e(11),i=e(125);t.exports=function(t,n,e){var o,a;return i&&"function"==typeof(o=n.constructor)&&o!==e&&r(a=o.prototype)&&a!==e.prototype&&i(t,a),t}},function(t,n,e){"use strict";var r=e(98),i=e(123),o=e(8),a=e(22),c=e(142),f=e(112),s=e(21),u=e(99),l=e(73),p=e(5),d=[].push,g=Math.min,v=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),o=void 0===e?4294967295:e>>>0;if(0===o)return[];if(void 0===t)return[r];if(!i(t))return n.call(r,t,o);for(var c,f,s,u=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),g=0,v=new RegExp(t.source,p+"g");(c=l.call(v,r))&&!((f=v.lastIndex)>g&&(u.push(r.slice(g,c.index)),c.length>1&&c.index<r.length&&d.apply(u,c.slice(1)),s=c[0].length,g=f,u.length>=o));)v.lastIndex===c.index&&v.lastIndex++;return g===r.length?!s&&v.test("")||u.push(""):u.push(r.slice(g)),u.length>o?u.slice(0,o):u}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var i=a(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,i,e):r.call(String(i),n,e)},function(t,i){var a=e(r,t,this,i,r!==n);if(a.done)return a.value;var l=o(t),p=String(this),d=c(l,RegExp),h=l.unicode,m=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(v?"y":"g"),y=new d(v?l:"^(?:"+l.source+")",m),_=void 0===i?4294967295:i>>>0;if(0===_)return[];if(0===p.length)return null===u(y,p)?[p]:[];for(var x=0,b=0,w=[];b<p.length;){y.lastIndex=v?b:0;var S,E=u(y,v?p:p.slice(b));if(null===E||(S=g(s(y.lastIndex+(v?0:b)),p.length))===x)b=f(p,b,h);else{if(w.push(p.slice(x,b)),w.length===_)return w;for(var O=1;O<=E.length-1;O++)if(w.push(E[O]),w.length===_)return w;b=x=S}}return w.push(p.slice(x)),w}]}),!v)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e.r(n);var r=e(2),i=e.n(r);e(165);e(19);function o(t,n){return i.a.ajax({type:"post",dataType:"json",url:GFPDF.ajaxUrl,data:t,success:n,error:n})}function a(t){return i()("<img alt="+GFPDF.spinnerAlt+" src="+GFPDF.spinnerUrl+" class="+t+" />")}function c(t){var n=i()("#gfpdf-settings-field-wrapper-font, #gfpdf-settings-field-wrapper-font_size, #gfpdf-settings-field-wrapper-font_colour");"legacy"===t?n.hide():n.show()}var f=e(121);function s(){i()("#gfpdf_settings\\[template\\]").off("change").on("change",(function(){var t=a("gfpdf-spinner-template");i()(this).next().after(t),o({action:"gfpdf_get_template_fields",nonce:GFPDF.ajaxNonce,template:i()(this).val(),type:i()(this).attr("id"),id:i()("#gform_id").val(),gform_pdf_id:i()("#gform_pdf_id").val()},(function(n){var e,r,o=i()(".submit-container-2")[0];t.remove(),i()('input[name="gfpdf_settings[advanced_template]"][value="No"]').prop("checked",!0).trigger("change"),n.fields?(i.a.each(n.editors,(function(t,n){var e=tinyMCE.get(n);if(null!==e)try{tinyMCE.remove(e)}catch(t){}})),o||Object(f.b)(i()("#gfpdf-fieldset-gfpdf_form_settings_template")[0],i()("#gfpdf_pdf_form")[0],"2"),i()("#gfpdf-fieldset-gfpdf_form_settings_template").show().find(".gform-settings-panel__content").html(n.fields),e=n.editors,null!=(r=n.editor_init)&&(r.body_class="id post-type-post post-status-publish post-format-standard",r.formats={alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table,dl.wp-caption",classes:"alignleft"}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img,table,dl.wp-caption",classes:"aligncenter"}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table,dl.wp-caption",classes:"alignright"}],strikethrough:{inline:"del"}},r.content_style='body#tinymce { max-width: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;}'),i.a.each(e,(function(t,n){r.selector="#"+n,tinyMCE.init(r),tinyMCE.execCommand("mceAddEditor",!1,n),"function"==typeof QTags&&(QTags({id:n}),QTags._buttonsInit(),"function"==typeof switchEditors.switchto&&switchEditors.switchto(jQuery("#wp-"+n+"-wrap").find(".wp-switch-editor.switch-"+("html"===getUserSetting("editor")?"html":"tmce"))[0]))})),l.runElements(),window.gfMergeTags&&"undefined"!=typeof form&&i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").length>=0&&(i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").each((function(){new gfMergeTagsObj(form,i()(this))})),i()("#gfpdf-fieldset-gfpdf_form_settings_template .gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}))),gform_initialize_tooltips()):(o&&o.remove(),i()("#gfpdf-fieldset-gfpdf_form_settings_template").hide().find(".gform-settings-panel__content").html("")),n.template_type&&c(n.template_type),i()(document).trigger("gfpdf_template_loaded",[n])}))}))}function u(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"runElements",value:function(){var t;"undefined"!=typeof gf_vars&&(gf_vars.thisFormButton=GFPDF.conditionalText,gf_vars.show=GFPDF.enable,gf_vars.hide=GFPDF.disable),window.formfield="",i()("body").off("click",".gfpdf_settings_upload_button").on("click",".gfpdf_settings_upload_button",(function(n){n.preventDefault();var e=i()(this);window.formfield=i()(this).prev(),t||(t=wp.media.frames.file_frame=wp.media({title:e.data("uploader-title"),button:{text:e.data("uploader-button-text")},multiple:!1})).on("select",(function(){t.state().get("selection").each((function(t){t=t.toJSON(),window.formfield.val(t.url).trigger("change")}))})),t.open()})),i()(".gfpdf-color-picker").each((function(){i()(this).wpColorPicker({width:300}),i()(this).parents(".wp-picker-container").find(".wp-color-result").addClass("ed_button")})),i()(".gfpdf_paper_size").each((function(){var t=i()(this).nextAll(".gfpdf_paper_size_other").first();i()(this).find("select").off("change").on("change",(function(){"CUSTOM"===i()(this).val()?t.fadeIn():t.fadeOut()})).trigger("change")})),i()("form").off("change",".gfpdf-input-toggle").on("change",".gfpdf-input-toggle",(function(){var t=i()(this).parent().next();i()(this).prop("checked")?t.slideDown("slow"):(t.slideUp("slow"),t.find(".wp-editor-area").each((function(){var t=tinyMCE.get(i()(this).attr("id"));null!==t&&t.setContent("")})),t.find("textarea").each((function(){i()(this).val("")})))})),s(),i()(".gfpdf-deactivate-license").on("click",(function(){var t=i()(this).parent(),n=a("gfpdf-spinner");i()(this).append(n);var e=i()(this).data("addon-name");return o({action:"gfpdf_deactivate_license",addon_name:e,license:i()(this).data("license"),nonce:i()(this).data("nonce")},(function(r){n.remove(),r.success?(i()("#gfpdf_settings\\[license_"+e+"\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_message\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_status\\]").val(""),t.find("button").remove(),t.find("#message").removeClass("error").addClass("success").html(r.success)):t.find("#message").removeClass("success").addClass("error").html(r.error)})),!1}))}}])&&u(n.prototype,e),r&&u(n,r),t}());e(171),e(41),e(29),e(93);function p(t){t.attr("novalidate","novalidate"),t.find('input[type="submit"]').on("click",(function(){t.addClass("formSubmitted")})),t.find(':input[required=""], :input[required]').each((function(){var t=i()(this).parent();t.find(".gform-settings-panel__title a").length?t.find(".gform-settings-panel__title a").before('<span class="gfield_required">(required)</span>'):t.find(".gform-settings-panel__title").append('<span class="gfield_required">(required)</span>')}))}function d(t,n,e){n=void 0!==n?n:4500,e=void 0!==e&&e;var r=i()('<div id="message">').html("<p>"+t+"</p>");!0===e?r.addClass("error"):r.addClass("updated"),i()(".wrap > h2").after(r),setTimeout((function(){r.slideUp()}),n)}function g(){function t(t){t.append(a("gfpdf-spinner gfpdf-spinner-small")).closest(".row-actions").attr("style","position:static; visibility: visible;"),o({action:"gfpdf_list_delete",nonce:t.data("nonce"),fid:t.data("fid"),pid:t.data("id")},(function(n){n.msg&&(t.closest(".row-actions").attr("style","").find(".gfpdf-spinner").remove(),d(n.msg),t.parents("tr").css("background","#ffb8b8").fadeOut(400,(function(){this.remove(),function(){var t=i()("#gfpdf_list_form tbody");if(0===t.find("tr").length){var n=i()("<tr>").addClass("no-items"),e=i()("<td>").attr("colspan","5").addClass("colspanchange"),r=i()("<a>").attr("href",i()("#gfpdf_list_form a.button:first").attr("href")).append(GFPDF.letsGoCreateOne+".");e.append(GFPDF.thisFormHasNoPdfs).append(" ").append(r),n.append(e),t.append(n)}}()})))}))}i()("#gfpdf_list_form").on("click","a.submitdelete",(function(){String(i()(this).data("id")).length>0&&window.confirm(GFPDF.pdfDeleteWarning)&&t(i()(this));return!1}))}e(71),e(173);function v(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var h=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"setupAJAXListListener",value:function(){g(),i()("#gfpdf_list_form").on("click","a.submitduplicate",(function(t){t.preventDefault();var n=String(i()(this).data("id")),e=this;i()(this).after(a("gfpdf-spinner gfpdf-spinner-small")).parent().parent().attr("style","position:static; visibility: visible;"),n.length>0&&o({action:"gfpdf_list_duplicate",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){if(t.msg){i()(e).parent().parent().attr("style","").find(".gfpdf-spinner").remove(),d(t.msg);var r=i()(e).parents("tr"),o=r.clone().css("background","#baffb8");o.find(".column-name > a, .edit a").each((function(){var n=i()(this).attr("href");n=function(t,n,e){var r="",i=t.split("?"),o=i[0],a=i[1],c="";if(a){i=a.split("&");for(var f=0;f<i.length;f++)i[f].split("=")[0]!==n&&(r+=c+i[f],c="&")}return o+"?"+r+c+n+"="+e}(n,"pid",t.pid),i()(this).attr("href",n)})),o.find(".column-name > a").html(t.name);var a=o.find(".duplicate a"),c=o.find(".delete a"),f=o.find(".check-column button"),s=o.find(".column-shortcode");a.data("id",t.pid),a.data("nonce",t.dup_nonce),c.data("id",t.pid),c.data("nonce",t.del_nonce),f.data("id",t.pid),f.data("nonce",t.state_nonce),f[0].setAttribute("data-status","inactive");var u=s.find("button").attr("data-clipboard-text");u=u.replace(n,t.pid),s.find("button").attr("data-clipboard-text",u),s.find("input").attr("id",t.pid).attr("value",u),f.removeClass("gform-status--active").addClass("gform-status--inactive").find(".gform-status-indicator-status").html(t.status),o.hide().insertAfter(r).fadeIn().animate({backgroundColor:"#F6F9FC"})}}))})),i()("#gfpdf_list_form").on("click",".check-column button",(function(){var t=String(i()(this).data("id")),n=i()(this),e=n.find("span.gform-status-indicator-status");t.length>0&&(n.addClass("gform_status--pending").removeClass("gform-status--active gform-status--inactive"),o({action:"gfpdf_change_state",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){e.html(t.state),"active"===n.data("status")?(n[0].setAttribute("data-status","inactive"),n.data("status","inactive").removeClass("gform_status--pending").addClass("gform-status--inactive")):(n[0].setAttribute("data-status","active"),n.data("status","active").removeClass("gform_status--pending").addClass("gform-status--active"))})))}))}}])&&v(n.prototype,e),r&&v(n,r),t}());e(58);function m(){var t,n,e,r,o,a,f,s;p(i()("#gfpdf_pdf_form")),t=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced"),n=t.find('input[name="gfpdf_settings[security]"]'),e=t.find('input[name="gfpdf_settings[format]"]'),r=t.find("#gfpdf-settings-field-wrapper-security"),o=t.find("#gfpdf-settings-field-wrapper-password,#gfpdf-settings-field-wrapper-privileges,#gfpdf-settings-field-wrapper-master_password:not(.gfpdf-hidden)"),n.on("change",(function(){var t=e.filter(":checked").val();"No"===i()(this).val()||"Standard"!==t?o.hide():i()(this).is(":checked")?o.show():o.hide(),"Standard"!==t?r.hide():r.show()})).trigger("change"),e.on("change",(function(){i()(this).is(":checked")&&n.trigger("change")})).trigger("change"),gform.addFilter("gform_conditional_object",(function(t,n){return"gfpdf"===n?window.gfpdf_current_pdf:t})),i()("#gfpdf_conditional_logic").on("change",(function(){void 0===window.gfpdf_current_pdf.conditionalLogic&&i()(this).prop("checked")?window.gfpdf_current_pdf.conditionalLogic=new ConditionalLogic:i()(this).prop("checked")||(window.gfpdf_current_pdf.conditionalLogic=null),ToggleConditionalLogic(!1,"gfpdf")})).trigger("change"),a=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced").find('input[name="gfpdf_settings[public_access]"]'),f=i()("#gfpdf-settings-field-wrapper-restrict_owner"),a.on("change",(function(){i()(this).is(":checked")?f.hide():f.show()})).trigger("change"),c(i()("#gfpdf_settings\\[template\\]").data("template_group")),s=i()("#gfpdf-fieldset-gfpdf_form_settings_appearance"),i()('input[name="gfpdf_settings[advanced_template]"]').on("change",(function(){"Yes"===i()(this).val()?s.hide():s.show()})),i()('input[name="gfpdf_settings[advanced_template]"]:checked').trigger("change"),i()(".gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}));var u=i()("#gfpdf-fieldset-gfpdf_form_settings_template");0===u.find(".gform-settings-panel__content").children().length&&u.hide(),i()(".gform-settings__wrapper > .alert").detach().prependTo("#tab_pdf"),i()("#gfpdf_pdf_form").on("submit",(function(){try{tinyMCE.triggerSave()}catch(t){}})),i()("#gfpdf_pdf_form").on("submit",(function(){i()("#gfpdf_settings\\[conditionalLogic\\]").val(i.a.toJSON(window.gfpdf_current_pdf.conditionalLogic))}))}function y(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var _=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"isSettings",value:function(){return i()("#pdfextended-settings").length}},{key:"isFormSettings",value:function(){return i()(".gforms_edit_form").length}},{key:"isFormSettingsList",value:function(){return i()("#gfpdf_list_form").length}},{key:"isFormSettingsEdit",value:function(){return i()("#gfpdf_pdf_form").length}}])&&y(n.prototype,e),r&&y(n,r),t}());function x(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var b=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"init",value:function(){l.runElements(),_.isSettings()&&this.processSettings(),_.isFormSettings()&&this.processFormSettings()}},{key:"getCurrentSettingsPage",value:function(){return _.isSettings()?i()(".gform-settings-tabs__navigation a.active:first").data("id"):""}},{key:"processSettings",value:function(){switch(i()("#gform_tabs a").each((function(){var t=i()(this).attr("href"),n=new RegExp("&tab=[^&;]*","g");i()(this).attr("href",t.replace(n,""))})),this.getCurrentSettingsPage()){case"general":!function(){p(i()("#pdfextended-settings > form"));var t=i()("#pdf-general-security");t.find('input[name="gfpdf_settings[default_restrict_owner]"]').on("change",(function(){i()(this).is(":checked")&&("Yes"===i()(this).val()?t.find("tr:nth-child(3)").hide():t.find("tr:nth-child(3)").show())})).trigger("change")}()}}},{key:"processFormSettings",value:function(){_.isFormSettingsList()&&h.setupAJAXListListener(),_.isFormSettingsEdit()&&m()}}])&&x(n.prototype,e),r&&x(n,r),t}());i()((function(){b.init()}))}]);
|
1 |
+
!function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.0/dist/",e(e.s=211)}([,,function(t,n){t.exports=jQuery},,function(t,n,e){(function(n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")()}).call(this,e(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r=e(4),i=e(61),o=e(9),a=e(63),c=e(64),f=e(101),s=i("wks"),u=r.Symbol,l=f?u:u&&u.withoutSetter||a;t.exports=function(t){return o(s,t)||(c&&o(u,t)?s[t]=u[t]:s[t]=l("Symbol."+t)),s[t]}},function(t,n,e){var r=e(4),i=e(45).f,o=e(14),a=e(26),c=e(50),f=e(102),s=e(85);t.exports=function(t,n){var e,u,l,p,d,g=t.target,v=t.global,h=t.stat;if(e=v?r:h?r[g]||c(g,{}):(r[g]||{}).prototype)for(u in n){if(p=n[u],l=t.noTargetGet?(d=i(e,u))&&d.value:e[u],!s(v?u:g+(h?".":"#")+u,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;f(p,l)}(t.sham||l&&l.sham)&&o(p,"sham",!0),a(e,u,p,t)}}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(10),i=e(76),o=e(8),a=e(51),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(o(t),n=a(n,!0),o(e),i)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},,function(t,n,e){var r=e(10),i=e(12),o=e(34);t.exports=r?function(t,n,e){return i.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},,,,,function(t,n,e){"use strict";var r=e(7),i=e(48).find,o=e(86),a=e(33),c=!0,f=a("find");"find"in[]&&Array(1).find((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!f},{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("find")},function(t,n,e){var r=e(59),i=e(22);t.exports=function(t){return r(i(t))}},function(t,n,e){var r=e(35),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(22);t.exports=function(t){return Object(r(t))}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){"use strict";var r=e(117).charAt,i=e(47),o=e(132),a=i.set,c=i.getterFor("String Iterator");o(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=c(this),e=n.string,i=n.index;return i>=e.length?{value:void 0,done:!0}:(t=r(e,i),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(4),i=e(14),o=e(9),a=e(50),c=e(65),f=e(47),s=f.get,u=f.enforce,l=String(String).split("String");(t.exports=function(t,n,e,c){var f=!!c&&!!c.unsafe,s=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof e&&("string"!=typeof n||o(e,"name")||i(e,"name",n),u(e).source=l.join("string"==typeof n?n:"")),t!==r?(f?!p&&t[n]&&(s=!0):delete t[n],s?t[n]=e:i(t,n,e)):s?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},function(t,n,e){var r=e(104),i=e(4),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?o(r[t])||o(i[t]):r[t]&&r[t][n]||i[t]&&i[t][n]}},,function(t,n,e){"use strict";var r=e(26),i=e(8),o=e(5),a=e(97),c=RegExp.prototype,f=c.toString,s=o((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),u="toString"!=f.name;(s||u)&&r(RegExp.prototype,"toString",(function(){var t=i(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in c)?a.call(t):e)}),{unsafe:!0})},,,,function(t,n,e){var r=e(10),i=e(5),o=e(9),a=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(o(c,t))return c[t];n||(n={});var e=[][t],s=!!o(n,"ACCESSORS")&&n.ACCESSORS,u=o(n,0)?n[0]:f,l=o(n,1)?n[1]:void 0;return c[t]=!!e&&!i((function(){if(s&&!r)return!0;var t={length:-1};s?a(t,1,{enumerable:!0,get:f}):t[1]=1,e.call(t,u,l)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},,,,,,function(t,n,e){"use strict";var r=e(7),i=e(73);r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},function(t,n,e){"use strict";var r=e(7),i=e(48).map,o=e(90),a=e(33),c=o("map"),f=a("map");r({target:"Array",proto:!0,forced:!c||!f},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,e){var r=e(10),i=e(77),o=e(34),a=e(20),c=e(51),f=e(9),s=e(76),u=Object.getOwnPropertyDescriptor;n.f=r?u:function(t,n){if(t=a(t),n=c(n,!0),s)try{return u(t,n)}catch(t){}if(f(t,n))return o(!i.f.call(t,n),t[n])}},,function(t,n,e){var r,i,o,a=e(114),c=e(4),f=e(11),s=e(14),u=e(9),l=e(52),p=e(44),d=c.WeakMap;if(a){var g=new d,v=g.get,h=g.has,m=g.set;r=function(t,n){return m.call(g,t,n),n},i=function(t){return v.call(g,t)||{}},o=function(t){return h.call(g,t)}}else{var y=l("state");p[y]=!0,r=function(t,n){return s(t,y,n),n},i=function(t){return u(t,y)?t[y]:{}},o=function(t){return u(t,y)}}t.exports={set:r,get:i,has:o,enforce:function(t){return o(t)?i(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!f(n)||(e=i(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(66),i=e(59),o=e(23),a=e(21),c=e(107),f=[].push,s=function(t){var n=1==t,e=2==t,s=3==t,u=4==t,l=6==t,p=5==t||l;return function(d,g,v,h){for(var m,y,_=o(d),x=i(_),b=r(g,v,3),w=a(x.length),S=0,E=h||c,O=n?E(d,w):e?E(d,0):void 0;w>S;S++)if((p||S in x)&&(y=b(m=x[S],S,_),t))if(n)O[S]=y;else if(y)switch(t){case 3:return!0;case 5:return m;case 6:return S;case 2:f.call(O,m)}else if(u)return!1;return l?-1:s||u?u:O}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(t,n){t.exports=!1},function(t,n,e){var r=e(4),i=e(14);t.exports=function(t,n){try{i(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(11);t.exports=function(t,n){if(!r(t))return t;var e,i;if(n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;if("function"==typeof(e=t.valueOf)&&!r(i=e.call(t)))return i;if(!n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(61),i=e(63),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,function(t,n,e){var r=e(7),i=e(144);r({target:"Array",stat:!0,forced:!e(130)((function(t){Array.from(t)}))},{from:i})},function(t,n){t.exports={}},,function(t,n,e){"use strict";var r=e(7),i=e(48).filter,o=e(90),a=e(33),c=o("filter"),f=a("filter");r({target:"Array",proto:!0,forced:!c||!f},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(5),i=e(24),o="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?o.call(t,""):Object(t)}:Object},,function(t,n,e){var r=e(49),i=e(75);(t.exports=function(t,n){return i[t]||(i[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(4),i=e(11),o=r.document,a=i(o)&&i(o.createElement);t.exports=function(t){return a?o.createElement(t):{}}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n,e){var r=e(5);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(75),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return i.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(43);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,i){return t.call(n,e,r,i)}}return function(){return t.apply(n,arguments)}}},function(t,n,e){var r=e(78),i=e(53);t.exports=Object.keys||function(t){return r(t,i)}},function(t,n,e){var r,i=e(8),o=e(118),a=e(53),c=e(44),f=e(106),s=e(62),u=e(52),l=u("IE_PROTO"),p=function(){},d=function(t){return"<script>"+t+"<\/script>"},g=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;g=r?function(t){t.write(d("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=s("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(d("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete g.prototype[a[e]];return g()};c[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=i(t),e=new p,p.prototype=null,e[l]=t):e=g(),void 0===n?e:o(e,n)}},,,function(t,n,e){var r=e(10),i=e(12).f,o=Function.prototype,a=o.toString,c=/^\s*function ([^ (]*)/;r&&!("name"in o)&&i(o,"name",{configurable:!0,get:function(){try{return a.call(this).match(c)[1]}catch(t){return""}}})},function(t,n,e){var r=e(78),i=e(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,n,e){"use strict";var r,i,o=e(97),a=e(124),c=RegExp.prototype.exec,f=String.prototype.replace,s=c,u=(r=/a/,i=/b*/g,c.call(r,"a"),c.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(u||p||l)&&(s=function(t){var n,e,r,i,a=this,s=l&&a.sticky,d=o.call(a),g=a.source,v=0,h=t;return s&&(-1===(d=d.replace("y","")).indexOf("g")&&(d+="g"),h=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(g="(?: "+g+")",h=" "+h,v++),e=new RegExp("^(?:"+g+")",d)),p&&(e=new RegExp("^"+g+"$(?!\\s)",d)),u&&(n=a.lastIndex),r=c.call(s?e:a,h),s?r?(r.input=r.input.slice(v),r[0]=r[0].slice(v),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:u&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&f.call(r[0],e,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(r[i]=void 0)})),r}),t.exports=s},function(t,n,e){var r=e(24);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(4),i=e(50),o=r["__core-js_shared__"]||i("__core-js_shared__",{});t.exports=o},function(t,n,e){var r=e(10),i=e(5),o=e(62);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);n.f=o?function(t){var n=i(this,t);return!!n&&n.enumerable}:r},function(t,n,e){var r=e(9),i=e(20),o=e(96).indexOf,a=e(44);t.exports=function(t,n){var e,c=i(t),f=0,s=[];for(e in c)!r(a,e)&&r(c,e)&&s.push(e);for(;n.length>f;)r(c,e=n[f++])&&(~o(s,e)||s.push(e));return s}},,,,,,function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){var r=e(5),i=/#|\.prototype\./,o=function(t,n){var e=c[a(t)];return e==s||e!=f&&("function"==typeof n?r(n):!!n)},a=o.normalize=function(t){return String(t).replace(i,".").toLowerCase()},c=o.data={},f=o.NATIVE="N",s=o.POLYFILL="P";t.exports=o},function(t,n,e){var r=e(6),i=e(68),o=e(12),a=r("unscopables"),c=Array.prototype;null==c[a]&&o.f(c,a,{configurable:!0,value:i(null)}),t.exports=function(t){c[a][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(12).f,i=e(9),o=e(6)("toStringTag");t.exports=function(t,n,e){t&&!i(t=e?t:t.prototype,o)&&r(t,o,{configurable:!0,value:n})}},function(t,n,e){var r=e(5),i=e(6),o=e(115),a=i("species");t.exports=function(t){return o>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},,,function(t,n,e){"use strict";var r=e(98),i=e(8),o=e(23),a=e(21),c=e(35),f=e(22),s=e(112),u=e(99),l=Math.max,p=Math.min,d=Math.floor,g=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var h=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=h?"$":"$0";return[function(e,r){var i=f(this),o=null==e?void 0:e[t];return void 0!==o?o.call(e,i,r):n.call(String(i),e,r)},function(t,r){if(!h&&m||"string"==typeof r&&-1===r.indexOf(y)){var o=e(n,t,this,r);if(o.done)return o.value}var f=i(t),d=String(this),g="function"==typeof r;g||(r=String(r));var v=f.global;if(v){var x=f.unicode;f.lastIndex=0}for(var b=[];;){var w=u(f,d);if(null===w)break;if(b.push(w),!v)break;""===String(w[0])&&(f.lastIndex=s(d,a(f.lastIndex),x))}for(var S,E="",O=0,A=0;A<b.length;A++){w=b[A];for(var j=String(w[0]),k=l(p(c(w.index),d.length),0),P=[],C=1;C<w.length;C++)P.push(void 0===(S=w[C])?S:String(S));var T=w.groups;if(g){var R=[j].concat(P,k,d);void 0!==T&&R.push(T);var F=String(r.apply(void 0,R))}else F=_(j,d,k,P,T,r);k>=O&&(E+=d.slice(O,k)+F,O=k+j.length)}return E+d.slice(O)}];function _(t,e,r,i,a,c){var f=r+t.length,s=i.length,u=v;return void 0!==a&&(a=o(a),u=g),n.call(c,u,(function(n,o){var c;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(f);case"<":c=a[o.slice(1,-1)];break;default:var u=+o;if(0===u)return n;if(u>s){var l=d(u/10);return 0===l?n:l<=s?void 0===i[l-1]?o.charAt(1):i[l-1]+o.charAt(1):n}c=i[u-1]}return void 0===c?"":c}))}}))},,,function(t,n,e){var r=e(20),i=e(21),o=e(105),a=function(t){return function(n,e,a){var c,f=r(n),s=i(f.length),u=o(a,s);if(t&&e!=e){for(;s>u;)if((c=f[u++])!=c)return!0}else for(;s>u;u++)if((t||u in f)&&f[u]===e)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){"use strict";var r=e(8);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){"use strict";e(41);var r=e(26),i=e(5),o=e(6),a=e(73),c=e(14),f=o("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),u="$0"==="a".replace(/./,"$0"),l=o("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),d=!i((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var g=o(t),v=!i((function(){var n={};return n[g]=function(){return 7},7!=""[t](n)})),h=v&&!i((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[f]=function(){return e},e.flags="",e[g]=/./[g]),e.exec=function(){return n=!0,null},e[g](""),!n}));if(!v||!h||"replace"===t&&(!s||!u||p)||"split"===t&&!d){var m=/./[g],y=e(g,""[t],(function(t,n,e,r,i){return n.exec===a?v&&!i?{done:!0,value:m.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),_=y[0],x=y[1];r(String.prototype,t,_),r(RegExp.prototype,g,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}l&&c(RegExp.prototype[g],"sham",!0)}},function(t,n,e){var r=e(24),i=e(73);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var o=e.call(t,n);if("object"!=typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},,function(t,n,e){var r=e(64);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(9),i=e(103),o=e(45),a=e(12);t.exports=function(t,n){for(var e=i(n),c=a.f,f=o.f,s=0;s<e.length;s++){var u=e[s];r(t,u)||c(t,u,f(n,u))}}},function(t,n,e){var r=e(27),i=e(72),o=e(88),a=e(8);t.exports=r("Reflect","ownKeys")||function(t){var n=i.f(a(t)),e=o.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(4);t.exports=r},function(t,n,e){var r=e(35),i=Math.max,o=Math.min;t.exports=function(t,n){var e=r(t);return e<0?i(e+n,0):o(e,n)}},function(t,n,e){var r=e(27);t.exports=r("document","documentElement")},function(t,n,e){var r=e(11),i=e(74),o=e(6)("species");t.exports=function(t,n){var e;return i(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)?r(e)&&null===(e=e[o])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){"use strict";var r=e(51),i=e(12),o=e(34);t.exports=function(t,n,e){var a=r(n);a in t?i.f(t,a,o(0,e)):t[a]=e}},function(t,n,e){var r=e(9),i=e(23),o=e(52),a=e(133),c=o("IE_PROTO"),f=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=i(t),r(t,c)?t[c]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?f:null}},,,function(t,n,e){"use strict";var r=e(117).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r={};r[e(6)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(4),i=e(65),o=r.WeakMap;t.exports="function"==typeof o&&/native code/.test(i(o))},function(t,n,e){var r,i,o=e(4),a=e(131),c=o.process,f=c&&c.versions,s=f&&f.v8;s?i=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(i=r[1]),t.exports=i&&+i},,function(t,n,e){var r=e(35),i=e(22),o=function(t){return function(n,e){var o,a,c=String(i(n)),f=r(e),s=c.length;return f<0||f>=s?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===s||(a=c.charCodeAt(f+1))<56320||a>57343?t?c.charAt(f):o:t?c.slice(f,f+2):a-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},function(t,n,e){var r=e(10),i=e(12),o=e(8),a=e(67);t.exports=r?Object.defineProperties:function(t,n){o(t);for(var e,r=a(n),c=r.length,f=0;c>f;)i.f(t,e=r[f++],n[e]);return t}},function(t,n,e){"use strict";var r,i,o,a=e(109),c=e(14),f=e(9),s=e(6),u=e(49),l=s("iterator"),p=!1;[].keys&&("next"in(o=[].keys())?(i=a(a(o)))!==Object.prototype&&(r=i):p=!0),null==r&&(r={}),u||f(r,l)||c(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},,function(t,n,e){"use strict";e.d(n,"a",(function(){return r})),e.d(n,"b",(function(){return i}));e(55),e(42),e(25);function r(t,n){var e=Array.from(t);e.pop(),e.map((function(t,e){"none"!==t.style.display&&(t.querySelector(".gform-settings-panel__collapsible-toggle-checkbox").addEventListener("click",(function(){i(t,n,e)})),i(t,n,e,"firstLoad"))}))}function i(t,n,e,r){var i="submit-container-"+e;if(!t.classList.contains("gform-settings-panel--collapsed")){var o=n.querySelector("#submit").cloneNode(!0);o.setAttribute("id","submit_"+e);var a=document.createElement("div");return a.setAttribute("class",i),a.innerHTML=o.outerHTML,t.parentNode.insertBefore(a,t.nextSibling)}r||document.querySelector(".".concat(i)).remove()}},,function(t,n,e){var r=e(11),i=e(24),o=e(6)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,e){"use strict";var r=e(5);function i(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=i("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=i("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(8),i=e(146);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,o){return r(e),i(o),n?t.call(e,o):e.__proto__=o,e}}():void 0)},function(t,n,e){var r=e(113),i=e(24),o=e(6)("toStringTag"),a="Arguments"==i(function(){return arguments}());t.exports=r?i:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),o))?e:a?i(n):"Object"==(r=i(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r=e(6),i=e(56),o=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||a[o]===t)}},function(t,n,e){var r=e(126),i=e(56),o=e(6)("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,n,e){var r=e(8);t.exports=function(t,n,e,i){try{return i?n(r(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&r(o.call(t)),n}}},function(t,n,e){var r=e(6)("iterator"),i=!1;try{var o=0,a={next:function(){return{done:!!o++}},return:function(){i=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var e=!1;try{var o={};o[r]=function(){return{next:function(){return{done:e=!0}}}},t(o)}catch(t){}return e}},function(t,n,e){var r=e(27);t.exports=r("navigator","userAgent")||""},function(t,n,e){"use strict";var r=e(7),i=e(145),o=e(109),a=e(125),c=e(89),f=e(14),s=e(26),u=e(6),l=e(49),p=e(56),d=e(119),g=d.IteratorPrototype,v=d.BUGGY_SAFARI_ITERATORS,h=u("iterator"),m=function(){return this};t.exports=function(t,n,e,u,d,y,_){i(e,n,u);var x,b,w,S=function(t){if(t===d&&k)return k;if(!v&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},E=n+" Iterator",O=!1,A=t.prototype,j=A[h]||A["@@iterator"]||d&&A[d],k=!v&&j||S(d),P="Array"==n&&A.entries||j;if(P&&(x=o(P.call(new t)),g!==Object.prototype&&x.next&&(l||o(x)===g||(a?a(x,g):"function"!=typeof x[h]&&f(x,h,m)),c(x,E,!0,!0),l&&(p[E]=m))),"values"==d&&j&&"values"!==j.name&&(O=!0,k=function(){return j.call(this)}),l&&!_||A[h]===k||f(A,h,k),p[n]=k,d)if(b={values:S("values"),keys:y?k:S("keys"),entries:S("entries")},_)for(w in b)(v||O||!(w in A))&&s(A,w,b[w]);else r({target:n,proto:!0,forced:v||O},b);return b}},function(t,n,e){var r=e(5);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},,,,,,,,function(t,n,e){"use strict";var r=e(27),i=e(12),o=e(6),a=e(10),c=o("species");t.exports=function(t){var n=r(t),e=i.f;a&&n&&!n[c]&&e(n,c,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(8),i=e(43),o=e(6)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[o])?n:i(e)}},,function(t,n,e){"use strict";var r=e(66),i=e(23),o=e(129),a=e(127),c=e(21),f=e(108),s=e(128);t.exports=function(t){var n,e,u,l,p,d,g=i(t),v="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,y=void 0!==m,_=s(g),x=0;if(y&&(m=r(m,h>2?arguments[2]:void 0,2)),null==_||v==Array&&a(_))for(e=new v(n=c(g.length));n>x;x++)d=y?m(g[x],x):g[x],f(e,x,d);else for(p=(l=_.call(g)).next,e=new v;!(u=p.call(l)).done;x++)d=y?o(l,m,[u.value,x],!0):u.value,f(e,x,d);return e.length=x,e}},function(t,n,e){"use strict";var r=e(119).IteratorPrototype,i=e(68),o=e(34),a=e(89),c=e(56),f=function(){return this};t.exports=function(t,n,e){var s=n+" Iterator";return t.prototype=i(r,{next:o(1,e)}),a(t,s,!1,!0),c[s]=f,t}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e(7)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})},,,,,,function(t,n,e){var r=e(10),i=e(4),o=e(85),a=e(172),c=e(12).f,f=e(72).f,s=e(123),u=e(97),l=e(124),p=e(26),d=e(5),g=e(47).set,v=e(141),h=e(6)("match"),m=i.RegExp,y=m.prototype,_=/a/g,x=/a/g,b=new m(_)!==_,w=l.UNSUPPORTED_Y;if(r&&o("RegExp",!b||w||d((function(){return x[h]=!1,m(_)!=_||m(x)==x||"/a/i"!=m(_,"i")})))){for(var S=function(t,n){var e,r=this instanceof S,i=s(t),o=void 0===n;if(!r&&i&&t.constructor===S&&o)return t;b?i&&!o&&(t=t.source):t instanceof S&&(o&&(n=u.call(t)),t=t.source),w&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var c=a(b?new m(t,n):m(t,n),r?this:y,S);return w&&e&&g(c,{sticky:e}),c},E=function(t){t in S||c(S,t,{configurable:!0,get:function(){return m[t]},set:function(n){m[t]=n}})},O=f(m),A=0;O.length>A;)E(O[A++]);y.constructor=S,S.prototype=y,p(i,"RegExp",S)}v("RegExp")},function(t,n,e){var r=e(11),i=e(125);t.exports=function(t,n,e){var o,a;return i&&"function"==typeof(o=n.constructor)&&o!==e&&r(a=o.prototype)&&a!==e.prototype&&i(t,a),t}},function(t,n,e){"use strict";var r=e(98),i=e(123),o=e(8),a=e(22),c=e(142),f=e(112),s=e(21),u=e(99),l=e(73),p=e(5),d=[].push,g=Math.min,v=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),o=void 0===e?4294967295:e>>>0;if(0===o)return[];if(void 0===t)return[r];if(!i(t))return n.call(r,t,o);for(var c,f,s,u=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),g=0,v=new RegExp(t.source,p+"g");(c=l.call(v,r))&&!((f=v.lastIndex)>g&&(u.push(r.slice(g,c.index)),c.length>1&&c.index<r.length&&d.apply(u,c.slice(1)),s=c[0].length,g=f,u.length>=o));)v.lastIndex===c.index&&v.lastIndex++;return g===r.length?!s&&v.test("")||u.push(""):u.push(r.slice(g)),u.length>o?u.slice(0,o):u}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var i=a(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,i,e):r.call(String(i),n,e)},function(t,i){var a=e(r,t,this,i,r!==n);if(a.done)return a.value;var l=o(t),p=String(this),d=c(l,RegExp),h=l.unicode,m=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(v?"y":"g"),y=new d(v?l:"^(?:"+l.source+")",m),_=void 0===i?4294967295:i>>>0;if(0===_)return[];if(0===p.length)return null===u(y,p)?[p]:[];for(var x=0,b=0,w=[];b<p.length;){y.lastIndex=v?b:0;var S,E=u(y,v?p:p.slice(b));if(null===E||(S=g(s(y.lastIndex+(v?0:b)),p.length))===x)b=f(p,b,h);else{if(w.push(p.slice(x,b)),w.length===_)return w;for(var O=1;O<=E.length-1;O++)if(w.push(E[O]),w.length===_)return w;b=x=S}}return w.push(p.slice(x)),w}]}),!v)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e.r(n);var r=e(2),i=e.n(r);e(165);e(19);function o(t,n){return i.a.ajax({type:"post",dataType:"json",url:GFPDF.ajaxUrl,data:t,success:n,error:n})}function a(t){return i()("<img alt="+GFPDF.spinnerAlt+" src="+GFPDF.spinnerUrl+" class="+t+" />")}function c(t){var n=i()("#gfpdf-settings-field-wrapper-font, #gfpdf-settings-field-wrapper-font_size, #gfpdf-settings-field-wrapper-font_colour");"legacy"===t?n.hide():n.show()}var f=e(121);function s(){i()("#gfpdf_settings\\[template\\]").off("change").on("change",(function(){var t=a("gfpdf-spinner-template");i()(this).next().after(t),o({action:"gfpdf_get_template_fields",nonce:GFPDF.ajaxNonce,template:i()(this).val(),type:i()(this).attr("id"),id:i()("#gform_id").val(),gform_pdf_id:i()("#gform_pdf_id").val()},(function(n){var e,r,o=i()(".submit-container-2")[0];t.remove(),i()('input[name="gfpdf_settings[advanced_template]"][value="No"]').prop("checked",!0).trigger("change"),n.fields?(i.a.each(n.editors,(function(t,n){var e=tinyMCE.get(n);if(null!==e)try{tinyMCE.remove(e)}catch(t){}})),o||Object(f.b)(i()("#gfpdf-fieldset-gfpdf_form_settings_template")[0],i()("#gfpdf_pdf_form")[0],"2"),i()("#gfpdf-fieldset-gfpdf_form_settings_template").show().find(".gform-settings-panel__content").html(n.fields),e=n.editors,null!=(r=n.editor_init)&&(r.body_class="id post-type-post post-status-publish post-format-standard",r.formats={alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table,dl.wp-caption",classes:"alignleft"}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img,table,dl.wp-caption",classes:"aligncenter"}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table,dl.wp-caption",classes:"alignright"}],strikethrough:{inline:"del"}},r.content_style='body#tinymce { max-width: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;}'),i.a.each(e,(function(t,n){r.selector="#"+n,tinyMCE.init(r),tinyMCE.execCommand("mceAddEditor",!1,n),"function"==typeof QTags&&(QTags({id:n}),QTags._buttonsInit(),"function"==typeof switchEditors.switchto&&switchEditors.switchto(jQuery("#wp-"+n+"-wrap").find(".wp-switch-editor.switch-"+("html"===getUserSetting("editor")?"html":"tmce"))[0]))})),l.runElements(),window.gfMergeTags&&"undefined"!=typeof form&&i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").length>=0&&(i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").each((function(){new gfMergeTagsObj(form,i()(this))})),i()("#gfpdf-fieldset-gfpdf_form_settings_template .gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}))),gform_initialize_tooltips()):(o&&o.remove(),i()("#gfpdf-fieldset-gfpdf_form_settings_template").hide().find(".gform-settings-panel__content").html("")),n.template_type&&c(n.template_type),i()(document).trigger("gfpdf_template_loaded",[n])}))}))}function u(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"runElements",value:function(){var t;"undefined"!=typeof gf_vars&&(gf_vars.thisFormButton=GFPDF.conditionalText,gf_vars.show=GFPDF.enable,gf_vars.hide=GFPDF.disable),window.formfield="",i()("body").off("click",".gfpdf_settings_upload_button").on("click",".gfpdf_settings_upload_button",(function(n){n.preventDefault();var e=i()(this);window.formfield=i()(this).prev(),t||(t=wp.media.frames.file_frame=wp.media({title:e.data("uploader-title"),button:{text:e.data("uploader-button-text")},multiple:!1})).on("select",(function(){t.state().get("selection").each((function(t){t=t.toJSON(),window.formfield.val(t.url).trigger("change")}))})),t.open()})),i()(".gfpdf-color-picker").each((function(){i()(this).wpColorPicker({width:300}),i()(this).parents(".wp-picker-container").find(".wp-color-result").addClass("ed_button")})),i()(".gfpdf_paper_size").each((function(){var t=i()(this).nextAll(".gfpdf_paper_size_other").first();i()(this).find("select").off("change").on("change",(function(){"CUSTOM"===i()(this).val()?t.fadeIn():t.fadeOut()})).trigger("change")})),i()("form").off("change",".gfpdf-input-toggle").on("change",".gfpdf-input-toggle",(function(){var t=i()(this).parent().next();i()(this).prop("checked")?t.slideDown("slow"):(t.slideUp("slow"),t.find(".wp-editor-area").each((function(){var t=tinyMCE.get(i()(this).attr("id"));null!==t&&t.setContent("")})),t.find("textarea").each((function(){i()(this).val("")})))})),s(),i()(".gfpdf-deactivate-license").on("click",(function(){var t=i()(this).parent(),n=a("gfpdf-spinner");i()(this).append(n);var e=i()(this).data("addon-name");return o({action:"gfpdf_deactivate_license",addon_name:e,license:i()(this).data("license"),nonce:i()(this).data("nonce")},(function(r){n.remove(),r.success?(i()("#gfpdf_settings\\[license_"+e+"\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_message\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_status\\]").val(""),t.find("button").remove(),t.find("#message").removeClass("error").addClass("success").html(r.success)):t.find("#message").removeClass("success").addClass("error").html(r.error)})),!1}))}}])&&u(n.prototype,e),r&&u(n,r),t}());e(171),e(41),e(29),e(93);function p(t){t.attr("novalidate","novalidate"),t.find('input[type="submit"]').on("click",(function(){t.addClass("formSubmitted")})),t.find(':input[required=""], :input[required]').each((function(){var t=i()(this).parent();t.find(".gform-settings-panel__title a").length?t.find(".gform-settings-panel__title a").before('<span class="gfield_required">(required)</span>'):t.find(".gform-settings-panel__title").append('<span class="gfield_required">(required)</span>')}))}function d(t,n,e){n=void 0!==n?n:4500,e=void 0!==e&&e;var r=i()('<div id="message">').html("<p>"+t+"</p>");!0===e?r.addClass("error"):r.addClass("updated"),i()(".wrap > h2").after(r),setTimeout((function(){r.slideUp()}),n)}function g(){function t(t){t.append(a("gfpdf-spinner gfpdf-spinner-small")).closest(".row-actions").attr("style","position:static; visibility: visible;"),o({action:"gfpdf_list_delete",nonce:t.data("nonce"),fid:t.data("fid"),pid:t.data("id")},(function(n){n.msg&&(t.closest(".row-actions").attr("style","").find(".gfpdf-spinner").remove(),d(n.msg),t.parents("tr").css("background","#ffb8b8").fadeOut(400,(function(){this.remove(),function(){var t=i()("#gfpdf_list_form tbody");if(0===t.find("tr").length){var n=i()("<tr>").addClass("no-items"),e=i()("<td>").attr("colspan","5").addClass("colspanchange"),r=i()("<a>").attr("href",i()("#gfpdf_list_form a.button:first").attr("href")).append(GFPDF.letsGoCreateOne+".");e.append(GFPDF.thisFormHasNoPdfs).append(" ").append(r),n.append(e),t.append(n)}}()})))}))}i()("#gfpdf_list_form").on("click","a.submitdelete",(function(){String(i()(this).data("id")).length>0&&window.confirm(GFPDF.pdfDeleteWarning)&&t(i()(this));return!1}))}e(71),e(173);function v(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var h=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"setupAJAXListListener",value:function(){g(),i()("#gfpdf_list_form").on("click","a.submitduplicate",(function(t){t.preventDefault();var n=String(i()(this).data("id")),e=this;i()(this).after(a("gfpdf-spinner gfpdf-spinner-small")).parent().parent().attr("style","position:static; visibility: visible;"),n.length>0&&o({action:"gfpdf_list_duplicate",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){if(t.msg){i()(e).parent().parent().attr("style","").find(".gfpdf-spinner").remove(),d(t.msg);var r=i()(e).parents("tr"),o=r.clone().css("background","#baffb8");o.find(".column-name > a, .edit a").each((function(){var n=i()(this).attr("href");n=function(t,n,e){var r="",i=t.split("?"),o=i[0],a=i[1],c="";if(a){i=a.split("&");for(var f=0;f<i.length;f++)i[f].split("=")[0]!==n&&(r+=c+i[f],c="&")}return o+"?"+r+c+n+"="+e}(n,"pid",t.pid),i()(this).attr("href",n)})),o.find(".column-name > a").html(t.name);var a=o.find(".duplicate a"),c=o.find(".delete a"),f=o.find(".check-column button"),s=o.find(".column-shortcode");a.data("id",t.pid),a.data("nonce",t.dup_nonce),c.data("id",t.pid),c.data("nonce",t.del_nonce),f.data("id",t.pid),f.data("nonce",t.state_nonce),f[0].setAttribute("data-status","inactive");var u=s.find("button").attr("data-clipboard-text");u=u.replace(n,t.pid),s.find("button").attr("data-clipboard-text",u),s.find("input").attr("id",t.pid).attr("value",u),f.removeClass("gform-status--active").addClass("gform-status--inactive").find(".gform-status-indicator-status").html(t.status),o.hide().insertAfter(r).fadeIn().animate({backgroundColor:"#F6F9FC"})}}))})),i()("#gfpdf_list_form").on("click",".check-column button",(function(){var t=String(i()(this).data("id")),n=i()(this),e=n.find("span.gform-status-indicator-status");t.length>0&&(n.addClass("gform_status--pending").removeClass("gform-status--active gform-status--inactive"),o({action:"gfpdf_change_state",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){e.html(t.state),"active"===n.data("status")?(n[0].setAttribute("data-status","inactive"),n.data("status","inactive").removeClass("gform_status--pending").addClass("gform-status--inactive")):(n[0].setAttribute("data-status","active"),n.data("status","active").removeClass("gform_status--pending").addClass("gform-status--active"))})))}))}}])&&v(n.prototype,e),r&&v(n,r),t}());e(58);function m(){var t,n,e,r,o,a,f,s;p(i()("#gfpdf_pdf_form")),t=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced"),n=t.find('input[name="gfpdf_settings[security]"]'),e=t.find('input[name="gfpdf_settings[format]"]'),r=t.find("#gfpdf-settings-field-wrapper-security"),o=t.find("#gfpdf-settings-field-wrapper-password,#gfpdf-settings-field-wrapper-privileges,#gfpdf-settings-field-wrapper-master_password:not(.gfpdf-hidden)"),n.on("change",(function(){var t=e.filter(":checked").val();"No"===i()(this).val()||"Standard"!==t?o.hide():i()(this).is(":checked")?o.show():o.hide(),"Standard"!==t?r.hide():r.show()})).trigger("change"),e.on("change",(function(){i()(this).is(":checked")&&n.trigger("change")})).trigger("change"),gform.addFilter("gform_conditional_object",(function(t,n){return"gfpdf"===n?window.gfpdf_current_pdf:t})),i()("#gfpdf_conditional_logic").on("change",(function(){void 0===window.gfpdf_current_pdf.conditionalLogic&&i()(this).prop("checked")?window.gfpdf_current_pdf.conditionalLogic=new ConditionalLogic:i()(this).prop("checked")||(window.gfpdf_current_pdf.conditionalLogic=null),ToggleConditionalLogic(!1,"gfpdf")})).trigger("change"),a=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced").find('input[name="gfpdf_settings[public_access]"]'),f=i()("#gfpdf-settings-field-wrapper-restrict_owner"),a.on("change",(function(){i()(this).is(":checked")?f.hide():f.show()})).trigger("change"),c(i()("#gfpdf_settings\\[template\\]").data("template_group")),s=i()("#gfpdf-fieldset-gfpdf_form_settings_appearance"),i()('input[name="gfpdf_settings[advanced_template]"]').on("change",(function(){"Yes"===i()(this).val()?s.hide():s.show()})),i()('input[name="gfpdf_settings[advanced_template]"]:checked').trigger("change"),i()(".gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}));var u=i()("#gfpdf-fieldset-gfpdf_form_settings_template");0===u.find(".gform-settings-panel__content").children().length&&u.hide(),i()(".gform-settings__wrapper > .alert").detach().prependTo("#tab_pdf"),i()("#gfpdf_pdf_form").on("submit",(function(){try{tinyMCE.triggerSave()}catch(t){}})),i()("#gfpdf_pdf_form").on("submit",(function(){i()("#gfpdf_settings\\[conditionalLogic\\]").val(i.a.toJSON(window.gfpdf_current_pdf.conditionalLogic))}))}function y(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var _=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"isSettings",value:function(){return i()("#pdfextended-settings").length}},{key:"isFormSettings",value:function(){return i()(".gforms_edit_form").length}},{key:"isFormSettingsList",value:function(){return i()("#gfpdf_list_form").length}},{key:"isFormSettingsEdit",value:function(){return i()("#gfpdf_pdf_form").length}}])&&y(n.prototype,e),r&&y(n,r),t}());function x(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var b=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"init",value:function(){l.runElements(),_.isSettings()&&this.processSettings(),_.isFormSettings()&&this.processFormSettings()}},{key:"getCurrentSettingsPage",value:function(){return _.isSettings()?i()(".gform-settings-tabs__navigation a.active:first").data("id"):""}},{key:"processSettings",value:function(){switch(i()("#gform_tabs a").each((function(){var t=i()(this).attr("href"),n=new RegExp("&tab=[^&;]*","g");i()(this).attr("href",t.replace(n,""))})),this.getCurrentSettingsPage()){case"general":!function(){p(i()("#pdfextended-settings > form"));var t=i()("#pdf-general-security");t.find('input[name="gfpdf_settings[default_restrict_owner]"]').on("change",(function(){i()(this).is(":checked")&&("Yes"===i()(this).val()?t.find("tr:nth-child(3)").hide():t.find("tr:nth-child(3)").show())})).trigger("change")}()}}},{key:"processFormSettings",value:function(){_.isFormSettingsList()&&h.setupAJAXListListener(),_.isFormSettingsEdit()&&m()}}])&&x(n.prototype,e),r&&x(n,r),t}());i()((function(){b.init()}))}]);
|
dist/assets/js/app.bundle.min.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
!function(e){function t(t){for(var n,o,i=t[0],a=t[1],u=0,c=[];u<i.length;u++)o=i[u],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&c.push(r[o][0]),r[o]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(l&&l(t);c.length;)c.shift()()}var n={},r={2:0};function o(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var i=new Promise((function(t,o){n=r[e]=[t,o]}));t.push(n[2]=i);var a,u=document.createElement("script");u.charset="utf-8",u.timeout=120,o.nc&&u.setAttribute("nonce",o.nc),u.src=function(e){return o.p+"assets/js/chunk-"+({}[e]||e)+"."+{0:"8edcd532c90076289c8a",4:"3958577e9ba487662fcf",5:"f06953d68b59268254e5",6:"6c41d7a031f41a494964",7:"9a1736bd0281c624aba5",8:"4d85e80b996f0e8e6163",9:"490ff386d143b3b668c9",10:"35956ed01838b210014b"}[e]+".js"}(e);var l=new Error;a=function(t){u.onerror=u.onload=null,clearTimeout(c);var n=r[e];if(0!==n){if(n){var o=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",l.name="ChunkLoadError",l.type=o,l.request=i,n[1](l)}r[e]=void 0}};var c=setTimeout((function(){a({type:"timeout",target:u})}),12e4);u.onerror=u.onload=a,document.head.appendChild(u)}return Promise.all(t)},o.m=e,o.c=n,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.1/dist/",o.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],a=i.push.bind(i);i.push=t,i=i.slice();for(var u=0;u<i.length;u++)t(i[u]);var l=a;o(o.s=210)}([function(e,t,n){"use strict";e.exports=n(186)},function(e,t,n){e.exports=n(201)()},function(e,t){e.exports=jQuery},function(e,t,n){"use strict";n.d(t,"m",(function(){return r})),n.d(t,"o",(function(){return o})),n.d(t,"n",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return l})),n.d(t,"j",(function(){return c})),n.d(t,"l",(function(){return s})),n.d(t,"k",(function(){return f})),n.d(t,"t",(function(){return p})),n.d(t,"i",(function(){return d})),n.d(t,"f",(function(){return h})),n.d(t,"h",(function(){return m})),n.d(t,"g",(function(){return v})),n.d(t,"d",(function(){return y})),n.d(t,"e",(function(){return g})),n.d(t,"q",(function(){return b})),n.d(t,"r",(function(){return w})),n.d(t,"s",(function(){return E})),n.d(t,"p",(function(){return x})),n.d(t,"A",(function(){return S})),n.d(t,"u",(function(){return T})),n.d(t,"z",(function(){return O})),n.d(t,"F",(function(){return k})),n.d(t,"y",(function(){return P})),n.d(t,"x",(function(){return _})),n.d(t,"v",(function(){return F})),n.d(t,"w",(function(){return C})),n.d(t,"D",(function(){return j})),n.d(t,"C",(function(){return R})),n.d(t,"E",(function(){return D})),n.d(t,"B",(function(){return A}));var r="GET_CUSTOM_FONT_LIST",o="GET_CUSTOM_FONT_LIST_SUCCESS",i="GET_CUSTOM_FONT_LIST_ERROR",a="ADD_FONT",u="ADD_FONT_SUCCESS",l="ADD_FONT_ERROR",c="EDIT_FONT",s="EDIT_FONT_SUCCESS",f="EDIT_FONT_ERROR",p="VALIDATION_ERROR",d="DELETE_VARIANT_ERROR",h="DELETE_FONT",m="DELETE_FONT_SUCCESS",v="DELETE_FONT_ERROR",y="CLEAR_ADD_FONT_MSG",g="CLEAR_DROPZONE_ERROR",b="RESET_SEARCH_RESULT",w="SEARCH_FONT_LIST",E="SELECT_FONT",x="MOVE_SELECTED_FONT_TO_TOP",S=function(){return{type:r}},T=function(e){return{type:a,payload:e}},O=function(e){return{type:c,payload:e}},k=function(){return{type:p}},P=function(e){return{type:d,payload:e}},_=function(e){return{type:h,payload:e}},F=function(){return{type:y}},C=function(e){return{type:g,payload:e}},j=function(e){return{type:w,payload:e}},R=function(){return{type:b}},D=function(e){return{type:E,payload:e}},A=function(e){return{type:x,payload:e}}},function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(84))},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(4),o=n(61),i=n(9),a=n(63),u=n(64),l=n(101),c=o("wks"),s=r.Symbol,f=l?s:s&&s.withoutSetter||a;e.exports=function(e){return i(c,e)||(u&&i(s,e)?c[e]=s[e]:c[e]=f("Symbol."+e)),c[e]}},function(e,t,n){var r=n(4),o=n(45).f,i=n(14),a=n(26),u=n(50),l=n(102),c=n(85);e.exports=function(e,t){var n,s,f,p,d,h=e.target,m=e.global,v=e.stat;if(n=m?r:v?r[h]||u(h,{}):(r[h]||{}).prototype)for(s in t){if(p=t[s],f=e.noTargetGet?(d=o(n,s))&&d.value:n[s],!c(m?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;l(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(n,s,p,e)}}},function(e,t,n){var r=n(11);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(5);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(10),o=n(76),i=n(8),a=n(51),u=Object.defineProperty;t.f=r?u:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";n.d(t,"f",(function(){return r})),n.d(t,"g",(function(){return o})),n.d(t,"a",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"d",(function(){return u})),n.d(t,"m",(function(){return l})),n.d(t,"n",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"i",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"k",(function(){return v})),n.d(t,"c",(function(){return y})),n.d(t,"u",(function(){return g})),n.d(t,"v",(function(){return b})),n.d(t,"p",(function(){return w})),n.d(t,"E",(function(){return E})),n.d(t,"s",(function(){return x})),n.d(t,"B",(function(){return S})),n.d(t,"D",(function(){return T})),n.d(t,"C",(function(){return O})),n.d(t,"w",(function(){return k})),n.d(t,"y",(function(){return P})),n.d(t,"x",(function(){return _})),n.d(t,"q",(function(){return F})),n.d(t,"t",(function(){return C})),n.d(t,"A",(function(){return j})),n.d(t,"z",(function(){return R})),n.d(t,"r",(function(){return D}));var r="SEARCH_TEMPLATES",o="SELECT_TEMPLATE",i="ADD_TEMPLATE",a="UPDATE_TEMPLATE_PARAM",u="DELETE_TEMPLATE",l="UPDATE_SELECT_BOX",c="UPDATE_SELECT_BOX_SUCCESS",s="TEMPLATE_PROCESSING",f="TEMPLATE_PROCESSING_SUCCESS",p="TEMPLATE_PROCESSING_FAILED",d="CLEAR_TEMPLATE_PROCESSING",h="POST_TEMPLATE_UPLOAD_PROCESSING",m="TEMPLATE_UPLOAD_PROCESSING_SUCCESS",v="TEMPLATE_UPLOAD_PROCESSING_FAILED",y="CLEAR_TEMPLATE_UPLOAD_PROCESSING",g=function(e){return{type:r,text:e}},b=function(e){return{type:o,id:e}},w=function(e){return{type:i,template:e}},E=function(e,t,n){return{type:a,id:e,name:t,value:n}},x=function(e){return{type:u,id:e}},S=function(){return{type:l}},T=function(e){return{type:c,payload:e}},O=function(){return{type:"UPDATE_SELECT_BOX_FAILED"}},k=function(e){return{type:s,payload:e}},P=function(e){return{type:f,payload:e}},_=function(e){return{type:p,payload:e}},F=function(){return{type:d}},C=function(e,t){return{type:h,payload:{file:e,filename:t}}},j=function(e){return{type:m,payload:e}},R=function(e){return{type:v,payload:e}},D=function(){return{type:y}}},function(e,t,n){var r=n(10),o=n(12),i=n(34);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i),u=o.a.createContext(null);var l=function(e){e()},c={notify:function(){}};function s(){var e=l,t=[],n=[];return{clear:function(){n=null,t=null},notify:function(){var r=t=n;e((function(){for(var e=0;e<r.length;e++)r[e]()}))},get:function(){return n},subscribe:function(e){var r=!0;return n===t&&(n=t.slice()),n.push(e),function(){r&&null!==t&&(r=!1,n===t&&(n=t.slice()),n.splice(n.indexOf(e),1))}}}}var f=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=c,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=s())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=c)},e}();function p(e){var t=e.store,n=e.context,i=e.children,a=Object(r.useMemo)((function(){var e=new f(t);return e.onStateChange=e.notifyNestedSubs,{store:t,subscription:e}}),[t]),l=Object(r.useMemo)((function(){return t.getState()}),[t]);Object(r.useEffect)((function(){var e=a.subscription;return e.trySubscribe(),l!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[a,l]);var c=n||u;return o.a.createElement(c.Provider,{value:a},i)}p.propTypes={store:a.a.shape({subscribe:a.a.func.isRequired,dispatch:a.a.func.isRequired,getState:a.a.func.isRequired}),context:a.a.object,children:a.a.any};var d=p,h=n(28),m=n(69),v=n(122),y=n.n(v),g=n(70),b=n.n(g),w=n(137),E="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect,x=[],S=[null,null];function T(e,t){var n=e[1];return[t.payload,n+1]}var O=function(){return[null,0]};function k(e,t){void 0===t&&(t={});var n=t,i=n.getDisplayName,a=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,l=n.methodName,c=void 0===l?"connectAdvanced":l,s=n.renderCountProp,p=void 0===s?void 0:s,d=n.shouldHandleStateChanges,v=void 0===d||d,g=n.storeKey,k=void 0===g?"store":g,P=n.withRef,_=void 0!==P&&P,F=n.forwardRef,C=void 0!==F&&F,j=n.context,R=void 0===j?u:j,D=Object(m.a)(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);b()(void 0===p,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),b()(!_,"withRef is removed. To access the wrapped instance, use a ref on the connected component");b()("store"===k,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var A=R;return function(t){var n=t.displayName||t.name||"Component",i=a(n),u=Object(h.a)({},D,{getDisplayName:a,methodName:c,renderCountProp:p,shouldHandleStateChanges:v,storeKey:k,displayName:i,wrappedComponentName:n,WrappedComponent:t}),l=D.pure;var s=l?r.useMemo:function(e){return e()};function d(n){var a=Object(r.useMemo)((function(){var e=n.forwardedRef,t=Object(m.a)(n,["forwardedRef"]);return[n.context,e,t]}),[n]),l=a[0],c=a[1],p=a[2],d=Object(r.useMemo)((function(){return l&&l.Consumer&&Object(w.isContextConsumer)(o.a.createElement(l.Consumer,null))?l:A}),[l,A]),y=Object(r.useContext)(d),g=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch),k=Boolean(y)&&Boolean(y.store);b()(g||k,'Could not find "store" in the context of "'+i+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+i+" in connect options.");var P=g?n.store:y.store,_=Object(r.useMemo)((function(){return function(t){return e(t.dispatch,u)}(P)}),[P]),F=Object(r.useMemo)((function(){if(!v)return S;var e=new f(P,g?null:y.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[P,g,y]),C=F[0],j=F[1],R=Object(r.useMemo)((function(){return g?y:Object(h.a)({},y,{subscription:C})}),[g,y,C]),D=Object(r.useReducer)(T,x,O),L=D[0][0],N=D[1];if(L&&L.error)throw L.error;var I=Object(r.useRef)(),M=Object(r.useRef)(p),U=Object(r.useRef)(),q=Object(r.useRef)(!1),z=s((function(){return U.current&&p===M.current?U.current:_(P.getState(),p)}),[P,L,p]);E((function(){M.current=p,I.current=z,q.current=!1,U.current&&(U.current=null,j())})),E((function(){if(v){var e=!1,t=null,n=function(){if(!e){var n,r,o=P.getState();try{n=_(o,M.current)}catch(e){r=e,t=e}r||(t=null),n===I.current?q.current||j():(I.current=n,U.current=n,q.current=!0,N({type:"STORE_UPDATED",payload:{error:r}}))}};C.onStateChange=n,C.trySubscribe(),n();return function(){if(e=!0,C.tryUnsubscribe(),C.onStateChange=null,t)throw t}}}),[P,C,_]);var H=Object(r.useMemo)((function(){return o.a.createElement(t,Object(h.a)({},z,{ref:c}))}),[c,t,z]);return Object(r.useMemo)((function(){return v?o.a.createElement(d.Provider,{value:R},H):H}),[d,H,R])}var g=l?o.a.memo(d):d;if(g.WrappedComponent=t,g.displayName=i,C){var P=o.a.forwardRef((function(e,t){return o.a.createElement(g,Object(h.a)({},e,{forwardedRef:t}))}));return P.displayName=i,P.WrappedComponent=t,y()(P,t)}return y()(g,t)}}var P=Object.prototype.hasOwnProperty;function _(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function F(e,t){if(_(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!P.call(t,n[o])||!_(e[n[o]],t[n[o]]))return!1;return!0}var C=n(79);function j(e){return function(t,n){var r=e(t,n);function o(){return r}return o.dependsOnOwnProps=!1,o}}function R(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function D(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=R(e);var o=r(t,n);return"function"==typeof o&&(r.mapToProps=o,r.dependsOnOwnProps=R(o),o=r(t,n)),o},r}}var A=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?j((function(t){return Object(C.bindActionCreators)(e,t)})):void 0}];var L=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(){return{}}))}];function N(e,t,n){return Object(h.a)({},n,{},e,{},t)}var I=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,o=n.pure,i=n.areMergedPropsEqual,a=!1;return function(t,n,u){var l=e(t,n,u);return a?o&&i(l,r)||(r=l):(a=!0,r=l),r}}}(e):void 0},function(e){return e?void 0:function(){return N}}];function M(e,t,n,r){return function(o,i){return n(e(o,i),t(r,i),i)}}function U(e,t,n,r,o){var i,a,u,l,c,s=o.areStatesEqual,f=o.areOwnPropsEqual,p=o.areStatePropsEqual,d=!1;function h(o,d){var h,m,v=!f(d,a),y=!s(o,i);return i=o,a=d,v&&y?(u=e(i,a),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):v?(e.dependsOnOwnProps&&(u=e(i,a)),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):y?(h=e(i,a),m=!p(h,u),u=h,m&&(c=n(u,l,a)),c):c}return function(o,s){return d?h(o,s):(u=e(i=o,a=s),l=t(r,a),c=n(u,l,a),d=!0,c)}}function q(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,o=t.initMergeProps,i=Object(m.a)(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),a=n(e,i),u=r(e,i),l=o(e,i);return(i.pure?U:M)(a,u,l,e,i)}function z(e,t,n){for(var r=t.length-1;r>=0;r--){var o=t[r](e);if(o)return o}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function H(e,t){return e===t}var G,B,$,V,W,K,Q,X,Y,J,Z,ee,te=($=(B=void 0===G?{}:G).connectHOC,V=void 0===$?k:$,W=B.mapStateToPropsFactories,K=void 0===W?L:W,Q=B.mapDispatchToPropsFactories,X=void 0===Q?A:Q,Y=B.mergePropsFactories,J=void 0===Y?I:Y,Z=B.selectorFactory,ee=void 0===Z?q:Z,function(e,t,n,r){void 0===r&&(r={});var o=r,i=o.pure,a=void 0===i||i,u=o.areStatesEqual,l=void 0===u?H:u,c=o.areOwnPropsEqual,s=void 0===c?F:c,f=o.areStatePropsEqual,p=void 0===f?F:f,d=o.areMergedPropsEqual,v=void 0===d?F:d,y=Object(m.a)(o,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),g=z(e,K,"mapStateToProps"),b=z(t,X,"mapDispatchToProps"),w=z(n,J,"mergeProps");return V(ee,Object(h.a)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:g,initMapDispatchToProps:b,initMergeProps:w,pure:a,areStatesEqual:l,areOwnPropsEqual:s,areStatePropsEqual:p,areMergedPropsEqual:v},y))});function ne(){var e=Object(r.useContext)(u);return b()(e,"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"),e}function re(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)};return function(){return t().store}}var oe=re();!function(e){void 0===e&&(e=u);var t=e===u?oe:re(e)}();var ie=function(e,t){return e===t};!function(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)}}();var ae,ue=n(30);n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return te})),ae=ue.unstable_batchedUpdates,l=ae},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var o=n(0),i=n.n(o),a=(n(1),n(46)),u=n(149),l=n(37);function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s=n(151),f=n.n(s);n(137);function p(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var d=n(122),h=n.n(d);n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return y})),n.d(t,"c",(function(){return P})),n.d(t,"d",(function(){return v})),n.d(t,"e",(function(){return w})),n.d(t,"f",(function(){return _}));var m=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History"),v=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}r(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},i.a.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(i.a.Component);i.a.Component;i.a.Component;var g={},b=0;function w(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,i=void 0!==o&&o,a=n.strict,u=void 0!==a&&a,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=g[n]||(g[n]={});if(r[e])return r[e];var o=[],i={regexp:f()(e,o,t),keys:o};return b<1e4&&(r[e]=i,b++),i}(n,{end:i,strict:u,sensitive:c}),o=r.regexp,a=r.keys,l=o.exec(e);if(!l)return null;var s=l[0],p=l.slice(1),d=e===s;return i&&!d?null:{path:n,url:"/"===n&&""===s?"/":s,isExact:d,params:a.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n=e.props.location||t.location,r=c({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?w(n.pathname,e.props):t.match}),o=e.props,a=o.children,u=o.component,s=o.render;return Array.isArray(a)&&0===a.length&&(a=null),i.a.createElement(v.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:u?i.a.createElement(u,r):s?s(r):null:"function"==typeof a?a(r):null)}))},t}(i.a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function S(e,t){if(!e)return t;var n=x(e);return 0!==t.pathname.indexOf(n)?t:c({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:Object(a.e)(e)}function O(e){return function(){Object(l.a)(!1)}}function k(){}i.a.Component;var P=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n,r,o=e.props.location||t.location;return i.a.Children.forEach(e.props.children,(function(e){if(null==r&&i.a.isValidElement(e)){n=e;var a=e.props.path||e.props.from;r=a?w(o.pathname,c({},e.props,{path:a})):t.match}})),r?i.a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(i.a.Component);function _(e){var t="withRouter("+(e.displayName||e.name)+")",n=function(t){var n=t.wrappedComponentRef,r=p(t,["wrappedComponentRef"]);return i.a.createElement(v.Consumer,null,(function(t){return t||Object(l.a)(!1),i.a.createElement(e,c({},r,t,{ref:n}))}))};return n.displayName=t,n.WrappedComponent=e,h()(n,e)}i.a.useContext},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"g",(function(){return u})),n.d(t,"i",(function(){return l})),n.d(t,"h",(function(){return c})),n.d(t,"f",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"e",(function(){return p})),n.d(t,"k",(function(){return d})),n.d(t,"n",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"m",(function(){return v})),n.d(t,"r",(function(){return y})),n.d(t,"t",(function(){return g})),n.d(t,"s",(function(){return b})),n.d(t,"q",(function(){return w})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return x}));var r="ADD_TO_CONSOLE",o="ADD_TO_RETRY_LIST",i="CLEAR_CONSOLE",a="CLEAR_BUTTON_CLICKED_AND_RETRY_LIST",u="GET_FILES_FROM_GITHUB",l="GET_FILES_FROM_GITHUB_SUCCESS",c="GET_FILES_FROM_GITHUB_FAILED",s="DOWNLOAD_FONTS_API_CALL",f="REQUEST_SENT_COUNTER",p="CLEAR_REQUEST_REMAINING_DATA",d=function(e,t,n){return{type:r,key:e,status:t,message:n}},h=function(){return{type:i}},m=function(e){return{type:o,name:e}},v=function(){return{type:a}},y=function(){return{type:u}},g=function(e){return{type:l,payload:e}},b=function(e){return{type:c,payload:e}},w=function(e){return{type:s,payload:e}},E=function(){return{type:f}},x=function(){return{type:p}}},function(e,t,n){var r=n(113),o=n(26),i=n(176);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(7),o=n(48).find,i=n(86),a=n(33),u=!0,l=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!l},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(e,t,n){var r=n(59),o=n(22);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(35),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(22);e.exports=function(e){return Object(r(e))}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=n(117).charAt,o=n(47),i=n(132),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(e){a(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=u(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(4),o=n(14),i=n(9),a=n(50),u=n(65),l=n(47),c=l.get,s=l.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var l=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),s(n).source=f.join("string"==typeof t?t:"")),e!==r?(l?!p&&e[t]&&(c=!0):delete e[t],c?e[t]=n:o(e,t,n)):c?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||u(this)}))},function(e,t,n){var r=n(104),o=n(4),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(26),o=n(8),i=n(5),a=n(97),u=RegExp.prototype,l=u.toString,c=i((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),s="toString"!=l.name;(c||s)&&r(RegExp.prototype,"toString",(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in u)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(187)},function(e,t,n){"use strict";var r=n(7),o=n(4),i=n(27),a=n(49),u=n(10),l=n(64),c=n(101),s=n(5),f=n(9),p=n(74),d=n(11),h=n(8),m=n(23),v=n(20),y=n(51),g=n(34),b=n(68),w=n(67),E=n(72),x=n(197),S=n(88),T=n(45),O=n(12),k=n(77),P=n(14),_=n(26),F=n(61),C=n(52),j=n(44),R=n(63),D=n(6),A=n(159),L=n(160),N=n(89),I=n(47),M=n(48).forEach,U=C("hidden"),q=D("toPrimitive"),z=I.set,H=I.getterFor("Symbol"),G=Object.prototype,B=o.Symbol,$=i("JSON","stringify"),V=T.f,W=O.f,K=x.f,Q=k.f,X=F("symbols"),Y=F("op-symbols"),J=F("string-to-symbol-registry"),Z=F("symbol-to-string-registry"),ee=F("wks"),te=o.QObject,ne=!te||!te.prototype||!te.prototype.findChild,re=u&&s((function(){return 7!=b(W({},"a",{get:function(){return W(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=V(G,t);r&&delete G[t],W(e,t,n),r&&e!==G&&W(G,t,r)}:W,oe=function(e,t){var n=X[e]=b(B.prototype);return z(n,{type:"Symbol",tag:e,description:t}),u||(n.description=t),n},ie=c?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof B},ae=function(e,t,n){e===G&&ae(Y,t,n),h(e);var r=y(t,!0);return h(n),f(X,r)?(n.enumerable?(f(e,U)&&e[U][r]&&(e[U][r]=!1),n=b(n,{enumerable:g(0,!1)})):(f(e,U)||W(e,U,g(1,{})),e[U][r]=!0),re(e,r,n)):W(e,r,n)},ue=function(e,t){h(e);var n=v(t),r=w(n).concat(fe(n));return M(r,(function(t){u&&!le.call(n,t)||ae(e,t,n[t])})),e},le=function(e){var t=y(e,!0),n=Q.call(this,t);return!(this===G&&f(X,t)&&!f(Y,t))&&(!(n||!f(this,t)||!f(X,t)||f(this,U)&&this[U][t])||n)},ce=function(e,t){var n=v(e),r=y(t,!0);if(n!==G||!f(X,r)||f(Y,r)){var o=V(n,r);return!o||!f(X,r)||f(n,U)&&n[U][r]||(o.enumerable=!0),o}},se=function(e){var t=K(v(e)),n=[];return M(t,(function(e){f(X,e)||f(j,e)||n.push(e)})),n},fe=function(e){var t=e===G,n=K(t?Y:v(e)),r=[];return M(n,(function(e){!f(X,e)||t&&!f(G,e)||r.push(X[e])})),r};(l||(_((B=function(){if(this instanceof B)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=R(e),n=function(e){this===G&&n.call(Y,e),f(this,U)&&f(this[U],t)&&(this[U][t]=!1),re(this,t,g(1,e))};return u&&ne&&re(G,t,{configurable:!0,set:n}),oe(t,e)}).prototype,"toString",(function(){return H(this).tag})),_(B,"withoutSetter",(function(e){return oe(R(e),e)})),k.f=le,O.f=ae,T.f=ce,E.f=x.f=se,S.f=fe,A.f=function(e){return oe(D(e),e)},u&&(W(B.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),a||_(G,"propertyIsEnumerable",le,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:B}),M(w(ee),(function(e){L(e)})),r({target:"Symbol",stat:!0,forced:!l},{for:function(e){var t=String(e);if(f(J,t))return J[t];var n=B(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ie(e))throw TypeError(e+" is not a symbol");if(f(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!u},{create:function(e,t){return void 0===t?b(e):ue(b(e),t)},defineProperty:ae,defineProperties:ue,getOwnPropertyDescriptor:ce}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:fe}),r({target:"Object",stat:!0,forced:s((function(){S.f(1)}))},{getOwnPropertySymbols:function(e){return S.f(m(e))}}),$)&&r({target:"JSON",stat:!0,forced:!l||s((function(){var e=B();return"[null]"!=$([e])||"{}"!=$({a:e})||"{}"!=$(Object(e))}))},{stringify:function(e,t,n){for(var r,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=t,(d(t)||void 0!==e)&&!ie(e))return p(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ie(t))return t}),o[1]=t,$.apply(null,o)}});B.prototype[q]||P(B.prototype,q,B.prototype.valueOf),N(B,"Symbol"),j[U]=!0},function(e,t,n){"use strict";var r=n(20),o=n(86),i=n(56),a=n(47),u=n(132),l=a.set,c=a.getterFor("Array Iterator");e.exports=u(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:r(e),index:0,kind:t})}),(function(){var e=c(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){var r=n(10),o=n(5),i=n(9),a=Object.defineProperty,u={},l=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],c=!!i(t,"ACCESSORS")&&t.ACCESSORS,s=i(t,0)?t[0]:l,f=i(t,1)?t[1]:void 0;return u[e]=!!n&&!o((function(){if(c&&!r)return!0;var e={length:-1};c?a(e,1,{enumerable:!0,get:l}):e[1]=1,n.call(e,s,f)}))}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return u(c(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}function u(e,t){var n,r,a,u,l,c,s,f,p,d=1,h=e.length,m="";for(r=0;r<h;r++)if("string"==typeof e[r])m+=e[r];else if("object"==typeof e[r]){if((u=e[r]).keys)for(n=t[d],a=0;a<u.keys.length;a++){if(null==n)throw new Error(i('[sprintf] Cannot access property "%s" of undefined value "%s"',u.keys[a],u.keys[a-1]));n=n[u.keys[a]]}else n=u.param_no?t[u.param_no]:t[d++];if(o.not_type.test(u.type)&&o.not_primitive.test(u.type)&&n instanceof Function&&(n=n()),o.numeric_arg.test(u.type)&&"number"!=typeof n&&isNaN(n))throw new TypeError(i("[sprintf] expecting number but found %T",n));switch(o.number.test(u.type)&&(f=n>=0),u.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,u.width?parseInt(u.width):0);break;case"e":n=u.precision?parseFloat(n).toExponential(u.precision):parseFloat(n).toExponential();break;case"f":n=u.precision?parseFloat(n).toFixed(u.precision):parseFloat(n);break;case"g":n=u.precision?String(Number(n.toPrecision(u.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=u.precision?n.substring(0,u.precision):n;break;case"t":n=String(!!n),n=u.precision?n.substring(0,u.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=u.precision?n.substring(0,u.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=u.precision?n.substring(0,u.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(u.type)?m+=n:(!o.number.test(u.type)||f&&!u.sign?p="":(p=f?"+":"-",n=n.toString().replace(o.sign,"")),c=u.pad_char?"0"===u.pad_char?"0":u.pad_char.charAt(1):" ",s=u.width-(p+n).length,l=u.width&&s>0?c.repeat(s):"",m+=u.align?p+n+l:"0"===c?p+l+n:l+p+n)}return m}var l=Object.create(null);function c(e){if(l[e])return l[e];for(var t,n=e,r=[],i=0;n;){if(null!==(t=o.text.exec(n)))r.push(t[0]);else if(null!==(t=o.modulo.exec(n)))r.push("%");else{if(null===(t=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],u=t[2],c=[];if(null===(c=o.key.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(u=u.substring(c[0].length));)if(null!==(c=o.key_access.exec(u)))a.push(c[1]);else{if(null===(c=o.index_access.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return l[e]=r}t.sprintf=i,t.vsprintf=a,"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(t,n,t,e))||(e.exports=r))}()},function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error("Invariant failed")}},function(e,t,n){"use strict";var r=n(7),o=n(10),i=n(4),a=n(9),u=n(11),l=n(12).f,c=n(102),s=i.Symbol;if(o&&"function"==typeof s&&(!("description"in s.prototype)||void 0!==s().description)){var f={},p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof p?new s(e):void 0===e?s():s(e);return""===e&&(f[t]=!0),t};c(p,s);var d=p.prototype=s.prototype;d.constructor=p;var h=d.toString,m="Symbol(test)"==String(s("test")),v=/^Symbol\((.*)\)[^)]+$/;l(d,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=m?t.slice(7,-1):t.replace(v,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){n(160)("iterator")},function(e,t,n){var r=n(4),o=n(162),i=n(32),a=n(14),u=n(6),l=u("iterator"),c=u("toStringTag"),s=i.values;for(var f in o){var p=r[f],d=p&&p.prototype;if(d){if(d[l]!==s)try{a(d,l,s)}catch(e){d[l]=s}if(d[c]||a(d,c,f),o[f])for(var h in i)if(d[h]!==i[h])try{a(d,h,i[h])}catch(e){d[h]=i[h]}}}},function(e,t,n){"use strict";var r=n(7),o=n(73);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(7),o=n(48).map,i=n(90),a=n(33),u=i("map"),l=a("map");r({target:"Array",proto:!0,forced:!u||!l},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t){e.exports={}},function(e,t,n){var r=n(10),o=n(77),i=n(34),a=n(20),u=n(51),l=n(9),c=n(76),s=Object.getOwnPropertyDescriptor;t.f=r?s:function(e,t){if(e=a(e),t=u(t,!0),c)try{return s(e,t)}catch(e){}if(l(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e){return"/"===e.charAt(0)}function i(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}var a=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],a=t&&t.split("/")||[],u=e&&o(e),l=t&&o(t),c=u||l;if(e&&o(e)?a=r:r.length&&(a.pop(),a=a.concat(r)),!a.length)return"/";if(a.length){var s=a[a.length-1];n="."===s||".."===s||""===s}else n=!1;for(var f=0,p=a.length;p>=0;p--){var d=a[p];"."===d?i(a,p):".."===d?(i(a,p),f++):f&&(i(a,p),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=u(t),o=u(n);return r!==t||o!==n?e(r,o):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(37);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function m(e,t,n,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(i=r({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(i.key=n),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=a(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return k})),n.d(t,"d",(function(){return _})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return h}));var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}function w(){try{return window.history.state||{}}catch(e){return{}}}function E(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),a=e,u=a.forceRefresh,l=void 0!==u&&u,f=a.getUserConfirmation,v=void 0===f?b:f,E=a.keyLength,x=void 0===E?6:E,S=e.basename?d(s(e.basename)):"";function T(e){var t=e||{},n=t.key,r=t.state,o=window.location,i=o.pathname+o.search+o.hash;return S&&(i=p(i,S)),m(i,r,n)}function O(){return Math.random().toString(36).substr(2,x)}var k=y();function P(e){r(U,e),U.length=n.length,k.notifyListeners(U.location,U.action)}function _(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||j(T(e.state))}function F(){j(T(w()))}var C=!1;function j(e){if(C)C=!1,P();else{k.confirmTransitionTo(e,"POP",v,(function(t){t?P({action:"POP",location:e}):function(e){var t=U.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(C=!0,L(o))}(e)}))}}var R=T(w()),D=[R.key];function A(e){return S+h(e)}function L(e){n.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?(window.addEventListener("popstate",_),i&&window.addEventListener("hashchange",F)):0===N&&(window.removeEventListener("popstate",_),i&&window.removeEventListener("hashchange",F))}var M=!1;var U={length:n.length,action:"POP",location:R,createHref:A,push:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"PUSH",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.pushState({key:i,state:a},null,t),l)window.location.href=t;else{var u=D.indexOf(U.location.key),c=D.slice(0,u+1);c.push(r.key),D=c,P({action:"PUSH",location:r})}else window.location.href=t}}))},replace:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"REPLACE",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.replaceState({key:i,state:a},null,t),l)window.location.replace(t);else{var u=D.indexOf(U.location.key);-1!==u&&(D[u]=r.key),P({action:"REPLACE",location:r})}else window.location.replace(t)}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}var x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+f(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:f,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function T(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function O(e){window.location.replace(S(window.location.href)+"#"+e)}function k(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,i=void 0===o?b:o,a=n.hashType,u=void 0===a?"slash":a,l=e.basename?d(s(e.basename)):"",f=x[u],v=f.encodePath,w=f.decodePath;function E(){var e=w(T());return l&&(e=p(e,l)),m(e)}var k=y();function P(e){r(U,e),U.length=t.length,k.notifyListeners(U.location,U.action)}var _=!1,F=null;function C(){var e,t,n=T(),r=v(n);if(n!==r)O(r);else{var o=E(),a=U.location;if(!_&&(t=o,(e=a).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(F===h(o))return;F=null,function(e){if(_)_=!1,P();else{k.confirmTransitionTo(e,"POP",i,(function(t){t?P({action:"POP",location:e}):function(e){var t=U.location,n=A.lastIndexOf(h(t));-1===n&&(n=0);var r=A.lastIndexOf(h(e));-1===r&&(r=0);var o=n-r;o&&(_=!0,L(o))}(e)}))}}(o)}}var j=T(),R=v(j);j!==R&&O(R);var D=E(),A=[h(D)];function L(e){t.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?window.addEventListener("hashchange",C):0===N&&window.removeEventListener("hashchange",C)}var M=!1;var U={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(l+h(e))},push:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"PUSH",i,(function(e){if(e){var t=h(n),r=v(l+t);if(T()!==r){F=t,function(e){window.location.hash=e}(r);var o=A.lastIndexOf(h(U.location)),i=A.slice(0,o+1);i.push(t),A=i,P({action:"PUSH",location:n})}else P()}}))},replace:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"REPLACE",i,(function(e){if(e){var t=h(n),r=v(l+t);T()!==r&&(F=t,O(r));var o=A.indexOf(h(U.location));-1!==o&&(A[o]=t),P({action:"REPLACE",location:n})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}function P(e,t,n){return Math.min(Math.max(e,t),n)}function _(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,i=void 0===o?["/"]:o,a=t.initialIndex,u=void 0===a?0:a,l=t.keyLength,c=void 0===l?6:l,s=y();function f(e){r(w,e),w.length=w.entries.length,s.notifyListeners(w.location,w.action)}function p(){return Math.random().toString(36).substr(2,c)}var d=P(u,0,i.length-1),v=i.map((function(e){return m(e,void 0,"string"==typeof e?p():e.key||p())})),g=h;function b(e){var t=P(w.index+e,0,w.entries.length-1),r=w.entries[t];s.confirmTransitionTo(r,"POP",n,(function(e){e?f({action:"POP",location:r,index:t}):f()}))}var w={length:v.length,action:"POP",location:v[d],index:d,entries:v,createHref:g,push:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"PUSH",n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),s.setPrompt(e)},listen:function(e){return s.appendListener(e)}};return w}},function(e,t,n){var r,o,i,a=n(114),u=n(4),l=n(11),c=n(14),s=n(9),f=n(52),p=n(44),d=u.WeakMap;if(a){var h=new d,m=h.get,v=h.has,y=h.set;r=function(e,t){return y.call(h,e,t),t},o=function(e){return m.call(h,e)||{}},i=function(e){return v.call(h,e)}}else{var g=f("state");p[g]=!0,r=function(e,t){return c(e,g,t),t},o=function(e){return s(e,g)?e[g]:{}},i=function(e){return s(e,g)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){var r=n(66),o=n(59),i=n(23),a=n(21),u=n(107),l=[].push,c=function(e){var t=1==e,n=2==e,c=3==e,s=4==e,f=6==e,p=5==e||f;return function(d,h,m,v){for(var y,g,b=i(d),w=o(b),E=r(h,m,3),x=a(w.length),S=0,T=v||u,O=t?T(d,x):n?T(d,0):void 0;x>S;S++)if((p||S in w)&&(g=E(y=w[S],S,b),e))if(t)O[S]=g;else if(g)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:l.call(O,y)}else if(s)return!1;return f?-1:c||s?s:O}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},function(e,t){e.exports=!1},function(e,t,n){var r=n(4),o=n(14);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(11);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(61),o=n(63),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));n(120);
|
2 |
/**
|
3 |
* @package Gravity PDF
|
4 |
* @copyright Copyright (c) 2021, Blue Liquid Designs
|
1 |
+
!function(e){function t(t){for(var n,o,i=t[0],a=t[1],u=0,c=[];u<i.length;u++)o=i[u],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&c.push(r[o][0]),r[o]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(l&&l(t);c.length;)c.shift()()}var n={},r={2:0};function o(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var i=new Promise((function(t,o){n=r[e]=[t,o]}));t.push(n[2]=i);var a,u=document.createElement("script");u.charset="utf-8",u.timeout=120,o.nc&&u.setAttribute("nonce",o.nc),u.src=function(e){return o.p+"assets/js/chunk-"+({}[e]||e)+"."+{0:"8edcd532c90076289c8a",4:"3958577e9ba487662fcf",5:"f06953d68b59268254e5",6:"6c41d7a031f41a494964",7:"9a1736bd0281c624aba5",8:"4d85e80b996f0e8e6163",9:"490ff386d143b3b668c9",10:"35956ed01838b210014b"}[e]+".js"}(e);var l=new Error;a=function(t){u.onerror=u.onload=null,clearTimeout(c);var n=r[e];if(0!==n){if(n){var o=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",l.name="ChunkLoadError",l.type=o,l.request=i,n[1](l)}r[e]=void 0}};var c=setTimeout((function(){a({type:"timeout",target:u})}),12e4);u.onerror=u.onload=a,document.head.appendChild(u)}return Promise.all(t)},o.m=e,o.c=n,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.0/dist/",o.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],a=i.push.bind(i);i.push=t,i=i.slice();for(var u=0;u<i.length;u++)t(i[u]);var l=a;o(o.s=210)}([function(e,t,n){"use strict";e.exports=n(186)},function(e,t,n){e.exports=n(201)()},function(e,t){e.exports=jQuery},function(e,t,n){"use strict";n.d(t,"m",(function(){return r})),n.d(t,"o",(function(){return o})),n.d(t,"n",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return l})),n.d(t,"j",(function(){return c})),n.d(t,"l",(function(){return s})),n.d(t,"k",(function(){return f})),n.d(t,"t",(function(){return p})),n.d(t,"i",(function(){return d})),n.d(t,"f",(function(){return h})),n.d(t,"h",(function(){return m})),n.d(t,"g",(function(){return v})),n.d(t,"d",(function(){return y})),n.d(t,"e",(function(){return g})),n.d(t,"q",(function(){return b})),n.d(t,"r",(function(){return w})),n.d(t,"s",(function(){return E})),n.d(t,"p",(function(){return x})),n.d(t,"A",(function(){return S})),n.d(t,"u",(function(){return T})),n.d(t,"z",(function(){return O})),n.d(t,"F",(function(){return k})),n.d(t,"y",(function(){return P})),n.d(t,"x",(function(){return _})),n.d(t,"v",(function(){return F})),n.d(t,"w",(function(){return C})),n.d(t,"D",(function(){return j})),n.d(t,"C",(function(){return R})),n.d(t,"E",(function(){return D})),n.d(t,"B",(function(){return A}));var r="GET_CUSTOM_FONT_LIST",o="GET_CUSTOM_FONT_LIST_SUCCESS",i="GET_CUSTOM_FONT_LIST_ERROR",a="ADD_FONT",u="ADD_FONT_SUCCESS",l="ADD_FONT_ERROR",c="EDIT_FONT",s="EDIT_FONT_SUCCESS",f="EDIT_FONT_ERROR",p="VALIDATION_ERROR",d="DELETE_VARIANT_ERROR",h="DELETE_FONT",m="DELETE_FONT_SUCCESS",v="DELETE_FONT_ERROR",y="CLEAR_ADD_FONT_MSG",g="CLEAR_DROPZONE_ERROR",b="RESET_SEARCH_RESULT",w="SEARCH_FONT_LIST",E="SELECT_FONT",x="MOVE_SELECTED_FONT_TO_TOP",S=function(){return{type:r}},T=function(e){return{type:a,payload:e}},O=function(e){return{type:c,payload:e}},k=function(){return{type:p}},P=function(e){return{type:d,payload:e}},_=function(e){return{type:h,payload:e}},F=function(){return{type:y}},C=function(e){return{type:g,payload:e}},j=function(e){return{type:w,payload:e}},R=function(){return{type:b}},D=function(e){return{type:E,payload:e}},A=function(e){return{type:x,payload:e}}},function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(84))},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(4),o=n(61),i=n(9),a=n(63),u=n(64),l=n(101),c=o("wks"),s=r.Symbol,f=l?s:s&&s.withoutSetter||a;e.exports=function(e){return i(c,e)||(u&&i(s,e)?c[e]=s[e]:c[e]=f("Symbol."+e)),c[e]}},function(e,t,n){var r=n(4),o=n(45).f,i=n(14),a=n(26),u=n(50),l=n(102),c=n(85);e.exports=function(e,t){var n,s,f,p,d,h=e.target,m=e.global,v=e.stat;if(n=m?r:v?r[h]||u(h,{}):(r[h]||{}).prototype)for(s in t){if(p=t[s],f=e.noTargetGet?(d=o(n,s))&&d.value:n[s],!c(m?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;l(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(n,s,p,e)}}},function(e,t,n){var r=n(11);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(5);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(10),o=n(76),i=n(8),a=n(51),u=Object.defineProperty;t.f=r?u:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";n.d(t,"f",(function(){return r})),n.d(t,"g",(function(){return o})),n.d(t,"a",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"d",(function(){return u})),n.d(t,"m",(function(){return l})),n.d(t,"n",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"i",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"k",(function(){return v})),n.d(t,"c",(function(){return y})),n.d(t,"u",(function(){return g})),n.d(t,"v",(function(){return b})),n.d(t,"p",(function(){return w})),n.d(t,"E",(function(){return E})),n.d(t,"s",(function(){return x})),n.d(t,"B",(function(){return S})),n.d(t,"D",(function(){return T})),n.d(t,"C",(function(){return O})),n.d(t,"w",(function(){return k})),n.d(t,"y",(function(){return P})),n.d(t,"x",(function(){return _})),n.d(t,"q",(function(){return F})),n.d(t,"t",(function(){return C})),n.d(t,"A",(function(){return j})),n.d(t,"z",(function(){return R})),n.d(t,"r",(function(){return D}));var r="SEARCH_TEMPLATES",o="SELECT_TEMPLATE",i="ADD_TEMPLATE",a="UPDATE_TEMPLATE_PARAM",u="DELETE_TEMPLATE",l="UPDATE_SELECT_BOX",c="UPDATE_SELECT_BOX_SUCCESS",s="TEMPLATE_PROCESSING",f="TEMPLATE_PROCESSING_SUCCESS",p="TEMPLATE_PROCESSING_FAILED",d="CLEAR_TEMPLATE_PROCESSING",h="POST_TEMPLATE_UPLOAD_PROCESSING",m="TEMPLATE_UPLOAD_PROCESSING_SUCCESS",v="TEMPLATE_UPLOAD_PROCESSING_FAILED",y="CLEAR_TEMPLATE_UPLOAD_PROCESSING",g=function(e){return{type:r,text:e}},b=function(e){return{type:o,id:e}},w=function(e){return{type:i,template:e}},E=function(e,t,n){return{type:a,id:e,name:t,value:n}},x=function(e){return{type:u,id:e}},S=function(){return{type:l}},T=function(e){return{type:c,payload:e}},O=function(){return{type:"UPDATE_SELECT_BOX_FAILED"}},k=function(e){return{type:s,payload:e}},P=function(e){return{type:f,payload:e}},_=function(e){return{type:p,payload:e}},F=function(){return{type:d}},C=function(e,t){return{type:h,payload:{file:e,filename:t}}},j=function(e){return{type:m,payload:e}},R=function(e){return{type:v,payload:e}},D=function(){return{type:y}}},function(e,t,n){var r=n(10),o=n(12),i=n(34);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i),u=o.a.createContext(null);var l=function(e){e()},c={notify:function(){}};function s(){var e=l,t=[],n=[];return{clear:function(){n=null,t=null},notify:function(){var r=t=n;e((function(){for(var e=0;e<r.length;e++)r[e]()}))},get:function(){return n},subscribe:function(e){var r=!0;return n===t&&(n=t.slice()),n.push(e),function(){r&&null!==t&&(r=!1,n===t&&(n=t.slice()),n.splice(n.indexOf(e),1))}}}}var f=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=c,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=s())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=c)},e}();function p(e){var t=e.store,n=e.context,i=e.children,a=Object(r.useMemo)((function(){var e=new f(t);return e.onStateChange=e.notifyNestedSubs,{store:t,subscription:e}}),[t]),l=Object(r.useMemo)((function(){return t.getState()}),[t]);Object(r.useEffect)((function(){var e=a.subscription;return e.trySubscribe(),l!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[a,l]);var c=n||u;return o.a.createElement(c.Provider,{value:a},i)}p.propTypes={store:a.a.shape({subscribe:a.a.func.isRequired,dispatch:a.a.func.isRequired,getState:a.a.func.isRequired}),context:a.a.object,children:a.a.any};var d=p,h=n(28),m=n(69),v=n(122),y=n.n(v),g=n(70),b=n.n(g),w=n(137),E="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect,x=[],S=[null,null];function T(e,t){var n=e[1];return[t.payload,n+1]}var O=function(){return[null,0]};function k(e,t){void 0===t&&(t={});var n=t,i=n.getDisplayName,a=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,l=n.methodName,c=void 0===l?"connectAdvanced":l,s=n.renderCountProp,p=void 0===s?void 0:s,d=n.shouldHandleStateChanges,v=void 0===d||d,g=n.storeKey,k=void 0===g?"store":g,P=n.withRef,_=void 0!==P&&P,F=n.forwardRef,C=void 0!==F&&F,j=n.context,R=void 0===j?u:j,D=Object(m.a)(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);b()(void 0===p,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),b()(!_,"withRef is removed. To access the wrapped instance, use a ref on the connected component");b()("store"===k,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var A=R;return function(t){var n=t.displayName||t.name||"Component",i=a(n),u=Object(h.a)({},D,{getDisplayName:a,methodName:c,renderCountProp:p,shouldHandleStateChanges:v,storeKey:k,displayName:i,wrappedComponentName:n,WrappedComponent:t}),l=D.pure;var s=l?r.useMemo:function(e){return e()};function d(n){var a=Object(r.useMemo)((function(){var e=n.forwardedRef,t=Object(m.a)(n,["forwardedRef"]);return[n.context,e,t]}),[n]),l=a[0],c=a[1],p=a[2],d=Object(r.useMemo)((function(){return l&&l.Consumer&&Object(w.isContextConsumer)(o.a.createElement(l.Consumer,null))?l:A}),[l,A]),y=Object(r.useContext)(d),g=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch),k=Boolean(y)&&Boolean(y.store);b()(g||k,'Could not find "store" in the context of "'+i+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+i+" in connect options.");var P=g?n.store:y.store,_=Object(r.useMemo)((function(){return function(t){return e(t.dispatch,u)}(P)}),[P]),F=Object(r.useMemo)((function(){if(!v)return S;var e=new f(P,g?null:y.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[P,g,y]),C=F[0],j=F[1],R=Object(r.useMemo)((function(){return g?y:Object(h.a)({},y,{subscription:C})}),[g,y,C]),D=Object(r.useReducer)(T,x,O),L=D[0][0],N=D[1];if(L&&L.error)throw L.error;var I=Object(r.useRef)(),M=Object(r.useRef)(p),U=Object(r.useRef)(),q=Object(r.useRef)(!1),z=s((function(){return U.current&&p===M.current?U.current:_(P.getState(),p)}),[P,L,p]);E((function(){M.current=p,I.current=z,q.current=!1,U.current&&(U.current=null,j())})),E((function(){if(v){var e=!1,t=null,n=function(){if(!e){var n,r,o=P.getState();try{n=_(o,M.current)}catch(e){r=e,t=e}r||(t=null),n===I.current?q.current||j():(I.current=n,U.current=n,q.current=!0,N({type:"STORE_UPDATED",payload:{error:r}}))}};C.onStateChange=n,C.trySubscribe(),n();return function(){if(e=!0,C.tryUnsubscribe(),C.onStateChange=null,t)throw t}}}),[P,C,_]);var H=Object(r.useMemo)((function(){return o.a.createElement(t,Object(h.a)({},z,{ref:c}))}),[c,t,z]);return Object(r.useMemo)((function(){return v?o.a.createElement(d.Provider,{value:R},H):H}),[d,H,R])}var g=l?o.a.memo(d):d;if(g.WrappedComponent=t,g.displayName=i,C){var P=o.a.forwardRef((function(e,t){return o.a.createElement(g,Object(h.a)({},e,{forwardedRef:t}))}));return P.displayName=i,P.WrappedComponent=t,y()(P,t)}return y()(g,t)}}var P=Object.prototype.hasOwnProperty;function _(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function F(e,t){if(_(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!P.call(t,n[o])||!_(e[n[o]],t[n[o]]))return!1;return!0}var C=n(79);function j(e){return function(t,n){var r=e(t,n);function o(){return r}return o.dependsOnOwnProps=!1,o}}function R(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function D(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=R(e);var o=r(t,n);return"function"==typeof o&&(r.mapToProps=o,r.dependsOnOwnProps=R(o),o=r(t,n)),o},r}}var A=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?j((function(t){return Object(C.bindActionCreators)(e,t)})):void 0}];var L=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(){return{}}))}];function N(e,t,n){return Object(h.a)({},n,{},e,{},t)}var I=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,o=n.pure,i=n.areMergedPropsEqual,a=!1;return function(t,n,u){var l=e(t,n,u);return a?o&&i(l,r)||(r=l):(a=!0,r=l),r}}}(e):void 0},function(e){return e?void 0:function(){return N}}];function M(e,t,n,r){return function(o,i){return n(e(o,i),t(r,i),i)}}function U(e,t,n,r,o){var i,a,u,l,c,s=o.areStatesEqual,f=o.areOwnPropsEqual,p=o.areStatePropsEqual,d=!1;function h(o,d){var h,m,v=!f(d,a),y=!s(o,i);return i=o,a=d,v&&y?(u=e(i,a),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):v?(e.dependsOnOwnProps&&(u=e(i,a)),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):y?(h=e(i,a),m=!p(h,u),u=h,m&&(c=n(u,l,a)),c):c}return function(o,s){return d?h(o,s):(u=e(i=o,a=s),l=t(r,a),c=n(u,l,a),d=!0,c)}}function q(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,o=t.initMergeProps,i=Object(m.a)(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),a=n(e,i),u=r(e,i),l=o(e,i);return(i.pure?U:M)(a,u,l,e,i)}function z(e,t,n){for(var r=t.length-1;r>=0;r--){var o=t[r](e);if(o)return o}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function H(e,t){return e===t}var G,B,$,V,W,K,Q,X,Y,J,Z,ee,te=($=(B=void 0===G?{}:G).connectHOC,V=void 0===$?k:$,W=B.mapStateToPropsFactories,K=void 0===W?L:W,Q=B.mapDispatchToPropsFactories,X=void 0===Q?A:Q,Y=B.mergePropsFactories,J=void 0===Y?I:Y,Z=B.selectorFactory,ee=void 0===Z?q:Z,function(e,t,n,r){void 0===r&&(r={});var o=r,i=o.pure,a=void 0===i||i,u=o.areStatesEqual,l=void 0===u?H:u,c=o.areOwnPropsEqual,s=void 0===c?F:c,f=o.areStatePropsEqual,p=void 0===f?F:f,d=o.areMergedPropsEqual,v=void 0===d?F:d,y=Object(m.a)(o,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),g=z(e,K,"mapStateToProps"),b=z(t,X,"mapDispatchToProps"),w=z(n,J,"mergeProps");return V(ee,Object(h.a)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:g,initMapDispatchToProps:b,initMergeProps:w,pure:a,areStatesEqual:l,areOwnPropsEqual:s,areStatePropsEqual:p,areMergedPropsEqual:v},y))});function ne(){var e=Object(r.useContext)(u);return b()(e,"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"),e}function re(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)};return function(){return t().store}}var oe=re();!function(e){void 0===e&&(e=u);var t=e===u?oe:re(e)}();var ie=function(e,t){return e===t};!function(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)}}();var ae,ue=n(30);n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return te})),ae=ue.unstable_batchedUpdates,l=ae},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var o=n(0),i=n.n(o),a=(n(1),n(46)),u=n(149),l=n(37);function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s=n(151),f=n.n(s);n(137);function p(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var d=n(122),h=n.n(d);n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return y})),n.d(t,"c",(function(){return P})),n.d(t,"d",(function(){return v})),n.d(t,"e",(function(){return w})),n.d(t,"f",(function(){return _}));var m=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History"),v=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}r(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},i.a.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(i.a.Component);i.a.Component;i.a.Component;var g={},b=0;function w(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,i=void 0!==o&&o,a=n.strict,u=void 0!==a&&a,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=g[n]||(g[n]={});if(r[e])return r[e];var o=[],i={regexp:f()(e,o,t),keys:o};return b<1e4&&(r[e]=i,b++),i}(n,{end:i,strict:u,sensitive:c}),o=r.regexp,a=r.keys,l=o.exec(e);if(!l)return null;var s=l[0],p=l.slice(1),d=e===s;return i&&!d?null:{path:n,url:"/"===n&&""===s?"/":s,isExact:d,params:a.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n=e.props.location||t.location,r=c({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?w(n.pathname,e.props):t.match}),o=e.props,a=o.children,u=o.component,s=o.render;return Array.isArray(a)&&0===a.length&&(a=null),i.a.createElement(v.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:u?i.a.createElement(u,r):s?s(r):null:"function"==typeof a?a(r):null)}))},t}(i.a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function S(e,t){if(!e)return t;var n=x(e);return 0!==t.pathname.indexOf(n)?t:c({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:Object(a.e)(e)}function O(e){return function(){Object(l.a)(!1)}}function k(){}i.a.Component;var P=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n,r,o=e.props.location||t.location;return i.a.Children.forEach(e.props.children,(function(e){if(null==r&&i.a.isValidElement(e)){n=e;var a=e.props.path||e.props.from;r=a?w(o.pathname,c({},e.props,{path:a})):t.match}})),r?i.a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(i.a.Component);function _(e){var t="withRouter("+(e.displayName||e.name)+")",n=function(t){var n=t.wrappedComponentRef,r=p(t,["wrappedComponentRef"]);return i.a.createElement(v.Consumer,null,(function(t){return t||Object(l.a)(!1),i.a.createElement(e,c({},r,t,{ref:n}))}))};return n.displayName=t,n.WrappedComponent=e,h()(n,e)}i.a.useContext},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"g",(function(){return u})),n.d(t,"i",(function(){return l})),n.d(t,"h",(function(){return c})),n.d(t,"f",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"e",(function(){return p})),n.d(t,"k",(function(){return d})),n.d(t,"n",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"m",(function(){return v})),n.d(t,"r",(function(){return y})),n.d(t,"t",(function(){return g})),n.d(t,"s",(function(){return b})),n.d(t,"q",(function(){return w})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return x}));var r="ADD_TO_CONSOLE",o="ADD_TO_RETRY_LIST",i="CLEAR_CONSOLE",a="CLEAR_BUTTON_CLICKED_AND_RETRY_LIST",u="GET_FILES_FROM_GITHUB",l="GET_FILES_FROM_GITHUB_SUCCESS",c="GET_FILES_FROM_GITHUB_FAILED",s="DOWNLOAD_FONTS_API_CALL",f="REQUEST_SENT_COUNTER",p="CLEAR_REQUEST_REMAINING_DATA",d=function(e,t,n){return{type:r,key:e,status:t,message:n}},h=function(){return{type:i}},m=function(e){return{type:o,name:e}},v=function(){return{type:a}},y=function(){return{type:u}},g=function(e){return{type:l,payload:e}},b=function(e){return{type:c,payload:e}},w=function(e){return{type:s,payload:e}},E=function(){return{type:f}},x=function(){return{type:p}}},function(e,t,n){var r=n(113),o=n(26),i=n(176);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(7),o=n(48).find,i=n(86),a=n(33),u=!0,l=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!l},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(e,t,n){var r=n(59),o=n(22);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(35),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(22);e.exports=function(e){return Object(r(e))}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=n(117).charAt,o=n(47),i=n(132),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(e){a(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=u(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(4),o=n(14),i=n(9),a=n(50),u=n(65),l=n(47),c=l.get,s=l.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var l=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),s(n).source=f.join("string"==typeof t?t:"")),e!==r?(l?!p&&e[t]&&(c=!0):delete e[t],c?e[t]=n:o(e,t,n)):c?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||u(this)}))},function(e,t,n){var r=n(104),o=n(4),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(26),o=n(8),i=n(5),a=n(97),u=RegExp.prototype,l=u.toString,c=i((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),s="toString"!=l.name;(c||s)&&r(RegExp.prototype,"toString",(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in u)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(187)},function(e,t,n){"use strict";var r=n(7),o=n(4),i=n(27),a=n(49),u=n(10),l=n(64),c=n(101),s=n(5),f=n(9),p=n(74),d=n(11),h=n(8),m=n(23),v=n(20),y=n(51),g=n(34),b=n(68),w=n(67),E=n(72),x=n(197),S=n(88),T=n(45),O=n(12),k=n(77),P=n(14),_=n(26),F=n(61),C=n(52),j=n(44),R=n(63),D=n(6),A=n(159),L=n(160),N=n(89),I=n(47),M=n(48).forEach,U=C("hidden"),q=D("toPrimitive"),z=I.set,H=I.getterFor("Symbol"),G=Object.prototype,B=o.Symbol,$=i("JSON","stringify"),V=T.f,W=O.f,K=x.f,Q=k.f,X=F("symbols"),Y=F("op-symbols"),J=F("string-to-symbol-registry"),Z=F("symbol-to-string-registry"),ee=F("wks"),te=o.QObject,ne=!te||!te.prototype||!te.prototype.findChild,re=u&&s((function(){return 7!=b(W({},"a",{get:function(){return W(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=V(G,t);r&&delete G[t],W(e,t,n),r&&e!==G&&W(G,t,r)}:W,oe=function(e,t){var n=X[e]=b(B.prototype);return z(n,{type:"Symbol",tag:e,description:t}),u||(n.description=t),n},ie=c?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof B},ae=function(e,t,n){e===G&&ae(Y,t,n),h(e);var r=y(t,!0);return h(n),f(X,r)?(n.enumerable?(f(e,U)&&e[U][r]&&(e[U][r]=!1),n=b(n,{enumerable:g(0,!1)})):(f(e,U)||W(e,U,g(1,{})),e[U][r]=!0),re(e,r,n)):W(e,r,n)},ue=function(e,t){h(e);var n=v(t),r=w(n).concat(fe(n));return M(r,(function(t){u&&!le.call(n,t)||ae(e,t,n[t])})),e},le=function(e){var t=y(e,!0),n=Q.call(this,t);return!(this===G&&f(X,t)&&!f(Y,t))&&(!(n||!f(this,t)||!f(X,t)||f(this,U)&&this[U][t])||n)},ce=function(e,t){var n=v(e),r=y(t,!0);if(n!==G||!f(X,r)||f(Y,r)){var o=V(n,r);return!o||!f(X,r)||f(n,U)&&n[U][r]||(o.enumerable=!0),o}},se=function(e){var t=K(v(e)),n=[];return M(t,(function(e){f(X,e)||f(j,e)||n.push(e)})),n},fe=function(e){var t=e===G,n=K(t?Y:v(e)),r=[];return M(n,(function(e){!f(X,e)||t&&!f(G,e)||r.push(X[e])})),r};(l||(_((B=function(){if(this instanceof B)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=R(e),n=function(e){this===G&&n.call(Y,e),f(this,U)&&f(this[U],t)&&(this[U][t]=!1),re(this,t,g(1,e))};return u&&ne&&re(G,t,{configurable:!0,set:n}),oe(t,e)}).prototype,"toString",(function(){return H(this).tag})),_(B,"withoutSetter",(function(e){return oe(R(e),e)})),k.f=le,O.f=ae,T.f=ce,E.f=x.f=se,S.f=fe,A.f=function(e){return oe(D(e),e)},u&&(W(B.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),a||_(G,"propertyIsEnumerable",le,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:B}),M(w(ee),(function(e){L(e)})),r({target:"Symbol",stat:!0,forced:!l},{for:function(e){var t=String(e);if(f(J,t))return J[t];var n=B(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ie(e))throw TypeError(e+" is not a symbol");if(f(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!u},{create:function(e,t){return void 0===t?b(e):ue(b(e),t)},defineProperty:ae,defineProperties:ue,getOwnPropertyDescriptor:ce}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:fe}),r({target:"Object",stat:!0,forced:s((function(){S.f(1)}))},{getOwnPropertySymbols:function(e){return S.f(m(e))}}),$)&&r({target:"JSON",stat:!0,forced:!l||s((function(){var e=B();return"[null]"!=$([e])||"{}"!=$({a:e})||"{}"!=$(Object(e))}))},{stringify:function(e,t,n){for(var r,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=t,(d(t)||void 0!==e)&&!ie(e))return p(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ie(t))return t}),o[1]=t,$.apply(null,o)}});B.prototype[q]||P(B.prototype,q,B.prototype.valueOf),N(B,"Symbol"),j[U]=!0},function(e,t,n){"use strict";var r=n(20),o=n(86),i=n(56),a=n(47),u=n(132),l=a.set,c=a.getterFor("Array Iterator");e.exports=u(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:r(e),index:0,kind:t})}),(function(){var e=c(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){var r=n(10),o=n(5),i=n(9),a=Object.defineProperty,u={},l=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],c=!!i(t,"ACCESSORS")&&t.ACCESSORS,s=i(t,0)?t[0]:l,f=i(t,1)?t[1]:void 0;return u[e]=!!n&&!o((function(){if(c&&!r)return!0;var e={length:-1};c?a(e,1,{enumerable:!0,get:l}):e[1]=1,n.call(e,s,f)}))}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return u(c(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}function u(e,t){var n,r,a,u,l,c,s,f,p,d=1,h=e.length,m="";for(r=0;r<h;r++)if("string"==typeof e[r])m+=e[r];else if("object"==typeof e[r]){if((u=e[r]).keys)for(n=t[d],a=0;a<u.keys.length;a++){if(null==n)throw new Error(i('[sprintf] Cannot access property "%s" of undefined value "%s"',u.keys[a],u.keys[a-1]));n=n[u.keys[a]]}else n=u.param_no?t[u.param_no]:t[d++];if(o.not_type.test(u.type)&&o.not_primitive.test(u.type)&&n instanceof Function&&(n=n()),o.numeric_arg.test(u.type)&&"number"!=typeof n&&isNaN(n))throw new TypeError(i("[sprintf] expecting number but found %T",n));switch(o.number.test(u.type)&&(f=n>=0),u.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,u.width?parseInt(u.width):0);break;case"e":n=u.precision?parseFloat(n).toExponential(u.precision):parseFloat(n).toExponential();break;case"f":n=u.precision?parseFloat(n).toFixed(u.precision):parseFloat(n);break;case"g":n=u.precision?String(Number(n.toPrecision(u.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=u.precision?n.substring(0,u.precision):n;break;case"t":n=String(!!n),n=u.precision?n.substring(0,u.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=u.precision?n.substring(0,u.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=u.precision?n.substring(0,u.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(u.type)?m+=n:(!o.number.test(u.type)||f&&!u.sign?p="":(p=f?"+":"-",n=n.toString().replace(o.sign,"")),c=u.pad_char?"0"===u.pad_char?"0":u.pad_char.charAt(1):" ",s=u.width-(p+n).length,l=u.width&&s>0?c.repeat(s):"",m+=u.align?p+n+l:"0"===c?p+l+n:l+p+n)}return m}var l=Object.create(null);function c(e){if(l[e])return l[e];for(var t,n=e,r=[],i=0;n;){if(null!==(t=o.text.exec(n)))r.push(t[0]);else if(null!==(t=o.modulo.exec(n)))r.push("%");else{if(null===(t=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],u=t[2],c=[];if(null===(c=o.key.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(u=u.substring(c[0].length));)if(null!==(c=o.key_access.exec(u)))a.push(c[1]);else{if(null===(c=o.index_access.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return l[e]=r}t.sprintf=i,t.vsprintf=a,"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(t,n,t,e))||(e.exports=r))}()},function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error("Invariant failed")}},function(e,t,n){"use strict";var r=n(7),o=n(10),i=n(4),a=n(9),u=n(11),l=n(12).f,c=n(102),s=i.Symbol;if(o&&"function"==typeof s&&(!("description"in s.prototype)||void 0!==s().description)){var f={},p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof p?new s(e):void 0===e?s():s(e);return""===e&&(f[t]=!0),t};c(p,s);var d=p.prototype=s.prototype;d.constructor=p;var h=d.toString,m="Symbol(test)"==String(s("test")),v=/^Symbol\((.*)\)[^)]+$/;l(d,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=m?t.slice(7,-1):t.replace(v,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){n(160)("iterator")},function(e,t,n){var r=n(4),o=n(162),i=n(32),a=n(14),u=n(6),l=u("iterator"),c=u("toStringTag"),s=i.values;for(var f in o){var p=r[f],d=p&&p.prototype;if(d){if(d[l]!==s)try{a(d,l,s)}catch(e){d[l]=s}if(d[c]||a(d,c,f),o[f])for(var h in i)if(d[h]!==i[h])try{a(d,h,i[h])}catch(e){d[h]=i[h]}}}},function(e,t,n){"use strict";var r=n(7),o=n(73);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(7),o=n(48).map,i=n(90),a=n(33),u=i("map"),l=a("map");r({target:"Array",proto:!0,forced:!u||!l},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t){e.exports={}},function(e,t,n){var r=n(10),o=n(77),i=n(34),a=n(20),u=n(51),l=n(9),c=n(76),s=Object.getOwnPropertyDescriptor;t.f=r?s:function(e,t){if(e=a(e),t=u(t,!0),c)try{return s(e,t)}catch(e){}if(l(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e){return"/"===e.charAt(0)}function i(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}var a=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],a=t&&t.split("/")||[],u=e&&o(e),l=t&&o(t),c=u||l;if(e&&o(e)?a=r:r.length&&(a.pop(),a=a.concat(r)),!a.length)return"/";if(a.length){var s=a[a.length-1];n="."===s||".."===s||""===s}else n=!1;for(var f=0,p=a.length;p>=0;p--){var d=a[p];"."===d?i(a,p):".."===d?(i(a,p),f++):f&&(i(a,p),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=u(t),o=u(n);return r!==t||o!==n?e(r,o):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(37);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function m(e,t,n,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(i=r({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(i.key=n),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=a(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return k})),n.d(t,"d",(function(){return _})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return h}));var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}function w(){try{return window.history.state||{}}catch(e){return{}}}function E(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),a=e,u=a.forceRefresh,l=void 0!==u&&u,f=a.getUserConfirmation,v=void 0===f?b:f,E=a.keyLength,x=void 0===E?6:E,S=e.basename?d(s(e.basename)):"";function T(e){var t=e||{},n=t.key,r=t.state,o=window.location,i=o.pathname+o.search+o.hash;return S&&(i=p(i,S)),m(i,r,n)}function O(){return Math.random().toString(36).substr(2,x)}var k=y();function P(e){r(U,e),U.length=n.length,k.notifyListeners(U.location,U.action)}function _(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||j(T(e.state))}function F(){j(T(w()))}var C=!1;function j(e){if(C)C=!1,P();else{k.confirmTransitionTo(e,"POP",v,(function(t){t?P({action:"POP",location:e}):function(e){var t=U.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(C=!0,L(o))}(e)}))}}var R=T(w()),D=[R.key];function A(e){return S+h(e)}function L(e){n.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?(window.addEventListener("popstate",_),i&&window.addEventListener("hashchange",F)):0===N&&(window.removeEventListener("popstate",_),i&&window.removeEventListener("hashchange",F))}var M=!1;var U={length:n.length,action:"POP",location:R,createHref:A,push:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"PUSH",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.pushState({key:i,state:a},null,t),l)window.location.href=t;else{var u=D.indexOf(U.location.key),c=D.slice(0,u+1);c.push(r.key),D=c,P({action:"PUSH",location:r})}else window.location.href=t}}))},replace:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"REPLACE",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.replaceState({key:i,state:a},null,t),l)window.location.replace(t);else{var u=D.indexOf(U.location.key);-1!==u&&(D[u]=r.key),P({action:"REPLACE",location:r})}else window.location.replace(t)}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}var x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+f(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:f,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function T(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function O(e){window.location.replace(S(window.location.href)+"#"+e)}function k(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,i=void 0===o?b:o,a=n.hashType,u=void 0===a?"slash":a,l=e.basename?d(s(e.basename)):"",f=x[u],v=f.encodePath,w=f.decodePath;function E(){var e=w(T());return l&&(e=p(e,l)),m(e)}var k=y();function P(e){r(U,e),U.length=t.length,k.notifyListeners(U.location,U.action)}var _=!1,F=null;function C(){var e,t,n=T(),r=v(n);if(n!==r)O(r);else{var o=E(),a=U.location;if(!_&&(t=o,(e=a).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(F===h(o))return;F=null,function(e){if(_)_=!1,P();else{k.confirmTransitionTo(e,"POP",i,(function(t){t?P({action:"POP",location:e}):function(e){var t=U.location,n=A.lastIndexOf(h(t));-1===n&&(n=0);var r=A.lastIndexOf(h(e));-1===r&&(r=0);var o=n-r;o&&(_=!0,L(o))}(e)}))}}(o)}}var j=T(),R=v(j);j!==R&&O(R);var D=E(),A=[h(D)];function L(e){t.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?window.addEventListener("hashchange",C):0===N&&window.removeEventListener("hashchange",C)}var M=!1;var U={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(l+h(e))},push:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"PUSH",i,(function(e){if(e){var t=h(n),r=v(l+t);if(T()!==r){F=t,function(e){window.location.hash=e}(r);var o=A.lastIndexOf(h(U.location)),i=A.slice(0,o+1);i.push(t),A=i,P({action:"PUSH",location:n})}else P()}}))},replace:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"REPLACE",i,(function(e){if(e){var t=h(n),r=v(l+t);T()!==r&&(F=t,O(r));var o=A.indexOf(h(U.location));-1!==o&&(A[o]=t),P({action:"REPLACE",location:n})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}function P(e,t,n){return Math.min(Math.max(e,t),n)}function _(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,i=void 0===o?["/"]:o,a=t.initialIndex,u=void 0===a?0:a,l=t.keyLength,c=void 0===l?6:l,s=y();function f(e){r(w,e),w.length=w.entries.length,s.notifyListeners(w.location,w.action)}function p(){return Math.random().toString(36).substr(2,c)}var d=P(u,0,i.length-1),v=i.map((function(e){return m(e,void 0,"string"==typeof e?p():e.key||p())})),g=h;function b(e){var t=P(w.index+e,0,w.entries.length-1),r=w.entries[t];s.confirmTransitionTo(r,"POP",n,(function(e){e?f({action:"POP",location:r,index:t}):f()}))}var w={length:v.length,action:"POP",location:v[d],index:d,entries:v,createHref:g,push:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"PUSH",n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),s.setPrompt(e)},listen:function(e){return s.appendListener(e)}};return w}},function(e,t,n){var r,o,i,a=n(114),u=n(4),l=n(11),c=n(14),s=n(9),f=n(52),p=n(44),d=u.WeakMap;if(a){var h=new d,m=h.get,v=h.has,y=h.set;r=function(e,t){return y.call(h,e,t),t},o=function(e){return m.call(h,e)||{}},i=function(e){return v.call(h,e)}}else{var g=f("state");p[g]=!0,r=function(e,t){return c(e,g,t),t},o=function(e){return s(e,g)?e[g]:{}},i=function(e){return s(e,g)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){var r=n(66),o=n(59),i=n(23),a=n(21),u=n(107),l=[].push,c=function(e){var t=1==e,n=2==e,c=3==e,s=4==e,f=6==e,p=5==e||f;return function(d,h,m,v){for(var y,g,b=i(d),w=o(b),E=r(h,m,3),x=a(w.length),S=0,T=v||u,O=t?T(d,x):n?T(d,0):void 0;x>S;S++)if((p||S in w)&&(g=E(y=w[S],S,b),e))if(t)O[S]=g;else if(g)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:l.call(O,y)}else if(s)return!1;return f?-1:c||s?s:O}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},function(e,t){e.exports=!1},function(e,t,n){var r=n(4),o=n(14);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(11);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(61),o=n(63),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));n(120);
|
2 |
/**
|
3 |
* @package Gravity PDF
|
4 |
* @copyright Copyright (c) 2021, Blue Liquid Designs
|
dist/assets/js/gfpdf-entries.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var n={};function r(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)r.d(e,o,function(n){return t[n]}.bind(null,o));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.1/dist/",r(r.s=209)}([,,,,function(t,n,r){(function(n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")()}).call(this,r(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,r){var e=r(4),o=r(61),i=r(9),u=r(63),c=r(64),f=r(101),a=o("wks"),s=e.Symbol,p=f?s:s&&s.withoutSetter||u;t.exports=function(t){return i(a,t)||(c&&i(s,t)?a[t]=s[t]:a[t]=p("Symbol."+t)),a[t]}},function(t,n,r){var e=r(4),o=r(45).f,i=r(14),u=r(26),c=r(50),f=r(102),a=r(85);t.exports=function(t,n){var r,s,p,l,v,y=t.target,d=t.global,h=t.stat;if(r=d?e:h?e[y]||c(y,{}):(e[y]||{}).prototype)for(s in n){if(l=n[s],p=t.noTargetGet?(v=o(r,s))&&v.value:r[s],!a(d?s:y+(h?".":"#")+s,t.forced)&&void 0!==p){if(typeof l==typeof p)continue;f(l,p)}(t.sham||p&&p.sham)&&i(l,"sham",!0),u(r,s,l,t)}}},function(t,n,r){var e=r(11);t.exports=function(t){if(!e(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(5);t.exports=!e((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(10),o=r(76),i=r(8),u=r(51),c=Object.defineProperty;n.f=e?c:function(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},,function(t,n,r){var e=r(10),o=r(12),i=r(34);t.exports=e?function(t,n,r){return o.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},,,,,function(t,n,r){"use strict";var e=r(7),o=r(48).find,i=r(86),u=r(33),c=!0,f=u("find");"find"in[]&&Array(1).find((function(){c=!1})),e({target:"Array",proto:!0,forced:c||!f},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,r){var e=r(59),o=r(22);t.exports=function(t){return e(o(t))}},function(t,n,r){var e=r(35),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){var e=r(22);t.exports=function(t){return Object(e(t))}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},,function(t,n,r){var e=r(4),o=r(14),i=r(9),u=r(50),c=r(65),f=r(47),a=f.get,s=f.enforce,p=String(String).split("String");(t.exports=function(t,n,r,c){var f=!!c&&!!c.unsafe,a=!!c&&!!c.enumerable,l=!!c&&!!c.noTargetGet;"function"==typeof r&&("string"!=typeof n||i(r,"name")||o(r,"name",n),s(r).source=p.join("string"==typeof n?n:"")),t!==e?(f?!l&&t[n]&&(a=!0):delete t[n],a?t[n]=r:o(t,n,r)):a?t[n]=r:u(n,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&a(this).source||c(this)}))},function(t,n,r){var e=r(104),o=r(4),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(e[t])||i(o[t]):e[t]&&e[t][n]||o[t]&&o[t][n]}},,,,,,function(t,n,r){var e=r(10),o=r(5),i=r(9),u=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(i(c,t))return c[t];n||(n={});var r=[][t],a=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:f,p=i(n,1)?n[1]:void 0;return c[t]=!!r&&!o((function(){if(a&&!e)return!0;var t={length:-1};a?u(t,1,{enumerable:!0,get:f}):t[1]=1,r.call(t,s,p)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},,,,,,,,function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,r){var e=r(10),o=r(77),i=r(34),u=r(20),c=r(51),f=r(9),a=r(76),s=Object.getOwnPropertyDescriptor;n.f=e?s:function(t,n){if(t=u(t),n=c(n,!0),a)try{return s(t,n)}catch(t){}if(f(t,n))return i(!o.f.call(t,n),t[n])}},,function(t,n,r){var e,o,i,u=r(114),c=r(4),f=r(11),a=r(14),s=r(9),p=r(52),l=r(44),v=c.WeakMap;if(u){var y=new v,d=y.get,h=y.has,x=y.set;e=function(t,n){return x.call(y,t,n),n},o=function(t){return d.call(y,t)||{}},i=function(t){return h.call(y,t)}}else{var b=p("state");l[b]=!0,e=function(t,n){return a(t,b,n),n},o=function(t){return s(t,b)?t[b]:{}},i=function(t){return s(t,b)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(n){var r;if(!f(n)||(r=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}}},function(t,n,r){var e=r(66),o=r(59),i=r(23),u=r(21),c=r(107),f=[].push,a=function(t){var n=1==t,r=2==t,a=3==t,s=4==t,p=6==t,l=5==t||p;return function(v,y,d,h){for(var x,b,g=i(v),m=o(g),O=e(y,d,3),S=u(m.length),w=0,j=h||c,P=n?j(v,S):r?j(v,0):void 0;S>w;w++)if((l||w in m)&&(b=O(x=m[w],w,g),t))if(n)P[w]=b;else if(b)switch(t){case 3:return!0;case 5:return x;case 6:return w;case 2:f.call(P,x)}else if(s)return!1;return p?-1:a||s?s:P}};t.exports={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6)}},function(t,n){t.exports=!1},function(t,n,r){var e=r(4),o=r(14);t.exports=function(t,n){try{o(e,t,n)}catch(r){e[t]=n}return n}},function(t,n,r){var e=r(11);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,r){var e=r(61),o=r(63),i=e("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,,,,,function(t,n,r){var e=r(5),o=r(24),i="".split;t.exports=e((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},,function(t,n,r){var e=r(49),o=r(75);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:e?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(4),o=r(11),i=e.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+e).toString(36)}},function(t,n,r){var e=r(5);t.exports=!!Object.getOwnPropertySymbols&&!e((function(){return!String(Symbol())}))},function(t,n,r){var e=r(75),o=Function.toString;"function"!=typeof e.inspectSource&&(e.inspectSource=function(t){return o.call(t)}),t.exports=e.inspectSource},function(t,n,r){var e=r(43);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 0:return function(){return t.call(n)};case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n,r){var e=r(78),o=r(53);t.exports=Object.keys||function(t){return e(t,o)}},function(t,n,r){var e,o=r(8),i=r(118),u=r(53),c=r(44),f=r(106),a=r(62),s=r(52),p=s("IE_PROTO"),l=function(){},v=function(t){return"<script>"+t+"<\/script>"},y=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;y=e?function(t){t.write(v("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=a("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F);for(var r=u.length;r--;)delete y.prototype[u[r]];return y()};c[p]=!0,t.exports=Object.create||function(t,n){var r;return null!==t?(l.prototype=o(t),r=new l,l.prototype=null,r[p]=t):r=y(),void 0===n?r:i(r,n)}},,,,function(t,n,r){var e=r(78),o=r(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,o)}},,function(t,n,r){var e=r(24);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(4),o=r(50),i=e["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,r){var e=r(10),o=r(5),i=r(62);t.exports=!e&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){"use strict";var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:e},function(t,n,r){var e=r(9),o=r(20),i=r(96).indexOf,u=r(44);t.exports=function(t,n){var r,c=o(t),f=0,a=[];for(r in c)!e(u,r)&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~i(a,r)||a.push(r));return a}},,,,,,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(5),o=/#|\.prototype\./,i=function(t,n){var r=c[u(t)];return r==a||r!=f&&("function"==typeof n?e(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},f=i.NATIVE="N",a=i.POLYFILL="P";t.exports=i},function(t,n,r){var e=r(6),o=r(68),i=r(12),u=e("unscopables"),c=Array.prototype;null==c[u]&&i.f(c,u,{configurable:!0,value:o(null)}),t.exports=function(t){c[u][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},,,,,,,,function(t,n,r){var e=r(20),o=r(21),i=r(105),u=function(t){return function(n,r,u){var c,f=e(n),a=o(f.length),s=i(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},,,,,function(t,n,r){var e=r(64);t.exports=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,r){var e=r(9),o=r(103),i=r(45),u=r(12);t.exports=function(t,n){for(var r=o(n),c=u.f,f=i.f,a=0;a<r.length;a++){var s=r[a];e(t,s)||c(t,s,f(n,s))}}},function(t,n,r){var e=r(27),o=r(72),i=r(88),u=r(8);t.exports=e("Reflect","ownKeys")||function(t){var n=o.f(u(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(4);t.exports=e},function(t,n,r){var e=r(35),o=Math.max,i=Math.min;t.exports=function(t,n){var r=e(t);return r<0?o(r+n,0):i(r,n)}},function(t,n,r){var e=r(27);t.exports=e("document","documentElement")},function(t,n,r){var e=r(11),o=r(74),i=r(6)("species");t.exports=function(t,n){var r;return o(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!o(r.prototype)?e(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)}},,,,,,,function(t,n,r){var e=r(4),o=r(65),i=e.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},,,,function(t,n,r){var e=r(10),o=r(12),i=r(8),u=r(67);t.exports=e?Object.defineProperties:function(t,n){i(t);for(var r,e=u(n),c=e.length,f=0;c>f;)o.f(t,r=e[f++],n[r]);return t}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,r){"use strict";r.r(n);var e;r(19);(e=jQuery)((function(){var t=null;e(".gfpdf_form_action_has_submenu > a").on("click",(function(){return"false"===e(this).attr("aria-expanded")?(e(this).parent().addClass("open"),e(this).attr("aria-expanded","true")):(e(this).parent().removeClass("open"),e(this).attr("aria-expanded","false")),!1})).parent().on("mouseover",(function(){clearTimeout(t),e(this).addClass("open").find("> a").attr("aria-expanded","true")})).on("mouseout",(function(){var n=e(this);t=setTimeout((function(){n.removeClass("open").find("> a").attr("aria-expanded","false")}),1e3)}))}))}]);
|
1 |
+
!function(t){var n={};function r(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)r.d(e,o,function(n){return t[n]}.bind(null,o));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.0/dist/",r(r.s=209)}([,,,,function(t,n,r){(function(n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")()}).call(this,r(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,r){var e=r(4),o=r(61),i=r(9),u=r(63),c=r(64),f=r(101),a=o("wks"),s=e.Symbol,p=f?s:s&&s.withoutSetter||u;t.exports=function(t){return i(a,t)||(c&&i(s,t)?a[t]=s[t]:a[t]=p("Symbol."+t)),a[t]}},function(t,n,r){var e=r(4),o=r(45).f,i=r(14),u=r(26),c=r(50),f=r(102),a=r(85);t.exports=function(t,n){var r,s,p,l,v,y=t.target,d=t.global,h=t.stat;if(r=d?e:h?e[y]||c(y,{}):(e[y]||{}).prototype)for(s in n){if(l=n[s],p=t.noTargetGet?(v=o(r,s))&&v.value:r[s],!a(d?s:y+(h?".":"#")+s,t.forced)&&void 0!==p){if(typeof l==typeof p)continue;f(l,p)}(t.sham||p&&p.sham)&&i(l,"sham",!0),u(r,s,l,t)}}},function(t,n,r){var e=r(11);t.exports=function(t){if(!e(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(5);t.exports=!e((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(10),o=r(76),i=r(8),u=r(51),c=Object.defineProperty;n.f=e?c:function(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},,function(t,n,r){var e=r(10),o=r(12),i=r(34);t.exports=e?function(t,n,r){return o.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},,,,,function(t,n,r){"use strict";var e=r(7),o=r(48).find,i=r(86),u=r(33),c=!0,f=u("find");"find"in[]&&Array(1).find((function(){c=!1})),e({target:"Array",proto:!0,forced:c||!f},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,r){var e=r(59),o=r(22);t.exports=function(t){return e(o(t))}},function(t,n,r){var e=r(35),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){var e=r(22);t.exports=function(t){return Object(e(t))}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},,function(t,n,r){var e=r(4),o=r(14),i=r(9),u=r(50),c=r(65),f=r(47),a=f.get,s=f.enforce,p=String(String).split("String");(t.exports=function(t,n,r,c){var f=!!c&&!!c.unsafe,a=!!c&&!!c.enumerable,l=!!c&&!!c.noTargetGet;"function"==typeof r&&("string"!=typeof n||i(r,"name")||o(r,"name",n),s(r).source=p.join("string"==typeof n?n:"")),t!==e?(f?!l&&t[n]&&(a=!0):delete t[n],a?t[n]=r:o(t,n,r)):a?t[n]=r:u(n,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&a(this).source||c(this)}))},function(t,n,r){var e=r(104),o=r(4),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(e[t])||i(o[t]):e[t]&&e[t][n]||o[t]&&o[t][n]}},,,,,,function(t,n,r){var e=r(10),o=r(5),i=r(9),u=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(i(c,t))return c[t];n||(n={});var r=[][t],a=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:f,p=i(n,1)?n[1]:void 0;return c[t]=!!r&&!o((function(){if(a&&!e)return!0;var t={length:-1};a?u(t,1,{enumerable:!0,get:f}):t[1]=1,r.call(t,s,p)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},,,,,,,,function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,r){var e=r(10),o=r(77),i=r(34),u=r(20),c=r(51),f=r(9),a=r(76),s=Object.getOwnPropertyDescriptor;n.f=e?s:function(t,n){if(t=u(t),n=c(n,!0),a)try{return s(t,n)}catch(t){}if(f(t,n))return i(!o.f.call(t,n),t[n])}},,function(t,n,r){var e,o,i,u=r(114),c=r(4),f=r(11),a=r(14),s=r(9),p=r(52),l=r(44),v=c.WeakMap;if(u){var y=new v,d=y.get,h=y.has,x=y.set;e=function(t,n){return x.call(y,t,n),n},o=function(t){return d.call(y,t)||{}},i=function(t){return h.call(y,t)}}else{var b=p("state");l[b]=!0,e=function(t,n){return a(t,b,n),n},o=function(t){return s(t,b)?t[b]:{}},i=function(t){return s(t,b)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(n){var r;if(!f(n)||(r=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}}},function(t,n,r){var e=r(66),o=r(59),i=r(23),u=r(21),c=r(107),f=[].push,a=function(t){var n=1==t,r=2==t,a=3==t,s=4==t,p=6==t,l=5==t||p;return function(v,y,d,h){for(var x,b,g=i(v),m=o(g),O=e(y,d,3),S=u(m.length),w=0,j=h||c,P=n?j(v,S):r?j(v,0):void 0;S>w;w++)if((l||w in m)&&(b=O(x=m[w],w,g),t))if(n)P[w]=b;else if(b)switch(t){case 3:return!0;case 5:return x;case 6:return w;case 2:f.call(P,x)}else if(s)return!1;return p?-1:a||s?s:P}};t.exports={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6)}},function(t,n){t.exports=!1},function(t,n,r){var e=r(4),o=r(14);t.exports=function(t,n){try{o(e,t,n)}catch(r){e[t]=n}return n}},function(t,n,r){var e=r(11);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,r){var e=r(61),o=r(63),i=e("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,,,,,function(t,n,r){var e=r(5),o=r(24),i="".split;t.exports=e((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},,function(t,n,r){var e=r(49),o=r(75);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:e?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(4),o=r(11),i=e.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+e).toString(36)}},function(t,n,r){var e=r(5);t.exports=!!Object.getOwnPropertySymbols&&!e((function(){return!String(Symbol())}))},function(t,n,r){var e=r(75),o=Function.toString;"function"!=typeof e.inspectSource&&(e.inspectSource=function(t){return o.call(t)}),t.exports=e.inspectSource},function(t,n,r){var e=r(43);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 0:return function(){return t.call(n)};case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n,r){var e=r(78),o=r(53);t.exports=Object.keys||function(t){return e(t,o)}},function(t,n,r){var e,o=r(8),i=r(118),u=r(53),c=r(44),f=r(106),a=r(62),s=r(52),p=s("IE_PROTO"),l=function(){},v=function(t){return"<script>"+t+"<\/script>"},y=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;y=e?function(t){t.write(v("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=a("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F);for(var r=u.length;r--;)delete y.prototype[u[r]];return y()};c[p]=!0,t.exports=Object.create||function(t,n){var r;return null!==t?(l.prototype=o(t),r=new l,l.prototype=null,r[p]=t):r=y(),void 0===n?r:i(r,n)}},,,,function(t,n,r){var e=r(78),o=r(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,o)}},,function(t,n,r){var e=r(24);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(4),o=r(50),i=e["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,r){var e=r(10),o=r(5),i=r(62);t.exports=!e&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){"use strict";var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:e},function(t,n,r){var e=r(9),o=r(20),i=r(96).indexOf,u=r(44);t.exports=function(t,n){var r,c=o(t),f=0,a=[];for(r in c)!e(u,r)&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~i(a,r)||a.push(r));return a}},,,,,,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(5),o=/#|\.prototype\./,i=function(t,n){var r=c[u(t)];return r==a||r!=f&&("function"==typeof n?e(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},f=i.NATIVE="N",a=i.POLYFILL="P";t.exports=i},function(t,n,r){var e=r(6),o=r(68),i=r(12),u=e("unscopables"),c=Array.prototype;null==c[u]&&i.f(c,u,{configurable:!0,value:o(null)}),t.exports=function(t){c[u][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},,,,,,,,function(t,n,r){var e=r(20),o=r(21),i=r(105),u=function(t){return function(n,r,u){var c,f=e(n),a=o(f.length),s=i(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},,,,,function(t,n,r){var e=r(64);t.exports=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,r){var e=r(9),o=r(103),i=r(45),u=r(12);t.exports=function(t,n){for(var r=o(n),c=u.f,f=i.f,a=0;a<r.length;a++){var s=r[a];e(t,s)||c(t,s,f(n,s))}}},function(t,n,r){var e=r(27),o=r(72),i=r(88),u=r(8);t.exports=e("Reflect","ownKeys")||function(t){var n=o.f(u(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(4);t.exports=e},function(t,n,r){var e=r(35),o=Math.max,i=Math.min;t.exports=function(t,n){var r=e(t);return r<0?o(r+n,0):i(r,n)}},function(t,n,r){var e=r(27);t.exports=e("document","documentElement")},function(t,n,r){var e=r(11),o=r(74),i=r(6)("species");t.exports=function(t,n){var r;return o(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!o(r.prototype)?e(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)}},,,,,,,function(t,n,r){var e=r(4),o=r(65),i=e.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},,,,function(t,n,r){var e=r(10),o=r(12),i=r(8),u=r(67);t.exports=e?Object.defineProperties:function(t,n){i(t);for(var r,e=u(n),c=e.length,f=0;c>f;)o.f(t,r=e[f++],n[r]);return t}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,r){"use strict";r.r(n);var e;r(19);(e=jQuery)((function(){var t=null;e(".gfpdf_form_action_has_submenu > a").on("click",(function(){return"false"===e(this).attr("aria-expanded")?(e(this).parent().addClass("open"),e(this).attr("aria-expanded","true")):(e(this).parent().removeClass("open"),e(this).attr("aria-expanded","false")),!1})).parent().on("mouseover",(function(){clearTimeout(t),e(this).addClass("open").find("> a").attr("aria-expanded","true")})).on("mouseout",(function(){var n=e(this);t=setTimeout((function(){n.removeClass("open").find("> a").attr("aria-expanded","false")}),1e3)}))}))}]);
|
pdf.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Gravity PDF
|
4 |
-
Version: 6.1.
|
5 |
Description: Automatically generate highly-customisable PDF documents using Gravity Forms.
|
6 |
Author: Gravity PDF
|
7 |
Author URI: https://gravitypdf.com
|
@@ -26,7 +26,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
26 |
/*
|
27 |
* Set base constants we'll use throughout the plugin
|
28 |
*/
|
29 |
-
define( 'PDF_EXTENDED_VERSION', '6.1.
|
30 |
define( 'PDF_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); /* plugin directory path */
|
31 |
define( 'PDF_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); /* plugin directory url */
|
32 |
define( 'PDF_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); /* the plugin basename */
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Gravity PDF
|
4 |
+
Version: 6.1.0
|
5 |
Description: Automatically generate highly-customisable PDF documents using Gravity Forms.
|
6 |
Author: Gravity PDF
|
7 |
Author URI: https://gravitypdf.com
|
26 |
/*
|
27 |
* Set base constants we'll use throughout the plugin
|
28 |
*/
|
29 |
+
define( 'PDF_EXTENDED_VERSION', '6.1.0' ); /* the current plugin version */
|
30 |
define( 'PDF_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); /* plugin directory path */
|
31 |
define( 'PDF_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); /* plugin directory url */
|
32 |
define( 'PDF_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); /* the plugin basename */
|
src/Helper/Fields/Field_Number.php
CHANGED
@@ -78,7 +78,7 @@ class Field_Number extends Helper_Abstract_Fields {
|
|
78 |
return $this->cache();
|
79 |
}
|
80 |
|
81 |
-
$value = esc_html( GFCommon::format_number( $this->get_value(), $this->field->numberFormat, $this->entry['currency']
|
82 |
|
83 |
$this->cache( $value );
|
84 |
|
78 |
return $this->cache();
|
79 |
}
|
80 |
|
81 |
+
$value = esc_html( GFCommon::format_number( $this->get_value(), $this->field->numberFormat, $this->entry['currency'] ) );
|
82 |
|
83 |
$this->cache( $value );
|
84 |
|
src/Helper/Fields/Field_Repeater.php
CHANGED
@@ -102,10 +102,7 @@ class Field_Repeater extends Helper_Abstract_Fields {
|
|
102 |
|
103 |
$class = $pdf_model->get_field_class( $sub_field, $this->form, $item, $products );
|
104 |
$form_data = $class->form_data();
|
105 |
-
|
106 |
-
if ( isset( $form_data['field'] ) ) {
|
107 |
-
$data = array_replace_recursive( $data, [ $id => $form_data['field'] ] );
|
108 |
-
}
|
109 |
}
|
110 |
}
|
111 |
|
102 |
|
103 |
$class = $pdf_model->get_field_class( $sub_field, $this->form, $item, $products );
|
104 |
$form_data = $class->form_data();
|
105 |
+
$data = array_replace_recursive( $data, [ $id => $form_data['field'] ] );
|
|
|
|
|
|
|
106 |
}
|
107 |
}
|
108 |
|
src/Helper/Helper_Misc.php
CHANGED
@@ -357,8 +357,6 @@ class Helper_Misc {
|
|
357 |
*/
|
358 |
public function rmdir( $dir ) {
|
359 |
|
360 |
-
$this->log->notice( sprintf( 'Begin deleting directory recursively: %s', $dir ) );
|
361 |
-
|
362 |
try {
|
363 |
$files = new RecursiveIteratorIterator(
|
364 |
new RecursiveDirectoryIterator( $dir, RecursiveDirectoryIterator::SKIP_DOTS ),
|
@@ -370,8 +368,6 @@ class Helper_Misc {
|
|
370 |
if ( ! $function( $fileinfo->getRealPath() ) ) {
|
371 |
throw new Exception( 'Could not run ' . $function . ' on ' . $fileinfo->getRealPath() );
|
372 |
}
|
373 |
-
|
374 |
-
$this->log->notice( sprintf( 'Successfully ran `%s` on %s', $function, $fileinfo->getRealPath() ) );
|
375 |
}
|
376 |
} catch ( Exception $e ) {
|
377 |
$this->log->error(
|
@@ -385,14 +381,7 @@ class Helper_Misc {
|
|
385 |
return new WP_Error( 'recursion_delete_problem', $e );
|
386 |
}
|
387 |
|
388 |
-
|
389 |
-
if ( ! $results ) {
|
390 |
-
$this->log->error( sprintf( 'Could not delete the top-level directory: %s', $dir ) );
|
391 |
-
}
|
392 |
-
|
393 |
-
$this->log->notice( sprintf( 'End deleting directory recursively: %s', $dir ) );
|
394 |
-
|
395 |
-
return $results;
|
396 |
}
|
397 |
|
398 |
/**
|
357 |
*/
|
358 |
public function rmdir( $dir ) {
|
359 |
|
|
|
|
|
360 |
try {
|
361 |
$files = new RecursiveIteratorIterator(
|
362 |
new RecursiveDirectoryIterator( $dir, RecursiveDirectoryIterator::SKIP_DOTS ),
|
368 |
if ( ! $function( $fileinfo->getRealPath() ) ) {
|
369 |
throw new Exception( 'Could not run ' . $function . ' on ' . $fileinfo->getRealPath() );
|
370 |
}
|
|
|
|
|
371 |
}
|
372 |
} catch ( Exception $e ) {
|
373 |
$this->log->error(
|
381 |
return new WP_Error( 'recursion_delete_problem', $e );
|
382 |
}
|
383 |
|
384 |
+
return rmdir( $dir );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
385 |
}
|
386 |
|
387 |
/**
|
src/Helper/Helper_Pdf_Queue.php
CHANGED
@@ -85,12 +85,6 @@ class Helper_Pdf_Queue extends GF_Background_Process {
|
|
85 |
public function task( $callbacks ) {
|
86 |
$callback = array_shift( $callbacks );
|
87 |
|
88 |
-
/* Something went wrong so cancel queue */
|
89 |
-
if ( ! isset( $callback['id'], $callback['func'] ) ) {
|
90 |
-
$this->log->critical( 'PDF queue ran with invalid queue item', [ 'callbacks' => $callbacks ] );
|
91 |
-
return false;
|
92 |
-
}
|
93 |
-
|
94 |
$this->log->notice(
|
95 |
sprintf(
|
96 |
'Begin async PDF task for %s',
|
@@ -98,57 +92,47 @@ class Helper_Pdf_Queue extends GF_Background_Process {
|
|
98 |
)
|
99 |
);
|
100 |
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
'
|
105 |
-
[
|
106 |
-
|
107 |
-
'callbacks' => $callbacks,
|
108 |
-
]
|
109 |
-
);
|
110 |
-
return false;
|
111 |
-
}
|
112 |
|
113 |
-
|
114 |
-
/* Call our use function and pass in any arguments */
|
115 |
-
$args = ( isset( $callback['args'] ) && is_array( $callback['args'] ) ) ? $callback['args'] : [];
|
116 |
-
call_user_func_array( $callback['func'], $args );
|
117 |
-
} catch ( Exception $e ) {
|
118 |
-
|
119 |
-
/* Log Error */
|
120 |
-
$this->log->error(
|
121 |
-
sprintf(
|
122 |
-
'Async PDF task error for %s',
|
123 |
-
$callback['id']
|
124 |
-
),
|
125 |
-
[
|
126 |
-
'args' => ( isset( $callback['args'] ) ) ? $callback['args'] : [],
|
127 |
-
'exception' => $e->getMessage(),
|
128 |
-
]
|
129 |
-
);
|
130 |
-
|
131 |
-
/* Add back to our queue to retry (up to a grand total of three times) */
|
132 |
-
if ( empty( $callback['retry'] ) || $callback['retry'] < 2 ) {
|
133 |
-
$callback['retry'] = isset( $callback['retry'] ) ? $callback['retry'] + 1 : 1;
|
134 |
-
array_unshift( $callbacks, $callback );
|
135 |
-
} else {
|
136 |
$this->log->error(
|
137 |
sprintf(
|
138 |
-
'Async PDF task
|
139 |
$callback['id']
|
140 |
-
)
|
|
|
|
|
|
|
|
|
141 |
);
|
142 |
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
|
|
|
|
|
|
|
|
149 |
);
|
150 |
|
151 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
}
|
153 |
}
|
154 |
}
|
85 |
public function task( $callbacks ) {
|
86 |
$callback = array_shift( $callbacks );
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
$this->log->notice(
|
89 |
sprintf(
|
90 |
'Begin async PDF task for %s',
|
92 |
)
|
93 |
);
|
94 |
|
95 |
+
if ( is_callable( $callback['func'] ) ) {
|
96 |
+
try {
|
97 |
+
/* Call our use function and pass in any arguments */
|
98 |
+
$args = ( isset( $callback['args'] ) && is_array( $callback['args'] ) ) ? $callback['args'] : [];
|
99 |
+
call_user_func_array( $callback['func'], $args );
|
100 |
+
} catch ( Exception $e ) {
|
|
|
|
|
|
|
|
|
|
|
101 |
|
102 |
+
/* Log Error */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
$this->log->error(
|
104 |
sprintf(
|
105 |
+
'Async PDF task error for %s',
|
106 |
$callback['id']
|
107 |
+
),
|
108 |
+
[
|
109 |
+
'args' => ( isset( $callback['args'] ) ) ? $callback['args'] : [],
|
110 |
+
'exception' => $e->getMessage(),
|
111 |
+
]
|
112 |
);
|
113 |
|
114 |
+
/* Add back to our queue to retry (up to a grand total of three times) */
|
115 |
+
if ( empty( $callback['retry'] ) || $callback['retry'] < 2 ) {
|
116 |
+
$callback['retry'] = isset( $callback['retry'] ) ? $callback['retry'] + 1 : 1;
|
117 |
+
array_unshift( $callbacks, $callback );
|
118 |
+
} else {
|
119 |
+
$this->log->error(
|
120 |
+
sprintf(
|
121 |
+
'Async PDF task retry limit reached for %s.',
|
122 |
+
$callback['id']
|
123 |
+
)
|
124 |
);
|
125 |
|
126 |
+
if ( $callback['unrecoverable'] ?? false ) {
|
127 |
+
$this->log->critical(
|
128 |
+
'Cancel async queue due to retry limit reached on unrecoverable callback.',
|
129 |
+
[
|
130 |
+
'callbacks' => $callbacks,
|
131 |
+
]
|
132 |
+
);
|
133 |
+
|
134 |
+
$callbacks = [];
|
135 |
+
}
|
136 |
}
|
137 |
}
|
138 |
}
|
src/Statics/Queue_Callbacks.php
CHANGED
@@ -53,8 +53,6 @@ class Queue_Callbacks {
|
|
53 |
|
54 |
throw new Exception();
|
55 |
}
|
56 |
-
|
57 |
-
$log->notice( sprintf( 'PDF successfully generated and saved to %s', $results ) );
|
58 |
}
|
59 |
|
60 |
/**
|
53 |
|
54 |
throw new Exception();
|
55 |
}
|
|
|
|
|
56 |
}
|
57 |
|
58 |
/**
|
src/assets/languages/gravity-forms-pdf-extended.pot
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the Gravity PDF package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
1 |
+
# Copyright (C) 2021 Gravity PDF
|
2 |
# This file is distributed under the same license as the Gravity PDF package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
vendor/autoload.php
CHANGED
File without changes
|
vendor/composer/ClassLoader.php
CHANGED
@@ -42,75 +42,30 @@ namespace Composer\Autoload;
|
|
42 |
*/
|
43 |
class ClassLoader
|
44 |
{
|
45 |
-
/** @var ?string */
|
46 |
private $vendorDir;
|
47 |
|
48 |
// PSR-4
|
49 |
-
/**
|
50 |
-
* @var array[]
|
51 |
-
* @psalm-var array<string, array<string, int>>
|
52 |
-
*/
|
53 |
private $prefixLengthsPsr4 = array();
|
54 |
-
/**
|
55 |
-
* @var array[]
|
56 |
-
* @psalm-var array<string, array<int, string>>
|
57 |
-
*/
|
58 |
private $prefixDirsPsr4 = array();
|
59 |
-
/**
|
60 |
-
* @var array[]
|
61 |
-
* @psalm-var array<string, string>
|
62 |
-
*/
|
63 |
private $fallbackDirsPsr4 = array();
|
64 |
|
65 |
// PSR-0
|
66 |
-
/**
|
67 |
-
* @var array[]
|
68 |
-
* @psalm-var array<string, array<string, string[]>>
|
69 |
-
*/
|
70 |
private $prefixesPsr0 = array();
|
71 |
-
/**
|
72 |
-
* @var array[]
|
73 |
-
* @psalm-var array<string, string>
|
74 |
-
*/
|
75 |
private $fallbackDirsPsr0 = array();
|
76 |
|
77 |
-
/** @var bool */
|
78 |
private $useIncludePath = false;
|
79 |
-
|
80 |
-
/**
|
81 |
-
* @var string[]
|
82 |
-
* @psalm-var array<string, string>
|
83 |
-
*/
|
84 |
private $classMap = array();
|
85 |
-
|
86 |
-
/** @var bool */
|
87 |
private $classMapAuthoritative = false;
|
88 |
-
|
89 |
-
/**
|
90 |
-
* @var bool[]
|
91 |
-
* @psalm-var array<string, bool>
|
92 |
-
*/
|
93 |
private $missingClasses = array();
|
94 |
-
|
95 |
-
/** @var ?string */
|
96 |
private $apcuPrefix;
|
97 |
|
98 |
-
/**
|
99 |
-
* @var self[]
|
100 |
-
*/
|
101 |
private static $registeredLoaders = array();
|
102 |
|
103 |
-
/**
|
104 |
-
* @param ?string $vendorDir
|
105 |
-
*/
|
106 |
public function __construct($vendorDir = null)
|
107 |
{
|
108 |
$this->vendorDir = $vendorDir;
|
109 |
}
|
110 |
|
111 |
-
/**
|
112 |
-
* @return string[]
|
113 |
-
*/
|
114 |
public function getPrefixes()
|
115 |
{
|
116 |
if (!empty($this->prefixesPsr0)) {
|
@@ -120,47 +75,28 @@ class ClassLoader
|
|
120 |
return array();
|
121 |
}
|
122 |
|
123 |
-
/**
|
124 |
-
* @return array[]
|
125 |
-
* @psalm-return array<string, array<int, string>>
|
126 |
-
*/
|
127 |
public function getPrefixesPsr4()
|
128 |
{
|
129 |
return $this->prefixDirsPsr4;
|
130 |
}
|
131 |
|
132 |
-
/**
|
133 |
-
* @return array[]
|
134 |
-
* @psalm-return array<string, string>
|
135 |
-
*/
|
136 |
public function getFallbackDirs()
|
137 |
{
|
138 |
return $this->fallbackDirsPsr0;
|
139 |
}
|
140 |
|
141 |
-
/**
|
142 |
-
* @return array[]
|
143 |
-
* @psalm-return array<string, string>
|
144 |
-
*/
|
145 |
public function getFallbackDirsPsr4()
|
146 |
{
|
147 |
return $this->fallbackDirsPsr4;
|
148 |
}
|
149 |
|
150 |
-
/**
|
151 |
-
* @return string[] Array of classname => path
|
152 |
-
* @psalm-return array<string, string>
|
153 |
-
*/
|
154 |
public function getClassMap()
|
155 |
{
|
156 |
return $this->classMap;
|
157 |
}
|
158 |
|
159 |
/**
|
160 |
-
* @param
|
161 |
-
* @psalm-param array<string, string> $classMap
|
162 |
-
*
|
163 |
-
* @return void
|
164 |
*/
|
165 |
public function addClassMap(array $classMap)
|
166 |
{
|
@@ -175,11 +111,9 @@ class ClassLoader
|
|
175 |
* Registers a set of PSR-0 directories for a given prefix, either
|
176 |
* appending or prepending to the ones previously set for this prefix.
|
177 |
*
|
178 |
-
* @param string
|
179 |
-
* @param
|
180 |
-
* @param bool
|
181 |
-
*
|
182 |
-
* @return void
|
183 |
*/
|
184 |
public function add($prefix, $paths, $prepend = false)
|
185 |
{
|
@@ -222,13 +156,11 @@ class ClassLoader
|
|
222 |
* Registers a set of PSR-4 directories for a given namespace, either
|
223 |
* appending or prepending to the ones previously set for this namespace.
|
224 |
*
|
225 |
-
* @param string
|
226 |
-
* @param
|
227 |
-
* @param bool
|
228 |
*
|
229 |
* @throws \InvalidArgumentException
|
230 |
-
*
|
231 |
-
* @return void
|
232 |
*/
|
233 |
public function addPsr4($prefix, $paths, $prepend = false)
|
234 |
{
|
@@ -272,10 +204,8 @@ class ClassLoader
|
|
272 |
* Registers a set of PSR-0 directories for a given prefix,
|
273 |
* replacing any others previously set for this prefix.
|
274 |
*
|
275 |
-
* @param string
|
276 |
-
* @param
|
277 |
-
*
|
278 |
-
* @return void
|
279 |
*/
|
280 |
public function set($prefix, $paths)
|
281 |
{
|
@@ -290,12 +220,10 @@ class ClassLoader
|
|
290 |
* Registers a set of PSR-4 directories for a given namespace,
|
291 |
* replacing any others previously set for this namespace.
|
292 |
*
|
293 |
-
* @param string
|
294 |
-
* @param
|
295 |
*
|
296 |
* @throws \InvalidArgumentException
|
297 |
-
*
|
298 |
-
* @return void
|
299 |
*/
|
300 |
public function setPsr4($prefix, $paths)
|
301 |
{
|
@@ -315,8 +243,6 @@ class ClassLoader
|
|
315 |
* Turns on searching the include path for class files.
|
316 |
*
|
317 |
* @param bool $useIncludePath
|
318 |
-
*
|
319 |
-
* @return void
|
320 |
*/
|
321 |
public function setUseIncludePath($useIncludePath)
|
322 |
{
|
@@ -339,8 +265,6 @@ class ClassLoader
|
|
339 |
* that have not been registered with the class map.
|
340 |
*
|
341 |
* @param bool $classMapAuthoritative
|
342 |
-
*
|
343 |
-
* @return void
|
344 |
*/
|
345 |
public function setClassMapAuthoritative($classMapAuthoritative)
|
346 |
{
|
@@ -361,8 +285,6 @@ class ClassLoader
|
|
361 |
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
362 |
*
|
363 |
* @param string|null $apcuPrefix
|
364 |
-
*
|
365 |
-
* @return void
|
366 |
*/
|
367 |
public function setApcuPrefix($apcuPrefix)
|
368 |
{
|
@@ -383,8 +305,6 @@ class ClassLoader
|
|
383 |
* Registers this instance as an autoloader.
|
384 |
*
|
385 |
* @param bool $prepend Whether to prepend the autoloader or not
|
386 |
-
*
|
387 |
-
* @return void
|
388 |
*/
|
389 |
public function register($prepend = false)
|
390 |
{
|
@@ -404,8 +324,6 @@ class ClassLoader
|
|
404 |
|
405 |
/**
|
406 |
* Unregisters this instance as an autoloader.
|
407 |
-
*
|
408 |
-
* @return void
|
409 |
*/
|
410 |
public function unregister()
|
411 |
{
|
@@ -485,11 +403,6 @@ class ClassLoader
|
|
485 |
return self::$registeredLoaders;
|
486 |
}
|
487 |
|
488 |
-
/**
|
489 |
-
* @param string $class
|
490 |
-
* @param string $ext
|
491 |
-
* @return string|false
|
492 |
-
*/
|
493 |
private function findFileWithExtension($class, $ext)
|
494 |
{
|
495 |
// PSR-4 lookup
|
@@ -561,10 +474,6 @@ class ClassLoader
|
|
561 |
* Scope isolated include.
|
562 |
*
|
563 |
* Prevents access to $this/self from included files.
|
564 |
-
*
|
565 |
-
* @param string $file
|
566 |
-
* @return void
|
567 |
-
* @private
|
568 |
*/
|
569 |
function includeFile($file)
|
570 |
{
|
42 |
*/
|
43 |
class ClassLoader
|
44 |
{
|
|
|
45 |
private $vendorDir;
|
46 |
|
47 |
// PSR-4
|
|
|
|
|
|
|
|
|
48 |
private $prefixLengthsPsr4 = array();
|
|
|
|
|
|
|
|
|
49 |
private $prefixDirsPsr4 = array();
|
|
|
|
|
|
|
|
|
50 |
private $fallbackDirsPsr4 = array();
|
51 |
|
52 |
// PSR-0
|
|
|
|
|
|
|
|
|
53 |
private $prefixesPsr0 = array();
|
|
|
|
|
|
|
|
|
54 |
private $fallbackDirsPsr0 = array();
|
55 |
|
|
|
56 |
private $useIncludePath = false;
|
|
|
|
|
|
|
|
|
|
|
57 |
private $classMap = array();
|
|
|
|
|
58 |
private $classMapAuthoritative = false;
|
|
|
|
|
|
|
|
|
|
|
59 |
private $missingClasses = array();
|
|
|
|
|
60 |
private $apcuPrefix;
|
61 |
|
|
|
|
|
|
|
62 |
private static $registeredLoaders = array();
|
63 |
|
|
|
|
|
|
|
64 |
public function __construct($vendorDir = null)
|
65 |
{
|
66 |
$this->vendorDir = $vendorDir;
|
67 |
}
|
68 |
|
|
|
|
|
|
|
69 |
public function getPrefixes()
|
70 |
{
|
71 |
if (!empty($this->prefixesPsr0)) {
|
75 |
return array();
|
76 |
}
|
77 |
|
|
|
|
|
|
|
|
|
78 |
public function getPrefixesPsr4()
|
79 |
{
|
80 |
return $this->prefixDirsPsr4;
|
81 |
}
|
82 |
|
|
|
|
|
|
|
|
|
83 |
public function getFallbackDirs()
|
84 |
{
|
85 |
return $this->fallbackDirsPsr0;
|
86 |
}
|
87 |
|
|
|
|
|
|
|
|
|
88 |
public function getFallbackDirsPsr4()
|
89 |
{
|
90 |
return $this->fallbackDirsPsr4;
|
91 |
}
|
92 |
|
|
|
|
|
|
|
|
|
93 |
public function getClassMap()
|
94 |
{
|
95 |
return $this->classMap;
|
96 |
}
|
97 |
|
98 |
/**
|
99 |
+
* @param array $classMap Class to filename map
|
|
|
|
|
|
|
100 |
*/
|
101 |
public function addClassMap(array $classMap)
|
102 |
{
|
111 |
* Registers a set of PSR-0 directories for a given prefix, either
|
112 |
* appending or prepending to the ones previously set for this prefix.
|
113 |
*
|
114 |
+
* @param string $prefix The prefix
|
115 |
+
* @param array|string $paths The PSR-0 root directories
|
116 |
+
* @param bool $prepend Whether to prepend the directories
|
|
|
|
|
117 |
*/
|
118 |
public function add($prefix, $paths, $prepend = false)
|
119 |
{
|
156 |
* Registers a set of PSR-4 directories for a given namespace, either
|
157 |
* appending or prepending to the ones previously set for this namespace.
|
158 |
*
|
159 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
160 |
+
* @param array|string $paths The PSR-4 base directories
|
161 |
+
* @param bool $prepend Whether to prepend the directories
|
162 |
*
|
163 |
* @throws \InvalidArgumentException
|
|
|
|
|
164 |
*/
|
165 |
public function addPsr4($prefix, $paths, $prepend = false)
|
166 |
{
|
204 |
* Registers a set of PSR-0 directories for a given prefix,
|
205 |
* replacing any others previously set for this prefix.
|
206 |
*
|
207 |
+
* @param string $prefix The prefix
|
208 |
+
* @param array|string $paths The PSR-0 base directories
|
|
|
|
|
209 |
*/
|
210 |
public function set($prefix, $paths)
|
211 |
{
|
220 |
* Registers a set of PSR-4 directories for a given namespace,
|
221 |
* replacing any others previously set for this namespace.
|
222 |
*
|
223 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
224 |
+
* @param array|string $paths The PSR-4 base directories
|
225 |
*
|
226 |
* @throws \InvalidArgumentException
|
|
|
|
|
227 |
*/
|
228 |
public function setPsr4($prefix, $paths)
|
229 |
{
|
243 |
* Turns on searching the include path for class files.
|
244 |
*
|
245 |
* @param bool $useIncludePath
|
|
|
|
|
246 |
*/
|
247 |
public function setUseIncludePath($useIncludePath)
|
248 |
{
|
265 |
* that have not been registered with the class map.
|
266 |
*
|
267 |
* @param bool $classMapAuthoritative
|
|
|
|
|
268 |
*/
|
269 |
public function setClassMapAuthoritative($classMapAuthoritative)
|
270 |
{
|
285 |
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
286 |
*
|
287 |
* @param string|null $apcuPrefix
|
|
|
|
|
288 |
*/
|
289 |
public function setApcuPrefix($apcuPrefix)
|
290 |
{
|
305 |
* Registers this instance as an autoloader.
|
306 |
*
|
307 |
* @param bool $prepend Whether to prepend the autoloader or not
|
|
|
|
|
308 |
*/
|
309 |
public function register($prepend = false)
|
310 |
{
|
324 |
|
325 |
/**
|
326 |
* Unregisters this instance as an autoloader.
|
|
|
|
|
327 |
*/
|
328 |
public function unregister()
|
329 |
{
|
403 |
return self::$registeredLoaders;
|
404 |
}
|
405 |
|
|
|
|
|
|
|
|
|
|
|
406 |
private function findFileWithExtension($class, $ext)
|
407 |
{
|
408 |
// PSR-4 lookup
|
474 |
* Scope isolated include.
|
475 |
*
|
476 |
* Prevents access to $this/self from included files.
|
|
|
|
|
|
|
|
|
477 |
*/
|
478 |
function includeFile($file)
|
479 |
{
|
vendor/composer/InstalledVersions.php
CHANGED
@@ -20,25 +20,12 @@ use Composer\Semver\VersionParser;
|
|
20 |
*
|
21 |
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
22 |
*
|
23 |
-
* To require
|
24 |
*/
|
25 |
class InstalledVersions
|
26 |
{
|
27 |
-
/**
|
28 |
-
* @var mixed[]|null
|
29 |
-
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
|
30 |
-
*/
|
31 |
private static $installed;
|
32 |
-
|
33 |
-
/**
|
34 |
-
* @var bool|null
|
35 |
-
*/
|
36 |
private static $canGetVendors;
|
37 |
-
|
38 |
-
/**
|
39 |
-
* @var array[]
|
40 |
-
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
41 |
-
*/
|
42 |
private static $installedByVendor = array();
|
43 |
|
44 |
/**
|
@@ -241,7 +228,7 @@ class InstalledVersions
|
|
241 |
|
242 |
/**
|
243 |
* @return array
|
244 |
-
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string
|
245 |
*/
|
246 |
public static function getRootPackage()
|
247 |
{
|
@@ -255,7 +242,7 @@ class InstalledVersions
|
|
255 |
*
|
256 |
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
257 |
* @return array[]
|
258 |
-
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string
|
259 |
*/
|
260 |
public static function getRawData()
|
261 |
{
|
@@ -278,7 +265,7 @@ class InstalledVersions
|
|
278 |
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
279 |
*
|
280 |
* @return array[]
|
281 |
-
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string
|
282 |
*/
|
283 |
public static function getAllRawData()
|
284 |
{
|
@@ -301,7 +288,7 @@ class InstalledVersions
|
|
301 |
* @param array[] $data A vendor/composer/installed.php data set
|
302 |
* @return void
|
303 |
*
|
304 |
-
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string
|
305 |
*/
|
306 |
public static function reload($data)
|
307 |
{
|
@@ -311,7 +298,7 @@ class InstalledVersions
|
|
311 |
|
312 |
/**
|
313 |
* @return array[]
|
314 |
-
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string
|
315 |
*/
|
316 |
private static function getInstalled()
|
317 |
{
|
20 |
*
|
21 |
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
22 |
*
|
23 |
+
* To require it's presence, you can require `composer-runtime-api ^2.0`
|
24 |
*/
|
25 |
class InstalledVersions
|
26 |
{
|
|
|
|
|
|
|
|
|
27 |
private static $installed;
|
|
|
|
|
|
|
|
|
28 |
private static $canGetVendors;
|
|
|
|
|
|
|
|
|
|
|
29 |
private static $installedByVendor = array();
|
30 |
|
31 |
/**
|
228 |
|
229 |
/**
|
230 |
* @return array
|
231 |
+
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}
|
232 |
*/
|
233 |
public static function getRootPackage()
|
234 |
{
|
242 |
*
|
243 |
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
244 |
* @return array[]
|
245 |
+
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}
|
246 |
*/
|
247 |
public static function getRawData()
|
248 |
{
|
265 |
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
266 |
*
|
267 |
* @return array[]
|
268 |
+
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
|
269 |
*/
|
270 |
public static function getAllRawData()
|
271 |
{
|
288 |
* @param array[] $data A vendor/composer/installed.php data set
|
289 |
* @return void
|
290 |
*
|
291 |
+
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data
|
292 |
*/
|
293 |
public static function reload($data)
|
294 |
{
|
298 |
|
299 |
/**
|
300 |
* @return array[]
|
301 |
+
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
|
302 |
*/
|
303 |
private static function getInstalled()
|
304 |
{
|
vendor/composer/LICENSE
CHANGED
File without changes
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -205,7 +205,6 @@ return array(
|
|
205 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\FileinfoSupportMissing' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/FileinfoSupportMissing.php',
|
206 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IPv4CalculatorMissing' => $baseDir . '/vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php',
|
207 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnSupportMissing' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnSupportMissing.php',
|
208 |
-
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnaConversionFailed' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnaConversionFailed.php',
|
209 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\OffsetOutOfBounds' => $baseDir . '/vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php',
|
210 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\SyntaxError' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/SyntaxError.php',
|
211 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\TemplateCanNotBeExpanded' => $baseDir . '/vendor_prefixed/league/uri/src/Exceptions/TemplateCanNotBeExpanded.php',
|
@@ -216,8 +215,6 @@ return array(
|
|
216 |
'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\IPv4Calculator' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php',
|
217 |
'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\NativeCalculator' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php',
|
218 |
'GFPDF_Vendor\\League\\Uri\\IPv4Normalizer' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Normalizer.php',
|
219 |
-
'GFPDF_Vendor\\League\\Uri\\Idna\\Idna' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Idna/Idna.php',
|
220 |
-
'GFPDF_Vendor\\League\\Uri\\Idna\\IdnaInfo' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Idna/IdnaInfo.php',
|
221 |
'GFPDF_Vendor\\League\\Uri\\QueryString' => $baseDir . '/vendor_prefixed/league/uri-components/src/QueryString.php',
|
222 |
'GFPDF_Vendor\\League\\Uri\\Uri' => $baseDir . '/vendor_prefixed/league/uri/src/Uri.php',
|
223 |
'GFPDF_Vendor\\League\\Uri\\UriInfo' => $baseDir . '/vendor_prefixed/league/uri/src/UriInfo.php',
|
@@ -434,7 +431,6 @@ return array(
|
|
434 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Html' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Html.php',
|
435 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Mpdf' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Mpdf.php',
|
436 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Png' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Png.php',
|
437 |
-
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Svg' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Svg.php',
|
438 |
'GFPDF_Vendor\\Mpdf\\QrCode\\QrCode' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/QrCode.php',
|
439 |
'GFPDF_Vendor\\Mpdf\\QrCode\\QrCodeException' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/QrCodeException.php',
|
440 |
'GFPDF_Vendor\\Mpdf\\RemoteContentFetcher' => $baseDir . '/vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php',
|
205 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\FileinfoSupportMissing' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/FileinfoSupportMissing.php',
|
206 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IPv4CalculatorMissing' => $baseDir . '/vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php',
|
207 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnSupportMissing' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnSupportMissing.php',
|
|
|
208 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\OffsetOutOfBounds' => $baseDir . '/vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php',
|
209 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\SyntaxError' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/SyntaxError.php',
|
210 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\TemplateCanNotBeExpanded' => $baseDir . '/vendor_prefixed/league/uri/src/Exceptions/TemplateCanNotBeExpanded.php',
|
215 |
'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\IPv4Calculator' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php',
|
216 |
'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\NativeCalculator' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php',
|
217 |
'GFPDF_Vendor\\League\\Uri\\IPv4Normalizer' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Normalizer.php',
|
|
|
|
|
218 |
'GFPDF_Vendor\\League\\Uri\\QueryString' => $baseDir . '/vendor_prefixed/league/uri-components/src/QueryString.php',
|
219 |
'GFPDF_Vendor\\League\\Uri\\Uri' => $baseDir . '/vendor_prefixed/league/uri/src/Uri.php',
|
220 |
'GFPDF_Vendor\\League\\Uri\\UriInfo' => $baseDir . '/vendor_prefixed/league/uri/src/UriInfo.php',
|
431 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Html' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Html.php',
|
432 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Mpdf' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Mpdf.php',
|
433 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Png' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Png.php',
|
|
|
434 |
'GFPDF_Vendor\\Mpdf\\QrCode\\QrCode' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/QrCode.php',
|
435 |
'GFPDF_Vendor\\Mpdf\\QrCode\\QrCodeException' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/QrCodeException.php',
|
436 |
'GFPDF_Vendor\\Mpdf\\RemoteContentFetcher' => $baseDir . '/vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php',
|
vendor/composer/autoload_namespaces.php
CHANGED
File without changes
|
vendor/composer/autoload_psr4.php
CHANGED
File without changes
|
vendor/composer/autoload_real.php
CHANGED
File without changes
|
vendor/composer/autoload_static.php
CHANGED
@@ -233,7 +233,6 @@ class ComposerStaticInitGravityPDFPlugin
|
|
233 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\FileinfoSupportMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/FileinfoSupportMissing.php',
|
234 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IPv4CalculatorMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php',
|
235 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnSupportMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnSupportMissing.php',
|
236 |
-
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnaConversionFailed' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnaConversionFailed.php',
|
237 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\OffsetOutOfBounds' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php',
|
238 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\SyntaxError' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/SyntaxError.php',
|
239 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\TemplateCanNotBeExpanded' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/Exceptions/TemplateCanNotBeExpanded.php',
|
@@ -244,8 +243,6 @@ class ComposerStaticInitGravityPDFPlugin
|
|
244 |
'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\IPv4Calculator' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php',
|
245 |
'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\NativeCalculator' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php',
|
246 |
'GFPDF_Vendor\\League\\Uri\\IPv4Normalizer' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Normalizer.php',
|
247 |
-
'GFPDF_Vendor\\League\\Uri\\Idna\\Idna' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Idna/Idna.php',
|
248 |
-
'GFPDF_Vendor\\League\\Uri\\Idna\\IdnaInfo' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Idna/IdnaInfo.php',
|
249 |
'GFPDF_Vendor\\League\\Uri\\QueryString' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/QueryString.php',
|
250 |
'GFPDF_Vendor\\League\\Uri\\Uri' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/Uri.php',
|
251 |
'GFPDF_Vendor\\League\\Uri\\UriInfo' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/UriInfo.php',
|
@@ -462,7 +459,6 @@ class ComposerStaticInitGravityPDFPlugin
|
|
462 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Html' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Html.php',
|
463 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Mpdf' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Mpdf.php',
|
464 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Png' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Png.php',
|
465 |
-
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Svg' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Svg.php',
|
466 |
'GFPDF_Vendor\\Mpdf\\QrCode\\QrCode' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/QrCode.php',
|
467 |
'GFPDF_Vendor\\Mpdf\\QrCode\\QrCodeException' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/QrCodeException.php',
|
468 |
'GFPDF_Vendor\\Mpdf\\RemoteContentFetcher' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php',
|
233 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\FileinfoSupportMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/FileinfoSupportMissing.php',
|
234 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IPv4CalculatorMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php',
|
235 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnSupportMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnSupportMissing.php',
|
|
|
236 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\OffsetOutOfBounds' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php',
|
237 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\SyntaxError' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/SyntaxError.php',
|
238 |
'GFPDF_Vendor\\League\\Uri\\Exceptions\\TemplateCanNotBeExpanded' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/Exceptions/TemplateCanNotBeExpanded.php',
|
243 |
'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\IPv4Calculator' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php',
|
244 |
'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\NativeCalculator' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php',
|
245 |
'GFPDF_Vendor\\League\\Uri\\IPv4Normalizer' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Normalizer.php',
|
|
|
|
|
246 |
'GFPDF_Vendor\\League\\Uri\\QueryString' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/QueryString.php',
|
247 |
'GFPDF_Vendor\\League\\Uri\\Uri' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/Uri.php',
|
248 |
'GFPDF_Vendor\\League\\Uri\\UriInfo' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/UriInfo.php',
|
459 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Html' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Html.php',
|
460 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Mpdf' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Mpdf.php',
|
461 |
'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Png' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Png.php',
|
|
|
462 |
'GFPDF_Vendor\\Mpdf\\QrCode\\QrCode' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/QrCode.php',
|
463 |
'GFPDF_Vendor\\Mpdf\\QrCode\\QrCodeException' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/QrCodeException.php',
|
464 |
'GFPDF_Vendor\\Mpdf\\RemoteContentFetcher' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php',
|
vendor/composer/installed.json
CHANGED
@@ -56,33 +56,33 @@
|
|
56 |
},
|
57 |
{
|
58 |
"name": "league/uri",
|
59 |
-
"version": "6.
|
60 |
-
"version_normalized": "6.
|
61 |
"source": {
|
62 |
"type": "git",
|
63 |
"url": "https://github.com/thephpleague/uri.git",
|
64 |
-
"reference": "
|
65 |
},
|
66 |
"dist": {
|
67 |
"type": "zip",
|
68 |
-
"url": "https://api.github.com/repos/thephpleague/uri/zipball/
|
69 |
-
"reference": "
|
70 |
"shasum": ""
|
71 |
},
|
72 |
"require": {
|
73 |
"ext-json": "*",
|
74 |
-
"league/uri-interfaces": "^2.
|
75 |
-
"php": "
|
76 |
"psr/http-message": "^1.0"
|
77 |
},
|
78 |
"conflict": {
|
79 |
"league/uri-schemes": "^1.0"
|
80 |
},
|
81 |
"require-dev": {
|
82 |
-
"friendsofphp/php-cs-fixer": "^2.
|
83 |
-
"phpstan/phpstan": "^0.12
|
84 |
-
"phpstan/phpstan-phpunit": "^0.12
|
85 |
-
"phpstan/phpstan-strict-rules": "^0.12
|
86 |
"phpunit/phpunit": "^8.0 || ^9.0",
|
87 |
"psr/http-factory": "^1.0"
|
88 |
},
|
@@ -92,7 +92,7 @@
|
|
92 |
"league/uri-components": "Needed to easily manipulate URI objects",
|
93 |
"psr/http-factory": "Needed to use the URI factory"
|
94 |
},
|
95 |
-
"time": "
|
96 |
"type": "library",
|
97 |
"extra": {
|
98 |
"branch-alias": {
|
@@ -143,7 +143,7 @@
|
|
143 |
"docs": "https://uri.thephpleague.com",
|
144 |
"forum": "https://thephpleague.slack.com",
|
145 |
"issues": "https://github.com/thephpleague/uri/issues",
|
146 |
-
"source": "https://github.com/thephpleague/uri/tree/6.
|
147 |
},
|
148 |
"funding": [
|
149 |
{
|
@@ -155,34 +155,34 @@
|
|
155 |
},
|
156 |
{
|
157 |
"name": "league/uri-components",
|
158 |
-
"version": "2.
|
159 |
-
"version_normalized": "2.
|
160 |
"source": {
|
161 |
"type": "git",
|
162 |
"url": "https://github.com/thephpleague/uri-components.git",
|
163 |
-
"reference": "
|
164 |
},
|
165 |
"dist": {
|
166 |
"type": "zip",
|
167 |
-
"url": "https://api.github.com/repos/thephpleague/uri-components/zipball/
|
168 |
-
"reference": "
|
169 |
"shasum": ""
|
170 |
},
|
171 |
"require": {
|
172 |
"ext-json": "*",
|
173 |
-
"league/uri-interfaces": "^2.
|
174 |
"php": "^7.3 || ^8.0",
|
175 |
"psr/http-message": "^1.0"
|
176 |
},
|
177 |
"require-dev": {
|
178 |
-
"friendsofphp/php-cs-fixer": "^2.
|
179 |
"guzzlehttp/psr7": "^1.4.2",
|
180 |
-
"laminas/laminas-diactoros": "^2.
|
181 |
"league/uri": "^6.0",
|
182 |
-
"phpstan/phpstan": "^0.12
|
183 |
-
"phpstan/phpstan-phpunit": "^0.12
|
184 |
-
"phpstan/phpstan-strict-rules": "^0.12
|
185 |
-
"phpunit/phpunit": "^9.
|
186 |
},
|
187 |
"suggest": {
|
188 |
"ext-fileinfo": "Needed to create Data URI from a filepath",
|
@@ -193,7 +193,7 @@
|
|
193 |
"php-64bit": "to improve handle IPV4 parsing",
|
194 |
"psr/http-message-implementation": "to allow manipulating PSR-7 Uri objects"
|
195 |
},
|
196 |
-
"time": "2021-
|
197 |
"type": "library",
|
198 |
"extra": {
|
199 |
"branch-alias": {
|
@@ -235,7 +235,7 @@
|
|
235 |
],
|
236 |
"support": {
|
237 |
"issues": "https://github.com/thephpleague/uri-components/issues",
|
238 |
-
"source": "https://github.com/thephpleague/uri-components/tree/2.
|
239 |
},
|
240 |
"funding": [
|
241 |
{
|
@@ -247,35 +247,30 @@
|
|
247 |
},
|
248 |
{
|
249 |
"name": "league/uri-interfaces",
|
250 |
-
"version": "2.
|
251 |
-
"version_normalized": "2.
|
252 |
"source": {
|
253 |
"type": "git",
|
254 |
"url": "https://github.com/thephpleague/uri-interfaces.git",
|
255 |
-
"reference": "
|
256 |
},
|
257 |
"dist": {
|
258 |
"type": "zip",
|
259 |
-
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/
|
260 |
-
"reference": "
|
261 |
"shasum": ""
|
262 |
},
|
263 |
"require": {
|
264 |
"ext-json": "*",
|
265 |
-
"php": "^7.
|
266 |
},
|
267 |
"require-dev": {
|
268 |
-
"friendsofphp/php-cs-fixer": "^2.
|
269 |
-
"phpstan/phpstan": "^0.12
|
270 |
-
"phpstan/phpstan-phpunit": "^0.12
|
271 |
-
"phpstan/phpstan-strict-rules": "^0.12
|
272 |
-
"phpunit/phpunit": "^8.5.15 || ^9.5"
|
273 |
-
},
|
274 |
-
"suggest": {
|
275 |
-
"ext-intl": "to use the IDNA feature",
|
276 |
-
"symfony/intl": "to use the IDNA feature via Symfony Polyfill"
|
277 |
},
|
278 |
-
"time": "
|
279 |
"type": "library",
|
280 |
"extra": {
|
281 |
"branch-alias": {
|
@@ -309,7 +304,7 @@
|
|
309 |
],
|
310 |
"support": {
|
311 |
"issues": "https://github.com/thephpleague/uri-interfaces/issues",
|
312 |
-
"source": "https://github.com/thephpleague/uri-interfaces/tree/2.
|
313 |
},
|
314 |
"funding": [
|
315 |
{
|
@@ -321,17 +316,17 @@
|
|
321 |
},
|
322 |
{
|
323 |
"name": "masterminds/html5",
|
324 |
-
"version": "2.7.
|
325 |
-
"version_normalized": "2.7.
|
326 |
"source": {
|
327 |
"type": "git",
|
328 |
"url": "https://github.com/Masterminds/html5-php.git",
|
329 |
-
"reference": "
|
330 |
},
|
331 |
"dist": {
|
332 |
"type": "zip",
|
333 |
-
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/
|
334 |
-
"reference": "
|
335 |
"shasum": ""
|
336 |
},
|
337 |
"require": {
|
@@ -341,9 +336,9 @@
|
|
341 |
"php": ">=5.3.0"
|
342 |
},
|
343 |
"require-dev": {
|
344 |
-
"phpunit/phpunit": "^4.8.35
|
345 |
},
|
346 |
-
"time": "
|
347 |
"type": "library",
|
348 |
"extra": {
|
349 |
"branch-alias": {
|
@@ -387,31 +382,31 @@
|
|
387 |
],
|
388 |
"support": {
|
389 |
"issues": "https://github.com/Masterminds/html5-php/issues",
|
390 |
-
"source": "https://github.com/Masterminds/html5-php/tree/2.7.
|
391 |
},
|
392 |
"install-path": "../masterminds/html5"
|
393 |
},
|
394 |
{
|
395 |
"name": "monolog/monolog",
|
396 |
-
"version": "2.
|
397 |
-
"version_normalized": "2.
|
398 |
"source": {
|
399 |
"type": "git",
|
400 |
"url": "https://github.com/Seldaek/monolog.git",
|
401 |
-
"reference": "
|
402 |
},
|
403 |
"dist": {
|
404 |
"type": "zip",
|
405 |
-
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/
|
406 |
-
"reference": "
|
407 |
"shasum": ""
|
408 |
},
|
409 |
"require": {
|
410 |
"php": ">=7.2",
|
411 |
-
"psr/log": "^1.0.1
|
412 |
},
|
413 |
"provide": {
|
414 |
-
"psr/log-implementation": "1.0.0
|
415 |
},
|
416 |
"require-dev": {
|
417 |
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
|
@@ -419,14 +414,14 @@
|
|
419 |
"elasticsearch/elasticsearch": "^7",
|
420 |
"graylog2/gelf-php": "^1.4.2",
|
421 |
"mongodb/mongodb": "^1.8",
|
422 |
-
"php-amqplib/php-amqplib": "~2.4
|
423 |
"php-console/php-console": "^3.1.3",
|
424 |
"phpspec/prophecy": "^1.6.1",
|
425 |
-
"phpstan/phpstan": "^0.12.
|
426 |
"phpunit/phpunit": "^8.5",
|
427 |
"predis/predis": "^1.1",
|
428 |
"rollbar/rollbar": "^1.3",
|
429 |
-
"ruflin/elastica": ">=0.90
|
430 |
"swiftmailer/swiftmailer": "^5.3|^6.0"
|
431 |
},
|
432 |
"suggest": {
|
@@ -434,11 +429,8 @@
|
|
434 |
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
|
435 |
"elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
|
436 |
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
|
437 |
-
"ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
|
438 |
"ext-mbstring": "Allow to work properly with unicode symbols",
|
439 |
"ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
|
440 |
-
"ext-openssl": "Required to send log messages using SSL",
|
441 |
-
"ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
|
442 |
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
443 |
"mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
|
444 |
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
@@ -446,7 +438,7 @@
|
|
446 |
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
447 |
"ruflin/elastica": "Allow sending log messages to an Elastic Search server"
|
448 |
},
|
449 |
-
"time": "
|
450 |
"type": "library",
|
451 |
"extra": {
|
452 |
"branch-alias": {
|
@@ -479,7 +471,7 @@
|
|
479 |
],
|
480 |
"support": {
|
481 |
"issues": "https://github.com/Seldaek/monolog/issues",
|
482 |
-
"source": "https://github.com/Seldaek/monolog/tree/2.
|
483 |
},
|
484 |
"funding": [
|
485 |
{
|
@@ -495,17 +487,17 @@
|
|
495 |
},
|
496 |
{
|
497 |
"name": "mpdf/mpdf",
|
498 |
-
"version": "v8.0.
|
499 |
-
"version_normalized": "8.0.
|
500 |
"source": {
|
501 |
"type": "git",
|
502 |
"url": "https://github.com/mpdf/mpdf.git",
|
503 |
-
"reference": "
|
504 |
},
|
505 |
"dist": {
|
506 |
"type": "zip",
|
507 |
-
"url": "https://api.github.com/repos/mpdf/mpdf/zipball/
|
508 |
-
"reference": "
|
509 |
"shasum": ""
|
510 |
},
|
511 |
"require": {
|
@@ -513,23 +505,23 @@
|
|
513 |
"ext-mbstring": "*",
|
514 |
"myclabs/deep-copy": "^1.7",
|
515 |
"paragonie/random_compat": "^1.4|^2.0|^9.99.99",
|
516 |
-
"php": "^5.6 || ^7.0 || ~8.0.0
|
517 |
-
"psr/log": "^1.0
|
518 |
"setasign/fpdi": "^2.1"
|
519 |
},
|
520 |
"require-dev": {
|
521 |
"mockery/mockery": "^1.3.0",
|
522 |
"mpdf/qrcode": "^1.1.0",
|
|
|
523 |
"squizlabs/php_codesniffer": "^3.5.0",
|
524 |
-
"tracy/tracy": "^2.4"
|
525 |
-
"yoast/phpunit-polyfills": "^1.0"
|
526 |
},
|
527 |
"suggest": {
|
528 |
"ext-bcmath": "Needed for generation of some types of barcodes",
|
529 |
"ext-xml": "Needed mainly for SVG manipulation",
|
530 |
"ext-zlib": "Needed for compression of embedded resources, such as fonts"
|
531 |
},
|
532 |
-
"time": "
|
533 |
"type": "library",
|
534 |
"installation-source": "dist",
|
535 |
"autoload": {
|
@@ -573,17 +565,17 @@
|
|
573 |
},
|
574 |
{
|
575 |
"name": "mpdf/qrcode",
|
576 |
-
"version": "v1.
|
577 |
-
"version_normalized": "1.
|
578 |
"source": {
|
579 |
"type": "git",
|
580 |
"url": "https://github.com/mpdf/qrcode.git",
|
581 |
-
"reference": "
|
582 |
},
|
583 |
"dist": {
|
584 |
"type": "zip",
|
585 |
-
"url": "https://api.github.com/repos/mpdf/qrcode/zipball/
|
586 |
-
"reference": "
|
587 |
"shasum": ""
|
588 |
},
|
589 |
"require": {
|
@@ -592,15 +584,14 @@
|
|
592 |
},
|
593 |
"require-dev": {
|
594 |
"mockery/mockery": "^0.9.5",
|
|
|
595 |
"squizlabs/php_codesniffer": "^3.4",
|
596 |
-
"tracy/tracy": "^2.5"
|
597 |
-
"yoast/phpunit-polyfills": "^1.0"
|
598 |
},
|
599 |
"suggest": {
|
600 |
-
"ext-gd": "To output QR codes to PNG files"
|
601 |
-
"ext-simplexml": "To output QR codes to SVG files"
|
602 |
},
|
603 |
-
"time": "
|
604 |
"type": "library",
|
605 |
"installation-source": "dist",
|
606 |
"autoload": {
|
@@ -632,14 +623,8 @@
|
|
632 |
],
|
633 |
"support": {
|
634 |
"issues": "https://github.com/mpdf/qrcode/issues",
|
635 |
-
"source": "https://github.com/mpdf/qrcode/tree/v1.
|
636 |
},
|
637 |
-
"funding": [
|
638 |
-
{
|
639 |
-
"url": "https://www.paypal.me/mpdf",
|
640 |
-
"type": "custom"
|
641 |
-
}
|
642 |
-
],
|
643 |
"install-path": "../mpdf/qrcode"
|
644 |
},
|
645 |
{
|
@@ -660,6 +645,9 @@
|
|
660 |
"require": {
|
661 |
"php": "^7.1 || ^8.0"
|
662 |
},
|
|
|
|
|
|
|
663 |
"require-dev": {
|
664 |
"doctrine/collections": "^1.0",
|
665 |
"doctrine/common": "^2.6",
|
@@ -811,23 +799,23 @@
|
|
811 |
},
|
812 |
{
|
813 |
"name": "psr/log",
|
814 |
-
"version": "1.1.
|
815 |
-
"version_normalized": "1.1.
|
816 |
"source": {
|
817 |
"type": "git",
|
818 |
"url": "https://github.com/php-fig/log.git",
|
819 |
-
"reference": "
|
820 |
},
|
821 |
"dist": {
|
822 |
"type": "zip",
|
823 |
-
"url": "https://api.github.com/repos/php-fig/log/zipball/
|
824 |
-
"reference": "
|
825 |
"shasum": ""
|
826 |
},
|
827 |
"require": {
|
828 |
"php": ">=5.3.0"
|
829 |
},
|
830 |
-
"time": "
|
831 |
"type": "library",
|
832 |
"extra": {
|
833 |
"branch-alias": {
|
@@ -847,7 +835,7 @@
|
|
847 |
"authors": [
|
848 |
{
|
849 |
"name": "PHP-FIG",
|
850 |
-
"homepage": "
|
851 |
}
|
852 |
],
|
853 |
"description": "Common interface for logging libraries",
|
@@ -858,7 +846,7 @@
|
|
858 |
"psr-3"
|
859 |
],
|
860 |
"support": {
|
861 |
-
"source": "https://github.com/php-fig/log/tree/1.1.
|
862 |
},
|
863 |
"install-path": "../psr/log"
|
864 |
},
|
@@ -988,17 +976,17 @@
|
|
988 |
},
|
989 |
{
|
990 |
"name": "spatie/url-signer",
|
991 |
-
"version": "1.2.
|
992 |
-
"version_normalized": "1.2.
|
993 |
"source": {
|
994 |
"type": "git",
|
995 |
"url": "https://github.com/spatie/url-signer.git",
|
996 |
-
"reference": "
|
997 |
},
|
998 |
"dist": {
|
999 |
"type": "zip",
|
1000 |
-
"url": "https://api.github.com/repos/spatie/url-signer/zipball/
|
1001 |
-
"reference": "
|
1002 |
"shasum": ""
|
1003 |
},
|
1004 |
"require": {
|
@@ -1009,7 +997,7 @@
|
|
1009 |
"require-dev": {
|
1010 |
"phpunit/phpunit": "^8.0|^9.0"
|
1011 |
},
|
1012 |
-
"time": "2021-
|
1013 |
"type": "library",
|
1014 |
"extra": {
|
1015 |
"branch-alias": {
|
@@ -1045,7 +1033,7 @@
|
|
1045 |
],
|
1046 |
"support": {
|
1047 |
"issues": "https://github.com/spatie/url-signer/issues",
|
1048 |
-
"source": "https://github.com/spatie/url-signer/tree/1.2.
|
1049 |
},
|
1050 |
"install-path": "../spatie/url-signer"
|
1051 |
}
|
56 |
},
|
57 |
{
|
58 |
"name": "league/uri",
|
59 |
+
"version": "6.4.0",
|
60 |
+
"version_normalized": "6.4.0.0",
|
61 |
"source": {
|
62 |
"type": "git",
|
63 |
"url": "https://github.com/thephpleague/uri.git",
|
64 |
+
"reference": "09da64118eaf4c5d52f9923a1e6a5be1da52fd9a"
|
65 |
},
|
66 |
"dist": {
|
67 |
"type": "zip",
|
68 |
+
"url": "https://api.github.com/repos/thephpleague/uri/zipball/09da64118eaf4c5d52f9923a1e6a5be1da52fd9a",
|
69 |
+
"reference": "09da64118eaf4c5d52f9923a1e6a5be1da52fd9a",
|
70 |
"shasum": ""
|
71 |
},
|
72 |
"require": {
|
73 |
"ext-json": "*",
|
74 |
+
"league/uri-interfaces": "^2.1",
|
75 |
+
"php": ">=7.2",
|
76 |
"psr/http-message": "^1.0"
|
77 |
},
|
78 |
"conflict": {
|
79 |
"league/uri-schemes": "^1.0"
|
80 |
},
|
81 |
"require-dev": {
|
82 |
+
"friendsofphp/php-cs-fixer": "^2.16",
|
83 |
+
"phpstan/phpstan": "^0.12",
|
84 |
+
"phpstan/phpstan-phpunit": "^0.12",
|
85 |
+
"phpstan/phpstan-strict-rules": "^0.12",
|
86 |
"phpunit/phpunit": "^8.0 || ^9.0",
|
87 |
"psr/http-factory": "^1.0"
|
88 |
},
|
92 |
"league/uri-components": "Needed to easily manipulate URI objects",
|
93 |
"psr/http-factory": "Needed to use the URI factory"
|
94 |
},
|
95 |
+
"time": "2020-11-22T14:29:11+00:00",
|
96 |
"type": "library",
|
97 |
"extra": {
|
98 |
"branch-alias": {
|
143 |
"docs": "https://uri.thephpleague.com",
|
144 |
"forum": "https://thephpleague.slack.com",
|
145 |
"issues": "https://github.com/thephpleague/uri/issues",
|
146 |
+
"source": "https://github.com/thephpleague/uri/tree/6.4.0"
|
147 |
},
|
148 |
"funding": [
|
149 |
{
|
155 |
},
|
156 |
{
|
157 |
"name": "league/uri-components",
|
158 |
+
"version": "2.3.0",
|
159 |
+
"version_normalized": "2.3.0.0",
|
160 |
"source": {
|
161 |
"type": "git",
|
162 |
"url": "https://github.com/thephpleague/uri-components.git",
|
163 |
+
"reference": "14540a610ba5b70a7daf83582a109291baa004d0"
|
164 |
},
|
165 |
"dist": {
|
166 |
"type": "zip",
|
167 |
+
"url": "https://api.github.com/repos/thephpleague/uri-components/zipball/14540a610ba5b70a7daf83582a109291baa004d0",
|
168 |
+
"reference": "14540a610ba5b70a7daf83582a109291baa004d0",
|
169 |
"shasum": ""
|
170 |
},
|
171 |
"require": {
|
172 |
"ext-json": "*",
|
173 |
+
"league/uri-interfaces": "^2.1",
|
174 |
"php": "^7.3 || ^8.0",
|
175 |
"psr/http-message": "^1.0"
|
176 |
},
|
177 |
"require-dev": {
|
178 |
+
"friendsofphp/php-cs-fixer": "^2.18",
|
179 |
"guzzlehttp/psr7": "^1.4.2",
|
180 |
+
"laminas/laminas-diactoros": "^2.0",
|
181 |
"league/uri": "^6.0",
|
182 |
+
"phpstan/phpstan": "^0.12",
|
183 |
+
"phpstan/phpstan-phpunit": "^0.12",
|
184 |
+
"phpstan/phpstan-strict-rules": "^0.12",
|
185 |
+
"phpunit/phpunit": "^9.0"
|
186 |
},
|
187 |
"suggest": {
|
188 |
"ext-fileinfo": "Needed to create Data URI from a filepath",
|
193 |
"php-64bit": "to improve handle IPV4 parsing",
|
194 |
"psr/http-message-implementation": "to allow manipulating PSR-7 Uri objects"
|
195 |
},
|
196 |
+
"time": "2021-01-26T19:38:41+00:00",
|
197 |
"type": "library",
|
198 |
"extra": {
|
199 |
"branch-alias": {
|
235 |
],
|
236 |
"support": {
|
237 |
"issues": "https://github.com/thephpleague/uri-components/issues",
|
238 |
+
"source": "https://github.com/thephpleague/uri-components/tree/2.3.0"
|
239 |
},
|
240 |
"funding": [
|
241 |
{
|
247 |
},
|
248 |
{
|
249 |
"name": "league/uri-interfaces",
|
250 |
+
"version": "2.2.0",
|
251 |
+
"version_normalized": "2.2.0.0",
|
252 |
"source": {
|
253 |
"type": "git",
|
254 |
"url": "https://github.com/thephpleague/uri-interfaces.git",
|
255 |
+
"reference": "667f150e589d65d79c89ffe662e426704f84224f"
|
256 |
},
|
257 |
"dist": {
|
258 |
"type": "zip",
|
259 |
+
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/667f150e589d65d79c89ffe662e426704f84224f",
|
260 |
+
"reference": "667f150e589d65d79c89ffe662e426704f84224f",
|
261 |
"shasum": ""
|
262 |
},
|
263 |
"require": {
|
264 |
"ext-json": "*",
|
265 |
+
"php": "^7.1 || ^8.0"
|
266 |
},
|
267 |
"require-dev": {
|
268 |
+
"friendsofphp/php-cs-fixer": "^2.0",
|
269 |
+
"phpstan/phpstan": "^0.12",
|
270 |
+
"phpstan/phpstan-phpunit": "^0.12",
|
271 |
+
"phpstan/phpstan-strict-rules": "^0.12"
|
|
|
|
|
|
|
|
|
|
|
272 |
},
|
273 |
+
"time": "2020-10-31T13:45:51+00:00",
|
274 |
"type": "library",
|
275 |
"extra": {
|
276 |
"branch-alias": {
|
304 |
],
|
305 |
"support": {
|
306 |
"issues": "https://github.com/thephpleague/uri-interfaces/issues",
|
307 |
+
"source": "https://github.com/thephpleague/uri-interfaces/tree/2.2.0"
|
308 |
},
|
309 |
"funding": [
|
310 |
{
|
316 |
},
|
317 |
{
|
318 |
"name": "masterminds/html5",
|
319 |
+
"version": "2.7.4",
|
320 |
+
"version_normalized": "2.7.4.0",
|
321 |
"source": {
|
322 |
"type": "git",
|
323 |
"url": "https://github.com/Masterminds/html5-php.git",
|
324 |
+
"reference": "9227822783c75406cfe400984b2f095cdf03d417"
|
325 |
},
|
326 |
"dist": {
|
327 |
"type": "zip",
|
328 |
+
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/9227822783c75406cfe400984b2f095cdf03d417",
|
329 |
+
"reference": "9227822783c75406cfe400984b2f095cdf03d417",
|
330 |
"shasum": ""
|
331 |
},
|
332 |
"require": {
|
336 |
"php": ">=5.3.0"
|
337 |
},
|
338 |
"require-dev": {
|
339 |
+
"phpunit/phpunit": "^4.8.35"
|
340 |
},
|
341 |
+
"time": "2020-10-01T13:52:52+00:00",
|
342 |
"type": "library",
|
343 |
"extra": {
|
344 |
"branch-alias": {
|
382 |
],
|
383 |
"support": {
|
384 |
"issues": "https://github.com/Masterminds/html5-php/issues",
|
385 |
+
"source": "https://github.com/Masterminds/html5-php/tree/2.7.4"
|
386 |
},
|
387 |
"install-path": "../masterminds/html5"
|
388 |
},
|
389 |
{
|
390 |
"name": "monolog/monolog",
|
391 |
+
"version": "2.2.0",
|
392 |
+
"version_normalized": "2.2.0.0",
|
393 |
"source": {
|
394 |
"type": "git",
|
395 |
"url": "https://github.com/Seldaek/monolog.git",
|
396 |
+
"reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084"
|
397 |
},
|
398 |
"dist": {
|
399 |
"type": "zip",
|
400 |
+
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
|
401 |
+
"reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
|
402 |
"shasum": ""
|
403 |
},
|
404 |
"require": {
|
405 |
"php": ">=7.2",
|
406 |
+
"psr/log": "^1.0.1"
|
407 |
},
|
408 |
"provide": {
|
409 |
+
"psr/log-implementation": "1.0.0"
|
410 |
},
|
411 |
"require-dev": {
|
412 |
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
|
414 |
"elasticsearch/elasticsearch": "^7",
|
415 |
"graylog2/gelf-php": "^1.4.2",
|
416 |
"mongodb/mongodb": "^1.8",
|
417 |
+
"php-amqplib/php-amqplib": "~2.4",
|
418 |
"php-console/php-console": "^3.1.3",
|
419 |
"phpspec/prophecy": "^1.6.1",
|
420 |
+
"phpstan/phpstan": "^0.12.59",
|
421 |
"phpunit/phpunit": "^8.5",
|
422 |
"predis/predis": "^1.1",
|
423 |
"rollbar/rollbar": "^1.3",
|
424 |
+
"ruflin/elastica": ">=0.90 <7.0.1",
|
425 |
"swiftmailer/swiftmailer": "^5.3|^6.0"
|
426 |
},
|
427 |
"suggest": {
|
429 |
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
|
430 |
"elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
|
431 |
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
|
|
|
432 |
"ext-mbstring": "Allow to work properly with unicode symbols",
|
433 |
"ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
|
|
|
|
|
434 |
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
435 |
"mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
|
436 |
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
438 |
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
439 |
"ruflin/elastica": "Allow sending log messages to an Elastic Search server"
|
440 |
},
|
441 |
+
"time": "2020-12-14T13:15:25+00:00",
|
442 |
"type": "library",
|
443 |
"extra": {
|
444 |
"branch-alias": {
|
471 |
],
|
472 |
"support": {
|
473 |
"issues": "https://github.com/Seldaek/monolog/issues",
|
474 |
+
"source": "https://github.com/Seldaek/monolog/tree/2.2.0"
|
475 |
},
|
476 |
"funding": [
|
477 |
{
|
487 |
},
|
488 |
{
|
489 |
"name": "mpdf/mpdf",
|
490 |
+
"version": "v8.0.10",
|
491 |
+
"version_normalized": "8.0.10.0",
|
492 |
"source": {
|
493 |
"type": "git",
|
494 |
"url": "https://github.com/mpdf/mpdf.git",
|
495 |
+
"reference": "1333a962cd2f7ae1a127b7534b7734b58179186f"
|
496 |
},
|
497 |
"dist": {
|
498 |
"type": "zip",
|
499 |
+
"url": "https://api.github.com/repos/mpdf/mpdf/zipball/1333a962cd2f7ae1a127b7534b7734b58179186f",
|
500 |
+
"reference": "1333a962cd2f7ae1a127b7534b7734b58179186f",
|
501 |
"shasum": ""
|
502 |
},
|
503 |
"require": {
|
505 |
"ext-mbstring": "*",
|
506 |
"myclabs/deep-copy": "^1.7",
|
507 |
"paragonie/random_compat": "^1.4|^2.0|^9.99.99",
|
508 |
+
"php": "^5.6 || ^7.0 || ~8.0.0",
|
509 |
+
"psr/log": "^1.0",
|
510 |
"setasign/fpdi": "^2.1"
|
511 |
},
|
512 |
"require-dev": {
|
513 |
"mockery/mockery": "^1.3.0",
|
514 |
"mpdf/qrcode": "^1.1.0",
|
515 |
+
"phpunit/phpunit": "^5.7",
|
516 |
"squizlabs/php_codesniffer": "^3.5.0",
|
517 |
+
"tracy/tracy": "^2.4"
|
|
|
518 |
},
|
519 |
"suggest": {
|
520 |
"ext-bcmath": "Needed for generation of some types of barcodes",
|
521 |
"ext-xml": "Needed mainly for SVG manipulation",
|
522 |
"ext-zlib": "Needed for compression of embedded resources, such as fonts"
|
523 |
},
|
524 |
+
"time": "2021-01-08T14:59:28+00:00",
|
525 |
"type": "library",
|
526 |
"installation-source": "dist",
|
527 |
"autoload": {
|
565 |
},
|
566 |
{
|
567 |
"name": "mpdf/qrcode",
|
568 |
+
"version": "v1.1.1",
|
569 |
+
"version_normalized": "1.1.1.0",
|
570 |
"source": {
|
571 |
"type": "git",
|
572 |
"url": "https://github.com/mpdf/qrcode.git",
|
573 |
+
"reference": "f3c0a99e37e8489f0b91b7d2c394dcba0b38d71c"
|
574 |
},
|
575 |
"dist": {
|
576 |
"type": "zip",
|
577 |
+
"url": "https://api.github.com/repos/mpdf/qrcode/zipball/f3c0a99e37e8489f0b91b7d2c394dcba0b38d71c",
|
578 |
+
"reference": "f3c0a99e37e8489f0b91b7d2c394dcba0b38d71c",
|
579 |
"shasum": ""
|
580 |
},
|
581 |
"require": {
|
584 |
},
|
585 |
"require-dev": {
|
586 |
"mockery/mockery": "^0.9.5",
|
587 |
+
"phpunit/phpunit": "^5.0",
|
588 |
"squizlabs/php_codesniffer": "^3.4",
|
589 |
+
"tracy/tracy": "^2.5"
|
|
|
590 |
},
|
591 |
"suggest": {
|
592 |
+
"ext-gd": "To output QR codes to PNG files"
|
|
|
593 |
},
|
594 |
+
"time": "2021-01-12T18:16:41+00:00",
|
595 |
"type": "library",
|
596 |
"installation-source": "dist",
|
597 |
"autoload": {
|
623 |
],
|
624 |
"support": {
|
625 |
"issues": "https://github.com/mpdf/qrcode/issues",
|
626 |
+
"source": "https://github.com/mpdf/qrcode/tree/v1.1.1"
|
627 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
628 |
"install-path": "../mpdf/qrcode"
|
629 |
},
|
630 |
{
|
645 |
"require": {
|
646 |
"php": "^7.1 || ^8.0"
|
647 |
},
|
648 |
+
"replace": {
|
649 |
+
"myclabs/deep-copy": "self.version"
|
650 |
+
},
|
651 |
"require-dev": {
|
652 |
"doctrine/collections": "^1.0",
|
653 |
"doctrine/common": "^2.6",
|
799 |
},
|
800 |
{
|
801 |
"name": "psr/log",
|
802 |
+
"version": "1.1.3",
|
803 |
+
"version_normalized": "1.1.3.0",
|
804 |
"source": {
|
805 |
"type": "git",
|
806 |
"url": "https://github.com/php-fig/log.git",
|
807 |
+
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
|
808 |
},
|
809 |
"dist": {
|
810 |
"type": "zip",
|
811 |
+
"url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
|
812 |
+
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
|
813 |
"shasum": ""
|
814 |
},
|
815 |
"require": {
|
816 |
"php": ">=5.3.0"
|
817 |
},
|
818 |
+
"time": "2020-03-23T09:12:05+00:00",
|
819 |
"type": "library",
|
820 |
"extra": {
|
821 |
"branch-alias": {
|
835 |
"authors": [
|
836 |
{
|
837 |
"name": "PHP-FIG",
|
838 |
+
"homepage": "http://www.php-fig.org/"
|
839 |
}
|
840 |
],
|
841 |
"description": "Common interface for logging libraries",
|
846 |
"psr-3"
|
847 |
],
|
848 |
"support": {
|
849 |
+
"source": "https://github.com/php-fig/log/tree/1.1.3"
|
850 |
},
|
851 |
"install-path": "../psr/log"
|
852 |
},
|
976 |
},
|
977 |
{
|
978 |
"name": "spatie/url-signer",
|
979 |
+
"version": "1.2.1",
|
980 |
+
"version_normalized": "1.2.1.0",
|
981 |
"source": {
|
982 |
"type": "git",
|
983 |
"url": "https://github.com/spatie/url-signer.git",
|
984 |
+
"reference": "110b9ea84f149de1a5f4b1adf2adba4bbd6bea23"
|
985 |
},
|
986 |
"dist": {
|
987 |
"type": "zip",
|
988 |
+
"url": "https://api.github.com/repos/spatie/url-signer/zipball/110b9ea84f149de1a5f4b1adf2adba4bbd6bea23",
|
989 |
+
"reference": "110b9ea84f149de1a5f4b1adf2adba4bbd6bea23",
|
990 |
"shasum": ""
|
991 |
},
|
992 |
"require": {
|
997 |
"require-dev": {
|
998 |
"phpunit/phpunit": "^8.0|^9.0"
|
999 |
},
|
1000 |
+
"time": "2021-02-05T07:25:15+00:00",
|
1001 |
"type": "library",
|
1002 |
"extra": {
|
1003 |
"branch-alias": {
|
1033 |
],
|
1034 |
"support": {
|
1035 |
"issues": "https://github.com/spatie/url-signer/issues",
|
1036 |
+
"source": "https://github.com/spatie/url-signer/tree/1.2.1"
|
1037 |
},
|
1038 |
"install-path": "../spatie/url-signer"
|
1039 |
}
|
vendor/composer/installed.php
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
-
'pretty_version' => '6.1.
|
4 |
-
'version' => '6.1.
|
5 |
'type' => 'library',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
-
'reference' => '
|
9 |
'name' => 'gravitypdf/gravitypdf',
|
10 |
'dev' => false,
|
11 |
),
|
@@ -20,75 +20,75 @@
|
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'gravitypdf/gravitypdf' => array(
|
23 |
-
'pretty_version' => '6.1.
|
24 |
-
'version' => '6.1.
|
25 |
'type' => 'library',
|
26 |
'install_path' => __DIR__ . '/../../',
|
27 |
'aliases' => array(),
|
28 |
-
'reference' => '
|
29 |
'dev_requirement' => false,
|
30 |
),
|
31 |
'league/uri' => array(
|
32 |
-
'pretty_version' => '6.
|
33 |
-
'version' => '6.
|
34 |
'type' => 'library',
|
35 |
'install_path' => __DIR__ . '/../league/uri',
|
36 |
'aliases' => array(),
|
37 |
-
'reference' => '
|
38 |
'dev_requirement' => false,
|
39 |
),
|
40 |
'league/uri-components' => array(
|
41 |
-
'pretty_version' => '2.
|
42 |
-
'version' => '2.
|
43 |
'type' => 'library',
|
44 |
'install_path' => __DIR__ . '/../league/uri-components',
|
45 |
'aliases' => array(),
|
46 |
-
'reference' => '
|
47 |
'dev_requirement' => false,
|
48 |
),
|
49 |
'league/uri-interfaces' => array(
|
50 |
-
'pretty_version' => '2.
|
51 |
-
'version' => '2.
|
52 |
'type' => 'library',
|
53 |
'install_path' => __DIR__ . '/../league/uri-interfaces',
|
54 |
'aliases' => array(),
|
55 |
-
'reference' => '
|
56 |
'dev_requirement' => false,
|
57 |
),
|
58 |
'masterminds/html5' => array(
|
59 |
-
'pretty_version' => '2.7.
|
60 |
-
'version' => '2.7.
|
61 |
'type' => 'library',
|
62 |
'install_path' => __DIR__ . '/../masterminds/html5',
|
63 |
'aliases' => array(),
|
64 |
-
'reference' => '
|
65 |
'dev_requirement' => false,
|
66 |
),
|
67 |
'monolog/monolog' => array(
|
68 |
-
'pretty_version' => '2.
|
69 |
-
'version' => '2.
|
70 |
'type' => 'library',
|
71 |
'install_path' => __DIR__ . '/../monolog/monolog',
|
72 |
'aliases' => array(),
|
73 |
-
'reference' => '
|
74 |
'dev_requirement' => false,
|
75 |
),
|
76 |
'mpdf/mpdf' => array(
|
77 |
-
'pretty_version' => 'v8.0.
|
78 |
-
'version' => '8.0.
|
79 |
'type' => 'library',
|
80 |
'install_path' => __DIR__ . '/../mpdf/mpdf',
|
81 |
'aliases' => array(),
|
82 |
-
'reference' => '
|
83 |
'dev_requirement' => false,
|
84 |
),
|
85 |
'mpdf/qrcode' => array(
|
86 |
-
'pretty_version' => 'v1.
|
87 |
-
'version' => '1.
|
88 |
'type' => 'library',
|
89 |
'install_path' => __DIR__ . '/../mpdf/qrcode',
|
90 |
'aliases' => array(),
|
91 |
-
'reference' => '
|
92 |
'dev_requirement' => false,
|
93 |
),
|
94 |
'myclabs/deep-copy' => array(
|
@@ -99,6 +99,9 @@
|
|
99 |
'aliases' => array(),
|
100 |
'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
|
101 |
'dev_requirement' => false,
|
|
|
|
|
|
|
102 |
),
|
103 |
'paragonie/random_compat' => array(
|
104 |
'pretty_version' => 'v9.99.100',
|
@@ -119,18 +122,18 @@
|
|
119 |
'dev_requirement' => false,
|
120 |
),
|
121 |
'psr/log' => array(
|
122 |
-
'pretty_version' => '1.1.
|
123 |
-
'version' => '1.1.
|
124 |
'type' => 'library',
|
125 |
'install_path' => __DIR__ . '/../psr/log',
|
126 |
'aliases' => array(),
|
127 |
-
'reference' => '
|
128 |
'dev_requirement' => false,
|
129 |
),
|
130 |
'psr/log-implementation' => array(
|
131 |
'dev_requirement' => false,
|
132 |
'provided' => array(
|
133 |
-
0 => '1.0.0
|
134 |
),
|
135 |
),
|
136 |
'querypath/querypath' => array(
|
@@ -152,12 +155,12 @@
|
|
152 |
'dev_requirement' => false,
|
153 |
),
|
154 |
'spatie/url-signer' => array(
|
155 |
-
'pretty_version' => '1.2.
|
156 |
-
'version' => '1.2.
|
157 |
'type' => 'library',
|
158 |
'install_path' => __DIR__ . '/../spatie/url-signer',
|
159 |
'aliases' => array(),
|
160 |
-
'reference' => '
|
161 |
'dev_requirement' => false,
|
162 |
),
|
163 |
),
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
+
'pretty_version' => '6.1.0',
|
4 |
+
'version' => '6.1.0.0',
|
5 |
'type' => 'library',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
+
'reference' => 'f105ad46fef8572502c51304464c75d771256008',
|
9 |
'name' => 'gravitypdf/gravitypdf',
|
10 |
'dev' => false,
|
11 |
),
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
'gravitypdf/gravitypdf' => array(
|
23 |
+
'pretty_version' => '6.1.0',
|
24 |
+
'version' => '6.1.0.0',
|
25 |
'type' => 'library',
|
26 |
'install_path' => __DIR__ . '/../../',
|
27 |
'aliases' => array(),
|
28 |
+
'reference' => 'f105ad46fef8572502c51304464c75d771256008',
|
29 |
'dev_requirement' => false,
|
30 |
),
|
31 |
'league/uri' => array(
|
32 |
+
'pretty_version' => '6.4.0',
|
33 |
+
'version' => '6.4.0.0',
|
34 |
'type' => 'library',
|
35 |
'install_path' => __DIR__ . '/../league/uri',
|
36 |
'aliases' => array(),
|
37 |
+
'reference' => '09da64118eaf4c5d52f9923a1e6a5be1da52fd9a',
|
38 |
'dev_requirement' => false,
|
39 |
),
|
40 |
'league/uri-components' => array(
|
41 |
+
'pretty_version' => '2.3.0',
|
42 |
+
'version' => '2.3.0.0',
|
43 |
'type' => 'library',
|
44 |
'install_path' => __DIR__ . '/../league/uri-components',
|
45 |
'aliases' => array(),
|
46 |
+
'reference' => '14540a610ba5b70a7daf83582a109291baa004d0',
|
47 |
'dev_requirement' => false,
|
48 |
),
|
49 |
'league/uri-interfaces' => array(
|
50 |
+
'pretty_version' => '2.2.0',
|
51 |
+
'version' => '2.2.0.0',
|
52 |
'type' => 'library',
|
53 |
'install_path' => __DIR__ . '/../league/uri-interfaces',
|
54 |
'aliases' => array(),
|
55 |
+
'reference' => '667f150e589d65d79c89ffe662e426704f84224f',
|
56 |
'dev_requirement' => false,
|
57 |
),
|
58 |
'masterminds/html5' => array(
|
59 |
+
'pretty_version' => '2.7.4',
|
60 |
+
'version' => '2.7.4.0',
|
61 |
'type' => 'library',
|
62 |
'install_path' => __DIR__ . '/../masterminds/html5',
|
63 |
'aliases' => array(),
|
64 |
+
'reference' => '9227822783c75406cfe400984b2f095cdf03d417',
|
65 |
'dev_requirement' => false,
|
66 |
),
|
67 |
'monolog/monolog' => array(
|
68 |
+
'pretty_version' => '2.2.0',
|
69 |
+
'version' => '2.2.0.0',
|
70 |
'type' => 'library',
|
71 |
'install_path' => __DIR__ . '/../monolog/monolog',
|
72 |
'aliases' => array(),
|
73 |
+
'reference' => '1cb1cde8e8dd0f70cc0fe51354a59acad9302084',
|
74 |
'dev_requirement' => false,
|
75 |
),
|
76 |
'mpdf/mpdf' => array(
|
77 |
+
'pretty_version' => 'v8.0.10',
|
78 |
+
'version' => '8.0.10.0',
|
79 |
'type' => 'library',
|
80 |
'install_path' => __DIR__ . '/../mpdf/mpdf',
|
81 |
'aliases' => array(),
|
82 |
+
'reference' => '1333a962cd2f7ae1a127b7534b7734b58179186f',
|
83 |
'dev_requirement' => false,
|
84 |
),
|
85 |
'mpdf/qrcode' => array(
|
86 |
+
'pretty_version' => 'v1.1.1',
|
87 |
+
'version' => '1.1.1.0',
|
88 |
'type' => 'library',
|
89 |
'install_path' => __DIR__ . '/../mpdf/qrcode',
|
90 |
'aliases' => array(),
|
91 |
+
'reference' => 'f3c0a99e37e8489f0b91b7d2c394dcba0b38d71c',
|
92 |
'dev_requirement' => false,
|
93 |
),
|
94 |
'myclabs/deep-copy' => array(
|
99 |
'aliases' => array(),
|
100 |
'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
|
101 |
'dev_requirement' => false,
|
102 |
+
'replaced' => array(
|
103 |
+
0 => '1.10.2',
|
104 |
+
),
|
105 |
),
|
106 |
'paragonie/random_compat' => array(
|
107 |
'pretty_version' => 'v9.99.100',
|
122 |
'dev_requirement' => false,
|
123 |
),
|
124 |
'psr/log' => array(
|
125 |
+
'pretty_version' => '1.1.3',
|
126 |
+
'version' => '1.1.3.0',
|
127 |
'type' => 'library',
|
128 |
'install_path' => __DIR__ . '/../psr/log',
|
129 |
'aliases' => array(),
|
130 |
+
'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc',
|
131 |
'dev_requirement' => false,
|
132 |
),
|
133 |
'psr/log-implementation' => array(
|
134 |
'dev_requirement' => false,
|
135 |
'provided' => array(
|
136 |
+
0 => '1.0.0',
|
137 |
),
|
138 |
),
|
139 |
'querypath/querypath' => array(
|
155 |
'dev_requirement' => false,
|
156 |
),
|
157 |
'spatie/url-signer' => array(
|
158 |
+
'pretty_version' => '1.2.1',
|
159 |
+
'version' => '1.2.1.0',
|
160 |
'type' => 'library',
|
161 |
'install_path' => __DIR__ . '/../spatie/url-signer',
|
162 |
'aliases' => array(),
|
163 |
+
'reference' => '110b9ea84f149de1a5f4b1adf2adba4bbd6bea23',
|
164 |
'dev_requirement' => false,
|
165 |
),
|
166 |
),
|
vendor/composer/platform_check.php
CHANGED
File without changes
|
vendor/paragonie/random_compat/LICENSE
CHANGED
File without changes
|
vendor/paragonie/random_compat/composer.json
CHANGED
File without changes
|
vendor/paragonie/random_compat/dist/random_compat.phar.pubkey
CHANGED
File without changes
|
vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc
CHANGED
File without changes
|
vendor/paragonie/random_compat/lib/random.php
CHANGED
File without changes
|
vendor/paragonie/random_compat/other/build_phar.php
CHANGED
File without changes
|
vendor/paragonie/random_compat/psalm-autoload.php
CHANGED
File without changes
|
vendor/paragonie/random_compat/psalm.xml
CHANGED
File without changes
|
vendor/psr/http-message/CHANGELOG.md
CHANGED
File without changes
|
vendor/psr/http-message/LICENSE
CHANGED
File without changes
|
vendor/psr/http-message/README.md
CHANGED
File without changes
|
vendor/psr/http-message/composer.json
CHANGED
File without changes
|
vendor/psr/http-message/src/MessageInterface.php
CHANGED
File without changes
|
vendor/psr/http-message/src/RequestInterface.php
CHANGED
File without changes
|
vendor/psr/http-message/src/ResponseInterface.php
CHANGED
File without changes
|
vendor/psr/http-message/src/ServerRequestInterface.php
CHANGED
File without changes
|
vendor/psr/http-message/src/StreamInterface.php
CHANGED
File without changes
|
vendor/psr/http-message/src/UploadedFileInterface.php
CHANGED
File without changes
|
vendor/psr/http-message/src/UriInterface.php
CHANGED
File without changes
|
vendor/psr/log/LICENSE
CHANGED
File without changes
|
vendor/psr/log/Psr/Log/AbstractLogger.php
CHANGED
@@ -14,8 +14,8 @@ abstract class AbstractLogger implements LoggerInterface
|
|
14 |
/**
|
15 |
* System is unusable.
|
16 |
*
|
17 |
-
* @param string
|
18 |
-
* @param
|
19 |
*
|
20 |
* @return void
|
21 |
*/
|
@@ -30,8 +30,8 @@ abstract class AbstractLogger implements LoggerInterface
|
|
30 |
* Example: Entire website down, database unavailable, etc. This should
|
31 |
* trigger the SMS alerts and wake you up.
|
32 |
*
|
33 |
-
* @param string
|
34 |
-
* @param
|
35 |
*
|
36 |
* @return void
|
37 |
*/
|
@@ -45,8 +45,8 @@ abstract class AbstractLogger implements LoggerInterface
|
|
45 |
*
|
46 |
* Example: Application component unavailable, unexpected exception.
|
47 |
*
|
48 |
-
* @param string
|
49 |
-
* @param
|
50 |
*
|
51 |
* @return void
|
52 |
*/
|
@@ -59,8 +59,8 @@ abstract class AbstractLogger implements LoggerInterface
|
|
59 |
* Runtime errors that do not require immediate action but should typically
|
60 |
* be logged and monitored.
|
61 |
*
|
62 |
-
* @param string
|
63 |
-
* @param
|
64 |
*
|
65 |
* @return void
|
66 |
*/
|
@@ -75,8 +75,8 @@ abstract class AbstractLogger implements LoggerInterface
|
|
75 |
* Example: Use of deprecated APIs, poor use of an API, undesirable things
|
76 |
* that are not necessarily wrong.
|
77 |
*
|
78 |
-
* @param string
|
79 |
-
* @param
|
80 |
*
|
81 |
* @return void
|
82 |
*/
|
@@ -88,8 +88,8 @@ abstract class AbstractLogger implements LoggerInterface
|
|
88 |
/**
|
89 |
* Normal but significant events.
|
90 |
*
|
91 |
-
* @param string
|
92 |
-
* @param
|
93 |
*
|
94 |
* @return void
|
95 |
*/
|
@@ -103,8 +103,8 @@ abstract class AbstractLogger implements LoggerInterface
|
|
103 |
*
|
104 |
* Example: User logs in, SQL logs.
|
105 |
*
|
106 |
-
* @param string
|
107 |
-
* @param
|
108 |
*
|
109 |
* @return void
|
110 |
*/
|
@@ -116,8 +116,8 @@ abstract class AbstractLogger implements LoggerInterface
|
|
116 |
/**
|
117 |
* Detailed debug information.
|
118 |
*
|
119 |
-
* @param string
|
120 |
-
* @param
|
121 |
*
|
122 |
* @return void
|
123 |
*/
|
14 |
/**
|
15 |
* System is unusable.
|
16 |
*
|
17 |
+
* @param string $message
|
18 |
+
* @param array $context
|
19 |
*
|
20 |
* @return void
|
21 |
*/
|
30 |
* Example: Entire website down, database unavailable, etc. This should
|
31 |
* trigger the SMS alerts and wake you up.
|
32 |
*
|
33 |
+
* @param string $message
|
34 |
+
* @param array $context
|
35 |
*
|
36 |
* @return void
|
37 |
*/
|
45 |
*
|
46 |
* Example: Application component unavailable, unexpected exception.
|
47 |
*
|
48 |
+
* @param string $message
|
49 |
+
* @param array $context
|
50 |
*
|
51 |
* @return void
|
52 |
*/
|
59 |
* Runtime errors that do not require immediate action but should typically
|
60 |
* be logged and monitored.
|
61 |
*
|
62 |
+
* @param string $message
|
63 |
+
* @param array $context
|
64 |
*
|
65 |
* @return void
|
66 |
*/
|
75 |
* Example: Use of deprecated APIs, poor use of an API, undesirable things
|
76 |
* that are not necessarily wrong.
|
77 |
*
|
78 |
+
* @param string $message
|
79 |
+
* @param array $context
|
80 |
*
|
81 |
* @return void
|
82 |
*/
|
88 |
/**
|
89 |
* Normal but significant events.
|
90 |
*
|
91 |
+
* @param string $message
|
92 |
+
* @param array $context
|
93 |
*
|
94 |
* @return void
|
95 |
*/
|
103 |
*
|
104 |
* Example: User logs in, SQL logs.
|
105 |
*
|
106 |
+
* @param string $message
|
107 |
+
* @param array $context
|
108 |
*
|
109 |
* @return void
|
110 |
*/
|
116 |
/**
|
117 |
* Detailed debug information.
|
118 |
*
|
119 |
+
* @param string $message
|
120 |
+
* @param array $context
|
121 |
*
|
122 |
* @return void
|
123 |
*/
|
vendor/psr/log/Psr/Log/InvalidArgumentException.php
CHANGED
File without changes
|
vendor/psr/log/Psr/Log/LogLevel.php
CHANGED
File without changes
|
vendor/psr/log/Psr/Log/LoggerAwareInterface.php
CHANGED
File without changes
|
vendor/psr/log/Psr/Log/LoggerAwareTrait.php
CHANGED
@@ -10,7 +10,7 @@ trait LoggerAwareTrait
|
|
10 |
/**
|
11 |
* The logger instance.
|
12 |
*
|
13 |
-
* @var LoggerInterface
|
14 |
*/
|
15 |
protected $logger;
|
16 |
|
10 |
/**
|
11 |
* The logger instance.
|
12 |
*
|
13 |
+
* @var LoggerInterface
|
14 |
*/
|
15 |
protected $logger;
|
16 |
|
vendor/psr/log/Psr/Log/LoggerInterface.php
CHANGED
File without changes
|
vendor/psr/log/Psr/Log/LoggerTrait.php
CHANGED
File without changes
|
vendor/psr/log/Psr/Log/NullLogger.php
CHANGED
File without changes
|
vendor/psr/log/Psr/Log/Test/DummyTest.php
CHANGED
File without changes
|
vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
CHANGED
File without changes
|
vendor/psr/log/Psr/Log/Test/TestLogger.php
CHANGED
File without changes
|
vendor/psr/log/README.md
CHANGED
File without changes
|
vendor/psr/log/composer.json
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
"authors": [
|
8 |
{
|
9 |
"name": "PHP-FIG",
|
10 |
-
"homepage": "
|
11 |
}
|
12 |
],
|
13 |
"require": {
|
7 |
"authors": [
|
8 |
{
|
9 |
"name": "PHP-FIG",
|
10 |
+
"homepage": "http://www.php-fig.org/"
|
11 |
}
|
12 |
],
|
13 |
"require": {
|
vendor_prefixed/league/uri-components/src/Components/Authority.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/Components/Component.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
@@ -128,24 +130,20 @@ abstract class Component implements \GFPDF_Vendor\League\Uri\Contracts\UriCompon
|
|
128 |
/**
|
129 |
* {@inheritDoc}
|
130 |
*/
|
131 |
-
public
|
|
|
|
|
|
|
132 |
/**
|
133 |
* {@inheritDoc}
|
134 |
*/
|
135 |
public abstract function getContent() : ?string;
|
136 |
-
/**
|
137 |
-
* {@inheritDoc}
|
138 |
-
*/
|
139 |
-
public function toString() : string
|
140 |
-
{
|
141 |
-
return (string) $this->getContent();
|
142 |
-
}
|
143 |
/**
|
144 |
* {@inheritDoc}
|
145 |
*/
|
146 |
public function __toString() : string
|
147 |
{
|
148 |
-
return $this->
|
149 |
}
|
150 |
/**
|
151 |
* {@inheritDoc}
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
130 |
/**
|
131 |
* {@inheritDoc}
|
132 |
*/
|
133 |
+
public function getUriComponent() : string
|
134 |
+
{
|
135 |
+
return (string) $this->getContent();
|
136 |
+
}
|
137 |
/**
|
138 |
* {@inheritDoc}
|
139 |
*/
|
140 |
public abstract function getContent() : ?string;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
/**
|
142 |
* {@inheritDoc}
|
143 |
*/
|
144 |
public function __toString() : string
|
145 |
{
|
146 |
+
return (string) $this->getContent();
|
147 |
}
|
148 |
/**
|
149 |
* {@inheritDoc}
|
vendor_prefixed/league/uri-components/src/Components/DataPath.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
@@ -264,13 +266,6 @@ final class DataPath extends \GFPDF_Vendor\League\Uri\Components\Component imple
|
|
264 |
{
|
265 |
return $this->path->getContent();
|
266 |
}
|
267 |
-
/**
|
268 |
-
* {@inheritDoc}
|
269 |
-
*/
|
270 |
-
public function getUriComponent() : string
|
271 |
-
{
|
272 |
-
return (string) $this->getContent();
|
273 |
-
}
|
274 |
/**
|
275 |
* {@inheritDoc}
|
276 |
*/
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
266 |
{
|
267 |
return $this->path->getContent();
|
268 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
269 |
/**
|
270 |
* {@inheritDoc}
|
271 |
*/
|
vendor_prefixed/league/uri-components/src/Components/Domain.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
@@ -137,13 +139,6 @@ final class Domain extends \GFPDF_Vendor\League\Uri\Components\Component impleme
|
|
137 |
{
|
138 |
return $this->host->getContent();
|
139 |
}
|
140 |
-
/**
|
141 |
-
* {@inheritDoc}
|
142 |
-
*/
|
143 |
-
public function getUriComponent() : string
|
144 |
-
{
|
145 |
-
return (string) $this->getContent();
|
146 |
-
}
|
147 |
/**
|
148 |
* {@inheritDoc}
|
149 |
*/
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
139 |
{
|
140 |
return $this->host->getContent();
|
141 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
/**
|
143 |
* {@inheritDoc}
|
144 |
*/
|
vendor_prefixed/league/uri-components/src/Components/Fragment.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/Components/HierarchicalPath.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
@@ -181,13 +183,6 @@ final class HierarchicalPath extends \GFPDF_Vendor\League\Uri\Components\Compone
|
|
181 |
{
|
182 |
return $this->path->getContent();
|
183 |
}
|
184 |
-
/**
|
185 |
-
* {@inheritDoc}
|
186 |
-
*/
|
187 |
-
public function getUriComponent() : string
|
188 |
-
{
|
189 |
-
return (string) $this->getContent();
|
190 |
-
}
|
191 |
/**
|
192 |
* {@inheritDoc}
|
193 |
*/
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
183 |
{
|
184 |
return $this->path->getContent();
|
185 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
/**
|
187 |
* {@inheritDoc}
|
188 |
*/
|
vendor_prefixed/league/uri-components/src/Components/Host.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
@@ -18,16 +20,20 @@ use GFPDF_Vendor\League\Uri\Contracts\AuthorityInterface;
|
|
18 |
use GFPDF_Vendor\League\Uri\Contracts\IpHostInterface;
|
19 |
use GFPDF_Vendor\League\Uri\Contracts\UriComponentInterface;
|
20 |
use GFPDF_Vendor\League\Uri\Contracts\UriInterface;
|
21 |
-
use GFPDF_Vendor\League\Uri\Exceptions\
|
22 |
use GFPDF_Vendor\League\Uri\Exceptions\IPv4CalculatorMissing;
|
23 |
use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
|
24 |
-
use GFPDF_Vendor\League\Uri\Idna\Idna;
|
25 |
use GFPDF_Vendor\League\Uri\IPv4Normalizer;
|
26 |
use Psr\Http\Message\UriInterface as Psr7UriInterface;
|
27 |
use TypeError;
|
|
|
28 |
use function explode;
|
29 |
use function filter_var;
|
|
|
30 |
use function gettype;
|
|
|
|
|
|
|
31 |
use function in_array;
|
32 |
use function inet_pton;
|
33 |
use function is_object;
|
@@ -43,6 +49,24 @@ use function substr;
|
|
43 |
use const FILTER_FLAG_IPV4;
|
44 |
use const FILTER_FLAG_IPV6;
|
45 |
use const FILTER_VALIDATE_IP;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implements \GFPDF_Vendor\League\Uri\Contracts\IpHostInterface
|
47 |
{
|
48 |
/**
|
@@ -117,6 +141,17 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
|
|
117 |
* @var bool
|
118 |
*/
|
119 |
private $is_domain = \false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
/**
|
121 |
* New instance.
|
122 |
*
|
@@ -162,12 +197,18 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
|
|
162 |
if ($is_ascii || 1 === \preg_match(self::REGEXP_INVALID_HOST_CHARS, $domain_name)) {
|
163 |
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('`%s` is an invalid domain name : the host contains invalid characters.', $host));
|
164 |
}
|
165 |
-
|
166 |
-
|
167 |
-
|
|
|
|
|
|
|
|
|
|
|
168 |
}
|
169 |
-
|
170 |
-
$this->
|
|
|
171 |
}
|
172 |
/**
|
173 |
* Tells whether the registered name is a valid domain name according to RFC1123.
|
@@ -183,6 +224,25 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
|
|
183 |
}
|
184 |
return !isset($hostname[$domainMaxLength]) && 1 === \preg_match(self::REGEXP_DOMAIN_NAME, $hostname);
|
185 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
/**
|
187 |
* Validates an Ipv6 as Host.
|
188 |
*
|
@@ -285,13 +345,6 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
|
|
285 |
{
|
286 |
return $this->host;
|
287 |
}
|
288 |
-
/**
|
289 |
-
* {@inheritDoc}
|
290 |
-
*/
|
291 |
-
public function getUriComponent() : string
|
292 |
-
{
|
293 |
-
return (string) $this->getContent();
|
294 |
-
}
|
295 |
/**
|
296 |
* {@inheritDoc}
|
297 |
*/
|
@@ -307,7 +360,19 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
|
|
307 |
if (null !== $this->ip_version || null === $this->host || \false === \strpos($this->host, 'xn--')) {
|
308 |
return $this->host;
|
309 |
}
|
310 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
}
|
312 |
/**
|
313 |
* {@inheritDoc}
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
20 |
use GFPDF_Vendor\League\Uri\Contracts\IpHostInterface;
|
21 |
use GFPDF_Vendor\League\Uri\Contracts\UriComponentInterface;
|
22 |
use GFPDF_Vendor\League\Uri\Contracts\UriInterface;
|
23 |
+
use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
|
24 |
use GFPDF_Vendor\League\Uri\Exceptions\IPv4CalculatorMissing;
|
25 |
use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
|
|
|
26 |
use GFPDF_Vendor\League\Uri\IPv4Normalizer;
|
27 |
use Psr\Http\Message\UriInterface as Psr7UriInterface;
|
28 |
use TypeError;
|
29 |
+
use function defined;
|
30 |
use function explode;
|
31 |
use function filter_var;
|
32 |
+
use function function_exists;
|
33 |
use function gettype;
|
34 |
+
use function idn_to_ascii;
|
35 |
+
use function idn_to_utf8;
|
36 |
+
use function implode;
|
37 |
use function in_array;
|
38 |
use function inet_pton;
|
39 |
use function is_object;
|
49 |
use const FILTER_FLAG_IPV4;
|
50 |
use const FILTER_FLAG_IPV6;
|
51 |
use const FILTER_VALIDATE_IP;
|
52 |
+
use const IDNA_CHECK_BIDI;
|
53 |
+
use const IDNA_CHECK_CONTEXTJ;
|
54 |
+
use const IDNA_ERROR_BIDI;
|
55 |
+
use const IDNA_ERROR_CONTEXTJ;
|
56 |
+
use const IDNA_ERROR_DISALLOWED;
|
57 |
+
use const IDNA_ERROR_DOMAIN_NAME_TOO_LONG;
|
58 |
+
use const IDNA_ERROR_EMPTY_LABEL;
|
59 |
+
use const IDNA_ERROR_HYPHEN_3_4;
|
60 |
+
use const IDNA_ERROR_INVALID_ACE_LABEL;
|
61 |
+
use const IDNA_ERROR_LABEL_HAS_DOT;
|
62 |
+
use const IDNA_ERROR_LABEL_TOO_LONG;
|
63 |
+
use const IDNA_ERROR_LEADING_COMBINING_MARK;
|
64 |
+
use const IDNA_ERROR_LEADING_HYPHEN;
|
65 |
+
use const IDNA_ERROR_PUNYCODE;
|
66 |
+
use const IDNA_ERROR_TRAILING_HYPHEN;
|
67 |
+
use const IDNA_NONTRANSITIONAL_TO_UNICODE;
|
68 |
+
use const IDNA_USE_STD3_RULES;
|
69 |
+
use const INTL_IDNA_VARIANT_UTS46;
|
70 |
final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implements \GFPDF_Vendor\League\Uri\Contracts\IpHostInterface
|
71 |
{
|
72 |
/**
|
141 |
* @var bool
|
142 |
*/
|
143 |
private $is_domain = \false;
|
144 |
+
/**
|
145 |
+
* @codeCoverageIgnore
|
146 |
+
*/
|
147 |
+
private static function supportIdnHost() : void
|
148 |
+
{
|
149 |
+
static $idn_support = null;
|
150 |
+
$idn_support = $idn_support ?? \function_exists('\\idn_to_ascii') && \defined('\\INTL_IDNA_VARIANT_UTS46');
|
151 |
+
if (!$idn_support) {
|
152 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing('IDN host can not be processed. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.');
|
153 |
+
}
|
154 |
+
}
|
155 |
/**
|
156 |
* New instance.
|
157 |
*
|
197 |
if ($is_ascii || 1 === \preg_match(self::REGEXP_INVALID_HOST_CHARS, $domain_name)) {
|
198 |
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('`%s` is an invalid domain name : the host contains invalid characters.', $host));
|
199 |
}
|
200 |
+
self::supportIdnHost();
|
201 |
+
$domain_name = \idn_to_ascii($domain_name, \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_USE_STD3_RULES | \IDNA_NONTRANSITIONAL_TO_UNICODE, \INTL_IDNA_VARIANT_UTS46, $info);
|
202 |
+
if (0 !== $info['errors']) {
|
203 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('`%s` is an invalid domain name : %s.', $host, $this->getIDNAErrors($info['errors'])));
|
204 |
+
}
|
205 |
+
// @codeCoverageIgnoreStart
|
206 |
+
if (\false === $domain_name) {
|
207 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
|
208 |
}
|
209 |
+
// @codeCoverageIgnoreEnd
|
210 |
+
$this->host = $domain_name;
|
211 |
+
$this->is_domain = $this->isValidDomain($domain_name);
|
212 |
}
|
213 |
/**
|
214 |
* Tells whether the registered name is a valid domain name according to RFC1123.
|
224 |
}
|
225 |
return !isset($hostname[$domainMaxLength]) && 1 === \preg_match(self::REGEXP_DOMAIN_NAME, $hostname);
|
226 |
}
|
227 |
+
/**
|
228 |
+
* Retrieves and format IDNA conversion error message.
|
229 |
+
*
|
230 |
+
* @see http://icu-project.org/apiref/icu4j/com/ibm/icu/text/IDNA.Error.html
|
231 |
+
*/
|
232 |
+
private function getIDNAErrors(int $error_byte) : string
|
233 |
+
{
|
234 |
+
/**
|
235 |
+
* IDNA errors.
|
236 |
+
*/
|
237 |
+
static $idn_errors = [\IDNA_ERROR_EMPTY_LABEL => 'a non-final domain name label (or the whole domain name) is empty', \IDNA_ERROR_LABEL_TOO_LONG => 'a domain name label is longer than 63 bytes', \IDNA_ERROR_DOMAIN_NAME_TOO_LONG => 'a domain name is longer than 255 bytes in its storage form', \IDNA_ERROR_LEADING_HYPHEN => 'a label starts with a hyphen-minus ("-")', \IDNA_ERROR_TRAILING_HYPHEN => 'a label ends with a hyphen-minus ("-")', \IDNA_ERROR_HYPHEN_3_4 => 'a label contains hyphen-minus ("-") in the third and fourth positions', \IDNA_ERROR_LEADING_COMBINING_MARK => 'a label starts with a combining mark', \IDNA_ERROR_DISALLOWED => 'a label or domain name contains disallowed characters', \IDNA_ERROR_PUNYCODE => 'a label starts with "xn--" but does not contain valid Punycode', \IDNA_ERROR_LABEL_HAS_DOT => 'a label contains a dot=full stop', \IDNA_ERROR_INVALID_ACE_LABEL => 'An ACE label does not contain a valid label string', \IDNA_ERROR_BIDI => 'a label does not meet the IDNA BiDi requirements (for right-to-left characters)', \IDNA_ERROR_CONTEXTJ => 'a label does not meet the IDNA CONTEXTJ requirements'];
|
238 |
+
$res = [];
|
239 |
+
foreach ($idn_errors as $error => $reason) {
|
240 |
+
if ($error === ($error_byte & $error)) {
|
241 |
+
$res[] = $reason;
|
242 |
+
}
|
243 |
+
}
|
244 |
+
return [] === $res ? 'Unknown IDNA conversion error.' : \implode(', ', $res) . '.';
|
245 |
+
}
|
246 |
/**
|
247 |
* Validates an Ipv6 as Host.
|
248 |
*
|
345 |
{
|
346 |
return $this->host;
|
347 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
/**
|
349 |
* {@inheritDoc}
|
350 |
*/
|
360 |
if (null !== $this->ip_version || null === $this->host || \false === \strpos($this->host, 'xn--')) {
|
361 |
return $this->host;
|
362 |
}
|
363 |
+
$host = \idn_to_utf8($this->host, \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_USE_STD3_RULES | \IDNA_NONTRANSITIONAL_TO_UNICODE, \INTL_IDNA_VARIANT_UTS46, $info);
|
364 |
+
if ([] === $info) {
|
365 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid.', $this->host));
|
366 |
+
}
|
367 |
+
if (0 !== $info['errors']) {
|
368 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : %s.', $this->host, $this->getIDNAErrors($info['errors'])));
|
369 |
+
}
|
370 |
+
// @codeCoverageIgnoreStart
|
371 |
+
if (\false === $host) {
|
372 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
|
373 |
+
}
|
374 |
+
// @codeCoverageIgnoreEnd
|
375 |
+
return $host;
|
376 |
}
|
377 |
/**
|
378 |
* {@inheritDoc}
|
vendor_prefixed/league/uri-components/src/Components/Path.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
@@ -118,13 +120,6 @@ final class Path extends \GFPDF_Vendor\League\Uri\Components\Component implement
|
|
118 |
{
|
119 |
return $this->encodeComponent($this->path, self::REGEXP_PATH_ENCODING);
|
120 |
}
|
121 |
-
/**
|
122 |
-
* {@inheritDoc}
|
123 |
-
*/
|
124 |
-
public function getUriComponent() : string
|
125 |
-
{
|
126 |
-
return (string) $this->getContent();
|
127 |
-
}
|
128 |
/**
|
129 |
* Returns the decoded path.
|
130 |
*/
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
120 |
{
|
121 |
return $this->encodeComponent($this->path, self::REGEXP_PATH_ENCODING);
|
122 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
/**
|
124 |
* Returns the decoded path.
|
125 |
*/
|
vendor_prefixed/league/uri-components/src/Components/Port.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/Components/Query.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/Components/Scheme.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/Components/UserInfo.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/IPv4Calculators/BCMathCalculator.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/IPv4Calculators/GMPCalculator.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/IPv4Normalizer.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-components/src/QueryString.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
@@ -129,10 +131,6 @@ final class QueryString
|
|
129 |
}
|
130 |
return $query;
|
131 |
}
|
132 |
-
/**
|
133 |
-
* @param non-empty-string $separator
|
134 |
-
* @return array<string|null>
|
135 |
-
*/
|
136 |
private static function getPairs(string $query, string $separator) : array
|
137 |
{
|
138 |
if (\false === \strpos($query, $separator)) {
|
@@ -157,7 +155,7 @@ final class QueryString
|
|
157 |
if (null === $value) {
|
158 |
return [$key, $value];
|
159 |
}
|
160 |
-
if (self::DECODE_PAIR_VALUE
|
161 |
$value = \preg_replace_callback(self::REGEXP_ENCODED_PATTERN, [self::class, 'decodeMatch'], $value);
|
162 |
}
|
163 |
return [$key, $value];
|
@@ -266,9 +264,6 @@ final class QueryString
|
|
266 |
*/
|
267 |
public static function extract($query, string $separator = '&', int $enc_type = \PHP_QUERY_RFC3986) : array
|
268 |
{
|
269 |
-
if ('' === $separator) {
|
270 |
-
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError('The separator character can not be the empty string.');
|
271 |
-
}
|
272 |
$query = self::prepareQuery($query, $enc_type);
|
273 |
if (null === $query || '' === $query) {
|
274 |
return [];
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
131 |
}
|
132 |
return $query;
|
133 |
}
|
|
|
|
|
|
|
|
|
134 |
private static function getPairs(string $query, string $separator) : array
|
135 |
{
|
136 |
if (\false === \strpos($query, $separator)) {
|
155 |
if (null === $value) {
|
156 |
return [$key, $value];
|
157 |
}
|
158 |
+
if ($parseValue === self::DECODE_PAIR_VALUE && 1 === \preg_match(self::REGEXP_ENCODED_PATTERN, $value)) {
|
159 |
$value = \preg_replace_callback(self::REGEXP_ENCODED_PATTERN, [self::class, 'decodeMatch'], $value);
|
160 |
}
|
161 |
return [$key, $value];
|
264 |
*/
|
265 |
public static function extract($query, string $separator = '&', int $enc_type = \PHP_QUERY_RFC3986) : array
|
266 |
{
|
|
|
|
|
|
|
267 |
$query = self::prepareQuery($query, $enc_type);
|
268 |
if (null === $query || '' === $query) {
|
269 |
return [];
|
vendor_prefixed/league/uri-components/src/UriModifier.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* League.Uri (
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
|
|
|
|
9 |
* @link https://github.com/thephpleague/uri-components
|
10 |
*
|
11 |
* For the full copyright and license information, please view the LICENSE
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* League.Uri (http://uri.thephpleague.com/components)
|
5 |
*
|
6 |
* @package League\Uri
|
7 |
* @subpackage League\Uri\Components
|
8 |
* @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
9 |
+
* @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
|
10 |
+
* @version 2.0.2
|
11 |
* @link https://github.com/thephpleague/uri-components
|
12 |
*
|
13 |
* For the full copyright and license information, please view the LICENSE
|
vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnaConversionFailed.php
DELETED
@@ -1,36 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* League.Uri (https://uri.thephpleague.com)
|
5 |
-
*
|
6 |
-
* (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
declare (strict_types=1);
|
12 |
-
namespace GFPDF_Vendor\League\Uri\Exceptions;
|
13 |
-
|
14 |
-
use GFPDF_Vendor\League\Uri\Idna\IdnaInfo;
|
15 |
-
final class IdnaConversionFailed extends \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError
|
16 |
-
{
|
17 |
-
/** @var IdnaInfo|null */
|
18 |
-
private $idnaInfo;
|
19 |
-
private function __construct(string $message, \GFPDF_Vendor\League\Uri\Idna\IdnaInfo $idnaInfo = null)
|
20 |
-
{
|
21 |
-
parent::__construct($message);
|
22 |
-
$this->idnaInfo = $idnaInfo;
|
23 |
-
}
|
24 |
-
public static function dueToIDNAError(string $domain, \GFPDF_Vendor\League\Uri\Idna\IdnaInfo $idnaInfo) : self
|
25 |
-
{
|
26 |
-
return new self('The host `' . $domain . '` is invalid : ' . \implode(', ', $idnaInfo->errorList()) . ' .', $idnaInfo);
|
27 |
-
}
|
28 |
-
public static function dueToInvalidHost(string $domain) : self
|
29 |
-
{
|
30 |
-
return new self('The host `' . $domain . '` is not a valid IDN host');
|
31 |
-
}
|
32 |
-
public function idnaInfo() : ?\GFPDF_Vendor\League\Uri\Idna\IdnaInfo
|
33 |
-
{
|
34 |
-
return $this->idnaInfo;
|
35 |
-
}
|
36 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor_prefixed/league/uri-interfaces/src/Idna/Idna.php
DELETED
@@ -1,172 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* League.Uri (https://uri.thephpleague.com)
|
5 |
-
*
|
6 |
-
* (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
declare (strict_types=1);
|
12 |
-
namespace GFPDF_Vendor\League\Uri\Idna;
|
13 |
-
|
14 |
-
use GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed;
|
15 |
-
use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
|
16 |
-
use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
|
17 |
-
use function defined;
|
18 |
-
use function function_exists;
|
19 |
-
use function idn_to_ascii;
|
20 |
-
use function idn_to_utf8;
|
21 |
-
use function rawurldecode;
|
22 |
-
use const INTL_IDNA_VARIANT_UTS46;
|
23 |
-
/**
|
24 |
-
* @see https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/uidna_8h.html
|
25 |
-
*/
|
26 |
-
final class Idna
|
27 |
-
{
|
28 |
-
private const REGEXP_IDNA_PATTERN = '/[^\\x20-\\x7f]/';
|
29 |
-
private const MAX_DOMAIN_LENGTH = 253;
|
30 |
-
private const MAX_LABEL_LENGTH = 63;
|
31 |
-
/**
|
32 |
-
* General registered name regular expression.
|
33 |
-
*
|
34 |
-
* @see https://tools.ietf.org/html/rfc3986#section-3.2.2
|
35 |
-
* @see https://regex101.com/r/fptU8V/1
|
36 |
-
*/
|
37 |
-
private const REGEXP_REGISTERED_NAME = '/
|
38 |
-
(?(DEFINE)
|
39 |
-
(?<unreserved>[a-z0-9_~\\-]) # . is missing as it is used to separate labels
|
40 |
-
(?<sub_delims>[!$&\'()*+,;=])
|
41 |
-
(?<encoded>%[A-F0-9]{2})
|
42 |
-
(?<reg_name>(?:(?&unreserved)|(?&sub_delims)|(?&encoded))*)
|
43 |
-
)
|
44 |
-
^(?:(?®_name)\\.)*(?®_name)\\.?$
|
45 |
-
/ix';
|
46 |
-
/**
|
47 |
-
* IDNA options.
|
48 |
-
*/
|
49 |
-
public const IDNA_DEFAULT = 0;
|
50 |
-
public const IDNA_ALLOW_UNASSIGNED = 1;
|
51 |
-
public const IDNA_USE_STD3_RULES = 2;
|
52 |
-
public const IDNA_CHECK_BIDI = 4;
|
53 |
-
public const IDNA_CHECK_CONTEXTJ = 8;
|
54 |
-
public const IDNA_NONTRANSITIONAL_TO_ASCII = 0x10;
|
55 |
-
public const IDNA_NONTRANSITIONAL_TO_UNICODE = 0x20;
|
56 |
-
public const IDNA_CHECK_CONTEXTO = 0x40;
|
57 |
-
/**
|
58 |
-
* IDNA errors.
|
59 |
-
*/
|
60 |
-
public const ERROR_NONE = 0;
|
61 |
-
public const ERROR_EMPTY_LABEL = 1;
|
62 |
-
public const ERROR_LABEL_TOO_LONG = 2;
|
63 |
-
public const ERROR_DOMAIN_NAME_TOO_LONG = 4;
|
64 |
-
public const ERROR_LEADING_HYPHEN = 8;
|
65 |
-
public const ERROR_TRAILING_HYPHEN = 0x10;
|
66 |
-
public const ERROR_HYPHEN_3_4 = 0x20;
|
67 |
-
public const ERROR_LEADING_COMBINING_MARK = 0x40;
|
68 |
-
public const ERROR_DISALLOWED = 0x80;
|
69 |
-
public const ERROR_PUNYCODE = 0x100;
|
70 |
-
public const ERROR_LABEL_HAS_DOT = 0x200;
|
71 |
-
public const ERROR_INVALID_ACE_LABEL = 0x400;
|
72 |
-
public const ERROR_BIDI = 0x800;
|
73 |
-
public const ERROR_CONTEXTJ = 0x1000;
|
74 |
-
public const ERROR_CONTEXTO_PUNCTUATION = 0x2000;
|
75 |
-
public const ERROR_CONTEXTO_DIGITS = 0x4000;
|
76 |
-
/**
|
77 |
-
* IDNA default options.
|
78 |
-
*/
|
79 |
-
public const IDNA2008_ASCII = self::IDNA_NONTRANSITIONAL_TO_ASCII | self::IDNA_CHECK_BIDI | self::IDNA_USE_STD3_RULES | self::IDNA_CHECK_CONTEXTJ;
|
80 |
-
public const IDNA2008_UNICODE = self::IDNA_NONTRANSITIONAL_TO_UNICODE | self::IDNA_CHECK_BIDI | self::IDNA_USE_STD3_RULES | self::IDNA_CHECK_CONTEXTJ;
|
81 |
-
/**
|
82 |
-
* @codeCoverageIgnore
|
83 |
-
*/
|
84 |
-
private static function supportsIdna() : void
|
85 |
-
{
|
86 |
-
static $idnSupport;
|
87 |
-
if (null === $idnSupport) {
|
88 |
-
$idnSupport = \function_exists('\\idn_to_ascii') && \defined('\\INTL_IDNA_VARIANT_UTS46');
|
89 |
-
}
|
90 |
-
if (!$idnSupport) {
|
91 |
-
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing('IDN host can not be processed. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.');
|
92 |
-
}
|
93 |
-
}
|
94 |
-
/**
|
95 |
-
* Converts the input to its IDNA ASCII form.
|
96 |
-
*
|
97 |
-
* This method returns the string converted to IDN ASCII form
|
98 |
-
*
|
99 |
-
* @throws SyntaxError if the string can not be converted to ASCII using IDN UTS46 algorithm
|
100 |
-
*/
|
101 |
-
public static function toAscii(string $domain, int $options) : \GFPDF_Vendor\League\Uri\Idna\IdnaInfo
|
102 |
-
{
|
103 |
-
$domain = \rawurldecode($domain);
|
104 |
-
if (1 === \preg_match(self::REGEXP_IDNA_PATTERN, $domain)) {
|
105 |
-
self::supportsIdna();
|
106 |
-
/* @param-out array{errors: int, isTransitionalDifferent: bool, result: string} $idnaInfo */
|
107 |
-
\idn_to_ascii($domain, $options, \INTL_IDNA_VARIANT_UTS46, $idnaInfo);
|
108 |
-
if ([] === $idnaInfo) {
|
109 |
-
return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl(['result' => \strtolower($domain), 'isTransitionalDifferent' => \false, 'errors' => self::validateDomainAndLabelLength($domain)]);
|
110 |
-
}
|
111 |
-
/* @var array{errors: int, isTransitionalDifferent: bool, result: string} $idnaInfo */
|
112 |
-
return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl($idnaInfo);
|
113 |
-
}
|
114 |
-
$error = self::ERROR_NONE;
|
115 |
-
if (1 !== \preg_match(self::REGEXP_REGISTERED_NAME, $domain)) {
|
116 |
-
$error |= self::ERROR_DISALLOWED;
|
117 |
-
}
|
118 |
-
return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl(['result' => \strtolower($domain), 'isTransitionalDifferent' => \false, 'errors' => self::validateDomainAndLabelLength($domain) | $error]);
|
119 |
-
}
|
120 |
-
/**
|
121 |
-
* Converts the input to its IDNA UNICODE form.
|
122 |
-
*
|
123 |
-
* This method returns the string converted to IDN UNICODE form
|
124 |
-
*
|
125 |
-
* @throws SyntaxError if the string can not be converted to UNICODE using IDN UTS46 algorithm
|
126 |
-
*/
|
127 |
-
public static function toUnicode(string $domain, int $options) : \GFPDF_Vendor\League\Uri\Idna\IdnaInfo
|
128 |
-
{
|
129 |
-
$domain = \rawurldecode($domain);
|
130 |
-
if (\false === \stripos($domain, 'xn--')) {
|
131 |
-
return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl(['result' => $domain, 'isTransitionalDifferent' => \false, 'errors' => self::ERROR_NONE]);
|
132 |
-
}
|
133 |
-
self::supportsIdna();
|
134 |
-
/* @param-out array{errors: int, isTransitionalDifferent: bool, result: string} $idnaInfo */
|
135 |
-
\idn_to_utf8($domain, $options, \INTL_IDNA_VARIANT_UTS46, $idnaInfo);
|
136 |
-
if ([] === $idnaInfo) {
|
137 |
-
throw \GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed::dueToInvalidHost($domain);
|
138 |
-
}
|
139 |
-
/* @var array{errors: int, isTransitionalDifferent: bool, result: string} $idnaInfo */
|
140 |
-
return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl($idnaInfo);
|
141 |
-
}
|
142 |
-
/**
|
143 |
-
* Adapted from https://github.com/TRowbotham/idna.
|
144 |
-
*
|
145 |
-
* @see https://github.com/TRowbotham/idna/blob/master/src/Idna.php#L236
|
146 |
-
*/
|
147 |
-
private static function validateDomainAndLabelLength(string $domain) : int
|
148 |
-
{
|
149 |
-
$error = self::ERROR_NONE;
|
150 |
-
$labels = \explode('.', $domain);
|
151 |
-
$maxDomainSize = self::MAX_DOMAIN_LENGTH;
|
152 |
-
$length = \count($labels);
|
153 |
-
// If the last label is empty and it is not the first label, then it is the root label.
|
154 |
-
// Increase the max size by 1, making it 254, to account for the root label's "."
|
155 |
-
// delimiter. This also means we don't need to check the last label's length for being too
|
156 |
-
// long.
|
157 |
-
if ($length > 1 && $labels[$length - 1] === '') {
|
158 |
-
++$maxDomainSize;
|
159 |
-
\array_pop($labels);
|
160 |
-
}
|
161 |
-
if (\strlen($domain) > $maxDomainSize) {
|
162 |
-
$error |= self::ERROR_DOMAIN_NAME_TOO_LONG;
|
163 |
-
}
|
164 |
-
foreach ($labels as $label) {
|
165 |
-
if (\strlen($label) > self::MAX_LABEL_LENGTH) {
|
166 |
-
$error |= self::ERROR_LABEL_TOO_LONG;
|
167 |
-
break;
|
168 |
-
}
|
169 |
-
}
|
170 |
-
return $error;
|
171 |
-
}
|
172 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor_prefixed/league/uri-interfaces/src/Idna/IdnaInfo.php
DELETED
@@ -1,78 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* League.Uri (https://uri.thephpleague.com)
|
5 |
-
*
|
6 |
-
* (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
declare (strict_types=1);
|
12 |
-
namespace GFPDF_Vendor\League\Uri\Idna;
|
13 |
-
|
14 |
-
use function array_filter;
|
15 |
-
use const ARRAY_FILTER_USE_KEY;
|
16 |
-
/**
|
17 |
-
* @see https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/uidna_8h.html
|
18 |
-
*/
|
19 |
-
final class IdnaInfo
|
20 |
-
{
|
21 |
-
private const ERRORS = [\GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_EMPTY_LABEL => 'a non-final domain name label (or the whole domain name) is empty', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_LABEL_TOO_LONG => 'a domain name label is longer than 63 bytes', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_DOMAIN_NAME_TOO_LONG => 'a domain name is longer than 255 bytes in its storage form', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_LEADING_HYPHEN => 'a label starts with a hyphen-minus ("-")', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_TRAILING_HYPHEN => 'a label ends with a hyphen-minus ("-")', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_HYPHEN_3_4 => 'a label contains hyphen-minus ("-") in the third and fourth positions', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_LEADING_COMBINING_MARK => 'a label starts with a combining mark', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_DISALLOWED => 'a label or domain name contains disallowed characters', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_PUNYCODE => 'a label starts with "xn--" but does not contain valid Punycode', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_LABEL_HAS_DOT => 'a label contains a dot=full stop', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_INVALID_ACE_LABEL => 'An ACE label does not contain a valid label string', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_BIDI => 'a label does not meet the IDNA BiDi requirements (for right-to-left characters)', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_CONTEXTJ => 'a label does not meet the IDNA CONTEXTJ requirements', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_CONTEXTO_DIGITS => 'a label does not meet the IDNA CONTEXTO requirements for digits', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_CONTEXTO_PUNCTUATION => 'a label does not meet the IDNA CONTEXTO requirements for punctuation characters. Some punctuation characters "Would otherwise have been DISALLOWED" but are allowed in certain contexts'];
|
22 |
-
/** @var string */
|
23 |
-
private $result;
|
24 |
-
/** @var bool */
|
25 |
-
private $isTransitionalDifferent;
|
26 |
-
/** @var int */
|
27 |
-
private $errors;
|
28 |
-
/**
|
29 |
-
* @var array<int, string>
|
30 |
-
*/
|
31 |
-
private $errorList;
|
32 |
-
private function __construct(string $result, bool $isTransitionalDifferent, int $errors)
|
33 |
-
{
|
34 |
-
$this->result = $result;
|
35 |
-
$this->errors = $errors;
|
36 |
-
$this->isTransitionalDifferent = $isTransitionalDifferent;
|
37 |
-
$this->errorList = \array_filter(self::ERRORS, function (int $error) : bool {
|
38 |
-
return 0 !== ($error & $this->errors);
|
39 |
-
}, \ARRAY_FILTER_USE_KEY);
|
40 |
-
}
|
41 |
-
/**
|
42 |
-
* @param array{result:string, isTransitionalDifferent:bool, errors:int} $infos
|
43 |
-
*/
|
44 |
-
public static function fromIntl(array $infos) : self
|
45 |
-
{
|
46 |
-
return new self($infos['result'], $infos['isTransitionalDifferent'], $infos['errors']);
|
47 |
-
}
|
48 |
-
/**
|
49 |
-
* @param array{result:string, isTransitionalDifferent:bool, errors:int} $properties
|
50 |
-
*/
|
51 |
-
public static function __set_state(array $properties) : self
|
52 |
-
{
|
53 |
-
return self::fromIntl($properties);
|
54 |
-
}
|
55 |
-
public function result() : string
|
56 |
-
{
|
57 |
-
return $this->result;
|
58 |
-
}
|
59 |
-
public function isTransitionalDifferent() : bool
|
60 |
-
{
|
61 |
-
return $this->isTransitionalDifferent;
|
62 |
-
}
|
63 |
-
public function errors() : int
|
64 |
-
{
|
65 |
-
return $this->errors;
|
66 |
-
}
|
67 |
-
public function error(int $error) : ?string
|
68 |
-
{
|
69 |
-
return $this->errorList[$error] ?? null;
|
70 |
-
}
|
71 |
-
/**
|
72 |
-
* @return array<int, string>
|
73 |
-
*/
|
74 |
-
public function errorList() : array
|
75 |
-
{
|
76 |
-
return $this->errorList;
|
77 |
-
}
|
78 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor_prefixed/league/uri/src/Uri.php
CHANGED
@@ -13,19 +13,20 @@ namespace GFPDF_Vendor\League\Uri;
|
|
13 |
|
14 |
use GFPDF_Vendor\League\Uri\Contracts\UriInterface;
|
15 |
use GFPDF_Vendor\League\Uri\Exceptions\FileinfoSupportMissing;
|
16 |
-
use GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed;
|
17 |
use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
|
18 |
use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
|
19 |
-
use GFPDF_Vendor\League\Uri\Idna\Idna;
|
20 |
use Psr\Http\Message\UriInterface as Psr7UriInterface;
|
21 |
use function array_filter;
|
22 |
use function array_map;
|
23 |
use function base64_decode;
|
24 |
use function base64_encode;
|
25 |
use function count;
|
|
|
26 |
use function explode;
|
27 |
use function file_get_contents;
|
28 |
use function filter_var;
|
|
|
|
|
29 |
use function implode;
|
30 |
use function in_array;
|
31 |
use function inet_pton;
|
@@ -49,6 +50,24 @@ use const FILTER_FLAG_IPV6;
|
|
49 |
use const FILTER_NULL_ON_FAILURE;
|
50 |
use const FILTER_VALIDATE_BOOLEAN;
|
51 |
use const FILTER_VALIDATE_IP;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
|
53 |
{
|
54 |
/**
|
@@ -110,10 +129,6 @@ final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
|
|
110 |
(?<sub_delims>[!$&\'()*+,;=:]) # also include the : character
|
111 |
)+
|
112 |
$/ix';
|
113 |
-
/**
|
114 |
-
* RFC3986 IPvFuture host and port component.
|
115 |
-
*/
|
116 |
-
private const REGEXP_HOST_PORT = ',^(?<host>(\\[.*]|[^:])*)(:(?<port>[^/?#]*))?$,x';
|
117 |
/**
|
118 |
* Significant 10 bits of IP to detect Zone ID regular expression pattern.
|
119 |
*/
|
@@ -306,18 +321,74 @@ final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
|
|
306 |
*/
|
307 |
private function formatRegisteredName(string $host) : string
|
308 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
309 |
$formatted_host = \rawurldecode($host);
|
310 |
if (1 === \preg_match(self::REGEXP_HOST_REGNAME, $formatted_host)) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
return $formatted_host;
|
312 |
}
|
313 |
if (1 === \preg_match(self::REGEXP_HOST_GEN_DELIMS, $formatted_host)) {
|
314 |
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : a registered name can not contain URI delimiters or spaces', $host));
|
315 |
}
|
316 |
-
|
317 |
-
if (
|
318 |
-
throw \GFPDF_Vendor\League\Uri\Exceptions\
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
319 |
}
|
320 |
-
return $
|
321 |
}
|
322 |
/**
|
323 |
* Validate and Format the IPv6/IPvfuture host.
|
@@ -609,7 +680,8 @@ final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
|
|
609 |
if (null !== $server['SERVER_PORT']) {
|
610 |
$server['SERVER_PORT'] = (int) $server['SERVER_PORT'];
|
611 |
}
|
612 |
-
if (isset($server['HTTP_HOST'])
|
|
|
613 |
return [$matches['host'], isset($matches['port']) ? (int) $matches['port'] : $server['SERVER_PORT']];
|
614 |
}
|
615 |
if (!isset($server['SERVER_ADDR'])) {
|
@@ -859,24 +931,20 @@ final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
|
|
859 |
}
|
860 |
return $scheme . $authority . $path . $query . $fragment;
|
861 |
}
|
862 |
-
public function toString() : string
|
863 |
-
{
|
864 |
-
$this->uri = $this->uri ?? $this->getUriString($this->scheme, $this->authority, $this->path, $this->query, $this->fragment);
|
865 |
-
return $this->uri;
|
866 |
-
}
|
867 |
/**
|
868 |
* {@inheritDoc}
|
869 |
*/
|
870 |
public function __toString() : string
|
871 |
{
|
872 |
-
|
|
|
873 |
}
|
874 |
/**
|
875 |
* {@inheritDoc}
|
876 |
*/
|
877 |
public function jsonSerialize() : string
|
878 |
{
|
879 |
-
return $this->
|
880 |
}
|
881 |
/**
|
882 |
* {@inheritDoc}
|
13 |
|
14 |
use GFPDF_Vendor\League\Uri\Contracts\UriInterface;
|
15 |
use GFPDF_Vendor\League\Uri\Exceptions\FileinfoSupportMissing;
|
|
|
16 |
use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
|
17 |
use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
|
|
|
18 |
use Psr\Http\Message\UriInterface as Psr7UriInterface;
|
19 |
use function array_filter;
|
20 |
use function array_map;
|
21 |
use function base64_decode;
|
22 |
use function base64_encode;
|
23 |
use function count;
|
24 |
+
use function defined;
|
25 |
use function explode;
|
26 |
use function file_get_contents;
|
27 |
use function filter_var;
|
28 |
+
use function function_exists;
|
29 |
+
use function idn_to_ascii;
|
30 |
use function implode;
|
31 |
use function in_array;
|
32 |
use function inet_pton;
|
50 |
use const FILTER_NULL_ON_FAILURE;
|
51 |
use const FILTER_VALIDATE_BOOLEAN;
|
52 |
use const FILTER_VALIDATE_IP;
|
53 |
+
use const IDNA_CHECK_BIDI;
|
54 |
+
use const IDNA_CHECK_CONTEXTJ;
|
55 |
+
use const IDNA_ERROR_BIDI;
|
56 |
+
use const IDNA_ERROR_CONTEXTJ;
|
57 |
+
use const IDNA_ERROR_DISALLOWED;
|
58 |
+
use const IDNA_ERROR_DOMAIN_NAME_TOO_LONG;
|
59 |
+
use const IDNA_ERROR_EMPTY_LABEL;
|
60 |
+
use const IDNA_ERROR_HYPHEN_3_4;
|
61 |
+
use const IDNA_ERROR_INVALID_ACE_LABEL;
|
62 |
+
use const IDNA_ERROR_LABEL_HAS_DOT;
|
63 |
+
use const IDNA_ERROR_LABEL_TOO_LONG;
|
64 |
+
use const IDNA_ERROR_LEADING_COMBINING_MARK;
|
65 |
+
use const IDNA_ERROR_LEADING_HYPHEN;
|
66 |
+
use const IDNA_ERROR_PUNYCODE;
|
67 |
+
use const IDNA_ERROR_TRAILING_HYPHEN;
|
68 |
+
use const IDNA_NONTRANSITIONAL_TO_ASCII;
|
69 |
+
use const IDNA_NONTRANSITIONAL_TO_UNICODE;
|
70 |
+
use const INTL_IDNA_VARIANT_UTS46;
|
71 |
final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
|
72 |
{
|
73 |
/**
|
129 |
(?<sub_delims>[!$&\'()*+,;=:]) # also include the : character
|
130 |
)+
|
131 |
$/ix';
|
|
|
|
|
|
|
|
|
132 |
/**
|
133 |
* Significant 10 bits of IP to detect Zone ID regular expression pattern.
|
134 |
*/
|
321 |
*/
|
322 |
private function formatRegisteredName(string $host) : string
|
323 |
{
|
324 |
+
// @codeCoverageIgnoreStart
|
325 |
+
// added because it is not possible in travis to disabled the ext/intl extension
|
326 |
+
// see travis issue https://github.com/travis-ci/travis-ci/issues/4701
|
327 |
+
static $idn_support = null;
|
328 |
+
$idn_support = $idn_support ?? \function_exists('idn_to_ascii') && \defined('INTL_IDNA_VARIANT_UTS46');
|
329 |
+
// @codeCoverageIgnoreEnd
|
330 |
$formatted_host = \rawurldecode($host);
|
331 |
if (1 === \preg_match(self::REGEXP_HOST_REGNAME, $formatted_host)) {
|
332 |
+
$formatted_host = \strtolower($formatted_host);
|
333 |
+
if (\false === \strpos($formatted_host, 'xn--')) {
|
334 |
+
return $formatted_host;
|
335 |
+
}
|
336 |
+
// @codeCoverageIgnoreStart
|
337 |
+
if (!$idn_support) {
|
338 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('the host `%s` could not be processed for IDN. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.', $host));
|
339 |
+
}
|
340 |
+
// @codeCoverageIgnoreEnd
|
341 |
+
$unicode = \idn_to_utf8($host, \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_NONTRANSITIONAL_TO_UNICODE, \INTL_IDNA_VARIANT_UTS46, $arr);
|
342 |
+
if (0 !== $arr['errors']) {
|
343 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : %s', $host, $this->getIDNAErrors($arr['errors'])));
|
344 |
+
}
|
345 |
+
// @codeCoverageIgnoreStart
|
346 |
+
if (\false === $unicode) {
|
347 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
|
348 |
+
}
|
349 |
+
// @codeCoverageIgnoreEnd
|
350 |
return $formatted_host;
|
351 |
}
|
352 |
if (1 === \preg_match(self::REGEXP_HOST_GEN_DELIMS, $formatted_host)) {
|
353 |
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : a registered name can not contain URI delimiters or spaces', $host));
|
354 |
}
|
355 |
+
// @codeCoverageIgnoreStart
|
356 |
+
if (!$idn_support) {
|
357 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('the host `%s` could not be processed for IDN. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.', $host));
|
358 |
+
}
|
359 |
+
// @codeCoverageIgnoreEnd
|
360 |
+
$formatted_host = \idn_to_ascii($formatted_host, \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_NONTRANSITIONAL_TO_ASCII, \INTL_IDNA_VARIANT_UTS46, $arr);
|
361 |
+
if ([] === $arr) {
|
362 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is invalid', $host));
|
363 |
+
}
|
364 |
+
if (0 !== $arr['errors']) {
|
365 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : %s', $host, $this->getIDNAErrors($arr['errors'])));
|
366 |
+
}
|
367 |
+
// @codeCoverageIgnoreStart
|
368 |
+
if (\false === $formatted_host) {
|
369 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
|
370 |
+
}
|
371 |
+
// @codeCoverageIgnoreEnd
|
372 |
+
return $arr['result'];
|
373 |
+
}
|
374 |
+
/**
|
375 |
+
* Retrieves and format IDNA conversion error message.
|
376 |
+
*
|
377 |
+
* @link http://icu-project.org/apiref/icu4j/com/ibm/icu/text/IDNA.Error.html
|
378 |
+
*/
|
379 |
+
private function getIDNAErrors(int $error_byte) : string
|
380 |
+
{
|
381 |
+
/**
|
382 |
+
* IDNA errors.
|
383 |
+
*/
|
384 |
+
static $idnErrors = [\IDNA_ERROR_EMPTY_LABEL => 'a non-final domain name label (or the whole domain name) is empty', \IDNA_ERROR_LABEL_TOO_LONG => 'a domain name label is longer than 63 bytes', \IDNA_ERROR_DOMAIN_NAME_TOO_LONG => 'a domain name is longer than 255 bytes in its storage form', \IDNA_ERROR_LEADING_HYPHEN => 'a label starts with a hyphen-minus ("-")', \IDNA_ERROR_TRAILING_HYPHEN => 'a label ends with a hyphen-minus ("-")', \IDNA_ERROR_HYPHEN_3_4 => 'a label contains hyphen-minus ("-") in the third and fourth positions', \IDNA_ERROR_LEADING_COMBINING_MARK => 'a label starts with a combining mark', \IDNA_ERROR_DISALLOWED => 'a label or domain name contains disallowed characters', \IDNA_ERROR_PUNYCODE => 'a label starts with "xn--" but does not contain valid Punycode', \IDNA_ERROR_LABEL_HAS_DOT => 'a label contains a dot=full stop', \IDNA_ERROR_INVALID_ACE_LABEL => 'An ACE label does not contain a valid label string', \IDNA_ERROR_BIDI => 'a label does not meet the IDNA BiDi requirements (for right-to-left characters)', \IDNA_ERROR_CONTEXTJ => 'a label does not meet the IDNA CONTEXTJ requirements'];
|
385 |
+
$res = [];
|
386 |
+
foreach ($idnErrors as $error => $reason) {
|
387 |
+
if ($error === ($error_byte & $error)) {
|
388 |
+
$res[] = $reason;
|
389 |
+
}
|
390 |
}
|
391 |
+
return [] === $res ? 'Unknown IDNA conversion error.' : \implode(', ', $res) . '.';
|
392 |
}
|
393 |
/**
|
394 |
* Validate and Format the IPv6/IPvfuture host.
|
680 |
if (null !== $server['SERVER_PORT']) {
|
681 |
$server['SERVER_PORT'] = (int) $server['SERVER_PORT'];
|
682 |
}
|
683 |
+
if (isset($server['HTTP_HOST'])) {
|
684 |
+
\preg_match(',^(?<host>(\\[.*]|[^:])*)(:(?<port>[^/?#]*))?$,x', $server['HTTP_HOST'], $matches);
|
685 |
return [$matches['host'], isset($matches['port']) ? (int) $matches['port'] : $server['SERVER_PORT']];
|
686 |
}
|
687 |
if (!isset($server['SERVER_ADDR'])) {
|
931 |
}
|
932 |
return $scheme . $authority . $path . $query . $fragment;
|
933 |
}
|
|
|
|
|
|
|
|
|
|
|
934 |
/**
|
935 |
* {@inheritDoc}
|
936 |
*/
|
937 |
public function __toString() : string
|
938 |
{
|
939 |
+
$this->uri = $this->uri ?? $this->getUriString($this->scheme, $this->authority, $this->path, $this->query, $this->fragment);
|
940 |
+
return $this->uri;
|
941 |
}
|
942 |
/**
|
943 |
* {@inheritDoc}
|
944 |
*/
|
945 |
public function jsonSerialize() : string
|
946 |
{
|
947 |
+
return $this->__toString();
|
948 |
}
|
949 |
/**
|
950 |
* {@inheritDoc}
|
vendor_prefixed/league/uri/src/UriString.php
CHANGED
@@ -11,14 +11,16 @@
|
|
11 |
declare (strict_types=1);
|
12 |
namespace GFPDF_Vendor\League\Uri;
|
13 |
|
14 |
-
use GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed;
|
15 |
use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
|
16 |
use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
|
17 |
-
use GFPDF_Vendor\League\Uri\Idna\Idna;
|
18 |
use function array_merge;
|
|
|
19 |
use function explode;
|
20 |
use function filter_var;
|
|
|
21 |
use function gettype;
|
|
|
|
|
22 |
use function inet_pton;
|
23 |
use function is_object;
|
24 |
use function is_scalar;
|
@@ -30,6 +32,20 @@ use function strpos;
|
|
30 |
use function substr;
|
31 |
use const FILTER_FLAG_IPV6;
|
32 |
use const FILTER_VALIDATE_IP;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
/**
|
34 |
* A class to parse a URI string according to RFC3986.
|
35 |
*
|
@@ -345,20 +361,78 @@ final class UriString
|
|
345 |
*/
|
346 |
private static function filterRegisteredName(string $host) : string
|
347 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
$formatted_host = \rawurldecode($host);
|
349 |
if (1 === \preg_match(self::REGEXP_REGISTERED_NAME, $formatted_host)) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
return $host;
|
351 |
}
|
352 |
//to test IDN host non-ascii characters must be present in the host
|
353 |
if (1 !== \preg_match(self::REGEXP_IDN_PATTERN, $formatted_host)) {
|
354 |
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is invalid : the host is not a valid registered name', $host));
|
355 |
}
|
356 |
-
|
357 |
-
if (
|
358 |
-
throw \GFPDF_Vendor\League\Uri\Exceptions\
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
359 |
}
|
360 |
return $host;
|
361 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
362 |
/**
|
363 |
* Validates a IPv6/IPvfuture host.
|
364 |
*
|
11 |
declare (strict_types=1);
|
12 |
namespace GFPDF_Vendor\League\Uri;
|
13 |
|
|
|
14 |
use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
|
15 |
use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
|
|
|
16 |
use function array_merge;
|
17 |
+
use function defined;
|
18 |
use function explode;
|
19 |
use function filter_var;
|
20 |
+
use function function_exists;
|
21 |
use function gettype;
|
22 |
+
use function idn_to_ascii;
|
23 |
+
use function implode;
|
24 |
use function inet_pton;
|
25 |
use function is_object;
|
26 |
use function is_scalar;
|
32 |
use function substr;
|
33 |
use const FILTER_FLAG_IPV6;
|
34 |
use const FILTER_VALIDATE_IP;
|
35 |
+
use const IDNA_ERROR_BIDI;
|
36 |
+
use const IDNA_ERROR_CONTEXTJ;
|
37 |
+
use const IDNA_ERROR_DISALLOWED;
|
38 |
+
use const IDNA_ERROR_DOMAIN_NAME_TOO_LONG;
|
39 |
+
use const IDNA_ERROR_EMPTY_LABEL;
|
40 |
+
use const IDNA_ERROR_HYPHEN_3_4;
|
41 |
+
use const IDNA_ERROR_INVALID_ACE_LABEL;
|
42 |
+
use const IDNA_ERROR_LABEL_HAS_DOT;
|
43 |
+
use const IDNA_ERROR_LABEL_TOO_LONG;
|
44 |
+
use const IDNA_ERROR_LEADING_COMBINING_MARK;
|
45 |
+
use const IDNA_ERROR_LEADING_HYPHEN;
|
46 |
+
use const IDNA_ERROR_PUNYCODE;
|
47 |
+
use const IDNA_ERROR_TRAILING_HYPHEN;
|
48 |
+
use const INTL_IDNA_VARIANT_UTS46;
|
49 |
/**
|
50 |
* A class to parse a URI string according to RFC3986.
|
51 |
*
|
361 |
*/
|
362 |
private static function filterRegisteredName(string $host) : string
|
363 |
{
|
364 |
+
// @codeCoverageIgnoreStart
|
365 |
+
// added because it is not possible in travis to disabled the ext/intl extension
|
366 |
+
// see travis issue https://github.com/travis-ci/travis-ci/issues/4701
|
367 |
+
static $idn_support = null;
|
368 |
+
$idn_support = $idn_support ?? \function_exists('idn_to_ascii') && \defined('INTL_IDNA_VARIANT_UTS46');
|
369 |
+
// @codeCoverageIgnoreEnd
|
370 |
$formatted_host = \rawurldecode($host);
|
371 |
if (1 === \preg_match(self::REGEXP_REGISTERED_NAME, $formatted_host)) {
|
372 |
+
if (\false === \strpos($formatted_host, 'xn--')) {
|
373 |
+
return $host;
|
374 |
+
}
|
375 |
+
// @codeCoverageIgnoreStart
|
376 |
+
if (!$idn_support) {
|
377 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('the host `%s` could not be processed for IDN. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.', $host));
|
378 |
+
}
|
379 |
+
// @codeCoverageIgnoreEnd
|
380 |
+
$unicode = \idn_to_utf8($host, 0, \INTL_IDNA_VARIANT_UTS46, $arr);
|
381 |
+
if (0 !== $arr['errors']) {
|
382 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : %s', $host, self::getIDNAErrors($arr['errors'])));
|
383 |
+
}
|
384 |
+
// @codeCoverageIgnoreStart
|
385 |
+
if (\false === $unicode) {
|
386 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
|
387 |
+
}
|
388 |
+
// @codeCoverageIgnoreEnd
|
389 |
return $host;
|
390 |
}
|
391 |
//to test IDN host non-ascii characters must be present in the host
|
392 |
if (1 !== \preg_match(self::REGEXP_IDN_PATTERN, $formatted_host)) {
|
393 |
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is invalid : the host is not a valid registered name', $host));
|
394 |
}
|
395 |
+
// @codeCoverageIgnoreStart
|
396 |
+
if (!$idn_support) {
|
397 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('the host `%s` could not be processed for IDN. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.', $host));
|
398 |
+
}
|
399 |
+
// @codeCoverageIgnoreEnd
|
400 |
+
$retval = \idn_to_ascii($formatted_host, 0, \INTL_IDNA_VARIANT_UTS46, $arr);
|
401 |
+
if ([] === $arr) {
|
402 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is not a valid IDN host', $host));
|
403 |
+
}
|
404 |
+
if (0 !== $arr['errors']) {
|
405 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is not a valid IDN host : %s', $host, self::getIDNAErrors($arr['errors'])));
|
406 |
+
}
|
407 |
+
// @codeCoverageIgnoreStart
|
408 |
+
if (\false === $retval) {
|
409 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
|
410 |
+
}
|
411 |
+
// @codeCoverageIgnoreEnd
|
412 |
+
if (\false !== \strpos($retval, '%')) {
|
413 |
+
throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is invalid : the host is not a valid registered name', $host));
|
414 |
}
|
415 |
return $host;
|
416 |
}
|
417 |
+
/**
|
418 |
+
* Retrieves and format IDNA conversion error message.
|
419 |
+
*
|
420 |
+
* @link http://icu-project.org/apiref/icu4j/com/ibm/icu/text/IDNA.Error.html
|
421 |
+
*/
|
422 |
+
private static function getIDNAErrors(int $error_byte) : string
|
423 |
+
{
|
424 |
+
/**
|
425 |
+
* IDNA errors.
|
426 |
+
*/
|
427 |
+
static $idn_errors = [\IDNA_ERROR_EMPTY_LABEL => 'a non-final domain name label (or the whole domain name) is empty', \IDNA_ERROR_LABEL_TOO_LONG => 'a domain name label is longer than 63 bytes', \IDNA_ERROR_DOMAIN_NAME_TOO_LONG => 'a domain name is longer than 255 bytes in its storage form', \IDNA_ERROR_LEADING_HYPHEN => 'a label starts with a hyphen-minus ("-")', \IDNA_ERROR_TRAILING_HYPHEN => 'a label ends with a hyphen-minus ("-")', \IDNA_ERROR_HYPHEN_3_4 => 'a label contains hyphen-minus ("-") in the third and fourth positions', \IDNA_ERROR_LEADING_COMBINING_MARK => 'a label starts with a combining mark', \IDNA_ERROR_DISALLOWED => 'a label or domain name contains disallowed characters', \IDNA_ERROR_PUNYCODE => 'a label starts with "xn--" but does not contain valid Punycode', \IDNA_ERROR_LABEL_HAS_DOT => 'a label contains a dot=full stop', \IDNA_ERROR_INVALID_ACE_LABEL => 'An ACE label does not contain a valid label string', \IDNA_ERROR_BIDI => 'a label does not meet the IDNA BiDi requirements (for right-to-left characters)', \IDNA_ERROR_CONTEXTJ => 'a label does not meet the IDNA CONTEXTJ requirements'];
|
428 |
+
$res = [];
|
429 |
+
foreach ($idn_errors as $error => $reason) {
|
430 |
+
if ($error === ($error_byte & $error)) {
|
431 |
+
$res[] = $reason;
|
432 |
+
}
|
433 |
+
}
|
434 |
+
return [] === $res ? 'Unknown IDNA conversion error.' : \implode(', ', $res) . '.';
|
435 |
+
}
|
436 |
/**
|
437 |
* Validates a IPv6/IPvfuture host.
|
438 |
*
|
vendor_prefixed/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php
CHANGED
@@ -120,7 +120,7 @@ class DOMTreeBuilder implements \GFPDF_Vendor\Masterminds\HTML5\Parser\EventHand
|
|
120 |
// documents, and attempting to up-convert any older DTDs to HTML5.
|
121 |
$dt = $impl->createDocumentType('html');
|
122 |
// $this->doc = \DOMImplementation::createDocument(NULL, 'html', $dt);
|
123 |
-
$this->doc = $impl->createDocument(null,
|
124 |
$this->doc->encoding = !empty($options['encoding']) ? $options['encoding'] : 'UTF-8';
|
125 |
}
|
126 |
$this->errors = array();
|
@@ -315,7 +315,6 @@ class DOMTreeBuilder implements \GFPDF_Vendor\Masterminds\HTML5\Parser\EventHand
|
|
315 |
} elseif ($this->insertMode === static::IM_IN_MATHML) {
|
316 |
$aName = \GFPDF_Vendor\Masterminds\HTML5\Elements::normalizeMathMlAttribute($aName);
|
317 |
}
|
318 |
-
$aVal = (string) $aVal;
|
319 |
try {
|
320 |
$prefix = ($pos = \strpos($aName, ':')) ? \substr($aName, 0, $pos) : \false;
|
321 |
if ('xmlns' === $prefix) {
|
120 |
// documents, and attempting to up-convert any older DTDs to HTML5.
|
121 |
$dt = $impl->createDocumentType('html');
|
122 |
// $this->doc = \DOMImplementation::createDocument(NULL, 'html', $dt);
|
123 |
+
$this->doc = $impl->createDocument(null, null, $dt);
|
124 |
$this->doc->encoding = !empty($options['encoding']) ? $options['encoding'] : 'UTF-8';
|
125 |
}
|
126 |
$this->errors = array();
|
315 |
} elseif ($this->insertMode === static::IM_IN_MATHML) {
|
316 |
$aName = \GFPDF_Vendor\Masterminds\HTML5\Elements::normalizeMathMlAttribute($aName);
|
317 |
}
|
|
|
318 |
try {
|
319 |
$prefix = ($pos = \strpos($aName, ':')) ? \substr($aName, 0, $pos) : \false;
|
320 |
if ('xmlns' === $prefix) {
|
vendor_prefixed/monolog/src/Monolog/ErrorHandler.php
CHANGED
@@ -24,27 +24,16 @@ use Psr\Log\LogLevel;
|
|
24 |
*/
|
25 |
class ErrorHandler
|
26 |
{
|
27 |
-
/** @var LoggerInterface */
|
28 |
private $logger;
|
29 |
-
|
30 |
-
private $
|
31 |
-
|
32 |
-
private $
|
33 |
-
|
34 |
-
private $
|
35 |
-
|
36 |
-
private $
|
37 |
-
/** @var bool */
|
38 |
-
private $handleOnlyReportedErrors = \true;
|
39 |
-
/** @var bool */
|
40 |
-
private $hasFatalErrorHandler = \false;
|
41 |
-
/** @var LogLevel::* */
|
42 |
-
private $fatalLevel = \Psr\Log\LogLevel::ALERT;
|
43 |
-
/** @var ?string */
|
44 |
-
private $reservedMemory = null;
|
45 |
-
/** @var ?mixed */
|
46 |
private $lastFatalTrace;
|
47 |
-
/** @var int[] */
|
48 |
private static $fatalErrors = [\E_ERROR, \E_PARSE, \E_CORE_ERROR, \E_COMPILE_ERROR, \E_USER_ERROR];
|
49 |
public function __construct(\Psr\Log\LoggerInterface $logger)
|
50 |
{
|
@@ -55,10 +44,10 @@ class ErrorHandler
|
|
55 |
*
|
56 |
* By default it will handle errors, exceptions and fatal errors
|
57 |
*
|
58 |
-
* @param LoggerInterface
|
59 |
-
* @param array
|
60 |
-
* @param array
|
61 |
-
* @param
|
62 |
* @return ErrorHandler
|
63 |
*/
|
64 |
public static function register(\Psr\Log\LoggerInterface $logger, $errorLevelMap = [], $exceptionLevelMap = [], $fatalLevel = null) : self
|
@@ -76,11 +65,7 @@ class ErrorHandler
|
|
76 |
}
|
77 |
return $handler;
|
78 |
}
|
79 |
-
|
80 |
-
* @param array<class-string, LogLevel::*> $levelMap an array of class name to LogLevel::* constant mapping
|
81 |
-
* @return $this
|
82 |
-
*/
|
83 |
-
public function registerExceptionHandler(array $levelMap = [], bool $callPrevious = \true) : self
|
84 |
{
|
85 |
$prev = \set_exception_handler(function (\Throwable $e) : void {
|
86 |
$this->handleException($e);
|
@@ -96,52 +81,37 @@ class ErrorHandler
|
|
96 |
}
|
97 |
return $this;
|
98 |
}
|
99 |
-
|
100 |
-
* @param array<int, LogLevel::*> $levelMap an array of E_* constant to LogLevel::* constant mapping
|
101 |
-
* @return $this
|
102 |
-
*/
|
103 |
-
public function registerErrorHandler(array $levelMap = [], bool $callPrevious = \true, int $errorTypes = -1, bool $handleOnlyReportedErrors = \true) : self
|
104 |
{
|
105 |
$prev = \set_error_handler([$this, 'handleError'], $errorTypes);
|
106 |
$this->errorLevelMap = \array_replace($this->defaultErrorLevelMap(), $levelMap);
|
107 |
if ($callPrevious) {
|
108 |
$this->previousErrorHandler = $prev ?: \true;
|
109 |
-
} else {
|
110 |
-
$this->previousErrorHandler = null;
|
111 |
}
|
112 |
$this->handleOnlyReportedErrors = $handleOnlyReportedErrors;
|
113 |
return $this;
|
114 |
}
|
115 |
/**
|
116 |
-
* @param
|
117 |
-
* @param int
|
118 |
*/
|
119 |
public function registerFatalHandler($level = null, int $reservedMemorySize = 20) : self
|
120 |
{
|
121 |
\register_shutdown_function([$this, 'handleFatalError']);
|
122 |
$this->reservedMemory = \str_repeat(' ', 1024 * $reservedMemorySize);
|
123 |
-
$this->fatalLevel =
|
124 |
$this->hasFatalErrorHandler = \true;
|
125 |
return $this;
|
126 |
}
|
127 |
-
/**
|
128 |
-
* @return array<class-string, LogLevel::*>
|
129 |
-
*/
|
130 |
protected function defaultExceptionLevelMap() : array
|
131 |
{
|
132 |
return ['ParseError' => \Psr\Log\LogLevel::CRITICAL, 'Throwable' => \Psr\Log\LogLevel::ERROR];
|
133 |
}
|
134 |
-
/**
|
135 |
-
* @return array<int, LogLevel::*>
|
136 |
-
*/
|
137 |
protected function defaultErrorLevelMap() : array
|
138 |
{
|
139 |
return [\E_ERROR => \Psr\Log\LogLevel::CRITICAL, \E_WARNING => \Psr\Log\LogLevel::WARNING, \E_PARSE => \Psr\Log\LogLevel::ALERT, \E_NOTICE => \Psr\Log\LogLevel::NOTICE, \E_CORE_ERROR => \Psr\Log\LogLevel::CRITICAL, \E_CORE_WARNING => \Psr\Log\LogLevel::WARNING, \E_COMPILE_ERROR => \Psr\Log\LogLevel::ALERT, \E_COMPILE_WARNING => \Psr\Log\LogLevel::WARNING, \E_USER_ERROR => \Psr\Log\LogLevel::ERROR, \E_USER_WARNING => \Psr\Log\LogLevel::WARNING, \E_USER_NOTICE => \Psr\Log\LogLevel::NOTICE, \E_STRICT => \Psr\Log\LogLevel::NOTICE, \E_RECOVERABLE_ERROR => \Psr\Log\LogLevel::ERROR, \E_DEPRECATED => \Psr\Log\LogLevel::NOTICE, \E_USER_DEPRECATED => \Psr\Log\LogLevel::NOTICE];
|
140 |
}
|
141 |
-
|
142 |
-
* @phpstan-return never
|
143 |
-
*/
|
144 |
-
private function handleException(\Throwable $e) : void
|
145 |
{
|
146 |
$level = \Psr\Log\LogLevel::ERROR;
|
147 |
foreach ($this->uncaughtExceptionLevelMap as $class => $candidate) {
|
@@ -161,13 +131,11 @@ class ErrorHandler
|
|
161 |
}
|
162 |
/**
|
163 |
* @private
|
164 |
-
*
|
165 |
-
* @param mixed[] $context
|
166 |
*/
|
167 |
-
public function handleError(
|
168 |
{
|
169 |
if ($this->handleOnlyReportedErrors && !(\error_reporting() & $code)) {
|
170 |
-
return
|
171 |
}
|
172 |
// fatal error codes are ignored if a fatal error handler is present as well to avoid duplicate log entries
|
173 |
if (!$this->hasFatalErrorHandler || !\in_array($code, self::$fatalErrors, \true)) {
|
@@ -182,19 +150,19 @@ class ErrorHandler
|
|
182 |
if ($this->previousErrorHandler === \true) {
|
183 |
return \false;
|
184 |
} elseif ($this->previousErrorHandler) {
|
185 |
-
return (
|
186 |
}
|
187 |
return \true;
|
188 |
}
|
189 |
/**
|
190 |
* @private
|
191 |
*/
|
192 |
-
public function handleFatalError()
|
193 |
{
|
194 |
$this->reservedMemory = '';
|
195 |
$lastError = \error_get_last();
|
196 |
if ($lastError && \in_array($lastError['type'], self::$fatalErrors, \true)) {
|
197 |
-
$this->logger->log($this->fatalLevel, 'Fatal Error (' . self::codeToString($lastError['type']) . '): ' . $lastError['message'], ['code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $this->lastFatalTrace]);
|
198 |
if ($this->logger instanceof \GFPDF_Vendor\Monolog\Logger) {
|
199 |
foreach ($this->logger->getHandlers() as $handler) {
|
200 |
$handler->close();
|
@@ -202,9 +170,6 @@ class ErrorHandler
|
|
202 |
}
|
203 |
}
|
204 |
}
|
205 |
-
/**
|
206 |
-
* @param int $code
|
207 |
-
*/
|
208 |
private static function codeToString($code) : string
|
209 |
{
|
210 |
switch ($code) {
|
24 |
*/
|
25 |
class ErrorHandler
|
26 |
{
|
|
|
27 |
private $logger;
|
28 |
+
private $previousExceptionHandler;
|
29 |
+
private $uncaughtExceptionLevelMap;
|
30 |
+
private $previousErrorHandler;
|
31 |
+
private $errorLevelMap;
|
32 |
+
private $handleOnlyReportedErrors;
|
33 |
+
private $hasFatalErrorHandler;
|
34 |
+
private $fatalLevel;
|
35 |
+
private $reservedMemory;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
private $lastFatalTrace;
|
|
|
37 |
private static $fatalErrors = [\E_ERROR, \E_PARSE, \E_CORE_ERROR, \E_COMPILE_ERROR, \E_USER_ERROR];
|
38 |
public function __construct(\Psr\Log\LoggerInterface $logger)
|
39 |
{
|
44 |
*
|
45 |
* By default it will handle errors, exceptions and fatal errors
|
46 |
*
|
47 |
+
* @param LoggerInterface $logger
|
48 |
+
* @param array|false $errorLevelMap an array of E_* constant to LogLevel::* constant mapping, or false to disable error handling
|
49 |
+
* @param array|false $exceptionLevelMap an array of class name to LogLevel::* constant mapping, or false to disable exception handling
|
50 |
+
* @param string|null|false $fatalLevel a LogLevel::* constant, null to use the default LogLevel::ALERT or false to disable fatal error handling
|
51 |
* @return ErrorHandler
|
52 |
*/
|
53 |
public static function register(\Psr\Log\LoggerInterface $logger, $errorLevelMap = [], $exceptionLevelMap = [], $fatalLevel = null) : self
|
65 |
}
|
66 |
return $handler;
|
67 |
}
|
68 |
+
public function registerExceptionHandler($levelMap = [], $callPrevious = \true) : self
|
|
|
|
|
|
|
|
|
69 |
{
|
70 |
$prev = \set_exception_handler(function (\Throwable $e) : void {
|
71 |
$this->handleException($e);
|
81 |
}
|
82 |
return $this;
|
83 |
}
|
84 |
+
public function registerErrorHandler(array $levelMap = [], $callPrevious = \true, $errorTypes = -1, $handleOnlyReportedErrors = \true) : self
|
|
|
|
|
|
|
|
|
85 |
{
|
86 |
$prev = \set_error_handler([$this, 'handleError'], $errorTypes);
|
87 |
$this->errorLevelMap = \array_replace($this->defaultErrorLevelMap(), $levelMap);
|
88 |
if ($callPrevious) {
|
89 |
$this->previousErrorHandler = $prev ?: \true;
|
|
|
|
|
90 |
}
|
91 |
$this->handleOnlyReportedErrors = $handleOnlyReportedErrors;
|
92 |
return $this;
|
93 |
}
|
94 |
/**
|
95 |
+
* @param string|null $level a LogLevel::* constant, null to use the default LogLevel::ALERT or false to disable fatal error handling
|
96 |
+
* @param int $reservedMemorySize Amount of KBs to reserve in memory so that it can be freed when handling fatal errors giving Monolog some room in memory to get its job done
|
97 |
*/
|
98 |
public function registerFatalHandler($level = null, int $reservedMemorySize = 20) : self
|
99 |
{
|
100 |
\register_shutdown_function([$this, 'handleFatalError']);
|
101 |
$this->reservedMemory = \str_repeat(' ', 1024 * $reservedMemorySize);
|
102 |
+
$this->fatalLevel = $level;
|
103 |
$this->hasFatalErrorHandler = \true;
|
104 |
return $this;
|
105 |
}
|
|
|
|
|
|
|
106 |
protected function defaultExceptionLevelMap() : array
|
107 |
{
|
108 |
return ['ParseError' => \Psr\Log\LogLevel::CRITICAL, 'Throwable' => \Psr\Log\LogLevel::ERROR];
|
109 |
}
|
|
|
|
|
|
|
110 |
protected function defaultErrorLevelMap() : array
|
111 |
{
|
112 |
return [\E_ERROR => \Psr\Log\LogLevel::CRITICAL, \E_WARNING => \Psr\Log\LogLevel::WARNING, \E_PARSE => \Psr\Log\LogLevel::ALERT, \E_NOTICE => \Psr\Log\LogLevel::NOTICE, \E_CORE_ERROR => \Psr\Log\LogLevel::CRITICAL, \E_CORE_WARNING => \Psr\Log\LogLevel::WARNING, \E_COMPILE_ERROR => \Psr\Log\LogLevel::ALERT, \E_COMPILE_WARNING => \Psr\Log\LogLevel::WARNING, \E_USER_ERROR => \Psr\Log\LogLevel::ERROR, \E_USER_WARNING => \Psr\Log\LogLevel::WARNING, \E_USER_NOTICE => \Psr\Log\LogLevel::NOTICE, \E_STRICT => \Psr\Log\LogLevel::NOTICE, \E_RECOVERABLE_ERROR => \Psr\Log\LogLevel::ERROR, \E_DEPRECATED => \Psr\Log\LogLevel::NOTICE, \E_USER_DEPRECATED => \Psr\Log\LogLevel::NOTICE];
|
113 |
}
|
114 |
+
private function handleException(\Throwable $e)
|
|
|
|
|
|
|
115 |
{
|
116 |
$level = \Psr\Log\LogLevel::ERROR;
|
117 |
foreach ($this->uncaughtExceptionLevelMap as $class => $candidate) {
|
131 |
}
|
132 |
/**
|
133 |
* @private
|
|
|
|
|
134 |
*/
|
135 |
+
public function handleError($code, $message, $file = '', $line = 0, $context = [])
|
136 |
{
|
137 |
if ($this->handleOnlyReportedErrors && !(\error_reporting() & $code)) {
|
138 |
+
return;
|
139 |
}
|
140 |
// fatal error codes are ignored if a fatal error handler is present as well to avoid duplicate log entries
|
141 |
if (!$this->hasFatalErrorHandler || !\in_array($code, self::$fatalErrors, \true)) {
|
150 |
if ($this->previousErrorHandler === \true) {
|
151 |
return \false;
|
152 |
} elseif ($this->previousErrorHandler) {
|
153 |
+
return ($this->previousErrorHandler)($code, $message, $file, $line, $context);
|
154 |
}
|
155 |
return \true;
|
156 |
}
|
157 |
/**
|
158 |
* @private
|
159 |
*/
|
160 |
+
public function handleFatalError()
|
161 |
{
|
162 |
$this->reservedMemory = '';
|
163 |
$lastError = \error_get_last();
|
164 |
if ($lastError && \in_array($lastError['type'], self::$fatalErrors, \true)) {
|
165 |
+
$this->logger->log($this->fatalLevel === null ? \Psr\Log\LogLevel::ALERT : $this->fatalLevel, 'Fatal Error (' . self::codeToString($lastError['type']) . '): ' . $lastError['message'], ['code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $this->lastFatalTrace]);
|
166 |
if ($this->logger instanceof \GFPDF_Vendor\Monolog\Logger) {
|
167 |
foreach ($this->logger->getHandlers() as $handler) {
|
168 |
$handler->close();
|
170 |
}
|
171 |
}
|
172 |
}
|
|
|
|
|
|
|
173 |
private static function codeToString($code) : string
|
174 |
{
|
175 |
switch ($code) {
|
vendor_prefixed/monolog/src/Monolog/Formatter/ChromePHPFormatter.php
CHANGED
@@ -21,12 +21,10 @@ class ChromePHPFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInt
|
|
21 |
{
|
22 |
/**
|
23 |
* Translates Monolog log levels to Wildfire levels.
|
24 |
-
*
|
25 |
-
* @var array<int, 'log'|'info'|'warn'|'error'>
|
26 |
*/
|
27 |
private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'log', \GFPDF_Vendor\Monolog\Logger::INFO => 'info', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'info', \GFPDF_Vendor\Monolog\Logger::WARNING => 'warn', \GFPDF_Vendor\Monolog\Logger::ERROR => 'error', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'error', \GFPDF_Vendor\Monolog\Logger::ALERT => 'error', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'error'];
|
28 |
/**
|
29 |
-
* {@
|
30 |
*/
|
31 |
public function format(array $record)
|
32 |
{
|
@@ -49,7 +47,7 @@ class ChromePHPFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInt
|
|
49 |
return [$record['channel'], $message, $backtrace, $this->logLevels[$record['level']]];
|
50 |
}
|
51 |
/**
|
52 |
-
* {@
|
53 |
*/
|
54 |
public function formatBatch(array $records)
|
55 |
{
|
21 |
{
|
22 |
/**
|
23 |
* Translates Monolog log levels to Wildfire levels.
|
|
|
|
|
24 |
*/
|
25 |
private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'log', \GFPDF_Vendor\Monolog\Logger::INFO => 'info', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'info', \GFPDF_Vendor\Monolog\Logger::WARNING => 'warn', \GFPDF_Vendor\Monolog\Logger::ERROR => 'error', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'error', \GFPDF_Vendor\Monolog\Logger::ALERT => 'error', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'error'];
|
26 |
/**
|
27 |
+
* {@inheritdoc}
|
28 |
*/
|
29 |
public function format(array $record)
|
30 |
{
|
47 |
return [$record['channel'], $message, $backtrace, $this->logLevels[$record['level']]];
|
48 |
}
|
49 |
/**
|
50 |
+
* {@inheritdoc}
|
51 |
*/
|
52 |
public function formatBatch(array $records)
|
53 |
{
|
vendor_prefixed/monolog/src/Monolog/Formatter/ElasticaFormatter.php
CHANGED
@@ -16,8 +16,6 @@ use GFPDF_Vendor\Elastica\Document;
|
|
16 |
* Format a log message into an Elastica Document
|
17 |
*
|
18 |
* @author Jelle Vink <jelle.vink@gmail.com>
|
19 |
-
*
|
20 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
21 |
*/
|
22 |
class ElasticaFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
23 |
{
|
@@ -41,7 +39,7 @@ class ElasticaFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
|
|
41 |
$this->type = $type;
|
42 |
}
|
43 |
/**
|
44 |
-
* {@
|
45 |
*/
|
46 |
public function format(array $record)
|
47 |
{
|
@@ -57,20 +55,18 @@ class ElasticaFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
|
|
57 |
*/
|
58 |
public function getType() : string
|
59 |
{
|
60 |
-
/** @phpstan-ignore-next-line */
|
61 |
return $this->type;
|
62 |
}
|
63 |
/**
|
64 |
* Convert a log message into an Elastica Document
|
65 |
-
*
|
66 |
-
* @
|
67 |
*/
|
68 |
protected function getDocument(array $record) : \GFPDF_Vendor\Elastica\Document
|
69 |
{
|
70 |
$document = new \GFPDF_Vendor\Elastica\Document();
|
71 |
$document->setData($record);
|
72 |
if (\method_exists($document, 'setType')) {
|
73 |
-
/** @phpstan-ignore-next-line */
|
74 |
$document->setType($this->type);
|
75 |
}
|
76 |
$document->setIndex($this->index);
|
16 |
* Format a log message into an Elastica Document
|
17 |
*
|
18 |
* @author Jelle Vink <jelle.vink@gmail.com>
|
|
|
|
|
19 |
*/
|
20 |
class ElasticaFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
21 |
{
|
39 |
$this->type = $type;
|
40 |
}
|
41 |
/**
|
42 |
+
* {@inheritdoc}
|
43 |
*/
|
44 |
public function format(array $record)
|
45 |
{
|
55 |
*/
|
56 |
public function getType() : string
|
57 |
{
|
|
|
58 |
return $this->type;
|
59 |
}
|
60 |
/**
|
61 |
* Convert a log message into an Elastica Document
|
62 |
+
* @param array $record
|
63 |
+
* @return Document
|
64 |
*/
|
65 |
protected function getDocument(array $record) : \GFPDF_Vendor\Elastica\Document
|
66 |
{
|
67 |
$document = new \GFPDF_Vendor\Elastica\Document();
|
68 |
$document->setData($record);
|
69 |
if (\method_exists($document, 'setType')) {
|
|
|
70 |
$document->setType($this->type);
|
71 |
}
|
72 |
$document->setIndex($this->index);
|
vendor_prefixed/monolog/src/Monolog/Formatter/ElasticsearchFormatter.php
CHANGED
@@ -11,7 +11,7 @@ declare (strict_types=1);
|
|
11 |
*/
|
12 |
namespace GFPDF_Vendor\Monolog\Formatter;
|
13 |
|
14 |
-
use
|
15 |
/**
|
16 |
* Format a log message into an Elasticsearch record
|
17 |
*
|
@@ -34,12 +34,12 @@ class ElasticsearchFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerF
|
|
34 |
public function __construct(string $index, string $type)
|
35 |
{
|
36 |
// Elasticsearch requires an ISO 8601 format date with optional millisecond precision.
|
37 |
-
parent::__construct(\
|
38 |
$this->index = $index;
|
39 |
$this->type = $type;
|
40 |
}
|
41 |
/**
|
42 |
-
* {@
|
43 |
*/
|
44 |
public function format(array $record)
|
45 |
{
|
@@ -67,8 +67,8 @@ class ElasticsearchFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerF
|
|
67 |
/**
|
68 |
* Convert a log message into an Elasticsearch record
|
69 |
*
|
70 |
-
* @param
|
71 |
-
* @return
|
72 |
*/
|
73 |
protected function getDocument(array $record) : array
|
74 |
{
|
11 |
*/
|
12 |
namespace GFPDF_Vendor\Monolog\Formatter;
|
13 |
|
14 |
+
use DateTime;
|
15 |
/**
|
16 |
* Format a log message into an Elasticsearch record
|
17 |
*
|
34 |
public function __construct(string $index, string $type)
|
35 |
{
|
36 |
// Elasticsearch requires an ISO 8601 format date with optional millisecond precision.
|
37 |
+
parent::__construct(\DateTime::ISO8601);
|
38 |
$this->index = $index;
|
39 |
$this->type = $type;
|
40 |
}
|
41 |
/**
|
42 |
+
* {@inheritdoc}
|
43 |
*/
|
44 |
public function format(array $record)
|
45 |
{
|
67 |
/**
|
68 |
* Convert a log message into an Elasticsearch record
|
69 |
*
|
70 |
+
* @param array $record Log message
|
71 |
+
* @return array
|
72 |
*/
|
73 |
protected function getDocument(array $record) : array
|
74 |
{
|
vendor_prefixed/monolog/src/Monolog/Formatter/FlowdockFormatter.php
CHANGED
@@ -32,9 +32,7 @@ class FlowdockFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInte
|
|
32 |
$this->sourceEmail = $sourceEmail;
|
33 |
}
|
34 |
/**
|
35 |
-
* {@
|
36 |
-
*
|
37 |
-
* @return mixed[]
|
38 |
*/
|
39 |
public function format(array $record) : array
|
40 |
{
|
@@ -47,9 +45,7 @@ class FlowdockFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInte
|
|
47 |
return $record;
|
48 |
}
|
49 |
/**
|
50 |
-
* {@
|
51 |
-
*
|
52 |
-
* @return mixed[][]
|
53 |
*/
|
54 |
public function formatBatch(array $records) : array
|
55 |
{
|
32 |
$this->sourceEmail = $sourceEmail;
|
33 |
}
|
34 |
/**
|
35 |
+
* {@inheritdoc}
|
|
|
|
|
36 |
*/
|
37 |
public function format(array $record) : array
|
38 |
{
|
45 |
return $record;
|
46 |
}
|
47 |
/**
|
48 |
+
* {@inheritdoc}
|
|
|
|
|
49 |
*/
|
50 |
public function formatBatch(array $records) : array
|
51 |
{
|
vendor_prefixed/monolog/src/Monolog/Formatter/FormatterInterface.php
CHANGED
@@ -15,8 +15,6 @@ namespace GFPDF_Vendor\Monolog\Formatter;
|
|
15 |
* Interface for formatters
|
16 |
*
|
17 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
18 |
-
*
|
19 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
20 |
*/
|
21 |
interface FormatterInterface
|
22 |
{
|
@@ -25,8 +23,6 @@ interface FormatterInterface
|
|
25 |
*
|
26 |
* @param array $record A record to format
|
27 |
* @return mixed The formatted record
|
28 |
-
*
|
29 |
-
* @phpstan-param Record $record
|
30 |
*/
|
31 |
public function format(array $record);
|
32 |
/**
|
@@ -34,8 +30,6 @@ interface FormatterInterface
|
|
34 |
*
|
35 |
* @param array $records A set of records to format
|
36 |
* @return mixed The formatted set of records
|
37 |
-
*
|
38 |
-
* @phpstan-param Record[] $records
|
39 |
*/
|
40 |
public function formatBatch(array $records);
|
41 |
}
|
15 |
* Interface for formatters
|
16 |
*
|
17 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
18 |
*/
|
19 |
interface FormatterInterface
|
20 |
{
|
23 |
*
|
24 |
* @param array $record A record to format
|
25 |
* @return mixed The formatted record
|
|
|
|
|
26 |
*/
|
27 |
public function format(array $record);
|
28 |
/**
|
30 |
*
|
31 |
* @param array $records A set of records to format
|
32 |
* @return mixed The formatted set of records
|
|
|
|
|
33 |
*/
|
34 |
public function formatBatch(array $records);
|
35 |
}
|
vendor_prefixed/monolog/src/Monolog/Formatter/GelfMessageFormatter.php
CHANGED
@@ -19,8 +19,6 @@ use GFPDF_Vendor\Monolog\Utils;
|
|
19 |
* @see http://docs.graylog.org/en/latest/pages/gelf.html
|
20 |
*
|
21 |
* @author Matt Lehner <mlehner@gmail.com>
|
22 |
-
*
|
23 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
24 |
*/
|
25 |
class GelfMessageFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
26 |
{
|
@@ -43,33 +41,26 @@ class GelfMessageFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFor
|
|
43 |
protected $maxLength;
|
44 |
/**
|
45 |
* Translates Monolog log levels to Graylog2 log priorities.
|
46 |
-
*
|
47 |
-
* @var array<int, int>
|
48 |
-
*
|
49 |
-
* @phpstan-var array<Level, int>
|
50 |
*/
|
51 |
private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 7, \GFPDF_Vendor\Monolog\Logger::INFO => 6, \GFPDF_Vendor\Monolog\Logger::NOTICE => 5, \GFPDF_Vendor\Monolog\Logger::WARNING => 4, \GFPDF_Vendor\Monolog\Logger::ERROR => 3, \GFPDF_Vendor\Monolog\Logger::CRITICAL => 2, \GFPDF_Vendor\Monolog\Logger::ALERT => 1, \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 0];
|
52 |
public function __construct(?string $systemName = null, ?string $extraPrefix = null, string $contextPrefix = 'ctxt_', ?int $maxLength = null)
|
53 |
{
|
54 |
parent::__construct('U.u');
|
55 |
-
$this->systemName = \is_null($systemName) || $systemName === '' ?
|
56 |
$this->extraPrefix = \is_null($extraPrefix) ? '' : $extraPrefix;
|
57 |
$this->contextPrefix = $contextPrefix;
|
58 |
$this->maxLength = \is_null($maxLength) ? self::DEFAULT_MAX_LENGTH : $maxLength;
|
59 |
}
|
60 |
/**
|
61 |
-
* {@
|
62 |
*/
|
63 |
public function format(array $record) : \GFPDF_Vendor\Gelf\Message
|
64 |
{
|
65 |
-
$context = $extra = [];
|
66 |
if (isset($record['context'])) {
|
67 |
-
|
68 |
-
$context = parent::normalize($record['context']);
|
69 |
}
|
70 |
if (isset($record['extra'])) {
|
71 |
-
|
72 |
-
$extra = parent::normalize($record['extra']);
|
73 |
}
|
74 |
if (!isset($record['datetime'], $record['message'], $record['level'])) {
|
75 |
throw new \InvalidArgumentException('The record should at least contain datetime, message and level keys, ' . \var_export($record, \true) . ' given');
|
@@ -84,35 +75,35 @@ class GelfMessageFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFor
|
|
84 |
if (isset($record['channel'])) {
|
85 |
$message->setFacility($record['channel']);
|
86 |
}
|
87 |
-
if (isset($extra['line'])) {
|
88 |
-
$message->setLine($extra['line']);
|
89 |
-
unset($extra['line']);
|
90 |
}
|
91 |
-
if (isset($extra['file'])) {
|
92 |
-
$message->setFile($extra['file']);
|
93 |
-
unset($extra['file']);
|
94 |
}
|
95 |
-
foreach ($extra as $key => $val) {
|
96 |
$val = \is_scalar($val) || null === $val ? $val : $this->toJson($val);
|
97 |
$len = \strlen($this->extraPrefix . $key . $val);
|
98 |
if ($len > $this->maxLength) {
|
99 |
-
$message->setAdditional($this->extraPrefix . $key, \GFPDF_Vendor\Monolog\Utils::substr(
|
100 |
continue;
|
101 |
}
|
102 |
$message->setAdditional($this->extraPrefix . $key, $val);
|
103 |
}
|
104 |
-
foreach ($context as $key => $val) {
|
105 |
$val = \is_scalar($val) || null === $val ? $val : $this->toJson($val);
|
106 |
$len = \strlen($this->contextPrefix . $key . $val);
|
107 |
if ($len > $this->maxLength) {
|
108 |
-
$message->setAdditional($this->contextPrefix . $key, \GFPDF_Vendor\Monolog\Utils::substr(
|
109 |
continue;
|
110 |
}
|
111 |
$message->setAdditional($this->contextPrefix . $key, $val);
|
112 |
}
|
113 |
/** @phpstan-ignore-next-line */
|
114 |
-
if (null === $message->getFile() && isset($context['exception']['file'])) {
|
115 |
-
if (\preg_match("/^(.+):([0-9]+)\$/", $context['exception']['file'], $matches)) {
|
116 |
$message->setFile($matches[1]);
|
117 |
$message->setLine($matches[2]);
|
118 |
}
|
19 |
* @see http://docs.graylog.org/en/latest/pages/gelf.html
|
20 |
*
|
21 |
* @author Matt Lehner <mlehner@gmail.com>
|
|
|
|
|
22 |
*/
|
23 |
class GelfMessageFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
24 |
{
|
41 |
protected $maxLength;
|
42 |
/**
|
43 |
* Translates Monolog log levels to Graylog2 log priorities.
|
|
|
|
|
|
|
|
|
44 |
*/
|
45 |
private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 7, \GFPDF_Vendor\Monolog\Logger::INFO => 6, \GFPDF_Vendor\Monolog\Logger::NOTICE => 5, \GFPDF_Vendor\Monolog\Logger::WARNING => 4, \GFPDF_Vendor\Monolog\Logger::ERROR => 3, \GFPDF_Vendor\Monolog\Logger::CRITICAL => 2, \GFPDF_Vendor\Monolog\Logger::ALERT => 1, \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 0];
|
46 |
public function __construct(?string $systemName = null, ?string $extraPrefix = null, string $contextPrefix = 'ctxt_', ?int $maxLength = null)
|
47 |
{
|
48 |
parent::__construct('U.u');
|
49 |
+
$this->systemName = \is_null($systemName) || $systemName === '' ? \gethostname() : $systemName;
|
50 |
$this->extraPrefix = \is_null($extraPrefix) ? '' : $extraPrefix;
|
51 |
$this->contextPrefix = $contextPrefix;
|
52 |
$this->maxLength = \is_null($maxLength) ? self::DEFAULT_MAX_LENGTH : $maxLength;
|
53 |
}
|
54 |
/**
|
55 |
+
* {@inheritdoc}
|
56 |
*/
|
57 |
public function format(array $record) : \GFPDF_Vendor\Gelf\Message
|
58 |
{
|
|
|
59 |
if (isset($record['context'])) {
|
60 |
+
$record['context'] = parent::format($record['context']);
|
|
|
61 |
}
|
62 |
if (isset($record['extra'])) {
|
63 |
+
$record['extra'] = parent::format($record['extra']);
|
|
|
64 |
}
|
65 |
if (!isset($record['datetime'], $record['message'], $record['level'])) {
|
66 |
throw new \InvalidArgumentException('The record should at least contain datetime, message and level keys, ' . \var_export($record, \true) . ' given');
|
75 |
if (isset($record['channel'])) {
|
76 |
$message->setFacility($record['channel']);
|
77 |
}
|
78 |
+
if (isset($record['extra']['line'])) {
|
79 |
+
$message->setLine($record['extra']['line']);
|
80 |
+
unset($record['extra']['line']);
|
81 |
}
|
82 |
+
if (isset($record['extra']['file'])) {
|
83 |
+
$message->setFile($record['extra']['file']);
|
84 |
+
unset($record['extra']['file']);
|
85 |
}
|
86 |
+
foreach ($record['extra'] as $key => $val) {
|
87 |
$val = \is_scalar($val) || null === $val ? $val : $this->toJson($val);
|
88 |
$len = \strlen($this->extraPrefix . $key . $val);
|
89 |
if ($len > $this->maxLength) {
|
90 |
+
$message->setAdditional($this->extraPrefix . $key, \GFPDF_Vendor\Monolog\Utils::substr($val, 0, $this->maxLength));
|
91 |
continue;
|
92 |
}
|
93 |
$message->setAdditional($this->extraPrefix . $key, $val);
|
94 |
}
|
95 |
+
foreach ($record['context'] as $key => $val) {
|
96 |
$val = \is_scalar($val) || null === $val ? $val : $this->toJson($val);
|
97 |
$len = \strlen($this->contextPrefix . $key . $val);
|
98 |
if ($len > $this->maxLength) {
|
99 |
+
$message->setAdditional($this->contextPrefix . $key, \GFPDF_Vendor\Monolog\Utils::substr($val, 0, $this->maxLength));
|
100 |
continue;
|
101 |
}
|
102 |
$message->setAdditional($this->contextPrefix . $key, $val);
|
103 |
}
|
104 |
/** @phpstan-ignore-next-line */
|
105 |
+
if (null === $message->getFile() && isset($record['context']['exception']['file'])) {
|
106 |
+
if (\preg_match("/^(.+):([0-9]+)\$/", $record['context']['exception']['file'], $matches)) {
|
107 |
$message->setFile($matches[1]);
|
108 |
$message->setLine($matches[2]);
|
109 |
}
|
vendor_prefixed/monolog/src/Monolog/Formatter/HtmlFormatter.php
CHANGED
@@ -24,8 +24,6 @@ class HtmlFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
24 |
{
|
25 |
/**
|
26 |
* Translates Monolog log levels to html color priorities.
|
27 |
-
*
|
28 |
-
* @var array<int, string>
|
29 |
*/
|
30 |
protected $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => '#CCCCCC', \GFPDF_Vendor\Monolog\Logger::INFO => '#28A745', \GFPDF_Vendor\Monolog\Logger::NOTICE => '#17A2B8', \GFPDF_Vendor\Monolog\Logger::WARNING => '#FFC107', \GFPDF_Vendor\Monolog\Logger::ERROR => '#FD7E14', \GFPDF_Vendor\Monolog\Logger::CRITICAL => '#DC3545', \GFPDF_Vendor\Monolog\Logger::ALERT => '#821722', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => '#000000'];
|
31 |
/**
|
@@ -65,6 +63,7 @@ class HtmlFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
65 |
/**
|
66 |
* Formats a log record.
|
67 |
*
|
|
|
68 |
* @return string The formatted record
|
69 |
*/
|
70 |
public function format(array $record) : string
|
@@ -95,6 +94,7 @@ class HtmlFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
95 |
/**
|
96 |
* Formats a set of log records.
|
97 |
*
|
|
|
98 |
* @return string The formatted set of records
|
99 |
*/
|
100 |
public function formatBatch(array $records) : string
|
@@ -105,9 +105,6 @@ class HtmlFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
105 |
}
|
106 |
return $message;
|
107 |
}
|
108 |
-
/**
|
109 |
-
* @param mixed $data
|
110 |
-
*/
|
111 |
protected function convertToString($data) : string
|
112 |
{
|
113 |
if (null === $data || \is_scalar($data)) {
|
24 |
{
|
25 |
/**
|
26 |
* Translates Monolog log levels to html color priorities.
|
|
|
|
|
27 |
*/
|
28 |
protected $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => '#CCCCCC', \GFPDF_Vendor\Monolog\Logger::INFO => '#28A745', \GFPDF_Vendor\Monolog\Logger::NOTICE => '#17A2B8', \GFPDF_Vendor\Monolog\Logger::WARNING => '#FFC107', \GFPDF_Vendor\Monolog\Logger::ERROR => '#FD7E14', \GFPDF_Vendor\Monolog\Logger::CRITICAL => '#DC3545', \GFPDF_Vendor\Monolog\Logger::ALERT => '#821722', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => '#000000'];
|
29 |
/**
|
63 |
/**
|
64 |
* Formats a log record.
|
65 |
*
|
66 |
+
* @param array $record A record to format
|
67 |
* @return string The formatted record
|
68 |
*/
|
69 |
public function format(array $record) : string
|
94 |
/**
|
95 |
* Formats a set of log records.
|
96 |
*
|
97 |
+
* @param array $records A set of records to format
|
98 |
* @return string The formatted set of records
|
99 |
*/
|
100 |
public function formatBatch(array $records) : string
|
105 |
}
|
106 |
return $message;
|
107 |
}
|
|
|
|
|
|
|
108 |
protected function convertToString($data) : string
|
109 |
{
|
110 |
if (null === $data || \is_scalar($data)) {
|
vendor_prefixed/monolog/src/Monolog/Formatter/JsonFormatter.php
CHANGED
@@ -18,30 +18,23 @@ use Throwable;
|
|
18 |
* This can be useful to log to databases or remote APIs
|
19 |
*
|
20 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
21 |
-
*
|
22 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
23 |
*/
|
24 |
class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
25 |
{
|
26 |
public const BATCH_MODE_JSON = 1;
|
27 |
public const BATCH_MODE_NEWLINES = 2;
|
28 |
-
/** @var self::BATCH_MODE_* */
|
29 |
protected $batchMode;
|
30 |
-
/** @var bool */
|
31 |
protected $appendNewline;
|
32 |
-
/** @var bool */
|
33 |
protected $ignoreEmptyContextAndExtra;
|
34 |
-
/** @var bool */
|
35 |
-
protected $includeStacktraces = \false;
|
36 |
/**
|
37 |
-
* @
|
38 |
*/
|
|
|
39 |
public function __construct(int $batchMode = self::BATCH_MODE_JSON, bool $appendNewline = \true, bool $ignoreEmptyContextAndExtra = \false)
|
40 |
{
|
41 |
$this->batchMode = $batchMode;
|
42 |
$this->appendNewline = $appendNewline;
|
43 |
$this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
|
44 |
-
parent::__construct();
|
45 |
}
|
46 |
/**
|
47 |
* The batch mode option configures the formatting style for
|
@@ -62,7 +55,7 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
62 |
return $this->appendNewline;
|
63 |
}
|
64 |
/**
|
65 |
-
* {@
|
66 |
*/
|
67 |
public function format(array $record) : string
|
68 |
{
|
@@ -84,7 +77,7 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
84 |
return $this->toJson($normalized, \true) . ($this->appendNewline ? "\n" : '');
|
85 |
}
|
86 |
/**
|
87 |
-
* {@
|
88 |
*/
|
89 |
public function formatBatch(array $records) : string
|
90 |
{
|
@@ -96,17 +89,12 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
96 |
return $this->formatBatchJson($records);
|
97 |
}
|
98 |
}
|
99 |
-
/**
|
100 |
-
* @return void
|
101 |
-
*/
|
102 |
public function includeStacktraces(bool $include = \true)
|
103 |
{
|
104 |
$this->includeStacktraces = $include;
|
105 |
}
|
106 |
/**
|
107 |
* Return a JSON-encoded array of records.
|
108 |
-
*
|
109 |
-
* @phpstan-param Record[] $records
|
110 |
*/
|
111 |
protected function formatBatchJson(array $records) : string
|
112 |
{
|
@@ -115,8 +103,6 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
115 |
/**
|
116 |
* Use new lines to separate records instead of a
|
117 |
* JSON-encoded array.
|
118 |
-
*
|
119 |
-
* @phpstan-param Record[] $records
|
120 |
*/
|
121 |
protected function formatBatchNewlines(array $records) : string
|
122 |
{
|
@@ -153,9 +139,6 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
153 |
}
|
154 |
return $normalized;
|
155 |
}
|
156 |
-
if ($data instanceof \DateTimeInterface) {
|
157 |
-
return $this->formatDate($data);
|
158 |
-
}
|
159 |
if ($data instanceof \Throwable) {
|
160 |
return $this->normalizeException($data, $depth);
|
161 |
}
|
@@ -167,8 +150,6 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
167 |
/**
|
168 |
* Normalizes given exception with or without its own stack trace based on
|
169 |
* `includeStacktraces` property.
|
170 |
-
*
|
171 |
-
* {@inheritDoc}
|
172 |
*/
|
173 |
protected function normalizeException(\Throwable $e, int $depth = 0) : array
|
174 |
{
|
18 |
* This can be useful to log to databases or remote APIs
|
19 |
*
|
20 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
21 |
*/
|
22 |
class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
23 |
{
|
24 |
public const BATCH_MODE_JSON = 1;
|
25 |
public const BATCH_MODE_NEWLINES = 2;
|
|
|
26 |
protected $batchMode;
|
|
|
27 |
protected $appendNewline;
|
|
|
28 |
protected $ignoreEmptyContextAndExtra;
|
|
|
|
|
29 |
/**
|
30 |
+
* @var bool
|
31 |
*/
|
32 |
+
protected $includeStacktraces = \false;
|
33 |
public function __construct(int $batchMode = self::BATCH_MODE_JSON, bool $appendNewline = \true, bool $ignoreEmptyContextAndExtra = \false)
|
34 |
{
|
35 |
$this->batchMode = $batchMode;
|
36 |
$this->appendNewline = $appendNewline;
|
37 |
$this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
|
|
|
38 |
}
|
39 |
/**
|
40 |
* The batch mode option configures the formatting style for
|
55 |
return $this->appendNewline;
|
56 |
}
|
57 |
/**
|
58 |
+
* {@inheritdoc}
|
59 |
*/
|
60 |
public function format(array $record) : string
|
61 |
{
|
77 |
return $this->toJson($normalized, \true) . ($this->appendNewline ? "\n" : '');
|
78 |
}
|
79 |
/**
|
80 |
+
* {@inheritdoc}
|
81 |
*/
|
82 |
public function formatBatch(array $records) : string
|
83 |
{
|
89 |
return $this->formatBatchJson($records);
|
90 |
}
|
91 |
}
|
|
|
|
|
|
|
92 |
public function includeStacktraces(bool $include = \true)
|
93 |
{
|
94 |
$this->includeStacktraces = $include;
|
95 |
}
|
96 |
/**
|
97 |
* Return a JSON-encoded array of records.
|
|
|
|
|
98 |
*/
|
99 |
protected function formatBatchJson(array $records) : string
|
100 |
{
|
103 |
/**
|
104 |
* Use new lines to separate records instead of a
|
105 |
* JSON-encoded array.
|
|
|
|
|
106 |
*/
|
107 |
protected function formatBatchNewlines(array $records) : string
|
108 |
{
|
139 |
}
|
140 |
return $normalized;
|
141 |
}
|
|
|
|
|
|
|
142 |
if ($data instanceof \Throwable) {
|
143 |
return $this->normalizeException($data, $depth);
|
144 |
}
|
150 |
/**
|
151 |
* Normalizes given exception with or without its own stack trace based on
|
152 |
* `includeStacktraces` property.
|
|
|
|
|
153 |
*/
|
154 |
protected function normalizeException(\Throwable $e, int $depth = 0) : array
|
155 |
{
|
vendor_prefixed/monolog/src/Monolog/Formatter/LineFormatter.php
CHANGED
@@ -23,13 +23,9 @@ use GFPDF_Vendor\Monolog\Utils;
|
|
23 |
class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
24 |
{
|
25 |
public const SIMPLE_FORMAT = "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n";
|
26 |
-
/** @var string */
|
27 |
protected $format;
|
28 |
-
/** @var bool */
|
29 |
protected $allowInlineLineBreaks;
|
30 |
-
/** @var bool */
|
31 |
protected $ignoreEmptyContextAndExtra;
|
32 |
-
/** @var bool */
|
33 |
protected $includeStacktraces;
|
34 |
/**
|
35 |
* @param string|null $format The format of the message
|
@@ -44,23 +40,23 @@ class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
44 |
$this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
|
45 |
parent::__construct($dateFormat);
|
46 |
}
|
47 |
-
public function includeStacktraces(bool $include = \true)
|
48 |
{
|
49 |
$this->includeStacktraces = $include;
|
50 |
if ($this->includeStacktraces) {
|
51 |
$this->allowInlineLineBreaks = \true;
|
52 |
}
|
53 |
}
|
54 |
-
public function allowInlineLineBreaks(bool $allow = \true)
|
55 |
{
|
56 |
$this->allowInlineLineBreaks = $allow;
|
57 |
}
|
58 |
-
public function ignoreEmptyContextAndExtra(bool $ignore = \true)
|
59 |
{
|
60 |
$this->ignoreEmptyContextAndExtra = $ignore;
|
61 |
}
|
62 |
/**
|
63 |
-
* {@
|
64 |
*/
|
65 |
public function format(array $record) : string
|
66 |
{
|
@@ -96,10 +92,6 @@ class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
96 |
// remove leftover %extra.xxx% and %context.xxx% if any
|
97 |
if (\false !== \strpos($output, '%')) {
|
98 |
$output = \preg_replace('/%(?:extra|context)\\..+?%/', '', $output);
|
99 |
-
if (null === $output) {
|
100 |
-
$pcreErrorCode = \preg_last_error();
|
101 |
-
throw new \RuntimeException('Failed to run preg_replace: ' . $pcreErrorCode . ' / ' . \GFPDF_Vendor\Monolog\Utils::pcreLastErrorMessage($pcreErrorCode));
|
102 |
-
}
|
103 |
}
|
104 |
return $output;
|
105 |
}
|
@@ -111,9 +103,6 @@ class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
111 |
}
|
112 |
return $message;
|
113 |
}
|
114 |
-
/**
|
115 |
-
* @param mixed $value
|
116 |
-
*/
|
117 |
public function stringify($value) : string
|
118 |
{
|
119 |
return $this->replaceNewlines($this->convertToString($value));
|
@@ -128,9 +117,6 @@ class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
|
128 |
}
|
129 |
return $str;
|
130 |
}
|
131 |
-
/**
|
132 |
-
* @param mixed $data
|
133 |
-
*/
|
134 |
protected function convertToString($data) : string
|
135 |
{
|
136 |
if (null === $data || \is_bool($data)) {
|
23 |
class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
24 |
{
|
25 |
public const SIMPLE_FORMAT = "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n";
|
|
|
26 |
protected $format;
|
|
|
27 |
protected $allowInlineLineBreaks;
|
|
|
28 |
protected $ignoreEmptyContextAndExtra;
|
|
|
29 |
protected $includeStacktraces;
|
30 |
/**
|
31 |
* @param string|null $format The format of the message
|
40 |
$this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
|
41 |
parent::__construct($dateFormat);
|
42 |
}
|
43 |
+
public function includeStacktraces(bool $include = \true)
|
44 |
{
|
45 |
$this->includeStacktraces = $include;
|
46 |
if ($this->includeStacktraces) {
|
47 |
$this->allowInlineLineBreaks = \true;
|
48 |
}
|
49 |
}
|
50 |
+
public function allowInlineLineBreaks(bool $allow = \true)
|
51 |
{
|
52 |
$this->allowInlineLineBreaks = $allow;
|
53 |
}
|
54 |
+
public function ignoreEmptyContextAndExtra(bool $ignore = \true)
|
55 |
{
|
56 |
$this->ignoreEmptyContextAndExtra = $ignore;
|
57 |
}
|
58 |
/**
|
59 |
+
* {@inheritdoc}
|
60 |
*/
|
61 |
public function format(array $record) : string
|
62 |
{
|
92 |
// remove leftover %extra.xxx% and %context.xxx% if any
|
93 |
if (\false !== \strpos($output, '%')) {
|
94 |
$output = \preg_replace('/%(?:extra|context)\\..+?%/', '', $output);
|
|
|
|
|
|
|
|
|
95 |
}
|
96 |
return $output;
|
97 |
}
|
103 |
}
|
104 |
return $message;
|
105 |
}
|
|
|
|
|
|
|
106 |
public function stringify($value) : string
|
107 |
{
|
108 |
return $this->replaceNewlines($this->convertToString($value));
|
117 |
}
|
118 |
return $str;
|
119 |
}
|
|
|
|
|
|
|
120 |
protected function convertToString($data) : string
|
121 |
{
|
122 |
if (null === $data || \is_bool($data)) {
|
vendor_prefixed/monolog/src/Monolog/Formatter/LogstashFormatter.php
CHANGED
@@ -47,13 +47,13 @@ class LogstashFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
|
|
47 |
{
|
48 |
// logstash requires a ISO 8601 format date with optional millisecond precision.
|
49 |
parent::__construct('Y-m-d\\TH:i:s.uP');
|
50 |
-
$this->systemName = $systemName === null ?
|
51 |
$this->applicationName = $applicationName;
|
52 |
$this->extraKey = $extraKey;
|
53 |
$this->contextKey = $contextKey;
|
54 |
}
|
55 |
/**
|
56 |
-
* {@
|
57 |
*/
|
58 |
public function format(array $record) : string
|
59 |
{
|
47 |
{
|
48 |
// logstash requires a ISO 8601 format date with optional millisecond precision.
|
49 |
parent::__construct('Y-m-d\\TH:i:s.uP');
|
50 |
+
$this->systemName = $systemName === null ? \gethostname() : $systemName;
|
51 |
$this->applicationName = $applicationName;
|
52 |
$this->extraKey = $extraKey;
|
53 |
$this->contextKey = $contextKey;
|
54 |
}
|
55 |
/**
|
56 |
+
* {@inheritdoc}
|
57 |
*/
|
58 |
public function format(array $record) : string
|
59 |
{
|
vendor_prefixed/monolog/src/Monolog/Formatter/MongoDBFormatter.php
CHANGED
@@ -20,11 +20,8 @@ use GFPDF_Vendor\Monolog\Utils;
|
|
20 |
*/
|
21 |
class MongoDBFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
22 |
{
|
23 |
-
/** @var bool */
|
24 |
private $exceptionTraceAsString;
|
25 |
-
/** @var int */
|
26 |
private $maxNestingLevel;
|
27 |
-
/** @var bool */
|
28 |
private $isLegacyMongoExt;
|
29 |
/**
|
30 |
* @param int $maxNestingLevel 0 means infinite nesting, the $record itself is level 1, $record['context'] is 2
|
@@ -34,67 +31,53 @@ class MongoDBFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInter
|
|
34 |
{
|
35 |
$this->maxNestingLevel = \max($maxNestingLevel, 0);
|
36 |
$this->exceptionTraceAsString = $exceptionTraceAsString;
|
37 |
-
$this->isLegacyMongoExt = \extension_loaded('mongodb') && \version_compare(
|
38 |
}
|
39 |
/**
|
40 |
* {@inheritDoc}
|
41 |
-
*
|
42 |
-
* @return mixed[]
|
43 |
*/
|
44 |
public function format(array $record) : array
|
45 |
{
|
46 |
-
|
47 |
-
$res = $this->formatArray($record);
|
48 |
-
return $res;
|
49 |
}
|
50 |
/**
|
51 |
* {@inheritDoc}
|
52 |
-
*
|
53 |
-
* @return array<mixed[]>
|
54 |
*/
|
55 |
public function formatBatch(array $records) : array
|
56 |
{
|
57 |
-
$formatted = [];
|
58 |
foreach ($records as $key => $record) {
|
59 |
-
$
|
60 |
}
|
61 |
-
return $
|
62 |
}
|
63 |
/**
|
64 |
-
* @
|
65 |
-
* @return mixed[]|string Array except when max nesting level is reached then a string "[...]"
|
66 |
*/
|
67 |
-
protected function formatArray(array $
|
68 |
{
|
69 |
-
if ($this->maxNestingLevel
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
$array[$name] = $this->formatObject($value, $nestingLevel + 1);
|
81 |
}
|
|
|
|
|
82 |
}
|
83 |
-
return $
|
84 |
}
|
85 |
-
/**
|
86 |
-
* @param mixed $value
|
87 |
-
* @return mixed[]|string
|
88 |
-
*/
|
89 |
protected function formatObject($value, int $nestingLevel)
|
90 |
{
|
91 |
$objectVars = \get_object_vars($value);
|
92 |
$objectVars['class'] = \GFPDF_Vendor\Monolog\Utils::getClass($value);
|
93 |
return $this->formatArray($objectVars, $nestingLevel);
|
94 |
}
|
95 |
-
/**
|
96 |
-
* @return mixed[]|string
|
97 |
-
*/
|
98 |
protected function formatException(\Throwable $exception, int $nestingLevel)
|
99 |
{
|
100 |
$formattedException = ['class' => \GFPDF_Vendor\Monolog\Utils::getClass($exception), 'message' => $exception->getMessage(), 'code' => (int) $exception->getCode(), 'file' => $exception->getFile() . ':' . $exception->getLine()];
|
@@ -127,7 +110,6 @@ class MongoDBFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInter
|
|
127 |
{
|
128 |
$milliseconds = \floor((float) $value->format('U.u') * 1000);
|
129 |
$milliseconds = \PHP_INT_SIZE == 8 ? (int) $milliseconds : (string) $milliseconds;
|
130 |
-
// @phpstan-ignore-next-line
|
131 |
return new \MongoDB\BSON\UTCDateTime($milliseconds);
|
132 |
}
|
133 |
}
|
20 |
*/
|
21 |
class MongoDBFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
22 |
{
|
|
|
23 |
private $exceptionTraceAsString;
|
|
|
24 |
private $maxNestingLevel;
|
|
|
25 |
private $isLegacyMongoExt;
|
26 |
/**
|
27 |
* @param int $maxNestingLevel 0 means infinite nesting, the $record itself is level 1, $record['context'] is 2
|
31 |
{
|
32 |
$this->maxNestingLevel = \max($maxNestingLevel, 0);
|
33 |
$this->exceptionTraceAsString = $exceptionTraceAsString;
|
34 |
+
$this->isLegacyMongoExt = \extension_loaded('mongodb') && \version_compare(\phpversion('mongodb'), '1.1.9', '<=');
|
35 |
}
|
36 |
/**
|
37 |
* {@inheritDoc}
|
|
|
|
|
38 |
*/
|
39 |
public function format(array $record) : array
|
40 |
{
|
41 |
+
return $this->formatArray($record);
|
|
|
|
|
42 |
}
|
43 |
/**
|
44 |
* {@inheritDoc}
|
|
|
|
|
45 |
*/
|
46 |
public function formatBatch(array $records) : array
|
47 |
{
|
|
|
48 |
foreach ($records as $key => $record) {
|
49 |
+
$records[$key] = $this->format($record);
|
50 |
}
|
51 |
+
return $records;
|
52 |
}
|
53 |
/**
|
54 |
+
* @return array|string Array except when max nesting level is reached then a string "[...]"
|
|
|
55 |
*/
|
56 |
+
protected function formatArray(array $record, int $nestingLevel = 0)
|
57 |
{
|
58 |
+
if ($this->maxNestingLevel == 0 || $nestingLevel <= $this->maxNestingLevel) {
|
59 |
+
foreach ($record as $name => $value) {
|
60 |
+
if ($value instanceof \DateTimeInterface) {
|
61 |
+
$record[$name] = $this->formatDate($value, $nestingLevel + 1);
|
62 |
+
} elseif ($value instanceof \Throwable) {
|
63 |
+
$record[$name] = $this->formatException($value, $nestingLevel + 1);
|
64 |
+
} elseif (\is_array($value)) {
|
65 |
+
$record[$name] = $this->formatArray($value, $nestingLevel + 1);
|
66 |
+
} elseif (\is_object($value)) {
|
67 |
+
$record[$name] = $this->formatObject($value, $nestingLevel + 1);
|
68 |
+
}
|
|
|
69 |
}
|
70 |
+
} else {
|
71 |
+
$record = '[...]';
|
72 |
}
|
73 |
+
return $record;
|
74 |
}
|
|
|
|
|
|
|
|
|
75 |
protected function formatObject($value, int $nestingLevel)
|
76 |
{
|
77 |
$objectVars = \get_object_vars($value);
|
78 |
$objectVars['class'] = \GFPDF_Vendor\Monolog\Utils::getClass($value);
|
79 |
return $this->formatArray($objectVars, $nestingLevel);
|
80 |
}
|
|
|
|
|
|
|
81 |
protected function formatException(\Throwable $exception, int $nestingLevel)
|
82 |
{
|
83 |
$formattedException = ['class' => \GFPDF_Vendor\Monolog\Utils::getClass($exception), 'message' => $exception->getMessage(), 'code' => (int) $exception->getCode(), 'file' => $exception->getFile() . ':' . $exception->getLine()];
|
110 |
{
|
111 |
$milliseconds = \floor((float) $value->format('U.u') * 1000);
|
112 |
$milliseconds = \PHP_INT_SIZE == 8 ? (int) $milliseconds : (string) $milliseconds;
|
|
|
113 |
return new \MongoDB\BSON\UTCDateTime($milliseconds);
|
114 |
}
|
115 |
}
|
vendor_prefixed/monolog/src/Monolog/Formatter/NormalizerFormatter.php
CHANGED
@@ -41,16 +41,14 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
|
|
41 |
}
|
42 |
}
|
43 |
/**
|
44 |
-
* {@
|
45 |
-
*
|
46 |
-
* @param mixed[] $record
|
47 |
*/
|
48 |
public function format(array $record)
|
49 |
{
|
50 |
return $this->normalize($record);
|
51 |
}
|
52 |
/**
|
53 |
-
* {@
|
54 |
*/
|
55 |
public function formatBatch(array $records)
|
56 |
{
|
@@ -105,8 +103,8 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
|
|
105 |
return $this;
|
106 |
}
|
107 |
/**
|
108 |
-
* @param mixed
|
109 |
-
* @return
|
110 |
*/
|
111 |
protected function normalize($data, int $depth = 0)
|
112 |
{
|
@@ -144,14 +142,11 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
|
|
144 |
return $this->normalizeException($data, $depth);
|
145 |
}
|
146 |
if ($data instanceof \JsonSerializable) {
|
147 |
-
/** @var null|scalar|array<array|scalar|null> $value */
|
148 |
$value = $data->jsonSerialize();
|
149 |
} elseif (\method_exists($data, '__toString')) {
|
150 |
-
/** @var string $value */
|
151 |
$value = $data->__toString();
|
152 |
} else {
|
153 |
// the rest is normalized by json encoding and decoding it
|
154 |
-
/** @var null|scalar|array<array|scalar|null> $value */
|
155 |
$value = \json_decode($this->toJson($data, \true), \true);
|
156 |
}
|
157 |
return [\GFPDF_Vendor\Monolog\Utils::getClass($data) => $value];
|
@@ -162,7 +157,7 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
|
|
162 |
return '[unknown(' . \gettype($data) . ')]';
|
163 |
}
|
164 |
/**
|
165 |
-
* @return
|
166 |
*/
|
167 |
protected function normalizeException(\Throwable $e, int $depth = 0)
|
168 |
{
|
@@ -207,9 +202,6 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
|
|
207 |
{
|
208 |
return \GFPDF_Vendor\Monolog\Utils::jsonEncode($data, $this->jsonEncodeOptions, $ignoreErrors);
|
209 |
}
|
210 |
-
/**
|
211 |
-
* @return string
|
212 |
-
*/
|
213 |
protected function formatDate(\DateTimeInterface $date)
|
214 |
{
|
215 |
// in case the date format isn't custom then we defer to the custom DateTimeImmutable
|
@@ -219,11 +211,11 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
|
|
219 |
}
|
220 |
return $date->format($this->dateFormat);
|
221 |
}
|
222 |
-
public function addJsonEncodeOption(int $option)
|
223 |
{
|
224 |
$this->jsonEncodeOptions |= $option;
|
225 |
}
|
226 |
-
public function removeJsonEncodeOption(int $option)
|
227 |
{
|
228 |
$this->jsonEncodeOptions &= ~$option;
|
229 |
}
|
41 |
}
|
42 |
}
|
43 |
/**
|
44 |
+
* {@inheritdoc}
|
|
|
|
|
45 |
*/
|
46 |
public function format(array $record)
|
47 |
{
|
48 |
return $this->normalize($record);
|
49 |
}
|
50 |
/**
|
51 |
+
* {@inheritdoc}
|
52 |
*/
|
53 |
public function formatBatch(array $records)
|
54 |
{
|
103 |
return $this;
|
104 |
}
|
105 |
/**
|
106 |
+
* @param mixed $data
|
107 |
+
* @return int|bool|string|null|array
|
108 |
*/
|
109 |
protected function normalize($data, int $depth = 0)
|
110 |
{
|
142 |
return $this->normalizeException($data, $depth);
|
143 |
}
|
144 |
if ($data instanceof \JsonSerializable) {
|
|
|
145 |
$value = $data->jsonSerialize();
|
146 |
} elseif (\method_exists($data, '__toString')) {
|
|
|
147 |
$value = $data->__toString();
|
148 |
} else {
|
149 |
// the rest is normalized by json encoding and decoding it
|
|
|
150 |
$value = \json_decode($this->toJson($data, \true), \true);
|
151 |
}
|
152 |
return [\GFPDF_Vendor\Monolog\Utils::getClass($data) => $value];
|
157 |
return '[unknown(' . \gettype($data) . ')]';
|
158 |
}
|
159 |
/**
|
160 |
+
* @return array
|
161 |
*/
|
162 |
protected function normalizeException(\Throwable $e, int $depth = 0)
|
163 |
{
|
202 |
{
|
203 |
return \GFPDF_Vendor\Monolog\Utils::jsonEncode($data, $this->jsonEncodeOptions, $ignoreErrors);
|
204 |
}
|
|
|
|
|
|
|
205 |
protected function formatDate(\DateTimeInterface $date)
|
206 |
{
|
207 |
// in case the date format isn't custom then we defer to the custom DateTimeImmutable
|
211 |
}
|
212 |
return $date->format($this->dateFormat);
|
213 |
}
|
214 |
+
public function addJsonEncodeOption(int $option)
|
215 |
{
|
216 |
$this->jsonEncodeOptions |= $option;
|
217 |
}
|
218 |
+
public function removeJsonEncodeOption(int $option)
|
219 |
{
|
220 |
$this->jsonEncodeOptions &= ~$option;
|
221 |
}
|
vendor_prefixed/monolog/src/Monolog/Formatter/ScalarFormatter.php
CHANGED
@@ -20,21 +20,18 @@ namespace GFPDF_Vendor\Monolog\Formatter;
|
|
20 |
class ScalarFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
21 |
{
|
22 |
/**
|
23 |
-
* {@
|
24 |
-
*
|
25 |
-
* @phpstan-return array<string, scalar|null> $record
|
26 |
*/
|
27 |
public function format(array $record) : array
|
28 |
{
|
29 |
-
$result = [];
|
30 |
foreach ($record as $key => $value) {
|
31 |
-
$
|
32 |
}
|
33 |
-
return $
|
34 |
}
|
35 |
/**
|
36 |
-
* @param mixed
|
37 |
-
* @return
|
38 |
*/
|
39 |
protected function normalizeValue($value)
|
40 |
{
|
20 |
class ScalarFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
21 |
{
|
22 |
/**
|
23 |
+
* {@inheritdoc}
|
|
|
|
|
24 |
*/
|
25 |
public function format(array $record) : array
|
26 |
{
|
|
|
27 |
foreach ($record as $key => $value) {
|
28 |
+
$record[$key] = $this->normalizeValue($value);
|
29 |
}
|
30 |
+
return $record;
|
31 |
}
|
32 |
/**
|
33 |
+
* @param mixed $value
|
34 |
+
* @return string|int|bool|null
|
35 |
*/
|
36 |
protected function normalizeValue($value)
|
37 |
{
|
vendor_prefixed/monolog/src/Monolog/Formatter/WildfireFormatter.php
CHANGED
@@ -18,15 +18,11 @@ use GFPDF_Vendor\Monolog\Logger;
|
|
18 |
* @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
|
19 |
* @author Christophe Coevoet <stof@notk.org>
|
20 |
* @author Kirill chEbba Chebunin <iam@chebba.org>
|
21 |
-
*
|
22 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
23 |
*/
|
24 |
class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
25 |
{
|
26 |
/**
|
27 |
* Translates Monolog log levels to Wildfire levels.
|
28 |
-
*
|
29 |
-
* @var array<Level, string>
|
30 |
*/
|
31 |
private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'LOG', \GFPDF_Vendor\Monolog\Logger::INFO => 'INFO', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'INFO', \GFPDF_Vendor\Monolog\Logger::WARNING => 'WARN', \GFPDF_Vendor\Monolog\Logger::ERROR => 'ERROR', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'ERROR', \GFPDF_Vendor\Monolog\Logger::ALERT => 'ERROR', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'ERROR'];
|
32 |
/**
|
@@ -39,9 +35,7 @@ class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
|
|
39 |
$this->removeJsonEncodeOption(\JSON_UNESCAPED_UNICODE);
|
40 |
}
|
41 |
/**
|
42 |
-
* {@
|
43 |
-
*
|
44 |
-
* @return string
|
45 |
*/
|
46 |
public function format(array $record) : string
|
47 |
{
|
@@ -55,7 +49,6 @@ class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
|
|
55 |
$line = $record['extra']['line'];
|
56 |
unset($record['extra']['line']);
|
57 |
}
|
58 |
-
/** @var mixed[] $record */
|
59 |
$record = $this->normalize($record);
|
60 |
$message = ['message' => $record['message']];
|
61 |
$handleError = \false;
|
@@ -84,18 +77,15 @@ class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
|
|
84 |
return \sprintf('%d|%s|', \strlen($json), $json);
|
85 |
}
|
86 |
/**
|
87 |
-
* {@
|
88 |
-
*
|
89 |
-
* @phpstan-return never
|
90 |
*/
|
91 |
public function formatBatch(array $records)
|
92 |
{
|
93 |
throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter');
|
94 |
}
|
95 |
/**
|
96 |
-
* {@
|
97 |
-
*
|
98 |
-
* @return null|scalar|array<array|scalar|null>|object
|
99 |
*/
|
100 |
protected function normalize($data, int $depth = 0)
|
101 |
{
|
18 |
* @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
|
19 |
* @author Christophe Coevoet <stof@notk.org>
|
20 |
* @author Kirill chEbba Chebunin <iam@chebba.org>
|
|
|
|
|
21 |
*/
|
22 |
class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
|
23 |
{
|
24 |
/**
|
25 |
* Translates Monolog log levels to Wildfire levels.
|
|
|
|
|
26 |
*/
|
27 |
private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'LOG', \GFPDF_Vendor\Monolog\Logger::INFO => 'INFO', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'INFO', \GFPDF_Vendor\Monolog\Logger::WARNING => 'WARN', \GFPDF_Vendor\Monolog\Logger::ERROR => 'ERROR', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'ERROR', \GFPDF_Vendor\Monolog\Logger::ALERT => 'ERROR', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'ERROR'];
|
28 |
/**
|
35 |
$this->removeJsonEncodeOption(\JSON_UNESCAPED_UNICODE);
|
36 |
}
|
37 |
/**
|
38 |
+
* {@inheritdoc}
|
|
|
|
|
39 |
*/
|
40 |
public function format(array $record) : string
|
41 |
{
|
49 |
$line = $record['extra']['line'];
|
50 |
unset($record['extra']['line']);
|
51 |
}
|
|
|
52 |
$record = $this->normalize($record);
|
53 |
$message = ['message' => $record['message']];
|
54 |
$handleError = \false;
|
77 |
return \sprintf('%d|%s|', \strlen($json), $json);
|
78 |
}
|
79 |
/**
|
80 |
+
* {@inheritdoc}
|
|
|
|
|
81 |
*/
|
82 |
public function formatBatch(array $records)
|
83 |
{
|
84 |
throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter');
|
85 |
}
|
86 |
/**
|
87 |
+
* {@inheritdoc}
|
88 |
+
* @return int|bool|string|null|array|object
|
|
|
89 |
*/
|
90 |
protected function normalize($data, int $depth = 0)
|
91 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/AbstractHandler.php
CHANGED
@@ -13,29 +13,18 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
use GFPDF_Vendor\Monolog\ResettableInterface;
|
16 |
-
use Psr\Log\LogLevel;
|
17 |
/**
|
18 |
* Base Handler class providing basic level/bubble support
|
19 |
*
|
20 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
21 |
-
*
|
22 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
23 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
24 |
*/
|
25 |
abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\ResettableInterface
|
26 |
{
|
27 |
-
/**
|
28 |
-
* @var int
|
29 |
-
* @phpstan-var Level
|
30 |
-
*/
|
31 |
protected $level = \GFPDF_Vendor\Monolog\Logger::DEBUG;
|
32 |
-
/** @var bool */
|
33 |
protected $bubble = \true;
|
34 |
/**
|
35 |
* @param int|string $level The minimum logging level at which this handler will be triggered
|
36 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
37 |
-
*
|
38 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
39 |
*/
|
40 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
41 |
{
|
@@ -43,7 +32,7 @@ abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler imp
|
|
43 |
$this->bubble = $bubble;
|
44 |
}
|
45 |
/**
|
46 |
-
* {@
|
47 |
*/
|
48 |
public function isHandling(array $record) : bool
|
49 |
{
|
@@ -52,7 +41,7 @@ abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler imp
|
|
52 |
/**
|
53 |
* Sets minimum logging level at which this handler will be triggered.
|
54 |
*
|
55 |
-
* @param
|
56 |
* @return self
|
57 |
*/
|
58 |
public function setLevel($level) : self
|
@@ -64,8 +53,6 @@ abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler imp
|
|
64 |
* Gets minimum logging level at which this handler will be triggered.
|
65 |
*
|
66 |
* @return int
|
67 |
-
*
|
68 |
-
* @phpstan-return Level
|
69 |
*/
|
70 |
public function getLevel() : int
|
71 |
{
|
@@ -93,9 +80,6 @@ abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler imp
|
|
93 |
{
|
94 |
return $this->bubble;
|
95 |
}
|
96 |
-
/**
|
97 |
-
* {@inheritDoc}
|
98 |
-
*/
|
99 |
public function reset()
|
100 |
{
|
101 |
}
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
use GFPDF_Vendor\Monolog\ResettableInterface;
|
|
|
16 |
/**
|
17 |
* Base Handler class providing basic level/bubble support
|
18 |
*
|
19 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
20 |
*/
|
21 |
abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\ResettableInterface
|
22 |
{
|
|
|
|
|
|
|
|
|
23 |
protected $level = \GFPDF_Vendor\Monolog\Logger::DEBUG;
|
|
|
24 |
protected $bubble = \true;
|
25 |
/**
|
26 |
* @param int|string $level The minimum logging level at which this handler will be triggered
|
27 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
|
|
|
|
28 |
*/
|
29 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
30 |
{
|
32 |
$this->bubble = $bubble;
|
33 |
}
|
34 |
/**
|
35 |
+
* {@inheritdoc}
|
36 |
*/
|
37 |
public function isHandling(array $record) : bool
|
38 |
{
|
41 |
/**
|
42 |
* Sets minimum logging level at which this handler will be triggered.
|
43 |
*
|
44 |
+
* @param int|string $level Level or level name
|
45 |
* @return self
|
46 |
*/
|
47 |
public function setLevel($level) : self
|
53 |
* Gets minimum logging level at which this handler will be triggered.
|
54 |
*
|
55 |
* @return int
|
|
|
|
|
56 |
*/
|
57 |
public function getLevel() : int
|
58 |
{
|
80 |
{
|
81 |
return $this->bubble;
|
82 |
}
|
|
|
|
|
|
|
83 |
public function reset()
|
84 |
{
|
85 |
}
|
vendor_prefixed/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
CHANGED
@@ -18,18 +18,13 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
18 |
*
|
19 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
20 |
* @author Christophe Coevoet <stof@notk.org>
|
21 |
-
*
|
22 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
23 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
24 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
25 |
-
* @phpstan-type FormattedRecord array{message: string, context: mixed[], level: Level, level_name: LevelName, channel: string, datetime: \DateTimeImmutable, extra: mixed[], formatted: mixed}
|
26 |
*/
|
27 |
abstract class AbstractProcessingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
28 |
{
|
29 |
use ProcessableHandlerTrait;
|
30 |
use FormattableHandlerTrait;
|
31 |
/**
|
32 |
-
* {@
|
33 |
*/
|
34 |
public function handle(array $record) : bool
|
35 |
{
|
@@ -37,7 +32,6 @@ abstract class AbstractProcessingHandler extends \GFPDF_Vendor\Monolog\Handler\A
|
|
37 |
return \false;
|
38 |
}
|
39 |
if ($this->processors) {
|
40 |
-
/** @var Record $record */
|
41 |
$record = $this->processRecord($record);
|
42 |
}
|
43 |
$record['formatted'] = $this->getFormatter()->format($record);
|
@@ -46,13 +40,8 @@ abstract class AbstractProcessingHandler extends \GFPDF_Vendor\Monolog\Handler\A
|
|
46 |
}
|
47 |
/**
|
48 |
* Writes the record down to the log of the implementing handler
|
49 |
-
*
|
50 |
-
* @phpstan-param FormattedRecord $record
|
51 |
*/
|
52 |
protected abstract function write(array $record) : void;
|
53 |
-
/**
|
54 |
-
* @return void
|
55 |
-
*/
|
56 |
public function reset()
|
57 |
{
|
58 |
parent::reset();
|
18 |
*
|
19 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
20 |
* @author Christophe Coevoet <stof@notk.org>
|
|
|
|
|
|
|
|
|
|
|
21 |
*/
|
22 |
abstract class AbstractProcessingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
23 |
{
|
24 |
use ProcessableHandlerTrait;
|
25 |
use FormattableHandlerTrait;
|
26 |
/**
|
27 |
+
* {@inheritdoc}
|
28 |
*/
|
29 |
public function handle(array $record) : bool
|
30 |
{
|
32 |
return \false;
|
33 |
}
|
34 |
if ($this->processors) {
|
|
|
35 |
$record = $this->processRecord($record);
|
36 |
}
|
37 |
$record['formatted'] = $this->getFormatter()->format($record);
|
40 |
}
|
41 |
/**
|
42 |
* Writes the record down to the log of the implementing handler
|
|
|
|
|
43 |
*/
|
44 |
protected abstract function write(array $record) : void;
|
|
|
|
|
|
|
45 |
public function reset()
|
46 |
{
|
47 |
parent::reset();
|
vendor_prefixed/monolog/src/Monolog/Handler/AbstractSyslogHandler.php
CHANGED
@@ -16,26 +16,22 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
16 |
use GFPDF_Vendor\Monolog\Formatter\LineFormatter;
|
17 |
/**
|
18 |
* Common syslog functionality
|
19 |
-
*
|
20 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
21 |
*/
|
22 |
abstract class AbstractSyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
23 |
{
|
24 |
-
/** @var int */
|
25 |
protected $facility;
|
26 |
/**
|
27 |
* Translates Monolog log levels to syslog log priorities.
|
28 |
-
* @var array
|
29 |
-
* @phpstan-var array<Level, int>
|
30 |
*/
|
31 |
protected $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => \LOG_DEBUG, \GFPDF_Vendor\Monolog\Logger::INFO => \LOG_INFO, \GFPDF_Vendor\Monolog\Logger::NOTICE => \LOG_NOTICE, \GFPDF_Vendor\Monolog\Logger::WARNING => \LOG_WARNING, \GFPDF_Vendor\Monolog\Logger::ERROR => \LOG_ERR, \GFPDF_Vendor\Monolog\Logger::CRITICAL => \LOG_CRIT, \GFPDF_Vendor\Monolog\Logger::ALERT => \LOG_ALERT, \GFPDF_Vendor\Monolog\Logger::EMERGENCY => \LOG_EMERG];
|
32 |
/**
|
33 |
* List of valid log facility names.
|
34 |
-
* @var array<string, int>
|
35 |
*/
|
36 |
protected $facilities = ['auth' => \LOG_AUTH, 'authpriv' => \LOG_AUTHPRIV, 'cron' => \LOG_CRON, 'daemon' => \LOG_DAEMON, 'kern' => \LOG_KERN, 'lpr' => \LOG_LPR, 'mail' => \LOG_MAIL, 'news' => \LOG_NEWS, 'syslog' => \LOG_SYSLOG, 'user' => \LOG_USER, 'uucp' => \LOG_UUCP];
|
37 |
/**
|
38 |
* @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
|
|
|
|
|
39 |
*/
|
40 |
public function __construct($facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
41 |
{
|
@@ -76,7 +72,7 @@ abstract class AbstractSyslogHandler extends \GFPDF_Vendor\Monolog\Handler\Abstr
|
|
76 |
$this->facility = $facility;
|
77 |
}
|
78 |
/**
|
79 |
-
* {@
|
80 |
*/
|
81 |
protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
82 |
{
|
16 |
use GFPDF_Vendor\Monolog\Formatter\LineFormatter;
|
17 |
/**
|
18 |
* Common syslog functionality
|
|
|
|
|
19 |
*/
|
20 |
abstract class AbstractSyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
21 |
{
|
|
|
22 |
protected $facility;
|
23 |
/**
|
24 |
* Translates Monolog log levels to syslog log priorities.
|
|
|
|
|
25 |
*/
|
26 |
protected $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => \LOG_DEBUG, \GFPDF_Vendor\Monolog\Logger::INFO => \LOG_INFO, \GFPDF_Vendor\Monolog\Logger::NOTICE => \LOG_NOTICE, \GFPDF_Vendor\Monolog\Logger::WARNING => \LOG_WARNING, \GFPDF_Vendor\Monolog\Logger::ERROR => \LOG_ERR, \GFPDF_Vendor\Monolog\Logger::CRITICAL => \LOG_CRIT, \GFPDF_Vendor\Monolog\Logger::ALERT => \LOG_ALERT, \GFPDF_Vendor\Monolog\Logger::EMERGENCY => \LOG_EMERG];
|
27 |
/**
|
28 |
* List of valid log facility names.
|
|
|
29 |
*/
|
30 |
protected $facilities = ['auth' => \LOG_AUTH, 'authpriv' => \LOG_AUTHPRIV, 'cron' => \LOG_CRON, 'daemon' => \LOG_DAEMON, 'kern' => \LOG_KERN, 'lpr' => \LOG_LPR, 'mail' => \LOG_MAIL, 'news' => \LOG_NEWS, 'syslog' => \LOG_SYSLOG, 'user' => \LOG_USER, 'uucp' => \LOG_UUCP];
|
31 |
/**
|
32 |
* @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
|
33 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
34 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
35 |
*/
|
36 |
public function __construct($facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
37 |
{
|
72 |
$this->facility = $facility;
|
73 |
}
|
74 |
/**
|
75 |
+
* {@inheritdoc}
|
76 |
*/
|
77 |
protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
78 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/AmqpHandler.php
CHANGED
@@ -17,9 +17,6 @@ use GFPDF_Vendor\Monolog\Formatter\JsonFormatter;
|
|
17 |
use GFPDF_Vendor\PhpAmqpLib\Message\AMQPMessage;
|
18 |
use GFPDF_Vendor\PhpAmqpLib\Channel\AMQPChannel;
|
19 |
use AMQPExchange;
|
20 |
-
/**
|
21 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
22 |
-
*/
|
23 |
class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
24 |
{
|
25 |
/**
|
@@ -33,6 +30,8 @@ class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
33 |
/**
|
34 |
* @param AMQPExchange|AMQPChannel $exchange AMQPExchange (php AMQP ext) or PHP AMQP lib channel, ready for use
|
35 |
* @param string|null $exchangeName Optional exchange name, for AMQPChannel (PhpAmqpLib) only
|
|
|
|
|
36 |
*/
|
37 |
public function __construct($exchange, ?string $exchangeName = null, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
38 |
{
|
@@ -72,7 +71,6 @@ class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
72 |
if (!$this->isHandling($record)) {
|
73 |
continue;
|
74 |
}
|
75 |
-
/** @var Record $record */
|
76 |
$record = $this->processRecord($record);
|
77 |
$data = $this->getFormatter()->format($record);
|
78 |
$this->exchange->batch_basic_publish($this->createAmqpMessage($data), $this->exchangeName, $this->getRoutingKey($record));
|
@@ -81,8 +79,6 @@ class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
81 |
}
|
82 |
/**
|
83 |
* Gets the routing key for the AMQP exchange
|
84 |
-
*
|
85 |
-
* @phpstan-param Record $record
|
86 |
*/
|
87 |
protected function getRoutingKey(array $record) : string
|
88 |
{
|
17 |
use GFPDF_Vendor\PhpAmqpLib\Message\AMQPMessage;
|
18 |
use GFPDF_Vendor\PhpAmqpLib\Channel\AMQPChannel;
|
19 |
use AMQPExchange;
|
|
|
|
|
|
|
20 |
class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
21 |
{
|
22 |
/**
|
30 |
/**
|
31 |
* @param AMQPExchange|AMQPChannel $exchange AMQPExchange (php AMQP ext) or PHP AMQP lib channel, ready for use
|
32 |
* @param string|null $exchangeName Optional exchange name, for AMQPChannel (PhpAmqpLib) only
|
33 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
34 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
35 |
*/
|
36 |
public function __construct($exchange, ?string $exchangeName = null, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
37 |
{
|
71 |
if (!$this->isHandling($record)) {
|
72 |
continue;
|
73 |
}
|
|
|
74 |
$record = $this->processRecord($record);
|
75 |
$data = $this->getFormatter()->format($record);
|
76 |
$this->exchange->batch_basic_publish($this->createAmqpMessage($data), $this->exchangeName, $this->getRoutingKey($record));
|
79 |
}
|
80 |
/**
|
81 |
* Gets the routing key for the AMQP exchange
|
|
|
|
|
82 |
*/
|
83 |
protected function getRoutingKey(array $record) : string
|
84 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/BrowserConsoleHandler.php
CHANGED
@@ -18,14 +18,10 @@ use GFPDF_Vendor\Monolog\Utils;
|
|
18 |
* Handler sending logs to browser's javascript console with no browser extension required
|
19 |
*
|
20 |
* @author Olivier Poitrey <rs@dailymotion.com>
|
21 |
-
*
|
22 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
23 |
*/
|
24 |
class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
25 |
{
|
26 |
-
/** @var bool */
|
27 |
protected static $initialized = \false;
|
28 |
-
/** @var FormattedRecord[] */
|
29 |
protected static $records = [];
|
30 |
/**
|
31 |
* {@inheritDoc}
|
@@ -145,9 +141,6 @@ class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProces
|
|
145 |
}
|
146 |
return "(function (c) {if (c && c.groupCollapsed) {\n" . \implode("\n", $script) . "\n}})(console);";
|
147 |
}
|
148 |
-
/**
|
149 |
-
* @return string[]
|
150 |
-
*/
|
151 |
private static function handleStyles(string $formatted) : array
|
152 |
{
|
153 |
$args = [];
|
@@ -167,7 +160,7 @@ class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProces
|
|
167 |
{
|
168 |
static $colors = ['blue', 'green', 'red', 'magenta', 'orange', 'black', 'grey'];
|
169 |
static $labels = [];
|
170 |
-
|
171 |
if (\trim($m[1]) === 'autolabel') {
|
172 |
// Format the string as a label with consistent auto assigned background color
|
173 |
if (!isset($labels[$string])) {
|
@@ -178,16 +171,7 @@ class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProces
|
|
178 |
}
|
179 |
return $m[1];
|
180 |
}, $style);
|
181 |
-
if (null === $style) {
|
182 |
-
$pcreErrorCode = \preg_last_error();
|
183 |
-
throw new \RuntimeException('Failed to run preg_replace_callback: ' . $pcreErrorCode . ' / ' . \GFPDF_Vendor\Monolog\Utils::pcreLastErrorMessage($pcreErrorCode));
|
184 |
-
}
|
185 |
-
return $style;
|
186 |
}
|
187 |
-
/**
|
188 |
-
* @param mixed[] $dict
|
189 |
-
* @return mixed[]
|
190 |
-
*/
|
191 |
private static function dump(string $title, array $dict) : array
|
192 |
{
|
193 |
$script = [];
|
@@ -209,20 +193,11 @@ class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProces
|
|
209 |
{
|
210 |
return '"' . \addcslashes($arg, "\"\n\\") . '"';
|
211 |
}
|
212 |
-
/**
|
213 |
-
* @param mixed $args
|
214 |
-
*/
|
215 |
private static function call(...$args) : string
|
216 |
{
|
217 |
$method = \array_shift($args);
|
218 |
-
if (!\is_string($method)) {
|
219 |
-
throw new \UnexpectedValueException('Expected the first arg to be a string, got: ' . \var_export($method, \true));
|
220 |
-
}
|
221 |
return static::call_array($method, $args);
|
222 |
}
|
223 |
-
/**
|
224 |
-
* @param mixed[] $args
|
225 |
-
*/
|
226 |
private static function call_array(string $method, array $args) : string
|
227 |
{
|
228 |
return 'c.' . $method . '(' . \implode(', ', $args) . ');';
|
18 |
* Handler sending logs to browser's javascript console with no browser extension required
|
19 |
*
|
20 |
* @author Olivier Poitrey <rs@dailymotion.com>
|
|
|
|
|
21 |
*/
|
22 |
class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
23 |
{
|
|
|
24 |
protected static $initialized = \false;
|
|
|
25 |
protected static $records = [];
|
26 |
/**
|
27 |
* {@inheritDoc}
|
141 |
}
|
142 |
return "(function (c) {if (c && c.groupCollapsed) {\n" . \implode("\n", $script) . "\n}})(console);";
|
143 |
}
|
|
|
|
|
|
|
144 |
private static function handleStyles(string $formatted) : array
|
145 |
{
|
146 |
$args = [];
|
160 |
{
|
161 |
static $colors = ['blue', 'green', 'red', 'magenta', 'orange', 'black', 'grey'];
|
162 |
static $labels = [];
|
163 |
+
return \preg_replace_callback('/macro\\s*:(.*?)(?:;|$)/', function (array $m) use($string, &$colors, &$labels) {
|
164 |
if (\trim($m[1]) === 'autolabel') {
|
165 |
// Format the string as a label with consistent auto assigned background color
|
166 |
if (!isset($labels[$string])) {
|
171 |
}
|
172 |
return $m[1];
|
173 |
}, $style);
|
|
|
|
|
|
|
|
|
|
|
174 |
}
|
|
|
|
|
|
|
|
|
175 |
private static function dump(string $title, array $dict) : array
|
176 |
{
|
177 |
$script = [];
|
193 |
{
|
194 |
return '"' . \addcslashes($arg, "\"\n\\") . '"';
|
195 |
}
|
|
|
|
|
|
|
196 |
private static function call(...$args) : string
|
197 |
{
|
198 |
$method = \array_shift($args);
|
|
|
|
|
|
|
199 |
return static::call_array($method, $args);
|
200 |
}
|
|
|
|
|
|
|
201 |
private static function call_array(string $method, array $args) : string
|
202 |
{
|
203 |
return 'c.' . $method . '(' . \implode(', ', $args) . ');';
|
vendor_prefixed/monolog/src/Monolog/Handler/BufferHandler.php
CHANGED
@@ -21,27 +21,22 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
21 |
* sending one per log message.
|
22 |
*
|
23 |
* @author Christophe Coevoet <stof@notk.org>
|
24 |
-
*
|
25 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
26 |
*/
|
27 |
class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
28 |
{
|
29 |
use ProcessableHandlerTrait;
|
30 |
/** @var HandlerInterface */
|
31 |
protected $handler;
|
32 |
-
/** @var int */
|
33 |
protected $bufferSize = 0;
|
34 |
-
/** @var int */
|
35 |
protected $bufferLimit;
|
36 |
-
/** @var bool */
|
37 |
protected $flushOnOverflow;
|
38 |
-
/** @var Record[] */
|
39 |
protected $buffer = [];
|
40 |
-
/** @var bool */
|
41 |
protected $initialized = \false;
|
42 |
/**
|
43 |
* @param HandlerInterface $handler Handler.
|
44 |
* @param int $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
|
|
|
|
|
45 |
* @param bool $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded
|
46 |
*/
|
47 |
public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, int $bufferLimit = 0, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, bool $flushOnOverflow = \false)
|
@@ -52,7 +47,7 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
|
|
52 |
$this->flushOnOverflow = $flushOnOverflow;
|
53 |
}
|
54 |
/**
|
55 |
-
* {@
|
56 |
*/
|
57 |
public function handle(array $record) : bool
|
58 |
{
|
@@ -73,7 +68,6 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
|
|
73 |
}
|
74 |
}
|
75 |
if ($this->processors) {
|
76 |
-
/** @var Record $record */
|
77 |
$record = $this->processRecord($record);
|
78 |
}
|
79 |
$this->buffer[] = $record;
|
@@ -95,7 +89,7 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
|
|
95 |
// GC'd until the end of the request
|
96 |
}
|
97 |
/**
|
98 |
-
* {@
|
99 |
*/
|
100 |
public function close() : void
|
101 |
{
|
@@ -120,7 +114,7 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
|
|
120 |
}
|
121 |
}
|
122 |
/**
|
123 |
-
* {@
|
124 |
*/
|
125 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
126 |
{
|
@@ -131,7 +125,7 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
|
|
131 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($this->handler) . ' does not support formatters.');
|
132 |
}
|
133 |
/**
|
134 |
-
* {@
|
135 |
*/
|
136 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
137 |
{
|
21 |
* sending one per log message.
|
22 |
*
|
23 |
* @author Christophe Coevoet <stof@notk.org>
|
|
|
|
|
24 |
*/
|
25 |
class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
26 |
{
|
27 |
use ProcessableHandlerTrait;
|
28 |
/** @var HandlerInterface */
|
29 |
protected $handler;
|
|
|
30 |
protected $bufferSize = 0;
|
|
|
31 |
protected $bufferLimit;
|
|
|
32 |
protected $flushOnOverflow;
|
|
|
33 |
protected $buffer = [];
|
|
|
34 |
protected $initialized = \false;
|
35 |
/**
|
36 |
* @param HandlerInterface $handler Handler.
|
37 |
* @param int $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
|
38 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
39 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
40 |
* @param bool $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded
|
41 |
*/
|
42 |
public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, int $bufferLimit = 0, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, bool $flushOnOverflow = \false)
|
47 |
$this->flushOnOverflow = $flushOnOverflow;
|
48 |
}
|
49 |
/**
|
50 |
+
* {@inheritdoc}
|
51 |
*/
|
52 |
public function handle(array $record) : bool
|
53 |
{
|
68 |
}
|
69 |
}
|
70 |
if ($this->processors) {
|
|
|
71 |
$record = $this->processRecord($record);
|
72 |
}
|
73 |
$this->buffer[] = $record;
|
89 |
// GC'd until the end of the request
|
90 |
}
|
91 |
/**
|
92 |
+
* {@inheritdoc}
|
93 |
*/
|
94 |
public function close() : void
|
95 |
{
|
114 |
}
|
115 |
}
|
116 |
/**
|
117 |
+
* {@inheritdoc}
|
118 |
*/
|
119 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
120 |
{
|
125 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($this->handler) . ' does not support formatters.');
|
126 |
}
|
127 |
/**
|
128 |
+
* {@inheritdoc}
|
129 |
*/
|
130 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
131 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/ChromePHPHandler.php
CHANGED
@@ -21,8 +21,6 @@ use GFPDF_Vendor\Monolog\Utils;
|
|
21 |
* This also works out of the box with Firefox 43+
|
22 |
*
|
23 |
* @author Christophe Coevoet <stof@notk.org>
|
24 |
-
*
|
25 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
26 |
*/
|
27 |
class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
28 |
{
|
@@ -39,7 +37,6 @@ class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingH
|
|
39 |
* Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+)
|
40 |
*/
|
41 |
protected const USER_AGENT_REGEX = '{\\b(?:Chrome/\\d+(?:\\.\\d+)*|HeadlessChrome|Firefox/(?:4[3-9]|[5-9]\\d|\\d{3,})(?:\\.\\d)*)\\b}';
|
42 |
-
/** @var bool */
|
43 |
protected static $initialized = \false;
|
44 |
/**
|
45 |
* Tracks whether we sent too much data
|
@@ -49,10 +46,12 @@ class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingH
|
|
49 |
* @var bool
|
50 |
*/
|
51 |
protected static $overflowed = \false;
|
52 |
-
/** @var mixed[] */
|
53 |
protected static $json = ['version' => self::VERSION, 'columns' => ['label', 'log', 'backtrace', 'type'], 'rows' => []];
|
54 |
-
/** @var bool */
|
55 |
protected static $sendHeaders = \true;
|
|
|
|
|
|
|
|
|
56 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
57 |
{
|
58 |
parent::__construct($level, $bubble);
|
@@ -61,7 +60,7 @@ class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingH
|
|
61 |
}
|
62 |
}
|
63 |
/**
|
64 |
-
* {@
|
65 |
*/
|
66 |
public function handleBatch(array $records) : void
|
67 |
{
|
@@ -73,9 +72,7 @@ class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingH
|
|
73 |
if ($record['level'] < $this->level) {
|
74 |
continue;
|
75 |
}
|
76 |
-
|
77 |
-
$message = $this->processRecord($record);
|
78 |
-
$messages[] = $message;
|
79 |
}
|
80 |
if (!empty($messages)) {
|
81 |
$messages = $this->getFormatter()->formatBatch($messages);
|
21 |
* This also works out of the box with Firefox 43+
|
22 |
*
|
23 |
* @author Christophe Coevoet <stof@notk.org>
|
|
|
|
|
24 |
*/
|
25 |
class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
26 |
{
|
37 |
* Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+)
|
38 |
*/
|
39 |
protected const USER_AGENT_REGEX = '{\\b(?:Chrome/\\d+(?:\\.\\d+)*|HeadlessChrome|Firefox/(?:4[3-9]|[5-9]\\d|\\d{3,})(?:\\.\\d)*)\\b}';
|
|
|
40 |
protected static $initialized = \false;
|
41 |
/**
|
42 |
* Tracks whether we sent too much data
|
46 |
* @var bool
|
47 |
*/
|
48 |
protected static $overflowed = \false;
|
|
|
49 |
protected static $json = ['version' => self::VERSION, 'columns' => ['label', 'log', 'backtrace', 'type'], 'rows' => []];
|
|
|
50 |
protected static $sendHeaders = \true;
|
51 |
+
/**
|
52 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
53 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
54 |
+
*/
|
55 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
56 |
{
|
57 |
parent::__construct($level, $bubble);
|
60 |
}
|
61 |
}
|
62 |
/**
|
63 |
+
* {@inheritdoc}
|
64 |
*/
|
65 |
public function handleBatch(array $records) : void
|
66 |
{
|
72 |
if ($record['level'] < $this->level) {
|
73 |
continue;
|
74 |
}
|
75 |
+
$messages[] = $this->processRecord($record);
|
|
|
|
|
76 |
}
|
77 |
if (!empty($messages)) {
|
78 |
$messages = $this->getFormatter()->formatBatch($messages);
|
vendor_prefixed/monolog/src/Monolog/Handler/CouchDBHandler.php
CHANGED
@@ -21,11 +21,7 @@ use GFPDF_Vendor\Monolog\Logger;
|
|
21 |
*/
|
22 |
class CouchDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
23 |
{
|
24 |
-
/** @var mixed[] */
|
25 |
private $options;
|
26 |
-
/**
|
27 |
-
* @param mixed[] $options
|
28 |
-
*/
|
29 |
public function __construct(array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
30 |
{
|
31 |
$this->options = \array_merge(['host' => 'localhost', 'port' => 5984, 'dbname' => 'logger', 'username' => null, 'password' => null], $options);
|
21 |
*/
|
22 |
class CouchDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
23 |
{
|
|
|
24 |
private $options;
|
|
|
|
|
|
|
25 |
public function __construct(array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
26 |
{
|
27 |
$this->options = \array_merge(['host' => 'localhost', 'port' => 5984, 'dbname' => 'logger', 'username' => null, 'password' => null], $options);
|
vendor_prefixed/monolog/src/Monolog/Handler/CubeHandler.php
CHANGED
@@ -21,17 +21,11 @@ use GFPDF_Vendor\Monolog\Utils;
|
|
21 |
*/
|
22 |
class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
23 |
{
|
24 |
-
|
25 |
-
private $
|
26 |
-
/** @var resource|\CurlHandle|null */
|
27 |
-
private $httpConnection = null;
|
28 |
-
/** @var string */
|
29 |
private $scheme;
|
30 |
-
/** @var string */
|
31 |
private $host;
|
32 |
-
/** @var int */
|
33 |
private $port;
|
34 |
-
/** @var string[] */
|
35 |
private $acceptedSchemes = ['http', 'udp'];
|
36 |
/**
|
37 |
* Create a Cube handler
|
@@ -43,7 +37,7 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
43 |
public function __construct(string $url, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
44 |
{
|
45 |
$urlInfo = \parse_url($url);
|
46 |
-
if (
|
47 |
throw new \UnexpectedValueException('URL "' . $url . '" is not valid');
|
48 |
}
|
49 |
if (!\in_array($urlInfo['scheme'], $this->acceptedSchemes)) {
|
@@ -51,7 +45,7 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
51 |
}
|
52 |
$this->scheme = $urlInfo['scheme'];
|
53 |
$this->host = $urlInfo['host'];
|
54 |
-
$this->port =
|
55 |
parent::__construct($level, $bubble);
|
56 |
}
|
57 |
/**
|
@@ -65,11 +59,10 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
65 |
if (!\extension_loaded('sockets')) {
|
66 |
throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The sockets extension is required to use udp URLs with the CubeHandler');
|
67 |
}
|
68 |
-
$udpConnection = \socket_create(\AF_INET, \SOCK_DGRAM, 0);
|
69 |
-
if (
|
70 |
throw new \LogicException('Unable to create a socket');
|
71 |
}
|
72 |
-
$this->udpConnection = $udpConnection;
|
73 |
if (!\socket_connect($this->udpConnection, $this->host, $this->port)) {
|
74 |
throw new \LogicException('Unable to connect to the socket at ' . $this->host . ':' . $this->port);
|
75 |
}
|
@@ -85,16 +78,15 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
85 |
if (!\extension_loaded('curl')) {
|
86 |
throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is required to use http URLs with the CubeHandler');
|
87 |
}
|
88 |
-
$httpConnection = \curl_init('http://' . $this->host . ':' . $this->port . '/1.0/event/put');
|
89 |
-
if (
|
90 |
throw new \LogicException('Unable to connect to ' . $this->host . ':' . $this->port);
|
91 |
}
|
92 |
-
$this->httpConnection = $httpConnection;
|
93 |
\curl_setopt($this->httpConnection, \CURLOPT_CUSTOMREQUEST, "POST");
|
94 |
\curl_setopt($this->httpConnection, \CURLOPT_RETURNTRANSFER, \true);
|
95 |
}
|
96 |
/**
|
97 |
-
* {@
|
98 |
*/
|
99 |
protected function write(array $record) : void
|
100 |
{
|
@@ -127,9 +119,6 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
127 |
if (!$this->httpConnection) {
|
128 |
$this->connectHttp();
|
129 |
}
|
130 |
-
if (null === $this->httpConnection) {
|
131 |
-
throw new \LogicException('No connection could be established');
|
132 |
-
}
|
133 |
\curl_setopt($this->httpConnection, \CURLOPT_POSTFIELDS, '[' . $data . ']');
|
134 |
\curl_setopt($this->httpConnection, \CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'Content-Length: ' . \strlen('[' . $data . ']')]);
|
135 |
\GFPDF_Vendor\Monolog\Handler\Curl\Util::execute($this->httpConnection, 5, \false);
|
21 |
*/
|
22 |
class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
23 |
{
|
24 |
+
private $udpConnection;
|
25 |
+
private $httpConnection;
|
|
|
|
|
|
|
26 |
private $scheme;
|
|
|
27 |
private $host;
|
|
|
28 |
private $port;
|
|
|
29 |
private $acceptedSchemes = ['http', 'udp'];
|
30 |
/**
|
31 |
* Create a Cube handler
|
37 |
public function __construct(string $url, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
38 |
{
|
39 |
$urlInfo = \parse_url($url);
|
40 |
+
if (!isset($urlInfo['scheme'], $urlInfo['host'], $urlInfo['port'])) {
|
41 |
throw new \UnexpectedValueException('URL "' . $url . '" is not valid');
|
42 |
}
|
43 |
if (!\in_array($urlInfo['scheme'], $this->acceptedSchemes)) {
|
45 |
}
|
46 |
$this->scheme = $urlInfo['scheme'];
|
47 |
$this->host = $urlInfo['host'];
|
48 |
+
$this->port = $urlInfo['port'];
|
49 |
parent::__construct($level, $bubble);
|
50 |
}
|
51 |
/**
|
59 |
if (!\extension_loaded('sockets')) {
|
60 |
throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The sockets extension is required to use udp URLs with the CubeHandler');
|
61 |
}
|
62 |
+
$this->udpConnection = \socket_create(\AF_INET, \SOCK_DGRAM, 0);
|
63 |
+
if (!$this->udpConnection) {
|
64 |
throw new \LogicException('Unable to create a socket');
|
65 |
}
|
|
|
66 |
if (!\socket_connect($this->udpConnection, $this->host, $this->port)) {
|
67 |
throw new \LogicException('Unable to connect to the socket at ' . $this->host . ':' . $this->port);
|
68 |
}
|
78 |
if (!\extension_loaded('curl')) {
|
79 |
throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is required to use http URLs with the CubeHandler');
|
80 |
}
|
81 |
+
$this->httpConnection = \curl_init('http://' . $this->host . ':' . $this->port . '/1.0/event/put');
|
82 |
+
if (!$this->httpConnection) {
|
83 |
throw new \LogicException('Unable to connect to ' . $this->host . ':' . $this->port);
|
84 |
}
|
|
|
85 |
\curl_setopt($this->httpConnection, \CURLOPT_CUSTOMREQUEST, "POST");
|
86 |
\curl_setopt($this->httpConnection, \CURLOPT_RETURNTRANSFER, \true);
|
87 |
}
|
88 |
/**
|
89 |
+
* {@inheritdoc}
|
90 |
*/
|
91 |
protected function write(array $record) : void
|
92 |
{
|
119 |
if (!$this->httpConnection) {
|
120 |
$this->connectHttp();
|
121 |
}
|
|
|
|
|
|
|
122 |
\curl_setopt($this->httpConnection, \CURLOPT_POSTFIELDS, '[' . $data . ']');
|
123 |
\curl_setopt($this->httpConnection, \CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'Content-Length: ' . \strlen('[' . $data . ']')]);
|
124 |
\GFPDF_Vendor\Monolog\Handler\Curl\Util::execute($this->httpConnection, 5, \false);
|
vendor_prefixed/monolog/src/Monolog/Handler/Curl/Util.php
CHANGED
@@ -19,7 +19,6 @@ use CurlHandle;
|
|
19 |
*/
|
20 |
final class Util
|
21 |
{
|
22 |
-
/** @var array<int> */
|
23 |
private static $retriableErrorCodes = [\CURLE_COULDNT_RESOLVE_HOST, \CURLE_COULDNT_CONNECT, \CURLE_HTTP_NOT_FOUND, \CURLE_READ_ERROR, \CURLE_OPERATION_TIMEOUTED, \CURLE_HTTP_POST_ERROR, \CURLE_SSL_CONNECT_ERROR];
|
24 |
/**
|
25 |
* Executes a CURL request with optional retries and exception on failure
|
19 |
*/
|
20 |
final class Util
|
21 |
{
|
|
|
22 |
private static $retriableErrorCodes = [\CURLE_COULDNT_RESOLVE_HOST, \CURLE_COULDNT_CONNECT, \CURLE_HTTP_NOT_FOUND, \CURLE_READ_ERROR, \CURLE_OPERATION_TIMEOUTED, \CURLE_HTTP_POST_ERROR, \CURLE_SSL_CONNECT_ERROR];
|
23 |
/**
|
24 |
* Executes a CURL request with optional retries and exception on failure
|
vendor_prefixed/monolog/src/Monolog/Handler/DeduplicationHandler.php
CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
-
use Psr\Log\LogLevel;
|
16 |
/**
|
17 |
* Simple handler wrapper that deduplicates log records across multiple requests
|
18 |
*
|
@@ -32,10 +31,6 @@ use Psr\Log\LogLevel;
|
|
32 |
* same way.
|
33 |
*
|
34 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
35 |
-
*
|
36 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
37 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
38 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
39 |
*/
|
40 |
class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
|
41 |
{
|
@@ -44,7 +39,7 @@ class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
|
|
44 |
*/
|
45 |
protected $deduplicationStore;
|
46 |
/**
|
47 |
-
* @var
|
48 |
*/
|
49 |
protected $deduplicationLevel;
|
50 |
/**
|
@@ -61,8 +56,6 @@ class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
|
|
61 |
* @param string|int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes
|
62 |
* @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through
|
63 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
64 |
-
*
|
65 |
-
* @phpstan-param Level|LevelName|LogLevel::* $deduplicationLevel
|
66 |
*/
|
67 |
public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, ?string $deduplicationStore = null, $deduplicationLevel = \GFPDF_Vendor\Monolog\Logger::ERROR, int $time = 60, bool $bubble = \true)
|
68 |
{
|
@@ -94,9 +87,6 @@ class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
|
|
94 |
$this->collectLogs();
|
95 |
}
|
96 |
}
|
97 |
-
/**
|
98 |
-
* @phpstan-param Record $record
|
99 |
-
*/
|
100 |
private function isDuplicate(array $record) : bool
|
101 |
{
|
102 |
if (!\file_exists($this->deduplicationStore)) {
|
@@ -147,9 +137,6 @@ class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
|
|
147 |
\fclose($handle);
|
148 |
$this->gc = \false;
|
149 |
}
|
150 |
-
/**
|
151 |
-
* @phpstan-param Record $record
|
152 |
-
*/
|
153 |
private function appendRecord(array $record) : void
|
154 |
{
|
155 |
\file_put_contents($this->deduplicationStore, $record['datetime']->getTimestamp() . ':' . $record['level_name'] . ':' . \preg_replace('{[\\r\\n].*}', '', $record['message']) . "\n", \FILE_APPEND);
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
|
|
15 |
/**
|
16 |
* Simple handler wrapper that deduplicates log records across multiple requests
|
17 |
*
|
31 |
* same way.
|
32 |
*
|
33 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
|
|
34 |
*/
|
35 |
class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
|
36 |
{
|
39 |
*/
|
40 |
protected $deduplicationStore;
|
41 |
/**
|
42 |
+
* @var int
|
43 |
*/
|
44 |
protected $deduplicationLevel;
|
45 |
/**
|
56 |
* @param string|int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes
|
57 |
* @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through
|
58 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
|
|
|
|
59 |
*/
|
60 |
public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, ?string $deduplicationStore = null, $deduplicationLevel = \GFPDF_Vendor\Monolog\Logger::ERROR, int $time = 60, bool $bubble = \true)
|
61 |
{
|
87 |
$this->collectLogs();
|
88 |
}
|
89 |
}
|
|
|
|
|
|
|
90 |
private function isDuplicate(array $record) : bool
|
91 |
{
|
92 |
if (!\file_exists($this->deduplicationStore)) {
|
137 |
\fclose($handle);
|
138 |
$this->gc = \false;
|
139 |
}
|
|
|
|
|
|
|
140 |
private function appendRecord(array $record) : void
|
141 |
{
|
142 |
\file_put_contents($this->deduplicationStore, $record['datetime']->getTimestamp() . ':' . $record['level_name'] . ':' . \preg_replace('{[\\r\\n].*}', '', $record['message']) . "\n", \FILE_APPEND);
|
vendor_prefixed/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php
CHANGED
@@ -22,7 +22,6 @@ use GFPDF_Vendor\Doctrine\CouchDB\CouchDBClient;
|
|
22 |
*/
|
23 |
class DoctrineCouchDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
24 |
{
|
25 |
-
/** @var CouchDBClient */
|
26 |
private $client;
|
27 |
public function __construct(\GFPDF_Vendor\Doctrine\CouchDB\CouchDBClient $client, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
28 |
{
|
22 |
*/
|
23 |
class DoctrineCouchDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
24 |
{
|
|
|
25 |
private $client;
|
26 |
public function __construct(\GFPDF_Vendor\Doctrine\CouchDB\CouchDBClient $client, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
27 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/DynamoDbHandler.php
CHANGED
@@ -42,6 +42,9 @@ class DynamoDbHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
42 |
* @var Marshaler
|
43 |
*/
|
44 |
protected $marshaler;
|
|
|
|
|
|
|
45 |
public function __construct(\GFPDF_Vendor\Aws\DynamoDb\DynamoDbClient $client, string $table, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
46 |
{
|
47 |
/** @phpstan-ignore-next-line */
|
@@ -56,7 +59,7 @@ class DynamoDbHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
56 |
parent::__construct($level, $bubble);
|
57 |
}
|
58 |
/**
|
59 |
-
* {@
|
60 |
*/
|
61 |
protected function write(array $record) : void
|
62 |
{
|
@@ -69,10 +72,6 @@ class DynamoDbHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
69 |
}
|
70 |
$this->client->putItem(['TableName' => $this->table, 'Item' => $formatted]);
|
71 |
}
|
72 |
-
/**
|
73 |
-
* @param mixed[] $record
|
74 |
-
* @return mixed[]
|
75 |
-
*/
|
76 |
protected function filterEmptyFields(array $record) : array
|
77 |
{
|
78 |
return \array_filter($record, function ($value) {
|
@@ -80,7 +79,7 @@ class DynamoDbHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
80 |
});
|
81 |
}
|
82 |
/**
|
83 |
-
* {@
|
84 |
*/
|
85 |
protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
86 |
{
|
42 |
* @var Marshaler
|
43 |
*/
|
44 |
protected $marshaler;
|
45 |
+
/**
|
46 |
+
* @param int|string $level
|
47 |
+
*/
|
48 |
public function __construct(\GFPDF_Vendor\Aws\DynamoDb\DynamoDbClient $client, string $table, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
49 |
{
|
50 |
/** @phpstan-ignore-next-line */
|
59 |
parent::__construct($level, $bubble);
|
60 |
}
|
61 |
/**
|
62 |
+
* {@inheritdoc}
|
63 |
*/
|
64 |
protected function write(array $record) : void
|
65 |
{
|
72 |
}
|
73 |
$this->client->putItem(['TableName' => $this->table, 'Item' => $formatted]);
|
74 |
}
|
|
|
|
|
|
|
|
|
75 |
protected function filterEmptyFields(array $record) : array
|
76 |
{
|
77 |
return \array_filter($record, function ($value) {
|
79 |
});
|
80 |
}
|
81 |
/**
|
82 |
+
* {@inheritdoc}
|
83 |
*/
|
84 |
protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
85 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/ElasticaHandler.php
CHANGED
@@ -11,7 +11,6 @@ declare (strict_types=1);
|
|
11 |
*/
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
-
use GFPDF_Vendor\Elastica\Document;
|
15 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
16 |
use GFPDF_Vendor\Monolog\Formatter\ElasticaFormatter;
|
17 |
use GFPDF_Vendor\Monolog\Logger;
|
@@ -40,12 +39,14 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
40 |
*/
|
41 |
protected $client;
|
42 |
/**
|
43 |
-
* @var
|
44 |
*/
|
45 |
protected $options = [];
|
46 |
/**
|
47 |
-
* @param Client
|
48 |
-
* @param
|
|
|
|
|
49 |
*/
|
50 |
public function __construct(\GFPDF_Vendor\Elastica\Client $client, array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
51 |
{
|
@@ -67,7 +68,7 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
67 |
$this->bulkSend([$record['formatted']]);
|
68 |
}
|
69 |
/**
|
70 |
-
* {@
|
71 |
*/
|
72 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
73 |
{
|
@@ -76,9 +77,6 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
76 |
}
|
77 |
throw new \InvalidArgumentException('ElasticaHandler is only compatible with ElasticaFormatter');
|
78 |
}
|
79 |
-
/**
|
80 |
-
* @return mixed[]
|
81 |
-
*/
|
82 |
public function getOptions() : array
|
83 |
{
|
84 |
return $this->options;
|
@@ -91,7 +89,7 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
91 |
return new \GFPDF_Vendor\Monolog\Formatter\ElasticaFormatter($this->options['index'], $this->options['type']);
|
92 |
}
|
93 |
/**
|
94 |
-
* {@
|
95 |
*/
|
96 |
public function handleBatch(array $records) : void
|
97 |
{
|
@@ -100,9 +98,6 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
100 |
}
|
101 |
/**
|
102 |
* Use Elasticsearch bulk API to send list of documents
|
103 |
-
*
|
104 |
-
* @param Document[] $documents
|
105 |
-
*
|
106 |
* @throws \RuntimeException
|
107 |
*/
|
108 |
protected function bulkSend(array $documents) : void
|
11 |
*/
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
|
|
14 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
15 |
use GFPDF_Vendor\Monolog\Formatter\ElasticaFormatter;
|
16 |
use GFPDF_Vendor\Monolog\Logger;
|
39 |
*/
|
40 |
protected $client;
|
41 |
/**
|
42 |
+
* @var array Handler config options
|
43 |
*/
|
44 |
protected $options = [];
|
45 |
/**
|
46 |
+
* @param Client $client Elastica Client object
|
47 |
+
* @param array $options Handler configuration
|
48 |
+
* @param int|string $level The minimum logging level at which this handler will be triggered
|
49 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
50 |
*/
|
51 |
public function __construct(\GFPDF_Vendor\Elastica\Client $client, array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
52 |
{
|
68 |
$this->bulkSend([$record['formatted']]);
|
69 |
}
|
70 |
/**
|
71 |
+
* {@inheritdoc}
|
72 |
*/
|
73 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
74 |
{
|
77 |
}
|
78 |
throw new \InvalidArgumentException('ElasticaHandler is only compatible with ElasticaFormatter');
|
79 |
}
|
|
|
|
|
|
|
80 |
public function getOptions() : array
|
81 |
{
|
82 |
return $this->options;
|
89 |
return new \GFPDF_Vendor\Monolog\Formatter\ElasticaFormatter($this->options['index'], $this->options['type']);
|
90 |
}
|
91 |
/**
|
92 |
+
* {@inheritdoc}
|
93 |
*/
|
94 |
public function handleBatch(array $records) : void
|
95 |
{
|
98 |
}
|
99 |
/**
|
100 |
* Use Elasticsearch bulk API to send list of documents
|
|
|
|
|
|
|
101 |
* @throws \RuntimeException
|
102 |
*/
|
103 |
protected function bulkSend(array $documents) : void
|
vendor_prefixed/monolog/src/Monolog/Handler/ElasticsearchHandler.php
CHANGED
@@ -47,12 +47,14 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
47 |
*/
|
48 |
protected $client;
|
49 |
/**
|
50 |
-
* @var
|
51 |
*/
|
52 |
protected $options = [];
|
53 |
/**
|
54 |
-
* @param Client
|
55 |
-
* @param
|
|
|
|
|
56 |
*/
|
57 |
public function __construct(\GFPDF_Vendor\Elasticsearch\Client $client, array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
58 |
{
|
@@ -74,7 +76,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
74 |
$this->bulkSend([$record['formatted']]);
|
75 |
}
|
76 |
/**
|
77 |
-
* {@
|
78 |
*/
|
79 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
80 |
{
|
@@ -86,7 +88,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
86 |
/**
|
87 |
* Getter options
|
88 |
*
|
89 |
-
* @return
|
90 |
*/
|
91 |
public function getOptions() : array
|
92 |
{
|
@@ -100,7 +102,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
100 |
return new \GFPDF_Vendor\Monolog\Formatter\ElasticsearchFormatter($this->options['index'], $this->options['type']);
|
101 |
}
|
102 |
/**
|
103 |
-
* {@
|
104 |
*/
|
105 |
public function handleBatch(array $records) : void
|
106 |
{
|
@@ -110,7 +112,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
110 |
/**
|
111 |
* Use Elasticsearch bulk API to send list of documents
|
112 |
*
|
113 |
-
* @param array
|
114 |
* @throws \RuntimeException
|
115 |
*/
|
116 |
protected function bulkSend(array $records) : void
|
@@ -137,7 +139,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
137 |
*
|
138 |
* Only the first error is converted into an exception.
|
139 |
*
|
140 |
-
* @param
|
141 |
*/
|
142 |
protected function createExceptionFromResponses(array $responses) : \GFPDF_Vendor\Elasticsearch\Common\Exceptions\RuntimeException
|
143 |
{
|
@@ -151,7 +153,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
151 |
/**
|
152 |
* Creates elasticsearch exception from error array
|
153 |
*
|
154 |
-
* @param
|
155 |
*/
|
156 |
protected function createExceptionFromError(array $error) : \GFPDF_Vendor\Elasticsearch\Common\Exceptions\RuntimeException
|
157 |
{
|
47 |
*/
|
48 |
protected $client;
|
49 |
/**
|
50 |
+
* @var array Handler config options
|
51 |
*/
|
52 |
protected $options = [];
|
53 |
/**
|
54 |
+
* @param Client $client Elasticsearch Client object
|
55 |
+
* @param array $options Handler configuration
|
56 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
57 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
58 |
*/
|
59 |
public function __construct(\GFPDF_Vendor\Elasticsearch\Client $client, array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
60 |
{
|
76 |
$this->bulkSend([$record['formatted']]);
|
77 |
}
|
78 |
/**
|
79 |
+
* {@inheritdoc}
|
80 |
*/
|
81 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
82 |
{
|
88 |
/**
|
89 |
* Getter options
|
90 |
*
|
91 |
+
* @return array
|
92 |
*/
|
93 |
public function getOptions() : array
|
94 |
{
|
102 |
return new \GFPDF_Vendor\Monolog\Formatter\ElasticsearchFormatter($this->options['index'], $this->options['type']);
|
103 |
}
|
104 |
/**
|
105 |
+
* {@inheritdoc}
|
106 |
*/
|
107 |
public function handleBatch(array $records) : void
|
108 |
{
|
112 |
/**
|
113 |
* Use Elasticsearch bulk API to send list of documents
|
114 |
*
|
115 |
+
* @param array $records
|
116 |
* @throws \RuntimeException
|
117 |
*/
|
118 |
protected function bulkSend(array $records) : void
|
139 |
*
|
140 |
* Only the first error is converted into an exception.
|
141 |
*
|
142 |
+
* @param array $responses returned by $this->client->bulk()
|
143 |
*/
|
144 |
protected function createExceptionFromResponses(array $responses) : \GFPDF_Vendor\Elasticsearch\Common\Exceptions\RuntimeException
|
145 |
{
|
153 |
/**
|
154 |
* Creates elasticsearch exception from error array
|
155 |
*
|
156 |
+
* @param array $error
|
157 |
*/
|
158 |
protected function createExceptionFromError(array $error) : \GFPDF_Vendor\Elasticsearch\Common\Exceptions\RuntimeException
|
159 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/ErrorLogHandler.php
CHANGED
@@ -14,7 +14,6 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
14 |
use GFPDF_Vendor\Monolog\Formatter\LineFormatter;
|
15 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
16 |
use GFPDF_Vendor\Monolog\Logger;
|
17 |
-
use GFPDF_Vendor\Monolog\Utils;
|
18 |
/**
|
19 |
* Stores to PHP error_log() handler.
|
20 |
*
|
@@ -24,13 +23,13 @@ class ErrorLogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
24 |
{
|
25 |
public const OPERATING_SYSTEM = 0;
|
26 |
public const SAPI = 4;
|
27 |
-
/** @var int */
|
28 |
protected $messageType;
|
29 |
-
/** @var bool */
|
30 |
protected $expandNewlines;
|
31 |
/**
|
32 |
-
* @param int
|
33 |
-
* @param
|
|
|
|
|
34 |
*/
|
35 |
public function __construct(int $messageType = self::OPERATING_SYSTEM, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, bool $expandNewlines = \false)
|
36 |
{
|
@@ -43,7 +42,7 @@ class ErrorLogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
43 |
$this->expandNewlines = $expandNewlines;
|
44 |
}
|
45 |
/**
|
46 |
-
* @return
|
47 |
*/
|
48 |
public static function getAvailableTypes() : array
|
49 |
{
|
@@ -57,7 +56,7 @@ class ErrorLogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
57 |
return new \GFPDF_Vendor\Monolog\Formatter\LineFormatter('[%datetime%] %channel%.%level_name%: %message% %context% %extra%');
|
58 |
}
|
59 |
/**
|
60 |
-
* {@
|
61 |
*/
|
62 |
protected function write(array $record) : void
|
63 |
{
|
@@ -66,10 +65,6 @@ class ErrorLogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
66 |
return;
|
67 |
}
|
68 |
$lines = \preg_split('{[\\r\\n]+}', (string) $record['formatted']);
|
69 |
-
if ($lines === \false) {
|
70 |
-
$pcreErrorCode = \preg_last_error();
|
71 |
-
throw new \RuntimeException('Failed to preg_split formatted string: ' . $pcreErrorCode . ' / ' . \GFPDF_Vendor\Monolog\Utils::pcreLastErrorMessage($pcreErrorCode));
|
72 |
-
}
|
73 |
foreach ($lines as $line) {
|
74 |
\error_log($line, $this->messageType);
|
75 |
}
|
14 |
use GFPDF_Vendor\Monolog\Formatter\LineFormatter;
|
15 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
16 |
use GFPDF_Vendor\Monolog\Logger;
|
|
|
17 |
/**
|
18 |
* Stores to PHP error_log() handler.
|
19 |
*
|
23 |
{
|
24 |
public const OPERATING_SYSTEM = 0;
|
25 |
public const SAPI = 4;
|
|
|
26 |
protected $messageType;
|
|
|
27 |
protected $expandNewlines;
|
28 |
/**
|
29 |
+
* @param int $messageType Says where the error should go.
|
30 |
+
* @param int|string $level The minimum logging level at which this handler will be triggered
|
31 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
32 |
+
* @param bool $expandNewlines If set to true, newlines in the message will be expanded to be take multiple log entries
|
33 |
*/
|
34 |
public function __construct(int $messageType = self::OPERATING_SYSTEM, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, bool $expandNewlines = \false)
|
35 |
{
|
42 |
$this->expandNewlines = $expandNewlines;
|
43 |
}
|
44 |
/**
|
45 |
+
* @return array With all available types
|
46 |
*/
|
47 |
public static function getAvailableTypes() : array
|
48 |
{
|
56 |
return new \GFPDF_Vendor\Monolog\Formatter\LineFormatter('[%datetime%] %channel%.%level_name%: %message% %context% %extra%');
|
57 |
}
|
58 |
/**
|
59 |
+
* {@inheritdoc}
|
60 |
*/
|
61 |
protected function write(array $record) : void
|
62 |
{
|
65 |
return;
|
66 |
}
|
67 |
$lines = \preg_split('{[\\r\\n]+}', (string) $record['formatted']);
|
|
|
|
|
|
|
|
|
68 |
foreach ($lines as $line) {
|
69 |
\error_log($line, $this->messageType);
|
70 |
}
|
vendor_prefixed/monolog/src/Monolog/Handler/FallbackGroupHandler.php
CHANGED
@@ -12,24 +12,14 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use Throwable;
|
15 |
-
/**
|
16 |
-
* Forwards records to at most one handler
|
17 |
-
*
|
18 |
-
* If a handler fails, the exception is suppressed and the record is forwarded to the next handler.
|
19 |
-
*
|
20 |
-
* As soon as one handler handles a record successfully, the handling stops there.
|
21 |
-
*
|
22 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
23 |
-
*/
|
24 |
class FallbackGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
|
25 |
{
|
26 |
/**
|
27 |
-
* {@
|
28 |
*/
|
29 |
public function handle(array $record) : bool
|
30 |
{
|
31 |
if ($this->processors) {
|
32 |
-
/** @var Record $record */
|
33 |
$record = $this->processRecord($record);
|
34 |
}
|
35 |
foreach ($this->handlers as $handler) {
|
@@ -43,7 +33,7 @@ class FallbackGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
|
|
43 |
return \false === $this->bubble;
|
44 |
}
|
45 |
/**
|
46 |
-
* {@
|
47 |
*/
|
48 |
public function handleBatch(array $records) : void
|
49 |
{
|
@@ -52,7 +42,6 @@ class FallbackGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
|
|
52 |
foreach ($records as $record) {
|
53 |
$processed[] = $this->processRecord($record);
|
54 |
}
|
55 |
-
/** @var Record[] $records */
|
56 |
$records = $processed;
|
57 |
}
|
58 |
foreach ($this->handlers as $handler) {
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use Throwable;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
class FallbackGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
|
16 |
{
|
17 |
/**
|
18 |
+
* {@inheritdoc}
|
19 |
*/
|
20 |
public function handle(array $record) : bool
|
21 |
{
|
22 |
if ($this->processors) {
|
|
|
23 |
$record = $this->processRecord($record);
|
24 |
}
|
25 |
foreach ($this->handlers as $handler) {
|
33 |
return \false === $this->bubble;
|
34 |
}
|
35 |
/**
|
36 |
+
* {@inheritdoc}
|
37 |
*/
|
38 |
public function handleBatch(array $records) : void
|
39 |
{
|
42 |
foreach ($records as $record) {
|
43 |
$processed[] = $this->processRecord($record);
|
44 |
}
|
|
|
45 |
$records = $processed;
|
46 |
}
|
47 |
foreach ($this->handlers as $handler) {
|
vendor_prefixed/monolog/src/Monolog/Handler/FilterHandler.php
CHANGED
@@ -14,7 +14,6 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
use GFPDF_Vendor\Monolog\ResettableInterface;
|
16 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
17 |
-
use Psr\Log\LogLevel;
|
18 |
/**
|
19 |
* Simple handler wrapper that filters records based on a list of levels
|
20 |
*
|
@@ -22,10 +21,6 @@ use Psr\Log\LogLevel;
|
|
22 |
*
|
23 |
* @author Hennadiy Verkh
|
24 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
25 |
-
*
|
26 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
27 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
28 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
29 |
*/
|
30 |
class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
31 |
{
|
@@ -33,15 +28,13 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
33 |
/**
|
34 |
* Handler or factory callable($record, $this)
|
35 |
*
|
36 |
-
* @var callable
|
37 |
-
* @phpstan-var callable(?Record, HandlerInterface): HandlerInterface|HandlerInterface
|
38 |
*/
|
39 |
protected $handler;
|
40 |
/**
|
41 |
* Minimum level for logs that are passed to handler
|
42 |
*
|
43 |
* @var int[]
|
44 |
-
* @phpstan-var array<Level, int>
|
45 |
*/
|
46 |
protected $acceptedLevels;
|
47 |
/**
|
@@ -51,15 +44,12 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
51 |
*/
|
52 |
protected $bubble;
|
53 |
/**
|
54 |
-
* @psalm-param HandlerInterface|callable(?
|
55 |
*
|
56 |
* @param callable|HandlerInterface $handler Handler or factory callable($record|null, $filterHandler).
|
57 |
* @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided
|
58 |
* @param int|string $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array
|
59 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
60 |
-
*
|
61 |
-
* @phpstan-param Level|LevelName|LogLevel::*|array<Level|LevelName|LogLevel::*> $minLevelOrList
|
62 |
-
* @phpstan-param Level|LevelName|LogLevel::* $maxLevel
|
63 |
*/
|
64 |
public function __construct($handler, $minLevelOrList = \GFPDF_Vendor\Monolog\Logger::DEBUG, $maxLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY, bool $bubble = \true)
|
65 |
{
|
@@ -70,9 +60,6 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
70 |
throw new \RuntimeException("The given handler (" . \json_encode($this->handler) . ") is not a callable nor a Monolog\\Handler\\HandlerInterface object");
|
71 |
}
|
72 |
}
|
73 |
-
/**
|
74 |
-
* @phpstan-return array<int, Level>
|
75 |
-
*/
|
76 |
public function getAcceptedLevels() : array
|
77 |
{
|
78 |
return \array_flip($this->acceptedLevels);
|
@@ -80,9 +67,6 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
80 |
/**
|
81 |
* @param int|string|array $minLevelOrList A list of levels to accept or a minimum level or level name if maxLevel is provided
|
82 |
* @param int|string $maxLevel Maximum level or level name to accept, only used if $minLevelOrList is not an array
|
83 |
-
*
|
84 |
-
* @phpstan-param Level|LevelName|LogLevel::*|array<Level|LevelName|LogLevel::*> $minLevelOrList
|
85 |
-
* @phpstan-param Level|LevelName|LogLevel::* $maxLevel
|
86 |
*/
|
87 |
public function setAcceptedLevels($minLevelOrList = \GFPDF_Vendor\Monolog\Logger::DEBUG, $maxLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY) : self
|
88 |
{
|
@@ -99,14 +83,14 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
99 |
return $this;
|
100 |
}
|
101 |
/**
|
102 |
-
* {@
|
103 |
*/
|
104 |
public function isHandling(array $record) : bool
|
105 |
{
|
106 |
return isset($this->acceptedLevels[$record['level']]);
|
107 |
}
|
108 |
/**
|
109 |
-
* {@
|
110 |
*/
|
111 |
public function handle(array $record) : bool
|
112 |
{
|
@@ -114,14 +98,13 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
114 |
return \false;
|
115 |
}
|
116 |
if ($this->processors) {
|
117 |
-
/** @var Record $record */
|
118 |
$record = $this->processRecord($record);
|
119 |
}
|
120 |
$this->getHandler($record)->handle($record);
|
121 |
return \false === $this->bubble;
|
122 |
}
|
123 |
/**
|
124 |
-
* {@
|
125 |
*/
|
126 |
public function handleBatch(array $records) : void
|
127 |
{
|
@@ -141,8 +124,6 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
141 |
* If the handler was provided as a factory callable, this will trigger the handler's instantiation.
|
142 |
*
|
143 |
* @return HandlerInterface
|
144 |
-
*
|
145 |
-
* @phpstan-param Record $record
|
146 |
*/
|
147 |
public function getHandler(array $record = null)
|
148 |
{
|
@@ -155,7 +136,7 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
155 |
return $this->handler;
|
156 |
}
|
157 |
/**
|
158 |
-
* {@
|
159 |
*/
|
160 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
161 |
{
|
@@ -167,7 +148,7 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
167 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
|
168 |
}
|
169 |
/**
|
170 |
-
* {@
|
171 |
*/
|
172 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
173 |
{
|
@@ -180,8 +161,5 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
|
|
180 |
public function reset()
|
181 |
{
|
182 |
$this->resetProcessors();
|
183 |
-
if ($this->getHandler() instanceof \GFPDF_Vendor\Monolog\ResettableInterface) {
|
184 |
-
$this->getHandler()->reset();
|
185 |
-
}
|
186 |
}
|
187 |
}
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
use GFPDF_Vendor\Monolog\ResettableInterface;
|
16 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
|
17 |
/**
|
18 |
* Simple handler wrapper that filters records based on a list of levels
|
19 |
*
|
21 |
*
|
22 |
* @author Hennadiy Verkh
|
23 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
|
|
24 |
*/
|
25 |
class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
26 |
{
|
28 |
/**
|
29 |
* Handler or factory callable($record, $this)
|
30 |
*
|
31 |
+
* @var callable|\Monolog\Handler\HandlerInterface
|
|
|
32 |
*/
|
33 |
protected $handler;
|
34 |
/**
|
35 |
* Minimum level for logs that are passed to handler
|
36 |
*
|
37 |
* @var int[]
|
|
|
38 |
*/
|
39 |
protected $acceptedLevels;
|
40 |
/**
|
44 |
*/
|
45 |
protected $bubble;
|
46 |
/**
|
47 |
+
* @psalm-param HandlerInterface|callable(?array, HandlerInterface): HandlerInterface $handler
|
48 |
*
|
49 |
* @param callable|HandlerInterface $handler Handler or factory callable($record|null, $filterHandler).
|
50 |
* @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided
|
51 |
* @param int|string $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array
|
52 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
|
|
|
|
|
|
53 |
*/
|
54 |
public function __construct($handler, $minLevelOrList = \GFPDF_Vendor\Monolog\Logger::DEBUG, $maxLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY, bool $bubble = \true)
|
55 |
{
|
60 |
throw new \RuntimeException("The given handler (" . \json_encode($this->handler) . ") is not a callable nor a Monolog\\Handler\\HandlerInterface object");
|
61 |
}
|
62 |
}
|
|
|
|
|
|
|
63 |
public function getAcceptedLevels() : array
|
64 |
{
|
65 |
return \array_flip($this->acceptedLevels);
|
67 |
/**
|
68 |
* @param int|string|array $minLevelOrList A list of levels to accept or a minimum level or level name if maxLevel is provided
|
69 |
* @param int|string $maxLevel Maximum level or level name to accept, only used if $minLevelOrList is not an array
|
|
|
|
|
|
|
70 |
*/
|
71 |
public function setAcceptedLevels($minLevelOrList = \GFPDF_Vendor\Monolog\Logger::DEBUG, $maxLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY) : self
|
72 |
{
|
83 |
return $this;
|
84 |
}
|
85 |
/**
|
86 |
+
* {@inheritdoc}
|
87 |
*/
|
88 |
public function isHandling(array $record) : bool
|
89 |
{
|
90 |
return isset($this->acceptedLevels[$record['level']]);
|
91 |
}
|
92 |
/**
|
93 |
+
* {@inheritdoc}
|
94 |
*/
|
95 |
public function handle(array $record) : bool
|
96 |
{
|
98 |
return \false;
|
99 |
}
|
100 |
if ($this->processors) {
|
|
|
101 |
$record = $this->processRecord($record);
|
102 |
}
|
103 |
$this->getHandler($record)->handle($record);
|
104 |
return \false === $this->bubble;
|
105 |
}
|
106 |
/**
|
107 |
+
* {@inheritdoc}
|
108 |
*/
|
109 |
public function handleBatch(array $records) : void
|
110 |
{
|
124 |
* If the handler was provided as a factory callable, this will trigger the handler's instantiation.
|
125 |
*
|
126 |
* @return HandlerInterface
|
|
|
|
|
127 |
*/
|
128 |
public function getHandler(array $record = null)
|
129 |
{
|
136 |
return $this->handler;
|
137 |
}
|
138 |
/**
|
139 |
+
* {@inheritdoc}
|
140 |
*/
|
141 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
142 |
{
|
148 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
|
149 |
}
|
150 |
/**
|
151 |
+
* {@inheritdoc}
|
152 |
*/
|
153 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
154 |
{
|
161 |
public function reset()
|
162 |
{
|
163 |
$this->resetProcessors();
|
|
|
|
|
|
|
164 |
}
|
165 |
}
|
vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php
CHANGED
@@ -15,15 +15,11 @@ namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
|
|
15 |
* Interface for activation strategies for the FingersCrossedHandler.
|
16 |
*
|
17 |
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
18 |
-
*
|
19 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
20 |
*/
|
21 |
interface ActivationStrategyInterface
|
22 |
{
|
23 |
/**
|
24 |
* Returns whether the given record activates the handler.
|
25 |
-
*
|
26 |
-
* @phpstan-param Record $record
|
27 |
*/
|
28 |
public function isHandlerActivated(array $record) : bool;
|
29 |
}
|
15 |
* Interface for activation strategies for the FingersCrossedHandler.
|
16 |
*
|
17 |
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
|
|
|
|
18 |
*/
|
19 |
interface ActivationStrategyInterface
|
20 |
{
|
21 |
/**
|
22 |
* Returns whether the given record activates the handler.
|
|
|
|
|
23 |
*/
|
24 |
public function isHandlerActivated(array $record) : bool;
|
25 |
}
|
vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php
CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
-
use Psr\Log\LogLevel;
|
16 |
/**
|
17 |
* Channel and Error level based monolog activation strategy. Allows to trigger activation
|
18 |
* based on level per channel. e.g. trigger activation on level 'ERROR' by default, except
|
@@ -32,36 +31,26 @@ use Psr\Log\LogLevel;
|
|
32 |
* </code>
|
33 |
*
|
34 |
* @author Mike Meessen <netmikey@gmail.com>
|
35 |
-
*
|
36 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
37 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
38 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
39 |
*/
|
40 |
class ChannelLevelActivationStrategy implements \GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface
|
41 |
{
|
42 |
/**
|
43 |
-
* @var
|
44 |
*/
|
45 |
private $defaultActionLevel;
|
46 |
/**
|
47 |
-
* @var array
|
48 |
*/
|
49 |
private $channelToActionLevel;
|
50 |
/**
|
51 |
-
* @param int|string
|
52 |
-
* @param array
|
53 |
-
*
|
54 |
-
* @phpstan-param array<string, Level> $channelToActionLevel
|
55 |
-
* @phpstan-param Level|LevelName|LogLevel::* $defaultActionLevel
|
56 |
*/
|
57 |
public function __construct($defaultActionLevel, array $channelToActionLevel = [])
|
58 |
{
|
59 |
$this->defaultActionLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($defaultActionLevel);
|
60 |
$this->channelToActionLevel = \array_map('Monolog\\Logger::toMonologLevel', $channelToActionLevel);
|
61 |
}
|
62 |
-
/**
|
63 |
-
* @phpstan-param Record $record
|
64 |
-
*/
|
65 |
public function isHandlerActivated(array $record) : bool
|
66 |
{
|
67 |
if (isset($this->channelToActionLevel[$record['channel']])) {
|
12 |
namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
|
|
15 |
/**
|
16 |
* Channel and Error level based monolog activation strategy. Allows to trigger activation
|
17 |
* based on level per channel. e.g. trigger activation on level 'ERROR' by default, except
|
31 |
* </code>
|
32 |
*
|
33 |
* @author Mike Meessen <netmikey@gmail.com>
|
|
|
|
|
|
|
|
|
34 |
*/
|
35 |
class ChannelLevelActivationStrategy implements \GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface
|
36 |
{
|
37 |
/**
|
38 |
+
* @var int
|
39 |
*/
|
40 |
private $defaultActionLevel;
|
41 |
/**
|
42 |
+
* @var array
|
43 |
*/
|
44 |
private $channelToActionLevel;
|
45 |
/**
|
46 |
+
* @param int|string $defaultActionLevel The default action level to be used if the record's category doesn't match any
|
47 |
+
* @param array $channelToActionLevel An array that maps channel names to action levels.
|
|
|
|
|
|
|
48 |
*/
|
49 |
public function __construct($defaultActionLevel, array $channelToActionLevel = [])
|
50 |
{
|
51 |
$this->defaultActionLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($defaultActionLevel);
|
52 |
$this->channelToActionLevel = \array_map('Monolog\\Logger::toMonologLevel', $channelToActionLevel);
|
53 |
}
|
|
|
|
|
|
|
54 |
public function isHandlerActivated(array $record) : bool
|
55 |
{
|
56 |
if (isset($this->channelToActionLevel[$record['channel']])) {
|
vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php
CHANGED
@@ -12,25 +12,19 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
-
use Psr\Log\LogLevel;
|
16 |
/**
|
17 |
* Error level based activation strategy.
|
18 |
*
|
19 |
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
20 |
-
*
|
21 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
22 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
23 |
*/
|
24 |
class ErrorLevelActivationStrategy implements \GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface
|
25 |
{
|
26 |
/**
|
27 |
-
* @var
|
28 |
*/
|
29 |
private $actionLevel;
|
30 |
/**
|
31 |
* @param int|string $actionLevel Level or name or value
|
32 |
-
*
|
33 |
-
* @phpstan-param Level|LevelName|LogLevel::* $actionLevel
|
34 |
*/
|
35 |
public function __construct($actionLevel)
|
36 |
{
|
12 |
namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
|
|
15 |
/**
|
16 |
* Error level based activation strategy.
|
17 |
*
|
18 |
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
|
|
|
|
|
|
19 |
*/
|
20 |
class ErrorLevelActivationStrategy implements \GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface
|
21 |
{
|
22 |
/**
|
23 |
+
* @var int
|
24 |
*/
|
25 |
private $actionLevel;
|
26 |
/**
|
27 |
* @param int|string $actionLevel Level or name or value
|
|
|
|
|
28 |
*/
|
29 |
public function __construct($actionLevel)
|
30 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossedHandler.php
CHANGED
@@ -16,7 +16,6 @@ use GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface;
|
|
16 |
use GFPDF_Vendor\Monolog\Logger;
|
17 |
use GFPDF_Vendor\Monolog\ResettableInterface;
|
18 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
19 |
-
use Psr\Log\LogLevel;
|
20 |
/**
|
21 |
* Buffers all records until a certain level is reached
|
22 |
*
|
@@ -32,38 +31,21 @@ use Psr\Log\LogLevel;
|
|
32 |
* Monolog\Handler\FingersCrossed\ namespace.
|
33 |
*
|
34 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
35 |
-
*
|
36 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
37 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
38 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
39 |
*/
|
40 |
class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
41 |
{
|
42 |
use ProcessableHandlerTrait;
|
43 |
-
/**
|
44 |
-
* @var callable|HandlerInterface
|
45 |
-
* @phpstan-var callable(?Record, HandlerInterface): HandlerInterface|HandlerInterface
|
46 |
-
*/
|
47 |
protected $handler;
|
48 |
-
/** @var ActivationStrategyInterface */
|
49 |
protected $activationStrategy;
|
50 |
-
/** @var bool */
|
51 |
protected $buffering = \true;
|
52 |
-
/** @var int */
|
53 |
protected $bufferSize;
|
54 |
-
/** @var Record[] */
|
55 |
protected $buffer = [];
|
56 |
-
/** @var bool */
|
57 |
protected $stopBuffering;
|
58 |
-
/**
|
59 |
-
* @var ?int
|
60 |
-
* @phpstan-var ?Level
|
61 |
-
*/
|
62 |
protected $passthruLevel;
|
63 |
-
/** @var bool */
|
64 |
protected $bubble;
|
65 |
/**
|
66 |
-
* @psalm-param HandlerInterface|callable(?
|
67 |
*
|
68 |
* @param callable|HandlerInterface $handler Handler or factory callable($record|null, $fingersCrossedHandler).
|
69 |
* @param int|string|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action, or a level name/value at which the handler is activated
|
@@ -71,9 +53,6 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
|
|
71 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
72 |
* @param bool $stopBuffering Whether the handler should stop buffering after being triggered (default true)
|
73 |
* @param int|string $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered
|
74 |
-
*
|
75 |
-
* @phpstan-param Level|LevelName|LogLevel::* $passthruLevel
|
76 |
-
* @phpstan-param Level|LevelName|LogLevel::*|ActivationStrategyInterface $activationStrategy
|
77 |
*/
|
78 |
public function __construct($handler, $activationStrategy = null, int $bufferSize = 0, bool $bubble = \true, bool $stopBuffering = \true, $passthruLevel = null)
|
79 |
{
|
@@ -97,7 +76,7 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
|
|
97 |
}
|
98 |
}
|
99 |
/**
|
100 |
-
* {@
|
101 |
*/
|
102 |
public function isHandling(array $record) : bool
|
103 |
{
|
@@ -115,12 +94,11 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
|
|
115 |
$this->buffer = [];
|
116 |
}
|
117 |
/**
|
118 |
-
* {@
|
119 |
*/
|
120 |
public function handle(array $record) : bool
|
121 |
{
|
122 |
if ($this->processors) {
|
123 |
-
/** @var Record $record */
|
124 |
$record = $this->processRecord($record);
|
125 |
}
|
126 |
if ($this->buffering) {
|
@@ -137,12 +115,12 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
|
|
137 |
return \false === $this->bubble;
|
138 |
}
|
139 |
/**
|
140 |
-
* {@
|
141 |
*/
|
142 |
public function close() : void
|
143 |
{
|
144 |
$this->flushBuffer();
|
145 |
-
$this->
|
146 |
}
|
147 |
public function reset()
|
148 |
{
|
@@ -173,7 +151,7 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
|
|
173 |
return $record['level'] >= $level;
|
174 |
});
|
175 |
if (\count($this->buffer) > 0) {
|
176 |
-
$this->getHandler(\end($this->buffer))->handleBatch($this->buffer);
|
177 |
}
|
178 |
}
|
179 |
$this->buffer = [];
|
@@ -185,8 +163,6 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
|
|
185 |
* If the handler was provided as a factory callable, this will trigger the handler's instantiation.
|
186 |
*
|
187 |
* @return HandlerInterface
|
188 |
-
*
|
189 |
-
* @phpstan-param Record $record
|
190 |
*/
|
191 |
public function getHandler(array $record = null)
|
192 |
{
|
@@ -199,7 +175,7 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
|
|
199 |
return $this->handler;
|
200 |
}
|
201 |
/**
|
202 |
-
* {@
|
203 |
*/
|
204 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
205 |
{
|
@@ -211,7 +187,7 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
|
|
211 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
|
212 |
}
|
213 |
/**
|
214 |
-
* {@
|
215 |
*/
|
216 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
217 |
{
|
16 |
use GFPDF_Vendor\Monolog\Logger;
|
17 |
use GFPDF_Vendor\Monolog\ResettableInterface;
|
18 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
|
19 |
/**
|
20 |
* Buffers all records until a certain level is reached
|
21 |
*
|
31 |
* Monolog\Handler\FingersCrossed\ namespace.
|
32 |
*
|
33 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
|
|
34 |
*/
|
35 |
class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
36 |
{
|
37 |
use ProcessableHandlerTrait;
|
38 |
+
/** @var HandlerInterface */
|
|
|
|
|
|
|
39 |
protected $handler;
|
|
|
40 |
protected $activationStrategy;
|
|
|
41 |
protected $buffering = \true;
|
|
|
42 |
protected $bufferSize;
|
|
|
43 |
protected $buffer = [];
|
|
|
44 |
protected $stopBuffering;
|
|
|
|
|
|
|
|
|
45 |
protected $passthruLevel;
|
|
|
46 |
protected $bubble;
|
47 |
/**
|
48 |
+
* @psalm-param HandlerInterface|callable(?array, FingersCrossedHandler): HandlerInterface $handler
|
49 |
*
|
50 |
* @param callable|HandlerInterface $handler Handler or factory callable($record|null, $fingersCrossedHandler).
|
51 |
* @param int|string|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action, or a level name/value at which the handler is activated
|
53 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
54 |
* @param bool $stopBuffering Whether the handler should stop buffering after being triggered (default true)
|
55 |
* @param int|string $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered
|
|
|
|
|
|
|
56 |
*/
|
57 |
public function __construct($handler, $activationStrategy = null, int $bufferSize = 0, bool $bubble = \true, bool $stopBuffering = \true, $passthruLevel = null)
|
58 |
{
|
76 |
}
|
77 |
}
|
78 |
/**
|
79 |
+
* {@inheritdoc}
|
80 |
*/
|
81 |
public function isHandling(array $record) : bool
|
82 |
{
|
94 |
$this->buffer = [];
|
95 |
}
|
96 |
/**
|
97 |
+
* {@inheritdoc}
|
98 |
*/
|
99 |
public function handle(array $record) : bool
|
100 |
{
|
101 |
if ($this->processors) {
|
|
|
102 |
$record = $this->processRecord($record);
|
103 |
}
|
104 |
if ($this->buffering) {
|
115 |
return \false === $this->bubble;
|
116 |
}
|
117 |
/**
|
118 |
+
* {@inheritdoc}
|
119 |
*/
|
120 |
public function close() : void
|
121 |
{
|
122 |
$this->flushBuffer();
|
123 |
+
$this->handler->close();
|
124 |
}
|
125 |
public function reset()
|
126 |
{
|
151 |
return $record['level'] >= $level;
|
152 |
});
|
153 |
if (\count($this->buffer) > 0) {
|
154 |
+
$this->getHandler(\end($this->buffer) ?: null)->handleBatch($this->buffer);
|
155 |
}
|
156 |
}
|
157 |
$this->buffer = [];
|
163 |
* If the handler was provided as a factory callable, this will trigger the handler's instantiation.
|
164 |
*
|
165 |
* @return HandlerInterface
|
|
|
|
|
166 |
*/
|
167 |
public function getHandler(array $record = null)
|
168 |
{
|
175 |
return $this->handler;
|
176 |
}
|
177 |
/**
|
178 |
+
* {@inheritdoc}
|
179 |
*/
|
180 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
181 |
{
|
187 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
|
188 |
}
|
189 |
/**
|
190 |
+
* {@inheritdoc}
|
191 |
*/
|
192 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
193 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/FirePHPHandler.php
CHANGED
@@ -17,8 +17,6 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
17 |
* Simple FirePHP Handler (http://www.firephp.org/), which uses the Wildfire protocol.
|
18 |
*
|
19 |
* @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
|
20 |
-
*
|
21 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
22 |
*/
|
23 |
class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
24 |
{
|
@@ -41,7 +39,6 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
41 |
protected const HEADER_PREFIX = 'X-Wf';
|
42 |
/**
|
43 |
* Whether or not Wildfire vendor-specific headers have been generated & sent yet
|
44 |
-
* @var bool
|
45 |
*/
|
46 |
protected static $initialized = \false;
|
47 |
/**
|
@@ -49,17 +46,13 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
49 |
* @var int
|
50 |
*/
|
51 |
protected static $messageIndex = 1;
|
52 |
-
/** @var bool */
|
53 |
protected static $sendHeaders = \true;
|
54 |
/**
|
55 |
* Base header creation function used by init headers & record headers
|
56 |
*
|
57 |
-
* @param
|
58 |
-
* @param
|
59 |
-
*
|
60 |
-
* @return array<string, string> Complete header string ready for the client as key and message as value
|
61 |
-
*
|
62 |
-
* @phpstan-return non-empty-array<string, string>
|
63 |
*/
|
64 |
protected function createHeader(array $meta, string $message) : array
|
65 |
{
|
@@ -69,13 +62,7 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
69 |
/**
|
70 |
* Creates message header from record
|
71 |
*
|
72 |
-
* @return array<string, string>
|
73 |
-
*
|
74 |
-
* @phpstan-return non-empty-array<string, string>
|
75 |
-
*
|
76 |
* @see createHeader()
|
77 |
-
*
|
78 |
-
* @phpstan-param FormattedRecord $record
|
79 |
*/
|
80 |
protected function createRecordHeader(array $record) : array
|
81 |
{
|
@@ -95,8 +82,6 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
95 |
*
|
96 |
* @see createHeader()
|
97 |
* @see sendHeader()
|
98 |
-
*
|
99 |
-
* @return array<string, string>
|
100 |
*/
|
101 |
protected function getInitHeaders() : array
|
102 |
{
|
@@ -117,6 +102,7 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
117 |
*
|
118 |
* @see sendHeader()
|
119 |
* @see sendInitHeaders()
|
|
|
120 |
*/
|
121 |
protected function write(array $record) : void
|
122 |
{
|
17 |
* Simple FirePHP Handler (http://www.firephp.org/), which uses the Wildfire protocol.
|
18 |
*
|
19 |
* @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
|
|
|
|
|
20 |
*/
|
21 |
class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
22 |
{
|
39 |
protected const HEADER_PREFIX = 'X-Wf';
|
40 |
/**
|
41 |
* Whether or not Wildfire vendor-specific headers have been generated & sent yet
|
|
|
42 |
*/
|
43 |
protected static $initialized = \false;
|
44 |
/**
|
46 |
* @var int
|
47 |
*/
|
48 |
protected static $messageIndex = 1;
|
|
|
49 |
protected static $sendHeaders = \true;
|
50 |
/**
|
51 |
* Base header creation function used by init headers & record headers
|
52 |
*
|
53 |
+
* @param array $meta Wildfire Plugin, Protocol & Structure Indexes
|
54 |
+
* @param string $message Log message
|
55 |
+
* @return array Complete header string ready for the client as key and message as value
|
|
|
|
|
|
|
56 |
*/
|
57 |
protected function createHeader(array $meta, string $message) : array
|
58 |
{
|
62 |
/**
|
63 |
* Creates message header from record
|
64 |
*
|
|
|
|
|
|
|
|
|
65 |
* @see createHeader()
|
|
|
|
|
66 |
*/
|
67 |
protected function createRecordHeader(array $record) : array
|
68 |
{
|
82 |
*
|
83 |
* @see createHeader()
|
84 |
* @see sendHeader()
|
|
|
|
|
85 |
*/
|
86 |
protected function getInitHeaders() : array
|
87 |
{
|
102 |
*
|
103 |
* @see sendHeader()
|
104 |
* @see sendInitHeaders()
|
105 |
+
* @param array $record
|
106 |
*/
|
107 |
protected function write(array $record) : void
|
108 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/FleepHookHandler.php
CHANGED
@@ -21,8 +21,6 @@ use GFPDF_Vendor\Monolog\Logger;
|
|
21 |
*
|
22 |
* @see https://fleep.io/integrations/webhooks/ Fleep Webhooks Documentation
|
23 |
* @author Ando Roots <ando@sqroot.eu>
|
24 |
-
*
|
25 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
26 |
*/
|
27 |
class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
28 |
{
|
@@ -39,6 +37,8 @@ class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
39 |
* see https://fleep.io/integrations/webhooks/
|
40 |
*
|
41 |
* @param string $token Webhook token
|
|
|
|
|
42 |
* @throws MissingExtensionException
|
43 |
*/
|
44 |
public function __construct(string $token, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
@@ -70,7 +70,7 @@ class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
70 |
$this->closeSocket();
|
71 |
}
|
72 |
/**
|
73 |
-
* {@
|
74 |
*/
|
75 |
protected function generateDataStream(array $record) : string
|
76 |
{
|
@@ -91,8 +91,6 @@ class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
91 |
}
|
92 |
/**
|
93 |
* Builds the body of API call
|
94 |
-
*
|
95 |
-
* @phpstan-param FormattedRecord $record
|
96 |
*/
|
97 |
private function buildContent(array $record) : string
|
98 |
{
|
21 |
*
|
22 |
* @see https://fleep.io/integrations/webhooks/ Fleep Webhooks Documentation
|
23 |
* @author Ando Roots <ando@sqroot.eu>
|
|
|
|
|
24 |
*/
|
25 |
class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
26 |
{
|
37 |
* see https://fleep.io/integrations/webhooks/
|
38 |
*
|
39 |
* @param string $token Webhook token
|
40 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
41 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
42 |
* @throws MissingExtensionException
|
43 |
*/
|
44 |
public function __construct(string $token, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
70 |
$this->closeSocket();
|
71 |
}
|
72 |
/**
|
73 |
+
* {@inheritdoc}
|
74 |
*/
|
75 |
protected function generateDataStream(array $record) : string
|
76 |
{
|
91 |
}
|
92 |
/**
|
93 |
* Builds the body of API call
|
|
|
|
|
94 |
*/
|
95 |
private function buildContent(array $record) : string
|
96 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/FlowdockHandler.php
CHANGED
@@ -25,8 +25,6 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
25 |
*
|
26 |
* @author Dominik Liebler <liebler.dominik@gmail.com>
|
27 |
* @see https://www.flowdock.com/api/push
|
28 |
-
*
|
29 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
30 |
*/
|
31 |
class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
32 |
{
|
@@ -35,6 +33,9 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
35 |
*/
|
36 |
protected $apiToken;
|
37 |
/**
|
|
|
|
|
|
|
38 |
* @throws MissingExtensionException if OpenSSL is missing
|
39 |
*/
|
40 |
public function __construct(string $apiToken, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
@@ -46,7 +47,7 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
46 |
$this->apiToken = $apiToken;
|
47 |
}
|
48 |
/**
|
49 |
-
* {@
|
50 |
*/
|
51 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
52 |
{
|
@@ -63,7 +64,9 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
63 |
throw new \InvalidArgumentException('The FlowdockHandler must be configured (via setFormatter) with an instance of Monolog\\Formatter\\FlowdockFormatter to function correctly');
|
64 |
}
|
65 |
/**
|
66 |
-
* {@
|
|
|
|
|
67 |
*/
|
68 |
protected function write(array $record) : void
|
69 |
{
|
@@ -71,7 +74,7 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
71 |
$this->closeSocket();
|
72 |
}
|
73 |
/**
|
74 |
-
* {@
|
75 |
*/
|
76 |
protected function generateDataStream(array $record) : string
|
77 |
{
|
@@ -80,8 +83,6 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
80 |
}
|
81 |
/**
|
82 |
* Builds the body of API call
|
83 |
-
*
|
84 |
-
* @phpstan-param FormattedRecord $record
|
85 |
*/
|
86 |
private function buildContent(array $record) : string
|
87 |
{
|
25 |
*
|
26 |
* @author Dominik Liebler <liebler.dominik@gmail.com>
|
27 |
* @see https://www.flowdock.com/api/push
|
|
|
|
|
28 |
*/
|
29 |
class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
30 |
{
|
33 |
*/
|
34 |
protected $apiToken;
|
35 |
/**
|
36 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
37 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
38 |
+
*
|
39 |
* @throws MissingExtensionException if OpenSSL is missing
|
40 |
*/
|
41 |
public function __construct(string $apiToken, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
47 |
$this->apiToken = $apiToken;
|
48 |
}
|
49 |
/**
|
50 |
+
* {@inheritdoc}
|
51 |
*/
|
52 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
53 |
{
|
64 |
throw new \InvalidArgumentException('The FlowdockHandler must be configured (via setFormatter) with an instance of Monolog\\Formatter\\FlowdockFormatter to function correctly');
|
65 |
}
|
66 |
/**
|
67 |
+
* {@inheritdoc}
|
68 |
+
*
|
69 |
+
* @param array $record
|
70 |
*/
|
71 |
protected function write(array $record) : void
|
72 |
{
|
74 |
$this->closeSocket();
|
75 |
}
|
76 |
/**
|
77 |
+
* {@inheritdoc}
|
78 |
*/
|
79 |
protected function generateDataStream(array $record) : string
|
80 |
{
|
83 |
}
|
84 |
/**
|
85 |
* Builds the body of API call
|
|
|
|
|
86 |
*/
|
87 |
private function buildContent(array $record) : string
|
88 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/FormattableHandlerTrait.php
CHANGED
@@ -25,7 +25,7 @@ trait FormattableHandlerTrait
|
|
25 |
*/
|
26 |
protected $formatter;
|
27 |
/**
|
28 |
-
* {@
|
29 |
*/
|
30 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
31 |
{
|
@@ -33,7 +33,7 @@ trait FormattableHandlerTrait
|
|
33 |
return $this;
|
34 |
}
|
35 |
/**
|
36 |
-
* {@
|
37 |
*/
|
38 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
39 |
{
|
25 |
*/
|
26 |
protected $formatter;
|
27 |
/**
|
28 |
+
* {@inheritdoc}
|
29 |
*/
|
30 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
31 |
{
|
33 |
return $this;
|
34 |
}
|
35 |
/**
|
36 |
+
* {@inheritdoc}
|
37 |
*/
|
38 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
39 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/GelfHandler.php
CHANGED
@@ -24,11 +24,13 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
24 |
class GelfHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
25 |
{
|
26 |
/**
|
27 |
-
* @var PublisherInterface the publisher object that sends the message to the server
|
28 |
*/
|
29 |
protected $publisher;
|
30 |
/**
|
31 |
-
* @param PublisherInterface $publisher a
|
|
|
|
|
32 |
*/
|
33 |
public function __construct(\GFPDF_Vendor\Gelf\PublisherInterface $publisher, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
34 |
{
|
@@ -36,7 +38,7 @@ class GelfHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
36 |
$this->publisher = $publisher;
|
37 |
}
|
38 |
/**
|
39 |
-
* {@
|
40 |
*/
|
41 |
protected function write(array $record) : void
|
42 |
{
|
24 |
class GelfHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
25 |
{
|
26 |
/**
|
27 |
+
* @var PublisherInterface|null the publisher object that sends the message to the server
|
28 |
*/
|
29 |
protected $publisher;
|
30 |
/**
|
31 |
+
* @param PublisherInterface $publisher a publisher object
|
32 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
33 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
34 |
*/
|
35 |
public function __construct(\GFPDF_Vendor\Gelf\PublisherInterface $publisher, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
36 |
{
|
38 |
$this->publisher = $publisher;
|
39 |
}
|
40 |
/**
|
41 |
+
* {@inheritdoc}
|
42 |
*/
|
43 |
protected function write(array $record) : void
|
44 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/GroupHandler.php
CHANGED
@@ -17,15 +17,12 @@ use GFPDF_Vendor\Monolog\ResettableInterface;
|
|
17 |
* Forwards records to multiple handlers
|
18 |
*
|
19 |
* @author Lenar Lõhmus <lenar@city.ee>
|
20 |
-
*
|
21 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
22 |
*/
|
23 |
class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface
|
24 |
{
|
25 |
use ProcessableHandlerTrait;
|
26 |
/** @var HandlerInterface[] */
|
27 |
protected $handlers;
|
28 |
-
/** @var bool */
|
29 |
protected $bubble;
|
30 |
/**
|
31 |
* @param HandlerInterface[] $handlers Array of Handlers.
|
@@ -42,7 +39,7 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
|
|
42 |
$this->bubble = $bubble;
|
43 |
}
|
44 |
/**
|
45 |
-
* {@
|
46 |
*/
|
47 |
public function isHandling(array $record) : bool
|
48 |
{
|
@@ -54,12 +51,11 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
|
|
54 |
return \false;
|
55 |
}
|
56 |
/**
|
57 |
-
* {@
|
58 |
*/
|
59 |
public function handle(array $record) : bool
|
60 |
{
|
61 |
if ($this->processors) {
|
62 |
-
/** @var Record $record */
|
63 |
$record = $this->processRecord($record);
|
64 |
}
|
65 |
foreach ($this->handlers as $handler) {
|
@@ -68,7 +64,7 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
|
|
68 |
return \false === $this->bubble;
|
69 |
}
|
70 |
/**
|
71 |
-
* {@
|
72 |
*/
|
73 |
public function handleBatch(array $records) : void
|
74 |
{
|
@@ -77,7 +73,6 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
|
|
77 |
foreach ($records as $record) {
|
78 |
$processed[] = $this->processRecord($record);
|
79 |
}
|
80 |
-
/** @var Record[] $records */
|
81 |
$records = $processed;
|
82 |
}
|
83 |
foreach ($this->handlers as $handler) {
|
@@ -101,7 +96,7 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
|
|
101 |
}
|
102 |
}
|
103 |
/**
|
104 |
-
* {@
|
105 |
*/
|
106 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
107 |
{
|
17 |
* Forwards records to multiple handlers
|
18 |
*
|
19 |
* @author Lenar Lõhmus <lenar@city.ee>
|
|
|
|
|
20 |
*/
|
21 |
class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface
|
22 |
{
|
23 |
use ProcessableHandlerTrait;
|
24 |
/** @var HandlerInterface[] */
|
25 |
protected $handlers;
|
|
|
26 |
protected $bubble;
|
27 |
/**
|
28 |
* @param HandlerInterface[] $handlers Array of Handlers.
|
39 |
$this->bubble = $bubble;
|
40 |
}
|
41 |
/**
|
42 |
+
* {@inheritdoc}
|
43 |
*/
|
44 |
public function isHandling(array $record) : bool
|
45 |
{
|
51 |
return \false;
|
52 |
}
|
53 |
/**
|
54 |
+
* {@inheritdoc}
|
55 |
*/
|
56 |
public function handle(array $record) : bool
|
57 |
{
|
58 |
if ($this->processors) {
|
|
|
59 |
$record = $this->processRecord($record);
|
60 |
}
|
61 |
foreach ($this->handlers as $handler) {
|
64 |
return \false === $this->bubble;
|
65 |
}
|
66 |
/**
|
67 |
+
* {@inheritdoc}
|
68 |
*/
|
69 |
public function handleBatch(array $records) : void
|
70 |
{
|
73 |
foreach ($records as $record) {
|
74 |
$processed[] = $this->processRecord($record);
|
75 |
}
|
|
|
76 |
$records = $processed;
|
77 |
}
|
78 |
foreach ($this->handlers as $handler) {
|
96 |
}
|
97 |
}
|
98 |
/**
|
99 |
+
* {@inheritdoc}
|
100 |
*/
|
101 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
102 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/Handler.php
CHANGED
@@ -19,7 +19,7 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
19 |
abstract class Handler implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
20 |
{
|
21 |
/**
|
22 |
-
* {@
|
23 |
*/
|
24 |
public function handleBatch(array $records) : void
|
25 |
{
|
@@ -28,7 +28,7 @@ abstract class Handler implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
|
28 |
}
|
29 |
}
|
30 |
/**
|
31 |
-
* {@
|
32 |
*/
|
33 |
public function close() : void
|
34 |
{
|
19 |
abstract class Handler implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
20 |
{
|
21 |
/**
|
22 |
+
* {@inheritdoc}
|
23 |
*/
|
24 |
public function handleBatch(array $records) : void
|
25 |
{
|
28 |
}
|
29 |
}
|
30 |
/**
|
31 |
+
* {@inheritdoc}
|
32 |
*/
|
33 |
public function close() : void
|
34 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/HandlerInterface.php
CHANGED
@@ -15,9 +15,6 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
15 |
* Interface that all Monolog Handlers must implement
|
16 |
*
|
17 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
18 |
-
*
|
19 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
20 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
21 |
*/
|
22 |
interface HandlerInterface
|
23 |
{
|
@@ -33,8 +30,6 @@ interface HandlerInterface
|
|
33 |
* @param array $record Partial log record containing only a level key
|
34 |
*
|
35 |
* @return bool
|
36 |
-
*
|
37 |
-
* @phpstan-param array{level: Level} $record
|
38 |
*/
|
39 |
public function isHandling(array $record) : bool;
|
40 |
/**
|
@@ -50,16 +45,12 @@ interface HandlerInterface
|
|
50 |
* @param array $record The record to handle
|
51 |
* @return bool true means that this handler handled the record, and that bubbling is not permitted.
|
52 |
* false means the record was either not processed or that this handler allows bubbling.
|
53 |
-
*
|
54 |
-
* @phpstan-param Record $record
|
55 |
*/
|
56 |
public function handle(array $record) : bool;
|
57 |
/**
|
58 |
* Handles a set of records at once.
|
59 |
*
|
60 |
* @param array $records The records to handle (an array of record arrays)
|
61 |
-
*
|
62 |
-
* @phpstan-param Record[] $records
|
63 |
*/
|
64 |
public function handleBatch(array $records) : void;
|
65 |
/**
|
15 |
* Interface that all Monolog Handlers must implement
|
16 |
*
|
17 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
18 |
*/
|
19 |
interface HandlerInterface
|
20 |
{
|
30 |
* @param array $record Partial log record containing only a level key
|
31 |
*
|
32 |
* @return bool
|
|
|
|
|
33 |
*/
|
34 |
public function isHandling(array $record) : bool;
|
35 |
/**
|
45 |
* @param array $record The record to handle
|
46 |
* @return bool true means that this handler handled the record, and that bubbling is not permitted.
|
47 |
* false means the record was either not processed or that this handler allows bubbling.
|
|
|
|
|
48 |
*/
|
49 |
public function handle(array $record) : bool;
|
50 |
/**
|
51 |
* Handles a set of records at once.
|
52 |
*
|
53 |
* @param array $records The records to handle (an array of record arrays)
|
|
|
|
|
54 |
*/
|
55 |
public function handleBatch(array $records) : void;
|
56 |
/**
|
vendor_prefixed/monolog/src/Monolog/Handler/HandlerWrapper.php
CHANGED
@@ -41,35 +41,35 @@ class HandlerWrapper implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface,
|
|
41 |
$this->handler = $handler;
|
42 |
}
|
43 |
/**
|
44 |
-
* {@
|
45 |
*/
|
46 |
public function isHandling(array $record) : bool
|
47 |
{
|
48 |
return $this->handler->isHandling($record);
|
49 |
}
|
50 |
/**
|
51 |
-
* {@
|
52 |
*/
|
53 |
public function handle(array $record) : bool
|
54 |
{
|
55 |
return $this->handler->handle($record);
|
56 |
}
|
57 |
/**
|
58 |
-
* {@
|
59 |
*/
|
60 |
public function handleBatch(array $records) : void
|
61 |
{
|
62 |
$this->handler->handleBatch($records);
|
63 |
}
|
64 |
/**
|
65 |
-
* {@
|
66 |
*/
|
67 |
public function close() : void
|
68 |
{
|
69 |
$this->handler->close();
|
70 |
}
|
71 |
/**
|
72 |
-
* {@
|
73 |
*/
|
74 |
public function pushProcessor(callable $callback) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
75 |
{
|
@@ -80,7 +80,7 @@ class HandlerWrapper implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface,
|
|
80 |
throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface::class);
|
81 |
}
|
82 |
/**
|
83 |
-
* {@
|
84 |
*/
|
85 |
public function popProcessor() : callable
|
86 |
{
|
@@ -90,7 +90,7 @@ class HandlerWrapper implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface,
|
|
90 |
throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface::class);
|
91 |
}
|
92 |
/**
|
93 |
-
* {@
|
94 |
*/
|
95 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
96 |
{
|
@@ -101,7 +101,7 @@ class HandlerWrapper implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface,
|
|
101 |
throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface::class);
|
102 |
}
|
103 |
/**
|
104 |
-
* {@
|
105 |
*/
|
106 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
107 |
{
|
41 |
$this->handler = $handler;
|
42 |
}
|
43 |
/**
|
44 |
+
* {@inheritdoc}
|
45 |
*/
|
46 |
public function isHandling(array $record) : bool
|
47 |
{
|
48 |
return $this->handler->isHandling($record);
|
49 |
}
|
50 |
/**
|
51 |
+
* {@inheritdoc}
|
52 |
*/
|
53 |
public function handle(array $record) : bool
|
54 |
{
|
55 |
return $this->handler->handle($record);
|
56 |
}
|
57 |
/**
|
58 |
+
* {@inheritdoc}
|
59 |
*/
|
60 |
public function handleBatch(array $records) : void
|
61 |
{
|
62 |
$this->handler->handleBatch($records);
|
63 |
}
|
64 |
/**
|
65 |
+
* {@inheritdoc}
|
66 |
*/
|
67 |
public function close() : void
|
68 |
{
|
69 |
$this->handler->close();
|
70 |
}
|
71 |
/**
|
72 |
+
* {@inheritdoc}
|
73 |
*/
|
74 |
public function pushProcessor(callable $callback) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
75 |
{
|
80 |
throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface::class);
|
81 |
}
|
82 |
/**
|
83 |
+
* {@inheritdoc}
|
84 |
*/
|
85 |
public function popProcessor() : callable
|
86 |
{
|
90 |
throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface::class);
|
91 |
}
|
92 |
/**
|
93 |
+
* {@inheritdoc}
|
94 |
*/
|
95 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
96 |
{
|
101 |
throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface::class);
|
102 |
}
|
103 |
/**
|
104 |
+
* {@inheritdoc}
|
105 |
*/
|
106 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
107 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/IFTTTHandler.php
CHANGED
@@ -26,25 +26,22 @@ use GFPDF_Vendor\Monolog\Utils;
|
|
26 |
*/
|
27 |
class IFTTTHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
28 |
{
|
29 |
-
/** @var string */
|
30 |
private $eventName;
|
31 |
-
/** @var string */
|
32 |
private $secretKey;
|
33 |
/**
|
34 |
-
* @param string
|
35 |
-
* @param string
|
|
|
|
|
36 |
*/
|
37 |
public function __construct(string $eventName, string $secretKey, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
38 |
{
|
39 |
-
if (!\extension_loaded('curl')) {
|
40 |
-
throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is needed to use the IFTTTHandler');
|
41 |
-
}
|
42 |
$this->eventName = $eventName;
|
43 |
$this->secretKey = $secretKey;
|
44 |
parent::__construct($level, $bubble);
|
45 |
}
|
46 |
/**
|
47 |
-
* {@
|
48 |
*/
|
49 |
public function write(array $record) : void
|
50 |
{
|
26 |
*/
|
27 |
class IFTTTHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
28 |
{
|
|
|
29 |
private $eventName;
|
|
|
30 |
private $secretKey;
|
31 |
/**
|
32 |
+
* @param string $eventName The name of the IFTTT Maker event that should be triggered
|
33 |
+
* @param string $secretKey A valid IFTTT secret key
|
34 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
35 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
36 |
*/
|
37 |
public function __construct(string $eventName, string $secretKey, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
38 |
{
|
|
|
|
|
|
|
39 |
$this->eventName = $eventName;
|
40 |
$this->secretKey = $secretKey;
|
41 |
parent::__construct($level, $bubble);
|
42 |
}
|
43 |
/**
|
44 |
+
* {@inheritdoc}
|
45 |
*/
|
46 |
public function write(array $record) : void
|
47 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/InsightOpsHandler.php
CHANGED
@@ -28,6 +28,8 @@ class InsightOpsHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
28 |
* @param string $token Log token supplied by InsightOps
|
29 |
* @param string $region Region where InsightOps account is hosted. Could be 'us' or 'eu'.
|
30 |
* @param bool $useSSL Whether or not SSL encryption should be used
|
|
|
|
|
31 |
*
|
32 |
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
33 |
*/
|
@@ -41,7 +43,7 @@ class InsightOpsHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
41 |
$this->logToken = $token;
|
42 |
}
|
43 |
/**
|
44 |
-
* {@
|
45 |
*/
|
46 |
protected function generateDataStream(array $record) : string
|
47 |
{
|
28 |
* @param string $token Log token supplied by InsightOps
|
29 |
* @param string $region Region where InsightOps account is hosted. Could be 'us' or 'eu'.
|
30 |
* @param bool $useSSL Whether or not SSL encryption should be used
|
31 |
+
* @param string|int $level The minimum logging level to trigger this handler
|
32 |
+
* @param bool $bubble Whether or not messages that are handled should bubble up the stack.
|
33 |
*
|
34 |
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
35 |
*/
|
43 |
$this->logToken = $token;
|
44 |
}
|
45 |
/**
|
46 |
+
* {@inheritdoc}
|
47 |
*/
|
48 |
protected function generateDataStream(array $record) : string
|
49 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/LogEntriesHandler.php
CHANGED
@@ -24,6 +24,8 @@ class LogEntriesHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
24 |
/**
|
25 |
* @param string $token Log token supplied by LogEntries
|
26 |
* @param bool $useSSL Whether or not SSL encryption should be used.
|
|
|
|
|
27 |
* @param string $host Custom hostname to send the data to if needed
|
28 |
*
|
29 |
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
@@ -38,7 +40,7 @@ class LogEntriesHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
38 |
$this->logToken = $token;
|
39 |
}
|
40 |
/**
|
41 |
-
* {@
|
42 |
*/
|
43 |
protected function generateDataStream(array $record) : string
|
44 |
{
|
24 |
/**
|
25 |
* @param string $token Log token supplied by LogEntries
|
26 |
* @param bool $useSSL Whether or not SSL encryption should be used.
|
27 |
+
* @param string|int $level The minimum logging level to trigger this handler
|
28 |
+
* @param bool $bubble Whether or not messages that are handled should bubble up the stack.
|
29 |
* @param string $host Custom hostname to send the data to if needed
|
30 |
*
|
31 |
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
40 |
$this->logToken = $token;
|
41 |
}
|
42 |
/**
|
43 |
+
* {@inheritdoc}
|
44 |
*/
|
45 |
protected function generateDataStream(array $record) : string
|
46 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/LogglyHandler.php
CHANGED
@@ -34,12 +34,12 @@ class LogglyHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
34 |
* @var resource[]|CurlHandle[]
|
35 |
*/
|
36 |
protected $curlHandlers = [];
|
37 |
-
/** @var string */
|
38 |
protected $token;
|
39 |
-
/** @var string[] */
|
40 |
protected $tag = [];
|
41 |
/**
|
42 |
-
* @param string
|
|
|
|
|
43 |
*
|
44 |
* @throws MissingExtensionException If the curl extension is missing
|
45 |
*/
|
34 |
* @var resource[]|CurlHandle[]
|
35 |
*/
|
36 |
protected $curlHandlers = [];
|
|
|
37 |
protected $token;
|
|
|
38 |
protected $tag = [];
|
39 |
/**
|
40 |
+
* @param string $token API token supplied by Loggly
|
41 |
+
* @param string|int $level The minimum logging level to trigger this handler
|
42 |
+
* @param bool $bubble Whether or not messages that are handled should bubble up the stack.
|
43 |
*
|
44 |
* @throws MissingExtensionException If the curl extension is missing
|
45 |
*/
|
vendor_prefixed/monolog/src/Monolog/Handler/LogmaticHandler.php
CHANGED
@@ -36,6 +36,8 @@ class LogmaticHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
36 |
* @param string $hostname Host name supplied by Logmatic.
|
37 |
* @param string $appname Application name supplied by Logmatic.
|
38 |
* @param bool $useSSL Whether or not SSL encryption should be used.
|
|
|
|
|
39 |
*
|
40 |
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
41 |
*/
|
@@ -52,14 +54,14 @@ class LogmaticHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
52 |
$this->appname = $appname;
|
53 |
}
|
54 |
/**
|
55 |
-
* {@
|
56 |
*/
|
57 |
protected function generateDataStream(array $record) : string
|
58 |
{
|
59 |
return $this->logToken . ' ' . $record['formatted'];
|
60 |
}
|
61 |
/**
|
62 |
-
* {@
|
63 |
*/
|
64 |
protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
65 |
{
|
36 |
* @param string $hostname Host name supplied by Logmatic.
|
37 |
* @param string $appname Application name supplied by Logmatic.
|
38 |
* @param bool $useSSL Whether or not SSL encryption should be used.
|
39 |
+
* @param int|string $level The minimum logging level to trigger this handler.
|
40 |
+
* @param bool $bubble Whether or not messages that are handled should bubble up the stack.
|
41 |
*
|
42 |
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
43 |
*/
|
54 |
$this->appname = $appname;
|
55 |
}
|
56 |
/**
|
57 |
+
* {@inheritdoc}
|
58 |
*/
|
59 |
protected function generateDataStream(array $record) : string
|
60 |
{
|
61 |
return $this->logToken . ' ' . $record['formatted'];
|
62 |
}
|
63 |
/**
|
64 |
+
* {@inheritdoc}
|
65 |
*/
|
66 |
protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
67 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/MailHandler.php
CHANGED
@@ -17,13 +17,11 @@ use GFPDF_Vendor\Monolog\Formatter\HtmlFormatter;
|
|
17 |
* Base class for all mail handlers
|
18 |
*
|
19 |
* @author Gyula Sallai
|
20 |
-
*
|
21 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
22 |
*/
|
23 |
abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
24 |
{
|
25 |
/**
|
26 |
-
* {@
|
27 |
*/
|
28 |
public function handleBatch(array $records) : void
|
29 |
{
|
@@ -32,9 +30,7 @@ abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
32 |
if ($record['level'] < $this->level) {
|
33 |
continue;
|
34 |
}
|
35 |
-
|
36 |
-
$message = $this->processRecord($record);
|
37 |
-
$messages[] = $message;
|
38 |
}
|
39 |
if (!empty($messages)) {
|
40 |
$this->send((string) $this->getFormatter()->formatBatch($messages), $messages);
|
@@ -45,21 +41,15 @@ abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
45 |
*
|
46 |
* @param string $content formatted email body to be sent
|
47 |
* @param array $records the array of log records that formed this content
|
48 |
-
*
|
49 |
-
* @phpstan-param Record[] $records
|
50 |
*/
|
51 |
protected abstract function send(string $content, array $records) : void;
|
52 |
/**
|
53 |
-
* {@
|
54 |
*/
|
55 |
protected function write(array $record) : void
|
56 |
{
|
57 |
$this->send((string) $record['formatted'], [$record]);
|
58 |
}
|
59 |
-
/**
|
60 |
-
* @phpstan-param non-empty-array<Record> $records
|
61 |
-
* @phpstan-return Record
|
62 |
-
*/
|
63 |
protected function getHighestRecord(array $records) : array
|
64 |
{
|
65 |
$highestRecord = null;
|
@@ -72,7 +62,7 @@ abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
|
|
72 |
}
|
73 |
protected function isHtmlBody(string $body) : bool
|
74 |
{
|
75 |
-
return ($body
|
76 |
}
|
77 |
/**
|
78 |
* Gets the default formatter.
|
17 |
* Base class for all mail handlers
|
18 |
*
|
19 |
* @author Gyula Sallai
|
|
|
|
|
20 |
*/
|
21 |
abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
22 |
{
|
23 |
/**
|
24 |
+
* {@inheritdoc}
|
25 |
*/
|
26 |
public function handleBatch(array $records) : void
|
27 |
{
|
30 |
if ($record['level'] < $this->level) {
|
31 |
continue;
|
32 |
}
|
33 |
+
$messages[] = $this->processRecord($record);
|
|
|
|
|
34 |
}
|
35 |
if (!empty($messages)) {
|
36 |
$this->send((string) $this->getFormatter()->formatBatch($messages), $messages);
|
41 |
*
|
42 |
* @param string $content formatted email body to be sent
|
43 |
* @param array $records the array of log records that formed this content
|
|
|
|
|
44 |
*/
|
45 |
protected abstract function send(string $content, array $records) : void;
|
46 |
/**
|
47 |
+
* {@inheritdoc}
|
48 |
*/
|
49 |
protected function write(array $record) : void
|
50 |
{
|
51 |
$this->send((string) $record['formatted'], [$record]);
|
52 |
}
|
|
|
|
|
|
|
|
|
53 |
protected function getHighestRecord(array $records) : array
|
54 |
{
|
55 |
$highestRecord = null;
|
62 |
}
|
63 |
protected function isHtmlBody(string $body) : bool
|
64 |
{
|
65 |
+
return \substr($body, 0, 1) === '<';
|
66 |
}
|
67 |
/**
|
68 |
* Gets the default formatter.
|
vendor_prefixed/monolog/src/Monolog/Handler/MandrillHandler.php
CHANGED
@@ -30,6 +30,8 @@ class MandrillHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
30 |
*
|
31 |
* @param string $apiKey A valid Mandrill API key
|
32 |
* @param callable|Swift_Message $message An example message for real messages, only the body will be replaced
|
|
|
|
|
33 |
*/
|
34 |
public function __construct(string $apiKey, $message, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
35 |
{
|
@@ -44,7 +46,7 @@ class MandrillHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
44 |
$this->apiKey = $apiKey;
|
45 |
}
|
46 |
/**
|
47 |
-
* {@
|
48 |
*/
|
49 |
protected function send(string $content, array $records) : void
|
50 |
{
|
30 |
*
|
31 |
* @param string $apiKey A valid Mandrill API key
|
32 |
* @param callable|Swift_Message $message An example message for real messages, only the body will be replaced
|
33 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
34 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
35 |
*/
|
36 |
public function __construct(string $apiKey, $message, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
37 |
{
|
46 |
$this->apiKey = $apiKey;
|
47 |
}
|
48 |
/**
|
49 |
+
* {@inheritdoc}
|
50 |
*/
|
51 |
protected function send(string $content, array $records) : void
|
52 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/MongoDBHandler.php
CHANGED
@@ -32,11 +32,8 @@ use GFPDF_Vendor\Monolog\Formatter\MongoDBFormatter;
|
|
32 |
*/
|
33 |
class MongoDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
34 |
{
|
35 |
-
/** @var \MongoDB\Collection */
|
36 |
private $collection;
|
37 |
-
/** @var Client|Manager */
|
38 |
private $manager;
|
39 |
-
/** @var string */
|
40 |
private $namespace;
|
41 |
/**
|
42 |
* Constructor.
|
@@ -44,6 +41,8 @@ class MongoDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
44 |
* @param Client|Manager $mongodb MongoDB library or driver client
|
45 |
* @param string $database Database name
|
46 |
* @param string $collection Collection name
|
|
|
|
|
47 |
*/
|
48 |
public function __construct($mongodb, string $database, string $collection, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
49 |
{
|
32 |
*/
|
33 |
class MongoDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
34 |
{
|
|
|
35 |
private $collection;
|
|
|
36 |
private $manager;
|
|
|
37 |
private $namespace;
|
38 |
/**
|
39 |
* Constructor.
|
41 |
* @param Client|Manager $mongodb MongoDB library or driver client
|
42 |
* @param string $database Database name
|
43 |
* @param string $collection Collection name
|
44 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
45 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
46 |
*/
|
47 |
public function __construct($mongodb, string $database, string $collection, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
48 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/NativeMailerHandler.php
CHANGED
@@ -23,7 +23,7 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
23 |
{
|
24 |
/**
|
25 |
* The email addresses to which the message will be sent
|
26 |
-
* @var
|
27 |
*/
|
28 |
protected $to;
|
29 |
/**
|
@@ -33,12 +33,12 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
33 |
protected $subject;
|
34 |
/**
|
35 |
* Optional headers for the message
|
36 |
-
* @var
|
37 |
*/
|
38 |
protected $headers = [];
|
39 |
/**
|
40 |
* Optional parameters for the message
|
41 |
-
* @var
|
42 |
*/
|
43 |
protected $parameters = [];
|
44 |
/**
|
@@ -57,10 +57,12 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
57 |
*/
|
58 |
protected $encoding = 'utf-8';
|
59 |
/**
|
60 |
-
* @param string|
|
61 |
-
* @param string
|
62 |
-
* @param string
|
63 |
-
* @param int
|
|
|
|
|
64 |
*/
|
65 |
public function __construct($to, string $subject, string $from, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true, int $maxColumnWidth = 70)
|
66 |
{
|
@@ -73,7 +75,7 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
73 |
/**
|
74 |
* Add headers to the message
|
75 |
*
|
76 |
-
* @param string|
|
77 |
*/
|
78 |
public function addHeader($headers) : self
|
79 |
{
|
@@ -88,7 +90,7 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
88 |
/**
|
89 |
* Add parameters to the message
|
90 |
*
|
91 |
-
* @param string|
|
92 |
*/
|
93 |
public function addParameter($parameters) : self
|
94 |
{
|
@@ -96,7 +98,7 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
96 |
return $this;
|
97 |
}
|
98 |
/**
|
99 |
-
* {@
|
100 |
*/
|
101 |
protected function send(string $content, array $records) : void
|
102 |
{
|
23 |
{
|
24 |
/**
|
25 |
* The email addresses to which the message will be sent
|
26 |
+
* @var array
|
27 |
*/
|
28 |
protected $to;
|
29 |
/**
|
33 |
protected $subject;
|
34 |
/**
|
35 |
* Optional headers for the message
|
36 |
+
* @var array
|
37 |
*/
|
38 |
protected $headers = [];
|
39 |
/**
|
40 |
* Optional parameters for the message
|
41 |
+
* @var array
|
42 |
*/
|
43 |
protected $parameters = [];
|
44 |
/**
|
57 |
*/
|
58 |
protected $encoding = 'utf-8';
|
59 |
/**
|
60 |
+
* @param string|array $to The receiver of the mail
|
61 |
+
* @param string $subject The subject of the mail
|
62 |
+
* @param string $from The sender of the mail
|
63 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
64 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
65 |
+
* @param int $maxColumnWidth The maximum column width that the message lines will have
|
66 |
*/
|
67 |
public function __construct($to, string $subject, string $from, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true, int $maxColumnWidth = 70)
|
68 |
{
|
75 |
/**
|
76 |
* Add headers to the message
|
77 |
*
|
78 |
+
* @param string|array $headers Custom added headers
|
79 |
*/
|
80 |
public function addHeader($headers) : self
|
81 |
{
|
90 |
/**
|
91 |
* Add parameters to the message
|
92 |
*
|
93 |
+
* @param string|array $parameters Custom added parameters
|
94 |
*/
|
95 |
public function addParameter($parameters) : self
|
96 |
{
|
98 |
return $this;
|
99 |
}
|
100 |
/**
|
101 |
+
* {@inheritdoc}
|
102 |
*/
|
103 |
protected function send(string $content, array $records) : void
|
104 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/NewRelicHandler.php
CHANGED
@@ -29,13 +29,13 @@ class NewRelicHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
29 |
/**
|
30 |
* Name of the New Relic application that will receive logs from this handler.
|
31 |
*
|
32 |
-
* @var
|
33 |
*/
|
34 |
protected $appName;
|
35 |
/**
|
36 |
* Name of the current transaction
|
37 |
*
|
38 |
-
* @var
|
39 |
*/
|
40 |
protected $transactionName;
|
41 |
/**
|
@@ -48,6 +48,8 @@ class NewRelicHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
48 |
/**
|
49 |
* {@inheritDoc}
|
50 |
*
|
|
|
|
|
51 |
* @param string|null $appName
|
52 |
* @param bool $explodeArrays
|
53 |
* @param string|null $transactionName
|
@@ -115,8 +117,6 @@ class NewRelicHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
115 |
/**
|
116 |
* Returns the appname where this log should be sent. Each log can override the default appname, set in this
|
117 |
* handler's constructor, by providing the appname in it's context.
|
118 |
-
*
|
119 |
-
* @param mixed[] $context
|
120 |
*/
|
121 |
protected function getAppName(array $context) : ?string
|
122 |
{
|
@@ -128,8 +128,6 @@ class NewRelicHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
|
|
128 |
/**
|
129 |
* Returns the name of the current transaction. Each log can override the default transaction name, set in this
|
130 |
* handler's constructor, by providing the transaction_name in it's context
|
131 |
-
*
|
132 |
-
* @param mixed[] $context
|
133 |
*/
|
134 |
protected function getTransactionName(array $context) : ?string
|
135 |
{
|
29 |
/**
|
30 |
* Name of the New Relic application that will receive logs from this handler.
|
31 |
*
|
32 |
+
* @var string|null
|
33 |
*/
|
34 |
protected $appName;
|
35 |
/**
|
36 |
* Name of the current transaction
|
37 |
*
|
38 |
+
* @var string|null
|
39 |
*/
|
40 |
protected $transactionName;
|
41 |
/**
|
48 |
/**
|
49 |
* {@inheritDoc}
|
50 |
*
|
51 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered.
|
52 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not.
|
53 |
* @param string|null $appName
|
54 |
* @param bool $explodeArrays
|
55 |
* @param string|null $transactionName
|
117 |
/**
|
118 |
* Returns the appname where this log should be sent. Each log can override the default appname, set in this
|
119 |
* handler's constructor, by providing the appname in it's context.
|
|
|
|
|
120 |
*/
|
121 |
protected function getAppName(array $context) : ?string
|
122 |
{
|
128 |
/**
|
129 |
* Returns the name of the current transaction. Each log can override the default transaction name, set in this
|
130 |
* handler's constructor, by providing the transaction_name in it's context
|
|
|
|
|
131 |
*/
|
132 |
protected function getTransactionName(array $context) : ?string
|
133 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/NoopHandler.php
CHANGED
@@ -23,14 +23,14 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
23 |
class NoopHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
|
24 |
{
|
25 |
/**
|
26 |
-
* {@
|
27 |
*/
|
28 |
public function isHandling(array $record) : bool
|
29 |
{
|
30 |
return \true;
|
31 |
}
|
32 |
/**
|
33 |
-
* {@
|
34 |
*/
|
35 |
public function handle(array $record) : bool
|
36 |
{
|
23 |
class NoopHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
|
24 |
{
|
25 |
/**
|
26 |
+
* {@inheritdoc}
|
27 |
*/
|
28 |
public function isHandling(array $record) : bool
|
29 |
{
|
30 |
return \true;
|
31 |
}
|
32 |
/**
|
33 |
+
* {@inheritdoc}
|
34 |
*/
|
35 |
public function handle(array $record) : bool
|
36 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/NullHandler.php
CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
-
use Psr\Log\LogLevel;
|
16 |
/**
|
17 |
* Blackhole
|
18 |
*
|
@@ -20,9 +19,6 @@ use Psr\Log\LogLevel;
|
|
20 |
* to put on top of an existing stack to override it temporarily.
|
21 |
*
|
22 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
23 |
-
*
|
24 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
25 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
26 |
*/
|
27 |
class NullHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
|
28 |
{
|
@@ -32,22 +28,20 @@ class NullHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
|
|
32 |
private $level;
|
33 |
/**
|
34 |
* @param string|int $level The minimum logging level at which this handler will be triggered
|
35 |
-
*
|
36 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
37 |
*/
|
38 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
|
39 |
{
|
40 |
$this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
|
41 |
}
|
42 |
/**
|
43 |
-
* {@
|
44 |
*/
|
45 |
public function isHandling(array $record) : bool
|
46 |
{
|
47 |
return $record['level'] >= $this->level;
|
48 |
}
|
49 |
/**
|
50 |
-
* {@
|
51 |
*/
|
52 |
public function handle(array $record) : bool
|
53 |
{
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
|
|
15 |
/**
|
16 |
* Blackhole
|
17 |
*
|
19 |
* to put on top of an existing stack to override it temporarily.
|
20 |
*
|
21 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
22 |
*/
|
23 |
class NullHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
|
24 |
{
|
28 |
private $level;
|
29 |
/**
|
30 |
* @param string|int $level The minimum logging level at which this handler will be triggered
|
|
|
|
|
31 |
*/
|
32 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
|
33 |
{
|
34 |
$this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
|
35 |
}
|
36 |
/**
|
37 |
+
* {@inheritdoc}
|
38 |
*/
|
39 |
public function isHandling(array $record) : bool
|
40 |
{
|
41 |
return $record['level'] >= $this->level;
|
42 |
}
|
43 |
/**
|
44 |
+
* {@inheritdoc}
|
45 |
*/
|
46 |
public function handle(array $record) : bool
|
47 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/OverflowHandler.php
CHANGED
@@ -48,6 +48,8 @@ class OverflowHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
|
|
48 |
/**
|
49 |
* @param HandlerInterface $handler
|
50 |
* @param int[] $thresholdMap Dictionary of logger level => threshold
|
|
|
|
|
51 |
*/
|
52 |
public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, array $thresholdMap = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
53 |
{
|
@@ -67,7 +69,10 @@ class OverflowHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
|
|
67 |
* Unless the bubbling is interrupted (by returning true), the Logger class will keep on
|
68 |
* calling further handlers in the stack with a given log record.
|
69 |
*
|
70 |
-
*
|
|
|
|
|
|
|
71 |
*/
|
72 |
public function handle(array $record) : bool
|
73 |
{
|
@@ -96,7 +101,7 @@ class OverflowHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
|
|
96 |
return \false === $this->bubble;
|
97 |
}
|
98 |
/**
|
99 |
-
* {@
|
100 |
*/
|
101 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
102 |
{
|
@@ -107,7 +112,7 @@ class OverflowHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
|
|
107 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($this->handler) . ' does not support formatters.');
|
108 |
}
|
109 |
/**
|
110 |
-
* {@
|
111 |
*/
|
112 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
113 |
{
|
48 |
/**
|
49 |
* @param HandlerInterface $handler
|
50 |
* @param int[] $thresholdMap Dictionary of logger level => threshold
|
51 |
+
* @param int|string $level The minimum logging level at which this handler will be triggered
|
52 |
+
* @param bool $bubble
|
53 |
*/
|
54 |
public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, array $thresholdMap = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
55 |
{
|
69 |
* Unless the bubbling is interrupted (by returning true), the Logger class will keep on
|
70 |
* calling further handlers in the stack with a given log record.
|
71 |
*
|
72 |
+
* @param array $record The record to handle
|
73 |
+
*
|
74 |
+
* @return Boolean true means that this handler handled the record, and that bubbling is not permitted.
|
75 |
+
* false means the record was either not processed or that this handler allows bubbling.
|
76 |
*/
|
77 |
public function handle(array $record) : bool
|
78 |
{
|
101 |
return \false === $this->bubble;
|
102 |
}
|
103 |
/**
|
104 |
+
* {@inheritdoc}
|
105 |
*/
|
106 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
107 |
{
|
112 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($this->handler) . ' does not support formatters.');
|
113 |
}
|
114 |
/**
|
115 |
+
* {@inheritdoc}
|
116 |
*/
|
117 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
118 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/PHPConsoleHandler.php
CHANGED
@@ -36,12 +36,9 @@ use GFPDF_Vendor\PhpConsole\Helper;
|
|
36 |
* PC::debug($_SERVER); // PHP Console debugger for any type of vars
|
37 |
*
|
38 |
* @author Sergey Barbushin https://www.linkedin.com/in/barbushin
|
39 |
-
*
|
40 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
41 |
*/
|
42 |
class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
43 |
{
|
44 |
-
/** @var array<string, mixed> */
|
45 |
private $options = [
|
46 |
'enabled' => \true,
|
47 |
// bool Is PHP Console server enabled
|
@@ -86,8 +83,10 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
|
|
86 |
/** @var Connector */
|
87 |
private $connector;
|
88 |
/**
|
89 |
-
* @param array
|
90 |
-
* @param Connector|null
|
|
|
|
|
91 |
* @throws \RuntimeException
|
92 |
*/
|
93 |
public function __construct(array $options = [], ?\GFPDF_Vendor\PhpConsole\Connector $connector = null, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
@@ -99,11 +98,6 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
|
|
99 |
$this->options = $this->initOptions($options);
|
100 |
$this->connector = $this->initConnector($connector);
|
101 |
}
|
102 |
-
/**
|
103 |
-
* @param array<string, mixed> $options
|
104 |
-
*
|
105 |
-
* @return array<string, mixed>
|
106 |
-
*/
|
107 |
private function initOptions(array $options) : array
|
108 |
{
|
109 |
$wrongOptions = \array_diff(\array_keys($options), \array_keys($this->options));
|
@@ -167,9 +161,6 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
|
|
167 |
{
|
168 |
return $this->connector;
|
169 |
}
|
170 |
-
/**
|
171 |
-
* @return array<string, mixed>
|
172 |
-
*/
|
173 |
public function getOptions() : array
|
174 |
{
|
175 |
return $this->options;
|
@@ -194,9 +185,6 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
|
|
194 |
$this->handleErrorRecord($record);
|
195 |
}
|
196 |
}
|
197 |
-
/**
|
198 |
-
* @phpstan-param Record $record
|
199 |
-
*/
|
200 |
private function handleDebugRecord(array $record) : void
|
201 |
{
|
202 |
$tags = $this->getRecordTags($record);
|
@@ -206,25 +194,15 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
|
|
206 |
}
|
207 |
$this->connector->getDebugDispatcher()->dispatchDebug($message, $tags, $this->options['classesPartialsTraceIgnore']);
|
208 |
}
|
209 |
-
/**
|
210 |
-
* @phpstan-param Record $record
|
211 |
-
*/
|
212 |
private function handleExceptionRecord(array $record) : void
|
213 |
{
|
214 |
$this->connector->getErrorsDispatcher()->dispatchException($record['context']['exception']);
|
215 |
}
|
216 |
-
/**
|
217 |
-
* @phpstan-param Record $record
|
218 |
-
*/
|
219 |
private function handleErrorRecord(array $record) : void
|
220 |
{
|
221 |
$context = $record['context'];
|
222 |
$this->connector->getErrorsDispatcher()->dispatchError($context['code'] ?? null, $context['message'] ?? $record['message'], $context['file'] ?? null, $context['line'] ?? null, $this->options['classesPartialsTraceIgnore']);
|
223 |
}
|
224 |
-
/**
|
225 |
-
* @phpstan-param Record $record
|
226 |
-
* @return string
|
227 |
-
*/
|
228 |
private function getRecordTags(array &$record)
|
229 |
{
|
230 |
$tags = null;
|
36 |
* PC::debug($_SERVER); // PHP Console debugger for any type of vars
|
37 |
*
|
38 |
* @author Sergey Barbushin https://www.linkedin.com/in/barbushin
|
|
|
|
|
39 |
*/
|
40 |
class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
41 |
{
|
|
|
42 |
private $options = [
|
43 |
'enabled' => \true,
|
44 |
// bool Is PHP Console server enabled
|
83 |
/** @var Connector */
|
84 |
private $connector;
|
85 |
/**
|
86 |
+
* @param array $options See \Monolog\Handler\PHPConsoleHandler::$options for more details
|
87 |
+
* @param Connector|null $connector Instance of \PhpConsole\Connector class (optional)
|
88 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered.
|
89 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not.
|
90 |
* @throws \RuntimeException
|
91 |
*/
|
92 |
public function __construct(array $options = [], ?\GFPDF_Vendor\PhpConsole\Connector $connector = null, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
98 |
$this->options = $this->initOptions($options);
|
99 |
$this->connector = $this->initConnector($connector);
|
100 |
}
|
|
|
|
|
|
|
|
|
|
|
101 |
private function initOptions(array $options) : array
|
102 |
{
|
103 |
$wrongOptions = \array_diff(\array_keys($options), \array_keys($this->options));
|
161 |
{
|
162 |
return $this->connector;
|
163 |
}
|
|
|
|
|
|
|
164 |
public function getOptions() : array
|
165 |
{
|
166 |
return $this->options;
|
185 |
$this->handleErrorRecord($record);
|
186 |
}
|
187 |
}
|
|
|
|
|
|
|
188 |
private function handleDebugRecord(array $record) : void
|
189 |
{
|
190 |
$tags = $this->getRecordTags($record);
|
194 |
}
|
195 |
$this->connector->getDebugDispatcher()->dispatchDebug($message, $tags, $this->options['classesPartialsTraceIgnore']);
|
196 |
}
|
|
|
|
|
|
|
197 |
private function handleExceptionRecord(array $record) : void
|
198 |
{
|
199 |
$this->connector->getErrorsDispatcher()->dispatchException($record['context']['exception']);
|
200 |
}
|
|
|
|
|
|
|
201 |
private function handleErrorRecord(array $record) : void
|
202 |
{
|
203 |
$context = $record['context'];
|
204 |
$this->connector->getErrorsDispatcher()->dispatchError($context['code'] ?? null, $context['message'] ?? $record['message'], $context['file'] ?? null, $context['line'] ?? null, $this->options['classesPartialsTraceIgnore']);
|
205 |
}
|
|
|
|
|
|
|
|
|
206 |
private function getRecordTags(array &$record)
|
207 |
{
|
208 |
$tags = null;
|
vendor_prefixed/monolog/src/Monolog/Handler/ProcessHandler.php
CHANGED
@@ -40,11 +40,11 @@ class ProcessHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
40 |
*/
|
41 |
private $cwd;
|
42 |
/**
|
43 |
-
* @var
|
44 |
*/
|
45 |
private $pipes = [];
|
46 |
/**
|
47 |
-
* @var array
|
48 |
*/
|
49 |
protected const DESCRIPTOR_SPEC = [
|
50 |
0 => ['pipe', 'r'],
|
@@ -56,6 +56,8 @@ class ProcessHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
56 |
/**
|
57 |
* @param string $command Command for the process to start. Absolute paths are recommended,
|
58 |
* especially if you do not use the $cwd parameter.
|
|
|
|
|
59 |
* @param string|null $cwd "Current working directory" (CWD) for the process to be executed in.
|
60 |
* @throws \InvalidArgumentException
|
61 |
*/
|
@@ -141,7 +143,7 @@ class ProcessHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
141 |
*/
|
142 |
protected function readProcessErrors() : string
|
143 |
{
|
144 |
-
return
|
145 |
}
|
146 |
/**
|
147 |
* Writes to the input stream of the opened process.
|
@@ -153,7 +155,7 @@ class ProcessHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
153 |
\fwrite($this->pipes[0], $string);
|
154 |
}
|
155 |
/**
|
156 |
-
* {@
|
157 |
*/
|
158 |
public function close() : void
|
159 |
{
|
40 |
*/
|
41 |
private $cwd;
|
42 |
/**
|
43 |
+
* @var array
|
44 |
*/
|
45 |
private $pipes = [];
|
46 |
/**
|
47 |
+
* @var array
|
48 |
*/
|
49 |
protected const DESCRIPTOR_SPEC = [
|
50 |
0 => ['pipe', 'r'],
|
56 |
/**
|
57 |
* @param string $command Command for the process to start. Absolute paths are recommended,
|
58 |
* especially if you do not use the $cwd parameter.
|
59 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered.
|
60 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not.
|
61 |
* @param string|null $cwd "Current working directory" (CWD) for the process to be executed in.
|
62 |
* @throws \InvalidArgumentException
|
63 |
*/
|
143 |
*/
|
144 |
protected function readProcessErrors() : string
|
145 |
{
|
146 |
+
return \stream_get_contents($this->pipes[2]);
|
147 |
}
|
148 |
/**
|
149 |
* Writes to the input stream of the opened process.
|
155 |
\fwrite($this->pipes[0], $string);
|
156 |
}
|
157 |
/**
|
158 |
+
* {@inheritdoc}
|
159 |
*/
|
160 |
public function close() : void
|
161 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php
CHANGED
@@ -16,15 +16,13 @@ use GFPDF_Vendor\Monolog\Processor\ProcessorInterface;
|
|
16 |
* Interface to describe loggers that have processors
|
17 |
*
|
18 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
19 |
-
*
|
20 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
21 |
*/
|
22 |
interface ProcessableHandlerInterface
|
23 |
{
|
24 |
/**
|
25 |
* Adds a processor in the stack.
|
26 |
*
|
27 |
-
* @psalm-param ProcessorInterface|callable(
|
28 |
*
|
29 |
* @param ProcessorInterface|callable $callback
|
30 |
* @return HandlerInterface self
|
@@ -33,10 +31,10 @@ interface ProcessableHandlerInterface
|
|
33 |
/**
|
34 |
* Removes the processor on top of the stack and returns it.
|
35 |
*
|
36 |
-
* @psalm-return
|
37 |
*
|
38 |
-
* @throws \LogicException
|
39 |
-
* @return callable
|
40 |
*/
|
41 |
public function popProcessor() : callable;
|
42 |
}
|
16 |
* Interface to describe loggers that have processors
|
17 |
*
|
18 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
19 |
*/
|
20 |
interface ProcessableHandlerInterface
|
21 |
{
|
22 |
/**
|
23 |
* Adds a processor in the stack.
|
24 |
*
|
25 |
+
* @psalm-param ProcessorInterface|callable(array): array $callback
|
26 |
*
|
27 |
* @param ProcessorInterface|callable $callback
|
28 |
* @return HandlerInterface self
|
31 |
/**
|
32 |
* Removes the processor on top of the stack and returns it.
|
33 |
*
|
34 |
+
* @psalm-return callable(array): array
|
35 |
*
|
36 |
+
* @throws \LogicException In case the processor stack is empty
|
37 |
+
* @return callable
|
38 |
*/
|
39 |
public function popProcessor() : callable;
|
40 |
}
|
vendor_prefixed/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php
CHANGED
@@ -12,23 +12,19 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\ResettableInterface;
|
15 |
-
use GFPDF_Vendor\Monolog\Processor\ProcessorInterface;
|
16 |
/**
|
17 |
* Helper trait for implementing ProcessableInterface
|
18 |
*
|
19 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
20 |
-
*
|
21 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
22 |
*/
|
23 |
trait ProcessableHandlerTrait
|
24 |
{
|
25 |
/**
|
26 |
* @var callable[]
|
27 |
-
* @phpstan-var array<ProcessorInterface|callable(Record): Record>
|
28 |
*/
|
29 |
protected $processors = [];
|
30 |
/**
|
31 |
-
* {@
|
32 |
*/
|
33 |
public function pushProcessor(callable $callback) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
34 |
{
|
@@ -36,7 +32,7 @@ trait ProcessableHandlerTrait
|
|
36 |
return $this;
|
37 |
}
|
38 |
/**
|
39 |
-
* {@
|
40 |
*/
|
41 |
public function popProcessor() : callable
|
42 |
{
|
@@ -47,9 +43,6 @@ trait ProcessableHandlerTrait
|
|
47 |
}
|
48 |
/**
|
49 |
* Processes a record.
|
50 |
-
*
|
51 |
-
* @phpstan-param Record $record
|
52 |
-
* @phpstan-return Record
|
53 |
*/
|
54 |
protected function processRecord(array $record) : array
|
55 |
{
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\ResettableInterface;
|
|
|
15 |
/**
|
16 |
* Helper trait for implementing ProcessableInterface
|
17 |
*
|
18 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
19 |
*/
|
20 |
trait ProcessableHandlerTrait
|
21 |
{
|
22 |
/**
|
23 |
* @var callable[]
|
|
|
24 |
*/
|
25 |
protected $processors = [];
|
26 |
/**
|
27 |
+
* {@inheritdoc}
|
28 |
*/
|
29 |
public function pushProcessor(callable $callback) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
30 |
{
|
32 |
return $this;
|
33 |
}
|
34 |
/**
|
35 |
+
* {@inheritdoc}
|
36 |
*/
|
37 |
public function popProcessor() : callable
|
38 |
{
|
43 |
}
|
44 |
/**
|
45 |
* Processes a record.
|
|
|
|
|
|
|
46 |
*/
|
47 |
protected function processRecord(array $record) : array
|
48 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/PsrHandler.php
CHANGED
@@ -37,6 +37,8 @@ class PsrHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implement
|
|
37 |
protected $formatter;
|
38 |
/**
|
39 |
* @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied
|
|
|
|
|
40 |
*/
|
41 |
public function __construct(\Psr\Log\LoggerInterface $logger, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
42 |
{
|
37 |
protected $formatter;
|
38 |
/**
|
39 |
* @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied
|
40 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
41 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
42 |
*/
|
43 |
public function __construct(\Psr\Log\LoggerInterface $logger, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
44 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/PushoverHandler.php
CHANGED
@@ -13,53 +13,41 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
use GFPDF_Vendor\Monolog\Utils;
|
16 |
-
use Psr\Log\LogLevel;
|
17 |
/**
|
18 |
* Sends notifications through the pushover api to mobile phones
|
19 |
*
|
20 |
* @author Sebastian Göttschkes <sebastian.goettschkes@googlemail.com>
|
21 |
* @see https://www.pushover.net/api
|
22 |
-
*
|
23 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
24 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
25 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
26 |
*/
|
27 |
class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
28 |
{
|
29 |
-
/** @var string */
|
30 |
private $token;
|
31 |
-
/** @var array<int|string> */
|
32 |
private $users;
|
33 |
-
/** @var string */
|
34 |
private $title;
|
35 |
-
|
36 |
-
private $user = null;
|
37 |
-
/** @var int */
|
38 |
private $retry;
|
39 |
-
/** @var int */
|
40 |
private $expire;
|
41 |
-
/** @var int */
|
42 |
private $highPriorityLevel;
|
43 |
-
/** @var int */
|
44 |
private $emergencyLevel;
|
45 |
-
/** @var bool */
|
46 |
private $useFormattedMessage = \false;
|
47 |
/**
|
48 |
* All parameters that can be sent to Pushover
|
49 |
* @see https://pushover.net/api
|
50 |
-
* @var array
|
51 |
*/
|
52 |
private $parameterNames = ['token' => \true, 'user' => \true, 'message' => \true, 'device' => \true, 'title' => \true, 'url' => \true, 'url_title' => \true, 'priority' => \true, 'timestamp' => \true, 'sound' => \true, 'retry' => \true, 'expire' => \true, 'callback' => \true];
|
53 |
/**
|
54 |
* Sounds the api supports by default
|
55 |
* @see https://pushover.net/api#sounds
|
56 |
-
* @var
|
57 |
*/
|
58 |
private $sounds = ['pushover', 'bike', 'bugle', 'cashregister', 'classical', 'cosmic', 'falling', 'gamelan', 'incoming', 'intermission', 'magic', 'mechanical', 'pianobar', 'siren', 'spacealarm', 'tugboat', 'alien', 'climb', 'persistent', 'echo', 'updown', 'none'];
|
59 |
/**
|
60 |
* @param string $token Pushover api token
|
61 |
* @param string|array $users Pushover user id or array of ids the message will be sent to
|
62 |
* @param string|null $title Title sent to the Pushover API
|
|
|
|
|
63 |
* @param bool $useSSL Whether to connect via SSL. Required when pushing messages to users that are not
|
64 |
* the pushover.net app owner. OpenSSL is required for this option.
|
65 |
* @param string|int $highPriorityLevel The minimum logging level at which this handler will start
|
@@ -70,10 +58,6 @@ class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
70 |
* send the same notification to the user.
|
71 |
* @param int $expire The expire parameter specifies how many seconds your notification will continue
|
72 |
* to be retried for (every retry seconds).
|
73 |
-
*
|
74 |
-
* @phpstan-param string|array<int|string> $users
|
75 |
-
* @phpstan-param Level|LevelName|LogLevel::* $highPriorityLevel
|
76 |
-
* @phpstan-param Level|LevelName|LogLevel::* $emergencyLevel
|
77 |
*/
|
78 |
public function __construct(string $token, $users, ?string $title = null, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, bool $useSSL = \true, $highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::CRITICAL, $emergencyLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY, int $retry = 30, int $expire = 25200)
|
79 |
{
|
@@ -81,7 +65,7 @@ class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
81 |
parent::__construct($connectionString, $level, $bubble);
|
82 |
$this->token = $token;
|
83 |
$this->users = (array) $users;
|
84 |
-
$this->title = $title ?:
|
85 |
$this->highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($highPriorityLevel);
|
86 |
$this->emergencyLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($emergencyLevel);
|
87 |
$this->retry = $retry;
|
@@ -92,9 +76,6 @@ class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
92 |
$content = $this->buildContent($record);
|
93 |
return $this->buildHeader($content) . $content;
|
94 |
}
|
95 |
-
/**
|
96 |
-
* @phpstan-param FormattedRecord $record
|
97 |
-
*/
|
98 |
private function buildContent(array $record) : string
|
99 |
{
|
100 |
// Pushover has a limit of 512 characters on title and message combined.
|
@@ -139,21 +120,11 @@ class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
139 |
}
|
140 |
$this->user = null;
|
141 |
}
|
142 |
-
/**
|
143 |
-
* @param int|string $value
|
144 |
-
*
|
145 |
-
* @phpstan-param Level|LevelName|LogLevel::* $value
|
146 |
-
*/
|
147 |
public function setHighPriorityLevel($value) : self
|
148 |
{
|
149 |
$this->highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($value);
|
150 |
return $this;
|
151 |
}
|
152 |
-
/**
|
153 |
-
* @param int|string $value
|
154 |
-
*
|
155 |
-
* @phpstan-param Level|LevelName|LogLevel::* $value
|
156 |
-
*/
|
157 |
public function setEmergencyLevel($value) : self
|
158 |
{
|
159 |
$this->emergencyLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($value);
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
use GFPDF_Vendor\Monolog\Utils;
|
|
|
16 |
/**
|
17 |
* Sends notifications through the pushover api to mobile phones
|
18 |
*
|
19 |
* @author Sebastian Göttschkes <sebastian.goettschkes@googlemail.com>
|
20 |
* @see https://www.pushover.net/api
|
|
|
|
|
|
|
|
|
21 |
*/
|
22 |
class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
23 |
{
|
|
|
24 |
private $token;
|
|
|
25 |
private $users;
|
|
|
26 |
private $title;
|
27 |
+
private $user;
|
|
|
|
|
28 |
private $retry;
|
|
|
29 |
private $expire;
|
|
|
30 |
private $highPriorityLevel;
|
|
|
31 |
private $emergencyLevel;
|
|
|
32 |
private $useFormattedMessage = \false;
|
33 |
/**
|
34 |
* All parameters that can be sent to Pushover
|
35 |
* @see https://pushover.net/api
|
36 |
+
* @var array
|
37 |
*/
|
38 |
private $parameterNames = ['token' => \true, 'user' => \true, 'message' => \true, 'device' => \true, 'title' => \true, 'url' => \true, 'url_title' => \true, 'priority' => \true, 'timestamp' => \true, 'sound' => \true, 'retry' => \true, 'expire' => \true, 'callback' => \true];
|
39 |
/**
|
40 |
* Sounds the api supports by default
|
41 |
* @see https://pushover.net/api#sounds
|
42 |
+
* @var array
|
43 |
*/
|
44 |
private $sounds = ['pushover', 'bike', 'bugle', 'cashregister', 'classical', 'cosmic', 'falling', 'gamelan', 'incoming', 'intermission', 'magic', 'mechanical', 'pianobar', 'siren', 'spacealarm', 'tugboat', 'alien', 'climb', 'persistent', 'echo', 'updown', 'none'];
|
45 |
/**
|
46 |
* @param string $token Pushover api token
|
47 |
* @param string|array $users Pushover user id or array of ids the message will be sent to
|
48 |
* @param string|null $title Title sent to the Pushover API
|
49 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
50 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
51 |
* @param bool $useSSL Whether to connect via SSL. Required when pushing messages to users that are not
|
52 |
* the pushover.net app owner. OpenSSL is required for this option.
|
53 |
* @param string|int $highPriorityLevel The minimum logging level at which this handler will start
|
58 |
* send the same notification to the user.
|
59 |
* @param int $expire The expire parameter specifies how many seconds your notification will continue
|
60 |
* to be retried for (every retry seconds).
|
|
|
|
|
|
|
|
|
61 |
*/
|
62 |
public function __construct(string $token, $users, ?string $title = null, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, bool $useSSL = \true, $highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::CRITICAL, $emergencyLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY, int $retry = 30, int $expire = 25200)
|
63 |
{
|
65 |
parent::__construct($connectionString, $level, $bubble);
|
66 |
$this->token = $token;
|
67 |
$this->users = (array) $users;
|
68 |
+
$this->title = $title ?: \gethostname();
|
69 |
$this->highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($highPriorityLevel);
|
70 |
$this->emergencyLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($emergencyLevel);
|
71 |
$this->retry = $retry;
|
76 |
$content = $this->buildContent($record);
|
77 |
return $this->buildHeader($content) . $content;
|
78 |
}
|
|
|
|
|
|
|
79 |
private function buildContent(array $record) : string
|
80 |
{
|
81 |
// Pushover has a limit of 512 characters on title and message combined.
|
120 |
}
|
121 |
$this->user = null;
|
122 |
}
|
|
|
|
|
|
|
|
|
|
|
123 |
public function setHighPriorityLevel($value) : self
|
124 |
{
|
125 |
$this->highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($value);
|
126 |
return $this;
|
127 |
}
|
|
|
|
|
|
|
|
|
|
|
128 |
public function setEmergencyLevel($value) : self
|
129 |
{
|
130 |
$this->emergencyLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($value);
|
vendor_prefixed/monolog/src/Monolog/Handler/RedisHandler.php
CHANGED
@@ -24,20 +24,17 @@ use GFPDF_Vendor\Monolog\Logger;
|
|
24 |
* $log->pushHandler($redis);
|
25 |
*
|
26 |
* @author Thomas Tourlourat <thomas@tourlourat.com>
|
27 |
-
*
|
28 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
29 |
*/
|
30 |
class RedisHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
31 |
{
|
32 |
-
/** @var \Predis\Client|\Redis */
|
33 |
private $redisClient;
|
34 |
-
/** @var string */
|
35 |
private $redisKey;
|
36 |
-
/** @var int */
|
37 |
protected $capSize;
|
38 |
/**
|
39 |
* @param \Predis\Client|\Redis $redis The redis instance
|
40 |
* @param string $key The key name to push records to
|
|
|
|
|
41 |
* @param int $capSize Number of entries to limit list size to, 0 = unlimited
|
42 |
*/
|
43 |
public function __construct($redis, string $key, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, int $capSize = 0)
|
@@ -64,8 +61,6 @@ class RedisHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandl
|
|
64 |
/**
|
65 |
* Write and cap the collection
|
66 |
* Writes the record to the redis list and caps its
|
67 |
-
*
|
68 |
-
* @phpstan-param FormattedRecord $record
|
69 |
*/
|
70 |
protected function writeCapped(array $record) : void
|
71 |
{
|
24 |
* $log->pushHandler($redis);
|
25 |
*
|
26 |
* @author Thomas Tourlourat <thomas@tourlourat.com>
|
|
|
|
|
27 |
*/
|
28 |
class RedisHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
29 |
{
|
|
|
30 |
private $redisClient;
|
|
|
31 |
private $redisKey;
|
|
|
32 |
protected $capSize;
|
33 |
/**
|
34 |
* @param \Predis\Client|\Redis $redis The redis instance
|
35 |
* @param string $key The key name to push records to
|
36 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
37 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
38 |
* @param int $capSize Number of entries to limit list size to, 0 = unlimited
|
39 |
*/
|
40 |
public function __construct($redis, string $key, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, int $capSize = 0)
|
61 |
/**
|
62 |
* Write and cap the collection
|
63 |
* Writes the record to the redis list and caps its
|
|
|
|
|
64 |
*/
|
65 |
protected function writeCapped(array $record) : void
|
66 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/RedisPubSubHandler.php
CHANGED
@@ -27,13 +27,13 @@ use GFPDF_Vendor\Monolog\Logger;
|
|
27 |
*/
|
28 |
class RedisPubSubHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
29 |
{
|
30 |
-
/** @var \Predis\Client|\Redis */
|
31 |
private $redisClient;
|
32 |
-
/** @var string */
|
33 |
private $channelKey;
|
34 |
/**
|
35 |
-
* @param \Predis\Client|\Redis $redis
|
36 |
-
* @param string $key
|
|
|
|
|
37 |
*/
|
38 |
public function __construct($redis, string $key, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
39 |
{
|
27 |
*/
|
28 |
class RedisPubSubHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
29 |
{
|
|
|
30 |
private $redisClient;
|
|
|
31 |
private $channelKey;
|
32 |
/**
|
33 |
+
* @param \Predis\Client|\Redis $redis The redis instance
|
34 |
+
* @param string $key The channel key to publish records to
|
35 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
36 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
37 |
*/
|
38 |
public function __construct($redis, string $key, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
39 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/RollbarHandler.php
CHANGED
@@ -36,7 +36,6 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
36 |
* @var RollbarLogger
|
37 |
*/
|
38 |
protected $rollbarLogger;
|
39 |
-
/** @var string[] */
|
40 |
protected $levelMap = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'debug', \GFPDF_Vendor\Monolog\Logger::INFO => 'info', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'info', \GFPDF_Vendor\Monolog\Logger::WARNING => 'warning', \GFPDF_Vendor\Monolog\Logger::ERROR => 'error', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'critical', \GFPDF_Vendor\Monolog\Logger::ALERT => 'critical', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'critical'];
|
41 |
/**
|
42 |
* Records whether any log records have been added since the last flush of the rollbar notifier
|
@@ -44,10 +43,11 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
44 |
* @var bool
|
45 |
*/
|
46 |
private $hasRecords = \false;
|
47 |
-
/** @var bool */
|
48 |
protected $initialized = \false;
|
49 |
/**
|
50 |
* @param RollbarLogger $rollbarLogger RollbarLogger object constructed with valid token
|
|
|
|
|
51 |
*/
|
52 |
public function __construct(\GFPDF_Vendor\Rollbar\RollbarLogger $rollbarLogger, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
53 |
{
|
@@ -55,7 +55,7 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
55 |
parent::__construct($level, $bubble);
|
56 |
}
|
57 |
/**
|
58 |
-
* {@
|
59 |
*/
|
60 |
protected function write(array $record) : void
|
61 |
{
|
@@ -73,7 +73,6 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
73 |
} else {
|
74 |
$toLog = $record['message'];
|
75 |
}
|
76 |
-
// @phpstan-ignore-next-line
|
77 |
$this->rollbarLogger->log($context['level'], $toLog, $context);
|
78 |
$this->hasRecords = \true;
|
79 |
}
|
@@ -85,14 +84,14 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
|
|
85 |
}
|
86 |
}
|
87 |
/**
|
88 |
-
* {@
|
89 |
*/
|
90 |
public function close() : void
|
91 |
{
|
92 |
$this->flush();
|
93 |
}
|
94 |
/**
|
95 |
-
* {@
|
96 |
*/
|
97 |
public function reset()
|
98 |
{
|
36 |
* @var RollbarLogger
|
37 |
*/
|
38 |
protected $rollbarLogger;
|
|
|
39 |
protected $levelMap = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'debug', \GFPDF_Vendor\Monolog\Logger::INFO => 'info', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'info', \GFPDF_Vendor\Monolog\Logger::WARNING => 'warning', \GFPDF_Vendor\Monolog\Logger::ERROR => 'error', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'critical', \GFPDF_Vendor\Monolog\Logger::ALERT => 'critical', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'critical'];
|
40 |
/**
|
41 |
* Records whether any log records have been added since the last flush of the rollbar notifier
|
43 |
* @var bool
|
44 |
*/
|
45 |
private $hasRecords = \false;
|
|
|
46 |
protected $initialized = \false;
|
47 |
/**
|
48 |
* @param RollbarLogger $rollbarLogger RollbarLogger object constructed with valid token
|
49 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
50 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
51 |
*/
|
52 |
public function __construct(\GFPDF_Vendor\Rollbar\RollbarLogger $rollbarLogger, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
53 |
{
|
55 |
parent::__construct($level, $bubble);
|
56 |
}
|
57 |
/**
|
58 |
+
* {@inheritdoc}
|
59 |
*/
|
60 |
protected function write(array $record) : void
|
61 |
{
|
73 |
} else {
|
74 |
$toLog = $record['message'];
|
75 |
}
|
|
|
76 |
$this->rollbarLogger->log($context['level'], $toLog, $context);
|
77 |
$this->hasRecords = \true;
|
78 |
}
|
84 |
}
|
85 |
}
|
86 |
/**
|
87 |
+
* {@inheritdoc}
|
88 |
*/
|
89 |
public function close() : void
|
90 |
{
|
91 |
$this->flush();
|
92 |
}
|
93 |
/**
|
94 |
+
* {@inheritdoc}
|
95 |
*/
|
96 |
public function reset()
|
97 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/RotatingFileHandler.php
CHANGED
@@ -28,21 +28,17 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
|
|
28 |
public const FILE_PER_DAY = 'Y-m-d';
|
29 |
public const FILE_PER_MONTH = 'Y-m';
|
30 |
public const FILE_PER_YEAR = 'Y';
|
31 |
-
/** @var string */
|
32 |
protected $filename;
|
33 |
-
/** @var int */
|
34 |
protected $maxFiles;
|
35 |
-
/** @var bool */
|
36 |
protected $mustRotate;
|
37 |
-
/** @var \DateTimeImmutable */
|
38 |
protected $nextRotation;
|
39 |
-
/** @var string */
|
40 |
protected $filenameFormat;
|
41 |
-
/** @var string */
|
42 |
protected $dateFormat;
|
43 |
/**
|
44 |
* @param string $filename
|
45 |
* @param int $maxFiles The maximal amount of files to keep (0 means unlimited)
|
|
|
|
|
46 |
* @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
|
47 |
* @param bool $useLocking Try to lock log file before doing any writes
|
48 |
*/
|
@@ -56,7 +52,7 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
|
|
56 |
parent::__construct($this->getTimedFilename(), $level, $bubble, $filePermission, $useLocking);
|
57 |
}
|
58 |
/**
|
59 |
-
* {@
|
60 |
*/
|
61 |
public function close() : void
|
62 |
{
|
@@ -66,7 +62,7 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
|
|
66 |
}
|
67 |
}
|
68 |
/**
|
69 |
-
* {@
|
70 |
*/
|
71 |
public function reset()
|
72 |
{
|
@@ -90,13 +86,13 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
|
|
90 |
return $this;
|
91 |
}
|
92 |
/**
|
93 |
-
* {@
|
94 |
*/
|
95 |
protected function write(array $record) : void
|
96 |
{
|
97 |
// on the first record written, if the log is new, we should rotate (once per day)
|
98 |
if (null === $this->mustRotate) {
|
99 |
-
$this->mustRotate =
|
100 |
}
|
101 |
if ($this->nextRotation <= $record['datetime']) {
|
102 |
$this->mustRotate = \true;
|
@@ -117,10 +113,6 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
|
|
117 |
return;
|
118 |
}
|
119 |
$logFiles = \glob($this->getGlobPattern());
|
120 |
-
if (\false === $logFiles) {
|
121 |
-
// failed to glob
|
122 |
-
return;
|
123 |
-
}
|
124 |
if ($this->maxFiles >= \count($logFiles)) {
|
125 |
// no files to remove
|
126 |
return;
|
@@ -146,7 +138,7 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
|
|
146 |
{
|
147 |
$fileInfo = \pathinfo($this->filename);
|
148 |
$timedFilename = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], \date($this->dateFormat)], $fileInfo['dirname'] . '/' . $this->filenameFormat);
|
149 |
-
if (
|
150 |
$timedFilename .= '.' . $fileInfo['extension'];
|
151 |
}
|
152 |
return $timedFilename;
|
@@ -155,7 +147,7 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
|
|
155 |
{
|
156 |
$fileInfo = \pathinfo($this->filename);
|
157 |
$glob = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], '[0-9][0-9][0-9][0-9]*'], $fileInfo['dirname'] . '/' . $this->filenameFormat);
|
158 |
-
if (
|
159 |
$glob .= '.' . $fileInfo['extension'];
|
160 |
}
|
161 |
return $glob;
|
28 |
public const FILE_PER_DAY = 'Y-m-d';
|
29 |
public const FILE_PER_MONTH = 'Y-m';
|
30 |
public const FILE_PER_YEAR = 'Y';
|
|
|
31 |
protected $filename;
|
|
|
32 |
protected $maxFiles;
|
|
|
33 |
protected $mustRotate;
|
|
|
34 |
protected $nextRotation;
|
|
|
35 |
protected $filenameFormat;
|
|
|
36 |
protected $dateFormat;
|
37 |
/**
|
38 |
* @param string $filename
|
39 |
* @param int $maxFiles The maximal amount of files to keep (0 means unlimited)
|
40 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
41 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
42 |
* @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
|
43 |
* @param bool $useLocking Try to lock log file before doing any writes
|
44 |
*/
|
52 |
parent::__construct($this->getTimedFilename(), $level, $bubble, $filePermission, $useLocking);
|
53 |
}
|
54 |
/**
|
55 |
+
* {@inheritdoc}
|
56 |
*/
|
57 |
public function close() : void
|
58 |
{
|
62 |
}
|
63 |
}
|
64 |
/**
|
65 |
+
* {@inheritdoc}
|
66 |
*/
|
67 |
public function reset()
|
68 |
{
|
86 |
return $this;
|
87 |
}
|
88 |
/**
|
89 |
+
* {@inheritdoc}
|
90 |
*/
|
91 |
protected function write(array $record) : void
|
92 |
{
|
93 |
// on the first record written, if the log is new, we should rotate (once per day)
|
94 |
if (null === $this->mustRotate) {
|
95 |
+
$this->mustRotate = !\file_exists($this->url);
|
96 |
}
|
97 |
if ($this->nextRotation <= $record['datetime']) {
|
98 |
$this->mustRotate = \true;
|
113 |
return;
|
114 |
}
|
115 |
$logFiles = \glob($this->getGlobPattern());
|
|
|
|
|
|
|
|
|
116 |
if ($this->maxFiles >= \count($logFiles)) {
|
117 |
// no files to remove
|
118 |
return;
|
138 |
{
|
139 |
$fileInfo = \pathinfo($this->filename);
|
140 |
$timedFilename = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], \date($this->dateFormat)], $fileInfo['dirname'] . '/' . $this->filenameFormat);
|
141 |
+
if (!empty($fileInfo['extension'])) {
|
142 |
$timedFilename .= '.' . $fileInfo['extension'];
|
143 |
}
|
144 |
return $timedFilename;
|
147 |
{
|
148 |
$fileInfo = \pathinfo($this->filename);
|
149 |
$glob = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], '[0-9][0-9][0-9][0-9]*'], $fileInfo['dirname'] . '/' . $this->filenameFormat);
|
150 |
+
if (!empty($fileInfo['extension'])) {
|
151 |
$glob .= '.' . $fileInfo['extension'];
|
152 |
}
|
153 |
return $glob;
|
vendor_prefixed/monolog/src/Monolog/Handler/SamplingHandler.php
CHANGED
@@ -25,16 +25,12 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
25 |
*
|
26 |
* @author Bryan Davis <bd808@wikimedia.org>
|
27 |
* @author Kunal Mehta <legoktm@gmail.com>
|
28 |
-
*
|
29 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
30 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
31 |
*/
|
32 |
class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
33 |
{
|
34 |
use ProcessableHandlerTrait;
|
35 |
/**
|
36 |
-
* @var HandlerInterface
|
37 |
-
* @phpstan-var HandlerInterface|callable(Record|array{level: Level}|null, HandlerInterface): HandlerInterface
|
38 |
*/
|
39 |
protected $handler;
|
40 |
/**
|
@@ -42,7 +38,7 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
|
|
42 |
*/
|
43 |
protected $factor;
|
44 |
/**
|
45 |
-
* @psalm-param HandlerInterface|callable(
|
46 |
*
|
47 |
* @param callable|HandlerInterface $handler Handler or factory callable($record|null, $samplingHandler).
|
48 |
* @param int $factor Sample factor (e.g. 10 means every ~10th record is sampled)
|
@@ -64,7 +60,6 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
|
|
64 |
{
|
65 |
if ($this->isHandling($record) && \mt_rand(1, $this->factor) === 1) {
|
66 |
if ($this->processors) {
|
67 |
-
/** @var Record $record */
|
68 |
$record = $this->processRecord($record);
|
69 |
}
|
70 |
$this->getHandler($record)->handle($record);
|
@@ -76,8 +71,6 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
|
|
76 |
*
|
77 |
* If the handler was provided as a factory callable, this will trigger the handler's instantiation.
|
78 |
*
|
79 |
-
* @phpstan-param Record|array{level: Level}|null $record
|
80 |
-
*
|
81 |
* @return HandlerInterface
|
82 |
*/
|
83 |
public function getHandler(array $record = null)
|
@@ -91,7 +84,7 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
|
|
91 |
return $this->handler;
|
92 |
}
|
93 |
/**
|
94 |
-
* {@
|
95 |
*/
|
96 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
97 |
{
|
@@ -103,7 +96,7 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
|
|
103 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
|
104 |
}
|
105 |
/**
|
106 |
-
* {@
|
107 |
*/
|
108 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
109 |
{
|
25 |
*
|
26 |
* @author Bryan Davis <bd808@wikimedia.org>
|
27 |
* @author Kunal Mehta <legoktm@gmail.com>
|
|
|
|
|
|
|
28 |
*/
|
29 |
class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
|
30 |
{
|
31 |
use ProcessableHandlerTrait;
|
32 |
/**
|
33 |
+
* @var callable|HandlerInterface $handler
|
|
|
34 |
*/
|
35 |
protected $handler;
|
36 |
/**
|
38 |
*/
|
39 |
protected $factor;
|
40 |
/**
|
41 |
+
* @psalm-param HandlerInterface|callable(array, HandlerInterface): HandlerInterface $handler
|
42 |
*
|
43 |
* @param callable|HandlerInterface $handler Handler or factory callable($record|null, $samplingHandler).
|
44 |
* @param int $factor Sample factor (e.g. 10 means every ~10th record is sampled)
|
60 |
{
|
61 |
if ($this->isHandling($record) && \mt_rand(1, $this->factor) === 1) {
|
62 |
if ($this->processors) {
|
|
|
63 |
$record = $this->processRecord($record);
|
64 |
}
|
65 |
$this->getHandler($record)->handle($record);
|
71 |
*
|
72 |
* If the handler was provided as a factory callable, this will trigger the handler's instantiation.
|
73 |
*
|
|
|
|
|
74 |
* @return HandlerInterface
|
75 |
*/
|
76 |
public function getHandler(array $record = null)
|
84 |
return $this->handler;
|
85 |
}
|
86 |
/**
|
87 |
+
* {@inheritdoc}
|
88 |
*/
|
89 |
public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
|
90 |
{
|
96 |
throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
|
97 |
}
|
98 |
/**
|
99 |
+
* {@inheritdoc}
|
100 |
*/
|
101 |
public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
102 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/SendGridHandler.php
CHANGED
@@ -36,7 +36,7 @@ class SendGridHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
36 |
protected $from;
|
37 |
/**
|
38 |
* The email addresses to which the message will be sent
|
39 |
-
* @var
|
40 |
*/
|
41 |
protected $to;
|
42 |
/**
|
@@ -45,17 +45,16 @@ class SendGridHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
45 |
*/
|
46 |
protected $subject;
|
47 |
/**
|
48 |
-
* @param string
|
49 |
-
* @param string
|
50 |
-
* @param string
|
51 |
-
* @param string|
|
52 |
-
* @param string
|
|
|
|
|
53 |
*/
|
54 |
public function __construct(string $apiUser, string $apiKey, string $from, $to, string $subject, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
55 |
{
|
56 |
-
if (!\extension_loaded('curl')) {
|
57 |
-
throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is needed to use the SendGridHandler');
|
58 |
-
}
|
59 |
parent::__construct($level, $bubble);
|
60 |
$this->apiUser = $apiUser;
|
61 |
$this->apiKey = $apiKey;
|
@@ -64,7 +63,7 @@ class SendGridHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
64 |
$this->subject = $subject;
|
65 |
}
|
66 |
/**
|
67 |
-
* {@
|
68 |
*/
|
69 |
protected function send(string $content, array $records) : void
|
70 |
{
|
36 |
protected $from;
|
37 |
/**
|
38 |
* The email addresses to which the message will be sent
|
39 |
+
* @var array
|
40 |
*/
|
41 |
protected $to;
|
42 |
/**
|
45 |
*/
|
46 |
protected $subject;
|
47 |
/**
|
48 |
+
* @param string $apiUser The SendGrid API User
|
49 |
+
* @param string $apiKey The SendGrid API Key
|
50 |
+
* @param string $from The sender of the email
|
51 |
+
* @param string|array $to The recipients of the email
|
52 |
+
* @param string $subject The subject of the mail
|
53 |
+
* @param int|string $level The minimum logging level at which this handler will be triggered
|
54 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
55 |
*/
|
56 |
public function __construct(string $apiUser, string $apiKey, string $from, $to, string $subject, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
57 |
{
|
|
|
|
|
|
|
58 |
parent::__construct($level, $bubble);
|
59 |
$this->apiUser = $apiUser;
|
60 |
$this->apiKey = $apiKey;
|
63 |
$this->subject = $subject;
|
64 |
}
|
65 |
/**
|
66 |
+
* {@inheritdoc}
|
67 |
*/
|
68 |
protected function send(string $content, array $records) : void
|
69 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/Slack/SlackRecord.php
CHANGED
@@ -22,9 +22,6 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
|
22 |
* @author Haralan Dobrev <hkdobrev@gmail.com>
|
23 |
* @see https://api.slack.com/incoming-webhooks
|
24 |
* @see https://api.slack.com/docs/message-attachments
|
25 |
-
*
|
26 |
-
* @phpstan-import-type FormattedRecord from \Monolog\Handler\AbstractProcessingHandler
|
27 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
28 |
*/
|
29 |
class SlackRecord
|
30 |
{
|
@@ -64,7 +61,7 @@ class SlackRecord
|
|
64 |
private $includeContextAndExtra;
|
65 |
/**
|
66 |
* Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
|
67 |
-
* @var
|
68 |
*/
|
69 |
private $excludeFields;
|
70 |
/**
|
@@ -75,9 +72,6 @@ class SlackRecord
|
|
75 |
* @var NormalizerFormatter
|
76 |
*/
|
77 |
private $normalizerFormatter;
|
78 |
-
/**
|
79 |
-
* @param string[] $excludeFields
|
80 |
-
*/
|
81 |
public function __construct(?string $channel = null, ?string $username = null, bool $useAttachment = \true, ?string $userIcon = null, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, array $excludeFields = array(), \GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter = null)
|
82 |
{
|
83 |
$this->setChannel($channel)->setUsername($username)->useAttachment($useAttachment)->setUserIcon($userIcon)->useShortAttachment($useShortAttachment)->includeContextAndExtra($includeContextAndExtra)->excludeFields($excludeFields)->setFormatter($formatter);
|
@@ -88,9 +82,6 @@ class SlackRecord
|
|
88 |
/**
|
89 |
* Returns required data in format that Slack
|
90 |
* is expecting.
|
91 |
-
*
|
92 |
-
* @phpstan-param FormattedRecord $record
|
93 |
-
* @phpstan-return mixed[]
|
94 |
*/
|
95 |
public function getSlackData(array $record) : array
|
96 |
{
|
@@ -103,7 +94,6 @@ class SlackRecord
|
|
103 |
$dataArray['channel'] = $this->channel;
|
104 |
}
|
105 |
if ($this->formatter && !$this->useAttachment) {
|
106 |
-
/** @phpstan-ignore-next-line */
|
107 |
$message = $this->formatter->format($record);
|
108 |
} else {
|
109 |
$message = $record['message'];
|
@@ -161,12 +151,9 @@ class SlackRecord
|
|
161 |
}
|
162 |
/**
|
163 |
* Stringifies an array of key/value pairs to be used in attachment fields
|
164 |
-
*
|
165 |
-
* @param mixed[] $fields
|
166 |
*/
|
167 |
public function stringify(array $fields) : string
|
168 |
{
|
169 |
-
/** @var Record $fields */
|
170 |
$normalized = $this->normalizerFormatter->format($fields);
|
171 |
$hasSecondDimension = \count(\array_filter($normalized, 'is_array'));
|
172 |
$hasNonNumericKeys = !\count(\array_filter(\array_keys($normalized), 'is_numeric'));
|
@@ -222,9 +209,6 @@ class SlackRecord
|
|
222 |
}
|
223 |
return $this;
|
224 |
}
|
225 |
-
/**
|
226 |
-
* @param string[] $excludeFields
|
227 |
-
*/
|
228 |
public function excludeFields(array $excludeFields = []) : self
|
229 |
{
|
230 |
$this->excludeFields = $excludeFields;
|
@@ -238,9 +222,7 @@ class SlackRecord
|
|
238 |
/**
|
239 |
* Generates attachment field
|
240 |
*
|
241 |
-
* @param string|
|
242 |
-
*
|
243 |
-
* @return array{title: string, value: string, short: false}
|
244 |
*/
|
245 |
private function generateAttachmentField(string $title, $value) : array
|
246 |
{
|
@@ -249,27 +231,17 @@ class SlackRecord
|
|
249 |
}
|
250 |
/**
|
251 |
* Generates a collection of attachment fields from array
|
252 |
-
*
|
253 |
-
* @param mixed[] $data
|
254 |
-
*
|
255 |
-
* @return array<array{title: string, value: string, short: false}>
|
256 |
*/
|
257 |
private function generateAttachmentFields(array $data) : array
|
258 |
{
|
259 |
-
/** @var Record $data */
|
260 |
-
$normalized = $this->normalizerFormatter->format($data);
|
261 |
$fields = array();
|
262 |
-
foreach ($
|
263 |
$fields[] = $this->generateAttachmentField((string) $key, $value);
|
264 |
}
|
265 |
return $fields;
|
266 |
}
|
267 |
/**
|
268 |
* Get a copy of record with fields excluded according to $this->excludeFields
|
269 |
-
*
|
270 |
-
* @phpstan-param FormattedRecord $record
|
271 |
-
*
|
272 |
-
* @return mixed[]
|
273 |
*/
|
274 |
private function removeExcludedFields(array $record) : array
|
275 |
{
|
22 |
* @author Haralan Dobrev <hkdobrev@gmail.com>
|
23 |
* @see https://api.slack.com/incoming-webhooks
|
24 |
* @see https://api.slack.com/docs/message-attachments
|
|
|
|
|
|
|
25 |
*/
|
26 |
class SlackRecord
|
27 |
{
|
61 |
private $includeContextAndExtra;
|
62 |
/**
|
63 |
* Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
|
64 |
+
* @var array
|
65 |
*/
|
66 |
private $excludeFields;
|
67 |
/**
|
72 |
* @var NormalizerFormatter
|
73 |
*/
|
74 |
private $normalizerFormatter;
|
|
|
|
|
|
|
75 |
public function __construct(?string $channel = null, ?string $username = null, bool $useAttachment = \true, ?string $userIcon = null, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, array $excludeFields = array(), \GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter = null)
|
76 |
{
|
77 |
$this->setChannel($channel)->setUsername($username)->useAttachment($useAttachment)->setUserIcon($userIcon)->useShortAttachment($useShortAttachment)->includeContextAndExtra($includeContextAndExtra)->excludeFields($excludeFields)->setFormatter($formatter);
|
82 |
/**
|
83 |
* Returns required data in format that Slack
|
84 |
* is expecting.
|
|
|
|
|
|
|
85 |
*/
|
86 |
public function getSlackData(array $record) : array
|
87 |
{
|
94 |
$dataArray['channel'] = $this->channel;
|
95 |
}
|
96 |
if ($this->formatter && !$this->useAttachment) {
|
|
|
97 |
$message = $this->formatter->format($record);
|
98 |
} else {
|
99 |
$message = $record['message'];
|
151 |
}
|
152 |
/**
|
153 |
* Stringifies an array of key/value pairs to be used in attachment fields
|
|
|
|
|
154 |
*/
|
155 |
public function stringify(array $fields) : string
|
156 |
{
|
|
|
157 |
$normalized = $this->normalizerFormatter->format($fields);
|
158 |
$hasSecondDimension = \count(\array_filter($normalized, 'is_array'));
|
159 |
$hasNonNumericKeys = !\count(\array_filter(\array_keys($normalized), 'is_numeric'));
|
209 |
}
|
210 |
return $this;
|
211 |
}
|
|
|
|
|
|
|
212 |
public function excludeFields(array $excludeFields = []) : self
|
213 |
{
|
214 |
$this->excludeFields = $excludeFields;
|
222 |
/**
|
223 |
* Generates attachment field
|
224 |
*
|
225 |
+
* @param string|array $value
|
|
|
|
|
226 |
*/
|
227 |
private function generateAttachmentField(string $title, $value) : array
|
228 |
{
|
231 |
}
|
232 |
/**
|
233 |
* Generates a collection of attachment fields from array
|
|
|
|
|
|
|
|
|
234 |
*/
|
235 |
private function generateAttachmentFields(array $data) : array
|
236 |
{
|
|
|
|
|
237 |
$fields = array();
|
238 |
+
foreach ($this->normalizerFormatter->format($data) as $key => $value) {
|
239 |
$fields[] = $this->generateAttachmentField((string) $key, $value);
|
240 |
}
|
241 |
return $fields;
|
242 |
}
|
243 |
/**
|
244 |
* Get a copy of record with fields excluded according to $this->excludeFields
|
|
|
|
|
|
|
|
|
245 |
*/
|
246 |
private function removeExcludedFields(array $record) : array
|
247 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/SlackHandler.php
CHANGED
@@ -20,8 +20,6 @@ use GFPDF_Vendor\Monolog\Handler\Slack\SlackRecord;
|
|
20 |
*
|
21 |
* @author Greg Kedzierski <greg@gregkedzierski.com>
|
22 |
* @see https://api.slack.com/
|
23 |
-
*
|
24 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
25 |
*/
|
26 |
class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
27 |
{
|
@@ -41,9 +39,11 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
41 |
* @param string|null $username Name of a bot
|
42 |
* @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise)
|
43 |
* @param string|null $iconEmoji The emoji name to use (or null)
|
|
|
|
|
44 |
* @param bool $useShortAttachment Whether the context/extra messages added to Slack as attachments are in a short style
|
45 |
* @param bool $includeContextAndExtra Whether the attachment should include context and extra data
|
46 |
-
* @param
|
47 |
* @throws MissingExtensionException If no OpenSSL PHP extension configured
|
48 |
*/
|
49 |
public function __construct(string $token, string $channel, ?string $username = null, bool $useAttachment = \true, ?string $iconEmoji = null, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, array $excludeFields = array())
|
@@ -64,7 +64,7 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
64 |
return $this->token;
|
65 |
}
|
66 |
/**
|
67 |
-
* {@
|
68 |
*/
|
69 |
protected function generateDataStream(array $record) : string
|
70 |
{
|
@@ -73,18 +73,12 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
73 |
}
|
74 |
/**
|
75 |
* Builds the body of API call
|
76 |
-
*
|
77 |
-
* @phpstan-param FormattedRecord $record
|
78 |
*/
|
79 |
private function buildContent(array $record) : string
|
80 |
{
|
81 |
$dataArray = $this->prepareContentData($record);
|
82 |
return \http_build_query($dataArray);
|
83 |
}
|
84 |
-
/**
|
85 |
-
* @phpstan-param FormattedRecord $record
|
86 |
-
* @return string[]
|
87 |
-
*/
|
88 |
protected function prepareContentData(array $record) : array
|
89 |
{
|
90 |
$dataArray = $this->slackRecord->getSlackData($record);
|
@@ -107,7 +101,7 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
107 |
return $header;
|
108 |
}
|
109 |
/**
|
110 |
-
* {@
|
111 |
*/
|
112 |
protected function write(array $record) : void
|
113 |
{
|
@@ -176,9 +170,6 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
|
176 |
$this->slackRecord->includeContextAndExtra($includeContextAndExtra);
|
177 |
return $this;
|
178 |
}
|
179 |
-
/**
|
180 |
-
* @param string[] $excludeFields
|
181 |
-
*/
|
182 |
public function excludeFields(array $excludeFields) : self
|
183 |
{
|
184 |
$this->slackRecord->excludeFields($excludeFields);
|
20 |
*
|
21 |
* @author Greg Kedzierski <greg@gregkedzierski.com>
|
22 |
* @see https://api.slack.com/
|
|
|
|
|
23 |
*/
|
24 |
class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
|
25 |
{
|
39 |
* @param string|null $username Name of a bot
|
40 |
* @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise)
|
41 |
* @param string|null $iconEmoji The emoji name to use (or null)
|
42 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
43 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
44 |
* @param bool $useShortAttachment Whether the context/extra messages added to Slack as attachments are in a short style
|
45 |
* @param bool $includeContextAndExtra Whether the attachment should include context and extra data
|
46 |
+
* @param array $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
|
47 |
* @throws MissingExtensionException If no OpenSSL PHP extension configured
|
48 |
*/
|
49 |
public function __construct(string $token, string $channel, ?string $username = null, bool $useAttachment = \true, ?string $iconEmoji = null, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, array $excludeFields = array())
|
64 |
return $this->token;
|
65 |
}
|
66 |
/**
|
67 |
+
* {@inheritdoc}
|
68 |
*/
|
69 |
protected function generateDataStream(array $record) : string
|
70 |
{
|
73 |
}
|
74 |
/**
|
75 |
* Builds the body of API call
|
|
|
|
|
76 |
*/
|
77 |
private function buildContent(array $record) : string
|
78 |
{
|
79 |
$dataArray = $this->prepareContentData($record);
|
80 |
return \http_build_query($dataArray);
|
81 |
}
|
|
|
|
|
|
|
|
|
82 |
protected function prepareContentData(array $record) : array
|
83 |
{
|
84 |
$dataArray = $this->slackRecord->getSlackData($record);
|
101 |
return $header;
|
102 |
}
|
103 |
/**
|
104 |
+
* {@inheritdoc}
|
105 |
*/
|
106 |
protected function write(array $record) : void
|
107 |
{
|
170 |
$this->slackRecord->includeContextAndExtra($includeContextAndExtra);
|
171 |
return $this;
|
172 |
}
|
|
|
|
|
|
|
173 |
public function excludeFields(array $excludeFields) : self
|
174 |
{
|
175 |
$this->slackRecord->excludeFields($excludeFields);
|
vendor_prefixed/monolog/src/Monolog/Handler/SlackWebhookHandler.php
CHANGED
@@ -41,13 +41,12 @@ class SlackWebhookHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessi
|
|
41 |
* @param string|null $iconEmoji The emoji name to use (or null)
|
42 |
* @param bool $useShortAttachment Whether the the context/extra messages added to Slack as attachments are in a short style
|
43 |
* @param bool $includeContextAndExtra Whether the attachment should include context and extra data
|
44 |
-
* @param string
|
|
|
|
|
45 |
*/
|
46 |
public function __construct(string $webhookUrl, ?string $channel = null, ?string $username = null, bool $useAttachment = \true, ?string $iconEmoji = null, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, array $excludeFields = array())
|
47 |
{
|
48 |
-
if (!\extension_loaded('curl')) {
|
49 |
-
throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is needed to use the SlackWebhookHandler');
|
50 |
-
}
|
51 |
parent::__construct($level, $bubble);
|
52 |
$this->webhookUrl = $webhookUrl;
|
53 |
$this->slackRecord = new \GFPDF_Vendor\Monolog\Handler\Slack\SlackRecord($channel, $username, $useAttachment, $iconEmoji, $useShortAttachment, $includeContextAndExtra, $excludeFields);
|
@@ -61,7 +60,9 @@ class SlackWebhookHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessi
|
|
61 |
return $this->webhookUrl;
|
62 |
}
|
63 |
/**
|
64 |
-
* {@
|
|
|
|
|
65 |
*/
|
66 |
protected function write(array $record) : void
|
67 |
{
|
41 |
* @param string|null $iconEmoji The emoji name to use (or null)
|
42 |
* @param bool $useShortAttachment Whether the the context/extra messages added to Slack as attachments are in a short style
|
43 |
* @param bool $includeContextAndExtra Whether the attachment should include context and extra data
|
44 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
45 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
46 |
+
* @param array $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
|
47 |
*/
|
48 |
public function __construct(string $webhookUrl, ?string $channel = null, ?string $username = null, bool $useAttachment = \true, ?string $iconEmoji = null, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, array $excludeFields = array())
|
49 |
{
|
|
|
|
|
|
|
50 |
parent::__construct($level, $bubble);
|
51 |
$this->webhookUrl = $webhookUrl;
|
52 |
$this->slackRecord = new \GFPDF_Vendor\Monolog\Handler\Slack\SlackRecord($channel, $username, $useAttachment, $iconEmoji, $useShortAttachment, $includeContextAndExtra, $excludeFields);
|
60 |
return $this->webhookUrl;
|
61 |
}
|
62 |
/**
|
63 |
+
* {@inheritdoc}
|
64 |
+
*
|
65 |
+
* @param array $record
|
66 |
*/
|
67 |
protected function write(array $record) : void
|
68 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/SocketHandler.php
CHANGED
@@ -17,15 +17,10 @@ use GFPDF_Vendor\Monolog\Logger;
|
|
17 |
*
|
18 |
* @author Pablo de Leon Belloc <pablolb@gmail.com>
|
19 |
* @see http://php.net/manual/en/function.fsockopen.php
|
20 |
-
*
|
21 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
22 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
23 |
*/
|
24 |
class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
25 |
{
|
26 |
-
/** @var string */
|
27 |
private $connectionString;
|
28 |
-
/** @var float */
|
29 |
private $connectionTimeout;
|
30 |
/** @var resource|null */
|
31 |
private $resource;
|
@@ -33,20 +28,18 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
33 |
private $timeout = 0.0;
|
34 |
/** @var float */
|
35 |
private $writingTimeout = 10.0;
|
36 |
-
/** @var ?int */
|
37 |
private $lastSentBytes = null;
|
38 |
-
/** @var
|
39 |
private $chunkSize = null;
|
40 |
-
/** @var bool */
|
41 |
private $persistent = \false;
|
42 |
-
|
43 |
-
private $
|
44 |
-
/** @var ?string */
|
45 |
-
private $errstr = null;
|
46 |
/** @var ?float */
|
47 |
-
private $lastWritingAt
|
48 |
/**
|
49 |
-
* @param string
|
|
|
|
|
50 |
*/
|
51 |
public function __construct(string $connectionString, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
52 |
{
|
@@ -57,7 +50,7 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
57 |
/**
|
58 |
* Connect (if necessary) and write to the socket
|
59 |
*
|
60 |
-
*
|
61 |
*
|
62 |
* @throws \UnexpectedValueException
|
63 |
* @throws \RuntimeException
|
@@ -176,7 +169,7 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
176 |
/**
|
177 |
* Get current chunk size
|
178 |
*/
|
179 |
-
public function getChunkSize() :
|
180 |
{
|
181 |
return $this->chunkSize;
|
182 |
}
|
@@ -192,8 +185,6 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
192 |
}
|
193 |
/**
|
194 |
* Wrapper to allow mocking
|
195 |
-
*
|
196 |
-
* @return resource|false
|
197 |
*/
|
198 |
protected function pfsockopen()
|
199 |
{
|
@@ -201,8 +192,6 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
201 |
}
|
202 |
/**
|
203 |
* Wrapper to allow mocking
|
204 |
-
*
|
205 |
-
* @return resource|false
|
206 |
*/
|
207 |
protected function fsockopen()
|
208 |
{
|
@@ -212,75 +201,50 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
212 |
* Wrapper to allow mocking
|
213 |
*
|
214 |
* @see http://php.net/manual/en/function.stream-set-timeout.php
|
215 |
-
*
|
216 |
-
* @return bool
|
217 |
*/
|
218 |
protected function streamSetTimeout()
|
219 |
{
|
220 |
$seconds = \floor($this->timeout);
|
221 |
$microseconds = \round(($this->timeout - $seconds) * 1000000.0);
|
222 |
-
if (!\is_resource($this->resource)) {
|
223 |
-
throw new \LogicException('streamSetTimeout called but $this->resource is not a resource');
|
224 |
-
}
|
225 |
return \stream_set_timeout($this->resource, (int) $seconds, (int) $microseconds);
|
226 |
}
|
227 |
/**
|
228 |
* Wrapper to allow mocking
|
229 |
*
|
230 |
* @see http://php.net/manual/en/function.stream-set-chunk-size.php
|
231 |
-
*
|
232 |
-
* @return int|bool
|
233 |
*/
|
234 |
protected function streamSetChunkSize()
|
235 |
{
|
236 |
-
if (!\is_resource($this->resource)) {
|
237 |
-
throw new \LogicException('streamSetChunkSize called but $this->resource is not a resource');
|
238 |
-
}
|
239 |
-
if (null === $this->chunkSize) {
|
240 |
-
throw new \LogicException('streamSetChunkSize called but $this->chunkSize is not set');
|
241 |
-
}
|
242 |
return \stream_set_chunk_size($this->resource, $this->chunkSize);
|
243 |
}
|
244 |
/**
|
245 |
* Wrapper to allow mocking
|
246 |
-
*
|
247 |
-
* @return int|bool
|
248 |
*/
|
249 |
-
protected function fwrite(
|
250 |
{
|
251 |
-
if (!\is_resource($this->resource)) {
|
252 |
-
throw new \LogicException('fwrite called but $this->resource is not a resource');
|
253 |
-
}
|
254 |
return @\fwrite($this->resource, $data);
|
255 |
}
|
256 |
/**
|
257 |
* Wrapper to allow mocking
|
258 |
-
*
|
259 |
-
* @return mixed[]|bool
|
260 |
*/
|
261 |
protected function streamGetMetadata()
|
262 |
{
|
263 |
-
if (!\is_resource($this->resource)) {
|
264 |
-
throw new \LogicException('streamGetMetadata called but $this->resource is not a resource');
|
265 |
-
}
|
266 |
return \stream_get_meta_data($this->resource);
|
267 |
}
|
268 |
-
private function validateTimeout(
|
269 |
{
|
270 |
-
|
|
|
271 |
throw new \InvalidArgumentException("Timeout must be 0 or a positive float (got {$value})");
|
272 |
}
|
273 |
}
|
274 |
-
private function connectIfNotConnected()
|
275 |
{
|
276 |
if ($this->isConnected()) {
|
277 |
return;
|
278 |
}
|
279 |
$this->connect();
|
280 |
}
|
281 |
-
/**
|
282 |
-
* @phpstan-param FormattedRecord $record
|
283 |
-
*/
|
284 |
protected function generateDataStream(array $record) : string
|
285 |
{
|
286 |
return (string) $record['formatted'];
|
@@ -305,7 +269,7 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
305 |
} else {
|
306 |
$resource = $this->fsockopen();
|
307 |
}
|
308 |
-
if (
|
309 |
throw new \UnexpectedValueException("Failed connecting to {$this->connectionString} ({$this->errno}: {$this->errstr})");
|
310 |
}
|
311 |
$this->resource = $resource;
|
@@ -338,7 +302,7 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
338 |
}
|
339 |
$sent += $chunk;
|
340 |
$socketInfo = $this->streamGetMetadata();
|
341 |
-
if (
|
342 |
throw new \RuntimeException("Write timed-out");
|
343 |
}
|
344 |
if ($this->writingIsTimedOut($sent)) {
|
17 |
*
|
18 |
* @author Pablo de Leon Belloc <pablolb@gmail.com>
|
19 |
* @see http://php.net/manual/en/function.fsockopen.php
|
|
|
|
|
|
|
20 |
*/
|
21 |
class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
22 |
{
|
|
|
23 |
private $connectionString;
|
|
|
24 |
private $connectionTimeout;
|
25 |
/** @var resource|null */
|
26 |
private $resource;
|
28 |
private $timeout = 0.0;
|
29 |
/** @var float */
|
30 |
private $writingTimeout = 10.0;
|
|
|
31 |
private $lastSentBytes = null;
|
32 |
+
/** @var int */
|
33 |
private $chunkSize = null;
|
|
|
34 |
private $persistent = \false;
|
35 |
+
private $errno;
|
36 |
+
private $errstr;
|
|
|
|
|
37 |
/** @var ?float */
|
38 |
+
private $lastWritingAt;
|
39 |
/**
|
40 |
+
* @param string $connectionString Socket connection string
|
41 |
+
* @param int|string $level The minimum logging level at which this handler will be triggered
|
42 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
43 |
*/
|
44 |
public function __construct(string $connectionString, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
45 |
{
|
50 |
/**
|
51 |
* Connect (if necessary) and write to the socket
|
52 |
*
|
53 |
+
* @param array $record
|
54 |
*
|
55 |
* @throws \UnexpectedValueException
|
56 |
* @throws \RuntimeException
|
169 |
/**
|
170 |
* Get current chunk size
|
171 |
*/
|
172 |
+
public function getChunkSize() : int
|
173 |
{
|
174 |
return $this->chunkSize;
|
175 |
}
|
185 |
}
|
186 |
/**
|
187 |
* Wrapper to allow mocking
|
|
|
|
|
188 |
*/
|
189 |
protected function pfsockopen()
|
190 |
{
|
192 |
}
|
193 |
/**
|
194 |
* Wrapper to allow mocking
|
|
|
|
|
195 |
*/
|
196 |
protected function fsockopen()
|
197 |
{
|
201 |
* Wrapper to allow mocking
|
202 |
*
|
203 |
* @see http://php.net/manual/en/function.stream-set-timeout.php
|
|
|
|
|
204 |
*/
|
205 |
protected function streamSetTimeout()
|
206 |
{
|
207 |
$seconds = \floor($this->timeout);
|
208 |
$microseconds = \round(($this->timeout - $seconds) * 1000000.0);
|
|
|
|
|
|
|
209 |
return \stream_set_timeout($this->resource, (int) $seconds, (int) $microseconds);
|
210 |
}
|
211 |
/**
|
212 |
* Wrapper to allow mocking
|
213 |
*
|
214 |
* @see http://php.net/manual/en/function.stream-set-chunk-size.php
|
|
|
|
|
215 |
*/
|
216 |
protected function streamSetChunkSize()
|
217 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
return \stream_set_chunk_size($this->resource, $this->chunkSize);
|
219 |
}
|
220 |
/**
|
221 |
* Wrapper to allow mocking
|
|
|
|
|
222 |
*/
|
223 |
+
protected function fwrite($data)
|
224 |
{
|
|
|
|
|
|
|
225 |
return @\fwrite($this->resource, $data);
|
226 |
}
|
227 |
/**
|
228 |
* Wrapper to allow mocking
|
|
|
|
|
229 |
*/
|
230 |
protected function streamGetMetadata()
|
231 |
{
|
|
|
|
|
|
|
232 |
return \stream_get_meta_data($this->resource);
|
233 |
}
|
234 |
+
private function validateTimeout($value)
|
235 |
{
|
236 |
+
$ok = \filter_var($value, \FILTER_VALIDATE_FLOAT);
|
237 |
+
if ($ok === \false || $value < 0) {
|
238 |
throw new \InvalidArgumentException("Timeout must be 0 or a positive float (got {$value})");
|
239 |
}
|
240 |
}
|
241 |
+
private function connectIfNotConnected()
|
242 |
{
|
243 |
if ($this->isConnected()) {
|
244 |
return;
|
245 |
}
|
246 |
$this->connect();
|
247 |
}
|
|
|
|
|
|
|
248 |
protected function generateDataStream(array $record) : string
|
249 |
{
|
250 |
return (string) $record['formatted'];
|
269 |
} else {
|
270 |
$resource = $this->fsockopen();
|
271 |
}
|
272 |
+
if (!$resource) {
|
273 |
throw new \UnexpectedValueException("Failed connecting to {$this->connectionString} ({$this->errno}: {$this->errstr})");
|
274 |
}
|
275 |
$this->resource = $resource;
|
302 |
}
|
303 |
$sent += $chunk;
|
304 |
$socketInfo = $this->streamGetMetadata();
|
305 |
+
if ($socketInfo['timed_out']) {
|
306 |
throw new \RuntimeException("Write timed-out");
|
307 |
}
|
308 |
if ($this->writingIsTimedOut($sent)) {
|
vendor_prefixed/monolog/src/Monolog/Handler/SqsHandler.php
CHANGED
@@ -36,7 +36,9 @@ class SqsHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
|
36 |
$this->queueUrl = $queueUrl;
|
37 |
}
|
38 |
/**
|
39 |
-
*
|
|
|
|
|
40 |
*/
|
41 |
protected function write(array $record) : void
|
42 |
{
|
36 |
$this->queueUrl = $queueUrl;
|
37 |
}
|
38 |
/**
|
39 |
+
* Writes the record down to the log of the implementing handler.
|
40 |
+
*
|
41 |
+
* @param array $record
|
42 |
*/
|
43 |
protected function write(array $record) : void
|
44 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/StreamHandler.php
CHANGED
@@ -19,31 +19,21 @@ use GFPDF_Vendor\Monolog\Utils;
|
|
19 |
* Can be used to store into php://stderr, remote and local files, etc.
|
20 |
*
|
21 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
22 |
-
*
|
23 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
24 |
*/
|
25 |
class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
26 |
{
|
27 |
-
/** @const int */
|
28 |
-
protected const MAX_CHUNK_SIZE = 2147483647;
|
29 |
-
/** @const int 10MB */
|
30 |
-
protected const DEFAULT_CHUNK_SIZE = 10 * 1024 * 1024;
|
31 |
-
/** @var int */
|
32 |
-
protected $streamChunkSize;
|
33 |
/** @var resource|null */
|
34 |
protected $stream;
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
private $errorMessage = null;
|
39 |
-
/** @var ?int */
|
40 |
protected $filePermission;
|
41 |
-
/** @var bool */
|
42 |
protected $useLocking;
|
43 |
-
|
44 |
-
private $dirCreated = null;
|
45 |
/**
|
46 |
* @param resource|string $stream If a missing path can't be created, an UnexpectedValueException will be thrown on first write
|
|
|
|
|
47 |
* @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
|
48 |
* @param bool $useLocking Try to lock log file before doing any writes
|
49 |
*
|
@@ -52,21 +42,8 @@ class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
52 |
public function __construct($stream, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, ?int $filePermission = null, bool $useLocking = \false)
|
53 |
{
|
54 |
parent::__construct($level, $bubble);
|
55 |
-
if (($phpMemoryLimit = \GFPDF_Vendor\Monolog\Utils::expandIniShorthandBytes(\ini_get('memory_limit'))) !== \false) {
|
56 |
-
if ($phpMemoryLimit > 0) {
|
57 |
-
// use max 10% of allowed memory for the chunk size, and at least 100KB
|
58 |
-
$this->streamChunkSize = \min(static::MAX_CHUNK_SIZE, \max((int) ($phpMemoryLimit / 10), 100 * 1024));
|
59 |
-
} else {
|
60 |
-
// memory is unlimited, set to the default 10MB
|
61 |
-
$this->streamChunkSize = static::DEFAULT_CHUNK_SIZE;
|
62 |
-
}
|
63 |
-
} else {
|
64 |
-
// no memory limit information, set to the default 10MB
|
65 |
-
$this->streamChunkSize = static::DEFAULT_CHUNK_SIZE;
|
66 |
-
}
|
67 |
if (\is_resource($stream)) {
|
68 |
$this->stream = $stream;
|
69 |
-
\stream_set_chunk_size($this->stream, $this->streamChunkSize);
|
70 |
} elseif (\is_string($stream)) {
|
71 |
$this->url = \GFPDF_Vendor\Monolog\Utils::canonicalizePath($stream);
|
72 |
} else {
|
@@ -76,7 +53,7 @@ class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
76 |
$this->useLocking = $useLocking;
|
77 |
}
|
78 |
/**
|
79 |
-
* {@
|
80 |
*/
|
81 |
public function close() : void
|
82 |
{
|
@@ -105,62 +82,46 @@ class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
105 |
return $this->url;
|
106 |
}
|
107 |
/**
|
108 |
-
* @
|
109 |
-
*/
|
110 |
-
public function getStreamChunkSize() : int
|
111 |
-
{
|
112 |
-
return $this->streamChunkSize;
|
113 |
-
}
|
114 |
-
/**
|
115 |
-
* {@inheritDoc}
|
116 |
*/
|
117 |
protected function write(array $record) : void
|
118 |
{
|
119 |
if (!\is_resource($this->stream)) {
|
120 |
-
$url
|
121 |
-
if (null === $url || '' === $url) {
|
122 |
throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().');
|
123 |
}
|
124 |
-
$this->createDir(
|
125 |
$this->errorMessage = null;
|
126 |
\set_error_handler([$this, 'customErrorHandler']);
|
127 |
-
$stream = \fopen($url, 'a');
|
128 |
if ($this->filePermission !== null) {
|
129 |
-
@\chmod($url, $this->filePermission);
|
130 |
}
|
131 |
\restore_error_handler();
|
132 |
-
if (!\is_resource($stream)) {
|
133 |
$this->stream = null;
|
134 |
-
throw new \UnexpectedValueException(\sprintf('The stream or file "%s" could not be opened in append mode: ' . $this->errorMessage, $url));
|
135 |
}
|
136 |
-
\stream_set_chunk_size($stream, $this->streamChunkSize);
|
137 |
-
$this->stream = $stream;
|
138 |
-
}
|
139 |
-
$stream = $this->stream;
|
140 |
-
if (!\is_resource($stream)) {
|
141 |
-
throw new \LogicException('No stream was opened yet');
|
142 |
}
|
143 |
if ($this->useLocking) {
|
144 |
// ignoring errors here, there's not much we can do about them
|
145 |
-
\flock($stream, \LOCK_EX);
|
146 |
}
|
147 |
-
$this->streamWrite($stream, $record);
|
148 |
if ($this->useLocking) {
|
149 |
-
\flock($stream, \LOCK_UN);
|
150 |
}
|
151 |
}
|
152 |
/**
|
153 |
* Write to stream
|
154 |
* @param resource $stream
|
155 |
* @param array $record
|
156 |
-
*
|
157 |
-
* @phpstan-param FormattedRecord $record
|
158 |
*/
|
159 |
protected function streamWrite($stream, array $record) : void
|
160 |
{
|
161 |
\fwrite($stream, (string) $record['formatted']);
|
162 |
}
|
163 |
-
private function customErrorHandler(
|
164 |
{
|
165 |
$this->errorMessage = \preg_replace('{^(fopen|mkdir)\\(.*?\\): }', '', $msg);
|
166 |
return \true;
|
@@ -176,13 +137,13 @@ class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
|
|
176 |
}
|
177 |
return null;
|
178 |
}
|
179 |
-
private function createDir(
|
180 |
{
|
181 |
// Do not try to create dir if it has already been tried.
|
182 |
if ($this->dirCreated) {
|
183 |
return;
|
184 |
}
|
185 |
-
$dir = $this->getDirFromStream($url);
|
186 |
if (null !== $dir && !\is_dir($dir)) {
|
187 |
$this->errorMessage = null;
|
188 |
\set_error_handler([$this, 'customErrorHandler']);
|
19 |
* Can be used to store into php://stderr, remote and local files, etc.
|
20 |
*
|
21 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
22 |
*/
|
23 |
class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
24 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
/** @var resource|null */
|
26 |
protected $stream;
|
27 |
+
protected $url;
|
28 |
+
/** @var string|null */
|
29 |
+
private $errorMessage;
|
|
|
|
|
30 |
protected $filePermission;
|
|
|
31 |
protected $useLocking;
|
32 |
+
private $dirCreated;
|
|
|
33 |
/**
|
34 |
* @param resource|string $stream If a missing path can't be created, an UnexpectedValueException will be thrown on first write
|
35 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
36 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
37 |
* @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
|
38 |
* @param bool $useLocking Try to lock log file before doing any writes
|
39 |
*
|
42 |
public function __construct($stream, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, ?int $filePermission = null, bool $useLocking = \false)
|
43 |
{
|
44 |
parent::__construct($level, $bubble);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
if (\is_resource($stream)) {
|
46 |
$this->stream = $stream;
|
|
|
47 |
} elseif (\is_string($stream)) {
|
48 |
$this->url = \GFPDF_Vendor\Monolog\Utils::canonicalizePath($stream);
|
49 |
} else {
|
53 |
$this->useLocking = $useLocking;
|
54 |
}
|
55 |
/**
|
56 |
+
* {@inheritdoc}
|
57 |
*/
|
58 |
public function close() : void
|
59 |
{
|
82 |
return $this->url;
|
83 |
}
|
84 |
/**
|
85 |
+
* {@inheritdoc}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
*/
|
87 |
protected function write(array $record) : void
|
88 |
{
|
89 |
if (!\is_resource($this->stream)) {
|
90 |
+
if (null === $this->url || '' === $this->url) {
|
|
|
91 |
throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().');
|
92 |
}
|
93 |
+
$this->createDir();
|
94 |
$this->errorMessage = null;
|
95 |
\set_error_handler([$this, 'customErrorHandler']);
|
96 |
+
$this->stream = \fopen($this->url, 'a');
|
97 |
if ($this->filePermission !== null) {
|
98 |
+
@\chmod($this->url, $this->filePermission);
|
99 |
}
|
100 |
\restore_error_handler();
|
101 |
+
if (!\is_resource($this->stream)) {
|
102 |
$this->stream = null;
|
103 |
+
throw new \UnexpectedValueException(\sprintf('The stream or file "%s" could not be opened in append mode: ' . $this->errorMessage, $this->url));
|
104 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
}
|
106 |
if ($this->useLocking) {
|
107 |
// ignoring errors here, there's not much we can do about them
|
108 |
+
\flock($this->stream, \LOCK_EX);
|
109 |
}
|
110 |
+
$this->streamWrite($this->stream, $record);
|
111 |
if ($this->useLocking) {
|
112 |
+
\flock($this->stream, \LOCK_UN);
|
113 |
}
|
114 |
}
|
115 |
/**
|
116 |
* Write to stream
|
117 |
* @param resource $stream
|
118 |
* @param array $record
|
|
|
|
|
119 |
*/
|
120 |
protected function streamWrite($stream, array $record) : void
|
121 |
{
|
122 |
\fwrite($stream, (string) $record['formatted']);
|
123 |
}
|
124 |
+
private function customErrorHandler($code, $msg) : bool
|
125 |
{
|
126 |
$this->errorMessage = \preg_replace('{^(fopen|mkdir)\\(.*?\\): }', '', $msg);
|
127 |
return \true;
|
137 |
}
|
138 |
return null;
|
139 |
}
|
140 |
+
private function createDir() : void
|
141 |
{
|
142 |
// Do not try to create dir if it has already been tried.
|
143 |
if ($this->dirCreated) {
|
144 |
return;
|
145 |
}
|
146 |
+
$dir = $this->getDirFromStream($this->url);
|
147 |
if (null !== $dir && !\is_dir($dir)) {
|
148 |
$this->errorMessage = null;
|
149 |
\set_error_handler([$this, 'customErrorHandler']);
|
vendor_prefixed/monolog/src/Monolog/Handler/SwiftMailerHandler.php
CHANGED
@@ -20,20 +20,18 @@ use GFPDF_Vendor\Swift;
|
|
20 |
* SwiftMailerHandler uses Swift_Mailer to send the emails
|
21 |
*
|
22 |
* @author Gyula Sallai
|
23 |
-
*
|
24 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
25 |
*/
|
26 |
class SwiftMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
27 |
{
|
28 |
-
/** @var \Swift_Mailer */
|
29 |
protected $mailer;
|
30 |
-
/** @var Swift_Message|callable(string, Record[]): Swift_Message */
|
31 |
private $messageTemplate;
|
32 |
/**
|
33 |
-
* @psalm-param Swift_Message|callable(string,
|
34 |
*
|
35 |
* @param \Swift_Mailer $mailer The mailer to use
|
36 |
* @param callable|Swift_Message $message An example message for real messages, only the body will be replaced
|
|
|
|
|
37 |
*/
|
38 |
public function __construct(\GFPDF_Vendor\Swift_Mailer $mailer, $message, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
39 |
{
|
@@ -42,7 +40,7 @@ class SwiftMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
42 |
$this->messageTemplate = $message;
|
43 |
}
|
44 |
/**
|
45 |
-
* {@
|
46 |
*/
|
47 |
protected function send(string $content, array $records) : void
|
48 |
{
|
@@ -63,8 +61,6 @@ class SwiftMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
|
63 |
* @param string $content formatted email body to be sent
|
64 |
* @param array $records Log records that formed the content
|
65 |
* @return Swift_Message
|
66 |
-
*
|
67 |
-
* @phpstan-param Record[] $records
|
68 |
*/
|
69 |
protected function buildMessage(string $content, array $records) : \GFPDF_Vendor\Swift_Message
|
70 |
{
|
20 |
* SwiftMailerHandler uses Swift_Mailer to send the emails
|
21 |
*
|
22 |
* @author Gyula Sallai
|
|
|
|
|
23 |
*/
|
24 |
class SwiftMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
|
25 |
{
|
|
|
26 |
protected $mailer;
|
|
|
27 |
private $messageTemplate;
|
28 |
/**
|
29 |
+
* @psalm-param Swift_Message|callable(string, array): Swift_Message $message
|
30 |
*
|
31 |
* @param \Swift_Mailer $mailer The mailer to use
|
32 |
* @param callable|Swift_Message $message An example message for real messages, only the body will be replaced
|
33 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
34 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
35 |
*/
|
36 |
public function __construct(\GFPDF_Vendor\Swift_Mailer $mailer, $message, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
|
37 |
{
|
40 |
$this->messageTemplate = $message;
|
41 |
}
|
42 |
/**
|
43 |
+
* {@inheritdoc}
|
44 |
*/
|
45 |
protected function send(string $content, array $records) : void
|
46 |
{
|
61 |
* @param string $content formatted email body to be sent
|
62 |
* @param array $records Log records that formed the content
|
63 |
* @return Swift_Message
|
|
|
|
|
64 |
*/
|
65 |
protected function buildMessage(string $content, array $records) : \GFPDF_Vendor\Swift_Message
|
66 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/SyslogHandler.php
CHANGED
@@ -27,13 +27,13 @@ use GFPDF_Vendor\Monolog\Logger;
|
|
27 |
*/
|
28 |
class SyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandler
|
29 |
{
|
30 |
-
/** @var string */
|
31 |
protected $ident;
|
32 |
-
/** @var int */
|
33 |
protected $logopts;
|
34 |
/**
|
35 |
* @param string $ident
|
36 |
* @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
|
|
|
|
|
37 |
* @param int $logopts Option flags for the openlog() call, defaults to LOG_PID
|
38 |
*/
|
39 |
public function __construct(string $ident, $facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, int $logopts = \LOG_PID)
|
@@ -43,14 +43,14 @@ class SyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandler
|
|
43 |
$this->logopts = $logopts;
|
44 |
}
|
45 |
/**
|
46 |
-
* {@
|
47 |
*/
|
48 |
public function close() : void
|
49 |
{
|
50 |
\closelog();
|
51 |
}
|
52 |
/**
|
53 |
-
* {@
|
54 |
*/
|
55 |
protected function write(array $record) : void
|
56 |
{
|
27 |
*/
|
28 |
class SyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandler
|
29 |
{
|
|
|
30 |
protected $ident;
|
|
|
31 |
protected $logopts;
|
32 |
/**
|
33 |
* @param string $ident
|
34 |
* @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
|
35 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
36 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
37 |
* @param int $logopts Option flags for the openlog() call, defaults to LOG_PID
|
38 |
*/
|
39 |
public function __construct(string $ident, $facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, int $logopts = \LOG_PID)
|
43 |
$this->logopts = $logopts;
|
44 |
}
|
45 |
/**
|
46 |
+
* {@inheritdoc}
|
47 |
*/
|
48 |
public function close() : void
|
49 |
{
|
50 |
\closelog();
|
51 |
}
|
52 |
/**
|
53 |
+
* {@inheritdoc}
|
54 |
*/
|
55 |
protected function write(array $record) : void
|
56 |
{
|
vendor_prefixed/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php
CHANGED
@@ -35,11 +35,6 @@ class UdpSocket
|
|
35 |
}
|
36 |
$this->socket = \socket_create($domain, \SOCK_DGRAM, $protocol) ?: null;
|
37 |
}
|
38 |
-
/**
|
39 |
-
* @param string $line
|
40 |
-
* @param string $header
|
41 |
-
* @return void
|
42 |
-
*/
|
43 |
public function write($line, $header = "")
|
44 |
{
|
45 |
$this->send($this->assembleMessage($line, $header));
|
35 |
}
|
36 |
$this->socket = \socket_create($domain, \SOCK_DGRAM, $protocol) ?: null;
|
37 |
}
|
|
|
|
|
|
|
|
|
|
|
38 |
public function write($line, $header = "")
|
39 |
{
|
40 |
$this->send($this->assembleMessage($line, $header));
|
vendor_prefixed/monolog/src/Monolog/Handler/SyslogUdpHandler.php
CHANGED
@@ -14,7 +14,6 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
14 |
use DateTimeInterface;
|
15 |
use GFPDF_Vendor\Monolog\Logger;
|
16 |
use GFPDF_Vendor\Monolog\Handler\SyslogUdp\UdpSocket;
|
17 |
-
use GFPDF_Vendor\Monolog\Utils;
|
18 |
/**
|
19 |
* A Handler for logging to a remote syslogd server.
|
20 |
*
|
@@ -26,30 +25,21 @@ class SyslogUdpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandl
|
|
26 |
const RFC3164 = 0;
|
27 |
const RFC5424 = 1;
|
28 |
const RFC5424e = 2;
|
29 |
-
/** @var array<self::RFC*, string> */
|
30 |
private $dateFormats = array(self::RFC3164 => 'M d H:i:s', self::RFC5424 => \DateTime::RFC3339, self::RFC5424e => \DateTime::RFC3339_EXTENDED);
|
31 |
-
/** @var UdpSocket */
|
32 |
protected $socket;
|
33 |
-
/** @var string */
|
34 |
protected $ident;
|
35 |
-
/** @var self::RFC* */
|
36 |
protected $rfc;
|
37 |
/**
|
38 |
* @param string $host Either IP/hostname or a path to a unix socket (port must be 0 then)
|
39 |
* @param int $port Port number, or 0 if $host is a unix socket
|
40 |
* @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
|
|
|
41 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
42 |
* @param string $ident Program name or tag for each log message.
|
43 |
* @param int $rfc RFC to format the message for.
|
44 |
-
* @throws MissingExtensionException
|
45 |
-
*
|
46 |
-
* @phpstan-param self::RFC* $rfc
|
47 |
*/
|
48 |
public function __construct(string $host, int $port = 514, $facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, string $ident = 'php', int $rfc = self::RFC5424)
|
49 |
{
|
50 |
-
if (!\extension_loaded('sockets')) {
|
51 |
-
throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The sockets extension is required to use the SyslogUdpHandler');
|
52 |
-
}
|
53 |
parent::__construct($facility, $level, $bubble);
|
54 |
$this->ident = $ident;
|
55 |
$this->rfc = $rfc;
|
@@ -67,21 +57,12 @@ class SyslogUdpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandl
|
|
67 |
{
|
68 |
$this->socket->close();
|
69 |
}
|
70 |
-
/**
|
71 |
-
* @param string|string[] $message
|
72 |
-
* @return string[]
|
73 |
-
*/
|
74 |
private function splitMessageIntoLines($message) : array
|
75 |
{
|
76 |
if (\is_array($message)) {
|
77 |
$message = \implode("\n", $message);
|
78 |
}
|
79 |
-
|
80 |
-
if (\false === $lines) {
|
81 |
-
$pcreErrorCode = \preg_last_error();
|
82 |
-
throw new \RuntimeException('Could not preg_split: ' . $pcreErrorCode . ' / ' . \GFPDF_Vendor\Monolog\Utils::pcreLastErrorMessage($pcreErrorCode));
|
83 |
-
}
|
84 |
-
return $lines;
|
85 |
}
|
86 |
/**
|
87 |
* Make common syslog header (see rfc5424 or rfc3164)
|
@@ -95,15 +76,15 @@ class SyslogUdpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandl
|
|
95 |
if (!($hostname = \gethostname())) {
|
96 |
$hostname = '-';
|
97 |
}
|
|
|
|
|
|
|
|
|
98 |
if ($this->rfc === self::RFC3164) {
|
99 |
-
// see https://github.com/phpstan/phpstan/issues/5348
|
100 |
-
// @phpstan-ignore-next-line
|
101 |
-
$dateNew = $datetime->setTimezone(new \DateTimeZone('UTC'));
|
102 |
-
$date = $dateNew->format($this->dateFormats[$this->rfc]);
|
103 |
return "<{$priority}>" . $date . " " . $hostname . " " . $this->ident . "[" . $pid . "]: ";
|
|
|
|
|
104 |
}
|
105 |
-
$date = $datetime->format($this->dateFormats[$this->rfc]);
|
106 |
-
return "<{$priority}>1 " . $date . " " . $hostname . " " . $this->ident . " " . $pid . " - - ";
|
107 |
}
|
108 |
/**
|
109 |
* Inject your own socket, mainly used for testing
|
14 |
use DateTimeInterface;
|
15 |
use GFPDF_Vendor\Monolog\Logger;
|
16 |
use GFPDF_Vendor\Monolog\Handler\SyslogUdp\UdpSocket;
|
|
|
17 |
/**
|
18 |
* A Handler for logging to a remote syslogd server.
|
19 |
*
|
25 |
const RFC3164 = 0;
|
26 |
const RFC5424 = 1;
|
27 |
const RFC5424e = 2;
|
|
|
28 |
private $dateFormats = array(self::RFC3164 => 'M d H:i:s', self::RFC5424 => \DateTime::RFC3339, self::RFC5424e => \DateTime::RFC3339_EXTENDED);
|
|
|
29 |
protected $socket;
|
|
|
30 |
protected $ident;
|
|
|
31 |
protected $rfc;
|
32 |
/**
|
33 |
* @param string $host Either IP/hostname or a path to a unix socket (port must be 0 then)
|
34 |
* @param int $port Port number, or 0 if $host is a unix socket
|
35 |
* @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
|
36 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered
|
37 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
38 |
* @param string $ident Program name or tag for each log message.
|
39 |
* @param int $rfc RFC to format the message for.
|
|
|
|
|
|
|
40 |
*/
|
41 |
public function __construct(string $host, int $port = 514, $facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, string $ident = 'php', int $rfc = self::RFC5424)
|
42 |
{
|
|
|
|
|
|
|
43 |
parent::__construct($facility, $level, $bubble);
|
44 |
$this->ident = $ident;
|
45 |
$this->rfc = $rfc;
|
57 |
{
|
58 |
$this->socket->close();
|
59 |
}
|
|
|
|
|
|
|
|
|
60 |
private function splitMessageIntoLines($message) : array
|
61 |
{
|
62 |
if (\is_array($message)) {
|
63 |
$message = \implode("\n", $message);
|
64 |
}
|
65 |
+
return \preg_split('/$\\R?^/m', (string) $message, -1, \PREG_SPLIT_NO_EMPTY);
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
67 |
/**
|
68 |
* Make common syslog header (see rfc5424 or rfc3164)
|
76 |
if (!($hostname = \gethostname())) {
|
77 |
$hostname = '-';
|
78 |
}
|
79 |
+
if ($this->rfc === self::RFC3164 && ($datetime instanceof \DateTimeImmutable || $datetime instanceof \DateTime)) {
|
80 |
+
$datetime->setTimezone(new \DateTimeZone('UTC'));
|
81 |
+
}
|
82 |
+
$date = $datetime->format($this->dateFormats[$this->rfc]);
|
83 |
if ($this->rfc === self::RFC3164) {
|
|
|
|
|
|
|
|
|
84 |
return "<{$priority}>" . $date . " " . $hostname . " " . $this->ident . "[" . $pid . "]: ";
|
85 |
+
} else {
|
86 |
+
return "<{$priority}>1 " . $date . " " . $hostname . " " . $this->ident . " " . $pid . " - - ";
|
87 |
}
|
|
|
|
|
88 |
}
|
89 |
/**
|
90 |
* Inject your own socket, mainly used for testing
|
vendor_prefixed/monolog/src/Monolog/Handler/TelegramBotHandler.php
CHANGED
@@ -26,14 +26,12 @@ use GFPDF_Vendor\Monolog\Logger;
|
|
26 |
* @link https://core.telegram.org/bots/api
|
27 |
*
|
28 |
* @author Mazur Alexandr <alexandrmazur96@gmail.com>
|
29 |
-
*
|
30 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
31 |
*/
|
32 |
class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
33 |
{
|
34 |
private const BOT_API = 'https://api.telegram.org/bot';
|
35 |
/**
|
36 |
-
* The available values of parseMode according to the Telegram api documentation
|
37 |
*/
|
38 |
private const AVAILABLE_PARSE_MODES = ['HTML', 'MarkdownV2', 'Markdown'];
|
39 |
/**
|
@@ -52,28 +50,26 @@ class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
|
|
52 |
* The kind of formatting that is used for the message.
|
53 |
* See available options at https://core.telegram.org/bots/api#formatting-options
|
54 |
* or in AVAILABLE_PARSE_MODES
|
55 |
-
* @var
|
56 |
*/
|
57 |
private $parseMode;
|
58 |
/**
|
59 |
* Disables link previews for links in the message.
|
60 |
-
* @var
|
61 |
*/
|
62 |
private $disableWebPagePreview;
|
63 |
/**
|
64 |
* Sends the message silently. Users will receive a notification with no sound.
|
65 |
-
* @var
|
66 |
*/
|
67 |
private $disableNotification;
|
68 |
/**
|
69 |
* @param string $apiKey Telegram bot access token provided by BotFather
|
70 |
* @param string $channel Telegram channel name
|
|
|
71 |
*/
|
72 |
public function __construct(string $apiKey, string $channel, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, string $parseMode = null, bool $disableWebPagePreview = null, bool $disableNotification = null)
|
73 |
{
|
74 |
-
if (!\extension_loaded('curl')) {
|
75 |
-
throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is needed to use the TelegramBotHandler');
|
76 |
-
}
|
77 |
parent::__construct($level, $bubble);
|
78 |
$this->apiKey = $apiKey;
|
79 |
$this->channel = $channel;
|
@@ -100,18 +96,16 @@ class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
|
|
100 |
return $this;
|
101 |
}
|
102 |
/**
|
103 |
-
* {@
|
104 |
*/
|
105 |
public function handleBatch(array $records) : void
|
106 |
{
|
107 |
-
/** @var Record[] $messages */
|
108 |
$messages = [];
|
109 |
foreach ($records as $record) {
|
110 |
if (!$this->isHandling($record)) {
|
111 |
continue;
|
112 |
}
|
113 |
if ($this->processors) {
|
114 |
-
/** @var Record $record */
|
115 |
$record = $this->processRecord($record);
|
116 |
}
|
117 |
$messages[] = $record;
|
@@ -140,9 +134,6 @@ class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
|
|
140 |
\curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, \true);
|
141 |
\curl_setopt($ch, \CURLOPT_POSTFIELDS, \http_build_query(['text' => $message, 'chat_id' => $this->channel, 'parse_mode' => $this->parseMode, 'disable_web_page_preview' => $this->disableWebPagePreview, 'disable_notification' => $this->disableNotification]));
|
142 |
$result = \GFPDF_Vendor\Monolog\Handler\Curl\Util::execute($ch);
|
143 |
-
if (!\is_string($result)) {
|
144 |
-
throw new \RuntimeException('Telegram API error. Description: No response');
|
145 |
-
}
|
146 |
$result = \json_decode($result, \true);
|
147 |
if ($result['ok'] === \false) {
|
148 |
throw new \RuntimeException('Telegram API error. Description: ' . $result['description']);
|
26 |
* @link https://core.telegram.org/bots/api
|
27 |
*
|
28 |
* @author Mazur Alexandr <alexandrmazur96@gmail.com>
|
|
|
|
|
29 |
*/
|
30 |
class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
31 |
{
|
32 |
private const BOT_API = 'https://api.telegram.org/bot';
|
33 |
/**
|
34 |
+
* @var array AVAILABLE_PARSE_MODES The available values of parseMode according to the Telegram api documentation
|
35 |
*/
|
36 |
private const AVAILABLE_PARSE_MODES = ['HTML', 'MarkdownV2', 'Markdown'];
|
37 |
/**
|
50 |
* The kind of formatting that is used for the message.
|
51 |
* See available options at https://core.telegram.org/bots/api#formatting-options
|
52 |
* or in AVAILABLE_PARSE_MODES
|
53 |
+
* @var string|null
|
54 |
*/
|
55 |
private $parseMode;
|
56 |
/**
|
57 |
* Disables link previews for links in the message.
|
58 |
+
* @var bool|null
|
59 |
*/
|
60 |
private $disableWebPagePreview;
|
61 |
/**
|
62 |
* Sends the message silently. Users will receive a notification with no sound.
|
63 |
+
* @var bool|null
|
64 |
*/
|
65 |
private $disableNotification;
|
66 |
/**
|
67 |
* @param string $apiKey Telegram bot access token provided by BotFather
|
68 |
* @param string $channel Telegram channel name
|
69 |
+
* @inheritDoc
|
70 |
*/
|
71 |
public function __construct(string $apiKey, string $channel, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, string $parseMode = null, bool $disableWebPagePreview = null, bool $disableNotification = null)
|
72 |
{
|
|
|
|
|
|
|
73 |
parent::__construct($level, $bubble);
|
74 |
$this->apiKey = $apiKey;
|
75 |
$this->channel = $channel;
|
96 |
return $this;
|
97 |
}
|
98 |
/**
|
99 |
+
* {@inheritdoc}
|
100 |
*/
|
101 |
public function handleBatch(array $records) : void
|
102 |
{
|
|
|
103 |
$messages = [];
|
104 |
foreach ($records as $record) {
|
105 |
if (!$this->isHandling($record)) {
|
106 |
continue;
|
107 |
}
|
108 |
if ($this->processors) {
|
|
|
109 |
$record = $this->processRecord($record);
|
110 |
}
|
111 |
$messages[] = $record;
|
134 |
\curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, \true);
|
135 |
\curl_setopt($ch, \CURLOPT_POSTFIELDS, \http_build_query(['text' => $message, 'chat_id' => $this->channel, 'parse_mode' => $this->parseMode, 'disable_web_page_preview' => $this->disableWebPagePreview, 'disable_notification' => $this->disableNotification]));
|
136 |
$result = \GFPDF_Vendor\Monolog\Handler\Curl\Util::execute($ch);
|
|
|
|
|
|
|
137 |
$result = \json_decode($result, \true);
|
138 |
if ($result['ok'] === \false) {
|
139 |
throw new \RuntimeException('Telegram API error. Description: ' . $result['description']);
|
vendor_prefixed/monolog/src/Monolog/Handler/TestHandler.php
CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
-
use Psr\Log\LogLevel;
|
16 |
/**
|
17 |
* Used for testing purposes.
|
18 |
*
|
@@ -64,56 +63,33 @@ use Psr\Log\LogLevel;
|
|
64 |
* @method bool hasNoticeThatPasses($message)
|
65 |
* @method bool hasInfoThatPasses($message)
|
66 |
* @method bool hasDebugThatPasses($message)
|
67 |
-
*
|
68 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
69 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
70 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
71 |
*/
|
72 |
class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
73 |
{
|
74 |
-
/** @var Record[] */
|
75 |
protected $records = [];
|
76 |
-
/** @var array<Level, Record[]> */
|
77 |
protected $recordsByLevel = [];
|
78 |
-
/** @var bool */
|
79 |
private $skipReset = \false;
|
80 |
-
/**
|
81 |
-
* @return array
|
82 |
-
*
|
83 |
-
* @phpstan-return Record[]
|
84 |
-
*/
|
85 |
public function getRecords()
|
86 |
{
|
87 |
return $this->records;
|
88 |
}
|
89 |
-
/**
|
90 |
-
* @return void
|
91 |
-
*/
|
92 |
public function clear()
|
93 |
{
|
94 |
$this->records = [];
|
95 |
$this->recordsByLevel = [];
|
96 |
}
|
97 |
-
/**
|
98 |
-
* @return void
|
99 |
-
*/
|
100 |
public function reset()
|
101 |
{
|
102 |
if (!$this->skipReset) {
|
103 |
$this->clear();
|
104 |
}
|
105 |
}
|
106 |
-
/**
|
107 |
-
* @return void
|
108 |
-
*/
|
109 |
public function setSkipReset(bool $skipReset)
|
110 |
{
|
111 |
$this->skipReset = $skipReset;
|
112 |
}
|
113 |
/**
|
114 |
* @param string|int $level Logging level value or name
|
115 |
-
*
|
116 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
117 |
*/
|
118 |
public function hasRecords($level) : bool
|
119 |
{
|
@@ -122,9 +98,6 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
122 |
/**
|
123 |
* @param string|array $record Either a message string or an array containing message and optionally context keys that will be checked against all records
|
124 |
* @param string|int $level Logging level value or name
|
125 |
-
*
|
126 |
-
* @phpstan-param array{message: string, context?: mixed[]}|string $record
|
127 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
128 |
*/
|
129 |
public function hasRecord($record, $level) : bool
|
130 |
{
|
@@ -143,8 +116,6 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
143 |
}
|
144 |
/**
|
145 |
* @param string|int $level Logging level value or name
|
146 |
-
*
|
147 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
148 |
*/
|
149 |
public function hasRecordThatContains(string $message, $level) : bool
|
150 |
{
|
@@ -154,8 +125,6 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
154 |
}
|
155 |
/**
|
156 |
* @param string|int $level Logging level value or name
|
157 |
-
*
|
158 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
159 |
*/
|
160 |
public function hasRecordThatMatches(string $regex, $level) : bool
|
161 |
{
|
@@ -164,11 +133,10 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
164 |
}, $level);
|
165 |
}
|
166 |
/**
|
167 |
-
* @param
|
168 |
-
* @return bool
|
169 |
*
|
170 |
-
* @
|
171 |
-
* @
|
172 |
*/
|
173 |
public function hasRecordThatPasses(callable $predicate, $level)
|
174 |
{
|
@@ -184,27 +152,21 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
|
|
184 |
return \false;
|
185 |
}
|
186 |
/**
|
187 |
-
* {@
|
188 |
*/
|
189 |
protected function write(array $record) : void
|
190 |
{
|
191 |
$this->recordsByLevel[$record['level']][] = $record;
|
192 |
$this->records[] = $record;
|
193 |
}
|
194 |
-
/**
|
195 |
-
* @param string $method
|
196 |
-
* @param mixed[] $args
|
197 |
-
* @return bool
|
198 |
-
*/
|
199 |
public function __call($method, $args)
|
200 |
{
|
201 |
if (\preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) {
|
202 |
$genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3];
|
203 |
$level = \constant('Monolog\\Logger::' . \strtoupper($matches[2]));
|
204 |
-
|
205 |
-
if (\is_callable($callback)) {
|
206 |
$args[] = $level;
|
207 |
-
return \call_user_func_array($
|
208 |
}
|
209 |
}
|
210 |
throw new \BadMethodCallException('Call to undefined method ' . \get_class($this) . '::' . $method . '()');
|
12 |
namespace GFPDF_Vendor\Monolog\Handler;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
|
|
15 |
/**
|
16 |
* Used for testing purposes.
|
17 |
*
|
63 |
* @method bool hasNoticeThatPasses($message)
|
64 |
* @method bool hasInfoThatPasses($message)
|
65 |
* @method bool hasDebugThatPasses($message)
|
|
|
|
|
|
|
|
|
66 |
*/
|
67 |
class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
68 |
{
|
|
|
69 |
protected $records = [];
|
|
|
70 |
protected $recordsByLevel = [];
|
|
|
71 |
private $skipReset = \false;
|
|
|
|
|
|
|
|
|
|
|
72 |
public function getRecords()
|
73 |
{
|
74 |
return $this->records;
|
75 |
}
|
|
|
|
|
|
|
76 |
public function clear()
|
77 |
{
|
78 |
$this->records = [];
|
79 |
$this->recordsByLevel = [];
|
80 |
}
|
|
|
|
|
|
|
81 |
public function reset()
|
82 |
{
|
83 |
if (!$this->skipReset) {
|
84 |
$this->clear();
|
85 |
}
|
86 |
}
|
|
|
|
|
|
|
87 |
public function setSkipReset(bool $skipReset)
|
88 |
{
|
89 |
$this->skipReset = $skipReset;
|
90 |
}
|
91 |
/**
|
92 |
* @param string|int $level Logging level value or name
|
|
|
|
|
93 |
*/
|
94 |
public function hasRecords($level) : bool
|
95 |
{
|
98 |
/**
|
99 |
* @param string|array $record Either a message string or an array containing message and optionally context keys that will be checked against all records
|
100 |
* @param string|int $level Logging level value or name
|
|
|
|
|
|
|
101 |
*/
|
102 |
public function hasRecord($record, $level) : bool
|
103 |
{
|
116 |
}
|
117 |
/**
|
118 |
* @param string|int $level Logging level value or name
|
|
|
|
|
119 |
*/
|
120 |
public function hasRecordThatContains(string $message, $level) : bool
|
121 |
{
|
125 |
}
|
126 |
/**
|
127 |
* @param string|int $level Logging level value or name
|
|
|
|
|
128 |
*/
|
129 |
public function hasRecordThatMatches(string $regex, $level) : bool
|
130 |
{
|
133 |
}, $level);
|
134 |
}
|
135 |
/**
|
136 |
+
* @psalm-param callable(array, int): mixed $predicate
|
|
|
137 |
*
|
138 |
+
* @param string|int $level Logging level value or name
|
139 |
+
* @return bool
|
140 |
*/
|
141 |
public function hasRecordThatPasses(callable $predicate, $level)
|
142 |
{
|
152 |
return \false;
|
153 |
}
|
154 |
/**
|
155 |
+
* {@inheritdoc}
|
156 |
*/
|
157 |
protected function write(array $record) : void
|
158 |
{
|
159 |
$this->recordsByLevel[$record['level']][] = $record;
|
160 |
$this->records[] = $record;
|
161 |
}
|
|
|
|
|
|
|
|
|
|
|
162 |
public function __call($method, $args)
|
163 |
{
|
164 |
if (\preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) {
|
165 |
$genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3];
|
166 |
$level = \constant('Monolog\\Logger::' . \strtoupper($matches[2]));
|
167 |
+
if (\method_exists($this, $genericMethod)) {
|
|
|
168 |
$args[] = $level;
|
169 |
+
return \call_user_func_array([$this, $genericMethod], $args);
|
170 |
}
|
171 |
}
|
172 |
throw new \BadMethodCallException('Call to undefined method ' . \get_class($this) . '::' . $method . '()');
|
vendor_prefixed/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php
CHANGED
@@ -16,18 +16,15 @@ namespace GFPDF_Vendor\Monolog\Handler;
|
|
16 |
* and continuing through to give every handler a chance to succeed.
|
17 |
*
|
18 |
* @author Craig D'Amelio <craig@damelio.ca>
|
19 |
-
*
|
20 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
21 |
*/
|
22 |
class WhatFailureGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
|
23 |
{
|
24 |
/**
|
25 |
-
* {@
|
26 |
*/
|
27 |
public function handle(array $record) : bool
|
28 |
{
|
29 |
if ($this->processors) {
|
30 |
-
/** @var Record $record */
|
31 |
$record = $this->processRecord($record);
|
32 |
}
|
33 |
foreach ($this->handlers as $handler) {
|
@@ -40,7 +37,7 @@ class WhatFailureGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
|
|
40 |
return \false === $this->bubble;
|
41 |
}
|
42 |
/**
|
43 |
-
* {@
|
44 |
*/
|
45 |
public function handleBatch(array $records) : void
|
46 |
{
|
@@ -49,7 +46,6 @@ class WhatFailureGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
|
|
49 |
foreach ($records as $record) {
|
50 |
$processed[] = $this->processRecord($record);
|
51 |
}
|
52 |
-
/** @var Record[] $records */
|
53 |
$records = $processed;
|
54 |
}
|
55 |
foreach ($this->handlers as $handler) {
|
16 |
* and continuing through to give every handler a chance to succeed.
|
17 |
*
|
18 |
* @author Craig D'Amelio <craig@damelio.ca>
|
|
|
|
|
19 |
*/
|
20 |
class WhatFailureGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
|
21 |
{
|
22 |
/**
|
23 |
+
* {@inheritdoc}
|
24 |
*/
|
25 |
public function handle(array $record) : bool
|
26 |
{
|
27 |
if ($this->processors) {
|
|
|
28 |
$record = $this->processRecord($record);
|
29 |
}
|
30 |
foreach ($this->handlers as $handler) {
|
37 |
return \false === $this->bubble;
|
38 |
}
|
39 |
/**
|
40 |
+
* {@inheritdoc}
|
41 |
*/
|
42 |
public function handleBatch(array $records) : void
|
43 |
{
|
46 |
foreach ($records as $record) {
|
47 |
$processed[] = $this->processRecord($record);
|
48 |
}
|
|
|
49 |
$records = $processed;
|
50 |
}
|
51 |
foreach ($this->handlers as $handler) {
|
vendor_prefixed/monolog/src/Monolog/Handler/ZendMonitorHandler.php
CHANGED
@@ -19,18 +19,18 @@ use GFPDF_Vendor\Monolog\Logger;
|
|
19 |
*
|
20 |
* @author Christian Bergau <cbergau86@gmail.com>
|
21 |
* @author Jason Davis <happydude@jasondavis.net>
|
22 |
-
*
|
23 |
-
* @phpstan-import-type FormattedRecord from AbstractProcessingHandler
|
24 |
*/
|
25 |
class ZendMonitorHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
26 |
{
|
27 |
/**
|
28 |
* Monolog level / ZendMonitor Custom Event priority map
|
29 |
*
|
30 |
-
* @var array
|
31 |
*/
|
32 |
protected $levelMap = [];
|
33 |
/**
|
|
|
|
|
34 |
* @throws MissingExtensionException
|
35 |
*/
|
36 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
@@ -43,7 +43,7 @@ class ZendMonitorHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
|
|
43 |
parent::__construct($level, $bubble);
|
44 |
}
|
45 |
/**
|
46 |
-
* {@
|
47 |
*/
|
48 |
protected function write(array $record) : void
|
49 |
{
|
@@ -55,23 +55,18 @@ class ZendMonitorHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
|
|
55 |
* @param string $message Text displayed in "Error String"
|
56 |
* @param array $formatted Displayed in Custom Variables tab
|
57 |
* @param int $severity Set the event severity level (-1,0,1)
|
58 |
-
*
|
59 |
-
* @phpstan-param FormattedRecord $formatted
|
60 |
*/
|
61 |
protected function writeZendMonitorCustomEvent(string $type, string $message, array $formatted, int $severity) : void
|
62 |
{
|
63 |
zend_monitor_custom_event($type, $message, $formatted, $severity);
|
64 |
}
|
65 |
/**
|
66 |
-
* {@
|
67 |
*/
|
68 |
public function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
69 |
{
|
70 |
return new \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter();
|
71 |
}
|
72 |
-
/**
|
73 |
-
* @return array<int, int>
|
74 |
-
*/
|
75 |
public function getLevelMap() : array
|
76 |
{
|
77 |
return $this->levelMap;
|
19 |
*
|
20 |
* @author Christian Bergau <cbergau86@gmail.com>
|
21 |
* @author Jason Davis <happydude@jasondavis.net>
|
|
|
|
|
22 |
*/
|
23 |
class ZendMonitorHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
|
24 |
{
|
25 |
/**
|
26 |
* Monolog level / ZendMonitor Custom Event priority map
|
27 |
*
|
28 |
+
* @var array
|
29 |
*/
|
30 |
protected $levelMap = [];
|
31 |
/**
|
32 |
+
* @param string|int $level The minimum logging level at which this handler will be triggered.
|
33 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not.
|
34 |
* @throws MissingExtensionException
|
35 |
*/
|
36 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
|
43 |
parent::__construct($level, $bubble);
|
44 |
}
|
45 |
/**
|
46 |
+
* {@inheritdoc}
|
47 |
*/
|
48 |
protected function write(array $record) : void
|
49 |
{
|
55 |
* @param string $message Text displayed in "Error String"
|
56 |
* @param array $formatted Displayed in Custom Variables tab
|
57 |
* @param int $severity Set the event severity level (-1,0,1)
|
|
|
|
|
58 |
*/
|
59 |
protected function writeZendMonitorCustomEvent(string $type, string $message, array $formatted, int $severity) : void
|
60 |
{
|
61 |
zend_monitor_custom_event($type, $message, $formatted, $severity);
|
62 |
}
|
63 |
/**
|
64 |
+
* {@inheritdoc}
|
65 |
*/
|
66 |
public function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
|
67 |
{
|
68 |
return new \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter();
|
69 |
}
|
|
|
|
|
|
|
70 |
public function getLevelMap() : array
|
71 |
{
|
72 |
return $this->levelMap;
|
vendor_prefixed/monolog/src/Monolog/Logger.php
CHANGED
@@ -15,9 +15,7 @@ use DateTimeZone;
|
|
15 |
use GFPDF_Vendor\Monolog\Handler\HandlerInterface;
|
16 |
use Psr\Log\LoggerInterface;
|
17 |
use Psr\Log\InvalidArgumentException;
|
18 |
-
use Psr\Log\LogLevel;
|
19 |
use Throwable;
|
20 |
-
use Stringable;
|
21 |
/**
|
22 |
* Monolog log channel
|
23 |
*
|
@@ -25,10 +23,6 @@ use Stringable;
|
|
25 |
* and uses them to store records that are added to it.
|
26 |
*
|
27 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
28 |
-
*
|
29 |
-
* @phpstan-type Level Logger::DEBUG|Logger::INFO|Logger::NOTICE|Logger::WARNING|Logger::ERROR|Logger::CRITICAL|Logger::ALERT|Logger::EMERGENCY
|
30 |
-
* @phpstan-type LevelName 'DEBUG'|'INFO'|'NOTICE'|'WARNING'|'ERROR'|'CRITICAL'|'ALERT'|'EMERGENCY'
|
31 |
-
* @phpstan-type Record array{message: string, context: mixed[], level: Level, level_name: LevelName, channel: string, datetime: \DateTimeImmutable, extra: mixed[]}
|
32 |
*/
|
33 |
class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\ResettableInterface
|
34 |
{
|
@@ -87,8 +81,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
87 |
* This is a static variable and not a constant to serve as an extension point for custom levels
|
88 |
*
|
89 |
* @var array<int, string> $levels Logging levels with the levels as key
|
90 |
-
*
|
91 |
-
* @phpstan-var array<Level, LevelName> $levels Logging levels with the levels as key
|
92 |
*/
|
93 |
protected static $levels = [self::DEBUG => 'DEBUG', self::INFO => 'INFO', self::NOTICE => 'NOTICE', self::WARNING => 'WARNING', self::ERROR => 'ERROR', self::CRITICAL => 'CRITICAL', self::ALERT => 'ALERT', self::EMERGENCY => 'EMERGENCY'];
|
94 |
/**
|
@@ -241,8 +233,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
241 |
* @param string $message The log message
|
242 |
* @param mixed[] $context The log context
|
243 |
* @return bool Whether the record has been processed
|
244 |
-
*
|
245 |
-
* @phpstan-param Level $level
|
246 |
*/
|
247 |
public function addRecord(int $level, string $message, array $context = []) : bool
|
248 |
{
|
@@ -320,7 +310,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
320 |
* Gets all supported logging levels.
|
321 |
*
|
322 |
* @return array<string, int> Assoc array with human-readable level names => level codes.
|
323 |
-
* @phpstan-return array<LevelName, Level>
|
324 |
*/
|
325 |
public static function getLevels() : array
|
326 |
{
|
@@ -330,9 +319,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
330 |
* Gets the name of the logging level.
|
331 |
*
|
332 |
* @throws \Psr\Log\InvalidArgumentException If level is not defined
|
333 |
-
*
|
334 |
-
* @phpstan-param Level $level
|
335 |
-
* @phpstan-return LevelName
|
336 |
*/
|
337 |
public static function getLevelName(int $level) : string
|
338 |
{
|
@@ -346,15 +332,11 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
346 |
*
|
347 |
* @param string|int $level Level number (monolog) or name (PSR-3)
|
348 |
* @throws \Psr\Log\InvalidArgumentException If level is not defined
|
349 |
-
*
|
350 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
351 |
-
* @phpstan-return Level
|
352 |
*/
|
353 |
public static function toMonologLevel($level) : int
|
354 |
{
|
355 |
if (\is_string($level)) {
|
356 |
if (\is_numeric($level)) {
|
357 |
-
/** @phpstan-ignore-next-line */
|
358 |
return \intval($level);
|
359 |
}
|
360 |
// Contains chars of all log levels and avoids using strtoupper() which may have
|
@@ -363,17 +345,15 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
363 |
if (\defined(__CLASS__ . '::' . $upper)) {
|
364 |
return \constant(__CLASS__ . '::' . $upper);
|
365 |
}
|
366 |
-
throw new \Psr\Log\InvalidArgumentException('Level "' . $level . '" is not defined, use one of: ' . \implode(', ', \array_keys(static::$levels)
|
367 |
}
|
368 |
if (!\is_int($level)) {
|
369 |
-
throw new \Psr\Log\InvalidArgumentException('Level "' . \var_export($level, \true) . '" is not defined, use one of: ' . \implode(', ', \array_keys(static::$levels)
|
370 |
}
|
371 |
return $level;
|
372 |
}
|
373 |
/**
|
374 |
* Checks whether the Logger has a handler that listens on the given level
|
375 |
-
*
|
376 |
-
* @phpstan-param Level $level
|
377 |
*/
|
378 |
public function isHandling(int $level) : bool
|
379 |
{
|
@@ -404,17 +384,12 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
404 |
*
|
405 |
* This method allows for compatibility with common interfaces.
|
406 |
*
|
407 |
-
* @param mixed
|
408 |
-
* @param string
|
409 |
-
* @param mixed[]
|
410 |
-
*
|
411 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
412 |
*/
|
413 |
public function log($level, $message, array $context = []) : void
|
414 |
{
|
415 |
-
if (!\is_int($level) && !\is_string($level)) {
|
416 |
-
throw new \InvalidArgumentException('$level is expected to be a string or int');
|
417 |
-
}
|
418 |
$level = static::toMonologLevel($level);
|
419 |
$this->addRecord($level, (string) $message, $context);
|
420 |
}
|
@@ -423,8 +398,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
423 |
*
|
424 |
* This method allows for compatibility with common interfaces.
|
425 |
*
|
426 |
-
* @param string
|
427 |
-
* @param mixed[]
|
428 |
*/
|
429 |
public function debug($message, array $context = []) : void
|
430 |
{
|
@@ -435,8 +410,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
435 |
*
|
436 |
* This method allows for compatibility with common interfaces.
|
437 |
*
|
438 |
-
* @param string
|
439 |
-
* @param mixed[]
|
440 |
*/
|
441 |
public function info($message, array $context = []) : void
|
442 |
{
|
@@ -447,8 +422,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
447 |
*
|
448 |
* This method allows for compatibility with common interfaces.
|
449 |
*
|
450 |
-
* @param string
|
451 |
-
* @param mixed[]
|
452 |
*/
|
453 |
public function notice($message, array $context = []) : void
|
454 |
{
|
@@ -459,8 +434,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
459 |
*
|
460 |
* This method allows for compatibility with common interfaces.
|
461 |
*
|
462 |
-
* @param string
|
463 |
-
* @param mixed[]
|
464 |
*/
|
465 |
public function warning($message, array $context = []) : void
|
466 |
{
|
@@ -471,8 +446,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
471 |
*
|
472 |
* This method allows for compatibility with common interfaces.
|
473 |
*
|
474 |
-
* @param string
|
475 |
-
* @param mixed[]
|
476 |
*/
|
477 |
public function error($message, array $context = []) : void
|
478 |
{
|
@@ -483,8 +458,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
483 |
*
|
484 |
* This method allows for compatibility with common interfaces.
|
485 |
*
|
486 |
-
* @param string
|
487 |
-
* @param mixed[]
|
488 |
*/
|
489 |
public function critical($message, array $context = []) : void
|
490 |
{
|
@@ -495,8 +470,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
495 |
*
|
496 |
* This method allows for compatibility with common interfaces.
|
497 |
*
|
498 |
-
* @param string
|
499 |
-
* @param mixed[]
|
500 |
*/
|
501 |
public function alert($message, array $context = []) : void
|
502 |
{
|
@@ -507,8 +482,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
507 |
*
|
508 |
* This method allows for compatibility with common interfaces.
|
509 |
*
|
510 |
-
* @param string
|
511 |
-
* @param mixed[]
|
512 |
*/
|
513 |
public function emergency($message, array $context = []) : void
|
514 |
{
|
@@ -532,9 +507,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
|
|
532 |
/**
|
533 |
* Delegates exception management to the custom exception handler,
|
534 |
* or throws the exception if no custom handler is set.
|
535 |
-
*
|
536 |
-
* @param array $record
|
537 |
-
* @phpstan-param Record $record
|
538 |
*/
|
539 |
protected function handleException(\Throwable $e, array $record) : void
|
540 |
{
|
15 |
use GFPDF_Vendor\Monolog\Handler\HandlerInterface;
|
16 |
use Psr\Log\LoggerInterface;
|
17 |
use Psr\Log\InvalidArgumentException;
|
|
|
18 |
use Throwable;
|
|
|
19 |
/**
|
20 |
* Monolog log channel
|
21 |
*
|
23 |
* and uses them to store records that are added to it.
|
24 |
*
|
25 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
|
|
26 |
*/
|
27 |
class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\ResettableInterface
|
28 |
{
|
81 |
* This is a static variable and not a constant to serve as an extension point for custom levels
|
82 |
*
|
83 |
* @var array<int, string> $levels Logging levels with the levels as key
|
|
|
|
|
84 |
*/
|
85 |
protected static $levels = [self::DEBUG => 'DEBUG', self::INFO => 'INFO', self::NOTICE => 'NOTICE', self::WARNING => 'WARNING', self::ERROR => 'ERROR', self::CRITICAL => 'CRITICAL', self::ALERT => 'ALERT', self::EMERGENCY => 'EMERGENCY'];
|
86 |
/**
|
233 |
* @param string $message The log message
|
234 |
* @param mixed[] $context The log context
|
235 |
* @return bool Whether the record has been processed
|
|
|
|
|
236 |
*/
|
237 |
public function addRecord(int $level, string $message, array $context = []) : bool
|
238 |
{
|
310 |
* Gets all supported logging levels.
|
311 |
*
|
312 |
* @return array<string, int> Assoc array with human-readable level names => level codes.
|
|
|
313 |
*/
|
314 |
public static function getLevels() : array
|
315 |
{
|
319 |
* Gets the name of the logging level.
|
320 |
*
|
321 |
* @throws \Psr\Log\InvalidArgumentException If level is not defined
|
|
|
|
|
|
|
322 |
*/
|
323 |
public static function getLevelName(int $level) : string
|
324 |
{
|
332 |
*
|
333 |
* @param string|int $level Level number (monolog) or name (PSR-3)
|
334 |
* @throws \Psr\Log\InvalidArgumentException If level is not defined
|
|
|
|
|
|
|
335 |
*/
|
336 |
public static function toMonologLevel($level) : int
|
337 |
{
|
338 |
if (\is_string($level)) {
|
339 |
if (\is_numeric($level)) {
|
|
|
340 |
return \intval($level);
|
341 |
}
|
342 |
// Contains chars of all log levels and avoids using strtoupper() which may have
|
345 |
if (\defined(__CLASS__ . '::' . $upper)) {
|
346 |
return \constant(__CLASS__ . '::' . $upper);
|
347 |
}
|
348 |
+
throw new \Psr\Log\InvalidArgumentException('Level "' . $level . '" is not defined, use one of: ' . \implode(', ', \array_keys(static::$levels)));
|
349 |
}
|
350 |
if (!\is_int($level)) {
|
351 |
+
throw new \Psr\Log\InvalidArgumentException('Level "' . \var_export($level, \true) . '" is not defined, use one of: ' . \implode(', ', \array_keys(static::$levels)));
|
352 |
}
|
353 |
return $level;
|
354 |
}
|
355 |
/**
|
356 |
* Checks whether the Logger has a handler that listens on the given level
|
|
|
|
|
357 |
*/
|
358 |
public function isHandling(int $level) : bool
|
359 |
{
|
384 |
*
|
385 |
* This method allows for compatibility with common interfaces.
|
386 |
*
|
387 |
+
* @param mixed $level The log level
|
388 |
+
* @param string $message The log message
|
389 |
+
* @param mixed[] $context The log context
|
|
|
|
|
390 |
*/
|
391 |
public function log($level, $message, array $context = []) : void
|
392 |
{
|
|
|
|
|
|
|
393 |
$level = static::toMonologLevel($level);
|
394 |
$this->addRecord($level, (string) $message, $context);
|
395 |
}
|
398 |
*
|
399 |
* This method allows for compatibility with common interfaces.
|
400 |
*
|
401 |
+
* @param string $message The log message
|
402 |
+
* @param mixed[] $context The log context
|
403 |
*/
|
404 |
public function debug($message, array $context = []) : void
|
405 |
{
|
410 |
*
|
411 |
* This method allows for compatibility with common interfaces.
|
412 |
*
|
413 |
+
* @param string $message The log message
|
414 |
+
* @param mixed[] $context The log context
|
415 |
*/
|
416 |
public function info($message, array $context = []) : void
|
417 |
{
|
422 |
*
|
423 |
* This method allows for compatibility with common interfaces.
|
424 |
*
|
425 |
+
* @param string $message The log message
|
426 |
+
* @param mixed[] $context The log context
|
427 |
*/
|
428 |
public function notice($message, array $context = []) : void
|
429 |
{
|
434 |
*
|
435 |
* This method allows for compatibility with common interfaces.
|
436 |
*
|
437 |
+
* @param string $message The log message
|
438 |
+
* @param mixed[] $context The log context
|
439 |
*/
|
440 |
public function warning($message, array $context = []) : void
|
441 |
{
|
446 |
*
|
447 |
* This method allows for compatibility with common interfaces.
|
448 |
*
|
449 |
+
* @param string $message The log message
|
450 |
+
* @param mixed[] $context The log context
|
451 |
*/
|
452 |
public function error($message, array $context = []) : void
|
453 |
{
|
458 |
*
|
459 |
* This method allows for compatibility with common interfaces.
|
460 |
*
|
461 |
+
* @param string $message The log message
|
462 |
+
* @param mixed[] $context The log context
|
463 |
*/
|
464 |
public function critical($message, array $context = []) : void
|
465 |
{
|
470 |
*
|
471 |
* This method allows for compatibility with common interfaces.
|
472 |
*
|
473 |
+
* @param string $message The log message
|
474 |
+
* @param mixed[] $context The log context
|
475 |
*/
|
476 |
public function alert($message, array $context = []) : void
|
477 |
{
|
482 |
*
|
483 |
* This method allows for compatibility with common interfaces.
|
484 |
*
|
485 |
+
* @param string $message The log message
|
486 |
+
* @param mixed[] $context The log context
|
487 |
*/
|
488 |
public function emergency($message, array $context = []) : void
|
489 |
{
|
507 |
/**
|
508 |
* Delegates exception management to the custom exception handler,
|
509 |
* or throws the exception if no custom handler is set.
|
|
|
|
|
|
|
510 |
*/
|
511 |
protected function handleException(\Throwable $e, array $record) : void
|
512 |
{
|
vendor_prefixed/monolog/src/Monolog/Processor/GitProcessor.php
CHANGED
@@ -12,34 +12,23 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Processor;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
-
use Psr\Log\LogLevel;
|
16 |
/**
|
17 |
* Injects Git branch and Git commit SHA in all records
|
18 |
*
|
19 |
* @author Nick Otter
|
20 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
21 |
-
*
|
22 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
23 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
24 |
*/
|
25 |
class GitProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
26 |
{
|
27 |
-
/** @var int */
|
28 |
private $level;
|
29 |
-
|
30 |
-
private static $cache = null;
|
31 |
/**
|
32 |
* @param string|int $level The minimum logging level at which this Processor will be triggered
|
33 |
-
*
|
34 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
35 |
*/
|
36 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
|
37 |
{
|
38 |
$this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
|
39 |
}
|
40 |
-
/**
|
41 |
-
* {@inheritDoc}
|
42 |
-
*/
|
43 |
public function __invoke(array $record) : array
|
44 |
{
|
45 |
// return if the level is not high enough
|
@@ -49,9 +38,6 @@ class GitProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
|
49 |
$record['extra']['git'] = self::getGitInfo();
|
50 |
return $record;
|
51 |
}
|
52 |
-
/**
|
53 |
-
* @return array{branch: string, commit: string}|array<never>
|
54 |
-
*/
|
55 |
private static function getGitInfo() : array
|
56 |
{
|
57 |
if (self::$cache) {
|
12 |
namespace GFPDF_Vendor\Monolog\Processor;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
|
|
15 |
/**
|
16 |
* Injects Git branch and Git commit SHA in all records
|
17 |
*
|
18 |
* @author Nick Otter
|
19 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
20 |
*/
|
21 |
class GitProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
22 |
{
|
|
|
23 |
private $level;
|
24 |
+
private static $cache;
|
|
|
25 |
/**
|
26 |
* @param string|int $level The minimum logging level at which this Processor will be triggered
|
|
|
|
|
27 |
*/
|
28 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
|
29 |
{
|
30 |
$this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
|
31 |
}
|
|
|
|
|
|
|
32 |
public function __invoke(array $record) : array
|
33 |
{
|
34 |
// return if the level is not high enough
|
38 |
$record['extra']['git'] = self::getGitInfo();
|
39 |
return $record;
|
40 |
}
|
|
|
|
|
|
|
41 |
private static function getGitInfo() : array
|
42 |
{
|
43 |
if (self::$cache) {
|
vendor_prefixed/monolog/src/Monolog/Processor/HostnameProcessor.php
CHANGED
@@ -16,15 +16,11 @@ namespace GFPDF_Vendor\Monolog\Processor;
|
|
16 |
*/
|
17 |
class HostnameProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
18 |
{
|
19 |
-
/** @var string */
|
20 |
private static $host;
|
21 |
public function __construct()
|
22 |
{
|
23 |
self::$host = (string) \gethostname();
|
24 |
}
|
25 |
-
/**
|
26 |
-
* {@inheritDoc}
|
27 |
-
*/
|
28 |
public function __invoke(array $record) : array
|
29 |
{
|
30 |
$record['extra']['hostname'] = self::$host;
|
16 |
*/
|
17 |
class HostnameProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
18 |
{
|
|
|
19 |
private static $host;
|
20 |
public function __construct()
|
21 |
{
|
22 |
self::$host = (string) \gethostname();
|
23 |
}
|
|
|
|
|
|
|
24 |
public function __invoke(array $record) : array
|
25 |
{
|
26 |
$record['extra']['hostname'] = self::$host;
|
vendor_prefixed/monolog/src/Monolog/Processor/IntrospectionProcessor.php
CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Processor;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
-
use Psr\Log\LogLevel;
|
16 |
/**
|
17 |
* Injects line/file:class/function where the log message came from
|
18 |
*
|
@@ -23,25 +22,15 @@ use Psr\Log\LogLevel;
|
|
23 |
* triggered the FingersCrossedHandler.
|
24 |
*
|
25 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
26 |
-
*
|
27 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
28 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
29 |
*/
|
30 |
class IntrospectionProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
31 |
{
|
32 |
-
/** @var int */
|
33 |
private $level;
|
34 |
-
/** @var string[] */
|
35 |
private $skipClassesPartials;
|
36 |
-
/** @var int */
|
37 |
private $skipStackFramesCount;
|
38 |
-
/** @var string[] */
|
39 |
private $skipFunctions = ['call_user_func', 'call_user_func_array'];
|
40 |
/**
|
41 |
-
* @param string|int $level
|
42 |
-
* @param string[] $skipClassesPartials
|
43 |
-
*
|
44 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
45 |
*/
|
46 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, array $skipClassesPartials = [], int $skipStackFramesCount = 0)
|
47 |
{
|
@@ -49,9 +38,6 @@ class IntrospectionProcessor implements \GFPDF_Vendor\Monolog\Processor\Processo
|
|
49 |
$this->skipClassesPartials = \array_merge(['Monolog\\'], $skipClassesPartials);
|
50 |
$this->skipStackFramesCount = $skipStackFramesCount;
|
51 |
}
|
52 |
-
/**
|
53 |
-
* {@inheritDoc}
|
54 |
-
*/
|
55 |
public function __invoke(array $record) : array
|
56 |
{
|
57 |
// return if the level is not high enough
|
@@ -83,10 +69,7 @@ class IntrospectionProcessor implements \GFPDF_Vendor\Monolog\Processor\Processo
|
|
83 |
$record['extra'] = \array_merge($record['extra'], ['file' => isset($trace[$i - 1]['file']) ? $trace[$i - 1]['file'] : null, 'line' => isset($trace[$i - 1]['line']) ? $trace[$i - 1]['line'] : null, 'class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : null, 'function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : null]);
|
84 |
return $record;
|
85 |
}
|
86 |
-
|
87 |
-
* @param array[] $trace
|
88 |
-
*/
|
89 |
-
private function isTraceClassOrSkippedFunction(array $trace, int $index) : bool
|
90 |
{
|
91 |
if (!isset($trace[$index])) {
|
92 |
return \false;
|
12 |
namespace GFPDF_Vendor\Monolog\Processor;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
|
|
15 |
/**
|
16 |
* Injects line/file:class/function where the log message came from
|
17 |
*
|
22 |
* triggered the FingersCrossedHandler.
|
23 |
*
|
24 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
25 |
*/
|
26 |
class IntrospectionProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
27 |
{
|
|
|
28 |
private $level;
|
|
|
29 |
private $skipClassesPartials;
|
|
|
30 |
private $skipStackFramesCount;
|
|
|
31 |
private $skipFunctions = ['call_user_func', 'call_user_func_array'];
|
32 |
/**
|
33 |
+
* @param string|int $level The minimum logging level at which this Processor will be triggered
|
|
|
|
|
|
|
34 |
*/
|
35 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, array $skipClassesPartials = [], int $skipStackFramesCount = 0)
|
36 |
{
|
38 |
$this->skipClassesPartials = \array_merge(['Monolog\\'], $skipClassesPartials);
|
39 |
$this->skipStackFramesCount = $skipStackFramesCount;
|
40 |
}
|
|
|
|
|
|
|
41 |
public function __invoke(array $record) : array
|
42 |
{
|
43 |
// return if the level is not high enough
|
69 |
$record['extra'] = \array_merge($record['extra'], ['file' => isset($trace[$i - 1]['file']) ? $trace[$i - 1]['file'] : null, 'line' => isset($trace[$i - 1]['line']) ? $trace[$i - 1]['line'] : null, 'class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : null, 'function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : null]);
|
70 |
return $record;
|
71 |
}
|
72 |
+
private function isTraceClassOrSkippedFunction(array $trace, int $index)
|
|
|
|
|
|
|
73 |
{
|
74 |
if (!isset($trace[$index])) {
|
75 |
return \false;
|
vendor_prefixed/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php
CHANGED
@@ -19,9 +19,6 @@ namespace GFPDF_Vendor\Monolog\Processor;
|
|
19 |
*/
|
20 |
class MemoryPeakUsageProcessor extends \GFPDF_Vendor\Monolog\Processor\MemoryProcessor
|
21 |
{
|
22 |
-
/**
|
23 |
-
* {@inheritDoc}
|
24 |
-
*/
|
25 |
public function __invoke(array $record) : array
|
26 |
{
|
27 |
$usage = \memory_get_peak_usage($this->realUsage);
|
19 |
*/
|
20 |
class MemoryPeakUsageProcessor extends \GFPDF_Vendor\Monolog\Processor\MemoryProcessor
|
21 |
{
|
|
|
|
|
|
|
22 |
public function __invoke(array $record) : array
|
23 |
{
|
24 |
$usage = \memory_get_peak_usage($this->realUsage);
|
vendor_prefixed/monolog/src/Monolog/Processor/MemoryUsageProcessor.php
CHANGED
@@ -19,9 +19,6 @@ namespace GFPDF_Vendor\Monolog\Processor;
|
|
19 |
*/
|
20 |
class MemoryUsageProcessor extends \GFPDF_Vendor\Monolog\Processor\MemoryProcessor
|
21 |
{
|
22 |
-
/**
|
23 |
-
* {@inheritDoc}
|
24 |
-
*/
|
25 |
public function __invoke(array $record) : array
|
26 |
{
|
27 |
$usage = \memory_get_usage($this->realUsage);
|
19 |
*/
|
20 |
class MemoryUsageProcessor extends \GFPDF_Vendor\Monolog\Processor\MemoryProcessor
|
21 |
{
|
|
|
|
|
|
|
22 |
public function __invoke(array $record) : array
|
23 |
{
|
24 |
$usage = \memory_get_usage($this->realUsage);
|
vendor_prefixed/monolog/src/Monolog/Processor/MercurialProcessor.php
CHANGED
@@ -12,33 +12,22 @@ declare (strict_types=1);
|
|
12 |
namespace GFPDF_Vendor\Monolog\Processor;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
15 |
-
use Psr\Log\LogLevel;
|
16 |
/**
|
17 |
* Injects Hg branch and Hg revision number in all records
|
18 |
*
|
19 |
* @author Jonathan A. Schweder <jonathanschweder@gmail.com>
|
20 |
-
*
|
21 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
22 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
23 |
*/
|
24 |
class MercurialProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
25 |
{
|
26 |
-
/** @var Level */
|
27 |
private $level;
|
28 |
-
|
29 |
-
private static $cache = null;
|
30 |
/**
|
31 |
-
* @param int
|
32 |
-
*
|
33 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
34 |
*/
|
35 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
|
36 |
{
|
37 |
$this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
|
38 |
}
|
39 |
-
/**
|
40 |
-
* {@inheritDoc}
|
41 |
-
*/
|
42 |
public function __invoke(array $record) : array
|
43 |
{
|
44 |
// return if the level is not high enough
|
@@ -48,9 +37,6 @@ class MercurialProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInt
|
|
48 |
$record['extra']['hg'] = self::getMercurialInfo();
|
49 |
return $record;
|
50 |
}
|
51 |
-
/**
|
52 |
-
* @return array{branch: string, revision: string}|array<never>
|
53 |
-
*/
|
54 |
private static function getMercurialInfo() : array
|
55 |
{
|
56 |
if (self::$cache) {
|
12 |
namespace GFPDF_Vendor\Monolog\Processor;
|
13 |
|
14 |
use GFPDF_Vendor\Monolog\Logger;
|
|
|
15 |
/**
|
16 |
* Injects Hg branch and Hg revision number in all records
|
17 |
*
|
18 |
* @author Jonathan A. Schweder <jonathanschweder@gmail.com>
|
|
|
|
|
|
|
19 |
*/
|
20 |
class MercurialProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
21 |
{
|
|
|
22 |
private $level;
|
23 |
+
private static $cache;
|
|
|
24 |
/**
|
25 |
+
* @param string|int $level The minimum logging level at which this Processor will be triggered
|
|
|
|
|
26 |
*/
|
27 |
public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
|
28 |
{
|
29 |
$this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
|
30 |
}
|
|
|
|
|
|
|
31 |
public function __invoke(array $record) : array
|
32 |
{
|
33 |
// return if the level is not high enough
|
37 |
$record['extra']['hg'] = self::getMercurialInfo();
|
38 |
return $record;
|
39 |
}
|
|
|
|
|
|
|
40 |
private static function getMercurialInfo() : array
|
41 |
{
|
42 |
if (self::$cache) {
|
vendor_prefixed/monolog/src/Monolog/Processor/ProcessIdProcessor.php
CHANGED
@@ -18,9 +18,6 @@ namespace GFPDF_Vendor\Monolog\Processor;
|
|
18 |
*/
|
19 |
class ProcessIdProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
20 |
{
|
21 |
-
/**
|
22 |
-
* {@inheritDoc}
|
23 |
-
*/
|
24 |
public function __invoke(array $record) : array
|
25 |
{
|
26 |
$record['extra']['process_id'] = \getmypid();
|
18 |
*/
|
19 |
class ProcessIdProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
20 |
{
|
|
|
|
|
|
|
21 |
public function __invoke(array $record) : array
|
22 |
{
|
23 |
$record['extra']['process_id'] = \getmypid();
|
vendor_prefixed/monolog/src/Monolog/Processor/ProcessorInterface.php
CHANGED
@@ -15,16 +15,11 @@ namespace GFPDF_Vendor\Monolog\Processor;
|
|
15 |
* An optional interface to allow labelling Monolog processors.
|
16 |
*
|
17 |
* @author Nicolas Grekas <p@tchwork.com>
|
18 |
-
*
|
19 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
20 |
*/
|
21 |
interface ProcessorInterface
|
22 |
{
|
23 |
/**
|
24 |
* @return array The processed record
|
25 |
-
*
|
26 |
-
* @phpstan-param Record $record
|
27 |
-
* @phpstan-return Record
|
28 |
*/
|
29 |
public function __invoke(array $record);
|
30 |
}
|
15 |
* An optional interface to allow labelling Monolog processors.
|
16 |
*
|
17 |
* @author Nicolas Grekas <p@tchwork.com>
|
|
|
|
|
18 |
*/
|
19 |
interface ProcessorInterface
|
20 |
{
|
21 |
/**
|
22 |
* @return array The processed record
|
|
|
|
|
|
|
23 |
*/
|
24 |
public function __invoke(array $record);
|
25 |
}
|
vendor_prefixed/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php
CHANGED
@@ -36,7 +36,8 @@ class PsrLogMessageProcessor implements \GFPDF_Vendor\Monolog\Processor\Processo
|
|
36 |
$this->removeUsedContextFields = $removeUsedContextFields;
|
37 |
}
|
38 |
/**
|
39 |
-
*
|
|
|
40 |
*/
|
41 |
public function __invoke(array $record) : array
|
42 |
{
|
36 |
$this->removeUsedContextFields = $removeUsedContextFields;
|
37 |
}
|
38 |
/**
|
39 |
+
* @param array $record
|
40 |
+
* @return array
|
41 |
*/
|
42 |
public function __invoke(array $record) : array
|
43 |
{
|
vendor_prefixed/monolog/src/Monolog/Processor/TagProcessor.php
CHANGED
@@ -18,34 +18,21 @@ namespace GFPDF_Vendor\Monolog\Processor;
|
|
18 |
*/
|
19 |
class TagProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
20 |
{
|
21 |
-
/** @var string[] */
|
22 |
private $tags;
|
23 |
-
/**
|
24 |
-
* @param string[] $tags
|
25 |
-
*/
|
26 |
public function __construct(array $tags = [])
|
27 |
{
|
28 |
$this->setTags($tags);
|
29 |
}
|
30 |
-
/**
|
31 |
-
* @param string[] $tags
|
32 |
-
*/
|
33 |
public function addTags(array $tags = []) : self
|
34 |
{
|
35 |
$this->tags = \array_merge($this->tags, $tags);
|
36 |
return $this;
|
37 |
}
|
38 |
-
/**
|
39 |
-
* @param string[] $tags
|
40 |
-
*/
|
41 |
public function setTags(array $tags = []) : self
|
42 |
{
|
43 |
$this->tags = $tags;
|
44 |
return $this;
|
45 |
}
|
46 |
-
/**
|
47 |
-
* {@inheritDoc}
|
48 |
-
*/
|
49 |
public function __invoke(array $record) : array
|
50 |
{
|
51 |
$record['extra']['tags'] = $this->tags;
|
18 |
*/
|
19 |
class TagProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
20 |
{
|
|
|
21 |
private $tags;
|
|
|
|
|
|
|
22 |
public function __construct(array $tags = [])
|
23 |
{
|
24 |
$this->setTags($tags);
|
25 |
}
|
|
|
|
|
|
|
26 |
public function addTags(array $tags = []) : self
|
27 |
{
|
28 |
$this->tags = \array_merge($this->tags, $tags);
|
29 |
return $this;
|
30 |
}
|
|
|
|
|
|
|
31 |
public function setTags(array $tags = []) : self
|
32 |
{
|
33 |
$this->tags = $tags;
|
34 |
return $this;
|
35 |
}
|
|
|
|
|
|
|
36 |
public function __invoke(array $record) : array
|
37 |
{
|
38 |
$record['extra']['tags'] = $this->tags;
|
vendor_prefixed/monolog/src/Monolog/Processor/UidProcessor.php
CHANGED
@@ -19,7 +19,6 @@ use GFPDF_Vendor\Monolog\ResettableInterface;
|
|
19 |
*/
|
20 |
class UidProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface, \GFPDF_Vendor\Monolog\ResettableInterface
|
21 |
{
|
22 |
-
/** @var string */
|
23 |
private $uid;
|
24 |
public function __construct(int $length = 7)
|
25 |
{
|
@@ -28,9 +27,6 @@ class UidProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
|
28 |
}
|
29 |
$this->uid = $this->generateUid($length);
|
30 |
}
|
31 |
-
/**
|
32 |
-
* {@inheritDoc}
|
33 |
-
*/
|
34 |
public function __invoke(array $record) : array
|
35 |
{
|
36 |
$record['extra']['uid'] = $this->uid;
|
19 |
*/
|
20 |
class UidProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface, \GFPDF_Vendor\Monolog\ResettableInterface
|
21 |
{
|
|
|
22 |
private $uid;
|
23 |
public function __construct(int $length = 7)
|
24 |
{
|
27 |
}
|
28 |
$this->uid = $this->generateUid($length);
|
29 |
}
|
|
|
|
|
|
|
30 |
public function __invoke(array $record) : array
|
31 |
{
|
32 |
$record['extra']['uid'] = $this->uid;
|
vendor_prefixed/monolog/src/Monolog/Processor/WebProcessor.php
CHANGED
@@ -19,7 +19,7 @@ namespace GFPDF_Vendor\Monolog\Processor;
|
|
19 |
class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
20 |
{
|
21 |
/**
|
22 |
-
* @var array
|
23 |
*/
|
24 |
protected $serverData;
|
25 |
/**
|
@@ -27,12 +27,12 @@ class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
|
27 |
*
|
28 |
* Array is structured as [key in record.extra => key in $serverData]
|
29 |
*
|
30 |
-
* @var array
|
31 |
*/
|
32 |
protected $extraFields = ['url' => 'REQUEST_URI', 'ip' => 'REMOTE_ADDR', 'http_method' => 'REQUEST_METHOD', 'server' => 'SERVER_NAME', 'referrer' => 'HTTP_REFERER'];
|
33 |
/**
|
34 |
-
* @param array
|
35 |
-
* @param array
|
36 |
*/
|
37 |
public function __construct($serverData = null, array $extraFields = null)
|
38 |
{
|
@@ -58,9 +58,6 @@ class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
|
58 |
}
|
59 |
}
|
60 |
}
|
61 |
-
/**
|
62 |
-
* {@inheritDoc}
|
63 |
-
*/
|
64 |
public function __invoke(array $record) : array
|
65 |
{
|
66 |
// skip processing if for some reason request data
|
@@ -76,10 +73,6 @@ class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
|
76 |
$this->extraFields[$extraName] = $serverName;
|
77 |
return $this;
|
78 |
}
|
79 |
-
/**
|
80 |
-
* @param mixed[] $extra
|
81 |
-
* @return mixed[]
|
82 |
-
*/
|
83 |
private function appendExtraFields(array $extra) : array
|
84 |
{
|
85 |
foreach ($this->extraFields as $extraName => $serverName) {
|
19 |
class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
|
20 |
{
|
21 |
/**
|
22 |
+
* @var array|\ArrayAccess
|
23 |
*/
|
24 |
protected $serverData;
|
25 |
/**
|
27 |
*
|
28 |
* Array is structured as [key in record.extra => key in $serverData]
|
29 |
*
|
30 |
+
* @var array
|
31 |
*/
|
32 |
protected $extraFields = ['url' => 'REQUEST_URI', 'ip' => 'REMOTE_ADDR', 'http_method' => 'REQUEST_METHOD', 'server' => 'SERVER_NAME', 'referrer' => 'HTTP_REFERER'];
|
33 |
/**
|
34 |
+
* @param array|\ArrayAccess|null $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data
|
35 |
+
* @param array|null $extraFields Field names and the related key inside $serverData to be added. If not provided it defaults to: url, ip, http_method, server, referrer
|
36 |
*/
|
37 |
public function __construct($serverData = null, array $extraFields = null)
|
38 |
{
|
58 |
}
|
59 |
}
|
60 |
}
|
|
|
|
|
|
|
61 |
public function __invoke(array $record) : array
|
62 |
{
|
63 |
// skip processing if for some reason request data
|
73 |
$this->extraFields[$extraName] = $serverName;
|
74 |
return $this;
|
75 |
}
|
|
|
|
|
|
|
|
|
76 |
private function appendExtraFields(array $extra) : array
|
77 |
{
|
78 |
foreach ($this->extraFields as $extraName => $serverName) {
|
vendor_prefixed/monolog/src/Monolog/Registry.php
CHANGED
@@ -49,7 +49,6 @@ class Registry
|
|
49 |
* @param string|null $name Name of the logging channel ($logger->getName() by default)
|
50 |
* @param bool $overwrite Overwrite instance in the registry if the given name already exists?
|
51 |
* @throws \InvalidArgumentException If $overwrite set to false and named Logger instance already exists
|
52 |
-
* @return void
|
53 |
*/
|
54 |
public static function addLogger(\GFPDF_Vendor\Monolog\Logger $logger, ?string $name = null, bool $overwrite = \false)
|
55 |
{
|
@@ -111,7 +110,7 @@ class Registry
|
|
111 |
* Gets Logger instance from the registry via static method call
|
112 |
*
|
113 |
* @param string $name Name of the requested Logger instance
|
114 |
-
* @param
|
115 |
* @throws \InvalidArgumentException If named Logger instance is not in the registry
|
116 |
* @return Logger Requested instance of Logger
|
117 |
*/
|
49 |
* @param string|null $name Name of the logging channel ($logger->getName() by default)
|
50 |
* @param bool $overwrite Overwrite instance in the registry if the given name already exists?
|
51 |
* @throws \InvalidArgumentException If $overwrite set to false and named Logger instance already exists
|
|
|
52 |
*/
|
53 |
public static function addLogger(\GFPDF_Vendor\Monolog\Logger $logger, ?string $name = null, bool $overwrite = \false)
|
54 |
{
|
110 |
* Gets Logger instance from the registry via static method call
|
111 |
*
|
112 |
* @param string $name Name of the requested Logger instance
|
113 |
+
* @param array $arguments Arguments passed to static method call
|
114 |
* @throws \InvalidArgumentException If named Logger instance is not in the registry
|
115 |
* @return Logger Requested instance of Logger
|
116 |
*/
|
vendor_prefixed/monolog/src/Monolog/SignalHandler.php
CHANGED
@@ -18,39 +18,22 @@ use ReflectionExtension;
|
|
18 |
* Monolog POSIX signal handler
|
19 |
*
|
20 |
* @author Robert Gust-Bardon <robert@gust-bardon.org>
|
21 |
-
*
|
22 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
23 |
-
* @phpstan-import-type LevelName from \Monolog\Logger
|
24 |
*/
|
25 |
class SignalHandler
|
26 |
{
|
27 |
-
/** @var LoggerInterface */
|
28 |
private $logger;
|
29 |
-
/** @var array<int, callable|string|int> SIG_DFL, SIG_IGN or previous callable */
|
30 |
private $previousSignalHandler = [];
|
31 |
-
/** @var array<int, int> */
|
32 |
private $signalLevelMap = [];
|
33 |
-
/** @var array<int, bool> */
|
34 |
private $signalRestartSyscalls = [];
|
35 |
public function __construct(\Psr\Log\LoggerInterface $logger)
|
36 |
{
|
37 |
$this->logger = $logger;
|
38 |
}
|
39 |
-
|
40 |
-
* @param int|string $level Level or level name
|
41 |
-
* @param bool $callPrevious
|
42 |
-
* @param bool $restartSyscalls
|
43 |
-
* @param bool|null $async
|
44 |
-
* @return $this
|
45 |
-
*
|
46 |
-
* @phpstan-param Level|LevelName|LogLevel::* $level
|
47 |
-
*/
|
48 |
-
public function registerSignalHandler(int $signo, $level = \Psr\Log\LogLevel::CRITICAL, bool $callPrevious = \true, bool $restartSyscalls = \true, ?bool $async = \true) : self
|
49 |
{
|
50 |
if (!\extension_loaded('pcntl') || !\function_exists('pcntl_signal')) {
|
51 |
return $this;
|
52 |
}
|
53 |
-
$level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
|
54 |
if ($callPrevious) {
|
55 |
$handler = \pcntl_signal_get_handler($signo);
|
56 |
$this->previousSignalHandler[$signo] = $handler;
|
@@ -65,10 +48,7 @@ class SignalHandler
|
|
65 |
\pcntl_signal($signo, [$this, 'handleSignal'], $restartSyscalls);
|
66 |
return $this;
|
67 |
}
|
68 |
-
|
69 |
-
* @param mixed $siginfo
|
70 |
-
*/
|
71 |
-
public function handleSignal(int $signo, $siginfo = null) : void
|
72 |
{
|
73 |
static $signals = [];
|
74 |
if (!$signals && \extension_loaded('pcntl')) {
|
@@ -87,7 +67,7 @@ class SignalHandler
|
|
87 |
if (!isset($this->previousSignalHandler[$signo])) {
|
88 |
return;
|
89 |
}
|
90 |
-
if ($this->previousSignalHandler[$signo] === \SIG_DFL) {
|
91 |
if (\extension_loaded('pcntl') && \function_exists('pcntl_signal') && \function_exists('pcntl_sigprocmask') && \function_exists('pcntl_signal_dispatch') && \extension_loaded('posix') && \function_exists('posix_getpid') && \function_exists('posix_kill')) {
|
92 |
$restartSyscalls = $this->signalRestartSyscalls[$signo] ?? \true;
|
93 |
\pcntl_signal($signo, \SIG_DFL, $restartSyscalls);
|
18 |
* Monolog POSIX signal handler
|
19 |
*
|
20 |
* @author Robert Gust-Bardon <robert@gust-bardon.org>
|
|
|
|
|
|
|
21 |
*/
|
22 |
class SignalHandler
|
23 |
{
|
|
|
24 |
private $logger;
|
|
|
25 |
private $previousSignalHandler = [];
|
|
|
26 |
private $signalLevelMap = [];
|
|
|
27 |
private $signalRestartSyscalls = [];
|
28 |
public function __construct(\Psr\Log\LoggerInterface $logger)
|
29 |
{
|
30 |
$this->logger = $logger;
|
31 |
}
|
32 |
+
public function registerSignalHandler($signo, $level = \Psr\Log\LogLevel::CRITICAL, bool $callPrevious = \true, bool $restartSyscalls = \true, ?bool $async = \true) : self
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
{
|
34 |
if (!\extension_loaded('pcntl') || !\function_exists('pcntl_signal')) {
|
35 |
return $this;
|
36 |
}
|
|
|
37 |
if ($callPrevious) {
|
38 |
$handler = \pcntl_signal_get_handler($signo);
|
39 |
$this->previousSignalHandler[$signo] = $handler;
|
48 |
\pcntl_signal($signo, [$this, 'handleSignal'], $restartSyscalls);
|
49 |
return $this;
|
50 |
}
|
51 |
+
public function handleSignal($signo, array $siginfo = null) : void
|
|
|
|
|
|
|
52 |
{
|
53 |
static $signals = [];
|
54 |
if (!$signals && \extension_loaded('pcntl')) {
|
67 |
if (!isset($this->previousSignalHandler[$signo])) {
|
68 |
return;
|
69 |
}
|
70 |
+
if ($this->previousSignalHandler[$signo] === \true || $this->previousSignalHandler[$signo] === \SIG_DFL) {
|
71 |
if (\extension_loaded('pcntl') && \function_exists('pcntl_signal') && \function_exists('pcntl_sigprocmask') && \function_exists('pcntl_signal_dispatch') && \extension_loaded('posix') && \function_exists('posix_getpid') && \function_exists('posix_kill')) {
|
72 |
$restartSyscalls = $this->signalRestartSyscalls[$signo] ?? \true;
|
73 |
\pcntl_signal($signo, \SIG_DFL, $restartSyscalls);
|
vendor_prefixed/monolog/src/Monolog/Test/TestCase.php
CHANGED
@@ -16,29 +16,18 @@ use GFPDF_Vendor\Monolog\DateTimeImmutable;
|
|
16 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
17 |
/**
|
18 |
* Lets you easily generate log records and a dummy formatter for testing purposes
|
19 |
-
*
|
20 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
21 |
-
*
|
22 |
-
* @phpstan-import-type Record from \Monolog\Logger
|
23 |
-
* @phpstan-import-type Level from \Monolog\Logger
|
24 |
*/
|
25 |
class TestCase extends \GFPDF_Vendor\PHPUnit\Framework\TestCase
|
26 |
{
|
27 |
/**
|
28 |
-
* @param mixed[] $context
|
29 |
-
*
|
30 |
* @return array Record
|
31 |
-
*
|
32 |
-
* @phpstan-param Level $level
|
33 |
-
* @phpstan-return Record
|
34 |
*/
|
35 |
-
protected function getRecord(
|
36 |
{
|
37 |
return ['message' => (string) $message, 'context' => $context, 'level' => $level, 'level_name' => \GFPDF_Vendor\Monolog\Logger::getLevelName($level), 'channel' => 'test', 'datetime' => new \GFPDF_Vendor\Monolog\DateTimeImmutable(\true), 'extra' => []];
|
38 |
}
|
39 |
-
/**
|
40 |
-
* @phpstan-return Record[]
|
41 |
-
*/
|
42 |
protected function getMultipleRecords() : array
|
43 |
{
|
44 |
return [$this->getRecord(\GFPDF_Vendor\Monolog\Logger::DEBUG, 'debug message 1'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::DEBUG, 'debug message 2'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::INFO, 'information'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::WARNING, 'warning'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::ERROR, 'error')];
|
16 |
use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
|
17 |
/**
|
18 |
* Lets you easily generate log records and a dummy formatter for testing purposes
|
19 |
+
* *
|
20 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
|
|
|
21 |
*/
|
22 |
class TestCase extends \GFPDF_Vendor\PHPUnit\Framework\TestCase
|
23 |
{
|
24 |
/**
|
|
|
|
|
25 |
* @return array Record
|
|
|
|
|
|
|
26 |
*/
|
27 |
+
protected function getRecord($level = \GFPDF_Vendor\Monolog\Logger::WARNING, $message = 'test', array $context = []) : array
|
28 |
{
|
29 |
return ['message' => (string) $message, 'context' => $context, 'level' => $level, 'level_name' => \GFPDF_Vendor\Monolog\Logger::getLevelName($level), 'channel' => 'test', 'datetime' => new \GFPDF_Vendor\Monolog\DateTimeImmutable(\true), 'extra' => []];
|
30 |
}
|
|
|
|
|
|
|
31 |
protected function getMultipleRecords() : array
|
32 |
{
|
33 |
return [$this->getRecord(\GFPDF_Vendor\Monolog\Logger::DEBUG, 'debug message 1'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::DEBUG, 'debug message 2'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::INFO, 'information'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::WARNING, 'warning'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::ERROR, 'error')];
|
vendor_prefixed/monolog/src/Monolog/Utils.php
CHANGED
@@ -17,13 +17,7 @@ final class Utils
|
|
17 |
public static function getClass(object $object) : string
|
18 |
{
|
19 |
$class = \get_class($object);
|
20 |
-
|
21 |
-
return $class;
|
22 |
-
}
|
23 |
-
if (\false === ($parent = \get_parent_class($class))) {
|
24 |
-
return \substr($class, 0, $pos + 10);
|
25 |
-
}
|
26 |
-
return $parent . '@anonymous';
|
27 |
}
|
28 |
public static function substr(string $string, int $start, ?int $length = null) : string
|
29 |
{
|
@@ -117,29 +111,12 @@ final class Utils
|
|
117 |
}
|
118 |
return $json;
|
119 |
}
|
120 |
-
/**
|
121 |
-
* @internal
|
122 |
-
*/
|
123 |
-
public static function pcreLastErrorMessage(int $code) : string
|
124 |
-
{
|
125 |
-
if (\PHP_VERSION_ID >= 80000) {
|
126 |
-
return \preg_last_error_msg();
|
127 |
-
}
|
128 |
-
$constants = \get_defined_constants(\true)['pcre'];
|
129 |
-
$constants = \array_filter($constants, function ($key) {
|
130 |
-
return \substr($key, -6) == '_ERROR';
|
131 |
-
}, \ARRAY_FILTER_USE_KEY);
|
132 |
-
$constants = \array_flip($constants);
|
133 |
-
return $constants[$code] ?? 'UNDEFINED_ERROR';
|
134 |
-
}
|
135 |
/**
|
136 |
* Throws an exception according to a given code with a customized message
|
137 |
*
|
138 |
* @param int $code return code of json_last_error function
|
139 |
* @param mixed $data data that was meant to be encoded
|
140 |
* @throws \RuntimeException
|
141 |
-
*
|
142 |
-
* @return never
|
143 |
*/
|
144 |
private static function throwEncodeError(int $code, $data) : void
|
145 |
{
|
@@ -182,40 +159,7 @@ final class Utils
|
|
182 |
$data = \preg_replace_callback('/[\\x80-\\xFF]+/', function ($m) {
|
183 |
return \utf8_encode($m[0]);
|
184 |
}, $data);
|
185 |
-
if (!\is_string($data)) {
|
186 |
-
$pcreErrorCode = \preg_last_error();
|
187 |
-
throw new \RuntimeException('Failed to preg_replace_callback: ' . $pcreErrorCode . ' / ' . self::pcreLastErrorMessage($pcreErrorCode));
|
188 |
-
}
|
189 |
$data = \str_replace(['¤', '¦', '¨', '´', '¸', '¼', '½', '¾'], ['€', 'Š', 'š', 'Ž', 'ž', 'Œ', 'œ', 'Ÿ'], $data);
|
190 |
}
|
191 |
}
|
192 |
-
/**
|
193 |
-
* Converts a string with a valid 'memory_limit' format, to bytes.
|
194 |
-
*
|
195 |
-
* @param string|false $val
|
196 |
-
* @return int|false Returns an integer representing bytes. Returns FALSE in case of error.
|
197 |
-
*/
|
198 |
-
public static function expandIniShorthandBytes($val)
|
199 |
-
{
|
200 |
-
if (!\is_string($val)) {
|
201 |
-
return \false;
|
202 |
-
}
|
203 |
-
// support -1
|
204 |
-
if ((int) $val < 0) {
|
205 |
-
return (int) $val;
|
206 |
-
}
|
207 |
-
if (!\preg_match('/^\\s*(?<val>\\d+)(?:\\.\\d+)?\\s*(?<unit>[gmk]?)\\s*$/i', $val, $match)) {
|
208 |
-
return \false;
|
209 |
-
}
|
210 |
-
$val = (int) $match['val'];
|
211 |
-
switch (\strtolower($match['unit'] ?? '')) {
|
212 |
-
case 'g':
|
213 |
-
$val *= 1024;
|
214 |
-
case 'm':
|
215 |
-
$val *= 1024;
|
216 |
-
case 'k':
|
217 |
-
$val *= 1024;
|
218 |
-
}
|
219 |
-
return $val;
|
220 |
-
}
|
221 |
}
|
17 |
public static function getClass(object $object) : string
|
18 |
{
|
19 |
$class = \get_class($object);
|
20 |
+
return 'c' === $class[0] && 0 === \strpos($class, "class@anonymous\0") ? \get_parent_class($class) . '@anonymous' : $class;
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
}
|
22 |
public static function substr(string $string, int $start, ?int $length = null) : string
|
23 |
{
|
111 |
}
|
112 |
return $json;
|
113 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
/**
|
115 |
* Throws an exception according to a given code with a customized message
|
116 |
*
|
117 |
* @param int $code return code of json_last_error function
|
118 |
* @param mixed $data data that was meant to be encoded
|
119 |
* @throws \RuntimeException
|
|
|
|
|
120 |
*/
|
121 |
private static function throwEncodeError(int $code, $data) : void
|
122 |
{
|
159 |
$data = \preg_replace_callback('/[\\x80-\\xFF]+/', function ($m) {
|
160 |
return \utf8_encode($m[0]);
|
161 |
}, $data);
|
|
|
|
|
|
|
|
|
162 |
$data = \str_replace(['¤', '¦', '¨', '´', '¸', '¼', '½', '¾'], ['€', 'Š', 'š', 'Ž', 'ž', 'Œ', 'œ', 'Ÿ'], $data);
|
163 |
}
|
164 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
}
|
vendor_prefixed/mpdf/mpdf/src/Barcode.php
CHANGED
@@ -4,9 +4,9 @@ namespace GFPDF_Vendor\Mpdf;
|
|
4 |
|
5 |
class Barcode
|
6 |
{
|
7 |
-
public function getBarcodeArray($code, $type, $pr = ''
|
8 |
{
|
9 |
-
$barcode = $this->getBarcode($code, $type, $pr
|
10 |
return $barcode ? $barcode->getData() : \false;
|
11 |
}
|
12 |
public function getChecksum($code, $type)
|
@@ -21,7 +21,7 @@ class Barcode
|
|
21 |
*
|
22 |
* @return \Mpdf\Barcode\BarcodeInterface
|
23 |
*/
|
24 |
-
public function getBarcode($code, $type, $pr = 0.0
|
25 |
{
|
26 |
switch (\strtoupper($type)) {
|
27 |
case 'ISBN':
|
@@ -81,70 +81,70 @@ class Barcode
|
|
81 |
return new \GFPDF_Vendor\Mpdf\Barcode\Postnet($code, $xdim, (25.4 / $bpi - $xdim) / $xdim, \true);
|
82 |
case 'C93':
|
83 |
// CODE 93 - USS-93
|
84 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code93($code
|
85 |
case 'CODE11':
|
86 |
// CODE 11
|
87 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code11($code, $pr > 0 ? $pr : 3
|
88 |
case 'MSI':
|
89 |
// MSI (Variation of Plessey code)
|
90 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Msi($code, \false
|
91 |
case 'MSI+':
|
92 |
// MSI + CHECKSUM (modulo 11)
|
93 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Msi($code, \true
|
94 |
case 'CODABAR':
|
95 |
// CODABAR
|
96 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Codabar($code, $pr > 0 ? $pr : 2.5
|
97 |
case 'C128A':
|
98 |
// CODE 128 A
|
99 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'A'
|
100 |
case 'C128B':
|
101 |
// CODE 128 B
|
102 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'B'
|
103 |
case 'C128C':
|
104 |
// CODE 128 C
|
105 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'C'
|
106 |
case 'C128RAW':
|
107 |
// CODE 128 RAW -- code is a space separated list of codes with startcode but without checkdigit,stop,end ex: "105 12 34"
|
108 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'RAW'
|
109 |
case 'EAN128A':
|
110 |
// EAN 128 A
|
111 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'A', \true
|
112 |
case 'EAN128B':
|
113 |
// EAN 128 B
|
114 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'B', \true
|
115 |
case 'EAN128C':
|
116 |
// EAN 128 C
|
117 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'C', \true
|
118 |
case 'C39':
|
119 |
// CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
|
120 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \false, \false
|
121 |
case 'C39+':
|
122 |
// CODE 39 with checksum
|
123 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \false, \true
|
124 |
case 'C39E':
|
125 |
// CODE 39 EXTENDED
|
126 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \true, \false
|
127 |
case 'C39E+':
|
128 |
// CODE 39 EXTENDED + CHECKSUM
|
129 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \true, \true
|
130 |
case 'S25':
|
131 |
// Standard 2 of 5
|
132 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\S25($code, \false
|
133 |
case 'S25+':
|
134 |
// Standard 2 of 5 + CHECKSUM
|
135 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\S25($code, \true
|
136 |
case 'I25':
|
137 |
// Interleaved 2 of 5
|
138 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 0, $pr > 0 ? $pr : 2.5, \false
|
139 |
case 'I25+':
|
140 |
// Interleaved 2 of 5 + CHECKSUM
|
141 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 0, $pr > 0 ? $pr : 2.5, \true
|
142 |
case 'I25B':
|
143 |
// Interleaved 2 of 5 + Bearer bars
|
144 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 2, $pr > 0 ? $pr : 2.5, \false
|
145 |
case 'I25B+':
|
146 |
// Interleaved 2 of 5 + CHECKSUM + Bearer bars
|
147 |
-
return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 2, $pr > 0 ? $pr : 2.5, \true
|
148 |
}
|
149 |
return \false;
|
150 |
}
|
4 |
|
5 |
class Barcode
|
6 |
{
|
7 |
+
public function getBarcodeArray($code, $type, $pr = '')
|
8 |
{
|
9 |
+
$barcode = $this->getBarcode($code, $type, $pr);
|
10 |
return $barcode ? $barcode->getData() : \false;
|
11 |
}
|
12 |
public function getChecksum($code, $type)
|
21 |
*
|
22 |
* @return \Mpdf\Barcode\BarcodeInterface
|
23 |
*/
|
24 |
+
public function getBarcode($code, $type, $pr = 0.0)
|
25 |
{
|
26 |
switch (\strtoupper($type)) {
|
27 |
case 'ISBN':
|
81 |
return new \GFPDF_Vendor\Mpdf\Barcode\Postnet($code, $xdim, (25.4 / $bpi - $xdim) / $xdim, \true);
|
82 |
case 'C93':
|
83 |
// CODE 93 - USS-93
|
84 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code93($code);
|
85 |
case 'CODE11':
|
86 |
// CODE 11
|
87 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code11($code, $pr > 0 ? $pr : 3);
|
88 |
case 'MSI':
|
89 |
// MSI (Variation of Plessey code)
|
90 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Msi($code, \false);
|
91 |
case 'MSI+':
|
92 |
// MSI + CHECKSUM (modulo 11)
|
93 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Msi($code, \true);
|
94 |
case 'CODABAR':
|
95 |
// CODABAR
|
96 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Codabar($code, $pr > 0 ? $pr : 2.5);
|
97 |
case 'C128A':
|
98 |
// CODE 128 A
|
99 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'A');
|
100 |
case 'C128B':
|
101 |
// CODE 128 B
|
102 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'B');
|
103 |
case 'C128C':
|
104 |
// CODE 128 C
|
105 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'C');
|
106 |
case 'C128RAW':
|
107 |
// CODE 128 RAW -- code is a space separated list of codes with startcode but without checkdigit,stop,end ex: "105 12 34"
|
108 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'RAW');
|
109 |
case 'EAN128A':
|
110 |
// EAN 128 A
|
111 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'A', \true);
|
112 |
case 'EAN128B':
|
113 |
// EAN 128 B
|
114 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'B', \true);
|
115 |
case 'EAN128C':
|
116 |
// EAN 128 C
|
117 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'C', \true);
|
118 |
case 'C39':
|
119 |
// CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
|
120 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \false, \false);
|
121 |
case 'C39+':
|
122 |
// CODE 39 with checksum
|
123 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \false, \true);
|
124 |
case 'C39E':
|
125 |
// CODE 39 EXTENDED
|
126 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \true, \false);
|
127 |
case 'C39E+':
|
128 |
// CODE 39 EXTENDED + CHECKSUM
|
129 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \true, \true);
|
130 |
case 'S25':
|
131 |
// Standard 2 of 5
|
132 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\S25($code, \false);
|
133 |
case 'S25+':
|
134 |
// Standard 2 of 5 + CHECKSUM
|
135 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\S25($code, \true);
|
136 |
case 'I25':
|
137 |
// Interleaved 2 of 5
|
138 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 0, $pr > 0 ? $pr : 2.5, \false);
|
139 |
case 'I25+':
|
140 |
// Interleaved 2 of 5 + CHECKSUM
|
141 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 0, $pr > 0 ? $pr : 2.5, \true);
|
142 |
case 'I25B':
|
143 |
// Interleaved 2 of 5 + Bearer bars
|
144 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 2, $pr > 0 ? $pr : 2.5, \false);
|
145 |
case 'I25B+':
|
146 |
// Interleaved 2 of 5 + CHECKSUM + Bearer bars
|
147 |
+
return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 2, $pr > 0 ? $pr : 2.5, \true);
|
148 |
}
|
149 |
return \false;
|
150 |
}
|
vendor_prefixed/mpdf/mpdf/src/Barcode/Codabar.php
CHANGED
@@ -12,16 +12,16 @@ class Codabar extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFP
|
|
12 |
* @param string $code
|
13 |
* @param float $printRatio
|
14 |
*/
|
15 |
-
public function __construct($code, $printRatio
|
16 |
{
|
17 |
$this->init($code, $printRatio);
|
18 |
$this->data['nom-X'] = 0.381;
|
19 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
20 |
$this->data['nom-H'] = 10;
|
21 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
22 |
-
$this->data['lightmL'] =
|
23 |
// LEFT light margin = x X-dim (spec.)
|
24 |
-
$this->data['lightmR'] =
|
25 |
// RIGHT light margin = x X-dim (spec.)
|
26 |
$this->data['lightTB'] = 0;
|
27 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
12 |
* @param string $code
|
13 |
* @param float $printRatio
|
14 |
*/
|
15 |
+
public function __construct($code, $printRatio)
|
16 |
{
|
17 |
$this->init($code, $printRatio);
|
18 |
$this->data['nom-X'] = 0.381;
|
19 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
20 |
$this->data['nom-H'] = 10;
|
21 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
22 |
+
$this->data['lightmL'] = 10;
|
23 |
// LEFT light margin = x X-dim (spec.)
|
24 |
+
$this->data['lightmR'] = 10;
|
25 |
// RIGHT light margin = x X-dim (spec.)
|
26 |
$this->data['lightTB'] = 0;
|
27 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
vendor_prefixed/mpdf/mpdf/src/Barcode/Code11.php
CHANGED
@@ -12,16 +12,16 @@ class Code11 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPD
|
|
12 |
* @param string $code
|
13 |
* @param float $printRatio
|
14 |
*/
|
15 |
-
public function __construct($code, $printRatio
|
16 |
{
|
17 |
$this->init($code, $printRatio);
|
18 |
$this->data['nom-X'] = 0.381;
|
19 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
20 |
$this->data['nom-H'] = 10;
|
21 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
22 |
-
$this->data['lightmL'] =
|
23 |
// LEFT light margin = x X-dim (spec.)
|
24 |
-
$this->data['lightmR'] =
|
25 |
// RIGHT light margin = x X-dim (spec.)
|
26 |
$this->data['lightTB'] = 0;
|
27 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
12 |
* @param string $code
|
13 |
* @param float $printRatio
|
14 |
*/
|
15 |
+
public function __construct($code, $printRatio)
|
16 |
{
|
17 |
$this->init($code, $printRatio);
|
18 |
$this->data['nom-X'] = 0.381;
|
19 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
20 |
$this->data['nom-H'] = 10;
|
21 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
22 |
+
$this->data['lightmL'] = 10;
|
23 |
// LEFT light margin = x X-dim (spec.)
|
24 |
+
$this->data['lightmR'] = 10;
|
25 |
// RIGHT light margin = x X-dim (spec.)
|
26 |
$this->data['lightTB'] = 0;
|
27 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
vendor_prefixed/mpdf/mpdf/src/Barcode/Code128.php
CHANGED
@@ -14,16 +14,16 @@ class Code128 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFP
|
|
14 |
* @param string $type
|
15 |
* @param bool $ean
|
16 |
*/
|
17 |
-
public function __construct($code, $type = 'B', $ean = \false
|
18 |
{
|
19 |
$this->init($code, $type, $ean);
|
20 |
$this->data['nom-X'] = 0.381;
|
21 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
22 |
$this->data['nom-H'] = 10;
|
23 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
24 |
-
$this->data['lightmL'] =
|
25 |
// LEFT light margin = x X-dim (spec.)
|
26 |
-
$this->data['lightmR'] =
|
27 |
// RIGHT light margin = x X-dim (spec.)
|
28 |
$this->data['lightTB'] = 0;
|
29 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
14 |
* @param string $type
|
15 |
* @param bool $ean
|
16 |
*/
|
17 |
+
public function __construct($code, $type = 'B', $ean = \false)
|
18 |
{
|
19 |
$this->init($code, $type, $ean);
|
20 |
$this->data['nom-X'] = 0.381;
|
21 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
22 |
$this->data['nom-H'] = 10;
|
23 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
24 |
+
$this->data['lightmL'] = 10;
|
25 |
// LEFT light margin = x X-dim (spec.)
|
26 |
+
$this->data['lightmR'] = 10;
|
27 |
// RIGHT light margin = x X-dim (spec.)
|
28 |
$this->data['lightTB'] = 0;
|
29 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
vendor_prefixed/mpdf/mpdf/src/Barcode/Code39.php
CHANGED
@@ -13,16 +13,16 @@ class Code39 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPD
|
|
13 |
* @param bool $extended
|
14 |
* @param bool $checksum
|
15 |
*/
|
16 |
-
public function __construct($code, $printRatio, $extended = \false, $checksum = \false
|
17 |
{
|
18 |
$this->init($code, $printRatio, $extended, $checksum);
|
19 |
$this->data['nom-X'] = 0.381;
|
20 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
21 |
$this->data['nom-H'] = 10;
|
22 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
23 |
-
$this->data['lightmL'] =
|
24 |
// LEFT light margin = x X-dim (spec.)
|
25 |
-
$this->data['lightmR'] =
|
26 |
// RIGHT light margin = x X-dim (spec.)
|
27 |
$this->data['lightTB'] = 0;
|
28 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
13 |
* @param bool $extended
|
14 |
* @param bool $checksum
|
15 |
*/
|
16 |
+
public function __construct($code, $printRatio, $extended = \false, $checksum = \false)
|
17 |
{
|
18 |
$this->init($code, $printRatio, $extended, $checksum);
|
19 |
$this->data['nom-X'] = 0.381;
|
20 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
21 |
$this->data['nom-H'] = 10;
|
22 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
23 |
+
$this->data['lightmL'] = 10;
|
24 |
// LEFT light margin = x X-dim (spec.)
|
25 |
+
$this->data['lightmR'] = 10;
|
26 |
// RIGHT light margin = x X-dim (spec.)
|
27 |
$this->data['lightTB'] = 0;
|
28 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
vendor_prefixed/mpdf/mpdf/src/Barcode/Code93.php
CHANGED
@@ -11,16 +11,16 @@ class Code93 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPD
|
|
11 |
/**
|
12 |
* @param string $code
|
13 |
*/
|
14 |
-
public function __construct($code
|
15 |
{
|
16 |
$this->init($code);
|
17 |
$this->data['nom-X'] = 0.381;
|
18 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
19 |
$this->data['nom-H'] = 10;
|
20 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
21 |
-
$this->data['lightmL'] =
|
22 |
// LEFT light margin = x X-dim (spec.)
|
23 |
-
$this->data['lightmR'] =
|
24 |
// RIGHT light margin = x X-dim (spec.)
|
25 |
$this->data['lightTB'] = 0;
|
26 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
11 |
/**
|
12 |
* @param string $code
|
13 |
*/
|
14 |
+
public function __construct($code)
|
15 |
{
|
16 |
$this->init($code);
|
17 |
$this->data['nom-X'] = 0.381;
|
18 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
19 |
$this->data['nom-H'] = 10;
|
20 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
21 |
+
$this->data['lightmL'] = 10;
|
22 |
// LEFT light margin = x X-dim (spec.)
|
23 |
+
$this->data['lightmR'] = 10;
|
24 |
// RIGHT light margin = x X-dim (spec.)
|
25 |
$this->data['lightTB'] = 0;
|
26 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
vendor_prefixed/mpdf/mpdf/src/Barcode/I25.php
CHANGED
@@ -15,16 +15,16 @@ class I25 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPDF_V
|
|
15 |
* @param float $printRatio
|
16 |
* @param bool $checksum
|
17 |
*/
|
18 |
-
public function __construct($code, $topBottomMargin, $printRatio, $checksum = \false
|
19 |
{
|
20 |
$this->init($code, $printRatio, $checksum);
|
21 |
$this->data['nom-X'] = 0.381;
|
22 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
23 |
$this->data['nom-H'] = 10;
|
24 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
25 |
-
$this->data['lightmL'] =
|
26 |
// LEFT light margin = x X-dim (spec.)
|
27 |
-
$this->data['lightmR'] =
|
28 |
// RIGHT light margin = x X-dim (spec.)
|
29 |
$this->data['lightTB'] = $topBottomMargin;
|
30 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
15 |
* @param float $printRatio
|
16 |
* @param bool $checksum
|
17 |
*/
|
18 |
+
public function __construct($code, $topBottomMargin, $printRatio, $checksum = \false)
|
19 |
{
|
20 |
$this->init($code, $printRatio, $checksum);
|
21 |
$this->data['nom-X'] = 0.381;
|
22 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
23 |
$this->data['nom-H'] = 10;
|
24 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
25 |
+
$this->data['lightmL'] = 10;
|
26 |
// LEFT light margin = x X-dim (spec.)
|
27 |
+
$this->data['lightmR'] = 10;
|
28 |
// RIGHT light margin = x X-dim (spec.)
|
29 |
$this->data['lightTB'] = $topBottomMargin;
|
30 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
vendor_prefixed/mpdf/mpdf/src/Barcode/Msi.php
CHANGED
@@ -12,16 +12,16 @@ class Msi extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPDF_V
|
|
12 |
* @param int $code
|
13 |
* @param bool $checksum
|
14 |
*/
|
15 |
-
public function __construct($code, $checksum = \false
|
16 |
{
|
17 |
$this->init($code, $checksum);
|
18 |
$this->data['nom-X'] = 0.381;
|
19 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
20 |
$this->data['nom-H'] = 10;
|
21 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
22 |
-
$this->data['lightmL'] =
|
23 |
// LEFT light margin = x X-dim (spec.)
|
24 |
-
$this->data['lightmR'] =
|
25 |
// RIGHT light margin = x X-dim (spec.)
|
26 |
$this->data['lightTB'] = 0;
|
27 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
12 |
* @param int $code
|
13 |
* @param bool $checksum
|
14 |
*/
|
15 |
+
public function __construct($code, $checksum = \false)
|
16 |
{
|
17 |
$this->init($code, $checksum);
|
18 |
$this->data['nom-X'] = 0.381;
|
19 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
20 |
$this->data['nom-H'] = 10;
|
21 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
22 |
+
$this->data['lightmL'] = 12;
|
23 |
// LEFT light margin = x X-dim (spec.)
|
24 |
+
$this->data['lightmR'] = 12;
|
25 |
// RIGHT light margin = x X-dim (spec.)
|
26 |
$this->data['lightTB'] = 0;
|
27 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
vendor_prefixed/mpdf/mpdf/src/Barcode/S25.php
CHANGED
@@ -13,16 +13,16 @@ class S25 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPDF_V
|
|
13 |
* @param string $code
|
14 |
* @param bool $checksum
|
15 |
*/
|
16 |
-
public function __construct($code, $checksum = \false
|
17 |
{
|
18 |
$this->init($code, $checksum);
|
19 |
$this->data['nom-X'] = 0.381;
|
20 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
21 |
$this->data['nom-H'] = 10;
|
22 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
23 |
-
$this->data['lightmL'] =
|
24 |
// LEFT light margin = x X-dim (spec.)
|
25 |
-
$this->data['lightmR'] =
|
26 |
// RIGHT light margin = x X-dim (spec.)
|
27 |
$this->data['lightTB'] = 0;
|
28 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
13 |
* @param string $code
|
14 |
* @param bool $checksum
|
15 |
*/
|
16 |
+
public function __construct($code, $checksum = \false)
|
17 |
{
|
18 |
$this->init($code, $checksum);
|
19 |
$this->data['nom-X'] = 0.381;
|
20 |
// Nominal value for X-dim (bar width) in mm (2 X min. spec.)
|
21 |
$this->data['nom-H'] = 10;
|
22 |
// Nominal value for Height of Full bar in mm (non-spec.)
|
23 |
+
$this->data['lightmL'] = 10;
|
24 |
// LEFT light margin = x X-dim (spec.)
|
25 |
+
$this->data['lightmR'] = 10;
|
26 |
// RIGHT light margin = x X-dim (spec.)
|
27 |
$this->data['lightTB'] = 0;
|
28 |
// TOP/BOTTOM light margin = x X-dim (non-spec.)
|
vendor_prefixed/mpdf/mpdf/src/Cache.php
CHANGED
@@ -59,7 +59,6 @@ class Cache
|
|
59 |
{
|
60 |
$tempFile = \tempnam($this->basePath, 'cache_tmp_');
|
61 |
\file_put_contents($tempFile, $data);
|
62 |
-
\chmod($tempFile, 0664);
|
63 |
$path = $this->getFilePath($filename);
|
64 |
\rename($tempFile, $path);
|
65 |
return $path;
|
59 |
{
|
60 |
$tempFile = \tempnam($this->basePath, 'cache_tmp_');
|
61 |
\file_put_contents($tempFile, $data);
|
|
|
62 |
$path = $this->getFilePath($filename);
|
63 |
\rename($tempFile, $path);
|
64 |
return $path;
|
vendor_prefixed/mpdf/mpdf/src/Color/ColorConverter.php
CHANGED
@@ -36,7 +36,7 @@ class ColorConverter
|
|
36 |
$cstr = '';
|
37 |
if (\is_array($c)) {
|
38 |
$c = \array_pad($c, 6, 0);
|
39 |
-
$cstr = \pack('a1ccccc', $c[0],
|
40 |
}
|
41 |
$this->cache[$color] = $cstr;
|
42 |
}
|
@@ -56,7 +56,7 @@ class ColorConverter
|
|
56 |
$ret = [1, \min(255, \ord($c[1]) + 32)];
|
57 |
}
|
58 |
$c = \array_pad($ret, 6, 0);
|
59 |
-
$cstr = \pack('a1ccccc', $c[0],
|
60 |
return $cstr;
|
61 |
}
|
62 |
public function darken($c)
|
@@ -159,9 +159,9 @@ class ColorConverter
|
|
159 |
if (\strlen($cor) === 4) {
|
160 |
$cor = '#' . $cor[1] . $cor[1] . $cor[2] . $cor[2] . $cor[3] . $cor[3];
|
161 |
}
|
162 |
-
$r =
|
163 |
-
$g =
|
164 |
-
$b =
|
165 |
return [3, $r, $g, $b];
|
166 |
}
|
167 |
/**
|
@@ -267,14 +267,4 @@ class ColorConverter
|
|
267 |
throw new \GFPDF_Vendor\Mpdf\MpdfException('Invalid color input, invalid color mode in binary color string');
|
268 |
}
|
269 |
}
|
270 |
-
/**
|
271 |
-
* Converts the given hexString to its decimal representation when all digits are hexadecimal
|
272 |
-
*
|
273 |
-
* @param string $hexString The hexadecimal string to convert
|
274 |
-
* @return float|int The decimal representation of hexString or 0 if not all digits of hexString are hexadecimal
|
275 |
-
*/
|
276 |
-
private function safeHexDec($hexString)
|
277 |
-
{
|
278 |
-
return \ctype_xdigit($hexString) ? \hexdec($hexString) : 0;
|
279 |
-
}
|
280 |
}
|
36 |
$cstr = '';
|
37 |
if (\is_array($c)) {
|
38 |
$c = \array_pad($c, 6, 0);
|
39 |
+
$cstr = \pack('a1ccccc', $c[0], $c[1] & 0xff, $c[2] & 0xff, $c[3] & 0xff, $c[4] & 0xff, $c[5] & 0xff);
|
40 |
}
|
41 |
$this->cache[$color] = $cstr;
|
42 |
}
|
56 |
$ret = [1, \min(255, \ord($c[1]) + 32)];
|
57 |
}
|
58 |
$c = \array_pad($ret, 6, 0);
|
59 |
+
$cstr = \pack('a1ccccc', $c[0], $c[1] & 0xff, $c[2] & 0xff, $c[3] & 0xff, $c[4] & 0xff, $c[5] & 0xff);
|
60 |
return $cstr;
|
61 |
}
|
62 |
public function darken($c)
|
159 |
if (\strlen($cor) === 4) {
|
160 |
$cor = '#' . $cor[1] . $cor[1] . $cor[2] . $cor[2] . $cor[3] . $cor[3];
|
161 |
}
|
162 |
+
$r = \hexdec(\substr($cor, 1, 2));
|
163 |
+
$g = \hexdec(\substr($cor, 3, 2));
|
164 |
+
$b = \hexdec(\substr($cor, 5, 2));
|
165 |
return [3, $r, $g, $b];
|
166 |
}
|
167 |
/**
|
267 |
throw new \GFPDF_Vendor\Mpdf\MpdfException('Invalid color input, invalid color mode in binary color string');
|
268 |
}
|
269 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
}
|
vendor_prefixed/mpdf/mpdf/src/Config/ConfigVariables.php
CHANGED
@@ -433,7 +433,6 @@ class ConfigVariables
|
|
433 |
'curlAllowUnsafeSslRequests' => \false,
|
434 |
'curlCaCertificate' => '',
|
435 |
'curlTimeout' => 5,
|
436 |
-
'curlExecutionTimeout' => null,
|
437 |
'curlProxy' => null,
|
438 |
'curlProxyAuth' => null,
|
439 |
'curlUserAgent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1',
|
433 |
'curlAllowUnsafeSslRequests' => \false,
|
434 |
'curlCaCertificate' => '',
|
435 |
'curlTimeout' => 5,
|
|
|
436 |
'curlProxy' => null,
|
437 |
'curlProxyAuth' => null,
|
438 |
'curlUserAgent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1',
|
vendor_prefixed/mpdf/mpdf/src/CssManager.php
CHANGED
@@ -33,11 +33,7 @@ class CssManager
|
|
33 |
var $cell_border_dominance_L;
|
34 |
var $cell_border_dominance_R;
|
35 |
var $cell_border_dominance_T;
|
36 |
-
|
37 |
-
* @var \Mpdf\RemoteContentFetcher
|
38 |
-
*/
|
39 |
-
private $remoteContentFetcher;
|
40 |
-
public function __construct(\GFPDF_Vendor\Mpdf\Mpdf $mpdf, \GFPDF_Vendor\Mpdf\Cache $cache, \GFPDF_Vendor\Mpdf\SizeConverter $sizeConverter, \GFPDF_Vendor\Mpdf\Color\ColorConverter $colorConverter, \GFPDF_Vendor\Mpdf\RemoteContentFetcher $remoteContentFetcher)
|
41 |
{
|
42 |
$this->mpdf = $mpdf;
|
43 |
$this->cache = $cache;
|
@@ -47,7 +43,6 @@ class CssManager
|
|
47 |
$this->cascadeCSS = [];
|
48 |
$this->tbCSSlvl = 0;
|
49 |
$this->colorConverter = $colorConverter;
|
50 |
-
$this->remoteContentFetcher = $remoteContentFetcher;
|
51 |
}
|
52 |
function ReadCSS($html)
|
53 |
{
|
@@ -2076,13 +2071,13 @@ class CssManager
|
|
2076 |
$localpath = $path;
|
2077 |
}
|
2078 |
$contents = @\file_get_contents($localpath);
|
2079 |
-
}
|
2080 |
// if not use full URL
|
2081 |
-
|
2082 |
-
|
2083 |
-
|
2084 |
-
|
2085 |
-
|
2086 |
}
|
2087 |
return $contents;
|
2088 |
}
|
33 |
var $cell_border_dominance_L;
|
34 |
var $cell_border_dominance_R;
|
35 |
var $cell_border_dominance_T;
|
36 |
+
public function __construct(\GFPDF_Vendor\Mpdf\Mpdf $mpdf, \GFPDF_Vendor\Mpdf\Cache $cache, \GFPDF_Vendor\Mpdf\SizeConverter $sizeConverter, \GFPDF_Vendor\Mpdf\Color\ColorConverter $colorConverter)
|
|
|
|
|
|
|
|
|
37 |
{
|
38 |
$this->mpdf = $mpdf;
|
39 |
$this->cache = $cache;
|
43 |
$this->cascadeCSS = [];
|
44 |
$this->tbCSSlvl = 0;
|
45 |
$this->colorConverter = $colorConverter;
|
|
|
46 |
}
|
47 |
function ReadCSS($html)
|
48 |
{
|
2071 |
$localpath = $path;
|
2072 |
}
|
2073 |
$contents = @\file_get_contents($localpath);
|
2074 |
+
} elseif (!$contents && !\ini_get('allow_url_fopen') && \function_exists('curl_init')) {
|
2075 |
// if not use full URL
|
2076 |
+
$ch = \curl_init($path);
|
2077 |
+
\curl_setopt($ch, \CURLOPT_HEADER, 0);
|
2078 |
+
\curl_setopt($ch, \CURLOPT_RETURNTRANSFER, 1);
|
2079 |
+
$contents = \curl_exec($ch);
|
2080 |
+
\curl_close($ch);
|
2081 |
}
|
2082 |
return $contents;
|
2083 |
}
|
vendor_prefixed/mpdf/mpdf/src/Gradient.php
CHANGED
@@ -50,7 +50,7 @@ class Gradient
|
|
50 |
$this->mpdf->gradients[$n]['stream'] .= \chr($patch_array[$i]['f']);
|
51 |
//start with the edge flag as 8 bit
|
52 |
for ($j = 0; $j < \count($patch_array[$i]['points']); $j++) {
|
53 |
-
//
|
54 |
if ($j % 2 == 1) {
|
55 |
// Y coordinate (adjusted as input is From top left)
|
56 |
$patch_array[$i]['points'][$j] = ($patch_array[$i]['points'][$j] - $y_min) / ($y_max - $y_min) * $bpcd;
|
@@ -65,7 +65,7 @@ class Gradient
|
|
65 |
$patch_array[$i]['points'][$j] = $bpcd;
|
66 |
}
|
67 |
$this->mpdf->gradients[$n]['stream'] .= \chr(\floor($patch_array[$i]['points'][$j] / 256));
|
68 |
-
$this->mpdf->gradients[$n]['stream'] .= \chr(\floor(
|
69 |
}
|
70 |
for ($j = 0; $j < \count($patch_array[$i]['colors']); $j++) {
|
71 |
//each color component as 8 bit
|
@@ -99,12 +99,12 @@ class Gradient
|
|
99 |
for ($i = 0; $i < \count($patch_array); $i++) {
|
100 |
$this->mpdf->gradients[$n]['stream_trans'] .= \chr($patch_array[$i]['f']);
|
101 |
for ($j = 0; $j < \count($patch_array[$i]['points']); $j++) {
|
102 |
-
//
|
103 |
$this->mpdf->gradients[$n]['stream_trans'] .= \chr(\floor($patch_array[$i]['points'][$j] / 256));
|
104 |
-
$this->mpdf->gradients[$n]['stream_trans'] .= \chr(\floor(
|
105 |
}
|
106 |
for ($j = 0; $j < \count($patch_array[$i]['colors']); $j++) {
|
107 |
-
//
|
108 |
if ($colspace === 'RGB') {
|
109 |
$this->mpdf->gradients[$n]['stream_trans'] .= \chr((int) (\ord($patch_array[$i]['colors'][$j][4]) * 2.55));
|
110 |
} elseif ($colspace === 'CMYK') {
|
@@ -117,9 +117,9 @@ class Gradient
|
|
117 |
$this->mpdf->gradients[$n]['trans'] = \true;
|
118 |
$s .= ' /TGS' . $n . ' gs ';
|
119 |
}
|
120 |
-
//
|
121 |
$s .= '/Sh' . $n . ' sh' . "\n";
|
122 |
-
//
|
123 |
$s .= 'Q' . "\n";
|
124 |
if ($return) {
|
125 |
return $s;
|
@@ -136,9 +136,9 @@ class Gradient
|
|
136 |
// $stops = array('col'=>$col [, 'opacity'=>0-1] [, 'offset'=>0-1])
|
137 |
public function Gradient($x, $y, $w, $h, $type, $stops = [], $colorspace = 'RGB', $coords = '', $extend = '', $return = \false, $is_mask = \false)
|
138 |
{
|
139 |
-
if (
|
140 |
$type = self::TYPE_LINEAR;
|
141 |
-
} elseif (
|
142 |
$type = self::TYPE_RADIAL;
|
143 |
}
|
144 |
if ($colorspace !== 'CMYK' && $colorspace !== 'Gray') {
|
@@ -491,7 +491,7 @@ class Gradient
|
|
491 |
for ($i = 0; $i < \count($stops); $i++) {
|
492 |
if (isset($stops[$i]['offset']) && \preg_match('/([0-9.]+(px|em|ex|pc|pt|cm|mm|in))/i', $stops[$i]['offset'], $m)) {
|
493 |
$tmp = $this->sizeConverter->convert($m[1], $this->mpdf->w, $this->mpdf->FontSize, \false);
|
494 |
-
$stops[$i]['offset'] = $
|
495 |
}
|
496 |
}
|
497 |
if (isset($stops[0]['offset']) && $stops[0]['offset'] > 0) {
|
50 |
$this->mpdf->gradients[$n]['stream'] .= \chr($patch_array[$i]['f']);
|
51 |
//start with the edge flag as 8 bit
|
52 |
for ($j = 0; $j < \count($patch_array[$i]['points']); $j++) {
|
53 |
+
//each point as 16 bit
|
54 |
if ($j % 2 == 1) {
|
55 |
// Y coordinate (adjusted as input is From top left)
|
56 |
$patch_array[$i]['points'][$j] = ($patch_array[$i]['points'][$j] - $y_min) / ($y_max - $y_min) * $bpcd;
|
65 |
$patch_array[$i]['points'][$j] = $bpcd;
|
66 |
}
|
67 |
$this->mpdf->gradients[$n]['stream'] .= \chr(\floor($patch_array[$i]['points'][$j] / 256));
|
68 |
+
$this->mpdf->gradients[$n]['stream'] .= \chr(\floor($patch_array[$i]['points'][$j] % 256));
|
69 |
}
|
70 |
for ($j = 0; $j < \count($patch_array[$i]['colors']); $j++) {
|
71 |
//each color component as 8 bit
|
99 |
for ($i = 0; $i < \count($patch_array); $i++) {
|
100 |
$this->mpdf->gradients[$n]['stream_trans'] .= \chr($patch_array[$i]['f']);
|
101 |
for ($j = 0; $j < \count($patch_array[$i]['points']); $j++) {
|
102 |
+
//each point as 16 bit
|
103 |
$this->mpdf->gradients[$n]['stream_trans'] .= \chr(\floor($patch_array[$i]['points'][$j] / 256));
|
104 |
+
$this->mpdf->gradients[$n]['stream_trans'] .= \chr(\floor($patch_array[$i]['points'][$j] % 256));
|
105 |
}
|
106 |
for ($j = 0; $j < \count($patch_array[$i]['colors']); $j++) {
|
107 |
+
//each color component as 8 bit // OPACITY
|
108 |
if ($colspace === 'RGB') {
|
109 |
$this->mpdf->gradients[$n]['stream_trans'] .= \chr((int) (\ord($patch_array[$i]['colors'][$j][4]) * 2.55));
|
110 |
} elseif ($colspace === 'CMYK') {
|
117 |
$this->mpdf->gradients[$n]['trans'] = \true;
|
118 |
$s .= ' /TGS' . $n . ' gs ';
|
119 |
}
|
120 |
+
//paint the gradient
|
121 |
$s .= '/Sh' . $n . ' sh' . "\n";
|
122 |
+
//restore previous Graphic State
|
123 |
$s .= 'Q' . "\n";
|
124 |
if ($return) {
|
125 |
return $s;
|
136 |
// $stops = array('col'=>$col [, 'opacity'=>0-1] [, 'offset'=>0-1])
|
137 |
public function Gradient($x, $y, $w, $h, $type, $stops = [], $colorspace = 'RGB', $coords = '', $extend = '', $return = \false, $is_mask = \false)
|
138 |
{
|
139 |
+
if (\stripos($type, 'L') === 0) {
|
140 |
$type = self::TYPE_LINEAR;
|
141 |
+
} elseif (\stripos($type, 'R') === 0) {
|
142 |
$type = self::TYPE_RADIAL;
|
143 |
}
|
144 |
if ($colorspace !== 'CMYK' && $colorspace !== 'Gray') {
|
491 |
for ($i = 0; $i < \count($stops); $i++) {
|
492 |
if (isset($stops[$i]['offset']) && \preg_match('/([0-9.]+(px|em|ex|pc|pt|cm|mm|in))/i', $stops[$i]['offset'], $m)) {
|
493 |
$tmp = $this->sizeConverter->convert($m[1], $this->mpdf->w, $this->mpdf->FontSize, \false);
|
494 |
+
$stops[$i]['offset'] = $tmp / $axis_length;
|
495 |
}
|
496 |
}
|
497 |
if (isset($stops[0]['offset']) && $stops[0]['offset'] > 0) {
|
vendor_prefixed/mpdf/mpdf/src/Image/ImageProcessor.php
CHANGED
@@ -109,15 +109,11 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
|
|
109 |
/**
|
110 |
* Prevents insecure PHP object injection through phar:// wrapper
|
111 |
* @see https://github.com/mpdf/mpdf/issues/949
|
112 |
-
* @see https://github.com/mpdf/mpdf/issues/1381
|
113 |
*/
|
114 |
$wrapperChecker = new \GFPDF_Vendor\Mpdf\File\StreamWrapperChecker($this->mpdf);
|
115 |
if ($wrapperChecker->hasBlacklistedStreamWrapper($file)) {
|
116 |
return $this->imageError($file, $firsttime, 'File contains an invalid stream. Only ' . \implode(', ', $wrapperChecker->getWhitelistedStreamWrappers()) . ' streams are allowed.');
|
117 |
}
|
118 |
-
if ($wrapperChecker->hasBlacklistedStreamWrapper($orig_srcpath)) {
|
119 |
-
return $this->imageError($orig_srcpath, $firsttime, 'File contains an invalid stream. Only ' . \implode(', ', $wrapperChecker->getWhitelistedStreamWrappers()) . ' streams are allowed.');
|
120 |
-
}
|
121 |
// mPDF 6
|
122 |
// firsttime i.e. whether to add to this->images - use false when calling iteratively
|
123 |
// Image Data passed directly as var:varname
|
@@ -130,7 +126,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
|
|
130 |
$data = $this->mpdf->imageVars[$v[1]];
|
131 |
$file = \md5($data);
|
132 |
}
|
133 |
-
if (\preg_match('/data:image\\/(gif|jpe?g|png
|
134 |
$type = $v[1];
|
135 |
$data = \base64_decode($v[2]);
|
136 |
$file = \md5($data);
|
@@ -227,25 +223,6 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
|
|
227 |
$this->mpdf->formobjects[$file] = $info;
|
228 |
return $info;
|
229 |
}
|
230 |
-
if ($type === 'webp') {
|
231 |
-
// Convert webp images to JPG and treat them as such
|
232 |
-
$im = @\imagecreatefromstring($data);
|
233 |
-
if (!\function_exists('imagewebp') || \false === $im) {
|
234 |
-
return $this->imageError($file, $firsttime, 'Missing GD support for WEBP images.');
|
235 |
-
}
|
236 |
-
$tempfile = $this->cache->tempFilename('_tempImgPNG' . \md5($file) . \random_int(1, 10000) . '.jpg');
|
237 |
-
$checkfile = $this->cache->tempFilename('_tempImgPNG' . \md5($file) . \random_int(1, 10000) . '.jpg');
|
238 |
-
$check = @\imagewebp($im, $checkfile);
|
239 |
-
if (!$check) {
|
240 |
-
return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') when using GD library to parse WEBP image');
|
241 |
-
}
|
242 |
-
@\imagejpeg($im, $tempfile);
|
243 |
-
$data = \file_get_contents($tempfile);
|
244 |
-
\imagedestroy($im);
|
245 |
-
\unlink($tempfile);
|
246 |
-
\unlink($checkfile);
|
247 |
-
$type = 'jpeg';
|
248 |
-
}
|
249 |
// JPEG
|
250 |
if ($type === 'jpeg' || $type === 'jpg') {
|
251 |
$hdr = $this->jpgHeaderFromString($data);
|
@@ -281,7 +258,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
|
|
281 |
\imageinterlace($im, \false);
|
282 |
$check = @\imagepng($im, $tempfile);
|
283 |
if (!$check) {
|
284 |
-
return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ')
|
285 |
}
|
286 |
$info = $this->getImage($tempfile, \false);
|
287 |
if (!$info) {
|
@@ -808,7 +785,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
|
|
808 |
\ob_start();
|
809 |
$check = @\imagepng($im);
|
810 |
if (!$check) {
|
811 |
-
return $this->imageError($file, $firsttime, 'Error creating temporary image object
|
812 |
}
|
813 |
$this->mpdf->imageVars['tempImage'] = \ob_get_contents();
|
814 |
$tempimglnk = 'var:tempImage';
|
@@ -821,7 +798,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
|
|
821 |
} else {
|
822 |
$check = @\imagepng($im, $tempfile);
|
823 |
if (!$check) {
|
824 |
-
return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ')
|
825 |
}
|
826 |
$info = $this->getImage($tempfile, \false);
|
827 |
if (!$info) {
|
@@ -935,7 +912,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
|
|
935 |
\imageinterlace($im, \false);
|
936 |
$check = @\imagepng($im, $tempfile);
|
937 |
if (!$check) {
|
938 |
-
return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ')
|
939 |
}
|
940 |
$info = $this->getImage($tempfile, \false);
|
941 |
\imagedestroy($im);
|
109 |
/**
|
110 |
* Prevents insecure PHP object injection through phar:// wrapper
|
111 |
* @see https://github.com/mpdf/mpdf/issues/949
|
|
|
112 |
*/
|
113 |
$wrapperChecker = new \GFPDF_Vendor\Mpdf\File\StreamWrapperChecker($this->mpdf);
|
114 |
if ($wrapperChecker->hasBlacklistedStreamWrapper($file)) {
|
115 |
return $this->imageError($file, $firsttime, 'File contains an invalid stream. Only ' . \implode(', ', $wrapperChecker->getWhitelistedStreamWrappers()) . ' streams are allowed.');
|
116 |
}
|
|
|
|
|
|
|
117 |
// mPDF 6
|
118 |
// firsttime i.e. whether to add to this->images - use false when calling iteratively
|
119 |
// Image Data passed directly as var:varname
|
126 |
$data = $this->mpdf->imageVars[$v[1]];
|
127 |
$file = \md5($data);
|
128 |
}
|
129 |
+
if (\preg_match('/data:image\\/(gif|jpe?g|png);base64,(.*)/', $file, $v)) {
|
130 |
$type = $v[1];
|
131 |
$data = \base64_decode($v[2]);
|
132 |
$file = \md5($data);
|
223 |
$this->mpdf->formobjects[$file] = $info;
|
224 |
return $info;
|
225 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
// JPEG
|
227 |
if ($type === 'jpeg' || $type === 'jpg') {
|
228 |
$hdr = $this->jpgHeaderFromString($data);
|
258 |
\imageinterlace($im, \false);
|
259 |
$check = @\imagepng($im, $tempfile);
|
260 |
if (!$check) {
|
261 |
+
return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') whilst using GD library to parse JPG(CMYK) image');
|
262 |
}
|
263 |
$info = $this->getImage($tempfile, \false);
|
264 |
if (!$info) {
|
785 |
\ob_start();
|
786 |
$check = @\imagepng($im);
|
787 |
if (!$check) {
|
788 |
+
return $this->imageError($file, $firsttime, 'Error creating temporary image object whilst using GD library to parse GIF image');
|
789 |
}
|
790 |
$this->mpdf->imageVars['tempImage'] = \ob_get_contents();
|
791 |
$tempimglnk = 'var:tempImage';
|
798 |
} else {
|
799 |
$check = @\imagepng($im, $tempfile);
|
800 |
if (!$check) {
|
801 |
+
return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') whilst using GD library to parse GIF image');
|
802 |
}
|
803 |
$info = $this->getImage($tempfile, \false);
|
804 |
if (!$info) {
|
912 |
\imageinterlace($im, \false);
|
913 |
$check = @\imagepng($im, $tempfile);
|
914 |
if (!$check) {
|
915 |
+
return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') whilst using GD library to parse unknown image type');
|
916 |
}
|
917 |
$info = $this->getImage($tempfile, \false);
|
918 |
\imagedestroy($im);
|
vendor_prefixed/mpdf/mpdf/src/Image/ImageTypeGuesser.php
CHANGED
@@ -15,9 +15,6 @@ class ImageTypeGuesser
|
|
15 |
// 0xFF 0xD8 // mpDF 5.7.2
|
16 |
return 'jpeg';
|
17 |
}
|
18 |
-
if (\in_array(\substr($data, 0, 4), ['RIFF'], \true)) {
|
19 |
-
return 'webp';
|
20 |
-
}
|
21 |
if (\in_array(\substr($data, 0, 6), ['GIF87a', 'GIF89a'], \true)) {
|
22 |
return 'gif';
|
23 |
}
|
15 |
// 0xFF 0xD8 // mpDF 5.7.2
|
16 |
return 'jpeg';
|
17 |
}
|
|
|
|
|
|
|
18 |
if (\in_array(\substr($data, 0, 6), ['GIF87a', 'GIF89a'], \true)) {
|
19 |
return 'gif';
|
20 |
}
|
vendor_prefixed/mpdf/mpdf/src/Image/Svg.php
CHANGED
@@ -596,17 +596,17 @@ class Svg
|
|
596 |
$y2 = 0;
|
597 |
}
|
598 |
// mPDF 6
|
599 |
-
if (\
|
600 |
-
$x1 = (
|
601 |
}
|
602 |
-
if (\
|
603 |
-
$x2 = (
|
604 |
}
|
605 |
-
if (\
|
606 |
-
$y1 = (
|
607 |
}
|
608 |
-
if (\
|
609 |
-
$y2 = (
|
610 |
}
|
611 |
// mPDF 5.0.042
|
612 |
$bboxw = $w;
|
@@ -845,23 +845,23 @@ class Svg
|
|
845 |
} else {
|
846 |
$y1 = $y0;
|
847 |
}
|
848 |
-
if (\
|
849 |
-
$x1 = (
|
850 |
}
|
851 |
-
if (\
|
852 |
-
$x0 = (
|
853 |
}
|
854 |
-
if (\
|
855 |
-
$y1 = (
|
856 |
}
|
857 |
-
if (\
|
858 |
-
$y0 = (
|
859 |
}
|
860 |
-
if (\
|
861 |
-
$rx = (
|
862 |
}
|
863 |
-
if (\
|
864 |
-
$ry = (
|
865 |
}
|
866 |
$bboxw = $w;
|
867 |
$bboxh = $h;
|
@@ -1412,9 +1412,6 @@ class Svg
|
|
1412 |
// 5, 3, 1 => 5,3,1,5,3,1 OR 3 => 3,3
|
1413 |
$arr = '';
|
1414 |
for ($i = 0; $i < \count($d); $i += 2) {
|
1415 |
-
if ($d[$i] === 'none') {
|
1416 |
-
continue;
|
1417 |
-
}
|
1418 |
$arr .= \sprintf('%.3F %.3F ', $d[$i] * $this->kp, $d[$i + 1] * $this->kp);
|
1419 |
}
|
1420 |
if (isset($critere_style['stroke-dashoffset'])) {
|
596 |
$y2 = 0;
|
597 |
}
|
598 |
// mPDF 6
|
599 |
+
if (\stristr($x1, '%') !== \false) {
|
600 |
+
$x1 = ($x1 + 0) / 100;
|
601 |
}
|
602 |
+
if (\stristr($x2, '%') !== \false) {
|
603 |
+
$x2 = ($x2 + 0) / 100;
|
604 |
}
|
605 |
+
if (\stristr($y1, '%') !== \false) {
|
606 |
+
$y1 = ($y1 + 0) / 100;
|
607 |
}
|
608 |
+
if (\stristr($y2, '%') !== \false) {
|
609 |
+
$y2 = ($y2 + 0) / 100;
|
610 |
}
|
611 |
// mPDF 5.0.042
|
612 |
$bboxw = $w;
|
845 |
} else {
|
846 |
$y1 = $y0;
|
847 |
}
|
848 |
+
if (\stristr($x1, '%') !== \false) {
|
849 |
+
$x1 = ($x1 + 0) / 100;
|
850 |
}
|
851 |
+
if (\stristr($x0, '%') !== \false) {
|
852 |
+
$x0 = ($x0 + 0) / 100;
|
853 |
}
|
854 |
+
if (\stristr($y1, '%') !== \false) {
|
855 |
+
$y1 = ($y1 + 0) / 100;
|
856 |
}
|
857 |
+
if (\stristr($y0, '%') !== \false) {
|
858 |
+
$y0 = ($y0 + 0) / 100;
|
859 |
}
|
860 |
+
if (\stristr($rx, '%') !== \false) {
|
861 |
+
$rx = ($rx + 0) / 100;
|
862 |
}
|
863 |
+
if (\stristr($ry, '%') !== \false) {
|
864 |
+
$ry = ($ry + 0) / 100;
|
865 |
}
|
866 |
$bboxw = $w;
|
867 |
$bboxh = $h;
|
1412 |
// 5, 3, 1 => 5,3,1,5,3,1 OR 3 => 3,3
|
1413 |
$arr = '';
|
1414 |
for ($i = 0; $i < \count($d); $i += 2) {
|
|
|
|
|
|
|
1415 |
$arr .= \sprintf('%.3F %.3F ', $d[$i] * $this->kp, $d[$i + 1] * $this->kp);
|
1416 |
}
|
1417 |
if (isset($critere_style['stroke-dashoffset'])) {
|
vendor_prefixed/mpdf/mpdf/src/Mpdf.php
CHANGED
@@ -28,7 +28,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
28 |
{
|
29 |
use Strict;
|
30 |
use FpdiTrait;
|
31 |
-
const VERSION = '8.0.
|
32 |
const SCALE = 72 / 25.4;
|
33 |
var $useFixedNormalLineHeight;
|
34 |
// mPDF 6
|
@@ -326,7 +326,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
326 |
var $pageTemplate;
|
327 |
var $docTemplate;
|
328 |
var $docTemplateContinue;
|
329 |
-
var $docTemplateContinue2pages;
|
330 |
var $arabGlyphs;
|
331 |
var $arabHex;
|
332 |
var $persianGlyphs;
|
@@ -577,12 +576,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
577 |
* @var int
|
578 |
*/
|
579 |
var $curlTimeout;
|
580 |
-
/**
|
581 |
-
* Set execution timeout for cURL
|
582 |
-
*
|
583 |
-
* @var int
|
584 |
-
*/
|
585 |
-
var $curlExecutionTimeout;
|
586 |
/**
|
587 |
* Set to true to follow redirects with cURL.
|
588 |
*
|
@@ -769,7 +762,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
769 |
var $outerblocktags;
|
770 |
var $innerblocktags;
|
771 |
public $exposeVersion;
|
772 |
-
private $preambleWritten = \false;
|
773 |
/**
|
774 |
* @var string
|
775 |
*/
|
@@ -1337,12 +1329,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
1337 |
{
|
1338 |
\mb_internal_encoding($this->originalMbEnc);
|
1339 |
@\mb_regex_encoding($this->originalMbRegexEnc);
|
1340 |
-
// this will free up the readers, based on code from Setasign's FpdiTrait::cleanUp()
|
1341 |
-
foreach ($this->createdReaders as $id) {
|
1342 |
-
$this->readers[$id]->getParser()->getStreamReader()->cleanUp();
|
1343 |
-
unset($this->readers[$id]);
|
1344 |
-
}
|
1345 |
-
$this->createdReaders = [];
|
1346 |
}
|
1347 |
/**
|
1348 |
* @param \Psr\Log\LoggerInterface
|
@@ -1696,13 +1682,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
1696 |
{
|
1697 |
// Begin document
|
1698 |
if ($this->state == 0) {
|
|
|
|
|
1699 |
$this->state = 1;
|
1700 |
-
|
1701 |
-
|
1702 |
-
|
1703 |
-
// 4 chars > 128 to show binary file
|
1704 |
-
$this->preambleWritten = \true;
|
1705 |
-
}
|
1706 |
}
|
1707 |
}
|
1708 |
function Close()
|
@@ -1722,6 +1707,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
1722 |
if ($this->tablebuffer) {
|
1723 |
$this->printtablebuffer();
|
1724 |
}
|
|
|
1725 |
/* -- COLUMNS -- */
|
1726 |
if ($this->ColActive) {
|
1727 |
$this->SetColumns(0);
|
@@ -1750,6 +1736,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
1750 |
if ($this->tableOfContents->TOCmark || \count($this->tableOfContents->m_TOC)) {
|
1751 |
$this->tableOfContents->insertTOC();
|
1752 |
}
|
|
|
1753 |
// Close page
|
1754 |
$this->_endpage();
|
1755 |
// Close document
|
@@ -2785,21 +2772,14 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
2785 |
$this->_endpage();
|
2786 |
}
|
2787 |
// Start new page
|
2788 |
-
$pageBeforeNewPage = $this->page;
|
2789 |
$this->_beginpage($orientation, $mgl, $mgr, $mgt, $mgb, $mgh, $mgf, $ohname, $ehname, $ofname, $efname, $ohvalue, $ehvalue, $ofvalue, $efvalue, $pagesel, $newformat);
|
2790 |
-
$isNewPage = $pageBeforeNewPage !== $this->page;
|
2791 |
if ($this->docTemplate) {
|
2792 |
$currentReaderId = $this->currentReaderId;
|
2793 |
$pagecount = $this->setSourceFile($this->docTemplate);
|
2794 |
if ($this->page - $this->docTemplateStart > $pagecount) {
|
2795 |
if ($this->docTemplateContinue) {
|
2796 |
-
|
2797 |
-
|
2798 |
-
$this->useTemplate($tplIdx);
|
2799 |
-
} else {
|
2800 |
-
$tplIdx = $this->importPage($pagecount);
|
2801 |
-
$this->useTemplate($tplIdx);
|
2802 |
-
}
|
2803 |
}
|
2804 |
} else {
|
2805 |
$tplIdx = $this->importPage($this->page - $this->docTemplateStart);
|
@@ -2810,13 +2790,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
2810 |
if ($this->pageTemplate) {
|
2811 |
$this->useTemplate($this->pageTemplate);
|
2812 |
}
|
2813 |
-
//
|
2814 |
-
|
2815 |
-
|
2816 |
-
|
2817 |
-
$this->writer->write('___BACKGROUND___PATTERNS' . $this->uniqstr);
|
2818 |
-
$this->writer->write('___HEADER___MARKER' . $this->uniqstr);
|
2819 |
-
}
|
2820 |
$this->pageBackgrounds = [];
|
2821 |
// Set line cap style to square
|
2822 |
$this->SetLineCap(2);
|
@@ -4169,7 +4146,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
4169 |
} else {
|
4170 |
$bottom = 0;
|
4171 |
}
|
4172 |
-
if (!$this->tableLevel && ($this->y + $this->divheight > $this->PageBreakTrigger || $this->y + $h > $this->PageBreakTrigger || $this->y + $h * 2 + $bottom > $this->PageBreakTrigger &&
|
4173 |
// mPDF 5.7.2
|
4174 |
$x = $this->x;
|
4175 |
// Current X position
|
@@ -5764,7 +5741,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
5764 |
$lastfontreqstyle = null;
|
5765 |
$lastfontstyle = null;
|
5766 |
}
|
5767 |
-
if ($blockdir == 'ltr' &&
|
5768 |
// Artificial italic
|
5769 |
$lastitalic = $this->FontSize * 0.15 * \GFPDF_Vendor\Mpdf\Mpdf::SCALE;
|
5770 |
} else {
|
@@ -6563,7 +6540,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
6563 |
$out->output($qrcode, $this, $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'] * 25, $bgColor, $color);
|
6564 |
unset($qrcode);
|
6565 |
} else {
|
6566 |
-
$this->WriteBarcode2($objattr['code'], $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'], $objattr['bheight'], $bgcol, $col, $objattr['btype'], $objattr['pr_ratio'], $k
|
6567 |
}
|
6568 |
}
|
6569 |
// TEXT CIRCLE
|
@@ -7273,7 +7250,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
7273 |
}
|
7274 |
// Right Trim current content - including CJK space, and for OTLdata
|
7275 |
// incl. CJK - strip CJK space at end of line   = \xe3\x80\x80 = CJK space
|
7276 |
-
$currContent =
|
7277 |
if ($this->checkCJK) {
|
7278 |
$currContent = \preg_replace("/ \$/", '', $currContent);
|
7279 |
}
|
@@ -8318,8 +8295,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
8318 |
{
|
8319 |
// Added collapsible to allow collapsible top-margin on new page
|
8320 |
// Line feed; default value is last cell height
|
8321 |
-
$
|
8322 |
-
$this->x = $this->lMargin + $margin;
|
8323 |
if ($collapsible && $this->y == $this->tMargin && !$this->ColActive) {
|
8324 |
$h = 0;
|
8325 |
}
|
@@ -8558,12 +8534,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
8558 |
if (!\function_exists('mb_substr')) {
|
8559 |
throw new \GFPDF_Vendor\Mpdf\MpdfException('mbstring extension must be loaded in order to run mPDF');
|
8560 |
}
|
8561 |
-
if (!\function_exists('mb_regex_encoding')) {
|
8562 |
-
if (\strtoupper(\substr(\PHP_OS, 0, 3)) === 'WIN') {
|
8563 |
-
$mamp = ' If using MAMP, there is a bug in its PHP build causing this.';
|
8564 |
-
}
|
8565 |
-
throw new \GFPDF_Vendor\Mpdf\MpdfException('mbstring extension with mbregex support must be loaded in order to run mPDF.' . $mamp);
|
8566 |
-
}
|
8567 |
}
|
8568 |
function _puthtmlheaders()
|
8569 |
{
|
@@ -10153,8 +10123,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
10153 |
}
|
10154 |
$path = $path . "/" . $filepath;
|
10155 |
// Make it an absolute path
|
10156 |
-
} elseif ((\strpos($path, ":/") === \false || \strpos($path, ":/") > 10) &&
|
10157 |
-
// It is a local link
|
10158 |
if (\substr($path, 0, 1) == "/") {
|
10159 |
$tr = \parse_url($basepath);
|
10160 |
// mPDF 5.7.2
|
@@ -12015,9 +11985,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
12015 |
$s1 = 0;
|
12016 |
}
|
12017 |
if (!isset($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'])) {
|
12018 |
-
if ($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'] === \false) {
|
12019 |
-
$this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'] = [];
|
12020 |
-
}
|
12021 |
$this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = $s0;
|
12022 |
} else {
|
12023 |
$this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = \max($s0, $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0']);
|
@@ -12279,7 +12246,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
12279 |
$this->Reset();
|
12280 |
$this->pageoutput[$this->page] = [];
|
12281 |
}
|
12282 |
-
$this->y =
|
12283 |
// mod changes operands to integers before processing
|
12284 |
}
|
12285 |
/* -- END CSS-FLOAT -- */
|
@@ -13639,7 +13606,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
13639 |
}
|
13640 |
$this->ResetMargins();
|
13641 |
$this->pageoutput[$this->page] = [];
|
13642 |
-
$this->y =
|
13643 |
// mod changes operands to integers before processing
|
13644 |
}
|
13645 |
// Added mPDF 3.0 Float DIV
|
@@ -16213,9 +16180,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
16213 |
$this->currentfontfamily = '';
|
16214 |
$this->currentfontsize = '';
|
16215 |
$this->currentfontstyle = '';
|
|
|
16216 |
if ($this->tableLevel && isset($this->table[1][1]['cellLineHeight'])) {
|
16217 |
$this->SetLineHeight('', $this->table[1][1]['cellLineHeight']);
|
|
|
16218 |
} else {
|
|
|
16219 |
if (isset($this->blk[$this->blklvl]['line_height']) && $this->blk[$this->blklvl]['line_height']) {
|
16220 |
$this->SetLineHeight('', $this->blk[$this->blklvl]['line_height']);
|
16221 |
// sets default line height
|
@@ -23999,13 +23969,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
23999 |
/**
|
24000 |
* POSTAL and OTHER barcodes
|
24001 |
*/
|
24002 |
-
function WriteBarcode2($code, $x = '', $y = '', $size = 1, $height = 1, $bgcol = \false, $col = \false, $btype = 'IMB', $print_ratio = '', $k = 1
|
24003 |
{
|
24004 |
if (empty($code)) {
|
24005 |
return;
|
24006 |
}
|
24007 |
$this->barcode = new \GFPDF_Vendor\Mpdf\Barcode();
|
24008 |
-
$arrcode = $this->barcode->getBarcodeArray($code, $btype, $print_ratio
|
24009 |
if (empty($x)) {
|
24010 |
$x = $this->x;
|
24011 |
}
|
@@ -24406,10 +24376,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
24406 |
function AdjustHTML($html, $tabSpaces = 8)
|
24407 |
{
|
24408 |
$limit = \ini_get('pcre.backtrack_limit');
|
24409 |
-
if (
|
24410 |
-
throw new \GFPDF_Vendor\Mpdf\MpdfException(\sprintf('mPDF will not process HTML with disabled pcre.backtrack_limit to prevent unexpected behaviours, please set a positive backtrack limit.', $limit));
|
24411 |
-
}
|
24412 |
-
if (\strlen($html) > (int) $limit) {
|
24413 |
throw new \GFPDF_Vendor\Mpdf\MpdfException(\sprintf('The HTML code size is larger than pcre.backtrack_limit %d. You should use WriteHTML() with smaller string lengths.', $limit));
|
24414 |
}
|
24415 |
\preg_match_all("/(<annotation.*?>)/si", $html, $m);
|
@@ -24729,15 +24696,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|
24729 |
}
|
24730 |
$this->pageTemplate = $tplidx;
|
24731 |
}
|
24732 |
-
function SetDocTemplate($file = '', $continue = 0
|
24733 |
{
|
24734 |
$this->docTemplate = $file;
|
24735 |
$this->docTemplateContinue = $continue;
|
24736 |
-
$this->docTemplateContinue2pages = $continue2pages;
|
24737 |
-
if ($this->docTemplateContinue2pages) {
|
24738 |
-
// Enable continue when continue2pages is set
|
24739 |
-
$this->docTemplateContinue = $this->docTemplateContinue2pages;
|
24740 |
-
}
|
24741 |
}
|
24742 |
/* -- END IMPORTS -- */
|
24743 |
// JAVASCRIPT
|
28 |
{
|
29 |
use Strict;
|
30 |
use FpdiTrait;
|
31 |
+
const VERSION = '8.0.10';
|
32 |
const SCALE = 72 / 25.4;
|
33 |
var $useFixedNormalLineHeight;
|
34 |
// mPDF 6
|
326 |
var $pageTemplate;
|
327 |
var $docTemplate;
|
328 |
var $docTemplateContinue;
|
|
|
329 |
var $arabGlyphs;
|
330 |
var $arabHex;
|
331 |
var $persianGlyphs;
|
576 |
* @var int
|
577 |
*/
|
578 |
var $curlTimeout;
|
|
|
|
|
|
|
|
|
|
|
|
|
579 |
/**
|
580 |
* Set to true to follow redirects with cURL.
|
581 |
*
|
762 |
var $outerblocktags;
|
763 |
var $innerblocktags;
|
764 |
public $exposeVersion;
|
|
|
765 |
/**
|
766 |
* @var string
|
767 |
*/
|
1329 |
{
|
1330 |
\mb_internal_encoding($this->originalMbEnc);
|
1331 |
@\mb_regex_encoding($this->originalMbRegexEnc);
|
|
|
|
|
|
|
|
|
|
|
|
|
1332 |
}
|
1333 |
/**
|
1334 |
* @param \Psr\Log\LoggerInterface
|
1682 |
{
|
1683 |
// Begin document
|
1684 |
if ($this->state == 0) {
|
1685 |
+
// Was is function _begindoc()
|
1686 |
+
// Start document
|
1687 |
$this->state = 1;
|
1688 |
+
$this->writer->write('%PDF-' . $this->pdf_version);
|
1689 |
+
$this->writer->write('%' . \chr(226) . \chr(227) . \chr(207) . \chr(211));
|
1690 |
+
// 4 chars > 128 to show binary file
|
|
|
|
|
|
|
1691 |
}
|
1692 |
}
|
1693 |
function Close()
|
1707 |
if ($this->tablebuffer) {
|
1708 |
$this->printtablebuffer();
|
1709 |
}
|
1710 |
+
// *TABLES*
|
1711 |
/* -- COLUMNS -- */
|
1712 |
if ($this->ColActive) {
|
1713 |
$this->SetColumns(0);
|
1736 |
if ($this->tableOfContents->TOCmark || \count($this->tableOfContents->m_TOC)) {
|
1737 |
$this->tableOfContents->insertTOC();
|
1738 |
}
|
1739 |
+
// *TOC*
|
1740 |
// Close page
|
1741 |
$this->_endpage();
|
1742 |
// Close document
|
2772 |
$this->_endpage();
|
2773 |
}
|
2774 |
// Start new page
|
|
|
2775 |
$this->_beginpage($orientation, $mgl, $mgr, $mgt, $mgb, $mgh, $mgf, $ohname, $ehname, $ofname, $efname, $ohvalue, $ehvalue, $ofvalue, $efvalue, $pagesel, $newformat);
|
|
|
2776 |
if ($this->docTemplate) {
|
2777 |
$currentReaderId = $this->currentReaderId;
|
2778 |
$pagecount = $this->setSourceFile($this->docTemplate);
|
2779 |
if ($this->page - $this->docTemplateStart > $pagecount) {
|
2780 |
if ($this->docTemplateContinue) {
|
2781 |
+
$tplIdx = $this->importPage($pagecount);
|
2782 |
+
$this->useTemplate($tplIdx);
|
|
|
|
|
|
|
|
|
|
|
2783 |
}
|
2784 |
} else {
|
2785 |
$tplIdx = $this->importPage($this->page - $this->docTemplateStart);
|
2790 |
if ($this->pageTemplate) {
|
2791 |
$this->useTemplate($this->pageTemplate);
|
2792 |
}
|
2793 |
+
// Tiling Patterns
|
2794 |
+
$this->writer->write('___PAGE___START' . $this->uniqstr);
|
2795 |
+
$this->writer->write('___BACKGROUND___PATTERNS' . $this->uniqstr);
|
2796 |
+
$this->writer->write('___HEADER___MARKER' . $this->uniqstr);
|
|
|
|
|
|
|
2797 |
$this->pageBackgrounds = [];
|
2798 |
// Set line cap style to square
|
2799 |
$this->SetLineCap(2);
|
4146 |
} else {
|
4147 |
$bottom = 0;
|
4148 |
}
|
4149 |
+
if (!$this->tableLevel && ($this->y + $this->divheight > $this->PageBreakTrigger || $this->y + $h > $this->PageBreakTrigger || $this->y + $h * 2 + $bottom > $this->PageBreakTrigger && $this->blk[$this->blklvl]['page_break_after_avoid']) && !$this->InFooter && $this->AcceptPageBreak()) {
|
4150 |
// mPDF 5.7.2
|
4151 |
$x = $this->x;
|
4152 |
// Current X position
|
5741 |
$lastfontreqstyle = null;
|
5742 |
$lastfontstyle = null;
|
5743 |
}
|
5744 |
+
if ($blockdir == 'ltr' && \strpos($lastfontreqstyle, "I") !== \false && \strpos($lastfontstyle, "I") === \false) {
|
5745 |
// Artificial italic
|
5746 |
$lastitalic = $this->FontSize * 0.15 * \GFPDF_Vendor\Mpdf\Mpdf::SCALE;
|
5747 |
} else {
|
6540 |
$out->output($qrcode, $this, $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'] * 25, $bgColor, $color);
|
6541 |
unset($qrcode);
|
6542 |
} else {
|
6543 |
+
$this->WriteBarcode2($objattr['code'], $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'], $objattr['bheight'], $bgcol, $col, $objattr['btype'], $objattr['pr_ratio'], $k);
|
6544 |
}
|
6545 |
}
|
6546 |
// TEXT CIRCLE
|
7250 |
}
|
7251 |
// Right Trim current content - including CJK space, and for OTLdata
|
7252 |
// incl. CJK - strip CJK space at end of line   = \xe3\x80\x80 = CJK space
|
7253 |
+
$currContent = \rtrim($currContent);
|
7254 |
if ($this->checkCJK) {
|
7255 |
$currContent = \preg_replace("/ \$/", '', $currContent);
|
7256 |
}
|
8295 |
{
|
8296 |
// Added collapsible to allow collapsible top-margin on new page
|
8297 |
// Line feed; default value is last cell height
|
8298 |
+
$this->x = $this->lMargin + $this->blk[$this->blklvl]['outer_left_margin'];
|
|
|
8299 |
if ($collapsible && $this->y == $this->tMargin && !$this->ColActive) {
|
8300 |
$h = 0;
|
8301 |
}
|
8534 |
if (!\function_exists('mb_substr')) {
|
8535 |
throw new \GFPDF_Vendor\Mpdf\MpdfException('mbstring extension must be loaded in order to run mPDF');
|
8536 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
8537 |
}
|
8538 |
function _puthtmlheaders()
|
8539 |
{
|
10123 |
}
|
10124 |
$path = $path . "/" . $filepath;
|
10125 |
// Make it an absolute path
|
10126 |
+
} elseif ((\strpos($path, ":/") === \false || \strpos($path, ":/") > 10) && !\is_file($path)) {
|
10127 |
+
// It is a local link
|
10128 |
if (\substr($path, 0, 1) == "/") {
|
10129 |
$tr = \parse_url($basepath);
|
10130 |
// mPDF 5.7.2
|
11985 |
$s1 = 0;
|
11986 |
}
|
11987 |
if (!isset($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'])) {
|
|
|
|
|
|
|
11988 |
$this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = $s0;
|
11989 |
} else {
|
11990 |
$this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = \max($s0, $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0']);
|
12246 |
$this->Reset();
|
12247 |
$this->pageoutput[$this->page] = [];
|
12248 |
}
|
12249 |
+
$this->y = $this->blk[$this->blklvl]['float_endpos'] * 1000 % 1000000 / 1000;
|
12250 |
// mod changes operands to integers before processing
|
12251 |
}
|
12252 |
/* -- END CSS-FLOAT -- */
|
13606 |
}
|
13607 |
$this->ResetMargins();
|
13608 |
$this->pageoutput[$this->page] = [];
|
13609 |
+
$this->y = $end * 1000 % 1000000 / 1000;
|
13610 |
// mod changes operands to integers before processing
|
13611 |
}
|
13612 |
// Added mPDF 3.0 Float DIV
|
16180 |
$this->currentfontfamily = '';
|
16181 |
$this->currentfontsize = '';
|
16182 |
$this->currentfontstyle = '';
|
16183 |
+
/* -- TABLES -- */
|
16184 |
if ($this->tableLevel && isset($this->table[1][1]['cellLineHeight'])) {
|
16185 |
$this->SetLineHeight('', $this->table[1][1]['cellLineHeight']);
|
16186 |
+
// *TABLES*
|
16187 |
} else {
|
16188 |
+
/* -- END TABLES -- */
|
16189 |
if (isset($this->blk[$this->blklvl]['line_height']) && $this->blk[$this->blklvl]['line_height']) {
|
16190 |
$this->SetLineHeight('', $this->blk[$this->blklvl]['line_height']);
|
16191 |
// sets default line height
|
23969 |
/**
|
23970 |
* POSTAL and OTHER barcodes
|
23971 |
*/
|
23972 |
+
function WriteBarcode2($code, $x = '', $y = '', $size = 1, $height = 1, $bgcol = \false, $col = \false, $btype = 'IMB', $print_ratio = '', $k = 1)
|
23973 |
{
|
23974 |
if (empty($code)) {
|
23975 |
return;
|
23976 |
}
|
23977 |
$this->barcode = new \GFPDF_Vendor\Mpdf\Barcode();
|
23978 |
+
$arrcode = $this->barcode->getBarcodeArray($code, $btype, $print_ratio);
|
23979 |
if (empty($x)) {
|
23980 |
$x = $this->x;
|
23981 |
}
|
24376 |
function AdjustHTML($html, $tabSpaces = 8)
|
24377 |
{
|
24378 |
$limit = \ini_get('pcre.backtrack_limit');
|
24379 |
+
if (\strlen($html) > $limit) {
|
|
|
|
|
|
|
24380 |
throw new \GFPDF_Vendor\Mpdf\MpdfException(\sprintf('The HTML code size is larger than pcre.backtrack_limit %d. You should use WriteHTML() with smaller string lengths.', $limit));
|
24381 |
}
|
24382 |
\preg_match_all("/(<annotation.*?>)/si", $html, $m);
|
24696 |
}
|
24697 |
$this->pageTemplate = $tplidx;
|
24698 |
}
|
24699 |
+
function SetDocTemplate($file = '', $continue = 0)
|
24700 |
{
|
24701 |
$this->docTemplate = $file;
|
24702 |
$this->docTemplateContinue = $continue;
|
|
|
|
|
|
|
|
|
|
|
24703 |
}
|
24704 |
/* -- END IMPORTS -- */
|
24705 |
// JAVASCRIPT
|
vendor_prefixed/mpdf/mpdf/src/Otl.php
CHANGED
@@ -4455,7 +4455,7 @@ class Otl
|
|
4455 |
$this->seek($offset);
|
4456 |
$ClassFormat = $this->read_ushort();
|
4457 |
$GlyphClass = [];
|
4458 |
-
$GlyphByClass = []
|
4459 |
if ($ClassFormat == 1) {
|
4460 |
$StartGlyph = $this->read_ushort();
|
4461 |
$GlyphCount = $this->read_ushort();
|
@@ -6150,11 +6150,11 @@ class Otl
|
|
6150 |
if ($available == '') {
|
6151 |
return '';
|
6152 |
}
|
6153 |
-
$tags =
|
6154 |
$lang = '';
|
6155 |
$country = '';
|
6156 |
$script = '';
|
6157 |
-
$lang =
|
6158 |
if (isset($tags[1]) && $tags[1]) {
|
6159 |
if (\strlen($tags[1]) == 2) {
|
6160 |
$country = \strtolower($tags[1]);
|
4455 |
$this->seek($offset);
|
4456 |
$ClassFormat = $this->read_ushort();
|
4457 |
$GlyphClass = [];
|
4458 |
+
// $GlyphByClass = array(0=>array()); // NB This forces an index[0]
|
4459 |
if ($ClassFormat == 1) {
|
4460 |
$StartGlyph = $this->read_ushort();
|
4461 |
$GlyphCount = $this->read_ushort();
|
6150 |
if ($available == '') {
|
6151 |
return '';
|
6152 |
}
|
6153 |
+
$tags = \preg_split('/-/', $ietf);
|
6154 |
$lang = '';
|
6155 |
$country = '';
|
6156 |
$script = '';
|
6157 |
+
$lang = \strtolower($tags[0]);
|
6158 |
if (isset($tags[1]) && $tags[1]) {
|
6159 |
if (\strlen($tags[1]) == 2) {
|
6160 |
$country = \strtolower($tags[1]);
|
vendor_prefixed/mpdf/mpdf/src/OtlDump.php
CHANGED
@@ -139,7 +139,7 @@ class OtlDump
|
|
139 |
$this->version = $version = $this->read_ulong();
|
140 |
$this->panose = [];
|
141 |
if ($version == 0x4f54544f) {
|
142 |
-
throw new \GFPDF_Vendor\Mpdf\Exception\FontException(
|
143 |
}
|
144 |
if ($version == 0x74746366 && !$TTCfontID) {
|
145 |
throw new \GFPDF_Vendor\Mpdf\Exception\FontException("TTCfontID for a TrueType Collection has to be defined in ttfontdata configuration key (" . $file . ")");
|
139 |
$this->version = $version = $this->read_ulong();
|
140 |
$this->panose = [];
|
141 |
if ($version == 0x4f54544f) {
|
142 |
+
throw new \GFPDF_Vendor\Mpdf\Exception\FontException("Postscript outlines are not supported");
|
143 |
}
|
144 |
if ($version == 0x74746366 && !$TTCfontID) {
|
145 |
throw new \GFPDF_Vendor\Mpdf\Exception\FontException("TTCfontID for a TrueType Collection has to be defined in ttfontdata configuration key (" . $file . ")");
|
vendor_prefixed/mpdf/mpdf/src/Pdf/Protection.php
CHANGED
@@ -130,7 +130,7 @@ class Protection
|
|
130 |
public function rc4($key, $text)
|
131 |
{
|
132 |
if ($this->lastRc4Key != $key) {
|
133 |
-
$k = \str_repeat($key,
|
134 |
$rc4 = \range(0, 255);
|
135 |
$j = 0;
|
136 |
for ($i = 0; $i < 256; $i++) {
|
130 |
public function rc4($key, $text)
|
131 |
{
|
132 |
if ($this->lastRc4Key != $key) {
|
133 |
+
$k = \str_repeat($key, 256 / \strlen($key) + 1);
|
134 |
$rc4 = \range(0, 255);
|
135 |
$j = 0;
|
136 |
for ($i = 0; $i < 256; $i++) {
|
vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php
CHANGED
@@ -29,9 +29,6 @@ class RemoteContentFetcher implements \Psr\Log\LoggerAwareInterface
|
|
29 |
\curl_setopt($ch, \CURLOPT_NOBODY, 0);
|
30 |
\curl_setopt($ch, \CURLOPT_RETURNTRANSFER, 1);
|
31 |
\curl_setopt($ch, \CURLOPT_CONNECTTIMEOUT, $this->mpdf->curlTimeout);
|
32 |
-
if ($this->mpdf->curlExecutionTimeout) {
|
33 |
-
\curl_setopt($ch, \CURLOPT_TIMEOUT, $this->mpdf->curlExecutionTimeout);
|
34 |
-
}
|
35 |
if ($this->mpdf->curlFollowLocation) {
|
36 |
\curl_setopt($ch, \CURLOPT_FOLLOWLOCATION, 1);
|
37 |
}
|
@@ -39,7 +36,7 @@ class RemoteContentFetcher implements \Psr\Log\LoggerAwareInterface
|
|
39 |
\curl_setopt($ch, \CURLOPT_SSL_VERIFYHOST, \false);
|
40 |
\curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, \false);
|
41 |
}
|
42 |
-
if (
|
43 |
\curl_setopt($ch, \CURLOPT_CAINFO, $this->mpdf->curlCaCertificate);
|
44 |
}
|
45 |
if ($this->mpdf->curlProxy) {
|
29 |
\curl_setopt($ch, \CURLOPT_NOBODY, 0);
|
30 |
\curl_setopt($ch, \CURLOPT_RETURNTRANSFER, 1);
|
31 |
\curl_setopt($ch, \CURLOPT_CONNECTTIMEOUT, $this->mpdf->curlTimeout);
|
|
|
|
|
|
|
32 |
if ($this->mpdf->curlFollowLocation) {
|
33 |
\curl_setopt($ch, \CURLOPT_FOLLOWLOCATION, 1);
|
34 |
}
|
36 |
\curl_setopt($ch, \CURLOPT_SSL_VERIFYHOST, \false);
|
37 |
\curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, \false);
|
38 |
}
|
39 |
+
if (\is_file($this->mpdf->curlCaCertificate)) {
|
40 |
\curl_setopt($ch, \CURLOPT_CAINFO, $this->mpdf->curlCaCertificate);
|
41 |
}
|
42 |
if ($this->mpdf->curlProxy) {
|
vendor_prefixed/mpdf/mpdf/src/ServiceFactory.php
CHANGED
@@ -36,8 +36,7 @@ class ServiceFactory
|
|
36 |
$cache = new \GFPDF_Vendor\Mpdf\Cache($cacheBasePath, $config['cacheCleanupInterval']);
|
37 |
$fontCache = new \GFPDF_Vendor\Mpdf\Fonts\FontCache(new \GFPDF_Vendor\Mpdf\Cache($cacheBasePath . '/ttfontdata', $config['cacheCleanupInterval']));
|
38 |
$fontFileFinder = new \GFPDF_Vendor\Mpdf\Fonts\FontFileFinder($config['fontDir']);
|
39 |
-
$
|
40 |
-
$cssManager = new \GFPDF_Vendor\Mpdf\CssManager($mpdf, $cache, $sizeConverter, $colorConverter, $remoteContentFetcher);
|
41 |
$otl = new \GFPDF_Vendor\Mpdf\Otl($mpdf, $fontCache);
|
42 |
$protection = new \GFPDF_Vendor\Mpdf\Pdf\Protection(new \GFPDF_Vendor\Mpdf\Pdf\Protection\UniqidGenerator());
|
43 |
$writer = new \GFPDF_Vendor\Mpdf\Writer\BaseWriter($mpdf, $protection);
|
@@ -45,6 +44,7 @@ class ServiceFactory
|
|
45 |
$formWriter = new \GFPDF_Vendor\Mpdf\Writer\FormWriter($mpdf, $writer);
|
46 |
$form = new \GFPDF_Vendor\Mpdf\Form($mpdf, $otl, $colorConverter, $writer, $formWriter);
|
47 |
$hyphenator = new \GFPDF_Vendor\Mpdf\Hyphenator($mpdf);
|
|
|
48 |
$imageProcessor = new \GFPDF_Vendor\Mpdf\Image\ImageProcessor($mpdf, $otl, $cssManager, $sizeConverter, $colorConverter, $colorModeConverter, $cache, $languageToFont, $scriptToLanguage, $remoteContentFetcher, $logger);
|
49 |
$tag = new \GFPDF_Vendor\Mpdf\Tag($mpdf, $cache, $cssManager, $form, $otl, $tableOfContents, $sizeConverter, $colorConverter, $imageProcessor, $languageToFont);
|
50 |
$fontWriter = new \GFPDF_Vendor\Mpdf\Writer\FontWriter($mpdf, $writer, $fontCache, $fontDescriptor);
|
36 |
$cache = new \GFPDF_Vendor\Mpdf\Cache($cacheBasePath, $config['cacheCleanupInterval']);
|
37 |
$fontCache = new \GFPDF_Vendor\Mpdf\Fonts\FontCache(new \GFPDF_Vendor\Mpdf\Cache($cacheBasePath . '/ttfontdata', $config['cacheCleanupInterval']));
|
38 |
$fontFileFinder = new \GFPDF_Vendor\Mpdf\Fonts\FontFileFinder($config['fontDir']);
|
39 |
+
$cssManager = new \GFPDF_Vendor\Mpdf\CssManager($mpdf, $cache, $sizeConverter, $colorConverter);
|
|
|
40 |
$otl = new \GFPDF_Vendor\Mpdf\Otl($mpdf, $fontCache);
|
41 |
$protection = new \GFPDF_Vendor\Mpdf\Pdf\Protection(new \GFPDF_Vendor\Mpdf\Pdf\Protection\UniqidGenerator());
|
42 |
$writer = new \GFPDF_Vendor\Mpdf\Writer\BaseWriter($mpdf, $protection);
|
44 |
$formWriter = new \GFPDF_Vendor\Mpdf\Writer\FormWriter($mpdf, $writer);
|
45 |
$form = new \GFPDF_Vendor\Mpdf\Form($mpdf, $otl, $colorConverter, $writer, $formWriter);
|
46 |
$hyphenator = new \GFPDF_Vendor\Mpdf\Hyphenator($mpdf);
|
47 |
+
$remoteContentFetcher = new \GFPDF_Vendor\Mpdf\RemoteContentFetcher($mpdf, $logger);
|
48 |
$imageProcessor = new \GFPDF_Vendor\Mpdf\Image\ImageProcessor($mpdf, $otl, $cssManager, $sizeConverter, $colorConverter, $colorModeConverter, $cache, $languageToFont, $scriptToLanguage, $remoteContentFetcher, $logger);
|
49 |
$tag = new \GFPDF_Vendor\Mpdf\Tag($mpdf, $cache, $cssManager, $form, $otl, $tableOfContents, $sizeConverter, $colorConverter, $imageProcessor, $languageToFont);
|
50 |
$fontWriter = new \GFPDF_Vendor\Mpdf\Writer\FontWriter($mpdf, $writer, $fontCache, $fontDescriptor);
|
vendor_prefixed/mpdf/mpdf/src/TTFontFile.php
CHANGED
@@ -173,7 +173,7 @@ class TTFontFile
|
|
173 |
$this->version = $version = $this->read_ulong();
|
174 |
$this->panose = [];
|
175 |
if ($version === 0x4f54544f) {
|
176 |
-
throw new \GFPDF_Vendor\Mpdf\Exception\FontException(
|
177 |
}
|
178 |
if ($version === 0x74746366 && !$TTCfontID) {
|
179 |
throw new \GFPDF_Vendor\Mpdf\Exception\FontException(\sprintf('TTCfontID for a TrueType Collection is not defined in mPDF "fontdata" configuration (%s)', $file));
|
@@ -385,18 +385,7 @@ class TTFontFile
|
|
385 |
if ($length < 1) {
|
386 |
return '';
|
387 |
}
|
388 |
-
|
389 |
-
// fix for #1504
|
390 |
-
// if fread is used to read from a compressed / buffered stream (e.g. phar://...)
|
391 |
-
// the $length parameter will be ignored - fread is limited in size (usually 8192 bytes)
|
392 |
-
// to fix this, the data length must be checked after reading. If the read was incomplete,
|
393 |
-
// try to read the rest of the data
|
394 |
-
$dataLen = \strlen($data);
|
395 |
-
while ($dataLen < $length && !\feof($this->fh)) {
|
396 |
-
$data .= \fread($this->fh, $length - $dataLen);
|
397 |
-
$dataLen = \strlen($data);
|
398 |
-
}
|
399 |
-
return $data;
|
400 |
}
|
401 |
function get_table($tag)
|
402 |
{
|
173 |
$this->version = $version = $this->read_ulong();
|
174 |
$this->panose = [];
|
175 |
if ($version === 0x4f54544f) {
|
176 |
+
throw new \GFPDF_Vendor\Mpdf\Exception\FontException('Postscript outlines are not supported');
|
177 |
}
|
178 |
if ($version === 0x74746366 && !$TTCfontID) {
|
179 |
throw new \GFPDF_Vendor\Mpdf\Exception\FontException(\sprintf('TTCfontID for a TrueType Collection is not defined in mPDF "fontdata" configuration (%s)', $file));
|
385 |
if ($length < 1) {
|
386 |
return '';
|
387 |
}
|
388 |
+
return \fread($this->fh, $length);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
389 |
}
|
390 |
function get_table($tag)
|
391 |
{
|
vendor_prefixed/mpdf/mpdf/src/TTFontFileAnalysis.php
CHANGED
@@ -26,7 +26,7 @@ class TTFontFileAnalysis extends \GFPDF_Vendor\Mpdf\TTFontFile
|
|
26 |
$this->panose = [];
|
27 |
// mPDF 5.0
|
28 |
if ($version == 0x4f54544f) {
|
29 |
-
throw new \GFPDF_Vendor\Mpdf\
|
30 |
}
|
31 |
if ($version == 0x74746366) {
|
32 |
if ($TTCfontID > 0) {
|
26 |
$this->panose = [];
|
27 |
// mPDF 5.0
|
28 |
if ($version == 0x4f54544f) {
|
29 |
+
throw new \GFPDF_Vendor\Mpdf\MpdfException('ERROR - NOT ADDED as Postscript outlines are not supported - ' . $file);
|
30 |
}
|
31 |
if ($version == 0x74746366) {
|
32 |
if ($TTCfontID > 0) {
|
vendor_prefixed/mpdf/mpdf/src/Tag/BarCode.php
CHANGED
@@ -23,8 +23,6 @@ class BarCode extends \GFPDF_Vendor\Mpdf\Tag\Tag
|
|
23 |
$objattr['padding_right'] = 0;
|
24 |
$objattr['width'] = 0;
|
25 |
$objattr['height'] = 0;
|
26 |
-
$objattr['quiet_l'] = 0;
|
27 |
-
$objattr['quiet_r'] = 0;
|
28 |
$objattr['border_top']['w'] = 0;
|
29 |
$objattr['border_bottom']['w'] = 0;
|
30 |
$objattr['border_left']['w'] = 0;
|
@@ -66,16 +64,6 @@ class BarCode extends \GFPDF_Vendor\Mpdf\Tag\Tag
|
|
66 |
} else {
|
67 |
$objattr['pr_ratio'] = '';
|
68 |
}
|
69 |
-
if (isset($attr['QUIET_ZONE_LEFT']) && \is_numeric($attr['QUIET_ZONE_LEFT'])) {
|
70 |
-
$objattr['quiet_zone_left'] = $attr['QUIET_ZONE_LEFT'];
|
71 |
-
} else {
|
72 |
-
$objattr['quiet_zone_left'] = null;
|
73 |
-
}
|
74 |
-
if (isset($attr['QUIET_ZONE_RIGHT']) && \is_numeric($attr['QUIET_ZONE_RIGHT'])) {
|
75 |
-
$objattr['quiet_zone_right'] = $attr['QUIET_ZONE_RIGHT'];
|
76 |
-
} else {
|
77 |
-
$objattr['quiet_zone_right'] = null;
|
78 |
-
}
|
79 |
$properties = $this->cssManager->MergeCSS('', 'BARCODE', $attr);
|
80 |
if (isset($properties['DISPLAY']) && \strtolower($properties['DISPLAY']) === 'none') {
|
81 |
return;
|
@@ -132,10 +120,10 @@ class BarCode extends \GFPDF_Vendor\Mpdf\Tag\Tag
|
|
132 |
$this->barcode = new \GFPDF_Vendor\Mpdf\Barcode();
|
133 |
if (\in_array($objattr['btype'], ['EAN13', 'ISBN', 'ISSN', 'UPCA', 'UPCE', 'EAN8'])) {
|
134 |
$code = \preg_replace('/\\-/', '', $objattr['code']);
|
135 |
-
$arrcode = $this->barcode->getBarcodeArray($code, $objattr['btype']
|
136 |
if ($objattr['bsupp'] == 2 || $objattr['bsupp'] == 5) {
|
137 |
// EAN-2 or -5 Supplement
|
138 |
-
$supparrcode = $this->barcode->getBarcodeArray($objattr['bsupp_code'], 'EAN' . $objattr['bsupp']
|
139 |
$w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR'] + $supparrcode['maxw'] + $supparrcode['sepM']) * $arrcode['nom-X'] * $objattr['bsize'];
|
140 |
} else {
|
141 |
$w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize'];
|
@@ -161,11 +149,11 @@ class BarCode extends \GFPDF_Vendor\Mpdf\Tag\Tag
|
|
161 |
$objattr['disableborder'] = (bool) $attr['DISABLEBORDER'];
|
162 |
}
|
163 |
} elseif (\in_array($objattr['btype'], ['IMB', 'RM4SCC', 'KIX', 'POSTNET', 'PLANET'])) {
|
164 |
-
$arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype']
|
165 |
$w = $arrcode['maxw'] * $arrcode['nom-X'] * $objattr['bsize'] + $arrcode['quietL'] + $arrcode['quietR'];
|
166 |
$h = $arrcode['nom-H'] * $objattr['bsize'] + 2 * $arrcode['quietTB'];
|
167 |
} elseif (\in_array($objattr['btype'], ['C128A', 'C128B', 'C128C', 'C128RAW', 'EAN128A', 'EAN128B', 'EAN128C', 'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B', 'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) {
|
168 |
-
$arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'], $objattr['pr_ratio']
|
169 |
$w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize'];
|
170 |
$h = (2 * $arrcode['lightTB'] * $arrcode['nom-X'] + $arrcode['nom-H']) * $objattr['bsize'] * $objattr['bheight'];
|
171 |
} else {
|
23 |
$objattr['padding_right'] = 0;
|
24 |
$objattr['width'] = 0;
|
25 |
$objattr['height'] = 0;
|
|
|
|
|
26 |
$objattr['border_top']['w'] = 0;
|
27 |
$objattr['border_bottom']['w'] = 0;
|
28 |
$objattr['border_left']['w'] = 0;
|
64 |
} else {
|
65 |
$objattr['pr_ratio'] = '';
|
66 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
$properties = $this->cssManager->MergeCSS('', 'BARCODE', $attr);
|
68 |
if (isset($properties['DISPLAY']) && \strtolower($properties['DISPLAY']) === 'none') {
|
69 |
return;
|
120 |
$this->barcode = new \GFPDF_Vendor\Mpdf\Barcode();
|
121 |
if (\in_array($objattr['btype'], ['EAN13', 'ISBN', 'ISSN', 'UPCA', 'UPCE', 'EAN8'])) {
|
122 |
$code = \preg_replace('/\\-/', '', $objattr['code']);
|
123 |
+
$arrcode = $this->barcode->getBarcodeArray($code, $objattr['btype']);
|
124 |
if ($objattr['bsupp'] == 2 || $objattr['bsupp'] == 5) {
|
125 |
// EAN-2 or -5 Supplement
|
126 |
+
$supparrcode = $this->barcode->getBarcodeArray($objattr['bsupp_code'], 'EAN' . $objattr['bsupp']);
|
127 |
$w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR'] + $supparrcode['maxw'] + $supparrcode['sepM']) * $arrcode['nom-X'] * $objattr['bsize'];
|
128 |
} else {
|
129 |
$w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize'];
|
149 |
$objattr['disableborder'] = (bool) $attr['DISABLEBORDER'];
|
150 |
}
|
151 |
} elseif (\in_array($objattr['btype'], ['IMB', 'RM4SCC', 'KIX', 'POSTNET', 'PLANET'])) {
|
152 |
+
$arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype']);
|
153 |
$w = $arrcode['maxw'] * $arrcode['nom-X'] * $objattr['bsize'] + $arrcode['quietL'] + $arrcode['quietR'];
|
154 |
$h = $arrcode['nom-H'] * $objattr['bsize'] + 2 * $arrcode['quietTB'];
|
155 |
} elseif (\in_array($objattr['btype'], ['C128A', 'C128B', 'C128C', 'C128RAW', 'EAN128A', 'EAN128B', 'EAN128C', 'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B', 'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) {
|
156 |
+
$arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'], $objattr['pr_ratio']);
|
157 |
$w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize'];
|
158 |
$h = (2 * $arrcode['lightTB'] * $arrcode['nom-X'] + $arrcode['nom-H']) * $objattr['bsize'] * $objattr['bheight'];
|
159 |
} else {
|
vendor_prefixed/mpdf/mpdf/src/Tag/BlockTag.php
CHANGED
@@ -836,7 +836,7 @@ abstract class BlockTag extends \GFPDF_Vendor\Mpdf\Tag\Tag
|
|
836 |
$this->mpdf->pageoutput[$this->mpdf->page] = [];
|
837 |
}
|
838 |
// mod changes operands to integers before processing
|
839 |
-
$this->mpdf->y =
|
840 |
}
|
841 |
/* -- END CSS-FLOAT -- */
|
842 |
//Print content
|
836 |
$this->mpdf->pageoutput[$this->mpdf->page] = [];
|
837 |
}
|
838 |
// mod changes operands to integers before processing
|
839 |
+
$this->mpdf->y = $this->mpdf->blk[$this->mpdf->blklvl]['float_endpos'] * 1000 % 1000000 / 1000;
|
840 |
}
|
841 |
/* -- END CSS-FLOAT -- */
|
842 |
//Print content
|
vendor_prefixed/mpdf/mpdf/src/Tag/Table.php
CHANGED
@@ -166,20 +166,10 @@ class Table extends \GFPDF_Vendor\Mpdf\Tag\Tag
|
|
166 |
$table['direction'] = $this->mpdf->blk[$this->mpdf->blklvl]['direction'];
|
167 |
}
|
168 |
if (isset($properties['BACKGROUND-COLOR'])) {
|
169 |
-
if ($table['bgcolor'] === \false) {
|
170 |
-
// @todo cleaner initialization
|
171 |
-
$table['bgcolor'] = [];
|
172 |
-
}
|
173 |
$table['bgcolor'][-1] = $properties['BACKGROUND-COLOR'];
|
174 |
} elseif (isset($properties['BACKGROUND'])) {
|
175 |
-
if ($table['bgcolor'] === \false) {
|
176 |
-
$table['bgcolor'] = [];
|
177 |
-
}
|
178 |
$table['bgcolor'][-1] = $properties['BACKGROUND'];
|
179 |
} elseif (isset($attr['BGCOLOR'])) {
|
180 |
-
if ($table['bgcolor'] === \false) {
|
181 |
-
$table['bgcolor'] = [];
|
182 |
-
}
|
183 |
$table['bgcolor'][-1] = $attr['BGCOLOR'];
|
184 |
}
|
185 |
if (isset($properties['VERTICAL-ALIGN']) && \array_key_exists(\strtolower($properties['VERTICAL-ALIGN']), self::ALIGN)) {
|
166 |
$table['direction'] = $this->mpdf->blk[$this->mpdf->blklvl]['direction'];
|
167 |
}
|
168 |
if (isset($properties['BACKGROUND-COLOR'])) {
|
|
|
|
|
|
|
|
|
169 |
$table['bgcolor'][-1] = $properties['BACKGROUND-COLOR'];
|
170 |
} elseif (isset($properties['BACKGROUND'])) {
|
|
|
|
|
|
|
171 |
$table['bgcolor'][-1] = $properties['BACKGROUND'];
|
172 |
} elseif (isset($attr['BGCOLOR'])) {
|
|
|
|
|
|
|
173 |
$table['bgcolor'][-1] = $attr['BGCOLOR'];
|
174 |
}
|
175 |
if (isset($properties['VERTICAL-ALIGN']) && \array_key_exists(\strtolower($properties['VERTICAL-ALIGN']), self::ALIGN)) {
|
vendor_prefixed/mpdf/mpdf/src/Tag/Td.php
CHANGED
@@ -349,7 +349,7 @@ class Td extends \GFPDF_Vendor\Mpdf\Tag\Tag
|
|
349 |
unset($c);
|
350 |
$this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s'] = 0;
|
351 |
$cs = $rs = 1;
|
352 |
-
if (isset($attr['COLSPAN']) &&
|
353 |
$cs = $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['colspan'] = $attr['COLSPAN'];
|
354 |
}
|
355 |
if ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] < $this->mpdf->col + $cs) {
|
349 |
unset($c);
|
350 |
$this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s'] = 0;
|
351 |
$cs = $rs = 1;
|
352 |
+
if (isset($attr['COLSPAN']) && $attr['COLSPAN'] > 1) {
|
353 |
$cs = $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['colspan'] = $attr['COLSPAN'];
|
354 |
}
|
355 |
if ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] < $this->mpdf->col + $cs) {
|
vendor_prefixed/mpdf/mpdf/src/Tag/Tr.php
CHANGED
@@ -29,10 +29,8 @@ class Tr extends \GFPDF_Vendor\Mpdf\Tag\Tag
|
|
29 |
}
|
30 |
}
|
31 |
if (isset($properties['BACKGROUND-COLOR'])) {
|
32 |
-
$this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] : [];
|
33 |
$this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $properties['BACKGROUND-COLOR'];
|
34 |
} elseif (isset($attr['BGCOLOR'])) {
|
35 |
-
$this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] : [];
|
36 |
$this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $attr['BGCOLOR'];
|
37 |
}
|
38 |
/* -- BACKGROUNDS -- */
|
29 |
}
|
30 |
}
|
31 |
if (isset($properties['BACKGROUND-COLOR'])) {
|
|
|
32 |
$this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $properties['BACKGROUND-COLOR'];
|
33 |
} elseif (isset($attr['BGCOLOR'])) {
|
|
|
34 |
$this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $attr['BGCOLOR'];
|
35 |
}
|
36 |
/* -- BACKGROUNDS -- */
|
vendor_prefixed/mpdf/mpdf/src/Utils/Arrays.php
CHANGED
@@ -69,19 +69,12 @@ class Arrays
|
|
69 |
}
|
70 |
$combinations[] = $combination;
|
71 |
$anotherCombination = \false;
|
72 |
-
$resetFromIndex = -1;
|
73 |
for ($i = $k - 1; $i >= 0; $i--) {
|
74 |
if ($indexes[$i] < $maxIndexes[$i]) {
|
75 |
$indexes[$i]++;
|
76 |
$anotherCombination = \true;
|
77 |
break;
|
78 |
}
|
79 |
-
$resetFromIndex = $i;
|
80 |
-
}
|
81 |
-
if ($resetFromIndex > 0) {
|
82 |
-
for ($i = $resetFromIndex; $i < $k; $i++) {
|
83 |
-
$indexes[$i] = $indexes[$i - 1] + 1;
|
84 |
-
}
|
85 |
}
|
86 |
} while ($anotherCombination);
|
87 |
return $combinations;
|
69 |
}
|
70 |
$combinations[] = $combination;
|
71 |
$anotherCombination = \false;
|
|
|
72 |
for ($i = $k - 1; $i >= 0; $i--) {
|
73 |
if ($indexes[$i] < $maxIndexes[$i]) {
|
74 |
$indexes[$i]++;
|
75 |
$anotherCombination = \true;
|
76 |
break;
|
77 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
}
|
79 |
} while ($anotherCombination);
|
80 |
return $combinations;
|
vendor_prefixed/mpdf/qrcode/src/Output/Png.php
CHANGED
@@ -34,7 +34,7 @@ class Png
|
|
34 |
for ($j = $minSize; $j < $maxSize; $j++) {
|
35 |
for ($i = $minSize; $i < $maxSize; $i++) {
|
36 |
if ($final[$i + $j * $qrSize + 1]) {
|
37 |
-
\imagefilledrectangle($im, (
|
38 |
}
|
39 |
}
|
40 |
}
|
34 |
for ($j = $minSize; $j < $maxSize; $j++) {
|
35 |
for ($i = $minSize; $i < $maxSize; $i++) {
|
36 |
if ($final[$i + $j * $qrSize + 1]) {
|
37 |
+
\imagefilledrectangle($im, ($i - $minSize) * $s, ($j - $minSize) * $s, ($i - $minSize + 1) * $s - 1, ($j - $minSize + 1) * $s - 1, $foregroundColor);
|
38 |
}
|
39 |
}
|
40 |
}
|
vendor_prefixed/mpdf/qrcode/src/Output/Svg.php
DELETED
@@ -1,97 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace GFPDF_Vendor\Mpdf\QrCode\Output;
|
4 |
-
|
5 |
-
use GFPDF_Vendor\Mpdf\QrCode\QrCode;
|
6 |
-
use SimpleXMLElement;
|
7 |
-
class Svg
|
8 |
-
{
|
9 |
-
/**
|
10 |
-
* @param QrCode $qrCode QR code instance
|
11 |
-
* @param int $size The width / height of the resulting SVG
|
12 |
-
* @param string $background The background color, e. g. "white", "rgb(0,0,0)" or "cmyk(0,0,0,0)"
|
13 |
-
* @param string $color The foreground and border color, e. g. "black", "rgb(255,255,255)" or "cmyk(0,0,0,100)"
|
14 |
-
*
|
15 |
-
* @return string Binary image data
|
16 |
-
*/
|
17 |
-
public function output(\GFPDF_Vendor\Mpdf\QrCode\QrCode $qrCode, $size = 100, $background = 'white', $color = 'black')
|
18 |
-
{
|
19 |
-
$qrSize = $qrCode->getQrSize();
|
20 |
-
$final = $qrCode->getFinal();
|
21 |
-
if ($qrCode->isBorderDisabled()) {
|
22 |
-
$minSize = 4;
|
23 |
-
$maxSize = $qrSize - 4;
|
24 |
-
} else {
|
25 |
-
$minSize = 0;
|
26 |
-
$maxSize = $qrSize;
|
27 |
-
}
|
28 |
-
$rectSize = $size / ($maxSize - $minSize);
|
29 |
-
$svg = new \SimpleXMLElement('<svg></svg>');
|
30 |
-
$svg->addAttribute('version', '1.1');
|
31 |
-
$svg->addAttribute('xmlns', 'http://www.w3.org/2000/svg');
|
32 |
-
$svg->addAttribute('width', $size);
|
33 |
-
$svg->addAttribute('height', $size);
|
34 |
-
$this->addChild($svg, 'rect', ['x' => 0, 'y' => 0, 'width' => $size, 'height' => $size, 'fill' => $background]);
|
35 |
-
for ($row = $minSize; $row < $maxSize; $row++) {
|
36 |
-
// Simple compression: pixels in a row will be compressed into the same rectangle.
|
37 |
-
$startX = null;
|
38 |
-
$y = ($row - $minSize) * $rectSize;
|
39 |
-
for ($column = $minSize; $column < $maxSize; $column++) {
|
40 |
-
$x = ($column - $minSize) * $rectSize;
|
41 |
-
if ($final[$column + $row * $qrSize + 1]) {
|
42 |
-
if ($startX === null) {
|
43 |
-
$startX = $x;
|
44 |
-
}
|
45 |
-
} elseif ($startX !== null) {
|
46 |
-
$this->addChild($svg, 'rect', ['x' => $startX, 'y' => $y, 'width' => $x - $startX, 'height' => $rectSize, 'fill' => $color]);
|
47 |
-
$startX = null;
|
48 |
-
}
|
49 |
-
}
|
50 |
-
if ($startX !== null) {
|
51 |
-
$x = ($column - $minSize) * $rectSize;
|
52 |
-
$this->addChild($svg, 'rect', ['x' => $startX, 'y' => $y, 'width' => $x - $startX, 'height' => $rectSize, 'fill' => $color]);
|
53 |
-
}
|
54 |
-
}
|
55 |
-
for ($column = $minSize; $column < $maxSize; $column++) {
|
56 |
-
// Simple compression: pixels in a column will be compressed into the same rectangle.
|
57 |
-
$startY = null;
|
58 |
-
$x = ($column - $minSize) * $rectSize;
|
59 |
-
for ($row = $minSize; $row < $maxSize; $row++) {
|
60 |
-
$y = ($row - $minSize) * $rectSize;
|
61 |
-
if ($final[$column + $row * $qrSize + 1]) {
|
62 |
-
if ($startY === null) {
|
63 |
-
$startY = $y;
|
64 |
-
}
|
65 |
-
} elseif ($startY !== null) {
|
66 |
-
if ($startY < $y - $rectSize) {
|
67 |
-
// Only drawn 2+ columns
|
68 |
-
$this->addChild($svg, 'rect', ['x' => $x, 'y' => $startY, 'width' => $rectSize, 'height' => $y - $startY, 'fill' => $color]);
|
69 |
-
}
|
70 |
-
$startY = null;
|
71 |
-
}
|
72 |
-
}
|
73 |
-
if ($startY !== null) {
|
74 |
-
$y = ($row - $minSize) * $rectSize;
|
75 |
-
$this->addChild($svg, 'rect', ['x' => $x, 'y' => $startY, 'width' => $rectSize, 'height' => $y - $startY, 'fill' => $color]);
|
76 |
-
}
|
77 |
-
}
|
78 |
-
return $svg->asXML();
|
79 |
-
}
|
80 |
-
/**
|
81 |
-
* Adds a child with the given attributes
|
82 |
-
*
|
83 |
-
* @param SimpleXMLElement $svg
|
84 |
-
* @param string $name
|
85 |
-
* @param array $attributes
|
86 |
-
*
|
87 |
-
* @return SimpleXMLElement
|
88 |
-
*/
|
89 |
-
public function addChild(\SimpleXMLElement $svg, $name, array $attributes = [])
|
90 |
-
{
|
91 |
-
$child = $svg->addChild($name);
|
92 |
-
foreach ($attributes as $key => $value) {
|
93 |
-
$child->addAttribute((string) $key, (string) $value);
|
94 |
-
}
|
95 |
-
return $child;
|
96 |
-
}
|
97 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor_prefixed/spatie/url-signer/src/BaseUrlSigner.php
CHANGED
@@ -100,15 +100,6 @@ abstract class BaseUrlSigner implements \GFPDF_Vendor\Spatie\UrlSigner\UrlSigner
|
|
100 |
}
|
101 |
return \true;
|
102 |
}
|
103 |
-
/**
|
104 |
-
* Generate a token to identify the secure action.
|
105 |
-
*
|
106 |
-
* @param UriInterface|string $url
|
107 |
-
* @param string $expiration
|
108 |
-
*
|
109 |
-
* @return string
|
110 |
-
*/
|
111 |
-
protected abstract function createSignature($url, string $expiration);
|
112 |
/**
|
113 |
* Check if a query is missing a necessary parameter.
|
114 |
*
|
100 |
}
|
101 |
return \true;
|
102 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
/**
|
104 |
* Check if a query is missing a necessary parameter.
|
105 |
*
|