예제 #1
0
파일: download.php 프로젝트: rodsanjo/3da2
 public function js(array $datos = array())
 {
     $validaciones = array("p3" => "errores_requerido && errores_identificador", "p4" => "errores_requerido && errores_texto");
     if (!\core\Validaciones::errores_validacion_request($validaciones, $datos)) {
         $datos["ruta"] = PATH_APP . "ficheros/" . $datos["values"]["p3"] . "/";
         $datos["fichero"] = urldecode($datos["values"]["p4"]);
         $extension = substr($datos["fichero"], strpos($datos["fichero"], "."));
         //			echo("Path_Fichero: ".$ruta.$fichero);
         //			echo("Tamaño: " .filesize($ruta.$fichero));
         //			exit(__METHOD__.$extension.\modelos\ficheros::get_mime_type($extension));
         $fila["fichero"] = $datos["values"]["p3"] . "/" . $datos["fichero"];
         $fila["remote_addr"] = $_SERVER["REMOTE_ADDR"];
         $fila["request_time"] = gmdate("Y-m-d H:i:s", $_SERVER["REQUEST_TIME"]);
         if (!\modelos\descargas::tabla("descargas")->insert($fila)) {
             exit(\modelos\descargas::get_error());
         }
         header("Content-type: " . \modelos\ficheros::get_mime_type($extension));
         //			header('Content-Disposition: attachment; filename="'.$fichero.'"');
         //			header("Content-Transfer-Encoding: binary");
         header("Content-Length: " . filesize($datos["ruta"] . $datos["fichero"]));
         //			$http_body = \core\Vista::generar(__FUNCTION__, $datos);
         //			echo $http_body;
         $file_path = $datos["ruta"] . $datos["fichero"];
         include $file_path;
     } else {
         header("Location: " . \core\URL::generar());
     }
 }
예제 #2
0
파일: galeria.php 프로젝트: rodsanjo/3da2
 public function carpeta(array $datos = array())
 {
     $validaciones = array("p3" => "errores_requerido && errores_identificador");
     if (!\core\Validaciones::errores_validacion_request($validaciones, $datos)) {
         $datos["carpeta"] = $datos["values"]["p3"];
         $datos["ficheros"] = \modelos\ficheros::get_ficheros($datos["values"]["p3"]);
         if ($datos["values"]["p3"] == 'krasnale') {
             $datos["view_content"] = \core\Vista::generar('krasnale', $datos);
         } else {
             $datos["view_content"] = \core\Vista::generar(__FUNCTION__, $datos);
         }
         $http_body_content = \core\Vista_Plantilla::generar("DEFAULT", $datos);
         \core\HTTP_Respuesta::enviar($http_body_content);
     } else {
         header("Location: " . \core\URL::generar());
     }
 }
예제 #3
0
파일: usuarios.php 프로젝트: rodsanjo/3da2
 public function confirmar_alta(array $datos = array())
 {
     $validaciones = array('id' => 'errores_requerido && errores_numero_entero_positivo && errores_referencia:id/usuarios/id', 'key' => 'errores_requerido');
     // Añadimos la fecha confirmaciondel alta, que no ha venido por post.
     $_POST["fecha_confirmacion_alta"] = date("d/m/Y H:i:s");
     $_REQUEST["fecha_confirmacion_alta"] = date("d/m/Y H:i:s");
     if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) {
         $datos['mensaje'] = 'Petición incorrecta.';
         return \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
     } else {
         $datos["values"]["key"] = urldecode($datos["values"]["key"]);
         $clausulas['where'] = " id = {$datos['values']['id']} and clave_confirmacion = '{$datos['values']['key']}' and fecha_confirmacion_alta is not null ";
         $filas = \modelos\Modelo_SQL::table("usuarios")->select($clausulas);
         if (count($filas)) {
             // El usuario esta confirmado previamente
             $datos['mensaje'] = "Este proceso de confirmación lo realizazó en una fecha anterior: " . \core\Conversiones::fecha_hora_mysql_a_es($filas[0]['fecha_confirmacion_alta']);
             \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
             return;
         } else {
             $clausulas['where'] = " id = {$datos['values']['id']} and clave_confirmacion = '{$datos['values']['key']}' and fecha_confirmacion_alta is null ";
             $filas = \modelos\Modelo_SQL::table("usuarios")->select($clausulas);
             if (count($filas) == 1) {
                 // El usuario es correcto y está sin confirmar
                 unset($datos['values']['key']);
                 $datos['values']['fecha_confirmacion_alta'] = gmdate("Y-m-d h:i:s");
                 $resultado = \modelos\Modelo_SQL::tabla("usuarios")->update($datos['values']);
                 $datos['mensaje'] = "Proceso de confirmación completado fecha: {$datos['values']['fecha_confirmacion_alta']}. Ya puedes loguearte";
                 $datos['url_continuar'] = \core\URL::generar_sin_idioma("usuarios/form_login");
                 \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
             } else {
                 $datos['mensaje'] = "Error indeterminado. Disculpa las molestias.";
                 \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
             }
         }
     }
 }
예제 #4
0
 public function validar_form_borrar(array $datos = array())
 {
     \core\HTTP_Requerimiento::request_come_by_post();
     $validaciones = array("id" => "errores_requerido && errores_numero_entero_positivo && errores_referencia:id/" . self::$tabla_j . "/id");
     if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) {
         $datos['mensaje'] = 'Datos erróneos para identificar el artículo a borrar';
         $datos['url_continuar'] = \core\URL::http('?menu=' . self::$tabla . '');
         \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
         return;
     } else {
         //Eliminamos la foto y el manual de nuestra carpeta, debemos de hacerlo lo primero
         //self::borrar_files($datos);
         //Borrado:
         //Borrado normal:
         $validacion = \modelos\Datos_SQL::delete($datos["values"], self::$tabla_j);
         //Borrado lógico:
         //            $fila = array(
         //                'id' => $datos["values"]['id'],
         //                'is_active' => 'false',
         //            );
         //            $validacion = \modelos\Datos_SQL::update($fila, self::$tabla_j);
         if (!$validacion) {
             // Devuelve true o false
             $datos['mensaje'] = 'Error al borrar en la bd';
             $datos['url_continuar'] = \core\URL::http('?menu=' . self::$tabla . '');
             \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
             return;
         } else {
             $datos = array("alerta" => "Se ha borrado correctamente.");
             \core\Distribuidor::cargar_controlador(self::$controlador, 'index', $datos);
         }
     }
 }
예제 #5
0
 public function validar_form_borrar(array $datos = array())
 {
     \core\HTTP_Requerimiento::request_come_by_post();
     $validaciones = array("id" => "errores_requerido && errores_numero_entero_positivo && errores_referencia:id/" . self::$tabla . "/id");
     if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) {
         $datos['mensaje'] = 'Datos erróneos para identificar el elemento a borrar';
         $datos['url_continuar'] = \core\URL::http('?menu=' . self::$tabla . '');
         \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
         return;
     } else {
         if (!($validacion = \modelos\Datos_SQL::delete($datos["values"], self::$tabla))) {
             // Devuelve true o false
             $datos['mensaje'] = 'Error al borrar en la bd';
             $datos['url_continuar'] = \core\URL::http('?menu=' . self::$tabla . '');
             \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
             return;
         } else {
             $datos = array("alerta" => "Se ha borrado correctamente.");
             \core\Distribuidor::cargar_controlador(self::$controlador, 'index', $datos);
         }
     }
 }
예제 #6
0
파일: articulos.php 프로젝트: rodsanjo/3da2
 /**
  * Genera una respuesta excel.
  * @param array $datos
  */
 public function listado_xls(array $datos = array())
 {
     $validaciones = array("nombre" => "errores_texto");
     \core\Validaciones::errores_validacion_request($validaciones, $datos);
     if (isset($_datos['values']['nombre'])) {
         $select['where'] = " nombre like '%{$_datos['values']['nombre']}%'";
     }
     $select['order_by'] = 'nombre';
     $datos['filas'] = \modelos\Datos_SQL::select($select, self::$tabla);
     $datos['contenido_principal'] = \core\Vista::generar(__FUNCTION__, $datos);
     \core\HTTP_Respuesta::set_mime_type('application/excel');
     $http_body = \core\Vista_Plantilla::generar('plantilla_xls', $datos);
     \core\HTTP_Respuesta::enviar($http_body);
 }
예제 #7
0
파일: contacto.php 프로젝트: rodsanjo/3da2
 private function enviar_mail_validar(array &$datos = array())
 {
     $validaciones = \modelos\contacto::$validaciones_insert;
     $validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos);
     return $validacion;
 }
예제 #8
0
 public static function validar_form_modificar_relacion(array $datos = array())
 {
     \core\HTTP_Requerimiento::request_come_by_post();
     $post = \core\HTTP_Requerimiento::post();
     //var_dump($post);
     $validaciones = \modelos\teams::$validaciones_update_relationship;
     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) {
             if (!($validacion = \modelos\teams::update_Relatioship_PlayerTeam($post))) {
                 // Devuelve true o false
                 $datos["errores"]["errores_validacion"] = "No se han podido grabar los datos en la bd.";
             }
         }
     }
     var_dump($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_relacion', $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();
     }
     $datos["form_name"] = __FUNCTION__;
     \core\HTTP_Requerimiento::request_come_by_post();
     //Si viene por POST sigue adelante
     $validaciones = \modelos\teams::$validaciones_update_relationship;
     if (!isset($datos["errores"])) {
         // Si no es un reenvío desde una validación fallida
         $validaciones = array("id" => "errores_requerido && errores_numero_entero_positivo && errores_referencia:id/" . self::$tabla_e . "/id");
         if (!($validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos))) {
             $datos['mensaje'] = 'Datos erróneos para identificar el elemento a modificar';
             \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
             return;
         } else {
             $clausulas['where'] = " id = {$datos['values']['id']} ";
             if (!($filas = \modelos\Datos_SQL::select($clausulas, self::$tabla_e))) {
                 $datos['mensaje'] = 'Error al recuperar la fila de la base de datos';
                 \core\Distribuidor::cargar_controlador('mensajes', 'mensaje', $datos);
                 return;
             } else {
                 $datos['values'] = $filas[0];
             }
         }
     }
     //Mostramos los datos a modificar en formato europeo. Convertimos el formato de MySQL a europeo
     //Abriremos el formulario en una ventana nueva
     $datos['view_content'] = \core\Vista::generar(__FUNCTION__, $datos);
     $http_body = \core\Vista_Plantilla::generar('view_content', $datos);
     \core\HTTP_Respuesta::enviar($http_body);
 }
예제 #9
0
파일: enlaces.php 프로젝트: rodsanjo/3da2
 public function form_borrar_validar(array $datos = array())
 {
     //$enlace = \core\HTTP_Requerimiento::post();  //recojo en $enlace lo que viene por POST del formulario.
     $validaciones = array("id" => "errores_notnull && errores_numero_entero_positivo");
     $validacion = !\core\Validaciones::errores_validacion_request($validaciones, $datos);
     if (!$validacion) {
         $datos['errores']['validacion'] = 'Error al identificar el id del objeto a borrar.' . $datos['errores']['validacion'];
         //print "-- Depuración: \$datos= "; print_r($datos);
         \core\Distribuidor::cargar_controlador(self::$enlaces, "form_borrar", $datos);
     } else {
         $enlace = $datos["values"];
         // Los datos del enlace están recogidos por la validación en $datos[values]
         \modelos\Enlaces_en_fichero::borrar_enlace($enlace['id']);
         \core\HTTP_Respuesta::set_header_line("location", \core\URL::generar(\core\Distribuidor::get_controlador_instanciado()));
         \core\HTTP_Respuesta::enviar();
         //Otra forma: pero al recargar la página intenta borrar denuevo, ya que carga: ?menu=$enlaces&submenu=form_borrar_validar
         //\core\Distribuidor::cargar_controlador("$enlaces", "index");
     }
 }
예제 #10
0
파일: juego.php 프로젝트: rodsanjo/3da2
 /**
  * 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();
     }
 }