PluginProbe
VikBooking Hotel Booking Engine & PMS / trunk
VikBooking Hotel Booking Engine & PMS vtrunk
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / admin / controllers / configuration.php

configuration.php in VikBooking Hotel Booking Engine & PMS trunk, at admin/controllers/configuration.php

70 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2023 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 * VikBooking configuration controller.
16 *
17 * @since 1.16.5 (J) - 1.6.5 (WP)
18 */
19 class VikBookingControllerConfiguration extends JControllerAdmin
20 {
21 /**
22 * AJAX endpoint to update configuration settings.
23 *
24 * @return void
25 */
26 public function update()
27 {
28 if (!JSession::checkToken()) {
29 VBOHttpDocument::getInstance()->close(403, JText::translate('JINVALID_TOKEN'));
30 }
31
32 $settings = JFactory::getApplication()->input->get('settings', [], 'array');
33 if (!$settings) {
34 VBOHttpDocument::getInstance()->close(500, 'Missing data to update');
35 }
36
37 // VikBooking configuration object
38 $config = VBOFactory::getConfig();
39
40 // prepare settings to be mirrored on VikChannelManager, if available
41 $vcm_settings = [
42 'appearance_pref' => null,
43 ];
44
45 foreach ($settings as $param => $value) {
46 // update setting on VBO
47 $config->set($param, $value);
48
49 // check if setting exists in VCM
50 if (array_key_exists($param, $vcm_settings)) {
51 // set value
52 $vcm_settings[$param] = $value;
53 }
54 }
55
56 // check if any settings should be updated on VCM
57 if (class_exists('VCMFactory')) {
58 $vcm_config = VCMFactory::getConfig();
59 foreach ($vcm_settings as $param => $value) {
60 if ($value !== null) {
61 // update mirrored setting on VCM
62 $vcm_config->set($param, $value);
63 }
64 }
65 }
66
67 VBOHttpDocument::getInstance()->json([]);
68 }
69 }
70