/vendor/class.php
https://gitlab.com/mateoagudelo/slim · PHP · 497 lines · 438 code · 53 blank · 6 comment · 80 complexity · bcedd0f070825ab436923d6d5c694111 MD5 · raw file
- <?php
- class debug {
- protected $modo;
- public function __construct($modo) {
- $this->modo = $modo;
- if ($this->modo) {
- error_reporting(1);
- } else {
- error_reporting(0);
- }
- }
- }
- class Configuracion {
- protected $host = 'localhost';
- protected $base_datos = 'acortalo';
- protected $usuario = 'root';
- protected $contrasena = '';
- public function db_host() {
- return $this->host;
- }
- public function db_nombre() {
- return $this->base_datos;
- }
- public function db_usuario() {
- return $this->usuario;
- }
- public function db_contrasena() {
- return $this->contrasena;
- }
- }
- class Conectar extends PDO {
- private $conectar, $conf;
- public function __construct() {
- $this->conf = new Configuracion();
- try {
- parent::__construct('mysql:host=' . $this->conf->db_host() . ';dbname=' . $this->conf->db_nombre() . '', $this->conf->db_usuario(), $this->conf->db_contrasena() );
- } catch (PDOException $error_pdo) {
- die;
- echo $error_pdo->getMessage();
- echo $error_pdo->getLine();
- }
- }
- }
- class Sitio {
- protected $con, $consultar;
- public $url;
- public function __construct() {
- $this->con = new Conectar();
- }
- public function url() {
- $this->consultar = $this->con->prepare('select * from sitio where id=:id');
- $this->consultar->execute(array(':id' => 1));
- $this->consultar = $this->consultar->fetch(PDO::FETCH_OBJ);
- $this->url = $this->consultar->url;
- }
- public function __destruct() {
- $this->con = null;
- }
- }
- class UsuarioIngreso {
- protected $con, $usuario, $correo, $contrasena, $contrasena_r, $nuevo_registro, $no_correo;
- private $si_usuario, $si_correo, $si_contrasena;
- public $registro;
- public function __construct() {
- $this->con = new Conectar();
- }
- public function Registro($usuario, $correo, $contrasena, $contrasena_r) {
- $this->usuario = $usuario;
- $this->correo = $correo;
- $this->contrasena = $contrasena;
- $this->contrasena_r = $contrasena_r;
- if (!empty($this->usuario)) {
- $this->si_usuario = true;
- $this->usuario = filter_var($this->usuario, FILTER_SANITIZE_STRING);
- $this->usuario = addslashes($this->usuario);
- } else { $this->si_usuario = false; }
- if (!empty($this->correo)) {
- $this->si_usuario = true;
- $this->correo = filter_var($this->correo, FILTER_SANITIZE_EMAIL);
- if ($this->correo = filter_var($this->correo, FILTER_SANITIZE_EMAIL)) {
- $this->no_correo = $this->con->prepare('select * from usuarios where correo=:correo');
- $this->no_correo->execute(array(':correo' => $this->correo));
- $this->no_correo = $this->no_correo->fetchAll();
- if (!$this->no_correo) {
- $this->si_correo = true;
- } else { $this->si_correo = false; }
- } else { $this->si_correo = false; }
- } else { $this->si_correo = false; }
- if (!empty($this->contrasena) AND !empty($this->contrasena_r)) {
- if ($this->contrasena == $this->contrasena_r) {
- $this->contrasena = password_hash($this->contrasena, PASSWORD_DEFAULT, array("cost"=>12));
- //password_hash($this->contrasena, PASSWORD_DEFAULT, array("cost"=>12));
- $this->si_contrasena = true;
- } else { $this->si_contrasena = false; }
- } else { $this->si_contrasena = false; }
- if ($this->si_usuario AND $this->si_correo AND $this->si_contrasena) {
- $this->nuevo_registro = $this->con->prepare('insert into usuarios set usuario=:usuario, correo=:correo, contrasena=:con');
- $this->nuevo_registro->execute(array('usuario' => $this->usuario, 'correo' => $this->correo, 'con' => $this->contrasena));
- $this->registro = true;
- } else { $this->registro = false; }
- }
- protected $consultar, $datos, $f_correo, $f_contrasena, $correo_verificado, $contrasena_verificada;
- private $id_verificado, $v_correo, $v_contrasena, $dato_correo, $dato_contrasena;
- public $estado;
- public function Ingreso($correo, $contrasena) {
- $this->f_correo = $correo;
- $this->f_contrasena = $contrasena;
- if (!empty($this->f_correo) AND !empty($this->f_contrasena)) {
- $this->consultar = $this->con->prepare('select * from usuarios where correo=:correo');
- $this->consultar->execute( array(':correo' => $this->f_correo) );
- $this->datos = $this->consultar->fetch(PDO::FETCH_OBJ);
- if ($this->datos) {
- $this->correo_verificado = $this->datos->correo;
- $this->dato_correo = true;
- $this->dato_contrasena = true;
- } else { $this->estado = false; }
- } else { $this->dato_correo = false; $this->dato_contrasena = false; }
- if ($this->dato_correo AND $this->dato_contrasena) {
- if ($this->correo_verificado == $this->f_correo) {
- $this->v_correo = true;
- $this->contrasena_verificada = $this->datos->contrasena;
- } else {
- $this->v_correo = false;
- $this->contrasena_verificada = null;
- }
- if (password_verify($this->f_contrasena, $this->contrasena_verificada)) {
- $this->v_contrasena = true;
- $this->id_verificado = $this->datos->id;
- } else {
- $this->v_contrasena = false;
- $this->id_verificado = null;
- }
- } else { $this->v_correo = false; $this->v_contrasena = false; }
- }
- public function Verificar() {
- if ($this->v_correo AND $this->v_contrasena) {
- $_SESSION['id_usuario'] = $this->id_verificado;
- $_SESSION['correo_usuario'] = $this->correo_verificado;
- return $this->estado = true;
- } else {
- return $this->estado = false;
- }
- }
- public function __destruct() {
- $this->con = null;
- }
- }
- class UsuarioPerfil {
- protected $con, $consultar, $actualizar, $id, $us, $v_us;
- public $usuario, $correo, $creditos, $actualizado;
- public function __construct() {
- $this->con = new Conectar();
- }
- public function GetDatos($id) {
- $this->id = $id;
- $this->consultar = $this->con->prepare('select usuario, correo, creditos from usuarios where id=:id');
- $this->consultar->execute(array(':id' => $this->id));
- $this->consultar = $this->consultar->fetch(PDO::FETCH_OBJ);
- $this->usuario = $this->consultar->usuario;
- $this->correo = $this->consultar->correo;
- $this->creditos = $this->consultar->creditos;
- }
- public function ActualizarPerfil($id, $usuario) {
- $this->id = $id;
- $this->us = $usuario;
- if (!empty($this->us)) {
- $this->us = filter_var($this->us, FILTER_SANITIZE_STRING);
- $this->us = addslashes($this->us);
- $this->v_us = true;
- } else { $this->v_us = false; }
- if ($this->v_us) {
- $this->actualizar = $this->con->prepare('update usuarios set usuario=:us where id=:id');
- $this->actualizar->execute(array(':us' => $this->us, ':id' => $this->id));
- $this->actualizado = true;
- } else { $this->actualizado = false; }
- }
- }
- class ActualizarContrasena {
- protected $id, $consultar, $con;
- public $contrasena_actual, $con_a_si, $cambio;
- public $contrasena_nueva, $con_n_si, $contrasena_nueva_rep, $con_n_r_si;
- private $datos;
- public function __construct($id, $contrasena_actual, $contrasena_nueva, $contrasena_nueva_r) {
- $this->con = new Conectar();
- $this->id = $id;
- $this->contrasena_actual = $contrasena_actual;
- $this->contrasena_nueva = $contrasena_nueva;
- $this->contrasena_nueva_rep = $contrasena_nueva_r;
- }
- public function Verificar() {
- if (!empty($this->contrasena_actual)) {
- $this->con_a_si = true;
- } else {
- $this->con_a_si = false;
- }
- if (!empty($this->contrasena_nueva)) {
- $this->con_n_si = true;
- } else {
- $this->con_n_si = false;
- }
- if (!empty($this->contrasena_nueva_rep)) {
- $this->con_n_r_si = true;
- } else {
- $this->con_n_r_si = false;
- }
- }
- public function Actualizar() {
- $this->consultar = $this->con->prepare('select contrasena from usuarios where id=:id');
- $this->consultar->execute( array(':id' => $this->id) );
- $this->datos = $this->consultar->fetch(PDO::FETCH_OBJ);
- if (password_verify($this->contrasena_actual, $this->datos->contrasena)) {
- if ($this->contrasena_nueva == $this->contrasena_nueva_rep) {
- //ACTUALIZAR
- $this->contrasena_nueva = password_hash($this->contrasena_nueva, PASSWORD_DEFAULT, array("cost"=>12));
- $this->consultar = $this->con->prepare('update usuarios set contrasena=:contrasena where id=:id');
- $this->consultar->execute( array(':contrasena' => $this->contrasena_nueva, ':id' => $this->id) );
- $this->cambio = true;
- } else { $this->cambio = false; }
- } else { $this->cambio = false; }
- }
- public function __destruct() {
- $this->con = null;
- $this->consultar = null;
- }
- }
- class Enlace {
- protected $con, $consultar, $insertar, $consultar_enlaces;
- private $id_creador, $url, $llegada, $si_url, $si_llegada;
- public $insertado;
- public function __construct() {
- $this->con = new Conectar();
- }
- public function Nuevo($id_creador, $url, $llegada) {
- $this->id_creador = $id_creador;
- $this->url = $url;
- $this->llegada = $llegada;
- if (!empty($this->url)) {
- $this->url = filter_var($this->url, FILTER_SANITIZE_URL);
- $this->url = trim($this->url);
- $this->si_url = true;
- } else { $this->si_url = false; }
- if (!empty($this->llegada)) {
- $this->llegada = filter_var($this->llegada, FILTER_SANITIZE_URL);
- $this->si_llegada = true;
- } else { $this->si_llegada = false; }
- if ($this->si_url AND $this->si_llegada) {
- $this->consultar = $this->con->prepare('select * from enlaces where enlace=:url');
- $this->consultar->execute(array(':url' => $this->url));
- $this->consultar = $this->consultar->fetch(PDO::FETCH_OBJ);
- $this->consultar_enlaces = $this->con->prepare('select count(*) from enlaces where id_creador=:creador');
- $this->consultar_enlaces->execute(array(':creador' => $this->id_creador));
- $this->consultar_enlaces = $this->consultar_enlaces->fetchColumn();
- if (!$this->consultar AND $this->consultar_enlaces < 10) {
- $this->insertar = $this->con->prepare('insert into enlaces set id_creador=:usuario, enlace=:url, llegada=:llegada');
- $this->insertar->execute(array(':usuario' => $this->id_creador, ':url' => $this->url, ':llegada' => $this->llegada));
- $this->insertado = true;
- } else { $this->insertado = false; }
- } else { $this->insertado = false; }
- }
- protected $consultar_todos, $consultar_visitas;
- private $id_enlace_visitas;
- public $datos, $total_vistas;
- public function Todos($id) {
- $this->id = $id;
- $this->consultar_todos = $this->con->prepare('select * from enlaces where id_creador=:id');
- $this->consultar_todos->execute(array(':id' => $this->id));
- $this->datos = $this->consultar_todos->fetchAll();
- }
- public function Visitas($id_enlace_visitas) {
- $this->id_enlace_visitas = $id_enlace_visitas;
- $this->consultar_visitas = $this->con->prepare('select count(*) from vistas where id_enlace=:id');
- $this->consultar_visitas->execute(array(':id' => $this->id_enlace_visitas));
- $this->total_vistas = $this->consultar_visitas->fetchColumn();
- }
- public $editar_enlace, $enlace_editar, $llegada_editar, $visibilidad_editar;
- public function Editar($id_creador, $id) {
- $this->id = $id;
- $this->id_creador = $id_creador;
- $this->consultar = $this->con->prepare('select id, enlace, llegada, visibilidad from enlaces where id=:id and id_creador=:id_creador');
- $this->consultar->execute(array(':id' => $this->id, ':id_creador' => $this->id_creador));
- $this->editar_enlace = $this->consultar->fetch(PDO::FETCH_OBJ);
- if ($this->editar_enlace) {
- $this->enlace_editar = $this->editar_enlace->enlace;
- $this->llegada_editar = $this->editar_enlace->llegada;
- $this->visibilidad_editar = $this->editar_enlace->visibilidad;
- } else {
- $this->enlace_editar = null;
- $this->llegada_editar = null;
- }
- }
- protected $actualizar_enlace, $consultar_enlace;
- private $visibilidad_e, $si_visibilidad_e;
- public $en_actualizado;
- public function EditarEnlace($id_creador, $id, $url, $llegada, $visibilidad) {
- $this->id_creador = $id_creador;
- $this->id = $id;
- $this->url = $url;
- $this->llegada = $llegada;
- $this->visibilidad_e = $visibilidad;
- if (!empty($this->url)) {
- $this->url = filter_var($this->url, FILTER_SANITIZE_URL);
- $this->si_url = true;
- } else { $this->si_url = false; }
- if (!empty($this->llegada)) {
- $this->llegada = filter_var($this->llegada, FILTER_SANITIZE_URL);
- $this->si_llegada = true;
- } else { $this->si_llegada = false; }
- if (!empty($this->visibilidad_e)) {
- $this->visibilidad_e = filter_var($this->visibilidad_e, FILTER_SANITIZE_NUMBER_INT);
- $this->si_visibilidad_e = true;
- } else { $this->si_visibilidad_e = false; }
- if ($this->si_url AND $this->si_llegada AND $this->si_visibilidad_e) {
- $this->actualizar_enlace = $this->con->prepare('update enlaces set enlace=:url, llegada=:llegada, visibilidad=:visi where id=:id and id_creador=:creador');
- $this->actualizar_enlace->execute(array(':url' => $this->url, ':llegada' => $this->llegada, ':visi' => $this->visibilidad_e, ':id' => $this->id, ':creador' => $this->id_creador));
- $this->en_actualizado = true;
- } else { $this->en_actualizado = false; }
- }
- }
- class EnlaceUsuario {
- protected $con, $ver, $id_usuario, $consultar_creador;
- public $enlace, $creador, $nombre_creador, $no;
- public function __construct() {
- $this->con = new Conectar();
- }
- public function MostrarEnlace($id_usuario, $id) {
- $this->id_usuario = $id_usuario;
- $this->id = $id;
- $this->ver = $this->con->prepare('select * from enlaces where id=:id');
- $this->ver->execute(array(':id' => $this->id));
- $this->ver = $this->ver->fetch(PDO::FETCH_OBJ);
- if ($this->ver) {
- $this->enlace = $this->ver->enlace;
- $this->creador = $this->ver->id_creador;
- $this->consultar_creador = $this->con->prepare('select usuario from usuarios where id=:id');
- $this->consultar_creador->execute(array(':id' => $this->creador));
- $this->consultar_creador = $this->consultar_creador->fetch(PDO::FETCH_OBJ);
- if ($this->consultar_creador) {
- $this->nombre_creador = $this->consultar_creador->usuario;
- } else { $this->nombre_creador = 'Desconocido'; }
- $this->no = true;
- } else { $this->no = false; }
- }
- protected $consultar_valides, $rebajar_creditos, $sumar_creditos, $reportar_vista, $consultar_saldo;
- private $id_usuario_cobro, $id, $enlace_cobro;
- public $entrada_enlace, $proceso;
- public function Verificar($id_usuario, $id, $enlace) {
- $this->id_usuario_cobro = $id_usuario; //ID DEL USUARIO QUE VE EL ANUNCIO
- $this->id = $id; //ID DEL ENLACE - URL
- $this->enlace_cobro = $enlace; //URL PARA VERIFICAR
- if (!empty($this->enlace_cobro)) {
- $this->enlace_cobro = filter_var($this->enlace_cobro, FILTER_SANITIZE_URL);
- $this->enlace_cobro = trim($this->enlace_cobro);
- $this->consultar_valides = $this->con->prepare('select * from enlaces where id=:id');
- $this->consultar_valides->execute(array(':id' => $this->id));
- $this->consultar_valides = $this->consultar_valides->fetch(PDO::FETCH_OBJ);
- if ($this->consultar_valides->llegada == $this->enlace_cobro) {
- //CONSULTAR QUE EL USUARIO SI PUEDA PAGAR
- $this->consultar_saldo = $this->con->prepare('select creditos from usuarios where id=:id');
- $this->consultar_saldo->execute(array(':id' => $this->consultar_valides->id_creador));
- $this->consultar_saldo = $this->consultar_saldo->fetch(PDO::FETCH_OBJ);
- if ($this->consultar_saldo->creditos >= 1) {
- //REBAJAR PUNTOS
- $this->rebajar_creditos = $this->con->prepare('update usuarios set creditos=creditos-:cre where id=:id');
- $this->rebajar_creditos->execute(array(':cre' => 1, ':id' => $this->consultar_valides->id_creador));
- //SUMAR PUNTOS
- $this->sumar_creditos = $this->con->prepare('update usuarios set creditos=creditos+:cre where id=:id');
- $this->sumar_creditos->execute(array(':cre' => 1, ':id' => $this->id_usuario_cobro));
- //REPORTAR VISTA
- $this->reportar_vista = $this->con->prepare('insert into vistas set id_enlace=:enlace, id_usuario=:usuario');
- $this->reportar_vista->execute(array(':enlace' => $this->id, ':usuario' => $this->id_usuario_cobro));
- $this->proceso = true;
- } else { $this->proceso = false; }
- } else { $this->proceso = false; }
- } else { $this->proceso = false; }
- }
- }
- class ProteccionEnlace {
- protected $con, $consultar, $consultar_creditos;
- private $id_usuario, $id_enlace, $valor, $id_creador;
- public $estado, $creditos;
- public function __construct() {
- $this->con = new Conectar();
- }
- public function Boton($id_enlace, $id_usuario) {
- $this->id_enlace = $id_enlace;
- $this->id_usuario = $id_usuario;
- $this->consultar = $this->con->prepare('select count(*) from vistas where id_enlace=:enlace and id_usuario=:usuario');
- $this->consultar->execute(array(':enlace' => $this->id_enlace, ':usuario' => $this->id_usuario));
- $this->valor = $this->consultar->fetchColumn();
- if ($this->valor >= 1) {
- return $this->estado = true;
- } else {
- return $this->estado = false;
- }
- }
- public function Creditos($id_creador) {
- $this->id_creador = $id_creador;
- $this->consultar_creditos = $this->con->prepare('select creditos from usuarios where id=:id');
- $this->consultar_creditos->execute(array(':id' => $this->id_creador));
- $this->consultar_creditos = $this->consultar_creditos->fetch(PDO::FETCH_OBJ);
- if ($this->consultar_creditos) {
- $this->creditos = $this->consultar_creditos->creditos;
- } else { $this->creditos = 0; }
- }
- }
- class Top {
- protected $con, $consultar;
- public $datos;
- public function __construct() {
- $this->con = new Conectar();
- }
- public function Mostrar() {
- $this->consultar = $this->con->prepare('select usuario, creditos from usuarios order by creditos desc limit 0,10');
- $this->consultar->execute();
- $this->datos = $this->consultar->fetchAll();
- }
- public function __destruct() {
- $this->con = null;
- }
- }
- class Reporte {
- protected $con, $insertar;
- private $id_usuario; //ID DEL USUARIO REPORTADOR
- private $id_enlace; //ID DEL ENLACE A REPORTAR
- private $razon; //ID DE LA RAZON
- public $reporte;
- public function __construct() {
- $this->con = new Conectar();
- }
- public function Nuevo($id_usuario, $id_enlace, $razon) {
- $this->id_usuario = $id_usuario;
- $this->id_enlace = $id_enlace;
- $this->razon = $razon;
- if ($this->razon > 5) {
- $this->reporte = false;
- } else {
- $this->razon = filter_var($this->razon, FILTER_SANITIZE_NUMBER_INT);
- $this->insertar = $this->con->prepare('insert into reportes set id_enlace=:enlace, id_usuario=:usuario, razon=:ra');
- $this->insertar->execute(array(':enlace' => $this->id_enlace, ':usuario' => $this->id_usuario, ':ra' => $this->razon));
- $this->reporte = true;
- }
- }
- }
- ?>