Ignore:
Timestamp:
Nov 14, 2014 4:46:37 PM (11 years ago)
Author:
quyenla
Message:

dang ki dich vu

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pro-violet-viettel/sourcecode/application/modules/frontend/controllers/user.php

    r502 r503  
    1 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    2 
    3 class 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                         $this->load->model('servicepackage_model');
    20                         $user = $user_info['user'];
    21                         $us_id = $user_info['us_id'];
    22                         $src = "SBG";
    23                         $token = md5($us_id.self::TOKENPW);
    24                         $data = $this->get_data($src, $token, $us_id);
    25                         $data['packages'] =$this->servicepackage_model->getAllPackages();
    26                         $this->load->view('frontend/user_profile', $data);
    27                        
    28                 }else
    29                 {
    30                         redirect('frontend/home');
    31                 }
    32         }
    33         public function packageRegister()
     1<?php
     2
     3if (!defined('BASEPATH'))
     4    exit('No direct script access allowed');
     5
     6class User extends MX_Controller {
     7
     8    const TOKENPW = 'violet';
     9
     10    public function __construct() {
     11        parent::__construct();
     12        $this->load->helper('cookie');
     13    }
     14
     15    public function profile() {
     16        $user_info = $this->session->userdata('userInfo');
     17        if ($user_info) {
     18            $this->load->model('servicepackage_model');
     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            $data['current_tab']=$this->uri->segment(4,'edit-basic');
     25            $data['packages'] = $this->servicepackage_model->getAllPackages();
     26            $this->load->view('frontend/user_profile', $data);
     27        } else {
     28            redirect('frontend/home');
     29        }
     30    }
     31
     32    public function packageRegister() {
     33        $result = array();
     34        $input = $this->input->post();
     35        $this->load->model('user_model');
     36        $user_info = $this->session->userdata('userInfo');
     37        if ($user_info) {
     38            parse_str($user_info['user'], $info);
     39            $this->load->model('servicepackage_model');
     40           
     41            $package = $this->servicepackage_model->getPackage($input['p_id']);
     42            $user = $user_info['user'];
     43            $us_id = $user_info['us_id'];
     44            $user = $this->user_model->get_user_by_id($us_id);
     45            $result['can_buy'] = 1;
     46            $result['can_edit'] = 0;
     47            if ($user['acc_balanced'] < $package['p_price']) {
     48                $result['can_buy'] = 0;
     49            }
     50            if ($user['p_id'] < 1) {
     51                $result['can_edit'] = 1;
     52            }
     53            $result['info'] = $info;
     54            $result['user'] = $user;
     55            $result['package'] = $package;
     56            $result['modal'] = $this->load->view('frontend/package_register_modal', $result, true);
     57        } else {
     58           
     59        }
     60        echo json_encode($result);
     61    }
     62
     63    public function finishRegisterPackage() {
     64        $result = array();
     65        $result['success'] = 0;
     66        $this->load->model('user_model');
     67        $input = $this->input->post();
     68        $user_info = $this->session->userdata('userInfo');
     69        parse_str($user_info['user'],$info);
     70        if (isset($input['fullname'])) {
     71            if (strlen($input['fullname']) < 10) {
     72                $result['errors'][] = "Vui lòng nhập tên đầy đủ tối thiểu 10 kí tá»±";
     73            }
     74            if (strlen($input['school']) < 10) {
     75                $result['errors'][] = "Vui lòng nhập đơn vị quí vị đang cÃŽng tác tối thiểu 10 kí tá»±";
     76            }
     77            if (!isset($result['errors'])) {
     78                $user_info = $this->session->userdata('userInfo');
     79                if ($user_info) {
     80                   
     81                    $src = "SBG";
     82                    $us_id=$user_info['us_id'];
     83                    $input['password'] = '';
     84                    $input['oldpass'] = '';
     85                    $input['gender'] = '';
     86                    $input['email'] ='';
     87                    $input['province'] = '';
     88                    $info['fullname']=$input['fullname'];
     89                    $info['school']=$input['school'];
     90                    $token = md5($us_id . self::TOKENPW);
     91                    $user = $this->get_data($src, $token, $us_id);
     92                    if ($input) {
     93                        $this->load->model('user_model');
     94                        $update = $this->user_model->update_user($src, $token, $input, $us_id);
     95                        $info= urldecode(http_build_query($info));
     96                        $userdata = array('username' => $user_info['username'], 'user' => $info, 'us_id' => $user_info['us_id'], 'logined_in' => TRUE);
     97                        $this->session->set_userdata('userInfo', $userdata);
     98                    }
     99                }
     100            }
     101        }
     102        if (isset($result['errors'])) {
     103            echo json_encode($result);
     104            die();
     105        }
     106        $this->load->model('servicepackage_model');
     107        $us_id = $user_info['us_id'];
     108        $user = $this->user_model->get_user_by_id($us_id);
     109        $package = $this->servicepackage_model->getPackage($input['p_id']);
     110        $user['acc_balanced']=$user['acc_balanced']-$package['p_price'];
     111       
     112        if ($package['p_unit']=="months")
    34113        {
    35                 $result=array();
    36                 $input=$this->input->post();
    37                 $user_info = $this->session->userdata('userInfo');
    38                 if ($user_info)
    39                 {       
    40                         $this->load->model('servicepackage_model');
    41                         $this->load->model('user_model');
    42                         $package=$this->servicepackage_model->getPackage($input['p_id']);
    43                         $user = $user_info['user'];
    44                         $us_id = $user_info['us_id'];
    45                         $user = $this->user_model->get_user_by_id($us_id);
    46                         $result['can_buy']=1;
    47                         $result['can_edit']=0;
    48                         if ($user['acc_balanced'] < $package['p_price'])
    49                         {
    50                         $result['can_buy']=0;   
    51                         }
    52                        
    53                         if ($user['p_id'] < 1)
    54                         {
    55                         $result['can_edit']=1;
    56                         }
    57                         $result['user']=$user;
    58                         $result['package']=$package;
    59                         $result['modal']=$this->load->view('frontend/package_register_modal', $result,true);
    60                 }else
    61                 {
    62                        
    63                 }
     114        $user['expire_date']=date('Y-m-d 00:00:00', strtotime("+".$package['p_period']." months", strtotime($user['expire_date'])));
     115        }
     116        if ($package['p_unit']=="days")
     117        {
     118        $user['expire_date']=date('Y-m-d 00:00:00', strtotime("+3 days", strtotime($user['expire_date'])));
     119        }
     120        $user['expire_date']=date("Y-m-d 00:00:00",  (strtotime($user['expire_date'])-1));
     121        $user['p_id']=$package['p_id'];
     122        $this->user_model->updateUser($us_id,$user);
     123        $user['expire_date']=date("d-m-Y",  (strtotime($user['expire_date'])));
     124        $result['expire_date']=$user['expire_date'];
     125        $result['success'] = 1;
     126        echo json_encode($result);
     127       
     128    }
     129   
     130
     131    private function get_data($src, $token, $us_id) {
     132        $this->load->model('user_model');
     133        $user = $this->user_model->get_user_info($src, $token, $us_id);
     134
     135        if (strpos($user, '&')) {
     136            parse_str($user);
     137            $us = $this->user_model->get_user_by_id($us_id);
     138            $data = array('us_id' => $us_id, 'username' => $username, 'fullname' => $fullname,
     139                'gender' => $gender, 'email' => $email, 'phone' => $phone, 'school' => $school, 'province' => $province,
     140                'acc_balanced' => $us['acc_balanced'], 'expire_date' => $us['expire_date'], 'date_diff' => $this->dateDiff($us['expire_date'])
     141            );
     142            return $data;
     143        } else {
     144            return "";
     145        }
     146    }
     147
     148    private function dateDiff($expire_date) {
     149        $date1 = date("Y-m-d");
     150        if ((strtotime($expire_date) - strtotime($date1)) < 0)
     151            return "0 ngày còn lại";
     152        $diff = strtotime($expire_date) - strtotime($date1);
     153        $years = floor($diff / (365 * 60 * 60 * 24));
     154        $months = floor(($diff - $years * 365 * 60 * 60 * 24) / (30 * 60 * 60 * 24));
     155        $days = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24) / (60 * 60 * 24));
     156        if ($years > 0) {
     157            return $years . " năm, " . $months . " tháng, " . $days . " ngày còn lại";
     158        } else {
     159            if ($months > 0) {
     160                return $months . " tháng, " . $days . " ngày còn lại";
     161            } else {
     162                return $days . " ngày còn lại";
     163            }
     164        }
     165    }
     166    public function test()
     167    {
     168        $user_info = $this->session->userdata('userInfo');
     169        echo "<pre>";
     170        print_r ($user_info);
     171        echo "</pre>";
     172    }
     173    public function update_user() {
     174        $this->load->helper('email');
     175        $us_id = $this->uri->segment(4);
     176        $user_info = $this->session->userdata('userInfo');
     177       
     178        if ($user_info) {
     179            $result = array();
     180            $result['success'] = 0;
     181            $src = "SBG";
     182            $token = md5($us_id . self::TOKENPW);
     183            $user = $this->get_data($src, $token, $us_id);
     184            $input = $this->input->post();
     185            if ($input) {
     186                $input['username'] = $user['username'];
     187                $input['fullname'] = $user['fullname'];
     188                $input['password'] = '';
     189                $input['oldpass'] = '';
     190                $this->load->model('user_model');
     191                $result['fullname'] = $input['fullname'];
     192                if (strlen($input['email']) > 0) {
     193                    if (!valid_email($input['email'])) {
     194                        $result['errors']['email_err'] = "Email khÃŽng đúng định dạng";
     195                    }
     196                }
     197                if (!isset($result['errors'])) {
     198                    $result['data'] = $this->user_model->update_user($src, $token, $input, $us_id);
     199                    $result['success'] = 1;
     200                }
    64201                echo json_encode($result);
     202            }
     203        } else {
     204            redirect('frontend/home');
    65205        }
    66206        private function get_data($src, $token, $us_id)
Note: See TracChangeset for help on using the changeset viewer.