PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / 1.2.21
VikAppointments Services Booking Calendar v1.2.21
1.2.21 1.2.20 trunk 1.2.17 1.2.18 1.2.19
vikappointments / admin / views / editconfigapp / tmpl / default_webhooks_basic.php
vikappointments / admin / views / editconfigapp / tmpl Last commit date
default.php 3 days ago default_api.php 3 days ago default_api_basic.php 3 days ago default_api_users.php 3 days ago default_backup.php 3 days ago default_backup_basic.php 3 days ago default_customizer.php 3 days ago default_customizer_addcss.php 3 days ago default_customizer_form.php 3 days ago default_customizer_preview.php 3 days ago default_customizer_toolbar.php 3 days ago default_webhooks.php 3 days ago default_webhooks_basic.php 3 days ago index.html 3 days ago
default_webhooks_basic.php
189 lines
1 <?php
2 /**
3 * @package VikAppointments
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2021 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 $config = $this->config;
15
16 $vik = VAPApplication::getInstance();
17
18 /**
19 * Trigger event to display custom HTML.
20 * In case it is needed to include any additional fields,
21 * it is possible to create a plugin and attach it to an event
22 * called "onDisplayViewConfigappWebhookDetails". The event method
23 * receives the view instance as argument.
24 *
25 * @since 1.7
26 */
27 $forms = $this->onDisplayView('WebhookDetails');
28
29 ?>
30
31 <div class="config-fieldset">
32
33 <div class="config-fieldset-body">
34
35 <!-- MAX FAIL ATTEMPTS - Number -->
36
37 <?php
38 $help = $vik->createPopover(array(
39 'title' => JText::translate('VAPWEBHOOKCONFIG1'),
40 'content' => JText::translate('VAPWEBHOOKCONFIG1_HELP'),
41 ));
42
43 echo $vik->openControl(JText::translate('VAPWEBHOOKCONFIG1') . $help); ?>
44 <input type="number" name="webhooksmaxfail" value="<?php echo $config->getUint('webhooksmaxfail'); ?>" step="1" min="0" max="9999" />
45 <?php echo $vik->closeControl(); ?>
46
47 <!-- USE LOGS - Checkbox -->
48
49 <?php
50 $yes = $vik->initRadioElement('', '', $config->getBool('webhooksuselog'), 'onclick="useLogValueChanged(1);"');
51 $no = $vik->initRadioElement('', '', !$config->getBool('webhooksuselog'), 'onclick="useLogValueChanged(0);"');
52
53 echo $vik->openControl(JText::translate('VAPWEBHOOKCONFIG4'));
54 echo $vik->radioYesNo('webhooksuselog', $yes, $no);
55 echo $vik->closeControl();
56 ?>
57
58 <!-- GROUP LOGS - Select -->
59
60 <?php
61 $control = array();
62 $control['style'] = $config->getBool('webhooksuselog') ? '' : 'display:none;';
63
64 $options = array(
65 JHtml::fetch('select.option', 'day', JText::translate('VAPMANAGECONFIGRECSINGOPT1')),
66 JHtml::fetch('select.option', 'week', JText::translate('VAPMANAGECONFIGRECSINGOPT2')),
67 JHtml::fetch('select.option', 'month', JText::translate('VAPMANAGECONFIGRECSINGOPT3')),
68 );
69
70 $help = $vik->createPopover(array(
71 'title' => JText::translate('VAPWEBHOOKCONFIG2'),
72 'content' => JText::translate('VAPWEBHOOKCONFIG2_HELP'),
73 ));
74
75 echo $vik->openControl(JText::translate('VAPWEBHOOKCONFIG2') . $help, 'uselog-child', $control); ?>
76 <select name="webhooksgroup" class="medium">
77 <?php echo JHtml::fetch('select.options', $options, 'value', 'text', $config->get('webhooksgroup')); ?>
78 </select>
79 <?php echo $vik->closeControl(); ?>
80
81 <!-- LOGS PATH - Text -->
82
83 <?php
84 $help = $vik->createPopover(array(
85 'title' => JText::translate('VAPWEBHOOKCONFIG3'),
86 'content' => JText::translate('VAPWEBHOOKCONFIG3_HELP'),
87 ));
88
89 // get saved path
90 $path = $config->get('webhookslogspath');
91
92 if (!$path)
93 {
94 // use default path
95 $path = JFactory::getApplication()->get('log_path', '');
96 }
97
98 echo $vik->openControl(JText::translate('VAPWEBHOOKCONFIG3') . $help, 'uselog-child', $control); ?>
99 <input type="text" name="webhookslogspath" value="<?php echo $this->escape($path); ?>" size="64" />
100 <?php echo $vik->closeControl(); ?>
101
102 <!-- Define role to detect the supported hook -->
103 <!-- {"rule":"customizer","event":"onDisplayViewConfigappWebhookDetails","key":"basic","type":"field"} -->
104
105 <?php
106 /**
107 * Look for any additional fields to be pushed within
108 * the Webhooks > Settings > Details fieldset.
109 *
110 * @since 1.7
111 */
112 if (isset($forms['basic']))
113 {
114 echo $forms['basic'];
115
116 // unset details form to avoid displaying it twice
117 unset($forms['basic']);
118 }
119 ?>
120
121 <!-- WEBHOOKS MANAGEMENT - Button -->
122
123 <?php echo $vik->openControl(''); ?>
124 <a href="index.php?option=com_vikappointments&amp;view=webhooks" class="btn" id="webhooks-btn">
125 <?php echo JText::translate('VAPCONFIGSEEWEBHOOKS'); ?>
126 </a>
127 <?php echo $vik->closeControl(); ?>
128
129 </div>
130
131 </div>
132
133 <!-- Define role to detect the supported hook -->
134 <!-- {"rule":"customizer","event":"onDisplayViewConfigappWebhookDetails","type":"fieldset"} -->
135
136 <?php
137 // iterate remaining forms to be displayed as new fieldsets
138 // within the Webhooks > Settings tab
139 foreach ($forms as $formTitle => $formHtml)
140 {
141 ?>
142 <div class="config-fieldset">
143
144 <div class="config-fieldset-head">
145 <h3><?php echo JText::translate($formTitle); ?></h3>
146 </div>
147
148 <div class="config-fieldset-body">
149 <?php echo $formHtml; ?>
150 </div>
151
152 </div>
153 <?php
154 }
155
156 JText::script('VAPFORMCHANGEDCONFIRMTEXT');
157 ?>
158
159 <script>
160
161 jQuery(function($) {
162 $('#webhooks-btn').on('click', (event) => {
163 if (!configObserver.isChanged()) {
164 // nothing has changed, go ahead
165 return true;
166 }
167
168 // ask for a confirmation
169 let r = confirm(Joomla.JText._('VAPFORMCHANGEDCONFIRMTEXT'));
170
171 if (!r) {
172 // do not leave the page
173 event.preventDefault();
174 event.stopPropagation();
175 return false;
176 }
177 });
178 });
179
180 function useLogValueChanged(is) {
181 if (is) {
182 jQuery('.uselog-child').show();
183 } else {
184 jQuery('.uselog-child').hide();
185 }
186 }
187
188 </script>
189