public function executeJsonRevertSnapshot(sfWebRequest $request) { // logical volume id //$nid = $request->getParameter('nid'); $slv = $request->getParameter('slv'); $olv = $request->getParameter('olv'); $etva_node = EtvaNodePeer::getOrElectNode($request); //if(!$etva_node = EtvaNodePeer::retrieveByPK($nid)){ if (!$etva_node) { $msg_i18n = $this->getContext()->getI18N()->__(EtvaNodePeer::_ERR_NOTFOUND_ID_, array('%id%' => $nid)); $error = array('success' => false, 'agent' => sfConfig::get('config_acronym'), 'error' => $msg_i18n, 'info' => $msg_i18n); //notify system log $node_log = Etva::getLogMessage(array('id' => $nid), EtvaNodePeer::_ERR_NOTFOUND_ID_); $message = Etva::getLogMessage(array('name' => $lv, 'size' => $size, 'info' => $node_log), EtvaLogicalvolumePeer::_ERR_RESIZE_); $this->dispatcher->notify(new sfEvent(sfConfig::get('config_acronym'), '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); } if (!($etva_lv = $etva_node->retrieveLogicalvolumeByLv($olv))) { $msg_i18n = $this->getContext()->getI18N()->__(EtvaLogicalvolumePeer::_ERR_NOTFOUND_, array('%name%' => $lv)); $error = array('success' => false, 'agent' => sfConfig::get('config_acronym'), 'error' => $msg_i18n, 'info' => $msg_i18n); //notify system log $this->dispatcher->notify(new sfEvent($etva_node->getName(), 'event.log', array('message' => $msg_i18n, '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); } if (!($etva_slv = $etva_node->retrieveLogicalvolumeByLv($slv))) { $msg_i18n = $this->getContext()->getI18N()->__(EtvaLogicalvolumePeer::_ERR_NOTFOUND_, array('%name%' => $slv)); $error = array('success' => false, 'agent' => sfConfig::get('config_acronym'), 'error' => $msg_i18n, 'info' => $msg_i18n); //notify system log $this->dispatcher->notify(new sfEvent($etva_node->getName(), 'event.log', array('message' => $msg_i18n, '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); } // HERE $etva_vg = $etva_lv->getEtvaVolumegroup(); /* * send request to VA */ // prepare soap info.... $slv_va = new EtvaLogicalvolume_VA($etva_slv); $response = $slv_va->send_revertsnapshot($etva_node, $etva_lv); 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); } }