Example #1
0
function Users()
{
    $db = new Conexion();
    $query = $db->query("SELECT timer FROM config WHERE id='1' LIMIT 1;");
    $timer = $db->recorrer($query)[0];
    $db->liberar($query);
    $sql = $db->query("SELECT * FROM users;");
    $usuarios_actuales = $db->rows($sql);
    if (!isset($_SESSION['cantidad_usuarios'])) {
        $_SESSION['cantidad_usuarios'] = $usuarios_actuales;
    }
    if ($_SESSION['cantidad_usuarios'] != $usuarios_actuales or time() - 60 <= $timer) {
        while ($d = $db->recorrer($sql)) {
            $users[$d['id']] = $d;
        }
    } else {
        if (!isset($_SESSION['users'])) {
            while ($d = $db->recorrer($sql)) {
                $users[$d['id']] = $d;
            }
        } else {
            $users = $_SESSION['users'];
        }
    }
    $_SESSION['users'] = $users;
    $db->liberar($sql);
    $db->close();
    return $_SESSION['users'];
}
Example #2
0
 public function Login()
 {
     try {
         if (!empty($_POST['user']) and !empty($_POST['pass']) and !empty($_POST['session'])) {
             $db = new Conexion();
             $this->user = $db->real_escape_string($_POST['user']);
             $this->pass = $db->real_escape_string($_POST['pass']);
             //encriptar el login
             $sql = $db->query("SELECT * FROM usuarios WHERE user = '******' AND pass = '******' ");
             if ($db->rows($sql) > 0) {
                 $datos = $db->recorrer($sql);
                 $_SESSION['user'] = $datos['user'];
                 $_SESSION['email'] = $datos['email'];
                 $_SESSION['id'] = $datos['id'];
                 if ($_POST['session'] == true) {
                     ini_set('session.cookie.lifetime', time() + 60 * 60 * 24 * 2);
                 }
                 echo 1;
             } else {
                 throw new Exception(2);
             }
             $db->liberar($sql);
             $db->close();
         } else {
             throw new Exception('Error: Datos vacios.');
         }
     } catch (Exception $login) {
         echo $login->getMessage();
     }
 }
Example #3
0
 public function citas()
 {
     $template = new Smarty();
     $db = new Conexion();
     $sql = $db->query("SELECT * FROM alertas WHERE Activada=-1 and Fecha date_add(NOW(),INTERVAL 1 MONTH) ORDER BY Fecha ASC;");
     if ($db->rows($sql) > 0) {
         while ($x = $db->recorrer($sql)) {
             $citas[] = array('id' => $x['Id'], 'fecha' => $x['Fecha'], 'alerta' => $x['Alerta']);
         }
         $template->assign('citas', $citas);
     }
     $template->assign('principal/citas.tpl');
 }
Example #4
0
function Users()
{
    $db = new Conexion();
    $sql = $db->query("SELECT * FROM users;");
    if ($db->rows($sql) > 0) {
        while ($d = $db->recorrer($sql)) {
            $users[$d['id']] = array('id' => $d['id'], 'user' => $d['user'], 'pass' => $d['pass'], 'email' => $d['email'], 'permisos' => $d['permisos']);
        }
    } else {
        $users = false;
    }
    $db->liberar($sql);
    $db->close();
    return $users;
}
function ListaPais()
{
    $db = new Conexion();
    $sql = $db->query("SELECT * FROM country ;");
    if ($db->rows($sql) > 0) {
        while ($d = $db->recorrer($sql)) {
            $pais[$d['id_country']] = array('id_country' => $d['id_country'], 'names_country' => $d['names_country']);
        }
    } else {
        $pais = false;
    }
    $db->liberar($sql);
    $db->close();
    return $pais;
}
Example #6
0
function Foros()
{
    $db = new Conexion();
    $sql = $db->query("SELECT * FROM foros;");
    if ($db->rows($sql) > 0) {
        while ($d = $db->recorrer($sql)) {
            $foros[$d['id']] = array('id' => $d['id'], 'nombre' => $d['nombre'], 'descrip' => $d['descrip'], 'cantidad_mensajes' => $d['cantidad_mensajes'], 'cantidad_temas' => $d['cantidad_temas'], 'id_categoria' => $d['id_categoria'], 'estado' => $d['estado']);
        }
    } else {
        $foros = false;
    }
    $db->liberar($sql);
    $db->close();
    return $foros;
}
function ListaCursos()
{
    $db = new Conexion();
    $sql = $db->query("SELECT * FROM cursos;");
    if ($db->rows($sql) > 0) {
        while ($d = $db->recorrer($sql)) {
            $cursos[$d['id_curso']] = array('id_curso' => $d['id_curso'], 'ficha' => $d['ficha'], 'nombre' => $d['nombre'], 'descripcion' => $d['descripcion'], 'reg_curso' => $d['reg_curso']);
        }
    } else {
        $cursos = false;
    }
    $db->liberar($sql);
    $db->close();
    return $cursos;
}
Example #8
0
function Foros()
{
    $db = new Conexion();
    $sql = $db->query("SELECT * FROM foros;");
    if ($db->rows($sql) > 0) {
        while ($d = $db->recorrer($sql)) {
            $foros[$d['id']] = $d;
        }
    } else {
        $foros = false;
    }
    $db->liberar($sql);
    $db->close();
    return $foros;
}
Example #9
0
function Users()
{
    $db = new Conexion();
    $sql = $db->query("SELECT * FROM user  ;");
    if ($db->rows($sql) > 0) {
        while ($d = $db->recorrer($sql)) {
            $users[$d['id_user']] = array('id_user' => $d['id_user'], 'names' => $d['names'], 'last_names' => $d['last_names'], 'email' => $d['email'], 'password' => $d['password'], 'gender' => $d['gender'], 'permisos' => $d['permisos'], 'phone' => $d['phone'], 'cel_phone' => $d['cel_phone'], 'address' => $d['address'], 'names_country' => $d['names_country']);
        }
    } else {
        $users = false;
    }
    $db->liberar($sql);
    $db->close();
    return $users;
}
Example #10
0
function Categorias()
{
    $db = new Conexion();
    $sql = $db->query("SELECT * FROM categorias;");
    if ($db->rows($sql) > 0) {
        while ($data = $db->recorrer($sql)) {
            $categorias[$data['id']] = $data;
        }
    } else {
        $categorias = false;
    }
    $db->liberar($sql);
    $db->close();
    return $categorias;
}
Example #11
0
 public function Login()
 {
     try {
         if (!empty($_POST['usuario']) and !empty($_POST['password']) and !empty($_POST['session'])) {
             $db = new Conexion();
             $this->usuario = $db->real_escape_string($_POST['usuario']);
             $this->password = $db->real_escape_string($_POST['password']);
             //$this->password = $this->Encript($_POST['password']);
             $sql = $db->query("SELECT * FROM claves WHERE Nombre='{$this->usuario}' AND Clave='{$this->password}';");
             if ($db->rows($sql) > 0) {
                 $datos = $db->recorrer($sql);
                 $id = $datos['Id'];
                 $_SESSION['id'] = $id;
                 $_SESSION['usuario'] = $datos['Nombre'];
                 $_SESSION['nivel'] = $datos['Nivel'];
                 $_SESSION['controlfases'] = $datos['ControlFases'];
                 $_SESSION['cuentaverexpedientes'] = $datos['CuentaVerExpedientes'];
                 $_SESSION['indemnizacion'] = $datos['Indemnizacion'];
                 $_SESSION['modificaraseguradora'] = $datos['Modaseguradora'];
                 $_SESSION['verfacturas'] = $datos['VerFacturas'];
                 $_SESSION['beneficio'] = $datos['beneficio'];
                 $_SESSION['facturas'] = $datos['facturas'];
                 $_SESSION['modificarsiniestro'] = $datos['modsiniestro'];
                 $_SESSION['tramitadores'] = $datos['tramitadores'];
                 $log = new Log("log", "./logs/");
                 $log->insert('Acceso al programa por el usuario ' . $_SESSION['usuario'], false, false, false);
                 if ($_POST['session'] == true) {
                     ini_set('session.cookie_lifetime', time() + 60 * 60 * 24 * 2);
                 }
                 echo 1;
             } else {
                 $log = new Log("log", "./logs/");
                 $log->insert('Acceso no autorizado', false, false, false);
                 throw new Exception(2);
             }
             $db->liberar($sql);
             $db->close();
         } else {
             throw new exception('Error: Datos vacios');
         }
     } catch (exception $login) {
         echo $login->getMessage();
     }
 }
Example #12
0
 public function Login()
 {
     try {
         if (!empty($_POST['user']) and !empty($_POST['pass']) and !empty($_POST['session'])) {
             $db = new Conexion();
             $this->user = $db->real_escape_string($_POST['user']);
             $this->pass = MD5($_POST['pass']);
             $sql = $db->query("SELECT * FROM user WHERE user='******' AND pass='******'");
             if ($db->rows($sql) > 0) {
                 echo 1;
                 $nombre_sesion = "PHPSESSID";
                 $duracion_sesion = 2 * 7 * 24 * 60 * 60;
                 session_name($nombre_sesion);
                 $datos = $db->recorrer($sql);
                 $_SESSION['id'] = $datos['id'];
                 $_SESSION['user'] = ucwords($datos['user']);
                 $_SESSION['email'] = $datos['email'];
                 $_SESSION['datein'] = $datos['datein'];
                 $_SESSION['rol'] = $datos['rol'];
                 $_SESSION['session'] = $_POST['session'];
                 $_SESSION['estado'] = $datos['status'];
                 $_SESSION['status'] = $datos['status'];
                 $_SESSION['file'] = $datos['file'];
                 if ($_POST['session'] == true) {
                     ini_set("session.use_cookies", 1);
                     ini_set("session.use_only_cookies", 1);
                     ini_set("session.cookie_lifetime", $duracion_sesion);
                     ini_set('session.gc_maxlifetime', $duracion_sesion);
                     session_cache_expire($duracion_sesion);
                     session_set_cookie_params($duracion_sesion);
                 }
             } else {
                 throw new Exception(2);
             }
             $db->liberar($sql);
             $db->close();
         } else {
             throw new Exception("Error Procesando lo requerido");
         }
     } catch (Exception $e) {
         echo $e->getMessage();
     }
 }
Example #13
0
 public function Registrar()
 {
     try {
         if (!empty($_POST['user']) and !empty($_POST['pass']) and !empty('email')) {
             $bd = new Conexion();
             $this->user = $bd->real_escape_string($_POST['user']);
             $this->email = $bd->real_escape_string($_POST['email']);
             $this->pass = $this->Encrypt($_POST['pass']);
             $sql = $bd->query("SELECT * FROM USUARIOS WHERE user='******' OR email = '{$this->email}';");
             if ($bd->rows($sql) == 0) {
                 $online = time() + 60 * 5;
                 $sql2 = $bd->query("INSERT INTO usuarios(user, pass, email, online)\n                     VALUES ('{$this->user}','{$this->pass}','{$this->email}', '{$online}');");
                 $sql3 = $bd->query("SELECT MAX(id) AS id FROM USUARIOS;");
                 $id = $bd->recorrer($sql3);
                 $_SESSION['id'] = $id[0];
                 $_SESSION['user'] = $this->user;
                 $_SESSION['email'] = $this->email;
                 $_SESSION['fecha'] = '';
                 $_SESSION['nombre'] = '';
                 $_SESSION['apellido'] = '';
                 $_SESSION['cambio'] = 0;
                 $_SESSION['ext'] = 'jpg';
                 $_SESSION['online'] = $online;
                 echo 1;
                 $bd->liberar($sql2, $sql3);
             } else {
                 $datos = $bd->recorrer($sql);
                 if (strtolower($this->user) == strtolower($datos['user'])) {
                     throw new Exception(2);
                 } else {
                     throw new Exception(3);
                 }
             }
             $bd->liberar($sql);
             $bd->close();
         } else {
             throw new Exception('Error: Datos Vacios.');
         }
     } catch (Exception $reg) {
         echo $reg->getMessage();
     }
 }
 public function Registrar()
 {
     try {
         if (!empty($_POST['user']) and !empty($_POST['pass']) and !empty($_POST['email'])) {
             $db = new Conexion();
             $this->user = $db->real_escape_string($_POST['user']);
             $this->email = $db->real_escape_string($_POST['email']);
             $this->pass = $this->Encrypt($_POST['pass']);
             $sql = $db->query("SELECT * FROM users\n                                  WHERE user='******' OR email='{$this->email}';");
             if ($db->rows($sql) == 0) {
                 $sqlTwo = $db->query("INSERT INTO users (user, pass, email)\n                                  VALUES ('{$this->user}', '{$this->pass}', '{$this->email}');");
                 $id = $db->insert_id;
                 $_SESSION['id'] = $id;
                 $_SESSION['user'] = $this->user;
                 $_SESSION['email'] = $this->email;
                 $_SESSION['first_name'] = '';
                 $_SESSION['last_name'] = '';
                 $_SESSION['date'] = '';
                 $_SESSION['changes'] = 0;
                 echo 1;
                 $db->liberar($sqlTwo);
             } else {
                 $datos = $db->recorrer($sql);
                 if (strtolower($this->user) == strtolower($datos['user'])) {
                     throw new Exception(2);
                 } else {
                     throw new Exception(3);
                 }
             }
             $db->liberar($sql);
             $db->close();
         } else {
             throw new Exception('ERROR: Datos vacios.');
         }
     } catch (Exception $e) {
         echo $e->getMessage();
     }
 }
Example #15
0
 * Time: 15:24
 */
// Comprueba si el usuario esta logueado
if (isset($_SESSION['id'], $_SESSION['usuario'])) {
    $template = new Smarty();
    $template->assign('titulo', 'Abonados');
    $db = new Conexion();
    //Comprueba que lo que recibe en accion sea alguno de esta lista,sino es ninguno de estos o esta vacio va directamente a default
    $accion = isset($_GET['accion']) ? $_GET['accion'] : null;
    switch ($accion) {
        case 'listar':
            break;
        case 'nuevo':
            //Obtengo todos los agentes ordenados por orden alfabetico descendente
            $sql = $db->query("SELECT Id,Nombre FROM agentes ORDER BY Nombre ASC;");
            if ($db->rows($sql) > 0) {
                while ($x = $db->recorrer($sql)) {
                    $agente[] = array('Nombre' => $x['Nombre'], 'id' => $x['Id']);
                }
                $template->assign('agente', $agente);
            }
            $db->liberar($sql);
            $db->close();
            $template->assign('titulo', 'Registrar nuevo cliente');
            $template->display('abonados/nuevo.tpl');
            break;
        case 'modificar':
            break;
        case '4':
            break;
        default:
Example #16
0
 public function Nuevo()
 {
     try {
         /*
          * Errores cuando no pasa
          * 2 - precio
          * 3 - nif
          * 4 - fechanacimiento
          * 5 - fechaalta
          * 6 - email
          * 7 - iban
          *
          *
          */
         if (!empty($_POST['nombre']) and !empty($_POST['apellido1']) and !empty($_POST['apellido2']) and !empty($_POST['agente']) and !empty($_POST['nif']) and !empty($_POST['direccion']) and !empty($_POST['codigopostal']) and !empty($_POST['localidad']) and !empty($_POST['provincia']) and !empty($_POST['fechanacimiento']) and !empty($_POST['fechaalta']) and !empty($_POST['telefono1'])) {
             $db = new Conexion();
             $this->nombre = $db->real_escape_string($_POST['nombre']);
             $this->apellido1 = $db->real_escape_string($_POST['apellido1']);
             $this->apellido2 = $db->real_escape_string($_POST['apellido2']);
             $this->agente = $db->real_escape_string($_POST['agente']);
             $this->colectivo = $db->real_escape_string($_POST['colectivo']);
             $this->precio = $db->real_escape_string($_POST['precio']);
             $this->descuento = $db->real_escape_string($_POST['descuento']);
             $this->nif = $db->real_escape_string($_POST['nif']);
             $this->direccion = $db->real_escape_string($_POST['direccion']);
             $this->codigopostal = $db->real_escape_string($_POST['codigopostal']);
             $this->localidad = $db->real_escape_string($_POST['localidad']);
             $this->provincia = $db->real_escape_string($_POST['provincia']);
             $this->fechanacimiento = $db->real_escape_string($_POST['fechanacimiento']);
             $this->fechaalta = $db->real_escape_string($_POST['fechaalta']);
             $this->telefono1 = $db->real_escape_string($_POST['telefono1']);
             $this->telefono2 = $db->real_escape_string($_POST['telefono2']);
             $this->telefono3 = $db->real_escape_string($_POST['telefono3']);
             $this->email = $db->real_escape_string($_POST['email']);
             $this->iban = $db->real_escape_string($_POST['iban']);
             $this->notas = $db->real_escape_string($_POST['notas']);
             //Control de error:Comprueba que precio sea numerico
             if (is_numeric($this->precio) == False) {
                 echo 2;
             }
             //Control de error:Comprueba que el nif sea válido
             if ($this->check_nif_cif_nie($this->nif) < 0) {
                 echo 3;
                 echo $this->check_nif_cif_nie($this->nif);
             }
             //control de error:Comprueba que la fecha de nacimiento sea valida
             if (!empty($this->fechanacimiento)) {
                 $explode = explode('-', $this->fecha);
                 if (!($explode[0] >= 1 and $explode[0] <= 31 or $explode[1] >= 1 and $explode[1] <= 12 or $explode[2] >= 1900 and $explode[2] <= 3000)) {
                     //año
                     echo 4;
                     exit;
                 }
             }
             unset($explode);
             //control de error:Comprueba que la fecha de alta sea valida
             if (!empty($this->fechaalta)) {
                 $explode = explode('-', $this->fecha);
                 if (!($explode[0] >= 1 and $explode[0] <= 31 or $explode[1] >= 1 and $explode[1] <= 12 or $explode[2] >= 1900 and $explode[2] <= 3000)) {
                     //año
                     echo 5;
                     exit;
                 }
             }
             unset($explode);
             //Control de error:Comprueba que el email sea valida
             if (!empty($this->email)) {
                 if (filter_var($this->email, FILTER_VALIDATE_EMAIL)) {
                     echo 6;
                     exit;
                 }
             }
             //Control de error:Comprueba que el iban sea valido
             if (!empty($iban)) {
                 if ($this->comprobar_iban($iban) == false) {
                     echo 7;
                 }
             }
             $sql = $db->query("SELECT * FROM users WHERE user='******' OR email='{$this->email}';");
             if ($db->rows($sql) == 0) {
                 echo 1;
             } else {
                 throw new Exception(2);
             }
             $db->liberar($sql);
             $db->close();
         } else {
             throw new exception('Error: Datos vacios.');
         }
     } catch (exception $login) {
         echo $login->getMessage();
     }
 }
Example #17
0
 $pagina = (isset($_GET['pag']) and is_numeric($_GET['pag']) and $_GET['pag'] >= 1) ? $_GET['pag'] : 1;
 $bd = new Conexion();
 $paginado = 4;
 $inicio = ($pagina - 1) * $paginado;
 if (isset($_SESSION['busqueda']) and !isset($_POST['busqueda'])) {
     $busqueda = $_SESSION['busqueda'];
 } else {
     $busqueda = $_POST['busqueda'];
 }
 $_SESSION['busqueda'] = $busqueda;
 $cantidad = $bd->query("SELECT COUNT(*) FROM POST WHERE titulo LIKE '%{$busqueda}%';");
 $sql = $bd->query("SELECT * FROM POST WHERE titulo LIKE '%{$busqueda}%'\n\t    ORDER BY id DESC LIMIT {$inicio}, {$paginado};");
 $result = $bd->recorrer($cantidad);
 $result = $result[0];
 $paginas = ceil($result / $paginado);
 if ($bd->rows($sql) > 0) {
     $psql = "SELECT user FROM Usuarios WHERE id=?;";
     $prepare_sql = $bd->prepare($psql);
     $prepare_sql->bind_param('i', $id);
     while ($x = $bd->recorrer($sql)) {
         $id = $x['dueno'];
         $prepare_sql->execute();
         $prepare_sql->bind_result($autor);
         $prepare_sql->fetch();
         #TERMINA SENTENCIA PREPARADA
         $posts[] = array('id' => $x['id'], 'titulo' => $x['titulo'], 'content' => $x['content'], 'dueno' => $autor, 'id_dueno' => $id, 'puntos' => $x['puntos']);
     }
     $prepare_sql->close();
     $template->assign('posts', $posts);
 }
 $bd->liberar($sql, $cantidad);
Example #18
0
<?php

$db = new Conexion();
$pass = Encrypt($_POST['pass']);
$user = $db->real_escape_string($_POST['user']);
$email = $db->real_escape_string($_POST['email']);
$sql = $db->query("SELECT user FROM users WHERE user='******' OR email='{$email}' LIMIT 1;");
if ($db->rows($sql) == 0) {
    $keyreg = md5(time());
    $link = APP_URL . '?view=activar&key=' . $keyreg;
    $mail = new PHPMailer();
    $mail->CharSet = "UTF-8";
    $mail->Encoding = "quoted-printable";
    $mail->isSMTP();
    // Set mailer to use SMTP
    $mail->Host = PHPMAILER_HOST;
    // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;
    // Enable SMTP authentication
    $mail->Username = PHPMAILER_USER;
    // SMTP username
    $mail->Password = PHPMAILER_PASS;
    // SMTP password
    $mail->SMTPSecure = 'ssl';
    // Enable TLS encryption, `ssl` also accepted
    $mail->SMTPOptions = array('ssl' => array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true));
    $mail->Port = PHPMAILER_PORT;
    // TCP port to connect to
    $mail->setFrom(PHPMAILER_USER, APP_TITLE);
    //Quien manda el correo?
    $mail->addAddress($email, $user);
Example #19
0
<?php

if (isset($_GET['user']) and is_numeric($_GET['user']) and $_GET['user'] >= 1) {
    $bd = new Conexion();
    $id = intval($_GET['user']);
    $sql = $bd->query("SELECT *  FROM Usuarios WHERE id = {$id};");
    $template = new Smarty();
    if ($bd->rows($sql) > 0) {
        //PAGINADO
        $pagina = (isset($_GET['pag']) and is_numeric($_GET['pag']) and $_GET['pag'] >= 1) ? $_GET['pag'] : 1;
        $paginado = 5;
        $inicio = ($pagina - 1) * $paginado;
        $user = $bd->recorrer($sql);
        //Avatar
        if (file_exists('uploads/avatar/' . $user['id'] . '.' . $user['ext'])) {
            $ruta = 'uploads/avatar/' . $user['id'] . '.' . $user['ext'];
        } else {
            $ruta = 'uploads/avatar/user.png';
        }
        $sin_registros = 'Sin registros';
        // NOmbres y apellidos
        if ($user['nombre'] == '' or $user['apellido'] == '') {
            $nombres = $sin_registros;
        } else {
            $nombres = $user['nombre'] . ' ' . $user['apellido'];
        }
        // FECHA
        if ($user['fecha'] == '') {
            $fecha = $sin_registros;
        } else {
            $fecha = $user['fecha'];
Example #20
0
 public function EditUser()
 {
     if (!empty($_POST['user']) and !empty($_POST['email'])) {
         $bd = new Conexion();
         $this->user = $bd->real_escape_string($_POST['user']);
         $this->email = $bd->real_escape_string($_POST['email']);
         $this->id = $_SESSION['id'];
         // Control de error para el usuario
         if (strtolower($this->user) != strtolower($_SESSION['user'])) {
             $time = time();
             $sql = $bd->query("SELECT id FROM Usuarios WHERE cambio > {$time} AND id='{$this->id}';");
             $sql2 = $bd->query("SELECT user, email FROM Usuarios WHERE user='******' AND id <> '{$this->id}';");
             // error para cambio de usuraio
             if ($bd->rows($sql) > 0) {
                 $bd->liberar($sql, $sql2);
                 $bd->close();
                 header('location:?view=cuenta&error=5');
                 exit;
             }
             if ($bd->rows($sql2) > 0) {
                 $bd->liberar($sql, $sql2);
                 $bd->close();
                 header('location:?view=cuenta&error=2');
                 exit;
             }
             $c_cambio = 1;
         }
         //Control de erroro para  el email
         if (strtolower($email) != strtolower($_SESSION['email'])) {
             $sql = $bd->query("SELECT email FROM Usuarios WHERE email='{$email}' AND id <> {$this->id};");
             // Error para cambio de email
             if ($bd->rows($sql) > 0) {
                 $bd->liberar($sql);
                 $bd->close();
                 header('location:?view=cuenta&error=3');
                 exit;
             }
         }
         // Control pra al this->fecha
         $this->fecha = $bd->real_escape_string($_POST['fecha']);
         if (!empty($this->fecha)) {
             $this->fecha = $bd->real_escape_string($_POST['fecha']);
             $explode = explode('-', $this->fecha);
             if (!($explode[0] >= 1 and $explode[0] <= 31) or !($explode[1] >= 1 and $explode[1] <= 12) or !($explode[2] >= 1900 and $explode[2] <= 3000)) {
                 header('location:?view=cuenta&error=4');
                 exit;
             }
         }
         // Control de imagenes {Avatar}
         if ($_FILES['foto']['name'] != "") {
             $ext = end(explode('.', $_FILES['foto']['name']));
             $extenciones = array('jpg', 'png', 'gif', 'jpeg', 'JPG', 'PNG', 'GIF', 'JPEG');
             // Control de error de vatar
             if (!in_array($ext, $extenciones)) {
                 header('location:?view=cuenta&error=6');
                 exit;
             }
             $ruta = 'uploads/avatar/' . $this->id . '.' . $_SESSION['ext'];
             if (file_exists($ruta)) {
                 unlink($ruta);
             }
             $ruta = 'uploads/avatar/' . $this->id . '.' . $ext;
             move_uploaded_file($_FILES['foto']['tmp_name'], $ruta);
             $_SESSION['ext'] = $ext;
         }
         if (isset($c_cambio)) {
             $tiempo_cambio = time() + 60 * 60 * 24 * 31;
         } else {
             $tiempo_cambio = $_SESSION['cambio'];
         }
         $this->nombres = $bd->real_escape_string($_POST['names']);
         $this->apellidos = $bd->real_escape_string($_POST['lastnames']);
         $_SESSION['user'] = $this->user;
         $_SESSION['email'] = $this->email;
         $_SESSION['fecha'] = $this->fecha;
         $_SESSION['nombre'] = $this->nombres;
         $_SESSION['apellidos'] = $this->apellidos;
         $_SESSION['cambio'] = $tiempo_cambio;
         $ext = $_SESSION['ext'];
         $update = $bd->query("UPDATE Usuarios SET user='******', email='{$this->email}', nombre='{$this->nombres}', apellido='{$this->apellidos}', fecha='{$this->fecha}', \n                \tcambio='{$tiempo_cambio}', ext='{$ext}' WHERE id='{$this->id}';");
         $bd->liberar($update);
         $bd->close();
         header('location: ?view=cuenta&success=1');
     } else {
         header('location:?view=cuenta&error=1');
     }
 }
<?php

if (isset($_SESSION['id'], $_SESSION['usuario'])) {
    $template = new Smarty();
    $template->assign('titulo', 'Principal');
    $db = new Conexion();
    //Muestra las alertas de citas
    $sql = $db->query("SELECT * FROM alertas WHERE Activada=1 AND Fecha <= date_add(NOW(),INTERVAL 1 MONTH) ORDER BY Fecha ASC");
    if ($db->rows($sql) > 0) {
        while ($x = $db->recorrer($sql)) {
            $citas[] = array('id' => $x['Id'], 'fecha' => $x['Fecha'], 'alerta' => $x['Alerta']);
        }
        $template->assign('citas', $citas);
    }
    //Muestra pendientes de revision con más de 20 dias
    $sql2 = $db->query("SELECT abonados.Nombre, abonados.Apellido1, abonados.Apellido2, siniestro.UltimaVision, siniestro.Fase, siniestro.Id, fases.Texto, siniestro.`Fecha siniestro` FROM fases INNER JOIN ( abonados INNER JOIN siniestro ON abonados.Id = siniestro.Abonado ) ON fases.Id = siniestro.Fase WHERE siniestro.UltimaVision < DATE_SUB(NOW(), INTERVAL 20 DAY) AND siniestro.Fase < 40;");
    //$sql2=$db->query("SELECT abonados.Nombre, abonados.Apellido1, abonados.Apellido2, siniestro.UltimaVision, siniestro.Fase, siniestro.Id, fases.Texto, siniestro.`Fecha siniestro` FROM fases INNER JOIN ( abonados INNER JOIN siniestro ON abonados.Id = siniestro.Abonado ) ON fases.Id = siniestro.Fase WHERE siniestro.`Fecha siniestro` < DATE_SUB(NOW(), INTERVAL 20 DAY) AND siniestro.Fase < 40;");
    if ($db->rows($sql2) > 0) {
        while ($x = $db->recorrer($sql2)) {
            $pterev[] = array('nombre' => $x['Nombre'], 'apellido1' => $x['Apellido1'], 'apellido2' => $x['Apellido2'], 'ultima' => $x['UltimaVision'], 'fase' => $x['Texto'], 'fecha' => $x['Fecha siniestro'], 'id' => $x['Id']);
        }
        $template->assign('pterev', $pterev);
    }
    $tramitadores = "()";
    if ($_SESSION['tramitadores'] != "") {
        $tramitadores = $_SESSION['tramitadores'];
    }
    //Muestra asuntos con más de 1 mes pendiente de asistencia jurídica
    $sql3 = $db->query("SELECT siniestro.Id, siniestro.`Fecha siniestro`, abonados.Nombre, abonados.Apellido1, abonados.Apellido2, siniestro.Representado, siniestro.Nombre AS RNombre FROM siniestro, abonados WHERE siniestro.Abonado = abonados.Id AND siniestro.`Fecha siniestro` BETWEEN DATE_SUB( siniestro.`Fecha siniestro`, INTERVAL 6 MONTH ) AND DATE_SUB( siniestro.`Fecha siniestro`, INTERVAL 26 WEEK ) AND DATE_SUB( siniestro.`Fecha siniestro`, INTERVAL 24 WEEK ) AND siniestro.PresentadaDenuncia = FALSE AND siniestro.Fase <= 30 AND Tramitador IN {$tramitadores} ORDER BY siniestro.`Fecha siniestro`;");
    if ($db->rows($sql3) > 0) {
        while ($x = $db->recorrer($sql3)) {