X-Git-Url: http://git.pjr.cc/?p=glcas.git;a=blobdiff_plain;f=plugins%2Fadmin.php;h=609047f56c4ce723a7e4906ff34671aaa53e491e;hp=b746ebb364fb1f2e8f28c8453da65276e71a2a2c;hb=671e643949bab1c87d175bfc98ff086deb9c44ff;hpb=5e260ebc1ad6b785b3ef47599c7a9202ccb12b8b diff --git a/plugins/admin.php b/plugins/admin.php index b746ebb..609047f 100644 --- a/plugins/admin.php +++ b/plugins/admin.php @@ -52,6 +52,28 @@ class GLCASAdmin { { echo "ADMIN CRON: nothing to see here
"; // TODO: touch cronstamp file here + + // make a backup of the config.. but.. errr. how to tell if theres an old backup? + // backups will occur... weekly and be called $configpath.DDMMYYYY + $configpath = glcas_getWebConfigPath(); + $basepath = dirname($configpath); + echo "ADMIN CRON: backing up config, $configpath, $basepath
"; + $nowtime = time(); + $oneday = 3600 * 24; // 1 hour in seconds, by 24 hours + for($i = 0; $i < 7; $i ++) { + $cdatestr = strftime("%d-%h-%Y", $nowtime - ($oneday*$i)); + $backupfile = "$configpath.$cdatestr"; + error_log("checking for backup of config as $backupfile"); + if(file_exists($backupfile)) { + error_log("backupconfig exists as $backupfile, exit"); + echo "ADMIN CRON: backup of config is $backupfile, created $i days ago, not creating new one
"; + return; + } + } + $nowdatestr = strftime("%d-%h-%Y"); + $backupfile = "$configpath.$nowdatestr"; + copy($configpath, $backupfile); + echo "ADMIN CRON: createing backup of config as $backupfile
"; } function body($url) @@ -92,6 +114,7 @@ class GLCASAdmin { $myRep = new GLCASRepo($this->config); $wasyum = false; + $wasapt = false; if($_REQUEST["repotype"] == "yumbase") { $glt = $myRep->getRepoDetailsYum($_REQUEST["repourl"]); $wasyum = true; @@ -100,8 +123,44 @@ class GLCASAdmin { $wasyum = true; } else if($_REQUEST["repotype"] == "apt") { $glt = $myRep->getRepoDetailsApt($_REQUEST["repourl"]); + $wasapt = true; } + if($wasapt) { + error_log("in wasapt"); + $repourl = $_REQUEST["repourl"]; + + if($glt === false) { + echo "Could not find any apt repository at $repourl
"; + return; + } + + $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
"; + $provides .= "$reponame\n"; + } + $extratext = " for ".$glt["distros"]; + } else { + //echo "Looks like an apt repo, but I cant find any known distro's
"; + } + + echo "
"; + echo ""; + echo ""; + echo ""; + echo "
Description
Provides