generated from mirzaev/pot
	Initial commit
This commit is contained in:
		
							
								
								
									
										80
									
								
								author/project/system/controllers/core.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										80
									
								
								author/project/system/controllers/core.php
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,80 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace mirzaev\luchikki\controllers;
 | 
			
		||||
 | 
			
		||||
// Files of the project
 | 
			
		||||
use mirzaev\luchikki\views\templater,
 | 
			
		||||
	mirzaev\luchikki\models\core as models,
 | 
			
		||||
	mirzaev\luchikki\models\session,
 | 
			
		||||
	mirzaev\luchikki\models\enumerations\language;
 | 
			
		||||
 | 
			
		||||
// Framework for PHP
 | 
			
		||||
use mirzaev\minimal\core as minimal,
 | 
			
		||||
	mirzaev\minimal\controller,
 | 
			
		||||
	mirzaev\minimal\http\response,
 | 
			
		||||
	mirzaev\minimal\http\enumerations\status;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Controllers core
 | 
			
		||||
 *
 | 
			
		||||
 * @package mirzaev\luchikki\controllers
 | 
			
		||||
 *
 | 
			
		||||
 * @param language $language Language
 | 
			
		||||
 * @param response $response Response
 | 
			
		||||
 * @param array $errors Registry of errors
 | 
			
		||||
 *
 | 
			
		||||
 * @method void __construct(minimal $minimal) Constructor
 | 
			
		||||
 *
 | 
			
		||||
 * @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
 | 
			
		||||
 * @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
 | 
			
		||||
 * @author mirzaev <mail@domain.zone>
 | 
			
		||||
 */
 | 
			
		||||
class core extends controller
 | 
			
		||||
{
 | 
			
		||||
	/**
 | 
			
		||||
	 * Language
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var language $language Language
 | 
			
		||||
	 */
 | 
			
		||||
	protected language $language = language::en;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Response
 | 
			
		||||
	 *
 | 
			
		||||
	 * @see https://wiki.php.net/rfc/property-hooks (find a table about backed and virtual hooks)
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var response $response Response
 | 
			
		||||
	 */
 | 
			
		||||
	protected response $response {
 | 
			
		||||
		// Read
 | 
			
		||||
		get => $this->response ??= $this->request->response();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Errors
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var array $errors Registry of errors
 | 
			
		||||
	 */
 | 
			
		||||
	protected array $errors = [
 | 
			
		||||
		'system' => []
 | 
			
		||||
	];
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Constructor
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param minimal $core Instance of the MINIMAL
 | 
			
		||||
	 * @param bool $initialize Initialize a controller?
 | 
			
		||||
	 *
 | 
			
		||||
	 * @return void
 | 
			
		||||
	 */
 | 
			
		||||
	public function __construct(minimal $core)
 | 
			
		||||
	{
 | 
			
		||||
		// Blocking requests from CloudFlare (better to write this blocking into nginx config file)
 | 
			
		||||
		if (isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT'] === 'nginx-ssl early hints') return status::bruh->label;
 | 
			
		||||
 | 
			
		||||
		// For the extends system
 | 
			
		||||
		parent::__construct(core: $core);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user