ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙla_db = new PDO('mysql:host=127.0.0.1;dbname=basquetourberria', 'basqueadmintour', 'baq234545*tur88'); //$this->la_db = new PDO('mysql:host=127.0.0.1;dbname=basqueto_cmsbd', 'basqueto_usrbd', 'el2457user',array(PDO::ATTR_PERSISTENT => true)); $this->la_db = new PDO('mysql:host=127.0.0.1;dbname=basquetour_cmsbd_ano20240711', 'basquetour_accesobd202407', 'Rorosti*_accesobd202407',array(PDO::ATTR_PERSISTENT => true)); //LOCAL $this->la_db = new PDO('mysql:host=127.0.0.1;dbname=basquetour', 'root', '',array(PDO::ATTR_PERSISTENT => true)); $this->la_db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, TRUE); $this->la_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->la_db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); return true; } catch(PDOException $e) { //echo "Se ha producido un error"; //file_put_contents('oooops.txt', $e->getMessage()."KONEKTATU ".PHP_EOL , FILE_APPEND); return false; } } // Desconectar de la BASE DE DATOS public function deskonektatu() { try { $this->la_db = NULL; return true; } catch(PDOException $e) { //echo "Se ha producido un error"; //file_put_contents('oooops.txt', $e->getMessage()."DESKONEKTATU ".PHP_EOL , FILE_APPEND); return false; } } // SELECT generico con un PREPARE, recoge la consulta a 'PREPARAR' y crea ARRAY DE VALORES private $result = array(); public function select($consulta,$valores) { try { $datos = $this->la_db->prepare($consulta); $datos->execute($valores); if($datos) { // Puede venir VACIO, si viene VACIO el RESULT no recoge VALORES $i = 0; foreach ($datos as $valor) { $key = array_keys($valor); for($x = 0; $x < count($key); $x++) { if (!is_int ($key[$x])) { // Solo interesan NOMBRES-CAMPO, no INT $this->result[$i][$key[$x]] = $valor[$key[$x]]; } } $i = $i + 1; } } return $this->result; } catch(PDOException $e) { //echo "Se ha producido un error"; //file_put_contents('oooops.txt', $e->getMessage()."SELECT " . PHP_EOL, FILE_APPEND); return false; } } // Realizar un INSERT public function insert($taula,$eremuak,$balioak) { $emaitza = 0; $zenbatbalio = count($balioak); $consulta = "INSERT INTO ".$taula." (".$eremuak.") VALUES ("; $n = 1; while($n <= $zenbatbalio) { $consulta = $consulta. "?"; if ($n < $zenbatbalio) $consulta = $consulta. ","; $n = $n + 1; } $consulta = $consulta .")"; try { $datos = $this->la_db->prepare($consulta); $emaitza = $datos->execute($balioak); } catch(PDOException $e) { //echo "Se ha producido un error".$e->getMessage(); //file_put_contents('https://www.basquetour.eus/login3456111/oooops.txt', $e->getMessage()."INSERT ". PHP_EOL , FILE_APPEND); return false; } return $emaitza; } // Realizar un UPDATE public function update($taula,$eremuak,$balioak,$baldintza) { $emaitza = 0; $zenbatbalio = count($balioak); $eremu_taula = explode(",", $eremuak); $consulta = "UPDATE " . $taula . " SET "; $n = 1; while($n <= $zenbatbalio) { $consulta = $consulta. $eremu_taula[$n-1]."=?"; if ($n < $zenbatbalio) $consulta = $consulta. ","; $n = $n + 1; } $consulta = $consulta . $baldintza; try { $datos = $this->la_db->prepare($consulta); $emaitza = $datos->execute($balioak); } catch(PDOException $e) { //echo "Se ha producido un error"; //file_put_contents('oooops.txt', $e->getMessage()."UPDATE " . PHP_EOL , FILE_APPEND); return false; } return $emaitza; } // Realizar un DELETE public function delete($taula='',$baldintza='') { $emaitza = 0; $balioak = array(); if ($taula != '' && $baldintza != '') { try { $consulta = "DELETE FROM " . $taula . $baldintza; $datos = $this->la_db->prepare($consulta); $emaitza = $datos->execute($balioak); } catch(PDOException $e) { //echo "Se ha producido un error"; //file_put_contents('oooops.txt', $e->getMessage()."DELETE ". PHP_EOL , FILE_APPEND); return false; } } return $emaitza; } ///// CONSULTAS ESPECFICAS QUE REQUIEREN MXIMO NIVEL DE SEGURIDAD SEPARADAS DE SELECT ///// ///// GENRICO POR SI REQUIEREN TRATAMIENTO ESPECFICO A POSTERIORI ///// // Realizar un SELECT con USUARIO y CONTRASEA, para VALIDACIN DE USUARIO private $resultvalidar = array(); public function validar_usuario($usuario='',$clave='',$sitea=1) { // Problemas de HASH con , reemplazamos por n y generamos HASH $clave = str_replace("","n",$clave); if ($sitea != -1) { // Si NO es CMS $consulta = "SELECT usuario_ID,usuario_egoera,usuario_nombre,usuario_apellidos,usuario_nick,usuario_pasahitz,usuario_perfil,usuario_moderadorsite,usuario_eposta,usuario_bloqueo FROM usuario WHERE usuario_egoera = 2 AND usuario_nick = ? AND usuario_pasahitz = ? AND ((usuario_perfil = 2) OR (usuario_perfil = 4) OR (usuario_perfil = 1 AND usuario_ID IN (SELECT usuario FROM usuario_grupo WHERE grupo IN (SELECT grupo FROM grupo_site WHERE site = ?)))) AND usuario_bloqueo < 100"; $valores = array($usuario,hash('sha256',$clave),$sitea); } // Si NO es CMS if ($sitea == -1) { // Si es CMS $consulta = "SELECT usuario_ID,usuario_egoera,usuario_nombre,usuario_apellidos,usuario_nick,usuario_pasahitz,usuario_perfil,usuario_moderadorsite,usuario_eposta,usuario_bloqueo FROM usuario WHERE usuario_egoera = 2 AND usuario_nick = ? AND usuario_pasahitz = ? AND usuario_bloqueo < 100"; $valores = array($usuario,hash('sha256',$clave)); } // Si es CMS try { $datos = $this->la_db->prepare($consulta); $datos->execute($valores); if ($datos) { // Puede venir VACO, si viene VACO el RESULT no recoge VALORES $i = 0; foreach ($datos as $valor) { $key = array_keys($valor); for($x = 0; $x < count($key); $x++) { if (!is_int ($key[$x])) { // Slo interesan NOMBRES-CAMPO, no INT $this->resultvalidar[$i][$key[$x]] = $valor[$key[$x]]; } } $i = $i + 1; } } // Si NO SE HA CONECTADO, incremento BLOQUEO if (count($this->resultvalidar) != 1) { $consultabloqueo = "UPDATE usuario SET usuario_bloqueo = usuario_bloqueo + 1 WHERE usuario_nick = ?"; $valoresbloqueo = array($usuario); $bloqueos = $this->la_db->prepare($consultabloqueo); $bloqueos->execute($valoresbloqueo); } return $this->resultvalidar; } catch(PDOException $e) { //echo "Se ha producido un error"; //file_put_contents('oooops.txt', $e->getMessage(). PHP_EOL , FILE_APPEND); return false; } } } ?>