예제 #1
0
 function doStartTag()
 {
     parent::doStartTag();
     if ($this->getAncestorByClassName('wallelementblock') || $this->getAncestorByClassName('wallelementmenu') || $this->getAncestorByClassName('wallelementform')) {
         trigger_error("'hr' tag cannot be used inside a block, form or cool_menu tag (breaks XHTML validity and will produce an error on some browsers)", E_USER_ERROR);
     }
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         $this->write('<hr');
         if ($this->color) {
             $this->write(' color="' . $this->color . '" style="border-color: ' . $this->color . '; background-color: ' . $this->color . '"');
         }
         $this->write('/>');
     } else {
         if (strpos($this->preferred_markup, 'wml') !== false) {
             $this->write('<p>---</p>');
         } else {
             if (strpos($this->preferred_markup, 'chtml') !== false) {
                 $this->write('<hr');
                 if ($this->color) {
                     $this->write(' color="' . $this->color . '"');
                 }
                 $this->write('>');
             }
         }
     }
 }
 function doStartTag()
 {
     parent::doStartTag();
     $this->cellnumber = 1;
     if ($this->getAncestorByClassName('wallelementblock')) {
         trigger_error("'cool_menu' tag cannot be nested inside a 'block' tag (breaks XHTML validity and will produce an error on some browsers).\n Close or remove the containing 'block' tag.", E_USER_ERROR);
     }
     if ($this->tabularize) {
         if (strpos($this->preferred_markup, 'chtml') !== false) {
             $this->imode_table_support = $this->perform_tabularization = $this->_wall->getCapa('chtml_table_support');
         } else {
             if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
                 $this->xhtml_table_support = $this->perform_tabularization = $this->_wall->getCapa('xhtml_table_support');
             }
         }
     }
     if ($this->perform_tabularization) {
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             $this->write('<table class="coolmenu">');
         } else {
             if (strpos($this->preferred_markup, 'chtml') !== false) {
                 $this->write('<table>');
             }
         }
     } else {
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             $this->write('<p>');
         }
     }
     if (strpos($this->preferred_markup, 'wml') !== false) {
         $this->write('<p align="left" mode="nowrap">');
     }
 }
예제 #3
0
 function doStartTag()
 {
     parent::doStartTag();
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         $this->write('<p');
         if ($this->align) {
             $this->write(' style="text-align: ' . $this->align . '"');
         }
         if ($this->xhtmlClass) {
             $this->write(' class="' . $this->xhtmlClass . '"');
         }
         if ($this->xhtmlId) {
             $this->write(' id="' . $this->xhtmlId . '"');
         }
         $this->write('>');
     } else {
         if (strpos($this->preferred_markup, 'chtml') !== false) {
             if ($this->align) {
                 $this->write('<p align="' . $this->align . '">');
             }
         } else {
             if (strpos($this->preferred_markup, 'wml') !== false) {
                 $this->write('<p');
                 if ($this->align) {
                     $this->write(' align="' . $this->align . '"');
                 }
                 $this->write('>');
             }
         }
     }
 }
예제 #4
0
 function doStartTag()
 {
     parent::doStartTag();
     if ($this->getAncestorByClassName('wallelementblock')) {
         trigger_error("'form' tag cannot be nested inside a 'block' tag (breaks XHTML validity and will produce an error on some browsers).\n Close or remove the containing 'block' tag.", E_USER_ERROR);
     }
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         if (!$this->getAncestorByClassName('wallelementdocument')) {
             trigger_error("tag 'form' (wml enabled) must be nested inside a 'document' tag", E_USER_ERROR);
         }
         $this->write('<form action="' . $this->action . '"');
         if ($this->method) {
             $this->write(' method="' . $this->method . '"');
         }
         $this->write('><p>');
     } else {
         if (strpos($this->preferred_markup, 'chtml') !== false) {
             $this->write('<form action="' . $this->action . '"');
             if ($this->method) {
                 $this->write(' method="' . $this->method . '"');
             }
             $this->write('>');
         } else {
             if (strpos($this->preferred_markup, 'wml') !== false && $this->enable_wml) {
                 if (!$this->getAncestorByClassName('wallelementdocument')) {
                     trigger_error("tag 'form' (wml enabled) must be nested inside a 'document' tag", E_USER_ERROR);
                 }
                 $this->write('<p>');
             } else {
                 $this->write('This page is not available to WAP 1.X devices. If you think this is an error, please contact your service provider.');
                 return WALL_SKIP_BODY;
             }
         }
     }
 }
예제 #5
0
 function doStartTag()
 {
     parent::doStartTag();
     if (!$this->getAncestorByClassName('wallelementdocument')) {
         trigger_error("tag 'xmlpidtd' must be nested inside 'document' tag", E_USER_ERROR);
     }
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         $this->writeln('<?xml version="1.0" encoding="UTF-8"?>');
         if ($this->_wall->use_xhtml_extensions) {
             $this->write('<!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML Mobile 1.0//EN"');
             $this->write(' "http://www.openwave.com/DTD/xhtml-mobile10.dtd">');
         } else {
             $this->write('<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"');
             $this->write(' "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">');
         }
     } else {
         if (strpos($this->preferred_markup, 'chtml') !== false) {
             $this->write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft//EN">');
         } else {
             if (strpos($this->preferred_markup, 'wml') !== false) {
                 $this->writeln('<?xml version="1.0" encoding="UTF-8"?>');
                 if ($this->_wall->use_wml_extensions) {
                     $this->write('<!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.1//EN" ');
                     $this->write('"http://www.phone.com/dtd/wml11.dtd">');
                 } else {
                     $this->write('<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" ');
                     $this->write('"http://www.wapforum.org/DTD/wml_1.1.xml">');
                 }
             }
         }
     }
 }
예제 #6
0
 function doStartTag()
 {
     parent::doStartTag();
     if (!$this->getAncestorByClassName('wallelementdocument')) {
         trigger_error("tag 'head' must be nested inside a 'document' tag", E_USER_ERROR);
     }
     if (defined('WALL_USE_TERA_WURFL') && WALL_USE_TERA_WURFL && TERA_WURFL_VERSION >= 2) {
         $this->uplink = TagUtil::isUpLink($this->_wall->wurfl->userAgent);
     } else {
         $this->uplink = TagUtil::isUpLink($this->_wall->wurfl->user_agent);
     }
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false || strpos($this->preferred_markup, 'chtml') !== false) {
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             $this->writeln('<html xmlns="http://www.w3.org/1999/xhtml">');
         } else {
             $this->writeln('<html>');
         }
         $this->write('<head>');
     } else {
         if (strpos($this->preferred_markup, 'wml') !== false) {
             $this->writeln('<wml>');
             $this->write('<head>');
         }
     }
 }
예제 #7
0
 function doStartTag()
 {
     parent::doStartTag();
     if ($this->getAncestorByClassName('wallelementblock')) {
         trigger_error("'menu' tag cannot be nested inside a 'block' tag (breaks XHTML validity and will produce an error on some browsers).\n Close or remove the containing 'block' tag.", E_USER_ERROR);
     }
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         $this->table_ok = $this->_wall->getCapa('xhtml_supports_table_for_layout');
         $this->css_ok = $this->_wall->getCapa('xhtml_supports_css_cell_table_coloring');
         $this->table_and_css_background = $this->table_ok && $this->css_ok;
         if ($this->_wall->menu_css_tag && $this->colorize && $this->table_and_css_background) {
             $this->write('<table>');
         } else {
             if ($this->autonumber) {
                 $this->write('<ol>');
             } else {
                 $this->write('<ul>');
             }
         }
     } else {
         if (strpos($this->preferred_markup, 'chtml') !== false) {
             $this->write('<br clear="all">');
         } else {
             if (strpos($this->preferred_markup, 'wml') !== false) {
                 $this->wml_menu_with_select = $this->_wall->getCapa('menu_with_select_element_recommended');
                 if ($this->wml_menu_with_select) {
                     $this->write('<p align="left" mode="nowrap">');
                     $this->write('<select>');
                 } else {
                     $this->write('<p>');
                 }
             }
         }
     }
 }
예제 #8
0
 function doStartTag()
 {
     parent::doStartTag();
     if (!(strpos($this->preferred_markup, 'wml') !== false && $this->link)) {
         $this->write('<b>');
     }
 }
예제 #9
0
 function doStartTag()
 {
     parent::doStartTag();
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false || strpos($this->preferred_markup, 'wml') !== false) {
         $this->write('<br/>');
     } else {
         if (strpos($this->preferred_markup, 'chtml') !== false) {
             $this->write('<br>');
         }
     }
 }
예제 #10
0
 function doStartTag()
 {
     parent::doStartTag();
     $this->nowrap_mode = $this->_wall->getCapa('xhtml_nowrap_mode');
     $this->marquee_as_css = $this->_wall->getCapa('xhtml_marquee_as_css_property');
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         if ($this->marquee_as_css) {
             $style = 'display: -wap-marquee';
             if ($this->behavior) {
                 $style .= '; -wap-marquee-style: ' . $this->behavior;
             }
             if ($this->direction) {
                 $dir = $this->direction == 'left' ? 'rtl' : 'ltr';
                 $style .= '; -wap-marquee-dir: ' . $dir;
             }
             if ($this->loop) {
                 $style .= '; -wap-marquee-loop: ' . $this->loop;
             }
             if ($this->bgcolor) {
                 $style .= '; background-color: ' . $this->bgcolor;
             }
             $this->write('<div style="' . $style . '">');
         } else {
             if ($this->nowrap_mode) {
                 $this->write('<div mode="nowrap">');
             }
         }
     } else {
         if (strpos($this->preferred_markup, 'chtml') !== false) {
             $this->write('<marquee');
             if ($this->behavior) {
                 $this->write(' behavior="' . $this->behavior . '"');
             }
             if ($this->direction) {
                 $this->write(' direction="' . $this->direction . '"');
             }
             if ($this->loop) {
                 $this->write(' loop="' . $this->loop . '"');
             }
             if ($this->bgcolor) {
                 $this->write(' bgcolor="' . $this->bgcolor . '"');
             }
             $this->write('>');
         } else {
             if (strpos($this->preferred_markup, 'wml') !== false) {
                 //$this->write('');
             }
         }
     }
 }
예제 #11
0
 function doStartTag()
 {
     parent::doStartTag();
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false || strpos($this->preferred_markup, 'chtml') !== false) {
         $this->write('<body');
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             $style = array();
             if ($this->text) {
                 $style[] = 'color: ' . $this->text;
             }
             if ($this->bgcolor) {
                 $style[] = 'background-color: ' . $this->bgcolor;
             }
             if (count($style)) {
                 $this->write(' style="' . join($style, '; ') . '"');
             }
         } else {
             if ($this->text) {
                 $this->write(' text="' . $this->text . '"');
             }
             if ($this->bgcolor) {
                 $this->write(' bgcolor="' . $this->bgcolor . '"');
             }
         }
         $this->write('>');
         //echo $this->_wall->enforce_title;
         if ($this->_wall->enforce_title) {
             if (!$this->xhtml_extra_title) {
                 $this->write('<p>' . $this->document->title . '</p>');
             }
         }
     } else {
         if (strpos($this->preferred_markup, 'wml') !== false) {
             if (!$this->back_button_support && !$this->disable_wml_template) {
                 $this->writeln('<template><do type="prev" label="' . $this->wml_back_button_label . '"><prev/></do></template>');
             }
             $this->write('<card id="w" title="' . $this->document->title . '">');
             if ($this->_wall->enforce_title) {
                 if (!$this->wml_extra_title) {
                     $this->write('<p>' . $this->document->title . '</p>');
                 }
             }
         }
     }
 }
예제 #12
0
 function doStartTag()
 {
     parent::doStartTag();
     if (!$this->getAncestorByClassName('wallelementselect')) {
         trigger_error("tag 'option' must be nested inside 'select' tag", E_USER_ERROR);
     }
     $this->write('  <option value="' . $this->value . '"');
     if ($this->selected) {
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             $this->write(' selected="selected"');
         } else {
             if (strpos($this->preferred_markup, 'chtml') !== false) {
                 $this->write(' selected');
             }
         }
     }
     $this->write('>');
 }
예제 #13
0
 function doStartTag()
 {
     parent::doStartTag();
     if (defined('WALL_USE_TERA_WURFL') && WALL_USE_TERA_WURFL && TERA_WURFL_VERSION >= 2) {
         $this->uplink = TagUtil::isUpLink($this->_wall->wurfl->userAgent);
     } else {
         $this->uplink = TagUtil::isUpLink($this->_wall->wurfl->user_agent);
     }
     #header('X-test', $this->_wall->getCapa('xhtmlmp_preferred_mime_type'));
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         if (!defined('WALL_SUPRESS_HEADERS') || !WALL_SUPRESS_HEADERS) {
             $hdr = $this->_wall->getCapa('xhtmlmp_preferred_mime_type');
             $chr = $this->_wall->getCapa('xhtml_preferred_charset');
             #                error_log($chr);
             if ($chr && $chr != 'utf8') {
                 $chr = false;
             }
             if (!$hdr) {
                 $hdr = 'text/html';
             }
             #		error_log($this->_wall->ua . ' gets Content-Type: ' . $hdr . ($chr ? '; charset=' . $chr : ''));
             #header('Content-Type: ' . $hdr . ($chr ? '; charset=' . $chr : ''));
             header('Content-Type: ' . $hdr);
         }
         $this->_wall->use_xhtml_extensions = !$this->disable_xhtml_extensions && $this->uplink && $this->_wall->getCapa('opwv_xhtml_extensions_support');
     } else {
         if (strpos($this->preferred_markup, 'wml') !== false) {
             if (!defined('WALL_SUPRESS_HEADERS') || !WALL_SUPRESS_HEADERS) {
                 error_log($this->_wall->ua . ' gets Content-Type: text/vnd.wap.wml; charset=utf-8');
                 header('Content-Type: text/vnd.wap.wml; charset=utf-8');
             }
             $this->_wall->use_wml_extensions = !$this->disable_wml_extensions && $this->uplink && $this->_wall->getCapa('opwv_wml_extensions_support');
         } else {
             if (strpos($this->preferred_markup, 'chtml') !== false) {
                 if (!defined('WALL_SUPRESS_HEADERS') || !WALL_SUPRESS_HEADERS) {
                     error_log($this->_wall->ua . ' gets Content-Type: text/html; charset=utf-8');
                     header('Content-Type: text/html; charset=utf-8');
                 }
             } else {
                 trigger_error('No valid markup found: ' . $this->preferred_markup, E_USER_ERROR);
             }
         }
     }
 }
예제 #14
0
 function doStartTag()
 {
     parent::doStartTag();
     if (!$this->getAncestorByClassName('wallelementdocument') || !$this->getAncestorByClassName('wallelementhead')) {
         trigger_error("tag 'title' must be nested inside 'head' and 'document' tags", E_USER_ERROR);
     }
     $this->_wall->enforce_title = $this->enforce_title;
     //echo $this->_wall->enforce_title;
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false || strpos($this->preferred_markup, 'chtml') !== false) {
         $this->write('<title>');
         //return WALL_SKIP_BODY;//$this->_wall->skip_body = true;
     } else {
         if (strpos($this->preferred_markup, 'wml') !== false) {
             $this->write('<meta name="Generator" content="Wall4PHP"/>');
             return WALL_SKIP_BODY;
             //$this->_wall->skip_body = true;
         }
     }
 }
예제 #15
0
 function doStartTag()
 {
     parent::doStartTag();
     $this->cool_menu =& $this->getAncestorByClassName('wallelementcool_menu');
     if (!$this->cool_menu) {
         trigger_error("tag 'cell' must be nested inside a 'cool_menu' tag", E_USER_ERROR);
     }
     $this->perform_tabularization = $this->cool_menu->perform_tabularization;
     if (strpos($this->preferred_markup, 'wml') === false) {
         if ($this->perform_tabularization) {
             #                error_log('kaka');
             if ($this->cool_menu->isFirstRowCell()) {
                 $this->write('<tr>');
             }
             $css_for_xhtml = strpos($this->preferred_markup, 'xhtmlmp') !== false ? ' class="coolmenu"' : '';
             $this->write('<td' . $css_for_xhtml . '>');
         }
     }
 }
예제 #16
0
 function doStartTag()
 {
     parent::doStartTag();
     if (!$this->getAncestorByClassName('wallelementdocument') || !$this->getAncestorByClassName('wallelementhead')) {
         trigger_error("tag 'menu_css' must be nested inside 'head' and 'document' tags", E_USER_ERROR);
     }
     $this->css_table_coloring = $this->_wall->getCapa('xhtml_supports_css_cell_table_coloring');
     $this->table_for_layout = $this->_wall->getCapa('xhtml_supports_table_for_layout');
     $this->bgcolor1 = $this->bgcolor1 ? $this->bgcolor1 : $this->_wall->getCapa('xhtml_readable_background_color1');
     $this->bgcolor2 = $this->bgcolor2 ? $this->bgcolor2 : $this->_wall->getCapa('xhtml_readable_background_color2');
     $this->_wall->menu_css_tag = true;
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false && $this->css_table_coloring && $this->table_for_layout) {
         #            if (!$this->bgcolor1) $this->bgcolor1 = '#99CCFF';
         #            if (!$this->bgcolor2) $this->bgcolor2 = '#FFFFFF';
         $this->writeln('<style type="text/css">');
         $this->writeln('.bgcolor1 { background-color: ' . $this->bgcolor1 . '; }');
         $this->writeln('.bgcolor2 { background-color: ' . $this->bgcolor2 . '; }');
         $this->writeln('</style>');
     }
 }
 function doStartTag()
 {
     parent::doStartTag();
     if (defined('WALL_USE_TERA_WURFL') && WALL_USE_TERA_WURFL && TERA_WURFL_VERSION == 1) {
         $this->write('Device ID: ' . $this->_wall->wurfl->id);
     } else {
         $this->write('Device ID: ' . $this->_wall->wurfl->capabilities['id']);
     }
     if ($this->ua) {
         if (strpos($this->preferred_markup, 'chtml') !== false) {
             $this->writeln('<br>');
         } else {
             $this->writeln('<br/>');
         }
         if (defined('WALL_USE_TERA_WURFL') && WALL_USE_TERA_WURFL && TERA_WURFL_VERSION == 1) {
             $this->write('User agent (given): ' . $this->_wall->wurfl->user_agent);
         } else {
             $this->write('User agent (given): ' . $this->_wall->wurfl->userAgent);
         }
     }
 }
 function doStartTag()
 {
     parent::doStartTag();
     if (!$this->getAncestorByClassName('wallelementhead')) {
         trigger_error("tag 'cool_menu_css' must be nested inside 'head' and 'document' tags", E_USER_ERROR);
     }
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         $this->colnum = $this->colnum ? $this->colnum : 1;
         $width = (int) (100 / $this->colnum) . '%';
         $this->xhtml_table_support = $this->_wall->getCapa('xhtml_table_support');
         $this->create_table_css = $this->tabularize && $this->xhtml_table_support;
         $this->write('<style type="text/css">');
         if ($this->create_table_css) {
             $this->write(' table.coolmenu {width:100%}');
             $this->write(' td.coolmenu {text-align:center;font-size:smaller;width:' . $width . ';vertical-align:top;}');
             $this->write(' img.coolmenu {vertical-align:top;}');
         } else {
             $this->write(' .noneedtomatchanything {font-size:100%}');
         }
     }
 }
예제 #19
0
 function doStartTag()
 {
     parent::doStartTag();
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         if ($this->color) {
             $this->style .= 'color: ' . $this->color . '; ';
         }
         if ($this->face) {
             $this->style .= 'font-family: ' . $this->face . '; ';
         }
         if ($this->size == '+1') {
             $this->style .= 'font-size: larger; ';
         }
         if ($this->size == '-1') {
             $this->style .= 'font-size: smaller; ';
         }
         if (strlen($this->style)) {
             $this->write('<span style="' . trim($this->style) . '">');
         }
     } else {
         if (strpos($this->preferred_markup, 'chtml') !== false) {
             if ($this->color) {
                 $this->font .= ' color="' . $this->color . '"';
             }
             if ($this->face) {
                 $this->font .= ' face="' . $this->face . '"';
             }
             if ($this->size) {
                 $this->font .= ' size="' . $this->size . '"';
             }
             if (strlen($this->font)) {
                 $this->write('<font ' . $this->font . '>');
             }
         } else {
             if (strpos($this->preferred_markup, 'wml') !== false) {
             }
         }
     }
 }
 function doStartTag()
 {
     parent::doStartTag();
     $this->href = TagUtil::normalizeHref($this->href, $this->preferred_markup);
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false || strpos($this->preferred_markup, 'chtml') !== false) {
         $this->write('<h' . $this->level);
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             if ($this->xhtmlClass) {
                 $this->write(' class="' . $this->xhtmlClass . '"');
             }
             if ($this->xhtmlId) {
                 $this->write(' id="' . $this->xhtmlId . '"');
             }
         }
         $this->write('>');
     } else {
         if (strpos($this->preferred_markup, 'wml') !== false) {
             $this->write('<p><b>');
             # or should it be: $this->write('<p><b>'); ?
         }
     }
 }
예제 #21
0
 function doStartTag()
 {
     parent::doStartTag();
     if (!$this->getAncestorByClassName('wallelementdocument')) {
         trigger_error("tag 'select' must be nested inside 'document' tag", E_USER_ERROR);
     }
     if ($this->multiple && strpos($this->preferred_markup, 'wml') === false) {
         $this->write('<select name="' . $this->name . '[]"');
     } else {
         $this->write('<select name="' . $this->name . '"');
     }
     if ($this->title) {
         $this->write(' title="' . $this->title . '"');
     }
     if (strpos($this->preferred_markup, 'wml') !== false) {
         $this->form->addField($this);
         if ($this->multiple) {
             $this->write(' multiple="true"');
         }
     } else {
         if ($this->multiple) {
             $this->write(' multiple="multiple"');
         }
         if ($this->size) {
             $this->write(' size="' . $this->size . '"');
         }
     }
     if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
         if ($this->xhtmlClass) {
             $this->write(' class="' . $this->xhtmlClass . '"');
         }
         if ($this->xhtmlId) {
             $this->write(' id="' . $this->xhtmlId . '"');
         }
     }
     $this->write('>');
 }
예제 #22
0
 function doStartTag()
 {
     parent::doStartTag();
 }
예제 #23
0
 function doStartTag()
 {
     parent::doStartTag();
     if (!$this->getAncestorByClassName('wallelementdocument')) {
         trigger_error("tag 'input' must be nested inside a 'document' tag", E_USER_ERROR);
     }
     if ($this->emptyok && $this->emptyok != 'emptyok') {
         trigger_error("Only admitted value for emptyok attribute (<input> tag) is 'emptyok'", E_USER_ERROR);
     }
     if ($this->type == 'submit') {
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             $this->write('<input type="submit" name="' . $this->name . '" value="' . $this->value . '"/>');
         } else {
             if (strpos($this->preferred_markup, 'chtml') !== false) {
                 $this->write('<input type="submit" name="' . $this->name . '" value="' . $this->value . '">');
             } else {
                 if (strpos($this->preferred_markup, 'wml') !== false) {
                     $this->writeln('');
                     if (!$this->wml13 && $this->softkey) {
                         $this->writeln('<do type="accept" label="' . $this->value . '">');
                     } else {
                         $this->writeln('<anchor>' . $this->value);
                     }
                     $this->write('<go href="' . $this->form->action . '"');
                     if ($this->form->method) {
                         $this->write(' method="' . $this->form->method . '"');
                     }
                     $this->writeln('>');
                     foreach ($this->form->fields as $field) {
                         $this->write('<postfield name="' . $field['name'] . '" value="');
                         if ($field['type'] == 'hidden') {
                             $this->write($field['value']);
                         } else {
                             $this->write('$' . $field['name']);
                         }
                         $this->writeln('" />');
                     }
                     $this->writeln('</go>');
                     if (!$this->wml13 && $this->softkey) {
                         $this->writeln('</do>');
                     } else {
                         $this->writeln('</anchor>');
                     }
                 }
             }
         }
     } else {
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             $this->write('<input type="' . $this->type . '" name="' . $this->name . '" value="' . $this->value . '"');
             $style = '';
             if ($this->format) {
                 if ($this->cssformat) {
                     $style .= '-wap-input-format: &apos;' . $this->format . '&apos;; ';
                 } else {
                     if ($this->attributeformat) {
                         $this->write(' format="' . $this->format . '"');
                     }
                 }
             }
             if (!$this->emptyok) {
                 if ($this->cssformat) {
                     $style .= '-wap-input-required; ';
                 } else {
                     if ($this->attributeformat) {
                         $this->write(' emptyok="emptyok"');
                     }
                 }
             }
             if (strlen($style)) {
                 $this->write(' style="' . trim($style) . '"');
             }
             if ($this->title) {
                 $this->write(' title="' . $this->title . '"');
             }
             if ($this->accesskey) {
                 $this->write(' accesskey="' . $this->accesskey . '"');
             }
             if ($this->checked) {
                 $this->write(' checked="' . $this->checked . '"');
             }
             if ($this->disabled) {
                 $this->write(' disabled="' . $this->disabled . '"');
             }
             if ($this->maxlength) {
                 $this->write(' maxlength="' . $this->maxlength . '"');
             }
             if ($this->size) {
                 $this->write(' size="' . $this->size . '"');
             }
             if ($this->xhtmlClass) {
                 $this->write(' class="' . $this->xhtmlClass . '"');
             }
             if ($this->xhtmlId) {
                 $this->write(' id="' . $this->xhtmlId . '"');
             }
             $this->write('/>');
         } else {
             if (strpos($this->preferred_markup, 'chtml') !== false) {
                 $this->write('<input type="' . $this->type . '" name="' . $this->name . '" value="' . $this->value . '"');
                 $style = '';
                 if ($this->format && $this->type == 'text' && ($this->format == 'N*' || preg_match('/^N{1,}$/', $this->format))) {
                     $this->write(' istyle="4"');
                 }
                 if (strlen($style)) {
                     $this->write(' style="' . trim($style) . '"');
                 }
                 if ($this->title) {
                     $this->write(' title="' . $this->title . '"');
                 }
                 if ($this->accesskey) {
                     $this->write(' accesskey="' . $this->accesskey . '"');
                 }
                 if ($this->checked) {
                     $this->write(' checked="' . $this->checked . '"');
                 }
                 if ($this->disabled) {
                     $this->write(' disabled="' . $this->disabled . '"');
                 }
                 if ($this->maxlength) {
                     $this->write(' maxlength="' . $this->maxlength . '"');
                 }
                 if ($this->size) {
                     $this->write(' size="' . $this->size . '"');
                 }
                 $this->write('>');
             } else {
                 if (strpos($this->preferred_markup, 'wml') !== false) {
                     $this->form->addField($this);
                     if ($this->type != 'hidden') {
                         $this->write('<input type="' . $this->type . '" name="' . $this->name . '" value="' . $this->value . '"');
                         if ($this->title) {
                             $this->write(' title="' . $this->title . '"');
                         }
                         if ($this->format) {
                             $this->write(' format="' . $this->format . '"');
                         }
                         if (!$this->emptyok) {
                             $this->write(' emptyok="false"');
                         }
                         if ($this->accesskey) {
                             $this->write(' accesskey="' . $this->accesskey . '"');
                         }
                         if ($this->maxlength) {
                             $this->write(' maxlength="' . $this->maxlength . '"');
                         }
                         if ($this->size) {
                             $this->write(' size="' . $this->size . '"');
                         }
                         $this->write('/>');
                     }
                 }
             }
         }
     }
 }
 function doStartTag()
 {
     parent::doStartTag();
     if (strpos($this->preferred_markup, 'chtml') !== false) {
         $this->region = $this->_wall->getCapa('imode_region');
         if ($this->test && $this->region == 'ja' && $this->ja_imode_icon) {
             $this->img->render_as = 'icon';
             $this->img->imode_ja_icon = $this->ja_imode_icon;
         } else {
             if ($this->test && $this->region == 'eu' && $this->eu_imode_icon) {
                 $this->img->render_as = 'icon';
                 $this->img->imode_eu_icon = $this->eu_imode_icon;
             }
         }
     } else {
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false || strpos($this->preferred_markup, 'wml') !== false) {
             if ($this->test && $this->opwv_icon) {
                 $this->img->render_as = 'icon';
                 $this->img->opwv_icon_localsrc = $this->opwv_icon;
             }
         }
     }
 }
예제 #25
0
 function doStartTag()
 {
     parent::doStartTag();
     $this->href = TagUtil::normalizeHref($this->href, $this->preferred_markup);
     if ($this->menu) {
         // INSIDE A MENU
         $counter = ++$this->menu->counter;
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             $this->fancy_ok = $this->menu->colorize && $this->_wall->menu_css_tag && $this->menu->table_and_css_background;
             if ($this->fancy_ok) {
                 $this->write('<tr>');
                 $this->write('<td class="bgcolor' . (($counter + 1) % 2 + 1) . '">');
                 if ($this->menu->autonumber) {
                     $this->write(' ' . $counter);
                     if ($this->opvw_icon) {
                         $this->write(' <img localsrc="' . $this->opvw_icon . '" src="" alt=""/>');
                     }
                     $this->write(' <a accesskey="' . $counter . '"');
                 } else {
                     if ($this->accesskey) {
                         $this->write(' ' . $this->accesskey . ' <a accesskey="' . $this->accesskey . '"');
                     } else {
                         $this->write('<a');
                     }
                 }
                 $this->write(' href="' . $this->href . '"');
                 if ($this->title) {
                     $this->write(' title="' . $this->title . '"');
                 }
                 if ($this->xhtmlClass) {
                     $this->write(' class="' . $this->xhtmlClass . '"');
                 }
                 if ($this->xhtmlId) {
                     $this->write(' id="' . $this->xhtmlId . '"');
                 }
                 $this->write('>');
             } else {
                 $this->write('<li>');
                 if ($this->opvw_icon && $this->_wall->use_xhtml_extensions) {
                     $this->write('<img localsrc="' . $this->opvw_icon . '" src="" alt=""/> ');
                 }
                 if ($this->menu->autonumber) {
                     $this->write('<a accesskey="' . $counter . '"');
                 } else {
                     if ($this->accesskey) {
                         $this->write('<a accesskey="' . $this->accesskey . '"');
                     } else {
                         $this->write('<a');
                     }
                 }
                 $this->write(' href="' . $this->href . '"');
                 if ($this->title) {
                     $this->write(' title="' . $this->title . '"');
                 }
                 if ($this->xhtmlClass) {
                     $this->write(' class="' . $this->xhtmlClass . '"');
                 }
                 if ($this->xhtmlId) {
                     $this->write(' id="' . $this->xhtmlId . '"');
                 }
                 $this->write('>');
             }
         } else {
             if (strpos($this->preferred_markup, 'chtml') !== false) {
                 if ($this->menu->autonumber) {
                     $emoji = TagUtil::getEmoji($counter, $this->region);
                     $this->write($emoji . '&nbsp;<a accesskey="' . $counter . '"');
                 } else {
                     if ($this->accesskey) {
                         $emoji = TagUtil::getEmoji($this->accesskey, $this->region);
                         $this->write($emoji . '&nbsp;<a accesskey="' . $this->accesskey . '"');
                     } else {
                         $this->write('<a');
                     }
                 }
                 $this->write(' href="' . $this->href . '"');
                 $this->write('>');
             } else {
                 if (strpos($this->preferred_markup, 'wml') !== false) {
                     if ($this->wml_menu_with_select) {
                         $this->write('<option onpick="' . $this->href . '"');
                         if ($this->title) {
                             $this->write(' title="' . $this->title . '"');
                         }
                         $this->write('>');
                         if ($this->opvw_icon && $this->_wall->use_wml_extensions) {
                             $this->write('<img localsrc="' . $this->opvw_icon . '" src="" alt=""/>');
                         }
                     } else {
                         //accesskey for WML is tricky: extra check accesskey support by WML browser
                         //SECOND THOUGHT: I get problems with GATEWAY. removing accesskey
                         //                for WML for the time being
                         $this->write('<a href="' . $this->href . '"');
                         if ($this->title) {
                             $this->write(' title="' . $this->title . '"');
                         }
                         $this->write('>');
                     }
                 }
             }
         }
     } else {
         // NOT INSIDE A MENU
         if (strpos($this->preferred_markup, 'xhtmlmp') !== false) {
             if ($this->accesskey) {
                 $this->write('<a accesskey="' . $this->accesskey . '"');
             } else {
                 $this->write('<a');
             }
             $this->write(' href="' . $this->href . '"');
             if ($this->title) {
                 $this->write(' title="' . $this->title . '"');
             }
             $this->write('>');
         } else {
             if (strpos($this->preferred_markup, 'chtml') !== false) {
                 if ($this->accesskey) {
                     $this->write('<a accesskey="' . $this->accesskey . '"');
                 } else {
                     $this->write('<a');
                 }
                 $this->write(' href="' . $this->href . '"');
                 $this->write('>');
             } else {
                 if (strpos($this->preferred_markup, 'wml') !== false) {
                     $this->write('<a');
                     $this->write(' href="' . $this->href . '"');
                     if ($this->title) {
                         $this->write(' title="' . $this->title . '"');
                     }
                     $this->write('>');
                 }
             }
         }
     }
 }