don't add delimiter to folder name, when folder with subfolders is
[squirrelmail.git] / functions / addressbook.php
index 9b10a3cc649fa9564bcef53ee27bde811523277b..59256d7d8a1994956dc614343bbc946b88a17f56 100644 (file)
@@ -233,7 +233,8 @@ function addressbook_inp_field($label, $field, $name, $size, $values, $add='') {
     $td_str .= $add ;
 
     return html_tag( 'tr' ,
-            html_tag( 'td', $label . ':', 'right', $color[4]) .
+            html_tag( 'td', '<label for="'.$name.'_'.$field.'_'.'">' .
+                $label . '</label>:', 'right', $color[4]) .
             html_tag( 'td', $td_str, 'left', $color[4])
             )
         . "\n";
@@ -597,7 +598,11 @@ class AddressBook {
                 $ret = FALSE;
             }
 
-        }  else {
+        } elseif (! isset($this->backends[$bnum])) {
+            /* make sure that backend exists */
+            $this->error = _("Unknown address book backend");
+            $ret = false;
+        } else {
 
             /* Search only one backend */
 
@@ -640,6 +645,10 @@ class AddressBook {
         $ret = array();
 
         if ($bnum > -1) {
+            if (!isset($this->backends[$bnum])) {
+                $this->error = _("Unknown address book backend");
+                return false;
+            }
             $res = $this->backends[$bnum]->lookup($alias);
             if (is_array($res)) {
                return $res;
@@ -677,6 +686,10 @@ class AddressBook {
 
         if ($bnum == -1) {
             $sel = $this->get_backend_list('');
+        } elseif (! isset($this->backends[$bnum])) {
+            /* make sure that backend exists */
+            $this->error = _("Unknown address book backend");
+            $ret = false;
         } else {
             $sel = array(0 => &$this->backends[$bnum]);
         }
@@ -728,6 +741,12 @@ class AddressBook {
             return false;
         }
 
+        /* make sure that backend exists */
+        if (! isset($this->backends[$bnum])) {
+            $this->error = _("Unknown address book backend");
+            return false;
+        }
+
         /* Check that specified backend accept new entries */
         if (!$this->backends[$bnum]->writeable) {
             $this->error = _("Address book is read-only");
@@ -765,6 +784,12 @@ class AddressBook {
             $alias = array(0 => $alias);
         }
 
+        /* make sure that backend exists */
+        if (! isset($this->backends[$bnum])) {
+            $this->error = _("Unknown address book backend");
+            return false;
+        }
+
         /* Check that specified backend is writable */
         if (!$this->backends[$bnum]->writeable) {
             $this->error = _("Address book is read-only");
@@ -820,6 +845,12 @@ class AddressBook {
             $userdata['nickname'] = $userdata['email'];
         }
 
+        /* make sure that backend exists */
+        if (! isset($this->backends[$bnum])) {
+            $this->error = _("Unknown address book backend");
+            return false;
+        }
+
         /* Check that specified backend is writable */
         if (!$this->backends[$bnum]->writeable) {
             $this->error = _("Address book is read-only");;