From 135ffce07c042711e284eae71a343acfe92343cc Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Sat, 16 Aug 2025 12:16:48 -0500 Subject: [PATCH 01/17] Removed vendor directories. --- php7/composer.json | 48 - php7/vendor/autoload.php | 7 - php7/vendor/composer/ClassLoader.php | 572 ----- php7/vendor/composer/InstalledVersions.php | 350 --- php7/vendor/composer/LICENSE | 21 - php7/vendor/composer/autoload_classmap.php | 10 - php7/vendor/composer/autoload_namespaces.php | 9 - php7/vendor/composer/autoload_psr4.php | 15 - php7/vendor/composer/autoload_real.php | 57 - php7/vendor/composer/autoload_static.php | 67 - php7/vendor/composer/installed.json | 271 --- php7/vendor/composer/installed.php | 65 - php7/vendor/composer/platform_check.php | 26 - .../vendor/michelf/php-markdown/.editorconfig | 11 - php7/vendor/michelf/php-markdown/.gitignore | 3 - .../michelf/php-markdown/.scrutinizer.yml | 36 - php7/vendor/michelf/php-markdown/.travis.yml | 33 - php7/vendor/michelf/php-markdown/License.md | 36 - .../php-markdown/Michelf/Markdown.inc.php | 10 - .../michelf/php-markdown/Michelf/Markdown.php | 1909 ----------------- .../Michelf/MarkdownExtra.inc.php | 11 - .../php-markdown/Michelf/MarkdownExtra.php | 1895 ---------------- .../Michelf/MarkdownInterface.inc.php | 9 - .../Michelf/MarkdownInterface.php | 38 - php7/vendor/michelf/php-markdown/Readme.md | 448 ---- php7/vendor/michelf/php-markdown/Readme.php | 33 - .../vendor/michelf/php-markdown/composer.json | 29 - .../michelf/php-markdown/phpunit.xml.dist | 24 - .../michelf/php-markdown/test/bootstrap.php | 6 - .../test/helpers/MarkdownTestHelper.php | 267 --- .../test/integration/PhpMarkdownTest.php | 173 -- .../Amps and angle encoding.text | 21 - .../Amps and angle encoding.xhtml | 17 - .../resources/markdown.mdtest/Auto links.text | 13 - .../markdown.mdtest/Auto links.xhtml | 18 - .../markdown.mdtest/Backslash escapes.text | 120 -- .../markdown.mdtest/Backslash escapes.xhtml | 118 - .../Blockquotes with code blocks.text | 11 - .../Blockquotes with code blocks.xhtml | 15 - .../markdown.mdtest/Code Blocks.text | 14 - .../markdown.mdtest/Code Blocks.xhtml | 18 - .../resources/markdown.mdtest/Code Spans.text | 5 - .../markdown.mdtest/Code Spans.xhtml | 5 - ...apped paragraphs with list-like lines.text | 8 - ...pped paragraphs with list-like lines.xhtml | 8 - .../markdown.mdtest/Horizontal rules.text | 67 - .../markdown.mdtest/Horizontal rules.xhtml | 71 - .../resources/markdown.mdtest/Images.text | 26 - .../resources/markdown.mdtest/Images.xhtml | 21 - .../Inline HTML (Advanced).text | 30 - .../Inline HTML (Advanced).xhtml | 30 - .../markdown.mdtest/Inline HTML (Simple).html | 72 - .../markdown.mdtest/Inline HTML (Simple).text | 69 - .../markdown.mdtest/Inline HTML comments.html | 13 - .../markdown.mdtest/Inline HTML comments.text | 13 - .../markdown.mdtest/Links, inline style.text | 24 - .../markdown.mdtest/Links, inline style.xhtml | 23 - .../Links, reference style.text | 71 - .../Links, reference style.xhtml | 52 - .../Links, shortcut references.text | 20 - .../Links, shortcut references.xhtml | 9 - .../Literal quotes in titles.text | 7 - .../Literal quotes in titles.xhtml | 3 - .../Markdown Documentation - Basics.text | 306 --- .../Markdown Documentation - Basics.xhtml | 314 --- .../Markdown Documentation - Syntax.text | 888 -------- .../Markdown Documentation - Syntax.xhtml | 942 -------- .../markdown.mdtest/Nested blockquotes.text | 5 - .../markdown.mdtest/Nested blockquotes.xhtml | 9 - .../Ordered and unordered lists.text | 131 -- .../Ordered and unordered lists.xhtml | 148 -- .../Strong and em together.text | 7 - .../Strong and em together.xhtml | 7 - .../test/resources/markdown.mdtest/Tabs.text | 21 - .../test/resources/markdown.mdtest/Tabs.xhtml | 25 - .../resources/markdown.mdtest/Tidyness.text | 5 - .../resources/markdown.mdtest/Tidyness.xhtml | 8 - .../php-markdown-extra.mdtest/Abbr.text | 31 - .../php-markdown-extra.mdtest/Abbr.xhtml | 15 - ...tick Fenced Code Blocks Special Cases.text | 69 - ...ick Fenced Code Blocks Special Cases.xhtml | 61 - .../Backtick Fenced Code Blocks.text | 123 -- .../Backtick Fenced Code Blocks.xhtml | 109 - .../Definition Lists.text | 115 - .../Definition Lists.xhtml | 155 -- .../php-markdown-extra.mdtest/Emphasis.text | 100 - .../php-markdown-extra.mdtest/Emphasis.xhtml | 106 - .../php-markdown-extra.mdtest/Footnotes.text | 70 - .../php-markdown-extra.mdtest/Footnotes.xhtml | 103 - .../Headers with attributes.text | 41 - .../Headers with attributes.xhtml | 37 - .../Inline HTML with Markdown content.text | 110 - .../Inline HTML with Markdown content.xhtml | 131 -- .../Link & Image Attributes.text | 10 - .../Link & Image Attributes.xhtml | 8 - .../php-markdown-extra.mdtest/Tables.text | 113 - .../php-markdown-extra.mdtest/Tables.xhtml | 333 --- ...ilde Fenced Code Blocks Special Cases.text | 69 - ...lde Fenced Code Blocks Special Cases.xhtml | 61 - .../Tilde Fenced Code Blocks.text | 123 -- .../Tilde Fenced Code Blocks.xhtml | 109 - .../php-markdown.mdtest/Adjacent Lists.text | 10 - .../php-markdown.mdtest/Adjacent Lists.xhtml | 19 - .../php-markdown.mdtest/Auto Links.text | 3 - .../php-markdown.mdtest/Auto Links.xhtml | 3 - .../Backslash escapes.text | 1 - .../Backslash escapes.xhtml | 1 - .../php-markdown.mdtest/Code Spans.text | 6 - .../php-markdown.mdtest/Code Spans.xhtml | 6 - .../Code block in a list item.text | 15 - .../Code block in a list item.xhtml | 18 - .../Code block on second line.text | 2 - .../Code block on second line.xhtml | 2 - .../Code block regressions.text | 15 - .../Code block regressions.xhtml | 18 - .../php-markdown.mdtest/Email auto links.text | 24 - .../Email auto links.xhtml | 23 - .../php-markdown.mdtest/Emphasis.text | 101 - .../php-markdown.mdtest/Emphasis.xhtml | 105 - .../php-markdown.mdtest/Empty List Item.text | 35 - .../php-markdown.mdtest/Empty List Item.xhtml | 47 - .../php-markdown.mdtest/Headers.text | 9 - .../php-markdown.mdtest/Headers.xhtml | 39 - .../php-markdown.mdtest/Horizontal Rules.text | 29 - .../Horizontal Rules.xhtml | 30 - .../Inline HTML (Simple).html | 32 - .../Inline HTML (Simple).text | 32 - .../Inline HTML (Span).text | 4 - .../Inline HTML (Span).xhtml | 4 - .../Inline HTML comments.html | 9 - .../Inline HTML comments.text | 9 - .../php-markdown.mdtest/Ins & del.text | 17 - .../php-markdown.mdtest/Ins & del.xhtml | 17 - .../Links, inline style.text | 9 - .../Links, inline style.xhtml | 7 - .../php-markdown.mdtest/MD5 Hashes.text | 11 - .../php-markdown.mdtest/MD5 Hashes.xhtml | 11 - .../Mixed OLs and ULs.text | 13 - .../Mixed OLs and ULs.xhtml | 21 - .../php-markdown.mdtest/Nesting.text | 11 - .../php-markdown.mdtest/Nesting.xhtml | 11 - .../PHP-Specific Bugs.text | 22 - .../PHP-Specific Bugs.xhtml | 17 - .../php-markdown.mdtest/Parens in URL.text | 14 - .../php-markdown.mdtest/Parens in URL.xhtml | 11 - .../Quotes in attributes.text | 5 - .../Quotes in attributes.xhtml | 5 - .../php-markdown.mdtest/Tight blocks.text | 1 - .../php-markdown.mdtest/Tight blocks.xhtml | 21 - .../php-markdown.mdtest/XML empty tag.text | 2 - .../php-markdown.mdtest/XML empty tag.xhtml | 2 - .../test/unit/MarkdownExtraTest.php | 51 - php7/vendor/monolog/monolog/CHANGELOG.md | 432 ---- php7/vendor/monolog/monolog/LICENSE | 19 - php7/vendor/monolog/monolog/README.md | 94 - php7/vendor/monolog/monolog/composer.json | 60 - php7/vendor/monolog/monolog/phpstan.neon.dist | 16 - .../monolog/src/Monolog/ErrorHandler.php | 239 --- .../Monolog/Formatter/ChromePHPFormatter.php | 78 - .../Monolog/Formatter/ElasticaFormatter.php | 89 - .../Monolog/Formatter/FlowdockFormatter.php | 116 - .../Monolog/Formatter/FluentdFormatter.php | 88 - .../Monolog/Formatter/FormatterInterface.php | 36 - .../Formatter/GelfMessageFormatter.php | 138 -- .../src/Monolog/Formatter/HtmlFormatter.php | 142 -- .../src/Monolog/Formatter/JsonFormatter.php | 214 -- .../src/Monolog/Formatter/LineFormatter.php | 181 -- .../src/Monolog/Formatter/LogglyFormatter.php | 47 - .../Monolog/Formatter/LogstashFormatter.php | 166 -- .../Monolog/Formatter/MongoDBFormatter.php | 107 - .../Monolog/Formatter/NormalizerFormatter.php | 199 -- .../src/Monolog/Formatter/ScalarFormatter.php | 48 - .../Monolog/Formatter/WildfireFormatter.php | 113 - .../src/Monolog/Handler/AbstractHandler.php | 196 -- .../Handler/AbstractProcessingHandler.php | 68 - .../Monolog/Handler/AbstractSyslogHandler.php | 101 - .../src/Monolog/Handler/AmqpHandler.php | 148 -- .../Monolog/Handler/BrowserConsoleHandler.php | 241 --- .../src/Monolog/Handler/BufferHandler.php | 148 -- .../src/Monolog/Handler/ChromePHPHandler.php | 212 -- .../src/Monolog/Handler/CouchDBHandler.php | 72 - .../src/Monolog/Handler/CubeHandler.php | 152 -- .../monolog/src/Monolog/Handler/Curl/Util.php | 57 - .../Monolog/Handler/DeduplicationHandler.php | 169 -- .../Handler/DoctrineCouchDBHandler.php | 45 - .../src/Monolog/Handler/DynamoDbHandler.php | 108 - .../Monolog/Handler/ElasticSearchHandler.php | 128 -- .../src/Monolog/Handler/ErrorLogHandler.php | 82 - .../src/Monolog/Handler/FilterHandler.php | 172 -- .../ActivationStrategyInterface.php | 28 - .../ChannelLevelActivationStrategy.php | 59 - .../ErrorLevelActivationStrategy.php | 34 - .../Monolog/Handler/FingersCrossedHandler.php | 207 -- .../src/Monolog/Handler/FirePHPHandler.php | 195 -- .../src/Monolog/Handler/FleepHookHandler.php | 126 -- .../src/Monolog/Handler/FlowdockHandler.php | 128 -- .../Handler/FormattableHandlerInterface.php | 39 - .../Handler/FormattableHandlerTrait.php | 63 - .../src/Monolog/Handler/GelfHandler.php | 65 - .../src/Monolog/Handler/GroupHandler.php | 117 - .../src/Monolog/Handler/HandlerInterface.php | 90 - .../src/Monolog/Handler/HandlerWrapper.php | 116 - .../src/Monolog/Handler/HipChatHandler.php | 367 ---- .../src/Monolog/Handler/IFTTTHandler.php | 70 - .../src/Monolog/Handler/InsightOpsHandler.php | 62 - .../src/Monolog/Handler/LogEntriesHandler.php | 55 - .../src/Monolog/Handler/LogglyHandler.php | 102 - .../src/Monolog/Handler/MailHandler.php | 67 - .../src/Monolog/Handler/MandrillHandler.php | 72 - .../Handler/MissingExtensionException.php | 21 - .../src/Monolog/Handler/MongoDBHandler.php | 59 - .../Monolog/Handler/NativeMailerHandler.php | 185 -- .../src/Monolog/Handler/NewRelicHandler.php | 205 -- .../src/Monolog/Handler/NullHandler.php | 45 - .../src/Monolog/Handler/PHPConsoleHandler.php | 243 --- .../Handler/ProcessableHandlerInterface.php | 40 - .../Handler/ProcessableHandlerTrait.php | 73 - .../src/Monolog/Handler/PsrHandler.php | 56 - .../src/Monolog/Handler/PushoverHandler.php | 185 -- .../src/Monolog/Handler/RavenHandler.php | 234 -- .../src/Monolog/Handler/RedisHandler.php | 98 - .../src/Monolog/Handler/RollbarHandler.php | 144 -- .../Monolog/Handler/RotatingFileHandler.php | 191 -- .../src/Monolog/Handler/SamplingHandler.php | 113 - .../src/Monolog/Handler/Slack/SlackRecord.php | 299 --- .../src/Monolog/Handler/SlackHandler.php | 221 -- .../Monolog/Handler/SlackWebhookHandler.php | 121 -- .../src/Monolog/Handler/SlackbotHandler.php | 84 - .../src/Monolog/Handler/SocketHandler.php | 385 ---- .../src/Monolog/Handler/StreamHandler.php | 194 -- .../Monolog/Handler/SwiftMailerHandler.php | 111 - .../src/Monolog/Handler/SyslogHandler.php | 67 - .../Monolog/Handler/SyslogUdp/UdpSocket.php | 56 - .../src/Monolog/Handler/SyslogUdpHandler.php | 124 -- .../src/Monolog/Handler/TestHandler.php | 177 -- .../Handler/WhatFailureGroupHandler.php | 72 - .../Monolog/Handler/ZendMonitorHandler.php | 101 - .../monolog/monolog/src/Monolog/Logger.php | 796 ------- .../src/Monolog/Processor/GitProcessor.php | 64 - .../Processor/IntrospectionProcessor.php | 112 - .../Processor/MemoryPeakUsageProcessor.php | 35 - .../src/Monolog/Processor/MemoryProcessor.php | 63 - .../Processor/MemoryUsageProcessor.php | 35 - .../Monolog/Processor/MercurialProcessor.php | 63 - .../Monolog/Processor/ProcessIdProcessor.php | 31 - .../Monolog/Processor/ProcessorInterface.php | 25 - .../Processor/PsrLogMessageProcessor.php | 81 - .../src/Monolog/Processor/TagProcessor.php | 44 - .../src/Monolog/Processor/UidProcessor.php | 59 - .../src/Monolog/Processor/WebProcessor.php | 113 - .../monolog/monolog/src/Monolog/Registry.php | 134 -- .../src/Monolog/ResettableInterface.php | 31 - .../monolog/src/Monolog/SignalHandler.php | 115 - .../monolog/monolog/src/Monolog/Utils.php | 189 -- php7/vendor/psr/log/LICENSE | 19 - .../vendor/psr/log/Psr/Log/AbstractLogger.php | 128 -- .../log/Psr/Log/InvalidArgumentException.php | 7 - php7/vendor/psr/log/Psr/Log/LogLevel.php | 18 - .../psr/log/Psr/Log/LoggerAwareInterface.php | 18 - .../psr/log/Psr/Log/LoggerAwareTrait.php | 26 - .../psr/log/Psr/Log/LoggerInterface.php | 125 -- php7/vendor/psr/log/Psr/Log/LoggerTrait.php | 142 -- php7/vendor/psr/log/Psr/Log/NullLogger.php | 30 - .../vendor/psr/log/Psr/Log/Test/DummyTest.php | 18 - .../log/Psr/Log/Test/LoggerInterfaceTest.php | 138 -- .../psr/log/Psr/Log/Test/TestLogger.php | 147 -- php7/vendor/psr/log/README.md | 58 - php7/vendor/psr/log/composer.json | 26 - php7/vendor/rollbar/rollbar/.gitignore | 7 - php7/vendor/rollbar/rollbar/.travis.yml | 27 - php7/vendor/rollbar/rollbar/CHANGELOG.md | 410 ---- php7/vendor/rollbar/rollbar/LICENSE | 22 - php7/vendor/rollbar/rollbar/POST_FORMAT.md | 346 --- php7/vendor/rollbar/rollbar/README.md | 92 - php7/vendor/rollbar/rollbar/THANKS.md | 23 - php7/vendor/rollbar/rollbar/TODO.md | 6 - php7/vendor/rollbar/rollbar/composer.json | 66 - .../rollbar/rollbar/data/rollbar.snippet.js | 1 - php7/vendor/rollbar/rollbar/src/Config.php | 1052 --------- .../rollbar/rollbar/src/DataBuilder.php | 1175 ---------- .../rollbar/src/DataBuilderInterface.php | 6 - php7/vendor/rollbar/rollbar/src/Defaults.php | 391 ---- .../rollbar/rollbar/src/ErrorWrapper.php | 67 - .../rollbar/rollbar/src/FilterInterface.php | 6 - .../rollbar/src/Handlers/AbstractHandler.php | 41 - .../rollbar/src/Handlers/ErrorHandler.php | 65 - .../rollbar/src/Handlers/ExceptionHandler.php | 44 - .../rollbar/src/Handlers/FatalHandler.php | 64 - .../rollbar/rollbar/src/LevelFactory.php | 52 - .../src/Monolog/Handler/RollbarHandler.php | 141 -- .../rollbar/rollbar/src/Payload/Body.php | 63 - .../rollbar/src/Payload/ContentInterface.php | 6 - .../rollbar/rollbar/src/Payload/Context.php | 54 - .../rollbar/rollbar/src/Payload/Data.php | 263 --- .../rollbar/src/Payload/EncodedPayload.php | 56 - .../rollbar/src/Payload/ExceptionInfo.php | 68 - .../rollbar/rollbar/src/Payload/Frame.php | 118 - .../rollbar/rollbar/src/Payload/Level.php | 79 - .../rollbar/rollbar/src/Payload/Message.php | 58 - .../rollbar/rollbar/src/Payload/Notifier.php | 62 - .../rollbar/rollbar/src/Payload/Payload.php | 59 - .../rollbar/rollbar/src/Payload/Person.php | 89 - .../rollbar/rollbar/src/Payload/Request.php | 162 -- .../rollbar/rollbar/src/Payload/Server.php | 97 - .../rollbar/rollbar/src/Payload/Trace.php | 56 - .../rollbar/src/Payload/TraceChain.php | 43 - php7/vendor/rollbar/rollbar/src/Response.php | 54 - .../rollbar/src/ResponseHandlerInterface.php | 6 - php7/vendor/rollbar/rollbar/src/Rollbar.php | 285 --- .../rollbar/rollbar/src/RollbarJsHelper.php | 177 -- .../rollbar/rollbar/src/RollbarLogger.php | 249 --- php7/vendor/rollbar/rollbar/src/Scrubber.php | 134 -- .../rollbar/rollbar/src/ScrubberInterface.php | 6 - .../rollbar/src/Senders/AgentSender.php | 71 - .../rollbar/src/Senders/CurlSender.php | 191 -- .../rollbar/src/Senders/FluentSender.php | 119 - .../rollbar/src/Senders/SenderInterface.php | 12 - .../rollbar/src/TransformerInterface.php | 16 - .../src/Truncation/AbstractStrategy.php | 23 - .../rollbar/src/Truncation/FramesStrategy.php | 51 - .../rollbar/src/Truncation/IStrategy.php | 18 - .../src/Truncation/MinBodyStrategy.php | 64 - .../rollbar/src/Truncation/RawStrategy.php | 11 - .../src/Truncation/StringsStrategy.php | 57 - .../rollbar/src/Truncation/Truncation.php | 77 - php7/vendor/rollbar/rollbar/src/Utilities.php | 212 -- .../rollbar/rollbar/tests/AgentTest.php | 63 - .../BackwardsCompatibilityConfigTest.php | 63 - .../rollbar/rollbar/tests/BaseRollbarTest.php | 20 - .../vendor/rollbar/rollbar/tests/BodyTest.php | 48 - .../rollbar/rollbar/tests/ConfigTest.php | 732 ------- .../rollbar/rollbar/tests/ContextTest.php | 38 - .../rollbar/rollbar/tests/CurlSenderTest.php | 30 - .../rollbar/rollbar/tests/DataBuilderTest.php | 1006 --------- .../vendor/rollbar/rollbar/tests/DataTest.php | 194 -- .../rollbar/rollbar/tests/DefaultsTest.php | 302 --- .../rollbar/tests/ErrorWrapperTest.php | 42 - .../rollbar/tests/ExceptionInfoTest.php | 34 - .../rollbar/rollbar/tests/FakeDataBuilder.php | 23 - php7/vendor/rollbar/rollbar/tests/FakeLog.php | 11 - .../rollbar/rollbar/tests/FluentTest.php | 35 - .../rollbar/rollbar/tests/FrameTest.php | 95 - .../tests/Handlers/ErrorHandlerTest.php | 82 - .../tests/Handlers/ExceptionHandlerTest.php | 90 - .../tests/Handlers/FatalHandlerTest.php | 81 - .../rollbar/tests/LevelFactoryTest.php | 61 - .../rollbar/rollbar/tests/LevelTest.php | 25 - .../rollbar/rollbar/tests/MessageTest.php | 27 - .../Monolog/Handler/RollbarHandlerTest.php | 95 - .../rollbar/rollbar/tests/NotifierTest.php | 34 - .../tests/Payload/EncodedPayloadTest.php | 78 - .../rollbar/rollbar/tests/PayloadTest.php | 68 - .../tests/Performance/MassivePayload.php | 41 - .../TestHelpers/EncodedPayload.php | 22 - .../Performance/TestHelpers/Truncation.php | 74 - .../tests/Performance/TruncationTest.php | 227 -- .../rollbar/rollbar/tests/PersonTest.php | 57 - .../rollbar/rollbar/tests/ReadmeTest.php | 149 -- .../rollbar/rollbar/tests/RequestTest.php | 167 -- .../rollbar/rollbar/tests/ResponseTest.php | 41 - .../rollbar/tests/RollbarJsHelperTest.php | 316 --- .../rollbar/tests/RollbarLoggerTest.php | 815 ------- .../rollbar/rollbar/tests/RollbarTest.php | 254 --- .../rollbar/rollbar/tests/ScrubberTest.php | 396 ---- .../rollbar/rollbar/tests/ServerTest.php | 83 - .../tests/TestHelpers/CustomTruncation.php | 26 - .../CycleCheck/ChildCycleCheck.php | 11 - .../ChildCycleCheckSerializable.php | 27 - .../CycleCheck/ParentCycleCheck.php | 11 - .../ParentCycleCheckSerializable.php | 27 - .../FiftyFiftyExceptionSampleRate.php | 5 - .../FiftyFityChildExceptionSampleRate.php | 5 - .../Exceptions/MidExceptionSampleRate.php | 5 - .../Exceptions/QuarterExceptionSampleRate.php | 5 - .../Exceptions/SilentExceptionSampleRate.php | 5 - .../Exceptions/VerboseExceptionSampleRate.php | 5 - .../MalformedPayloadDataTransformer.php | 16 - .../tests/TestHelpers/MockPhpStream.php | 55 - .../tests/TestHelpers/StdOutLogger.php | 14 - .../rollbar/rollbar/tests/TraceChainTest.php | 50 - .../rollbar/rollbar/tests/TraceTest.php | 61 - .../tests/Truncation/FramesStrategyTest.php | 108 - .../tests/Truncation/MinBodyStrategyTest.php | 74 - .../tests/Truncation/RawStrategyTest.php | 30 - .../tests/Truncation/StringsStrategyTest.php | 107 - .../tests/Truncation/TruncationTest.php | 91 - .../rollbar/rollbar/tests/UtilitiesTest.php | 175 -- .../rollbar/rollbar/tests/VerboseTest.php | 1135 ---------- .../rollbar/rollbar/tests/bootstrap.php | 4 - php8/composer.json | 55 - php8/vendor/autoload.php | 25 - php8/vendor/composer/ClassLoader.php | 579 ----- php8/vendor/composer/InstalledVersions.php | 359 ---- php8/vendor/composer/LICENSE | 21 - php8/vendor/composer/autoload_classmap.php | 10 - php8/vendor/composer/autoload_namespaces.php | 9 - php8/vendor/composer/autoload_psr4.php | 15 - php8/vendor/composer/autoload_real.php | 38 - php8/vendor/composer/autoload_static.php | 67 - php8/vendor/composer/installed.json | 289 --- php8/vendor/composer/installed.php | 65 - php8/vendor/composer/platform_check.php | 26 - .../vendor/michelf/php-markdown/.editorconfig | 11 - .../php-markdown/.github/workflows/ci.yml | 30 - php8/vendor/michelf/php-markdown/.gitignore | 3 - .../michelf/php-markdown/.scrutinizer.yml | 36 - php8/vendor/michelf/php-markdown/.travis.yml | 19 - php8/vendor/michelf/php-markdown/License.md | 36 - .../php-markdown/Michelf/Markdown.inc.php | 10 - .../michelf/php-markdown/Michelf/Markdown.php | 1889 ---------------- .../Michelf/MarkdownExtra.inc.php | 11 - .../php-markdown/Michelf/MarkdownExtra.php | 1871 ---------------- .../Michelf/MarkdownInterface.inc.php | 9 - .../Michelf/MarkdownInterface.php | 38 - php8/vendor/michelf/php-markdown/Readme.md | 461 ---- php8/vendor/michelf/php-markdown/Readme.php | 33 - .../vendor/michelf/php-markdown/composer.json | 54 - .../michelf/php-markdown/phpunit.xml.dist | 24 - .../michelf/php-markdown/test/bootstrap.php | 6 - .../test/helpers/MarkdownTestHelper.php | 268 --- .../test/integration/PhpMarkdownTest.php | 173 -- .../michelf/php-markdown/test/phpstan.neon | 2 - .../Amps and angle encoding.text | 21 - .../Amps and angle encoding.xhtml | 17 - .../resources/markdown.mdtest/Auto links.text | 13 - .../markdown.mdtest/Auto links.xhtml | 18 - .../markdown.mdtest/Backslash escapes.text | 120 -- .../markdown.mdtest/Backslash escapes.xhtml | 118 - .../Blockquotes with code blocks.text | 11 - .../Blockquotes with code blocks.xhtml | 15 - .../markdown.mdtest/Code Blocks.text | 14 - .../markdown.mdtest/Code Blocks.xhtml | 18 - .../resources/markdown.mdtest/Code Spans.text | 5 - .../markdown.mdtest/Code Spans.xhtml | 5 - ...apped paragraphs with list-like lines.text | 8 - ...pped paragraphs with list-like lines.xhtml | 8 - .../markdown.mdtest/Horizontal rules.text | 67 - .../markdown.mdtest/Horizontal rules.xhtml | 71 - .../resources/markdown.mdtest/Images.text | 26 - .../resources/markdown.mdtest/Images.xhtml | 21 - .../Inline HTML (Advanced).text | 30 - .../Inline HTML (Advanced).xhtml | 30 - .../markdown.mdtest/Inline HTML (Simple).html | 72 - .../markdown.mdtest/Inline HTML (Simple).text | 69 - .../markdown.mdtest/Inline HTML comments.html | 13 - .../markdown.mdtest/Inline HTML comments.text | 13 - .../markdown.mdtest/Links, inline style.text | 24 - .../markdown.mdtest/Links, inline style.xhtml | 23 - .../Links, reference style.text | 71 - .../Links, reference style.xhtml | 52 - .../Links, shortcut references.text | 20 - .../Links, shortcut references.xhtml | 9 - .../Literal quotes in titles.text | 7 - .../Literal quotes in titles.xhtml | 3 - .../Markdown Documentation - Basics.text | 306 --- .../Markdown Documentation - Basics.xhtml | 314 --- .../Markdown Documentation - Syntax.text | 888 -------- .../Markdown Documentation - Syntax.xhtml | 942 -------- .../markdown.mdtest/Nested blockquotes.text | 5 - .../markdown.mdtest/Nested blockquotes.xhtml | 9 - .../Ordered and unordered lists.text | 131 -- .../Ordered and unordered lists.xhtml | 148 -- .../Strong and em together.text | 7 - .../Strong and em together.xhtml | 7 - .../test/resources/markdown.mdtest/Tabs.text | 21 - .../test/resources/markdown.mdtest/Tabs.xhtml | 25 - .../resources/markdown.mdtest/Tidyness.text | 5 - .../resources/markdown.mdtest/Tidyness.xhtml | 8 - .../php-markdown-extra.mdtest/Abbr.text | 31 - .../php-markdown-extra.mdtest/Abbr.xhtml | 15 - ...tick Fenced Code Blocks Special Cases.text | 69 - ...ick Fenced Code Blocks Special Cases.xhtml | 61 - .../Backtick Fenced Code Blocks.text | 123 -- .../Backtick Fenced Code Blocks.xhtml | 109 - .../Definition Lists.text | 115 - .../Definition Lists.xhtml | 155 -- .../php-markdown-extra.mdtest/Emphasis.text | 100 - .../php-markdown-extra.mdtest/Emphasis.xhtml | 106 - .../php-markdown-extra.mdtest/Footnotes.text | 70 - .../php-markdown-extra.mdtest/Footnotes.xhtml | 103 - .../Headers with attributes.text | 41 - .../Headers with attributes.xhtml | 37 - .../Inline HTML with Markdown content.text | 110 - .../Inline HTML with Markdown content.xhtml | 131 -- .../Link & Image Attributes.text | 10 - .../Link & Image Attributes.xhtml | 8 - .../php-markdown-extra.mdtest/Tables.text | 113 - .../php-markdown-extra.mdtest/Tables.xhtml | 333 --- ...ilde Fenced Code Blocks Special Cases.text | 69 - ...lde Fenced Code Blocks Special Cases.xhtml | 61 - .../Tilde Fenced Code Blocks.text | 123 -- .../Tilde Fenced Code Blocks.xhtml | 109 - .../php-markdown.mdtest/Adjacent Lists.text | 10 - .../php-markdown.mdtest/Adjacent Lists.xhtml | 19 - .../php-markdown.mdtest/Auto Links.text | 3 - .../php-markdown.mdtest/Auto Links.xhtml | 3 - .../Backslash escapes.text | 1 - .../Backslash escapes.xhtml | 1 - .../php-markdown.mdtest/Code Spans.text | 6 - .../php-markdown.mdtest/Code Spans.xhtml | 6 - .../Code block in a list item.text | 15 - .../Code block in a list item.xhtml | 18 - .../Code block on second line.text | 2 - .../Code block on second line.xhtml | 2 - .../Code block regressions.text | 15 - .../Code block regressions.xhtml | 18 - .../php-markdown.mdtest/Email auto links.text | 24 - .../Email auto links.xhtml | 23 - .../php-markdown.mdtest/Emphasis.text | 101 - .../php-markdown.mdtest/Emphasis.xhtml | 105 - .../php-markdown.mdtest/Empty List Item.text | 35 - .../php-markdown.mdtest/Empty List Item.xhtml | 47 - .../php-markdown.mdtest/Headers.text | 9 - .../php-markdown.mdtest/Headers.xhtml | 39 - .../php-markdown.mdtest/Horizontal Rules.text | 29 - .../Horizontal Rules.xhtml | 30 - .../Inline HTML (Simple).html | 32 - .../Inline HTML (Simple).text | 32 - .../Inline HTML (Span).text | 4 - .../Inline HTML (Span).xhtml | 4 - .../Inline HTML comments.html | 9 - .../Inline HTML comments.text | 9 - .../php-markdown.mdtest/Ins & del.text | 17 - .../php-markdown.mdtest/Ins & del.xhtml | 17 - .../Links, inline style.text | 9 - .../Links, inline style.xhtml | 7 - .../php-markdown.mdtest/MD5 Hashes.text | 11 - .../php-markdown.mdtest/MD5 Hashes.xhtml | 11 - .../Mixed OLs and ULs.text | 13 - .../Mixed OLs and ULs.xhtml | 21 - .../php-markdown.mdtest/Nesting.text | 11 - .../php-markdown.mdtest/Nesting.xhtml | 11 - .../PHP-Specific Bugs.text | 22 - .../PHP-Specific Bugs.xhtml | 17 - .../php-markdown.mdtest/Parens in URL.text | 14 - .../php-markdown.mdtest/Parens in URL.xhtml | 11 - .../Quotes in attributes.text | 5 - .../Quotes in attributes.xhtml | 5 - .../php-markdown.mdtest/Tight blocks.text | 1 - .../php-markdown.mdtest/Tight blocks.xhtml | 21 - .../php-markdown.mdtest/XML empty tag.text | 2 - .../php-markdown.mdtest/XML empty tag.xhtml | 2 - .../test/unit/MarkdownExtraTest.php | 51 - php8/vendor/monolog/monolog/CHANGELOG.md | 623 ------ php8/vendor/monolog/monolog/LICENSE | 19 - php8/vendor/monolog/monolog/README.md | 112 - php8/vendor/monolog/monolog/UPGRADE.md | 72 - php8/vendor/monolog/monolog/composer.json | 81 - .../Monolog/Attribute/AsMonologProcessor.php | 46 - .../monolog/src/Monolog/DateTimeImmutable.php | 49 - .../monolog/src/Monolog/ErrorHandler.php | 307 --- .../Monolog/Formatter/ChromePHPFormatter.php | 83 - .../Monolog/Formatter/ElasticaFormatter.php | 89 - .../Formatter/ElasticsearchFormatter.php | 89 - .../Monolog/Formatter/FlowdockFormatter.php | 112 - .../Monolog/Formatter/FluentdFormatter.php | 88 - .../Monolog/Formatter/FormatterInterface.php | 42 - .../Formatter/GelfMessageFormatter.php | 175 -- .../Formatter/GoogleCloudLoggingFormatter.php | 40 - .../src/Monolog/Formatter/HtmlFormatter.php | 142 -- .../src/Monolog/Formatter/JsonFormatter.php | 224 -- .../src/Monolog/Formatter/LineFormatter.php | 246 --- .../src/Monolog/Formatter/LogglyFormatter.php | 45 - .../Monolog/Formatter/LogmaticFormatter.php | 66 - .../Monolog/Formatter/LogstashFormatter.php | 101 - .../Monolog/Formatter/MongoDBFormatter.php | 162 -- .../Monolog/Formatter/NormalizerFormatter.php | 287 --- .../src/Monolog/Formatter/ScalarFormatter.php | 51 - .../Monolog/Formatter/WildfireFormatter.php | 139 -- .../src/Monolog/Handler/AbstractHandler.php | 112 - .../Handler/AbstractProcessingHandler.php | 69 - .../Monolog/Handler/AbstractSyslogHandler.php | 106 - .../src/Monolog/Handler/AmqpHandler.php | 171 -- .../Monolog/Handler/BrowserConsoleHandler.php | 308 --- .../src/Monolog/Handler/BufferHandler.php | 167 -- .../src/Monolog/Handler/ChromePHPHandler.php | 196 -- .../src/Monolog/Handler/CouchDBHandler.php | 77 - .../src/Monolog/Handler/CubeHandler.php | 167 -- .../monolog/src/Monolog/Handler/Curl/Util.php | 71 - .../Monolog/Handler/DeduplicationHandler.php | 186 -- .../Handler/DoctrineCouchDBHandler.php | 47 - .../src/Monolog/Handler/DynamoDbHandler.php | 104 - .../src/Monolog/Handler/ElasticaHandler.php | 129 -- .../Monolog/Handler/ElasticsearchHandler.php | 218 -- .../src/Monolog/Handler/ErrorLogHandler.php | 91 - .../Monolog/Handler/FallbackGroupHandler.php | 71 - .../src/Monolog/Handler/FilterHandler.php | 212 -- .../ActivationStrategyInterface.php | 29 - .../ChannelLevelActivationStrategy.php | 77 - .../ErrorLevelActivationStrategy.php | 46 - .../Monolog/Handler/FingersCrossedHandler.php | 252 --- .../src/Monolog/Handler/FirePHPHandler.php | 180 -- .../src/Monolog/Handler/FleepHookHandler.php | 135 -- .../src/Monolog/Handler/FlowdockHandler.php | 133 -- .../Handler/FormattableHandlerInterface.php | 37 - .../Handler/FormattableHandlerTrait.php | 60 - .../src/Monolog/Handler/GelfHandler.php | 57 - .../src/Monolog/Handler/GroupHandler.php | 132 -- .../monolog/src/Monolog/Handler/Handler.php | 62 - .../src/Monolog/Handler/HandlerInterface.php | 85 - .../src/Monolog/Handler/HandlerWrapper.php | 136 -- .../src/Monolog/Handler/IFTTTHandler.php | 74 - .../src/Monolog/Handler/InsightOpsHandler.php | 76 - .../src/Monolog/Handler/LogEntriesHandler.php | 70 - .../src/Monolog/Handler/LogglyHandler.php | 160 -- .../src/Monolog/Handler/LogmaticHandler.php | 106 - .../src/Monolog/Handler/MailHandler.php | 95 - .../src/Monolog/Handler/MandrillHandler.php | 83 - .../Handler/MissingExtensionException.php | 21 - .../src/Monolog/Handler/MongoDBHandler.php | 86 - .../Monolog/Handler/NativeMailerHandler.php | 174 -- .../src/Monolog/Handler/NewRelicHandler.php | 199 -- .../src/Monolog/Handler/NoopHandler.php | 40 - .../src/Monolog/Handler/NullHandler.php | 60 - .../src/Monolog/Handler/OverflowHandler.php | 149 -- .../src/Monolog/Handler/PHPConsoleHandler.php | 263 --- .../src/Monolog/Handler/ProcessHandler.php | 191 -- .../Handler/ProcessableHandlerInterface.php | 44 - .../Handler/ProcessableHandlerTrait.php | 77 - .../src/Monolog/Handler/PsrHandler.php | 95 - .../src/Monolog/Handler/PushoverHandler.php | 246 --- .../src/Monolog/Handler/RedisHandler.php | 101 - .../Monolog/Handler/RedisPubSubHandler.php | 67 - .../src/Monolog/Handler/RollbarHandler.php | 131 -- .../Monolog/Handler/RotatingFileHandler.php | 207 -- .../src/Monolog/Handler/SamplingHandler.php | 132 -- .../src/Monolog/Handler/SendGridHandler.php | 102 - .../src/Monolog/Handler/Slack/SlackRecord.php | 387 ---- .../src/Monolog/Handler/SlackHandler.php | 256 --- .../Monolog/Handler/SlackWebhookHandler.php | 130 -- .../src/Monolog/Handler/SocketHandler.php | 448 ---- .../src/Monolog/Handler/SqsHandler.php | 62 - .../src/Monolog/Handler/StreamHandler.php | 221 -- .../Monolog/Handler/SwiftMailerHandler.php | 115 - .../Monolog/Handler/SymfonyMailerHandler.php | 111 - .../src/Monolog/Handler/SyslogHandler.php | 68 - .../Monolog/Handler/SyslogUdp/UdpSocket.php | 88 - .../src/Monolog/Handler/SyslogUdpHandler.php | 150 -- .../Monolog/Handler/TelegramBotHandler.php | 274 --- .../src/Monolog/Handler/TestHandler.php | 231 -- .../Handler/WebRequestRecognizerTrait.php | 24 - .../Handler/WhatFailureGroupHandler.php | 81 - .../Monolog/Handler/ZendMonitorHandler.php | 101 - .../monolog/monolog/src/Monolog/LogRecord.php | 34 - .../monolog/monolog/src/Monolog/Logger.php | 761 ------- .../src/Monolog/Processor/GitProcessor.php | 77 - .../Monolog/Processor/HostnameProcessor.php | 36 - .../Processor/IntrospectionProcessor.php | 123 -- .../Processor/MemoryPeakUsageProcessor.php | 37 - .../src/Monolog/Processor/MemoryProcessor.php | 61 - .../Processor/MemoryUsageProcessor.php | 37 - .../Monolog/Processor/MercurialProcessor.php | 77 - .../Monolog/Processor/ProcessIdProcessor.php | 30 - .../Monolog/Processor/ProcessorInterface.php | 30 - .../Processor/PsrLogMessageProcessor.php | 88 - .../src/Monolog/Processor/TagProcessor.php | 61 - .../src/Monolog/Processor/UidProcessor.php | 59 - .../src/Monolog/Processor/WebProcessor.php | 111 - .../monolog/monolog/src/Monolog/Registry.php | 134 -- .../src/Monolog/ResettableInterface.php | 34 - .../monolog/src/Monolog/SignalHandler.php | 120 -- .../monolog/src/Monolog/Test/TestCase.php | 85 - .../monolog/monolog/src/Monolog/Utils.php | 284 --- php8/vendor/psr/log/LICENSE | 19 - php8/vendor/psr/log/README.md | 58 - php8/vendor/psr/log/composer.json | 26 - php8/vendor/psr/log/src/AbstractLogger.php | 15 - .../psr/log/src/InvalidArgumentException.php | 7 - php8/vendor/psr/log/src/LogLevel.php | 18 - .../psr/log/src/LoggerAwareInterface.php | 18 - php8/vendor/psr/log/src/LoggerAwareTrait.php | 26 - php8/vendor/psr/log/src/LoggerInterface.php | 125 -- php8/vendor/psr/log/src/LoggerTrait.php | 142 -- php8/vendor/psr/log/src/NullLogger.php | 30 - php8/vendor/rollbar/rollbar/.dockerignore | 2 - .../rollbar/.github/pull_request_template.md | 34 - .../rollbar/.github/workflows/ci-1.x.yml | 79 - .../rollbar/.github/workflows/ci-2.x.yml | 104 - .../rollbar/.github/workflows/ci-3.x.yml | 84 - .../rollbar/rollbar/.github/workflows/ci.yml | 74 - php8/vendor/rollbar/rollbar/.gitignore | 12 - php8/vendor/rollbar/rollbar/CHANGELOG.md | 785 ------- php8/vendor/rollbar/rollbar/CONTRIBUTING.md | 151 -- php8/vendor/rollbar/rollbar/Dockerfile | 10 - php8/vendor/rollbar/rollbar/EXAMPLES.md | 18 - php8/vendor/rollbar/rollbar/LICENSE | 22 - php8/vendor/rollbar/rollbar/POST_FORMAT.md | 346 --- php8/vendor/rollbar/rollbar/README.md | 96 - php8/vendor/rollbar/rollbar/THANKS.md | 23 - php8/vendor/rollbar/rollbar/TODO.md | 6 - php8/vendor/rollbar/rollbar/composer.json | 68 - .../rollbar/rollbar/data/rollbar.snippet.js | 1 - php8/vendor/rollbar/rollbar/psalm.baseline | 24 - php8/vendor/rollbar/rollbar/psalm.xml | 18 - php8/vendor/rollbar/rollbar/src/Config.php | 1116 ---------- .../rollbar/rollbar/src/DataBuilder.php | 1296 ----------- .../rollbar/src/DataBuilderInterface.php | 86 - php8/vendor/rollbar/rollbar/src/Defaults.php | 387 ---- .../rollbar/rollbar/src/ErrorWrapper.php | 67 - .../rollbar/rollbar/src/FilterInterface.php | 24 - .../rollbar/src/Handlers/AbstractHandler.php | 41 - .../rollbar/src/Handlers/ErrorHandler.php | 49 - .../rollbar/src/Handlers/ExceptionHandler.php | 38 - .../rollbar/src/Handlers/FatalHandler.php | 61 - .../rollbar/rollbar/src/LevelFactory.php | 64 - .../rollbar/rollbar/src/Payload/Body.php | 51 - .../rollbar/src/Payload/ContentInterface.php | 18 - .../rollbar/rollbar/src/Payload/Context.php | 47 - .../rollbar/rollbar/src/Payload/Data.php | 244 --- .../rollbar/src/Payload/EncodedPayload.php | 116 - .../rollbar/src/Payload/ExceptionInfo.php | 62 - .../rollbar/rollbar/src/Payload/Frame.php | 119 - .../rollbar/rollbar/src/Payload/Level.php | 64 - .../rollbar/rollbar/src/Payload/Message.php | 52 - .../rollbar/rollbar/src/Payload/Notifier.php | 55 - .../rollbar/rollbar/src/Payload/Payload.php | 53 - .../rollbar/rollbar/src/Payload/Person.php | 82 - .../rollbar/rollbar/src/Payload/Request.php | 162 -- .../rollbar/rollbar/src/Payload/Server.php | 97 - .../rollbar/rollbar/src/Payload/Trace.php | 52 - .../rollbar/src/Payload/TraceChain.php | 43 - php8/vendor/rollbar/rollbar/src/Response.php | 52 - .../rollbar/src/ResponseHandlerInterface.php | 25 - php8/vendor/rollbar/rollbar/src/Rollbar.php | 505 ----- .../rollbar/rollbar/src/RollbarJsHelper.php | 175 -- .../rollbar/rollbar/src/RollbarLogger.php | 484 ----- php8/vendor/rollbar/rollbar/src/Scrubber.php | 216 -- .../rollbar/rollbar/src/ScrubberInterface.php | 21 - .../rollbar/src/Senders/AgentSender.php | 82 - .../rollbar/src/Senders/CurlSender.php | 202 -- .../rollbar/src/Senders/FluentSender.php | 123 -- .../rollbar/src/Senders/SenderInterface.php | 56 - .../rollbar/src/SerializerInterface.php | 16 - .../rollbar/src/TransformerInterface.php | 40 - .../src/Truncation/AbstractStrategy.php | 27 - .../rollbar/src/Truncation/FramesStrategy.php | 88 - .../src/Truncation/MinBodyStrategy.php | 76 - .../rollbar/src/Truncation/RawStrategy.php | 18 - .../src/Truncation/StrategyInterface.php | 37 - .../src/Truncation/StringsStrategy.php | 86 - .../rollbar/src/Truncation/Truncation.php | 106 - php8/vendor/rollbar/rollbar/src/Utilities.php | 234 -- .../rollbar/rollbar/src/UtilitiesTrait.php | 15 - .../rollbar/rollbar/tests/AgentTest.php | 63 - .../rollbar/rollbar/tests/BaseRollbarTest.php | 20 - .../vendor/rollbar/rollbar/tests/BodyTest.php | 49 - .../rollbar/rollbar/tests/ConfigTest.php | 792 ------- .../rollbar/rollbar/tests/ContextTest.php | 38 - .../rollbar/rollbar/tests/CurlSenderTest.php | 29 - .../rollbar/rollbar/tests/DataBuilderTest.php | 1048 --------- .../vendor/rollbar/rollbar/tests/DataTest.php | 197 -- .../rollbar/rollbar/tests/DefaultsTest.php | 304 --- .../rollbar/tests/ErrorWrapperTest.php | 42 - .../rollbar/tests/ExceptionInfoTest.php | 34 - .../rollbar/rollbar/tests/FakeDataBuilder.php | 47 - php8/vendor/rollbar/rollbar/tests/FakeLog.php | 11 - .../rollbar/rollbar/tests/FluentTest.php | 35 - .../rollbar/rollbar/tests/FrameTest.php | 97 - .../tests/Handlers/ErrorHandlerTest.php | 83 - .../tests/Handlers/ExceptionHandlerTest.php | 123 -- .../rollbar/rollbar/tests/JsHelperTest.php | 326 --- .../rollbar/tests/LevelFactoryTest.php | 82 - .../rollbar/rollbar/tests/MessageTest.php | 27 - .../rollbar/rollbar/tests/NotifierTest.php | 51 - .../tests/Payload/EncodedPayloadTest.php | 52 - .../rollbar/tests/Payload/LevelTest.php | 41 - .../rollbar/rollbar/tests/PayloadTest.php | 71 - .../tests/Performance/MassivePayload.php | 41 - .../TestHelpers/EncodedPayload.php | 22 - .../Performance/TestHelpers/Truncation.php | 74 - .../tests/Performance/TruncationTest.php | 248 --- .../rollbar/rollbar/tests/PersonTest.php | 57 - .../rollbar/rollbar/tests/ReadmeTest.php | 129 -- .../rollbar/rollbar/tests/RequestTest.php | 167 -- .../rollbar/rollbar/tests/ResponseTest.php | 44 - .../rollbar/tests/RollbarLoggerTest.php | 783 ------- .../rollbar/rollbar/tests/RollbarTest.php | 243 --- .../rollbar/rollbar/tests/ScrubberTest.php | 404 ---- .../rollbar/rollbar/tests/ServerTest.php | 83 - .../rollbar/tests/TestHelpers/ArrayLogger.php | 119 - .../tests/TestHelpers/CustomSerializable.php | 33 - .../tests/TestHelpers/CustomTruncation.php | 26 - .../CycleCheck/ChildCycleCheck.php | 11 - .../ChildCycleCheckSerializable.php | 20 - .../CycleCheck/ParentCycleCheck.php | 11 - .../ParentCycleCheckSerializable.php | 20 - .../TestHelpers/DeprecatedSerializable.php | 21 - .../FiftyFiftyExceptionSampleRate.php | 5 - .../FiftyFityChildExceptionSampleRate.php | 5 - .../Exceptions/MidExceptionSampleRate.php | 5 - .../Exceptions/QuarterExceptionSampleRate.php | 5 - .../Exceptions/SilentExceptionSampleRate.php | 5 - .../Exceptions/VerboseExceptionSampleRate.php | 5 - .../MalformedPayloadDataTransformer.php | 22 - .../tests/TestHelpers/MockPhpStream.php | 55 - .../tests/TestHelpers/StdOutLogger.php | 15 - .../rollbar/rollbar/tests/TraceChainTest.php | 51 - .../rollbar/rollbar/tests/TraceTest.php | 62 - .../tests/Truncation/FramesStrategyTest.php | 114 - .../tests/Truncation/MinBodyStrategyTest.php | 74 - .../tests/Truncation/RawStrategyTest.php | 30 - .../tests/Truncation/StringsStrategyTest.php | 132 -- .../tests/Truncation/TruncationTest.php | 94 - .../rollbar/rollbar/tests/UtilitiesTest.php | 234 -- .../rollbar/rollbar/tests/VerbosityTest.php | 639 ------ .../rollbar/rollbar/tests/bootstrap.php | 4 - vendor/.gitignore | 2 - 807 files changed, 88804 deletions(-) delete mode 100644 php7/composer.json delete mode 100644 php7/vendor/autoload.php delete mode 100644 php7/vendor/composer/ClassLoader.php delete mode 100644 php7/vendor/composer/InstalledVersions.php delete mode 100644 php7/vendor/composer/LICENSE delete mode 100644 php7/vendor/composer/autoload_classmap.php delete mode 100644 php7/vendor/composer/autoload_namespaces.php delete mode 100644 php7/vendor/composer/autoload_psr4.php delete mode 100644 php7/vendor/composer/autoload_real.php delete mode 100644 php7/vendor/composer/autoload_static.php delete mode 100644 php7/vendor/composer/installed.json delete mode 100644 php7/vendor/composer/installed.php delete mode 100644 php7/vendor/composer/platform_check.php delete mode 100644 php7/vendor/michelf/php-markdown/.editorconfig delete mode 100644 php7/vendor/michelf/php-markdown/.gitignore delete mode 100644 php7/vendor/michelf/php-markdown/.scrutinizer.yml delete mode 100644 php7/vendor/michelf/php-markdown/.travis.yml delete mode 100644 php7/vendor/michelf/php-markdown/License.md delete mode 100644 php7/vendor/michelf/php-markdown/Michelf/Markdown.inc.php delete mode 100644 php7/vendor/michelf/php-markdown/Michelf/Markdown.php delete mode 100644 php7/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php delete mode 100644 php7/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php delete mode 100644 php7/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php delete mode 100644 php7/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php delete mode 100644 php7/vendor/michelf/php-markdown/Readme.md delete mode 100644 php7/vendor/michelf/php-markdown/Readme.php delete mode 100644 php7/vendor/michelf/php-markdown/composer.json delete mode 100644 php7/vendor/michelf/php-markdown/phpunit.xml.dist delete mode 100644 php7/vendor/michelf/php-markdown/test/bootstrap.php delete mode 100644 php7/vendor/michelf/php-markdown/test/helpers/MarkdownTestHelper.php delete mode 100644 php7/vendor/michelf/php-markdown/test/integration/PhpMarkdownTest.php delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Amps and angle encoding.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Amps and angle encoding.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Auto links.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Auto links.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Backslash escapes.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Backslash escapes.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Blockquotes with code blocks.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Blockquotes with code blocks.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Blocks.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Blocks.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Spans.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Spans.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Hard-wrapped paragraphs with list-like lines.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Hard-wrapped paragraphs with list-like lines.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Horizontal rules.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Horizontal rules.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Images.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Images.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Advanced).text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Advanced).xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Simple).html delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Simple).text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML comments.html delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML comments.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, inline style.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, inline style.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, reference style.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, reference style.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, shortcut references.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, shortcut references.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Literal quotes in titles.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Literal quotes in titles.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Basics.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Basics.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Syntax.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Syntax.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Nested blockquotes.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Nested blockquotes.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Ordered and unordered lists.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Ordered and unordered lists.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Strong and em together.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Strong and em together.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tabs.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tabs.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tidyness.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tidyness.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Abbr.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Abbr.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks Special Cases.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks Special Cases.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Definition Lists.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Definition Lists.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Emphasis.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Emphasis.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Footnotes.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Footnotes.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Headers with attributes.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Headers with attributes.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Inline HTML with Markdown content.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Inline HTML with Markdown content.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Link & Image Attributes.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Link & Image Attributes.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tables.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tables.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks Special Cases.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks Special Cases.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Adjacent Lists.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Adjacent Lists.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Auto Links.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Auto Links.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Backslash escapes.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Backslash escapes.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code Spans.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code Spans.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block in a list item.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block in a list item.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block on second line.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block on second line.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block regressions.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block regressions.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Email auto links.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Email auto links.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Emphasis.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Emphasis.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Empty List Item.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Empty List Item.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Headers.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Headers.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Horizontal Rules.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Horizontal Rules.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Simple).html delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Simple).text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Span).text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Span).xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML comments.html delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML comments.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Ins & del.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Ins & del.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Links, inline style.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Links, inline style.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/MD5 Hashes.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/MD5 Hashes.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Mixed OLs and ULs.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Mixed OLs and ULs.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Nesting.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Nesting.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/PHP-Specific Bugs.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/PHP-Specific Bugs.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Parens in URL.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Parens in URL.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Quotes in attributes.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Quotes in attributes.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Tight blocks.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Tight blocks.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/XML empty tag.text delete mode 100644 php7/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/XML empty tag.xhtml delete mode 100644 php7/vendor/michelf/php-markdown/test/unit/MarkdownExtraTest.php delete mode 100644 php7/vendor/monolog/monolog/CHANGELOG.md delete mode 100644 php7/vendor/monolog/monolog/LICENSE delete mode 100644 php7/vendor/monolog/monolog/README.md delete mode 100644 php7/vendor/monolog/monolog/composer.json delete mode 100644 php7/vendor/monolog/monolog/phpstan.neon.dist delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/ErrorHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Logger.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Registry.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/ResettableInterface.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/SignalHandler.php delete mode 100644 php7/vendor/monolog/monolog/src/Monolog/Utils.php delete mode 100644 php7/vendor/psr/log/LICENSE delete mode 100644 php7/vendor/psr/log/Psr/Log/AbstractLogger.php delete mode 100644 php7/vendor/psr/log/Psr/Log/InvalidArgumentException.php delete mode 100644 php7/vendor/psr/log/Psr/Log/LogLevel.php delete mode 100644 php7/vendor/psr/log/Psr/Log/LoggerAwareInterface.php delete mode 100644 php7/vendor/psr/log/Psr/Log/LoggerAwareTrait.php delete mode 100644 php7/vendor/psr/log/Psr/Log/LoggerInterface.php delete mode 100644 php7/vendor/psr/log/Psr/Log/LoggerTrait.php delete mode 100644 php7/vendor/psr/log/Psr/Log/NullLogger.php delete mode 100644 php7/vendor/psr/log/Psr/Log/Test/DummyTest.php delete mode 100644 php7/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php delete mode 100644 php7/vendor/psr/log/Psr/Log/Test/TestLogger.php delete mode 100644 php7/vendor/psr/log/README.md delete mode 100644 php7/vendor/psr/log/composer.json delete mode 100644 php7/vendor/rollbar/rollbar/.gitignore delete mode 100644 php7/vendor/rollbar/rollbar/.travis.yml delete mode 100644 php7/vendor/rollbar/rollbar/CHANGELOG.md delete mode 100644 php7/vendor/rollbar/rollbar/LICENSE delete mode 100644 php7/vendor/rollbar/rollbar/POST_FORMAT.md delete mode 100644 php7/vendor/rollbar/rollbar/README.md delete mode 100644 php7/vendor/rollbar/rollbar/THANKS.md delete mode 100644 php7/vendor/rollbar/rollbar/TODO.md delete mode 100644 php7/vendor/rollbar/rollbar/composer.json delete mode 100644 php7/vendor/rollbar/rollbar/data/rollbar.snippet.js delete mode 100644 php7/vendor/rollbar/rollbar/src/Config.php delete mode 100644 php7/vendor/rollbar/rollbar/src/DataBuilder.php delete mode 100644 php7/vendor/rollbar/rollbar/src/DataBuilderInterface.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Defaults.php delete mode 100644 php7/vendor/rollbar/rollbar/src/ErrorWrapper.php delete mode 100644 php7/vendor/rollbar/rollbar/src/FilterInterface.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Handlers/AbstractHandler.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Handlers/ErrorHandler.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Handlers/ExceptionHandler.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Handlers/FatalHandler.php delete mode 100644 php7/vendor/rollbar/rollbar/src/LevelFactory.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Monolog/Handler/RollbarHandler.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Body.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/ContentInterface.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Context.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Data.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/EncodedPayload.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/ExceptionInfo.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Frame.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Level.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Message.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Notifier.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Payload.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Person.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Request.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Server.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/Trace.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Payload/TraceChain.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Response.php delete mode 100644 php7/vendor/rollbar/rollbar/src/ResponseHandlerInterface.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Rollbar.php delete mode 100644 php7/vendor/rollbar/rollbar/src/RollbarJsHelper.php delete mode 100644 php7/vendor/rollbar/rollbar/src/RollbarLogger.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Scrubber.php delete mode 100644 php7/vendor/rollbar/rollbar/src/ScrubberInterface.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Senders/AgentSender.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Senders/CurlSender.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Senders/FluentSender.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Senders/SenderInterface.php delete mode 100644 php7/vendor/rollbar/rollbar/src/TransformerInterface.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Truncation/AbstractStrategy.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Truncation/FramesStrategy.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Truncation/IStrategy.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Truncation/MinBodyStrategy.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Truncation/RawStrategy.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Truncation/StringsStrategy.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Truncation/Truncation.php delete mode 100644 php7/vendor/rollbar/rollbar/src/Utilities.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/AgentTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/BackwardsCompatibilityConfigTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/BaseRollbarTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/BodyTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/ConfigTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/ContextTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/CurlSenderTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/DataBuilderTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/DataTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/DefaultsTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/ErrorWrapperTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/ExceptionInfoTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/FakeDataBuilder.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/FakeLog.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/FluentTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/FrameTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Handlers/ErrorHandlerTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Handlers/ExceptionHandlerTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Handlers/FatalHandlerTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/LevelFactoryTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/LevelTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/MessageTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Monolog/Handler/RollbarHandlerTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/NotifierTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Payload/EncodedPayloadTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/PayloadTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Performance/MassivePayload.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Performance/TestHelpers/EncodedPayload.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Performance/TestHelpers/Truncation.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Performance/TruncationTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/PersonTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/ReadmeTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/RequestTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/ResponseTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/RollbarJsHelperTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/RollbarLoggerTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/RollbarTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/ScrubberTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/ServerTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/CustomTruncation.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/CycleCheck/ChildCycleCheck.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/CycleCheck/ChildCycleCheckSerializable.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/CycleCheck/ParentCycleCheck.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/CycleCheck/ParentCycleCheckSerializable.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/FiftyFiftyExceptionSampleRate.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/FiftyFityChildExceptionSampleRate.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/MidExceptionSampleRate.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/QuarterExceptionSampleRate.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/SilentExceptionSampleRate.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/VerboseExceptionSampleRate.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/MalformedPayloadDataTransformer.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/MockPhpStream.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TestHelpers/StdOutLogger.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TraceChainTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/TraceTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Truncation/FramesStrategyTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Truncation/MinBodyStrategyTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Truncation/RawStrategyTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Truncation/StringsStrategyTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/Truncation/TruncationTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/UtilitiesTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/VerboseTest.php delete mode 100644 php7/vendor/rollbar/rollbar/tests/bootstrap.php delete mode 100644 php8/composer.json delete mode 100644 php8/vendor/autoload.php delete mode 100644 php8/vendor/composer/ClassLoader.php delete mode 100644 php8/vendor/composer/InstalledVersions.php delete mode 100644 php8/vendor/composer/LICENSE delete mode 100644 php8/vendor/composer/autoload_classmap.php delete mode 100644 php8/vendor/composer/autoload_namespaces.php delete mode 100644 php8/vendor/composer/autoload_psr4.php delete mode 100644 php8/vendor/composer/autoload_real.php delete mode 100644 php8/vendor/composer/autoload_static.php delete mode 100644 php8/vendor/composer/installed.json delete mode 100644 php8/vendor/composer/installed.php delete mode 100644 php8/vendor/composer/platform_check.php delete mode 100644 php8/vendor/michelf/php-markdown/.editorconfig delete mode 100644 php8/vendor/michelf/php-markdown/.github/workflows/ci.yml delete mode 100644 php8/vendor/michelf/php-markdown/.gitignore delete mode 100644 php8/vendor/michelf/php-markdown/.scrutinizer.yml delete mode 100644 php8/vendor/michelf/php-markdown/.travis.yml delete mode 100644 php8/vendor/michelf/php-markdown/License.md delete mode 100644 php8/vendor/michelf/php-markdown/Michelf/Markdown.inc.php delete mode 100644 php8/vendor/michelf/php-markdown/Michelf/Markdown.php delete mode 100644 php8/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php delete mode 100644 php8/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php delete mode 100644 php8/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php delete mode 100644 php8/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php delete mode 100644 php8/vendor/michelf/php-markdown/Readme.md delete mode 100644 php8/vendor/michelf/php-markdown/Readme.php delete mode 100644 php8/vendor/michelf/php-markdown/composer.json delete mode 100644 php8/vendor/michelf/php-markdown/phpunit.xml.dist delete mode 100644 php8/vendor/michelf/php-markdown/test/bootstrap.php delete mode 100644 php8/vendor/michelf/php-markdown/test/helpers/MarkdownTestHelper.php delete mode 100644 php8/vendor/michelf/php-markdown/test/integration/PhpMarkdownTest.php delete mode 100644 php8/vendor/michelf/php-markdown/test/phpstan.neon delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Amps and angle encoding.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Amps and angle encoding.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Auto links.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Auto links.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Backslash escapes.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Backslash escapes.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Blockquotes with code blocks.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Blockquotes with code blocks.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Blocks.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Blocks.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Spans.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Code Spans.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Hard-wrapped paragraphs with list-like lines.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Hard-wrapped paragraphs with list-like lines.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Horizontal rules.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Horizontal rules.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Images.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Images.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Advanced).text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Advanced).xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Simple).html delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML (Simple).text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML comments.html delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Inline HTML comments.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, inline style.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, inline style.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, reference style.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, reference style.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, shortcut references.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Links, shortcut references.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Literal quotes in titles.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Literal quotes in titles.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Basics.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Basics.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Syntax.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Markdown Documentation - Syntax.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Nested blockquotes.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Nested blockquotes.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Ordered and unordered lists.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Ordered and unordered lists.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Strong and em together.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Strong and em together.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tabs.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tabs.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tidyness.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/markdown.mdtest/Tidyness.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Abbr.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Abbr.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks Special Cases.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks Special Cases.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Backtick Fenced Code Blocks.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Definition Lists.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Definition Lists.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Emphasis.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Emphasis.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Footnotes.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Footnotes.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Headers with attributes.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Headers with attributes.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Inline HTML with Markdown content.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Inline HTML with Markdown content.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Link & Image Attributes.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Link & Image Attributes.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tables.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tables.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks Special Cases.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks Special Cases.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown-extra.mdtest/Tilde Fenced Code Blocks.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Adjacent Lists.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Adjacent Lists.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Auto Links.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Auto Links.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Backslash escapes.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Backslash escapes.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code Spans.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code Spans.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block in a list item.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block in a list item.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block on second line.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block on second line.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block regressions.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Code block regressions.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Email auto links.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Email auto links.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Emphasis.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Emphasis.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Empty List Item.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Empty List Item.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Headers.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Headers.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Horizontal Rules.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Horizontal Rules.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Simple).html delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Simple).text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Span).text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML (Span).xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML comments.html delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Inline HTML comments.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Ins & del.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Ins & del.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Links, inline style.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Links, inline style.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/MD5 Hashes.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/MD5 Hashes.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Mixed OLs and ULs.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Mixed OLs and ULs.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Nesting.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Nesting.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/PHP-Specific Bugs.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/PHP-Specific Bugs.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Parens in URL.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Parens in URL.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Quotes in attributes.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Quotes in attributes.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Tight blocks.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/Tight blocks.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/XML empty tag.text delete mode 100644 php8/vendor/michelf/php-markdown/test/resources/php-markdown.mdtest/XML empty tag.xhtml delete mode 100644 php8/vendor/michelf/php-markdown/test/unit/MarkdownExtraTest.php delete mode 100644 php8/vendor/monolog/monolog/CHANGELOG.md delete mode 100644 php8/vendor/monolog/monolog/LICENSE delete mode 100644 php8/vendor/monolog/monolog/README.md delete mode 100644 php8/vendor/monolog/monolog/UPGRADE.md delete mode 100644 php8/vendor/monolog/monolog/composer.json delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/DateTimeImmutable.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/ErrorHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/ElasticsearchFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/GoogleCloudLoggingFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/LogmaticFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/ElasticaHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/ElasticsearchHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FallbackGroupHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/Handler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/LogmaticHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/NoopHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/OverflowHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/ProcessHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/RedisPubSubHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SendGridHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SqsHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SymfonyMailerHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/LogRecord.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Logger.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/HostnameProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Registry.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/ResettableInterface.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/SignalHandler.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Test/TestCase.php delete mode 100644 php8/vendor/monolog/monolog/src/Monolog/Utils.php delete mode 100644 php8/vendor/psr/log/LICENSE delete mode 100644 php8/vendor/psr/log/README.md delete mode 100644 php8/vendor/psr/log/composer.json delete mode 100644 php8/vendor/psr/log/src/AbstractLogger.php delete mode 100644 php8/vendor/psr/log/src/InvalidArgumentException.php delete mode 100644 php8/vendor/psr/log/src/LogLevel.php delete mode 100644 php8/vendor/psr/log/src/LoggerAwareInterface.php delete mode 100644 php8/vendor/psr/log/src/LoggerAwareTrait.php delete mode 100644 php8/vendor/psr/log/src/LoggerInterface.php delete mode 100644 php8/vendor/psr/log/src/LoggerTrait.php delete mode 100644 php8/vendor/psr/log/src/NullLogger.php delete mode 100644 php8/vendor/rollbar/rollbar/.dockerignore delete mode 100644 php8/vendor/rollbar/rollbar/.github/pull_request_template.md delete mode 100644 php8/vendor/rollbar/rollbar/.github/workflows/ci-1.x.yml delete mode 100644 php8/vendor/rollbar/rollbar/.github/workflows/ci-2.x.yml delete mode 100644 php8/vendor/rollbar/rollbar/.github/workflows/ci-3.x.yml delete mode 100644 php8/vendor/rollbar/rollbar/.github/workflows/ci.yml delete mode 100644 php8/vendor/rollbar/rollbar/.gitignore delete mode 100644 php8/vendor/rollbar/rollbar/CHANGELOG.md delete mode 100644 php8/vendor/rollbar/rollbar/CONTRIBUTING.md delete mode 100644 php8/vendor/rollbar/rollbar/Dockerfile delete mode 100644 php8/vendor/rollbar/rollbar/EXAMPLES.md delete mode 100644 php8/vendor/rollbar/rollbar/LICENSE delete mode 100644 php8/vendor/rollbar/rollbar/POST_FORMAT.md delete mode 100644 php8/vendor/rollbar/rollbar/README.md delete mode 100644 php8/vendor/rollbar/rollbar/THANKS.md delete mode 100644 php8/vendor/rollbar/rollbar/TODO.md delete mode 100644 php8/vendor/rollbar/rollbar/composer.json delete mode 100644 php8/vendor/rollbar/rollbar/data/rollbar.snippet.js delete mode 100644 php8/vendor/rollbar/rollbar/psalm.baseline delete mode 100644 php8/vendor/rollbar/rollbar/psalm.xml delete mode 100644 php8/vendor/rollbar/rollbar/src/Config.php delete mode 100644 php8/vendor/rollbar/rollbar/src/DataBuilder.php delete mode 100644 php8/vendor/rollbar/rollbar/src/DataBuilderInterface.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Defaults.php delete mode 100644 php8/vendor/rollbar/rollbar/src/ErrorWrapper.php delete mode 100644 php8/vendor/rollbar/rollbar/src/FilterInterface.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Handlers/AbstractHandler.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Handlers/ErrorHandler.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Handlers/ExceptionHandler.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Handlers/FatalHandler.php delete mode 100644 php8/vendor/rollbar/rollbar/src/LevelFactory.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Body.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/ContentInterface.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Context.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Data.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/EncodedPayload.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/ExceptionInfo.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Frame.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Level.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Message.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Notifier.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Payload.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Person.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Request.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Server.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/Trace.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Payload/TraceChain.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Response.php delete mode 100644 php8/vendor/rollbar/rollbar/src/ResponseHandlerInterface.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Rollbar.php delete mode 100644 php8/vendor/rollbar/rollbar/src/RollbarJsHelper.php delete mode 100644 php8/vendor/rollbar/rollbar/src/RollbarLogger.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Scrubber.php delete mode 100644 php8/vendor/rollbar/rollbar/src/ScrubberInterface.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Senders/AgentSender.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Senders/CurlSender.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Senders/FluentSender.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Senders/SenderInterface.php delete mode 100644 php8/vendor/rollbar/rollbar/src/SerializerInterface.php delete mode 100644 php8/vendor/rollbar/rollbar/src/TransformerInterface.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Truncation/AbstractStrategy.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Truncation/FramesStrategy.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Truncation/MinBodyStrategy.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Truncation/RawStrategy.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Truncation/StrategyInterface.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Truncation/StringsStrategy.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Truncation/Truncation.php delete mode 100644 php8/vendor/rollbar/rollbar/src/Utilities.php delete mode 100644 php8/vendor/rollbar/rollbar/src/UtilitiesTrait.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/AgentTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/BaseRollbarTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/BodyTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/ConfigTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/ContextTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/CurlSenderTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/DataBuilderTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/DataTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/DefaultsTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/ErrorWrapperTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/ExceptionInfoTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/FakeDataBuilder.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/FakeLog.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/FluentTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/FrameTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Handlers/ErrorHandlerTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Handlers/ExceptionHandlerTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/JsHelperTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/LevelFactoryTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/MessageTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/NotifierTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Payload/EncodedPayloadTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Payload/LevelTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/PayloadTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Performance/MassivePayload.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Performance/TestHelpers/EncodedPayload.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Performance/TestHelpers/Truncation.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Performance/TruncationTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/PersonTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/ReadmeTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/RequestTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/ResponseTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/RollbarLoggerTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/RollbarTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/ScrubberTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/ServerTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/ArrayLogger.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/CustomSerializable.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/CustomTruncation.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/CycleCheck/ChildCycleCheck.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/CycleCheck/ChildCycleCheckSerializable.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/CycleCheck/ParentCycleCheck.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/CycleCheck/ParentCycleCheckSerializable.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/DeprecatedSerializable.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/FiftyFiftyExceptionSampleRate.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/FiftyFityChildExceptionSampleRate.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/MidExceptionSampleRate.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/QuarterExceptionSampleRate.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/SilentExceptionSampleRate.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/Exceptions/VerboseExceptionSampleRate.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/MalformedPayloadDataTransformer.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/MockPhpStream.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TestHelpers/StdOutLogger.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TraceChainTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/TraceTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Truncation/FramesStrategyTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Truncation/MinBodyStrategyTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Truncation/RawStrategyTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Truncation/StringsStrategyTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/Truncation/TruncationTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/UtilitiesTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/VerbosityTest.php delete mode 100644 php8/vendor/rollbar/rollbar/tests/bootstrap.php delete mode 100644 vendor/.gitignore diff --git a/php7/composer.json b/php7/composer.json deleted file mode 100644 index 53c0393c..00000000 --- a/php7/composer.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "rollbar/rollbar-php-wordpress", - "description": "WordPress plugin for Rollbar", - "type": "wordpress-plugin", - "require": { - "rollbar/rollbar": "1.8.1", - "michelf/php-markdown": "1.9.1" - }, - "license": "GNU GPL", - "authors": [ - { - "name": "flowdee", - "email": "hello@flowdee.de" - }, - { - "name": "Artur Moczulski", - "email": "artur.moczulski@gmail.com" - }, - { - "name": "Rollbar, Inc.", - "email": "support@rollbar.com", - "role": "Developer" - } - ], - - "support": { - "email": "support@rollbar.com" - }, - - "autoload": { - "psr-4": { - "Rollbar\\Wordpress\\": "../src/", - "Rollbar\\Wordpress\\Tests\\": "../tests/" - } - }, - "extra": { - "scripts-description": { - "test": "Run all tests. Make sure that local Mysql server is running." - } - }, - "scripts": { - }, - "config": { - "allow-plugins": { - "dealerdirect/phpcodesniffer-composer-installer": true - } - } -} diff --git a/php7/vendor/autoload.php b/php7/vendor/autoload.php deleted file mode 100644 index 45d0683e..00000000 --- a/php7/vendor/autoload.php +++ /dev/null @@ -1,7 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer\Autoload; - -/** - * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. - * - * $loader = new \Composer\Autoload\ClassLoader(); - * - * // register classes with namespaces - * $loader->add('Symfony\Component', __DIR__.'/component'); - * $loader->add('Symfony', __DIR__.'/framework'); - * - * // activate the autoloader - * $loader->register(); - * - * // to enable searching the include path (eg. for PEAR packages) - * $loader->setUseIncludePath(true); - * - * In this example, if you try to use a class in the Symfony\Component - * namespace or one of its children (Symfony\Component\Console for instance), - * the autoloader will first look for the class under the component/ - * directory, and it will then fallback to the framework/ directory if not - * found before giving up. - * - * This class is loosely based on the Symfony UniversalClassLoader. - * - * @author Fabien Potencier - * @author Jordi Boggiano - * @see https://www.php-fig.org/psr/psr-0/ - * @see https://www.php-fig.org/psr/psr-4/ - */ -class ClassLoader -{ - /** @var ?string */ - private $vendorDir; - - // PSR-4 - /** - * @var array[] - * @psalm-var array> - */ - private $prefixLengthsPsr4 = array(); - /** - * @var array[] - * @psalm-var array> - */ - private $prefixDirsPsr4 = array(); - /** - * @var array[] - * @psalm-var array - */ - private $fallbackDirsPsr4 = array(); - - // PSR-0 - /** - * @var array[] - * @psalm-var array> - */ - private $prefixesPsr0 = array(); - /** - * @var array[] - * @psalm-var array - */ - private $fallbackDirsPsr0 = array(); - - /** @var bool */ - private $useIncludePath = false; - - /** - * @var string[] - * @psalm-var array - */ - private $classMap = array(); - - /** @var bool */ - private $classMapAuthoritative = false; - - /** - * @var bool[] - * @psalm-var array - */ - private $missingClasses = array(); - - /** @var ?string */ - private $apcuPrefix; - - /** - * @var self[] - */ - private static $registeredLoaders = array(); - - /** - * @param ?string $vendorDir - */ - public function __construct($vendorDir = null) - { - $this->vendorDir = $vendorDir; - } - - /** - * @return string[] - */ - public function getPrefixes() - { - if (!empty($this->prefixesPsr0)) { - return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); - } - - return array(); - } - - /** - * @return array[] - * @psalm-return array> - */ - public function getPrefixesPsr4() - { - return $this->prefixDirsPsr4; - } - - /** - * @return array[] - * @psalm-return array - */ - public function getFallbackDirs() - { - return $this->fallbackDirsPsr0; - } - - /** - * @return array[] - * @psalm-return array - */ - public function getFallbackDirsPsr4() - { - return $this->fallbackDirsPsr4; - } - - /** - * @return string[] Array of classname => path - * @psalm-return array - */ - public function getClassMap() - { - return $this->classMap; - } - - /** - * @param string[] $classMap Class to filename map - * @psalm-param array $classMap - * - * @return void - */ - public function addClassMap(array $classMap) - { - if ($this->classMap) { - $this->classMap = array_merge($this->classMap, $classMap); - } else { - $this->classMap = $classMap; - } - } - - /** - * Registers a set of PSR-0 directories for a given prefix, either - * appending or prepending to the ones previously set for this prefix. - * - * @param string $prefix The prefix - * @param string[]|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories - * - * @return void - */ - public function add($prefix, $paths, $prepend = false) - { - if (!$prefix) { - if ($prepend) { - $this->fallbackDirsPsr0 = array_merge( - (array) $paths, - $this->fallbackDirsPsr0 - ); - } else { - $this->fallbackDirsPsr0 = array_merge( - $this->fallbackDirsPsr0, - (array) $paths - ); - } - - return; - } - - $first = $prefix[0]; - if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = (array) $paths; - - return; - } - if ($prepend) { - $this->prefixesPsr0[$first][$prefix] = array_merge( - (array) $paths, - $this->prefixesPsr0[$first][$prefix] - ); - } else { - $this->prefixesPsr0[$first][$prefix] = array_merge( - $this->prefixesPsr0[$first][$prefix], - (array) $paths - ); - } - } - - /** - * Registers a set of PSR-4 directories for a given namespace, either - * appending or prepending to the ones previously set for this namespace. - * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param string[]|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories - * - * @throws \InvalidArgumentException - * - * @return void - */ - public function addPsr4($prefix, $paths, $prepend = false) - { - if (!$prefix) { - // Register directories for the root namespace. - if ($prepend) { - $this->fallbackDirsPsr4 = array_merge( - (array) $paths, - $this->fallbackDirsPsr4 - ); - } else { - $this->fallbackDirsPsr4 = array_merge( - $this->fallbackDirsPsr4, - (array) $paths - ); - } - } elseif (!isset($this->prefixDirsPsr4[$prefix])) { - // Register directories for a new namespace. - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); - } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; - } elseif ($prepend) { - // Prepend directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - (array) $paths, - $this->prefixDirsPsr4[$prefix] - ); - } else { - // Append directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - $this->prefixDirsPsr4[$prefix], - (array) $paths - ); - } - } - - /** - * Registers a set of PSR-0 directories for a given prefix, - * replacing any others previously set for this prefix. - * - * @param string $prefix The prefix - * @param string[]|string $paths The PSR-0 base directories - * - * @return void - */ - public function set($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr0 = (array) $paths; - } else { - $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; - } - } - - /** - * Registers a set of PSR-4 directories for a given namespace, - * replacing any others previously set for this namespace. - * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param string[]|string $paths The PSR-4 base directories - * - * @throws \InvalidArgumentException - * - * @return void - */ - public function setPsr4($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr4 = (array) $paths; - } else { - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); - } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; - } - } - - /** - * Turns on searching the include path for class files. - * - * @param bool $useIncludePath - * - * @return void - */ - public function setUseIncludePath($useIncludePath) - { - $this->useIncludePath = $useIncludePath; - } - - /** - * Can be used to check if the autoloader uses the include path to check - * for classes. - * - * @return bool - */ - public function getUseIncludePath() - { - return $this->useIncludePath; - } - - /** - * Turns off searching the prefix and fallback directories for classes - * that have not been registered with the class map. - * - * @param bool $classMapAuthoritative - * - * @return void - */ - public function setClassMapAuthoritative($classMapAuthoritative) - { - $this->classMapAuthoritative = $classMapAuthoritative; - } - - /** - * Should class lookup fail if not found in the current class map? - * - * @return bool - */ - public function isClassMapAuthoritative() - { - return $this->classMapAuthoritative; - } - - /** - * APCu prefix to use to cache found/not-found classes, if the extension is enabled. - * - * @param string|null $apcuPrefix - * - * @return void - */ - public function setApcuPrefix($apcuPrefix) - { - $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; - } - - /** - * The APCu prefix in use, or null if APCu caching is not enabled. - * - * @return string|null - */ - public function getApcuPrefix() - { - return $this->apcuPrefix; - } - - /** - * Registers this instance as an autoloader. - * - * @param bool $prepend Whether to prepend the autoloader or not - * - * @return void - */ - public function register($prepend = false) - { - spl_autoload_register(array($this, 'loadClass'), true, $prepend); - - if (null === $this->vendorDir) { - return; - } - - if ($prepend) { - self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; - } else { - unset(self::$registeredLoaders[$this->vendorDir]); - self::$registeredLoaders[$this->vendorDir] = $this; - } - } - - /** - * Unregisters this instance as an autoloader. - * - * @return void - */ - public function unregister() - { - spl_autoload_unregister(array($this, 'loadClass')); - - if (null !== $this->vendorDir) { - unset(self::$registeredLoaders[$this->vendorDir]); - } - } - - /** - * Loads the given class or interface. - * - * @param string $class The name of the class - * @return true|null True if loaded, null otherwise - */ - public function loadClass($class) - { - if ($file = $this->findFile($class)) { - includeFile($file); - - return true; - } - - return null; - } - - /** - * Finds the path to the file where the class is defined. - * - * @param string $class The name of the class - * - * @return string|false The path if found, false otherwise - */ - public function findFile($class) - { - // class map lookup - if (isset($this->classMap[$class])) { - return $this->classMap[$class]; - } - if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { - return false; - } - if (null !== $this->apcuPrefix) { - $file = apcu_fetch($this->apcuPrefix.$class, $hit); - if ($hit) { - return $file; - } - } - - $file = $this->findFileWithExtension($class, '.php'); - - // Search for Hack files if we are running on HHVM - if (false === $file && defined('HHVM_VERSION')) { - $file = $this->findFileWithExtension($class, '.hh'); - } - - if (null !== $this->apcuPrefix) { - apcu_add($this->apcuPrefix.$class, $file); - } - - if (false === $file) { - // Remember that this class does not exist. - $this->missingClasses[$class] = true; - } - - return $file; - } - - /** - * Returns the currently registered loaders indexed by their corresponding vendor directories. - * - * @return self[] - */ - public static function getRegisteredLoaders() - { - return self::$registeredLoaders; - } - - /** - * @param string $class - * @param string $ext - * @return string|false - */ - private function findFileWithExtension($class, $ext) - { - // PSR-4 lookup - $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; - - $first = $class[0]; - if (isset($this->prefixLengthsPsr4[$first])) { - $subPath = $class; - while (false !== $lastPos = strrpos($subPath, '\\')) { - $subPath = substr($subPath, 0, $lastPos); - $search = $subPath . '\\'; - if (isset($this->prefixDirsPsr4[$search])) { - $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); - foreach ($this->prefixDirsPsr4[$search] as $dir) { - if (file_exists($file = $dir . $pathEnd)) { - return $file; - } - } - } - } - } - - // PSR-4 fallback dirs - foreach ($this->fallbackDirsPsr4 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { - return $file; - } - } - - // PSR-0 lookup - if (false !== $pos = strrpos($class, '\\')) { - // namespaced class name - $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) - . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); - } else { - // PEAR-like class name - $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; - } - - if (isset($this->prefixesPsr0[$first])) { - foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { - if (0 === strpos($class, $prefix)) { - foreach ($dirs as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - } - } - } - - // PSR-0 fallback dirs - foreach ($this->fallbackDirsPsr0 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - - // PSR-0 include paths. - if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { - return $file; - } - - return false; - } -} - -/** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - * - * @param string $file - * @return void - * @private - */ -function includeFile($file) -{ - include $file; -} diff --git a/php7/vendor/composer/InstalledVersions.php b/php7/vendor/composer/InstalledVersions.php deleted file mode 100644 index d50e0c9f..00000000 --- a/php7/vendor/composer/InstalledVersions.php +++ /dev/null @@ -1,350 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer; - -use Composer\Autoload\ClassLoader; -use Composer\Semver\VersionParser; - -/** - * This class is copied in every Composer installed project and available to all - * - * See also https://getcomposer.org/doc/07-runtime.md#installed-versions - * - * To require its presence, you can require `composer-runtime-api ^2.0` - */ -class InstalledVersions -{ - /** - * @var mixed[]|null - * @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}|array{}|null - */ - private static $installed; - - /** - * @var bool|null - */ - private static $canGetVendors; - - /** - * @var array[] - * @psalm-var array}> - */ - private static $installedByVendor = array(); - - /** - * Returns a list of all package names which are present, either by being installed, replaced or provided - * - * @return string[] - * @psalm-return list - */ - public static function getInstalledPackages() - { - $packages = array(); - foreach (self::getInstalled() as $installed) { - $packages[] = array_keys($installed['versions']); - } - - if (1 === \count($packages)) { - return $packages[0]; - } - - return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); - } - - /** - * Returns a list of all package names with a specific type e.g. 'library' - * - * @param string $type - * @return string[] - * @psalm-return list - */ - public static function getInstalledPackagesByType($type) - { - $packagesByType = array(); - - foreach (self::getInstalled() as $installed) { - foreach ($installed['versions'] as $name => $package) { - if (isset($package['type']) && $package['type'] === $type) { - $packagesByType[] = $name; - } - } - } - - return $packagesByType; - } - - /** - * Checks whether the given package is installed - * - * This also returns true if the package name is provided or replaced by another package - * - * @param string $packageName - * @param bool $includeDevRequirements - * @return bool - */ - public static function isInstalled($packageName, $includeDevRequirements = true) - { - foreach (self::getInstalled() as $installed) { - if (isset($installed['versions'][$packageName])) { - return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); - } - } - - return false; - } - - /** - * Checks whether the given package satisfies a version constraint - * - * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: - * - * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') - * - * @param VersionParser $parser Install composer/semver to have access to this class and functionality - * @param string $packageName - * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package - * @return bool - */ - public static function satisfies(VersionParser $parser, $packageName, $constraint) - { - $constraint = $parser->parseConstraints($constraint); - $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); - - return $provided->matches($constraint); - } - - /** - * Returns a version constraint representing all the range(s) which are installed for a given package - * - * It is easier to use this via isInstalled() with the $constraint argument if you need to check - * whether a given version of a package is installed, and not just whether it exists - * - * @param string $packageName - * @return string Version constraint usable with composer/semver - */ - public static function getVersionRanges($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - $ranges = array(); - if (isset($installed['versions'][$packageName]['pretty_version'])) { - $ranges[] = $installed['versions'][$packageName]['pretty_version']; - } - if (array_key_exists('aliases', $installed['versions'][$packageName])) { - $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); - } - if (array_key_exists('replaced', $installed['versions'][$packageName])) { - $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); - } - if (array_key_exists('provided', $installed['versions'][$packageName])) { - $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); - } - - return implode(' || ', $ranges); - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present - */ - public static function getVersion($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - if (!isset($installed['versions'][$packageName]['version'])) { - return null; - } - - return $installed['versions'][$packageName]['version']; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present - */ - public static function getPrettyVersion($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - if (!isset($installed['versions'][$packageName]['pretty_version'])) { - return null; - } - - return $installed['versions'][$packageName]['pretty_version']; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference - */ - public static function getReference($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - if (!isset($installed['versions'][$packageName]['reference'])) { - return null; - } - - return $installed['versions'][$packageName]['reference']; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @param string $packageName - * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. - */ - public static function getInstallPath($packageName) - { - foreach (self::getInstalled() as $installed) { - if (!isset($installed['versions'][$packageName])) { - continue; - } - - return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; - } - - throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); - } - - /** - * @return array - * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} - */ - public static function getRootPackage() - { - $installed = self::getInstalled(); - - return $installed[0]['root']; - } - - /** - * Returns the raw installed.php data for custom implementations - * - * @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. - * @return array[] - * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} - */ - public static function getRawData() - { - @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); - - if (null === self::$installed) { - // only require the installed.php file if this file is loaded from its dumped location, - // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 - if (substr(__DIR__, -8, 1) !== 'C') { - self::$installed = include __DIR__ . '/installed.php'; - } else { - self::$installed = array(); - } - } - - return self::$installed; - } - - /** - * Returns the raw data of all installed.php which are currently loaded for custom implementations - * - * @return array[] - * @psalm-return list}> - */ - public static function getAllRawData() - { - return self::getInstalled(); - } - - /** - * Lets you reload the static array from another file - * - * This is only useful for complex integrations in which a project needs to use - * this class but then also needs to execute another project's autoloader in process, - * and wants to ensure both projects have access to their version of installed.php. - * - * A typical case would be PHPUnit, where it would need to make sure it reads all - * the data it needs from this class, then call reload() with - * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure - * the project in which it runs can then also use this class safely, without - * interference between PHPUnit's dependencies and the project's dependencies. - * - * @param array[] $data A vendor/composer/installed.php data set - * @return void - * - * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data - */ - public static function reload($data) - { - self::$installed = $data; - self::$installedByVendor = array(); - } - - /** - * @return array[] - * @psalm-return list}> - */ - private static function getInstalled() - { - if (null === self::$canGetVendors) { - self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); - } - - $installed = array(); - - if (self::$canGetVendors) { - foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { - if (isset(self::$installedByVendor[$vendorDir])) { - $installed[] = self::$installedByVendor[$vendorDir]; - } elseif (is_file($vendorDir.'/composer/installed.php')) { - $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; - if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { - self::$installed = $installed[count($installed) - 1]; - } - } - } - } - - if (null === self::$installed) { - // only require the installed.php file if this file is loaded from its dumped location, - // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 - if (substr(__DIR__, -8, 1) !== 'C') { - self::$installed = require __DIR__ . '/installed.php'; - } else { - self::$installed = array(); - } - } - $installed[] = self::$installed; - - return $installed; - } -} diff --git a/php7/vendor/composer/LICENSE b/php7/vendor/composer/LICENSE deleted file mode 100644 index f27399a0..00000000 --- a/php7/vendor/composer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - -Copyright (c) Nils Adermann, Jordi Boggiano - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/php7/vendor/composer/autoload_classmap.php b/php7/vendor/composer/autoload_classmap.php deleted file mode 100644 index b26f1b13..00000000 --- a/php7/vendor/composer/autoload_classmap.php +++ /dev/null @@ -1,10 +0,0 @@ - $vendorDir . '/composer/InstalledVersions.php', -); diff --git a/php7/vendor/composer/autoload_namespaces.php b/php7/vendor/composer/autoload_namespaces.php deleted file mode 100644 index b7fc0125..00000000 --- a/php7/vendor/composer/autoload_namespaces.php +++ /dev/null @@ -1,9 +0,0 @@ - array($baseDir . '/../tests'), - 'Rollbar\\Wordpress\\' => array($baseDir . '/../src'), - 'Rollbar\\' => array($vendorDir . '/rollbar/rollbar/src'), - 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), - 'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'), - 'Michelf\\' => array($vendorDir . '/michelf/php-markdown/Michelf'), -); diff --git a/php7/vendor/composer/autoload_real.php b/php7/vendor/composer/autoload_real.php deleted file mode 100644 index db4b81a0..00000000 --- a/php7/vendor/composer/autoload_real.php +++ /dev/null @@ -1,57 +0,0 @@ -= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); - if ($useStaticLoader) { - require __DIR__ . '/autoload_static.php'; - - call_user_func(\Composer\Autoload\ComposerStaticInit651709d49347dfb191dbc26e844ab1c4::getInitializer($loader)); - } else { - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } - - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } - - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); - } - } - - $loader->register(true); - - return $loader; - } -} diff --git a/php7/vendor/composer/autoload_static.php b/php7/vendor/composer/autoload_static.php deleted file mode 100644 index 33ef445c..00000000 --- a/php7/vendor/composer/autoload_static.php +++ /dev/null @@ -1,67 +0,0 @@ - - array ( - 'Rollbar\\Wordpress\\Tests\\' => 24, - 'Rollbar\\Wordpress\\' => 18, - 'Rollbar\\' => 8, - ), - 'P' => - array ( - 'Psr\\Log\\' => 8, - ), - 'M' => - array ( - 'Monolog\\' => 8, - 'Michelf\\' => 8, - ), - ); - - public static $prefixDirsPsr4 = array ( - 'Rollbar\\Wordpress\\Tests\\' => - array ( - 0 => __DIR__ . '/../..' . '/../tests', - ), - 'Rollbar\\Wordpress\\' => - array ( - 0 => __DIR__ . '/../..' . '/../src', - ), - 'Rollbar\\' => - array ( - 0 => __DIR__ . '/..' . '/rollbar/rollbar/src', - ), - 'Psr\\Log\\' => - array ( - 0 => __DIR__ . '/..' . '/psr/log/Psr/Log', - ), - 'Monolog\\' => - array ( - 0 => __DIR__ . '/..' . '/monolog/monolog/src/Monolog', - ), - 'Michelf\\' => - array ( - 0 => __DIR__ . '/..' . '/michelf/php-markdown/Michelf', - ), - ); - - public static $classMap = array ( - 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', - ); - - public static function getInitializer(ClassLoader $loader) - { - return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit651709d49347dfb191dbc26e844ab1c4::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit651709d49347dfb191dbc26e844ab1c4::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit651709d49347dfb191dbc26e844ab1c4::$classMap; - - }, null, ClassLoader::class); - } -} diff --git a/php7/vendor/composer/installed.json b/php7/vendor/composer/installed.json deleted file mode 100644 index ef4b34ed..00000000 --- a/php7/vendor/composer/installed.json +++ /dev/null @@ -1,271 +0,0 @@ -{ - "packages": [ - { - "name": "michelf/php-markdown", - "version": "1.9.1", - "version_normalized": "1.9.1.0", - "source": { - "type": "git", - "url": "https://github.com/michelf/php-markdown.git", - "reference": "5024d623c1a057dcd2d076d25b7d270a1d0d55f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/michelf/php-markdown/zipball/5024d623c1a057dcd2d076d25b7d270a1d0d55f3", - "reference": "5024d623c1a057dcd2d076d25b7d270a1d0d55f3", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">=4.3 <5.8" - }, - "time": "2021-11-24T02:52:38+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Michelf\\": "Michelf/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" - }, - { - "name": "John Gruber", - "homepage": "https://daringfireball.net/" - } - ], - "description": "PHP Markdown", - "homepage": "https://michelf.ca/projects/php-markdown/", - "keywords": [ - "markdown" - ], - "support": { - "issues": "https://github.com/michelf/php-markdown/issues", - "source": "https://github.com/michelf/php-markdown/tree/1.9.1" - }, - "install-path": "../michelf/php-markdown" - }, - { - "name": "monolog/monolog", - "version": "1.27.1", - "version_normalized": "1.27.1.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "904713c5929655dc9b97288b69cfeedad610c9a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1", - "reference": "904713c5929655dc9b97288b69cfeedad610c9a1", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpstan/phpstan": "^0.12.59", - "phpunit/phpunit": "~4.5", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "^5.3|^6.0" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "time": "2022-06-09T08:53:42+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/1.27.1" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "install-path": "../monolog/monolog" - }, - { - "name": "psr/log", - "version": "1.1.4", - "version_normalized": "1.1.4.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2021-05-03T11:20:27+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" - }, - "install-path": "../psr/log" - }, - { - "name": "rollbar/rollbar", - "version": "v1.8.1", - "version_normalized": "1.8.1.0", - "source": { - "type": "git", - "url": "https://github.com/rollbar/rollbar-php.git", - "reference": "8a57ad9574d85bd818eaedfc8049fdcb16795f31" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rollbar/rollbar-php/zipball/8a57ad9574d85bd818eaedfc8049fdcb16795f31", - "reference": "8a57ad9574d85bd818eaedfc8049fdcb16795f31", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "monolog/monolog": "^1", - "psr/log": "^1" - }, - "require-dev": { - "codeclimate/php-test-reporter": "dev-master", - "mockery/mockery": "0.9.*", - "packfire/php5.3-compat": "*", - "phpmd/phpmd": "@stable", - "phpunit/phpunit": "4.8.*", - "squizlabs/php_codesniffer": "2.*" - }, - "suggest": { - "fluent/logger": "Needed to use the 'fluent' handler for fluentd support", - "packfire/php5.3-compat": "for backward compatibility with PHP 5.3" - }, - "time": "2019-05-06T11:31:11+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Rollbar\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Rollbar, Inc.", - "email": "support@rollbar.com", - "role": "Developer" - } - ], - "description": "Monitors errors and exceptions and reports them to Rollbar", - "homepage": "http://github.com/rollbar/rollbar-php", - "keywords": [ - "debugging", - "errors", - "exceptions", - "logging", - "monitoring" - ], - "support": { - "email": "support@rollbar.com", - "issues": "https://github.com/rollbar/rollbar-php/issues", - "source": "https://github.com/rollbar/rollbar-php/tree/v1.8.1" - }, - "install-path": "../rollbar/rollbar" - } - ], - "dev": true, - "dev-package-names": [] -} diff --git a/php7/vendor/composer/installed.php b/php7/vendor/composer/installed.php deleted file mode 100644 index 6523b1de..00000000 --- a/php7/vendor/composer/installed.php +++ /dev/null @@ -1,65 +0,0 @@ - array( - 'pretty_version' => '1.0.0+no-version-set', - 'version' => '1.0.0.0', - 'type' => 'wordpress-plugin', - 'install_path' => __DIR__ . '/../../', - 'aliases' => array(), - 'reference' => NULL, - 'name' => 'rollbar/rollbar-php-wordpress', - 'dev' => true, - ), - 'versions' => array( - 'michelf/php-markdown' => array( - 'pretty_version' => '1.9.1', - 'version' => '1.9.1.0', - 'type' => 'library', - 'install_path' => __DIR__ . '/../michelf/php-markdown', - 'aliases' => array(), - 'reference' => '5024d623c1a057dcd2d076d25b7d270a1d0d55f3', - 'dev_requirement' => false, - ), - 'monolog/monolog' => array( - 'pretty_version' => '1.27.1', - 'version' => '1.27.1.0', - 'type' => 'library', - 'install_path' => __DIR__ . '/../monolog/monolog', - 'aliases' => array(), - 'reference' => '904713c5929655dc9b97288b69cfeedad610c9a1', - 'dev_requirement' => false, - ), - 'psr/log' => array( - 'pretty_version' => '1.1.4', - 'version' => '1.1.4.0', - 'type' => 'library', - 'install_path' => __DIR__ . '/../psr/log', - 'aliases' => array(), - 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', - 'dev_requirement' => false, - ), - 'psr/log-implementation' => array( - 'dev_requirement' => false, - 'provided' => array( - 0 => '1.0.0', - ), - ), - 'rollbar/rollbar' => array( - 'pretty_version' => 'v1.8.1', - 'version' => '1.8.1.0', - 'type' => 'library', - 'install_path' => __DIR__ . '/../rollbar/rollbar', - 'aliases' => array(), - 'reference' => '8a57ad9574d85bd818eaedfc8049fdcb16795f31', - 'dev_requirement' => false, - ), - 'rollbar/rollbar-php-wordpress' => array( - 'pretty_version' => '1.0.0+no-version-set', - 'version' => '1.0.0.0', - 'type' => 'wordpress-plugin', - 'install_path' => __DIR__ . '/../../', - 'aliases' => array(), - 'reference' => NULL, - 'dev_requirement' => false, - ), - ), -); diff --git a/php7/vendor/composer/platform_check.php b/php7/vendor/composer/platform_check.php deleted file mode 100644 index 7621d4ff..00000000 --- a/php7/vendor/composer/platform_check.php +++ /dev/null @@ -1,26 +0,0 @@ -= 50300)) { - $issues[] = 'Your Composer dependencies require a PHP version ">= 5.3.0". You are running ' . PHP_VERSION . '.'; -} - -if ($issues) { - if (!headers_sent()) { - header('HTTP/1.1 500 Internal Server Error'); - } - if (!ini_get('display_errors')) { - if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { - fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); - } elseif (!headers_sent()) { - echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; - } - } - trigger_error( - 'Composer detected issues in your platform: ' . implode(' ', $issues), - E_USER_ERROR - ); -} diff --git a/php7/vendor/michelf/php-markdown/.editorconfig b/php7/vendor/michelf/php-markdown/.editorconfig deleted file mode 100644 index 179d40c9..00000000 --- a/php7/vendor/michelf/php-markdown/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -# EditorConfig is awesome: https://EditorConfig.org -root = true - -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = false - -[*.php] -indent_style = tab -insert_final_newline = true diff --git a/php7/vendor/michelf/php-markdown/.gitignore b/php7/vendor/michelf/php-markdown/.gitignore deleted file mode 100644 index 5bd6475b..00000000 --- a/php7/vendor/michelf/php-markdown/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*~ -/composer.lock -/vendor/ diff --git a/php7/vendor/michelf/php-markdown/.scrutinizer.yml b/php7/vendor/michelf/php-markdown/.scrutinizer.yml deleted file mode 100644 index b4f5dfb9..00000000 --- a/php7/vendor/michelf/php-markdown/.scrutinizer.yml +++ /dev/null @@ -1,36 +0,0 @@ -build: - environment: - php: - version: '7.0.20' - nodes: - analysis: - project_setup: - override: - - 'true' - tests: - override: - - - command: 'vendor/bin/phpunit --coverage-clover=clover.xml' - coverage: - file: 'clover.xml' - format: 'clover' - - - command: phpcs-run - use_website_config: true - environment: - node: - version: 6.0.0 - tests: true -filter: - excluded_paths: - - 'test/*' -checks: - php: true -coding_style: - php: - indentation: - general: - use_tabs: true - spaces: - around_operators: - concatenation: true diff --git a/php7/vendor/michelf/php-markdown/.travis.yml b/php7/vendor/michelf/php-markdown/.travis.yml deleted file mode 100644 index 440045be..00000000 --- a/php7/vendor/michelf/php-markdown/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -language: php - -matrix: - include: - - php: hhvm-3.18 - dist: trusty - - php: 5.3 - dist: precise - - php: 5.4 - dist: trusty - - php: 5.5 - dist: trusty - - php: 5.6 - dist: xenial - - php: 7.0 - dist: xenial - - php: 7.1 - dist: bionic - - php: 7.2 - dist: bionic - - php: 7.3 - dist: bionic - - php: 7.4 - dist: bionic - -install: - - composer install --prefer-dist - -script: - - vendor/bin/phpunit --log-junit=phpunit.log - -notifications: - email: false diff --git a/php7/vendor/michelf/php-markdown/License.md b/php7/vendor/michelf/php-markdown/License.md deleted file mode 100644 index 25d1e16b..00000000 --- a/php7/vendor/michelf/php-markdown/License.md +++ /dev/null @@ -1,36 +0,0 @@ -PHP Markdown Lib -Copyright (c) 2004-2021 Michel Fortin - -All rights reserved. - -Based on Markdown -Copyright (c) 2003-2006 John Gruber - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -* Neither the name "Markdown" nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -This software is provided by the copyright holders and contributors "as -is" and any express or implied warranties, including, but not limited -to, the implied warranties of merchantability and fitness for a -particular purpose are disclaimed. In no event shall the copyright owner -or contributors be liable for any direct, indirect, incidental, special, -exemplary, or consequential damages (including, but not limited to, -procurement of substitute goods or services; loss of use, data, or -profits; or business interruption) however caused and on any theory of -liability, whether in contract, strict liability, or tort (including -negligence or otherwise) arising in any way out of the use of this -software, even if advised of the possibility of such damage. diff --git a/php7/vendor/michelf/php-markdown/Michelf/Markdown.inc.php b/php7/vendor/michelf/php-markdown/Michelf/Markdown.inc.php deleted file mode 100644 index e2bd3808..00000000 --- a/php7/vendor/michelf/php-markdown/Michelf/Markdown.inc.php +++ /dev/null @@ -1,10 +0,0 @@ - - * @copyright 2004-2021 Michel Fortin - * @copyright (Original Markdown) 2004-2006 John Gruber - */ - -namespace Michelf; - -/** - * Markdown Parser Class - */ -class Markdown implements MarkdownInterface { - /** - * Define the package version - * @var string - */ - const MARKDOWNLIB_VERSION = "1.9.1"; - - /** - * Simple function interface - Initialize the parser and return the result - * of its transform method. This will work fine for derived classes too. - * - * @api - * - * @param string $text - * @return string - */ - public static function defaultTransform($text) { - // Take parser class on which this function was called. - $parser_class = \get_called_class(); - - // Try to take parser from the static parser list - static $parser_list; - $parser =& $parser_list[$parser_class]; - - // Create the parser it not already set - if (!$parser) { - $parser = new $parser_class; - } - - // Transform text using parser. - return $parser->transform($text); - } - - /** - * Configuration variables - */ - - /** - * Change to ">" for HTML output. - * @var string - */ - public $empty_element_suffix = " />"; - - /** - * The width of indentation of the output markup - * @var int - */ - public $tab_width = 4; - - /** - * Change to `true` to disallow markup or entities. - * @var boolean - */ - public $no_markup = false; - public $no_entities = false; - - - /** - * Change to `true` to enable line breaks on \n without two trailling spaces - * @var boolean - */ - public $hard_wrap = false; - - /** - * Predefined URLs and titles for reference links and images. - * @var array - */ - public $predef_urls = array(); - public $predef_titles = array(); - - /** - * Optional filter function for URLs - * @var callable|null - */ - public $url_filter_func = null; - - /** - * Optional header id="" generation callback function. - * @var callable|null - */ - public $header_id_func = null; - - /** - * Optional function for converting code block content to HTML - * @var callable|null - */ - public $code_block_content_func = null; - - /** - * Optional function for converting code span content to HTML. - * @var callable|null - */ - public $code_span_content_func = null; - - /** - * Class attribute to toggle "enhanced ordered list" behaviour - * setting this to true will allow ordered lists to start from the index - * number that is defined first. - * - * For example: - * 2. List item two - * 3. List item three - * - * Becomes: - *
    - *
  1. List item two
  2. - *
  3. List item three
  4. - *
- * - * @var bool - */ - public $enhanced_ordered_list = false; - - /** - * Parser implementation - */ - - /** - * Regex to match balanced [brackets]. - * Needed to insert a maximum bracked depth while converting to PHP. - * @var int - */ - protected $nested_brackets_depth = 6; - protected $nested_brackets_re; - - protected $nested_url_parenthesis_depth = 4; - protected $nested_url_parenthesis_re; - - /** - * Table of hash values for escaped characters: - * @var string - */ - protected $escape_chars = '\`*_{}[]()>#+-.!'; - protected $escape_chars_re; - - /** - * Constructor function. Initialize appropriate member variables. - * @return void - */ - public function __construct() { - $this->_initDetab(); - $this->prepareItalicsAndBold(); - - $this->nested_brackets_re = - str_repeat('(?>[^\[\]]+|\[', $this->nested_brackets_depth). - str_repeat('\])*', $this->nested_brackets_depth); - - $this->nested_url_parenthesis_re = - str_repeat('(?>[^()\s]+|\(', $this->nested_url_parenthesis_depth). - str_repeat('(?>\)))*', $this->nested_url_parenthesis_depth); - - $this->escape_chars_re = '['.preg_quote($this->escape_chars).']'; - - // Sort document, block, and span gamut in ascendent priority order. - asort($this->document_gamut); - asort($this->block_gamut); - asort($this->span_gamut); - } - - - /** - * Internal hashes used during transformation. - * @var array - */ - protected $urls = array(); - protected $titles = array(); - protected $html_hashes = array(); - - /** - * Status flag to avoid invalid nesting. - * @var boolean - */ - protected $in_anchor = false; - - /** - * Status flag to avoid invalid nesting. - * @var boolean - */ - protected $in_emphasis_processing = false; - - /** - * Called before the transformation process starts to setup parser states. - * @return void - */ - protected function setup() { - // Clear global hashes. - $this->urls = $this->predef_urls; - $this->titles = $this->predef_titles; - $this->html_hashes = array(); - $this->in_anchor = false; - $this->in_emphasis_processing = false; - } - - /** - * Called after the transformation process to clear any variable which may - * be taking up memory unnecessarly. - * @return void - */ - protected function teardown() { - $this->urls = array(); - $this->titles = array(); - $this->html_hashes = array(); - } - - /** - * Main function. Performs some preprocessing on the input text and pass - * it through the document gamut. - * - * @api - * - * @param string $text - * @return string - */ - public function transform($text) { - $this->setup(); - - # Remove UTF-8 BOM and marker character in input, if present. - $text = preg_replace('{^\xEF\xBB\xBF|\x1A}', '', $text); - - # Standardize line endings: - # DOS to Unix and Mac to Unix - $text = preg_replace('{\r\n?}', "\n", $text); - - # Make sure $text ends with a couple of newlines: - $text .= "\n\n"; - - # Convert all tabs to spaces. - $text = $this->detab($text); - - # Turn block-level HTML blocks into hash entries - $text = $this->hashHTMLBlocks($text); - - # Strip any lines consisting only of spaces and tabs. - # This makes subsequent regexen easier to write, because we can - # match consecutive blank lines with /\n+/ instead of something - # contorted like /[ ]*\n+/ . - $text = preg_replace('/^[ ]+$/m', '', $text); - - # Run document gamut methods. - foreach ($this->document_gamut as $method => $priority) { - $text = $this->$method($text); - } - - $this->teardown(); - - return $text . "\n"; - } - - /** - * Define the document gamut - * @var array - */ - protected $document_gamut = array( - // Strip link definitions, store in hashes. - "stripLinkDefinitions" => 20, - "runBasicBlockGamut" => 30, - ); - - /** - * Strips link definitions from text, stores the URLs and titles in - * hash references - * @param string $text - * @return string - */ - protected function stripLinkDefinitions($text) { - - $less_than_tab = $this->tab_width - 1; - - // Link defs are in the form: ^[id]: url "optional title" - $text = preg_replace_callback('{ - ^[ ]{0,'.$less_than_tab.'}\[(.+)\][ ]?: # id = $1 - [ ]* - \n? # maybe *one* newline - [ ]* - (?: - <(.+?)> # url = $2 - | - (\S+?) # url = $3 - ) - [ ]* - \n? # maybe one newline - [ ]* - (?: - (?<=\s) # lookbehind for whitespace - ["(] - (.*?) # title = $4 - [")] - [ ]* - )? # title is optional - (?:\n+|\Z) - }xm', - array($this, '_stripLinkDefinitions_callback'), - $text - ); - return $text; - } - - /** - * The callback to strip link definitions - * @param array $matches - * @return string - */ - protected function _stripLinkDefinitions_callback($matches) { - $link_id = strtolower($matches[1]); - $url = $matches[2] == '' ? $matches[3] : $matches[2]; - $this->urls[$link_id] = $url; - $this->titles[$link_id] =& $matches[4]; - return ''; // String that will replace the block - } - - /** - * Hashify HTML blocks - * @param string $text - * @return string - */ - protected function hashHTMLBlocks($text) { - if ($this->no_markup) { - return $text; - } - - $less_than_tab = $this->tab_width - 1; - - /** - * Hashify HTML blocks: - * - * We only want to do this for block-level HTML tags, such as headers, - * lists, and tables. That's because we still want to wrap

s around - * "paragraphs" that are wrapped in non-block-level tags, such as - * anchors, phrase emphasis, and spans. The list of tags we're looking - * for is hard-coded: - * - * * List "a" is made of tags which can be both inline or block-level. - * These will be treated block-level when the start tag is alone on - * its line, otherwise they're not matched here and will be taken as - * inline later. - * * List "b" is made of tags which are always block-level; - */ - $block_tags_a_re = 'ins|del'; - $block_tags_b_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|'. - 'script|noscript|style|form|fieldset|iframe|math|svg|'. - 'article|section|nav|aside|hgroup|header|footer|'. - 'figure|details|summary'; - - // Regular expression for the content of a block tag. - $nested_tags_level = 4; - $attr = ' - (?> # optional tag attributes - \s # starts with whitespace - (?> - [^>"/]+ # text outside quotes - | - /+(?!>) # slash not followed by ">" - | - "[^"]*" # text inside double quotes (tolerate ">") - | - \'[^\']*\' # text inside single quotes (tolerate ">") - )* - )? - '; - $content = - str_repeat(' - (?> - [^<]+ # content without tag - | - <\2 # nested opening tag - '.$attr.' # attributes - (?> - /> - | - >', $nested_tags_level). // end of opening tag - '.*?'. // last level nested tag content - str_repeat(' - # closing nested tag - ) - | - <(?!/\2\s*> # other tags with a different name - ) - )*', - $nested_tags_level); - $content2 = str_replace('\2', '\3', $content); - - /** - * First, look for nested blocks, e.g.: - *

- *
- * tags for inner block must be indented. - *
- *
- * - * The outermost tags must start at the left margin for this to match, - * and the inner nested divs must be indented. - * We need to do this before the next, more liberal match, because the - * next match will start at the first `
` and stop at the - * first `
`. - */ - $text = preg_replace_callback('{(?> - (?> - (?<=\n) # Starting on its own line - | # or - \A\n? # the at beginning of the doc - ) - ( # save in $1 - - # Match from `\n` to `\n`, handling nested tags - # in between. - - [ ]{0,'.$less_than_tab.'} - <('.$block_tags_b_re.')# start tag = $2 - '.$attr.'> # attributes followed by > and \n - '.$content.' # content, support nesting - # the matching end tag - [ ]* # trailing spaces/tabs - (?=\n+|\Z) # followed by a newline or end of document - - | # Special version for tags of group a. - - [ ]{0,'.$less_than_tab.'} - <('.$block_tags_a_re.')# start tag = $3 - '.$attr.'>[ ]*\n # attributes followed by > - '.$content2.' # content, support nesting - # the matching end tag - [ ]* # trailing spaces/tabs - (?=\n+|\Z) # followed by a newline or end of document - - | # Special case just for
. It was easier to make a special - # case than to make the other regex more complicated. - - [ ]{0,'.$less_than_tab.'} - <(hr) # start tag = $2 - '.$attr.' # attributes - /?> # the matching end tag - [ ]* - (?=\n{2,}|\Z) # followed by a blank line or end of document - - | # Special case for standalone HTML comments: - - [ ]{0,'.$less_than_tab.'} - (?s: - - ) - [ ]* - (?=\n{2,}|\Z) # followed by a blank line or end of document - - | # PHP and ASP-style processor instructions ( - ) - [ ]* - (?=\n{2,}|\Z) # followed by a blank line or end of document - - ) - )}Sxmi', - array($this, '_hashHTMLBlocks_callback'), - $text - ); - - return $text; - } - - /** - * The callback for hashing HTML blocks - * @param string $matches - * @return string - */ - protected function _hashHTMLBlocks_callback($matches) { - $text = $matches[1]; - $key = $this->hashBlock($text); - return "\n\n$key\n\n"; - } - - /** - * Called whenever a tag must be hashed when a function insert an atomic - * element in the text stream. Passing $text to through this function gives - * a unique text-token which will be reverted back when calling unhash. - * - * The $boundary argument specify what character should be used to surround - * the token. By convension, "B" is used for block elements that needs not - * to be wrapped into paragraph tags at the end, ":" is used for elements - * that are word separators and "X" is used in the general case. - * - * @param string $text - * @param string $boundary - * @return string - */ - protected function hashPart($text, $boundary = 'X') { - // Swap back any tag hash found in $text so we do not have to `unhash` - // multiple times at the end. - $text = $this->unhash($text); - - // Then hash the block. - static $i = 0; - $key = "$boundary\x1A" . ++$i . $boundary; - $this->html_hashes[$key] = $text; - return $key; // String that will replace the tag. - } - - /** - * Shortcut function for hashPart with block-level boundaries. - * @param string $text - * @return string - */ - protected function hashBlock($text) { - return $this->hashPart($text, 'B'); - } - - /** - * Define the block gamut - these are all the transformations that form - * block-level tags like paragraphs, headers, and list items. - * @var array - */ - protected $block_gamut = array( - "doHeaders" => 10, - "doHorizontalRules" => 20, - "doLists" => 40, - "doCodeBlocks" => 50, - "doBlockQuotes" => 60, - ); - - /** - * Run block gamut tranformations. - * - * We need to escape raw HTML in Markdown source before doing anything - * else. This need to be done for each block, and not only at the - * begining in the Markdown function since hashed blocks can be part of - * list items and could have been indented. Indented blocks would have - * been seen as a code block in a previous pass of hashHTMLBlocks. - * - * @param string $text - * @return string - */ - protected function runBlockGamut($text) { - $text = $this->hashHTMLBlocks($text); - return $this->runBasicBlockGamut($text); - } - - /** - * Run block gamut tranformations, without hashing HTML blocks. This is - * useful when HTML blocks are known to be already hashed, like in the first - * whole-document pass. - * - * @param string $text - * @return string - */ - protected function runBasicBlockGamut($text) { - - foreach ($this->block_gamut as $method => $priority) { - $text = $this->$method($text); - } - - // Finally form paragraph and restore hashed blocks. - $text = $this->formParagraphs($text); - - return $text; - } - - /** - * Convert horizontal rules - * @param string $text - * @return string - */ - protected function doHorizontalRules($text) { - return preg_replace( - '{ - ^[ ]{0,3} # Leading space - ([-*_]) # $1: First marker - (?> # Repeated marker group - [ ]{0,2} # Zero, one, or two spaces. - \1 # Marker character - ){2,} # Group repeated at least twice - [ ]* # Tailing spaces - $ # End of line. - }mx', - "\n".$this->hashBlock("empty_element_suffix")."\n", - $text - ); - } - - /** - * These are all the transformations that occur *within* block-level - * tags like paragraphs, headers, and list items. - * @var array - */ - protected $span_gamut = array( - // Process character escapes, code spans, and inline HTML - // in one shot. - "parseSpan" => -30, - // Process anchor and image tags. Images must come first, - // because ![foo][f] looks like an anchor. - "doImages" => 10, - "doAnchors" => 20, - // Make links out of things like `` - // Must come after doAnchors, because you can use < and > - // delimiters in inline links like [this](). - "doAutoLinks" => 30, - "encodeAmpsAndAngles" => 40, - "doItalicsAndBold" => 50, - "doHardBreaks" => 60, - ); - - /** - * Run span gamut transformations - * @param string $text - * @return string - */ - protected function runSpanGamut($text) { - foreach ($this->span_gamut as $method => $priority) { - $text = $this->$method($text); - } - - return $text; - } - - /** - * Do hard breaks - * @param string $text - * @return string - */ - protected function doHardBreaks($text) { - if ($this->hard_wrap) { - return preg_replace_callback('/ *\n/', - array($this, '_doHardBreaks_callback'), $text); - } else { - return preg_replace_callback('/ {2,}\n/', - array($this, '_doHardBreaks_callback'), $text); - } - } - - /** - * Trigger part hashing for the hard break (callback method) - * @param array $matches - * @return string - */ - protected function _doHardBreaks_callback($matches) { - return $this->hashPart("empty_element_suffix\n"); - } - - /** - * Turn Markdown link shortcuts into XHTML tags. - * @param string $text - * @return string - */ - protected function doAnchors($text) { - if ($this->in_anchor) { - return $text; - } - $this->in_anchor = true; - - // First, handle reference-style links: [link text] [id] - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - \[ - ('.$this->nested_brackets_re.') # link text = $2 - \] - - [ ]? # one optional space - (?:\n[ ]*)? # one optional newline followed by spaces - - \[ - (.*?) # id = $3 - \] - ) - }xs', - array($this, '_doAnchors_reference_callback'), $text); - - // Next, inline-style links: [link text](url "optional title") - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - \[ - ('.$this->nested_brackets_re.') # link text = $2 - \] - \( # literal paren - [ \n]* - (?: - <(.+?)> # href = $3 - | - ('.$this->nested_url_parenthesis_re.') # href = $4 - ) - [ \n]* - ( # $5 - ([\'"]) # quote char = $6 - (.*?) # Title = $7 - \6 # matching quote - [ \n]* # ignore any spaces/tabs between closing quote and ) - )? # title is optional - \) - ) - }xs', - array($this, '_doAnchors_inline_callback'), $text); - - // Last, handle reference-style shortcuts: [link text] - // These must come last in case you've also got [link text][1] - // or [link text](/foo) - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - \[ - ([^\[\]]+) # link text = $2; can\'t contain [ or ] - \] - ) - }xs', - array($this, '_doAnchors_reference_callback'), $text); - - $this->in_anchor = false; - return $text; - } - - /** - * Callback method to parse referenced anchors - * @param string $matches - * @return string - */ - protected function _doAnchors_reference_callback($matches) { - $whole_match = $matches[1]; - $link_text = $matches[2]; - $link_id =& $matches[3]; - - if ($link_id == "") { - // for shortcut links like [this][] or [this]. - $link_id = $link_text; - } - - // lower-case and turn embedded newlines into spaces - $link_id = strtolower($link_id); - $link_id = preg_replace('{[ ]?\n}', ' ', $link_id); - - if (isset($this->urls[$link_id])) { - $url = $this->urls[$link_id]; - $url = $this->encodeURLAttribute($url); - - $result = "titles[$link_id] ) ) { - $title = $this->titles[$link_id]; - $title = $this->encodeAttribute($title); - $result .= " title=\"$title\""; - } - - $link_text = $this->runSpanGamut($link_text); - $result .= ">$link_text"; - $result = $this->hashPart($result); - } else { - $result = $whole_match; - } - return $result; - } - - /** - * Callback method to parse inline anchors - * @param string $matches - * @return string - */ - protected function _doAnchors_inline_callback($matches) { - $link_text = $this->runSpanGamut($matches[2]); - $url = $matches[3] === '' ? $matches[4] : $matches[3]; - $title =& $matches[7]; - - // If the URL was of the form it got caught by the HTML - // tag parser and hashed. Need to reverse the process before using - // the URL. - $unhashed = $this->unhash($url); - if ($unhashed !== $url) - $url = preg_replace('/^<(.*)>$/', '\1', $unhashed); - - $url = $this->encodeURLAttribute($url); - - $result = "encodeAttribute($title); - $result .= " title=\"$title\""; - } - - $link_text = $this->runSpanGamut($link_text); - $result .= ">$link_text"; - - return $this->hashPart($result); - } - - /** - * Turn Markdown image shortcuts into tags. - * @param string $text - * @return string - */ - protected function doImages($text) { - // First, handle reference-style labeled images: ![alt text][id] - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - !\[ - ('.$this->nested_brackets_re.') # alt text = $2 - \] - - [ ]? # one optional space - (?:\n[ ]*)? # one optional newline followed by spaces - - \[ - (.*?) # id = $3 - \] - - ) - }xs', - array($this, '_doImages_reference_callback'), $text); - - // Next, handle inline images: ![alt text](url "optional title") - // Don't forget: encode * and _ - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - !\[ - ('.$this->nested_brackets_re.') # alt text = $2 - \] - \s? # One optional whitespace character - \( # literal paren - [ \n]* - (?: - <(\S*)> # src url = $3 - | - ('.$this->nested_url_parenthesis_re.') # src url = $4 - ) - [ \n]* - ( # $5 - ([\'"]) # quote char = $6 - (.*?) # title = $7 - \6 # matching quote - [ \n]* - )? # title is optional - \) - ) - }xs', - array($this, '_doImages_inline_callback'), $text); - - return $text; - } - - /** - * Callback to parse references image tags - * @param array $matches - * @return string - */ - protected function _doImages_reference_callback($matches) { - $whole_match = $matches[1]; - $alt_text = $matches[2]; - $link_id = strtolower($matches[3]); - - if ($link_id == "") { - $link_id = strtolower($alt_text); // for shortcut links like ![this][]. - } - - $alt_text = $this->encodeAttribute($alt_text); - if (isset($this->urls[$link_id])) { - $url = $this->encodeURLAttribute($this->urls[$link_id]); - $result = "\"$alt_text\"";titles[$link_id])) { - $title = $this->titles[$link_id]; - $title = $this->encodeAttribute($title); - $result .= " title=\"$title\""; - } - $result .= $this->empty_element_suffix; - $result = $this->hashPart($result); - } else { - // If there's no such link ID, leave intact: - $result = $whole_match; - } - - return $result; - } - - /** - * Callback to parse inline image tags - * @param array $matches - * @return string - */ - protected function _doImages_inline_callback($matches) { - $whole_match = $matches[1]; - $alt_text = $matches[2]; - $url = $matches[3] == '' ? $matches[4] : $matches[3]; - $title =& $matches[7]; - - $alt_text = $this->encodeAttribute($alt_text); - $url = $this->encodeURLAttribute($url); - $result = "\"$alt_text\"";encodeAttribute($title); - $result .= " title=\"$title\""; // $title already quoted - } - $result .= $this->empty_element_suffix; - - return $this->hashPart($result); - } - - /** - * Parse Markdown heading elements to HTML - * @param string $text - * @return string - */ - protected function doHeaders($text) { - /** - * Setext-style headers: - * Header 1 - * ======== - * - * Header 2 - * -------- - */ - $text = preg_replace_callback('{ ^(.+?)[ ]*\n(=+|-+)[ ]*\n+ }mx', - array($this, '_doHeaders_callback_setext'), $text); - - /** - * atx-style headers: - * # Header 1 - * ## Header 2 - * ## Header 2 with closing hashes ## - * ... - * ###### Header 6 - */ - $text = preg_replace_callback('{ - ^(\#{1,6}) # $1 = string of #\'s - [ ]* - (.+?) # $2 = Header text - [ ]* - \#* # optional closing #\'s (not counted) - \n+ - }xm', - array($this, '_doHeaders_callback_atx'), $text); - - return $text; - } - - /** - * Setext header parsing callback - * @param array $matches - * @return string - */ - protected function _doHeaders_callback_setext($matches) { - // Terrible hack to check we haven't found an empty list item. - if ($matches[2] == '-' && preg_match('{^-(?: |$)}', $matches[1])) { - return $matches[0]; - } - - $level = $matches[2][0] == '=' ? 1 : 2; - - // ID attribute generation - $idAtt = $this->_generateIdFromHeaderValue($matches[1]); - - $block = "".$this->runSpanGamut($matches[1]).""; - return "\n" . $this->hashBlock($block) . "\n\n"; - } - - /** - * ATX header parsing callback - * @param array $matches - * @return string - */ - protected function _doHeaders_callback_atx($matches) { - // ID attribute generation - $idAtt = $this->_generateIdFromHeaderValue($matches[2]); - - $level = strlen($matches[1]); - $block = "".$this->runSpanGamut($matches[2]).""; - return "\n" . $this->hashBlock($block) . "\n\n"; - } - - /** - * If a header_id_func property is set, we can use it to automatically - * generate an id attribute. - * - * This method returns a string in the form id="foo", or an empty string - * otherwise. - * @param string $headerValue - * @return string - */ - protected function _generateIdFromHeaderValue($headerValue) { - if (!is_callable($this->header_id_func)) { - return ""; - } - - $idValue = call_user_func($this->header_id_func, $headerValue); - if (!$idValue) { - return ""; - } - - return ' id="' . $this->encodeAttribute($idValue) . '"'; - } - - /** - * Form HTML ordered (numbered) and unordered (bulleted) lists. - * @param string $text - * @return string - */ - protected function doLists($text) { - $less_than_tab = $this->tab_width - 1; - - // Re-usable patterns to match list item bullets and number markers: - $marker_ul_re = '[*+-]'; - $marker_ol_re = '\d+[\.]'; - - $markers_relist = array( - $marker_ul_re => $marker_ol_re, - $marker_ol_re => $marker_ul_re, - ); - - foreach ($markers_relist as $marker_re => $other_marker_re) { - // Re-usable pattern to match any entirel ul or ol list: - $whole_list_re = ' - ( # $1 = whole list - ( # $2 - ([ ]{0,'.$less_than_tab.'}) # $3 = number of spaces - ('.$marker_re.') # $4 = first list item marker - [ ]+ - ) - (?s:.+?) - ( # $5 - \z - | - \n{2,} - (?=\S) - (?! # Negative lookahead for another list item marker - [ ]* - '.$marker_re.'[ ]+ - ) - | - (?= # Lookahead for another kind of list - \n - \3 # Must have the same indentation - '.$other_marker_re.'[ ]+ - ) - ) - ) - '; // mx - - // We use a different prefix before nested lists than top-level lists. - //See extended comment in _ProcessListItems(). - - if ($this->list_level) { - $text = preg_replace_callback('{ - ^ - '.$whole_list_re.' - }mx', - array($this, '_doLists_callback'), $text); - } else { - $text = preg_replace_callback('{ - (?:(?<=\n)\n|\A\n?) # Must eat the newline - '.$whole_list_re.' - }mx', - array($this, '_doLists_callback'), $text); - } - } - - return $text; - } - - /** - * List parsing callback - * @param array $matches - * @return string - */ - protected function _doLists_callback($matches) { - // Re-usable patterns to match list item bullets and number markers: - $marker_ul_re = '[*+-]'; - $marker_ol_re = '\d+[\.]'; - $marker_any_re = "(?:$marker_ul_re|$marker_ol_re)"; - $marker_ol_start_re = '[0-9]+'; - - $list = $matches[1]; - $list_type = preg_match("/$marker_ul_re/", $matches[4]) ? "ul" : "ol"; - - $marker_any_re = ( $list_type == "ul" ? $marker_ul_re : $marker_ol_re ); - - $list .= "\n"; - $result = $this->processListItems($list, $marker_any_re); - - $ol_start = 1; - if ($this->enhanced_ordered_list) { - // Get the start number for ordered list. - if ($list_type == 'ol') { - $ol_start_array = array(); - $ol_start_check = preg_match("/$marker_ol_start_re/", $matches[4], $ol_start_array); - if ($ol_start_check){ - $ol_start = $ol_start_array[0]; - } - } - } - - if ($ol_start > 1 && $list_type == 'ol'){ - $result = $this->hashBlock("<$list_type start=\"$ol_start\">\n" . $result . ""); - } else { - $result = $this->hashBlock("<$list_type>\n" . $result . ""); - } - return "\n". $result ."\n\n"; - } - - /** - * Nesting tracker for list levels - * @var integer - */ - protected $list_level = 0; - - /** - * Process the contents of a single ordered or unordered list, splitting it - * into individual list items. - * @param string $list_str - * @param string $marker_any_re - * @return string - */ - protected function processListItems($list_str, $marker_any_re) { - /** - * The $this->list_level global keeps track of when we're inside a list. - * Each time we enter a list, we increment it; when we leave a list, - * we decrement. If it's zero, we're not in a list anymore. - * - * We do this because when we're not inside a list, we want to treat - * something like this: - * - * I recommend upgrading to version - * 8. Oops, now this line is treated - * as a sub-list. - * - * As a single paragraph, despite the fact that the second line starts - * with a digit-period-space sequence. - * - * Whereas when we're inside a list (or sub-list), that line will be - * treated as the start of a sub-list. What a kludge, huh? This is - * an aspect of Markdown's syntax that's hard to parse perfectly - * without resorting to mind-reading. Perhaps the solution is to - * change the syntax rules such that sub-lists must start with a - * starting cardinal number; e.g. "1." or "a.". - */ - $this->list_level++; - - // Trim trailing blank lines: - $list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str); - - $list_str = preg_replace_callback('{ - (\n)? # leading line = $1 - (^[ ]*) # leading whitespace = $2 - ('.$marker_any_re.' # list marker and space = $3 - (?:[ ]+|(?=\n)) # space only required if item is not empty - ) - ((?s:.*?)) # list item text = $4 - (?:(\n+(?=\n))|\n) # tailing blank line = $5 - (?= \n* (\z | \2 ('.$marker_any_re.') (?:[ ]+|(?=\n)))) - }xm', - array($this, '_processListItems_callback'), $list_str); - - $this->list_level--; - return $list_str; - } - - /** - * List item parsing callback - * @param array $matches - * @return string - */ - protected function _processListItems_callback($matches) { - $item = $matches[4]; - $leading_line =& $matches[1]; - $leading_space =& $matches[2]; - $marker_space = $matches[3]; - $tailing_blank_line =& $matches[5]; - - if ($leading_line || $tailing_blank_line || - preg_match('/\n{2,}/', $item)) - { - // Replace marker with the appropriate whitespace indentation - $item = $leading_space . str_repeat(' ', strlen($marker_space)) . $item; - $item = $this->runBlockGamut($this->outdent($item)."\n"); - } else { - // Recursion for sub-lists: - $item = $this->doLists($this->outdent($item)); - $item = $this->formParagraphs($item, false); - } - - return "
  • " . $item . "
  • \n"; - } - - /** - * Process Markdown `
    ` blocks.
    -	 * @param  string $text
    -	 * @return string
    -	 */
    -	protected function doCodeBlocks($text) {
    -		$text = preg_replace_callback('{
    -				(?:\n\n|\A\n?)
    -				(	            # $1 = the code block -- one or more lines, starting with a space/tab
    -				  (?>
    -					[ ]{'.$this->tab_width.'}  # Lines must start with a tab or a tab-width of spaces
    -					.*\n+
    -				  )+
    -				)
    -				((?=^[ ]{0,'.$this->tab_width.'}\S)|\Z)	# Lookahead for non-space at line-start, or end of doc
    -			}xm',
    -			array($this, '_doCodeBlocks_callback'), $text);
    -
    -		return $text;
    -	}
    -
    -	/**
    -	 * Code block parsing callback
    -	 * @param  array $matches
    -	 * @return string
    -	 */
    -	protected function _doCodeBlocks_callback($matches) {
    -		$codeblock = $matches[1];
    -
    -		$codeblock = $this->outdent($codeblock);
    -		if (is_callable($this->code_block_content_func)) {
    -			$codeblock = call_user_func($this->code_block_content_func, $codeblock, "");
    -		} else {
    -			$codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES);
    -		}
    -
    -		# trim leading newlines and trailing newlines
    -		$codeblock = preg_replace('/\A\n+|\n+\z/', '', $codeblock);
    -
    -		$codeblock = "
    $codeblock\n
    "; - return "\n\n" . $this->hashBlock($codeblock) . "\n\n"; - } - - /** - * Create a code span markup for $code. Called from handleSpanToken. - * @param string $code - * @return string - */ - protected function makeCodeSpan($code) { - if (is_callable($this->code_span_content_func)) { - $code = call_user_func($this->code_span_content_func, $code); - } else { - $code = htmlspecialchars(trim($code), ENT_NOQUOTES); - } - return $this->hashPart("$code"); - } - - /** - * Define the emphasis operators with their regex matches - * @var array - */ - protected $em_relist = array( - '' => '(?:(? '(? '(? '(?:(? '(? '(? '(?:(? '(? '(?em_relist as $em => $em_re) { - foreach ($this->strong_relist as $strong => $strong_re) { - // Construct list of allowed token expressions. - $token_relist = array(); - if (isset($this->em_strong_relist["$em$strong"])) { - $token_relist[] = $this->em_strong_relist["$em$strong"]; - } - $token_relist[] = $em_re; - $token_relist[] = $strong_re; - - // Construct master expression from list. - $token_re = '{(' . implode('|', $token_relist) . ')}'; - $this->em_strong_prepared_relist["$em$strong"] = $token_re; - } - } - } - - /** - * Convert Markdown italics (emphasis) and bold (strong) to HTML - * @param string $text - * @return string - */ - protected function doItalicsAndBold($text) { - if ($this->in_emphasis_processing) { - return $text; // avoid reentrency - } - $this->in_emphasis_processing = true; - - $token_stack = array(''); - $text_stack = array(''); - $em = ''; - $strong = ''; - $tree_char_em = false; - - while (1) { - // Get prepared regular expression for seraching emphasis tokens - // in current context. - $token_re = $this->em_strong_prepared_relist["$em$strong"]; - - // Each loop iteration search for the next emphasis token. - // Each token is then passed to handleSpanToken. - $parts = preg_split($token_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE); - $text_stack[0] .= $parts[0]; - $token =& $parts[1]; - $text =& $parts[2]; - - if (empty($token)) { - // Reached end of text span: empty stack without emitting. - // any more emphasis. - while ($token_stack[0]) { - $text_stack[1] .= array_shift($token_stack); - $text_stack[0] .= array_shift($text_stack); - } - break; - } - - $token_len = strlen($token); - if ($tree_char_em) { - // Reached closing marker while inside a three-char emphasis. - if ($token_len == 3) { - // Three-char closing marker, close em and strong. - array_shift($token_stack); - $span = array_shift($text_stack); - $span = $this->runSpanGamut($span); - $span = "$span"; - $text_stack[0] .= $this->hashPart($span); - $em = ''; - $strong = ''; - } else { - // Other closing marker: close one em or strong and - // change current token state to match the other - $token_stack[0] = str_repeat($token[0], 3-$token_len); - $tag = $token_len == 2 ? "strong" : "em"; - $span = $text_stack[0]; - $span = $this->runSpanGamut($span); - $span = "<$tag>$span"; - $text_stack[0] = $this->hashPart($span); - $$tag = ''; // $$tag stands for $em or $strong - } - $tree_char_em = false; - } else if ($token_len == 3) { - if ($em) { - // Reached closing marker for both em and strong. - // Closing strong marker: - for ($i = 0; $i < 2; ++$i) { - $shifted_token = array_shift($token_stack); - $tag = strlen($shifted_token) == 2 ? "strong" : "em"; - $span = array_shift($text_stack); - $span = $this->runSpanGamut($span); - $span = "<$tag>$span"; - $text_stack[0] .= $this->hashPart($span); - $$tag = ''; // $$tag stands for $em or $strong - } - } else { - // Reached opening three-char emphasis marker. Push on token - // stack; will be handled by the special condition above. - $em = $token[0]; - $strong = "$em$em"; - array_unshift($token_stack, $token); - array_unshift($text_stack, ''); - $tree_char_em = true; - } - } else if ($token_len == 2) { - if ($strong) { - // Unwind any dangling emphasis marker: - if (strlen($token_stack[0]) == 1) { - $text_stack[1] .= array_shift($token_stack); - $text_stack[0] .= array_shift($text_stack); - $em = ''; - } - // Closing strong marker: - array_shift($token_stack); - $span = array_shift($text_stack); - $span = $this->runSpanGamut($span); - $span = "$span"; - $text_stack[0] .= $this->hashPart($span); - $strong = ''; - } else { - array_unshift($token_stack, $token); - array_unshift($text_stack, ''); - $strong = $token; - } - } else { - // Here $token_len == 1 - if ($em) { - if (strlen($token_stack[0]) == 1) { - // Closing emphasis marker: - array_shift($token_stack); - $span = array_shift($text_stack); - $span = $this->runSpanGamut($span); - $span = "$span"; - $text_stack[0] .= $this->hashPart($span); - $em = ''; - } else { - $text_stack[0] .= $token; - } - } else { - array_unshift($token_stack, $token); - array_unshift($text_stack, ''); - $em = $token; - } - } - } - $this->in_emphasis_processing = false; - return $text_stack[0]; - } - - /** - * Parse Markdown blockquotes to HTML - * @param string $text - * @return string - */ - protected function doBlockQuotes($text) { - $text = preg_replace_callback('/ - ( # Wrap whole match in $1 - (?> - ^[ ]*>[ ]? # ">" at the start of a line - .+\n # rest of the first line - (.+\n)* # subsequent consecutive lines - \n* # blanks - )+ - ) - /xm', - array($this, '_doBlockQuotes_callback'), $text); - - return $text; - } - - /** - * Blockquote parsing callback - * @param array $matches - * @return string - */ - protected function _doBlockQuotes_callback($matches) { - $bq = $matches[1]; - // trim one level of quoting - trim whitespace-only lines - $bq = preg_replace('/^[ ]*>[ ]?|^[ ]+$/m', '', $bq); - $bq = $this->runBlockGamut($bq); // recurse - - $bq = preg_replace('/^/m', " ", $bq); - // These leading spaces cause problem with
     content,
    -		// so we need to fix that:
    -		$bq = preg_replace_callback('{(\s*
    .+?
    )}sx', - array($this, '_doBlockQuotes_callback2'), $bq); - - return "\n" . $this->hashBlock("
    \n$bq\n
    ") . "\n\n"; - } - - /** - * Blockquote parsing callback - * @param array $matches - * @return string - */ - protected function _doBlockQuotes_callback2($matches) { - $pre = $matches[1]; - $pre = preg_replace('/^ /m', '', $pre); - return $pre; - } - - /** - * Parse paragraphs - * - * @param string $text String to process in paragraphs - * @param boolean $wrap_in_p Whether paragraphs should be wrapped in

    tags - * @return string - */ - protected function formParagraphs($text, $wrap_in_p = true) { - // Strip leading and trailing lines: - $text = preg_replace('/\A\n+|\n+\z/', '', $text); - - $grafs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY); - - // Wrap

    tags and unhashify HTML blocks - foreach ($grafs as $key => $value) { - if (!preg_match('/^B\x1A[0-9]+B$/', $value)) { - // Is a paragraph. - $value = $this->runSpanGamut($value); - if ($wrap_in_p) { - $value = preg_replace('/^([ ]*)/', "

    ", $value); - $value .= "

    "; - } - $grafs[$key] = $this->unhash($value); - } else { - // Is a block. - // Modify elements of @grafs in-place... - $graf = $value; - $block = $this->html_hashes[$graf]; - $graf = $block; -// if (preg_match('{ -// \A -// ( # $1 =
    tag -//
    ]* -// \b -// markdown\s*=\s* ([\'"]) # $2 = attr quote char -// 1 -// \2 -// [^>]* -// > -// ) -// ( # $3 = contents -// .* -// ) -// (
    ) # $4 = closing tag -// \z -// }xs', $block, $matches)) -// { -// list(, $div_open, , $div_content, $div_close) = $matches; -// -// // We can't call Markdown(), because that resets the hash; -// // that initialization code should be pulled into its own sub, though. -// $div_content = $this->hashHTMLBlocks($div_content); -// -// // Run document gamut methods on the content. -// foreach ($this->document_gamut as $method => $priority) { -// $div_content = $this->$method($div_content); -// } -// -// $div_open = preg_replace( -// '{\smarkdown\s*=\s*([\'"]).+?\1}', '', $div_open); -// -// $graf = $div_open . "\n" . $div_content . "\n" . $div_close; -// } - $grafs[$key] = $graf; - } - } - - return implode("\n\n", $grafs); - } - - /** - * Encode text for a double-quoted HTML attribute. This function - * is *not* suitable for attributes enclosed in single quotes. - * @param string $text - * @return string - */ - protected function encodeAttribute($text) { - $text = $this->encodeAmpsAndAngles($text); - $text = str_replace('"', '"', $text); - return $text; - } - - /** - * Encode text for a double-quoted HTML attribute containing a URL, - * applying the URL filter if set. Also generates the textual - * representation for the URL (removing mailto: or tel:) storing it in $text. - * This function is *not* suitable for attributes enclosed in single quotes. - * - * @param string $url - * @param string $text Passed by reference - * @return string URL - */ - protected function encodeURLAttribute($url, &$text = null) { - if (is_callable($this->url_filter_func)) { - $url = call_user_func($this->url_filter_func, $url); - } - - if (preg_match('{^mailto:}i', $url)) { - $url = $this->encodeEntityObfuscatedAttribute($url, $text, 7); - } else if (preg_match('{^tel:}i', $url)) { - $url = $this->encodeAttribute($url); - $text = substr($url, 4); - } else { - $url = $this->encodeAttribute($url); - $text = $url; - } - - return $url; - } - - /** - * Smart processing for ampersands and angle brackets that need to - * be encoded. Valid character entities are left alone unless the - * no-entities mode is set. - * @param string $text - * @return string - */ - protected function encodeAmpsAndAngles($text) { - if ($this->no_entities) { - $text = str_replace('&', '&', $text); - } else { - // Ampersand-encoding based entirely on Nat Irons's Amputator - // MT plugin: - $text = preg_replace('/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/', - '&', $text); - } - // Encode remaining <'s - $text = str_replace('<', '<', $text); - - return $text; - } - - /** - * Parse Markdown automatic links to anchor HTML tags - * @param string $text - * @return string - */ - protected function doAutoLinks($text) { - $text = preg_replace_callback('{<((https?|ftp|dict|tel):[^\'">\s]+)>}i', - array($this, '_doAutoLinks_url_callback'), $text); - - // Email addresses: - $text = preg_replace_callback('{ - < - (?:mailto:)? - ( - (?: - [-!#$%&\'*+/=?^_`.{|}~\w\x80-\xFF]+ - | - ".*?" - ) - \@ - (?: - [-a-z0-9\x80-\xFF]+(\.[-a-z0-9\x80-\xFF]+)*\.[a-z]+ - | - \[[\d.a-fA-F:]+\] # IPv4 & IPv6 - ) - ) - > - }xi', - array($this, '_doAutoLinks_email_callback'), $text); - - return $text; - } - - /** - * Parse URL callback - * @param array $matches - * @return string - */ - protected function _doAutoLinks_url_callback($matches) { - $url = $this->encodeURLAttribute($matches[1], $text); - $link = "$text"; - return $this->hashPart($link); - } - - /** - * Parse email address callback - * @param array $matches - * @return string - */ - protected function _doAutoLinks_email_callback($matches) { - $addr = $matches[1]; - $url = $this->encodeURLAttribute("mailto:$addr", $text); - $link = "$text"; - return $this->hashPart($link); - } - - /** - * Input: some text to obfuscate, e.g. "mailto:foo@example.com" - * - * Output: the same text but with most characters encoded as either a - * decimal or hex entity, in the hopes of foiling most address - * harvesting spam bots. E.g.: - * - * mailto:foo - * @example.co - * m - * - * Note: the additional output $tail is assigned the same value as the - * ouput, minus the number of characters specified by $head_length. - * - * Based by a filter by Matthew Wickline, posted to BBEdit-Talk. - * With some optimizations by Milian Wolff. Forced encoding of HTML - * attribute special characters by Allan Odgaard. - * - * @param string $text - * @param string $tail Passed by reference - * @param integer $head_length - * @return string - */ - protected function encodeEntityObfuscatedAttribute($text, &$tail = null, $head_length = 0) { - if ($text == "") { - return $tail = ""; - } - - $chars = preg_split('/(? $char) { - $ord = ord($char); - // Ignore non-ascii chars. - if ($ord < 128) { - $r = ($seed * (1 + $key)) % 100; // Pseudo-random function. - // roughly 10% raw, 45% hex, 45% dec - // '@' *must* be encoded. I insist. - // '"' and '>' have to be encoded inside the attribute - if ($r > 90 && strpos('@"&>', $char) === false) { - /* do nothing */ - } else if ($r < 45) { - $chars[$key] = '&#x'.dechex($ord).';'; - } else { - $chars[$key] = '&#'.$ord.';'; - } - } - } - - $text = implode('', $chars); - $tail = $head_length ? implode('', array_slice($chars, $head_length)) : $text; - - return $text; - } - - /** - * Take the string $str and parse it into tokens, hashing embeded HTML, - * escaped characters and handling code spans. - * @param string $str - * @return string - */ - protected function parseSpan($str) { - $output = ''; - - $span_re = '{ - ( - \\\\'.$this->escape_chars_re.' - | - (?no_markup ? '' : ' - | - # comment - | - <\?.*?\?> | <%.*?%> # processing instruction - | - <[!$]?[-a-zA-Z0-9:_]+ # regular tags - (?> - \s - (?>[^"\'>]+|"[^"]*"|\'[^\']*\')* - )? - > - | - <[-a-zA-Z0-9:_]+\s*/> # xml-style empty tag - | - # closing tag - ').' - ) - }xs'; - - while (1) { - // Each loop iteration seach for either the next tag, the next - // openning code span marker, or the next escaped character. - // Each token is then passed to handleSpanToken. - $parts = preg_split($span_re, $str, 2, PREG_SPLIT_DELIM_CAPTURE); - - // Create token from text preceding tag. - if ($parts[0] != "") { - $output .= $parts[0]; - } - - // Check if we reach the end. - if (isset($parts[1])) { - $output .= $this->handleSpanToken($parts[1], $parts[2]); - $str = $parts[2]; - } else { - break; - } - } - - return $output; - } - - /** - * Handle $token provided by parseSpan by determining its nature and - * returning the corresponding value that should replace it. - * @param string $token - * @param string $str Passed by reference - * @return string - */ - protected function handleSpanToken($token, &$str) { - switch ($token[0]) { - case "\\": - return $this->hashPart("&#". ord($token[1]). ";"); - case "`": - // Search for end marker in remaining text. - if (preg_match('/^(.*?[^`])'.preg_quote($token).'(?!`)(.*)$/sm', - $str, $matches)) - { - $str = $matches[2]; - $codespan = $this->makeCodeSpan($matches[1]); - return $this->hashPart($codespan); - } - return $token; // Return as text since no ending marker found. - default: - return $this->hashPart($token); - } - } - - /** - * Remove one level of line-leading tabs or spaces - * @param string $text - * @return string - */ - protected function outdent($text) { - return preg_replace('/^(\t|[ ]{1,' . $this->tab_width . '})/m', '', $text); - } - - - /** - * String length function for detab. `_initDetab` will create a function to - * handle UTF-8 if the default function does not exist. - * @var string - */ - protected $utf8_strlen = 'mb_strlen'; - - /** - * Replace tabs with the appropriate amount of spaces. - * - * For each line we separate the line in blocks delemited by tab characters. - * Then we reconstruct every line by adding the appropriate number of space - * between each blocks. - * - * @param string $text - * @return string - */ - protected function detab($text) { - $text = preg_replace_callback('/^.*\t.*$/m', - array($this, '_detab_callback'), $text); - - return $text; - } - - /** - * Replace tabs callback - * @param string $matches - * @return string - */ - protected function _detab_callback($matches) { - $line = $matches[0]; - $strlen = $this->utf8_strlen; // strlen function for UTF-8. - - // Split in blocks. - $blocks = explode("\t", $line); - // Add each blocks to the line. - $line = $blocks[0]; - unset($blocks[0]); // Do not add first block twice. - foreach ($blocks as $block) { - // Calculate amount of space, insert spaces, insert block. - $amount = $this->tab_width - - $strlen($line, 'UTF-8') % $this->tab_width; - $line .= str_repeat(" ", $amount) . $block; - } - return $line; - } - - /** - * Check for the availability of the function in the `utf8_strlen` property - * (initially `mb_strlen`). If the function is not available, create a - * function that will loosely count the number of UTF-8 characters with a - * regular expression. - * @return void - */ - protected function _initDetab() { - - if (function_exists($this->utf8_strlen)) { - return; - } - - $this->utf8_strlen = function($text) { - return preg_match_all('/[\x00-\xBF]|[\xC0-\xFF][\x80-\xBF]*/', $text, $m); - }; - } - - /** - * Swap back in all the tags hashed by _HashHTMLBlocks. - * @param string $text - * @return string - */ - protected function unhash($text) { - return preg_replace_callback('/(.)\x1A[0-9]+\1/', - array($this, '_unhash_callback'), $text); - } - - /** - * Unhashing callback - * @param array $matches - * @return string - */ - protected function _unhash_callback($matches) { - return $this->html_hashes[$matches[0]]; - } -} diff --git a/php7/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php b/php7/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php deleted file mode 100644 index d09bd7a4..00000000 --- a/php7/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php +++ /dev/null @@ -1,11 +0,0 @@ - - * @copyright 2004-2021 Michel Fortin - * @copyright (Original Markdown) 2004-2006 John Gruber - */ - -namespace Michelf; - -/** - * Markdown Extra Parser Class - */ -class MarkdownExtra extends \Michelf\Markdown { - /** - * Configuration variables - */ - - /** - * Prefix for footnote ids. - * @var string - */ - public $fn_id_prefix = ""; - - /** - * Optional title attribute for footnote links. - * @var string - */ - public $fn_link_title = ""; - - /** - * Optional class attribute for footnote links and backlinks. - * @var string - */ - public $fn_link_class = "footnote-ref"; - public $fn_backlink_class = "footnote-backref"; - - /** - * Content to be displayed within footnote backlinks. The default is '↩'; - * the U+FE0E on the end is a Unicode variant selector used to prevent iOS - * from displaying the arrow character as an emoji. - * Optionally use '^^' and '%%' to refer to the footnote number and - * reference number respectively. {@see parseFootnotePlaceholders()} - * @var string - */ - public $fn_backlink_html = '↩︎'; - - /** - * Optional title and aria-label attributes for footnote backlinks for - * added accessibility (to ensure backlink uniqueness). - * Use '^^' and '%%' to refer to the footnote number and reference number - * respectively. {@see parseFootnotePlaceholders()} - * @var string - */ - public $fn_backlink_title = ""; - public $fn_backlink_label = ""; - - /** - * Class name for table cell alignment (%% replaced left/center/right) - * For instance: 'go-%%' becomes 'go-left' or 'go-right' or 'go-center' - * If empty, the align attribute is used instead of a class name. - * @var string - */ - public $table_align_class_tmpl = ''; - - /** - * Optional class prefix for fenced code block. - * @var string - */ - public $code_class_prefix = ""; - - /** - * Class attribute for code blocks goes on the `code` tag; - * setting this to true will put attributes on the `pre` tag instead. - * @var boolean - */ - public $code_attr_on_pre = false; - - /** - * Predefined abbreviations. - * @var array - */ - public $predef_abbr = array(); - - /** - * Only convert atx-style headers if there's a space between the header and # - * @var boolean - */ - public $hashtag_protection = false; - - /** - * Determines whether footnotes should be appended to the end of the document. - * If true, footnote html can be retrieved from $this->footnotes_assembled. - * @var boolean - */ - public $omit_footnotes = false; - - - /** - * After parsing, the HTML for the list of footnotes appears here. - * This is available only if $omit_footnotes == true. - * - * Note: when placing the content of `footnotes_assembled` on the page, - * consider adding the attribute `role="doc-endnotes"` to the `div` or - * `section` that will enclose the list of footnotes so they are - * reachable to accessibility tools the same way they would be with the - * default HTML output. - * @var null|string - */ - public $footnotes_assembled = null; - - /** - * Parser implementation - */ - - /** - * Constructor function. Initialize the parser object. - * @return void - */ - public function __construct() { - // Add extra escapable characters before parent constructor - // initialize the table. - $this->escape_chars .= ':|'; - - // Insert extra document, block, and span transformations. - // Parent constructor will do the sorting. - $this->document_gamut += array( - "doFencedCodeBlocks" => 5, - "stripFootnotes" => 15, - "stripAbbreviations" => 25, - "appendFootnotes" => 50, - ); - $this->block_gamut += array( - "doFencedCodeBlocks" => 5, - "doTables" => 15, - "doDefLists" => 45, - ); - $this->span_gamut += array( - "doFootnotes" => 5, - "doAbbreviations" => 70, - ); - - $this->enhanced_ordered_list = true; - parent::__construct(); - } - - - /** - * Extra variables used during extra transformations. - * @var array - */ - protected $footnotes = array(); - protected $footnotes_ordered = array(); - protected $footnotes_ref_count = array(); - protected $footnotes_numbers = array(); - protected $abbr_desciptions = array(); - /** @var string */ - protected $abbr_word_re = ''; - - /** - * Give the current footnote number. - * @var integer - */ - protected $footnote_counter = 1; - - /** - * Ref attribute for links - * @var array - */ - protected $ref_attr = array(); - - /** - * Setting up Extra-specific variables. - */ - protected function setup() { - parent::setup(); - - $this->footnotes = array(); - $this->footnotes_ordered = array(); - $this->footnotes_ref_count = array(); - $this->footnotes_numbers = array(); - $this->abbr_desciptions = array(); - $this->abbr_word_re = ''; - $this->footnote_counter = 1; - $this->footnotes_assembled = null; - - foreach ($this->predef_abbr as $abbr_word => $abbr_desc) { - if ($this->abbr_word_re) - $this->abbr_word_re .= '|'; - $this->abbr_word_re .= preg_quote($abbr_word); - $this->abbr_desciptions[$abbr_word] = trim($abbr_desc); - } - } - - /** - * Clearing Extra-specific variables. - */ - protected function teardown() { - $this->footnotes = array(); - $this->footnotes_ordered = array(); - $this->footnotes_ref_count = array(); - $this->footnotes_numbers = array(); - $this->abbr_desciptions = array(); - $this->abbr_word_re = ''; - - if ( ! $this->omit_footnotes ) - $this->footnotes_assembled = null; - - parent::teardown(); - } - - - /** - * Extra attribute parser - */ - - /** - * Expression to use to catch attributes (includes the braces) - * @var string - */ - protected $id_class_attr_catch_re = '\{((?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,})[ ]*\}'; - - /** - * Expression to use when parsing in a context when no capture is desired - * @var string - */ - protected $id_class_attr_nocatch_re = '\{(?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,}[ ]*\}'; - - /** - * Parse attributes caught by the $this->id_class_attr_catch_re expression - * and return the HTML-formatted list of attributes. - * - * Currently supported attributes are .class and #id. - * - * In addition, this method also supports supplying a default Id value, - * which will be used to populate the id attribute in case it was not - * overridden. - * @param string $tag_name - * @param string $attr - * @param mixed $defaultIdValue - * @param array $classes - * @return string - */ - protected function doExtraAttributes($tag_name, $attr, $defaultIdValue = null, $classes = array()) { - if (empty($attr) && !$defaultIdValue && empty($classes)) { - return ""; - } - - // Split on components - preg_match_all('/[#.a-z][-_:a-zA-Z0-9=]+/', $attr, $matches); - $elements = $matches[0]; - - // Handle classes and IDs (only first ID taken into account) - $attributes = array(); - $id = false; - foreach ($elements as $element) { - if ($element[0] === '.') { - $classes[] = substr($element, 1); - } else if ($element[0] === '#') { - if ($id === false) $id = substr($element, 1); - } else if (strpos($element, '=') > 0) { - $parts = explode('=', $element, 2); - $attributes[] = $parts[0] . '="' . $parts[1] . '"'; - } - } - - if ($id === false || $id === '') { - $id = $defaultIdValue; - } - - // Compose attributes as string - $attr_str = ""; - if (!empty($id)) { - $attr_str .= ' id="'.$this->encodeAttribute($id) .'"'; - } - if (!empty($classes)) { - $attr_str .= ' class="'. implode(" ", $classes) . '"'; - } - if (!$this->no_markup && !empty($attributes)) { - $attr_str .= ' '.implode(" ", $attributes); - } - return $attr_str; - } - - /** - * Strips link definitions from text, stores the URLs and titles in - * hash references. - * @param string $text - * @return string - */ - protected function stripLinkDefinitions($text) { - $less_than_tab = $this->tab_width - 1; - - // Link defs are in the form: ^[id]: url "optional title" - $text = preg_replace_callback('{ - ^[ ]{0,'.$less_than_tab.'}\[(.+)\][ ]?: # id = $1 - [ ]* - \n? # maybe *one* newline - [ ]* - (?: - <(.+?)> # url = $2 - | - (\S+?) # url = $3 - ) - [ ]* - \n? # maybe one newline - [ ]* - (?: - (?<=\s) # lookbehind for whitespace - ["(] - (.*?) # title = $4 - [")] - [ ]* - )? # title is optional - (?:[ ]* '.$this->id_class_attr_catch_re.' )? # $5 = extra id & class attr - (?:\n+|\Z) - }xm', - array($this, '_stripLinkDefinitions_callback'), - $text); - return $text; - } - - /** - * Strip link definition callback - * @param array $matches - * @return string - */ - protected function _stripLinkDefinitions_callback($matches) { - $link_id = strtolower($matches[1]); - $url = $matches[2] == '' ? $matches[3] : $matches[2]; - $this->urls[$link_id] = $url; - $this->titles[$link_id] =& $matches[4]; - $this->ref_attr[$link_id] = $this->doExtraAttributes("", $dummy =& $matches[5]); - return ''; // String that will replace the block - } - - - /** - * HTML block parser - */ - - /** - * Tags that are always treated as block tags - * @var string - */ - protected $block_tags_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|form|fieldset|iframe|hr|legend|article|section|nav|aside|hgroup|header|footer|figcaption|figure|details|summary'; - - /** - * Tags treated as block tags only if the opening tag is alone on its line - * @var string - */ - protected $context_block_tags_re = 'script|noscript|style|ins|del|iframe|object|source|track|param|math|svg|canvas|audio|video'; - - /** - * Tags where markdown="1" default to span mode: - * @var string - */ - protected $contain_span_tags_re = 'p|h[1-6]|li|dd|dt|td|th|legend|address'; - - /** - * Tags which must not have their contents modified, no matter where - * they appear - * @var string - */ - protected $clean_tags_re = 'script|style|math|svg'; - - /** - * Tags that do not need to be closed. - * @var string - */ - protected $auto_close_tags_re = 'hr|img|param|source|track'; - - /** - * Hashify HTML Blocks and "clean tags". - * - * We only want to do this for block-level HTML tags, such as headers, - * lists, and tables. That's because we still want to wrap

    s around - * "paragraphs" that are wrapped in non-block-level tags, such as anchors, - * phrase emphasis, and spans. The list of tags we're looking for is - * hard-coded. - * - * This works by calling _HashHTMLBlocks_InMarkdown, which then calls - * _HashHTMLBlocks_InHTML when it encounter block tags. When the markdown="1" - * attribute is found within a tag, _HashHTMLBlocks_InHTML calls back - * _HashHTMLBlocks_InMarkdown to handle the Markdown syntax within the tag. - * These two functions are calling each other. It's recursive! - * @param string $text - * @return string - */ - protected function hashHTMLBlocks($text) { - if ($this->no_markup) { - return $text; - } - - // Call the HTML-in-Markdown hasher. - list($text, ) = $this->_hashHTMLBlocks_inMarkdown($text); - - return $text; - } - - /** - * Parse markdown text, calling _HashHTMLBlocks_InHTML for block tags. - * - * * $indent is the number of space to be ignored when checking for code - * blocks. This is important because if we don't take the indent into - * account, something like this (which looks right) won't work as expected: - * - *

    - *
    - * Hello World. <-- Is this a Markdown code block or text? - *
    <-- Is this a Markdown code block or a real tag? - *
    - * - * If you don't like this, just don't indent the tag on which - * you apply the markdown="1" attribute. - * - * * If $enclosing_tag_re is not empty, stops at the first unmatched closing - * tag with that name. Nested tags supported. - * - * * If $span is true, text inside must treated as span. So any double - * newline will be replaced by a single newline so that it does not create - * paragraphs. - * - * Returns an array of that form: ( processed text , remaining text ) - * - * @param string $text - * @param integer $indent - * @param string $enclosing_tag_re - * @param boolean $span - * @return array - */ - protected function _hashHTMLBlocks_inMarkdown($text, $indent = 0, - $enclosing_tag_re = '', $span = false) - { - - if ($text === '') return array('', ''); - - // Regex to check for the presense of newlines around a block tag. - $newline_before_re = '/(?:^\n?|\n\n)*$/'; - $newline_after_re = - '{ - ^ # Start of text following the tag. - (?>[ ]*)? # Optional comment. - [ ]*\n # Must be followed by newline. - }xs'; - - // Regex to match any tag. - $block_tag_re = - '{ - ( # $2: Capture whole tag. - # Tag name. - ' . $this->block_tags_re . ' | - ' . $this->context_block_tags_re . ' | - ' . $this->clean_tags_re . ' | - (?!\s)'.$enclosing_tag_re . ' - ) - (?: - (?=[\s"\'/a-zA-Z0-9]) # Allowed characters after tag name. - (?> - ".*?" | # Double quotes (can contain `>`) - \'.*?\' | # Single quotes (can contain `>`) - .+? # Anything but quotes and `>`. - )*? - )? - > # End of tag. - | - # HTML Comment - | - <\?.*?\?> | <%.*?%> # Processing instruction - | - # CData Block - ' . ( !$span ? ' # If not in span. - | - # Indented code block - (?: ^[ ]*\n | ^ | \n[ ]*\n ) - [ ]{' . ($indent + 4) . '}[^\n]* \n - (?> - (?: [ ]{' . ($indent + 4) . '}[^\n]* | [ ]* ) \n - )* - | - # Fenced code block marker - (?<= ^ | \n ) - [ ]{0,' . ($indent + 3) . '}(?:~{3,}|`{3,}) - [ ]* - (?: \.?[-_:a-zA-Z0-9]+ )? # standalone class name - [ ]* - (?: ' . $this->id_class_attr_nocatch_re . ' )? # extra attributes - [ ]* - (?= \n ) - ' : '' ) . ' # End (if not is span). - | - # Code span marker - # Note, this regex needs to go after backtick fenced - # code blocks but it should also be kept outside of the - # "if not in span" condition adding backticks to the parser - `+ - ) - }xs'; - - - $depth = 0; // Current depth inside the tag tree. - $parsed = ""; // Parsed text that will be returned. - - // Loop through every tag until we find the closing tag of the parent - // or loop until reaching the end of text if no parent tag specified. - do { - // Split the text using the first $tag_match pattern found. - // Text before pattern will be first in the array, text after - // pattern will be at the end, and between will be any catches made - // by the pattern. - $parts = preg_split($block_tag_re, $text, 2, - PREG_SPLIT_DELIM_CAPTURE); - - // If in Markdown span mode, add a empty-string span-level hash - // after each newline to prevent triggering any block element. - if ($span) { - $void = $this->hashPart("", ':'); - $newline = "\n$void"; - $parts[0] = $void . str_replace("\n", $newline, $parts[0]) . $void; - } - - $parsed .= $parts[0]; // Text before current tag. - - // If end of $text has been reached. Stop loop. - if (count($parts) < 3) { - $text = ""; - break; - } - - $tag = $parts[1]; // Tag to handle. - $text = $parts[2]; // Remaining text after current tag. - - // Check for: Fenced code block marker. - // Note: need to recheck the whole tag to disambiguate backtick - // fences from code spans - if (preg_match('{^\n?([ ]{0,' . ($indent + 3) . '})(~{3,}|`{3,})[ ]*(?:\.?[-_:a-zA-Z0-9]+)?[ ]*(?:' . $this->id_class_attr_nocatch_re . ')?[ ]*\n?$}', $tag, $capture)) { - // Fenced code block marker: find matching end marker. - $fence_indent = strlen($capture[1]); // use captured indent in re - $fence_re = $capture[2]; // use captured fence in re - if (preg_match('{^(?>.*\n)*?[ ]{' . ($fence_indent) . '}' . $fence_re . '[ ]*(?:\n|$)}', $text, - $matches)) - { - // End marker found: pass text unchanged until marker. - $parsed .= $tag . $matches[0]; - $text = substr($text, strlen($matches[0])); - } - else { - // No end marker: just skip it. - $parsed .= $tag; - } - } - // Check for: Indented code block. - else if ($tag[0] === "\n" || $tag[0] === " ") { - // Indented code block: pass it unchanged, will be handled - // later. - $parsed .= $tag; - } - // Check for: Code span marker - // Note: need to check this after backtick fenced code blocks - else if ($tag[0] === "`") { - // Find corresponding end marker. - $tag_re = preg_quote($tag); - if (preg_match('{^(?>.+?|\n(?!\n))*?(?block_tags_re . ')\b}', $tag) || - ( preg_match('{^<(?:' . $this->context_block_tags_re . ')\b}', $tag) && - preg_match($newline_before_re, $parsed) && - preg_match($newline_after_re, $text) ) - ) - { - // Need to parse tag and following text using the HTML parser. - list($block_text, $text) = - $this->_hashHTMLBlocks_inHTML($tag . $text, "hashBlock", true); - - // Make sure it stays outside of any paragraph by adding newlines. - $parsed .= "\n\n$block_text\n\n"; - } - // Check for: Clean tag (like script, math) - // HTML Comments, processing instructions. - else if (preg_match('{^<(?:' . $this->clean_tags_re . ')\b}', $tag) || - $tag[1] === '!' || $tag[1] === '?') - { - // Need to parse tag and following text using the HTML parser. - // (don't check for markdown attribute) - list($block_text, $text) = - $this->_hashHTMLBlocks_inHTML($tag . $text, "hashClean", false); - - $parsed .= $block_text; - } - // Check for: Tag with same name as enclosing tag. - else if ($enclosing_tag_re !== '' && - // Same name as enclosing tag. - preg_match('{^= 0); - - return array($parsed, $text); - } - - /** - * Parse HTML, calling _HashHTMLBlocks_InMarkdown for block tags. - * - * * Calls $hash_method to convert any blocks. - * * Stops when the first opening tag closes. - * * $md_attr indicate if the use of the `markdown="1"` attribute is allowed. - * (it is not inside clean tags) - * - * Returns an array of that form: ( processed text , remaining text ) - * @param string $text - * @param string $hash_method - * @param bool $md_attr Handle `markdown="1"` attribute - * @return array - */ - protected function _hashHTMLBlocks_inHTML($text, $hash_method, $md_attr) { - if ($text === '') return array('', ''); - - // Regex to match `markdown` attribute inside of a tag. - $markdown_attr_re = ' - { - \s* # Eat whitespace before the `markdown` attribute - markdown - \s*=\s* - (?> - (["\']) # $1: quote delimiter - (.*?) # $2: attribute value - \1 # matching delimiter - | - ([^\s>]*) # $3: unquoted attribute value - ) - () # $4: make $3 always defined (avoid warnings) - }xs'; - - // Regex to match any tag. - $tag_re = '{ - ( # $2: Capture whole tag. - - ".*?" | # Double quotes (can contain `>`) - \'.*?\' | # Single quotes (can contain `>`) - .+? # Anything but quotes and `>`. - )*? - )? - > # End of tag. - | - # HTML Comment - | - <\?.*?\?> | <%.*?%> # Processing instruction - | - # CData Block - ) - }xs'; - - $original_text = $text; // Save original text in case of faliure. - - $depth = 0; // Current depth inside the tag tree. - $block_text = ""; // Temporary text holder for current text. - $parsed = ""; // Parsed text that will be returned. - $base_tag_name_re = ''; - - // Get the name of the starting tag. - // (This pattern makes $base_tag_name_re safe without quoting.) - if (preg_match('/^<([\w:$]*)\b/', $text, $matches)) - $base_tag_name_re = $matches[1]; - - // Loop through every tag until we find the corresponding closing tag. - do { - // Split the text using the first $tag_match pattern found. - // Text before pattern will be first in the array, text after - // pattern will be at the end, and between will be any catches made - // by the pattern. - $parts = preg_split($tag_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE); - - if (count($parts) < 3) { - // End of $text reached with unbalenced tag(s). - // In that case, we return original text unchanged and pass the - // first character as filtered to prevent an infinite loop in the - // parent function. - return array($original_text[0], substr($original_text, 1)); - } - - $block_text .= $parts[0]; // Text before current tag. - $tag = $parts[1]; // Tag to handle. - $text = $parts[2]; // Remaining text after current tag. - - // Check for: Auto-close tag (like
    ) - // Comments and Processing Instructions. - if (preg_match('{^auto_close_tags_re . ')\b}', $tag) || - $tag[1] === '!' || $tag[1] === '?') - { - // Just add the tag to the block as if it was text. - $block_text .= $tag; - } - else { - // Increase/decrease nested tag count. Only do so if - // the tag's name match base tag's. - if (preg_match('{^contain_span_tags_re . ')\b}', $tag)); - - // Calculate indent before tag. - if (preg_match('/(?:^|\n)( *?)(?! ).*?$/', $block_text, $matches)) { - $strlen = $this->utf8_strlen; - $indent = $strlen($matches[1], 'UTF-8'); - } else { - $indent = 0; - } - - // End preceding block with this tag. - $block_text .= $tag; - $parsed .= $this->$hash_method($block_text); - - // Get enclosing tag name for the ParseMarkdown function. - // (This pattern makes $tag_name_re safe without quoting.) - preg_match('/^<([\w:$]*)\b/', $tag, $matches); - $tag_name_re = $matches[1]; - - // Parse the content using the HTML-in-Markdown parser. - list ($block_text, $text) - = $this->_hashHTMLBlocks_inMarkdown($text, $indent, - $tag_name_re, $span_mode); - - // Outdent markdown text. - if ($indent > 0) { - $block_text = preg_replace("/^[ ]{1,$indent}/m", "", - $block_text); - } - - // Append tag content to parsed text. - if (!$span_mode) { - $parsed .= "\n\n$block_text\n\n"; - } else { - $parsed .= (string) $block_text; - } - - // Start over with a new block. - $block_text = ""; - } - else $block_text .= $tag; - } - - } while ($depth > 0); - - // Hash last block text that wasn't processed inside the loop. - $parsed .= $this->$hash_method($block_text); - - return array($parsed, $text); - } - - /** - * Called whenever a tag must be hashed when a function inserts a "clean" tag - * in $text, it passes through this function and is automaticaly escaped, - * blocking invalid nested overlap. - * @param string $text - * @return string - */ - protected function hashClean($text) { - return $this->hashPart($text, 'C'); - } - - /** - * Turn Markdown link shortcuts into XHTML tags. - * @param string $text - * @return string - */ - protected function doAnchors($text) { - if ($this->in_anchor) { - return $text; - } - $this->in_anchor = true; - - // First, handle reference-style links: [link text] [id] - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - \[ - (' . $this->nested_brackets_re . ') # link text = $2 - \] - - [ ]? # one optional space - (?:\n[ ]*)? # one optional newline followed by spaces - - \[ - (.*?) # id = $3 - \] - ) - }xs', - array($this, '_doAnchors_reference_callback'), $text); - - // Next, inline-style links: [link text](url "optional title") - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - \[ - (' . $this->nested_brackets_re . ') # link text = $2 - \] - \( # literal paren - [ \n]* - (?: - <(.+?)> # href = $3 - | - (' . $this->nested_url_parenthesis_re . ') # href = $4 - ) - [ \n]* - ( # $5 - ([\'"]) # quote char = $6 - (.*?) # Title = $7 - \6 # matching quote - [ \n]* # ignore any spaces/tabs between closing quote and ) - )? # title is optional - \) - (?:[ ]? ' . $this->id_class_attr_catch_re . ' )? # $8 = id/class attributes - ) - }xs', - array($this, '_doAnchors_inline_callback'), $text); - - // Last, handle reference-style shortcuts: [link text] - // These must come last in case you've also got [link text][1] - // or [link text](/foo) - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - \[ - ([^\[\]]+) # link text = $2; can\'t contain [ or ] - \] - ) - }xs', - array($this, '_doAnchors_reference_callback'), $text); - - $this->in_anchor = false; - return $text; - } - - /** - * Callback for reference anchors - * @param array $matches - * @return string - */ - protected function _doAnchors_reference_callback($matches) { - $whole_match = $matches[1]; - $link_text = $matches[2]; - $link_id =& $matches[3]; - - if ($link_id == "") { - // for shortcut links like [this][] or [this]. - $link_id = $link_text; - } - - // lower-case and turn embedded newlines into spaces - $link_id = strtolower($link_id); - $link_id = preg_replace('{[ ]?\n}', ' ', $link_id); - - if (isset($this->urls[$link_id])) { - $url = $this->urls[$link_id]; - $url = $this->encodeURLAttribute($url); - - $result = "titles[$link_id] ) ) { - $title = $this->titles[$link_id]; - $title = $this->encodeAttribute($title); - $result .= " title=\"$title\""; - } - if (isset($this->ref_attr[$link_id])) - $result .= $this->ref_attr[$link_id]; - - $link_text = $this->runSpanGamut($link_text); - $result .= ">$link_text"; - $result = $this->hashPart($result); - } - else { - $result = $whole_match; - } - return $result; - } - - /** - * Callback for inline anchors - * @param array $matches - * @return string - */ - protected function _doAnchors_inline_callback($matches) { - $link_text = $this->runSpanGamut($matches[2]); - $url = $matches[3] === '' ? $matches[4] : $matches[3]; - $title_quote =& $matches[6]; - $title =& $matches[7]; - $attr = $this->doExtraAttributes("a", $dummy =& $matches[8]); - - // if the URL was of the form it got caught by the HTML - // tag parser and hashed. Need to reverse the process before using the URL. - $unhashed = $this->unhash($url); - if ($unhashed !== $url) - $url = preg_replace('/^<(.*)>$/', '\1', $unhashed); - - $url = $this->encodeURLAttribute($url); - - $result = "encodeAttribute($title); - $result .= " title=\"$title\""; - } - $result .= $attr; - - $link_text = $this->runSpanGamut($link_text); - $result .= ">$link_text"; - - return $this->hashPart($result); - } - - /** - * Turn Markdown image shortcuts into tags. - * @param string $text - * @return string - */ - protected function doImages($text) { - // First, handle reference-style labeled images: ![alt text][id] - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - !\[ - (' . $this->nested_brackets_re . ') # alt text = $2 - \] - - [ ]? # one optional space - (?:\n[ ]*)? # one optional newline followed by spaces - - \[ - (.*?) # id = $3 - \] - - ) - }xs', - array($this, '_doImages_reference_callback'), $text); - - // Next, handle inline images: ![alt text](url "optional title") - // Don't forget: encode * and _ - $text = preg_replace_callback('{ - ( # wrap whole match in $1 - !\[ - (' . $this->nested_brackets_re . ') # alt text = $2 - \] - \s? # One optional whitespace character - \( # literal paren - [ \n]* - (?: - <(\S*)> # src url = $3 - | - (' . $this->nested_url_parenthesis_re . ') # src url = $4 - ) - [ \n]* - ( # $5 - ([\'"]) # quote char = $6 - (.*?) # title = $7 - \6 # matching quote - [ \n]* - )? # title is optional - \) - (?:[ ]? ' . $this->id_class_attr_catch_re . ' )? # $8 = id/class attributes - ) - }xs', - array($this, '_doImages_inline_callback'), $text); - - return $text; - } - - /** - * Callback for referenced images - * @param array $matches - * @return string - */ - protected function _doImages_reference_callback($matches) { - $whole_match = $matches[1]; - $alt_text = $matches[2]; - $link_id = strtolower($matches[3]); - - if ($link_id === "") { - $link_id = strtolower($alt_text); // for shortcut links like ![this][]. - } - - $alt_text = $this->encodeAttribute($alt_text); - if (isset($this->urls[$link_id])) { - $url = $this->encodeURLAttribute($this->urls[$link_id]); - $result = "\"$alt_text\"";titles[$link_id])) { - $title = $this->titles[$link_id]; - $title = $this->encodeAttribute($title); - $result .= " title=\"$title\""; - } - if (isset($this->ref_attr[$link_id])) { - $result .= $this->ref_attr[$link_id]; - } - $result .= $this->empty_element_suffix; - $result = $this->hashPart($result); - } - else { - // If there's no such link ID, leave intact: - $result = $whole_match; - } - - return $result; - } - - /** - * Callback for inline images - * @param array $matches - * @return string - */ - protected function _doImages_inline_callback($matches) { - $alt_text = $matches[2]; - $url = $matches[3] === '' ? $matches[4] : $matches[3]; - $title_quote =& $matches[6]; - $title =& $matches[7]; - $attr = $this->doExtraAttributes("img", $dummy =& $matches[8]); - - $alt_text = $this->encodeAttribute($alt_text); - $url = $this->encodeURLAttribute($url); - $result = "\"$alt_text\"";encodeAttribute($title); - $result .= " title=\"$title\""; // $title already quoted - } - $result .= $attr; - $result .= $this->empty_element_suffix; - - return $this->hashPart($result); - } - - /** - * Process markdown headers. Redefined to add ID and class attribute support. - * @param string $text - * @return string - */ - protected function doHeaders($text) { - // Setext-style headers: - // Header 1 {#header1} - // ======== - // - // Header 2 {#header2 .class1 .class2} - // -------- - // - $text = preg_replace_callback( - '{ - (^.+?) # $1: Header text - (?:[ ]+ ' . $this->id_class_attr_catch_re . ' )? # $3 = id/class attributes - [ ]*\n(=+|-+)[ ]*\n+ # $3: Header footer - }mx', - array($this, '_doHeaders_callback_setext'), $text); - - // atx-style headers: - // # Header 1 {#header1} - // ## Header 2 {#header2} - // ## Header 2 with closing hashes ## {#header3.class1.class2} - // ... - // ###### Header 6 {.class2} - // - $text = preg_replace_callback('{ - ^(\#{1,6}) # $1 = string of #\'s - [ ]'.($this->hashtag_protection ? '+' : '*').' - (.+?) # $2 = Header text - [ ]* - \#* # optional closing #\'s (not counted) - (?:[ ]+ ' . $this->id_class_attr_catch_re . ' )? # $3 = id/class attributes - [ ]* - \n+ - }xm', - array($this, '_doHeaders_callback_atx'), $text); - - return $text; - } - - /** - * Callback for setext headers - * @param array $matches - * @return string - */ - protected function _doHeaders_callback_setext($matches) { - if ($matches[3] === '-' && preg_match('{^- }', $matches[1])) { - return $matches[0]; - } - - $level = $matches[3][0] === '=' ? 1 : 2; - - $defaultId = is_callable($this->header_id_func) ? call_user_func($this->header_id_func, $matches[1]) : null; - - $attr = $this->doExtraAttributes("h$level", $dummy =& $matches[2], $defaultId); - $block = "" . $this->runSpanGamut($matches[1]) . ""; - return "\n" . $this->hashBlock($block) . "\n\n"; - } - - /** - * Callback for atx headers - * @param array $matches - * @return string - */ - protected function _doHeaders_callback_atx($matches) { - $level = strlen($matches[1]); - - $defaultId = is_callable($this->header_id_func) ? call_user_func($this->header_id_func, $matches[2]) : null; - $attr = $this->doExtraAttributes("h$level", $dummy =& $matches[3], $defaultId); - $block = "" . $this->runSpanGamut($matches[2]) . ""; - return "\n" . $this->hashBlock($block) . "\n\n"; - } - - /** - * Form HTML tables. - * @param string $text - * @return string - */ - protected function doTables($text) { - $less_than_tab = $this->tab_width - 1; - // Find tables with leading pipe. - // - // | Header 1 | Header 2 - // | -------- | -------- - // | Cell 1 | Cell 2 - // | Cell 3 | Cell 4 - $text = preg_replace_callback(' - { - ^ # Start of a line - [ ]{0,' . $less_than_tab . '} # Allowed whitespace. - [|] # Optional leading pipe (present) - (.+) \n # $1: Header row (at least one pipe) - - [ ]{0,' . $less_than_tab . '} # Allowed whitespace. - [|] ([ ]*[-:]+[-| :]*) \n # $2: Header underline - - ( # $3: Cells - (?> - [ ]* # Allowed whitespace. - [|] .* \n # Row content. - )* - ) - (?=\n|\Z) # Stop at final double newline. - }xm', - array($this, '_doTable_leadingPipe_callback'), $text); - - // Find tables without leading pipe. - // - // Header 1 | Header 2 - // -------- | -------- - // Cell 1 | Cell 2 - // Cell 3 | Cell 4 - $text = preg_replace_callback(' - { - ^ # Start of a line - [ ]{0,' . $less_than_tab . '} # Allowed whitespace. - (\S.*[|].*) \n # $1: Header row (at least one pipe) - - [ ]{0,' . $less_than_tab . '} # Allowed whitespace. - ([-:]+[ ]*[|][-| :]*) \n # $2: Header underline - - ( # $3: Cells - (?> - .* [|] .* \n # Row content - )* - ) - (?=\n|\Z) # Stop at final double newline. - }xm', - array($this, '_DoTable_callback'), $text); - - return $text; - } - - /** - * Callback for removing the leading pipe for each row - * @param array $matches - * @return string - */ - protected function _doTable_leadingPipe_callback($matches) { - $head = $matches[1]; - $underline = $matches[2]; - $content = $matches[3]; - - $content = preg_replace('/^ *[|]/m', '', $content); - - return $this->_doTable_callback(array($matches[0], $head, $underline, $content)); - } - - /** - * Make the align attribute in a table - * @param string $alignname - * @return string - */ - protected function _doTable_makeAlignAttr($alignname) { - if (empty($this->table_align_class_tmpl)) { - return " align=\"$alignname\""; - } - - $classname = str_replace('%%', $alignname, $this->table_align_class_tmpl); - return " class=\"$classname\""; - } - - /** - * Calback for processing tables - * @param array $matches - * @return string - */ - protected function _doTable_callback($matches) { - $head = $matches[1]; - $underline = $matches[2]; - $content = $matches[3]; - - // Remove any tailing pipes for each line. - $head = preg_replace('/[|] *$/m', '', $head); - $underline = preg_replace('/[|] *$/m', '', $underline); - $content = preg_replace('/[|] *$/m', '', $content); - - // Reading alignement from header underline. - $separators = preg_split('/ *[|] */', $underline); - foreach ($separators as $n => $s) { - if (preg_match('/^ *-+: *$/', $s)) - $attr[$n] = $this->_doTable_makeAlignAttr('right'); - else if (preg_match('/^ *:-+: *$/', $s)) - $attr[$n] = $this->_doTable_makeAlignAttr('center'); - else if (preg_match('/^ *:-+ *$/', $s)) - $attr[$n] = $this->_doTable_makeAlignAttr('left'); - else - $attr[$n] = ''; - } - - // Parsing span elements, including code spans, character escapes, - // and inline HTML tags, so that pipes inside those gets ignored. - $head = $this->parseSpan($head); - $headers = preg_split('/ *[|] */', $head); - $col_count = count($headers); - $attr = array_pad($attr, $col_count, ''); - - // Write column headers. - $text = "\n"; - $text .= "\n"; - $text .= "\n"; - foreach ($headers as $n => $header) { - $text .= " " . $this->runSpanGamut(trim($header)) . "\n"; - } - $text .= "\n"; - $text .= "\n"; - - // Split content by row. - $rows = explode("\n", trim($content, "\n")); - - $text .= "\n"; - foreach ($rows as $row) { - // Parsing span elements, including code spans, character escapes, - // and inline HTML tags, so that pipes inside those gets ignored. - $row = $this->parseSpan($row); - - // Split row by cell. - $row_cells = preg_split('/ *[|] */', $row, $col_count); - $row_cells = array_pad($row_cells, $col_count, ''); - - $text .= "\n"; - foreach ($row_cells as $n => $cell) { - $text .= " " . $this->runSpanGamut(trim($cell)) . "\n"; - } - $text .= "\n"; - } - $text .= "\n"; - $text .= "
    "; - - return $this->hashBlock($text) . "\n"; - } - - /** - * Form HTML definition lists. - * @param string $text - * @return string - */ - protected function doDefLists($text) { - $less_than_tab = $this->tab_width - 1; - - // Re-usable pattern to match any entire dl list: - $whole_list_re = '(?> - ( # $1 = whole list - ( # $2 - [ ]{0,' . $less_than_tab . '} - ((?>.*\S.*\n)+) # $3 = defined term - \n? - [ ]{0,' . $less_than_tab . '}:[ ]+ # colon starting definition - ) - (?s:.+?) - ( # $4 - \z - | - \n{2,} - (?=\S) - (?! # Negative lookahead for another term - [ ]{0,' . $less_than_tab . '} - (?: \S.*\n )+? # defined term - \n? - [ ]{0,' . $less_than_tab . '}:[ ]+ # colon starting definition - ) - (?! # Negative lookahead for another definition - [ ]{0,' . $less_than_tab . '}:[ ]+ # colon starting definition - ) - ) - ) - )'; // mx - - $text = preg_replace_callback('{ - (?>\A\n?|(?<=\n\n)) - ' . $whole_list_re . ' - }mx', - array($this, '_doDefLists_callback'), $text); - - return $text; - } - - /** - * Callback for processing definition lists - * @param array $matches - * @return string - */ - protected function _doDefLists_callback($matches) { - // Re-usable patterns to match list item bullets and number markers: - $list = $matches[1]; - - // Turn double returns into triple returns, so that we can make a - // paragraph for the last item in a list, if necessary: - $result = trim($this->processDefListItems($list)); - $result = "
    \n" . $result . "\n
    "; - return $this->hashBlock($result) . "\n\n"; - } - - /** - * Process the contents of a single definition list, splitting it - * into individual term and definition list items. - * @param string $list_str - * @return string - */ - protected function processDefListItems($list_str) { - - $less_than_tab = $this->tab_width - 1; - - // Trim trailing blank lines: - $list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str); - - // Process definition terms. - $list_str = preg_replace_callback('{ - (?>\A\n?|\n\n+) # leading line - ( # definition terms = $1 - [ ]{0,' . $less_than_tab . '} # leading whitespace - (?!\:[ ]|[ ]) # negative lookahead for a definition - # mark (colon) or more whitespace. - (?> \S.* \n)+? # actual term (not whitespace). - ) - (?=\n?[ ]{0,3}:[ ]) # lookahead for following line feed - # with a definition mark. - }xm', - array($this, '_processDefListItems_callback_dt'), $list_str); - - // Process actual definitions. - $list_str = preg_replace_callback('{ - \n(\n+)? # leading line = $1 - ( # marker space = $2 - [ ]{0,' . $less_than_tab . '} # whitespace before colon - \:[ ]+ # definition mark (colon) - ) - ((?s:.+?)) # definition text = $3 - (?= \n+ # stop at next definition mark, - (?: # next term or end of text - [ ]{0,' . $less_than_tab . '} \:[ ] | -
    | \z - ) - ) - }xm', - array($this, '_processDefListItems_callback_dd'), $list_str); - - return $list_str; - } - - /** - * Callback for
    elements in definition lists - * @param array $matches - * @return string - */ - protected function _processDefListItems_callback_dt($matches) { - $terms = explode("\n", trim($matches[1])); - $text = ''; - foreach ($terms as $term) { - $term = $this->runSpanGamut(trim($term)); - $text .= "\n
    " . $term . "
    "; - } - return $text . "\n"; - } - - /** - * Callback for
    elements in definition lists - * @param array $matches - * @return string - */ - protected function _processDefListItems_callback_dd($matches) { - $leading_line = $matches[1]; - $marker_space = $matches[2]; - $def = $matches[3]; - - if ($leading_line || preg_match('/\n{2,}/', $def)) { - // Replace marker with the appropriate whitespace indentation - $def = str_repeat(' ', strlen($marker_space)) . $def; - $def = $this->runBlockGamut($this->outdent($def . "\n\n")); - $def = "\n". $def ."\n"; - } - else { - $def = rtrim($def); - $def = $this->runSpanGamut($this->outdent($def)); - } - - return "\n
    " . $def . "
    \n"; - } - - /** - * Adding the fenced code block syntax to regular Markdown: - * - * ~~~ - * Code block - * ~~~ - * - * @param string $text - * @return string - */ - protected function doFencedCodeBlocks($text) { - - $text = preg_replace_callback('{ - (?:\n|\A) - # 1: Opening marker - ( - (?:~{3,}|`{3,}) # 3 or more tildes/backticks. - ) - [ ]* - (?: - \.?([-_:a-zA-Z0-9]+) # 2: standalone class name - )? - [ ]* - (?: - ' . $this->id_class_attr_catch_re . ' # 3: Extra attributes - )? - [ ]* \n # Whitespace and newline following marker. - - # 4: Content - ( - (?> - (?!\1 [ ]* \n) # Not a closing marker. - .*\n+ - )+ - ) - - # Closing marker. - \1 [ ]* (?= \n ) - }xm', - array($this, '_doFencedCodeBlocks_callback'), $text); - - return $text; - } - - /** - * Callback to process fenced code blocks - * @param array $matches - * @return string - */ - protected function _doFencedCodeBlocks_callback($matches) { - $classname =& $matches[2]; - $attrs =& $matches[3]; - $codeblock = $matches[4]; - - if ($this->code_block_content_func) { - $codeblock = call_user_func($this->code_block_content_func, $codeblock, $classname); - } else { - $codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES); - } - - $codeblock = preg_replace_callback('/^\n+/', - array($this, '_doFencedCodeBlocks_newlines'), $codeblock); - - $classes = array(); - if ($classname !== "") { - if ($classname[0] === '.') { - $classname = substr($classname, 1); - } - $classes[] = $this->code_class_prefix . $classname; - } - $attr_str = $this->doExtraAttributes($this->code_attr_on_pre ? "pre" : "code", $attrs, null, $classes); - $pre_attr_str = $this->code_attr_on_pre ? $attr_str : ''; - $code_attr_str = $this->code_attr_on_pre ? '' : $attr_str; - $codeblock = "$codeblock
    "; - - return "\n\n".$this->hashBlock($codeblock)."\n\n"; - } - - /** - * Replace new lines in fenced code blocks - * @param array $matches - * @return string - */ - protected function _doFencedCodeBlocks_newlines($matches) { - return str_repeat("empty_element_suffix", - strlen($matches[0])); - } - - /** - * Redefining emphasis markers so that emphasis by underscore does not - * work in the middle of a word. - * @var array - */ - protected $em_relist = array( - '' => '(?:(? '(? '(? '(?:(? '(? '(? '(?:(? '(? '(? tags - * @return string HTML output - */ - protected function formParagraphs($text, $wrap_in_p = true) { - // Strip leading and trailing lines: - $text = preg_replace('/\A\n+|\n+\z/', '', $text); - - $grafs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY); - - // Wrap

    tags and unhashify HTML blocks - foreach ($grafs as $key => $value) { - $value = trim($this->runSpanGamut($value)); - - // Check if this should be enclosed in a paragraph. - // Clean tag hashes & block tag hashes are left alone. - $is_p = $wrap_in_p && !preg_match('/^B\x1A[0-9]+B|^C\x1A[0-9]+C$/', $value); - - if ($is_p) { - $value = "

    $value

    "; - } - $grafs[$key] = $value; - } - - // Join grafs in one text, then unhash HTML tags. - $text = implode("\n\n", $grafs); - - // Finish by removing any tag hashes still present in $text. - $text = $this->unhash($text); - - return $text; - } - - - /** - * Footnotes - Strips link definitions from text, stores the URLs and - * titles in hash references. - * @param string $text - * @return string - */ - protected function stripFootnotes($text) { - $less_than_tab = $this->tab_width - 1; - - // Link defs are in the form: [^id]: url "optional title" - $text = preg_replace_callback('{ - ^[ ]{0,' . $less_than_tab . '}\[\^(.+?)\][ ]?: # note_id = $1 - [ ]* - \n? # maybe *one* newline - ( # text = $2 (no blank lines allowed) - (?: - .+ # actual text - | - \n # newlines but - (?!\[.+?\][ ]?:\s)# negative lookahead for footnote or link definition marker. - (?!\n+[ ]{0,3}\S)# ensure line is not blank and followed - # by non-indented content - )* - ) - }xm', - array($this, '_stripFootnotes_callback'), - $text); - return $text; - } - - /** - * Callback for stripping footnotes - * @param array $matches - * @return string - */ - protected function _stripFootnotes_callback($matches) { - $note_id = $this->fn_id_prefix . $matches[1]; - $this->footnotes[$note_id] = $this->outdent($matches[2]); - return ''; // String that will replace the block - } - - /** - * Replace footnote references in $text [^id] with a special text-token - * which will be replaced by the actual footnote marker in appendFootnotes. - * @param string $text - * @return string - */ - protected function doFootnotes($text) { - if (!$this->in_anchor) { - $text = preg_replace('{\[\^(.+?)\]}', "F\x1Afn:\\1\x1A:", $text); - } - return $text; - } - - /** - * Append footnote list to text - * @param string $text - * @return string - */ - protected function appendFootnotes($text) { - $text = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}', - array($this, '_appendFootnotes_callback'), $text); - - if ( ! empty( $this->footnotes_ordered ) ) { - $this->_doFootnotes(); - if ( ! $this->omit_footnotes ) { - $text .= "\n\n"; - $text .= "
    \n"; - $text .= "empty_element_suffix . "\n"; - $text .= $this->footnotes_assembled; - $text .= "
    "; - } - } - return $text; - } - - - /** - * Generates the HTML for footnotes. Called by appendFootnotes, even if - * footnotes are not being appended. - * @return void - */ - protected function _doFootnotes() { - $attr = array(); - if ($this->fn_backlink_class !== "") { - $class = $this->fn_backlink_class; - $class = $this->encodeAttribute($class); - $attr['class'] = " class=\"$class\""; - } - $attr['role'] = " role=\"doc-backlink\""; - $num = 0; - - $text = "
      \n\n"; - while (!empty($this->footnotes_ordered)) { - $footnote = reset($this->footnotes_ordered); - $note_id = key($this->footnotes_ordered); - unset($this->footnotes_ordered[$note_id]); - $ref_count = $this->footnotes_ref_count[$note_id]; - unset($this->footnotes_ref_count[$note_id]); - unset($this->footnotes[$note_id]); - - $footnote .= "\n"; // Need to append newline before parsing. - $footnote = $this->runBlockGamut("$footnote\n"); - $footnote = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}', - array($this, '_appendFootnotes_callback'), $footnote); - - $num++; - $note_id = $this->encodeAttribute($note_id); - - // Prepare backlink, multiple backlinks if multiple references - // Do not create empty backlinks if the html is blank - $backlink = ""; - if (!empty($this->fn_backlink_html)) { - for ($ref_num = 1; $ref_num <= $ref_count; ++$ref_num) { - if (!empty($this->fn_backlink_title)) { - $attr['title'] = ' title="' . $this->encodeAttribute($this->fn_backlink_title) . '"'; - } - if (!empty($this->fn_backlink_label)) { - $attr['label'] = ' aria-label="' . $this->encodeAttribute($this->fn_backlink_label) . '"'; - } - $parsed_attr = $this->parseFootnotePlaceholders( - implode('', $attr), - $num, - $ref_num - ); - $backlink_text = $this->parseFootnotePlaceholders( - $this->fn_backlink_html, - $num, - $ref_num - ); - $ref_count_mark = $ref_num > 1 ? $ref_num : ''; - $backlink .= " $backlink_text"; - } - $backlink = trim($backlink); - } - - // Add backlink to last paragraph; create new paragraph if needed. - if (!empty($backlink)) { - if (preg_match('{

      $}', $footnote)) { - $footnote = substr($footnote, 0, -4) . " $backlink

      "; - } else { - $footnote .= "\n\n

      $backlink

      "; - } - } - - $text .= "
    1. \n"; - $text .= $footnote . "\n"; - $text .= "
    2. \n\n"; - } - $text .= "
    \n"; - - $this->footnotes_assembled = $text; - } - - /** - * Callback for appending footnotes - * @param array $matches - * @return string - */ - protected function _appendFootnotes_callback($matches) { - $node_id = $this->fn_id_prefix . $matches[1]; - - // Create footnote marker only if it has a corresponding footnote *and* - // the footnote hasn't been used by another marker. - if (isset($this->footnotes[$node_id])) { - $num =& $this->footnotes_numbers[$node_id]; - if (!isset($num)) { - // Transfer footnote content to the ordered list and give it its - // number - $this->footnotes_ordered[$node_id] = $this->footnotes[$node_id]; - $this->footnotes_ref_count[$node_id] = 1; - $num = $this->footnote_counter++; - $ref_count_mark = ''; - } else { - $ref_count_mark = $this->footnotes_ref_count[$node_id] += 1; - } - - $attr = ""; - if ($this->fn_link_class !== "") { - $class = $this->fn_link_class; - $class = $this->encodeAttribute($class); - $attr .= " class=\"$class\""; - } - if ($this->fn_link_title !== "") { - $title = $this->fn_link_title; - $title = $this->encodeAttribute($title); - $attr .= " title=\"$title\""; - } - $attr .= " role=\"doc-noteref\""; - - $attr = str_replace("%%", $num, $attr); - $node_id = $this->encodeAttribute($node_id); - - return - "". - "$num". - ""; - } - - return "[^" . $matches[1] . "]"; - } - - /** - * Build footnote label by evaluating any placeholders. - * - ^^ footnote number - * - %% footnote reference number (Nth reference to footnote number) - * @param string $label - * @param int $footnote_number - * @param int $reference_number - * @return string - */ - protected function parseFootnotePlaceholders($label, $footnote_number, $reference_number) { - return str_replace( - array('^^', '%%'), - array($footnote_number, $reference_number), - $label - ); - } - - - /** - * Abbreviations - strips abbreviations from text, stores titles in hash - * references. - * @param string $text - * @return string - */ - protected function stripAbbreviations($text) { - $less_than_tab = $this->tab_width - 1; - - // Link defs are in the form: [id]*: url "optional title" - $text = preg_replace_callback('{ - ^[ ]{0,' . $less_than_tab . '}\*\[(.+?)\][ ]?: # abbr_id = $1 - (.*) # text = $2 (no blank lines allowed) - }xm', - array($this, '_stripAbbreviations_callback'), - $text); - return $text; - } - - /** - * Callback for stripping abbreviations - * @param array $matches - * @return string - */ - protected function _stripAbbreviations_callback($matches) { - $abbr_word = $matches[1]; - $abbr_desc = $matches[2]; - if ($this->abbr_word_re) { - $this->abbr_word_re .= '|'; - } - $this->abbr_word_re .= preg_quote($abbr_word); - $this->abbr_desciptions[$abbr_word] = trim($abbr_desc); - return ''; // String that will replace the block - } - - /** - * Find defined abbreviations in text and wrap them in elements. - * @param string $text - * @return string - */ - protected function doAbbreviations($text) { - if ($this->abbr_word_re) { - // cannot use the /x modifier because abbr_word_re may - // contain significant spaces: - $text = preg_replace_callback('{' . - '(?abbr_word_re . ')' . - '(?![\w\x1A])' . - '}', - array($this, '_doAbbreviations_callback'), $text); - } - return $text; - } - - /** - * Callback for processing abbreviations - * @param array $matches - * @return string - */ - protected function _doAbbreviations_callback($matches) { - $abbr = $matches[0]; - if (isset($this->abbr_desciptions[$abbr])) { - $desc = $this->abbr_desciptions[$abbr]; - if (empty($desc)) { - return $this->hashPart("$abbr"); - } - $desc = $this->encodeAttribute($desc); - return $this->hashPart("$abbr"); - } - return $matches[0]; - } -} diff --git a/php7/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php b/php7/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php deleted file mode 100644 index c4e9ac7f..00000000 --- a/php7/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php +++ /dev/null @@ -1,9 +0,0 @@ - - * @copyright 2004-2021 Michel Fortin - * @copyright (Original Markdown) 2004-2006 John Gruber - */ - -namespace Michelf; - -/** - * Markdown Parser Interface - */ -interface MarkdownInterface { - /** - * Initialize the parser and return the result of its transform method. - * This will work fine for derived classes too. - * - * @api - * - * @param string $text - * @return string - */ - public static function defaultTransform($text); - - /** - * Main function. Performs some preprocessing on the input text - * and pass it through the document gamut. - * - * @api - * - * @param string $text - * @return string - */ - public function transform($text); -} diff --git a/php7/vendor/michelf/php-markdown/Readme.md b/php7/vendor/michelf/php-markdown/Readme.md deleted file mode 100644 index 1a0ee06e..00000000 --- a/php7/vendor/michelf/php-markdown/Readme.md +++ /dev/null @@ -1,448 +0,0 @@ -PHP Markdown -============ - -PHP Markdown Lib 1.9.1 - 23 Nov 2021 - -by Michel Fortin - - -based on Markdown by John Gruber - - - -Introduction ------------- - -This is a library package that includes the PHP Markdown parser and its -sibling PHP Markdown Extra with additional features. - -Markdown is a text-to-HTML conversion tool for web writers. Markdown -allows you to write using an easy-to-read, easy-to-write plain text -format, then convert it to structurally valid XHTML (or HTML). - -"Markdown" is actually two things: a plain text markup syntax, and a -software tool, originally written in Perl, that converts the plain text -markup to HTML. PHP Markdown is a port to PHP of the original Markdown -program by John Gruber. - -* [Full documentation of the Markdown syntax]() - — Daring Fireball (John Gruber) -* [Markdown Extra syntax additions]() - — Michel Fortin - - -Requirement ------------ - -This library package requires PHP 5.3 or later. - -Note: The older plugin/library hybrid package for PHP Markdown and -PHP Markdown Extra is no longer maintained but will work with PHP 4.0.5 and -later. - -Before PHP 5.3.7, pcre.backtrack_limit defaults to 100 000, which is too small -in many situations. You might need to set it to higher values. Later PHP -releases defaults to 1 000 000, which is usually fine. - - -Usage ------ - -To use this library with Composer, first install it with: - - $ composer require michelf/php-markdown - -Then include Composer's generated vendor/autoload.php to [enable autoloading]: - - require 'vendor/autoload.php'; - -Without Composer, for autoloading to work, your project needs an autoloader -compatible with PSR-4 or PSR-0. See the included Readme.php file for a minimal -autoloader setup. (If you cannot use autoloading, see below.) - -With class autoloading in place: - - use Michelf\Markdown; - $my_html = Markdown::defaultTransform($my_text); - -Markdown Extra syntax is also available the same way: - - use Michelf\MarkdownExtra; - $my_html = MarkdownExtra::defaultTransform($my_text); - -If you wish to use PHP Markdown with another text filter function -built to parse HTML, you should filter the text *after* the `transform` -function call. This is an example with [PHP SmartyPants]: - - use Michelf\Markdown, Michelf\SmartyPants; - $my_html = Markdown::defaultTransform($my_text); - $my_html = SmartyPants::defaultTransform($my_html); - -All these examples are using the static `defaultTransform` static function -found inside the parser class. If you want to customize the parser -configuration, you can also instantiate it directly and change some -configuration variables: - - use Michelf\MarkdownExtra; - $parser = new MarkdownExtra; - $parser->fn_id_prefix = "post22-"; - $my_html = $parser->transform($my_text); - -To learn more, see the full list of [configuration variables]. - - [enable autoloading]: https://getcomposer.org/doc/01-basic-usage.md#autoloading - [PHP SmartyPants]: https://michelf.ca/projects/php-smartypants/ - [configuration variables]: https://michelf.ca/projects/php-markdown/configuration/ - - -### Usage without an autoloader - -If you cannot use class autoloading, you can still use `include` or `require` -to access the parser. To load the `Michelf\Markdown` parser, do it this way: - - require_once 'Michelf/Markdown.inc.php'; - -Or, if you need the `Michelf\MarkdownExtra` parser: - - require_once 'Michelf/MarkdownExtra.inc.php'; - -While the plain `.php` files depend on autoloading to work correctly, using the -`.inc.php` files instead will eagerly load the dependencies that would be -loaded on demand if you were using autoloading. - - -Public API and Versioning Policy ---------------------------------- - -Version numbers are of the form *major*.*minor*.*patch*. - -The public API of PHP Markdown consist of the two parser classes `Markdown` -and `MarkdownExtra`, their constructors, the `transform` and `defaultTransform` -functions and their configuration variables. The public API is stable for -a given major version number. It might get additions when the minor version -number increments. - -**Protected members are not considered public API.** This is unconventional -and deserves an explanation. Incrementing the major version number every time -the underlying implementation of something changes is going to give -nonessential version numbers for the vast majority of people who just use the -parser. Protected members are meant to create parser subclasses that behave in -different ways. Very few people create parser subclasses. I don't want to -discourage it by making everything private, but at the same time I can't -guarantee any stable hook between versions if you use protected members. - -**Syntax changes** will increment the minor number for new features, and the -patch number for small corrections. A *new feature* is something that needs a -change in the syntax documentation. Note that since PHP Markdown Lib includes -two parsers, a syntax change for either of them will increment the minor -number. Also note that there is nothing perfectly backward-compatible with the -Markdown syntax: all inputs are always valid, so new features always replace -something that was previously legal, although generally nonsensical to do. - - -Bugs ----- - -To file bug reports please send email to: - - -Please include with your report: (1) the example input; (2) the output you -expected; (3) the output PHP Markdown actually produced. - -If you have a problem where Markdown gives you an empty result, first check -that the backtrack limit is not too low by running `php --info | grep pcre`. -See Installation and Requirement above for details. - - -Development and Testing ------------------------ - -Pull requests for fixing bugs are welcome. Proposed new features are -going to be meticulously reviewed -- taking into account backward compatibility, -potential side effects, and future extensibility -- before deciding on -acceptance or rejection. - -If you make a pull request that includes changes to the parser please add -tests for what is being changed to the `test/` directory. This can be as -simple as adding a `.text` (input) file with a corresponding `.xhtml` -(output) file to proper category under `./test/resources/`. - -Traditionally tests were in a separate repository, [MDTest](https://github.com/michelf/mdtest) -but they are now located here, alongside the source code. - - -Donations ---------- - -If you wish to make a donation that will help me devote more time to -PHP Markdown, please visit [michelf.ca/donate]. - - [michelf.ca/donate]: https://michelf.ca/donate/#!Thanks%20for%20PHP%20Markdown - - -Version History ---------------- - -PHP Markdown Lib 1.9.1 (23 Nov 2021) - -* Now treating `
    ` and `` as block level so they don't - get wrapped in `

    `. - (Thanks to Thomas Hochstein for the fix.) - -* Fix for unintended blank title attribute when adding supplementary attributes - to a link in Markdown Extra. - (Thanks to Richie Black for the fix.) - - -PHP Markdown Lib 1.9.0 (1 Dec 2019) - -* Added `fn_backlink_label` configuration variable to put some text in the - `aria-label` attribute. - (Thanks to Sunny Walker for the implementation.) - -* Occurances of "`^^`" in `fn_backlink_html`, `fn_backlink_class`, - `fn_backlink_title`, and `fn_backlink_label` will be replaced by the - corresponding footnote number in the HTML output. Occurances of "`%%`" will be - replaced by a number for the reference (footnotes can have multiple references). - (Thanks to Sunny Walker for the implementation.) - -* Added configuration variable `omit_footnotes`. When `true` footnotes are not - appended at the end of the generated HTML and the `footnotes_assembled` - variable will contain the HTML for the footnote list, allowing footnotes to be - moved somewhere else on the page. - (Thanks to James K. for the implementation.) - - Note: when placing the content of `footnotes_assembled` on the page, consider - adding the attribute `role="doc-endnotes"` to the `

    ` or `
    ` that will - enclose the list of footnotes so they are reachable to accessibility tools the - same way they would be with the default HTML output. - -* Fixed deprecation warnings from PHP about usage of curly braces to access - characters in text strings. - (Thanks to Remi Collet and Frans-Willem Post.) - - -PHP Markdown Lib 1.8.0 (14 Jan 2018) - -* Autoloading with Composer now uses PSR-4. - -* HTML output for Markdown Extra footnotes now include `role` attributes - with values from [WAI-ARIA](https://www.w3.org/TR/dpub-aria/) to - make them more accessible. - (Thanks to Tobias Bengfort) - -* In Markdown Extra, added the `hashtag_protection` configuration variable. - When set to `true` it prevents ATX-style headers with no space after the initial - hash from being interpreted as headers. This way your precious hashtags - are preserved. - (Thanks to Jaussoin Timothée for the implementation.) - - -PHP Markdown Lib 1.7.0 (29 Oct 2016) - -* Added a `hard_wrap` configuration variable to make all newline characters - in the text become `
    ` tags in the HTML output. By default, according - to the standard Markdown syntax these newlines are ignored unless they a - preceded by two spaces. Thanks to Jonathan Cohlmeyer for the implementation. - -* Improved the parsing of list items to fix problematic cases that came to - light with the addition of `hard_wrap`. This should have no effect on the - output except span-level list items that ended with two spaces (and thus - ended with a line break). - -* Added a `code_span_content_func` configuration variable which takes a - function that will convert the content of the code span to HTML. This can - be useful to implement syntax highlighting. Although contrary to its - code block equivalent, there is no syntax for specifying a language. - Credits to styxit for the implementation. - -* Fixed a Markdown Extra issue where two-space-at-end-of-line hard breaks - wouldn't work inside of HTML block elements such as `

    ` - where the element expects only span-level content. - -* In the parser code, switched to PHPDoc comment format. Thanks to - Robbie Averill for the help. - - -PHP Markdown Lib 1.6.0 (23 Dec 2015) - -Note: this version was incorrectly released as 1.5.1 on Dec 22, a number -that contradicted the versioning policy. - -* For fenced code blocks in Markdown Extra, can now set a class name for the - code block's language before the special attribute block. Previously, this - class name was only allowed in the absence of the special attribute block. - -* Added a `code_block_content_func` configuration variable which takes a - function that will convert the content of the code block to HTML. This is - most useful for syntax highlighting. For fenced code blocks in Markdown - Extra, the function has access to the language class name (the one outside - of the special attribute block). Credits to Mario Konrad for providing the - implementation. - -* The curled arrow character for the backlink in footnotes is now followed - by a Unicode variant selector to prevent it from being displayed in emoji - form on iOS. - - Note that in older browsers the variant selector is often interpreted as a - separate character, making it visible after the arrow. So there is now a - also a `fn_backlink_html` configuration variable that can be used to set - the link text to something else. Credits to Dana for providing the - implementation. - -* Fixed an issue in MarkdownExtra where long header lines followed by a - special attribute block would hit the backtrack limit an cause an empty - string to be returned. - - -PHP Markdown Lib 1.5.0 (1 Mar 2015) - -* Added the ability start ordered lists with a number different from 1 and - and have that reflected in the HTML output. This can be enabled with - the `enhanced_ordered_lists` configuration variable for the Markdown - parser; it is enabled by default for Markdown Extra. - Credits to Matt Gorle for providing the implementation. - -* Added the ability to insert custom HTML attributes with simple values - everywhere an extra attribute block is allowed (links, images, headers). - The value must be unquoted, cannot contains spaces and is limited to - alphanumeric ASCII characters. - Credits to Peter Droogmans for providing the implementation. - -* Added a `header_id_func` configuration variable which takes a function - that can generate an `id` attribute value from the header text. - Credits to Evert Pot for providing the implementation. - -* Added a `url_filter_func` configuration variable which takes a function - that can rewrite any link or image URL to something different. - - -PHP Markdown Lib 1.4.1 (4 May 2014) - -* The HTML block parser will now treat `

    ` as a block-level element - (as it should) and no longer wrap it in `

    ` or parse it's content with - the as Markdown syntax (although with Extra you can use `markdown="1"` - if you wish to use the Markdown syntax inside it). - -* The content of `\nsnippet sub\n ${1}\nsnippet summary\n

    \n ${1}\n \nsnippet sup\n ${1}\nsnippet table\n \n ${2}\n
    \nsnippet table.\n \n ${3}\n
    \nsnippet table#\n \n ${3}\n
    \nsnippet tbody\n \n ${1}\n \nsnippet td\n ${1}\nsnippet td.\n ${2}\nsnippet td#\n ${2}\nsnippet td+\n ${1}\n td+${2}\nsnippet textarea\n ${6}\nsnippet tfoot\n \n ${1}\n \nsnippet th\n ${1}\nsnippet th.\n ${2}\nsnippet th#\n ${2}\nsnippet th+\n ${1}\n th+${2}\nsnippet thead\n \n ${1}\n \nsnippet time\n