public static function getTipos() { $table = \modelos\Modelo_SQL::get_prefix_tabla(self::$table); $sql = "select distinct tipo from {$table}"; $siglasTipos = \modelos\Modelo_SQL::execute($sql); return $siglasTipos; }
public static function update_Relatioship_PlayerTeam($post) { var_dump($post); $table = \modelos\Modelo_SQL::get_prefix_tabla(self::$table_je); $sql = "update {$table}\n set num_min={$post['num_min']}, num_max={$post['num_max']}\n where id={$post['id']} and\n (equipo_id={$post['equipo_id']} and jugador_id={$post['jugador_id']})\n "; echo $sql; return \core\sgbd\mysqli::execute($sql); }
public function getTeams_byConferenceName($conf_nombre_es) { $table_conf = \modelos\Modelo_SQL::get_prefix_tabla(self::$table_confs); $sql = "select * from {$table_conf} where nombre_es = {$conf_nombre_es}"; $conferencia = \core\sgbd\mysqli::execute($sql); $clausulas['where'] = " {$conferencia['siglas']}"; $teams = \modelos\Modelo_SQL::table(self::$table_teams)->select($clausulas); return $teams; }
/** * Función que nos dice si el usuario que esta conectado es empleado o no. * Con ella podemos evitar que un empleado pueda añadir articulos para comprar. * @param type $login * @return type boolean */ public static function es_empleado($login) { //Para que los empleados no tengan la opción de crear un carrito de la compra $sql = 'select * from 3da2_usuarios_roles where login = "******" and rol = "empleados" '; if (count(\modelos\Modelo_SQL::execute($sql))) { //if ( count( self::execute($sql) ) ){ self::$empleado = true; } else { self::$empleado = false; } return self::$empleado; }
public static function table($table_name) { $path_application = PATH_APPLICATION_APP . "modelos" . DS . strtolower($table_name) . ".php"; $path_framework = PATH_ESMVCPHP . "app" . DS . "modelos" . DS . strtolower($table_name) . ".php"; parent::set_table_name($table_name); if (is_file($path_application) or is_file($path_framework)) { $modelos_clase = "\\modelos\\" . strtolower($table_name); return new $modelos_clase(); } else { return new self(); } }
/** * Función que ofrecera al usuario un menú que le permitirá modificar sus datos * @author jergo * @param array $datos */ public static function modificar_datos(array $datos = array()) { $clausulas['where'] = "login = '******'"; $datos["filas"] = \modelos\Modelo_SQL::tabla(self::$tabla_users)->select($clausulas); //Otra forma: //$tabla = \core\Modelo_SQL::get_prefix_tabla(self::$tabla_users); //$sql = "select * from $tabla where ".$clausulas['where']; //$datos["filas"] = \modelos\Modelo_SQL::execute($sql); //var_dump($datos); $datos['view_content'] = \core\Vista::generar("modificar_datos", $datos, true); $http_body = \core\Vista_Plantilla::generar("DEFAULT", $datos, true); \core\HTTP_Respuesta::enviar($http_body); }
/** * Valida los datos insertados por el usuario al realizar una modificación. Si estos son correctos mostrará la lista de elementos con * la nueva inserción, sino mostrará los errores por los que nos se admitió los datos introducidos. * @param array $datos */ public function validar_form_modificar(array $datos = array()) { \core\HTTP_Requerimiento::request_come_by_post(); $validaciones = \modelos\players::$validaciones_update; if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) { //validaciones en PHP $datos["errores"]["errores_validacion"] = "Corrija los errores, por favor."; } else { //$validacion = self::comprobar_files($datos); if ($validacion) { //Convertimos a formato MySQL self::convertir_a_formato_mysql($datos['values']); //Start transaction \modelos\Modelo_SQL::start_transaction(); if (!($validacion = \modelos\players::updateDatos($datos))) { // Devuelve true o false //Roll back \modelos\Modelo_SQL::rollback_transaction(); $datos["errores"]["errores_validacion"] = "No se han podido grabar los datos en la bd."; } else { //Consolidar transaccion \modelos\Modelo_SQL::commit_transaction(); //A continuacion con el id ya conseguido procedemos a grabar en la base de datos la imagen y el manual del articulo //self::mover_files($datos); } } } //exit; /* if ( ! $validacion) //Devolvemos el formulario para que lo intente corregir de nuevo \core\Distribuidor::cargar_controlador(self::$controlador, 'form_modificar', $datos); else { $datos = array("alerta" => "Se han modificado correctamente."); // Definir el controlador que responderá después de la inserción \core\Distribuidor::cargar_controlador(self::$controlador, 'index', $datos); } */ if (!$validacion) { //Devolvemos el formulario para que lo intente corregir de nuevo $this->cargar_controlador(self::$controlador, 'form_modificar', $datos); } else { $_SESSION["alerta"] = "Se han modificado correctamente los datos"; \core\HTTP_Respuesta::set_header_line("location", \core\URL::generar(\core\Distribuidor::get_controlador_instanciado())); \core\HTTP_Respuesta::enviar(); } }
public static function getTeamsFromPlayer($player_id) { // $table = self::$table_je; // $clausulas['where'] = "jugador_id = $player_id"; // // return \core\sgbd\mysqli::select($clausulas, $table); /*Otra forma*/ $table = \modelos\Modelo_SQL::get_prefix_tabla(self::$table_je); $sql = "select equipo_id from {$table}"; $sql .= " where jugador_id = {$player_id}"; $ids = \core\sgbd\mysqli::execute($sql); $equipos = null; foreach ($ids as $value) { $equipos[] = $value['equipo_id']; } //var_dump($equipos); return $equipos; }
/** * Función que a través del id de un artículo guarda en la BD la referencia de los archivos multimedia del mismo que serán guardados en los recusros de la aplicación. * @param array $datos */ private static function mover_files(array $datos) { $id = $datos["values"]['id']; if ($_FILES["foto"]["size"]) { if ($datos["values"]["foto"] = self::mover_foto($id)) { $validacion = \modelos\Modelo_SQL::tabla(self::$tabla)->update($datos["values"]); } } if ($_FILES["manual"]["size"]) { if ($datos["values"]["manual"] = self::mover_manual($id)) { $validacion = \modelos\Modelo_SQL::tabla(self::$tabla)->update($datos["values"]); } } }
public static function getJuegos_by_categoria($categoria) { $clausulas['where'] = self::soloJuegosBasicos($clausulas); //sacamos el id de la categoria $table = \modelos\Modelo_SQL::get_prefix_tabla(self::$tabla_cat); $sql = "select id from {$table} where categoria like '%{$categoria}%'"; $categorias = \modelos\Modelo_SQL::execute($sql); if (!count($categorias)) { $table = \modelos\Modelo_SQL::get_prefix_tabla(self::$tabla_req); $sql = "select id from {$table} where tipo like '%{$categoria}%'"; $categorias = \modelos\Modelo_SQL::execute($sql); if (!count($categorias)) { return; } //Por número $num = (int) substr($categoria, 0, 1); if ($num == 0) { $num = 1; } if ($categoria === '2jugadores') { //numero exacto para 2 jugadores $clausulas['where'] .= " and requerimiento_id = {$categorias[0]['id']}"; } else { $clausulas['where'] .= " and ( requerimiento_id = {$categorias[0]['id']} or (num_min_jug = {$num} and num_max_jug >= {$num}) )"; //categoria extraida } $juegos = \modelos\Modelo_SQL::table(self::$tabla_j)->select($clausulas); return $juegos; } else { $clausulas['where'] .= " and categoria_id = {$categorias[0]['id']} "; //categoria extraida return \modelos\Modelo_SQL::table(self::$tabla_j)->select($clausulas); } }
/** * Función que a través del id de un artículo guarda en la BD la referencia de los archivos multimedia del mismo que serán guardados en los recusros de la aplicación. * @param array $datos */ private static function mover_files(array $datos) { //var_dump($datos); $id = $datos["values"]['id']; //var_dump($_FILES); if (!empty($_FILES["escudo"]["size"])) { if ($datos["values"]["escudo"] = self::mover_imagen($id)) { $validacion = \modelos\Modelo_SQL::tabla(self::$tabla_e)->update($datos["values"]); } } //Creamos una carpeta para guardar más fotos en ella al añadir detalles $nombre = \modelos\ficheros::getNombreCarpeta($id); $file_path = PATH_APPLICATION . "recursos" . DS . "ficheros" . DS . "teams"; \modelos\ficheros::crearCarpeta($file_path, $nombre); }
private static function buscarInmuebles(array $post = array()) { //var_dump($post); //Clausulas para la busqueda: if (isset($post['referencia']) && $post['referencia'] != '') { $post['referencia'] = trim($post['referencia']); //Eliminamos los espacios en blanco del inicio y final $clausulas['where'] = " referencia like '%{$post['referencia']}%'"; } else { $clausulas['where'] = " 1 "; //Siempre es true if (isset($post['tipo_inmueble']) && $post['tipo_inmueble'] != '') { $clausulas['where'] .= " and tipo like '{$post['tipo_inmueble']}'"; } if (isset($post['buscar_nombre'])) { $clausulas['where'] .= " and ( localidad like '%{$post['buscar_nombre']}%' or provincia like '%{$post['buscar_nombre']}%' or cp = '{$post['buscar_nombre']}' )"; } //Si precio_venta es igual a cero quiere decir que esta para alquilar y viceversa. Si amboa son cero saldrá en ambas consultas. if (isset($post['tipo_transacion']) && $post['tipo_transacion'] != '') { if ($post['tipo_transacion'] === 'venta') { $clausulas['where'] .= " and (precio_alquiler = 0 or precio_venta > 0)"; if (isset($post['precio_max']) && $post['precio_max'] != '') { $clausulas['where'] .= " and precio_venta <= '{$post['precio_max']}'"; } } elseif ($post['tipo_transacion'] === 'alquiler') { $clausulas['where'] .= " and (precio_venta = 0 or precio_alquiler > 0)"; if (isset($post['precio_max']) && $post['precio_max'] != '') { $clausulas['where'] .= " and precio_alquiler <= '{$post['precio_max']}'"; } } } elseif (isset($post['precio_max']) && $post['precio_max'] != '') { $clausulas['where'] .= " and ( precio_venta <= '{$post['precio_max']}' "; $clausulas['where'] .= " or ( precio_alquiler <= '{$post['precio_max']}' and precio_alquiler <> 0 ) ) "; } $clausulas['order_by'] = ' rand()'; } $datos["bienes"] = \modelos\Modelo_SQL::table(self::$tabla)->select($clausulas); // Recupera todas las filas ordenadas //$datos["bienes"] = \modelos\Modelo_SQL::execute($sql); //var_dump($datos); //¡¡OJO!! no hacemos la conversión y habrá que hacerla luego en la vista mediante el modelo return $datos['bienes']; }
/** * Elimina un comentario enviado mediante un formulario * @author Jorge Rodriguez "Jergo" <*****@*****.**> * @param array $datos */ public function validar_form_eliminar_comentario(array $datos = array()) { self::request_come_by_post(); //Si viene por POST sigue adelante $validaciones = array("id" => "errores_requerido && errores_texto && errores_numero_entero_positivo && errores_referencia:id/" . self::$tabla2 . "/id", "usuario_login" => "errores_requerido && errores_texto", "comentario" => "errores_requerido && errores_texto"); if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) { //validaciones en PHP $datos["errores"]["errores_validacion"] = "Corrija los errores, por favor."; } else { //Cogemos el nombre del articulo antes de borrarlo, para luego poder mostrar la misma página $where = ' id = ' . $datos['values']['id']; $sql = 'select * from ' . \core\Modelo_SQL::get_prefix_tabla(self::$tabla2) . ' where ' . $where; $fila = \core\Modelo_SQL::execute($sql); $articulo_id = $fila[0]['articulo_id']; if (!($validacion = \modelos\Modelo_SQL::delete($datos["values"], self::$tabla2))) { // Devuelve true o false $datos["errores"]["errores_validacion"] = "No se han podido grabar los datos en la bd."; } } if (!$validacion) { //Devolvemos el formulario para que lo intente corregir de nuevo \core\Distribuidor::cargar_controlador(self::$controlador, 'editar_comentario', $datos); } else { // Se ha grabado la modificación. Devolvemos el control al la situacion anterior a la petición del form_modificar //$datos = array("alerta" => "Se han grabado correctamente los detalles"); // Definir el controlador que responderá después de la inserción //\core\Distribuidor::cargar_controlador(self::$tabla, 'index', $datos); $_SESSION["alerta"] = "El comentario ha sido eliminado"; //header("Location: ".\core\URL::generar("self::$controlador/index")); $articulo_nombre = str_replace(" ", "-", $datos['values']['articulo_nombre']); $clausulas['where'] = " id = {$articulo_id} "; $filas = \modelos\Datos_SQL::select($clausulas, self::$tabla); $articulo_nombre = $filas[0]['nombre']; $articulo_nombre = str_replace(" ", "-", $articulo_nombre); \core\HTTP_Respuesta::set_header_line("location", \core\URL::generar(self::$controlador . "/juego/" . $articulo_id . "/" . $articulo_nombre)); \core\HTTP_Respuesta::enviar(); } }