* @category Horde * @copyright 2012-2017 Horde LLC * @license http://www.horde.org/licenses/gpl GPL * @package IMP */ class IMP_Prefs_Special_Sourceselect implements Horde_Core_Prefs_Ui_Special { /** */ public function init(Horde_Core_Prefs_Ui $ui) { } /** */ public function display(Horde_Core_Prefs_Ui $ui) { $search = $GLOBALS['injector']->getInstance('IMP_Contacts')->getAddressbookSearchParams(); return Horde_Core_Prefs_Ui_Widgets::addressbooks(array( 'fields' => $search['fields'], 'sources' => $search['sources'] )); } /** */ public function update(Horde_Core_Prefs_Ui $ui) { global $prefs; $data = Horde_Core_Prefs_Ui_Widgets::addressbooksUpdate($ui); $updated = false; if (isset($data['sources'])) { $prefs->setValue('search_sources', $data['sources']); $updated = true; } if (isset($data['fields'])) { $prefs->setValue('search_fields', $data['fields']); $updated = true; } return $updated; } }