source: pro-violet-viettel/sourcecode/application/modules/frontend/controllers/user.php @ 470

Last change on this file since 470 was 466, checked in by namnd, 11 years ago
File size: 4.3 KB
Line 
1<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
3class User extends MX_Controller
4{
5
6        const TOKENPW = 'violet';
7
8        public function __construct()
9        {
10                parent::__construct();
11                $this->load->helper('cookie');
12        }
13       
14        public function profile()
15        {
16                $user_info = $this->session->userdata('userInfo');
17                if ($user_info)
18                {
19                        $user = $user_info['user'];
20                        $us_id = $user_info['us_id'];
21                        $src = "SBG";
22                        $token = md5($us_id.self::TOKENPW);
23                        $data = $this->get_data($src, $token, $us_id);
24                        $this->load->view('frontend/user_profile', $data);
25                       
26                }else
27                {
28                        redirect('frontend/home');
29                }
30        }
31       
32        private function get_data($src, $token, $us_id)
33        {
34                $this->load->model('user_model');
35                $user = $this->user_model->get_user_info($src, $token, $us_id);
36               
37                if (strpos($user, '&')){
38                        parse_str($user);
39                        $us = $this->user_model->get_user_by_id($us_id);
40                        $data = array('us_id'=>$us_id, 'username'=>$username, 'fullname'=>$fullname,
41                                                'gender'=>$gender, 'email'=>$email, 'phone'=>$phone, 'school'=>$school, 'province'=>$province,
42                                                'acc_balanced'=>$us['acc_balanced'], 'expire_date'=>$us['expire_date'], 'date_diff'=>$this->dateDiff($us['expire_date'])
43                                        );
44                        return $data;
45                }else
46                {
47                        return "";
48                }
49        }
50       
51        private function dateDiff($expire_date)
52        {
53                $date1 = date("Y-m-d");
54                $diff = abs(strtotime($expire_date) - strtotime($date1));
55                $years = floor($diff / (365*60*60*24));
56                $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
57                $days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
58                if ($years>0){
59                        return $years." năm, ".$months." tháng, ".$days." ngày còn lại";
60                }
61                else{
62                        if ($months>0)
63                        {
64                                return  $months." tháng, ".$days." ngày còn lại";
65                        }
66                        else
67                        {
68                                return $days." ngày còn lại";
69                        }
70                }
71               
72        }
73       
74        public function update_user()
75        {
76                $this->load->helper('email');
77                $us_id=$this->uri->segment(4);
78                $user_info = $this->session->userdata('userInfo');
79                if ($user_info)
80                {
81                        $result = array();
82                        $result['success'] = 0;
83                        $src = "SBG";
84                        $token = md5($us_id.self::TOKENPW);
85                        $user = $this->get_data($src, $token, $us_id);
86                        $input = $this->input->post();
87                        if ($input){
88                                $input['username'] = $user['username'];
89                                $input['fullname'] = $user['fullname'];
90                                $input['password'] = '';
91                                $input['oldpass'] = '';
92                                $this->load->model('user_model');
93                                $result['fullname'] = $input['fullname'];
94                                if (strlen($input['email'])>0){
95                                        if(!valid_email($input['email']))
96                                        {
97                                                $result['errors']['email_err'] = "Email khÃŽng đúng định dạng";
98                                        }
99                                }
100                                if (!isset($result['errors'])){
101                                        $result['data'] = $this->user_model->update_user($src, $token, $input, $us_id);
102                                        $result['success'] = 1;
103                                }
104                                echo json_encode($result);
105                        }
106                       
107                }else
108                {
109                        redirect('frontend/home');
110                }
111        }
112       
113        public function change_password()
114        {
115                $us_id=$this->uri->segment(4);
116                $user_info = $this->session->userdata('userInfo');
117                if ($user_info)
118                {
119                        $this->load->model('user_model');
120                        $us_id = $user_info['us_id'];
121                        $src = "SBG";
122                        $token = md5($us_id.self::TOKENPW);
123                        if (strlen($input['passwd']) == 0)
124                        {
125                                $result['errors']['passwd_old_err'] = "Mật khẩu khÃŽng được để trống !";
126                        }
127                        if (strlen($input['passwd_new']) == 0)
128                        {
129                                $result['errors']['passwd_new_err'] = "Mật khẩu khÃŽng được để trống !";
130                        }else if($input['passwd'] == $input['passwd_new'])
131                        {
132                                $result['errors']['passwd_new_err'] = "Mật khẩu trùng với mật khẩu hiện tại !";
133                        }
134                        if ($input['passwd_new'] != $input['confirm_passwd_new'])
135                        {
136                                $result['errors']['confirm_passwd_new_err'] = "Mật khẩu khÃŽng trùng nhau !";
137                        }
138                        if (!isset($result['errors']))
139                        {
140                                $user = array('username'=>$username, 'fullname'=>null,  );
141                                $data = $this->user_model->update_user($src, $token, $user, $us_id);
142                                parse_str($data);
143                                switch($status)
144                                {
145                                        case 0:
146                                                $result['success'] = 1;
147                                                break;
148                                        case 6:
149                                                $result['errors']['passwd_old_err'] = "Mật khẩu cung cấp khÃŽng đúng !";
150                                                break;
151                                        default:
152                                                break;
153                                }
154                        }
155                       
156                        echo json_encode($result);
157                }else
158                {
159                        redirect('frontend/home');
160                }
161        }
162}
Note: See TracBrowser for help on using the repository browser.