141 lines
2.3 KiB
PHP
141 lines
2.3 KiB
PHP
|
<?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;
|
||
|
}
|
||
|
}
|
||
|
}
|