Plugin Directory

Changeset 2686283


Ignore:
Timestamp:
03/01/2022 02:48:16 AM (4 years ago)
Author:
sophidev
Message:

Update to version 1.0.10 from GitHub

Location:
sophi
Files:
38 added
2 deleted
216 edited
1 copied

Legend:

Unmodified
Added
Removed
  • sophi/tags/1.0.10/includes/classes/SiteAutomation/Request.php

    r2681627 r2686283  
    7171     * @param string $page Page name.
    7272     * @param string $widget Widget name.
     73     * @param float  $timeout The request timeout value.
    7374     *
    7475     * @return array|bool
    7576     */
    76     public function get( $page, $widget ) {
     77    public function get( $page, $widget, $timeout = 3 ) {
    7778        $this->page    = $page;
    7879        $this->widget  = $widget;
     
    104105        }
    105106
    106         $response = $this->request();
     107        $response = $this->request( $timeout );
    107108
    108109        if ( is_wp_error( $response ) ) {
     
    148149     */
    149150    public function do_cron( $page, $widget ) {
    150         $this->get( $page, $widget );
     151        $this->get( $page, $widget, 3 );
    151152    }
    152153
     
    188189     * Get curated data from Sophi Site Automation API.
    189190     *
    190      * return
    191      */
    192     private function request() {
     191     * @param float $timeout The request timeout value.
     192     *
     193     * @return mixed WP_Error on failure or body request on success.
     194     */
     195    private function request( $timeout ) {
    193196        $access_token = $this->auth->get_access_token();
    194197
     
    201204                'Content-Type'  => 'application/json',
    202205                'Authorization' => 'Bearer ' . $access_token,
    203             ]
     206            ],
    204207        ];
    205208
    206209        if ( function_exists( 'vip_safe_wp_remote_get' ) ) {
    207             $request = vip_safe_wp_remote_get( $this->api_url, false, 3, 1, 20, $args );
     210            $request = vip_safe_wp_remote_get( $this->api_url, '', 3, $timeout, 20, $args );
    208211        } else {
    209             $request = wp_remote_get( $this->api_url, $args ); // phpcs:ignore
     212            $args['timeout'] = $timeout;
     213            $request         = wp_remote_get( $this->api_url, $args ); // phpcs:ignore
    210214        }
    211215
  • sophi/tags/1.0.10/readme.txt

    r2681627 r2686283  
    33Tags:              Sophi, Site Automation, Collector, AI, Artifical Intelligence, ML, Machine Learning, Content Curation
    44Tested up to:      5.8
    5 Stable tag:        1.0.9
     5Stable tag:        1.0.10
    66License:           GPLv2 or later
    77License URI:       http://www.gnu.org/licenses/gpl-2.0.html
     
    229229== Changelog ==
    230230
    231 = 1.0.9 - 2022-02-18=
     231= 1.0.10 - 2022-02-28 =
     232* **Changed:** Sets the default timeout of the first Sophi request and the cron request to 3 seconds (props [@oscarssanchez](https://github.com/oscarssanchez), [@barryceelen](https://github.com/barryceelen), [@felipeelia](https://github.com/felipeelia), [@tott](https://github.com/tott)).
     233* **Security:** Update dependency `snowplow/snowplow-tracker` from 0.4.0 to 0.5.0 (props [@renovate](https://github.com/apps/renovate)).
     234
     235= 1.0.9 - 2022-02-18 =
    232236* **Added:** `hostname` and `path` fields to schema (props [@Rahmon](https://github.com/Rahmon), [@dinhtungdu](https://github.com/dinhtungdu)).
    233237* **Fixed:** Return empty post list from Sophi response (props [@oscarssanchez](https://github.com/oscarssanchez), [@barryceelen](https://github.com/barryceelen), [@felipeelia](https://github.com/felipeelia)).
     
    239243* **Security:** Update dependency `dealerdirect/phpcodesniffer-composer-installer` from 0.7.1 to 0.7.2 (props [@renovate](https://github.com/apps/renovate)).
    240244
    241 = 1.0.8 - 2021-12-23=
     245= 1.0.8 - 2021-12-23 =
    242246* **Changed:** Updated `auth_url` and `audience` parameters to get respective Staging and Development environment access tokens (props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia)).
    243247* **Fixed:** Issue where multiple Sophi blocks on the same page had duplicated content (props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia), [@jeffpaul](https://github.com/jeffpaul), [@dinhtungdu](https://github.com/dinhtungdu)).
     
    245249* **Security:** update dependency `prop-types` from 15.7.2 to 15.8.0 (props [@renovate](https://github.com/marketplace/renovate)).
    246250
    247 = 1.0.7 - 2021-10-29=
     251= 1.0.7 - 2021-10-29 =
    248252* **Changed:** Sophi Auth URL value used for Production, Staging, and Development (props [@jeffpaul](https://profiles.wordpress.org/jeffpaul/), [@barryceelen](https://github.com/barryceelen), [@amckie](https://github.com/amckie)).
    249253* **Changed:** Sophi Site Automation API URL structure (props [@rahmohn](https://profiles.wordpress.org/rahmohn/)).
    250254* **Changed:** Sophi Audience URL used in authorization (props [@rahmohn](https://profiles.wordpress.org/rahmohn/)).
    251255
    252 = 1.0.6 - 2021-10-27=
     256= 1.0.6 - 2021-10-27 =
    253257Note: this was a hotfix release to fix an issue with deploys to WordPress.org.
    254258
    255 = 1.0.5 - 2021-10-27=
     259= 1.0.5 - 2021-10-27 =
    256260* **Added:** New content fields sent to Sophi `thumbnailImageUri`, `embeddedImagesCount`, and `keywords` (props [@rahmohn](https://profiles.wordpress.org/rahmohn/), [@felipeelia](https://profiles.wordpress.org/felipeelia), [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
    257261* **Changed:** Updated name convention for `appId` (props [@rahmohn](https://profiles.wordpress.org/rahmohn/), [@felipeelia](https://profiles.wordpress.org/felipeelia), [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
     
    266270* **Security:** Update dependency `automattic/vipwpcs` from 2.3.2 to 2.3.3 (props [@renovate](https://github.com/marketplace/renovate)).
    267271
    268 = 1.0.4 - 2021-07-29=
     272= 1.0.4 - 2021-07-29 =
    269273* **Added:** Support for Yoast canonical URL (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@dkotter](https://profiles.wordpress.org/dkotter/)).
    270274* **Added:** Configure WhiteSource Bolt and Renovate integrations (props [@whitesource-bolt](https://github.com/marketplace/whitesource-bolt), [@renovate](https://github.com/marketplace/renovate)).
     
    283287* **Security:** Update dependency `10up-toolkit` from 1.0.9 to 1.0.10 (props [@renovate](https://github.com/marketplace/renovate)).
    284288
    285 = 1.0.3 - 2021-06-15=
     289= 1.0.3 - 2021-06-15 =
    286290* **Added:** Data attributes to Site Automation widgets/blocks (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@dkotter](https://profiles.wordpress.org/dkotter/)).
    287291* **Changed:** Revisions to tracking data collected to improve Site Automation results (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@dkotter](https://profiles.wordpress.org/dkotter/)).
     
    291295* **Fixed:** VIP CLI dry-run mode defaults to `false`, corrects sync limiting, adds progress bar (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@jeffpaul](https://profiles.wordpress.org/jeffpaul/), [@barryceelen](https://profiles.wordpress.org/barryceelen/)).
    292296
    293 = 1.0.2 - 2021-04-26=
     297= 1.0.2 - 2021-04-26 =
    294298* **Changed:** Bump `vipwpcs` from 2.2.0 to 2.3.0 and `php_codesniffer` from 3.5.8 to 3.6.0 (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@jeffpaul](https://profiles.wordpress.org/jeffpaul/)).
    295299* **Fixed:** WP-CLI command now supports both WordPress VIP and non-VIP environments (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@dkotter](https://profiles.wordpress.org/dkotter/), [@jeffpaul](https://profiles.wordpress.org/jeffpaul/)).
    296300
    297 = 1.0.1 - 2021-04-23=
     301= 1.0.1 - 2021-04-23 =
    298302* **Added:** `noConfigFile` setting (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
    299303* **Added:** GitHub Actions to deploy releases and update readme/asset changes for WordPress.org (props [@jeffpaul](https://profiles.wordpress.org/jeffpaul/), [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
     
    301305* **Fixed:** Minor fixes from WordPress VIP code scan (props [@dkotter](https://profiles.wordpress.org/dkotter/)).
    302306
    303 = 1.0.0 - 2021-04-14=
     307= 1.0.0 - 2021-04-14 =
    304308* Initial public release! 🎉
  • sophi/tags/1.0.10/sophi.php

    r2681627 r2686283  
    44 * Plugin URI:        https://github.com/globeandmail/sophi-for-wordpress
    55 * Description:       WordPress VIP-compatible plugin for the Sophi.io Site Automation service.
    6  * Version:           1.0.9
     6 * Version:           1.0.10
    77 * Requires at least: 5.6
    88 * Requires PHP:      7.4
     
    1717
    1818// Useful global constants.
    19 define( 'SOPHI_WP_VERSION', '1.0.9' );
     19define( 'SOPHI_WP_VERSION', '1.0.10' );
    2020define( 'SOPHI_WP_URL', plugin_dir_url( __FILE__ ) );
    2121define( 'SOPHI_WP_PATH', plugin_dir_path( __FILE__ ) );
  • sophi/tags/1.0.10/vendor/autoload.php

    r2681627 r2686283  
    55require_once __DIR__ . '/composer/autoload_real.php';
    66
    7 return ComposerAutoloaderInit6f9a846f452f4d6c6c81ef46712ee189::getLoader();
     7return ComposerAutoloaderInit9524e87fca549422a2f03f9da9bccbfe::getLoader();
  • sophi/tags/1.0.10/vendor/brick/math/src/BigDecimal.php

    r2521616 r2686283  
    754754
    755755    /**
    756      * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     756     * This method is required for serializing the object and SHOULD NOT be accessed directly.
    757757     *
    758758     * @internal
    759759     *
    760      * @return string
    761      */
    762     public function serialize() : string
    763     {
    764         return $this->value . ':' . $this->scale;
    765     }
    766 
    767     /**
    768      * This method is only here to implement interface Serializable and cannot be accessed directly.
     760     * @return array{value: string, scale: int}
     761     */
     762    public function __serialize(): array
     763    {
     764        return ['value' => $this->value, 'scale' => $this->scale];
     765    }
     766
     767    /**
     768     * This method is only here to allow unserializing the object and cannot be accessed directly.
    769769     *
    770770     * @internal
    771771     * @psalm-suppress RedundantPropertyInitializationCheck
    772772     *
     773     * @param array{value: string, scale: int} $data
     774     *
     775     * @return void
     776     *
     777     * @throws \LogicException
     778     */
     779    public function __unserialize(array $data): void
     780    {
     781        if (isset($this->value)) {
     782            throw new \LogicException('__unserialize() is an internal function, it must not be called directly.');
     783        }
     784
     785        $this->value = $data['value'];
     786        $this->scale = $data['scale'];
     787    }
     788
     789    /**
     790     * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     791     *
     792     * @internal
     793     *
     794     * @return string
     795     */
     796    public function serialize() : string
     797    {
     798        return $this->value . ':' . $this->scale;
     799    }
     800
     801    /**
     802     * This method is only here to implement interface Serializable and cannot be accessed directly.
     803     *
     804     * @internal
     805     * @psalm-suppress RedundantPropertyInitializationCheck
     806     *
    773807     * @param string $value
    774808     *
     
    795829     * @param BigDecimal $y The second decimal number.
    796830     *
    797      * @return array{0: string, 1: string} The scaled integer values of $x and $y.
     831     * @return array{string, string} The scaled integer values of $x and $y.
    798832     */
    799833    private function scaleValues(BigDecimal $x, BigDecimal $y) : array
  • sophi/tags/1.0.10/vendor/brick/math/src/BigInteger.php

    r2521616 r2686283  
    11181118
    11191119    /**
    1120      * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     1120     * This method is required for serializing the object and SHOULD NOT be accessed directly.
    11211121     *
    11221122     * @internal
    11231123     *
    1124      * @return string
    1125      */
    1126     public function serialize() : string
    1127     {
    1128         return $this->value;
    1129     }
    1130 
    1131     /**
    1132      * This method is only here to implement interface Serializable and cannot be accessed directly.
     1124     * @return array{value: string}
     1125     */
     1126    public function __serialize(): array
     1127    {
     1128        return ['value' => $this->value];
     1129    }
     1130
     1131    /**
     1132     * This method is only here to allow unserializing the object and cannot be accessed directly.
    11331133     *
    11341134     * @internal
    11351135     * @psalm-suppress RedundantPropertyInitializationCheck
    11361136     *
     1137     * @param array{value: string} $data
     1138     *
     1139     * @return void
     1140     *
     1141     * @throws \LogicException
     1142     */
     1143    public function __unserialize(array $data): void
     1144    {
     1145        if (isset($this->value)) {
     1146            throw new \LogicException('__unserialize() is an internal function, it must not be called directly.');
     1147        }
     1148
     1149        $this->value = $data['value'];
     1150    }
     1151
     1152    /**
     1153     * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     1154     *
     1155     * @internal
     1156     *
     1157     * @return string
     1158     */
     1159    public function serialize() : string
     1160    {
     1161        return $this->value;
     1162    }
     1163
     1164    /**
     1165     * This method is only here to implement interface Serializable and cannot be accessed directly.
     1166     *
     1167     * @internal
     1168     * @psalm-suppress RedundantPropertyInitializationCheck
     1169     *
    11371170     * @param string $value
    11381171     *
  • sophi/tags/1.0.10/vendor/brick/math/src/BigRational.php

    r2521616 r2686283  
    453453
    454454    /**
    455      * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     455     * This method is required for serializing the object and SHOULD NOT be accessed directly.
    456456     *
    457457     * @internal
    458458     *
    459      * @return string
    460      */
    461     public function serialize() : string
    462     {
    463         return $this->numerator . '/' . $this->denominator;
    464     }
    465 
    466     /**
    467      * This method is only here to implement interface Serializable and cannot be accessed directly.
     459     * @return array{numerator: BigInteger, denominator: BigInteger}
     460     */
     461    public function __serialize(): array
     462    {
     463        return ['numerator' => $this->numerator, 'denominator' => $this->denominator];
     464    }
     465
     466    /**
     467     * This method is only here to allow unserializing the object and cannot be accessed directly.
    468468     *
    469469     * @internal
    470470     * @psalm-suppress RedundantPropertyInitializationCheck
    471471     *
     472     * @param array{numerator: BigInteger, denominator: BigInteger} $data
     473     *
     474     * @return void
     475     *
     476     * @throws \LogicException
     477     */
     478    public function __unserialize(array $data): void
     479    {
     480        if (isset($this->numerator)) {
     481            throw new \LogicException('__unserialize() is an internal function, it must not be called directly.');
     482        }
     483
     484        $this->numerator = $data['numerator'];
     485        $this->denominator = $data['denominator'];
     486    }
     487
     488    /**
     489     * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     490     *
     491     * @internal
     492     *
     493     * @return string
     494     */
     495    public function serialize() : string
     496    {
     497        return $this->numerator . '/' . $this->denominator;
     498    }
     499
     500    /**
     501     * This method is only here to implement interface Serializable and cannot be accessed directly.
     502     *
     503     * @internal
     504     * @psalm-suppress RedundantPropertyInitializationCheck
     505     *
    472506     * @param string $value
    473507     *
  • sophi/tags/1.0.10/vendor/brick/math/src/Internal/Calculator.php

    r2521616 r2686283  
    100100     * @param string $b The second operand.
    101101     *
    102      * @return array{0: bool, 1: bool, 2: string, 3: string} Whether $a and $b are negative, followed by their digits.
     102     * @return array{bool, bool, string, string} Whether $a and $b are negative, followed by their digits.
    103103     */
    104104    final protected function init(string $a, string $b) : array
     
    678678
    679679    /**
    680      * @psalm-suppress InvalidOperand
    681      * @see https://github.com/vimeo/psalm/issues/4456
    682      *
    683680     * @param string $number A positive, binary number.
    684681     *
  • sophi/tags/1.0.10/vendor/brick/math/src/Internal/Calculator/NativeCalculator.php

    r2521616 r2686283  
    611611     * @param string $b The second operand.
    612612     *
    613      * @return array{0: string, 1: string, 2: int}
     613     * @return array{string, string, int}
    614614     */
    615615    private function pad(string $a, string $b) : array
  • sophi/tags/1.0.10/vendor/composer/autoload_classmap.php

    r2521616 r2686283  
    77
    88return array(
     9    'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
    910    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
     11    'ReturnTypeWillChange' => $vendorDir . '/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php',
     12    'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
     13    'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
     14    'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
    1015);
  • sophi/tags/1.0.10/vendor/composer/autoload_files.php

    r2521616 r2686283  
    77
    88return array(
     9    '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php',
     10    'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
    911    '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
    1012    'e39a8b23c42d4e1452234d762b03835a' => $vendorDir . '/ramsey/uuid/src/functions.php',
  • sophi/tags/1.0.10/vendor/composer/autoload_psr4.php

    r2521616 r2686283  
    77
    88return array(
     9    'Symfony\\Polyfill\\Php81\\' => array($vendorDir . '/symfony/polyfill-php81'),
     10    'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
    911    'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
    1012    'SophiWP\\' => array($baseDir . '/includes/classes'),
  • sophi/tags/1.0.10/vendor/composer/autoload_real.php

    r2681627 r2686283  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit6f9a846f452f4d6c6c81ef46712ee189
     5class ComposerAutoloaderInit9524e87fca549422a2f03f9da9bccbfe
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit6f9a846f452f4d6c6c81ef46712ee189', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit9524e87fca549422a2f03f9da9bccbfe', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit6f9a846f452f4d6c6c81ef46712ee189', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit9524e87fca549422a2f03f9da9bccbfe', 'loadClassLoader'));
    3030
    3131        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
     
    3333            require __DIR__ . '/autoload_static.php';
    3434
    35             call_user_func(\Composer\Autoload\ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::getInitializer($loader));
     35            call_user_func(\Composer\Autoload\ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::getInitializer($loader));
    3636        } else {
    3737            $map = require __DIR__ . '/autoload_namespaces.php';
     
    5454
    5555        if ($useStaticLoader) {
    56             $includeFiles = Composer\Autoload\ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::$files;
     56            $includeFiles = Composer\Autoload\ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::$files;
    5757        } else {
    5858            $includeFiles = require __DIR__ . '/autoload_files.php';
    5959        }
    6060        foreach ($includeFiles as $fileIdentifier => $file) {
    61             composerRequire6f9a846f452f4d6c6c81ef46712ee189($fileIdentifier, $file);
     61            composerRequire9524e87fca549422a2f03f9da9bccbfe($fileIdentifier, $file);
    6262        }
    6363
     
    7171 * @return void
    7272 */
    73 function composerRequire6f9a846f452f4d6c6c81ef46712ee189($fileIdentifier, $file)
     73function composerRequire9524e87fca549422a2f03f9da9bccbfe($fileIdentifier, $file)
    7474{
    7575    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
  • sophi/tags/1.0.10/vendor/composer/autoload_static.php

    r2681627 r2686283  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189
     7class ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe
    88{
    99    public static $files = array (
     10        '23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php',
     11        'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
    1012        '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
    1113        'e39a8b23c42d4e1452234d762b03835a' => __DIR__ . '/..' . '/ramsey/uuid/src/functions.php',
     
    1517        'S' =>
    1618        array (
     19            'Symfony\\Polyfill\\Php81\\' => 23,
     20            'Symfony\\Polyfill\\Php80\\' => 23,
    1721            'Symfony\\Polyfill\\Ctype\\' => 23,
    1822            'SophiWP\\' => 8,
     
    3135
    3236    public static $prefixDirsPsr4 = array (
     37        'Symfony\\Polyfill\\Php81\\' =>
     38        array (
     39            0 => __DIR__ . '/..' . '/symfony/polyfill-php81',
     40        ),
     41        'Symfony\\Polyfill\\Php80\\' =>
     42        array (
     43            0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
     44        ),
    3345        'Symfony\\Polyfill\\Ctype\\' =>
    3446        array (
     
    5870
    5971    public static $classMap = array (
     72        'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
    6073        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
     74        'ReturnTypeWillChange' => __DIR__ . '/..' . '/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php',
     75        'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
     76        'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
     77        'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
    6178    );
    6279
     
    6481    {
    6582        return \Closure::bind(function () use ($loader) {
    66             $loader->prefixLengthsPsr4 = ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::$prefixLengthsPsr4;
    67             $loader->prefixDirsPsr4 = ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::$prefixDirsPsr4;
    68             $loader->classMap = ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::$classMap;
     83            $loader->prefixLengthsPsr4 = ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::$prefixLengthsPsr4;
     84            $loader->prefixDirsPsr4 = ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::$prefixDirsPsr4;
     85            $loader->classMap = ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::$classMap;
    6986
    7087        }, null, ClassLoader::class);
  • sophi/tags/1.0.10/vendor/composer/installed.json

    r2681627 r2686283  
    33        {
    44            "name": "brick/math",
    5             "version": "0.9.2",
    6             "version_normalized": "0.9.2.0",
     5            "version": "0.9.3",
     6            "version_normalized": "0.9.3.0",
    77            "source": {
    88                "type": "git",
    99                "url": "https://github.com/brick/math.git",
    10                 "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0"
    11             },
    12             "dist": {
    13                 "type": "zip",
    14                 "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0",
    15                 "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0",
     10                "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae"
     11            },
     12            "dist": {
     13                "type": "zip",
     14                "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae",
     15                "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae",
    1616                "shasum": ""
    1717            },
     
    2323                "php-coveralls/php-coveralls": "^2.2",
    2424                "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0",
    25                 "vimeo/psalm": "4.3.2"
    26             },
    27             "time": "2021-01-20T22:51:39+00:00",
     25                "vimeo/psalm": "4.9.2"
     26            },
     27            "time": "2021-08-15T20:50:18+00:00",
    2828            "type": "library",
    2929            "installation-source": "dist",
     
    5050            "support": {
    5151                "issues": "https://github.com/brick/math/issues",
    52                 "source": "https://github.com/brick/math/tree/0.9.2"
     52                "source": "https://github.com/brick/math/tree/0.9.3"
    5353            },
    5454            "funding": [
     55                {
     56                    "url": "https://github.com/BenMorel",
     57                    "type": "github"
     58                },
    5559                {
    5660                    "url": "https://tidelift.com/funding/github/packagist/brick/math",
     
    6266        {
    6367            "name": "ramsey/collection",
    64             "version": "1.1.3",
    65             "version_normalized": "1.1.3.0",
     68            "version": "1.2.2",
     69            "version_normalized": "1.2.2.0",
    6670            "source": {
    6771                "type": "git",
    6872                "url": "https://github.com/ramsey/collection.git",
    69                 "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1"
    70             },
    71             "dist": {
    72                 "type": "zip",
    73                 "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1",
    74                 "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1",
    75                 "shasum": ""
    76             },
    77             "require": {
    78                 "php": "^7.2 || ^8"
     73                "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a"
     74            },
     75            "dist": {
     76                "type": "zip",
     77                "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a",
     78                "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a",
     79                "shasum": ""
     80            },
     81            "require": {
     82                "php": "^7.3 || ^8",
     83                "symfony/polyfill-php81": "^1.23"
    7984            },
    8085            "require-dev": {
     
    8691                "jangregor/phpstan-prophecy": "^0.8",
    8792                "mockery/mockery": "^1.3",
     93                "phpspec/prophecy-phpunit": "^2.0",
    8894                "phpstan/extension-installer": "^1",
    8995                "phpstan/phpstan": "^0.12.32",
     
    96102                "vimeo/psalm": "^4.4"
    97103            },
    98             "time": "2021-01-21T17:40:04+00:00",
     104            "time": "2021-10-10T03:01:02+00:00",
    99105            "type": "library",
    100106            "installation-source": "dist",
     
    115121                }
    116122            ],
    117             "description": "A PHP 7.2+ library for representing and manipulating collections.",
     123            "description": "A PHP library for representing and manipulating collections.",
    118124            "keywords": [
    119125                "array",
     
    126132            "support": {
    127133                "issues": "https://github.com/ramsey/collection/issues",
    128                 "source": "https://github.com/ramsey/collection/tree/1.1.3"
     134                "source": "https://github.com/ramsey/collection/tree/1.2.2"
    129135            },
    130136            "funding": [
     
    142148        {
    143149            "name": "ramsey/uuid",
    144             "version": "4.1.1",
    145             "version_normalized": "4.1.1.0",
     150            "version": "4.2.3",
     151            "version_normalized": "4.2.3.0",
    146152            "source": {
    147153                "type": "git",
    148154                "url": "https://github.com/ramsey/uuid.git",
    149                 "reference": "cd4032040a750077205918c86049aa0f43d22947"
    150             },
    151             "dist": {
    152                 "type": "zip",
    153                 "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947",
    154                 "reference": "cd4032040a750077205918c86049aa0f43d22947",
     155                "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df"
     156            },
     157            "dist": {
     158                "type": "zip",
     159                "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df",
     160                "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df",
    155161                "shasum": ""
    156162            },
     
    158164                "brick/math": "^0.8 || ^0.9",
    159165                "ext-json": "*",
    160                 "php": "^7.2 || ^8",
     166                "php": "^7.2 || ^8.0",
    161167                "ramsey/collection": "^1.0",
    162                 "symfony/polyfill-ctype": "^1.8"
     168                "symfony/polyfill-ctype": "^1.8",
     169                "symfony/polyfill-php80": "^1.14"
    163170            },
    164171            "replace": {
     
    166173            },
    167174            "require-dev": {
    168                 "codeception/aspect-mock": "^3",
    169                 "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0",
     175                "captainhook/captainhook": "^5.10",
     176                "captainhook/plugin-composer": "^5.3",
     177                "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
    170178                "doctrine/annotations": "^1.8",
    171                 "goaop/framework": "^2",
     179                "ergebnis/composer-normalize": "^2.15",
    172180                "mockery/mockery": "^1.3",
    173181                "moontoast/math": "^1.1",
    174182                "paragonie/random-lib": "^2",
     183                "php-mock/php-mock": "^2.2",
    175184                "php-mock/php-mock-mockery": "^1.3",
    176                 "php-mock/php-mock-phpunit": "^2.5",
    177185                "php-parallel-lint/php-parallel-lint": "^1.1",
    178                 "phpbench/phpbench": "^0.17.1",
     186                "phpbench/phpbench": "^1.0",
    179187                "phpstan/extension-installer": "^1.0",
    180188                "phpstan/phpstan": "^0.12",
    181189                "phpstan/phpstan-mockery": "^0.12",
    182190                "phpstan/phpstan-phpunit": "^0.12",
    183                 "phpunit/phpunit": "^8.5",
    184                 "psy/psysh": "^0.10.0",
    185                 "slevomat/coding-standard": "^6.0",
     191                "phpunit/phpunit": "^8.5 || ^9",
     192                "slevomat/coding-standard": "^7.0",
    186193                "squizlabs/php_codesniffer": "^3.5",
    187                 "vimeo/psalm": "3.9.4"
     194                "vimeo/psalm": "^4.9"
    188195            },
    189196            "suggest": {
     
    195202                "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
    196203            },
    197             "time": "2020-08-18T17:17:46+00:00",
     204            "time": "2021-09-25T23:10:38+00:00",
    198205            "type": "library",
    199206            "extra": {
    200207                "branch-alias": {
    201                     "dev-master": "4.x-dev"
     208                    "dev-main": "4.x-dev"
     209                },
     210                "captainhook": {
     211                    "force-install": true
    202212                }
    203213            },
     
    216226            ],
    217227            "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
    218             "homepage": "https://github.com/ramsey/uuid",
    219228            "keywords": [
    220229                "guid",
     
    224233            "support": {
    225234                "issues": "https://github.com/ramsey/uuid/issues",
    226                 "rss": "https://github.com/ramsey/uuid/releases.atom",
    227                 "source": "https://github.com/ramsey/uuid"
     235                "source": "https://github.com/ramsey/uuid/tree/4.2.3"
    228236            },
    229237            "funding": [
     
    231239                    "url": "https://github.com/ramsey",
    232240                    "type": "github"
     241                },
     242                {
     243                    "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid",
     244                    "type": "tidelift"
    233245                }
    234246            ],
     
    237249        {
    238250            "name": "snowplow/snowplow-tracker",
    239             "version": "0.4.0",
    240             "version_normalized": "0.4.0.0",
     251            "version": "0.5.0",
     252            "version_normalized": "0.5.0.0",
    241253            "source": {
    242254                "type": "git",
    243255                "url": "https://github.com/snowplow/snowplow-php-tracker.git",
    244                 "reference": "530ba8f8d76ade19cb6ce4cbd996df6c2fbc62b6"
    245             },
    246             "dist": {
    247                 "type": "zip",
    248                 "url": "https://api.github.com/repos/snowplow/snowplow-php-tracker/zipball/530ba8f8d76ade19cb6ce4cbd996df6c2fbc62b6",
    249                 "reference": "530ba8f8d76ade19cb6ce4cbd996df6c2fbc62b6",
    250                 "shasum": ""
    251             },
    252             "require": {
    253                 "php": ">=7.2",
     256                "reference": "32a08e9a7c25d1c51621751e1cdfcffcdef6cfe5"
     257            },
     258            "dist": {
     259                "type": "zip",
     260                "url": "https://api.github.com/repos/snowplow/snowplow-php-tracker/zipball/32a08e9a7c25d1c51621751e1cdfcffcdef6cfe5",
     261                "reference": "32a08e9a7c25d1c51621751e1cdfcffcdef6cfe5",
     262                "shasum": ""
     263            },
     264            "require": {
     265                "php": ">=7.4",
    254266                "ramsey/uuid": "^3 || ^4"
    255267            },
    256268            "require-dev": {
    257                 "php-coveralls/php-coveralls": "^2.1.0",
    258                 "phpunit/php-token-stream": "^3.1.1",
    259                 "phpunit/phpunit": "^8.1.4"
    260             },
    261             "time": "2021-03-05T11:12:38+00:00",
     269                "php-coveralls/php-coveralls": "^2.5.2",
     270                "phpunit/php-token-stream": "^4.0.4",
     271                "phpunit/phpunit": "^9.5.13"
     272            },
     273            "time": "2022-02-07T13:57:01+00:00",
    262274            "type": "library",
    263275            "installation-source": "dist",
     
    286298                "email": "support@snowplowanalytics.com",
    287299                "issues": "https://github.com/snowplow/snowplow-php-tracker/issues",
    288                 "source": "https://github.com/snowplow/snowplow-php-tracker/tree/0.4.0"
     300                "source": "https://github.com/snowplow/snowplow-php-tracker/tree/0.5.0"
    289301            },
    290302            "install-path": "../snowplow/snowplow-tracker"
     
    374386            ],
    375387            "install-path": "../symfony/polyfill-ctype"
     388        },
     389        {
     390            "name": "symfony/polyfill-php80",
     391            "version": "v1.24.0",
     392            "version_normalized": "1.24.0.0",
     393            "source": {
     394                "type": "git",
     395                "url": "https://github.com/symfony/polyfill-php80.git",
     396                "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9"
     397            },
     398            "dist": {
     399                "type": "zip",
     400                "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9",
     401                "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9",
     402                "shasum": ""
     403            },
     404            "require": {
     405                "php": ">=7.1"
     406            },
     407            "time": "2021-09-13T13:58:33+00:00",
     408            "type": "library",
     409            "extra": {
     410                "branch-alias": {
     411                    "dev-main": "1.23-dev"
     412                },
     413                "thanks": {
     414                    "name": "symfony/polyfill",
     415                    "url": "https://github.com/symfony/polyfill"
     416                }
     417            },
     418            "installation-source": "dist",
     419            "autoload": {
     420                "files": [
     421                    "bootstrap.php"
     422                ],
     423                "psr-4": {
     424                    "Symfony\\Polyfill\\Php80\\": ""
     425                },
     426                "classmap": [
     427                    "Resources/stubs"
     428                ]
     429            },
     430            "notification-url": "https://packagist.org/downloads/",
     431            "license": [
     432                "MIT"
     433            ],
     434            "authors": [
     435                {
     436                    "name": "Ion Bazan",
     437                    "email": "ion.bazan@gmail.com"
     438                },
     439                {
     440                    "name": "Nicolas Grekas",
     441                    "email": "p@tchwork.com"
     442                },
     443                {
     444                    "name": "Symfony Community",
     445                    "homepage": "https://symfony.com/contributors"
     446                }
     447            ],
     448            "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
     449            "homepage": "https://symfony.com",
     450            "keywords": [
     451                "compatibility",
     452                "polyfill",
     453                "portable",
     454                "shim"
     455            ],
     456            "support": {
     457                "source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0"
     458            },
     459            "funding": [
     460                {
     461                    "url": "https://symfony.com/sponsor",
     462                    "type": "custom"
     463                },
     464                {
     465                    "url": "https://github.com/fabpot",
     466                    "type": "github"
     467                },
     468                {
     469                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
     470                    "type": "tidelift"
     471                }
     472            ],
     473            "install-path": "../symfony/polyfill-php80"
     474        },
     475        {
     476            "name": "symfony/polyfill-php81",
     477            "version": "v1.24.0",
     478            "version_normalized": "1.24.0.0",
     479            "source": {
     480                "type": "git",
     481                "url": "https://github.com/symfony/polyfill-php81.git",
     482                "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f"
     483            },
     484            "dist": {
     485                "type": "zip",
     486                "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
     487                "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
     488                "shasum": ""
     489            },
     490            "require": {
     491                "php": ">=7.1"
     492            },
     493            "time": "2021-09-13T13:58:11+00:00",
     494            "type": "library",
     495            "extra": {
     496                "branch-alias": {
     497                    "dev-main": "1.23-dev"
     498                },
     499                "thanks": {
     500                    "name": "symfony/polyfill",
     501                    "url": "https://github.com/symfony/polyfill"
     502                }
     503            },
     504            "installation-source": "dist",
     505            "autoload": {
     506                "files": [
     507                    "bootstrap.php"
     508                ],
     509                "psr-4": {
     510                    "Symfony\\Polyfill\\Php81\\": ""
     511                },
     512                "classmap": [
     513                    "Resources/stubs"
     514                ]
     515            },
     516            "notification-url": "https://packagist.org/downloads/",
     517            "license": [
     518                "MIT"
     519            ],
     520            "authors": [
     521                {
     522                    "name": "Nicolas Grekas",
     523                    "email": "p@tchwork.com"
     524                },
     525                {
     526                    "name": "Symfony Community",
     527                    "homepage": "https://symfony.com/contributors"
     528                }
     529            ],
     530            "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
     531            "homepage": "https://symfony.com",
     532            "keywords": [
     533                "compatibility",
     534                "polyfill",
     535                "portable",
     536                "shim"
     537            ],
     538            "support": {
     539                "source": "https://github.com/symfony/polyfill-php81/tree/v1.24.0"
     540            },
     541            "funding": [
     542                {
     543                    "url": "https://symfony.com/sponsor",
     544                    "type": "custom"
     545                },
     546                {
     547                    "url": "https://github.com/fabpot",
     548                    "type": "github"
     549                },
     550                {
     551                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
     552                    "type": "tidelift"
     553                }
     554            ],
     555            "install-path": "../symfony/polyfill-php81"
    376556        }
    377557    ],
  • sophi/tags/1.0.10/vendor/composer/installed.php

    r2681627 r2686283  
    11<?php return array(
    22    'root' => array(
    3         'pretty_version' => '1.0.9',
    4         'version' => '1.0.9.0',
     3        'pretty_version' => '1.0.10',
     4        'version' => '1.0.10.0',
    55        'type' => 'wordpress-plugin',
    66        'install_path' => __DIR__ . '/../../',
    77        'aliases' => array(),
    8         'reference' => '6254f70ef2164a657d2677af928d3d5749f351b7',
     8        'reference' => '40ecf7b05d98fe5458c520f1299445515981a652',
    99        'name' => 'globeandmail/sophi-for-wordpress',
    1010        'dev' => false,
     
    1212    'versions' => array(
    1313        'brick/math' => array(
    14             'pretty_version' => '0.9.2',
    15             'version' => '0.9.2.0',
     14            'pretty_version' => '0.9.3',
     15            'version' => '0.9.3.0',
    1616            'type' => 'library',
    1717            'install_path' => __DIR__ . '/../brick/math',
    1818            'aliases' => array(),
    19             'reference' => 'dff976c2f3487d42c1db75a3b180e2b9f0e72ce0',
     19            'reference' => 'ca57d18f028f84f777b2168cd1911b0dee2343ae',
    2020            'dev_requirement' => false,
    2121        ),
    2222        'globeandmail/sophi-for-wordpress' => array(
    23             'pretty_version' => '1.0.9',
    24             'version' => '1.0.9.0',
     23            'pretty_version' => '1.0.10',
     24            'version' => '1.0.10.0',
    2525            'type' => 'wordpress-plugin',
    2626            'install_path' => __DIR__ . '/../../',
    2727            'aliases' => array(),
    28             'reference' => '6254f70ef2164a657d2677af928d3d5749f351b7',
     28            'reference' => '40ecf7b05d98fe5458c520f1299445515981a652',
    2929            'dev_requirement' => false,
    3030        ),
    3131        'ramsey/collection' => array(
    32             'pretty_version' => '1.1.3',
    33             'version' => '1.1.3.0',
     32            'pretty_version' => '1.2.2',
     33            'version' => '1.2.2.0',
    3434            'type' => 'library',
    3535            'install_path' => __DIR__ . '/../ramsey/collection',
    3636            'aliases' => array(),
    37             'reference' => '28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1',
     37            'reference' => 'cccc74ee5e328031b15640b51056ee8d3bb66c0a',
    3838            'dev_requirement' => false,
    3939        ),
    4040        'ramsey/uuid' => array(
    41             'pretty_version' => '4.1.1',
    42             'version' => '4.1.1.0',
     41            'pretty_version' => '4.2.3',
     42            'version' => '4.2.3.0',
    4343            'type' => 'library',
    4444            'install_path' => __DIR__ . '/../ramsey/uuid',
    4545            'aliases' => array(),
    46             'reference' => 'cd4032040a750077205918c86049aa0f43d22947',
     46            'reference' => 'fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df',
    4747            'dev_requirement' => false,
    4848        ),
     
    5050            'dev_requirement' => false,
    5151            'replaced' => array(
    52                 0 => '4.1.1',
     52                0 => '4.2.3',
    5353            ),
    5454        ),
    5555        'snowplow/snowplow-tracker' => array(
    56             'pretty_version' => '0.4.0',
    57             'version' => '0.4.0.0',
     56            'pretty_version' => '0.5.0',
     57            'version' => '0.5.0.0',
    5858            'type' => 'library',
    5959            'install_path' => __DIR__ . '/../snowplow/snowplow-tracker',
    6060            'aliases' => array(),
    61             'reference' => '530ba8f8d76ade19cb6ce4cbd996df6c2fbc62b6',
     61            'reference' => '32a08e9a7c25d1c51621751e1cdfcffcdef6cfe5',
    6262            'dev_requirement' => false,
    6363        ),
     
    7171            'dev_requirement' => false,
    7272        ),
     73        'symfony/polyfill-php80' => array(
     74            'pretty_version' => 'v1.24.0',
     75            'version' => '1.24.0.0',
     76            'type' => 'library',
     77            'install_path' => __DIR__ . '/../symfony/polyfill-php80',
     78            'aliases' => array(),
     79            'reference' => '57b712b08eddb97c762a8caa32c84e037892d2e9',
     80            'dev_requirement' => false,
     81        ),
     82        'symfony/polyfill-php81' => array(
     83            'pretty_version' => 'v1.24.0',
     84            'version' => '1.24.0.0',
     85            'type' => 'library',
     86            'install_path' => __DIR__ . '/../symfony/polyfill-php81',
     87            'aliases' => array(),
     88            'reference' => '5de4ba2d41b15f9bd0e19b2ab9674135813ec98f',
     89            'dev_requirement' => false,
     90        ),
    7391    ),
    7492);
  • sophi/tags/1.0.10/vendor/ramsey/collection/LICENSE

    r2521616 r2686283  
    1 Copyright (c) 2015-2020 Ben Ramsey <ben@benramsey.com>
     1Copyright (c) 2015-2021 Ben Ramsey <ben@benramsey.com>
    22
    33Permission is hereby granted, free of charge, to any person obtaining a copy
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/AbstractArray.php

    r2521616 r2686283  
    2626 *
    2727 * @template T
    28  * @template-implements ArrayInterface<T>
     28 * @implements ArrayInterface<T>
    2929 */
    3030abstract class AbstractArray implements ArrayInterface
     
    5555     *
    5656     * @link http://php.net/manual/en/iteratoraggregate.getiterator.php IteratorAggregate::getIterator()
     57     *
     58     * @return Traversable<array-key, T>
    5759     */
    5860    public function getIterator(): Traversable
     
    8284     * @return T|null the value stored at the offset, or null if the offset
    8385     *     does not exist.
    84      */
     86     *
     87     * @psalm-suppress InvalidAttribute
     88     */
     89    #[\ReturnTypeWillChange] // phpcs:ignore
    8590    public function offsetGet($offset)
    8691    {
     
    122127     * Returns a serialized string representation of this array object.
    123128     *
     129     * @deprecated The Serializable interface will go away in PHP 9.
     130     *
    124131     * @link http://php.net/manual/en/serializable.serialize.php Serializable::serialize()
    125132     *
     
    132139
    133140    /**
     141     * Returns data suitable for PHP serialization.
     142     *
     143     * @link https://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.serialize
     144     * @link https://www.php.net/serialize
     145     *
     146     * @return array<array-key, T>
     147     */
     148    public function __serialize(): array
     149    {
     150        return $this->data;
     151    }
     152
     153    /**
    134154     * Converts a serialized string representation into an instance object.
     155     *
     156     * @deprecated The Serializable interface will go away in PHP 9.
    135157     *
    136158     * @link http://php.net/manual/en/serializable.unserialize.php Serializable::unserialize()
     
    149171
    150172    /**
     173     * Adds unserialized data to the object.
     174     *
     175     * @param array<array-key, T> $data
     176     */
     177    public function __unserialize(array $data): void
     178    {
     179        $this->data = $data;
     180    }
     181
     182    /**
    151183     * Returns the number of items in this array.
    152184     *
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/AbstractCollection.php

    r2521616 r2686283  
    3333use function end;
    3434use function in_array;
     35use function is_int;
    3536use function reset;
    3637use function sprintf;
     
    4344 *
    4445 * @template T
    45  * @template-extends AbstractArray<T>
    46  * @template-implements CollectionInterface<T>
     46 * @extends AbstractArray<T>
     47 * @implements CollectionInterface<T>
    4748 */
    4849abstract class AbstractCollection extends AbstractArray implements CollectionInterface
     
    239240    public function merge(CollectionInterface ...$collections): CollectionInterface
    240241    {
    241         $temp = [$this->data];
     242        $mergedCollection = clone $this;
    242243
    243244        foreach ($collections as $index => $collection) {
     
    256257            }
    257258
    258             $temp[] = $collection->toArray();
    259         }
    260 
    261         /** @var array<array-key, T> $merge */
    262         $merge = array_merge(...$temp);
    263 
    264         $collection = clone $this;
    265         $collection->data = $merge;
    266 
    267         return $collection;
     259            foreach ($collection as $key => $value) {
     260                if (is_int($key)) {
     261                    $mergedCollection[] = $value;
     262                } else {
     263                    $mergedCollection[$key] = $value;
     264                }
     265            }
     266        }
     267
     268        return $mergedCollection;
    268269    }
    269270
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/AbstractSet.php

    r2521616 r2686283  
    2121 *
    2222 * @template T
    23  * @template-extends AbstractCollection<T>
     23 * @extends AbstractCollection<T>
    2424 */
    2525abstract class AbstractSet extends AbstractCollection
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/ArrayInterface.php

    r2521616 r2686283  
    2424 *
    2525 * @template T
     26 * @extends ArrayAccess<array-key, T>
     27 * @extends IteratorAggregate<array-key, T>
    2628 */
    2729interface ArrayInterface extends
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Collection.php

    r2521616 r2686283  
    7272 *
    7373 * @template T
    74  * @template-extends AbstractCollection<T>
     74 * @extends AbstractCollection<T>
    7575 */
    7676class Collection extends AbstractCollection
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/CollectionInterface.php

    r2521616 r2686283  
    2222 *
    2323 * @template T
    24  * @template-extends ArrayInterface<T>
     24 * @extends ArrayInterface<T>
    2525 */
    2626interface CollectionInterface extends ArrayInterface
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/DoubleEndedQueue.php

    r2521616 r2686283  
    2323 *
    2424 * @template T
    25  * @template-extends Queue<T>
    26  * @template-implements DoubleEndedQueueInterface<T>
     25 * @extends Queue<T>
     26 * @implements DoubleEndedQueueInterface<T>
    2727 */
    2828class DoubleEndedQueue extends Queue implements DoubleEndedQueueInterface
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/DoubleEndedQueueInterface.php

    r2521616 r2686283  
    161161 *
    162162 * @template T
    163  * @template-extends QueueInterface<T>
     163 * @extends QueueInterface<T>
    164164 */
    165165interface DoubleEndedQueueInterface extends QueueInterface
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/GenericArray.php

    r2521616 r2686283  
    1818 * `GenericArray` represents a standard array object.
    1919 *
    20  * @template-extends AbstractArray<mixed>
     20 * @extends AbstractArray<mixed>
    2121 */
    2222class GenericArray extends AbstractArray
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Map/AbstractMap.php

    r2521616 r2686283  
    2727 *
    2828 * @template T
    29  * @template-extends AbstractArray<T>
    30  * @template-implements MapInterface<T>
     29 * @extends AbstractArray<T>
     30 * @implements MapInterface<T>
    3131 */
    3232abstract class AbstractMap extends AbstractArray implements MapInterface
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Map/AbstractTypedMap.php

    r2521616 r2686283  
    2323 * minimize the effort required to implement this interface.
    2424 *
    25  * @phpstan-ignore-next-line
    26  * @template K as array-key
     25 * @template K
    2726 * @template T
    28  * @template-extends AbstractMap<T>
    29  * @template-implements TypedMapInterface<T>
     27 * @extends AbstractMap<T>
     28 * @implements TypedMapInterface<T>
    3029 */
    3130abstract class AbstractTypedMap extends AbstractMap implements TypedMapInterface
     
    6564        }
    6665
     66        /** @psalm-suppress MixedArgumentTypeCoercion */
    6767        parent::offsetSet($offset, $value);
    6868    }
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Map/AssociativeArrayMap.php

    r2521616 r2686283  
    1919 *
    2020 * @template T
    21  * @template-extends AbstractMap<T>
     21 * @extends AbstractMap<T>
    2222 */
    2323class AssociativeArrayMap extends AbstractMap
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Map/MapInterface.php

    r2521616 r2686283  
    2323 *
    2424 * @template T
    25  * @template-extends ArrayInterface<T>
     25 * @extends ArrayInterface<T>
    2626 */
    2727interface MapInterface extends ArrayInterface
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Map/NamedParameterMap.php

    r2521616 r2686283  
    2727 * that may optionally be typed
    2828 *
    29  * @template-extends AbstractMap<mixed>
     29 * @extends AbstractMap<mixed>
    3030 */
    3131class NamedParameterMap extends AbstractMap
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Map/TypedMap.php

    r2521616 r2686283  
    8181 * ```
    8282 *
    83  * @phpstan-ignore-next-line
    84  * @template K as array-key
     83 * @template K
    8584 * @template T
    86  * @template-extends AbstractTypedMap<K, T>
     85 * @extends AbstractTypedMap<K, T>
    8786 */
    8887class TypedMap extends AbstractTypedMap
     
    122121        $this->keyType = $keyType;
    123122        $this->valueType = $valueType;
     123
     124        /** @psalm-suppress MixedArgumentTypeCoercion */
    124125        parent::__construct($data);
    125126    }
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Map/TypedMapInterface.php

    r2521616 r2686283  
    2020 *
    2121 * @template T
    22  * @template-extends MapInterface<T>
     22 * @extends MapInterface<T>
    2323 */
    2424interface TypedMapInterface extends MapInterface
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Queue.php

    r2521616 r2686283  
    2525 *
    2626 * @template T
    27  * @template-extends AbstractArray<T>
    28  * @template-implements QueueInterface<T>
     27 * @extends AbstractArray<T>
     28 * @implements QueueInterface<T>
    2929 */
    3030class Queue extends AbstractArray implements QueueInterface
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/QueueInterface.php

    r2521616 r2686283  
    9595 *
    9696 * @template T
    97  * @template-extends ArrayInterface<T>
     97 * @extends ArrayInterface<T>
    9898 */
    9999interface QueueInterface extends ArrayInterface
  • sophi/tags/1.0.10/vendor/ramsey/collection/src/Set.php

    r2521616 r2686283  
    3737 *
    3838 * @template T
    39  * @template-extends AbstractSet<T>
     39 * @extends AbstractSet<T>
    4040 */
    4141class Set extends AbstractSet
  • sophi/tags/1.0.10/vendor/ramsey/uuid/LICENSE

    r2521616 r2686283  
    1 MIT License
    2 
    3 Copyright (c) 2012-2020 Ben Ramsey <ben@benramsey.com>
     1Copyright (c) 2012-2021 Ben Ramsey <ben@benramsey.com>
    42
    53Permission is hereby granted, free of charge, to any person obtaining a copy
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Builder/BuilderCollection.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Collection\AbstractCollection;
    18 use Ramsey\Collection\CollectionInterface;
    1918use Ramsey\Uuid\Converter\Number\GenericNumberConverter;
    2019use Ramsey\Uuid\Converter\Time\GenericTimeConverter;
     
    2827/**
    2928 * A collection of UuidBuilderInterface objects
     29 *
     30 * @extends AbstractCollection<UuidBuilderInterface>
    3031 */
    31 class BuilderCollection extends AbstractCollection implements CollectionInterface
     32class BuilderCollection extends AbstractCollection
    3233{
    3334    public function getType(): string
     
    5354     *
    5455     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     56     * @psalm-suppress RedundantConditionGivenDocblockType
    5557     */
    5658    public function unserialize($serialized): void
    5759    {
    58         /** @var mixed[] $data */
     60        /** @var array<array-key, UuidBuilderInterface> $data */
    5961        $data = unserialize($serialized, [
    6062            'allowed_classes' => [
     
    6971        ]);
    7072
    71         $this->data = $data;
     73        $this->data = array_filter(
     74            $data,
     75            function ($unserialized): bool {
     76                return $unserialized instanceof UuidBuilderInterface;
     77            }
     78        );
    7279    }
    7380}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Builder/DefaultUuidBuilder.php

    r2521616 r2686283  
    2222 * @psalm-immutable
    2323 */
    24 class DefaultUuidBuilder extends Rfc4122UuidBuilder implements UuidBuilderInterface
     24class DefaultUuidBuilder extends Rfc4122UuidBuilder
    2525{
    2626}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Builder/FallbackBuilder.php

    r2521616 r2686283  
    5656        $lastBuilderException = null;
    5757
    58         /** @var UuidBuilderInterface $builder */
    5958        foreach ($this->builders as $builder) {
    6059            try {
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Codec/OrderedTimeCodec.php

    r2521616 r2686283  
    6868        $bytes = $uuid->getFields()->getBytes();
    6969
     70        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    7071        return $bytes[6] . $bytes[7]
    7172            . $bytes[4] . $bytes[5]
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Codec/StringCodec.php

    r2521616 r2686283  
    7676    public function encodeBinary(UuidInterface $uuid): string
    7777    {
     78        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    7879        return $uuid->getFields()->getBytes();
    7980    }
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php

    r2521616 r2686283  
    7777    public function encodeBinary(UuidInterface $uuid): string
    7878    {
     79        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    7980        return $this->swapBytes($uuid->getFields()->getBytes());
    8081    }
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Converter/Number/GenericNumberConverter.php

    r2521616 r2686283  
    2020
    2121/**
    22  * GenericNumberConverter uses the provided calculate to convert decimal
     22 * GenericNumberConverter uses the provided calculator to convert decimal
    2323 * numbers to and from hexadecimal values
    2424 *
     
    5858    public function toHex(string $number): string
    5959    {
     60        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    6061        return $this->calculator->toBase(new IntegerObject($number), 16);
    6162    }
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Converter/Time/PhpTimeConverter.php

    r2521616 r2686283  
    112112        }
    113113
    114         return new Hexadecimal(str_pad(dechex((int) $uuidTime), 16, '0', STR_PAD_LEFT));
     114        return new Hexadecimal(str_pad(dechex($uuidTime), 16, '0', STR_PAD_LEFT));
    115115    }
    116116
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/BuilderNotFoundException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that no suitable builder could be found
    2121 */
    22 class BuilderNotFoundException extends PhpRuntimeException
     22class BuilderNotFoundException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/DateTimeException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the PHP DateTime extension encountered an exception/error
    2121 */
    22 class DateTimeException extends PhpRuntimeException
     22class DateTimeException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/DceSecurityException.php

    r2521616 r2686283  
    2121 * (version 2) UUIDs
    2222 */
    23 class DceSecurityException extends PhpRuntimeException
     23class DceSecurityException extends PhpRuntimeException implements UuidExceptionInterface
    2424{
    2525}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/InvalidArgumentException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the argument received is not valid
    2121 */
    22 class InvalidArgumentException extends PhpInvalidArgumentException
     22class InvalidArgumentException extends PhpInvalidArgumentException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/InvalidBytesException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the bytes being operated on are invalid in some way
    2121 */
    22 class InvalidBytesException extends PhpRuntimeException
     22class InvalidBytesException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/InvalidUuidStringException.php

    r2521616 r2686283  
    2121 * of this exception. It exists in the same namespace as this class.
    2222 */
    23 class InvalidUuidStringException extends InvalidArgumentException
     23class InvalidUuidStringException extends InvalidArgumentException implements UuidExceptionInterface
    2424{
    2525}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/NameException.php

    r2521616 r2686283  
    2121 * namespace and name
    2222 */
    23 class NameException extends PhpRuntimeException
     23class NameException extends PhpRuntimeException implements UuidExceptionInterface
    2424{
    2525}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/NodeException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that attempting to fetch or create a node ID encountered an error
    2121 */
    22 class NodeException extends PhpRuntimeException
     22class NodeException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/RandomSourceException.php

    r2521616 r2686283  
    2323 * threw an exception. However, it may be used for other sources of random data.
    2424 */
    25 class RandomSourceException extends PhpRuntimeException
     25class RandomSourceException extends PhpRuntimeException implements UuidExceptionInterface
    2626{
    2727}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/TimeSourceException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the source of time encountered an error
    2121 */
    22 class TimeSourceException extends PhpRuntimeException
     22class TimeSourceException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/UnableToBuildUuidException.php

    r2521616 r2686283  
    2020 * Thrown to indicate a builder is unable to build a UUID
    2121 */
    22 class UnableToBuildUuidException extends PhpRuntimeException
     22class UnableToBuildUuidException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Exception/UnsupportedOperationException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the requested operation is not supported
    2121 */
    22 class UnsupportedOperationException extends PhpLogicException
     22class UnsupportedOperationException extends PhpLogicException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/FeatureSet.php

    r2521616 r2686283  
    275275        $this->timeConverter = $this->buildTimeConverter($calculator);
    276276
     277        /** @psalm-suppress RedundantPropertyInitializationCheck */
    277278        if (isset($this->timeProvider)) {
    278279            $this->timeGenerator = $this->buildTimeGenerator($this->timeProvider);
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Fields/SerializableFieldsTrait.php

    r2521616 r2686283  
    1515namespace Ramsey\Uuid\Fields;
    1616
     17use ValueError;
     18
    1719use function base64_decode;
     20use function sprintf;
    1821use function strlen;
    1922
     
    4447
    4548    /**
     49     * @return array{bytes: string}
     50     */
     51    public function __serialize(): array
     52    {
     53        return ['bytes' => $this->getBytes()];
     54    }
     55
     56    /**
    4657     * Constructs the object from a serialized string representation
    4758     *
     
    4960     *
    5061     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     62     * @psalm-suppress UnusedMethodCall
    5163     */
    5264    public function unserialize($serialized): void
     
    5870        }
    5971    }
     72
     73    /**
     74     * @param array{bytes: string} $data
     75     */
     76    public function __unserialize(array $data): void
     77    {
     78        // @codeCoverageIgnoreStart
     79        if (!isset($data['bytes'])) {
     80            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     81        }
     82        // @codeCoverageIgnoreEnd
     83
     84        $this->unserialize($data['bytes']);
     85    }
    6086}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Generator/CombGenerator.php

    r2521616 r2686283  
    108108        return (string) hex2bin(
    109109            str_pad(
    110                 bin2hex((string) $hash),
     110                bin2hex($hash),
    111111                $length - self::TIMESTAMP_BYTES,
    112112                '0'
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Generator/DceSecurityGenerator.php

    r2521616 r2686283  
    139139
    140140        $domainByte = pack('n', $localDomain)[1];
    141         $identifierBytes = hex2bin(str_pad($identifierHex, 8, '0', STR_PAD_LEFT));
     141        $identifierBytes = (string) hex2bin(str_pad($identifierHex, 8, '0', STR_PAD_LEFT));
    142142
    143143        if ($node instanceof Hexadecimal) {
     
    150150        }
    151151
    152         /** @var string $bytes */
    153152        $bytes = $this->timeGenerator->generate($node, $clockSeq);
    154153
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Generator/DefaultNameGenerator.php

    r2521616 r2686283  
    1717use Ramsey\Uuid\Exception\NameException;
    1818use Ramsey\Uuid\UuidInterface;
     19use ValueError;
    1920
    2021use function hash;
     
    2930    public function generate(UuidInterface $ns, string $name, string $hashAlgorithm): string
    3031    {
    31         /** @var string|bool $bytes */
    32         $bytes = @hash($hashAlgorithm, $ns->getBytes() . $name, true);
     32        try {
     33            /** @var string|bool $bytes */
     34            $bytes = @hash($hashAlgorithm, $ns->getBytes() . $name, true);
     35        } catch (ValueError $e) {
     36            $bytes = false; // keep same behavior than PHP 7
     37        }
    3338
    3439        if ($bytes === false) {
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php

    r2521616 r2686283  
    3636        switch ($hashAlgorithm) {
    3737            case 'md5':
    38                 $uuid = (string) uuid_generate_md5($ns->toString(), $name);
     38                $uuid = uuid_generate_md5($ns->toString(), $name);
    3939
    4040                break;
    4141            case 'sha1':
    42                 $uuid = (string) uuid_generate_sha1($ns->toString(), $name);
     42                $uuid = uuid_generate_sha1($ns->toString(), $name);
    4343
    4444                break;
     
    5050        }
    5151
    52         return (string) uuid_parse($uuid);
     52        return uuid_parse($uuid);
    5353    }
    5454}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Generator/PeclUuidRandomGenerator.php

    r2521616 r2686283  
    1414
    1515namespace Ramsey\Uuid\Generator;
     16
     17use function uuid_create;
     18use function uuid_parse;
    1619
    1720use const UUID_TYPE_RANDOM;
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Generator/PeclUuidTimeGenerator.php

    r2521616 r2686283  
    1414
    1515namespace Ramsey\Uuid\Generator;
     16
     17use function uuid_create;
     18use function uuid_parse;
    1619
    1720use const UUID_TYPE_TIME;
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Generator/RandomBytesGenerator.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Uuid\Exception\RandomSourceException;
     18use Throwable;
    1819
    1920/**
     
    3435        try {
    3536            return random_bytes($length);
    36         } catch (\Throwable $exception) {
     37        } catch (Throwable $exception) {
    3738            throw new RandomSourceException(
    3839                $exception->getMessage(),
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Guid/Fields.php

    r2521616 r2686283  
    9595    {
    9696        // Swap the bytes from little endian to network byte order.
     97        /** @var array $hex */
    9798        $hex = unpack(
    9899            'H*',
     
    110111    {
    111112        // Swap the bytes from little endian to network byte order.
     113        /** @var array $hex */
    112114        $hex = unpack(
    113115            'H*',
     
    124126    {
    125127        // Swap the bytes from little endian to network byte order.
     128        /** @var array $hex */
    126129        $hex = unpack(
    127130            'H*',
     
    173176        }
    174177
     178        /** @var array $parts */
    175179        $parts = unpack('n*', $this->bytes);
    176180
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Guid/Guid.php

    r2521616 r2686283  
    1919use Ramsey\Uuid\Converter\TimeConverterInterface;
    2020use Ramsey\Uuid\Uuid;
    21 use Ramsey\Uuid\UuidInterface;
    2221
    2322/**
     
    5049 * @psalm-immutable
    5150 */
    52 final class Guid extends Uuid implements UuidInterface
     51final class Guid extends Uuid
    5352{
    5453    public function __construct(
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Lazy/LazyUuidFromString.php

    r2521616 r2686283  
    88 *
    99 * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
    10  * @license   http://opensource.org/licenses/MIT MIT
     10 * @license http://opensource.org/licenses/MIT MIT
    1111 */
    1212
     
    2525use Ramsey\Uuid\UuidFactory;
    2626use Ramsey\Uuid\UuidInterface;
     27use ValueError;
    2728
    2829use function assert;
    2930use function bin2hex;
    3031use function hex2bin;
     32use function sprintf;
    3133use function str_replace;
    3234use function substr;
     
    9294
    9395    /**
     96     * @return array{string: string}
     97     *
     98     * @psalm-return array{string: non-empty-string}
     99     */
     100    public function __serialize(): array
     101    {
     102        return ['string' => $this->uuid];
     103    }
     104
     105    /**
    94106     * {@inheritDoc}
    95107     *
     
    101113    {
    102114        $this->uuid = $serialized;
     115    }
     116
     117    /**
     118     * @param array{string: string} $data
     119     *
     120     * @psalm-param array{string: non-empty-string} $data
     121     */
     122    public function __unserialize(array $data): void
     123    {
     124        // @codeCoverageIgnoreStart
     125        if (!isset($data['string'])) {
     126            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     127        }
     128        // @codeCoverageIgnoreEnd
     129
     130        $this->unserialize($data['string']);
    103131    }
    104132
     
    243271    public function getBytes(): string
    244272    {
     273        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    245274        return (string) hex2bin(str_replace('-', '', $this->uuid));
    246275    }
     
    498527    {
    499528        $instance = ($this->unwrapped ?? $this->unwrap());
    500         $fields   = $instance->getFields();
     529        $fields = $instance->getFields();
    501530
    502531        if ($fields->getVersion() !== 1) {
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Nonstandard/Uuid.php

    r2521616 r2686283  
    1919use Ramsey\Uuid\Converter\TimeConverterInterface;
    2020use Ramsey\Uuid\Uuid as BaseUuid;
    21 use Ramsey\Uuid\UuidInterface;
    2221
    2322/**
     
    2625 * @psalm-immutable
    2726 */
    28 final class Uuid extends BaseUuid implements UuidInterface
     27final class Uuid extends BaseUuid
    2928{
    3029    public function __construct(
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Provider/Dce/SystemDceSecurityProvider.php

    r2521616 r2686283  
    178178        }
    179179
    180         /** @var string $sid */
    181         $sid = str_getcsv(trim($response))[1] ?? '';
     180        $sid = str_getcsv(trim((string) $response))[1] ?? '';
    182181
    183182        if (($lastHyphen = strrpos($sid, '-')) === false) {
     
    208207
    209208        /** @var string[] $userGroups */
    210         $userGroups = preg_split('/\s{2,}/', $response, -1, PREG_SPLIT_NO_EMPTY);
     209        $userGroups = preg_split('/\s{2,}/', (string) $response, -1, PREG_SPLIT_NO_EMPTY);
    211210
    212211        $firstGroup = trim($userGroups[1] ?? '', "* \t\n\r\0\x0B");
     
    223222
    224223        /** @var string[] $userGroup */
    225         $userGroup = preg_split('/\s{2,}/', $response, -1, PREG_SPLIT_NO_EMPTY);
     224        $userGroup = preg_split('/\s{2,}/', (string) $response, -1, PREG_SPLIT_NO_EMPTY);
    226225
    227226        $sid = $userGroup[1] ?? '';
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php

    r2521616 r2686283  
    4242        $lastProviderException = null;
    4343
    44         /** @var NodeProviderInterface $provider */
    4544        foreach ($this->nodeProviders as $provider) {
    4645            try {
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Provider/Node/NodeProviderCollection.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Collection\AbstractCollection;
    18 use Ramsey\Collection\CollectionInterface;
    1918use Ramsey\Uuid\Provider\NodeProviderInterface;
    2019use Ramsey\Uuid\Type\Hexadecimal;
     
    2221/**
    2322 * A collection of NodeProviderInterface objects
     23 *
     24 * @extends AbstractCollection<NodeProviderInterface>
    2425 */
    25 class NodeProviderCollection extends AbstractCollection implements CollectionInterface
     26class NodeProviderCollection extends AbstractCollection
    2627{
    2728    public function getType(): string
     
    3738     *
    3839     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     40     * @psalm-suppress RedundantConditionGivenDocblockType
    3941     */
    4042    public function unserialize($serialized): void
    4143    {
    42         /** @var mixed[] $data */
     44        /** @var array<array-key, NodeProviderInterface> $data */
    4345        $data = unserialize($serialized, [
    4446            'allowed_classes' => [
     
    5052        ]);
    5153
    52         $this->data = $data;
     54        $this->data = array_filter(
     55            $data,
     56            function ($unserialized): bool {
     57                return $unserialized instanceof NodeProviderInterface;
     58            }
     59        );
    5360    }
    5461}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php

    r2521616 r2686283  
    1818use Ramsey\Uuid\Provider\NodeProviderInterface;
    1919use Ramsey\Uuid\Type\Hexadecimal;
     20use Throwable;
    2021
    2122use function bin2hex;
     
    3940        try {
    4041            $nodeBytes = random_bytes(6);
    41         } catch (\Throwable $exception) {
     42        } catch (Throwable $exception) {
    4243            throw new RandomSourceException(
    4344                $exception->getMessage(),
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php

    r2521616 r2686283  
    133133        }
    134134
    135         return (string) $node;
     135        return $node;
    136136    }
    137137
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Rfc4122/Fields.php

    r2521616 r2686283  
    178178        }
    179179
     180        /** @var array $parts */
    180181        $parts = unpack('n*', $this->bytes);
    181182
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Rfc4122/VariantTrait.php

    r2521616 r2686283  
    5959        }
    6060
     61        /** @var array $parts */
    6162        $parts = unpack('n*', $this->getBytes());
    6263
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Type/Decimal.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Uuid\Exception\InvalidArgumentException;
     18use ValueError;
    1819
    1920use function is_numeric;
     21use function sprintf;
    2022
    2123/**
     
    100102
    101103    /**
     104     * @return array{string: string}
     105     */
     106    public function __serialize(): array
     107    {
     108        return ['string' => $this->toString()];
     109    }
     110
     111    /**
    102112     * Constructs the object from a serialized string representation
    103113     *
     
    105115     *
    106116     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     117     * @psalm-suppress UnusedMethodCall
    107118     */
    108119    public function unserialize($serialized): void
     
    110121        $this->__construct($serialized);
    111122    }
     123
     124    /**
     125     * @param array{string: string} $data
     126     */
     127    public function __unserialize(array $data): void
     128    {
     129        // @codeCoverageIgnoreStart
     130        if (!isset($data['string'])) {
     131            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     132        }
     133        // @codeCoverageIgnoreEnd
     134
     135        $this->unserialize($data['string']);
     136    }
    112137}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Type/Hexadecimal.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Uuid\Exception\InvalidArgumentException;
     18use ValueError;
    1819
    1920use function ctype_xdigit;
     21use function sprintf;
    2022use function strpos;
    2123use function strtolower;
     
    7981
    8082    /**
     83     * @return array{string: string}
     84     */
     85    public function __serialize(): array
     86    {
     87        return ['string' => $this->toString()];
     88    }
     89
     90    /**
    8191     * Constructs the object from a serialized string representation
    8292     *
     
    8494     *
    8595     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     96     * @psalm-suppress UnusedMethodCall
    8697     */
    8798    public function unserialize($serialized): void
     
    89100        $this->__construct($serialized);
    90101    }
     102
     103    /**
     104     * @param array{string: string} $data
     105     */
     106    public function __unserialize(array $data): void
     107    {
     108        // @codeCoverageIgnoreStart
     109        if (!isset($data['string'])) {
     110            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     111        }
     112        // @codeCoverageIgnoreEnd
     113
     114        $this->unserialize($data['string']);
     115    }
    91116}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Type/Integer.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Uuid\Exception\InvalidArgumentException;
     18use ValueError;
    1819
    1920use function ctype_digit;
    2021use function ltrim;
     22use function sprintf;
    2123use function strpos;
    2224use function substr;
     
    3739{
    3840    /**
    39      * @var string
     41     * @psalm-var numeric-string
    4042     */
    4143    private $value;
     
    8183        }
    8284
    83         $this->value = $value;
     85        /** @psalm-var numeric-string $numericValue */
     86        $numericValue = $value;
     87
     88        $this->value = $numericValue;
    8489    }
    8590
     
    8994    }
    9095
     96    /**
     97     * @psalm-return numeric-string
     98     */
    9199    public function toString(): string
    92100    {
     
    110118
    111119    /**
     120     * @return array{string: string}
     121     */
     122    public function __serialize(): array
     123    {
     124        return ['string' => $this->toString()];
     125    }
     126
     127    /**
    112128     * Constructs the object from a serialized string representation
    113129     *
     
    115131     *
    116132     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     133     * @psalm-suppress UnusedMethodCall
    117134     */
    118135    public function unserialize($serialized): void
     
    120137        $this->__construct($serialized);
    121138    }
     139
     140    /**
     141     * @param array{string: string} $data
     142     */
     143    public function __unserialize(array $data): void
     144    {
     145        // @codeCoverageIgnoreStart
     146        if (!isset($data['string'])) {
     147            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     148        }
     149        // @codeCoverageIgnoreEnd
     150
     151        $this->unserialize($data['string']);
     152    }
    122153}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Type/Time.php

    r2521616 r2686283  
    1717use Ramsey\Uuid\Exception\UnsupportedOperationException;
    1818use Ramsey\Uuid\Type\Integer as IntegerObject;
     19use ValueError;
    1920use stdClass;
    2021
    2122use function json_decode;
    2223use function json_encode;
     24use function sprintf;
    2325
    2426/**
     
    9092
    9193    /**
     94     * @return array{seconds: string, microseconds: string}
     95     */
     96    public function __serialize(): array
     97    {
     98        return [
     99            'seconds' => $this->getSeconds()->toString(),
     100            'microseconds' => $this->getMicroseconds()->toString(),
     101        ];
     102    }
     103
     104    /**
    92105     * Constructs the object from a serialized string representation
    93106     *
     
    95108     *
    96109     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     110     * @psalm-suppress UnusedMethodCall
    97111     */
    98112    public function unserialize($serialized): void
     
    109123        $this->__construct($time->seconds, $time->microseconds);
    110124    }
     125
     126    /**
     127     * @param array{seconds: string, microseconds: string} $data
     128     */
     129    public function __unserialize(array $data): void
     130    {
     131        // @codeCoverageIgnoreStart
     132        if (!isset($data['seconds']) || !isset($data['microseconds'])) {
     133            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     134        }
     135        // @codeCoverageIgnoreEnd
     136
     137        $this->__construct($data['seconds'], $data['microseconds']);
     138    }
    111139}
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/Uuid.php

    r2521616 r2686283  
    2424use Ramsey\Uuid\Type\Hexadecimal;
    2525use Ramsey\Uuid\Type\Integer as IntegerObject;
    26 
     26use ValueError;
     27
     28use function assert;
    2729use function bin2hex;
    2830use function preg_match;
     31use function sprintf;
    2932use function str_replace;
    3033use function strcmp;
     
    239242     * use Ramsey\Uuid\Uuid;
    240243     *
    241      * $timeBasedUuid     = Uuid::uuid1();
    242      * $namespaceMd5Uuid  = Uuid::uuid3(Uuid::NAMESPACE_URL, 'http://php.net/');
    243      * $randomUuid        = Uuid::uuid4();
     244     * $timeBasedUuid = Uuid::uuid1();
     245     * $namespaceMd5Uuid = Uuid::uuid3(Uuid::NAMESPACE_URL, 'http://php.net/');
     246     * $randomUuid = Uuid::uuid4();
    244247     * $namespaceSha1Uuid = Uuid::uuid5(Uuid::NAMESPACE_URL, 'http://php.net/');
    245248     * ```
     
    286289    public function serialize(): string
    287290    {
    288         return $this->getBytes();
     291        return $this->getFields()->getBytes();
     292    }
     293
     294    /**
     295     * @return array{bytes: string}
     296     */
     297    public function __serialize(): array
     298    {
     299        return ['bytes' => $this->serialize()];
    289300    }
    290301
     
    311322        $this->fields = $uuid->fields;
    312323        $this->timeConverter = $uuid->timeConverter;
     324    }
     325
     326    /**
     327     * @param array{bytes: string} $data
     328     */
     329    public function __unserialize(array $data): void
     330    {
     331        // @codeCoverageIgnoreStart
     332        if (!isset($data['bytes'])) {
     333            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     334        }
     335        // @codeCoverageIgnoreEnd
     336
     337        $this->unserialize($data['bytes']);
    313338    }
    314339
     
    453478    {
    454479        if (! self::$factoryReplaced && preg_match(LazyUuidFromString::VALID_REGEX, $uuid) === 1) {
     480            assert($uuid !== '');
     481
    455482            return new LazyUuidFromString(strtolower($uuid));
    456483        }
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/UuidFactory.php

    r2521616 r2686283  
    472472    private function uuidFromBytesAndVersion(string $bytes, int $version): UuidInterface
    473473    {
    474         $timeHi = (int) unpack('n*', substr($bytes, 6, 2))[1];
     474        /** @var array $unpackedTime */
     475        $unpackedTime = unpack('n*', substr($bytes, 6, 2));
     476        $timeHi = (int) $unpackedTime[1];
    475477        $timeHiAndVersion = pack('n*', BinaryUtils::applyVersion($timeHi, $version));
    476478
    477         $clockSeqHi = (int) unpack('n*', substr($bytes, 8, 2))[1];
     479        /** @var array $unpackedClockSeq */
     480        $unpackedClockSeq = unpack('n*', substr($bytes, 8, 2));
     481        $clockSeqHi = (int) $unpackedClockSeq[1];
    478482        $clockSeqHiAndReserved = pack('n*', BinaryUtils::applyVariant($clockSeqHi));
    479483
  • sophi/tags/1.0.10/vendor/ramsey/uuid/src/functions.php

    r2521616 r2686283  
    3030 *     changes
    3131 *
    32  * @return string Version 1 UUID as a string
     32 * @return non-empty-string Version 1 UUID as a string
    3333 */
    3434function v1($node = null, ?int $clockSeq = null): string
     
    5353 *     node ID changes
    5454 *
    55  * @return string Version 2 UUID as a string
     55 * @return non-empty-string Version 2 UUID as a string
    5656 */
    5757function v2(
     
    7070 * @param string|UuidInterface $ns The namespace (must be a valid UUID)
    7171 *
    72  * @return string Version 3 UUID as a string
     72 * @return non-empty-string Version 3 UUID as a string
     73 *
     74 * @psalm-pure note: changing the internal factory is an edge case not covered by purity invariants,
     75 *             but under constant factory setups, this method operates in functionally pure manners
    7376 */
    7477function v3($ns, string $name): string
     
    8083 * Returns a version 4 (random) UUID
    8184 *
    82  * @return string Version 4 UUID as a string
     85 * @return non-empty-string Version 4 UUID as a string
    8386 */
    8487function v4(): string
     
    9396 * @param string|UuidInterface $ns The namespace (must be a valid UUID)
    9497 *
    95  * @return string Version 5 UUID as a string
     98 * @return non-empty-string Version 5 UUID as a string
     99 *
     100 * @psalm-pure note: changing the internal factory is an edge case not covered by purity invariants,
     101 *             but under constant factory setups, this method operates in functionally pure manners
    96102 */
    97103function v5($ns, string $name): string
     
    110116 *     changes
    111117 *
    112  * @return string Version 6 UUID as a string
     118 * @return non-empty-string Version 6 UUID as a string
    113119 */
    114120function v6(?Hexadecimal $node = null, ?int $clockSeq = null): string
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/.github/workflows/cd.yml

    r2521616 r2686283  
    1717      uses: shivammathur/setup-php@v2
    1818      with:
    19         php-version: '7.2'
     19        php-version: '7.4'
    2020        extensions: mbstring
    2121        coverage: xdebug
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/.github/workflows/ci.yml

    r2521616 r2686283  
    1010  build:
    1111    runs-on: ubuntu-20.04
     12    strategy:
     13      matrix:
     14        php: ['7.4', '8.1']
    1215
    1316    steps:
     
    1821      uses: shivammathur/setup-php@v2
    1922      with:
    20         php-version: '7.2'
     23        php-version: ${{ matrix.php }}
    2124        extensions: mbstring
    2225        coverage: xdebug
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/CHANGELOG

    r2521616 r2686283  
     1Version 0.5.0 (2022-02-04)
     2--------------------------
     3Make testTrackerInit version use TRACKER_VERSION (#110)
     4Install composer programmatically (#108)
     5Add PHP 7.4 and 8.1 to CI build (#107)
     6Fix build on ARM (#102)
     7Add a setter for session ID on a subject (#105) (Thanks to @TijmenWierenga)
     8Allow log dir to be overridden for FileEmitter (#106) (Thanks to @EricTendian)
     9Update all copyright notices (#113)
     10
    111Version 0.4.0 (2021-03-02)
    212--------------------------
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/Dockerfile

    r2521616 r2686283  
    1 FROM php:7.2
     1FROM --platform=linux/amd64 php:7.4
    22
    3 RUN pecl install xdebug-2.7.2 \
     3RUN pecl install xdebug-3.1.3 \
    44    && docker-php-ext-enable xdebug
    55
     
    77 && apt-get install -y git wget tar
    88
     9ADD ./script/install-composer.sh /script/install-composer.sh
     10RUN chmod +x /script/install-composer.sh
     11
    912WORKDIR /usr/bin
    10 
    11 RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
    12     && php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
    13     && php composer-setup.php \
    14     && php -r "unlink('composer-setup.php');"
     13RUN /script/install-composer.sh
    1514
    1615WORKDIR /tmp
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/LICENSE-2.0.txt

    r2521616 r2686283  
    188188      identification within third-party archives.
    189189
    190    Copyright [yyyy] [name of copyright owner]
     190   Copyright 2022 Snowplow Analytics Ltd.
    191191
    192192   Licensed under the Apache License, Version 2.0 (the "License");
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/Worker.php

    r2521616 r2686283  
    33    Worker.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/src/Constants.php

    r2521616 r2686283  
    33    Constants.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    4746     * - Type: the default for what type of request the emitter will be making (POST or GET)
    4847     */
    49     const TRACKER_VERSION       = "php-0.4.0";
     48    const TRACKER_VERSION       = "php-0.5.0";
    5049    const DEFAULT_BASE_64       = true;
    5150    const DEBUG_LOG_FILES       = true;
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/src/Emitter.php

    r2521616 r2686283  
    44    Emitter.php
    55
    6     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     6    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    77
    88    This program is licensed to you under the Apache License Version 2.0,
     
    1818
    1919    Authors: Joshua Beemster
    20     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2120    License: Apache License Version 2.0
    2221*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/src/Emitters/CurlEmitter.php

    r2521616 r2686283  
    33    CurlEmitter.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/src/Emitters/FileEmitter.php

    r2521616 r2686283  
    33    FileEmitter.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    5049     * @param int|null $buffer_size
    5150     * @param bool|null $debug
    52      */
    53     public function __construct($uri, $protocol = NULL, $type = NULL, $workers = NULL, $timeout = NULL, $buffer_size = NULL, $debug = false) {
     51     * @param string|null $log_dir
     52     */
     53    public function __construct($uri, $protocol = NULL, $type = NULL, $workers = NULL, $timeout = NULL, $buffer_size = NULL, $debug = false, $log_dir = NULL) {
    5454
    5555        // Set error handler to catch warnings
     
    6161        $this->type     = $this->getRequestType($type);
    6262        $this->url      = $this->getCollectorUrl($this->type, $uri, $protocol);
    63         $this->log_dir  = $this->worker_root.self::WORKER_FOLDER;
     63        $this->log_dir  = $log_dir ?: $this->worker_root.self::WORKER_FOLDER;
    6464
    6565        // Initilize the event log file
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/src/Emitters/SocketEmitter.php

    r2521616 r2686283  
    33    SocketEmitter.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/src/Emitters/SyncEmitter.php

    r2521616 r2686283  
    33    SyncEmitter.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/src/Payload.php

    r2521616 r2686283  
    44    Payload.php
    55
    6     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     6    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    77
    88    This program is licensed to you under the Apache License Version 2.0,
     
    1818
    1919    Authors: Joshua Beemster
    20     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2120    License: Apache License Version 2.0
    2221*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/src/Subject.php

    r2521616 r2686283  
    44    Subject.php
    55
    6     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     6    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    77
    88    This program is licensed to you under the Apache License Version 2.0,
     
    1818
    1919    Authors: Joshua Beemster
    20     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2120    License: Apache License Version 2.0
    2221*/
     
    150149
    151150    /**
     151     * Sets the Session ID
     152     *
     153     * @param string $sessionId
     154     */
     155    public function setSessionId($sessionId) {
     156        $this->tracker_settings["sid"] = $sessionId;
     157    }
     158
     159    /**
     160     * Sets the Session Index
     161     *
     162     * @param int $sessionIndex
     163     */
     164    public function setSessionIndex($sessionIndex) {
     165        $this->tracker_settings["vid"] = $sessionIndex;
     166    }
     167
     168    /**
    152169     * Sets the referer
    153170     *
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/src/Tracker.php

    r2521616 r2686283  
    44    Tracker.php
    55
    6     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     6    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    77
    88    This program is licensed to you under the Apache License Version 2.0,
     
    1818
    1919    Authors: Joshua Beemster
    20     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2120    License: Apache License Version 2.0
    2221*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/tests/tests/ClassInitTests/EmitterTest.php

    r2521616 r2686283  
    33    EmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/tests/tests/ClassInitTests/PayloadTest.php

    r2521616 r2686283  
    33    PayloadTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/tests/tests/ClassInitTests/SubjectTest.php

    r2521616 r2686283  
    33    SubjectTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    131130        $this->assertEquals("tnuid", $settings["tnuid"]);
    132131    }
     132
     133    public function testAddSessionId() {
     134        $this->subject->setSessionId("759e1c9a-6b74-403c-8b6f-18eb9f0c2f02");
     135        $settings = $this->getTrackerSettings();
     136        $this->assertArrayHasKey("sid", $settings);
     137        $this->assertEquals("759e1c9a-6b74-403c-8b6f-18eb9f0c2f02", $settings["sid"]);
     138    }
     139
     140    public function testAddSessionIndex() {
     141        $this->subject->setSessionIndex(1);
     142        $settings = $this->getTrackerSettings();
     143        $this->assertArrayHasKey("vid", $settings);
     144        $this->assertEquals(1, $settings["vid"]);
     145    }
    133146}
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/tests/tests/ClassInitTests/TrackerTest.php

    r2521616 r2686283  
    33    TrackerTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    2524use Snowplow\Tracker\Subject;
    2625use PHPUnit\Framework\TestCase;
     26use Snowplow\Tracker\Constants;
    2727
    2828/**
     
    6868        $this->assertEquals($this->s1, $tracker->returnSubject());
    6969        $this->assertEquals(false, $tracker->returnEncodeBase64());
    70         $this->assertEquals(array("tv" => "php-0.4.0", "tna" => "namespace", "aid" => "app_id"), $tracker->returnStdNvPairs());
     70        $this->assertEquals(array("tv" => Constants::TRACKER_VERSION, "tna" => "namespace", "aid" => "app_id"), $tracker->returnStdNvPairs());
    7171        $tracker->turnOffDebug(true);
    7272    }
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/tests/tests/EmitterTests/CurlEmitterTest.php

    r2521616 r2686283  
    33    CurlEmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/tests/tests/EmitterTests/FileEmitterTest.php

    r2521616 r2686283  
    33    FileEmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    122121            $paths[1]);
    123122    }
     123
     124    public function testLogDirOverridden() {
     125        $log_dir = "/tmp/snowplow/";
     126        $emitter = new FileEmitter($this->uri, false, "POST", 3, 3, 100, false, $log_dir);
     127
     128        $this->assertEquals($log_dir, $emitter->returnLogDir());
     129    }
    124130}
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/tests/tests/EmitterTests/SocketEmitterTest.php

    r2521616 r2686283  
    33    SocketEmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/tests/tests/EmitterTests/SyncEmitterTest.php

    r2521616 r2686283  
    33    SyncEmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/tags/1.0.10/vendor/snowplow/snowplow-tracker/tests/tests/IntegrationTest.php

    r2521616 r2686283  
    33    IntegrationTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/includes/classes/SiteAutomation/Request.php

    r2681627 r2686283  
    7171     * @param string $page Page name.
    7272     * @param string $widget Widget name.
     73     * @param float  $timeout The request timeout value.
    7374     *
    7475     * @return array|bool
    7576     */
    76     public function get( $page, $widget ) {
     77    public function get( $page, $widget, $timeout = 3 ) {
    7778        $this->page    = $page;
    7879        $this->widget  = $widget;
     
    104105        }
    105106
    106         $response = $this->request();
     107        $response = $this->request( $timeout );
    107108
    108109        if ( is_wp_error( $response ) ) {
     
    148149     */
    149150    public function do_cron( $page, $widget ) {
    150         $this->get( $page, $widget );
     151        $this->get( $page, $widget, 3 );
    151152    }
    152153
     
    188189     * Get curated data from Sophi Site Automation API.
    189190     *
    190      * return
    191      */
    192     private function request() {
     191     * @param float $timeout The request timeout value.
     192     *
     193     * @return mixed WP_Error on failure or body request on success.
     194     */
     195    private function request( $timeout ) {
    193196        $access_token = $this->auth->get_access_token();
    194197
     
    201204                'Content-Type'  => 'application/json',
    202205                'Authorization' => 'Bearer ' . $access_token,
    203             ]
     206            ],
    204207        ];
    205208
    206209        if ( function_exists( 'vip_safe_wp_remote_get' ) ) {
    207             $request = vip_safe_wp_remote_get( $this->api_url, false, 3, 1, 20, $args );
     210            $request = vip_safe_wp_remote_get( $this->api_url, '', 3, $timeout, 20, $args );
    208211        } else {
    209             $request = wp_remote_get( $this->api_url, $args ); // phpcs:ignore
     212            $args['timeout'] = $timeout;
     213            $request         = wp_remote_get( $this->api_url, $args ); // phpcs:ignore
    210214        }
    211215
  • sophi/trunk/readme.txt

    r2681627 r2686283  
    33Tags:              Sophi, Site Automation, Collector, AI, Artifical Intelligence, ML, Machine Learning, Content Curation
    44Tested up to:      5.8
    5 Stable tag:        1.0.9
     5Stable tag:        1.0.10
    66License:           GPLv2 or later
    77License URI:       http://www.gnu.org/licenses/gpl-2.0.html
     
    229229== Changelog ==
    230230
    231 = 1.0.9 - 2022-02-18=
     231= 1.0.10 - 2022-02-28 =
     232* **Changed:** Sets the default timeout of the first Sophi request and the cron request to 3 seconds (props [@oscarssanchez](https://github.com/oscarssanchez), [@barryceelen](https://github.com/barryceelen), [@felipeelia](https://github.com/felipeelia), [@tott](https://github.com/tott)).
     233* **Security:** Update dependency `snowplow/snowplow-tracker` from 0.4.0 to 0.5.0 (props [@renovate](https://github.com/apps/renovate)).
     234
     235= 1.0.9 - 2022-02-18 =
    232236* **Added:** `hostname` and `path` fields to schema (props [@Rahmon](https://github.com/Rahmon), [@dinhtungdu](https://github.com/dinhtungdu)).
    233237* **Fixed:** Return empty post list from Sophi response (props [@oscarssanchez](https://github.com/oscarssanchez), [@barryceelen](https://github.com/barryceelen), [@felipeelia](https://github.com/felipeelia)).
     
    239243* **Security:** Update dependency `dealerdirect/phpcodesniffer-composer-installer` from 0.7.1 to 0.7.2 (props [@renovate](https://github.com/apps/renovate)).
    240244
    241 = 1.0.8 - 2021-12-23=
     245= 1.0.8 - 2021-12-23 =
    242246* **Changed:** Updated `auth_url` and `audience` parameters to get respective Staging and Development environment access tokens (props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia)).
    243247* **Fixed:** Issue where multiple Sophi blocks on the same page had duplicated content (props [@Rahmon](https://github.com/Rahmon), [@felipeelia](https://github.com/felipeelia), [@jeffpaul](https://github.com/jeffpaul), [@dinhtungdu](https://github.com/dinhtungdu)).
     
    245249* **Security:** update dependency `prop-types` from 15.7.2 to 15.8.0 (props [@renovate](https://github.com/marketplace/renovate)).
    246250
    247 = 1.0.7 - 2021-10-29=
     251= 1.0.7 - 2021-10-29 =
    248252* **Changed:** Sophi Auth URL value used for Production, Staging, and Development (props [@jeffpaul](https://profiles.wordpress.org/jeffpaul/), [@barryceelen](https://github.com/barryceelen), [@amckie](https://github.com/amckie)).
    249253* **Changed:** Sophi Site Automation API URL structure (props [@rahmohn](https://profiles.wordpress.org/rahmohn/)).
    250254* **Changed:** Sophi Audience URL used in authorization (props [@rahmohn](https://profiles.wordpress.org/rahmohn/)).
    251255
    252 = 1.0.6 - 2021-10-27=
     256= 1.0.6 - 2021-10-27 =
    253257Note: this was a hotfix release to fix an issue with deploys to WordPress.org.
    254258
    255 = 1.0.5 - 2021-10-27=
     259= 1.0.5 - 2021-10-27 =
    256260* **Added:** New content fields sent to Sophi `thumbnailImageUri`, `embeddedImagesCount`, and `keywords` (props [@rahmohn](https://profiles.wordpress.org/rahmohn/), [@felipeelia](https://profiles.wordpress.org/felipeelia), [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
    257261* **Changed:** Updated name convention for `appId` (props [@rahmohn](https://profiles.wordpress.org/rahmohn/), [@felipeelia](https://profiles.wordpress.org/felipeelia), [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
     
    266270* **Security:** Update dependency `automattic/vipwpcs` from 2.3.2 to 2.3.3 (props [@renovate](https://github.com/marketplace/renovate)).
    267271
    268 = 1.0.4 - 2021-07-29=
     272= 1.0.4 - 2021-07-29 =
    269273* **Added:** Support for Yoast canonical URL (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@dkotter](https://profiles.wordpress.org/dkotter/)).
    270274* **Added:** Configure WhiteSource Bolt and Renovate integrations (props [@whitesource-bolt](https://github.com/marketplace/whitesource-bolt), [@renovate](https://github.com/marketplace/renovate)).
     
    283287* **Security:** Update dependency `10up-toolkit` from 1.0.9 to 1.0.10 (props [@renovate](https://github.com/marketplace/renovate)).
    284288
    285 = 1.0.3 - 2021-06-15=
     289= 1.0.3 - 2021-06-15 =
    286290* **Added:** Data attributes to Site Automation widgets/blocks (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@dkotter](https://profiles.wordpress.org/dkotter/)).
    287291* **Changed:** Revisions to tracking data collected to improve Site Automation results (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@dkotter](https://profiles.wordpress.org/dkotter/)).
     
    291295* **Fixed:** VIP CLI dry-run mode defaults to `false`, corrects sync limiting, adds progress bar (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@jeffpaul](https://profiles.wordpress.org/jeffpaul/), [@barryceelen](https://profiles.wordpress.org/barryceelen/)).
    292296
    293 = 1.0.2 - 2021-04-26=
     297= 1.0.2 - 2021-04-26 =
    294298* **Changed:** Bump `vipwpcs` from 2.2.0 to 2.3.0 and `php_codesniffer` from 3.5.8 to 3.6.0 (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@jeffpaul](https://profiles.wordpress.org/jeffpaul/)).
    295299* **Fixed:** WP-CLI command now supports both WordPress VIP and non-VIP environments (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/), [@dkotter](https://profiles.wordpress.org/dkotter/), [@jeffpaul](https://profiles.wordpress.org/jeffpaul/)).
    296300
    297 = 1.0.1 - 2021-04-23=
     301= 1.0.1 - 2021-04-23 =
    298302* **Added:** `noConfigFile` setting (props [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
    299303* **Added:** GitHub Actions to deploy releases and update readme/asset changes for WordPress.org (props [@jeffpaul](https://profiles.wordpress.org/jeffpaul/), [@dinhtungdu](https://profiles.wordpress.org/dinhtungdu/)).
     
    301305* **Fixed:** Minor fixes from WordPress VIP code scan (props [@dkotter](https://profiles.wordpress.org/dkotter/)).
    302306
    303 = 1.0.0 - 2021-04-14=
     307= 1.0.0 - 2021-04-14 =
    304308* Initial public release! 🎉
  • sophi/trunk/sophi.php

    r2681627 r2686283  
    44 * Plugin URI:        https://github.com/globeandmail/sophi-for-wordpress
    55 * Description:       WordPress VIP-compatible plugin for the Sophi.io Site Automation service.
    6  * Version:           1.0.9
     6 * Version:           1.0.10
    77 * Requires at least: 5.6
    88 * Requires PHP:      7.4
     
    1717
    1818// Useful global constants.
    19 define( 'SOPHI_WP_VERSION', '1.0.9' );
     19define( 'SOPHI_WP_VERSION', '1.0.10' );
    2020define( 'SOPHI_WP_URL', plugin_dir_url( __FILE__ ) );
    2121define( 'SOPHI_WP_PATH', plugin_dir_path( __FILE__ ) );
  • sophi/trunk/vendor/autoload.php

    r2681627 r2686283  
    55require_once __DIR__ . '/composer/autoload_real.php';
    66
    7 return ComposerAutoloaderInit6f9a846f452f4d6c6c81ef46712ee189::getLoader();
     7return ComposerAutoloaderInit9524e87fca549422a2f03f9da9bccbfe::getLoader();
  • sophi/trunk/vendor/brick/math/src/BigDecimal.php

    r2521616 r2686283  
    754754
    755755    /**
    756      * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     756     * This method is required for serializing the object and SHOULD NOT be accessed directly.
    757757     *
    758758     * @internal
    759759     *
    760      * @return string
    761      */
    762     public function serialize() : string
    763     {
    764         return $this->value . ':' . $this->scale;
    765     }
    766 
    767     /**
    768      * This method is only here to implement interface Serializable and cannot be accessed directly.
     760     * @return array{value: string, scale: int}
     761     */
     762    public function __serialize(): array
     763    {
     764        return ['value' => $this->value, 'scale' => $this->scale];
     765    }
     766
     767    /**
     768     * This method is only here to allow unserializing the object and cannot be accessed directly.
    769769     *
    770770     * @internal
    771771     * @psalm-suppress RedundantPropertyInitializationCheck
    772772     *
     773     * @param array{value: string, scale: int} $data
     774     *
     775     * @return void
     776     *
     777     * @throws \LogicException
     778     */
     779    public function __unserialize(array $data): void
     780    {
     781        if (isset($this->value)) {
     782            throw new \LogicException('__unserialize() is an internal function, it must not be called directly.');
     783        }
     784
     785        $this->value = $data['value'];
     786        $this->scale = $data['scale'];
     787    }
     788
     789    /**
     790     * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     791     *
     792     * @internal
     793     *
     794     * @return string
     795     */
     796    public function serialize() : string
     797    {
     798        return $this->value . ':' . $this->scale;
     799    }
     800
     801    /**
     802     * This method is only here to implement interface Serializable and cannot be accessed directly.
     803     *
     804     * @internal
     805     * @psalm-suppress RedundantPropertyInitializationCheck
     806     *
    773807     * @param string $value
    774808     *
     
    795829     * @param BigDecimal $y The second decimal number.
    796830     *
    797      * @return array{0: string, 1: string} The scaled integer values of $x and $y.
     831     * @return array{string, string} The scaled integer values of $x and $y.
    798832     */
    799833    private function scaleValues(BigDecimal $x, BigDecimal $y) : array
  • sophi/trunk/vendor/brick/math/src/BigInteger.php

    r2521616 r2686283  
    11181118
    11191119    /**
    1120      * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     1120     * This method is required for serializing the object and SHOULD NOT be accessed directly.
    11211121     *
    11221122     * @internal
    11231123     *
    1124      * @return string
    1125      */
    1126     public function serialize() : string
    1127     {
    1128         return $this->value;
    1129     }
    1130 
    1131     /**
    1132      * This method is only here to implement interface Serializable and cannot be accessed directly.
     1124     * @return array{value: string}
     1125     */
     1126    public function __serialize(): array
     1127    {
     1128        return ['value' => $this->value];
     1129    }
     1130
     1131    /**
     1132     * This method is only here to allow unserializing the object and cannot be accessed directly.
    11331133     *
    11341134     * @internal
    11351135     * @psalm-suppress RedundantPropertyInitializationCheck
    11361136     *
     1137     * @param array{value: string} $data
     1138     *
     1139     * @return void
     1140     *
     1141     * @throws \LogicException
     1142     */
     1143    public function __unserialize(array $data): void
     1144    {
     1145        if (isset($this->value)) {
     1146            throw new \LogicException('__unserialize() is an internal function, it must not be called directly.');
     1147        }
     1148
     1149        $this->value = $data['value'];
     1150    }
     1151
     1152    /**
     1153     * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     1154     *
     1155     * @internal
     1156     *
     1157     * @return string
     1158     */
     1159    public function serialize() : string
     1160    {
     1161        return $this->value;
     1162    }
     1163
     1164    /**
     1165     * This method is only here to implement interface Serializable and cannot be accessed directly.
     1166     *
     1167     * @internal
     1168     * @psalm-suppress RedundantPropertyInitializationCheck
     1169     *
    11371170     * @param string $value
    11381171     *
  • sophi/trunk/vendor/brick/math/src/BigRational.php

    r2521616 r2686283  
    453453
    454454    /**
    455      * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     455     * This method is required for serializing the object and SHOULD NOT be accessed directly.
    456456     *
    457457     * @internal
    458458     *
    459      * @return string
    460      */
    461     public function serialize() : string
    462     {
    463         return $this->numerator . '/' . $this->denominator;
    464     }
    465 
    466     /**
    467      * This method is only here to implement interface Serializable and cannot be accessed directly.
     459     * @return array{numerator: BigInteger, denominator: BigInteger}
     460     */
     461    public function __serialize(): array
     462    {
     463        return ['numerator' => $this->numerator, 'denominator' => $this->denominator];
     464    }
     465
     466    /**
     467     * This method is only here to allow unserializing the object and cannot be accessed directly.
    468468     *
    469469     * @internal
    470470     * @psalm-suppress RedundantPropertyInitializationCheck
    471471     *
     472     * @param array{numerator: BigInteger, denominator: BigInteger} $data
     473     *
     474     * @return void
     475     *
     476     * @throws \LogicException
     477     */
     478    public function __unserialize(array $data): void
     479    {
     480        if (isset($this->numerator)) {
     481            throw new \LogicException('__unserialize() is an internal function, it must not be called directly.');
     482        }
     483
     484        $this->numerator = $data['numerator'];
     485        $this->denominator = $data['denominator'];
     486    }
     487
     488    /**
     489     * This method is required by interface Serializable and SHOULD NOT be accessed directly.
     490     *
     491     * @internal
     492     *
     493     * @return string
     494     */
     495    public function serialize() : string
     496    {
     497        return $this->numerator . '/' . $this->denominator;
     498    }
     499
     500    /**
     501     * This method is only here to implement interface Serializable and cannot be accessed directly.
     502     *
     503     * @internal
     504     * @psalm-suppress RedundantPropertyInitializationCheck
     505     *
    472506     * @param string $value
    473507     *
  • sophi/trunk/vendor/brick/math/src/Internal/Calculator.php

    r2521616 r2686283  
    100100     * @param string $b The second operand.
    101101     *
    102      * @return array{0: bool, 1: bool, 2: string, 3: string} Whether $a and $b are negative, followed by their digits.
     102     * @return array{bool, bool, string, string} Whether $a and $b are negative, followed by their digits.
    103103     */
    104104    final protected function init(string $a, string $b) : array
     
    678678
    679679    /**
    680      * @psalm-suppress InvalidOperand
    681      * @see https://github.com/vimeo/psalm/issues/4456
    682      *
    683680     * @param string $number A positive, binary number.
    684681     *
  • sophi/trunk/vendor/brick/math/src/Internal/Calculator/NativeCalculator.php

    r2521616 r2686283  
    611611     * @param string $b The second operand.
    612612     *
    613      * @return array{0: string, 1: string, 2: int}
     613     * @return array{string, string, int}
    614614     */
    615615    private function pad(string $a, string $b) : array
  • sophi/trunk/vendor/composer/autoload_classmap.php

    r2521616 r2686283  
    77
    88return array(
     9    'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
    910    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
     11    'ReturnTypeWillChange' => $vendorDir . '/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php',
     12    'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
     13    'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
     14    'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
    1015);
  • sophi/trunk/vendor/composer/autoload_files.php

    r2521616 r2686283  
    77
    88return array(
     9    '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php',
     10    'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
    911    '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
    1012    'e39a8b23c42d4e1452234d762b03835a' => $vendorDir . '/ramsey/uuid/src/functions.php',
  • sophi/trunk/vendor/composer/autoload_psr4.php

    r2521616 r2686283  
    77
    88return array(
     9    'Symfony\\Polyfill\\Php81\\' => array($vendorDir . '/symfony/polyfill-php81'),
     10    'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
    911    'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
    1012    'SophiWP\\' => array($baseDir . '/includes/classes'),
  • sophi/trunk/vendor/composer/autoload_real.php

    r2681627 r2686283  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit6f9a846f452f4d6c6c81ef46712ee189
     5class ComposerAutoloaderInit9524e87fca549422a2f03f9da9bccbfe
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit6f9a846f452f4d6c6c81ef46712ee189', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit9524e87fca549422a2f03f9da9bccbfe', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit6f9a846f452f4d6c6c81ef46712ee189', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit9524e87fca549422a2f03f9da9bccbfe', 'loadClassLoader'));
    3030
    3131        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
     
    3333            require __DIR__ . '/autoload_static.php';
    3434
    35             call_user_func(\Composer\Autoload\ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::getInitializer($loader));
     35            call_user_func(\Composer\Autoload\ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::getInitializer($loader));
    3636        } else {
    3737            $map = require __DIR__ . '/autoload_namespaces.php';
     
    5454
    5555        if ($useStaticLoader) {
    56             $includeFiles = Composer\Autoload\ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::$files;
     56            $includeFiles = Composer\Autoload\ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::$files;
    5757        } else {
    5858            $includeFiles = require __DIR__ . '/autoload_files.php';
    5959        }
    6060        foreach ($includeFiles as $fileIdentifier => $file) {
    61             composerRequire6f9a846f452f4d6c6c81ef46712ee189($fileIdentifier, $file);
     61            composerRequire9524e87fca549422a2f03f9da9bccbfe($fileIdentifier, $file);
    6262        }
    6363
     
    7171 * @return void
    7272 */
    73 function composerRequire6f9a846f452f4d6c6c81ef46712ee189($fileIdentifier, $file)
     73function composerRequire9524e87fca549422a2f03f9da9bccbfe($fileIdentifier, $file)
    7474{
    7575    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
  • sophi/trunk/vendor/composer/autoload_static.php

    r2681627 r2686283  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189
     7class ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe
    88{
    99    public static $files = array (
     10        '23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php',
     11        'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
    1012        '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
    1113        'e39a8b23c42d4e1452234d762b03835a' => __DIR__ . '/..' . '/ramsey/uuid/src/functions.php',
     
    1517        'S' =>
    1618        array (
     19            'Symfony\\Polyfill\\Php81\\' => 23,
     20            'Symfony\\Polyfill\\Php80\\' => 23,
    1721            'Symfony\\Polyfill\\Ctype\\' => 23,
    1822            'SophiWP\\' => 8,
     
    3135
    3236    public static $prefixDirsPsr4 = array (
     37        'Symfony\\Polyfill\\Php81\\' =>
     38        array (
     39            0 => __DIR__ . '/..' . '/symfony/polyfill-php81',
     40        ),
     41        'Symfony\\Polyfill\\Php80\\' =>
     42        array (
     43            0 => __DIR__ . '/..' . '/symfony/polyfill-php80',
     44        ),
    3345        'Symfony\\Polyfill\\Ctype\\' =>
    3446        array (
     
    5870
    5971    public static $classMap = array (
     72        'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
    6073        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
     74        'ReturnTypeWillChange' => __DIR__ . '/..' . '/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php',
     75        'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
     76        'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
     77        'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
    6178    );
    6279
     
    6481    {
    6582        return \Closure::bind(function () use ($loader) {
    66             $loader->prefixLengthsPsr4 = ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::$prefixLengthsPsr4;
    67             $loader->prefixDirsPsr4 = ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::$prefixDirsPsr4;
    68             $loader->classMap = ComposerStaticInit6f9a846f452f4d6c6c81ef46712ee189::$classMap;
     83            $loader->prefixLengthsPsr4 = ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::$prefixLengthsPsr4;
     84            $loader->prefixDirsPsr4 = ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::$prefixDirsPsr4;
     85            $loader->classMap = ComposerStaticInit9524e87fca549422a2f03f9da9bccbfe::$classMap;
    6986
    7087        }, null, ClassLoader::class);
  • sophi/trunk/vendor/composer/installed.json

    r2681627 r2686283  
    33        {
    44            "name": "brick/math",
    5             "version": "0.9.2",
    6             "version_normalized": "0.9.2.0",
     5            "version": "0.9.3",
     6            "version_normalized": "0.9.3.0",
    77            "source": {
    88                "type": "git",
    99                "url": "https://github.com/brick/math.git",
    10                 "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0"
    11             },
    12             "dist": {
    13                 "type": "zip",
    14                 "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0",
    15                 "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0",
     10                "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae"
     11            },
     12            "dist": {
     13                "type": "zip",
     14                "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae",
     15                "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae",
    1616                "shasum": ""
    1717            },
     
    2323                "php-coveralls/php-coveralls": "^2.2",
    2424                "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0",
    25                 "vimeo/psalm": "4.3.2"
    26             },
    27             "time": "2021-01-20T22:51:39+00:00",
     25                "vimeo/psalm": "4.9.2"
     26            },
     27            "time": "2021-08-15T20:50:18+00:00",
    2828            "type": "library",
    2929            "installation-source": "dist",
     
    5050            "support": {
    5151                "issues": "https://github.com/brick/math/issues",
    52                 "source": "https://github.com/brick/math/tree/0.9.2"
     52                "source": "https://github.com/brick/math/tree/0.9.3"
    5353            },
    5454            "funding": [
     55                {
     56                    "url": "https://github.com/BenMorel",
     57                    "type": "github"
     58                },
    5559                {
    5660                    "url": "https://tidelift.com/funding/github/packagist/brick/math",
     
    6266        {
    6367            "name": "ramsey/collection",
    64             "version": "1.1.3",
    65             "version_normalized": "1.1.3.0",
     68            "version": "1.2.2",
     69            "version_normalized": "1.2.2.0",
    6670            "source": {
    6771                "type": "git",
    6872                "url": "https://github.com/ramsey/collection.git",
    69                 "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1"
    70             },
    71             "dist": {
    72                 "type": "zip",
    73                 "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1",
    74                 "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1",
    75                 "shasum": ""
    76             },
    77             "require": {
    78                 "php": "^7.2 || ^8"
     73                "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a"
     74            },
     75            "dist": {
     76                "type": "zip",
     77                "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a",
     78                "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a",
     79                "shasum": ""
     80            },
     81            "require": {
     82                "php": "^7.3 || ^8",
     83                "symfony/polyfill-php81": "^1.23"
    7984            },
    8085            "require-dev": {
     
    8691                "jangregor/phpstan-prophecy": "^0.8",
    8792                "mockery/mockery": "^1.3",
     93                "phpspec/prophecy-phpunit": "^2.0",
    8894                "phpstan/extension-installer": "^1",
    8995                "phpstan/phpstan": "^0.12.32",
     
    96102                "vimeo/psalm": "^4.4"
    97103            },
    98             "time": "2021-01-21T17:40:04+00:00",
     104            "time": "2021-10-10T03:01:02+00:00",
    99105            "type": "library",
    100106            "installation-source": "dist",
     
    115121                }
    116122            ],
    117             "description": "A PHP 7.2+ library for representing and manipulating collections.",
     123            "description": "A PHP library for representing and manipulating collections.",
    118124            "keywords": [
    119125                "array",
     
    126132            "support": {
    127133                "issues": "https://github.com/ramsey/collection/issues",
    128                 "source": "https://github.com/ramsey/collection/tree/1.1.3"
     134                "source": "https://github.com/ramsey/collection/tree/1.2.2"
    129135            },
    130136            "funding": [
     
    142148        {
    143149            "name": "ramsey/uuid",
    144             "version": "4.1.1",
    145             "version_normalized": "4.1.1.0",
     150            "version": "4.2.3",
     151            "version_normalized": "4.2.3.0",
    146152            "source": {
    147153                "type": "git",
    148154                "url": "https://github.com/ramsey/uuid.git",
    149                 "reference": "cd4032040a750077205918c86049aa0f43d22947"
    150             },
    151             "dist": {
    152                 "type": "zip",
    153                 "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947",
    154                 "reference": "cd4032040a750077205918c86049aa0f43d22947",
     155                "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df"
     156            },
     157            "dist": {
     158                "type": "zip",
     159                "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df",
     160                "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df",
    155161                "shasum": ""
    156162            },
     
    158164                "brick/math": "^0.8 || ^0.9",
    159165                "ext-json": "*",
    160                 "php": "^7.2 || ^8",
     166                "php": "^7.2 || ^8.0",
    161167                "ramsey/collection": "^1.0",
    162                 "symfony/polyfill-ctype": "^1.8"
     168                "symfony/polyfill-ctype": "^1.8",
     169                "symfony/polyfill-php80": "^1.14"
    163170            },
    164171            "replace": {
     
    166173            },
    167174            "require-dev": {
    168                 "codeception/aspect-mock": "^3",
    169                 "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0",
     175                "captainhook/captainhook": "^5.10",
     176                "captainhook/plugin-composer": "^5.3",
     177                "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
    170178                "doctrine/annotations": "^1.8",
    171                 "goaop/framework": "^2",
     179                "ergebnis/composer-normalize": "^2.15",
    172180                "mockery/mockery": "^1.3",
    173181                "moontoast/math": "^1.1",
    174182                "paragonie/random-lib": "^2",
     183                "php-mock/php-mock": "^2.2",
    175184                "php-mock/php-mock-mockery": "^1.3",
    176                 "php-mock/php-mock-phpunit": "^2.5",
    177185                "php-parallel-lint/php-parallel-lint": "^1.1",
    178                 "phpbench/phpbench": "^0.17.1",
     186                "phpbench/phpbench": "^1.0",
    179187                "phpstan/extension-installer": "^1.0",
    180188                "phpstan/phpstan": "^0.12",
    181189                "phpstan/phpstan-mockery": "^0.12",
    182190                "phpstan/phpstan-phpunit": "^0.12",
    183                 "phpunit/phpunit": "^8.5",
    184                 "psy/psysh": "^0.10.0",
    185                 "slevomat/coding-standard": "^6.0",
     191                "phpunit/phpunit": "^8.5 || ^9",
     192                "slevomat/coding-standard": "^7.0",
    186193                "squizlabs/php_codesniffer": "^3.5",
    187                 "vimeo/psalm": "3.9.4"
     194                "vimeo/psalm": "^4.9"
    188195            },
    189196            "suggest": {
     
    195202                "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
    196203            },
    197             "time": "2020-08-18T17:17:46+00:00",
     204            "time": "2021-09-25T23:10:38+00:00",
    198205            "type": "library",
    199206            "extra": {
    200207                "branch-alias": {
    201                     "dev-master": "4.x-dev"
     208                    "dev-main": "4.x-dev"
     209                },
     210                "captainhook": {
     211                    "force-install": true
    202212                }
    203213            },
     
    216226            ],
    217227            "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
    218             "homepage": "https://github.com/ramsey/uuid",
    219228            "keywords": [
    220229                "guid",
     
    224233            "support": {
    225234                "issues": "https://github.com/ramsey/uuid/issues",
    226                 "rss": "https://github.com/ramsey/uuid/releases.atom",
    227                 "source": "https://github.com/ramsey/uuid"
     235                "source": "https://github.com/ramsey/uuid/tree/4.2.3"
    228236            },
    229237            "funding": [
     
    231239                    "url": "https://github.com/ramsey",
    232240                    "type": "github"
     241                },
     242                {
     243                    "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid",
     244                    "type": "tidelift"
    233245                }
    234246            ],
     
    237249        {
    238250            "name": "snowplow/snowplow-tracker",
    239             "version": "0.4.0",
    240             "version_normalized": "0.4.0.0",
     251            "version": "0.5.0",
     252            "version_normalized": "0.5.0.0",
    241253            "source": {
    242254                "type": "git",
    243255                "url": "https://github.com/snowplow/snowplow-php-tracker.git",
    244                 "reference": "530ba8f8d76ade19cb6ce4cbd996df6c2fbc62b6"
    245             },
    246             "dist": {
    247                 "type": "zip",
    248                 "url": "https://api.github.com/repos/snowplow/snowplow-php-tracker/zipball/530ba8f8d76ade19cb6ce4cbd996df6c2fbc62b6",
    249                 "reference": "530ba8f8d76ade19cb6ce4cbd996df6c2fbc62b6",
    250                 "shasum": ""
    251             },
    252             "require": {
    253                 "php": ">=7.2",
     256                "reference": "32a08e9a7c25d1c51621751e1cdfcffcdef6cfe5"
     257            },
     258            "dist": {
     259                "type": "zip",
     260                "url": "https://api.github.com/repos/snowplow/snowplow-php-tracker/zipball/32a08e9a7c25d1c51621751e1cdfcffcdef6cfe5",
     261                "reference": "32a08e9a7c25d1c51621751e1cdfcffcdef6cfe5",
     262                "shasum": ""
     263            },
     264            "require": {
     265                "php": ">=7.4",
    254266                "ramsey/uuid": "^3 || ^4"
    255267            },
    256268            "require-dev": {
    257                 "php-coveralls/php-coveralls": "^2.1.0",
    258                 "phpunit/php-token-stream": "^3.1.1",
    259                 "phpunit/phpunit": "^8.1.4"
    260             },
    261             "time": "2021-03-05T11:12:38+00:00",
     269                "php-coveralls/php-coveralls": "^2.5.2",
     270                "phpunit/php-token-stream": "^4.0.4",
     271                "phpunit/phpunit": "^9.5.13"
     272            },
     273            "time": "2022-02-07T13:57:01+00:00",
    262274            "type": "library",
    263275            "installation-source": "dist",
     
    286298                "email": "support@snowplowanalytics.com",
    287299                "issues": "https://github.com/snowplow/snowplow-php-tracker/issues",
    288                 "source": "https://github.com/snowplow/snowplow-php-tracker/tree/0.4.0"
     300                "source": "https://github.com/snowplow/snowplow-php-tracker/tree/0.5.0"
    289301            },
    290302            "install-path": "../snowplow/snowplow-tracker"
     
    374386            ],
    375387            "install-path": "../symfony/polyfill-ctype"
     388        },
     389        {
     390            "name": "symfony/polyfill-php80",
     391            "version": "v1.24.0",
     392            "version_normalized": "1.24.0.0",
     393            "source": {
     394                "type": "git",
     395                "url": "https://github.com/symfony/polyfill-php80.git",
     396                "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9"
     397            },
     398            "dist": {
     399                "type": "zip",
     400                "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9",
     401                "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9",
     402                "shasum": ""
     403            },
     404            "require": {
     405                "php": ">=7.1"
     406            },
     407            "time": "2021-09-13T13:58:33+00:00",
     408            "type": "library",
     409            "extra": {
     410                "branch-alias": {
     411                    "dev-main": "1.23-dev"
     412                },
     413                "thanks": {
     414                    "name": "symfony/polyfill",
     415                    "url": "https://github.com/symfony/polyfill"
     416                }
     417            },
     418            "installation-source": "dist",
     419            "autoload": {
     420                "files": [
     421                    "bootstrap.php"
     422                ],
     423                "psr-4": {
     424                    "Symfony\\Polyfill\\Php80\\": ""
     425                },
     426                "classmap": [
     427                    "Resources/stubs"
     428                ]
     429            },
     430            "notification-url": "https://packagist.org/downloads/",
     431            "license": [
     432                "MIT"
     433            ],
     434            "authors": [
     435                {
     436                    "name": "Ion Bazan",
     437                    "email": "ion.bazan@gmail.com"
     438                },
     439                {
     440                    "name": "Nicolas Grekas",
     441                    "email": "p@tchwork.com"
     442                },
     443                {
     444                    "name": "Symfony Community",
     445                    "homepage": "https://symfony.com/contributors"
     446                }
     447            ],
     448            "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
     449            "homepage": "https://symfony.com",
     450            "keywords": [
     451                "compatibility",
     452                "polyfill",
     453                "portable",
     454                "shim"
     455            ],
     456            "support": {
     457                "source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0"
     458            },
     459            "funding": [
     460                {
     461                    "url": "https://symfony.com/sponsor",
     462                    "type": "custom"
     463                },
     464                {
     465                    "url": "https://github.com/fabpot",
     466                    "type": "github"
     467                },
     468                {
     469                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
     470                    "type": "tidelift"
     471                }
     472            ],
     473            "install-path": "../symfony/polyfill-php80"
     474        },
     475        {
     476            "name": "symfony/polyfill-php81",
     477            "version": "v1.24.0",
     478            "version_normalized": "1.24.0.0",
     479            "source": {
     480                "type": "git",
     481                "url": "https://github.com/symfony/polyfill-php81.git",
     482                "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f"
     483            },
     484            "dist": {
     485                "type": "zip",
     486                "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
     487                "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
     488                "shasum": ""
     489            },
     490            "require": {
     491                "php": ">=7.1"
     492            },
     493            "time": "2021-09-13T13:58:11+00:00",
     494            "type": "library",
     495            "extra": {
     496                "branch-alias": {
     497                    "dev-main": "1.23-dev"
     498                },
     499                "thanks": {
     500                    "name": "symfony/polyfill",
     501                    "url": "https://github.com/symfony/polyfill"
     502                }
     503            },
     504            "installation-source": "dist",
     505            "autoload": {
     506                "files": [
     507                    "bootstrap.php"
     508                ],
     509                "psr-4": {
     510                    "Symfony\\Polyfill\\Php81\\": ""
     511                },
     512                "classmap": [
     513                    "Resources/stubs"
     514                ]
     515            },
     516            "notification-url": "https://packagist.org/downloads/",
     517            "license": [
     518                "MIT"
     519            ],
     520            "authors": [
     521                {
     522                    "name": "Nicolas Grekas",
     523                    "email": "p@tchwork.com"
     524                },
     525                {
     526                    "name": "Symfony Community",
     527                    "homepage": "https://symfony.com/contributors"
     528                }
     529            ],
     530            "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
     531            "homepage": "https://symfony.com",
     532            "keywords": [
     533                "compatibility",
     534                "polyfill",
     535                "portable",
     536                "shim"
     537            ],
     538            "support": {
     539                "source": "https://github.com/symfony/polyfill-php81/tree/v1.24.0"
     540            },
     541            "funding": [
     542                {
     543                    "url": "https://symfony.com/sponsor",
     544                    "type": "custom"
     545                },
     546                {
     547                    "url": "https://github.com/fabpot",
     548                    "type": "github"
     549                },
     550                {
     551                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
     552                    "type": "tidelift"
     553                }
     554            ],
     555            "install-path": "../symfony/polyfill-php81"
    376556        }
    377557    ],
  • sophi/trunk/vendor/composer/installed.php

    r2681627 r2686283  
    11<?php return array(
    22    'root' => array(
    3         'pretty_version' => '1.0.9',
    4         'version' => '1.0.9.0',
     3        'pretty_version' => '1.0.10',
     4        'version' => '1.0.10.0',
    55        'type' => 'wordpress-plugin',
    66        'install_path' => __DIR__ . '/../../',
    77        'aliases' => array(),
    8         'reference' => '6254f70ef2164a657d2677af928d3d5749f351b7',
     8        'reference' => '40ecf7b05d98fe5458c520f1299445515981a652',
    99        'name' => 'globeandmail/sophi-for-wordpress',
    1010        'dev' => false,
     
    1212    'versions' => array(
    1313        'brick/math' => array(
    14             'pretty_version' => '0.9.2',
    15             'version' => '0.9.2.0',
     14            'pretty_version' => '0.9.3',
     15            'version' => '0.9.3.0',
    1616            'type' => 'library',
    1717            'install_path' => __DIR__ . '/../brick/math',
    1818            'aliases' => array(),
    19             'reference' => 'dff976c2f3487d42c1db75a3b180e2b9f0e72ce0',
     19            'reference' => 'ca57d18f028f84f777b2168cd1911b0dee2343ae',
    2020            'dev_requirement' => false,
    2121        ),
    2222        'globeandmail/sophi-for-wordpress' => array(
    23             'pretty_version' => '1.0.9',
    24             'version' => '1.0.9.0',
     23            'pretty_version' => '1.0.10',
     24            'version' => '1.0.10.0',
    2525            'type' => 'wordpress-plugin',
    2626            'install_path' => __DIR__ . '/../../',
    2727            'aliases' => array(),
    28             'reference' => '6254f70ef2164a657d2677af928d3d5749f351b7',
     28            'reference' => '40ecf7b05d98fe5458c520f1299445515981a652',
    2929            'dev_requirement' => false,
    3030        ),
    3131        'ramsey/collection' => array(
    32             'pretty_version' => '1.1.3',
    33             'version' => '1.1.3.0',
     32            'pretty_version' => '1.2.2',
     33            'version' => '1.2.2.0',
    3434            'type' => 'library',
    3535            'install_path' => __DIR__ . '/../ramsey/collection',
    3636            'aliases' => array(),
    37             'reference' => '28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1',
     37            'reference' => 'cccc74ee5e328031b15640b51056ee8d3bb66c0a',
    3838            'dev_requirement' => false,
    3939        ),
    4040        'ramsey/uuid' => array(
    41             'pretty_version' => '4.1.1',
    42             'version' => '4.1.1.0',
     41            'pretty_version' => '4.2.3',
     42            'version' => '4.2.3.0',
    4343            'type' => 'library',
    4444            'install_path' => __DIR__ . '/../ramsey/uuid',
    4545            'aliases' => array(),
    46             'reference' => 'cd4032040a750077205918c86049aa0f43d22947',
     46            'reference' => 'fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df',
    4747            'dev_requirement' => false,
    4848        ),
     
    5050            'dev_requirement' => false,
    5151            'replaced' => array(
    52                 0 => '4.1.1',
     52                0 => '4.2.3',
    5353            ),
    5454        ),
    5555        'snowplow/snowplow-tracker' => array(
    56             'pretty_version' => '0.4.0',
    57             'version' => '0.4.0.0',
     56            'pretty_version' => '0.5.0',
     57            'version' => '0.5.0.0',
    5858            'type' => 'library',
    5959            'install_path' => __DIR__ . '/../snowplow/snowplow-tracker',
    6060            'aliases' => array(),
    61             'reference' => '530ba8f8d76ade19cb6ce4cbd996df6c2fbc62b6',
     61            'reference' => '32a08e9a7c25d1c51621751e1cdfcffcdef6cfe5',
    6262            'dev_requirement' => false,
    6363        ),
     
    7171            'dev_requirement' => false,
    7272        ),
     73        'symfony/polyfill-php80' => array(
     74            'pretty_version' => 'v1.24.0',
     75            'version' => '1.24.0.0',
     76            'type' => 'library',
     77            'install_path' => __DIR__ . '/../symfony/polyfill-php80',
     78            'aliases' => array(),
     79            'reference' => '57b712b08eddb97c762a8caa32c84e037892d2e9',
     80            'dev_requirement' => false,
     81        ),
     82        'symfony/polyfill-php81' => array(
     83            'pretty_version' => 'v1.24.0',
     84            'version' => '1.24.0.0',
     85            'type' => 'library',
     86            'install_path' => __DIR__ . '/../symfony/polyfill-php81',
     87            'aliases' => array(),
     88            'reference' => '5de4ba2d41b15f9bd0e19b2ab9674135813ec98f',
     89            'dev_requirement' => false,
     90        ),
    7391    ),
    7492);
  • sophi/trunk/vendor/ramsey/collection/LICENSE

    r2521616 r2686283  
    1 Copyright (c) 2015-2020 Ben Ramsey <ben@benramsey.com>
     1Copyright (c) 2015-2021 Ben Ramsey <ben@benramsey.com>
    22
    33Permission is hereby granted, free of charge, to any person obtaining a copy
  • sophi/trunk/vendor/ramsey/collection/src/AbstractArray.php

    r2521616 r2686283  
    2626 *
    2727 * @template T
    28  * @template-implements ArrayInterface<T>
     28 * @implements ArrayInterface<T>
    2929 */
    3030abstract class AbstractArray implements ArrayInterface
     
    5555     *
    5656     * @link http://php.net/manual/en/iteratoraggregate.getiterator.php IteratorAggregate::getIterator()
     57     *
     58     * @return Traversable<array-key, T>
    5759     */
    5860    public function getIterator(): Traversable
     
    8284     * @return T|null the value stored at the offset, or null if the offset
    8385     *     does not exist.
    84      */
     86     *
     87     * @psalm-suppress InvalidAttribute
     88     */
     89    #[\ReturnTypeWillChange] // phpcs:ignore
    8590    public function offsetGet($offset)
    8691    {
     
    122127     * Returns a serialized string representation of this array object.
    123128     *
     129     * @deprecated The Serializable interface will go away in PHP 9.
     130     *
    124131     * @link http://php.net/manual/en/serializable.serialize.php Serializable::serialize()
    125132     *
     
    132139
    133140    /**
     141     * Returns data suitable for PHP serialization.
     142     *
     143     * @link https://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.serialize
     144     * @link https://www.php.net/serialize
     145     *
     146     * @return array<array-key, T>
     147     */
     148    public function __serialize(): array
     149    {
     150        return $this->data;
     151    }
     152
     153    /**
    134154     * Converts a serialized string representation into an instance object.
     155     *
     156     * @deprecated The Serializable interface will go away in PHP 9.
    135157     *
    136158     * @link http://php.net/manual/en/serializable.unserialize.php Serializable::unserialize()
     
    149171
    150172    /**
     173     * Adds unserialized data to the object.
     174     *
     175     * @param array<array-key, T> $data
     176     */
     177    public function __unserialize(array $data): void
     178    {
     179        $this->data = $data;
     180    }
     181
     182    /**
    151183     * Returns the number of items in this array.
    152184     *
  • sophi/trunk/vendor/ramsey/collection/src/AbstractCollection.php

    r2521616 r2686283  
    3333use function end;
    3434use function in_array;
     35use function is_int;
    3536use function reset;
    3637use function sprintf;
     
    4344 *
    4445 * @template T
    45  * @template-extends AbstractArray<T>
    46  * @template-implements CollectionInterface<T>
     46 * @extends AbstractArray<T>
     47 * @implements CollectionInterface<T>
    4748 */
    4849abstract class AbstractCollection extends AbstractArray implements CollectionInterface
     
    239240    public function merge(CollectionInterface ...$collections): CollectionInterface
    240241    {
    241         $temp = [$this->data];
     242        $mergedCollection = clone $this;
    242243
    243244        foreach ($collections as $index => $collection) {
     
    256257            }
    257258
    258             $temp[] = $collection->toArray();
    259         }
    260 
    261         /** @var array<array-key, T> $merge */
    262         $merge = array_merge(...$temp);
    263 
    264         $collection = clone $this;
    265         $collection->data = $merge;
    266 
    267         return $collection;
     259            foreach ($collection as $key => $value) {
     260                if (is_int($key)) {
     261                    $mergedCollection[] = $value;
     262                } else {
     263                    $mergedCollection[$key] = $value;
     264                }
     265            }
     266        }
     267
     268        return $mergedCollection;
    268269    }
    269270
  • sophi/trunk/vendor/ramsey/collection/src/AbstractSet.php

    r2521616 r2686283  
    2121 *
    2222 * @template T
    23  * @template-extends AbstractCollection<T>
     23 * @extends AbstractCollection<T>
    2424 */
    2525abstract class AbstractSet extends AbstractCollection
  • sophi/trunk/vendor/ramsey/collection/src/ArrayInterface.php

    r2521616 r2686283  
    2424 *
    2525 * @template T
     26 * @extends ArrayAccess<array-key, T>
     27 * @extends IteratorAggregate<array-key, T>
    2628 */
    2729interface ArrayInterface extends
  • sophi/trunk/vendor/ramsey/collection/src/Collection.php

    r2521616 r2686283  
    7272 *
    7373 * @template T
    74  * @template-extends AbstractCollection<T>
     74 * @extends AbstractCollection<T>
    7575 */
    7676class Collection extends AbstractCollection
  • sophi/trunk/vendor/ramsey/collection/src/CollectionInterface.php

    r2521616 r2686283  
    2222 *
    2323 * @template T
    24  * @template-extends ArrayInterface<T>
     24 * @extends ArrayInterface<T>
    2525 */
    2626interface CollectionInterface extends ArrayInterface
  • sophi/trunk/vendor/ramsey/collection/src/DoubleEndedQueue.php

    r2521616 r2686283  
    2323 *
    2424 * @template T
    25  * @template-extends Queue<T>
    26  * @template-implements DoubleEndedQueueInterface<T>
     25 * @extends Queue<T>
     26 * @implements DoubleEndedQueueInterface<T>
    2727 */
    2828class DoubleEndedQueue extends Queue implements DoubleEndedQueueInterface
  • sophi/trunk/vendor/ramsey/collection/src/DoubleEndedQueueInterface.php

    r2521616 r2686283  
    161161 *
    162162 * @template T
    163  * @template-extends QueueInterface<T>
     163 * @extends QueueInterface<T>
    164164 */
    165165interface DoubleEndedQueueInterface extends QueueInterface
  • sophi/trunk/vendor/ramsey/collection/src/GenericArray.php

    r2521616 r2686283  
    1818 * `GenericArray` represents a standard array object.
    1919 *
    20  * @template-extends AbstractArray<mixed>
     20 * @extends AbstractArray<mixed>
    2121 */
    2222class GenericArray extends AbstractArray
  • sophi/trunk/vendor/ramsey/collection/src/Map/AbstractMap.php

    r2521616 r2686283  
    2727 *
    2828 * @template T
    29  * @template-extends AbstractArray<T>
    30  * @template-implements MapInterface<T>
     29 * @extends AbstractArray<T>
     30 * @implements MapInterface<T>
    3131 */
    3232abstract class AbstractMap extends AbstractArray implements MapInterface
  • sophi/trunk/vendor/ramsey/collection/src/Map/AbstractTypedMap.php

    r2521616 r2686283  
    2323 * minimize the effort required to implement this interface.
    2424 *
    25  * @phpstan-ignore-next-line
    26  * @template K as array-key
     25 * @template K
    2726 * @template T
    28  * @template-extends AbstractMap<T>
    29  * @template-implements TypedMapInterface<T>
     27 * @extends AbstractMap<T>
     28 * @implements TypedMapInterface<T>
    3029 */
    3130abstract class AbstractTypedMap extends AbstractMap implements TypedMapInterface
     
    6564        }
    6665
     66        /** @psalm-suppress MixedArgumentTypeCoercion */
    6767        parent::offsetSet($offset, $value);
    6868    }
  • sophi/trunk/vendor/ramsey/collection/src/Map/AssociativeArrayMap.php

    r2521616 r2686283  
    1919 *
    2020 * @template T
    21  * @template-extends AbstractMap<T>
     21 * @extends AbstractMap<T>
    2222 */
    2323class AssociativeArrayMap extends AbstractMap
  • sophi/trunk/vendor/ramsey/collection/src/Map/MapInterface.php

    r2521616 r2686283  
    2323 *
    2424 * @template T
    25  * @template-extends ArrayInterface<T>
     25 * @extends ArrayInterface<T>
    2626 */
    2727interface MapInterface extends ArrayInterface
  • sophi/trunk/vendor/ramsey/collection/src/Map/NamedParameterMap.php

    r2521616 r2686283  
    2727 * that may optionally be typed
    2828 *
    29  * @template-extends AbstractMap<mixed>
     29 * @extends AbstractMap<mixed>
    3030 */
    3131class NamedParameterMap extends AbstractMap
  • sophi/trunk/vendor/ramsey/collection/src/Map/TypedMap.php

    r2521616 r2686283  
    8181 * ```
    8282 *
    83  * @phpstan-ignore-next-line
    84  * @template K as array-key
     83 * @template K
    8584 * @template T
    86  * @template-extends AbstractTypedMap<K, T>
     85 * @extends AbstractTypedMap<K, T>
    8786 */
    8887class TypedMap extends AbstractTypedMap
     
    122121        $this->keyType = $keyType;
    123122        $this->valueType = $valueType;
     123
     124        /** @psalm-suppress MixedArgumentTypeCoercion */
    124125        parent::__construct($data);
    125126    }
  • sophi/trunk/vendor/ramsey/collection/src/Map/TypedMapInterface.php

    r2521616 r2686283  
    2020 *
    2121 * @template T
    22  * @template-extends MapInterface<T>
     22 * @extends MapInterface<T>
    2323 */
    2424interface TypedMapInterface extends MapInterface
  • sophi/trunk/vendor/ramsey/collection/src/Queue.php

    r2521616 r2686283  
    2525 *
    2626 * @template T
    27  * @template-extends AbstractArray<T>
    28  * @template-implements QueueInterface<T>
     27 * @extends AbstractArray<T>
     28 * @implements QueueInterface<T>
    2929 */
    3030class Queue extends AbstractArray implements QueueInterface
  • sophi/trunk/vendor/ramsey/collection/src/QueueInterface.php

    r2521616 r2686283  
    9595 *
    9696 * @template T
    97  * @template-extends ArrayInterface<T>
     97 * @extends ArrayInterface<T>
    9898 */
    9999interface QueueInterface extends ArrayInterface
  • sophi/trunk/vendor/ramsey/collection/src/Set.php

    r2521616 r2686283  
    3737 *
    3838 * @template T
    39  * @template-extends AbstractSet<T>
     39 * @extends AbstractSet<T>
    4040 */
    4141class Set extends AbstractSet
  • sophi/trunk/vendor/ramsey/uuid/LICENSE

    r2521616 r2686283  
    1 MIT License
    2 
    3 Copyright (c) 2012-2020 Ben Ramsey <ben@benramsey.com>
     1Copyright (c) 2012-2021 Ben Ramsey <ben@benramsey.com>
    42
    53Permission is hereby granted, free of charge, to any person obtaining a copy
  • sophi/trunk/vendor/ramsey/uuid/src/Builder/BuilderCollection.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Collection\AbstractCollection;
    18 use Ramsey\Collection\CollectionInterface;
    1918use Ramsey\Uuid\Converter\Number\GenericNumberConverter;
    2019use Ramsey\Uuid\Converter\Time\GenericTimeConverter;
     
    2827/**
    2928 * A collection of UuidBuilderInterface objects
     29 *
     30 * @extends AbstractCollection<UuidBuilderInterface>
    3031 */
    31 class BuilderCollection extends AbstractCollection implements CollectionInterface
     32class BuilderCollection extends AbstractCollection
    3233{
    3334    public function getType(): string
     
    5354     *
    5455     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     56     * @psalm-suppress RedundantConditionGivenDocblockType
    5557     */
    5658    public function unserialize($serialized): void
    5759    {
    58         /** @var mixed[] $data */
     60        /** @var array<array-key, UuidBuilderInterface> $data */
    5961        $data = unserialize($serialized, [
    6062            'allowed_classes' => [
     
    6971        ]);
    7072
    71         $this->data = $data;
     73        $this->data = array_filter(
     74            $data,
     75            function ($unserialized): bool {
     76                return $unserialized instanceof UuidBuilderInterface;
     77            }
     78        );
    7279    }
    7380}
  • sophi/trunk/vendor/ramsey/uuid/src/Builder/DefaultUuidBuilder.php

    r2521616 r2686283  
    2222 * @psalm-immutable
    2323 */
    24 class DefaultUuidBuilder extends Rfc4122UuidBuilder implements UuidBuilderInterface
     24class DefaultUuidBuilder extends Rfc4122UuidBuilder
    2525{
    2626}
  • sophi/trunk/vendor/ramsey/uuid/src/Builder/FallbackBuilder.php

    r2521616 r2686283  
    5656        $lastBuilderException = null;
    5757
    58         /** @var UuidBuilderInterface $builder */
    5958        foreach ($this->builders as $builder) {
    6059            try {
  • sophi/trunk/vendor/ramsey/uuid/src/Codec/OrderedTimeCodec.php

    r2521616 r2686283  
    6868        $bytes = $uuid->getFields()->getBytes();
    6969
     70        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    7071        return $bytes[6] . $bytes[7]
    7172            . $bytes[4] . $bytes[5]
  • sophi/trunk/vendor/ramsey/uuid/src/Codec/StringCodec.php

    r2521616 r2686283  
    7676    public function encodeBinary(UuidInterface $uuid): string
    7777    {
     78        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    7879        return $uuid->getFields()->getBytes();
    7980    }
  • sophi/trunk/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php

    r2521616 r2686283  
    7777    public function encodeBinary(UuidInterface $uuid): string
    7878    {
     79        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    7980        return $this->swapBytes($uuid->getFields()->getBytes());
    8081    }
  • sophi/trunk/vendor/ramsey/uuid/src/Converter/Number/GenericNumberConverter.php

    r2521616 r2686283  
    2020
    2121/**
    22  * GenericNumberConverter uses the provided calculate to convert decimal
     22 * GenericNumberConverter uses the provided calculator to convert decimal
    2323 * numbers to and from hexadecimal values
    2424 *
     
    5858    public function toHex(string $number): string
    5959    {
     60        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    6061        return $this->calculator->toBase(new IntegerObject($number), 16);
    6162    }
  • sophi/trunk/vendor/ramsey/uuid/src/Converter/Time/PhpTimeConverter.php

    r2521616 r2686283  
    112112        }
    113113
    114         return new Hexadecimal(str_pad(dechex((int) $uuidTime), 16, '0', STR_PAD_LEFT));
     114        return new Hexadecimal(str_pad(dechex($uuidTime), 16, '0', STR_PAD_LEFT));
    115115    }
    116116
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/BuilderNotFoundException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that no suitable builder could be found
    2121 */
    22 class BuilderNotFoundException extends PhpRuntimeException
     22class BuilderNotFoundException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/DateTimeException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the PHP DateTime extension encountered an exception/error
    2121 */
    22 class DateTimeException extends PhpRuntimeException
     22class DateTimeException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/DceSecurityException.php

    r2521616 r2686283  
    2121 * (version 2) UUIDs
    2222 */
    23 class DceSecurityException extends PhpRuntimeException
     23class DceSecurityException extends PhpRuntimeException implements UuidExceptionInterface
    2424{
    2525}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/InvalidArgumentException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the argument received is not valid
    2121 */
    22 class InvalidArgumentException extends PhpInvalidArgumentException
     22class InvalidArgumentException extends PhpInvalidArgumentException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/InvalidBytesException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the bytes being operated on are invalid in some way
    2121 */
    22 class InvalidBytesException extends PhpRuntimeException
     22class InvalidBytesException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/InvalidUuidStringException.php

    r2521616 r2686283  
    2121 * of this exception. It exists in the same namespace as this class.
    2222 */
    23 class InvalidUuidStringException extends InvalidArgumentException
     23class InvalidUuidStringException extends InvalidArgumentException implements UuidExceptionInterface
    2424{
    2525}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/NameException.php

    r2521616 r2686283  
    2121 * namespace and name
    2222 */
    23 class NameException extends PhpRuntimeException
     23class NameException extends PhpRuntimeException implements UuidExceptionInterface
    2424{
    2525}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/NodeException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that attempting to fetch or create a node ID encountered an error
    2121 */
    22 class NodeException extends PhpRuntimeException
     22class NodeException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/RandomSourceException.php

    r2521616 r2686283  
    2323 * threw an exception. However, it may be used for other sources of random data.
    2424 */
    25 class RandomSourceException extends PhpRuntimeException
     25class RandomSourceException extends PhpRuntimeException implements UuidExceptionInterface
    2626{
    2727}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/TimeSourceException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the source of time encountered an error
    2121 */
    22 class TimeSourceException extends PhpRuntimeException
     22class TimeSourceException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/UnableToBuildUuidException.php

    r2521616 r2686283  
    2020 * Thrown to indicate a builder is unable to build a UUID
    2121 */
    22 class UnableToBuildUuidException extends PhpRuntimeException
     22class UnableToBuildUuidException extends PhpRuntimeException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/trunk/vendor/ramsey/uuid/src/Exception/UnsupportedOperationException.php

    r2521616 r2686283  
    2020 * Thrown to indicate that the requested operation is not supported
    2121 */
    22 class UnsupportedOperationException extends PhpLogicException
     22class UnsupportedOperationException extends PhpLogicException implements UuidExceptionInterface
    2323{
    2424}
  • sophi/trunk/vendor/ramsey/uuid/src/FeatureSet.php

    r2521616 r2686283  
    275275        $this->timeConverter = $this->buildTimeConverter($calculator);
    276276
     277        /** @psalm-suppress RedundantPropertyInitializationCheck */
    277278        if (isset($this->timeProvider)) {
    278279            $this->timeGenerator = $this->buildTimeGenerator($this->timeProvider);
  • sophi/trunk/vendor/ramsey/uuid/src/Fields/SerializableFieldsTrait.php

    r2521616 r2686283  
    1515namespace Ramsey\Uuid\Fields;
    1616
     17use ValueError;
     18
    1719use function base64_decode;
     20use function sprintf;
    1821use function strlen;
    1922
     
    4447
    4548    /**
     49     * @return array{bytes: string}
     50     */
     51    public function __serialize(): array
     52    {
     53        return ['bytes' => $this->getBytes()];
     54    }
     55
     56    /**
    4657     * Constructs the object from a serialized string representation
    4758     *
     
    4960     *
    5061     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     62     * @psalm-suppress UnusedMethodCall
    5163     */
    5264    public function unserialize($serialized): void
     
    5870        }
    5971    }
     72
     73    /**
     74     * @param array{bytes: string} $data
     75     */
     76    public function __unserialize(array $data): void
     77    {
     78        // @codeCoverageIgnoreStart
     79        if (!isset($data['bytes'])) {
     80            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     81        }
     82        // @codeCoverageIgnoreEnd
     83
     84        $this->unserialize($data['bytes']);
     85    }
    6086}
  • sophi/trunk/vendor/ramsey/uuid/src/Generator/CombGenerator.php

    r2521616 r2686283  
    108108        return (string) hex2bin(
    109109            str_pad(
    110                 bin2hex((string) $hash),
     110                bin2hex($hash),
    111111                $length - self::TIMESTAMP_BYTES,
    112112                '0'
  • sophi/trunk/vendor/ramsey/uuid/src/Generator/DceSecurityGenerator.php

    r2521616 r2686283  
    139139
    140140        $domainByte = pack('n', $localDomain)[1];
    141         $identifierBytes = hex2bin(str_pad($identifierHex, 8, '0', STR_PAD_LEFT));
     141        $identifierBytes = (string) hex2bin(str_pad($identifierHex, 8, '0', STR_PAD_LEFT));
    142142
    143143        if ($node instanceof Hexadecimal) {
     
    150150        }
    151151
    152         /** @var string $bytes */
    153152        $bytes = $this->timeGenerator->generate($node, $clockSeq);
    154153
  • sophi/trunk/vendor/ramsey/uuid/src/Generator/DefaultNameGenerator.php

    r2521616 r2686283  
    1717use Ramsey\Uuid\Exception\NameException;
    1818use Ramsey\Uuid\UuidInterface;
     19use ValueError;
    1920
    2021use function hash;
     
    2930    public function generate(UuidInterface $ns, string $name, string $hashAlgorithm): string
    3031    {
    31         /** @var string|bool $bytes */
    32         $bytes = @hash($hashAlgorithm, $ns->getBytes() . $name, true);
     32        try {
     33            /** @var string|bool $bytes */
     34            $bytes = @hash($hashAlgorithm, $ns->getBytes() . $name, true);
     35        } catch (ValueError $e) {
     36            $bytes = false; // keep same behavior than PHP 7
     37        }
    3338
    3439        if ($bytes === false) {
  • sophi/trunk/vendor/ramsey/uuid/src/Generator/PeclUuidNameGenerator.php

    r2521616 r2686283  
    3636        switch ($hashAlgorithm) {
    3737            case 'md5':
    38                 $uuid = (string) uuid_generate_md5($ns->toString(), $name);
     38                $uuid = uuid_generate_md5($ns->toString(), $name);
    3939
    4040                break;
    4141            case 'sha1':
    42                 $uuid = (string) uuid_generate_sha1($ns->toString(), $name);
     42                $uuid = uuid_generate_sha1($ns->toString(), $name);
    4343
    4444                break;
     
    5050        }
    5151
    52         return (string) uuid_parse($uuid);
     52        return uuid_parse($uuid);
    5353    }
    5454}
  • sophi/trunk/vendor/ramsey/uuid/src/Generator/PeclUuidRandomGenerator.php

    r2521616 r2686283  
    1414
    1515namespace Ramsey\Uuid\Generator;
     16
     17use function uuid_create;
     18use function uuid_parse;
    1619
    1720use const UUID_TYPE_RANDOM;
  • sophi/trunk/vendor/ramsey/uuid/src/Generator/PeclUuidTimeGenerator.php

    r2521616 r2686283  
    1414
    1515namespace Ramsey\Uuid\Generator;
     16
     17use function uuid_create;
     18use function uuid_parse;
    1619
    1720use const UUID_TYPE_TIME;
  • sophi/trunk/vendor/ramsey/uuid/src/Generator/RandomBytesGenerator.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Uuid\Exception\RandomSourceException;
     18use Throwable;
    1819
    1920/**
     
    3435        try {
    3536            return random_bytes($length);
    36         } catch (\Throwable $exception) {
     37        } catch (Throwable $exception) {
    3738            throw new RandomSourceException(
    3839                $exception->getMessage(),
  • sophi/trunk/vendor/ramsey/uuid/src/Guid/Fields.php

    r2521616 r2686283  
    9595    {
    9696        // Swap the bytes from little endian to network byte order.
     97        /** @var array $hex */
    9798        $hex = unpack(
    9899            'H*',
     
    110111    {
    111112        // Swap the bytes from little endian to network byte order.
     113        /** @var array $hex */
    112114        $hex = unpack(
    113115            'H*',
     
    124126    {
    125127        // Swap the bytes from little endian to network byte order.
     128        /** @var array $hex */
    126129        $hex = unpack(
    127130            'H*',
     
    173176        }
    174177
     178        /** @var array $parts */
    175179        $parts = unpack('n*', $this->bytes);
    176180
  • sophi/trunk/vendor/ramsey/uuid/src/Guid/Guid.php

    r2521616 r2686283  
    1919use Ramsey\Uuid\Converter\TimeConverterInterface;
    2020use Ramsey\Uuid\Uuid;
    21 use Ramsey\Uuid\UuidInterface;
    2221
    2322/**
     
    5049 * @psalm-immutable
    5150 */
    52 final class Guid extends Uuid implements UuidInterface
     51final class Guid extends Uuid
    5352{
    5453    public function __construct(
  • sophi/trunk/vendor/ramsey/uuid/src/Lazy/LazyUuidFromString.php

    r2521616 r2686283  
    88 *
    99 * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
    10  * @license   http://opensource.org/licenses/MIT MIT
     10 * @license http://opensource.org/licenses/MIT MIT
    1111 */
    1212
     
    2525use Ramsey\Uuid\UuidFactory;
    2626use Ramsey\Uuid\UuidInterface;
     27use ValueError;
    2728
    2829use function assert;
    2930use function bin2hex;
    3031use function hex2bin;
     32use function sprintf;
    3133use function str_replace;
    3234use function substr;
     
    9294
    9395    /**
     96     * @return array{string: string}
     97     *
     98     * @psalm-return array{string: non-empty-string}
     99     */
     100    public function __serialize(): array
     101    {
     102        return ['string' => $this->uuid];
     103    }
     104
     105    /**
    94106     * {@inheritDoc}
    95107     *
     
    101113    {
    102114        $this->uuid = $serialized;
     115    }
     116
     117    /**
     118     * @param array{string: string} $data
     119     *
     120     * @psalm-param array{string: non-empty-string} $data
     121     */
     122    public function __unserialize(array $data): void
     123    {
     124        // @codeCoverageIgnoreStart
     125        if (!isset($data['string'])) {
     126            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     127        }
     128        // @codeCoverageIgnoreEnd
     129
     130        $this->unserialize($data['string']);
    103131    }
    104132
     
    243271    public function getBytes(): string
    244272    {
     273        /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
    245274        return (string) hex2bin(str_replace('-', '', $this->uuid));
    246275    }
     
    498527    {
    499528        $instance = ($this->unwrapped ?? $this->unwrap());
    500         $fields   = $instance->getFields();
     529        $fields = $instance->getFields();
    501530
    502531        if ($fields->getVersion() !== 1) {
  • sophi/trunk/vendor/ramsey/uuid/src/Nonstandard/Uuid.php

    r2521616 r2686283  
    1919use Ramsey\Uuid\Converter\TimeConverterInterface;
    2020use Ramsey\Uuid\Uuid as BaseUuid;
    21 use Ramsey\Uuid\UuidInterface;
    2221
    2322/**
     
    2625 * @psalm-immutable
    2726 */
    28 final class Uuid extends BaseUuid implements UuidInterface
     27final class Uuid extends BaseUuid
    2928{
    3029    public function __construct(
  • sophi/trunk/vendor/ramsey/uuid/src/Provider/Dce/SystemDceSecurityProvider.php

    r2521616 r2686283  
    178178        }
    179179
    180         /** @var string $sid */
    181         $sid = str_getcsv(trim($response))[1] ?? '';
     180        $sid = str_getcsv(trim((string) $response))[1] ?? '';
    182181
    183182        if (($lastHyphen = strrpos($sid, '-')) === false) {
     
    208207
    209208        /** @var string[] $userGroups */
    210         $userGroups = preg_split('/\s{2,}/', $response, -1, PREG_SPLIT_NO_EMPTY);
     209        $userGroups = preg_split('/\s{2,}/', (string) $response, -1, PREG_SPLIT_NO_EMPTY);
    211210
    212211        $firstGroup = trim($userGroups[1] ?? '', "* \t\n\r\0\x0B");
     
    223222
    224223        /** @var string[] $userGroup */
    225         $userGroup = preg_split('/\s{2,}/', $response, -1, PREG_SPLIT_NO_EMPTY);
     224        $userGroup = preg_split('/\s{2,}/', (string) $response, -1, PREG_SPLIT_NO_EMPTY);
    226225
    227226        $sid = $userGroup[1] ?? '';
  • sophi/trunk/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php

    r2521616 r2686283  
    4242        $lastProviderException = null;
    4343
    44         /** @var NodeProviderInterface $provider */
    4544        foreach ($this->nodeProviders as $provider) {
    4645            try {
  • sophi/trunk/vendor/ramsey/uuid/src/Provider/Node/NodeProviderCollection.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Collection\AbstractCollection;
    18 use Ramsey\Collection\CollectionInterface;
    1918use Ramsey\Uuid\Provider\NodeProviderInterface;
    2019use Ramsey\Uuid\Type\Hexadecimal;
     
    2221/**
    2322 * A collection of NodeProviderInterface objects
     23 *
     24 * @extends AbstractCollection<NodeProviderInterface>
    2425 */
    25 class NodeProviderCollection extends AbstractCollection implements CollectionInterface
     26class NodeProviderCollection extends AbstractCollection
    2627{
    2728    public function getType(): string
     
    3738     *
    3839     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     40     * @psalm-suppress RedundantConditionGivenDocblockType
    3941     */
    4042    public function unserialize($serialized): void
    4143    {
    42         /** @var mixed[] $data */
     44        /** @var array<array-key, NodeProviderInterface> $data */
    4345        $data = unserialize($serialized, [
    4446            'allowed_classes' => [
     
    5052        ]);
    5153
    52         $this->data = $data;
     54        $this->data = array_filter(
     55            $data,
     56            function ($unserialized): bool {
     57                return $unserialized instanceof NodeProviderInterface;
     58            }
     59        );
    5360    }
    5461}
  • sophi/trunk/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php

    r2521616 r2686283  
    1818use Ramsey\Uuid\Provider\NodeProviderInterface;
    1919use Ramsey\Uuid\Type\Hexadecimal;
     20use Throwable;
    2021
    2122use function bin2hex;
     
    3940        try {
    4041            $nodeBytes = random_bytes(6);
    41         } catch (\Throwable $exception) {
     42        } catch (Throwable $exception) {
    4243            throw new RandomSourceException(
    4344                $exception->getMessage(),
  • sophi/trunk/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php

    r2521616 r2686283  
    133133        }
    134134
    135         return (string) $node;
     135        return $node;
    136136    }
    137137
  • sophi/trunk/vendor/ramsey/uuid/src/Rfc4122/Fields.php

    r2521616 r2686283  
    178178        }
    179179
     180        /** @var array $parts */
    180181        $parts = unpack('n*', $this->bytes);
    181182
  • sophi/trunk/vendor/ramsey/uuid/src/Rfc4122/VariantTrait.php

    r2521616 r2686283  
    5959        }
    6060
     61        /** @var array $parts */
    6162        $parts = unpack('n*', $this->getBytes());
    6263
  • sophi/trunk/vendor/ramsey/uuid/src/Type/Decimal.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Uuid\Exception\InvalidArgumentException;
     18use ValueError;
    1819
    1920use function is_numeric;
     21use function sprintf;
    2022
    2123/**
     
    100102
    101103    /**
     104     * @return array{string: string}
     105     */
     106    public function __serialize(): array
     107    {
     108        return ['string' => $this->toString()];
     109    }
     110
     111    /**
    102112     * Constructs the object from a serialized string representation
    103113     *
     
    105115     *
    106116     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     117     * @psalm-suppress UnusedMethodCall
    107118     */
    108119    public function unserialize($serialized): void
     
    110121        $this->__construct($serialized);
    111122    }
     123
     124    /**
     125     * @param array{string: string} $data
     126     */
     127    public function __unserialize(array $data): void
     128    {
     129        // @codeCoverageIgnoreStart
     130        if (!isset($data['string'])) {
     131            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     132        }
     133        // @codeCoverageIgnoreEnd
     134
     135        $this->unserialize($data['string']);
     136    }
    112137}
  • sophi/trunk/vendor/ramsey/uuid/src/Type/Hexadecimal.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Uuid\Exception\InvalidArgumentException;
     18use ValueError;
    1819
    1920use function ctype_xdigit;
     21use function sprintf;
    2022use function strpos;
    2123use function strtolower;
     
    7981
    8082    /**
     83     * @return array{string: string}
     84     */
     85    public function __serialize(): array
     86    {
     87        return ['string' => $this->toString()];
     88    }
     89
     90    /**
    8191     * Constructs the object from a serialized string representation
    8292     *
     
    8494     *
    8595     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     96     * @psalm-suppress UnusedMethodCall
    8697     */
    8798    public function unserialize($serialized): void
     
    89100        $this->__construct($serialized);
    90101    }
     102
     103    /**
     104     * @param array{string: string} $data
     105     */
     106    public function __unserialize(array $data): void
     107    {
     108        // @codeCoverageIgnoreStart
     109        if (!isset($data['string'])) {
     110            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     111        }
     112        // @codeCoverageIgnoreEnd
     113
     114        $this->unserialize($data['string']);
     115    }
    91116}
  • sophi/trunk/vendor/ramsey/uuid/src/Type/Integer.php

    r2521616 r2686283  
    1616
    1717use Ramsey\Uuid\Exception\InvalidArgumentException;
     18use ValueError;
    1819
    1920use function ctype_digit;
    2021use function ltrim;
     22use function sprintf;
    2123use function strpos;
    2224use function substr;
     
    3739{
    3840    /**
    39      * @var string
     41     * @psalm-var numeric-string
    4042     */
    4143    private $value;
     
    8183        }
    8284
    83         $this->value = $value;
     85        /** @psalm-var numeric-string $numericValue */
     86        $numericValue = $value;
     87
     88        $this->value = $numericValue;
    8489    }
    8590
     
    8994    }
    9095
     96    /**
     97     * @psalm-return numeric-string
     98     */
    9199    public function toString(): string
    92100    {
     
    110118
    111119    /**
     120     * @return array{string: string}
     121     */
     122    public function __serialize(): array
     123    {
     124        return ['string' => $this->toString()];
     125    }
     126
     127    /**
    112128     * Constructs the object from a serialized string representation
    113129     *
     
    115131     *
    116132     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     133     * @psalm-suppress UnusedMethodCall
    117134     */
    118135    public function unserialize($serialized): void
     
    120137        $this->__construct($serialized);
    121138    }
     139
     140    /**
     141     * @param array{string: string} $data
     142     */
     143    public function __unserialize(array $data): void
     144    {
     145        // @codeCoverageIgnoreStart
     146        if (!isset($data['string'])) {
     147            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     148        }
     149        // @codeCoverageIgnoreEnd
     150
     151        $this->unserialize($data['string']);
     152    }
    122153}
  • sophi/trunk/vendor/ramsey/uuid/src/Type/Time.php

    r2521616 r2686283  
    1717use Ramsey\Uuid\Exception\UnsupportedOperationException;
    1818use Ramsey\Uuid\Type\Integer as IntegerObject;
     19use ValueError;
    1920use stdClass;
    2021
    2122use function json_decode;
    2223use function json_encode;
     24use function sprintf;
    2325
    2426/**
     
    9092
    9193    /**
     94     * @return array{seconds: string, microseconds: string}
     95     */
     96    public function __serialize(): array
     97    {
     98        return [
     99            'seconds' => $this->getSeconds()->toString(),
     100            'microseconds' => $this->getMicroseconds()->toString(),
     101        ];
     102    }
     103
     104    /**
    92105     * Constructs the object from a serialized string representation
    93106     *
     
    95108     *
    96109     * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
     110     * @psalm-suppress UnusedMethodCall
    97111     */
    98112    public function unserialize($serialized): void
     
    109123        $this->__construct($time->seconds, $time->microseconds);
    110124    }
     125
     126    /**
     127     * @param array{seconds: string, microseconds: string} $data
     128     */
     129    public function __unserialize(array $data): void
     130    {
     131        // @codeCoverageIgnoreStart
     132        if (!isset($data['seconds']) || !isset($data['microseconds'])) {
     133            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     134        }
     135        // @codeCoverageIgnoreEnd
     136
     137        $this->__construct($data['seconds'], $data['microseconds']);
     138    }
    111139}
  • sophi/trunk/vendor/ramsey/uuid/src/Uuid.php

    r2521616 r2686283  
    2424use Ramsey\Uuid\Type\Hexadecimal;
    2525use Ramsey\Uuid\Type\Integer as IntegerObject;
    26 
     26use ValueError;
     27
     28use function assert;
    2729use function bin2hex;
    2830use function preg_match;
     31use function sprintf;
    2932use function str_replace;
    3033use function strcmp;
     
    239242     * use Ramsey\Uuid\Uuid;
    240243     *
    241      * $timeBasedUuid     = Uuid::uuid1();
    242      * $namespaceMd5Uuid  = Uuid::uuid3(Uuid::NAMESPACE_URL, 'http://php.net/');
    243      * $randomUuid        = Uuid::uuid4();
     244     * $timeBasedUuid = Uuid::uuid1();
     245     * $namespaceMd5Uuid = Uuid::uuid3(Uuid::NAMESPACE_URL, 'http://php.net/');
     246     * $randomUuid = Uuid::uuid4();
    244247     * $namespaceSha1Uuid = Uuid::uuid5(Uuid::NAMESPACE_URL, 'http://php.net/');
    245248     * ```
     
    286289    public function serialize(): string
    287290    {
    288         return $this->getBytes();
     291        return $this->getFields()->getBytes();
     292    }
     293
     294    /**
     295     * @return array{bytes: string}
     296     */
     297    public function __serialize(): array
     298    {
     299        return ['bytes' => $this->serialize()];
    289300    }
    290301
     
    311322        $this->fields = $uuid->fields;
    312323        $this->timeConverter = $uuid->timeConverter;
     324    }
     325
     326    /**
     327     * @param array{bytes: string} $data
     328     */
     329    public function __unserialize(array $data): void
     330    {
     331        // @codeCoverageIgnoreStart
     332        if (!isset($data['bytes'])) {
     333            throw new ValueError(sprintf('%s(): Argument #1 ($data) is invalid', __METHOD__));
     334        }
     335        // @codeCoverageIgnoreEnd
     336
     337        $this->unserialize($data['bytes']);
    313338    }
    314339
     
    453478    {
    454479        if (! self::$factoryReplaced && preg_match(LazyUuidFromString::VALID_REGEX, $uuid) === 1) {
     480            assert($uuid !== '');
     481
    455482            return new LazyUuidFromString(strtolower($uuid));
    456483        }
  • sophi/trunk/vendor/ramsey/uuid/src/UuidFactory.php

    r2521616 r2686283  
    472472    private function uuidFromBytesAndVersion(string $bytes, int $version): UuidInterface
    473473    {
    474         $timeHi = (int) unpack('n*', substr($bytes, 6, 2))[1];
     474        /** @var array $unpackedTime */
     475        $unpackedTime = unpack('n*', substr($bytes, 6, 2));
     476        $timeHi = (int) $unpackedTime[1];
    475477        $timeHiAndVersion = pack('n*', BinaryUtils::applyVersion($timeHi, $version));
    476478
    477         $clockSeqHi = (int) unpack('n*', substr($bytes, 8, 2))[1];
     479        /** @var array $unpackedClockSeq */
     480        $unpackedClockSeq = unpack('n*', substr($bytes, 8, 2));
     481        $clockSeqHi = (int) $unpackedClockSeq[1];
    478482        $clockSeqHiAndReserved = pack('n*', BinaryUtils::applyVariant($clockSeqHi));
    479483
  • sophi/trunk/vendor/ramsey/uuid/src/functions.php

    r2521616 r2686283  
    3030 *     changes
    3131 *
    32  * @return string Version 1 UUID as a string
     32 * @return non-empty-string Version 1 UUID as a string
    3333 */
    3434function v1($node = null, ?int $clockSeq = null): string
     
    5353 *     node ID changes
    5454 *
    55  * @return string Version 2 UUID as a string
     55 * @return non-empty-string Version 2 UUID as a string
    5656 */
    5757function v2(
     
    7070 * @param string|UuidInterface $ns The namespace (must be a valid UUID)
    7171 *
    72  * @return string Version 3 UUID as a string
     72 * @return non-empty-string Version 3 UUID as a string
     73 *
     74 * @psalm-pure note: changing the internal factory is an edge case not covered by purity invariants,
     75 *             but under constant factory setups, this method operates in functionally pure manners
    7376 */
    7477function v3($ns, string $name): string
     
    8083 * Returns a version 4 (random) UUID
    8184 *
    82  * @return string Version 4 UUID as a string
     85 * @return non-empty-string Version 4 UUID as a string
    8386 */
    8487function v4(): string
     
    9396 * @param string|UuidInterface $ns The namespace (must be a valid UUID)
    9497 *
    95  * @return string Version 5 UUID as a string
     98 * @return non-empty-string Version 5 UUID as a string
     99 *
     100 * @psalm-pure note: changing the internal factory is an edge case not covered by purity invariants,
     101 *             but under constant factory setups, this method operates in functionally pure manners
    96102 */
    97103function v5($ns, string $name): string
     
    110116 *     changes
    111117 *
    112  * @return string Version 6 UUID as a string
     118 * @return non-empty-string Version 6 UUID as a string
    113119 */
    114120function v6(?Hexadecimal $node = null, ?int $clockSeq = null): string
  • sophi/trunk/vendor/snowplow/snowplow-tracker/.github/workflows/cd.yml

    r2521616 r2686283  
    1717      uses: shivammathur/setup-php@v2
    1818      with:
    19         php-version: '7.2'
     19        php-version: '7.4'
    2020        extensions: mbstring
    2121        coverage: xdebug
  • sophi/trunk/vendor/snowplow/snowplow-tracker/.github/workflows/ci.yml

    r2521616 r2686283  
    1010  build:
    1111    runs-on: ubuntu-20.04
     12    strategy:
     13      matrix:
     14        php: ['7.4', '8.1']
    1215
    1316    steps:
     
    1821      uses: shivammathur/setup-php@v2
    1922      with:
    20         php-version: '7.2'
     23        php-version: ${{ matrix.php }}
    2124        extensions: mbstring
    2225        coverage: xdebug
  • sophi/trunk/vendor/snowplow/snowplow-tracker/CHANGELOG

    r2521616 r2686283  
     1Version 0.5.0 (2022-02-04)
     2--------------------------
     3Make testTrackerInit version use TRACKER_VERSION (#110)
     4Install composer programmatically (#108)
     5Add PHP 7.4 and 8.1 to CI build (#107)
     6Fix build on ARM (#102)
     7Add a setter for session ID on a subject (#105) (Thanks to @TijmenWierenga)
     8Allow log dir to be overridden for FileEmitter (#106) (Thanks to @EricTendian)
     9Update all copyright notices (#113)
     10
    111Version 0.4.0 (2021-03-02)
    212--------------------------
  • sophi/trunk/vendor/snowplow/snowplow-tracker/Dockerfile

    r2521616 r2686283  
    1 FROM php:7.2
     1FROM --platform=linux/amd64 php:7.4
    22
    3 RUN pecl install xdebug-2.7.2 \
     3RUN pecl install xdebug-3.1.3 \
    44    && docker-php-ext-enable xdebug
    55
     
    77 && apt-get install -y git wget tar
    88
     9ADD ./script/install-composer.sh /script/install-composer.sh
     10RUN chmod +x /script/install-composer.sh
     11
    912WORKDIR /usr/bin
    10 
    11 RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
    12     && php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
    13     && php composer-setup.php \
    14     && php -r "unlink('composer-setup.php');"
     13RUN /script/install-composer.sh
    1514
    1615WORKDIR /tmp
  • sophi/trunk/vendor/snowplow/snowplow-tracker/LICENSE-2.0.txt

    r2521616 r2686283  
    188188      identification within third-party archives.
    189189
    190    Copyright [yyyy] [name of copyright owner]
     190   Copyright 2022 Snowplow Analytics Ltd.
    191191
    192192   Licensed under the Apache License, Version 2.0 (the "License");
  • sophi/trunk/vendor/snowplow/snowplow-tracker/Worker.php

    r2521616 r2686283  
    33    Worker.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/src/Constants.php

    r2521616 r2686283  
    33    Constants.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    4746     * - Type: the default for what type of request the emitter will be making (POST or GET)
    4847     */
    49     const TRACKER_VERSION       = "php-0.4.0";
     48    const TRACKER_VERSION       = "php-0.5.0";
    5049    const DEFAULT_BASE_64       = true;
    5150    const DEBUG_LOG_FILES       = true;
  • sophi/trunk/vendor/snowplow/snowplow-tracker/src/Emitter.php

    r2521616 r2686283  
    44    Emitter.php
    55
    6     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     6    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    77
    88    This program is licensed to you under the Apache License Version 2.0,
     
    1818
    1919    Authors: Joshua Beemster
    20     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2120    License: Apache License Version 2.0
    2221*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/src/Emitters/CurlEmitter.php

    r2521616 r2686283  
    33    CurlEmitter.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/src/Emitters/FileEmitter.php

    r2521616 r2686283  
    33    FileEmitter.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    5049     * @param int|null $buffer_size
    5150     * @param bool|null $debug
    52      */
    53     public function __construct($uri, $protocol = NULL, $type = NULL, $workers = NULL, $timeout = NULL, $buffer_size = NULL, $debug = false) {
     51     * @param string|null $log_dir
     52     */
     53    public function __construct($uri, $protocol = NULL, $type = NULL, $workers = NULL, $timeout = NULL, $buffer_size = NULL, $debug = false, $log_dir = NULL) {
    5454
    5555        // Set error handler to catch warnings
     
    6161        $this->type     = $this->getRequestType($type);
    6262        $this->url      = $this->getCollectorUrl($this->type, $uri, $protocol);
    63         $this->log_dir  = $this->worker_root.self::WORKER_FOLDER;
     63        $this->log_dir  = $log_dir ?: $this->worker_root.self::WORKER_FOLDER;
    6464
    6565        // Initilize the event log file
  • sophi/trunk/vendor/snowplow/snowplow-tracker/src/Emitters/SocketEmitter.php

    r2521616 r2686283  
    33    SocketEmitter.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/src/Emitters/SyncEmitter.php

    r2521616 r2686283  
    33    SyncEmitter.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/src/Payload.php

    r2521616 r2686283  
    44    Payload.php
    55
    6     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     6    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    77
    88    This program is licensed to you under the Apache License Version 2.0,
     
    1818
    1919    Authors: Joshua Beemster
    20     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2120    License: Apache License Version 2.0
    2221*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/src/Subject.php

    r2521616 r2686283  
    44    Subject.php
    55
    6     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     6    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    77
    88    This program is licensed to you under the Apache License Version 2.0,
     
    1818
    1919    Authors: Joshua Beemster
    20     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2120    License: Apache License Version 2.0
    2221*/
     
    150149
    151150    /**
     151     * Sets the Session ID
     152     *
     153     * @param string $sessionId
     154     */
     155    public function setSessionId($sessionId) {
     156        $this->tracker_settings["sid"] = $sessionId;
     157    }
     158
     159    /**
     160     * Sets the Session Index
     161     *
     162     * @param int $sessionIndex
     163     */
     164    public function setSessionIndex($sessionIndex) {
     165        $this->tracker_settings["vid"] = $sessionIndex;
     166    }
     167
     168    /**
    152169     * Sets the referer
    153170     *
  • sophi/trunk/vendor/snowplow/snowplow-tracker/src/Tracker.php

    r2521616 r2686283  
    44    Tracker.php
    55
    6     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     6    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    77
    88    This program is licensed to you under the Apache License Version 2.0,
     
    1818
    1919    Authors: Joshua Beemster
    20     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2120    License: Apache License Version 2.0
    2221*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/tests/tests/ClassInitTests/EmitterTest.php

    r2521616 r2686283  
    33    EmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/tests/tests/ClassInitTests/PayloadTest.php

    r2521616 r2686283  
    33    PayloadTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/tests/tests/ClassInitTests/SubjectTest.php

    r2521616 r2686283  
    33    SubjectTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    131130        $this->assertEquals("tnuid", $settings["tnuid"]);
    132131    }
     132
     133    public function testAddSessionId() {
     134        $this->subject->setSessionId("759e1c9a-6b74-403c-8b6f-18eb9f0c2f02");
     135        $settings = $this->getTrackerSettings();
     136        $this->assertArrayHasKey("sid", $settings);
     137        $this->assertEquals("759e1c9a-6b74-403c-8b6f-18eb9f0c2f02", $settings["sid"]);
     138    }
     139
     140    public function testAddSessionIndex() {
     141        $this->subject->setSessionIndex(1);
     142        $settings = $this->getTrackerSettings();
     143        $this->assertArrayHasKey("vid", $settings);
     144        $this->assertEquals(1, $settings["vid"]);
     145    }
    133146}
  • sophi/trunk/vendor/snowplow/snowplow-tracker/tests/tests/ClassInitTests/TrackerTest.php

    r2521616 r2686283  
    33    TrackerTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    2524use Snowplow\Tracker\Subject;
    2625use PHPUnit\Framework\TestCase;
     26use Snowplow\Tracker\Constants;
    2727
    2828/**
     
    6868        $this->assertEquals($this->s1, $tracker->returnSubject());
    6969        $this->assertEquals(false, $tracker->returnEncodeBase64());
    70         $this->assertEquals(array("tv" => "php-0.4.0", "tna" => "namespace", "aid" => "app_id"), $tracker->returnStdNvPairs());
     70        $this->assertEquals(array("tv" => Constants::TRACKER_VERSION, "tna" => "namespace", "aid" => "app_id"), $tracker->returnStdNvPairs());
    7171        $tracker->turnOffDebug(true);
    7272    }
  • sophi/trunk/vendor/snowplow/snowplow-tracker/tests/tests/EmitterTests/CurlEmitterTest.php

    r2521616 r2686283  
    33    CurlEmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/tests/tests/EmitterTests/FileEmitterTest.php

    r2521616 r2686283  
    33    FileEmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
     
    122121            $paths[1]);
    123122    }
     123
     124    public function testLogDirOverridden() {
     125        $log_dir = "/tmp/snowplow/";
     126        $emitter = new FileEmitter($this->uri, false, "POST", 3, 3, 100, false, $log_dir);
     127
     128        $this->assertEquals($log_dir, $emitter->returnLogDir());
     129    }
    124130}
  • sophi/trunk/vendor/snowplow/snowplow-tracker/tests/tests/EmitterTests/SocketEmitterTest.php

    r2521616 r2686283  
    33    SocketEmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/tests/tests/EmitterTests/SyncEmitterTest.php

    r2521616 r2686283  
    33    SyncEmitterTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
  • sophi/trunk/vendor/snowplow/snowplow-tracker/tests/tests/IntegrationTest.php

    r2521616 r2686283  
    33    IntegrationTest.php
    44
    5     Copyright (c) 2014-2021 Snowplow Analytics Ltd. All rights reserved.
     5    Copyright (c) 2014-2022 Snowplow Analytics Ltd. All rights reserved.
    66
    77    This program is licensed to you under the Apache License Version 2.0,
     
    1717
    1818    Authors: Joshua Beemster
    19     Copyright: Copyright (c) 2014-2021 Snowplow Analytics Ltd
    2019    License: Apache License Version 2.0
    2120*/
Note: See TracChangeset for help on using the changeset viewer.