wp-studio 1.7.8-beta2 → 1.7.8-beta4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -1
- package/assets/demo.gif +0 -0
- package/dist/cli/{_events-BRGCap7g.mjs → _events-C2dFSpKE.mjs} +2 -2
- package/dist/cli/{certificate-manager-Dd4zv2_k.mjs → certificate-manager-BMngpL-s.mjs} +12 -4
- package/dist/cli/{index-9Oz-0bqF.mjs → index-CkFXAp-n.mjs} +5 -5
- package/dist/cli/{index-CT4S2538.mjs → index-odShRBgM.mjs} +171 -117
- package/dist/cli/{login-D4E3GoXe.mjs → login-BeT1uKwW.mjs} +2 -2
- package/dist/cli/{logout-DE-RoshK.mjs → logout-BFQJBJD0.mjs} +2 -2
- package/dist/cli/main.mjs +3 -2
- package/dist/cli/proxy-daemon.mjs +1 -1
- package/dist/cli/{resume-DLoXmzNG.mjs → resume-D_K0QEl5.mjs} +1 -1
- package/dist/cli/{set-B8YYUENH.mjs → set-C5l116L7.mjs} +2 -2
- package/dist/cli/{set-B0L-QiXT.mjs → set-DzcR6sFr.mjs} +2 -2
- package/dist/cli/{status-DEOAA0yx.mjs → status-CbXnAskz.mjs} +1 -1
- package/dist/cli/{wp-CobSX6C6.mjs → wp-CUKyZNTP.mjs} +1 -1
- package/dist/cli/wp-files/latest/available-site-translations.json +1 -1
- package/dist/cli/wp-files/latest/languages/admin-de_DE.l10n.php +2 -2
- package/dist/cli/wp-files/latest/languages/admin-network-de_DE.l10n.php +1 -1
- package/dist/cli/wp-files/latest/languages/admin-pl_PL.l10n.php +2 -2
- package/dist/cli/wp-files/latest/languages/de_DE-0cc31205f20441b3df1d1b46100f6b8d.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-0ce75ad2f775d1cac9696967d484808c.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-0eebe503220d4a00341eb011b92769b4.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-17179a5f2930647c89151e365f843b6e.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1780a2033cf98d69ce13c2e5c8510004.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1a0cd6a7128913b15c1a10dd68951869.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1bba9045bb07c89671c88a3f328548e8.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1c4303f02ff93b290e9faad991eeb06f.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1d17475f620f63a92e2c5d2681c51ee8.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-2617ce121227a46077ede6c69aa9fcb5.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-270d72d1cff17227d37f3244759cbecb.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-28b3c3d595952907e08d98287077426c.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-2b390f85a3048c5b4255fb45960b6514.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-2c5d274ea625dd91556554ad82901529.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-320f4ad9792aaa6dedb1e71cbdf85d57.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-440127dd25bde48a531ded36f33e927b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-49c6d4acf36cf3aca9f0b2a77617304f.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-4a38fe1c0c45989e44682ba6109d9f46.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-4bfa11da57ff2600004bb500368247f4.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-50278328b502f4eb3f2b8b7ab49324a1.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-5251f7623766a714c8207c7edb938628.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-529362903a5a05b34b06b5e793fb4cf8.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-569e85ef168299eb8c8f24d8ef8c8a78.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-6025add6bde16aaeb12787d250f9b414.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-60d06fac6f98e8e8f0ec5a945738b660.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-68f2cec7514bf8563c723a4d675fcfe6.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7233008897033de5ee0d14f86a42a65a.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7289286ed59e90a8f36ae797df62220b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7436b7ee9e4f11ac0d618d8cc886eb66.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-77fdfadaf2e1ca3a027d1956b910bc50.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7b74c8457eaa7fcc50db41b431f8a003.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7c90cd4398ee2d9d3628c387a87a70e5.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7d5ca435e60d92f024d46c9257aaa0f7.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7f13c36c641b114bf18cd0bcc9ecc7e0.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-803bf1ce2131e13efc590c1bc47851fc.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-81c889563f09dd13de1701135dc62941.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-81d6f084cb273e02e15b01bd9ece87f7.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-8240df461220d1d3a028a9a4c5652a5b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-8860e58c20c6a2ab5876a0f07be43bd9.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-93882e8f9976382d7f724ac595ed7151.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-947c76bb5095da30e16668eec15406b2.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-9b256ea9cd54df92095e04c76758ceb0.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-9c3519f4870fac83dc0dbf18cb6bd4c4.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-9d47a87c240c1d10701cd6a02b28aa1b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-a25d1cc7bf7ca0b4e114f6bea64943f4.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-a2796e57f680e25d84c4b352ee6d7280.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-a9dc201dcd011fe71849743133052619.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-aabfce98c410957228848dc581e3c420.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-ac23eee47530ac63a1178c827db28087.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-bf0f094965d3d4a95b47babcb35fc136.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-bf23b24175490c2e46aaf92ff6a0c70f.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-c31d5f185753910c14afebc6deb2ce24.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-ca28138671823450e87dfd354f7afc6b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-daeb084aab42199d26393a56c3465bc0.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-e2791ba830489d23043be8650a22a22b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-e2e4c4b80f3adf2c70b431bfdb1b4872.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-e53526243551a102928735ec9eed4edf.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-f575f481034e90e21d832e415fd95fcf.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-f70806bf0c7d62f2908bd5a1c3fe4efc.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-f8f49d9fc4a9cf7d78ec99285417bd9c.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE.l10n.php +27 -27
- package/dist/cli/wp-files/latest/languages/pl_PL-0cc31205f20441b3df1d1b46100f6b8d.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-0eebe503220d4a00341eb011b92769b4.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-1c4303f02ff93b290e9faad991eeb06f.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-1d17475f620f63a92e2c5d2681c51ee8.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-2b390f85a3048c5b4255fb45960b6514.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-4a38fe1c0c45989e44682ba6109d9f46.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-4bfa11da57ff2600004bb500368247f4.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-50278328b502f4eb3f2b8b7ab49324a1.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-5251f7623766a714c8207c7edb938628.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-529362903a5a05b34b06b5e793fb4cf8.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-569e85ef168299eb8c8f24d8ef8c8a78.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-6025add6bde16aaeb12787d250f9b414.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-7436b7ee9e4f11ac0d618d8cc886eb66.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-77fdfadaf2e1ca3a027d1956b910bc50.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-7b74c8457eaa7fcc50db41b431f8a003.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-7d5ca435e60d92f024d46c9257aaa0f7.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-81d6f084cb273e02e15b01bd9ece87f7.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-8240df461220d1d3a028a9a4c5652a5b.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-9b256ea9cd54df92095e04c76758ceb0.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-9c3519f4870fac83dc0dbf18cb6bd4c4.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-9d47a87c240c1d10701cd6a02b28aa1b.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-a9dc201dcd011fe71849743133052619.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-aabfce98c410957228848dc581e3c420.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-ca28138671823450e87dfd354f7afc6b.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-e2e4c4b80f3adf2c70b431bfdb1b4872.json +1 -1
- package/dist/cli/wp-files/sqlite-command/composer.json +4 -3
- package/dist/cli/wp-files/sqlite-command/composer.lock +132 -80
- package/dist/cli/wp-files/sqlite-command/vendor/autoload.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_classmap.php +58 -70
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_namespaces.php +1 -0
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_psr4.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_real.php +5 -5
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_static.php +78 -80
- package/dist/cli/wp-files/sqlite-command/vendor/composer/installed.json +104 -49
- package/dist/cli/wp-files/sqlite-command/vendor/composer/installed.php +29 -16
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/CHANGELOG.md +103 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Comparator/Comparator.php +62 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Comparator/DateComparator.php +50 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Comparator/NumberComparator.php +78 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Exception/AccessDeniedException.php +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Exception/DirectoryNotFoundException.php +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Finder.php +851 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Gitignore.php +91 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Glob.php +116 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/CustomFilterIterator.php +61 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php +58 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php +48 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php +110 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php +51 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php +58 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/FilenameFilterIterator.php +45 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/LazyIterator.php +32 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php +107 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/PathFilterIterator.php +56 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php +134 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php +57 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/SortableIterator.php +115 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/VcsIgnoredFilterIterator.php +173 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/LICENSE +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/README.md +14 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/SplFileInfo.php +80 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/composer.json +31 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/mustache/.gitattributes +8 -0
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache → wp-cli}/mustache/LICENSE +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/mustache/README.md +76 -0
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache → wp-cli}/mustache/composer.json +6 -16
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/mustache/src/Mustache/Autoloader.php +88 -0
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Cache/AbstractCache.php +7 -15
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Cache/FilesystemCache.php +15 -20
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Cache/NoopCache.php +4 -8
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Cache.php +7 -10
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Compiler.php +87 -144
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Context.php +19 -23
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Engine.php +134 -251
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/InvalidArgumentException.php +2 -6
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/LogicException.php +2 -6
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/RuntimeException.php +2 -6
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/SyntaxException.php +8 -7
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/UnknownFilterException.php +7 -7
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/UnknownHelperException.php +7 -7
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/UnknownTemplateException.php +7 -7
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception.php +5 -4
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/HelperCollection.php +17 -22
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/LambdaHelper.php +8 -28
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/ArrayLoader.php +9 -12
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/CascadingLoader.php +15 -18
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/FilesystemLoader.php +18 -24
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/InlineLoader.php +13 -19
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/MutableLoader.php +7 -4
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/ProductionFilesystemLoader.php +16 -23
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/StringLoader.php +4 -8
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader.php +7 -8
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Logger/AbstractLogger.php +26 -22
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Logger/StreamLogger.php +20 -25
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Logger.php +37 -13
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Parser.php +93 -100
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Source/FilesystemSource.php +7 -11
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Source.php +5 -4
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Template.php +32 -39
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Tokenizer.php +29 -33
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/.actrc +3 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/.gitattributes +6 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/.mailmap +234 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/README.md +4 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/VERSION +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/CHANGELOG.md +0 -65
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/README.md +1 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/certificates/cacert.pem +372 -315
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/certificates/cacert.pem.sha256 +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/composer.json +5 -7
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Iri.php +18 -20
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Requests.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Response/Headers.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Transport/Curl.php +1 -5
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Transport/Fsockopen.php +0 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Utility/CaseInsensitiveDictionary.php +0 -12
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Utility/FilteredIterator.php +2 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/composer.json +13 -30
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/dependencies.yml +6 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/manifest.json +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Autoloader.php +2 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/AutoloaderStep.php +1 -10
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/CheckRoot.php +2 -20
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/DefineProtectedCommands.php +3 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/IncludeFrameworkAutoloader.php +4 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/IncludeRequestsAutoloader.php +3 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/InitializeContexts.php +0 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/InitializeLogger.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LaunchRunner.php +3 -6
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/{RegisterShutdownHandler.php → LoadDispatcher.php} +4 -6
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LoadRequiredCommand.php +5 -9
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LoadUtilityFunctions.php +0 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Completions.php +6 -149
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Configurator.php +49 -202
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Context/Admin.php +21 -113
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Context/Auto.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Context/Cli.php +1 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Context/Frontend.php +1 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CommandFactory.php +26 -63
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CompositeCommand.php +9 -19
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/Subcommand.php +19 -284
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/DocParser.php +5 -17
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Exception/NonExistentKeyException.php +3 -6
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Extractor.php +54 -30
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Base.php +3 -7
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Comment.php +2 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Post.php +3 -8
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Signup.php +1 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Site.php +4 -12
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/User.php +1 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/FileCache.php +33 -135
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Formatter.php +57 -221
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Inflector.php +4 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Iterators/CSV.php +1 -6
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Iterators/Query.php +1 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Iterators/Table.php +1 -7
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Iterators/Transform.php +0 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Loggers/Base.php +0 -15
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Loggers/Quiet.php +3 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Loggers/Regular.php +3 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/NoOp.php +0 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Process.php +7 -40
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/RequestsLibrary.php +1 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php +234 -795
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/SynopsisParser.php +26 -116
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/SynopsisValidator.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Traverser/RecursiveDataStructureTraverser.php +26 -69
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/UpgraderSkin.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/WpHttpCacheManager.php +5 -67
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/WpOrgApi.php +3 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/boot-fs.php +2 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/bootstrap.php +2 -5
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/class-wp-cli.php +62 -311
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/commands/src/CLI_Alias_Command.php +60 -292
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/commands/src/CLI_Cache_Command.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/commands/src/CLI_Command.php +31 -191
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/commands/src/Help_Command.php +35 -177
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/config-spec.php +4 -28
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/utils-wp.php +47 -81
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/utils.php +200 -512
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/wp-cli.php +2 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/wp-settings-cli.php +465 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/templates/man-params.mustache +4 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/templates/man.mustache +0 -8
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/ArgValidationTest.php +74 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/CommandFactoryTest.php +420 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/ConfiguratorTest.php +87 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/DocParserTest.php +213 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/ExtractorTest.php +293 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/FileCacheTest.php +207 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/HelpTest.php +119 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/InflectorTest.php +37 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/LoggingTest.php +124 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/ProcessTest.php +30 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/SynopsisParserTest.php +194 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/UtilsTest.php +1092 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WPCLITest.php +16 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WP_CLI/Iterators/CSVTest.php +109 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WP_CLI/Traversers/RecursiveDataStructureTraverserTest.php +151 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WP_CLI/WpOrgApiTest.php +166 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WpVersionCompareTest.php +78 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/bootstrap.php +17 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-class-win.php +70 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-class.php +70 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-function-win.php +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-function.php +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/bar.ab2 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/baz.ab1 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/baz.ac1 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/baz.efg2 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/foo.ab1 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/foo.ab2 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/foo.efg1 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/foo.efg2 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/mock-requests-transport.php +34 -0
- package/dist/cli/wp-files/sqlite-command/version +1 -1
- package/package.json +4 -3
- package/patches/archiver+7.0.1.patch +14 -0
- package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/.php-cs-fixer.php +0 -20
- package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/README.md +0 -94
- package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/RenderedString.php +0 -51
- package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/compat.php +0 -282
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/.typos.toml +0 -14
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/AGENTS.md +0 -121
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/scripts/proxy/proxy.py +0 -5
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/scripts/proxy/start.sh +0 -19
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/scripts/proxy/stop.sh +0 -10
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Path.php +0 -260
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/ShutdownHandler.php +0 -329
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/schemas/wp-cli-config.json +0 -218
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/schemas/wp-cli.example.yml +0 -55
- /package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/{codecov.yml → tests/data/expand_globs/bar.ab1} +0 -0
|
@@ -3,26 +3,21 @@
|
|
|
3
3
|
/*
|
|
4
4
|
* This file is part of Mustache.php.
|
|
5
5
|
*
|
|
6
|
-
* (c) 2010-
|
|
6
|
+
* (c) 2010-2017 Justin Hileman
|
|
7
7
|
*
|
|
8
8
|
* For the full copyright and license information, please view the LICENSE
|
|
9
9
|
* file that was distributed with this source code.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
namespace Mustache;
|
|
13
|
-
|
|
14
|
-
use Mustache\Exception\InvalidArgumentException;
|
|
15
|
-
use Mustache\Exception\SyntaxException;
|
|
16
|
-
|
|
17
12
|
/**
|
|
18
13
|
* Mustache Compiler class.
|
|
19
14
|
*
|
|
20
15
|
* This class is responsible for turning a Mustache token parse tree into normal PHP source code.
|
|
21
16
|
*/
|
|
22
|
-
class
|
|
17
|
+
class Mustache_Compiler
|
|
23
18
|
{
|
|
24
19
|
private $pragmas;
|
|
25
|
-
private $defaultPragmas =
|
|
20
|
+
private $defaultPragmas = array();
|
|
26
21
|
private $sections;
|
|
27
22
|
private $blocks;
|
|
28
23
|
private $source;
|
|
@@ -32,16 +27,11 @@ class Compiler
|
|
|
32
27
|
private $charset;
|
|
33
28
|
private $strictCallables;
|
|
34
29
|
|
|
35
|
-
// Optional Mustache specs
|
|
36
|
-
private $lambdas = true;
|
|
37
|
-
|
|
38
30
|
/**
|
|
39
31
|
* Compile a Mustache token parse tree into PHP source code.
|
|
40
32
|
*
|
|
41
|
-
* @throws InvalidArgumentException if the FILTERS pragma is set but lambdas are not enabled
|
|
42
|
-
*
|
|
43
33
|
* @param string $source Mustache Template source code
|
|
44
|
-
* @param
|
|
34
|
+
* @param string $tree Parse tree of Mustache tokens
|
|
45
35
|
* @param string $name Mustache Template class name
|
|
46
36
|
* @param bool $customEscape (default: false)
|
|
47
37
|
* @param string $charset (default: 'UTF-8')
|
|
@@ -53,8 +43,8 @@ class Compiler
|
|
|
53
43
|
public function compile($source, array $tree, $name, $customEscape = false, $charset = 'UTF-8', $strictCallables = false, $entityFlags = ENT_COMPAT)
|
|
54
44
|
{
|
|
55
45
|
$this->pragmas = $this->defaultPragmas;
|
|
56
|
-
$this->sections =
|
|
57
|
-
$this->blocks =
|
|
46
|
+
$this->sections = array();
|
|
47
|
+
$this->blocks = array();
|
|
58
48
|
$this->source = $source;
|
|
59
49
|
$this->indentNextLine = true;
|
|
60
50
|
$this->customEscape = $customEscape;
|
|
@@ -62,40 +52,20 @@ class Compiler
|
|
|
62
52
|
$this->charset = $charset;
|
|
63
53
|
$this->strictCallables = $strictCallables;
|
|
64
54
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (isset($this->pragmas[Engine::PRAGMA_FILTERS]) && !$this->lambdas) {
|
|
68
|
-
throw new InvalidArgumentException('The FILTERS pragma requires lambda support');
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return $code;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Disable optional Mustache specs.
|
|
76
|
-
*
|
|
77
|
-
* @internal Users should set options in Mustache\Engine, not here :)
|
|
78
|
-
*
|
|
79
|
-
* @param bool[] $options
|
|
80
|
-
*/
|
|
81
|
-
public function setOptions(array $options)
|
|
82
|
-
{
|
|
83
|
-
if (isset($options['lambdas'])) {
|
|
84
|
-
$this->lambdas = $options['lambdas'] !== false;
|
|
85
|
-
}
|
|
55
|
+
return $this->writeCode($tree, $name);
|
|
86
56
|
}
|
|
87
57
|
|
|
88
58
|
/**
|
|
89
59
|
* Enable pragmas across all templates, regardless of the presence of pragma
|
|
90
60
|
* tags in the individual templates.
|
|
91
61
|
*
|
|
92
|
-
* @internal Users should set global pragmas in
|
|
62
|
+
* @internal Users should set global pragmas in Mustache_Engine, not here :)
|
|
93
63
|
*
|
|
94
64
|
* @param string[] $pragmas
|
|
95
65
|
*/
|
|
96
66
|
public function setPragmas(array $pragmas)
|
|
97
67
|
{
|
|
98
|
-
$this->pragmas =
|
|
68
|
+
$this->pragmas = array();
|
|
99
69
|
foreach ($pragmas as $pragma) {
|
|
100
70
|
$this->pragmas[$pragma] = true;
|
|
101
71
|
}
|
|
@@ -105,7 +75,7 @@ class Compiler
|
|
|
105
75
|
/**
|
|
106
76
|
* Helper function for walking the Mustache token parse tree.
|
|
107
77
|
*
|
|
108
|
-
* @throws
|
|
78
|
+
* @throws Mustache_Exception_SyntaxException upon encountering unknown token types
|
|
109
79
|
*
|
|
110
80
|
* @param array $tree Parse tree of Mustache tokens
|
|
111
81
|
* @param int $level (default: 0)
|
|
@@ -117,96 +87,96 @@ class Compiler
|
|
|
117
87
|
$code = '';
|
|
118
88
|
$level++;
|
|
119
89
|
foreach ($tree as $node) {
|
|
120
|
-
switch ($node[
|
|
121
|
-
case
|
|
122
|
-
$this->pragmas[$node[
|
|
90
|
+
switch ($node[Mustache_Tokenizer::TYPE]) {
|
|
91
|
+
case Mustache_Tokenizer::T_PRAGMA:
|
|
92
|
+
$this->pragmas[$node[Mustache_Tokenizer::NAME]] = true;
|
|
123
93
|
break;
|
|
124
94
|
|
|
125
|
-
case
|
|
95
|
+
case Mustache_Tokenizer::T_SECTION:
|
|
126
96
|
$code .= $this->section(
|
|
127
|
-
$node[
|
|
128
|
-
$node[
|
|
129
|
-
isset($node[
|
|
130
|
-
$node[
|
|
131
|
-
$node[
|
|
132
|
-
$node[
|
|
133
|
-
$node[
|
|
97
|
+
$node[Mustache_Tokenizer::NODES],
|
|
98
|
+
$node[Mustache_Tokenizer::NAME],
|
|
99
|
+
isset($node[Mustache_Tokenizer::FILTERS]) ? $node[Mustache_Tokenizer::FILTERS] : array(),
|
|
100
|
+
$node[Mustache_Tokenizer::INDEX],
|
|
101
|
+
$node[Mustache_Tokenizer::END],
|
|
102
|
+
$node[Mustache_Tokenizer::OTAG],
|
|
103
|
+
$node[Mustache_Tokenizer::CTAG],
|
|
134
104
|
$level
|
|
135
105
|
);
|
|
136
106
|
break;
|
|
137
107
|
|
|
138
|
-
case
|
|
108
|
+
case Mustache_Tokenizer::T_INVERTED:
|
|
139
109
|
$code .= $this->invertedSection(
|
|
140
|
-
$node[
|
|
141
|
-
$node[
|
|
142
|
-
isset($node[
|
|
110
|
+
$node[Mustache_Tokenizer::NODES],
|
|
111
|
+
$node[Mustache_Tokenizer::NAME],
|
|
112
|
+
isset($node[Mustache_Tokenizer::FILTERS]) ? $node[Mustache_Tokenizer::FILTERS] : array(),
|
|
143
113
|
$level
|
|
144
114
|
);
|
|
145
115
|
break;
|
|
146
116
|
|
|
147
|
-
case
|
|
117
|
+
case Mustache_Tokenizer::T_PARTIAL:
|
|
148
118
|
$code .= $this->partial(
|
|
149
|
-
$node[
|
|
150
|
-
isset($node[
|
|
151
|
-
isset($node[
|
|
119
|
+
$node[Mustache_Tokenizer::NAME],
|
|
120
|
+
isset($node[Mustache_Tokenizer::DYNAMIC]) ? $node[Mustache_Tokenizer::DYNAMIC] : false,
|
|
121
|
+
isset($node[Mustache_Tokenizer::INDENT]) ? $node[Mustache_Tokenizer::INDENT] : '',
|
|
152
122
|
$level
|
|
153
123
|
);
|
|
154
124
|
break;
|
|
155
125
|
|
|
156
|
-
case
|
|
126
|
+
case Mustache_Tokenizer::T_PARENT:
|
|
157
127
|
$code .= $this->parent(
|
|
158
|
-
$node[
|
|
159
|
-
isset($node[
|
|
160
|
-
isset($node[
|
|
161
|
-
$node[
|
|
128
|
+
$node[Mustache_Tokenizer::NAME],
|
|
129
|
+
isset($node[Mustache_Tokenizer::DYNAMIC]) ? $node[Mustache_Tokenizer::DYNAMIC] : false,
|
|
130
|
+
isset($node[Mustache_Tokenizer::INDENT]) ? $node[Mustache_Tokenizer::INDENT] : '',
|
|
131
|
+
$node[Mustache_Tokenizer::NODES],
|
|
162
132
|
$level
|
|
163
133
|
);
|
|
164
134
|
break;
|
|
165
135
|
|
|
166
|
-
case
|
|
136
|
+
case Mustache_Tokenizer::T_BLOCK_ARG:
|
|
167
137
|
$code .= $this->blockArg(
|
|
168
|
-
$node[
|
|
169
|
-
$node[
|
|
170
|
-
$node[
|
|
171
|
-
$node[
|
|
172
|
-
$node[
|
|
173
|
-
$node[
|
|
138
|
+
$node[Mustache_Tokenizer::NODES],
|
|
139
|
+
$node[Mustache_Tokenizer::NAME],
|
|
140
|
+
$node[Mustache_Tokenizer::INDEX],
|
|
141
|
+
$node[Mustache_Tokenizer::END],
|
|
142
|
+
$node[Mustache_Tokenizer::OTAG],
|
|
143
|
+
$node[Mustache_Tokenizer::CTAG],
|
|
174
144
|
$level
|
|
175
145
|
);
|
|
176
146
|
break;
|
|
177
147
|
|
|
178
|
-
case
|
|
148
|
+
case Mustache_Tokenizer::T_BLOCK_VAR:
|
|
179
149
|
$code .= $this->blockVar(
|
|
180
|
-
$node[
|
|
181
|
-
$node[
|
|
182
|
-
$node[
|
|
183
|
-
$node[
|
|
184
|
-
$node[
|
|
185
|
-
$node[
|
|
150
|
+
$node[Mustache_Tokenizer::NODES],
|
|
151
|
+
$node[Mustache_Tokenizer::NAME],
|
|
152
|
+
$node[Mustache_Tokenizer::INDEX],
|
|
153
|
+
$node[Mustache_Tokenizer::END],
|
|
154
|
+
$node[Mustache_Tokenizer::OTAG],
|
|
155
|
+
$node[Mustache_Tokenizer::CTAG],
|
|
186
156
|
$level
|
|
187
157
|
);
|
|
188
158
|
break;
|
|
189
159
|
|
|
190
|
-
case
|
|
160
|
+
case Mustache_Tokenizer::T_COMMENT:
|
|
191
161
|
break;
|
|
192
162
|
|
|
193
|
-
case
|
|
194
|
-
case
|
|
195
|
-
case
|
|
163
|
+
case Mustache_Tokenizer::T_ESCAPED:
|
|
164
|
+
case Mustache_Tokenizer::T_UNESCAPED:
|
|
165
|
+
case Mustache_Tokenizer::T_UNESCAPED_2:
|
|
196
166
|
$code .= $this->variable(
|
|
197
|
-
$node[
|
|
198
|
-
isset($node[
|
|
199
|
-
$node[
|
|
167
|
+
$node[Mustache_Tokenizer::NAME],
|
|
168
|
+
isset($node[Mustache_Tokenizer::FILTERS]) ? $node[Mustache_Tokenizer::FILTERS] : array(),
|
|
169
|
+
$node[Mustache_Tokenizer::TYPE] === Mustache_Tokenizer::T_ESCAPED,
|
|
200
170
|
$level
|
|
201
171
|
);
|
|
202
172
|
break;
|
|
203
173
|
|
|
204
|
-
case
|
|
205
|
-
$code .= $this->text($node[
|
|
174
|
+
case Mustache_Tokenizer::T_TEXT:
|
|
175
|
+
$code .= $this->text($node[Mustache_Tokenizer::VALUE], $level);
|
|
206
176
|
break;
|
|
207
177
|
|
|
208
178
|
default:
|
|
209
|
-
throw new
|
|
179
|
+
throw new Mustache_Exception_SyntaxException(sprintf('Unknown token type: %s', $node[Mustache_Tokenizer::TYPE]), $node);
|
|
210
180
|
}
|
|
211
181
|
}
|
|
212
182
|
|
|
@@ -215,13 +185,13 @@ class Compiler
|
|
|
215
185
|
|
|
216
186
|
const KLASS = '<?php
|
|
217
187
|
|
|
218
|
-
class %s extends
|
|
188
|
+
class %s extends Mustache_Template
|
|
219
189
|
{
|
|
220
|
-
private $lambdaHelper;%s
|
|
190
|
+
private $lambdaHelper;%s
|
|
221
191
|
|
|
222
|
-
public function renderInternal(
|
|
192
|
+
public function renderInternal(Mustache_Context $context, $indent = \'\')
|
|
223
193
|
{
|
|
224
|
-
$this->lambdaHelper = new
|
|
194
|
+
$this->lambdaHelper = new Mustache_LambdaHelper($this->mustache, $context);
|
|
225
195
|
$buffer = \'\';
|
|
226
196
|
%s
|
|
227
197
|
|
|
@@ -233,9 +203,9 @@ class Compiler
|
|
|
233
203
|
|
|
234
204
|
const KLASS_NO_LAMBDAS = '<?php
|
|
235
205
|
|
|
236
|
-
class %s extends
|
|
237
|
-
{%s
|
|
238
|
-
public function renderInternal(
|
|
206
|
+
class %s extends Mustache_Template
|
|
207
|
+
{%s
|
|
208
|
+
public function renderInternal(Mustache_Context $context, $indent = \'\')
|
|
239
209
|
{
|
|
240
210
|
$buffer = \'\';
|
|
241
211
|
%s
|
|
@@ -246,8 +216,6 @@ class Compiler
|
|
|
246
216
|
|
|
247
217
|
const STRICT_CALLABLE = 'protected $strictCallables = true;';
|
|
248
218
|
|
|
249
|
-
const NO_LAMBDAS = 'protected $lambdas = false;';
|
|
250
|
-
|
|
251
219
|
/**
|
|
252
220
|
* Generate Mustache Template class PHP source.
|
|
253
221
|
*
|
|
@@ -256,7 +224,7 @@ class Compiler
|
|
|
256
224
|
*
|
|
257
225
|
* @return string Generated PHP source code
|
|
258
226
|
*/
|
|
259
|
-
private function writeCode(
|
|
227
|
+
private function writeCode($tree, $name)
|
|
260
228
|
{
|
|
261
229
|
$code = $this->walk($tree);
|
|
262
230
|
$sections = implode("\n", $this->sections);
|
|
@@ -264,9 +232,8 @@ class Compiler
|
|
|
264
232
|
$klass = empty($this->sections) && empty($this->blocks) ? self::KLASS_NO_LAMBDAS : self::KLASS;
|
|
265
233
|
|
|
266
234
|
$callable = $this->strictCallables ? $this->prepare(self::STRICT_CALLABLE) : '';
|
|
267
|
-
$lambda = $this->lambdas ? '' : $this->prepare(self::NO_LAMBDAS);
|
|
268
235
|
|
|
269
|
-
return sprintf($this->prepare($klass, 0, false, true), $name, $callable, $
|
|
236
|
+
return sprintf($this->prepare($klass, 0, false, true), $name, $callable, $code, $sections, $blocks);
|
|
270
237
|
}
|
|
271
238
|
|
|
272
239
|
const BLOCK_VAR = '
|
|
@@ -291,7 +258,7 @@ class Compiler
|
|
|
291
258
|
*
|
|
292
259
|
* @return string Generated PHP source code
|
|
293
260
|
*/
|
|
294
|
-
private function blockVar(
|
|
261
|
+
private function blockVar($nodes, $id, $start, $end, $otag, $ctag, $level)
|
|
295
262
|
{
|
|
296
263
|
$id = var_export($id, true);
|
|
297
264
|
|
|
@@ -303,7 +270,7 @@ class Compiler
|
|
|
303
270
|
return sprintf($this->prepare(self::BLOCK_VAR, $level), $id, $else);
|
|
304
271
|
}
|
|
305
272
|
|
|
306
|
-
const BLOCK_ARG = '%s =>
|
|
273
|
+
const BLOCK_ARG = '%s => array($this, \'block%s\'),';
|
|
307
274
|
|
|
308
275
|
/**
|
|
309
276
|
* Generate Mustache Template inheritance block argument PHP source.
|
|
@@ -342,7 +309,7 @@ class Compiler
|
|
|
342
309
|
*
|
|
343
310
|
* @return string key of new block function
|
|
344
311
|
*/
|
|
345
|
-
private function block(
|
|
312
|
+
private function block($nodes)
|
|
346
313
|
{
|
|
347
314
|
$code = $this->walk($nodes, 0);
|
|
348
315
|
$key = ucfirst(md5($code));
|
|
@@ -360,7 +327,7 @@ class Compiler
|
|
|
360
327
|
';
|
|
361
328
|
|
|
362
329
|
const SECTION = '
|
|
363
|
-
private function section%s(
|
|
330
|
+
private function section%s(Mustache_Context $context, $indent, $value)
|
|
364
331
|
{
|
|
365
332
|
$buffer = \'\';
|
|
366
333
|
|
|
@@ -368,10 +335,6 @@ class Compiler
|
|
|
368
335
|
$source = %s;
|
|
369
336
|
$value = call_user_func($value, $source, %s);
|
|
370
337
|
|
|
371
|
-
if ($value instanceof \\Mustache\\RenderedString) {
|
|
372
|
-
return $value->getValue();
|
|
373
|
-
}
|
|
374
|
-
|
|
375
338
|
if (is_string($value)) {
|
|
376
339
|
if (strpos($value, \'{{\') === false) {
|
|
377
340
|
return $value;
|
|
@@ -384,25 +347,7 @@ class Compiler
|
|
|
384
347
|
}
|
|
385
348
|
|
|
386
349
|
if (!empty($value)) {
|
|
387
|
-
$values = $this->isIterable($value) ? $value :
|
|
388
|
-
foreach ($values as $value) {
|
|
389
|
-
$context->push($value);
|
|
390
|
-
%s
|
|
391
|
-
$context->pop();
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
return $buffer;
|
|
396
|
-
}
|
|
397
|
-
';
|
|
398
|
-
|
|
399
|
-
const SECTION_NO_LAMBDAS = '
|
|
400
|
-
private function section%s(\\Mustache\\Context $context, $indent, $value)
|
|
401
|
-
{
|
|
402
|
-
$buffer = \'\';
|
|
403
|
-
|
|
404
|
-
if (!empty($value)) {
|
|
405
|
-
$values = $this->isIterable($value) ? $value : [$value];
|
|
350
|
+
$values = $this->isIterable($value) ? $value : array($value);
|
|
406
351
|
foreach ($values as $value) {
|
|
407
352
|
$context->push($value);
|
|
408
353
|
%s
|
|
@@ -428,7 +373,7 @@ class Compiler
|
|
|
428
373
|
*
|
|
429
374
|
* @return string Generated section PHP source code
|
|
430
375
|
*/
|
|
431
|
-
private function section(
|
|
376
|
+
private function section($nodes, $id, $filters, $start, $end, $otag, $ctag, $level)
|
|
432
377
|
{
|
|
433
378
|
$source = var_export(substr($this->source, $start, $end - $start), true);
|
|
434
379
|
$callable = $this->getCallable();
|
|
@@ -445,11 +390,7 @@ class Compiler
|
|
|
445
390
|
$key = ucfirst(md5($delims . "\n" . $source));
|
|
446
391
|
|
|
447
392
|
if (!isset($this->sections[$key])) {
|
|
448
|
-
|
|
449
|
-
$this->sections[$key] = sprintf($this->prepare(self::SECTION), $key, $callable, $source, $helper, $delims, $this->walk($nodes, 2));
|
|
450
|
-
} else {
|
|
451
|
-
$this->sections[$key] = sprintf($this->prepare(self::SECTION_NO_LAMBDAS), $key, $this->walk($nodes, 2));
|
|
452
|
-
}
|
|
393
|
+
$this->sections[$key] = sprintf($this->prepare(self::SECTION), $key, $callable, $source, $helper, $delims, $this->walk($nodes, 2));
|
|
453
394
|
}
|
|
454
395
|
|
|
455
396
|
$method = $this->getFindMethod($id);
|
|
@@ -477,7 +418,7 @@ class Compiler
|
|
|
477
418
|
*
|
|
478
419
|
* @return string Generated inverted section PHP source code
|
|
479
420
|
*/
|
|
480
|
-
private function invertedSection(
|
|
421
|
+
private function invertedSection($nodes, $id, $filters, $level)
|
|
481
422
|
{
|
|
482
423
|
$method = $this->getFindMethod($id);
|
|
483
424
|
$id = var_export($id, true);
|
|
@@ -546,8 +487,8 @@ class Compiler
|
|
|
546
487
|
|
|
547
488
|
const PARENT = '
|
|
548
489
|
if ($parent = $this->mustache->loadPartial(%s)) {
|
|
549
|
-
$context->pushBlockContext(
|
|
550
|
-
|
|
490
|
+
$context->pushBlockContext(array(%s
|
|
491
|
+
));
|
|
551
492
|
$buffer .= $parent->renderInternal($context, $indent);
|
|
552
493
|
$context->popBlockContext();
|
|
553
494
|
}
|
|
@@ -572,7 +513,7 @@ class Compiler
|
|
|
572
513
|
*/
|
|
573
514
|
private function parent($id, $dynamic, $indent, array $children, $level)
|
|
574
515
|
{
|
|
575
|
-
$realChildren = array_filter($children,
|
|
516
|
+
$realChildren = array_filter($children, array(__CLASS__, 'onlyBlockArgs'));
|
|
576
517
|
$partialName = $this->resolveDynamicName($id, $dynamic);
|
|
577
518
|
|
|
578
519
|
if (empty($realChildren)) {
|
|
@@ -589,11 +530,13 @@ class Compiler
|
|
|
589
530
|
/**
|
|
590
531
|
* Helper method for filtering out non-block-arg tokens.
|
|
591
532
|
*
|
|
533
|
+
* @param array $node
|
|
534
|
+
*
|
|
592
535
|
* @return bool True if $node is a block arg token
|
|
593
536
|
*/
|
|
594
537
|
private static function onlyBlockArgs(array $node)
|
|
595
538
|
{
|
|
596
|
-
return $node[
|
|
539
|
+
return $node[Mustache_Tokenizer::TYPE] === Mustache_Tokenizer::T_BLOCK_ARG;
|
|
597
540
|
}
|
|
598
541
|
|
|
599
542
|
const VARIABLE = '
|
|
@@ -625,7 +568,7 @@ class Compiler
|
|
|
625
568
|
const FILTER = '
|
|
626
569
|
$filter = $context->%s(%s%s);
|
|
627
570
|
if (!(%s)) {
|
|
628
|
-
throw new
|
|
571
|
+
throw new Mustache_Exception_UnknownFilterException(%s);
|
|
629
572
|
}
|
|
630
573
|
$value = call_user_func($filter, %s);%s
|
|
631
574
|
';
|
|
@@ -639,7 +582,7 @@ class Compiler
|
|
|
639
582
|
*
|
|
640
583
|
* @param string[] $filters Array of filters
|
|
641
584
|
* @param int $level
|
|
642
|
-
* @param bool $first
|
|
585
|
+
* @param bool $first (default: false)
|
|
643
586
|
*
|
|
644
587
|
* @return string Generated filter PHP source
|
|
645
588
|
*/
|
|
@@ -727,9 +670,9 @@ class Compiler
|
|
|
727
670
|
*
|
|
728
671
|
* The return value will be one of `find`, `findDot`, `findAnchoredDot` or `last`.
|
|
729
672
|
*
|
|
730
|
-
* @see
|
|
731
|
-
* @see
|
|
732
|
-
* @see
|
|
673
|
+
* @see Mustache_Context::find
|
|
674
|
+
* @see Mustache_Context::findDot
|
|
675
|
+
* @see Mustache_Context::last
|
|
733
676
|
*
|
|
734
677
|
* @param string $id Variable name
|
|
735
678
|
*
|
|
@@ -741,7 +684,7 @@ class Compiler
|
|
|
741
684
|
return 'last';
|
|
742
685
|
}
|
|
743
686
|
|
|
744
|
-
if (isset($this->pragmas[
|
|
687
|
+
if (isset($this->pragmas[Mustache_Engine::PRAGMA_ANCHORED_DOT]) && $this->pragmas[Mustache_Engine::PRAGMA_ANCHORED_DOT]) {
|
|
745
688
|
if (substr($id, 0, 1) === '.') {
|
|
746
689
|
return 'findAnchoredDot';
|
|
747
690
|
}
|
|
@@ -3,23 +3,19 @@
|
|
|
3
3
|
/*
|
|
4
4
|
* This file is part of Mustache.php.
|
|
5
5
|
*
|
|
6
|
-
* (c) 2010-
|
|
6
|
+
* (c) 2010-2017 Justin Hileman
|
|
7
7
|
*
|
|
8
8
|
* For the full copyright and license information, please view the LICENSE
|
|
9
9
|
* file that was distributed with this source code.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
namespace Mustache;
|
|
13
|
-
|
|
14
|
-
use Mustache\Exception\InvalidArgumentException;
|
|
15
|
-
|
|
16
12
|
/**
|
|
17
13
|
* Mustache Template rendering Context.
|
|
18
14
|
*/
|
|
19
|
-
class
|
|
15
|
+
class Mustache_Context
|
|
20
16
|
{
|
|
21
|
-
private $stack =
|
|
22
|
-
private $blockStack =
|
|
17
|
+
private $stack = array();
|
|
18
|
+
private $blockStack = array();
|
|
23
19
|
|
|
24
20
|
private $buggyPropertyShadowing = false;
|
|
25
21
|
|
|
@@ -27,12 +23,12 @@ class Context
|
|
|
27
23
|
* Mustache rendering Context constructor.
|
|
28
24
|
*
|
|
29
25
|
* @param mixed $context Default rendering context (default: null)
|
|
30
|
-
* @param bool $buggyPropertyShadowing See
|
|
26
|
+
* @param bool $buggyPropertyShadowing See Mustache_Engine::useBuggyPropertyShadowing (default: false)
|
|
31
27
|
*/
|
|
32
28
|
public function __construct($context = null, $buggyPropertyShadowing = false)
|
|
33
29
|
{
|
|
34
30
|
if ($context !== null) {
|
|
35
|
-
$this->stack =
|
|
31
|
+
$this->stack = array($context);
|
|
36
32
|
}
|
|
37
33
|
|
|
38
34
|
$this->buggyPropertyShadowing = $buggyPropertyShadowing;
|
|
@@ -115,12 +111,12 @@ class Context
|
|
|
115
111
|
* the initial chunk of the dotted name, each subsequent chunk is searched for only within the value of the previous
|
|
116
112
|
* result. For example, given the following context stack:
|
|
117
113
|
*
|
|
118
|
-
* $data =
|
|
114
|
+
* $data = array(
|
|
119
115
|
* 'name' => 'Fred',
|
|
120
|
-
* 'child' =>
|
|
116
|
+
* 'child' => array(
|
|
121
117
|
* 'name' => 'Bob'
|
|
122
|
-
*
|
|
123
|
-
*
|
|
118
|
+
* ),
|
|
119
|
+
* );
|
|
124
120
|
*
|
|
125
121
|
* ... and the Mustache following template:
|
|
126
122
|
*
|
|
@@ -154,7 +150,7 @@ class Context
|
|
|
154
150
|
return $value;
|
|
155
151
|
}
|
|
156
152
|
|
|
157
|
-
$value = $this->findVariableInStack($chunk,
|
|
153
|
+
$value = $this->findVariableInStack($chunk, array($value));
|
|
158
154
|
}
|
|
159
155
|
|
|
160
156
|
return $value;
|
|
@@ -167,9 +163,9 @@ class Context
|
|
|
167
163
|
* stack for the first value, rather than searching the whole context stack
|
|
168
164
|
* and starting from there.
|
|
169
165
|
*
|
|
170
|
-
* @see
|
|
166
|
+
* @see Mustache_Context::findDot
|
|
171
167
|
*
|
|
172
|
-
* @throws
|
|
168
|
+
* @throws Mustache_Exception_InvalidArgumentException if given an invalid anchored dot $id
|
|
173
169
|
*
|
|
174
170
|
* @param string $id Dotted variable selector
|
|
175
171
|
*
|
|
@@ -180,7 +176,7 @@ class Context
|
|
|
180
176
|
$chunks = explode('.', $id);
|
|
181
177
|
$first = array_shift($chunks);
|
|
182
178
|
if ($first !== '') {
|
|
183
|
-
throw new
|
|
179
|
+
throw new Mustache_Exception_InvalidArgumentException(sprintf('Unexpected id for findAnchoredDot: %s', $id));
|
|
184
180
|
}
|
|
185
181
|
|
|
186
182
|
$value = $this->last();
|
|
@@ -190,7 +186,7 @@ class Context
|
|
|
190
186
|
return $value;
|
|
191
187
|
}
|
|
192
188
|
|
|
193
|
-
$value = $this->findVariableInStack($chunk,
|
|
189
|
+
$value = $this->findVariableInStack($chunk, array($value));
|
|
194
190
|
}
|
|
195
191
|
|
|
196
192
|
return $value;
|
|
@@ -217,7 +213,7 @@ class Context
|
|
|
217
213
|
/**
|
|
218
214
|
* Helper function to find a variable in the Context stack.
|
|
219
215
|
*
|
|
220
|
-
* @see
|
|
216
|
+
* @see Mustache_Context::find
|
|
221
217
|
*
|
|
222
218
|
* @param string $id Variable name
|
|
223
219
|
* @param array $stack Context stack
|
|
@@ -231,7 +227,7 @@ class Context
|
|
|
231
227
|
|
|
232
228
|
switch (gettype($frame)) {
|
|
233
229
|
case 'object':
|
|
234
|
-
if (!($frame instanceof
|
|
230
|
+
if (!($frame instanceof Closure)) {
|
|
235
231
|
// Note that is_callable() *will not work here*
|
|
236
232
|
// See https://github.com/bobthecow/mustache.php/wiki/Magic-Methods
|
|
237
233
|
if (method_exists($frame, $id)) {
|
|
@@ -246,7 +242,7 @@ class Context
|
|
|
246
242
|
// Mustache.php <= 2.14.2
|
|
247
243
|
// See https://github.com/bobthecow/mustache.php/pull/410
|
|
248
244
|
if ($this->buggyPropertyShadowing) {
|
|
249
|
-
if ($frame instanceof
|
|
245
|
+
if ($frame instanceof ArrayAccess && isset($frame[$id])) {
|
|
250
246
|
return $frame[$id];
|
|
251
247
|
}
|
|
252
248
|
} else {
|
|
@@ -257,7 +253,7 @@ class Context
|
|
|
257
253
|
}
|
|
258
254
|
}
|
|
259
255
|
|
|
260
|
-
if ($frame instanceof
|
|
256
|
+
if ($frame instanceof ArrayAccess && $frame->offsetExists($id)) {
|
|
261
257
|
return $frame[$id];
|
|
262
258
|
}
|
|
263
259
|
}
|