Skip to content
This repository has been archived by the owner on Nov 26, 2017. It is now read-only.

Commit

Permalink
Merge pull request #1271 from pasamio/jinputjson
Browse files Browse the repository at this point in the history
Adding new JInputJSON class
  • Loading branch information
LouisLandry committed Jun 10, 2012
2 parents a852a53 + b124a8f commit 0a0555d
Showing 1 changed file with 74 additions and 0 deletions.
74 changes: 74 additions & 0 deletions libraries/joomla/input/json.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?php
/**
* @package Joomla.Platform
* @subpackage Input
*
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/

defined('JPATH_PLATFORM') or die;

/**
* Joomla! Input JSON Class
*
* This class decodes a JSON string from the raw request data and makes it available via
* the standard JInput interface.
*
* @package Joomla.Platform
* @subpackage Input
* @since 12.2
*/
class JInputJSON extends JInput
{
/**
* @var string The raw JSON string from the request.
* @since 12.2
*/
private $_raw;

/**
* Constructor.
*
* @param array $source Source data (Optional, default is the raw HTTP input decoded from JSON)
* @param array $options Array of configuration parameters (Optional)
*
* @since 12.2
*/
public function __construct(array $source = null, array $options = array())
{
if (isset($options['filter']))
{
$this->filter = $options['filter'];
}
else
{
$this->filter = JFilterInput::getInstance();
}

if (is_null($source))
{
$this->_raw = file_get_contents('php://input');
$this->data = json_decode($this->_raw, true);
}
else
{
$this->data = & $source;
}

// Set the options for the class.
$this->options = $options;
}

/**
* Gets the raw JSON string from the request.
*
* @return string The raw JSON string from the request.
*
* @since 12.2
*/
public function getRaw()
{
return $this->_raw;
}
}

0 comments on commit 0a0555d

Please sign in to comment.