From c03bfabf9b83b68bcf4df040382860ed3f0ede07 Mon Sep 17 00:00:00 2001
From: bruneau2017 <valentin.bruneau@ensiie.fr>
Date: Fri, 14 Dec 2018 15:46:07 +0100
Subject: [PATCH] Creation page modif identifiants des utilisateurs

---
 src/WebApp/application/controllers/User.php   | 50 ++++++++--
 src/WebApp/application/views/accueil.php      |  8 ++
 src/WebApp/application/views/compte.php       | 97 +++++++++++++++++++
 .../application/views/compte_success.php      | 74 ++++++++++++++
 4 files changed, 221 insertions(+), 8 deletions(-)
 create mode 100644 src/WebApp/application/views/compte.php
 create mode 100644 src/WebApp/application/views/compte_success.php

diff --git a/src/WebApp/application/controllers/User.php b/src/WebApp/application/controllers/User.php
index 3f352ea..b5cb6a0 100644
--- a/src/WebApp/application/controllers/User.php
+++ b/src/WebApp/application/controllers/User.php
@@ -58,13 +58,6 @@ class User extends CI_Controller {
 
             $this->form_validation->set_rules('password_c', 'Mot de passe', 'callback_verif_user');
 
-            $this->db->select('*');
-            $this->db->from('utilisateur');
-            $this->db->where(array('mail' => $_POST['email'] , 'password' => hash("sha1", $_POST['password_c']) ));
-            $query=$this->db->get();
-
-            $user=$query->row();
-
             if ($this->form_validation->run() == TRUE) {
                 $_SESSION['logged_in']=TRUE;
                 $_SESSION['username']=$_POST['email'];
@@ -90,11 +83,52 @@ class User extends CI_Controller {
             $this->form_validation->set_message('verif_user', 'Aucun compte ne correspond à ces identifiants');
             return FALSE;
         }
-}
+    }
 
     public function deconnexion(){
         $this->load->library('session');
         $this->load->view('deconnexion');
         $this->session->sess_destroy();
     }
+
+    public function compte(){
+        $this->load->view('compte');
+    }
+
+    public function compte_success(){
+        if(isset($_POST['edition'])) {
+
+            $this->load->database();
+
+            $this->load->library('session');
+
+            $this->form_validation->set_error_delimiters('<div class="error">', '</div>');
+
+            if($_POST['email_edit']!=$_SESSION['username']) {
+
+                $this->form_validation->set_rules('mail_edit', 'Mail', 'valid_email|is_unique[utilisateur.mail]');
+            }
+
+            $this->form_validation->set_rules('password_edit', 'Mot de passe', 'min_length[7]');
+
+            $this->form_validation->set_rules('password_c_edit', 'Confirmation du mot de passe', 'matches[password_edit]' );
+
+            if ($this->form_validation->run() == TRUE) {
+
+                $this->db->update('utilisateur');
+                $this->db->set('mail',$_POST['email_edit']);
+                $this->db->where(array('mail' => $_SESSION['username']));
+
+                if (isset($_POST['password_edit'])) {
+                    $mdp_hash = hash("sha1", $_POST['password_edit']);
+                    $this->db->update('utilisateur');
+                    $this->db->set('password',$mdp_hash);
+                    $this->db->where(array('mail' => $_POST['email_edit']));
+                }
+            }
+            else {
+                $this->load->view('compte');
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/WebApp/application/views/accueil.php b/src/WebApp/application/views/accueil.php
index 0bed431..095851b 100644
--- a/src/WebApp/application/views/accueil.php
+++ b/src/WebApp/application/views/accueil.php
@@ -66,6 +66,14 @@ defined('BASEPATH') OR exit('No direct script access allowed');
                   echo('</li>');
               }
               ?>
+              <?php
+              $this->load->library('session');
+              if(isset($_SESSION['username'])){
+                  echo('<li class="nav-item">');
+                  echo('<a class="nav-link js-scroll-trigger" href="index.php/User/compte">Compte</a>');
+                  echo('</li>');
+              }
+              ?>
               <li class="nav-item">
                   <a class="nav-link js-scroll-trigger" href="index.php/User/inscription">Inscription </a>
               </li>
diff --git a/src/WebApp/application/views/compte.php b/src/WebApp/application/views/compte.php
new file mode 100644
index 0000000..b31bb21
--- /dev/null
+++ b/src/WebApp/application/views/compte.php
@@ -0,0 +1,97 @@
+<?php
+defined('BASEPATH') OR exit('No direct script access allowed');
+?><!DOCTYPE html>
+<html>
+<head>
+    <style>
+        .loading {
+            position: fixed;
+            left: 0px;
+            top: 0px;
+            width: 100%;
+            height: 100%;
+            z-index: 9999;
+            background: url('https://web.archive.org/web/20170914202017im_/http://bradsknutson.com/wp-content/uploads/2013/04/page-loader.gif') 50% 50% no-repeat rgb(249,249,249);
+            opacity: 0.8;
+        }
+
+    </style>
+
+    <link href="<?php echo base_url(); ?>application/css/styles.css" rel="stylesheet" >
+    <link href="<?php echo base_url(); ?>assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
+    <link href="<?php echo base_url(); ?>assets/css/grayscale.min.css" rel="stylesheet">
+
+    <script src="<?php echo base_url(); ?>assets/vendor/jquery/jquery.min.js"></script>
+    <script src="<?php echo base_url(); ?>assets/js/grayscale.min.js"></script>
+    <script src="<?php echo base_url(); ?>assets/js/new_film.js"></script>
+
+    <link href="<?php echo base_url(); ?>assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet">
+    <link href="https://fonts.googleapis.com/css?family=Varela+Round" rel="stylesheet">
+    <link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
+
+    <meta charset="utf-8">
+    <title>BingeWatcher</title>
+</head>
+<body id="page-top">
+<div class="loading"></div>
+<script> $('.loading').fadeOut(100); </script>
+
+<nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
+    <div class="container">
+        <a class="navbar-brand js-scroll-trigger" href="../.." onclick="$('.loading').fadeIn(1);">Accueil</a>
+    </div>
+</nav>
+
+
+<!-- Header -->
+<header class="masthead">
+    <div class="container d-flex h-100 align-items-center">
+        <div class="mx-auto text-center">
+            <h1 class="mx-auto my-0 text-uppercase">Vos informations : </h1>
+            <br><br><br>
+
+            <form action="compte_success" method="POST">
+                <div class="form-group">
+                    <input class="form-control" name="email_edit" id="email_edit" type="email" value="<?php $this->load->library('session'); echo($_SESSION['username']); ?>">
+                    <?php echo form_error("email_edit");?>
+                </div>
+                <br>
+                <div class="form-group">
+                    <input class="form-control" name="password_edit" id="password_edit" type="password" placeholder="Entrez votre nouveau mot de passe
+  ( Non requis si vous souhaitez modifier uniquement votre email ) ">
+                    <?php echo form_error("password_edit");?>
+                </div>
+                <br>
+                <div class="form-group">
+                    <input class="form-control" name="password_c_edit" id="password_c_edit" type="password" placeholder="Confirmez votre nouveau mot de passe">
+                    <?php echo form_error("password_c_edit");?>
+                </div>
+                <br>
+                <div>
+                    <button class="btn btn-primary mx-auto" name="edition">Modifier vos identifiants</button>
+                </div>
+            </form>
+        </div>
+    </div>
+</header>
+
+
+<!-- Footer -->
+<footer class="bg-black small text-center text-white-50">
+    <div class="container">
+        Copyright &copy; La team Zer Aka Pichet Hansen Gub Pruneau Barnum & Source (le sang de la veine cette équipe)
+    </div>
+</footer>
+
+<!-- Bootstrap core JavaScript -->
+<script src="<?php echo base_url(); ?>assets/vendor/jquery/jquery.min.js"></script>
+<script src="<?php echo base_url(); ?>assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
+
+<!-- Plugin JavaScript -->
+<script src="<?php echo base_url(); ?>assets/vendor/jquery-easing/jquery.easing.min.js"></script>
+
+<!-- Custom scripts for this template -->
+<script src="<?php echo base_url(); ?>assets/js/grayscale.min.js"></script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/src/WebApp/application/views/compte_success.php b/src/WebApp/application/views/compte_success.php
new file mode 100644
index 0000000..ba9f975
--- /dev/null
+++ b/src/WebApp/application/views/compte_success.php
@@ -0,0 +1,74 @@
+<?php
+defined('BASEPATH') OR exit('No direct script access allowed');
+?><!DOCTYPE html>
+<html>
+<head>
+
+    <style>
+        .loading {
+            position: fixed;
+            left: 0px;
+            top: 0px;
+            width: 100%;
+            height: 100%;
+            z-index: 9999;
+            background: url('https://web.archive.org/web/20170914202017im_/http://bradsknutson.com/wp-content/uploads/2013/04/page-loader.gif') 50% 50% no-repeat rgb(249,249,249);
+            opacity: 0.8;
+        }
+
+    </style>
+
+    <link href="<?php echo base_url(); ?>assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
+    <link href="<?php echo base_url(); ?>assets/css/grayscale.min.css" rel="stylesheet">
+
+    <script src="<?php echo base_url(); ?>assets/vendor/jquery/jquery.min.js"></script>
+    <script src="<?php echo base_url(); ?>assets/js/grayscale.min.js"></script>
+    <script src="<?php echo base_url(); ?>assets/js/new_film.js"></script>
+
+    <link href="<?php echo base_url(); ?>assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet">
+    <link href="https://fonts.googleapis.com/css?family=Varela+Round" rel="stylesheet">
+    <link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
+
+    <meta charset="utf-8">
+    <title>BingeWatcher</title>
+</head>
+<body id="page-top">
+<div class="loading"></div>
+<script> $('.loading').fadeOut(100); </script>
+
+<nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
+    <div class="container">
+        <a class="navbar-brand js-scroll-trigger" href="../.." onclick="$('.loading').fadeIn(1);">Accueil</a>
+    </div>
+</nav>
+
+
+<!-- Header -->
+<header class="masthead">
+    <div class="container d-flex h-100 align-items-center">
+        <div class="mx-auto text-center">
+            <h1 class="mx-0">Les modifications ont été enregistrées!</h1>
+        </div>
+    </div>
+</header>
+
+
+<!-- Footer -->
+<footer class="bg-black small text-center text-white-50">
+    <div class="container">
+        Copyright &copy; La team Zer Aka Pichet Hansen Gub Pruneau Barnum & Source (le sang de la veine cette équipe)
+    </div>
+</footer>
+
+<!-- Bootstrap core JavaScript -->
+<script src="<?php echo base_url(); ?>assets/vendor/jquery/jquery.min.js"></script>
+<script src="<?php echo base_url(); ?>assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
+
+<!-- Plugin JavaScript -->
+<script src="<?php echo base_url(); ?>assets/vendor/jquery-easing/jquery.easing.min.js"></script>
+
+<!-- Custom scripts for this template -->
+<script src="<?php echo base_url(); ?>assets/js/grayscale.min.js"></script>
+
+</body>
+</html>
\ No newline at end of file
-- 
GitLab