primer commit
This commit is contained in:
73
server/DB.class.php
Normal file
73
server/DB.class.php
Normal file
@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Clase para utilizar la base de datos
|
||||
* 1.1v
|
||||
*/
|
||||
class DB {
|
||||
//Variables
|
||||
public static $DB_HOST = 'localhost';
|
||||
public static $DB_USER = 'root';
|
||||
public static $DB_PASS = '9578';
|
||||
public static $DB_TYPE = 'mysql';
|
||||
public static $DB_NOM = 'logrosDeLaVida';
|
||||
private $sQuery;
|
||||
private $aRows = array();
|
||||
private $conn;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct() {
|
||||
}
|
||||
/**
|
||||
* Método que conecta con la base de datos
|
||||
*/
|
||||
private function abrirConexion() {
|
||||
$this->conn = new PDO(self::$DB_TYPE . ':host=' . self::$DB_HOST
|
||||
. ';dbname=' . self::$DB_NOM, self::$DB_USER, self::$DB_PASS);
|
||||
}
|
||||
/**
|
||||
* Método que desconecta de la base de datos
|
||||
*/
|
||||
private function cerrarConexion() {
|
||||
$this->conn = null;
|
||||
}
|
||||
/**
|
||||
* Método que ejecutar un query simple del tipo INSERT, DELETE, UPDATE
|
||||
* @param String $insSQL Sentencia SQL
|
||||
*/
|
||||
public function ejecutarQuery($insSQL) {
|
||||
$this->sQuery = $insSQL;
|
||||
$this->abrirConexion();
|
||||
$this->conn->query($this->sQuery);
|
||||
$this->cerrarConexion();
|
||||
}
|
||||
/**
|
||||
* Método que traer resultados de una consulta en un Array
|
||||
* @param String $insSQL Sentencia SQL
|
||||
* @return Array array con los valores de la BBDD que cumplen la query
|
||||
*/
|
||||
public function obtenerResultado($insSQL){
|
||||
$this->sQuery = $insSQL;
|
||||
$this->abrirConexion();
|
||||
$result = array();
|
||||
|
||||
foreach ($this->conn->query($this->sQuery) as $row) {
|
||||
array_push($result, $row);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Método que cuenta los resultados de una consulta Select
|
||||
* @param String $insSQL Sentencia SQL
|
||||
* @return int número de consultas que cumplen la query
|
||||
*/
|
||||
public function contarResultadosQuery($insSQL){
|
||||
$result = count($this->obtenerResultado($insSQL));
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
28
server/identificarUsuario.php
Normal file
28
server/identificarUsuario.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
if(isset($_GET['alias']) && isset($_GET['pass']) && isset($_GET['callback'])) {
|
||||
//Bibliotecas
|
||||
require 'DB.class.php';
|
||||
|
||||
//Variables
|
||||
$sAlias = $_GET['alias'];
|
||||
$sPass = $_GET['pass'];
|
||||
$sSQL = 'SELECT id, count(id) AS numero FROM usuarios WHERE alias
|
||||
= \'' . $sAlias . '\' AND password = \'' . $sPass . '\'';
|
||||
$miDB = new DB();
|
||||
$aFinal;
|
||||
|
||||
//Obtener resultados
|
||||
$aRes = $miDB->obtenerResultado($sSQL);
|
||||
if($aRes[0]['numero'] > 0) {
|
||||
$aFinal = array('usuario' => $aRes[0]['id']);
|
||||
} else {
|
||||
$aFinal = array('usuario' => '0');
|
||||
}
|
||||
|
||||
//Devuelve JSON
|
||||
header('Content-Type: application/json');
|
||||
echo $_GET['callback'] .'(' . json_encode($aFinal) . ')';
|
||||
}
|
||||
|
||||
?>
|
194
server/logrosDeLaVida.sql
Normal file
194
server/logrosDeLaVida.sql
Normal file
@ -0,0 +1,194 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 4.2.5
|
||||
-- http://www.phpmyadmin.net
|
||||
--
|
||||
-- Servidor: localhost
|
||||
-- Tiempo de generación: 18-07-2014 a las 14:31:25
|
||||
-- Versión del servidor: 10.0.12-MariaDB-log
|
||||
-- Versión de PHP: 5.5.14
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
|
||||
--
|
||||
-- Base de datos: `logrosDeLaVida`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Estructura de tabla para la tabla `logros`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `logros` (
|
||||
`id` int(3) unsigned NOT NULL,
|
||||
`titulo` varchar(100) COLLATE utf8_bin NOT NULL,
|
||||
`descripcion` varchar(300) COLLATE utf8_bin NOT NULL,
|
||||
`icono` varchar(100) COLLATE utf8_bin NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=61 ;
|
||||
|
||||
--
|
||||
-- Volcado de datos para la tabla `logros`
|
||||
--
|
||||
|
||||
INSERT INTO `logros` (`id`, `titulo`, `descripcion`, `icono`) VALUES
|
||||
(1, 'Bienvenido al mundo', 'Nace', 'child'),
|
||||
(2, 'Carrera suave', 'Corre durante 20 min', 'road'),
|
||||
(3, 'Carrera fuerte', 'Corre una media maratón.', 'road'),
|
||||
(4, '¡Avisa a Atenas!', 'Corre un maratón.', 'road'),
|
||||
(5, 'Semidios', 'Corre una Ironman.', 'road'),
|
||||
(6, 'Primer beso', 'Da tu primer beso.', 'heart'),
|
||||
(7, 'No soy virgen', 'Haz el amor con otra persona.', 'heart'),
|
||||
(8, 'Somos novios', 'Ten una pareja.', 'heart'),
|
||||
(9, '¡Puedo cambiar!', 'Tu pareja corta contigo.', 'heart'),
|
||||
(10, 'No eres tú, soy yo', 'Deja a tu pareja.', 'heart'),
|
||||
(11, 'Familia secreta', 'Ten dos familias, y que ninguna sepa de la otra.', 'user'),
|
||||
(12, 'Solo te veo como amigo', 'Rechaza a una persona que te declare su amor.', 'heart-o'),
|
||||
(13, 'Te quiero', 'Declara tu amor.', 'heart'),
|
||||
(14, 'Trio flojo', 'Haz el amor con dos personas a la vez, una de ella del género que te atraiga sexualmente.', 'users'),
|
||||
(15, 'Trio potente', 'Haz el amor con dos personas a la vez, ambas del género que te atraiga sexualmente.', 'users'),
|
||||
(16, 'Incesto', 'Ten relaciones sexuales con tu hermano.', 'minus-circle'),
|
||||
(17, 'Asesino', 'Mata a una o varias personas.', 'gavel'),
|
||||
(18, 'Crimen perfecto', 'Mata a una o varias personas y que no te pillen.', 'magic'),
|
||||
(19, 'Mentiroso', 'Di una mentira.', 'comment'),
|
||||
(20, 'Corazón de oro', 'Colabora con una ONG.', 'smile-o'),
|
||||
(21, 'La cima', 'Sube a la cima de una montaña.', 'tree'),
|
||||
(22, 'Playa', 'Ves a una playa.', 'life-ring'),
|
||||
(23, 'Independiente', 'Buscate una casa.', 'building'),
|
||||
(24, '¡Todo al rojo!', 'Juega en un casino.', 'money'),
|
||||
(25, 'Contratado', 'Consigue un empleo.', 'file-text'),
|
||||
(26, 'Fue un placer', 'Deja tu trabajo de buenas formas.', 'file-text'),
|
||||
(27, '¡Qué te den!', 'Deja tu trabajo de malas formas.', 'file-text'),
|
||||
(28, 'Businessman', 'Crea tu propia empresa.', 'suitcase'),
|
||||
(29, 'Marco polo', 'Viaja a todos los continentes salvo a la Antártida.', 'plane'),
|
||||
(30, '¡No me haga daño!', 'Deja que te roben la cartera.', 'credit-card'),
|
||||
(31, 'Club de la lucha', 'Pelea a puñetazos con alguien.', 'hand-o-right'),
|
||||
(32, 'Solo son negocios', 'Crea una mafia.', 'suitcase'),
|
||||
(33, '¡Código rojo!', 'Visita urgencias.', 'ambulance'),
|
||||
(34, '¿Es el bar de Moe?', 'Gasta una broma telefónica.', 'phone'),
|
||||
(35, 'Aprobado', 'Realiza y aprueba primaria.', 'graduation-cap'),
|
||||
(36, 'Bien', 'Realiza y aprueba la ESO.', 'graduation-cap'),
|
||||
(37, 'Notable', 'Realiza y aprueba Bachillerato.', 'graduation-cap'),
|
||||
(38, 'Sobresaliente', 'Realiza y aprueba una Licenciatura.', 'graduation-cap'),
|
||||
(39, 'Matrícula', 'Realiza y aprueba una Diplomatura.', 'graduation-cap'),
|
||||
(40, 'Cuadro de honor', 'Realiza y aprueba un Doctorado.', 'graduation-cap'),
|
||||
(41, 'Camino fácil', 'Copia en un exámen.', 'eye'),
|
||||
(42, 'Shespier', 'Escribe una obra de teatro.', 'comments-o'),
|
||||
(43, 'Cervantes', 'Escribe un libro.', 'book'),
|
||||
(44, 'Miyamoto', 'Programa un videojuego', 'gamepad'),
|
||||
(45, 'Chaplin', 'Realiza un cortometraje.', 'film'),
|
||||
(46, 'Kubrick', 'Realiza un largometraje.', 'film'),
|
||||
(47, 'Neruda', 'Escribe un poema.', 'pencil-square-o'),
|
||||
(48, 'Palomitas', 'Ves al cine.', 'ticket'),
|
||||
(49, 'Se abre el telon', 'Ves al teatro.', 'ticket'),
|
||||
(50, 'No dar de comer', 'Ves a un zoológico.', 'paw'),
|
||||
(51, 'Unos largos', 'Aprende a nadar', 'life-ring'),
|
||||
(52, '¡Clin, clin!', 'Aprende a ir en bicicleta.', 'dot-circle-o'),
|
||||
(53, 'Voy motorizado', 'Aprende a conducir.', 'car'),
|
||||
(54, 'Red de redes', 'Navega por Internet.', 'laptop'),
|
||||
(55, 'Crece', 'Ten un hijo.', 'child'),
|
||||
(56, 'Oxigena', 'Planta un árbol.', 'tree'),
|
||||
(57, 'Internet para todos', 'Navega 30 min en Internet sin ver nada de pornografía.', 'minus-circle'),
|
||||
(58, 'Mark Zuckerberg', 'Crea una cuenta de Facebook y habla con un amigo.', 'facebook'),
|
||||
(59, 'Ego', 'Busca tu nombre en Google.', 'google'),
|
||||
(60, 'Game over', 'Muere.', 'user-md');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Estructura de tabla para la tabla `realizaron`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `realizaron` (
|
||||
`id_usuario` int(8) NOT NULL,
|
||||
`id_logro` int(3) NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
--
|
||||
-- Volcado de datos para la tabla `realizaron`
|
||||
--
|
||||
|
||||
INSERT INTO `realizaron` (`id_usuario`, `id_logro`) VALUES
|
||||
(1, 1),
|
||||
(1, 2),
|
||||
(1, 3),
|
||||
(1, 4),
|
||||
(2, 1),
|
||||
(3, 1),
|
||||
(3, 3),
|
||||
(3, 5),
|
||||
(3, 8),
|
||||
(3, 10),
|
||||
(3, 11),
|
||||
(3, 12),
|
||||
(3, 13),
|
||||
(3, 14),
|
||||
(3, 15);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Estructura de tabla para la tabla `usuarios`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `usuarios` (
|
||||
`id` int(8) unsigned NOT NULL,
|
||||
`alias` varchar(50) COLLATE utf8_bin NOT NULL,
|
||||
`password` varchar(32) COLLATE utf8_bin NOT NULL,
|
||||
`correo` varchar(100) COLLATE utf8_bin NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=4 ;
|
||||
|
||||
--
|
||||
-- Volcado de datos para la tabla `usuarios`
|
||||
--
|
||||
|
||||
INSERT INTO `usuarios` (`id`, `alias`, `password`, `correo`) VALUES
|
||||
(1, 'Andros', '1234', 'correoandros@gmail.com'),
|
||||
(2, 'bot', '1234', 'correo@fff.es'),
|
||||
(3, 'bot2', '1234', 'asdfas@dfd.es');
|
||||
|
||||
--
|
||||
-- Índices para tablas volcadas
|
||||
--
|
||||
|
||||
--
|
||||
-- Indices de la tabla `logros`
|
||||
--
|
||||
ALTER TABLE `logros`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- Indices de la tabla `realizaron`
|
||||
--
|
||||
ALTER TABLE `realizaron`
|
||||
ADD PRIMARY KEY (`id_usuario`,`id_logro`);
|
||||
|
||||
--
|
||||
-- Indices de la tabla `usuarios`
|
||||
--
|
||||
ALTER TABLE `usuarios`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT de las tablas volcadas
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT de la tabla `logros`
|
||||
--
|
||||
ALTER TABLE `logros`
|
||||
MODIFY `id` int(3) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=61;
|
||||
--
|
||||
-- AUTO_INCREMENT de la tabla `usuarios`
|
||||
--
|
||||
ALTER TABLE `usuarios`
|
||||
MODIFY `id` int(8) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
27
server/modificarRealizados.php
Normal file
27
server/modificarRealizados.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
if(isset($_GET['usuario']) && isset($_GET['logro']) && isset($_GET['realizado'])) {
|
||||
//Bibliotecas
|
||||
require 'DB.class.php';
|
||||
|
||||
//Variables
|
||||
$iIdUsu = $_GET['usuario'];
|
||||
$iIdLog = $_GET['logro'];
|
||||
$iReal = $_GET['realizado'];
|
||||
$sSQLInsertar = "INSERT INTO realizaron VALUES ('$iIdUsu', '$iIdLog')";
|
||||
$sSQLBorrar = "DELETE FROM realizaron WHERE id_usuario = $iIdUsu AND id_logro = $iIdLog";
|
||||
$miDB = new DB();
|
||||
|
||||
if($iReal == 1) {
|
||||
$miDB->ejecutarQuery($sSQLInsertar);
|
||||
} else {
|
||||
$miDB->ejecutarQuery($sSQLBorrar);
|
||||
}
|
||||
|
||||
//Devuelve JSON
|
||||
header('Content-Type: application/json');
|
||||
$aRespuesta = array('ok');
|
||||
echo $_GET['callback'] .'(' .json_encode($aRespuesta) . ')';
|
||||
}
|
||||
|
||||
?>
|
36
server/obtenerLogros.php
Normal file
36
server/obtenerLogros.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
if(isset($_GET['usuario'])) {
|
||||
//Bibliotecas
|
||||
require 'DB.class.php';
|
||||
|
||||
//Variables
|
||||
$iIdUsu = $_GET['usuario'];
|
||||
$sSQLLogros = 'SELECT id, titulo, descripcion, icono FROM logros';
|
||||
$sSQLSelec = 'SELECT id_logro FROM realizaron WHERE id_usuario = ' . $iIdUsu;
|
||||
$miDB = new DB();
|
||||
$aFinal;
|
||||
|
||||
//Obtiene logros
|
||||
$aFinal = $miDB->obtenerResultado($sSQLLogros);
|
||||
|
||||
//Obtiene los seleccionados
|
||||
$aSelec = $miDB->obtenerResultado($sSQLSelec);
|
||||
|
||||
//Mezcla los seleccionados
|
||||
foreach ($aFinal as $key => $value) {
|
||||
//Añade un nuevo campo
|
||||
$aFinal[$key]['realizaron'] = 0;
|
||||
foreach($aSelec as $key2 => $value2) {
|
||||
if($value2['id_logro'] == $aFinal[$key]['id']) {
|
||||
$aFinal[$key]['realizaron'] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Devuelve JSON
|
||||
header('Content-Type: application/json');
|
||||
echo $_GET['callback'] .'(' .json_encode($aFinal) . ')';
|
||||
}
|
||||
|
||||
?>
|
20
server/topMundial.php
Normal file
20
server/topMundial.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
if(isset($_GET['callback'])) {
|
||||
//Bibliotecas
|
||||
require 'DB.class.php';
|
||||
|
||||
//Variables
|
||||
$sSQL = 'SELECT usuarios.id, usuarios.alias, count(realizaron.id_usuario) AS num_logros FROM realizaron, usuarios WHERE realizaron.id_usuario = usuarios.id GROUP BY realizaron.id_usuario ORDER BY count(realizaron.id_usuario) DESC LIMIT 0, 100';
|
||||
$miDB = new DB();
|
||||
$aFinal;
|
||||
|
||||
//Obtiene logros
|
||||
$aFinal = $miDB->obtenerResultado($sSQL);
|
||||
|
||||
//Devuelve JSON
|
||||
header('Content-Type: application/json');
|
||||
echo $_GET['callback'] .'(' .json_encode($aFinal) . ')';
|
||||
}
|
||||
|
||||
?>
|
Reference in New Issue
Block a user