Files
module-vendor-notes/Model/Config/Backend/HtmlArraySerialized.php

32 lines
875 B
PHP
Raw Normal View History

<?php
namespace Shopkeeper\VendorNotes\Model\Config\Backend;
use Magento\Config\Model\Config\Backend\Serialized\ArraySerialized;
class HtmlArraySerialized extends ArraySerialized
{
/**
* Process data before saving
* Prevent HTML from being escaped in note fields
*
* @return $this
*/
public function beforeSave()
{
$value = $this->getValue();
if (is_array($value)) {
// Don't escape HTML in the note field
foreach ($value as &$row) {
if (isset($row['note'])) {
// Decode any previously encoded HTML entities
$row['note'] = html_entity_decode($row['note'], ENT_QUOTES, 'UTF-8');
}
}
unset($row);
}
$this->setValue($value);
return parent::beforeSave();
}
}