Example #1
0
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();
    }
}
Example #2
0
     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) {
Example #3
0
         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;
 }