<?php 

	if (Session::get("tipo_usuario") != "4"){ show_403();}
	if ($_SERVER["REQUEST_METHOD"] == "POST") {
		import_file(DIR_MODELS."Model.class.php");
		import_file(DIR_LIBRARIES."functions.php");

		$id = encrypt_decode(filter_input(INPUT_POST, "id_usuario", FILTER_SANITIZE_STRING));

		$config = obter_configuracao();

		$model = new Model();

		$result = $model->update("usuario", [
			"usuario_ativo" => "S"
		], [
			"id_usuario" => $id
		]);

		if ($result > 0) {
			$last_query = $model->lastQuery();
			$model->insert("historico", [
				"comando_sql" => $last_query,
				"datahora_acao" => date("Y-m-d H:i:s"),
				"id_usuario" => Session::get("id_usuario")
			]);

			$usuario = $model->query("SELECT * FROM usuario WHERE id_usuario = :id", [":id" => $id])->fetch();

			// Verifica se o indicador está com a sua base da arvore cheia
			$result = $model->insert("arvore", [
				"id_pai" => obter_proximo_id($usuario->id_indicador),
				"id_filho" => $id
			]);

			if ($result > 0) {
				$last_query = $model->lastQuery();
				$model->insert("historico", [
					"comando_sql" => $last_query,
					"datahora_acao" => date("Y-m-d H:i:s"),
					"id_usuario" => Session::get("id_usuario")
				]);

				if (intval($config->porcentagem_adesao_admin) > 0) {
					$valor_admin = $config->valor_adesao * pct($config->porcentagem_adesao_admin);
					$result = $model->insert("entrada", [
						"id_usuario" => 1,
						"valor_entrada" => $valor_admin,
						"descricao_entrada" => "Pagamento de Adesão de Entrada do Usuário de ID: ".$id,
						"datahora_entrada" => date("Y-m-d H:i:s"),
						"status_entrada" => "S"
					]);

					if ($result > 0) {
						$last_query = $model->lastQuery();
						$model->insert("historico", [
							"comando_sql" => $last_query,
							"datahora_acao" => date("Y-m-d H:i:s"),
							"id_usuario" => Session::get("id_usuario")
						]);
					}
					else{
						$model->rollback();
						echo "<script>window.location.href='".show_link("/usuarios-inativos/?status=false")."';</script>";
						exit();
					}
				}

				if (intval($config->porcentagem_adesao_pai) > 0) {
					$valor_pai = $config->valor_adesao * pct($config->porcentagem_adesao_pai);
					$result = $model->insert("entrada", [
						"id_usuario" => $usuario->id_indicador,
						"valor_entrada" => $valor_pai,
						"descricao_entrada" => "Pagamento de Comissão de Adesão de Entrada do Usuário de ID: ".$id,
						"datahora_entrada" => date("Y-m-d H:i:s"),
						"status_entrada" => "S"
					]);

					if ($result > 0) {
						$last_query = $model->lastQuery();
						$model->insert("historico", [
							"comando_sql" => $last_query,
							"datahora_acao" => date("Y-m-d H:i:s"),
							"id_usuario" => Session::get("id_usuario")
						]);
					}
					else{
						$model->rollback();
						echo "<script>window.location.href='".show_link("/usuarios-inativos/?status=false")."';</script>";
						exit();
					}
				}

				$model->commit();
				echo "<script>window.location.href='".show_link("/usuarios-inativos/?status=true")."';</script>";
			}
			else{
				$model->rollback();
				echo "<script>window.location.href='".show_link("/usuarios-inativos/?status=false")."';</script>";
				exit();
			}
		}
		else{
			$model->rollback();
			echo "<script>window.location.href='".show_link("/usuarios-inativos/?status=false")."';</script>";
		}
	}
	else{
		show_403();
	}

?>