2 // PukiWiki - Yet another WikiWikiWeb clone.
3 // $Id: lookup.inc.php,v 1.16 2005/01/30 10:55:53 henoheno Exp $
5 // InterWiki lookup plugin
7 define('PLUGIN_LOOKUP_USAGE', '#lookup(interwikiname[,button_name[,default]])');
8 function plugin_lookup_convert()
10 global $script, $vars;
12 $num = func_num_args();
13 if ($num == 0 || $num > 3) return PLUGIN_LOOKUP_USAGE;
15 $args = func_get_args();
16 $interwiki = htmlspecialchars(trim($args[0]));
17 $button = isset($args[1]) ? trim($args[1]) : '';
18 $button = ($button != '') ? htmlspecialchars($button) : 'lookup';
19 $default = ($num > 2) ? htmlspecialchars(trim($args[2])) : '';
20 $s_page = htmlspecialchars($vars['page']);
23 <form action="$script" method="post">
25 <input type="hidden" name="plugin" value="lookup" />
26 <input type="hidden" name="refer" value="$s_page" />
27 <input type="hidden" name="inter" value="$interwiki" />
29 <input type="text" name="page" size="30" value="$default" />
30 <input type="submit" value="$button" />
37 function plugin_lookup_action()
39 global $post; // Deny GET method to avlid GET loop
41 $page = isset($post['page']) ? $post['page'] : '';
42 $inter = isset($post['inter']) ? $post['inter'] : '';
43 if ($page == '') return FALSE; // Do nothing
44 if ($inter == '') return array(msg=>'Invalid access', body=>'');
46 $url = get_interwiki_url($inter, $page);
48 $msg = sprintf('InterWikiName "%s" not found', $inter);
49 $msg = htmlspecialchars($msg);
50 return array(msg=>'Not found', body=>$msg);
54 header('Location: ' . $url); // Publish as GET method