PluginProbe ʕ •ᴥ•ʔ
Daily Prayer Time / 2020.05.04
Daily Prayer Time v2020.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 / MonthlyShortCode.php
daily-prayer-time-for-mosques / Models Last commit date
Processors 6 years ago AssetsLoader.php 6 years ago DPTAjaxHandler.php 7 years ago DSTemplateLoader.php 7 years ago DailyShortCode.php 6 years ago DigitalScreen.php 6 years ago HijriDate.php 7 years ago Init.php 6 years ago MonthlyShortCode.php 7 years ago MonthlyTimeTable.php 6 years ago UpdateStyles.php 7 years ago Validator.php 7 years ago db.php 6 years ago dptWidget.php 7 years ago
MonthlyShortCode.php
119 lines
1 <?php
2 require_once('MonthlyTimeTable.php');
3 require_once(__DIR__.'/../Views/MonthlyTimetablePrinter.php');
4
5 class MonthlyShortCode
6 {
7 /** @var MonthlyTimetablePrinter */
8 private $printer;
9
10 public function __construct()
11 {
12 $this->printer = new MonthlyTimetablePrinter();
13 add_action( 'wp_ajax_get_monthly_timetable', array( $this, 'get_monthly_timetable') );
14 add_action( 'wp_ajax_nopriv_get_monthly_timetable', array( $this, 'get_monthly_timetable') );
15 }
16
17 public function printMonthlyTimeTable($attr)
18 {
19 $data = $this->getTimeTableHeading($attr);
20 ob_start();
21 return $data;
22 return ob_get_clean();
23 }
24
25 /**
26 * @return string
27 */
28 private function getTimeTableHeading($attr)
29 {
30 $heading = "Select other month";
31
32 if (isset($attr['heading'])) {
33 $heading = $attr['heading'];
34 }
35
36 if (isset($attr['display'])) {
37 $hiddenInput = "<input type='hidden' name='display' id='display' value=".$attr['display']." />";
38 }
39 $month = date("m");
40 $path = plugin_dir_url( __FILE__ ); // I am in Models
41 $path .= '../';
42
43 $siteName = get_bloginfo( 'name' );
44
45 return $introText = "
46 <div class='container-fluid'>
47 <div class='row'>
48 <div id='printAndMonth'>
49 <div id='monthContainer'>
50 <h3 class='printSiteName'>".$siteName."</h3>
51 <p class='monthHeading'> ".$heading ."</p>
52 <span class='monthSelector'>
53 <form id='monthAjax'>" .$hiddenInput. "
54 <select class='otherMonth' id='month' name='month'>" .$this->getMonths($month). "</select>
55 </form>
56 </span>
57 <span class='printIcon'>
58 <a title='click to print' onclick='DPT.printDiv(\"printAndMonth\")'>
59 <img src=".$path. 'Assets/images/print_icon.png'." alt='click to print'>
60 </a>
61 </span>
62 </div>
63 <div class='clear'></div>
64 <div class='monthlyTimetable' id='monthlyTimetable'></div>
65 </div>
66 </div>
67 </div>
68 ";
69 }
70
71 /**
72 * @param $month
73 * @return string#
74 */
75 private function getMonths($month){
76 $months = $this->printer->getLocalMonths();
77
78 $i = 1;
79 $options = "";
80 foreach($months as $month_name){
81 $selected = "";
82
83 if ( $month_name == 'Ramadan' ) {
84 $selected = " selected='selected'";
85 } else if($i == intval($month)){
86 $selected = " selected='selected'";
87 }
88 $options .= "<option value='{$i}' {$selected}>{$month_name}</option>";
89 $i++;
90 }
91
92 return $options;
93 }
94
95 public function get_monthly_timetable()
96 {
97 $month = $_REQUEST["month"];
98 $display = $_REQUEST["display"];
99 $timetable = new MonthlyTimeTable($month);
100
101 $options = array();
102 if ($month == 13) {
103 $options['isRamadan'] = true;
104 }
105
106 if ($display === 'iqamah_only') {
107 $data = $timetable->displayTableJamahOnly($options);
108 } elseif ($display === 'azan_only') {
109 $data = $timetable->displayTableAzanOnly($options);
110 } else {
111 $data = $timetable->displayTable($options);
112 }
113
114 echo $data;
115 die();
116 }
117 }
118
119