n1ed-8.x-2.31/src/Flmngr/lib/JsonCodec.php
src/Flmngr/lib/JsonCodec.php
<?php
/**
* File Uploader Server package
* Developer: N1ED
* Website: https://n1ed.com/
* License: GNU General Public License Version 3 or later
**/
namespace Drupal\n1ed\Flmngr\lib;
use Exception;
class JsonCodec {
protected $m_actions;
public function __construct($actions) {
$this->m_actions = $actions;
}
public function fromJson($json) {
$json = stripslashes($json);
$jsonObj = json_decode($json, FALSE);
if ($jsonObj === NULL) {
throw new Exception('Unable to parse JSON');
}
if (!isset($jsonObj->action)) {
throw new Exception('"Unable to detect action in JSON"');
}
$action = $this->m_actions->getAction($jsonObj->action);
if ($action === NULL) {
throw new Exception('JSON action is incorrect: ' . $action);
}
return $jsonObj;
}
public function toJson($resp) {
return JsonCodec::s_toJson($resp);
}
public static function s_toJson($resp) {
$json = json_encode($resp);
$json = str_replace('\\u0000*\\u0000', '', $json);
$json = str_replace('\\u0000', '', $json);
return $json;
}
}
