<?php 

	require_once("__settings__/settings.php");

	create_manifest_json();
	create_htaccess();

	ob_start();

	try{
		if (ENABLE_AUTO_SESSION) {
			Session::start();
		}

		if (exist_page()) {
			if (
				Session::isRegistered("id_usuario") or 
				get_path() == "" or 
				get_path() == "/login/" or 
				get_path() == "/logar/" or 
				get_path() == "/cadastro-usuario/" or 
				get_path() == "/cadastrar-usuario/" or 
				get_path() == "/cadastro-empresa/" or 
				get_path() == "/cadastrar-empresa/" or 
				get_path() == "/esqueci-minha-senha/" or 
				get_path() == "/recuperar-senha/" or 
				get_path() == "/zerar-banco-dados/" or 
				get_path() == "/atualizar-status-compra/" or 
				get_path() == "/atualizar-status-usuario/" or 
				get_path() == "/produtos-promocionais/" or 
				get_path() == "/visualizar-produto-promocional/" or
				get_path() == "/obter-cidades/" or 
				get_path() == "/obter-subcategorias/" or 
				get_path() == "/obter-subcategorias-lojas/" or 
				get_path() == "/produto/" or 
				get_path() == "/pesquisa-produtos/" or 
				get_path() == "/pesquisa-lojas/" or 
				get_path() == "/visualizar-loja/" or 
				get_path() == "/visualizar-todos-produtos-loja/" or 
				get_path() == "/pagina/"
			) {
				require_once(get_page());
			}
			else{
				import_file(DIR_VIEWS."usuario/login.php");
			}
		}
		else{
			show_404();
		}

		if (ENABLE_AUTO_SESSION) {
			Session::close();
		}

		ob_end_flush();
	}
	catch (Exception $e) {
		if (ENABLE_AUTO_SESSION) {
			Session::close();
		}
		
		ob_end_clean();

		if ($e->getCode() == 403 or $e->getCode() == 404 or $e->getCode() == 500 or $e->getCode() == 503) {
			require_once(get_error_page($e->getCode()));
		}
		else{
			require_once(get_error_page("500"));
		}
	}
	catch (Error $e) {
		if (ENABLE_AUTO_SESSION) {
			Session::close();
		}

		ob_end_clean();
		require_once(get_error_page("500"));
	}

?>