Skip to content

Commit 02d1186

Browse files
Solução do Problema de substituição da foto do perfil
1 parent b14e798 commit 02d1186

File tree

2 files changed

+60
-63
lines changed

2 files changed

+60
-63
lines changed

application/controllers/User.php

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ public function insert(){
6363
public function profile(){
6464
$user = authorize(1);
6565

66-
$page = array(
66+
$page = [
6767
'user' => $user,
6868
'page_content' => 'user/profile',
6969
'page_title' => 'Minha Conta',
70-
);
70+
];
7171

7272
$this->load->view('public/base', $page);
7373
}
@@ -77,36 +77,44 @@ public function updateAccount(){
7777

7878
$this->load->model('UserModel');
7979

80-
$extension = explode(".", $_FILES['photo']['name']);
81-
$filename = $user->id_user.".".end($extension);
82-
83-
$config['upload_path'] = './assets/img/users/';
84-
$config['allowed_types'] = 'gif|jpg|png';
85-
$config['max_size'] = 100;
86-
$config['max_width'] = 1024;
87-
$config['max_height'] = 768;
88-
$config['file_name'] = $filename;
89-
90-
$this->load->library('upload', $config);
91-
92-
if (!$this->upload->do_upload('photo')){
93-
$this->session->set_flashdata('error', 'Problemas com o upload da imagem, tente outra.');
94-
redirect('/perfil');
95-
}
96-
9780
$newEmail = filter_var($this->input->post('email'), FILTER_VALIDATE_EMAIL);
9881
if($newEmail != $user->email && $this->UserModel->searchByEmail($newEmail)){
9982
$this->session->set_flashdata('error', 'Já existe conta com este email');
10083
redirect('/perfil');
10184
}
10285

10386
$user->name = html_escape($this->input->post('name'));
104-
$user->photo = $filename;
10587
$user->email = $newEmail;
10688
if($this->input->post('password') != ""){
10789
$user->password = password_hash($this->input->post('password'), PASSWORD_BCRYPT);
10890
}
10991

92+
if($_FILES['photo']['tmp_name'] != ""){
93+
$extension = explode(".", $_FILES['photo']['name']);
94+
$filename = $user->id_user.".".end($extension);
95+
96+
if(file_exists('./assets/img/users/'.$userphoto)){
97+
unlink('./assets/img/users/'.$user->photo);
98+
}
99+
100+
$config['upload_path'] = './assets/img/users/';
101+
$config['allowed_types'] = 'gif|jpg|png';
102+
$config['max_size'] = 100;
103+
$config['max_width'] = 1024;
104+
$config['max_height'] = 1024;
105+
$config['file_name'] = $filename;
106+
107+
$this->load->library('upload', $config);
108+
109+
if (!$this->upload->do_upload('photo')){
110+
$this->session->set_flashdata('error', 'Problemas com o upload da imagem, tente outra.');
111+
redirect('/perfil');
112+
}
113+
114+
$user->photo = $filename;
115+
}
116+
117+
110118
$this->UserModel->updateById($user, $user->id_user);
111119

112120
$this->session->set_flashdata('success', 'Perfil Atualizado');

application/views/user/profile.php

Lines changed: 32 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -14,55 +14,44 @@ function PreviewImage() {
1414

1515
</script>
1616

17-
<br>
18-
<div class="row">
19-
<div class="col-lg-12">
20-
<div class="container">
21-
<br>
22-
<div class="card">
23-
<h1 class="title">Minha Conta</h1>
2417

25-
<form action="<?php echo base_url('usuario/atualizar'); ?>" enctype="multipart/form-data" method="POST">
26-
<div class="row">
27-
<div class="col-lg-6">
2818

29-
<div class="input-container">
30-
<input type="text" name="name" value="<?php echo $user->name; ?>" id="name" required>
31-
<label for="name">Nome</label>
32-
<div class="bar"></div>
33-
</div>
34-
<div class="input-container">
35-
<input type="email" name="email" value="<?php echo $user->email; ?>" id="email" required>
36-
<label for="email">Email</label>
37-
<div class="bar"></div>
38-
</div>
39-
<div class="input-container">
40-
<input type="password" name="password" id="password">
41-
<label for="password">Senha</label>
42-
<div class="bar text-right"><em>Digite para alterar</em></div>
43-
</div>
19+
<form action="<?php echo base_url('usuario/atualizar'); ?>" enctype="multipart/form-data" method="POST">
20+
<div class="row">
21+
<div class="col-lg-6">
4422

45-
</div>
23+
<div class="input-container">
24+
<input type="text" name="name" value="<?php echo $user->name; ?>" id="name" required>
25+
<label for="name">Nome</label>
26+
<div class="bar"></div>
27+
</div>
28+
<div class="input-container">
29+
<input type="email" name="email" value="<?php echo $user->email; ?>" id="email" required>
30+
<label for="email">Email</label>
31+
<div class="bar"></div>
32+
</div>
33+
<div class="input-container">
34+
<input type="password" name="password" id="password">
35+
<label for="password">Senha</label>
36+
<div class="bar text-right"><em>Digite para alterar</em></div>
37+
</div>
4638

47-
<div class="col-lg-4 text-center">
48-
<div>
49-
<img alt="Foto do Perfil" id="uploadPreview" width="200px" height="200px" src="<?php echo base_url('assets/img/users/'.$user->photo); ?>" class="img-circle">
50-
<br><br>
51-
<a href="#" onclick="file_photo();" class="btn btn-default btn-sm"><i class="glyphicon glyphicon-camera"></i> Foto</a>
52-
</div>
39+
</div>
5340

54-
<div class="hidden">
55-
<input type="file" name="photo" onchange="PreviewImage();" id="uploadImage">
56-
<input name="teste" value="teste">
57-
</div>
58-
</div>
59-
</div>
41+
<div class="col-lg-4 text-center">
42+
<div>
43+
<img alt="Foto do Perfil" id="uploadPreview" width="200px" height="200px" src="<?php echo base_url('assets/img/users/'.$user->photo); ?>" class="img-circle">
44+
<br><br>
45+
<a href="#" onclick="file_photo();" class="btn btn-default btn-sm"><i class="glyphicon glyphicon-camera"></i> Foto</a>
46+
</div>
6047

61-
<div class="button-container">
62-
<button><span>Atualizar</span></button>
63-
</div>
64-
</form>
65-
</div>
48+
<div class="hidden">
49+
<input type="file" name="photo" onchange="PreviewImage();" id="uploadImage">
6650
</div>
6751
</div>
6852
</div>
53+
54+
<div class="button-container">
55+
<button><span>Atualizar</span></button>
56+
</div>
57+
</form>

0 commit comments

Comments
 (0)