2.1.0 version.
This commit is contained in:
@ -1,68 +1,67 @@
|
||||
<?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.
|
||||
#
|
||||
###################################################################################################
|
||||
########################################################################################################
|
||||
# Aastra XML API Classes - AastraIPPhoneTextMenu
|
||||
# Copyright Aastra Telecom 2007
|
||||
#
|
||||
# AastraIPPhoneTextMenu object.
|
||||
#
|
||||
# Public methods
|
||||
#
|
||||
# Inherited from AastraIPPhone
|
||||
# setTitle(Title) to setup the title of an object
|
||||
# setTitle(Title) to setup the title of an object (optional)
|
||||
# setTitleWrap() to set the title to be wrapped on 2 lines (optional)
|
||||
# setDestroyOnExit() to set DestroyOnExit parameter to "yes" (optional)
|
||||
# setCancelAction(uri) to set the cancel parameter with the URI to be called on Cancel (optional)
|
||||
# setBeep() to enable a notification beep with the object (optional)
|
||||
# addSoftkey(index,label,uri) to add custom softkeys to the object (optional)
|
||||
# setLockIn() to set the Lock-in tag to 'yes' (optional)
|
||||
# setAllowAnswer() to set the allowAnswer tag to 'yes' (optional)
|
||||
# setTimeout(timeout) to define a specific timeout for the XML object (optional)
|
||||
# addSoftkey(index,label,uri,icon_index) to add custom softkeys to the object (optional)
|
||||
# addIcon(index,icon) to add custom icons to the object (optional)
|
||||
# setRefresh(timeout,URL) to add Refresh parameters to the object (optional)
|
||||
# generate() to return the object content
|
||||
# output() to display the object
|
||||
#
|
||||
# Specific to the object
|
||||
# setDestroyOnExit() to set DestroyOnExit parameter to "yes", optional
|
||||
# setDefaultIndex(index) to set the default selection in the list (optional)
|
||||
# setStyle(style) to set the style of the list numbered/none/radio (optional)
|
||||
# addEntry(name,url,selection) to add an element in the list to be displayed, at
|
||||
# addEntry(name,url,selection,icon,dial) to add an element in the list to be displayed, at
|
||||
# least one is needed.
|
||||
# natsortbyname() to order the list
|
||||
#
|
||||
# Example
|
||||
# require_once('AastraIPPhoneTextMenu.class.php');
|
||||
# $menu = new AastraIPPhoneTextMenu();
|
||||
# $menu->setTitle('Title');
|
||||
# $menu->setDestroyOnExit();
|
||||
# $menu->setDefaultIndex();
|
||||
# $menu->addEntry('Choice 2', 'http://myserver.com/script.php?choice=2','');
|
||||
# $menu->addEntry('Choice 1', 'http://myserver.com/script.php?choice=1','');
|
||||
# $menu->addEntry('Choice 3', 'http://myserver.com/script.php?choice=3','');
|
||||
# $menu->natsortByName();
|
||||
# $menu->addSoftkey('1','Label 1','http://myserver.com/script.php?action=1');
|
||||
# $menu->addSoftkey('6','Exit','SoftKey:Exit');
|
||||
# $menu->output();
|
||||
# Example 1
|
||||
# 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', 'My Select', 'http://myserver.com/script.php?action=1');
|
||||
# $menu->addSoftkey('6', 'Exit', 'SoftKey:Exit');
|
||||
# $menu->output();
|
||||
#
|
||||
####################################################################################################
|
||||
# Example 2
|
||||
# require_once('AastraIPPhoneTextMenu.class.php');
|
||||
# $menu = new AastraIPPhoneTextMenu();
|
||||
# $menu->setTitle('Title');
|
||||
# $menu->setDestroyOnExit();
|
||||
# $menu->setDeFaultIndex('2');
|
||||
# $menu->addEntry('Choice 2', 'http://myserver.com/script.php?choice=2', 'Value=2','1');
|
||||
# $menu->addEntry('Choice 1', 'http://myserver.com/script.php?choice=1', 'Value=1','2');
|
||||
# $menu->addEntry('Choice 3', 'http://myserver.com/script.php?choice=3', 'Value=3','3');
|
||||
# $menu->natsortByName();
|
||||
# $menu->addSoftkey('1', 'My Select', 'http://myserver.com/script.php?action=1');
|
||||
# $menu->addSoftkey('6', 'Exit', 'SoftKey:Exit');
|
||||
# $menu->addIcon('1', 'Icon:PhoneOnHook');
|
||||
# $menu->addIcon('2', 'Icon:PhoneOffHook');
|
||||
# $menu->addIcon('3', 'Icon:PhoneRinging');
|
||||
# $menu->output();
|
||||
#
|
||||
########################################################################################################
|
||||
|
||||
require_once('AastraIPPhone.class.php');
|
||||
require_once('AastraIPPhoneTextMenuEntry.class.php');
|
||||
@ -70,7 +69,7 @@ require_once('AastraIPPhoneTextMenuEntry.class.php');
|
||||
class AastraIPPhoneTextMenu extends AastraIPPhone {
|
||||
var $_defaultIndex="";
|
||||
var $_style="";
|
||||
|
||||
|
||||
function setDefaultIndex($defaultIndex)
|
||||
{
|
||||
$this->_defaultIndex = $defaultIndex;
|
||||
@ -81,9 +80,9 @@ class AastraIPPhoneTextMenu extends AastraIPPhone {
|
||||
$this->_style = $style;
|
||||
}
|
||||
|
||||
function addEntry($name, $url, $selection=NULL)
|
||||
function addEntry($name, $url, $selection=NULL, $icon=NULL, $dial=NULL)
|
||||
{
|
||||
$this->_entries[] = new AastraIPPhoneTextMenuEntry($name, $url, $selection);
|
||||
$this->_entries[] = new AastraIPPhoneTextMenuEntry($name, $url, $selection, $icon, $dial);
|
||||
}
|
||||
|
||||
function natsortByName()
|
||||
@ -101,20 +100,44 @@ class AastraIPPhoneTextMenu extends AastraIPPhone {
|
||||
|
||||
function render()
|
||||
{
|
||||
$title = $this->escape($this->_title);
|
||||
$out = "<AastraIPPhoneTextMenu ";
|
||||
if ($this->_destroyOnExit=='yes') $out .= "destroyOnExit=\"yes\" ";
|
||||
if($this->_cancelAction != "")
|
||||
{
|
||||
$cancelAction = $this->escape($this->_cancelAction);
|
||||
$out .= " cancelAction=\"{$cancelAction}\"";
|
||||
}
|
||||
if ($this->_defaultIndex!="") $out .= "defaultIndex=\"{$this->_defaultIndex}\"";
|
||||
if ($this->_style!='') $out .= " style=\"{$this->_style}\"";
|
||||
if($this->_beep=='yes') $out .= " Beep=\"yes\"";
|
||||
if ($this->_beep=='yes') $out .= " Beep=\"yes\"";
|
||||
if ($this->_lockin=='yes') $out .= " LockIn=\"yes\"";
|
||||
if($this->_allowAnswer == 'yes') $out .= " allowAnswer=\"yes\"";
|
||||
if ($this->_timeout!=0) $out .= " Timeout=\"{$this->_timeout}\"";
|
||||
$out .= ">\n";
|
||||
$out .= "<Title>".$title."</Title>\n";
|
||||
if ($this->_title!='')
|
||||
{
|
||||
$title = $this->escape($this->_title);
|
||||
$out .= "<Title";
|
||||
if ($this->_title_wrap=='yes') $out .= " wrap=\"yes\"";
|
||||
$out .= ">".$title."</Title>\n";
|
||||
}
|
||||
$index=0;
|
||||
foreach ($this->_entries as $entry) {
|
||||
if($index<15) $out .= $entry->render();
|
||||
$index++;
|
||||
}
|
||||
foreach ($this->_softkeys as $softkey) $out .= $softkey->render();
|
||||
$IconList=0;
|
||||
foreach ($this->_icons as $icon)
|
||||
{
|
||||
if($IconList==0)
|
||||
{
|
||||
$out .= "<IconList>\n";
|
||||
$IconList=1;
|
||||
}
|
||||
$out .= $icon->render();
|
||||
}
|
||||
if($IconList!=0) $out .= "</IconList>\n";
|
||||
$out .= "</AastraIPPhoneTextMenu>\n";
|
||||
return($out);
|
||||
}
|
||||
|
Reference in New Issue
Block a user