source: pro-violet-viettel/sourcecode/application/modules/frontend/models/user_model.php @ 773

Last change on this file since 773 was 773, checked in by namnd, 10 years ago
File size: 19.7 KB
Line 
1<?php
2
3if (! defined ( 'BASEPATH' ))
4        exit ( 'No direct script access allowed' );
5
6if ( ! defined('_SBG_PAIDTYPE_SMS')) define('_SBG_PAIDTYPE_SMS', 1);
7if ( ! defined('_SBG_PAIDTYPE_CARD')) define('_SBG_PAIDTYPE_CARD', 2);
8
9class User_model extends CI_Model {
10        const TOKENPW = 'violet';
11       
12        public function __construct() {
13                parent::__construct ();
14                $this->vservices->setApiUrl ( $this->config->item ( 'api_url' ) );
15                $this->vservices->setConnection ( $this->curl );
16                $this->load->helper('language');
17                $this->lang->load('messages', 'message');
18        }
19       
20        public function checkLogin($src, $token, $username, $password) {
21                $data = $this->vservices->actionExecute ( 'login', array (
22                                'src' => $src,
23                                'token' => $token,
24                                'username' => $username,
25                                'password' => $password
26                ), 'user' );
27                if(!($data) || is_null($data)) return array('success'=>-1, 'data'=>$data);
28                parse_str ( $data );
29                if ($status == 0 || $status == 4) {
30                        $us_id = ( int ) $id;
31                        $query = "SELECT * FROM tbluser WHERE us_id = ?";
32                        $result = $this->db->query ( $query, array (
33                                        $us_id
34                        ) );
35                        if ($result->num_rows () == 1) {
36                                return array('success'=>1, 'data'=>$data);
37                        } else {
38                                return array('success'=>0, 'data'=>$data);
39                        }
40                } else {
41                        return array('success'=>0, 'data'=>$data);
42                }
43        }
44       
45        public function register($username, $collaborator, &$collaboratorMsg = '') {
46               
47                $user = array ();
48                $password = $this->create_random_password ();
49                $src = 'SBG';
50                $sms = '';
51                $id = 0;
52                $errMsg = '';
53                $token = md5 ( $username . self::TOKENPW );
54                $phone = $username;
55                $status = 0;
56               
57                if (! is_null ( $collaborator ) || $collaborator != '') {
58                        if (! $this->isExistcollaborator ( $collaborator )) {
59                                $aryPatterns = array('/:collaborator:/');
60                                $sms = preg_replace($aryPatterns, array($collaborator), lang('_SBG_MO_COLLABORATOR_NOT_FOUND_MSG'));
61                                $collaboratorMsg = $status . '|'.$sms;
62                                return $status . '|' . $sms;
63                        }
64                }
65               
66                $data = $this->vservices->actionExecute ( 'update', array (
67                                'src' => $src,
68                                'username' => $username,
69                                'password' => $password,
70                                'fullname' => null,
71                                'phone' => $username,
72                                'token' => $token
73                ), 'user' );
74               
75                if(!($data) || is_null($data))
76                {
77                        $sms = lang('_SBG_MO_REGISTER_DISCONTINUE_MSG');
78                        $collaboratorMsg = $status . '|'.$sms;
79                        return $status . '|' . $sms;
80                }
81               
82                parse_str ( $data );
83
84                switch (( int ) $status) {
85                        case 0 :
86                $this->load->model('frontend/Servicepackage_model');
87                                $trialpackage=$this->Servicepackage_model->getTrialPackage();
88                                $us_id = $id;
89                                $user ['created_time'] = date ( 'Y-m-d H:i:s' );
90                                $user ['us_id'] = $us_id;
91                                $user ['p_id'] = $trialpackage['p_id'];
92                                $user ['expire_date'] = date('Y-m-d', strtotime("+" . $this->config->item("trial_period") . " days", time()));
93                                $user ['cellphone'] = $username;
94                                $user['province'] = $province;
95                                if (! is_null ( $collaborator ) || $collaborator != '') {
96                                        $user ['collaborator'] = $collaborator;
97                                }
98                                $this->db->query ( 'UNLOCK TABLES' );
99                                $this->db->insert ( 'tbluser', $user );
100                                $aryPatterns = array ('/:trialdays:/', '/:username:/', '/:password:/');
101                                $trialdays = $this->config->item('trial_period');
102                                $trialdays = strlen($trialdays) < 2 ? '0'. $trialdays : $trialdays;
103                                $sms = preg_replace($aryPatterns, array($trialdays. ' ngay', $username, $password), lang('_SBG_MO_USER_REGISTER_SUCCESS_MSG'));
104                                $status = 1;
105                                $aryPatterns = array('/:username:/');
106                                $collaboratorMsg = $status . '|'. preg_replace($aryPatterns, array($username), lang('_SBG_MO_COLLABOLATOR_REGISTER_SUCCESS_MSG'));
107                                break;
108                        case 2 :
109                        case 4 :
110                                $sms = lang('_SBG_MO_USER_REGISTER_DUPLICATE_MSG');
111                                $status = 0;
112                                $aryPatterns = array('/:username:/');
113                                $collaboratorMsg = $status . '|'. preg_replace($aryPatterns, array($username), lang('_SBG_MO_COLLABOLATOR_REGISTER_DUPLICATE_MSG'));
114                                break;
115                        default :
116                                $status = 0;
117                                $sms = $errMsg;
118                                $collaboratorMsg = $status . '|'. $sms;
119                                break;
120                }
121               
122                return $status . '|' . $sms;
123        }
124       
125        public function create_random_password() {
126                // $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
127                $alphabet = "0123456789";
128                $pass = array ();
129                $alphaLength = strlen ( $alphabet ) - 1;
130                for($i = 0; $i < 6; $i ++) {
131                        $n = rand ( 0, $alphaLength );
132                        $pass [] = $alphabet [$n];
133                }
134                return implode ( $pass );
135        }
136       
137        public function get_user_by_id($us_id) {
138                $this->db->query ( 'UNLOCK TABLES' );
139                $this->db->select ( '*' )->from ( 'tbluser' )->join('tblservicepackage','tbluser.p_id=tblservicepackage.p_id','left')->where ( 'tbluser.us_id', $us_id );
140                $query = $this->db->get ();
141                if ($query->num_rows () > 0) {
142                        $row = $query->row_array ();
143                        return $row;
144                }
145        }
146       
147        public function get_user_info($src, $token, $us_id) {
148                $data = $this->vservices->actionExecute ( 'getinfo', array (
149                                'src' => $src,
150                                'us_id' => $us_id,
151                                'token' => $token
152                ), 'user' );
153                return $data;
154        }
155       
156        public function update_user($src, $token, $user, $us_id) {
157                $data = $this->vservices->actionExecute ( 'update', array (
158                                'src' => $src,
159                                'token' => $token,
160                                'us_id' => $us_id,
161                                'password' => $user ['password'],
162                                'fullname' => $user ['fullname'],
163                                'school' => $user ['school'],
164                                'province' => $user ['province'],
165                                'oldpass' => $user ['oldpass']
166                ), 'user' );
167                $u = array('province'=>$user['province'],
168                                'updated_time'=>date('Y-m-d H:i:s')
169                                );
170                $this->db->where('us_id', $us_id);
171                $this->db->update('tbluser', $u);
172                return $data;
173        }
174        public function update_local_user($input,$us_id)
175        {
176            $this->db->where('us_id', $us_id);
177            $this->db->update('tbluser', $input);
178        }
179       
180        public function changeProfile($sentNumber, $username, $password, &$status = '') {
181                $user = array ();
182                $src = 'SBG';
183                $errMsg = '';
184                $sms = '';
185                $checkSentNumber = $this->get_user_by_cellphone ( $sentNumber );
186               
187                if ($checkSentNumber) {
188                        $aryPatterns = array('/:sentNumber:/');
189                        $sms =  preg_replace($aryPatterns, array($sentNumber), lang('_SBG_MO_USER_PHONENUM_CHANGE_DUPLICATE_MSG'));
190                        $status = 0;
191                        return $status . '|' . $sms;
192                }
193               
194                $result = $this->get_user_by_cellphone ( $username );
195               
196                if ($result) {
197                       
198                        $us_id = $result ['us_id'];
199                        $token = md5 ( $us_id . self::TOKENPW );
200                        $isCorrectPassword = $this->checkPassword($src, $us_id, $token, $password);
201                        if(!$isCorrectPassword) return '0|'.lang('_SBG_MO_USER_PHONENUM_CHANGE_INCORRECT_PASSWORD_MSG');
202
203                        $data = $this->vservices->actionExecute ( 'update', array (
204                                        'src' => $src,
205                                        'token' => $token,
206                                        'us_id' => $us_id,
207                                        'username' => $sentNumber,
208                                        "password" => $password,
209                                        'oldpass' => $password,
210                                        'phone' => $sentNumber
211                        ), 'user' );
212
213                        if(!($data) || is_null($data))
214                        {
215                                $sms = lang('_SBG_MO_PHONENUM_CHANGE_DISCONTINUE_MSG');
216                                $status = 0;
217                                return $status . '|' . $sms;
218                        }
219                        parse_str ( $data );
220                        switch (( int ) $status) {
221                                case 0 :
222                                        $us_id = $id;
223                                        $user ['updated_time'] = date ( 'Y-m-d H:i:s' );
224                                        $user ['us_id'] = $us_id;
225                                        $user ['cellphone'] = $sentNumber;
226                                        $this->updateUser ( $us_id, $user );
227                                        $aryPatterns = array('/:username:/', '/:sentNumber:/');
228                                        $sms =  preg_replace($aryPatterns, array($username, $sentNumber), lang('_SBG_MO_USER_NEW_PHONENUM_CHANGE_SUCCESS_MSG'));
229                                        $status = 1;
230                                        break;
231                                case 2:
232                                        $aryPatterns = array('/:sentNumber:/');
233                                        $sms = preg_replace($aryPatterns, array($sentNumber), lang('_SBG_MO_USER_PHONENUM_CHANGE_DUPLICATE_MSG'));
234                                        $status = 0;
235                                        break;
236                                case 5 :
237                                        $aryPatterns = array('/:username:/');
238                                        $sms = preg_replace($aryPatterns, array($username), lang('_SBG_MO_USER_PHONENUM_NOT_REGISTER_MSG'));
239                                        $status = 0;
240                                        break;
241                                default :
242                                        $status = 0;
243                                        $sms = $errMsg;
244                                        break;
245                        }
246                } else {
247                        $aryPatterns = array('/:username:/');
248                        $sms = preg_replace($aryPatterns, array($username), lang('_SBG_MO_USER_PHONENUM_NOT_REGISTER_MSG'));
249                        $status = 0;
250                }
251                return $status . '|' . $sms;
252        }
253       
254        public function changePassword($username, $password, &$status = '') {
255                $user = array ();
256                $src = 'SBG';
257                $errMsg = '';
258                $sms = '';
259                $isForgotPassword = false;
260                $pass = $password;
261               
262                if (is_null ( $password ) || $password == '') {
263                        $pass = $this->create_random_password ();
264                        $isForgotPassword = true;
265                }
266               
267                $result = $this->get_user_by_cellphone ( $username );
268               
269                if ($result) {
270                        $us_id = $result ['us_id'];
271                        $token = md5 ( $us_id . self::TOKENPW );
272                        $data = $this->vservices->actionExecute ( 'update', array (
273                                        'src' => $src,
274                                        'token' => $token,
275                                        'us_id' => $us_id,
276                                        "password" => $pass
277                        ), 'user' );
278                       
279                        if(!($data) || is_null($data))
280                        {
281                                $sms = lang('_SBG_MO_PASSWORD_CHANGE_DISCONTINUE_MSG');
282                                $status = 0;
283                                return $status . '|' . $sms;
284                        }
285                        parse_str ( $data );
286                        switch (( int ) $status) {
287                                case 0 :
288                                        $us_id = $id;
289                                        $user ['updated_time'] = date ( 'Y-m-d H:i:s' );
290                                        $this->updateUser ( $us_id, $user );
291                                        if ($isForgotPassword) {
292                                                $aryPatterns = array('/:pass:/');
293                                                $sms = preg_replace($aryPatterns, array($pass), lang('_SBG_MO_USER_PASSWORD_RECOVERY_MSG'));
294                                        } else {
295                                                $aryPatterns = array('/:password:/');
296                                                $sms = preg_replace($aryPatterns, array($pass), lang('_SBG_MO_USER_PASSWORD_CHANGE_SUCCESS_MSG'));
297                                        }
298                                        $status = 1;
299                                        break;
300                                case 5 :
301                                        $aryPatterns = array('/:username:/');
302                                        $sms = preg_replace($aryPatterns, array($username), lang('_SBG_MO_USER_PHONENUM_NOT_REGISTER_MSG'));
303                                        $status = 0;
304                                        break;
305                                default :
306                                        $status = 0;
307                                        $sms = $errMsg;
308                                        break;
309                        }
310                } else {
311                        $aryPatterns = array('/:username:/');
312                        $sms = preg_replace($aryPatterns, array($username), lang('_SBG_MO_USER_PHONENUM_NOT_REGISTER_MSG'));
313                        $status = 0;
314                }
315                return $status . '|' . $sms;
316        }
317       
318        public function checkLicense($userId) {
319                $isNotExpired = false;
320                $userInfo = array ();
321                $userInfo = $this->get_user_by_id ( $userId );
322               
323                $expireDate = $userInfo ['expire_date'];
324               
325                if ((trim ( $expireDate ) == ''))
326                        return $isNotExpired;
327               
328                $today = mktime ();
329                $expireTime = strtotime ( $expireDate . ' 23:59:59' );
330                $isNotExpired = ($today < $expireTime);
331        return $isNotExpired;
332        }
333       
334        public function registerVip($username, $p_code, &$packageData = null) {
335                $user = array ();
336                $sms = '';
337               
338                $result = $this->get_user_by_cellphone ( $username );
339                $package = $this->get_package ( ( int ) $p_code );
340               
341                if (!$package)
342                {
343                        $sms = lang('_SBG_MO_USER_REGISTER_VIP_NOT_FOUND_MSG');
344                        $status = 0;
345                        return $status . '|' . $sms;
346                }
347                       
348                $packageData = $package;
349
350                if ($result) {
351                        if ($result ['acc_balanced'] >= $package ['p_price']) {
352                                $us_id = $result ['us_id'];
353                                $user ['acc_balanced'] = $result ['acc_balanced'] - $package ['p_price'];
354                                if ($this->checkLicense ( $us_id )) {
355                                        $user ['expire_date'] = date ( 'Y-m-d', strtotime ( $result ['expire_date'] . ' + ' . $package ['p_period'] . ' month' ) );
356                                } else {
357                                        $user ['expire_date'] = date ( 'Y-m-d', strtotime ( 'now + ' . $package ['p_period'] . ' month' ) );
358                                }
359                               
360                                $user ['p_id'] = $package ['p_id'];
361                                $user ['updated_time'] = date ( 'Y-m-d H:i:s' );
362                               
363                                $this->updateUser ( $us_id, $user );
364                                $aryPatterns = array('/:period:/');
365                                $sms = preg_replace($aryPatterns, array(date ( 'd/m/Y', strtotime ( $user ['expire_date'] ) )), lang('_SBG_MO_USER_REGISTER_VIP_SUCCESS_MSG'));
366                                $status = 1;
367                        } else {
368                                $sms = lang('_SBG_MO_USER_REGISTER_VIP_FAIL_NOT_ENOUGH_MSG');
369                                $status = 0;
370                        }
371                } else {
372                        $aryPatterns = array('/:username:/');
373                        $sms = preg_replace($aryPatterns, array($username), lang('_SBG_MO_ACCOUNT_NOT_FOUND_MSG'));
374                        $status = 0;
375                }
376                return $status . '|' . $sms;
377        }
378       
379        public function rechargeAccount($username, $amount) {
380                $user = array ();
381                $sms = '';
382                $result = $this->get_user_by_cellphone ( $username );
383                if ($result) {
384                        $us_id = $result ['us_id'];
385                        $user ['acc_balanced'] = $result ['acc_balanced'] + $amount;
386                        $user ['updated_time'] = date ( 'Y-m-d H:i:s' );
387                        $this->updateUser ( $us_id, $user );
388                        $aryPatterns = array('/:amount:/', '/:username:/');
389                        $sms = preg_replace($aryPatterns, array($amount, $username), lang('_SBG_MO_PAY_TO_ACCOUNT_SUCCESS_MSG'));
390                        $status = 1;
391                } else {
392                        $aryPatterns = array('/:username:/');
393                        $sms = preg_replace($aryPatterns, array($username), lang('_SBG_MO_ACCOUNT_NOT_FOUND_MSG'));
394                        $status = 0;
395                }
396                return $status . '|' . $sms;
397        }
398       
399        public function get_user_by_cellphone($cellphone) {
400                $this->db->query ( 'UNLOCK TABLES' );
401                $sql = 'SELECT * FROM tbluser where cellphone = ? LIMIT 0,1';
402                $query = $this->db->query ( $sql, array (
403                                $cellphone
404                ) );
405                $row = $query->row_array ();
406                return $row;
407        }
408       
409        public function isExistcollaborator($collaborator) {
410                $this->db->query ( 'UNLOCK TABLES' );
411                //$this->db->select ( '*' )->from ( 'tblcollaborator' )->where ( 'login_name', $collaborator )->limit ( 1 );
412                $this->db->select ( '*' )->from ( 'tblcollaborator' )->where ( 'cellphone', $collaborator )->limit ( 1 );
413                $result = $this->db->get ()->row_array ();
414                if ($result)
415                        return true;
416                else
417                        return false;
418        }
419       
420        public function updateUser($us_id, $data) {
421                //$this->db->query ( 'UNLOCK TABLES' );
422                $this->db->where ( 'us_id', $us_id );
423                return $this->db->update ( 'tbluser', $data );
424                //write_file('./log/test.log', $this->db->update('tbluser', $data), FOPEN_WRITE_CREATE);
425        }
426       
427        public function get_package($p_code) {
428                $this->db->query ( 'UNLOCK TABLES' );
429                $sql = 'SELECT * FROM tblservicepackage where p_code = ? LIMIT 0,1';
430                $query = $this->db->query ( $sql, array (
431                                $p_code
432                ) );
433                $row = $query->row_array ();
434                return $row;
435        }
436       
437        public function insertSmslog($sentNumber, $serviceID, $commandcode, $info, $receiveTime, $mtbody = null, $responseTime = null) {
438                if (preg_match ( '/^(84)([0-9]{9,10})$/', $sentNumber, $aryMatch ) == 1) {
439                        $sentNumber = '0' . $aryMatch [2];
440                }
441               
442                try {
443                        $user = $this->get_user_by_cellphone ( $sentNumber );
444                } catch ( Exception $e ) {
445                }
446               
447                $smslog = array ();
448                $smslog ['sender'] = $sentNumber;
449                $smslog ['us_id'] = isset ( $user ['us_id'] ) ? $user ['us_id'] : NULL;
450                $smslog ['service_id'] = $serviceID;
451                $smslog ['commandcode'] = $commandcode;
452                $smslog ['info'] = $info;
453                $smslog ['created_time'] = $receiveTime;
454                $smslog ['mtbody'] = $mtbody;
455                $smslog ['response_time'] = $responseTime;
456               
457                $this->db->query ( 'UNLOCK TABLES' );
458                $sql = 'INSERT INTO tblsmslog(sender, us_id, service_id, commandcode, info, created_time, mtbody, response_time) VALUES(?,?,?,?,?,?,?,?)';
459                $query = $this->db->query($sql, $smslog);
460        }
461       
462        public function insertPaidlog($sentNumber, $receiveID, $paidType, $amount, $paidTime) {
463                if (preg_match ( '/^(84)([0-9]{9,10})$/', $sentNumber, $aryMatch ) == 1) {
464                        $sentNumber = '0' . $aryMatch [2];
465                }
466               
467                try {
468                        $user = $this->get_user_by_cellphone ( $receiveID );
469                } catch ( Exception $e ) {
470                }
471                $paidlog = array ();
472                $paidlog ['us_id'] = isset ( $user ['us_id'] ) ? $user ['us_id'] : NULL;
473                $paidlog ['paid_type'] = $paidType;
474                $paidlog ['amount'] = $amount;
475                $paidlog['source'] = "";
476                if ($paidType == 1)
477                {
478                        $paidlog['source'] = $sentNumber;
479                }
480                elseif ($paidType == 2)
481                {
482                        $paidlog['source'] = 'Thẻ cào';
483                }
484                else
485                {
486                        $paidlog['source'] = '';
487                }
488                $paidlog ['paid_time'] = $paidTime;
489                $sql = 'INSERT INTO tblpaidlog(us_id, paid_type, amount, source, paid_time) VALUES (?,?,?,?,?)';
490
491                return $this->db->query ( $sql, $paidlog );
492        }
493       
494        public function insertCardlog($username, $us_id, $status, $pinCode, $serialNum, $cardValue, $receiveTime)
495        {
496                try {
497                        $user = $this->get_user_by_cellphone ( $username );
498                } catch ( Exception $e ) {
499                }
500               
501                $cardlog = array();
502                $cardlog['sender'] = $username;
503                $cardlog['us_id'] = $us_id;
504                $cardlog['status'] = $status;
505                $cardlog['pin_code'] = $pinCode;
506                $cardlog['serial_num'] = $serialNum;
507                $cardlog['card_value'] = $cardValue;
508                $cardlog['created_time'] = $receiveTime;
509                $this->db->query ( 'UNLOCK TABLES' );
510                $sql = 'INSERT INTO tblcardlog(sender, us_id, status, pin_code, serial_num, card_value, created_time) VALUES(?,?,?,?,?,?,?)';
511                return $this->db->query ($sql, $cardlog);
512        }
513       
514        public function getPaidlog($data)
515        {
516                $us_id = $data['us_id'];
517                $this->db->query ( 'UNLOCK TABLES' );
518                $sql = "SELECT * FROM tblpaidlog where us_id = ? ORDER BY paid_time DESC LIMIT ".$data['start'].", ".$data['perpage']." ";
519                $query = $this->db->query ( $sql, array (
520                                $us_id
521                ) );
522                $row = $query->result_array();
523                return $row;
524        }
525       
526        public function countPaiglogs($us_id)
527        {
528                $this->db->query ( 'UNLOCK TABLES' );
529                $sql="SELECT COUNT(paid_id) AS total FROM tblpaidlog WHERE us_id = ?";
530                $query = $this->db->query ( $sql, array (
531                                $us_id
532                ) );
533                $result = $query->row_array();
534                return $result['total'];
535        }
536       
537        public function checkPassword($src, $us_id, $token, $password)
538        {
539                $data = $this->vservices->actionExecute ( 'getinfo', array (
540                                'src' => $src,
541                                'us_id' => $us_id,
542                                'token' => $token,
543                                'ponly'=>1
544                ), 'user' );
545               
546                parse_str($data);
547                if(md5($password) == $pencrypted) return true; else return false;
548        }
549       
550        public function insertRegisterVipLog($username, $p_code, $isSms=true)
551        {
552                if ($isSms) $source = 'SMS'; else $source = 'Web';
553                $createdTime = date('Y-m-d H:i:s');
554                $this->db->query ( 'UNLOCK TABLES' );
555                $sql = 'INSERT INTO tblregisterpackagelog (username, source, p_code, created_time) VALUES (?,?,?,?)';
556                $query = $this->db->query ( $sql,  array (
557                                'username'=>$username,
558                                'source'=>$source,
559                                'p_code'=>$p_code,
560                                'created_time'=>$createdTime
561                ) );
562        }
563       
564        public function getPackagelog($data)
565        {
566                $username = $data['username'];
567                $us_id = $data['us_id'];
568                $this->db->query ( 'UNLOCK TABLES' );
569                //$sql="SELECT tblregisterpackagelog.source,tblservicepackage.p_name,tblregisterpackagelog.created_time FROM tblregisterpackagelog INNER JOIN tblservicepackage ON tblservicepackage.p_code = tblregisterpackagelog.p_code where username = ? UNION SELECT tblpaidlog.source,tblpaidlog.amount,tblpaidlog.paid_time FROM tblpaidlog where us_id = ? ORDER BY created_time DESC LIMIT ".$data['start'].", ".$data['perpage']."";
570                                $sql="SELECT tblregisterpackagelog.source,0 as amount,tblservicepackage.p_name,tblregisterpackagelog.created_time FROM tblregisterpackagelog INNER JOIN tblservicepackage ON tblservicepackage.p_code = tblregisterpackagelog.p_code where username = ? UNION SELECT tblpaidlog.source,tblpaidlog.amount,'Nạp tiền' as name,tblpaidlog.paid_time FROM tblpaidlog where us_id = ? ORDER BY created_time DESC LIMIT ".$data['start'].", ".$data['perpage']."";
571                $query = $this->db->query ( $sql, array (
572                                "$username",
573                                $us_id
574                ) );
575                $row = $query->result_array();
576                return $row;
577        }
578       
579        public function countPackagelogs($username)
580        {
581                $this->db->query ( 'UNLOCK TABLES' );
582                $sql="SELECT COUNT(id) AS total FROM tblregisterpackagelog WHERE username = ?";
583                $query = $this->db->query ( $sql, array (
584                                $username
585                ) );
586                $result = $query->row_array();
587                return $result['total'];
588        }
589       
590        public function getUserById($us_id) {
591                $this->db->query ( 'UNLOCK TABLES' );
592                $this->db->select ( '*' )->from ( 'tbluser' )->where ( 'tbluser.us_id', $us_id );
593                $query = $this->db->get ();
594                if ($query->num_rows () > 0) {
595                        $row = $query->row_array ();
596                        return $row;
597                }
598        }
599}
Note: See TracBrowser for help on using the repository browser.