Added a hosts bit
[glcas.git] / plugins / adhoc.php
index cfffa2e..6df9241 100644 (file)
@@ -4,6 +4,10 @@ error_log("adhoc loaded");
 
 global $URL_HANDLERS;
 $URL_HANDLERS["adhoc.*"] = "GLCASAdhoc";
+global $BASE_URL, $MENU_ITEMS;
+$MENU_ITEMS["20adhoc"]["name"] = "Adhoc Packages";
+$MENU_ITEMS["20adhoc"]["link"] = "$BASE_URL/adhoc";
+
 
 class GLCASAdhoc {
        function __construct($config)
@@ -27,6 +31,10 @@ class GLCASAdhoc {
                                        error_log("in updaterepo");
                                        GLCASpageBuilder($this,"addPackage");
                                        return;
+                               case "deletepkg":
+                                       error_log("in delete pkg");
+                                       GLCASpageBuilder($this, "delPackage");
+                                       return;
                        }
                }
                
@@ -35,6 +43,25 @@ class GLCASAdhoc {
                
        }
        
+       function delPackage($url)
+       {       
+               $repostore = $this->config->getConfigVar("storagelocation");
+               
+               $pkgid = $_REQUEST["pkgid"];
+               
+               $pkgs = unserialize($this->config->getConfigVar("adhocpackages"));
+               
+               if(isset($pkgs[$pkgid])) {
+                       unset($pkgs[$pkgid]);
+                       $this->config->setConfigVar("adhocpackages", serialize($pkgs));
+                       $this->config->saveConfig();
+               }
+               
+               global $WEB_ROOT_FS, $URL_HANDLERS, $BASE_URL;
+               header("Location: $BASE_URL/adhoc/");
+               
+       }
+       
        function addPackage($url)
        {
                $repostore = $this->config->getConfigVar("storagelocation");
@@ -120,20 +147,24 @@ class GLCASAdhoc {
        function mainBody($url)
        {
                echo "<h2>Packages</h2>";
-               
-               $kos = getKnownOSList();
-               
-               echo "<hr>";
-               echo "<h3>Add a Package</h3><br>";
+
                $pkgs = unserialize($this->config->getConfigVar("adhocpackages"));
+               echo "<table border=\"1\"><tr><th>Name</th><th>Package Types</th><th>Architecture</th><th>Control</th></tr>";
+               
                foreach($pkgs as $key => $var) {
                        $name = $var["pkgname"];
                        $arch = $var["arch"];
                        $type = $var["type"];
-                       echo "$key: $name $arch, $type<br>";
+                       echo "<tr><td>$name</td><td>$type</td><td>$arch</td><td>Add another arch <a href=\"?action=deletepkg&pkgid=$key\">Delete</a></td></tr>";
                }
+               echo "<table>";
+               
+               $kos = getKnownOSList();
+               
+               echo "<hr>";
+               echo "<h3>Add a Package</h3><br>";
                echo "<form enctype=\"multipart/form-data\" method=\"post\" action=\"?action=addpackage\">";
-               echo "Name <input type=\"text\" name=\"pkgname\"><br>";
+               echo "Name <input type=\"text\" name=\"pkgname\"> or Add version of <select name=\"origpkg\"></select><br>";
                echo "Arch <select name=\"arch\">";
                foreach($kos["pkgarch"] as $key => $val) {
                        echo "<option value=\"$key\">$val</option>";
@@ -149,6 +180,8 @@ class GLCASAdhoc {
                echo "<input type=\"submit\" name=\"add\" value=\"Add\">";
                echo "</form>";
        }
+       
+       private $config;
 }
 
 ?>