X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=program%2Fsteps%2Faddressbook%2Fshow.inc;h=c55025c9b2f5b5592dd15f1ad9c1c9b80b77ab3a;hb=8bb10dbda276f4c5f1050a05786ba5a5a6cc787d;hp=a779b6258eddb124aea2b45e3e950eca8770d703;hpb=0af63e79917234f76cfa7ec74e9d97b24fbf9b55;p=roundcube.git diff --git a/program/steps/addressbook/show.inc b/program/steps/addressbook/show.inc index a779b62..c55025c 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, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -15,40 +15,30 @@ | Author: Thomas Bruederli | +-----------------------------------------------------------------------+ - $Id: show.inc 88 2005-12-03 16:54:12Z roundcube $ + $Id: show.inc 543 2007-04-28 18:07:12Z thomasb $ */ -if ($_GET['_cid'] || $_POST['_cid']) - { - $cid = $_POST['_cid'] ? $_POST['_cid'] : $_GET['_cid']; - $DB->query("SELECT * FROM ".get_table_name('contacts')." - WHERE contact_id=? - AND user_id=? - AND del<>1", - $cid, - $_SESSION['user_id']); - - $CONTACT_RECORD = $DB->fetch_assoc(); - - if (is_array($CONTACT_RECORD)) - $OUTPUT->add_script(sprintf("%s.set_env('cid', '%s');", $JS_OBJECT_NAME, $CONTACT_RECORD['contact_id'])); - } - +// read contact record +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 $CONTACT_RECORD, $JS_OBJECT_NAME; + global $CONTACTS, $OUTPUT; - if (!$CONTACT_RECORD) - return show_message('contactnotfound'); + // check if we have a valid result + if (!(($result = $CONTACTS->get_result()) && ($record = $result->first()))) + { + $OUTPUT->show_message('contactnotfound'); + return false; + } // a specific part is requested if ($attrib['part']) - return rep_specialchars_output($CONTACT_RECORD[$attrib['part']]); - + return Q($record[$attrib['part']]); // return the complete address record as table $out = "\n\n"; @@ -56,25 +46,28 @@ function rcmail_contact_details($attrib) $a_show_cols = array('name', 'firstname', 'surname', 'email'); foreach ($a_show_cols as $col) { - if ($col=='email' && $CONTACT_RECORD[$col]) - $value = sprintf('%s', - $JS_OBJECT_NAME, - $CONTACT_RECORD['contact_id'], - rcube_label('composeto'), - $CONTACT_RECORD[$col]); + if ($col=='email' && !empty($record[$col])) + $value = sprintf( + '%s', + JS_OBJECT_NAME, + JQ($record[$col]), + rcube_label('composeto'), + Q($record[$col])); else - $value = rep_specialchars_output($CONTACT_RECORD[$col]); + $value = Q($record[$col]); - $title = rcube_label($col); - $out .= sprintf("\n", $title, $value); + $out .= sprintf("\n", + Q(rcube_label($col)), + $value); } - - + $out .= "\n
%s%s
%s%s
"; return $out; } -parse_template('showcontact'); +//$OUTPUT->framed = $_framed; +$OUTPUT->add_handler('contactdetails', 'rcmail_contact_details'); +$OUTPUT->send('showcontact'); ?> \ No newline at end of file