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.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.php
171 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 JHtml::fetch('bootstrap.tooltip', '.hasTooltip');
15 JHtml::fetch('vaphtml.assets.select2');
16 JHtml::fetch('vaphtml.assets.toast', 'bottom-right');
17
18 $vik = VAPApplication::getInstance();
19
20 /**
21 * Trigger event to display custom HTML.
22 * In case it is needed to include any additional fields,
23 * it is possible to create a plugin and attach it to an event
24 * called "onDisplayViewConfigapp". The event method receives the
25 * view instance as argument.
26 *
27 * @since 1.7
28 */
29 $forms = $this->onDisplayView();
30
31 // recover selected tab from the browser cookie
32 $this->selectedTab = JFactory::getApplication()->input->cookie->get('vikappointments_configapp_tab', 1, 'uint');
33
34 $tabs = $custTabs = array();
35
36 // build default tabs: applications, web hooks, backup, customizer
37 $tabs[] = JText::translate('VAPCONFIGAPPTITLE1');
38 $tabs[] = JText::translate('VAPCONFIGAPPTITLE2');
39 $tabs[] = JText::translate('VAPCONFIGAPPTITLE5');
40 $tabs[] = JText::translate('VAPCONFIGAPPTITLE6');
41
42 // iterate all form items to be displayed as custom tabs within the nav bar
43 foreach ($forms as $tabName => $tabForms)
44 {
45 // include tab
46 $custTabs[] = JText::translate($tabName);
47 }
48
49 // make sure the selected tab is still available
50 if ($this->selectedTab > count($tabs) + count($custTabs))
51 {
52 // reset to first tab
53 $this->selectedTab = 1;
54 }
55 ?>
56
57 <div class="configuration-panel">
58
59 <div id="configuration-navbar">
60 <ul>
61 <?php
62 foreach (array_merge($tabs, $custTabs) as $i => $tab)
63 {
64 $key = $i + 1;
65 ?>
66 <li id="vaptabli<?php echo $key; ?>" class="vaptabli<?php echo ($this->selectedTab == $key ? ' vapconfigtabactive' : ''); ?>" data-id="<?php echo $key; ?>">
67 <a href="javascript:void(0)"><?php echo $tab; ?></a>
68 </li>
69 <?php
70 }
71 ?>
72 </ul>
73 </div>
74
75 <?php
76 // print config search bar
77 // VAPLoader::import('libraries.widget.layout');
78 // echo UIWidgetLayout::getInstance('searchbar')->display();
79 ?>
80
81 <div id="configuration-body">
82
83 <form name="adminForm" id="adminForm" action="index.php" method="post" enctype="multipart/form-data">
84
85 <?php
86 // display default tab panes
87 echo $this->loadTemplate('api');
88 echo $this->loadTemplate('webhooks');
89 echo $this->loadTemplate('backup');
90 echo $this->loadTemplate('customizer');
91
92 $i = 0;
93
94 // iterate all form items to be displayed as new panels of custom tabs
95 foreach ($forms as $formName => $formHtml)
96 {
97 // sanitize form name
98 $key = count($tabs) + (++$i);
99
100 ?>
101 <div id="vaptabview<?php echo $key; ?>" class="vaptabview" style="<?php echo ($this->selectedTab != $key ? 'display: none;' : ''); ?>">
102 <?php echo $formHtml; ?>
103 </div>
104 <?php
105 }
106 ?>
107
108 <?php echo JHtml::fetch('form.token'); ?>
109
110 <input type="hidden" name="option" value="com_vikappointments" />
111 <input type="hidden" name="task" value="" />
112 </form>
113
114 </div>
115
116 </div>
117
118 <!-- Define role to detect the supported hook -->
119 <!-- {"rule":"customizer","event":"onDisplayViewConfigapp","type":"tab"} -->
120
121 <!-- SCRIPT -->
122
123 <?php
124 echo JLayoutHelper::render('configuration.script', array('suffix' => 'app'));
125 ?>
126
127 <script>
128
129 const configObserver = new VikFormObserver('#adminForm');
130
131 (function($) {
132 'use strict';
133
134 $(function() {
135 $('select.short').select2({
136 minimumResultsForSearch: -1,
137 allowClear: false,
138 width: 100,
139 });
140
141 $('select.small-medium').select2({
142 minimumResultsForSearch: -1,
143 allowClear: false,
144 width: 150,
145 });
146
147 $('select.medium').select2({
148 minimumResultsForSearch: -1,
149 allowClear: false,
150 width: 200,
151 });
152
153 $('select.medium-large').select2({
154 minimumResultsForSearch: -1,
155 allowClear: false,
156 width: 250,
157 });
158
159 $('select.large').select2({
160 minimumResultsForSearch: -1,
161 allowClear: false,
162 width: 300,
163 });
164
165 // freeze form on page load
166 configObserver.freeze();
167 });
168 })(jQuery);
169
170 </script>
171