Esempio n. 1
0
 public function setEnabled(ConnectionDB $connection, $enabled)
 {
     $params = [$this->email, $enabled];
     $query = "CALL sp_enableUser(?,?)";
     $connection->statementQuery($query, $params);
     $this->enabled = $enabled;
 }
Esempio n. 2
0
 /**
  * Fixer la configuration de la connexion à la BD.
  * @param string $dsn DNS pour la connexion BD.
  * @param string $username Utilisateur pour la connexion BD.
  * @param string $password Mot de passe pour la connexion BD.
  * @param array $driver_options Options du pilote BD.
  *
  * @return void
  */
 public static function setConfiguration($dsn, $username = '', $password = '', array $driver_options = array())
 {
     self::$_DSN = $dsn;
     self::$_username = $username;
     self::$_password = $password;
     self::$_driverOptions = $driver_options + self::$_driverOptions;
 }
Esempio n. 3
0
 public static function getInstance()
 {
     if (self::$_instance === null) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Esempio n. 4
0
 public static function updateMessage($message)
 {
     $consulta = "UPDATE " . self::NAME_TABLE . " SET " . self::DESCRIPTION . "=?" . " WHERE " . self::ID . "=1";
     $sentencia = ConnectionDB::getInstance()->getDB()->prepare($consulta);
     $sentencia->bindParam(1, $message);
     $sentencia->execute();
     return $sentencia->rowCount();
 }
Esempio n. 5
0
 public static function getAppId($appKey)
 {
     $command = "SELECT " . self::ID . " FROM " . self::NAME_TABLE . " WHERE " . self::ACCESS_KEY . "=?";
     $sentence = ConnectionDB::getInstance()->getDB()->prepare($command);
     $sentence->bindParam(1, $appKey);
     if ($sentence->execute()) {
         $result = $sentence->fetch();
         return $result['id'];
     } else {
         return null;
     }
 }
Esempio n. 6
0
 public function getResult()
 {
     $connectionDB = ConnectionDB::getInstance();
     $mysqli = $connectionDB::connect();
     $table = 'math_correct_answers';
     $allAnswers = array();
     $query = Mysqli_query($mysqli, "\n            SELECT `sum_id`, `answer` FROM {$table}\n        ");
     while ($row = mysqli_fetch_assoc($query)) {
         $allAnswers[$row['sum_id']] = $row['answer'];
     }
     $resultArray = array_intersect_assoc($allAnswers, $_SESSION['answers']);
     $data = array();
     $data['correctAnswers'] = count($resultArray);
     $data['allAnswers'] = count($allAnswers);
     $data = json_encode($data);
     echo $data;
 }
Esempio n. 7
0
 public function deleteSum()
 {
     $connectionDB = ConnectionDB::getInstance();
     $mysqli = $connectionDB::connect();
     $id = $_POST['id'];
     $response = '';
     $query = Mysqli_query($mysqli, "DELETE FROM math_sums WHERE id = " . $id);
     if ($query) {
         $response .= 'Deleted test ' . $id . 'from math_sums. ';
     } else {
         exit(mysqli_error($mysqli));
     }
     $query = Mysqli_query($mysqli, "DELETE FROM math_correct_answers WHERE sum_id = " . $id);
     if ($query) {
         $response .= 'Deleted test ' . $id . 'from math_correct_answers. ';
     } else {
         exit(mysqli_error($mysqli));
     }
     echo $response;
 }
Esempio n. 8
0
 public static function updateMoney($idUser, $idMoney, $price)
 {
     $pdo = ConnectionDB::getInstance()->getDB();
     $command = "INSERT INTO dp_history_money (price,id_money,id_user) VALUES(?,?,?)";
     $sentencia = $pdo->prepare($command);
     $sentencia->bindParam(1, $price);
     $sentencia->bindParam(2, $idMoney);
     $sentencia->bindParam(3, $idUser);
     $sentencia->execute();
     return $sentencia->rowCount();
 }
Esempio n. 9
0
<?php

require_once './lib/player.php';
require_once './lib/connectionDB.php';
session_start();
//Creamos un objeto de bd (Crea la conexión).
$connec = new ConnectionDB();
/*Cada vez que incluyamos este código, se validará si hay una sesión iniciada.
 	Si no hay sesión iniciada nos redirige al formulario inicial de registro de jugador.*/
if (!isset($_SESSION['player']) && isset($_POST['login'])) {
    if (isset($_POST['name']) && isset($_POST['lastname']) && isset($_POST['age'])) {
        if ($connec->checkConnection() === 'ok') {
            $player = new Player($_POST['name'], $_POST['lastname'], $_POST['age']);
            $_SESSION['player'] = $player;
            $connec->checkPlayer($player->getName(), $player->getLastName(), $player->getAge());
        } else {
            //$_SESSION['errorDB'] = "error";
            $_SESSION['errorDB'] = $connec;
            header('location: index.php');
        }
    } else {
        //Si los datos del formulario no están completos volvemos al formulario inicial de login.
        header('location: index.php');
    }
}
//Esto sucede cuando venimos del formulario de modificación de datos del usuario.
if (isset($_POST['newdata'])) {
    if (isset($_POST['newname']) && isset($_POST['newlastname']) && isset($_POST['newage'])) {
        //Extraemos el jugador de la sesión y seteamos los nuevos datos.
        $player = $_SESSION['player'];
        //Actualizamos la bd con los nuevos datos del jugador.
Esempio n. 10
0
<?php

session_start();
require_once './lib/connectionDB.php';
require_once './lib/page.php';
//Si quisieramos volver al formulario inicial con una sesión iniciada, nos redirige al juego.
if (isset($_SESSION['player'])) {
    header('location: play.php');
}
$pageIndex = new Page();
echo $pageIndex->getHeaderIndex();
//Si la sesión tiene valor de error de conexión, mostraremos una ventana modal con info.
if (isset($_SESSION['errorDB'])) {
    $connec = new ConnectionDB();
    $connec->checkConnection();
    $connec->showMessage('connect', null, null);
    //destruimos la sesión para limpiar todo.
    session_destroy();
}
?>
  <body onload="showModalWindow()">
    <div class="container">
      <form class="form-signin" action="play.php" method="post" style="visibility='hidden';">
        <h2 class="form-signin-heading"><span class='glyphicon glyphicon-user'></span> Introduce tus datos</h2>
        <div class="form-group">
        <div class="input-group">
            <span class="input-group-addon">Nombre:</span>
            <input type="text" name="name" id="name" class="form-control" required autofocus>
            <input type="hidden" name="login">
          </div>
        </div>
Esempio n. 11
0
<?php

/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 * Description of conectar
 *
 * @author tato
 */
include "ConnectionDB.php";
$connector = new ConnectionDB($_POST["host"], $_POST["db"], $_POST["user"], $_POST["pwd"]);
$connector->connectMySQL();
//conecto con la bd
$sqlInsert = "INSERT INTO table1(attribute) VALUES (\"value_0\"), (\"value_1\")";
$q1 = $connector->query($sqlInsert);
//inserto 2 valores
if ($q1) {
    echo "<br><p>Insersión exitosa.<br>Se insertaron los valores:\n                value_0 y value_1.<br>Con la consulta: {$sqlInsert}";
}
echo "<br><p>Creando Array...";
$values = array("array_value_0", "array_value_1");
echo "<br><p>Array creado.";
$query = "INSERT INTO table1(attribute) VALUES ";
$resultInsert = $connector->mysql_array_to_insert($query, $values);
echo "<br><p>Insersión ralizada.  Resultado: {$resultInsert}";
$sqlSelect = "SELECT * FROM table1";
$resultSelect = $connector->query($sqlSelect);
//consulto table1
if ($resultSelect) {
Esempio n. 12
0
 function _destructor()
 {
     self::$pdo = null;
 }
Esempio n. 13
0
 public static function getUserByUsername($username)
 {
     $comando = "SELECT " . self::USERNAME . "," . self::PASSWORD . "," . self::API_KEY . " FROM " . self::NAME_TABLE . " WHERE " . self::USERNAME . "=?";
     $sentencia = ConnectionDB::getInstance()->getDB()->prepare($comando);
     $sentencia->bindParam(1, $username);
     if ($sentencia->execute()) {
         return $sentencia->fetch(PDO::FETCH_ASSOC);
     } else {
         return null;
     }
 }
-------------------------------------------------------------------------

LICENSE

This file is part of the ProjectS3.

This is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

this software is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this software. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
*/
ConnectionDB::beginTransaction();
try {
    // TRANSACTION CODE HERE
    // toutes les modifications de la table suite à un formulaire doivent
    // se trouver dans une transaction comme celle ci
    // cela permet une meilleure efficacité de la BD
} catch (Exception $e) {
    ConnectionDB::rollback();
}
ConnectionDB::commit();
Esempio n. 15
0
 public static function change_position($id1, $id2)
 {
     $pdo = ConnectionDB::getInstance()->getDB();
     $command = "UPDATE " . self::NAME_TABLE . " t1, " . self::NAME_TABLE . " t2 SET t1." . self::POSITION . "=t2." . self::POSITION . ", t2." . self::POSITION . "=t1." . self::POSITION . " WHERE t1." . self::ID_PRODUCT . "=? and t2." . self::ID_PRODUCT . "=?";
     $sentencia = $pdo->prepare($command);
     $sentencia->bindParam(1, $id1);
     $sentencia->bindParam(2, $id2);
     $sentencia->execute();
     return $sentencia->rowCount();
 }
Esempio n. 16
0
    /**
     * cree une instance d'User
     * @param $crypt String mot de passe crypté de l'utilisateur
     * @return User instance de user (depend du type d'user)
     * @throws Exception si le pseudo ou mot de passe est invalide
     */
    public static function createFromAuth($crypt)
    {
        self::startSession();
        $connection = ConnectionDB::GetInstance();
        $stmt = $connection->prepare(<<<SQL
                    SELECT *
                    FROM User
                    WHERE SHA1(concat(SHA1(pseudo), :challenge, password))=:crypt;
SQL
);
        $stmt->execute(array("challenge" => $_SESSION['challenge'], "crypt" => $crypt));
        $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__);
        $user = $stmt->fetch();
        $user = self::building($user);
        unset($_SESSION['challenge']);
        if ($user !== false) {
            self::startSession();
            return $user;
        } else {
            throw new Exception("Pseudo ou mot de passe invalide");
        }
    }