<?php 

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

		$nome = filter_input(INPUT_POST, "nome_sistema", FILTER_SANITIZE_STRING);
		$padrao_apresentacao = (int) filter_input(INPUT_POST, "padrao_apresentacao", FILTER_SANITIZE_NUMBER_INT);
		$logo_antiga = filter_input(INPUT_POST, "logo_antiga", FILTER_SANITIZE_STRING);
		$icone_antigo = filter_input(INPUT_POST, "icone_antigo", FILTER_SANITIZE_STRING);
		$cor_topo = filter_input(INPUT_POST, "cor_topo", FILTER_SANITIZE_STRING);
		$cor_sidebar = filter_input(INPUT_POST, "cor_sidebar", FILTER_SANITIZE_STRING);
		$cor_footer = filter_input(INPUT_POST, "cor_footer", FILTER_SANITIZE_STRING);
		$cor_texto_topo = filter_input(INPUT_POST, "cor_texto_topo", FILTER_SANITIZE_STRING);
		$cor_texto_sidebar = filter_input(INPUT_POST, "cor_texto_sidebar", FILTER_SANITIZE_STRING);
		$cor_texto_sidebar_action = filter_input(INPUT_POST, "cor_texto_sidebar_action", FILTER_SANITIZE_STRING);
		$cor_texto_footer = filter_input(INPUT_POST, "cor_texto_footer", FILTER_SANITIZE_STRING);

		$cor_footer_site = filter_input(INPUT_POST, "cor_footer_site", FILTER_SANITIZE_STRING);
		$cor_texto_footer_site = filter_input(INPUT_POST, "cor_texto_footer_site", FILTER_SANITIZE_STRING);

		$cor_fundo = filter_input(INPUT_POST, "cor_fundo", FILTER_SANITIZE_STRING);
		$cor_texto = filter_input(INPUT_POST, "cor_texto", FILTER_SANITIZE_STRING);
		$bordas_arredondadas = filter_input(INPUT_POST, "bordas_arredondadas", FILTER_SANITIZE_STRING);
		$cor_primary = filter_input(INPUT_POST, "cor_primary", FILTER_SANITIZE_STRING);
		$cor_secondary = filter_input(INPUT_POST, "cor_secondary", FILTER_SANITIZE_STRING);
		$cor_success = filter_input(INPUT_POST, "cor_success", FILTER_SANITIZE_STRING);
		$cor_info = filter_input(INPUT_POST, "cor_info", FILTER_SANITIZE_STRING);
		$cor_warning = filter_input(INPUT_POST, "cor_warning", FILTER_SANITIZE_STRING);
		$cor_danger = filter_input(INPUT_POST, "cor_danger", FILTER_SANITIZE_STRING);
		$primeira_cor_degrade = filter_input(INPUT_POST, "primeira_cor_degrade", FILTER_SANITIZE_STRING);
		$segunda_cor_degrade = filter_input(INPUT_POST, "segunda_cor_degrade", FILTER_SANITIZE_STRING);

		$conteudo_rodape_site_coluna_1 = filter_input(INPUT_POST, "conteudo_rodape_site_coluna_1", FILTER_DEFAULT);
		$conteudo_rodape_site_coluna_2 = filter_input(INPUT_POST, "conteudo_rodape_site_coluna_2", FILTER_DEFAULT);

		$logo_secundaria_antiga = filter_input(INPUT_POST, "logo_secundaria_antiga", FILTER_SANITIZE_STRING);
		$imagem_fundo_antiga = filter_input(INPUT_POST, "imagem_fundo_antiga", FILTER_SANITIZE_STRING);
		$icone_usuario_masculino_antigo = filter_input(INPUT_POST, "icone_usuario_masculino_antigo", FILTER_SANITIZE_STRING);
		$icone_usuario_feminino_antigo = filter_input(INPUT_POST, "icone_usuario_feminino_antigo", FILTER_SANITIZE_STRING);

		$tipo_visualizacao_rede = (int) filter_input(INPUT_POST, "tipo_visualizacao_rede", FILTER_SANITIZE_NUMBER_INT);

		$tipo_forma_pagamento = filter_input(INPUT_POST, "tipo_forma_pagamento", FILTER_SANITIZE_STRING);
		$email_pagseguro = filter_input(INPUT_POST, "email_pagseguro", FILTER_SANITIZE_EMAIL);
		$token_pagseguro = filter_input(INPUT_POST, "token_pagseguro", FILTER_SANITIZE_STRING);
		$ambiente_teste_pagseguro = filter_input(INPUT_POST, "ambiente_teste_pagseguro", FILTER_SANITIZE_STRING);
		$recebimento_pagseguro = (int) filter_input(INPUT_POST, "recebimento_pagseguro", FILTER_SANITIZE_NUMBER_INT);

		$comissao_indicacao = filter_input(INPUT_POST, "comissao_indicacao", FILTER_SANITIZE_STRING);
		$tipo_comissao = filter_input(INPUT_POST, "tipo_comissao", FILTER_SANITIZE_STRING);
		$cobrar_adesao = filter_input(INPUT_POST, "cobrar_adesao", FILTER_SANITIZE_STRING);
		$valor_adesao = str_replace(",", ".", str_replace(".", "", filter_input(INPUT_POST, "valor_adesao", FILTER_SANITIZE_STRING)));
		$porcentagem_adesao_admin = (int) filter_input(INPUT_POST, "porcentagem_adesao_admin", FILTER_SANITIZE_NUMBER_INT);
		$porcentagem_adesao_pai = (int) filter_input(INPUT_POST, "porcentagem_adesao_pai", FILTER_SANITIZE_NUMBER_INT);

		$num_indicado = (int) filter_input(INPUT_POST, "num_indicado", FILTER_SANITIZE_NUMBER_INT);

		$matrix = (int) filter_input(INPUT_POST, "matrix_arvore", FILTER_SANITIZE_NUMBER_INT);
		$nivel = (int) filter_input(INPUT_POST, "nivel_arvore", FILTER_SANITIZE_NUMBER_INT);
		$tipo_comissao_rede = (int) filter_input(INPUT_POST, "tipo_comissao_rede", FILTER_SANITIZE_NUMBER_INT);
		$tipo_pagamento_rede = (int) filter_input(INPUT_POST, "tipo_pagamento_rede", FILTER_SANITIZE_NUMBER_INT);

		$host_email = filter_input(INPUT_POST, "host_email", FILTER_SANITIZE_STRING);
		$username_email = filter_input(INPUT_POST, "username_email", FILTER_SANITIZE_EMAIL);
		$password_email = filter_input(INPUT_POST, "password_email", FILTER_SANITIZE_STRING);

		$razao_social = filter_input(INPUT_POST, "razao_social", FILTER_SANITIZE_STRING);
		$cnpj_empresa = filter_input(INPUT_POST, "cnpj_empresa", FILTER_SANITIZE_STRING);

		$nome_banco = filter_input(INPUT_POST, "nome_banco", FILTER_SANITIZE_STRING);
		$numero_agencia = filter_input(INPUT_POST, "numero_agencia", FILTER_SANITIZE_STRING);
		$numero_conta = filter_input(INPUT_POST, "numero_conta", FILTER_SANITIZE_STRING);

		$pix = filter_input(INPUT_POST, "pix", FILTER_SANITIZE_STRING);

		$email_confirmacao = filter_input(INPUT_POST, "email_confirmacao", FILTER_SANITIZE_EMAIL);

		$periodo_saque = filter_input(INPUT_POST, "periodo_saque", FILTER_SANITIZE_STRING);
		$dias_saque = filter_input(INPUT_POST, "dias_saque", FILTER_SANITIZE_STRING);
		$valor_minimo_saque = str_replace(",", ".", str_replace(".", "", filter_input(INPUT_POST, "valor_minimo_saque", FILTER_SANITIZE_STRING)));
		$cobrar_taxa = filter_input(INPUT_POST, "cobrar_taxa", FILTER_SANITIZE_STRING);
		$taxa_fixa = filter_input(INPUT_POST, "taxa_fixa", FILTER_SANITIZE_STRING);
		$ganhe_mais = filter_input(INPUT_POST, "ganhe_mais", FILTER_SANITIZE_STRING);

		if ($cobrar_taxa == "S") {
			if ($taxa_fixa == "S") {
				$valor_taxa = str_replace(",", ".", str_replace(".", "", filter_input(INPUT_POST, "valor_taxa", FILTER_SANITIZE_STRING)));
			}
			else {
				$valor_taxa = filter_input(INPUT_POST, "valor_taxa", FILTER_SANITIZE_NUMBER_INT);
			}
		}
		else{
			$valor_taxa = null;
		}

		$model = new Model();

		if ($_FILES["imagem_logo"]["error"] == UPLOAD_ERR_OK) {
			$logo = upload_file($_FILES["imagem_logo"], "assets/img/", IMAGE_FILES, false, "logo", false);
		}
		else{
			$logo = [$logo_antiga];
		}

		if ($_FILES["imagem_icone"]["error"] == UPLOAD_ERR_OK) {
			$icone = upload_file($_FILES["imagem_icone"], "assets/img/", IMAGE_FILES, false, "icone", false);
		}
		else{
			$icone = [$icone_antigo];
		}

		if ($_FILES["imagem_logo_secundaria"]["error"] == UPLOAD_ERR_OK) {
			$logo_secundaria = upload_file($_FILES["imagem_logo_secundaria"], "assets/img/", IMAGE_FILES, false, "logo_secundaria", false);
		}
		else{
			$logo_secundaria = [$logo_secundaria_antiga];
		}

		if ($_FILES["imagem_fundo"]["error"] == UPLOAD_ERR_OK) {
			$imagem_fundo = upload_file($_FILES["imagem_fundo"], "assets/img/", IMAGE_FILES, false, "imagem_fundo", false);
		}
		else{
			$imagem_fundo = [$imagem_fundo_antiga];
		}

		if ($_FILES["imagem_usuario_masculino"]["error"] == UPLOAD_ERR_OK) {
			$user_icon_male = upload_file($_FILES["imagem_usuario_masculino"], "assets/img/", IMAGE_FILES, false, "user_icon_male", false);
		}
		else{
			$user_icon_male = [$icone_usuario_masculino_antigo];
		}

		if ($_FILES["imagem_usuario_feminino"]["error"] == UPLOAD_ERR_OK) {
			$user_icon_feminine = upload_file($_FILES["imagem_usuario_feminino"], "assets/img/", IMAGE_FILES, false, "user_icon_feminine", false);
		}
		else{
			$user_icon_feminine = [$icone_usuario_feminino_antigo];
		}

		$result = $model->update("configuracao", [
			"nome_sistema" => $nome,
			"padrao_apresentacao" => $padrao_apresentacao,
			"logo_sistema" => $logo[0],
			"icone_sistema" => $icone[0],
			"cor_topo" => $cor_topo,
			"cor_sidebar" => $cor_sidebar,
			"cor_footer" => $cor_footer,
			"cor_texto_topo" => $cor_texto_topo,
			"cor_texto_sidebar" => $cor_texto_sidebar,
			"cor_texto_sidebar_action" => $cor_texto_sidebar_action,
			"cor_texto_footer" => $cor_texto_footer,
			"cor_footer_site" => $cor_footer_site,
			"cor_texto_footer_site" => $cor_texto_footer_site,
			"cor_fundo" => $cor_fundo,
			"cor_texto" => $cor_texto,
			"bordas_arredondadas" => $bordas_arredondadas,
			"cor_primary" => $cor_primary,
			"cor_secondary" => $cor_secondary,
			"cor_success" => $cor_success,
			"cor_info" => $cor_info,
			"cor_warning" => $cor_warning,
			"cor_danger" => $cor_danger,
			"conteudo_rodape_site_coluna_1" => $conteudo_rodape_site_coluna_1,
			"conteudo_rodape_site_coluna_2" => $conteudo_rodape_site_coluna_2,
			"primeira_cor_degrade" => $primeira_cor_degrade,
			"segunda_cor_degrade" => $segunda_cor_degrade,
			"logo_secundaria_sistema" => $logo_secundaria[0],
			"imagem_fundo_login" => $imagem_fundo[0],
			"icone_usuario_masculino" => $user_icon_male[0],
			"icone_usuario_feminino" => $user_icon_feminine[0],
			"tipo_visualizacao_rede" => $tipo_visualizacao_rede,
			"tipo_forma_pagamento" => $tipo_forma_pagamento,
			"email_pagseguro" => $email_pagseguro,
			"token_pagseguro" => $token_pagseguro,
			"ambiente_teste_pagseguro" => $ambiente_teste_pagseguro,
			"recebimento_pagseguro" => $recebimento_pagseguro,
			"comissao_indicacao" => $comissao_indicacao,
			"tipo_comissao" => $tipo_comissao,
			"cobrar_adesao" => $cobrar_adesao,
			"valor_adesao" => $valor_adesao,
			"porcentagem_adesao_admin" => $porcentagem_adesao_admin,
			"porcentagem_adesao_pai" => $porcentagem_adesao_pai,
			"num_indicado" => $num_indicado,
			"matrix_arvore" => $matrix,
			"nivel_arvore" => $nivel,
			"tipo_comissao_rede" => $tipo_comissao_rede,
			"tipo_pagamento_rede" => $tipo_pagamento_rede,
			"host_email" => $host_email,
			"username_email" => $username_email,
			"password_email" => $password_email,
			"razao_social" => $razao_social,
			"cnpj_empresa" => $cnpj_empresa,
			"nome_banco" => $nome_banco,
			"numero_agencia" => $numero_agencia,
			"numero_conta" => $numero_conta,
			"pix" => $pix,
			"email_confirmacao" => $email_confirmacao,
			"periodo_saque" => $periodo_saque,
			"dias_saque" => $dias_saque,
			"valor_minimo_saque" => $valor_minimo_saque,
			"cobrar_taxa" => $cobrar_taxa,
			"taxa_fixa" => $taxa_fixa,
			"valor_taxa" => $valor_taxa,
			"ganhe_mais" => $ganhe_mais
		]);

		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("tipo_usuario")
			]);

			create_manifest_json(true);

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

?>