<?php

  $debugin        = $decoded['debug'];
  $usr_id         = $decoded['usr_id'];
  $tienda_id      = $decoded['tienda_id'];
  $dinamica_id    = $decoded['dinamica_id'];
  $codigo         = $decoded['codigo'];
  $imagen         = $decoded['imagen'];
  $datetoday      = date('Y-m-d');

  if( $usr_id ){

    //User
    $Query = "
      SELECT
        usr.id, usr.fk_usuario_tipo
      FROM usuarios_app usr
      WHERE
        usr.Id = '$usr_id'
        AND usr.activo = '1'
    ";
    $Result = mysqli_query($mysqli, $Query);
	  $Usr = mysqli_fetch_assoc($Result);
    if( $Usr[id] ){

      //Valida Dinamica
      $Where = "
        WHERE din.id = '$dinamica_id'
        AND din.fechainicio <= '$datetoday' AND din.fechalimite >= '$datetoday'
      ";

      //Validación de Dinamicas
      $Query = "
        SELECT
          din.id,
          din.fk_dinamica_tipo,
          din.nombre, din.puntos, din.imagen,
          din.fechainicio, din.fechalimite
        FROM dinamicas din
        $Where
      ";
      $Result = mysqli_query($mysqli, $Query);
  	  $Dinamica = mysqli_fetch_assoc($Result);
      if( $Dinamica[id] ){

        //Valida que no se haya realizado la dinámica
        $Query = "
          SELECT
            res.id
          FROM dinamica_respuesta res
          WHERE
            res.fk_usuario = '$Usr[id]'
            AND res.fk_dinamica = '$Dinamica[id]'
        ";
        $Result = mysqli_query($mysqli, $Query);
        $ValDin = mysqli_fetch_assoc($Result);

        if( $ValDin[id] ){

          //Error uv-1 ( El Usuario no se encontró. )
          $Query = "
            SELECT
              err.Id, err.error, err.msn
            FROM api_errores err
            WHERE err.error = 'di-2'
          ";
          $Result = mysqli_query($mysqli, $Query);
          $Error = mysqli_fetch_assoc($Result);

          $Data = array(
            'action'      => 'error',
            'error'       => $Error[error],
            'error_msn'   => $Error[msn]
          );
          echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

        }else{

          //Valida Si es Fuerza de Ventas y Tienda Checkin
          if( $Usr[fk_usuario_tipo] == 1 ){

            //Visita
            $Query = "
              SELECT
                vi.id, vi.fk_tienda
              FROM visitas_fuerzaventas vi
              WHERE
                vi.id               != '0'
                AND vi.fk_usuario   = '$Usr[id]'
                AND vi.in_          = '1'
              GROUP BY vi.Id
            ";
            $Result = mysqli_query($mysqli, $Query);
            $Visita = mysqli_fetch_assoc($Result);

            if( $Visita[id] ){
              //Tienda
              $Query = "
                SELECT
                  tie.id,
                  tie.nombre,
                  tie.codigoQr,
                  tie.fk_pais, pai.nombre AS pais,
                  tie.fk_estado, est.estado,
                  tie.fk_municipio, mun.municipio,
                  tie.codigo_postal, tie.colonia,
                  tie.calle, tie.no_exterior, tie.no_interior,
                  tie.lat, tie.lng
                FROM tiendas tie
                LEFT JOIN cat_paises pai ON pai.id = tie.fk_pais
                LEFT JOIN cat_estados est ON est.id = tie.fk_estado
                LEFT JOIN cat_municipios mun ON mun.id = tie.fk_municipio
                WHERE
                  tie.id = '$Visita[fk_tienda]'
                GROUP BY tie.Id
              ";
              $Result = mysqli_query($mysqli, $Query);
              $TiendaVal = mysqli_fetch_assoc($Result);
              if( $TiendaVal[id] ){
                $TiendaId = $TiendaVal[id];
              }
            }

          }else{
            $TiendaId = 0;
          }

          //Inserta Dinamica Resuelta
          $Query = "
            INSERT INTO dinamica_respuesta
            (
              fk_dinamica, fk_dinamica_tipo,
              fk_usuario, fk_tienda,
              fecha,
              imagen, codigo,
              puntos
            )
            VALUES (
              '$Dinamica[id]', '$Dinamica[fk_dinamica_tipo]',
              '$Usr[id]', '$TiendaId',
              '$datetoday',
              '$Dinamica[imagen]', '$codigo',
              '$Dinamica[puntos]'
            )
          ";
          $Result = mysqli_query($mysqli, $Query);
          $IdAdd = mysqli_insert_id($mysqli);
          if( $IdAdd ){

            //Guarda Imagen
            if( $imagen ){

              $data = 'data:image/jpg;base64,'.$imagen;

              list($type, $data) = explode(';', $data);
              list(, $data)      = explode(',', $data);
              $data = base64_decode($data);

              // file_put_contents('temp/image-'.$IdAdd.'.jpg', $data);
              file_put_contents('../system/images-dinamicas/dinamica-'.$IdAdd.'.jpg', $data);

            }
            //End Guarda Imagen

            $Din = array(
              'action'        => 'ok',
              'dinamica_id'   => $Dinamica[id],
              'usr_id'        => $Usr[id],
              'puntos'        => $Dinamica[puntos]
            );

            $Data = array(
              'dinamica'   => $Din
            );
            echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

          }else{

            $Data = array(
              'action'      => 'error',
              'error'       => 'di-0',
              'error_msn'   => 'Error'
            );
            echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

          }

        }

      }else{

        //Error
        $Query = "
          SELECT
            err.Id, err.error, err.msn
          FROM api_errores err
          WHERE err.error = 'di-1'
        ";
        $Result = mysqli_query($mysqli, $Query);
        $Error = mysqli_fetch_assoc($Result);

        $Data = array(
          'action'      => 'error',
          'error'       => $Error[error],
          'error_msn'   => $Error[msn]
        );
        echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

      }

    }else{

      //Error
      $Query = "
        SELECT
          err.Id, err.error, err.msn
        FROM api_errores err
        WHERE err.error = 'di-1'
      ";
      $Result = mysqli_query($mysqli, $Query);
      $Error = mysqli_fetch_assoc($Result);

      $Data = array(
        'action'      => 'error',
        'error'       => $Error[error],
        'error_msn'   => $Error[msn]
      );
      echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

    }

  }

?>
