public function showPage($url) { //Gestion de l'affichage/transmission des données $parameters = $this->_configuration->getAsArray(); $parameters["_current_page"] = $url; $parameters["_error"] = false; $parameters["_logged"] = Session::getLoggedAccount() != false; if (isset($this->_datasheme["404"]) == false) { throw new Exception("Vous devez définir la fonction 404."); } if (isset($this->_datasheme["refused"]) == false) { throw new Exception("Vous devez définir la fonction accès refusé."); } if (isset($this->_datasheme[$url])) { $data_url = str_replace("/" . $url, "", "{$_SERVER['REQUEST_URI']}"); $data_url = explode("/", $data_url); $data_sheme = explode("/", $this->_datasheme[$url]); //Suppression des valeurs inutiles afin d'assouplir le système for ($i = 1; $i < count($data_url); $i++) { if ($data_url[$i] == "") { unset($data_url[$i]); } } //affectation des paramètres for ($i = 1; $i < count($data_sheme); $i++) { //TODO: supprimer le +4 dans la version finale du moteur if (isset($data_url[$i + 4])) { $parameters[$data_sheme[$i]] = $data_url[$i + 4]; } } if ($this->_requireAuth[$url] == false || $this->_requireAuth[$url] == true && isset($_SESSION["credentials"]) == true && SESSION::checkCredentials($_SESSION["credentials"]) == true) { $this->_functions[$url]($parameters); } else { $parameters["_error"] = true; $this->_functions["refused"]($parameters); } } else { $parameters["_error"] = true; $this->_functions["404"]($parameters); } }
for ($i = 0; $i != count($results); $i++) { $parameters["yes"] = true; $sql = "INSERT INTO Achat(Code_Enregistrement, Code_Abonné) VALUES ('" . $results[$i]["Code_Morceau"] . "', '" . $user . "')"; $result = $_system_registry->getModel()->exec($sql); } Session::replaceEntry("basket", false); } template("views/profil/buy.tpl", $parameters, "views/base.tpl"); return; } } } //Sinon consultation du panier # Récupère l'utilisateur connecté $id = Session::getLoggedAccount()[0]; $parameters["username"] = Session::getLoggedAccount()[1]; # Récupère la liste de ses achats et leurs informations relatives $basket = Session::getEntry("basket"); $parameters["achat"] = array(); $parameters["total"] = 0; if ($basket != false) { $list = "'" . implode("','", $basket) . "'"; $sql = "SELECT Enregistrement.Code_Morceau as Code_Morceau, Enregistrement.Titre as Titre, Enregistrement.Prix as Prix, Musicien.Nom_Musicien as Nom_Musicien, Musicien.Prénom_Musicien as Prenom_Musicien, Enregistrement.Code_Morceau as Code_Morceau\n FROM Enregistrement\n LEFT JOIN Interpréter ON Enregistrement.Code_Morceau = Interpréter.Code_Morceau\n LEFT JOIN Musicien ON Interpréter.Code_Musicien = Musicien.Code_Musicien\n WHERE Enregistrement.Code_Morceau IN (" . $list . ")"; $parameters["achat"] = $_system_registry->getModel()->query($sql)->fetchall(); # Calcul du coût total en parcourant tout ses achats $parameters["total"] = 0; for ($i = 0; $i < count($parameters["achat"]); $i++) { if (isset($parameters["achat"]["Nom_Musicien"]) && $parameters["achat"]["Nom_Musicien"] != "") { $parameters["achat"]["Nom_Musicien"] = "de " . $parameters["achat"]["Nom_Musicien"]; } $parameters["achat"][$i]["pair"] = "";