-
- function powersearch()
- {
- global $wgUser, $wgOut, $wgLang, $wgTitle;
- $nscb = array();
-
- $search = $_REQUEST['search'];
- $searchx = $_REQUEST['searchx'];
- $listredirs = $_REQUEST['redirs'];
- $nscb[0] = $_REQUEST['ns0'];
- $nscb[1] = $_REQUEST['ns1'];
- $nscb[2] = $_REQUEST['ns2'];
- $nscb[3] = $_REQUEST['ns3'];
- $nscb[4] = $_REQUEST['ns4'];
- $nscb[5] = $_REQUEST['ns5'];
- $nscb[6] = $_REQUEST['ns6'];
- $nscb[7] = $_REQUEST['ns7'];
-
- if ( ! isset ( $searchx ) ) { /* First time here */
- $nscb[0] = $listredirs = 1; /* All others should be unset */
- }
- $this->checkboxes["searchx"] = 1;
- $ret = wfMsg("powersearchtext");
-
- # Determine namespace checkboxes
-
- $ns = $wgLang->getNamespaces();
- array_shift( $ns ); /* Skip "Special" */
-
- $r1 = "";
- for ( $i = 0; $i < count( $ns ); ++$i ) {
- $checked = "";
- if ( $nscb[$i] == 1 ) {
- $checked = " checked";
- $this->addtoquery["ns{$i}"] = 1;
- array_push( $this->namespacesToSearch, $i );
- }
- $name = str_replace( "_", " ", $ns[$i] );
- if ( "" == $name ) { $name = "(Main)"; }
-
- if ( 0 != $i ) { $r1 .= " "; }
- $r1 .= "<input type=checkbox value=\"1\" name=\"" .
- "ns{$i}\"{$checked}>{$name}\n";
- }
- $ret = str_replace ( "$1", $r1, $ret );
-
- # List redirects checkbox
-
- $checked = "";
- if ( $listredirs == 1 ) {
- $this->addtoquery["redirs"] = 1;
- $checked = " checked";
- }
- $r2 = "<input type=checkbox value=1 name=\"redirs\"{$checked}>\n";
- $ret = str_replace( "$2", $r2, $ret );
-
- # Search field
-
- $r3 = "<input type=text name=\"search\" value=\"" .
- htmlspecialchars( $search ) ."\" width=80>\n";
- $ret = str_replace( "$3", $r3, $ret );
-
- # Searchx button
-
- $r9 = "<input type=submit name=\"searchx\" value=\"" .
- wfMsg("powersearch") . "\">\n";
- $ret = str_replace( "$9", $r9, $ret );
-
- $ret = "<br><br>\n<form id=\"powersearch\" method=\"get\" " .
- "action=\"" . wfLocalUrl( "" ) . "\">\n{$ret}\n</form>\n";
-
- if ( isset ( $searchx ) ) {
- if ( ! $listredirs ) { $this->doSearchRedirects = false; }