2 // PukiWiki - Yet another WikiWikiWeb clone.
5 // 2002-2017 PukiWiki Development Team
6 // 2001-2002 Originally written by yu-ji
7 // License: GPL v2 or (at your option) any later version
9 // InterWiki lookup plugin
11 define('PLUGIN_LOOKUP_USAGE', '#lookup(interwikiname[,button_name[,default]])');
13 function plugin_lookup_convert()
18 $num = func_num_args();
19 if ($num == 0 || $num > 3) return PLUGIN_LOOKUP_USAGE;
21 $args = func_get_args();
22 $interwiki = htmlsc(trim($args[0]));
23 $button = isset($args[1]) ? trim($args[1]) : '';
24 $button = ($button != '') ? htmlsc($button) : 'lookup';
25 $default = ($num > 2) ? htmlsc(trim($args[2])) : '';
26 $s_page = htmlsc($vars['page']);
29 $script = get_base_uri();
31 <form action="$script" method="post">
33 <input type="hidden" name="plugin" value="lookup" />
34 <input type="hidden" name="refer" value="$s_page" />
35 <input type="hidden" name="inter" value="$interwiki" />
36 <label for="_p_lookup_$id">$interwiki:</label>
37 <input type="text" name="page" id="_p_lookup_$id" size="30" value="$default" />
38 <input type="submit" value="$button" />
45 function plugin_lookup_action()
47 global $post; // Deny GET method to avlid GET loop
49 $page = isset($post['page']) ? $post['page'] : '';
50 $inter = isset($post['inter']) ? $post['inter'] : '';
51 if ($page == '') return FALSE; // Do nothing
52 if ($inter == '') return array('msg'=>'Invalid access', 'body'=>'');
54 $url = get_interwiki_url($inter, $page);
56 $msg = sprintf('InterWikiName "%s" not found', $inter);
58 return array('msg'=>'Not found', 'body'=>$msg);
62 header('Location: ' . $url); // Publish as GET method