{"id":367538,"date":"2026-09-18T17:29:18","date_gmt":"2026-09-18T17:29:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ds-prayer-time-table\/"},"modified":"2026-09-18T17:28:55","modified_gmt":"2026-09-18T17:28:55","slug":"din-muslim-prayer-timetable","status":"publish","type":"plugin","link":"https:\/\/en-ca.wordpress.org\/plugins\/din-muslim-prayer-timetable\/","author":23563710,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.2","stable_tag":"1.2.2","tested":"7.1.2","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Din - Muslim Prayer Timetable","header_author":"Wan Saifudin","header_description":"Simple, modern prayer timetable for mosques. Display via shortcode with Hijri date support, countdown timer, styling, and PDF download.","assets_banners_color":"dbcfd3","last_updated":"2026-09-18 17:28:55","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/wansaifudin","header_plugin_uri":"","header_author_uri":"https:\/\/wansazlinasaruddin.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":89,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.2":{"tag":"1.2.2","author":"wansaifudin","date":"2026-09-18 17:28:55","revision":3702459}},"upgrade_notice":{"1.2.2":"<p>Critical: Fixes PHP 7.4 parse error on activation. Update required if your site runs PHP 7.4.<\/p>","1.2.1":"<p>Fixed mixed line endings and non-prefixed variable names in template files.<\/p>","1.2.0":"<p>Important: Plugin prefix renamed from dpt to dinmpt for WordPress.org compliance. Due to this change, existing settings will need to be reconfigured after update.<\/p>","1.1.3":"<p>Plugin Check compliance: added phpcs:ignore annotations for custom table direct queries, added caching to year\/distinct-year queries with proper cache invalidation, fixed unsanitized $_GET in AJAX handler.<\/p>","1.1.2":"<p>Security and compliance fixes: text domain alignment, output escaping, nonce verification annotations.<\/p>","1.1.0":"<p>Important: Plugin renamed for trademark compliance. All settings and data will migrate automatically. Key fixes include nonce sanitization, menu placement, and activation stability improvements.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3702459,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3702459,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3702459,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3702459,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Daily prayer times table with Hijri date","2":"Next prayer countdown timer","3":"Monthly prayer timetable","4":"Admin settings page with Hijri configuration","5":"CSV import interface","6":"Design customization options"}},"plugin_section":[],"plugin_tags":[10957,10521,10547,10511,22604],"plugin_category":[],"plugin_contributors":[281511],"plugin_business_model":[],"class_list":["post-367538","plugin","type-plugin","status-publish","hentry","plugin_tags-hijri","plugin_tags-islamic","plugin_tags-mosque","plugin_tags-muslim","plugin_tags-prayer-times","plugin_contributors-wansaifudin","plugin_committers-wansaifudin"],"banners":{"banner":"https:\/\/ps.w.org\/din-muslim-prayer-timetable\/assets\/banner-772x250.png?rev=3702459","banner_2x":"https:\/\/ps.w.org\/din-muslim-prayer-timetable\/assets\/banner-1544x500.png?rev=3702459","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/din-muslim-prayer-timetable\/assets\/icon-128x128.png?rev=3702459","icon_2x":"https:\/\/ps.w.org\/din-muslim-prayer-timetable\/assets\/icon-256x256.png?rev=3702459","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Din is a lightweight, modern WordPress plugin designed to display daily and monthly Islamic prayer times. It allows mosques and Islamic centers to easily share accurate prayer timetables on their websites through simple shortcodes.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Daily prayer times in vertical or horizontal layout<\/li>\n<li>Next prayer with live countdown timer<\/li>\n<li>Monthly prayer timetables<\/li>\n<li>Simple Hijri (Islamic) date with manual month\/day override<\/li>\n<li>Customizable colors, font size, and styling<\/li>\n<li>CSV import for easy bulk upload<\/li>\n<li>Responsive design with modern CSS<\/li>\n<li>Automatic next prayer highlighting<\/li>\n<li>Cache-busted asset loading<\/li>\n<li>PDF download of prayer timetable (via uploaded PDF)<\/li>\n<li>Fully translation-ready (i18n)<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Import your prayer times via CSV (sample provided)<\/li>\n<li>Display using shortcodes: <code>[dinmpt_daily_timetable]<\/code>, <code>[dinmpt_next_prayer]<\/code>, <code>[dinmpt_monthly_timetable]<\/code>, <code>[dinmpt_hijri_date]<\/code><\/li>\n<li>Customize appearance via the Design settings tab<\/li>\n<li>Configure Hijri date settings using the base date and monthly day overrides<\/li>\n<\/ol>\n\n<h3>License<\/h3>\n\n<p>This program is free software: you can redistribute it and\/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.<\/p>\n\n<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<\/p>\n\n<p>You should have received a copy of the GNU General Public License along with this program. If not, see <a href=\"https:\/\/www.gnu.org\/licenses\/gpl-2.0.html\">https:\/\/www.gnu.org\/licenses\/gpl-2.0.html<\/a>.<\/p>\n\n<h3>Developer Notes<\/h3>\n\n<p>Developed by Wan Saifudin (https:\/\/wansazlinasaruddin.com). This plugin is free for use on any WordPress site. No warranties are provided.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>din-muslim-prayer-timetable<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to Settings &gt; Prayer Times to import your CSV file<\/li>\n<li>Use the shortcodes to display prayer times on any page or post<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20shortcodes%20are%20available%3F\"><h3>What shortcodes are available?<\/h3><\/dt>\n<dd><ul>\n<li><code>[dinmpt_daily_timetable]<\/code> - Display daily prayer times table<\/li>\n<li><code>[dinmpt_next_prayer]<\/code> - Display next prayer with countdown timer<\/li>\n<li><code>[dinmpt_monthly_timetable]<\/code> - Display monthly prayer times<\/li>\n<li><code>[dinmpt_hijri_date]<\/code> - Display today's Hijri date<\/li>\n<li><code>[dinmpt_gregorian_date]<\/code> - Display today's Gregorian date<\/li>\n<\/ul><\/dd>\n<dt id=\"how%20do%20i%20import%20prayer%20times%3F\"><h3>How do I import prayer times?<\/h3><\/dt>\n<dd><p>Download the sample CSV file from the plugin's Import tab, fill in your prayer times, and upload it through the same tab.<\/p><\/dd>\n<dt id=\"how%20does%20the%20hijri%20date%20work%3F\"><h3>How does the Hijri date work?<\/h3><\/dt>\n<dd><p>The plugin uses a simple anchor-based calculation. Set the base Gregorian date and corresponding Hijri date, then manually override each month's length (29 or 30 days). The system automatically updates as days pass.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20appearance%3F\"><h3>Can I customize the appearance?<\/h3><\/dt>\n<dd><p>Yes, you can customize colors, font sizes, and other styling options through the Design settings tab.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fixed PHP 7.4 parse error: removed PHP 8.0 union type <code>string|false<\/code> return declarations from parseDate() methods in class-dinmpt-csv-processor.php and class-dinmpt-renderer.php<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed mixed line endings across all PHP, JS, and CSS files to resolve Plugin Check Internal.LineEndings.Mixed warnings<\/li>\n<li>Prefixed all local variables in View template files (hijri-tab.php, design-tab.php) to comply with WordPress.NamingConventions.PrefixAllGlobals<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Renamed all prefixes from dpt_\/DPT_ (3-char) to dinmpt_\/DINMPT_ (6-char) to comply with WordPress.org plugin guidelines (minimum 4-character prefix)<\/li>\n<li>Renamed all include files from class-dpt-<em>.php to class-dinmpt-<\/em>.php<\/li>\n<li>Renamed all CSS classes and variables from dptt-* to dinmpt-*<\/li>\n<li>Renamed all asset handles from dptt-* to dinmpt-*<\/li>\n<li>Renamed JS variables from DPTT\/dptt_vars to DINMPT\/dinmpt_vars<\/li>\n<li>Fixed sanitizeHijriSettings() to validate base Gregorian date using DateTime::createFromFormat (prevents DateTime exceptions on invalid calendar dates)<\/li>\n<li>Note: Due to prefix change, existing settings will need to be reconfigured<\/li>\n<\/ul>\n\n<p>See changelog.txt for older version history.<\/p>","raw_excerpt":"Simple, modern prayer timetable for mosques. Display via shortcode with Hijri date support, countdown timer, styling, and PDF download.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/367538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=367538"}],"author":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wansaifudin"}],"wp:attachment":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=367538"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=367538"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=367538"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=367538"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=367538"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=367538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}