MINI MINI MANI MO
<?php
namespace App\Http\Controllers;
use App\Models\DatosUsers;
use App\Models\Legislatura;
use App\Models\User;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use Intervention\Image\Drivers\Gd\Driver as img;
use function PHPUnit\Framework\assertLessThan;
class DiputadosController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$legis = Legislatura::all()->sortByDesc('id')->first();
$diputados = DatosUsers::where('tipo_usuario', 2)->where('id_legislatura',$legis->id)->get();
return view('diputados.index', compact('diputados'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$partido['PRI'] = 'PRI';
$partido['MORENA'] = 'MORENA';
$partido['PAN'] = 'PAN';
$partido['PT'] = 'PT';
$partido['PRD'] = 'PRD';
$partido['PMC'] = 'PMC';
$partido['PVEM'] = 'PVEM';
$partido['SIN PARTIDO'] = 'SIN PARTIDO';
$legislatura = Arr::pluck(Legislatura::all(), 'legis','id');
return view('diputados.create', compact('partido','legislatura'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$datos = $request->except('_method', '_token');
$legis = Legislatura::all()->sortByDesc('id')->first();
$existe = User::where('email', $datos['c_electronico'])->first();
if ($existe){
$dip = User::find($existe->id);
$us['password'] = bcrypt('Spid24_62');
$us['pass'] = 0;
$dip->update($us);
}else{
$us['username'] = $datos['c_electronico'];
$us['email'] = $datos['c_electronico'];
$us['password'] = bcrypt('Spid24_62');
$us['fullname'] = $datos['nombre'].' '.$datos['ap_pat'].' '.$datos['ap_mat'];
User::create($us);
}
$datos['username'] = $datos['c_electronico'];
$datos['nombre_completo'] = $datos['nombre'].' '.$datos['ap_pat'].' '.$datos['ap_mat'];
$datos['tipo_usuario'] = 2;
$datos['id_legislatura'] = $legis->id;
DatosUsers::create($datos);
return redirect('diputados');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$dip= DatosUsers::find($id);
$partido['PRI'] = 'PRI';
$partido['MORENA'] = 'MORENA';
$partido['PAN'] = 'PAN';
$partido['PT'] = 'PT';
$partido['PRD'] = 'PRD';
$partido['PMC'] = 'PMC';
$partido['PVEM'] = 'PVEM';
$partido['SIN PARTIDO'] = 'SIN PARTIDO';
$legislatura = Arr::pluck(Legislatura::all(), 'legis','id');
return view('diputados.edit', compact('dip','partido','legislatura'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$dip= DatosUsers::find($id);
$legis = Legislatura::all()->sortByDesc('id')->first();
$datos = $request->except('_method','_token');
$dipUs = User::where('username', $dip->c_electronico)->first();
$us['username'] = $datos['c_electronico'];
$us['email'] = $datos['c_electronico'];
$us['fullname'] = $datos['nombre'].' '.$datos['ap_pat'].' '.$datos['ap_mat'];
$dipUs->update($us);
$datos['username'] = $datos['c_electronico'];
$datos['nombre_completo'] = $datos['nombre'].' '.$datos['ap_pat'].' '.$datos['ap_mat'];
$datos['tipo_usuario'] = 2;
$datos['id_legislatura'] = $legis->id;
$dip->update($datos);
return redirect('diputados');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
public function bajaDip(Request $request){
$id = $request['id'];
$datos = DatosUsers::find($id);
if ($datos->status == 1){
$up['status'] = 0;
}else{
$up['status'] = 1;
}
$datos->update($up);
}
public function cambioPsw(Request $request){
$id = $request['id'];
$datos = DatosUsers::find($id);
$us = User::where('username', $datos['username'])->first();
$psw['password'] = bcrypt('Spid24_62');
$us->update($psw);
$up['pass'] = 0;
$datos->update($up);
}
public function saveHuella(Request $request){
$datos = $request->except('_method','_token');
$diputado = DatosUsers::find($datos['idDiputado']);
$us = User::where('email', $diputado->username)->first();
if ($request->has('imagen')) {
$imagen = $request->input('imagen');
$imagen = str_replace('data:image/png;base64,', '', $imagen);
$imagen = str_replace(' ', '+', $imagen);
$imagen = base64_decode($imagen);
$uuid = str::uuid();
$ruta = public_path('/huellas/' . $uuid . '.png');
file_put_contents($ruta, $imagen);
$path_huella = 'huellas/' . $uuid . '.png';
if ($datos['lado'] == 1){
$hu['huella_izq'] = $path_huella;
}else{
$hu['huella_der'] = $path_huella;
}
$us->update($hu);
}
return 1;
}
public function comprobarHuella(Request $request)
{
if ($request->has('imagen')) {
$imagen = $request->input('imagen');
$imagen = str_replace('data:image/png;base64,', '', $imagen);
$imagen = str_replace(' ', '+', $imagen);
$imagen = base64_decode($imagen);
$uuid = str::uuid();
$ruta = public_path('/huellasLog/' . $uuid . '.png');
file_put_contents($ruta, $imagen);
$imagePath = 'huellasLog/' . $uuid . '.png';
$client = new Client([
'headers' => ['Content-Type' => 'application/json', 'verify' => false]
]);
$data = array(
"path" => $imagePath
);
try {
$response = $client->post('http://192.168.36.56:8084/comparar', [
'json' => $data
]);
$body = $response->getBody()->getContents();
} catch (\GuzzleHttp\Exception\BadResponseException $e) {
$body = $e->getResponse()->getBody()->getContents();
}
if ($body == 0){
Storage::disk('public')->delete($imagePath);
return 0;
}else{
$user = User::find($body);
if ($user->DatosUsers){
Auth::login($user);
return 1;
}else{
Storage::disk('public')->delete($imagePath);
return 0;
}
}
}
}
}
OHA YOOOO