projects
/
squirrelmail.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow unsent compose sessions to stay around, but remove them after successful send
[squirrelmail.git]
/
functions
/
addressbook.php
diff --git
a/functions/addressbook.php
b/functions/addressbook.php
index 7103d6a162f570ebf12b9de47ca985ed5a509a03..a91b68218ede799a0e81bc4ececc3934885850ba 100644
(file)
--- a/
functions/addressbook.php
+++ b/
functions/addressbook.php
@@
-4,7
+4,7
@@
*
* Functions require SM_PATH and support of forms.php functions
*
*
* Functions require SM_PATH and support of forms.php functions
*
- * @copyright
© 1999-2009
The SquirrelMail Project Team
+ * @copyright
1999-2018
The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
@@
-54,6
+54,7
@@
function addressbook_init($showerr = true, $onlylocal = false) {
/* File */
$filename = getHashedFile($username, $data_dir, "$username.abook");
$r = $abook->add_backend('local_file', Array('filename' => $filename,
/* File */
$filename = getHashedFile($username, $data_dir, "$username.abook");
$r = $abook->add_backend('local_file', Array('filename' => $filename,
+ 'umask' => 0077,
'line_length' => $abook_file_line_length,
'create' => true));
if(!$r && $showerr) {
'line_length' => $abook_file_line_length,
'create' => true));
if(!$r && $showerr) {
@@
-161,7
+162,7
@@
function addressbook_init($showerr = true, $onlylocal = false) {
* display address book init errors.
*/
if ($abook_init_error!='' && $showerr) {
* display address book init errors.
*/
if ($abook_init_error!='' && $showerr) {
- error_box(nl2br(
htmlspecial
chars($abook_init_error)));
+ error_box(nl2br(
sm_encode_html_special_
chars($abook_init_error)));
}
/* Return the initialized object */
}
/* Return the initialized object */
@@
-191,7
+192,7
@@
function abook_create_form($form_url, $name, $title, $button,
global $oTemplate;
global $oTemplate;
- $output = addForm($form_url, 'post', 'f_add');
+ $output = addForm($form_url, 'post', 'f_add'
, '', '', array(), TRUE
);
if ($button == _("Update address")) {
$edit = true;
if ($button == _("Update address")) {
$edit = true;
@@
-413,7
+414,7
@@
class AddressBook {
*
* Extra field can be used to add link to form, which allows
* to modify all fields supported by backend. This is the only field
*
* Extra field can be used to add link to form, which allows
* to modify all fields supported by backend. This is the only field
- * that is not sanitized with
htmlspecial
chars. Backends MUST make
+ * that is not sanitized with
sm_encode_html_special_
chars. Backends MUST make
* sure that field data is sanitized and displayed correctly inside
* table cell. Use of html formating in other address book fields is
* not allowed. Backends that don't return 'extra' row in address book
* sure that field data is sanitized and displayed correctly inside
* table cell. Use of html formating in other address book fields is
* not allowed. Backends that don't return 'extra' row in address book
@@
-424,12
+425,19
@@
class AddressBook {
var $add_extra_field = false;
/**
var $add_extra_field = false;
/**
- * Constructor
function.
+ * Constructor
(PHP5 style, required in some future version of PHP)
*/
*/
- function
AddressBook
() {
+ function
__construct
() {
$this->localbackendname = _("Personal Address Book");
}
$this->localbackendname = _("Personal Address Book");
}
+ /**
+ * Constructor (PHP4 style, kept for compatibility reasons)
+ */
+ function AddressBook() {
+ self::__construct();
+ }
+
/**
* Return an array of backends of a given type,
* or all backends if no type is specified.
/**
* Return an array of backends of a given type,
* or all backends if no type is specified.
@@
-513,9
+521,8
@@
class AddressBook {
* @param array $row address book entry
* @return string email address with real name prepended
*/
* @param array $row address book entry
* @return string email address with real name prepended
*/
- function full_address($row) {
- global $data_dir, $username;
- $addrsrch_fullname = getPref($data_dir, $username, 'addrsrch_fullname');
+ static function full_address($row) {
+ global $data_dir, $username, $addrsrch_fullname;
// allow multiple addresses in one row (poor person's grouping - bah)
// (separate with commas)
// allow multiple addresses in one row (poor person's grouping - bah)
// (separate with commas)
@@
-731,7
+738,7
@@
class AddressBook {
}
/* Blocks use of space, :, |, #, " and ! in nickname */
}
/* Blocks use of space, :, |, #, " and ! in nickname */
- if (
eregi('[ \\:\\|\\#\\"\\!]
', $userdata['nickname'])) {
+ if (
preg_match('/[ :|#"!]/
', $userdata['nickname'])) {
$this->error = _("Nickname contains illegal characters");
return false;
}
$this->error = _("Nickname contains illegal characters");
return false;
}
@@
-831,7
+838,7
@@
class AddressBook {
return false;
}
return false;
}
- if (
eregi('[\\: \\|\\#"\\!]
', $userdata['nickname'])) {
+ if (
preg_match('/[: |#"!]/
', $userdata['nickname'])) {
$this->error = _("Nickname contains illegal characters");
return false;
}
$this->error = _("Nickname contains illegal characters");
return false;
}
@@
-957,7
+964,7
@@
class addressbook_backend {
* not found, or false if an error occured.
*
*/
* not found, or false if an error occured.
*
*/
- function lookup($value, $field) {
+ function lookup($value, $field
=SM_ABOOK_FIELD_NICKNAME
) {
$this->set_error('lookup is not implemented');
return false;
}
$this->set_error('lookup is not implemented');
return false;
}