3 error_log("adhoc loaded");
6 $URL_HANDLERS["adhoc.*"] = "GLCASAdhoc";
9 function __construct($config)
11 $this->config = $config;
12 error_log("constructor for GLCASAdhoc");
14 $repostore = $this->config->getConfigVar("storagelocation");
15 if(!is_dir("$repostore/adhoc")) {
16 error_log("Creating dir for adhoc component");
17 mkdir("$repostore/adhoc");
24 if(isset($_REQUEST["action"])) {
25 switch($_REQUEST["action"]) {
27 error_log("in updaterepo");
28 GLCASpageBuilder($this,"addPackage");
33 GLCASpageBuilder($this,"mainBody");
38 function addPackage($url)
40 $repostore = $this->config->getConfigVar("storagelocation");
42 if(!isset($_REQUEST["pkgname"])) {
43 echo "<font color=\"red\">Error: No package name set</font><br>";
45 if($_REQUEST["pkgname"] == "") {
46 echo "<font color=\"red\">Error: Package name cant be blank</font><br>";
53 if($_FILES["uploadedfile"]["name"] == "") {
55 $ultfileurl = "uploaded";
57 $fname = $_FILES["uploadedfile"]["tmp_name"];
58 $lname = $_FILES["uploadedfile"]["name"];
62 if($_REQUEST["fileurl"] == "") {
64 $ultfileurl = $_REQUEST["fileurl"];
66 $fname = $_REQUEST["fileurl"];
67 $lname = basename($fname);
71 if(!$uploaded && !$fileurl) {
72 echo "<font color=\"red\">Error: no uploaded file and no file url, you need one or the other buddy</font><br>";
77 $getfile = file_get_contents($_REQUEST["fileurl"]);
80 if($uploaded||$fileurl) {
81 echo "Got a file named $fname, $lname";
84 $pkgs = unserialize($this->config->getConfigVar("adhocpackages"));
87 foreach($pkgs as $key => $var) {
92 echo "Would add package as $n";
94 $pkgs[$n]["arch"] = $_REQUEST["arch"];
95 $pkgs[$n]["type"] = $_REQUEST["type"];
96 $pkgs[$n]["fileurl"] = $ultfileurl;
99 copy("$fname", "$repostore/adhoc/$n");
101 file_put_contents("$repostore/adhoc/$n", $fetfile);
104 $this->config->saveConfig();
118 function mainBody($url)
120 echo "<h2>Packages</h2>";
122 $kos = getKnownOSList();
125 echo "<h3>Add a Package</h3><br>";
126 echo "<form enctype=\"multipart/form-data\" method=\"post\" action=\"?action=addpackage\">";
127 echo "Name <input type=\"text\" name=\"pkgname\"><br>";
128 echo "Arch <select name=\"arch\">";
129 foreach($kos["pkgarch"] as $key => $val) {
130 echo "<option value=\"$key\">$val</option>";
132 echo "</select><br>";
133 echo "Type <select name=\"type\">";
134 foreach($kos["pkg"] as $key => $val) {
135 echo "<option value=\"$key\">$val</option>";
137 echo "</select><br>";
138 echo "Upload <input type=\"file\" name=\"uploadedfile\"><br>";
139 echo "From URL <input type=\"text\" name=\"fileurl\"><br>";
140 echo "<input type=\"submit\" name=\"add\" value=\"Add\">";