break; case 'debug': if (!$instance->debug and !$vpl->has_capability(VPL_GRADE_CAPABILITY)) { throw new Exception(get_string('notavailable')); } $outcome->response = mod_vpl_edit::execute($vpl, $userid, $action); break; case 'evaluate': if (!$instance->evaluate and !$vpl->has_capability(VPL_GRADE_CAPABILITY)) { throw new Exception(get_string('notavailable')); } $outcome->response = mod_vpl_edit::execute($vpl, $userid, $action); break; case 'retrieve': $outcome->response = mod_vpl_edit::retrieve_result($vpl, $userid); break; case 'cancel': $outcome->response = mod_vpl_edit::cancel($vpl, $userid); break; case 'getjails': $outcome->response->servers = vpl_jailserver_manager::get_https_server_list($vpl->get_instance()->jailservers); break; default: throw new Exception('ajax action error'); } } catch (Exception $e) { $outcome->success = false; $outcome->error = $e->getMessage(); } echo json_encode($outcome); die;