Skip to content

Commit

Permalink
compatible with 2.2.0 (serialize/unserialize)
Browse files Browse the repository at this point in the history
  • Loading branch information
haitv282 committed Oct 5, 2017
1 parent 5cf5214 commit 34d3a95
Showing 1 changed file with 134 additions and 95 deletions.
229 changes: 134 additions & 95 deletions Helper/AbstractData.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,91 +34,91 @@
*/
class AbstractData extends AbstractHelper
{
/**
* @type array
*/
protected $_data = [];
/**
* @type array
*/
protected $_data = [];

/**
* @type \Magento\Store\Model\StoreManagerInterface
*/
protected $storeManager;
/**
* @type \Magento\Store\Model\StoreManagerInterface
*/
protected $storeManager;

/**
* @type \Magento\Framework\ObjectManagerInterface
*/
protected $objectManager;
/**
* @type \Magento\Framework\ObjectManagerInterface
*/
protected $objectManager;

/**
* @var \Magento\Framework\Json\Helper\Data
*/
protected static $_jsonHelper;

/**
* @param \Magento\Framework\App\Helper\Context $context
* @param \Magento\Framework\ObjectManagerInterface $objectManager
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
*/
public function __construct(
Context $context,
ObjectManagerInterface $objectManager,
StoreManagerInterface $storeManager
)
{
$this->objectManager = $objectManager;
$this->storeManager = $storeManager;

parent::__construct($context);
}

/**
* @param $field
* @param null $storeId
* @return mixed
*/
public function getConfigValue($field, $storeId = null)
{
return $this->scopeConfig->getValue(
$field,
ScopeInterface::SCOPE_STORE,
$storeId
);
}

/**
* @param $name
* @param $value
* @return $this
*/
public function setData($name, $value)
{
$this->_data[$name] = $value;

return $this;
}

/**
* @param $name
* @return null
*/
public function getData($name)
{
if (array_key_exists($name, $this->_data)) {
return $this->_data[$name];
}

return null;
}

/**
* @return mixed
*/
public function getCurrentUrl()
{
$model = $this->objectManager->get('Magento\Framework\UrlInterface');

return $model->getCurrentUrl();
}
/**
* @param \Magento\Framework\App\Helper\Context $context
* @param \Magento\Framework\ObjectManagerInterface $objectManager
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
*/
public function __construct(
Context $context,
ObjectManagerInterface $objectManager,
StoreManagerInterface $storeManager
)
{
$this->objectManager = $objectManager;
$this->storeManager = $storeManager;

parent::__construct($context);
}

/**
* @param $field
* @param null $storeId
* @return mixed
*/
public function getConfigValue($field, $storeId = null)
{
return $this->scopeConfig->getValue(
$field,
ScopeInterface::SCOPE_STORE,
$storeId
);
}

/**
* @param $name
* @param $value
* @return $this
*/
public function setData($name, $value)
{
$this->_data[$name] = $value;

return $this;
}

/**
* @param $name
* @return null
*/
public function getData($name)
{
if (array_key_exists($name, $this->_data)) {
return $this->_data[$name];
}

return null;
}

/**
* @return mixed
*/
public function getCurrentUrl()
{
$model = $this->objectManager->get('Magento\Framework\UrlInterface');

return $model->getCurrentUrl();
}

/**
* @return \Magento\Framework\Json\Helper\Data|mixed
Expand Down Expand Up @@ -167,22 +167,61 @@ public static function jsonDecode($encodedValue)
return $decodeValue;
}

/**
* @param $path
* @param array $arguments
* @return mixed
*/
public function createObject($path, $arguments = [])
{
return $this->objectManager->create($path, $arguments);
}

/**
* @param $path
* @return mixed
*/
public function getObject($path)
{
return $this->objectManager->get($path);
}

/**
* @param $data
* @return string
*/
public function serialize($data)
{
if ($this->versionCompare('2.2.0')) {
return self::jsonEncode($data);
}

return serialize($data);
}

/**
* @param $string
* @return mixed
*/
public function unserialize($string)
{
if ($this->versionCompare('2.2.0')) {
return self::jsonDecode($string);
}

return unserialize($string);
}

/**
* @param $ver
* @return mixed
*/
public function versionCompare($ver)
{
$productMetadata = $this->objectManager->get(\Magento\Framework\App\ProductMetadataInterface::class);
$version = $productMetadata->getVersion(); //will return the magento version

return version_compare($version, $ver, '>=');
}

/**
* @param $path
* @param array $arguments
* @return mixed
*/
public function createObject($path, $arguments = [])
{
return $this->objectManager->create($path, $arguments);
}

/**
* @param $path
* @return mixed
*/
public function getObject($path)
{
return $this->objectManager->get($path);
}
}

0 comments on commit 34d3a95

Please sign in to comment.