From 7ba6e8ca0691af7586bf638d47b3bfd0ae1fc030 Mon Sep 17 00:00:00 2001
From: Nassim YAICI <nassim.yaici@ensiie.fr>
Date: Sun, 15 May 2016 13:30:34 +0200
Subject: [PATCH] =?UTF-8?q?Ajout=20de=20certzines=20fonctionnalit=C3=A9s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 accueil.php         |   4 ++
 adminAddKey.php     | 129 ++++++++++++++++++++++++++++++++++++++++++++
 adminEdit.php       |   4 ++
 adminEditTopics.php |   4 ++
 affichetoppic.php   |   9 ++--
 base.sql            |  25 ++++-----
 edit.php            |   8 ++-
 newtopics.php       |   4 ++
 topiclist.php       |   4 ++
 9 files changed, 170 insertions(+), 21 deletions(-)
 create mode 100644 adminAddKey.php

diff --git a/accueil.php b/accueil.php
index e225c3b..d19d2c5 100644
--- a/accueil.php
+++ b/accueil.php
@@ -72,6 +72,10 @@ $bdd=bdd();
     </div>
       <div>
       <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminEditTopics.php'" >Edit toppics</button>
+    </div>
+    <br><br>
+    <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminAddKey.php'" >Add Category</button>
     </div>
       <?php
     }}
diff --git a/adminAddKey.php b/adminAddKey.php
new file mode 100644
index 0000000..8bf59f2
--- /dev/null
+++ b/adminAddKey.php
@@ -0,0 +1,129 @@
+<?php
+session_start();
+require_once("fonction.php");
+$bdd = bdd();
+
+if (isset($_POST['cat'])) {
+	$cat = pg_escape_string(htmlspecialchars($_POST['cat']));
+	$requete=pg_query('SELECT name FROM keys');
+	while ($result=pg_fetch_assoc($requete)) {
+		if ($result['name']==$cat) {
+			$erreur= 'Cette catégorie existe déjà !';
+			break;
+		}		
+	}
+	if (!isset($erreur)) {
+		$sql=pg_query("INSERT INTO keys(name) values('$cat')");
+	}
+}
+
+?>
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <title>Com-Ensiie</title>
+  <meta charset="utf-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="stylesheet" href="./bootstrap/css/bootstrap.css">
+  <link rel="stylesheet" href="./bootstrap/css/mystyle.css">
+  <script src="./script.js"></script>
+</head>
+<body>
+  <div class="container-fluid">
+  <div class="jumbotron">
+      <h1><span style="color: white">Com-Ensiie</span></h1>
+<?php
+if(isset($_SESSION['pseudo'])){
+  $pseudo=$_SESSION['pseudo'];
+?>
+       </div>
+       <button type="button" class="btn btn-success btn-right" onclick="location.href='./deconnexion.php'" >Deconnexion</button>
+       <button type="button" class="btn btn-success btn-right" onclick="location.href='./edit.php'" >Edit</button>
+       <button type="button" class="btn btn-success btn-right" onclick="location.href='./newtopics.php'" >Nouveau sujet</button>
+       <label for="hello"><?php echo "Vous êtes connectés entant que : $pseudo";?></label>
+       </div>
+<?php
+}
+else
+{
+?>
+  </div>
+    <button type="button" class="btn btn-success btn-right" onclick="location.href='./login.php'" >Se connecter</button>
+    <button type="button" class="btn btn-success btn-right" onclick="location.href='./register.php'">S'enregistrer</button>
+  </div>
+<?php
+}
+?>
+  <nav class="navbar navbar-inverse">
+    <div class="navbar-header">
+      <a class="navbar-brand" href="./accueil.php">Com-Ensiie</a>
+    </div>
+            <?php
+              $dn2 = pg_query("SELECT * FROM keys ORDER BY name asc");
+              while($reponse=pg_fetch_assoc($dn2))
+            {
+            ?>
+              <div class="navbar-header">
+                <ul class="nav navbar-nav">
+                <li class="dropdown active"><a href="./topiclist.php?category=<?php echo $reponse['name']; ?>"><?php echo $reponse['name']; ?></a></li>
+                </ul>
+              </div>            
+            <?php
+            }
+            ?>
+  </nav>
+</div>
+
+<div class="container-fluid text-center">    
+  <div class="row content">
+    <div class="col-sm-2 sidenav">
+      <?php
+      if(isset($_SESSION['su'])){
+      if ($_SESSION['su']=='t') {
+      ?>
+       <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminEdit.php'" >Edit users</button><br><br>
+      </div>
+      <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminEditTopics.php'" >Edit toppics</button>
+    </div>
+    <br><br>
+    <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminAddKey.php'" >Add Category</button>
+    </div>
+      <?php
+    }
+    }
+      ?>
+    </div>
+    <div class="col-lg-8 text-left"> 
+        <form class="form-horizontal" role="form" method="post" action="./adminAddKey.php">
+        	<br>
+          <div class="row edir">
+               <label class="col-sm-2 text-right">Nom de la catégorie</label>
+               <div class="col-xs-4">
+                  <input class="form-control" id="focusedInput" required type="text" name="cat" placeholder ="Catégorie..."
+                  aria-required="true" pattern="^([- \w\d\u00c0-\u024f]+)$" spellcheck="false">
+               </div>
+          </div>
+          <div class="row edit">
+            <div class="col-sm-offset-2 col-xs-4">
+            	<button id="submit" class="btn btn-primary edit center-block">Ajouter</button>
+            	<?php
+            	if (isset($erreur)) {
+            		echo $erreur;
+            	}
+            	?>
+        	</div>
+          </div>
+        </form>
+    </div>
+  
+    
+  </div>
+</div>
+    <div class="footer"></div>
+</div>
+</body>
+</html>
diff --git a/adminEdit.php b/adminEdit.php
index 72948d7..8b2d964 100644
--- a/adminEdit.php
+++ b/adminEdit.php
@@ -73,6 +73,10 @@ else
     </div>
       <div>
       <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminEditTopics.php'" >Edit toppics</button>
+    </div>
+    <br><br>
+    <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminAddKey.php'" >Add Category</button>
     </div>
       <?php
     }
diff --git a/adminEditTopics.php b/adminEditTopics.php
index d8822a1..192a4dc 100644
--- a/adminEditTopics.php
+++ b/adminEditTopics.php
@@ -74,6 +74,10 @@ else
     </div>
     <div>
         <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminEditTopics.php'" >Edit toppics</button>
+    </div>
+    <br><br>
+    <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminAddKey.php'" >Add Category</button>
     </div>
       <?php
     }}
diff --git a/affichetoppic.php b/affichetoppic.php
index 0d9300e..9fda58d 100644
--- a/affichetoppic.php
+++ b/affichetoppic.php
@@ -74,6 +74,10 @@ else
     </div>
       <div>
       <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminEditTopics.php'" >Edit toppics</button>
+    </div>
+    <br><br>
+    <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminAddKey.php'" >Add Category</button>
     </div>
       <?php
     }}
@@ -81,8 +85,8 @@ else
     </div>
 <?php
 if(isset($_GET['toppic'])){
-  $name=htmlspecialchars($_GET['toppic']);
-  $sql=pg_fetch_assoc(pg_query("SELECT pseudo, adr_mail as mail, toppics.content, toppics.date, toppics.id, comments.date as comment FROM (users JOIN toppics ON (users.id=toppics.users_id)) JOIN comments ON(toppics.id=toppics_id) WHERE namet='$name' ORDER BY (toppics.date, comments.date)"));
+  $name=pg_escape_string(htmlspecialchars($_GET['toppic']));
+  $sql=pg_fetch_assoc(pg_query("SELECT pseudo, adr_mail as mail,comments.users_id as user, toppics.content, toppics.date, toppics.id, comments.date as comment FROM (users JOIN toppics ON (users.id=toppics.users_id)) Left OUTER JOIN comments on (toppics.id=comments.toppics_id)WHERE namet='$name' ORDER BY (toppics.date, comments.date)"));
   $auteur=$sql['pseudo'];
   $id=$sql['id'];
 }
@@ -179,7 +183,6 @@ else{
  </div>
   <div>
   
-
   </div>
 </div>
 
diff --git a/base.sql b/base.sql
index a4cb37d..05a2c5a 100644
--- a/base.sql
+++ b/base.sql
@@ -11,12 +11,13 @@
 CREATE TABLE public.toppics
 (
   id SERIAL,
-  titre  character varying(255) NOT NULL,
+  namet  character varying(255) NOT NULL,
   content text,
-  date_creat date,
-  users_id  SERIAL,
+  date date,
+  users_id  INT,
   CONSTRAINT toppics_pkey PRIMARY KEY (id),
-  CONSTRAINT toppics_fkey FOREIGN KEY(users_id) REFERENCES users
+  CONSTRAINT toppics_fkey FOREIGN KEY(users_id) REFERENCES users(id) ON DELETE CASCADE,
+  CONSTRAINT toppicskey_fkey FOREIGN KEY (id_key) REFERENCES keys(id) ON DELETE CASCADE
 );
 
 CREATE TABLE public.comments
@@ -24,23 +25,15 @@ CREATE TABLE public.comments
   id SERIAL,
   content text NOT NULL,
   date date,
-  toppics_id SERIAL,
-  users_id SERIAL,
+  toppics_id INT,
+  users_id INT,
   CONSTRAINT comments_pkey PRIMARY KEY (id),
-  CONSTRAINT comments_fkey FOREIGN KEY(toppics_id) REFERENCES toppics,
-  CONSTRAINT comments_fkey2 FOREIGN KEY(users_id) REFERENCES users
+  CONSTRAINT comments_fkey FOREIGN KEY(toppics_id) REFERENCES toppics(id) ON DELETE CASCADE,
+  CONSTRAINT comments_fkey2 FOREIGN KEY(users_id) REFERENCES users(id) ON DELETE CASCADE
 );
 
 CREATE TABLE public.keys
 (
   id SERIAL,
   name character varying(255) NOT NULL
-);
-
-CREATE TABLE public.keyToppics
-(
-  keys_id SERIAL,
-  toppics_id SERIAL,
-  CONSTRAINT keyToppics_fk FOREIGN KEY(toppics_id) REFERENCES toppics,
-  CONSTRAINT keyToppics_fk2 FOREIGN KEY(keys_id) REFERENCES users
 );
\ No newline at end of file
diff --git a/edit.php b/edit.php
index 40ce5ff..a797b31 100644
--- a/edit.php
+++ b/edit.php
@@ -52,8 +52,8 @@ else
 {
 ?>
   </div>
-    <button type="button" class="btn btn-success btn-right" onclick="location.href='./login.php'" >Log In</button>
-    <button type="button" class="btn btn-success btn-right" onclick="location.href='./register.php'">Register</button>
+    <button type="button" class="btn btn-success btn-right" onclick="location.href='./login.php'" >Se connecter</button>
+    <button type="button" class="btn btn-success btn-right" onclick="location.href='./register.php'">S'enregistrer</button>
   </div>
 <?php
 }
@@ -90,6 +90,10 @@ else
       </div>
       <div>
       <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminEditTopics.php'" >Edit toppics</button>
+    </div>
+    <br><br>
+    <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminAddKey.php'" >Add Category</button>
     </div>
       <?php
     }
diff --git a/newtopics.php b/newtopics.php
index 08a3872..25acece 100644
--- a/newtopics.php
+++ b/newtopics.php
@@ -93,6 +93,10 @@ else
     </div>
       <div>
       <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminEditTopics.php'" >Edit toppics</button>
+    </div>
+    <br><br>
+    <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminAddKey.php'" >Add Category</button>
     </div>
       <?php
     }}
diff --git a/topiclist.php b/topiclist.php
index 38006ba..d697e1a 100644
--- a/topiclist.php
+++ b/topiclist.php
@@ -74,6 +74,10 @@ else
     </div>
       <div>
       <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminEditTopics.php'" >Edit toppics</button>
+    </div>
+    <br><br>
+    <div>
+      <button type="button" class="btn btn-info btn-right" onclick="location.href='./adminAddKey.php'" >Add Category</button>
     </div>
       <?php
     }}
-- 
GitLab