Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
wp-content
/
plugins
/
mailpoet
/
lib
/
Features
:
FeatureFlagsRepository.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace MailPoet\Features; if (!defined('ABSPATH')) exit; use MailPoet\Doctrine\Repository; use MailPoet\Entities\FeatureFlagEntity; /** * @extends Repository<FeatureFlagEntity> */ class FeatureFlagsRepository extends Repository { protected function getEntityClassName() { return FeatureFlagEntity::class; } /** * @param array $data * @throws \RuntimeException * @throws \InvalidArgumentException * @return FeatureFlagEntity */ public function createOrUpdate(array $data = []) { if (!$data['name']) { throw new \InvalidArgumentException('Missing name'); } $featureFlag = $this->findOneBy([ 'name' => $data['name'], ]); if (!$featureFlag) { $featureFlag = new FeatureFlagEntity($data['name']); $this->persist($featureFlag); } if (array_key_exists('value', $data)) { $featureFlag->setValue($data['value']); } try { $this->flush(); } catch (\Exception $e) { throw new \RuntimeException("Error when saving feature " . $data['name']); } return $featureFlag; } }