37 lines
		
	
	
		
			927 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			927 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
| <?php
 | |
| 
 | |
| namespace Kai\Banner\Model\Serialize\Serializer;
 | |
| 
 | |
| use Magento\Framework\Serialize\Serializer\Json as SerializerJson;
 | |
| 
 | |
| class Json extends SerializerJson
 | |
| {
 | |
|     /**
 | |
|      * @inheritDoc
 | |
|      * @since 101.0.0
 | |
|      */
 | |
|     public function unserialize($string)
 | |
|     {
 | |
|         if ($string === null) {
 | |
|             throw new \InvalidArgumentException(
 | |
|                 'Unable to unserialize value. Error: Parameter must be a string type, null given.'
 | |
|             );
 | |
|         }
 | |
| 
 | |
|         $result = json_decode($string, true);
 | |
| 
 | |
|         if (json_last_error() !== JSON_ERROR_NONE) {
 | |
|             parse_str($string, $result);
 | |
|             if (is_array($result)) {
 | |
|                 return $result;
 | |
|             } else {
 | |
|                 throw new \InvalidArgumentException(
 | |
|                     $string . " - Unable to unserialize value. Error: " . json_last_error_msg()
 | |
|                 );
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         return $result;
 | |
|     }
 | |
| }
 |