if ($_POST["export_id"] && $_POST["dst"] && $_POST["vps_id"]) { $e = nas_get_export_by_id($_POST["export_id"]); $vps = new vps_load($_POST["vps_id"]); if (is_mount_dst_valid($_POST["dst"]) === false) { $xtpl->perex(_("Destination contains forbidden characters"), ''); mount_add_form($mount_export_add_target, $mount_custom_add_target); } elseif (nas_can_user_add_mount($e, $vps)) { nas_mount_add($_POST["export_id"], $_POST["vps_id"], $_POST["access_mode"], 0, "", $_POST["dst"], $_SESSION["is_admin"] ? $_POST["m_opts"] : NULL, $_SESSION["is_admin"] ? $_POST["u_opts"] : NULL, "nfs", $_POST["cmd_premount"], $_POST["cmd_postmount"], $_POST["cmd_preumount"], $_POST["cmd_postumount"], $_POST["mount_immediately"]); } notify_user(_("Mount created"), _("Mount was successfully created.")); redirect('?page=nas'); } break; case "mount_custom_add_save": if ($_SESSION["is_admin"] && $_POST["vps_id"] && $_POST["src"] && $_POST["dst"]) { $e = nas_get_export_by_id($_POST["export_id"]); $vps = new vps_load($_POST["vps_id"]); if (is_mount_dst_valid($_POST["dst"]) === false) { $xtpl->perex(_("Destination contains forbidden characters"), ''); mount_add_form($mount_export_add_target, $mount_custom_add_target); } elseif (nas_can_user_add_mount($e, $vps)) { nas_mount_add(0, $_POST["vps_id"], $_POST["access_mode"], $_POST["source_node_id"], $_POST["src"], $_POST["dst"], $_POST["m_opts"], $_POST["u_opts"], $_POST["type"], $_POST["cmd_premount"], $_POST["cmd_postmount"], $_POST["cmd_preumount"], $_POST["cmd_postumount"], $_POST["mount_immediately"]); } notify_user(_("Mount created"), _("Mount was successfully created.")); redirect('?page=nas'); } break; case "mount_edit": $m = nas_get_mount_by_id($_GET["id"]); $vps = new vps_load($m["vps_id"]); if (nas_can_user_manage_mount($m, $vps)) {
function get_backuper_server() { global $db; $e = nas_get_export_by_id($this->ve["vps_backup_export"]); $n = new cluster_node($e["node_id"]); return $n->s; }
function nas_create_default_mounts($obj, $mapping = array()) { $mounts = nas_list_default_mounts(); foreach ($mounts as $m) { $storage_export_id = $m["storage_export_id"]; if ($storage_export_id) { $e = nas_get_export_by_id($storage_export_id); if ($e["default"] != "no") { $storage_export_id = $mapping[$storage_export_id]; } } nas_mount_add($storage_export_id, $m["vps_id"] ? $m["vps_id"] : $obj["vps_id"], $m["mode"], $m["server_id"], nas_resolve_vars($m["src"], $obj), $m["dst"], $m["mount_opts"], $m["umount_opts"], $m["mount_type"], $m["cmd_premount"], $m["cmd_postmount"], $m["cmd_preumount"], $m["cmd_postumount"], false, false); } }
} $msg .= "</ul>"; } if (count($mounts) > 0) { $msg .= _("Following mounts of these exports will be deleted too:") . "<ul>"; foreach ($mounts as $m) { $msg .= "<li> VPS #" . $m["vps_id"] . "; " . _("path") . " " . $m["dst"] . "</li>"; } $msg .= "</ul>"; } $msg .= '<br><br><a href="?page=cluster&action=nas_settings">' . strtoupper(_("No")) . '</a> | <a href="?page=cluster&action=nas_def_export_del2&id=' . $_GET["id"] . '">' . strtoupper(_("Yes")) . '</a>'; $xtpl->perex(_("Do you really want to delete export") . ' ' . $e["path"] . '?', $msg); } break; case "nas_def_export_del2": if ($_GET["id"] && ($e = nas_get_export_by_id($_GET["id"]))) { nas_export_delete($_GET["id"]); notify_user(_("Default export deleted"), _("Default export successfully deleted.")); redirect('?page=cluster&action=nas_settings'); } break; case "nas_def_mount_add": $xtpl->table_title(_("Add default mount for new VPS")); mount_add_form('?page=cluster&action=nas_def_export_mount_save', '?page=cluster&action=nas_def_custom_mount_save', true); $xtpl->sbar_add(_("Back"), '?page=cluster&action=nas_settings'); break; case "nas_def_export_mount_save": if ($_POST["export_id"] && $_POST["dst"] && isset($_POST["vps_id"])) { nas_mount_add($_POST["export_id"], $_POST["vps_id"], $_POST["access_mode"], 0, "", $_POST["dst"], $_SESSION["is_admin"] ? $_POST["m_opts"] : NULL, $_SESSION["is_admin"] ? $_POST["u_opts"] : NULL, "nfs", $_POST["cmd_premount"], $_POST["cmd_postmount"], $_POST["cmd_preumount"], $_POST["cmd_postumount"], false, true); notify_user(_("Default mount saved"), ''); redirect('?page=cluster&action=nas_settings');