reaplced the git service code (main gitbackendinterface()) with a new
[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         echo "<pre>";
12         if(isset($_SERVER["PHP_AUTH_USER"])) error_log("authuser: ".$_SERVER["PHP_AUTH_USER"]."\n");
13         echo "USERTYPE: $LOGIN_TYPE\n";
14         echo "BASEURL: $BASE_URL\n";
15         echo "CUSTOM\n";
16         echo "\n\nserver\n";
17         print_r($_SERVER);
18         echo "\n\n\nrequest\n";
19         print_r($_REQUEST);
20         echo "\n\n\nsession\n";
21         if(isset($_SESSION)) {
22                 print_r($_SESSION);
23         } else {
24                 echo "No session data";
25         }
26         echo "\n\nglobal\n";
27         print_r($GLOBALS);
28         
29         
30         echo "</pre>";
31 }
32
33 function gwvp_DebugCallMe()
34 {
35         if(isset($_REQUEST["q"])) {
36                 $query = $_REQUEST["q"];
37                 $myquery = explode("/",$query);
38                 if($myquery[0] == "debug") return "gwvp_DebugCall";
39                 else return false;
40         }
41         
42         return false;
43         
44 }
45
46 function gwvp_DebugCall()
47 {
48         global $BASE_URL;
49         
50         if(isset($_REQUEST["q"])) {
51                 $query = $_REQUEST["q"];
52                 $myquery = explode("/",$query);
53                 if(isset($myquery[1])) {
54                         switch($myquery[1]) {
55                                 case "errormessage":
56                                         error_log("generate error message");
57                                         gwvp_SendMessage("error", "random message");
58                                         header("Location: $BASE_URL/debug");
59                                         break;
60                                 case "infomessage":
61                                         error_log("generate info message");
62                                         gwvp_SendMessage("info", "random message");
63                                         header("Location: $BASE_URL/debug");
64                                         break;
65                                 case "createusersandgroups":
66                                         // gwvp_createUser($email, $fullname, $password, $username, $desc, $status)
67                                         for($i=20; $i<120; $i++) {
68                                                 gwvp_createUser("test$i@test.com", "test$i", "asdf", "test$i", "test$i user", 0);
69                                         }
70                                         
71                                         // function gwvp_createGroup($group_name, $is_admin, $owner_id)
72                                         for($i=20; $i<40; $i++) {
73                                                 if(($i%5) == 0) $isadmin = 1;
74                                                 else $isadmin = 0;
75                                                 gwvp_createGroup("testgroup$i", "$isadmin", "$i");
76                                         }
77                                         
78                                         // gwvp_addGroupMember($email, $groupname)
79                                         //
80                                         for($i=20; $i<120; $i++) {
81                                                 for($k=0; $k<4; $k++) {
82                                                         $gid = rand(20,39);
83                                                         gwvp_addGroupMember("test$i@test.com", "testgroup$gid");
84                                                 }
85                                         }
86                                         gwvp_SendMessage("info", "Create users and groups done");
87                                         header("Location: $BASE_URL/debug");
88                                         break;
89                                 case "recreatedb":
90                                         global $db_name;
91                                         gwvp_forceDisconnect();
92                                         unlink("$db_name.tmp");
93                                         rename("$db_name", "$db_name.tmp");
94                                         gwvp_dbCreateSQLiteStructure("$db_name");
95                                         
96                                         // admin first
97                                         gwvp_createUser("admin@localhost", "adminer", "password", "admin", "initial admin user", 0);
98                                         $adminid = gwvp_getUserId("admin@localhost");
99                                         gwvp_createGroup("admingroup", "admingroup", 1, $adminid);
100                                         error_log("adminid is $adminid");
101                                         gwvp_addGroupMember("admin@localhost", "admingroup");
102                                         
103                                         // user1
104                                         gwvp_createUser("user1@localhost", "userer1", "password", "user1", "initial pleb user1", 0);
105                                         $userid1 = gwvp_getUserId("user1@localhost");
106                                         error_log("userid1 is $userid1");
107                                         gwvp_createGroup("usergroup1", "usergroup1", 0, $userid1);
108                                         gwvp_addGroupMember("user1@localhost", "usergroup1");
109                                         
110                                         // user2
111                                         gwvp_createUser("user2@localhost", "userer2", "password", "user2", "initial pleb user2", 0);
112                                         $userid2 = gwvp_getUserId("user2@localhost");
113                                         error_log("userid2 is $userid2");
114                                         
115                                         gwvp_SendMessage("info", "blank db re-created");
116                                         
117                                         gwvp_AddRepo("repo1", "this is a test repo1", $adminid);
118                                         gwvp_AddRepo("repo2", "this is a test repo2", $userid1);
119                                         gwvp_AddRepo("repo3", "this is a test repo3", $userid2);
120                                         
121                                         gwvp_setConfigVal("repodir", "/tmp/");
122                                         
123                                         header("Location: $BASE_URL/debug");
124                                         break;
125                                 case "dropallusersandgroups":
126                                         $conn = gwvp_ConnectDB();
127                                         $conn->query("delete from users");
128                                         $conn->query("delete from groups");
129                                         $conn->query("delete from group_membership");
130                                         gwvp_SendMessage("info", "Drop all users and groups done");
131                                         header("Location: $BASE_URL/debug");
132                                         break;          
133                                 default:
134                                         gwvp_goMainPage("gwvp_DebugBody");
135                                         return;
136                         }
137                 } else {
138                         gwvp_goMainPage("gwvp_DebugBody");
139                 }
140         }
141 }
142
143 function gwvp_DebugBody()
144 {
145         global $BASE_URL;
146         ?>
147         <a href="<?php echo $BASE_URL?>/debug/errormessage">Generate error message</a><br>
148         <a href="<?php echo $BASE_URL?>/debug/infomessage">Generate info message</a><br>
149         <a href="<?php echo $BASE_URL?>/debug/createusersandgroups">Create a bunch of users and groups</a><br>
150         <a href="<?php echo $BASE_URL?>/debug/dropallusersandgroups">Drop users/groups/groupmemberships</a><br>
151         <a href="<?php echo $BASE_URL?>/debug/recreatedb">Recreate test db</a><br>
152         <?php
153 }
154
155 ?>