From 3716f51794825ac0a21639bf57945559da51e51c Mon Sep 17 00:00:00 2001 From: stevetruckstuff Date: Wed, 16 Aug 2006 14:21:53 +0000 Subject: [PATCH] Add list_writable_backends() function back for plugins. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@11606 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/addressbook.php | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/functions/addressbook.php b/functions/addressbook.php index de12acc2..cc463e7a 100644 --- a/functions/addressbook.php +++ b/functions/addressbook.php @@ -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" */ -- 2.25.1