PluginProbe ʕ •ᴥ•ʔ
Daily Prayer Time / 2026.05.20
Daily Prayer Time v2026.05.20
2026.05.20 2026.05.11 2026.05.09 2026.05.05 2026.05.04 2026.05.03 2026.04.28 2026.04.28.1 trunk 2019.10.16 2019.11.19 2019.2.16 2019.3.1 2019.4.1 2019.4.5 2019.5.12 2019.5.13 2019.5.14 2019.5.19 2019.5.19.1 2019.5.21 2019.5.30 2019.5.5 2019.5.6 2019.5.7 2019.5.8 2019.5.9 2019.6.10 2019.6.2 2019.6.22 2019.7.10 2019.7.25 2019.8.1 2019.8.4 2019.9.16 2020.04.25 2020.04.26 2020.05.01 2020.05.04 2020.05.08 2020.05.17 2020.07.03 2021.01.10 2021.03.28 2021.07.20 2021.07.23 2021.07.24 2021.07.28 2021.08.01 2021.08.06 2021.08.07 2021.08.10 2021.09.12 2021.09.18 2021.09.23 2021.09.24 2021.10.01 2021.10.02 2021.10.10 2021.10.11 2021.10.15 2021.10.21 2021.10.27 2021.10.29 2022.03.24 2022.04.04 2022.04.14 2022.04.15 2022.04.21 2022.04.22 2022.05.04 2022.09.19 2022.11.14 2022.11.16 2022.12.18 2022.12.20 2023.01.27 2023.02.04 2023.02.09 2023.02.21 2023.03.08 2023.03.17 2023.03.18 2023.03.20 2023.05.04 2023.08.03 2023.08.08.16 2023.08.19 2023.08.19.1 2023.10.13 2023.10.21 2023.11.26 2023.12.28 2023.12.31 2024.03.28 2024.03.29 2024.03.30 2024.04.18 2024.04.20 2024.04.22 2024.04.26 2024.08.26 2024.09.12 2024.09.14 2024.09.17 2024.12.29 2024.12.30 2025.01.02 2025.01.17 2025.02.02 2025.03.04 2025.03.06 2025.03.08 2025.03.15 2025.03.20 2025.03.26 2025.03.27 2025.04.03 2025.06.16 2025.06.29 2025.07.15 2025.08.09 2025.10.26 2026.04.26
daily-prayer-time-for-mosques / Views / widget-admin.php
daily-prayer-time-for-mosques / Views Last commit date
Tabs 1 month ago DSTemplate.php 1 month ago DailyTimetablePrinter.php 1 month ago DptApiDoc.php 2 months ago HelpsAndTips.php 1 month ago MonthlyTimetablePrinter.php 2 months ago TimetablePrinter.php 1 month ago dptWidgetForm.php 4 years ago horizontal-div.php 1 month ago widget-admin.php 1 month ago
widget-admin.php
226 lines
1 <?php
2 require_once(__DIR__.'/../Models/Processors/CsvProcessor.php');
3 require_once(__DIR__.'/../Models/Processors/LanguageProcessor.php');
4 require_once(__DIR__.'/../Models/Processors/OtherProcessor.php');
5 require_once(__DIR__.'/../Models/Processors/AdhanProcessor.php');
6 require_once(__DIR__.'/../Models/Processors/DebugProcessor.php');
7 require_once(__DIR__.'/../Models/Processors/HijriProcessor.php');
8 require_once(__DIR__.'/../Models/Processors/QuickUpdateProcessor.php');
9 require_once(__DIR__.'/../Models/Processors/ThemeSettingsProcessor.php');
10 require_once(__DIR__.'/../Models/Processors/DigitalScreenProcessor.php');
11 require_once(__DIR__.'/../Models/Processors/StartTimeProcessor.php');
12 require_once(__DIR__.'/../Models/DailyShortCode.php');
13 require_once(__DIR__.'/../Models/db.php');
14 require_once(__DIR__.'/../Models/HijriDate.php');
15 require_once(__DIR__.'/../Models/StartTime/WorldCities.php');
16 require_once( 'TimetablePrinter.php' );
17
18
19 if (isset($_POST['set-start-time']) && check_admin_referer( 'csvUpload' )) {
20 $data = [
21 'city' => sanitize_text_field($_POST['city']),
22 'method' => sanitize_text_field($_POST['method']),
23 'fajr-delay' => sanitize_text_field($_POST['fajr-delay']),
24 'zuhr-delay' => sanitize_text_field($_POST['zuhr-delay']),
25 'asr-delay' => sanitize_text_field($_POST['asr-delay']),
26 'maghrib-delay' => sanitize_text_field($_POST['maghrib-delay']),
27 'isha-delay' => sanitize_text_field($_POST['isha-delay']),
28 'higher-lat' => sanitize_text_field($_POST['higher-lat']),
29 'method' => sanitize_text_field($_POST['method']),
30 'fajr-angle' => sanitize_text_field($_POST['fajr-angle']),
31 'isha-angle' => sanitize_text_field($_POST['isha-angle']),
32 'isha-angle' => sanitize_text_field($_POST['isha-angle']),
33 'asr-method' => sanitize_text_field($_POST['asr-method']),
34 ];
35 $startTimeProcessor = new DPTStartTimeProcessor($data);
36 $startTimeProcessor->process();
37 }
38
39 if (isset($_POST['submit']) && check_admin_referer( 'csvUpload' )) {
40 $csvProcessor = new DPTCsvProcessor($_FILES);
41
42 if ( $csvProcessor->isValidFile() ) {
43 $csvProcessor->process();
44 delete_transient('nearest_city');
45 delete_option('fajr-delay');
46 delete_option('zuhr-delay');
47 delete_option('asr-delay');
48 delete_option('maghrib-delay');
49 delete_option('isha-delay');
50 delete_option('higher-lat');
51 delete_option('calc-method');
52 delete_option('asr-method');
53 } else {
54 echo "<p class='ui-state-error dptCenter'><b>Invalid csv file ?</b>";
55 echo "</br>Found: <i>(". $csvProcessor->getFileType() .")</i></p>";
56 }
57 }
58
59 if (! empty($_POST['languageSettings']) && check_admin_referer( 'languageSettings' )) {
60 $data = [
61 'prayersLocal' => array_map( 'sanitize_text_field', $_POST['prayersLocal']),
62 'headersLocal' => array_map( 'sanitize_text_field', $_POST['headersLocal']),
63 'monthsLocal' => array_map( 'sanitize_text_field', $_POST['monthsLocal']),
64 'numbersLocal' => array_map( 'sanitize_text_field', $_POST['numbersLocal']),
65 'timesLocal' => array_map( 'sanitize_text_field', $_POST['timesLocal']),
66 ];
67 $languageProcessor = new DPTLanguageProcessor($data);
68 $languageProcessor->process();
69 }
70
71 if (! empty($_POST['hijriSettings']) && check_admin_referer( 'hijriSettings' )) {
72 $data = [
73 'hijri-chbox' => sanitize_text_field($_POST['hijri-chbox'] ?? ''),
74 'hijri-ummul-qura' => sanitize_text_field($_POST['hijri-ummul-qura'] ?? ''),
75 'hijri-arabic-chbox' => sanitize_text_field($_POST['hijri-arabic-chbox'] ?? ''),
76 'hijri-adjust' => sanitize_text_field($_POST['hijri-adjust']),
77 'ramadan_chbox' => sanitize_text_field($_POST['ramadan_chbox'] ?? ''),
78 'taraweehDim' => sanitize_text_field($_POST['taraweehDim'] ?? ''),
79 'imsaq' => sanitize_text_field($_POST['imsaq'] ?? ''),
80
81 ];
82 $hijri = new DPTHijriProcessor($data);
83 $hijri->process();
84 }
85
86 if (! empty($_POST['adhanSettings']) && check_admin_referer( 'adhanSettings' )) {
87 $data = [
88 'activateBeep' => sanitize_text_field($_POST['activateBeep'] ?? ''),
89 'activateAdhan' => sanitize_text_field($_POST['activateAdhan'] ?? ''),
90 'fajrAdhanUrl' => sanitize_text_field($_POST['fajrAdhanUrl']),
91 'otherAdhanUrl' => sanitize_text_field($_POST['otherAdhanUrl']),
92 'fajrAdhanBefore' => sanitize_text_field($_POST['fajrAdhanBefore']),
93 'zuhrAdhanBefore' => sanitize_text_field($_POST['zuhrAdhanBefore']),
94 'asrAdhanBefore' => sanitize_text_field($_POST['asrAdhanBefore']),
95 'ishaAdhanBefore' => sanitize_text_field($_POST['ishaAdhanBefore'])
96 ];
97 $adhanProcessor = new DPTAdhanProcessor($data);
98 $adhanProcessor->process();
99 }
100
101 if (! empty($_POST['otherSettings']) && check_admin_referer( 'otherSettings' )) {
102 $data = [
103 'jumuah1' => sanitize_text_field($_POST['jumuah1']),
104 'jumuah2' => sanitize_text_field($_POST['jumuah2']),
105 'jumuah3' => sanitize_text_field($_POST['jumuah3']),
106 'khutbahDim' => sanitize_text_field($_POST['khutbahDim']),
107 'asrSelect' => sanitize_text_field($_POST['asrSelect']),
108 'jamah_changes' => sanitize_text_field($_POST['jamah_changes']),
109 'zawal' => sanitize_text_field($_POST['zawal']),
110 'ishraq' => sanitize_text_field($_POST['ishraq']),
111 'tomorrow_time' => sanitize_text_field($_POST['tomorrow_time'] ?? ''),
112 ];
113 $otherProcessor = new DPTOtherProcessor($data);
114 $otherProcessor->process();
115 }
116
117 if (! empty($_POST['quickUpdate']) && check_admin_referer( 'quickUpdate' )) {
118 $quickUpdateProcessor = new DPTQuickUpdateProcessor($_POST['thisMonth']);
119 $quickUpdateProcessor->process();
120 }
121
122 if (! empty($_POST['themeSettings']) && check_admin_referer( 'themeSettings' )) {
123 $data = [
124 'hideTableBorder' => sanitize_text_field($_POST['hideTableBorder'] ?? ''),
125 'tableBackground' => sanitize_text_field($_POST['tableBackground']),
126 'tableHeading' => sanitize_text_field($_POST['tableHeading']),
127 'tableHeadingFont' => sanitize_text_field($_POST['tableHeadingFont']),
128 'evenRow' => sanitize_text_field($_POST['evenRow']),
129 'fontColor' => sanitize_text_field($_POST['fontColor']),
130 'highlight' => sanitize_text_field($_POST['highlight']),
131 'highlightFont' => sanitize_text_field($_POST['highlightFont']),
132 'notificationBackground' => sanitize_text_field($_POST['notificationBackground']),
133 'notificationFont' => sanitize_text_field($_POST['notificationFont']),
134 'prayerName' => sanitize_text_field($_POST['prayerName']),
135 'prayerNameFont' => sanitize_text_field($_POST['prayerNameFont']),
136 'digitalScreenRed' => sanitize_text_field($_POST['digitalScreenRed']),
137 'digitalScreenLightRed' => sanitize_text_field($_POST['digitalScreenLightRed']),
138 'digitalScreenGreen' => sanitize_text_field($_POST['digitalScreenGreen']),
139 'digitalScreenGreenFont' => sanitize_text_field($_POST['digitalScreenGreenFont']),
140 'digitalScreenPrayerName' => sanitize_text_field($_POST['digitalScreenPrayerName']),
141 'digitalScreenSlideBg' => sanitize_text_field($_POST['digitalScreenSlideBg'] ?? ''),
142 ];
143 $themeSettings = new ThemeSettingsProcessor($data);
144 $themeSettings->process();
145 }
146
147 if (! empty($_POST['digitalScreen']) && check_admin_referer( 'digitalScreen' )) {
148 $data = [
149 'ds-logo' => sanitize_text_field($_POST['ds-logo']),
150 'ds-scroll-text' => sanitize_text_field($_POST['ds-scroll-text']),
151 'ds-scroll-speed' => sanitize_text_field($_POST['ds-scroll-speed']),
152 'ds-blink-text' => sanitize_text_field($_POST['ds-blink-text']),
153 'ds-fading-msg' => sanitize_text_field($_POST['ds-fading-msg']),
154 'ds-additional-css' => trim($_POST['ds-additional-css'] ?? ''),
155 'template-chbox' => sanitize_text_field($_POST['template-chbox'] ?? ''),
156 'quran-chbox' => sanitize_text_field($_POST['quran-chbox'] ?? ''),
157 'slider-chbox' => sanitize_text_field($_POST['slider-chbox'] ?? ''),
158 'nextPrayerSlide' => sanitize_text_field($_POST['nextPrayerSlide']),
159 'ds-template' => sanitize_text_field($_POST['ds-template-hidden'] ?? $_POST['ds-template'] ?? ''),
160 'transitionEffect' => sanitize_text_field($_POST['transitionEffect'] ?? ''),
161 'transitionSpeed' => sanitize_text_field($_POST['transitionSpeed']),
162 'slider1' => sanitize_text_field($_POST['slider1']),
163 'slider1Url' => sanitize_text_field($_POST['slider1Url']),
164 'slider2' => sanitize_text_field($_POST['slider2']),
165 'slider2Url' => sanitize_text_field($_POST['slider2Url']),
166 'slider3' => sanitize_text_field($_POST['slider3']),
167 'slider3Url' => sanitize_text_field($_POST['slider3Url']),
168 'slider4' => sanitize_text_field($_POST['slider4']),
169 'slider4Url' => sanitize_text_field($_POST['slider4Url']),
170 'slider5' => sanitize_text_field($_POST['slider5']),
171 'slider5Url' => sanitize_text_field($_POST['slider5Url']),
172 'slider6' => sanitize_text_field($_POST['slider6']),
173 'slider6Url' => sanitize_text_field($_POST['slider6Url']),
174 'slider7' => sanitize_text_field($_POST['slider7']),
175 'slider7Url' => sanitize_text_field($_POST['slider7Url']),
176 'slider8' => sanitize_text_field($_POST['slider8']),
177 'slider8Url' => sanitize_text_field($_POST['slider8Url']),
178 'slider9' => sanitize_text_field($_POST['slider9']),
179 'slider9Url' => sanitize_text_field($_POST['slider9Url']),
180 'slider10' => sanitize_text_field($_POST['slider10']),
181 'slider10Url' => sanitize_text_field($_POST['slider10Url']),
182 'slider11' => sanitize_text_field($_POST['slider11']),
183 'slider11Url' => sanitize_text_field($_POST['slider11Url']),
184 ];
185 $themeSettings = new DPTDigitalScreenProcessor($data);
186 $themeSettings->process();
187 }
188
189 if (! empty($_POST['debugLogSettings']) && check_admin_referer( 'debugLogSettings' )) {
190 $data = [
191 'debugLog' => sanitize_text_field($_POST['debugLog'] ?? '')
192 ];
193 $debugProcessor = new DPTdebugProcessor($data);
194 $debugProcessor->process();
195 }
196
197 $path = plugin_dir_url( __FILE__ ); // I am in Views
198 $path .= '../';
199 $newImage = esc_url( $path . 'Assets/images/new.jpg');
200 ?>
201 <nav>
202 <div class="nav nav-tabs mb-3" id="nav-tab" role="tablist">
203 <a href="nav-home" class="nav-link active" id="nav-home-tab" data-bs-toggle="tab" data-bs-target="#nav-home" type="button" role="tab" aria-controls="nav-home" aria-selected="true">Home</a>
204 <a href="nav-quickUpdate" class="nav-link" id="nav-quickUpdate-tab" data-bs-toggle="tab" data-bs-target="#nav-quickUpdate" type="button" role="tab" aria-controls="nav-quickUpdate" aria-selected="false">Quick Update</a>
205 <a href="nav-digitalScreen" class="nav-link" id="nav-digitalScreen-tab" data-bs-toggle="tab" data-bs-target="#nav-digitalScreen" type="button" role="tab" aria-controls="nav-digitalScreen" aria-selected="false">Digital Screen</a>
206 <a href="nav-hijri" class="nav-link" id="nav-hijri-tab" data-bs-toggle="tab" data-bs-target="#nav-hijri" type="button" role="tab" aria-controls="nav-hijri" aria-selected="false">Hijri</a>
207 <a href="nav-theme" class="nav-link" id="nav-theme-tab" data-bs-toggle="tab" data-bs-target="#nav-theme" type="button" role="tab" aria-controls="nav-theme" aria-selected="false">Theme</a>
208 <a href="nav-language" class="nav-link" id="nav-language-tab" data-bs-toggle="tab" data-bs-target="#nav-language" type="button" role="tab" aria-controls="nav-language" aria-selected="false">Translate</a>
209 <a href="nav-adhan" class="nav-link" id="nav-adhan-tab" data-bs-toggle="tab" data-bs-target="#nav-adhan" type="button" role="tab" aria-controls="nav-adhan" aria-selected="false">Adhan</a>
210 <a href="nav-misc" class="nav-link" id="nav-misc-tab" data-bs-toggle="tab" data-bs-target="#nav-misc" type="button" role="tab" aria-controls="nav-misc" aria-selected="false">Misc</a>
211 </div>
212 </nav>
213 <div class="tab-content" id="nav-tabContent">
214 <div class="tab-pane show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab"><?php include 'Tabs/CsvUpload.php' ?></div>
215 <div class="tab-pane" id="nav-quickUpdate" role="tabpanel" aria-labelledby="nav-quickUpdate-tab"><?php include 'Tabs/QuickUpdate.php' ?></div>
216 <div class="tab-pane" id="nav-digitalScreen" role="tabpanel" aria-labelledby="nav-digitalScreen-tab"><?php include 'Tabs/DigitalScreen.php' ?></div>
217 <div class="tab-pane" id="nav-hijri" role="tabpanel" aria-labelledby="nav-hijri-tab"><?php include 'Tabs/HijriDate.php' ?></div>
218 <div class="tab-pane" id="nav-theme" role="tabpanel" aria-labelledby="nav-theme-tab"><?php include 'Tabs/ThemeSettings.php' ?></div>
219 <div class="tab-pane" id="nav-language" role="tabpanel" aria-labelledby="nav-language-tab"><?php include 'Tabs/ChangeLanguage.php' ?></div>
220 <div class="tab-pane" id="nav-adhan" role="tabpanel" aria-labelledby="nav-adhan-tab"><?php include 'Tabs/Adhan.php' ?></div>
221 <div class="tab-pane" id="nav-misc" role="tabpanel" aria-labelledby="nav-misc-tab"><?php include 'Tabs/OtherSettings.php' ?></div>
222 </div>
223 <div class="pt-3">
224 <span class="dpt-donation"><a href="https://donate.uwt.org/Account/Index.aspx" target="_blank">Send Sadaqa to my GRAVE</a></span>
225 <span class="dpt-donation"><a href="https://wordpress.org/support/view/plugin-reviews/daily-prayer-time-for-mosques/reviews/#new-post" target="_blank">👍 Like it? </a></span>
226 </div>