Verzeichnisstruktur phpBB-1.0.0


Veröffentlicht
15.12.2000

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

search.php

Zuletzt modifiziert: 09.10.2024, 12:50 - Dateigröße: 8.23 KiB


001  <?php
002  /***************************************************************************
003                            search.php  -  description
004                               -------------------
005      begin                : Sat June 17 2000
006      copyright        : (C) 2000 by James Atkinson
007      email                : james@totalgeek.org
008   
009      $Id: search.php,v 1.8 2000/11/29 05:52:28 thefinn Exp $
010      
011   ***************************************************************************/
012   
013  /***************************************************************************
014   *
015   *   This program is free software; you can redistribute it and/or modify
016   *   it under the terms of the GNU General Public License as published by
017   *   the Free Software Foundation; either version 2 of the License, or
018   *   (at your option) any later version.
019   *
020   ***************************************************************************/
021  include('extention.inc');
022  include('functions.'.$phpEx);
023  include('config.'.$phpEx);
024  require('auth.'.$phpEx);
025  $pagetitle = "Search Page";
026  $pagetype = "other";
027  include('page_header.'.$phpEx);
028   
029  if(!$submit)
030  {
031  ?>
032  <FORM NAME="Search" ACTION="<?php echo $PHP_SELF; ?>" METHOD="POST">
033  <TABLE BORDER="0" CELLPADDING="1" CELLSPACING="0" ALIGN="CENTER" VALIGN="TOP" WIDTH="95%">
034  <TR>
035      <TD  BGCOLOR="<?php echo $table_bgcolor?>">
036      <TABLE BORDER="0" CELLPADDING="1" CELLSPACING="1" WIDTH="100%" BGCOLOR="<?php echo $color1; ?>">
037      <TR>
038      <TD BGCOLOR="<?php echo $color1?>" WIDTH="50%" ALIGN="RIGHT">
039          <b>Keyword</b>:&nbsp;
040      </TD>
041      <TD BGCOLOR="<?php echo $color2?>" WIDTH="50%">
042          <INPUT TYPE="text" name="term">
043      </TD>
044      </TR>
045      <TR>
046      <TD BGCOLOR="<?php echo $color1?>" WIDTH="50%">&nbsp;</TD>
047      <TD BGCOLOR="<?php echo $color2?>" WIDTH="50%">
048          <INPUT TYPE="radio" name="addterms" value="any" CHECKED>
049          <font size=-2>Search for ANY of the terms (Default)
050      </TD>
051      </TR>
052      <TR>
053      <TD BGCOLOR="<?php echo $color1?>" WIDTH="50%">&nbsp;</TD>
054      <TD BGCOLOR="<?php echo $color2?>" WIDTH="50%">
055          <INPUT TYPE="radio" name="addterms" value="all">
056          <font size=-2>Search for ALL of the terms
057      </TD>
058      </TR>
059      <TR>
060      <TD BGCOLOR="<?php echo $color1?>" WIDTH="50%" ALIGN="RIGHT">
061          <b>Forum</b>:&nbsp;
062      </TD>
063      <TD BGCOLOR="<?php echo $color2?>" WIDTH="50%">
064          <select name="forum">
065          <option value="all">Search All Forums</option>
066          <?php
067              $query = "SELECT forum_name,forum_id FROM forums WHERE forum_type != 1";
068              if(!$result = mysql_query($query,$db))
069              {
070                  die("<font size=+1>An Error Occured</font><hr>phpBB was unable to query the forums database");
071              }
072              while($row = @mysql_fetch_array($result))
073              {
074                  echo "<option value=$row[forum_id]>$row[forum_name]</option>";
075              }
076          ?>
077          </select>
078      </TD>
079      </TR>
080      <TR>
081      <TD BGCOLOR="<?php echo $color1?>" WIDTH="50%" ALIGN="RIGHT">
082          <?php echo stripslashes("<b>Author\'s Name</b>:")  // This looks stupid but its here so jed's indenting works right with this file!
083                  ?>
084      </TD>
085      <TD BGCOLOR="<?php echo $color2?>" WIDTH="50%">
086          <INPUT TYPE="text" name="username">
087      </TD>
088      </TR>
089      <TR>
090      <TD BGCOLOR="<?php echo $color1?>" WIDTH="50%" ALIGN="RIGHT">
091          <b>Sort by</b>:
092      </TD>
093      <TD BGCOLOR="<?php echo $color2?>" WIDTH="50%">
094      <?php //All values are the fields used to search the database - a table must be specified for each field ?>
095          <INPUT TYPE="radio" name="sortby" value="p.post_time" CHECKED>Post Time
096          &nbsp;&nbsp;
097          <INPUT TYPE="radio" name="sortby" value="t.topic_title">Topics
098          &nbsp;&nbsp;
099          <INPUT TYPE="radio" name="sortby" value="f.forum_name">Forum
100          &nbsp;&nbsp;
101          <INPUT TYPE="radio" name="sortby" value="u.username">Username
102          &nbsp;&nbsp;
103      </TD>
104      </TR> 
105   
106  <?php 
107  // 25oct00 dsig -add radio to determine what to search title or text or both..default both 
108  ?> 
109     <TR> 
110         <TD BGCOLOR="<?php echo $color1?>" WIDTH="50%" ALIGN="RIGHT"> 
111          <b>Search In</b>: 
112             </TD> 
113          <TD BGCOLOR="<?php echo $color2?>" WIDTH="50%"> 
114  <?php 
115  /* 
116  26oct00 dsig added note on default to change default 'checked' item simply move the 'CHECKED' keyword from one
117  'radio' to another. 
118  */ 
119  ?> 
120        <INPUT TYPE="radio" name="searchboth" value="both" CHECKED>Title & Text 
121        <INPUT TYPE="radio" name="searchboth" value="title">Only Title 
122        <INPUT TYPE="radio" name="searchboth" value="text">Only Text 
123        </TD> 
124    </TR>      
125  </TABLE>
126   
127      </TD>
128  </TR>
129  </TABLE>
130  <br>
131      <CENTER>
132      <INPUT TYPE="Submit" Name="submit" Value="Search!">&nbsp;&nbsp;<INPUT TYPE="reset" Name="reset" Value="Clear!">
133      </FORM>
134      </CENTER>
135   
136  <?php
137  }
138  else
139  {
140   
141  /**********
142   Sept 6.
143   $query is the basis of the query
144   $addquery is all the additional search fields - necessary because of the WHERE clause in SQL
145  **********/
146   
147  $query = "SELECT u.user_id,f.forum_id,p.topic_id, u.username, p.post_time,t.topic_title,f.forum_name FROM posts p, users u, forums f,topics t";
148  if(isset($term)&&$term!="")
149  {
150      $terms = split(" ",$term);                // Get all the words into an array
151      $addquery .= "(p.post_text LIKE '%$terms[0]%'";        
152      $subquery .= "(t.topic_title LIKE '%$terms[0]%'"; 
153      
154      if($addterms=="any")                    // AND/OR relates to the ANY or ALL on Search Page
155          $andor = "OR";
156      else
157          $andor = "AND";
158      $size = sizeof($terms);
159      for($i=1;$i<$size;$i++) {
160          $addquery.=" $andor p.post_text LIKE '%$terms[$i]%'";
161          $subquery.=" $andor t.topic_title LIKE '%$terms[$i]%'"; 
162      }         
163      $addquery.=")";
164      $subquery.=")";
165  }
166  if(isset($forum)&&$forum!="all")
167  {
168      if(isset($addquery)) {
169         $addquery .=" AND p.forum_id=$forum AND f.forum_id=$forum";
170         $subquery .=" AND p.forum_id=$forum AND f.forum_id=$forum";
171      }
172      else {
173         $addquery .=" p.forum_id=$forum AND f.forum_id=$forum";
174         $subquery .=" p.forum_id=$forum AND f.forum_id=$forum";
175      }
176  }
177  if(isset($username)&&$username!="")
178  {
179     if(!$result = mysql_query("SELECT user_id FROM users WHERE username='$username'",$db))
180       {
181      die("<font size=+1>An Error Occured</font><hr>phpBB was unable to query the forums database");
182       }
183     $row = @mysql_fetch_array($result);
184     if(!$row)
185       die("That user does not exist.  Please go back and search again.");
186     $userid = $row[user_id];
187     if(isset($addquery)) {
188        $addquery.=" AND p.poster_id=$userid AND u.username='$username'";
189        $subquery.=" AND p.poster_id=$userid AND u.username='$username'";
190     }
191     else {
192        $addquery.=" p.poster_id=$userid AND u.username='$username'";
193        $subquery.=" p.poster_id=$userid AND u.username='$username'";
194     }
195  }    
196  if(isset($addquery)) {
197     switch ($searchboth) { 
198      case "both" : 
199        $query .= " WHERE ( $subquery OR $addquery ) AND "; 
200        break; 
201      case "title" : 
202        $query .= " WHERE ( $subquery ) AND "; 
203        break; 
204      case "text" : 
205        $query .= " WHERE ( $addquery ) AND "; 
206        break; 
207     }
208  }
209  else
210      $query.=" WHERE ";
211   
212     $query.=" p.topic_id = t.topic_id AND p.forum_id = f.forum_id AND p.poster_id = u.user_id ORDER BY $sortby";
213   
214      if(!$result = mysql_query($query,$db))
215      {
216          die("<font size=+1>An Error Occured</font><hr>phpBB was unable to query the forums database<BR>".mysql_error($db)."<BR>$query");
217      }
218   
219      if(!$row = @mysql_fetch_array($result))
220      {
221          die("<br><br><center>No records match that query. Please broaden your search.");
222      }
223   
224  ?>
225  <TABLE BORDER="0" CELLPADDING="1" CELLSPACING="0" ALIGN="CENTER" VALIGN="TOP" WIDTH="95%"><TR><TD  BGCOLOR="<?php echo $table_bgcolor; ?>">
226  <TABLE BORDER="0" CELLPADDING="1" CELLSPACING="1" WIDTH="100%">
227  <TR BGCOLOR="<?php echo $color1?>" ALIGN="LEFT">
228          <TD ALIGN="CENTER" WIDTH="30%"><font face="Verdana" size="2"><B>Forum</B></font></TD>
229          <TD ALIGN="CENTER" WIDTH="30%"><font face="Verdana" size="2"><B>Topic</B></font></TD>
230          <TD ALIGN="CENTER" WIDTH="25%"><font face="Verdana" size="2"><B>Author</B></font></TD>
231          <TD ALIGN="CENTER" WIDTH="15%"><font face="Verdana" size="2"><B>Posted</B></font></TD>
232  </TR>
233  <?php
234      do {
235          echo "<TR BGCOLOR=\"$color2\">";
236          echo "<TD ALIGN=\"CENTER\" WIDTH=\"30%\"><a href=\"viewforum.$phpEx?forum=$row[forum_id]\">". stripslashes($row[forum_name]) . "</a></TD>";
237          echo "<TD ALIGN=\"CENTER\" WIDTH=\"30%\"><a href=\"viewtopic.$phpEx?topic=$row[topic_id]&forum=$row[forum_id]\">". stripslashes($row[topic_title]) . "</a></TD>";
238          echo "<TD ALIGN=\"CENTER\" WIDTH=\"25%\"><a href=\"bb_profile.$phpEx?mode=view&user=$row[user_id]\">$row[username]</a></TD>";
239          echo "<TD ALIGN=\"CENTER\" WIDTH=\"15%\">$row[post_time]</TD>";
240          echo "</TR>";
241      }while($row=@mysql_fetch_array($result));
242  ?>    
243   
244  </TABLE>
245  </TR>
246  </TR>
247  </TABLE>
248  <?php
249  }
250      include('page_tail.'.$phpEx);
251  ?>
252