setDestroyOnExit(); # $ftext->addLine('Formatted Screen','double','center'); # $ftext->setScrollStart('2'); # $ftext->addLine('Scrolled text1'); # $ftext->addLine('Scrolled text2'); # $ftext->addLine('Scrolled text3'); # $ftext->addLine('Scrolled text4'); # $ftext->addLine('Scrolled text5'); # $ftext->setScrollEnd(); # $ftext->addLine('Footer',NULL,'center'); # $ftext->addSoftkey('1', 'Label', 'http://myserver.com/script.php?action=1','1'); # $ftext->addSoftkey('6', 'Exit', 'SoftKey:Exit'); # $ftext->addIcon('1', 'Icon:Envelope'); # $ftext->output(); # ######################################################################################################## require_once('AastraIPPhone.class.php'); require_once('AastraIPPhoneFormattedTextScreenEntry.class.php'); class AastraIPPhoneFormattedTextScreen extends AastraIPPhone { var $_doneAction=''; var $_allowDTMF=''; var $_scrollUp=''; var $_scrollDown=''; var $_scrollLeft=''; var $_scrollRight=''; var $_dialNumber=''; var $_dialLine=''; var $_fontMono=''; function addLine($text, $size=NULL, $align=NULL, $color=NULL, $wrap=NULL, $blink=NULL) { $this->_entries[] = new AastraIPPhoneFormattedTextScreenEntry($text, $size, $align, $color, $wrap, $blink, 'normal'); } function addText($text, $size=NULL, $align=NULL, $color=NULL, $wrap=NULL, $blink=NULL) { $pieces=explode("\n",wordwrap($text,$this->_display_size,"\n",True)); foreach($pieces as $value) $this->_entries[] = new AastraIPPhoneFormattedTextScreenEntry($value, $size, $align, $color, $wrap, $blink, 'normal'); } function setScrollStart($height) { $this->_entries[] = new AastraIPPhoneFormattedTextScreenEntry(NULL, $height, NULL, NULL, NULL, NULL, 'scrollstart'); } function setScrollEnd() { $this->_entries[] = new AastraIPPhoneFormattedTextScreenEntry(NULL, NULL, NULL, NULL, NULL, NULL, 'scrollend'); } function setDoneAction($uri) { $this->_doneAction = $uri; } function setAllowDTMF() { $this->_allowDTMF = 'yes'; } function setScrollUp($uri) { $this->_scrollUp = $uri; } function setScrollDown($uri) { $this->_scrollDown = $uri; } function setScrollLeft($uri) { $this->_scrollLeft = $uri; } function setScrollRight($uri) { $this->_scrollRight = $uri; } function setDial($dialNumber,$dialLine='') { $this->_dialNumber = $dialNumber; $this->_dialLine = $dialLine; } function setNoFontMono() { $this->_fontMono = 'no'; } function render() { # Beginning of root tag $out = "_destroyOnExit == 'yes') $out .= " destroyOnExit=\"yes\""; # CancelAction if($this->_cancelAction != '') { $cancelAction = $this->escape($this->_cancelAction); $out .= " cancelAction=\"{$cancelAction}\""; } # DoneAction if($this->_doneAction != '') { $doneAction = $this->escape($this->_doneAction); $out .= " doneAction=\"{$doneAction}\""; } # Beep if($this->_beep=='yes') $out .= " Beep=\"yes\""; # Lockin if($this->_lockin!='') { $out .= " LockIn=\"{$this->_lockin}\""; if($this->_lockin_uri!='') $out .= " GoodbyeLockInURI=\"".$this->escape($this->_lockin_uri)."\""; } # Call Protection if($this->_callprotection!='') { $out .= " CallProtection=\"{$this->_callprotection}\""; } # AllowAnswer if($this->_allowAnswer == 'yes') $out .= " allowAnswer=\"yes\""; # AllowDrop if($this->_allowDrop == 'yes') $out .= " allowDrop=\"yes\""; # AllowXfer if($this->_allowXfer == 'yes') $out .= " allowXfer=\"yes\""; # AllowConf if($this->_allowConf == 'yes') $out .= " allowConf=\"yes\""; # TimeOut if($this->_timeout!=0) $out .= " Timeout=\"{$this->_timeout}\""; # Background color if ($this->_background_color!='') $out .= " bgColor=\"{$this->_background_color}\""; # AllowDTMF if($this->_allowDTMF=='yes') $out .= " allowDTMF=\"yes\""; # Scrolls up/down/left/right if($this->_scrollUp!='') $out .= " scrollUp=\"".$this->escape($this->_scrollUp)."\""; if($this->_scrollDown!='') $out .= " scrollDown=\"".$this->escape($this->_scrollDown)."\""; if($this->_scrollLeft!='') $out .= " scrollLeft=\"".$this->escape($this->_scrollLeft)."\""; if($this->_scrollRight!='') $out .= " scrollRight=\"".$this->escape($this->_scrollRight)."\""; # Font Monotype if ($this->_fontMono == 'no') $out .= " fontMono=\"no\""; # End of Root tag $out .= ">\n"; # Top Title if ($this->_toptitle!='') { $toptitle = $this->escape($this->_toptitle); $out .= "_toptitle_icon!='') $out .= " icon=\"{$this->_toptitle_icon}\""; if ($this->_toptitle_color!='') $out .= " Color=\"{$this->_toptitle_color}\""; $out .= ">".$toptitle."\n"; } # Lines if (isset($this->_entries) && is_array($this->_entries)) { foreach ($this->_entries as $entry) $out .= $entry->render(); } # Dial if ($this->_dialNumber!='') { $dialNumber = $this->escape($this->_dialNumber); $out .= "_dialLine!='') $out .= " line=\"{$this->_dialLine}\""; $out .= ">".$dialNumber."\n"; } # Softkeys if (isset($this->_softkeys) && is_array($this->_softkeys)) { foreach ($this->_softkeys as $softkey) $out .= $softkey->render(); } # Icons if (isset($this->_icons) && is_array($this->_icons)) { $IconList=False; foreach ($this->_icons as $icon) { if(!$IconList) { $out .= "\n"; $IconList=True; } $out .= $icon->render(); } if($IconList) $out .= "\n"; } # End tag $out .= "\n"; # Return XML object return $out; } } ?>