예제 #1
0
 public function respond()
 {
     global $_SGLOBAL, $wx;
     $level = array();
     if (!empty($wx->weixin['account']['modules'])) {
         foreach ($wx->weixin['account']['modules'] as $row) {
             if (!empty($row['displayorder'])) {
                 $level[$row['displayorder']] = $row;
             }
         }
     }
     if (!empty($level)) {
         $response = '';
         foreach ($level as $k => $v) {
             if (!empty($response)) {
                 $wx->response['module'] = $wx->weixin['module'];
                 return $response;
                 break;
             }
             if (empty($level[$k])) {
                 continue;
             }
             $wx->weixin['module'] = $level[$k]['name'];
             $processor = WX_Utility::create_module_processor($wx->weixin['module']);
             $processor->message = $wx->message;
             $processor->module = $wx->weixin['account']['modules'][$wx->weixin['module']];
             $response = $processor->respond();
         }
     }
     if (!$response) {
         $wx->weixin['module'] = 'basic';
         $processor = WX_Utility::create_module_processor($wx->weixin['module']);
         $processor->message = $wx->message;
         $processor->module = $wx->weixin['account']['modules'][$wx->weixin['module']];
         $response = $processor->respond();
     }
     return $response;
 }
예제 #2
0
파일: wx.php 프로젝트: hugolong/weixiao
 private function process()
 {
     $response = false;
     if (empty($this->response['module']) || !in_array($this->response['module'], $this->modules)) {
         return false;
     }
     $processor = WX_Utility::create_module_processor($this->response['module']);
     $processor->message = $this->message;
     $processor->module = $this->weixin['account']['modules'][$this->response['module']];
     $response = $processor->respond();
     if (empty($response)) {
         return false;
     }
     return $response;
 }