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 / site / helpers / libraries / import / classes / options.php
vikappointments / site / helpers / libraries / import / classes Last commit date
cities.php 3 days ago coupons.php 3 days ago customers.php 3 days ago empgroups.php 3 days ago employees.php 3 days ago groups.php 3 days ago index.html 3 days ago locations.php 3 days ago optiongroups.php 3 days ago options.php 3 days ago reviews.php 3 days ago services.php 3 days ago states.php 3 days ago
options.php
79 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 VAPLoader::import('libraries.import.object');
15
16 /**
17 * Class used to handle an import event for the OPTIONS.
18 *
19 * @see ImportObject
20 * @since 1.7.3
21 */
22 class ImportObjectOptions extends ImportObject
23 {
24 /**
25 * Builds the base query to export all the records.
26 * @since 1.7 $app and $dbo are now included within the $options argument.
27 *
28 * @param JObject $options A registry of export options.
29 * @param string $alias The table alias.
30 *
31 * @return mixed The query builder object.
32 *
33 * @uses getColumns()
34 * @uses getTable()
35 * @uses getPrimaryKey()
36 */
37 protected function buildExportQuery($options, $alias = 'o')
38 {
39 $app = $options->get('app');
40 $dbo = $options->get('dbo');
41
42 $filters = array();
43 $filters['keys'] = $app->getUserStateFromRequest('vapoptions.keys', 'keys', '', 'string');
44 $filters['status'] = $app->getUserStateFromRequest('vapoptions.status', 'status', '', 'string');
45 $filters['type'] = $app->getUserStateFromRequest('vapoptions.type', 'type', '', 'string');
46 $filters['id_group'] = $app->getUserStateFromRequest('vapoptions.group', 'id_group', -1, 'int');
47
48 $q = parent::buildExportQuery($options, $alias);
49
50 // init where to prevent errors with andWhere search
51 $q->where(1);
52
53 if (strlen($filters['keys']))
54 {
55 $q->andWhere(array(
56 $dbo->qn('o.name') . ' LIKE ' . $dbo->q("%{$filters['keys']}%"),
57 $dbo->qn('o.description') . ' LIKE ' . $dbo->q("%{$filters['keys']}%"),
58 ), 'OR');
59 }
60
61 if (strlen($filters['status']))
62 {
63 $q->where($dbo->qn('o.published') . ' = ' . (int) $filters['status']);
64 }
65
66 if (strlen($filters['type']))
67 {
68 $q->where($dbo->qn('o.required') . ' = ' . (int) $filters['type']);
69 }
70
71 if ($filters['id_group'] != -1)
72 {
73 $q->where($dbo->qn('o.id_group') . ' = ' . $filters['id_group']);
74 }
75
76 return $q;
77 }
78 }
79