started implementing the configuration dialog stuff
[gwvp.git] / gwvplib / gwvprepoadmin.php
index 9ead6d3..7a2b476 100644 (file)
@@ -46,6 +46,8 @@ function gwvp_CreateRepoPage()
        gwvp_goMainPage("gwvp_CreateRepoPageBody");
 }
 
+//function gwvp_createGitRepo($name, $ownerid, $desc, $defaultperms=0, $bundle=null)
+
 function gwvp_DoCreateRepoPage()
 {
        global $BASE_URL;
@@ -53,15 +55,35 @@ function gwvp_DoCreateRepoPage()
        $reponame = $_REQUEST["reponame"];
        $repodesc = $_REQUEST["repodesc"];
        
+       $defperms = 0;
+       
+       if(isset($_REQUEST["defperms"])) {
+               switch($_REQUEST["defperms"]) {
+                       case "permsall":
+                               $defperms = 0;
+                               break;
+                       case "permsmeonly":
+                               $defperms = 1;
+                               break;
+                       case "permsinvisible":
+                               $defperms = 2;
+                               break;
+                       default:
+                               $defperms = 2;
+               }
+       }
+       
        // 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");
        } 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"]);
+               // function gwvp_createGitRepo($name, $ownerid, $desc, $defaultperms=0, $bundle=null)
+               // TODO: deal with default perms
+               gwvp_createGitRepo($reponame, $_SESSION["id"], $repodesc, $_FILES["bundlefile"]["tmp_name"], $defperms);
                gwvp_SendMessage("info", "Repo, $reponame, created");
-       } else if(gwvp_createGitRepo($reponame)) {
+       } else if(gwvp_createGitRepo($reponame, $_SESSION["id"], $repodesc, null, $defperms)) {
                gwvp_SendMessage("info", "Repo, $reponame, created");
        }
        header("Location: $BASE_URL/admin/repos");
@@ -71,7 +93,9 @@ function gwvp_DoCreateRepoPage()
 
 function gwvp_CreateRepoPageBody()
 {
-       global $BASE_URL, $repo_base;
+       global $BASE_URL;
+       
+       $repo_base = gwvp_getConfigVal("repodir");
        
        $reponameobv = "";
        $repodescobv = "";
@@ -84,14 +108,15 @@ function gwvp_CreateRepoPageBody()
        echo "<table>";
        echo "<tr><td>Repository Name</td><td bgcolor=\"#eeeeee\"><input type=\"text\" name=\"reponame\" value=\"$reponameobv\"></td></tr>";
        echo "<tr><td>Repository Description</td><td bgcolor=\"#eeeeee\"><input type=\"text\" name=\"repodesc\" value=\"$repodescobv\"></td></tr>";
-       echo "<tr><td>Repository Bundle</td><td bgcolor=\"#eeeeee\"><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 "<tr><td>Repository Bundle</td><td bgcolor=\"#eeeeee\"><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\")<br>";
+       echo "Typically you wouldn't use this as its easier to \"push\" to the repo after its created by adding it as a remote and pushing your local master branch</i></td></tr>";
        
        echo "<tr><td>Default Permisison Set</td><td bgcolor=\"#eeeeee\">";
        
        echo "<table>";
-       echo "<tr><td><input type=\"checkbox\" name=\"permsall\" checked></td><td>Anyone Can Read, Only you can write</td></tr>";
-       echo "<tr><td><input type=\"checkbox\" name=\"permsmeonly\"></td><td>Anyone can see the repository exists, but only you can read or write to it</td></tr>";
-       echo "<tr><td><input type=\"checkbox\" name=\"permsinvisible\"></td><td>Repository only visible to you</td></tr>";
+       echo "<tr><td><input type=\"radio\" name=\"defperms\" value=\"permsall\" checked></td><td>Anyone Can Read, Only you can write</td></tr>";
+       echo "<tr><td><input type=\"radio\" name=\"defperms\" value=\"permsmeonly\"></td><td>Anyone can see the repository exists, but only you can read or write to it</td></tr>";
+       echo "<tr><td><input type=\"radio\" name=\"defperms\" value=\"permsinvisible\"></td><td>Repository only visible to you</td></tr>";
        echo "</table>";
        
        
@@ -115,6 +140,25 @@ function gwvp_RepoAdminPageBody()
        echo "<h2>Repo Management</h2>";
        echo "<a href=\"$BASE_URL/admin/repos/create\">Create a Repo</a><br>";
        
+       if(isset($_SESSION["isloggedin"])) {
+               echo "<h3>Your Repo's</h3>";
+               $ownreps = gwvp_getOwnedRepos($_SESSION["id"]);
+               if($ownreps != false) {
+                       echo "<table>";
+                       echo "<tr><th>Repo Name</th></tr>";
+                       foreach($ownreps as $repos) {
+                               $mjay = print_r($repos, true);
+                               error_log("snafu: $mjay");
+                               $reponame = $repos["name"];
+                               echo "<tr><td>$reponame</td></tr>";
+                       }
+                       echo "</table>";
+               } else {
+                       echo "You own no repositories";
+               }
+               echo "<hr>";
+       }
+       
        
        // next we need a repo list - with perms checking - ug
        // i must also remember that the home page will also contain a list of repos and that this page is solely for maintance
@@ -135,4 +179,5 @@ function gwvp_RepoAdminPageBody()
 
 
 
+
 ?>
\ No newline at end of file