<?php 

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

		$nome = filter_input(INPUT_POST, "nome_produto", FILTER_SANITIZE_STRING);
		$valor = str_replace(",", ".", str_replace(".", "", filter_input(INPUT_POST, "valor_produto", FILTER_SANITIZE_STRING)));
		$desc_empresa = filter_input(INPUT_POST, "desc_empresa_produto", FILTER_SANITIZE_STRING);
		$quantidade_produto = (int) filter_input(INPUT_POST, "quantidade_produto", FILTER_SANITIZE_NUMBER_INT);
		$id_categoria = (int) filter_input(INPUT_POST, "id_categoria", FILTER_SANITIZE_NUMBER_INT);
		$id_subcategoria = (int) filter_input(INPUT_POST, "id_subcategoria", FILTER_SANITIZE_NUMBER_INT);
		$descricao_produto = filter_input(INPUT_POST, "descricao_produto", FILTER_DEFAULT);
		$observacao_produto = filter_input(INPUT_POST, "observacao_produto", FILTER_DEFAULT);

		$model = new Model();

		if (!empty($nome) and !empty($valor) and !empty($desc_empresa)) {
			// Faz o upload das imagens do produto
			$imagens = upload_file($_FILES["imagem_produto"], "images/produto/", IMAGE_FILES);

			if (is_array($imagens) and !empty($imagens[0])) {
				// Cadastra o produto
				$id_produto = $model->insert("produto", [
					"nome_produto" => $nome,
					"valor_produto" => $valor,
					"porcentagem_desc_empresa" => $desc_empresa,
					"quantidade_produto" => $quantidade_produto,
					"id_categoria" => $id_categoria,
					"id_subcategoria" => $id_subcategoria,
					"id_estado" => Session::get("id_estado"),
					"id_cidade" => Session::get("id_cidade"),
					"imagem_produto" => $imagens[0],
					"descricao_produto" => $descricao_produto,
					"observacao_produto" => $observacao_produto,
					"produto_destaque" => "N",
					"id_usuario" => Session::get("id_usuario"),
					"datahora_cadastro_produto" => date("Y-m-d H:i:s"),
					"status_produto" => "E"
				]);

				if ($id_produto > 0) {	
					// Gera o histórico do cadastro do produto
					$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")
					]);

					for ($i=0; $i < count($imagens); $i++) {
						$result = $model->insert("imagem_produto", [
							"id_produto" => $id_produto,
							"diretorio_imagem_produto" => $imagens[$i]
						]);

						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("/cadastro-produto/?cadastro=false")."'</script>";
							exit();
						}
					}

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

?>