<?php
require_once('../../Web_Admin/Conexion.php');
class Admin_P
{
  function __construct()
  {
  }
  public function UsrTipo($IdReg)
  {
    $db = new Conexion();
    $SSql = $db->query("SELECT A.Id_Acceso, A.Login, A.Fecha_alta, A.Nombre, B.nombre, B.id FROM O_Acceso A INNER JOIN C_Municipios B on A.Id=B.id Where A.Id_Acceso=$IdReg");
    $dato = $db->recorrer($SSql);
    return ($dato);
  }
  public function Lista_Gan($Opc)
  {
    $db = new Conexion();
    $resultado = $db->query("Select id, nombre from C_Municipios where Ganadera=$Opc order by nombre");
    echo "<select name='List_Ganaderas' id='List_Ganaderas' required>";
    while ($row = $resultado->fetch_assoc()) {
      echo '<option value="' . $row['id'] . '">' . $row['nombre'] . '</option>';
    }
    echo "</select><input type='hidden' name='hi_Origen' id='hi_Origen' value='$Opc'><br><br>";
  }

  public function Alta_Usr($Ganadera, $Muni, $Log_In, $Descrip, $Pass)
  {
    $db = new Conexion();
    $sql = $db->query("SELECT Login from O_Acceso WHERE lower(Login)='$Log_In'");
    $dato = $db->recorrer($sql);
    if (!$dato) {
      $Pass = md5($Pass);
      $Log_In = str_replace(' ', '', strtolower($Log_In));
      $Correo = $Log_In . '@localhost.org';
      $Ruta = 'UG_' . ucwords(strtolower($Log_In));
      $sql = ("Insert into O_Acceso (Id, Sub_Id, Login, Correo, Nombre, Password, Ruta) value($Ganadera, $Muni,'$Log_In', '$Correo', '$Descrip', '$Pass','$Ruta')");
      if ($db->query($sql)) {
        $Ban = "!! Se registro Usuario ¡¡";
      } else {
        $Ban = "!! Error de alta error (201) ¡¡";
      }
    } else {
      $Ban = '- - Error (202): Login ya se encuentra registrado  - -';
    }
    return ($Ban);
  }

  public function Lista_Usr()
  {
    $db = new Conexion();
    $resultado = $db->query("SELECT A.Id_Acceso, A.Login, A.Fecha_alta, A.Nombre, B.nombre FROM O_Acceso A INNER JOIN C_Municipios B on A.Id=B.id");

    echo '<table class="customers"><tbody><tr><th colspan="6">.: Lista de Usuarios :.</th></tr>';
    echo '<tr><th>#</th><th>Login</th><th>Fecha Alta</th><th>Descripción</th><th>Municipio</th><th>Opciones</th></tr>';
    $Cont = 1;
    while ($row = $resultado->fetch_assoc()) {
      $Fecha = new DateTime($row['Fecha_alta']);
      echo '<tr><td>' . $Cont . '</td><td>' . $row['Login'] . '</td><td>' . $Fecha->format('d/m/Y') . '</td><td>' . $row['Nombre'] . '</td><td>' . $row['nombre'] . '</td><td align="center"><img src="../Diseno/R.png" width="30" height="24" onclick="DelUsr(' . $row['Id_Acceso'] . ')">  <img src="../Diseno/Edit.png" width="30" height="24" onclick="EditarUsr(' . $row['Id_Acceso'] . ')"/></td></tr>';
      $Cont++;
    }
    echo '</tbody></table>';
  }

  public function Cambio_Fecha($Valor, $Opc)
  {
    $Mes_ = array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
    $Fecha = new DateTime($Valor);
    if ($Opc == 0) {
      $Fecha = $Fecha->format('d') . ' - ' . $Mes_[($Fecha->format('m') - 1)] . ' - ' . $Fecha->format('Y');
    } else {
      $Fecha = $Fecha->format('d') . ' - ' . $Mes_[($Fecha->format('m') - 1)] . ' - ' . $Fecha->format('Y') . ' | Hr ' . $Fecha->format('H') . ':' . $Fecha->format('i');
    }
    return ($Fecha);
  }

  public function Gan_Mov($Merc, $Fecha_Ini, $Fecha_Fin)
  {
    $db = new Conexion();
    $resultado = $db->query("SELECT B.id, B.nombre from O_Folios_Asig A INNER JOIN C_Mpio B on A.Id=B.id where A.Act=1 and A.Mercancia=$Merc and A.Fecha_Emi BETWEEN '$Fecha_Ini' and '$Fecha_Fin'");
    echo "<select name='Muni' id='Muni' required>";
    echo '<option value="0" >' . "SELECT B.id, B.nombre from O_Folios_Asig A INNER JOIN C_Mpio B on A.Id=B.id where A.Act=1 and A.Mercancia=$Merc and A.Fecha_Emi BETWEEN '$Fecha_Ini' and '$Fecha_Fin'" . '</option>';
    while ($row = $resultado->fetch_assoc()) {
      echo '<option value="' . $row['id'] . '">' . $row['nombre'] . '</option>';
    }
    echo "</select><br><br>";
  }

  public function Fecha_MM()
  {
    $db = new Conexion();
    $sql = $db->query("SELECT min(Fecha_Emi) As Fecha_Min, MAX(Fecha_Emi) As Fecha_Max FROM O_Folios_Asig");
    $dato = $db->recorrer($sql);
    return ($dato);
  }

  public function Lista_Mun()
  {
    $db = new Conexion();
    $resultado = $db->query("Select id, nombre from Prod_Guias_Comite.C_Mpio where estado_id=13 order by nombre");
    echo "<select name='List_Mpios' id='List_Mpios'>";
    while ($row = $resultado->fetch_assoc()) {
      echo '<option value="' . $row['id'] . '">' . $row['nombre'] . '</option>';
    }
    echo "</select><br><br>";
  }

  public function Verifica_Log($Log_IN)
  {
    $db = new Conexion();
    $sql = $db->query("SELECT Login FROM O_Acceso where Login ='$Log_IN'");
    $dato = $db->recorrer($sql);
    if ($dato) {
      echo '<input type="text" name="Log_in" id="Log_in" max="30" maxlength="30" autocomplete="off" placeholder="Ya existe esta cuenta" required onblur="Ver_Log()" style="color:red" value="' . $Log_IN . '"><div>¡¡ Cuenta ya existente !! </div>';
      echo '<script> document.getElementById("Btn_Alta").style.display = "none";	</script>';
      echo '<script> document.getElementById("Btn_Logo").style.display = "none";	</script>';
    } else {
      echo '<input type="text" name="Log_in" id="Log_in" max="30" maxlength="30" autocomplete="off" required value="' . $Log_IN . '" onblur="Ver_Log()" style="color:green">';
      echo '<script> document.getElementById("Btn_Alta").style.display = "block";	</script>';
      echo '<script> document.getElementById("Btn_Logo").style.display = "block";	</script>';
    }
  }

  function MuniSelect($idMun)
  {

    $db = new Conexion();
    $resultado = $db->query("Select id, nombre from C_Municipios where Ganadera=0 order by FIELD(Id,$idMun) DESC");
    echo "<select name='List_Municipios' id='List_Municipios' required>";
    while ($row = $resultado->fetch_assoc()) {
      echo '<option value="' . $row['id'] . '">' . $row['nombre'] . '</option>';
    }
    echo "</select><input type='hidden' name='hi_Origen' id='hi_Origen' value='$idMun'><br>";
  }

  public function Act_Usr($IdReg, $Muni, $Sub_Muni, $Log_In, $Descrip, $Pass, $Opc)
  {
    $db = new Conexion();
    $Pass = md5($Pass);
    $Log_In = str_replace(' ', '', strtolower($Log_In));
    $Correo = $Log_In . '@localhost.org';
    //$Ruta=($Origen==0 ? 'UG_'.ucwords(strtolower($Log_In)) :  ucwords(strtolower($Log_In)));
    $Ruta = ucwords(strtolower($Log_In));
    $Sql = "Update O_Acceso set Id=$Muni, Sub_Id=$Sub_Muni, Login='$Log_In', Nombre='$Descrip', Password='$Pass', Ruta='$Ruta', Correo='$Correo' where Id_acceso=$IdReg";
    $Ban = $Sql;
    if ($db->query($Sql)) {
      $Ban = "!! Se Actualizo el Usuario ¡¡";
    } else {
      $Ban = "!! ERROR: Posiblemente el login ya exista (No se puede duplicar) ¡¡";
    }
    return ($Ban);
  }

  public function Lista_Auto()
  {
    $db = new Conexion();
    $resultado = $db->query("SELECT C.Id_cliente, A.Id, concat(C.Apellido_P, ' ', C.Apellido_M,' ',C.Nombre) as Nombre, A.Login, B.nombre, C.Cuantos FROM O_Acceso A inner join C_Municipios B on A.Id=B.id and B.Ganadera=0 left join (select Z.Apellido_P, Z.Apellido_M, Z.Id_cliente, Z.Nombre, Z.Id, D.Cuantos from C_Clientes Z inner join (select count(Id) as Cuantos, Id from C_Clientes where Act=1 group by Id) D on Z.Id=D.Id) as C on A.Id=C.Id");

    echo '<table class="customers"><tbody><tr><th colspan="6">.: Lista de personal Autorizado :.</th></tr>';
    echo '<tr><th>#</th><th>Login</th><th>Municipio</th><th>+</th><th>Autorizados</th><th>Opciones</th></tr>';
    $Cont = 1;
    $Mun = '';
    while ($row = $resultado->fetch_assoc()) {

      if ($row['Id'] != $Mun || $row['Id'] == '') {
        $fila = $row['Cuantos'];
        echo '<tr><td rowspan="' . $fila . '">' . $Cont . '</td><td rowspan="' . $fila . '">' . $row['Login'] . '</td><td rowspan="' . $fila . '">' . $row['nombre'] . '</td><td rowspan="' . $fila . '"><img src="../Diseno/Agregar.png" width="30" height="24" onclick="AddAuto(' . $row['Id'] . ')"> </td>';
      }
      echo '<td>' . $row['Nombre'] . '</td><td align="center"><img src="../Diseno/R.png" width="30" height="24" onclick="BajaAut(' . $row['Id_cliente'] . ')"><img src="../Diseno/Edit.png" width="30" height="24" onclick="EditarAut(' . $row['Id_cliente'] . ')"/><img src="../Diseno/Pdf.png" width="30" height="24" onclick="CartaOfic(' . $row['Id_cliente'] . ')"/></td></tr>';
      $Mun = $row['Id'];
      $Cont++;
    }
    echo '</tbody></table>';
  }

  public function UsrAut($Id_Reg)
  {
    $db = new Conexion();
    $SSql = $db->query("SELECT A.Mpio as IdMpio, A.Apellido_P, A.Apellido_M, A.Nombre, A.Direccion, A.Col, A.Cp, A.Telefono, A.Correo, A.Cargo, A.Origen, A.Institucion, B.nombre as Mpio, C.nombre as DMpio FROM C_Clientes A INNER JOIN C_Municipios B on A.Id=B.id LEFT JOIN C_Municipios C on A.Mpio=C.id Where A.Id_cliente=$Id_Reg");
    $dato = $db->recorrer($SSql);
    return ($dato);
  }

  public function ActPer($Id_Reg, $Apellido_P, $Apellido_M, $Nombre, $Direc, $Col, $Mpio, $Cp, $Telefono, $Correo, $Cargo, $Inst)
  {
    $db = new Conexion();
    $Sql = "Update C_Clientes set Apellido_P='$Apellido_P', Apellido_M='$Apellido_M', Nombre='$Nombre', Direccion='$Direc', Col='$Col', Mpio=$Mpio, cp='$Cp', Telefono='$Telefono', Correo='$Correo', Cargo='$Cargo', Institucion='$Inst' where Id_cliente=$Id_Reg";
    if ($db->query($Sql)) {
      $Ban = "!! Se Actualizo el Usuario ¡¡";
    } else {
      $Ban = "!! ERROR: Posiblemente el login ya exista (No se puede duplicar) ¡¡";
    }
    echo ($Ban);
  }
  public function AddPer($Id_Reg, $Apellido_P, $Apellido_M, $Nombre, $Direc, $Col, $Mpio, $Cp, $Telefono, $Correo, $Cargo, $Origen, $Inst)
  {
    $db = new Conexion();
    $Sql = "Insert into C_Clientes (Id, Apellido_P, Apellido_M, Nombre, Direccion, Col, Mpio, cp, Telefono, Correo, Cargo, Institucion, Origen, Act) values($Id_Reg, '$Apellido_P', '$Apellido_M', '$Nombre', '$Direc', '$Col', '$Mpio', '$Cp', '$Telefono', '$Correo','$Cargo','$Inst', $Origen, 1)";
    echo "<script>console.log('" . $Sql . "')</script>";
    if ($db->query($Sql)) {
      $Ban = "!! Se agrego el Usuario ¡¡";
    } else {
      $Ban = "!! ERROR: de Alta 601¡¡";
    }
    echo ($Ban);
  }

  public function DescAct($Id_Reg)
  {
    $db = new Conexion();
    $Sql = "Update C_Clientes set Act=0 where Id_cliente=$Id_Reg";
    //echo "<script>console.log('".$Sql."')</script>";
    if ($db->query($Sql)) {
      $Ban = "";
    } else {
      $Ban = "!! ERROR: Lista autorizados 602 ¡¡";
    }
    echo ($Ban);
  }
}// Fin de La Classe