X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Faddressbook.php;h=419b73b920d1fe4ffb6616f4e8b83fe2c192930f;hb=7b0ea8602d2a437280347c0f0a46a27540e2ffcc;hp=eda30cc9ebd03f9a8736d1d8881b6e85814e0ee5;hpb=6af7eb01edcea6dabaf31910279c9b5c5c69241a;p=squirrelmail.git diff --git a/src/addressbook.php b/src/addressbook.php index eda30cc9..419b73b9 100644 --- a/src/addressbook.php +++ b/src/addressbook.php @@ -247,6 +247,11 @@ if ($showaddrlist) { /* List addresses */ if (count($alist) > 0) { echo addForm($form_url, 'post'); + if ($abook->add_extra_field) { + $abook_fields = 6; + } else { + $abook_fields = 5; + } while(list($undef,$row) = each($alist)) { /* New table header for each backend */ @@ -257,10 +262,10 @@ if ($showaddrlist) { html_tag( 'td', addSubmit(_("Edit selected"), 'editaddr'). addSubmit(_("Delete selected"), 'deladdr'), - 'center', '', 'colspan="5"' ) + 'center', '', "colspan=\"$abook_fields\"" ) ) . html_tag( 'tr', - html_tag( 'td', ' 
', 'center', '', 'colspan="5"' ) + html_tag( 'td', ' 
', 'center', '', "colspan=\"$abook_fields\"" ) ), 'center' ); echo "\n\n" . @@ -278,20 +283,22 @@ if ($showaddrlist) { 'left', '', 'width="1%"' ) . "\n" . html_tag( 'th', _("Info") . show_abook_sort_button($abook_sort_order, _("sort by info"), 6, 7), - 'left', '', 'width="1%"' ) . "\n", + 'left', '', 'width="1%"' ) . + ($abook->add_extra_field ? html_tag( 'th', ' ','left', '', 'width="1%"'): '') . + "\n", '', $color[9] ) . "\n"; } // Separate different backends with
if($prevbackend > 0) { echo html_tag( 'tr', - html_tag( 'td', "
", 'center', '' ,'colspan="5"' ) + html_tag( 'td', "
", 'center', '' ,"colspan=\"$abook_fields\"" ) ); } // Print backend name echo html_tag( 'tr', - html_tag( 'td', "\n" . '' . $row['source'] . '' . "\n", 'center', $color[0] ,'colspan="5"' ) + html_tag( 'td', "\n" . '' . $row['source'] . '' . "\n", 'center', $color[0] ,"colspan=\"$abook_fields\"" ) ); $line = 0; @@ -309,45 +316,54 @@ if ($showaddrlist) { } else { $tr_bgcolor = $color[4]; } + echo html_tag( 'tr', '', '', $tr_bgcolor); + if ($abook->backends[$row['backend']]->writeable) { + echo html_tag( 'td', + '' . + addCheckBox('sel[]', $selected, $row['backend'].':'.$row['nickname']). + '' , + 'center', '', 'valign="top" width="1%"' ); + } else { + echo html_tag( 'td', + ' ' , + 'center', '', 'valign="top" width="1%"' ); + } + echo html_tag( 'td', + ' ' . htmlspecialchars($row['nickname']) . ' ', + 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ); + + // different full name display formating for Japanese translation if ($squirrelmail_language == 'ja_JP') { - echo html_tag( 'tr', '', '', $tr_bgcolor); - if ($abook->backends[$row['backend']]->writeable) { - echo html_tag( 'td', - '' . - addCheckBox('sel[]', $selected, $row['backend'].':'.$row['nickname']). - '' , - 'center', '', 'valign="top" width="1%"' ); - } else { - echo html_tag( 'td', - ' ' , - 'center', '', 'valign="top" width="1%"' ); - } - echo html_tag( 'td', ' ' . $row['nickname'] . ' ', 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ) . - html_tag( 'td', ' ' . $row['lastname'] . ' ' . $row['firstname'] . ' ', 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ) . - html_tag( 'td', '', 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ) . ' '; + /* + * translation uses euc-jp character set internally. + * htmlspecialchars() should not break any characters. + */ + echo html_tag( 'td', + ' ' . htmlspecialchars($row['lastname']) . ' ' . htmlspecialchars($row['firstname']) . ' ', + 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ); } else { - echo html_tag( 'tr', '', '', $tr_bgcolor); - if ($abook->backends[$row['backend']]->writeable) { - echo html_tag( 'td', - '' . - addCheckBox('sel[]', $selected, $row['backend'] . ':' . $row['nickname']). - '' , - 'center', '', 'valign="top" width="1%"' ); - } else { - echo html_tag( 'td', - ' ' , - 'center', '', 'valign="top" width="1%"' ); - } - echo html_tag( 'td', ' ' . $row['nickname'] . ' ', 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ) . - html_tag( 'td', ' ' . $row['name'] . ' ', 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ) . - html_tag( 'td', '', 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ) . ' '; + echo html_tag( 'td', + ' ' . htmlspecialchars($row['name']) . ' ', + 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ); } + + // email address column + echo html_tag( 'td', '', 'left', '', 'valign="top" width="1%" style="white-space: nowrap;"' ) . ' '; $email = $abook->full_address($row); echo makeComposeLink('src/compose.php?send_to='.rawurlencode($email), htmlspecialchars($row['email'])). - ' '."\n". - html_tag( 'td', ' ' . htmlspecialchars($row['label']) . ' ', 'left', '', 'valign="top" width="1%"' ) . - "\n"; + ' '."\n"; + + // info column + echo html_tag( 'td', ' ' . htmlspecialchars($row['label']) . ' ', 'left', '', 'valign="top" width="1%"' ); + + // add extra column if third party backend needs it + if ($abook->add_extra_field) { + echo html_tag( 'td', + ' ' . (isset($row['extra']) ? $row['extra'] : '') . ' ', + 'left', '', 'valign="top" width="1%"' ); + } + echo "\n"; $line++; } echo "" . @@ -360,7 +376,7 @@ if ($showaddrlist) { html_tag( 'td', addSubmit(_("Edit selected"), 'editaddr') . addSubmit(_("Delete selected"), 'deladdr'), - 'center', '', 'colspan="5"' ) + 'center', '', "colspan=\"$abook_fields\"" ) ), 'center' ); }