a71b394e |
1 | <?php |
2 | /** |
3 | * addressbook_list.tpl |
4 | * |
5 | * Template for the basic address book list |
6 | * |
7 | * The following variables are available in this template: |
f4f64c58 |
8 | * $compose_new_win - whether or not the user prefs are set to compose |
9 | * messages in a popup window |
10 | * $compose_width - width of popup compose window if needed |
11 | * $compose_height - height of popup compose window if needed |
a71b394e |
12 | * $current_backend - integer containing backend currently displayed. |
13 | * $abook_select - string containing HTML to display the address book |
14 | * selection drop down |
a140c3b1 |
15 | * $abook_has_extra_field - boolean TRUE if the address book contains an |
16 | * additional field. FALSE otherwise. |
a71b394e |
17 | * $backends - array containing all available backends for selection. |
18 | * This will be empty if only 1 backend is available! |
c91b2e3b |
19 | * $addresses - array of backends in the address book. Each element |
a71b394e |
20 | * is an array containing the following fields: |
c91b2e3b |
21 | * ['BackendID'] - integer unique identifier for each source of |
22 | * addresses in the book. this should also be |
23 | * the same as the array key for this value |
24 | * ['BackendSource'] - description of each source of addresses |
25 | * ['BackendWritable'] - boolean TRUE if the address book can be |
26 | * modified. FALSE otherwise. |
27 | * ['Addresses'] - array containing address from this source. |
28 | * Each array element contains the following: |
29 | * ['FirstName'] - The entry's first name |
30 | * ['LastName'] - The entry's last name (surname) |
31 | * ['FullName'] - The entry's full name (first + last) |
32 | * ['NickName'] - The entry's nickname |
33 | * ['Email'] - duh |
34 | * ['FullAddress'] - Email with full name or nick name |
35 | * optionally prepended. |
36 | * ['Info'] - Additional info about this contact |
37 | * ['Extra'] - Additional field, if provided. NULL if |
38 | * this field is not provided by the book. |
39 | * ['JSEmail'] - email address scrubbed for use with |
40 | * javascript functions. |
a71b394e |
41 | * |
42 | * @copyright © 1999-2006 The SquirrelMail Project Team |
43 | * @license http://opensource.org/licenses/gpl-license.php GNU Public License |
44 | * @version $Id$ |
45 | * @package squirrelmail |
46 | * @subpackage templates |
47 | */ |
48 | |
49 | /** add required includes **/ |
caa596b2 |
50 | include_once(SM_PATH . 'functions/template/abook_util.php'); |
a71b394e |
51 | |
52 | /** extract template variables **/ |
53 | extract($t); |
54 | |
a71b394e |
55 | /** Begin template **/ |
56 | $source = $addresses[$current_backend]; |
a71b394e |
57 | $colspan = $abook_has_extra_field ? 6 : 5; |
58 | ?> |
59 | <div id="addressList"> |
60 | <table cellspacing="0"> |
61 | <tr> |
f4f64c58 |
62 | <td colspan="<?php echo $colspan; ?>" class="header1"> |
a71b394e |
63 | <?php echo $source['BackendSource']; ?> |
64 | </td> |
65 | </tr> |
66 | <tr> |
67 | <td colspan="3" class="abookButtons"> |
f4f64c58 |
68 | <input type="submit" value="<?php echo _("Edit Selected"); ?>" name="editaddr" id="editaddr" /> |
69 | <input type="submit" value="<?php echo _("Delete Selected"); ?>" name="deladdr" id="deladdr" /> |
70 | <input type="submit" value="<?php echo _("Compose to Selected") . ($javascript_on && $compose_new_win ? '" onclick="var send_to = \'\'; var f = document.forms.length; var i = 0; var grab_next_hidden = \'\'; while (i < f) { var e = document.forms[i].elements.length; var j = 0; while (j < e) { if (document.forms[i].elements[j].type == \'checkbox\' && document.forms[i].elements[j].checked) { var pos = document.forms[i].elements[j].value.indexOf(\'_\'); if (pos >= 1) { grab_next_hidden = document.forms[i].elements[j].value; } } else if (document.forms[i].elements[j].type == \'hidden\' && grab_next_hidden == document.forms[i].elements[j].name) { if (send_to != \'\') { send_to += \', \'; } send_to += document.forms[i].elements[j].value; } j++; } i++; } if (send_to != \'\') { comp_in_new(\''. $base_uri . 'src/compose.php?send_to=\' + send_to, ' . $compose_width . ', ' . $compose_height . '); } return false;"' : '"'); ?> name="compose_to" id="compose_to" /> |
b3384b4a |
71 | <?php if (!empty($plugin_output['address_book_navigation'])) echo $plugin_output['address_book_navigation']; ?> |
a71b394e |
72 | </td> |
f4f64c58 |
73 | <td colspan="<?php echo ($colspan - 3); ?>" class="abookSwitch"> |
a140c3b1 |
74 | <?php |
75 | if (count($backends) > 0) { |
76 | ?> |
a71b394e |
77 | <select name="new_bnum"> |
78 | <?php |
79 | foreach ($backends as $id=>$name) { |
f4f64c58 |
80 | echo '<option value="' . $id . '"' . ($id == $current_backend ? ' selected="selected"' : '') . '>' . $name . '</option>' . "\n"; |
a71b394e |
81 | } |
82 | ?> |
a140c3b1 |
83 | </select> |
f4f64c58 |
84 | <input type="submit" value="<?php echo _("Change"); ?>" name="change_abook" id="change_abook" /> |
a140c3b1 |
85 | <?php |
86 | } else { |
87 | echo ' '; |
88 | } |
89 | ?> |
a71b394e |
90 | </td> |
91 | </tr> |
92 | <tr> |
b3384b4a |
93 | <td class="colHeader" style="width:1%"><input type="checkbox" name="toggleAll" id="toggleAll" title="<?php echo _("Toggle All"); ?>" onclick="toggle_all('address_book_form', 'sel', false); return false;" /></td> |
caa596b2 |
94 | <td class="colHeader" style="width:15%"><?php echo addAbookSort('nickname', $current_backend); ?></td> |
95 | <td class="colHeader"><?php echo addAbookSort('fullname', $current_backend); ?></td> |
96 | <td class="colHeader"><?php echo addAbookSort('email', $current_backend); ?></td> |
97 | <td class="colHeader"><?php echo addAbookSort('info', $current_backend); ?></td> |
a71b394e |
98 | <?php |
99 | if ($abook_has_extra_field) { |
100 | echo '<td class="colHeader"></td>'; |
101 | } |
102 | ?> |
103 | </tr> |
104 | <?php |
105 | $count = 1; |
106 | if (count($source['Addresses']) == 0) { |
107 | echo '<tr><td class="abookEmpty" colspan="'.$colspan.'">'._("Address book is empty").'</td></tr>'."\n"; |
108 | } |
109 | foreach ($source['Addresses'] as $contact) { |
f4f64c58 |
110 | $id = $current_backend . '_' . $contact['NickName']; |
a71b394e |
111 | ?> |
f4f64c58 |
112 | <tr class="<?php echo ($count%2 ? 'even' : 'odd'); ?>"> |
aee13493 |
113 | <td class="abookField" style="width:1%"><?php echo ($source['BackendWritable'] ? '<input type="checkbox" name="sel[' . $count . ']" value="'.$id.'" id="'.$id.'" ' . (!empty($plugin_output['address_book_checkbox_extra']) ? $plugin_output['address_book_checkbox_extra'] : '') . ' />' : ''); ?></td> |
f4f64c58 |
114 | <td class="abookField" style="width:15%"><label for="<?php echo $id . '">' . $contact['NickName']; ?></label></td> |
115 | <td class="abookField"><label for="<?php echo $id . '">' . $contact['FullName']; ?></label></td> |
116 | <td class="abookField"><input type="hidden" name="<?php echo $id; ?>" value="<?php echo rawurlencode($contact['FullAddress']); ?>" /><?php echo composeLink($contact); ?></td> |
117 | <td class="abookField"><label for="<?php echo $id . '">' . $contact['Info']; ?></label></td> |
a71b394e |
118 | <?php |
119 | if ($abook_has_extra_field) { |
120 | echo '<td class="abookField">'.$contact['Extra'].'</td>'."\n"; |
121 | } |
122 | ?> |
123 | </tr> |
124 | <?php |
125 | $count++; |
126 | } |
127 | ?> |
128 | </table> |
823d08e5 |
129 | </div> |