Explorar o código

delete user package

Serghey Rodin %!s(int64=13) %!d(string=hai) anos
pai
achega
25a2926881
Modificáronse 2 ficheiros con 70 adicións e 0 borrados
  1. 54 0
      bin/v_delete_user_package
  2. 16 0
      web/delete/package/index.php

+ 54 - 0
bin/v_delete_user_package

@@ -0,0 +1,54 @@
+#!/bin/bash
+# info: delete user package
+# options: package
+#
+# The function for deleting user package. It does not allow to delete pacakge
+# if it is in use.
+
+
+#----------------------------------------------------------#
+#                    Variable&Function                     #
+#----------------------------------------------------------#
+
+# Argument defenition
+package=$1
+
+# Includes
+source $VESTA/conf/vesta.conf
+source $VESTA/func/main.sh
+
+# Functions
+is_package_in_use() {
+    check_package=$(grep "PACKAGE='$package'" $USER_DATA/*/user.conf)
+    if [ ! -z "$check_package" ]; then
+        echo "Error: package $package is in use"
+        log_event "$E_INUSE" "$EVENT"
+        exit $E_INUSE
+    fi
+}
+
+#----------------------------------------------------------#
+#                    Verifications                         #
+#----------------------------------------------------------#
+
+check_args '1' "$#" 'package'
+validate_format 'package'
+is_package_valid
+is_package_in_use
+
+
+#----------------------------------------------------------#
+#                       Action                             #
+#----------------------------------------------------------#
+
+# Deleting user package
+rm -f $VESTA/data/packages/$package.pkg
+
+
+#----------------------------------------------------------#
+#                       Vesta                              #
+#----------------------------------------------------------#
+
+log_event "$OK" "$EVENT"
+
+exit

+ 16 - 0
web/delete/package/index.php

@@ -0,0 +1,16 @@
+<?php
+// Init
+error_reporting(NULL);
+ob_start();
+session_start();
+include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
+
+if ($_SESSION['user'] == 'admin') {
+    if (!empty($_GET['package'])) {
+        $v_package = escapeshellarg($_GET['package']);
+        exec (VESTA_CMD."v_delete_user_package ".$v_package, $output, $return_var);
+        unset($output);
+    }
+}
+
+header("Location: /list/package/");