1: <?php
2:
3: 4: 5: 6: 7:
8: class AdminerAutocomplete
9: {
10: var $keywords = array('SELECT', 'FROM', 'LEFT JOIN', 'INSERT INTO', 'UPDATE', 'DELETE', 'WHERE', 'ORDER BY', 'GROUP BY');
11:
12: function head()
13: {
14: if (!isset($_GET['sql'])) {
15: return;
16: }
17:
18: $tables = array_keys(tables_list());
19: $suggests = array_merge($this->keywords, $tables);
20: foreach ($tables as $table) {
21: foreach (fields($table) as $field => $foo) {
22: $suggests[] = "$table.$field";
23: }
24: }
25: ?>
26: <script type="text/javascript" src="static/jquery.min.js"></script>
27: <script type="text/javascript" src="static/jquery.a-tools.js"></script>
28: <script type="text/javascript" src="static/jquery.asuggest.js"></script>
29: <script type="text/javascript">
30: $(function(){
31: if (navigator.appName == 'Microsoft Internet Explorer') {
32: return;
33: }
34:
35: $('.sqlarea').attr('onkeydown', '').asuggest(['<?php echo implode("', '", str_replace("'\\", '', $suggests)) ?>'], {
36: stopSuggestionKeys: [$.asuggestKeys.TAB, $.asuggestKeys.RETURN, $.asuggestKeys.SPACE, 190 /* PERIOD */],
37: ignoreCase: true
38: });
39: });
40: </script>
41: <?php
42: }
43:
44: }
45: