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 / services.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
services.php
75 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 SERVICES.
18 *
19 * @see ImportObject
20 * @since 1.7.3
21 */
22 class ImportObjectServices 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 = 's')
38 {
39 $app = $options->get('app');
40 $dbo = $options->get('dbo');
41
42 $filters = array();
43 $filters['keys'] = $app->getUserStateFromRequest('vapservices.keys', 'keys', '', 'string');
44 $filters['status'] = $app->getUserStateFromRequest('vapservices.status', 'status', '', 'string');
45 $filters['id_group'] = $app->getUserStateFromRequest('vapservices.group', 'id_group', -1, 'int');
46
47 $q = parent::buildExportQuery($options, $alias);
48
49 // init where to prevent errors with andWhere search
50 $q->where(1);
51
52 if (!empty($filters['keys']))
53 {
54 $q->andWhere(array(
55 $dbo->qn('s.name') . ' LIKE ' . $dbo->q("%{$filters['keys']}%"),
56 $dbo->qn('s.description') . ' LIKE ' . $dbo->q("%{$filters['keys']}%"),
57 ), 'OR');
58 }
59
60 if (strlen($filters['status']))
61 {
62 $q->where($dbo->qn('s.published') . ' = ' . (int) $filters['status']);
63 }
64
65 if ($filters['id_group'] != -1)
66 {
67 $cmp = $filters['id_group'] == 0 ? '<=' : '=';
68
69 $q->where($dbo->qn('s.id_group') . ' ' . $cmp . ' ' . $filters['id_group']);
70 }
71
72 return $q;
73 }
74 }
75