diff options
author | Evan Prodromou <git@evanprodromou.name> | 2009-01-13 11:44:09 -0500 |
---|---|---|
committer | Evan Prodromou <git@evanprodromou.name> | 2009-01-13 11:44:09 -0500 |
commit | bbb32dd2f6567bbbfc16db542f631dcc688020fe (patch) | |
tree | 18c67f9850a994d78c58943a4a21bdfc2a01b930 /lib/util.php | |
parent | 81745625aa820b8a826412a3cc6ec11dff027c6d (diff) |
Extract HTML outputting code to a class HTMLOutputter
Moved the common_* methods for low-level HTML output to its own
class, HTMLOutputter in lib/htmloutputter.php.
Diffstat (limited to 'lib/util.php')
-rw-r--r-- | lib/util.php | 151 |
1 files changed, 1 insertions, 150 deletions
diff --git a/lib/util.php b/lib/util.php index dc26a705b..914257608 100644 --- a/lib/util.php +++ b/lib/util.php @@ -17,7 +17,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* XXX: break up into separate modules (HTTP, HTML, user, files) */ +/* XXX: break up into separate modules (HTTP, user, files) */ // Show a server error @@ -108,8 +108,6 @@ function common_init_language() } } -define('PAGE_TYPE_PREFS', 'text/html,application/xhtml+xml,application/xml;q=0.3,text/xml;q=0.2'); - function common_show_header($pagetitle, $callable=null, $data=null, $headercall=null) { @@ -194,38 +192,6 @@ function common_show_header($pagetitle, $callable=null, $data=null, $headercall= common_element_start('div', array('id' => 'content')); } -function common_start_html($type=null, $indent=true) -{ - - if (!$type) { - $httpaccept = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : null; - - // XXX: allow content negotiation for RDF, RSS, or XRDS - - $type = common_negotiate_type(common_accept_to_prefs($httpaccept), - common_accept_to_prefs(PAGE_TYPE_PREFS)); - - if (!$type) { - common_user_error(_('This page is not available in a media type you accept'), 406); - exit(0); - } - } - - header('Content-Type: '.$type); - - common_start_xml('html', - '-//W3C//DTD XHTML 1.0 Strict//EN', - 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd', $indent); - - // FIXME: correct language for interface - - $language = common_language(); - - common_element_start('html', array('xmlns' => 'http://www.w3.org/1999/xhtml', - 'xml:lang' => $language, - 'lang' => $language)); -} - function common_show_footer() { global $xw, $config; @@ -321,121 +287,6 @@ function common_menu_item($url, $text, $title=null, $is_selected=false) common_element_end('li'); } -function common_input($id, $label, $value=null,$instructions=null) -{ - common_element_start('p'); - common_element('label', array('for' => $id), $label); - $attrs = array('name' => $id, - 'type' => 'text', - 'class' => 'input_text', - 'id' => $id); - if ($value) { - $attrs['value'] = htmlspecialchars($value); - } - common_element('input', $attrs); - if ($instructions) { - common_element('span', 'input_instructions', $instructions); - } - common_element_end('p'); -} - -function common_checkbox($id, $label, $checked=false, $instructions=null, $value='true', $disabled=false) -{ - common_element_start('p'); - $attrs = array('name' => $id, - 'type' => 'checkbox', - 'class' => 'checkbox', - 'id' => $id); - if ($value) { - $attrs['value'] = htmlspecialchars($value); - } - if ($checked) { - $attrs['checked'] = 'checked'; - } - if ($disabled) { - $attrs['disabled'] = 'true'; - } - common_element('input', $attrs); - common_text(' '); - common_element('label', array('class' => 'checkbox_label', 'for' => $id), $label); - common_text(' '); - if ($instructions) { - common_element('span', 'input_instructions', $instructions); - } - common_element_end('p'); -} - -function common_dropdown($id, $label, $content, $instructions=null, $blank_select=false, $selected=null) -{ - common_element_start('p'); - common_element('label', array('for' => $id), $label); - common_element_start('select', array('id' => $id, 'name' => $id)); - if ($blank_select) { - common_element('option', array('value' => '')); - } - foreach ($content as $value => $option) { - if ($value == $selected) { - common_element('option', array('value' => $value, 'selected' => $value), $option); - } else { - common_element('option', array('value' => $value), $option); - } - } - common_element_end('select'); - if ($instructions) { - common_element('span', 'input_instructions', $instructions); - } - common_element_end('p'); -} -function common_hidden($id, $value) -{ - common_element('input', array('name' => $id, - 'type' => 'hidden', - 'id' => $id, - 'value' => $value)); -} - -function common_password($id, $label, $instructions=null) -{ - common_element_start('p'); - common_element('label', array('for' => $id), $label); - $attrs = array('name' => $id, - 'type' => 'password', - 'class' => 'password', - 'id' => $id); - common_element('input', $attrs); - if ($instructions) { - common_element('span', 'input_instructions', $instructions); - } - common_element_end('p'); -} - -function common_submit($id, $label, $cls='submit') -{ - global $xw; - common_element_start('p'); - common_element('input', array('type' => 'submit', - 'id' => $id, - 'name' => $id, - 'class' => $cls, - 'value' => $label)); - common_element_end('p'); -} - -function common_textarea($id, $label, $content=null, $instructions=null) -{ - common_element_start('p'); - common_element('label', array('for' => $id), $label); - common_element('textarea', array('rows' => 3, - 'cols' => 40, - 'name' => $id, - 'id' => $id), - ($content) ? $content : ''); - if ($instructions) { - common_element('span', 'input_instructions', $instructions); - } - common_element_end('p'); -} - function common_timezone() { if (common_logged_in()) { |