BlazyConfigEntityBase.php in Blazy 8.2
File
src/Dejavu/BlazyConfigEntityBase.php
View source
<?php
namespace Drupal\blazy\Dejavu;
use Drupal\Component\Utility\NestedArray;
use Drupal\Core\Config\Entity\ConfigEntityBase;
abstract class BlazyConfigEntityBase extends ConfigEntityBase implements BlazyConfigEntityBaseInterface {
protected $name;
protected $label;
protected $weight = 0;
protected $options = [];
public function id() {
return $this->name;
}
public function getOptions($group = NULL, $property = NULL) {
if ($group) {
if (is_array($group)) {
return NestedArray::getValue($this->options, (array) $group);
}
elseif (isset($property) && isset($this->options[$group])) {
return isset($this->options[$group][$property]) ? $this->options[$group][$property] : NULL;
}
return isset($this->options[$group]) ? $this->options[$group] : NULL;
}
return $this->options;
}
public function getSettings($ansich = FALSE) {
if ($ansich && isset($this->options['settings'])) {
return $this->options['settings'];
}
return isset($this->options['settings']) ? array_merge(self::defaultSettings(), $this->options['settings']) : self::defaultSettings();
}
public function setSettings(array $settings = []) {
$this->options['settings'] = $settings;
return $this;
}
public function getSetting($name) {
return isset($this
->getSettings()[$name]) ? $this
->getSettings()[$name] : NULL;
}
public function setSetting($name, $value) {
$this->options['settings'][$name] = $value;
return $this;
}
public static function defaultSettings($group = 'settings') {
return self::load('default')->options[$group];
}
public static function loadWithFallback($id) {
$optionset = self::load($id);
if (empty($optionset)) {
$optionset = self::load('default');
}
return $optionset;
}
}