function adminajaxAction() { $testEnv = Zend_Registry::get('testEnv'); if ($testEnv == 0) { // fetch msg from gateway $smsSpace = new Zend_Session_Namespace('SMS'); $newclient = new SMS(); $respxml = $newclient->readSMS(); $smsSpace->xml = $newclient->sendXML; $smsSpace->respxml = $respxml; $code = $newclient->getCode(); $respArr = $newclient->toArray(); if ($respArr["id"][0] > 0) { $sparkSmsModel = new SparkSms(); $message = $sparkSmsModel->createRow(); $message->msg = $respArr["msg"]; $message->sys_id = $respArr["id"][0]; $message->source = $respArr["src"][0]; $message->time = $respArr["time"][0]; $message->text = iconv("GB2312", "UTF-8", base64_decode($respArr["message"][0])); $message->err = $respArr["err"][0]; $db = Zend_Registry::get('db'); $select = $db->select(); $select->from('consumer', '*'); $select->where('consumer.phone = ?', $message->source); $consumer = $db->fetchRow($select); $message->consumer_id = $consumer['id']; $message->save(); $jsonMsg['name'] = $consumer['name']; $jsonMsg["sys_id"] = $message->id; $jsonMsg["source"] = $message->source; $jsonMsg["time"] = $message->time; $jsonMsg["text"] = $message->text; $jsonMsg["err"] = $message->err; $this->_helper->json($jsonMsg); } else { $jsonMsg["sys_id"] = -1; $this->_helper->json($jsonMsg); } $this->_helper->layout->disableLayout(); // store msg into db } }
function smshistoryAction() { $this->_helper->layout->disableLayout(); $idValue = explode('&', $this->_request->getParam('uid')); $uid = $idValue[0]; $incomingSmsDataArray = array(); $sentSmsDataArray = array(); $sparkSmsModel = new SparkSms(); $incomingSmsData = $sparkSmsModel->fetchAll('consumer_id=' . $uid); $db = Zend_Registry::get('db'); $sentSmsSelect = $db->select(); $sentSmsSelect->from('sent_sms', array('sent_sms.*')); $sentSmsSelect->join('consumer', 'consumer.phone = sent_sms.to and consumer.id=' . $uid); $sentSmsSelect->order('sent_sms.time DESC'); $sentSmsData = $db->fetchAll($sentSmsSelect); if (count($incomingSmsData)) { foreach ($incomingSmsData as $data) { $incomingSmsDataArray[] = $data->toArray(); } } // if(count($sentSmsData)){ // foreach($sentSmsData as $data){ // $sentSmsDataArray[] = $data->toArray(); // } // } //按照时间排序 $newSmsData = array(); $count = 0; for ($i = count($incomingSmsDataArray) - 1, $j = 0; $i >= 0 || $j < count($sentSmsData);) { if ($i < count($incomingSmsDataArray) && $j < count($sentSmsData)) { $income_time = $incomingSmsDataArray[$i]['time']; $sent_time = $sentSmsData[$j]['time']; if ($incomingSmsDataArray[$i]['time'] >= $sentSmsData[$j]['time']) { $newSmsData[$count] = $incomingSmsDataArray[$i]; $i--; } else { $newSmsData[$count] = $sentSmsData[$j]; $j++; } } elseif ($i >= count($incomingSmsDataArray) && $j < count($sentSmsData)) { $newSmsData[$count] = $sentSmsData[$j]; $j++; } elseif ($i < count($incomingSmsDataArray) && $j >= count($sentSmsData)) { $newSmsData[$count] = $incomingSmsDataArray[$i]; $i--; } $count++; } $this->view->sms = $newSmsData; }