This time really make abook files get created with correct permissions
[squirrelmail.git] / functions / abook_local_file.php
index 1c1901f7a2e8fe92439ada1241416e7516d744b6..0c235e36bc8adc9be414977cccd717621b21d748 100644 (file)
@@ -300,8 +300,8 @@ class abook_local_file extends addressbook_backend {
                  * 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)) {
+                // errors on preg_match call are suppressed in order to prevent display of regexp compilation errors
+                if(@preg_match('/' . $expr . '/i', $line)) {
                     array_push($res, array('nickname'  => $row[0],
                         'name'      => $this->fullname($row[1], $row[2]),
                         'firstname' => $row[1],
@@ -433,7 +433,8 @@ class abook_local_file extends addressbook_backend {
                 $this->quotevalue((!empty($userdata['label'])?$userdata['label']:''));
 
         /* Strip linefeeds */
-        $data = ereg_replace("[\r\n]", ' ', $data);
+        $nl_str = array("\r","\n");
+        $data = str_replace($nl_str, ' ', $data);
 
         /**
          * Make sure that entry fits into allocated record space.
@@ -588,7 +589,7 @@ class abook_local_file extends addressbook_backend {
     function quotevalue($value) {
         /* Quote the field if it contains | or ". Double quotes need to
          * be replaced with "" */
-        if(ereg("[|\"]", $value)) {
+        if(stristr('"', $value) || stristr('|', $value)) {
             $value = '"' . str_replace('"', '""', $value) . '"';
         }
         return $value;