New template object to control HTML doctype
| | |
| | | protected $allowed = array(); |
| | | protected $content; |
| | | |
| | | public static $doctype = 'xhtml'; |
| | | public static $lc_tags = true; |
| | | public static $common_attrib = array('id','class','style','title','align'); |
| | | public static $containers = array('iframe','div','span','p','h1','h2','h3','form','textarea','table','thead','tbody','tr','th','td','style','script'); |
| | |
| | | else { |
| | | return sprintf("<%s%s />%s", $tagname, self::attrib_string($attrib, $allowed_attrib), $suffix); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | */ |
| | | public static function doctype($type) |
| | | { |
| | | $doctypes = array( |
| | | 'html5' => '<!DOCTYPE html>', |
| | | 'xhtml' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', |
| | | 'xhtml-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', |
| | | 'xhtml-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', |
| | | ); |
| | | |
| | | if ($doctypes[$type]) { |
| | | self::$doctype = preg_replace('/-\w+$/', '', $type); |
| | | return $doctypes[$type]; |
| | | } |
| | | |
| | | return ''; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public function __construct($attrib = array()) |
| | | { |
| | | $this->attrib = array_merge($attrib, array('summary' => '', 'border' => 0)); |
| | | $default_attrib = self::$doctype == 'xhtml' ? array('summary' => '', 'border' => 0) : array(); |
| | | $this->attrib = array_merge($attrib, $default_attrib); |
| | | } |
| | | |
| | | /** |
| | |
| | | if ($realname != 'error' && ($this->config['debug_level'] & 8)) { |
| | | $this->add_footer('<div id="console" style="position:absolute;top:5px;left:5px;width:405px;padding:2px;background:white;z-index:9000;display:none"> |
| | | <a href="#toggle" onclick="con=$(\'#dbgconsole\');con[con.is(\':visible\')?\'hide\':\'show\']();return false">console</a> |
| | | <textarea name="console" id="dbgconsole" rows="20" cols="40" wrap="off" style="display:none;width:400px;border:none;font-size:10px" spellcheck="false"></textarea></div>' |
| | | <textarea name="console" id="dbgconsole" rows="20" cols="40" style="display:none;width:400px;border:none;font-size:10px" spellcheck="false"></textarea></div>' |
| | | ); |
| | | $this->add_script( |
| | | "if (!window.console || !window.console.log) {\n". |
| | |
| | | else if (function_exists($handler)) { |
| | | $content = call_user_func($handler, $attrib); |
| | | } |
| | | else if ($object == 'doctype') { |
| | | $content = html::doctype($attrib['value']); |
| | | } |
| | | else if ($object == 'logo') { |
| | | $attrib += array('alt' => $this->xml_command(array('', 'object', 'name="productname"'))); |
| | | if ($this->config['skin_logo']) |