started work on the git backend bit
authorpaulr <me@pjr.cc>
Fri, 4 Nov 2011 08:57:04 +0000 (19:57 +1100)
committerpaulr <me@pjr.cc>
Fri, 4 Nov 2011 08:57:04 +0000 (19:57 +1100)
gwvplib/gwvpdebug.php
gwvplib/gwvpgitcontrol.php
gwvplib/gwvprepoadmin.php

index b1df458..fb8d49c 100644 (file)
@@ -22,6 +22,8 @@ function gwvp_DebugEnabled()
        } else {
                echo "No session data";
        }
+       echo "\n\nglobal\n";
+       print_r($GLOBALS);
        
        
        echo "</pre>";
index d78fcde..978e3bf 100644 (file)
@@ -1,5 +1,53 @@
 <?php
 
+$CALL_ME_FUNCTIONS["repoadmin"] = "gwvp_gitControlCallMe";
+
+//$MENU_ITEMS["20repos"]["text"] = "Repo Admin";
+//$MENU_ITEMS["20repos"]["link"] = "$BASE_URL/admin/repos";
+
+function gwvp_gitControlCallMe()
+{
+       if(isset($_REQUEST["q"])) {
+               $query = $_REQUEST["q"];
+               $qspl = explode("/", $query);
+               if(isset($qspl[0])) {
+                       if($qspl[0] == "git") {
+                               return "gwvp_gitBackendInterface";
+                       }
+               } 
+               else return false;
+       }
+       
+       return false;
+       
+}
+
+function gwvp_gitBackendInterface()
+{
+       // we need to quite a bit of parsing in here. The "repo" will always be /git/repo.git
+       // but if we get here from a browser, we need to forward back to a normal repo viewer
+       // the only way i can think of doing this is to check the useragent for the word "git"
+       $agent = "git-unknown";
+       $isgitagent = false;
+       if(isset($_SERVER["HTTP_USER_AGENT"])) {
+               $agent = $_SERVER["HTTP_USER_AGENT"];
+               error_log("in git backend with user agent");
+               if(stristr($agent, "git")!==false) {
+                       $isgitagent = true;
+               }
+       }
+       
+       $repo = "";
+       if(isset($_REQUEST["q"])) {
+               $query = $_REQUEST["q"];
+               $qspl = explode("/", $query);
+               $repo = $qspl[1];
+       }
+               
+       if($isgitagent) echo "GIT: i am a git backened interface for a repo $repo, agent $agent";
+       else echo "NOT GIT: i am a git backened interface for a repo $repo, agent $agent";
+}
+
 function gwvp_repoExists($name)
 {
        global $repo_base;
index 106ff4b..ec28e8b 100644 (file)
@@ -77,7 +77,6 @@ function gwvp_CreateRepoPageBody()
        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 "</table>";
-
        echo "<input type=\"submit\" name=\"create\" value=\"Create\"><br>";
        echo "</form>";
 }