Remove random default argument value in the middle of argument list
[squirrelmail.git] / functions / addressbook.php
index 0559c8fa7f3bea49e34f74dd9e97868031e51c1f..baa1c606dfd66ca5ce790723d9bf0de61756c77a 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Functions require SM_PATH and support of forms.php functions
  *
- * @copyright 1999-2012 The SquirrelMail Project Team
+ * @copyright 1999-2021 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -141,7 +141,7 @@ function addressbook_init($showerr = true, $onlylocal = false) {
     /* Load configured LDAP servers (if PHP has LDAP support) */
     if (isset($ldap_server) && is_array($ldap_server)) {
         reset($ldap_server);
-        while (list($undef,$param) = each($ldap_server)) {
+        foreach ($ldap_server as $param) {
             if (!is_array($param))
                 continue;
 
@@ -162,7 +162,7 @@ function addressbook_init($showerr = true, $onlylocal = false) {
      * display address book init errors.
      */
     if ($abook_init_error!='' && $showerr) {
-        error_box(nl2br(htmlspecialchars($abook_init_error)));
+        error_box(nl2br(sm_encode_html_special_chars($abook_init_error)));
     }
 
     /* Return the initialized object */
@@ -251,7 +251,7 @@ function getWritableBackends () {
     
     $write = array();
     $backends = $abook->get_backend_list();
-    while (list($undef,$v) = each($backends)) {
+    foreach ($backends as $v) {
         if ($v->writeable) {
             $write[$v->bnum]=$v->sname;
         }
@@ -414,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
-     * that is not sanitized with htmlspecialchars. 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
@@ -425,12 +425,19 @@ class AddressBook {
     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");
     }
 
+    /**
+     * 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.
@@ -514,7 +521,7 @@ class AddressBook {
      * @param array $row address book entry
      * @return string email address with real name prepended
      */
-    function full_address($row) {
+    static function full_address($row) {
         global $data_dir, $username, $addrsrch_fullname;
 
         // allow multiple addresses in one row (poor person's grouping - bah)