Add list_writable_backends() function back for plugins.
authorstevetruckstuff <stevetruckstuff@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 16 Aug 2006 14:21:53 +0000 (14:21 +0000)
committerstevetruckstuff <stevetruckstuff@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 16 Aug 2006 14:21:53 +0000 (14:21 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@11606 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/addressbook.php

index de12acc214b222a46c5ed1f71de320b16cfd8fed..cc463e7a70b1136e2ed57deff09b6609de7812b2 100644 (file)
@@ -246,6 +246,46 @@ function getWritableBackends () {
     return $write;
 }
 
+/**
+ * Provides list of writeable backends.  Works only when address is added,
+ * e.g. $name='addaddr'.
+ * 
+ * NOTE: This function needs to remain during the templating process to maintain
+ *       some degree of backwards compatability with plugins.
+ * 
+ * @param string $name name of form
+ * @return string html formated backend field (select or hidden)
+ */
+function list_writable_backends($name) {
+    global $color, $abook;
+    if ( $name != 'addaddr' ) { return; }
+    $writeable_abook = 1;
+    if ( $abook->numbackends > 1 ) {
+        $backends = $abook->get_backend_list();
+        $writeable_abooks=array();
+        while (list($undef,$v) = each($backends)) {
+            if ($v->writeable) {
+                // add each backend to array
+                $writeable_abooks[$v->bnum]=$v->sname;
+                // save backend number
+                $writeable_abook=$v->bnum;
+            }
+        }
+        if (count($writeable_abooks)>1) {
+            // we have more than one writeable backend
+            $ret=addSelect('backend',$writeable_abooks,null,true);
+            return html_tag( 'tr',
+                             html_tag( 'td', _("Add to:"),'right', $color[4] ) .
+                             html_tag( 'td', $ret, 'left', $color[4] )) . "\n";
+        }
+    }
+    // Only one backend exists or is writeable.
+    return html_tag( 'tr',
+                     html_tag( 'td',
+                               addHidden('backend', $writeable_abook),
+                               'center', $color[4], 'colspan="2"')) . "\n";
+}
+
 /**
  * Sort array by the key "name"
  */