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