Пример #1
0
 function adminsendAction()
 {
     $this->_helper->layout->setLayout("layout_admin");
     $currentTime = date("Y-m-d H:i:s");
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         $newclient = new SMS();
         if ($newclient->ConfNull == "1") {
             $mobile = $formData['PhoneNum'];
             if ($formData['Msg'] != null && $formData['Msg'] != "") {
                 $message = $formData['Msg'];
             } else {
                 $smsMessage = new SmsMessage();
                 $message = $smsMessage->fetchRow('id =' . $formData['message']);
                 $message = $message->content;
                 //$message = $formData ['Msg'];
             }
             $time = $currentTime;
             $apitype = $formData['apitype'];
             // $apitype 通道选择 0:默认通道; 2:通道2; 3:即时通道;
             $msg = iconv("UTF-8", "GB2312", $message);
             //				Zend_Debug::dump($msg);
             $respxml = $newclient->sendSMS($mobile, $msg, $time, $apitype);
             // update sms log state and date
             if (isset($formData['plan_id']) && $formData['plan_id'] > 0) {
                 $planId = $formData['plan_id'];
                 $sendTime = date("Y-m-d H:i:s");
                 $sms = new ShortMessage();
                 $set = array('state' => 'Sent', 'send_date' => $sendTime);
                 $where = "plan_id=" . $planId . " and state='Sending' and phone in (" . $mobile . ")";
                 $sms->update($set, $where);
             }
             //print_r($newclient->sendXML);die();
             $smsSpace = new Zend_Session_Namespace('SMS');
             $smsSpace->xml = $newclient->sendXML;
             $smsSpace->respxml = $respxml;
             $this->view->code = $newclient->getCode();
             $respArr = $newclient->toArray();
             $this->view->mess = $respArr["msg"];
             $smsid = $respArr["idmessage"][0];
             $this->view->succnum = $respArr["successnum"][0];
             $this->view->succphone = $respArr["successphone"][0];
             $this->view->failephone = $respArr["failephone"][0];
             //var_dump($respArr);
             //record the history of the sms sent
             $phones = explode(',', $respArr["successphone"][0]);
             $db = Zend_Registry::get('db');
             $sentSmsModel = new SentSms();
             if (count($phones)) {
                 foreach ($phones as $phone) {
                     $sms = $sentSmsModel->createRow();
                     $sms->text = $message;
                     $sms->to = $phone;
                     $sms->time = $currentTime;
                     $sms->state = 'SENT';
                     $sms->save();
                 }
             }
             /*				$phone_sent_insert = '';
             				$fphone_sent_insert = '';
             				$phone = explode ( ',', $respArr ["successphone"] [0] );
             				
             				if (count ( $phone )) {
             					foreach ( $phone as $val ) {
             						$phone_sent_insert .= (strlen ( $phone_sent_insert ) == 0) ? " values('$message','$val','SENT','" . date ( "Y-m-d h:i:s" ) . "')" : ",('$message','$val','SENT','" . date ( "Y-m-d h:i:s" ) . "')";
             					}
             					$db = Zend_Registry::get ( 'db' );
             					$history_sms = $db->prepare ( 'insert into sent_sms(text,sent_sms.to,state,time) ' . $phone_sent_insert . ';' );
             					//die('insert into sent_sms(text,sent_sms.to,state,time) '.$phone_sent_insert);
             					$history_sms->execute ();
             				}
             				
             				$fphone = explode ( ',', $respArr ["failephone"] [0] );
             				if (strlen ( $fphone [0] )) {
             					foreach ( $fphone as $val ) {
             						$fphone_sent_insert .= (strlen ( $fphone_sent_insert ) == 0) ? " values('$message','$val','FAIL','" . date ( "Y-m-d h:i:s" ) . "')" : ",('$message','$val','FAIL','" . date ( "Y-m-d h:i:s" ) . "')";
             					}
             					$db = Zend_Registry::get ( 'db' );
             					$fhistory_sms = $db->prepare ( 'insert into sent_sms(text,sent_sms.to,state,time) ' . $fphone_sent_insert . ';' );
             					//die('insert into sent_sms(text,sent_sms.to,state,time) '.$fphone_sent_insert.';');
             					$fhistory_sms->execute ();
             				}*/
         } else {
             $this->view->code = "<font color='red'>失败</font>";
             $this->view->ermess = "<font color='red'>你还没有配置文件</font>";
             $this->view->error = "<font color='red'>失败</font>";
         }
     }
 }