improved html address book
authorlkehresman <lkehresman@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Fri, 11 Aug 2000 19:21:34 +0000 (19:21 +0000)
committerlkehresman <lkehresman@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Fri, 11 Aug 2000 19:21:34 +0000 (19:21 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@707 7612ce4b-ef26-0410-bec9-ea0150e637f0

ChangeLog
src/addrbook_search_html.php
src/compose.php

index 50aea57cd40826436684df984914b8f585a51b00..a4f62ac41f152b7c1fbb8fb075b89a825498b828 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,12 @@
 Version 0.5pre2 -- DEVELOPMENT
 ------------------------------
+- Improved HTML address book
+- Fixed bugs in parsing email addresses in smtp.php
 - Applied fixes for Courier IMAP server (by Andreas Dahl)
 - Fixed some buggy IMAP handling
 - Improved word wrapping
-- Made message highlighting not case sensative
+- Fixed bugs with adding and not adding backslashes
+- Made message highlighting case insensative
 - Added French translation from Ali Nedjimi <lrdfrx@club-internet.fr>
 
 
index cd8fb2ca26155023c7a829d3953a6596ac782dd8..95b93fccaffaf0fbca9cff6df01d7f1a58195a1a 100644 (file)
    function addr_insert_hidden() {
       global $body, $subject, $send_to, $send_to_cc, $send_to_bcc;
       printf("<input type=hidden value=\"%s\" name=body>\n", 
-            htmlspecialchars($body));
+             htmlspecialchars($body));
       printf("<input type=hidden value=\"%s\" name=subject>\n", 
-            htmlspecialchars($subject));
+             htmlspecialchars($subject));
       printf("<input type=hidden value=\"%s\" name=send_to>\n", 
-            htmlspecialchars($send_to));
+             htmlspecialchars($send_to));
       printf("<input type=hidden value=\"%s\" name=send_to_cc>\n", 
-            htmlspecialchars($send_to_cc));
+             htmlspecialchars($send_to_cc));
       printf("<input type=hidden value=\"%s\" name=send_to_bcc>\n", 
-            htmlspecialchars($send_to_bcc));     
+             htmlspecialchars($send_to_bcc));     
+      printf("<input type=hidden value=\"true\" name=from_htmladdr_search>\n");
    }
 
 
       if(sizeof($res) <= 0) return;
 
       printf('<FORM METHOD=post ACTION="%s?html_addr_search_done=true">'."\n",
-            $PHP_SELF);
+             $PHP_SELF);
       addr_insert_hidden();
       $line = 0;
 
       print "<TABLE BORDER=0 WIDTH=\"98%\" ALIGN=center>";
       printf("<TR BGCOLOR=\"$color[9]\"><TH ALIGN=left>&nbsp;".
-            "<TH ALIGN=left>&nbsp;%s<TH ALIGN=left>&nbsp;%s".
-            "<TH ALIGN=left>&nbsp;%s",
-            _("Name"), _("E-mail"), _("Info"));
+             "<TH ALIGN=left>&nbsp;%s<TH ALIGN=left>&nbsp;%s".
+             "<TH ALIGN=left>&nbsp;%s",
+             _("Name"), _("E-mail"), _("Info"));
 
       if($includesource)
-        printf("<TH ALIGN=left WIDTH=\"10%%\">&nbsp;%s", _("Source"));
+         printf("<TH ALIGN=left WIDTH=\"10%%\">&nbsp;%s", _("Source"));
 
       print "</TR>\n";
       
                 "%s".
                 "<td nowrap>&nbsp;%s&nbsp;",
                 ($line % 2) ? " bgcolor=\"$color[0]\"" : "", 
-               htmlspecialchars($row["email"]), htmlspecialchars($row["email"]), 
-               $row["name"], $row["email"], $row["label"]);
-        if($includesource)
-           printf("<td nowrap>&nbsp;%s", $row["source"]);
-        
-        print "</TR>\n";
+                htmlspecialchars($row["email"]), htmlspecialchars($row["email"]), 
+                $row["name"], $row["email"], $row["label"]);
+         if($includesource)
+            printf("<td nowrap>&nbsp;%s", $row["source"]);
+         
+         print "</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"));
+             '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>";
    $send_to_bcc = sqStripSlashes($send_to_bcc);
    $subject = sqStripSlashes($subject);
 
+?>
 
-   // Header
-   print  "<TABLE BORDER=0 WIDTH=100% COLS=1 ALIGN=CENTER>\n";
-   printf('<TR><TD BGCOLOR="%s" ALIGN=CENTER><STRONG>%s</STRONG></TD></TR>', 
-         $color[0], _("Address Book Search"));
-   print  "</TABLE>\n";
+<br>
+<table width=95% align=center cellpadding=2 cellspacing=2 border=0>
+<tr><td bgcolor="<?php echo $color[0] ?>">
+   <center><b><?php echo _("Address Book Search") ?></b></center>
+</td></tr></table>
 
+<?php
    // Search form
    print "<CENTER>\n";
-   printf('<FORM METHOD=post NAME=f ACTION="%s?html_addr_search=true">'."\n",
-         $PHP_SELF);
    print "<TABLE BORDER=0>\n";
    printf("<TR><TD NOWRAP VALIGN=middle>\n");
-   printf("  <STRONG>%s</STRONG>\n", _("Search for"));
+   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();
    printf("  <INPUT TYPE=text NAME=addrquery VALUE=\"%s\" SIZE=26>\n",
-         htmlspecialchars($addrquery));
+          htmlspecialchars($addrquery));
 
    // List all backends to allow the user to choose where to search
    if($abook->numbackends > 1) {
       printf("<STRONG>%s</STRONG>&nbsp;<SELECT NAME=backend>\n", 
-            _("in"));
+             _("in"));
       printf("<OPTION VALUE=-1 %s>%s\n", 
-            ($backend == -1) ? "SELECTED" : "",
-            _("All address books"));
+             ($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);
+         printf("<OPTION VALUE=%d %s>%s\n", 
+                $v->bnum, 
+                ($backend == $v->bnum) ? "SELECTED" : "",
+                $v->sname);
       printf("</SELECT>\n");
    } else {
       printf("<INPUT TYPE=hidden NAME=backend VALUE=-1>\n");
    }
    printf("<INPUT TYPE=submit VALUE=\"%s\">",
-         _("Search"));
+          _("Search"));
    printf("&nbsp;|&nbsp;<INPUT TYPE=submit VALUE=\"%s\" NAME=listall>\n",
-         _("List all"));
+          _("List all"));
+   print "</FORM></center>";
+
    printf("</TD></TR></TABLE>\n");
    addr_insert_hidden();
-   print "</FORM>";
    print "</CENTER>";
    do_hook("addrbook_html_search_below");
    // End search form
    if(!isset($addrquery) || !empty($listall)) {
 
       if($backend != -1 || !isset($addrquery)) {
-        if(!isset($addrquery)) 
-           $backend = $abook->localbackend;
+         if(!isset($addrquery)) 
+            $backend = $abook->localbackend;
 
-        //printf("<H3 ALIGN=center>%s</H3>\n", $abook->backends[$backend]->sname);
+         //printf("<H3 ALIGN=center>%s</H3>\n", $abook->backends[$backend]->sname);
 
-        $res = $abook->list_addr($backend);
+         $res = $abook->list_addr($backend);
 
-        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);
-        }
+         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);
+         $res = $abook->list_addr();
+         addr_display_result($res, true);
       }
+      exit;
 
    } else
 
    if(!empty($addrquery) && empty($listall)) {
 
       if($backend == -1) {
-        $res = $abook->s_search($addrquery);
+         $res = $abook->s_search($addrquery);
       } else {
-        $res = $abook->s_search($addrquery, $backend);
+         $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);
-        exit;
-      }
-
-      if(sizeof($res) == 0) {
-        printf("<P ALIGN=center><BR><B>%s.</B></P>\n</BODY></HTML>\n",
-               _("No persons matching your search was found"));
-        exit;
+         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);
       }
-
-      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"));
+      printf('</form>');
+      printf("</center></nobr>");
+   }   
+
 ?>
 </body></html>
index 0e7dcfbe78f93cfc2f339b4cd1ca226b1606e390..ab43ce5f7018b8df2350a54b92265bb63edf3d5c 100644 (file)
@@ -45,6 +45,7 @@
 
       $send_to = sqStripSlashes(decodeHeader($send_to));
       $send_to_cc = sqStripSlashes(decodeHeader($send_to_cc));
+      $send_to_bcc = sqStripSlashes(decodeHeader($send_to_bcc));
 
       if ($forward_id)
          $id = $forward_id;
@@ -97,8 +98,6 @@
          return $body;   
       }
 
-      $send_to = sqStripSlashes($send_to);
-      
       if (!$send_to) {
          $send_to = sqimap_find_email($send_to);
       }
       global $send_to, $send_to_cc, $reply_subj, $forward_subj, $body,
          $passed_body, $color, $use_signature, $signature, $editor_size,
          $attachments, $subject, $newmail, $use_javascript_addr_book,
-         $send_to_bcc, $reply_id, $mailbox;
+         $send_to_bcc, $reply_id, $mailbox, $from_htmladdr_search;
 
       $subject = sqStripSlashes(decodeHeader($subject));
       $reply_subj = decodeHeader($reply_subj);
       //echo "\n<FORM name=compose action=\"compose.php\" METHOD=POST>\n";
       if ($reply_id) {
          echo "<input type=hidden name=reply_id value=$reply_id>\n";
-      }                 
+      }                 
       printf("<INPUT TYPE=hidden NAME=mailbox VALUE=\"%s\">\n", htmlspecialchars($mailbox));
       echo "<TABLE WIDTH=\"100%\" ALIGN=center CELLSPACING=0 BORDER=0>\n";
       echo "   <TR>\n";
       echo _("To:");
       echo "      </TD><TD BGCOLOR=\"$color[4]\">\n";
       printf("         <INPUT TYPE=text NAME=\"send_to\" VALUE=\"%s\" SIZE=60><BR>\n",
-            htmlspecialchars($send_to));
+             htmlspecialchars($send_to));
       echo "      </TD>\n";
       echo "   </TR>\n";
       echo "   <TR>\n";
       echo _("CC:");
       echo "      </TD><TD BGCOLOR=\"$color[4]\" ALIGN=LEFT>\n";
       printf("         <INPUT TYPE=text NAME=\"send_to_cc\" SIZE=60 VALUE=\"%s\"><BR>\n",
-            htmlspecialchars($send_to_cc));
+             htmlspecialchars($send_to_cc));
       echo "      </TD>\n";
       echo "   </TR>\n";
       echo "   <TR>\n";
       echo _("BCC:");
       echo "      </TD><TD BGCOLOR=\"$color[4]\" ALIGN=LEFT>\n";
       printf("         <INPUT TYPE=text NAME=\"send_to_bcc\" VALUE=\"%s\" SIZE=60><BR>\n",
-            htmlspecialchars($send_to_bcc));
+             htmlspecialchars($send_to_bcc));
       echo "</TD></TR>\n";
 
       echo "   <TR>\n";
          if (substr(strtolower($reply_subj), 0, 3) != "re:")
             $reply_subj = "Re: $reply_subj";
          printf("         <INPUT TYPE=text NAME=subject SIZE=60 VALUE=\"%s\">",
-               htmlspecialchars($reply_subj));
+                htmlspecialchars($reply_subj));
       } else if ($forward_subj) {
          $forward_subj = str_replace("\"", "'", $forward_subj);
          $forward_subj = sqStripSlashes($forward_subj);
              (substr(strtolower($forward_subj), 0, 6) != "[ fwd:"))
             $forward_subj = "[Fwd: $forward_subj]";
          printf("         <INPUT TYPE=text NAME=subject SIZE=60 VALUE=\"%s\">",
-               htmlspecialchars($forward_subj));
+                htmlspecialchars($forward_subj));
       } else {
-        printf("         <INPUT TYPE=text NAME=subject SIZE=60 VALUE=\"%s\">",
-               htmlspecialchars($subject));
+          printf("         <INPUT TYPE=text NAME=subject SIZE=60 VALUE=\"%s\">",
+                htmlspecialchars($subject));
       }
       echo "</td></tr>\n\n";
 
       echo "   <TR>\n";
       echo "      <TD BGCOLOR=\"$color[4]\" COLSPAN=2>\n";
       echo "         &nbsp;&nbsp;<TEXTAREA NAME=body ROWS=20 COLS=\"$editor_size\" WRAP=HARD>";
-      if ($use_signature == true && $newmail == true) {
-        echo sqStripSlashes(htmlspecialchars($body)) . "\n\n-- \n" . htmlspecialchars($signature);
+      if ($use_signature == true && $newmail == true && !isset($from_htmladdr_search)) {
+         echo sqStripSlashes(htmlspecialchars($body)) . "\n\n-- \n" . htmlspecialchars($signature);
       } else {
-        echo sqStripSlashes(htmlspecialchars($body));
+         echo sqStripSlashes(htmlspecialchars($body));
       }
       echo "</TEXTAREA><BR>\n";
       echo "      </TD>\n";
       is_logged_in();
       displayPageHeader($color, $mailbox);
 
-      $body = sqStripSlashes($body);
       $send_to = sqStripSlashes($send_to);
       $send_to_cc = sqStripSlashes($send_to_cc);
       $send_to_bcc = sqStripSlashes($send_to_bcc);
-      $subject = sqStripSlashes($subject);
       
       for ($i=0; $i < count($send_to_search); $i++) {
          if ($send_to)