=== EZDIGI Tool ===
Contributors: hitz2330, vahova, ezio
Donate link: https://ezdigi.net/
Tags: toolkit, security, crawler, smtp, streaming
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.6
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

All-in-one management toolkit for WordPress: site security, bot blocker, crawler, image optimizer, variation fixer, affiliate manager, live streaming schedule, and Gmail SMTP.

== Description ==

EZDIGI Site Management Toolkit is a modular suite of tools designed to optimize performance, enhance security, streamline management, and improve user experience for WordPress websites.

### Key Features:

* **EZ Security & Spam:** Enhances site security, prevents password reset email flooding & brute force, blocks user enumeration scans, stops automated spam bot registrations, disables spam comments, and cleans junk data.
* **EZ Crawler:** Automated data collection and content management utility.
* **EZ Image Optimizer:** Automatically optimizes uploaded images to conserve bandwidth and storage space.
* **EZ Variation Fixer:** Resolves display glitches for WooCommerce product variations and optimizes variation selections.
* **EZ Voucher:** Promotional voucher issue and management system for WooCommerce stores.
* **EZ Extra Demo:** Live theme and product demo preview switcher bar.
* **EZ SMTP:** Gmail SMTP mailer integration for reliable notification email delivery.
* **EZ Affiliater:** Automatic affiliate link conversion, link cloaking, and affiliate campaign management.
* **EZ Streaming:** Live stream scheduler, video replay organizer, and stream showcase.
* **EZ Admin Bar:** Customizes and cleans up the WordPress admin toolbar to remove clutter.

== External services ==

This plugin connects to external services to provide specific administrative features:

1. **Shopee Affiliate API (Shopee)**
   * **What it is and what it is used for:** EZ Affiliater connects to Shopee's GraphQL API to search products, fetch live pricing, and convert item URLs into affiliate tracking links when requested by an administrator in the admin dashboard.
   * **What data is sent and when:** Product URLs and search keyword strings are transmitted only when an administrator triggers product queries or link conversions.
   * **Service Links:** [Terms of Service](https://help.shopee.vn/portal/article/77242) | [Privacy Policy](https://help.shopee.vn/portal/article/77244)

2. **YouTube Data API (Google LLC)**
   * **What it is and what it is used for:** Used by EZ Affiliater and EZ Streaming to query video metadata, channel details, and subscriber/view counters when YouTube URLs or channel handles are configured.
   * **What data is sent and when:** Public video IDs, channel handles, or search keywords when fetching metadata. No personal user data is transmitted.
   * **Service Links:** [YouTube Terms of Service](https://www.youtube.com/t/terms) | [Google Privacy Policy](https://policies.google.com/privacy)

3. **TikTok oEmbed (TikTok Inc.)**
   * **What it is and what it is used for:** Used by EZ Affiliater to fetch public video titles, author names, and embed preview players for TikTok URLs.
   * **What data is sent and when:** Public TikTok video URLs when generating video preview cards. No personal user data is sent.
   * **Service Links:** [TikTok Terms of Service](https://www.tiktok.com/legal/page/row/terms-of-service/en) | [TikTok Privacy Policy](https://www.tiktok.com/legal/page/row/privacy-policy/en)

4. **Steam Store API (Valve Corporation)**
   * **What it is and what it is used for:** Used by EZ Streaming to search game titles and fetch game store metadata and public store cover images for live stream schedules.
   * **What data is sent and when:** Game title search terms and public Steam App IDs when an administrator searches or adds games.
   * **Service Links:** [Steam Subscriber Agreement](https://store.steampowered.com/subscriber_agreement/) | [Steam Privacy Policy](https://store.steampowered.com/privacy_agreement/)

5. **Facebook Graph API (Meta Platforms, Inc.)**
   * **What it is and what it is used for:** Used by EZ Affiliater to publish product updates to a connected Facebook Page or retrieve public page photo metadata.
   * **What data is sent and when:** Configured post title, message, and affiliate link when an administrator clicks the Facebook share button.
   * **Service Links:** [Facebook Terms of Service](https://www.facebook.com/terms.php) | [Meta Privacy Policy](https://www.facebook.com/privacy/policy)

6. **Startpage Search (Startpage B.V.)**
   * **What it is and what it is used for:** Used by the EZ Crawler module to search for product image suggestions when requested by an administrator in the admin dashboard.
   * **What data is sent and when:** Product search query keywords entered by an administrator during image search.
   * **Service Links:** [Startpage Terms of Service](https://www.startpage.com/en/terms-of-service/) | [Startpage Privacy Policy](https://www.startpage.com/en/privacy-policy/)

7. **Bing Image Search (Microsoft Corporation)**
   * **What it is and what it is used for:** Used by the EZ Crawler module as an alternative image search provider when searching for product image thumbnails.
   * **What data is sent and when:** Search query keywords when searching for missing product images.
   * **Service Links:** [Microsoft Services Agreement](https://www.microsoft.com/servicesagreement) | [Microsoft Privacy Statement](https://privacy.microsoft.com/privacystatement)

8. **Make.com Webhook (Celonis Inc.)**
   * **What it is and what it is used for:** Used by EZ Affiliater to send product details to an administrator-configured automation webhook on Make.com.
   * **What data is sent and when:** Product title, link, price, and thumbnail URL only when an administrator triggers the "Send to Make" action.
   * **Service Links:** [Make Terms and Conditions](https://www.make.com/en/terms-and-conditions) | [Make Privacy Notice](https://www.make.com/en/privacy-notice)

9. **Zalo (VNG Corporation)**
   * **What it is and what it is used for:** Used to generate customer support chat links (`zalo.me`) configured in the admin dashboard.
   * **What data is sent and when:** Configured support phone number in the link URL.
   * **Service Links:** [Zalo Terms of Service](https://zalo.me/terms-of-service) | [Zalo Privacy Policy](https://zalo.me/privacy-policy)

10. **Target Crawled Websites (User-specified Web Scraping Targets)**
    * **What it is and what it is used for:** Used by the EZ Crawler module to retrieve product HTML, specifications, and images from external websites explicitly configured by the website administrator for content migration or indexing.
    * **What data is sent and when:** Standard HTTP GET requests with custom User-Agent headers are sent to target URLs only when an administrator explicitly initiates a crawl batch or image refill task.
    * **Service Links:** Terms of Service and Privacy Policies are governed individually by the specific third-party domain(s) input by the administrator.

== Installation ==

1. Upload the `ez-toolkit` folder to the `/wp-content/plugins/` directory, or install directly via the WordPress Admin (**Plugins -> Add New -> Upload Plugin**).
2. Activate **EZDIGI Site Management Toolkit** through the 'Plugins' menu in WordPress.
3. Navigate to the **EZ Toolkit** admin menu to toggle modules and configure settings as needed.

== Frequently Asked Questions ==

= Is this plugin free? =
Yes, EZDIGI Site Management Toolkit is free, open-source software released under the GPLv2 license.

= Can I activate or deactivate individual modules? =
Yes. From the main EZ Toolkit dashboard in the WordPress admin panel, you can enable or disable each module independently based on your site requirements.

== Screenshots ==

1. Main EZ Toolkit central management dashboard.
2. EZ Security & Spam configuration module.
3. EZ Voucher management interface.

== Changelog ==

= 1.0.6 =
* Restored seamless backward compatibility for legacy shortcodes ([ez_affiliates], [ez_video_reviews], [ez_streaming], [ez_youtube_counter], [ez_message_box], [ez_portfolio_demo], [ez_voucher_portal]).
* Added transparent content and widget filters to ensure all legacy page builder elements continue rendering properly.

= 1.0.5 =
* Resolved PHP syntax error in Crawler module.
* Unified all function names, classes, defines, nonces, shortcodes, and options under unique `ezdigi_tool_` / `ezdigi_` prefix.
* Fixed drag-and-drop schedule planner script parameter references.
* Cleaned up legacy settings group registrations and obsolete shortcode fallbacks.

= 1.0.4 =
* Removed remote asset dependencies and sideloaded external media locally via WordPress Core media APIs.
* Replaced all short and generic prefixes (< 4 characters) across all functions, hooks, nonces, CPTs, and options with unique prefixes.
* Enforced strict late escaping on all dynamic outputs (absint, esc_html, esc_attr, esc_url, wp_kses_post).
* Fully documented all 10 third-party external services and APIs in readme.txt.
* Maintained full backward compatibility for existing installations.

= 1.0.3 =
* Converted all inline scripts and styles to standard WordPress enqueues (`wp_enqueue_script`, `wp_enqueue_style`, `wp_localize_script`).
* Strict late-escaping applied to all echoed variables, attributes, options, and HTML output (`esc_html`, `esc_attr`, `esc_url`, `wp_kses_post`, `absint`).
* Prevented arbitrary HTML/script injection in Crawler find-and-replace rules and applied post content sanitization.
* Localized admin icon assets to remove remote asset dependencies.
* Upgraded prefixing across all functions, hooks, constants, options, transients, and CPTs to unique prefixes (>= 4 chars).

= 1.0.2 =
* Enhanced security capability checks across all admin submenus (`manage_options` & `delete_users`).
* Removed external HTML proxy relay in Extra Demo module to comply with WordPress.org guidelines.
* Fixed raw password preservation in EZ SMTP settings sanitization callback.
* Added nonce protection for employee deletion in EZ Voucher.

= 1.0.1 =
* Security enhancements, Anti-spam Rate Limiting, and User Enumeration protection.

= 1.0.0 =
* Initial official release for WordPress.org directory submission.

