Changeset 3149231
- Timestamp:
- 09/10/2024 12:31:41 PM (19 months ago)
- Location:
- watermark-protect-images
- Files:
-
- 16 edited
- 1 copied
-
tags/2.2.1 (copied) (copied from watermark-protect-images/trunk)
-
tags/2.2.1/README.md (modified) (1 diff)
-
tags/2.2.1/README.txt (modified) (8 diffs)
-
tags/2.2.1/admin/Ilove_Img_Wm_Plugin.php (modified) (2 diffs)
-
tags/2.2.1/admin/Ilove_Img_Wm_Process.php (modified) (2 diffs)
-
tags/2.2.1/ilove-img-watermark.php (modified) (1 diff)
-
tags/2.2.1/package.json (modified) (2 diffs)
-
tags/2.2.1/vendor/composer/installed.json (modified) (22 diffs)
-
tags/2.2.1/vendor/composer/installed.php (modified) (9 diffs)
-
trunk/README.md (modified) (1 diff)
-
trunk/README.txt (modified) (8 diffs)
-
trunk/admin/Ilove_Img_Wm_Plugin.php (modified) (2 diffs)
-
trunk/admin/Ilove_Img_Wm_Process.php (modified) (2 diffs)
-
trunk/ilove-img-watermark.php (modified) (1 diff)
-
trunk/package.json (modified) (2 diffs)
-
trunk/vendor/composer/installed.json (modified) (22 diffs)
-
trunk/vendor/composer/installed.php (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
watermark-protect-images/tags/2.2.1/README.md
r3119477 r3149231 1 === Best Watermark - Protect images on your site with iLoveIMG === 2 Plugin Name: Best Watermark - Protect images on your site with iLoveIMG 3 Version: 2.2.0 4 Author: iLovePDF 5 Author URI: https://www.iloveimg.com/ 6 Contributors: iLovePDF 7 Tags: watermark, image protection, photography, picture, e-commerce 8 Requires at least: 5.3 9 Tested up to: 6.6 10 Stable tag: 2.2.0 11 Requires PHP: 7.4 12 License: GPLv2 or later 13 License URI: https://www.gnu.org/licenses/gpl-2.0.html 1 # Best Watermark - Protect Images on Your Site with iLoveIMG 14 2 15 3 Protect your site from image theft with our reliable and easy-to-use watermark plugin. Effective protection for your images. 16 4 17 == Description == 5 ## Description 18 6 19 Protect your images from theft. Now you can get a powerful, easy to use, and reliable Watermark plugin for your image protection needs. With full automation and powerful features, iLoveIMG makes it easy to prevent unauthorized usage of your images by helping you create highly customized watermarks in just a few seconds. 7 **Best Watermark - Protect Images on Your Site with iLoveIMG** is a powerful, easy-to-use watermarking plugin designed to safeguard your images from unauthorized use. In just a few seconds, you can create highly customizable watermarks, combining image and text to prevent your images from being shared or displayed without your consent. 20 8 21 Create custom watermarks combining image and text and protect your images from being shared or featured without owner consent. 9 **Key Features:** 22 10 23 Trust reliable developers. **Best Watermark - Protect images on your site with iLoveIMG** is brought to you by the same developers of iLoveIMG.com, popular image editor trusted by millions. 11 - **Text and Image Watermarks**: Add text or image watermarks anywhere on your photos. 12 - **Extensive Customization**: Adjust typography, font size, transparency, and rotation to personalize your watermark. 13 - **Batch Processing**: Watermark multiple images at once, saving time for more important tasks. 14 - **Popular Image Formats Supported**: Works with JPG, PNG, and GIF formats. 15 - **Media Library Protection**: Apply watermarks to images already uploaded to your WordPress media library. 16 - **Restore Option**: Automatically backs up images before applying a watermark, allowing you to restore the original version if needed. 17 - **Ease of Use**: Intuitive design for effortless image protection. 24 18 25 ** If you are looking for the best watermarking tool, iLoveIMG plugin comes packed with plenty of features.**19 **Advanced Capabilities:** 26 20 27 - **Text and image watermarks** - Place image or text watermarks anywhere on your photo. 28 - **Plenty of custom settings** - Adjust typography, font, size, transparency, and rotation to personalize watermark. 29 - **Bulk protection** - Batch protect your images in a single click and save time for more important concerns. 30 - **Popular image formats supported** - Watermark JPG, PNG and GIF to ensure fast site navigation. 31 - **Extensive coverage** - Protect images already uploaded to Media Library. 32 - **Restore option** - Image backup is created before watermark is added. 33 - **Incredibly easy to use** - Designed with ease of use in mind. 21 - **Image Optimization**: Fully compatible with our Image Compression plugin to optimize images, improve page speed, and boost SEO. 22 - **eCommerce Friendly**: Perfect for WooCommerce, NextGen Gallery, and other eCommerce solutions. 23 - **Privacy Focused**: No data is stored or collected. Complies with GDPR. 24 - **Freemium Service**: Use up to 2500 credits per month for free. Need more? Subscribe to [Premium](https://iloveapi.com/pricing) or buy a [prepaid package](https://iloveapi.com/pricing). 34 25 35 **Beyond the basics, iLoveIMG is a fully compatible and extendable image watermarking plugin.** 26 Ensure your online images are protected from unauthorized use with iLoveIMG Watermark plugin. 36 27 37 - **Optimization option available** - Full Compatible with our Image Compressor plugin. Optimize your Wordpress images and make your site load faster to boost search engine ranking. 38 - **Good for eCommerce** - Works great for eCommerce websites using WooCommerce, NextGen Gallery and other plugins for e-commerce. 39 - **Security first** - Your data is not stored nor collected on our services. We are GDPR compliant. 40 - **Frequent updates** - Get a stable and frequently updated image compression plugin. 41 - **Freemium service** - Freely up to 2500 credits per month. Need more? Subscribe our [Premium plan](https://iloveapi.com/pricing) or buy a [prepaid package](https://iloveapi.com/pricing) to use at your convenience. 28 ## Installation 42 29 43 With online images being shared and re-shared all over the Internet, it's easy to lose track of the original author. iLoveIMG Watermark plugin helps you protect the rights of your online photos. 30 ### From the WordPress Admin Panel: 31 1. Navigate to **Plugins > Add New**. 32 2. Search for "iLoveIMG" and click **Install Now**. 33 3. After installation, activate the plugin from your **Plugins page.** 44 34 45 == Installation == 35 ### Manual Installation: 36 1. Upload the `watermark-protect-images` folder to the `/wp-content/plugins/` directory. 37 2. Activate the plugin through the **Plugins** menu in WordPress. 38 3. Go to the plugin settings page and create a free account or log in with an existing iLoveAPI account. 39 4. Configure the settings as per your requirements. 46 40 47 1. **Click the ‘Install Now’ button**. WordPress will download and install the plugin for you. 48 2. **Wait for the success message**. A pop-up window with a link to activate the plugin will appear. 49 3. **Activate the plugin**. iLoveIMG plugin can be installed on your site, but it will not work unless you activate it. So go ahead and click on the link to activate the plugin on your WordPress site. 41 ## Frequently Asked Questions 50 42 51 == Frequently Asked Questions == 43 ### Can I use the plugin for free? 44 Yes, free users have up to 2500 credits per month. Once you reach this limit, you will need to wait until the next month or purchase credits. 52 45 53 **Can I use the plugin for free?** 46 ### Can I make a one-time payment? 47 Absolutely. You can buy a prepaid package with credits that never expire. 54 48 55 Absolutely. As a free user, we let you process your first 2500 monthly credits. Once this limit is reached, you cannot watermark new images until next month unless you purchase credits. 49 ### What happens to my original images? 50 iLoveIMG creates backups of your original images before watermarking. You can restore them anytime. 56 51 57 **Can I make a one-time payment?** 52 ### Do I need coding skills to use this plugin? 53 No. The plugin is designed for users of all skill levels, requiring no technical knowledge. 58 54 59 Yes, you can. You can buy a pre-paid package, which will never expire. 55 ### How can I optimize my photos? 56 You can install the iLoveIMG Image Compression plugin to optimize your site images for faster load times. 60 57 61 **What happens with my original images?** 58 ### Which image formats are supported? 59 The plugin supports watermarking for JPG, PNG, and GIF formats. 62 60 63 iLoveIMG automatically replaces your uploaded images with an optimized version. 61 ### Do you have a REST API? 62 Yes! This plugin is powered by our API, and you can integrate it into your own software. Learn more about the [iLoveAPI](https://iloveapi.com). 64 63 65 **Do I need to have coding skills to use iLoveIMG Plugin?** 66 67 Absolutely not. You can watermark image galleries without any coding or technical knowledge. We like to make things easy. 68 69 **How can I optimize my photos?** 70 71 Get Image Compression Plugin by iLoveIMG to optimize your site images and speed up your website. 72 73 **Which formats can be protected?** 74 75 iLoveIMG Watermark plugin can optimize images in JPG, PNG and GIF format. 76 77 **Do you have an API REST?** 78 79 Yes, in fact this plugin is powered by our API. And you can integrate our image optimization tools into your software apps too! Learn more about [iLoveIMG API for developers](https://iloveapi.com). 80 81 **Do you care about the privacy of my images?** 82 83 All our servers are strictly monitored as we comply with the European Data Privacy Regulation, one of the highest standards in the EU. All uploaded files use https/SSL and include our end-to-end encryption for further privacy of your data. 84 85 Moreover, all processed files are automatically deleted from our servers after being processed in a time range of one, two and twenty-four hours (depending on your user status). You can check detailed info at our [Privacy Policy](https://www.iloveimg.com/help/privacy) and our [Terms and Conditions](https://www.iloveimg.com/help/terms) 86 87 == Changelog == 88 89 == 2.2.0 == 90 Improved 91 * Update Libraries. 92 * Now IloveIMG will use credits to process the files. 93 * Now iloveimg accounts have been migrated to ilovepdf. 94 * Improved the function to restore all files. 95 96 Fixed 97 * When autowatermark is activated and you wanted to restore a specific file, it was watermarked again. 98 99 == 2.1.0 == 100 Added 101 * Functionality to restore images individually. 102 103 Improved 104 * Update Libraries. 105 * Time limit is set for PHP when it is less than 300. 106 * On the individual page of a file, iloveimg watermark buttons are now displayed whenever the file is a IMAGE. 107 108 Fixed 109 * Fixed a problem with restoring files and cleaning backups. 110 111 == 2.0.3 == 112 Added 113 * Update libraries. 114 * Assets files were optimized. 115 116 == 2.0.2 == 117 Added 118 * Update iloveimg-php library 119 120 == 2.0.1 == 121 Added 122 * Improved class loading. 123 124 Fixed 125 * check if key iloveimg_field_image exist. 126 127 == 2.0.0 == 128 Changed 129 * Minimum Support WP Version to 5.3 130 * Minimum Support PHP to 7.4 131 * Support WP 6.4.1 132 133 Fixed 134 * catch processing error for php 8. 135 136 = 1.0.4 = 137 Changed 138 * Formatting and comment files according to php/wordpress standards. 139 * remove comments. 140 * dirname() to __DIR__ constant. 141 * constant names in uppercase. 142 * function names is not snake case format. 143 * classes name with prefix and capital letter. 144 * variables name is not snake case format and include prefix. 145 * classes files rename. 146 * Use Yoda Conditions to check. 147 * hook names with prefix. 148 * Increment operators. 149 * gmdate() instead date(). 150 * change from json_encode() to wp_json_encode(). 151 * change from unlink() to wp_delete_file(). 152 * Use WP_Filesystem. 153 * Update iloveimg-php library to V1.1.16 154 155 Added 156 * missing documentation. 157 * Missing Domain text. 158 * Escape/sanitize data. 159 * using strict comparison for in_array. 160 161 Fixed 162 * Logical operator "and" changed to "&&" 163 * Logical operator "or" changed to "||" 164 * Visibility must be declared on method. 165 * Assignments must be the first block of code on a line. 166 * Loose comparisons are not allowed. 167 * Fix conversion from number string to int. 168 * Check if superglobal variables exist. 169 * name of function. 170 * Error checking. 171 * Noce verification. 172 * Serialized data has known vulnerability problems with Object Injection. Changed to JSON Encode. 173 * Variables $height, $width, $options_value, $ilove_img_wm_is_logged not be defined. 174 * Negated boolean expression is always true. 175 * An infinite loop was generated. The method itself called itself every time the process failed. 176 * on some servers, the $path_file variable did not contain the correct url. 177 178 = 1.0.3 = 179 * Synchronize repositories 180 181 = 1.0.2 = 182 - Fix: Bug fixes 183 184 = 1.0.1 = 185 186 - Fix: Bug fixes 64 ### How do you ensure the privacy of my images? 65 We comply with the GDPR and use end-to-end encryption. Files are automatically deleted from our servers within a time range of 1 to 24 hours, depending on your user status. Read more in our [Privacy Policy](https://www.iloveimg.com/help/privacy) and [Terms and Conditions](https://www.iloveimg.com/help/terms). -
watermark-protect-images/tags/2.2.1/README.txt
r3119477 r3149231 1 1 === Best Watermark - Protect images on your site with iLoveIMG === 2 2 Plugin Name: Best Watermark - Protect images on your site with iLoveIMG 3 Version: 2.2. 03 Version: 2.2.1 4 4 Author: iLovePDF 5 5 Author URI: https://www.iloveimg.com/ … … 7 7 Tags: watermark, image protection, photography, picture, e-commerce 8 8 Requires at least: 5.3 9 Tested up to: 6.6 10 Stable tag: 2.2. 09 Tested up to: 6.6.1 10 Stable tag: 2.2.1 11 11 Requires PHP: 7.4 12 12 License: GPLv2 or later … … 45 45 == Installation == 46 46 47 1. **Click the ‘Install Now’ button**. WordPress will download and install the plugin for you. 48 2. **Wait for the success message**. A pop-up window with a link to activate the plugin will appear. 49 3. **Activate the plugin**. iLoveIMG plugin can be installed on your site, but it will not work unless you activate it. So go ahead and click on the link to activate the plugin on your WordPress site. 47 From your Admin panel: 48 1. Visit Plugins > Add New. 49 2. Search for **iloveIMG** and press the **Install Now** button. 50 3. Activate the plugin from your Plugins page. 51 52 Manual: 53 1. Upload `watermark-protect-images` to the `/wp-content/plugins/` directory 54 2. Activate the plugin through the 'Plugins' menu in WordPress 55 3. Create a free account in the plugin settings page, or use your existing one 56 4. Configure the plugin as you like 50 57 51 58 == Frequently Asked Questions == … … 77 84 **Do you have an API REST?** 78 85 79 Yes, in fact this plugin is powered by our API. And you can integrate our image optimization tools into your software apps too! Learn more about [iLove IMGAPI for developers](https://iloveapi.com).86 Yes, in fact this plugin is powered by our API. And you can integrate our image optimization tools into your software apps too! Learn more about [iLoveAPI for developers](https://iloveapi.com). 80 87 81 88 **Do you care about the privacy of my images?** … … 85 92 Moreover, all processed files are automatically deleted from our servers after being processed in a time range of one, two and twenty-four hours (depending on your user status). You can check detailed info at our [Privacy Policy](https://www.iloveimg.com/help/privacy) and our [Terms and Conditions](https://www.iloveimg.com/help/terms) 86 93 94 == Screenshots == 95 96 1. Account settings and tool configuration. 97 2. Configure Watermark IMG. 98 3. Backup available. 99 4. Image listing page. 100 87 101 == Changelog == 88 102 89 == 2.2.0 == 103 = 2.2.1 = 104 Improved 105 * Update Libraries. 106 * Improved error handling when a credential issue occurs. 107 * Improved readme texts. 108 109 = 2.2.0 = 90 110 Improved 91 111 * Update Libraries. … … 97 117 * When autowatermark is activated and you wanted to restore a specific file, it was watermarked again. 98 118 99 = = 2.1.0 ==119 = 2.1.0 = 100 120 Added 101 121 * Functionality to restore images individually. … … 109 129 * Fixed a problem with restoring files and cleaning backups. 110 130 111 = = 2.0.3 ==131 = 2.0.3 = 112 132 Added 113 133 * Update libraries. 114 134 * Assets files were optimized. 115 135 116 = = 2.0.2 ==136 = 2.0.2 = 117 137 Added 118 138 * Update iloveimg-php library 119 139 120 = = 2.0.1 ==140 = 2.0.1 = 121 141 Added 122 142 * Improved class loading. … … 125 145 * check if key iloveimg_field_image exist. 126 146 127 = = 2.0.0 ==147 = 2.0.0 = 128 148 Changed 129 149 * Minimum Support WP Version to 5.3 -
watermark-protect-images/tags/2.2.1/admin/Ilove_Img_Wm_Plugin.php
r3119477 r3149231 19 19 * @var string VERSION The current version of the plugin. 20 20 */ 21 const VERSION = '2.2. 0';21 const VERSION = '2.2.1'; 22 22 23 23 /** … … 139 139 $images = $ilove->watermark( $attachment_id ); 140 140 141 if ( false !== $images) {141 if ( ! $images['error'] ) { 142 142 Ilove_Img_Wm_Resources::render_watermark_details( $attachment_id ); 143 143 } else { 144 144 ?> 145 <p> There was a problem processing your image.</p>145 <p><?php echo esc_html( $images['error_msg'] ); ?></p> 146 146 <?php 147 147 } -
watermark-protect-images/tags/2.2.1/admin/Ilove_Img_Wm_Process.php
r3119477 r3149231 173 173 update_post_meta( $images_id, 'iloveimg_status_watermark', 2 ); // status watermarked 174 174 175 return $images; 175 return array( 176 'error' => false, 177 'images' => $images, 178 ); 176 179 177 180 } else { 178 181 update_post_meta( $images_id, 'iloveimg_status_watermark', 3 ); // status queue 179 182 180 return false; 183 return array( 184 'error' => true, 185 'error_msg' => __( 'There was a problem processing your image.', 'iloveimg-watermark' ), 186 ); 181 187 } 182 188 } catch ( \Exception $e ) { … … 184 190 error_log('Exception on watermark Method: ' . print_r($e, true)); // phpcs:ignore 185 191 186 return false; 192 $error_msg = 'There was a problem processing your image.'; 193 194 if ( 401 === $e->getCode() ) { 195 $error_msg = '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.'; 196 } 197 198 return array( 199 'error' => true, 200 'error_msg' => $error_msg, 201 ); 187 202 } 188 203 } -
watermark-protect-images/tags/2.2.1/ilove-img-watermark.php
r3119477 r3149231 16 16 * Plugin URI: https://iloveapi.com/ 17 17 * Description: Protect your site from image theft with our reliable and easy-to-use watermark plugin. Effective protection for your images. 18 * Version: 2.2. 018 * Version: 2.2.1 19 19 * Requires at least: 5.3 20 20 * Requires PHP: 7.4 -
watermark-protect-images/tags/2.2.1/package.json
r3119477 r3149231 2 2 "name": "iloveimg-wp-watermark", 3 3 "version": "1.0.0", 4 "description": " === Best Watermark - Protect images on your site with iLoveIMG ===\r Plugin Name: Best Watermark - Protect images on your site with iLoveIMG\r Version: 2.0.3\r Author: iLovePDF\r Author URI: https://www.iloveimg.com/\r Contributors: iLovePDF\r Tags: watermark, image protection, photography, picture, e-commerce\r Requires at least: 5.3\r Tested up to: 6.4.3\r Stable tag: 2.0.3\r Requires PHP: 7.4\r License: GPLv2 or later\r License URI: https://www.gnu.org/licenses/gpl-2.0.html",4 "description": "Best Watermark - Protect images on your site with iLoveIMG. Protect your site from image theft with our reliable and easy-to-use watermark plugin. Effective protection for your images.", 5 5 "main": "index.js", 6 6 "scripts": { … … 17 17 "gulp-uglify": "^3.0.2", 18 18 "merge-stream": "^2.0.0", 19 "sass": "^1.7 7.8"19 "sass": "^1.78" 20 20 } 21 21 } -
watermark-protect-images/tags/2.2.1/vendor/composer/installed.json
r3119477 r3149231 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": [ … … 455 455 { 456 456 "name": "php-stubs/wordpress-stubs", 457 "version": "v6. 5.3",458 "version_normalized": "6. 5.3.0",457 "version": "v6.6.0", 458 "version_normalized": "6.6.0.0", 459 459 "source": { 460 460 "type": "git", 461 461 "url": "https://github.com/php-stubs/wordpress-stubs.git", 462 "reference": " e611a83292d02055a25f83291a98fadd0c21e092"463 }, 464 "dist": { 465 "type": "zip", 466 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/ e611a83292d02055a25f83291a98fadd0c21e092",467 "reference": " e611a83292d02055a25f83291a98fadd0c21e092",462 "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2" 463 }, 464 "dist": { 465 "type": "zip", 466 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/86e8753e89d59849276dcdd91b9a7dd78bb4abe2", 467 "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2", 468 468 "shasum": "" 469 469 }, … … 471 471 "dealerdirect/phpcodesniffer-composer-installer": "^1.0", 472 472 "nikic/php-parser": "^4.13", 473 "php": "^7.4 || ~8.0.0",473 "php": "^7.4 || ^8.0", 474 474 "php-stubs/generator": "^0.8.3", 475 "phpdocumentor/reflection-docblock": " 5.3",475 "phpdocumentor/reflection-docblock": "^5.4.1", 476 476 "phpstan/phpstan": "^1.10.49", 477 477 "phpunit/phpunit": "^9.5", 478 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.11" 478 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0", 479 "wp-coding-standards/wpcs": "3.1.0 as 2.3.0" 479 480 }, 480 481 "suggest": { … … 483 484 "szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan" 484 485 }, 485 "time": "2024-0 5-08T02:12:31+00:00",486 "time": "2024-07-17T08:50:38+00:00", 486 487 "type": "library", 487 488 "installation-source": "dist", … … 499 500 "support": { 500 501 "issues": "https://github.com/php-stubs/wordpress-stubs/issues", 501 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6. 5.3"502 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.6.0" 502 503 }, 503 504 "install-path": "../php-stubs/wordpress-stubs" … … 505 506 { 506 507 "name": "phpstan/extension-installer", 507 "version": "1.4. 1",508 "version_normalized": "1.4. 1.0",508 "version": "1.4.3", 509 "version_normalized": "1.4.3.0", 509 510 "source": { 510 511 "type": "git", 511 512 "url": "https://github.com/phpstan/extension-installer.git", 512 "reference": " f6b87faf9fc7978eab2f7919a8760bc9f58f9203"513 }, 514 "dist": { 515 "type": "zip", 516 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/ f6b87faf9fc7978eab2f7919a8760bc9f58f9203",517 "reference": " f6b87faf9fc7978eab2f7919a8760bc9f58f9203",513 "reference": "85e90b3942d06b2326fba0403ec24fe912372936" 514 }, 515 "dist": { 516 "type": "zip", 517 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", 518 "reference": "85e90b3942d06b2326fba0403ec24fe912372936", 518 519 "shasum": "" 519 520 }, … … 521 522 "composer-plugin-api": "^2.0", 522 523 "php": "^7.2 || ^8.0", 523 "phpstan/phpstan": "^1.9.0 "524 "phpstan/phpstan": "^1.9.0 || ^2.0" 524 525 }, 525 526 "require-dev": { … … 528 529 "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0" 529 530 }, 530 "time": "2024-0 6-10T08:20:49+00:00",531 "time": "2024-09-04T20:21:43+00:00", 531 532 "type": "composer-plugin", 532 533 "extra": { … … 544 545 ], 545 546 "description": "Composer plugin for automatic installation of PHPStan extensions", 547 "keywords": [ 548 "dev", 549 "static analysis" 550 ], 546 551 "support": { 547 552 "issues": "https://github.com/phpstan/extension-installer/issues", 548 "source": "https://github.com/phpstan/extension-installer/tree/1.4. 1"553 "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" 549 554 }, 550 555 "install-path": "../phpstan/extension-installer" … … 552 557 { 553 558 "name": "phpstan/phpstan", 554 "version": "1.1 1.7",555 "version_normalized": "1.1 1.7.0",559 "version": "1.12.3", 560 "version_normalized": "1.12.3.0", 556 561 "source": { 557 562 "type": "git", 558 563 "url": "https://github.com/phpstan/phpstan.git", 559 "reference": " 52d2bbfdcae7f895915629e4694e9497d0f8e28d"560 }, 561 "dist": { 562 "type": "zip", 563 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ 52d2bbfdcae7f895915629e4694e9497d0f8e28d",564 "reference": " 52d2bbfdcae7f895915629e4694e9497d0f8e28d",564 "reference": "0fcbf194ab63d8159bb70d9aa3e1350051632009" 565 }, 566 "dist": { 567 "type": "zip", 568 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0fcbf194ab63d8159bb70d9aa3e1350051632009", 569 "reference": "0fcbf194ab63d8159bb70d9aa3e1350051632009", 565 570 "shasum": "" 566 571 }, … … 571 576 "phpstan/phpstan-shim": "*" 572 577 }, 573 "time": "2024-0 7-06T11:17:41+00:00",578 "time": "2024-09-09T08:10:35+00:00", 574 579 "bin": [ 575 580 "phpstan", … … 899 904 { 900 905 "name": "symfony/polyfill-php73", 901 "version": "v1.3 0.0",902 "version_normalized": "1.3 0.0.0",906 "version": "v1.31.0", 907 "version_normalized": "1.31.0.0", 903 908 "source": { 904 909 "type": "git", 905 910 "url": "https://github.com/symfony/polyfill-php73.git", 906 "reference": " ec444d3f3f6505bb28d11afa41e75faadebc10a1"907 }, 908 "dist": { 909 "type": "zip", 910 "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ ec444d3f3f6505bb28d11afa41e75faadebc10a1",911 "reference": " ec444d3f3f6505bb28d11afa41e75faadebc10a1",912 "shasum": "" 913 }, 914 "require": { 915 "php": ">=7. 1"916 }, 917 "time": "2024-0 5-31T15:07:36+00:00",911 "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" 912 }, 913 "dist": { 914 "type": "zip", 915 "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", 916 "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", 917 "shasum": "" 918 }, 919 "require": { 920 "php": ">=7.2" 921 }, 922 "time": "2024-09-09T11:45:10+00:00", 918 923 "type": "library", 919 924 "extra": { … … 958 963 ], 959 964 "support": { 960 "source": "https://github.com/symfony/polyfill-php73/tree/v1.3 0.0"965 "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" 961 966 }, 962 967 "funding": [ -
watermark-protect-images/tags/2.2.1/vendor/composer/installed.php
r3119477 r3149231 4 4 'pretty_version' => 'dev-develop', 5 5 'version' => 'dev-develop', 6 'reference' => ' 5252aeac3967ac73f942ff7c80bd503951eddecd',6 'reference' => 'd693f139d7bc1a83ea7133ebd51cc842eff9ec50', 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', … … 61 61 'pretty_version' => 'dev-develop', 62 62 'version' => 'dev-develop', 63 'reference' => ' 5252aeac3967ac73f942ff7c80bd503951eddecd',63 'reference' => 'd693f139d7bc1a83ea7133ebd51cc842eff9ec50', 64 64 'type' => 'wordpress-plugin', 65 65 'install_path' => __DIR__ . '/../../', … … 68 68 ), 69 69 'php-stubs/wordpress-stubs' => array( 70 'pretty_version' => 'v6. 5.3',71 'version' => '6. 5.3.0',72 'reference' => ' e611a83292d02055a25f83291a98fadd0c21e092',70 'pretty_version' => 'v6.6.0', 71 'version' => '6.6.0.0', 72 'reference' => '86e8753e89d59849276dcdd91b9a7dd78bb4abe2', 73 73 'type' => 'library', 74 74 'install_path' => __DIR__ . '/../php-stubs/wordpress-stubs', … … 77 77 ), 78 78 'phpstan/extension-installer' => array( 79 'pretty_version' => '1.4. 1',80 'version' => '1.4. 1.0',81 'reference' => ' f6b87faf9fc7978eab2f7919a8760bc9f58f9203',79 'pretty_version' => '1.4.3', 80 'version' => '1.4.3.0', 81 'reference' => '85e90b3942d06b2326fba0403ec24fe912372936', 82 82 'type' => 'composer-plugin', 83 83 'install_path' => __DIR__ . '/../phpstan/extension-installer', … … 86 86 ), 87 87 'phpstan/phpstan' => array( 88 'pretty_version' => '1.1 1.7',89 'version' => '1.1 1.7.0',90 'reference' => ' 52d2bbfdcae7f895915629e4694e9497d0f8e28d',88 'pretty_version' => '1.12.3', 89 'version' => '1.12.3.0', 90 'reference' => '0fcbf194ab63d8159bb70d9aa3e1350051632009', 91 91 'type' => 'library', 92 92 'install_path' => __DIR__ . '/../phpstan/phpstan', … … 158 158 ), 159 159 'symfony/polyfill-php73' => array( 160 'pretty_version' => 'v1.3 0.0',161 'version' => '1.3 0.0.0',162 'reference' => ' ec444d3f3f6505bb28d11afa41e75faadebc10a1',160 'pretty_version' => 'v1.31.0', 161 'version' => '1.31.0.0', 162 'reference' => '0f68c03565dcaaf25a890667542e8bd75fe7e5bb', 163 163 'type' => 'library', 164 164 'install_path' => __DIR__ . '/../symfony/polyfill-php73', -
watermark-protect-images/trunk/README.md
r3119477 r3149231 1 === Best Watermark - Protect images on your site with iLoveIMG === 2 Plugin Name: Best Watermark - Protect images on your site with iLoveIMG 3 Version: 2.2.0 4 Author: iLovePDF 5 Author URI: https://www.iloveimg.com/ 6 Contributors: iLovePDF 7 Tags: watermark, image protection, photography, picture, e-commerce 8 Requires at least: 5.3 9 Tested up to: 6.6 10 Stable tag: 2.2.0 11 Requires PHP: 7.4 12 License: GPLv2 or later 13 License URI: https://www.gnu.org/licenses/gpl-2.0.html 1 # Best Watermark - Protect Images on Your Site with iLoveIMG 14 2 15 3 Protect your site from image theft with our reliable and easy-to-use watermark plugin. Effective protection for your images. 16 4 17 == Description == 5 ## Description 18 6 19 Protect your images from theft. Now you can get a powerful, easy to use, and reliable Watermark plugin for your image protection needs. With full automation and powerful features, iLoveIMG makes it easy to prevent unauthorized usage of your images by helping you create highly customized watermarks in just a few seconds. 7 **Best Watermark - Protect Images on Your Site with iLoveIMG** is a powerful, easy-to-use watermarking plugin designed to safeguard your images from unauthorized use. In just a few seconds, you can create highly customizable watermarks, combining image and text to prevent your images from being shared or displayed without your consent. 20 8 21 Create custom watermarks combining image and text and protect your images from being shared or featured without owner consent. 9 **Key Features:** 22 10 23 Trust reliable developers. **Best Watermark - Protect images on your site with iLoveIMG** is brought to you by the same developers of iLoveIMG.com, popular image editor trusted by millions. 11 - **Text and Image Watermarks**: Add text or image watermarks anywhere on your photos. 12 - **Extensive Customization**: Adjust typography, font size, transparency, and rotation to personalize your watermark. 13 - **Batch Processing**: Watermark multiple images at once, saving time for more important tasks. 14 - **Popular Image Formats Supported**: Works with JPG, PNG, and GIF formats. 15 - **Media Library Protection**: Apply watermarks to images already uploaded to your WordPress media library. 16 - **Restore Option**: Automatically backs up images before applying a watermark, allowing you to restore the original version if needed. 17 - **Ease of Use**: Intuitive design for effortless image protection. 24 18 25 ** If you are looking for the best watermarking tool, iLoveIMG plugin comes packed with plenty of features.**19 **Advanced Capabilities:** 26 20 27 - **Text and image watermarks** - Place image or text watermarks anywhere on your photo. 28 - **Plenty of custom settings** - Adjust typography, font, size, transparency, and rotation to personalize watermark. 29 - **Bulk protection** - Batch protect your images in a single click and save time for more important concerns. 30 - **Popular image formats supported** - Watermark JPG, PNG and GIF to ensure fast site navigation. 31 - **Extensive coverage** - Protect images already uploaded to Media Library. 32 - **Restore option** - Image backup is created before watermark is added. 33 - **Incredibly easy to use** - Designed with ease of use in mind. 21 - **Image Optimization**: Fully compatible with our Image Compression plugin to optimize images, improve page speed, and boost SEO. 22 - **eCommerce Friendly**: Perfect for WooCommerce, NextGen Gallery, and other eCommerce solutions. 23 - **Privacy Focused**: No data is stored or collected. Complies with GDPR. 24 - **Freemium Service**: Use up to 2500 credits per month for free. Need more? Subscribe to [Premium](https://iloveapi.com/pricing) or buy a [prepaid package](https://iloveapi.com/pricing). 34 25 35 **Beyond the basics, iLoveIMG is a fully compatible and extendable image watermarking plugin.** 26 Ensure your online images are protected from unauthorized use with iLoveIMG Watermark plugin. 36 27 37 - **Optimization option available** - Full Compatible with our Image Compressor plugin. Optimize your Wordpress images and make your site load faster to boost search engine ranking. 38 - **Good for eCommerce** - Works great for eCommerce websites using WooCommerce, NextGen Gallery and other plugins for e-commerce. 39 - **Security first** - Your data is not stored nor collected on our services. We are GDPR compliant. 40 - **Frequent updates** - Get a stable and frequently updated image compression plugin. 41 - **Freemium service** - Freely up to 2500 credits per month. Need more? Subscribe our [Premium plan](https://iloveapi.com/pricing) or buy a [prepaid package](https://iloveapi.com/pricing) to use at your convenience. 28 ## Installation 42 29 43 With online images being shared and re-shared all over the Internet, it's easy to lose track of the original author. iLoveIMG Watermark plugin helps you protect the rights of your online photos. 30 ### From the WordPress Admin Panel: 31 1. Navigate to **Plugins > Add New**. 32 2. Search for "iLoveIMG" and click **Install Now**. 33 3. After installation, activate the plugin from your **Plugins page.** 44 34 45 == Installation == 35 ### Manual Installation: 36 1. Upload the `watermark-protect-images` folder to the `/wp-content/plugins/` directory. 37 2. Activate the plugin through the **Plugins** menu in WordPress. 38 3. Go to the plugin settings page and create a free account or log in with an existing iLoveAPI account. 39 4. Configure the settings as per your requirements. 46 40 47 1. **Click the ‘Install Now’ button**. WordPress will download and install the plugin for you. 48 2. **Wait for the success message**. A pop-up window with a link to activate the plugin will appear. 49 3. **Activate the plugin**. iLoveIMG plugin can be installed on your site, but it will not work unless you activate it. So go ahead and click on the link to activate the plugin on your WordPress site. 41 ## Frequently Asked Questions 50 42 51 == Frequently Asked Questions == 43 ### Can I use the plugin for free? 44 Yes, free users have up to 2500 credits per month. Once you reach this limit, you will need to wait until the next month or purchase credits. 52 45 53 **Can I use the plugin for free?** 46 ### Can I make a one-time payment? 47 Absolutely. You can buy a prepaid package with credits that never expire. 54 48 55 Absolutely. As a free user, we let you process your first 2500 monthly credits. Once this limit is reached, you cannot watermark new images until next month unless you purchase credits. 49 ### What happens to my original images? 50 iLoveIMG creates backups of your original images before watermarking. You can restore them anytime. 56 51 57 **Can I make a one-time payment?** 52 ### Do I need coding skills to use this plugin? 53 No. The plugin is designed for users of all skill levels, requiring no technical knowledge. 58 54 59 Yes, you can. You can buy a pre-paid package, which will never expire. 55 ### How can I optimize my photos? 56 You can install the iLoveIMG Image Compression plugin to optimize your site images for faster load times. 60 57 61 **What happens with my original images?** 58 ### Which image formats are supported? 59 The plugin supports watermarking for JPG, PNG, and GIF formats. 62 60 63 iLoveIMG automatically replaces your uploaded images with an optimized version. 61 ### Do you have a REST API? 62 Yes! This plugin is powered by our API, and you can integrate it into your own software. Learn more about the [iLoveAPI](https://iloveapi.com). 64 63 65 **Do I need to have coding skills to use iLoveIMG Plugin?** 66 67 Absolutely not. You can watermark image galleries without any coding or technical knowledge. We like to make things easy. 68 69 **How can I optimize my photos?** 70 71 Get Image Compression Plugin by iLoveIMG to optimize your site images and speed up your website. 72 73 **Which formats can be protected?** 74 75 iLoveIMG Watermark plugin can optimize images in JPG, PNG and GIF format. 76 77 **Do you have an API REST?** 78 79 Yes, in fact this plugin is powered by our API. And you can integrate our image optimization tools into your software apps too! Learn more about [iLoveIMG API for developers](https://iloveapi.com). 80 81 **Do you care about the privacy of my images?** 82 83 All our servers are strictly monitored as we comply with the European Data Privacy Regulation, one of the highest standards in the EU. All uploaded files use https/SSL and include our end-to-end encryption for further privacy of your data. 84 85 Moreover, all processed files are automatically deleted from our servers after being processed in a time range of one, two and twenty-four hours (depending on your user status). You can check detailed info at our [Privacy Policy](https://www.iloveimg.com/help/privacy) and our [Terms and Conditions](https://www.iloveimg.com/help/terms) 86 87 == Changelog == 88 89 == 2.2.0 == 90 Improved 91 * Update Libraries. 92 * Now IloveIMG will use credits to process the files. 93 * Now iloveimg accounts have been migrated to ilovepdf. 94 * Improved the function to restore all files. 95 96 Fixed 97 * When autowatermark is activated and you wanted to restore a specific file, it was watermarked again. 98 99 == 2.1.0 == 100 Added 101 * Functionality to restore images individually. 102 103 Improved 104 * Update Libraries. 105 * Time limit is set for PHP when it is less than 300. 106 * On the individual page of a file, iloveimg watermark buttons are now displayed whenever the file is a IMAGE. 107 108 Fixed 109 * Fixed a problem with restoring files and cleaning backups. 110 111 == 2.0.3 == 112 Added 113 * Update libraries. 114 * Assets files were optimized. 115 116 == 2.0.2 == 117 Added 118 * Update iloveimg-php library 119 120 == 2.0.1 == 121 Added 122 * Improved class loading. 123 124 Fixed 125 * check if key iloveimg_field_image exist. 126 127 == 2.0.0 == 128 Changed 129 * Minimum Support WP Version to 5.3 130 * Minimum Support PHP to 7.4 131 * Support WP 6.4.1 132 133 Fixed 134 * catch processing error for php 8. 135 136 = 1.0.4 = 137 Changed 138 * Formatting and comment files according to php/wordpress standards. 139 * remove comments. 140 * dirname() to __DIR__ constant. 141 * constant names in uppercase. 142 * function names is not snake case format. 143 * classes name with prefix and capital letter. 144 * variables name is not snake case format and include prefix. 145 * classes files rename. 146 * Use Yoda Conditions to check. 147 * hook names with prefix. 148 * Increment operators. 149 * gmdate() instead date(). 150 * change from json_encode() to wp_json_encode(). 151 * change from unlink() to wp_delete_file(). 152 * Use WP_Filesystem. 153 * Update iloveimg-php library to V1.1.16 154 155 Added 156 * missing documentation. 157 * Missing Domain text. 158 * Escape/sanitize data. 159 * using strict comparison for in_array. 160 161 Fixed 162 * Logical operator "and" changed to "&&" 163 * Logical operator "or" changed to "||" 164 * Visibility must be declared on method. 165 * Assignments must be the first block of code on a line. 166 * Loose comparisons are not allowed. 167 * Fix conversion from number string to int. 168 * Check if superglobal variables exist. 169 * name of function. 170 * Error checking. 171 * Noce verification. 172 * Serialized data has known vulnerability problems with Object Injection. Changed to JSON Encode. 173 * Variables $height, $width, $options_value, $ilove_img_wm_is_logged not be defined. 174 * Negated boolean expression is always true. 175 * An infinite loop was generated. The method itself called itself every time the process failed. 176 * on some servers, the $path_file variable did not contain the correct url. 177 178 = 1.0.3 = 179 * Synchronize repositories 180 181 = 1.0.2 = 182 - Fix: Bug fixes 183 184 = 1.0.1 = 185 186 - Fix: Bug fixes 64 ### How do you ensure the privacy of my images? 65 We comply with the GDPR and use end-to-end encryption. Files are automatically deleted from our servers within a time range of 1 to 24 hours, depending on your user status. Read more in our [Privacy Policy](https://www.iloveimg.com/help/privacy) and [Terms and Conditions](https://www.iloveimg.com/help/terms). -
watermark-protect-images/trunk/README.txt
r3119477 r3149231 1 1 === Best Watermark - Protect images on your site with iLoveIMG === 2 2 Plugin Name: Best Watermark - Protect images on your site with iLoveIMG 3 Version: 2.2. 03 Version: 2.2.1 4 4 Author: iLovePDF 5 5 Author URI: https://www.iloveimg.com/ … … 7 7 Tags: watermark, image protection, photography, picture, e-commerce 8 8 Requires at least: 5.3 9 Tested up to: 6.6 10 Stable tag: 2.2. 09 Tested up to: 6.6.1 10 Stable tag: 2.2.1 11 11 Requires PHP: 7.4 12 12 License: GPLv2 or later … … 45 45 == Installation == 46 46 47 1. **Click the ‘Install Now’ button**. WordPress will download and install the plugin for you. 48 2. **Wait for the success message**. A pop-up window with a link to activate the plugin will appear. 49 3. **Activate the plugin**. iLoveIMG plugin can be installed on your site, but it will not work unless you activate it. So go ahead and click on the link to activate the plugin on your WordPress site. 47 From your Admin panel: 48 1. Visit Plugins > Add New. 49 2. Search for **iloveIMG** and press the **Install Now** button. 50 3. Activate the plugin from your Plugins page. 51 52 Manual: 53 1. Upload `watermark-protect-images` to the `/wp-content/plugins/` directory 54 2. Activate the plugin through the 'Plugins' menu in WordPress 55 3. Create a free account in the plugin settings page, or use your existing one 56 4. Configure the plugin as you like 50 57 51 58 == Frequently Asked Questions == … … 77 84 **Do you have an API REST?** 78 85 79 Yes, in fact this plugin is powered by our API. And you can integrate our image optimization tools into your software apps too! Learn more about [iLove IMGAPI for developers](https://iloveapi.com).86 Yes, in fact this plugin is powered by our API. And you can integrate our image optimization tools into your software apps too! Learn more about [iLoveAPI for developers](https://iloveapi.com). 80 87 81 88 **Do you care about the privacy of my images?** … … 85 92 Moreover, all processed files are automatically deleted from our servers after being processed in a time range of one, two and twenty-four hours (depending on your user status). You can check detailed info at our [Privacy Policy](https://www.iloveimg.com/help/privacy) and our [Terms and Conditions](https://www.iloveimg.com/help/terms) 86 93 94 == Screenshots == 95 96 1. Account settings and tool configuration. 97 2. Configure Watermark IMG. 98 3. Backup available. 99 4. Image listing page. 100 87 101 == Changelog == 88 102 89 == 2.2.0 == 103 = 2.2.1 = 104 Improved 105 * Update Libraries. 106 * Improved error handling when a credential issue occurs. 107 * Improved readme texts. 108 109 = 2.2.0 = 90 110 Improved 91 111 * Update Libraries. … … 97 117 * When autowatermark is activated and you wanted to restore a specific file, it was watermarked again. 98 118 99 = = 2.1.0 ==119 = 2.1.0 = 100 120 Added 101 121 * Functionality to restore images individually. … … 109 129 * Fixed a problem with restoring files and cleaning backups. 110 130 111 = = 2.0.3 ==131 = 2.0.3 = 112 132 Added 113 133 * Update libraries. 114 134 * Assets files were optimized. 115 135 116 = = 2.0.2 ==136 = 2.0.2 = 117 137 Added 118 138 * Update iloveimg-php library 119 139 120 = = 2.0.1 ==140 = 2.0.1 = 121 141 Added 122 142 * Improved class loading. … … 125 145 * check if key iloveimg_field_image exist. 126 146 127 = = 2.0.0 ==147 = 2.0.0 = 128 148 Changed 129 149 * Minimum Support WP Version to 5.3 -
watermark-protect-images/trunk/admin/Ilove_Img_Wm_Plugin.php
r3119477 r3149231 19 19 * @var string VERSION The current version of the plugin. 20 20 */ 21 const VERSION = '2.2. 0';21 const VERSION = '2.2.1'; 22 22 23 23 /** … … 139 139 $images = $ilove->watermark( $attachment_id ); 140 140 141 if ( false !== $images) {141 if ( ! $images['error'] ) { 142 142 Ilove_Img_Wm_Resources::render_watermark_details( $attachment_id ); 143 143 } else { 144 144 ?> 145 <p> There was a problem processing your image.</p>145 <p><?php echo esc_html( $images['error_msg'] ); ?></p> 146 146 <?php 147 147 } -
watermark-protect-images/trunk/admin/Ilove_Img_Wm_Process.php
r3119477 r3149231 173 173 update_post_meta( $images_id, 'iloveimg_status_watermark', 2 ); // status watermarked 174 174 175 return $images; 175 return array( 176 'error' => false, 177 'images' => $images, 178 ); 176 179 177 180 } else { 178 181 update_post_meta( $images_id, 'iloveimg_status_watermark', 3 ); // status queue 179 182 180 return false; 183 return array( 184 'error' => true, 185 'error_msg' => __( 'There was a problem processing your image.', 'iloveimg-watermark' ), 186 ); 181 187 } 182 188 } catch ( \Exception $e ) { … … 184 190 error_log('Exception on watermark Method: ' . print_r($e, true)); // phpcs:ignore 185 191 186 return false; 192 $error_msg = 'There was a problem processing your image.'; 193 194 if ( 401 === $e->getCode() ) { 195 $error_msg = '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.'; 196 } 197 198 return array( 199 'error' => true, 200 'error_msg' => $error_msg, 201 ); 187 202 } 188 203 } -
watermark-protect-images/trunk/ilove-img-watermark.php
r3119477 r3149231 16 16 * Plugin URI: https://iloveapi.com/ 17 17 * Description: Protect your site from image theft with our reliable and easy-to-use watermark plugin. Effective protection for your images. 18 * Version: 2.2. 018 * Version: 2.2.1 19 19 * Requires at least: 5.3 20 20 * Requires PHP: 7.4 -
watermark-protect-images/trunk/package.json
r3119477 r3149231 2 2 "name": "iloveimg-wp-watermark", 3 3 "version": "1.0.0", 4 "description": " === Best Watermark - Protect images on your site with iLoveIMG ===\r Plugin Name: Best Watermark - Protect images on your site with iLoveIMG\r Version: 2.0.3\r Author: iLovePDF\r Author URI: https://www.iloveimg.com/\r Contributors: iLovePDF\r Tags: watermark, image protection, photography, picture, e-commerce\r Requires at least: 5.3\r Tested up to: 6.4.3\r Stable tag: 2.0.3\r Requires PHP: 7.4\r License: GPLv2 or later\r License URI: https://www.gnu.org/licenses/gpl-2.0.html",4 "description": "Best Watermark - Protect images on your site with iLoveIMG. Protect your site from image theft with our reliable and easy-to-use watermark plugin. Effective protection for your images.", 5 5 "main": "index.js", 6 6 "scripts": { … … 17 17 "gulp-uglify": "^3.0.2", 18 18 "merge-stream": "^2.0.0", 19 "sass": "^1.7 7.8"19 "sass": "^1.78" 20 20 } 21 21 } -
watermark-protect-images/trunk/vendor/composer/installed.json
r3119477 r3149231 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": [ … … 455 455 { 456 456 "name": "php-stubs/wordpress-stubs", 457 "version": "v6. 5.3",458 "version_normalized": "6. 5.3.0",457 "version": "v6.6.0", 458 "version_normalized": "6.6.0.0", 459 459 "source": { 460 460 "type": "git", 461 461 "url": "https://github.com/php-stubs/wordpress-stubs.git", 462 "reference": " e611a83292d02055a25f83291a98fadd0c21e092"463 }, 464 "dist": { 465 "type": "zip", 466 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/ e611a83292d02055a25f83291a98fadd0c21e092",467 "reference": " e611a83292d02055a25f83291a98fadd0c21e092",462 "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2" 463 }, 464 "dist": { 465 "type": "zip", 466 "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/86e8753e89d59849276dcdd91b9a7dd78bb4abe2", 467 "reference": "86e8753e89d59849276dcdd91b9a7dd78bb4abe2", 468 468 "shasum": "" 469 469 }, … … 471 471 "dealerdirect/phpcodesniffer-composer-installer": "^1.0", 472 472 "nikic/php-parser": "^4.13", 473 "php": "^7.4 || ~8.0.0",473 "php": "^7.4 || ^8.0", 474 474 "php-stubs/generator": "^0.8.3", 475 "phpdocumentor/reflection-docblock": " 5.3",475 "phpdocumentor/reflection-docblock": "^5.4.1", 476 476 "phpstan/phpstan": "^1.10.49", 477 477 "phpunit/phpunit": "^9.5", 478 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.11" 478 "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0", 479 "wp-coding-standards/wpcs": "3.1.0 as 2.3.0" 479 480 }, 480 481 "suggest": { … … 483 484 "szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan" 484 485 }, 485 "time": "2024-0 5-08T02:12:31+00:00",486 "time": "2024-07-17T08:50:38+00:00", 486 487 "type": "library", 487 488 "installation-source": "dist", … … 499 500 "support": { 500 501 "issues": "https://github.com/php-stubs/wordpress-stubs/issues", 501 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6. 5.3"502 "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.6.0" 502 503 }, 503 504 "install-path": "../php-stubs/wordpress-stubs" … … 505 506 { 506 507 "name": "phpstan/extension-installer", 507 "version": "1.4. 1",508 "version_normalized": "1.4. 1.0",508 "version": "1.4.3", 509 "version_normalized": "1.4.3.0", 509 510 "source": { 510 511 "type": "git", 511 512 "url": "https://github.com/phpstan/extension-installer.git", 512 "reference": " f6b87faf9fc7978eab2f7919a8760bc9f58f9203"513 }, 514 "dist": { 515 "type": "zip", 516 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/ f6b87faf9fc7978eab2f7919a8760bc9f58f9203",517 "reference": " f6b87faf9fc7978eab2f7919a8760bc9f58f9203",513 "reference": "85e90b3942d06b2326fba0403ec24fe912372936" 514 }, 515 "dist": { 516 "type": "zip", 517 "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", 518 "reference": "85e90b3942d06b2326fba0403ec24fe912372936", 518 519 "shasum": "" 519 520 }, … … 521 522 "composer-plugin-api": "^2.0", 522 523 "php": "^7.2 || ^8.0", 523 "phpstan/phpstan": "^1.9.0 "524 "phpstan/phpstan": "^1.9.0 || ^2.0" 524 525 }, 525 526 "require-dev": { … … 528 529 "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0" 529 530 }, 530 "time": "2024-0 6-10T08:20:49+00:00",531 "time": "2024-09-04T20:21:43+00:00", 531 532 "type": "composer-plugin", 532 533 "extra": { … … 544 545 ], 545 546 "description": "Composer plugin for automatic installation of PHPStan extensions", 547 "keywords": [ 548 "dev", 549 "static analysis" 550 ], 546 551 "support": { 547 552 "issues": "https://github.com/phpstan/extension-installer/issues", 548 "source": "https://github.com/phpstan/extension-installer/tree/1.4. 1"553 "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" 549 554 }, 550 555 "install-path": "../phpstan/extension-installer" … … 552 557 { 553 558 "name": "phpstan/phpstan", 554 "version": "1.1 1.7",555 "version_normalized": "1.1 1.7.0",559 "version": "1.12.3", 560 "version_normalized": "1.12.3.0", 556 561 "source": { 557 562 "type": "git", 558 563 "url": "https://github.com/phpstan/phpstan.git", 559 "reference": " 52d2bbfdcae7f895915629e4694e9497d0f8e28d"560 }, 561 "dist": { 562 "type": "zip", 563 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ 52d2bbfdcae7f895915629e4694e9497d0f8e28d",564 "reference": " 52d2bbfdcae7f895915629e4694e9497d0f8e28d",564 "reference": "0fcbf194ab63d8159bb70d9aa3e1350051632009" 565 }, 566 "dist": { 567 "type": "zip", 568 "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0fcbf194ab63d8159bb70d9aa3e1350051632009", 569 "reference": "0fcbf194ab63d8159bb70d9aa3e1350051632009", 565 570 "shasum": "" 566 571 }, … … 571 576 "phpstan/phpstan-shim": "*" 572 577 }, 573 "time": "2024-0 7-06T11:17:41+00:00",578 "time": "2024-09-09T08:10:35+00:00", 574 579 "bin": [ 575 580 "phpstan", … … 899 904 { 900 905 "name": "symfony/polyfill-php73", 901 "version": "v1.3 0.0",902 "version_normalized": "1.3 0.0.0",906 "version": "v1.31.0", 907 "version_normalized": "1.31.0.0", 903 908 "source": { 904 909 "type": "git", 905 910 "url": "https://github.com/symfony/polyfill-php73.git", 906 "reference": " ec444d3f3f6505bb28d11afa41e75faadebc10a1"907 }, 908 "dist": { 909 "type": "zip", 910 "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ ec444d3f3f6505bb28d11afa41e75faadebc10a1",911 "reference": " ec444d3f3f6505bb28d11afa41e75faadebc10a1",912 "shasum": "" 913 }, 914 "require": { 915 "php": ">=7. 1"916 }, 917 "time": "2024-0 5-31T15:07:36+00:00",911 "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" 912 }, 913 "dist": { 914 "type": "zip", 915 "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", 916 "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", 917 "shasum": "" 918 }, 919 "require": { 920 "php": ">=7.2" 921 }, 922 "time": "2024-09-09T11:45:10+00:00", 918 923 "type": "library", 919 924 "extra": { … … 958 963 ], 959 964 "support": { 960 "source": "https://github.com/symfony/polyfill-php73/tree/v1.3 0.0"965 "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" 961 966 }, 962 967 "funding": [ -
watermark-protect-images/trunk/vendor/composer/installed.php
r3119477 r3149231 4 4 'pretty_version' => 'dev-develop', 5 5 'version' => 'dev-develop', 6 'reference' => ' 5252aeac3967ac73f942ff7c80bd503951eddecd',6 'reference' => 'd693f139d7bc1a83ea7133ebd51cc842eff9ec50', 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', … … 61 61 'pretty_version' => 'dev-develop', 62 62 'version' => 'dev-develop', 63 'reference' => ' 5252aeac3967ac73f942ff7c80bd503951eddecd',63 'reference' => 'd693f139d7bc1a83ea7133ebd51cc842eff9ec50', 64 64 'type' => 'wordpress-plugin', 65 65 'install_path' => __DIR__ . '/../../', … … 68 68 ), 69 69 'php-stubs/wordpress-stubs' => array( 70 'pretty_version' => 'v6. 5.3',71 'version' => '6. 5.3.0',72 'reference' => ' e611a83292d02055a25f83291a98fadd0c21e092',70 'pretty_version' => 'v6.6.0', 71 'version' => '6.6.0.0', 72 'reference' => '86e8753e89d59849276dcdd91b9a7dd78bb4abe2', 73 73 'type' => 'library', 74 74 'install_path' => __DIR__ . '/../php-stubs/wordpress-stubs', … … 77 77 ), 78 78 'phpstan/extension-installer' => array( 79 'pretty_version' => '1.4. 1',80 'version' => '1.4. 1.0',81 'reference' => ' f6b87faf9fc7978eab2f7919a8760bc9f58f9203',79 'pretty_version' => '1.4.3', 80 'version' => '1.4.3.0', 81 'reference' => '85e90b3942d06b2326fba0403ec24fe912372936', 82 82 'type' => 'composer-plugin', 83 83 'install_path' => __DIR__ . '/../phpstan/extension-installer', … … 86 86 ), 87 87 'phpstan/phpstan' => array( 88 'pretty_version' => '1.1 1.7',89 'version' => '1.1 1.7.0',90 'reference' => ' 52d2bbfdcae7f895915629e4694e9497d0f8e28d',88 'pretty_version' => '1.12.3', 89 'version' => '1.12.3.0', 90 'reference' => '0fcbf194ab63d8159bb70d9aa3e1350051632009', 91 91 'type' => 'library', 92 92 'install_path' => __DIR__ . '/../phpstan/phpstan', … … 158 158 ), 159 159 'symfony/polyfill-php73' => array( 160 'pretty_version' => 'v1.3 0.0',161 'version' => '1.3 0.0.0',162 'reference' => ' ec444d3f3f6505bb28d11afa41e75faadebc10a1',160 'pretty_version' => 'v1.31.0', 161 'version' => '1.31.0.0', 162 'reference' => '0f68c03565dcaaf25a890667542e8bd75fe7e5bb', 163 163 'type' => 'library', 164 164 'install_path' => __DIR__ . '/../symfony/polyfill-php73',
Note: See TracChangeset
for help on using the changeset viewer.