/
portada.php
165 lines (150 loc) · 6.59 KB
/
portada.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?php
/**
* Created by IntelliJ IDEA.
* User: Emilio Chica Jiménez
* Date: 07/05/2017
* Time: 21:08
*/
//Cargo los modelos y las vistas
function __autoload($class){
if(file_exists('models/class.'.$class.'.php'))
include_once 'models/class.'.$class.'.php';
if(file_exists('dao/class.'.$class.'.php'))
include_once 'dao/class.'.$class.'.php';
if(file_exists('views/class.'.$class.'.php'))
include_once 'views/class.'.$class.'.php';
include_once ("funciones/funciones.php");
}
//Variables
$login = null;
$seccion = null;
$usuario = null;
$sesion = new Sesion();
//LOGOUT
if(isset($_POST["logout"]))
$sesion->cerrar();
//Estoy logueado en el sistema
if($sesion->get("usuario")!=null) {
$login = unserialize($sesion->get("usuario"));
//Me creo el objeto de BD
$bd = new BaseDatos();
//Utilizo este método por parámetros porque así la programación
//es más parametrizada por lo que podría conectarme a otras BD
// en un mismo archivo PHP
$bd->setPdo(Constantes::$servidor, Constantes::$usuario, Constantes::$clave, Constantes::$basedatos);
//Obtengo la sección en caso de que la hubiese
if (isset($_GET["seccion"]))
$seccion = $_GET["seccion"];
//Obtengo el usuario en caso de que lo hubiese
if (isset($_GET["usuario"]))
$usuario = $_GET["usuario"];
//Obtengo la página en caso de que lo hubiese
if (isset($_GET["pag"]))
$pag = $_GET["pag"];
else
$pag=1;
///ENTRADA
//Creo la entrada si hay datos por el POST que han sido validados
if(isset($_POST["publicar"],$_POST["titulo-publicar"],$_POST["fechacreacion"],$_POST["texto-publicar"]) && $_SERVER["REQUEST_METHOD"] == "POST"){
if(crearEntrada($bd,$login)){
//echo "<script type='text/javascript'>alert('Entrada publicada!')</script>";
}
}
///COMENTARIO
//Creo el comentario si hay datos por el POST que han sido validados
if(isset($_POST["comentar"],$_POST["comentario"],$_POST["fechacreacion"],$_POST["entrada"]) && $_SERVER["REQUEST_METHOD"] == "POST"){
if(crearComentario($bd,$login)){
// echo "<script type='text/javascript'>alert('Comentario publicado!')</script>";
}
}
///EDITAR USUARIO
//Edito el usuario si hay datos por el POST que han sido validados
if(isset($_POST["editarperfil"],$_POST["nombre"],$_POST["correo"],$_POST["usuario"],$_POST["fecna"]) && $_SERVER["REQUEST_METHOD"] == "POST"){
if(validarNombre($_POST["nombre"]) && validarCorreo($_POST["correo"]) && validarUsuario($_POST["usuario"])) {
if(isset($_POST["password"]) && !empty($_POST["password"]) && $_POST["password"]!=null ) {
if (validarPassword($_POST["password"])) {
$us = crearEditaUsuario($bd, $login->getId());
if($us->getImagen()==null)
$us->setImagen($login->getImagen());
$sesion->set("usuario",$us);
$login = $us;
}else
echo '<script language="javascript">alert("Problemas con los campos, no han podido ser validados");</script>';
}else{
$us = crearEditaUsuario($bd, $login->getId());
if($us->getImagen()==null)
$us->setImagen($login->getImagen());
$sesion->set("usuario",$us);
$login = $us;
}
}else
echo '<script language="javascript">alert("Problemas con los campos, no han podido ser validados");</script>';
}
$user = cargaUsuario($usuario, $bd);
//Creo los objetos necesarios
$head = new VistaHeadFooter();
$header = new VistaHeader($login);
$menu = new VistaMenu($user);
$vistaAmigos = new VistaAmigos(cargaAmigos($user, $bd));
$vistaActivos = new VistaActivos(cargaActivos($login,$bd));
$vistaPublicar = new VistaPublicar($login);
//Muestro el contenido del head
$head->muestraHead();
//Muestro el contenido del header asociado al header
$header->muestraHeader();
//Muestro el contenido del header asociado al menu
$menu->muestraMenu();
///MOSTRAR CONTENIDO///
if (isset($seccion))
switch ($seccion) {
case "portada":
//Muestra los amigos del usuario actual
$vistaAmigos->muestraAmigos();
$vistaEntradas = new VistaEntradas(cargaEntradasAmigos($user, $bd), $seccion,$pag);
$vistaEntradas->muestraEntradasAmigos($user);
$vistaActivos->muestraActivos();
break;
case "bibliografia":
//Muestra los amigos del usuario actual
$vistaAmigos->muestraAmigos();
$vistaPublicar->muestraPublicar();
$vistaEntradas = new VistaEntradas(cargaEntradasUsuario($user, $bd), $seccion,$pag);
$vistaEntradas->muestraEntradasUsuario($user);
$vistaActivos->muestraActivos();
break;
case "fotos":
//Muestra los amigos del usuario actual
$vistaAmigos->muestraAmigos();
$vistaEntradas = new VistaEntradas(cargaEntradasUsuario($user, $bd), $seccion,$pag);
$vistaEntradas->muestraImagenes($user,cargaImagenes($bd,$user));
$vistaActivos->muestraActivos();
break;
case "informacion":
$vistaPerfil= new VistaPerfil($user);
if($user->getId()!=$login->getId())
$vistaPerfil->muestraPerfil();
else
$vistaPerfil->muestraEditarPerfil();
break;
case preg_match('/entrada_([0-9])+/', $seccion) ? true : false:
//Muestra los amigos del usuario actual
$vistaAmigos->muestraAmigos();
$vistaEntradas = new VistaEntradas(cargaEntradasAmigos($user, $bd), $seccion,$pag);
$entradaCompleta=cargaEntrada($seccion,$bd);
$vistaEntradas->muestraEntrada($entradaCompleta);
$comentarios = cargaComentarios($entradaCompleta[0],$bd);
$vistaComentarios = new VistaComentarios($comentarios);
$vistaComentarios->muestraPublicaComentario($login,$entradaCompleta[0]);
if($comentarios!=null && isset($comentarios) && !empty($comentarios))
$vistaComentarios->muestraComentarios();
$vistaActivos->muestraActivos();
break;
}
//Muestro el footer
$head->muestraFooter();
//Cierro la conexion pues ya no la necesito
$bd->closeConexion();
}else{
echo "No tiene permisos para ver esta página";
}
?>