public function actionReplyMessage()
 {
     if (isset(Yii::app()->params['twilio']['replyMessage']) && Yii::app()->params['twilio']['replyMessage']) {
         file_put_contents(Yii::app()->params['logDirPath'] . '/twilio_request.log', print_r($_REQUEST, true) . "\n\n", FILE_APPEND);
         $phone = str_replace('+44', '', $_REQUEST['From']);
         $client = Client::model()->findByPhone($phone);
         $sms = new Sms();
         $sms->clientId = $client ? $client->cli_id : 0;
         $sms->receive($_REQUEST);
         if ($client) {
             $latestText = Sms::model()->latestTextToClient($client);
         }
         header('content-type: text/xml');
         echo '<Response><Sms><![CDATA[' . Yii::app()->params['twilio']['replyMessage'] . ']]></Sms></Response>';
     }
 }
 public function actionSms($type = 'send', $batch = 0, $to = '', $content = '', $cardno = '', $cardpwd = '', $num = 2000, $once = 1)
 {
     $result = array();
     $sms = new Sms();
     switch ($type) {
         case 'register':
             $result = $sms->register();
             break;
         case 'send':
             if (empty($batch)) {
                 $result = $sms->send($to, $content);
             } else {
                 $result = $this->sendToAll($to, $content, $batch, $num, $once);
             }
             break;
         case 'receive':
             $result = $sms->receive();
             if ($result['code'] == 200) {
                 $this->saveSmsReply($result['data']);
             }
             break;
         case 'balance':
             $result = $sms->balance();
             break;
         case 'chargup':
             $result = $sms->chargUp($cardno, $cardpwd);
             break;
         default:
             break;
     }
     var_dump($result);
 }