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); } }