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