- usort($alist,'alistcmp');
- $prevbackend = -1;
- $headerprinted = false;
-
- echo html_tag( 'p', '<a href="#AddAddress">' . _("Add address") . '</a>', 'center' ) . "\n";
-
- /* 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 */
- if($prevbackend != $row['backend']) {
- if($prevbackend < 0) {
- echo html_tag( 'table',
- html_tag( 'tr',
- html_tag( 'td',
- addSubmit(_("Edit selected"), 'editaddr').
- addSubmit(_("Delete selected"), 'deladdr'),
- 'center', '', "colspan=\"$abook_fields\"" )
- ) .
- html_tag( 'tr',
- html_tag( 'td', ' <br />', 'center', '', "colspan=\"$abook_fields\"" )
- ),
- 'center' );
- echo "\n<!-- start of address book table -->\n" .
- html_tag( 'table', '', 'center', '', 'border="0" cellpadding="1" cellspacing="0" width="90%"' ) .
- html_tag( 'tr', "\n" .
- html_tag( 'th', ' ', 'left', '', 'width="1%"' ) . "\n" .
- html_tag( 'th', _("Nickname") .
- show_abook_sort_button($abook_sort_order, _("sort by nickname"), 0, 1),
- 'left', '', 'width="1%"' ) . "\n" .
- html_tag( 'th', _("Name") .
- show_abook_sort_button($abook_sort_order, _("sort by name"), 2, 3),
- 'left', '', 'width="1%"' ) . "\n" .
- html_tag( 'th', _("E-mail") .
- show_abook_sort_button($abook_sort_order, _("sort by email"), 4, 5),
- 'left', '', 'width="1%"' ) . "\n" .
- html_tag( 'th', _("Info") .
- show_abook_sort_button($abook_sort_order, _("sort by info"), 6, 7),
- 'left', '', 'width="1%"' ) .
- ($abook->add_extra_field ? html_tag( 'th', ' ','left', '', 'width="1%"'): '') .
- "\n",
- '', $color[9] ) . "\n";
- }
-
- // Separate different backends with <hr />
- if($prevbackend > 0) {
- echo html_tag( 'tr',
- html_tag( 'td', "<hr />", 'center', '' ,"colspan=\"$abook_fields\"" )
- );
- }
-
- // Print backend name
- echo html_tag( 'tr',
- html_tag( 'td', "\n" . '<strong>' . $row['source'] . '</strong>' . "\n", 'center', $color[0] ,"colspan=\"$abook_fields\"" )
- );
-
- $line = 0;
- $headerprinted = true;
- } /* End of header */
-
- $prevbackend = $row['backend'];
-
- /* Check if this user is selected */
- $selected = in_array($row['backend'] . ':' . $row['nickname'], $defselected);
-
- /* Print one row, with alternating color */
- if ($line % 2) {
- $tr_bgcolor = $color[12];
- } else {
- $tr_bgcolor = $color[4];
- }
- echo html_tag( 'tr', '', '', $tr_bgcolor);
- if ($abook->backends[$row['backend']]->writeable) {
- echo html_tag( 'td',
- '<small>' .
- addCheckBox('sel[]', $selected, $row['backend'].':'.$row['nickname']).
- '</small>' ,
- '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') {
- /*
- * 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( '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'])).
- ' </td>'."\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 "</tr>\n";
- $line++;
- }
- echo "</table>" .
- "\n<!-- end of address book table -->\n";
-
- /* End of list. Add edit/delete select buttons */
- if ($headerprinted) {
- echo html_tag( 'table',
- html_tag( 'tr',
- html_tag( 'td',
- addSubmit(_("Edit selected"), 'editaddr') .
- addSubmit(_("Delete selected"), 'deladdr'),
- 'center', '', "colspan=\"$abook_fields\"" )
- ),
- 'center' );
- }
- echo "</form>\n";
- }
-} /* end of addresslist */