// Constructor
function abook_database($param) {
- $this->sname = _("Personal address book");
+ $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)
$dbh = DB::connect($this->dsn, true);
if(DB::isError($dbh) || DB::isWarning($dbh))
- return $this->set_error(sprintf(_("Database error: %s"),
+ return $this->set_error(sprintf(_('Database error: %s'),
DB::errorMessage($dbh)));
$this->dbh = $dbh;
if(is_array($expr)) return;
// Make regexp from glob'ed expression
- $expr = ereg_replace("\?", "_", $expr);
- $expr = ereg_replace("\*", "%", $expr);
+ $expr = ereg_replace('\?', '_', $expr);
+ $expr = ereg_replace('\*'. '%', $expr);
$expr = $this->dbh->quoteString($expr);
$expr = "%$expr%";
- $query = sprintf("SELECT * FROM %s WHERE owner='%s' AND ".
- "(firstname LIKE '%s' OR lastname LIKE '%s')",
+ $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);
if(DB::isError($res))
- return $this->set_error(sprintf(_("Database error: %s"),
+ return $this->set_error(sprintf(_('Database error: %s'),
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;
}
if(!$this->open())
return false;
- $query = sprintf("SELECT * FROM %s WHERE owner='%s' AND nickname='%s'",
+ $query = sprintf('SELECT * FROM %s WHERE owner=\'%s\' AND nickname=\'%s\'',
$this->table, $this->owner, $alias);
$res = $this->dbh->query($query);
if(DB::isError($res))
- return $this->set_error(sprintf(_("Database error: %s"),
+ return $this->set_error(sprintf(_('Database error: %s'),
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();
if(!$this->open())
return false;
- $query = sprintf("SELECT * FROM %s WHERE owner='%s'",
+ $query = sprintf(;SELECT * FROM %s WHERE owner=\'%s\';,
$this->table, $this->owner);
$res = $this->dbh->query($query);
if(DB::isError($res))
- return $this->set_error(sprintf(_("Database error: %s"),
+ return $this->set_error(sprintf(_('Database error: %s'),
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)
- return $this->set_error(_("Addressbook is read-only"));
+ 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);
if($r == DB_OK) return true;
// Fail
- return $this->set_error(sprintf(_("Database error: %s"),
+ return $this->set_error(sprintf(_('Database error: %s'),
DB::errorMessage($r)));
}
// Delete address
function remove($alias) {
if(!$this->writeable)
- return $this->set_error(_("Addressbook is read-only"));
+ return $this->set_error(_('Addressbook is read-only'));
if(!$this->open())
return false;
// Create query
- $query = sprintf("DELETE FROM %s WHERE owner='%s' AND (",
+ $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,
+ $query .= sprintf('%s nickname=\'%s\' ', $sepstr,
$this->dbh->quoteString($nickname));
- $sepstr = "OR";
+ $sepstr = 'OR';
}
- $query .= ")";
+ $query .= ')';
// Delete entry
$r = $this->dbh->simpleQuery($query);
if($r == DB_OK) return true;
// Fail
- return $this->set_error(sprintf(_("Database error: %s"),
+ return $this->set_error(sprintf(_('Database error: %s'),
DB::errorMessage($r)));
}
// Modify address
function modify($alias, $userdata) {
if(!$this->writeable)
- return $this->set_error(_("Addressbook is read-only"));
+ return $this->set_error(_('Addressbook is read-only'));
if(!$this->open())
return false;
// 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) );
if($r == DB_OK) return true;
// Fail
- return $this->set_error(sprintf(_("Database error: %s"),
+ return $this->set_error(sprintf(_('Database error: %s'),
DB::errorMessage($r)));
}
} // End of class abook_database
**/
class abook_ldap_server extends addressbook_backend {
- var $btype = "remote";
- var $bname = "ldap_server";
+ var $btype = 'remote';
+ var $bname = 'ldap_server';
// Parameters changed by class
- var $sname = "LDAP"; // Service name
- var $server = ""; // LDAP server name
+ var $sname = 'LDAP'; // Service name
+ var $server = ''; // LDAP server name
var $port = 389; // LDAP server port
- var $basedn = ""; // LDAP base DN
- var $charset = "utf-8"; // LDAP server charset
+ var $basedn = ''; // LDAP base DN
+ var $charset = 'utf-8'; // LDAP server charset
var $linkid = false; // PHP LDAP link ID
var $bound = false; // True if LDAP server is bound
var $maxrows = 250; // Max rows in result
// Constructor. Connects to database
function abook_ldap_server($param) {
- if(!function_exists("ldap_connect")) {
- $this->set_error("LDAP support missing from PHP");
+ if(!function_exists('ldap_connect')) {
+ $this->set_error('LDAP support missing from PHP');
return;
}
if(is_array($param)) {
- $this->server = $param["host"];
- $this->basedn = $param["base"];
- if(!empty($param["port"]))
- $this->port = $param["port"];
- if(!empty($param["charset"]))
- $this->charset = strtolower($param["charset"]);
- if(isset($param["maxrows"]))
- $this->maxrows = $param["maxrows"];
- if(isset($param["timeout"]))
- $this->timeout = $param["timeout"];
- if(empty($param["name"]))
- $this->sname = "LDAP: ".$param["host"];
+ $this->server = $param['host'];
+ $this->basedn = $param['base'];
+ if(!empty($param['port']))
+ $this->port = $param['port'];
+ if(!empty($param['charset']))
+ $this->charset = strtolower($param['charset']);
+ if(isset($param['maxrows']))
+ $this->maxrows = $param['maxrows'];
+ if(isset($param['timeout']))
+ $this->timeout = $param['timeout'];
+ if(empty($param['name']))
+ $this->sname = 'LDAP: ' . $param['host'];
else
- $this->sname = $param["name"];
+ $this->sname = $param['name'];
$this->open(true);
} else {
- $this->set_error("Invalid argument to constructor");
+ $this->set_error('Invalid argument to constructor');
}
}
// Open the LDAP server. New connection if $new is true
function open($new = false) {
- $this->error = "";
+ $this->error = '';
// Connection is already open
if($this->linkid != false && !$new)
$this->linkid = @ldap_connect($this->server, $this->port);
if(!$this->linkid)
- if(function_exists("ldap_error"))
+ if(function_exists('ldap_error'))
return $this->set_error(ldap_error($this->linkid));
else
- return $this->set_error("ldap_connect failed");
+ return $this->set_error('ldap_connect failed');
if(!@ldap_bind($this->linkid))
- if(function_exists("ldap_error"))
+ if(function_exists('ldap_error'))
return $this->set_error(ldap_error($this->linkid));
else
- return $this->set_error("ldap_bind failed");
+ return $this->set_error('ldap_bind failed');
$this->bound = true;
// Encode iso8859-1 string to the charset used by this LDAP server
function charset_encode($str) {
- if($this->charset == "utf-8") {
- if(function_exists("utf8_encode"))
+ if($this->charset == 'utf-8') {
+ if(function_exists('utf8_encode'))
return utf8_encode($str);
else
return $str;
// Decode from charset used by this LDAP server to iso8859-1
function charset_decode($str) {
- if($this->charset == "utf-8") {
- if(function_exists("utf8_decode"))
+ if($this->charset == 'utf-8') {
+ if(function_exists('utf8_decode'))
return utf8_decode($str);
else
return $str;
// Encode the expression
$expr = $this->charset_encode($expr);
- if(!ereg("\*", $expr))
- $expr = "*$expr*";
+ if(!ereg('\*', $expr))
+ $expr = '*$expr*';
$expression = "cn=$expr";
// Make sure connection is there
// 4.0.2 or newer.
if(sqCheckPHPVersion(4, 0, 2)) {
$sret = @ldap_search($this->linkid, $this->basedn, $expression,
- array("dn", "o", "ou", "sn", "givenname",
- "cn", "mail", "telephonenumber"),
+ array('dn', 'o', 'ou', 'sn', 'givenname',
+ 'cn', 'mail', 'telephonenumber'),
0, $this->maxrows, $this->timeout);
} else {
$sret = @ldap_search($this->linkid, $this->basedn, $expression,
- array("dn", "o", "ou", "sn", "givenname",
- "cn", "mail", "telephonenumber"));
+ array('dn', 'o', 'ou', 'sn', 'givenname',
+ 'cn', 'mail', 'telephonenumber'));
}
// Should get error from server using the ldap_error() function,
// but it only exist in the PHP LDAP documentation.
if(!$sret)
- if(function_exists("ldap_error"))
+ if(function_exists('ldap_error'))
return $this->set_error(ldap_error($this->linkid));
else
- return $this->set_error("ldap_search failed");
+ return $this->set_error('ldap_search failed');
if(@ldap_count_entries($this->linkid, $sret) <= 0)
return array();
$ret = array();
$returned_rows = 0;
$res = @ldap_get_entries($this->linkid, $sret);
- for($i = 0 ; $i < $res["count"] ; $i++) {
+ for($i = 0 ; $i < $res['count'] ; $i++) {
$row = $res[$i];
// Extract data common for all e-mail addresses
// of an object. Use only the first name
- $nickname = $this->charset_decode($row["dn"]);
- $fullname = $this->charset_decode($row["cn"][0]);
+ $nickname = $this->charset_decode($row['dn']);
+ $fullname = $this->charset_decode($row['cn'][0]);
- if(empty($row["telephonenumber"][0])) $phone = "";
- else $phone = $this->charset_decode($row["telephonenumber"][0]);
+ if(empty($row['telephonenumber'][0])) $phone = '';
+ else $phone = $this->charset_decode($row['telephonenumber'][0]);
- if(!empty($row["ou"][0]))
- $label = $this->charset_decode($row["ou"][0]);
- else if(!empty($row["o"][0]))
- $label = $this->charset_decode($row["o"][0]);
+ if(!empty($row['ou'][0]))
+ $label = $this->charset_decode($row['ou'][0]);
+ else if(!empty($row['o'][0]))
+ $label = $this->charset_decode($row['o'][0]);
else
- $label = "";
+ $label = '';
- if(empty($row["givenname"][0])) $firstname = "";
- else $firstname = $this->charset_decode($row["givenname"][0]);
+ if(empty($row['givenname'][0])) $firstname = '';
+ else $firstname = $this->charset_decode($row['givenname'][0]);
- if(empty($row["sn"][0])) $surname = "";
- else $surname = $this->charset_decode($row["sn"][0]);
+ if(empty($row['sn'][0])) $surname = '';
+ else $surname = $this->charset_decode($row['sn'][0]);
// Add one row to result for each e-mail address
- for($j = 0 ; $j < $row["mail"]["count"] ; $j++) {
- array_push($ret, array("nickname" => $nickname,
- "name" => $fullname,
- "firstname" => $firstname,
- "lastname" => $surname,
- "email" => $row["mail"][$j],
- "label" => $label,
- "phone" => $phone,
- "backend" => $this->bnum,
- "source" => &$this->sname));
+ for($j = 0 ; $j < $row['mail']['count'] ; $j++) {
+ array_push($ret, array('nickname' => $nickname,
+ 'name' => $fullname,
+ 'firstname' => $firstname,
+ 'lastname' => $surname,
+ 'email' => $row['mail'][$j],
+ 'label' => $label,
+ 'phone' => $phone,
+ 'backend' => $this->bnum,
+ 'source' => &$this->sname));
// Limit number of hits
$returned_rows++;
**/
class abook_local_file extends addressbook_backend {
- var $btype = "local";
- var $bname = "local_file";
+ var $btype = 'local';
+ var $bname = 'local_file';
- var $filename = "";
+ var $filename = '';
var $filehandle = 0;
var $create = false;
var $umask;
// Constructor
function abook_local_file($param) {
- $this->sname = _("Personal address book");
+ $this->sname = _('Personal address book');
$this->umask = Umask();
if(is_array($param)) {
- if(empty($param["filename"]))
- return $this->set_error("Invalid parameters");
- if(!is_string($param["filename"]))
- return $this->set_error($param["filename"] . ": ".
- _("Not a file name"));
+ if(empty($param['filename']))
+ return $this->set_error('Invalid parameters');
+ if(!is_string($param['filename']))
+ return $this->set_error($param['filename'] . ': '.
+ _('Not a file name'));
- $this->filename = $param["filename"];
+ $this->filename = $param['filename'];
- if($param["create"])
+ if($param['create'])
$this->create = true;
- if(isset($param["umask"]))
- $this->umask = $param["umask"];
+ if(isset($param['umask']))
+ $this->umask = $param['umask'];
- if(!empty($param["name"]))
- $this->sname = $param["name"];
+ if(!empty($param['name']))
+ $this->sname = $param['name'];
$this->open(true);
} else {
- $this->set_error("Invalid argument to constructor");
+ $this->set_error('Invalid argument to constructor');
}
}
// filename property. If $param is empty and file is
// open, do nothing.
function open($new = false) {
- $this->error = "";
+ $this->error = '';
$file = $this->filename;
$create = $this->create;
// Check that new file exitsts
if((!(file_exists($file) && is_readable($file))) && !$create)
- return $this->set_error("$file: " .
- _("No such file or directory"));
+ return $this->set_error("$file: " . _('No such file or directory'));
// Close old file, if any
if($this->filehandle) $this->close();
// Open file. First try to open for reading and writing,
// but fall back to read only.
umask($this->umask);
- $fh = @fopen($file, "a+");
+ $fh = @fopen($file, 'a+');
if($fh) {
$this->filehandle = &$fh;
$this->filename = $file;
$this->writeable = true;
} else {
- $fh = @fopen($file, "r");
+ $fh = @fopen($file, 'r');
if($fh) {
$this->filehandle = &$fh;
$this->filename = $file;
$this->writeable = false;
} else {
- return $this->set_error("$file: "._("Open failed"));
+ return $this->set_error("$file: " . _('Open failed'));
}
}
function close() {
@fclose($this->filehandle);
$this->filehandle = 0;
- $this->filename = "";
+ $this->filename = '';
$this->writable = false;
}
// Overwrite the file with data from $rows
// NOTE! Previous locks are broken by this function
function overwrite($rows) {
- $newfh = @fopen($this->filename, "w");
+ $newfh = @fopen($this->filename, 'w');
if(!$newfh)
- return $this->set_error("$file: "._("Open failed"));
+ return $this->set_error("$file: " . _('Open failed'));
for($i = 0 ; $i < sizeof($rows) ; $i++) {
if(is_array($rows[$i]))
- fwrite($newfh, join("|", $rows[$i])."\n");
+ fwrite($newfh, join('|', $rows[$i]) . '\n');
}
fclose($newfh);
if(is_array($expr)) return;
// Make regexp from glob'ed expression
- $expr = ereg_replace("\?", ".", $expr);
- $expr = ereg_replace("\*", ".*", $expr);
+ $expr = ereg_replace('\?', '.', $expr);
+ $expr = ereg_replace('\*', '.*', $expr);
$res = array();
if(!$this->open())
@rewind($this->filehandle);
- while ($row = @fgetcsv($this->filehandle, 2048, "|")) {
- $line = join(" ", $row);
+ while ($row = @fgetcsv($this->filehandle, 2048, '|')) {
+ $line = join(' ', $row);
if(eregi($expr, $line)) {
- array_push($res, array("nickname" => $row[0],
- "name" => $row[1] . " " . $row[2],
- "firstname" => $row[1],
- "lastname" => $row[2],
- "email" => $row[3],
- "label" => $row[4],
- "backend" => $this->bnum,
- "source" => &$this->sname));
+ array_push($res, array('nickname' => $row[0],
+ 'name' => $row[1] . ' ' . $row[2],
+ 'firstname' => $row[1],
+ 'lastname' => $row[2],
+ 'email' => $row[3],
+ 'label' => $row[4],
+ 'backend' => $this->bnum,
+ 'source' => &$this->sname));
}
}
$this->open();
@rewind($this->filehandle);
- while ($row = @fgetcsv($this->filehandle, 2048, "|")) {
+ while ($row = @fgetcsv($this->filehandle, 2048, '|')) {
if(strtolower($row[0]) == $alias) {
- return array("nickname" => $row[0],
- "name" => $row[1] . " " . $row[2],
- "firstname" => $row[1],
- "lastname" => $row[2],
- "email" => $row[3],
- "label" => $row[4],
- "backend" => $this->bnum,
- "source" => &$this->sname);
+ return array('nickname' => $row[0],
+ 'name' => $row[1] . ' ' . $row[2],
+ 'firstname' => $row[1],
+ 'lastname' => $row[2],
+ 'email' => $row[3],
+ 'label' => $row[4],
+ 'backend' => $this->bnum,
+ 'source' => &$this->sname);
}
}
$this->open();
@rewind($this->filehandle);
- while ($row = @fgetcsv($this->filehandle, 2048, "|")) {
- array_push($res, array("nickname" => $row[0],
- "name" => $row[1] . " " . $row[2],
- "firstname" => $row[1],
- "lastname" => $row[2],
- "email" => $row[3],
- "label" => $row[4],
- "backend" => $this->bnum,
- "source" => &$this->sname));
+ while ($row = @fgetcsv($this->filehandle, 2048, '|')) {
+ array_push($res, array('nickname' => $row[0],
+ 'name' => $row[1] . ' ' . $row[2],
+ 'firstname' => $row[1],
+ 'lastname' => $row[2],
+ 'email' => $row[3],
+ 'label' => $row[4],
+ 'backend' => $this->bnum,
+ 'source' => &$this->sname));
}
return $res;
}
// Add address
function add($userdata) {
if(!$this->writeable)
- return $this->set_error(_("Addressbook is read-only"));
+ return $this->set_error(_('Addressbook is read-only'));
// 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']));
// Here is the data to write
- $data = sprintf("%s|%s|%s|%s|%s", $userdata["nickname"],
- $userdata["firstname"], $userdata["lastname"],
- $userdata["email"], $userdata["label"]);
+ $data = $userdata['nickname'] . '|' . $userdata['firstname'] . '|' .
+ $userdata['lastname'] . '|' . $userdata['email'] . '|' .
+ $userdata['label'];
// Strip linefeeds
- $data = ereg_replace("[\r\n]", " ", $data);
+ $data = ereg_replace('[\r\n]', ' ', $data);
// Add linefeed at end
- $data = $data."\n";
+ $data = $data . '\n';
// Reopen file, just to be sure
$this->open(true);
if(!$this->writeable)
- return $this->set_error(_("Addressbook is read-only"));
+ return $this->set_error(_('Addressbook is read-only'));
// Lock the file
if(!$this->lock())
- return $this->set_error(_("Could not lock datafile"));
+ return $this->set_error(_('Could not lock datafile'));
// Write
$r = fwrite($this->filehandle, $data);
if($r > 0) return true;
// Fail
- $this->set_error(_("Write to addressbook failed"));
+ $this->set_error(_('Write to addressbook failed'));
return false;
}
// Delete address
function remove($alias) {
if(!$this->writeable)
- return $this->set_error(_("Addressbook is read-only"));
+ return $this->set_error(_('Addressbook is read-only'));
// Lock the file to make sure we're the only process working
// on it.
if(!$this->lock())
- return $this->set_error(_("Could not lock datafile"));
+ return $this->set_error(_('Could not lock datafile'));
// Read file into memory, ignoring nicknames to delete
$this->open();
@rewind($this->filehandle);
$i = 0;
$rows = array();
- while($row = @fgetcsv($this->filehandle, 2048, "|")) {
+ while($row = @fgetcsv($this->filehandle, 2048, '|')) {
if(!in_array($row[0], $alias))
$rows[$i++] = $row;
}
// Modify address
function modify($alias, $userdata) {
if(!$this->writeable)
- return $this->set_error(_("Addressbook is read-only"));
+ return $this->set_error(_('Addressbook is read-only'));
// 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));
// Lock the file to make sure we're the only process working
// on it.
if(!$this->lock())
- return $this->set_error(_("Could not lock datafile"));
+ return $this->set_error(_('Could not lock datafile'));
// Read file into memory, modifying the data for the
// user identifyed by $alias
@rewind($this->filehandle);
$i = 0;
$rows = array();
- while($row = @fgetcsv($this->filehandle, 2048, "|")) {
+ while($row = @fgetcsv($this->filehandle, 2048, '|')) {
if(strtolower($row[0]) != strtolower($alias)) {
$rows[$i++] = $row;
} else {
- $rows[$i++] = array(0 => $userdata["nickname"],
- 1 => $userdata["firstname"],
- 2 => $userdata["lastname"],
- 3 => $userdata["email"],
- 4 => $userdata["label"]);
+ $rows[$i++] = array(0 => $userdata['nickname'],
+ 1 => $userdata['firstname'],
+ 2 => $userdata['lastname'],
+ 3 => $userdata['email'],
+ 4 => $userdata['label']);
}
}