<?php
/*
* This software is freely available and distributed under the Mozilla Public
* License agreement (MPL). A copy of the MPL may obtain at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
*
* Original code by Minded Software Solutions (http://minded.ca/)
* Initial Developer - Tyler Winfield
* Copyright (C) Minded Software Solutions. All Rights Reserved.
*/
/**
* CiscoXMLMenuItem
* object class for building menu item objects for phone menu service object
*
* @author twinfield
*/
class CiscoXMLMenuItem
{
public $menuItem;
public function __construct()
{
$this->menuItem = new DOMDocument('1.0', 'utf-8');
$this->menuItem->appendChild($this->menuItem->createElement('MenuItem'));
}
public function setName($name)
{
if($this->menuItem->getElementsByTagName('Name')->length > 0) {
$this->menuItem->getElementsByTagName('Name')->item(0)->nodeValue = htmlspecialchars($name);
} else {
$this->menuItem->documentElement->appendChild($this->menuItem->createElement('Name', htmlspecialchars($name)));
}
}
public function getName()
{
return $this->menuItem->getElementsByTagName('Name')->item(0)->nodeValue;
}
public function setURL($url)
{
if($this->menuItem->getElementsByTagName('URL')->length > 0) {
$this->menuItem->getElementsByTagName('URL')->item(0)->nodeValue = htmlspecialchars($url);
} else {
$this->menuItem->documentElement->appendChild($this->menuItem->createElement('URL', htmlspecialchars($url)));
}
}
public function getURL()
{
return $this->menuItem->getElementsByTagName('URL')->item(0)->nodeValue;
}
public function setIcon($index)
{
if($this->menuItem->getElementsByTagName('IconIndex')->length > 0) {
$this->menuItem->getElementsByTagName('IconIndex')->item(0)->nodeValue = (string)$index;
} else {
$this->menuItem->documentElement->appendChild($this->menuItem->createElement('IconIndex', (string)$index));
}
}
public function removeIcon()
{
if($this->menuItem->getElementsByTagName('IconIndex')->length > 0)
$this->menuItem->documentElement->removeChild($this->menuItem->getElementsByTagName('IconIndex')->item(0));
}
public function setTouchArea($x, $y, $_x, $_y)
{
if($this->hasTouchArea())
$this->removeTouchArea();
$touchArea = $this->menuItem->createElement('TouchArea');
$attr_x1 = $this->menuItem->createAttribute('X1');
$attr_x1->appendChild($this->menuItem->createTextNode($x));
$touchArea->appendChild($attr_x1);
$attr_y1 = $this->menuItem->createAttribute('Y1');
$attr_y1->appendChild($this->menuItem->createTextNode($y));
$touchArea->appendChild($attr_y1);
$attr_x2 = $this->menuItem->createAttribute('X2');
$attr_x2->appendChild($this->menuItem->createTextNode($_x));
$touchArea->appendChild($attr_x2);
$attr_y2 = $this->menuItem->createAttribute('Y2');
$attr_y2->appendChild($this->menuItem->createTextNode($_y));
$touchArea->appendChild($attr_y2);
$this->menuItem->documentElement->appendChild($touchArea);
}
public function removeTouchArea()
{
$this->menuItem->documentElement->removeChild($this->menuItem->getElementsByTagName('TouchArea')->item(0));
}
public function hasTouchArea()
{
if($this->menuItem->getElementsByTagName('TouchArea')->length > 0)
return true;
return false;
}
public function getTouchArea()
{
if($this->hasTouchArea())
{
$toucharea = array();
$toucharea['X1'] = $this->menuItem->getElementsByTagName('TouchArea')->item(0)->getAttribute('X1');
$toucharea['Y1'] = $this->menuItem->getElementsByTagName('TouchArea')->item(0)->getAttribute('Y1');
$toucharea['X2'] = $this->menuItem->getElementsByTagName('TouchArea')->item(0)->getAttribute('X2');
$toucharea['Y2'] = $this->menuItem->getElementsByTagName('TouchArea')->item(0)->getAttribute('Y2');
}
return false;
}
}
?>
|