| Linux hosting5.siteguarding.com 3.10.0-962.3.2.lve1.5.88.el7.x86_64 #1 SMP Fri Sep 26 14:06:42 UTC 2025 x86_64 Path : /home/devsafetybis/verd.dev.safetybis.com/catalogue/lib/Unserialize/ |
| Current File : /home/devsafetybis/verd.dev.safetybis.com/catalogue/lib/Unserialize/Parser.php |
<?php
/**
* OpenMage
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magento.com so we can send you a copy immediately.
*
* @category Unserialize
* @package Unserialize_Parser
* @copyright Copyright (c) 2006-2020 Magento, Inc. (https://www.magento.com)
* @license https://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
/**
* Class Unserialize_Parser
*/
class Unserialize_Parser
{
const TYPE_STRING = 's';
const TYPE_INT = 'i';
const TYPE_DOUBLE = 'd';
const TYPE_ARRAY = 'a';
const TYPE_BOOL = 'b';
const TYPE_NULL = 'N';
const SYMBOL_QUOTE = '"';
const SYMBOL_SEMICOLON = ';';
const SYMBOL_COLON = ':';
/**
* @param $str
* @return array|null
* @throws Exception
*/
public function unserialize($str)
{
$reader = new Unserialize_Reader_Arr();
$prevChar = null;
for ($i = 0; $i < strlen($str); $i++) {
$char = $str[$i];
$arr = $reader->read($char, $prevChar);
if (!is_null($arr)) {
return $arr;
}
$prevChar = $char;
}
throw new Exception('Error during unserialization');
}
}