Please ignore the red for now :)
[squirrelmail.git] / src / addrbook_search.php
index ed05ba998a7494d190ddfaaa12cf39737ab4326b..9557065cf1f74af43075cf0a90a5c0c613912141 100644 (file)
@@ -14,6 +14,8 @@
     **  $Id$
     **/
 
+   require_once('../src/validate.php');
+
    // Function to include JavaScript code
    function insert_javascript() {
 ?>
@@ -33,9 +35,9 @@ function to_address($addr) {
   if(pwintype != "undefined" ) {
     if ( parent.opener.document.compose.send_to.value ) {
       prefix = ", ";
-      parent.opener.document.compose.send_to.value = 
+      parent.opener.document.compose.send_to.value =
         parent.opener.document.compose.send_to.value + ", " + $addr;
-        
+
     } else {
       parent.opener.document.compose.send_to.value = $addr;
     }
@@ -51,8 +53,8 @@ function cc_address($addr) {
   if(pwintype != "undefined" ) {
     if ( parent.opener.document.compose.send_to_cc.value ) {
       prefix = ", ";
-      parent.opener.document.compose.send_to_cc.value = 
-        parent.opener.document.compose.send_to_cc.value + ", " + $addr;      
+      parent.opener.document.compose.send_to_cc.value =
+        parent.opener.document.compose.send_to_cc.value + ", " + $addr;
     } else {
       parent.opener.document.compose.send_to_cc.value = $addr;
     }
@@ -62,14 +64,14 @@ function cc_address($addr) {
 function bcc_address($addr) {
   var prefix    = "";
   var pwintype = typeof parent.opener.document.compose;
-  
+
   $addr = $addr.replace(/ {1,35}$/, "");
 
   if(pwintype != "undefined" ) {
     if ( parent.opener.document.compose.send_to_bcc.value ) {
       prefix = ", ";
-      parent.opener.document.compose.send_to_bcc.value = 
-        parent.opener.document.compose.send_to_bcc.value + ", " + $addr;      
+      parent.opener.document.compose.send_to_bcc.value =
+        parent.opener.document.compose.send_to_bcc.value + ", " + $addr;
     } else {
       parent.opener.document.compose.send_to_bcc.value = $addr;
     }
@@ -78,191 +80,165 @@ function bcc_address($addr) {
 
 // --></SCRIPT>
 
-<?php 
+<?php
    } // End of included JavaScript
 
 
-   // List search results
-   function display_result($res, $includesource = true) {
-      global $color;
-
-      if(sizeof($res) <= 0) return;
-
-      insert_javascript();
-
-      $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"));
-
-      if($includesource)
-        printf("<TH ALIGN=left WIDTH=\"10%%\">&nbsp;%s", _("Source"));
-
-      print "</TR>\n";
-      
-      while(list($undef, $row) = each($res)) {
-        printf("<tr%s nowrap><td valign=top nowrap align=center width=\"5%%\">".
-               "<small><a href=\"javascript:to_address('%s');\">To</A> | ".
-               "<a href=\"javascript:cc_address('%s');\">Cc</A> | ".
-               "<a href=\"javascript:bcc_address('%s');\">Bcc</A></small>".
-               "<td nowrap valign=top>&nbsp;%s&nbsp;<td nowrap valign=top>".
-               "&nbsp;<a href=\"javascript:to_and_close('%s');\">%s</A>&nbsp;".
-               "<td valign=top>&nbsp;%s&nbsp;", 
-               ($line % 2) ? " bgcolor=\"$color[0]\"" : "", 
-               $row["email"], $row["email"], $row["email"], 
-               $row["name"],  $row["email"], $row["email"],
-               $row["label"]);
-
-        if($includesource)
-           printf("<td nowrap valign=top>&nbsp;%s", $row["source"]);
-
-        print "</TR>\n";
-        $line++;
-      }
-      print "</TABLE>";
-   }
-
-   /* ================= End of functions ================= */
-
-   session_start();
-   
-   if (!isset($i18n_php))
-      include("../functions/i18n.php");
-
-   if(!isset($logged_in) || !isset($username) || !isset($key)) {
-      include ("../themes/default_theme.php");
-      include ("../functions/display_messages.php");
-      printf('<html><BODY TEXT="%s" BGCOLOR="%s" LINK="%s" VLINK="%s" ALINK="%s">',
-              $color[8], $color[4], $color[7], $color[7], $color[7]);
-      plain_error_message(_("You need a valid user and password to access this page!")
-                          . "<br><a href=\"../src/login.php\">"
-                          . _("Click here to log back in.") . "</a>.", $color);
-      echo "</body></html>";
-      exit;
-   }
-   if (!isset($config_php))
-      include("../config/config.php");
-   if (!isset($array_php))
-      include("../functions/array.php");
-   if (!isset($auth_php))
-      include("../functions/auth.php");
-   if (!isset($strings_php))
-      include("../functions/strings.php");
-   if (!isset($page_header_php))
-      include("../functions/page_header.php");
-   if (!isset($addressbook_php))
-      include("../functions/addressbook.php");
-
-   is_logged_in();
-   include("../src/load_prefs.php");
-
-   displayHtmlHeader();
+    // List search results
+    function display_result($res, $includesource = true) {
+        global $color;
+        
+        if(sizeof($res) <= 0) return;
+        
+        insert_javascript();
+        
+        $line = 0;
+        echo '<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"));
+        
+        if($includesource)
+            printf("<TH ALIGN=left WIDTH=\"10%%\">&nbsp;%s", _("Source"));
+    
+        echo "</TR>\n";
+    
+        while(list($undef, $row) = each($res)) {
+            printf("<tr%s nowrap><td valign=top nowrap align=center width=\"5%%\">".
+                    "<small><a href=\"javascript:to_address('%s');\">To</A> | ".
+                    "<a href=\"javascript:cc_address('%s');\">Cc</A> | ".
+                    "<a href=\"javascript:bcc_address('%s');\">Bcc</A></small>".
+                    "<td nowrap valign=top>&nbsp;%s&nbsp;<td nowrap valign=top>".
+                    "&nbsp;<a href=\"javascript:to_and_close('%s');\">%s</A>&nbsp;".
+                    "<td valign=top>&nbsp;%s&nbsp;",
+                    ($line % 2) ? " bgcolor=\"$color[0]\"" : "",
+                    $row["email"], $row["email"], $row["email"],
+                    $row["name"],  $row["email"], $row["email"],
+                    $row["label"]);
+    
+            if($includesource)
+                printf("<td nowrap valign=top>&nbsp;%s", $row["source"]);
+    
+            echo "</TR>\n";
+            $line++;
+        }
+        echo '</TABLE>';
+    }
 
-   // Choose correct colors for top and bottom frame
-   if($show == "form") {
-      echo "<BODY BGCOLOR=\"$color[3]\" TEXT=\"$color[6]\" ";
-      echo "LINK=\"$color[6]\" VLINK=\"$color[6]\" ALINK=\"$color[6]\" ";
-      echo "OnLoad=\"document.sform.query.focus();\">";  
-   } else {
-      echo "<BODY TEXT=\"$color[8]\" BGCOLOR=\"$color[4]\" ";
-      echo "LINK=\"$color[7]\" VLINK=\"$color[7]\" ALINK=\"$color[7]\">\n";
-   }
+    /* ================= End of functions ================= */
+    
+    require_once('../functions/array.php');
+    require_once('../functions/strings.php');
+    require_once('../functions/addressbook.php');
+    
+    displayHtmlHeader();
+    
+    // Initialize vars
+    if(!isset($query)) $query = "";
+    if(!isset($show))  $show  = "";
+
+    // Choose correct colors for top and bottom frame
+    if($show == 'form') {
+        echo "<BODY BGCOLOR=\"$color[3]\" TEXT=\"$color[6]\" ";
+        echo "LINK=\"$color[6]\" VLINK=\"$color[6]\" ALINK=\"$color[6]\" ";
+        echo 'OnLoad="document.sform.query.focus();">';
+    } else {
+        echo "<BODY TEXT=\"$color[8]\" BGCOLOR=\"$color[4]\" ";
+        echo "LINK=\"$color[7]\" VLINK=\"$color[7]\" ALINK=\"$color[7]\">\n";
+    }
 
-   // Empty search
-   if(empty($query) && empty($show) && empty($listall))  {
-      printf("<P ALIGN=center><BR>%s</P>\n</BODY></HTML>\n",
-            _("No persons matching your search was found"));
+    // Empty search
+    if(empty($query) && empty($show) && empty($listall))  {
+        printf("<P ALIGN=center><BR>%s</P>\n</BODY></HTML>\n",
+         _("No persons matching your search was found"));
       exit;
-   }
-
-   // Initialize addressbook
-   $abook = addressbook_init();
-
-   // Create search form 
-   if($show == "form") {
-      printf("<FORM NAME=sform TARGET=abookres ACTION=\"%s\" METHOD=\"POST\">\n",
-            $PHP_SELF);
-      printf("<TABLE BORDER=0 WIDTH=\"100%%\" HEIGHT=\"100%%\">");
-      printf("<TR><TD NOWRAP VALIGN=middle>\n");
-      printf("  <STRONG>%s</STRONG>\n", _("Search for"));
-      printf("  <INPUT TYPE=text NAME=query VALUE=\"%s\" SIZE=26>\n",
-            htmlspecialchars($query));
-
-      // 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"));
-        printf("<OPTION VALUE=-1 SELECTED>%s\n", 
-               _("All address books"));
-        $ret = $abook->get_backend_list();
-        while(list($undef,$v) = each($ret)) 
-           printf("<OPTION VALUE=%d>%s\n", $v->bnum, $v->sname);
-        printf("</SELECT>\n");
-      } else {
-        printf("<INPUT TYPE=hidden NAME=backend VALUE=-1>\n");
-      }
+    }
 
-      printf("<INPUT TYPE=submit VALUE=\"%s\">",
-            _("Search"));
-      printf("&nbsp;|&nbsp;<INPUT TYPE=submit VALUE=\"%s\" NAME=listall>\n",
+    // Initialize addressbook
+    $abook = addressbook_init();
+
+    // Create search form
+    if($show == 'form') {
+        echo "<FORM NAME=sform TARGET=abookres ACTION=\"$PHP_SELF\" METHOD=\"POST\">\n";
+        echo '<TABLE BORDER="0" WIDTH="100%" HEIGHT="100%">';
+        echo "<TR><TD NOWRAP VALIGN=middle>\n";
+        printf("  <STRONG>%s</STRONG>\n", _("Search for"));
+        printf("  <INPUT TYPE=text NAME=query VALUE=\"%s\" SIZE=26>\n",
+         htmlspecialchars($query));
+        
+        // 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"));
+            printf("<OPTION VALUE=-1 SELECTED>%s\n",
+               _("All address books"));
+            $ret = $abook->get_backend_list();
+            while(list($undef,$v) = each($ret))
+                printf("<OPTION VALUE=%d>%s\n", $v->bnum, $v->sname);
+            print "</SELECT>\n";
+        } else {
+            print "<INPUT TYPE=hidden NAME=backend VALUE=-1>\n";
+        }
+        
+        printf("<INPUT TYPE=submit VALUE=\"%s\">",
+             _("Search"));
+        printf("&nbsp;|&nbsp;<INPUT TYPE=submit VALUE=\"%s\" NAME=listall>\n",
              _("List all"));
-      printf("</TD><TD ALIGN=right>\n");
-      printf("<INPUT TYPE=button VALUE=\"%s\" onclick=\"parent.close();\">\n",
+        print "</TD><TD ALIGN=right>\n";
+        printf("<INPUT TYPE=button VALUE=\"%s\" onclick=\"parent.close();\">\n",
              _("Close window"));
-      printf("</TD></TR></TABLE></FORM>\n");
-   } else
-
-   // Show personal addressbook
-   if($show == "blank" || !empty($listall)) {
-
-      if($backend != -1 || $show == "blank") {
-        if($show == "blank") 
-           $backend = $abook->localbackend;
-
-        //printf("<H3 ALIGN=center>%s</H3>\n", $abook->backends[$backend]->sname);
-
-        $res = $abook->list_addr($backend);
-
-        if(is_array($res)) {
-           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();
-        display_result($res, true);
-      }
-
-   } else
-
-   // Do the search
-   if(!empty($query) && empty($listall)) {
-
-      if($backend == -1) {
-        $res = $abook->s_search($query);
-      } else {
-        $res = $abook->s_search($query, $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;
-      }
-
-      display_result($res);
-   }
-?>
-
-</BODY></HTML>
+        print "</TD></TR></TABLE></FORM>\n";
+    } else
+
+    // Show personal addressbook
+    if($show == 'blank' || !empty($listall)) {
+
+        if($backend != -1 || $show == 'blank') {
+            if($show == 'blank')
+                $backend = $abook->localbackend;
+
+            $res = $abook->list_addr($backend);
+
+            if(is_array($res)) {
+                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();
+         display_result($res, true);
+        }
+
+    } else
+
+    // Do the search
+    if(!empty($query) && empty($listall)) {
+    
+        if($backend == -1) {
+            $res = $abook->s_search($query);
+        } else {
+            $res = $abook->s_search($query, $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;
+        }
+        
+        display_result($res);
+    }
+   
+   echo "</BODY></HTML>\n";
+   
+?>
\ No newline at end of file