Пример #1
0
 public function executeJsonRemove(sfWebRequest $request)
 {
     $id = $request->getParameter('id');
     $kfs = (bool) $request->getParameter('keep_fs');
     $keep_fs = false;
     if (is_bool($kfs)) {
         $keep_fs = $kfs;
     }
     if (!($etva_server = EtvaServerPeer::retrieveByPK($id))) {
         $msg = Etva::getLogMessage(array('id' => $id), EtvaServerPeer::_ERR_NOTFOUND_ID_);
         $msg_i18n = $this->getContext()->getI18N()->__(EtvaServerPeer::_ERR_NOTFOUND_ID_, array('%id%' => $id));
         $error = array('agent' => sfConfig::get('config_acronym'), 'success' => false, 'error' => $msg_i18n);
         //notify event log
         $message = Etva::getLogMessage(array('info' => $msg), EtvaServerPeer::_ERR_REMOVE_ID_);
         $this->dispatcher->notify(new sfEvent($error['agent'], 'event.log', array('message' => $message, 'priority' => EtvaEventLogger::ERR)));
         // if is a CLI soap request return json encoded data
         if (sfConfig::get('sf_environment') == 'soap') {
             return json_encode($error);
         }
         // if is browser request return text renderer
         $error = $this->setJsonError($error);
         return $this->renderText($error);
     }
     $etva_node = $etva_server->getEtvaNode();
     $server_va = new EtvaServer_VA($etva_server);
     $response = $server_va->send_remove($etva_node, $keep_fs);
     if ($response['success']) {
         $return = json_encode($response);
         // if the request is made throught soap request...
         if (sfConfig::get('sf_environment') == 'soap') {
             return $return;
         }
         // if is browser request return text renderer
         $this->getResponse()->setHttpHeader('Content-type', 'application/json');
         return $this->renderText($return);
     } else {
         if (sfConfig::get('sf_environment') == 'soap') {
             return json_encode($response);
         }
         $return = $this->setJsonError($response);
         return $this->renderText($return);
     }
 }