diff options
author | thomascube <thomas@roundcube.net> | 2008-07-29 12:32:19 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2008-07-29 12:32:19 +0000 |
commit | f92aba3918575f30f577542753a2912df5729374 (patch) | |
tree | d14e1c6b27bfa7219a906be7a8fd9540daa7aae0 | |
parent | 8c72e33d3764cf2695256ab9c2a490d4c4f53696 (diff) |
Add microformats to address book + fix html output + codestyle
-rw-r--r-- | program/include/html.php | 8 | ||||
-rw-r--r-- | program/steps/addressbook/edit.inc | 2 | ||||
-rw-r--r-- | program/steps/addressbook/show.inc | 54 |
3 files changed, 33 insertions, 31 deletions
diff --git a/program/include/html.php b/program/include/html.php index 68bc66b36..4a79def91 100644 --- a/program/include/html.php +++ b/program/include/html.php @@ -33,7 +33,7 @@ class html protected $content; public static $common_attrib = array('id','class','style','title','align'); - public static $containers = array('div','span','p','h1','h2','h3','form','textarea'); + public static $containers = array('div','span','p','h1','h2','h3','form','textarea','table','tr','th','td'); public static $lc_tags = true; /** @@ -607,10 +607,10 @@ class html_table extends html */ public function show($attrib = null) { - if (is_array($attrib)) - $this->attrib = array_merge($this->attrib, $attrib); + if (is_array($attrib)) + $this->attrib = array_merge($this->attrib, $attrib); - $thead = $tbody = ""; + $thead = $tbody = ""; // include <thead> if (!empty($this->header)) { diff --git a/program/steps/addressbook/edit.inc b/program/steps/addressbook/edit.inc index 71983fce6..61c660d94 100644 --- a/program/steps/addressbook/edit.inc +++ b/program/steps/addressbook/edit.inc @@ -90,7 +90,7 @@ function get_form_tags($attrib) if (!strlen($EDIT_FORM)) { $hiddenfields = new html_hiddenfield(array('name' => '_task', 'value' => $RCMAIL->task)); - $hiddenfields->add(array('name' => '_action', 'value' => 'save', 'source' => get_input_value('_source', RCUBE_INPUT_GPC))); + $hiddenfields->add(array('name' => '_action', 'value' => 'save')); $hiddenfields->add(array('name' => '_source', 'value' => get_input_value('_source', RCUBE_INPUT_GPC))); $hiddenfields->add(array('name' => '_framed', 'value' => (empty($_REQUEST['_framed']) ? 0 : 1))); diff --git a/program/steps/addressbook/show.inc b/program/steps/addressbook/show.inc index 75f1e7452..96ee5bb55 100644 --- a/program/steps/addressbook/show.inc +++ b/program/steps/addressbook/show.inc @@ -5,7 +5,7 @@ | program/steps/addressbook/show.inc | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2008, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -21,50 +21,52 @@ // read contact record -if (($cid = get_input_value('_cid', RCUBE_INPUT_GPC)) && ($record = $CONTACTS->get_record($cid, true))) +if (($cid = get_input_value('_cid', RCUBE_INPUT_GPC)) && ($record = $CONTACTS->get_record($cid, true))) { $OUTPUT->set_env('cid', $record['ID']); - +} function rcmail_contact_details($attrib) - { +{ global $CONTACTS, $OUTPUT; // check if we have a valid result - if (!(($result = $CONTACTS->get_result()) && ($record = $result->first()))) - { + if (!(($result = $CONTACTS->get_result()) && ($record = $result->first()))) { $OUTPUT->show_message('contactnotfound'); return false; } // a specific part is requested - if ($attrib['part']) + if ($attrib['part']) { return Q($record[$attrib['part']]); + } // return the complete address record as table - $out = "<table>\n\n"; + $table = new html_table(array('cols' => 2)); $a_show_cols = array('name', 'firstname', 'surname', 'email'); - foreach ($a_show_cols as $col) - { - if ($col=='email' && !empty($record[$col])) - $value = sprintf( - '<a href="#compose" onclick="%s.command(\'compose\', \'%s\')" title="%s">%s</a>', - JS_OBJECT_NAME, - JQ($record[$col]), - rcube_label('composeto'), - Q($record[$col])); + $microformats = array('name' => 'fn', 'email' => 'email'); + + foreach ($a_show_cols as $col) { + if ($col == 'email' && !empty($record[$col])) { + $value = html::a(array( + 'href' => 'mailto:' . $record[$col], + 'onclick' => sprintf("return %s.command('compose','%s',this)", JS_OBJECT_NAME, JQ($record[$col])), + 'title' => rcube_label('composeto'), + 'class' => $microformats[$col], + ), Q($record[$col])); + } + else if (!empty($record[$col])) { + $value = html::span($microformats[$col], Q($record[$col])); + } else - $value = Q($record[$col]); + $value = ''; - $out .= sprintf("<tr><td class=\"title\">%s</td><td>%s</td></tr>\n", - Q(rcube_label($col)), - $value); - } - - $out .= "\n</table>"; - - return $out; + $table->add('title', Q(rcube_label($col))); + $table->add(null, $value); } + + return $table->show($attrib + array('class' => 'vcard')); +} //$OUTPUT->framed = $_framed; |