Пример #1
0
 public function __construct($config)
 {
     $this->_objects['app'] = App::instance();
     $this->_objects['router'] = Router::instance();
     $this->_objects['inputs'] = Inputs::instance();
     $this->_objects['session'] = Session::instance();
     $this->_objects['log'] = Log::factory();
     if (!isset($this->app->config['database']['redis'][$config['serverId']])) {
         $config['serverId'] = 0;
     }
     $current = $this->app->config['database']['redis'][$config['serverId']];
     $current['serverId'] = $config['serverId'];
     $this->_objects['db'] = Db::factory($current);
     $this->_objects['infoModel'] = new Info_Model($current);
     $info = $this->db->info();
     $dbs = $this->infoModel->getDbs($info);
     if (!isset($current['max_databases'])) {
         $databasesConfig = $this->_objects['db']->config('GET', 'databases');
         $current['max_databases'] = $databasesConfig['databases'];
     }
     // Take care of invalid dbId's. If invalid, set to first available database
     if (!is_numeric($config['dbId']) || $config['dbId'] < 0 || $config['dbId'] >= $current['max_databases']) {
         $config['dbId'] = $dbs[0];
     }
     $current['newDB'] = !in_array($config['dbId'], $dbs) ? true : false;
     $current['database'] = $config['dbId'];
     // Extract number of keys
     foreach ($dbs as $i) {
         if (preg_match('/^keys=([0-9]+),expires=([0-9]+)/', $info["db{$i}"], $matches)) {
             $current['dbs'][$i] = array('id' => $i, 'keys' => $matches[1], 'name' => isset($current['dbNames'][$i]) ? $current['dbNames'][$i] : null);
         }
     }
     $this->db->select($current['database']);
     $this->app->current = $current;
 }
    $id = Inputs::numeroValido($_REQUEST['id']);
    if ($id == "error") {
        header('Location:errorLogueado.php');
    }
}
if (isset($operacion)) {
    if ($operacion == "introducir") {
        header('Location:nuevoTeatro.php');
    } else {
        if ($operacion == "borrar") {
            $teatro = new DBHelper();
            $teatro->del_teatro($id);
            header('Location:index2.php');
        } else {
            if ($operacion == "buscar") {
                $busqueda = Inputs::nombreObraValido($_POST['busqueda']);
                if ($busqueda == "error") {
                    header('Location:errorLogueado.php');
                }
                header('Location:busqueda.php?bus=' . $busqueda);
            }
        }
    }
}
echo "<CENTER><P>\n\t  <TABLE border='0' width='600'>\n\t  <TR>\n\t     <TD valign=top align=CENTER colspan=2>";
if ($row2 == 'user') {
    echo "<FORM name='form1' METHOD='POST' ACTION='index2.php?operacion=buscar'>\n\t\t\t\t\t\t<input type='hidden' name='token' value='{$token}' />\n\t\t\t\t\t<b>Buscar obra</b>";
    if (!isset($busqueda)) {
        $busqueda = "";
    }
    echo "<INPUT TYPE='TEXT' NAME='busqueda' value='{$busqueda}' size='20'> ";
<BODY bgcolor="#C0C0C0" link="green" vlink="green" alink="green">
<BASEFONT face="arial, helvetica">

<TABLE border="0" align="center" cellspacing="3" cellpadding="3" width="1000">
<TR><TH colspan="2" width="100%" bgcolor="green"><FONT size="6" color="white">Teatros</FONT></TH>
</TR></TABLE><P>

<?php 
include 'teatro2.php';
include 'inputs.php';
if (isset($_REQUEST['operacion'])) {
    $operacion = $_REQUEST['operacion'];
}
if (isset($_REQUEST['bus'])) {
    $bus = Inputs::nombreObraValido($_REQUEST['bus']);
    if ($bus == "error") {
        header('Location:errorLogueado.php');
    }
}
echo "<CENTER><P>\n\t  <TABLE border='0' width='600'>\n\t  <TR>\n\t     <TD valign=top align=CENTER colspan=2>\n\t     \t<FORM name='form1' METHOD='POST' ACTION='index2.php?operacion=buscar'>\n\t\t\t\t\t<input type='hidden' name='token' value='{$token}' />\n\t     \t    <b>Buscar obra </b>";
if (!isset($busqueda)) {
    $busqueda = "";
}
echo "<INPUT TYPE='TEXT' NAME='busqueda' value='{$busqueda}' size='20'> ";
echo "<INPUT TYPE='SUBMIT' NAME='boton_buscar' VALUE='¡Buscar!'>\n\t     \t</FORM>\n\t     </TD></TR><TR><TD align=right>\n\t        <FORM name='form2' METHOD='POST' ACTION='index2.php?operacion=introducir'>\n\t\t\t\t<input type='hidden' name='token' value='{$token}' />\n\t            <INPUT TYPE='SUBMIT' NAME='alta' VALUE='Nuevo teatro'>\n\t        </FORM>\n\t     </TD><TD width=100 align=left>\n\t        <FORM name='form3' METHOD='POST' ACTION='index2.php?operacion=listado'>\n\t\t\t\t<input type='hidden' name='token' value='{$token}' />\n\t            <INPUT TYPE='SUBMIT' NAME='alta' VALUE='Listado completo'>\n\t        </FORM>\n\t     </TD>\n\t  </TR></TABLE>\n\t    <h3>Resultados para la búsqueda: {$bus}</h3>\n\t  </br>";
$teatro = new DBHelper();
$datos = $teatro->buscar($bus);
$nObras = $datos->count();
if ($nObras == '0') {
    echo "<center><table border='1' width='700' >\n\t\t<tr><td  align = 'center' > <b > <font size = '3'>Ningún resultado coincide con la búsqueda</font></b> </td></tr></table></center>\n\t\t";
        $sal = bin2hex($sal);
        $password = Inputs::passwordValido($_POST['password']);
        echo $password;
        if ($password == "error") {
            header('Location:error.php');
        } else {
            $pass = $password;
            $pass = $pass . $sal;
            $pass = hash('sha256', $pass, false);
            $teatro = new DBHelper();
            $nombreUsuario = Inputs::usuarioValido($_POST['nombreUsuario']);
            $nombre = Inputs::nombreUsuarioValido($_POST['nombre']);
            $apellidos = Inputs::apellidosValido($_POST['apellidos']);
            $dni = Inputs::dniValido($_POST['dni']);
            $correo = Inputs::correoValido($_POST['correo']);
            $rol = Inputs::validaRol($_POST['rol']);
            //$sal = $teatro->get_sal($nombreUsuario);
            if ($nombreUsuario != "error" and $nombre != "error" and $apellidos != "error" and $dni != "error" and $correo != "error" and $rol != "error") {
                if ($teatro->add_user($nombreUsuario, $nombre, $apellidos, $dni, $correo, $pass, $sal, $rol)) {
                    header('Location:indexx.php');
                } else {
                    echo "El DNI introducido ya existe";
                }
            } else {
                header('Location:error.php');
            }
        }
    }
}
echo "<CENTER><P>\n\t \n\t  <CENTER><FONT  COLOR= 'green'><b><h2>Registro</b></h2> </FONT></CENTER>\n\t  <CENTER>\n\t  <FORM name = 'registro' method='post' enctype='multipart/form-data' ACTION='registro.php?operacion=añadir'>\n\t  <TABLE border='0' width='600' cellspacing='10' >\n\t        \n\t\t\t\n\t\t\t<TR><TD bgcolor='green' width='150'><FONT  COLOR= 'FFFFFF' bgcolor='green' >Usuario</FONT> </TD>\n\t\t\t<TD><INPUT TYPE='text' title ='Introduzca un nombre de usuario'  required NAME='nombreUsuario' VALUE='' SIZE='50'  MAXLENGTH='30'></TD></TR>\n\n\t\t\t<TR><TD bgcolor='green' width='150'><FONT  COLOR= 'FFFFFF' bgcolor='green'>Nombre</FONT> </TD>\n\t\t\t<TD><INPUT TYPE='text' title ='Introduzca nombre' NAME='nombre' required VALUE='' SIZE='50'  MAXLENGTH='50'></TD></TR>\n\n\t\t\t<TR><TD bgcolor='green' width='150'><FONT  COLOR= 'FFFFFF' bgcolor='green'>Apellidos</FONT> </TD>\n\t\t\t<TD><INPUT TYPE='text' NAME='apellidos' VALUE='' SIZE='50'  required MAXLENGTH='50'></TD></TR>\n\n\t\t\t<TR><TD bgcolor='green' width='150'><FONT  COLOR= 'FFFFFF' bgcolor='green' >DNI</FONT> </TD>\n\t\t\t<TD><INPUT TYPE='text' title ='Introduzca su DNI' NAME='dni' VALUE='' required SIZE='50'  MAXLENGTH='10'></TD></TR>\n\n\t\t\t<TR><TD bgcolor='green' width='150'><FONT  COLOR= 'FFFFFF' bgcolor='green'>Correo</FONT> </TD>\n\t\t\t<TD><INPUT TYPE='text' title ='Introduzca su email' NAME='correo' VALUE='' required SIZE='50'  MAXLENGTH='50'></TD></TR>\n\n\t\t\t<TR><TD bgcolor='green' width='150'><FONT  COLOR= 'FFFFFF' bgcolor='green' >Contraseña</FONT> </TD>\n\t\t\t<TD><INPUT TYPE='password' NAME='password' VALUE='' SIZE='50' required  MAXLENGTH='20'></TD></TR>\n\t\t\t\t<TR><TD bgcolor='green' width='150'><FONT  COLOR= 'FFFFFF' bgcolor='green' >Elija su Rol</FONT> </TD> \n\t\t\t\t<td><select name='rol' >\n\t\t\t\t\t\n\t\t\t\t\t<option  value='admin'>Administrador\n\t\t\t\t\t<option selected value='user'>Cliente\n\t\t\t\t\t</select> \n\t\t\t\t</td></TR>\n\n\n\t\t\t<TR><TD width='150'> <b>Todos los campos son obligatorios</b></TD></TR>\n\t\t\t</BR>\t\t\n\t</TABLE>\n\n\t<INPUT TYPE='SUBMIT' VALUE='Registrarme'>\n\t</FORM>\n\t</CENTER>";
?>
 -Oscar Eduardo Pérez la Madrid
 -Esteban Vargas Rastrollo
 El siguiente código es fruto del trabajo y el esfuerzo únicamente de los miembros del grupo anteriormente citados.
  -->
<?php 
//Inicio del procesamiento
session_start();
include 'teatro2.php';
include 'inputs.php';
if (!isset($_SESSION['token']) or $_POST['token'] != $_SESSION['token']) {
    header('Location:error.php');
}
//**************************Aqui hay que validar las cadenas ingresadas ******************************************
$usuario_nombre = Inputs::usuarioValido($_POST['username']);
//Username del usuario
$usuario_clave = Inputs::passwordValido($_POST['password']);
//password dada por el usuario
if ($usuario_nombre != "error" and $usuario_clave != "error") {
    $teatro = new DBHelper();
    $datos = $teatro->datos_usr($usuario_nombre, $usuario_clave);
    if ($datos) {
        echo $datos;
        $_SESSION['login'] = true;
        $_SESSION['usuario'] = $usuario_nombre;
    } else {
        $_SESSION['login'] = false;
    }
} else {
    $_SESSION['login'] = false;
    header('Location:error.php');
}
 static function numeroBoolValido($cad)
 {
     $cadena = Inputs::desinfectar($cad);
     $patron = "/^(0|1)\$/";
     // Fecha en formato legible XXXX-XX-XX
     if (preg_match($patron, $cadena)) {
         return $cadena;
     } else {
         return "error";
     }
 }
    }
}
if (isset($_REQUEST['bus'])) {
    $bus = Inputs::numeroValido($_REQUEST['bus']);
    if ($bus == "error") {
        header('Location:errorLogueado.php');
    }
}
if (isset($_REQUEST['dia'])) {
    $dia = Inputs::fechaValido($_REQUEST['dia']);
    if ($dia == "error") {
        header('Location:errorLogueado.php');
    }
}
if (isset($_REQUEST['sesion'])) {
    $sesion = Inputs::sesionValido($_REQUEST['sesion']);
    if ($sesion == "error") {
        header('Location:errorLogueado.php');
    }
}
if (isset($_REQUEST['accion'])) {
    $accion = $_REQUEST['accion'];
}
if (isset($operacion)) {
    if ($operacion == "sesion") {
        $dia = $_POST['dia'];
        $sesion = $_POST['ad'];
    }
    if ($operacion == "color") {
        $teatro = new DBHelper();
        $var = $teatro->exec_comprar($bus, $dni_user, $sesion, $i, $j, $accion, $dia);
-->
   </style>
</HEAD>

<BODY bgcolor="#C0C0C0" link="green" vlink="green" alink="green">
<BASEFONT face="arial, helvetica">

<TABLE border="0" align="center" cellspacing="3" cellpadding="3" width="1000">
<TR><TH colspan="2" width="100%" bgcolor="green"><FONT size="6" color="white">Teatros</FONT></TH>
</TR></TABLE><P>
<?php 
include 'teatro2.php';
include 'inputs.php';
$teatro = new DBHelper();
$user = Inputs::usuarioValido($_SESSION['usuario']);
if ($user == "error") {
    header('Location:errorLogueado.php');
} else {
    $datos = $teatro->buscar_user($user);
    foreach ($datos as $row) {
        $dni_user = $row["dni"];
        $rol = $row["rol"];
    }
    echo "<CENTER><P>\n\t  <TABLE border='0' width='600'>\n\t  <TR>\n\t     <TD valign=top align=CENTER colspan=2>";
    if ($rol == 'user') {
        echo "<FORM name='form1' METHOD='POST' ACTION='index2.php?operacion=buscar'>\n\t\t\t\t<input type='hidden' name='token' value='{$token}' />\n\t\t\t\t\t<b>Buscar obra</b>";
        if (!isset($busqueda)) {
            $busqueda = "";
        }
        echo "<INPUT TYPE='TEXT' NAME='busqueda' value='{$busqueda}' size='20'> ";
if (isset($_REQUEST['fecha'])) {
    $fecha = Inputs::fechaValido($_REQUEST['fecha']);
    if ($fecha == "error") {
        header('Location:errorLogueado.php');
    }
}
if (isset($_REQUEST['t'])) {
    $t = Inputs::numeroValido($_REQUEST['t']);
    if ($t == "error") {
        header('Location:errorLogueado.php');
    }
}
if (isset($operacion)) {
    if ($operacion == "guardar") {
        $teatro = new DBHelper();
        $comentario = Inputs::comentarioValido($_POST['comentario']);
        echo $comentario;
        if ($comentario == 'error') {
            header('Location:errorLogueado.php');
        } else {
            $datosTeatro = $teatro->consulta($t);
            //consulta recibe el id del teatro
            foreach ($datosTeatro as $doc) {
                $nombreObra = $doc["nombre_obra"];
                $teatro->guardarValoracion($valor, $comentario, $t, $nombreObra, $dni_user, $fecha, $editar);
                header('Location:obrasCompradas.php');
            }
        }
    }
}
echo "<CENTER><P>\n\t  <TABLE border='0' width='600'>\n\t  <TR>\n\t     <TD valign=top align=CENTER colspan=2>";
if (isset($_REQUEST['operacion'])) {
    $operacion = $_REQUEST['operacion'];
}
if (isset($operacion)) {
    if ($operacion == "añadir") {
        $teatro = new DBHelper();
        $num_obras = $teatro->nume_obras();
        $id_obra = (string) $num_obras;
        $nombreObra = Inputs::nombreObraValido($_POST['nombreObra']);
        $nombreTeatro = Inputs::nombreTeatroValido($_POST['nombreTeatro']);
        $descripcion = Inputs::descripcionValido($_POST['descripcion']);
        $sesion1 = Inputs::sesionValido($_POST['sesion1']);
        $sesion2 = Inputs::sesionValido($_POST['sesion2']);
        $sesion3 = Inputs::sesionValido($_POST['sesion3']);
        $filas = Inputs::numeroValido($_POST['filas']);
        $asientos = Inputs::numeroValido($_POST['asientos']);
        if ($nombreObra != "error" and $asientos != "error" and $nombreTeatro != "error" and $descripcion != "error" and $sesion1 != "error" and $sesion2 != "error" and $sesion3 != "error" and $filas != "error") {
            $teatro->add_teatro($id_obra, $nombreObra, $nombreTeatro, $descripcion, $sesion1, $sesion2, $sesion3, $filas, $asientos);
            header('Location:index2.php');
        } else {
            header('Location:errorLogueado.php');
        }
    }
}
echo "<CENTER><P>\n\t  <TABLE border='0' width='600'>\n\t  <TR>\n\t     <TD valign=top align=CENTER colspan=2>";
if ($row2 == 'user') {
    echo "<FORM name='form1' METHOD='POST' ACTION='index2.php?operacion=buscar'>\n\t\t\t\t<input type='hidden' name='token' value='{$token}' />\n\t     \t    <b>Buscar teatro </b>";
    if (!isset($busqueda)) {
        $busqueda = "";
    }
    echo "<INPUT TYPE='TEXT' NAME='busqueda' value='{$busqueda}' size='20'> ";
        $nombre = $row["nombre"];
        $apellidos = $row["apellidos"];
        $dni = $row["dni"];
        $correo = $row["correo"];
        $password = $row["password"];
        $rol = $row["rol"];
    }
}
if (isset($_REQUEST['operacion'])) {
    $operacion = $_REQUEST['operacion'];
} else {
    $operacion = "";
}
if ($operacion == 'editar') {
    $nuevaPass = Inputs::passwordValido($_POST['nuevaPass']);
    $passAct = Inputs::passwordValido($_POST['PassAct']);
    if ($nuevaPass == "error" or $passAct == "error") {
        header('Location:errorLogueado.php');
    } else {
        $datos = $teatro->datos_usr($usuario, $passAct);
        if ($datos) {
            $sal = mcrypt_create_iv($length, MCRYPT_DEV_RANDOM);
            $sal = bin2hex($sal);
            $pass = $nuevaPass;
            $pass = $pass . $sal;
            $pass = hash('sha256', $pass, false);
            if ($teatro->edit_user($usuario, $nombre, $apellidos, $dni, $correo, $pass, $sal, $rol)) {
                header('Location:indexx.php');
            } else {
                echo "No se ha podido cambiar la contraseña... ";
            }