瀏覽代碼

Added email addr parsing, added bugfix for boundary= header

Luke Ehresman 25 年之前
父節點
當前提交
14565eb385
共有 8 個文件被更改,包括 22 次插入24 次删除
  1. 1 1
      ChangeLog
  2. 4 4
      functions/display_messages.php
  3. 2 10
      functions/imap_messages.php
  4. 1 1
      functions/smtp.php
  5. 1 0
      functions/strings.php
  6. 5 0
      functions/url_parser.php
  7. 3 3
      src/login.php
  8. 5 5
      src/signout.php

+ 1 - 1
ChangeLog

@@ -1,6 +1,6 @@
 Version 0.4pre1 -- Development
 Version 0.4pre1 -- Development
 ------------------------------
 ------------------------------
-- Parsing the body for URLs and translating them to links
+- Parsing the body for URLs and Email addrs
 - Added option to configure default folder directory. ie: ~/mail
 - Added option to configure default folder directory. ie: ~/mail
 - Configuration script added: config/conf.pl
 - Configuration script added: config/conf.pl
 - Addressbook with LDAP support
 - Addressbook with LDAP support

+ 4 - 4
functions/display_messages.php

@@ -25,21 +25,21 @@
     function general_info($motd, $org_logo, $version, $org_name, $color) {
     function general_info($motd, $org_logo, $version, $org_name, $color) {
       echo "<BR>";
       echo "<BR>";
       echo "<TABLE COLS=1 WIDTH=80% CELLSPACING=0 CELLPADDING=2 NOBORDER ALIGN=CENTER><TR><TD BGCOLOR=\"$color[9]\">";
       echo "<TABLE COLS=1 WIDTH=80% CELLSPACING=0 CELLPADDING=2 NOBORDER ALIGN=CENTER><TR><TD BGCOLOR=\"$color[9]\">";
-      echo "<TABLE COLS=1 WIDTH=100% CELLSPACING=0 CELLPADDING=3 NOBORDER BGCOLOR=\"FFFFFF\" ALIGN=CENTER>";
+      echo "<TABLE COLS=1 WIDTH=100% CELLSPACING=0 CELLPADDING=3 NOBORDER BGCOLOR=\"#FFFFFF\" ALIGN=CENTER>";
       echo "   <TR>";
       echo "   <TR>";
       echo "      <TD BGCOLOR=\"$color[0]\">";
       echo "      <TD BGCOLOR=\"$color[0]\">";
       echo "         <B><CENTER>". _("Welcome to $org_name's WebMail system") ."</CENTER></B>";
       echo "         <B><CENTER>". _("Welcome to $org_name's WebMail system") ."</CENTER></B>";
-      echo "   <TR><TD BGCOLOR=\"FFFFFF\">";
+      echo "   <TR><TD BGCOLOR=\"#FFFFFF\">";
       echo "      <TABLE COLS=2 WIDTH=90% CELLSPACING=0 CELLPADDING=3 NOBORDER align=\"center\">";
       echo "      <TABLE COLS=2 WIDTH=90% CELLSPACING=0 CELLPADDING=3 NOBORDER align=\"center\">";
       echo "         <TR>";
       echo "         <TR>";
-      echo "            <TD BGCOLOR=\"FFFFFF\"><CENTER>";
+      echo "            <TD BGCOLOR=\"#FFFFFF\"><CENTER>";
       if (strlen($org_logo) > 3)
       if (strlen($org_logo) > 3)
          echo "               <IMG SRC=\"$org_logo\">";
          echo "               <IMG SRC=\"$org_logo\">";
       else
       else
          echo "               <B>$org_name</B>";
          echo "               <B>$org_name</B>";
       echo "         <BR><CENTER>". _("Running SquirrelMail version $version (c) 1999-2000.") ."</CENTER><BR>";
       echo "         <BR><CENTER>". _("Running SquirrelMail version $version (c) 1999-2000.") ."</CENTER><BR>";
       echo "            </CENTER></TD></TR><TR>";
       echo "            </CENTER></TD></TR><TR>";
-      echo "            <TD BGCOLOR=\"FFFFFF\">";
+      echo "            <TD BGCOLOR=\"#FFFFFF\">";
       echo "               $motd";
       echo "               $motd";
       echo "            </TD>";
       echo "            </TD>";
       echo "         </TR>";
       echo "         </TR>";

+ 2 - 10
functions/imap_messages.php

@@ -159,16 +159,8 @@
             }
             }
 
 
             /** Detect the boundary of a multipart message **/
             /** Detect the boundary of a multipart message **/
-            if (strpos(strtolower(trim($line)), "boundary=")) {
-               $pos = strpos(strtolower($line), "boundary=") + 9;
-               $bound = trim($line);
-               if (strpos($line, " ", $pos) > 0) {
-                  $bound = substr($bound, $pos, strpos($line, " ", $pos));
-               } else {
-                  $bound = substr($bound, $pos);
-               }
-               $bound = str_replace("\"", "", $bound);
-               $header["BOUNDARY"] = $bound;
+            if (eregi("boundary=\"([^\"]+)\"", $line, $regs)) {                             
+               $header["BOUNDARY"] = $regs[1];                                             
             }
             }
 
 
             /** Detect the charset **/
             /** Detect the charset **/

+ 1 - 1
functions/smtp.php

@@ -414,7 +414,7 @@
       }
       }
 
 
       if ($status == 0) {
       if ($status == 0) {
-         echo "<HTML><BODY BGCOLOR=ffffff>";
+         echo "<HTML><BODY BGCOLOR=#ffffff>";
          echo "<TT>";
          echo "<TT>";
          echo "<BR><B>ERROR</B><BR><BR>";
          echo "<BR><B>ERROR</B><BR><BR>";
          echo "&nbsp;&nbsp;&nbsp;<B>Error Number: </B>$err_num<BR>";
          echo "&nbsp;&nbsp;&nbsp;<B>Error Number: </B>$err_num<BR>";

+ 1 - 0
functions/strings.php

@@ -125,6 +125,7 @@
             $line = "<TT><FONT COLOR=000000>$line</FONT></TT><BR>\n";
             $line = "<TT><FONT COLOR=000000>$line</FONT></TT><BR>\n";
          }
          }
 
 
+         $line = parseEmail ($line);
          $line = parseUrl ($line);
          $line = parseUrl ($line);
          $new_body[$i] = "$line";
          $new_body[$i] = "$line";
       }
       }

+ 5 - 0
functions/url_parser.php

@@ -10,6 +10,11 @@
       return $ret;
       return $ret;
    }
    }
 
 
+   function parseEmail ($body) {
+      $body = eregi_replace ("([a-z]|[0-9]|_|\.)+\@([a-z]|[0-9]|_)+(.([a-z]|[0-9]|_)+)*", "<a href=\"mailto:\\0\">\\0</a>", $body);
+      return $body;
+   }
+
    function parseUrl ($body) {
    function parseUrl ($body) {
       #Possible ways a URL could finish.
       #Possible ways a URL could finish.
 
 

+ 3 - 3
src/login.php

@@ -36,7 +36,7 @@
    echo "<HEAD><TITLE>";
    echo "<HEAD><TITLE>";
    echo _("SquirrelMail Login");
    echo _("SquirrelMail Login");
    echo "</TITLE></HEAD>\n";
    echo "</TITLE></HEAD>\n";
-   echo "<BODY TEXT=000000 BGCOLOR=FFFFFF LINK=0000CC VLINK=0000CC ALINK=0000CC>\n";
+   echo "<BODY TEXT=000000 BGCOLOR=#FFFFFF LINK=0000CC VLINK=0000CC ALINK=0000CC>\n";
  
  
    echo "<FORM ACTION=webmail.php METHOD=\"POST\" NAME=f>\n";
    echo "<FORM ACTION=webmail.php METHOD=\"POST\" NAME=f>\n";
    echo "<CENTER><IMG SRC=\"$org_logo\"</CENTER>\n";
    echo "<CENTER><IMG SRC=\"$org_logo\"</CENTER>\n";
@@ -45,11 +45,11 @@
    echo "<BR></SMALL><CENTER>\n";
    echo "<BR></SMALL><CENTER>\n";
    echo "<TABLE COLS=1 WIDTH=350>\n";
    echo "<TABLE COLS=1 WIDTH=350>\n";
    echo "   <TR>\n";
    echo "   <TR>\n";
-   echo "      <TD BGCOLOR=DCDCDC>\n";
+   echo "      <TD BGCOLOR=#DCDCDC>\n";
    echo "         <B><CENTER>$org_name Login</CENTER></B>\n";
    echo "         <B><CENTER>$org_name Login</CENTER></B>\n";
    echo "      </TD>\n";
    echo "      </TD>\n";
    echo "   </TR><TR>\n";
    echo "   </TR><TR>\n";
-   echo "      <TD BGCOLOR=FFFFFF>\n";
+   echo "      <TD BGCOLOR=#FFFFFF>\n";
    echo "         <TABLE COLS=2 WIDTH=100%>\n";
    echo "         <TABLE COLS=2 WIDTH=100%>\n";
    echo "            <TR>\n";
    echo "            <TR>\n";
    echo "               <TD WIDTH=30% ALIGN=right>\n";
    echo "               <TD WIDTH=30% ALIGN=right>\n";

+ 5 - 5
src/signout.php

@@ -26,16 +26,16 @@
 ?>
 ?>
 <HTML>
 <HTML>
 <?
 <?
-   echo "<BODY TEXT=000000 BGCOLOR=FFFFFF LINK=0000CC VLINK=0000CC ALINK=0000CC>\n";
-   echo "<BR><BR><TABLE BGCOLOR=FFFFFF BORDER=0 COLS=1 WIDTH=50% CELLSPACING=0 CELLPADDING=2 ALIGN=CENTER>";
-   echo "   <TR BGCOLOR=DCDCDC WIDTH=100%>";
+   echo "<BODY TEXT=000000 BGCOLOR=#FFFFFF LINK=0000CC VLINK=0000CC ALINK=0000CC>\n";
+   echo "<BR><BR><TABLE BGCOLOR=#FFFFFF BORDER=0 COLS=1 WIDTH=50% CELLSPACING=0 CELLPADDING=2 ALIGN=CENTER>";
+   echo "   <TR BGCOLOR=#DCDCDC WIDTH=100%>";
    echo "      <TD ALIGN=CENTER>";
    echo "      <TD ALIGN=CENTER>";
    echo "         <B>";
    echo "         <B>";
    echo _("Sign Out");
    echo _("Sign Out");
    echo "</B>";
    echo "</B>";
    echo "      </TD>";
    echo "      </TD>";
    echo "   </TR>";
    echo "   </TR>";
-   echo "   <TR BGCOLOR=FFFFFF WIDTH=100%>";
+   echo "   <TR BGCOLOR=#FFFFFF WIDTH=100%>";
    echo "      <TD ALIGN=CENTER>";
    echo "      <TD ALIGN=CENTER>";
    echo "         <BR>";
    echo "         <BR>";
    echo _("You have been successfully signed out.");
    echo _("You have been successfully signed out.");
@@ -46,7 +46,7 @@
    echo "</A><BR><BR>";
    echo "</A><BR><BR>";
    echo "      </TD>";
    echo "      </TD>";
    echo "   </TR>";
    echo "   </TR>";
-   echo "   <TR BGCOLOR=DCDCDC WIDTH=100%>";
+   echo "   <TR BGCOLOR=#DCDCDC WIDTH=100%>";
    echo "      <TD ALIGN=CENTER>";
    echo "      <TD ALIGN=CENTER>";
    echo "         <BR>";
    echo "         <BR>";
    echo "      </TD>";
    echo "      </TD>";