-
Notifications
You must be signed in to change notification settings - Fork 0
/
edit-profil.php
92 lines (85 loc) · 2.96 KB
/
edit-profil.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
use App\App;
use Core\Config;
use App\Vendor\InfoUser;
use App\Vendor\User;
use App\Vendor\Image;
require 'core/init.php';
if(!connect()) {
User::redirect('/home.php');
}
//On défini le titre
App::setTitle('Modification profil');
$id_page = "edit-profil";
$profil_user = InfoUser::getInstance($DB_con, $_SESSION['username']);
$user = User::getInstance($DB_con);
/* On récupère ensuite les infos */
$info_profil = $profil_user->getInfo();
$bio = $info_profil->bio;
/*
* Si on valide le formulaire sur le profil
*/
if(isset($_POST['SubmitProfil'])) {
$errors = array();
$data = array();
$bio = htmlspecialchars(trim($_POST['inputBio']));
$imgprofil = $_FILES['inputImg'];
/* Si la bio a été modifié et fait ne fait pas plus de 160 caractères */
if($bio != $info_profil->bio) {
if(strlen(utf8_decode($bio)) > 160) {
$errors['LengthBio'] = "Votre bio ne doit pas faire plus de 160 caractères";
} else {
/* On stock la valeur de la nouvelle bio */
$data['bio'] = $bio;
}
}
/* Si une image de profil a été mise */
if(isset($_FILES['inputImg']['name']) && !empty($_FILES['inputImg']['name'])) {
$uploadfile = Image::upload_img('inputImg');
if($uploadfile['status'] == 1) {
/* On supprime l'ancienne image */
Image::delete($info_profil->imgprofil);
/* On stock la valeur de la nouvelle img */
$data['imgprofil'] = $uploadfile['imgname'];
} else {
foreach($uploadfile as $key) {
$errors[] = $key;
}
}
}
/* Si une bannière a été mise */
if(isset($_FILES['inputBanniere']['name']) && !empty($_FILES['inputBanniere']['name'])) {
$uploadfile = Image::upload_img('inputBanniere', Config::get('image.banniere_path'));
if(isset($uploadfile['UploadOk'])) {
/* On supprime l'ancienne image */
Image::delete($info_profil->imgprofil, Config::get('image.banniere_path'));
/* On stock la valeur de la nouvelle img */
$data['banniere'] = $uploadfile['imgname'];
} else {
foreach($uploadfile as $key) {
$errors[] = $key;
}
}
}
/* Si il y a eu des erreurs on les affiches, sinon on fait les modifications */
if($errors) {
$allerror = "<ul>";
foreach ($errors as $key) {
$allerror .= "<li>" . $key . "</li>";
}
$allerror .= "</ul>";
setFlash($allerror, "danger");
} else {
if(!empty($data)) {
if($profil_user->changeInfo($data)) {
setFlash("Les modifications ont bien été faite", "success");
} else {
setFlash("Les modifications ont échoués", "danger");
}
} else {
setFlash("Vous n'avez rien changé !", "warning");
}
}
}
//On importe la vue
require Config::get('view.paths') . 'edit-profil.view.php';