PluginProbe ʕ •ᴥ•ʔ
Daily Prayer Time / 2026.05.04
Daily Prayer Time v2026.05.04
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 / Models / Processors / QuickUpdateProcessor.php
daily-prayer-time-for-mosques / Models / Processors Last commit date
AdhanProcessor.php 1 year ago CsvProcessor.php 2 months ago DebugProcessor.php 1 year ago DigitalScreenProcessor.php 1 month ago HijriProcessor.php 3 years ago LanguageProcessor.php 4 years ago OtherProcessor.php 2 months ago QuickUpdateProcessor.php 3 years ago StartTimeProcessor.php 1 year ago ThemeSettingsProcessor.php 1 year ago
QuickUpdateProcessor.php
59 lines
1 <?php
2 if (!class_exists('DPTQuickUpdateProcessor')) {
3 class DPTQuickUpdateProcessor
4 {
5 /**
6 * @var array
7 */
8 private $data;
9
10 /**
11 * @param array $data
12 */
13 public function __construct(array $data)
14 {
15 $this->data = $data;
16 }
17
18 public function process()
19 {
20 $db = new DatabaseConnection();
21 $this->validate($this->data);
22 $db->quickUpdateRow($this->data);
23 }
24
25 /**
26 * validate user input of prayer time
27 */
28 private function validate(array $rows)
29 {
30 foreach($rows as $row) {
31 foreach($row as $name => $time) {
32 if ($name == 'd_date') continue;
33 if ( ! $this->isValidateTimeFormat($time) ) {
34 return false;
35 }
36 }
37 }
38 return true;
39 }
40
41 /**
42 * @param string $time
43 * @return bool
44 */
45 private function isValidateTimeFormat($time)
46 {
47 $time = trim($time);
48 $pattern1 = "/^([0-9]|[01][0-9]|2[0-3]):[0-5][0-9]$/"; // HH:MM or H:MM
49 $pattern2 = "/^([0-9]|[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/"; // HH:MM or H:MM
50
51 if ( preg_match($pattern1, $time, $matches) || preg_match($pattern2, $time, $matches) ) {
52 return true;
53 }
54
55 return false;
56 }
57 }
58 }
59