information about added themes and sq_strpos_8bit() function in url parser.
[squirrelmail.git] / functions / abook_local_file.php
index a7d4836a06a17cac59f6b2d22d4a856f3773b646..274e19dad0b4c3c88bbace443271cdbb5331b776 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * abook_local_file.php
  *
- * @copyright © 1999-2005 The SquirrelMail Project Team
+ * @copyright © 1999-2006 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -276,7 +276,12 @@ class abook_local_file extends addressbook_backend {
 
         while ($row = @fgetcsv($this->filehandle, 2048, '|')) {
             $line = join(' ', $row);
-            if(eregi($expr, $line)) {
+            /**
+             * TODO: regexp search is supported only in local_file backend.
+             * Do we check format of regexp or ignore errors?
+             */
+            // errors on eregi call are suppressed in order to prevent display of regexp compilation errors
+            if(@eregi($expr, $line)) {
                 array_push($res, array('nickname'  => $row[0],
                     'name'      => $row[1] . ' ' . $row[2],
                     'firstname' => $row[1],
@@ -368,9 +373,9 @@ class abook_local_file extends addressbook_backend {
         /* Here is the data to write */
         $data = $this->quotevalue($userdata['nickname']) . '|' .
                 $this->quotevalue($userdata['firstname']) . '|' .
-                $this->quotevalue($userdata['lastname']) . '|' .
+                $this->quotevalue((!empty($userdata['lastname'])?$userdata['lastname']:'')) . '|' .
                 $this->quotevalue($userdata['email']) . '|' .
-                $this->quotevalue($userdata['label']);
+                $this->quotevalue((!empty($userdata['label'])?$userdata['label']:''));
 
         /* Strip linefeeds */
         $data = ereg_replace("[\r\n]", ' ', $data);
@@ -476,9 +481,9 @@ class abook_local_file extends addressbook_backend {
             } else {
                 $rows[$i++] = array(0 => $userdata['nickname'],
                                     1 => $userdata['firstname'],
-                                    2 => $userdata['lastname'],
+                                    2 => (!empty($userdata['lastname'])?$userdata['lastname']:''),
                                     3 => $userdata['email'],
-                                    4 => $userdata['label']);
+                                    4 => (!empty($userdata['label'])?$userdata['label']:''));
             }
         }
 
@@ -507,4 +512,4 @@ class abook_local_file extends addressbook_backend {
     }
 
 } /* End of class abook_local_file */
-?>
\ No newline at end of file
+?>