Files
aastra-xml-php/php_classes/AastraIPPhoneImageMenu.class.php
2018-02-15 22:59:05 +01:00

126 lines
5.6 KiB
PHP

<?php
########################################################################################################
# Aastra XML API Classes - AastraIPPhoneImageMenu
# Copyright Aastra Telecom 2007
#
# AastraIPPhoneImageMenu object.
#
# Public methods
#
# Inherited from AastraIPPhone
# 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)
# setTimeout(timeout) to define a specific timeout for the XML object (optional)
# setLockIn() to set the Lock-in tag to 'yes' (optional)
# addSoftkey(index,label,uri,icon_index) to add custom softkeys 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
# setImage(image)to define the image to be displayed
# setAlignment(vertical,horizontal) to define image alignment
# setSize(height,width) to define image size
# setURIBase(uriBase) to define the base URI for the selections
# addURI(key,uri) to add a selection key with its URI
#
# Example
# require_once('AastraIPPhoneImageMenu.class.php');
# $imagem = new AastraIPPhoneImageMenu();
# $imagem->setDestroyOnExit();
# $imagem->setSize(40,144);
# $imagem->setImage('fffffffc02fffffffee4ffffbfffc05fffe7ff7a7ffffffffeffeebd7fffffea6bcfffffe796f3feff6fa289f0a86f4866fa20df42414595dd0134f8037ed1637f0e2522b2dd003b6eb936f05fffbd4f4107bba6eb0080e93715000010b754001281271408c640252081b1b22500013c5c66201368004e04467520dc11067152b82094d418e100247205805494780105002601530020131400020a05c91088b002b08c21c0000c200000001fe800000000000000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020041000004008300000ff08500000000c900000000710000000000000001401400000140140000014014000001401400000140140000000000000007c0ff00000c30880000081088000008108800000c30700000062000000000003f000001e02000000330200000021000000003301e000001e0330000000021000003f033000002001e0000020000000000001e000c03fc33003c013021007c02101201f00330ff03f001e000039000003e039001e00103f003300101f8021003007c03303f003c01e000000c00001e001c03f033007802002100f002002103e000001203c401702003cc0290ff039c02902101fc02b000007c03f01a003c020039018c0ff02d03c402102703c400001203ec01e000026402b0000264029000026c029000027c01a0000338000000033800000003100000000300000000030003f00003fc03000003fc02000003fc020000030001f0000300000000030001e000030002b000030002900003fc02900003fc01a00003f00000000310030000031c01e000031f003000033f81e00003f383000001e081e000008c003000003c01e00000fc03000001f000000003d001a0000390039000039002d00003f002700000f8012000007c000000001c0000000004000000000000000000000000000');
# $imagem->addURI('1','http://myserver.com?choice=1');
# $imagem->addURI('2','http://myserver.com?Choice=2');
# $imagem->addSoftkey('1', 'Label', 'http://myserver.com/script.php?action=1','1');
# $imagem->addSoftkey('6', 'Exit', 'SoftKey:Exit');
# $imagem->addIcon('1', 'Icon:Envelope');
# $imagem->addIcon('2', 'FFFF0000FFFF0000');
# $imagem->output();
#
########################################################################################################
require_once('AastraIPPhone.class.php');
require_once('AastraIPPhoneImageMenuEntry.class.php');
class AastraIPPhoneImageMenu extends AastraIPPhone {
var $_image;
var $_verticalAlign=NULL;
var $_horizontalAlign=NULL;
var $_height=NULL;
var $_width=NULL;
var $_uriBase=NULL;
function setImage($image)
{
$this->_image = $image;
}
function setAlignment($vertical=NULL,$horizontal=NULL)
{
$this->_verticalAlign = $vertical;
$this->_horizontalAlign = $horizontal;
}
function setSize($height,$width)
{
$this->_height = $height;
$this->_width = $width;
}
function setURIBase($uriBase)
{
$this->_uriBase = $uriBase;
}
function addURI($key, $uri)
{
$this->_entries[] = new AastraIPPhoneImageMenuEntry($key, $uri);
}
function render()
{
$title = $this->escape($this->_title);
$out = "<AastraIPPhoneImageMenu";
if ($this->_destroyOnExit=='yes') $out .= " destroyOnExit=\"yes\"";
if($this->_cancelAction != "")
{
$cancelAction = $this->escape($this->_cancelAction);
$out .= " cancelAction=\"{$cancelAction}\"";
}
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 .= "<Image";
if($this->_verticalAlign!=NULL) $out .= " verticalAlign=\"{$this->_verticalAlign}\"";
if($this->_horizontalAlign!=NULL) $out .= " horizontalAlign=\"{$this->_horizontalAlign}\"";
if($this->_height!=NULL) $out .= " height=\"{$this->_height}\"";
if($this->_width!=NULL) $out .= " width=\"{$this->_width}\"";
$out .= ">{$this->_image}</Image>\n";
$out .= "<URIList";
$uriBase = $this->escape($this->_uriBase);
if($uriBase!=NULL) $out .= " base=\"{$uriBase}\"";
$out .= ">\n";
foreach ($this->_entries as $entry) $out .= $entry->render();
$out .= "</URIList>\n";
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 .= "</AastraIPPhoneImageMenu>\n";
return($out);
}
}
?>