generated from mirzaev/pot
	Initial commit
This commit is contained in:
		
							
								
								
									
										82
									
								
								author/project/system/controllers/core.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										82
									
								
								author/project/system/controllers/core.php
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace kodorvan\brainrot\controllers;
 | 
			
		||||
 | 
			
		||||
// Files of the project
 | 
			
		||||
use kodorvan\brainrot\views\templater,
 | 
			
		||||
	kodorvan\brainrot\models\core as models,
 | 
			
		||||
	kodorvan\brainrot\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 kodorvan\brainrot\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 kodorvan <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;
 | 
			
		||||
 | 
			
		||||
		// Initializing the view template engine instance
 | 
			
		||||
		$this->view = new templater();
 | 
			
		||||
 | 
			
		||||
		// For the extends system
 | 
			
		||||
		parent::__construct(core: $core);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										71
									
								
								author/project/system/controllers/index.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										71
									
								
								author/project/system/controllers/index.php
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,71 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace kodorvan\brainrot\controllers;
 | 
			
		||||
 | 
			
		||||
// Files of the project
 | 
			
		||||
use kodorvan\brainrot\controllers\core;
 | 
			
		||||
 | 
			
		||||
// Framework for PHP
 | 
			
		||||
use mirzaev\minimal\http\enumerations\content,
 | 
			
		||||
  mirzaev\minimal\http\enumerations\status;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Index
 | 
			
		||||
 *
 | 
			
		||||
 * @package kodorvan\brainrot\controllers
 | 
			
		||||
 *
 | 
			
		||||
 * @param array $errors Registry of errors
 | 
			
		||||
 *
 | 
			
		||||
 * @method null index() Main page
 | 
			
		||||
 *
 | 
			
		||||
 * @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
 | 
			
		||||
 * @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
 | 
			
		||||
 * @author kodorvan <mail@domain.zone>
 | 
			
		||||
 */
 | 
			
		||||
final class index extends core
 | 
			
		||||
{
 | 
			
		||||
	/**
 | 
			
		||||
	 * Errors
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var array $errors Registry of errors
 | 
			
		||||
	 */
 | 
			
		||||
	protected array $errors = [
 | 
			
		||||
		'system' => []
 | 
			
		||||
	];
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Main page
 | 
			
		||||
	 *
 | 
			
		||||
	 * @return null
 | 
			
		||||
	 */
 | 
			
		||||
	public function index(): null
 | 
			
		||||
	{
 | 
			
		||||
		if (str_contains($this->request->headers['accept'], content::any->value)) {
 | 
			
		||||
			// Request for any response
 | 
			
		||||
 | 
			
		||||
			// Render page
 | 
			
		||||
			$page = $this->view->render('index.html');
 | 
			
		||||
 | 
			
		||||
			// Sending response
 | 
			
		||||
			$this->response
 | 
			
		||||
				->start()
 | 
			
		||||
				->clean()
 | 
			
		||||
				->sse()
 | 
			
		||||
				->write($page)
 | 
			
		||||
				->validate($this->request)
 | 
			
		||||
				?->body()
 | 
			
		||||
				->end();
 | 
			
		||||
 | 
			
		||||
			// Deinitializing rendered page
 | 
			
		||||
			unset($page);
 | 
			
		||||
 | 
			
		||||
			// Exit (success)
 | 
			
		||||
			return null;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Exit (fail)
 | 
			
		||||
		return null;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user