- <?php
-
- namespace Grav\Plugin\Problems\Base;
-
- use JsonSerializable;
-
- /**
- * Class Problem
- * @package Grav\Plugin\Problems\Base
- */
- class Problem implements JsonSerializable
- {
- const LEVEL_CRITICAL = 'critical';
- const LEVEL_WARNING = 'warning';
- const LEVEL_NOTICE = 'notice';
-
- /** @var string */
- protected $id = '';
- /** @var int */
- protected $order = 0;
- /** @var string */
- protected $level = '';
- /** @var bool */
- protected $status = false;
- /** @var string */
- protected $msg = '';
- /** @var array */
- protected $details = [];
- /** @var string */
- protected $help = '';
- /** @var string */
- protected $class = '';
-
- /**
- * @param array $data
- * @return void
- */
- public function load(array $data): void
- {
- $this->set_object_vars($data);
- }
-
- /**
- * @return $this
- */
- public function process()
- {
- return $this;
- }
-
- /**
- * @return string
- */
- public function getId(): string
- {
- return $this->id;
- }
-
- /**
- * @return int
- */
- public function getOrder(): int
- {
- return $this->order;
- }
-
- /**
- * @return string
- */
- public function getLevel(): string
- {
- return $this->level;
- }
-
- /**
- * @return bool
- */
- public function getStatus(): bool
- {
- return $this->status;
- }
-
- /**
- * @return string
- */
- public function getMsg(): string
- {
- return $this->msg;
- }
-
- /**
- * @return array
- */
- public function getDetails(): array
- {
- return $this->details;
- }
-
- /**
- * @return string
- */
- public function getHelp(): string
- {
- return $this->help;
- }
-
- /**
- * @return string
- */
- public function getClass(): string
- {
- return $this->class;
- }
-
- /**
- * @return array
- */
- public function toArray(): array
- {
- return get_object_vars($this);
- }
-
- /**
- * @return array
- */
- public function jsonSerialize(): array
- {
- return $this->toArray();
- }
-
- /**
- * @param array $vars
- */
- protected function set_object_vars(array $vars): void
- {
- $has = get_object_vars($this);
- foreach ($has as $name => $oldValue) {
- $this->{$name} = $vars[$name] ?? null;
- }
- }
- }
|