source: pro-violet-viettel/sourcecode/application/modules/services/controllers/viettel.php @ 467

Last change on this file since 467 was 460, checked in by dungnv, 11 years ago
File size: 3.8 KB
Line 
1<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2/**
3 * Viettel Class
4 *
5 * @author dzungnv02
6 *
7 */
8
9class Viettel extends MX_Controller
10{
11       
12        function __construct() {
13                parent::__construct ();
14                $this->nusoap_server = new soap_server ();
15                $this->nusoap_server->configureWSDL('messageReceiver', 'urn:messageReceiver');
16                $this->nusoap_server->soap_defencoding = 'UTF-8';
17                $this->nusoap_server->methodreturnisliteral=TRUE;
18               
19                $this->nusoap_server->wsdl->addComplexType(
20                                'messageReceiver',
21                                'simpleType',
22                                'struct',
23                                '',
24                                'SOAP-ENC:Array',
25                                array(
26                                                'username'=>array('name'=>'username', 'type'=>'xsd:string'),
27                                                'password'=>array('name'=>'password', 'type'=>'xsd:string'),
28                                                'requestID'=>array('name'=>'requestID', 'type'=>'xsd:string'),
29                                                'userID'=>array('name'=>'userID', 'type'=>'xsd:string'),
30                                                'receiverID'=>array('name'=>'receiverID', 'type'=>'xsd:string'),
31                                                'serviceID'=>array('name'=>'serviceID', 'type'=>'xsd:string'),
32                                                'commandCode'=>array('name'=>'commandCode', 'type'=>'xsd:string'),
33                                                'contentType'=>array('name'=>'contentType', 'type'=>'xsd:string'),
34                                                'info'=>array('name'=>'info', 'type'=>'xsd:string'),
35                                                'receiveTime'=>array('name'=>'receiveTime', 'type'=>'xsd:string')
36                                )
37                );
38               
39                $this->nusoap_server->register ( 'MOReceiver',
40                                array( 'username' => 'xsd:string',
41                                                'password' => 'xsd:string',
42                                                'requestID' => 'xsd:string',
43                                                'userID' => 'xsd:string',
44                                                'receiverID' => 'xsd:string',
45                                                'serviceID' => 'xsd:string',
46                                                'commandCode' => 'xsd:string',
47                                                'contentType' => 'xsd:string',
48                                                'info' => 'xsd:string',
49                                                'receiveTime' => 'xsd:string')
50                                , array ('return' => 'xsd:string'),false,false
51                                ,'rpc'                         
52                                );
53        }
54
55        function index() {
56                if($this->uri->segment(3) == "wsdl") {
57                        $_SERVER['QUERY_STRING'] = "wsdl";
58                } else {
59                        $_SERVER['QUERY_STRING'] = "";
60                }
61               
62                function MOReceiver () {
63                        return 'Service not available!';
64                }
65               
66                $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA:'';
67                $this->nusoap_server->service($HTTP_RAW_POST_DATA);
68        }
69       
70        public function mo()
71        {
72                function MOReceiver($username, $password, $requestID, $userID, $receiverID, $serviceID, $commandCode, $contentType ,$info, $receiveTime){
73                        $msgType = '0'; //text message
74                        $errCode = '1'; //#1:error; 1:Success;
75                       
76                        $CI =& get_instance();                 
77                        $mo_username = $CI->config->item('mo_username');
78                        $mo_password = $CI->config->item('mo_password');
79
80                        if (!$username) return '0|0|Username is required!';
81                        if (!$password) return '0|0|Password is required!';
82                        if ($username != $mo_username) return '0|0|Username is not corrected!';
83                        if ($password != $mo_password) return '0|0|Password is not corrected!';
84                        if (!$requestID) return '0|0|requestID is required!';
85                        if (!$userID) return '0|0|UserID is required!';
86                        if (!$serviceID) return '0|0|serviceID is required!';
87                        if ($serviceID != '8062') return '0|0|serviceID is not corrected!';
88                       
89                        $status = 0;
90                        $sentNumber = $userID;                                                                 
91                        $username = !$receiverID ? $sentNumber : $receiverID;
92                       
93                        $CI->load->model('frontend/user_model', 'userModel');
94                        $password = $CI->userModel->create_random_password();           
95                       
96                        $result = $CI->userModel->register ($sentNumber, $receiverID, $serviceID, $commandCode, $info, $receiveTime, $status);
97                        $aryAgrs = func_get_args ();
98                        $fh = fopen('register.log', 'a+');
99                        fwrite ($fh, var_export($aryAgrs, true). "\n");
100                        fclose($fh);
101                       
102                        $aryResult = explode ('|', $result);
103                       
104                        return $aryResult[0].'|'.$msgType.'|'.$aryResult[1];
105                }
106               
107                $this->nusoap_server->service(file_get_contents("php://input"));
108        }
109}
110
111/* End of file viettel.php */
112/* Location: ./application/modules/service/controllers/viettel.php */
Note: See TracBrowser for help on using the repository browser.