c9158aec0a216743a0c0e5ff91b0bd6006cdf63e
[ga4php.git] / gaas / gaasd / gaasclient.php
1 <?php
2
3 // testing how i add stuff
4 // with git across multiple machines on the same branch
5
6 require_once("../lib/gaasdClient.php");
7
8 $myga = new GAASClient();
9
10 global $argv;
11
12 function usage()
13 {
14         global $argv;
15         echo "Usage: ".$argv[0]." command [options]\n";
16         echo "\nCommands:\n\tinit AD user password domain clientgroup admingroup - init for active directory installation\n";
17         echo "\tinit IN user password - init for internal database\n";
18         echo "\tstatus - return the status of the server\n";
19         echo "\tsetadlogin username password domain\n";
20         echo "\tsetclientgroup groupname - change the group membership requirements for client's with AD\n";
21         echo "\tsetadmingroup groupname - change the group membership requirements for admin's with AD\n";
22         echo "\tprovisiontoken username [HOTP|TOTP] [KEY] - provision the user \"username\"\n";
23         echo "\tassign username tokenid - assign a hardware token to a user\n";
24         echo "\taddtoken token_name token_key token_type - adds a hardware token to the DB\n";
25         echo "\tgethwtokens - gets a list of hardware tokens by token_name\n";
26         echo "\tgetusers [admin|client] [part-of-username] [yes] - get user list with admin or client group, part of a username and return only those with tokens (yes)\n";
27         echo "\tdeleteuser username - deletes the key for the specified user\n";
28         echo "\n";
29         exit(0);
30 }
31
32 if($argc < 2) {
33         usage();
34 }
35
36 switch($argv[1]) {
37         case "status":
38                 $ret = $myga->MSG_STATUS();
39                 echo "Status: $ret\n";
40                 break;
41         case "init":
42                 if($argv[2] == "AD") {
43                         if($argc < 7) usage();
44                 }
45                 $ret = $myga->MSG_INIT_SERVER("AD", $argv[3], $argv[4], $argv[5], $argv[6], $argv[7]);
46                 if($ret) {
47                         echo "initialising server succeeded\n";
48                 } else {
49                         echo "initialising server failed\n";
50                 }
51                 break;
52         case "setadlogin":
53                 $ret = $myga->MSG_SET_AD_LOGIN($argv[2], $argv[3], $argv[4]);
54                 if($ret) {
55                         echo "Resetting AD login details succeeded\n";
56                 } else {
57                         echo "Resetting AD login details failed\n";
58                 }
59                 break;
60         case "setclientgroup":
61                 $ret = $myga->MSG_SET_CLIENT_GROUP($argv[2]);
62                 if($ret) {
63                         echo "Resetting AD client group details succeeded\n";
64                 } else {
65                         echo "Resetting AD client group details failed\n";
66                 }
67                 break;
68         case "setadmingroup":
69                 $ret = $myga->MSG_SET_ADMIN_GROUP($argv[2]);
70                 if($ret) {
71                         echo "Resetting AD admin group details succeeded\n";
72                 } else {
73                         echo "Resetting AD admin group details failed\n";
74                 }
75                 break;
76         case "assign":
77                 $username = $argv[2];
78                 $tokenid = $argv[3];
79                 $ret = $myga->MSG_ASSIGN_TOKEN($username, $tokenid);
80                 break;
81         case "gethwtokens":
82                 $ret = $myga->MSG_GET_HARDWARE();
83                 foreach($ret as $tok) {
84                         echo "Token, ".$tok["name"]." is of type ".$tok["type"]."\n";
85                 }
86                 break;
87         case "addtoken":
88                 $tokenid = $argv[2];
89                 $tokenkey = $argv[3];
90                 $tokentype = $argv[4];
91                 $ret = $myga->MSG_ADD_HARDWARE($tokenid, $tokenkey, $tokentype);
92                 break;
93         case "provisiontoken":
94                 $username = $argv[2];
95                 $ttype = "";
96                 $tkey = "";
97                 if(isset($argv[3])) $ttype = $argv[3];
98                 if(isset($argv[4])) $tkey = $argv[4];
99                 $ret = $myga->MSG_PROVISION_USER($username, $ttype, $tkey);
100                 break;
101         case "getusers":
102                 $group = "client";
103                 $partof = "";
104                 $onlytokens = "no";
105                 if(isset($argv[2])) $group = $argv[2];
106                 if(isset($argv[3])) $partof = $argv[3];
107                 if(isset($argv[4])) $onlytokens = $argv[4];
108                 $ret = $myga->MSG_GET_USERS($group, $partof, $onlytokens);
109                 foreach($ret as $key => $val) {
110                         $real = $val["realname"];
111                         $user = $val["username"];
112                         $hastok = "";
113                         if($val["hastoken"]) {
114                                 $hastok = " * ";
115                         }
116                         echo "$hastok$real ($user)\n";
117                 }
118                 break;
119         case "deleteuser":
120                 $ret = $myga->MSG_DELETE_USER($argv[2]);
121                 if($ret) {
122                         echo "Delete user token succeeded\n";
123                 } else {
124                         echo "Delete user token failed\n";
125                 }
126                 break;
127         default:
128                 echo "No such command, ".$argv[1]."\n";
129                 usage();
130                 
131 }
132
133 ?>