moved the old git poc code off and away from the main directory
[gwvp.git] / gwvplib / gwvpdebug.php
1 <?php 
2 $CALL_ME_FUNCTIONS["debug"] = "gwvp_DebugCallMe";
3
4 $MENU_ITEMS["999debug"]["text"] = "Debug";
5 $MENU_ITEMS["999debug"]["link"] = "$BASE_URL/debug";
6
7 function gwvp_DebugEnabled()
8 {
9         global $BASE_URL, $LOGIN_TYPE;
10         
11         $isgitagent = false;
12         
13         // tested the user agent bit with jgit from eclipse and normal git... seems to work
14         if(isset($_SERVER["HTTP_USER_AGENT"])) {
15                 $agent = $_SERVER["HTTP_USER_AGENT"];
16                 error_log("in git backend with user agent $agent");
17                 if(stristr($agent, "git")!==false) {
18                         $isgitagent = true;
19                 }
20         }
21         
22         // we dont wan to send this to a git agent
23         if($isgitagent) return;
24         
25         
26         echo "<pre>";
27         if(isset($_SERVER["PHP_AUTH_USER"])) error_log("authuser: ".$_SERVER["PHP_AUTH_USER"]."\n");
28         echo "USERTYPE: $LOGIN_TYPE\n";
29         echo "BASEURL: $BASE_URL\n";
30         echo "CUSTOM\n";
31         echo "\n\nserver\n";
32         print_r($_SERVER);
33         echo "\n\n\nrequest\n";
34         print_r($_REQUEST);
35         echo "\n\n\nsession\n";
36         if(isset($_SESSION)) {
37                 print_r($_SESSION);
38         } else {
39                 echo "No session data";
40         }
41         echo "\n\nglobal\n";
42         print_r($GLOBALS);
43         
44         
45         echo "</pre>";
46 }
47
48 function gwvp_DebugCallMe()
49 {
50         if(isset($_REQUEST["q"])) {
51                 $query = $_REQUEST["q"];
52                 $myquery = explode("/",$query);
53                 if($myquery[0] == "debug") return "gwvp_DebugCall";
54                 else return false;
55         }
56         
57         return false;
58         
59 }
60
61 function gwvp_DebugCall()
62 {
63         global $BASE_URL;
64         
65         if(isset($_REQUEST["q"])) {
66                 $query = $_REQUEST["q"];
67                 $myquery = explode("/",$query);
68                 if(isset($myquery[1])) {
69                         switch($myquery[1]) {
70                                 case "errormessage":
71                                         error_log("generate error message");
72                                         gwvp_SendMessage("error", "random message");
73                                         header("Location: $BASE_URL/debug");
74                                         break;
75                                 case "infomessage":
76                                         error_log("generate info message");
77                                         gwvp_SendMessage("info", "random message");
78                                         header("Location: $BASE_URL/debug");
79                                         break;
80                                 case "createusersandgroups":
81                                         // gwvp_createUser($email, $fullname, $password, $username, $desc, $status)
82                                         for($i=20; $i<120; $i++) {
83                                                 gwvp_createUser("test$i@test.com", "test$i", "asdf", "test$i", "test$i user", 0);
84                                         }
85                                         
86                                         // function gwvp_createGroup($group_name, $is_admin, $owner_id)
87                                         for($i=20; $i<40; $i++) {
88                                                 if(($i%5) == 0) $isadmin = 1;
89                                                 else $isadmin = 0;
90                                                 gwvp_createGroup("testgroup$i", "$isadmin", "$i");
91                                         }
92                                         
93                                         // gwvp_addGroupMember($email, $groupname)
94                                         //
95                                         for($i=20; $i<120; $i++) {
96                                                 for($k=0; $k<4; $k++) {
97                                                         $gid = rand(20,39);
98                                                         gwvp_addGroupMember("test$i@test.com", "testgroup$gid");
99                                                 }
100                                         }
101                                         gwvp_SendMessage("info", "Create users and groups done");
102                                         header("Location: $BASE_URL/debug");
103                                         break;
104                                 case "recreatedb":
105                                         global $db_name;
106                                         gwvp_forceDisconnect();
107                                         unlink("$db_name.tmp");
108                                         rename("$db_name", "$db_name.tmp");
109                                         gwvp_dbCreateSQLiteStructure("$db_name");
110                                         
111                                         // admin first
112                                         gwvp_createUser("admin@localhost", "adminer", "password", "admin", "initial admin user", 0);
113                                         $adminid = gwvp_getUserId("admin@localhost");
114                                         gwvp_createGroup("admingroup", "admingroup", 1, $adminid);
115                                         error_log("adminid is $adminid");
116                                         gwvp_addGroupMember("admin@localhost", "admingroup");
117                                         
118                                         // user1
119                                         gwvp_createUser("user1@localhost", "userer1", "password", "user1", "initial pleb user1", 0);
120                                         $userid1 = gwvp_getUserId("user1@localhost");
121                                         error_log("userid1 is $userid1");
122                                         gwvp_createGroup("usergroup1", "usergroup1", 0, $userid1);
123                                         gwvp_addGroupMember("user1@localhost", "usergroup1");
124                                         
125                                         // user2
126                                         gwvp_createUser("user2@localhost", "userer2", "password", "user2", "initial pleb user2", 0);
127                                         $userid2 = gwvp_getUserId("user2@localhost");
128                                         error_log("userid2 is $userid2");
129                                         
130                                         gwvp_SendMessage("info", "blank db re-created");
131                                         
132                                         //gwvp_createGitRepo($name, $ownerid, $desc, $bundle=null, $defaultperms=0)
133                                         gwvp_setConfigVal("repodir", "/tmp/");
134                                         
135                                         // TODO change these to create not add.
136                                         system("rm -rf /tmp/repo1.git /tmp/repo2.git /tmp/repo3.git");
137                                         gwvp_createGitRepo("repo1", $adminid, "test repo1");
138                                         gwvp_createGitRepo("repo2", $userid1, "test repo2");
139                                         gwvp_createGitRepo("repo3", $userid2, "test repo3");
140                                         
141                                         
142                                         
143                                         header("Location: $BASE_URL/debug");
144                                         break;
145                                 case "dropallusersandgroups":
146                                         $conn = gwvp_ConnectDB();
147                                         $conn->query("delete from users");
148                                         $conn->query("delete from groups");
149                                         $conn->query("delete from group_membership");
150                                         gwvp_SendMessage("info", "Drop all users and groups done");
151                                         header("Location: $BASE_URL/debug");
152                                         break;          
153                                 default:
154                                         gwvp_goMainPage("gwvp_DebugBody");
155                                         return;
156                         }
157                 } else {
158                         gwvp_goMainPage("gwvp_DebugBody");
159                 }
160         }
161 }
162
163 function gwvp_DebugBody()
164 {
165         global $BASE_URL;
166         
167         
168         ?>
169         <a href="<?php echo $BASE_URL?>/debug/errormessage">Generate error message</a><br>
170         <a href="<?php echo $BASE_URL?>/debug/infomessage">Generate info message</a><br>
171         <a href="<?php echo $BASE_URL?>/debug/createusersandgroups">Create a bunch of users and groups</a><br>
172         <a href="<?php echo $BASE_URL?>/debug/dropallusersandgroups">Drop users/groups/groupmemberships</a><br>
173         <a href="<?php echo $BASE_URL?>/debug/recreatedb">Recreate test db</a><br>
174         <?php
175 }
176
177 ?>