mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 04:16:43 +00:00 
			
		
		
		
	git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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";
 | 
						|
}
 | 
						|
?>
 |