Changeset 517


Ignore:
Timestamp:
Nov 14, 2014 7:03:33 PM (11 years ago)
Author:
dungnv
Message:
 
Location:
pro-violet-viettel/sourcecode/application/modules
Files:
5 edited

Legend:

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

    r508 r517  
    1 <?php
    2 
    3 if (!defined('BASEPATH'))
    4     exit('No direct script access allowed');
    5 
     1<?php
     2if (! defined ( 'BASEPATH' ))
     3        exit ( 'No direct script access allowed' );
    64class 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');
     5       
     6        const TOKENPW = 'violet';
     7
     8        public function __construct() {
     9                parent::__construct ();
     10                $this->load->helper ( 'cookie' );
     11        }
     12       
     13        public function profile() {
     14                $user_info = $this->session->userdata ( 'userInfo' );
     15                if ($user_info) {
     16                        $this->load->model ( 'servicepackage_model' );
     17                        $user = $user_info ['user'];
     18                        $us_id = $user_info ['us_id'];
     19                        $src = "SBG";
     20                        $token = md5 ( $us_id . self::TOKENPW );
     21                        $data = $this->get_data ( $src, $token, $us_id );
     22                        $data ['packages'] = $this->servicepackage_model->getAllPackages ();
     23                        $this->load->view ( 'frontend/user_profile', $data );
     24                } else {
     25                        redirect ( 'frontend/home' );
     26                }
     27        }
     28       
     29        public function packageRegister() {
     30                $result = array ();
     31                $input = $this->input->post ();
     32                $user_info = $this->session->userdata ( 'userInfo' );
     33                if ($user_info) {
     34                        $this->load->model ( 'servicepackage_model' );
     35                        $this->load->model ( 'user_model' );
     36                        $package = $this->servicepackage_model->getPackage ( $input ['p_id'] );
     37                        $user = $user_info ['user'];
     38                        $us_id = $user_info ['us_id'];
     39                        $user = $this->user_model->get_user_by_id ( $us_id );
     40                        $result ['can_buy'] = 1;
     41                        $result ['can_edit'] = 0;
     42                        if ($user ['acc_balanced'] < $package ['p_price']) {
     43                                $result ['can_buy'] = 0;
     44                        }
     45                       
     46                        if ($user ['p_id'] < 1) {
     47                                $result ['can_edit'] = 1;
     48                        }
     49                        $result ['user'] = $user;
     50                        $result ['package'] = $package;
     51                        $result ['modal'] = $this->load->view ( 'frontend/package_register_modal', $result, true );
     52                } else {
     53                }
     54=======
    1755
    1856        if ($user_info) {
     
    199237                    $result['success'] = 1;
    200238                }
     239>>>>>>> .r514
     240<<<<<<< .mine
     241                echo json_encode ( $result );
     242        }
     243       
     244        private function get_data($src, $token, $us_id) {
     245                $this->load->model ( 'user_model' );
     246                $user = $this->user_model->get_user_info ( $src, $token, $us_id );
     247               
     248                if (strpos ( $user, '&' )) {
     249                        parse_str ( $user );
     250                        $us = $this->user_model->get_user_by_id ( $us_id );
     251                        $data = array (
     252                                        'us_id' => $us_id,
     253                                        'username' => $username,
     254                                        'fullname' => $fullname,
     255                                        'gender' => $gender,
     256                                        'email' => $email,
     257                                        'phone' => $phone,
     258                                        'school' => $school,
     259                                        'province' => $province,
     260                                        'acc_balanced' => $us ['acc_balanced'],
     261                                        'expire_date' => $us ['expire_date'],
     262                                        'date_diff' => $this->dateDiff ( $us ['expire_date'] )
     263                        );
     264                        return $data;
     265                } else {
     266                        return "";
     267                }
     268        }
     269       
     270        private function dateDiff($expire_date) {
     271                $date1 = date ( "Y-m-d" );
     272                if ((strtotime ( $expire_date ) - strtotime ( $date1 )) < 0)
     273                        return "0 ngày còn lại";
     274                $diff = strtotime ( $expire_date ) - strtotime ( $date1 );
     275                $years = floor ( $diff / (365 * 60 * 60 * 24) );
     276                $months = floor ( ($diff - $years * 365 * 60 * 60 * 24) / (30 * 60 * 60 * 24) );
     277                $days = floor ( ($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24) / (60 * 60 * 24) );
     278                if ($years > 0) {
     279                        return $years . " năm, " . $months . " tháng, " . $days . " ngày còn lại";
     280                } else {
     281                        if ($months > 0) {
     282                                return $months . " tháng, " . $days . " ngày còn lại";
     283                        } else {
     284                                return $days . " ngày còn lại";
     285                        }
     286                }
     287        }
     288       
     289        public function update_user() {
     290                $this->load->helper ( 'email' );
     291                $us_id = $this->uri->segment ( 4 );
     292                $user_info = $this->session->userdata ( 'userInfo' );
     293                if ($user_info) {
     294                        $result = array ();
     295                        $result ['success'] = 0;
     296                        $src = "SBG";
     297                        $token = md5 ( $us_id . self::TOKENPW );
     298                        $user = $this->get_data ( $src, $token, $us_id );
     299                        $input = $this->input->post ();
     300                        if ($input) {
     301                                $input ['username'] = $user ['username'];
     302                                $input ['fullname'] = $user ['fullname'];
     303                                $input ['password'] = '';
     304                                $input ['oldpass'] = '';
     305                                $this->load->model ( 'user_model' );
     306                                $result ['fullname'] = $input ['fullname'];
     307                                if (strlen ( $input ['email'] ) > 0) {
     308                                        if (! valid_email ( $input ['email'] )) {
     309                                                $result ['errors'] ['email_err'] = "Email khÃŽng đúng định dạng";
     310                                        }
     311                                }
     312                                if (! isset ( $result ['errors'] )) {
     313                                        $result ['data'] = $this->user_model->update_user ( $src, $token, $input, $us_id );
     314                                        $result ['success'] = 1;
     315                                }
     316                                echo json_encode ( $result );
     317                        }
     318                } else {
     319                        redirect ( 'frontend/home' );
     320                }
     321        }
     322       
     323        public function change_password() {
     324                $us_id = $this->uri->segment ( 4 );
     325                $user_info = $this->session->userdata ( 'userInfo' );
     326                if ($user_info) {
     327                        $this->load->model ( 'user_model' );
     328                        $us_id = $user_info ['us_id'];
     329                        $src = "SBG";
     330                        $token = md5 ( $us_id . self::TOKENPW );
     331                        if (strlen ( $input ['passwd'] ) == 0) {
     332                                $result ['errors'] ['passwd_old_err'] = "Mật khẩu khÃŽng được để trống !";
     333                        }
     334                        if (strlen ( $input ['passwd_new'] ) == 0) {
     335                                $result ['errors'] ['passwd_new_err'] = "Mật khẩu khÃŽng được để trống !";
     336                        } else if ($input ['passwd'] == $input ['passwd_new']) {
     337                                $result ['errors'] ['passwd_new_err'] = "Mật khẩu trùng với mật khẩu hiện tại !";
     338                        }
     339                        if ($input ['passwd_new'] != $input ['confirm_passwd_new']) {
     340                                $result ['errors'] ['confirm_passwd_new_err'] = "Mật khẩu khÃŽng trùng nhau !";
     341                        }
     342                        if (! isset ( $result ['errors'] )) {
     343                                $user = array (
     344                                                'username' => $username,
     345                                                'fullname' => null
     346                                );
     347                                $data = $this->user_model->update_user ( $src, $token, $user, $us_id );
     348                                parse_str ( $data );
     349                                switch ($status) {
     350                                        case 0 :
     351                                                $result ['success'] = 1;
     352                                                break;
     353                                        case 6 :
     354                                                $result ['errors'] ['passwd_old_err'] = "Mật khẩu cung cấp khÃŽng đúng !";
     355                                                break;
     356                                        default :
     357                                                break;
     358                                }
     359                        }
     360                       
     361                        echo json_encode ( $result );
     362                } else {
     363                        redirect ( 'frontend/home' );
     364                }
     365        }
     366}=======
    201367                echo json_encode($result);
    202368            }
     
    249415
    250416}
     417>>>>>>> .r514
  • pro-violet-viettel/sourcecode/application/modules/frontend/models/user_model.php

    r510 r517  
    1 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
     1<?php
    22
    3 class User_model extends CI_Model
    4 {
    5        
     3if (! defined ( 'BASEPATH' ))
     4        exit ( 'No direct script access allowed' );
     5
     6class User_model extends CI_Model {
    67        const TOKENPW = 'violet';
    78       
    8         public function __construct(){
    9         parent::__construct();
    10                 $this->vservices->setApiUrl($this->config->item('api_url'));
    11                 $this->vservices->setConnection($this->curl);
    12     }
    13        
    14         public function checkLogin ($src, $token, $username, $password)
    15         {
    16                 $data = $this->vservices->actionExecute('login', array('src' => $src, 'token' => $token, 'username' => $username, 'password' => $password), 'user');
    17                
    18                 $arr_users = explode("&", $data);
     9        public function __construct() {
     10                parent::__construct ();
     11                $this->vservices->setApiUrl ( $this->config->item ( 'api_url' ) );
     12                $this->vservices->setConnection ( $this->curl );
     13        }
     14       
     15        public function checkLogin($src, $token, $username, $password) {
     16                $data = $this->vservices->actionExecute ( 'login', array (
     17                                'src' => $src,
     18                                'token' => $token,
     19                                'username' => $username,
     20                                'password' => $password
     21                ), 'user' );
     22               
     23                $arr_users = explode ( "&", $data );
    1924                $str_status = '';
    2025                $str_fullname = '';
     
    2328                $fullname = '';
    2429               
    25                 for ($i=0; $i < count($arr_users); $i++)
    26                 {
    27                         if (strpos($arr_users[$i], 'status=') !== false)
    28                         {
    29                                 $str_status = $arr_users[$i];
     30                for($i = 0; $i < count ( $arr_users ); $i ++) {
     31                        if (strpos ( $arr_users [$i], 'status=' ) !== false) {
     32                                $str_status = $arr_users [$i];
    3033                        }
    3134                       
    32                         if (strpos($arr_users[$i], 'fullname=') !== false)
    33                         {
    34                                 $str_fullname = $arr_users[$i];
     35                        if (strpos ( $arr_users [$i], 'fullname=' ) !== false) {
     36                                $str_fullname = $arr_users [$i];
    3537                        }
    3638                       
    37                         if (strpos($arr_users[$i], 'id=') !== false)
    38                         {
    39                                 $str_usid = $arr_users[$i];
    40                         }
    41                 }
    42                 $arr_status = explode("=", $str_status);
    43                 if ($str_fullname != '')
    44                 {
    45                         $arr_fullname = explode("=", $str_fullname);
    46                         $fullname = $arr_fullname[1];
    47                 }
    48                 if ($str_usid !== '')
    49                 {
    50                         $arr_usid = explode("=", $str_usid);
    51                         $usid = $arr_usid[1];
    52                 }
    53                 $status = (int)$arr_status[1];
    54                
    55                 if ($status == 0 || $status == 4){
    56                         $us_id = (int)$usid;
     39                        if (strpos ( $arr_users [$i], 'id=' ) !== false) {
     40                                $str_usid = $arr_users [$i];
     41                        }
     42                }
     43                $arr_status = explode ( "=", $str_status );
     44                if ($str_fullname != '') {
     45                        $arr_fullname = explode ( "=", $str_fullname );
     46                        $fullname = $arr_fullname [1];
     47                }
     48                if ($str_usid !== '') {
     49                        $arr_usid = explode ( "=", $str_usid );
     50                        $usid = $arr_usid [1];
     51                }
     52                $status = ( int ) $arr_status [1];
     53               
     54                if ($status == 0 || $status == 4) {
     55                        $us_id = ( int ) $usid;
    5756                        $query = "SELECT * FROM tbluser WHERE us_id = ?";
    58                         $result = $this->db->query($query, array($us_id));
    59                         if($result->num_rows() == 1){
     57                        $result = $this->db->query ( $query, array (
     58                                        $us_id
     59                        ) );
     60                        if ($result->num_rows () == 1) {
    6061                                return $data;
    61                         }else
    62                         {
     62                        } else {
    6363                                return null;
    6464                        }
    65                 }else
    66                 {
     65                } else {
    6766                        return $data;
    6867                }
    6968        }
    70 
    71         public function register ($username, $collaborator, &$status='')
    72         {
    73                 $user = array();
    74                 $password = $this->create_random_password();
     69       
     70        public function register($username, $collaborator, &$status = '') {
     71                $user = array ();
     72                $password = $this->create_random_password ();
    7573                $src = 'SBG';
    7674                $sms = '';
    7775                $id = 0;
    7876                $errMsg = '';
    79                 $token = md5($username.self::TOKENPW);         
     77                $token = md5 ( $username . self::TOKENPW );
    8078                $phone = $username;
    8179               
    82                 if (!is_null($collaborator) || $collaborator != ''){
    83                         if(!$this->isExistcollaborator($collaborator)){
    84                                 $sms = "Khong tim thay cong tac vien nao co so dien thoai [".$collaborator."] tren soanbaigiang.smas.vn!";
     80                if (! is_null ( $collaborator ) || $collaborator != '') {
     81                        if (! $this->isExistcollaborator ( $collaborator )) {
     82                                $sms = "Khong tim thay cong tac vien nao co so dien thoai [" . $collaborator . "] tren soanbaigiang.smas.vn!";
    8583                                $status = 0;
    86                                 return $status.'|'.$sms;
    87                         }
    88                 }
    89                
    90                 $data = $this->vservices->actionExecute('update', array('src'=>$src, 'username'=>$username, 'password'=>$password, 'fullname'=>null, 'phone'=>$username, 'token'=>$token), 'user');
    91                 parse_str($data);
    92                 switch((int)$status)
    93                 {
    94                         case 0:
     84                                return $status . '|' . $sms;
     85                        }
     86                }
     87               
     88                $data = $this->vservices->actionExecute ( 'update', array (
     89                                'src' => $src,
     90                                'username' => $username,
     91                                'password' => $password,
     92                                'fullname' => null,
     93                                'phone' => $username,
     94                                'token' => $token
     95                ), 'user' );
     96               
     97                parse_str ( $data );
     98               
     99                switch (( int ) $status) {
     100                        case 0 :
    95101                                $us_id = $id;
    96                                 $user['created_time'] = date('Y-m-d H:i:s');
    97                                 $user['us_id'] = $us_id;
    98                                 $user['cellphone'] = $username;
    99                                 if (!is_null($collaborator) || $collaborator != ''){
    100                                         $user['collaborator'] = $collaborator;
     102                                $user ['created_time'] = date ( 'Y-m-d H:i:s' );
     103                                $user ['us_id'] = $us_id;
     104                                $user ['cellphone'] = $username;
     105                                if (! is_null ( $collaborator ) || $collaborator != '') {
     106                                        $user ['collaborator'] = $collaborator;
    101107                                }
    102                                 $this->db->query('UNLOCK TABLES');
    103                                 $this->db->insert('tbluser', $user);
    104                                 $sms = "Chuc mung Qui vi da dang ky thanh cong tai khoan Soan Bai giang Online. Hay dang nhap vao soanbaigiang.smas.vn voi ten truy nhap ".$username.", mat khau ".$password." de su dung.";
     108                                $this->db->query ( 'UNLOCK TABLES' );
     109                                $this->db->insert ( 'tbluser', $user );
     110                                $sms = "Chuc mung Qui vi da dang ky thanh cong tai khoan Soan Bai giang Online. Hay dang nhap vao soanbaigiang.smas.vn voi ten truy nhap " . $username . ", mat khau " . $password . " de su dung.";
    105111                                $status = 1;
    106112                                break;
    107                         case 2:
    108                         case 4:
     113                        case 2 :
     114                        case 4 :
    109115                                $sms = "So dien thoai cua Qui vi da duoc dang ky!";
    110116                                $status = 0;
    111117                                break;
    112                         default:
     118                        default :
    113119                                $status = 0;
    114120                                $sms = $errMsg;
     
    116122                }
    117123               
    118                 return $status.'|'.$sms;
    119         }
    120        
    121         public function create_random_password()
    122         {
    123                 //$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
     124                return $status . '|' . $sms;
     125        }
     126       
     127        public function create_random_password() {
     128                // $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
    124129                $alphabet = "0123456789";
    125                 $pass = array();
    126                 $alphaLength = strlen($alphabet) - 1;
    127                 for ($i = 0; $i < 6; $i++) {
    128                         $n = rand(0, $alphaLength);
    129                         $pass[] = $alphabet[$n];
    130                 }
    131                 return implode($pass);
    132         }
    133        
    134         public function get_user_by_id($us_id)
    135         {
    136                 $this->db->query('UNLOCK TABLES');
    137                 $this->db->select('*')->from('tbluser')->where('us_id', $us_id);
    138                 $query = $this->db->get();
    139                 if($query->num_rows() > 0)
    140                 {
    141                         $row = $query->row_array();
     130                $pass = array ();
     131                $alphaLength = strlen ( $alphabet ) - 1;
     132                for($i = 0; $i < 6; $i ++) {
     133                        $n = rand ( 0, $alphaLength );
     134                        $pass [] = $alphabet [$n];
     135                }
     136                return implode ( $pass );
     137        }
     138       
     139        public function get_user_by_id($us_id) {
     140                $this->db->query ( 'UNLOCK TABLES' );
     141                $this->db->select ( '*' )->from ( 'tbluser' )->where ( 'us_id', $us_id );
     142                $query = $this->db->get ();
     143                if ($query->num_rows () > 0) {
     144                        $row = $query->row_array ();
    142145                        return $row;
    143146                }
    144147        }
    145148       
    146         public function get_user_info($src, $token, $us_id)
    147         {
    148                 $data = $this->vservices->actionExecute('getinfo', array('src' => $src, 'us_id' => $us_id, 'token'=>$token), 'user');
    149         return $data;
    150         }
    151        
    152         public function update_user($src, $token, $user, $us_id)
    153         {
    154                 $data = $this->vservices->actionExecute('update', array('src'=>$src, 'token'=>$token, 'us_id'=>$us_id,
    155                                                                                                                                 'password'=>$user['password'], 'fullname'=>$user['fullname'],
    156                                                                                                                                 'school'=>$user['school'], 'province'=>$user['province'], 'oldpass'=>$user['oldpass']),
    157                                                                                                 'user');
     149        public function get_user_info($src, $token, $us_id) {
     150                $data = $this->vservices->actionExecute ( 'getinfo', array (
     151                                'src' => $src,
     152                                'us_id' => $us_id,
     153                                'token' => $token
     154                ), 'user' );
    158155                return $data;
    159                                                                
    160         }
    161        
    162         public function changeProfile($sentNumber, $username, $password, &$status='')
    163         {
    164                 $user = array();
     156        }
     157       
     158        public function update_user($src, $token, $user, $us_id) {
     159                $data = $this->vservices->actionExecute ( 'update', array (
     160                                'src' => $src,
     161                                'token' => $token,
     162                                'us_id' => $us_id,
     163                                'password' => $user ['password'],
     164                                'fullname' => $user ['fullname'],
     165                                'school' => $user ['school'],
     166                                'province' => $user ['province'],
     167                                'oldpass' => $user ['oldpass']
     168                ), 'user' );
     169                return $data;
     170        }
     171       
     172        public function changeProfile($sentNumber, $username, $password, &$status = '') {
     173                $user = array ();
    165174                $src = 'SBG';
    166175                $errMsg = '';
    167176                $sms = '';
    168                 $checkSentNumber = $this->get_user_by_cellphone($sentNumber);
    169                 if($checkSentNumber)
    170                 {
    171                         $sms = "So Dien thoai ".$sentNumber." da dang ky tren he thong SBG Online soanbaigiang.smas.vn nen Qui vi khong the doi sang so dien thoai nay duoc.";
     177                $checkSentNumber = $this->get_user_by_cellphone ( $sentNumber );
     178               
     179                if ($checkSentNumber) {
     180                        $sms = "So Dien thoai " . $sentNumber . " da dang ky tren he thong SBG Online soanbaigiang.smas.vn nen Qui vi khong the doi sang so dien thoai nay duoc.";
    172181                        $status = 0;
    173                         return $status.'|'.$sms;
    174                 }
    175                 $result = $this->get_user_by_cellphone($username);
    176                 if($result)
    177                 {
    178                         $us_id = $result['us_id'];
    179                         $token = md5($us_id.self::TOKENPW);
    180                         $data = $this->vservices->actionExecute('update', array('src'=>$src, 'token'=>$token, 'us_id'=>$us_id, 'username'=>$sentNumber, "password"=>$password, 'oldpass'=>$password, 'phone'=>$sentNumber), 'user');
    181                         parse_str($data);
    182                         switch((int)$status)
    183                         {
    184                                 case 0:
     182                        return $status . '|' . $sms;
     183                }
     184               
     185                $result = $this->get_user_by_cellphone ( $username );
     186               
     187                if ($result) {
     188                        $us_id = $result ['us_id'];
     189                        $token = md5 ( $us_id . self::TOKENPW );
     190                        $data = $this->vservices->actionExecute ( 'update', array (
     191                                        'src' => $src,
     192                                        'token' => $token,
     193                                        'us_id' => $us_id,
     194                                        'username' => $sentNumber,
     195                                        "password" => $password,
     196                                        'oldpass' => $password,
     197                                        'phone' => $sentNumber
     198                        ), 'user' );
     199                        parse_str ( $data );
     200                        switch (( int ) $status) {
     201                                case 0 :
    185202                                        $us_id = $id;
    186                                         $user['updated_time'] = date('Y-m-d H:i:s');
    187                                         $user['us_id'] = $us_id;
    188                                         $user['cellphone'] = $sentNumber;
    189                                         $this->updateUser($us_id, $user);
    190                                         $sms = "Qui vi da doi so dien thoai tren soanbaigiang.smas.vn sang so dien thoai [".$sentNumber."]";
     203                                        $user ['updated_time'] = date ( 'Y-m-d H:i:s' );
     204                                        $user ['us_id'] = $us_id;
     205                                        $user ['cellphone'] = $sentNumber;
     206                                        $this->updateUser ( $us_id, $user );
     207                                        $sms = "Qui vi da doi so dien thoai tren soanbaigiang.smas.vn sang so dien thoai " . $sentNumber;
    191208                                        $status = 1;
    192209                                        break;
    193                                 case 5:
     210                                case 5 :
    194211                                        $sms = "So dien thoai cá»§a Qui vi chua duoc dang ky!";
    195212                                        $status = 0;
    196213                                        break;
    197                                 case 6:
     214                                case 6 :
    198215                                        $sms = "Mat khau cua qui vi khong dung !";
    199216                                        $status = 0;
    200217                                        break;
    201                                 default:
     218                                default :
    202219                                        $status = 0;
    203220                                        $sms = $errMsg;
    204                                         break;                         
    205                         }
    206                 }else
    207                 {
     221                                        break;
     222                        }
     223                } else {
    208224                        $sms = "So dien thoai cá»§a Qui vi chua duoc dang ky!";
    209225                        $status = 0;
    210226                }
    211                 return $status.'|'.$sms;
    212         }
    213        
    214         public function changePassword($username, $password, &$status = '')
    215         {
    216                 $user = array();
     227                return $status . '|' . $sms;
     228        }
     229       
     230        public function changePassword($username, $password, &$status = '') {
     231                $user = array ();
    217232                $src = 'SBG';
    218233                $errMsg = '';
     
    220235                $isForgotPassword = false;
    221236                $pass = $password;
    222                 if (is_null($password) || $password == '')
    223                 {
    224                         $pass = $this->create_random_password();
     237               
     238                if (is_null ( $password ) || $password == '') {
     239                        $pass = $this->create_random_password ();
    225240                        $isForgotPassword = true;
    226241                }
    227                 $result = $this->get_user_by_cellphone($username);
    228                 if($result)
    229                 {
    230                         $us_id = $result['us_id'];
    231                         $token = md5($us_id.self::TOKENPW);
    232                         $data = $this->vservices->actionExecute('update', array('src'=>$src, 'token'=>$token, 'us_id'=>$us_id, "password"=>$pass), 'user');
    233                         parse_str($data);
    234                         switch((int)$status)
    235                         {
    236                                 case 0:
     242               
     243                $result = $this->get_user_by_cellphone ( $username );
     244                if ($result) {
     245                        $us_id = $result ['us_id'];
     246                        $token = md5 ( $us_id . self::TOKENPW );
     247                        $data = $this->vservices->actionExecute ( 'update', array (
     248                                        'src' => $src,
     249                                        'token' => $token,
     250                                        'us_id' => $us_id,
     251                                        "password" => $pass
     252                        ), 'user' );
     253                        parse_str ( $data );
     254                        switch (( int ) $status) {
     255                                case 0 :
    237256                                        $us_id = $id;
    238                                         $user['updated_time'] = date('Y-m-d H:i:s');
    239                                         $this->updateUser($us_id, $user);
    240                                         if ($isForgotPassword)
    241                                         {
    242                                                 $sms = "Mat khau moi cua quy vi tren soanbaigiang.smas.vn la [".$pass."]";
    243                                         }else{
     257                                        $user ['updated_time'] = date ( 'Y-m-d H:i:s' );
     258                                        $this->updateUser ( $us_id, $user );
     259                                        if ($isForgotPassword) {
     260                                                $sms = "Mat khau moi cua quy vi tren soanbaigiang.smas.vn la " . $pass;
     261                                        } else {
    244262                                                $sms = "Qui vi da doi thanh cong mat khau tren soanbaigiang.smas.vn.";
    245263                                        }
    246264                                        $status = 1;
    247265                                        break;
    248                                 case 5:
     266                                case 5 :
    249267                                        $sms = "So dien thoai cá»§a Qui vi chua duoc dang ky!";
    250268                                        $status = 0;
    251269                                        break;
    252                                 default:
     270                                default :
    253271                                        $status = 0;
    254272                                        $sms = $errMsg;
    255                                         break; 
    256                         }
    257                 }
    258                 else
    259                 {
     273                                        break;
     274                        }
     275                } else {
    260276                        $sms = "So dien thoai cá»§a Qui vi da duoc dang ky!";
    261277                        $status = 0;
    262278                }
    263                 return $status.'|'.$sms;
    264         }
    265        
    266        
    267         public function checkLicense ($userId)
    268         {
     279                return $status . '|' . $sms;
     280        }
     281       
     282        public function checkLicense($userId) {
    269283                $isNotExpired = false;
    270                 $userInfo = array();
    271                 $userInfo = $this->get_user_by_id($userId);     
    272 
    273                 $expireDate = $userInfo['expire_date'];
    274                
    275                 if ((trim($expireDate) == '')) return $isNotExpired;
    276                
    277                 $today = mktime();
    278                 $expireTime = strtotime($expireDate.' 23:59:59');
     284                $userInfo = array ();
     285                $userInfo = $this->get_user_by_id ( $userId );
     286               
     287                $expireDate = $userInfo ['expire_date'];
     288               
     289                if ((trim ( $expireDate ) == ''))
     290                        return $isNotExpired;
     291               
     292                $today = mktime ();
     293                $expireTime = strtotime ( $expireDate . ' 23:59:59' );
    279294                $isNotExpired = ($today < $expireTime);
    280295                return $isNotExpired;
    281296        }
    282297       
    283         public function registerVip($username, $p_code)
    284         {
    285                 $user = array();
     298        public function registerVip($username, $p_code) {
     299                $user = array ();
    286300                $sms = '';
    287301               
    288                 $result = $this->get_user_by_cellphone($username);
    289                 $package = $this->get_package((int)$p_code);
    290                 if($result){
     302                $result = $this->get_user_by_cellphone ( $username );
     303                $package = $this->get_package ( ( int ) $p_code );
     304                if ($result) {
    291305                       
    292                         if ($result['acc_balanced'] >= $package['p_price'])
    293                         {
    294                                 $us_id = $result['us_id'];
    295                                 $user['acc_balanced'] = $result['acc_balanced'] - $package['p_price'];
    296                                 if ($this->checkLicense($us_id)){
    297                                         $user['expire_date'] = date('Y-m-d', strtotime($result['expire_date'].' + '.$package['p_period'].' month'));
    298                                 }else
    299                                 {
    300                                         $user['expire_date'] = date('Y-m-d', strtotime('now + '.$package['p_period'].' month'));
     306                        if ($result ['acc_balanced'] >= $package ['p_price']) {
     307                                $us_id = $result ['us_id'];
     308                                $user ['acc_balanced'] = $result ['acc_balanced'] - $package ['p_price'];
     309                                if ($this->checkLicense ( $us_id )) {
     310                                        $user ['expire_date'] = date ( 'Y-m-d', strtotime ( $result ['expire_date'] . ' + ' . $package ['p_period'] . ' month' ) );
     311                                } else {
     312                                        $user ['expire_date'] = date ( 'Y-m-d', strtotime ( 'now + ' . $package ['p_period'] . ' month' ) );
    301313                                }
    302314                               
    303                                 $user['p_id'] = $package['p_id'];
    304                                 $user['updated_time'] = date('Y-m-d H:i:s');
     315                                $user ['p_id'] = $package ['p_id'];
     316                                $user ['updated_time'] = date ( 'Y-m-d H:i:s' );
    305317                               
    306                                 $this->updateUser($us_id, $user);
    307                                 $sms = "Chuc mung Qui vi da dang ky su dung Soan Bai giang truc tuyen tren soanbaigiang.smas.vn. Qui vi co the su dung dich vu den 24h00 ngay ".date('d/m/Y', strtotime($user['expire_date']));
     318                                $this->updateUser ( $us_id, $user );
     319                                $sms = "Chuc mung Qui vi da dang ky su dung Soan Bai giang truc tuyen tren soanbaigiang.smas.vn. Qui vi co the su dung dich vu den 24h00 ngay " . date ( 'd/m/Y', strtotime ( $user ['expire_date'] ) );
    308320                                $status = 1;
    309                         }else
    310                         {
     321                        } else {
    311322                                $sms = "Tai khoan cua qui vi khong du de dang ky su dung dich vu Soan Bai giang truc tuyen tren soanbaigiang.smas.vn. Hay nap tien va dang ky lai. Cam on!";
    312323                                $status = 0;
    313324                        }
    314                        
    315                 }else{
    316                         $sms = "Tai khoan [".$username."] chua dang ki tai khoan tren he thong SBG Online soanbaigiang.smas.vn.";
     325                } else {
     326                        $sms = "Tai khoan [" . $username . "] chua dang ki tai khoan tren he thong SBG Online soanbaigiang.smas.vn.";
    317327                        $status = 0;
    318328                }
    319                 return $status.'|'.$sms;
    320         }
    321        
    322         public function rechargeAccount($username, $amount)
    323         {
    324                 $user = array();
     329                return $status . '|' . $sms;
     330        }
     331       
     332        public function rechargeAccount($username, $amount) {
     333                $user = array ();
    325334                $sms = '';
    326                 $result = $this->get_user_by_cellphone($username);
    327                 if($result)
    328                 {
    329                         $us_id = $result['us_id'];
    330                         $user['acc_balanced'] = $result['acc_balanced'] + $amount;
    331                         $user['updated_time'] = date('Y-m-d H:i:s');
    332                         $this->updateUser($us_id, $user);
    333                         $sms = "Qui vi da nap thanh cong ".$amount."VND vao tai khoan ".$username." tren soanbaigiang.smas.vn";
     335                $result = $this->get_user_by_cellphone ( $username );
     336                if ($result) {
     337                        $us_id = $result ['us_id'];
     338                        $user ['acc_balanced'] = $result ['acc_balanced'] + $amount;
     339                        $user ['updated_time'] = date ( 'Y-m-d H:i:s' );
     340                        $this->updateUser ( $us_id, $user );
     341                        $sms = "Qui vi da nap thanh cong " . $amount . "VND vao tai khoan " . $username . " tren soanbaigiang.smas.vn";
    334342                        $status = 1;
    335                 }else
    336                 {
    337                         $sms = "Tai khoan ".$username." chua dang ki tai khoan tren he thong SBG Online soanbaigiang.smas.vn.";
     343                } else {
     344                        $sms = "Tai khoan " . $username . " chua dang ki tai khoan tren he thong SBG Online soanbaigiang.smas.vn.";
    338345                        $status = 0;
    339346                }
    340                 return $status.'|'.$sms;               
    341         }
    342        
    343         public function get_user_by_cellphone($cellphone)
    344         {
    345                 $this->db->query('UNLOCK TABLES');
     347                return $status . '|' . $sms;
     348        }
     349       
     350        public function get_user_by_cellphone($cellphone) {
     351                $this->db->query ( 'UNLOCK TABLES' );
    346352                $sql = 'SELECT * FROM tbluser where cellphone = ? LIMIT 0,1';
    347                 $query = $this->db->query($sql, array($cellphone));
    348                 $row = $query->row_array();
     353                $query = $this->db->query ( $sql, array (
     354                                $cellphone
     355                ) );
     356                $row = $query->row_array ();
    349357                return $row;
    350358        }
    351359       
    352         public function isExistcollaborator($collaborator)
    353         {
    354                 $this->db->query('UNLOCK TABLES');
    355                 $this->db->select('*')->from('tblcollaborator')->where('login_name', $collaborator)->limit(1);
    356                 $result = $this->db->get()->row_array();
    357                 if ($result) return true; else return false;
    358         }
    359        
    360         public function updateUser($us_id, $data)
    361         {
    362                 $this->db->query('UNLOCK TABLES');
    363                 $this->db->where('us_id', $us_id);
    364                 $this->db->update('tbluser', $data);
    365         }
    366        
    367         public function get_package($p_code)
    368         {
    369                 $this->db->query('UNLOCK TABLES');
     360        public function isExistcollaborator($collaborator) {
     361                $this->db->query ( 'UNLOCK TABLES' );
     362                $this->db->select ( '*' )->from ( 'tblcollaborator' )->where ( 'login_name', $collaborator )->limit ( 1 );
     363                $result = $this->db->get ()->row_array ();
     364                if ($result)
     365                        return true;
     366                else
     367                        return false;
     368        }
     369       
     370        public function updateUser($us_id, $data) {
     371                $this->db->query ( 'UNLOCK TABLES' );
     372                $this->db->where ( 'us_id', $us_id );
     373                $this->db->update ( 'tbluser', $data );
     374        }
     375       
     376        public function get_package($p_code) {
     377                $this->db->query ( 'UNLOCK TABLES' );
    370378                $sql = 'SELECT * FROM tblservicepackage where p_code = ? LIMIT 0,1';
    371                 $query = $this->db->query($sql, array($p_code));
    372                 $row = $query->row_array();
     379                $query = $this->db->query ( $sql, array (
     380                                $p_code
     381                ) );
     382                $row = $query->row_array ();
    373383                return $row;
    374384        }
    375385       
    376         public function insertSmslog($sentNumber, $serviceID, $commandcode, $info, $receiveTime)
    377         {
    378                 if (preg_match('/^(84)([0-9]{9,10})$/', $sentNumber, $aryMatch) == 1) {
    379                         $sentNumber = '0'. $aryMatch[2];
     386        public function insertSmslog($sentNumber, $serviceID, $commandcode, $info, $receiveTime) {
     387                if (preg_match ( '/^(84)([0-9]{9,10})$/', $sentNumber, $aryMatch ) == 1) {
     388                        $sentNumber = '0' . $aryMatch [2];
    380389                }
    381390               
    382391                try {
    383                         $user = $this->get_user_by_cellphone($sentNumber);
    384                 }
    385                 catch(Exception $e) {
    386                        
    387                 }
    388                
    389                 $smslog = array();
    390                 $smslog['sender'] = $sentNumber;
    391                 $smslog['us_id'] = isset($user['us_id']) ? $user['us_id']:NULL;
    392                 $smslog['service_id'] = $serviceID;
    393                 $smslog['commandcode'] = $commandcode;
    394                 $smslog['info'] = $info;
    395                 $smslog['created_time'] = $receiveTime;
    396                 $this->db->query('UNLOCK TABLES');
     392                        $user = $this->get_user_by_cellphone ( $sentNumber );
     393                } catch ( Exception $e ) {
     394                }
     395               
     396                $smslog = array ();
     397                $smslog ['sender'] = $sentNumber;
     398                $smslog ['us_id'] = isset ( $user ['us_id'] ) ? $user ['us_id'] : NULL;
     399                $smslog ['service_id'] = $serviceID;
     400                $smslog ['commandcode'] = $commandcode;
     401                $smslog ['info'] = $info;
     402                $smslog ['created_time'] = $receiveTime;
     403                $this->db->query ( 'UNLOCK TABLES' );
    397404                $sql = 'INSERT INTO tblsmslog(sender, us_id, service_id, commandcode, info, created_time) VALUES(?,?,?,?,?,?)';
    398405                $query = $this->db->query($sql, $smslog);
    399                 //$this->db->insert('tblsmslog', $smslog);
    400         }
    401        
    402         public function insertPaidlog($sentNumber, $receiveID, $paidType, $amount, $paidTime)
    403         {
    404                 if (preg_match('/^(84)([0-9]{9,10})$/', $sentNumber, $aryMatch) == 1) {
    405                         $sentNumber = '0'. $aryMatch[2];
     406        }
     407       
     408        public function insertPaidlog($sentNumber, $receiveID, $paidType, $amount, $paidTime) {
     409                if (preg_match ( '/^(84)([0-9]{9,10})$/', $sentNumber, $aryMatch ) == 1) {
     410                        $sentNumber = '0' . $aryMatch [2];
    406411                }
    407412               
    408413                try {
    409                         $user = $this->get_user_by_cellphone($sentNumber);
    410                 }
    411                 catch(Exception $e) {
    412                        
    413                 }
    414                 $paidlog = array();
    415                 $paidlog['us_id'] = isset($user['us_id']) ? $user['us_id']:NULL;
    416                 $paidlog['paidType'] = $paidType;
    417                 $paidlog['amount'] = $amount;
    418                 $paidlog['paidTime'] = $paidTime;
    419                 $this->db->query('UNLOCK TABLES');
     414                        $user = $this->get_user_by_cellphone ( $sentNumber );
     415                } catch ( Exception $e ) {
     416                }
     417                $paidlog = array ();
     418                $paidlog ['us_id'] = isset ( $user ['us_id'] ) ? $user ['us_id'] : NULL;
     419                $paidlog ['paidType'] = $paidType;
     420                $paidlog ['amount'] = $amount;
     421                $paidlog ['paidTime'] = $paidTime;
     422                $this->db->query ( 'UNLOCK TABLES' );
    420423                $sql = 'INSERT INTO tblpaidlog(us_id, paidType, amount, paidTime) VALUES (?,?,?,?)';
    421                 $query = $this->db->query($sql, $paidog);
     424                $query = $this->db->query ( $sql, $paidog );
    422425        }
    423426}
  • pro-violet-viettel/sourcecode/application/modules/services/controllers/sendmessage.php

    r499 r517  
    120120        {
    121121                $url = $this->config->item('topup_service_url');
    122                 $operation = 'http://tempuri.org/ITopupService/TopUp';;
     122               
     123                //echo file_get_contents($url);
     124                //exit();
     125               
     126                $operation = 'http://tempuri.org/ITopupService/TopUp';
    123127               
    124128                $username = 'sbg';
  • pro-violet-viettel/sourcecode/application/modules/services/controllers/viettel.php

    r499 r517  
    5656                        $CI->load->model('frontend/User_model', 'objUserModel');
    5757                        $result = $CI->Services_model->processMORequest($userID, strtoupper($info));
    58                         $CI->objUserModel->insertSmslog($receiverID, $serviceID, $commandCode, $info, $receiveTime);
     58                        //$CI->objUserModel->insertSmslog($receiverID, $serviceID, $commandCode, $info, $receiveTime);
    5959                                       
    6060                        $aryResult = explode ('|', $result);
  • pro-violet-viettel/sourcecode/application/modules/services/models/services_model.php

    r513 r517  
    167167                $client->operation = $action;
    168168               
    169                 $result = $client->send($this->_xmlHeader.$xml, $operation);
     169                $result = $client->send($xml, $operation);
    170170               
    171171                if ($client->fault) {
Note: See TracChangeset for help on using the changeset viewer.