Changeset 3472718
- Timestamp:
- 03/02/2026 01:14:20 PM (4 weeks ago)
- Location:
- pdc-pod
- Files:
-
- 2 added
- 32 edited
- 1 copied
-
tags/1.1.0 (copied) (copied from pdc-pod/trunk)
-
tags/1.1.0/CHANGELOG.md (modified) (1 diff)
-
tags/1.1.0/README.md (modified) (2 diffs)
-
tags/1.1.0/README.txt (modified) (2 diffs)
-
tags/1.1.0/admin/AdminCore.php (modified) (4 diffs)
-
tags/1.1.0/admin/PrintDotCom/APIClient.php (modified) (1 diff)
-
tags/1.1.0/admin/js/pdc-pod-admin.js (modified) (3 diffs)
-
tags/1.1.0/admin/partials/pdc-pod-admin-producttab.php (modified) (2 diffs)
-
tags/1.1.0/admin/partials/pdc-pod-admin-variation-data.php (modified) (3 diffs)
-
tags/1.1.0/composer.json (modified) (1 diff)
-
tags/1.1.0/composer.lock (modified) (6 diffs)
-
tags/1.1.0/includes/Core.php (modified) (2 diffs)
-
tags/1.1.0/pdc-pod.php (modified) (3 diffs)
-
tags/1.1.0/phpunit.xml.dist (added)
-
tags/1.1.0/vendor/autoload.php (modified) (1 diff)
-
tags/1.1.0/vendor/composer/autoload_real.php (modified) (2 diffs)
-
tags/1.1.0/vendor/composer/autoload_static.php (modified) (2 diffs)
-
tags/1.1.0/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/CHANGELOG.md (modified) (1 diff)
-
trunk/README.md (modified) (2 diffs)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/admin/AdminCore.php (modified) (4 diffs)
-
trunk/admin/PrintDotCom/APIClient.php (modified) (1 diff)
-
trunk/admin/js/pdc-pod-admin.js (modified) (3 diffs)
-
trunk/admin/partials/pdc-pod-admin-producttab.php (modified) (2 diffs)
-
trunk/admin/partials/pdc-pod-admin-variation-data.php (modified) (3 diffs)
-
trunk/composer.json (modified) (1 diff)
-
trunk/composer.lock (modified) (6 diffs)
-
trunk/includes/Core.php (modified) (2 diffs)
-
trunk/pdc-pod.php (modified) (3 diffs)
-
trunk/phpunit.xml.dist (added)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_real.php (modified) (2 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pdc-pod/tags/1.1.0/CHANGELOG.md
r3465930 r3472718 5 5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), 6 6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 8 ## [1.1.0] 9 10 ### Added 11 12 - select a sku within a variation 13 - added woocommerce as required plugin 14 - added knowledge base link in readme 7 15 8 16 ## [1.0.1] -
pdc-pod/tags/1.1.0/README.md
r3465930 r3472718 103 103 - [WordPress Documentation Standards](https://developer.wordpress.org/coding-standards/inline-documentation-standards/) 104 104 - [Conventional Commits](https://www.conventionalcommits.org/) for commit messages 105 106 107 105 108 106 … … 198 196 ``` 199 197 198 ### Unit tests 199 200 Running automated unit tests via phpunit is possible through: 201 ```bash 202 bin/test-unit 203 ``` 204 200 205 ### Mock API 201 206 -
pdc-pod/tags/1.1.0/README.txt
r3465930 r3472718 5 5 Requires at least: 3.4 6 6 Tested up to: 6.9 7 Stable tag: 1. 0.17 Stable tag: 1.1.0 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 10 11 11 12 Grow your business with Print.com! This plug-in will make it easy for you to connect your WooCommerce store … … 34 35 Unfortunately we cannot store prices as they change every week. This might be a feature that will be implemented. 35 36 37 === Where can I find more information? === 38 39 We have a more information in our knowledge base at https://knowledge.print.com/nl/helpcenter/solutions#print-on-demand-plugin-woocommerce. 40 36 41 == Changelog == 42 43 = 1.1.0 = 44 45 * feat: able to select a different sku within a variation 46 * added woocommerce as required plugin 37 47 38 48 = 1.0.1 = -
pdc-pod/tags/1.1.0/admin/AdminCore.php
r3421416 r3472718 44 44 * Initialize the class and set its properties. 45 45 * 46 * @param APIClient $pdc_api_client 46 47 * @since 1.0.0 47 48 */ 48 public function __construct( ) {49 $this->pdc_client = new APIClient();49 public function __construct( $pdc_api_client ) { 50 $this->pdc_client = $pdc_api_client; 50 51 } 51 52 … … 759 760 $pdc_pod_index = isset( $index ) ? intval( $index ) : 0; 760 761 761 $pdc_pod_sku = get_post_meta( $pdc_pod_parent_id, $pdc_pod_meta_key_sku, true ); 762 $pdc_pod_preset_id = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_preset_id, true ); 762 $pdc_pod_parent_sku = get_post_meta( $pdc_pod_parent_id, $pdc_pod_meta_key_sku, true ); 763 $pdc_pod_variantion_sku = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_sku, true ); 764 $pdc_pod_sku = ! empty( $pdc_pod_variantion_sku ) ? $pdc_pod_variantion_sku : $pdc_pod_parent_sku; 765 $pdc_pod_preset_id = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_preset_id, true ); 766 767 $pdc_pod_products = $this->pdc_client->search_products(); 763 768 764 769 $pdc_pod_presets_for_sku = array(); … … 779 784 */ 780 785 public function save_variation_data_fields( $variation_id, $i ) { 781 782 786 $nonce = isset( $_POST[ PDC_POD_NAME . '_variations_nonce' . $i ] ) 783 787 ? sanitize_text_field( wp_unslash( $_POST[ PDC_POD_NAME . '_variations_nonce' . $i ] ) ) … … 789 793 790 794 $fields = array( 791 'pdf_url' => $this->get_meta_key( 'pdf_url' ), 792 'preset_id' => $this->get_meta_key( 'preset_id' ), 795 'pdf_url' => $this->get_meta_key( 'pdf_url' ), 796 'product_sku' => $this->get_meta_key( 'product_sku' ), 797 'preset_id' => $this->get_meta_key( 'preset_id' ), 793 798 ); 794 799 -
pdc-pod/tags/1.1.0/admin/PrintDotCom/APIClient.php
r3465930 r3472718 48 48 */ 49 49 public function __construct() { 50 51 $env = get_option( PDC_POD_NAME . '-env' );52 53 // Allow environment variable override for testing.54 50 if ( getenv( 'PDC_POD_API_BASE_URL' ) ) { 55 51 $this->pdc_pod_api_base_url = getenv( 'PDC_POD_API_BASE_URL' ); 56 52 } else { 53 $env = get_option( PDC_POD_NAME . '-env' ); 57 54 $this->pdc_pod_api_base_url = ( 'prod' === $env ) ? 'https://api.print.com' : 'https://api.stg.print.com'; 58 55 } 59 60 // Allow environment variable override for testing.61 56 if ( getenv( 'PDC_POD_API_KEY' ) ) { 62 57 $this->pdc_pod_api_key = getenv( 'PDC_POD_API_KEY' ); -
pdc-pod/tags/1.1.0/admin/js/pdc-pod-admin.js
r3421416 r3472718 190 190 // rehook dom elements when variations are loaded 191 191 $(document).on('woocommerce_variations_loaded', function onVariationsLoaded() { 192 loadPresetsForSKU();192 $('.js-pdc-product-selector').on('change', (e) => loadPresetsForSKU(e.target)); 193 193 $('.pdc-pod-js-upload-custom-file-btn').on('click', openMediaDialogFromProduct); 194 194 }); 195 195 196 async function loadPresetsForSKU( ) {197 const sku = $('#js-pdc-product-selector').val();196 async function loadPresetsForSKU(target) { 197 const sku = target.value; 198 198 if (!sku) return; 199 200 const productID = target.dataset.product_id; 201 const presetTargets = document.querySelectorAll(`.js-pdc-preset-list-${productID}`); 199 202 try { 200 203 const response = await fetch(`${PDC_POD_ADMIN.root}pdc/v1/products/${encodeURIComponent(sku)}/presets`, { … … 210 213 const presetOptionsHTML = payload?.html || ''; 211 214 212 // set options for main product 213 const presetSelectInput = document.getElementById('js-pdc-preset-list'); 214 setSelectedValue(presetSelectInput, presetOptionsHTML); 215 216 // set options for each variation 217 const variationPresetInputs = document.querySelectorAll('.pdc_variation_preset_select'); 218 variationPresetInputs.forEach((selectInput) => setSelectedValue(selectInput, presetOptionsHTML)); 215 presetTargets.forEach((selectInput) => setSelectedValue(selectInput, presetOptionsHTML)); 219 216 } catch (err) { 220 217 console.error('Failed to load presets', err); … … 229 226 230 227 $(document).ready(function () { 231 $('#js-pdc-product-selector').on('change', loadPresetsForSKU);228 $('#js-pdc-product-selector').on('change', (e) => loadPresetsForSKU(e.target)); 232 229 $('#pdc-product-file-upload').on('click', openMediaDialogFromOrder); 233 230 $('.pdc-pod-js-upload-custom-file-btn').on('click', openMediaDialogFromProduct); -
pdc-pod/tags/1.1.0/admin/partials/pdc-pod-admin-producttab.php
r3421416 r3472718 33 33 id="js-pdc-product-selector" 34 34 data-testid="pdc-product-sku" 35 data-product_id="<?php echo $post->ID; ?>" 35 36 name="<?php echo esc_attr( $this->get_meta_key( 'product_sku' ) ); ?>" 36 37 value="<?php echo esc_attr( (string) $pdc_pod_sku ); ?>"> … … 44 45 <label for="pdc-presets-label"><?php esc_html_e( 'Print.com Preset', 'pdc-pod' ); ?></label> 45 46 <span class="pdc-ac-preset-list"> 46 <select id="js-pdc-preset-list" class="pdc_preset_select" name="<?php echo esc_attr( $preset_input_name ); ?>" data-testid="pdc-preset-id" data-current-value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>" value="<?php echo esc_attr( (string) $pdc_pod_preset_id ); ?>"> 47 <select 48 id="js-pdc-preset-list" 49 class="pdc_preset_select js-pdc-preset-list-<?php echo esc_attr( $post->ID ); ?>" 50 name="<?php echo esc_attr( $preset_input_name ); ?>" data-testid="pdc-preset-id" data-current-value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>" value="<?php echo esc_attr( (string) $pdc_pod_preset_id ); ?>"> 47 51 <?php require plugin_dir_path( __FILE__ ) . '/' . PDC_POD_NAME . '-admin-preset-select.php'; ?> 48 52 </select> -
pdc-pod/tags/1.1.0/admin/partials/pdc-pod-admin-variation-data.php
r3421416 r3472718 21 21 * @global WP_Post $post Global post object. 22 22 * 23 * @var $pdc_pod_products array 23 24 * @var $pdc_pod_variation_id int 24 25 * @var $pdc_pod_index int … … 26 27 */ 27 28 $pdc_pod_preset_input_name = $pdc_pod_meta_key_preset_id . '[' . $pdc_pod_index . ']'; 28 29 $pdc_pod_sku_input_name = $pdc_pod_meta_key_sku . '[' . $pdc_pod_index . ']'; 29 30 30 31 wp_nonce_field( … … 33 34 ); 34 35 ?> 35 <?php if ( ! empty( $pdc_pod_sku ) ) { ?> 36 <div class="form-row"> 37 <div class="options_group pdc_product_options" id="js-pdc-variant-<?php echo esc_attr( $pdc_pod_variation_id ); ?>"> 38 <p class="form-row form-field"> 39 <label><?php esc_html_e( 'Print.com Preset', 'pdc-pod' ); ?></label> 40 <span class="woocommerce-help-tip" tabindex="0" aria-label="<?php echo esc_attr__( 'Select a preset for this variant. When no preset is selected, it will use the default preset of this product.', 'pdc-pod' ); ?>"></span> 41 <span class="pdc-ac-preset-list"> 42 <select data-testid="<?php echo esc_attr( 'variation_preset_' . $pdc_pod_variation_id ); ?>" class="pdc_variation_preset_select" name="<?php echo esc_attr( $pdc_pod_preset_input_name ); ?>" data-current-value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>" value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>"> 43 <?php include plugin_dir_path( __FILE__ ) . '/' . PDC_POD_NAME . '-admin-preset-select.php'; ?> 44 </select> 45 </span> 46 </p> 36 <div class="form-row"> 37 <div class="options_group pdc_product_options" id="js-pdc-variant-<?php echo esc_attr( $pdc_pod_variation_id ); ?>"> 38 <p class="form-row form-field"> 39 <label for="js-pdc-variant-product-<?php echo esc_attr( $pdc_pod_variation_id ); ?>"><?php esc_html_e( 'Print.com SKU', 'pdc-pod' ); ?></label> 40 <select 41 class="js-pdc-product-selector" 42 data-product_id="<?php echo $pdc_pod_variation_id; ?>" 43 id="js-pdc-variant-product-<?php echo esc_attr( $pdc_pod_variation_id ); ?>" 44 data-testid="<?php echo esc_attr( 'variation_sku_' . $pdc_pod_variation_id ); ?>" 45 name="<?php echo esc_attr( $pdc_pod_sku_input_name ); ?>" 46 value="<?php echo esc_attr( (string) $pdc_pod_sku ); ?>"> 47 <option disabled selected value><?php esc_html_e( 'Choose a product', 'pdc-pod' ); ?></option> 48 <?php 49 foreach ( $pdc_pod_products as $pdc_pod ) { 50 $title = isset( $pdc_pod->title ) ? $pdc_pod->title : ''; 51 $sku = isset( $pdc_pod->sku ) ? $pdc_pod->sku : ''; 52 ?> 53 <option value="<?php echo esc_attr( $sku ); ?>" <?php selected( $sku, $pdc_pod_sku ); ?>><?php echo esc_attr( $title ); ?></option> 54 <?php } ?> 55 </select> 56 </p> 57 <p class="form-row form-field"> 58 <label><?php esc_html_e( 'Print.com Preset', 'pdc-pod' ); ?></label> 59 <span class="woocommerce-help-tip" tabindex="0" aria-label="<?php echo esc_attr__( 'Select a preset for this variant. When no preset is selected, it will use the default preset of this product.', 'pdc-pod' ); ?>"></span> 60 <span class="pdc-ac-preset-list"> 61 <select 62 data-testid="<?php echo esc_attr( 'variation_preset_' . $pdc_pod_variation_id ); ?>" 63 class="pdc_variation_preset_select js-pdc-preset-list-<?php echo esc_attr( $pdc_pod_variation_id ); ?>" 64 name="<?php echo esc_attr( $pdc_pod_preset_input_name ); ?>" 65 data-current-value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>" 66 value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>"> 67 <?php require plugin_dir_path( __FILE__ ) . PDC_POD_NAME . '-admin-preset-select.php'; ?> 68 </select> 69 </span> 70 </p> 47 71 48 <?php 49 $pdc_pod_pdf_url = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_pdf_url, true ); 50 $pdc_pod_button_field_id = PDC_POD_NAME . '_' . $pdc_pod_variation_id . '_upload_id'; 51 $pdc_pod_file_field_id = PDC_POD_NAME . '_' . $pdc_pod_variation_id . '_pdf_url'; 52 ?> 53 <p class="form-row form-field _pdc_editable_field"> 54 <label for="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>"><?php esc_html_e( 'PDF', 'pdc-pod' ); ?></label> 55 <span class="woocommerce-help-tip" tabindex="0" aria-label="<?php echo esc_attr__( 'Enter a URL or select a file which belongs to this variant. This file will be the design which the customer will order.', 'pdc-pod' ); ?>"></span> 56 <span class="form-flex-box"> 57 <input type="text" class="input_text" id="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>" placeholder="<?php esc_attr_e( 'http://', 'pdc-pod' ); ?>" name="<?php echo esc_attr( $pdc_pod_meta_key_pdf_url ); ?>[<?php echo esc_attr( $pdc_pod_index ); ?>]" value="<?php echo esc_attr( $pdc_pod_pdf_url ); ?>" /> 58 <a 59 href="#" 60 data-pdc-variation-file-field="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>" 61 data-choose="<?php esc_attr_e( 'Choose file', 'pdc-pod' ); ?>" 62 data-update="<?php esc_attr_e( 'Insert file URL', 'pdc-pod' ); ?>" 63 class="button pdc-pod-js-upload-custom-file-btn" 64 id="<?php echo esc_attr( $pdc_pod_button_field_id ); ?>"> 65 <?php echo esc_html__( 'Choose file', 'pdc-pod' ); ?> 66 </a> 67 </span> 68 </p> 69 </div> 72 <?php 73 $pdc_pod_pdf_url = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_pdf_url, true ); 74 $pdc_pod_button_field_id = PDC_POD_NAME . '_' . $pdc_pod_variation_id . '_upload_id'; 75 $pdc_pod_file_field_id = PDC_POD_NAME . '_' . $pdc_pod_variation_id . '_pdf_url'; 76 ?> 77 <p class="form-row form-field _pdc_editable_field"> 78 <label for="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>"><?php esc_html_e( 'PDF', 'pdc-pod' ); ?></label> 79 <span class="woocommerce-help-tip" tabindex="0" aria-label="<?php echo esc_attr__( 'Enter a URL or select a file which belongs to this variant. This file will be the design which the customer will order.', 'pdc-pod' ); ?>"></span> 80 <span class="form-flex-box"> 81 <input type="text" class="input_text" id="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>" placeholder="<?php esc_attr_e( 'http://', 'pdc-pod' ); ?>" name="<?php echo esc_attr( $pdc_pod_meta_key_pdf_url ); ?>[<?php echo esc_attr( $pdc_pod_index ); ?>]" value="<?php echo esc_attr( $pdc_pod_pdf_url ); ?>" /> 82 <a 83 href="#" 84 data-pdc-variation-file-field="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>" 85 data-choose="<?php esc_attr_e( 'Choose file', 'pdc-pod' ); ?>" 86 data-update="<?php esc_attr_e( 'Insert file URL', 'pdc-pod' ); ?>" 87 class="button pdc-pod-js-upload-custom-file-btn" 88 id="<?php echo esc_attr( $pdc_pod_button_field_id ); ?>"> 89 <?php echo esc_html__( 'Choose file', 'pdc-pod' ); ?> 90 </a> 91 </span> 92 </p> 70 93 </div> 71 <?php } else { ?> 72 <div> 73 <p><?php esc_html_e( 'Please connect a Print.com product to this WooCommerce product first.', 'pdc-pod' ); ?></p> 74 </div> 75 <?php } ?> 94 </div> -
pdc-pod/tags/1.1.0/composer.json
r3421416 r3472718 16 16 } 17 17 ], 18 "require": {},19 18 "require-dev": { 19 "10up/wp_mock": "^1.1", 20 "dealerdirect/phpcodesniffer-composer-installer": "^1.0", 21 "phpunit/phpunit": "^9.6", 20 22 "squizlabs/php_codesniffer": "^3.10", 21 " dealerdirect/phpcodesniffer-composer-installer": "^1.0",22 " wp-coding-standards/wpcs": "^3.1"23 "wp-coding-standards/wpcs": "^3.1", 24 "yoast/phpunit-polyfills": "^2.0" 23 25 }, 24 26 "scripts": { 25 27 "lint": "bin/lint", 26 "lint:fix": "bin/lint-fix" 28 "lint:fix": "bin/lint-fix", 29 "test": "phpunit" 27 30 }, 28 31 "config": { -
pdc-pod/tags/1.1.0/composer.lock
r3421416 r3472718 5 5 "This file is @generated automatically" 6 6 ], 7 "content-hash": "1 b13724ea450b9c3f5569077597a2591",7 "content-hash": "15d9451d6f2ee251b5fd61c0ba6088c9", 8 8 "packages": [], 9 9 "packages-dev": [ 10 { 11 "name": "10up/wp_mock", 12 "version": "1.1.0", 13 "source": { 14 "type": "git", 15 "url": "https://github.com/10up/wp_mock.git", 16 "reference": "f25b5895ed31bf5e7036fe0c666664364ae011c2" 17 }, 18 "dist": { 19 "type": "zip", 20 "url": "https://api.github.com/repos/10up/wp_mock/zipball/f25b5895ed31bf5e7036fe0c666664364ae011c2", 21 "reference": "f25b5895ed31bf5e7036fe0c666664364ae011c2", 22 "shasum": "" 23 }, 24 "require": { 25 "antecedent/patchwork": "^2.1", 26 "mockery/mockery": "^1.6", 27 "php": ">=7.4 < 9", 28 "phpunit/phpunit": "^9.6" 29 }, 30 "require-dev": { 31 "behat/behat": "^v3.11.0", 32 "dealerdirect/phpcodesniffer-composer-installer": "^0.7", 33 "friendsofphp/php-cs-fixer": "^3.4", 34 "php-coveralls/php-coveralls": "^v2.7", 35 "php-stubs/wordpress-globals": "^0.2", 36 "php-stubs/wordpress-stubs": "^6.3", 37 "phpcompatibility/php-compatibility": "^9.3", 38 "phpstan/phpstan": "^1.10", 39 "phpstan/phpstan-mockery": "^1.1", 40 "phpstan/phpstan-phpunit": "^1.3", 41 "sebastian/comparator": "^4.0.8", 42 "sempro/phpunit-pretty-print": "^1.4" 43 }, 44 "type": "library", 45 "autoload": { 46 "psr-4": { 47 "WP_Mock\\": "./php/WP_Mock" 48 }, 49 "classmap": [ 50 "php/WP_Mock.php" 51 ] 52 }, 53 "notification-url": "https://packagist.org/downloads/", 54 "license": [ 55 "BSD-3-Clause" 56 ], 57 "description": "A mocking library to take the pain out of unit testing for WordPress", 58 "support": { 59 "issues": "https://github.com/10up/wp_mock/issues", 60 "source": "https://github.com/10up/wp_mock/tree/1.1.0" 61 }, 62 "time": "2025-03-12T00:36:13+00:00" 63 }, 64 { 65 "name": "antecedent/patchwork", 66 "version": "2.2.3", 67 "source": { 68 "type": "git", 69 "url": "https://github.com/antecedent/patchwork.git", 70 "reference": "8b6b235f405af175259c8f56aea5fc23ab9f03ce" 71 }, 72 "dist": { 73 "type": "zip", 74 "url": "https://api.github.com/repos/antecedent/patchwork/zipball/8b6b235f405af175259c8f56aea5fc23ab9f03ce", 75 "reference": "8b6b235f405af175259c8f56aea5fc23ab9f03ce", 76 "shasum": "" 77 }, 78 "require": { 79 "php": ">=7.1.0" 80 }, 81 "require-dev": { 82 "phpunit/phpunit": ">=4" 83 }, 84 "type": "library", 85 "notification-url": "https://packagist.org/downloads/", 86 "license": [ 87 "MIT" 88 ], 89 "authors": [ 90 { 91 "name": "Ignas Rudaitis", 92 "email": "ignas.rudaitis@gmail.com" 93 } 94 ], 95 "description": "Method redefinition (monkey-patching) functionality for PHP.", 96 "homepage": "https://antecedent.github.io/patchwork/", 97 "keywords": [ 98 "aop", 99 "aspect", 100 "interception", 101 "monkeypatching", 102 "redefinition", 103 "runkit", 104 "testing" 105 ], 106 "support": { 107 "issues": "https://github.com/antecedent/patchwork/issues", 108 "source": "https://github.com/antecedent/patchwork/tree/2.2.3" 109 }, 110 "time": "2025-09-17T09:00:56+00:00" 111 }, 10 112 { 11 113 "name": "dealerdirect/phpcodesniffer-composer-installer", … … 105 207 }, 106 208 { 209 "name": "doctrine/instantiator", 210 "version": "1.5.0", 211 "source": { 212 "type": "git", 213 "url": "https://github.com/doctrine/instantiator.git", 214 "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" 215 }, 216 "dist": { 217 "type": "zip", 218 "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", 219 "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", 220 "shasum": "" 221 }, 222 "require": { 223 "php": "^7.1 || ^8.0" 224 }, 225 "require-dev": { 226 "doctrine/coding-standard": "^9 || ^11", 227 "ext-pdo": "*", 228 "ext-phar": "*", 229 "phpbench/phpbench": "^0.16 || ^1", 230 "phpstan/phpstan": "^1.4", 231 "phpstan/phpstan-phpunit": "^1", 232 "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", 233 "vimeo/psalm": "^4.30 || ^5.4" 234 }, 235 "type": "library", 236 "autoload": { 237 "psr-4": { 238 "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 239 } 240 }, 241 "notification-url": "https://packagist.org/downloads/", 242 "license": [ 243 "MIT" 244 ], 245 "authors": [ 246 { 247 "name": "Marco Pivetta", 248 "email": "ocramius@gmail.com", 249 "homepage": "https://ocramius.github.io/" 250 } 251 ], 252 "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 253 "homepage": "https://www.doctrine-project.org/projects/instantiator.html", 254 "keywords": [ 255 "constructor", 256 "instantiate" 257 ], 258 "support": { 259 "issues": "https://github.com/doctrine/instantiator/issues", 260 "source": "https://github.com/doctrine/instantiator/tree/1.5.0" 261 }, 262 "funding": [ 263 { 264 "url": "https://www.doctrine-project.org/sponsorship.html", 265 "type": "custom" 266 }, 267 { 268 "url": "https://www.patreon.com/phpdoctrine", 269 "type": "patreon" 270 }, 271 { 272 "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", 273 "type": "tidelift" 274 } 275 ], 276 "time": "2022-12-30T00:15:36+00:00" 277 }, 278 { 279 "name": "hamcrest/hamcrest-php", 280 "version": "v2.1.1", 281 "source": { 282 "type": "git", 283 "url": "https://github.com/hamcrest/hamcrest-php.git", 284 "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" 285 }, 286 "dist": { 287 "type": "zip", 288 "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", 289 "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", 290 "shasum": "" 291 }, 292 "require": { 293 "php": "^7.4|^8.0" 294 }, 295 "replace": { 296 "cordoval/hamcrest-php": "*", 297 "davedevelopment/hamcrest-php": "*", 298 "kodova/hamcrest-php": "*" 299 }, 300 "require-dev": { 301 "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", 302 "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" 303 }, 304 "type": "library", 305 "extra": { 306 "branch-alias": { 307 "dev-master": "2.1-dev" 308 } 309 }, 310 "autoload": { 311 "classmap": [ 312 "hamcrest" 313 ] 314 }, 315 "notification-url": "https://packagist.org/downloads/", 316 "license": [ 317 "BSD-3-Clause" 318 ], 319 "description": "This is the PHP port of Hamcrest Matchers", 320 "keywords": [ 321 "test" 322 ], 323 "support": { 324 "issues": "https://github.com/hamcrest/hamcrest-php/issues", 325 "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" 326 }, 327 "time": "2025-04-30T06:54:44+00:00" 328 }, 329 { 330 "name": "mockery/mockery", 331 "version": "1.6.12", 332 "source": { 333 "type": "git", 334 "url": "https://github.com/mockery/mockery.git", 335 "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" 336 }, 337 "dist": { 338 "type": "zip", 339 "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", 340 "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", 341 "shasum": "" 342 }, 343 "require": { 344 "hamcrest/hamcrest-php": "^2.0.1", 345 "lib-pcre": ">=7.0", 346 "php": ">=7.3" 347 }, 348 "conflict": { 349 "phpunit/phpunit": "<8.0" 350 }, 351 "require-dev": { 352 "phpunit/phpunit": "^8.5 || ^9.6.17", 353 "symplify/easy-coding-standard": "^12.1.14" 354 }, 355 "type": "library", 356 "autoload": { 357 "files": [ 358 "library/helpers.php", 359 "library/Mockery.php" 360 ], 361 "psr-4": { 362 "Mockery\\": "library/Mockery" 363 } 364 }, 365 "notification-url": "https://packagist.org/downloads/", 366 "license": [ 367 "BSD-3-Clause" 368 ], 369 "authors": [ 370 { 371 "name": "Pádraic Brady", 372 "email": "padraic.brady@gmail.com", 373 "homepage": "https://github.com/padraic", 374 "role": "Author" 375 }, 376 { 377 "name": "Dave Marshall", 378 "email": "dave.marshall@atstsolutions.co.uk", 379 "homepage": "https://davedevelopment.co.uk", 380 "role": "Developer" 381 }, 382 { 383 "name": "Nathanael Esayeas", 384 "email": "nathanael.esayeas@protonmail.com", 385 "homepage": "https://github.com/ghostwriter", 386 "role": "Lead Developer" 387 } 388 ], 389 "description": "Mockery is a simple yet flexible PHP mock object framework", 390 "homepage": "https://github.com/mockery/mockery", 391 "keywords": [ 392 "BDD", 393 "TDD", 394 "library", 395 "mock", 396 "mock objects", 397 "mockery", 398 "stub", 399 "test", 400 "test double", 401 "testing" 402 ], 403 "support": { 404 "docs": "https://docs.mockery.io/", 405 "issues": "https://github.com/mockery/mockery/issues", 406 "rss": "https://github.com/mockery/mockery/releases.atom", 407 "security": "https://github.com/mockery/mockery/security/advisories", 408 "source": "https://github.com/mockery/mockery" 409 }, 410 "time": "2024-05-16T03:13:13+00:00" 411 }, 412 { 413 "name": "myclabs/deep-copy", 414 "version": "1.13.4", 415 "source": { 416 "type": "git", 417 "url": "https://github.com/myclabs/DeepCopy.git", 418 "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" 419 }, 420 "dist": { 421 "type": "zip", 422 "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", 423 "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", 424 "shasum": "" 425 }, 426 "require": { 427 "php": "^7.1 || ^8.0" 428 }, 429 "conflict": { 430 "doctrine/collections": "<1.6.8", 431 "doctrine/common": "<2.13.3 || >=3 <3.2.2" 432 }, 433 "require-dev": { 434 "doctrine/collections": "^1.6.8", 435 "doctrine/common": "^2.13.3 || ^3.2.2", 436 "phpspec/prophecy": "^1.10", 437 "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" 438 }, 439 "type": "library", 440 "autoload": { 441 "files": [ 442 "src/DeepCopy/deep_copy.php" 443 ], 444 "psr-4": { 445 "DeepCopy\\": "src/DeepCopy/" 446 } 447 }, 448 "notification-url": "https://packagist.org/downloads/", 449 "license": [ 450 "MIT" 451 ], 452 "description": "Create deep copies (clones) of your objects", 453 "keywords": [ 454 "clone", 455 "copy", 456 "duplicate", 457 "object", 458 "object graph" 459 ], 460 "support": { 461 "issues": "https://github.com/myclabs/DeepCopy/issues", 462 "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" 463 }, 464 "funding": [ 465 { 466 "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", 467 "type": "tidelift" 468 } 469 ], 470 "time": "2025-08-01T08:46:24+00:00" 471 }, 472 { 473 "name": "nikic/php-parser", 474 "version": "v5.7.0", 475 "source": { 476 "type": "git", 477 "url": "https://github.com/nikic/PHP-Parser.git", 478 "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" 479 }, 480 "dist": { 481 "type": "zip", 482 "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", 483 "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", 484 "shasum": "" 485 }, 486 "require": { 487 "ext-ctype": "*", 488 "ext-json": "*", 489 "ext-tokenizer": "*", 490 "php": ">=7.4" 491 }, 492 "require-dev": { 493 "ircmaxell/php-yacc": "^0.0.7", 494 "phpunit/phpunit": "^9.0" 495 }, 496 "bin": [ 497 "bin/php-parse" 498 ], 499 "type": "library", 500 "extra": { 501 "branch-alias": { 502 "dev-master": "5.x-dev" 503 } 504 }, 505 "autoload": { 506 "psr-4": { 507 "PhpParser\\": "lib/PhpParser" 508 } 509 }, 510 "notification-url": "https://packagist.org/downloads/", 511 "license": [ 512 "BSD-3-Clause" 513 ], 514 "authors": [ 515 { 516 "name": "Nikita Popov" 517 } 518 ], 519 "description": "A PHP parser written in PHP", 520 "keywords": [ 521 "parser", 522 "php" 523 ], 524 "support": { 525 "issues": "https://github.com/nikic/PHP-Parser/issues", 526 "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" 527 }, 528 "time": "2025-12-06T11:56:16+00:00" 529 }, 530 { 531 "name": "phar-io/manifest", 532 "version": "2.0.4", 533 "source": { 534 "type": "git", 535 "url": "https://github.com/phar-io/manifest.git", 536 "reference": "54750ef60c58e43759730615a392c31c80e23176" 537 }, 538 "dist": { 539 "type": "zip", 540 "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", 541 "reference": "54750ef60c58e43759730615a392c31c80e23176", 542 "shasum": "" 543 }, 544 "require": { 545 "ext-dom": "*", 546 "ext-libxml": "*", 547 "ext-phar": "*", 548 "ext-xmlwriter": "*", 549 "phar-io/version": "^3.0.1", 550 "php": "^7.2 || ^8.0" 551 }, 552 "type": "library", 553 "extra": { 554 "branch-alias": { 555 "dev-master": "2.0.x-dev" 556 } 557 }, 558 "autoload": { 559 "classmap": [ 560 "src/" 561 ] 562 }, 563 "notification-url": "https://packagist.org/downloads/", 564 "license": [ 565 "BSD-3-Clause" 566 ], 567 "authors": [ 568 { 569 "name": "Arne Blankerts", 570 "email": "arne@blankerts.de", 571 "role": "Developer" 572 }, 573 { 574 "name": "Sebastian Heuer", 575 "email": "sebastian@phpeople.de", 576 "role": "Developer" 577 }, 578 { 579 "name": "Sebastian Bergmann", 580 "email": "sebastian@phpunit.de", 581 "role": "Developer" 582 } 583 ], 584 "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 585 "support": { 586 "issues": "https://github.com/phar-io/manifest/issues", 587 "source": "https://github.com/phar-io/manifest/tree/2.0.4" 588 }, 589 "funding": [ 590 { 591 "url": "https://github.com/theseer", 592 "type": "github" 593 } 594 ], 595 "time": "2024-03-03T12:33:53+00:00" 596 }, 597 { 598 "name": "phar-io/version", 599 "version": "3.2.1", 600 "source": { 601 "type": "git", 602 "url": "https://github.com/phar-io/version.git", 603 "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" 604 }, 605 "dist": { 606 "type": "zip", 607 "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", 608 "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", 609 "shasum": "" 610 }, 611 "require": { 612 "php": "^7.2 || ^8.0" 613 }, 614 "type": "library", 615 "autoload": { 616 "classmap": [ 617 "src/" 618 ] 619 }, 620 "notification-url": "https://packagist.org/downloads/", 621 "license": [ 622 "BSD-3-Clause" 623 ], 624 "authors": [ 625 { 626 "name": "Arne Blankerts", 627 "email": "arne@blankerts.de", 628 "role": "Developer" 629 }, 630 { 631 "name": "Sebastian Heuer", 632 "email": "sebastian@phpeople.de", 633 "role": "Developer" 634 }, 635 { 636 "name": "Sebastian Bergmann", 637 "email": "sebastian@phpunit.de", 638 "role": "Developer" 639 } 640 ], 641 "description": "Library for handling version information and constraints", 642 "support": { 643 "issues": "https://github.com/phar-io/version/issues", 644 "source": "https://github.com/phar-io/version/tree/3.2.1" 645 }, 646 "time": "2022-02-21T01:04:05+00:00" 647 }, 648 { 107 649 "name": "phpcsstandards/phpcsextra", 108 650 "version": "1.4.0", … … 280 822 }, 281 823 { 824 "name": "phpunit/php-code-coverage", 825 "version": "9.2.32", 826 "source": { 827 "type": "git", 828 "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 829 "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" 830 }, 831 "dist": { 832 "type": "zip", 833 "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", 834 "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", 835 "shasum": "" 836 }, 837 "require": { 838 "ext-dom": "*", 839 "ext-libxml": "*", 840 "ext-xmlwriter": "*", 841 "nikic/php-parser": "^4.19.1 || ^5.1.0", 842 "php": ">=7.3", 843 "phpunit/php-file-iterator": "^3.0.6", 844 "phpunit/php-text-template": "^2.0.4", 845 "sebastian/code-unit-reverse-lookup": "^2.0.3", 846 "sebastian/complexity": "^2.0.3", 847 "sebastian/environment": "^5.1.5", 848 "sebastian/lines-of-code": "^1.0.4", 849 "sebastian/version": "^3.0.2", 850 "theseer/tokenizer": "^1.2.3" 851 }, 852 "require-dev": { 853 "phpunit/phpunit": "^9.6" 854 }, 855 "suggest": { 856 "ext-pcov": "PHP extension that provides line coverage", 857 "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" 858 }, 859 "type": "library", 860 "extra": { 861 "branch-alias": { 862 "dev-main": "9.2.x-dev" 863 } 864 }, 865 "autoload": { 866 "classmap": [ 867 "src/" 868 ] 869 }, 870 "notification-url": "https://packagist.org/downloads/", 871 "license": [ 872 "BSD-3-Clause" 873 ], 874 "authors": [ 875 { 876 "name": "Sebastian Bergmann", 877 "email": "sebastian@phpunit.de", 878 "role": "lead" 879 } 880 ], 881 "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 882 "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 883 "keywords": [ 884 "coverage", 885 "testing", 886 "xunit" 887 ], 888 "support": { 889 "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", 890 "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", 891 "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" 892 }, 893 "funding": [ 894 { 895 "url": "https://github.com/sebastianbergmann", 896 "type": "github" 897 } 898 ], 899 "time": "2024-08-22T04:23:01+00:00" 900 }, 901 { 902 "name": "phpunit/php-file-iterator", 903 "version": "3.0.6", 904 "source": { 905 "type": "git", 906 "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 907 "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" 908 }, 909 "dist": { 910 "type": "zip", 911 "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", 912 "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", 913 "shasum": "" 914 }, 915 "require": { 916 "php": ">=7.3" 917 }, 918 "require-dev": { 919 "phpunit/phpunit": "^9.3" 920 }, 921 "type": "library", 922 "extra": { 923 "branch-alias": { 924 "dev-master": "3.0-dev" 925 } 926 }, 927 "autoload": { 928 "classmap": [ 929 "src/" 930 ] 931 }, 932 "notification-url": "https://packagist.org/downloads/", 933 "license": [ 934 "BSD-3-Clause" 935 ], 936 "authors": [ 937 { 938 "name": "Sebastian Bergmann", 939 "email": "sebastian@phpunit.de", 940 "role": "lead" 941 } 942 ], 943 "description": "FilterIterator implementation that filters files based on a list of suffixes.", 944 "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 945 "keywords": [ 946 "filesystem", 947 "iterator" 948 ], 949 "support": { 950 "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", 951 "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" 952 }, 953 "funding": [ 954 { 955 "url": "https://github.com/sebastianbergmann", 956 "type": "github" 957 } 958 ], 959 "time": "2021-12-02T12:48:52+00:00" 960 }, 961 { 962 "name": "phpunit/php-invoker", 963 "version": "3.1.1", 964 "source": { 965 "type": "git", 966 "url": "https://github.com/sebastianbergmann/php-invoker.git", 967 "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" 968 }, 969 "dist": { 970 "type": "zip", 971 "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", 972 "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", 973 "shasum": "" 974 }, 975 "require": { 976 "php": ">=7.3" 977 }, 978 "require-dev": { 979 "ext-pcntl": "*", 980 "phpunit/phpunit": "^9.3" 981 }, 982 "suggest": { 983 "ext-pcntl": "*" 984 }, 985 "type": "library", 986 "extra": { 987 "branch-alias": { 988 "dev-master": "3.1-dev" 989 } 990 }, 991 "autoload": { 992 "classmap": [ 993 "src/" 994 ] 995 }, 996 "notification-url": "https://packagist.org/downloads/", 997 "license": [ 998 "BSD-3-Clause" 999 ], 1000 "authors": [ 1001 { 1002 "name": "Sebastian Bergmann", 1003 "email": "sebastian@phpunit.de", 1004 "role": "lead" 1005 } 1006 ], 1007 "description": "Invoke callables with a timeout", 1008 "homepage": "https://github.com/sebastianbergmann/php-invoker/", 1009 "keywords": [ 1010 "process" 1011 ], 1012 "support": { 1013 "issues": "https://github.com/sebastianbergmann/php-invoker/issues", 1014 "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" 1015 }, 1016 "funding": [ 1017 { 1018 "url": "https://github.com/sebastianbergmann", 1019 "type": "github" 1020 } 1021 ], 1022 "time": "2020-09-28T05:58:55+00:00" 1023 }, 1024 { 1025 "name": "phpunit/php-text-template", 1026 "version": "2.0.4", 1027 "source": { 1028 "type": "git", 1029 "url": "https://github.com/sebastianbergmann/php-text-template.git", 1030 "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" 1031 }, 1032 "dist": { 1033 "type": "zip", 1034 "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", 1035 "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", 1036 "shasum": "" 1037 }, 1038 "require": { 1039 "php": ">=7.3" 1040 }, 1041 "require-dev": { 1042 "phpunit/phpunit": "^9.3" 1043 }, 1044 "type": "library", 1045 "extra": { 1046 "branch-alias": { 1047 "dev-master": "2.0-dev" 1048 } 1049 }, 1050 "autoload": { 1051 "classmap": [ 1052 "src/" 1053 ] 1054 }, 1055 "notification-url": "https://packagist.org/downloads/", 1056 "license": [ 1057 "BSD-3-Clause" 1058 ], 1059 "authors": [ 1060 { 1061 "name": "Sebastian Bergmann", 1062 "email": "sebastian@phpunit.de", 1063 "role": "lead" 1064 } 1065 ], 1066 "description": "Simple template engine.", 1067 "homepage": "https://github.com/sebastianbergmann/php-text-template/", 1068 "keywords": [ 1069 "template" 1070 ], 1071 "support": { 1072 "issues": "https://github.com/sebastianbergmann/php-text-template/issues", 1073 "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" 1074 }, 1075 "funding": [ 1076 { 1077 "url": "https://github.com/sebastianbergmann", 1078 "type": "github" 1079 } 1080 ], 1081 "time": "2020-10-26T05:33:50+00:00" 1082 }, 1083 { 1084 "name": "phpunit/php-timer", 1085 "version": "5.0.3", 1086 "source": { 1087 "type": "git", 1088 "url": "https://github.com/sebastianbergmann/php-timer.git", 1089 "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" 1090 }, 1091 "dist": { 1092 "type": "zip", 1093 "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", 1094 "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", 1095 "shasum": "" 1096 }, 1097 "require": { 1098 "php": ">=7.3" 1099 }, 1100 "require-dev": { 1101 "phpunit/phpunit": "^9.3" 1102 }, 1103 "type": "library", 1104 "extra": { 1105 "branch-alias": { 1106 "dev-master": "5.0-dev" 1107 } 1108 }, 1109 "autoload": { 1110 "classmap": [ 1111 "src/" 1112 ] 1113 }, 1114 "notification-url": "https://packagist.org/downloads/", 1115 "license": [ 1116 "BSD-3-Clause" 1117 ], 1118 "authors": [ 1119 { 1120 "name": "Sebastian Bergmann", 1121 "email": "sebastian@phpunit.de", 1122 "role": "lead" 1123 } 1124 ], 1125 "description": "Utility class for timing", 1126 "homepage": "https://github.com/sebastianbergmann/php-timer/", 1127 "keywords": [ 1128 "timer" 1129 ], 1130 "support": { 1131 "issues": "https://github.com/sebastianbergmann/php-timer/issues", 1132 "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" 1133 }, 1134 "funding": [ 1135 { 1136 "url": "https://github.com/sebastianbergmann", 1137 "type": "github" 1138 } 1139 ], 1140 "time": "2020-10-26T13:16:10+00:00" 1141 }, 1142 { 1143 "name": "phpunit/phpunit", 1144 "version": "9.6.34", 1145 "source": { 1146 "type": "git", 1147 "url": "https://github.com/sebastianbergmann/phpunit.git", 1148 "reference": "b36f02317466907a230d3aa1d34467041271ef4a" 1149 }, 1150 "dist": { 1151 "type": "zip", 1152 "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b36f02317466907a230d3aa1d34467041271ef4a", 1153 "reference": "b36f02317466907a230d3aa1d34467041271ef4a", 1154 "shasum": "" 1155 }, 1156 "require": { 1157 "doctrine/instantiator": "^1.5.0 || ^2", 1158 "ext-dom": "*", 1159 "ext-json": "*", 1160 "ext-libxml": "*", 1161 "ext-mbstring": "*", 1162 "ext-xml": "*", 1163 "ext-xmlwriter": "*", 1164 "myclabs/deep-copy": "^1.13.4", 1165 "phar-io/manifest": "^2.0.4", 1166 "phar-io/version": "^3.2.1", 1167 "php": ">=7.3", 1168 "phpunit/php-code-coverage": "^9.2.32", 1169 "phpunit/php-file-iterator": "^3.0.6", 1170 "phpunit/php-invoker": "^3.1.1", 1171 "phpunit/php-text-template": "^2.0.4", 1172 "phpunit/php-timer": "^5.0.3", 1173 "sebastian/cli-parser": "^1.0.2", 1174 "sebastian/code-unit": "^1.0.8", 1175 "sebastian/comparator": "^4.0.10", 1176 "sebastian/diff": "^4.0.6", 1177 "sebastian/environment": "^5.1.5", 1178 "sebastian/exporter": "^4.0.8", 1179 "sebastian/global-state": "^5.0.8", 1180 "sebastian/object-enumerator": "^4.0.4", 1181 "sebastian/resource-operations": "^3.0.4", 1182 "sebastian/type": "^3.2.1", 1183 "sebastian/version": "^3.0.2" 1184 }, 1185 "suggest": { 1186 "ext-soap": "To be able to generate mocks based on WSDL files", 1187 "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" 1188 }, 1189 "bin": [ 1190 "phpunit" 1191 ], 1192 "type": "library", 1193 "extra": { 1194 "branch-alias": { 1195 "dev-master": "9.6-dev" 1196 } 1197 }, 1198 "autoload": { 1199 "files": [ 1200 "src/Framework/Assert/Functions.php" 1201 ], 1202 "classmap": [ 1203 "src/" 1204 ] 1205 }, 1206 "notification-url": "https://packagist.org/downloads/", 1207 "license": [ 1208 "BSD-3-Clause" 1209 ], 1210 "authors": [ 1211 { 1212 "name": "Sebastian Bergmann", 1213 "email": "sebastian@phpunit.de", 1214 "role": "lead" 1215 } 1216 ], 1217 "description": "The PHP Unit Testing framework.", 1218 "homepage": "https://phpunit.de/", 1219 "keywords": [ 1220 "phpunit", 1221 "testing", 1222 "xunit" 1223 ], 1224 "support": { 1225 "issues": "https://github.com/sebastianbergmann/phpunit/issues", 1226 "security": "https://github.com/sebastianbergmann/phpunit/security/policy", 1227 "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.34" 1228 }, 1229 "funding": [ 1230 { 1231 "url": "https://phpunit.de/sponsors.html", 1232 "type": "custom" 1233 }, 1234 { 1235 "url": "https://github.com/sebastianbergmann", 1236 "type": "github" 1237 }, 1238 { 1239 "url": "https://liberapay.com/sebastianbergmann", 1240 "type": "liberapay" 1241 }, 1242 { 1243 "url": "https://thanks.dev/u/gh/sebastianbergmann", 1244 "type": "thanks_dev" 1245 }, 1246 { 1247 "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", 1248 "type": "tidelift" 1249 } 1250 ], 1251 "time": "2026-01-27T05:45:00+00:00" 1252 }, 1253 { 1254 "name": "sebastian/cli-parser", 1255 "version": "1.0.2", 1256 "source": { 1257 "type": "git", 1258 "url": "https://github.com/sebastianbergmann/cli-parser.git", 1259 "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" 1260 }, 1261 "dist": { 1262 "type": "zip", 1263 "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", 1264 "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", 1265 "shasum": "" 1266 }, 1267 "require": { 1268 "php": ">=7.3" 1269 }, 1270 "require-dev": { 1271 "phpunit/phpunit": "^9.3" 1272 }, 1273 "type": "library", 1274 "extra": { 1275 "branch-alias": { 1276 "dev-master": "1.0-dev" 1277 } 1278 }, 1279 "autoload": { 1280 "classmap": [ 1281 "src/" 1282 ] 1283 }, 1284 "notification-url": "https://packagist.org/downloads/", 1285 "license": [ 1286 "BSD-3-Clause" 1287 ], 1288 "authors": [ 1289 { 1290 "name": "Sebastian Bergmann", 1291 "email": "sebastian@phpunit.de", 1292 "role": "lead" 1293 } 1294 ], 1295 "description": "Library for parsing CLI options", 1296 "homepage": "https://github.com/sebastianbergmann/cli-parser", 1297 "support": { 1298 "issues": "https://github.com/sebastianbergmann/cli-parser/issues", 1299 "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" 1300 }, 1301 "funding": [ 1302 { 1303 "url": "https://github.com/sebastianbergmann", 1304 "type": "github" 1305 } 1306 ], 1307 "time": "2024-03-02T06:27:43+00:00" 1308 }, 1309 { 1310 "name": "sebastian/code-unit", 1311 "version": "1.0.8", 1312 "source": { 1313 "type": "git", 1314 "url": "https://github.com/sebastianbergmann/code-unit.git", 1315 "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" 1316 }, 1317 "dist": { 1318 "type": "zip", 1319 "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", 1320 "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", 1321 "shasum": "" 1322 }, 1323 "require": { 1324 "php": ">=7.3" 1325 }, 1326 "require-dev": { 1327 "phpunit/phpunit": "^9.3" 1328 }, 1329 "type": "library", 1330 "extra": { 1331 "branch-alias": { 1332 "dev-master": "1.0-dev" 1333 } 1334 }, 1335 "autoload": { 1336 "classmap": [ 1337 "src/" 1338 ] 1339 }, 1340 "notification-url": "https://packagist.org/downloads/", 1341 "license": [ 1342 "BSD-3-Clause" 1343 ], 1344 "authors": [ 1345 { 1346 "name": "Sebastian Bergmann", 1347 "email": "sebastian@phpunit.de", 1348 "role": "lead" 1349 } 1350 ], 1351 "description": "Collection of value objects that represent the PHP code units", 1352 "homepage": "https://github.com/sebastianbergmann/code-unit", 1353 "support": { 1354 "issues": "https://github.com/sebastianbergmann/code-unit/issues", 1355 "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" 1356 }, 1357 "funding": [ 1358 { 1359 "url": "https://github.com/sebastianbergmann", 1360 "type": "github" 1361 } 1362 ], 1363 "time": "2020-10-26T13:08:54+00:00" 1364 }, 1365 { 1366 "name": "sebastian/code-unit-reverse-lookup", 1367 "version": "2.0.3", 1368 "source": { 1369 "type": "git", 1370 "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 1371 "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" 1372 }, 1373 "dist": { 1374 "type": "zip", 1375 "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", 1376 "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", 1377 "shasum": "" 1378 }, 1379 "require": { 1380 "php": ">=7.3" 1381 }, 1382 "require-dev": { 1383 "phpunit/phpunit": "^9.3" 1384 }, 1385 "type": "library", 1386 "extra": { 1387 "branch-alias": { 1388 "dev-master": "2.0-dev" 1389 } 1390 }, 1391 "autoload": { 1392 "classmap": [ 1393 "src/" 1394 ] 1395 }, 1396 "notification-url": "https://packagist.org/downloads/", 1397 "license": [ 1398 "BSD-3-Clause" 1399 ], 1400 "authors": [ 1401 { 1402 "name": "Sebastian Bergmann", 1403 "email": "sebastian@phpunit.de" 1404 } 1405 ], 1406 "description": "Looks up which function or method a line of code belongs to", 1407 "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 1408 "support": { 1409 "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", 1410 "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" 1411 }, 1412 "funding": [ 1413 { 1414 "url": "https://github.com/sebastianbergmann", 1415 "type": "github" 1416 } 1417 ], 1418 "time": "2020-09-28T05:30:19+00:00" 1419 }, 1420 { 1421 "name": "sebastian/comparator", 1422 "version": "4.0.10", 1423 "source": { 1424 "type": "git", 1425 "url": "https://github.com/sebastianbergmann/comparator.git", 1426 "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d" 1427 }, 1428 "dist": { 1429 "type": "zip", 1430 "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e4df00b9b3571187db2831ae9aada2c6efbd715d", 1431 "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d", 1432 "shasum": "" 1433 }, 1434 "require": { 1435 "php": ">=7.3", 1436 "sebastian/diff": "^4.0", 1437 "sebastian/exporter": "^4.0" 1438 }, 1439 "require-dev": { 1440 "phpunit/phpunit": "^9.3" 1441 }, 1442 "type": "library", 1443 "extra": { 1444 "branch-alias": { 1445 "dev-master": "4.0-dev" 1446 } 1447 }, 1448 "autoload": { 1449 "classmap": [ 1450 "src/" 1451 ] 1452 }, 1453 "notification-url": "https://packagist.org/downloads/", 1454 "license": [ 1455 "BSD-3-Clause" 1456 ], 1457 "authors": [ 1458 { 1459 "name": "Sebastian Bergmann", 1460 "email": "sebastian@phpunit.de" 1461 }, 1462 { 1463 "name": "Jeff Welch", 1464 "email": "whatthejeff@gmail.com" 1465 }, 1466 { 1467 "name": "Volker Dusch", 1468 "email": "github@wallbash.com" 1469 }, 1470 { 1471 "name": "Bernhard Schussek", 1472 "email": "bschussek@2bepublished.at" 1473 } 1474 ], 1475 "description": "Provides the functionality to compare PHP values for equality", 1476 "homepage": "https://github.com/sebastianbergmann/comparator", 1477 "keywords": [ 1478 "comparator", 1479 "compare", 1480 "equality" 1481 ], 1482 "support": { 1483 "issues": "https://github.com/sebastianbergmann/comparator/issues", 1484 "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.10" 1485 }, 1486 "funding": [ 1487 { 1488 "url": "https://github.com/sebastianbergmann", 1489 "type": "github" 1490 }, 1491 { 1492 "url": "https://liberapay.com/sebastianbergmann", 1493 "type": "liberapay" 1494 }, 1495 { 1496 "url": "https://thanks.dev/u/gh/sebastianbergmann", 1497 "type": "thanks_dev" 1498 }, 1499 { 1500 "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", 1501 "type": "tidelift" 1502 } 1503 ], 1504 "time": "2026-01-24T09:22:56+00:00" 1505 }, 1506 { 1507 "name": "sebastian/complexity", 1508 "version": "2.0.3", 1509 "source": { 1510 "type": "git", 1511 "url": "https://github.com/sebastianbergmann/complexity.git", 1512 "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" 1513 }, 1514 "dist": { 1515 "type": "zip", 1516 "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", 1517 "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", 1518 "shasum": "" 1519 }, 1520 "require": { 1521 "nikic/php-parser": "^4.18 || ^5.0", 1522 "php": ">=7.3" 1523 }, 1524 "require-dev": { 1525 "phpunit/phpunit": "^9.3" 1526 }, 1527 "type": "library", 1528 "extra": { 1529 "branch-alias": { 1530 "dev-master": "2.0-dev" 1531 } 1532 }, 1533 "autoload": { 1534 "classmap": [ 1535 "src/" 1536 ] 1537 }, 1538 "notification-url": "https://packagist.org/downloads/", 1539 "license": [ 1540 "BSD-3-Clause" 1541 ], 1542 "authors": [ 1543 { 1544 "name": "Sebastian Bergmann", 1545 "email": "sebastian@phpunit.de", 1546 "role": "lead" 1547 } 1548 ], 1549 "description": "Library for calculating the complexity of PHP code units", 1550 "homepage": "https://github.com/sebastianbergmann/complexity", 1551 "support": { 1552 "issues": "https://github.com/sebastianbergmann/complexity/issues", 1553 "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" 1554 }, 1555 "funding": [ 1556 { 1557 "url": "https://github.com/sebastianbergmann", 1558 "type": "github" 1559 } 1560 ], 1561 "time": "2023-12-22T06:19:30+00:00" 1562 }, 1563 { 1564 "name": "sebastian/diff", 1565 "version": "4.0.6", 1566 "source": { 1567 "type": "git", 1568 "url": "https://github.com/sebastianbergmann/diff.git", 1569 "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" 1570 }, 1571 "dist": { 1572 "type": "zip", 1573 "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", 1574 "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", 1575 "shasum": "" 1576 }, 1577 "require": { 1578 "php": ">=7.3" 1579 }, 1580 "require-dev": { 1581 "phpunit/phpunit": "^9.3", 1582 "symfony/process": "^4.2 || ^5" 1583 }, 1584 "type": "library", 1585 "extra": { 1586 "branch-alias": { 1587 "dev-master": "4.0-dev" 1588 } 1589 }, 1590 "autoload": { 1591 "classmap": [ 1592 "src/" 1593 ] 1594 }, 1595 "notification-url": "https://packagist.org/downloads/", 1596 "license": [ 1597 "BSD-3-Clause" 1598 ], 1599 "authors": [ 1600 { 1601 "name": "Sebastian Bergmann", 1602 "email": "sebastian@phpunit.de" 1603 }, 1604 { 1605 "name": "Kore Nordmann", 1606 "email": "mail@kore-nordmann.de" 1607 } 1608 ], 1609 "description": "Diff implementation", 1610 "homepage": "https://github.com/sebastianbergmann/diff", 1611 "keywords": [ 1612 "diff", 1613 "udiff", 1614 "unidiff", 1615 "unified diff" 1616 ], 1617 "support": { 1618 "issues": "https://github.com/sebastianbergmann/diff/issues", 1619 "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" 1620 }, 1621 "funding": [ 1622 { 1623 "url": "https://github.com/sebastianbergmann", 1624 "type": "github" 1625 } 1626 ], 1627 "time": "2024-03-02T06:30:58+00:00" 1628 }, 1629 { 1630 "name": "sebastian/environment", 1631 "version": "5.1.5", 1632 "source": { 1633 "type": "git", 1634 "url": "https://github.com/sebastianbergmann/environment.git", 1635 "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" 1636 }, 1637 "dist": { 1638 "type": "zip", 1639 "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", 1640 "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", 1641 "shasum": "" 1642 }, 1643 "require": { 1644 "php": ">=7.3" 1645 }, 1646 "require-dev": { 1647 "phpunit/phpunit": "^9.3" 1648 }, 1649 "suggest": { 1650 "ext-posix": "*" 1651 }, 1652 "type": "library", 1653 "extra": { 1654 "branch-alias": { 1655 "dev-master": "5.1-dev" 1656 } 1657 }, 1658 "autoload": { 1659 "classmap": [ 1660 "src/" 1661 ] 1662 }, 1663 "notification-url": "https://packagist.org/downloads/", 1664 "license": [ 1665 "BSD-3-Clause" 1666 ], 1667 "authors": [ 1668 { 1669 "name": "Sebastian Bergmann", 1670 "email": "sebastian@phpunit.de" 1671 } 1672 ], 1673 "description": "Provides functionality to handle HHVM/PHP environments", 1674 "homepage": "http://www.github.com/sebastianbergmann/environment", 1675 "keywords": [ 1676 "Xdebug", 1677 "environment", 1678 "hhvm" 1679 ], 1680 "support": { 1681 "issues": "https://github.com/sebastianbergmann/environment/issues", 1682 "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" 1683 }, 1684 "funding": [ 1685 { 1686 "url": "https://github.com/sebastianbergmann", 1687 "type": "github" 1688 } 1689 ], 1690 "time": "2023-02-03T06:03:51+00:00" 1691 }, 1692 { 1693 "name": "sebastian/exporter", 1694 "version": "4.0.8", 1695 "source": { 1696 "type": "git", 1697 "url": "https://github.com/sebastianbergmann/exporter.git", 1698 "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c" 1699 }, 1700 "dist": { 1701 "type": "zip", 1702 "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/14c6ba52f95a36c3d27c835d65efc7123c446e8c", 1703 "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c", 1704 "shasum": "" 1705 }, 1706 "require": { 1707 "php": ">=7.3", 1708 "sebastian/recursion-context": "^4.0" 1709 }, 1710 "require-dev": { 1711 "ext-mbstring": "*", 1712 "phpunit/phpunit": "^9.3" 1713 }, 1714 "type": "library", 1715 "extra": { 1716 "branch-alias": { 1717 "dev-master": "4.0-dev" 1718 } 1719 }, 1720 "autoload": { 1721 "classmap": [ 1722 "src/" 1723 ] 1724 }, 1725 "notification-url": "https://packagist.org/downloads/", 1726 "license": [ 1727 "BSD-3-Clause" 1728 ], 1729 "authors": [ 1730 { 1731 "name": "Sebastian Bergmann", 1732 "email": "sebastian@phpunit.de" 1733 }, 1734 { 1735 "name": "Jeff Welch", 1736 "email": "whatthejeff@gmail.com" 1737 }, 1738 { 1739 "name": "Volker Dusch", 1740 "email": "github@wallbash.com" 1741 }, 1742 { 1743 "name": "Adam Harvey", 1744 "email": "aharvey@php.net" 1745 }, 1746 { 1747 "name": "Bernhard Schussek", 1748 "email": "bschussek@gmail.com" 1749 } 1750 ], 1751 "description": "Provides the functionality to export PHP variables for visualization", 1752 "homepage": "https://www.github.com/sebastianbergmann/exporter", 1753 "keywords": [ 1754 "export", 1755 "exporter" 1756 ], 1757 "support": { 1758 "issues": "https://github.com/sebastianbergmann/exporter/issues", 1759 "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.8" 1760 }, 1761 "funding": [ 1762 { 1763 "url": "https://github.com/sebastianbergmann", 1764 "type": "github" 1765 }, 1766 { 1767 "url": "https://liberapay.com/sebastianbergmann", 1768 "type": "liberapay" 1769 }, 1770 { 1771 "url": "https://thanks.dev/u/gh/sebastianbergmann", 1772 "type": "thanks_dev" 1773 }, 1774 { 1775 "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", 1776 "type": "tidelift" 1777 } 1778 ], 1779 "time": "2025-09-24T06:03:27+00:00" 1780 }, 1781 { 1782 "name": "sebastian/global-state", 1783 "version": "5.0.8", 1784 "source": { 1785 "type": "git", 1786 "url": "https://github.com/sebastianbergmann/global-state.git", 1787 "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6" 1788 }, 1789 "dist": { 1790 "type": "zip", 1791 "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6", 1792 "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6", 1793 "shasum": "" 1794 }, 1795 "require": { 1796 "php": ">=7.3", 1797 "sebastian/object-reflector": "^2.0", 1798 "sebastian/recursion-context": "^4.0" 1799 }, 1800 "require-dev": { 1801 "ext-dom": "*", 1802 "phpunit/phpunit": "^9.3" 1803 }, 1804 "suggest": { 1805 "ext-uopz": "*" 1806 }, 1807 "type": "library", 1808 "extra": { 1809 "branch-alias": { 1810 "dev-master": "5.0-dev" 1811 } 1812 }, 1813 "autoload": { 1814 "classmap": [ 1815 "src/" 1816 ] 1817 }, 1818 "notification-url": "https://packagist.org/downloads/", 1819 "license": [ 1820 "BSD-3-Clause" 1821 ], 1822 "authors": [ 1823 { 1824 "name": "Sebastian Bergmann", 1825 "email": "sebastian@phpunit.de" 1826 } 1827 ], 1828 "description": "Snapshotting of global state", 1829 "homepage": "http://www.github.com/sebastianbergmann/global-state", 1830 "keywords": [ 1831 "global state" 1832 ], 1833 "support": { 1834 "issues": "https://github.com/sebastianbergmann/global-state/issues", 1835 "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8" 1836 }, 1837 "funding": [ 1838 { 1839 "url": "https://github.com/sebastianbergmann", 1840 "type": "github" 1841 }, 1842 { 1843 "url": "https://liberapay.com/sebastianbergmann", 1844 "type": "liberapay" 1845 }, 1846 { 1847 "url": "https://thanks.dev/u/gh/sebastianbergmann", 1848 "type": "thanks_dev" 1849 }, 1850 { 1851 "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", 1852 "type": "tidelift" 1853 } 1854 ], 1855 "time": "2025-08-10T07:10:35+00:00" 1856 }, 1857 { 1858 "name": "sebastian/lines-of-code", 1859 "version": "1.0.4", 1860 "source": { 1861 "type": "git", 1862 "url": "https://github.com/sebastianbergmann/lines-of-code.git", 1863 "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" 1864 }, 1865 "dist": { 1866 "type": "zip", 1867 "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", 1868 "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", 1869 "shasum": "" 1870 }, 1871 "require": { 1872 "nikic/php-parser": "^4.18 || ^5.0", 1873 "php": ">=7.3" 1874 }, 1875 "require-dev": { 1876 "phpunit/phpunit": "^9.3" 1877 }, 1878 "type": "library", 1879 "extra": { 1880 "branch-alias": { 1881 "dev-master": "1.0-dev" 1882 } 1883 }, 1884 "autoload": { 1885 "classmap": [ 1886 "src/" 1887 ] 1888 }, 1889 "notification-url": "https://packagist.org/downloads/", 1890 "license": [ 1891 "BSD-3-Clause" 1892 ], 1893 "authors": [ 1894 { 1895 "name": "Sebastian Bergmann", 1896 "email": "sebastian@phpunit.de", 1897 "role": "lead" 1898 } 1899 ], 1900 "description": "Library for counting the lines of code in PHP source code", 1901 "homepage": "https://github.com/sebastianbergmann/lines-of-code", 1902 "support": { 1903 "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", 1904 "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" 1905 }, 1906 "funding": [ 1907 { 1908 "url": "https://github.com/sebastianbergmann", 1909 "type": "github" 1910 } 1911 ], 1912 "time": "2023-12-22T06:20:34+00:00" 1913 }, 1914 { 1915 "name": "sebastian/object-enumerator", 1916 "version": "4.0.4", 1917 "source": { 1918 "type": "git", 1919 "url": "https://github.com/sebastianbergmann/object-enumerator.git", 1920 "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" 1921 }, 1922 "dist": { 1923 "type": "zip", 1924 "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", 1925 "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", 1926 "shasum": "" 1927 }, 1928 "require": { 1929 "php": ">=7.3", 1930 "sebastian/object-reflector": "^2.0", 1931 "sebastian/recursion-context": "^4.0" 1932 }, 1933 "require-dev": { 1934 "phpunit/phpunit": "^9.3" 1935 }, 1936 "type": "library", 1937 "extra": { 1938 "branch-alias": { 1939 "dev-master": "4.0-dev" 1940 } 1941 }, 1942 "autoload": { 1943 "classmap": [ 1944 "src/" 1945 ] 1946 }, 1947 "notification-url": "https://packagist.org/downloads/", 1948 "license": [ 1949 "BSD-3-Clause" 1950 ], 1951 "authors": [ 1952 { 1953 "name": "Sebastian Bergmann", 1954 "email": "sebastian@phpunit.de" 1955 } 1956 ], 1957 "description": "Traverses array structures and object graphs to enumerate all referenced objects", 1958 "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 1959 "support": { 1960 "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", 1961 "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" 1962 }, 1963 "funding": [ 1964 { 1965 "url": "https://github.com/sebastianbergmann", 1966 "type": "github" 1967 } 1968 ], 1969 "time": "2020-10-26T13:12:34+00:00" 1970 }, 1971 { 1972 "name": "sebastian/object-reflector", 1973 "version": "2.0.4", 1974 "source": { 1975 "type": "git", 1976 "url": "https://github.com/sebastianbergmann/object-reflector.git", 1977 "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" 1978 }, 1979 "dist": { 1980 "type": "zip", 1981 "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", 1982 "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", 1983 "shasum": "" 1984 }, 1985 "require": { 1986 "php": ">=7.3" 1987 }, 1988 "require-dev": { 1989 "phpunit/phpunit": "^9.3" 1990 }, 1991 "type": "library", 1992 "extra": { 1993 "branch-alias": { 1994 "dev-master": "2.0-dev" 1995 } 1996 }, 1997 "autoload": { 1998 "classmap": [ 1999 "src/" 2000 ] 2001 }, 2002 "notification-url": "https://packagist.org/downloads/", 2003 "license": [ 2004 "BSD-3-Clause" 2005 ], 2006 "authors": [ 2007 { 2008 "name": "Sebastian Bergmann", 2009 "email": "sebastian@phpunit.de" 2010 } 2011 ], 2012 "description": "Allows reflection of object attributes, including inherited and non-public ones", 2013 "homepage": "https://github.com/sebastianbergmann/object-reflector/", 2014 "support": { 2015 "issues": "https://github.com/sebastianbergmann/object-reflector/issues", 2016 "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" 2017 }, 2018 "funding": [ 2019 { 2020 "url": "https://github.com/sebastianbergmann", 2021 "type": "github" 2022 } 2023 ], 2024 "time": "2020-10-26T13:14:26+00:00" 2025 }, 2026 { 2027 "name": "sebastian/recursion-context", 2028 "version": "4.0.6", 2029 "source": { 2030 "type": "git", 2031 "url": "https://github.com/sebastianbergmann/recursion-context.git", 2032 "reference": "539c6691e0623af6dc6f9c20384c120f963465a0" 2033 }, 2034 "dist": { 2035 "type": "zip", 2036 "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0", 2037 "reference": "539c6691e0623af6dc6f9c20384c120f963465a0", 2038 "shasum": "" 2039 }, 2040 "require": { 2041 "php": ">=7.3" 2042 }, 2043 "require-dev": { 2044 "phpunit/phpunit": "^9.3" 2045 }, 2046 "type": "library", 2047 "extra": { 2048 "branch-alias": { 2049 "dev-master": "4.0-dev" 2050 } 2051 }, 2052 "autoload": { 2053 "classmap": [ 2054 "src/" 2055 ] 2056 }, 2057 "notification-url": "https://packagist.org/downloads/", 2058 "license": [ 2059 "BSD-3-Clause" 2060 ], 2061 "authors": [ 2062 { 2063 "name": "Sebastian Bergmann", 2064 "email": "sebastian@phpunit.de" 2065 }, 2066 { 2067 "name": "Jeff Welch", 2068 "email": "whatthejeff@gmail.com" 2069 }, 2070 { 2071 "name": "Adam Harvey", 2072 "email": "aharvey@php.net" 2073 } 2074 ], 2075 "description": "Provides functionality to recursively process PHP variables", 2076 "homepage": "https://github.com/sebastianbergmann/recursion-context", 2077 "support": { 2078 "issues": "https://github.com/sebastianbergmann/recursion-context/issues", 2079 "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.6" 2080 }, 2081 "funding": [ 2082 { 2083 "url": "https://github.com/sebastianbergmann", 2084 "type": "github" 2085 }, 2086 { 2087 "url": "https://liberapay.com/sebastianbergmann", 2088 "type": "liberapay" 2089 }, 2090 { 2091 "url": "https://thanks.dev/u/gh/sebastianbergmann", 2092 "type": "thanks_dev" 2093 }, 2094 { 2095 "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", 2096 "type": "tidelift" 2097 } 2098 ], 2099 "time": "2025-08-10T06:57:39+00:00" 2100 }, 2101 { 2102 "name": "sebastian/resource-operations", 2103 "version": "3.0.4", 2104 "source": { 2105 "type": "git", 2106 "url": "https://github.com/sebastianbergmann/resource-operations.git", 2107 "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" 2108 }, 2109 "dist": { 2110 "type": "zip", 2111 "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", 2112 "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", 2113 "shasum": "" 2114 }, 2115 "require": { 2116 "php": ">=7.3" 2117 }, 2118 "require-dev": { 2119 "phpunit/phpunit": "^9.0" 2120 }, 2121 "type": "library", 2122 "extra": { 2123 "branch-alias": { 2124 "dev-main": "3.0-dev" 2125 } 2126 }, 2127 "autoload": { 2128 "classmap": [ 2129 "src/" 2130 ] 2131 }, 2132 "notification-url": "https://packagist.org/downloads/", 2133 "license": [ 2134 "BSD-3-Clause" 2135 ], 2136 "authors": [ 2137 { 2138 "name": "Sebastian Bergmann", 2139 "email": "sebastian@phpunit.de" 2140 } 2141 ], 2142 "description": "Provides a list of PHP built-in functions that operate on resources", 2143 "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 2144 "support": { 2145 "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" 2146 }, 2147 "funding": [ 2148 { 2149 "url": "https://github.com/sebastianbergmann", 2150 "type": "github" 2151 } 2152 ], 2153 "time": "2024-03-14T16:00:52+00:00" 2154 }, 2155 { 2156 "name": "sebastian/type", 2157 "version": "3.2.1", 2158 "source": { 2159 "type": "git", 2160 "url": "https://github.com/sebastianbergmann/type.git", 2161 "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" 2162 }, 2163 "dist": { 2164 "type": "zip", 2165 "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", 2166 "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", 2167 "shasum": "" 2168 }, 2169 "require": { 2170 "php": ">=7.3" 2171 }, 2172 "require-dev": { 2173 "phpunit/phpunit": "^9.5" 2174 }, 2175 "type": "library", 2176 "extra": { 2177 "branch-alias": { 2178 "dev-master": "3.2-dev" 2179 } 2180 }, 2181 "autoload": { 2182 "classmap": [ 2183 "src/" 2184 ] 2185 }, 2186 "notification-url": "https://packagist.org/downloads/", 2187 "license": [ 2188 "BSD-3-Clause" 2189 ], 2190 "authors": [ 2191 { 2192 "name": "Sebastian Bergmann", 2193 "email": "sebastian@phpunit.de", 2194 "role": "lead" 2195 } 2196 ], 2197 "description": "Collection of value objects that represent the types of the PHP type system", 2198 "homepage": "https://github.com/sebastianbergmann/type", 2199 "support": { 2200 "issues": "https://github.com/sebastianbergmann/type/issues", 2201 "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" 2202 }, 2203 "funding": [ 2204 { 2205 "url": "https://github.com/sebastianbergmann", 2206 "type": "github" 2207 } 2208 ], 2209 "time": "2023-02-03T06:13:03+00:00" 2210 }, 2211 { 2212 "name": "sebastian/version", 2213 "version": "3.0.2", 2214 "source": { 2215 "type": "git", 2216 "url": "https://github.com/sebastianbergmann/version.git", 2217 "reference": "c6c1022351a901512170118436c764e473f6de8c" 2218 }, 2219 "dist": { 2220 "type": "zip", 2221 "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", 2222 "reference": "c6c1022351a901512170118436c764e473f6de8c", 2223 "shasum": "" 2224 }, 2225 "require": { 2226 "php": ">=7.3" 2227 }, 2228 "type": "library", 2229 "extra": { 2230 "branch-alias": { 2231 "dev-master": "3.0-dev" 2232 } 2233 }, 2234 "autoload": { 2235 "classmap": [ 2236 "src/" 2237 ] 2238 }, 2239 "notification-url": "https://packagist.org/downloads/", 2240 "license": [ 2241 "BSD-3-Clause" 2242 ], 2243 "authors": [ 2244 { 2245 "name": "Sebastian Bergmann", 2246 "email": "sebastian@phpunit.de", 2247 "role": "lead" 2248 } 2249 ], 2250 "description": "Library that helps with managing the version number of Git-hosted PHP projects", 2251 "homepage": "https://github.com/sebastianbergmann/version", 2252 "support": { 2253 "issues": "https://github.com/sebastianbergmann/version/issues", 2254 "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" 2255 }, 2256 "funding": [ 2257 { 2258 "url": "https://github.com/sebastianbergmann", 2259 "type": "github" 2260 } 2261 ], 2262 "time": "2020-09-28T06:39:44+00:00" 2263 }, 2264 { 282 2265 "name": "squizlabs/php_codesniffer", 283 2266 "version": "3.13.2", … … 362 2345 ], 363 2346 "time": "2025-06-17T22:17:01+00:00" 2347 }, 2348 { 2349 "name": "theseer/tokenizer", 2350 "version": "1.3.1", 2351 "source": { 2352 "type": "git", 2353 "url": "https://github.com/theseer/tokenizer.git", 2354 "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" 2355 }, 2356 "dist": { 2357 "type": "zip", 2358 "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", 2359 "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", 2360 "shasum": "" 2361 }, 2362 "require": { 2363 "ext-dom": "*", 2364 "ext-tokenizer": "*", 2365 "ext-xmlwriter": "*", 2366 "php": "^7.2 || ^8.0" 2367 }, 2368 "type": "library", 2369 "autoload": { 2370 "classmap": [ 2371 "src/" 2372 ] 2373 }, 2374 "notification-url": "https://packagist.org/downloads/", 2375 "license": [ 2376 "BSD-3-Clause" 2377 ], 2378 "authors": [ 2379 { 2380 "name": "Arne Blankerts", 2381 "email": "arne@blankerts.de", 2382 "role": "Developer" 2383 } 2384 ], 2385 "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 2386 "support": { 2387 "issues": "https://github.com/theseer/tokenizer/issues", 2388 "source": "https://github.com/theseer/tokenizer/tree/1.3.1" 2389 }, 2390 "funding": [ 2391 { 2392 "url": "https://github.com/theseer", 2393 "type": "github" 2394 } 2395 ], 2396 "time": "2025-11-17T20:03:58+00:00" 364 2397 }, 365 2398 { … … 428 2461 ], 429 2462 "time": "2025-07-24T20:08:31+00:00" 2463 }, 2464 { 2465 "name": "yoast/phpunit-polyfills", 2466 "version": "2.0.5", 2467 "source": { 2468 "type": "git", 2469 "url": "https://github.com/Yoast/PHPUnit-Polyfills.git", 2470 "reference": "1a6aecc9ebe4a9cea4e1047d0e6c496e52314c27" 2471 }, 2472 "dist": { 2473 "type": "zip", 2474 "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/1a6aecc9ebe4a9cea4e1047d0e6c496e52314c27", 2475 "reference": "1a6aecc9ebe4a9cea4e1047d0e6c496e52314c27", 2476 "shasum": "" 2477 }, 2478 "require": { 2479 "php": ">=5.6", 2480 "phpunit/phpunit": "^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0" 2481 }, 2482 "require-dev": { 2483 "php-parallel-lint/php-console-highlighter": "^1.0.0", 2484 "php-parallel-lint/php-parallel-lint": "^1.4.0", 2485 "yoast/yoastcs": "^3.2.0" 2486 }, 2487 "type": "library", 2488 "extra": { 2489 "branch-alias": { 2490 "dev-main": "4.x-dev" 2491 } 2492 }, 2493 "autoload": { 2494 "files": [ 2495 "phpunitpolyfills-autoload.php" 2496 ] 2497 }, 2498 "notification-url": "https://packagist.org/downloads/", 2499 "license": [ 2500 "BSD-3-Clause" 2501 ], 2502 "authors": [ 2503 { 2504 "name": "Team Yoast", 2505 "email": "support@yoast.com", 2506 "homepage": "https://yoast.com" 2507 }, 2508 { 2509 "name": "Contributors", 2510 "homepage": "https://github.com/Yoast/PHPUnit-Polyfills/graphs/contributors" 2511 } 2512 ], 2513 "description": "Set of polyfills for changed PHPUnit functionality to allow for creating PHPUnit cross-version compatible tests", 2514 "homepage": "https://github.com/Yoast/PHPUnit-Polyfills", 2515 "keywords": [ 2516 "phpunit", 2517 "polyfill", 2518 "testing" 2519 ], 2520 "support": { 2521 "issues": "https://github.com/Yoast/PHPUnit-Polyfills/issues", 2522 "security": "https://github.com/Yoast/PHPUnit-Polyfills/security/policy", 2523 "source": "https://github.com/Yoast/PHPUnit-Polyfills" 2524 }, 2525 "time": "2025-08-10T05:13:49+00:00" 430 2526 } 431 2527 ], … … 437 2533 "platform": {}, 438 2534 "platform-dev": {}, 439 "plugin-api-version": "2. 6.0"2535 "plugin-api-version": "2.9.0" 440 2536 } -
pdc-pod/tags/1.1.0/includes/Core.php
r3421416 r3472718 13 13 14 14 use PdcPod\Front\FrontCore; 15 use PdcPod\Admin\PrintDotCom\APIClient; 15 16 16 17 … … 137 138 private function define_admin_hooks() { 138 139 139 $plugin_admin = new \PdcPod\Admin\AdminCore( );140 $plugin_admin = new \PdcPod\Admin\AdminCore( new APIClient() ); 140 141 141 142 $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); -
pdc-pod/tags/1.1.0/pdc-pod.php
r3465930 r3472718 25 25 * Plugin URI: https://github.com/printdotcom/pdc-pod 26 26 * Description: Allows customers to configure, edit and purchase products via the Print.com API. 27 * Version: 1. 0.127 * Version: 1.1.0 28 28 * Author: Print.com 29 29 * Author URI: https://print.com … … 32 32 * Text Domain: pdc-pod 33 33 * Domain Path: /languages 34 * Requires Plugins: woocommerce 34 35 */ 35 36 … … 54 55 * @var string PDC_POD_VERSION Plugin version. 55 56 */ 56 define( 'PDC_POD_VERSION', '1. 0.1' );57 define( 'PDC_POD_VERSION', '1.1.0' ); 57 58 58 59 /** -
pdc-pod/tags/1.1.0/vendor/autoload.php
r3421416 r3472718 20 20 require_once __DIR__ . '/composer/autoload_real.php'; 21 21 22 return ComposerAutoloaderInit1 b13724ea450b9c3f5569077597a2591::getLoader();22 return ComposerAutoloaderInit15d9451d6f2ee251b5fd61c0ba6088c9::getLoader(); -
pdc-pod/tags/1.1.0/vendor/composer/autoload_real.php
r3421416 r3472718 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit1 b13724ea450b9c3f5569077597a25915 class ComposerAutoloaderInit15d9451d6f2ee251b5fd61c0ba6088c9 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit1 b13724ea450b9c3f5569077597a2591', 'loadClassLoader'), true, true);25 spl_autoload_register(array('ComposerAutoloaderInit15d9451d6f2ee251b5fd61c0ba6088c9', 'loadClassLoader'), true, true); 26 26 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 27 spl_autoload_unregister(array('ComposerAutoloaderInit1 b13724ea450b9c3f5569077597a2591', 'loadClassLoader'));27 spl_autoload_unregister(array('ComposerAutoloaderInit15d9451d6f2ee251b5fd61c0ba6088c9', 'loadClassLoader')); 28 28 29 29 require __DIR__ . '/autoload_static.php'; 30 call_user_func(\Composer\Autoload\ComposerStaticInit1 b13724ea450b9c3f5569077597a2591::getInitializer($loader));30 call_user_func(\Composer\Autoload\ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9::getInitializer($loader)); 31 31 32 32 $loader->register(true); -
pdc-pod/tags/1.1.0/vendor/composer/autoload_static.php
r3465930 r3472718 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit1 b13724ea450b9c3f5569077597a25917 class ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 46 46 { 47 47 return \Closure::bind(function () use ($loader) { 48 $loader->prefixLengthsPsr4 = ComposerStaticInit1 b13724ea450b9c3f5569077597a2591::$prefixLengthsPsr4;49 $loader->prefixDirsPsr4 = ComposerStaticInit1 b13724ea450b9c3f5569077597a2591::$prefixDirsPsr4;50 $loader->classMap = ComposerStaticInit1 b13724ea450b9c3f5569077597a2591::$classMap;48 $loader->prefixLengthsPsr4 = ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9::$prefixLengthsPsr4; 49 $loader->prefixDirsPsr4 = ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9::$prefixDirsPsr4; 50 $loader->classMap = ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9::$classMap; 51 51 52 52 }, null, ClassLoader::class); -
pdc-pod/tags/1.1.0/vendor/composer/installed.php
r3465930 r3472718 2 2 'root' => array( 3 3 'name' => 'printdotcom/pdc-pod', 4 'pretty_version' => '1. 0.1',5 'version' => '1. 0.1.0',6 'reference' => ' 48743b3372ead4f0271819dd9f411900aad57f34',4 'pretty_version' => '1.1.0', 5 'version' => '1.1.0.0', 6 'reference' => '96adc93385da83cf65ae618c57ff9a2101a05e35', 7 7 'type' => 'project', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'printdotcom/pdc-pod' => array( 14 'pretty_version' => '1. 0.1',15 'version' => '1. 0.1.0',16 'reference' => ' 48743b3372ead4f0271819dd9f411900aad57f34',14 'pretty_version' => '1.1.0', 15 'version' => '1.1.0.0', 16 'reference' => '96adc93385da83cf65ae618c57ff9a2101a05e35', 17 17 'type' => 'project', 18 18 'install_path' => __DIR__ . '/../../', -
pdc-pod/trunk/CHANGELOG.md
r3465930 r3472718 5 5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), 6 6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 8 ## [1.1.0] 9 10 ### Added 11 12 - select a sku within a variation 13 - added woocommerce as required plugin 14 - added knowledge base link in readme 7 15 8 16 ## [1.0.1] -
pdc-pod/trunk/README.md
r3465930 r3472718 103 103 - [WordPress Documentation Standards](https://developer.wordpress.org/coding-standards/inline-documentation-standards/) 104 104 - [Conventional Commits](https://www.conventionalcommits.org/) for commit messages 105 106 107 105 108 106 … … 198 196 ``` 199 197 198 ### Unit tests 199 200 Running automated unit tests via phpunit is possible through: 201 ```bash 202 bin/test-unit 203 ``` 204 200 205 ### Mock API 201 206 -
pdc-pod/trunk/README.txt
r3465930 r3472718 5 5 Requires at least: 3.4 6 6 Tested up to: 6.9 7 Stable tag: 1. 0.17 Stable tag: 1.1.0 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 10 11 11 12 Grow your business with Print.com! This plug-in will make it easy for you to connect your WooCommerce store … … 34 35 Unfortunately we cannot store prices as they change every week. This might be a feature that will be implemented. 35 36 37 === Where can I find more information? === 38 39 We have a more information in our knowledge base at https://knowledge.print.com/nl/helpcenter/solutions#print-on-demand-plugin-woocommerce. 40 36 41 == Changelog == 42 43 = 1.1.0 = 44 45 * feat: able to select a different sku within a variation 46 * added woocommerce as required plugin 37 47 38 48 = 1.0.1 = -
pdc-pod/trunk/admin/AdminCore.php
r3421416 r3472718 44 44 * Initialize the class and set its properties. 45 45 * 46 * @param APIClient $pdc_api_client 46 47 * @since 1.0.0 47 48 */ 48 public function __construct( ) {49 $this->pdc_client = new APIClient();49 public function __construct( $pdc_api_client ) { 50 $this->pdc_client = $pdc_api_client; 50 51 } 51 52 … … 759 760 $pdc_pod_index = isset( $index ) ? intval( $index ) : 0; 760 761 761 $pdc_pod_sku = get_post_meta( $pdc_pod_parent_id, $pdc_pod_meta_key_sku, true ); 762 $pdc_pod_preset_id = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_preset_id, true ); 762 $pdc_pod_parent_sku = get_post_meta( $pdc_pod_parent_id, $pdc_pod_meta_key_sku, true ); 763 $pdc_pod_variantion_sku = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_sku, true ); 764 $pdc_pod_sku = ! empty( $pdc_pod_variantion_sku ) ? $pdc_pod_variantion_sku : $pdc_pod_parent_sku; 765 $pdc_pod_preset_id = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_preset_id, true ); 766 767 $pdc_pod_products = $this->pdc_client->search_products(); 763 768 764 769 $pdc_pod_presets_for_sku = array(); … … 779 784 */ 780 785 public function save_variation_data_fields( $variation_id, $i ) { 781 782 786 $nonce = isset( $_POST[ PDC_POD_NAME . '_variations_nonce' . $i ] ) 783 787 ? sanitize_text_field( wp_unslash( $_POST[ PDC_POD_NAME . '_variations_nonce' . $i ] ) ) … … 789 793 790 794 $fields = array( 791 'pdf_url' => $this->get_meta_key( 'pdf_url' ), 792 'preset_id' => $this->get_meta_key( 'preset_id' ), 795 'pdf_url' => $this->get_meta_key( 'pdf_url' ), 796 'product_sku' => $this->get_meta_key( 'product_sku' ), 797 'preset_id' => $this->get_meta_key( 'preset_id' ), 793 798 ); 794 799 -
pdc-pod/trunk/admin/PrintDotCom/APIClient.php
r3465930 r3472718 48 48 */ 49 49 public function __construct() { 50 51 $env = get_option( PDC_POD_NAME . '-env' );52 53 // Allow environment variable override for testing.54 50 if ( getenv( 'PDC_POD_API_BASE_URL' ) ) { 55 51 $this->pdc_pod_api_base_url = getenv( 'PDC_POD_API_BASE_URL' ); 56 52 } else { 53 $env = get_option( PDC_POD_NAME . '-env' ); 57 54 $this->pdc_pod_api_base_url = ( 'prod' === $env ) ? 'https://api.print.com' : 'https://api.stg.print.com'; 58 55 } 59 60 // Allow environment variable override for testing.61 56 if ( getenv( 'PDC_POD_API_KEY' ) ) { 62 57 $this->pdc_pod_api_key = getenv( 'PDC_POD_API_KEY' ); -
pdc-pod/trunk/admin/js/pdc-pod-admin.js
r3421416 r3472718 190 190 // rehook dom elements when variations are loaded 191 191 $(document).on('woocommerce_variations_loaded', function onVariationsLoaded() { 192 loadPresetsForSKU();192 $('.js-pdc-product-selector').on('change', (e) => loadPresetsForSKU(e.target)); 193 193 $('.pdc-pod-js-upload-custom-file-btn').on('click', openMediaDialogFromProduct); 194 194 }); 195 195 196 async function loadPresetsForSKU( ) {197 const sku = $('#js-pdc-product-selector').val();196 async function loadPresetsForSKU(target) { 197 const sku = target.value; 198 198 if (!sku) return; 199 200 const productID = target.dataset.product_id; 201 const presetTargets = document.querySelectorAll(`.js-pdc-preset-list-${productID}`); 199 202 try { 200 203 const response = await fetch(`${PDC_POD_ADMIN.root}pdc/v1/products/${encodeURIComponent(sku)}/presets`, { … … 210 213 const presetOptionsHTML = payload?.html || ''; 211 214 212 // set options for main product 213 const presetSelectInput = document.getElementById('js-pdc-preset-list'); 214 setSelectedValue(presetSelectInput, presetOptionsHTML); 215 216 // set options for each variation 217 const variationPresetInputs = document.querySelectorAll('.pdc_variation_preset_select'); 218 variationPresetInputs.forEach((selectInput) => setSelectedValue(selectInput, presetOptionsHTML)); 215 presetTargets.forEach((selectInput) => setSelectedValue(selectInput, presetOptionsHTML)); 219 216 } catch (err) { 220 217 console.error('Failed to load presets', err); … … 229 226 230 227 $(document).ready(function () { 231 $('#js-pdc-product-selector').on('change', loadPresetsForSKU);228 $('#js-pdc-product-selector').on('change', (e) => loadPresetsForSKU(e.target)); 232 229 $('#pdc-product-file-upload').on('click', openMediaDialogFromOrder); 233 230 $('.pdc-pod-js-upload-custom-file-btn').on('click', openMediaDialogFromProduct); -
pdc-pod/trunk/admin/partials/pdc-pod-admin-producttab.php
r3421416 r3472718 33 33 id="js-pdc-product-selector" 34 34 data-testid="pdc-product-sku" 35 data-product_id="<?php echo $post->ID; ?>" 35 36 name="<?php echo esc_attr( $this->get_meta_key( 'product_sku' ) ); ?>" 36 37 value="<?php echo esc_attr( (string) $pdc_pod_sku ); ?>"> … … 44 45 <label for="pdc-presets-label"><?php esc_html_e( 'Print.com Preset', 'pdc-pod' ); ?></label> 45 46 <span class="pdc-ac-preset-list"> 46 <select id="js-pdc-preset-list" class="pdc_preset_select" name="<?php echo esc_attr( $preset_input_name ); ?>" data-testid="pdc-preset-id" data-current-value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>" value="<?php echo esc_attr( (string) $pdc_pod_preset_id ); ?>"> 47 <select 48 id="js-pdc-preset-list" 49 class="pdc_preset_select js-pdc-preset-list-<?php echo esc_attr( $post->ID ); ?>" 50 name="<?php echo esc_attr( $preset_input_name ); ?>" data-testid="pdc-preset-id" data-current-value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>" value="<?php echo esc_attr( (string) $pdc_pod_preset_id ); ?>"> 47 51 <?php require plugin_dir_path( __FILE__ ) . '/' . PDC_POD_NAME . '-admin-preset-select.php'; ?> 48 52 </select> -
pdc-pod/trunk/admin/partials/pdc-pod-admin-variation-data.php
r3421416 r3472718 21 21 * @global WP_Post $post Global post object. 22 22 * 23 * @var $pdc_pod_products array 23 24 * @var $pdc_pod_variation_id int 24 25 * @var $pdc_pod_index int … … 26 27 */ 27 28 $pdc_pod_preset_input_name = $pdc_pod_meta_key_preset_id . '[' . $pdc_pod_index . ']'; 28 29 $pdc_pod_sku_input_name = $pdc_pod_meta_key_sku . '[' . $pdc_pod_index . ']'; 29 30 30 31 wp_nonce_field( … … 33 34 ); 34 35 ?> 35 <?php if ( ! empty( $pdc_pod_sku ) ) { ?> 36 <div class="form-row"> 37 <div class="options_group pdc_product_options" id="js-pdc-variant-<?php echo esc_attr( $pdc_pod_variation_id ); ?>"> 38 <p class="form-row form-field"> 39 <label><?php esc_html_e( 'Print.com Preset', 'pdc-pod' ); ?></label> 40 <span class="woocommerce-help-tip" tabindex="0" aria-label="<?php echo esc_attr__( 'Select a preset for this variant. When no preset is selected, it will use the default preset of this product.', 'pdc-pod' ); ?>"></span> 41 <span class="pdc-ac-preset-list"> 42 <select data-testid="<?php echo esc_attr( 'variation_preset_' . $pdc_pod_variation_id ); ?>" class="pdc_variation_preset_select" name="<?php echo esc_attr( $pdc_pod_preset_input_name ); ?>" data-current-value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>" value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>"> 43 <?php include plugin_dir_path( __FILE__ ) . '/' . PDC_POD_NAME . '-admin-preset-select.php'; ?> 44 </select> 45 </span> 46 </p> 36 <div class="form-row"> 37 <div class="options_group pdc_product_options" id="js-pdc-variant-<?php echo esc_attr( $pdc_pod_variation_id ); ?>"> 38 <p class="form-row form-field"> 39 <label for="js-pdc-variant-product-<?php echo esc_attr( $pdc_pod_variation_id ); ?>"><?php esc_html_e( 'Print.com SKU', 'pdc-pod' ); ?></label> 40 <select 41 class="js-pdc-product-selector" 42 data-product_id="<?php echo $pdc_pod_variation_id; ?>" 43 id="js-pdc-variant-product-<?php echo esc_attr( $pdc_pod_variation_id ); ?>" 44 data-testid="<?php echo esc_attr( 'variation_sku_' . $pdc_pod_variation_id ); ?>" 45 name="<?php echo esc_attr( $pdc_pod_sku_input_name ); ?>" 46 value="<?php echo esc_attr( (string) $pdc_pod_sku ); ?>"> 47 <option disabled selected value><?php esc_html_e( 'Choose a product', 'pdc-pod' ); ?></option> 48 <?php 49 foreach ( $pdc_pod_products as $pdc_pod ) { 50 $title = isset( $pdc_pod->title ) ? $pdc_pod->title : ''; 51 $sku = isset( $pdc_pod->sku ) ? $pdc_pod->sku : ''; 52 ?> 53 <option value="<?php echo esc_attr( $sku ); ?>" <?php selected( $sku, $pdc_pod_sku ); ?>><?php echo esc_attr( $title ); ?></option> 54 <?php } ?> 55 </select> 56 </p> 57 <p class="form-row form-field"> 58 <label><?php esc_html_e( 'Print.com Preset', 'pdc-pod' ); ?></label> 59 <span class="woocommerce-help-tip" tabindex="0" aria-label="<?php echo esc_attr__( 'Select a preset for this variant. When no preset is selected, it will use the default preset of this product.', 'pdc-pod' ); ?>"></span> 60 <span class="pdc-ac-preset-list"> 61 <select 62 data-testid="<?php echo esc_attr( 'variation_preset_' . $pdc_pod_variation_id ); ?>" 63 class="pdc_variation_preset_select js-pdc-preset-list-<?php echo esc_attr( $pdc_pod_variation_id ); ?>" 64 name="<?php echo esc_attr( $pdc_pod_preset_input_name ); ?>" 65 data-current-value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>" 66 value="<?php echo esc_attr( $pdc_pod_preset_id ); ?>"> 67 <?php require plugin_dir_path( __FILE__ ) . PDC_POD_NAME . '-admin-preset-select.php'; ?> 68 </select> 69 </span> 70 </p> 47 71 48 <?php 49 $pdc_pod_pdf_url = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_pdf_url, true ); 50 $pdc_pod_button_field_id = PDC_POD_NAME . '_' . $pdc_pod_variation_id . '_upload_id'; 51 $pdc_pod_file_field_id = PDC_POD_NAME . '_' . $pdc_pod_variation_id . '_pdf_url'; 52 ?> 53 <p class="form-row form-field _pdc_editable_field"> 54 <label for="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>"><?php esc_html_e( 'PDF', 'pdc-pod' ); ?></label> 55 <span class="woocommerce-help-tip" tabindex="0" aria-label="<?php echo esc_attr__( 'Enter a URL or select a file which belongs to this variant. This file will be the design which the customer will order.', 'pdc-pod' ); ?>"></span> 56 <span class="form-flex-box"> 57 <input type="text" class="input_text" id="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>" placeholder="<?php esc_attr_e( 'http://', 'pdc-pod' ); ?>" name="<?php echo esc_attr( $pdc_pod_meta_key_pdf_url ); ?>[<?php echo esc_attr( $pdc_pod_index ); ?>]" value="<?php echo esc_attr( $pdc_pod_pdf_url ); ?>" /> 58 <a 59 href="#" 60 data-pdc-variation-file-field="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>" 61 data-choose="<?php esc_attr_e( 'Choose file', 'pdc-pod' ); ?>" 62 data-update="<?php esc_attr_e( 'Insert file URL', 'pdc-pod' ); ?>" 63 class="button pdc-pod-js-upload-custom-file-btn" 64 id="<?php echo esc_attr( $pdc_pod_button_field_id ); ?>"> 65 <?php echo esc_html__( 'Choose file', 'pdc-pod' ); ?> 66 </a> 67 </span> 68 </p> 69 </div> 72 <?php 73 $pdc_pod_pdf_url = get_post_meta( $pdc_pod_variation_id, $pdc_pod_meta_key_pdf_url, true ); 74 $pdc_pod_button_field_id = PDC_POD_NAME . '_' . $pdc_pod_variation_id . '_upload_id'; 75 $pdc_pod_file_field_id = PDC_POD_NAME . '_' . $pdc_pod_variation_id . '_pdf_url'; 76 ?> 77 <p class="form-row form-field _pdc_editable_field"> 78 <label for="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>"><?php esc_html_e( 'PDF', 'pdc-pod' ); ?></label> 79 <span class="woocommerce-help-tip" tabindex="0" aria-label="<?php echo esc_attr__( 'Enter a URL or select a file which belongs to this variant. This file will be the design which the customer will order.', 'pdc-pod' ); ?>"></span> 80 <span class="form-flex-box"> 81 <input type="text" class="input_text" id="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>" placeholder="<?php esc_attr_e( 'http://', 'pdc-pod' ); ?>" name="<?php echo esc_attr( $pdc_pod_meta_key_pdf_url ); ?>[<?php echo esc_attr( $pdc_pod_index ); ?>]" value="<?php echo esc_attr( $pdc_pod_pdf_url ); ?>" /> 82 <a 83 href="#" 84 data-pdc-variation-file-field="<?php echo esc_attr( $pdc_pod_file_field_id ); ?>" 85 data-choose="<?php esc_attr_e( 'Choose file', 'pdc-pod' ); ?>" 86 data-update="<?php esc_attr_e( 'Insert file URL', 'pdc-pod' ); ?>" 87 class="button pdc-pod-js-upload-custom-file-btn" 88 id="<?php echo esc_attr( $pdc_pod_button_field_id ); ?>"> 89 <?php echo esc_html__( 'Choose file', 'pdc-pod' ); ?> 90 </a> 91 </span> 92 </p> 70 93 </div> 71 <?php } else { ?> 72 <div> 73 <p><?php esc_html_e( 'Please connect a Print.com product to this WooCommerce product first.', 'pdc-pod' ); ?></p> 74 </div> 75 <?php } ?> 94 </div> -
pdc-pod/trunk/composer.json
r3421416 r3472718 16 16 } 17 17 ], 18 "require": {},19 18 "require-dev": { 19 "10up/wp_mock": "^1.1", 20 "dealerdirect/phpcodesniffer-composer-installer": "^1.0", 21 "phpunit/phpunit": "^9.6", 20 22 "squizlabs/php_codesniffer": "^3.10", 21 " dealerdirect/phpcodesniffer-composer-installer": "^1.0",22 " wp-coding-standards/wpcs": "^3.1"23 "wp-coding-standards/wpcs": "^3.1", 24 "yoast/phpunit-polyfills": "^2.0" 23 25 }, 24 26 "scripts": { 25 27 "lint": "bin/lint", 26 "lint:fix": "bin/lint-fix" 28 "lint:fix": "bin/lint-fix", 29 "test": "phpunit" 27 30 }, 28 31 "config": { -
pdc-pod/trunk/composer.lock
r3421416 r3472718 5 5 "This file is @generated automatically" 6 6 ], 7 "content-hash": "1 b13724ea450b9c3f5569077597a2591",7 "content-hash": "15d9451d6f2ee251b5fd61c0ba6088c9", 8 8 "packages": [], 9 9 "packages-dev": [ 10 { 11 "name": "10up/wp_mock", 12 "version": "1.1.0", 13 "source": { 14 "type": "git", 15 "url": "https://github.com/10up/wp_mock.git", 16 "reference": "f25b5895ed31bf5e7036fe0c666664364ae011c2" 17 }, 18 "dist": { 19 "type": "zip", 20 "url": "https://api.github.com/repos/10up/wp_mock/zipball/f25b5895ed31bf5e7036fe0c666664364ae011c2", 21 "reference": "f25b5895ed31bf5e7036fe0c666664364ae011c2", 22 "shasum": "" 23 }, 24 "require": { 25 "antecedent/patchwork": "^2.1", 26 "mockery/mockery": "^1.6", 27 "php": ">=7.4 < 9", 28 "phpunit/phpunit": "^9.6" 29 }, 30 "require-dev": { 31 "behat/behat": "^v3.11.0", 32 "dealerdirect/phpcodesniffer-composer-installer": "^0.7", 33 "friendsofphp/php-cs-fixer": "^3.4", 34 "php-coveralls/php-coveralls": "^v2.7", 35 "php-stubs/wordpress-globals": "^0.2", 36 "php-stubs/wordpress-stubs": "^6.3", 37 "phpcompatibility/php-compatibility": "^9.3", 38 "phpstan/phpstan": "^1.10", 39 "phpstan/phpstan-mockery": "^1.1", 40 "phpstan/phpstan-phpunit": "^1.3", 41 "sebastian/comparator": "^4.0.8", 42 "sempro/phpunit-pretty-print": "^1.4" 43 }, 44 "type": "library", 45 "autoload": { 46 "psr-4": { 47 "WP_Mock\\": "./php/WP_Mock" 48 }, 49 "classmap": [ 50 "php/WP_Mock.php" 51 ] 52 }, 53 "notification-url": "https://packagist.org/downloads/", 54 "license": [ 55 "BSD-3-Clause" 56 ], 57 "description": "A mocking library to take the pain out of unit testing for WordPress", 58 "support": { 59 "issues": "https://github.com/10up/wp_mock/issues", 60 "source": "https://github.com/10up/wp_mock/tree/1.1.0" 61 }, 62 "time": "2025-03-12T00:36:13+00:00" 63 }, 64 { 65 "name": "antecedent/patchwork", 66 "version": "2.2.3", 67 "source": { 68 "type": "git", 69 "url": "https://github.com/antecedent/patchwork.git", 70 "reference": "8b6b235f405af175259c8f56aea5fc23ab9f03ce" 71 }, 72 "dist": { 73 "type": "zip", 74 "url": "https://api.github.com/repos/antecedent/patchwork/zipball/8b6b235f405af175259c8f56aea5fc23ab9f03ce", 75 "reference": "8b6b235f405af175259c8f56aea5fc23ab9f03ce", 76 "shasum": "" 77 }, 78 "require": { 79 "php": ">=7.1.0" 80 }, 81 "require-dev": { 82 "phpunit/phpunit": ">=4" 83 }, 84 "type": "library", 85 "notification-url": "https://packagist.org/downloads/", 86 "license": [ 87 "MIT" 88 ], 89 "authors": [ 90 { 91 "name": "Ignas Rudaitis", 92 "email": "ignas.rudaitis@gmail.com" 93 } 94 ], 95 "description": "Method redefinition (monkey-patching) functionality for PHP.", 96 "homepage": "https://antecedent.github.io/patchwork/", 97 "keywords": [ 98 "aop", 99 "aspect", 100 "interception", 101 "monkeypatching", 102 "redefinition", 103 "runkit", 104 "testing" 105 ], 106 "support": { 107 "issues": "https://github.com/antecedent/patchwork/issues", 108 "source": "https://github.com/antecedent/patchwork/tree/2.2.3" 109 }, 110 "time": "2025-09-17T09:00:56+00:00" 111 }, 10 112 { 11 113 "name": "dealerdirect/phpcodesniffer-composer-installer", … … 105 207 }, 106 208 { 209 "name": "doctrine/instantiator", 210 "version": "1.5.0", 211 "source": { 212 "type": "git", 213 "url": "https://github.com/doctrine/instantiator.git", 214 "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" 215 }, 216 "dist": { 217 "type": "zip", 218 "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", 219 "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", 220 "shasum": "" 221 }, 222 "require": { 223 "php": "^7.1 || ^8.0" 224 }, 225 "require-dev": { 226 "doctrine/coding-standard": "^9 || ^11", 227 "ext-pdo": "*", 228 "ext-phar": "*", 229 "phpbench/phpbench": "^0.16 || ^1", 230 "phpstan/phpstan": "^1.4", 231 "phpstan/phpstan-phpunit": "^1", 232 "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", 233 "vimeo/psalm": "^4.30 || ^5.4" 234 }, 235 "type": "library", 236 "autoload": { 237 "psr-4": { 238 "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 239 } 240 }, 241 "notification-url": "https://packagist.org/downloads/", 242 "license": [ 243 "MIT" 244 ], 245 "authors": [ 246 { 247 "name": "Marco Pivetta", 248 "email": "ocramius@gmail.com", 249 "homepage": "https://ocramius.github.io/" 250 } 251 ], 252 "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 253 "homepage": "https://www.doctrine-project.org/projects/instantiator.html", 254 "keywords": [ 255 "constructor", 256 "instantiate" 257 ], 258 "support": { 259 "issues": "https://github.com/doctrine/instantiator/issues", 260 "source": "https://github.com/doctrine/instantiator/tree/1.5.0" 261 }, 262 "funding": [ 263 { 264 "url": "https://www.doctrine-project.org/sponsorship.html", 265 "type": "custom" 266 }, 267 { 268 "url": "https://www.patreon.com/phpdoctrine", 269 "type": "patreon" 270 }, 271 { 272 "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", 273 "type": "tidelift" 274 } 275 ], 276 "time": "2022-12-30T00:15:36+00:00" 277 }, 278 { 279 "name": "hamcrest/hamcrest-php", 280 "version": "v2.1.1", 281 "source": { 282 "type": "git", 283 "url": "https://github.com/hamcrest/hamcrest-php.git", 284 "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" 285 }, 286 "dist": { 287 "type": "zip", 288 "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", 289 "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", 290 "shasum": "" 291 }, 292 "require": { 293 "php": "^7.4|^8.0" 294 }, 295 "replace": { 296 "cordoval/hamcrest-php": "*", 297 "davedevelopment/hamcrest-php": "*", 298 "kodova/hamcrest-php": "*" 299 }, 300 "require-dev": { 301 "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", 302 "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" 303 }, 304 "type": "library", 305 "extra": { 306 "branch-alias": { 307 "dev-master": "2.1-dev" 308 } 309 }, 310 "autoload": { 311 "classmap": [ 312 "hamcrest" 313 ] 314 }, 315 "notification-url": "https://packagist.org/downloads/", 316 "license": [ 317 "BSD-3-Clause" 318 ], 319 "description": "This is the PHP port of Hamcrest Matchers", 320 "keywords": [ 321 "test" 322 ], 323 "support": { 324 "issues": "https://github.com/hamcrest/hamcrest-php/issues", 325 "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" 326 }, 327 "time": "2025-04-30T06:54:44+00:00" 328 }, 329 { 330 "name": "mockery/mockery", 331 "version": "1.6.12", 332 "source": { 333 "type": "git", 334 "url": "https://github.com/mockery/mockery.git", 335 "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" 336 }, 337 "dist": { 338 "type": "zip", 339 "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", 340 "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", 341 "shasum": "" 342 }, 343 "require": { 344 "hamcrest/hamcrest-php": "^2.0.1", 345 "lib-pcre": ">=7.0", 346 "php": ">=7.3" 347 }, 348 "conflict": { 349 "phpunit/phpunit": "<8.0" 350 }, 351 "require-dev": { 352 "phpunit/phpunit": "^8.5 || ^9.6.17", 353 "symplify/easy-coding-standard": "^12.1.14" 354 }, 355 "type": "library", 356 "autoload": { 357 "files": [ 358 "library/helpers.php", 359 "library/Mockery.php" 360 ], 361 "psr-4": { 362 "Mockery\\": "library/Mockery" 363 } 364 }, 365 "notification-url": "https://packagist.org/downloads/", 366 "license": [ 367 "BSD-3-Clause" 368 ], 369 "authors": [ 370 { 371 "name": "Pádraic Brady", 372 "email": "padraic.brady@gmail.com", 373 "homepage": "https://github.com/padraic", 374 "role": "Author" 375 }, 376 { 377 "name": "Dave Marshall", 378 "email": "dave.marshall@atstsolutions.co.uk", 379 "homepage": "https://davedevelopment.co.uk", 380 "role": "Developer" 381 }, 382 { 383 "name": "Nathanael Esayeas", 384 "email": "nathanael.esayeas@protonmail.com", 385 "homepage": "https://github.com/ghostwriter", 386 "role": "Lead Developer" 387 } 388 ], 389 "description": "Mockery is a simple yet flexible PHP mock object framework", 390 "homepage": "https://github.com/mockery/mockery", 391 "keywords": [ 392 "BDD", 393 "TDD", 394 "library", 395 "mock", 396 "mock objects", 397 "mockery", 398 "stub", 399 "test", 400 "test double", 401 "testing" 402 ], 403 "support": { 404 "docs": "https://docs.mockery.io/", 405 "issues": "https://github.com/mockery/mockery/issues", 406 "rss": "https://github.com/mockery/mockery/releases.atom", 407 "security": "https://github.com/mockery/mockery/security/advisories", 408 "source": "https://github.com/mockery/mockery" 409 }, 410 "time": "2024-05-16T03:13:13+00:00" 411 }, 412 { 413 "name": "myclabs/deep-copy", 414 "version": "1.13.4", 415 "source": { 416 "type": "git", 417 "url": "https://github.com/myclabs/DeepCopy.git", 418 "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" 419 }, 420 "dist": { 421 "type": "zip", 422 "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", 423 "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", 424 "shasum": "" 425 }, 426 "require": { 427 "php": "^7.1 || ^8.0" 428 }, 429 "conflict": { 430 "doctrine/collections": "<1.6.8", 431 "doctrine/common": "<2.13.3 || >=3 <3.2.2" 432 }, 433 "require-dev": { 434 "doctrine/collections": "^1.6.8", 435 "doctrine/common": "^2.13.3 || ^3.2.2", 436 "phpspec/prophecy": "^1.10", 437 "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" 438 }, 439 "type": "library", 440 "autoload": { 441 "files": [ 442 "src/DeepCopy/deep_copy.php" 443 ], 444 "psr-4": { 445 "DeepCopy\\": "src/DeepCopy/" 446 } 447 }, 448 "notification-url": "https://packagist.org/downloads/", 449 "license": [ 450 "MIT" 451 ], 452 "description": "Create deep copies (clones) of your objects", 453 "keywords": [ 454 "clone", 455 "copy", 456 "duplicate", 457 "object", 458 "object graph" 459 ], 460 "support": { 461 "issues": "https://github.com/myclabs/DeepCopy/issues", 462 "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" 463 }, 464 "funding": [ 465 { 466 "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", 467 "type": "tidelift" 468 } 469 ], 470 "time": "2025-08-01T08:46:24+00:00" 471 }, 472 { 473 "name": "nikic/php-parser", 474 "version": "v5.7.0", 475 "source": { 476 "type": "git", 477 "url": "https://github.com/nikic/PHP-Parser.git", 478 "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" 479 }, 480 "dist": { 481 "type": "zip", 482 "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", 483 "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", 484 "shasum": "" 485 }, 486 "require": { 487 "ext-ctype": "*", 488 "ext-json": "*", 489 "ext-tokenizer": "*", 490 "php": ">=7.4" 491 }, 492 "require-dev": { 493 "ircmaxell/php-yacc": "^0.0.7", 494 "phpunit/phpunit": "^9.0" 495 }, 496 "bin": [ 497 "bin/php-parse" 498 ], 499 "type": "library", 500 "extra": { 501 "branch-alias": { 502 "dev-master": "5.x-dev" 503 } 504 }, 505 "autoload": { 506 "psr-4": { 507 "PhpParser\\": "lib/PhpParser" 508 } 509 }, 510 "notification-url": "https://packagist.org/downloads/", 511 "license": [ 512 "BSD-3-Clause" 513 ], 514 "authors": [ 515 { 516 "name": "Nikita Popov" 517 } 518 ], 519 "description": "A PHP parser written in PHP", 520 "keywords": [ 521 "parser", 522 "php" 523 ], 524 "support": { 525 "issues": "https://github.com/nikic/PHP-Parser/issues", 526 "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" 527 }, 528 "time": "2025-12-06T11:56:16+00:00" 529 }, 530 { 531 "name": "phar-io/manifest", 532 "version": "2.0.4", 533 "source": { 534 "type": "git", 535 "url": "https://github.com/phar-io/manifest.git", 536 "reference": "54750ef60c58e43759730615a392c31c80e23176" 537 }, 538 "dist": { 539 "type": "zip", 540 "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", 541 "reference": "54750ef60c58e43759730615a392c31c80e23176", 542 "shasum": "" 543 }, 544 "require": { 545 "ext-dom": "*", 546 "ext-libxml": "*", 547 "ext-phar": "*", 548 "ext-xmlwriter": "*", 549 "phar-io/version": "^3.0.1", 550 "php": "^7.2 || ^8.0" 551 }, 552 "type": "library", 553 "extra": { 554 "branch-alias": { 555 "dev-master": "2.0.x-dev" 556 } 557 }, 558 "autoload": { 559 "classmap": [ 560 "src/" 561 ] 562 }, 563 "notification-url": "https://packagist.org/downloads/", 564 "license": [ 565 "BSD-3-Clause" 566 ], 567 "authors": [ 568 { 569 "name": "Arne Blankerts", 570 "email": "arne@blankerts.de", 571 "role": "Developer" 572 }, 573 { 574 "name": "Sebastian Heuer", 575 "email": "sebastian@phpeople.de", 576 "role": "Developer" 577 }, 578 { 579 "name": "Sebastian Bergmann", 580 "email": "sebastian@phpunit.de", 581 "role": "Developer" 582 } 583 ], 584 "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 585 "support": { 586 "issues": "https://github.com/phar-io/manifest/issues", 587 "source": "https://github.com/phar-io/manifest/tree/2.0.4" 588 }, 589 "funding": [ 590 { 591 "url": "https://github.com/theseer", 592 "type": "github" 593 } 594 ], 595 "time": "2024-03-03T12:33:53+00:00" 596 }, 597 { 598 "name": "phar-io/version", 599 "version": "3.2.1", 600 "source": { 601 "type": "git", 602 "url": "https://github.com/phar-io/version.git", 603 "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" 604 }, 605 "dist": { 606 "type": "zip", 607 "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", 608 "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", 609 "shasum": "" 610 }, 611 "require": { 612 "php": "^7.2 || ^8.0" 613 }, 614 "type": "library", 615 "autoload": { 616 "classmap": [ 617 "src/" 618 ] 619 }, 620 "notification-url": "https://packagist.org/downloads/", 621 "license": [ 622 "BSD-3-Clause" 623 ], 624 "authors": [ 625 { 626 "name": "Arne Blankerts", 627 "email": "arne@blankerts.de", 628 "role": "Developer" 629 }, 630 { 631 "name": "Sebastian Heuer", 632 "email": "sebastian@phpeople.de", 633 "role": "Developer" 634 }, 635 { 636 "name": "Sebastian Bergmann", 637 "email": "sebastian@phpunit.de", 638 "role": "Developer" 639 } 640 ], 641 "description": "Library for handling version information and constraints", 642 "support": { 643 "issues": "https://github.com/phar-io/version/issues", 644 "source": "https://github.com/phar-io/version/tree/3.2.1" 645 }, 646 "time": "2022-02-21T01:04:05+00:00" 647 }, 648 { 107 649 "name": "phpcsstandards/phpcsextra", 108 650 "version": "1.4.0", … … 280 822 }, 281 823 { 824 "name": "phpunit/php-code-coverage", 825 "version": "9.2.32", 826 "source": { 827 "type": "git", 828 "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 829 "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" 830 }, 831 "dist": { 832 "type": "zip", 833 "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", 834 "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", 835 "shasum": "" 836 }, 837 "require": { 838 "ext-dom": "*", 839 "ext-libxml": "*", 840 "ext-xmlwriter": "*", 841 "nikic/php-parser": "^4.19.1 || ^5.1.0", 842 "php": ">=7.3", 843 "phpunit/php-file-iterator": "^3.0.6", 844 "phpunit/php-text-template": "^2.0.4", 845 "sebastian/code-unit-reverse-lookup": "^2.0.3", 846 "sebastian/complexity": "^2.0.3", 847 "sebastian/environment": "^5.1.5", 848 "sebastian/lines-of-code": "^1.0.4", 849 "sebastian/version": "^3.0.2", 850 "theseer/tokenizer": "^1.2.3" 851 }, 852 "require-dev": { 853 "phpunit/phpunit": "^9.6" 854 }, 855 "suggest": { 856 "ext-pcov": "PHP extension that provides line coverage", 857 "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" 858 }, 859 "type": "library", 860 "extra": { 861 "branch-alias": { 862 "dev-main": "9.2.x-dev" 863 } 864 }, 865 "autoload": { 866 "classmap": [ 867 "src/" 868 ] 869 }, 870 "notification-url": "https://packagist.org/downloads/", 871 "license": [ 872 "BSD-3-Clause" 873 ], 874 "authors": [ 875 { 876 "name": "Sebastian Bergmann", 877 "email": "sebastian@phpunit.de", 878 "role": "lead" 879 } 880 ], 881 "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 882 "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 883 "keywords": [ 884 "coverage", 885 "testing", 886 "xunit" 887 ], 888 "support": { 889 "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", 890 "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", 891 "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" 892 }, 893 "funding": [ 894 { 895 "url": "https://github.com/sebastianbergmann", 896 "type": "github" 897 } 898 ], 899 "time": "2024-08-22T04:23:01+00:00" 900 }, 901 { 902 "name": "phpunit/php-file-iterator", 903 "version": "3.0.6", 904 "source": { 905 "type": "git", 906 "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 907 "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" 908 }, 909 "dist": { 910 "type": "zip", 911 "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", 912 "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", 913 "shasum": "" 914 }, 915 "require": { 916 "php": ">=7.3" 917 }, 918 "require-dev": { 919 "phpunit/phpunit": "^9.3" 920 }, 921 "type": "library", 922 "extra": { 923 "branch-alias": { 924 "dev-master": "3.0-dev" 925 } 926 }, 927 "autoload": { 928 "classmap": [ 929 "src/" 930 ] 931 }, 932 "notification-url": "https://packagist.org/downloads/", 933 "license": [ 934 "BSD-3-Clause" 935 ], 936 "authors": [ 937 { 938 "name": "Sebastian Bergmann", 939 "email": "sebastian@phpunit.de", 940 "role": "lead" 941 } 942 ], 943 "description": "FilterIterator implementation that filters files based on a list of suffixes.", 944 "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 945 "keywords": [ 946 "filesystem", 947 "iterator" 948 ], 949 "support": { 950 "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", 951 "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" 952 }, 953 "funding": [ 954 { 955 "url": "https://github.com/sebastianbergmann", 956 "type": "github" 957 } 958 ], 959 "time": "2021-12-02T12:48:52+00:00" 960 }, 961 { 962 "name": "phpunit/php-invoker", 963 "version": "3.1.1", 964 "source": { 965 "type": "git", 966 "url": "https://github.com/sebastianbergmann/php-invoker.git", 967 "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" 968 }, 969 "dist": { 970 "type": "zip", 971 "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", 972 "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", 973 "shasum": "" 974 }, 975 "require": { 976 "php": ">=7.3" 977 }, 978 "require-dev": { 979 "ext-pcntl": "*", 980 "phpunit/phpunit": "^9.3" 981 }, 982 "suggest": { 983 "ext-pcntl": "*" 984 }, 985 "type": "library", 986 "extra": { 987 "branch-alias": { 988 "dev-master": "3.1-dev" 989 } 990 }, 991 "autoload": { 992 "classmap": [ 993 "src/" 994 ] 995 }, 996 "notification-url": "https://packagist.org/downloads/", 997 "license": [ 998 "BSD-3-Clause" 999 ], 1000 "authors": [ 1001 { 1002 "name": "Sebastian Bergmann", 1003 "email": "sebastian@phpunit.de", 1004 "role": "lead" 1005 } 1006 ], 1007 "description": "Invoke callables with a timeout", 1008 "homepage": "https://github.com/sebastianbergmann/php-invoker/", 1009 "keywords": [ 1010 "process" 1011 ], 1012 "support": { 1013 "issues": "https://github.com/sebastianbergmann/php-invoker/issues", 1014 "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" 1015 }, 1016 "funding": [ 1017 { 1018 "url": "https://github.com/sebastianbergmann", 1019 "type": "github" 1020 } 1021 ], 1022 "time": "2020-09-28T05:58:55+00:00" 1023 }, 1024 { 1025 "name": "phpunit/php-text-template", 1026 "version": "2.0.4", 1027 "source": { 1028 "type": "git", 1029 "url": "https://github.com/sebastianbergmann/php-text-template.git", 1030 "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" 1031 }, 1032 "dist": { 1033 "type": "zip", 1034 "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", 1035 "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", 1036 "shasum": "" 1037 }, 1038 "require": { 1039 "php": ">=7.3" 1040 }, 1041 "require-dev": { 1042 "phpunit/phpunit": "^9.3" 1043 }, 1044 "type": "library", 1045 "extra": { 1046 "branch-alias": { 1047 "dev-master": "2.0-dev" 1048 } 1049 }, 1050 "autoload": { 1051 "classmap": [ 1052 "src/" 1053 ] 1054 }, 1055 "notification-url": "https://packagist.org/downloads/", 1056 "license": [ 1057 "BSD-3-Clause" 1058 ], 1059 "authors": [ 1060 { 1061 "name": "Sebastian Bergmann", 1062 "email": "sebastian@phpunit.de", 1063 "role": "lead" 1064 } 1065 ], 1066 "description": "Simple template engine.", 1067 "homepage": "https://github.com/sebastianbergmann/php-text-template/", 1068 "keywords": [ 1069 "template" 1070 ], 1071 "support": { 1072 "issues": "https://github.com/sebastianbergmann/php-text-template/issues", 1073 "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" 1074 }, 1075 "funding": [ 1076 { 1077 "url": "https://github.com/sebastianbergmann", 1078 "type": "github" 1079 } 1080 ], 1081 "time": "2020-10-26T05:33:50+00:00" 1082 }, 1083 { 1084 "name": "phpunit/php-timer", 1085 "version": "5.0.3", 1086 "source": { 1087 "type": "git", 1088 "url": "https://github.com/sebastianbergmann/php-timer.git", 1089 "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" 1090 }, 1091 "dist": { 1092 "type": "zip", 1093 "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", 1094 "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", 1095 "shasum": "" 1096 }, 1097 "require": { 1098 "php": ">=7.3" 1099 }, 1100 "require-dev": { 1101 "phpunit/phpunit": "^9.3" 1102 }, 1103 "type": "library", 1104 "extra": { 1105 "branch-alias": { 1106 "dev-master": "5.0-dev" 1107 } 1108 }, 1109 "autoload": { 1110 "classmap": [ 1111 "src/" 1112 ] 1113 }, 1114 "notification-url": "https://packagist.org/downloads/", 1115 "license": [ 1116 "BSD-3-Clause" 1117 ], 1118 "authors": [ 1119 { 1120 "name": "Sebastian Bergmann", 1121 "email": "sebastian@phpunit.de", 1122 "role": "lead" 1123 } 1124 ], 1125 "description": "Utility class for timing", 1126 "homepage": "https://github.com/sebastianbergmann/php-timer/", 1127 "keywords": [ 1128 "timer" 1129 ], 1130 "support": { 1131 "issues": "https://github.com/sebastianbergmann/php-timer/issues", 1132 "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" 1133 }, 1134 "funding": [ 1135 { 1136 "url": "https://github.com/sebastianbergmann", 1137 "type": "github" 1138 } 1139 ], 1140 "time": "2020-10-26T13:16:10+00:00" 1141 }, 1142 { 1143 "name": "phpunit/phpunit", 1144 "version": "9.6.34", 1145 "source": { 1146 "type": "git", 1147 "url": "https://github.com/sebastianbergmann/phpunit.git", 1148 "reference": "b36f02317466907a230d3aa1d34467041271ef4a" 1149 }, 1150 "dist": { 1151 "type": "zip", 1152 "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b36f02317466907a230d3aa1d34467041271ef4a", 1153 "reference": "b36f02317466907a230d3aa1d34467041271ef4a", 1154 "shasum": "" 1155 }, 1156 "require": { 1157 "doctrine/instantiator": "^1.5.0 || ^2", 1158 "ext-dom": "*", 1159 "ext-json": "*", 1160 "ext-libxml": "*", 1161 "ext-mbstring": "*", 1162 "ext-xml": "*", 1163 "ext-xmlwriter": "*", 1164 "myclabs/deep-copy": "^1.13.4", 1165 "phar-io/manifest": "^2.0.4", 1166 "phar-io/version": "^3.2.1", 1167 "php": ">=7.3", 1168 "phpunit/php-code-coverage": "^9.2.32", 1169 "phpunit/php-file-iterator": "^3.0.6", 1170 "phpunit/php-invoker": "^3.1.1", 1171 "phpunit/php-text-template": "^2.0.4", 1172 "phpunit/php-timer": "^5.0.3", 1173 "sebastian/cli-parser": "^1.0.2", 1174 "sebastian/code-unit": "^1.0.8", 1175 "sebastian/comparator": "^4.0.10", 1176 "sebastian/diff": "^4.0.6", 1177 "sebastian/environment": "^5.1.5", 1178 "sebastian/exporter": "^4.0.8", 1179 "sebastian/global-state": "^5.0.8", 1180 "sebastian/object-enumerator": "^4.0.4", 1181 "sebastian/resource-operations": "^3.0.4", 1182 "sebastian/type": "^3.2.1", 1183 "sebastian/version": "^3.0.2" 1184 }, 1185 "suggest": { 1186 "ext-soap": "To be able to generate mocks based on WSDL files", 1187 "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" 1188 }, 1189 "bin": [ 1190 "phpunit" 1191 ], 1192 "type": "library", 1193 "extra": { 1194 "branch-alias": { 1195 "dev-master": "9.6-dev" 1196 } 1197 }, 1198 "autoload": { 1199 "files": [ 1200 "src/Framework/Assert/Functions.php" 1201 ], 1202 "classmap": [ 1203 "src/" 1204 ] 1205 }, 1206 "notification-url": "https://packagist.org/downloads/", 1207 "license": [ 1208 "BSD-3-Clause" 1209 ], 1210 "authors": [ 1211 { 1212 "name": "Sebastian Bergmann", 1213 "email": "sebastian@phpunit.de", 1214 "role": "lead" 1215 } 1216 ], 1217 "description": "The PHP Unit Testing framework.", 1218 "homepage": "https://phpunit.de/", 1219 "keywords": [ 1220 "phpunit", 1221 "testing", 1222 "xunit" 1223 ], 1224 "support": { 1225 "issues": "https://github.com/sebastianbergmann/phpunit/issues", 1226 "security": "https://github.com/sebastianbergmann/phpunit/security/policy", 1227 "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.34" 1228 }, 1229 "funding": [ 1230 { 1231 "url": "https://phpunit.de/sponsors.html", 1232 "type": "custom" 1233 }, 1234 { 1235 "url": "https://github.com/sebastianbergmann", 1236 "type": "github" 1237 }, 1238 { 1239 "url": "https://liberapay.com/sebastianbergmann", 1240 "type": "liberapay" 1241 }, 1242 { 1243 "url": "https://thanks.dev/u/gh/sebastianbergmann", 1244 "type": "thanks_dev" 1245 }, 1246 { 1247 "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", 1248 "type": "tidelift" 1249 } 1250 ], 1251 "time": "2026-01-27T05:45:00+00:00" 1252 }, 1253 { 1254 "name": "sebastian/cli-parser", 1255 "version": "1.0.2", 1256 "source": { 1257 "type": "git", 1258 "url": "https://github.com/sebastianbergmann/cli-parser.git", 1259 "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" 1260 }, 1261 "dist": { 1262 "type": "zip", 1263 "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", 1264 "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", 1265 "shasum": "" 1266 }, 1267 "require": { 1268 "php": ">=7.3" 1269 }, 1270 "require-dev": { 1271 "phpunit/phpunit": "^9.3" 1272 }, 1273 "type": "library", 1274 "extra": { 1275 "branch-alias": { 1276 "dev-master": "1.0-dev" 1277 } 1278 }, 1279 "autoload": { 1280 "classmap": [ 1281 "src/" 1282 ] 1283 }, 1284 "notification-url": "https://packagist.org/downloads/", 1285 "license": [ 1286 "BSD-3-Clause" 1287 ], 1288 "authors": [ 1289 { 1290 "name": "Sebastian Bergmann", 1291 "email": "sebastian@phpunit.de", 1292 "role": "lead" 1293 } 1294 ], 1295 "description": "Library for parsing CLI options", 1296 "homepage": "https://github.com/sebastianbergmann/cli-parser", 1297 "support": { 1298 "issues": "https://github.com/sebastianbergmann/cli-parser/issues", 1299 "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" 1300 }, 1301 "funding": [ 1302 { 1303 "url": "https://github.com/sebastianbergmann", 1304 "type": "github" 1305 } 1306 ], 1307 "time": "2024-03-02T06:27:43+00:00" 1308 }, 1309 { 1310 "name": "sebastian/code-unit", 1311 "version": "1.0.8", 1312 "source": { 1313 "type": "git", 1314 "url": "https://github.com/sebastianbergmann/code-unit.git", 1315 "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" 1316 }, 1317 "dist": { 1318 "type": "zip", 1319 "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", 1320 "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", 1321 "shasum": "" 1322 }, 1323 "require": { 1324 "php": ">=7.3" 1325 }, 1326 "require-dev": { 1327 "phpunit/phpunit": "^9.3" 1328 }, 1329 "type": "library", 1330 "extra": { 1331 "branch-alias": { 1332 "dev-master": "1.0-dev" 1333 } 1334 }, 1335 "autoload": { 1336 "classmap": [ 1337 "src/" 1338 ] 1339 }, 1340 "notification-url": "https://packagist.org/downloads/", 1341 "license": [ 1342 "BSD-3-Clause" 1343 ], 1344 "authors": [ 1345 { 1346 "name": "Sebastian Bergmann", 1347 "email": "sebastian@phpunit.de", 1348 "role": "lead" 1349 } 1350 ], 1351 "description": "Collection of value objects that represent the PHP code units", 1352 "homepage": "https://github.com/sebastianbergmann/code-unit", 1353 "support": { 1354 "issues": "https://github.com/sebastianbergmann/code-unit/issues", 1355 "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" 1356 }, 1357 "funding": [ 1358 { 1359 "url": "https://github.com/sebastianbergmann", 1360 "type": "github" 1361 } 1362 ], 1363 "time": "2020-10-26T13:08:54+00:00" 1364 }, 1365 { 1366 "name": "sebastian/code-unit-reverse-lookup", 1367 "version": "2.0.3", 1368 "source": { 1369 "type": "git", 1370 "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 1371 "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" 1372 }, 1373 "dist": { 1374 "type": "zip", 1375 "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", 1376 "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", 1377 "shasum": "" 1378 }, 1379 "require": { 1380 "php": ">=7.3" 1381 }, 1382 "require-dev": { 1383 "phpunit/phpunit": "^9.3" 1384 }, 1385 "type": "library", 1386 "extra": { 1387 "branch-alias": { 1388 "dev-master": "2.0-dev" 1389 } 1390 }, 1391 "autoload": { 1392 "classmap": [ 1393 "src/" 1394 ] 1395 }, 1396 "notification-url": "https://packagist.org/downloads/", 1397 "license": [ 1398 "BSD-3-Clause" 1399 ], 1400 "authors": [ 1401 { 1402 "name": "Sebastian Bergmann", 1403 "email": "sebastian@phpunit.de" 1404 } 1405 ], 1406 "description": "Looks up which function or method a line of code belongs to", 1407 "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 1408 "support": { 1409 "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", 1410 "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" 1411 }, 1412 "funding": [ 1413 { 1414 "url": "https://github.com/sebastianbergmann", 1415 "type": "github" 1416 } 1417 ], 1418 "time": "2020-09-28T05:30:19+00:00" 1419 }, 1420 { 1421 "name": "sebastian/comparator", 1422 "version": "4.0.10", 1423 "source": { 1424 "type": "git", 1425 "url": "https://github.com/sebastianbergmann/comparator.git", 1426 "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d" 1427 }, 1428 "dist": { 1429 "type": "zip", 1430 "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e4df00b9b3571187db2831ae9aada2c6efbd715d", 1431 "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d", 1432 "shasum": "" 1433 }, 1434 "require": { 1435 "php": ">=7.3", 1436 "sebastian/diff": "^4.0", 1437 "sebastian/exporter": "^4.0" 1438 }, 1439 "require-dev": { 1440 "phpunit/phpunit": "^9.3" 1441 }, 1442 "type": "library", 1443 "extra": { 1444 "branch-alias": { 1445 "dev-master": "4.0-dev" 1446 } 1447 }, 1448 "autoload": { 1449 "classmap": [ 1450 "src/" 1451 ] 1452 }, 1453 "notification-url": "https://packagist.org/downloads/", 1454 "license": [ 1455 "BSD-3-Clause" 1456 ], 1457 "authors": [ 1458 { 1459 "name": "Sebastian Bergmann", 1460 "email": "sebastian@phpunit.de" 1461 }, 1462 { 1463 "name": "Jeff Welch", 1464 "email": "whatthejeff@gmail.com" 1465 }, 1466 { 1467 "name": "Volker Dusch", 1468 "email": "github@wallbash.com" 1469 }, 1470 { 1471 "name": "Bernhard Schussek", 1472 "email": "bschussek@2bepublished.at" 1473 } 1474 ], 1475 "description": "Provides the functionality to compare PHP values for equality", 1476 "homepage": "https://github.com/sebastianbergmann/comparator", 1477 "keywords": [ 1478 "comparator", 1479 "compare", 1480 "equality" 1481 ], 1482 "support": { 1483 "issues": "https://github.com/sebastianbergmann/comparator/issues", 1484 "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.10" 1485 }, 1486 "funding": [ 1487 { 1488 "url": "https://github.com/sebastianbergmann", 1489 "type": "github" 1490 }, 1491 { 1492 "url": "https://liberapay.com/sebastianbergmann", 1493 "type": "liberapay" 1494 }, 1495 { 1496 "url": "https://thanks.dev/u/gh/sebastianbergmann", 1497 "type": "thanks_dev" 1498 }, 1499 { 1500 "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", 1501 "type": "tidelift" 1502 } 1503 ], 1504 "time": "2026-01-24T09:22:56+00:00" 1505 }, 1506 { 1507 "name": "sebastian/complexity", 1508 "version": "2.0.3", 1509 "source": { 1510 "type": "git", 1511 "url": "https://github.com/sebastianbergmann/complexity.git", 1512 "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" 1513 }, 1514 "dist": { 1515 "type": "zip", 1516 "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", 1517 "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", 1518 "shasum": "" 1519 }, 1520 "require": { 1521 "nikic/php-parser": "^4.18 || ^5.0", 1522 "php": ">=7.3" 1523 }, 1524 "require-dev": { 1525 "phpunit/phpunit": "^9.3" 1526 }, 1527 "type": "library", 1528 "extra": { 1529 "branch-alias": { 1530 "dev-master": "2.0-dev" 1531 } 1532 }, 1533 "autoload": { 1534 "classmap": [ 1535 "src/" 1536 ] 1537 }, 1538 "notification-url": "https://packagist.org/downloads/", 1539 "license": [ 1540 "BSD-3-Clause" 1541 ], 1542 "authors": [ 1543 { 1544 "name": "Sebastian Bergmann", 1545 "email": "sebastian@phpunit.de", 1546 "role": "lead" 1547 } 1548 ], 1549 "description": "Library for calculating the complexity of PHP code units", 1550 "homepage": "https://github.com/sebastianbergmann/complexity", 1551 "support": { 1552 "issues": "https://github.com/sebastianbergmann/complexity/issues", 1553 "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" 1554 }, 1555 "funding": [ 1556 { 1557 "url": "https://github.com/sebastianbergmann", 1558 "type": "github" 1559 } 1560 ], 1561 "time": "2023-12-22T06:19:30+00:00" 1562 }, 1563 { 1564 "name": "sebastian/diff", 1565 "version": "4.0.6", 1566 "source": { 1567 "type": "git", 1568 "url": "https://github.com/sebastianbergmann/diff.git", 1569 "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" 1570 }, 1571 "dist": { 1572 "type": "zip", 1573 "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", 1574 "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", 1575 "shasum": "" 1576 }, 1577 "require": { 1578 "php": ">=7.3" 1579 }, 1580 "require-dev": { 1581 "phpunit/phpunit": "^9.3", 1582 "symfony/process": "^4.2 || ^5" 1583 }, 1584 "type": "library", 1585 "extra": { 1586 "branch-alias": { 1587 "dev-master": "4.0-dev" 1588 } 1589 }, 1590 "autoload": { 1591 "classmap": [ 1592 "src/" 1593 ] 1594 }, 1595 "notification-url": "https://packagist.org/downloads/", 1596 "license": [ 1597 "BSD-3-Clause" 1598 ], 1599 "authors": [ 1600 { 1601 "name": "Sebastian Bergmann", 1602 "email": "sebastian@phpunit.de" 1603 }, 1604 { 1605 "name": "Kore Nordmann", 1606 "email": "mail@kore-nordmann.de" 1607 } 1608 ], 1609 "description": "Diff implementation", 1610 "homepage": "https://github.com/sebastianbergmann/diff", 1611 "keywords": [ 1612 "diff", 1613 "udiff", 1614 "unidiff", 1615 "unified diff" 1616 ], 1617 "support": { 1618 "issues": "https://github.com/sebastianbergmann/diff/issues", 1619 "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" 1620 }, 1621 "funding": [ 1622 { 1623 "url": "https://github.com/sebastianbergmann", 1624 "type": "github" 1625 } 1626 ], 1627 "time": "2024-03-02T06:30:58+00:00" 1628 }, 1629 { 1630 "name": "sebastian/environment", 1631 "version": "5.1.5", 1632 "source": { 1633 "type": "git", 1634 "url": "https://github.com/sebastianbergmann/environment.git", 1635 "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" 1636 }, 1637 "dist": { 1638 "type": "zip", 1639 "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", 1640 "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", 1641 "shasum": "" 1642 }, 1643 "require": { 1644 "php": ">=7.3" 1645 }, 1646 "require-dev": { 1647 "phpunit/phpunit": "^9.3" 1648 }, 1649 "suggest": { 1650 "ext-posix": "*" 1651 }, 1652 "type": "library", 1653 "extra": { 1654 "branch-alias": { 1655 "dev-master": "5.1-dev" 1656 } 1657 }, 1658 "autoload": { 1659 "classmap": [ 1660 "src/" 1661 ] 1662 }, 1663 "notification-url": "https://packagist.org/downloads/", 1664 "license": [ 1665 "BSD-3-Clause" 1666 ], 1667 "authors": [ 1668 { 1669 "name": "Sebastian Bergmann", 1670 "email": "sebastian@phpunit.de" 1671 } 1672 ], 1673 "description": "Provides functionality to handle HHVM/PHP environments", 1674 "homepage": "http://www.github.com/sebastianbergmann/environment", 1675 "keywords": [ 1676 "Xdebug", 1677 "environment", 1678 "hhvm" 1679 ], 1680 "support": { 1681 "issues": "https://github.com/sebastianbergmann/environment/issues", 1682 "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" 1683 }, 1684 "funding": [ 1685 { 1686 "url": "https://github.com/sebastianbergmann", 1687 "type": "github" 1688 } 1689 ], 1690 "time": "2023-02-03T06:03:51+00:00" 1691 }, 1692 { 1693 "name": "sebastian/exporter", 1694 "version": "4.0.8", 1695 "source": { 1696 "type": "git", 1697 "url": "https://github.com/sebastianbergmann/exporter.git", 1698 "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c" 1699 }, 1700 "dist": { 1701 "type": "zip", 1702 "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/14c6ba52f95a36c3d27c835d65efc7123c446e8c", 1703 "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c", 1704 "shasum": "" 1705 }, 1706 "require": { 1707 "php": ">=7.3", 1708 "sebastian/recursion-context": "^4.0" 1709 }, 1710 "require-dev": { 1711 "ext-mbstring": "*", 1712 "phpunit/phpunit": "^9.3" 1713 }, 1714 "type": "library", 1715 "extra": { 1716 "branch-alias": { 1717 "dev-master": "4.0-dev" 1718 } 1719 }, 1720 "autoload": { 1721 "classmap": [ 1722 "src/" 1723 ] 1724 }, 1725 "notification-url": "https://packagist.org/downloads/", 1726 "license": [ 1727 "BSD-3-Clause" 1728 ], 1729 "authors": [ 1730 { 1731 "name": "Sebastian Bergmann", 1732 "email": "sebastian@phpunit.de" 1733 }, 1734 { 1735 "name": "Jeff Welch", 1736 "email": "whatthejeff@gmail.com" 1737 }, 1738 { 1739 "name": "Volker Dusch", 1740 "email": "github@wallbash.com" 1741 }, 1742 { 1743 "name": "Adam Harvey", 1744 "email": "aharvey@php.net" 1745 }, 1746 { 1747 "name": "Bernhard Schussek", 1748 "email": "bschussek@gmail.com" 1749 } 1750 ], 1751 "description": "Provides the functionality to export PHP variables for visualization", 1752 "homepage": "https://www.github.com/sebastianbergmann/exporter", 1753 "keywords": [ 1754 "export", 1755 "exporter" 1756 ], 1757 "support": { 1758 "issues": "https://github.com/sebastianbergmann/exporter/issues", 1759 "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.8" 1760 }, 1761 "funding": [ 1762 { 1763 "url": "https://github.com/sebastianbergmann", 1764 "type": "github" 1765 }, 1766 { 1767 "url": "https://liberapay.com/sebastianbergmann", 1768 "type": "liberapay" 1769 }, 1770 { 1771 "url": "https://thanks.dev/u/gh/sebastianbergmann", 1772 "type": "thanks_dev" 1773 }, 1774 { 1775 "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", 1776 "type": "tidelift" 1777 } 1778 ], 1779 "time": "2025-09-24T06:03:27+00:00" 1780 }, 1781 { 1782 "name": "sebastian/global-state", 1783 "version": "5.0.8", 1784 "source": { 1785 "type": "git", 1786 "url": "https://github.com/sebastianbergmann/global-state.git", 1787 "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6" 1788 }, 1789 "dist": { 1790 "type": "zip", 1791 "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6", 1792 "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6", 1793 "shasum": "" 1794 }, 1795 "require": { 1796 "php": ">=7.3", 1797 "sebastian/object-reflector": "^2.0", 1798 "sebastian/recursion-context": "^4.0" 1799 }, 1800 "require-dev": { 1801 "ext-dom": "*", 1802 "phpunit/phpunit": "^9.3" 1803 }, 1804 "suggest": { 1805 "ext-uopz": "*" 1806 }, 1807 "type": "library", 1808 "extra": { 1809 "branch-alias": { 1810 "dev-master": "5.0-dev" 1811 } 1812 }, 1813 "autoload": { 1814 "classmap": [ 1815 "src/" 1816 ] 1817 }, 1818 "notification-url": "https://packagist.org/downloads/", 1819 "license": [ 1820 "BSD-3-Clause" 1821 ], 1822 "authors": [ 1823 { 1824 "name": "Sebastian Bergmann", 1825 "email": "sebastian@phpunit.de" 1826 } 1827 ], 1828 "description": "Snapshotting of global state", 1829 "homepage": "http://www.github.com/sebastianbergmann/global-state", 1830 "keywords": [ 1831 "global state" 1832 ], 1833 "support": { 1834 "issues": "https://github.com/sebastianbergmann/global-state/issues", 1835 "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8" 1836 }, 1837 "funding": [ 1838 { 1839 "url": "https://github.com/sebastianbergmann", 1840 "type": "github" 1841 }, 1842 { 1843 "url": "https://liberapay.com/sebastianbergmann", 1844 "type": "liberapay" 1845 }, 1846 { 1847 "url": "https://thanks.dev/u/gh/sebastianbergmann", 1848 "type": "thanks_dev" 1849 }, 1850 { 1851 "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", 1852 "type": "tidelift" 1853 } 1854 ], 1855 "time": "2025-08-10T07:10:35+00:00" 1856 }, 1857 { 1858 "name": "sebastian/lines-of-code", 1859 "version": "1.0.4", 1860 "source": { 1861 "type": "git", 1862 "url": "https://github.com/sebastianbergmann/lines-of-code.git", 1863 "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" 1864 }, 1865 "dist": { 1866 "type": "zip", 1867 "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", 1868 "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", 1869 "shasum": "" 1870 }, 1871 "require": { 1872 "nikic/php-parser": "^4.18 || ^5.0", 1873 "php": ">=7.3" 1874 }, 1875 "require-dev": { 1876 "phpunit/phpunit": "^9.3" 1877 }, 1878 "type": "library", 1879 "extra": { 1880 "branch-alias": { 1881 "dev-master": "1.0-dev" 1882 } 1883 }, 1884 "autoload": { 1885 "classmap": [ 1886 "src/" 1887 ] 1888 }, 1889 "notification-url": "https://packagist.org/downloads/", 1890 "license": [ 1891 "BSD-3-Clause" 1892 ], 1893 "authors": [ 1894 { 1895 "name": "Sebastian Bergmann", 1896 "email": "sebastian@phpunit.de", 1897 "role": "lead" 1898 } 1899 ], 1900 "description": "Library for counting the lines of code in PHP source code", 1901 "homepage": "https://github.com/sebastianbergmann/lines-of-code", 1902 "support": { 1903 "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", 1904 "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" 1905 }, 1906 "funding": [ 1907 { 1908 "url": "https://github.com/sebastianbergmann", 1909 "type": "github" 1910 } 1911 ], 1912 "time": "2023-12-22T06:20:34+00:00" 1913 }, 1914 { 1915 "name": "sebastian/object-enumerator", 1916 "version": "4.0.4", 1917 "source": { 1918 "type": "git", 1919 "url": "https://github.com/sebastianbergmann/object-enumerator.git", 1920 "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" 1921 }, 1922 "dist": { 1923 "type": "zip", 1924 "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", 1925 "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", 1926 "shasum": "" 1927 }, 1928 "require": { 1929 "php": ">=7.3", 1930 "sebastian/object-reflector": "^2.0", 1931 "sebastian/recursion-context": "^4.0" 1932 }, 1933 "require-dev": { 1934 "phpunit/phpunit": "^9.3" 1935 }, 1936 "type": "library", 1937 "extra": { 1938 "branch-alias": { 1939 "dev-master": "4.0-dev" 1940 } 1941 }, 1942 "autoload": { 1943 "classmap": [ 1944 "src/" 1945 ] 1946 }, 1947 "notification-url": "https://packagist.org/downloads/", 1948 "license": [ 1949 "BSD-3-Clause" 1950 ], 1951 "authors": [ 1952 { 1953 "name": "Sebastian Bergmann", 1954 "email": "sebastian@phpunit.de" 1955 } 1956 ], 1957 "description": "Traverses array structures and object graphs to enumerate all referenced objects", 1958 "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 1959 "support": { 1960 "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", 1961 "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" 1962 }, 1963 "funding": [ 1964 { 1965 "url": "https://github.com/sebastianbergmann", 1966 "type": "github" 1967 } 1968 ], 1969 "time": "2020-10-26T13:12:34+00:00" 1970 }, 1971 { 1972 "name": "sebastian/object-reflector", 1973 "version": "2.0.4", 1974 "source": { 1975 "type": "git", 1976 "url": "https://github.com/sebastianbergmann/object-reflector.git", 1977 "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" 1978 }, 1979 "dist": { 1980 "type": "zip", 1981 "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", 1982 "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", 1983 "shasum": "" 1984 }, 1985 "require": { 1986 "php": ">=7.3" 1987 }, 1988 "require-dev": { 1989 "phpunit/phpunit": "^9.3" 1990 }, 1991 "type": "library", 1992 "extra": { 1993 "branch-alias": { 1994 "dev-master": "2.0-dev" 1995 } 1996 }, 1997 "autoload": { 1998 "classmap": [ 1999 "src/" 2000 ] 2001 }, 2002 "notification-url": "https://packagist.org/downloads/", 2003 "license": [ 2004 "BSD-3-Clause" 2005 ], 2006 "authors": [ 2007 { 2008 "name": "Sebastian Bergmann", 2009 "email": "sebastian@phpunit.de" 2010 } 2011 ], 2012 "description": "Allows reflection of object attributes, including inherited and non-public ones", 2013 "homepage": "https://github.com/sebastianbergmann/object-reflector/", 2014 "support": { 2015 "issues": "https://github.com/sebastianbergmann/object-reflector/issues", 2016 "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" 2017 }, 2018 "funding": [ 2019 { 2020 "url": "https://github.com/sebastianbergmann", 2021 "type": "github" 2022 } 2023 ], 2024 "time": "2020-10-26T13:14:26+00:00" 2025 }, 2026 { 2027 "name": "sebastian/recursion-context", 2028 "version": "4.0.6", 2029 "source": { 2030 "type": "git", 2031 "url": "https://github.com/sebastianbergmann/recursion-context.git", 2032 "reference": "539c6691e0623af6dc6f9c20384c120f963465a0" 2033 }, 2034 "dist": { 2035 "type": "zip", 2036 "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0", 2037 "reference": "539c6691e0623af6dc6f9c20384c120f963465a0", 2038 "shasum": "" 2039 }, 2040 "require": { 2041 "php": ">=7.3" 2042 }, 2043 "require-dev": { 2044 "phpunit/phpunit": "^9.3" 2045 }, 2046 "type": "library", 2047 "extra": { 2048 "branch-alias": { 2049 "dev-master": "4.0-dev" 2050 } 2051 }, 2052 "autoload": { 2053 "classmap": [ 2054 "src/" 2055 ] 2056 }, 2057 "notification-url": "https://packagist.org/downloads/", 2058 "license": [ 2059 "BSD-3-Clause" 2060 ], 2061 "authors": [ 2062 { 2063 "name": "Sebastian Bergmann", 2064 "email": "sebastian@phpunit.de" 2065 }, 2066 { 2067 "name": "Jeff Welch", 2068 "email": "whatthejeff@gmail.com" 2069 }, 2070 { 2071 "name": "Adam Harvey", 2072 "email": "aharvey@php.net" 2073 } 2074 ], 2075 "description": "Provides functionality to recursively process PHP variables", 2076 "homepage": "https://github.com/sebastianbergmann/recursion-context", 2077 "support": { 2078 "issues": "https://github.com/sebastianbergmann/recursion-context/issues", 2079 "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.6" 2080 }, 2081 "funding": [ 2082 { 2083 "url": "https://github.com/sebastianbergmann", 2084 "type": "github" 2085 }, 2086 { 2087 "url": "https://liberapay.com/sebastianbergmann", 2088 "type": "liberapay" 2089 }, 2090 { 2091 "url": "https://thanks.dev/u/gh/sebastianbergmann", 2092 "type": "thanks_dev" 2093 }, 2094 { 2095 "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", 2096 "type": "tidelift" 2097 } 2098 ], 2099 "time": "2025-08-10T06:57:39+00:00" 2100 }, 2101 { 2102 "name": "sebastian/resource-operations", 2103 "version": "3.0.4", 2104 "source": { 2105 "type": "git", 2106 "url": "https://github.com/sebastianbergmann/resource-operations.git", 2107 "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" 2108 }, 2109 "dist": { 2110 "type": "zip", 2111 "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", 2112 "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", 2113 "shasum": "" 2114 }, 2115 "require": { 2116 "php": ">=7.3" 2117 }, 2118 "require-dev": { 2119 "phpunit/phpunit": "^9.0" 2120 }, 2121 "type": "library", 2122 "extra": { 2123 "branch-alias": { 2124 "dev-main": "3.0-dev" 2125 } 2126 }, 2127 "autoload": { 2128 "classmap": [ 2129 "src/" 2130 ] 2131 }, 2132 "notification-url": "https://packagist.org/downloads/", 2133 "license": [ 2134 "BSD-3-Clause" 2135 ], 2136 "authors": [ 2137 { 2138 "name": "Sebastian Bergmann", 2139 "email": "sebastian@phpunit.de" 2140 } 2141 ], 2142 "description": "Provides a list of PHP built-in functions that operate on resources", 2143 "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 2144 "support": { 2145 "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" 2146 }, 2147 "funding": [ 2148 { 2149 "url": "https://github.com/sebastianbergmann", 2150 "type": "github" 2151 } 2152 ], 2153 "time": "2024-03-14T16:00:52+00:00" 2154 }, 2155 { 2156 "name": "sebastian/type", 2157 "version": "3.2.1", 2158 "source": { 2159 "type": "git", 2160 "url": "https://github.com/sebastianbergmann/type.git", 2161 "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" 2162 }, 2163 "dist": { 2164 "type": "zip", 2165 "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", 2166 "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", 2167 "shasum": "" 2168 }, 2169 "require": { 2170 "php": ">=7.3" 2171 }, 2172 "require-dev": { 2173 "phpunit/phpunit": "^9.5" 2174 }, 2175 "type": "library", 2176 "extra": { 2177 "branch-alias": { 2178 "dev-master": "3.2-dev" 2179 } 2180 }, 2181 "autoload": { 2182 "classmap": [ 2183 "src/" 2184 ] 2185 }, 2186 "notification-url": "https://packagist.org/downloads/", 2187 "license": [ 2188 "BSD-3-Clause" 2189 ], 2190 "authors": [ 2191 { 2192 "name": "Sebastian Bergmann", 2193 "email": "sebastian@phpunit.de", 2194 "role": "lead" 2195 } 2196 ], 2197 "description": "Collection of value objects that represent the types of the PHP type system", 2198 "homepage": "https://github.com/sebastianbergmann/type", 2199 "support": { 2200 "issues": "https://github.com/sebastianbergmann/type/issues", 2201 "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" 2202 }, 2203 "funding": [ 2204 { 2205 "url": "https://github.com/sebastianbergmann", 2206 "type": "github" 2207 } 2208 ], 2209 "time": "2023-02-03T06:13:03+00:00" 2210 }, 2211 { 2212 "name": "sebastian/version", 2213 "version": "3.0.2", 2214 "source": { 2215 "type": "git", 2216 "url": "https://github.com/sebastianbergmann/version.git", 2217 "reference": "c6c1022351a901512170118436c764e473f6de8c" 2218 }, 2219 "dist": { 2220 "type": "zip", 2221 "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", 2222 "reference": "c6c1022351a901512170118436c764e473f6de8c", 2223 "shasum": "" 2224 }, 2225 "require": { 2226 "php": ">=7.3" 2227 }, 2228 "type": "library", 2229 "extra": { 2230 "branch-alias": { 2231 "dev-master": "3.0-dev" 2232 } 2233 }, 2234 "autoload": { 2235 "classmap": [ 2236 "src/" 2237 ] 2238 }, 2239 "notification-url": "https://packagist.org/downloads/", 2240 "license": [ 2241 "BSD-3-Clause" 2242 ], 2243 "authors": [ 2244 { 2245 "name": "Sebastian Bergmann", 2246 "email": "sebastian@phpunit.de", 2247 "role": "lead" 2248 } 2249 ], 2250 "description": "Library that helps with managing the version number of Git-hosted PHP projects", 2251 "homepage": "https://github.com/sebastianbergmann/version", 2252 "support": { 2253 "issues": "https://github.com/sebastianbergmann/version/issues", 2254 "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" 2255 }, 2256 "funding": [ 2257 { 2258 "url": "https://github.com/sebastianbergmann", 2259 "type": "github" 2260 } 2261 ], 2262 "time": "2020-09-28T06:39:44+00:00" 2263 }, 2264 { 282 2265 "name": "squizlabs/php_codesniffer", 283 2266 "version": "3.13.2", … … 362 2345 ], 363 2346 "time": "2025-06-17T22:17:01+00:00" 2347 }, 2348 { 2349 "name": "theseer/tokenizer", 2350 "version": "1.3.1", 2351 "source": { 2352 "type": "git", 2353 "url": "https://github.com/theseer/tokenizer.git", 2354 "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" 2355 }, 2356 "dist": { 2357 "type": "zip", 2358 "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", 2359 "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", 2360 "shasum": "" 2361 }, 2362 "require": { 2363 "ext-dom": "*", 2364 "ext-tokenizer": "*", 2365 "ext-xmlwriter": "*", 2366 "php": "^7.2 || ^8.0" 2367 }, 2368 "type": "library", 2369 "autoload": { 2370 "classmap": [ 2371 "src/" 2372 ] 2373 }, 2374 "notification-url": "https://packagist.org/downloads/", 2375 "license": [ 2376 "BSD-3-Clause" 2377 ], 2378 "authors": [ 2379 { 2380 "name": "Arne Blankerts", 2381 "email": "arne@blankerts.de", 2382 "role": "Developer" 2383 } 2384 ], 2385 "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 2386 "support": { 2387 "issues": "https://github.com/theseer/tokenizer/issues", 2388 "source": "https://github.com/theseer/tokenizer/tree/1.3.1" 2389 }, 2390 "funding": [ 2391 { 2392 "url": "https://github.com/theseer", 2393 "type": "github" 2394 } 2395 ], 2396 "time": "2025-11-17T20:03:58+00:00" 364 2397 }, 365 2398 { … … 428 2461 ], 429 2462 "time": "2025-07-24T20:08:31+00:00" 2463 }, 2464 { 2465 "name": "yoast/phpunit-polyfills", 2466 "version": "2.0.5", 2467 "source": { 2468 "type": "git", 2469 "url": "https://github.com/Yoast/PHPUnit-Polyfills.git", 2470 "reference": "1a6aecc9ebe4a9cea4e1047d0e6c496e52314c27" 2471 }, 2472 "dist": { 2473 "type": "zip", 2474 "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/1a6aecc9ebe4a9cea4e1047d0e6c496e52314c27", 2475 "reference": "1a6aecc9ebe4a9cea4e1047d0e6c496e52314c27", 2476 "shasum": "" 2477 }, 2478 "require": { 2479 "php": ">=5.6", 2480 "phpunit/phpunit": "^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0" 2481 }, 2482 "require-dev": { 2483 "php-parallel-lint/php-console-highlighter": "^1.0.0", 2484 "php-parallel-lint/php-parallel-lint": "^1.4.0", 2485 "yoast/yoastcs": "^3.2.0" 2486 }, 2487 "type": "library", 2488 "extra": { 2489 "branch-alias": { 2490 "dev-main": "4.x-dev" 2491 } 2492 }, 2493 "autoload": { 2494 "files": [ 2495 "phpunitpolyfills-autoload.php" 2496 ] 2497 }, 2498 "notification-url": "https://packagist.org/downloads/", 2499 "license": [ 2500 "BSD-3-Clause" 2501 ], 2502 "authors": [ 2503 { 2504 "name": "Team Yoast", 2505 "email": "support@yoast.com", 2506 "homepage": "https://yoast.com" 2507 }, 2508 { 2509 "name": "Contributors", 2510 "homepage": "https://github.com/Yoast/PHPUnit-Polyfills/graphs/contributors" 2511 } 2512 ], 2513 "description": "Set of polyfills for changed PHPUnit functionality to allow for creating PHPUnit cross-version compatible tests", 2514 "homepage": "https://github.com/Yoast/PHPUnit-Polyfills", 2515 "keywords": [ 2516 "phpunit", 2517 "polyfill", 2518 "testing" 2519 ], 2520 "support": { 2521 "issues": "https://github.com/Yoast/PHPUnit-Polyfills/issues", 2522 "security": "https://github.com/Yoast/PHPUnit-Polyfills/security/policy", 2523 "source": "https://github.com/Yoast/PHPUnit-Polyfills" 2524 }, 2525 "time": "2025-08-10T05:13:49+00:00" 430 2526 } 431 2527 ], … … 437 2533 "platform": {}, 438 2534 "platform-dev": {}, 439 "plugin-api-version": "2. 6.0"2535 "plugin-api-version": "2.9.0" 440 2536 } -
pdc-pod/trunk/includes/Core.php
r3421416 r3472718 13 13 14 14 use PdcPod\Front\FrontCore; 15 use PdcPod\Admin\PrintDotCom\APIClient; 15 16 16 17 … … 137 138 private function define_admin_hooks() { 138 139 139 $plugin_admin = new \PdcPod\Admin\AdminCore( );140 $plugin_admin = new \PdcPod\Admin\AdminCore( new APIClient() ); 140 141 141 142 $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); -
pdc-pod/trunk/pdc-pod.php
r3465930 r3472718 25 25 * Plugin URI: https://github.com/printdotcom/pdc-pod 26 26 * Description: Allows customers to configure, edit and purchase products via the Print.com API. 27 * Version: 1. 0.127 * Version: 1.1.0 28 28 * Author: Print.com 29 29 * Author URI: https://print.com … … 32 32 * Text Domain: pdc-pod 33 33 * Domain Path: /languages 34 * Requires Plugins: woocommerce 34 35 */ 35 36 … … 54 55 * @var string PDC_POD_VERSION Plugin version. 55 56 */ 56 define( 'PDC_POD_VERSION', '1. 0.1' );57 define( 'PDC_POD_VERSION', '1.1.0' ); 57 58 58 59 /** -
pdc-pod/trunk/vendor/autoload.php
r3421416 r3472718 20 20 require_once __DIR__ . '/composer/autoload_real.php'; 21 21 22 return ComposerAutoloaderInit1 b13724ea450b9c3f5569077597a2591::getLoader();22 return ComposerAutoloaderInit15d9451d6f2ee251b5fd61c0ba6088c9::getLoader(); -
pdc-pod/trunk/vendor/composer/autoload_real.php
r3421416 r3472718 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit1 b13724ea450b9c3f5569077597a25915 class ComposerAutoloaderInit15d9451d6f2ee251b5fd61c0ba6088c9 6 6 { 7 7 private static $loader; … … 23 23 } 24 24 25 spl_autoload_register(array('ComposerAutoloaderInit1 b13724ea450b9c3f5569077597a2591', 'loadClassLoader'), true, true);25 spl_autoload_register(array('ComposerAutoloaderInit15d9451d6f2ee251b5fd61c0ba6088c9', 'loadClassLoader'), true, true); 26 26 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 27 spl_autoload_unregister(array('ComposerAutoloaderInit1 b13724ea450b9c3f5569077597a2591', 'loadClassLoader'));27 spl_autoload_unregister(array('ComposerAutoloaderInit15d9451d6f2ee251b5fd61c0ba6088c9', 'loadClassLoader')); 28 28 29 29 require __DIR__ . '/autoload_static.php'; 30 call_user_func(\Composer\Autoload\ComposerStaticInit1 b13724ea450b9c3f5569077597a2591::getInitializer($loader));30 call_user_func(\Composer\Autoload\ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9::getInitializer($loader)); 31 31 32 32 $loader->register(true); -
pdc-pod/trunk/vendor/composer/autoload_static.php
r3465930 r3472718 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit1 b13724ea450b9c3f5569077597a25917 class ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 46 46 { 47 47 return \Closure::bind(function () use ($loader) { 48 $loader->prefixLengthsPsr4 = ComposerStaticInit1 b13724ea450b9c3f5569077597a2591::$prefixLengthsPsr4;49 $loader->prefixDirsPsr4 = ComposerStaticInit1 b13724ea450b9c3f5569077597a2591::$prefixDirsPsr4;50 $loader->classMap = ComposerStaticInit1 b13724ea450b9c3f5569077597a2591::$classMap;48 $loader->prefixLengthsPsr4 = ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9::$prefixLengthsPsr4; 49 $loader->prefixDirsPsr4 = ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9::$prefixDirsPsr4; 50 $loader->classMap = ComposerStaticInit15d9451d6f2ee251b5fd61c0ba6088c9::$classMap; 51 51 52 52 }, null, ClassLoader::class); -
pdc-pod/trunk/vendor/composer/installed.php
r3465930 r3472718 2 2 'root' => array( 3 3 'name' => 'printdotcom/pdc-pod', 4 'pretty_version' => '1. 0.1',5 'version' => '1. 0.1.0',6 'reference' => ' 48743b3372ead4f0271819dd9f411900aad57f34',4 'pretty_version' => '1.1.0', 5 'version' => '1.1.0.0', 6 'reference' => '96adc93385da83cf65ae618c57ff9a2101a05e35', 7 7 'type' => 'project', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'printdotcom/pdc-pod' => array( 14 'pretty_version' => '1. 0.1',15 'version' => '1. 0.1.0',16 'reference' => ' 48743b3372ead4f0271819dd9f411900aad57f34',14 'pretty_version' => '1.1.0', 15 'version' => '1.1.0.0', 16 'reference' => '96adc93385da83cf65ae618c57ff9a2101a05e35', 17 17 'type' => 'project', 18 18 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.