generated from mirzaev/pot
	Initial commit
This commit is contained in:
		
							
								
								
									
										59
									
								
								author/project/system/models/traits/status.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										59
									
								
								author/project/system/models/traits/status.php
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace mirzaev\shabashka\models\traits;
 | 
			
		||||
 | 
			
		||||
// Files of the project
 | 
			
		||||
use mirzaev\shabashka\models\traits\document as document_trait,
 | 
			
		||||
	mirzaev\shabashka\models\interfaces\document as document_interface;
 | 
			
		||||
 | 
			
		||||
// Built-in libraries
 | 
			
		||||
use exception;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Status (DUMB SHIT)
 | 
			
		||||
 *
 | 
			
		||||
 * Trait for initialization of a status
 | 
			
		||||
 * 
 | 
			
		||||
 * @uses document_trait
 | 
			
		||||
 * @uses document_interface
 | 
			
		||||
 *
 | 
			
		||||
 * @method bool|null status(array &$errors) Check document by its status
 | 
			
		||||
 *
 | 
			
		||||
 * @package mirzaev\shabashka\models\traits
 | 
			
		||||
 *
 | 
			
		||||
 * @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
 | 
			
		||||
 * @author mirzaev <mail@domain.zone>
 | 
			
		||||
 */
 | 
			
		||||
trait status
 | 
			
		||||
{
 | 
			
		||||
	/**
 | 
			
		||||
	 * Status
 | 
			
		||||
	 *
 | 
			
		||||
	 * Check document by its status
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param array &$errors Registry of errors
 | 
			
		||||
	 *
 | 
			
		||||
	 * @return ?bool Status, if found
 | 
			
		||||
	 */
 | 
			
		||||
	public function status(array &$errors = []): ?bool
 | 
			
		||||
	{
 | 
			
		||||
		try {
 | 
			
		||||
			// Read from ArangoDB and exit (success)
 | 
			
		||||
			return $this->document->active ?? false;
 | 
			
		||||
		} catch (exception $e) {
 | 
			
		||||
			// Writing to the registry of errors
 | 
			
		||||
			$errors[] = [
 | 
			
		||||
				'text' => $e->getMessage(),
 | 
			
		||||
				'file' => $e->getFile(),
 | 
			
		||||
				'line' => $e->getLine(),
 | 
			
		||||
				'stack' => $e->getTrace()
 | 
			
		||||
			];
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Exit (fail)
 | 
			
		||||
		return null;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user