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'); class AastraIPPhoneTextMenu extends AastraIPPhone { var $_defaultIndex=""; var $_style=""; function setDefaultIndex($defaultIndex) { $this->_defaultIndex = $defaultIndex; } function setStyle($style) { $this->_style = $style; } function addEntry($name, $url, $selection=NULL, $icon=NULL, $dial=NULL) { $this->_entries[] = new AastraIPPhoneTextMenuEntry($name, $url, $selection, $icon, $dial); } function natsortByName() { $tmpary = array(); foreach ($this->_entries as $id => $entry) { $tmpary[$id] = $entry->getName(); } natsort($tmpary); foreach ($tmpary as $id => $name) { $newele[] = $this->_entries[$id]; } $this->_entries = $newele; } function render() { $out = "_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->_lockin=='yes') $out .= " LockIn=\"yes\""; if($this->_allowAnswer == 'yes') $out .= " allowAnswer=\"yes\""; if ($this->_timeout!=0) $out .= " Timeout=\"{$this->_timeout}\""; $out .= ">\n"; if ($this->_title!='') { $title = $this->escape($this->_title); $out .= "_title_wrap=='yes') $out .= " wrap=\"yes\""; $out .= ">".$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 .= "\n"; $IconList=1; } $out .= $icon->render(); } if($IconList!=0) $out .= "\n"; $out .= "\n"; return($out); } } ?>