I really should just focus on something and finish that one thing
[gwvp.git] / gwvplib / gwvprepoadmin.php
index 665aeff..66cb85b 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>";
        
        
@@ -119,13 +144,14 @@ function gwvp_RepoAdminPageBody()
                echo "<h3>Your Repo's</h3>";
                $ownreps = gwvp_getOwnedRepos($_SESSION["id"]);
                if($ownreps != false) {
-                       echo "<table>";
-                       echo "<tr><th>Repo Name</th></tr>";
+                       echo "<table border=\"1\">";
+                       echo "<tr><th>Repo Name</th><th>Repo description</th></tr>";
                        foreach($ownreps as $repos) {
                                $mjay = print_r($repos, true);
                                error_log("snafu: $mjay");
                                $reponame = $repos["name"];
-                               echo "<tr><td>$reponame</td></tr>";
+                               $repodesc = $repos["description"];
+                               echo "<tr><td>$reponame</td><td>$repodesc</td><td><a href=\"$BASE_URL/admin/repos/manageown\">Manage</a></td></tr>";
                        }
                        echo "</table>";
                } else {
@@ -139,24 +165,19 @@ function gwvp_RepoAdminPageBody()
        // i must also remember that the home page will also contain a list of repos and that this page is solely for maintance
        // and creation of repos - so i dont need to get over-worked about the info stored on this page outside of those activities
        $rlist = gwvp_GetRepoList();
-       echo "<table border=\"1\"><tr><th>Repo Name</th><th>Repo Description</th><th>Repo Owner</th><th>Control</th></tr>";
+       echo "<table border=\"1\"><tr><th>Repo Name</th><th>Repo Description</th><th>Repo Owner</th></tr>";
        foreach($rlist as $u_res) {
                $rid = $u_res["id"];
                $rname = $u_res["name"];
                $rdesc = $u_res["description"];
                $rown = gwvp_getUserName($u_res["owner"]);
-               echo "<tr><td>$rname</td><td>$rdesc</td><td>$rown</td><td><a href=\"$BASE_URL/admin/repos/modify/$rid\">Modify</a></td></tr>";
+               echo "<tr><td>$rname</td><td>$rdesc</td><td>$rown</td><td><a href=\"$BASE_URL/admin/repos/modify/$rid\">Details</a></td></tr>";
        }
        echo "</table>";
        
        return;
 }
 
-// this funciton returns one of three things
-function gwvp_resolvRepoPerms($userid, $repoid)
-{
-       
-}