Changeset 2612549
- Timestamp:
- 10/11/2021 02:07:03 PM (4 years ago)
- Location:
- astrology
- Files:
-
- 14 added
- 110 edited
- 1 copied
-
tags/1.0.5 (copied) (copied from astrology/trunk)
-
tags/1.0.5/assets/dist/js/main.js (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/autoload.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/composer/autoload_classmap.php (modified) (3 diffs)
-
tags/1.0.5/dependencies/vendor/composer/autoload_files.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/composer/autoload_real.php (modified) (3 diffs)
-
tags/1.0.5/dependencies/vendor/composer/autoload_static.php (modified) (5 diffs)
-
tags/1.0.5/dependencies/vendor/prokerala/astrology-sdk/src/Api/Astrology/Transformer.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/psr/container/src/ContainerExceptionInterface.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/psr/container/src/ContainerInterface.php (modified) (3 diffs)
-
tags/1.0.5/dependencies/vendor/psr/container/src/NotFoundExceptionInterface.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/psr/log/Psr/Log/AbstractLogger.php (modified) (8 diffs)
-
tags/1.0.5/dependencies/vendor/psr/log/Psr/Log/LoggerAwareTrait.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/slim/psr7/src/Factory/StreamFactory.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/slim/psr7/src/Headers.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/slim/psr7/src/Uri.php (modified) (4 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/AbstractAdapter.php (modified) (5 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/AbstractTagAwareAdapter.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/ArrayAdapter.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/FilesystemTagAwareAdapter.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/NullAdapter.php (modified) (3 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/ProxyAdapter.php (modified) (3 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/Psr16Adapter.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/RedisAdapter.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/RedisTagAwareAdapter.php (modified) (11 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/TagAwareAdapter.php (modified) (5 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/CacheItem.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/symfony/cache/DependencyInjection/CachePoolPass.php (modified) (3 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/DoctrineProvider.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/symfony/cache/LockRegistry.php (modified) (3 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Marshaller/TagAwareMarshaller.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Psr16Cache.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Simple/AbstractCache.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Simple/RedisCache.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Traits/AbstractAdapterTrait.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Traits/ApcuTrait.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Traits/ArrayTrait.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Traits/FilesystemCommonTrait.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Traits/MemcachedTrait.php (modified) (2 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Traits/PdoTrait.php (modified) (9 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Traits/RedisClusterNodeProxy.php (added)
-
tags/1.0.5/dependencies/vendor/symfony/cache/Traits/RedisTrait.php (modified) (16 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/options-resolver/OptionsResolver.php (modified) (10 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/polyfill-php73 (added)
-
tags/1.0.5/dependencies/vendor/symfony/polyfill-php73/Php73.php (added)
-
tags/1.0.5/dependencies/vendor/symfony/polyfill-php73/Resources (added)
-
tags/1.0.5/dependencies/vendor/symfony/polyfill-php73/Resources/stubs (added)
-
tags/1.0.5/dependencies/vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php (added)
-
tags/1.0.5/dependencies/vendor/symfony/polyfill-php73/bootstrap.php (added)
-
tags/1.0.5/dependencies/vendor/symfony/polyfill-php80/bootstrap.php (modified) (1 diff)
-
tags/1.0.5/dependencies/vendor/symfony/var-exporter/Internal/Exporter.php (modified) (11 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/var-exporter/Internal/Hydrator.php (modified) (3 diffs)
-
tags/1.0.5/dependencies/vendor/symfony/var-exporter/VarExporter.php (modified) (1 diff)
-
tags/1.0.5/readme.txt (modified) (2 diffs)
-
tags/1.0.5/src/Admin/SettingsPage.php (modified) (2 diffs)
-
tags/1.0.5/src/Block.php (modified) (1 diff)
-
tags/1.0.5/src/vendor/autoload.php (modified) (1 diff)
-
tags/1.0.5/src/vendor/composer/autoload_real.php (modified) (3 diffs)
-
tags/1.0.5/src/vendor/composer/autoload_static.php (modified) (2 diffs)
-
tags/1.0.5/templates/front/form/horoscope-form.tpl.php (modified) (1 diff)
-
tags/1.0.5/templates/front/form/horoscope-matching-form.tpl.php (modified) (2 diffs)
-
tags/1.0.5/templates/front/form/panchang-form.tpl.php (modified) (1 diff)
-
tags/1.0.5/templates/front/result/panchang.tpl.php (modified) (1 diff)
-
trunk/assets/dist/js/main.js (modified) (1 diff)
-
trunk/dependencies/vendor/autoload.php (modified) (1 diff)
-
trunk/dependencies/vendor/composer/autoload_classmap.php (modified) (3 diffs)
-
trunk/dependencies/vendor/composer/autoload_files.php (modified) (1 diff)
-
trunk/dependencies/vendor/composer/autoload_real.php (modified) (3 diffs)
-
trunk/dependencies/vendor/composer/autoload_static.php (modified) (5 diffs)
-
trunk/dependencies/vendor/prokerala/astrology-sdk/src/Api/Astrology/Transformer.php (modified) (1 diff)
-
trunk/dependencies/vendor/psr/container/src/ContainerExceptionInterface.php (modified) (1 diff)
-
trunk/dependencies/vendor/psr/container/src/ContainerInterface.php (modified) (3 diffs)
-
trunk/dependencies/vendor/psr/container/src/NotFoundExceptionInterface.php (modified) (1 diff)
-
trunk/dependencies/vendor/psr/log/Psr/Log/AbstractLogger.php (modified) (8 diffs)
-
trunk/dependencies/vendor/psr/log/Psr/Log/LoggerAwareTrait.php (modified) (1 diff)
-
trunk/dependencies/vendor/slim/psr7/src/Factory/StreamFactory.php (modified) (2 diffs)
-
trunk/dependencies/vendor/slim/psr7/src/Headers.php (modified) (2 diffs)
-
trunk/dependencies/vendor/slim/psr7/src/Uri.php (modified) (4 diffs)
-
trunk/dependencies/vendor/symfony/cache/Adapter/AbstractAdapter.php (modified) (5 diffs)
-
trunk/dependencies/vendor/symfony/cache/Adapter/AbstractTagAwareAdapter.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Adapter/ArrayAdapter.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Adapter/FilesystemTagAwareAdapter.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Adapter/NullAdapter.php (modified) (3 diffs)
-
trunk/dependencies/vendor/symfony/cache/Adapter/ProxyAdapter.php (modified) (3 diffs)
-
trunk/dependencies/vendor/symfony/cache/Adapter/Psr16Adapter.php (modified) (1 diff)
-
trunk/dependencies/vendor/symfony/cache/Adapter/RedisAdapter.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Adapter/RedisTagAwareAdapter.php (modified) (11 diffs)
-
trunk/dependencies/vendor/symfony/cache/Adapter/TagAwareAdapter.php (modified) (5 diffs)
-
trunk/dependencies/vendor/symfony/cache/CacheItem.php (modified) (1 diff)
-
trunk/dependencies/vendor/symfony/cache/DependencyInjection/CachePoolPass.php (modified) (3 diffs)
-
trunk/dependencies/vendor/symfony/cache/DoctrineProvider.php (modified) (1 diff)
-
trunk/dependencies/vendor/symfony/cache/LockRegistry.php (modified) (3 diffs)
-
trunk/dependencies/vendor/symfony/cache/Marshaller/TagAwareMarshaller.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Psr16Cache.php (modified) (1 diff)
-
trunk/dependencies/vendor/symfony/cache/Simple/AbstractCache.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Simple/RedisCache.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Traits/AbstractAdapterTrait.php (modified) (1 diff)
-
trunk/dependencies/vendor/symfony/cache/Traits/ApcuTrait.php (modified) (1 diff)
-
trunk/dependencies/vendor/symfony/cache/Traits/ArrayTrait.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Traits/FilesystemCommonTrait.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Traits/MemcachedTrait.php (modified) (2 diffs)
-
trunk/dependencies/vendor/symfony/cache/Traits/PdoTrait.php (modified) (9 diffs)
-
trunk/dependencies/vendor/symfony/cache/Traits/RedisClusterNodeProxy.php (added)
-
trunk/dependencies/vendor/symfony/cache/Traits/RedisTrait.php (modified) (16 diffs)
-
trunk/dependencies/vendor/symfony/options-resolver/OptionsResolver.php (modified) (10 diffs)
-
trunk/dependencies/vendor/symfony/polyfill-php73 (added)
-
trunk/dependencies/vendor/symfony/polyfill-php73/Php73.php (added)
-
trunk/dependencies/vendor/symfony/polyfill-php73/Resources (added)
-
trunk/dependencies/vendor/symfony/polyfill-php73/Resources/stubs (added)
-
trunk/dependencies/vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php (added)
-
trunk/dependencies/vendor/symfony/polyfill-php73/bootstrap.php (added)
-
trunk/dependencies/vendor/symfony/polyfill-php80/bootstrap.php (modified) (1 diff)
-
trunk/dependencies/vendor/symfony/var-exporter/Internal/Exporter.php (modified) (11 diffs)
-
trunk/dependencies/vendor/symfony/var-exporter/Internal/Hydrator.php (modified) (3 diffs)
-
trunk/dependencies/vendor/symfony/var-exporter/VarExporter.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/src/Admin/SettingsPage.php (modified) (2 diffs)
-
trunk/src/Block.php (modified) (1 diff)
-
trunk/src/vendor/autoload.php (modified) (1 diff)
-
trunk/src/vendor/composer/autoload_real.php (modified) (3 diffs)
-
trunk/src/vendor/composer/autoload_static.php (modified) (2 diffs)
-
trunk/templates/front/form/horoscope-form.tpl.php (modified) (1 diff)
-
trunk/templates/front/form/horoscope-matching-form.tpl.php (modified) (2 diffs)
-
trunk/templates/front/form/panchang-form.tpl.php (modified) (1 diff)
-
trunk/templates/front/result/panchang.tpl.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
astrology/tags/1.0.5/assets/dist/js/main.js
r2513947 r2612549 27 27 /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 28 28 29 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Main\": function() { return /* binding */ Main; }\n/* harmony export */ });\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n * Class Main.\n *\n * @since 1.0.0\n */\nvar Main = /*#__PURE__*/function () {\n /**\n * Main constructor.\n *\n * @since 1.0.0\n */\n function Main() {\n _classCallCheck(this, Main);\n\n var inputs = document.querySelectorAll('.prokerala-location-input');\n this.register(inputs);\n }\n\n _createClass(Main, [{\n key: \"register\",\n value: function register(inputs) {\n _toConsumableArray(inputs).map(function (input) {\n var inputPrefix = input.dataset.location_input_prefix ? input.dataset.location_input_prefix : '';\n new LocationSearch(input, function (data) {\n var hiddenDiv = document.getElementById('form-hidden-fields');\n var coordinates = document.createElement('input');\n coordinates.name = inputPrefix + 'coordinates';\n coordinates.type = 'hidden';\n coordinates.value = \"\".concat(data.latitude, \",\").concat(data.longitude);\n var timezone = document.createElement('input');\n timezone.name = inputPrefix + 'timezone';\n timezone.type = 'hidden';\n timezone.value = data.timezone;\n hiddenDiv.appendChild(coordinates);\n hiddenDiv.appendChild(timezone);\n }, {\n clientId: CLIENT_ID,\n persistKey: inputPrefix\n });\n });\n }\n }]);\n\n return Main;\n}();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hc3NldHMvc3JjL2pzL2Zyb250L21haW4vbWFpbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL2FzdHJvbG9neS8uL2Fzc2V0cy9zcmMvanMvZnJvbnQvbWFpbi9tYWluLmpzP2Q3MDAiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikgeyByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikgeyBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXIpKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShhcnIpOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qKlxuICogQ2xhc3MgTWFpbi5cbiAqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IHZhciBNYWluID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIE1haW4gY29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBzaW5jZSAxLjAuMFxuICAgKi9cbiAgZnVuY3Rpb24gTWFpbigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTWFpbik7XG5cbiAgICB2YXIgaW5wdXRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnByb2tlcmFsYS1sb2NhdGlvbi1pbnB1dCcpO1xuICAgIHRoaXMucmVnaXN0ZXIoaW5wdXRzKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhNYWluLCBbe1xuICAgIGtleTogXCJyZWdpc3RlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZWdpc3RlcihpbnB1dHMpIHtcbiAgICAgIF90b0NvbnN1bWFibGVBcnJheShpbnB1dHMpLm1hcChmdW5jdGlvbiAoaW5wdXQpIHtcbiAgICAgICAgdmFyIGlucHV0UHJlZml4ID0gaW5wdXQuZGF0YXNldC5sb2NhdGlvbl9pbnB1dF9wcmVmaXggPyBpbnB1dC5kYXRhc2V0LmxvY2F0aW9uX2lucHV0X3ByZWZpeCA6ICcnO1xuICAgICAgICBuZXcgTG9jYXRpb25TZWFyY2goaW5wdXQsIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgdmFyIGhpZGRlbkRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtLWhpZGRlbi1maWVsZHMnKTtcbiAgICAgICAgICB2YXIgY29vcmRpbmF0ZXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgIGNvb3JkaW5hdGVzLm5hbWUgPSBpbnB1dFByZWZpeCArICdjb29yZGluYXRlcyc7XG4gICAgICAgICAgY29vcmRpbmF0ZXMudHlwZSA9ICdoaWRkZW4nO1xuICAgICAgICAgIGNvb3JkaW5hdGVzLnZhbHVlID0gXCJcIi5jb25jYXQoZGF0YS5sYXRpdHVkZSwgXCIsXCIpLmNvbmNhdChkYXRhLmxvbmdpdHVkZSk7XG4gICAgICAgICAgdmFyIHRpbWV6b25lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICB0aW1lem9uZS5uYW1lID0gaW5wdXRQcmVmaXggKyAndGltZXpvbmUnO1xuICAgICAgICAgIHRpbWV6b25lLnR5cGUgPSAnaGlkZGVuJztcbiAgICAgICAgICB0aW1lem9uZS52YWx1ZSA9IGRhdGEudGltZXpvbmU7XG4gICAgICAgICAgaGlkZGVuRGl2LmFwcGVuZENoaWxkKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgICBoaWRkZW5EaXYuYXBwZW5kQ2hpbGQodGltZXpvbmUpO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgY2xpZW50SWQ6IENMSUVOVF9JRCxcbiAgICAgICAgICBwZXJzaXN0S2V5OiBpbnB1dFByZWZpeFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBNYWluO1xufSgpOyJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./assets/src/js/front/main/main.js\n");29 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Main\": function() { return /* binding */ Main; }\n/* harmony export */ });\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n * Class Main.\n *\n * @since 1.0.0\n */\nvar Main = /*#__PURE__*/function () {\n /**\n * Main constructor.\n *\n * @since 1.0.0\n */\n function Main() {\n _classCallCheck(this, Main);\n\n var inputs = document.querySelectorAll('.prokerala-location-input');\n this.register(inputs);\n }\n\n _createClass(Main, [{\n key: \"register\",\n value: function register(inputs) {\n _toConsumableArray(inputs).map(function (input) {\n var inputPrefix = input.dataset.location_input_prefix ? input.dataset.location_input_prefix + '_' : '';\n new LocationSearch(input, function (data) {\n var hiddenDiv = document.getElementById('form-hidden-fields');\n var coordinates = document.createElement('input');\n coordinates.name = inputPrefix + 'coordinates';\n coordinates.type = 'hidden';\n coordinates.value = \"\".concat(data.latitude, \",\").concat(data.longitude);\n var timezone = document.createElement('input');\n timezone.name = inputPrefix + 'timezone';\n timezone.type = 'hidden';\n timezone.value = data.timezone;\n hiddenDiv.appendChild(coordinates);\n hiddenDiv.appendChild(timezone);\n }, {\n clientId: CLIENT_ID,\n persistKey: \"\".concat(inputPrefix, \"loc\")\n });\n });\n }\n }]);\n\n return Main;\n}();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hc3NldHMvc3JjL2pzL2Zyb250L21haW4vbWFpbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL2FzdHJvbG9neS8uL2Fzc2V0cy9zcmMvanMvZnJvbnQvbWFpbi9tYWluLmpzP2Q3MDAiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikgeyByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikgeyBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXIpKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShhcnIpOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qKlxuICogQ2xhc3MgTWFpbi5cbiAqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IHZhciBNYWluID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIE1haW4gY29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBzaW5jZSAxLjAuMFxuICAgKi9cbiAgZnVuY3Rpb24gTWFpbigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTWFpbik7XG5cbiAgICB2YXIgaW5wdXRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnByb2tlcmFsYS1sb2NhdGlvbi1pbnB1dCcpO1xuICAgIHRoaXMucmVnaXN0ZXIoaW5wdXRzKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhNYWluLCBbe1xuICAgIGtleTogXCJyZWdpc3RlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZWdpc3RlcihpbnB1dHMpIHtcbiAgICAgIF90b0NvbnN1bWFibGVBcnJheShpbnB1dHMpLm1hcChmdW5jdGlvbiAoaW5wdXQpIHtcbiAgICAgICAgdmFyIGlucHV0UHJlZml4ID0gaW5wdXQuZGF0YXNldC5sb2NhdGlvbl9pbnB1dF9wcmVmaXggPyBpbnB1dC5kYXRhc2V0LmxvY2F0aW9uX2lucHV0X3ByZWZpeCArICdfJyA6ICcnO1xuICAgICAgICBuZXcgTG9jYXRpb25TZWFyY2goaW5wdXQsIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgdmFyIGhpZGRlbkRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtLWhpZGRlbi1maWVsZHMnKTtcbiAgICAgICAgICB2YXIgY29vcmRpbmF0ZXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgIGNvb3JkaW5hdGVzLm5hbWUgPSBpbnB1dFByZWZpeCArICdjb29yZGluYXRlcyc7XG4gICAgICAgICAgY29vcmRpbmF0ZXMudHlwZSA9ICdoaWRkZW4nO1xuICAgICAgICAgIGNvb3JkaW5hdGVzLnZhbHVlID0gXCJcIi5jb25jYXQoZGF0YS5sYXRpdHVkZSwgXCIsXCIpLmNvbmNhdChkYXRhLmxvbmdpdHVkZSk7XG4gICAgICAgICAgdmFyIHRpbWV6b25lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICB0aW1lem9uZS5uYW1lID0gaW5wdXRQcmVmaXggKyAndGltZXpvbmUnO1xuICAgICAgICAgIHRpbWV6b25lLnR5cGUgPSAnaGlkZGVuJztcbiAgICAgICAgICB0aW1lem9uZS52YWx1ZSA9IGRhdGEudGltZXpvbmU7XG4gICAgICAgICAgaGlkZGVuRGl2LmFwcGVuZENoaWxkKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgICBoaWRkZW5EaXYuYXBwZW5kQ2hpbGQodGltZXpvbmUpO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgY2xpZW50SWQ6IENMSUVOVF9JRCxcbiAgICAgICAgICBwZXJzaXN0S2V5OiBcIlwiLmNvbmNhdChpbnB1dFByZWZpeCwgXCJsb2NcIilcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gTWFpbjtcbn0oKTsiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./assets/src/js/front/main/main.js\n"); 30 30 31 31 /***/ }) -
astrology/tags/1.0.5/dependencies/vendor/autoload.php
r2516408 r2612549 5 5 require_once __DIR__ . '/composer/autoload_real.php'; 6 6 7 return ComposerAutoloaderInit b7b83f594773eb9c7444f58dd4447ff2::getLoader();7 return ComposerAutoloaderInit16dece52f7a59be557a72d427533fae0::getLoader(); -
astrology/tags/1.0.5/dependencies/vendor/composer/autoload_classmap.php
r2513947 r2612549 154 154 'Prokerala\\Astrology\\Vendor\\Http\\Promise\\Promise' => $vendorDir . '/php-http/promise/src/Promise.php', 155 155 'Prokerala\\Astrology\\Vendor\\Http\\Promise\\RejectedPromise' => $vendorDir . '/php-http/promise/src/RejectedPromise.php', 156 'Prokerala\\Astrology\\Vendor\\JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', 156 157 'Prokerala\\Astrology\\Vendor\\Slim\\Psr7\\Cookies' => $vendorDir . '/slim/psr7/src/Cookies.php', 157 158 'Prokerala\\Astrology\\Vendor\\Slim\\Psr7\\Environment' => $vendorDir . '/slim/psr7/src/Environment.php', … … 244 245 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => $vendorDir . '/symfony/cache/Traits/PhpFilesTrait.php', 245 246 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\ProxyTrait' => $vendorDir . '/symfony/cache/Traits/ProxyTrait.php', 247 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterNodeProxy.php', 246 248 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterProxy.php', 247 249 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisProxy' => $vendorDir . '/symfony/cache/Traits/RedisProxy.php', … … 280 282 'Prokerala\\Astrology\\Vendor\\Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberTrait.php', 281 283 'Prokerala\\Astrology\\Vendor\\Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => $vendorDir . '/symfony/service-contracts/Test/ServiceLocatorTest.php', 284 'Prokerala\\Astrology\\Vendor\\Symfony\\Polyfill\\Php73\\Php73' => $vendorDir . '/symfony/polyfill-php73/Php73.php', 282 285 'Prokerala\\Astrology\\Vendor\\Symfony\\Polyfill\\Php80\\Php80' => $vendorDir . '/symfony/polyfill-php80/Php80.php', 283 286 'Prokerala\\Astrology\\Vendor\\UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', -
astrology/tags/1.0.5/dependencies/vendor/composer/autoload_files.php
r2513947 r2612549 7 7 8 8 return array( 9 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', 10 '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', 9 11 '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php', 10 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',11 12 ); -
astrology/tags/1.0.5/dependencies/vendor/composer/autoload_real.php
r2516408 r2612549 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit b7b83f594773eb9c7444f58dd4447ff25 class ComposerAutoloaderInit16dece52f7a59be557a72d427533fae0 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit b7b83f594773eb9c7444f58dd4447ff2', 'loadClassLoader'), true, true);25 spl_autoload_register(array('ComposerAutoloaderInit16dece52f7a59be557a72d427533fae0', 'loadClassLoader'), true, true); 26 26 self::$loader = $loader = new \Prokerala_WP_Astrology_Composer\Autoload\ClassLoader(); 27 spl_autoload_unregister(array('ComposerAutoloaderInit b7b83f594773eb9c7444f58dd4447ff2', 'loadClassLoader'));27 spl_autoload_unregister(array('ComposerAutoloaderInit16dece52f7a59be557a72d427533fae0', 'loadClassLoader')); 28 28 29 29 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); … … 31 31 require_once __DIR__ . '/autoload_static.php'; 32 32 33 call_user_func(\Prokerala_WP_Astrology_Composer\Autoload\ComposerStaticInit b7b83f594773eb9c7444f58dd4447ff2::getInitializer($loader));33 call_user_func(\Prokerala_WP_Astrology_Composer\Autoload\ComposerStaticInit16dece52f7a59be557a72d427533fae0::getInitializer($loader)); 34 34 } else { 35 35 $classMap = require __DIR__ . '/autoload_classmap.php'; -
astrology/tags/1.0.5/dependencies/vendor/composer/autoload_static.php
r2516408 r2612549 5 5 namespace Prokerala_WP_Astrology_Composer\Autoload; 6 6 7 class ComposerStaticInit b7b83f594773eb9c7444f58dd4447ff27 class ComposerStaticInit16dece52f7a59be557a72d427533fae0 8 8 { 9 9 public static $classMap = array ( … … 155 155 'Prokerala\\Astrology\\Vendor\\Http\\Promise\\Promise' => __DIR__ . '/..' . '/php-http/promise/src/Promise.php', 156 156 'Prokerala\\Astrology\\Vendor\\Http\\Promise\\RejectedPromise' => __DIR__ . '/..' . '/php-http/promise/src/RejectedPromise.php', 157 'Prokerala\\Astrology\\Vendor\\JsonException' => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', 157 158 'Prokerala\\Astrology\\Vendor\\Slim\\Psr7\\Cookies' => __DIR__ . '/..' . '/slim/psr7/src/Cookies.php', 158 159 'Prokerala\\Astrology\\Vendor\\Slim\\Psr7\\Environment' => __DIR__ . '/..' . '/slim/psr7/src/Environment.php', … … 245 246 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpFilesTrait.php', 246 247 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\ProxyTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ProxyTrait.php', 248 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterNodeProxy.php', 247 249 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterProxy.php', 248 250 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisProxy.php', … … 281 283 'Prokerala\\Astrology\\Vendor\\Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberTrait.php', 282 284 'Prokerala\\Astrology\\Vendor\\Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => __DIR__ . '/..' . '/symfony/service-contracts/Test/ServiceLocatorTest.php', 285 'Prokerala\\Astrology\\Vendor\\Symfony\\Polyfill\\Php73\\Php73' => __DIR__ . '/..' . '/symfony/polyfill-php73/Php73.php', 283 286 'Prokerala\\Astrology\\Vendor\\Symfony\\Polyfill\\Php80\\Php80' => __DIR__ . '/..' . '/symfony/polyfill-php80/Php80.php', 284 287 'Prokerala\\Astrology\\Vendor\\UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', … … 342 345 { 343 346 return \Closure::bind(function () use ($loader) { 344 $loader->classMap = ComposerStaticInit b7b83f594773eb9c7444f58dd4447ff2::$classMap;347 $loader->classMap = ComposerStaticInit16dece52f7a59be557a72d427533fae0::$classMap; 345 348 346 349 }, null, ClassLoader::class); -
astrology/tags/1.0.5/dependencies/vendor/prokerala/astrology-sdk/src/Api/Astrology/Transformer.php
r2513947 r2612549 110 110 } 111 111 $dataType = $this->getType($paramValue); 112 $paramClass = $param->get Class();112 $paramClass = $param->getType() && !$param->getType()->isBuiltin() ? new \ReflectionClass($param->getType()->getName()) : null; 113 113 if ($paramClass) { 114 114 $paramType = [$paramClass->getName()]; -
astrology/tags/1.0.5/dependencies/vendor/psr/container/src/ContainerExceptionInterface.php
r2513947 r2612549 1 1 <?php 2 2 3 /**4 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)5 */6 3 namespace Psr\Container; 7 4 -
astrology/tags/1.0.5/dependencies/vendor/psr/container/src/ContainerInterface.php
r2513947 r2612549 1 1 <?php 2 2 3 /** 4 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file) 5 */ 3 declare (strict_types=1); 6 4 namespace Psr\Container; 7 5 … … 21 19 * @return mixed Entry. 22 20 */ 23 public function get( $id);21 public function get(string $id); 24 22 /** 25 23 * Returns true if the container can return an entry for the given identifier. … … 33 31 * @return bool 34 32 */ 35 public function has( $id);33 public function has(string $id); 36 34 } -
astrology/tags/1.0.5/dependencies/vendor/psr/container/src/NotFoundExceptionInterface.php
r2513947 r2612549 1 1 <?php 2 2 3 /**4 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)5 */6 3 namespace Psr\Container; 7 4 -
astrology/tags/1.0.5/dependencies/vendor/psr/log/Psr/Log/AbstractLogger.php
r2513947 r2612549 15 15 * System is unusable. 16 16 * 17 * @param string $message18 * @param array$context17 * @param string $message 18 * @param mixed[] $context 19 19 * 20 20 * @return void … … 30 30 * trigger the SMS alerts and wake you up. 31 31 * 32 * @param string $message33 * @param array$context32 * @param string $message 33 * @param mixed[] $context 34 34 * 35 35 * @return void … … 44 44 * Example: Application component unavailable, unexpected exception. 45 45 * 46 * @param string $message47 * @param array$context46 * @param string $message 47 * @param mixed[] $context 48 48 * 49 49 * @return void … … 57 57 * be logged and monitored. 58 58 * 59 * @param string $message60 * @param array$context59 * @param string $message 60 * @param mixed[] $context 61 61 * 62 62 * @return void … … 72 72 * that are not necessarily wrong. 73 73 * 74 * @param string $message75 * @param array$context74 * @param string $message 75 * @param mixed[] $context 76 76 * 77 77 * @return void … … 84 84 * Normal but significant events. 85 85 * 86 * @param string $message87 * @param array$context86 * @param string $message 87 * @param mixed[] $context 88 88 * 89 89 * @return void … … 98 98 * Example: User logs in, SQL logs. 99 99 * 100 * @param string $message101 * @param array$context100 * @param string $message 101 * @param mixed[] $context 102 102 * 103 103 * @return void … … 110 110 * Detailed debug information. 111 111 * 112 * @param string $message113 * @param array$context112 * @param string $message 113 * @param mixed[] $context 114 114 * 115 115 * @return void -
astrology/tags/1.0.5/dependencies/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
r2513947 r2612549 11 11 * The logger instance. 12 12 * 13 * @var LoggerInterface 13 * @var LoggerInterface|null 14 14 */ 15 15 protected $logger; -
astrology/tags/1.0.5/dependencies/vendor/slim/psr7/src/Factory/StreamFactory.php
r2513947 r2612549 21 21 use function rewind; 22 22 use function set_error_handler; 23 use function sprintf;24 23 class StreamFactory implements \Psr\Http\Message\StreamFactoryInterface 25 24 { … … 44 43 public function createStreamFromFile(string $filename, string $mode = 'r', \Psr\Http\Message\StreamInterface $cache = null) : \Psr\Http\Message\StreamInterface 45 44 { 46 // When fopen fails, PHP 7 normally raises a warning. Add an error 47 // handler to check for errors and throw an exception instead. 48 // On PHP 8, exceptions are thrown. 49 $exc = null; 50 // Would not be initialized if fopen throws on PHP >= 8.0 51 $resource = null; 52 $errorHandler = function (string $errorMessage) use($filename, $mode, &$exc) { 53 $exc = new \RuntimeException(\sprintf('Unable to open %s using mode %s: %s', $filename, $mode, $errorMessage)); 54 }; 55 \set_error_handler(function (int $errno, string $errstr) use($errorHandler) { 56 $errorHandler($errstr); 45 \set_error_handler(static function (int $errno, string $errstr) use($filename, $mode) : void { 46 throw new \RuntimeException("Unable to open {$filename} using mode {$mode}: {$errstr}", $errno); 57 47 }); 58 48 try { 59 49 $resource = \fopen($filename, $mode); 60 // @codeCoverageIgnoreStart61 // (Can only be executed in PHP >= 8.0)62 50 } catch (\ValueError $exception) { 63 $errorHandler($exception->getMessage()); 64 } 65 // @codeCoverageIgnoreEnd 66 \restore_error_handler(); 67 if ($exc) { 68 /** @var RuntimeException $exc */ 69 throw $exc; 51 throw new \RuntimeException("Unable to open {$filename} using mode {$mode}: " . $exception->getMessage()); 52 } finally { 53 \restore_error_handler(); 70 54 } 71 55 if (!\is_resource($resource)) { -
astrology/tags/1.0.5/dependencies/vendor/slim/psr7/src/Headers.php
r2513947 r2612549 150 150 protected function parseAuthorizationHeader(array $headers) : array 151 151 { 152 if (!isset($headers['Authorization'])) { 152 $hasAuthorizationHeader = \false; 153 foreach ($headers as $name => $value) { 154 if (\strtolower($name) === 'authorization') { 155 $hasAuthorizationHeader = \true; 156 break; 157 } 158 } 159 if (!$hasAuthorizationHeader) { 153 160 if (isset($this->globals['REDIRECT_HTTP_AUTHORIZATION'])) { 154 161 $headers['Authorization'] = $this->globals['REDIRECT_HTTP_AUTHORIZATION']; … … 242 249 throw new \InvalidArgumentException('Header values must be a string or an array of strings, empty array given.'); 243 250 } 244 $pattern = "@^[ \t!-~ -ÿ]*\$@";251 $pattern = "@^[ \t!-~\x80-\xff]*\$@"; 245 252 foreach ($items as $item) { 246 253 $hasInvalidType = !\is_numeric($item) && !\is_string($item); -
astrology/tags/1.0.5/dependencies/vendor/slim/psr7/src/Uri.php
r2513947 r2612549 26 26 class Uri implements \Psr\Http\Message\UriInterface 27 27 { 28 public const SUPPORTED_SCHEMES = ['' => null, 'http' => 80, 'https' => 443]; 28 29 /** 29 30 * Uri scheme (without "://" suffix) … … 110 111 * 111 112 * @throws InvalidArgumentException If the Uri scheme is not a string. 112 * @throws InvalidArgumentException If Uri scheme is not "", "https", or "http".113 * @throws InvalidArgumentException If Uri scheme is not exists in SUPPORTED_SCHEMES 113 114 */ 114 115 protected function filterScheme($scheme) : string … … 117 118 throw new \InvalidArgumentException('Uri scheme must be a string.'); 118 119 } 119 static $valid = ['' => \true, 'https' => \true, 'http' => \true];120 120 $scheme = \str_replace('://', '', \strtolower($scheme)); 121 if (! isset($valid[$scheme])) {122 throw new \InvalidArgumentException('Uri scheme must be one of: " ", "https", "http"');121 if (!\key_exists($scheme, self::SUPPORTED_SCHEMES)) { 122 throw new \InvalidArgumentException('Uri scheme must be one of: "' . \implode('", "', \array_keys(static::SUPPORTED_SCHEMES)) . '"'); 123 123 } 124 124 return $scheme; … … 243 243 protected function hasStandardPort() : bool 244 244 { 245 return $this->scheme === 'http' && $this->port === 80 || $this->scheme === 'https' && $this->port === 443;245 return static::SUPPORTED_SCHEMES[$this->scheme] === $this->port; 246 246 } 247 247 /** -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/AbstractAdapter.php
r2513947 r2612549 24 24 abstract class AbstractAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AdapterInterface, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\CacheInterface, \Psr\Log\LoggerAwareInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface 25 25 { 26 use AbstractAdapterTrait; 27 use ContractsTrait; 26 28 /** 27 29 * @internal 28 30 */ 29 31 protected const NS_SEPARATOR = ':'; 30 use AbstractAdapterTrait;31 use ContractsTrait;32 32 private static $apcuSupported; 33 33 private static $phpFilesSupported; … … 46 46 // For compactness, these values are packed in the key of an array using 47 47 // magic numbers in the form 9D-..-..-..-..-00-..-..-..-5F 48 if (\is_array($v) && 1 === \count($v) && 10 === \strlen($k = (string) \ key($v)) && "" === $k[0] && "\0" === $k[5] && "_" === $k[9]) {48 if (\is_array($v) && 1 === \count($v) && 10 === \strlen($k = (string) \array_key_first($v)) && "\x9d" === $k[0] && "\x00" === $k[5] && "_" === $k[9]) { 49 49 $item->value = $v[$k]; 50 50 $v = \unpack('Ve/Nc', \substr($k, 1, -1)); … … 73 73 } 74 74 // For compactness, expiry and creation duration are packed in the key of an array, using magic numbers as separators 75 $byLifetime[$ttl][$getId($key)] = $metadata ? [" " . \pack('VN', (int) (0.1 + $metadata[self::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[self::METADATA_CTIME]) . "_" => $item->value] : $item->value;75 $byLifetime[$ttl][$getId($key)] = $metadata ? ["\x9d" . \pack('VN', (int) (0.1 + $metadata[self::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[self::METADATA_CTIME]) . "_" => $item->value] : $item->value; 76 76 } 77 77 return $byLifetime; … … 102 102 return $opcache; 103 103 } 104 $apcu = new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ApcuAdapter($namespace, (int) $defaultLifetime / 5, $version);104 $apcu = new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ApcuAdapter($namespace, \intdiv($defaultLifetime, 5), $version); 105 105 if (null !== $logger) { 106 106 $apcu->setLogger($logger); … … 113 113 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('The "%s()" method expect argument #1 to be string, "%s" given.', __METHOD__, \gettype($dsn))); 114 114 } 115 if ( 0 === \strpos($dsn, 'redis:') || 0 === \strpos($dsn, 'rediss:')) {115 if (\str_starts_with($dsn, 'redis:') || \str_starts_with($dsn, 'rediss:')) { 116 116 return \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\RedisAdapter::createConnection($dsn, $options); 117 117 } 118 if ( 0 === \strpos($dsn, 'memcached:')) {118 if (\str_starts_with($dsn, 'memcached:')) { 119 119 return \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\MemcachedAdapter::createConnection($dsn, $options); 120 120 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/AbstractTagAwareAdapter.php
r2513947 r2612549 33 33 use AbstractAdapterTrait; 34 34 use ContractsTrait; 35 private const TAGS_PREFIX = "\ 0tags\0";35 private const TAGS_PREFIX = "\x00tags\x00"; 36 36 protected function __construct(string $namespace = '', int $defaultLifetime = 0) 37 37 { … … 97 97 } 98 98 $byLifetime[$ttl][$getId($key)] = $value; 99 $item->metadata = $item->newMetadata; 99 100 } 100 101 return $byLifetime; -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/ArrayAdapter.php
r2513947 r2612549 102 102 } 103 103 $item = (array) $item; 104 $key = $item["\ 0*\0key"];105 $value = $item["\ 0*\0value"];106 $expiry = $item["\ 0*\0expiry"];104 $key = $item["\x00*\x00key"]; 105 $value = $item["\x00*\x00value"]; 106 $expiry = $item["\x00*\x00expiry"]; 107 107 if (0 === $expiry) { 108 108 $expiry = \PHP_INT_MAX; … … 119 119 } 120 120 $this->values[$key] = $value; 121 $this->expiries[$key] = null !== $expiry ? $expiry :\PHP_INT_MAX;121 $this->expiries[$key] = $expiry ?? \PHP_INT_MAX; 122 122 return \true; 123 123 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/FilesystemTagAwareAdapter.php
r2513947 r2612549 19 19 * 20 20 * @author Nicolas Grekas <p@tchwork.com> 21 * @author Andr é Rømcke <andre.romcke+symfony@gmail.com>21 * @author André Rømcke <andre.romcke+symfony@gmail.com> 22 22 */ 23 23 class FilesystemTagAwareAdapter extends \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AbstractTagAwareAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface … … 129 129 $meta = \explode("\n", \fread($h, 4096), 3)[2] ?? ''; 130 130 // detect the compact format used in marshall() using magic numbers in the form 9D-..-..-..-..-00-..-..-..-5F 131 if (13 < \strlen($meta) && " " === $meta[0] && "\0" === $meta[5] && "_" === $meta[9]) {132 $meta[9] = "\ 0";131 if (13 < \strlen($meta) && "\x9d" === $meta[0] && "\x00" === $meta[5] && "_" === $meta[9]) { 132 $meta[9] = "\x00"; 133 133 $tagLen = \unpack('Nlen', $meta, 9)['len']; 134 134 $meta = \substr($meta, 13, $tagLen); -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/NullAdapter.php
r2513947 r2612549 97 97 public function save(\Psr\Cache\CacheItemInterface $item) 98 98 { 99 return \ false;99 return \true; 100 100 } 101 101 /** … … 106 106 public function saveDeferred(\Psr\Cache\CacheItemInterface $item) 107 107 { 108 return \ false;108 return \true; 109 109 } 110 110 /** … … 115 115 public function commit() 116 116 { 117 return \ false;117 return \true; 118 118 } 119 119 /** -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/ProxyAdapter.php
r2513947 r2612549 52 52 // For compactness, these values are packed in the key of an array using 53 53 // magic numbers in the form 9D-..-..-..-..-00-..-..-..-5F 54 if (\is_array($v) && 1 === \count($v) && 10 === \strlen($k = (string) \ key($v)) && "" === $k[0] && "\0" === $k[5] && "_" === $k[9]) {54 if (\is_array($v) && 1 === \count($v) && 10 === \strlen($k = (string) \array_key_first($v)) && "\x9d" === $k[0] && "\x00" === $k[5] && "_" === $k[9]) { 55 55 $item->value = $v[$k]; 56 56 $v = \unpack('Ve/Nc', \substr($k, 1, -1)); … … 69 69 static function (\Psr\Cache\CacheItemInterface $innerItem, array $item) { 70 70 // Tags are stored separately, no need to account for them when considering this item's newly set metadata 71 if (isset(($metadata = $item["\ 0*\0newMetadata"])[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS])) {71 if (isset(($metadata = $item["\x00*\x00newMetadata"])[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS])) { 72 72 unset($metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS]); 73 73 } 74 74 if ($metadata) { 75 75 // For compactness, expiry and creation duration are packed in the key of an array, using magic numbers as separators 76 $item["\ 0*\0value"] = ["" . \pack('VN', (int) (0.1 + $metadata[self::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[self::METADATA_CTIME]) . "_" => $item["\0*\0value"]];76 $item["\x00*\x00value"] = ["\x9d" . \pack('VN', (int) (0.1 + $metadata[self::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[self::METADATA_CTIME]) . "_" => $item["\x00*\x00value"]]; 77 77 } 78 $innerItem->set($item["\ 0*\0value"]);79 $innerItem->expiresAt(null !== $item["\ 0*\0expiry"] ? \DateTime::createFromFormat('U.u', \sprintf('%.6F', 0 === $item["\0*\0expiry"] ? \PHP_INT_MAX : $item["\0*\0expiry"])) : null);78 $innerItem->set($item["\x00*\x00value"]); 79 $innerItem->expiresAt(null !== $item["\x00*\x00expiry"] ? \DateTime::createFromFormat('U.u', \sprintf('%.6F', 0 === $item["\x00*\x00expiry"] ? \PHP_INT_MAX : $item["\x00*\x00expiry"])) : null); 80 80 }, 81 81 null, … … 199 199 } 200 200 $item = (array) $item; 201 if (null === $item["\ 0*\0expiry"] && 0 < $this->defaultLifetime) {202 $item["\ 0*\0expiry"] = \microtime(\true) + $this->defaultLifetime;203 } 204 if ($item["\ 0*\0poolHash"] === $this->poolHash && $item["\0*\0innerItem"]) {205 $innerItem = $item["\ 0*\0innerItem"];201 if (null === $item["\x00*\x00expiry"] && 0 < $this->defaultLifetime) { 202 $item["\x00*\x00expiry"] = \microtime(\true) + $this->defaultLifetime; 203 } 204 if ($item["\x00*\x00poolHash"] === $this->poolHash && $item["\x00*\x00innerItem"]) { 205 $innerItem = $item["\x00*\x00innerItem"]; 206 206 } elseif ($this->pool instanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AdapterInterface) { 207 207 // this is an optimization specific for AdapterInterface implementations 208 208 // so we can save a round-trip to the backend by just creating a new item 209 209 $f = $this->createCacheItem; 210 $innerItem = $f($this->namespace . $item["\ 0*\0key"], null);210 $innerItem = $f($this->namespace . $item["\x00*\x00key"], null); 211 211 } else { 212 $innerItem = $this->pool->getItem($this->namespace . $item["\ 0*\0key"]);212 $innerItem = $this->pool->getItem($this->namespace . $item["\x00*\x00key"]); 213 213 } 214 214 ($this->setInnerItem)($innerItem, $item); -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/Psr16Adapter.php
r2513947 r2612549 22 22 class Psr16Adapter extends \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AbstractAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface 23 23 { 24 use ProxyTrait; 24 25 /** 25 26 * @internal 26 27 */ 27 28 protected const NS_SEPARATOR = '_'; 28 use ProxyTrait;29 29 private $miss; 30 30 public function __construct(\Psr\SimpleCache\CacheInterface $pool, string $namespace = '', int $defaultLifetime = 0) -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/RedisAdapter.php
r2513947 r2612549 12 12 13 13 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface; 14 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy; 15 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy; 14 16 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisTrait; 15 17 class RedisAdapter extends \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AbstractAdapter … … 17 19 use RedisTrait; 18 20 /** 19 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface $redisClientThe redis client20 * @param string $namespace The default namespace21 * @param int $defaultLifetime The default lifetime21 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy $redis The redis client 22 * @param string $namespace The default namespace 23 * @param int $defaultLifetime The default lifetime 22 24 */ 23 public function __construct($redis Client, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null)25 public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null) 24 26 { 25 $this->init($redis Client, $namespace, $defaultLifetime, $marshaller);27 $this->init($redis, $namespace, $defaultLifetime, $marshaller); 26 28 } 27 29 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/RedisTagAwareAdapter.php
r2513947 r2612549 13 13 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ClusterInterface; 14 14 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster; 15 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ReplicationInterface; 15 16 use Prokerala\Astrology\Vendor\Predis\Response\Status; 17 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem; 16 18 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException; 17 19 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\LogicException; … … 19 21 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface; 20 22 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\TagAwareMarshaller; 23 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy; 24 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy; 21 25 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisTrait; 22 26 /** 23 * Stores tag id <> cache id relationship as a Redis Set , lookup on invalidation using RENAME+SMEMBERS.27 * Stores tag id <> cache id relationship as a Redis Set. 24 28 * 25 29 * Set (tag relation info) is stored without expiry (non-volatile), while cache always gets an expiry (volatile) even … … 27 31 * relationship survives eviction (cache cleanup when Redis runs out of memory). 28 32 * 29 * Requirements: 30 * - Client: PHP Redis or Predis 31 * Note: Due to lack of RENAME support it is NOT recommended to use Cluster on Predis, instead use phpredis. 32 * - Server: Redis 2.8+ 33 * Configured with any `volatile-*` eviction policy, OR `noeviction` if it will NEVER fill up memory 33 * Redis server 2.8+ with any `volatile-*` eviction policy, OR `noeviction` if you're sure memory will NEVER fill up 34 34 * 35 35 * Design limitations: … … 47 47 use RedisTrait; 48 48 /** 49 * Limits for how many keys are deleted in batch.50 */51 private const BULK_DELETE_LIMIT = 10000;52 /**53 49 * On cache items without a lifetime set, we set it to 100 days. This is to make sure cache items are 54 50 * preferred to be evicted over tag Sets, if eviction policy is configured according to requirements. … … 60 56 private $redisEvictionPolicy; 61 57 /** 62 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface $redisClientThe redis client63 * @param string $namespace The default namespace64 * @param int $defaultLifetime The default lifetime65 */ 66 public function __construct($redis Client, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null)67 { 68 if ($redis Client instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && $redisClient->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ClusterInterface && !$redisClient->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster) {69 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('Unsupported Predis cluster connection: only "%s" is, "%s" given.', \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster::class, \get_class($redis Client->getConnection())));70 } 71 if (\defined('Redis::OPT_COMPRESSION') && ($redis Client instanceof \Redis || $redisClient instanceof \RedisArray || $redisClientinstanceof \RedisCluster)) {72 $compression = $redis Client->getOption(\Redis::OPT_COMPRESSION);58 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy $redis The redis client 59 * @param string $namespace The default namespace 60 * @param int $defaultLifetime The default lifetime 61 */ 62 public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null) 63 { 64 if ($redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && $redis->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ClusterInterface && !$redis->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster) { 65 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('Unsupported Predis cluster connection: only "%s" is, "%s" given.', \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster::class, \get_class($redis->getConnection()))); 66 } 67 if (\defined('Redis::OPT_COMPRESSION') && ($redis instanceof \Redis || $redis instanceof \RedisArray || $redis instanceof \RedisCluster)) { 68 $compression = $redis->getOption(\Redis::OPT_COMPRESSION); 73 69 foreach (\is_array($compression) ? $compression : [$compression] as $c) { 74 70 if (\Redis::COMPRESSION_NONE !== $c) { … … 77 73 } 78 74 } 79 $this->init($redis Client, $namespace, $defaultLifetime, new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\TagAwareMarshaller($marshaller));75 $this->init($redis, $namespace, $defaultLifetime, new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\TagAwareMarshaller($marshaller)); 80 76 } 81 77 /** … … 85 81 { 86 82 $eviction = $this->getRedisEvictionPolicy(); 87 if ('noeviction' !== $eviction && 0 !== \strpos($eviction, 'volatile-')) {88 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\LogicException(\sprintf('Redis maxmemory-policy setting "%s" is *not* supported by RedisTagAwareAdapter, use "noeviction" or "volatile-*" eviction policies.', $eviction));83 if ('noeviction' !== $eviction && !\str_starts_with($eviction, 'volatile-')) { 84 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\LogicException(\sprintf('Redis maxmemory-policy setting "%s" is *not* supported by RedisTagAwareAdapter, use "noeviction" or "volatile-*" eviction policies.', $eviction)); 89 85 } 90 86 // serialize values … … 137 133 return v:sub(14, 13 + v:byte(13) + v:byte(12) * 256 + v:byte(11) * 65536) 138 134 EOLUA; 139 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 140 $evalArgs = [$lua, 1, &$id]; 141 } else { 142 $evalArgs = [$lua, [&$id], 1]; 143 } 144 $results = $this->pipeline(function () use($ids, &$id, $evalArgs) { 135 $results = $this->pipeline(function () use($ids, $lua) { 145 136 foreach ($ids as $id) { 146 (yield 'eval' => $ evalArgs);137 (yield 'eval' => $this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? [$lua, 1, $id] : [$lua, [$id], 1]); 147 138 } 148 139 }); 149 140 foreach ($results as $id => $result) { 141 if ($result instanceof \RedisException) { 142 \Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::log($this->logger, 'Failed to delete key "{key}": ' . $result->getMessage(), ['key' => \substr($id, \strlen($this->namespace)), 'exception' => $result]); 143 continue; 144 } 150 145 try { 151 146 (yield $id => !\is_string($result) || '' === $result ? [] : $this->marshaller->unmarshall($result)); … … 160 155 protected function doDeleteTagRelations(array $tagData) : bool 161 156 { 162 $ this->pipeline(static function () use($tagData) {157 $results = $this->pipeline(static function () use($tagData) { 163 158 foreach ($tagData as $tagId => $idList) { 164 159 \array_unshift($idList, $tagId); 165 160 (yield 'sRem' => $idList); 166 161 } 167 })->rewind(); 162 }); 163 foreach ($results as $result) { 164 // no-op 165 } 168 166 return \true; 169 167 } … … 173 171 protected function doInvalidate(array $tagIds) : bool 174 172 { 175 if (!$this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface || !$this->redis->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster) { 176 $movedTagSetIds = $this->renameKeys($this->redis, $tagIds); 177 } else { 178 $clusterConnection = $this->redis->getConnection(); 179 $tagIdsByConnection = new \SplObjectStorage(); 180 $movedTagSetIds = []; 173 // This script scans the set of items linked to tag: it empties the set 174 // and removes the linked items. When the set is still not empty after 175 // the scan, it means we're in cluster mode and that the linked items 176 // are on other nodes: we move the links to a temporary set and we 177 // gargage collect that set from the client side. 178 $lua = <<<'EOLUA' 179 redis.replicate_commands() 180 181 local cursor = '0' 182 local id = KEYS[1] 183 repeat 184 local result = redis.call('SSCAN', id, cursor, 'COUNT', 5000); 185 cursor = result[1]; 186 local rems = {} 187 188 for _, v in ipairs(result[2]) do 189 local ok, _ = pcall(redis.call, 'DEL', ARGV[1]..v) 190 if ok then 191 table.insert(rems, v) 192 end 193 end 194 if 0 < #rems then 195 redis.call('SREM', id, unpack(rems)) 196 end 197 until '0' == cursor; 198 199 redis.call('SUNIONSTORE', '{'..id..'}'..id, id) 200 redis.call('DEL', id) 201 202 return redis.call('SSCAN', '{'..id..'}'..id, '0', 'COUNT', 5000) 203 EOLUA; 204 $results = $this->pipeline(function () use($tagIds, $lua) { 205 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 206 $prefix = $this->redis->getOptions()->prefix ? $this->redis->getOptions()->prefix->getPrefix() : ''; 207 } elseif (\is_array($prefix = $this->redis->getOption(\Redis::OPT_PREFIX) ?? '')) { 208 $prefix = \current($prefix); 209 } 181 210 foreach ($tagIds as $id) { 182 $connection = $clusterConnection->getConnectionByKey($id); 183 $slot = $tagIdsByConnection[$connection] ?? ($tagIdsByConnection[$connection] = new \ArrayObject()); 184 $slot[] = $id; 185 } 186 foreach ($tagIdsByConnection as $connection) { 187 $slot = $tagIdsByConnection[$connection]; 188 $movedTagSetIds = \array_merge($movedTagSetIds, $this->renameKeys(new $this->redis($connection, $this->redis->getOptions()), $slot->getArrayCopy())); 189 } 190 } 191 // No Sets found 192 if (!$movedTagSetIds) { 193 return \false; 194 } 195 // Now safely take the time to read the keys in each set and collect ids we need to delete 196 $tagIdSets = $this->pipeline(static function () use($movedTagSetIds) { 197 foreach ($movedTagSetIds as $movedTagId) { 198 (yield 'sMembers' => [$movedTagId]); 199 } 200 }); 201 // Return combination of the temporary Tag Set ids and their values (cache ids) 202 $ids = \array_merge($movedTagSetIds, ...\iterator_to_array($tagIdSets, \false)); 203 // Delete cache in chunks to avoid overloading the connection 204 foreach (\array_chunk(\array_unique($ids), self::BULK_DELETE_LIMIT) as $chunkIds) { 205 $this->doDelete($chunkIds); 206 } 207 return \true; 208 } 209 /** 210 * Renames several keys in order to be able to operate on them without risk of race conditions. 211 * 212 * Filters out keys that do not exist before returning new keys. 213 * 214 * @see https://redis.io/commands/rename 215 * @see https://redis.io/topics/cluster-spec#keys-hash-tags 216 * 217 * @return array Filtered list of the valid moved keys (only those that existed) 218 */ 219 private function renameKeys($redis, array $ids) : array 220 { 221 $newIds = []; 222 $uniqueToken = \bin2hex(\random_bytes(10)); 223 $results = $this->pipeline(static function () use($ids, $uniqueToken) { 224 foreach ($ids as $id) { 225 (yield 'rename' => [$id, '{' . $id . '}' . $uniqueToken]); 226 } 227 }, $redis); 228 foreach ($results as $id => $result) { 229 if (\true === $result || $result instanceof \Prokerala\Astrology\Vendor\Predis\Response\Status && \Prokerala\Astrology\Vendor\Predis\Response\Status::get('OK') === $result) { 230 // Only take into account if ok (key existed), will be false on phpredis if it did not exist 231 $newIds[] = '{' . $id . '}' . $uniqueToken; 232 } 233 } 234 return $newIds; 211 (yield 'eval' => $this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? [$lua, 1, $id, $prefix] : [$lua, [$id, $prefix], 1]); 212 } 213 }); 214 $lua = <<<'EOLUA' 215 redis.replicate_commands() 216 217 local id = KEYS[1] 218 local cursor = table.remove(ARGV) 219 redis.call('SREM', '{'..id..'}'..id, unpack(ARGV)) 220 221 return redis.call('SSCAN', '{'..id..'}'..id, cursor, 'COUNT', 5000) 222 EOLUA; 223 $success = \true; 224 foreach ($results as $id => $values) { 225 if ($values instanceof \RedisException) { 226 \Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::log($this->logger, 'Failed to invalidate key "{key}": ' . $values->getMessage(), ['key' => \substr($id, \strlen($this->namespace)), 'exception' => $values]); 227 $success = \false; 228 continue; 229 } 230 [$cursor, $ids] = $values; 231 while ($ids || '0' !== $cursor) { 232 $this->doDelete($ids); 233 $evalArgs = [$id, $cursor]; 234 \array_splice($evalArgs, 1, 0, $ids); 235 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 236 \array_unshift($evalArgs, $lua, 1); 237 } else { 238 $evalArgs = [$lua, $evalArgs, 1]; 239 } 240 $results = $this->pipeline(function () use($evalArgs) { 241 (yield 'eval' => $evalArgs); 242 }); 243 foreach ($results as [$cursor, $ids]) { 244 // no-op 245 } 246 } 247 } 248 return $success; 235 249 } 236 250 private function getRedisEvictionPolicy() : string … … 239 253 return $this->redisEvictionPolicy; 240 254 } 241 foreach ($this->getHosts() as $host) { 255 $hosts = $this->getHosts(); 256 $host = \reset($hosts); 257 if ($host instanceof \Prokerala\Astrology\Vendor\Predis\Client && $host->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ReplicationInterface) { 258 // Predis supports info command only on the master in replication environments 259 $hosts = [$host->getClientFor('master')]; 260 } 261 foreach ($hosts as $host) { 242 262 $info = $host->info('Memory'); 243 263 $info = $info['Memory'] ?? $info; -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Adapter/TagAwareAdapter.php
r2513947 r2612549 13 13 use Psr\Cache\CacheItemInterface; 14 14 use Psr\Cache\InvalidArgumentException; 15 use Psr\Log\LoggerAwareInterface; 16 use Psr\Log\LoggerAwareTrait; 15 17 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem; 16 18 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface; … … 22 24 * @author Nicolas Grekas <p@tchwork.com> 23 25 */ 24 class TagAwareAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\TagAwareAdapterInterface, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\TagAwareCacheInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface 26 class TagAwareAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\TagAwareAdapterInterface, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\TagAwareCacheInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface, \Psr\Log\LoggerAwareInterface 25 27 { 26 public const TAGS_PREFIX = "\0tags\0";27 28 use ContractsTrait; 29 use LoggerAwareTrait; 28 30 use ProxyTrait; 31 public const TAGS_PREFIX = "\x00tags\x00"; 29 32 private $deferred = []; 30 33 private $createCacheItem; … … 68 71 foreach ($deferred as $key => $item) { 69 72 $tagsByKey[$key] = $item->newMetadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS] ?? []; 73 $item->metadata = $item->newMetadata; 70 74 } 71 75 return $tagsByKey; … … 188 192 if ('' !== $prefix) { 189 193 foreach ($this->deferred as $key => $item) { 190 if ( 0 === \strpos($key, $prefix)) {194 if (\str_starts_with($key, $prefix)) { 191 195 unset($this->deferred[$key]); 192 196 } … … 258 262 return $this->invalidateTags([]); 259 263 } 264 /** 265 * @return array 266 */ 260 267 public function __sleep() 261 268 { -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/CacheItem.php
r2513947 r2612549 146 146 * Validates a cache key according to PSR-6. 147 147 * 148 * @param string$key The key to validate148 * @param mixed $key The key to validate 149 149 * 150 150 * @throws InvalidArgumentException When $key is not valid -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/DependencyInjection/CachePoolPass.php
r2513947 r2612549 14 14 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter; 15 15 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ChainAdapter; 16 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\NullAdapter; 16 17 use Prokerala\Astrology\Vendor\Symfony\Component\DependencyInjection\ChildDefinition; 17 18 use Prokerala\Astrology\Vendor\Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; … … 111 112 $chainedPool->replaceArgument($i++, new \Prokerala\Astrology\Vendor\Symfony\Component\DependencyInjection\Reference(static::getServiceProvider($container, $chainedTags[0]['provider']))); 112 113 } 113 if (isset($tags[0]['namespace']) && \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter::class !== $adapter->getClass()) {114 if (isset($tags[0]['namespace']) && !\in_array($adapter->getClass(), [\Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter::class, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\NullAdapter::class], \true)) { 114 115 $chainedPool->replaceArgument($i++, $tags[0]['namespace']); 115 116 } … … 132 133 $pool->addTag($this->kernelResetTag, ['method' => $tags[0][$attr]]); 133 134 } 134 } elseif ('namespace' !== $attr || \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter::class !== $class) {135 } elseif ('namespace' !== $attr || !\in_array($class, [\Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter::class, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\NullAdapter::class], \true)) { 135 136 $pool->replaceArgument($i++, $tags[0][$attr]); 136 137 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/DoctrineProvider.php
r2513947 r2612549 43 43 /** 44 44 * {@inheritdoc} 45 * 46 * @return mixed 45 47 */ 46 48 protected function doFetch($id) -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/LockRegistry.php
r2513947 r2612549 26 26 { 27 27 private static $openedFiles = []; 28 private static $lockedFiles = [];28 private static $lockedFiles; 29 29 /** 30 30 * The number of items in this list controls the max number of concurrent processes. … … 51 51 public static function compute(callable $callback, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\ItemInterface $item, bool &$save, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\CacheInterface $pool, \Closure $setMetadata = null, \Psr\Log\LoggerInterface $logger = null) 52 52 { 53 $key = self::$files ? \crc32($item->getKey()) % \count(self::$files) : -1; 53 if ('\\' === \DIRECTORY_SEPARATOR && null === self::$lockedFiles) { 54 // disable locking on Windows by default 55 self::$files = self::$lockedFiles = []; 56 } 57 $key = self::$files ? \abs(\crc32($item->getKey())) % \count(self::$files) : -1; 54 58 if ($key < 0 || (self::$lockedFiles[$key] ?? \false) || !($lock = self::open($key))) { 55 59 return $callback($item, $save); … … 80 84 } 81 85 static $signalingException, $signalingCallback; 82 $signalingException = $signalingException ?? \unserialize("O:9:\"Exception\":1:{s:16:\"\ 0Exception\0trace\";a:0:{}}");86 $signalingException = $signalingException ?? \unserialize("O:9:\"Exception\":1:{s:16:\"\x00Exception\x00trace\";a:0:{}}"); 83 87 $signalingCallback = $signalingCallback ?? function () use($signalingException) { 84 88 throw $signalingException; -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Marshaller/TagAwareMarshaller.php
r2513947 r2612549 41 41 $v['tags'] = ''; 42 42 } 43 $serialized[$id] = " " . ($value['meta'] ?? "\0\0\0\0\0\0\0\0") . \pack('N', \strlen($v['tags'])) . $v['tags'] . $v['value'];43 $serialized[$id] = "\x9d" . ($value['meta'] ?? "\x00\x00\x00\x00\x00\x00\x00\x00") . \pack('N', \strlen($v['tags'])) . $v['tags'] . $v['value']; 44 44 $serialized[$id][9] = "_"; 45 45 } … … 61 61 { 62 62 // detect the compact format used in marshall() using magic numbers in the form 9D-..-..-..-..-00-..-..-..-5F 63 if (13 >= \strlen($value) || " " !== $value[0] || "\0" !== $value[5] || "_" !== $value[9]) {63 if (13 >= \strlen($value) || "\x9d" !== $value[0] || "\x00" !== $value[5] || "_" !== $value[9]) { 64 64 return $this->marshaller->unmarshall($value); 65 65 } 66 66 // data consists of value, tags and metadata which we need to unpack 67 67 $meta = \substr($value, 1, 12); 68 $meta[8] = "\ 0";68 $meta[8] = "\x00"; 69 69 $tagLen = \unpack('Nlen', $meta, 8)['len']; 70 70 $meta = \substr($meta, 0, 8); 71 return ['value' => $this->marshaller->unmarshall(\substr($value, 13 + $tagLen)), 'tags' => $tagLen ? $this->marshaller->unmarshall(\substr($value, 13, $tagLen)) : [], 'meta' => "\ 0\0\0\0\0\0\0\0" === $meta ? null : $meta];71 return ['value' => $this->marshaller->unmarshall(\substr($value, 13 + $tagLen)), 'tags' => $tagLen ? $this->marshaller->unmarshall(\substr($value, 13, $tagLen)) : [], 'meta' => "\x00\x00\x00\x00\x00\x00\x00\x00" === $meta ? null : $meta]; 72 72 } 73 73 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Psr16Cache.php
r2513947 r2612549 156 156 unset($metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS]); 157 157 if ($metadata) { 158 $values[$key] = [" " . \pack('VN', (int) (0.1 + $metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_CTIME]) . "_" => $values[$key]];158 $values[$key] = ["\x9d" . \pack('VN', (int) (0.1 + $metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_CTIME]) . "_" => $values[$key]]; 159 159 } 160 160 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Simple/AbstractCache.php
r2513947 r2612549 25 25 abstract class AbstractCache implements \Psr\SimpleCache\CacheInterface, \Psr\Log\LoggerAwareInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface 26 26 { 27 /**28 * @internal29 */30 protected const NS_SEPARATOR = ':';31 27 use AbstractTrait { 32 28 deleteItems as private; … … 34 30 AbstractTrait::hasItem as has; 35 31 } 32 /** 33 * @internal 34 */ 35 protected const NS_SEPARATOR = ':'; 36 36 private $defaultLifetime; 37 37 protected function __construct(string $namespace = '', int $defaultLifetime = 0) -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Simple/RedisCache.php
r2513947 r2612549 13 13 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\RedisAdapter; 14 14 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface; 15 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy; 16 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy; 15 17 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisTrait; 16 18 use Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\CacheInterface; … … 23 25 use RedisTrait; 24 26 /** 25 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface $redisClient27 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy $redis 26 28 */ 27 public function __construct($redis Client, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null)29 public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null) 28 30 { 29 $this->init($redis Client, $namespace, $defaultLifetime, $marshaller);31 $this->init($redis, $namespace, $defaultLifetime, $marshaller); 30 32 } 31 33 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Traits/AbstractAdapterTrait.php
r2513947 r2612549 99 99 return \true; 100 100 } 101 /** 102 * @return array 103 */ 101 104 public function __sleep() 102 105 { -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Traits/ApcuTrait.php
r2513947 r2612549 98 98 if (1 === \count($values)) { 99 99 // Workaround https://github.com/krakjoe/apcu/issues/170 100 \apcu_delete(\ key($values));100 \apcu_delete(\array_key_first($values)); 101 101 } 102 102 throw $e; -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Traits/ArrayTrait.php
r2513947 r2612549 70 70 if ('' !== $prefix) { 71 71 foreach ($this->values as $key => $value) { 72 if ( 0 === \strpos($key, $prefix)) {72 if (\str_starts_with($key, $prefix)) { 73 73 unset($this->values[$key], $this->expiries[$key]); 74 74 } … … 128 128 $serialized = \serialize($value); 129 129 } catch (\Exception $e) { 130 unset($this->values[$key]); 130 131 $type = \is_object($value) ? \get_class($value) : \gettype($value); 131 132 $message = \sprintf('Failed to save key "{key}" of type %s: ', $type) . $e->getMessage(); -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Traits/FilesystemCommonTrait.php
r2513947 r2612549 53 53 $ok = \true; 54 54 foreach ($this->scanHashDir($this->directory) as $file) { 55 if ('' !== $namespace && 0 !== \strpos($this->getFileKey($file), $namespace)) {55 if ('' !== $namespace && !\str_starts_with($this->getFileKey($file), $namespace)) { 56 56 continue; 57 57 } … … 86 86 $h = \fopen($this->tmp, 'x'); 87 87 } catch (\ErrorException $e) { 88 if ( \false === \strpos($e->getMessage(), 'File exists')) {88 if (!\str_contains($e->getMessage(), 'File exists')) { 89 89 throw $e; 90 90 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Traits/MemcachedTrait.php
r2513947 r2612549 29 29 * Note: don’t use {@see \Symfony\Component\Cache\Adapter\AbstractAdapter::NS_SEPARATOR}. 30 30 */ 31 private static $RESERVED_MEMCACHED = " \n\r\t\v\f\ 0";31 private static $RESERVED_MEMCACHED = " \n\r\t\v\f\x00"; 32 32 private static $RESERVED_PSR6 = '@()\\{}/'; 33 33 private $marshaller; … … 95 95 continue; 96 96 } 97 if ( 0 !== \strpos($dsn, 'memcached:')) {97 if (!\str_starts_with($dsn, 'memcached:')) { 98 98 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('Invalid Memcached DSN: "%s" does not start with "memcached:".', $dsn)); 99 99 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Traits/PdoTrait.php
r2513947 r2612549 17 17 use Prokerala\Astrology\Vendor\Doctrine\DBAL\Exception; 18 18 use Prokerala\Astrology\Vendor\Doctrine\DBAL\Exception\TableNotFoundException; 19 use Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType; 19 20 use Prokerala\Astrology\Vendor\Doctrine\DBAL\Schema\Schema; 21 use Prokerala\Astrology\Vendor\Doctrine\DBAL\Statement; 20 22 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException; 21 23 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\DefaultMarshaller; … … 144 146 $deleteSql .= " AND {$this->idCol} LIKE :namespace"; 145 147 } 148 $connection = $this->getConnection(); 149 $useDbalConstants = $connection instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Connection; 146 150 try { 147 $delete = $ this->getConnection()->prepare($deleteSql);151 $delete = $connection->prepare($deleteSql); 148 152 } catch (\Prokerala\Astrology\Vendor\Doctrine\DBAL\Exception\TableNotFoundException $e) { 149 153 return \true; … … 151 155 return \true; 152 156 } 153 $delete->bindValue(':time', \time(), \PDO::PARAM_INT);157 $delete->bindValue(':time', \time(), $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 154 158 if ('' !== $this->namespace) { 155 $delete->bindValue(':namespace', \sprintf('%s%%', $this->namespace), \PDO::PARAM_STR);159 $delete->bindValue(':namespace', \sprintf('%s%%', $this->namespace), $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::STRING : \PDO::PARAM_STR); 156 160 } 157 161 try { 162 // Doctrine DBAL ^2.13 || >= 3.1 163 if ($delete instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Statement && \method_exists($delete, 'executeStatement')) { 164 $delete->executeStatement(); 165 return \true; 166 } 158 167 return $delete->execute(); 159 168 } catch (\Prokerala\Astrology\Vendor\Doctrine\DBAL\Exception\TableNotFoundException $e) { … … 168 177 protected function doFetch(array $ids) 169 178 { 179 $connection = $this->getConnection(); 180 $useDbalConstants = $connection instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Connection; 170 181 $now = \time(); 171 182 $expired = []; 172 183 $sql = \str_pad('', (\count($ids) << 1) - 1, '?,'); 173 184 $sql = "SELECT {$this->idCol}, CASE WHEN {$this->lifetimeCol} IS NULL OR {$this->lifetimeCol} + {$this->timeCol} > ? THEN {$this->dataCol} ELSE NULL END FROM {$this->table} WHERE {$this->idCol} IN ({$sql})"; 174 $stmt = $ this->getConnection()->prepare($sql);175 $stmt->bindValue($i = 1, $now, \PDO::PARAM_INT);185 $stmt = $connection->prepare($sql); 186 $stmt->bindValue($i = 1, $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 176 187 foreach ($ids as $id) { 177 188 $stmt->bindValue(++$i, $id); … … 194 205 $sql = \str_pad('', (\count($expired) << 1) - 1, '?,'); 195 206 $sql = "DELETE FROM {$this->table} WHERE {$this->lifetimeCol} + {$this->timeCol} <= ? AND {$this->idCol} IN ({$sql})"; 196 $stmt = $ this->getConnection()->prepare($sql);197 $stmt->bindValue($i = 1, $now, \PDO::PARAM_INT);207 $stmt = $connection->prepare($sql); 208 $stmt->bindValue($i = 1, $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 198 209 foreach ($expired as $id) { 199 210 $stmt->bindValue(++$i, $id); … … 207 218 protected function doHave($id) 208 219 { 220 $connection = $this->getConnection(); 221 $useDbalConstants = $connection instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Connection; 209 222 $sql = "SELECT 1 FROM {$this->table} WHERE {$this->idCol} = :id AND ({$this->lifetimeCol} IS NULL OR {$this->lifetimeCol} + {$this->timeCol} > :time)"; 210 $stmt = $ this->getConnection()->prepare($sql);223 $stmt = $connection->prepare($sql); 211 224 $stmt->bindValue(':id', $id); 212 $stmt->bindValue(':time', \time(), \PDO::PARAM_INT);225 $stmt->bindValue(':time', \time(), $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 213 226 $result = $stmt->execute(); 214 227 return (bool) (\is_object($result) ? $result->fetchOne() : $stmt->fetchColumn()); … … 264 277 } 265 278 $conn = $this->getConnection(); 279 $useDbalConstants = $conn instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Connection; 266 280 $driver = $this->driver; 267 281 $insertSql = "INSERT INTO {$this->table} ({$this->idCol}, {$this->dataCol}, {$this->lifetimeCol}, {$this->timeCol}) VALUES (:id, :data, :lifetime, :time)"; … … 308 322 $stmt->bindParam(1, $id); 309 323 $stmt->bindParam(2, $id); 310 $stmt->bindParam(3, $data, \PDO::PARAM_LOB);311 $stmt->bindValue(4, $lifetime, \PDO::PARAM_INT);312 $stmt->bindValue(5, $now, \PDO::PARAM_INT);313 $stmt->bindParam(6, $data, \PDO::PARAM_LOB);314 $stmt->bindValue(7, $lifetime, \PDO::PARAM_INT);315 $stmt->bindValue(8, $now, \PDO::PARAM_INT);324 $stmt->bindParam(3, $data, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::LARGE_OBJECT : \PDO::PARAM_LOB); 325 $stmt->bindValue(4, $lifetime, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 326 $stmt->bindValue(5, $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 327 $stmt->bindParam(6, $data, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::LARGE_OBJECT : \PDO::PARAM_LOB); 328 $stmt->bindValue(7, $lifetime, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 329 $stmt->bindValue(8, $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 316 330 } else { 317 331 $stmt->bindParam(':id', $id); 318 $stmt->bindParam(':data', $data, \PDO::PARAM_LOB);319 $stmt->bindValue(':lifetime', $lifetime, \PDO::PARAM_INT);320 $stmt->bindValue(':time', $now, \PDO::PARAM_INT);332 $stmt->bindParam(':data', $data, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::LARGE_OBJECT : \PDO::PARAM_LOB); 333 $stmt->bindValue(':lifetime', $lifetime, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 334 $stmt->bindValue(':time', $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 321 335 } 322 336 if (null === $driver) { 323 337 $insertStmt = $conn->prepare($insertSql); 324 338 $insertStmt->bindParam(':id', $id); 325 $insertStmt->bindParam(':data', $data, \PDO::PARAM_LOB);326 $insertStmt->bindValue(':lifetime', $lifetime, \PDO::PARAM_INT);327 $insertStmt->bindValue(':time', $now, \PDO::PARAM_INT);339 $insertStmt->bindParam(':data', $data, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::LARGE_OBJECT : \PDO::PARAM_LOB); 340 $insertStmt->bindValue(':lifetime', $lifetime, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 341 $insertStmt->bindValue(':time', $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 328 342 } 329 343 foreach ($values as $id => $data) { … … 397 411 $this->driver = 'sqlsrv'; 398 412 break; 413 case $driver instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Driver: 414 $this->driver = ['mssql' => 'sqlsrv', 'oracle' => 'oci', 'postgresql' => 'pgsql', 'sqlite' => 'sqlite', 'mysql' => 'mysql'][$driver->getDatabasePlatform()->getName()] ?? \get_class($driver); 415 break; 399 416 default: 400 417 $this->driver = \get_class($driver); -
astrology/tags/1.0.5/dependencies/vendor/symfony/cache/Traits/RedisTrait.php
r2513947 r2612549 13 13 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ClusterInterface; 14 14 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\RedisCluster; 15 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ReplicationInterface; 15 16 use Prokerala\Astrology\Vendor\Predis\Response\Status; 16 17 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\CacheException; … … 26 27 trait RedisTrait 27 28 { 28 private static $defaultConnectionOptions = ['class' => null, 'persistent' => 0, 'persistent_id' => null, 'timeout' => 30, 'read_timeout' => 0, 'retry_interval' => 0, 'tcp_keepalive' => 0, 'lazy' => null, 'redis_cluster' => \false, 'redis_sentinel' => null, 'dbindex' => 0, 'failover' => 'none' ];29 private static $defaultConnectionOptions = ['class' => null, 'persistent' => 0, 'persistent_id' => null, 'timeout' => 30, 'read_timeout' => 0, 'retry_interval' => 0, 'tcp_keepalive' => 0, 'lazy' => null, 'redis_cluster' => \false, 'redis_sentinel' => null, 'dbindex' => 0, 'failover' => 'none', 'ssl' => null]; 29 30 private $redis; 30 31 private $marshaller; 31 32 /** 32 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface $redisClient33 */ 34 private function init($redis Client, string $namespace, int $defaultLifetime, ?\Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller)33 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy $redis 34 */ 35 private function init($redis, string $namespace, int $defaultLifetime, ?\Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller) 35 36 { 36 37 parent::__construct($namespace, $defaultLifetime); … … 38 39 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('RedisAdapter namespace contains "%s" but only characters in [-+_.A-Za-z0-9] are allowed.', $match[0])); 39 40 } 40 if (!$redis Client instanceof \Redis && !$redisClient instanceof \RedisArray && !$redisClient instanceof \RedisCluster && !$redisClient instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && !$redisClient instanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy && !$redisClientinstanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy) {41 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('"%s()" expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\\ClientInterface, "%s" given.', __METHOD__, \is_object($redis Client) ? \get_class($redisClient) : \gettype($redisClient)));42 } 43 if ($redis Client instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && $redisClient->getOptions()->exceptions) {44 $options = clone $redis Client->getOptions();41 if (!$redis instanceof \Redis && !$redis instanceof \RedisArray && !$redis instanceof \RedisCluster && !$redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && !$redis instanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy && !$redis instanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy) { 42 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('"%s()" expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\\ClientInterface, "%s" given.', __METHOD__, \is_object($redis) ? \get_class($redis) : \gettype($redis))); 43 } 44 if ($redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && $redis->getOptions()->exceptions) { 45 $options = clone $redis->getOptions(); 45 46 \Closure::bind(function () { 46 47 $this->options['exceptions'] = \false; 47 48 }, $options, $options)(); 48 $redis Client = new $redisClient($redisClient->getConnection(), $options);49 } 50 $this->redis = $redis Client;49 $redis = new $redis($redis->getConnection(), $options); 50 } 51 $this->redis = $redis; 51 52 $this->marshaller = $marshaller ?? new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\DefaultMarshaller(); 52 53 } … … 70 71 public static function createConnection($dsn, array $options = []) 71 72 { 72 if ( 0 === \strpos($dsn, 'redis:')) {73 if (\str_starts_with($dsn, 'redis:')) { 73 74 $scheme = 'redis'; 74 } elseif ( 0 === \strpos($dsn, 'rediss:')) {75 } elseif (\str_starts_with($dsn, 'rediss:')) { 75 76 $scheme = 'rediss'; 76 77 } else { … … 93 94 } 94 95 $query = $hosts = []; 96 $tls = 'rediss' === $scheme; 97 $tcpScheme = $tls ? 'tls' : 'tcp'; 95 98 if (isset($params['query'])) { 96 99 \parse_str($params['query'], $query); … … 104 107 } 105 108 if (\false === ($i = \strrpos($host, ':'))) { 106 $hosts[$host] = ['scheme' => 'tcp', 'host' => $host, 'port' => 6379] + $parameters;109 $hosts[$host] = ['scheme' => $tcpScheme, 'host' => $host, 'port' => 6379] + $parameters; 107 110 } elseif ($port = (int) \substr($host, 1 + $i)) { 108 $hosts[$host] = ['scheme' => 'tcp', 'host' => \substr($host, 0, $i), 'port' => $port] + $parameters;111 $hosts[$host] = ['scheme' => $tcpScheme, 'host' => \substr($host, 0, $i), 'port' => $port] + $parameters; 109 112 } else { 110 113 $hosts[$host] = ['scheme' => 'unix', 'path' => \substr($host, 0, $i)] + $parameters; … … 120 123 } 121 124 if (isset($params['host'])) { 122 \array_unshift($hosts, ['scheme' => 'tcp', 'host' => $params['host'], 'port' => $params['port'] ?? 6379]);125 \array_unshift($hosts, ['scheme' => $tcpScheme, 'host' => $params['host'], 'port' => $params['port'] ?? 6379]); 123 126 } else { 124 127 \array_unshift($hosts, ['scheme' => 'unix', 'path' => $params['path']]); … … 135 138 $class = $params['redis_cluster'] ? \RedisCluster::class : (1 < \count($hosts) ? \RedisArray::class : \Redis::class); 136 139 } else { 137 $class = null === $params['class'] ? \Prokerala\Astrology\Vendor\Predis\Client::class : $params['class'];140 $class = $params['class'] ?? \Prokerala\Astrology\Vendor\Predis\Client::class; 138 141 } 139 142 if (\is_a($class, \Redis::class, \true)) { 140 143 $connect = $params['persistent'] || $params['persistent_id'] ? 'pconnect' : 'connect'; 141 144 $redis = new $class(); 142 $initializer = static function ($redis) use($connect, $params, $dsn, $auth, $hosts) { 145 $initializer = static function ($redis) use($connect, $params, $dsn, $auth, $hosts, $tls) { 146 $host = $hosts[0]['host'] ?? $hosts[0]['path']; 147 $port = $hosts[0]['port'] ?? null; 148 if (isset($hosts[0]['host']) && $tls) { 149 $host = 'tls://' . $host; 150 } 143 151 try { 144 @$redis->{$connect}($host s[0]['host'] ?? $hosts[0]['path'], $hosts[0]['port'] ?? null, $params['timeout'], (string) $params['persistent_id'], $params['retry_interval'], $params['read_timeout']);152 @$redis->{$connect}($host, $port, $params['timeout'], (string) $params['persistent_id'], $params['retry_interval'], $params['read_timeout'], ...\defined('Redis::SCAN_PREFIX') ? [['stream' => $params['ssl'] ?? null]] : []); 145 153 \set_error_handler(function ($type, $msg) use(&$error) { 146 154 $error = $msg; … … 171 179 } elseif (\is_a($class, \RedisArray::class, \true)) { 172 180 foreach ($hosts as $i => $host) { 173 $hosts[$i] = 'tcp' === $host['scheme'] ? $host['host'] . ':' . $host['port'] : $host['path']; 181 switch ($host['scheme']) { 182 case 'tcp': 183 $hosts[$i] = $host['host'] . ':' . $host['port']; 184 break; 185 case 'tls': 186 $hosts[$i] = 'tls://' . $host['host'] . ':' . $host['port']; 187 break; 188 default: 189 $hosts[$i] = $host['path']; 190 } 174 191 } 175 192 $params['lazy_connect'] = $params['lazy'] ?? \true; … … 186 203 $initializer = static function () use($class, $params, $dsn, $hosts) { 187 204 foreach ($hosts as $i => $host) { 188 $hosts[$i] = 'tcp' === $host['scheme'] ? $host['host'] . ':' . $host['port'] : $host['path']; 205 switch ($host['scheme']) { 206 case 'tcp': 207 $hosts[$i] = $host['host'] . ':' . $host['port']; 208 break; 209 case 'tls': 210 $hosts[$i] = 'tls://' . $host['host'] . ':' . $host['port']; 211 break; 212 default: 213 $hosts[$i] = $host['path']; 214 } 189 215 } 190 216 try { 191 $redis = new $class(null, $hosts, $params['timeout'], $params['read_timeout'], (bool) $params['persistent'], $params['auth'] ?? '' );217 $redis = new $class(null, $hosts, $params['timeout'], $params['read_timeout'], (bool) $params['persistent'], $params['auth'] ?? '', ...\defined('Redis::SCAN_PREFIX') ? [$params['ssl'] ?? null] : []); 192 218 } catch (\RedisClusterException $e) { 193 219 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('Redis connection "%s" failed: ', $dsn) . $e->getMessage()); … … 235 261 } 236 262 $params['exceptions'] = \false; 237 $redis = new $class($hosts, \array_diff_key($params, self::$defaultConnectionOptions));263 $redis = new $class($hosts, \array_diff_key($params, \array_diff_key(self::$defaultConnectionOptions, ['ssl' => null]))); 238 264 if (isset($params['redis_sentinel'])) { 239 265 $redis->getConnection()->setSentinelTimeout($params['timeout']); … … 287 313 protected function doClear($namespace) 288 314 { 315 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 316 $prefix = $this->redis->getOptions()->prefix ? $this->redis->getOptions()->prefix->getPrefix() : ''; 317 $prefixLen = \strlen($prefix); 318 } 289 319 $cleared = \true; 290 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 291 $evalArgs = [0, $namespace]; 292 } else { 293 $evalArgs = [[$namespace], 0]; 294 } 295 foreach ($this->getHosts() as $host) { 320 $hosts = $this->getHosts(); 321 $host = \reset($hosts); 322 if ($host instanceof \Prokerala\Astrology\Vendor\Predis\Client && $host->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ReplicationInterface) { 323 // Predis supports info command only on the master in replication environments 324 $hosts = [$host->getClientFor('master')]; 325 } 326 foreach ($hosts as $host) { 296 327 if (!isset($namespace[0])) { 297 328 $cleared = $host->flushDb() && $cleared; … … 300 331 $info = $host->info('Server'); 301 332 $info = $info['Server'] ?? $info; 333 if (!$host instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 334 $prefix = \defined('Redis::SCAN_PREFIX') && \Redis::SCAN_PREFIX & $host->getOption(\Redis::OPT_SCAN) ? '' : $host->getOption(\Redis::OPT_PREFIX); 335 $prefixLen = \strlen($host->getOption(\Redis::OPT_PREFIX) ?? ''); 336 } 337 $pattern = $prefix . $namespace . '*'; 302 338 if (!\version_compare($info['redis_version'], '2.8', '>=')) { 303 339 // As documented in Redis documentation (http://redis.io/commands/keys) using KEYS 304 340 // can hang your server when it is executed against large databases (millions of items). 305 341 // Whenever you hit this scale, you should really consider upgrading to Redis 2.8 or above. 306 $cleared = $host->eval("local keys=redis.call('KEYS',ARGV[1]..'*') for i=1,#keys,5000 do redis.call('DEL',unpack(keys,i,math.min(i+4999,#keys))) end return 1", $evalArgs[0], $evalArgs[1]) && $cleared; 342 $args = $this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? [0, $pattern] : [[$pattern], 0]; 343 $cleared = $host->eval("local keys=redis.call('KEYS',ARGV[1]) for i=1,#keys,5000 do redis.call('DEL',unpack(keys,i,math.min(i+4999,#keys))) end return 1", $args[0], $args[1]) && $cleared; 307 344 continue; 308 345 } 309 346 $cursor = null; 310 347 do { 311 $keys = $host instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? $host->scan($cursor, 'MATCH', $ namespace . '*', 'COUNT', 1000) : $host->scan($cursor, $namespace . '*', 1000);348 $keys = $host instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? $host->scan($cursor, 'MATCH', $pattern, 'COUNT', 1000) : $host->scan($cursor, $pattern, 1000); 312 349 if (isset($keys[1]) && \is_array($keys[1])) { 313 350 $cursor = $keys[0]; … … 315 352 } 316 353 if ($keys) { 354 if ($prefixLen) { 355 foreach ($keys as $i => $key) { 356 $keys[$i] = \substr($key, $prefixLen); 357 } 358 } 317 359 $this->doDelete($keys); 318 360 } … … 410 452 $results = $redis->exec(); 411 453 } 454 if (!$redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && 'eval' === $command && $redis->getLastError()) { 455 $e = new \RedisException($redis->getLastError()); 456 $results = \array_map(function ($v) use($e) { 457 return \false === $v ? $e : $v; 458 }, $results); 459 } 412 460 foreach ($ids as $k => $id) { 413 461 (yield $id => $results[$k]); … … 433 481 $hosts = []; 434 482 foreach ($this->redis->_masters() as $host) { 435 $hosts[] = $h = new \Redis(); 436 $h->connect($host[0], $host[1]); 483 $hosts[] = new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterNodeProxy($host, $this->redis); 437 484 } 438 485 } -
astrology/tags/1.0.5/dependencies/vendor/symfony/options-resolver/OptionsResolver.php
r2513947 r2612549 198 198 } 199 199 /** 200 * Sets a list of default values.201 *202 * @param array $defaults The default values to set203 *204 200 * @return $this 205 201 * … … 410 406 * The resolved option value is set to the return value of the closure. 411 407 * 412 * @param string $option The option name 413 * @param \Closure $normalizer The normalizer 408 * @param string $option The option name 414 409 * 415 410 * @return $this … … 448 443 * 449 444 * The resolved option value is set to the return value of the closure. 450 *451 * @param string $option The option name452 * @param \Closure $normalizer The normalizer453 * @param bool $forcePrepend If set to true, prepend instead of appending454 445 * 455 446 * @return $this … … 672 663 * - Options have invalid values. 673 664 * 674 * @param array $options A map of option names to values675 *676 665 * @return array The merged and validated options 677 666 * … … 736 725 * lazy options and/or normalizers 737 726 */ 727 #[\ReturnTypeWillChange] 738 728 public function offsetGet($option) 739 729 { … … 816 806 $fmtProvidedTypes = \implode('|', \array_keys($invalidTypes)); 817 807 $allowedContainsArrayType = \count(\array_filter($this->allowedTypes[$option], static function ($item) { 818 return '[]' === \substr(self::TYPE_ALIASES[$item] ?? $item, -2);808 return \str_ends_with(self::TYPE_ALIASES[$item] ?? $item, '[]'); 819 809 })) > 0; 820 810 if (\is_array($value) && $allowedContainsArrayType) { … … 929 919 * @see \ArrayAccess::offsetExists() 930 920 */ 921 #[\ReturnTypeWillChange] 931 922 public function offsetExists($option) 932 923 { … … 939 930 * Not supported. 940 931 * 932 * @return void 933 * 941 934 * @throws AccessException 942 935 */ 936 #[\ReturnTypeWillChange] 943 937 public function offsetSet($option, $value) 944 938 { … … 948 942 * Not supported. 949 943 * 944 * @return void 945 * 950 946 * @throws AccessException 951 947 */ 948 #[\ReturnTypeWillChange] 952 949 public function offsetUnset($option) 953 950 { … … 965 962 * @see \Countable::count() 966 963 */ 964 #[\ReturnTypeWillChange] 967 965 public function count() 968 966 { -
astrology/tags/1.0.5/dependencies/vendor/symfony/polyfill-php80/bootstrap.php
r2513947 r2612549 27 27 } 28 28 if (!function_exists('str_contains')) { 29 function str_contains( string $haystack, string $needle): bool { return p\Php80::str_contains($haystack, $needle); }29 function str_contains(?string $haystack, ?string $needle): bool { return p\Php80::str_contains($haystack ?? '', $needle ?? ''); } 30 30 } 31 31 if (!function_exists('str_starts_with')) { 32 function str_starts_with( string $haystack, string $needle): bool { return p\Php80::str_starts_with($haystack, $needle); }32 function str_starts_with(?string $haystack, ?string $needle): bool { return p\Php80::str_starts_with($haystack ?? '', $needle ?? ''); } 33 33 } 34 34 if (!function_exists('str_ends_with')) { 35 function str_ends_with( string $haystack, string $needle): bool { return p\Php80::str_ends_with($haystack, $needle); }35 function str_ends_with(?string $haystack, ?string $needle): bool { return p\Php80::str_ends_with($haystack ?? '', $needle ?? ''); } 36 36 } 37 37 if (!function_exists('get_debug_type')) { -
astrology/tags/1.0.5/dependencies/vendor/symfony/var-exporter/Internal/Exporter.php
r2513947 r2612549 61 61 } 62 62 goto handle_value; 63 } elseif (!\is_object($value) && !$value instanceof \__PHP_Incomplete_Class ) {63 } elseif (!\is_object($value) && !$value instanceof \__PHP_Incomplete_Class || $value instanceof \UnitEnum) { 64 64 goto handle_value; 65 65 } … … 77 77 } 78 78 if (!\is_array($properties = $value->__serialize())) { 79 throw new \ Prokerala\Astrology\Vendor\Typerror($class . '::__serialize() must return an array');79 throw new \TypeError($class . '::__serialize() must return an array'); 80 80 } 81 81 goto prepare_value; … … 98 98 $properties[] = $value[$v]; 99 99 } 100 $properties = ['SplObjectStorage' => ["\ 0" => $properties]];100 $properties = ['SplObjectStorage' => ["\x00" => $properties]]; 101 101 } elseif ($value instanceof \Serializable || $value instanceof \__PHP_Incomplete_Class) { 102 102 ++$objectsCount; … … 122 122 $i = 0; 123 123 $n = (string) $name; 124 if ('' === $n || "\ 0" !== $n[0]) {124 if ('' === $n || "\x00" !== $n[0]) { 125 125 $c = 'stdClass'; 126 126 } elseif ('*' === $n[1]) { … … 133 133 } 134 134 } else { 135 $i = \strpos($n, "\ 0", 2);135 $i = \strpos($n, "\x00", 2); 136 136 $c = \substr($n, 1, $i - 1); 137 137 $n = \substr($n, 1 + $i); … … 143 143 $sleep[$n] = \false; 144 144 } 145 if (!\array_key_exists($name, $proto) || $proto[$name] !== $v || "\ 0Error\0trace" === $name || "\0Exception\0trace" === $name) {145 if (!\array_key_exists($name, $proto) || $proto[$name] !== $v || "\x00Error\x00trace" === $name || "\x00Exception\x00trace" === $name) { 146 146 $properties[$c][$n] = $v; 147 147 } … … 174 174 { 175 175 switch (\true) { 176 case \is_int($value) || \is_float($value) :176 case \is_int($value) || \is_float($value) || $value instanceof \UnitEnum: 177 177 return \var_export($value, \true); 178 178 case [] === $value: … … 201 201 $code = \sprintf("'%s'", \addcslashes($value, "'\\")); 202 202 $code = \preg_replace_callback('/([\\0\\r\\n]++)(.)/', function ($m) use($subIndent) { 203 $m[1] = \sprintf('\'."%s".\'', \str_replace(["\ 0", "\r", "\n", '\\n\\'], ['\\0', '\\r', '\\n', '\\n"' . "\n" . $subIndent . '."\\'], $m[1]));203 $m[1] = \sprintf('\'."%s".\'', \str_replace(["\x00", "\r", "\n", '\\n\\'], ['\\0', '\\r', '\\n', '\\n"' . "\n" . $subIndent . '."\\'], $m[1])); 204 204 if ("'" === $m[2]) { 205 205 return \substr($m[1], 0, -2); … … 210 210 return $m[1] . $m[2]; 211 211 }, $code, -1, $count); 212 if ($count && 0 === \strpos($code, "''.")) {212 if ($count && \str_starts_with($code, "''.")) { 213 213 $code = \substr($code, 3); 214 214 } … … 266 266 } 267 267 if (\is_subclass_of($class, 'Throwable')) { 268 $eol = \is_subclass_of($class, 'Error') ? "\ 0Error\0" : "\0Exception\0";268 $eol = \is_subclass_of($class, 'Error') ? "\x00Error\x00" : "\x00Exception\x00"; 269 269 $serializables[$k] = \substr_replace($serializables[$k], '1:{s:' . (5 + \strlen($eol)) . ':"' . $eol . 'trace";a:0:{}}', -4); 270 270 } … … 345 345 unset($properties[2]); 346 346 } 347 $properties = [$reflector->class => ["\ 0" => $properties]];347 $properties = [$reflector->class => ["\x00" => $properties]]; 348 348 } 349 349 return $properties; -
astrology/tags/1.0.5/dependencies/vendor/symfony/var-exporter/Internal/Hydrator.php
r2513947 r2612549 74 74 return self::$hydrators[$class] = static function ($properties, $objects) use($constructor) { 75 75 foreach ($properties as $name => $values) { 76 if ("\ 0" !== $name) {76 if ("\x00" !== $name) { 77 77 foreach ($values as $i => $v) { 78 78 $objects[$i]->{$name} = $v; … … 80 80 } 81 81 } 82 foreach ($properties["\ 0"] ?? [] as $i => $v) {82 foreach ($properties["\x00"] ?? [] as $i => $v) { 83 83 $constructor($objects[$i], $v); 84 84 } … … 95 95 return self::$hydrators[$class] = static function ($properties, $objects) { 96 96 foreach ($properties as $name => $values) { 97 if ("\ 0" === $name) {97 if ("\x00" === $name) { 98 98 foreach ($values as $i => $v) { 99 99 for ($j = 0; $j < \count($v); ++$j) { -
astrology/tags/1.0.5/dependencies/vendor/symfony/var-exporter/VarExporter.php
r2513947 r2612549 41 41 { 42 42 $isStaticValue = \true; 43 if (!\is_object($value) && !(\is_array($value) && $value) && !$value instanceof \__PHP_Incomplete_Class && !\is_resource($value) ) {43 if (!\is_object($value) && !(\is_array($value) && $value) && !$value instanceof \__PHP_Incomplete_Class && !\is_resource($value) || $value instanceof \UnitEnum) { 44 44 return \Prokerala\Astrology\Vendor\Symfony\Component\VarExporter\Internal\Exporter::export($value); 45 45 } -
astrology/tags/1.0.5/readme.txt
r2516408 r2612549 3 3 Tags: astrology, prokerala 4 4 Requires at least: 5.5 5 Tested up to: 5. 76 Stable tag: 1.0. 45 Tested up to: 5.8.1 6 Stable tag: 1.0.5 7 7 Requires PHP: 7.2.0 8 8 License: GPLV2+ … … 117 117 == Changelog == 118 118 119 = 1.0.5 = 120 * Location parameters where not being passed correctly 121 * Minor inconsistencies and mistakes in template files 122 * Fix PHP notices 123 119 124 = 1.0.4 = 120 125 * Fix php notices -
astrology/tags/1.0.5/src/Admin/SettingsPage.php
r2513947 r2612549 94 94 $input['client_id'] = trim( $input['client_id'] ); 95 95 $input['client_secret'] = trim( $input['client_secret'] ); 96 $input['attribution'] = trim( $input['attribution'] ); 96 97 97 98 $this->validate_client( $input['client_id'], $input['client_secret'] ); … … 196 197 ?> 197 198 <label> 198 <input type="checkbox" id="astrology_plugin_setting_attribution" name="astrology_plugin_options[attribution]" <?php echo '1' === (string) $attribution ? 'checked' : ''; ?> value="1" />199 Remove<em>Powered by Prokerala</em> attribution.199 <input type="checkbox" id="astrology_plugin_setting_attribution" name="astrology_plugin_options[attribution]" <?php echo '1' === (string) $attribution ? 'checked' : ''; ?> value="1" onclick="return this.checked || confirm('Please continue only if you are on our paid plan. Attribution is mandatory on free plan. Hiding attribution on free plan can lead to account suspension and domain blacklisting without further notice.')" /> 200 Show <em>Powered by Prokerala</em> attribution. 200 201 </label> 201 <p class="help">Attribution is mandatory for free plan.</p>202 <p class="help">Attribution is mandatory on free plan. Violation can lead to account suspension and domain blacklisting without further notice.</p> 202 203 <?php 203 204 } -
astrology/tags/1.0.5/src/Block.php
r2513947 r2612549 103 103 'report' => [ 104 104 'default' => 'Chart', 105 'type' => 'string', 105 106 ], 106 107 'resultType' => [ 107 108 'default' => '', 109 'type' => 'string', 108 110 ], 109 111 ], -
astrology/tags/1.0.5/src/vendor/autoload.php
r2516408 r2612549 5 5 require_once __DIR__ . '/composer/autoload_real.php'; 6 6 7 return ComposerAutoloaderInit 97350fc22183ab553e127f2ec2225b7e::getLoader();7 return ComposerAutoloaderInitd7aac2e4ae75a33ae7be41266749683e::getLoader(); -
astrology/tags/1.0.5/src/vendor/composer/autoload_real.php
r2516408 r2612549 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 97350fc22183ab553e127f2ec2225b7e5 class ComposerAutoloaderInitd7aac2e4ae75a33ae7be41266749683e 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit 97350fc22183ab553e127f2ec2225b7e', 'loadClassLoader'), true, true);25 spl_autoload_register(array('ComposerAutoloaderInitd7aac2e4ae75a33ae7be41266749683e', 'loadClassLoader'), true, true); 26 26 self::$loader = $loader = new \Prokerala_WP_Astrology_Composer\Autoload\ClassLoader(); 27 spl_autoload_unregister(array('ComposerAutoloaderInit 97350fc22183ab553e127f2ec2225b7e', 'loadClassLoader'));27 spl_autoload_unregister(array('ComposerAutoloaderInitd7aac2e4ae75a33ae7be41266749683e', 'loadClassLoader')); 28 28 29 29 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); … … 31 31 require_once __DIR__ . '/autoload_static.php'; 32 32 33 call_user_func(\Prokerala_WP_Astrology_Composer\Autoload\ComposerStaticInit 97350fc22183ab553e127f2ec2225b7e::getInitializer($loader));33 call_user_func(\Prokerala_WP_Astrology_Composer\Autoload\ComposerStaticInitd7aac2e4ae75a33ae7be41266749683e::getInitializer($loader)); 34 34 } else { 35 35 $classMap = require __DIR__ . '/autoload_classmap.php'; -
astrology/tags/1.0.5/src/vendor/composer/autoload_static.php
r2516408 r2612549 5 5 namespace Prokerala_WP_Astrology_Composer\Autoload; 6 6 7 class ComposerStaticInit 97350fc22183ab553e127f2ec2225b7e7 class ComposerStaticInitd7aac2e4ae75a33ae7be41266749683e 8 8 { 9 9 public static $classMap = array ( … … 41 41 { 42 42 return \Closure::bind(function () use ($loader) { 43 $loader->classMap = ComposerStaticInit 97350fc22183ab553e127f2ec2225b7e::$classMap;43 $loader->classMap = ComposerStaticInitd7aac2e4ae75a33ae7be41266749683e::$classMap; 44 44 45 45 }, null, ClassLoader::class); -
astrology/tags/1.0.5/templates/front/form/horoscope-form.tpl.php
r2513947 r2612549 59 59 <label class="pk-astrology-col-sm-3 pk-astrology-col-md-4 pk-astrology-form-label">Place Of Birth:</label> 60 60 <div class="pk-astrology-col-sm-9 pk-astrology-col-md-8"> 61 <input type="text" name="location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Enter Location" value="" required data-location_input_prefix="loc">61 <input type="text" name="location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Enter Location" value="" required> 62 62 </div> 63 63 </div> -
astrology/tags/1.0.5/templates/front/form/horoscope-matching-form.tpl.php
r2513947 r2612549 63 63 <div class="pk-astrology-col-md-8"> 64 64 <div id='g-location'> 65 <input type='text' id="g-autocomplete" name="girl_location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Place of birth" value="" required="required" data-location_input_prefix="girl _loc"/>65 <input type='text' id="g-autocomplete" name="girl_location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Place of birth" value="" required="required" data-location_input_prefix="girl"/> 66 66 </div> 67 67 </div> … … 80 80 <div class="pk-astrology-col-md-8"> 81 81 <div id='b-location'> 82 <input type='text' id="b-coordinates" name="boy_location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Place of birth" required="required" data-location_input_prefix="boy _loc"/>82 <input type='text' id="b-coordinates" name="boy_location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Place of birth" required="required" data-location_input_prefix="boy"/> 83 83 </div> 84 84 </div> -
astrology/tags/1.0.5/templates/front/form/panchang-form.tpl.php
r2513947 r2612549 59 59 <label class="pk-astrology-col-sm-3 pk-astrology-col-md-4 pk-astrology-form-label">Location:</label> 60 60 <div class="pk-astrology-col-sm-9 pk-astrology-col-md-8"> 61 <input type="text" name="location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Enter Location" value="" required data-location_input_prefix="loc">61 <input type="text" name="location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Enter Location" value="" required> 62 62 </div> 63 63 </div> -
astrology/tags/1.0.5/templates/front/result/panchang.tpl.php
r2513947 r2612549 48 48 49 49 <?php if ( 'Nakshatra' === $key ) : ?> 50 (Lord: <?php echo $value['nakshatra_lord']; // phpcs:ignore WordPress.Security.EscapeOutput ?>) :50 (Lord: <?php echo $value['nakshatra_lord']; // phpcs:ignore WordPress.Security.EscapeOutput ?>) 51 51 <?php endif; ?> 52 <?php echo $value['start']->format( 'h:i A' ) . ' - ' . $value['end']->format( 'h:i A' ); // phpcs:ignore WordPress.Security.EscapeOutput ?></span>52 : <?php echo $value['start']->format( 'h:i A' ) . ' - ' . $value['end']->format( 'h:i A' ); // phpcs:ignore WordPress.Security.EscapeOutput ?></span> 53 53 <?php endforeach; ?> 54 54 -
astrology/trunk/assets/dist/js/main.js
r2513947 r2612549 27 27 /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 28 28 29 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Main\": function() { return /* binding */ Main; }\n/* harmony export */ });\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n * Class Main.\n *\n * @since 1.0.0\n */\nvar Main = /*#__PURE__*/function () {\n /**\n * Main constructor.\n *\n * @since 1.0.0\n */\n function Main() {\n _classCallCheck(this, Main);\n\n var inputs = document.querySelectorAll('.prokerala-location-input');\n this.register(inputs);\n }\n\n _createClass(Main, [{\n key: \"register\",\n value: function register(inputs) {\n _toConsumableArray(inputs).map(function (input) {\n var inputPrefix = input.dataset.location_input_prefix ? input.dataset.location_input_prefix : '';\n new LocationSearch(input, function (data) {\n var hiddenDiv = document.getElementById('form-hidden-fields');\n var coordinates = document.createElement('input');\n coordinates.name = inputPrefix + 'coordinates';\n coordinates.type = 'hidden';\n coordinates.value = \"\".concat(data.latitude, \",\").concat(data.longitude);\n var timezone = document.createElement('input');\n timezone.name = inputPrefix + 'timezone';\n timezone.type = 'hidden';\n timezone.value = data.timezone;\n hiddenDiv.appendChild(coordinates);\n hiddenDiv.appendChild(timezone);\n }, {\n clientId: CLIENT_ID,\n persistKey: inputPrefix\n });\n });\n }\n }]);\n\n return Main;\n}();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hc3NldHMvc3JjL2pzL2Zyb250L21haW4vbWFpbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL2FzdHJvbG9neS8uL2Fzc2V0cy9zcmMvanMvZnJvbnQvbWFpbi9tYWluLmpzP2Q3MDAiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikgeyByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikgeyBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXIpKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShhcnIpOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qKlxuICogQ2xhc3MgTWFpbi5cbiAqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IHZhciBNYWluID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIE1haW4gY29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBzaW5jZSAxLjAuMFxuICAgKi9cbiAgZnVuY3Rpb24gTWFpbigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTWFpbik7XG5cbiAgICB2YXIgaW5wdXRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnByb2tlcmFsYS1sb2NhdGlvbi1pbnB1dCcpO1xuICAgIHRoaXMucmVnaXN0ZXIoaW5wdXRzKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhNYWluLCBbe1xuICAgIGtleTogXCJyZWdpc3RlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZWdpc3RlcihpbnB1dHMpIHtcbiAgICAgIF90b0NvbnN1bWFibGVBcnJheShpbnB1dHMpLm1hcChmdW5jdGlvbiAoaW5wdXQpIHtcbiAgICAgICAgdmFyIGlucHV0UHJlZml4ID0gaW5wdXQuZGF0YXNldC5sb2NhdGlvbl9pbnB1dF9wcmVmaXggPyBpbnB1dC5kYXRhc2V0LmxvY2F0aW9uX2lucHV0X3ByZWZpeCA6ICcnO1xuICAgICAgICBuZXcgTG9jYXRpb25TZWFyY2goaW5wdXQsIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgdmFyIGhpZGRlbkRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtLWhpZGRlbi1maWVsZHMnKTtcbiAgICAgICAgICB2YXIgY29vcmRpbmF0ZXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgIGNvb3JkaW5hdGVzLm5hbWUgPSBpbnB1dFByZWZpeCArICdjb29yZGluYXRlcyc7XG4gICAgICAgICAgY29vcmRpbmF0ZXMudHlwZSA9ICdoaWRkZW4nO1xuICAgICAgICAgIGNvb3JkaW5hdGVzLnZhbHVlID0gXCJcIi5jb25jYXQoZGF0YS5sYXRpdHVkZSwgXCIsXCIpLmNvbmNhdChkYXRhLmxvbmdpdHVkZSk7XG4gICAgICAgICAgdmFyIHRpbWV6b25lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICB0aW1lem9uZS5uYW1lID0gaW5wdXRQcmVmaXggKyAndGltZXpvbmUnO1xuICAgICAgICAgIHRpbWV6b25lLnR5cGUgPSAnaGlkZGVuJztcbiAgICAgICAgICB0aW1lem9uZS52YWx1ZSA9IGRhdGEudGltZXpvbmU7XG4gICAgICAgICAgaGlkZGVuRGl2LmFwcGVuZENoaWxkKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgICBoaWRkZW5EaXYuYXBwZW5kQ2hpbGQodGltZXpvbmUpO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgY2xpZW50SWQ6IENMSUVOVF9JRCxcbiAgICAgICAgICBwZXJzaXN0S2V5OiBpbnB1dFByZWZpeFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBNYWluO1xufSgpOyJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./assets/src/js/front/main/main.js\n");29 eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Main\": function() { return /* binding */ Main; }\n/* harmony export */ });\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n * Class Main.\n *\n * @since 1.0.0\n */\nvar Main = /*#__PURE__*/function () {\n /**\n * Main constructor.\n *\n * @since 1.0.0\n */\n function Main() {\n _classCallCheck(this, Main);\n\n var inputs = document.querySelectorAll('.prokerala-location-input');\n this.register(inputs);\n }\n\n _createClass(Main, [{\n key: \"register\",\n value: function register(inputs) {\n _toConsumableArray(inputs).map(function (input) {\n var inputPrefix = input.dataset.location_input_prefix ? input.dataset.location_input_prefix + '_' : '';\n new LocationSearch(input, function (data) {\n var hiddenDiv = document.getElementById('form-hidden-fields');\n var coordinates = document.createElement('input');\n coordinates.name = inputPrefix + 'coordinates';\n coordinates.type = 'hidden';\n coordinates.value = \"\".concat(data.latitude, \",\").concat(data.longitude);\n var timezone = document.createElement('input');\n timezone.name = inputPrefix + 'timezone';\n timezone.type = 'hidden';\n timezone.value = data.timezone;\n hiddenDiv.appendChild(coordinates);\n hiddenDiv.appendChild(timezone);\n }, {\n clientId: CLIENT_ID,\n persistKey: \"\".concat(inputPrefix, \"loc\")\n });\n });\n }\n }]);\n\n return Main;\n}();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9hc3NldHMvc3JjL2pzL2Zyb250L21haW4vbWFpbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL2FzdHJvbG9neS8uL2Fzc2V0cy9zcmMvanMvZnJvbnQvbWFpbi9tYWluLmpzP2Q3MDAiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikgeyByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikgeyBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXIpKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTsgfVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShhcnIpOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5cbi8qKlxuICogQ2xhc3MgTWFpbi5cbiAqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuZXhwb3J0IHZhciBNYWluID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIE1haW4gY29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBzaW5jZSAxLjAuMFxuICAgKi9cbiAgZnVuY3Rpb24gTWFpbigpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTWFpbik7XG5cbiAgICB2YXIgaW5wdXRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnByb2tlcmFsYS1sb2NhdGlvbi1pbnB1dCcpO1xuICAgIHRoaXMucmVnaXN0ZXIoaW5wdXRzKTtcbiAgfVxuXG4gIF9jcmVhdGVDbGFzcyhNYWluLCBbe1xuICAgIGtleTogXCJyZWdpc3RlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiByZWdpc3RlcihpbnB1dHMpIHtcbiAgICAgIF90b0NvbnN1bWFibGVBcnJheShpbnB1dHMpLm1hcChmdW5jdGlvbiAoaW5wdXQpIHtcbiAgICAgICAgdmFyIGlucHV0UHJlZml4ID0gaW5wdXQuZGF0YXNldC5sb2NhdGlvbl9pbnB1dF9wcmVmaXggPyBpbnB1dC5kYXRhc2V0LmxvY2F0aW9uX2lucHV0X3ByZWZpeCArICdfJyA6ICcnO1xuICAgICAgICBuZXcgTG9jYXRpb25TZWFyY2goaW5wdXQsIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgdmFyIGhpZGRlbkRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtLWhpZGRlbi1maWVsZHMnKTtcbiAgICAgICAgICB2YXIgY29vcmRpbmF0ZXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICAgIGNvb3JkaW5hdGVzLm5hbWUgPSBpbnB1dFByZWZpeCArICdjb29yZGluYXRlcyc7XG4gICAgICAgICAgY29vcmRpbmF0ZXMudHlwZSA9ICdoaWRkZW4nO1xuICAgICAgICAgIGNvb3JkaW5hdGVzLnZhbHVlID0gXCJcIi5jb25jYXQoZGF0YS5sYXRpdHVkZSwgXCIsXCIpLmNvbmNhdChkYXRhLmxvbmdpdHVkZSk7XG4gICAgICAgICAgdmFyIHRpbWV6b25lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgICB0aW1lem9uZS5uYW1lID0gaW5wdXRQcmVmaXggKyAndGltZXpvbmUnO1xuICAgICAgICAgIHRpbWV6b25lLnR5cGUgPSAnaGlkZGVuJztcbiAgICAgICAgICB0aW1lem9uZS52YWx1ZSA9IGRhdGEudGltZXpvbmU7XG4gICAgICAgICAgaGlkZGVuRGl2LmFwcGVuZENoaWxkKGNvb3JkaW5hdGVzKTtcbiAgICAgICAgICBoaWRkZW5EaXYuYXBwZW5kQ2hpbGQodGltZXpvbmUpO1xuICAgICAgICB9LCB7XG4gICAgICAgICAgY2xpZW50SWQ6IENMSUVOVF9JRCxcbiAgICAgICAgICBwZXJzaXN0S2V5OiBcIlwiLmNvbmNhdChpbnB1dFByZWZpeCwgXCJsb2NcIilcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gTWFpbjtcbn0oKTsiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./assets/src/js/front/main/main.js\n"); 30 30 31 31 /***/ }) -
astrology/trunk/dependencies/vendor/autoload.php
r2516408 r2612549 5 5 require_once __DIR__ . '/composer/autoload_real.php'; 6 6 7 return ComposerAutoloaderInit b7b83f594773eb9c7444f58dd4447ff2::getLoader();7 return ComposerAutoloaderInit16dece52f7a59be557a72d427533fae0::getLoader(); -
astrology/trunk/dependencies/vendor/composer/autoload_classmap.php
r2513947 r2612549 154 154 'Prokerala\\Astrology\\Vendor\\Http\\Promise\\Promise' => $vendorDir . '/php-http/promise/src/Promise.php', 155 155 'Prokerala\\Astrology\\Vendor\\Http\\Promise\\RejectedPromise' => $vendorDir . '/php-http/promise/src/RejectedPromise.php', 156 'Prokerala\\Astrology\\Vendor\\JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', 156 157 'Prokerala\\Astrology\\Vendor\\Slim\\Psr7\\Cookies' => $vendorDir . '/slim/psr7/src/Cookies.php', 157 158 'Prokerala\\Astrology\\Vendor\\Slim\\Psr7\\Environment' => $vendorDir . '/slim/psr7/src/Environment.php', … … 244 245 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => $vendorDir . '/symfony/cache/Traits/PhpFilesTrait.php', 245 246 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\ProxyTrait' => $vendorDir . '/symfony/cache/Traits/ProxyTrait.php', 247 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterNodeProxy.php', 246 248 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => $vendorDir . '/symfony/cache/Traits/RedisClusterProxy.php', 247 249 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisProxy' => $vendorDir . '/symfony/cache/Traits/RedisProxy.php', … … 280 282 'Prokerala\\Astrology\\Vendor\\Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberTrait.php', 281 283 'Prokerala\\Astrology\\Vendor\\Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => $vendorDir . '/symfony/service-contracts/Test/ServiceLocatorTest.php', 284 'Prokerala\\Astrology\\Vendor\\Symfony\\Polyfill\\Php73\\Php73' => $vendorDir . '/symfony/polyfill-php73/Php73.php', 282 285 'Prokerala\\Astrology\\Vendor\\Symfony\\Polyfill\\Php80\\Php80' => $vendorDir . '/symfony/polyfill-php80/Php80.php', 283 286 'Prokerala\\Astrology\\Vendor\\UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', -
astrology/trunk/dependencies/vendor/composer/autoload_files.php
r2513947 r2612549 7 7 8 8 return array( 9 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', 10 '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', 9 11 '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php', 10 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',11 12 ); -
astrology/trunk/dependencies/vendor/composer/autoload_real.php
r2516408 r2612549 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit b7b83f594773eb9c7444f58dd4447ff25 class ComposerAutoloaderInit16dece52f7a59be557a72d427533fae0 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit b7b83f594773eb9c7444f58dd4447ff2', 'loadClassLoader'), true, true);25 spl_autoload_register(array('ComposerAutoloaderInit16dece52f7a59be557a72d427533fae0', 'loadClassLoader'), true, true); 26 26 self::$loader = $loader = new \Prokerala_WP_Astrology_Composer\Autoload\ClassLoader(); 27 spl_autoload_unregister(array('ComposerAutoloaderInit b7b83f594773eb9c7444f58dd4447ff2', 'loadClassLoader'));27 spl_autoload_unregister(array('ComposerAutoloaderInit16dece52f7a59be557a72d427533fae0', 'loadClassLoader')); 28 28 29 29 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); … … 31 31 require_once __DIR__ . '/autoload_static.php'; 32 32 33 call_user_func(\Prokerala_WP_Astrology_Composer\Autoload\ComposerStaticInit b7b83f594773eb9c7444f58dd4447ff2::getInitializer($loader));33 call_user_func(\Prokerala_WP_Astrology_Composer\Autoload\ComposerStaticInit16dece52f7a59be557a72d427533fae0::getInitializer($loader)); 34 34 } else { 35 35 $classMap = require __DIR__ . '/autoload_classmap.php'; -
astrology/trunk/dependencies/vendor/composer/autoload_static.php
r2516408 r2612549 5 5 namespace Prokerala_WP_Astrology_Composer\Autoload; 6 6 7 class ComposerStaticInit b7b83f594773eb9c7444f58dd4447ff27 class ComposerStaticInit16dece52f7a59be557a72d427533fae0 8 8 { 9 9 public static $classMap = array ( … … 155 155 'Prokerala\\Astrology\\Vendor\\Http\\Promise\\Promise' => __DIR__ . '/..' . '/php-http/promise/src/Promise.php', 156 156 'Prokerala\\Astrology\\Vendor\\Http\\Promise\\RejectedPromise' => __DIR__ . '/..' . '/php-http/promise/src/RejectedPromise.php', 157 'Prokerala\\Astrology\\Vendor\\JsonException' => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', 157 158 'Prokerala\\Astrology\\Vendor\\Slim\\Psr7\\Cookies' => __DIR__ . '/..' . '/slim/psr7/src/Cookies.php', 158 159 'Prokerala\\Astrology\\Vendor\\Slim\\Psr7\\Environment' => __DIR__ . '/..' . '/slim/psr7/src/Environment.php', … … 245 246 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\PhpFilesTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/PhpFilesTrait.php', 246 247 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\ProxyTrait' => __DIR__ . '/..' . '/symfony/cache/Traits/ProxyTrait.php', 248 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisClusterNodeProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterNodeProxy.php', 247 249 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisClusterProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisClusterProxy.php', 248 250 'Prokerala\\Astrology\\Vendor\\Symfony\\Component\\Cache\\Traits\\RedisProxy' => __DIR__ . '/..' . '/symfony/cache/Traits/RedisProxy.php', … … 281 283 'Prokerala\\Astrology\\Vendor\\Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberTrait.php', 282 284 'Prokerala\\Astrology\\Vendor\\Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => __DIR__ . '/..' . '/symfony/service-contracts/Test/ServiceLocatorTest.php', 285 'Prokerala\\Astrology\\Vendor\\Symfony\\Polyfill\\Php73\\Php73' => __DIR__ . '/..' . '/symfony/polyfill-php73/Php73.php', 283 286 'Prokerala\\Astrology\\Vendor\\Symfony\\Polyfill\\Php80\\Php80' => __DIR__ . '/..' . '/symfony/polyfill-php80/Php80.php', 284 287 'Prokerala\\Astrology\\Vendor\\UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', … … 342 345 { 343 346 return \Closure::bind(function () use ($loader) { 344 $loader->classMap = ComposerStaticInit b7b83f594773eb9c7444f58dd4447ff2::$classMap;347 $loader->classMap = ComposerStaticInit16dece52f7a59be557a72d427533fae0::$classMap; 345 348 346 349 }, null, ClassLoader::class); -
astrology/trunk/dependencies/vendor/prokerala/astrology-sdk/src/Api/Astrology/Transformer.php
r2513947 r2612549 110 110 } 111 111 $dataType = $this->getType($paramValue); 112 $paramClass = $param->get Class();112 $paramClass = $param->getType() && !$param->getType()->isBuiltin() ? new \ReflectionClass($param->getType()->getName()) : null; 113 113 if ($paramClass) { 114 114 $paramType = [$paramClass->getName()]; -
astrology/trunk/dependencies/vendor/psr/container/src/ContainerExceptionInterface.php
r2513947 r2612549 1 1 <?php 2 2 3 /**4 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)5 */6 3 namespace Psr\Container; 7 4 -
astrology/trunk/dependencies/vendor/psr/container/src/ContainerInterface.php
r2513947 r2612549 1 1 <?php 2 2 3 /** 4 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file) 5 */ 3 declare (strict_types=1); 6 4 namespace Psr\Container; 7 5 … … 21 19 * @return mixed Entry. 22 20 */ 23 public function get( $id);21 public function get(string $id); 24 22 /** 25 23 * Returns true if the container can return an entry for the given identifier. … … 33 31 * @return bool 34 32 */ 35 public function has( $id);33 public function has(string $id); 36 34 } -
astrology/trunk/dependencies/vendor/psr/container/src/NotFoundExceptionInterface.php
r2513947 r2612549 1 1 <?php 2 2 3 /**4 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)5 */6 3 namespace Psr\Container; 7 4 -
astrology/trunk/dependencies/vendor/psr/log/Psr/Log/AbstractLogger.php
r2513947 r2612549 15 15 * System is unusable. 16 16 * 17 * @param string $message18 * @param array$context17 * @param string $message 18 * @param mixed[] $context 19 19 * 20 20 * @return void … … 30 30 * trigger the SMS alerts and wake you up. 31 31 * 32 * @param string $message33 * @param array$context32 * @param string $message 33 * @param mixed[] $context 34 34 * 35 35 * @return void … … 44 44 * Example: Application component unavailable, unexpected exception. 45 45 * 46 * @param string $message47 * @param array$context46 * @param string $message 47 * @param mixed[] $context 48 48 * 49 49 * @return void … … 57 57 * be logged and monitored. 58 58 * 59 * @param string $message60 * @param array$context59 * @param string $message 60 * @param mixed[] $context 61 61 * 62 62 * @return void … … 72 72 * that are not necessarily wrong. 73 73 * 74 * @param string $message75 * @param array$context74 * @param string $message 75 * @param mixed[] $context 76 76 * 77 77 * @return void … … 84 84 * Normal but significant events. 85 85 * 86 * @param string $message87 * @param array$context86 * @param string $message 87 * @param mixed[] $context 88 88 * 89 89 * @return void … … 98 98 * Example: User logs in, SQL logs. 99 99 * 100 * @param string $message101 * @param array$context100 * @param string $message 101 * @param mixed[] $context 102 102 * 103 103 * @return void … … 110 110 * Detailed debug information. 111 111 * 112 * @param string $message113 * @param array$context112 * @param string $message 113 * @param mixed[] $context 114 114 * 115 115 * @return void -
astrology/trunk/dependencies/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
r2513947 r2612549 11 11 * The logger instance. 12 12 * 13 * @var LoggerInterface 13 * @var LoggerInterface|null 14 14 */ 15 15 protected $logger; -
astrology/trunk/dependencies/vendor/slim/psr7/src/Factory/StreamFactory.php
r2513947 r2612549 21 21 use function rewind; 22 22 use function set_error_handler; 23 use function sprintf;24 23 class StreamFactory implements \Psr\Http\Message\StreamFactoryInterface 25 24 { … … 44 43 public function createStreamFromFile(string $filename, string $mode = 'r', \Psr\Http\Message\StreamInterface $cache = null) : \Psr\Http\Message\StreamInterface 45 44 { 46 // When fopen fails, PHP 7 normally raises a warning. Add an error 47 // handler to check for errors and throw an exception instead. 48 // On PHP 8, exceptions are thrown. 49 $exc = null; 50 // Would not be initialized if fopen throws on PHP >= 8.0 51 $resource = null; 52 $errorHandler = function (string $errorMessage) use($filename, $mode, &$exc) { 53 $exc = new \RuntimeException(\sprintf('Unable to open %s using mode %s: %s', $filename, $mode, $errorMessage)); 54 }; 55 \set_error_handler(function (int $errno, string $errstr) use($errorHandler) { 56 $errorHandler($errstr); 45 \set_error_handler(static function (int $errno, string $errstr) use($filename, $mode) : void { 46 throw new \RuntimeException("Unable to open {$filename} using mode {$mode}: {$errstr}", $errno); 57 47 }); 58 48 try { 59 49 $resource = \fopen($filename, $mode); 60 // @codeCoverageIgnoreStart61 // (Can only be executed in PHP >= 8.0)62 50 } catch (\ValueError $exception) { 63 $errorHandler($exception->getMessage()); 64 } 65 // @codeCoverageIgnoreEnd 66 \restore_error_handler(); 67 if ($exc) { 68 /** @var RuntimeException $exc */ 69 throw $exc; 51 throw new \RuntimeException("Unable to open {$filename} using mode {$mode}: " . $exception->getMessage()); 52 } finally { 53 \restore_error_handler(); 70 54 } 71 55 if (!\is_resource($resource)) { -
astrology/trunk/dependencies/vendor/slim/psr7/src/Headers.php
r2513947 r2612549 150 150 protected function parseAuthorizationHeader(array $headers) : array 151 151 { 152 if (!isset($headers['Authorization'])) { 152 $hasAuthorizationHeader = \false; 153 foreach ($headers as $name => $value) { 154 if (\strtolower($name) === 'authorization') { 155 $hasAuthorizationHeader = \true; 156 break; 157 } 158 } 159 if (!$hasAuthorizationHeader) { 153 160 if (isset($this->globals['REDIRECT_HTTP_AUTHORIZATION'])) { 154 161 $headers['Authorization'] = $this->globals['REDIRECT_HTTP_AUTHORIZATION']; … … 242 249 throw new \InvalidArgumentException('Header values must be a string or an array of strings, empty array given.'); 243 250 } 244 $pattern = "@^[ \t!-~ -ÿ]*\$@";251 $pattern = "@^[ \t!-~\x80-\xff]*\$@"; 245 252 foreach ($items as $item) { 246 253 $hasInvalidType = !\is_numeric($item) && !\is_string($item); -
astrology/trunk/dependencies/vendor/slim/psr7/src/Uri.php
r2513947 r2612549 26 26 class Uri implements \Psr\Http\Message\UriInterface 27 27 { 28 public const SUPPORTED_SCHEMES = ['' => null, 'http' => 80, 'https' => 443]; 28 29 /** 29 30 * Uri scheme (without "://" suffix) … … 110 111 * 111 112 * @throws InvalidArgumentException If the Uri scheme is not a string. 112 * @throws InvalidArgumentException If Uri scheme is not "", "https", or "http".113 * @throws InvalidArgumentException If Uri scheme is not exists in SUPPORTED_SCHEMES 113 114 */ 114 115 protected function filterScheme($scheme) : string … … 117 118 throw new \InvalidArgumentException('Uri scheme must be a string.'); 118 119 } 119 static $valid = ['' => \true, 'https' => \true, 'http' => \true];120 120 $scheme = \str_replace('://', '', \strtolower($scheme)); 121 if (! isset($valid[$scheme])) {122 throw new \InvalidArgumentException('Uri scheme must be one of: " ", "https", "http"');121 if (!\key_exists($scheme, self::SUPPORTED_SCHEMES)) { 122 throw new \InvalidArgumentException('Uri scheme must be one of: "' . \implode('", "', \array_keys(static::SUPPORTED_SCHEMES)) . '"'); 123 123 } 124 124 return $scheme; … … 243 243 protected function hasStandardPort() : bool 244 244 { 245 return $this->scheme === 'http' && $this->port === 80 || $this->scheme === 'https' && $this->port === 443;245 return static::SUPPORTED_SCHEMES[$this->scheme] === $this->port; 246 246 } 247 247 /** -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/AbstractAdapter.php
r2513947 r2612549 24 24 abstract class AbstractAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AdapterInterface, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\CacheInterface, \Psr\Log\LoggerAwareInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface 25 25 { 26 use AbstractAdapterTrait; 27 use ContractsTrait; 26 28 /** 27 29 * @internal 28 30 */ 29 31 protected const NS_SEPARATOR = ':'; 30 use AbstractAdapterTrait;31 use ContractsTrait;32 32 private static $apcuSupported; 33 33 private static $phpFilesSupported; … … 46 46 // For compactness, these values are packed in the key of an array using 47 47 // magic numbers in the form 9D-..-..-..-..-00-..-..-..-5F 48 if (\is_array($v) && 1 === \count($v) && 10 === \strlen($k = (string) \ key($v)) && "" === $k[0] && "\0" === $k[5] && "_" === $k[9]) {48 if (\is_array($v) && 1 === \count($v) && 10 === \strlen($k = (string) \array_key_first($v)) && "\x9d" === $k[0] && "\x00" === $k[5] && "_" === $k[9]) { 49 49 $item->value = $v[$k]; 50 50 $v = \unpack('Ve/Nc', \substr($k, 1, -1)); … … 73 73 } 74 74 // For compactness, expiry and creation duration are packed in the key of an array, using magic numbers as separators 75 $byLifetime[$ttl][$getId($key)] = $metadata ? [" " . \pack('VN', (int) (0.1 + $metadata[self::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[self::METADATA_CTIME]) . "_" => $item->value] : $item->value;75 $byLifetime[$ttl][$getId($key)] = $metadata ? ["\x9d" . \pack('VN', (int) (0.1 + $metadata[self::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[self::METADATA_CTIME]) . "_" => $item->value] : $item->value; 76 76 } 77 77 return $byLifetime; … … 102 102 return $opcache; 103 103 } 104 $apcu = new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ApcuAdapter($namespace, (int) $defaultLifetime / 5, $version);104 $apcu = new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ApcuAdapter($namespace, \intdiv($defaultLifetime, 5), $version); 105 105 if (null !== $logger) { 106 106 $apcu->setLogger($logger); … … 113 113 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('The "%s()" method expect argument #1 to be string, "%s" given.', __METHOD__, \gettype($dsn))); 114 114 } 115 if ( 0 === \strpos($dsn, 'redis:') || 0 === \strpos($dsn, 'rediss:')) {115 if (\str_starts_with($dsn, 'redis:') || \str_starts_with($dsn, 'rediss:')) { 116 116 return \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\RedisAdapter::createConnection($dsn, $options); 117 117 } 118 if ( 0 === \strpos($dsn, 'memcached:')) {118 if (\str_starts_with($dsn, 'memcached:')) { 119 119 return \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\MemcachedAdapter::createConnection($dsn, $options); 120 120 } -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/AbstractTagAwareAdapter.php
r2513947 r2612549 33 33 use AbstractAdapterTrait; 34 34 use ContractsTrait; 35 private const TAGS_PREFIX = "\ 0tags\0";35 private const TAGS_PREFIX = "\x00tags\x00"; 36 36 protected function __construct(string $namespace = '', int $defaultLifetime = 0) 37 37 { … … 97 97 } 98 98 $byLifetime[$ttl][$getId($key)] = $value; 99 $item->metadata = $item->newMetadata; 99 100 } 100 101 return $byLifetime; -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/ArrayAdapter.php
r2513947 r2612549 102 102 } 103 103 $item = (array) $item; 104 $key = $item["\ 0*\0key"];105 $value = $item["\ 0*\0value"];106 $expiry = $item["\ 0*\0expiry"];104 $key = $item["\x00*\x00key"]; 105 $value = $item["\x00*\x00value"]; 106 $expiry = $item["\x00*\x00expiry"]; 107 107 if (0 === $expiry) { 108 108 $expiry = \PHP_INT_MAX; … … 119 119 } 120 120 $this->values[$key] = $value; 121 $this->expiries[$key] = null !== $expiry ? $expiry :\PHP_INT_MAX;121 $this->expiries[$key] = $expiry ?? \PHP_INT_MAX; 122 122 return \true; 123 123 } -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/FilesystemTagAwareAdapter.php
r2513947 r2612549 19 19 * 20 20 * @author Nicolas Grekas <p@tchwork.com> 21 * @author Andr é Rømcke <andre.romcke+symfony@gmail.com>21 * @author André Rømcke <andre.romcke+symfony@gmail.com> 22 22 */ 23 23 class FilesystemTagAwareAdapter extends \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AbstractTagAwareAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface … … 129 129 $meta = \explode("\n", \fread($h, 4096), 3)[2] ?? ''; 130 130 // detect the compact format used in marshall() using magic numbers in the form 9D-..-..-..-..-00-..-..-..-5F 131 if (13 < \strlen($meta) && " " === $meta[0] && "\0" === $meta[5] && "_" === $meta[9]) {132 $meta[9] = "\ 0";131 if (13 < \strlen($meta) && "\x9d" === $meta[0] && "\x00" === $meta[5] && "_" === $meta[9]) { 132 $meta[9] = "\x00"; 133 133 $tagLen = \unpack('Nlen', $meta, 9)['len']; 134 134 $meta = \substr($meta, 13, $tagLen); -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/NullAdapter.php
r2513947 r2612549 97 97 public function save(\Psr\Cache\CacheItemInterface $item) 98 98 { 99 return \ false;99 return \true; 100 100 } 101 101 /** … … 106 106 public function saveDeferred(\Psr\Cache\CacheItemInterface $item) 107 107 { 108 return \ false;108 return \true; 109 109 } 110 110 /** … … 115 115 public function commit() 116 116 { 117 return \ false;117 return \true; 118 118 } 119 119 /** -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/ProxyAdapter.php
r2513947 r2612549 52 52 // For compactness, these values are packed in the key of an array using 53 53 // magic numbers in the form 9D-..-..-..-..-00-..-..-..-5F 54 if (\is_array($v) && 1 === \count($v) && 10 === \strlen($k = (string) \ key($v)) && "" === $k[0] && "\0" === $k[5] && "_" === $k[9]) {54 if (\is_array($v) && 1 === \count($v) && 10 === \strlen($k = (string) \array_key_first($v)) && "\x9d" === $k[0] && "\x00" === $k[5] && "_" === $k[9]) { 55 55 $item->value = $v[$k]; 56 56 $v = \unpack('Ve/Nc', \substr($k, 1, -1)); … … 69 69 static function (\Psr\Cache\CacheItemInterface $innerItem, array $item) { 70 70 // Tags are stored separately, no need to account for them when considering this item's newly set metadata 71 if (isset(($metadata = $item["\ 0*\0newMetadata"])[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS])) {71 if (isset(($metadata = $item["\x00*\x00newMetadata"])[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS])) { 72 72 unset($metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS]); 73 73 } 74 74 if ($metadata) { 75 75 // For compactness, expiry and creation duration are packed in the key of an array, using magic numbers as separators 76 $item["\ 0*\0value"] = ["" . \pack('VN', (int) (0.1 + $metadata[self::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[self::METADATA_CTIME]) . "_" => $item["\0*\0value"]];76 $item["\x00*\x00value"] = ["\x9d" . \pack('VN', (int) (0.1 + $metadata[self::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[self::METADATA_CTIME]) . "_" => $item["\x00*\x00value"]]; 77 77 } 78 $innerItem->set($item["\ 0*\0value"]);79 $innerItem->expiresAt(null !== $item["\ 0*\0expiry"] ? \DateTime::createFromFormat('U.u', \sprintf('%.6F', 0 === $item["\0*\0expiry"] ? \PHP_INT_MAX : $item["\0*\0expiry"])) : null);78 $innerItem->set($item["\x00*\x00value"]); 79 $innerItem->expiresAt(null !== $item["\x00*\x00expiry"] ? \DateTime::createFromFormat('U.u', \sprintf('%.6F', 0 === $item["\x00*\x00expiry"] ? \PHP_INT_MAX : $item["\x00*\x00expiry"])) : null); 80 80 }, 81 81 null, … … 199 199 } 200 200 $item = (array) $item; 201 if (null === $item["\ 0*\0expiry"] && 0 < $this->defaultLifetime) {202 $item["\ 0*\0expiry"] = \microtime(\true) + $this->defaultLifetime;203 } 204 if ($item["\ 0*\0poolHash"] === $this->poolHash && $item["\0*\0innerItem"]) {205 $innerItem = $item["\ 0*\0innerItem"];201 if (null === $item["\x00*\x00expiry"] && 0 < $this->defaultLifetime) { 202 $item["\x00*\x00expiry"] = \microtime(\true) + $this->defaultLifetime; 203 } 204 if ($item["\x00*\x00poolHash"] === $this->poolHash && $item["\x00*\x00innerItem"]) { 205 $innerItem = $item["\x00*\x00innerItem"]; 206 206 } elseif ($this->pool instanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AdapterInterface) { 207 207 // this is an optimization specific for AdapterInterface implementations 208 208 // so we can save a round-trip to the backend by just creating a new item 209 209 $f = $this->createCacheItem; 210 $innerItem = $f($this->namespace . $item["\ 0*\0key"], null);210 $innerItem = $f($this->namespace . $item["\x00*\x00key"], null); 211 211 } else { 212 $innerItem = $this->pool->getItem($this->namespace . $item["\ 0*\0key"]);212 $innerItem = $this->pool->getItem($this->namespace . $item["\x00*\x00key"]); 213 213 } 214 214 ($this->setInnerItem)($innerItem, $item); -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/Psr16Adapter.php
r2513947 r2612549 22 22 class Psr16Adapter extends \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AbstractAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface 23 23 { 24 use ProxyTrait; 24 25 /** 25 26 * @internal 26 27 */ 27 28 protected const NS_SEPARATOR = '_'; 28 use ProxyTrait;29 29 private $miss; 30 30 public function __construct(\Psr\SimpleCache\CacheInterface $pool, string $namespace = '', int $defaultLifetime = 0) -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/RedisAdapter.php
r2513947 r2612549 12 12 13 13 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface; 14 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy; 15 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy; 14 16 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisTrait; 15 17 class RedisAdapter extends \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\AbstractAdapter … … 17 19 use RedisTrait; 18 20 /** 19 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface $redisClientThe redis client20 * @param string $namespace The default namespace21 * @param int $defaultLifetime The default lifetime21 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy $redis The redis client 22 * @param string $namespace The default namespace 23 * @param int $defaultLifetime The default lifetime 22 24 */ 23 public function __construct($redis Client, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null)25 public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null) 24 26 { 25 $this->init($redis Client, $namespace, $defaultLifetime, $marshaller);27 $this->init($redis, $namespace, $defaultLifetime, $marshaller); 26 28 } 27 29 } -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/RedisTagAwareAdapter.php
r2513947 r2612549 13 13 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ClusterInterface; 14 14 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster; 15 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ReplicationInterface; 15 16 use Prokerala\Astrology\Vendor\Predis\Response\Status; 17 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem; 16 18 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException; 17 19 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\LogicException; … … 19 21 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface; 20 22 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\TagAwareMarshaller; 23 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy; 24 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy; 21 25 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisTrait; 22 26 /** 23 * Stores tag id <> cache id relationship as a Redis Set , lookup on invalidation using RENAME+SMEMBERS.27 * Stores tag id <> cache id relationship as a Redis Set. 24 28 * 25 29 * Set (tag relation info) is stored without expiry (non-volatile), while cache always gets an expiry (volatile) even … … 27 31 * relationship survives eviction (cache cleanup when Redis runs out of memory). 28 32 * 29 * Requirements: 30 * - Client: PHP Redis or Predis 31 * Note: Due to lack of RENAME support it is NOT recommended to use Cluster on Predis, instead use phpredis. 32 * - Server: Redis 2.8+ 33 * Configured with any `volatile-*` eviction policy, OR `noeviction` if it will NEVER fill up memory 33 * Redis server 2.8+ with any `volatile-*` eviction policy, OR `noeviction` if you're sure memory will NEVER fill up 34 34 * 35 35 * Design limitations: … … 47 47 use RedisTrait; 48 48 /** 49 * Limits for how many keys are deleted in batch.50 */51 private const BULK_DELETE_LIMIT = 10000;52 /**53 49 * On cache items without a lifetime set, we set it to 100 days. This is to make sure cache items are 54 50 * preferred to be evicted over tag Sets, if eviction policy is configured according to requirements. … … 60 56 private $redisEvictionPolicy; 61 57 /** 62 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface $redisClientThe redis client63 * @param string $namespace The default namespace64 * @param int $defaultLifetime The default lifetime65 */ 66 public function __construct($redis Client, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null)67 { 68 if ($redis Client instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && $redisClient->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ClusterInterface && !$redisClient->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster) {69 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('Unsupported Predis cluster connection: only "%s" is, "%s" given.', \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster::class, \get_class($redis Client->getConnection())));70 } 71 if (\defined('Redis::OPT_COMPRESSION') && ($redis Client instanceof \Redis || $redisClient instanceof \RedisArray || $redisClientinstanceof \RedisCluster)) {72 $compression = $redis Client->getOption(\Redis::OPT_COMPRESSION);58 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy $redis The redis client 59 * @param string $namespace The default namespace 60 * @param int $defaultLifetime The default lifetime 61 */ 62 public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null) 63 { 64 if ($redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && $redis->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ClusterInterface && !$redis->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster) { 65 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('Unsupported Predis cluster connection: only "%s" is, "%s" given.', \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster::class, \get_class($redis->getConnection()))); 66 } 67 if (\defined('Redis::OPT_COMPRESSION') && ($redis instanceof \Redis || $redis instanceof \RedisArray || $redis instanceof \RedisCluster)) { 68 $compression = $redis->getOption(\Redis::OPT_COMPRESSION); 73 69 foreach (\is_array($compression) ? $compression : [$compression] as $c) { 74 70 if (\Redis::COMPRESSION_NONE !== $c) { … … 77 73 } 78 74 } 79 $this->init($redis Client, $namespace, $defaultLifetime, new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\TagAwareMarshaller($marshaller));75 $this->init($redis, $namespace, $defaultLifetime, new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\TagAwareMarshaller($marshaller)); 80 76 } 81 77 /** … … 85 81 { 86 82 $eviction = $this->getRedisEvictionPolicy(); 87 if ('noeviction' !== $eviction && 0 !== \strpos($eviction, 'volatile-')) {88 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\LogicException(\sprintf('Redis maxmemory-policy setting "%s" is *not* supported by RedisTagAwareAdapter, use "noeviction" or "volatile-*" eviction policies.', $eviction));83 if ('noeviction' !== $eviction && !\str_starts_with($eviction, 'volatile-')) { 84 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\LogicException(\sprintf('Redis maxmemory-policy setting "%s" is *not* supported by RedisTagAwareAdapter, use "noeviction" or "volatile-*" eviction policies.', $eviction)); 89 85 } 90 86 // serialize values … … 137 133 return v:sub(14, 13 + v:byte(13) + v:byte(12) * 256 + v:byte(11) * 65536) 138 134 EOLUA; 139 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 140 $evalArgs = [$lua, 1, &$id]; 141 } else { 142 $evalArgs = [$lua, [&$id], 1]; 143 } 144 $results = $this->pipeline(function () use($ids, &$id, $evalArgs) { 135 $results = $this->pipeline(function () use($ids, $lua) { 145 136 foreach ($ids as $id) { 146 (yield 'eval' => $ evalArgs);137 (yield 'eval' => $this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? [$lua, 1, $id] : [$lua, [$id], 1]); 147 138 } 148 139 }); 149 140 foreach ($results as $id => $result) { 141 if ($result instanceof \RedisException) { 142 \Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::log($this->logger, 'Failed to delete key "{key}": ' . $result->getMessage(), ['key' => \substr($id, \strlen($this->namespace)), 'exception' => $result]); 143 continue; 144 } 150 145 try { 151 146 (yield $id => !\is_string($result) || '' === $result ? [] : $this->marshaller->unmarshall($result)); … … 160 155 protected function doDeleteTagRelations(array $tagData) : bool 161 156 { 162 $ this->pipeline(static function () use($tagData) {157 $results = $this->pipeline(static function () use($tagData) { 163 158 foreach ($tagData as $tagId => $idList) { 164 159 \array_unshift($idList, $tagId); 165 160 (yield 'sRem' => $idList); 166 161 } 167 })->rewind(); 162 }); 163 foreach ($results as $result) { 164 // no-op 165 } 168 166 return \true; 169 167 } … … 173 171 protected function doInvalidate(array $tagIds) : bool 174 172 { 175 if (!$this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface || !$this->redis->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\PredisCluster) { 176 $movedTagSetIds = $this->renameKeys($this->redis, $tagIds); 177 } else { 178 $clusterConnection = $this->redis->getConnection(); 179 $tagIdsByConnection = new \SplObjectStorage(); 180 $movedTagSetIds = []; 173 // This script scans the set of items linked to tag: it empties the set 174 // and removes the linked items. When the set is still not empty after 175 // the scan, it means we're in cluster mode and that the linked items 176 // are on other nodes: we move the links to a temporary set and we 177 // gargage collect that set from the client side. 178 $lua = <<<'EOLUA' 179 redis.replicate_commands() 180 181 local cursor = '0' 182 local id = KEYS[1] 183 repeat 184 local result = redis.call('SSCAN', id, cursor, 'COUNT', 5000); 185 cursor = result[1]; 186 local rems = {} 187 188 for _, v in ipairs(result[2]) do 189 local ok, _ = pcall(redis.call, 'DEL', ARGV[1]..v) 190 if ok then 191 table.insert(rems, v) 192 end 193 end 194 if 0 < #rems then 195 redis.call('SREM', id, unpack(rems)) 196 end 197 until '0' == cursor; 198 199 redis.call('SUNIONSTORE', '{'..id..'}'..id, id) 200 redis.call('DEL', id) 201 202 return redis.call('SSCAN', '{'..id..'}'..id, '0', 'COUNT', 5000) 203 EOLUA; 204 $results = $this->pipeline(function () use($tagIds, $lua) { 205 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 206 $prefix = $this->redis->getOptions()->prefix ? $this->redis->getOptions()->prefix->getPrefix() : ''; 207 } elseif (\is_array($prefix = $this->redis->getOption(\Redis::OPT_PREFIX) ?? '')) { 208 $prefix = \current($prefix); 209 } 181 210 foreach ($tagIds as $id) { 182 $connection = $clusterConnection->getConnectionByKey($id); 183 $slot = $tagIdsByConnection[$connection] ?? ($tagIdsByConnection[$connection] = new \ArrayObject()); 184 $slot[] = $id; 185 } 186 foreach ($tagIdsByConnection as $connection) { 187 $slot = $tagIdsByConnection[$connection]; 188 $movedTagSetIds = \array_merge($movedTagSetIds, $this->renameKeys(new $this->redis($connection, $this->redis->getOptions()), $slot->getArrayCopy())); 189 } 190 } 191 // No Sets found 192 if (!$movedTagSetIds) { 193 return \false; 194 } 195 // Now safely take the time to read the keys in each set and collect ids we need to delete 196 $tagIdSets = $this->pipeline(static function () use($movedTagSetIds) { 197 foreach ($movedTagSetIds as $movedTagId) { 198 (yield 'sMembers' => [$movedTagId]); 199 } 200 }); 201 // Return combination of the temporary Tag Set ids and their values (cache ids) 202 $ids = \array_merge($movedTagSetIds, ...\iterator_to_array($tagIdSets, \false)); 203 // Delete cache in chunks to avoid overloading the connection 204 foreach (\array_chunk(\array_unique($ids), self::BULK_DELETE_LIMIT) as $chunkIds) { 205 $this->doDelete($chunkIds); 206 } 207 return \true; 208 } 209 /** 210 * Renames several keys in order to be able to operate on them without risk of race conditions. 211 * 212 * Filters out keys that do not exist before returning new keys. 213 * 214 * @see https://redis.io/commands/rename 215 * @see https://redis.io/topics/cluster-spec#keys-hash-tags 216 * 217 * @return array Filtered list of the valid moved keys (only those that existed) 218 */ 219 private function renameKeys($redis, array $ids) : array 220 { 221 $newIds = []; 222 $uniqueToken = \bin2hex(\random_bytes(10)); 223 $results = $this->pipeline(static function () use($ids, $uniqueToken) { 224 foreach ($ids as $id) { 225 (yield 'rename' => [$id, '{' . $id . '}' . $uniqueToken]); 226 } 227 }, $redis); 228 foreach ($results as $id => $result) { 229 if (\true === $result || $result instanceof \Prokerala\Astrology\Vendor\Predis\Response\Status && \Prokerala\Astrology\Vendor\Predis\Response\Status::get('OK') === $result) { 230 // Only take into account if ok (key existed), will be false on phpredis if it did not exist 231 $newIds[] = '{' . $id . '}' . $uniqueToken; 232 } 233 } 234 return $newIds; 211 (yield 'eval' => $this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? [$lua, 1, $id, $prefix] : [$lua, [$id, $prefix], 1]); 212 } 213 }); 214 $lua = <<<'EOLUA' 215 redis.replicate_commands() 216 217 local id = KEYS[1] 218 local cursor = table.remove(ARGV) 219 redis.call('SREM', '{'..id..'}'..id, unpack(ARGV)) 220 221 return redis.call('SSCAN', '{'..id..'}'..id, cursor, 'COUNT', 5000) 222 EOLUA; 223 $success = \true; 224 foreach ($results as $id => $values) { 225 if ($values instanceof \RedisException) { 226 \Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::log($this->logger, 'Failed to invalidate key "{key}": ' . $values->getMessage(), ['key' => \substr($id, \strlen($this->namespace)), 'exception' => $values]); 227 $success = \false; 228 continue; 229 } 230 [$cursor, $ids] = $values; 231 while ($ids || '0' !== $cursor) { 232 $this->doDelete($ids); 233 $evalArgs = [$id, $cursor]; 234 \array_splice($evalArgs, 1, 0, $ids); 235 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 236 \array_unshift($evalArgs, $lua, 1); 237 } else { 238 $evalArgs = [$lua, $evalArgs, 1]; 239 } 240 $results = $this->pipeline(function () use($evalArgs) { 241 (yield 'eval' => $evalArgs); 242 }); 243 foreach ($results as [$cursor, $ids]) { 244 // no-op 245 } 246 } 247 } 248 return $success; 235 249 } 236 250 private function getRedisEvictionPolicy() : string … … 239 253 return $this->redisEvictionPolicy; 240 254 } 241 foreach ($this->getHosts() as $host) { 255 $hosts = $this->getHosts(); 256 $host = \reset($hosts); 257 if ($host instanceof \Prokerala\Astrology\Vendor\Predis\Client && $host->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ReplicationInterface) { 258 // Predis supports info command only on the master in replication environments 259 $hosts = [$host->getClientFor('master')]; 260 } 261 foreach ($hosts as $host) { 242 262 $info = $host->info('Memory'); 243 263 $info = $info['Memory'] ?? $info; -
astrology/trunk/dependencies/vendor/symfony/cache/Adapter/TagAwareAdapter.php
r2513947 r2612549 13 13 use Psr\Cache\CacheItemInterface; 14 14 use Psr\Cache\InvalidArgumentException; 15 use Psr\Log\LoggerAwareInterface; 16 use Psr\Log\LoggerAwareTrait; 15 17 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem; 16 18 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface; … … 22 24 * @author Nicolas Grekas <p@tchwork.com> 23 25 */ 24 class TagAwareAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\TagAwareAdapterInterface, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\TagAwareCacheInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface 26 class TagAwareAdapter implements \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\TagAwareAdapterInterface, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\TagAwareCacheInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\PruneableInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface, \Psr\Log\LoggerAwareInterface 25 27 { 26 public const TAGS_PREFIX = "\0tags\0";27 28 use ContractsTrait; 29 use LoggerAwareTrait; 28 30 use ProxyTrait; 31 public const TAGS_PREFIX = "\x00tags\x00"; 29 32 private $deferred = []; 30 33 private $createCacheItem; … … 68 71 foreach ($deferred as $key => $item) { 69 72 $tagsByKey[$key] = $item->newMetadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS] ?? []; 73 $item->metadata = $item->newMetadata; 70 74 } 71 75 return $tagsByKey; … … 188 192 if ('' !== $prefix) { 189 193 foreach ($this->deferred as $key => $item) { 190 if ( 0 === \strpos($key, $prefix)) {194 if (\str_starts_with($key, $prefix)) { 191 195 unset($this->deferred[$key]); 192 196 } … … 258 262 return $this->invalidateTags([]); 259 263 } 264 /** 265 * @return array 266 */ 260 267 public function __sleep() 261 268 { -
astrology/trunk/dependencies/vendor/symfony/cache/CacheItem.php
r2513947 r2612549 146 146 * Validates a cache key according to PSR-6. 147 147 * 148 * @param string$key The key to validate148 * @param mixed $key The key to validate 149 149 * 150 150 * @throws InvalidArgumentException When $key is not valid -
astrology/trunk/dependencies/vendor/symfony/cache/DependencyInjection/CachePoolPass.php
r2513947 r2612549 14 14 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter; 15 15 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ChainAdapter; 16 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\NullAdapter; 16 17 use Prokerala\Astrology\Vendor\Symfony\Component\DependencyInjection\ChildDefinition; 17 18 use Prokerala\Astrology\Vendor\Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; … … 111 112 $chainedPool->replaceArgument($i++, new \Prokerala\Astrology\Vendor\Symfony\Component\DependencyInjection\Reference(static::getServiceProvider($container, $chainedTags[0]['provider']))); 112 113 } 113 if (isset($tags[0]['namespace']) && \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter::class !== $adapter->getClass()) {114 if (isset($tags[0]['namespace']) && !\in_array($adapter->getClass(), [\Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter::class, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\NullAdapter::class], \true)) { 114 115 $chainedPool->replaceArgument($i++, $tags[0]['namespace']); 115 116 } … … 132 133 $pool->addTag($this->kernelResetTag, ['method' => $tags[0][$attr]]); 133 134 } 134 } elseif ('namespace' !== $attr || \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter::class !== $class) {135 } elseif ('namespace' !== $attr || !\in_array($class, [\Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\ArrayAdapter::class, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\NullAdapter::class], \true)) { 135 136 $pool->replaceArgument($i++, $tags[0][$attr]); 136 137 } -
astrology/trunk/dependencies/vendor/symfony/cache/DoctrineProvider.php
r2513947 r2612549 43 43 /** 44 44 * {@inheritdoc} 45 * 46 * @return mixed 45 47 */ 46 48 protected function doFetch($id) -
astrology/trunk/dependencies/vendor/symfony/cache/LockRegistry.php
r2513947 r2612549 26 26 { 27 27 private static $openedFiles = []; 28 private static $lockedFiles = [];28 private static $lockedFiles; 29 29 /** 30 30 * The number of items in this list controls the max number of concurrent processes. … … 51 51 public static function compute(callable $callback, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\ItemInterface $item, bool &$save, \Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\CacheInterface $pool, \Closure $setMetadata = null, \Psr\Log\LoggerInterface $logger = null) 52 52 { 53 $key = self::$files ? \crc32($item->getKey()) % \count(self::$files) : -1; 53 if ('\\' === \DIRECTORY_SEPARATOR && null === self::$lockedFiles) { 54 // disable locking on Windows by default 55 self::$files = self::$lockedFiles = []; 56 } 57 $key = self::$files ? \abs(\crc32($item->getKey())) % \count(self::$files) : -1; 54 58 if ($key < 0 || (self::$lockedFiles[$key] ?? \false) || !($lock = self::open($key))) { 55 59 return $callback($item, $save); … … 80 84 } 81 85 static $signalingException, $signalingCallback; 82 $signalingException = $signalingException ?? \unserialize("O:9:\"Exception\":1:{s:16:\"\ 0Exception\0trace\";a:0:{}}");86 $signalingException = $signalingException ?? \unserialize("O:9:\"Exception\":1:{s:16:\"\x00Exception\x00trace\";a:0:{}}"); 83 87 $signalingCallback = $signalingCallback ?? function () use($signalingException) { 84 88 throw $signalingException; -
astrology/trunk/dependencies/vendor/symfony/cache/Marshaller/TagAwareMarshaller.php
r2513947 r2612549 41 41 $v['tags'] = ''; 42 42 } 43 $serialized[$id] = " " . ($value['meta'] ?? "\0\0\0\0\0\0\0\0") . \pack('N', \strlen($v['tags'])) . $v['tags'] . $v['value'];43 $serialized[$id] = "\x9d" . ($value['meta'] ?? "\x00\x00\x00\x00\x00\x00\x00\x00") . \pack('N', \strlen($v['tags'])) . $v['tags'] . $v['value']; 44 44 $serialized[$id][9] = "_"; 45 45 } … … 61 61 { 62 62 // detect the compact format used in marshall() using magic numbers in the form 9D-..-..-..-..-00-..-..-..-5F 63 if (13 >= \strlen($value) || " " !== $value[0] || "\0" !== $value[5] || "_" !== $value[9]) {63 if (13 >= \strlen($value) || "\x9d" !== $value[0] || "\x00" !== $value[5] || "_" !== $value[9]) { 64 64 return $this->marshaller->unmarshall($value); 65 65 } 66 66 // data consists of value, tags and metadata which we need to unpack 67 67 $meta = \substr($value, 1, 12); 68 $meta[8] = "\ 0";68 $meta[8] = "\x00"; 69 69 $tagLen = \unpack('Nlen', $meta, 8)['len']; 70 70 $meta = \substr($meta, 0, 8); 71 return ['value' => $this->marshaller->unmarshall(\substr($value, 13 + $tagLen)), 'tags' => $tagLen ? $this->marshaller->unmarshall(\substr($value, 13, $tagLen)) : [], 'meta' => "\ 0\0\0\0\0\0\0\0" === $meta ? null : $meta];71 return ['value' => $this->marshaller->unmarshall(\substr($value, 13 + $tagLen)), 'tags' => $tagLen ? $this->marshaller->unmarshall(\substr($value, 13, $tagLen)) : [], 'meta' => "\x00\x00\x00\x00\x00\x00\x00\x00" === $meta ? null : $meta]; 72 72 } 73 73 } -
astrology/trunk/dependencies/vendor/symfony/cache/Psr16Cache.php
r2513947 r2612549 156 156 unset($metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_TAGS]); 157 157 if ($metadata) { 158 $values[$key] = [" " . \pack('VN', (int) (0.1 + $metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_CTIME]) . "_" => $values[$key]];158 $values[$key] = ["\x9d" . \pack('VN', (int) (0.1 + $metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[\Prokerala\Astrology\Vendor\Symfony\Component\Cache\CacheItem::METADATA_CTIME]) . "_" => $values[$key]]; 159 159 } 160 160 } -
astrology/trunk/dependencies/vendor/symfony/cache/Simple/AbstractCache.php
r2513947 r2612549 25 25 abstract class AbstractCache implements \Psr\SimpleCache\CacheInterface, \Psr\Log\LoggerAwareInterface, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\ResettableInterface 26 26 { 27 /**28 * @internal29 */30 protected const NS_SEPARATOR = ':';31 27 use AbstractTrait { 32 28 deleteItems as private; … … 34 30 AbstractTrait::hasItem as has; 35 31 } 32 /** 33 * @internal 34 */ 35 protected const NS_SEPARATOR = ':'; 36 36 private $defaultLifetime; 37 37 protected function __construct(string $namespace = '', int $defaultLifetime = 0) -
astrology/trunk/dependencies/vendor/symfony/cache/Simple/RedisCache.php
r2513947 r2612549 13 13 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Adapter\RedisAdapter; 14 14 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface; 15 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy; 16 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy; 15 17 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisTrait; 16 18 use Prokerala\Astrology\Vendor\Symfony\Contracts\Cache\CacheInterface; … … 23 25 use RedisTrait; 24 26 /** 25 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface $redisClient27 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy $redis 26 28 */ 27 public function __construct($redis Client, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null)29 public function __construct($redis, string $namespace = '', int $defaultLifetime = 0, \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller = null) 28 30 { 29 $this->init($redis Client, $namespace, $defaultLifetime, $marshaller);31 $this->init($redis, $namespace, $defaultLifetime, $marshaller); 30 32 } 31 33 } -
astrology/trunk/dependencies/vendor/symfony/cache/Traits/AbstractAdapterTrait.php
r2513947 r2612549 99 99 return \true; 100 100 } 101 /** 102 * @return array 103 */ 101 104 public function __sleep() 102 105 { -
astrology/trunk/dependencies/vendor/symfony/cache/Traits/ApcuTrait.php
r2513947 r2612549 98 98 if (1 === \count($values)) { 99 99 // Workaround https://github.com/krakjoe/apcu/issues/170 100 \apcu_delete(\ key($values));100 \apcu_delete(\array_key_first($values)); 101 101 } 102 102 throw $e; -
astrology/trunk/dependencies/vendor/symfony/cache/Traits/ArrayTrait.php
r2513947 r2612549 70 70 if ('' !== $prefix) { 71 71 foreach ($this->values as $key => $value) { 72 if ( 0 === \strpos($key, $prefix)) {72 if (\str_starts_with($key, $prefix)) { 73 73 unset($this->values[$key], $this->expiries[$key]); 74 74 } … … 128 128 $serialized = \serialize($value); 129 129 } catch (\Exception $e) { 130 unset($this->values[$key]); 130 131 $type = \is_object($value) ? \get_class($value) : \gettype($value); 131 132 $message = \sprintf('Failed to save key "{key}" of type %s: ', $type) . $e->getMessage(); -
astrology/trunk/dependencies/vendor/symfony/cache/Traits/FilesystemCommonTrait.php
r2513947 r2612549 53 53 $ok = \true; 54 54 foreach ($this->scanHashDir($this->directory) as $file) { 55 if ('' !== $namespace && 0 !== \strpos($this->getFileKey($file), $namespace)) {55 if ('' !== $namespace && !\str_starts_with($this->getFileKey($file), $namespace)) { 56 56 continue; 57 57 } … … 86 86 $h = \fopen($this->tmp, 'x'); 87 87 } catch (\ErrorException $e) { 88 if ( \false === \strpos($e->getMessage(), 'File exists')) {88 if (!\str_contains($e->getMessage(), 'File exists')) { 89 89 throw $e; 90 90 } -
astrology/trunk/dependencies/vendor/symfony/cache/Traits/MemcachedTrait.php
r2513947 r2612549 29 29 * Note: don’t use {@see \Symfony\Component\Cache\Adapter\AbstractAdapter::NS_SEPARATOR}. 30 30 */ 31 private static $RESERVED_MEMCACHED = " \n\r\t\v\f\ 0";31 private static $RESERVED_MEMCACHED = " \n\r\t\v\f\x00"; 32 32 private static $RESERVED_PSR6 = '@()\\{}/'; 33 33 private $marshaller; … … 95 95 continue; 96 96 } 97 if ( 0 !== \strpos($dsn, 'memcached:')) {97 if (!\str_starts_with($dsn, 'memcached:')) { 98 98 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('Invalid Memcached DSN: "%s" does not start with "memcached:".', $dsn)); 99 99 } -
astrology/trunk/dependencies/vendor/symfony/cache/Traits/PdoTrait.php
r2513947 r2612549 17 17 use Prokerala\Astrology\Vendor\Doctrine\DBAL\Exception; 18 18 use Prokerala\Astrology\Vendor\Doctrine\DBAL\Exception\TableNotFoundException; 19 use Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType; 19 20 use Prokerala\Astrology\Vendor\Doctrine\DBAL\Schema\Schema; 21 use Prokerala\Astrology\Vendor\Doctrine\DBAL\Statement; 20 22 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException; 21 23 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\DefaultMarshaller; … … 144 146 $deleteSql .= " AND {$this->idCol} LIKE :namespace"; 145 147 } 148 $connection = $this->getConnection(); 149 $useDbalConstants = $connection instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Connection; 146 150 try { 147 $delete = $ this->getConnection()->prepare($deleteSql);151 $delete = $connection->prepare($deleteSql); 148 152 } catch (\Prokerala\Astrology\Vendor\Doctrine\DBAL\Exception\TableNotFoundException $e) { 149 153 return \true; … … 151 155 return \true; 152 156 } 153 $delete->bindValue(':time', \time(), \PDO::PARAM_INT);157 $delete->bindValue(':time', \time(), $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 154 158 if ('' !== $this->namespace) { 155 $delete->bindValue(':namespace', \sprintf('%s%%', $this->namespace), \PDO::PARAM_STR);159 $delete->bindValue(':namespace', \sprintf('%s%%', $this->namespace), $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::STRING : \PDO::PARAM_STR); 156 160 } 157 161 try { 162 // Doctrine DBAL ^2.13 || >= 3.1 163 if ($delete instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Statement && \method_exists($delete, 'executeStatement')) { 164 $delete->executeStatement(); 165 return \true; 166 } 158 167 return $delete->execute(); 159 168 } catch (\Prokerala\Astrology\Vendor\Doctrine\DBAL\Exception\TableNotFoundException $e) { … … 168 177 protected function doFetch(array $ids) 169 178 { 179 $connection = $this->getConnection(); 180 $useDbalConstants = $connection instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Connection; 170 181 $now = \time(); 171 182 $expired = []; 172 183 $sql = \str_pad('', (\count($ids) << 1) - 1, '?,'); 173 184 $sql = "SELECT {$this->idCol}, CASE WHEN {$this->lifetimeCol} IS NULL OR {$this->lifetimeCol} + {$this->timeCol} > ? THEN {$this->dataCol} ELSE NULL END FROM {$this->table} WHERE {$this->idCol} IN ({$sql})"; 174 $stmt = $ this->getConnection()->prepare($sql);175 $stmt->bindValue($i = 1, $now, \PDO::PARAM_INT);185 $stmt = $connection->prepare($sql); 186 $stmt->bindValue($i = 1, $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 176 187 foreach ($ids as $id) { 177 188 $stmt->bindValue(++$i, $id); … … 194 205 $sql = \str_pad('', (\count($expired) << 1) - 1, '?,'); 195 206 $sql = "DELETE FROM {$this->table} WHERE {$this->lifetimeCol} + {$this->timeCol} <= ? AND {$this->idCol} IN ({$sql})"; 196 $stmt = $ this->getConnection()->prepare($sql);197 $stmt->bindValue($i = 1, $now, \PDO::PARAM_INT);207 $stmt = $connection->prepare($sql); 208 $stmt->bindValue($i = 1, $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 198 209 foreach ($expired as $id) { 199 210 $stmt->bindValue(++$i, $id); … … 207 218 protected function doHave($id) 208 219 { 220 $connection = $this->getConnection(); 221 $useDbalConstants = $connection instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Connection; 209 222 $sql = "SELECT 1 FROM {$this->table} WHERE {$this->idCol} = :id AND ({$this->lifetimeCol} IS NULL OR {$this->lifetimeCol} + {$this->timeCol} > :time)"; 210 $stmt = $ this->getConnection()->prepare($sql);223 $stmt = $connection->prepare($sql); 211 224 $stmt->bindValue(':id', $id); 212 $stmt->bindValue(':time', \time(), \PDO::PARAM_INT);225 $stmt->bindValue(':time', \time(), $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 213 226 $result = $stmt->execute(); 214 227 return (bool) (\is_object($result) ? $result->fetchOne() : $stmt->fetchColumn()); … … 264 277 } 265 278 $conn = $this->getConnection(); 279 $useDbalConstants = $conn instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Connection; 266 280 $driver = $this->driver; 267 281 $insertSql = "INSERT INTO {$this->table} ({$this->idCol}, {$this->dataCol}, {$this->lifetimeCol}, {$this->timeCol}) VALUES (:id, :data, :lifetime, :time)"; … … 308 322 $stmt->bindParam(1, $id); 309 323 $stmt->bindParam(2, $id); 310 $stmt->bindParam(3, $data, \PDO::PARAM_LOB);311 $stmt->bindValue(4, $lifetime, \PDO::PARAM_INT);312 $stmt->bindValue(5, $now, \PDO::PARAM_INT);313 $stmt->bindParam(6, $data, \PDO::PARAM_LOB);314 $stmt->bindValue(7, $lifetime, \PDO::PARAM_INT);315 $stmt->bindValue(8, $now, \PDO::PARAM_INT);324 $stmt->bindParam(3, $data, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::LARGE_OBJECT : \PDO::PARAM_LOB); 325 $stmt->bindValue(4, $lifetime, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 326 $stmt->bindValue(5, $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 327 $stmt->bindParam(6, $data, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::LARGE_OBJECT : \PDO::PARAM_LOB); 328 $stmt->bindValue(7, $lifetime, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 329 $stmt->bindValue(8, $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 316 330 } else { 317 331 $stmt->bindParam(':id', $id); 318 $stmt->bindParam(':data', $data, \PDO::PARAM_LOB);319 $stmt->bindValue(':lifetime', $lifetime, \PDO::PARAM_INT);320 $stmt->bindValue(':time', $now, \PDO::PARAM_INT);332 $stmt->bindParam(':data', $data, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::LARGE_OBJECT : \PDO::PARAM_LOB); 333 $stmt->bindValue(':lifetime', $lifetime, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 334 $stmt->bindValue(':time', $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 321 335 } 322 336 if (null === $driver) { 323 337 $insertStmt = $conn->prepare($insertSql); 324 338 $insertStmt->bindParam(':id', $id); 325 $insertStmt->bindParam(':data', $data, \PDO::PARAM_LOB);326 $insertStmt->bindValue(':lifetime', $lifetime, \PDO::PARAM_INT);327 $insertStmt->bindValue(':time', $now, \PDO::PARAM_INT);339 $insertStmt->bindParam(':data', $data, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::LARGE_OBJECT : \PDO::PARAM_LOB); 340 $insertStmt->bindValue(':lifetime', $lifetime, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 341 $insertStmt->bindValue(':time', $now, $useDbalConstants ? \Prokerala\Astrology\Vendor\Doctrine\DBAL\ParameterType::INTEGER : \PDO::PARAM_INT); 328 342 } 329 343 foreach ($values as $id => $data) { … … 397 411 $this->driver = 'sqlsrv'; 398 412 break; 413 case $driver instanceof \Prokerala\Astrology\Vendor\Doctrine\DBAL\Driver: 414 $this->driver = ['mssql' => 'sqlsrv', 'oracle' => 'oci', 'postgresql' => 'pgsql', 'sqlite' => 'sqlite', 'mysql' => 'mysql'][$driver->getDatabasePlatform()->getName()] ?? \get_class($driver); 415 break; 399 416 default: 400 417 $this->driver = \get_class($driver); -
astrology/trunk/dependencies/vendor/symfony/cache/Traits/RedisTrait.php
r2513947 r2612549 13 13 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ClusterInterface; 14 14 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\RedisCluster; 15 use Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ReplicationInterface; 15 16 use Prokerala\Astrology\Vendor\Predis\Response\Status; 16 17 use Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\CacheException; … … 26 27 trait RedisTrait 27 28 { 28 private static $defaultConnectionOptions = ['class' => null, 'persistent' => 0, 'persistent_id' => null, 'timeout' => 30, 'read_timeout' => 0, 'retry_interval' => 0, 'tcp_keepalive' => 0, 'lazy' => null, 'redis_cluster' => \false, 'redis_sentinel' => null, 'dbindex' => 0, 'failover' => 'none' ];29 private static $defaultConnectionOptions = ['class' => null, 'persistent' => 0, 'persistent_id' => null, 'timeout' => 30, 'read_timeout' => 0, 'retry_interval' => 0, 'tcp_keepalive' => 0, 'lazy' => null, 'redis_cluster' => \false, 'redis_sentinel' => null, 'dbindex' => 0, 'failover' => 'none', 'ssl' => null]; 29 30 private $redis; 30 31 private $marshaller; 31 32 /** 32 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface $redisClient33 */ 34 private function init($redis Client, string $namespace, int $defaultLifetime, ?\Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller)33 * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy $redis 34 */ 35 private function init($redis, string $namespace, int $defaultLifetime, ?\Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\MarshallerInterface $marshaller) 35 36 { 36 37 parent::__construct($namespace, $defaultLifetime); … … 38 39 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('RedisAdapter namespace contains "%s" but only characters in [-+_.A-Za-z0-9] are allowed.', $match[0])); 39 40 } 40 if (!$redis Client instanceof \Redis && !$redisClient instanceof \RedisArray && !$redisClient instanceof \RedisCluster && !$redisClient instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && !$redisClient instanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy && !$redisClientinstanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy) {41 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('"%s()" expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\\ClientInterface, "%s" given.', __METHOD__, \is_object($redis Client) ? \get_class($redisClient) : \gettype($redisClient)));42 } 43 if ($redis Client instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && $redisClient->getOptions()->exceptions) {44 $options = clone $redis Client->getOptions();41 if (!$redis instanceof \Redis && !$redis instanceof \RedisArray && !$redis instanceof \RedisCluster && !$redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && !$redis instanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisProxy && !$redis instanceof \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterProxy) { 42 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('"%s()" expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\\ClientInterface, "%s" given.', __METHOD__, \is_object($redis) ? \get_class($redis) : \gettype($redis))); 43 } 44 if ($redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && $redis->getOptions()->exceptions) { 45 $options = clone $redis->getOptions(); 45 46 \Closure::bind(function () { 46 47 $this->options['exceptions'] = \false; 47 48 }, $options, $options)(); 48 $redis Client = new $redisClient($redisClient->getConnection(), $options);49 } 50 $this->redis = $redis Client;49 $redis = new $redis($redis->getConnection(), $options); 50 } 51 $this->redis = $redis; 51 52 $this->marshaller = $marshaller ?? new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Marshaller\DefaultMarshaller(); 52 53 } … … 70 71 public static function createConnection($dsn, array $options = []) 71 72 { 72 if ( 0 === \strpos($dsn, 'redis:')) {73 if (\str_starts_with($dsn, 'redis:')) { 73 74 $scheme = 'redis'; 74 } elseif ( 0 === \strpos($dsn, 'rediss:')) {75 } elseif (\str_starts_with($dsn, 'rediss:')) { 75 76 $scheme = 'rediss'; 76 77 } else { … … 93 94 } 94 95 $query = $hosts = []; 96 $tls = 'rediss' === $scheme; 97 $tcpScheme = $tls ? 'tls' : 'tcp'; 95 98 if (isset($params['query'])) { 96 99 \parse_str($params['query'], $query); … … 104 107 } 105 108 if (\false === ($i = \strrpos($host, ':'))) { 106 $hosts[$host] = ['scheme' => 'tcp', 'host' => $host, 'port' => 6379] + $parameters;109 $hosts[$host] = ['scheme' => $tcpScheme, 'host' => $host, 'port' => 6379] + $parameters; 107 110 } elseif ($port = (int) \substr($host, 1 + $i)) { 108 $hosts[$host] = ['scheme' => 'tcp', 'host' => \substr($host, 0, $i), 'port' => $port] + $parameters;111 $hosts[$host] = ['scheme' => $tcpScheme, 'host' => \substr($host, 0, $i), 'port' => $port] + $parameters; 109 112 } else { 110 113 $hosts[$host] = ['scheme' => 'unix', 'path' => \substr($host, 0, $i)] + $parameters; … … 120 123 } 121 124 if (isset($params['host'])) { 122 \array_unshift($hosts, ['scheme' => 'tcp', 'host' => $params['host'], 'port' => $params['port'] ?? 6379]);125 \array_unshift($hosts, ['scheme' => $tcpScheme, 'host' => $params['host'], 'port' => $params['port'] ?? 6379]); 123 126 } else { 124 127 \array_unshift($hosts, ['scheme' => 'unix', 'path' => $params['path']]); … … 135 138 $class = $params['redis_cluster'] ? \RedisCluster::class : (1 < \count($hosts) ? \RedisArray::class : \Redis::class); 136 139 } else { 137 $class = null === $params['class'] ? \Prokerala\Astrology\Vendor\Predis\Client::class : $params['class'];140 $class = $params['class'] ?? \Prokerala\Astrology\Vendor\Predis\Client::class; 138 141 } 139 142 if (\is_a($class, \Redis::class, \true)) { 140 143 $connect = $params['persistent'] || $params['persistent_id'] ? 'pconnect' : 'connect'; 141 144 $redis = new $class(); 142 $initializer = static function ($redis) use($connect, $params, $dsn, $auth, $hosts) { 145 $initializer = static function ($redis) use($connect, $params, $dsn, $auth, $hosts, $tls) { 146 $host = $hosts[0]['host'] ?? $hosts[0]['path']; 147 $port = $hosts[0]['port'] ?? null; 148 if (isset($hosts[0]['host']) && $tls) { 149 $host = 'tls://' . $host; 150 } 143 151 try { 144 @$redis->{$connect}($host s[0]['host'] ?? $hosts[0]['path'], $hosts[0]['port'] ?? null, $params['timeout'], (string) $params['persistent_id'], $params['retry_interval'], $params['read_timeout']);152 @$redis->{$connect}($host, $port, $params['timeout'], (string) $params['persistent_id'], $params['retry_interval'], $params['read_timeout'], ...\defined('Redis::SCAN_PREFIX') ? [['stream' => $params['ssl'] ?? null]] : []); 145 153 \set_error_handler(function ($type, $msg) use(&$error) { 146 154 $error = $msg; … … 171 179 } elseif (\is_a($class, \RedisArray::class, \true)) { 172 180 foreach ($hosts as $i => $host) { 173 $hosts[$i] = 'tcp' === $host['scheme'] ? $host['host'] . ':' . $host['port'] : $host['path']; 181 switch ($host['scheme']) { 182 case 'tcp': 183 $hosts[$i] = $host['host'] . ':' . $host['port']; 184 break; 185 case 'tls': 186 $hosts[$i] = 'tls://' . $host['host'] . ':' . $host['port']; 187 break; 188 default: 189 $hosts[$i] = $host['path']; 190 } 174 191 } 175 192 $params['lazy_connect'] = $params['lazy'] ?? \true; … … 186 203 $initializer = static function () use($class, $params, $dsn, $hosts) { 187 204 foreach ($hosts as $i => $host) { 188 $hosts[$i] = 'tcp' === $host['scheme'] ? $host['host'] . ':' . $host['port'] : $host['path']; 205 switch ($host['scheme']) { 206 case 'tcp': 207 $hosts[$i] = $host['host'] . ':' . $host['port']; 208 break; 209 case 'tls': 210 $hosts[$i] = 'tls://' . $host['host'] . ':' . $host['port']; 211 break; 212 default: 213 $hosts[$i] = $host['path']; 214 } 189 215 } 190 216 try { 191 $redis = new $class(null, $hosts, $params['timeout'], $params['read_timeout'], (bool) $params['persistent'], $params['auth'] ?? '' );217 $redis = new $class(null, $hosts, $params['timeout'], $params['read_timeout'], (bool) $params['persistent'], $params['auth'] ?? '', ...\defined('Redis::SCAN_PREFIX') ? [$params['ssl'] ?? null] : []); 192 218 } catch (\RedisClusterException $e) { 193 219 throw new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Exception\InvalidArgumentException(\sprintf('Redis connection "%s" failed: ', $dsn) . $e->getMessage()); … … 235 261 } 236 262 $params['exceptions'] = \false; 237 $redis = new $class($hosts, \array_diff_key($params, self::$defaultConnectionOptions));263 $redis = new $class($hosts, \array_diff_key($params, \array_diff_key(self::$defaultConnectionOptions, ['ssl' => null]))); 238 264 if (isset($params['redis_sentinel'])) { 239 265 $redis->getConnection()->setSentinelTimeout($params['timeout']); … … 287 313 protected function doClear($namespace) 288 314 { 315 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 316 $prefix = $this->redis->getOptions()->prefix ? $this->redis->getOptions()->prefix->getPrefix() : ''; 317 $prefixLen = \strlen($prefix); 318 } 289 319 $cleared = \true; 290 if ($this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 291 $evalArgs = [0, $namespace]; 292 } else { 293 $evalArgs = [[$namespace], 0]; 294 } 295 foreach ($this->getHosts() as $host) { 320 $hosts = $this->getHosts(); 321 $host = \reset($hosts); 322 if ($host instanceof \Prokerala\Astrology\Vendor\Predis\Client && $host->getConnection() instanceof \Prokerala\Astrology\Vendor\Predis\Connection\Aggregate\ReplicationInterface) { 323 // Predis supports info command only on the master in replication environments 324 $hosts = [$host->getClientFor('master')]; 325 } 326 foreach ($hosts as $host) { 296 327 if (!isset($namespace[0])) { 297 328 $cleared = $host->flushDb() && $cleared; … … 300 331 $info = $host->info('Server'); 301 332 $info = $info['Server'] ?? $info; 333 if (!$host instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface) { 334 $prefix = \defined('Redis::SCAN_PREFIX') && \Redis::SCAN_PREFIX & $host->getOption(\Redis::OPT_SCAN) ? '' : $host->getOption(\Redis::OPT_PREFIX); 335 $prefixLen = \strlen($host->getOption(\Redis::OPT_PREFIX) ?? ''); 336 } 337 $pattern = $prefix . $namespace . '*'; 302 338 if (!\version_compare($info['redis_version'], '2.8', '>=')) { 303 339 // As documented in Redis documentation (http://redis.io/commands/keys) using KEYS 304 340 // can hang your server when it is executed against large databases (millions of items). 305 341 // Whenever you hit this scale, you should really consider upgrading to Redis 2.8 or above. 306 $cleared = $host->eval("local keys=redis.call('KEYS',ARGV[1]..'*') for i=1,#keys,5000 do redis.call('DEL',unpack(keys,i,math.min(i+4999,#keys))) end return 1", $evalArgs[0], $evalArgs[1]) && $cleared; 342 $args = $this->redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? [0, $pattern] : [[$pattern], 0]; 343 $cleared = $host->eval("local keys=redis.call('KEYS',ARGV[1]) for i=1,#keys,5000 do redis.call('DEL',unpack(keys,i,math.min(i+4999,#keys))) end return 1", $args[0], $args[1]) && $cleared; 307 344 continue; 308 345 } 309 346 $cursor = null; 310 347 do { 311 $keys = $host instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? $host->scan($cursor, 'MATCH', $ namespace . '*', 'COUNT', 1000) : $host->scan($cursor, $namespace . '*', 1000);348 $keys = $host instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface ? $host->scan($cursor, 'MATCH', $pattern, 'COUNT', 1000) : $host->scan($cursor, $pattern, 1000); 312 349 if (isset($keys[1]) && \is_array($keys[1])) { 313 350 $cursor = $keys[0]; … … 315 352 } 316 353 if ($keys) { 354 if ($prefixLen) { 355 foreach ($keys as $i => $key) { 356 $keys[$i] = \substr($key, $prefixLen); 357 } 358 } 317 359 $this->doDelete($keys); 318 360 } … … 410 452 $results = $redis->exec(); 411 453 } 454 if (!$redis instanceof \Prokerala\Astrology\Vendor\Predis\ClientInterface && 'eval' === $command && $redis->getLastError()) { 455 $e = new \RedisException($redis->getLastError()); 456 $results = \array_map(function ($v) use($e) { 457 return \false === $v ? $e : $v; 458 }, $results); 459 } 412 460 foreach ($ids as $k => $id) { 413 461 (yield $id => $results[$k]); … … 433 481 $hosts = []; 434 482 foreach ($this->redis->_masters() as $host) { 435 $hosts[] = $h = new \Redis(); 436 $h->connect($host[0], $host[1]); 483 $hosts[] = new \Prokerala\Astrology\Vendor\Symfony\Component\Cache\Traits\RedisClusterNodeProxy($host, $this->redis); 437 484 } 438 485 } -
astrology/trunk/dependencies/vendor/symfony/options-resolver/OptionsResolver.php
r2513947 r2612549 198 198 } 199 199 /** 200 * Sets a list of default values.201 *202 * @param array $defaults The default values to set203 *204 200 * @return $this 205 201 * … … 410 406 * The resolved option value is set to the return value of the closure. 411 407 * 412 * @param string $option The option name 413 * @param \Closure $normalizer The normalizer 408 * @param string $option The option name 414 409 * 415 410 * @return $this … … 448 443 * 449 444 * The resolved option value is set to the return value of the closure. 450 *451 * @param string $option The option name452 * @param \Closure $normalizer The normalizer453 * @param bool $forcePrepend If set to true, prepend instead of appending454 445 * 455 446 * @return $this … … 672 663 * - Options have invalid values. 673 664 * 674 * @param array $options A map of option names to values675 *676 665 * @return array The merged and validated options 677 666 * … … 736 725 * lazy options and/or normalizers 737 726 */ 727 #[\ReturnTypeWillChange] 738 728 public function offsetGet($option) 739 729 { … … 816 806 $fmtProvidedTypes = \implode('|', \array_keys($invalidTypes)); 817 807 $allowedContainsArrayType = \count(\array_filter($this->allowedTypes[$option], static function ($item) { 818 return '[]' === \substr(self::TYPE_ALIASES[$item] ?? $item, -2);808 return \str_ends_with(self::TYPE_ALIASES[$item] ?? $item, '[]'); 819 809 })) > 0; 820 810 if (\is_array($value) && $allowedContainsArrayType) { … … 929 919 * @see \ArrayAccess::offsetExists() 930 920 */ 921 #[\ReturnTypeWillChange] 931 922 public function offsetExists($option) 932 923 { … … 939 930 * Not supported. 940 931 * 932 * @return void 933 * 941 934 * @throws AccessException 942 935 */ 936 #[\ReturnTypeWillChange] 943 937 public function offsetSet($option, $value) 944 938 { … … 948 942 * Not supported. 949 943 * 944 * @return void 945 * 950 946 * @throws AccessException 951 947 */ 948 #[\ReturnTypeWillChange] 952 949 public function offsetUnset($option) 953 950 { … … 965 962 * @see \Countable::count() 966 963 */ 964 #[\ReturnTypeWillChange] 967 965 public function count() 968 966 { -
astrology/trunk/dependencies/vendor/symfony/polyfill-php80/bootstrap.php
r2513947 r2612549 27 27 } 28 28 if (!function_exists('str_contains')) { 29 function str_contains( string $haystack, string $needle): bool { return p\Php80::str_contains($haystack, $needle); }29 function str_contains(?string $haystack, ?string $needle): bool { return p\Php80::str_contains($haystack ?? '', $needle ?? ''); } 30 30 } 31 31 if (!function_exists('str_starts_with')) { 32 function str_starts_with( string $haystack, string $needle): bool { return p\Php80::str_starts_with($haystack, $needle); }32 function str_starts_with(?string $haystack, ?string $needle): bool { return p\Php80::str_starts_with($haystack ?? '', $needle ?? ''); } 33 33 } 34 34 if (!function_exists('str_ends_with')) { 35 function str_ends_with( string $haystack, string $needle): bool { return p\Php80::str_ends_with($haystack, $needle); }35 function str_ends_with(?string $haystack, ?string $needle): bool { return p\Php80::str_ends_with($haystack ?? '', $needle ?? ''); } 36 36 } 37 37 if (!function_exists('get_debug_type')) { -
astrology/trunk/dependencies/vendor/symfony/var-exporter/Internal/Exporter.php
r2513947 r2612549 61 61 } 62 62 goto handle_value; 63 } elseif (!\is_object($value) && !$value instanceof \__PHP_Incomplete_Class ) {63 } elseif (!\is_object($value) && !$value instanceof \__PHP_Incomplete_Class || $value instanceof \UnitEnum) { 64 64 goto handle_value; 65 65 } … … 77 77 } 78 78 if (!\is_array($properties = $value->__serialize())) { 79 throw new \ Prokerala\Astrology\Vendor\Typerror($class . '::__serialize() must return an array');79 throw new \TypeError($class . '::__serialize() must return an array'); 80 80 } 81 81 goto prepare_value; … … 98 98 $properties[] = $value[$v]; 99 99 } 100 $properties = ['SplObjectStorage' => ["\ 0" => $properties]];100 $properties = ['SplObjectStorage' => ["\x00" => $properties]]; 101 101 } elseif ($value instanceof \Serializable || $value instanceof \__PHP_Incomplete_Class) { 102 102 ++$objectsCount; … … 122 122 $i = 0; 123 123 $n = (string) $name; 124 if ('' === $n || "\ 0" !== $n[0]) {124 if ('' === $n || "\x00" !== $n[0]) { 125 125 $c = 'stdClass'; 126 126 } elseif ('*' === $n[1]) { … … 133 133 } 134 134 } else { 135 $i = \strpos($n, "\ 0", 2);135 $i = \strpos($n, "\x00", 2); 136 136 $c = \substr($n, 1, $i - 1); 137 137 $n = \substr($n, 1 + $i); … … 143 143 $sleep[$n] = \false; 144 144 } 145 if (!\array_key_exists($name, $proto) || $proto[$name] !== $v || "\ 0Error\0trace" === $name || "\0Exception\0trace" === $name) {145 if (!\array_key_exists($name, $proto) || $proto[$name] !== $v || "\x00Error\x00trace" === $name || "\x00Exception\x00trace" === $name) { 146 146 $properties[$c][$n] = $v; 147 147 } … … 174 174 { 175 175 switch (\true) { 176 case \is_int($value) || \is_float($value) :176 case \is_int($value) || \is_float($value) || $value instanceof \UnitEnum: 177 177 return \var_export($value, \true); 178 178 case [] === $value: … … 201 201 $code = \sprintf("'%s'", \addcslashes($value, "'\\")); 202 202 $code = \preg_replace_callback('/([\\0\\r\\n]++)(.)/', function ($m) use($subIndent) { 203 $m[1] = \sprintf('\'."%s".\'', \str_replace(["\ 0", "\r", "\n", '\\n\\'], ['\\0', '\\r', '\\n', '\\n"' . "\n" . $subIndent . '."\\'], $m[1]));203 $m[1] = \sprintf('\'."%s".\'', \str_replace(["\x00", "\r", "\n", '\\n\\'], ['\\0', '\\r', '\\n', '\\n"' . "\n" . $subIndent . '."\\'], $m[1])); 204 204 if ("'" === $m[2]) { 205 205 return \substr($m[1], 0, -2); … … 210 210 return $m[1] . $m[2]; 211 211 }, $code, -1, $count); 212 if ($count && 0 === \strpos($code, "''.")) {212 if ($count && \str_starts_with($code, "''.")) { 213 213 $code = \substr($code, 3); 214 214 } … … 266 266 } 267 267 if (\is_subclass_of($class, 'Throwable')) { 268 $eol = \is_subclass_of($class, 'Error') ? "\ 0Error\0" : "\0Exception\0";268 $eol = \is_subclass_of($class, 'Error') ? "\x00Error\x00" : "\x00Exception\x00"; 269 269 $serializables[$k] = \substr_replace($serializables[$k], '1:{s:' . (5 + \strlen($eol)) . ':"' . $eol . 'trace";a:0:{}}', -4); 270 270 } … … 345 345 unset($properties[2]); 346 346 } 347 $properties = [$reflector->class => ["\ 0" => $properties]];347 $properties = [$reflector->class => ["\x00" => $properties]]; 348 348 } 349 349 return $properties; -
astrology/trunk/dependencies/vendor/symfony/var-exporter/Internal/Hydrator.php
r2513947 r2612549 74 74 return self::$hydrators[$class] = static function ($properties, $objects) use($constructor) { 75 75 foreach ($properties as $name => $values) { 76 if ("\ 0" !== $name) {76 if ("\x00" !== $name) { 77 77 foreach ($values as $i => $v) { 78 78 $objects[$i]->{$name} = $v; … … 80 80 } 81 81 } 82 foreach ($properties["\ 0"] ?? [] as $i => $v) {82 foreach ($properties["\x00"] ?? [] as $i => $v) { 83 83 $constructor($objects[$i], $v); 84 84 } … … 95 95 return self::$hydrators[$class] = static function ($properties, $objects) { 96 96 foreach ($properties as $name => $values) { 97 if ("\ 0" === $name) {97 if ("\x00" === $name) { 98 98 foreach ($values as $i => $v) { 99 99 for ($j = 0; $j < \count($v); ++$j) { -
astrology/trunk/dependencies/vendor/symfony/var-exporter/VarExporter.php
r2513947 r2612549 41 41 { 42 42 $isStaticValue = \true; 43 if (!\is_object($value) && !(\is_array($value) && $value) && !$value instanceof \__PHP_Incomplete_Class && !\is_resource($value) ) {43 if (!\is_object($value) && !(\is_array($value) && $value) && !$value instanceof \__PHP_Incomplete_Class && !\is_resource($value) || $value instanceof \UnitEnum) { 44 44 return \Prokerala\Astrology\Vendor\Symfony\Component\VarExporter\Internal\Exporter::export($value); 45 45 } -
astrology/trunk/readme.txt
r2516408 r2612549 3 3 Tags: astrology, prokerala 4 4 Requires at least: 5.5 5 Tested up to: 5. 76 Stable tag: 1.0. 45 Tested up to: 5.8.1 6 Stable tag: 1.0.5 7 7 Requires PHP: 7.2.0 8 8 License: GPLV2+ … … 117 117 == Changelog == 118 118 119 = 1.0.5 = 120 * Location parameters where not being passed correctly 121 * Minor inconsistencies and mistakes in template files 122 * Fix PHP notices 123 119 124 = 1.0.4 = 120 125 * Fix php notices -
astrology/trunk/src/Admin/SettingsPage.php
r2513947 r2612549 94 94 $input['client_id'] = trim( $input['client_id'] ); 95 95 $input['client_secret'] = trim( $input['client_secret'] ); 96 $input['attribution'] = trim( $input['attribution'] ); 96 97 97 98 $this->validate_client( $input['client_id'], $input['client_secret'] ); … … 196 197 ?> 197 198 <label> 198 <input type="checkbox" id="astrology_plugin_setting_attribution" name="astrology_plugin_options[attribution]" <?php echo '1' === (string) $attribution ? 'checked' : ''; ?> value="1" />199 Remove<em>Powered by Prokerala</em> attribution.199 <input type="checkbox" id="astrology_plugin_setting_attribution" name="astrology_plugin_options[attribution]" <?php echo '1' === (string) $attribution ? 'checked' : ''; ?> value="1" onclick="return this.checked || confirm('Please continue only if you are on our paid plan. Attribution is mandatory on free plan. Hiding attribution on free plan can lead to account suspension and domain blacklisting without further notice.')" /> 200 Show <em>Powered by Prokerala</em> attribution. 200 201 </label> 201 <p class="help">Attribution is mandatory for free plan.</p>202 <p class="help">Attribution is mandatory on free plan. Violation can lead to account suspension and domain blacklisting without further notice.</p> 202 203 <?php 203 204 } -
astrology/trunk/src/Block.php
r2513947 r2612549 103 103 'report' => [ 104 104 'default' => 'Chart', 105 'type' => 'string', 105 106 ], 106 107 'resultType' => [ 107 108 'default' => '', 109 'type' => 'string', 108 110 ], 109 111 ], -
astrology/trunk/src/vendor/autoload.php
r2516408 r2612549 5 5 require_once __DIR__ . '/composer/autoload_real.php'; 6 6 7 return ComposerAutoloaderInit 97350fc22183ab553e127f2ec2225b7e::getLoader();7 return ComposerAutoloaderInitd7aac2e4ae75a33ae7be41266749683e::getLoader(); -
astrology/trunk/src/vendor/composer/autoload_real.php
r2516408 r2612549 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 97350fc22183ab553e127f2ec2225b7e5 class ComposerAutoloaderInitd7aac2e4ae75a33ae7be41266749683e 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit 97350fc22183ab553e127f2ec2225b7e', 'loadClassLoader'), true, true);25 spl_autoload_register(array('ComposerAutoloaderInitd7aac2e4ae75a33ae7be41266749683e', 'loadClassLoader'), true, true); 26 26 self::$loader = $loader = new \Prokerala_WP_Astrology_Composer\Autoload\ClassLoader(); 27 spl_autoload_unregister(array('ComposerAutoloaderInit 97350fc22183ab553e127f2ec2225b7e', 'loadClassLoader'));27 spl_autoload_unregister(array('ComposerAutoloaderInitd7aac2e4ae75a33ae7be41266749683e', 'loadClassLoader')); 28 28 29 29 $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); … … 31 31 require_once __DIR__ . '/autoload_static.php'; 32 32 33 call_user_func(\Prokerala_WP_Astrology_Composer\Autoload\ComposerStaticInit 97350fc22183ab553e127f2ec2225b7e::getInitializer($loader));33 call_user_func(\Prokerala_WP_Astrology_Composer\Autoload\ComposerStaticInitd7aac2e4ae75a33ae7be41266749683e::getInitializer($loader)); 34 34 } else { 35 35 $classMap = require __DIR__ . '/autoload_classmap.php'; -
astrology/trunk/src/vendor/composer/autoload_static.php
r2516408 r2612549 5 5 namespace Prokerala_WP_Astrology_Composer\Autoload; 6 6 7 class ComposerStaticInit 97350fc22183ab553e127f2ec2225b7e7 class ComposerStaticInitd7aac2e4ae75a33ae7be41266749683e 8 8 { 9 9 public static $classMap = array ( … … 41 41 { 42 42 return \Closure::bind(function () use ($loader) { 43 $loader->classMap = ComposerStaticInit 97350fc22183ab553e127f2ec2225b7e::$classMap;43 $loader->classMap = ComposerStaticInitd7aac2e4ae75a33ae7be41266749683e::$classMap; 44 44 45 45 }, null, ClassLoader::class); -
astrology/trunk/templates/front/form/horoscope-form.tpl.php
r2513947 r2612549 59 59 <label class="pk-astrology-col-sm-3 pk-astrology-col-md-4 pk-astrology-form-label">Place Of Birth:</label> 60 60 <div class="pk-astrology-col-sm-9 pk-astrology-col-md-8"> 61 <input type="text" name="location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Enter Location" value="" required data-location_input_prefix="loc">61 <input type="text" name="location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Enter Location" value="" required> 62 62 </div> 63 63 </div> -
astrology/trunk/templates/front/form/horoscope-matching-form.tpl.php
r2513947 r2612549 63 63 <div class="pk-astrology-col-md-8"> 64 64 <div id='g-location'> 65 <input type='text' id="g-autocomplete" name="girl_location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Place of birth" value="" required="required" data-location_input_prefix="girl _loc"/>65 <input type='text' id="g-autocomplete" name="girl_location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Place of birth" value="" required="required" data-location_input_prefix="girl"/> 66 66 </div> 67 67 </div> … … 80 80 <div class="pk-astrology-col-md-8"> 81 81 <div id='b-location'> 82 <input type='text' id="b-coordinates" name="boy_location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Place of birth" required="required" data-location_input_prefix="boy _loc"/>82 <input type='text' id="b-coordinates" name="boy_location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Place of birth" required="required" data-location_input_prefix="boy"/> 83 83 </div> 84 84 </div> -
astrology/trunk/templates/front/form/panchang-form.tpl.php
r2513947 r2612549 59 59 <label class="pk-astrology-col-sm-3 pk-astrology-col-md-4 pk-astrology-form-label">Location:</label> 60 60 <div class="pk-astrology-col-sm-9 pk-astrology-col-md-8"> 61 <input type="text" name="location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Enter Location" value="" required data-location_input_prefix="loc">61 <input type="text" name="location" autocomplete="off" class="pk-astrology-form-control prokerala-location-input" placeholder="Enter Location" value="" required> 62 62 </div> 63 63 </div> -
astrology/trunk/templates/front/result/panchang.tpl.php
r2513947 r2612549 48 48 49 49 <?php if ( 'Nakshatra' === $key ) : ?> 50 (Lord: <?php echo $value['nakshatra_lord']; // phpcs:ignore WordPress.Security.EscapeOutput ?>) :50 (Lord: <?php echo $value['nakshatra_lord']; // phpcs:ignore WordPress.Security.EscapeOutput ?>) 51 51 <?php endif; ?> 52 <?php echo $value['start']->format( 'h:i A' ) . ' - ' . $value['end']->format( 'h:i A' ); // phpcs:ignore WordPress.Security.EscapeOutput ?></span>52 : <?php echo $value['start']->format( 'h:i A' ) . ' - ' . $value['end']->format( 'h:i A' ); // phpcs:ignore WordPress.Security.EscapeOutput ?></span> 53 53 <?php endforeach; ?> 54 54
Note: See TracChangeset
for help on using the changeset viewer.