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 / libraries / mvc / admin / views / overrides / tmpl / default.php
vikappointments / libraries / mvc / admin / views / overrides / tmpl Last commit date
default.php 5 days ago default_diff.php 5 days ago default_editor.php 5 days ago default_file.php 5 days ago default_folder.php 5 days ago default_guide.php 5 days ago
default.php
211 lines
1 <?php
2 /**
3 * @package VikAppointments
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2024 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('formbehavior.chosen');
15 JHtml::fetch('vaphtml.assets.contextmenu');
16 JHtml::fetch('vaphtml.assets.toast', 'bottom-right');
17
18 ?>
19
20 <style>
21 .vap-overrides-manager {
22 display: flex;
23 background: #fff;
24 border: 1px solid #ccc;
25 min-height: 500px;
26 }
27 .vap-overrides-manager .overrides-navigator {
28 width: 250px;
29 max-width: 250px;
30 overflow-x: scroll;
31 border-right: 1px solid #ccc;
32 padding: 10px;
33 }
34 .vap-overrides-manager .overrides-body {
35 flex: 1;
36 }
37
38 .vap-overrides-manager .overrides-navigator ul {
39 padding: 0 0 0 15px;
40 margin: 0 0 0 5px;
41 border-left: 1px solid rgba(0,0,0,.2);
42 }
43 .vap-overrides-manager .overrides-navigator ul li {
44 margin: 4px 0 0 0;
45 position: relative;
46 }
47 .vap-overrides-manager .overrides-navigator ul li:before {
48 position: absolute;
49 top: 9px;
50 left: -15px;
51 width: 10px;
52 height: 1px;
53 margin: auto;
54 content: "";
55 background-color: rgba(0,0,0,.2);
56 }
57 .vap-overrides-manager .overrides-navigator li ul {
58 margin-left: 5px;
59 }
60 .vap-overrides-manager .overrides-navigator > a:not(:first-of-type) {
61 margin-top: 4px;
62 }
63 .vap-overrides-manager .overrides-navigator a {
64 display: flex;
65 align-items: center;
66 }
67 .vap-overrides-manager .overrides-navigator a.folder i {
68 width: 18px;
69 }
70 .vap-overrides-manager .overrides-navigator a.file i {
71 margin-right: 4px;
72 }
73 .vap-overrides-manager .overrides-navigator a i.has-override {
74 color: #060;
75 }
76 .vap-overrides-manager .overrides-navigator a i.has-override.unpublished {
77 color: #900;
78 }
79
80 .vap-overrides-manager .overrides-body .overrides-guide {
81 padding: 0 10px;
82 }
83 </style>
84
85 <form action="admin.php?page=vikappointments&view=overrides" method="post" name="adminForm" id="adminForm">
86
87 <!-- filters -->
88
89 <div class="btn-toolbar hidden-phone" id="vap-search-tools" style="height: 32px;">
90
91 <div class="btn-group pull-left">
92 <select name="client" id="vap-client-sel" class="active" onchange="document.adminForm.submit();">
93 <?php
94 $options = [
95 JHtml::fetch('select.option', 'site', __('Site Pages', 'vikappointments')),
96 JHtml::fetch('select.option', 'administrator', __('Admin Pages', 'vikappointments')),
97 JHtml::fetch('select.option', 'widgets', __('Widgets', 'vikappointments')),
98 JHtml::fetch('select.option', 'layouts', __('Layouts', 'vikappointments')),
99 ];
100
101 echo JHtml::fetch('select.options', $options, 'value', 'text', $this->filters['client']);
102 ?>
103 </select>
104 </div>
105
106 <div class="btn-group pull-left">
107 <select name="status" id="vap-status-sel" class="<?php echo $this->filters['status'] !== '' ? 'active' : ''; ?>" onchange="document.adminForm.submit();">
108 <?php
109 $options = [
110 JHtml::fetch('select.option', '', __('- Select Status -', 'vikappointments')),
111 JHtml::fetch('select.option', 1, __('Active', 'vikappointments')),
112 JHtml::fetch('select.option', 0, __('Inactive', 'vikappointments')),
113 ];
114
115 echo JHtml::fetch('select.options', $options, 'value', 'text', $this->filters['status'], true);
116 ?>
117 </select>
118 </div>
119
120 </div>
121
122 <?php echo JHtml::fetch('form.token'); ?>
123
124 <input type="hidden" name="selectedfile" value="<?php echo $this->escape($this->filters['file']); ?>" />
125 <input type="hidden" name="overridefile" value="<?php echo $this->escape(base64_encode($this->filters['override'])); ?>" />
126
127 <input type="hidden" name="option" value="com_vikappointments" />
128 <input type="hidden" name="view" value="overrides" />
129 <input type="hidden" name="task" value="" />
130
131 </form>
132
133 <!-- body -->
134
135 <div class="vap-overrides-manager">
136
137 <!-- navigator -->
138
139 <div class="overrides-navigator">
140 <?php
141 if ($this->tree)
142 {
143 foreach ($this->tree as $node)
144 {
145 echo $this->buildNode($node);
146 }
147 }
148 else
149 {
150 ?><div style="text-align: center; margin-top: 6px;"><?php echo JText::translate('JGLOBAL_NO_MATCHING_RESULTS'); ?></div><?php
151 }
152 ?>
153 </div>
154
155 <!-- editor -->
156
157 <div class="overrides-body">
158 <?php
159 if ($this->filters['file'])
160 {
161 // display editor
162 echo $this->loadTemplate('editor');
163 }
164 else
165 {
166 // display a short guide
167 ?>
168 <div class="overrides-guide">
169 <?php echo $this->loadTemplate('guide'); ?>
170 </div>
171 <?php
172 }
173 ?>
174 </div>
175
176 </div>
177
178 <script>
179 (function($) {
180 'use strict';
181
182 VikRenderer.chosen('.btn-toolbar');
183
184 // handle folders click
185 $('.overrides-navigator a.folder').on('click', function() {
186 // get UL next to button
187 const ul = $(this).next('ul');
188
189 if (ul.is(':visible')) {
190 // hide list
191 ul.hide();
192 // back to the closed folder icon
193 $(this).find('i').attr('class', 'fas fa-folder');
194 } else {
195 // show list
196 ul.show();
197 // set open folder icon
198 $(this).find('i').attr('class', 'fas fa-folder-open');
199 }
200 });
201
202 // handle files click
203 $('.overrides-navigator a.file').on('click', function() {
204 // register the paths of the selected file within the form
205 document.adminForm.selectedfile.value = $(this).data('path');
206 document.adminForm.overridefile.value = $(this).data('override');
207 // submit the form
208 document.adminForm.submit();
209 });
210 })(jQuery);
211 </script>