=== Zesyn Islamic Toolkit ===
Contributors: zesyn
Tags: quran, hadith, islamic, quran translation, audio recitation
Requires at least: 5.5
Tested up to: 7.0
Requires PHP: 7.2
Stable tag: 2.1.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Display Quran and Hadith with Arabic text, 30+ translations, audio recitation, and Tafsir via shortcode or Elementor widget. No API key required.

== Description ==

**Zesyn Islamic Toolkit** is a **service integration plugin** that connects your WordPress site to live Islamic content APIs. It displays Quran verses and Hadith on any page or post by fetching data server-side from two free public APIs (Quran.com API and the open-source Hadith API). Add the `[zesit_display]` shortcode or use the built-in Elementor widget — no API key or registration required.

This plugin works like a weather widget or currency converter: all data is retrieved server-side via PHP from authenticated public APIs, cached on your server, and then displayed to your visitors. No external JavaScript, CSS, or images are loaded from remote servers.

= Quran Features =
* Read any of the 114 Surahs, verse by verse (Ayah by Ayah)
* Authentic Arabic text in Uthmani script
* English transliteration (Roman phonetic script)
* Quran translation in 30+ languages — English, Bangla, Urdu, Hindi, French, German, Spanish, Turkish, Russian, and more
* Audio recitation by 12+ world-renowned reciters — AbdulBaset AbdulSamad, Mishary Afasy, Abdur-Rahman As-Sudais, and more
* Tafsir (Quranic commentary and explanation) in multiple languages

= Hadith Features =
* 4 authentic Hadith collections: Sahih Bukhari, Sahih Muslim, Jami At-Tirmidhi, Sunan Abu Dawud
* Browse Hadiths by book and page number
* Original Arabic text for every Hadith
* Hadith translation in multiple languages: English, Bangla, Urdu, Bahasa Indonesia, Turkish, Russian, French, and more

= General Features =
* Clean, modern UI with smooth skeleton loading animation
* Simple shortcode `[zesit_display]` — works in any page, post, or widget area
* Full Elementor widget with custom color controls
* Server-side caching — data is stored for 24 hours for fast load times
* No API key or account required — 100% free to use
* Fully mobile responsive
* Translation-ready (i18n/l10n ready)

= How to Use =

**Shortcode** — paste into any page, post, or widget:
`[zesit_display]`

**Elementor** — search "Zesyn Islamic Toolkit" in the widget panel, then drag and drop.

**PHP Template:**
`<?php echo do_shortcode('[zesit_display]'); ?>`

= Data Sources =

* **Quran text, translations & audio** — quran.com API (free, no key required)
* **Hadith text & translations** — Zesyn Hadith API (zesyn.com, free, no key required)

== Installation ==

1. Upload the `zesyn-islamic-toolkit` folder to `/wp-content/plugins/`, or install directly via the WordPress plugin screen.
2. Activate the plugin from the **Plugins** menu in WordPress.
3. Visit **Zesyn Islamic Toolkit** in the WordPress admin sidebar for setup instructions.
4. Add `[zesit_display]` to any page or post.

== Frequently Asked Questions ==

= Does this plugin require an API key? =
No. All data is sourced from free public APIs. No account, API key, or registration is needed.

= Which languages are supported for Quran translation? =
30+ languages including English, Bangla, Urdu, Hindi, Bahasa Indonesia, French, German, Turkish, Russian, Spanish, Italian, Portuguese, and many more.

= Which languages are supported for Hadith translation? =
English, Bangla, Urdu, Bahasa Indonesia, Turkish, Russian, French, and Tamil (availability depends on the collection).

= Which Hadith collections are included? =
Sahih Bukhari, Sahih Muslim, Jami At-Tirmidhi, and Sunan Abu Dawud.

= Does it work with Elementor? =
Yes. After activating the plugin, search for "Zesyn Islamic Toolkit" in the Elementor widget panel. You can also control colors directly from the Elementor settings panel.

= Is the plugin mobile friendly? =
Yes. The plugin is fully responsive and works on all screen sizes.

= How is data loaded? =
All Quran and Hadith data is fetched from external APIs and cached on your server for 24 hours. This keeps your site fast and reduces API calls.

= Can I use this shortcode multiple times on one page? =
It is recommended to use the shortcode once per page for best performance.

== External Services ==

This plugin retrieves data from the following external services. By using this plugin, you agree to their respective terms and privacy policies.

= 1. Quran.com API =

The plugin makes server-side PHP requests to the Quran.com public REST API to fetch Quranic verse text, translations, transliterations, tafsir (commentary), reciter lists, and audio file URLs. This is a content data service — no external JavaScript or CSS is loaded from quran.com. Audio files are streamed directly in the visitor's browser using the HTML5 audio element with URLs returned by the API.

* **API Endpoint:** https://api.quran.com/api/v4/
* **Audio CDN (browser streams audio directly):** https://verses.quran.com/
* **What is sent:** Surah number, verse number, translation/tafsir ID, language code. No personal user data is transmitted.
* **How it is called:** Server-side PHP requests only (wp_remote_get) for all metadata. Audio is streamed client-side via HTML5 audio element.
* **When it is called:** When a visitor selects a verse, translation, tafsir, or plays audio on a page with the `[zesit_display]` shortcode or Elementor widget.
* **Caching:** API responses are cached in WordPress transients for 24 hours to minimise API calls.
* **Service website:** https://quran.com/
* **Terms of Service:** https://quran.com/terms-and-conditions
* **Privacy Policy:** https://quran.com/privacy

= 2. Zesyn Hadith API =

The plugin makes server-side PHP requests to the Zesyn Hadith API (hosted on zesyn.com, the plugin author's own server) to fetch Islamic Hadith text and translations as JSON data. This is a content data service — no external JavaScript, CSS, or images are loaded from this endpoint. All requests are made server-side via PHP (wp_remote_get) and responses are cached in WordPress transients.

* **Endpoint:** https://zesyn.com/hadith-api/
* **What is sent:** Collection name, edition key, Hadith number. No personal user data is transmitted.
* **How it is called:** Server-side PHP requests only (wp_remote_get). Responses are JSON text data.
* **When it is called:** When a visitor browses Hadith content on a page containing the `[zesit_display]` shortcode.
* **Caching:** JSON responses are cached in WordPress transients for 24 hours.
* **Service website:** https://zesyn.com/
* **Terms of Service:** https://zesyn.com/terms-zesyn-islamic-toolkit
* **Privacy Policy:** https://zesyn.com/privacy-policy-zesyn-islamic-toolkit

== Screenshots ==

1. Al Quran tab — Surah and Verse selection with translation and audio player
2. Al Hadith tab — collection and book selection with Arabic text and translation
3. Loading state — skeleton animation with accurate progress bar
4. Admin page — shortcode reference and usage guide

== Changelog ==

= 2.1.1 =
* Hadith API now served through Zesyn's own endpoint (zesyn.com/hadith-api)

= 2.1.0 =
* Dynamic translation language list — only shows languages with real quran.com content
* Dynamic Tafsir language list
* Parallel HTTP fetching for hadith (faster page loads)
* Full-book hadith caching — browsing pages is instant after first load
* Pre-embedded book list data — zero AJAX calls on page load for cached data
* Fixed Chinese, Korean, and Swahili translation IDs
* Fixed Hadith editions — removed non-existent CDN editions
* Version-based transient cache clearing

= 1.0.0 =
* Initial release
* Al Quran: Surah/Verse selection, Arabic text, English transliteration, translation, 12+ audio reciters
* Al Hadith: 4 major collections, Arabic text, multilingual translation
* Shortcode: [zesit_display]
* Elementor widget with color controls
* Skeleton loading with accurate progress bar
* Admin page with shortcode documentation
* 24-hour server-side caching

== Upgrade Notice ==

= 2.1.0 =
Major performance and accuracy update. Dynamic language lists, parallel hadith fetching, and full-book caching.
