diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-12-01 05:00:29 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-12-01 05:00:29 +0000 |
commit | 88785e2e5ce787bdf7b5f0b79afa0caf61c1dbce (patch) | |
tree | b66677238969f892f2bf3349474b107c92ad8444 /contrib | |
parent | 960fd7f85325f61586fe358599f9fe28106b313d (diff) |
Merge manager action and example (bug #2701)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4363 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/scripts/agents.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/contrib/scripts/agents.php b/contrib/scripts/agents.php new file mode 100755 index 000000000..51f8bdee3 --- /dev/null +++ b/contrib/scripts/agents.php @@ -0,0 +1,73 @@ +<?php + +ob_implicit_flush(false); + +$username = "drmac"; +$secret = "secret"; + +$socket = fsockopen("127.0.0.1","5038", $errornum, $errorstr); + +$agents = array(); +$curr_agent = ""; +$better_status = array( 'AGENT_UNKNOWN' => 'Unknown', + 'AGENT_IDLE' => 'Idle', + 'AGENT_ONCALL' => 'On Call', + 'AGENT_LOGGEDOFF' => 'Not Logged In' ); + +if(!$socket) { + print "Couldn't open socket. Error #" . $errornum . ": " . $errorstr; +} else { + fputs($socket, "Action: Login\r\n"); + fputs($socket, "UserName: $username\r\n"); + fputs($socket, "Secret: $secret\r\n\r\n"); + fputs($socket, "Action: Agents\r\n\r\n"); + fputs($socket, "Action: Logoff\r\n\r\n"); + + while(!feof($socket)) { + $info = fscanf($socket, "%s\t%s\r\n"); + switch($info[0]) { + case "Agent:": + $curr_agent = $info[1]; + $agents[$curr_agent] = array(); + break; + case "Name:": + $agents[$curr_agent]['Name'] = $info[1]; + break; + case "Status:": + $agents[$curr_agent]['Status'] = $better_status[$info[1]]; + break; + case "LoggedInChan:": + $agents[$curr_agent]['LoggedInChan'] = $info[1]; + break; + case "LoggedInTime:": + if($info[1] != "0") { + $agents[$curr_agent]['LoggedInTime'] = date("D, M d Y g:ia", $info[1]); + } else { + $agents[$curr_agent]['LoggedInTime'] = "n/a"; + } + break; + case "TalkingTo:": + $agents[$curr_agent]['TalkingTo'] = $info[1]; + break; + default: + break; + } + } + fclose($socket); + + print "<html><head><title>Agents Status</title></head>\n<body>\n"; + print "<table width=\"800px\" border=\"1\">\n"; + print " <tr><th>Agent #</th><th>Agent Name</th><th>Agent Location</th><th>Agent Status</th><th>Agent Talking To</th><th>Agent Login Time</th></tr>\n"; + + foreach( $agents as $agent=>$curr ) { + print " <tr>\n <td>" . $agent . "</td>\n"; + print " <td>" . $curr['Name'] . "</td>\n"; + print " <td>" . $curr['LoggedInChan'] . "</td>\n"; + print " <td>" . $curr['Status'] . "</td>\n"; + print " <td>" . $curr['TalkingTo'] . "</td>\n"; + print " <td>" . $curr['LoggedInTime'] . "</td>\n </tr>\n"; + } + + print "</table>\n</body>\n</html>\n"; +} +?> |