primo commit
This commit is contained in:
62
libraries/fof40/Model/Mixin/JsonData.php
Normal file
62
libraries/fof40/Model/Mixin/JsonData.php
Normal file
@ -0,0 +1,62 @@
|
||||
<?php
|
||||
/**
|
||||
* @package FOF
|
||||
* @copyright Copyright (c)2010-2022 Nicholas K. Dionysopoulos / Akeeba Ltd
|
||||
* @license GNU General Public License version 3, or later
|
||||
*/
|
||||
|
||||
namespace FOF40\Model\Mixin;
|
||||
|
||||
defined('_JEXEC') || die;
|
||||
|
||||
/**
|
||||
* Trait for dealing with data stored as JSON-encoded strings
|
||||
*/
|
||||
trait JsonData
|
||||
{
|
||||
/**
|
||||
* Converts the loaded JSON string into an array
|
||||
*
|
||||
* @param string $value The JSON string
|
||||
*
|
||||
* @return array The data
|
||||
*/
|
||||
protected function getAttributeForJson($value)
|
||||
{
|
||||
if (is_array($value))
|
||||
{
|
||||
return $value;
|
||||
}
|
||||
|
||||
if (empty($value))
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
$value = json_decode($value, true);
|
||||
|
||||
if (empty($value))
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts and array into a JSON string
|
||||
*
|
||||
* @param array|string $value The data (or its JSON-encoded form)
|
||||
*
|
||||
* @return string The JSON string
|
||||
*/
|
||||
protected function setAttributeForJson($value)
|
||||
{
|
||||
if (!is_array($value))
|
||||
{
|
||||
return $value;
|
||||
}
|
||||
|
||||
return json_encode($value);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user