public function executeJsonRestore(sfWebRequest $request) { $backup_id = $request->getParameter('backup'); $backup_size = $request->getParameter('backup_size'); $apli = new Appliance(); $method = $request->getParameter('method'); switch ($method) { case 'restore': $serial = $apli->get_serial_number(); if (!$serial) { $msg = 'Need to register first!'; $result = array('success' => false, 'agent' => 'MASTERSITE', 'action' => 'need_register', 'info' => $msg, 'error' => $msg); $error = $this->setJsonError($result); return $this->renderText($error); } $result = $apli->restore($backup_id); if (!$result['success']) { if ($result['action'] == 'check_nodes') { $result['txt'] = 'VA error...'; } } break; default: $result = array('success' => true, 'data' => array()); break; } if (!$result['success']) { $error = $this->setJsonError($result); return $this->renderText($error); } $json_encoded = json_encode($result); $this->getResponse()->setHttpHeader('Content-type', 'application/json'); return $this->renderText($json_encoded); }