Changeset 3147632
- Timestamp:
- 09/06/2024 02:56:36 PM (19 months ago)
- Location:
- ilovepdf
- Files:
-
- 110 edited
- 1 copied
-
tags/2.1.3 (copied) (copied from ilovepdf/trunk)
-
tags/2.1.3/README.md (modified) (1 diff)
-
tags/2.1.3/README.txt (modified) (7 diffs)
-
tags/2.1.3/admin/functions-compress.php (modified) (1 diff)
-
tags/2.1.3/ilove-pdf.php (modified) (1 diff)
-
tags/2.1.3/includes/Ilove_Pdf.php (modified) (1 diff)
-
tags/2.1.3/package.json (modified) (2 diffs)
-
tags/2.1.3/vendor/composer/installed.json (modified) (23 diffs)
-
tags/2.1.3/vendor/composer/installed.php (modified) (9 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/CHANGELOG.md (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/README.md (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/composer.json (modified) (2 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/BodySummarizer.php (modified) (2 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Client.php (modified) (2 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/ClientInterface.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php (modified) (5 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php (modified) (10 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php (modified) (3 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php (modified) (4 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php (modified) (3 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/HandlerStack.php (modified) (3 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/MessageFormatter.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Middleware.php (modified) (3 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/RequestOptions.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php (modified) (2 diffs)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/TransferStats.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/guzzle/src/Utils.php (modified) (2 diffs)
-
tags/2.1.3/vendor/guzzlehttp/promises/CHANGELOG.md (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/promises/README.md (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/promises/composer.json (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/promises/src/Coroutine.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/promises/src/Each.php (modified) (3 diffs)
-
tags/2.1.3/vendor/guzzlehttp/promises/src/FulfilledPromise.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/promises/src/Promise.php (modified) (2 diffs)
-
tags/2.1.3/vendor/guzzlehttp/promises/src/PromiseInterface.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/promises/src/RejectedPromise.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/promises/src/RejectionException.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/promises/src/Utils.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/psr7/CHANGELOG.md (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/psr7/README.md (modified) (4 diffs)
-
tags/2.1.3/vendor/guzzlehttp/psr7/composer.json (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/psr7/src/CachingStream.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/psr7/src/HttpFactory.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/psr7/src/MultipartStream.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/psr7/src/Query.php (modified) (4 diffs)
-
tags/2.1.3/vendor/guzzlehttp/psr7/src/Response.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/psr7/src/StreamWrapper.php (modified) (3 diffs)
-
tags/2.1.3/vendor/guzzlehttp/psr7/src/UploadedFile.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/psr7/src/Uri.php (modified) (1 diff)
-
tags/2.1.3/vendor/guzzlehttp/psr7/src/Utils.php (modified) (2 diffs)
-
trunk/README.md (modified) (1 diff)
-
trunk/README.txt (modified) (7 diffs)
-
trunk/admin/functions-compress.php (modified) (1 diff)
-
trunk/ilove-pdf.php (modified) (1 diff)
-
trunk/includes/Ilove_Pdf.php (modified) (1 diff)
-
trunk/package.json (modified) (2 diffs)
-
trunk/vendor/composer/installed.json (modified) (23 diffs)
-
trunk/vendor/composer/installed.php (modified) (9 diffs)
-
trunk/vendor/guzzlehttp/guzzle/CHANGELOG.md (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/README.md (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/composer.json (modified) (2 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/BodySummarizer.php (modified) (2 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/Client.php (modified) (2 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/ClientInterface.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php (modified) (5 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php (modified) (10 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php (modified) (3 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php (modified) (4 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php (modified) (3 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/HandlerStack.php (modified) (3 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/MessageFormatter.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Middleware.php (modified) (3 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/RequestOptions.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php (modified) (2 diffs)
-
trunk/vendor/guzzlehttp/guzzle/src/TransferStats.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/guzzle/src/Utils.php (modified) (2 diffs)
-
trunk/vendor/guzzlehttp/promises/CHANGELOG.md (modified) (1 diff)
-
trunk/vendor/guzzlehttp/promises/README.md (modified) (1 diff)
-
trunk/vendor/guzzlehttp/promises/composer.json (modified) (1 diff)
-
trunk/vendor/guzzlehttp/promises/src/Coroutine.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/promises/src/Each.php (modified) (3 diffs)
-
trunk/vendor/guzzlehttp/promises/src/FulfilledPromise.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/promises/src/Promise.php (modified) (2 diffs)
-
trunk/vendor/guzzlehttp/promises/src/PromiseInterface.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/promises/src/RejectedPromise.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/promises/src/RejectionException.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/promises/src/Utils.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/CHANGELOG.md (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/README.md (modified) (4 diffs)
-
trunk/vendor/guzzlehttp/psr7/composer.json (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/src/CachingStream.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/src/HttpFactory.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/src/MultipartStream.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/src/Query.php (modified) (4 diffs)
-
trunk/vendor/guzzlehttp/psr7/src/Response.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/src/StreamWrapper.php (modified) (3 diffs)
-
trunk/vendor/guzzlehttp/psr7/src/UploadedFile.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/src/Uri.php (modified) (1 diff)
-
trunk/vendor/guzzlehttp/psr7/src/Utils.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ilovepdf/tags/2.1.3/README.md
r3118395 r3147632 1 === PDF Compressor & Watermark - iLovePDF === 2 Plugin Name: Image Compressor & Optimizer - iLovePDF 3 Version: 2.1.2 4 Author: iLovePDF 5 Author URI: https://www.ilovepdf.com/ 6 Contributors: iLovePDF 7 Tags: compress, watermark, optimize, performance, pdf optimizer 8 Requires at least: 5.3 9 Tested up to: 6.5.5 10 Stable tag: 2.1.2 11 Requires PHP: 7.4 12 License: GPLv2 or later 13 License URI: https://www.gnu.org/licenses/gpl-2.0.html 1 # PDF Compressor & Watermark - iLovePDF 14 2 15 Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for Wordpress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com. 3 **PDF Compressor & Watermark - iLovePDF** is the official iLovePDF plugin for WordPress. It allows you to automatically compress your PDF files and add watermarks, saving storage space and enhancing your PDF's security. 16 4 17 == Description == 5 With seamless integration, you can optimize all PDFs in your Media Library and stamp them automatically—just like you do on [iLovePDF.com](https://www.ilovepdf.com/). 18 6 19 ### How it works7 ### Key Features 20 8 21 The plugin has two modes of work, automatic or manual. 22 Compress PDF: Every time a PDF file is uploaded to your Media Library, is compressed by our iLovePDF API and saved in your WordPress site already optimized, saving you disk space. This feature can be disabled. 9 - **Automatic Compression:** PDFs are compressed upon upload using the iLovePDF API, saving up to 50% storage space without losing quality. 10 - **Watermarking:** Automatically add text or image watermarks to your PDFs upon upload to safeguard your files. 11 - **Manual & Bulk Actions:** Compress or add watermarks to existing PDFs individually or in bulk. 12 - **Easy to Use:** Configure it once, and the plugin handles the rest, automating PDF optimization for future uploads. 23 13 24 It can also compress all PDF already in your Media Library at once or compress PDF files one by one. The compression ratio depends on the PDF but on average you can save up to 50% of disk space occupied by PDF files without loosing quality. 14 ## How It Works 25 15 26 Watermark PDF: Every time a PDF file is uploaded to your Media Library, is stamped by our iLovePDF API and saved in your WordPress. This feature can be disabled. 27 It can also stamp images or text in PDF already in your Media Library at once or stamp PDF files one by one. 16 ### PDF Compression 28 17 18 - **Automatic:** Every time a PDF is uploaded, it gets compressed via iLovePDF API, reducing file size while maintaining quality. This feature can be toggled off if needed. 19 - **Manual:** Compress PDFs one by one or all at once from the Media Library. On average, compression can save up to 50% of the disk space. 29 20 30 ### Bulk actions21 ### Watermarking PDFs 31 22 32 All tools can be done for an individual files or applied to all your existing files. 23 - **Automatic:** Add watermarks to PDFs upon upload. This feature can also be disabled if not required. 24 - **Manual:** Watermark PDFs individually or apply watermarks in bulk to existing files. You can choose between text or image watermarks. 33 25 34 ### Automatic process26 ### Bulk Actions 35 27 36 All tools can be applied automatically when a PDF file is upload, so you don't need to apply any manual anymore.28 Easily apply compression or watermarking actions to multiple files at once, streamlining your file management process. Bulk actions can be performed on all files in the Media Library with a single click. 37 29 38 == Installation == 30 ### Automatic Processing 39 31 40 From your Admin panel: 41 1. Visit Plugins > Add New. 42 2. Search for ‘ilovepdf’ and press the ‘Install Now’ button. 43 3. Activate the plugin from your Plugins page. 32 Set up the plugin to apply compression and watermarking automatically for all future PDF uploads, eliminating the need for manual intervention. 44 33 45 Manual: 46 1. Upload `ilove-pdf` to the `/wp-content/plugins/` directory 47 2. Activate the plugin through the 'Plugins' menu in WordPress 48 3. Create a free account in the plugin settings page, or use your existing one 49 4. Configure the plugin as you like 34 ## Installation 50 35 51 Configure your iLovePDF Developer Account: 52 Install this plugin and go to Settings -> iLovePDF to create your iLovePDF Developer account (if you already registered previously on https://developer.ilovepdf.com you can login directly) and choose your Project, but by default it will be selected ‘Default Project’. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLovePDF developer account. With your iLovePDF API Free account you get 250 free PDF files to process per month. If you need more you can purchase them 36 ### From the WordPress Admin Panel: 37 1. Navigate to **Plugins > Add New**. 38 2. Search for "iLovePDF" and click **Install Now**. 39 3. After installation, activate the plugin from your **Plugins page.** 53 40 41 ### Manual Installation: 42 1. Upload the `ilovepdf` folder to the `/wp-content/plugins/` directory. 43 2. Activate the plugin through the **Plugins** menu in WordPress. 44 3. Go to the plugin settings page and create a free account or log in with an existing iLoveAPI account. 45 4. Configure the settings as per your requirements. 54 46 55 == Frequently Asked Questions == 47 ### iLoveAPI Developer Account Setup: 48 - Go to **Register** to create an iLoveAPI Developer account (or use an existing one if you've already registered at [iLoveAPI Developer](https://iloveapi.com)). 49 - Select a project, which will determine which API keys to use. The "Default Project" is selected by default. 50 - Free accounts can process up to **2500 credits per month**. If more is needed, additional processing can be purchased. 56 51 57 ###Do I need a iLovePDF account?58 59 Yes, you need a `developer` account. It can be created easily from your Wordpress, or you can use your existing one.60 61 ###Is this service free?62 63 With a free account you can process up to 250 files each month. If you need more, you can upgrade your account.64 65 ###What happens when the limit is reached?66 67 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 250 files are free, so in next month you will be able to process more files again! -
ilovepdf/tags/2.1.3/README.txt
r3118395 r3147632 1 1 === PDF Compressor & Watermark - iLovePDF === 2 2 Plugin Name: Image Compressor & Optimizer - iLovePDF 3 Version: 2.1. 23 Version: 2.1.3 4 4 Author: iLovePDF 5 5 Author URI: https://www.ilovepdf.com/ … … 7 7 Tags: compress, watermark, optimize, performance, pdf optimizer 8 8 Requires at least: 5.3 9 Tested up to: 6. 5.510 Stable tag: 2.1. 29 Tested up to: 6.6.1 10 Stable tag: 2.1.3 11 11 Requires PHP: 7.4 12 12 License: GPLv2 or later 13 13 License URI: https://www.gnu.org/licenses/gpl-2.0.html 14 14 15 A wordpress plugin by iLovePDF.15 Optimize and protect your PDFs with automatic compression and watermarking. Save space and secure your documents effortlessly. 16 16 17 17 == Description == … … 41 41 From your Admin panel: 42 42 1. Visit Plugins > Add New. 43 2. Search for ‘ilovepdf’ and press the ‘Install Now’button.43 2. Search for **ilovePDF** and press the **Install Now** button. 44 44 3. Activate the plugin from your Plugins page. 45 45 46 46 Manual: 47 1. Upload `ilove -pdf` to the `/wp-content/plugins/` directory47 1. Upload `ilovepdf` to the `/wp-content/plugins/` directory 48 48 2. Activate the plugin through the 'Plugins' menu in WordPress 49 49 3. Create a free account in the plugin settings page, or use your existing one 50 50 4. Configure the plugin as you like 51 51 52 == Configure your iLove PDFDeveloper Account ==53 54 Install this plugin and go to Settings -> iLovePDF to create your iLovePDF Developer account (if you already registered previously on https://developer.ilovepdf.com you can login directly) and choose your Project, but by default it will be selected ‘Default Project’. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLovePDF developer account. With your iLovePDF API Free account you get 250 free PDF files to process per month. If you need more you can purchase them55 56 By going to Settings -> iLovePDF -> Compress PDFyou can set the compression level you prefer to optimize your PDF files. We strongly recommend you to use ‘Recommended Compression’ which offers the perfect balance between compression and quality. In this section you can disable the auto compression of new uploaded PDF files in your Media Library.57 58 By going to Settings -> iLovePDF -> Watermark PDFyou can set many options on what to stamp and how into your PDF files. In this section you can disable the auto stamping of new uploaded PDF files in your Media Library.59 60 To Compress or Stamp PDF files that are already in your Media Library go to Media -> iLovePDF -> Compress PDF or Media -> iLovePDF -> Watermark52 == Configure your iLoveAPI Developer Account == 53 54 Install this plugin and go to `Settings -> iLovePDF` to create your iLoveAPI Developer account (if you already registered previously on [iLoveAPI Developer](https://iloveapi.com) you can login directly) and choose your Project, but by default it will be selected **Default Project**. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLoveAPI developer account. With your iLoveAPI Free account you get 2500 free credits to process per month. If you need more you can purchase them 55 56 By going to `Settings -> iLovePDF -> Compress PDF` you can set the compression level you prefer to optimize your PDF files. We strongly recommend you to use ‘Recommended Compression’ which offers the perfect balance between compression and quality. In this section you can disable the auto compression of new uploaded PDF files in your Media Library. 57 58 By going to `Settings -> iLovePDF -> Watermark PDF` you can set many options on what to stamp and how into your PDF files. In this section you can disable the auto stamping of new uploaded PDF files in your Media Library. 59 60 To Compress or Stamp PDF files that are already in your Media Library go to `Media -> iLovePDF -> Compress PDF or Media -> iLovePDF -> Watermark` 61 61 62 62 == Frequently Asked Questions == 63 63 64 = Do I need a iLove PDFaccount? =64 = Do I need a iLoveAPI account? = 65 65 66 66 Yes, you need a `developer` account. It can be created easily from your Wordpress, or you can use your existing one. … … 68 68 = Is this service free? = 69 69 70 With a free account you can process up to 250 files each month. If you need more, you can upgrade your account.70 With a free account you can process up to 2500 credits each month. If you need more, you can upgrade your account. 71 71 72 72 = What happens when the limit is reatched? = 73 73 74 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 250 files are free, so in next month you will be able to process more files again!74 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 2500 credits are free, so in next month you will be able to process more files again! 75 75 76 76 == Screenshots == 77 77 78 78 1. Create an account or login. 79 2. Configure your pluggin 80 3. Bulk actions with existing files 81 4. PDF actions 79 2. Configure Compress PDF. 80 3. Configure Watermark PDF. 82 81 83 82 == Changelog == 84 83 85 == 2.1.2 == 84 = 2.1.3 = 85 Improved 86 * Update Libraries. 87 * Improved readme texts. 88 * Improved texts when a credential problem occurs. 89 90 = 2.1.2 = 86 91 Improved 87 92 * Update Libraries. … … 91 96 * A problem was solved with the option to create backup, where in some cases the option was not stored in the database. 92 97 93 = = 2.1.1 ==98 = 2.1.1 = 94 99 Improved 95 100 * Update Libraries. … … 99 104 * Library was included internally. This will improve file loading and possible CDN blocking in some countries. 100 105 101 = = 2.1.0 ==106 = 2.1.0 = 102 107 Added 103 108 * New Backup option added in General Settings. Now the backup works for all tools. … … 115 120 * In some cases, when a user logged in, they could get a PHP error or warning. 116 121 117 = = 2.0.5 ==122 = 2.0.5 = 118 123 Improved 119 124 * Update Libraries. 120 125 * Assets. 121 126 122 = = 2.0.4 ==127 = 2.0.4 = 123 128 Fixed 124 129 * Compatibility issue with the Woocommerce plugin. 125 130 126 = = 2.0.3 ==131 = 2.0.3 = 127 132 Fixed 128 133 * Specify minimum version of PHP for dependencies. 129 134 130 = = 2.0.2 ==135 = 2.0.2 = 131 136 Added 132 137 * Improved class loading. 133 138 * Update library ilovepdf to v1.2.2 134 139 135 = = 2.0.1 ==140 = 2.0.1 = 136 141 Changed 137 142 * Remove Function Upload duplicate. Caused an error loading pdf files. -
ilovepdf/tags/2.1.3/admin/functions-compress.php
r3118395 r3147632 115 115 $html = 'error_auth'; 116 116 117 if ( $bulk ) {117 if ( $bulk || $auto ) { 118 118 $html = 'error_auth'; 119 119 } 120 120 121 if ( $auto) {122 $html = ' error_auth';121 if ( 'Unauthorized (Key may not be empty)' === $e->getMessage() ) { 122 $html = 'Check your credentials in the plugin settings page. If you recently deleted a project in your iloveapi account, try switching to another project to correctly save your API Keys.'; 123 123 } 124 124 -
ilovepdf/tags/2.1.3/ilove-pdf.php
r3118395 r3147632 16 16 * Plugin URI: https://iloveapi.com/ 17 17 * Description: Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for WordPress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com. 18 * Version: 2.1. 218 * Version: 2.1.3 19 19 * Requires at least: 5.3 20 20 * Requires PHP: 7.4 -
ilovepdf/tags/2.1.3/includes/Ilove_Pdf.php
r3118395 r3147632 75 75 76 76 $this->plugin_name = 'ilove-pdf'; 77 $this->version = 'wp.2.1. 2';77 $this->version = 'wp.2.1.3'; 78 78 79 79 $this->load_dependencies(); -
ilovepdf/tags/2.1.3/package.json
r3118395 r3147632 1 1 { 2 "name": " ilovepdf/ilovepdf-wp",2 "name": "@ilovepdf/ilovepdf-wp", 3 3 "version": "1.0.0", 4 4 "description": "Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for WordPress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com.", … … 17 17 "gulp-uglify": "^3.0.2", 18 18 "merge-stream": "^2.0.0", 19 "sass": "^1.7 7.7"19 "sass": "^1.78" 20 20 } 21 21 } -
ilovepdf/tags/2.1.3/vendor/composer/installed.json
r3118395 r3147632 69 69 { 70 70 "name": "guzzlehttp/guzzle", 71 "version": "7. 8.1",72 "version_normalized": "7. 8.1.0",71 "version": "7.9.2", 72 "version_normalized": "7.9.2.0", 73 73 "source": { 74 74 "type": "git", 75 75 "url": "https://github.com/guzzle/guzzle.git", 76 "reference": " 41042bc7ab002487b876a0683fc8dce04ddce104"77 }, 78 "dist": { 79 "type": "zip", 80 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ 41042bc7ab002487b876a0683fc8dce04ddce104",81 "reference": " 41042bc7ab002487b876a0683fc8dce04ddce104",76 "reference": "d281ed313b989f213357e3be1a179f02196ac99b" 77 }, 78 "dist": { 79 "type": "zip", 80 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", 81 "reference": "d281ed313b989f213357e3be1a179f02196ac99b", 82 82 "shasum": "" 83 83 }, 84 84 "require": { 85 85 "ext-json": "*", 86 "guzzlehttp/promises": "^1.5.3 || ^2.0. 1",87 "guzzlehttp/psr7": "^ 1.9.1 || ^2.5.1",86 "guzzlehttp/promises": "^1.5.3 || ^2.0.3", 87 "guzzlehttp/psr7": "^2.7.0", 88 88 "php": "^7.2.5 || ^8.0", 89 89 "psr/http-client": "^1.0", … … 96 96 "bamarni/composer-bin-plugin": "^1.8.2", 97 97 "ext-curl": "*", 98 " php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",98 "guzzle/client-integration-tests": "3.0.2", 99 99 "php-http/message-factory": "^1.1", 100 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15",100 "phpunit/phpunit": "^8.5.39 || ^9.6.20", 101 101 "psr/log": "^1.1 || ^2.0 || ^3.0" 102 102 }, … … 106 106 "psr/log": "Required for using the Log middleware" 107 107 }, 108 "time": "202 3-12-03T20:35:24+00:00",108 "time": "2024-07-24T11:22:20+00:00", 109 109 "type": "library", 110 110 "extra": { … … 178 178 "support": { 179 179 "issues": "https://github.com/guzzle/guzzle/issues", 180 "source": "https://github.com/guzzle/guzzle/tree/7. 8.1"180 "source": "https://github.com/guzzle/guzzle/tree/7.9.2" 181 181 }, 182 182 "funding": [ … … 198 198 { 199 199 "name": "guzzlehttp/promises", 200 "version": "2.0. 2",201 "version_normalized": "2.0. 2.0",200 "version": "2.0.3", 201 "version_normalized": "2.0.3.0", 202 202 "source": { 203 203 "type": "git", 204 204 "url": "https://github.com/guzzle/promises.git", 205 "reference": " bbff78d96034045e58e13dedd6ad91b5d1253223"206 }, 207 "dist": { 208 "type": "zip", 209 "url": "https://api.github.com/repos/guzzle/promises/zipball/ bbff78d96034045e58e13dedd6ad91b5d1253223",210 "reference": " bbff78d96034045e58e13dedd6ad91b5d1253223",205 "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" 206 }, 207 "dist": { 208 "type": "zip", 209 "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", 210 "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", 211 211 "shasum": "" 212 212 }, … … 216 216 "require-dev": { 217 217 "bamarni/composer-bin-plugin": "^1.8.2", 218 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15"219 }, 220 "time": "202 3-12-03T20:19:20+00:00",218 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 219 }, 220 "time": "2024-07-18T10:29:17+00:00", 221 221 "type": "library", 222 222 "extra": { … … 264 264 "support": { 265 265 "issues": "https://github.com/guzzle/promises/issues", 266 "source": "https://github.com/guzzle/promises/tree/2.0. 2"266 "source": "https://github.com/guzzle/promises/tree/2.0.3" 267 267 }, 268 268 "funding": [ … … 284 284 { 285 285 "name": "guzzlehttp/psr7", 286 "version": "2. 6.2",287 "version_normalized": "2. 6.2.0",286 "version": "2.7.0", 287 "version_normalized": "2.7.0.0", 288 288 "source": { 289 289 "type": "git", 290 290 "url": "https://github.com/guzzle/psr7.git", 291 "reference": " 45b30f99ac27b5ca93cb4831afe16285f57b8221"292 }, 293 "dist": { 294 "type": "zip", 295 "url": "https://api.github.com/repos/guzzle/psr7/zipball/ 45b30f99ac27b5ca93cb4831afe16285f57b8221",296 "reference": " 45b30f99ac27b5ca93cb4831afe16285f57b8221",291 "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" 292 }, 293 "dist": { 294 "type": "zip", 295 "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", 296 "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", 297 297 "shasum": "" 298 298 }, … … 309 309 "require-dev": { 310 310 "bamarni/composer-bin-plugin": "^1.8.2", 311 "http-interop/http-factory-tests": " ^0.9",312 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15"311 "http-interop/http-factory-tests": "0.9.0", 312 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 313 313 }, 314 314 "suggest": { 315 315 "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" 316 316 }, 317 "time": "202 3-12-03T20:05:35+00:00",317 "time": "2024-07-18T11:15:46+00:00", 318 318 "type": "library", 319 319 "extra": { … … 383 383 "support": { 384 384 "issues": "https://github.com/guzzle/psr7/issues", 385 "source": "https://github.com/guzzle/psr7/tree/2. 6.2"385 "source": "https://github.com/guzzle/psr7/tree/2.7.0" 386 386 }, 387 387 "funding": [ … … 454 454 { 455 455 "name": "php-stubs/wordpress-stubs", 456 "version": "v6. 5.3",457 "version_normalized": "6. 5.3.0",456 "version": "v6.6.0", 457 "version_normalized": "6.6.0.0", 458 458 "source": { 459 459 "type": "git", 460 460 "url": "https://github.com/php-stubs/wordpress-stubs.git", 461 "reference": " e611a83292d02055a25f83291a98fadd0c21e092"462 }, 463 "dist": { 464 "type": "zip", 465 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/ e611a83292d02055a25f83291a98fadd0c21e092",466 "reference": " e611a83292d02055a25f83291a98fadd0c21e092",461 "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2" 462 }, 463 "dist": { 464 "type": "zip", 465 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/86e8753e89d59849276dcdd91b9a7dd78bb4abe2", 466 "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2", 467 467 "shasum": "" 468 468 }, … … 470 470 "dealerdirect/phpcodesniffer-composer-installer": "^1.0", 471 471 "nikic/php-parser": "^4.13", 472 "php": "^7.4 || ~8.0.0",472 "php": "^7.4 || ^8.0", 473 473 "php-stubs/generator": "^0.8.3", 474 "phpdocumentor/reflection-docblock": " 5.3",474 "phpdocumentor/reflection-docblock": "^5.4.1", 475 475 "phpstan/phpstan": "^1.10.49", 476 476 "phpunit/phpunit": "^9.5", 477 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.11" 477 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0", 478 "wp-coding-standards/wpcs": "3.1.0 as 2.3.0" 478 479 }, 479 480 "suggest": { … … 482 483 "szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan" 483 484 }, 484 "time": "2024-0 5-08T02:12:31+00:00",485 "time": "2024-07-17T08:50:38+00:00", 485 486 "type": "library", 486 487 "installation-source": "dist", … … 498 499 "support": { 499 500 "issues": "https://github.com/php-stubs/wordpress-stubs/issues", 500 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6. 5.3"501 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.6.0" 501 502 }, 502 503 "install-path": "../php-stubs/wordpress-stubs" … … 504 505 { 505 506 "name": "phpstan/extension-installer", 506 "version": "1.4. 1",507 "version_normalized": "1.4. 1.0",507 "version": "1.4.3", 508 "version_normalized": "1.4.3.0", 508 509 "source": { 509 510 "type": "git", 510 511 "url": "https://github.com/phpstan/extension-installer.git", 511 "reference": " f6b87faf9fc7978eab2f7919a8760bc9f58f9203"512 }, 513 "dist": { 514 "type": "zip", 515 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/ f6b87faf9fc7978eab2f7919a8760bc9f58f9203",516 "reference": " f6b87faf9fc7978eab2f7919a8760bc9f58f9203",512 "reference": "85e90b3942d06b2326fba0403ec24fe912372936" 513 }, 514 "dist": { 515 "type": "zip", 516 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", 517 "reference": "85e90b3942d06b2326fba0403ec24fe912372936", 517 518 "shasum": "" 518 519 }, … … 520 521 "composer-plugin-api": "^2.0", 521 522 "php": "^7.2 || ^8.0", 522 "phpstan/phpstan": "^1.9.0 "523 "phpstan/phpstan": "^1.9.0 || ^2.0" 523 524 }, 524 525 "require-dev": { … … 527 528 "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0" 528 529 }, 529 "time": "2024-0 6-10T08:20:49+00:00",530 "time": "2024-09-04T20:21:43+00:00", 530 531 "type": "composer-plugin", 531 532 "extra": { … … 543 544 ], 544 545 "description": "Composer plugin for automatic installation of PHPStan extensions", 546 "keywords": [ 547 "dev", 548 "static analysis" 549 ], 545 550 "support": { 546 551 "issues": "https://github.com/phpstan/extension-installer/issues", 547 "source": "https://github.com/phpstan/extension-installer/tree/1.4. 1"552 "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" 548 553 }, 549 554 "install-path": "../phpstan/extension-installer" … … 551 556 { 552 557 "name": "phpstan/phpstan", 553 "version": "1.1 1.7",554 "version_normalized": "1.1 1.7.0",558 "version": "1.12.2", 559 "version_normalized": "1.12.2.0", 555 560 "source": { 556 561 "type": "git", 557 562 "url": "https://github.com/phpstan/phpstan.git", 558 "reference": " 52d2bbfdcae7f895915629e4694e9497d0f8e28d"559 }, 560 "dist": { 561 "type": "zip", 562 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ 52d2bbfdcae7f895915629e4694e9497d0f8e28d",563 "reference": " 52d2bbfdcae7f895915629e4694e9497d0f8e28d",563 "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1" 564 }, 565 "dist": { 566 "type": "zip", 567 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", 568 "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", 564 569 "shasum": "" 565 570 }, … … 570 575 "phpstan/phpstan-shim": "*" 571 576 }, 572 "time": "2024-0 7-06T11:17:41+00:00",577 "time": "2024-09-05T16:09:28+00:00", 573 578 "bin": [ 574 579 "phpstan", … … 977 982 { 978 983 "name": "szepeviktor/phpstan-wordpress", 979 "version": "v1.3. 4",980 "version_normalized": "1.3. 4.0",984 "version": "v1.3.5", 985 "version_normalized": "1.3.5.0", 981 986 "source": { 982 987 "type": "git", 983 988 "url": "https://github.com/szepeviktor/phpstan-wordpress.git", 984 "reference": " 891d0767855a32c886a439efae090408cc1fa156"985 }, 986 "dist": { 987 "type": "zip", 988 "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/ 891d0767855a32c886a439efae090408cc1fa156",989 "reference": " 891d0767855a32c886a439efae090408cc1fa156",989 "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7" 990 }, 991 "dist": { 992 "type": "zip", 993 "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/7f8cfe992faa96b6a33bbd75c7bace98864161e7", 994 "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7", 990 995 "shasum": "" 991 996 }, … … 1002 1007 "phpstan/phpstan-strict-rules": "^1.2", 1003 1008 "phpunit/phpunit": "^8.0 || ^9.0", 1004 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.8" 1009 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0", 1010 "wp-coding-standards/wpcs": "3.1.0 as 2.3.0" 1005 1011 }, 1006 1012 "suggest": { 1007 1013 "swissspidy/phpstan-no-private": "Detect usage of internal core functions, classes and methods" 1008 1014 }, 1009 "time": "2024-0 3-21T16:32:59+00:00",1015 "time": "2024-06-28T22:27:19+00:00", 1010 1016 "type": "phpstan-extension", 1011 1017 "extra": { … … 1036 1042 "support": { 1037 1043 "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues", 1038 "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3. 4"1044 "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3.5" 1039 1045 }, 1040 1046 "install-path": "../szepeviktor/phpstan-wordpress" -
ilovepdf/tags/2.1.3/vendor/composer/installed.php
r3118395 r3147632 4 4 'pretty_version' => 'dev-develop', 5 5 'version' => 'dev-develop', 6 'reference' => ' c465fc260ea39457acb659733b1f8cb99325ae4a',6 'reference' => '53f9e1ed811e4112182f77f70b9357f3cc9058a3', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 21 21 ), 22 22 'guzzlehttp/guzzle' => array( 23 'pretty_version' => '7. 8.1',24 'version' => '7. 8.1.0',25 'reference' => ' 41042bc7ab002487b876a0683fc8dce04ddce104',23 'pretty_version' => '7.9.2', 24 'version' => '7.9.2.0', 25 'reference' => 'd281ed313b989f213357e3be1a179f02196ac99b', 26 26 'type' => 'library', 27 27 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', … … 30 30 ), 31 31 'guzzlehttp/promises' => array( 32 'pretty_version' => '2.0. 2',33 'version' => '2.0. 2.0',34 'reference' => ' bbff78d96034045e58e13dedd6ad91b5d1253223',32 'pretty_version' => '2.0.3', 33 'version' => '2.0.3.0', 34 'reference' => '6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8', 35 35 'type' => 'library', 36 36 'install_path' => __DIR__ . '/../guzzlehttp/promises', … … 39 39 ), 40 40 'guzzlehttp/psr7' => array( 41 'pretty_version' => '2. 6.2',42 'version' => '2. 6.2.0',43 'reference' => ' 45b30f99ac27b5ca93cb4831afe16285f57b8221',41 'pretty_version' => '2.7.0', 42 'version' => '2.7.0.0', 43 'reference' => 'a70f5c95fb43bc83f07c9c948baa0dc1829bf201', 44 44 'type' => 'library', 45 45 'install_path' => __DIR__ . '/../guzzlehttp/psr7', … … 59 59 'pretty_version' => 'dev-develop', 60 60 'version' => 'dev-develop', 61 'reference' => ' c465fc260ea39457acb659733b1f8cb99325ae4a',61 'reference' => '53f9e1ed811e4112182f77f70b9357f3cc9058a3', 62 62 'type' => 'wordpress-plugin', 63 63 'install_path' => __DIR__ . '/../../', … … 66 66 ), 67 67 'php-stubs/wordpress-stubs' => array( 68 'pretty_version' => 'v6. 5.3',69 'version' => '6. 5.3.0',70 'reference' => ' e611a83292d02055a25f83291a98fadd0c21e092',68 'pretty_version' => 'v6.6.0', 69 'version' => '6.6.0.0', 70 'reference' => '86e8753e89d59849276dcdd91b9a7dd78bb4abe2', 71 71 'type' => 'library', 72 72 'install_path' => __DIR__ . '/../php-stubs/wordpress-stubs', … … 75 75 ), 76 76 'phpstan/extension-installer' => array( 77 'pretty_version' => '1.4. 1',78 'version' => '1.4. 1.0',79 'reference' => ' f6b87faf9fc7978eab2f7919a8760bc9f58f9203',77 'pretty_version' => '1.4.3', 78 'version' => '1.4.3.0', 79 'reference' => '85e90b3942d06b2326fba0403ec24fe912372936', 80 80 'type' => 'composer-plugin', 81 81 'install_path' => __DIR__ . '/../phpstan/extension-installer', … … 84 84 ), 85 85 'phpstan/phpstan' => array( 86 'pretty_version' => '1.1 1.7',87 'version' => '1.1 1.7.0',88 'reference' => ' 52d2bbfdcae7f895915629e4694e9497d0f8e28d',86 'pretty_version' => '1.12.2', 87 'version' => '1.12.2.0', 88 'reference' => '0ca1c7bb55fca8fe6448f16fff0f311ccec960a1', 89 89 'type' => 'library', 90 90 'install_path' => __DIR__ . '/../phpstan/phpstan', … … 165 165 ), 166 166 'szepeviktor/phpstan-wordpress' => array( 167 'pretty_version' => 'v1.3. 4',168 'version' => '1.3. 4.0',169 'reference' => ' 891d0767855a32c886a439efae090408cc1fa156',167 'pretty_version' => 'v1.3.5', 168 'version' => '1.3.5.0', 169 'reference' => '7f8cfe992faa96b6a33bbd75c7bace98864161e7', 170 170 'type' => 'phpstan-extension', 171 171 'install_path' => __DIR__ . '/../szepeviktor/phpstan-wordpress', -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/CHANGELOG.md
r3017109 r3147632 2 2 3 3 Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version. 4 5 6 ## 7.9.2 - 2024-07-24 7 8 ### Fixed 9 10 - Adjusted handler selection to use cURL if its version is 7.21.2 or higher, rather than 7.34.0 11 12 13 ## 7.9.1 - 2024-07-19 14 15 ### Fixed 16 17 - Fix TLS 1.3 check for HTTP/2 requests 18 19 20 ## 7.9.0 - 2024-07-18 21 22 ### Changed 23 24 - Improve protocol version checks to provide feedback around unsupported protocols 25 - Only select the cURL handler by default if 7.34.0 or higher is linked 26 - Improved `CurlMultiHandler` to avoid busy wait if possible 27 - Dropped support for EOL `guzzlehttp/psr7` v1 28 - Improved URI user info redaction in errors 29 30 ## 7.8.2 - 2024-07-18 31 32 ### Added 33 34 - Support for PHP 8.4 4 35 5 36 -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/README.md
r3017109 r3147632 63 63 | Version | Status | Packagist | Namespace | Repo | Docs | PSR-7 | PHP Version | 64 64 |---------|---------------------|---------------------|--------------|---------------------|---------------------|-------|--------------| 65 | 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >=5.3.3,<7.0 |66 | 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >=5.4,<7.0 |67 | 5.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >=5.4,<7.4 |68 | 6.x | Security fixes only| `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >=5.5,<8.0 |69 | 7.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >=7.2.5,<8. 4|65 | 3.x | EOL (2016-10-31) | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >=5.3.3,<7.0 | 66 | 4.x | EOL (2016-10-31) | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >=5.4,<7.0 | 67 | 5.x | EOL (2019-10-31) | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >=5.4,<7.4 | 68 | 6.x | EOL (2023-10-31) | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >=5.5,<8.0 | 69 | 7.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >=7.2.5,<8.5 | 70 70 71 71 [guzzle-3-repo]: https://github.com/guzzle/guzzle3 -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/composer.json
r3017109 r3147632 51 51 } 52 52 ], 53 "repositories": [ 54 { 55 "type": "package", 56 "package": { 57 "name": "guzzle/client-integration-tests", 58 "version": "v3.0.2", 59 "dist": { 60 "url": "https://codeload.github.com/guzzle/client-integration-tests/zip/2c025848417c1135031fdf9c728ee53d0a7ceaee", 61 "type": "zip" 62 }, 63 "require": { 64 "php": "^7.2.5 || ^8.0", 65 "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.11", 66 "php-http/message": "^1.0 || ^2.0", 67 "guzzlehttp/psr7": "^1.7 || ^2.0", 68 "th3n3rd/cartesian-product": "^0.3" 69 }, 70 "autoload": { 71 "psr-4": { 72 "Http\\Client\\Tests\\": "src/" 73 } 74 }, 75 "bin": [ 76 "bin/http_test_server" 77 ] 78 } 79 } 80 ], 53 81 "require": { 54 82 "php": "^7.2.5 || ^8.0", 55 83 "ext-json": "*", 56 "guzzlehttp/promises": "^1.5.3 || ^2.0. 1",57 "guzzlehttp/psr7": "^ 1.9.1 || ^2.5.1",84 "guzzlehttp/promises": "^1.5.3 || ^2.0.3", 85 "guzzlehttp/psr7": "^2.7.0", 58 86 "psr/http-client": "^1.0", 59 87 "symfony/deprecation-contracts": "^2.2 || ^3.0" … … 65 93 "ext-curl": "*", 66 94 "bamarni/composer-bin-plugin": "^1.8.2", 67 " php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",95 "guzzle/client-integration-tests": "3.0.2", 68 96 "php-http/message-factory": "^1.1", 69 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15",97 "phpunit/phpunit": "^8.5.39 || ^9.6.20", 70 98 "psr/log": "^1.1 || ^2.0 || ^3.0" 71 99 }, -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/BodySummarizer.php
r2995378 r3147632 12 12 private $truncateAt; 13 13 14 public function __construct( int $truncateAt = null)14 public function __construct(?int $truncateAt = null) 15 15 { 16 16 $this->truncateAt = $truncateAt; … … 23 23 { 24 24 return $this->truncateAt === null 25 ? \GuzzleHttp\Psr7\Message::bodySummary($message)26 : \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);25 ? Psr7\Message::bodySummary($message) 26 : Psr7\Message::bodySummary($message, $this->truncateAt); 27 27 } 28 28 } -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Client.php
r2995378 r3147632 53 53 * @param array $config Client configuration settings. 54 54 * 55 * @see \GuzzleHttp\RequestOptions for a list of available request options.55 * @see RequestOptions for a list of available request options. 56 56 */ 57 57 public function __construct(array $config = []) … … 203 203 * @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0. 204 204 */ 205 public function getConfig( string $option = null)205 public function getConfig(?string $option = null) 206 206 { 207 207 return $option === null -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/ClientInterface.php
r2995378 r3147632 81 81 * @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0. 82 82 */ 83 public function getConfig( string $option = null);83 public function getConfig(?string $option = null); 84 84 } -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
r3017109 r3147632 104 104 } 105 105 106 public function clear( string $domain = null, string $path = null,string $name = null): void106 public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void 107 107 { 108 108 if (!$domain) { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
r2995378 r3147632 63 63 * @param string|null $name Clears cookies matching a domain, path, and name 64 64 */ 65 public function clear( string $domain = null, string $path = null,string $name = null): void;65 public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void; 66 66 67 67 /** -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php
r2995378 r3147632 15 15 RequestInterface $request, 16 16 ResponseInterface $response, 17 \Throwable $previous = null,17 ?\Throwable $previous = null, 18 18 array $handlerContext = [] 19 19 ) { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php
r2995378 r3147632 26 26 string $message, 27 27 RequestInterface $request, 28 \Throwable $previous = null,28 ?\Throwable $previous = null, 29 29 array $handlerContext = [] 30 30 ) { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
r2995378 r3147632 8 8 use Psr\Http\Message\RequestInterface; 9 9 use Psr\Http\Message\ResponseInterface; 10 use Psr\Http\Message\UriInterface;11 10 12 11 /** … … 33 32 string $message, 34 33 RequestInterface $request, 35 ResponseInterface $response = null,36 \Throwable $previous = null,34 ?ResponseInterface $response = null, 35 ?\Throwable $previous = null, 37 36 array $handlerContext = [] 38 37 ) { … … 64 63 public static function create( 65 64 RequestInterface $request, 66 ResponseInterface $response = null,67 \Throwable $previous = null,65 ?ResponseInterface $response = null, 66 ?\Throwable $previous = null, 68 67 array $handlerContext = [], 69 BodySummarizerInterface $bodySummarizer = null68 ?BodySummarizerInterface $bodySummarizer = null 70 69 ): self { 71 70 if (!$response) { … … 91 90 } 92 91 93 $uri = $request->getUri(); 94 $uri = static::obfuscateUri($uri); 92 $uri = \GuzzleHttp\Psr7\Utils::redactUserInfo($request->getUri()); 95 93 96 94 // Client Error: `GET /` resulted in a `404 Not Found` response: … … 112 110 113 111 return new $className($message, $request, $response, $previous, $handlerContext); 114 }115 116 /**117 * Obfuscates URI if there is a username and a password present118 */119 private static function obfuscateUri(UriInterface $uri): UriInterface120 {121 $userInfo = $uri->getUserInfo();122 123 if (false !== ($pos = \strpos($userInfo, ':'))) {124 return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');125 }126 127 return $uri;128 112 } 129 113 -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
r3017109 r3147632 12 12 use GuzzleHttp\Utils; 13 13 use Psr\Http\Message\RequestInterface; 14 use Psr\Http\Message\UriInterface; 14 15 15 16 /** … … 47 48 public function create(RequestInterface $request, array $options): EasyHandle 48 49 { 50 $protocolVersion = $request->getProtocolVersion(); 51 52 if ('2' === $protocolVersion || '2.0' === $protocolVersion) { 53 if (!self::supportsHttp2()) { 54 throw new ConnectException('HTTP/2 is supported by the cURL handler, however libcurl is built without HTTP/2 support.', $request); 55 } 56 } elseif ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) { 57 throw new ConnectException(sprintf('HTTP/%s is not supported by the cURL handler.', $protocolVersion), $request); 58 } 59 49 60 if (isset($options['curl']['body_as_string'])) { 50 61 $options['_body_as_string'] = $options['curl']['body_as_string']; … … 71 82 72 83 return $easy; 84 } 85 86 private static function supportsHttp2(): bool 87 { 88 static $supportsHttp2 = null; 89 90 if (null === $supportsHttp2) { 91 $supportsHttp2 = self::supportsTls12() 92 && defined('CURL_VERSION_HTTP2') 93 && (\CURL_VERSION_HTTP2 & \curl_version()['features']); 94 } 95 96 return $supportsHttp2; 97 } 98 99 private static function supportsTls12(): bool 100 { 101 static $supportsTls12 = null; 102 103 if (null === $supportsTls12) { 104 $supportsTls12 = \CURL_SSLVERSION_TLSv1_2 & \curl_version()['features']; 105 } 106 107 return $supportsTls12; 108 } 109 110 private static function supportsTls13(): bool 111 { 112 static $supportsTls13 = null; 113 114 if (null === $supportsTls13) { 115 $supportsTls13 = defined('CURL_SSLVERSION_TLSv1_3') 116 && (\CURL_SSLVERSION_TLSv1_3 & \curl_version()['features']); 117 } 118 119 return $supportsTls13; 73 120 } 74 121 … … 148 195 'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME), 149 196 ] + \curl_getinfo($easy->handle); 150 $ctx[self::CURL_VERSION_STR] = \curl_version()['version'];197 $ctx[self::CURL_VERSION_STR] = self::getCurlVersion(); 151 198 $factory->release($easy); 152 199 … … 157 204 158 205 return self::createRejection($easy, $ctx); 206 } 207 208 private static function getCurlVersion(): string 209 { 210 static $curlVersion = null; 211 212 if (null === $curlVersion) { 213 $curlVersion = \curl_version()['version']; 214 } 215 216 return $curlVersion; 159 217 } 160 218 … … 195 253 } 196 254 255 $uri = $easy->request->getUri(); 256 257 $sanitizedError = self::sanitizeCurlError($ctx['error'] ?? '', $uri); 258 197 259 $message = \sprintf( 198 260 'cURL error %s: %s (%s)', 199 261 $ctx['errno'], 200 $ ctx['error'],262 $sanitizedError, 201 263 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html' 202 264 ); 203 $uriString = (string) $easy->request->getUri(); 204 if ($uriString !== '' && false === \strpos($ctx['error'], $uriString)) { 205 $message .= \sprintf(' for %s', $uriString); 265 266 if ('' !== $sanitizedError) { 267 $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($uri)->__toString(); 268 if ($redactedUriString !== '' && false === \strpos($sanitizedError, $redactedUriString)) { 269 $message .= \sprintf(' for %s', $redactedUriString); 270 } 206 271 } 207 272 … … 212 277 213 278 return P\Create::rejectionFor($error); 279 } 280 281 private static function sanitizeCurlError(string $error, UriInterface $uri): string 282 { 283 if ('' === $error) { 284 return $error; 285 } 286 287 $baseUri = $uri->withQuery('')->withFragment(''); 288 $baseUriString = $baseUri->__toString(); 289 290 if ('' === $baseUriString) { 291 return $error; 292 } 293 294 $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($baseUri)->__toString(); 295 296 return str_replace($baseUriString, $redactedUriString, $error); 214 297 } 215 298 … … 233 316 234 317 $version = $easy->request->getProtocolVersion(); 235 if ($version == 1.1) { 318 319 if ('2' === $version || '2.0' === $version) { 320 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0; 321 } elseif ('1.1' === $version) { 236 322 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1; 237 } elseif ($version == 2.0) {238 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;239 323 } else { 240 324 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0; … … 391 475 // sets a matching 'Accept-Encoding' header. 392 476 $conf[\CURLOPT_ENCODING] = ''; 393 // But as the user did not specify any acceptable encodings we need 394 // to overwrite this implicit header with an empty one. 477 // But as the user did not specify any encoding preference, 478 // let's leave it up to server by preventing curl from sending 479 // the header, which will be interpreted as 'Accept-Encoding: *'. 480 // https://www.rfc-editor.org/rfc/rfc9110#field.accept-encoding 395 481 $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:'; 396 482 } … … 456 542 457 543 if (isset($options['crypto_method'])) { 458 if (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) { 459 if (!defined('CURL_SSLVERSION_TLSv1_0')) { 460 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.0 not supported by your version of cURL'); 461 } 544 $protocolVersion = $easy->request->getProtocolVersion(); 545 546 // If HTTP/2, upgrade TLS 1.0 and 1.1 to 1.2 547 if ('2' === $protocolVersion || '2.0' === $protocolVersion) { 548 if ( 549 \STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method'] 550 || \STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method'] 551 || \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method'] 552 ) { 553 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; 554 } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { 555 if (!self::supportsTls13()) { 556 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); 557 } 558 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3; 559 } else { 560 throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided'); 561 } 562 } elseif (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) { 462 563 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0; 463 564 } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) { 464 if (!defined('CURL_SSLVERSION_TLSv1_1')) {465 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.1 not supported by your version of cURL');466 }467 565 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1; 468 566 } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) { 469 if (! defined('CURL_SSLVERSION_TLSv1_2')) {567 if (!self::supportsTls12()) { 470 568 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL'); 471 569 } 472 570 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; 473 571 } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { 474 if (! defined('CURL_SSLVERSION_TLSv1_3')) {572 if (!self::supportsTls13()) { 475 573 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); 476 574 } -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
r2995378 r3147632 3 3 namespace GuzzleHttp\Handler; 4 4 5 use Closure; 5 6 use GuzzleHttp\Promise as P; 6 7 use GuzzleHttp\Promise\Promise; … … 160 161 } 161 162 163 // Run curl_multi_exec in the queue to enable other async tasks to run 164 P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue'])); 165 162 166 // Step through the task queue which may add additional requests. 163 167 P\Utils::queue()->run(); … … 170 174 171 175 while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) { 176 // Prevent busy looping for slow HTTP requests. 177 \curl_multi_select($this->_mh, $this->selectTimeout); 172 178 } 173 179 174 180 $this->processMessages(); 181 } 182 183 /** 184 * Runs \curl_multi_exec() inside the event loop, to prevent busy looping 185 */ 186 private function tickInQueue(): void 187 { 188 if (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) { 189 \curl_multi_select($this->_mh, 0); 190 P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue'])); 191 } 175 192 } 176 193 -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
r2995378 r3147632 53 53 * @param callable|null $onRejected Callback to invoke when the return value is rejected. 54 54 */ 55 public static function createWithMiddleware( array $queue = null, callable $onFulfilled = null,callable $onRejected = null): HandlerStack55 public static function createWithMiddleware(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null): HandlerStack 56 56 { 57 57 return HandlerStack::create(new self($queue, $onFulfilled, $onRejected)); … … 60 60 /** 61 61 * The passed in value must be an array of 62 * {@see \Psr\Http\Message\ResponseInterface} objects, Exceptions,62 * {@see ResponseInterface} objects, Exceptions, 63 63 * callables, or Promises. 64 64 * … … 67 67 * @param callable|null $onRejected Callback to invoke when the return value is rejected. 68 68 */ 69 public function __construct( array $queue = null, callable $onFulfilled = null,callable $onRejected = null)69 public function __construct(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null) 70 70 { 71 71 $this->onFulfilled = $onFulfilled; … … 201 201 RequestInterface $request, 202 202 array $options, 203 ResponseInterface $response = null,203 ?ResponseInterface $response = null, 204 204 $reason = null 205 205 ): void { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
r2995378 r3147632 39 39 if (isset($options['delay'])) { 40 40 \usleep($options['delay'] * 1000); 41 } 42 43 $protocolVersion = $request->getProtocolVersion(); 44 45 if ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) { 46 throw new ConnectException(sprintf('HTTP/%s is not supported by the stream handler.', $protocolVersion), $request); 41 47 } 42 48 … … 84 90 RequestInterface $request, 85 91 ?float $startTime, 86 ResponseInterface $response = null,87 \Throwable $error = null92 ?ResponseInterface $response = null, 93 ?\Throwable $error = null 88 94 ): void { 89 95 if (isset($options['on_stats'])) { … … 274 280 // HTTP/1.1 streams using the PHP stream wrapper require a 275 281 // Connection: close header 276 if ($request->getProtocolVersion() == '1.1'282 if ($request->getProtocolVersion() === '1.1' 277 283 && !$request->hasHeader('Connection') 278 284 ) { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/HandlerStack.php
r2995378 r3147632 45 45 * system will be utilized. 46 46 */ 47 public static function create( callable $handler = null): self47 public static function create(?callable $handler = null): self 48 48 { 49 49 $stack = new self($handler ?: Utils::chooseHandler()); … … 59 59 * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler. 60 60 */ 61 public function __construct( callable $handler = null)61 public function __construct(?callable $handler = null) 62 62 { 63 63 $this->handler = $handler; … … 132 132 * @param string $name Name to register for this middleware. 133 133 */ 134 public function unshift(callable $middleware, string $name = null): void134 public function unshift(callable $middleware, ?string $name = null): void 135 135 { 136 136 \array_unshift($this->stack, [$middleware, $name]); -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/MessageFormatter.php
r2995378 r3147632 69 69 * @param \Throwable|null $error Exception that was received 70 70 */ 71 public function format(RequestInterface $request, ResponseInterface $response = null,\Throwable $error = null): string71 public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string 72 72 { 73 73 $cache = []; -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php
r2995378 r3147632 15 15 * @param \Throwable|null $error Exception that was received 16 16 */ 17 public function format(RequestInterface $request, ResponseInterface $response = null,\Throwable $error = null): string;17 public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string; 18 18 } -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Middleware.php
r2995378 r3147632 56 56 * @return callable(callable): callable Returns a function that accepts the next handler. 57 57 */ 58 public static function httpErrors( BodySummarizerInterface $bodySummarizer = null): callable58 public static function httpErrors(?BodySummarizerInterface $bodySummarizer = null): callable 59 59 { 60 60 return static function (callable $handler) use ($bodySummarizer): callable { … … 133 133 * @return callable Returns a function that accepts the next handler. 134 134 */ 135 public static function tap( callable $before = null,callable $after = null): callable135 public static function tap(?callable $before = null, ?callable $after = null): callable 136 136 { 137 137 return static function (callable $handler) use ($before, $after): callable { … … 177 177 * @return callable Returns a function that accepts the next handler. 178 178 */ 179 public static function retry(callable $decider, callable $delay = null): callable179 public static function retry(callable $decider, ?callable $delay = null): callable 180 180 { 181 181 return static function (callable $handler) use ($decider, $delay): RetryMiddleware { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
r2995378 r3147632 77 77 $expect = $options['expect'] ?? null; 78 78 79 // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.080 if ($expect === false || $request->getProtocolVersion() < 1.1) {79 // Return if disabled or using HTTP/1.0 80 if ($expect === false || $request->getProtocolVersion() === '1.0') { 81 81 return; 82 82 } -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/RequestOptions.php
r3017109 r3147632 62 62 * jar to use or what cookies to send. This option only works if your 63 63 * handler has the `cookie` middleware. Valid values are `false` and 64 * an instance of {@see \GuzzleHttp\Cookie\CookieJarInterface}.64 * an instance of {@see Cookie\CookieJarInterface}. 65 65 */ 66 66 public const COOKIES = 'cookies'; -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
r2995378 r3147632 41 41 * milliseconds to delay. 42 42 */ 43 public function __construct(callable $decider, callable $nextHandler, callable $delay = null)43 public function __construct(callable $decider, callable $nextHandler, ?callable $delay = null) 44 44 { 45 45 $this->decider = $decider; … … 111 111 } 112 112 113 private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null): PromiseInterface113 private function doRetry(RequestInterface $request, array $options, ?ResponseInterface $response = null): PromiseInterface 114 114 { 115 115 $options['delay'] = ($this->delay)(++$options['retries'], $response, $request); -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/TransferStats.php
r2995378 r3147632 47 47 public function __construct( 48 48 RequestInterface $request, 49 ResponseInterface $response = null,50 float $transferTime = null,49 ?ResponseInterface $response = null, 50 ?float $transferTime = null, 51 51 $handlerErrorData = null, 52 52 array $handlerStats = [] -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/guzzle/src/Utils.php
r3017109 r3147632 72 72 } 73 73 74 return \GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w');74 return Psr7\Utils::tryFopen('php://output', 'w'); 75 75 } 76 76 … … 88 88 $handler = null; 89 89 90 if (\defined('CURLOPT_CUSTOMREQUEST') ) {90 if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.21.2') >= 0) { 91 91 if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) { 92 92 $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler()); -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/CHANGELOG.md
r3017109 r3147632 1 1 # CHANGELOG 2 3 4 ## 2.0.3 - 2024-07-18 5 6 ### Changed 7 8 - PHP 8.4 support 2 9 3 10 -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/README.md
r2995378 r3147632 39 39 ## Version Guidance 40 40 41 | Version | Status | PHP Version |42 |---------|--------------------- ---|--------------|43 | 1.x | Bug and security fixes| >=5.5,<8.3 |44 | 2.x | Latest | >=7.2.5,<8.4|41 | Version | Status | PHP Version | 42 |---------|---------------------|--------------| 43 | 1.x | Security fixes only | >=5.5,<8.3 | 44 | 2.x | Latest | >=7.2.5,<8.5 | 45 45 46 46 -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/composer.json
r3017109 r3147632 31 31 "require-dev": { 32 32 "bamarni/composer-bin-plugin": "^1.8.2", 33 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15"33 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 34 34 }, 35 35 "autoload": { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/Coroutine.php
r2995378 r3147632 85 85 86 86 public function then( 87 callable $onFulfilled = null,88 callable $onRejected = null87 ?callable $onFulfilled = null, 88 ?callable $onRejected = null 89 89 ): PromiseInterface { 90 90 return $this->result->then($onFulfilled, $onRejected); -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/Each.php
r3017109 r3147632 24 24 public static function of( 25 25 $iterable, 26 callable $onFulfilled = null,27 callable $onRejected = null26 ?callable $onFulfilled = null, 27 ?callable $onRejected = null 28 28 ): PromiseInterface { 29 29 return (new EachPromise($iterable, [ … … 47 47 $iterable, 48 48 $concurrency, 49 callable $onFulfilled = null,50 callable $onRejected = null49 ?callable $onFulfilled = null, 50 ?callable $onRejected = null 51 51 ): PromiseInterface { 52 52 return (new EachPromise($iterable, [ … … 68 68 $iterable, 69 69 $concurrency, 70 callable $onFulfilled = null70 ?callable $onFulfilled = null 71 71 ): PromiseInterface { 72 72 return self::ofLimit( -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/FulfilledPromise.php
r2995378 r3147632 32 32 33 33 public function then( 34 callable $onFulfilled = null,35 callable $onRejected = null34 ?callable $onFulfilled = null, 35 ?callable $onRejected = null 36 36 ): PromiseInterface { 37 37 // Return itself if there is no onFulfilled function. -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/Promise.php
r2995378 r3147632 26 26 */ 27 27 public function __construct( 28 callable $waitFn = null,29 callable $cancelFn = null28 ?callable $waitFn = null, 29 ?callable $cancelFn = null 30 30 ) { 31 31 $this->waitFn = $waitFn; … … 34 34 35 35 public function then( 36 callable $onFulfilled = null,37 callable $onRejected = null36 ?callable $onFulfilled = null, 37 ?callable $onRejected = null 38 38 ): PromiseInterface { 39 39 if ($this->state === self::PENDING) { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/PromiseInterface.php
r2995378 r3147632 28 28 */ 29 29 public function then( 30 callable $onFulfilled = null,31 callable $onRejected = null30 ?callable $onFulfilled = null, 31 ?callable $onRejected = null 32 32 ): PromiseInterface; 33 33 -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/RejectedPromise.php
r2995378 r3147632 32 32 33 33 public function then( 34 callable $onFulfilled = null,35 callable $onRejected = null34 ?callable $onFulfilled = null, 35 ?callable $onRejected = null 36 36 ): PromiseInterface { 37 37 // If there's no onRejected callback then just return self. -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/RejectionException.php
r3017109 r3147632 19 19 * @param string|null $description Optional description. 20 20 */ 21 public function __construct($reason, string $description = null)21 public function __construct($reason, ?string $description = null) 22 22 { 23 23 $this->reason = $reason; -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/promises/src/Utils.php
r2995378 r3147632 22 22 * @param TaskQueueInterface|null $assign Optionally specify a new queue instance. 23 23 */ 24 public static function queue( TaskQueueInterface $assign = null): TaskQueueInterface24 public static function queue(?TaskQueueInterface $assign = null): TaskQueueInterface 25 25 { 26 26 static $queue; -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/CHANGELOG.md
r3017109 r3147632 5 5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) 6 6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 8 ## 2.7.0 - 2024-07-18 9 10 ### Added 11 12 - Add `Utils::redactUserInfo()` method 13 - Add ability to encode bools as ints in `Query::build` 14 15 ## 2.6.3 - 2024-07-18 16 17 ### Fixed 18 19 - Make `StreamWrapper::stream_stat()` return `false` if inner stream's size is `null` 20 21 ### Changed 22 23 - PHP 8.4 support 7 24 8 25 ## 2.6.2 - 2023-12-03 -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/README.md
r3017109 r3147632 25 25 | Version | Status | PHP Version | 26 26 |---------|---------------------|--------------| 27 | 1.x | Security fixes only | >=5.4,<8.1|28 | 2.x | Latest | >=7.2.5,<8. 4|27 | 1.x | EOL (2024-06-30) | >=5.4,<8.2 | 28 | 2.x | Latest | >=7.2.5,<8.5 | 29 29 30 30 … … 437 437 ## `GuzzleHttp\Psr7\Query::build` 438 438 439 `public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986 ): string`439 `public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string` 440 440 441 441 Build a query string from an array of key value pairs. … … 499 499 ## `GuzzleHttp\Psr7\Utils::readLine` 500 500 501 `public static function readLine(StreamInterface $stream, int $maxLength = null): string`501 `public static function readLine(StreamInterface $stream, ?int $maxLength = null): string` 502 502 503 503 Read a line from the stream up to the maximum allowed buffer length. 504 505 506 ## `GuzzleHttp\Psr7\Utils::redactUserInfo` 507 508 `public static function redactUserInfo(UriInterface $uri): UriInterface` 509 510 Redact the password in the user info part of a URI. 504 511 505 512 … … 675 682 ### `GuzzleHttp\Psr7\Uri::isSameDocumentReference` 676 683 677 `public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool`684 `public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool` 678 685 679 686 Whether the URI is a same-document reference. A same-document reference refers to a URI that is, aside from its -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/composer.json
r3017109 r3147632 62 62 "require-dev": { 63 63 "bamarni/composer-bin-plugin": "^1.8.2", 64 "http-interop/http-factory-tests": " ^0.9",65 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15"64 "http-interop/http-factory-tests": "0.9.0", 65 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 66 66 }, 67 67 "suggest": { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/CachingStream.php
r2995378 r3147632 34 34 public function __construct( 35 35 StreamInterface $stream, 36 StreamInterface $target = null36 ?StreamInterface $target = null 37 37 ) { 38 38 $this->remoteStream = $stream; -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/HttpFactory.php
r2995378 r3147632 28 28 public function createUploadedFile( 29 29 StreamInterface $stream, 30 int $size = null,30 ?int $size = null, 31 31 int $error = \UPLOAD_ERR_OK, 32 string $clientFilename = null,33 string $clientMediaType = null32 ?string $clientFilename = null, 33 ?string $clientMediaType = null 34 34 ): UploadedFileInterface { 35 35 if ($size === null) { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/MultipartStream.php
r3017109 r3147632 33 33 * @throws \InvalidArgumentException 34 34 */ 35 public function __construct(array $elements = [], string $boundary = null)35 public function __construct(array $elements = [], ?string $boundary = null) 36 36 { 37 37 $this->boundary = $boundary ?: bin2hex(random_bytes(20)); -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/Query.php
r2995378 r3147632 64 64 * encountered (like `http_build_query()` would). 65 65 * 66 * @param array $params Query string parameters. 67 * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986 68 * to encode using RFC3986, or PHP_QUERY_RFC1738 69 * to encode using RFC1738. 66 * @param array $params Query string parameters. 67 * @param int|false $encoding Set to false to not encode, 68 * PHP_QUERY_RFC3986 to encode using 69 * RFC3986, or PHP_QUERY_RFC1738 to 70 * encode using RFC1738. 71 * @param bool $treatBoolsAsInts Set to true to encode as 0/1, and 72 * false as false/true. 70 73 */ 71 public static function build(array $params, $encoding = PHP_QUERY_RFC3986 ): string74 public static function build(array $params, $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string 72 75 { 73 76 if (!$params) { … … 87 90 } 88 91 92 $castBool = $treatBoolsAsInts ? static function ($v) { return (int) $v; } : static function ($v) { return $v ? 'true' : 'false'; }; 93 89 94 $qs = ''; 90 95 foreach ($params as $k => $v) { … … 92 97 if (!is_array($v)) { 93 98 $qs .= $k; 94 $v = is_bool($v) ? (int) $v: $v;99 $v = is_bool($v) ? $castBool($v) : $v; 95 100 if ($v !== null) { 96 101 $qs .= '='.$encoder((string) $v); … … 100 105 foreach ($v as $vv) { 101 106 $qs .= $k; 102 $vv = is_bool($vv) ? (int) $vv: $vv;107 $vv = is_bool($vv) ? $castBool($vv) : $vv; 103 108 if ($vv !== null) { 104 109 $qs .= '='.$encoder((string) $vv); -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/Response.php
r3017109 r3147632 97 97 $body = null, 98 98 string $version = '1.1', 99 string $reason = null99 ?string $reason = null 100 100 ) { 101 101 $this->assertStatusCodeRange($status); -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/StreamWrapper.php
r3017109 r3147632 70 70 } 71 71 72 public function stream_open(string $path, string $mode, int $options, string &$opened_path = null): bool72 public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool 73 73 { 74 74 $options = stream_context_get_options($this->context); … … 120 120 121 121 return $resource ?? false; 122 } 123 124 /** 125 * @return array{ 126 * dev: int, 127 * ino: int, 128 * mode: int, 129 * nlink: int, 130 * uid: int, 131 * gid: int, 132 * rdev: int, 133 * size: int, 134 * atime: int, 135 * mtime: int, 136 * ctime: int, 137 * blksize: int, 138 * blocks: int 139 * }|false 140 */ 141 public function stream_stat() 142 { 143 if ($this->stream->getSize() === null) { 144 return false; 145 } 146 147 static $modeMap = [ 148 'r' => 33060, 149 'rb' => 33060, 150 'r+' => 33206, 151 'w' => 33188, 152 'wb' => 33188, 153 ]; 154 155 return [ 156 'dev' => 0, 157 'ino' => 0, 158 'mode' => $modeMap[$this->mode], 159 'nlink' => 0, 160 'uid' => 0, 161 'gid' => 0, 162 'rdev' => 0, 163 'size' => $this->stream->getSize() ?: 0, 164 'atime' => 0, 165 'mtime' => 0, 166 'ctime' => 0, 167 'blksize' => 0, 168 'blocks' => 0, 169 ]; 122 170 } 123 171 … … 139 187 * } 140 188 */ 141 public function stream_stat(): array142 {143 static $modeMap = [144 'r' => 33060,145 'rb' => 33060,146 'r+' => 33206,147 'w' => 33188,148 'wb' => 33188,149 ];150 151 return [152 'dev' => 0,153 'ino' => 0,154 'mode' => $modeMap[$this->mode],155 'nlink' => 0,156 'uid' => 0,157 'gid' => 0,158 'rdev' => 0,159 'size' => $this->stream->getSize() ?: 0,160 'atime' => 0,161 'mtime' => 0,162 'ctime' => 0,163 'blksize' => 0,164 'blocks' => 0,165 ];166 }167 168 /**169 * @return array{170 * dev: int,171 * ino: int,172 * mode: int,173 * nlink: int,174 * uid: int,175 * gid: int,176 * rdev: int,177 * size: int,178 * atime: int,179 * mtime: int,180 * ctime: int,181 * blksize: int,182 * blocks: int183 * }184 */185 189 public function url_stat(string $path, int $flags): array 186 190 { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/UploadedFile.php
r3017109 r3147632 65 65 ?int $size, 66 66 int $errorStatus, 67 string $clientFilename = null,68 string $clientMediaType = null67 ?string $clientFilename = null, 68 ?string $clientMediaType = null 69 69 ) { 70 70 $this->setError($errorStatus); -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/Uri.php
r3017109 r3147632 280 280 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.4 281 281 */ 282 public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool282 public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool 283 283 { 284 284 if ($base !== null) { -
ilovepdf/tags/2.1.3/vendor/guzzlehttp/psr7/src/Utils.php
r3017109 r3147632 232 232 * @param int|null $maxLength Maximum buffer length 233 233 */ 234 public static function readLine(StreamInterface $stream, int $maxLength = null): string234 public static function readLine(StreamInterface $stream, ?int $maxLength = null): string 235 235 { 236 236 $buffer = ''; … … 249 249 250 250 return $buffer; 251 } 252 253 /** 254 * Redact the password in the user info part of a URI. 255 */ 256 public static function redactUserInfo(UriInterface $uri): UriInterface 257 { 258 $userInfo = $uri->getUserInfo(); 259 260 if (false !== ($pos = \strpos($userInfo, ':'))) { 261 return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***'); 262 } 263 264 return $uri; 251 265 } 252 266 -
ilovepdf/trunk/README.md
r3118395 r3147632 1 === PDF Compressor & Watermark - iLovePDF === 2 Plugin Name: Image Compressor & Optimizer - iLovePDF 3 Version: 2.1.2 4 Author: iLovePDF 5 Author URI: https://www.ilovepdf.com/ 6 Contributors: iLovePDF 7 Tags: compress, watermark, optimize, performance, pdf optimizer 8 Requires at least: 5.3 9 Tested up to: 6.5.5 10 Stable tag: 2.1.2 11 Requires PHP: 7.4 12 License: GPLv2 or later 13 License URI: https://www.gnu.org/licenses/gpl-2.0.html 1 # PDF Compressor & Watermark - iLovePDF 14 2 15 Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for Wordpress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com. 3 **PDF Compressor & Watermark - iLovePDF** is the official iLovePDF plugin for WordPress. It allows you to automatically compress your PDF files and add watermarks, saving storage space and enhancing your PDF's security. 16 4 17 == Description == 5 With seamless integration, you can optimize all PDFs in your Media Library and stamp them automatically—just like you do on [iLovePDF.com](https://www.ilovepdf.com/). 18 6 19 ### How it works7 ### Key Features 20 8 21 The plugin has two modes of work, automatic or manual. 22 Compress PDF: Every time a PDF file is uploaded to your Media Library, is compressed by our iLovePDF API and saved in your WordPress site already optimized, saving you disk space. This feature can be disabled. 9 - **Automatic Compression:** PDFs are compressed upon upload using the iLovePDF API, saving up to 50% storage space without losing quality. 10 - **Watermarking:** Automatically add text or image watermarks to your PDFs upon upload to safeguard your files. 11 - **Manual & Bulk Actions:** Compress or add watermarks to existing PDFs individually or in bulk. 12 - **Easy to Use:** Configure it once, and the plugin handles the rest, automating PDF optimization for future uploads. 23 13 24 It can also compress all PDF already in your Media Library at once or compress PDF files one by one. The compression ratio depends on the PDF but on average you can save up to 50% of disk space occupied by PDF files without loosing quality. 14 ## How It Works 25 15 26 Watermark PDF: Every time a PDF file is uploaded to your Media Library, is stamped by our iLovePDF API and saved in your WordPress. This feature can be disabled. 27 It can also stamp images or text in PDF already in your Media Library at once or stamp PDF files one by one. 16 ### PDF Compression 28 17 18 - **Automatic:** Every time a PDF is uploaded, it gets compressed via iLovePDF API, reducing file size while maintaining quality. This feature can be toggled off if needed. 19 - **Manual:** Compress PDFs one by one or all at once from the Media Library. On average, compression can save up to 50% of the disk space. 29 20 30 ### Bulk actions21 ### Watermarking PDFs 31 22 32 All tools can be done for an individual files or applied to all your existing files. 23 - **Automatic:** Add watermarks to PDFs upon upload. This feature can also be disabled if not required. 24 - **Manual:** Watermark PDFs individually or apply watermarks in bulk to existing files. You can choose between text or image watermarks. 33 25 34 ### Automatic process26 ### Bulk Actions 35 27 36 All tools can be applied automatically when a PDF file is upload, so you don't need to apply any manual anymore.28 Easily apply compression or watermarking actions to multiple files at once, streamlining your file management process. Bulk actions can be performed on all files in the Media Library with a single click. 37 29 38 == Installation == 30 ### Automatic Processing 39 31 40 From your Admin panel: 41 1. Visit Plugins > Add New. 42 2. Search for ‘ilovepdf’ and press the ‘Install Now’ button. 43 3. Activate the plugin from your Plugins page. 32 Set up the plugin to apply compression and watermarking automatically for all future PDF uploads, eliminating the need for manual intervention. 44 33 45 Manual: 46 1. Upload `ilove-pdf` to the `/wp-content/plugins/` directory 47 2. Activate the plugin through the 'Plugins' menu in WordPress 48 3. Create a free account in the plugin settings page, or use your existing one 49 4. Configure the plugin as you like 34 ## Installation 50 35 51 Configure your iLovePDF Developer Account: 52 Install this plugin and go to Settings -> iLovePDF to create your iLovePDF Developer account (if you already registered previously on https://developer.ilovepdf.com you can login directly) and choose your Project, but by default it will be selected ‘Default Project’. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLovePDF developer account. With your iLovePDF API Free account you get 250 free PDF files to process per month. If you need more you can purchase them 36 ### From the WordPress Admin Panel: 37 1. Navigate to **Plugins > Add New**. 38 2. Search for "iLovePDF" and click **Install Now**. 39 3. After installation, activate the plugin from your **Plugins page.** 53 40 41 ### Manual Installation: 42 1. Upload the `ilovepdf` folder to the `/wp-content/plugins/` directory. 43 2. Activate the plugin through the **Plugins** menu in WordPress. 44 3. Go to the plugin settings page and create a free account or log in with an existing iLoveAPI account. 45 4. Configure the settings as per your requirements. 54 46 55 == Frequently Asked Questions == 47 ### iLoveAPI Developer Account Setup: 48 - Go to **Register** to create an iLoveAPI Developer account (or use an existing one if you've already registered at [iLoveAPI Developer](https://iloveapi.com)). 49 - Select a project, which will determine which API keys to use. The "Default Project" is selected by default. 50 - Free accounts can process up to **2500 credits per month**. If more is needed, additional processing can be purchased. 56 51 57 ###Do I need a iLovePDF account?58 59 Yes, you need a `developer` account. It can be created easily from your Wordpress, or you can use your existing one.60 61 ###Is this service free?62 63 With a free account you can process up to 250 files each month. If you need more, you can upgrade your account.64 65 ###What happens when the limit is reached?66 67 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 250 files are free, so in next month you will be able to process more files again! -
ilovepdf/trunk/README.txt
r3118395 r3147632 1 1 === PDF Compressor & Watermark - iLovePDF === 2 2 Plugin Name: Image Compressor & Optimizer - iLovePDF 3 Version: 2.1. 23 Version: 2.1.3 4 4 Author: iLovePDF 5 5 Author URI: https://www.ilovepdf.com/ … … 7 7 Tags: compress, watermark, optimize, performance, pdf optimizer 8 8 Requires at least: 5.3 9 Tested up to: 6. 5.510 Stable tag: 2.1. 29 Tested up to: 6.6.1 10 Stable tag: 2.1.3 11 11 Requires PHP: 7.4 12 12 License: GPLv2 or later 13 13 License URI: https://www.gnu.org/licenses/gpl-2.0.html 14 14 15 A wordpress plugin by iLovePDF.15 Optimize and protect your PDFs with automatic compression and watermarking. Save space and secure your documents effortlessly. 16 16 17 17 == Description == … … 41 41 From your Admin panel: 42 42 1. Visit Plugins > Add New. 43 2. Search for ‘ilovepdf’ and press the ‘Install Now’button.43 2. Search for **ilovePDF** and press the **Install Now** button. 44 44 3. Activate the plugin from your Plugins page. 45 45 46 46 Manual: 47 1. Upload `ilove -pdf` to the `/wp-content/plugins/` directory47 1. Upload `ilovepdf` to the `/wp-content/plugins/` directory 48 48 2. Activate the plugin through the 'Plugins' menu in WordPress 49 49 3. Create a free account in the plugin settings page, or use your existing one 50 50 4. Configure the plugin as you like 51 51 52 == Configure your iLove PDFDeveloper Account ==53 54 Install this plugin and go to Settings -> iLovePDF to create your iLovePDF Developer account (if you already registered previously on https://developer.ilovepdf.com you can login directly) and choose your Project, but by default it will be selected ‘Default Project’. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLovePDF developer account. With your iLovePDF API Free account you get 250 free PDF files to process per month. If you need more you can purchase them55 56 By going to Settings -> iLovePDF -> Compress PDFyou can set the compression level you prefer to optimize your PDF files. We strongly recommend you to use ‘Recommended Compression’ which offers the perfect balance between compression and quality. In this section you can disable the auto compression of new uploaded PDF files in your Media Library.57 58 By going to Settings -> iLovePDF -> Watermark PDFyou can set many options on what to stamp and how into your PDF files. In this section you can disable the auto stamping of new uploaded PDF files in your Media Library.59 60 To Compress or Stamp PDF files that are already in your Media Library go to Media -> iLovePDF -> Compress PDF or Media -> iLovePDF -> Watermark52 == Configure your iLoveAPI Developer Account == 53 54 Install this plugin and go to `Settings -> iLovePDF` to create your iLoveAPI Developer account (if you already registered previously on [iLoveAPI Developer](https://iloveapi.com) you can login directly) and choose your Project, but by default it will be selected **Default Project**. A project is what defines which API keys will be used. If you need it, you can manage your projects in your iLoveAPI developer account. With your iLoveAPI Free account you get 2500 free credits to process per month. If you need more you can purchase them 55 56 By going to `Settings -> iLovePDF -> Compress PDF` you can set the compression level you prefer to optimize your PDF files. We strongly recommend you to use ‘Recommended Compression’ which offers the perfect balance between compression and quality. In this section you can disable the auto compression of new uploaded PDF files in your Media Library. 57 58 By going to `Settings -> iLovePDF -> Watermark PDF` you can set many options on what to stamp and how into your PDF files. In this section you can disable the auto stamping of new uploaded PDF files in your Media Library. 59 60 To Compress or Stamp PDF files that are already in your Media Library go to `Media -> iLovePDF -> Compress PDF or Media -> iLovePDF -> Watermark` 61 61 62 62 == Frequently Asked Questions == 63 63 64 = Do I need a iLove PDFaccount? =64 = Do I need a iLoveAPI account? = 65 65 66 66 Yes, you need a `developer` account. It can be created easily from your Wordpress, or you can use your existing one. … … 68 68 = Is this service free? = 69 69 70 With a free account you can process up to 250 files each month. If you need more, you can upgrade your account.70 With a free account you can process up to 2500 credits each month. If you need more, you can upgrade your account. 71 71 72 72 = What happens when the limit is reatched? = 73 73 74 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 250 files are free, so in next month you will be able to process more files again!74 We will send you an email before limit is reached. When limit is reached, no more PDF files will be processed. But remember each month, 2500 credits are free, so in next month you will be able to process more files again! 75 75 76 76 == Screenshots == 77 77 78 78 1. Create an account or login. 79 2. Configure your pluggin 80 3. Bulk actions with existing files 81 4. PDF actions 79 2. Configure Compress PDF. 80 3. Configure Watermark PDF. 82 81 83 82 == Changelog == 84 83 85 == 2.1.2 == 84 = 2.1.3 = 85 Improved 86 * Update Libraries. 87 * Improved readme texts. 88 * Improved texts when a credential problem occurs. 89 90 = 2.1.2 = 86 91 Improved 87 92 * Update Libraries. … … 91 96 * A problem was solved with the option to create backup, where in some cases the option was not stored in the database. 92 97 93 = = 2.1.1 ==98 = 2.1.1 = 94 99 Improved 95 100 * Update Libraries. … … 99 104 * Library was included internally. This will improve file loading and possible CDN blocking in some countries. 100 105 101 = = 2.1.0 ==106 = 2.1.0 = 102 107 Added 103 108 * New Backup option added in General Settings. Now the backup works for all tools. … … 115 120 * In some cases, when a user logged in, they could get a PHP error or warning. 116 121 117 = = 2.0.5 ==122 = 2.0.5 = 118 123 Improved 119 124 * Update Libraries. 120 125 * Assets. 121 126 122 = = 2.0.4 ==127 = 2.0.4 = 123 128 Fixed 124 129 * Compatibility issue with the Woocommerce plugin. 125 130 126 = = 2.0.3 ==131 = 2.0.3 = 127 132 Fixed 128 133 * Specify minimum version of PHP for dependencies. 129 134 130 = = 2.0.2 ==135 = 2.0.2 = 131 136 Added 132 137 * Improved class loading. 133 138 * Update library ilovepdf to v1.2.2 134 139 135 = = 2.0.1 ==140 = 2.0.1 = 136 141 Changed 137 142 * Remove Function Upload duplicate. Caused an error loading pdf files. -
ilovepdf/trunk/admin/functions-compress.php
r3118395 r3147632 115 115 $html = 'error_auth'; 116 116 117 if ( $bulk ) {117 if ( $bulk || $auto ) { 118 118 $html = 'error_auth'; 119 119 } 120 120 121 if ( $auto) {122 $html = ' error_auth';121 if ( 'Unauthorized (Key may not be empty)' === $e->getMessage() ) { 122 $html = 'Check your credentials in the plugin settings page. If you recently deleted a project in your iloveapi account, try switching to another project to correctly save your API Keys.'; 123 123 } 124 124 -
ilovepdf/trunk/ilove-pdf.php
r3118395 r3147632 16 16 * Plugin URI: https://iloveapi.com/ 17 17 * Description: Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for WordPress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com. 18 * Version: 2.1. 218 * Version: 2.1.3 19 19 * Requires at least: 5.3 20 20 * Requires PHP: 7.4 -
ilovepdf/trunk/includes/Ilove_Pdf.php
r3118395 r3147632 75 75 76 76 $this->plugin_name = 'ilove-pdf'; 77 $this->version = 'wp.2.1. 2';77 $this->version = 'wp.2.1.3'; 78 78 79 79 $this->load_dependencies(); -
ilovepdf/trunk/package.json
r3118395 r3147632 1 1 { 2 "name": " ilovepdf/ilovepdf-wp",2 "name": "@ilovepdf/ilovepdf-wp", 3 3 "version": "1.0.0", 4 4 "description": "Compress your PDF files and Stamp Images or text into PDF files. This is the Official iLovePDF plugin for WordPress. You can optimize all your PDF and stamp them automatically as you do in ilovepdf.com.", … … 17 17 "gulp-uglify": "^3.0.2", 18 18 "merge-stream": "^2.0.0", 19 "sass": "^1.7 7.7"19 "sass": "^1.78" 20 20 } 21 21 } -
ilovepdf/trunk/vendor/composer/installed.json
r3118395 r3147632 69 69 { 70 70 "name": "guzzlehttp/guzzle", 71 "version": "7. 8.1",72 "version_normalized": "7. 8.1.0",71 "version": "7.9.2", 72 "version_normalized": "7.9.2.0", 73 73 "source": { 74 74 "type": "git", 75 75 "url": "https://github.com/guzzle/guzzle.git", 76 "reference": " 41042bc7ab002487b876a0683fc8dce04ddce104"77 }, 78 "dist": { 79 "type": "zip", 80 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ 41042bc7ab002487b876a0683fc8dce04ddce104",81 "reference": " 41042bc7ab002487b876a0683fc8dce04ddce104",76 "reference": "d281ed313b989f213357e3be1a179f02196ac99b" 77 }, 78 "dist": { 79 "type": "zip", 80 "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", 81 "reference": "d281ed313b989f213357e3be1a179f02196ac99b", 82 82 "shasum": "" 83 83 }, 84 84 "require": { 85 85 "ext-json": "*", 86 "guzzlehttp/promises": "^1.5.3 || ^2.0. 1",87 "guzzlehttp/psr7": "^ 1.9.1 || ^2.5.1",86 "guzzlehttp/promises": "^1.5.3 || ^2.0.3", 87 "guzzlehttp/psr7": "^2.7.0", 88 88 "php": "^7.2.5 || ^8.0", 89 89 "psr/http-client": "^1.0", … … 96 96 "bamarni/composer-bin-plugin": "^1.8.2", 97 97 "ext-curl": "*", 98 " php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",98 "guzzle/client-integration-tests": "3.0.2", 99 99 "php-http/message-factory": "^1.1", 100 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15",100 "phpunit/phpunit": "^8.5.39 || ^9.6.20", 101 101 "psr/log": "^1.1 || ^2.0 || ^3.0" 102 102 }, … … 106 106 "psr/log": "Required for using the Log middleware" 107 107 }, 108 "time": "202 3-12-03T20:35:24+00:00",108 "time": "2024-07-24T11:22:20+00:00", 109 109 "type": "library", 110 110 "extra": { … … 178 178 "support": { 179 179 "issues": "https://github.com/guzzle/guzzle/issues", 180 "source": "https://github.com/guzzle/guzzle/tree/7. 8.1"180 "source": "https://github.com/guzzle/guzzle/tree/7.9.2" 181 181 }, 182 182 "funding": [ … … 198 198 { 199 199 "name": "guzzlehttp/promises", 200 "version": "2.0. 2",201 "version_normalized": "2.0. 2.0",200 "version": "2.0.3", 201 "version_normalized": "2.0.3.0", 202 202 "source": { 203 203 "type": "git", 204 204 "url": "https://github.com/guzzle/promises.git", 205 "reference": " bbff78d96034045e58e13dedd6ad91b5d1253223"206 }, 207 "dist": { 208 "type": "zip", 209 "url": "https://api.github.com/repos/guzzle/promises/zipball/ bbff78d96034045e58e13dedd6ad91b5d1253223",210 "reference": " bbff78d96034045e58e13dedd6ad91b5d1253223",205 "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" 206 }, 207 "dist": { 208 "type": "zip", 209 "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", 210 "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", 211 211 "shasum": "" 212 212 }, … … 216 216 "require-dev": { 217 217 "bamarni/composer-bin-plugin": "^1.8.2", 218 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15"219 }, 220 "time": "202 3-12-03T20:19:20+00:00",218 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 219 }, 220 "time": "2024-07-18T10:29:17+00:00", 221 221 "type": "library", 222 222 "extra": { … … 264 264 "support": { 265 265 "issues": "https://github.com/guzzle/promises/issues", 266 "source": "https://github.com/guzzle/promises/tree/2.0. 2"266 "source": "https://github.com/guzzle/promises/tree/2.0.3" 267 267 }, 268 268 "funding": [ … … 284 284 { 285 285 "name": "guzzlehttp/psr7", 286 "version": "2. 6.2",287 "version_normalized": "2. 6.2.0",286 "version": "2.7.0", 287 "version_normalized": "2.7.0.0", 288 288 "source": { 289 289 "type": "git", 290 290 "url": "https://github.com/guzzle/psr7.git", 291 "reference": " 45b30f99ac27b5ca93cb4831afe16285f57b8221"292 }, 293 "dist": { 294 "type": "zip", 295 "url": "https://api.github.com/repos/guzzle/psr7/zipball/ 45b30f99ac27b5ca93cb4831afe16285f57b8221",296 "reference": " 45b30f99ac27b5ca93cb4831afe16285f57b8221",291 "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" 292 }, 293 "dist": { 294 "type": "zip", 295 "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", 296 "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", 297 297 "shasum": "" 298 298 }, … … 309 309 "require-dev": { 310 310 "bamarni/composer-bin-plugin": "^1.8.2", 311 "http-interop/http-factory-tests": " ^0.9",312 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15"311 "http-interop/http-factory-tests": "0.9.0", 312 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 313 313 }, 314 314 "suggest": { 315 315 "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" 316 316 }, 317 "time": "202 3-12-03T20:05:35+00:00",317 "time": "2024-07-18T11:15:46+00:00", 318 318 "type": "library", 319 319 "extra": { … … 383 383 "support": { 384 384 "issues": "https://github.com/guzzle/psr7/issues", 385 "source": "https://github.com/guzzle/psr7/tree/2. 6.2"385 "source": "https://github.com/guzzle/psr7/tree/2.7.0" 386 386 }, 387 387 "funding": [ … … 454 454 { 455 455 "name": "php-stubs/wordpress-stubs", 456 "version": "v6. 5.3",457 "version_normalized": "6. 5.3.0",456 "version": "v6.6.0", 457 "version_normalized": "6.6.0.0", 458 458 "source": { 459 459 "type": "git", 460 460 "url": "https://github.com/php-stubs/wordpress-stubs.git", 461 "reference": " e611a83292d02055a25f83291a98fadd0c21e092"462 }, 463 "dist": { 464 "type": "zip", 465 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/ e611a83292d02055a25f83291a98fadd0c21e092",466 "reference": " e611a83292d02055a25f83291a98fadd0c21e092",461 "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2" 462 }, 463 "dist": { 464 "type": "zip", 465 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/86e8753e89d59849276dcdd91b9a7dd78bb4abe2", 466 "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2", 467 467 "shasum": "" 468 468 }, … … 470 470 "dealerdirect/phpcodesniffer-composer-installer": "^1.0", 471 471 "nikic/php-parser": "^4.13", 472 "php": "^7.4 || ~8.0.0",472 "php": "^7.4 || ^8.0", 473 473 "php-stubs/generator": "^0.8.3", 474 "phpdocumentor/reflection-docblock": " 5.3",474 "phpdocumentor/reflection-docblock": "^5.4.1", 475 475 "phpstan/phpstan": "^1.10.49", 476 476 "phpunit/phpunit": "^9.5", 477 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.11" 477 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0", 478 "wp-coding-standards/wpcs": "3.1.0 as 2.3.0" 478 479 }, 479 480 "suggest": { … … 482 483 "szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan" 483 484 }, 484 "time": "2024-0 5-08T02:12:31+00:00",485 "time": "2024-07-17T08:50:38+00:00", 485 486 "type": "library", 486 487 "installation-source": "dist", … … 498 499 "support": { 499 500 "issues": "https://github.com/php-stubs/wordpress-stubs/issues", 500 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6. 5.3"501 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.6.0" 501 502 }, 502 503 "install-path": "../php-stubs/wordpress-stubs" … … 504 505 { 505 506 "name": "phpstan/extension-installer", 506 "version": "1.4. 1",507 "version_normalized": "1.4. 1.0",507 "version": "1.4.3", 508 "version_normalized": "1.4.3.0", 508 509 "source": { 509 510 "type": "git", 510 511 "url": "https://github.com/phpstan/extension-installer.git", 511 "reference": " f6b87faf9fc7978eab2f7919a8760bc9f58f9203"512 }, 513 "dist": { 514 "type": "zip", 515 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/ f6b87faf9fc7978eab2f7919a8760bc9f58f9203",516 "reference": " f6b87faf9fc7978eab2f7919a8760bc9f58f9203",512 "reference": "85e90b3942d06b2326fba0403ec24fe912372936" 513 }, 514 "dist": { 515 "type": "zip", 516 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", 517 "reference": "85e90b3942d06b2326fba0403ec24fe912372936", 517 518 "shasum": "" 518 519 }, … … 520 521 "composer-plugin-api": "^2.0", 521 522 "php": "^7.2 || ^8.0", 522 "phpstan/phpstan": "^1.9.0 "523 "phpstan/phpstan": "^1.9.0 || ^2.0" 523 524 }, 524 525 "require-dev": { … … 527 528 "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0" 528 529 }, 529 "time": "2024-0 6-10T08:20:49+00:00",530 "time": "2024-09-04T20:21:43+00:00", 530 531 "type": "composer-plugin", 531 532 "extra": { … … 543 544 ], 544 545 "description": "Composer plugin for automatic installation of PHPStan extensions", 546 "keywords": [ 547 "dev", 548 "static analysis" 549 ], 545 550 "support": { 546 551 "issues": "https://github.com/phpstan/extension-installer/issues", 547 "source": "https://github.com/phpstan/extension-installer/tree/1.4. 1"552 "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" 548 553 }, 549 554 "install-path": "../phpstan/extension-installer" … … 551 556 { 552 557 "name": "phpstan/phpstan", 553 "version": "1.1 1.7",554 "version_normalized": "1.1 1.7.0",558 "version": "1.12.2", 559 "version_normalized": "1.12.2.0", 555 560 "source": { 556 561 "type": "git", 557 562 "url": "https://github.com/phpstan/phpstan.git", 558 "reference": " 52d2bbfdcae7f895915629e4694e9497d0f8e28d"559 }, 560 "dist": { 561 "type": "zip", 562 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ 52d2bbfdcae7f895915629e4694e9497d0f8e28d",563 "reference": " 52d2bbfdcae7f895915629e4694e9497d0f8e28d",563 "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1" 564 }, 565 "dist": { 566 "type": "zip", 567 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", 568 "reference": "0ca1c7bb55fca8fe6448f16fff0f311ccec960a1", 564 569 "shasum": "" 565 570 }, … … 570 575 "phpstan/phpstan-shim": "*" 571 576 }, 572 "time": "2024-0 7-06T11:17:41+00:00",577 "time": "2024-09-05T16:09:28+00:00", 573 578 "bin": [ 574 579 "phpstan", … … 977 982 { 978 983 "name": "szepeviktor/phpstan-wordpress", 979 "version": "v1.3. 4",980 "version_normalized": "1.3. 4.0",984 "version": "v1.3.5", 985 "version_normalized": "1.3.5.0", 981 986 "source": { 982 987 "type": "git", 983 988 "url": "https://github.com/szepeviktor/phpstan-wordpress.git", 984 "reference": " 891d0767855a32c886a439efae090408cc1fa156"985 }, 986 "dist": { 987 "type": "zip", 988 "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/ 891d0767855a32c886a439efae090408cc1fa156",989 "reference": " 891d0767855a32c886a439efae090408cc1fa156",989 "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7" 990 }, 991 "dist": { 992 "type": "zip", 993 "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/7f8cfe992faa96b6a33bbd75c7bace98864161e7", 994 "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7", 990 995 "shasum": "" 991 996 }, … … 1002 1007 "phpstan/phpstan-strict-rules": "^1.2", 1003 1008 "phpunit/phpunit": "^8.0 || ^9.0", 1004 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.8" 1009 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0", 1010 "wp-coding-standards/wpcs": "3.1.0 as 2.3.0" 1005 1011 }, 1006 1012 "suggest": { 1007 1013 "swissspidy/phpstan-no-private": "Detect usage of internal core functions, classes and methods" 1008 1014 }, 1009 "time": "2024-0 3-21T16:32:59+00:00",1015 "time": "2024-06-28T22:27:19+00:00", 1010 1016 "type": "phpstan-extension", 1011 1017 "extra": { … … 1036 1042 "support": { 1037 1043 "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues", 1038 "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3. 4"1044 "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3.5" 1039 1045 }, 1040 1046 "install-path": "../szepeviktor/phpstan-wordpress" -
ilovepdf/trunk/vendor/composer/installed.php
r3118395 r3147632 4 4 'pretty_version' => 'dev-develop', 5 5 'version' => 'dev-develop', 6 'reference' => ' c465fc260ea39457acb659733b1f8cb99325ae4a',6 'reference' => '53f9e1ed811e4112182f77f70b9357f3cc9058a3', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 21 21 ), 22 22 'guzzlehttp/guzzle' => array( 23 'pretty_version' => '7. 8.1',24 'version' => '7. 8.1.0',25 'reference' => ' 41042bc7ab002487b876a0683fc8dce04ddce104',23 'pretty_version' => '7.9.2', 24 'version' => '7.9.2.0', 25 'reference' => 'd281ed313b989f213357e3be1a179f02196ac99b', 26 26 'type' => 'library', 27 27 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', … … 30 30 ), 31 31 'guzzlehttp/promises' => array( 32 'pretty_version' => '2.0. 2',33 'version' => '2.0. 2.0',34 'reference' => ' bbff78d96034045e58e13dedd6ad91b5d1253223',32 'pretty_version' => '2.0.3', 33 'version' => '2.0.3.0', 34 'reference' => '6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8', 35 35 'type' => 'library', 36 36 'install_path' => __DIR__ . '/../guzzlehttp/promises', … … 39 39 ), 40 40 'guzzlehttp/psr7' => array( 41 'pretty_version' => '2. 6.2',42 'version' => '2. 6.2.0',43 'reference' => ' 45b30f99ac27b5ca93cb4831afe16285f57b8221',41 'pretty_version' => '2.7.0', 42 'version' => '2.7.0.0', 43 'reference' => 'a70f5c95fb43bc83f07c9c948baa0dc1829bf201', 44 44 'type' => 'library', 45 45 'install_path' => __DIR__ . '/../guzzlehttp/psr7', … … 59 59 'pretty_version' => 'dev-develop', 60 60 'version' => 'dev-develop', 61 'reference' => ' c465fc260ea39457acb659733b1f8cb99325ae4a',61 'reference' => '53f9e1ed811e4112182f77f70b9357f3cc9058a3', 62 62 'type' => 'wordpress-plugin', 63 63 'install_path' => __DIR__ . '/../../', … … 66 66 ), 67 67 'php-stubs/wordpress-stubs' => array( 68 'pretty_version' => 'v6. 5.3',69 'version' => '6. 5.3.0',70 'reference' => ' e611a83292d02055a25f83291a98fadd0c21e092',68 'pretty_version' => 'v6.6.0', 69 'version' => '6.6.0.0', 70 'reference' => '86e8753e89d59849276dcdd91b9a7dd78bb4abe2', 71 71 'type' => 'library', 72 72 'install_path' => __DIR__ . '/../php-stubs/wordpress-stubs', … … 75 75 ), 76 76 'phpstan/extension-installer' => array( 77 'pretty_version' => '1.4. 1',78 'version' => '1.4. 1.0',79 'reference' => ' f6b87faf9fc7978eab2f7919a8760bc9f58f9203',77 'pretty_version' => '1.4.3', 78 'version' => '1.4.3.0', 79 'reference' => '85e90b3942d06b2326fba0403ec24fe912372936', 80 80 'type' => 'composer-plugin', 81 81 'install_path' => __DIR__ . '/../phpstan/extension-installer', … … 84 84 ), 85 85 'phpstan/phpstan' => array( 86 'pretty_version' => '1.1 1.7',87 'version' => '1.1 1.7.0',88 'reference' => ' 52d2bbfdcae7f895915629e4694e9497d0f8e28d',86 'pretty_version' => '1.12.2', 87 'version' => '1.12.2.0', 88 'reference' => '0ca1c7bb55fca8fe6448f16fff0f311ccec960a1', 89 89 'type' => 'library', 90 90 'install_path' => __DIR__ . '/../phpstan/phpstan', … … 165 165 ), 166 166 'szepeviktor/phpstan-wordpress' => array( 167 'pretty_version' => 'v1.3. 4',168 'version' => '1.3. 4.0',169 'reference' => ' 891d0767855a32c886a439efae090408cc1fa156',167 'pretty_version' => 'v1.3.5', 168 'version' => '1.3.5.0', 169 'reference' => '7f8cfe992faa96b6a33bbd75c7bace98864161e7', 170 170 'type' => 'phpstan-extension', 171 171 'install_path' => __DIR__ . '/../szepeviktor/phpstan-wordpress', -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/CHANGELOG.md
r3017109 r3147632 2 2 3 3 Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version. 4 5 6 ## 7.9.2 - 2024-07-24 7 8 ### Fixed 9 10 - Adjusted handler selection to use cURL if its version is 7.21.2 or higher, rather than 7.34.0 11 12 13 ## 7.9.1 - 2024-07-19 14 15 ### Fixed 16 17 - Fix TLS 1.3 check for HTTP/2 requests 18 19 20 ## 7.9.0 - 2024-07-18 21 22 ### Changed 23 24 - Improve protocol version checks to provide feedback around unsupported protocols 25 - Only select the cURL handler by default if 7.34.0 or higher is linked 26 - Improved `CurlMultiHandler` to avoid busy wait if possible 27 - Dropped support for EOL `guzzlehttp/psr7` v1 28 - Improved URI user info redaction in errors 29 30 ## 7.8.2 - 2024-07-18 31 32 ### Added 33 34 - Support for PHP 8.4 4 35 5 36 -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/README.md
r3017109 r3147632 63 63 | Version | Status | Packagist | Namespace | Repo | Docs | PSR-7 | PHP Version | 64 64 |---------|---------------------|---------------------|--------------|---------------------|---------------------|-------|--------------| 65 | 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >=5.3.3,<7.0 |66 | 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >=5.4,<7.0 |67 | 5.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >=5.4,<7.4 |68 | 6.x | Security fixes only| `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >=5.5,<8.0 |69 | 7.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >=7.2.5,<8. 4|65 | 3.x | EOL (2016-10-31) | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >=5.3.3,<7.0 | 66 | 4.x | EOL (2016-10-31) | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >=5.4,<7.0 | 67 | 5.x | EOL (2019-10-31) | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >=5.4,<7.4 | 68 | 6.x | EOL (2023-10-31) | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >=5.5,<8.0 | 69 | 7.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >=7.2.5,<8.5 | 70 70 71 71 [guzzle-3-repo]: https://github.com/guzzle/guzzle3 -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/composer.json
r3017109 r3147632 51 51 } 52 52 ], 53 "repositories": [ 54 { 55 "type": "package", 56 "package": { 57 "name": "guzzle/client-integration-tests", 58 "version": "v3.0.2", 59 "dist": { 60 "url": "https://codeload.github.com/guzzle/client-integration-tests/zip/2c025848417c1135031fdf9c728ee53d0a7ceaee", 61 "type": "zip" 62 }, 63 "require": { 64 "php": "^7.2.5 || ^8.0", 65 "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.11", 66 "php-http/message": "^1.0 || ^2.0", 67 "guzzlehttp/psr7": "^1.7 || ^2.0", 68 "th3n3rd/cartesian-product": "^0.3" 69 }, 70 "autoload": { 71 "psr-4": { 72 "Http\\Client\\Tests\\": "src/" 73 } 74 }, 75 "bin": [ 76 "bin/http_test_server" 77 ] 78 } 79 } 80 ], 53 81 "require": { 54 82 "php": "^7.2.5 || ^8.0", 55 83 "ext-json": "*", 56 "guzzlehttp/promises": "^1.5.3 || ^2.0. 1",57 "guzzlehttp/psr7": "^ 1.9.1 || ^2.5.1",84 "guzzlehttp/promises": "^1.5.3 || ^2.0.3", 85 "guzzlehttp/psr7": "^2.7.0", 58 86 "psr/http-client": "^1.0", 59 87 "symfony/deprecation-contracts": "^2.2 || ^3.0" … … 65 93 "ext-curl": "*", 66 94 "bamarni/composer-bin-plugin": "^1.8.2", 67 " php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",95 "guzzle/client-integration-tests": "3.0.2", 68 96 "php-http/message-factory": "^1.1", 69 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15",97 "phpunit/phpunit": "^8.5.39 || ^9.6.20", 70 98 "psr/log": "^1.1 || ^2.0 || ^3.0" 71 99 }, -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/BodySummarizer.php
r2995378 r3147632 12 12 private $truncateAt; 13 13 14 public function __construct( int $truncateAt = null)14 public function __construct(?int $truncateAt = null) 15 15 { 16 16 $this->truncateAt = $truncateAt; … … 23 23 { 24 24 return $this->truncateAt === null 25 ? \GuzzleHttp\Psr7\Message::bodySummary($message)26 : \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);25 ? Psr7\Message::bodySummary($message) 26 : Psr7\Message::bodySummary($message, $this->truncateAt); 27 27 } 28 28 } -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Client.php
r2995378 r3147632 53 53 * @param array $config Client configuration settings. 54 54 * 55 * @see \GuzzleHttp\RequestOptions for a list of available request options.55 * @see RequestOptions for a list of available request options. 56 56 */ 57 57 public function __construct(array $config = []) … … 203 203 * @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0. 204 204 */ 205 public function getConfig( string $option = null)205 public function getConfig(?string $option = null) 206 206 { 207 207 return $option === null -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/ClientInterface.php
r2995378 r3147632 81 81 * @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0. 82 82 */ 83 public function getConfig( string $option = null);83 public function getConfig(?string $option = null); 84 84 } -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
r3017109 r3147632 104 104 } 105 105 106 public function clear( string $domain = null, string $path = null,string $name = null): void106 public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void 107 107 { 108 108 if (!$domain) { -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
r2995378 r3147632 63 63 * @param string|null $name Clears cookies matching a domain, path, and name 64 64 */ 65 public function clear( string $domain = null, string $path = null,string $name = null): void;65 public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void; 66 66 67 67 /** -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php
r2995378 r3147632 15 15 RequestInterface $request, 16 16 ResponseInterface $response, 17 \Throwable $previous = null,17 ?\Throwable $previous = null, 18 18 array $handlerContext = [] 19 19 ) { -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php
r2995378 r3147632 26 26 string $message, 27 27 RequestInterface $request, 28 \Throwable $previous = null,28 ?\Throwable $previous = null, 29 29 array $handlerContext = [] 30 30 ) { -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
r2995378 r3147632 8 8 use Psr\Http\Message\RequestInterface; 9 9 use Psr\Http\Message\ResponseInterface; 10 use Psr\Http\Message\UriInterface;11 10 12 11 /** … … 33 32 string $message, 34 33 RequestInterface $request, 35 ResponseInterface $response = null,36 \Throwable $previous = null,34 ?ResponseInterface $response = null, 35 ?\Throwable $previous = null, 37 36 array $handlerContext = [] 38 37 ) { … … 64 63 public static function create( 65 64 RequestInterface $request, 66 ResponseInterface $response = null,67 \Throwable $previous = null,65 ?ResponseInterface $response = null, 66 ?\Throwable $previous = null, 68 67 array $handlerContext = [], 69 BodySummarizerInterface $bodySummarizer = null68 ?BodySummarizerInterface $bodySummarizer = null 70 69 ): self { 71 70 if (!$response) { … … 91 90 } 92 91 93 $uri = $request->getUri(); 94 $uri = static::obfuscateUri($uri); 92 $uri = \GuzzleHttp\Psr7\Utils::redactUserInfo($request->getUri()); 95 93 96 94 // Client Error: `GET /` resulted in a `404 Not Found` response: … … 112 110 113 111 return new $className($message, $request, $response, $previous, $handlerContext); 114 }115 116 /**117 * Obfuscates URI if there is a username and a password present118 */119 private static function obfuscateUri(UriInterface $uri): UriInterface120 {121 $userInfo = $uri->getUserInfo();122 123 if (false !== ($pos = \strpos($userInfo, ':'))) {124 return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');125 }126 127 return $uri;128 112 } 129 113 -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
r3017109 r3147632 12 12 use GuzzleHttp\Utils; 13 13 use Psr\Http\Message\RequestInterface; 14 use Psr\Http\Message\UriInterface; 14 15 15 16 /** … … 47 48 public function create(RequestInterface $request, array $options): EasyHandle 48 49 { 50 $protocolVersion = $request->getProtocolVersion(); 51 52 if ('2' === $protocolVersion || '2.0' === $protocolVersion) { 53 if (!self::supportsHttp2()) { 54 throw new ConnectException('HTTP/2 is supported by the cURL handler, however libcurl is built without HTTP/2 support.', $request); 55 } 56 } elseif ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) { 57 throw new ConnectException(sprintf('HTTP/%s is not supported by the cURL handler.', $protocolVersion), $request); 58 } 59 49 60 if (isset($options['curl']['body_as_string'])) { 50 61 $options['_body_as_string'] = $options['curl']['body_as_string']; … … 71 82 72 83 return $easy; 84 } 85 86 private static function supportsHttp2(): bool 87 { 88 static $supportsHttp2 = null; 89 90 if (null === $supportsHttp2) { 91 $supportsHttp2 = self::supportsTls12() 92 && defined('CURL_VERSION_HTTP2') 93 && (\CURL_VERSION_HTTP2 & \curl_version()['features']); 94 } 95 96 return $supportsHttp2; 97 } 98 99 private static function supportsTls12(): bool 100 { 101 static $supportsTls12 = null; 102 103 if (null === $supportsTls12) { 104 $supportsTls12 = \CURL_SSLVERSION_TLSv1_2 & \curl_version()['features']; 105 } 106 107 return $supportsTls12; 108 } 109 110 private static function supportsTls13(): bool 111 { 112 static $supportsTls13 = null; 113 114 if (null === $supportsTls13) { 115 $supportsTls13 = defined('CURL_SSLVERSION_TLSv1_3') 116 && (\CURL_SSLVERSION_TLSv1_3 & \curl_version()['features']); 117 } 118 119 return $supportsTls13; 73 120 } 74 121 … … 148 195 'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME), 149 196 ] + \curl_getinfo($easy->handle); 150 $ctx[self::CURL_VERSION_STR] = \curl_version()['version'];197 $ctx[self::CURL_VERSION_STR] = self::getCurlVersion(); 151 198 $factory->release($easy); 152 199 … … 157 204 158 205 return self::createRejection($easy, $ctx); 206 } 207 208 private static function getCurlVersion(): string 209 { 210 static $curlVersion = null; 211 212 if (null === $curlVersion) { 213 $curlVersion = \curl_version()['version']; 214 } 215 216 return $curlVersion; 159 217 } 160 218 … … 195 253 } 196 254 255 $uri = $easy->request->getUri(); 256 257 $sanitizedError = self::sanitizeCurlError($ctx['error'] ?? '', $uri); 258 197 259 $message = \sprintf( 198 260 'cURL error %s: %s (%s)', 199 261 $ctx['errno'], 200 $ ctx['error'],262 $sanitizedError, 201 263 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html' 202 264 ); 203 $uriString = (string) $easy->request->getUri(); 204 if ($uriString !== '' && false === \strpos($ctx['error'], $uriString)) { 205 $message .= \sprintf(' for %s', $uriString); 265 266 if ('' !== $sanitizedError) { 267 $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($uri)->__toString(); 268 if ($redactedUriString !== '' && false === \strpos($sanitizedError, $redactedUriString)) { 269 $message .= \sprintf(' for %s', $redactedUriString); 270 } 206 271 } 207 272 … … 212 277 213 278 return P\Create::rejectionFor($error); 279 } 280 281 private static function sanitizeCurlError(string $error, UriInterface $uri): string 282 { 283 if ('' === $error) { 284 return $error; 285 } 286 287 $baseUri = $uri->withQuery('')->withFragment(''); 288 $baseUriString = $baseUri->__toString(); 289 290 if ('' === $baseUriString) { 291 return $error; 292 } 293 294 $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($baseUri)->__toString(); 295 296 return str_replace($baseUriString, $redactedUriString, $error); 214 297 } 215 298 … … 233 316 234 317 $version = $easy->request->getProtocolVersion(); 235 if ($version == 1.1) { 318 319 if ('2' === $version || '2.0' === $version) { 320 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0; 321 } elseif ('1.1' === $version) { 236 322 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1; 237 } elseif ($version == 2.0) {238 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;239 323 } else { 240 324 $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0; … … 391 475 // sets a matching 'Accept-Encoding' header. 392 476 $conf[\CURLOPT_ENCODING] = ''; 393 // But as the user did not specify any acceptable encodings we need 394 // to overwrite this implicit header with an empty one. 477 // But as the user did not specify any encoding preference, 478 // let's leave it up to server by preventing curl from sending 479 // the header, which will be interpreted as 'Accept-Encoding: *'. 480 // https://www.rfc-editor.org/rfc/rfc9110#field.accept-encoding 395 481 $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:'; 396 482 } … … 456 542 457 543 if (isset($options['crypto_method'])) { 458 if (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) { 459 if (!defined('CURL_SSLVERSION_TLSv1_0')) { 460 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.0 not supported by your version of cURL'); 461 } 544 $protocolVersion = $easy->request->getProtocolVersion(); 545 546 // If HTTP/2, upgrade TLS 1.0 and 1.1 to 1.2 547 if ('2' === $protocolVersion || '2.0' === $protocolVersion) { 548 if ( 549 \STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method'] 550 || \STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method'] 551 || \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method'] 552 ) { 553 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; 554 } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { 555 if (!self::supportsTls13()) { 556 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); 557 } 558 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3; 559 } else { 560 throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided'); 561 } 562 } elseif (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) { 462 563 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0; 463 564 } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) { 464 if (!defined('CURL_SSLVERSION_TLSv1_1')) {465 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.1 not supported by your version of cURL');466 }467 565 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1; 468 566 } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) { 469 if (! defined('CURL_SSLVERSION_TLSv1_2')) {567 if (!self::supportsTls12()) { 470 568 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL'); 471 569 } 472 570 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; 473 571 } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { 474 if (! defined('CURL_SSLVERSION_TLSv1_3')) {572 if (!self::supportsTls13()) { 475 573 throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); 476 574 } -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
r2995378 r3147632 3 3 namespace GuzzleHttp\Handler; 4 4 5 use Closure; 5 6 use GuzzleHttp\Promise as P; 6 7 use GuzzleHttp\Promise\Promise; … … 160 161 } 161 162 163 // Run curl_multi_exec in the queue to enable other async tasks to run 164 P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue'])); 165 162 166 // Step through the task queue which may add additional requests. 163 167 P\Utils::queue()->run(); … … 170 174 171 175 while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) { 176 // Prevent busy looping for slow HTTP requests. 177 \curl_multi_select($this->_mh, $this->selectTimeout); 172 178 } 173 179 174 180 $this->processMessages(); 181 } 182 183 /** 184 * Runs \curl_multi_exec() inside the event loop, to prevent busy looping 185 */ 186 private function tickInQueue(): void 187 { 188 if (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) { 189 \curl_multi_select($this->_mh, 0); 190 P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue'])); 191 } 175 192 } 176 193 -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
r2995378 r3147632 53 53 * @param callable|null $onRejected Callback to invoke when the return value is rejected. 54 54 */ 55 public static function createWithMiddleware( array $queue = null, callable $onFulfilled = null,callable $onRejected = null): HandlerStack55 public static function createWithMiddleware(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null): HandlerStack 56 56 { 57 57 return HandlerStack::create(new self($queue, $onFulfilled, $onRejected)); … … 60 60 /** 61 61 * The passed in value must be an array of 62 * {@see \Psr\Http\Message\ResponseInterface} objects, Exceptions,62 * {@see ResponseInterface} objects, Exceptions, 63 63 * callables, or Promises. 64 64 * … … 67 67 * @param callable|null $onRejected Callback to invoke when the return value is rejected. 68 68 */ 69 public function __construct( array $queue = null, callable $onFulfilled = null,callable $onRejected = null)69 public function __construct(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null) 70 70 { 71 71 $this->onFulfilled = $onFulfilled; … … 201 201 RequestInterface $request, 202 202 array $options, 203 ResponseInterface $response = null,203 ?ResponseInterface $response = null, 204 204 $reason = null 205 205 ): void { -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
r2995378 r3147632 39 39 if (isset($options['delay'])) { 40 40 \usleep($options['delay'] * 1000); 41 } 42 43 $protocolVersion = $request->getProtocolVersion(); 44 45 if ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) { 46 throw new ConnectException(sprintf('HTTP/%s is not supported by the stream handler.', $protocolVersion), $request); 41 47 } 42 48 … … 84 90 RequestInterface $request, 85 91 ?float $startTime, 86 ResponseInterface $response = null,87 \Throwable $error = null92 ?ResponseInterface $response = null, 93 ?\Throwable $error = null 88 94 ): void { 89 95 if (isset($options['on_stats'])) { … … 274 280 // HTTP/1.1 streams using the PHP stream wrapper require a 275 281 // Connection: close header 276 if ($request->getProtocolVersion() == '1.1'282 if ($request->getProtocolVersion() === '1.1' 277 283 && !$request->hasHeader('Connection') 278 284 ) { -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/HandlerStack.php
r2995378 r3147632 45 45 * system will be utilized. 46 46 */ 47 public static function create( callable $handler = null): self47 public static function create(?callable $handler = null): self 48 48 { 49 49 $stack = new self($handler ?: Utils::chooseHandler()); … … 59 59 * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler. 60 60 */ 61 public function __construct( callable $handler = null)61 public function __construct(?callable $handler = null) 62 62 { 63 63 $this->handler = $handler; … … 132 132 * @param string $name Name to register for this middleware. 133 133 */ 134 public function unshift(callable $middleware, string $name = null): void134 public function unshift(callable $middleware, ?string $name = null): void 135 135 { 136 136 \array_unshift($this->stack, [$middleware, $name]); -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/MessageFormatter.php
r2995378 r3147632 69 69 * @param \Throwable|null $error Exception that was received 70 70 */ 71 public function format(RequestInterface $request, ResponseInterface $response = null,\Throwable $error = null): string71 public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string 72 72 { 73 73 $cache = []; -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php
r2995378 r3147632 15 15 * @param \Throwable|null $error Exception that was received 16 16 */ 17 public function format(RequestInterface $request, ResponseInterface $response = null,\Throwable $error = null): string;17 public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string; 18 18 } -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Middleware.php
r2995378 r3147632 56 56 * @return callable(callable): callable Returns a function that accepts the next handler. 57 57 */ 58 public static function httpErrors( BodySummarizerInterface $bodySummarizer = null): callable58 public static function httpErrors(?BodySummarizerInterface $bodySummarizer = null): callable 59 59 { 60 60 return static function (callable $handler) use ($bodySummarizer): callable { … … 133 133 * @return callable Returns a function that accepts the next handler. 134 134 */ 135 public static function tap( callable $before = null,callable $after = null): callable135 public static function tap(?callable $before = null, ?callable $after = null): callable 136 136 { 137 137 return static function (callable $handler) use ($before, $after): callable { … … 177 177 * @return callable Returns a function that accepts the next handler. 178 178 */ 179 public static function retry(callable $decider, callable $delay = null): callable179 public static function retry(callable $decider, ?callable $delay = null): callable 180 180 { 181 181 return static function (callable $handler) use ($decider, $delay): RetryMiddleware { -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
r2995378 r3147632 77 77 $expect = $options['expect'] ?? null; 78 78 79 // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.080 if ($expect === false || $request->getProtocolVersion() < 1.1) {79 // Return if disabled or using HTTP/1.0 80 if ($expect === false || $request->getProtocolVersion() === '1.0') { 81 81 return; 82 82 } -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/RequestOptions.php
r3017109 r3147632 62 62 * jar to use or what cookies to send. This option only works if your 63 63 * handler has the `cookie` middleware. Valid values are `false` and 64 * an instance of {@see \GuzzleHttp\Cookie\CookieJarInterface}.64 * an instance of {@see Cookie\CookieJarInterface}. 65 65 */ 66 66 public const COOKIES = 'cookies'; -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
r2995378 r3147632 41 41 * milliseconds to delay. 42 42 */ 43 public function __construct(callable $decider, callable $nextHandler, callable $delay = null)43 public function __construct(callable $decider, callable $nextHandler, ?callable $delay = null) 44 44 { 45 45 $this->decider = $decider; … … 111 111 } 112 112 113 private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null): PromiseInterface113 private function doRetry(RequestInterface $request, array $options, ?ResponseInterface $response = null): PromiseInterface 114 114 { 115 115 $options['delay'] = ($this->delay)(++$options['retries'], $response, $request); -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/TransferStats.php
r2995378 r3147632 47 47 public function __construct( 48 48 RequestInterface $request, 49 ResponseInterface $response = null,50 float $transferTime = null,49 ?ResponseInterface $response = null, 50 ?float $transferTime = null, 51 51 $handlerErrorData = null, 52 52 array $handlerStats = [] -
ilovepdf/trunk/vendor/guzzlehttp/guzzle/src/Utils.php
r3017109 r3147632 72 72 } 73 73 74 return \GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w');74 return Psr7\Utils::tryFopen('php://output', 'w'); 75 75 } 76 76 … … 88 88 $handler = null; 89 89 90 if (\defined('CURLOPT_CUSTOMREQUEST') ) {90 if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.21.2') >= 0) { 91 91 if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) { 92 92 $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler()); -
ilovepdf/trunk/vendor/guzzlehttp/promises/CHANGELOG.md
r3017109 r3147632 1 1 # CHANGELOG 2 3 4 ## 2.0.3 - 2024-07-18 5 6 ### Changed 7 8 - PHP 8.4 support 2 9 3 10 -
ilovepdf/trunk/vendor/guzzlehttp/promises/README.md
r2995378 r3147632 39 39 ## Version Guidance 40 40 41 | Version | Status | PHP Version |42 |---------|--------------------- ---|--------------|43 | 1.x | Bug and security fixes| >=5.5,<8.3 |44 | 2.x | Latest | >=7.2.5,<8.4|41 | Version | Status | PHP Version | 42 |---------|---------------------|--------------| 43 | 1.x | Security fixes only | >=5.5,<8.3 | 44 | 2.x | Latest | >=7.2.5,<8.5 | 45 45 46 46 -
ilovepdf/trunk/vendor/guzzlehttp/promises/composer.json
r3017109 r3147632 31 31 "require-dev": { 32 32 "bamarni/composer-bin-plugin": "^1.8.2", 33 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15"33 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 34 34 }, 35 35 "autoload": { -
ilovepdf/trunk/vendor/guzzlehttp/promises/src/Coroutine.php
r2995378 r3147632 85 85 86 86 public function then( 87 callable $onFulfilled = null,88 callable $onRejected = null87 ?callable $onFulfilled = null, 88 ?callable $onRejected = null 89 89 ): PromiseInterface { 90 90 return $this->result->then($onFulfilled, $onRejected); -
ilovepdf/trunk/vendor/guzzlehttp/promises/src/Each.php
r3017109 r3147632 24 24 public static function of( 25 25 $iterable, 26 callable $onFulfilled = null,27 callable $onRejected = null26 ?callable $onFulfilled = null, 27 ?callable $onRejected = null 28 28 ): PromiseInterface { 29 29 return (new EachPromise($iterable, [ … … 47 47 $iterable, 48 48 $concurrency, 49 callable $onFulfilled = null,50 callable $onRejected = null49 ?callable $onFulfilled = null, 50 ?callable $onRejected = null 51 51 ): PromiseInterface { 52 52 return (new EachPromise($iterable, [ … … 68 68 $iterable, 69 69 $concurrency, 70 callable $onFulfilled = null70 ?callable $onFulfilled = null 71 71 ): PromiseInterface { 72 72 return self::ofLimit( -
ilovepdf/trunk/vendor/guzzlehttp/promises/src/FulfilledPromise.php
r2995378 r3147632 32 32 33 33 public function then( 34 callable $onFulfilled = null,35 callable $onRejected = null34 ?callable $onFulfilled = null, 35 ?callable $onRejected = null 36 36 ): PromiseInterface { 37 37 // Return itself if there is no onFulfilled function. -
ilovepdf/trunk/vendor/guzzlehttp/promises/src/Promise.php
r2995378 r3147632 26 26 */ 27 27 public function __construct( 28 callable $waitFn = null,29 callable $cancelFn = null28 ?callable $waitFn = null, 29 ?callable $cancelFn = null 30 30 ) { 31 31 $this->waitFn = $waitFn; … … 34 34 35 35 public function then( 36 callable $onFulfilled = null,37 callable $onRejected = null36 ?callable $onFulfilled = null, 37 ?callable $onRejected = null 38 38 ): PromiseInterface { 39 39 if ($this->state === self::PENDING) { -
ilovepdf/trunk/vendor/guzzlehttp/promises/src/PromiseInterface.php
r2995378 r3147632 28 28 */ 29 29 public function then( 30 callable $onFulfilled = null,31 callable $onRejected = null30 ?callable $onFulfilled = null, 31 ?callable $onRejected = null 32 32 ): PromiseInterface; 33 33 -
ilovepdf/trunk/vendor/guzzlehttp/promises/src/RejectedPromise.php
r2995378 r3147632 32 32 33 33 public function then( 34 callable $onFulfilled = null,35 callable $onRejected = null34 ?callable $onFulfilled = null, 35 ?callable $onRejected = null 36 36 ): PromiseInterface { 37 37 // If there's no onRejected callback then just return self. -
ilovepdf/trunk/vendor/guzzlehttp/promises/src/RejectionException.php
r3017109 r3147632 19 19 * @param string|null $description Optional description. 20 20 */ 21 public function __construct($reason, string $description = null)21 public function __construct($reason, ?string $description = null) 22 22 { 23 23 $this->reason = $reason; -
ilovepdf/trunk/vendor/guzzlehttp/promises/src/Utils.php
r2995378 r3147632 22 22 * @param TaskQueueInterface|null $assign Optionally specify a new queue instance. 23 23 */ 24 public static function queue( TaskQueueInterface $assign = null): TaskQueueInterface24 public static function queue(?TaskQueueInterface $assign = null): TaskQueueInterface 25 25 { 26 26 static $queue; -
ilovepdf/trunk/vendor/guzzlehttp/psr7/CHANGELOG.md
r3017109 r3147632 5 5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) 6 6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 7 8 ## 2.7.0 - 2024-07-18 9 10 ### Added 11 12 - Add `Utils::redactUserInfo()` method 13 - Add ability to encode bools as ints in `Query::build` 14 15 ## 2.6.3 - 2024-07-18 16 17 ### Fixed 18 19 - Make `StreamWrapper::stream_stat()` return `false` if inner stream's size is `null` 20 21 ### Changed 22 23 - PHP 8.4 support 7 24 8 25 ## 2.6.2 - 2023-12-03 -
ilovepdf/trunk/vendor/guzzlehttp/psr7/README.md
r3017109 r3147632 25 25 | Version | Status | PHP Version | 26 26 |---------|---------------------|--------------| 27 | 1.x | Security fixes only | >=5.4,<8.1|28 | 2.x | Latest | >=7.2.5,<8. 4|27 | 1.x | EOL (2024-06-30) | >=5.4,<8.2 | 28 | 2.x | Latest | >=7.2.5,<8.5 | 29 29 30 30 … … 437 437 ## `GuzzleHttp\Psr7\Query::build` 438 438 439 `public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986 ): string`439 `public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string` 440 440 441 441 Build a query string from an array of key value pairs. … … 499 499 ## `GuzzleHttp\Psr7\Utils::readLine` 500 500 501 `public static function readLine(StreamInterface $stream, int $maxLength = null): string`501 `public static function readLine(StreamInterface $stream, ?int $maxLength = null): string` 502 502 503 503 Read a line from the stream up to the maximum allowed buffer length. 504 505 506 ## `GuzzleHttp\Psr7\Utils::redactUserInfo` 507 508 `public static function redactUserInfo(UriInterface $uri): UriInterface` 509 510 Redact the password in the user info part of a URI. 504 511 505 512 … … 675 682 ### `GuzzleHttp\Psr7\Uri::isSameDocumentReference` 676 683 677 `public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool`684 `public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool` 678 685 679 686 Whether the URI is a same-document reference. A same-document reference refers to a URI that is, aside from its -
ilovepdf/trunk/vendor/guzzlehttp/psr7/composer.json
r3017109 r3147632 62 62 "require-dev": { 63 63 "bamarni/composer-bin-plugin": "^1.8.2", 64 "http-interop/http-factory-tests": " ^0.9",65 "phpunit/phpunit": "^8.5.3 6 || ^9.6.15"64 "http-interop/http-factory-tests": "0.9.0", 65 "phpunit/phpunit": "^8.5.39 || ^9.6.20" 66 66 }, 67 67 "suggest": { -
ilovepdf/trunk/vendor/guzzlehttp/psr7/src/CachingStream.php
r2995378 r3147632 34 34 public function __construct( 35 35 StreamInterface $stream, 36 StreamInterface $target = null36 ?StreamInterface $target = null 37 37 ) { 38 38 $this->remoteStream = $stream; -
ilovepdf/trunk/vendor/guzzlehttp/psr7/src/HttpFactory.php
r2995378 r3147632 28 28 public function createUploadedFile( 29 29 StreamInterface $stream, 30 int $size = null,30 ?int $size = null, 31 31 int $error = \UPLOAD_ERR_OK, 32 string $clientFilename = null,33 string $clientMediaType = null32 ?string $clientFilename = null, 33 ?string $clientMediaType = null 34 34 ): UploadedFileInterface { 35 35 if ($size === null) { -
ilovepdf/trunk/vendor/guzzlehttp/psr7/src/MultipartStream.php
r3017109 r3147632 33 33 * @throws \InvalidArgumentException 34 34 */ 35 public function __construct(array $elements = [], string $boundary = null)35 public function __construct(array $elements = [], ?string $boundary = null) 36 36 { 37 37 $this->boundary = $boundary ?: bin2hex(random_bytes(20)); -
ilovepdf/trunk/vendor/guzzlehttp/psr7/src/Query.php
r2995378 r3147632 64 64 * encountered (like `http_build_query()` would). 65 65 * 66 * @param array $params Query string parameters. 67 * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986 68 * to encode using RFC3986, or PHP_QUERY_RFC1738 69 * to encode using RFC1738. 66 * @param array $params Query string parameters. 67 * @param int|false $encoding Set to false to not encode, 68 * PHP_QUERY_RFC3986 to encode using 69 * RFC3986, or PHP_QUERY_RFC1738 to 70 * encode using RFC1738. 71 * @param bool $treatBoolsAsInts Set to true to encode as 0/1, and 72 * false as false/true. 70 73 */ 71 public static function build(array $params, $encoding = PHP_QUERY_RFC3986 ): string74 public static function build(array $params, $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string 72 75 { 73 76 if (!$params) { … … 87 90 } 88 91 92 $castBool = $treatBoolsAsInts ? static function ($v) { return (int) $v; } : static function ($v) { return $v ? 'true' : 'false'; }; 93 89 94 $qs = ''; 90 95 foreach ($params as $k => $v) { … … 92 97 if (!is_array($v)) { 93 98 $qs .= $k; 94 $v = is_bool($v) ? (int) $v: $v;99 $v = is_bool($v) ? $castBool($v) : $v; 95 100 if ($v !== null) { 96 101 $qs .= '='.$encoder((string) $v); … … 100 105 foreach ($v as $vv) { 101 106 $qs .= $k; 102 $vv = is_bool($vv) ? (int) $vv: $vv;107 $vv = is_bool($vv) ? $castBool($vv) : $vv; 103 108 if ($vv !== null) { 104 109 $qs .= '='.$encoder((string) $vv); -
ilovepdf/trunk/vendor/guzzlehttp/psr7/src/Response.php
r3017109 r3147632 97 97 $body = null, 98 98 string $version = '1.1', 99 string $reason = null99 ?string $reason = null 100 100 ) { 101 101 $this->assertStatusCodeRange($status); -
ilovepdf/trunk/vendor/guzzlehttp/psr7/src/StreamWrapper.php
r3017109 r3147632 70 70 } 71 71 72 public function stream_open(string $path, string $mode, int $options, string &$opened_path = null): bool72 public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool 73 73 { 74 74 $options = stream_context_get_options($this->context); … … 120 120 121 121 return $resource ?? false; 122 } 123 124 /** 125 * @return array{ 126 * dev: int, 127 * ino: int, 128 * mode: int, 129 * nlink: int, 130 * uid: int, 131 * gid: int, 132 * rdev: int, 133 * size: int, 134 * atime: int, 135 * mtime: int, 136 * ctime: int, 137 * blksize: int, 138 * blocks: int 139 * }|false 140 */ 141 public function stream_stat() 142 { 143 if ($this->stream->getSize() === null) { 144 return false; 145 } 146 147 static $modeMap = [ 148 'r' => 33060, 149 'rb' => 33060, 150 'r+' => 33206, 151 'w' => 33188, 152 'wb' => 33188, 153 ]; 154 155 return [ 156 'dev' => 0, 157 'ino' => 0, 158 'mode' => $modeMap[$this->mode], 159 'nlink' => 0, 160 'uid' => 0, 161 'gid' => 0, 162 'rdev' => 0, 163 'size' => $this->stream->getSize() ?: 0, 164 'atime' => 0, 165 'mtime' => 0, 166 'ctime' => 0, 167 'blksize' => 0, 168 'blocks' => 0, 169 ]; 122 170 } 123 171 … … 139 187 * } 140 188 */ 141 public function stream_stat(): array142 {143 static $modeMap = [144 'r' => 33060,145 'rb' => 33060,146 'r+' => 33206,147 'w' => 33188,148 'wb' => 33188,149 ];150 151 return [152 'dev' => 0,153 'ino' => 0,154 'mode' => $modeMap[$this->mode],155 'nlink' => 0,156 'uid' => 0,157 'gid' => 0,158 'rdev' => 0,159 'size' => $this->stream->getSize() ?: 0,160 'atime' => 0,161 'mtime' => 0,162 'ctime' => 0,163 'blksize' => 0,164 'blocks' => 0,165 ];166 }167 168 /**169 * @return array{170 * dev: int,171 * ino: int,172 * mode: int,173 * nlink: int,174 * uid: int,175 * gid: int,176 * rdev: int,177 * size: int,178 * atime: int,179 * mtime: int,180 * ctime: int,181 * blksize: int,182 * blocks: int183 * }184 */185 189 public function url_stat(string $path, int $flags): array 186 190 { -
ilovepdf/trunk/vendor/guzzlehttp/psr7/src/UploadedFile.php
r3017109 r3147632 65 65 ?int $size, 66 66 int $errorStatus, 67 string $clientFilename = null,68 string $clientMediaType = null67 ?string $clientFilename = null, 68 ?string $clientMediaType = null 69 69 ) { 70 70 $this->setError($errorStatus); -
ilovepdf/trunk/vendor/guzzlehttp/psr7/src/Uri.php
r3017109 r3147632 280 280 * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.4 281 281 */ 282 public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool282 public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool 283 283 { 284 284 if ($base !== null) { -
ilovepdf/trunk/vendor/guzzlehttp/psr7/src/Utils.php
r3017109 r3147632 232 232 * @param int|null $maxLength Maximum buffer length 233 233 */ 234 public static function readLine(StreamInterface $stream, int $maxLength = null): string234 public static function readLine(StreamInterface $stream, ?int $maxLength = null): string 235 235 { 236 236 $buffer = ''; … … 249 249 250 250 return $buffer; 251 } 252 253 /** 254 * Redact the password in the user info part of a URI. 255 */ 256 public static function redactUserInfo(UriInterface $uri): UriInterface 257 { 258 $userInfo = $uri->getUserInfo(); 259 260 if (false !== ($pos = \strpos($userInfo, ':'))) { 261 return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***'); 262 } 263 264 return $uri; 251 265 } 252 266
Note: See TracChangeset
for help on using the changeset viewer.