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