root/branch/rev3/common/search.php @ 248

Revision 248, 4.4 KB (checked in by exi, 15 years ago)

Fix for 'Fatal error: Cannot re-assign $this...'
Added item search to the search page.

Line 
1<?php
2$page = new Page('Search');
3
4$html .= "<form id=search action=\"?a=search\" method=post>";
5$html .= "<table class=kb-subtable><tr>";
6$html .= "<td>Type:</td><td>Text: (3 letters minimum)</td>";
7$html .= "</tr><tr>";
8$html .= "<td><select id=searchtype name=searchtype><option value=pilot>Pilot</option><option value=corp>Corporation</option><option value=alliance>Alliance</option><option value=system>System</option><option value=item>Items</option></select></td>";
9$html .= "<td><input id=searchphrase name=searchphrase type=text size=30/></td>";
10$html .= "<td><input type=submit name=submit value=Search></td>";
11$html .= "</tr></table>";
12$html .= "</form>";
13
14if ($_REQUEST['searchphrase'] != "" && strlen($_REQUEST['searchphrase']) >= 3)
15{
16    switch ($_REQUEST['searchtype'])
17    {
18        case "pilot":
19            $sql = "select plt.plt_id, plt.plt_name, crp.crp_name
20                  from kb3_pilots plt, kb3_corps crp
21                 where lower( plt.plt_name ) like lower( '%".slashfix($_REQUEST['searchphrase'])."%' )
22                   and plt.plt_crp_id = crp.crp_id
23                 order by plt.plt_name";
24            $header = "<td>Pilot</td><td>Corporation</td>";
25            break;
26        case "corp":
27            $sql = "select crp.crp_id, crp.crp_name, ali.all_name
28                  from kb3_corps crp, kb3_alliances ali
29                 where lower( crp.crp_name ) like lower( '%".slashfix($_REQUEST['searchphrase'])."%' )
30                   and crp.crp_all_id = ali.all_id
31                 order by crp.crp_name";
32            $header = "<td>Corporation</td><td>Alliance</td>";
33            break;
34        case "alliance":
35            $sql = "select ali.all_id, ali.all_name
36                  from kb3_alliances ali
37                 where lower( ali.all_name ) like lower( '%".slashfix($_REQUEST['searchphrase'])."%' )
38                 order by ali.all_name";
39            $header = "<td>Alliance</td><td></td>";
40            break;
41        case "system":
42            $sql = "select sys.sys_id, sys.sys_name
43                  from kb3_systems sys
44                 where lower( sys.sys_name ) like lower( '%".slashfix($_REQUEST['searchphrase'])."%' )
45                 order by sys.sys_name";
46            $header = "<td>System</td><td></td>";
47            break;
48        case "item":
49            $sql = "select typeID, typeName from kb3_invtypes where typeName like ('%".slashfix($_REQUEST['searchphrase'])."%')";
50            break;
51    }
52
53    $qry = new DBQuery();
54    if (!$qry->execute($sql))
55    {
56        die ($qry->getErrorMsg());
57    }
58
59    $html .= "<div class=block-header>Search results</div>";
60
61    if ($qry->recordCount() > 0)
62    {
63        $html .= "<table class=kb-table width=450 cellspacing=1>";
64        $html .= "<tr class=kb-table-header>".$header."</tr>";
65    }
66    else
67    {
68        $html .= "No results.";
69    }
70
71    while ($row = $qry->getRow())
72    {
73        $html .= "<tr class=kb-table-row-even>";
74        switch ($_REQUEST['searchtype'])
75        {
76            case "pilot":
77                $link = "?a=pilot_detail&plt_id=".$row['plt_id'];
78                $html .= "<td><a href=\"$link\">".$row['plt_name']."</a></td><td>".$row['crp_name']."</td>";
79                break;
80            case "corp":
81                $link = "?a=corp_detail&crp_id=".$row['crp_id'];
82                $html .= "<td><a href=\"$link\">".$row['crp_name']."</a></td><td>".$row['all_name']."</td>";
83                break;
84            case "alliance":
85                $link = "?a=alliance_detail&all_id=".$row['all_id'];
86                $html .= "<td><a href=\"$link\">".$row['all_name']."</a></td><td></td>";
87                break;
88            case "system":
89                $link = "?a=system_detail&sys_id=".$row['sys_id'];
90                $html .= "<td><a href=\"$link\">".$row['sys_name']."</a></td><td></td>";
91                break;
92            case 'item':
93                $link =  "?a=invtype&id=".$row['typeID'];
94                $html .= "<td><a href=\"$link\">".$row['typeName']."</a></td><td></td>";
95                break;
96        }
97        $html .= "</tr>";
98        if ($qry->recordCount() == 1)
99        {
100            // if there is only one entry we redirect the user directly
101            header("Location: $link");
102        }
103    }
104    if ($qry->recordCount() > 0)
105    {
106        $html .= "</table>";
107    }
108}
109
110$page->setContent($html);
111$page->generate();
112?>
Note: See TracBrowser for help on using the browser.