<?php
	declare(strict_types=1);
	require 'engine/php/_http_return.php';
	if(!isset($_SERVER['REMOTE_ADDR']))
	{
		_http_return(400,'Origem indefinida');
	}

	if($_SERVER['REQUEST_METHOD']==='GET' && count($_GET)===0)
	{
		header('Content-Type: text/html; charset=utf-8');
		readfile('index.html');
		exit;
	}

	require 'engine/php/_rest.php';

	if(!isset($_REST['OK']) || $_REST['OK']===false)
	{
		_http_return(400,$_REST['MESSAGE']??'Dados de entrada inconsistentes');
	}
	define('MODULE',preg_replace('/[^a-z0-9_]+/','',$_GET['_m']??'acesso'));
	define('ROOT_SYSTEM',__DIR__.DIRECTORY_SEPARATOR);
	ini_set('session.cookie_samesite','Strict');
	session_start();
	if(file_exists('modules/php/'.MODULE.'.php'))
	{
		require 'engine/php/_xsql_.php';
		require 'engine/php/_xsql.php';
		require 'engine/php/_adjust_input.php';
		require 'engine/php/_adjust_output.php';
		require 'modules/php/'.MODULE.'.php';
	}
	else
	{
		if(
			in_array(MODULE,['_address_by_cep']) &&
			file_exists('engine/php/'.MODULE.'.php')
		)
		{
			require 'engine/php/'.MODULE.'.php';
		}
		else
		{
			_http_return(404,'Módulo inexistente');
		}
	}