Ignore:
Timestamp:
Nov 15, 2014 12:00:02 AM (11 years ago)
Author:
dungnv
Message:
 
Location:
pro-violet-viettel/sourcecode
Files:
6 edited

Legend:

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

    r517 r521  
    1 <?php
    2 if (! defined ( 'BASEPATH' ))
    3         exit ( 'No direct script access allowed' );
     1<?php
     2
     3if (!defined('BASEPATH'))
     4    exit('No direct script access allowed');
     5
    46class User extends MX_Controller {
    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 =======
    55 
     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               
    5618        if ($user_info) {
    5719            $this->load->model('servicepackage_model');
     
    6123            $token = md5($us_id . self::TOKENPW);
    6224            $data = $this->get_data($src, $token, $us_id);
     25           
     26            $data['message'] = $this->session->flashdata('message');
    6327            $data['current_tab'] = $this->uri->segment(4, 'edit-basic');
    6428            $data['packages'] = $this->servicepackage_model->getAllPackages();
     
    9963        echo json_encode($result);
    10064    }
    101 
     65   
    10266    public function finishRegisterPackage() {
    10367        $result = array();
     
    11276            }
    11377            if (strlen($input['school']) < 10) {
    114                 $result['errors'][] = "Vui lòng nhập đơn vị quí vị đang cÃŽng tác tối thiểu 10 kí tá»±";
     78                $result['errors'][] = "Vui lòng nhập đơn vị quí vị đang cÃŽng tác tối thiểu 10 kí tá»±";               
    11579            }
    11680            if (!isset($result['errors'])) {
     
    140104        }
    141105        if (isset($result['errors'])) {
    142             echo json_encode($result);
     106            echo json_encode ($result);
    143107            die();
    144108        }
     
    162126        $result['success'] = 1;
    163127        echo json_encode($result);
     128    }
     129   
     130    public function regpackage ()
     131    {
     132        $user_info = $this->session->userdata('userInfo');
     133        parse_str($user_info['user'], $info);
     134        $p_id = $this->input->post('p_id', TRUE);
     135       
     136        $us_id = (int)$info['id'];
     137        $this->load->model('servicepackage_model');
     138        $this->load->model('user_model');
     139       
     140        $user = $this->user_model->get_user_by_id($us_id);
     141        $package = $this->servicepackage_model->getPackage($p_id);
     142       
     143        if ($user['acc_balanced'] < $package['p_price']) {
     144                $message = 'Số tiền trong Tài khoản SBG Online hiện tại cá»§a Quí vị là '. $user['acc_balanced'] .' đồng.<br /> Để Đăng kí Sá»­ dụng dịch vụ Soạn Bài giảng trá»±c tuyến, Quí vị cần nạp thêm tiền vào tài khoản.';
     145        }
     146        else {
     147                $user['acc_balanced'] = $user['acc_balanced'] - $package['p_price'];
     148                $currentExpireDate = $user['expire_date'] == NULL || trim($user['expire_date']) == '' ? date('Y-m-d 00:00:00') : $user['expire_date'];
     149               
     150                $user['expire_date'] = date('Y-m-d', strtotime("+" . $package['p_period'] ." ". $package['p_unit'], strtotime($currentExpireDate)));           
     151                //$user['expire_date'] = date("Y-m-d", (strtotime($user['expire_date']) - 1));
     152               
     153                $user['p_id'] = $package['p_id'];
     154               
     155                $this->user_model->updateUser($us_id, $user);
     156                $message = 'QuÜ vị đã đăng kí sá»­ dụng CÃŽng cụ Soạn Bài giảng trức tuyến. Quí vị được sá»­ dụng dịch vụ đến hết ngày '. date('d-m-Y', strtotime($user['expire_date']));
     157        }
     158       
     159        $this->session->set_flashdata('message', $message);
     160        redirect('frontend/user/profile#services-register');
    164161    }
    165162
     
    215212                if (array_key_exists('fullname', $input)) {
    216213                    if (strlen($input['fullname']) == 0) {
    217                         $result['errors']['fullname_err'] = "Họ tên khÃŽng được để trống !";
     214                        $result['errors']['fullname_err'] = "Họ tên khÃŽng được để trống!";
    218215                    }
    219216                } else {
     
    223220                  if ($strlen($input['school']) == 0)
    224221                  {
    225                   $result['errors']['school_err'] = "Đơn vị khÃŽng được để trống !";
     222                  $result['errors']['school_err'] = "Đơn vị khÃŽng được để trống!";
    226223                  }
    227224                  if ($strlen($input['province']) == 0)
    228225                  {
    229                   $result['errors']['province_err'] = "Tỉnh/thành khÃŽng được để trống !";
     226                  $result['errors']['province_err'] = "Tỉnh/thành khÃŽng được để trống!";
    230227                  } */
    231228                $input['password'] = '';
     
    237234                    $result['success'] = 1;
    238235                }
    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 }=======
    367236                echo json_encode($result);
    368237            }
     
    381250            $token = md5($us_id . self::TOKENPW);
    382251            $input = $this->input->post();
     252           
     253           
     254           
    383255            if (strlen($input['passwd']) == 0) {
    384                 $result['errors']['passwd_old_err'] = "Mật khẩu khÃŽng được để trống !";
     256                $result['errors']['passwd_old_err'] = "Mật khẩu khÃŽng được để trống!";
    385257            }
    386258            if (strlen($input['passwd_new']) == 0) {
    387                 $result['errors']['passwd_new_err'] = "Mật khẩu khÃŽng được để trống !";
     259                $result['errors']['passwd_new_err'] = "Mật khẩu khÃŽng được để trống!";
    388260            } else if ($input['passwd'] == $input['passwd_new']) {
    389                 $result['errors']['passwd_new_err'] = "Mật khẩu trùng với mật khẩu hiện tại !";
    390             }
    391             if ($input['passwd_new'] != $input['confirm_passwd_new']) {
    392                 $result['errors']['confirm_passwd_new_err'] = "Mật khẩu khÃŽng trùng nhau !";
    393             }
     261                $result['errors']['passwd_new_err'] = "Mật khẩu trùng với mật khẩu hiện tại!";
     262            }
     263            if ($input['passwd_new']!= $input['confirm_passwd_new']) {
     264                $result['errors']['confirm_passwd_new_err'] = "Mật khẩu khÃŽng trùng nhau!";
     265            }
     266           
    394267            if (!isset($result['errors'])) {
    395268                $user = array('username' => $user_info['username'], 'fullname' => null, 'gender' => null, 'email' => null, 'school' => null, 'province' => null, 'password' => $input['passwd_new'], 'oldpass' => $input['passwd']);
     
    401274                        break;
    402275                    case 6:
    403                         $result['errors']['passwd_old_err'] = "Mật khẩu cung cấp khÃŽng đúng !";
     276                        $result['errors']['passwd_old_err'] = "Mật khẩu cung cấp khÃŽng đúng!";
    404277                        break;
    405278                    default:
     
    415288
    416289}
    417 >>>>>>> .r514
  • pro-violet-viettel/sourcecode/application/modules/frontend/views/user_profile.php

    r520 r521  
    241241                                </div>
    242242                                <div class="tab-pane" id="services-register">
    243                                     <form action="<?php echo base_url();?>frontend/user/packageRegister"  class="form-horizontal" id="package_register">
     243                                    <!--<form action="<?php echo base_url();?>frontend/user/packageRegister"  class="form-horizontal" id="package_register"> -->
     244                                    <form action="<?php echo base_url();?>frontend/user/regpackage" method="POST" class="form-horizontal" id="package_register">
    244245                                        <h4 class="header blue bolder smaller">ThÃŽng tin tài khoản</h4>
    245246                                        <div class="col-sm-6">
    246247                                            <h4>Số tiền trong tài khoản SBG Online </h4> <h3><?php echo number_format(@$acc_balanced, 0); ?> VND <span id="add_money" style="cursor:pointer" class="badge" >Nạp thêm tiền</span></h3>
    247                                                                                        
    248248                                        </div>
    249249                                        <div class="col-sm-6">
     
    251251                                        </div>
    252252                                        <h4 class="header blue bolder smaller">Đăng kÜ dịch vụ</h4>
     253
    253254                                        <h5>Cách 1: Mời quí vị chọn các gói dịch vụ sau</h5>
    254255                                        <div class="errors" id="package_register">
     
    277278                                            <button type="submit" class="btn btn-success">Đăng kÜ</button>
    278279                                        </div>
     280                                       
    279281                                        <h5>Cách 2</h5>
    280                                         <h4>Soạn tin: SBG VIP 1 (hay 3, 6, 12) gá»­i tới 8062</h4>
     282                                        <h4>Soạn tin: SBG VIP [1 hay 3, 6, 12] gá»­i tới 8062</h4>
    281283                                    </form>
    282284                                </div>
     
    438440                        <div class="modal-body">
    439441                                <div id="success_package_register_content" class="alert alert-block alert-success"><center>Quí vị đã cập nhật thÃŽng tin thành cÃŽng!</center></div>
    440                                 <center><button id="package_register_finish_button" class="btn btn-primary" >Đóng</button></center>
     442                                <center><button id="package_register_finish_button" class="btn btn-primary" data-dismiss="modal">Đóng</button></center>
    441443                        </div>
    442444               
     
    478480
    479481<script type="text/javascript">
    480 var url="<?php echo base_url();?>";
    481 var current_tab="<?php echo $current_tab;?>";
     482        var url="<?php echo base_url();?>";
     483        var current_tab="<?php echo $current_tab;?>";
     484        var showmessage= <?php echo (int)($message != '')?>;
     485        var message = '<?php echo $message;?>';
    482486</script>
    483487<?php
  • pro-violet-viettel/sourcecode/application/views/layout/frontend/footer.php

    r483 r521  
    8585                {
    8686                ?>
    87                         <script type="text/javascript" src="<?php echo $base_url;?><?php echo $file?>"></script>
     87                        <script src="<?php echo $base_url;?><?php echo $file?>"></script>
    8888                <?php
    8989                }
  • pro-violet-viettel/sourcecode/system/helpers/text_helper.php

    r289 r521  
    532532}
    533533
     534if ( ! function_exists('jsencode'))
     535{
     536        function jsencode( $obj, $json = false ){
     537                switch( gettype( $obj ) ){
     538                        case 'array':
     539                        case 'object':
     540                                $code = array();
     541                                // is it anything other than a simple linear array
     542                                if( array_keys($obj) !== range(0, count($obj) - 1) ){
     543                                        foreach( $obj as $key => $val ){
     544                                                $code []= $json ?
     545                                                '"' . $key . '":' . jsencode( $val ) :
     546                                                $key . ':' . jsencode( $val );
     547                                        }
     548                                        $code = '{' . implode( ',', $code ) . '}';
     549                                } else {
     550                                        foreach( $obj as $val ){
     551                                                $code []= jsencode( $val );
     552                                        }
     553                                        $code = '[' . implode( ',', $code ) . ']';
     554                                }
     555                                return $code;
     556                                break;
     557                        case 'boolean':
     558                                return $obj ? 'true' : 'false' ;
     559                                break;
     560                        case 'integer':
     561                        case 'double':
     562                                return floatVal( $obj );
     563                                break;
     564                        case 'NULL':
     565                        case 'resource':
     566                        case 'unknown':
     567                                return 'null';
     568                                break;
     569                        default:
     570                                return '"' . addslashes( $obj ) . '"';
     571                }
     572        }
     573}
     574
     575if(!function_exists('json_encode'))
     576{
     577        function json_encode($a=false)
     578        {
     579                // Some basic debugging to ensure we have something returned
     580                if (is_null($a)) return 'null';
     581                if ($a === false) return 'false';
     582                if ($a === true) return 'true';
     583                if (is_scalar($a))
     584                {
     585                        if (is_float($a))
     586                        {
     587                                // Always use '.' for floats.
     588                                return floatval(str_replace(',', '.', strval($a)));
     589                        }
     590                        if (is_string($a))
     591                        {
     592                                static $jsonReplaces = array(array('\\', '/', "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
     593                                return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
     594                        }
     595                        else
     596                                return $a;
     597                }
     598                $isList = true;
     599                for ($i = 0, reset($a); true; $i++) {
     600                        if (key($a) !== $i)
     601                        {
     602                                $isList = false;
     603                                break;
     604                        }
     605                }
     606                $result = array();
     607                if ($isList)
     608                {
     609                        foreach ($a as $v) $result[] = json_encode($v);
     610                        return '[' . join(',', $result) . ']';
     611                }
     612                else
     613                {
     614                        foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
     615                        return '{' . join(',', $result) . '}';
     616                }
     617        }
     618}
     619
     620if(!function_exists('json_decode'))
     621{
     622        function json_decode($json)
     623        {
     624                $comment = false;
     625                $out = '$x=';
     626                for ($i=0; $i<strlen($json); $i++)
     627                {
     628                if (!$comment)
     629                        {
     630                        if (($json[$i] == '{') || ($json[$i] == '['))
     631                                $out .= ' array(';
     632                                                else if (($json[$i] == '}') || ($json[$i] == ']'))
     633                                $out .= ')';
     634                                else if ($json[$i] == ':')
     635                                        $out .= '=>';
     636                                        else
     637                                        $out .= $json[$i];
     638                        }
     639                        else
     640                                $out .= $json[$i];
     641                                if ($json[$i] == '"' && $json[($i-1)]!="\\")
     642                                $comment = !$comment;
     643                        }
     644                        eval($out . ';');
     645                        return $x;
     646                }
     647                }
     648
    534649/* End of file text_helper.php */
    535650/* Location: ./system/helpers/text_helper.php */
Note: See TracChangeset for help on using the changeset viewer.