Converted some ereg_replace() into str_replace().
[squirrelmail.git] / functions / abook_database.php
index 85a0e9e105aee5ae50cb191a5287c77f47a45a35..8fcb5170a000d6794bcbb79b8c463ebac1316dc7 100644 (file)
     ** $Id$
     **/
    
-   require_once("DB.php");
+   require_once('DB.php');
    
    class abook_database extends addressbook_backend {
-      var $btype = "local";
-      var $bname = "database";
+      var $btype = 'local';
+      var $bname = 'database';
       
-      var $dsn       = "";
-      var $table     = "";
-      var $owner     = "";
+      var $dsn       = '';
+      var $table     = '';
+      var $owner     = '';
       var $dbh       = false;
       
       var $writeable = true;
          $this->sname = _("Personal address book");
          
          if(is_array($param)) {
-            if(empty($param["dsn"]) || 
-               empty($param["table"]) || 
-               empty($param["owner"]))
-               return $this->set_error("Invalid parameters");
+            if(empty($param['dsn']) || 
+               empty($param['table']) || 
+               empty($param['owner']))
+               return $this->set_error('Invalid parameters');
             
-            $this->dsn   = $param["dsn"];
-            $this->table = $param["table"];
-            $this->owner = $param["owner"];
+            $this->dsn   = $param['dsn'];
+            $this->table = $param['table'];
+            $this->owner = $param['owner'];
             
-            if(!empty($param["name"]))
-               $this->sname = $param["name"];
+            if(!empty($param['name']))
+               $this->sname = $param['name'];
 
-            if(isset($param["writeable"]))
-               $this->writeable = $param["writeable"];
+            if(isset($param['writeable']))
+               $this->writeable = $param['writeable'];
 
             $this->open(true);
          } else {
-            return $this->set_error("Invalid argument to constructor");
+            return $this->set_error('Invalid argument to constructor');
          }
       }
       
       
       // Open the database. New connection if $new is true
       function open($new = false) {
-         $this->error = "";
+         $this->error = '';
          
          // Return true is file is open and $new is unset
          if($this->dbh && !$new)
          if(is_array($expr)) return;
 
          // Make regexp from glob'ed expression 
-         $expr = ereg_replace("\?", "_", $expr);
-         $expr = ereg_replace("\*", "%", $expr);
+         $expr = str_replace('?', '_', $expr);
+         $expr = str_replace('*', '%', $expr);
          $expr = $this->dbh->quoteString($expr);
          $expr = "%$expr%";
 
-         $query = sprintf("SELECT * FROM %s WHERE owner='%s' AND ".
+         $query = sprintf("SELECT * FROM %s WHERE owner='%s' AND " .
                           "(firstname LIKE '%s' OR lastname LIKE '%s')",
                           $this->table, $this->owner, $expr, $expr);
          $res = $this->dbh->query($query);
                                             DB::errorMessage($res)));
 
          while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
-            array_push($ret, array("nickname"  => $row["nickname"],
-                                   "name"      => $row["firstname"] . " " . $row["lastname"],
-                                   "firstname" => $row["firstname"],
-                                   "lastname"  => $row["lastname"],
-                                   "email"     => $row["email"],
-                                   "label"     => $row["label"],
-                                   "backend"   => $this->bnum,
-                                   "source"    => &$this->sname));
+            array_push($ret, array('nickname'  => $row['nickname'],
+                                   'name'      => "$row[firstname] $row[lastname]",
+                                   'firstname' => $row['firstname'],
+                                   'lastname'  => $row['lastname'],
+                                   'email'     => $row['email'],
+                                   'label'     => $row['label'],
+                                   'backend'   => $this->bnum,
+                                   'source'    => &$this->sname));
          }
          return $ret;
       }
                                             DB::errorMessage($res)));
 
          if ($row = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
-            return array("nickname"  => $row["nickname"],
-                         "name"      => $row["firstname"] . " " . $row["lastname"],
-                         "firstname" => $row["firstname"],
-                         "lastname"  => $row["lastname"],
-                         "email"     => $row["email"],
-                         "label"     => $row["label"],
-                         "backend"   => $this->bnum,
-                         "source"    => &$this->sname);
+            return array('nickname'  => $row['nickname'],
+                         'name'      => "$row[firstname] $row[lastname]",
+                         'firstname' => $row['firstname'],
+                         'lastname'  => $row['lastname'],
+                         'email'     => $row['email'],
+                         'label'     => $row['label'],
+                         'backend'   => $this->bnum,
+                         'source'    => &$this->sname);
          }
 
          return array();
                                             DB::errorMessage($res)));
 
          while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
-            array_push($ret, array("nickname"  => $row["nickname"],
-                                   "name"      => $row["firstname"] . " " . $row["lastname"],
-                                   "firstname" => $row["firstname"],
-                                   "lastname"  => $row["lastname"],
-                                   "email"     => $row["email"],
-                                   "label"     => $row["label"],
-                                   "backend"   => $this->bnum,
-                                   "source"    => &$this->sname));
+            array_push($ret, array('nickname'  => $row['nickname'],
+                                   'name'      => "$row[firstname] $row[lastname]",
+                                   'firstname' => $row['firstname'],
+                                   'lastname'  => $row['lastname'],
+                                   'email'     => $row['email'],
+                                   'label'     => $row['label'],
+                                   'backend'   => $this->bnum,
+                                   'source'    => &$this->sname));
          }
          return $ret;
       }
 
       // Add address
       function add($userdata) {
-         if(!$this->writeable) 
+         if(!$this->writeable)
             return $this->set_error(_("Addressbook is read-only"));
 
          if(!$this->open())
             return false;
          
          // See if user exist already
-         $ret = $this->lookup($userdata["nickname"]);
+         $ret = $this->lookup($userdata['nickname']);
          if(!empty($ret))
-            return $this->set_error(sprintf(_("User '%s' already exist"), 
-                                            $ret["nickname"]));
+            return $this->set_error(sprintf(_("User '%s' already exist"),
+                                            $ret['nickname']));
 
          // Create query
-         $query = sprintf("INSERT INTO %s (owner, nickname, firstname, ".
-                          "lastname, email, label) VALUES('%s','%s','%s',".
+         $query = sprintf("INSERT INTO %s (owner, nickname, firstname, " .
+                          "lastname, email, label) VALUES('%s','%s','%s'," .
                           "'%s','%s','%s')",
                           $this->table, $this->owner,
-                          $this->dbh->quoteString($userdata["nickname"]),
-                          $this->dbh->quoteString($userdata["firstname"]), 
-                          $this->dbh->quoteString($userdata["lastname"]),
-                          $this->dbh->quoteString($userdata["email"]), 
-                          $this->dbh->quoteString($userdata["label"]) );
+                          $this->dbh->quoteString($userdata['nickname']),
+                          $this->dbh->quoteString($userdata['firstname']), 
+                          $this->dbh->quoteString($userdata['lastname']),
+                          $this->dbh->quoteString($userdata['email']), 
+                          $this->dbh->quoteString($userdata['label']) );
 
          // Do the insert
          $r = $this->dbh->simpleQuery($query);
          $query = sprintf("DELETE FROM %s WHERE owner='%s' AND (",
                           $this->table, $this->owner);
 
-         $sepstr = "";
+         $sepstr = '';
          while(list($undef, $nickname) = each($alias)) {
             $query .= sprintf("%s nickname='%s' ", $sepstr,
                               $this->dbh->quoteString($nickname));
-            $sepstr = "OR";
+            $sepstr = 'OR';
          }
-         $query .= ")";
+         $query .= ')';
 
          // Delete entry
          $r = $this->dbh->simpleQuery($query);
          // See if user exist
          $ret = $this->lookup($alias);
          if(empty($ret))
-            return $this->set_error(sprintf(_("User '%s' does not exist"), 
+            return $this->set_error(sprintf(_("User '%s' does not exist"),
                                             $alias));
 
          // Create query
                           "lastname='%s', email='%s', label='%s' ".
                           "WHERE owner='%s' AND nickname='%s'",
                           $this->table, 
-                          $this->dbh->quoteString($userdata["nickname"]),
-                          $this->dbh->quoteString($userdata["firstname"]), 
-                          $this->dbh->quoteString($userdata["lastname"]),
-                          $this->dbh->quoteString($userdata["email"]), 
-                          $this->dbh->quoteString($userdata["label"]),
+                          $this->dbh->quoteString($userdata['nickname']),
+                          $this->dbh->quoteString($userdata['firstname']), 
+                          $this->dbh->quoteString($userdata['lastname']),
+                          $this->dbh->quoteString($userdata['email']), 
+                          $this->dbh->quoteString($userdata['label']),
                           $this->owner,
                           $this->dbh->quoteString($alias) );