X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=plugins%2Fadmin.php;h=e7dcd142e81f10eb956bd970450387cd4471aef9;hb=155c0a1bc81dff4fc1bb4bcebb754c961e457499;hp=609047f56c4ce723a7e4906ff34671aaa53e491e;hpb=671e643949bab1c87d175bfc98ff086deb9c44ff;p=glcas.git
diff --git a/plugins/admin.php b/plugins/admin.php
index 609047f..e7dcd14 100644
--- a/plugins/admin.php
+++ b/plugins/admin.php
@@ -2,6 +2,10 @@
error_log("admin loaded");
+global $BASE_URL, $MENU_ITEMS;
+$MENU_ITEMS["10admin"]["name"] = "Admin";
+$MENU_ITEMS["10admin"]["link"] = "$BASE_URL/admin";
+
global $URL_HANDLERS;
$URL_HANDLERS["admin.*"] = "GLCASAdmin";
global $CRON_CLASSES;
@@ -30,6 +34,9 @@ class GLCASAdmin {
GLCASpageBuilder($this,"doRepoNextForm");
return;
break;
+ case "addrepoapt":
+ GLCASpageBuilder($this,"doAddRepoApt");
+ return;
case "addrepoyum":
GLCASpageBuilder($this,"doAddRepoYum");
return;
@@ -41,6 +48,10 @@ class GLCASAdmin {
error_log("call setstorage");
GLCASpageBuilder($this, "setStorage");
return;
+ case "freezerepo":
+ error_log("call freezerepo");
+ GLCASpageBuilder($this, "freezeRepo");
+ return;
case "scanrepo":
break;
}
@@ -90,6 +101,22 @@ class GLCASAdmin {
$this->mainBody($url);
}
+ function freezeRepo($url)
+ {
+ $repo = $_REQUEST["repo"];
+
+
+ $myRep = new GLCASRepo($this->config);
+
+
+ error_log("called freeze repo on $repo");
+ $myRep->freezeRepo($repo);
+
+ global $WEB_ROOT_FS, $URL_HANDLERS, $BASE_URL;
+ header("Location: $BASE_URL/admin/");
+
+ }
+
function doRemoveRepo($url)
{
$repo = $_REQUEST["repo"];
@@ -113,6 +140,8 @@ class GLCASAdmin {
{
$myRep = new GLCASRepo($this->config);
+ $kos = getKnownOSList();
+
$wasyum = false;
$wasapt = false;
if($_REQUEST["repotype"] == "yumbase") {
@@ -138,7 +167,7 @@ class GLCASAdmin {
$extratext = "";
$provides = "";
if($glt["nrepos"] > 0) {
- $kos = getKnownOSList();
+
foreach($glt["knownrepo"] as $key => $val) {
$reponame = $kos["apt"][$val];
//echo "Fount a repo, $val which is $reponame
";
@@ -148,15 +177,48 @@ class GLCASAdmin {
} else {
//echo "Looks like an apt repo, but I cant find any known distro's
";
}
+ //$existing_repos["distros"] = "Ubuntu, Debian";
+ //$existing_repos["versions"] = "8.04LTS, 9.10, 10.04LTS, 10.10, 11.04, 11.10";
+ //$existing_repos["arch"] = "x86_64, i386";
+
+ $distros = $glt["distros"];
+ $version = $glt["versions"];
+ $archs = $glt["arch"];
+
+ //echo "
"; + //print_r($glt); + //echo ""; + + echo "The joy of apt is that there could be a million distro's under the root of an apt mirror"; + echo "if it doesn't list here, but you know its there, its still usable for glcas"; echo ""; return true; @@ -179,12 +241,52 @@ class GLCASAdmin { echo "
"; + //print_r($_REQUEST); + //echo ""; + + //exit(0); + + $repo->addRepo($desc, $OS, $version, $arch, "-", $shorturl, $prefix, $repurl, "APT", $init, $expiretime, $blocklist); + + // next we need to deal with that "blocked" bit + + global $WEB_ROOT_FS, $URL_HANDLERS, $BASE_URL; + header("Location: $BASE_URL/admin/"); + } function doAddRepoYum($url) { @@ -213,6 +315,8 @@ class GLCASAdmin { function doUpdateRepo($url) { $rkey = $_REQUEST["repo"]; + + error_log("would update for repo"); $repo = new GLCASRepo($this->config); @@ -243,9 +347,18 @@ class GLCASAdmin { $repotype = $rval["repotype"]; $prefix = $rval["prefix"]; $shorturl = $rval["shorturl"]; + if(isset($rval["frozen"])) $frozen = $rval["frozen"]; + else $frozen = false; if($prefix == "") $prefix = "-"; if($shorturl == "") $shorturl = "-"; - echo "
";
+ echo "
"; + echo " | ";
+
+ // now for mirror lists
+ echo "Via Mirrolist - not implemented"; + echo ""; + + + echo " |