setTitle('Title'); # $input->setPrompt('Enter your password'); # $input->setParameter('param'); # $input->setType('string'); # $input->setURL('http://myserver.com/script.php'); # $input->setPassword(); # $input->setDestroyOnExit(); # $input->setDefault('Default'); # $input->output(); # # Example 2 - Multiple Inputs # require_once('AastraIPPhoneInputScreen.class.php'); # $input = new AastraIPPhoneInputScreen(); # $input->setTitle('Example 2'); # $input->setDisplayMode('condensed'); # $input->setURL('http://myserver.com/script.php'); # $input->setDestroyOnExit(); # $input->addSoftkey('5', 'Done', 'SoftKey:Submit'); # $input->addField('string'); # $input->setFieldPrompt('Username:'); # $input->setFieldParameter('user'); # $input->addFieldSoftkey('3', 'ABC', 'SoftKey:ChangeMode'); # $input->addField('number'); # $input->setFieldPassword('yes'); # $input->setFieldPrompt('Pass:'); # $input->setFieldParameter('passwd'); # $input->output(); # ######################################################################################################## require_once('AastraIPPhone.class.php'); require_once('AastraIPPhoneInputScreenEntry.class.php'); require_once('AastraIPPhoneSoftkeyEntry.class.php'); class AastraIPPhoneInputScreen extends AastraIPPhone { var $_url; var $_type='string'; var $_parameter; var $_prompt; var $_editable=''; var $_default=''; var $_defaultfocus=''; var $_password=''; var $_defaultindex=''; var $_displaymode=''; var $_inputlanguage=''; var $_fieldcolor=''; var $_promptcolor=''; function setURL($url) { $this->_url=$url; } function setType($type) { $this->_type=$type; } function setEditable() { $this->_editable='no'; } function setNotEditable() { $this->_editable='no'; } function setDefault($default) { $this->_default=$default; } function setDefaultFocus() { $this->_defaultfocus='yes'; } function setParameter($parameter,$color='') { $this->_parameter=$parameter; $this->_fieldcolor=$color; } function setPassword() { $this->_password='yes'; } function setPrompt($prompt,$color='') { $this->_prompt=$prompt; $this->_promptcolor=$color; } function setDefaultIndex($index) { $this->_defaultindex=$index; } function setDisplayMode($display) { $this->_displaymode=$display; } function setInputLanguage($input) { $this->_inputlanguage=$input; } function addField($type='',$choiceURL='') { $this->_entries[] = new AastraIPPhoneInputScreenEntry($type); end($this->_entries); if($type=='choice') $this->_entries[key($this->_entries)]->_choiceURL=$choiceURL; } function setFieldType($type,$choiceURL='') { $this->_entries[key($this->_entries)]->_type=$type; if($type=='choice') $this->_entries[key($this->_entries)]->_choiceURL=$choiceURL; } function setFieldPassword($password='yes') { $this->_entries[key($this->_entries)]->_password=$password; } function setFieldEditable($editable='yes') { $this->_entries[key($this->_entries)]->_editable=$editable; } function setFieldParameter($parameter,$color='') { $this->_entries[key($this->_entries)]->_parameter=$parameter; $this->_entries[key($this->_entries)]->_fieldcolor=$color; } function setFieldPrompt($prompt,$color='') { $this->_entries[key($this->_entries)]->_prompt=$this->escape($prompt); $this->_entries[key($this->_entries)]->_promptcolor=$color; } function setFieldDefault($default) { $this->_entries[key($this->_entries)]->_default=$default; } function setFieldSelection($selection) { $this->_entries[key($this->_entries)]->_selection=$selection; } function addFieldSoftkey($index, $label, $uri, $icon=NULL) { $this->_entries[key($this->_entries)]->_softkeys[] = new AastraIPPhoneSoftkeyEntry($index, $this->escape($label), $this->escape($uri), $icon); } function render() { # Beginning of root tag $out = "_type\""; # Password if($this->_password == 'yes') $out .= " password=\"yes\""; # DestroyOnExit if($this->_destroyOnExit == 'yes') $out .= " destroyOnExit=\"yes\""; # CancelAction if($this->_cancelAction != "") { $cancelAction = $this->escape($this->_cancelAction); $out .= " cancelAction=\"{$cancelAction}\""; } # Editable if($this->_editable=='no') $out .= " editable=\"no\""; # Beep if($this->_beep=='yes') $out .= " Beep=\"yes\""; # DefaultIndex if($this->_defaultindex!='') $out .= " defaultIndex=\"".$this->_defaultindex."\""; # DefaultFocus if($this->_defaultfocus!='') $out .= " defaultFocus=\"yes\""; # InputLanguage if($this->_inputlanguage!='') $out .= " inputLanguage=\"".$this->_inputlanguage."\""; # Display Mode if($this->_displaymode!='') $out .= " displayMode=\"".$this->_displaymode."\""; # 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}\""; # End of the root tag $out .= ">\n"; # Title if ($this->_title!='') { $title = $this->escape($this->_title); $out .= "_title_wrap=='yes') $out .= " wrap=\"yes\""; if ($this->_title_color!='') $out .= " Color=\"{$this->_title_color}\""; $out .= ">".$title."\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"; } # Prompt if($this->_prompt != '') { $prompt = $this->escape($this->_prompt); $out .= "_promptcolor != '') $out .= " Color=\"{$this->_promptcolor}\""; $out .= ">{$prompt}\n"; } # URL $url = $this->escape($this->_url); $out .= "{$url}\n"; # Parameter if($this->_parameter != '') { $out .= "_fieldcolor != '') $out .= " Color=\"{$this->_fieldcolor}\""; if($this->_fieldbcolor != '') $out .= " Bcolor=\"{$this->_fieldbcolor}\""; $out .= ">{$this->_parameter}\n"; } # Default $out .= "{$this->_default}\n"; # Multiple input fields if (isset($this->_entries) && is_array($this->_entries)) { foreach ($this->_entries as $entry) $out .= $entry->render(); } # 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 $out; } } ?>