mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	The JQuery URL to version 1.4 will be removed within the life span of Asterisk 11. This is a compatible upgrade by using the URL for 1.8. (issue ASTERISK-20503) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			194 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			194 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!--
 | 
						|
 Asterisk -- An open source telephony toolkit.
 | 
						|
 
 | 
						|
 Copyright (C) 1999 - 2012, Digium, Inc.
 | 
						|
 
 | 
						|
 Mark Spencer <markster@digium.com>
 | 
						|
 
 | 
						|
 See http://www.asterisk.org for more information about
 | 
						|
 the Asterisk project. Please do not directly contact
 | 
						|
 any of the maintainers of this project for assistance;
 | 
						|
 the project provides a web site, mailing lists and IRC
 | 
						|
 channels for your use.
 | 
						|
 This program is free software, distributed under the terms of
 | 
						|
 the GNU General Public License Version 2. See the LICENSE file
 | 
						|
 at the top of the source tree.
 | 
						|
-->
 | 
						|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
	<style type="text/css">
 | 
						|
		#container {
 | 
						|
			margin: 0 auto;
 | 
						|
			width: 100%;
 | 
						|
			height: 100%;
 | 
						|
			background: #fff;
 | 
						|
		}
 | 
						|
		#top {
 | 
						|
			float: left;
 | 
						|
			width: 100%;
 | 
						|
			background: #fff;
 | 
						|
		}
 | 
						|
		#bottom {
 | 
						|
			float: left;
 | 
						|
			width: 100%;
 | 
						|
			background: #fff;
 | 
						|
		}
 | 
						|
		#sender {
 | 
						|
			clear: left;
 | 
						|
			float: left;
 | 
						|
			width: 20%;
 | 
						|
			display: inline;
 | 
						|
			overflow: auto;
 | 
						|
		}
 | 
						|
		#output {
 | 
						|
			float: right;
 | 
						|
			width: 79%;
 | 
						|
			display: inline;
 | 
						|
			overflow: auto;
 | 
						|
			border: thin solid black;
 | 
						|
		}
 | 
						|
		.required {
 | 
						|
			color: red;
 | 
						|
		}
 | 
						|
	</style>
 | 
						|
	<title>Asterisk Manager Utility</title>
 | 
						|
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
 | 
						|
 | 
						|
	<script type="text/javascript">
 | 
						|
 | 
						|
$(document).ready(function() {
 | 
						|
	$('#output').height($(document).height() - $('#top').height() - 100);
 | 
						|
	$.ajax({
 | 
						|
		type: "GET",
 | 
						|
		url: "core-en_US.xml",
 | 
						|
		dataType: "xml",
 | 
						|
		success: parseXml
 | 
						|
	});
 | 
						|
 | 
						|
	$("#login").submit(function() {
 | 
						|
		$("#output").empty();
 | 
						|
		submitCommand($(this));
 | 
						|
		$("#command").focus();
 | 
						|
		return false;
 | 
						|
	});
 | 
						|
 | 
						|
	$("#search_button").click(function() {
 | 
						|
		var command = $("#command").val();
 | 
						|
		$("#command").val("");
 | 
						|
		$("#output").empty();
 | 
						|
		if (commands) {
 | 
						|
			commands.each(function() {
 | 
						|
				if ($(this).attr("name").toLowerCase() == command.toLowerCase()) {
 | 
						|
					buildCommandForm($(this));
 | 
						|
				}
 | 
						|
			});
 | 
						|
		}
 | 
						|
		$('#output').height($(document).height() - $('#top').height() - 100);
 | 
						|
		return false;
 | 
						|
	});
 | 
						|
	$('#command').keyup(function(event) {
 | 
						|
		if (event.keyCode == '13') {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
		var matches = [];
 | 
						|
		var search = $("#command").val().toLowerCase();
 | 
						|
		$("#output").empty();
 | 
						|
		if (search.length && commands) {
 | 
						|
			commands.each(function() {
 | 
						|
				var com = $(this).attr("name").toLowerCase();
 | 
						|
				if (com.substr(0, search.length) === search) {
 | 
						|
					matches.push(com);
 | 
						|
				}
 | 
						|
			});
 | 
						|
		}
 | 
						|
		if (matches.length) {
 | 
						|
			$("#output").append(matches.sort().join("<br/>"));
 | 
						|
		}
 | 
						|
	});
 | 
						|
});
 | 
						|
 | 
						|
function parseXml(xml) {
 | 
						|
	commands = $(xml).find("manager")
 | 
						|
}
 | 
						|
 | 
						|
function buildCommandForm(command) {
 | 
						|
	var name = command.attr("name");
 | 
						|
	var i = 0;
 | 
						|
	$("#sendcommand").empty();
 | 
						|
	$("#sendcommand").unbind('submit');
 | 
						|
	$("#sendcommand").append('<label>Action: </label><input name="action" readonly="readonly" value="'+name+'"/><br />');
 | 
						|
	command.find("parameter").each(function() {
 | 
						|
		var param = $(this).attr("name");
 | 
						|
		if (param != "ActionID") {
 | 
						|
			$("#sendcommand").append('<label for="'+param+'">'+param+': </label><input name="'+param+'" /><br />');
 | 
						|
			if ($(this).attr("required")) {
 | 
						|
				$('label[for='+param+']').addClass("required");
 | 
						|
			}
 | 
						|
			if (i == 0) {
 | 
						|
				$("input[name="+param+"]").focus();
 | 
						|
			}
 | 
						|
			i++;
 | 
						|
		}
 | 
						|
	});
 | 
						|
	$("#sendcommand").append('<button type="submit" id="commandbutton">Send</button>');
 | 
						|
	$("#sendcommand").submit(function() {
 | 
						|
		$("#output").empty();
 | 
						|
		submitCommand($(this));
 | 
						|
		$("#command").focus();
 | 
						|
		return false;
 | 
						|
	});
 | 
						|
 | 
						|
	// If we don't have any fields to fill in, go ahead and submit!
 | 
						|
	if (i == 0) {
 | 
						|
		$("#sendcommand").submit();
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function submitCommand(form) {
 | 
						|
	$.ajax({
 | 
						|
		type: "GET",
 | 
						|
		url: "../rawman",
 | 
						|
		dataType: "text",
 | 
						|
		data: $(form).serializeArray(),
 | 
						|
		success: displayResponse,
 | 
						|
		failure: function() {alert("Error!");}
 | 
						|
	});
 | 
						|
	return false;
 | 
						|
}
 | 
						|
 | 
						|
function displayResponse(data) {
 | 
						|
	data = data.replace(/\r\n/g, "<br />");
 | 
						|
	$("#output").append(data);
 | 
						|
	return false;
 | 
						|
}
 | 
						|
 | 
						|
	</script>
 | 
						|
</head>
 | 
						|
 | 
						|
<body>
 | 
						|
	<div id="container">
 | 
						|
		<div id="top">
 | 
						|
			<form id="login" name="login">
 | 
						|
				<label for="username">Username: </label><input id="username" name="username" />
 | 
						|
				<label for="secret">Secret: </label><input id="secret" name="secret" type="password"/>
 | 
						|
				<input type="hidden" name="action" value="login" />
 | 
						|
				<button id="login_button" type="submit">Submit</button>
 | 
						|
			</form>
 | 
						|
			<hr />
 | 
						|
			<form id="search" name="search">
 | 
						|
				<label for="txt">Action: </label><input name="command" id="command"/>
 | 
						|
				<button id="search_button">Submit</button>
 | 
						|
			</form>
 | 
						|
		</div>
 | 
						|
		<hr />
 | 
						|
		<div id="bottom">
 | 
						|
			<div id="sender">
 | 
						|
				<form id="sendcommand" name="sendcommand"></form>
 | 
						|
			</div>
 | 
						|
			<div id="output"></div>
 | 
						|
		</div>
 | 
						|
	</div>
 | 
						|
</body>
 | 
						|
</html>
 |