X-Git-Url: http://git.pjr.cc/?p=glcas.git;a=blobdiff_plain;f=plugins%2Fadhoc.php;fp=plugins%2Fadhoc.php;h=6b7d4c1f045cd895bbe9d110af9a91e1b5c88af0;hp=0000000000000000000000000000000000000000;hb=c9cd2c7a60256b5d5d82610424c48706695bad5d;hpb=143c8289c2a75a9ff8d1db6136baa56fbb8ac19f
diff --git a/plugins/adhoc.php b/plugins/adhoc.php
new file mode 100644
index 0000000..6b7d4c1
--- /dev/null
+++ b/plugins/adhoc.php
@@ -0,0 +1,145 @@
+config = $config;
+ error_log("constructor for GLCASAdhoc");
+
+ $repostore = $this->config->getConfigVar("storagelocation");
+ if(!is_dir("$repostore/adhoc")) {
+ error_log("Creating dir for adhoc component");
+ mkdir("$repostore/adhoc");
+ }
+
+ }
+
+ function go($url)
+ {
+ if(isset($_REQUEST["action"])) {
+ switch($_REQUEST["action"]) {
+ case "addpackage":
+ error_log("in updaterepo");
+ GLCASpageBuilder($this,"addPackage");
+ return;
+ }
+ }
+
+ GLCASpageBuilder($this,"mainBody");
+ return;
+
+ }
+
+ function addPackage($url)
+ {
+ $repostore = $this->config->getConfigVar("storagelocation");
+
+ if(!isset($_REQUEST["pkgname"])) {
+ echo "Error: No package name set
";
+ }
+ if($_REQUEST["pkgname"] == "") {
+ echo "Error: Package name cant be blank
";
+ }
+
+
+ $fname = "";
+ $lname = "";
+ $ultfileurl = "";
+ if($_FILES["uploadedfile"]["name"] == "") {
+ $uploaded = false;
+ $ultfileurl = "uploaded";
+ } else {
+ $fname = $_FILES["uploadedfile"]["tmp_name"];
+ $lname = $_FILES["uploadedfile"]["name"];
+ $uploaded = true;
+ }
+
+ if($_REQUEST["fileurl"] == "") {
+ $fileurl = false;
+ $ultfileurl = $_REQUEST["fileurl"];
+ } else {
+ $fname = $_REQUEST["fileurl"];
+ $lname = basename($fname);
+ $fileurl = true;
+ }
+
+ if(!$uploaded && !$fileurl) {
+ echo "Error: no uploaded file and no file url, you need one or the other buddy
";
+ }
+
+ $getfile = "";
+ if($fileurl) {
+ $getfile = file_get_contents($_REQUEST["fileurl"]);
+ }
+
+ if($uploaded||$fileurl) {
+ echo "Got a file named $fname, $lname";
+ }
+
+ $pkgs = unserialize($this->config->getConfigVar("adhocpackages"));
+
+ $n = -1;
+ foreach($pkgs as $key => $var) {
+ $n = $key;
+ }
+ $n++;
+
+ echo "Would add package as $n";
+
+ $pkgs[$n]["arch"] = $_REQUEST["arch"];
+ $pkgs[$n]["type"] = $_REQUEST["type"];
+ $pkgs[$n]["fileurl"] = $ultfileurl;
+
+ if($uploaded) {
+ copy("$fname", "$repostore/adhoc/$n");
+ } else {
+ file_put_contents("$repostore/adhoc/$n", $fetfile);
+ }
+
+ $this->config->saveConfig();
+
+ echo "Done";
+
+
+ echo "
"; + print_r($_SERVER); + print_r($_FILES); + print_r($_REQUEST); + print_r($pkgs); + echo ""; + } + + + function mainBody($url) + { + echo "