1: <?php
2: 3: 4:
5: if (!defined('XOOPS_ROOT_PATH')) exit();
6: function smarty_function_message_suggestlist($params, &$smarty)
7: {
8: $name = isset($params['name']) ? trim($params['name']) : 'uname';
9: $size = isset($params['size']) ? intval($params['size']) : 30;
10: $username = isset($params['uname']) ? trim($params['uname']) : '';
11:
12: $root = XCube_Root::getSingleton();
13: $db = $root->mController->getDB();
14:
15: $sql = "SELECT `uname` FROM `".$db->prefix('users')."` ";
16: $sql.= "WHERE `uid` <> ".$root->mContext->mXoopsUser->get('uid'). " ";
17: $sql.= "ORDER BY `uname`";
18: $result = $db->query($sql);
19: $name = array();
20: while (list($uname) = $db->fetchRow($result)) {
21: $uname = htmlspecialchars($uname, ENT_QUOTES);
22: $name[] = "'".$uname."'";
23: }
24:
25: echo '<script type="text/javascript" language="javascript">'.chr(10);
26: echo ' var list = ['. implode(",\n", $name).'];'.chr(10);
27: echo "
28: var js = document.createElement('script');
29: js.type = 'text/javascript';
30: js.charset = 'utf-8';
31: js.src = '".XOOPS_MODULE_URL."/message/suggest.js';
32:
33: var css = document.createElement('link');
34: css.type = 'text/css';
35: css.rel = 'stylesheet';
36: css.media = 'screen';
37: css.href = '".XOOPS_MODULE_URL."/message/suggest.css';
38:
39: var head = document.getElementsByTagName('head');
40: head[0].appendChild(js);
41: head[0].appendChild(css);
42:
43: var start = function() {
44: new Suggest.Local('txt_uname', 'suggest', list);
45: };
46: window.addEventListener ? window.addEventListener('load', start, false) : window.attachEvent('onload', start);
47: </script>\n";
48: echo '<input id="txt_uname" type="text" name="uname" value="'.htmlspecialchars($username, ENT_QUOTES).'" autocomplete="off" size="'.$size.'" style="display: block"/>
49: <div id="suggest"></div>
50: ';
51: }
52: ?>
53: