PluginProbe ʕ •ᴥ•ʔ
Daily Prayer Time / 2023.12.31
Daily Prayer Time v2023.12.31
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 2 years ago DSTemplate.php 3 years ago DailyTimetablePrinter.php 3 years ago HelpsAndTips.php 3 years ago MonthlyTimetablePrinter.php 2 years ago TimetablePrinter.php 3 years ago dptWidgetForm.php 4 years ago horizontal-div.php 4 years ago widget-admin.php 3 years ago
widget-admin.php
251 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 ini_set('auto_detect_line_endings', true);
20
21 if (isset($_POST['set-start-time']) && check_admin_referer( 'csvUpload' )) {
22 $data = [
23 'city' => sanitize_text_field($_POST['city']),
24 'method' => sanitize_text_field($_POST['method']),
25 'fajr-delay' => sanitize_text_field($_POST['fajr-delay']),
26 'zuhr-delay' => sanitize_text_field($_POST['zuhr-delay']),
27 'asr-delay' => sanitize_text_field($_POST['asr-delay']),
28 'maghrib-delay' => sanitize_text_field($_POST['maghrib-delay']),
29 'isha-delay' => sanitize_text_field($_POST['isha-delay']),
30 'higher-lat' => sanitize_text_field($_POST['higher-lat']),
31 'method' => sanitize_text_field($_POST['method']),
32 'fajr-angle' => sanitize_text_field($_POST['fajr-angle']),
33 'isha-angle' => sanitize_text_field($_POST['isha-angle']),
34 'isha-angle' => sanitize_text_field($_POST['isha-angle']),
35 'asr-method' => sanitize_text_field($_POST['asr-method']),
36 ];
37 $startTimeProcessor = new DPTStartTimeProcessor($data);
38 $startTimeProcessor->process();
39 }
40
41 if (isset($_POST['submit']) && check_admin_referer( 'csvUpload' )) {
42 $csvProcessor = new DPTCsvProcessor($_FILES);
43
44 if ( $csvProcessor->isValidFile() ) {
45 $csvProcessor->process();
46 delete_transient('nearest_city');
47 delete_option('fajr-delay');
48 delete_option('zuhr-delay');
49 delete_option('asr-delay');
50 delete_option('maghrib-delay');
51 delete_option('isha-delay');
52 delete_option('higher-lat');
53 delete_option('calc-method');
54 delete_option('asr-method');
55 } else {
56 echo "<p class='ui-state-error dptCenter'><b>Invalid csv file ?</b>";
57 echo "</br>Found: <i>(". $csvProcessor->getFileType() .")</i></p>";
58 }
59 }
60
61 if (! empty($_POST['languageSettings']) && check_admin_referer( 'languageSettings' )) {
62 $data = [
63 'prayersLocal' => array_map( 'sanitize_text_field', $_POST['prayersLocal']),
64 'headersLocal' => array_map( 'sanitize_text_field', $_POST['headersLocal']),
65 'monthsLocal' => array_map( 'sanitize_text_field', $_POST['monthsLocal']),
66 'numbersLocal' => array_map( 'sanitize_text_field', $_POST['numbersLocal']),
67 'timesLocal' => array_map( 'sanitize_text_field', $_POST['timesLocal']),
68 ];
69 $languageProcessor = new DPTLanguageProcessor($data);
70 $languageProcessor->process();
71 }
72
73 if (! empty($_POST['hijriSettings']) && check_admin_referer( 'hijriSettings' )) {
74 $data = [
75 'hijri-chbox' => sanitize_text_field($_POST['hijri-chbox'] ?? ''),
76 'hijri-ummul-qura' => sanitize_text_field($_POST['hijri-ummul-qura'] ?? ''),
77 'hijri-arabic-chbox' => sanitize_text_field($_POST['hijri-arabic-chbox'] ?? ''),
78 'hijri-adjust' => sanitize_text_field($_POST['hijri-adjust']),
79 'ramadan_chbox' => sanitize_text_field($_POST['ramadan_chbox'] ?? ''),
80 'taraweehDim' => sanitize_text_field($_POST['taraweehDim'] ?? ''),
81 'imsaq' => sanitize_text_field($_POST['imsaq'] ?? ''),
82
83 ];
84 $hijri = new DPTHijriProcessor($data);
85 $hijri->process();
86 }
87
88 if (! empty($_POST['adhanSettings']) && check_admin_referer( 'adhanSettings' )) {
89 $data = [
90 'activateAdhan' => sanitize_text_field($_POST['activateAdhan'] ?? ''),
91 'fajrAdhanUrl' => sanitize_text_field($_POST['fajrAdhanUrl']),
92 'otherAdhanUrl' => sanitize_text_field($_POST['otherAdhanUrl']),
93 'fajrAdhanBefore' => sanitize_text_field($_POST['fajrAdhanBefore']),
94 'zuhrAdhanBefore' => sanitize_text_field($_POST['zuhrAdhanBefore']),
95 'asrAdhanBefore' => sanitize_text_field($_POST['asrAdhanBefore']),
96 'ishaAdhanBefore' => sanitize_text_field($_POST['ishaAdhanBefore'])
97 ];
98 $adhanProcessor = new DPTAdhanProcessor($data);
99 $adhanProcessor->process();
100 }
101
102 if (! empty($_POST['otherSettings']) && check_admin_referer( 'otherSettings' )) {
103 $data = [
104 'jumuah1' => sanitize_text_field($_POST['jumuah1']),
105 'jumuah2' => sanitize_text_field($_POST['jumuah2']),
106 'jumuah3' => sanitize_text_field($_POST['jumuah3']),
107 'khutbahDim' => sanitize_text_field($_POST['khutbahDim']),
108 'asrSelect' => sanitize_text_field($_POST['asrSelect']),
109 'jamah_chas' => sanitize_text_field($_POST['jamah_changes']),
110 'tomorrow_time' => sanitize_text_field($_POST['tomorrow_time'] ?? ''),
111 ];
112 $otherProcessor = new DPTOtherProcessor($data);
113 $otherProcessor->process();
114 }
115
116 if (! empty($_POST['quickUpdate']) && check_admin_referer( 'quickUpdate' )) {
117 $quickUpdateProcessor = new DPTQuickUpdateProcessor($_POST['thisMonth']);
118 $quickUpdateProcessor->process();
119 }
120
121 if (! empty($_POST['themeSettings']) && check_admin_referer( 'themeSettings' )) {
122 $data = [
123 'hideTableBorder' => sanitize_text_field($_POST['hideTableBorder'] ?? ''),
124 'tableBackground' => sanitize_text_field($_POST['tableBackground']),
125 'tableHeading' => sanitize_text_field($_POST['tableHeading']),
126 'tableHeadingFont' => sanitize_text_field($_POST['tableHeadingFont']),
127 'evenRow' => sanitize_text_field($_POST['evenRow']),
128 'fontColor' => sanitize_text_field($_POST['fontColor']),
129 'highlight' => sanitize_text_field($_POST['highlight']),
130 'notificationBackground' => sanitize_text_field($_POST['notificationBackground']),
131 'notificationFont' => sanitize_text_field($_POST['notificationFont']),
132 'prayerName' => sanitize_text_field($_POST['prayerName']),
133 'prayerNameFont' => sanitize_text_field($_POST['prayerNameFont']),
134 'digitalScreenRed' => sanitize_text_field($_POST['digitalScreenRed']),
135 'digitalScreenLightRed' => sanitize_text_field($_POST['digitalScreenLightRed']),
136 'digitalScreenGreen' => sanitize_text_field($_POST['digitalScreenGreen']),
137 'digitalScreenPrayerName' => sanitize_text_field($_POST['digitalScreenPrayerName']),
138 ];
139 $themeSettings = new ThemeSettingsProcessor($data);
140 $themeSettings->process();
141 }
142
143 if (! empty($_POST['digitalScreen']) && check_admin_referer( 'digitalScreen' )) {
144 $data = [
145 'ds-logo' => sanitize_text_field($_POST['ds-logo']),
146 'ds-scroll-text' => sanitize_text_field($_POST['ds-scroll-text']),
147 'ds-scroll-speed' => sanitize_text_field($_POST['ds-scroll-speed']),
148 'ds-blink-text' => sanitize_text_field($_POST['ds-blink-text']),
149 'ds-fading-msg' => sanitize_text_field($_POST['ds-fading-msg']),
150 'ds-additional-css' => sanitize_text_field($_POST['ds-additional-css']),
151 'quran-chbox' => sanitize_text_field($_POST['quran-chbox'] ?? ''),
152 'slider-chbox' => sanitize_text_field($_POST['slider-chbox'] ?? ''),
153 'nextPrayerSlide' => sanitize_text_field($_POST['nextPrayerSlide']),
154 'transitionEffect' => sanitize_text_field($_POST['transitionEffect'] ?? ''),
155 'transitionSpeed' => sanitize_text_field($_POST['transitionSpeed']),
156 'slider1' => sanitize_text_field($_POST['slider1']),
157 'slider1Url' => sanitize_text_field($_POST['slider1Url']),
158 'slider2' => sanitize_text_field($_POST['slider2']),
159 'slider2Url' => sanitize_text_field($_POST['slider2Url']),
160 'slider3' => sanitize_text_field($_POST['slider3']),
161 'slider3Url' => sanitize_text_field($_POST['slider3Url']),
162 'slider4' => sanitize_text_field($_POST['slider4']),
163 'slider4Url' => sanitize_text_field($_POST['slider4Url']),
164 'slider5' => sanitize_text_field($_POST['slider5']),
165 'slider5Url' => sanitize_text_field($_POST['slider5Url']),
166 'slider6' => sanitize_text_field($_POST['slider6']),
167 'slider6Url' => sanitize_text_field($_POST['slider6Url']),
168 'slider7' => sanitize_text_field($_POST['slider7']),
169 'slider7Url' => sanitize_text_field($_POST['slider7Url']),
170 'slider8' => sanitize_text_field($_POST['slider8']),
171 'slider8Url' => sanitize_text_field($_POST['slider8Url']),
172 'slider9' => sanitize_text_field($_POST['slider9']),
173 'slider9Url' => sanitize_text_field($_POST['slider9Url']),
174 'slider10' => sanitize_text_field($_POST['slider10']),
175 'slider10Url' => sanitize_text_field($_POST['slider10Url']),
176 'slider11' => sanitize_text_field($_POST['slider11']),
177 'slider11Url' => sanitize_text_field($_POST['slider11Url']),
178 ];
179 $themeSettings = new DPTDigitalScreenProcessor($data);
180 $themeSettings->process();
181 }
182
183 if (! empty($_POST['debugLogSettings']) && check_admin_referer( 'debugLogSettings' )) {
184 $data = [
185 'debugLog' => sanitize_text_field($_POST['debugLog'] ?? '')
186 ];
187 $debugProcessor = new DPTdebugProcessor($data);
188 $debugProcessor->process();
189 }
190
191 $path = plugin_dir_url( __FILE__ ); // I am in Views
192 $path .= '../';
193 $newImage = esc_url( $path . 'Assets/images/new.jpg');
194 ?>
195
196 <div id="tabs" style="display: none;">
197 <ul>
198 <li><a href="#tabs-1" data-tab-index="0">Set Prayer Times</a></li>
199 <li><a href="#tabs-2" data-tab-index="1">Quick Update Times</a></li>
200 <li><a href="#tabs-3" data-tab-index="2">Mobile/Masjid Display</a></li>
201 <li><a href="#tabs-4" data-tab-index="3">Hijri</a></li>
202 <li><a href="#tabs-5" data-tab-index="4">Theme</a></li>
203 <li><a href="#tabs-6" data-tab-index="5">Translate</a></li>
204 <li><a href="#tabs-7" data-tab-index="6">Adhan</a></li>
205 <li><a href="#tabs-8" data-tab-index="7">Misc</a></li>
206 <li><a href="#tabs-9" data-tab-index="8">API Doc</a></li>
207 <li><a href="#tabs-10" data-tab-index="8">Debug</a></li>
208 </ul>
209
210 <div id="tabs-1" class="wrap" xmlns="http://www.w3.org/1999/html">
211 <?php include 'Tabs/CsvUpload.php' ?>
212 </div>
213
214 <div id="tabs-2">
215 <?php include 'Tabs/QuickUpdate.php' ?>
216 </div>
217
218 <div id="tabs-3">
219 <?php include 'Tabs/DigitalScreen.php' ?>
220 </div>
221
222 <div id="tabs-4">
223 <?php include 'Tabs/HijriDate.php' ?>
224 </div>
225
226 <div id="tabs-5">
227 <?php include 'Tabs/ThemeSettings.php' ?>
228 </div>
229
230 <div id="tabs-6">
231 <?php include 'Tabs/ChangeLanguage.php' ?>
232 </div>
233
234 <div id="tabs-7">
235 <?php include 'Tabs/Adhan.php' ?>
236 </div>
237
238 <div id="tabs-8">
239 <?php include 'Tabs/OtherSettings.php' ?>
240 </div>
241
242 <div id="tabs-9">
243 <?php include 'Tabs/APIdoc.php' ?>
244 </div>
245
246 <div id="tabs-10">
247 <?php include 'Tabs/Debug.php' ?>
248 </div>
249 </div>
250 <span class="dpt-donation"><a href="https://donate.uwt.org/Account/Index.aspx" target="_blank">Send Sadaqa to my GRAVE</a></span>
251 <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>