1: <?php
2: /**
3: * Copyright 2009-2012 Horde LLC (http://www.horde.org/)
4: *
5: * See the enclosed file COPYING for license information (GPL). If you
6: * did not receive this file, see http://www.horde.org/licenses/gpl.
7: *
8: * @author Michael Slusarz <slusarz@horde.org>
9: * @package Kronolith
10: */
11: class Hermes_Ajax_Imple_ClientAutoCompleter extends Horde_Core_Ajax_Imple_AutoCompleter
12: {
13: /**
14: * Attach the Imple object to a javascript event.
15: * If the 'pretty' parameter is empty then we want a
16: * traditional autocompleter, otherwise we get a spiffy pretty one.
17: *
18: * @param array $js_params See
19: * Horde_Core_Ajax_Imple_AutoCompleter::_attach().
20: *
21: * @return array See Horde_Core_Ajax_Imple_AutoCompleter::_attach().
22: */
23: protected function _attach($js_params)
24: {
25: $js_params['indicator'] = $this->_params['triggerId'] . '_loading_img';
26:
27: $ret = array(
28: 'params' => $js_params
29: );
30:
31: if (empty($this->_params['pretty'])) {
32: $ret['ajax'] = 'ClientAutoCompleter';
33: } else {
34: $ret['pretty'] = 'ClientAutoCompleter';
35: }
36:
37: return $ret;
38: }
39:
40: /**
41: * TODO
42: *
43: * @param array $args TODO
44: *
45: * @return string TODO
46: */
47: public function handle($args, $post)
48: {
49: // Avoid errors if 'input' isn't set and short-circuit empty searches.
50: if (!($input = Horde_Util::getFormData('client'))) {
51: return array();
52: }
53:
54: return array(Hermes::listClients());
55: }
56:
57: }
58: