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 "

Packages

"; + + $kos = getKnownOSList(); + + echo "
"; + echo "

Add a Package


"; + echo "
"; + echo "Name
"; + echo "Arch
"; + echo "Type
"; + echo "Upload
"; + echo "From URL
"; + echo ""; + echo "
"; + } +} + +?>