X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=plugins%2Fadhoc.php;h=9bfbb65451b6109694a2b3a47f6f71ed2eeb781c;hb=58365ecc64413d416dadaa82607e57a1f76eca7e;hp=6b7d4c1f045cd895bbe9d110af9a91e1b5c88af0;hpb=c9cd2c7a60256b5d5d82610424c48706695bad5d;p=glcas.git
diff --git a/plugins/adhoc.php b/plugins/adhoc.php
index 6b7d4c1..9bfbb65 100644
--- a/plugins/adhoc.php
+++ b/plugins/adhoc.php
@@ -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)
@@ -11,7 +15,7 @@ class GLCASAdhoc {
$this->config = $config;
error_log("constructor for GLCASAdhoc");
- $repostore = $this->config->getConfigVar("storagelocation");
+ $repostore = $this->config->getConfig("storagelocation");
if(!is_dir("$repostore/adhoc")) {
error_log("Creating dir for adhoc component");
mkdir("$repostore/adhoc");
@@ -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,9 +43,28 @@ class GLCASAdhoc {
}
+ function delPackage($url)
+ {
+ $repostore = $this->config->getConfig("storagelocation");
+
+ $pkgid = $_REQUEST["pkgid"];
+
+ $pkgs = unserialize($this->config->getConfig("adhocpackages"));
+
+ if(isset($pkgs[$pkgid])) {
+ unset($pkgs[$pkgid]);
+ $this->config->setConfig("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");
+ $repostore = $this->config->getConfig("storagelocation");
if(!isset($_REQUEST["pkgname"])) {
echo "Error: No package name set
";
@@ -81,7 +108,7 @@ class GLCASAdhoc {
echo "Got a file named $fname, $lname";
}
- $pkgs = unserialize($this->config->getConfigVar("adhocpackages"));
+ $pkgs = unserialize($this->config->getConfig("adhocpackages"));
$n = -1;
foreach($pkgs as $key => $var) {
@@ -91,6 +118,7 @@ class GLCASAdhoc {
echo "Would add package as $n";
+ $pkgs[$n]["name"] = $_REQUEST["pkgname"];
$pkgs[$n]["arch"] = $_REQUEST["arch"];
$pkgs[$n]["type"] = $_REQUEST["type"];
$pkgs[$n]["fileurl"] = $ultfileurl;
@@ -101,6 +129,7 @@ class GLCASAdhoc {
file_put_contents("$repostore/adhoc/$n", $fetfile);
}
+ $this->config->setConfig("adhocpackages", serialize($pkgs));
$this->config->saveConfig();
echo "Done";
@@ -118,13 +147,24 @@ class GLCASAdhoc {
function mainBody($url)
{
echo "
Name | Package Types | Architecture | Control |
---|---|---|---|
$name | $type | $arch | Add another arch Delete |