161 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			161 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| ###################################################################################################
 | |
| # Copyright (c) 2007 Aastra Telecom US, Inc.
 | |
| # All rights reserved.
 | |
| #
 | |
| # Redistribution and use in source and binary forms, with or without
 | |
| # modification, are permitted provided that the following conditions
 | |
| # are met:
 | |
| #    1. Redistributions of source code must retain the above copyright
 | |
| #       notice, this list of conditions and the following disclaimer.
 | |
| #    2. Redistributions in binary form must reproduce the above copyright
 | |
| #       notice, this list of conditions and the following disclaimer in the
 | |
| #       documentation and/or other materials provided with the distribution.
 | |
| #    3. The name of Aastra Telecom US, Inc. may not be used to endorse or promote
 | |
| #       products derived from this software without specific prior written permission.
 | |
| #
 | |
| # THIS SOFTWARE IS PROVIDED BY AASTRA TELECOM US, INC. ``AS IS'' AND ANY EXPRESS
 | |
| # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 | |
| # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  
 | |
| # IN NO EVENT SHALL AASTRA TELECOM US, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, 
 | |
| # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 | |
| # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 | |
| # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
 | |
| # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 | |
| # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 | |
| # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | |
| #
 | |
| ###################################################################################################
 | |
| # Sample php applications using the Aastra XML API Classes
 | |
| # Aastra SIP Phones Firmware 1.4.2 or better
 | |
| #
 | |
| # @param type, type of XML object to display
 | |
| # type=textmenu AastraIPPhoneTextMenu
 | |
| # type=textscreen AastraIPPhoneTextScreen
 | |
| # type=directory AastraIPPhoneDirectory
 | |
| # type=input AastraIPPhoneInputScreen
 | |
| # type=status AastraIPPhoneStatus
 | |
| # type=execute AastraIPPhoneExecute
 | |
| #
 | |
| ##########################################################
 | |
| 
 | |
| ##########################################################
 | |
| # Retrieve type parameter
 | |
| $type=$_GET['type'];
 | |
| 
 | |
| # Global parameters
 | |
| $XML_SERVER = "http://$SERVER_ADDR".$_SERVER['SCRIPT_NAME'];
 | |
| 
 | |
| # Display the object
 | |
| switch($type)
 | |
| 	{
 | |
| 	case '':
 | |
| 		require_once('AastraIPPhoneTextMenu.class.php');
 | |
| 		$menu = new AastraIPPhoneTextMenu();
 | |
| 		$menu->setTitle('Sample Applications');
 | |
| 		$menu->setDestroyOnExit();
 | |
| 		$menu->addEntry('TextMenu1', $XML_SERVER.'?type=textmenu1');
 | |
| 		$menu->addEntry('TextMenu2', $XML_SERVER.'?type=textmenu2');
 | |
| 		$menu->addEntry('TextScreen', $XML_SERVER.'?type=textscreen');
 | |
| 		$menu->addEntry('Directory', $XML_SERVER.'?type=directory');
 | |
| 		$menu->addEntry('InputScreen', $XML_SERVER.'?type=inputscreen');
 | |
| 		$menu->addEntry('Status', $XML_SERVER.'?type=status');
 | |
| 		$menu->addEntry('Execute', $XML_SERVER.'?type=execute');
 | |
| 		$menu->natsortByName();
 | |
| 		$menu->output();
 | |
| 		break;
 | |
| 
 | |
| 	case 'textmenu1':
 | |
| 		require_once('AastraIPPhoneTextMenu.class.php');
 | |
| 		$menu = new AastraIPPhoneTextMenu();
 | |
| 		$menu->setTitle('Title');
 | |
| 		$menu->setDestroyOnExit();
 | |
| 		$menu->setDeFaultIndex('3');
 | |
| 	   	$menu->addEntry('Choice 2', 'http://myserver.com/script.php?choice=2', 'Value=2');
 | |
| 		$menu->addEntry('Choice 1', 'http://myserver.com/script.php?choice=1', 'Value=1');
 | |
| 		$menu->addEntry('Choice 3', 'http://myserver.com/script.php?choice=3', 'Value=3');
 | |
| 		$menu->natsortByName();
 | |
| 		$menu->addSoftkey('1', 'Label', 'http://myserver.com/script.php?action=1');
 | |
| 		$menu->addSoftkey('6', 'Exit', 'SoftKey:Exit');
 | |
| 		$menu->output();
 | |
| 	break;
 | |
| 
 | |
| 	case 'textmenu2':
 | |
| 		require_once('AastraIPPhoneTextMenu.class.php');
 | |
| 		$menu = new AastraIPPhoneTextMenu();
 | |
| 		$menu->setTitle('Title');
 | |
| 		$menu->setDestroyOnExit();
 | |
| 		$menu->setDeFaultIndex('3');
 | |
| 		$menu->setStyle('none');
 | |
| 	   	$menu->addEntry('Choice 2', 'http://myserver.com/script.php?choice=2', 'Value=2');
 | |
| 		$menu->addEntry('Choice 1', 'http://myserver.com/script.php?choice=1', 'Value=1');
 | |
| 		$menu->addEntry('Choice 3', 'http://myserver.com/script.php?choice=3', 'Value=3');
 | |
|  		$menu->natsortByName();
 | |
| 		$menu->addSoftkey('1', 'Label', 'http://myserver.com/script.php?action=1');
 | |
| 		$menu->addSoftkey('6', 'Exit', 'SoftKey:Exit');
 | |
| 		$menu->output();
 | |
| 	break;
 | |
| 
 | |
| 	case 'textscreen':
 | |
| 		require_once('AastraIPPhoneTextScreen.class.php');
 | |
| 		$text = new AastraIPPhoneTextScreen();
 | |
| 		$text->setTitle('Title');
 | |
| 		$text->setText('Text to be displayed.');
 | |
| 		$text->setDestroyOnExit();
 | |
| 		$text->addSoftkey('1', 'Label', 'http://myserver.com/script.php?action=1');
 | |
| 		$text->addSoftkey('6', 'Exit', 'SoftKey:Exit');
 | |
| 		$text->output();
 | |
| 	break;
 | |
| 	
 | |
| 	case 'inputscreen':
 | |
| 		require_once('AastraIPPhoneInputScreen.class.php');
 | |
| 		$input = new AastraIPPhoneInputScreen();
 | |
| 		$input->setTitle('Title');
 | |
| 		$input->setPrompt('Enter your password');
 | |
| 		$input->setParameter('param');
 | |
| 		$input->setType('string');
 | |
| 		$input->setURL('http://myserver.com/script.php');
 | |
| 		$input->setPassword();
 | |
| 		$input->setDestroyOnExit();
 | |
| 		$input->setDefault('Default');
 | |
| 		$input->addSoftkey('1', 'Label', 'http://myserver.com/script.php?action=1');
 | |
| 		$input->addSoftkey('6', 'Exit', 'SoftKey:Exit');
 | |
| 		$input->output();
 | |
| 	break;
 | |
| 
 | |
| 	case 'directory':
 | |
| 		require_once('AastraIPPhoneDirectory.class.php');
 | |
| 		$directory = new AastraIPPhoneDirectory();
 | |
| 		$directory->setTitle('Title');
 | |
| 		$directory->setNext('http://myserver.com/script.php?page=2');
 | |
| 		$directory->setPrevious('http://myserver.com/script.php?page=0');
 | |
| 		$directory->setDestroyOnExit();
 | |
| 		$directory->addEntry('John Doe', '200');
 | |
| 		$directory->addEntry('Jane Doe', '201');
 | |
| 		$directory->natsortByName();
 | |
| 		$directory->addSoftkey('1', 'Label', 'http://myserver.com/script.php?action=1');
 | |
| 		$directory->addSoftkey('6', 'Exit', 'SoftKey:Exit');
 | |
| 		$directory->output();
 | |
| 	break;
 | |
| 
 | |
| 	case 'status':
 | |
| 		require_once('AastraIPPhoneStatus.class.php');
 | |
| 		$status = new AastraIPPhoneStatus();
 | |
| 		$status->setSession('Session');
 | |
| 		$status->setBeep();
 | |
| 		$status->addEntry('1','Message 1',"alert",5);
 | |
| 		$status->addEntry('2','Message 2');
 | |
| 		$status->output();
 | |
| 	break;
 | |
| 
 | |
| 	case 'execute':
 | |
| 		require_once('AastraIPPhoneExecute.class.php');
 | |
| 		$execute = new AastraIPPhoneExecute();
 | |
| 		$execute->addEntry('http://myserver.com/script.php?choice=2');
 | |
| 		$execute->addEntry('Command: Reset');
 | |
| 		$execute->output();
 | |
| 	break;
 | |
| 	}
 | |
| ?>
 |