PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.16
VikBooking Hotel Booking Engine & PMS v1.8.16
1.8.16 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 All 37 releases
← All changes | libraries/adapter/input/classes/json.php +70 -0 1.6.2 → 1.8.16 View file →
@@ -1,0 +1,70 @@
1 +<?php
2 +/**
3 + * @package VikWP - Libraries
4 + * @subpackage adapter.input
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 +JLoader::import('adapter.input.input');
15 +
16 +/**
17 + * Abstract Input handler to access JSON requests.
18 + *
19 + * @since 10.0
20 + */
21 +class JInputJSON extends JInput
22 +{
23 + /**
24 + * The raw JSON string from the request.
25 + *
26 + * @var string
27 + */
28 + private $_raw;
29 +
30 + /**
31 + * Constructor.
32 + *
33 + * @param array $source Source data (Optional, default is the raw HTTP input decoded from JSON)
34 + * @param array $options Array of configuration parameters (Optional)
35 + */
36 + public function __construct(?array $source = null, array $options = array())
37 + {
38 + if (isset($options['filter']))
39 + {
40 + $this->filter = $options['filter'];
41 + }
42 + else
43 + {
44 + $this->filter = new JInputFilter;
45 + }
46 +
47 + if (is_null($source))
48 + {
49 + $this->_raw = file_get_contents('php://input');
50 + $this->data = json_decode($this->_raw, true);
51 + }
52 + else
53 + {
54 + $this->data = & $source;
55 + }
56 +
57 + // Set the options for the class.
58 + $this->options = $options;
59 + }
60 +
61 + /**
62 + * Gets the raw JSON string from the request.
63 + *
64 + * @return string The raw JSON string from the request.
65 + */
66 + public function getRaw()
67 + {
68 + return $this->_raw;
69 + }
70 +}