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;
 | |
|         }
 | |
|     }
 | |
| } |