<?php

  // error_reporting(E_ALL);
  // ini_set('display_errors', 1);
  error_reporting(0);
  $Debug    = 0;

  if( $Debug == 1 ){
    echo "Debug\n";
  }

  //echo "Produccion -";

  //Variables Acceso
  $Usr = $_SERVER['PHP_AUTH_USER'];
  $Key = $_SERVER['PHP_AUTH_PW'];
  //$Key = md5($Key);

  //Si no recibe como Header
  if( $Usr && $Key ){
  }else{
    $Auth = $_SERVER['HTTP_AUTHORIZATION'];
    $Auth = base64_decode($Auth);
    $Arr = explode(':', $Auth);
    $Usr = $Arr[0];
    $Key = $Arr[1];
  }

  if( $Debug == 1 ){
    echo $Usr;
    echo $Key;
  }

  if( $Usr && $Key ){

    //Conection
    $Position   = '';
    require_once($Position.'config/config.php');
    require_once($Position.'config/conexion.php');
    require_once($Position.'funciones/funciones.php');

    //Acceso Validar
    $Query = "
      SELECT
        usr.Id
      FROM api_conexion usr
      WHERE usr.user = '$Usr'
        AND usr.pass = '$Key'
    ";
    $Result = mysqli_query($mysqli, $Query);
	  $Conexion = mysqli_fetch_assoc($Result);
    if( $Conexion[Id] ){

      $Cuenta = $Conexion[Id];

      //Varaibles
      $content = trim(file_get_contents("php://input"));
      //$decoded = json_decode($content, true);
      //var_dump($decoded);

      //Varaibles
      $content        = trim(file_get_contents("php://input"));
      $decoded64      = json_decode($content, true);
      $decoded_type   = $decoded64['type'];
      if( $decoded_type == 'base64' ){
        $decoded_    = base64_decode($decoded64['code']);
        $decoded     = json_decode($decoded_, true);
      }else{
        $decoded     = json_decode($content, true);
      }


      if( $Debug == 1 ){
        var_dump($decoded);
      }

      //Content
      if( $content ){

        //echo "Action: ";
        $accion            = $decoded['accion'];
        $tipo              = $decoded['tipo'];

        //Tipos
        //1- Usuarios Tenderos
        //2- Usuarios Fuerza de Ventas
        //3- Tiendas

        //Acciones
        //1- Add
        //2- Edit
        //3- View
        //4- Delete
        //5- Validate
        //6- Login
        //7- Change Password
        //8- Get Code

        //Info
        if( $tipo == 'info' ){

          if( $accion == 3 ){
            require_once('info_view.php');
          }

        }
        //End Info

        //Estados
        if( $tipo == 'estados' ){

          //Consulta Estados
          if( $accion == 3 ){
            require_once('estados_view.php');
          }
          //End Consulta Estados

        }
        //End Estados

        //Municipios
        if( $tipo == 'municipios' ){

          //Consulta Municipios
          if( $accion == 3 ){
            require_once('municipios_view.php');
          }
          //End Consulta Municipios

        }
        //End Municipios

        //Codigos Postales
        if( $tipo == 'codigospostales' ){

          //Consulta Codigos Postales
          if( $accion == 3 ){
            require_once('codigospostales_view.php');
          }
          //End Consulta Codigos Postales

        }
        //End Codigos Postales

        //Fuerza de Ventas
        if( $tipo == 'fuerza_ventas' ){

          //View
          if( $accion == 'user_view' ){
            require_once('fuerzaventas_view.php');
          }
          //End View

          //Validar Tendero
          if( $accion == 'validar_tendero' ){
            require_once('fuerzaventas_validar_tendero.php');
          }
          // //End Validar Tendero

          //Check in en tienda
          if( $accion == 'tienda_checkin' ){
            require_once('fuerzaventas_tienda_checkin.php');
          }
          //End //Check in en tienda

          //Check out en tienda
          if( $accion == 'tienda_checkout' ){
            require_once('fuerzaventas_tienda_checkout.php');
          }
          //End //Check out en tienda

        }
        //End Fuerza de Ventas

        //Usuarios
        if( $tipo == 1 || $tipo == 'usuarios' ){

          //Validar Codigo
          if( $accion == 'validar_codigo' ){
            require_once('validar_codigo.php');
          }
          //End Validar Codigo

          //Add
          if( $accion == 1 ){
            require_once('usuarios_add.php');
          }
          //End Add

          //Edit
          if( $accion == 2 ){
            require_once('usuarios_edit.php');
          }
          //End Edit

          //View
          if( $accion == 3 ){
            require_once('usuarios_view.php');
          }
          //End View

          //View Puntos
          if( $accion =='puntos' ){
            require_once('usuarios_view_puntos.php');
          }
          //End View Puntos

          //Delete
          if( $Acciaccionon == 4 ){
            // require_once('usuarios_delete.php');
          }
          //End Delete

          //Validate
          if( $accion == 5 ){
            require_once('usuarios_validate.php');
          }
          //End Validate

          //Validate Password
          if( $accion == 6 ){
            require_once('usuarios_validate_password.php');
          }
          //End Validate Password

          //Change Password
          if( $accion == 7 ){
            require_once('usuarios_change_password.php');
          }
          //End Change Password

          //Get Codigo
          if( $accion == 8 ){
            require_once('usuarios_validate_codigo.php');
          }
          //End Get Codigo

        }
        //End Usuarios

        //Tiendas
        if( $tipo == 3 || $tipo == 'tiendas' ){

          //Add
          if( $accion == 1 ){
            require_once('tiendas_add.php');
          }
          //End Add

          //Edit
          if( $accion == 2 ){
            require_once('tiendas_edit.php');
          }
          //End Edit

          //View
          if( $accion == 3 ){
            require_once('tiendas_view.php');
          }
          //End View

        }
        //End Tiendas

        //Prmociones
        if( $tipo == 'promos' ){

          //Add
          if( $accion == 1 ){
            require_once('promos_add.php');
          }
          //End Add

          //View
          if( $accion == 3 ){
            require_once('promos_view.php');
          }
          //End View

          //View Pedidos Usuario
          if( $accion == '3.1' ){
            require_once('promos_usuario_view.php');
          }
          //End View Pedidos Usuario

          //View Pedido
          if( $accion == '3.2' ){
            require_once('promos_pedido_view.php');
          }
          //End View Pedido

        }
        //End Prmociones

        //Encuestas
        if( $tipo == 'encuestas' ){

          //Add
          if( $accion == 1 ){
            // require_once('tiendas_add.php');
          }
          //End Add

          //Edit
          if( $accion == 2 ){
            // require_once('tiendas_edit.php');
          }
          //End Edit

          //View List
          if( $accion == 'list' ){
            require_once('encuestas_view.php');
          }
          //End View List

          //View
          if( $accion == 'view' ){
            require_once('encuesta_view.php');
          }
          //End View

          //Answer
          if( $accion == 'answer' ){
            require_once('encuesta_answer.php');
          }
          //End Answer



        }
        //End Encuestas

        //Dinamicas
        if( $tipo == 'dinamicas' ){

          //View List
          if( $accion == 'list' ){
            require_once('dinamicas_view.php');
          }
          //End View List

          //View Listas Contestadas
          if( $accion == 'list-answered' ){
            require_once('dinamicas_contestadas_view.php');
          }
          //End View Listas Contestadas

          //View
          if( $accion == 'view' ){
            require_once('dinamica_view.php');
          }
          //End View

          //Save
          if( $accion == 'save' ){
            require_once('dinamica_save.php');
          }
          //End Save



        }
        //End Dinamicas

        //Articulos
        if( $tipo == 'articulos' ){

          //View Categorias
          if( $accion == 'categorias' ){
            require_once('articulos_categorias.php');
          }
          //End View Categorias

          //View Marcas
          if( $accion == 'marcas' ){
            require_once('articulos_marcas.php');
          }
          //End View Marcas

          //View List
          if( $accion == 'list' ){
            require_once('articulos_list.php');
          }
          //End View List

          //View List Download
          if( $accion == 'list-download' ){
            require_once('articulos_list_download.php');
          }
          //End View List Download

          //View Articulo
          if( $accion == 'view' ){
            require_once('articulos_view.php');
          }
          //End View Articulo

          //Add Articulo a Pedido
          if( $accion == 'add-articulo' ){
            require_once('articulos_add-articulo.php');
          }
          //End Add Articulo a Pedido

          //Solicitar Pedido
          if( $accion == 'pedido-solicitar' ){
            require_once('articulos_pedido_solicitar.php');
          }
          //End Solicitar Pedido

          //Solicitar Pedido Full
          if( $accion == 'pedido-solicitar-full' ){
            require_once('articulos_pedido_solicitar_full.php');
          }
          //End Solicitar Pedido Full

          //View Pedido
          if( $accion == 'view-pedido' ){
            require_once('articulos_view_pedido.php');
          }
          //View Pedido

          //View Pedidos
          if( $accion == 'view-pedidos' ){
            require_once('articulos_view_pedidos.php');
          }
          //View Pedidos

          //Borrar Articulo en Pedidos
          if( $accion == 'pedido-borrar-articulo' ){
            require_once('articulos_pedidos_borrar.php');
          }
          //End Borrar Articulo en Pedidos

        }
        //End Articulos

      //Guarda Log de Acciones
      // $Fecha     = date('Y-m-d');
      // $FechaHora = date('Y-m-d H:i:s');
      // $Query = "
      //   INSERT INTO api_logp_eticiones (
      //     fecha, fk_api_conexion
      //     petition
      //   )VALUES(
      //     '$Fecha', '$FechaHora', '$User[Id]', '$Conexion[Id]',
      //     '$Acc', '$Tip', '$Acc', '$Conexion[Url]', '$Conexion[Code]',
      //     '$Conexion[CKey]', '$Conexion[CSecret]',
      //     '$content'
      //   )
      // ";
      //$Result = mysqli_query($mysqli, $Query);
      //$IdLog = mysqli_insert_id($mysqli);

    }
    //End Content


    }
    //End Cuenta Validar

    require_once($Position.'config/cerrarconexion.php');

  }

?>
