PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / 1.2.20
VikAppointments Services Booking Calendar v1.2.20
1.2.21 1.2.20 trunk 1.2.17 1.2.18 1.2.19
vikappointments / site / helpers / libraries / customfields / rules / email.php
vikappointments / site / helpers / libraries / customfields / rules Last commit date
address.php 1 month ago city.php 1 month ago company.php 1 month ago country.php 1 month ago email.php 1 month ago index.html 1 month ago nominative.php 1 month ago pec.php 1 month ago phone.php 1 month ago ssn.php 1 month ago state.php 1 month ago vatnum.php 1 month ago zip.php 1 month ago
email.php
71 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 /**
15 * VikAppointments custom field e-mail rule dispatcher.
16 *
17 * @since 1.7
18 */
19 class VAPCustomFieldRuleEmail extends VAPCustomFieldRule
20 {
21 /**
22 * Returns the name of the rule.
23 *
24 * @return string
25 */
26 public function getName()
27 {
28 return JText::translate('VAPCUSTFIELDRULE2');
29 }
30
31 /**
32 * Dispatches the field rule.
33 *
34 * @param mixed $value The value of the field set in request.
35 * @param array &$args The array data to fill-in in case of
36 * specific rules (name, e-mail, etc...).
37 * @param mixed $field The custom field object.
38 *
39 * @return void
40 */
41 public function dispatch($value, &$args, $field)
42 {
43 // in case of multiple fields with e-mail rule, use only
44 // the first specified one
45 if (empty($args['purchaser_mail']))
46 {
47 // fill e-mail column with field value
48 $args['purchaser_mail'] = $value;
49 }
50 }
51
52 /**
53 * Renders the field rule.
54 *
55 * @param array &$data An array of display data.
56 * @param mixed $field The custom field object.
57 *
58 * @return string The HTML that will be used in place of the layout
59 * defined by the field. Omit this value to keep using
60 * the default HTML of the field.
61 */
62 public function render(&$data, $field)
63 {
64 // use a different type for input with e-mail rule
65 $data['type'] = 'email';
66
67 // inject class name
68 $data['class'] = (empty($data['class']) ? '' : $data['class'] . ' ') . 'mail-field';
69 }
70 }
71