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