|
@@ -17,22 +17,6 @@
|
|
|
* $Id$
|
|
|
*/
|
|
|
|
|
|
-/*****************************************************************/
|
|
|
-/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/
|
|
|
-/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/
|
|
|
-/*** + Base level indent should begin at left margin, as ***/
|
|
|
-/*** the require_once below looks. ***/
|
|
|
-/*** + All identation should consist of four space blocks ***/
|
|
|
-/*** + Tab characters are evil. ***/
|
|
|
-/*** + all comments should use "slash-star ... star-slash" ***/
|
|
|
-/*** style -- no pound characters, no slash-slash style ***/
|
|
|
-/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/
|
|
|
-/*** ALWAYS USE { AND } CHARACTERS!!! ***/
|
|
|
-/*** + Please use ' instead of ", when possible. Note " ***/
|
|
|
-/*** should always be used in _( ) function calls. ***/
|
|
|
-/*** Thank you for your help making the SM code more readable. ***/
|
|
|
-/*****************************************************************/
|
|
|
-
|
|
|
require_once('../src/validate.php');
|
|
|
require_once('../functions/date.php');
|
|
|
require_once('../functions/smtp.php');
|
|
@@ -40,88 +24,89 @@ require_once('../functions/display_messages.php');
|
|
|
require_once('../functions/addressbook.php');
|
|
|
require_once('../functions/plugin.php');
|
|
|
|
|
|
- // Insert hidden data
|
|
|
- function addr_insert_hidden() {
|
|
|
- global $body, $subject, $send_to, $send_to_cc, $send_to_bcc, $mailbox,
|
|
|
- $identity;
|
|
|
-
|
|
|
- echo '<input type=hidden value="';
|
|
|
- if (substr($body, 0, 1) == "\r")
|
|
|
- echo "\n";
|
|
|
- echo htmlspecialchars($body) . '" name=body>' . "\n";
|
|
|
- echo '<input type=hidden value="' . htmlspecialchars($subject)
|
|
|
- . '" name=subject>' . "\n";
|
|
|
- echo '<input type=hidden value="' . htmlspecialchars($send_to)
|
|
|
- . '" name=send_to>' . "\n";
|
|
|
- echo "<input type=hidden value=\"" . htmlspecialchars($send_to_cc)
|
|
|
- . '" name=send_to_cc>' . "\n";
|
|
|
- echo "<input type=hidden value=\"" . htmlspecialchars($send_to_bcc)
|
|
|
- . '" name=send_to_bcc>' . "\n";
|
|
|
- echo "<input type=hidden value=\"" . htmlspecialchars($identity)
|
|
|
- . '" name=identity>' . "\n";
|
|
|
- echo "<input type=hidden name=mailbox value=\"" .
|
|
|
- htmlspecialchars($mailbox) . "\">\n";
|
|
|
- echo "<input type=hidden value=\"true\" name=from_htmladdr_search>\n";
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- // List search results
|
|
|
- function addr_display_result($res, $includesource = true) {
|
|
|
- global $color, $PHP_SELF;
|
|
|
-
|
|
|
- if(sizeof($res) <= 0) return;
|
|
|
-
|
|
|
- echo '<form method=post action="' . $PHP_SELF . "\">\n";
|
|
|
- echo '<input type=hidden name="html_addr_search_done" value="true">';
|
|
|
- echo "\n";
|
|
|
- addr_insert_hidden();
|
|
|
- $line = 0;
|
|
|
-
|
|
|
- print "<TABLE BORDER=0 WIDTH=\"98%\" ALIGN=center>";
|
|
|
- printf("<TR BGCOLOR=\"$color[9]\"><TH ALIGN=left> ".
|
|
|
- "<TH ALIGN=left> %s<TH ALIGN=left> %s".
|
|
|
- "<TH ALIGN=left> %s",
|
|
|
- _("Name"), _("E-mail"), _("Info"));
|
|
|
-
|
|
|
- if($includesource)
|
|
|
- printf("<TH ALIGN=left WIDTH=\"10%%\"> %s", _("Source"));
|
|
|
-
|
|
|
- print "</TR>\n";
|
|
|
-
|
|
|
- foreach ($res as $row) {
|
|
|
- echo '<tr';
|
|
|
- if ($line % 2) echo ' bgcolor="' . $color[0] . '"';
|
|
|
- echo ' nowrap><td nowrap align=center width="5%">';
|
|
|
- echo '<input type=checkbox name="send_to_search[T' . $line . ']" value = "' .
|
|
|
- htmlspecialchars($row['email']) . '"> To ';
|
|
|
- echo '<input type=checkbox name="send_to_search[C' . $line . ']" value = "' .
|
|
|
- htmlspecialchars($row['email']) . '"> Cc ';
|
|
|
- echo '<input type=checkbox name="send_to_search[B' . $line . ']" value = "' .
|
|
|
- htmlspecialchars($row['email']) . '"> Bcc ';
|
|
|
- echo '</td><td nowrap> ' . $row['name'] . ' </td>';
|
|
|
- echo '<td nowrap> ' . $row['email'] . ' </td>';
|
|
|
- echo '<td nowrap> ' . $row['label'] . ' </td>';
|
|
|
- if($includesource)
|
|
|
- echo '<td nowrap> ' . $row['source'] . ' </td>';
|
|
|
- echo "</tr>\n";
|
|
|
- $line ++;
|
|
|
- }
|
|
|
- printf('<TR><TD ALIGN=center COLSPAN=%d><INPUT TYPE=submit '.
|
|
|
- 'NAME="addr_search_done" VALUE="%s"></TD></TR>',
|
|
|
- 4 + ($includesource ? 1 : 0),
|
|
|
- _("Use Addresses"));
|
|
|
- print '</TABLE>';
|
|
|
- print '<INPUT TYPE=hidden VALUE=1 NAME="html_addr_search_done">';
|
|
|
- print '</FORM>';
|
|
|
+/* Insert hidden data */
|
|
|
+function addr_insert_hidden() {
|
|
|
+ global $body, $subject, $send_to, $send_to_cc, $send_to_bcc, $mailbox,
|
|
|
+ $identity;
|
|
|
+
|
|
|
+ echo '<input type=hidden value="';
|
|
|
+ if (substr($body, 0, 1) == "\r")
|
|
|
+ echo "\n";
|
|
|
+ echo htmlspecialchars($body) . '" name=body>' . "\n" .
|
|
|
+ '<input type=hidden value="' . htmlspecialchars($subject) .
|
|
|
+ '" name=subject>' . "\n" .
|
|
|
+ '<input type=hidden value="' . htmlspecialchars($send_to) .
|
|
|
+ '" name=send_to>' . "\n" .
|
|
|
+ '<input type=hidden value="' . htmlspecialchars($send_to_cc) .
|
|
|
+ '" name=send_to_cc>' . "\n" .
|
|
|
+ '<input type=hidden value="' . htmlspecialchars($send_to_bcc) .
|
|
|
+ '" name=send_to_bcc>' . "\n" .
|
|
|
+ '<input type=hidden value="' . htmlspecialchars($identity) .
|
|
|
+ '" name=identity>' . "\n" .
|
|
|
+ '<input type=hidden name=mailbox value="' . htmlspecialchars($mailbox) .
|
|
|
+ "\">\n" . '<input type=hidden value="true" name=from_htmladdr_search>' .
|
|
|
+ "\n";
|
|
|
}
|
|
|
|
|
|
- // --- End functions ---
|
|
|
|
|
|
- global $mailbox;
|
|
|
- displayPageHeader($color, $mailbox);
|
|
|
-
|
|
|
- // Initialize addressbook
|
|
|
- $abook = addressbook_init();
|
|
|
+/* List search results */
|
|
|
+function addr_display_result($res, $includesource = true) {
|
|
|
+ global $color, $PHP_SELF;
|
|
|
+
|
|
|
+ if (sizeof($res) <= 0) return;
|
|
|
+
|
|
|
+ echo '<form method=post action="' . $PHP_SELF . "\">\n" .
|
|
|
+ '<input type=hidden name="html_addr_search_done" value="true">' . "\n";
|
|
|
+ addr_insert_hidden();
|
|
|
+ $line = 0;
|
|
|
+
|
|
|
+ echo '<TABLE BORDER=0 WIDTH="98%" ALIGN=center>' .
|
|
|
+ '<TR BGCOLOR="' . $color[9] . '"><TH ALIGN=left> ' .
|
|
|
+ '<TH ALIGN=left> ' . _("Name") .
|
|
|
+ '<TH ALIGN=left> ' . _("E-mail") .
|
|
|
+ '<TH ALIGN=left> ' . _("Info");
|
|
|
+
|
|
|
+ if ($includesource) {
|
|
|
+ echo '<TH ALIGN=left WIDTH="10%"> ' . _("Source");
|
|
|
+ }
|
|
|
+
|
|
|
+ echo "</TR>\n";
|
|
|
+
|
|
|
+ foreach ($res as $row) {
|
|
|
+ echo '<tr';
|
|
|
+ if ($line % 2) { echo ' bgcolor="' . $color[0] . '"'; }
|
|
|
+ echo ' nowrap><td nowrap align=center width="5%">' .
|
|
|
+ '<input type=checkbox name="send_to_search[T' . $line . ']" value = "' .
|
|
|
+ htmlspecialchars($row['email']) . '"> To ' .
|
|
|
+ '<input type=checkbox name="send_to_search[C' . $line . ']" value = "' .
|
|
|
+ htmlspecialchars($row['email']) . '"> Cc ' .
|
|
|
+ '<input type=checkbox name="send_to_search[B' . $line . ']" value = "' .
|
|
|
+ htmlspecialchars($row['email']) . '"> Bcc ' .
|
|
|
+ '</td><td nowrap> ' . $row['name'] . ' </td>' .
|
|
|
+ '<td nowrap> ' . $row['email'] . ' </td>' .
|
|
|
+ '<td nowrap> ' . $row['label'] . ' </td>';
|
|
|
+ if ($includesource) {
|
|
|
+ echo '<td nowrap> ' . $row['source'] . ' </td>';
|
|
|
+ }
|
|
|
+ echo "</tr>\n";
|
|
|
+ $line ++;
|
|
|
+ }
|
|
|
+ echo '<TR><TD ALIGN=center COLSPAN=';
|
|
|
+ if ($includesource) { echo '4'; } else { echo '5'; }
|
|
|
+ echo '><INPUT TYPE=submit NAME="addr_search_done" VALUE="' .
|
|
|
+ _("Use Addresses") . '"></TD></TR>' .
|
|
|
+ '</TABLE>' .
|
|
|
+ '<INPUT TYPE=hidden VALUE=1 NAME="html_addr_search_done">' .
|
|
|
+ '</FORM>';
|
|
|
+}
|
|
|
+
|
|
|
+/* --- End functions --- */
|
|
|
+
|
|
|
+global $mailbox;
|
|
|
+displayPageHeader($color, $mailbox);
|
|
|
+
|
|
|
+/* Initialize addressbook */
|
|
|
+$abook = addressbook_init();
|
|
|
|
|
|
?>
|
|
|
|
|
@@ -132,103 +117,105 @@ require_once('../functions/plugin.php');
|
|
|
</td></tr></table>
|
|
|
|
|
|
<?php
|
|
|
- // Search form
|
|
|
- print "<CENTER>\n";
|
|
|
- print "<TABLE BORDER=0>\n";
|
|
|
- print "<TR><TD NOWRAP VALIGN=middle>\n";
|
|
|
- printf('<FORM METHOD=post NAME=f ACTION="%s?html_addr_search=true">'."\n", $PHP_SELF);
|
|
|
- print "<CENTER>\n";
|
|
|
- printf(" <nobr><STRONG>%s</STRONG>\n", _("Search for"));
|
|
|
- addr_insert_hidden();
|
|
|
- if (! isset($addrquery))
|
|
|
- $addrquery = '';
|
|
|
- printf(" <INPUT TYPE=text NAME=addrquery VALUE=\"%s\" SIZE=26>\n",
|
|
|
- htmlspecialchars($addrquery));
|
|
|
-
|
|
|
- // List all backends to allow the user to choose where to search
|
|
|
- if(!isset($backend)) $backend = "";
|
|
|
- if($abook->numbackends > 1) {
|
|
|
- printf("<STRONG>%s</STRONG> <SELECT NAME=backend>\n",
|
|
|
- _("in"));
|
|
|
- printf("<OPTION VALUE=-1 %s>%s\n",
|
|
|
- ($backend == -1) ? "SELECTED" : "",
|
|
|
- _("All address books"));
|
|
|
- $ret = $abook->get_backend_list();
|
|
|
- while(list($undef,$v) = each($ret))
|
|
|
- printf("<OPTION VALUE=%d %s>%s\n",
|
|
|
- $v->bnum,
|
|
|
- ($backend == $v->bnum) ? "SELECTED" : "",
|
|
|
- $v->sname);
|
|
|
- print "</SELECT>\n";
|
|
|
- } else {
|
|
|
- print "<INPUT TYPE=hidden NAME=backend VALUE=-1>\n";
|
|
|
- }
|
|
|
- printf("<INPUT TYPE=submit VALUE=\"%s\">",
|
|
|
- _("Search"));
|
|
|
- printf(" | <INPUT TYPE=submit VALUE=\"%s\" NAME=listall>\n",
|
|
|
- _("List all"));
|
|
|
- print '</FORM></center>';
|
|
|
-
|
|
|
- print "</TD></TR></TABLE>\n";
|
|
|
- addr_insert_hidden();
|
|
|
- print "</CENTER>";
|
|
|
- do_hook('addrbook_html_search_below');
|
|
|
- // End search form
|
|
|
-
|
|
|
- // Show personal addressbook
|
|
|
- if($addrquery == '' || !empty($listall)) {
|
|
|
-
|
|
|
- if(! isset($backend) || $backend != -1 || $addrquery == '') {
|
|
|
- if($addrquery == '')
|
|
|
+
|
|
|
+/* Search form */
|
|
|
+echo "<CENTER>\n<TABLE BORDER=0><TR><TD NOWRAP VALIGN=middle>\n" .
|
|
|
+ '<FORM METHOD=post NAME=f ACTION="' . $PHP_SELF .
|
|
|
+ '?html_addr_search=true">' . "\n<CENTER>\n" .
|
|
|
+ ' <nobr><STRONG>' . _("Search for") . "</STRONG>\n";
|
|
|
+addr_insert_hidden();
|
|
|
+if (! isset($addrquery))
|
|
|
+ $addrquery = '';
|
|
|
+echo ' <INPUT TYPE=text NAME=addrquery VALUE="' .
|
|
|
+ htmlspecialchars($addrquery) . "\" SIZE=26>\n";
|
|
|
+
|
|
|
+/* List all backends to allow the user to choose where to search */
|
|
|
+if (!isset($backend)) { $backend = ''; }
|
|
|
+if ($abook->numbackends > 1) {
|
|
|
+ echo '<STRONG>' . _("in") . '</STRONG> <SELECT NAME=backend>' . "\n" .
|
|
|
+ '<OPTION VALUE=-1';
|
|
|
+ if ($backend == -1) { echo ' SELECTED'; }
|
|
|
+ echo '>' . _("All address books") . "\n";
|
|
|
+ $ret = $abook->get_backend_list();
|
|
|
+ while (list($undef,$v) = each($ret)) {
|
|
|
+ echo '<OPTION VALUE=' . $v->bnum;
|
|
|
+ if ($backend == $v->bnum) { echo ' SELECTED'; }
|
|
|
+ echo '>' . $v->sname . "\n";
|
|
|
+ }
|
|
|
+ echo "</SELECT>\n";
|
|
|
+} else {
|
|
|
+ echo '<INPUT TYPE=hidden NAME=backend VALUE=-1>' . "\n";
|
|
|
+}
|
|
|
+echo '<INPUT TYPE=submit VALUE="' . _("Search") . '">' .
|
|
|
+ ' | <INPUT TYPE=submit VALUE="' . _("List all") .
|
|
|
+ '" NAME=listall>' . "\n" .
|
|
|
+ '</FORM></center></TD></TR></TABLE>' . "\n";
|
|
|
+addr_insert_hidden();
|
|
|
+echo '</CENTER>';
|
|
|
+do_hook('addrbook_html_search_below');
|
|
|
+/* End search form */
|
|
|
+
|
|
|
+/* Show personal addressbook */
|
|
|
+if ($addrquery == '' || !empty($listall)) {
|
|
|
+
|
|
|
+ if (! isset($backend) || $backend != -1 || $addrquery == '') {
|
|
|
+ if ($addrquery == '') {
|
|
|
$backend = $abook->localbackend;
|
|
|
+ }
|
|
|
|
|
|
- //printf("<H3 ALIGN=center>%s</H3>\n", $abook->backends[$backend]->sname);
|
|
|
+ /* echo '<H3 ALIGN=center>' . $abook->backends[$backend]->sname) . "</H3>\n"; */
|
|
|
|
|
|
- $res = $abook->list_addr($backend);
|
|
|
+ $res = $abook->list_addr($backend);
|
|
|
|
|
|
- if(is_array($res)) {
|
|
|
+ if (is_array($res)) {
|
|
|
addr_display_result($res, false);
|
|
|
- } else {
|
|
|
- printf("<P ALIGN=center><STRONG>"._("Unable to list addresses from %s").
|
|
|
- "</STRONG></P>\n", $abook->backends[$backend]->sname);
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
- $res = $abook->list_addr();
|
|
|
- addr_display_result($res, true);
|
|
|
- }
|
|
|
- exit;
|
|
|
-
|
|
|
- } else
|
|
|
-
|
|
|
- // Do the search
|
|
|
- if(!empty($addrquery) && empty($listall)) {
|
|
|
-
|
|
|
- if($backend == -1) {
|
|
|
- $res = $abook->s_search($addrquery);
|
|
|
- } else {
|
|
|
- $res = $abook->s_search($addrquery, $backend);
|
|
|
- }
|
|
|
-
|
|
|
- if(!is_array($res)) {
|
|
|
- printf("<P ALIGN=center><B><BR>%s:<br>%s</B></P>\n</BODY></HTML>\n",
|
|
|
- _("Your search failed with the following error(s)"),
|
|
|
- $abook->error);
|
|
|
- } else if(sizeof($res) == 0) {
|
|
|
- printf("<P ALIGN=center><BR><B>%s.</B></P>\n</BODY></HTML>\n",
|
|
|
- _("No persons matching your search was found"));
|
|
|
- } else {
|
|
|
- addr_display_result($res);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if ($addrquery == '' || sizeof($res) == 0) {
|
|
|
- printf('<center><FORM METHOD=post NAME=k ACTION="compose.php">'."\n", $PHP_SELF);
|
|
|
- addr_insert_hidden();
|
|
|
- printf("<INPUT TYPE=submit VALUE=\"%s\" NAME=return>\n", _("Return"));
|
|
|
- print '</form>';
|
|
|
- print '</center></nobr>';
|
|
|
- }
|
|
|
+ } else {
|
|
|
+ echo '<P ALIGN=center><STRONG>' .
|
|
|
+ sprintf(_("Unable to list addresses from %s"),
|
|
|
+ $abook->backends[$backend]->sname) .
|
|
|
+ "</STRONG></P>\n";
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ $res = $abook->list_addr();
|
|
|
+ addr_display_result($res, true);
|
|
|
+ }
|
|
|
+ exit;
|
|
|
+
|
|
|
+} else {
|
|
|
+
|
|
|
+ /* Do the search */
|
|
|
+ if (!empty($addrquery) && empty($listall)) {
|
|
|
+
|
|
|
+ if ($backend == -1) {
|
|
|
+ $res = $abook->s_search($addrquery);
|
|
|
+ } else {
|
|
|
+ $res = $abook->s_search($addrquery, $backend);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!is_array($res)) {
|
|
|
+ echo '<P ALIGN=center><B><BR>' .
|
|
|
+ _("Your search failed with the following error(s)") . ':<br>' .
|
|
|
+ $abook->error . "</B></P>\n</BODY></HTML>\n";
|
|
|
+ } else {
|
|
|
+ if (sizeof($res) == 0) {
|
|
|
+ echo '<P ALIGN=center><BR><B>' .
|
|
|
+ _("No persons matching your search was found") .
|
|
|
+ ".</B></P>\n</BODY></HTML>\n";
|
|
|
+ } else {
|
|
|
+ addr_display_result($res);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+if ($addrquery == '' || sizeof($res) == 0) {
|
|
|
+ /* printf('<center><FORM METHOD=post NAME=k ACTION="compose.php">'."\n", $PHP_SELF); */
|
|
|
+ echo '<center><FORM METHOD=post NAME=k ACTION="compose.php">' . "\n";
|
|
|
+ addr_insert_hidden();
|
|
|
+ echo '<INPUT TYPE=submit VALUE="' . _("Return") . '" NAME=return>' . "\n" .
|
|
|
+ '</form></center></nobr>';
|
|
|
+}
|
|
|
|
|
|
?>
|
|
|
</body></html>
|