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