<?php
header("Content-Type: text/html;charset=utf-8");
if (session_status() === PHP_SESSION_NONE) {
	ini_set("session.gc_maxlifetime", 3600*24);
    session_start();
}

require_once("../data/Conexion.php");
require_once("../data/Tablas.php");
require_once("../clases/cls_usuario.php");
require_once("../clases/cls_tienda.php");

function sesion_tipo_administracion(){
		$respuestas = array("estado"=>"error", "mensaje"=>"", "datos"=>array());
		if (isset($_POST["tipo"]) && isset($_POST["codigo"])){
			$control_sesion = array(
				"usuario_editor"=>$_SESSION["usuario_editor"],
				"tienda_editor"=>$_POST["codigo"],
				"tipo_editor"=>$_POST["tipo"],
			);
			if ($_POST["tipo"] == "administracion_general"){
				$control_sesion["tipo_titulo"] = "Administración General";
			} else if ($_POST["tipo"] == "administracion_almacen"){
				$control_sesion["tipo_titulo"] = "Administración de Almacen";
			} else if ($_POST["tipo"] == "administracion_tienda"){
				$data = cls_Tienda::Indice($_POST["codigo"]);
				$control_sesion["tipo_titulo"] = $data->get_nombre();
			}
			$_SESSION["control"] = $control_sesion;
			$respuestas["estado"]  = "ok";
			$respuestas["mensaje"]  = "Los datos se cargaron correctamente";
		} else {
			$respuestas["mensaje"]  = "Ocurrió un error recibiendo los datos.";
		}
		echo(json_encode($respuestas));
}
function iniciar_sesion(){
	$respuestas = array("estado"=>"error", "mensaje"=>"", "datos"=>"");
	if (isset($_POST["txt_username"]) && isset($_POST["txt_password"])){
		$txt_username = $_POST["txt_username"];
		$txt_password = $_POST["txt_password"];
		$usuario_editor = "";
		$usuario_tipo = "";
		$usuario_tienda = "0";
		$tipo_sesion = "";
		$usuarios = cls_Group_Usuario::Usuario($txt_username);
		$usuarios->cargar_datos(0, 0);
		for ($idx=0; $idx<$usuarios->get_cantidad_cargados(); $idx++){
			if ($usuarios->get_estado_actividad($idx) == "Activo" && password_verify($txt_password, $usuarios->get_password($idx))) {
				$tipo_sesion = $usuarios->get_tipo($idx);
				$usuario_tienda = $usuarios->get_tienda_id($idx);
				$_SESSION["usuario_editor"] = $usuarios->get_usuario_id($idx);
				$_SESSION["usuario_nombres"] = $usuarios->get_nombres($idx);
				$_SESSION["usuario_user"] = $usuarios->get_usuario($idx);
				$_SESSION["usuario_tipo"] = $usuarios->get_tipo($idx);
				$respuestas["estado"]  = "ok";
				$respuestas["datos"]  = "seleccion.php";
			}
		}
		$datos_tienda = cls_Tienda::Indice($usuario_tienda);
		if ($tipo_sesion == "Almacenero"){
			$control_sesion = array(
				"usuario_editor"=>$usuario_editor,
				"tienda_editor"=>"0",
				"tienda_nombre"=>"Administración de Almacen",
				"tipo_editor"=>"administracion_almacen",
				"tipo_titulo"=>"Administración de Almacen",
			);
			$_SESSION["control"] = $control_sesion;
		} else if ($tipo_sesion == "Vendedor"){
			$control_sesion = array(
				"usuario_editor"=>$usuario_editor,
				"tienda_editor"=>$datos_tienda->get_tienda_id(),
				"tienda_nombre"=>$datos_tienda->get_nombre(),
				"tipo_editor"=>"administracion_tienda",
				"tipo_titulo"=>"Administración de tienda",
			);
			$_SESSION["control"] = $control_sesion;
		} else if ($tipo_sesion == "Administrador"){
			$control_sesion = array(
				"usuario_editor"=>$usuario_editor,
				"tienda_editor"=>"0",
				"tienda_nombre"=>"Administración general",
				"tipo_editor"=>"administracion_general",
				"tipo_titulo"=>"Administración general",
			);
			$_SESSION["control"] = $control_sesion;
		}
	}
	if ($respuestas["estado"] == "error"){
		$respuestas["mensaje"]  = "No se pudo iniciar sesión, verifique los datos y vuelva a intentarlo";
	}
	echo(json_encode($respuestas));
}

if (isset($_POST["accion"])){
    if ($_POST["accion"] == "tipo_administracion"){
		sesion_tipo_administracion();
	} else if ($_POST["accion"] == "iniciar_sesion"){
		iniciar_sesion();
	} else if ($_POST["accion"] == "cerrar_sesion"){
	}
}
?>
