X-Git-Url: http://git.pjr.cc/?p=glcas.git;a=blobdiff_plain;f=plugins%2Fadhoc.php;fp=plugins%2Fadhoc.php;h=7b56ef8a00d5f28362f6d7d5ce89b04c5449df37;hp=9bfbb65451b6109694a2b3a47f6f71ed2eeb781c;hb=155c0a1bc81dff4fc1bb4bcebb754c961e457499;hpb=58365ecc64413d416dadaa82607e57a1f76eca7e diff --git a/plugins/adhoc.php b/plugins/adhoc.php index 9bfbb65..7b56ef8 100644 --- a/plugins/adhoc.php +++ b/plugins/adhoc.php @@ -25,6 +25,17 @@ class GLCASAdhoc { function go($url) { + error_log("ADHOC: url is $url in"); + $tags = explode("/", $url); + if(isset($tags[1])) { + error_log("tags 1 is set: \"".$tags[1]."\""); + if($tags[1] != "") { + if($this->doPackageRequest($tags[1])) return 0; + } else { + GLCASpageBuilder($this, "doPackageList"); + return 0; + } + } if(isset($_REQUEST["action"])) { switch($_REQUEST["action"]) { case "addpackage": @@ -43,22 +54,31 @@ class GLCASAdhoc { } + function doPackageList() + { + echo "im a package list\n"; + } + + function doPackageRequest($package) + { + echo "i got a request for $package\n"; + + return true; + } + function delPackage($url) { $repostore = $this->config->getConfig("storagelocation"); $pkgid = $_REQUEST["pkgid"]; + $pkgname = $_REQUEST["pkgname"]; - $pkgs = unserialize($this->config->getConfig("adhocpackages")); - - if(isset($pkgs[$pkgid])) { - unset($pkgs[$pkgid]); - $this->config->setConfig("adhocpackages", serialize($pkgs)); - $this->config->saveConfig(); - } + $this->config->delAllData("adhocpkgdata", $pkgid); + $this->config->delData("adhoc", "pkglist", "$pkgname", "$pkgid"); global $WEB_ROOT_FS, $URL_HANDLERS, $BASE_URL; - header("Location: $BASE_URL/adhoc/"); + header("Location: $BASE_URL/adhoc"); + } @@ -67,10 +87,16 @@ class GLCASAdhoc { $repostore = $this->config->getConfig("storagelocation"); if(!isset($_REQUEST["pkgname"])) { - echo "Error: No package name set
"; + if(isset($_REQUEST["origpkg"])) if($_REQUEST["origpkg"] == -1) { + echo "Error: No package name set
"; + return 0; + } } if($_REQUEST["pkgname"] == "") { - echo "Error: Package name cant be blank
"; + if(isset($_REQUEST["origpkg"])) if($_REQUEST["origpkg"] == -1) { + echo "Error: Package name cant be blank
"; + return 0; + } } @@ -97,50 +123,63 @@ class GLCASAdhoc { if(!$uploaded && !$fileurl) { echo "Error: no uploaded file and no file url, you need one or the other buddy
"; + return 0; } $getfile = ""; if($fileurl) { $getfile = file_get_contents($_REQUEST["fileurl"]); - } + } if($uploaded||$fileurl) { echo "Got a file named $fname, $lname"; } - $pkgs = unserialize($this->config->getConfig("adhocpackages")); + $myname = $_REQUEST["pkgname"]; + $myarch = $_REQUEST["arch"]; + $mytype = $_REQUEST["type"]; + $myfileurl = $ultfileurl; + + if(isset($_REQUEST["origpkg"])) if($_REQUEST["origpkg"] != -1) { + $n = $_REQUEST["origpkg"]; + $this->config->addData("adhocpkgdata", "$n", "arch", $myarch); + $this->config->addData("adhocpkgdata", "$n", "type", $mytype); + $outputfile = "$repostore/adhoc/$n.$myarch.$mytype"; + if($uploaded) { + copy("$fname", "$outputfile"); + } else { + file_put_contents("$outputfile", $getfile); + } + + global $WEB_ROOT_FS, $URL_HANDLERS, $BASE_URL; + header("Location: $BASE_URL/adhoc"); + return 0; + } - $n = -1; - foreach($pkgs as $key => $var) { - $n = $key; + // assuming add a new + $n = 0; + $pkglist = $this->config->getData("adhoc", "pkglist"); + if($pkglist !== false) foreach($pkglist as $key => $val) { + $n = $val["name"]+1; } - $n++; + + error_log("would add package as $n"); - echo "Would add package as $n"; + $this->config->addData("adhoc", "pkglist", "$myname", $n); + $this->config->addData("adhocpkgdata", "$n", "arch", $myarch); + $this->config->addData("adhocpkgdata", "$n", "type", $mytype); - $pkgs[$n]["name"] = $_REQUEST["pkgname"]; - $pkgs[$n]["arch"] = $_REQUEST["arch"]; - $pkgs[$n]["type"] = $_REQUEST["type"]; - $pkgs[$n]["fileurl"] = $ultfileurl; - + + $outputfile = "$repostore/adhoc/$n.$myarch.$mytype"; if($uploaded) { - copy("$fname", "$repostore/adhoc/$n"); + copy("$fname", "$outputfile"); } else { - file_put_contents("$repostore/adhoc/$n", $fetfile); + file_put_contents("$outputfile", $getfile); } - $this->config->setConfig("adhocpackages", serialize($pkgs)); - $this->config->saveConfig(); - - echo "Done"; - - - echo "
";
-		print_r($_SERVER);
-		print_r($_FILES);
-		print_r($_REQUEST);
-		print_r($pkgs);
-		echo "
"; + global $WEB_ROOT_FS, $URL_HANDLERS, $BASE_URL; + header("Location: $BASE_URL/adhoc"); + } @@ -148,23 +187,51 @@ class GLCASAdhoc { { echo "

Packages

"; + /* TODO: to new config $pkgs = unserialize($this->config->getConfig("adhocpackages")); - echo ""; - - foreach($pkgs as $key => $var) { - $name = $var["pkgname"]; - $arch = $var["arch"]; - $type = $var["type"]; - echo ""; + */ + $pkgs = $this->config->getData("adhoc"); + //print_r($pkgs); + if($pkgs !== false) { + echo "
NamePackage TypesArchitectureControl
$name$type$archAdd another arch Delete
"; + + foreach($pkgs as $key => $var) { + $name = $var["name"]; + $id = $var["val"]; + $arch_v = $this->config->getData("adhocpkgdata", $id, "arch"); + $arch = $arch_v[0]["val"]; + $type_v = $this->config->getData("adhocpkgdata", $id, "type"); + $type = $type_v[0]["val"]; + echo ""; + if(count($arch_v) > 1) { + for($i=1; $i < count($arch_v); $i++) { + $arch = $arch_v[$i]["val"]; + $type_v = $this->config->getData("adhocpkgdata", $id, "type"); + $type = $type_v[$i]["val"]; + echo ""; + } + } + } + echo "
NamePackage TypesArchitectureControl
$name$type$archDelete
$type$arch
"; } - echo "
"; - + $kos = getKnownOSList(); echo "
"; echo "

Add a Package


"; echo ""; - echo "Name or Add version of
"; + echo "Name "; + if($pkgs !== false) { + echo "or Add version of
"; + } + else echo "
"; echo "Arch