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 "

Packages

"; + + $pkgs = unserialize($this->config->getConfig("adhocpackages")); + echo ""; + + foreach($pkgs as $key => $var) { + $name = $var["pkgname"]; + $arch = $var["arch"]; + $type = $var["type"]; + echo ""; + } + echo "
NamePackage TypesArchitectureControl
$name$type$archAdd another arch Delete
"; $kos = getKnownOSList(); echo "
"; echo "

Add a Package


"; echo ""; - echo "Name
"; + echo "Name or Add version of
"; echo "Arch "; echo ""; } + + private $config; } ?>