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 / editconfig / tmpl / default_shop_invoice.php
vikappointments / admin / views / editconfig / tmpl Last commit date
default.php 5 days ago default_currency.php 5 days ago default_currency_details.php 5 days ago default_currency_providers.php 5 days ago default_email.php 5 days ago default_email_attachments.php 5 days ago default_email_mail.php 5 days ago default_email_notifications.php 5 days ago default_email_template.php 5 days ago default_global.php 5 days ago default_global_calendars.php 5 days ago default_global_columns.php 5 days ago default_global_gdpr.php 5 days ago default_global_sync.php 5 days ago default_global_system.php 5 days ago default_global_timezone.php 5 days ago default_global_zip.php 5 days ago default_listings.php 5 days ago default_listings_employees.php 5 days ago default_listings_services.php 5 days ago default_shop.php 5 days ago default_shop_details.php 5 days ago default_shop_invoice.php 5 days ago default_shop_packages.php 5 days ago default_shop_recurrence.php 5 days ago default_shop_reviews.php 5 days ago default_shop_subscriptions.php 5 days ago default_shop_waitlist.php 5 days ago index.html 5 days ago
default_shop_invoice.php
302 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 $params = $this->params;
15
16 $vik = VAPApplication::getInstance();
17
18 $args = VikAppointments::getPdfParams();
19 $constr = VikAppointments::getPdfConstraints();
20
21 /**
22 * Trigger event to display custom HTML.
23 * In case it is needed to include any additional fields,
24 * it is possible to create a plugin and attach it to an event
25 * called "onDisplayViewConfigShopInvoice". The event method
26 * receives the view instance as argument.
27 *
28 * @since 1.7
29 */
30 $forms = $this->onDisplayView('ShopInvoice');
31
32 ?>
33
34 <!-- DETAILS -->
35
36 <div class="config-fieldset">
37
38 <div class="config-fieldset-head">
39 <h3><?php echo JText::translate('VAPINVOICEDETAILS'); ?></h3>
40 </div>
41
42 <div class="config-fieldset-body">
43
44 <!-- AUTO GENERATE INVOICE - Radio Button -->
45
46 <?php
47 $yes = $vik->initRadioElement('', '', $params['invoiceorders'] == 1);
48 $no = $vik->initRadioElement('', '', $params['invoiceorders'] == 0);
49
50 $help = $vik->createPopover(array(
51 'title' => JText::translate('VAPMANAGECONFIG95'),
52 'content' => JText::translate('VAPMANAGECONFIG95_DESC'),
53 ));
54
55 echo $vik->openControl(JText::translate('VAPMANAGECONFIG95') . $help);
56 echo $vik->radioYesNo('invoiceorders', $yes, $no);
57 echo $vik->closeControl();
58 ?>
59
60 <!-- INVOICE IDENTIFIER - Number/Text -->
61
62 <?php
63 $help = $vik->createPopover(array(
64 'title' => JText::translate('VAPMANAGEINVOICE1'),
65 'content' => JText::translate('VAPMANAGEINVOICE1_DESC'),
66 ));
67
68 echo $vik->openControl(JText::translate('VAPMANAGEINVOICE1') . $help); ?>
69 <div class="inline-fields" id="invoice-number-field">
70 <input type="number" name="attr_invoicenumber" value="<?php echo $args->number; ?>" min="1" max="99999999" style="text-align: right;">
71 &nbsp;/&nbsp;
72 <input type="text" name="attr_invoicesuffix" value="<?php echo $args->suffix; ?>" size="10">
73 </div>
74 <?php echo $vik->closeControl(); ?>
75
76 <!-- DATE - Dropdown -->
77
78 <?php
79 $options = array(
80 JHtml::fetch('select.option', 1, 'VAPMANAGERESTRMODE1'),
81 JHtml::fetch('select.option', 2, 'VAPINVOICEDATEOPT2'),
82 JHtml::fetch('select.option', 3, 'VAPMANAGERESTRMODE2'),
83 );
84
85 $help = $vik->createPopover(array(
86 'title' => JText::translate('VAPMANAGEINVOICE2'),
87 'content' => JText::translate('VAPMANAGEINVOICE2_DESC'),
88 ));
89
90 echo $vik->openControl(JText::translate('VAPMANAGEINVOICE2') . $help); ?>
91 <select name="attr_datetype" class="medium-large">
92 <?php echo JHtml::fetch('select.options', $options, 'value', 'text', $args->datetype, true); ?></td>
93 </select>
94 <?php echo $vik->closeControl(); ?>
95
96 <!-- TAXES - Select -->
97
98 <?php
99 $taxes = JHtml::fetch('vaphtml.admin.taxes', '');
100
101 $help = $vik->createPopover(array(
102 'title' => JText::translate('VAPMANAGEINVOICE3'),
103 'content' => JText::translate('VAPMANAGEINVOICE3_DESC'),
104 ));
105
106 echo $vik->openControl(JText::translate('VAPMANAGEINVOICE3') . $help);
107 ?>
108 <select name="deftax" id="vap-deftax-sel">
109 <?php echo JHtml::fetch('select.options', $taxes, 'value', 'text', $params['deftax']); ?>
110 </select>
111 <?php echo $vik->closeControl(); ?>
112
113 <!-- USE TAX BREAKDOWN - Checkbox -->
114
115 <?php
116 $yes = $vik->initRadioElement('', '', $params['usetaxbd'] == 1);
117 $no = $vik->initRadioElement('', '', $params['usetaxbd'] == 0);
118
119 $help = $vik->createPopover(array(
120 'title' => JText::translate('VAPMANAGECONFIG119'),
121 'content' => JText::translate('VAPMANAGECONFIG119_DESC'),
122 ));
123
124 echo $vik->openControl(JText::translate('VAPMANAGECONFIG119') . $help);
125 echo $vik->radioYesNo('usetaxbd', $yes, $no);
126 echo $vik->closeControl();
127 ?>
128
129 <!-- LEGAL INFORMATION - Number -->
130
131 <?php
132 $help = $vik->createPopover(array(
133 'title' => JText::translate('VAPMANAGEINVOICE4'),
134 'content' => JText::translate('VAPMANAGEINVOICE4_DESC'),
135 ));
136
137 echo $vik->openControl(JText::translate('VAPMANAGEINVOICE4') . $help); ?>
138 <textarea name="attr_legalinfo" style="width: 60%; height: 120px;"><?php echo $args->legalinfo; ?></textarea>
139 <?php echo $vik->closeControl(); ?>
140
141 <!-- SEND INVOICE VIA E-MAIL - Checkbox -->
142
143 <?php echo $vik->openControl(JText::translate('')); ?>
144 <input type="checkbox" name="attr_sendinvoice" value="1" id="vapsendinvoicebox" <?php echo ($args->sendinvoice ? 'checked="checked"' : ''); ?>/>
145 <label for="vapsendinvoicebox" style="display: inline-block;"><?php echo JText::translate("VAPMANAGEINVOICE5"); ?></label>
146 <?php echo $vik->closeControl(); ?>
147
148 <!-- Define role to detect the supported hook -->
149 <!-- {"rule":"customizer","event":"onDisplayViewConfigShopInvoice","key":"params","type":"field"} -->
150
151 <?php
152 /**
153 * Look for any additional fields to be pushed within
154 * the Shop > Invoice > Details fieldset.
155 *
156 * @since 1.7
157 */
158 if (isset($forms['params']))
159 {
160 echo $forms['params'];
161
162 // unset details form to avoid displaying it twice
163 unset($forms['params']);
164 }
165 ?>
166
167 </div>
168
169 </div>
170
171 <!-- PROPERTIES -->
172
173 <div class="config-fieldset">
174
175 <div class="config-fieldset-head">
176 <h3><?php echo JText::translate('VAPINVOICEPROPERTIES'); ?></h3>
177 </div>
178
179 <div class="config-fieldset-body">
180
181 <!-- PAGE ORIENTATION - Dropdown -->
182
183 <?php
184 $options = array(
185 JHtml::fetch('select.option', VAPInvoiceConstraints::PAGE_ORIENTATION_PORTRAIT, 'VAPINVOICEPROPORIENTATIONOPT1'),
186 JHtml::fetch('select.option', VAPInvoiceConstraints::PAGE_ORIENTATION_LANDSCAPE, 'VAPINVOICEPROPORIENTATIONOPT2'),
187 );
188
189 echo $vik->openControl(JText::translate('VAPMANAGEINVOICEPROP1')); ?>
190 <select name="prop_page_orientation" class="medium">
191 <?php echo JHtml::fetch('select.options', $options, 'value', 'text', $constr->pageOrientation, true); ?>
192 </select>
193 <?php echo $vik->closeControl(); ?>
194
195 <!-- PAGE FORMAT - Dropdown -->
196
197 <?php
198 $options = array(
199 JHtml::fetch('select.option', VAPInvoiceConstraints::PAGE_FORMAT_A4, 'A4'),
200 JHtml::fetch('select.option', VAPInvoiceConstraints::PAGE_FORMAT_A5, 'A5'),
201 JHtml::fetch('select.option', VAPInvoiceConstraints::PAGE_FORMAT_A6, 'A6'),
202 );
203
204 echo $vik->openControl(JText::translate('VAPMANAGEINVOICEPROP2')); ?>
205 <select name="prop_page_format" class="medium">
206 <?php echo JHtml::fetch('select.options', $options, 'value', 'text', $constr->pageFormat); ?>
207 </select>
208 <?php echo $vik->closeControl(); ?>
209
210 <!-- UNIT - Dropdown -->
211
212 <?php
213 $options = array(
214 JHtml::fetch('select.option', VAPInvoiceConstraints::UNIT_POINT, 'VAPINVOICEPROPUNITOPT1'),
215 JHtml::fetch('select.option', VAPInvoiceConstraints::UNIT_MILLIMETER, 'VAPINVOICEPROPUNITOPT2'),
216 // JHtml::fetch('select.option', VAPInvoiceConstraints::UNIT_CENTIMETER, 'VAPINVOICEPROPUNITOPT3'),
217 // JHtml::fetch('select.option', VAPInvoiceConstraints::UNIT_INCH, 'VAPINVOICEPROPUNITOPT4'),
218 );
219
220 echo $vik->openControl(JText::translate('VAPMANAGEINVOICEPROP3')); ?>
221 <select name="prop_unit" class="medium">
222 <?php echo JHtml::fetch('select.options', $options, 'value', 'text', $constr->unit, true); ?>
223 </select>
224 <?php echo $vik->closeControl(); ?>
225
226 <!-- SCALE - Number -->
227
228 <?php
229 $help = $vik->createPopover(array(
230 'title' => JText::translate('VAPMANAGEINVOICEPROP4'),
231 'content' => JText::translate('VAPMANAGEINVOICEPROP4_DESC'),
232 ));
233
234 echo $vik->openControl(JText::translate('VAPMANAGEINVOICEPROP4') . $help); ?>
235 <div class="input-append">
236 <input type="number" name="prop_scale" value="<?php echo max(array(10, round($constr->imageScaleRatio * 100))); ?>" min="10" step="1" style="text-align: right;">
237
238 <span class="btn">%</span>
239 </div>
240 <?php echo $vik->closeControl(); ?>
241
242 <!-- Define role to detect the supported hook -->
243 <!-- {"rule":"customizer","event":"onDisplayViewConfigShopInvoice","key":"constraints","type":"field"} -->
244
245 <?php
246 /**
247 * Look for any additional fields to be pushed within
248 * the Shop > Invoice > Properties fieldset.
249 *
250 * @since 1.7
251 */
252 if (isset($forms['constraints']))
253 {
254 echo $forms['constraints'];
255
256 // unset details form to avoid displaying it twice
257 unset($forms['constraints']);
258 }
259 ?>
260
261 </div>
262
263 </div>
264
265 <!-- Define role to detect the supported hook -->
266 <!-- {"rule":"customizer","event":"onDisplayViewConfigShopInvoice","type":"fieldset"} -->
267
268 <?php
269 /**
270 * Iterate remaining forms to be displayed as new fieldsets
271 * within the Shop > Invoice tab.
272 *
273 * @since 1.7
274 */
275 foreach ($forms as $formTitle => $formHtml)
276 {
277 ?>
278 <div class="config-fieldset">
279
280 <div class="config-fieldset-head">
281 <h3><?php echo JText::translate($formTitle); ?></h3>
282 </div>
283
284 <div class="config-fieldset-body">
285 <?php echo $formHtml; ?>
286 </div>
287
288 </div>
289 <?php
290 }
291 ?>
292
293 <script>
294 jQuery(function($) {
295 $('#vap-deftax-sel').select2({
296 placeholder: '--',
297 allowClear: true,
298 width: 250,
299 });
300 });
301 </script>
302