fsf changes, meant to be rebased on upstream
[squirrelmail.git] / templates / util_addressbook.php
index 5ff5f420240ddc77792632d2ddd65e353f714078..bf07c477ec29576e579351a52c0ff09e874c219f 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Functions to make working with address books easier
  * 
- * @copyright © 1999-2007 The SquirrelMail Project Team
+ * @copyright 1999-2022 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -22,7 +22,7 @@
 function composeLink ($row) {
     return makeComposeLink('src/compose.php?send_to=' .
                            rawurlencode($row['RawFullAddress']),
-                           htmlspecialchars($row['Email']));
+                           sm_encode_html_special_chars($row['Email']));
 }
 
 /**
@@ -39,19 +39,19 @@ function formatAddressList ($addresses) {
         return array();
         
     $contacts = array();
-    while(list($undef,$row) = each($addresses)) {
+    foreach($addresses as $row) {
         $contact = array (
-                            'FirstName'      => htmlspecialchars($row['firstname']),
-                            'LastName'       => htmlspecialchars($row['lastname']),
-                            'FullName'       => htmlspecialchars($row['name']),
-                            'NickName'       => htmlspecialchars($row['nickname']),
-                            'Email'          => htmlspecialchars($row['email']),
-                            'FullAddress'    => htmlspecialchars(AddressBook::full_address($row)),
+                            'FirstName'      => sm_encode_html_special_chars($row['firstname']),
+                            'LastName'       => sm_encode_html_special_chars($row['lastname']),
+                            'FullName'       => sm_encode_html_special_chars($row['name']),
+                            'NickName'       => sm_encode_html_special_chars($row['nickname']),
+                            'Email'          => sm_encode_html_special_chars($row['email']),
+                            'FullAddress'    => sm_encode_html_special_chars(AddressBook::full_address($row)),
                             'RawFullAddress' => AddressBook::full_address($row),
-                            'Info'           => htmlspecialchars($row['label']),
+                            'Info'           => sm_encode_html_special_chars($row['label']),
                             'Extra'          => (isset($row['extra']) ? $row['extra'] : NULL),
-                            'Source'         => htmlspecialchars($row['source']),
-                            'JSEmail'        => htmlspecialchars(addcslashes(AddressBook::full_address($row), "'"), ENT_QUOTES),
+                            'Source'         => sm_encode_html_special_chars($row['source']),
+                            'JSEmail'        => sm_encode_html_special_chars(addcslashes(AddressBook::full_address($row), "'"), ENT_QUOTES),
                          );
         $contacts[] = $contact;
     }
@@ -123,6 +123,16 @@ function insert_javascript() {
         }
     }
 
+    function CheckAll(ch) {
+        var chkObj = "";
+        for (var i = 0; i < document.addressbook.elements.length; i++) {
+            chkObj = document.addressbook.elements[i];
+            if (chkObj.type == "checkbox" && chkObj.name.substr(0,16) == "send_to_search[" + ch) {
+                chkObj.checked = !(chkObj.checked);
+            }
+        }
+    }
+
 // --></script>
 <?php
 } /* End of included JavaScript */
@@ -140,7 +150,7 @@ function getBackends () {
     $backends = array();
     $backends['-1'] = _("All address books");
     $ret = $abook->get_backend_list();
-    while (list($undef,$v) = each($ret)) {
+    foreach ($ret as $v) {
         if ($v->btype == 'local' && !$v->listing) {
             continue;
         }