: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
namespace NinjaForms\Includes\Entities;
use NinjaForms\Includes\Entities\SimpleEntity;
* Entity holding title and label/value/styling output for metaboxes
class MetaboxOutputEntity extends SimpleEntity
* Collection of label/value/styling pairs for output
protected $labelValueCollection = [];
* Construct entity from associative array
* @return SingleSubmission
public static function fromArray(array $items): MetaboxOutputEntity
foreach ($items as $property => $value) {
// Pass field value through entity to validate, then add, keyed on slug
if ('labelValueCollection' === $property) {
foreach ($value as $labelValueElement) {
if (!isset($labelValueElement['label']) || !isset($labelValueElement['value'])) {
$styling = isset($labelValueElement['styling'])?$labelValueElement['styling']:'';
$obj->labelValueCollection[] = [
'label' => $labelValueElement['label'],
'value' => $labelValueElement['value'],
$obj = $obj->__set($property, $value);
* Constructs an array representation
public function toArray(): array
$vars = get_object_vars($this);
$array = ['labelValueCollection' => []];
foreach ($vars as $property => $value) {
if('labelValueCollection'===$property){
$value = $this->validateLabelValueCollection($value);
$array[$property] = $value;
protected function validateLabelValueCollection( $incomingLabelValueCollection): array
if(!\is_array($incomingLabelValueCollection)){
foreach($incomingLabelValueCollection as $incomingLabelValue){
if (!isset($incomingLabelValue['label']) || !isset($incomingLabelValue['value'])) {
$styling = isset($incomingLabelValue['styling'])?$incomingLabelValue['styling']:'';
'label' => $incomingLabelValue['label'],
'value' => $incomingLabelValue['value'],
public function getTitle(): string
* @param string $title Metabox title
* @return MetaboxOutputEntity
public function setTitle(string $title): MetaboxOutputEntity
* Get the value of labelValueCollection
public function getLabelValueCollection(): array
return $this->labelValueCollection;
* Set the value of labelValueCollection
* @return MetaboxOutputEntity
public function setLabelValueCollection($labelValueCollection): MetaboxOutputEntity
$this->labelValueCollection = $labelValueCollection;