Version 0.3: replace Prototype by JQuery and use bootstrap
This commit is contained in:
parent
32b69fbd20
commit
ad51d9da73
39 changed files with 19615 additions and 8436 deletions
|
|
@ -5,101 +5,125 @@ $p = strtolower(gpc("p"));
|
|||
$titre = ucfirst(trim(gpc("titre", "post")));
|
||||
$auteur = ucwords(trim(gpc("auteur", "post")));
|
||||
|
||||
function build_list($req)
|
||||
{
|
||||
$chansons = array();
|
||||
if (!empty($req))
|
||||
foreach($req as $ligne)
|
||||
{
|
||||
if (isset($chansons[$ligne["id"]]))
|
||||
$chansons[$ligne["id"]][] = $ligne;
|
||||
else
|
||||
$chansons[$ligne["id"]] = array($ligne);
|
||||
}
|
||||
return $chansons;
|
||||
}
|
||||
|
||||
function format_list($chansons, $xml, $xml_root)
|
||||
{
|
||||
if (!empty($chansons))
|
||||
{
|
||||
foreach($chansons as $chanson)
|
||||
{
|
||||
$c = $chanson[0];
|
||||
|
||||
if (empty($c["titre"]))
|
||||
continue;
|
||||
|
||||
$chan = $xml->createElement("chanson");
|
||||
$chan->setAttribute("id", $c["id"]);
|
||||
$chan->setAttribute("titre", $c["titre"]);
|
||||
$chan->setAttribute("artiste", $c["artiste"]);
|
||||
|
||||
if (!empty($c["id_album"]))
|
||||
{
|
||||
foreach ($chanson as $cd)
|
||||
{
|
||||
$albm = $xml->createElement("inalbum");
|
||||
$albm->setAttribute("id", $cd["id_album"]);
|
||||
$albm->setAttribute("type", $cd["type"]);
|
||||
$albm->setAttribute("titre", $cd["nom"]);
|
||||
$chan->appendChild($albm);
|
||||
}
|
||||
}
|
||||
$xml_root->appendChild($chan);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var_dump($_GET, $_POST);
|
||||
|
||||
if ($p == "liste")
|
||||
{
|
||||
$bdd = new BDD();
|
||||
$req = $bdd->query("SELECT id, titre, chanteur, CDDeca, CDChanteur, CDAnnee FROM gsm ORDER BY id;");
|
||||
$req = $bdd->query("SELECT T.*, A.id AS id_album, A.type, A.titre AS nom FROM gsm_titres T RIGHT OUTER JOIN gsm_in I ON T.id = I.id_titre RIGHT OUTER JOIN gsm_albums A ON A.id = I.id_album;");
|
||||
$req["nombre"] = $bdd->num_rows;
|
||||
$reqCDA = $bdd->query("SELECT id, nom FROM gsm_cdannee;");
|
||||
$reqCDC = $bdd->query("SELECT id, nom FROM gsm_cdchant;");
|
||||
$reqCDD = $bdd->query("SELECT id, nom FROM gsm_cddece;");
|
||||
$reqCDs = $bdd->query("SELECT * FROM gsm_albums;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$xml_cds = $xml->createElement("liste");
|
||||
if (!empty($req))
|
||||
foreach($req as $ligne)
|
||||
{
|
||||
if (!empty($ligne["id"]))
|
||||
{
|
||||
$chan = $xml->createElement("chanson");
|
||||
$chan->setAttribute("id", $ligne["id"]);
|
||||
$chan->setAttribute("titre", $ligne["titre"]);
|
||||
$chan->setAttribute("chanteur", $ligne["chanteur"]);
|
||||
$chan->setAttribute("CD_decenie", $ligne["CDDeca"]);
|
||||
$chan->setAttribute("CD_annee", $ligne["CDAnnee"]);
|
||||
$chan->setAttribute("CD_interprete", $ligne["CDChanteur"]);
|
||||
$xml_cds->appendChild($chan);
|
||||
}
|
||||
}
|
||||
if (!empty($reqCDA))
|
||||
foreach($reqCDA as $cd)
|
||||
{
|
||||
$chan = $xml->createElement("cdannee");
|
||||
$chan->setAttribute("id", $cd["id"]);
|
||||
$chan->setAttribute("nom", $cd["nom"]);
|
||||
$xml_cds->appendChild($chan);
|
||||
}
|
||||
if (!empty($reqCDC))
|
||||
foreach($reqCDC as $cd)
|
||||
{
|
||||
$chan = $xml->createElement("cdchant");
|
||||
$chan->setAttribute("id", $cd["id"]);
|
||||
$chan->setAttribute("nom", $cd["nom"]);
|
||||
$xml_cds->appendChild($chan);
|
||||
}
|
||||
if (!empty($reqCDD))
|
||||
foreach($reqCDD as $cd)
|
||||
{
|
||||
$chan = $xml->createElement("cddece");
|
||||
$chan->setAttribute("id", $cd["id"]);
|
||||
$chan->setAttribute("nom", $cd["nom"]);
|
||||
$xml_cds->appendChild($chan);
|
||||
}
|
||||
$xml_root->appendChild($xml_cds);
|
||||
format_list(build_list($req), $xml, $xml_root);
|
||||
|
||||
if (!empty($reqCDs))
|
||||
{
|
||||
foreach($reqCDs as $cd)
|
||||
{
|
||||
if (empty($cd["id"]))
|
||||
continue;
|
||||
|
||||
$chan = $xml->createElement("album");
|
||||
$chan->setAttribute("type", $cd["type"]);
|
||||
$chan->setAttribute("id", $cd["id"]);
|
||||
$chan->setAttribute("titre", $cd["titre"]);
|
||||
$chan->setAttribute("couleur", $cd["color"]);
|
||||
$xml_root->appendChild($chan);
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif ($p == "add" && ($type = intval(gpc("type", "post"))) && ($title = gpc("title", "post")))
|
||||
{
|
||||
$color = hexdec(gpc("color", "post"));
|
||||
|
||||
if ($type == 1)
|
||||
$table = "gsm_cdannee";
|
||||
else if ($type == 2)
|
||||
$table = "gsm_cdchant";
|
||||
else
|
||||
$table = "gsm_cddece";
|
||||
|
||||
|
||||
$bdd = new BDD();
|
||||
$bdd->escape($title);
|
||||
$bdd->query("INSERT INTO `$table` (nom, color) VALUES ('$title', $color);");
|
||||
$bdd->query("INSERT INTO `gsm_albums` (type, titre, color) VALUES ($type, '$title', $color);");
|
||||
$id = $bdd->insert_id();
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
if ($id == 0)
|
||||
{
|
||||
$res = $bdd->unique_query("SELECT id FROM `gsm_albums` WHERE type = $type AND titre = '$title';");
|
||||
$id = $res["id"];
|
||||
}
|
||||
$req = $bdd->unique_query("SELECT COUNT(*) AS nombre FROM gsm_in");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$xml_root->appendChild($xml->createElement("id", $id));
|
||||
|
||||
if ($id != 0)
|
||||
$xml_root->appendChild($xml->createElement("id", $id));
|
||||
}
|
||||
elseif ($p == "del" && $id = intval(gpc("id", "post")))
|
||||
{
|
||||
$alb = intval(gpc("alb", "post"));
|
||||
|
||||
$bdd = new BDD();
|
||||
$bdd->query("DELETE FROM `gsm` WHERE id = $id;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
if (empty($alb))
|
||||
$bdd->query("DELETE FROM `gsm_in` WHERE id_titre = $id;");
|
||||
else
|
||||
$bdd->query("DELETE FROM `gsm_in` WHERE id_titre = $id AND id_album = $alb;");
|
||||
|
||||
$res = $bdd->unique_query("SELECT COUNT(*) AS c FROM `gsm_in` WHERE id_titre = $id;");
|
||||
if ($res["c"] <= 0)
|
||||
$bdd->query("DELETE FROM `gsm_titres` WHERE id = $id;");
|
||||
|
||||
$req = $bdd->unique_query("SELECT COUNT(*) AS nombre FROM gsm_in");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
elseif ($p == "color" && ($type = intval(gpc("type", "get"))) && ($idAlbum = intval(gpc("id", "get"))))
|
||||
{
|
||||
if ($type == 1)
|
||||
$table = "gsm_cdannee";
|
||||
else if ($type == 2)
|
||||
$table = "gsm_cdchant";
|
||||
else
|
||||
$table = "gsm_cddece";
|
||||
|
||||
$bdd = new BDD();
|
||||
$res = $bdd->unique_query("SELECT color FROM `$table` WHERE id = $idAlbum;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
$res = $bdd->unique_query("SELECT color FROM `gsm_albums` WHERE id = $idAlbum;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(*) AS nombre FROM gsm_in;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
|
||||
$xml_root->appendChild($xml->createElement("color", sprintf("#%06X", $res["color"])));
|
||||
|
||||
|
||||
$color2R = ($res["color"] >> 16) & 255;
|
||||
if ($color2R >= 25)
|
||||
$color2R -= 25;
|
||||
|
|
@ -113,30 +137,38 @@ elseif ($p == "color" && ($type = intval(gpc("type", "get"))) && ($idAlbum = int
|
|||
}
|
||||
elseif ($p == "rech")
|
||||
{
|
||||
$type = substr(gpc("type", "post"), 0, 1);
|
||||
$id = intval(gpc("id", "post"));
|
||||
$where = "TRUE";
|
||||
$type = array();
|
||||
|
||||
if ($type == "d")
|
||||
{
|
||||
$bdd = new BDD();
|
||||
$rech = $bdd->query("SELECT * FROM gsm WHERE CDDeca = $id;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
elseif ($type == "a")
|
||||
{
|
||||
$bdd = new BDD();
|
||||
$rech = $bdd->query("SELECT * FROM gsm WHERE CDAnnee = $id;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
elseif ($type == "i")
|
||||
{
|
||||
$bdd = new BDD();
|
||||
$rech = $bdd->query("SELECT * FROM gsm WHERE CDChanteur = $id;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
$bdd = new BDD();
|
||||
foreach($_POST as $key => $val)
|
||||
{
|
||||
$v = gpc($key, "post");
|
||||
$bdd->escape($v);
|
||||
|
||||
if ($key == "titre")
|
||||
$where .= " AND T.titre LIKE = '%".$v."%'";
|
||||
else if ($key == "artiste")
|
||||
$where .= " AND T.artiste LIKE = '%".$v."%'";
|
||||
else if ($key == "album")
|
||||
$where .= " AND A.titre LIKE = '%".$v."%'";
|
||||
else if (preg_match($key, "#^type([0-9]+)$#", $out) && gpc($key, "post") == "1")
|
||||
$type[] = intval($out[1]);
|
||||
}
|
||||
|
||||
if (count($type) > 0)
|
||||
{
|
||||
$where .= " AND (FALSE";
|
||||
foreach($type as $t)
|
||||
$where .= " OR A.type = ".$t;
|
||||
$where .= ")";
|
||||
}
|
||||
|
||||
$rech = $bdd->query("SELECT T.*, A.id AS id_album, A.type, A.titre AS nom FROM gsm_titres T RIGHT OUTER JOIN gsm_in I ON T.id = I.id_titre RIGHT OUTER JOIN gsm_albums A ON A.id = I.id_album WHERE ".$where);
|
||||
$req = $bdd->unique_query("SELECT COUNT(*) AS nombre FROM gsm_in");
|
||||
$bdd->deconnexion();
|
||||
|
||||
format_list(build_list($rech), $xml, $xml_root);
|
||||
|
||||
$xml_cds = $xml->createElement("album");
|
||||
if (!empty($rech))
|
||||
|
|
@ -158,14 +190,14 @@ elseif ($p == "rech")
|
|||
elseif ($p == "stats")
|
||||
{
|
||||
$cds = array();
|
||||
|
||||
|
||||
$bdd = new BDD();
|
||||
$cds["annees"] = $bdd->query("SELECT A.id, A.nom, COUNT(T.id) AS nombre FROM gsm_cdannee A LEFT OUTER JOIN gsm T ON A.id = T.CDAnnee GROUP BY A.id ORDER BY A.nom;");
|
||||
$cds["interpretes"] = $bdd->query("SELECT A.id, A.nom, COUNT(T.id) AS nombre FROM gsm_cdchant A LEFT OUTER JOIN gsm T ON A.id = T.CDChanteur GROUP BY A.id ORDER BY A.nom;");
|
||||
$cds["decenies"] = $bdd->query("SELECT A.id, A.nom, COUNT(T.id) AS nombre FROM gsm_cddece A LEFT OUTER JOIN gsm T ON A.id = T.CDDeca GROUP BY A.id ORDER BY A.nom;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
$cds["annees"] = $bdd->query("SELECT A.id, A.titre AS nom, COUNT(A.id) AS nombre FROM gsm_albums A RIGHT OUTER JOIN gsm_in I ON A.id = I.id_album WHERE A.type = 1 GROUP BY A.id ORDER BY nom DESC;");
|
||||
$cds["interpretes"] = $bdd->query("SELECT A.id, A.titre AS nom, COUNT(A.id) AS nombre FROM gsm_albums A RIGHT OUTER JOIN gsm_in I ON A.id = I.id_album WHERE A.type = 3 GROUP BY A.id ORDER BY nom ASC;");
|
||||
$cds["decenies"] = $bdd->query("SELECT A.id, A.titre AS nom, COUNT(A.id) AS nombre FROM gsm_albums A RIGHT OUTER JOIN gsm_in I ON A.id = I.id_album WHERE A.type = 2 GROUP BY A.id ORDER BY nom ASC;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm_in");
|
||||
$bdd->deconnexion();
|
||||
|
||||
|
||||
if (!empty($cds["annees"]))
|
||||
{
|
||||
foreach($cds["annees"] as $ligne)
|
||||
|
|
@ -176,7 +208,7 @@ elseif ($p == "stats")
|
|||
$xml_root->appendChild($cd);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!empty($cds["interpretes"]))
|
||||
{
|
||||
foreach($cds["interpretes"] as $ligne)
|
||||
|
|
@ -187,7 +219,7 @@ elseif ($p == "stats")
|
|||
$xml_root->appendChild($cd);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!empty($cds["decenies"]))
|
||||
{
|
||||
foreach($cds["decenies"] as $ligne)
|
||||
|
|
@ -205,7 +237,7 @@ elseif ($p == "cds")
|
|||
$cds["decenies"] = $bdd->query("SELECT A.*, COUNT(T.id) AS nombre FROM gsm_cddece A LEFT OUTER JOIN gsm T ON A.id = T.CDDeca GROUP BY A.nom;");
|
||||
$cds["interpretes"] = $bdd->query("SELECT A.*, COUNT(T.id) AS nombre FROM gsm_cdchant A LEFT OUTER JOIN gsm T ON A.id = T.CDChanteur GROUP BY A.nom;");
|
||||
$cds["annees"] = $bdd->query("SELECT A.*, COUNT(T.id) AS nombre FROM gsm_cdannee A LEFT OUTER JOIN gsm T ON A.id = T.CDAnnee GROUP BY A.nom;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm_in");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$xml_cds = $xml->createElement("decenies");
|
||||
|
|
@ -260,67 +292,30 @@ elseif (!empty($titre) && !empty($auteur))
|
|||
$bdd->escape($titre);
|
||||
$bdd->escape($auteur);
|
||||
if ($id)
|
||||
$bdd->query("UPDATE gsm SET titre = '$titre', chanteur = '$auteur' WHERE id = $id;");
|
||||
$bdd->query("UPDATE gsm_titres SET titre = '$titre', artiste = '$auteur' WHERE id = $id;");
|
||||
else
|
||||
{
|
||||
//On recherche la chanson pour tester si elle n'existe pas déjà
|
||||
$chanson = $bdd->unique_query("SELECT id, CDDeca, CDAnnee, CDChanteur FROM gsm WHERE titre LIKE '$titre' AND chanteur LIKE '$auteur' LIMIT 1;");
|
||||
$update = "";
|
||||
if (!empty($chanson))
|
||||
{
|
||||
if (isset($update) && !empty($type) && $type == 3)
|
||||
{
|
||||
if (empty($chanson["CDDeca"]))
|
||||
$update .= "CDDeca = ".$alb.", ";
|
||||
else
|
||||
$update = null;
|
||||
}
|
||||
if (isset($update) && !empty($type) && $type == 1)
|
||||
{
|
||||
if (empty($chanson["CDAnnee"]))
|
||||
$update .= "CDAnnee = ".$alb.", ";
|
||||
else
|
||||
$update = null;
|
||||
}
|
||||
if (isset($update) && !empty($type) && $type == 2)
|
||||
{
|
||||
if (empty($chanson["CDChanteur"]))
|
||||
$update .= "CDChanteur = ".$alb.", ";
|
||||
else
|
||||
$update = null;
|
||||
}
|
||||
}
|
||||
if (!empty($update))
|
||||
{
|
||||
$bdd->query("UPDATE gsm SET $update titre = titre WHERE id = ".$chanson["id"].";");
|
||||
$res = $chanson["id"];
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($type == 1)
|
||||
$disc = array("annee" => $alb, "interprete" => 0, "decenie" => 0);
|
||||
else if ($type == 2)
|
||||
$disc = array("annee" => 0, "interprete" => $alb, "decenie" => 0);
|
||||
else if ($type == 3)
|
||||
$disc = array("annee" => 0, "interprete" => 0, "decenie" => $alb);
|
||||
else
|
||||
$disc = array("annee" => 0, "interprete" => 0, "decenie" => 0);
|
||||
|
||||
$bdd->query("INSERT INTO gsm (titre, chanteur, CDDeca, CDAnnee, CDChanteur) VALUES ('$titre', '$auteur', ".$disc["decenie"].", ".$disc["annee"].", ".$disc["interprete"].");");
|
||||
$res = $bdd->insert_id();
|
||||
}
|
||||
$bdd->query("INSERT INTO gsm_titres (titre, artiste) VALUES ('$titre', '$auteur');");
|
||||
$res = $bdd->insert_id();
|
||||
if (empty($res))
|
||||
{
|
||||
$res = $bdd->unique_query("SELECT id FROM gsm_titres WHERE titre = '$titre' AND artiste = '$auteur';");
|
||||
$res = $res["id"];
|
||||
}
|
||||
|
||||
if (!empty($alb))
|
||||
$bdd->query("INSERT INTO gsm_in (id_titre, id_album) VALUES ($res, $alb);");
|
||||
}
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm_titres");
|
||||
$bdd->deconnexion();
|
||||
|
||||
|
||||
$xml_root->appendChild($xml->createElement("id", $res));
|
||||
}
|
||||
else
|
||||
{
|
||||
$bdd = new BDD();
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm");
|
||||
$req = $bdd->unique_query("SELECT COUNT(id) AS nombre FROM gsm_titres");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
|
||||
$json["nombre"] = $req["nombre"];
|
||||
?>
|
||||
$xml_root->setAttribute("nombre", $req["nombre"]);
|
||||
|
|
|
|||
66
onyx2/include/applications/GSM/migrateGSM.php
Normal file
66
onyx2/include/applications/GSM/migrateGSM.php
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
//Définition de la constante anti-hacking
|
||||
define("INDEX", 1);
|
||||
|
||||
require_once(trim(file_get_contents('./.onyx')));
|
||||
require_once(ONYX.'include/functions.php');
|
||||
|
||||
$bdd = new BDD();
|
||||
/*
|
||||
//$res = $bdd->query("SELECT * FROM gsm_cdannee;");
|
||||
$res = $bdd->query("SELECT * FROM gsm_cddece;");
|
||||
//$res = $bdd->query("SELECT * FROM gsm_cdannee;");
|
||||
foreach($res as $cd)
|
||||
{
|
||||
$type = 2;
|
||||
$nom = $cd["nom"];
|
||||
$color = $cd["color"];
|
||||
$bdd->escape($nom);
|
||||
$bdd->query("INSERT INTO gsm_albums (type, titre, color) VALUES ($type, '$nom', $color);");
|
||||
}
|
||||
*/
|
||||
|
||||
session_start();
|
||||
$_SESSION["page"]++;
|
||||
|
||||
$start = $_SESSION["page"] * 500;
|
||||
|
||||
$res = $bdd->query("SELECT * FROM gsm LIMIT $start, 500;");
|
||||
foreach($res as $cd)
|
||||
{
|
||||
// Insert the title
|
||||
$titre = $cd["titre"];
|
||||
$chanteur = $cd["chanteur"];
|
||||
$bdd->escape($titre);
|
||||
$bdd->escape($chanteur);
|
||||
$bdd->query("INSERT INTO gsm_titres (titre, artiste) VALUES ('$titre', '$chanteur');");
|
||||
$idtitre = $bdd->insert_id();
|
||||
|
||||
if (empty($idtitre))
|
||||
{
|
||||
$r = $bdd->unique_query("SELECT id FROM gsm_titres WHERE titre = '$titre' AND artiste = '$chanteur';");
|
||||
if (empty($r) || empty($r["id"]))
|
||||
die("empty ID on ".$res["id"]);
|
||||
$idtitre = $r["id"];
|
||||
}
|
||||
|
||||
// Found CD
|
||||
if (!empty($cd["CDDeca"]))
|
||||
{
|
||||
$deca = $bdd->unique_query("SELECT nom, color FROM gsm_cddece WHERE id = ".$cd["CDDeca"]);
|
||||
$album = $bdd->unique_query("SELECT id FROM gsm_albums WHERE type = 2 AND titre = '".$deca["nom"]."' AND color = ".$deca["color"]);
|
||||
if (isset($album))
|
||||
$bdd->query("INSERT INTO gsm_in VALUES ($idtitre, ".$album["id"].");");
|
||||
}
|
||||
if (!empty($cd["CDAnnee"]))
|
||||
{
|
||||
$deca = $bdd->unique_query("SELECT nom, color FROM gsm_cdannee WHERE id = ".$cd["CDAnnee"]);
|
||||
$album = $bdd->unique_query("SELECT id FROM gsm_albums WHERE type = 1 AND titre = '".$deca["nom"]."' AND color = ".$deca["color"]);
|
||||
if (isset($album))
|
||||
$bdd->query("INSERT INTO gsm_in VALUES ($idtitre, ".$album["id"].");");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$bdd->deconnexion();
|
||||
?>
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
<property value="name">Gérer sa musique</property>
|
||||
<property value="description">Cette application vous permet de gérer facilement votre discothèque.</property>
|
||||
<property value="etatAvancement">beta</property>
|
||||
<property value="version">1.1</property>
|
||||
<property value="version">1.3</property>
|
||||
<property value="lang">fr_FR</property>
|
||||
<property value="developpeur"><![CDATA[<span style="font-variant: small-caps">Mercier</span> Pierre-Olivier]]></property>
|
||||
<property value="corps">contenu</property>
|
||||
|
|
@ -17,34 +17,39 @@
|
|||
<display value="css" media="all">main.css</display>
|
||||
<display value="css" media="screen">style.css</display>
|
||||
<display value="css" media="print">print.css</display>
|
||||
<display value="script">album.js</display>
|
||||
<display value="script">chanson.js</display>
|
||||
<display value="script">app.js</display>
|
||||
<display value="body">
|
||||
<![CDATA[
|
||||
<h1>Bienvenue dans la gestion d'une discothèque</h1>
|
||||
<ul id="GSM_menu">
|
||||
<li><h2>Discothèque</h2></li>
|
||||
<li onclick="GSM_add();">Ajouter un album</li>
|
||||
<li onclick="GSM_listAlbums();">Liste des albums</li>
|
||||
<li onclick="GSM_listTitres();">Liste des titres</li>
|
||||
<li>Nombre de titres enregistrés : <span id="nbpc"></span></li>
|
||||
</ul>
|
||||
<div id="contenu"></div>
|
||||
<h1>Bienvenue dans la gestion d'une discothèque</h1>
|
||||
<menu>
|
||||
<li><h2>Discothèque</h2></li>
|
||||
<li onclick="GSM_add();">Ajouter un album</li>
|
||||
<li onclick="GSM_listAlbums();">Liste des albums</li>
|
||||
<li>
|
||||
Liste des titres
|
||||
<ul>
|
||||
<li onclick="GSM_listTitres([1,2]);">Années</li>
|
||||
<li onclick="GSM_listTitres([3]);">Classique</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li onclick="GSM_rechTitres();">Rechercher ...</li>
|
||||
<li>Nombre de titres enregistrés : <span id="nbpc"></span></li>
|
||||
</menu>
|
||||
<div id="contenu"></div>
|
||||
]]>
|
||||
</display>
|
||||
<display value="js">
|
||||
<![CDATA[
|
||||
function runApplication(property, display, json)
|
||||
function runApplication(property, display)
|
||||
{
|
||||
$('logo').style.display = 'none';
|
||||
$('#logo').css("display", 'none');
|
||||
|
||||
$('contenu').innerHTML = "";
|
||||
news = document.createElement("div");
|
||||
news.className = "news";
|
||||
news.innerHTML = "<h3>Bienvenue dans la version béta de GSM pour Pommultimédia For Home !</h3>Cette nouvelle version est plus rapide que la version précédente et a une meilleur intégration avec Pommultimédia For Home.<br />N'hésitez pas à nous faire part de vos commentaires ;)";
|
||||
$('contenu').appendChild(news);
|
||||
$('#contenu').html("<div class=\"news\"><h3>Bienvenue dans la version béta de GSM pour Pommultimédia For Home !</h3>Cette nouvelle version est plus rapide que la version précédente et a une meilleur intégration avec Pommultimédia For Home.<br />N'hésitez pas à nous faire part de vos commentaires ;)</div>");
|
||||
}
|
||||
]]>
|
||||
</display>
|
||||
|
||||
<config value="table_bdd">gsm</config>
|
||||
</application>
|
||||
</application>
|
||||
|
|
|
|||
|
|
@ -9,73 +9,72 @@ $ligne = trim(utf8_decode(utf8_encode(strtoupper(gpc("ligne", "post")))));
|
|||
|
||||
if ($p == "liste")
|
||||
{
|
||||
$bdd = new BDD();
|
||||
$req = $bdd->query("SELECT * FROM gspc;");
|
||||
$req["nombre"] = $bdd->num_rows;
|
||||
$bdd->deconnexion();
|
||||
$bdd = new BDD();
|
||||
$req = $bdd->query("SELECT * FROM gspc;");
|
||||
$req["nombre"] = $bdd->num_rows;
|
||||
$bdd->deconnexion();
|
||||
|
||||
$xml_pc = $xml->createElement("liste");
|
||||
foreach($req as $ligne)
|
||||
$xml_pc = $xml->createElement("liste");
|
||||
foreach($req as $ligne)
|
||||
{
|
||||
if (!empty($ligne["reftable"]))
|
||||
{
|
||||
if (!empty($ligne["reftable"]))
|
||||
{
|
||||
$portecle = $xml->createElement("porteclef");
|
||||
$portecle->setAttribute("id", $ligne["reftable"]);
|
||||
$portecle->setAttribute("nom", $ligne["nom"]);
|
||||
$portecle->setAttribute("caracteristique", ucfirst($ligne["caracteristique"]));
|
||||
$portecle->setAttribute("ligne", $ligne["ligne"]);
|
||||
$portecle->setAttribute("special", $ligne["special"]);
|
||||
$xml_pc->appendChild($portecle);
|
||||
}
|
||||
$portecle = $xml->createElement("porteclef");
|
||||
$portecle->setAttribute("id", $ligne["reftable"]);
|
||||
$portecle->setAttribute("nom", $ligne["nom"]);
|
||||
$portecle->setAttribute("caracteristique", ucfirst($ligne["caracteristique"]));
|
||||
$portecle->setAttribute("ligne", $ligne["ligne"]);
|
||||
$portecle->setAttribute("special", $ligne["special"]);
|
||||
$xml_pc->appendChild($portecle);
|
||||
}
|
||||
$xml_root->appendChild($xml_pc);
|
||||
}
|
||||
$xml_root->appendChild($xml_pc);
|
||||
}
|
||||
elseif ($p == "stats")
|
||||
{
|
||||
$bdd = new BDD();
|
||||
$req = $bdd->query("SELECT ligne, COUNT(reftable) AS nombre FROM `gspc` GROUP BY ligne ORDER BY ligne ASC;");
|
||||
$bdd->deconnexion();
|
||||
$bdd = new BDD();
|
||||
$req = $bdd->query("SELECT ligne, COUNT(reftable) AS nombre FROM `gspc` GROUP BY ligne ORDER BY ligne ASC;");
|
||||
$bdd->deconnexion();
|
||||
|
||||
$xml_pc = $xml->createElement("statistiques");
|
||||
foreach($req as $ligne)
|
||||
{
|
||||
$portecle = $xml->createElement("ligne");
|
||||
$portecle->setAttribute("nom", $ligne["ligne"]);
|
||||
$portecle->setAttribute("nombre", $ligne["nombre"]);
|
||||
$xml_pc->appendChild($portecle);
|
||||
}
|
||||
$xml_root->appendChild($xml_pc);
|
||||
$xml_pc = $xml->createElement("statistiques");
|
||||
foreach($req as $ligne)
|
||||
{
|
||||
$portecle = $xml->createElement("ligne");
|
||||
$portecle->setAttribute("nom", $ligne["ligne"]);
|
||||
$portecle->setAttribute("nombre", $ligne["nombre"]);
|
||||
$xml_pc->appendChild($portecle);
|
||||
}
|
||||
$xml_root->appendChild($xml_pc);
|
||||
}
|
||||
elseif ($p == "del" && $id = intval(gpc("id", "post")))
|
||||
{
|
||||
$bdd = new BDD();
|
||||
$bdd->query("DELETE FROM `gspc` WHERE reftable = $id;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(reftable) AS nombre FROM gspc");
|
||||
$bdd->deconnexion();
|
||||
$bdd = new BDD();
|
||||
$bdd->query("DELETE FROM `gspc` WHERE reftable = $id;");
|
||||
$req = $bdd->unique_query("SELECT COUNT(reftable) AS nombre FROM gspc");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
elseif (!empty($nom) && !empty($ligne))
|
||||
{
|
||||
$carac = trim(utf8_decode(utf8_encode(gpc("caracteristique", "post"))));
|
||||
$quantite = intval(gpc("quantite", "post"));
|
||||
$id = intval(gpc("id"));
|
||||
$carac = trim(utf8_decode(utf8_encode(gpc("caracteristique", "post"))));
|
||||
$quantite = intval(gpc("quantite", "post"));
|
||||
$id = intval(gpc("id"));
|
||||
|
||||
$bdd = new BDD();
|
||||
$bdd->escape($nom);
|
||||
$bdd->escape($carac);
|
||||
$bdd->escape($ligne);
|
||||
if ($id)
|
||||
$bdd->query("UPDATE gspc SET nom = '$nom', caracteristique = '$carac', ligne = '$ligne', special = $quantite WHERE reftable = $id;");
|
||||
else
|
||||
$bdd->query("INSERT INTO gspc (nom, caracteristique, ligne, special) VALUES ('$nom', '$carac', '$ligne', $quantite);");
|
||||
$req = $bdd->unique_query("SELECT COUNT(reftable) AS nombre FROM gspc");
|
||||
$bdd->deconnexion();
|
||||
$bdd = new BDD();
|
||||
$bdd->escape($nom);
|
||||
$bdd->escape($carac);
|
||||
$bdd->escape($ligne);
|
||||
if ($id)
|
||||
$bdd->query("UPDATE gspc SET nom = '$nom', caracteristique = '$carac', ligne = '$ligne', special = $quantite WHERE reftable = $id;");
|
||||
else
|
||||
$bdd->query("INSERT INTO gspc (nom, caracteristique, ligne, special) VALUES ('$nom', '$carac', '$ligne', $quantite);");
|
||||
$req = $bdd->unique_query("SELECT COUNT(reftable) AS nombre FROM gspc");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
else
|
||||
{
|
||||
$bdd = new BDD();
|
||||
$req = $bdd->unique_query("SELECT COUNT(reftable) AS nombre FROM gspc");
|
||||
$bdd->deconnexion();
|
||||
$bdd = new BDD();
|
||||
$req = $bdd->unique_query("SELECT COUNT(reftable) AS nombre FROM gspc");
|
||||
$bdd->deconnexion();
|
||||
}
|
||||
|
||||
$json["nombre"] = $req["nombre"];
|
||||
?>
|
||||
$xml_root->setAttribute("nombre", $req["nombre"]);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<property value="name">Gérer ses porte-clefs</property>
|
||||
<property value="description">Cette application vous permet de gérer facilement une collection de porte-clefs.</property>
|
||||
<property value="etatAvancement">final</property>
|
||||
<property value="version">1.1</property>
|
||||
<property value="version">1.2</property>
|
||||
<property value="lang">fr_FR</property>
|
||||
<property value="developpeur"><![CDATA[<span style="font-variant: small-caps">Mercier</span> Pierre-Olivier]]></property>
|
||||
<property value="corps">contenu</property>
|
||||
|
|
@ -21,28 +21,24 @@
|
|||
<display value="script">app.js</display>
|
||||
<display value="body">
|
||||
<![CDATA[
|
||||
<h1>Bienvenue dans la gestion de collection de porte-clefs</h1>
|
||||
<ul id="GSPC_menu">
|
||||
<li><h2>Porte-clefs</h2></li>
|
||||
<li onclick="GSPC_add();">Ajouter un porte-clef</li>
|
||||
<li onclick="GSPC_list();">Liste des porte-clefs</li>
|
||||
<li onclick="GSPC_stats();">Liste des lignes</li>
|
||||
<li>Nombre de porte-clefs enregistrés : <span id="nbpc"></span></li>
|
||||
</ul>
|
||||
<div id="contenu"></div>
|
||||
<h1>Bienvenue dans la gestion de collection de porte-clefs</h1>
|
||||
<ul id="GSPC_menu">
|
||||
<li><h2>Porte-clefs</h2></li>
|
||||
<li onclick="GSPC_add();">Ajouter un porte-clef</li>
|
||||
<li onclick="GSPC_list();">Liste des porte-clefs</li>
|
||||
<li onclick="GSPC_stats();">Liste des lignes</li>
|
||||
<li>Nombre de porte-clefs enregistrés : <span id="nbpc"></span></li>
|
||||
</ul>
|
||||
<div id="contenu"></div>
|
||||
]]>
|
||||
</display>
|
||||
<display value="js">
|
||||
<![CDATA[
|
||||
function runApplication(property, display, json)
|
||||
function runApplication(property, display)
|
||||
{
|
||||
$('logo').style.display = 'none';
|
||||
$('#logo').css("display", 'none');
|
||||
|
||||
$('contenu').innerHTML = "";
|
||||
news = document.createElement("div");
|
||||
news.className = "news";
|
||||
news.innerHTML = "<h3>Bienvenue dans la version finale de GSPC pour Pommultimédia For Home !</h3>Cette nouvelle version a été encore plus simplifiée et réduit les temps d'attente en préchargeant les données de manière asynchrone.<br />N'hésitez pas à nous faire part de vos commentaires. Bonne utilisation ;)";
|
||||
$('contenu').appendChild(news);
|
||||
$('#contenu').html("<div class=\"news\"><h3>Bienvenue dans la version finale de GSPC pour Pommultimédia For Home !</h3>Cette nouvelle version a été encore plus simplifiée et réduit les temps d'attente en préchargeant les données de manière asynchrone.<br />N'hésitez pas à nous faire part de vos commentaires. Bonne utilisation ;)</div>");
|
||||
}
|
||||
]]>
|
||||
</display>
|
||||
|
|
|
|||
|
|
@ -3,14 +3,17 @@
|
|||
<display value="titre">aproposdusite.png</display>
|
||||
<display value="body">
|
||||
<![CDATA[
|
||||
<h2>A propos de Pommultimedia for Home</h2>
|
||||
<h3>Pommultimedia for Home<br />
|
||||
Version 0.2 du 22/04/2011</h3>
|
||||
<h3>Ce site a été développé avec Emacs et Eclipse (plug-in Aptana) sur un serveur utilisant la technologie <a href="http://www.php.net/">PHP</a>.</h3>
|
||||
<br />
|
||||
<h3>Navigateurs conseillés : <a href="www.mozilla.org/firefox/">Mozilla Firefox</a> et <a href="http://www.google.com/chrome/">Google Chrome</a>.</h3>
|
||||
<br />
|
||||
<h2>À propos de Pommultimedia for Home</h2>
|
||||
<h3>Pommultimédia for Home<br>Version 0.3 du 30/12/2013</h3>
|
||||
<h3>Ce site a été développé avec <a href="https://www.gnu.org/software/emacs/">Emacs</a> et <a href="https://www.eclipse.org">Eclipse</a> (plug-in <a href="http://www.aptana.org/">Aptana</a>) sur un serveur utilisant la technologie <a href="http://www.php.net/">PHP</a>.</h3>
|
||||
<br>
|
||||
<h3>Navigateur conseillé : <a href="http://www.mozilla.org/firefox/">Mozilla Firefox</a>.</h3>
|
||||
<br>
|
||||
<h3>Historique des versions :</h3>
|
||||
<h4>Version 0.3 du 30/12/2013</h4>
|
||||
<ul>
|
||||
<li>Utilisation de JQuery au lieu de Prototype</li>
|
||||
</ul>
|
||||
<h4>Version 0.2 du 22/04/2011</h4>
|
||||
<ul>
|
||||
<li>Factorisation du code JavaScript du framework</li>
|
||||
|
|
|
|||
|
|
@ -5,57 +5,59 @@
|
|||
<![CDATA[
|
||||
<h1>Bienvenue sur le serveur <em>Pommultimédia for home</em> !</h1>
|
||||
<h2>Pour vous connecter au serveur, veuillez indiquer votre nom d'utilisateur ainsi que votre mot de passe.</h2>
|
||||
<form action="#" method="post">
|
||||
<fieldset class="connexion">
|
||||
<label for="pseudo">Nom d'utilisateur :</label>
|
||||
<input type="text" id="pseudo" maxlength="32"><br>
|
||||
<label for="mdp">Mot de passe :</label>
|
||||
<input type="password" id="mdp" maxlength="32"><br>
|
||||
<input type="submit" value="Connexion">
|
||||
<form action="#" method="post" class="form-horizontal" id="login-form">
|
||||
<fieldset class="col-md-4 col-md-offset-4 well">
|
||||
<div class="form-group">
|
||||
<label for="pseudo" class="col-sm-6 control-label">Nom d'utilisateur :</label>
|
||||
<div class="col-sm-6"><input type="text" id="pseudo" maxlength="32" class="form-control"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="mdp" class="col-sm-6 control-label">Mot de passe :</label>
|
||||
<div class="col-sm-6"><input type="password" id="mdp" maxlength="32" class="form-control"></div>
|
||||
</div>
|
||||
<div class="form-group"><div class="col-sm-offset-6 col-sm-6"><button type="submit" id="submit" class="btn btn-primary">Connexion</button></div></div>
|
||||
<div id="erreur" style="text-align: center"></div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<p id="erreur"></p>
|
||||
]]>
|
||||
</display>
|
||||
<display value="js">
|
||||
<![CDATA[
|
||||
function connexion(nom, pass)
|
||||
{
|
||||
printEtat(4);
|
||||
$('pseudo').disabled = "disabled";
|
||||
$('mdp').disabled = "disabled";
|
||||
new Ajax.Request(
|
||||
'ajax.php?d=connecte',
|
||||
{
|
||||
method: 'post',
|
||||
parameters: {name: nom, mdp: pass},
|
||||
onSuccess: function(transport, json)
|
||||
{
|
||||
if (json.statut == 1)
|
||||
{
|
||||
printEtat(2);
|
||||
username = nom.toLowerCase();
|
||||
page_accueil();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('pseudo').disabled = "";
|
||||
$('mdp').disabled = "";
|
||||
$('pseudo').className = "erreur";
|
||||
$('mdp').className = "erreur";
|
||||
$('erreur').innerHTML = "Nom d'utilisateur ou mot de passe incorrect !";
|
||||
$('pseudo').focus();
|
||||
$('pseudo').select();
|
||||
printEtat(0);
|
||||
}
|
||||
},
|
||||
onFailure: function() { printEtat(3); }
|
||||
}
|
||||
);
|
||||
printState(4);
|
||||
$('#pseudo').prop("disabled", true);
|
||||
$('#mdp').prop("disabled", true);
|
||||
|
||||
$.ajax({
|
||||
url: "ajax.php?d=connecte",
|
||||
type: "POST",
|
||||
data: {name: nom, mdp: pass}
|
||||
}).done(function(data) {
|
||||
if (data.documentElement.getAttribute("statut") == 1)
|
||||
{
|
||||
printState(2);
|
||||
username = nom.toLowerCase();
|
||||
page_accueil();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#pseudo').prop("disabled", false);
|
||||
$('#mdp').prop("disabled", false);
|
||||
$('#pseudo').parent().parent().addClass("has-error");
|
||||
$('#mdp').parent().parent().addClass("has-error");
|
||||
$('#erreur').html('<div class="alert alert-danger">Nom d\'utilisateur ou mot de passe incorrect !</div>');
|
||||
$('#pseudo').focus();
|
||||
$('#pseudo').select();
|
||||
printState(0);
|
||||
}
|
||||
}).fail(function(jqXHR, textStatus) {
|
||||
printState(7, textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
$('corps').getElementsByTagName("form")[0].onsubmit = function() { connexion($('pseudo').value, $('mdp').value); return false; };
|
||||
$('pseudo').focus();
|
||||
$('#login-form').submit(function() { connexion($('#pseudo').val(), $('#mdp').val()); return false; });
|
||||
$('#pseudo').focus();
|
||||
]]>
|
||||
</display>
|
||||
|
||||
|
|
|
|||
Reference in a new issue