read_password(); $dsn = 'mysql:dbname=accueil_insa;host=127.0.0.1'; try { $this->conn = new PDO($dsn, $username, $password, [PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8']); } catch (PDOException $e) { echo $e; } } private function read_password() { $real_path = __DIR__.DIRECTORY_SEPARATOR.".htpassdb"; $file = fopen($real_path, "r") or die("Unable to open DB password file!");; $password = fgets($file); fclose($file); return trim($password); } public function get_score_team($team) { $sql = 'SELECT text, points FROM scores WHERE team = ?'; $cursor = $this->conn->prepare($sql); $cursor->execute([$team]); return $cursor->fetchAll(PDO::FETCH_ASSOC); } public function add_score($score_data) { $sql = 'INSERT INTO scores (text, points, team) VALUES (?, ?, ?)'; $cursor = $this->conn->prepare($sql); $cursor->execute([$score_data['text'], $score_data['points'], $score_data['team']]); } public function save_scores($scores_json, $team) { $sql = 'DELETE FROM scores WHERE team = ?'; $cursor = $this->conn->prepare($sql); $cursor->execute([$team]); foreach ($scores_json as $value) { $sql = 'INSERT INTO scores (text, points, team) VALUES (?, ?, ?)'; $cursor = $this->conn->prepare($sql); $cursor->execute([$value['text'], $value['points'], $team]); } } public function get_map_info($selector) { $sql = 'SELECT title, description FROM map_insa WHERE selector = ?'; $cursor = $this->conn->prepare($sql); $cursor->execute([$selector]); return $cursor->fetchAll(PDO::FETCH_ASSOC); } public function get_map_selectors() { $sql = 'SELECT selector FROM map_insa'; $cursor = $this->conn->prepare($sql); $cursor->execute(); return $cursor->fetchAll(PDO::FETCH_ASSOC); } public function save_map_info($selector, $info_json) { $sql = 'DELETE FROM map_insa WHERE selector = ?'; $cursor = $this->conn->prepare($sql); $cursor->execute([$selector]); $sql = 'INSERT INTO map_insa (title, description, selector) VALUES (?, ?, ?)'; $cursor = $this->conn->prepare($sql); $cursor->execute([$info_json['title'], $info_json['description'], $selector]); } public function is_in_map($selector) { $sql = 'SELECT selector FROM map_insa WHERE selector = ?'; $query = $this->conn->prepare($sql); $query->execute([$selector]); return $query->fetchAll(PDO::FETCH_ASSOC); } public function get_activities_of_day($day) { $sql = 'SELECT * FROM planning_insa WHERE day = ?'; $cursor = $this->conn->prepare($sql); $cursor->execute([$day]); return $cursor->fetchAll(PDO::FETCH_ASSOC); } public function save_day_activities($day, $info_json) { $sql = 'DELETE FROM planning_insa WHERE day = ?'; $cursor = $this->conn->prepare($sql); $cursor->execute([$day]); foreach ($info_json as $value) { $sql = 'INSERT INTO planning_insa (day, small_title, full_title, description, color, start, length) VALUES (?, ?, ?, ?, ?, ?, ?)'; $cursor = $this->conn->prepare($sql); $cursor->execute([$value['day'], $value['small_title'], $value['full_title'], $value['description'], $value['color'], $value['start'], $value['length']]); } } public function create_building($title, $description, $selector) { $sql = 'INSERT INTO map_insa (title, description, selector) VALUES(:title, :description, :selector)'; //var_dump($title, $description, $selector); $query = $this->conn->prepare($sql); $query->execute(array( ':title' => $title, ':description' => $description, ':selector' => $selector, )); //var_dump($query->errorInfo()); return $query->fetch(PDO::FETCH_ASSOC); } public function delete_building($selector) { $sql = 'DELETE FROM map_insa WHERE selector=?'; //var_dump($selector); $query = $this->conn->prepare($sql); $query->execute([$selector]); //var_dump($query->errorInfo()); return $query->fetch(PDO::FETCH_ASSOC); } }