function nas_mount_delete($id, $umount, $regen = true) { global $db; $m = nas_get_mount_by_id($id); $vps = new vps_load($m["vps_id"]); $vps->info(); if ($umount && !$m["default"] && $vps->ve["vps_up"]) { $vps->umount($m); } $db->query("DELETE FROM vps_mount WHERE id = '" . $db->check($id) . "'"); if ($regen && !$m["default"]) { $vps->mount_regen(); } }
case "mount": if ($_GET["id"]) { $m = nas_get_mount_by_id($_GET["id"]); $vps = new vps_load($m["vps_id"]); if (nas_can_user_manage_mount($m, $vps)) { $vps->mount($m); } notify_user(_("Mount scheduled."), ''); } else { notify_user(_("Mount id missing."), ''); } redirect('?page=nas'); break; case "umount": if ($_GET["id"]) { $m = nas_get_mount_by_id($_GET["id"]); $vps = new vps_load($m["vps_id"]); if (nas_can_user_manage_mount($m, $vps)) { $vps->umount($m); } notify_user(_("Umount scheduled."), ''); } else { notify_user(_("Mount id missing."), ''); } redirect('?page=nas'); break; default: $list_nas = true; break; } if ($list_nas) {
break; case "backup": foreach ($vpses as $veid) { $vps = vps_load($veid); if ($vps->exists) { $vps->backup(T_BACKUP_SCHEDULE); } } break; case "remount": $nodes = $db->check(is_array($_POST["source_nodes"]) ? implode(",", $_POST["source_nodes"]) : $_POST["source_nodes"]); foreach ($vpses as $veid) { $vps = vps_load($veid); $rs = $db->query("SELECT m.id\n\t\t\t\t\t FROM vps_mount m\n\t\t LEFT JOIN storage_export e ON m.storage_export_id = e.id\n\t\t LEFT JOIN storage_root r ON e.root_id = r.id\n\t\t WHERE m.vps_id = " . $db->check($vps->veid) . "\n\t\t AND (m.server_id IN (" . $nodes . ") OR r.node_id IN (" . $nodes . "))\n\t\t\t\t\t "); while ($row = $db->fetch_array($rs)) { $m = nas_get_mount_by_id($row["id"]); $vps->remount($m); } } break; case "mount_regen": foreach ($vpses as $veid) { $vps = vps_load($veid); if ($vps->exists) { $vps->mount_regen(); } } break; default: break; }