added the ability to clone a repo via a bundle... tonnes of fun that
[gwvp.git] / gwvplib / gwvprepoadmin.php
index ec28e8b..7a0b10c 100644 (file)
@@ -6,11 +6,14 @@ $MENU_ITEMS["20repos"]["link"] = "$BASE_URL/admin/repos";
 
 function gwvp_RepoAdminCallMe()
 {
+       
+       error_log("in repoadmin callme");
        if(isset($_REQUEST["q"])) {
                $query = $_REQUEST["q"];
                $qspl = explode("/", $query);
                if(isset($qspl[0]) && isset($qspl[1])) {
                        if($qspl[0] == "admin" && $qspl[1] == "repos") {
+                               error_log("i got here, where next?");
                                if(isset($qspl[2])) {
                                        switch($qspl[2]) {
                                                case "create":
@@ -50,13 +53,18 @@ function gwvp_DoCreateRepoPage()
        $reponame = $_REQUEST["reponame"];
        $repodesc = $_REQUEST["repodesc"];
        
+       // TODO: this code is bollocks, need to redo
        if(gwvp_repoExists($reponame)) {
                gwvp_SendMessage("error", "a repository with the name <b>\"$reponame\"</b> already exists");
-               header("Location: $BASE_URL/admin/repos/create?reponameobv=$reponame&repodescobv=$repodesc");
+               //header("Location: $BASE_URL/admin/repos/create?reponameobv=$reponame&repodescobv=$repodesc");
+       } else if($_FILES["bundlefile"]["size"] > 0) { //               if(isset($_FILES["bundlefile"]["size"]))  <--- this needs to happen here TODO
+               error_log("bundle file tmpname is ".$_FILES["bundlefile"]["tmp_name"]);
+               gwvp_createGitRepo($reponame, $_FILES["bundlefile"]["tmp_name"]);
+               gwvp_SendMessage("info", "Repo, $reponame, created");
        } else if(gwvp_createGitRepo($reponame)) {
                gwvp_SendMessage("info", "Repo, $reponame, created");
-               header("Location: $BASE_URL/admin/repos");
        }
+       header("Location: $BASE_URL/admin/repos");
        
        
 }
@@ -72,10 +80,11 @@ function gwvp_CreateRepoPageBody()
        if(isset($_REQUEST["repodescobv"])) $repodescobv = $_REQUEST["repodescobv"];
        
        echo "<h2>Create a Repo</h2>";
-       echo "<form method=\"post\" action=\"$BASE_URL/admin/repos/docreate\">";
+       echo "<form method=\"post\" enctype=\"multipart/form-data\" action=\"$BASE_URL/admin/repos/docreate\">";
        echo "<table>";
        echo "<tr><td>Repository Name</td><td><input type=\"text\" name=\"reponame\" value=\"$reponameobv\"></td></tr>";
        echo "<tr><td>Repository Description</td><td><input type=\"text\" name=\"repodesc\" value=\"$repodescobv\"></td></tr>";
+       echo "<tr><td>Repository Bundle</td><td><input type=\"file\" name=\"bundlefile\"></td><td><i>Create a bundle for pro-creating the git repository (export your git bundle with \"git bundle create /tmp/filename --branches\")</i></td></tr>";
        echo "</table>";
        echo "<input type=\"submit\" name=\"create\" value=\"Create\"><br>";
        echo "</form>";