PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / trunk
VikAppointments Services Booking Calendar vtrunk
1.2.21 1.2.20 trunk 1.2.17 1.2.18 1.2.19
vikappointments / libraries / adapter / input / classes / json.php
vikappointments / libraries / adapter / input / classes Last commit date
cookie.php 2 years ago files.php 2 years ago json.php 6 months ago
json.php
71 lines
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 }
71