From 1c03ca41d277c4a0dd5c4bf1fd1bfc1e0a086ec6 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Fri, 19 Sep 2025 16:29:07 +0000 Subject: [PATCH 01/22] Teoria 19/09 --- teoria/intro.php | 78 +++++++++++++++++++++++++++++ teoria/reto1/imagenes/fotoLOTR.png | Bin 0 -> 249033 bytes teoria/reto1/reto.php | 62 +++++++++++++++++++++++ 3 files changed, 140 insertions(+) create mode 100644 teoria/intro.php create mode 100644 teoria/reto1/imagenes/fotoLOTR.png create mode 100644 teoria/reto1/reto.php diff --git a/teoria/intro.php b/teoria/intro.php new file mode 100644 index 00000000..9449bcdf --- /dev/null +++ b/teoria/intro.php @@ -0,0 +1,78 @@ + + + + + + p1 php + + +

Hola pp1 teoria

+ + Hola subtitulo'; + echo "Hola mundo con dos comillas"; + + $nom = 'Miguel Angel'; + $apellido = "Saiz"; + $edad = 21; + $frase = "Hola soy $nom $apellido y tengo $edad anyos"; + + echo '
'; + echo "Hola me llamo". $nom . "tengo" . $edad . "años!"; + echo '
'; + echo "Hola me llamo {$nom} tengo {$edad} y me apellido {$apellido}"; + echo '
'; + echo $frase; + + + echo '
'; + + + //Condicionales + + //if + + if($edad<22){ + echo "eres mayor de edad"; + }else{ + echo "eres menor de edad"; + } + //== + //% + //!= + //<= >= < > + + ?> + +
+

Numeros del 0-10

+ + "; + echo "
Numero: $i
"; + echo '
Numero: '. $i .'
'; + echo "
Numero: $i
"; + + } + + ?> +
+ + + + diff --git a/teoria/reto1/imagenes/fotoLOTR.png b/teoria/reto1/imagenes/fotoLOTR.png new file mode 100644 index 0000000000000000000000000000000000000000..75a45b62ec83f71f501b3da988ffa8a975c865cc GIT binary patch literal 249033 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%0DQiZJlX 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 z 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

l0w9~f1j^90MX3BXVxsiz3Qgf+T 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�dk2t@n2o}CtPwDFc3p%1uS@r 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 JmVn>B|36AoMc)7b literal 0 HcmV?d00001 diff --git a/teoria/reto1/reto.php b/teoria/reto1/reto.php new file mode 100644 index 00000000..22056d47 --- /dev/null +++ b/teoria/reto1/reto.php @@ -0,0 +1,62 @@ + + + + + + Reto 1 + + +

Pelis Favoritas - Top 10

+ + + + + + + + + + + "; + echo ""; + echo ""; + if($lista_puntuacion[$i]<5){ + //echo ""; + echo ""; + //echo ""; + }else{ + echo ""; + } + echo ""; + + + } + + ?> + +
NombreImagenPuntuacion
$lista_peliculas[$i] + Foto +
$lista_puntuacion[$i]
$lista_puntuacion[$i]
+ + + + \ No newline at end of file From d84fa1ff89b828bcf71ce9213aec25dcb1485253 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 22 Sep 2025 12:52:11 +0000 Subject: [PATCH 02/22] PP1 --- practicas/pp1-primera-app/demostracion.php | 4 + practicas/pp1-primera-app/hola.php | 100 +++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 practicas/pp1-primera-app/demostracion.php create mode 100644 practicas/pp1-primera-app/hola.php diff --git a/practicas/pp1-primera-app/demostracion.php b/practicas/pp1-primera-app/demostracion.php new file mode 100644 index 00000000..425ca8c7 --- /dev/null +++ b/practicas/pp1-primera-app/demostracion.php @@ -0,0 +1,4 @@ + diff --git a/practicas/pp1-primera-app/hola.php b/practicas/pp1-primera-app/hola.php new file mode 100644 index 00000000..5b639eca --- /dev/null +++ b/practicas/pp1-primera-app/hola.php @@ -0,0 +1,100 @@ + + + + + + Módulo 7 - Práctica 1 + + + + +
+ Logo FP Llefià +

Módulo 7 - Práctica 1. Mi primera aplicación en PHP

+
+ + +
+
+ Mi foto +

Carolina Gonzalez

+
+
+

+ Este párrafo explica el código de las áreas señaladas del archivo index.php que tenemos por defecto. + Por ejemplo, la sección del header define la navegación principal, + las columnas se organizan mediante CSS puro usando flexbox y estilos personalizados, + y el footer muestra la fecha actual utilizando PHP para generarla automáticamente. +

+
+
+ + +
+

Carolina Gonzalez

+

+ +

+
+ + From 597bf019d378096c3ce3e5f511f16e1c3da9d5ec Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 22 Sep 2025 13:07:53 +0000 Subject: [PATCH 03/22] Reto 1 terminado --- teoria/reto1/reto.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/teoria/reto1/reto.php b/teoria/reto1/reto.php index 22056d47..a280fcb1 100644 --- a/teoria/reto1/reto.php +++ b/teoria/reto1/reto.php @@ -19,7 +19,16 @@ From 1b42ee905dbd212246ffc9f56f3aa19771cb3bd2 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 22 Sep 2025 13:10:40 +0000 Subject: [PATCH 04/22] Reto 1 --- teoria/reto1/reto.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/teoria/reto1/reto.php b/teoria/reto1/reto.php index a280fcb1..9bd6d5be 100644 --- a/teoria/reto1/reto.php +++ b/teoria/reto1/reto.php @@ -32,7 +32,7 @@ $lista_puntuacion = ["8", "5", "2" ,"8", "5", "2" ,"8", "5", "2" , "7" ]; for($i=0; $i<=9; $i++){ - echo $i; + //echo $i; echo ""; echo "$lista_peliculas[$i]"; @@ -66,12 +66,12 @@ background-color: yellow; } td img { - width: 350px; /* todas del mismo ancho */ - height: auto; /* se ajusta automáticamente, sin deformar */ + width: 350px; + height: auto; } td, th { - text-align: center; /* centra horizontalmente */ - vertical-align: middle; /* centra verticalmente */ + text-align: center; + vertical-align: middle; } From e1e7b8cedf74dffde005d086035234e72d629678 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 22 Sep 2025 13:54:26 +0000 Subject: [PATCH 05/22] PP2 Basica terminada --- practicas/pp1-primera-app/pp2/ex1.php | 25 ++++++++ practicas/pp1-primera-app/pp2/ex2.php | 31 ++++++++++ practicas/pp1-primera-app/pp2/ex3.php | 23 +++++++ practicas/pp1-primera-app/pp2/extra1.php | 74 +++++++++++++++++++++++ practicas/pp1-primera-app/pp2/extra2.php | 77 ++++++++++++++++++++++++ practicas/pp1-primera-app/pp2/index.php | 30 +++++++++ 6 files changed, 260 insertions(+) create mode 100644 practicas/pp1-primera-app/pp2/ex1.php create mode 100644 practicas/pp1-primera-app/pp2/ex2.php create mode 100644 practicas/pp1-primera-app/pp2/ex3.php create mode 100644 practicas/pp1-primera-app/pp2/extra1.php create mode 100644 practicas/pp1-primera-app/pp2/extra2.php create mode 100644 practicas/pp1-primera-app/pp2/index.php diff --git a/practicas/pp1-primera-app/pp2/ex1.php b/practicas/pp1-primera-app/pp2/ex1.php new file mode 100644 index 00000000..b724a371 --- /dev/null +++ b/practicas/pp1-primera-app/pp2/ex1.php @@ -0,0 +1,25 @@ + + + + + Ejercicio 1 - Números pares + + + +

Números pares del 50 al 500

+ $i"; + } + ?> +
+ + diff --git a/practicas/pp1-primera-app/pp2/ex2.php b/practicas/pp1-primera-app/pp2/ex2.php new file mode 100644 index 00000000..dea3ee14 --- /dev/null +++ b/practicas/pp1-primera-app/pp2/ex2.php @@ -0,0 +1,31 @@ + + + + + Ejercicio 2 - Tablas de multiplicar + + + +

Tablas de multiplicar (1 al 10)

+

Tabla del $n

"; + for ($m = 1; $m <= 9; $m++) { + $res = $n * $m; + echo "$n x $m = $res
"; + } + echo ""; + } + ?> +

Volver al índice

+ + diff --git a/practicas/pp1-primera-app/pp2/ex3.php b/practicas/pp1-primera-app/pp2/ex3.php new file mode 100644 index 00000000..7fc20b7f --- /dev/null +++ b/practicas/pp1-primera-app/pp2/ex3.php @@ -0,0 +1,23 @@ + + + + + Ejercicio 3 - Número aleatorio + + + +

Número aleatorio entre 0 y 100

+ $num es PAR"; + } else { + echo "
$num es IMPAR
"; + } + ?> +

Volver al índice

+ + diff --git a/practicas/pp1-primera-app/pp2/extra1.php b/practicas/pp1-primera-app/pp2/extra1.php new file mode 100644 index 00000000..e8949af3 --- /dev/null +++ b/practicas/pp1-primera-app/pp2/extra1.php @@ -0,0 +1,74 @@ + + + + + Ejercicio Extra 1 - Divisores y primo + + + +
+ Número generado: $num"; + echo "

Divisores de $num:

"; + + $contador = 0; + echo "
"; + for ($i = 1; $i <= $num; $i++) { + if ($num % $i == 0) { + echo "
$i
"; + $contador++; + } + } + echo "
"; + + if ($contador == 2) { + echo "

$num es un número primo.

"; + } else { + echo "

$num no es un número primo.

"; + } + ?> +
+

Volver al índice

+ + diff --git a/practicas/pp1-primera-app/pp2/extra2.php b/practicas/pp1-primera-app/pp2/extra2.php new file mode 100644 index 00000000..f504cf85 --- /dev/null +++ b/practicas/pp1-primera-app/pp2/extra2.php @@ -0,0 +1,77 @@ + + + + + Ejercicio Extra 2 - El hombre del tiempo + + + +
+

Clasificación de Temperaturas

+
+ $temp °C
Frío
"; + } elseif ($temp <= 25) { + echo "
$temp °C
Temperatura Suave
"; + } else { + echo "
$temp °C
Calor
"; + } + } + + $media = $suma / $cantidad; + echo "
"; + echo "

Media de las temperaturas: " . number_format($media, 2) . " °C

"; // con . por que estoy incluyendo una funcion en el medio del HTML que despliego + ?> + + +

Volver al índice

+ + diff --git a/practicas/pp1-primera-app/pp2/index.php b/practicas/pp1-primera-app/pp2/index.php new file mode 100644 index 00000000..4e3df40f --- /dev/null +++ b/practicas/pp1-primera-app/pp2/index.php @@ -0,0 +1,30 @@ + + + + + Práctica 2 - PHP + + + +

Práctica 2 - PHP

+ Ejercicio 1: Números pares + Ejercicio 2: Tablas de multiplicar + Ejercicio 3: Número par o impar + Ejercicio Extra 1: Divisores y número primo + Ejercicio Extra 2: El hombre del tiempo + + From b3c64220dbd66aea1a14bb045f3788c29876c7ba Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 22 Sep 2025 13:59:13 +0000 Subject: [PATCH 06/22] Reorganizacion de carpetas --- practicas/{pp1-primera-app => }/pp2/ex1.php | 0 practicas/{pp1-primera-app => }/pp2/ex2.php | 0 practicas/{pp1-primera-app => }/pp2/ex3.php | 0 practicas/{pp1-primera-app => }/pp2/extra1.php | 0 practicas/{pp1-primera-app => }/pp2/extra2.php | 0 practicas/{pp1-primera-app => }/pp2/index.php | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename practicas/{pp1-primera-app => }/pp2/ex1.php (100%) rename practicas/{pp1-primera-app => }/pp2/ex2.php (100%) rename practicas/{pp1-primera-app => }/pp2/ex3.php (100%) rename practicas/{pp1-primera-app => }/pp2/extra1.php (100%) rename practicas/{pp1-primera-app => }/pp2/extra2.php (100%) rename practicas/{pp1-primera-app => }/pp2/index.php (100%) diff --git a/practicas/pp1-primera-app/pp2/ex1.php b/practicas/pp2/ex1.php similarity index 100% rename from practicas/pp1-primera-app/pp2/ex1.php rename to practicas/pp2/ex1.php diff --git a/practicas/pp1-primera-app/pp2/ex2.php b/practicas/pp2/ex2.php similarity index 100% rename from practicas/pp1-primera-app/pp2/ex2.php rename to practicas/pp2/ex2.php diff --git a/practicas/pp1-primera-app/pp2/ex3.php b/practicas/pp2/ex3.php similarity index 100% rename from practicas/pp1-primera-app/pp2/ex3.php rename to practicas/pp2/ex3.php diff --git a/practicas/pp1-primera-app/pp2/extra1.php b/practicas/pp2/extra1.php similarity index 100% rename from practicas/pp1-primera-app/pp2/extra1.php rename to practicas/pp2/extra1.php diff --git a/practicas/pp1-primera-app/pp2/extra2.php b/practicas/pp2/extra2.php similarity index 100% rename from practicas/pp1-primera-app/pp2/extra2.php rename to practicas/pp2/extra2.php diff --git a/practicas/pp1-primera-app/pp2/index.php b/practicas/pp2/index.php similarity index 100% rename from practicas/pp1-primera-app/pp2/index.php rename to practicas/pp2/index.php From 5115618e9646e0e3f2b4a19c1115bd6d9351ff9d Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 6 Oct 2025 15:35:13 +0000 Subject: [PATCH 07/22] Cartelera de Cine --- practicas/pp2-extra/ex4.php | 63 ++++ practicas/pp2-extra/ex5.php | 76 +++++ practicas/pp2-extra/index.php | 34 +++ practicas/pp3/detalle.php | 252 ++++++++++++++++ practicas/pp3/imagenes/facebook.png | Bin 0 -> 1732 bytes practicas/pp3/imagenes/iconoLista.png | Bin 0 -> 635 bytes practicas/pp3/imagenes/iconoTabla.png | Bin 0 -> 637 bytes practicas/pp3/imagenes/instagram.png | Bin 0 -> 2676 bytes practicas/pp3/imagenes/logo.png | Bin 0 -> 5307 bytes practicas/pp3/imagenes/tiktok.png | Bin 0 -> 2287 bytes practicas/pp3/imagenes/x.png | Bin 0 -> 3021 bytes practicas/pp3/index.php | 265 +++++++++++++++++ practicas/pp3/pelicules.php | 272 ++++++++++++++++++ practicas/pp3/trailer.php | 108 +++++++ .../pp4/tienda/data/assets/logo-mercadona.jpg | 0 practicas/pp4/tienda/data/index.php | 0 practicas/pp4/tienda/data/inicio.php | 0 practicas/pp4/tienda/data/productos.php | 0 practicas/pp4/tienda/include/footer.php | 0 practicas/pp4/tienda/include/funciones.php | 0 practicas/pp4/tienda/include/header.php | 0 21 files changed, 1070 insertions(+) create mode 100644 practicas/pp2-extra/ex4.php create mode 100644 practicas/pp2-extra/ex5.php create mode 100644 practicas/pp2-extra/index.php create mode 100644 practicas/pp3/detalle.php create mode 100644 practicas/pp3/imagenes/facebook.png create mode 100644 practicas/pp3/imagenes/iconoLista.png create mode 100644 practicas/pp3/imagenes/iconoTabla.png create mode 100644 practicas/pp3/imagenes/instagram.png create mode 100644 practicas/pp3/imagenes/logo.png create mode 100644 practicas/pp3/imagenes/tiktok.png create mode 100644 practicas/pp3/imagenes/x.png create mode 100644 practicas/pp3/index.php create mode 100644 practicas/pp3/pelicules.php create mode 100644 practicas/pp3/trailer.php create mode 100644 practicas/pp4/tienda/data/assets/logo-mercadona.jpg create mode 100644 practicas/pp4/tienda/data/index.php create mode 100644 practicas/pp4/tienda/data/inicio.php create mode 100644 practicas/pp4/tienda/data/productos.php create mode 100644 practicas/pp4/tienda/include/footer.php create mode 100644 practicas/pp4/tienda/include/funciones.php create mode 100644 practicas/pp4/tienda/include/header.php diff --git a/practicas/pp2-extra/ex4.php b/practicas/pp2-extra/ex4.php new file mode 100644 index 00000000..16318328 --- /dev/null +++ b/practicas/pp2-extra/ex4.php @@ -0,0 +1,63 @@ + + + + + Ejercicio 4 - Pares agrupados + + + +

Pares entre 50 y 500 agrupados por decenas

+ "; + echo "
De $decena a " . ($decena + 9) . "
"; //con punto por que debo incluir la operacion en medio del HTML que quiero mostrar con el echo + echo "
"; + for ($i = $decena; $i <= $decena + 9 && $i <= 500; $i++) { + if ($i % 2 == 0) { + $class = "num"; + if ($i % 12 == 0) { + $class .= " mult12"; //.= concatena strings con el espacio para pegar una clase detras de otra en el CSS + } elseif ($i % 6 == 0) { + $class .= " mult6"; + } elseif ($i % 4 == 0) { + $class .= " mult4"; + } + echo "
$i
"; + $contador++; + $sum += $i; + } + } + echo "
"; + echo "
Cantidad de elementos: $contador | Suma del Grupo De $decena a " . ($decena + 9) . ": $sum
"; + echo ""; + echo "
"; + $totalContador += $contador; + $totalSum += $sum; + } + + echo "

Total global de pares: $totalContador | Suma global: $totalSum

"; + ?> +

Volver al índice

+ + diff --git a/practicas/pp2-extra/ex5.php b/practicas/pp2-extra/ex5.php new file mode 100644 index 00000000..689c9b92 --- /dev/null +++ b/practicas/pp2-extra/ex5.php @@ -0,0 +1,76 @@ + + + + + Ejercicio 6 - Análisis de valores aleatorios con cambios de zona + + + +
+

Análisis de 30 valores aleatorios

+
+ 66) $clase = "verde"; + + // Contar pares e impares + if ($num % 2 == 0) { + $pares++; + } + else { + $impares++; + } + + // Contar cambios de zona comparando con el valor anterior + if ($i > 0 && $clase != $zonaAnterior) { + $cambios++; + } + $zonaAnterior = $clase; // Actualizamos la zona anterior + + // Mostrar el número en su div correspondiente + echo "
$num
"; + } + + // Calcular mínimo, máximo y media + $min = min($valores); + $max = max($valores); + $media = array_sum($valores) / count($valores); + + echo "
"; // cerrar grid + + // Mostrar resultados estadísticos + echo "

Mínimo: $min | Máximo: $max | Media: " . number_format($media, 2) . "

"; + echo "

Pares: $pares | Impares: $impares | Cambios de zona: $cambios

"; + + // Leyenda de colores + echo "

Leyenda: Azul < 33 | Gris 33–66 | Verde > 66

"; + ?> +
+ +

Volver al índice

+ + diff --git a/practicas/pp2-extra/index.php b/practicas/pp2-extra/index.php new file mode 100644 index 00000000..51a4aed3 --- /dev/null +++ b/practicas/pp2-extra/index.php @@ -0,0 +1,34 @@ + + + + + Práctica 2 - PHP + + + +

Práctica 2 - PHP

+ Ejercicio 1: Números pares + Ejercicio 2: Tablas de multiplicar + Ejercicio 3: Número par o impar + Ejercicio Extra 1: Divisores y número primo + Ejercicio Extra 2: El hombre del tiempo + +

Parte EXTRA de PP2

+ Ejercicio 4: Pares 50-500 agrupados + Ejercicio 6: Análisis de valores aleatorios + + \ No newline at end of file diff --git a/practicas/pp3/detalle.php b/practicas/pp3/detalle.php new file mode 100644 index 00000000..a947ae77 --- /dev/null +++ b/practicas/pp3/detalle.php @@ -0,0 +1,252 @@ + + + + + + + Detalle - <?php echo $pelicula['nombre']; ?> + + + + + + + + + + + + + +
+
+ +
+ + Imagen de <?php echo $pelicula['nombre']; ?> +
+ + +
+ ' . $pelicula['nombre'] . ''; + + // Sinopsis + echo '

Sinopsis: ' . $pelicula['sinopsis'] . '

'; + + // Duración + echo '

Duración: ' . $pelicula['duracion'] . '

'; + + // Director + echo '

Director: ' . $pelicula['director'] . '

'; + + // Reparto (solo si existe y es un array) + if (!empty($pelicula['reparto']) && is_array($pelicula['reparto'])) { + echo '

Reparto: ' . implode(", ", $pelicula['reparto']) . '

'; + } + + // Clasificación por edad + echo '

Clasificación: ' . $pelicula['calificacion'] . '

'; + + // Género + echo '

Género: ' . $pelicula['genero'] . '

'; + + + // Algunas películas tienen una valoración numérica (de 0 a 10). + // Queremos mostrarla como estrellas (de 1 a 5) y el valor numérico. + + // Supongamos que tenemos una película con: + // $pelicula["valoracion"] = 8.4; + // + // El objetivo es convertir esa valoración de 0 a 10 + // en un sistema visual de estrellas (de 1 a 5) y mostrar ambas formas. + // + // Verificamos que el arreglo $pelicula contenga la clave "valoracion". + // Convertimos el valor a número decimal (float). + // Reducimos la escala de 10 a 5 dividiendo por 2 y redondeando al entero mas cercano + // Generamos una cadena con estrellas llenas (⭐) y vacías (☆). + // Mostramos el resultado con formato HTML. + // + // Resultado esperado (para 8.4): + // Valoración: ⭐⭐⭐⭐☆ (8.4/10) + if (isset($pelicula["valoracion"])) { + // Convertimos la valoración de 10 puntos a 5 estrellas + $valoracion10 = (float)$pelicula["valoracion"]; + $valoracion5 = round($valoracion10 / 2); + + // Generamos las estrellas visuales con str_repeat() + // "⭐" se repite tantas veces como $valoracion5 + // "☆" se repite el resto hasta completar 5 + $estrellas = str_repeat("⭐", $valoracion5) . str_repeat("☆", 5 - $valoracion5); + + // La función str_repeat(cadena, número) repite una cadena tantas veces + // como se indique en el segundo parámetro. + // + // Ejemplo básico: + // str_repeat("⭐", 3) -> "⭐⭐⭐" + // + // En este contexto: + // - str_repeat("⭐", $valoracion5) genera las estrellas llenas, + // según la valoración redondeada (por ejemplo, 4 -> "⭐⭐⭐⭐"). + // - str_repeat("☆", 5 - $valoracion5) genera las estrellas vacías + // para completar un total de 5 (por ejemplo, si $valoracion5 = 4, + // entonces 5 - 4 = 1 -> "☆"). + // + // Luego ambas cadenas se concatenan: + // "⭐⭐⭐⭐" . "☆" = "⭐⭐⭐⭐☆" + + + // Mostramos el resultado final + echo '

Valoración: ' . $estrellas . ' (' . $valoracion10 . '/10)

'; + } + + // Horarios como enlaces + echo '

Horarios: '; + foreach ($pelicula['horarios'] as $horario) { + echo '' . $horario . ''; + } + echo '

'; + + // Botón para ver el tráiler (lleva a trailer.php?id) + // Botón para regresar a la cartelera (index.php) + echo 'Ver tráiler '; + echo 'Volver a cartelera'; + ?> +
+
+ + + + + + + + + + + +
+ + + + + + + diff --git a/practicas/pp3/imagenes/facebook.png b/practicas/pp3/imagenes/facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..cf08d894954d62a42a154b735622140f2efd124e GIT binary patch literal 1732 zcmV;#20QtQP)*Gg@_cRv1}d+ravrxfJ0JQq&l^xk|~KNPtw>sIhR zH&K_{K(~|O^To4%8-UY?Nze%Bs%|B2(^QAsk#21by$is}LnVkC47N1m!y(w@?0pTp z1Hkc|TGy=-BGslXa&t?!9b294SqQemV9UaKkD;sg05}+IRX=Q5?A9=@-nIp_2e58~ z_GSo{QgPEkutA_VHRx6*0CVxQE3l7EqK~enU5w>YhTG5&#~FmH_?(Y925vc+U3*}` z7}gfi_<21IH|J7-TV>Y*?tdz=o2#N7tWSXY+A4Tnt3B=Hnkc{;EKT+w!nL7N_L>Gg zus%ieyfIR8w3J=4+QEE)MMaKvdgEZ8p~5&f#c?vneEKPx=TCQ~M(XCn_th=kZY(`e zxw*TS?Z(o(#;N&C7cIe1Ib*%IIkYAX_8Y3?Our0)&o;+!k)rK&k& z>Dh=?-WB&IHRe6<_0`2`Z|vXye)fy4F0KUq{%PD)3Gkmk{&XP`)lC3b6eLxZ zYXS2nx?{_fVl$0MmqT_`K#$1-0QZB z{eV{y7iaW_rGF;N`t(eT`T2!~z`xym_+I4qrPt0Gt|OoKdg{gZPpnVV!+&_bKKQlm zM@{>zX1!uG<9*S_T0HA}Z&Ea0Zy7R>lo_uf(_tT61UfUlk~1k%1Yoyy1@JQBVWz)y zA1p-6e!%zvw|goeMMuy@uZKR^WeM68a0M{r&=AQl01h=odJe!40E?BxogaBg2mAXs z+hczgN(&KpK6xDJeP8_W#ApFQPz5a$@O6FQtr&|C7rHWjDQ5x$DH;M`0EXNG+(jsy zQx||U1bBdWIH!Rh@CoAKoKBFU(Fa3L0A4)nw-FDwG-T=@2X_z_XVe)T2Lo^h03RVP z&gduzF#2J4)czk}zDzvQv;*ncf64#cIP#Eu_XYvpM|{LvbKKjC4VYC^ z*gI{L2Fyey0+?q=F!^DRc1&;cZv5jj{e}&N4FR^K=7#Bi4*ToEb);$;sW}p0P7A22 zXIM3xrsko%D4%kAZ=P;1UPZi9)t-i13;QB3>ZfVQ#|k&`NK3SlZY9bK!X-co`|u4Ao3hbU@0c z1IJqO`2MywO}JBcu+Paw{cwPkeI+HYhg~?Z7O)R=LqF6rTxFAMcfzdaiURC&Gxg2o zjKOVlN=|iz;mzu7HRy_dXe#&b*+f7$O*Y6m1=t6gs_ZQXK@-^RN&A+a2kandE5KR@ zcqDb#1@_TxE}*QsLV{;&w73`}&=reaO>S+e5ZhP*I2bmKpEuamvmQ%#*sc3X&l_hJ zaDcN3^eV$Hr2v!~T^_J)t5cl;JO+B1(>OJ{^L4@Z+%(m8c_QLu_#Bs6micAK)GXS+ a0t^7|$t$_=)}C(w0000OqtM literal 0 HcmV?d00001 diff --git a/practicas/pp3/imagenes/iconoLista.png b/practicas/pp3/imagenes/iconoLista.png new file mode 100644 index 0000000000000000000000000000000000000000..a1b62a7b06482516df74881287c7e5e783586c27 GIT binary patch literal 635 zcmV->0)+jEP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0uV_=K~!i%?V7)e z0x=NAXGIIOv9T9ytn36ku@J$=ClDV(5FfxoY<&XJRs<0n3tL4i!NSf?ivS=Tk-hHo;&J z^7%ZJN+pO!qu)U?MhFww>2xq04wF%qqP>#`@*<7h?{}=#YT9Iul3vJIuh-Kiu$FDx zm`qcP8?LLRW*8njERRqs8ZRstzGAZXpdSD zkx(Ot$KwIx@mQAi-&mFf<#HL~@wke3%Wk)m*W5156*n`CF>V-R-1u1T>-9QhG8r{; zxL&W&Y&K!L-KvNK{h5U3lF6isc*}CRgm$~FMlbaHeQmkqu0Sf4k~d4f<8rxRu~^i) zW-WSqFBS`o#bWvdhLT=nUm_R`1{ey3w27QV9>~j&F=DgXU^bi8F5n>AJ9$7v`~rE& VF6|dZt9bwb002ovPDHLkV1la47&ia_ literal 0 HcmV?d00001 diff --git a/practicas/pp3/imagenes/iconoTabla.png b/practicas/pp3/imagenes/iconoTabla.png new file mode 100644 index 0000000000000000000000000000000000000000..ef2f13a0ec03a71e0027d9e787d3970feccfabcb GIT binary patch literal 637 zcmV-@0)qXCP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0uo6?K~!i%?U}EO z0#Ojh$2$bkYE{HyF}h$8lVGq2R&7?J$#B8Hz-$q#MG=e9Vh{wIL9i*fpdkJh-o4qI zyVdjQ<=J~578l5EG{Z22X_~@C0mo3U*Wq1W zKfYXNaJ^o^ac?Rd4nK;D$K%j!Ho@ofQAACtRDxEkMV?Kg(STGcMV^|;WCGc277m94 zMQn1p9Mozx^3?2hJILqrFdPmkViODot?SPp4K0~WitTo5RgqT|3WdA8Z|ihAG~zj< z(MWi`US&Q$_b+gMI8Rl+6eZr|jpNXwxS&OG!EyT(mUO-RxS&OGL5t$TgDBZ3f@~N; z_Kh!1HlCDmk8Eg_<8Mtiv>+Q=%D4xgtID}GoFC5f8G89~L5t$T{}6RLonX0K!eX&_ zY5V=2GVWQg*UIs?W}2o|#Z=&PRXMkY^TT;QLwD(1(4x4YMRDPw`uY8S$Ye6$cDpH} zrr+HKNvoj~OC@yGGTzDwy zkw^q8l?r$~9*U^J)4suAK%PyxTn581$Wt?$&8*+R^V#1d5((>+@)gJ95vtWHOs7+d z*kDO_T$dh;#hkbNqS2_c-jvJbf?ls@-T&;y+^twFiu3s_Ae~Mt2XHggvDs{76D7na XHVz6)Krm$e00000NkvXXu0mjf%RVH; literal 0 HcmV?d00001 diff --git a/practicas/pp3/imagenes/instagram.png b/practicas/pp3/imagenes/instagram.png new file mode 100644 index 0000000000000000000000000000000000000000..9d5713df90bb42bdf8f52e3c0388a51b538a1e6f GIT binary patch literal 2676 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 i%=$5`t1R080t^6iFv;$l($H@J0000HEpD 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 literal 0 HcmV?d00001 diff --git a/practicas/pp3/imagenes/tiktok.png b/practicas/pp3/imagenes/tiktok.png new file mode 100644 index 0000000000000000000000000000000000000000..8a7cf5868258f87d0c6ad5df306419c2ec2b4c18 GIT binary patch literal 2287 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 JPDHLkV1iN}VJ!dv literal 0 HcmV?d00001 diff --git a/practicas/pp3/imagenes/x.png b/practicas/pp3/imagenes/x.png new file mode 100644 index 0000000000000000000000000000000000000000..1332d6133404a1ede993db2487c73f120598b6bf GIT binary patch literal 3021 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 literal 0 HcmV?d00001 diff --git a/practicas/pp3/index.php b/practicas/pp3/index.php new file mode 100644 index 00000000..2973cf27 --- /dev/null +++ b/practicas/pp3/index.php @@ -0,0 +1,265 @@ + + + + + + Cartelera - Cinemes Màgic Badalona + + + + + + + + + + +
+
+ + +
+

Cartelera

+
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+ $pelicula) { + + // Cada película ocupa una columna del grid + echo '
'; + echo '
'; + echo '' . $pelicula['nombre'] . ''; + echo '
'; + echo '
' . $pelicula['nombre'] . '
'; + echo '

Horarios: ' . implode(", ", $pelicula['horarios']) . '

'; + echo 'Ver tráiler'; + echo 'Ver más info'; + echo '
'; + echo '
'; + echo '
'; + } + ?> +
+
+
+ + +
+

© 2025 Cinemes Màgic Badalona - Todos los derechos reservados

+
+ + + + + + diff --git a/practicas/pp3/pelicules.php b/practicas/pp3/pelicules.php new file mode 100644 index 00000000..7653db24 --- /dev/null +++ b/practicas/pp3/pelicules.php @@ -0,0 +1,272 @@ + "AFTERBURN", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8908.jpg", + "horarios" => ["20:40", "22:40"], + "sinopsis" => "Después de que una erupción solar masiva destruyera el hemisferio oriental de la Tierra, un envalentonado cazatesoros a sueldo viaja a Europa para encontrar la codiciada Mona Lisa, solo para descubrir que lo que el mundo realmente necesita es un héroe, no una pintura.", + "duracion" => "105 min", + "director" => "J.J Perry", + "reparto" => ["Olga Kurylenko", "Kristofer Hivju", "Dave Bautista", "Samuel L. Jackson"], + "calificacion" => "+16", + "genero" => "Ciencia ficción", + "trailer" => "https://www.youtube.com/watch?v=yhCPdFOrFvI", + "valoracion" => 7.8, + "imagenes_extra" => [ + "https://m.media-amazon.com/images/M/MV5BNGJhMjZiYzMtYTBjOS00MWFjLWEwZTItNTRjNDc1Y2Q5N2UwXkEyXkFqcGc@._V1_.jpg", + "https://www.accioncine.es/wp-content/uploads/2025/09/afterburn-2-1024x576.jpg", + "https://decine21.com/img/upload/obras/afterburn-50694/afterburn-50694-e1.jpg", + "https://images.justwatch.com/backdrop/336141420/s640/cazadores-del-fin-del-mundo" + ] + ], + [ + "nombre" => "El Gran Premio: A Todo Gas", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8794.jpg", + "horarios" => ["15:30", "18:30", "21:30"], + "sinopsis" => "Edda sueña con convertirse en piloto de carreras. Inesperadamente, su deseo se hace realidad: ¡éste pasa de ser un parque de atracciones en decadencia a un circuito de competición! Junto a su ídolo, el piloto Ed, afrontará los desafíos del Gran Premio de Europa y descubrirá un complot para sabotear la carrera. ¿Conseguirán salvar la competición y evitar el cierre del parque?", + "duracion" => "152 min", + "director" => "Waldemas Fast", + "reparto" => ["Christian Bale", "Heath Ledger", "Aaron Eckhart"], + "calificacion" => "Apta", + "genero" => "Acción / Superhéroes", + "trailer" => "https://www.youtube.com/watch?v=zWcWGvMfKY0", + "valoracion" => 8.1, + "imagenes_extra" => [ + "https://www.bizcochito.es/Films/Gallery03/tt32897929.webp", + "https://www.bizcochito.es/Films/Gallery02/tt32897929.webp", + "https://m.media-amazon.com/images/M/MV5BNzI4MzhlY2QtN2QxMC00ZmY2LTk1NjMtMmY2MjM3ZWUxZWFhXkEyXkFqcGc@._V1_.jpg", + "https://www.ecartelera.com/images/img/242600/242619_el-gran-premio-a-todo-gas.jpg" + ] + ], + [ + "nombre" => "El Cautivo", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8853.jpg", + "horarios" => ["16:00", "18:10", "19:45", "22:15"], + "sinopsis" => "Año 1575. El joven soldado Miguel de Cervantes es capturado en alta mar por corsarios árabes y llevado a Argel como rehén. Consciente de que allí le espera una cruel muerte si su familia no paga pronto su rescate, Miguel encontrará refugio en su pasión por contar historias. Sus fascinantes relatos devuelven la esperanza a sus compañeros de prisión y acaban por llamar la atención de Hasán, el misterioso y temido Bajá de Argel, con el que comienza a desarrollar una extraña afinidad. Mientras los conflictos crecen entre sus compañeros, Miguel, llevado por su inquebrantable optimismo, comenzará a idear un arriesgado plan de fuga.", + "duracion" => "133 min", + "director" => "Alejandro Amenábar", + "reparto" => ["Julio Peña Fernández", "Alessandro Borghi", "Miguel Rellán", "Fernando Tejero"], + "calificacion" => "+12", + "genero" => "Drama", + "trailer" => "https://www.youtube.com/watch?v=Zy4GBAoS7l4", + "valoracion" => 8.7, + "imagenes_extra" => [ + "https://s3.ppllstatics.com/rc/www/multimedia/2025/09/11/el-cautivo-kY6D-U2302902285787q1C-1200x840@RC.jpg", + "https://www.cameraandlightmag.com/wp-content/uploads/2025/06/EL-CAUTIVO-A.Amenabar-Julio-Pena-Roberto-Alamo-LuciaFaraig-MG_0785-1.jpg", + "https://imagenes.20minutos.es/files/image_1920_1080/uploads/imagenes/2025/09/11/68c2dd147a5cd.jpeg", + "https://hips.hearstapps.com/vidthumb/images/mg-0096-68c2c855cc0db.jpg?crop=0.9997037037037038xw:1xh;center,top&resize=1200:*" + ] + ], + [ + "nombre" => "Expediente Warren: El Último Rito", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8672.jpg", + "horarios" => ["14:00", "18:00", "22:00"], + "sinopsis" => "El siguiente capítulo en la historia de Ed y Lorraine Warren.", + "duracion" => "135 min", + "director" => " Michael Chaves", + "reparto" => ["Patrick Wilson", "Vera Farmiga", "Mia Tomlinson", "Ben Hardy"], + "calificacion" => "+16", + "genero" => "Terrot", + "trailer" => "https://www.youtube.com/watch?v=CtFXWuYKnp8", + "valoracion" => 7.2, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra/warren1.jpg", + "https://www.ocinemagic.es/images/extra/warren2.jpg", + "https://www.ocinemagic.es/images/extra/warren3.jpg", + "https://www.ocinemagic.es/images/extra/warren4.jpg" + ] + ], + [ + "nombre" => "F1 La Pelicula", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8260.jpg", + "horarios" => ["16:30", "20:30"], + "sinopsis" => "Apodado 'el más grande que nunca existió', Sonny Hayes fue el fenómeno más prometedor de la FORMULA 1 en la década de 1990 hasta que un accidente en la pista casi acaba con su carrera. Treinta años después, es un piloto de alquiler nómada cuando se le acerca su antiguo compañero de equipo Rubén Cervantes, propietario de un equipo de Fórmula 1 en apuros que está al borde del colapso. Rubén convence a Sonny para que regrese a la Fórmula 1 y tenga una última oportunidad de salvar el equipo y ser el mejor del mundo. Pilotará junto a Joshua Pearce, el novato del equipo que quiere marcar su propio ritmo. Pero a medida que rugen los motores, el pasado de Sonny le atrapa y descubre que en la FÓRMULA 1, tu compañero de equipo es tu competencia más feroz, y que el camino hacia la redención no es algo que puedas recorrer solo.", + "duracion" => "155 min", + "director" => "Joseph Kosinski", + "reparto" => ["Brad Pitt", "Javier Bardem", "Damson Idris", "Kerry Condon"], + "calificacion" => "+12", + "genero" => "Drama", + "trailer" => "https://www.youtube.com/watch?v=kVrqfYjkTdQ", + "valoracion" => 8.4, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra/f1_1.jpg", + "https://www.ocinemagic.es/images/extra/f1_2.jpg", + "https://www.ocinemagic.es/images/extra/f1_3.jpg", + "https://www.ocinemagic.es/images/extra/f1_4.jpg" + ] + ], + [ + "nombre" => "Guardianes de la Noche", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8705.jpg", + "horarios" => ["15:00", "19:00", "22:30"], + "sinopsis" => "La serie 'Guardianes de la Noche', también conocida como Kimetsu no Yaiba, sigue la historia de Tanjiro Kamado, un joven que se convierte en cazador de demonios después de que su familia es asesinada y su hermana Nezuko es convertida en demonio. La trama se desarrolla en el Japón de la era Taisho y se centra en la lucha de Tanjiro para proteger a la humanidad y encontrar una cura para Nezuko.", + "duracion" => "155 min", + "director" => "Haruo Sotozaki", + "reparto" => " ", + "calificacion" => "+16", + "genero" => "Animación Anim", + "trailer" => "https://www.youtube.com/watch?v=X3E4zogzWsY", + "valoracion" => 9.1, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra/guardianes1.jpg", + "https://www.ocinemagic.es/images/extra/guardianes2.jpg", + "https://www.ocinemagic.es/images/extra/guardianes3.jpg", + "https://www.ocinemagic.es/images/extra/guardianes4.jpg" + ] + ], + [ + "nombre" => "Avatar: El sentido del agua", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8918.jpg", + "horarios" => ["17:00", "20:00", "23:00"], + "sinopsis" => "Jake Sully y Neytiri luchan por proteger su hogar en Pandora frente a nuevas amenazas.", + "duracion" => "192 ", + "director" => "James Cameron", + "reparto" => ["Sam Worthington", "Zoe Saldana", "Sigourney Weaver"], + "calificacion" => "+13", + "genero" => "Ciencia ficción / Aventuras", + "trailer" => "https://www.youtube.com/watch?v=FSyWAxUg3Go", + "valoracion" => 8.5, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra1_avatar2.jpg", + "https://www.ocinemagic.es/images/extra2_avatar2.jpg" + ] + ], + [ + "nombre" => "Dora: Aventuras Mágicas", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8991.jpg", + "horarios" => ["10:30", "13:30", "16:30"], + "sinopsis" => "Dora se embarca en un viaje mágico para rescatar a sus amigos y descubrir tesoros escondidos.", + "duracion" => "95 min", + "director" => "James Bobin", + "reparto" => ["Isabela Moner", "Michael Peña", "Eva Longoria"], + "calificacion" => "Apta", + "genero" => "Animación / Infantil", + "trailer" => "https://www.youtube.com/watch?v=VR3VzzKTIe0", + "valoracion" => 6.0, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra1_dora.jpg", + "https://www.ocinemagic.es/images/extra2_dora.jpg" + ] + ], + [ + "nombre" => "La Sospecha de Sofía", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8962.jpg", + "horarios" => ["19:00", "21:30"], + "sinopsis" => "Sofía se ve envuelta en un misterio que amenaza con revelar secretos ocultos de su familia.", + "duracion" => "110 min", + "director" => "Juan Pérez", + "reparto" => ["Ana de Armas", "Javier Gutiérrez"], + "calificacion" => "+12", + "genero" => "Thriller", + "trailer" => "https://www.youtube.com/watch?v=5c0d82QtKiw", + "valoracion" => 7.0, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra1_sofia.jpg", + "https://www.ocinemagic.es/images/extra2_sofia.jpg" + ] + ], + [ + "nombre" => "Los 4 Fantásticos", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8590.jpg", + "horarios" => ["18:00", "21:00"], + "sinopsis" => "Un grupo de jóvenes adquiere superpoderes y debe enfrentarse a villanos que amenazan al mundo.", + "duracion" => "130 min", + "director" => "Josh Trank", + "reparto" => ["Miles Teller", "Michael B. Jordan", "Kate Mara", "Jamie Bell"], + "calificacion" => "+13", + "genero" => "Superhéroes / Acción", + "trailer" => "https://www.youtube.com/watch?v=-c3DOvZ2uNY", + "valoracion" => 5.5, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra1_4fantasticos.jpg", + "https://www.ocinemagic.es/images/extra2_4fantasticos.jpg" + ] + ], + [ + "nombre" => "Los Tipos Malos 2", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8826.jpg", + "horarios" => ["12:00", "15:00", "18:00"], + "sinopsis" => "Los villanos se enfrentan a nuevas aventuras y desafíos en su intento de redimirse.", + "duracion" => "105 min", + "director" => "Pierre Coffin", + "reparto" => ["Pierre Coffin", "Steve Carell", "Kristen Wiig"], + "calificacion" => "Apta", + "genero" => "Animación / Comedia", + "trailer" => "https://www.youtube.com/watch?v=PnUcgVUuYjs", + "valoracion" => 7.1, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra1_malostipos2.jpg", + "https://www.ocinemagic.es/images/extra2_malostipos2.jpg" + ] + ], + [ + "nombre" => "Maleficio: La Regla de Osha", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8964.jpg", + "horarios" => ["20:00", "22:30"], + "sinopsis" => "Un antiguo mal amenaza con despertar y solo Osha puede detenerlo siguiendo la regla prohibida.", + "duracion" => "120 min", + "director" => "Luis Ortega", + "reparto" => ["Maribel Verdú", "Álvaro Morte"], + "calificacion" => "+16", + "genero" => "Terror / Suspense", + "trailer" => "https://www.youtube.com/watch?v=q4i58tRRYLQ", + "valoracion" => 6.5, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra1_maleficio.jpg", + "https://www.ocinemagic.es/images/extra2_maleficio.jpg" + ] + ], + [ + "nombre" => "Maspalomas", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8925.jpg", + "horarios" => ["14:00", "17:00", "20:00"], + "sinopsis" => "Un grupo de amigos vive aventuras inesperadas en las playas de Maspalomas durante el verano.", + "duracion" => "100 min", + "director" => "Carlos Saura", + "reparto" => ["Antonio Banderas", "Penélope Cruz"], + "calificacion" => "+7", + "genero" => "Comedia / Aventura", + "trailer" => "https://www.youtube.com/watch?v=04IgH93jsWw", + "valoracion" => 6.8, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra1_maspalomas.jpg", + "https://www.ocinemagic.es/images/extra2_maspalomas.jpg" + ] + ], + [ + "nombre" => "Un Gran Viaje Atrevido y Maravilloso", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8893.jpg", + "horarios" => ["11:00", "14:00", "17:00"], + "sinopsis" => "Una emocionante aventura donde un grupo de amigos se embarca en un viaje lleno de sorpresas y maravillas.", + "duracion" => "115 min", + "director" => "Fernando Trueba", + "reparto" => ["Javier Cámara", "Candela Peña"], + "calificacion" => "Apta", + "genero" => "Aventura / Familiar", + "trailer" => "https://www.youtube.com/watch?v=QuOH2kRMU1Q", + "valoracion" => 7.5, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra1_viaje.jpg", + "https://www.ocinemagic.es/images/extra2_viaje.jpg" + ] + ], + [ + "nombre" => "Sin Cobertura", + "imagen" => "https://www.ocinemagic.es//images/pelicules/8768.jpg", + "horarios" => ["17:30", "20:30", "23:00"], + "sinopsis" => "Una comedia dramática española donde un grupo de amigos intenta sobrevivir a la vida moderna sin perder la conexión entre ellos.", + "duracion" => "105 min", + "director" => "Juan García", + "reparto" => ["María León", "Javier Gutiérrez", "Aura Garrido"], + "calificacion" => "+12", + "genero" => "Comedia / Drama", + "trailer" => "https://www.youtube.com/watch?v=oxymkDDPgCc", + "valoracion" => 7.0, + "imagenes_extra" => [ + "https://www.ocinemagic.es/images/extra1_sincobertura.jpg", + "https://www.ocinemagic.es/images/extra2_sincobertura.jpg" + ] + ], +]; + +?> diff --git a/practicas/pp3/trailer.php b/practicas/pp3/trailer.php new file mode 100644 index 00000000..e9fe4b3a --- /dev/null +++ b/practicas/pp3/trailer.php @@ -0,0 +1,108 @@ + + + + + + + + + + <?= htmlspecialchars($pelicula['nombre'], ENT_QUOTES); ?> - Tráiler + + + + + + + + +
+

Tráiler -

+
+ + +
+ + +
+ + + +
+ + Volver a la cartelera +
+ + + + + diff --git a/practicas/pp4/tienda/data/assets/logo-mercadona.jpg b/practicas/pp4/tienda/data/assets/logo-mercadona.jpg new file mode 100644 index 00000000..e69de29b diff --git a/practicas/pp4/tienda/data/index.php b/practicas/pp4/tienda/data/index.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/pp4/tienda/data/inicio.php b/practicas/pp4/tienda/data/inicio.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/pp4/tienda/data/productos.php b/practicas/pp4/tienda/data/productos.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/pp4/tienda/include/footer.php b/practicas/pp4/tienda/include/footer.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/pp4/tienda/include/funciones.php b/practicas/pp4/tienda/include/funciones.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/pp4/tienda/include/header.php b/practicas/pp4/tienda/include/header.php new file mode 100644 index 00000000..e69de29b From ebb9cca14297d0c21cdb5788c0deec86f037b401 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 6 Oct 2025 15:41:02 +0000 Subject: [PATCH 08/22] Teoria de Formularios --- .../Teoria Arrays 260925/asociativos.php | 32 ++++++++++++++ .../Teoria Arrays 260925/multidimensional.php | 38 +++++++++++++++++ .../listas/Teoria Arrays 260925/simples.php | 0 teoria/listas/parametrosURL/pag1.php | 13 ++++++ teoria/listas/parametrosURL/pag2.php | 26 ++++++++++++ teoria/reto2/login.php | 42 +++++++++++++++++++ teoria/sesion310/fromularios/formularios.php | 24 +++++++++++ teoria/sesion310/funciones.php | 33 +++++++++++++++ teoria/sesion310/index.html | 13 ++++++ 9 files changed, 221 insertions(+) create mode 100644 teoria/listas/Teoria Arrays 260925/asociativos.php create mode 100644 teoria/listas/Teoria Arrays 260925/multidimensional.php create mode 100644 teoria/listas/Teoria Arrays 260925/simples.php create mode 100644 teoria/listas/parametrosURL/pag1.php create mode 100644 teoria/listas/parametrosURL/pag2.php create mode 100644 teoria/reto2/login.php create mode 100644 teoria/sesion310/fromularios/formularios.php create mode 100644 teoria/sesion310/funciones.php create mode 100644 teoria/sesion310/index.html diff --git a/teoria/listas/Teoria Arrays 260925/asociativos.php b/teoria/listas/Teoria Arrays 260925/asociativos.php new file mode 100644 index 00000000..839e5915 --- /dev/null +++ b/teoria/listas/Teoria Arrays 260925/asociativos.php @@ -0,0 +1,32 @@ + 'Juan', + 'apellido' => 'Pérez', + 'edad' => 21, + 'curso' => 'DAW2', + 'inteligente' => TRUE, +]; + +//echo $alumno; +//var_dump($alumno); + +//print_r($alumno); + +echo $alumno['nombre']; +echo $alumno['edad']; +echo $alumno['inteligente']; + + +//añadir un elemento +$alumno['email'] = 'juan.perez@example.com'; +echo '

'; +print_r($alumno); + +//recorrer con foreach + +foreach($alumno as $clave => $valor){ + echo '

$clave: $valor

'; +} + +?> diff --git a/teoria/listas/Teoria Arrays 260925/multidimensional.php b/teoria/listas/Teoria Arrays 260925/multidimensional.php new file mode 100644 index 00000000..cf2cbd8a --- /dev/null +++ b/teoria/listas/Teoria Arrays 260925/multidimensional.php @@ -0,0 +1,38 @@ + 'Juan', + 'apellido' => 'Pérez', + 'edad' => 21, + 'curso' => 'DAW2', + 'inteligente' => TRUE, + ], + [ + 'nombre' => 'Juan', + 'apellido' => 'Pérez', + 'edad' => 21, + 'curso' => 'DAW2', + 'inteligente' => TRUE, + ], + [ + 'nombre' => 'Juan', + 'apellido' => 'Pérez', + 'edad' => 21, + 'curso' => 'DAW2', + 'inteligente' => TRUE, + ], +]; + +//echo $alumno; +//var_dump($alumno); + +//print_r($alumno); + +foreach($alumnos as $alumno){ + echo "

{$alumno['nombre']} {$alumno['apellido']}

"; +} + +?> \ No newline at end of file diff --git a/teoria/listas/Teoria Arrays 260925/simples.php b/teoria/listas/Teoria Arrays 260925/simples.php new file mode 100644 index 00000000..e69de29b diff --git a/teoria/listas/parametrosURL/pag1.php b/teoria/listas/parametrosURL/pag1.php new file mode 100644 index 00000000..5c486f3e --- /dev/null +++ b/teoria/listas/parametrosURL/pag1.php @@ -0,0 +1,13 @@ + + + + + + p1 + + +

Pagina para enviar datos

+ + + + \ No newline at end of file diff --git a/teoria/listas/parametrosURL/pag2.php b/teoria/listas/parametrosURL/pag2.php new file mode 100644 index 00000000..3616ff42 --- /dev/null +++ b/teoria/listas/parametrosURL/pag2.php @@ -0,0 +1,26 @@ + + + + + + p2 + + +

Esta es la pagina 2

+ '; + echo $_GET['edat']; + + //isset: lo usamos para comprobar que existe un parametro con ese nombre + if(isset($_GET['nom'])){ + + $n = $_GET['nom']; + echo $n; + } + else{ + echo 'no existe el parametro nombre'; + } + ?> + + \ No newline at end of file diff --git a/teoria/reto2/login.php b/teoria/reto2/login.php new file mode 100644 index 00000000..584b32dc --- /dev/null +++ b/teoria/reto2/login.php @@ -0,0 +1,42 @@ + + + + + + Document + + +
+ + + + +
+ + +
+ + + + +
+ + + '; + echo $_GET['nombre']; + echo '
'; + echo $_GET['contraseña']; + + //ahora envio con post + echo '
'; + echo $_POST['nombre']; + echo '
'; + echo $_POST['contraseña']; + ?> + + \ No newline at end of file diff --git a/teoria/sesion310/fromularios/formularios.php b/teoria/sesion310/fromularios/formularios.php new file mode 100644 index 00000000..5f2c9701 --- /dev/null +++ b/teoria/sesion310/fromularios/formularios.php @@ -0,0 +1,24 @@ + + + + + + Document + + +
+ ////action a donde lo enviamos y method get o post + + + +
+ + //recoger datos en el formulario + + + \ No newline at end of file diff --git a/teoria/sesion310/funciones.php b/teoria/sesion310/funciones.php new file mode 100644 index 00000000..77bfaf5a --- /dev/null +++ b/teoria/sesion310/funciones.php @@ -0,0 +1,33 @@ + \ No newline at end of file diff --git a/teoria/sesion310/index.html b/teoria/sesion310/index.html new file mode 100644 index 00000000..a2d3fb1e --- /dev/null +++ b/teoria/sesion310/index.html @@ -0,0 +1,13 @@ + + + + + + Document + + +
+ +
+ + \ No newline at end of file From c8345df98a12e9bf122d223b37d906d261de23e8 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Fri, 17 Oct 2025 16:31:07 +0000 Subject: [PATCH 09/22] =?UTF-8?q?A=C3=B1adir=20archivos=20y=20funcionalida?= =?UTF-8?q?d=20para=20la=20tienda=20online,=20incluyendo=20productos,=20fo?= =?UTF-8?q?rmularios=20y=20manejo=20de=20sesiones.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +- .../{data => }/assets/logo-mercadona.jpg | 0 practicas/pp4/tienda/data/inicio.php | 0 practicas/pp4/tienda/data/productos.php | 102 ++++++++++++++++ practicas/pp4/tienda/include/footer.php | 6 + practicas/pp4/tienda/include/header.php | 111 ++++++++++++++++++ practicas/pp4/tienda/{data => }/index.php | 0 practicas/pp4/tienda/inicio.php | 46 ++++++++ teoria/mini-wp/data.php | 40 +++++++ teoria/mini-wp/form.php | 83 +++++++++++++ teoria/mini-wp/inc/footer.php | 4 + teoria/mini-wp/inc/header.php | 21 ++++ teoria/mini-wp/index.php | 37 ++++++ teoria/mini-wp/styles/index.css | 6 + teoria/reto3/estilos.css | 92 +++++++++++++++ teoria/reto3/header.php | 20 ++++ teoria/reto3/index.php | 47 ++++++++ teoria/reto3/login.php | 54 +++++++++ teoria/reto3/logout.php | 5 + teoria/reto3/personajes.php | 35 ++++++ teoria/sessiones/index.php | 11 ++ teoria/sessiones/index2.php | 7 ++ teoria/sessiones/logout.php | 12 ++ 23 files changed, 741 insertions(+), 1 deletion(-) rename practicas/pp4/tienda/{data => }/assets/logo-mercadona.jpg (100%) delete mode 100644 practicas/pp4/tienda/data/inicio.php rename practicas/pp4/tienda/{data => }/index.php (100%) create mode 100644 practicas/pp4/tienda/inicio.php create mode 100644 teoria/mini-wp/data.php create mode 100644 teoria/mini-wp/form.php create mode 100644 teoria/mini-wp/inc/footer.php create mode 100644 teoria/mini-wp/inc/header.php create mode 100644 teoria/mini-wp/index.php create mode 100644 teoria/mini-wp/styles/index.css create mode 100644 teoria/reto3/estilos.css create mode 100644 teoria/reto3/header.php create mode 100644 teoria/reto3/index.php create mode 100644 teoria/reto3/login.php create mode 100644 teoria/reto3/logout.php create mode 100644 teoria/reto3/personajes.php create mode 100644 teoria/sessiones/index.php create mode 100644 teoria/sessiones/index2.php create mode 100644 teoria/sessiones/logout.php diff --git a/README.md b/README.md index 46e2e3c5..ecb16e3a 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,8 @@ Some things to try: - Press F5 to launch the app in the container. - Once the breakpoint is hit, try hovering over variables, examining locals, and more. 1. **Running a server:** - - From the terminal, run `php -S 0.0.0.0:8000` + -php -S 0.0.0.0:8000 From the terminal, run ``php -S 0.0.0.0:8000 +` - Click "Open in Browser" in the notification that appears to access the web app on this new port. - You can view an organized table of your forwarded ports in the 'Ports' view, which can be accessed with the command **Ports: Focus on Ports View**. - Notice port 8000 in the 'Ports' view is labeled "Hello Remote World." In `devcontainer.json`, you can set `"portsAttributes"`, such as a label for your forwarded ports and the action to be taken when the port is autoforwarded. diff --git a/practicas/pp4/tienda/data/assets/logo-mercadona.jpg b/practicas/pp4/tienda/assets/logo-mercadona.jpg similarity index 100% rename from practicas/pp4/tienda/data/assets/logo-mercadona.jpg rename to practicas/pp4/tienda/assets/logo-mercadona.jpg diff --git a/practicas/pp4/tienda/data/inicio.php b/practicas/pp4/tienda/data/inicio.php deleted file mode 100644 index e69de29b..00000000 diff --git a/practicas/pp4/tienda/data/productos.php b/practicas/pp4/tienda/data/productos.php index e69de29b..ce1881c0 100644 --- a/practicas/pp4/tienda/data/productos.php +++ b/practicas/pp4/tienda/data/productos.php @@ -0,0 +1,102 @@ + 'manzana', + + // 'precio' se define como número (tipo float) y no como texto. + // Esto es importante porque luego lo formatearemos con number_format() + // dentro de la tabla de productos. + 'precio' => 0.75, + + // 'disponible' indica si el producto está en stock. + // Usamos un valor booleano true/false, no texto. + // Posteriormente, en generarTablaProductos(), usaremos un operador ternario + // para mostrar “En stock” o “Agotado” en función de este valor. + 'disponible' => true, + + // 'descripcion' da información adicional del producto. + // Este campo fue agregado como tarea adicional para ampliar la práctica. + // Se mostrará en una columna extra de la tabla, ayudando a ver cómo se manejan cadenas. + 'descripcion' => 'Manzana roja, paquete 1kg' + ], + + [ + 'nombre' => 'pan', + 'precio' => 1.20, + 'disponible' => true, + 'descripcion' => 'Pan integral artesanal 500g' + ], + + [ + 'nombre' => 'leche', + 'precio' => 0.95, + // En este caso marcamos “false” para simular un producto agotado. + // Esto nos servirá para probar el formato condicional: + // en la tabla, esa fila se mostrará en color rojo. + 'disponible' => false, + 'descripcion' => 'Leche semi-desnatada 1L' + ], + + [ + 'nombre' => 'cafe', + 'precio' => 3.50, + 'disponible' => true, + 'descripcion' => 'Café molido 250g' + ], + + [ + 'nombre' => 'huevos', + 'precio' => 2.30, + 'disponible' => false, + 'descripcion' => 'Docena de huevos tamaño M' + ], +]; + +// +// Cómo se conecta con lo que ya hicimos: +// - En index.php, después de recibir los datos del formulario, incluimos este archivo con: +// require_once __DIR__ . '/data/productos.php'; +// Eso carga este array en memoria y deja disponible la variable $productos. +// - Luego, la función generarTablaProductos($productos) (definida en includes/funciones.php) +// recorrerá este array con un bucle foreach para generar una tabla HTML. +// +// Cómo se usará después: +// - En la tabla, la función utilizará ucfirst() sobre 'nombre' para capitalizarlo, +// y number_format() sobre 'precio' para mostrarlo con dos decimales. +// - También usará un operador ternario sobre 'disponible' para decidir el texto “En stock” o “Agotado”, +// aplicando un color rojo a la fila cuando esté agotado. +// - La 'descripcion' se mostrará como una columna extra, cumpliendo la tarea adicional. +// +// Orden lógico en la práctica completa: +// inicio.php → recoge datos del usuario +// index.php → recibe datos, carga productos y funciones +// productos.php → proporciona los datos +// funciones.php → transforma los datos en HTML (tabla y contacto) +// header/footer → dan estructura visual consistente +// + diff --git a/practicas/pp4/tienda/include/footer.php b/practicas/pp4/tienda/include/footer.php index e69de29b..afdb4d28 100644 --- a/practicas/pp4/tienda/include/footer.php +++ b/practicas/pp4/tienda/include/footer.php @@ -0,0 +1,6 @@ + +
+ © Tienda Mercadona. Todos los derechos reservados. +
diff --git a/practicas/pp4/tienda/include/header.php b/practicas/pp4/tienda/include/header.php index e69de29b..716ffd0d 100644 --- a/practicas/pp4/tienda/include/header.php +++ b/practicas/pp4/tienda/include/header.php @@ -0,0 +1,111 @@ + devuelve true si la variable está definida. +// trim($nombre) -> elimina los espacios en blanco al inicio y al final de la cadena. +// +// Por qué usamos trim(): +// - Un usuario podría escribir solo espacios (" ") en el formulario. Sin trim, eso contaría como texto. +// - trim() limpia espacios, tabulaciones o saltos de línea al inicio y final, +// permitiendo detectar realmente si el campo está vacío. +// - No modifica los espacios internos (entre palabras). +// +// Usamos trim en este punto antes de escapar o validar, porque necesitamos asegurarnos +// de que el valor no sea "vacío visualmente". Si hiciéramos el escape antes, +// escaparíamos incluso espacios innecesarios. +// +// Si el nombre pasa la validación, lo guardamos en $displayNombre aplicando htmlspecialchars() +// para que sea seguro imprimirlo en HTML más adelante. +if (isset($nombre) && trim($nombre) !== '') { + // htmlspecialchars convierte caracteres especiales (<, >, &, ", ') + // en entidades HTML seguras. Evita ataques XSS o inyección de código en el navegador. + // ENT_QUOTES: convierte comillas simples y dobles. + // 'UTF-8': define la codificación (coincide con la de la página). + // false: evita el doble escape si la cadena ya fue escapada en otro lugar. + $displayNombre = htmlspecialchars($nombre, ENT_QUOTES, 'UTF-8', false); +} + +// ------------------------------------------------------------- +// 3) Procesado de la foto ($foto) +// ------------------------------------------------------------- +// Validamos que haya una URL válida antes de mostrar la imagen. +// isset($foto) -> comprueba que la variable exista. +// filter_var($foto, FILTER_VALIDATE_URL) -> valida que el valor tenga formato de URL. +// Si la URL es válida, también la escapamos con htmlspecialchars() para imprimirla en el HTML. +if (isset($foto) && filter_var($foto, FILTER_VALIDATE_URL)) { + $displayFoto = htmlspecialchars($foto, ENT_QUOTES, 'UTF-8', false); +} + +// ------------------------------------------------------------- +// 4) Renderizado del header (HTML) +// ------------------------------------------------------------- +?> +
+ + Logo + +
+ + +
Bienvenido,
+ + +
Bienvenido a la tienda
+ +
+ + + + Foto de perfil + +
+ + → > +// & → & +// " → " +// ' → ' +// - Esto evita que un valor enviado por el usuario (por ejemplo un script) +// se ejecute en el navegador. +// +// trim() +// - Elimina espacios en blanco, tabulaciones y saltos de línea +// al inicio y final de una cadena. Ejemplo: +// trim(" Juan ") → "Juan" +// - Previene falsos positivos de campos "vacíos" (solo espacios). +// - Es útil en validaciones de formularios, especialmente antes de comprobar si una cadena está vacía. +// +// Orden lógico: +// 1) trim() -> limpiar valor recibido de caracteres inútiles. +// 2) Validar formato (isset, filter_var). +// 3) Escapar con htmlspecialchars() justo antes de imprimir en HTML. +// Transformar ciertos caracteres especiales en una representación +// segura para que no sean interpretados como código, sino mostrados como texto literal en la página. +// +// Este orden garantiza: +// - Los datos están limpios (sin espacios sobrantes). +// - Son válidos (cumplen formato). +// - Son seguros de mostrar. diff --git a/practicas/pp4/tienda/data/index.php b/practicas/pp4/tienda/index.php similarity index 100% rename from practicas/pp4/tienda/data/index.php rename to practicas/pp4/tienda/index.php diff --git a/practicas/pp4/tienda/inicio.php b/practicas/pp4/tienda/inicio.php new file mode 100644 index 00000000..87bf1642 --- /dev/null +++ b/practicas/pp4/tienda/inicio.php @@ -0,0 +1,46 @@ + + + + + + Inicio - Tienda + + +

Bienvenido a la tienda

+ + +
+

+ +

+ +

+ + +
+ + + + \ No newline at end of file diff --git a/teoria/mini-wp/data.php b/teoria/mini-wp/data.php new file mode 100644 index 00000000..1e951e9d --- /dev/null +++ b/teoria/mini-wp/data.php @@ -0,0 +1,40 @@ + 'Noticia 1', + 'contenido' => 'Contenido de la noticia 1', + 'fecha' => '2024-10-01', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Tecnología' + ], + [ + 'titulo' => 'Noticia 2', + 'contenido' => 'Contenido de la noticia 2', + 'fecha' => '2024-10-02', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Salud' + ], + [ + 'titulo' => 'Noticia 3', + 'contenido' => 'Contenido de la noticia 3', + 'fecha' => '2024-10-03', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Deportes' + ], + [ + 'titulo' => 'Noticia 4', + 'contenido' => 'Contenido de la noticia 4', + 'fecha' => '2024-10-04', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Cultura' + ], + [ + 'titulo' => 'Noticia 5', + 'contenido' => 'Contenido de la noticia 5', + 'fecha' => '2024-10-05', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Economía' + ] +]; +// Fin del archivo data.php \ No newline at end of file diff --git a/teoria/mini-wp/form.php b/teoria/mini-wp/form.php new file mode 100644 index 00000000..aba9f6df --- /dev/null +++ b/teoria/mini-wp/form.php @@ -0,0 +1,83 @@ + $titulo, + 'contenido' => $contenido, + 'fecha' => $fecha, + 'imagen' => $imagen, + 'categoria' => $categoria + ]); + + //mensaje de exito + echo "

Noticia añadida correctamente

"; + }else{ + //mensaje de error + echo "

Error al añadir la noticia. Todos los campos son obligatorios.

"; + } +}else{ + //mensaje de error + echo "

Error al añadir la noticia. El formulario no se ha enviado correctamente.

"; } + +//fin del if del formulario + +//Ahora agrego el formulario html +?> +
+

+ +

+ +

+ +

+ +

+ + +
+Noticias actuales:"; +//muestro las noticias actuales +foreach($noticias as $noticia){ + echo "
"; + echo "

" . htmlspecialchars($noticia['titulo']) . "

"; + echo "

" . htmlspecialchars($noticia['fecha']) . " | " . htmlspecialchars($noticia['categoria']) . "

"; + echo "" . htmlspecialchars($noticia["; + echo "

" . nl2br(htmlspecialchars($noticia['contenido'])) . "

"; + echo "
"; +} +//fin del foreach + + \ No newline at end of file diff --git a/teoria/mini-wp/inc/footer.php b/teoria/mini-wp/inc/footer.php new file mode 100644 index 00000000..22abe6a4 --- /dev/null +++ b/teoria/mini-wp/inc/footer.php @@ -0,0 +1,4 @@ +
+
+

Desarrolado por Carolina Gonzalez a

+
\ No newline at end of file diff --git a/teoria/mini-wp/inc/header.php b/teoria/mini-wp/inc/header.php new file mode 100644 index 00000000..41d23c5f --- /dev/null +++ b/teoria/mini-wp/inc/header.php @@ -0,0 +1,21 @@ + + + + + + mini-wp + + + + +
Mini WordPress con Array Multidimensional + +
+ \ No newline at end of file diff --git a/teoria/mini-wp/index.php b/teoria/mini-wp/index.php new file mode 100644 index 00000000..22c9a03f --- /dev/null +++ b/teoria/mini-wp/index.php @@ -0,0 +1,37 @@ + + + + + + mini-wp + + + + + + +
+ +
+ "; + echo "

" . htmlspecialchars($noticia['titulo']) . "

"; + echo "

" . htmlspecialchars($noticia['fecha']) . " | " . htmlspecialchars($noticia['categoria']) . "

"; + echo "" . htmlspecialchars($noticia["; + echo "

" . nl2br(htmlspecialchars($noticia['contenido'])) . "

"; + echo ""; + } + ?> +
+
+ + + + \ No newline at end of file diff --git a/teoria/mini-wp/styles/index.css b/teoria/mini-wp/styles/index.css new file mode 100644 index 00000000..81697748 --- /dev/null +++ b/teoria/mini-wp/styles/index.css @@ -0,0 +1,6 @@ +body{ + font-family: Arial, Helvetica, sans-serif; + margin: 0; + padding: 0; + background-color: #428082; +} \ No newline at end of file diff --git a/teoria/reto3/estilos.css b/teoria/reto3/estilos.css new file mode 100644 index 00000000..bf5d7186 --- /dev/null +++ b/teoria/reto3/estilos.css @@ -0,0 +1,92 @@ +body { + font-family: Arial, sans-serif; + background-color: #f0f2f5; + margin: 0; + padding: 0; +} + +header { + background-color: #4a90e2; + color: white; + padding: 15px 20px; + display: flex; + justify-content: space-between; + align-items: center; +} + +header h2 { + margin: 0; + font-size: 1.5em; +} + +header nav a { + color: white; + text-decoration: none; + margin: 0 10px; + font-weight: bold; +} + +header nav a:hover { + text-decoration: underline; +} + +.container { + max-width: 500px; + margin: 50px auto; + background-color: white; + padding: 30px; + border-radius: 12px; + box-shadow: 0 5px 15px rgba(0,0,0,0.1); +} + +form input[type="text"], +form input[type="password"] { + width: 100%; + padding: 10px; + margin-bottom: 15px; + border-radius: 6px; + border: 1px solid #ccc; + font-size: 1em; +} + +form input[type="submit"] { + background-color: #4a90e2; + color: white; + padding: 10px 15px; + border: none; + border-radius: 6px; + cursor: pointer; + font-size: 1em; +} + +form input[type="submit"]:hover { + background-color: #357ab8; +} + +.error { + color: red; + margin-bottom: 15px; +} + +.personaje { + color: #4a90e2; + font-weight: bold; + font-size: 1.2em; +} + +.logout-icon { + color: white; + text-decoration: none; + font-size: 1.2em; + margin-left: 10px; +} + +.logout-icon:hover { + color: #ffd1d1; +} + +.personaje img { + max-width: 100%; + border-radius: 10px; + margin-top: 10px; +} diff --git a/teoria/reto3/header.php b/teoria/reto3/header.php new file mode 100644 index 00000000..97b35c0f --- /dev/null +++ b/teoria/reto3/header.php @@ -0,0 +1,20 @@ + + +
+

Mi sitio de personajes

+ + +
+ + Bienvenido, + 🔒 + +
+
diff --git a/teoria/reto3/index.php b/teoria/reto3/index.php new file mode 100644 index 00000000..421e7893 --- /dev/null +++ b/teoria/reto3/index.php @@ -0,0 +1,47 @@ + trim($_POST['nombre']), + 'habilidad' => trim($_POST['habilidad']), + 'imagen' => trim($_POST['imagen']) + ]; +} +?> + + + + + + Elegir personaje + + + + + +
+

Hola 👋

+ +

Introduce los datos de tu personaje favorito:

+
+ + + + +
+ + +

Ya ingresaste tu personaje. Puedes verlo en la página Personajes.

+ +
+ + + diff --git a/teoria/reto3/login.php b/teoria/reto3/login.php new file mode 100644 index 00000000..0d689dd7 --- /dev/null +++ b/teoria/reto3/login.php @@ -0,0 +1,54 @@ + + + + + + + Login + + + + +
+

Bienvenido al sitio de personajes

+
+ +
+

Iniciar Sesión

+ +
+ + + +
+ + $error

"; ?> +
+ + + + + diff --git a/teoria/reto3/logout.php b/teoria/reto3/logout.php new file mode 100644 index 00000000..4a0934bd --- /dev/null +++ b/teoria/reto3/logout.php @@ -0,0 +1,5 @@ + + + + + + + Personaje elegido + + + + + +
+

Tu personaje favorito:

+

Nombre:

+

Habilidad:

+ + + Imagen del personaje + +
+ + + diff --git a/teoria/sessiones/index.php b/teoria/sessiones/index.php new file mode 100644 index 00000000..24ea9971 --- /dev/null +++ b/teoria/sessiones/index.php @@ -0,0 +1,11 @@ +'; +echo "Usuario: ".$_SESSION['user']; +echo "
Role: ".$_SESSION['role']; + diff --git a/teoria/sessiones/index2.php b/teoria/sessiones/index2.php new file mode 100644 index 00000000..601fef58 --- /dev/null +++ b/teoria/sessiones/index2.php @@ -0,0 +1,7 @@ +'; +echo "Usuario: ".$_SESSION['user']; +echo "
Role: ".$_SESSION['role']; diff --git a/teoria/sessiones/logout.php b/teoria/sessiones/logout.php new file mode 100644 index 00000000..6823068f --- /dev/null +++ b/teoria/sessiones/logout.php @@ -0,0 +1,12 @@ + \ No newline at end of file From 499692ca58a54fcdad48701a354f999ad3674592 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 27 Oct 2025 15:43:23 +0000 Subject: [PATCH 10/22] Add initial structure and functionality for Mini WordPress and character management system - Created essential PHP files for the Mini WordPress project including functions, header, footer, index, and form handling. - Implemented session management to store and display news articles. - Developed a dynamic header and footer for consistent navigation across pages. - Added CSS styles for improved UI/UX. - Established a character management system with login functionality, character selection, and session handling. - Included error handling and validation for user inputs in forms. - Created a responsive layout using Bootstrap for better accessibility on various devices. --- practicas/Proyecto 1 Escape Room/config.php | 0 practicas/Proyecto 1 Escape Room/estilos.css | 0 practicas/Proyecto 1 Escape Room/finish.php | 0 .../Proyecto 1 Escape Room/functions.php | 0 practicas/Proyecto 1 Escape Room/header.php | 0 practicas/Proyecto 1 Escape Room/index.php | 0 practicas/Proyecto 1 Escape Room/room.php | 0 practicas/Proyecto 1 Escape Room/uploads | 0 practicas/mini-wp2/README.TXT | 7 + practicas/mini-wp2/data.php | 49 ++++ practicas/mini-wp2/form.php | 114 ++++++++++ practicas/mini-wp2/inc/footer.php | 15 ++ practicas/mini-wp2/inc/header.php | 32 +++ practicas/mini-wp2/index.php | 107 +++++++++ practicas/mini-wp2/styles/index.css | 153 +++++++++++++ practicas/pp4/tienda/include/header.php | 113 ++------- .../pp5 crud personajes/add_edit_book.php | 56 +++++ practicas/pp5 crud personajes/css/style.css | 215 ++++++++++++++++++ practicas/pp5 crud personajes/delete_book.php | 0 practicas/pp5 crud personajes/functions.php | 37 +++ practicas/pp5 crud personajes/home.php | 113 +++++++++ practicas/pp5 crud personajes/index.php | 0 practicas/pp5 crud personajes/login.php | 67 ++++++ practicas/pp5 crud personajes/logout.php | 0 .../{reto3 => reto3 - personajes}/estilos.css | 0 .../{reto3 => reto3 - personajes}/header.php | 0 .../{reto3 => reto3 - personajes}/index.php | 0 .../{reto3 => reto3 - personajes}/login.php | 0 .../{reto3 => reto3 - personajes}/logout.php | 0 .../personajes.php | 0 30 files changed, 980 insertions(+), 98 deletions(-) create mode 100644 practicas/Proyecto 1 Escape Room/config.php create mode 100644 practicas/Proyecto 1 Escape Room/estilos.css create mode 100644 practicas/Proyecto 1 Escape Room/finish.php create mode 100644 practicas/Proyecto 1 Escape Room/functions.php create mode 100644 practicas/Proyecto 1 Escape Room/header.php create mode 100644 practicas/Proyecto 1 Escape Room/index.php create mode 100644 practicas/Proyecto 1 Escape Room/room.php create mode 100644 practicas/Proyecto 1 Escape Room/uploads create mode 100644 practicas/mini-wp2/README.TXT create mode 100644 practicas/mini-wp2/data.php create mode 100644 practicas/mini-wp2/form.php create mode 100644 practicas/mini-wp2/inc/footer.php create mode 100644 practicas/mini-wp2/inc/header.php create mode 100644 practicas/mini-wp2/index.php create mode 100644 practicas/mini-wp2/styles/index.css create mode 100644 practicas/pp5 crud personajes/add_edit_book.php create mode 100644 practicas/pp5 crud personajes/css/style.css create mode 100644 practicas/pp5 crud personajes/delete_book.php create mode 100644 practicas/pp5 crud personajes/functions.php create mode 100644 practicas/pp5 crud personajes/home.php create mode 100644 practicas/pp5 crud personajes/index.php create mode 100644 practicas/pp5 crud personajes/login.php create mode 100644 practicas/pp5 crud personajes/logout.php rename teoria/{reto3 => reto3 - personajes}/estilos.css (100%) rename teoria/{reto3 => reto3 - personajes}/header.php (100%) rename teoria/{reto3 => reto3 - personajes}/index.php (100%) rename teoria/{reto3 => reto3 - personajes}/login.php (100%) rename teoria/{reto3 => reto3 - personajes}/logout.php (100%) rename teoria/{reto3 => reto3 - personajes}/personajes.php (100%) diff --git a/practicas/Proyecto 1 Escape Room/config.php b/practicas/Proyecto 1 Escape Room/config.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/Proyecto 1 Escape Room/estilos.css b/practicas/Proyecto 1 Escape Room/estilos.css new file mode 100644 index 00000000..e69de29b diff --git a/practicas/Proyecto 1 Escape Room/finish.php b/practicas/Proyecto 1 Escape Room/finish.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/Proyecto 1 Escape Room/functions.php b/practicas/Proyecto 1 Escape Room/functions.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/Proyecto 1 Escape Room/header.php b/practicas/Proyecto 1 Escape Room/header.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/Proyecto 1 Escape Room/index.php b/practicas/Proyecto 1 Escape Room/index.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/Proyecto 1 Escape Room/room.php b/practicas/Proyecto 1 Escape Room/room.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/Proyecto 1 Escape Room/uploads b/practicas/Proyecto 1 Escape Room/uploads new file mode 100644 index 00000000..e69de29b diff --git a/practicas/mini-wp2/README.TXT b/practicas/mini-wp2/README.TXT new file mode 100644 index 00000000..f0029287 --- /dev/null +++ b/practicas/mini-wp2/README.TXT @@ -0,0 +1,7 @@ +Primera pagina: formulario para iniciar session login.php +si pasa, nos llevara a index.php +y de ahi nos tiene que saludar desde un personajes.php +y no mostrara un formulario que nos pedira nuestro personaje favorita + +y en otra pagina se tendrá que ver el personaje y para cerrar sesion logout.php +header.php, el header.php debe aparecer en index.php y y en personajes.php, ese header sera dinamico diff --git a/practicas/mini-wp2/data.php b/practicas/mini-wp2/data.php new file mode 100644 index 00000000..a4ff04b4 --- /dev/null +++ b/practicas/mini-wp2/data.php @@ -0,0 +1,49 @@ + 'Noticia 1', + 'contenido' => 'Contenido de la noticia 1', + 'fecha' => '2024-10-01', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Tecnología' + ], + [ + 'titulo' => 'Noticia 2', + 'contenido' => 'Contenido de la noticia 2', + 'fecha' => '2024-10-02', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Salud' + ], + [ + 'titulo' => 'Noticia 3', + 'contenido' => 'Contenido de la noticia 3', + 'fecha' => '2024-10-03', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Deportes' + ], + [ + 'titulo' => 'Noticia 4', + 'contenido' => 'Contenido de la noticia 4', + 'fecha' => '2024-10-04', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Cultura' + ], + [ + 'titulo' => 'Noticia 5', + 'contenido' => 'Contenido de la noticia 5', + 'fecha' => '2024-10-05', + 'imagen' => 'https://via.placeholder.com/150', + 'categoria' => 'Economía' + ] + ]; +} + +// Fin de data.php +?> diff --git a/practicas/mini-wp2/form.php b/practicas/mini-wp2/form.php new file mode 100644 index 00000000..f8e287d5 --- /dev/null +++ b/practicas/mini-wp2/form.php @@ -0,0 +1,114 @@ + $titulo, + 'contenido' => $contenido, + 'fecha' => $fecha, + 'imagen' => $imagen, + 'categoria' => $categoria + ]; + + // ------------------------------ + // 5. MOSTRAMOS MENSAJE DE ÉXITO + $mensaje = "

Noticia añadida correctamente.

"; + + } else { + // ------------------------------ + // 6. MENSAJE DE ERROR SI ALGÚN CAMPO ESTÁ VACÍO + $mensaje = "

Error: Todos los campos son obligatorios.

"; + } +} +// Fin del bloque POST +?> + +, , el menú y el inicio del +include 'inc/header.php'; +?> + +
+

Añadir nueva noticia

+ + + + + +
+ +

+ + +

+ + +

+ + +

+ + +

+ + + +
+ + +

Volver a la lista de noticias

+
+ + y cierra y +include 'inc/footer.php'; +?> diff --git a/practicas/mini-wp2/inc/footer.php b/practicas/mini-wp2/inc/footer.php new file mode 100644 index 00000000..4b645165 --- /dev/null +++ b/practicas/mini-wp2/inc/footer.php @@ -0,0 +1,15 @@ + + +
+ + +
+ +

Desarrollado por Carolina Gonzalez ©

+
+ + + diff --git a/practicas/mini-wp2/inc/header.php b/practicas/mini-wp2/inc/header.php new file mode 100644 index 00000000..4898ddc9 --- /dev/null +++ b/practicas/mini-wp2/inc/header.php @@ -0,0 +1,32 @@ +, enlace a CSS y el menú de navegación +?> + + + + + + + + + Mini WordPress + + + + + + +
+ +

Mini WordPress con Array Multidimensional

+ + + +
diff --git a/practicas/mini-wp2/index.php b/practicas/mini-wp2/index.php new file mode 100644 index 00000000..30058226 --- /dev/null +++ b/practicas/mini-wp2/index.php @@ -0,0 +1,107 @@ +Noticia eliminada correctamente.

"; + } +} +?> + +, , y el menú de navegación +include 'inc/header.php'; +?> + +
+

Noticias actuales

+ + + + + + $noticia): ?> + + + + +

Añadir nueva noticia

+
+ + y cierra y +include 'inc/footer.php'; +?> diff --git a/practicas/mini-wp2/styles/index.css b/practicas/mini-wp2/styles/index.css new file mode 100644 index 00000000..53b3f90b --- /dev/null +++ b/practicas/mini-wp2/styles/index.css @@ -0,0 +1,153 @@ +/* ------------------------------ + ESTILOS GENERALES DEL BODY +--------------------------------*/ +body { + font-family: 'Arial', Helvetica, sans-serif; /* Tipografía clara y legible */ + margin: 0; + padding: 0; + background-color: #f4f4f9; /* Fondo suave, más agradable que un color fuerte */ + color: #333; /* Color de texto principal */ +} + +/* ------------------------------ + ENCABEZADO +--------------------------------*/ +header { + background-color: #428082; /* Azul verdoso */ + color: white; + padding: 20px 40px; + text-align: center; + box-shadow: 0 2px 5px rgba(0,0,0,0.2); +} + +header h1 { + margin: 0; + font-size: 2em; +} + +header nav ul { + list-style: none; + padding: 0; + margin: 10px 0 0 0; + display: flex; + justify-content: center; /* Centrar los enlaces del menú */ + gap: 20px; +} + +header nav a { + text-decoration: none; + color: white; + font-weight: bold; +} + +header nav a:hover { + text-decoration: underline; +} + +/* ------------------------------ + FOOTER +--------------------------------*/ +footer { + background-color: #2c5d5b; + color: white; + text-align: center; + padding: 15px; + margin-top: 40px; +} + +/* ------------------------------ + MAIN +--------------------------------*/ +main { + max-width: 1000px; /* Limita el ancho del contenido para mejor lectura */ + margin: 20px auto; + padding: 0 20px; +} + +/* ------------------------------ + FORMULARIO +--------------------------------*/ +form { + background-color: #fff; + padding: 20px; + border-radius: 12px; + box-shadow: 0 4px 10px rgba(0,0,0,0.1); +} + +form label { + display: block; + font-weight: bold; + margin-bottom: 5px; +} + +form input[type="text"], +form input[type="date"], +form input[type="url"], +form textarea { + width: 100%; + padding: 8px; + margin-bottom: 15px; + border-radius: 6px; + border: 1px solid #ccc; + font-size: 1em; +} + +form button { + background-color: #428082; + color: white; + border: none; + padding: 10px 20px; + font-size: 1em; + border-radius: 8px; + cursor: pointer; + transition: background-color 0.3s ease; +} + +form button:hover { + background-color: #2c5d5b; +} + +/* ------------------------------ + ARTÍCULOS / NOTICIAS +--------------------------------*/ +article { + background-color: white; + margin: 20px 0; + padding: 20px; + border-radius: 12px; + box-shadow: 0 4px 15px rgba(0,0,0,0.1); +} + +article h3 { + margin-top: 0; + color: #428082; +} + +article img { + max-width: 100%; + height: auto; + border-radius: 8px; + margin: 10px 0; +} + +article a { + color: #e74c3c; /* Rojo para el enlace de eliminar */ + font-weight: bold; + text-decoration: none; +} + +article a:hover { + text-decoration: underline; +} + +/* ------------------------------ + ENLACES GENERALES +--------------------------------*/ +a { + color: #428082; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} diff --git a/practicas/pp4/tienda/include/header.php b/practicas/pp4/tienda/include/header.php index 716ffd0d..91ec40af 100644 --- a/practicas/pp4/tienda/include/header.php +++ b/practicas/pp4/tienda/include/header.php @@ -1,111 +1,28 @@ devuelve true si la variable está definida. -// trim($nombre) -> elimina los espacios en blanco al inicio y al final de la cadena. -// -// Por qué usamos trim(): -// - Un usuario podría escribir solo espacios (" ") en el formulario. Sin trim, eso contaría como texto. -// - trim() limpia espacios, tabulaciones o saltos de línea al inicio y final, -// permitiendo detectar realmente si el campo está vacío. -// - No modifica los espacios internos (entre palabras). -// -// Usamos trim en este punto antes de escapar o validar, porque necesitamos asegurarnos -// de que el valor no sea "vacío visualmente". Si hiciéramos el escape antes, -// escaparíamos incluso espacios innecesarios. -// -// Si el nombre pasa la validación, lo guardamos en $displayNombre aplicando htmlspecialchars() -// para que sea seguro imprimirlo en HTML más adelante. if (isset($nombre) && trim($nombre) !== '') { - // htmlspecialchars convierte caracteres especiales (<, >, &, ", ') - // en entidades HTML seguras. Evita ataques XSS o inyección de código en el navegador. - // ENT_QUOTES: convierte comillas simples y dobles. - // 'UTF-8': define la codificación (coincide con la de la página). - // false: evita el doble escape si la cadena ya fue escapada en otro lugar. - $displayNombre = htmlspecialchars($nombre, ENT_QUOTES, 'UTF-8', false); + $displayNombre = htmlspecialchars(trim($nombre), ENT_QUOTES, 'UTF-8', false); } - -// ------------------------------------------------------------- -// 3) Procesado de la foto ($foto) -// ------------------------------------------------------------- -// Validamos que haya una URL válida antes de mostrar la imagen. -// isset($foto) -> comprueba que la variable exista. -// filter_var($foto, FILTER_VALIDATE_URL) -> valida que el valor tenga formato de URL. -// Si la URL es válida, también la escapamos con htmlspecialchars() para imprimirla en el HTML. if (isset($foto) && filter_var($foto, FILTER_VALIDATE_URL)) { $displayFoto = htmlspecialchars($foto, ENT_QUOTES, 'UTF-8', false); } - -// ------------------------------------------------------------- -// 4) Renderizado del header (HTML) -// ------------------------------------------------------------- ?> -
- - Logo -
- - -
Bienvenido,
- - -
Bienvenido a la tienda
- -
+ - - → > -// & → & -// " → " -// ' → ' -// - Esto evita que un valor enviado por el usuario (por ejemplo un script) -// se ejecute en el navegador. -// -// trim() -// - Elimina espacios en blanco, tabulaciones y saltos de línea -// al inicio y final de una cadena. Ejemplo: -// trim(" Juan ") → "Juan" -// - Previene falsos positivos de campos "vacíos" (solo espacios). -// - Es útil en validaciones de formularios, especialmente antes de comprobar si una cadena está vacía. -// -// Orden lógico: -// 1) trim() -> limpiar valor recibido de caracteres inútiles. -// 2) Validar formato (isset, filter_var). -// 3) Escapar con htmlspecialchars() justo antes de imprimir en HTML. -// Transformar ciertos caracteres especiales en una representación -// segura para que no sean interpretados como código, sino mostrados como texto literal en la página. -// -// Este orden garantiza: -// - Los datos están limpios (sin espacios sobrantes). -// - Son válidos (cumplen formato). -// - Son seguros de mostrar. diff --git a/practicas/pp5 crud personajes/add_edit_book.php b/practicas/pp5 crud personajes/add_edit_book.php new file mode 100644 index 00000000..7e0ba3d7 --- /dev/null +++ b/practicas/pp5 crud personajes/add_edit_book.php @@ -0,0 +1,56 @@ + + + + + + Biblioteca Virtual + + + + + +
+
+
+

👋 Bienvenido, NOMBRE DE USUARIO

+

ROL ADMIN O ROL LECTOR???

+
+ + Volver a la Biblioteca + +
+
+ +
+
+

+

+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp5 crud personajes/css/style.css b/practicas/pp5 crud personajes/css/style.css new file mode 100644 index 00000000..3fe8c230 --- /dev/null +++ b/practicas/pp5 crud personajes/css/style.css @@ -0,0 +1,215 @@ +@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap'); +* +{ + margin: 0; + padding: 0; + box-sizing: border-box; + +} +body +{ + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + background: #000; +} +section +{ + position: absolute; + width: 100vw; + height: 100vh; + display: flex; + justify-content: center; + align-items: center; + gap: 2px; + flex-wrap: wrap; + overflow: hidden; +} +section::before +{ + content: ''; + position: absolute; + width: 100%; + height: 100%; + background: linear-gradient(#000,#daa520,#000); + animation: animate 5s linear infinite; +} +@keyframes animate +{ + 0% + { + transform: translateY(-100%); + } + 100% + { + transform: translateY(100%); + } +} +section span +{ + position: relative; + display: block; + width: calc(6.25vw - 2px); + height: calc(6.25vw - 2px); + background: #181818; + z-index: 2; + transition: 1.5s; +} +section span:hover +{ + background: #daa520; + transition: 0s; +} + +section .signin +{ + position: absolute; + width: 400px; + background: #222; + z-index: 1000; + display: flex; + justify-content: center; + align-items: center; + padding: 40px; + border-radius: 4px; + box-shadow: 0 15px 35px rgba(0,0,0,9); +} +section .signin .content +{ + position: relative; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + gap: 40px; +} +section .signin .content h2 +{ + font-size: 2em; + color: #daa520; + text-transform: uppercase; +} +section .signin .content .form +{ + width: 100%; + display: flex; + flex-direction: column; + gap: 25px; +} +section .signin .content .form .inputBox +{ + position: relative; + width: 100%; +} +section .signin .content .form .inputBox input +{ + position: relative; + width: 100%; + background: #333; + border: none; + outline: none; + padding: 25px 10px 7.5px; + border-radius: 10px; + color: #fff; + font-weight: 500; + font-size: 1em; +} +.inputBox input { + + border: none; + border-radius: 8px; + background: #333; +} +section .signin .content .form .inputBox i +{ + position: absolute; + left: 0; + padding: 15px 10px; + font-style: normal; + color: #aaa; + transition: 0.5s; + pointer-events: none; +} +.signin .content .form .inputBox input:focus ~ i, +.signin .content .form .inputBox input:valid ~ i +{ + transform: translateY(-7.5px); + font-size: 0.8em; + color: #fff; +} +.signin .content .form .links +{ + position: relative; + width: 100%; + display: flex; + justify-content: space-between; +} +.signin .content .form .links a +{ + color: #fff; + text-decoration: none; +} +.signin .content .form .links a:nth-child(2) +{ + color: #daa520; + font-weight: 600; +} +.signin .content .form .inputBox input[type="submit"] +{ + padding: 10px; + background: #daa520; + color: #000; + font-weight: 600; + font-size: 1.35em; + letter-spacing: 0.05em; + cursor: pointer; +} +input[type="submit"]:active +{ + opacity: 0.6; +} +@media (max-width: 900px) +{ + section span + { + width: calc(10vw - 2px); + height: calc(10vw - 2px); + } +} +@media (max-width: 600px) +{ + section span + { + width: calc(20vw - 2px); + height: calc(20vw - 2px); + } +} + +style.css +Mostrando add_edit_book.php. +Pràctica 5. Biblioteca virtual +Albert Arrebola Sans +• +24 oct (Última modificación: 24 oct) +100 puntos + +Pràctica 5. Biblioteca virtual +Documentos de Google + +home.php +PHP + +delete_book.php +PHP + +login.php +PHP + +style.css +CSS + +add_edit_book.php +HTML +Comentarios de la clase diff --git a/practicas/pp5 crud personajes/delete_book.php b/practicas/pp5 crud personajes/delete_book.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/pp5 crud personajes/functions.php b/practicas/pp5 crud personajes/functions.php new file mode 100644 index 00000000..d9e18c30 --- /dev/null +++ b/practicas/pp5 crud personajes/functions.php @@ -0,0 +1,37 @@ + 'Mario', + 'descripcion' => 'Un fontanero italiano que vive en el Reino Champiñón.', + 'imagen' => 'mario.png' + ], + [ + 'nombre' => 'Link', + 'descripcion' => 'El héroe del tiempo de la serie The Legend of Zelda.', + 'imagen' => 'link.png' + ] + ]; + + //Ahora $_SESSION['personajes'] contiene 2 personajesPERSONAJES'] CONTIENE: + // $_SESSION['personajes'][0] -> Primer personaje (Mario) + // $_SESSION['personajes'][1] -> Segundo personaje (Link) +} + +//FIN INICIALIZACION DE DATOS + +//FUNCION PARA AÑADIR PERSONAJE + +function agregarPersonaje($nombre, $img, $poder, $descripcion){ + +} \ No newline at end of file diff --git a/practicas/pp5 crud personajes/home.php b/practicas/pp5 crud personajes/home.php new file mode 100644 index 00000000..22904d5b --- /dev/null +++ b/practicas/pp5 crud personajes/home.php @@ -0,0 +1,113 @@ + + + + + + + Biblioteca Virtual - Home + + + + + + +
+
+
+ Foto de perfil +
+

👋 Bienvenido, AQUÍ VA EL USUARIO!

+ +

Admin ✏️

+ +

Lector 📚

+ +
+
+ + Cerrar sesión ❌ + +
+
+ +
+
+

Biblioteca Virtual

+

Disfruta explorando nuestra colección de libros

+
+ + + + + + + +
+ +
+
+ +
+
TITULO
+

Autor: AUTOR

+

DESCRIPCIÓN

+
+ + + + +
+
+ +
+
+ + + + +home.php +Mostrando add_edit_book.php. +Pràctica 5. Biblioteca virtual +Albert Arrebola Sans +• +24 oct (Última modificación: 24 oct) +100 puntos + +Pràctica 5. Biblioteca virtual +Documentos de Google + +home.php +PHP + +delete_book.php +PHP + +login.php +PHP + +style.css +CSS + +add_edit_book.php +HTML +Comentarios de la clase diff --git a/practicas/pp5 crud personajes/index.php b/practicas/pp5 crud personajes/index.php new file mode 100644 index 00000000..e69de29b diff --git a/practicas/pp5 crud personajes/login.php b/practicas/pp5 crud personajes/login.php new file mode 100644 index 00000000..f668a7a0 --- /dev/null +++ b/practicas/pp5 crud personajes/login.php @@ -0,0 +1,67 @@ + "admin", "password" => "adminpass", "role" => "admin"], + ["username" => "reader", "password" => "readerpass", "role" => "lector"] +]; + +// Procesamiento del formulario. + + + // Validación de credenciales. + + + +?> + + + + + + + Biblioteca Virtual - Login + + + + +
+ + + + + + + +
+ + + + + \ No newline at end of file diff --git a/practicas/pp5 crud personajes/logout.php b/practicas/pp5 crud personajes/logout.php new file mode 100644 index 00000000..e69de29b diff --git a/teoria/reto3/estilos.css b/teoria/reto3 - personajes/estilos.css similarity index 100% rename from teoria/reto3/estilos.css rename to teoria/reto3 - personajes/estilos.css diff --git a/teoria/reto3/header.php b/teoria/reto3 - personajes/header.php similarity index 100% rename from teoria/reto3/header.php rename to teoria/reto3 - personajes/header.php diff --git a/teoria/reto3/index.php b/teoria/reto3 - personajes/index.php similarity index 100% rename from teoria/reto3/index.php rename to teoria/reto3 - personajes/index.php diff --git a/teoria/reto3/login.php b/teoria/reto3 - personajes/login.php similarity index 100% rename from teoria/reto3/login.php rename to teoria/reto3 - personajes/login.php diff --git a/teoria/reto3/logout.php b/teoria/reto3 - personajes/logout.php similarity index 100% rename from teoria/reto3/logout.php rename to teoria/reto3 - personajes/logout.php diff --git a/teoria/reto3/personajes.php b/teoria/reto3 - personajes/personajes.php similarity index 100% rename from teoria/reto3/personajes.php rename to teoria/reto3 - personajes/personajes.php From ce559c0c3d5f32c76a3b10b7e14357bfd2bac051 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Fri, 7 Nov 2025 14:24:52 +0000 Subject: [PATCH 11/22] Mercadona --- .../pp4/tienda/assets/logo-mercadona.jpg | 0 .../pp4/tienda/assets/logo_mercadona.jpg | Bin 0 -> 9691 bytes practicas/pp4/tienda/data/notas.txt | 3 + practicas/pp4/tienda/data/productos.php | 2 +- practicas/pp4/tienda/include/funciones.php | 0 practicas/pp4/tienda/include/header.php | 28 -- .../tienda/{include => includes}/footer.php | 0 practicas/pp4/tienda/includes/funciones.php | 406 ++++++++++++++++++ practicas/pp4/tienda/includes/header.php | 133 ++++++ practicas/pp4/tienda/index.php | 310 +++++++++++++ practicas/pp4/tienda/inicio.php | 190 ++++++-- .../pp5 crud personajes/add_edit_book.php | 2 +- practicas/pp5 crud personajes/css/style.css | 26 -- practicas/pp5 crud personajes/functions.php | 64 ++- practicas/pp5 crud personajes/home.php | 25 -- practicas/pp5 crud personajes/index.php | 47 ++ practicas/pp5 crud personajes/login.php | 2 +- 17 files changed, 1114 insertions(+), 124 deletions(-) delete mode 100644 practicas/pp4/tienda/assets/logo-mercadona.jpg create mode 100644 practicas/pp4/tienda/assets/logo_mercadona.jpg create mode 100644 practicas/pp4/tienda/data/notas.txt delete mode 100644 practicas/pp4/tienda/include/funciones.php delete mode 100644 practicas/pp4/tienda/include/header.php rename practicas/pp4/tienda/{include => includes}/footer.php (100%) create mode 100644 practicas/pp4/tienda/includes/funciones.php create mode 100644 practicas/pp4/tienda/includes/header.php diff --git a/practicas/pp4/tienda/assets/logo-mercadona.jpg b/practicas/pp4/tienda/assets/logo-mercadona.jpg deleted file mode 100644 index e69de29b..00000000 diff --git a/practicas/pp4/tienda/assets/logo_mercadona.jpg b/practicas/pp4/tienda/assets/logo_mercadona.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0073301de5d551788e3f276db46aff11afea2b3a GIT binary patch literal 9691 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

Q4VOR3ses z2Q8t05!Jd*LU;Dyg(mhC^viSrmk*fYDmt_EqiQm~3GWk!u~HwKaCJ3 z4Toty9(QDXAEs?Vl~_(~OtI~RjB@p?=~~r6Zu6AMv^o_HBQ(bf*0koi+}46cHRmxx zy}8*CgDSNMfApLVtB)I#*by^32S>wE9n5r%e|?GZWcBUWz-wSif<7j<*dAT(!fCoppLlJuI5MHeA@+_Gaj_tT`s4FBnG zZOot?-=0&SU4{Iz+`7Gc8}xC}y@{JQ@`!WmQL-^rTX}zJw|1usFy#y}x|~v&(D0kz z&|W^aF$7O3zR2*eyeE7Ds0OC7f!g=jlfOK#ztZsa_vOw069AP`h3>CTd3(@apFf3J zQSqaU*6vFR*qIOng~PCUj*)RHMVI?+ zXsWpE?7WPOE!1_x-5c=aLnlw z4+;y8l1g7C)n`s?8%3tKq(110x77Zf%)Z+G9Q2+o@K#D-Ra&4s^_Q{Po{Gp@yhdd4 zY=2?NT&7@Nc@p#X;*owEtZPjzBD~T^3QHQL4D?3`PMoo3g+HX;hQBYb-HbF*U(qx7 zF0D0#ZVVxGRLht-YOFgQH{qh*xHskHB_mrwdcqO6m3qu+ab|oxlylKbcx@)#4!$x` zutG_!6UR4Lv1n_pcp^mX2p4m&PKk~Uh8VN7_LyQthNvr1rLTWH0T>h9unm+FtO`)M zKKFZ^WYgwUA(|?Fm>IdztP^p;{RX|$vve6x;@P=)Yu>}~Cj=JI!=#UzZh!R%G4y6l zRhvLtf=G`%5~K*Uq%!%o0)ErRStYOgvAmewaL6k*JX&gSQU9CUxwcp2V!$X*aXavX z$B-eXP9NZ&{u(2Bt4aINPSn(Sd6eS`KrZ07c4a_1!MiB$j}{x6iY*gro&1Tr%-Wtt z!=vToLZ9y{E3`sMGQoy*+SPcO+1Ft1hMX&pNr|BNy@V6}Z2hjabi00&Y?lWQ@<6}+cJPb(6LI{(Rjq_kOV2WEyIsh0ayiBj zLzwvqfZRDvSuoht>DZwnSQlX2m8pTP$e)Yb>S!&}$`~O#@=vYzRc4+(%3vE6&2O+Wf1#PW!AR~!lv?XG{nlqpC}OAH-p&_w z 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 Gn*U!#zWc)f literal 0 HcmV?d00001 diff --git a/practicas/pp4/tienda/data/notas.txt b/practicas/pp4/tienda/data/notas.txt new file mode 100644 index 00000000..2d8c443d --- /dev/null +++ b/practicas/pp4/tienda/data/notas.txt @@ -0,0 +1,3 @@ +foto: + +https://media.licdn.com/dms/image/v2/D4D03AQHTZRjzO36pjg/profile-displayphoto-shrink_200_200/profile-displayphoto-shrink_200_200/0/1678238223269?e=2147483647&v=beta&t=oYX54R_gpHn7kGydlw3ii7hKPjzGEI4niTttM5Ym0Z4 \ No newline at end of file diff --git a/practicas/pp4/tienda/data/productos.php b/practicas/pp4/tienda/data/productos.php index ce1881c0..ba1a9fe1 100644 --- a/practicas/pp4/tienda/data/productos.php +++ b/practicas/pp4/tienda/data/productos.php @@ -15,7 +15,7 @@ // Definimos el array principal llamado $productos. // En PHP, los arrays pueden ser de tipo “asociativo”: en lugar de usar índices numéricos, -// usamos claves con nombres descriptivos ('nombre', 'precio', etc.). +// usamos claves con nombres descriptivos ('nombre', 'precio'). $productos = [ // --------------------------------------------------------- diff --git a/practicas/pp4/tienda/include/funciones.php b/practicas/pp4/tienda/include/funciones.php deleted file mode 100644 index e69de29b..00000000 diff --git a/practicas/pp4/tienda/include/header.php b/practicas/pp4/tienda/include/header.php deleted file mode 100644 index 91ec40af..00000000 --- a/practicas/pp4/tienda/include/header.php +++ /dev/null @@ -1,28 +0,0 @@ - - -

diff --git a/practicas/pp4/tienda/include/footer.php b/practicas/pp4/tienda/includes/footer.php similarity index 100% rename from practicas/pp4/tienda/include/footer.php rename to practicas/pp4/tienda/includes/footer.php diff --git a/practicas/pp4/tienda/includes/funciones.php b/practicas/pp4/tienda/includes/funciones.php new file mode 100644 index 00000000..c27d0137 --- /dev/null +++ b/practicas/pp4/tienda/includes/funciones.php @@ -0,0 +1,406 @@ + con sus datos + * 5. Se aplica formato condicional (rojo si está agotado) + * 6. Se cierra la tabla y se retorna todo el HTML generado + */ +function generarTablaProductos($productos) { + // ----------------------------------------------------------------------- + // PASO 1: Inicializar la variable que contendrá todo el HTML + // ----------------------------------------------------------------------- + // Usamos una variable string que iremos "acumulando" con el operador .= + // Esto es más eficiente que hacer múltiples "echo" y nos permite + // retornar todo el HTML de una vez para que quien llame a la función + // decida dónde y cuándo mostrarlo. + + $html = ''; // String vacío que iremos llenando + + // ----------------------------------------------------------------------- + // PASO 2: Construir el inicio de la tabla con clases de Bootstrap + // ----------------------------------------------------------------------- + // Bootstrap proporciona clases CSS para tablas bonitas y responsivas: + // - "table": estilo base de tabla + // - "table-striped": alterna colores en las filas (zebra) + // - "table-hover": efecto hover al pasar el ratón + // - "table-bordered": añade bordes a las celdas + + $html .= ''; + + // ----------------------------------------------------------------------- + // PASO 3: Crear el encabezado de la tabla () + // ----------------------------------------------------------------------- + // El thead contiene los nombres de las columnas. + // Usamos '; // table-dark: fondo oscuro para el header + $html .= ''; // = table row (fila) + $html .= ''; // Columna 1: nombre del producto + $html .= ''; // Columna 2: precio + $html .= ''; // Columna 3: stock + $html .= ''; // Columna 4: descripción adicional + $html .= ''; + $html .= ''; + + // ----------------------------------------------------------------------- + // PASO 4: Crear el cuerpo de la tabla () + // ----------------------------------------------------------------------- + // Aquí es donde irán todas las filas con los datos de los productos. + + $html .= ''; + + // ----------------------------------------------------------------------- + // PASO 5: Recorrer el array de productos con FOREACH + // ----------------------------------------------------------------------- + // CONCEPTO CLAVE - FOREACH: + // foreach es una estructura de control que recorre arrays. + // Sintaxis: foreach ($array as $elemento) + // En cada iteración, $elemento toma el valor del siguiente item del array. + // + // En nuestro caso: + // - $productos es el array completo que contiene todos los productos + // - $producto (singular) es la variable temporal que en cada vuelta del bucle + // contendrá UN producto específico (con sus keys: nombre, precio, etc.) + // + // ¿Por qué es útil? + // Porque no sabemos cuántos productos hay. Puede haber 5, 10 o 100. + // El foreach automáticamente se encarga de recorrerlos todos sin que + // tengamos que usar contadores o índices manuales. + + foreach ($productos as $producto) { + // En este punto, $producto contiene un array asociativo como: + // [ + // 'nombre' => 'manzana', + // 'precio' => 0.75, + // 'disponible' => true, + // 'descripcion' => 'Manzana roja, paquete 1kg' + // ] + + // ------------------------------------------------------------------- + // PASO 5.1: Determinar si la fila debe ser roja (producto agotado) + // ------------------------------------------------------------------- + // CONCEPTO: Operador ternario (condición ? si_verdadero : si_falso) + // Es una forma compacta de escribir un if-else en una sola línea. + // + // Equivalente en if-else tradicional: + // if (!$producto['disponible']) { + // $claseFilaRoja = 'table-danger'; + // } else { + // $claseFilaRoja = ''; + // } + // + // El operador ternario hace lo mismo pero es más conciso. + // Si el producto NO está disponible, asignamos la clase 'table-danger' + // (clase de Bootstrap que pinta la fila de rojo). + + $claseFilaRoja = !$producto['disponible'] ? 'table-danger' : ''; + + // ------------------------------------------------------------------- + // PASO 5.2: Formatear el nombre del producto + // ------------------------------------------------------------------- + // FUNCIÓN ucfirst(): convierte el primer carácter de un string en mayúscula + // + // ¿Por qué usar ucfirst()? + // En el array de productos guardamos los nombres en minúscula ('manzana') + // pero queremos mostrarlos con mayúscula inicial ('Manzana') en la tabla. + // Esto demuestra cómo podemos almacenar datos en un formato y mostrarlos + // en otro diferente. + + $nombreFormateado = ucfirst($producto['nombre']); + + // ------------------------------------------------------------------- + // PASO 5.3: Formatear el precio + // ------------------------------------------------------------------- + // FUNCIÓN number_format(): da formato a números con decimales + // Sintaxis: number_format(número, decimales, separador_decimal, separador_miles) + // + // En España usamos: + // - Coma (,) para separar decimales: 1,50 + // - Punto (.) para separar miles: 1.000 + // + // Ejemplos: + // 0.75 → "0,75 €" + // 1.2 → "1,20 €" (añade el cero para tener 2 decimales) + // 1000 → "1.000,00 €" + + $precioFormateado = number_format( + $producto['precio'], // El número a formatear + 2, // Queremos siempre 2 decimales + ',', // Separador de decimales (coma en España) + '.' // Separador de miles (punto en España) + ) . ' €'; // Añadimos el símbolo del euro + + // ------------------------------------------------------------------- + // PASO 5.4: Determinar el texto de disponibilidad + // ------------------------------------------------------------------- + // Otro uso del OPERADOR TERNARIO: + // Si $producto['disponible'] es true, mostramos "✅ En stock" + // Si es false, mostramos "❌ Agotado" + // + // Esto es más legible para el usuario que mostrar "true/false" + + $textoDisponibilidad = $producto['disponible'] + ? '✅ En stock' // Si es true + : '❌ Agotado'; // Si es false + + // ------------------------------------------------------------------- + // PASO 5.5: Obtener la descripción + // ------------------------------------------------------------------- + // Simplemente guardamos la descripción en una variable para usarla + // en el HTML de la tabla. + + $descripcion = $producto['descripcion']; + + // ------------------------------------------------------------------- + // PASO 5.6: Construir la fila con todas las celdas '; // Aplicamos clase roja si está agotado + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + } // Fin del foreach - vuelve al inicio para el siguiente producto + + // ----------------------------------------------------------------------- + // PASO 6: Cerrar el tbody y la tabla + // ----------------------------------------------------------------------- + + $html .= ''; + $html .= '
(table header) en lugar de (table data) para indicar + // que son encabezados, lo que tiene beneficios semánticos y de accesibilidad. + + $html .= '
ProductoPrecioDisponibilidadDescripción
+ // ------------------------------------------------------------------- + // Ahora que tenemos todos los datos formateados, + // construimos el HTML de la fila. + // + // NOTA sobre la sintaxis: + // Usamos .= para ir "acumulando" strings en la variable $html + // El operador .= es equivalente a: $html = $html . 'nuevo texto' + + $html .= '
' . $nombreFormateado . '' . $precioFormateado . '' . $textoDisponibilidad . '' . $descripcion . '
'; + + // ----------------------------------------------------------------------- + // PASO 7: Retornar el HTML completo + // ----------------------------------------------------------------------- + // La palabra clave "return" devuelve el valor al código que llamó a la función. + // En index.php haremos: echo generarTablaProductos($productos); + // y eso mostrará toda la tabla HTML que hemos construido aquí. + + return $html; +} + +/** + * FUNCIÓN 2: muestraInfoContacto + * + * PROPÓSITO: + * Genera un bloque HTML con la información de contacto del usuario + * (nombre, teléfono y foto de perfil) dentro de un modal de Bootstrap. + * + * @param string $nombre - Nombre del usuario + * @param string $telefono - Teléfono del usuario + * @param string $foto - URL de la foto de perfil + * + * CONCEPTOS APLICADOS: + * - Validación de datos con isset() y empty() + * - Alternancia entre modo PHP y modo HTML + * - Sintaxis corta de echo: + * + * FLUJO DE EJECUCIÓN: + * 1. Validar que los parámetros tengan valores válidos + * 2. Preparar los datos para mostrar + * 3. Salir del modo PHP y escribir HTML limpio + * 4. Insertar variables PHP en el HTML usando + * 5. Volver al modo PHP al finalizar + */ +function muestraInfoContacto($nombre, $telefono, $foto) { + // ----------------------------------------------------------------------- + // PASO 1: Validar los datos recibidos + // ----------------------------------------------------------------------- + // CONCEPTO: Programación defensiva + // Nunca debemos asumir que los datos que recibimos son correctos. + // Siempre validamos antes de usarlos. + // + // isset(): verifica si una variable está definida y no es null + // empty(): verifica si una variable está vacía (null, "", 0, false, []) + // + // Si algún dato crítico falta, mostramos un mensaje de error y salimos. + + if (!isset($nombre) || empty(trim($nombre))) { + echo '
No se proporcionó nombre de contacto.
'; + return; // Salimos de la función sin continuar + } + + // ----------------------------------------------------------------------- + // PASO 2: Limpiar los datos + // ----------------------------------------------------------------------- + // CONCEPTO: Limpieza básica de datos + // + // trim(): elimina espacios en blanco al inicio y final del string + // ¿Por qué? Porque el usuario podría haber escrito " Juan " con espacios + // extra que no queremos mostrar. + + $nombre = trim($nombre); + $telefono = trim($telefono); + + // ----------------------------------------------------------------------- + // PASO 3: Validar la foto + // ----------------------------------------------------------------------- + // Si no proporcionaron una foto o está vacía, usamos una imagen + // placeholder genérica de un servicio público que genera avatares. + + if (!isset($foto) || empty($foto)) { + // ui-avatars.com genera imágenes con las iniciales del nombre + // Es útil para tener siempre una imagen, aunque el usuario no suba una + $foto = 'https://ui-avatars.com/api/?name=' . urlencode($nombre); + } + + // ----------------------------------------------------------------------- + // PASO 4: Construir el HTML de la información de contacto + // ----------------------------------------------------------------------- + // CONCEPTO CLAVE: Alternar entre modo PHP y modo HTML + // + // ¿Por qué hacer esto? + // Cuando tenemos bloques grandes de HTML con pocas variables PHP, + // es mucho más cómodo y legible escribir el HTML directamente + // en lugar de usar echo con comillas y concatenaciones. + // + // VENTAJAS de esta técnica: + // 1. El HTML se ve como HTML real (con coloreado de sintaxis correcto) + // 2. No hay que escapar comillas dentro del HTML + // 3. No hay que concatenar con puntos (.) + // 4. Es más fácil de mantener y editar + // 5. Los editores de código pueden formatear el HTML automáticamente + + ?> + + + +
+
+
+ + + + + Foto de perfil + + +
+ +
+ +

+ + 📞 Teléfono: +

+
+
+
+
+ + ' . $variable . ''; + +// ============================================================================ \ No newline at end of file diff --git a/practicas/pp4/tienda/includes/header.php b/practicas/pp4/tienda/includes/header.php new file mode 100644 index 00000000..95c719fd --- /dev/null +++ b/practicas/pp4/tienda/includes/header.php @@ -0,0 +1,133 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/practicas/pp4/tienda/index.php b/practicas/pp4/tienda/index.php index e69de29b..a73e03b6 100644 --- a/practicas/pp4/tienda/index.php +++ b/practicas/pp4/tienda/index.php @@ -0,0 +1,310 @@ + + + + + + Mercadona - Productos + + + + + + 'Juan', +// 'telefono' => '612345678', +// 'foto' => 'https://ejemplo.com/foto.jpg' +// ] +// +// OPERADOR ?? (null coalescing): +// Es un operador moderno de PHP que significa "usa esto, o si no existe, usa aquello" +// Sintaxis: $variable = $valor ?? $valorPorDefecto +// +// Equivalente en if tradicional: +// if (isset($_POST['nombre'])) { +// $nombre = $_POST['nombre']; +// } else { +// $nombre = ''; +// } +// +// ¿Por qué usarlo? +// Porque si alguien accede directamente a index.php sin pasar por el formulario, +// $_POST['nombre'] no existirá y daría error. Con ??, obtenemos un valor vacío +// en su lugar, evitando el error. + +$nombre = $_POST['nombre'] ?? ''; // Si no existe, será string vacío +$telefono = $_POST['telefono'] ?? ''; // Ídem +$foto = $_POST['foto'] ?? ''; // Ídem + +// ---------------------------------------------------------------------------- +// PASO 2: Incluir el archivo de funciones +// ---------------------------------------------------------------------------- +// CONCEPTO: require_once +// +// require_once incluye y ejecuta el archivo especificado. +// "once" significa que PHP recordará que ya lo incluyó y no lo volverá a incluir +// aunque haya múltiples require_once del mismo archivo (evita duplicados). +// +// ¿Diferencia entre include, require, include_once, require_once? +// - include: incluye el archivo, pero si no existe, sólo muestra warning y continúa +// - require: incluye el archivo, pero si no existe, genera error fatal y se detiene +// - include_once / require_once: igual que los anteriores pero sólo una vez +// +// ¿Cuándo usar cada uno? +// - require_once: para archivos críticos (sin ellos no puede funcionar la app) +// - include_once: para archivos opcionales (como widgets) +// +// __DIR__: constante mágica de PHP que contiene la ruta del directorio actual +// Es mejor que usar rutas relativas simples porque funciona siempre, no importa +// desde dónde se ejecute el script. + +require_once __DIR__ . '/includes/funciones.php'; + +// Al ejecutar esta línea, PHP lee funciones.php y ahora tenemos disponibles: +// - generarTablaProductos() +// - muestraInfoContacto() + +// ---------------------------------------------------------------------------- +// PASO 3: Incluir el array de productos +// ---------------------------------------------------------------------------- +// Incluimos el archivo que define $productos +// Después de esta línea, tendremos la variable $productos disponible +// con todos los datos de los productos de la tienda. + +require_once __DIR__ . '/data/productos.php'; + +// Ahora $productos contiene: +// [ +// ['nombre' => 'manzana', 'precio' => 0.75, 'disponible' => true, ...], +// ['nombre' => 'pan', 'precio' => 1.20, 'disponible' => true, ...], +// ... +// ] + +// ---------------------------------------------------------------------------- +// PASO 4: Incluir el header +// ---------------------------------------------------------------------------- +// El header tiene acceso a las variables $nombre y $foto que definimos arriba +// porque PHP comparte el scope (ámbito) de las variables entre archivos incluidos. +// Por eso el header puede usarlas para mostrar el saludo personalizado. + +require_once __DIR__ . '/includes/header.php'; + +?> + + + + + + +
+ +
+

Productos disponibles

+
+ + + + + + +
+ +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/practicas/pp4/tienda/inicio.php b/practicas/pp4/tienda/inicio.php index 87bf1642..eb0f0412 100644 --- a/practicas/pp4/tienda/inicio.php +++ b/practicas/pp4/tienda/inicio.php @@ -3,44 +3,170 @@ - Inicio - Tienda + Inicio - Tienda Mercadona + -

Bienvenido a la tienda

- - + + + +
-

- -

- -

- - + + + + + + + + + + + + + +
- + + + + + \ No newline at end of file diff --git a/practicas/pp5 crud personajes/add_edit_book.php b/practicas/pp5 crud personajes/add_edit_book.php index 7e0ba3d7..9c8e52b9 100644 --- a/practicas/pp5 crud personajes/add_edit_book.php +++ b/practicas/pp5 crud personajes/add_edit_book.php @@ -12,7 +12,7 @@
-

👋 Bienvenido, NOMBRE DE USUARIO

+

Bienvenido, NOMBRE DE USUARIO

ROL ADMIN O ROL LECTOR???

diff --git a/practicas/pp5 crud personajes/css/style.css b/practicas/pp5 crud personajes/css/style.css index 3fe8c230..9eee7a55 100644 --- a/practicas/pp5 crud personajes/css/style.css +++ b/practicas/pp5 crud personajes/css/style.css @@ -186,30 +186,4 @@ input[type="submit"]:active height: calc(20vw - 2px); } } - -style.css -Mostrando add_edit_book.php. -Pràctica 5. Biblioteca virtual -Albert Arrebola Sans -• -24 oct (Última modificación: 24 oct) -100 puntos -Pràctica 5. Biblioteca virtual -Documentos de Google - -home.php -PHP - -delete_book.php -PHP - -login.php -PHP - -style.css -CSS - -add_edit_book.php -HTML -Comentarios de la clase diff --git a/practicas/pp5 crud personajes/functions.php b/practicas/pp5 crud personajes/functions.php index d9e18c30..e59c9cfc 100644 --- a/practicas/pp5 crud personajes/functions.php +++ b/practicas/pp5 crud personajes/functions.php @@ -11,16 +11,59 @@ //Cada personaje es también un array con sus propiedades $_SESSION['personajes'] = [ - [ - 'nombre' => 'Mario', - 'descripcion' => 'Un fontanero italiano que vive en el Reino Champiñón.', - 'imagen' => 'mario.png' - ], - [ - 'nombre' => 'Link', - 'descripcion' => 'El héroe del tiempo de la serie The Legend of Zelda.', - 'imagen' => 'link.png' - ] + $_SESSION['personajes'] = [ + [ + 'nombre' => 'Mario', + 'descripcion' => 'Un fontanero italiano que vive en el Reino Champiñón.', + 'imagen' => 'mario.png' + ], + [ + 'nombre' => 'Link', + 'descripcion' => 'El héroe del tiempo de la serie The Legend of Zelda.', + 'imagen' => 'link.png' + ], + [ + 'nombre' => 'Pikachu', + 'descripcion' => 'Un Pokémon eléctrico conocido por su energía y su poderoso ataque "impactrueno".', + 'imagen' => 'pikachu.png' + ], + [ + 'nombre' => 'Samus', + 'descripcion' => 'Cazadora espacial equipada con un traje de poder avanzado de la saga Metroid.', + 'imagen' => 'samus.png' + ], + [ + 'nombre' => 'Donkey Kong', + 'descripcion' => 'Un gorila fuerte y valiente, protector de su isla y amante de los plátanos.', + 'imagen' => 'donkeykong.png' + ], + [ + 'nombre' => 'Kirby', + 'descripcion' => 'Una pequeña criatura rosada con la habilidad de absorber enemigos y copiar sus poderes.', + 'imagen' => 'kirby.png' + ], + [ + 'nombre' => 'Fox McCloud', + 'descripcion' => 'Líder del escuadrón Star Fox, experto piloto de naves espaciales.', + 'imagen' => 'fox.png' + ], + [ + 'nombre' => 'Yoshi', + 'descripcion' => 'El dinosaurio verde amigo de Mario, conocido por su lengua larga y sus saltos.', + 'imagen' => 'yoshi.png' + ], + [ + 'nombre' => 'Peach', + 'descripcion' => 'La princesa del Reino Champiñón, amable y valiente, a menudo en el centro de las aventuras.', + 'imagen' => 'peach.png' + ], + [ + 'nombre' => 'Bowser', + 'descripcion' => 'El rey de los Koopas y principal rival de Mario, poderoso y temido.', + 'imagen' => 'bowser.png' + ] +]; + ]; //Ahora $_SESSION['personajes'] contiene 2 personajesPERSONAJES'] CONTIENE: @@ -34,4 +77,5 @@ function agregarPersonaje($nombre, $img, $poder, $descripcion){ + } \ No newline at end of file diff --git a/practicas/pp5 crud personajes/home.php b/practicas/pp5 crud personajes/home.php index 22904d5b..71bf71a4 100644 --- a/practicas/pp5 crud personajes/home.php +++ b/practicas/pp5 crud personajes/home.php @@ -85,29 +85,4 @@ -home.php -Mostrando add_edit_book.php. -Pràctica 5. Biblioteca virtual -Albert Arrebola Sans -• -24 oct (Última modificación: 24 oct) -100 puntos -Pràctica 5. Biblioteca virtual -Documentos de Google - -home.php -PHP - -delete_book.php -PHP - -login.php -PHP - -style.css -CSS - -add_edit_book.php -HTML -Comentarios de la clase diff --git a/practicas/pp5 crud personajes/index.php b/practicas/pp5 crud personajes/index.php index e69de29b..421e7893 100644 --- a/practicas/pp5 crud personajes/index.php +++ b/practicas/pp5 crud personajes/index.php @@ -0,0 +1,47 @@ + trim($_POST['nombre']), + 'habilidad' => trim($_POST['habilidad']), + 'imagen' => trim($_POST['imagen']) + ]; +} +?> + + + + + + Elegir personaje + + + + + + + + + diff --git a/practicas/pp5 crud personajes/login.php b/practicas/pp5 crud personajes/login.php index f668a7a0..13726b0e 100644 --- a/practicas/pp5 crud personajes/login.php +++ b/practicas/pp5 crud personajes/login.php @@ -64,4 +64,4 @@ - \ No newline at end of file + From b01e50e7c851322b8fa77ea6885c72a20a701e4c Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 10 Nov 2025 15:29:03 +0000 Subject: [PATCH 12/22] =?UTF-8?q?A=C3=B1adir=20funci=C3=B3n=20para=20agreg?= =?UTF-8?q?ar=20personajes=20a=20la=20sesi=C3=B3n=20con=20nombre,=20descri?= =?UTF-8?q?pci=C3=B3n=20e=20imagen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- practicas/pp5 crud personajes/functions.php | 18 +++++++++++++++++- proyecto-gestor-notas/index.php | 0 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 proyecto-gestor-notas/index.php diff --git a/practicas/pp5 crud personajes/functions.php b/practicas/pp5 crud personajes/functions.php index e59c9cfc..1ab49bdc 100644 --- a/practicas/pp5 crud personajes/functions.php +++ b/practicas/pp5 crud personajes/functions.php @@ -76,6 +76,22 @@ //FUNCION PARA AÑADIR PERSONAJE function agregarPersonaje($nombre, $img, $poder, $descripcion){ - + function agregarPersonaje($nombre, $descripcion, $imagen) { + // Verificar si la sesión de personajes existe; si no, crearla + if (!isset($_SESSION['personajes'])) { + $_SESSION['personajes'] = []; + } + + // Crear el nuevo personaje como un array asociativo + $nuevoPersonaje = [ + 'nombre' => $nombre, + 'descripcion' => $descripcion, + 'imagen' => $imagen + ]; + + // Agregar el nuevo personaje al final del array + $_SESSION['personajes'][] = $nuevoPersonaje; +} + } \ No newline at end of file diff --git a/proyecto-gestor-notas/index.php b/proyecto-gestor-notas/index.php new file mode 100644 index 00000000..e69de29b From 4ea6d95f94d59a02386aac64c8a48e5170d4d541 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:37:00 +0000 Subject: [PATCH 13/22] =?UTF-8?q?A=C3=B1adir=20archivo=20de=20configuraci?= =?UTF-8?q?=C3=B3n=20y=20establecer=20conexi=C3=B3n=20a=20la=20base=20de?= =?UTF-8?q?=20datos=20MySQL;=20crear=20archivo=20index.php=20con=20consult?= =?UTF-8?q?a=20a=20la=20tabla=20de=20usuarios.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .devcontainer/Dockerfile | 1 + proyecto-gestor-notas/config.php | 16 ++++++++++++++++ proyecto-gestor-notas/index.php | 22 ++++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 proyecto-gestor-notas/config.php diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index b847dc58..3c777a2e 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -2,6 +2,7 @@ # [Choice] PHP version (use -bullseye variants on local arm64/Apple Silicon): 8, 8.0, 7, 7.4, 7.3, 8-bullseye, 8.0-bullseye, 7-bullseye, 7.4-bullseye, 7.3-bullseye, 8-buster, 8.0-buster, 7-buster, 7.4-buster, 7.3-buster ARG VARIANT=7-bullseye FROM mcr.microsoft.com/vscode/devcontainers/php:0-${VARIANT} +RUN docker-php-ext-install mysqli pdo_mysql # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10 ARG NODE_VERSION="none" diff --git a/proyecto-gestor-notas/config.php b/proyecto-gestor-notas/config.php new file mode 100644 index 00000000..733e7269 --- /dev/null +++ b/proyecto-gestor-notas/config.php @@ -0,0 +1,16 @@ +connect_error) { + die("Error de conexion: " . $mysqli->connect_error); +}else{ + echo '

'; + echo "Conexion exitosa a la base de datos."; +} +?> \ No newline at end of file diff --git a/proyecto-gestor-notas/index.php b/proyecto-gestor-notas/index.php index e69de29b..63c79cf9 100644 --- a/proyecto-gestor-notas/index.php +++ b/proyecto-gestor-notas/index.php @@ -0,0 +1,22 @@ +HOLA MUNDO uab"; + +//consulta para que salga lo de la tabla que consideres(id, nombre, apellido y role.) formato de salida -> OBJECT..NO ME INTERESA +$users = $mysqli->query("SELECT * FROM 'users'"); + +//CAPA 2: CONVIERTO EL RESULTADO ANTERIOR (objeto) EN UN ARRAY ASOCIATIVO +$resultUsers = $users->fetch_all(MYSQLI_ASSOC); + +//echo de users +var_dump($users); +echo ' + From 277ef42343b928e59937e63c79f06e90b5c79010 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Fri, 28 Nov 2025 16:29:19 +0000 Subject: [PATCH 14/22] Add Venobox plugin CSS and minified JavaScript files for lightbox functionality --- practicas/pp6/blog-single.html | 340 +++++++ practicas/pp6/blog.html | 294 ++++++ practicas/pp6/contact.html | 188 ++++ practicas/pp6/css/style.css | 960 ++++++++++++++++++ practicas/pp6/css/style.css.map | 8 + practicas/pp6/images/about/about-us.png | Bin 0 -> 175507 bytes practicas/pp6/images/about/video-thumb.jpg | Bin 0 -> 621644 bytes .../images/backgrounds/about-bg-overlay.png | Bin 0 -> 14344 bytes practicas/pp6/images/backgrounds/about-bg.jpg | Bin 0 -> 144405 bytes practicas/pp6/images/backgrounds/cta-bg.jpg | Bin 0 -> 56656 bytes practicas/pp6/images/backgrounds/map.png | Bin 0 -> 994543 bytes .../pp6/images/backgrounds/page-title.jpg | Bin 0 -> 110209 bytes .../pp6/images/banner/banner-overlay.png | Bin 0 -> 25445 bytes practicas/pp6/images/banner/banner.jpg | Bin 0 -> 67494 bytes practicas/pp6/images/banner/banner2.jpg | Bin 0 -> 124133 bytes practicas/pp6/images/banner/banner3.jpg | Bin 0 -> 83716 bytes practicas/pp6/images/banner/brush.png | Bin 0 -> 218354 bytes practicas/pp6/images/blog/post-1.jpg | Bin 0 -> 17907 bytes practicas/pp6/images/blog/post-2.jpg | Bin 0 -> 25410 bytes practicas/pp6/images/blog/post-3.jpg | Bin 0 -> 14808 bytes .../images/clients-logo/clients-logo-1.png | Bin 0 -> 6840 bytes .../images/clients-logo/clients-logo-2.png | Bin 0 -> 9885 bytes .../images/clients-logo/clients-logo-3.png | Bin 0 -> 3732 bytes .../images/clients-logo/clients-logo-4.png | Bin 0 -> 8969 bytes .../images/clients-logo/clients-logo-5.png | Bin 0 -> 4752 bytes practicas/pp6/images/feature.jpg | Bin 0 -> 43221 bytes practicas/pp6/images/logo.png | Bin 0 -> 2330 bytes practicas/pp6/images/marker.png | Bin 0 -> 3270 bytes practicas/pp6/images/project/project-1.jpg | Bin 0 -> 110355 bytes practicas/pp6/images/project/project-2.jpg | Bin 0 -> 60488 bytes practicas/pp6/images/project/project-3.jpg | Bin 0 -> 138536 bytes practicas/pp6/images/project/project-4.jpg | Bin 0 -> 99090 bytes practicas/pp6/images/project/project-5.jpg | Bin 0 -> 76763 bytes practicas/pp6/images/project/project-6.jpg | Bin 0 -> 120408 bytes practicas/pp6/images/project/project-7.jpg | Bin 0 -> 122140 bytes practicas/pp6/images/team/member-1.jpg | Bin 0 -> 30788 bytes practicas/pp6/images/team/member-2.jpg | Bin 0 -> 14758 bytes practicas/pp6/images/team/member-3.jpg | Bin 0 -> 31371 bytes practicas/pp6/images/team/member-4.jpg | Bin 0 -> 21828 bytes practicas/pp6/images/testimonial/user-1.jpg | Bin 0 -> 4710 bytes practicas/pp6/images/user-1.jpg | Bin 0 -> 2919 bytes practicas/pp6/images/user-2.jpg | Bin 0 -> 2599 bytes practicas/pp6/index.html | 577 +++++++++++ practicas/pp6/js/script.js | 143 +++ .../pp6/plugins/bootstrap/bootstrap.min.css | 6 + .../pp6/plugins/bootstrap/bootstrap.min.js | 1 + .../pp6/plugins/card-slider/css/style.css | 81 ++ .../plugins/card-slider/js/card-slider-min.js | 11 + practicas/pp6/plugins/counto/apear.js | 8 + practicas/pp6/plugins/counto/counTo.js | 119 +++ practicas/pp6/plugins/google-map/gmap.js | 75 ++ practicas/pp6/plugins/jQuery/jquery.min.js | 1 + practicas/pp6/plugins/shuffle/shuffle.min.js | 1 + practicas/pp6/plugins/slick/ajax-loader.gif | Bin 0 -> 4178 bytes practicas/pp6/plugins/slick/fonts/slick.eot | Bin 0 -> 2048 bytes practicas/pp6/plugins/slick/fonts/slick.svg | 14 + practicas/pp6/plugins/slick/fonts/slick.ttf | Bin 0 -> 1892 bytes practicas/pp6/plugins/slick/fonts/slick.woff | Bin 0 -> 1380 bytes practicas/pp6/plugins/slick/slick.css | 1 + practicas/pp6/plugins/slick/slick.min.js | 1 + .../plugins/themify-icons/fonts/themify.eot | Bin 0 -> 78748 bytes .../plugins/themify-icons/fonts/themify.svg | 362 +++++++ .../plugins/themify-icons/fonts/themify.ttf | Bin 0 -> 78584 bytes .../plugins/themify-icons/fonts/themify.woff | Bin 0 -> 56108 bytes .../plugins/themify-icons/themify-icons.css | 1 + practicas/pp6/plugins/venobox/venobox.css | 1 + practicas/pp6/plugins/venobox/venobox.min.js | 1 + 67 files changed, 3194 insertions(+) create mode 100644 practicas/pp6/blog-single.html create mode 100644 practicas/pp6/blog.html create mode 100644 practicas/pp6/contact.html create mode 100644 practicas/pp6/css/style.css create mode 100644 practicas/pp6/css/style.css.map create mode 100644 practicas/pp6/images/about/about-us.png create mode 100644 practicas/pp6/images/about/video-thumb.jpg create mode 100644 practicas/pp6/images/backgrounds/about-bg-overlay.png create mode 100644 practicas/pp6/images/backgrounds/about-bg.jpg create mode 100644 practicas/pp6/images/backgrounds/cta-bg.jpg create mode 100644 practicas/pp6/images/backgrounds/map.png create mode 100644 practicas/pp6/images/backgrounds/page-title.jpg create mode 100644 practicas/pp6/images/banner/banner-overlay.png create mode 100644 practicas/pp6/images/banner/banner.jpg create mode 100644 practicas/pp6/images/banner/banner2.jpg create mode 100644 practicas/pp6/images/banner/banner3.jpg create mode 100644 practicas/pp6/images/banner/brush.png create mode 100644 practicas/pp6/images/blog/post-1.jpg create mode 100644 practicas/pp6/images/blog/post-2.jpg create mode 100644 practicas/pp6/images/blog/post-3.jpg create mode 100644 practicas/pp6/images/clients-logo/clients-logo-1.png create mode 100644 practicas/pp6/images/clients-logo/clients-logo-2.png create mode 100644 practicas/pp6/images/clients-logo/clients-logo-3.png create mode 100644 practicas/pp6/images/clients-logo/clients-logo-4.png create mode 100644 practicas/pp6/images/clients-logo/clients-logo-5.png create mode 100644 practicas/pp6/images/feature.jpg create mode 100644 practicas/pp6/images/logo.png create mode 100644 practicas/pp6/images/marker.png create mode 100644 practicas/pp6/images/project/project-1.jpg create mode 100644 practicas/pp6/images/project/project-2.jpg create mode 100644 practicas/pp6/images/project/project-3.jpg create mode 100644 practicas/pp6/images/project/project-4.jpg create mode 100644 practicas/pp6/images/project/project-5.jpg create mode 100644 practicas/pp6/images/project/project-6.jpg create mode 100644 practicas/pp6/images/project/project-7.jpg create mode 100644 practicas/pp6/images/team/member-1.jpg create mode 100644 practicas/pp6/images/team/member-2.jpg create mode 100644 practicas/pp6/images/team/member-3.jpg create mode 100644 practicas/pp6/images/team/member-4.jpg create mode 100644 practicas/pp6/images/testimonial/user-1.jpg create mode 100644 practicas/pp6/images/user-1.jpg create mode 100644 practicas/pp6/images/user-2.jpg create mode 100644 practicas/pp6/index.html create mode 100644 practicas/pp6/js/script.js create mode 100644 practicas/pp6/plugins/bootstrap/bootstrap.min.css create mode 100644 practicas/pp6/plugins/bootstrap/bootstrap.min.js create mode 100644 practicas/pp6/plugins/card-slider/css/style.css create mode 100644 practicas/pp6/plugins/card-slider/js/card-slider-min.js create mode 100644 practicas/pp6/plugins/counto/apear.js create mode 100644 practicas/pp6/plugins/counto/counTo.js create mode 100644 practicas/pp6/plugins/google-map/gmap.js create mode 100644 practicas/pp6/plugins/jQuery/jquery.min.js create mode 100644 practicas/pp6/plugins/shuffle/shuffle.min.js create mode 100644 practicas/pp6/plugins/slick/ajax-loader.gif create mode 100644 practicas/pp6/plugins/slick/fonts/slick.eot create mode 100644 practicas/pp6/plugins/slick/fonts/slick.svg create mode 100644 practicas/pp6/plugins/slick/fonts/slick.ttf create mode 100644 practicas/pp6/plugins/slick/fonts/slick.woff create mode 100644 practicas/pp6/plugins/slick/slick.css create mode 100644 practicas/pp6/plugins/slick/slick.min.js create mode 100644 practicas/pp6/plugins/themify-icons/fonts/themify.eot create mode 100644 practicas/pp6/plugins/themify-icons/fonts/themify.svg create mode 100644 practicas/pp6/plugins/themify-icons/fonts/themify.ttf create mode 100644 practicas/pp6/plugins/themify-icons/fonts/themify.woff create mode 100644 practicas/pp6/plugins/themify-icons/themify-icons.css create mode 100644 practicas/pp6/plugins/venobox/venobox.css create mode 100644 practicas/pp6/plugins/venobox/venobox.min.js diff --git a/practicas/pp6/blog-single.html b/practicas/pp6/blog-single.html new file mode 100644 index 00000000..cfd619bd --- /dev/null +++ b/practicas/pp6/blog-single.html @@ -0,0 +1,340 @@ + + + + + + + + + Agen | Bootstrap Agency Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+

Blog Details

+
+
+
+
+ + +
+
+
+
+

What should be the proper purpose of UI and UX design?

+ post-thumb +

Post by Themefisher

+

May 26, 2017

+
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex + ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat + nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque + laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae + dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia + consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est.

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore + et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip + ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu + fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt + mollit anim id est laborum. +

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex + ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat + nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque + laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae + dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia + consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem + ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut + labore et dolore magnam aliquam quaerat voluptatem.

+
Dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi + tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et + dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex + ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat + nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit + anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque + laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae + dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia + consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem + ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut + labore et dolore magnam aliquam quaerat voluptatem.

+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
Carole Marvin.
+ 15 january 2015 At 10:30 pm + Reply +

Ne erat velit invidunt his. Eum in dicta veniam interesset, harum fuisset te nam ea cu lupta + definitionem.

+
+ +
+
Jaquan Rolfson.
+ 15 january 2015 At 10:30 pm + Reply +

Ne erat velit invidunt his. Eum in dicta veniam interesset, harum fuisset te nam ea cu lupta + definitionem.

+
+
+
+
+
+ +
+
Bruce Bernier.
+ 15 january 2015 At 10:30 pm + Reply +

Ne erat velit invidunt his. Eum in dicta veniam interesset, harum fuisset te nam ea cu lupta + definitionem.

+
+
+
+

Leave a Comment

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+ + +
+
+
+
+

Latest News

+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/practicas/pp6/blog.html b/practicas/pp6/blog.html new file mode 100644 index 00000000..455d25d4 --- /dev/null +++ b/practicas/pp6/blog.html @@ -0,0 +1,294 @@ + + + + + + + + + Agen | Bootstrap Agency Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+

Our Blog

+
+
+
+
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/practicas/pp6/contact.html b/practicas/pp6/contact.html new file mode 100644 index 00000000..0c5f9166 --- /dev/null +++ b/practicas/pp6/contact.html @@ -0,0 +1,188 @@ + + + + + + + + + Agen | Bootstrap Agency Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+

Contact Us

+
+
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/practicas/pp6/css/style.css b/practicas/pp6/css/style.css new file mode 100644 index 00000000..222a5fd5 --- /dev/null +++ b/practicas/pp6/css/style.css @@ -0,0 +1,960 @@ +/** + * WEBSITE: https://themefisher.com + * TWITTER: https://twitter.com/themefisher + * FACEBOOK: https://www.facebook.com/themefisher + * GITHUB: https://github.com/themefisher/ + */ + +/*!------------------------------------------------------------------ +[MAIN STYLESHEET] + +PROJECT: Project Name +VERSION: Versoin Number +-------------------------------------------------------------------*/ +/*------------------------------------------------------------------ +[TABLE OF CONTENTS] +-------------------------------------------------------------------*/ +/* typography */ +@import url("https://fonts.googleapis.com/css?family=Noto+Sans:400,700|Poppins:300,400,500,600,700&display=swap"); +body { + line-height: 1.2; + font-family: "Poppins", sans-serif; + -webkit-font-smoothing: antialiased; + font-size: 15px; + color: #6c6c86; +} + +p { + font-weight: 400; + color: #6c6c86; + font-size: 15px; + line-height: 1.7; + font-family: "Poppins", sans-serif; +} + +.lead { + font-size: 18px; +} + +.display-1 { + font-size: 100px; +} +@media (max-width: 575px) { + .display-1 { + font-size: 50px; + } +} + +h1, h2, h3, h4, h5, h6 { + color: #000; + font-family: "Noto Sans", sans-serif; + font-weight: 700; + line-height: 1.2; +} + +h1, .h1 { + font-size: 60px; +} +@media (max-width: 575px) { + h1, .h1 { + font-size: 40px; + } +} + +h2, .h2 { + font-size: 44px; +} +@media (max-width: 575px) { + h2, .h2 { + font-size: 30px; + } +} + +h3, .h3 { + font-size: 36px; +} +@media (max-width: 575px) { + h3, .h3 { + font-size: 28px; + } +} + +h4, .h4 { + font-size: 24px; +} + +h5, .h5 { + font-size: 18px; +} + +h6, .h6 { + font-size: 14px; +} + +.icon-lg { + font-size: 50px; +} + +.icon { + font-size: 40px; +} + +.icon-sm { + font-size: 30px; +} + +.icon-xs { + font-size: 20px; +} + +/* Button style */ +.btn { + font-size: 15px; + font-family: "Poppins", sans-serif; + text-transform: capitalize; + padding: 13px 45px; + border-radius: 35px; + font-weight: 600; + border: 1px solid; + position: relative; + z-index: 1; + transition: 0.2s ease; +} +.btn:hover, .btn:active, .btn:focus { + outline: 0; + box-shadow: none !important; + box-shadow: 0px 18px 18px 0px rgba(20, 28, 91, 0.19); +} + +.btn-lg { + font-size: 20px; + padding: 20px 90px; +} + +.btn-primary { + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%); + color: #fff; + border: 0; +} +.btn-primary:active, .btn-primary:hover, .btn-primary.focus, .btn-primary.active { + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%) !important; + color: #fff; + border: 0; +} + +.btn-outline-primary { + background: transparent; + color: #f7463a; + border-color: #f7463a; +} +.btn-outline-primary:active, .btn-outline-primary:hover, .btn-outline-primary.focus, .btn-outline-primary.active { + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%) !important; + color: #fff; + border-color: #f7463a; +} + +.btn-secondary { + background: #07085d; + color: #fff; + border: 0; +} +.btn-secondary:active, .btn-secondary:hover, .btn-secondary.focus, .btn-secondary.active { + background: #07085d !important; + color: #fff; + border: 0; +} + +.btn-outline-light { + background: transparent; + color: #fff; + border-color: #fff; +} +.btn-outline-light:active, .btn-outline-light:hover, .btn-outline-light.focus, .btn-outline-light.active { + background: #fff !important; + color: #000; + border-color: #fff; +} + +.btn-transparent { + color: #f7463a; + border: 0; + padding-left: 0; + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} +.btn-transparent:active, .btn-transparent:hover, .btn-transparent.focus, .btn-transparent.active { + color: #f7463a; + border: 0; + padding-left: 0; + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + box-shadow: none; + text-decoration: underline; +} + +body { + background-color: #fff; + overflow-x: hidden; +} + +::-moz-selection { + background: #f9746b; + color: #fff; +} + +::selection { + background: #f9746b; + color: #fff; +} + +/* preloader */ +.preloader { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #fff; + z-index: 999; + display: flex; + align-items: center; + justify-content: center; +} + +ol, +ul { + list-style-type: none; + margin: 0px; +} + +img { + vertical-align: middle; + border: 0; +} + +a { + color: #f7463a; +} + +a, +a:hover, +a:focus { + text-decoration: none; +} + +.hover-text-underline:hover { + text-decoration: underline; +} + +a, +button, +select { + cursor: pointer; + transition: 0.2s ease; +} +a:focus, +button:focus, +select:focus { + outline: 0; +} + +a:hover { + color: #f7463a; +} + +.slick-slide { + outline: 0; +} + +.section { + padding-top: 110px; + padding-bottom: 100px; +} +.section-sm { + padding-top: 60px; + padding-bottom: 60px; +} +.section-lg { + padding-top: 170px; + padding-bottom: 170px; +} + +.section-border { + height: 9px; + width: 220px; + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%); + border-radius: 5px; + margin: 40px auto 90px; +} + +.bg-cover { + background-size: cover; + background-position: center center; + background-repeat: no-repeat; +} + +.bg-contain { + background-size: contain; + background-position: center right; + background-repeat: no-repeat; +} + +.border-primary { + border-color: #d2d2e2 !important; +} + +/* overlay */ +.overlay { + position: relative; +} +.overlay::before { + position: absolute; + content: ""; + height: 100%; + width: 100%; + top: 0; + left: 0; + background: #000; + opacity: 0.8; +} +.overlay-primary { + position: relative; +} +.overlay-primary::before { + position: absolute; + content: ""; + height: 100%; + width: 100%; + top: 0; + left: 0; + background: #f7463a; + opacity: 0.8; +} +.overlay-secondary { + position: relative; +} +.overlay-secondary::before { + position: absolute; + content: ""; + height: 100%; + width: 100%; + top: 0; + left: 0; + background: #07085d; + opacity: 0.8; +} +.overlay-secondary-half { + position: relative; +} +.overlay-secondary-half::before { + position: absolute; + content: ""; + height: 100%; + width: 100%; + top: 0; + left: 0; + background: linear-gradient(to right, #07085d 60%, transparent); +} +.overlay-image { + position: absolute; + height: 100%; + width: 100%; + left: 0; + top: 0; +} + +.outline-0 { + outline: 0 !important; +} + +.d-unset { + display: unset !important; +} + +.bg-primary { + background: #f7463a !important; +} + +.bg-secondary { + background: #07085d !important; +} + +.text-primary { + color: #f7463a !important; +} + +.text-secondary { + color: #07085d !important; +} + +.text-gradient-primary { + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.text-light { + color: #b7b8f1 !important; +} + +.text-color { + color: #6c6c86 !important; +} + +.mb-10 { + margin-bottom: 10px !important; +} + +.mb-20 { + margin-bottom: 20px !important; +} + +.mb-30 { + margin-bottom: 30px !important; +} + +.mb-40 { + margin-bottom: 40px !important; +} + +.mb-50 { + margin-bottom: 50px !important; +} + +.mb-60 { + margin-bottom: 60px !important; +} + +.mb-70 { + margin-bottom: 70px !important; +} + +.mb-80 { + margin-bottom: 80px !important; +} + +.mb-90 { + margin-bottom: 90px !important; +} + +.mb-100 { + margin-bottom: 100px !important; +} + +.zindex-1 { + z-index: 1; +} + +.top-100 { + top: 100px; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.font-primary { + font-family: "Poppins", sans-serif !important; +} + +.font-secondary { + font-family: "Noto Sans", sans-serif !important; +} + +.shadow { + box-shadow: 0px 46px 65px 0px rgba(181, 188, 236, 0.16) !important; +} + +.bg-gradient-primary { + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%) !important; +} + +.transition { + transition: 0.3s ease; +} + +.vertical-align-middle { + vertical-align: middle; +} + +/* form control */ +.form-control { + height: 50px; + border-radius: 0; + border: 0; + border-bottom: 1px solid #d2d2e2; +} +.form-control:focus { + box-shadow: none !important; + border-color: #f7463a; +} + +textarea.form-control { + height: 150px; +} + +/* /form control */ +/* page-title */ +.page-title { + padding: 170px 0 190px; +} + +/* /page-title */ +/* list style */ +.list-styled { + padding-left: 0; +} +.list-styled li { + position: relative; + padding-left: 25px; + list-style-type: none; +} +.list-styled li::before { + position: absolute; + content: "\e65d"; + font-family: "themify"; + font-size: 14px; + left: 0; + top: 0px; + color: #07085d; + transition: 0.3s ease; +} + +/* social icons */ +.social-icons a { + display: block; + height: 50px; + width: 50px; + border-radius: 50%; + line-height: 50px; + background: #07085d; + color: #fff; + text-align: center; +} + +/* /social icons */ +.navigation { + padding: 20px 100px; + transition: 0.3s ease; +} +.navigation.nav-bg { + background-color: #07085d; + padding: 15px 100px; +} +@media (max-width: 991px) { + .navigation.nav-bg { + padding: 15px 20px; + } +} +@media (max-width: 991px) { + .navigation { + padding: 20px; + background: #07085d; + } +} + +.navbar .nav-item .nav-link { + font-family: "Poppins", sans-serif; + padding: 15px; + font-size: 18px; +} +.navbar .nav-item.active { + font-weight: bold; +} +.navbar .dropdown-menu { + box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.12); + padding: 15px; + border: 0; + top: calc(100% - 2px); + left: -10px; + border-radius: 0; + background: #fff; +} +.navbar .dropdown-menu.show { + display: block !important; +} +.navbar .dropdown-item { + position: relative; + color: #000; + transition: 0.2s ease; + font-family: "Poppins", sans-serif; + padding: 10px; + text-decoration: none; + margin-bottom: 0 !important; +} +.navbar .dropdown-item:not(:last-child) { + margin-bottom: 10px; +} + +.navbar-dark .navbar-nav .nav-link { + color: #fff; +} + +.banner { + min-height: 100vh; +} + +.content-center { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.hover-bg-secondary { + transition: 0.2s ease; +} +.hover-bg-secondary * { + transition: inherit; +} +.hover-bg-secondary:hover { + background: #07085d; +} +.hover-bg-secondary:hover * { + color: #fff; +} +.hover-bg-secondary.active { + background: #07085d; +} +.hover-bg-secondary.active * { + color: #fff; +} + +.hover-bg-primary { + transition: 0.2s ease; +} +.hover-bg-primary * { + transition: inherit; +} +.hover-bg-primary:hover { + background: #f7463a; +} +.hover-bg-primary:hover * { + color: #fff; +} +.hover-bg-primary.active { + background: #f7463a; +} +.hover-bg-primary.active * { + color: #fff; +} + +.icon-box { + height: 100px; + width: 100px; + line-height: 100px; +} + +.icon-box-sm { + height: 80px; + width: 80px; + line-height: 80px; +} + +.icon-watermark { + position: absolute; + left: 50%; + top: 32%; + transform: translate(-50%, -50%); + opacity: 0.1; + transition: inherit; +} + +.card:hover .icon-watermark { + transform: translate(-50%, -50%) scale(1.5); +} + +.bg-image { + position: absolute; + left: 0; + top: 0; + height: 100%; + width: auto; +} +.bg-image img { + height: 100%; + max-width: 100%; +} +@media (max-width: 991px) { + .bg-image img { + display: none; + } +} +@media (max-width: 767px) { + .bg-image img { + display: block; + height: auto; + } +} + +.hover-shadow::before { + transition: 0.3s ease; + position: absolute; + height: 100%; + box-shadow: 0px 33px 49px 0px rgba(190, 193, 228, 0.31); + width: 100%; + left: 0; + right: 0; + z-index: 1; + content: ""; + opacity: 0; +} +.hover-shadow:hover::before { + opacity: 1; +} + +/* pricing */ +.bottom-shape { + position: relative; + overflow: hidden; +} +.bottom-shape * { + position: relative; + z-index: 1; +} +.bottom-shape::before { + position: absolute; + content: ""; + height: 100%; + width: 100%; + transform: rotate(40deg); + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%); + left: 0; + top: 60%; + opacity: 0.5; +} +.bottom-shape::after { + position: absolute; + content: ""; + height: 100%; + width: 100%; + transform: rotate(40deg); + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%); + left: 20%; + top: 55%; +} + +/* /pricing */ +/* project */ +.project-item { + position: relative; +} +.project-item:hover .project-hover { + visibility: visible; + opacity: 1; + transform: rotateX(0deg); +} + +.project-hover { + position: absolute; + width: 80%; + left: 10%; + bottom: 10%; + display: flex; + justify-content: space-between; + align-items: center; + visibility: hidden; + opacity: 0; + transform: rotateX(90deg); + transition: 0.3s ease; + transform-origin: bottom; +} +.project-hover i { + height: 55px; + width: 55px; + line-height: 55px; + border: 1px solid #fff; + border-radius: 50%; + text-align: center; + display: block; +} +.project-hover i:hover { + border-color: #f7463a; +} + +/* /project */ +/* footer */ +footer .overlay-image { + height: 80%; + width: 80%; + left: 10%; + top: 10%; +} + +/* progressbar */ +.progress-block .progress { + height: 8px; + border-radius: 10px; + margin-bottom: 40px; + overflow: visible; + position: relative; + box-shadow: 0px 9px 24px 0px rgba(19, 5, 44, 0.21); +} +.progress-block .progress-bar { + background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%); + width: 0; + transition: all 3s ease-in-out; + top: 0; + left: 0; + height: 100%; + border-radius: 10px; +} +.progress-block .progress-bar .skill-number { + position: absolute; + top: -22px; + right: 0px; +} + +/* /progressbar */ +/* video */ +.video-player iframe { + width: 100%; + height: 100%; +} +.video-player .play-icon { + position: absolute; + left: 0; + top: 0; + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + text-align: center; +} + +/* ripple animation */ +.ripple { + border-radius: 50%; + position: absolute; + height: 130%; + width: 130%; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); +} +.ripple::after { + opacity: 0; + position: absolute; + right: 0; + bottom: 0; + content: ""; + height: 100%; + width: 100%; + border: 1px solid #d2d2e2; + border-radius: 100%; + -webkit-animation-name: ripple; + animation-name: ripple; + -webkit-animation-duration: 3s; + animation-duration: 3s; + -webkit-animation-delay: 0s; + animation-delay: 0s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1); + animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1); + z-index: -1; +} +.ripple::before { + opacity: 0; + position: absolute; + right: 0; + bottom: 0; + content: ""; + height: 100%; + width: 100%; + border: 1px solid #d2d2e2; + border-radius: 100%; + -webkit-animation-name: ripple; + animation-name: ripple; + -webkit-animation-duration: 3s; + animation-duration: 3s; + -webkit-animation-delay: 0.5s; + animation-delay: 0.5s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1); + animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1); + z-index: -1; +} + +@-webkit-keyframes ripple { + from { + opacity: 1; + transform: scale3d(0.75, 0.75, 1); + } + to { + opacity: 0; + transform: scale3d(1.5, 1.5, 1); + } +} + +@keyframes ripple { + from { + opacity: 1; + transform: scale3d(0.75, 0.75, 1); + } + to { + opacity: 0; + transform: scale3d(1.5, 1.5, 1); + } +} +/* /video */ +/* card slider */ +@media (max-width: 991px) { + .ui-card-slider .left-slide::before { + left: -100px; + } +} +@media (max-width: 767px) { + .ui-card-slider .left-slide::before { + display: none; + } +} + +@media (max-width: 991px) { + .ui-card-slider .right-slide::before { + right: -100px; + } +} +@media (max-width: 767px) { + .ui-card-slider .right-slide::before { + display: none; + } +} + +/* /card slider */ +/* google map */ +.map { + height: 750px; +} + +/* /google map */ +/* team */ +.img-thumb-circle { + border-radius: 50%; + overflow: hidden; + max-height: 260px; + max-width: 260px; +} + +.card { + border: 0; + border-radius: 0; +} +.card-img-top { + border-radius: 0; +} +.card-header { + border: 0; +} +.card-body { + border: 0; + border-radius: 0; +} +.card-footer { + border: 0; +} +/*# sourceMappingURL=style.css.map */ diff --git a/practicas/pp6/css/style.css.map b/practicas/pp6/css/style.css.map new file mode 100644 index 00000000..aba1dc30 --- /dev/null +++ b/practicas/pp6/css/style.css.map @@ -0,0 +1,8 @@ +/** + * WEBSITE: https://themefisher.com + * TWITTER: https://twitter.com/themefisher + * FACEBOOK: https://www.facebook.com/themefisher + * GITHUB: https://github.com/themefisher/ + */ + +{"version":3,"sources":["style.scss","_typography.scss","_variables.scss","style.css","_mixins.scss","_buttons.scss","_common.scss","templates/_navigation.scss","templates/_homepage.scss","templates/_otherspage.scss","templates/_cards.scss"],"names":[],"mappings":"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","file":"style.css","sourcesContent":["/*!------------------------------------------------------------------\n[MAIN STYLESHEET]\n\nPROJECT:\tProject Name\nVERSION:\tVersoin Number\n-------------------------------------------------------------------*/\n\n/*------------------------------------------------------------------\n[TABLE OF CONTENTS]\n-------------------------------------------------------------------*/\n\n@import 'variables';\n\n@import 'mixins';\n\n@import 'typography';\n\n@import 'buttons';\n\n@import 'common';\n\n@import 'templates/navigation';\n\n@import 'templates/homepage';\n\n@import 'templates/otherspage';\n\n@import 'templates/cards';","/* typography */\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans:400,700|Poppins:300,400,500,600,700&display=swap');\n\nbody {\n line-height: 1.2;\n font-family: $primary-font;\n -webkit-font-smoothing: antialiased;\n font-size: 15px;\n color: $text-color;\n}\n\np {\n font-weight: 400;\n color: $text-color;\n font-size: 15px;\n line-height: 1.7;\n font-family: $primary-font;\n}\n\n.lead{\n font-size: 18px;\n}\n\n.display-1{\n font-size: 100px;\n @include mobile {\n font-size: 50px;\n }\n}\n\nh1,h2,h3,h4,h5,h6 {\n color: $text-color-dark;\n font-family: $secondary-font;\n font-weight: 700;\n line-height: 1.2;\n}\n\nh1, .h1{\n font-size: 60px;\n @include mobile {\n font-size: 40px;\n }\n}\n\nh2, .h2{\n font-size: 44px;\n @include mobile {\n font-size: 30px;\n }\n}\n\nh3, .h3{\n font-size: 36px;\n @include mobile {\n font-size: 28px;\n }\n}\n\nh4, .h4{\n font-size: 24px;\n}\n\nh5, .h5{\n font-size: 18px;\n}\n\nh6, .h6{\n font-size: 14px;\n}\n\n.icon-lg{\n font-size: 50px;\n}\n\n.icon{\n font-size: 40px;\n}\n\n.icon-sm{\n font-size: 30px;\n}\n\n.icon-xs{\n font-size: 20px;\n}","// Color Variables\n$primary-color: #f7463a;\n$secondary-color: #07085d;\n$text-color: #6c6c86;\n$text-color-dark: #000;\n$body-color: #fff;\n$border-color: #d2d2e2;\n$black: #000;\n$white: #fff;\n$primary-gradient: linear-gradient( 37deg, rgb(180,62,121) 1%, rgb(247,70,58) 100%);\n\n\n// Font Variables\n$primary-font: 'Poppins', sans-serif;\n$secondary-font: 'Noto Sans', sans-serif;\n$icon-font: 'themify';","/*!------------------------------------------------------------------\n[MAIN STYLESHEET]\n\nPROJECT:\tProject Name\nVERSION:\tVersoin Number\n-------------------------------------------------------------------*/\n/*------------------------------------------------------------------\n[TABLE OF CONTENTS]\n-------------------------------------------------------------------*/\n/* typography */\n@import url(\"https://fonts.googleapis.com/css?family=Noto+Sans:400,700|Poppins:300,400,500,600,700&display=swap\");\nbody {\n line-height: 1.2;\n font-family: \"Poppins\", sans-serif;\n -webkit-font-smoothing: antialiased;\n font-size: 15px;\n color: #6c6c86;\n}\n\np {\n font-weight: 400;\n color: #6c6c86;\n font-size: 15px;\n line-height: 1.7;\n font-family: \"Poppins\", sans-serif;\n}\n\n.lead {\n font-size: 18px;\n}\n\n.display-1 {\n font-size: 100px;\n}\n@media (max-width: 575px) {\n .display-1 {\n font-size: 50px;\n }\n}\n\nh1, h2, h3, h4, h5, h6 {\n color: #000;\n font-family: \"Noto Sans\", sans-serif;\n font-weight: 700;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 60px;\n}\n@media (max-width: 575px) {\n h1, .h1 {\n font-size: 40px;\n }\n}\n\nh2, .h2 {\n font-size: 44px;\n}\n@media (max-width: 575px) {\n h2, .h2 {\n font-size: 30px;\n }\n}\n\nh3, .h3 {\n font-size: 36px;\n}\n@media (max-width: 575px) {\n h3, .h3 {\n font-size: 28px;\n }\n}\n\nh4, .h4 {\n font-size: 24px;\n}\n\nh5, .h5 {\n font-size: 18px;\n}\n\nh6, .h6 {\n font-size: 14px;\n}\n\n.icon-lg {\n font-size: 50px;\n}\n\n.icon {\n font-size: 40px;\n}\n\n.icon-sm {\n font-size: 30px;\n}\n\n.icon-xs {\n font-size: 20px;\n}\n\n/* Button style */\n.btn {\n font-size: 15px;\n font-family: \"Poppins\", sans-serif;\n text-transform: capitalize;\n padding: 13px 45px;\n border-radius: 35px;\n font-weight: 600;\n border: 1px solid;\n position: relative;\n z-index: 1;\n transition: 0.2s ease;\n}\n.btn:hover, .btn:active, .btn:focus {\n outline: 0;\n box-shadow: none !important;\n box-shadow: 0px 18px 18px 0px rgba(20, 28, 91, 0.19);\n}\n\n.btn-lg {\n font-size: 20px;\n padding: 20px 90px;\n}\n\n.btn-primary {\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%);\n color: #fff;\n border: 0;\n}\n.btn-primary:active, .btn-primary:hover, .btn-primary.focus, .btn-primary.active {\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%) !important;\n color: #fff;\n border: 0;\n}\n\n.btn-outline-primary {\n background: transparent;\n color: #f7463a;\n border-color: #f7463a;\n}\n.btn-outline-primary:active, .btn-outline-primary:hover, .btn-outline-primary.focus, .btn-outline-primary.active {\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%) !important;\n color: #fff;\n border-color: #f7463a;\n}\n\n.btn-secondary {\n background: #07085d;\n color: #fff;\n border: 0;\n}\n.btn-secondary:active, .btn-secondary:hover, .btn-secondary.focus, .btn-secondary.active {\n background: #07085d !important;\n color: #fff;\n border: 0;\n}\n\n.btn-outline-light {\n background: transparent;\n color: #fff;\n border-color: #fff;\n}\n.btn-outline-light:active, .btn-outline-light:hover, .btn-outline-light.focus, .btn-outline-light.active {\n background: #fff !important;\n color: #000;\n border-color: #fff;\n}\n\n.btn-transparent {\n color: #f7463a;\n border: 0;\n padding-left: 0;\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.btn-transparent:active, .btn-transparent:hover, .btn-transparent.focus, .btn-transparent.active {\n color: #f7463a;\n border: 0;\n padding-left: 0;\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n box-shadow: none;\n text-decoration: underline;\n}\n\nbody {\n background-color: #fff;\n overflow-x: hidden;\n}\n\n::selection {\n background: #f9746b;\n color: #fff;\n}\n\n/* preloader */\n.preloader {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #fff;\n z-index: 999;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\nol,\nul {\n list-style-type: none;\n margin: 0px;\n}\n\nimg {\n vertical-align: middle;\n border: 0;\n}\n\na {\n color: #f7463a;\n}\n\na,\na:hover,\na:focus {\n text-decoration: none;\n}\n\n.hover-text-underline:hover {\n text-decoration: underline;\n}\n\na,\nbutton,\nselect {\n cursor: pointer;\n transition: 0.2s ease;\n}\na:focus,\nbutton:focus,\nselect:focus {\n outline: 0;\n}\n\na:hover {\n color: #f7463a;\n}\n\n.slick-slide {\n outline: 0;\n}\n\n.section {\n padding-top: 110px;\n padding-bottom: 100px;\n}\n.section-sm {\n padding-top: 60px;\n padding-bottom: 60px;\n}\n.section-lg {\n padding-top: 170px;\n padding-bottom: 170px;\n}\n\n.section-border {\n height: 9px;\n width: 220px;\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%);\n border-radius: 5px;\n margin: 40px auto 90px;\n}\n\n.bg-cover {\n background-size: cover;\n background-position: center center;\n background-repeat: no-repeat;\n}\n\n.bg-contain {\n background-size: contain;\n background-position: center right;\n background-repeat: no-repeat;\n}\n\n.border-primary {\n border-color: #d2d2e2 !important;\n}\n\n/* overlay */\n.overlay {\n position: relative;\n}\n.overlay::before {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: #000;\n opacity: 0.8;\n}\n.overlay-primary {\n position: relative;\n}\n.overlay-primary::before {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: #f7463a;\n opacity: 0.8;\n}\n.overlay-secondary {\n position: relative;\n}\n.overlay-secondary::before {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: #07085d;\n opacity: 0.8;\n}\n.overlay-secondary-half {\n position: relative;\n}\n.overlay-secondary-half::before {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: linear-gradient(to right, #07085d 60%, transparent);\n}\n.overlay-image {\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n}\n\n.outline-0 {\n outline: 0 !important;\n}\n\n.d-unset {\n display: unset !important;\n}\n\n.bg-primary {\n background: #f7463a !important;\n}\n\n.bg-secondary {\n background: #07085d !important;\n}\n\n.text-primary {\n color: #f7463a !important;\n}\n\n.text-secondary {\n color: #07085d !important;\n}\n\n.text-gradient-primary {\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\n.text-light {\n color: #b7b8f1 !important;\n}\n\n.text-color {\n color: #6c6c86 !important;\n}\n\n.mb-10 {\n margin-bottom: 10px !important;\n}\n\n.mb-20 {\n margin-bottom: 20px !important;\n}\n\n.mb-30 {\n margin-bottom: 30px !important;\n}\n\n.mb-40 {\n margin-bottom: 40px !important;\n}\n\n.mb-50 {\n margin-bottom: 50px !important;\n}\n\n.mb-60 {\n margin-bottom: 60px !important;\n}\n\n.mb-70 {\n margin-bottom: 70px !important;\n}\n\n.mb-80 {\n margin-bottom: 80px !important;\n}\n\n.mb-90 {\n margin-bottom: 90px !important;\n}\n\n.mb-100 {\n margin-bottom: 100px !important;\n}\n\n.zindex-1 {\n z-index: 1;\n}\n\n.top-100 {\n top: 100px;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.font-primary {\n font-family: \"Poppins\", sans-serif !important;\n}\n\n.font-secondary {\n font-family: \"Noto Sans\", sans-serif !important;\n}\n\n.shadow {\n box-shadow: 0px 46px 65px 0px rgba(181, 188, 236, 0.16) !important;\n}\n\n.bg-gradient-primary {\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%) !important;\n}\n\n.transition {\n transition: 0.3s ease;\n}\n\n.vertical-align-middle {\n vertical-align: middle;\n}\n\n/* form control */\n.form-control {\n height: 50px;\n border-radius: 0;\n border: 0;\n border-bottom: 1px solid #d2d2e2;\n}\n.form-control:focus {\n box-shadow: none !important;\n border-color: #f7463a;\n}\n\ntextarea.form-control {\n height: 150px;\n}\n\n/* /form control */\n/* page-title */\n.page-title {\n padding: 170px 0 190px;\n}\n\n/* /page-title */\n/* list style */\n.list-styled {\n padding-left: 0;\n}\n.list-styled li {\n position: relative;\n padding-left: 25px;\n list-style-type: none;\n}\n.list-styled li::before {\n position: absolute;\n content: \"\\e65d\";\n font-family: \"themify\";\n font-size: 14px;\n left: 0;\n top: 0px;\n color: #07085d;\n transition: 0.3s ease;\n}\n\n/* social icons */\n.social-icons a {\n display: block;\n height: 50px;\n width: 50px;\n border-radius: 50%;\n line-height: 50px;\n background: #07085d;\n color: #fff;\n text-align: center;\n}\n\n/* /social icons */\n.navigation {\n padding: 20px 100px;\n transition: 0.3s ease;\n}\n.navigation.nav-bg {\n background-color: #07085d;\n padding: 15px 100px;\n}\n@media (max-width: 991px) {\n .navigation.nav-bg {\n padding: 15px 20px;\n }\n}\n@media (max-width: 991px) {\n .navigation {\n padding: 20px;\n background: #07085d;\n }\n}\n\n.navbar .nav-item .nav-link {\n font-family: \"Poppins\", sans-serif;\n padding: 15px;\n font-size: 18px;\n}\n.navbar .nav-item.active {\n font-weight: bold;\n}\n.navbar .dropdown-menu {\n box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.12);\n padding: 15px;\n border: 0;\n top: calc(100% - 2px);\n left: -10px;\n border-radius: 0;\n background: #fff;\n}\n.navbar .dropdown-menu.show {\n display: block !important;\n}\n.navbar .dropdown-item {\n position: relative;\n color: #000;\n transition: 0.2s ease;\n font-family: \"Poppins\", sans-serif;\n padding: 10px;\n text-decoration: none;\n margin-bottom: 0 !important;\n}\n.navbar .dropdown-item:not(:last-child) {\n margin-bottom: 10px;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: #fff;\n}\n\n.banner {\n min-height: 100vh;\n}\n\n.content-center {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.hover-bg-secondary {\n transition: 0.2s ease;\n}\n.hover-bg-secondary * {\n transition: inherit;\n}\n.hover-bg-secondary:hover {\n background: #07085d;\n}\n.hover-bg-secondary:hover * {\n color: #fff;\n}\n.hover-bg-secondary.active {\n background: #07085d;\n}\n.hover-bg-secondary.active * {\n color: #fff;\n}\n\n.hover-bg-primary {\n transition: 0.2s ease;\n}\n.hover-bg-primary * {\n transition: inherit;\n}\n.hover-bg-primary:hover {\n background: #f7463a;\n}\n.hover-bg-primary:hover * {\n color: #fff;\n}\n.hover-bg-primary.active {\n background: #f7463a;\n}\n.hover-bg-primary.active * {\n color: #fff;\n}\n\n.icon-box {\n height: 100px;\n width: 100px;\n line-height: 100px;\n}\n\n.icon-box-sm {\n height: 80px;\n width: 80px;\n line-height: 80px;\n}\n\n.icon-watermark {\n position: absolute;\n left: 50%;\n top: 32%;\n transform: translate(-50%, -50%);\n opacity: 0.1;\n transition: inherit;\n}\n\n.card:hover .icon-watermark {\n transform: translate(-50%, -50%) scale(1.5);\n}\n\n.bg-image {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n width: auto;\n}\n.bg-image img {\n height: 100%;\n max-width: 100%;\n}\n@media (max-width: 991px) {\n .bg-image img {\n display: none;\n }\n}\n@media (max-width: 767px) {\n .bg-image img {\n display: block;\n height: auto;\n }\n}\n\n.hover-shadow::before {\n transition: 0.3s ease;\n position: absolute;\n height: 100%;\n box-shadow: 0px 33px 49px 0px rgba(190, 193, 228, 0.31);\n width: 100%;\n left: 0;\n right: 0;\n z-index: 1;\n content: \"\";\n opacity: 0;\n}\n.hover-shadow:hover::before {\n opacity: 1;\n}\n\n/* pricing */\n.bottom-shape {\n position: relative;\n overflow: hidden;\n}\n.bottom-shape * {\n position: relative;\n z-index: 1;\n}\n.bottom-shape::before {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n transform: rotate(40deg);\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%);\n left: 0;\n top: 60%;\n opacity: 0.5;\n}\n.bottom-shape::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n transform: rotate(40deg);\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%);\n left: 20%;\n top: 55%;\n}\n\n/* /pricing */\n/* project */\n.project-item {\n position: relative;\n}\n.project-item:hover .project-hover {\n visibility: visible;\n opacity: 1;\n transform: rotateX(0deg);\n}\n\n.project-hover {\n position: absolute;\n width: 80%;\n left: 10%;\n bottom: 10%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n visibility: hidden;\n opacity: 0;\n transform: rotateX(90deg);\n transition: 0.3s ease;\n transform-origin: bottom;\n}\n.project-hover i {\n height: 55px;\n width: 55px;\n line-height: 55px;\n border: 1px solid #fff;\n border-radius: 50%;\n text-align: center;\n display: block;\n}\n.project-hover i:hover {\n border-color: #f7463a;\n}\n\n/* /project */\n/* footer */\nfooter .overlay-image {\n height: 80%;\n width: 80%;\n left: 10%;\n top: 10%;\n}\n\n/* progressbar */\n.progress-block .progress {\n height: 8px;\n border-radius: 10px;\n margin-bottom: 40px;\n overflow: visible;\n position: relative;\n box-shadow: 0px 9px 24px 0px rgba(19, 5, 44, 0.21);\n}\n.progress-block .progress-bar {\n background: linear-gradient(37deg, rgb(180, 62, 121) 1%, rgb(247, 70, 58) 100%);\n width: 0;\n transition: all 3s ease-in-out;\n top: 0;\n left: 0;\n height: 100%;\n border-radius: 10px;\n}\n.progress-block .progress-bar .skill-number {\n position: absolute;\n top: -22px;\n right: 0px;\n}\n\n/* /progressbar */\n/* video */\n.video-player iframe {\n width: 100%;\n height: 100%;\n}\n.video-player .play-icon {\n position: absolute;\n left: 0;\n top: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n text-align: center;\n}\n\n/* ripple animation */\n.ripple {\n border-radius: 50%;\n position: absolute;\n height: 130%;\n width: 130%;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n}\n.ripple::after {\n opacity: 0;\n position: absolute;\n right: 0;\n bottom: 0;\n content: \"\";\n height: 100%;\n width: 100%;\n border: 1px solid #d2d2e2;\n border-radius: 100%;\n animation-name: ripple;\n animation-duration: 3s;\n animation-delay: 0s;\n animation-iteration-count: infinite;\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\n z-index: -1;\n}\n.ripple::before {\n opacity: 0;\n position: absolute;\n right: 0;\n bottom: 0;\n content: \"\";\n height: 100%;\n width: 100%;\n border: 1px solid #d2d2e2;\n border-radius: 100%;\n animation-name: ripple;\n animation-duration: 3s;\n animation-delay: 0.5s;\n animation-iteration-count: infinite;\n animation-timing-function: cubic-bezier(0.65, 0, 0.34, 1);\n z-index: -1;\n}\n\n@keyframes ripple {\n from {\n opacity: 1;\n transform: scale3d(0.75, 0.75, 1);\n }\n to {\n opacity: 0;\n transform: scale3d(1.5, 1.5, 1);\n }\n}\n/* /video */\n/* card slider */\n@media (max-width: 991px) {\n .ui-card-slider .left-slide::before {\n left: -100px;\n }\n}\n@media (max-width: 767px) {\n .ui-card-slider .left-slide::before {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .ui-card-slider .right-slide::before {\n right: -100px;\n }\n}\n@media (max-width: 767px) {\n .ui-card-slider .right-slide::before {\n display: none;\n }\n}\n\n/* /card slider */\n/* google map */\n.map {\n height: 750px;\n}\n\n/* /google map */\n/* team */\n.img-thumb-circle {\n border-radius: 50%;\n overflow: hidden;\n max-height: 260px;\n max-width: 260px;\n}\n\n.card {\n border: 0;\n border-radius: 0;\n}\n.card-img-top {\n border-radius: 0;\n}\n.card-header {\n border: 0;\n}\n.card-body {\n border: 0;\n border-radius: 0;\n}\n.card-footer {\n border: 0;\n}","@mixin mobile-xs{\n @media(max-width:400px){\n @content;\n }\n}\n@mixin mobile{\n @media(max-width:575px){\n @content;\n }\n}\n@mixin tablet{\n @media(max-width:767px){\n @content;\n }\n}\n@mixin desktop{\n @media(max-width:991px){\n @content;\n }\n}\n@mixin desktop-lg{\n @media(max-width:1200px){\n @content;\n }\n}\n\n@mixin size($size){\n width: $size; height: $size;\n}","/* Button style */\n.btn {\n font-size: 15px;\n font-family: $primary-font;\n text-transform: capitalize;\n padding: 13px 45px;\n border-radius: 35px;\n font-weight: 600;\n border: 1px solid;\n position: relative;\n z-index: 1;\n transition: .2s ease;\n\n &:hover,\n &:active,\n &:focus {\n outline: 0;\n box-shadow: none !important;\n box-shadow: 0px 18px 18px 0px rgba(20, 28, 91, 0.19);\n }\n}\n\n.btn-lg {\n font-size: 20px;\n padding: 20px 90px;\n}\n\n.btn-primary {\n background: $primary-gradient;\n color: $white;\n border: 0;\n\n &:active,\n &:hover,\n &.focus,\n &.active {\n background: $primary-gradient !important;\n color: $white;\n border: 0;\n }\n}\n\n\n.btn-outline-primary {\n background: transparent;\n color: $primary-color;\n border-color: $primary-color;\n\n &:active,\n &:hover,\n &.focus,\n &.active {\n background: $primary-gradient !important;\n color: $white;\n border-color: $primary-color;\n }\n}\n\n\n.btn-secondary {\n background: $secondary-color;\n color: $white;\n border: 0;\n\n &:active,\n &:hover,\n &.focus,\n &.active {\n background: $secondary-color !important;\n color: $white;\n border: 0;\n }\n}\n\n\n.btn-outline-light {\n background: transparent;\n color: $white;\n border-color: $white;\n\n &:active,\n &:hover,\n &.focus,\n &.active {\n background: $white !important;\n color: $text-color-dark;\n border-color: $white;\n }\n}\n\n\n.btn-transparent {\n color: $primary-color;\n border: 0;\n padding-left: 0;\n background: $primary-gradient;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n\n &:active,\n &:hover,\n &.focus,\n &.active {\n color: $primary-color;\n border: 0;\n padding-left: 0;\n background: $primary-gradient;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n box-shadow: none;\n text-decoration: underline;\n }\n}","body {\n background-color: $body-color;\n overflow-x: hidden;\n}\n\n::selection {\n background: lighten($color: $primary-color, $amount: 10);\n color: $white;\n}\n\n/* preloader */\n\n.preloader {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #fff;\n z-index: 999;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\nol,\nul {\n list-style-type: none;\n margin: 0px;\n}\n\nimg {\n vertical-align: middle;\n border: 0;\n}\n\na {\n color: $primary-color;\n}\n\na,\na:hover,\na:focus {\n text-decoration: none;\n}\n\n.hover-text-underline:hover {\n text-decoration: underline;\n}\n\na,\nbutton,\nselect {\n cursor: pointer;\n transition: .2s ease;\n\n &:focus {\n outline: 0;\n }\n}\n\na:hover {\n color: $primary-color;\n}\n\n.slick-slide {\n outline: 0;\n}\n\n.section {\n padding-top: 110px;\n padding-bottom: 100px;\n\n &-sm {\n padding-top: 60px;\n padding-bottom: 60px;\n }\n\n &-lg {\n padding-top: 170px;\n padding-bottom: 170px;\n }\n}\n\n.section-border {\n height: 9px;\n width: 220px;\n background: $primary-gradient;\n border-radius: 5px;\n margin: 40px auto 90px;\n}\n\n.bg-cover {\n background-size: cover;\n background-position: center center;\n background-repeat: no-repeat;\n}\n\n.bg-contain {\n background-size: contain;\n background-position: center right;\n background-repeat: no-repeat;\n}\n\n.border-primary {\n border-color: $border-color !important;\n}\n\n/* overlay */\n\n.overlay {\n position: relative;\n\n &::before {\n position: absolute;\n content: '';\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: $black;\n opacity: .8;\n }\n\n &-primary {\n position: relative;\n\n &::before {\n position: absolute;\n content: '';\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: $primary-color;\n opacity: .8;\n }\n }\n\n &-secondary {\n position: relative;\n\n &::before {\n position: absolute;\n content: '';\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: $secondary-color;\n opacity: .8;\n }\n }\n\n &-secondary-half {\n position: relative;\n\n &::before {\n position: absolute;\n content: '';\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background: linear-gradient(to right, $secondary-color 60%, transparent);\n }\n }\n\n &-image {\n position: absolute;\n height: 100%;\n width: 100%;\n left: 0;\n top: 0;\n }\n}\n\n.outline-0 {\n outline: 0 !important;\n}\n\n.d-unset {\n display: unset !important;\n}\n\n.bg-primary {\n background: $primary-color !important;\n}\n\n.bg-secondary {\n background: $secondary-color !important;\n}\n\n.text-primary {\n color: $primary-color !important;\n}\n\n.text-secondary {\n color: $secondary-color !important;\n}\n\n.text-gradient-primary {\n background: $primary-gradient;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\n.text-light {\n color: #b7b8f1 !important;\n}\n\n.text-color {\n color: $text-color !important;\n}\n\n.mb-10 {\n margin-bottom: 10px !important;\n}\n\n.mb-20 {\n margin-bottom: 20px !important;\n}\n\n.mb-30 {\n margin-bottom: 30px !important;\n}\n\n.mb-40 {\n margin-bottom: 40px !important;\n}\n\n.mb-50 {\n margin-bottom: 50px !important;\n}\n\n.mb-60 {\n margin-bottom: 60px !important;\n}\n\n.mb-70 {\n margin-bottom: 70px !important;\n}\n\n.mb-80 {\n margin-bottom: 80px !important;\n}\n\n.mb-90 {\n margin-bottom: 90px !important;\n}\n\n.mb-100 {\n margin-bottom: 100px !important;\n}\n\n.zindex-1 {\n z-index: 1;\n}\n\n.top-100 {\n top: 100px;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.font-primary {\n font-family: $primary-font !important;\n}\n\n.font-secondary {\n font-family: $secondary-font !important;\n}\n\n.shadow {\n box-shadow: 0px 46px 65px 0px rgba(181, 188, 236, 0.16) !important;\n}\n\n.bg-gradient-primary {\n background: $primary-gradient !important;\n}\n\n.transition {\n transition: .3s ease;\n}\n\n.vertical-align-middle {\n vertical-align: middle;\n}\n\n/* form control */\n.form-control {\n height: 50px;\n border-radius: 0;\n border: 0;\n border-bottom: 1px solid $border-color;\n\n &:focus {\n box-shadow: none !important;\n border-color: $primary-color;\n }\n}\n\ntextarea.form-control {\n height: 150px;\n}\n\n/* /form control */\n\n/* page-title */\n.page-title {\n padding: 170px 0 190px;\n}\n\n/* /page-title */\n\n\n/* list style */\n.list-styled {\n padding-left: 0;\n\n li {\n position: relative;\n padding-left: 25px;\n list-style-type: none;\n\n &::before {\n position: absolute;\n content: \"\\e65d\";\n font-family: $icon-font;\n font-size: 14px;\n left: 0;\n top: 0px;\n color: $secondary-color;\n transition: .3s ease;\n }\n }\n}\n\n/* social icons */\n.social-icons {\n a {\n display: block;\n height: 50px;\n width: 50px;\n border-radius: 50%;\n line-height: 50px;\n background: $secondary-color;\n color: $white;\n text-align: center;\n }\n}\n\n/* /social icons */",".navigation {\n padding: 20px 100px;\n transition: .3s ease;\n\n &.nav-bg {\n background-color: $secondary-color;\n padding: 15px 100px;\n\n @include desktop {\n padding: 15px 20px;\n }\n }\n\n @include desktop {\n padding: 20px;\n background: $secondary-color;\n }\n}\n\n.navbar {\n .nav-item {\n .nav-link {\n font-family: $primary-font;\n padding: 15px;\n font-size: 18px;\n }\n\n &.active {\n font-weight: bold;\n }\n }\n\n .dropdown {\n\n &-menu {\n box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.12);\n padding: 15px;\n border: 0;\n top: calc(100% - 2px);\n left: -10px;\n border-radius: 0;\n background: $white;\n &.show{\n display: block !important;\n }\n }\n\n &-item {\n position: relative;\n color: $text-color-dark;\n transition: .2s ease;\n font-family: $primary-font;\n padding: 10px;\n text-decoration: none;\n margin-bottom: 0 !important;\n &:not(:last-child) {\n margin-bottom: 10px;\n }\n }\n }\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: $white;\n}",".banner {\n min-height: 100vh;\n}\n\n.content-center {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.hover-bg-secondary {\n transition: .2s ease;\n\n * {\n transition: inherit;\n }\n\n &:hover {\n background: $secondary-color;\n\n * {\n color: $white;\n }\n }\n\n &.active {\n background: $secondary-color;\n\n * {\n color: $white;\n }\n }\n}\n\n.hover-bg-primary {\n transition: .2s ease;\n\n * {\n transition: inherit;\n }\n\n &:hover {\n background: $primary-color;\n\n * {\n color: $white;\n }\n }\n\n &.active {\n background: $primary-color;\n\n * {\n color: $white;\n }\n }\n}\n\n.icon-box {\n height: 100px;\n width: 100px;\n line-height: 100px;\n}\n\n.icon-box-sm {\n height: 80px;\n width: 80px;\n line-height: 80px;\n}\n\n.icon-watermark {\n position: absolute;\n left: 50%;\n top: 32%;\n transform: translate(-50%, -50%);\n opacity: .1;\n transition: inherit;\n}\n\n.card:hover {\n .icon-watermark {\n transform: translate(-50%, -50%) scale(1.5);\n }\n}\n\n.bg-image {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n width: auto;\n\n img {\n height: 100%;\n max-width: 100%;\n @include desktop {\n display: none;\n }\n @include tablet {\n display: block;\n height: auto;\n }\n }\n}\n\n.hover-shadow {\n &::before {\n transition: .3s ease;\n position: absolute;\n height: 100%;\n box-shadow: 0px 33px 49px 0px rgba(190, 193, 228, 0.31);\n width: 100%;\n left: 0;\n right: 0;\n z-index: 1;\n content: \"\";\n opacity: 0;\n }\n\n &:hover {\n &::before {\n opacity: 1;\n }\n }\n}\n\n/* pricing */\n.bottom-shape {\n position: relative;\n overflow: hidden;\n\n * {\n position: relative;\n z-index: 1;\n }\n\n &::before {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n transform: rotate(40deg);\n background: $primary-gradient;\n left: 0;\n top: 60%;\n opacity: .5;\n }\n\n &::after {\n position: absolute;\n content: \"\";\n height: 100%;\n width: 100%;\n transform: rotate(40deg);\n background: $primary-gradient;\n left: 20%;\n top: 55%;\n }\n}\n\n/* /pricing */\n\n/* project */\n.project-item {\n position: relative;\n\n &:hover {\n .project-hover {\n visibility: visible;\n opacity: 1;\n transform: rotateX(0deg);\n }\n }\n}\n\n.project-hover {\n position: absolute;\n width: 80%;\n left: 10%;\n bottom: 10%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n visibility: hidden;\n opacity: 0;\n transform: rotateX(90deg);\n transition: .3s ease;\n transform-origin: bottom;\n\n i {\n height: 55px;\n width: 55px;\n line-height: 55px;\n border: 1px solid $white;\n border-radius: 50%;\n text-align: center;\n display: block;\n\n &:hover {\n border-color: $primary-color;\n }\n }\n}\n\n/* /project */\n\n/* footer */\nfooter {\n .overlay-image {\n height: 80%;\n width: 80%;\n left: 10%;\n top: 10%;\n }\n}","/* progressbar */\n.progress-block {\n .progress {\n height: 8px;\n border-radius: 10px;\n margin-bottom: 40px;\n overflow: visible;\n position: relative;\n box-shadow: 0px 9px 24px 0px rgba(19, 5, 44, 0.21);\n }\n\n .progress-bar {\n background: $primary-gradient;\n width: 0;\n transition: all 3s ease-in-out;\n top: 0;\n left: 0;\n height: 100%;\n border-radius: 10px;\n\n .skill-number {\n position: absolute;\n top: -22px;\n right: 0px;\n }\n }\n}\n\n/* /progressbar */\n\n/* video */\n.video-player {\n iframe {\n width: 100%;\n height: 100%;\n }\n\n .play-icon {\n position: absolute;\n left: 0;\n top: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n text-align: center;\n }\n}\n\n\n/* ripple animation */\n@mixin rings($duration, $delay) {\n opacity: 0;\n position: absolute;\n right: 0;\n bottom: 0;\n content: '';\n height: 100%;\n width: 100%;\n border: 1px solid rgba($color: $border-color, $alpha: 1.0);\n border-radius: 100%;\n animation-name: ripple;\n animation-duration: $duration;\n animation-delay: $delay;\n animation-iteration-count: infinite;\n animation-timing-function: cubic-bezier(.65, 0, .34, 1);\n z-index: -1;\n}\n\n.ripple {\n border-radius: 50%;\n position: absolute;\n height: 130%;\n width: 130%;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n &::after {\n @include rings(3s, 0s);\n }\n\n &::before {\n @include rings(3s, 0.5s);\n }\n}\n\n\n@keyframes ripple {\n from {\n opacity: 1;\n transform: scale3d(0.75, 0.75, 1);\n }\n\n to {\n opacity: 0;\n transform: scale3d(1.5, 1.5, 1);\n }\n}\n\n\n/* /video */\n\n/* card slider */\n.ui-card-slider .left-slide::before {\n @include desktop {\n left: -100px;\n }\n @include tablet {\n display: none;\n }\n}\n.ui-card-slider .right-slide::before {\n @include desktop {\n right: -100px;\n }\n @include tablet {\n display: none;\n }\n}\n/* /card slider */\n\n/* google map */\n.map{\n height: 750px;\n}\n/* /google map */\n\n/* team */\n.img-thumb-circle{\n border-radius: 50%;\n overflow: hidden;\n max-height: 260px;\n max-width: 260px;\n}",".card{\n border: 0;\n border-radius: 0;\n &-img-top{\n border-radius: 0;\n }\n &-header{\n border: 0;\n }\n &-body{\n border: 0;\n border-radius: 0;\n }\n &-footer{\n border: 0;\n }\n}"]} \ No newline at end of file diff --git a/practicas/pp6/images/about/about-us.png b/practicas/pp6/images/about/about-us.png new file mode 100644 index 0000000000000000000000000000000000000000..e8963403e2ac8afaf504747c9be30a9a337b9839 GIT binary patch literal 175507 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�+JWzZKriL>o(A0uaf+?1JMdKfU4X-QAksqwmp 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 X(`G-D+x}%400000NkvXXu0mjfj7Gob literal 0 HcmV?d00001 diff --git a/practicas/pp6/images/about/video-thumb.jpg b/practicas/pp6/images/about/video-thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..935ad753fc09f452641677da618060b6205dc837 GIT binary patch literal 621644 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%0ARG@hrJv=7H2#Qi>=<2CF$%78{T0Hr}p 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

AWUQujDg)C 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

d)aG1wL1u)tQhsQzmovd&e8I7HMN#NwUI573 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

',trigger:"hover focus",title:"",delay:0,html:!(ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(ne={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},se="out",ae={HIDE:"hide"+Zt,HIDDEN:"hidden"+Zt,SHOW:(oe="show")+Zt,SHOWN:"shown"+Zt,INSERTED:"inserted"+Zt,CLICK:"click"+Zt,FOCUSIN:"focusin"+Zt,FOCUSOUT:"focusout"+Zt,MOUSEENTER:"mouseenter"+Zt,MOUSELEAVE:"mouseleave"+Zt},le="fade",ce="show",he=".tooltip-inner",".arrow",fe="hover",ue="focus","click","manual",de=function(){function t(t,e){if(void 0===n)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=zt(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),zt(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(zt(this.getTipElement()).hasClass(ce))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),zt.removeData(this.element,this.constructor.DATA_KEY),zt(this.element).off(this.constructor.EVENT_KEY),zt(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&zt(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===zt(this.element).css("display"))throw new Error("Please use show on visible elements");var e=zt.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){zt(this.element).trigger(e);var i=zt.contains(this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var r=this.getTipElement(),o=rn.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&zt(r).addClass(le);var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=!1===this.config.container?document.body:zt(this.config.container);zt(r).data(this.constructor.DATA_KEY,this),zt.contains(this.element.ownerDocument.documentElement,this.tip)||zt(r).appendTo(l),zt(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,{placement:a,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){t._handlePopperPlacementChange(e)}}),zt(r).addClass(ce),"ontouchstart"in document.documentElement&&zt(document.body).children().on("mouseover",null,zt.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,zt(t.element).trigger(t.constructor.Event.SHOWN),e===se&&t._leave(null,t)};if(zt(this.tip).hasClass(le)){var h=rn.getTransitionDurationFromElement(this.tip);zt(this.tip).one(rn.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=zt.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==oe&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),zt(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(zt(this.element).trigger(i),!i.isDefaultPrevented()){if(zt(n).removeClass(ce),"ontouchstart"in document.documentElement&&zt(document.body).children().off("mouseover",null,zt.noop),this._activeTrigger.click=!1,this._activeTrigger[ue]=!1,this._activeTrigger[fe]=!1,zt(this.tip).hasClass(le)){var o=rn.getTransitionDurationFromElement(n);zt(n).one(rn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){zt(this.getTipElement()).addClass(te+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||zt(this.config.template)[0],this.tip},e.setContent=function(){var t=zt(this.getTipElement());this.setElementContent(t.find(he),this.getTitle()),t.removeClass(le+" "+ce)},e.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?zt(e).parent().is(t)||t.empty().append(e):t.text(zt(e).text()):t[n?"html":"text"](e)},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getAttachment=function(t){return ie[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)zt(t.element).on(t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if("manual"!==e){var n=e===fe?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===fe?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;zt(t.element).on(n,t.config.selector,function(e){return t._enter(e)}).on(i,t.config.selector,function(e){return t._leave(e)})}zt(t.element).closest(".modal").on("hide.bs.modal",function(){return t.hide()})}),this.config.selector?this.config=o({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||zt(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),zt(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?ue:fe]=!0),zt(e.getTipElement()).hasClass(ce)||e._hoverState===oe?e._hoverState=oe:(clearTimeout(e._timeout),e._hoverState=oe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===oe&&e.show()},e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||zt(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),zt(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?ue:fe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=se,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===se&&e.hide()},e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){return"number"==typeof(t=o({},this.constructor.Default,zt(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),rn.typeCheckConfig(Xt,t,this.constructor.DefaultType),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=zt(this.getTipElement()),e=t.attr("class").match(ee);null!==e&&0

'}),Te=o({},fn.DefaultType,{content:"(string|element|function)"}),"fade",Ce=".popover-header",we=".popover-body",Ie={HIDE:"hide"+_e,HIDDEN:"hidden"+_e,SHOW:"show"+_e,SHOWN:"shown"+_e,INSERTED:"inserted"+_e,CLICK:"click"+_e,FOCUSIN:"focusin"+_e,FOCUSOUT:"focusout"+_e,MOUSEENTER:"mouseenter"+_e,MOUSELEAVE:"mouseleave"+_e},De=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Ee+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},o.setContent=function(){var t=pe(this.getTipElement());this.setElementContent(t.find(Ce),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(we),e),t.removeClass("fade show")},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=pe(this.getTipElement()),e=t.attr("class").match(ye);null!==e&&0=this._offsets[r]&&(void 0===this._offsets[r+1]||tthis.count)){var n=i[s],e=this.getSlidePosition(s);e&&e.addClass(n).removeClass("hidden-slide"),t++}},this.setSlidesTransition=function(){if(!this.slides||!this.slides.length)throw new Error("Slides is missing");null!==this.params.delay&&this.slides.each(function(){i(this).css({transitionDuration:n.params.delay+"ms",webkitTransitionDuration:n.params.delay+"ms"})}),null!==this.params.transition&&this.slides.each(function(){i(this).css({transitionTimingFunction:n.params.transition,webkitTransitionTimingFunction:n.params.transition})})},this.getIndexPosition=function(i){var t=parseInt(this.current)+parseInt(i);return t>=this.count?t-=this.count:t<=0&&(t=this.count+t),t},this.getSlidePosition=function(i){var t=this.getIndexPosition(i),s=this.getIndex(t),n=this.getSlideByIndex(s);return n},this.setWheeling=function(){if(1==this.count||this.count>5)return!1;var i=this.getSlideByIndex(this.getIndex(1));if(i){var t=i.clone(!0);this.slider.append(t)}var i=this.getSlideByIndex(this.getIndex(2));if(i){var t=i.clone(!0);this.slider.append(t)}if(2==this.count){var i=this.getSlideByIndex(this.getIndex(1));if(i){var t=i.clone(!0);this.slider.append(t)}var i=this.getSlideByIndex(this.getIndex(2));if(i){var t=i.clone(!0);this.slider.append(t)}}if(this.count>=3){var i=this.getSlideByIndex(this.getIndex(3));if(i){var t=i.clone(!0);this.slider.append(t)}if(this.count>=4){var i=this.getSlideByIndex(this.getIndex(4));if(i){var t=i.clone(!0);this.slider.append(t)}}if(this.count>=5){var i=this.getSlideByIndex(this.getIndex(5));if(i){var t=i.clone(!0);this.slider.append(t)}}}this.setSlides()},this.getSlideByIndex=function(t){if(!this.slides||!this.slides.length)throw new Error("Slides is missing");var s=i(this.slides.get(t));return s&&s.length?s:null},this.getCurrentSlide=function(){return this.getSlideByIndex(this.getIndex(this.current))},this.afterMoveHandler=function(){n.callFunction(n.params.onAfterMove)},this.moveHandler=function(){if(n.setSlideClasses(),n.hasFunction(n.params.onMove)?n.callFunction(n.params.onMove,n.afterMoveHandler):n.afterMoveHandler(),n.hasFunction(n.params.onAfterTransition)){var i=n.getCurrentSlide();i.one(n.transitionEvent,function(i){n.callFunction(n.params.onAfterTransition)})}n.followContent()},this.move=function(){0==this.current?this.current=this.count:this.current>this.count&&(this.current=1),this.hasFunction(this.params.onBeforeMove)?this.callFunction(this.params.onBeforeMove,this.moveHandler):this.moveHandler()},this.next=function(){this.current++,this.move()},this.prev=function(){this.current--,this.move()},this.followContent=function(){if(this.params.followingClass){i("."+this.params.followingClass).hide();var t=this.getSlideByIndex(this.getIndex(this.current));if(t){var s=t.data("index");i("."+this.params.followingClass+'[data-index="'+s+'"]').show()}}},this.hasFunction=function(i){return!(!i||"function"!=typeof i)},this.callFunction=function(i,t){this.hasFunction(i)&&i(this,t)},this.getIndex=function(i){var i=i-1;return i},this.getPercent=function(i,t){var i=parseFloat(i);return parseFloat(i)/100*t},this.whichTransitionEvent=function(){var i,t=document.createElement("transitionCheckElement"),s={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(i in s)if(void 0!==t.style[i])return s[i]},this.init(),this}}(jQuery)}catch(i){console.log(i)}finally{} diff --git a/practicas/pp6/plugins/counto/apear.js b/practicas/pp6/plugins/counto/apear.js new file mode 100644 index 00000000..9739280a --- /dev/null +++ b/practicas/pp6/plugins/counto/apear.js @@ -0,0 +1,8 @@ +/* + * jQuery.appear + * http://code.google.com/p/jquery-appear/ + * + * Copyright (c) 2009 Michael Hixson + * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) +*/ +(function($){$.fn.appear=function(f,o){var s=$.extend({one:true},o);return this.each(function(){var t=$(this);t.appeared=false;if(!f){t.trigger('appear',s.data);return;}var w=$(window);var c=function(){if(!t.is(':visible')){t.appeared=false;return;}var a=w.scrollLeft();var b=w.scrollTop();var o=t.offset();var x=o.left;var y=o.top;if(y+t.height()>=b&&y<=b+w.height()&&x+t.width()>=a&&x<=a+w.width()){if(!t.appeared)t.trigger('appear',s.data);}else{t.appeared=false;}};var m=function(){t.appeared=true;if(s.one){w.unbind('scroll',c);var i=$.inArray(c,$.fn.appear.checks);if(i>=0)$.fn.appear.checks.splice(i,1);}f.apply(this,arguments);};if(s.one)t.one('appear',s.data,m);else t.bind('appear',s.data,m);w.scroll(c);$.fn.appear.checks.push(c);(c)();});};$.extend($.fn.appear,{checks:[],timeout:null,checkAll:function(){var l=$.fn.appear.checks.length;if(l>0)while(l--)($.fn.appear.checks[l])();},run:function(){if($.fn.appear.timeout)clearTimeout($.fn.appear.timeout);$.fn.appear.timeout=setTimeout($.fn.appear.checkAll,20);}});$.each(['append','prepend','after','before','attr','removeAttr','addClass','removeClass','toggleClass','remove','css','show','hide'],function(i,n){var u=$.fn[n];if(u){$.fn[n]=function(){var r=u.apply(this,arguments);$.fn.appear.run();return r;}}});})(jQuery); \ No newline at end of file diff --git a/practicas/pp6/plugins/counto/counTo.js b/practicas/pp6/plugins/counto/counTo.js new file mode 100644 index 00000000..db7a1498 --- /dev/null +++ b/practicas/pp6/plugins/counto/counTo.js @@ -0,0 +1,119 @@ +(function ($) { + var CountTo = function (element, options) { + this.$element = $(element); + this.options = $.extend({}, CountTo.DEFAULTS, this.dataOptions(), options); + this.init(); + }; + + CountTo.DEFAULTS = { + from: 0, // the number the element should start at + to: 0, // the number the element should end at + speed: 1000, // how long it should take to count between the target numbers + refreshInterval: 100, // how often the element should be updated + decimals: 0, // the number of decimal places to show + formatter: formatter, // handler for formatting the value before rendering + onUpdate: null, // callback method for every time the element is updated + onComplete: null // callback method for when the element finishes updating + }; + + CountTo.prototype.init = function () { + this.value = this.options.from; + this.loops = Math.ceil(this.options.speed / this.options.refreshInterval); + this.loopCount = 0; + this.increment = (this.options.to - this.options.from) / this.loops; + }; + + CountTo.prototype.dataOptions = function () { + var options = { + from: this.$element.data('from'), + to: this.$element.data('to'), + speed: this.$element.data('speed'), + refreshInterval: this.$element.data('refresh-interval'), + decimals: this.$element.data('decimals') + }; + + var keys = Object.keys(options); + + for (var i in keys) { + var key = keys[i]; + + if (typeof(options[key]) === 'undefined') { + delete options[key]; + } + } + + return options; + }; + + CountTo.prototype.update = function () { + this.value += this.increment; + this.loopCount++; + + this.render(); + + if (typeof(this.options.onUpdate) == 'function') { + this.options.onUpdate.call(this.$element, this.value); + } + + if (this.loopCount >= this.loops) { + clearInterval(this.interval); + this.value = this.options.to; + + if (typeof(this.options.onComplete) == 'function') { + this.options.onComplete.call(this.$element, this.value); + } + } + }; + + CountTo.prototype.render = function () { + var formattedValue = this.options.formatter.call(this.$element, this.value, this.options); + this.$element.text(formattedValue); + }; + + CountTo.prototype.restart = function () { + this.stop(); + this.init(); + this.start(); + }; + + CountTo.prototype.start = function () { + this.stop(); + this.render(); + this.interval = setInterval(this.update.bind(this), this.options.refreshInterval); + }; + + CountTo.prototype.stop = function () { + if (this.interval) { + clearInterval(this.interval); + } + }; + + CountTo.prototype.toggle = function () { + if (this.interval) { + this.stop(); + } else { + this.start(); + } + }; + + function formatter(value, options) { + return value.toFixed(options.decimals); + } + + $.fn.countTo = function (option) { + return this.each(function () { + var $this = $(this); + var data = $this.data('countTo'); + var init = !data || typeof(option) === 'object'; + var options = typeof(option) === 'object' ? option : {}; + var method = typeof(option) === 'string' ? option : 'start'; + + if (init) { + if (data) data.stop(); + $this.data('countTo', data = new CountTo(this, options)); + } + + data[method].call(data); + }); + }; +}(jQuery)); diff --git a/practicas/pp6/plugins/google-map/gmap.js b/practicas/pp6/plugins/google-map/gmap.js new file mode 100644 index 00000000..57218e30 --- /dev/null +++ b/practicas/pp6/plugins/google-map/gmap.js @@ -0,0 +1,75 @@ +window.marker = null; + +function initialize() { + var map; + var latitude = $('#map_canvas').attr('data-latitude'); + var longitude = $('#map_canvas').attr('data-longitude'); + var mapMarker = $('#map_canvas').attr('data-marker'); + var nottingham = new google.maps.LatLng(latitude, longitude); + var style = [{ + "featureType": "administrative", + "elementType": "labels.text", + "stylers": [{ + "visibility": "on" + }] + }, + { + "featureType": "poi", + "elementType": "all", + "stylers": [{ + "visibility": "off" + }] + }, + { + "featureType": "transit.station.rail", + "elementType": "all", + "stylers": [{ + "visibility": "simplified" + }, + { + "saturation": "-100" + } + ] + }, + { + "featureType": "water", + "elementType": "all", + "stylers": [{ + "visibility": "on" + }] + } + ]; + var mapOptions = { + center: nottingham, + mapTypeId: google.maps.MapTypeId.ROADMAP, + backgroundColor: "#000", + zoom: 15, + panControl: false, + zoomControl: true, + mapTypeControl: false, + scaleControl: false, + streetViewControl: false, + overviewMapControl: false, + zoomControlOptions: { + style: google.maps.ZoomControlStyle.LARGE + } + } + map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions); + var mapType = new google.maps.StyledMapType(style, { + name: "Grayscale" + }); + map.mapTypes.set('grey', mapType); + map.setMapTypeId('grey'); + var marker_image = mapMarker; + var pinIcon = new google.maps.MarkerImage(marker_image, null, null, null, new google.maps.Size(60, 88)); + marker = new google.maps.Marker({ + position: nottingham, + map: map, + icon: pinIcon, + title: 'Agen' + }); +} +var map = document.getElementById('map_canvas'); +if (map != null) { + google.maps.event.addDomListener(window, 'load', initialize); +} \ No newline at end of file diff --git a/practicas/pp6/plugins/jQuery/jquery.min.js b/practicas/pp6/plugins/jQuery/jquery.min.js new file mode 100644 index 00000000..2ce938cc --- /dev/null +++ b/practicas/pp6/plugins/jQuery/jquery.min.js @@ -0,0 +1 @@ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},v=function(e){return null!=e&&e===e.window},y={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in y)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b=function(e,t){return new b.fn.init(e,t)},w=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function T(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!v(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}b.fn=b.prototype={jquery:"3.3.1",constructor:b,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return b.each(this,e)},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!v||!v.test(e))){if(1!==T)m=t,y=e;else if("object"!==t.nodeName.toLowerCase()){for((c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;s--;)h[s]="#"+c+" "+ye(h[s]);y=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(y)try{return L.apply(r,m.querySelectorAll(y)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&void 0!==e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=be(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):L.apply(a,y)})}function Te(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ye(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,u=i.length>0,c=function(e,t,n,a,c){var f,h,v,y=0,m="0",x=e&&[],b=[],w=l,C=e||u&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=t===d||t||c);m!==k&&null!=(f=C[m]);m++){if(u&&f){for(h=0,t||f.ownerDocument===d||(p(f),n=!g);v=i[h++];)if(v(f,t||d,n)){a.push(f);break}c&&(T=E)}s&&((f=!v&&f)&&y--,e&&x.push(f))}if(y+=m,s&&m!==y){for(h=0;v=o[h++];)v(x,b,t,n);if(e){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=j.call(a));b=be(b)}L.apply(a,b),c&&!e&&b.length>0&&y+o.length>1&&oe.uniqueSort(a)}return c&&(T=E,l=w),x},s?se(c):c))).selector=e}return v},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=V.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ye(u)))return L.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);b.find=C,b.expr=C.selectors,b.expr[":"]=b.expr.pseudos,b.uniqueSort=b.unique=C.uniqueSort,b.text=C.getText,b.isXMLDoc=C.isXML,b.contains=C.contains,b.escapeSelector=C.escape;var E=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&b(e).is(n))break;r.push(e)}return r},k=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=b.expr.match.needsContext;function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function A(e,t,n){return g(t)?b.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?b.grep(e,function(e){return e===t!==n}):"string"!=typeof t?b.grep(e,function(e){return u.call(t,e)>-1!==n}):b.filter(t,e,n)}b.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?b.find.matchesSelector(r,e)?[r]:[]:b.find.matches(e,b.grep(t,function(e){return 1===e.nodeType}))},b.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(b(e).filter(function(){for(t=0;t1?b.uniqueSort(n):n},filter:function(e){return this.pushStack(A(this,e||[],!1))},not:function(e){return this.pushStack(A(this,e||[],!0))},is:function(e){return!!A(this,"string"==typeof e&&S.test(e)?b(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(b.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof b?t[0]:t,b.merge(this,b.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),N.test(i[1])&&b.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(b):b.makeArray(e,this)}).prototype=b.fn,j=b(r);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}b.fn.extend({has:function(e){var t=b(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&b.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?b.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(b(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(b.uniqueSort(b.merge(this.get(),b(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,"parentNode")},parentsUntil:function(e,t,n){return E(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return E(e,"nextSibling")},prevAll:function(e){return E(e,"previousSibling")},nextUntil:function(e,t,n){return E(e,"nextSibling",n)},prevUntil:function(e,t,n){return E(e,"previousSibling",n)},siblings:function(e){return k((e.parentNode||{}).firstChild,e)},children:function(e){return k(e.firstChild)},contents:function(e){return D(e,"iframe")?e.contentDocument:(D(e,"template")&&(e=e.content||e),b.merge([],e.childNodes))}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),this.length>1&&(H[e]||b.uniqueSort(i),L.test(e)&&i.reverse()),this.pushStack(i)}});var P=/[^\x20\t\r\n\f]+/g;function M(e){return e}function R(e){throw e}function I(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}b.Callbacks=function(e){var t,n;e="string"==typeof e?(t=e,n={},b.each(t.match(P)||[],function(e,t){n[t]=!0}),n):b.extend({},e);var r,i,o,a,s=[],u=[],l=-1,c=function(){for(a=a||e.once,o=r=!0;u.length;l=-1)for(i=u.shift();++l-1;)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?b.inArray(e,s)>-1:s.length>0},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=i="",this},disabled:function(){return!s},lock:function(){return a=u=[],i||r||(s=i=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),r||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},b.extend({Deferred:function(t){var n=[["notify","progress",b.Callbacks("memory"),b.Callbacks("memory"),2],["resolve","done",b.Callbacks("once memory"),b.Callbacks("once memory"),0,"resolved"],["reject","fail",b.Callbacks("once memory"),b.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return b.Deferred(function(t){b.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==R&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(b.Deferred.getStackHook&&(c.stackTrace=b.Deferred.getStackHook()),e.setTimeout(c))}}return b.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:M,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:M)),n[2][3].add(a(0,e,g(r)?r:R))}).promise()},promise:function(e){return null!=e?b.extend(e,i):i}},o={};return b.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=b.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(I(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();for(;n--;)I(i[n],s(n),a.reject);return a.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;b.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&W.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},b.readyException=function(t){e.setTimeout(function(){throw t})};var $=b.Deferred();function B(){r.removeEventListener("DOMContentLoaded",B),e.removeEventListener("load",B),b.ready()}b.fn.ready=function(e){return $.then(e).catch(function(e){b.readyException(e)}),this},b.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--b.readyWait:b.isReady)||(b.isReady=!0,!0!==e&&--b.readyWait>0||$.resolveWith(r,[b]))}}),b.ready.then=$.then,"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(b.ready):(r.addEventListener("DOMContentLoaded",B),e.addEventListener("load",B));var F=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)F(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(b(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),b.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,b.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){b.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:b.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),b.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,ce=/^$|^module$|\/(?:java|ecma)script/i,fe={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function pe(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&D(e,t)?b.merge([e],n):n}function de(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=b.contains(o.ownerDocument,o),a=pe(f.appendChild(o),"script"),l&&de(a),n)for(c=0;o=a[c++];)ce.test(o.type||"")&&n.push(o);return f}he=r.createDocumentFragment().appendChild(r.createElement("div")),(ge=r.createElement("input")).setAttribute("type","radio"),ge.setAttribute("checked","checked"),ge.setAttribute("name","t"),he.appendChild(ge),h.checkClone=he.cloneNode(!0).cloneNode(!0).lastChild.checked,he.innerHTML="",h.noCloneChecked=!!he.cloneNode(!0).lastChild.defaultValue;var me=r.documentElement,xe=/^key/,be=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,we=/^([^.]*)(?:\.(.+)|)/;function Te(){return!0}function Ce(){return!1}function Ee(){try{return r.activeElement}catch(e){}}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ce;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return b().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=b.guid++)),e.each(function(){b.event.add(this,t,i,r,n)})}b.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(e);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&b.find.matchesSelector(me,i),n.guid||(n.guid=b.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(t){return void 0!==b&&b.event.triggered!==t.type?b.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(P)||[""]).length;l--;)d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=b.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=b.event.special[d]||{},c=b.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&b.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),b.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(P)||[""]).length;l--;)if(s=we.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){for(f=b.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||b.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=b.event.fix(e),u=new Array(arguments.length),l=(Y.get(this,"events")||{})[s.type]||[],c=b.event.special[s.type]||{};for(u[0]=s,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:b.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,De=/\s*$/g;function je(e,t){return D(e,"table")&&D(11!==t.nodeType?t:t.firstChild,"tr")&&b(e).children("tbody")[0]||e}function qe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Le(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function He(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Y.hasData(e)&&(o=Y.access(e),a=Y.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof v&&!h.checkClone&&Ne.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Oe(o,t,n,r)});if(p&&(o=(i=ye(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=b.map(pe(i,"script"),qe)).length;f")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=b.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(a=pe(c),r=0,i=(o=pe(e)).length;r0&&de(a,!f&&pe(e,"script")),c},cleanData:function(e){for(var t,n,r,i=b.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?b.event.remove(n,r):b.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),b.fn.extend({detach:function(e){return Pe(this,e,!0)},remove:function(e){return Pe(this,e)},text:function(e){return F(this,function(e){return void 0===e?b.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Oe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return Oe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Oe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Oe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(b.cleanData(pe(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return F(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!De.test(e)&&!fe[(le.exec(e)||["",""])[1].toLowerCase()]){e=b.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function Qe(e,t,n){var r=Re(e),i=We(e,t,r),o="border-box"===b.css(e,"boxSizing",!1,r),a=o;if(Me.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===b.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ye(e,t,n||(o?"border":"content"),a,r,i)+"px"}function Je(e,t,n,r,i){return new Je.prototype.init(e,t,n,r,i)}b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=U(t),u=Fe.test(t),l=e.style;if(u||(t=Ve(s)),a=b.cssHooks[t]||b.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=oe(e,t,i),o="number"),null!=n&&n==n&&("number"===o&&(n+=i&&i[3]||(b.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=U(t);return Fe.test(t)||(t=Ve(s)),(a=b.cssHooks[t]||b.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in ze&&(i=ze[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),b.each(["height","width"],function(e,t){b.cssHooks[t]={get:function(e,n,r){if(n)return!Be.test(b.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Qe(e,t,r):ie(e,_e,function(){return Qe(e,t,r)})},set:function(e,n,r){var i,o=Re(e),a="border-box"===b.css(e,"boxSizing",!1,o),s=r&&Ye(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ye(e,t,"border",!1,o)-.5)),s&&(i=te.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=b.css(e,t)),Ge(0,n,s)}}}),b.cssHooks.marginLeft=$e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+ne[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(b.cssHooks[e+t].set=Ge)}),b.fn.extend({css:function(e,t){return F(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a1)}}),b.Tween=Je,Je.prototype={constructor:Je,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||b.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=Je.propHooks[this.prop];return e&&e.get?e.get(this):Je.propHooks._default.get(this)},run:function(e){var t,n=Je.propHooks[this.prop];return this.options.duration?this.pos=t=b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Je.propHooks._default.set(this),this}},Je.prototype.init.prototype=Je.prototype,Je.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=b.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[b.cssProps[e.prop]]&&!b.cssHooks[e.prop]?e.elem[e.prop]=e.now:b.style(e.elem,e.prop,e.now+e.unit)}}},Je.propHooks.scrollTop=Je.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},b.fx=Je.prototype.init,b.fx.step={};var Ke,Ze,et,tt,nt=/^(?:toggle|show|hide)$/,rt=/queueHooks$/;function it(){Ze&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(it):e.setTimeout(it,b.fx.interval),b.fx.tick())}function ot(){return e.setTimeout(function(){Ke=void 0}),Ke=Date.now()}function at(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function st(e,t,n){for(var r,i=(ut.tweeners[t]||[]).concat(ut.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})}}),b.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?b.prop(e,t,n):(1===o&&b.isXMLDoc(e)||(i=b.attrHooks[t.toLowerCase()]||(b.expr.match.bool.test(t)?lt:void 0)),void 0!==n?null===n?void b.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=b.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&D(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),lt={set:function(e,t,n){return!1===t?b.removeAttr(e,n):e.setAttribute(n,n),n}},b.each(b.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ct[t]||b.find.attr;ct[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ct[a],ct[a]=i,i=null!=n(e,t,r)?a:null,ct[a]=o),i}});var ft=/^(?:input|select|textarea|button)$/i,pt=/^(?:a|area)$/i;function dt(e){return(e.match(P)||[]).join(" ")}function ht(e){return e.getAttribute&&e.getAttribute("class")||""}function gt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}b.fn.extend({prop:function(e,t){return F(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[b.propFix[e]||e]})}}),b.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&b.isXMLDoc(e)||(t=b.propFix[t]||t,i=b.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=b.find.attr(e,"tabindex");return t?parseInt(t,10):ft.test(e.nodeName)||pt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),h.optSelected||(b.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),b.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){b.propFix[this.toLowerCase()]=this}),b.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){b(this).addClass(e.call(this,t,ht(this)))});if((t=gt(e)).length)for(;n=this[u++];)if(i=ht(n),r=1===n.nodeType&&" "+dt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=dt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){b(this).removeClass(e.call(this,t,ht(this)))});if(!arguments.length)return this.attr("class","");if((t=gt(e)).length)for(;n=this[u++];)if(i=ht(n),r=1===n.nodeType&&" "+dt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=dt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,ht(this),t),t)}):this.each(function(){var t,i,o,a;if(r)for(i=0,o=b(this),a=gt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=ht(this))&&Y.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+dt(ht(n))+" ").indexOf(t)>-1)return!0;return!1}});var vt=/\r/g;b.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,b(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=b.map(i,function(e){return null==e?"":e+""})),(t=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=b.valHooks[i.type]||b.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(vt,""):null==n?"":n:void 0}}),b.extend({valHooks:{option:{get:function(e){var t=b.find.attr(e,"value");return null!=t?t:dt(b.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=b.inArray(b(e).val(),t)>-1}},h.checkOn||(b.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var yt=/^(?:focusinfocus|focusoutblur)$/,mt=function(e){e.stopPropagation()};b.extend(b.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,y=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!yt.test(m+b.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,(t=t[b.expando]?t:new b.Event(m,"object"==typeof t&&t)).isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:b.makeArray(n,[t]),d=b.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!v(i)){for(l=d.delegateType||m,yt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)y.push(s),u=s;u===(i.ownerDocument||r)&&y.push(u.defaultView||u.parentWindow||e)}for(a=0;(s=y[a++])&&!t.isPropagationStopped();)h=s,t.type=a>1?l:d.bindType||m,(p=(Y.get(s,"events")||{})[t.type]&&Y.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&V(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(y.pop(),n)||!V(i)||c&&g(i[m])&&!v(i)&&((u=i[c])&&(i[c]=null),b.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,mt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,mt),b.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=b.extend(new b.Event,n,{type:e,isSimulated:!0});b.event.trigger(r,null,t)}}),b.fn.extend({trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return b.event.trigger(e,t,n,!0)}}),h.focusin||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){b.event.simulate(t,e.target,b.event.fix(e))};b.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Y.access(r,t);i||r.addEventListener(e,n,!0),Y.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Y.access(r,t)-1;i?Y.access(r,t,i):(r.removeEventListener(e,n,!0),Y.remove(r,t))}}});var xt=e.location,bt=Date.now(),wt=/\?/;b.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+t),n};var Tt=/\[\]$/,Ct=/\r?\n/g,Et=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function St(e,t,n,r){var i;if(Array.isArray(t))b.each(t,function(t,i){n||Tt.test(e)?r(e,i):St(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)St(e+"["+i+"]",t[i],n,r)}b.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){i(this.name,this.value)});else for(n in e)St(n,e[n],t,i);return r.join("&")},b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&kt.test(this.nodeName)&&!Et.test(e)&&(this.checked||!ue.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:Array.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(Ct,"\r\n")}}):{name:t.name,value:n.replace(Ct,"\r\n")}}).get()}});var Dt=/%20/g,Nt=/#.*$/,At=/([?&])_=[^&]*/,jt=/^(.*?):[ \t]*([^\r\n]*)$/gm,qt=/^(?:GET|HEAD)$/,Lt=/^\/\//,Ht={},Ot={},Pt="*/".concat("*"),Mt=r.createElement("a");function Rt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(P)||[];if(g(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function It(e,t,n,r){var i={},o=e===Ot;function a(s){var u;return i[s]=!0,b.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Wt(e,t){var n,r,i=b.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&b.extend(!0,e,r),e}Mt.href=xt.href,b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:xt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(xt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Pt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Wt(Wt(e,b.ajaxSettings),t):Wt(b.ajaxSettings,e)},ajaxPrefilter:Rt(Ht),ajaxTransport:Rt(Ot),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=b.ajaxSetup({},n),g=h.context||h,v=h.context&&(g.nodeType||g.jquery)?b(g):b.event,y=b.Deferred(),m=b.Callbacks("once memory"),x=h.statusCode||{},w={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s)for(s={};t=jt.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(y.promise(E),h.url=((t||h.url||xt.href)+"").replace(Lt,xt.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(P)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Mt.protocol+"//"+Mt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=b.param(h.data,h.traditional)),It(Ht,h,n,E),c)return E;(f=b.event&&h.global)&&0==b.active++&&b.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!qt.test(h.type),o=h.url.replace(Nt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Dt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(wt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(At,"$1"),d=(wt.test(o)?"&":"?")+"_="+bt+++d),h.url=o+d),h.ifModified&&(b.lastModified[o]&&E.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&E.setRequestHeader("If-None-Match",b.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Pt+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=It(Ot,h,n,E)){if(E.readyState=1,f&&v.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(w,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,w,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(h,E,r)),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(h,w,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(b.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(b.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=w.state,p=w.data,l=!(d=w.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?y.resolveWith(g,[p,C,E]):y.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&v.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(v.trigger("ajaxComplete",[E,h]),--b.active||b.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return b.get(e,t,n,"json")},getScript:function(e,t){return b.get(e,void 0,t,"script")}}),b.each(["get","post"],function(e,t){b[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),b.ajax(b.extend({url:e,type:t,dataType:i,data:n,success:r},b.isPlainObject(e)&&e))}}),b._evalUrl=function(e){return b.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},b.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=b(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){b(this).replaceWith(this.childNodes)}),this}}),b.expr.pseudos.hidden=function(e){return!b.expr.pseudos.visible(e)},b.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var $t={0:200,1223:204},Bt=b.ajaxSettings.xhr();h.cors=!!Bt&&"withCredentials"in Bt,h.ajax=Bt=!!Bt,b.ajaxTransport(function(t){var n,r;if(h.cors||Bt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o($t[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),b.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),b.ajaxTransport("script",function(e){var t,n;if(e.crossDomain)return{send:function(i,o){t=b(" + + + + + + + + + \ No newline at end of file diff --git a/practicas/pp6/includes/functions.php b/practicas/pp6/includes/functions.php index e69de29b..31f11eec 100644 --- a/practicas/pp6/includes/functions.php +++ b/practicas/pp6/includes/functions.php @@ -0,0 +1,465 @@ += $min && $length <= $max; +} + +/** + * Generar token CSRF para formularios + */ +function generar_csrf_token() { + if (session_status() === PHP_SESSION_NONE) { + session_start(); + } + if (empty($_SESSION['csrf_token'])) { + $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); + } + return $_SESSION['csrf_token']; +} + +/** + * Verificar token CSRF + */ +function verificar_csrf_token($token) { + if (session_status() === PHP_SESSION_NONE) { + session_start(); + } + return isset($_SESSION['csrf_token']) && hash_equals($_SESSION['csrf_token'], $token); +} + +// ==================================== +// FUNCIONES DE SESIÓN Y AUTENTICACIÓN +// ==================================== + +/** + * Iniciar sesión de manera segura + */ +function iniciar_sesion_segura() { + if (session_status() === PHP_SESSION_NONE) { + session_start(); + } + + // Regenerar ID de sesión periódicamente + if (!isset($_SESSION['last_regeneration'])) { + $_SESSION['last_regeneration'] = time(); + } elseif (time() - $_SESSION['last_regeneration'] > 300) { // Cada 5 minutos + session_regenerate_id(true); + $_SESSION['last_regeneration'] = time(); + } + + // Verificar timeout de sesión + if (isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > SESSION_TIMEOUT)) { + session_unset(); + session_destroy(); + header('Location: login.php?timeout=1'); + exit(); + } + $_SESSION['last_activity'] = time(); +} + +/** + * Verificar si el usuario está logueado + */ +function esta_logueado() { + iniciar_sesion_segura(); + return isset($_SESSION['user_id']) && !empty($_SESSION['user_id']); +} + +/** + * Verificar si el usuario es administrador + */ +function es_admin() { + return esta_logueado() && isset($_SESSION['user_role']) && $_SESSION['user_role'] === 'admin'; +} + +/** + * Redirigir si NO está logueado + */ +function requerir_login($redirect = '../login.php') { + if (!esta_logueado()) { + header('Location: ' . $redirect); + exit(); + } +} + +/** + * Redirigir si NO es administrador + */ +function requerir_admin($redirect = '../index.php') { + requerir_login(); + if (!es_admin()) { + header('Location: ' . $redirect); + exit(); + } +} + +/** + * Cerrar sesión de manera segura + */ +function cerrar_sesion() { + if (session_status() === PHP_SESSION_NONE) { + session_start(); + } + $_SESSION = array(); + + if (isset($_COOKIE[session_name()])) { + setcookie(session_name(), '', time() - 3600, '/'); + } + + session_destroy(); +} + +// ==================================== +// FUNCIONES DE FORMATO Y PRESENTACIÓN +// ==================================== + +/** + * Formatear fecha en español + */ +function formatear_fecha($fecha, $formato = 'completo') { + $timestamp = is_numeric($fecha) ? $fecha : strtotime($fecha); + + $meses = [ + 1 => 'enero', 2 => 'febrero', 3 => 'marzo', 4 => 'abril', + 5 => 'mayo', 6 => 'junio', 7 => 'julio', 8 => 'agosto', + 9 => 'septiembre', 10 => 'octubre', 11 => 'noviembre', 12 => 'diciembre' + ]; + + switch ($formato) { + case 'corto': + // Ejemplo: 15/11/2024 + return date('d/m/Y', $timestamp); + + case 'medio': + // Ejemplo: 15 Nov 2024 + return date('d', $timestamp) . ' ' . substr($meses[date('n', $timestamp)], 0, 3) . ' ' . date('Y', $timestamp); + + case 'completo': + default: + // Ejemplo: 15 de noviembre de 2024 + return date('d', $timestamp) . ' de ' . $meses[date('n', $timestamp)] . ' de ' . date('Y', $timestamp); + } +} + +/** + * Formatear fecha y hora + */ +function formatear_fecha_hora($fecha) { + $timestamp = is_numeric($fecha) ? $fecha : strtotime($fecha); + return formatear_fecha($timestamp, 'completo') . ' a las ' . date('H:i', $timestamp); +} + +/** + * Calcular tiempo transcurrido (Ej: hace 2 horas) + */ +function tiempo_transcurrido($fecha) { + $timestamp = is_numeric($fecha) ? $fecha : strtotime($fecha); + $diferencia = time() - $timestamp; + + if ($diferencia < 60) { + return 'hace unos segundos'; + } elseif ($diferencia < 3600) { + $minutos = floor($diferencia / 60); + return 'hace ' . $minutos . ($minutos == 1 ? ' minuto' : ' minutos'); + } elseif ($diferencia < 86400) { + $horas = floor($diferencia / 3600); + return 'hace ' . $horas . ($horas == 1 ? ' hora' : ' horas'); + } elseif ($diferencia < 604800) { + $dias = floor($diferencia / 86400); + return 'hace ' . $dias . ($dias == 1 ? ' día' : ' días'); + } else { + return formatear_fecha($timestamp, 'medio'); + } +} + +/** + * Recortar texto a un número determinado de caracteres + */ +function recortar_texto($texto, $limite = 150, $sufijo = '...') { + if (strlen($texto) <= $limite) { + return $texto; + } + + $texto_recortado = substr($texto, 0, $limite); + $ultimo_espacio = strrpos($texto_recortado, ' '); + + if ($ultimo_espacio !== false) { + $texto_recortado = substr($texto_recortado, 0, $ultimo_espacio); + } + + return $texto_recortado . $sufijo; +} + +/** + * Formatear número con separadores de miles + */ +function formatear_numero($numero, $decimales = 0) { + return number_format($numero, $decimales, ',', '.'); +} + +// ==================================== +// FUNCIONES DE MANEJO DE ARCHIVOS +// ==================================== + +/** + * Subir imagen con validaciones + */ +function subir_imagen($file, $carpeta_destino) { + // Verificar si hay error en la subida + if ($file['error'] !== UPLOAD_ERR_OK) { + return [ + 'success' => false, + 'message' => 'Error al subir el archivo. Código de error: ' . $file['error'] + ]; + } + + // Verificar tamaño del archivo + if ($file['size'] > MAX_FILE_SIZE) { + return [ + 'success' => false, + 'message' => 'El archivo es demasiado grande. Tamaño máximo: ' . (MAX_FILE_SIZE / 1048576) . 'MB' + ]; + } + + // Verificar tipo de archivo + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $mime_type = finfo_file($finfo, $file['tmp_name']); + finfo_close($finfo); + + if (!in_array($mime_type, ALLOWED_IMAGE_TYPES)) { + return [ + 'success' => false, + 'message' => 'Tipo de archivo no permitido. Solo se aceptan imágenes JPG, PNG, GIF y WEBP' + ]; + } + + // Generar nombre único para el archivo + $extension = pathinfo($file['name'], PATHINFO_EXTENSION); + $nuevo_nombre = uniqid('img_', true) . '.' . strtolower($extension); + + // Crear carpeta de destino si no existe + $ruta_completa = UPLOAD_DIR . $carpeta_destino; + if (!file_exists($ruta_completa)) { + mkdir($ruta_completa, 0755, true); + } + + $ruta_archivo = $ruta_completa . '/' . $nuevo_nombre; + + // Mover el archivo + if (move_uploaded_file($file['tmp_name'], $ruta_archivo)) { + return [ + 'success' => true, + 'filename' => $nuevo_nombre, + 'path' => 'uploads/' . $carpeta_destino . '/' . $nuevo_nombre + ]; + } else { + return [ + 'success' => false, + 'message' => 'Error al guardar el archivo en el servidor' + ]; + } +} + +/** + * Eliminar archivo de imagen + */ +function eliminar_imagen($ruta_archivo) { + $ruta_completa = __DIR__ . '/../' . $ruta_archivo; + if (file_exists($ruta_completa) && is_file($ruta_completa)) { + return unlink($ruta_completa); + } + return false; +} + +// ==================================== +// FUNCIONES DE INTERFAZ DE USUARIO +// ==================================== + +/** + * Mostrar alerta Bootstrap + */ +function mostrar_alerta($tipo, $mensaje, $dismissible = true) { + $tipos_validos = ['success', 'danger', 'warning', 'info', 'primary', 'secondary']; + if (!in_array($tipo, $tipos_validos)) { + $tipo = 'info'; + } + + $html = ''; + + return $html; +} + +/** + * Generar opciones de select desde array + */ +function generar_opciones_select($opciones, $seleccionado = '') { + $html = ''; + foreach ($opciones as $valor => $texto) { + $selected = ($valor == $seleccionado) ? ' selected' : ''; + $html .= ''; + } + return $html; +} + +/** + * Generar paginación + */ +function generar_paginacion($pagina_actual, $total_paginas, $url_base) { + if ($total_paginas <= 1) { + return ''; + } + + $html = ''; + + return $html; +} + +// ==================================== +// FUNCIONES DE BASE DE DATOS +// ==================================== + +/** + * Ejecutar consulta preparada de manera segura + */ +function ejecutar_consulta($sql, $params = []) { + try { + $pdo = getDBConnection(); + $stmt = $pdo->prepare($sql); + $stmt->execute($params); + return $stmt; + } catch (PDOException $e) { + if (DEBUG_MODE) { + die("Error en la consulta: " . $e->getMessage()); + } else { + log_error("Error SQL: " . $e->getMessage()); + return false; + } + } +} + +/** + * Obtener un solo registro + */ +function obtener_uno($sql, $params = []) { + $stmt = ejecutar_consulta($sql, $params); + return $stmt ? $stmt->fetch() : false; +} + +/** + * Obtener múltiples registros + */ +function obtener_todos($sql, $params = []) { + $stmt = ejecutar_consulta($sql, $params); + return $stmt ? $stmt->fetchAll() : false; +} + +// ==================================== +// FUNCIONES DE URL +// ==================================== + +/** + * Redireccionar a una URL + */ +function redireccionar($url, $codigo = 302) { + header("Location: $url", true, $codigo); + exit(); +} + +/** + * Obtener URL actual + */ +function url_actual() { + $protocolo = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http'; + return $protocolo . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; +} + +/** + * Generar slug desde un texto (para URLs amigables) + */ +function generar_slug($texto) { + $texto = strtolower($texto); + $texto = preg_replace('/[^a-z0-9\s-]/', '', $texto); + $texto = preg_replace('/[\s-]+/', '-', $texto); + $texto = trim($texto, '-'); + return $texto; +} +?> \ No newline at end of file diff --git a/practicas/pp6/includes/header.php b/practicas/pp6/includes/header.php index e69de29b..8f5341e5 100644 --- a/practicas/pp6/includes/header.php +++ b/practicas/pp6/includes/header.php @@ -0,0 +1,131 @@ + + + + + + <?php echo isset($page_title) ? $page_title : 'TechSolutions Pro - Transformamos ideas en soluciones digitales'; ?> + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 10b93d069c1dfbcfe6b5614b8b3ce93fcf85ab50 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Fri, 28 Nov 2025 16:56:54 +0000 Subject: [PATCH 17/22] =?UTF-8?q?Eliminar=20archivo=20de=20funciones=20aux?= =?UTF-8?q?iliares=20y=20de=20seguridad=20en=20el=20sistema=20de=20gesti?= =?UTF-8?q?=C3=B3n=20TechSolutions=20Pro.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- practicas/pp6/includes/functions.php | 465 --------------------------- 1 file changed, 465 deletions(-) diff --git a/practicas/pp6/includes/functions.php b/practicas/pp6/includes/functions.php index 31f11eec..e69de29b 100644 --- a/practicas/pp6/includes/functions.php +++ b/practicas/pp6/includes/functions.php @@ -1,465 +0,0 @@ -= $min && $length <= $max; -} - -/** - * Generar token CSRF para formularios - */ -function generar_csrf_token() { - if (session_status() === PHP_SESSION_NONE) { - session_start(); - } - if (empty($_SESSION['csrf_token'])) { - $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); - } - return $_SESSION['csrf_token']; -} - -/** - * Verificar token CSRF - */ -function verificar_csrf_token($token) { - if (session_status() === PHP_SESSION_NONE) { - session_start(); - } - return isset($_SESSION['csrf_token']) && hash_equals($_SESSION['csrf_token'], $token); -} - -// ==================================== -// FUNCIONES DE SESIÓN Y AUTENTICACIÓN -// ==================================== - -/** - * Iniciar sesión de manera segura - */ -function iniciar_sesion_segura() { - if (session_status() === PHP_SESSION_NONE) { - session_start(); - } - - // Regenerar ID de sesión periódicamente - if (!isset($_SESSION['last_regeneration'])) { - $_SESSION['last_regeneration'] = time(); - } elseif (time() - $_SESSION['last_regeneration'] > 300) { // Cada 5 minutos - session_regenerate_id(true); - $_SESSION['last_regeneration'] = time(); - } - - // Verificar timeout de sesión - if (isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > SESSION_TIMEOUT)) { - session_unset(); - session_destroy(); - header('Location: login.php?timeout=1'); - exit(); - } - $_SESSION['last_activity'] = time(); -} - -/** - * Verificar si el usuario está logueado - */ -function esta_logueado() { - iniciar_sesion_segura(); - return isset($_SESSION['user_id']) && !empty($_SESSION['user_id']); -} - -/** - * Verificar si el usuario es administrador - */ -function es_admin() { - return esta_logueado() && isset($_SESSION['user_role']) && $_SESSION['user_role'] === 'admin'; -} - -/** - * Redirigir si NO está logueado - */ -function requerir_login($redirect = '../login.php') { - if (!esta_logueado()) { - header('Location: ' . $redirect); - exit(); - } -} - -/** - * Redirigir si NO es administrador - */ -function requerir_admin($redirect = '../index.php') { - requerir_login(); - if (!es_admin()) { - header('Location: ' . $redirect); - exit(); - } -} - -/** - * Cerrar sesión de manera segura - */ -function cerrar_sesion() { - if (session_status() === PHP_SESSION_NONE) { - session_start(); - } - $_SESSION = array(); - - if (isset($_COOKIE[session_name()])) { - setcookie(session_name(), '', time() - 3600, '/'); - } - - session_destroy(); -} - -// ==================================== -// FUNCIONES DE FORMATO Y PRESENTACIÓN -// ==================================== - -/** - * Formatear fecha en español - */ -function formatear_fecha($fecha, $formato = 'completo') { - $timestamp = is_numeric($fecha) ? $fecha : strtotime($fecha); - - $meses = [ - 1 => 'enero', 2 => 'febrero', 3 => 'marzo', 4 => 'abril', - 5 => 'mayo', 6 => 'junio', 7 => 'julio', 8 => 'agosto', - 9 => 'septiembre', 10 => 'octubre', 11 => 'noviembre', 12 => 'diciembre' - ]; - - switch ($formato) { - case 'corto': - // Ejemplo: 15/11/2024 - return date('d/m/Y', $timestamp); - - case 'medio': - // Ejemplo: 15 Nov 2024 - return date('d', $timestamp) . ' ' . substr($meses[date('n', $timestamp)], 0, 3) . ' ' . date('Y', $timestamp); - - case 'completo': - default: - // Ejemplo: 15 de noviembre de 2024 - return date('d', $timestamp) . ' de ' . $meses[date('n', $timestamp)] . ' de ' . date('Y', $timestamp); - } -} - -/** - * Formatear fecha y hora - */ -function formatear_fecha_hora($fecha) { - $timestamp = is_numeric($fecha) ? $fecha : strtotime($fecha); - return formatear_fecha($timestamp, 'completo') . ' a las ' . date('H:i', $timestamp); -} - -/** - * Calcular tiempo transcurrido (Ej: hace 2 horas) - */ -function tiempo_transcurrido($fecha) { - $timestamp = is_numeric($fecha) ? $fecha : strtotime($fecha); - $diferencia = time() - $timestamp; - - if ($diferencia < 60) { - return 'hace unos segundos'; - } elseif ($diferencia < 3600) { - $minutos = floor($diferencia / 60); - return 'hace ' . $minutos . ($minutos == 1 ? ' minuto' : ' minutos'); - } elseif ($diferencia < 86400) { - $horas = floor($diferencia / 3600); - return 'hace ' . $horas . ($horas == 1 ? ' hora' : ' horas'); - } elseif ($diferencia < 604800) { - $dias = floor($diferencia / 86400); - return 'hace ' . $dias . ($dias == 1 ? ' día' : ' días'); - } else { - return formatear_fecha($timestamp, 'medio'); - } -} - -/** - * Recortar texto a un número determinado de caracteres - */ -function recortar_texto($texto, $limite = 150, $sufijo = '...') { - if (strlen($texto) <= $limite) { - return $texto; - } - - $texto_recortado = substr($texto, 0, $limite); - $ultimo_espacio = strrpos($texto_recortado, ' '); - - if ($ultimo_espacio !== false) { - $texto_recortado = substr($texto_recortado, 0, $ultimo_espacio); - } - - return $texto_recortado . $sufijo; -} - -/** - * Formatear número con separadores de miles - */ -function formatear_numero($numero, $decimales = 0) { - return number_format($numero, $decimales, ',', '.'); -} - -// ==================================== -// FUNCIONES DE MANEJO DE ARCHIVOS -// ==================================== - -/** - * Subir imagen con validaciones - */ -function subir_imagen($file, $carpeta_destino) { - // Verificar si hay error en la subida - if ($file['error'] !== UPLOAD_ERR_OK) { - return [ - 'success' => false, - 'message' => 'Error al subir el archivo. Código de error: ' . $file['error'] - ]; - } - - // Verificar tamaño del archivo - if ($file['size'] > MAX_FILE_SIZE) { - return [ - 'success' => false, - 'message' => 'El archivo es demasiado grande. Tamaño máximo: ' . (MAX_FILE_SIZE / 1048576) . 'MB' - ]; - } - - // Verificar tipo de archivo - $finfo = finfo_open(FILEINFO_MIME_TYPE); - $mime_type = finfo_file($finfo, $file['tmp_name']); - finfo_close($finfo); - - if (!in_array($mime_type, ALLOWED_IMAGE_TYPES)) { - return [ - 'success' => false, - 'message' => 'Tipo de archivo no permitido. Solo se aceptan imágenes JPG, PNG, GIF y WEBP' - ]; - } - - // Generar nombre único para el archivo - $extension = pathinfo($file['name'], PATHINFO_EXTENSION); - $nuevo_nombre = uniqid('img_', true) . '.' . strtolower($extension); - - // Crear carpeta de destino si no existe - $ruta_completa = UPLOAD_DIR . $carpeta_destino; - if (!file_exists($ruta_completa)) { - mkdir($ruta_completa, 0755, true); - } - - $ruta_archivo = $ruta_completa . '/' . $nuevo_nombre; - - // Mover el archivo - if (move_uploaded_file($file['tmp_name'], $ruta_archivo)) { - return [ - 'success' => true, - 'filename' => $nuevo_nombre, - 'path' => 'uploads/' . $carpeta_destino . '/' . $nuevo_nombre - ]; - } else { - return [ - 'success' => false, - 'message' => 'Error al guardar el archivo en el servidor' - ]; - } -} - -/** - * Eliminar archivo de imagen - */ -function eliminar_imagen($ruta_archivo) { - $ruta_completa = __DIR__ . '/../' . $ruta_archivo; - if (file_exists($ruta_completa) && is_file($ruta_completa)) { - return unlink($ruta_completa); - } - return false; -} - -// ==================================== -// FUNCIONES DE INTERFAZ DE USUARIO -// ==================================== - -/** - * Mostrar alerta Bootstrap - */ -function mostrar_alerta($tipo, $mensaje, $dismissible = true) { - $tipos_validos = ['success', 'danger', 'warning', 'info', 'primary', 'secondary']; - if (!in_array($tipo, $tipos_validos)) { - $tipo = 'info'; - } - - $html = ''; - - return $html; -} - -/** - * Generar opciones de select desde array - */ -function generar_opciones_select($opciones, $seleccionado = '') { - $html = ''; - foreach ($opciones as $valor => $texto) { - $selected = ($valor == $seleccionado) ? ' selected' : ''; - $html .= ''; - } - return $html; -} - -/** - * Generar paginación - */ -function generar_paginacion($pagina_actual, $total_paginas, $url_base) { - if ($total_paginas <= 1) { - return ''; - } - - $html = ''; - - return $html; -} - -// ==================================== -// FUNCIONES DE BASE DE DATOS -// ==================================== - -/** - * Ejecutar consulta preparada de manera segura - */ -function ejecutar_consulta($sql, $params = []) { - try { - $pdo = getDBConnection(); - $stmt = $pdo->prepare($sql); - $stmt->execute($params); - return $stmt; - } catch (PDOException $e) { - if (DEBUG_MODE) { - die("Error en la consulta: " . $e->getMessage()); - } else { - log_error("Error SQL: " . $e->getMessage()); - return false; - } - } -} - -/** - * Obtener un solo registro - */ -function obtener_uno($sql, $params = []) { - $stmt = ejecutar_consulta($sql, $params); - return $stmt ? $stmt->fetch() : false; -} - -/** - * Obtener múltiples registros - */ -function obtener_todos($sql, $params = []) { - $stmt = ejecutar_consulta($sql, $params); - return $stmt ? $stmt->fetchAll() : false; -} - -// ==================================== -// FUNCIONES DE URL -// ==================================== - -/** - * Redireccionar a una URL - */ -function redireccionar($url, $codigo = 302) { - header("Location: $url", true, $codigo); - exit(); -} - -/** - * Obtener URL actual - */ -function url_actual() { - $protocolo = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http'; - return $protocolo . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; -} - -/** - * Generar slug desde un texto (para URLs amigables) - */ -function generar_slug($texto) { - $texto = strtolower($texto); - $texto = preg_replace('/[^a-z0-9\s-]/', '', $texto); - $texto = preg_replace('/[\s-]+/', '-', $texto); - $texto = trim($texto, '-'); - return $texto; -} -?> \ No newline at end of file From 09611e07473fe60a51de159a2e58e0db813249b1 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Fri, 28 Nov 2025 17:21:27 +0000 Subject: [PATCH 18/22] =?UTF-8?q?Refactorizar=20archivo=20de=20configuraci?= =?UTF-8?q?=C3=B3n:=20simplificar=20credenciales=20de=20base=20de=20datos?= =?UTF-8?q?=20y=20eliminar=20comentarios=20innecesarios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- practicas/pp6/includes/config.php | 256 ++---------------------------- 1 file changed, 13 insertions(+), 243 deletions(-) diff --git a/practicas/pp6/includes/config.php b/practicas/pp6/includes/config.php index cf29feff..10691d53 100644 --- a/practicas/pp6/includes/config.php +++ b/practicas/pp6/includes/config.php @@ -1,81 +1,26 @@ connect_errno) { - // En desarrollo, mostramos el error if (DEBUG_MODE) { die("Error de conexión (" . $mysqli->connect_errno . "): " . $mysqli->connect_error); } else { - // En producción, NO mostramos detalles del error por seguridad - die("Error de conexión a la base de datos. Contacte al administrador."); + die("Error de conexión a la base de datos."); } } - // Establecer el charset UTF-8 para soportar todos los caracteres if (!$mysqli->set_charset(DB_CHARSET)) { die("Error al establecer charset: " . $mysqli->error); } @@ -83,227 +28,52 @@ function getDBConnection() { return $mysqli; } -/** - * Función para cerrar la conexión - * - * Uso: - * closeDBConnection($mysqli); - */ function closeDBConnection($mysqli) { if ($mysqli) { $mysqli->close(); } } -// ==================================== -// CONFIGURACIONES GENERALES DEL SITIO -// ==================================== - -/** - * Información básica de la empresa - * Estas constantes se usan en todo el sitio - */ define('SITE_NAME', 'TechSolutions Pro'); define('SITE_SLOGAN', 'Transformamos ideas en soluciones digitales'); define('SITE_EMAIL', 'info@techsolutions.com'); define('SITE_PHONE', '+34 123 456 789'); define('SITE_ADDRESS', 'Barcelona, España'); -/** - * Colores corporativos - * Los usaremos en los estilos CSS - */ -define('COLOR_PRIMARY', '#2C3E50'); // Azul oscuro -define('COLOR_SECONDARY', '#E67E22'); // Naranja - -// ==================================== -// CONFIGURACIÓN DE ARCHIVOS SUBIDOS -// ==================================== +define('COLOR_PRIMARY', '#2C3E50'); +define('COLOR_SECONDARY', '#E67E22'); -/** - * UPLOAD_DIR: Carpeta donde se guardan archivos subidos - * __DIR__ = la carpeta donde está este archivo (includes/) - * '/../uploads/' = subir un nivel y entrar a uploads/ - */ define('UPLOAD_DIR', __DIR__ . '/../uploads/'); - -/** - * Tamaño máximo de archivos: 5MB en bytes - * 1 MB = 1,048,576 bytes - * 5 MB = 5,242,880 bytes - */ define('MAX_FILE_SIZE', 5242880); - -/** - * Tipos de imagen permitidos (para validar subidas) - */ define('ALLOWED_IMAGE_TYPES', ['image/jpeg', 'image/png', 'image/gif', 'image/webp']); -// ==================================== -// CONFIGURACIÓN DE SEGURIDAD -// ==================================== - -/** - * Configuración de sesiones seguras - * - * httponly = 1: Las cookies de sesión NO son accesibles desde JavaScript - * (previene ataques XSS) - * - * use_only_cookies = 1: Solo usar cookies para las sesiones - * (NO pasar session_id por URL) - * - * cookie_secure = 0: En local (HTTP) - * 1: En producción con HTTPS - * - * cookie_samesite = 'Lax': Protección contra CSRF - */ ini_set('session.cookie_httponly', 1); ini_set('session.use_only_cookies', 1); -ini_set('session.cookie_secure', 0); // Cambiar a 1 en producción con HTTPS +ini_set('session.cookie_secure', 1); // HTTPS en Alwaysdata ini_set('session.cookie_samesite', 'Lax'); -/** - * Tiempo de expiración de sesión: 30 minutos - * 30 minutos = 1800 segundos - * - * Si el usuario está inactivo más de 30 minutos, - * se cerrará su sesión automáticamente - */ define('SESSION_TIMEOUT', 1800); +define('ENVIRONMENT', 'production'); +define('DEBUG_MODE', false); -// ==================================== -// CONFIGURACIÓN DE ENTORNO -// ==================================== - -/** - * ENVIRONMENT: 'development' o 'production' - * - * development = modo desarrollo (en tu PC) - * production = modo producción (en servidor real) - */ -define('ENVIRONMENT', 'development'); - -/** - * DEBUG_MODE: true o false - * - * Si es true: Muestra errores detallados - * Si es false: Oculta errores (por seguridad) - */ -define('DEBUG_MODE', ENVIRONMENT === 'development'); - -/** - * Configurar visualización de errores según el entorno - */ if (DEBUG_MODE) { - // EN DESARROLLO: Mostrar TODOS los errores error_reporting(E_ALL); ini_set('display_errors', 1); - ini_set('display_startup_errors', 1); } else { - // EN PRODUCCIÓN: NO mostrar errores error_reporting(0); ini_set('display_errors', 0); } -// ==================================== -// FUNCIONES DE DEBUGGING -// ==================================== - -/** - * dd() = "Dump and Die" - * - * Función para debugging: muestra el contenido de una variable - * y detiene la ejecución del script - * - * SOLO funciona en modo DEBUG_MODE - * - * Uso: - * $usuario = ['nombre' => 'Juan', 'email' => 'juan@test.com']; - * dd($usuario); - * - * Mostrará: - * array(2) { - * ["nombre"]=> string(4) "Juan" - * ["email"]=> string(13) "juan@test.com" - * } - * Y detendrá el script - */ function dd($data) { if (DEBUG_MODE) { - echo '
';
-        echo 'DEBUG - Variable Dump:

'; + echo '
';
         var_dump($data);
         echo '
'; die(); } } -/** - * debug_log() = Guardar mensajes en un archivo de log - * - * En producción, no mostramos errores al usuario, - * pero los guardamos en un archivo para revisarlos después - * - * Uso: - * debug_log("Error al conectar a la base de datos"); - */ -function debug_log($mensaje, $archivo = 'error.log') { - if (ENVIRONMENT === 'production') { - $fecha_hora = date('Y-m-d H:i:s'); - $log_mensaje = "[$fecha_hora] $mensaje\n"; - - // Crear carpeta logs si no existe - $log_dir = __DIR__ . '/../logs/'; - if (!file_exists($log_dir)) { - mkdir($log_dir, 0755, true); - } - - // Escribir en el archivo de log - error_log($log_mensaje, 3, $log_dir . $archivo); - } -} - -/** - * ==================================== - * FUNCIÓN DE PRUEBA DE CONEXIÓN - * ==================================== - * - * Esta función te permite probar si la conexión funciona - * - * Uso (solo para testing): - * test_connection(); - */ -function test_connection() { - $mysqli = getDBConnection(); - - echo "
"; - echo "

✓ Conexión exitosa a la base de datos

"; - echo "

Servidor: " . DB_HOST . "

"; - echo "

Base de datos: " . DB_NAME . "

"; - echo "

Charset: " . $mysqli->character_set_name() . "

"; - echo "

Versión MySQL: " . $mysqli->server_info . "

"; - echo "
"; - - closeDBConnection($mysqli); -} - -// ==================================== -// ZONA DE SEGURIDAD -// ==================================== - -/** - * Prevenir acceso directo a este archivo - * - * Si alguien intenta abrir config.php directamente - * en el navegador, no mostrará nada - */ if (basename($_SERVER['PHP_SELF']) == basename(__FILE__)) { die('Acceso directo no permitido'); } - -/** - * ==================================== - * FIN DEL ARCHIVO DE CONFIGURACIÓN - * ==================================== - */ ?> \ No newline at end of file From 69485a238dc3f25255830b5b24a2e9f1ef60dad8 Mon Sep 17 00:00:00 2001 From: carolinagnz <156694952+carolinagnz@users.noreply.github.com> Date: Fri, 28 Nov 2025 17:24:29 +0000 Subject: [PATCH 19/22] =?UTF-8?q?Actualizar=20contrase=C3=B1a=20de=20base?= =?UTF-8?q?=20de=20datos=20en=20el=20archivo=20de=20configuraci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- practicas/pp6/includes/config.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/practicas/pp6/includes/config.php b/practicas/pp6/includes/config.php index 10691d53..30db1a17 100644 --- a/practicas/pp6/includes/config.php +++ b/practicas/pp6/includes/config.php @@ -7,7 +7,7 @@ define('DB_HOST', 'mysql-carolinagnz.alwaysdata.net'); define('DB_NAME', 'carolinagnz_techsolutions_db'); define('DB_USER', 'carolinagnz'); // Tu usuario de Alwaysdata -define('DB_PASS', 'TU_CONTRASEÑA_AQUÍ'); // ← PON TU CONTRASEÑA REAL +define('DB_PASS', 'Odin2021!'); // ← PON TU CONTRASEÑA REAL define('DB_CHARSET', 'utf8mb4'); function getDBConnection() { From cadc913bb1345e24e10248fc161c1a7beb1960ec Mon Sep 17 00:00:00 2001 From: carolinagnz Date: Tue, 9 Dec 2025 02:39:41 +0100 Subject: [PATCH 20/22] PP6 terminada --- practicas/pp6/admin/addFaq.php | 168 +++++ practicas/pp6/admin/addNoticia.php | 215 +++++++ practicas/pp6/admin/addProyecto.php | 262 ++++++++ practicas/pp6/admin/addTestimonio.php | 234 +++++++ practicas/pp6/admin/addUser,php | 237 +++++++ practicas/pp6/admin/deleteFaq.php | 44 ++ practicas/pp6/admin/deleteNoticia.php | 62 ++ practicas/pp6/admin/deleteProyecto.php | 62 ++ practicas/pp6/admin/deleteTestimonio.php | 62 ++ practicas/pp6/admin/deleteUser.php | 68 +++ practicas/pp6/admin/editNoticia.php | 276 +++++++++ practicas/pp6/admin/editProyecto.php | 307 ++++++++++ practicas/pp6/admin/editTestimonio.php | 290 +++++++++ practicas/pp6/admin/editUser.php | 317 ++++++++++ practicas/pp6/admin/faqs.php | 158 +++++ practicas/pp6/admin/index.php | 335 ++++++++++ practicas/pp6/admin/mensajes.php | 205 +++++++ practicas/pp6/admin/noticias.php | 189 ++++++ practicas/pp6/admin/proyectos.php | 191 ++++++ practicas/pp6/admin/testimonios.php | 179 ++++++ practicas/pp6/admin/usuarios.php | 171 ++++++ .../pp6/{blog-single.html => blog-single.php} | 0 practicas/pp6/blog.html | 294 --------- practicas/pp6/blog.php | 183 ++++++ practicas/pp6/contact.html | 188 ------ practicas/pp6/contact.php | 187 ++++++ practicas/pp6/includes/config.php | 4 +- practicas/pp6/includes/functions.php | 135 ++++ practicas/pp6/index.html | 577 ------------------ practicas/pp6/index.php | 342 +++++++++++ practicas/pp6/login.php | 134 ++++ practicas/pp6/logout.php | 23 + practicas/pp6/noticia.php | 216 +++++++ practicas/pp6/portfolio.php | 151 +++++ practicas/pp6/proyecto.php | 216 +++++++ practicas/pp6/register.php | 198 ++++++ practicas/pp6/test_conexion.php | 180 ++++++ 37 files changed, 5999 insertions(+), 1061 deletions(-) create mode 100644 practicas/pp6/admin/addFaq.php create mode 100644 practicas/pp6/admin/addNoticia.php create mode 100644 practicas/pp6/admin/addProyecto.php create mode 100644 practicas/pp6/admin/addTestimonio.php create mode 100644 practicas/pp6/admin/addUser,php create mode 100644 practicas/pp6/admin/deleteFaq.php create mode 100644 practicas/pp6/admin/deleteNoticia.php create mode 100644 practicas/pp6/admin/deleteProyecto.php create mode 100644 practicas/pp6/admin/deleteTestimonio.php create mode 100644 practicas/pp6/admin/deleteUser.php create mode 100644 practicas/pp6/admin/editNoticia.php create mode 100644 practicas/pp6/admin/editProyecto.php create mode 100644 practicas/pp6/admin/editTestimonio.php create mode 100644 practicas/pp6/admin/editUser.php create mode 100644 practicas/pp6/admin/faqs.php create mode 100644 practicas/pp6/admin/index.php create mode 100644 practicas/pp6/admin/mensajes.php create mode 100644 practicas/pp6/admin/noticias.php create mode 100644 practicas/pp6/admin/proyectos.php create mode 100644 practicas/pp6/admin/testimonios.php create mode 100644 practicas/pp6/admin/usuarios.php rename practicas/pp6/{blog-single.html => blog-single.php} (100%) delete mode 100644 practicas/pp6/blog.html create mode 100644 practicas/pp6/blog.php delete mode 100644 practicas/pp6/contact.html create mode 100644 practicas/pp6/contact.php delete mode 100644 practicas/pp6/index.html create mode 100644 practicas/pp6/index.php create mode 100644 practicas/pp6/login.php create mode 100644 practicas/pp6/logout.php create mode 100644 practicas/pp6/noticia.php create mode 100644 practicas/pp6/portfolio.php create mode 100644 practicas/pp6/proyecto.php create mode 100644 practicas/pp6/register.php create mode 100644 practicas/pp6/test_conexion.php diff --git a/practicas/pp6/admin/addFaq.php b/practicas/pp6/admin/addFaq.php new file mode 100644 index 00000000..aaa79292 --- /dev/null +++ b/practicas/pp6/admin/addFaq.php @@ -0,0 +1,168 @@ +prepare( + "INSERT INTO faqs (pregunta, respuesta, categoria, orden, activa) + VALUES (?, ?, ?, ?, ?)" + ); + + if ($stmt) { + $stmt->bind_param("sssil", $pregunta, $respuesta, $categoria, $orden, $activa); + + if ($stmt->execute()) { + header("Location: faqs.php?success=added"); + exit(); + } else { + $error = "Error al crear FAQ: " . $stmt->error; + } + + $stmt->close(); + } + } + + $mysqli->close(); +} + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Nueva FAQ +

+ +
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + Menor = mayor prioridad +
+
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ + Cancelar + + +
+
+
+
+
+
+
+
+ + \ No newline at end of file diff --git a/practicas/pp6/admin/addNoticia.php b/practicas/pp6/admin/addNoticia.php new file mode 100644 index 00000000..6213dcf6 --- /dev/null +++ b/practicas/pp6/admin/addNoticia.php @@ -0,0 +1,215 @@ +prepare( + "INSERT INTO noticias (titulo, subtitulo, contenido, imagen_destacada, autor_id, categoria, destacada, activa, fecha_publicacion, fecha_actualizacion) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW())" + ); + + if ($stmt) { + $stmt->bind_param("ssssisii", $titulo, $subtitulo, $contenido, $imagen_path, $autor_id, $categoria, $destacada, $activa); + + if ($stmt->execute()) { + header("Location: noticias.php?success=added"); + exit(); + } else { + $error = "Error al crear noticia: " . $stmt->error; + } + + $stmt->close(); + } + } + } + + $mysqli->close(); +} + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Nueva Noticia +

+ +
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + Resumen breve de la noticia +
+
+ +
+
+ + +
+
+ +
+
+ +
+ + +
+ Opcional. JPG, PNG, GIF (máx 5MB) +
+
+ +
+
+
+ > + +
+
+
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ + Cancelar + + +
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp6/admin/addProyecto.php b/practicas/pp6/admin/addProyecto.php new file mode 100644 index 00000000..d872eebe --- /dev/null +++ b/practicas/pp6/admin/addProyecto.php @@ -0,0 +1,262 @@ +prepare( + "INSERT INTO proyectos (titulo, descripcion, imagen_principal, cliente, categoria, tecnologias, url_proyecto, fecha_inicio, fecha_fin, orden_visualizacion, destacado, activo) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" + ); + + if ($stmt) { + $stmt->bind_param("sssssssssiil", $titulo, $descripcion, $imagen_path, $cliente, $categoria, $tecnologias, $url_proyecto, $fecha_inicio, $fecha_fin, $orden_visualizacion, $destacado, $activo); + + if ($stmt->execute()) { + header("Location: proyectos.php?success=added"); + exit(); + } else { + $error = "Error al crear proyecto: " . $stmt->error; + } + + $stmt->close(); + } + } + } + + $mysqli->close(); +} + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Nuevo Proyecto +

+ +
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + URL completa del proyecto en producción +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + Menor número = mayor prioridad +
+
+ +
+
+ +
+ + +
+ Opcional. JPG, PNG, GIF (máx 5MB) +
+
+ +
+
+
+ > + +
+
+
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ + Cancelar + + +
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp6/admin/addTestimonio.php b/practicas/pp6/admin/addTestimonio.php new file mode 100644 index 00000000..84313d1f --- /dev/null +++ b/practicas/pp6/admin/addTestimonio.php @@ -0,0 +1,234 @@ + 5) { + $error = "La puntuación debe estar entre 1 y 5"; + } else { + // Gestionar foto del cliente + $foto_path = ''; + + if (isset($_FILES['foto_cliente']) && $_FILES['foto_cliente']['error'] === UPLOAD_ERR_OK) { + $resultado = subir_imagen($_FILES['foto_cliente'], 'testimonios'); + if ($resultado['success']) { + $foto_path = $resultado['path']; + } else { + $error = $resultado['message']; + } + } + + if (empty($error)) { + $stmt = $mysqli->prepare( + "INSERT INTO testimonios (nombre_cliente, cargo, empresa, testimonio, foto_cliente, puntuacion, destacado, activo, fecha_testimonio) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, NOW())" + ); + + if ($stmt) { + $stmt->bind_param("sssssiil", $nombre_cliente, $cargo, $empresa, $testimonio, $foto_path, $puntuacion, $destacado, $activo); + + if ($stmt->execute()) { + header("Location: testimonios.php?success=added"); + exit(); + } else { + $error = "Error al crear testimonio: " . $stmt->error; + } + + $stmt->close(); + } + } + } + + $mysqli->close(); +} + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Nuevo Testimonio +

+ +
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + Opinión o comentario del cliente +
+
+ +
+
+ + +
+
+ +
+
+ +
+ + +
+ Opcional. JPG, PNG (máx 5MB) +
+
+ +
+
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ + Cancelar + + +
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp6/admin/addUser,php b/practicas/pp6/admin/addUser,php new file mode 100644 index 00000000..09672a29 --- /dev/null +++ b/practicas/pp6/admin/addUser,php @@ -0,0 +1,237 @@ +real_escape_string($email); + $result = $mysqli->query("SELECT id FROM users WHERE email = '$email_escapado' LIMIT 1"); + + if ($result->num_rows > 0) { + $error = "Este email ya está registrado"; + } else { + // Gestionar avatar + $avatar_path = 'uploads/avatars/default-avatar.jpg'; + + if (isset($_FILES['avatar']) && $_FILES['avatar']['error'] === UPLOAD_ERR_OK) { + $resultado = subir_avatar($_FILES['avatar']); + if ($resultado['success']) { + $avatar_path = $resultado['path']; + } else { + $error = $resultado['message']; + } + } + + if (empty($error)) { + $password_hash = password_hash($password, PASSWORD_DEFAULT); + + $stmt = $mysqli->prepare( + "INSERT INTO users (nombre, apellidos, email, password, foto, role, age, job, activo, date_register) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW())" + ); + + if ($stmt) { + $stmt->bind_param("ssssssisi", $nombre, $apellidos, $email, $password_hash, $avatar_path, $role, $age, $job, $activo); + + if ($stmt->execute()) { + header("Location: usuarios.php?success=added"); + exit(); + } else { + $error = "Error al crear usuario: " . $stmt->error; + } + + $stmt->close(); + } + } + } + } + + $mysqli->close(); +} + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Nuevo Usuario +

+ +
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ +
+ + +
+ Opcional. JPG, PNG, GIF (máx 5MB) +
+
+ +
+
+
+ > + +
+
+
+
+ +
+ +
+ + Cancelar + + +
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp6/admin/deleteFaq.php b/practicas/pp6/admin/deleteFaq.php new file mode 100644 index 00000000..5de8b58e --- /dev/null +++ b/practicas/pp6/admin/deleteFaq.php @@ -0,0 +1,44 @@ +prepare("DELETE FROM faqs WHERE id = ?"); +$stmt->bind_param("i", $faq_id); + +if ($stmt->execute()) { + $stmt->close(); + $mysqli->close(); + + header('Location: faqs.php?success=deleted'); + exit(); +} else { + $stmt->close(); + $mysqli->close(); + + header('Location: faqs.php?error=delete_failed'); + exit(); +} +?> \ No newline at end of file diff --git a/practicas/pp6/admin/deleteNoticia.php b/practicas/pp6/admin/deleteNoticia.php new file mode 100644 index 00000000..38f13e6e --- /dev/null +++ b/practicas/pp6/admin/deleteNoticia.php @@ -0,0 +1,62 @@ +prepare("SELECT * FROM noticias WHERE id = ?"); +$stmt->bind_param("i", $noticia_id); +$stmt->execute(); +$result = $stmt->get_result(); +$noticia = $result->fetch_assoc(); +$stmt->close(); + +if (!$noticia) { + header('Location: noticias.php'); + exit(); +} + +// Eliminar noticia +$stmt = $mysqli->prepare("DELETE FROM noticias WHERE id = ?"); +$stmt->bind_param("i", $noticia_id); + +if ($stmt->execute()) { + // Eliminar imagen si existe + if (!empty($noticia['imagen_destacada'])) { + eliminar_imagen('../' . $noticia['imagen_destacada']); + } + + $stmt->close(); + $mysqli->close(); + + header('Location: noticias.php?success=deleted'); + exit(); +} else { + $stmt->close(); + $mysqli->close(); + + header('Location: noticias.php?error=delete_failed'); + exit(); +} +?> \ No newline at end of file diff --git a/practicas/pp6/admin/deleteProyecto.php b/practicas/pp6/admin/deleteProyecto.php new file mode 100644 index 00000000..a98ebbad --- /dev/null +++ b/practicas/pp6/admin/deleteProyecto.php @@ -0,0 +1,62 @@ +prepare("SELECT * FROM proyectos WHERE id = ?"); +$stmt->bind_param("i", $proyecto_id); +$stmt->execute(); +$result = $stmt->get_result(); +$proyecto = $result->fetch_assoc(); +$stmt->close(); + +if (!$proyecto) { + header('Location: proyectos.php'); + exit(); +} + +// Eliminar proyecto +$stmt = $mysqli->prepare("DELETE FROM proyectos WHERE id = ?"); +$stmt->bind_param("i", $proyecto_id); + +if ($stmt->execute()) { + // Eliminar imagen si existe + if (!empty($proyecto['imagen_principal'])) { + eliminar_imagen('../' . $proyecto['imagen_principal']); + } + + $stmt->close(); + $mysqli->close(); + + header('Location: proyectos.php?success=deleted'); + exit(); +} else { + $stmt->close(); + $mysqli->close(); + + header('Location: proyectos.php?error=delete_failed'); + exit(); +} +?> \ No newline at end of file diff --git a/practicas/pp6/admin/deleteTestimonio.php b/practicas/pp6/admin/deleteTestimonio.php new file mode 100644 index 00000000..a5083184 --- /dev/null +++ b/practicas/pp6/admin/deleteTestimonio.php @@ -0,0 +1,62 @@ +prepare("SELECT * FROM testimonios WHERE id = ?"); +$stmt->bind_param("i", $testimonio_id); +$stmt->execute(); +$result = $stmt->get_result(); +$testimonio = $result->fetch_assoc(); +$stmt->close(); + +if (!$testimonio) { + header('Location: testimonios.php'); + exit(); +} + +// Eliminar testimonio +$stmt = $mysqli->prepare("DELETE FROM testimonios WHERE id = ?"); +$stmt->bind_param("i", $testimonio_id); + +if ($stmt->execute()) { + // Eliminar foto si existe + if (!empty($testimonio['foto_cliente'])) { + eliminar_imagen('../' . $testimonio['foto_cliente']); + } + + $stmt->close(); + $mysqli->close(); + + header('Location: testimonios.php?success=deleted'); + exit(); +} else { + $stmt->close(); + $mysqli->close(); + + header('Location: testimonios.php?error=delete_failed'); + exit(); +} +?> \ No newline at end of file diff --git a/practicas/pp6/admin/deleteUser.php b/practicas/pp6/admin/deleteUser.php new file mode 100644 index 00000000..6c250361 --- /dev/null +++ b/practicas/pp6/admin/deleteUser.php @@ -0,0 +1,68 @@ +prepare("SELECT * FROM users WHERE id = ?"); +$stmt->bind_param("i", $user_id); +$stmt->execute(); +$result = $stmt->get_result(); +$usuario = $result->fetch_assoc(); +$stmt->close(); + +if (!$usuario) { + header('Location: usuarios.php'); + exit(); +} + +// Eliminar usuario +$stmt = $mysqli->prepare("DELETE FROM users WHERE id = ?"); +$stmt->bind_param("i", $user_id); + +if ($stmt->execute()) { + // Eliminar avatar si no es el default + if (!empty($usuario['foto']) && $usuario['foto'] != 'uploads/avatars/default-avatar.jpg') { + eliminar_imagen('../' . $usuario['foto']); + } + + $stmt->close(); + $mysqli->close(); + + header('Location: usuarios.php?success=deleted'); + exit(); +} else { + $stmt->close(); + $mysqli->close(); + + header('Location: usuarios.php?error=delete_failed'); + exit(); +} +?> \ No newline at end of file diff --git a/practicas/pp6/admin/editNoticia.php b/practicas/pp6/admin/editNoticia.php new file mode 100644 index 00000000..1c066c5c --- /dev/null +++ b/practicas/pp6/admin/editNoticia.php @@ -0,0 +1,276 @@ +prepare("SELECT * FROM noticias WHERE id = ?"); +$stmt->bind_param("i", $noticia_id); +$stmt->execute(); +$result = $stmt->get_result(); +$noticia = $result->fetch_assoc(); +$stmt->close(); + +if (!$noticia) { + header('Location: noticias.php'); + exit(); +} + +$error = ''; +$success = ''; + +// Procesar formulario +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $titulo = limpiar_input($_POST['titulo']); + $subtitulo = limpiar_input($_POST['subtitulo']); + $contenido = limpiar_input($_POST['contenido']); + $categoria = limpiar_input($_POST['categoria']); + $destacada = isset($_POST['destacada']) ? 1 : 0; + $activa = isset($_POST['activa']) ? 1 : 0; + + // Validaciones + if (empty($titulo)) { + $error = "El título es obligatorio"; + } elseif (empty($contenido)) { + $error = "El contenido es obligatorio"; + } else { + // Gestionar imagen destacada + $imagen_path = $noticia['imagen_destacada']; + + if (isset($_FILES['imagen_destacada']) && $_FILES['imagen_destacada']['error'] === UPLOAD_ERR_OK) { + $resultado = subir_imagen($_FILES['imagen_destacada'], 'noticias'); + if ($resultado['success']) { + // Eliminar imagen anterior si existe + if (!empty($noticia['imagen_destacada'])) { + eliminar_imagen('../' . $noticia['imagen_destacada']); + } + $imagen_path = $resultado['path']; + } else { + $error = $resultado['message']; + } + } + + if (empty($error)) { + $stmt = $mysqli->prepare( + "UPDATE noticias SET titulo = ?, subtitulo = ?, contenido = ?, imagen_destacada = ?, categoria = ?, destacada = ?, activa = ?, fecha_actualizacion = NOW() WHERE id = ?" + ); + + if ($stmt) { + $stmt->bind_param("sssssiii", $titulo, $subtitulo, $contenido, $imagen_path, $categoria, $destacada, $activa, $noticia_id); + + if ($stmt->execute()) { + header("Location: noticias.php?success=updated"); + exit(); + } else { + $error = "Error al actualizar noticia: " . $stmt->error; + } + + $stmt->close(); + } + } + } + + // Recargar datos si hubo error + $stmt = $mysqli->prepare("SELECT * FROM noticias WHERE id = ?"); + $stmt->bind_param("i", $noticia_id); + $stmt->execute(); + $result = $stmt->get_result(); + $noticia = $result->fetch_assoc(); + $stmt->close(); +} + +$mysqli->close(); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Editar Noticia +

+ +
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+ + + + +
+ Imagen actual +

Imagen actual

+
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + Resumen breve de la noticia +
+
+ +
+
+ + +
+
+ +
+
+ +
+ + +
+ Opcional. JPG, PNG, GIF (máx 5MB) +
+
+ +
+
+
+ > + +
+
+
+ +
+
+
+ > + +
+
+
+
+ +
+ +
+
+

+ + + Publicado el + + +
+ + + Actualizado el + + +

+
+
+ + Cancelar + + +
+
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp6/admin/editProyecto.php b/practicas/pp6/admin/editProyecto.php new file mode 100644 index 00000000..a7667f4b --- /dev/null +++ b/practicas/pp6/admin/editProyecto.php @@ -0,0 +1,307 @@ +prepare("SELECT * FROM proyectos WHERE id = ?"); +$stmt->bind_param("i", $proyecto_id); +$stmt->execute(); +$result = $stmt->get_result(); +$proyecto = $result->fetch_assoc(); +$stmt->close(); + +if (!$proyecto) { + header('Location: proyectos.php'); + exit(); +} + +$error = ''; +$success = ''; + +// Procesar formulario +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $titulo = limpiar_input($_POST['titulo']); + $descripcion = limpiar_input($_POST['descripcion']); + $cliente = limpiar_input($_POST['cliente']); + $categoria = limpiar_input($_POST['categoria']); + $tecnologias = limpiar_input($_POST['tecnologias']); + $url_proyecto = limpiar_input($_POST['url_proyecto']); + $fecha_inicio = !empty($_POST['fecha_inicio']) ? $_POST['fecha_inicio'] : NULL; + $fecha_fin = !empty($_POST['fecha_fin']) ? $_POST['fecha_fin'] : NULL; + $orden_visualizacion = (int) $_POST['orden_visualizacion']; + $destacado = isset($_POST['destacado']) ? 1 : 0; + $activo = isset($_POST['activo']) ? 1 : 0; + + // Validaciones + if (empty($titulo)) { + $error = "El título es obligatorio"; + } elseif (empty($descripcion)) { + $error = "La descripción es obligatoria"; + } else { + // Gestionar imagen principal + $imagen_path = $proyecto['imagen_principal']; + + if (isset($_FILES['imagen_principal']) && $_FILES['imagen_principal']['error'] === UPLOAD_ERR_OK) { + $resultado = subir_imagen($_FILES['imagen_principal'], 'proyectos'); + if ($resultado['success']) { + // Eliminar imagen anterior si existe + if (!empty($proyecto['imagen_principal'])) { + eliminar_imagen('../' . $proyecto['imagen_principal']); + } + $imagen_path = $resultado['path']; + } else { + $error = $resultado['message']; + } + } + + if (empty($error)) { + $stmt = $mysqli->prepare( + "UPDATE proyectos SET titulo = ?, descripcion = ?, imagen_principal = ?, cliente = ?, categoria = ?, tecnologias = ?, url_proyecto = ?, fecha_inicio = ?, fecha_fin = ?, orden_visualizacion = ?, destacado = ?, activo = ? WHERE id = ?" + ); + + if ($stmt) { + $stmt->bind_param("sssssssssiiil", $titulo, $descripcion, $imagen_path, $cliente, $categoria, $tecnologias, $url_proyecto, $fecha_inicio, $fecha_fin, $orden_visualizacion, $destacado, $activo, $proyecto_id); + + if ($stmt->execute()) { + header("Location: proyectos.php?success=updated"); + exit(); + } else { + $error = "Error al actualizar proyecto: " . $stmt->error; + } + + $stmt->close(); + } + } + } + + // Recargar datos si hubo error + $stmt = $mysqli->prepare("SELECT * FROM proyectos WHERE id = ?"); + $stmt->bind_param("i", $proyecto_id); + $stmt->execute(); + $result = $stmt->get_result(); + $proyecto = $result->fetch_assoc(); + $stmt->close(); +} + +$mysqli->close(); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Editar Proyecto +

+ +
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+ + + + +
+ Imagen actual +

Imagen actual

+
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + URL completa del proyecto en producción +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + Menor número = mayor prioridad +
+
+ +
+
+ +
+ + +
+ Opcional. JPG, PNG, GIF (máx 5MB) +
+
+ +
+
+
+ > + +
+
+
+ +
+
+
+ > + +
+
+
+
+ +
+ +
+ + Cancelar + + +
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp6/admin/editTestimonio.php b/practicas/pp6/admin/editTestimonio.php new file mode 100644 index 00000000..2fd4e01a --- /dev/null +++ b/practicas/pp6/admin/editTestimonio.php @@ -0,0 +1,290 @@ +prepare("SELECT * FROM testimonios WHERE id = ?"); +$stmt->bind_param("i", $testimonio_id); +$stmt->execute(); +$result = $stmt->get_result(); +$testimonio = $result->fetch_assoc(); +$stmt->close(); + +if (!$testimonio) { + header('Location: testimonios.php'); + exit(); +} + +$error = ''; +$success = ''; + +// Procesar formulario +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $nombre_cliente = limpiar_input($_POST['nombre_cliente']); + $cargo = limpiar_input($_POST['cargo']); + $empresa = limpiar_input($_POST['empresa']); + $testimonio_texto = limpiar_input($_POST['testimonio']); + $puntuacion = (int) $_POST['puntuacion']; + $destacado = isset($_POST['destacado']) ? 1 : 0; + $activo = isset($_POST['activo']) ? 1 : 0; + + // Validaciones + if (empty($nombre_cliente)) { + $error = "El nombre del cliente es obligatorio"; + } elseif (empty($testimonio_texto)) { + $error = "El testimonio es obligatorio"; + } elseif ($puntuacion < 1 || $puntuacion > 5) { + $error = "La puntuación debe estar entre 1 y 5"; + } else { + // Gestionar foto del cliente + $foto_path = $testimonio['foto_cliente']; + + if (isset($_FILES['foto_cliente']) && $_FILES['foto_cliente']['error'] === UPLOAD_ERR_OK) { + $resultado = subir_imagen($_FILES['foto_cliente'], 'testimonios'); + if ($resultado['success']) { + // Eliminar foto anterior si existe + if (!empty($testimonio['foto_cliente'])) { + eliminar_imagen('../' . $testimonio['foto_cliente']); + } + $foto_path = $resultado['path']; + } else { + $error = $resultado['message']; + } + } + + if (empty($error)) { + $stmt = $mysqli->prepare( + "UPDATE testimonios SET nombre_cliente = ?, cargo = ?, empresa = ?, testimonio = ?, foto_cliente = ?, puntuacion = ?, destacado = ?, activo = ? WHERE id = ?" + ); + + if ($stmt) { + $stmt->bind_param("sssssilli", $nombre_cliente, $cargo, $empresa, $testimonio_texto, $foto_path, $puntuacion, $destacado, $activo, $testimonio_id); + + if ($stmt->execute()) { + header("Location: testimonios.php?success=updated"); + exit(); + } else { + $error = "Error al actualizar testimonio: " . $stmt->error; + } + + $stmt->close(); + } + } + } + + // Recargar datos si hubo error + $stmt = $mysqli->prepare("SELECT * FROM testimonios WHERE id = ?"); + $stmt->bind_param("i", $testimonio_id); + $stmt->execute(); + $result = $stmt->get_result(); + $testimonio = $result->fetch_assoc(); + $stmt->close(); +} + +$mysqli->close(); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Editar Testimonio +

+ +
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+ + + + +
+ Foto actual +

Foto actual

+
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + Opinión o comentario del cliente +
+
+ +
+
+ + +
+
+ +
+
+ +
+ + +
+ Opcional. JPG, PNG (máx 5MB) +
+
+ +
+
+
+ > + +
+
+
+ +
+
+
+ > + +
+
+
+
+ +
+ +
+
+

+ + + Registrado el + +

+
+
+ + Cancelar + + +
+
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp6/admin/editUser.php b/practicas/pp6/admin/editUser.php new file mode 100644 index 00000000..850e911d --- /dev/null +++ b/practicas/pp6/admin/editUser.php @@ -0,0 +1,317 @@ +prepare("SELECT * FROM users WHERE id = ?"); +$stmt->bind_param("i", $user_id); +$stmt->execute(); +$result = $stmt->get_result(); +$usuario = $result->fetch_assoc(); +$stmt->close(); + +if (!$usuario) { + header('Location: usuarios.php'); + exit(); +} + +$error = ''; +$success = ''; + +// Procesar formulario +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $nombre = limpiar_input($_POST['nombre']); + $apellidos = limpiar_input($_POST['apellidos']); + $email = limpiar_input($_POST['email']); + $role = limpiar_input($_POST['role']); + $age = (int) $_POST['age']; + $job = limpiar_input($_POST['job']); + $activo = isset($_POST['activo']) ? 1 : 0; + + // Validaciones + if (!validar_email($email)) { + $error = "El email no es válido"; + } else { + // Verificar email único (excepto el actual) + $email_escapado = $mysqli->real_escape_string($email); + $result = $mysqli->query("SELECT id FROM users WHERE email = '$email_escapado' AND id != $user_id LIMIT 1"); + + if ($result->num_rows > 0) { + $error = "Este email ya está registrado por otro usuario"; + } else { + // Gestionar avatar + $avatar_path = $usuario['foto']; + + if (isset($_FILES['avatar']) && $_FILES['avatar']['error'] === UPLOAD_ERR_OK) { + $resultado = subir_avatar($_FILES['avatar']); + if ($resultado['success']) { + // Eliminar avatar anterior si no es el default + if (!empty($usuario['foto']) && $usuario['foto'] != 'uploads/avatars/default-avatar.jpg') { + eliminar_imagen('../' . $usuario['foto']); + } + $avatar_path = $resultado['path']; + } else { + $error = $resultado['message']; + } + } + + if (empty($error)) { + // Si se proporcionó nueva contraseña + if (!empty($_POST['password'])) { + $password = $_POST['password']; + if (strlen($password) < 6) { + $error = "La contraseña debe tener al menos 6 caracteres"; + } else { + $password_hash = password_hash($password, PASSWORD_DEFAULT); + + $stmt = $mysqli->prepare( + "UPDATE users SET nombre = ?, apellidos = ?, email = ?, password = ?, foto = ?, role = ?, age = ?, job = ?, activo = ? WHERE id = ?" + ); + $stmt->bind_param("ssssssisii", $nombre, $apellidos, $email, $password_hash, $avatar_path, $role, $age, $job, $activo, $user_id); + } + } else { + // Sin cambio de contraseña + $stmt = $mysqli->prepare( + "UPDATE users SET nombre = ?, apellidos = ?, email = ?, foto = ?, role = ?, age = ?, job = ?, activo = ? WHERE id = ?" + ); + $stmt->bind_param("sssssisii", $nombre, $apellidos, $email, $avatar_path, $role, $age, $job, $activo, $user_id); + } + + if (empty($error) && $stmt) { + if ($stmt->execute()) { + // Si el admin se editó a sí mismo, actualizar sesión + if ($user_id == $_SESSION['user_id']) { + $_SESSION['user_name'] = $nombre; + $_SESSION['user_email'] = $email; + $_SESSION['user_role'] = $role; + $_SESSION['user_foto'] = $avatar_path; + } + + header("Location: usuarios.php?success=updated"); + exit(); + } else { + $error = "Error al actualizar usuario: " . $stmt->error; + } + + $stmt->close(); + } + } + } + } + + // Recargar datos del usuario si hubo error + $stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?"); + $stmt->bind_param("i", $user_id); + $stmt->execute(); + $result = $stmt->get_result(); + $usuario = $result->fetch_assoc(); + $stmt->close(); +} + +$mysqli->close(); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Editar Usuario +

+ +
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+ + + +
+ + +
+ + + + +
+ Avatar actual +

Avatar actual

+
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + Déjalo vacío si no quieres cambiarla +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ +
+ + +
+ Opcional. JPG, PNG, GIF (máx 5MB) +
+
+ +
+
+
+ > + +
+
+
+
+ +
+ +
+
+

+ + + Registrado el + +

+
+
+ + Cancelar + + +
+
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp6/admin/faqs.php b/practicas/pp6/admin/faqs.php new file mode 100644 index 00000000..ef4048c8 --- /dev/null +++ b/practicas/pp6/admin/faqs.php @@ -0,0 +1,158 @@ +query("SELECT * FROM faqs ORDER BY orden ASC, id DESC"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $faqs[] = $row; + } +} + +closeDBConnection($mysqli); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Gestión de FAQs +

+ +
+
+
+
+ + +
+
+ + + +
+ + + +
+ + +
+
+

+ Total de FAQs: +

+
+ +
+ +
+
+ 0): ?> +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
IDPreguntaRespuestaCategoríaOrdenEstadoAcciones
+ + + + + + + + - + + + + + + + + Activa + + Inactiva + + + + + + + + +
+
+ +
+

No hay FAQs registradas

+
+ +
+
+ +
+
+ + \ No newline at end of file diff --git a/practicas/pp6/admin/index.php b/practicas/pp6/admin/index.php new file mode 100644 index 00000000..cf8678bb --- /dev/null +++ b/practicas/pp6/admin/index.php @@ -0,0 +1,335 @@ +query("SELECT COUNT(*) as total FROM users"); +$total_usuarios = $result->fetch_assoc()['total']; + +// Contar noticias +$result = $mysqli->query("SELECT COUNT(*) as total FROM noticias"); +$total_noticias = $result->fetch_assoc()['total']; + +// Contar proyectos +$result = $mysqli->query("SELECT COUNT(*) as total FROM proyectos"); +$total_proyectos = $result->fetch_assoc()['total']; + +// Contar testimonios +$result = $mysqli->query("SELECT COUNT(*) as total FROM testimonios"); +$total_testimonios = $result->fetch_assoc()['total']; + +// Contar mensajes sin leer +$result = $mysqli->query("SELECT COUNT(*) as total FROM mensajes_contacto WHERE leido = FALSE"); +$mensajes_sin_leer = $result->fetch_assoc()['total']; + +// Últimos usuarios registrados +$ultimos_usuarios = []; +$result = $mysqli->query("SELECT * FROM users ORDER BY date_register DESC LIMIT 5"); +while ($row = $result->fetch_assoc()) { + $ultimos_usuarios[] = $row; +} + +// Últimos mensajes de contacto +$ultimos_mensajes = []; +$result = $mysqli->query("SELECT * FROM mensajes_contacto ORDER BY fecha_envio DESC LIMIT 5"); +while ($row = $result->fetch_assoc()) { + $ultimos_mensajes[] = $row; +} + +closeDBConnection($mysqli); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Panel de Administración +

+

Bienvenido,

+
+
+
+
+ + +
+
+ + +
+
+
+
+
+ +
+

+

Usuarios

+ Ver Todos +
+
+
+ +
+
+
+
+ +
+

+

Noticias

+ Ver Todas +
+
+
+ +
+
+
+
+ +
+

+

Proyectos

+ Ver Todos +
+
+
+ +
+
+
+
+ +
+

+

Mensajes Sin Leer

+ Ver Mensajes +
+
+
+
+ + +
+
+

+ Accesos Rápidos +

+
+
+ +
+
+
+
+
+ Usuarios +
+

Gestionar usuarios del sistema

+ Ver Todos + + Nuevo + +
+
+
+ +
+
+
+
+ Noticias +
+

Gestionar noticias del blog

+ Ver Todas + + Nueva + +
+
+
+ +
+
+
+
+ Proyectos +
+

Gestionar portfolio de proyectos

+ Ver Todos + + Nuevo + +
+
+
+ +
+
+
+
+ Testimonios +
+

Gestionar testimonios de clientes

+ Ver Todos + + Nuevo + +
+
+
+ +
+
+
+
+ FAQs +
+

Gestionar preguntas frecuentes

+ Ver Todas + + Nueva + +
+
+
+ +
+
+
+
+ Mensajes +
+

Ver mensajes de contacto

+ + Ver Mensajes + 0): ?> + + + +
+
+
+
+ + +
+
+
+
+
+ Últimos Usuarios Registrados +
+ + 0): ?> +
+ + + + + + + + + + + + + + + + + + + +
UsuarioEmailRolFecha
+ + + + + + + + +
+
+ +

No hay usuarios registrados

+ +
+
+
+ + +
+
+
+
+ Últimos Mensajes de Contacto +
+ + 0): ?> +
+ + + + + + + + + + + + + + + + + + + +
NombreAsuntoFechaEstado
+ + Sin leer + + Leído + +
+
+ +

No hay mensajes

+ +
+
+
+
+ +
+
+ + \ No newline at end of file diff --git a/practicas/pp6/admin/mensajes.php b/practicas/pp6/admin/mensajes.php new file mode 100644 index 00000000..5c9a29e8 --- /dev/null +++ b/practicas/pp6/admin/mensajes.php @@ -0,0 +1,205 @@ +prepare("UPDATE mensajes_contacto SET leido = TRUE WHERE id = ?"); + $stmt->bind_param("i", $mensaje_id); + $stmt->execute(); + $stmt->close(); + header('Location: mensajes.php?success=marked'); + exit(); +} + +// Eliminar mensaje si se recibe ID +if (isset($_GET['eliminar'])) { + $mensaje_id = (int)$_GET['eliminar']; + $stmt = $mysqli->prepare("DELETE FROM mensajes_contacto WHERE id = ?"); + $stmt->bind_param("i", $mensaje_id); + $stmt->execute(); + $stmt->close(); + header('Location: mensajes.php?success=deleted'); + exit(); +} + +// Obtener todos los mensajes +$mensajes = []; +$result = $mysqli->query("SELECT * FROM mensajes_contacto ORDER BY fecha_envio DESC"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $mensajes[] = $row; + } +} + +// Contar mensajes sin leer +$result = $mysqli->query("SELECT COUNT(*) as total FROM mensajes_contacto WHERE leido = FALSE"); +$mensajes_sin_leer = $result->fetch_assoc()['total']; + +closeDBConnection($mysqli); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Mensajes de Contacto + 0): ?> + sin leer + +

+ +
+
+
+
+ + +
+
+ + + +
+ + + +
+ + +
+
+

+ Total de Mensajes: +

+
+
+ + sin leer + +
+
+ + 0): ?> + + +
+ +
+
+
+ + +
+
+
+ + + Nuevo + +
+ + + +
+ + + +
+ + +
+ + Asunto: + +

+
+ + +
+ + Mensaje: + +
+ +
+
+ + +
+ +
+ + + + + + + + +
+
+ +
+
+
+ +
+ + + + +
+
+ +

No hay mensajes

+

Cuando los usuarios envíen mensajes desde el formulario de contacto, aparecerán aquí.

+
+
+ + + +
+
+ + \ No newline at end of file diff --git a/practicas/pp6/admin/noticias.php b/practicas/pp6/admin/noticias.php new file mode 100644 index 00000000..5f7c9570 --- /dev/null +++ b/practicas/pp6/admin/noticias.php @@ -0,0 +1,189 @@ +query( + "SELECT n.*, u.nombre as autor_nombre + FROM noticias n + LEFT JOIN users u ON n.autor_id = u.id + ORDER BY n.fecha_publicacion DESC" +); +if ($result) { + while ($row = $result->fetch_assoc()) { + $noticias[] = $row; + } +} + +closeDBConnection($mysqli); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Gestión de Noticias +

+ +
+
+
+
+ + +
+
+ + + +
+ + + +
+ + +
+
+

+ Total de Noticias: +

+
+ +
+ +
+
+ 0): ?> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDImagenTítuloCategoríaAutorFecha PublicaciónDestacadaEstadoAcciones
+ + <?php echo htmlspecialchars($noticia['titulo']); ?> + + + + + + +
+ +
+ + + + + + - + + + + + Destacada + + + - + + + + Activa + + Inactiva + + + + + + + + + + + +
+
+ +
+

No hay noticias creadas

+
+ +
+
+ +
+
+ + \ No newline at end of file diff --git a/practicas/pp6/admin/proyectos.php b/practicas/pp6/admin/proyectos.php new file mode 100644 index 00000000..dfea0f91 --- /dev/null +++ b/practicas/pp6/admin/proyectos.php @@ -0,0 +1,191 @@ +query("SELECT * FROM proyectos ORDER BY orden_visualizacion ASC, fecha_inicio DESC"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $proyectos[] = $row; + } +} + +closeDBConnection($mysqli); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Gestión de Proyectos +

+ +
+
+
+
+ + +
+
+ + + +
+ + + +
+ + +
+
+

+ Total de Proyectos: +

+
+ +
+ +
+
+ 0): ?> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDImagenTítuloClienteCategoríaTecnologíasFecha InicioDestacadoOrdenEstadoAcciones
+ + <?php echo htmlspecialchars($proyecto['titulo']); ?> + + + + + + + + + + + + - + + + + + + + Destacado + + + - + + + + + + + + Activo + + Inactivo + + + + + + + + + + + +
+
+ +
+

No hay proyectos creados

+
+ +
+
+ +
+
+ + \ No newline at end of file diff --git a/practicas/pp6/admin/testimonios.php b/practicas/pp6/admin/testimonios.php new file mode 100644 index 00000000..4a34f29a --- /dev/null +++ b/practicas/pp6/admin/testimonios.php @@ -0,0 +1,179 @@ +query("SELECT * FROM testimonios ORDER BY puntuacion DESC, fecha_testimonio DESC"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $testimonios[] = $row; + } +} + +closeDBConnection($mysqli); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Gestión de Testimonios +

+ +
+
+
+
+ + +
+
+ + + +
+ + + +
+ + +
+
+

+ Total de Testimonios: +

+
+ +
+ +
+
+ 0): ?> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDFotoClienteCargo/EmpresaTestimonioPuntuaciónFechaDestacadoEstadoAcciones
+ + <?php echo htmlspecialchars($testimonio['nombre_cliente']); ?> + + + + + + + +
+ +
+ + + +
+ (/5) +
+ + + Destacado + + + - + + + + Activo + + Inactivo + + + + + + + + +
+
+ +
+

No hay testimonios registrados

+
+ +
+
+ +
+
+ + \ No newline at end of file diff --git a/practicas/pp6/admin/usuarios.php b/practicas/pp6/admin/usuarios.php new file mode 100644 index 00000000..1ec138db --- /dev/null +++ b/practicas/pp6/admin/usuarios.php @@ -0,0 +1,171 @@ +query("SELECT * FROM users ORDER BY date_register DESC"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $usuarios[] = $row; + } +} + +closeDBConnection($mysqli); + +include '../includes/header.php'; +?> + + +
+
+
+
+

+ Gestión de Usuarios +

+ +
+
+
+
+ + +
+
+ + + +
+ + + +
+ + +
+
+

+ Total de Usuarios: +

+
+ +
+ +
+
+ 0): ?> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDFotoNombreEmailRolEdadTrabajoFecha RegistroEstadoAcciones
+ + <?php echo htmlspecialchars($usuario['nombre']); ?> + + + + + + + + + + años + + Activo + + Inactivo + + + + + + + + + + + + + +
+
+ +
+

No hay usuarios registrados

+
+ +
+
+ +
+
+ + \ No newline at end of file diff --git a/practicas/pp6/blog-single.html b/practicas/pp6/blog-single.php similarity index 100% rename from practicas/pp6/blog-single.html rename to practicas/pp6/blog-single.php diff --git a/practicas/pp6/blog.html b/practicas/pp6/blog.html deleted file mode 100644 index 455d25d4..00000000 --- a/practicas/pp6/blog.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - Agen | Bootstrap Agency Template - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-

Our Blog

-
-
-
-
- - - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/practicas/pp6/blog.php b/practicas/pp6/blog.php new file mode 100644 index 00000000..3f57984f --- /dev/null +++ b/practicas/pp6/blog.php @@ -0,0 +1,183 @@ + + +<query("SELECT COUNT(*) as total FROM noticias WHERE activa = TRUE"); +$total_noticias = $result->fetch_assoc()['total']; +$total_paginas = ceil($total_noticias / $noticias_por_pagina); + +// Obtener noticias de la página actual +$noticias = []; +$result = $mysqli->query("SELECT n.*, u.nombre as autor_nombre + FROM noticias n + LEFT JOIN users u ON n.autor_id = u.id + WHERE n.activa = TRUE + ORDER BY n.fecha_publicacion DESC + LIMIT $noticias_por_pagina OFFSET $offset"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $noticias[] = $row; + } +} + +closeDBConnection($mysqli); + +include 'includes/header.php'; +?> + + +
+
+
+
+

Nuestro Blog

+
+
+
+
+ + +
+
+
+
+
+

Últimas Noticias y Artículos

+

+ Mantente informado sobre las últimas tendencias en tecnología +

+
+
+
+ + 0): ?> +
+ +
+
+ + <?php echo htmlspecialchars($noticia['titulo']); ?> + + <?php echo htmlspecialchars($noticia['titulo']); ?> + + +
+ + + + + + +
+ + + +
+ + +

+ +

+ + +

+ +

+ + +
+
+
+ +
+ + + 1): ?> +
+
+ +
+
+ + + +
+
+
+ No hay noticias disponibles en este momento. +
+
+
+ +
+
+ + \ No newline at end of file diff --git a/practicas/pp6/contact.html b/practicas/pp6/contact.html deleted file mode 100644 index 0c5f9166..00000000 --- a/practicas/pp6/contact.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - Agen | Bootstrap Agency Template - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-

Contact Us

-
-
-
-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/practicas/pp6/contact.php b/practicas/pp6/contact.php new file mode 100644 index 00000000..c3f20dad --- /dev/null +++ b/practicas/pp6/contact.php @@ -0,0 +1,187 @@ +prepare( + "INSERT INTO mensajes_contacto (nombre, email, asunto, mensaje, fecha_envio) + VALUES (?, ?, ?, ?, NOW())" + ); + + if ($stmt) { + $stmt->bind_param("ssss", $nombre, $email, $asunto, $mensaje); + + if ($stmt->execute()) { + $success = "¡Mensaje enviado correctamente! Te contactaremos pronto."; + // Limpiar variables + $nombre = $email = $asunto = $mensaje = ''; + } else { + $error = "Error al enviar el mensaje. Inténtalo de nuevo."; + } + + $stmt->close(); + } + } + + $mysqli->close(); +} + +include 'includes/header.php'; +?> + + +
+
+
+
+

Contacto

+
+
+
+
+ + +
+
+
+
+
+

Ponte en Contacto

+

+ ¿Tienes alguna pregunta o proyecto en mente? Escríbenos y te responderemos lo antes posible +

+
+
+
+ +
+ +
+
+
+ +
+
+
Dirección
+

+
+
+ +
+
+ +
+
+
Teléfono
+

+
+
+ +
+
+ +
+
+
Email
+

+
+
+
+ + +
+
+

+ Envíanos un Mensaje +

+ + +
+ + +
+ + + +
+ + +
+ + +
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+ +
+
+
+
+
+
+
+
+ + \ No newline at end of file diff --git a/practicas/pp6/includes/config.php b/practicas/pp6/includes/config.php index 30db1a17..4657ecaa 100644 --- a/practicas/pp6/includes/config.php +++ b/practicas/pp6/includes/config.php @@ -6,8 +6,8 @@ // CREDENCIALES DE ALWAYSDATA define('DB_HOST', 'mysql-carolinagnz.alwaysdata.net'); define('DB_NAME', 'carolinagnz_techsolutions_db'); -define('DB_USER', 'carolinagnz'); // Tu usuario de Alwaysdata -define('DB_PASS', 'Odin2021!'); // ← PON TU CONTRASEÑA REAL +define('DB_USER', '439982'); // Tu usuario de Alwaysdata +define('DB_PASS', 'Odin2021!'); define('DB_CHARSET', 'utf8mb4'); function getDBConnection() { diff --git a/practicas/pp6/includes/functions.php b/practicas/pp6/includes/functions.php index e69de29b..d037902b 100644 --- a/practicas/pp6/includes/functions.php +++ b/practicas/pp6/includes/functions.php @@ -0,0 +1,135 @@ +real_escape_string($data); + } + return $data; +} + +function validar_email($email) { + return filter_var($email, FILTER_VALIDATE_EMAIL); +} + +function validar_longitud($texto, $min, $max) { + return (strlen($texto) >= $min && strlen($texto) <= $max); +} + +// ==================================== +// FUNCIONES DE SESIÓN +// ==================================== + +function iniciar_sesion_segura() { + if (session_status() == PHP_SESSION_NONE) { + session_start(); + } + + if (!isset($_SESSION['last_regeneration'])) { + $_SESSION['last_regeneration'] = time(); + } elseif (time() - $_SESSION['last_regeneration'] > 300) { + session_regenerate_id(true); + $_SESSION['last_regeneration'] = time(); + } + + if (isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > SESSION_TIMEOUT)) { + cerrar_sesion(); + header('Location: login.php?timeout=1'); + exit(); + } + $_SESSION['last_activity'] = time(); +} + +function esta_logueado() { + return isset($_SESSION['user_id']) && !empty($_SESSION['user_id']); +} + +function es_admin() { + return isset($_SESSION['user_role']) && $_SESSION['user_role'] === 'admin'; +} + +function cerrar_sesion() { + $_SESSION = array(); + if (ini_get("session.use_cookies")) { + $params = session_get_cookie_params(); + setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"]); + } + session_destroy(); +} + +// ==================================== +// FUNCIONES DE FORMATO +// ==================================== + +function formatear_fecha($fecha, $formato = 'medio') { + $timestamp = strtotime($fecha); + $meses = array(1 => 'enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'); + + if ($formato == 'corto') { + return date('d/m/Y', $timestamp); + } + + $dia = date('d', $timestamp); + $mes = $meses[date('n', $timestamp)]; + $anio = date('Y', $timestamp); + return $dia . ' de ' . $mes . ' de ' . $anio; +} + +function recortar_texto($texto, $longitud = 100) { + if (strlen($texto) <= $longitud) return $texto; + return substr($texto, 0, $longitud) . '...'; +} + +// ==================================== +// FUNCIONES DE ARCHIVOS +// ==================================== + +function subir_imagen($file, $carpeta = 'general') { + if (!isset($file) || $file['error'] !== UPLOAD_ERR_OK) { + return ['success' => false, 'message' => 'Error al subir el archivo']; + } + + if ($file['size'] > MAX_FILE_SIZE) { + return ['success' => false, 'message' => 'Archivo demasiado grande (máx 5MB)']; + } + + $finfo = finfo_open(FILEINFO_MIME_TYPE); + $mime = finfo_file($finfo, $file['tmp_name']); + finfo_close($finfo); + + if (!in_array($mime, ALLOWED_IMAGE_TYPES)) { + return ['success' => false, 'message' => 'Tipo de archivo no permitido']; + } + + $extension = pathinfo($file['name'], PATHINFO_EXTENSION); + $nombre_archivo = uniqid() . '_' . time() . '.' . $extension; + + $ruta_carpeta = UPLOAD_DIR . $carpeta . '/'; + if (!file_exists($ruta_carpeta)) { + mkdir($ruta_carpeta, 0755, true); + } + + $ruta_completa = $ruta_carpeta . $nombre_archivo; + if (move_uploaded_file($file['tmp_name'], $ruta_completa)) { + return ['success' => true, 'path' => 'uploads/' . $carpeta . '/' . $nombre_archivo]; + } + + return ['success' => false, 'message' => 'Error al mover el archivo']; +} + +function subir_avatar($file) { + return subir_imagen($file, 'avatars'); +} +?> \ No newline at end of file diff --git a/practicas/pp6/index.html b/practicas/pp6/index.html deleted file mode 100644 index afc1acfc..00000000 --- a/practicas/pp6/index.html +++ /dev/null @@ -1,577 +0,0 @@ - - - - - - - - - Agen | Bootstrap Agency Template - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-

Our Services

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut - labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut - aliquip ex ea commodo consequat.

-
-
-
-
-
-
-
-
- - -
-

Design

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmo

-
-
-
-
-
-
-
- - -
-

Development

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmo

-
-
-
-
-
-
-
- - -
-

Marketing

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmo

-
-
-
-
-
-
- - - -
-
- bg-image -
-
-
-
-
-
- feature-image -
-
-
-
-

We know What Bait to Use

-
-
-
-
- -
-

User Experience

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmo

-
-
-
-
-
- -
-

Responsive Layout

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmo

-
-
-
-
-
- -
-

Digital Solutions

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmo

-
-
-
-
-
- -
-

Bootstrap 4x

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmo

-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-

Our Team

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor

-
-
-
-
-
-
- team-member -
-

Sara Adams

- Designer -
-
-
-
-
- team-member -
-

Tom Bills

- Developer -
-
-
-
-
- team-member -
-

Anna Walle

- Manager -
-
-
-
-
- team-member -
-

Devid Json

- CEO -
-
-
-
-
-
- - - -
- overlay -
-
-
-

Who We Are

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor - incididunt - ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut - aliquip ex ea commodo consequat.

- Read More -
-
- -
-
-
-
- - - -
-
-
-
-

Our Feature Works

-
-
-
- -
-
-
- project-image - -
-
-
-
- project-image - -
-
-
-
- project-image - -
-
-
-
- project-image - -
-
-
-
- project-image - -
-
-
-
-
- - - -
-
-
-
-

Let's Start With Us!

-

Lorem ipsum dolor sit amet, magna habemus ius ad

- Let’s talk -
-
-
-
- - - -
-
-
-
-

Our Smart Pricing Table

-
-
-
-
-
-
-
-

Basic

-

Besic and simple website

-

$ 30

-
    -
  • Mobile-Optimized Website
  • -
  • Powerful Website Metrics
  • -
  • Free Custom Domain
  • -
  • 24/7 Customer Support
  • -
  • Fully Integrated E-Cormmerce
  • -
  • Sell unlimited Product
  • -
- Try it now -
-
-
-
-
-
-

Basic

-

Besic and simple website

-

$ 30

-
    -
  • Mobile-Optimized Website
  • -
  • Powerful Website Metrics
  • -
  • Free Custom Domain
  • -
  • 24/7 Customer Support
  • -
  • Fully Integrated E-Cormmerce
  • -
  • Sell unlimited Product
  • -
- Try it now -
-
-
-
-
-
-

Basic

-

Besic and simple website

-

$ 30

-
    -
  • Mobile-Optimized Website
  • -
  • Powerful Website Metrics
  • -
  • Free Custom Domain
  • -
  • 24/7 Customer Support
  • -
  • Fully Integrated E-Cormmerce
  • -
  • Sell unlimited Product
  • -
- Try it now -
-
-
-
-
-
- - - -
-
-
-
-

Latest News

-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/practicas/pp6/index.php b/practicas/pp6/index.php new file mode 100644 index 00000000..01676bc4 --- /dev/null +++ b/practicas/pp6/index.php @@ -0,0 +1,342 @@ +<query("SELECT * FROM proyectos WHERE destacado = TRUE AND activo = TRUE ORDER BY orden_visualizacion ASC LIMIT 6"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $proyectos[] = $row; + } +} + +// Obtener noticias recientes (máximo 3) +$noticias = []; +$result = $mysqli->query("SELECT * FROM noticias WHERE activa = TRUE ORDER BY fecha_publicacion DESC LIMIT 3"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $noticias[] = $row; + } +} + +// Obtener testimonios +$testimonios = []; +$result = $mysqli->query("SELECT * FROM testimonios WHERE destacado = TRUE AND activo = TRUE ORDER BY puntuacion DESC LIMIT 3"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $testimonios[] = $row; + } +} + +closeDBConnection($mysqli); + +include 'includes/header.php'; +?> + + + + + + +
+
+
+ Has cerrado sesión correctamente. + +
+
+
+ + + +
+
+
+
+
+

Nuestros Servicios

+

+ Ofrecemos soluciones tecnológicas completas para impulsar tu negocio +

+
+
+
+ +
+
+
+
+ +
+
+
Desarrollo Web
+

+ Sitios web modernos, responsivos y optimizados para tu negocio +

+
+
+
+ +
+
+
+ +
+
+
Apps Móviles
+

+ Aplicaciones nativas y multiplataforma para iOS y Android +

+
+
+
+ +
+
+
+ +
+
+
Consultoría IT
+

+ Asesoramiento tecnológico para optimizar tus procesos +

+
+
+
+ +
+
+
+ +
+
+
Soporte 24/7
+

+ Mantenimiento y soporte técnico continuo +

+
+
+
+
+
+
+ + + 0): ?> +
+
+
+
+
+

Portfolio Destacado

+

+ Algunos de nuestros proyectos más recientes +

+
+
+
+ +
+ +
+
+ + <?php echo htmlspecialchars($proyecto['titulo']); ?> + + <?php echo htmlspecialchars($proyecto['titulo']); ?> + + +
+
+ + + +
+

+ +

+ + + + + +
+
+
+ +
+ + +
+
+ + + + 0): ?> +
+
+
+
+
+

Últimas Noticias

+

+ Mantente al día con nuestro blog +

+
+
+
+ +
+ +
+
+ + <?php echo htmlspecialchars($noticia['titulo']); ?> + + <?php echo htmlspecialchars($noticia['titulo']); ?> + + +
+
+ + + +
+ +

+ +

+ +

+ +
+
+
+ +
+ + +
+
+ + + + 0): ?> +
+
+
+
+
+

Lo Que Dicen Nuestros Clientes

+
+
+
+ +
+ +
+
+ + <?php echo htmlspecialchars($testimonio['nombre_cliente']); ?> + + <?php echo htmlspecialchars($testimonio['nombre_cliente']); ?> + + +
+

+ "" +

+
+ +
+ + + en + +
+ + + +
+
+
+
+ +
+
+
+ + + \ No newline at end of file diff --git a/practicas/pp6/login.php b/practicas/pp6/login.php new file mode 100644 index 00000000..15e76fe9 --- /dev/null +++ b/practicas/pp6/login.php @@ -0,0 +1,134 @@ +real_escape_string($email); + $result = $mysqli->query( + "SELECT * FROM users WHERE email = '$email_escapado' AND activo = TRUE LIMIT 1" + ); + + if ($result && $result->num_rows > 0) { + $user = $result->fetch_assoc(); + + // Verificar contraseña + if (password_verify($password, $user['password'])) { + // Login exitoso - crear sesión + $_SESSION['user_id'] = $user['id']; + $_SESSION['user_name'] = $user['nombre']; + $_SESSION['user_email'] = $user['email']; + $_SESSION['user_role'] = $user['role']; + $_SESSION['user_foto'] = $user['foto']; + $_SESSION['last_activity'] = time(); + + // Redirigir según rol + if ($user['role'] === 'admin') { + header("Location: admin/index.php"); + } else { + header("Location: index.php"); + } + exit(); + + } else { + $error = "Email o contraseña incorrectos"; + } + } else { + $error = "Email o contraseña incorrectos"; + } + + $mysqli->close(); +} + +include 'includes/header.php'; +?> + +
+
+
+
+
+
+ +
+ +

Iniciar Sesión

+
+ + +
+ + +
+ + + +
+ Tu sesión ha expirado por inactividad. + Inicia sesión de nuevo. +
+ + +
+
+ + +
+ +
+ + +
+ + + +
+ +

+ ¿No tienes cuenta? + Regístrate aquí +

+
+ +
+
+
+
+
+
+ + \ No newline at end of file diff --git a/practicas/pp6/logout.php b/practicas/pp6/logout.php new file mode 100644 index 00000000..0ef78b54 --- /dev/null +++ b/practicas/pp6/logout.php @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/practicas/pp6/noticia.php b/practicas/pp6/noticia.php new file mode 100644 index 00000000..e755af5e --- /dev/null +++ b/practicas/pp6/noticia.php @@ -0,0 +1,216 @@ +prepare( + "SELECT n.*, u.nombre as autor_nombre, u.foto as autor_foto + FROM noticias n + LEFT JOIN users u ON n.autor_id = u.id + WHERE n.id = ? AND n.activa = TRUE" +); +$stmt->bind_param("i", $noticia_id); +$stmt->execute(); +$result = $stmt->get_result(); +$noticia = $result->fetch_assoc(); +$stmt->close(); + +if (!$noticia) { + header('Location: blog.php'); + exit(); +} + +$page_title = $noticia['titulo'] . " - " . SITE_NAME; + +// Obtener comentarios de la noticia +$comentarios = []; +$result = $mysqli->query( + "SELECT c.*, u.nombre as usuario_nombre, u.foto as usuario_foto + FROM comentarios c + LEFT JOIN users u ON c.usuario_id = u.id + WHERE c.noticia_id = $noticia_id AND c.activo = TRUE + ORDER BY c.fecha_comentario DESC" +); +if ($result) { + while ($row = $result->fetch_assoc()) { + $comentarios[] = $row; + } +} + +closeDBConnection($mysqli); + +include 'includes/header.php'; +?> + + +
+
+
+
+

Blog

+
+
+
+
+ + +
+
+
+ +
+
+ + <?php echo htmlspecialchars($noticia['titulo']); ?> + + +
+ + + + + + +

+ +

+ + +
+ +
+ + + + +
+ +
+
+
+ + +
+

+ Comentarios () +

+ + 0): ?> + +
+ + + + + + +
+
+ +
+ + + +

+ +

+
+
+ + +

No hay comentarios aún. ¡Sé el primero en comentar!

+ + + +
+ El sistema de comentarios estará disponible próximamente. +
+ +
+ + Inicia sesión + para dejar un comentario. +
+ +
+
+ + +
+
+
Sobre el Autor
+
+ + + +
+ +
+
+
+ +
+
Compartir
+ +
+ + +
+
+
+
+ + \ No newline at end of file diff --git a/practicas/pp6/portfolio.php b/practicas/pp6/portfolio.php new file mode 100644 index 00000000..98460a2f --- /dev/null +++ b/practicas/pp6/portfolio.php @@ -0,0 +1,151 @@ +query("SELECT * FROM proyectos WHERE activo = TRUE ORDER BY orden_visualizacion ASC"); +if ($result) { + while ($row = $result->fetch_assoc()) { + $proyectos[] = $row; + } +} + +closeDBConnection($mysqli); + +include 'includes/header.php'; +?> + + +
+
+
+
+

Nuestro Portfolio

+
+
+
+
+ + +
+
+
+
+
+

Proyectos Realizados

+

+ Descubre algunos de los proyectos que hemos desarrollado para nuestros clientes +

+
+
+
+ + 0): ?> +
+ +
+
+ + <?php echo htmlspecialchars($proyecto['titulo']); ?> + + <?php echo htmlspecialchars($proyecto['titulo']); ?> + + +
+
+ + + +
+ + +

+ + Cliente: +

+ + +

+ +

+ +
+ + + + + + + + + + + +
+ + +
+
+
+ +
+ +
+
+
+ No hay proyectos disponibles en este momento. +
+
+
+ +
+
+ + +
+
+
+
+

¿Tienes un proyecto en mente?

+

+ Contáctanos y cuéntanos tu idea. Estaremos encantados de ayudarte a hacerla realidad. +

+ Contactar Ahora +
+
+
+
+ + \ No newline at end of file diff --git a/practicas/pp6/proyecto.php b/practicas/pp6/proyecto.php new file mode 100644 index 00000000..e755af5e --- /dev/null +++ b/practicas/pp6/proyecto.php @@ -0,0 +1,216 @@ +prepare( + "SELECT n.*, u.nombre as autor_nombre, u.foto as autor_foto + FROM noticias n + LEFT JOIN users u ON n.autor_id = u.id + WHERE n.id = ? AND n.activa = TRUE" +); +$stmt->bind_param("i", $noticia_id); +$stmt->execute(); +$result = $stmt->get_result(); +$noticia = $result->fetch_assoc(); +$stmt->close(); + +if (!$noticia) { + header('Location: blog.php'); + exit(); +} + +$page_title = $noticia['titulo'] . " - " . SITE_NAME; + +// Obtener comentarios de la noticia +$comentarios = []; +$result = $mysqli->query( + "SELECT c.*, u.nombre as usuario_nombre, u.foto as usuario_foto + FROM comentarios c + LEFT JOIN users u ON c.usuario_id = u.id + WHERE c.noticia_id = $noticia_id AND c.activo = TRUE + ORDER BY c.fecha_comentario DESC" +); +if ($result) { + while ($row = $result->fetch_assoc()) { + $comentarios[] = $row; + } +} + +closeDBConnection($mysqli); + +include 'includes/header.php'; +?> + + +
+
+
+
+

Blog

+
+
+
+
+ + +
+
+
+ +
+
+ + <?php echo htmlspecialchars($noticia['titulo']); ?> + + +
+ + + + + + +

+ +

+ + +
+ +
+ + + + +
+ +
+
+
+ + +
+

+ Comentarios () +

+ + 0): ?> + +
+ + + + + + +
+
+ +
+ + + +

+ +

+
+
+ + +

No hay comentarios aún. ¡Sé el primero en comentar!

+ + + +
+ El sistema de comentarios estará disponible próximamente. +
+ +
+ + Inicia sesión + para dejar un comentario. +
+ +
+
+ + +
+
+
Sobre el Autor
+
+ + + +
+ +
+
+
+ +
+
Compartir
+ +
+ + +
+
+
+
+ + \ No newline at end of file diff --git a/practicas/pp6/register.php b/practicas/pp6/register.php new file mode 100644 index 00000000..1c078a36 --- /dev/null +++ b/practicas/pp6/register.php @@ -0,0 +1,198 @@ +real_escape_string($email); + $result = $mysqli->query("SELECT id FROM users WHERE email = '$email_escapado' LIMIT 1"); + + if ($result->num_rows > 0) { + $error = "Este email ya está registrado"; + } else { + // Gestionar avatar + $avatar_path = 'uploads/avatars/default-avatar.jpg'; + + if (isset($_FILES['avatar']) && $_FILES['avatar']['error'] === UPLOAD_ERR_OK) { + $resultado = subir_avatar($_FILES['avatar']); + if ($resultado['success']) { + $avatar_path = $resultado['path']; + } else { + $error = $resultado['message']; + } + } + + if (empty($error)) { + // Hash de contraseña + $password_hash = password_hash($password, PASSWORD_DEFAULT); + + // Insertar usuario + $stmt = $mysqli->prepare( + "INSERT INTO users (nombre, apellidos, email, password, foto, role, age, job, date_register) + VALUES (?, ?, ?, ?, ?, 'user', ?, ?, NOW())" + ); + + if (!$stmt) { + die("Error en prepare: " . $mysqli->error); + } + + $stmt->bind_param("sssssis", $nombre, $apellidos, $email, $password_hash, $avatar_path, $age, $job); + + if ($stmt->execute()) { + $success = "¡Usuario registrado correctamente! Redirigiendo al login..."; + header("refresh:2;url=login.php"); + } else { + $error = "Error al registrar usuario: " . $stmt->error; + } + + $stmt->close(); + } + } + } + + $mysqli->close(); +} + +include 'includes/header.php'; +?> + +
+
+
+
+
+
+

+ Crear Cuenta +

+ + +
+ + +
+ + + +
+ +
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+ + +
+ Opcional. JPG, PNG, GIF (máx 5MB) +
+ + + +
+

+ ¿Ya tienes cuenta? + Inicia sesión aquí +

+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/practicas/pp6/test_conexion.php b/practicas/pp6/test_conexion.php new file mode 100644 index 00000000..056648c1 --- /dev/null +++ b/practicas/pp6/test_conexion.php @@ -0,0 +1,180 @@ + + + + + + + Test Conexión - TechSolutions Pro + + + + +
+
+

🧪 Test de Conexión

+

TechSolutions Pro - Verificación del Sistema

+
+ +
+ '; + echo '

✅ Test 1: Configuración

'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
Host:' . DB_HOST . '
Base de datos:' . DB_NAME . '
Usuario:' . DB_USER . '
Charset:' . DB_CHARSET . '
'; + echo '
'; + + // TEST 2: Conexión MySQL + echo '
'; + echo '

🔌 Test 2: Conexión MySQL

'; + try { + $mysqli = getDBConnection(); + echo ''; + echo ''; + echo ''; + echo ''; + echo '
Estado:✓ Conectado
Versión MySQL:' . $mysqli->server_info . '
Charset:' . $mysqli->character_set_name() . '
'; + } catch (Exception $e) { + echo '

❌ Error: ' . $e->getMessage() . '

'; + $all_passed = false; + echo '
'; + exit; + } + echo ''; + + // TEST 3: Verificar Tablas + echo '
'; + echo '

🗄️ Test 3: Verificar Tablas

'; + $tablas_requeridas = ['users', 'noticias', 'proyectos', 'testimonios', 'comentarios', 'faqs', 'mensajes_contacto']; + $tablas_encontradas = []; + + $result = $mysqli->query("SHOW TABLES"); + while ($row = $result->fetch_array()) { + $tablas_encontradas[] = $row[0]; + } + + echo ''; + foreach ($tablas_requeridas as $tabla) { + $existe = in_array($tabla, $tablas_encontradas); + $icono = $existe ? '✓' : '✗'; + $color = $existe ? '#28a745' : '#dc3545'; + echo ''; + if (!$existe) $all_passed = false; + } + echo '
' . $tabla . '' . $icono . ' ' . ($existe ? 'Existe' : 'NO existe') . '
'; + echo '
'; + + // TEST 4: Verificar Datos + echo '
'; + echo '

📊 Test 4: Verificar Datos

'; + echo ''; + + $result = $mysqli->query("SELECT COUNT(*) as total FROM users"); + $row = $result->fetch_assoc(); + echo ''; + + $result = $mysqli->query("SELECT COUNT(*) as total FROM noticias"); + $row = $result->fetch_assoc(); + echo ''; + + $result = $mysqli->query("SELECT COUNT(*) as total FROM proyectos"); + $row = $result->fetch_assoc(); + echo ''; + + echo '
Usuarios:' . $row['total'] . ' registros
Noticias:' . $row['total'] . ' registros
Proyectos:' . $row['total'] . ' registros
'; + echo '
'; + + // TEST 5: Información del Sistema + echo '
'; + echo '

⚙️ Test 5: Información del Sistema

'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
Versión PHP:' . phpversion() . '
MySQLi:' . (extension_loaded('mysqli') ? '✓ Instalada' : '✗ NO instalada') . '
Entorno:' . ENVIRONMENT . '
Debug Mode:' . (DEBUG_MODE ? 'Activo' : 'Desactivado') . '
'; + echo '
'; + + closeDBConnection($mysqli); + + // Resultado final + if ($all_passed) { + echo '
'; + echo '

🎉 ¡TODOS LOS TESTS PASARON!

'; + echo '

Tu aplicación está lista p \ No newline at end of file From 97c36ef8807df9ca2f58e2dea16b78a0a6e67e65 Mon Sep 17 00:00:00 2001 From: carolinagnz Date: Tue, 9 Dec 2025 03:11:49 +0100 Subject: [PATCH 21/22] PP6 --- practicas/pp6/footer.php | 93 ++++++ practicas/pp6/index.php | 513 ++++++++++++++++---------------- practicas/pp6/test_conexion.php | 180 ----------- 3 files changed, 346 insertions(+), 440 deletions(-) create mode 100644 practicas/pp6/footer.php delete mode 100644 practicas/pp6/test_conexion.php diff --git a/practicas/pp6/footer.php b/practicas/pp6/footer.php new file mode 100644 index 00000000..61ce4af4 --- /dev/null +++ b/practicas/pp6/footer.php @@ -0,0 +1,93 @@ + +

+
+
+
+ +
+ +
+ +
+ + + +
+ +
+
+ + +
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/practicas/pp6/index.php b/practicas/pp6/index.php index 01676bc4..cf8678bb 100644 --- a/practicas/pp6/index.php +++ b/practicas/pp6/index.php @@ -1,342 +1,335 @@ -<query("SELECT * FROM proyectos WHERE destacado = TRUE AND activo = TRUE ORDER BY orden_visualizacion ASC LIMIT 6"); -if ($result) { - while ($row = $result->fetch_assoc()) { - $proyectos[] = $row; - } -} +// Contar usuarios +$result = $mysqli->query("SELECT COUNT(*) as total FROM users"); +$total_usuarios = $result->fetch_assoc()['total']; + +// Contar noticias +$result = $mysqli->query("SELECT COUNT(*) as total FROM noticias"); +$total_noticias = $result->fetch_assoc()['total']; + +// Contar proyectos +$result = $mysqli->query("SELECT COUNT(*) as total FROM proyectos"); +$total_proyectos = $result->fetch_assoc()['total']; + +// Contar testimonios +$result = $mysqli->query("SELECT COUNT(*) as total FROM testimonios"); +$total_testimonios = $result->fetch_assoc()['total']; + +// Contar mensajes sin leer +$result = $mysqli->query("SELECT COUNT(*) as total FROM mensajes_contacto WHERE leido = FALSE"); +$mensajes_sin_leer = $result->fetch_assoc()['total']; -// Obtener noticias recientes (máximo 3) -$noticias = []; -$result = $mysqli->query("SELECT * FROM noticias WHERE activa = TRUE ORDER BY fecha_publicacion DESC LIMIT 3"); -if ($result) { - while ($row = $result->fetch_assoc()) { - $noticias[] = $row; - } +// Últimos usuarios registrados +$ultimos_usuarios = []; +$result = $mysqli->query("SELECT * FROM users ORDER BY date_register DESC LIMIT 5"); +while ($row = $result->fetch_assoc()) { + $ultimos_usuarios[] = $row; } -// Obtener testimonios -$testimonios = []; -$result = $mysqli->query("SELECT * FROM testimonios WHERE destacado = TRUE AND activo = TRUE ORDER BY puntuacion DESC LIMIT 3"); -if ($result) { - while ($row = $result->fetch_assoc()) { - $testimonios[] = $row; - } +// Últimos mensajes de contacto +$ultimos_mensajes = []; +$result = $mysqli->query("SELECT * FROM mensajes_contacto ORDER BY fecha_envio DESC LIMIT 5"); +while ($row = $result->fetch_assoc()) { + $ultimos_mensajes[] = $row; } closeDBConnection($mysqli); -include 'includes/header.php'; +include '../includes/header.php'; ?> - -
'; - - // TEST 3: Verificar Tablas - echo '
'; - echo '

🗄️ Test 3: Verificar Tablas

'; - $tablas_requeridas = ['users', 'noticias', 'proyectos', 'testimonios', 'comentarios', 'faqs', 'mensajes_contacto']; - $tablas_encontradas = []; - - $result = $mysqli->query("SHOW TABLES"); - while ($row = $result->fetch_array()) { - $tablas_encontradas[] = $row[0]; - } - - echo ''; - foreach ($tablas_requeridas as $tabla) { - $existe = in_array($tabla, $tablas_encontradas); - $icono = $existe ? '✓' : '✗'; - $color = $existe ? '#28a745' : '#dc3545'; - echo ''; - if (!$existe) $all_passed = false; - } - echo '
' . $tabla . '' . $icono . ' ' . ($existe ? 'Existe' : 'NO existe') . '
'; - echo '
'; - - // TEST 4: Verificar Datos - echo '
'; - echo '

📊 Test 4: Verificar Datos

'; - echo ''; - - $result = $mysqli->query("SELECT COUNT(*) as total FROM users"); - $row = $result->fetch_assoc(); - echo ''; - - $result = $mysqli->query("SELECT COUNT(*) as total FROM noticias"); - $row = $result->fetch_assoc(); - echo ''; - - $result = $mysqli->query("SELECT COUNT(*) as total FROM proyectos"); - $row = $result->fetch_assoc(); - echo ''; - - echo '
Usuarios:' . $row['total'] . ' registros
Noticias:' . $row['total'] . ' registros
Proyectos:' . $row['total'] . ' registros
'; - echo '
'; - - // TEST 5: Información del Sistema - echo '
'; - echo '

⚙️ Test 5: Información del Sistema

'; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo '
Versión PHP:' . phpversion() . '
MySQLi:' . (extension_loaded('mysqli') ? '✓ Instalada' : '✗ NO instalada') . '
Entorno:' . ENVIRONMENT . '
Debug Mode:' . (DEBUG_MODE ? 'Activo' : 'Desactivado') . '
'; - echo '
'; - - closeDBConnection($mysqli); - - // Resultado final - if ($all_passed) { - echo '
'; - echo '

🎉 ¡TODOS LOS TESTS PASARON!

'; - echo '

Tu aplicación está lista p \ No newline at end of file From a702e3f4d494d4e485fe06b95a1683903ec9d34d Mon Sep 17 00:00:00 2001 From: carolinagnz Date: Wed, 10 Dec 2025 14:17:46 +0100 Subject: [PATCH 22/22] Gestor de Notas Terminado --- practicas/pp6/index.php | 575 ++++++++++-------- proyecto-gestor-notas/admin/addModulo.php | 199 ++++++ proyecto-gestor-notas/admin/addNota.php | 240 ++++++++ proyecto-gestor-notas/admin/addUser.php | 238 ++++++++ .../admin/admin-dashboard.php | 219 +++++++ proyecto-gestor-notas/admin/adminModulos.php | 185 ++++++ proyecto-gestor-notas/admin/adminNotas.php | 271 +++++++++ proyecto-gestor-notas/admin/adminUsers.php | 213 +++++++ .../admin/consultas-avanzadas.php | 278 +++++++++ proyecto-gestor-notas/admin/deleteModulo.php | 35 ++ proyecto-gestor-notas/admin/deleteNota.php | 21 + proyecto-gestor-notas/admin/deleteUser.php | 41 ++ proyecto-gestor-notas/admin/editModulo.php | 236 +++++++ proyecto-gestor-notas/admin/editNota.php | 240 ++++++++ proyecto-gestor-notas/admin/editUser.php | 238 ++++++++ proyecto-gestor-notas/index.php | 24 +- proyecto-gestor-notas/login.php | 205 +++++++ proyecto-gestor-notas/logout.php | 6 + proyecto-gestor-notas/register.php | 263 ++++++++ proyecto-gestor-notas/student/mi-media.php | 340 +++++++++++ proyecto-gestor-notas/student/mi-perfil.php | 293 +++++++++ proyecto-gestor-notas/student/mis-modulos.php | 169 +++++ proyecto-gestor-notas/student/mis-notas.php | 228 +++++++ .../student/student-dashboard.php | 310 ++++++++++ 24 files changed, 4799 insertions(+), 268 deletions(-) create mode 100644 proyecto-gestor-notas/admin/addModulo.php create mode 100644 proyecto-gestor-notas/admin/addNota.php create mode 100644 proyecto-gestor-notas/admin/addUser.php create mode 100644 proyecto-gestor-notas/admin/admin-dashboard.php create mode 100644 proyecto-gestor-notas/admin/adminModulos.php create mode 100644 proyecto-gestor-notas/admin/adminNotas.php create mode 100644 proyecto-gestor-notas/admin/adminUsers.php create mode 100644 proyecto-gestor-notas/admin/consultas-avanzadas.php create mode 100644 proyecto-gestor-notas/admin/deleteModulo.php create mode 100644 proyecto-gestor-notas/admin/deleteNota.php create mode 100644 proyecto-gestor-notas/admin/deleteUser.php create mode 100644 proyecto-gestor-notas/admin/editModulo.php create mode 100644 proyecto-gestor-notas/admin/editNota.php create mode 100644 proyecto-gestor-notas/admin/editUser.php create mode 100644 proyecto-gestor-notas/login.php create mode 100644 proyecto-gestor-notas/logout.php create mode 100644 proyecto-gestor-notas/register.php create mode 100644 proyecto-gestor-notas/student/mi-media.php create mode 100644 proyecto-gestor-notas/student/mi-perfil.php create mode 100644 proyecto-gestor-notas/student/mis-modulos.php create mode 100644 proyecto-gestor-notas/student/mis-notas.php create mode 100644 proyecto-gestor-notas/student/student-dashboard.php diff --git a/practicas/pp6/index.php b/practicas/pp6/index.php index cf8678bb..2489ddf4 100644 --- a/practicas/pp6/index.php +++ b/practicas/pp6/index.php @@ -1,335 +1,416 @@ query("SELECT COUNT(*) as total FROM users"); -$total_usuarios = $result->fetch_assoc()['total']; - -// Contar noticias -$result = $mysqli->query("SELECT COUNT(*) as total FROM noticias"); -$total_noticias = $result->fetch_assoc()['total']; - -// Contar proyectos -$result = $mysqli->query("SELECT COUNT(*) as total FROM proyectos"); -$total_proyectos = $result->fetch_assoc()['total']; - -// Contar testimonios -$result = $mysqli->query("SELECT COUNT(*) as total FROM testimonios"); -$total_testimonios = $result->fetch_assoc()['total']; - -// Contar mensajes sin leer -$result = $mysqli->query("SELECT COUNT(*) as total FROM mensajes_contacto WHERE leido = FALSE"); -$mensajes_sin_leer = $result->fetch_assoc()['total']; +// Obtener las 3 últimas noticias +$ultimas_noticias = []; +$result = $mysqli->query( + "SELECT n.*, u.nombre as autor_nombre + FROM noticias n + LEFT JOIN users u ON n.autor_id = u.id + WHERE n.activa = TRUE + ORDER BY n.fecha_publicacion DESC + LIMIT 3" +); +if ($result) { + while ($row = $result->fetch_assoc()) { + $ultimas_noticias[] = $row; + } +} -// Últimos usuarios registrados -$ultimos_usuarios = []; -$result = $mysqli->query("SELECT * FROM users ORDER BY date_register DESC LIMIT 5"); -while ($row = $result->fetch_assoc()) { - $ultimos_usuarios[] = $row; +// Obtener proyectos del portfolio (máximo 6) +$proyectos = []; +$result = $mysqli->query( + "SELECT * FROM proyectos + WHERE activo = TRUE + ORDER BY fecha_creacion DESC + LIMIT 6" +); +if ($result) { + while ($row = $result->fetch_assoc()) { + $proyectos[] = $row; + } } -// Últimos mensajes de contacto -$ultimos_mensajes = []; -$result = $mysqli->query("SELECT * FROM mensajes_contacto ORDER BY fecha_envio DESC LIMIT 5"); -while ($row = $result->fetch_assoc()) { - $ultimos_mensajes[] = $row; +// Obtener testimonios +$testimonios = []; +$result = $mysqli->query( + "SELECT * FROM testimonios + WHERE activo = TRUE + ORDER BY fecha_creacion DESC + LIMIT 3" +); +if ($result) { + while ($row = $result->fetch_assoc()) { + $testimonios[] = $row; + } } closeDBConnection($mysqli); -include '../includes/header.php'; +include 'includes/header.php'; ?> - -

+ + - -
+ +
- - -
-
-
-
-
- -
-

-

Usuarios

- Ver Todos -
+
+
+
+ TechSolutions
- -
-
-
-
- -
-

-

Noticias

- Ver Todas -
+
+
+

+ Sobre TechSolutions Pro +

+

+ Somos una empresa líder en desarrollo de soluciones tecnológicas innovadoras. + Con más de 10 años de experiencia, transformamos las ideas de nuestros clientes + en realidades digitales que impulsan el crecimiento de sus negocios. +

+

+ Nuestro equipo está compuesto por profesionales altamente cualificados en + desarrollo web, aplicaciones móviles, diseño UX/UI y consultoría tecnológica. +

+ Ver Nuestros Proyectos
+
+
+
-
-
-
-
- -
-

-

Proyectos

- Ver Todos -
+ +
+
+
+
+
+

Nuestros Servicios

+

+ Ofrecemos soluciones tecnológicas completas y personalizadas +

+
-
-
-
-
- -
-

-

Mensajes Sin Leer

- Ver Mensajes -
+
+
+
+ +

Desarrollo Web

+

Creamos sitios web modernos, responsivos y optimizados para SEO que convierten visitantes en clientes.

-
- -
-
-

- Accesos Rápidos -

+
+
+ +

Apps Móviles

+

Desarrollamos aplicaciones nativas e híbridas para iOS y Android con experiencias de usuario excepcionales.

+
-
-
-
-
-
- Usuarios -
-

Gestionar usuarios del sistema

- Ver Todos - - Nuevo - -
+
+ +

Diseño UX/UI

+

Diseñamos interfaces intuitivas y atractivas que mejoran la experiencia del usuario y la conversión.

-
-
-
- Noticias -
-

Gestionar noticias del blog

- Ver Todas - - Nueva - -
+
+ +

Cloud & DevOps

+

Implementamos soluciones en la nube y automatizamos procesos para optimizar la infraestructura IT.

-
-
-
- Proyectos -
-

Gestionar portfolio de proyectos

- Ver Todos - - Nuevo - -
+
+ +

Seguridad

+

Protegemos tus sistemas con las mejores prácticas de ciberseguridad y auditorías especializadas.

-
-
-
- Testimonios -
-

Gestionar testimonios de clientes

- Ver Todos - - Nuevo - -
+
+ +

Consultoría

+

Asesoramos en la transformación digital de tu empresa con estrategias tecnológicas efectivas.

+
+
+
-
-
-
-
- FAQs -
-

Gestionar preguntas frecuentes

- Ver Todas - - Nueva - -
+ + 0): ?> +
+
+
+
+
+

Nuestro Portfolio

+

+ Proyectos recientes que hemos desarrollado con éxito +

+
+
+
-
-
-
- Mensajes +
+ + <?php echo htmlspecialchars($proyecto['titulo']); ?> + + Proyecto + + +
+ + + + + + +
+
-

Ver mensajes de contacto

- - Ver Mensajes - 0): ?> - - + +

+ +

+ +
+ Ver Detalles
+
-
-
-
-
-
- Últimos Usuarios Registrados -
+ +
+
+
+ - 0): ?> -
- - - - - - - - - - - - - - - - - - - -
UsuarioEmailRolFecha
- - - - - - - - -
-
+ + 0): ?> +
+
+
+
+
+

Lo Que Dicen Nuestros Clientes

+

+ La satisfacción de nuestros clientes es nuestra mejor carta de presentación +

+
+
+
+ +
+ +
+
+
+ + <?php echo htmlspecialchars($testimonio['nombre']); ?> -

No hay usuarios registrados

+
+ +
+ +
+
+ +
+ + + + + +
+ +

+ + + +

+ + +
+ + + + +
+
+ +
+
+
+ + + + 0): ?> +
+
+
+
+
+

Últimas Noticias

+

+ Mantente al día con las últimas tendencias y novedades tecnológicas +

+
- -
-
-
-
- Últimos Mensajes de Contacto +
+ +
+
+ + <?php echo htmlspecialchars($noticia['titulo']); ?> + + Noticia + + +
+ + + + + + +
+ + +
- - 0): ?> -
- - - - - - - - - - - - - - - - - - - -
NombreAsuntoFechaEstado
- - Sin leer - - Leído - -
-
- -

No hay mensajes

+ + +

+ +

+ +
+
+ +
+
+ + + +
+
+
+
+

¿Listo para Transformar tu Negocio?

+

+ Contacta con nosotros y descubre cómo podemos ayudarte a alcanzar tus objetivos digitales +

+ + Contáctanos Ahora + +
+
- \ No newline at end of file + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/addModulo.php b/proyecto-gestor-notas/admin/addModulo.php new file mode 100644 index 00000000..7c9558ef --- /dev/null +++ b/proyecto-gestor-notas/admin/addModulo.php @@ -0,0 +1,199 @@ +prepare("INSERT INTO modulos (nombre, foto) VALUES (?, ?)"); + $stmt->bind_param("ss", $nombre, $fotoPath); + + if ($stmt->execute()) { + $success = "Módulo creado correctamente."; + $nombre = ''; // Limpiar campo + } else { + $error = "Error al crear módulo: " . $stmt->error; + } + + $stmt->close(); + } + } +} +?> + + + + + + + Añadir Módulo + + + +
+

➕ Añadir Módulo

+ ← Volver +
+ +
+
+ +
+ + + +
+ + +
+
+ + +
+ +
+ + +
+ + +
+
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/addNota.php b/proyecto-gestor-notas/admin/addNota.php new file mode 100644 index 00000000..22d16771 --- /dev/null +++ b/proyecto-gestor-notas/admin/addNota.php @@ -0,0 +1,240 @@ +query("SELECT id, nombre, apellidos FROM users WHERE role='student' ORDER BY nombre, apellidos"); +$students = $students_result->fetch_all(MYSQLI_ASSOC); + +// Obtener lista de módulos +$modulos_result = $mysqli->query("SELECT id, nombre FROM modulos ORDER BY nombre"); +$modulos = $modulos_result->fetch_all(MYSQLI_ASSOC); + +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $id_usuario = (int) $_POST['id_usuario']; + $id_modulo = (int) $_POST['id_modulo']; + $nota = (float) $_POST['nota']; + + // Validaciones + if (empty($id_usuario) || empty($id_modulo)) { + $error = "Debes seleccionar un estudiante y un módulo."; + } elseif ($nota < 0 || $nota > 10) { + $error = "La nota debe estar entre 0 y 10."; + } else { + // Verificar que no exista ya una nota para este estudiante en este módulo + $stmt = $mysqli->prepare("SELECT id FROM notas WHERE id_usuario = ? AND id_modulo = ?"); + $stmt->bind_param("ii", $id_usuario, $id_modulo); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + $error = "Este estudiante ya tiene una nota registrada en este módulo."; + } else { + // Insertar nota + $stmt = $mysqli->prepare("INSERT INTO notas (nota, id_usuario, id_modulo) VALUES (?, ?, ?)"); + $stmt->bind_param("dii", $nota, $id_usuario, $id_modulo); + + if ($stmt->execute()) { + $success = "Nota registrada correctamente."; + } else { + $error = "Error al registrar nota: " . $stmt->error; + } + + $stmt->close(); + } + } +} +?> + + + + + + + Añadir Nota + + + +
+

➕ Añadir Nota

+ ← Volver +
+ +
+
+ +
+ + + +
+ + + +
+ ⚠️ Atención:
+ + No hay estudiantes registrados. Añade estudiantes primero.
+ + + No hay módulos registrados. Añade módulos primero. + +
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +

Introduce una nota entre 0 y 10 (puedes usar decimales)

+
+ + +
+ + +
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/addUser.php b/proyecto-gestor-notas/admin/addUser.php new file mode 100644 index 00000000..89fbb7f4 --- /dev/null +++ b/proyecto-gestor-notas/admin/addUser.php @@ -0,0 +1,238 @@ +prepare("SELECT id FROM users WHERE email = ?"); + $stmt->bind_param("s", $email); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + $error = "Este email ya está registrado."; + } else { + // Procesar imagen + $fotoPath = NULL; + + if (isset($_FILES['foto']) && $_FILES['foto']['error'] === UPLOAD_ERR_OK) { + $fileTmpPath = $_FILES['foto']['tmp_name']; + $fileName = $_FILES['foto']['name']; + $fileExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); + + $allowedExtensions = ['jpg', 'jpeg', 'png', 'gif']; + + if (in_array($fileExtension, $allowedExtensions)) { + $newFileName = uniqid() . '_' . time() . '.' . $fileExtension; + $fotoPath = 'uploads/users/' . $newFileName; + + if (!move_uploaded_file($fileTmpPath, '../' . $fotoPath)) { + $error = "Error al subir la imagen."; + } + } + } + + // Insertar usuario + if (empty($error)) { + $passwordHashed = password_hash($password, PASSWORD_DEFAULT); + + $stmt = $mysqli->prepare( + "INSERT INTO users (nombre, apellidos, email, password, foto, role) + VALUES (?, ?, ?, ?, ?, ?)" + ); + $stmt->bind_param("ssssss", $nombre, $apellidos, $email, $passwordHashed, $fotoPath, $role); + + if ($stmt->execute()) { + $success = "Usuario creado correctamente."; + // Limpiar campos + $nombre = $apellidos = $email = ''; + } else { + $error = "Error al crear usuario: " . $stmt->error; + } + + $stmt->close(); + } + } + } +} +?> + + + + + + + Añadir Usuario + + + +
+

➕ Añadir Usuario

+ ← Volver +
+ +
+
+ +
+ + + +
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/admin-dashboard.php b/proyecto-gestor-notas/admin/admin-dashboard.php new file mode 100644 index 00000000..778a9362 --- /dev/null +++ b/proyecto-gestor-notas/admin/admin-dashboard.php @@ -0,0 +1,219 @@ +query("SELECT COUNT(*) as total FROM users")->fetch_assoc()['total']; +$totalModulos = $mysqli->query("SELECT COUNT(*) as total FROM modulos")->fetch_assoc()['total']; +$totalNotas = $mysqli->query("SELECT COUNT(*) as total FROM notas")->fetch_assoc()['total']; +$totalStudents = $mysqli->query("SELECT COUNT(*) as total FROM users WHERE role='student'")->fetch_assoc()['total']; +?> + + + + + + + Panel de Administrador + + + +
+

👨‍💼 Panel de Administrador

+ +
+ +
+
+
+

Total Usuarios

+
+
+
+

Total Estudiantes

+
+
+
+

Total Módulos

+
+
+
+

Total Notas Registradas

+
+
+
+ + +
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/adminModulos.php b/proyecto-gestor-notas/admin/adminModulos.php new file mode 100644 index 00000000..ba7dfa7f --- /dev/null +++ b/proyecto-gestor-notas/admin/adminModulos.php @@ -0,0 +1,185 @@ +query("SELECT * FROM modulos ORDER BY id DESC"); +$modulos = $result->fetch_all(MYSQLI_ASSOC); +?> + + + + + + + Gestión de Módulos + + + +
+

📚 Gestión de Módulos

+ ← Volver al Dashboard +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + +
IDFotoNombre del MóduloAcciones
+ + Foto + + Sin foto + +
+
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/adminNotas.php b/proyecto-gestor-notas/admin/adminNotas.php new file mode 100644 index 00000000..e5ddf17b --- /dev/null +++ b/proyecto-gestor-notas/admin/adminNotas.php @@ -0,0 +1,271 @@ +query($query); +$notas = $result->fetch_all(MYSQLI_ASSOC); +?> + + + + + + + Gestión de Notas + + + +
+

📝 Gestión de Notas

+ ← Volver al Dashboard +
+ +
+ + +
+ 0): ?> + + + + + + + + + + + + + + + + + + + + + +
IDEstudianteMóduloNotaAcciones
+ + +
+ + Foto + + Sin foto + +
+ +
+
+
+ + + +
+ +
+

No hay notas registradas todavía.

+
+ +
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/adminUsers.php b/proyecto-gestor-notas/admin/adminUsers.php new file mode 100644 index 00000000..b8d9b649 --- /dev/null +++ b/proyecto-gestor-notas/admin/adminUsers.php @@ -0,0 +1,213 @@ +query("SELECT id, nombre, apellidos, email, foto, role FROM users ORDER BY id DESC"); +$users = $result->fetch_all(MYSQLI_ASSOC); +?> + + + + + + + Gestión de Usuarios + + + +
+

👥 Gestión de Usuarios

+ ← Volver al Dashboard +
+ +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
IDFotoNombreApellidosEmailRolAcciones
+ + Foto + + Sin foto + + + + + +
+
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/consultas-avanzadas.php b/proyecto-gestor-notas/admin/consultas-avanzadas.php new file mode 100644 index 00000000..e4884e4f --- /dev/null +++ b/proyecto-gestor-notas/admin/consultas-avanzadas.php @@ -0,0 +1,278 @@ +query($query_promedio_modulos)->fetch_all(MYSQLI_ASSOC); + +// 2. Alumnos con promedio >= 8 +$query_alumnos_destacados = " + SELECT + u.nombre, + u.apellidos, + ROUND(AVG(n.nota), 2) AS media + FROM users u + JOIN notas n ON u.id = n.id_usuario + WHERE u.role = 'student' + GROUP BY u.id, u.nombre, u.apellidos + HAVING media >= 8 + ORDER BY media DESC +"; +$alumnos_destacados = $mysqli->query($query_alumnos_destacados)->fetch_all(MYSQLI_ASSOC); + +// 3. Alumnos con promedio < 5 +$query_alumnos_bajo = " + SELECT + u.nombre, + u.apellidos, + ROUND(AVG(n.nota), 2) AS media + FROM users u + JOIN notas n ON u.id = n.id_usuario + WHERE u.role = 'student' + GROUP BY u.id, u.nombre, u.apellidos + HAVING media < 5 + ORDER BY media ASC +"; +$alumnos_bajo = $mysqli->query($query_alumnos_bajo)->fetch_all(MYSQLI_ASSOC); + +// 4. Módulo con mejor promedio +$mejor_modulo = count($promedios_modulos) > 0 ? $promedios_modulos[0] : null; + +// 5. Módulo con peor promedio +$peor_modulo = count($promedios_modulos) > 0 ? end($promedios_modulos) : null; +?> + + + + + + + Consultas Avanzadas + + + +
+

📊 Consultas Avanzadas y Estadísticas

+ ← Volver al Dashboard +
+ +
+ +
+

📈 Estadísticas Destacadas

+ + +
+ 🏆 Módulo con mejor promedio: + + (Promedio: ) +
+ + + +
+ ⚠️ Módulo con promedio más bajo: + + (Promedio: ) +
+ +
+ + +
+

📚 Promedio de Notas por Módulo

+ 0): ?> + + + + + + + + + + + + + + + + + +
MóduloPromedioTotal de Notas
+ + + +
+ +

No hay datos disponibles

+ +
+ + +
+

⭐ Alumnos Destacados (Promedio ≥ 8)

+ 0): ?> + + + + + + + + + + + + + + + + + +
NombreApellidosPromedio
+ +

No hay alumnos con promedio mayor o igual a 8

+ +
+ + +
+

⚠️ Alumnos en Riesgo (Promedio < 5)

+ 0): ?> + + + + + + + + + + + + + + + + + +
NombreApellidosPromedio
+ +

No hay alumnos con promedio menor a 5 😊

+ +
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/deleteModulo.php b/proyecto-gestor-notas/admin/deleteModulo.php new file mode 100644 index 00000000..4b787edf --- /dev/null +++ b/proyecto-gestor-notas/admin/deleteModulo.php @@ -0,0 +1,35 @@ +prepare("SELECT foto FROM modulos WHERE id = ?"); +$stmt->bind_param("i", $id); +$stmt->execute(); +$result = $stmt->get_result(); +$modulo = $result->fetch_assoc(); + +if ($modulo) { + // Eliminar foto si existe + if ($modulo['foto'] && file_exists('../' . $modulo['foto'])) { + unlink('../' . $modulo['foto']); + } + + // Eliminar módulo (las notas se eliminarán automáticamente por CASCADE) + $stmt = $mysqli->prepare("DELETE FROM modulos WHERE id = ?"); + $stmt->bind_param("i", $id); + $stmt->execute(); + $stmt->close(); +} + +header("Location: adminModulos.php"); +exit; +?> \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/deleteNota.php b/proyecto-gestor-notas/admin/deleteNota.php new file mode 100644 index 00000000..963de9ae --- /dev/null +++ b/proyecto-gestor-notas/admin/deleteNota.php @@ -0,0 +1,21 @@ +prepare("DELETE FROM notas WHERE id = ?"); +$stmt->bind_param("i", $id); +$stmt->execute(); +$stmt->close(); + +header("Location: adminNotas.php"); +exit; +?> \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/deleteUser.php b/proyecto-gestor-notas/admin/deleteUser.php new file mode 100644 index 00000000..11c6b0b9 --- /dev/null +++ b/proyecto-gestor-notas/admin/deleteUser.php @@ -0,0 +1,41 @@ +prepare("SELECT foto FROM users WHERE id = ?"); +$stmt->bind_param("i", $id); +$stmt->execute(); +$result = $stmt->get_result(); +$user = $result->fetch_assoc(); + +if ($user) { + // Eliminar foto si existe + if ($user['foto'] && file_exists('../' . $user['foto'])) { + unlink('../' . $user['foto']); + } + + // Eliminar usuario + $stmt = $mysqli->prepare("DELETE FROM users WHERE id = ?"); + $stmt->bind_param("i", $id); + $stmt->execute(); + $stmt->close(); +} + +header("Location: adminUsers.php"); +exit; +?> \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/editModulo.php b/proyecto-gestor-notas/admin/editModulo.php new file mode 100644 index 00000000..1e52565c --- /dev/null +++ b/proyecto-gestor-notas/admin/editModulo.php @@ -0,0 +1,236 @@ +prepare("SELECT * FROM modulos WHERE id = ?"); +$stmt->bind_param("i", $id); +$stmt->execute(); +$result = $stmt->get_result(); +$modulo = $result->fetch_assoc(); + +if (!$modulo) { + header("Location: adminModulos.php"); + exit; +} + +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $nombre = trim($_POST['nombre']); + + if (empty($nombre)) { + $error = "El nombre del módulo es obligatorio."; + } else { + // Procesar imagen si se sube una nueva + $fotoPath = $modulo['foto']; + + if (isset($_FILES['foto']) && $_FILES['foto']['error'] === UPLOAD_ERR_OK) { + $fileTmpPath = $_FILES['foto']['tmp_name']; + $fileName = $_FILES['foto']['name']; + $fileExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); + + $allowedExtensions = ['jpg', 'jpeg', 'png', 'gif']; + + if (in_array($fileExtension, $allowedExtensions)) { + // Eliminar foto anterior + if ($modulo['foto'] && file_exists('../' . $modulo['foto'])) { + unlink('../' . $modulo['foto']); + } + + $newFileName = uniqid() . '_' . time() . '.' . $fileExtension; + $fotoPath = 'uploads/modulos/' . $newFileName; + + if (!move_uploaded_file($fileTmpPath, '../' . $fotoPath)) { + $error = "Error al subir la imagen."; + } + } + } + + // Actualizar módulo + if (empty($error)) { + $stmt = $mysqli->prepare("UPDATE modulos SET nombre=?, foto=? WHERE id=?"); + $stmt->bind_param("ssi", $nombre, $fotoPath, $id); + + if ($stmt->execute()) { + $success = "Módulo actualizado correctamente."; + $modulo['nombre'] = $nombre; + $modulo['foto'] = $fotoPath; + } else { + $error = "Error al actualizar módulo: " . $stmt->error; + } + + $stmt->close(); + } + } +} +?> + + + + + + + Editar Módulo + + + +
+

✏️ Editar Módulo

+ ← Volver +
+ +
+
+ +
+ + + +
+ + + +
+ Foto actual +

Foto actual

+
+ + +
+
+ + +
+ +
+ + +

Déjalo en blanco si no quieres cambiar la foto

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/editNota.php b/proyecto-gestor-notas/admin/editNota.php new file mode 100644 index 00000000..22d16771 --- /dev/null +++ b/proyecto-gestor-notas/admin/editNota.php @@ -0,0 +1,240 @@ +query("SELECT id, nombre, apellidos FROM users WHERE role='student' ORDER BY nombre, apellidos"); +$students = $students_result->fetch_all(MYSQLI_ASSOC); + +// Obtener lista de módulos +$modulos_result = $mysqli->query("SELECT id, nombre FROM modulos ORDER BY nombre"); +$modulos = $modulos_result->fetch_all(MYSQLI_ASSOC); + +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $id_usuario = (int) $_POST['id_usuario']; + $id_modulo = (int) $_POST['id_modulo']; + $nota = (float) $_POST['nota']; + + // Validaciones + if (empty($id_usuario) || empty($id_modulo)) { + $error = "Debes seleccionar un estudiante y un módulo."; + } elseif ($nota < 0 || $nota > 10) { + $error = "La nota debe estar entre 0 y 10."; + } else { + // Verificar que no exista ya una nota para este estudiante en este módulo + $stmt = $mysqli->prepare("SELECT id FROM notas WHERE id_usuario = ? AND id_modulo = ?"); + $stmt->bind_param("ii", $id_usuario, $id_modulo); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + $error = "Este estudiante ya tiene una nota registrada en este módulo."; + } else { + // Insertar nota + $stmt = $mysqli->prepare("INSERT INTO notas (nota, id_usuario, id_modulo) VALUES (?, ?, ?)"); + $stmt->bind_param("dii", $nota, $id_usuario, $id_modulo); + + if ($stmt->execute()) { + $success = "Nota registrada correctamente."; + } else { + $error = "Error al registrar nota: " . $stmt->error; + } + + $stmt->close(); + } + } +} +?> + + + + + + + Añadir Nota + + + +
+

➕ Añadir Nota

+ ← Volver +
+ +
+
+ +
+ + + +
+ + + +
+ ⚠️ Atención:
+ + No hay estudiantes registrados. Añade estudiantes primero.
+ + + No hay módulos registrados. Añade módulos primero. + +
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +

Introduce una nota entre 0 y 10 (puedes usar decimales)

+
+ + +
+ + +
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/admin/editUser.php b/proyecto-gestor-notas/admin/editUser.php new file mode 100644 index 00000000..89fbb7f4 --- /dev/null +++ b/proyecto-gestor-notas/admin/editUser.php @@ -0,0 +1,238 @@ +prepare("SELECT id FROM users WHERE email = ?"); + $stmt->bind_param("s", $email); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + $error = "Este email ya está registrado."; + } else { + // Procesar imagen + $fotoPath = NULL; + + if (isset($_FILES['foto']) && $_FILES['foto']['error'] === UPLOAD_ERR_OK) { + $fileTmpPath = $_FILES['foto']['tmp_name']; + $fileName = $_FILES['foto']['name']; + $fileExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); + + $allowedExtensions = ['jpg', 'jpeg', 'png', 'gif']; + + if (in_array($fileExtension, $allowedExtensions)) { + $newFileName = uniqid() . '_' . time() . '.' . $fileExtension; + $fotoPath = 'uploads/users/' . $newFileName; + + if (!move_uploaded_file($fileTmpPath, '../' . $fotoPath)) { + $error = "Error al subir la imagen."; + } + } + } + + // Insertar usuario + if (empty($error)) { + $passwordHashed = password_hash($password, PASSWORD_DEFAULT); + + $stmt = $mysqli->prepare( + "INSERT INTO users (nombre, apellidos, email, password, foto, role) + VALUES (?, ?, ?, ?, ?, ?)" + ); + $stmt->bind_param("ssssss", $nombre, $apellidos, $email, $passwordHashed, $fotoPath, $role); + + if ($stmt->execute()) { + $success = "Usuario creado correctamente."; + // Limpiar campos + $nombre = $apellidos = $email = ''; + } else { + $error = "Error al crear usuario: " . $stmt->error; + } + + $stmt->close(); + } + } + } +} +?> + + + + + + + Añadir Usuario + + + +
+

➕ Añadir Usuario

+ ← Volver +
+ +
+
+ +
+ + + +
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/index.php b/proyecto-gestor-notas/index.php index 63c79cf9..ced08d7d 100644 --- a/proyecto-gestor-notas/index.php +++ b/proyecto-gestor-notas/index.php @@ -1,22 +1,4 @@ HOLA MUNDO uab"; - -//consulta para que salga lo de la tabla que consideres(id, nombre, apellido y role.) formato de salida -> OBJECT..NO ME INTERESA -$users = $mysqli->query("SELECT * FROM 'users'"); - -//CAPA 2: CONVIERTO EL RESULTADO ANTERIOR (objeto) EN UN ARRAY ASOCIATIVO -$resultUsers = $users->fetch_all(MYSQLI_ASSOC); - -//echo de users -var_dump($users); -echo ' - +header("Location: login.php"); +exit; +?> \ No newline at end of file diff --git a/proyecto-gestor-notas/login.php b/proyecto-gestor-notas/login.php new file mode 100644 index 00000000..74a46c02 --- /dev/null +++ b/proyecto-gestor-notas/login.php @@ -0,0 +1,205 @@ +prepare("SELECT * FROM users WHERE email = ?"); + $stmt->bind_param("s", $email); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + $user = $result->fetch_assoc(); + + // Verificar contraseña + if (password_verify($password, $user['password'])) { + // Crear sesión + $_SESSION['user_id'] = $user['id']; + $_SESSION['user_nombre'] = $user['nombre']; + $_SESSION['user_apellidos'] = $user['apellidos']; + $_SESSION['user_email'] = $user['email']; + $_SESSION['user_foto'] = $user['foto']; + $_SESSION['user_role'] = $user['role']; + + // Redirigir según rol + if ($user['role'] === 'admin') { + header("Location: admin/admin-dashboard.php"); + } else { + header("Location: student/student-dashboard.php"); + } + exit; + } else { + $error = "Contraseña incorrecta."; + } + } else { + $error = "No existe ningún usuario con ese email."; + } + + $stmt->close(); + } +} +?> + + + + + + + Login - Gestor Académico + + + +
+

🔐 Iniciar Sesión

+ +
+ Credenciales de prueba: +

Admin: admin@gestor.com / password

+

Estudiante: carlos@student.com / password

+
+ + +
+ + +
+
+ + +
+ +
+ + +
+ + +
+ + +
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/logout.php b/proyecto-gestor-notas/logout.php new file mode 100644 index 00000000..e46f75d6 --- /dev/null +++ b/proyecto-gestor-notas/logout.php @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/proyecto-gestor-notas/register.php b/proyecto-gestor-notas/register.php new file mode 100644 index 00000000..7c12e0ad --- /dev/null +++ b/proyecto-gestor-notas/register.php @@ -0,0 +1,263 @@ +prepare("SELECT id FROM users WHERE email = ?"); + $stmt->bind_param("s", $email); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + $error = "Este email ya está registrado."; + } else { + + // 4. PROCESAR LA IMAGEN + $fotoPath = NULL; + + if (isset($_FILES['foto']) && $_FILES['foto']['error'] === UPLOAD_ERR_OK) { + $fileTmpPath = $_FILES['foto']['tmp_name']; + $fileName = $_FILES['foto']['name']; + $fileExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); + + $allowedExtensions = ['jpg', 'jpeg', 'png', 'gif']; + + if (in_array($fileExtension, $allowedExtensions)) { + $newFileName = uniqid() . '_' . time() . '.' . $fileExtension; + $fotoPath = $uploadDir . $newFileName; + + if (!move_uploaded_file($fileTmpPath, $fotoPath)) { + $error = "Error al subir la imagen."; + } + } else { + $error = "Solo se permiten imágenes (jpg, jpeg, png, gif)."; + } + } + + // 5. SI NO HAY ERRORES, INSERTAR USUARIO + if (empty($error)) { + // ENCRIPTAR CONTRASEÑA + $passwordHashed = password_hash($password, PASSWORD_DEFAULT); + + // INSERTAR EN LA BASE DE DATOS + $stmt = $mysqli->prepare( + "INSERT INTO users (nombre, apellidos, email, password, foto, role) + VALUES (?, ?, ?, ?, ?, ?)" + ); + $stmt->bind_param("ssssss", $nombre, $apellidos, $email, $passwordHashed, $fotoPath, $role); + + if ($stmt->execute()) { + $success = "Usuario registrado correctamente. Ir al login"; + } else { + $error = "Error al registrar usuario: " . $stmt->error; + } + + $stmt->close(); + } + } + } +} +?> + + + + + + + Registro - Gestor Académico + + + +
+

📚 Registro

+ + +
+ + + +
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/student/mi-media.php b/proyecto-gestor-notas/student/mi-media.php new file mode 100644 index 00000000..fbe3e893 --- /dev/null +++ b/proyecto-gestor-notas/student/mi-media.php @@ -0,0 +1,340 @@ +query(" + SELECT ROUND(AVG(nota), 2) as promedio + FROM notas + WHERE id_usuario = $user_id +"); +$promedio_general = $promedio_result->fetch_assoc()['promedio'] ?? 0; + +// Obtener notas por módulo con promedio +$query = " + SELECT + m.nombre AS modulo, + m.foto AS modulo_foto, + n.nota + FROM notas n + JOIN modulos m ON n.id_modulo = m.id + WHERE n.id_usuario = ? + ORDER BY n.nota DESC +"; + +$stmt = $mysqli->prepare($query); +$stmt->bind_param("i", $user_id); +$stmt->execute(); +$result = $stmt->get_result(); +$notas = $result->fetch_all(MYSQLI_ASSOC); + +// Calcular estadísticas +$total_notas = count($notas); +$aprobados = 0; +$suspensos = 0; +$nota_mas_alta = 0; +$nota_mas_baja = 10; + +foreach ($notas as $nota) { + if ($nota['nota'] >= 5) { + $aprobados++; + } else { + $suspensos++; + } + + if ($nota['nota'] > $nota_mas_alta) { + $nota_mas_alta = $nota['nota']; + } + + if ($nota['nota'] < $nota_mas_baja) { + $nota_mas_baja = $nota['nota']; + } +} +?> + + + + + + + Mi Media + + + +
+

📊 Mi Promedio Académico

+ ← Volver +
+ +
+ 0): ?> + +
+

Tu Promedio General

+
+
sobre 10.00
+
+ +
+
+

Total de Notas

+
+
+ +
+

Aprobados

+
+
+ +
+

Suspensos

+
+
+ +
+

Nota Más Alta

+
+
+ +
+

Nota Más Baja

+
+
+
+ +
+

Detalle de Notas por Módulo

+ +
+
+ = 9) { + $clase = 'nota-excelente'; + } elseif ($nota_valor >= 7) { + $clase = 'nota-buena'; + } elseif ($nota_valor >= 5) { + $clase = 'nota-aprobado'; + } else { + $clase = 'nota-suspendido'; + } + ?> +
+ +
+
+ + + +
+ + +
+
+
📊
+

No tienes notas registradas

+

Tu promedio aparecerá aquí cuando tengas notas registradas.

+
+
+ +
+ + diff --git a/proyecto-gestor-notas/student/mi-perfil.php b/proyecto-gestor-notas/student/mi-perfil.php new file mode 100644 index 00000000..f91ed7f1 --- /dev/null +++ b/proyecto-gestor-notas/student/mi-perfil.php @@ -0,0 +1,293 @@ +prepare("SELECT * FROM users WHERE id = ?"); +$stmt->bind_param("i", $user_id); +$stmt->execute(); +$user = $stmt->get_result()->fetch_assoc(); + +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $nombre = trim($_POST['nombre']); + $apellidos = trim($_POST['apellidos']); + $email = trim($_POST['email']); + + if (empty($nombre) || empty($apellidos) || empty($email)) { + $error = "Nombre, apellidos y email son obligatorios."; + } else { + // Verificar si el email ya existe (excepto el propio) + $stmt = $mysqli->prepare("SELECT id FROM users WHERE email = ? AND id != ?"); + $stmt->bind_param("si", $email, $user_id); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + $error = "Este email ya está registrado por otro usuario."; + } else { + // Procesar imagen si se sube una nueva + $fotoPath = $user['foto']; + + if (isset($_FILES['foto']) && $_FILES['foto']['error'] === UPLOAD_ERR_OK) { + $fileTmpPath = $_FILES['foto']['tmp_name']; + $fileName = $_FILES['foto']['name']; + $fileExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); + + $allowedExtensions = ['jpg', 'jpeg', 'png', 'gif']; + + if (in_array($fileExtension, $allowedExtensions)) { + // Eliminar foto anterior + if ($user['foto'] && file_exists('../' . $user['foto'])) { + unlink('../' . $user['foto']); + } + + $newFileName = uniqid() . '_' . time() . '.' . $fileExtension; + $fotoPath = 'uploads/users/' . $newFileName; + + if (!move_uploaded_file($fileTmpPath, '../' . $fotoPath)) { + $error = "Error al subir la imagen."; + } + } + } + + // Actualizar usuario + if (empty($error)) { + // Si se proporciona una nueva contraseña + if (!empty($_POST['password'])) { + $passwordHashed = password_hash($_POST['password'], PASSWORD_DEFAULT); + $stmt = $mysqli->prepare( + "UPDATE users SET nombre=?, apellidos=?, email=?, password=?, foto=? WHERE id=?" + ); + $stmt->bind_param("sssssi", $nombre, $apellidos, $email, $passwordHashed, $fotoPath, $user_id); + } else { + $stmt = $mysqli->prepare( + "UPDATE users SET nombre=?, apellidos=?, email=?, foto=? WHERE id=?" + ); + $stmt->bind_param("ssssi", $nombre, $apellidos, $email, $fotoPath, $user_id); + } + + if ($stmt->execute()) { + $success = "Perfil actualizado correctamente."; + // Actualizar sesión + $_SESSION['user_nombre'] = $nombre; + $_SESSION['user_apellidos'] = $apellidos; + $_SESSION['user_email'] = $email; + $_SESSION['user_foto'] = $fotoPath; + // Recargar datos + $user['nombre'] = $nombre; + $user['apellidos'] = $apellidos; + $user['email'] = $email; + $user['foto'] = $fotoPath; + } else { + $error = "Error al actualizar perfil: " . $stmt->error; + } + + $stmt->close(); + } + } + } +} +?> + + + + + + + Mi Perfil + + + +
+

👤 Mi Perfil

+ ← Volver +
+ +
+
+ +
+ + + +
+ + +
+ ℹ️ Información: Puedes editar tu información personal desde aquí. + Los campos de contraseña y foto son opcionales. +
+ + +
+ Mi foto +

Foto actual

+
+ + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +

Déjalo en blanco si no quieres cambiar tu contraseña

+
+ +
+ + +

Déjalo en blanco si no quieres cambiar tu foto

+
+ + +
+
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/student/mis-modulos.php b/proyecto-gestor-notas/student/mis-modulos.php new file mode 100644 index 00000000..d195df41 --- /dev/null +++ b/proyecto-gestor-notas/student/mis-modulos.php @@ -0,0 +1,169 @@ +prepare($query); +$stmt->bind_param("i", $user_id); +$stmt->execute(); +$result = $stmt->get_result(); +$modulos = $result->fetch_all(MYSQLI_ASSOC); +?> + + + + + + + Mis Módulos + + + +
+

📚 Mis Módulos

+ ← Volver +
+ +
+ 0): ?> +
+ +
+ + <?= htmlspecialchars($modulo['nombre']) ?> + +
+ +
+

+

ID:

+
+
+ +
+ +
+
📚
+

No estás matriculado en ningún módulo

+

Contacta con la administración para matricularte en los módulos disponibles.

+
+ +
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/student/mis-notas.php b/proyecto-gestor-notas/student/mis-notas.php new file mode 100644 index 00000000..6f90b191 --- /dev/null +++ b/proyecto-gestor-notas/student/mis-notas.php @@ -0,0 +1,228 @@ +prepare($query); +$stmt->bind_param("i", $user_id); +$stmt->execute(); +$result = $stmt->get_result(); +$notas = $result->fetch_all(MYSQLI_ASSOC); +?> + + + + + + + Mis Notas + + + +
+

📝 Mis Notas

+ ← Volver +
+ +
+
+ 0): ?> + + + + + + + + + + + + + + + + + + + +
MóduloNotaEstadoFecha Registro
+
+ + Módulo + + Módulo + + +
+
+ = 9) { + $clase = 'nota-excelente'; + } elseif ($nota_valor >= 7) { + $clase = 'nota-buena'; + } elseif ($nota_valor >= 5) { + $clase = 'nota-aprobado'; + } else { + $clase = 'nota-suspendido'; + } + ?> + + + + + = 5): ?> + ✓ Aprobado + + ✗ Suspenso + +
+ +
+
📝
+

No tienes notas registradas

+

Las notas aparecerán aquí cuando los profesores las registren.

+
+ +
+
+ + \ No newline at end of file diff --git a/proyecto-gestor-notas/student/student-dashboard.php b/proyecto-gestor-notas/student/student-dashboard.php new file mode 100644 index 00000000..14576712 --- /dev/null +++ b/proyecto-gestor-notas/student/student-dashboard.php @@ -0,0 +1,310 @@ +prepare("SELECT * FROM users WHERE id = ?"); +$stmt->bind_param("i", $user_id); +$stmt->execute(); +$user = $stmt->get_result()->fetch_assoc(); + +// Obtener estadísticas del estudiante +$total_modulos = $mysqli->query(" + SELECT COUNT(DISTINCT id_modulo) as total + FROM notas + WHERE id_usuario = $user_id +")->fetch_assoc()['total']; + +$total_notas = $mysqli->query(" + SELECT COUNT(*) as total + FROM notas + WHERE id_usuario = $user_id +")->fetch_assoc()['total']; + +$promedio_result = $mysqli->query(" + SELECT ROUND(AVG(nota), 2) as promedio + FROM notas + WHERE id_usuario = $user_id +"); +$promedio = $promedio_result->fetch_assoc()['promedio'] ?? 0; + +// Contar aprobados y suspensos +$aprobados = $mysqli->query(" + SELECT COUNT(*) as total + FROM notas + WHERE id_usuario = $user_id AND nota >= 5 +")->fetch_assoc()['total']; + +$suspensos = $mysqli->query(" + SELECT COUNT(*) as total + FROM notas + WHERE id_usuario = $user_id AND nota < 5 +")->fetch_assoc()['total']; +?> + + + + + + + Mi Panel - Estudiante + + + +
+

🎓 Mi Panel de Estudiante

+ +
+ +
+
+

¡Bienvenido/a, ! 👋

+

Este es tu panel personal donde puedes consultar tus módulos, notas y promedio académico.

+
+ +
+
+

Módulos Matriculados

+
+
+
+

Total de Notas

+
+
+
+

Promedio General

+
+
+
+

Aprobados

+
+
+
+

Suspensos

+
+
+
+ + +
+ + \ No newline at end of file

Volver al índice