home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 May / INTERNET103.ISO / pc / software / windows / building / php_nuke / html / modules / forums / searchbb.php < prev    next >
Encoding:
PHP Script  |  2002-09-16  |  9.8 KB  |  232 lines

  1. <?php
  2. ######################################################################
  3. # Modulo Splatt Forum per PHP-NUKE 
  4. #-------------------------
  5. # Versione: 3.2
  6. #
  7. # Copyright (c) 2002 by:
  8. #
  9. # Giorgio Ciranni (~Splatt~)
  10. # (http://www.splatt.it)
  11. # (webmaster@splatt.it)
  12. #
  13. # Supporto tecnico disponibile sul Forum di www.splatt.it
  14. ######################################################################
  15. # PHP-NUKE Add-On 2.0 :
  16. # =====================
  17. #
  18. #              PHPBB Integration 1.0.BETA
  19. #        Brought to you by PHPNuke Add-On Team
  20. #
  21. # Copyright (c) 2000 by Richard Tirtadji AKA King Richard (rtirtadji@hotmail.com)
  22. #                       Hutdik Hermawan AKA hotFix (hutdik76@hotmail.com)
  23. # http://www.phpnuke.web.id
  24. #
  25. #
  26. ######################################################################
  27. # PHPBB
  28. #
  29. # Copyright (C) 2000 by James Atkinson (james@totalgeek.org)
  30. # http://www.phpbb.com
  31. #
  32. #
  33. ######################################################################
  34. # Splatt Forum is free software. You can redistribute it and/or modify
  35. # it under the terms of the GNU General Public License as published by
  36. # the Free Software Foundation; either version 2 of the License.
  37. # Splatt Forum is distributed in the hope that it will be useful,
  38. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  39. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  40. # GNU General Public License for more details.
  41. #
  42. # You should have received a copy of the GNU General Public License
  43. # along with this program; if not, write to the Free Software
  44. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA   
  45. # 02111-1307  USA
  46. ######################################################################
  47.  
  48. $module_name = "$name";
  49.  
  50. include("config.php");
  51. include("modules/".$module_name."/functions.php");
  52. include("modules/".$module_name."/auth.php");
  53. include("header.php");
  54.  
  55. ?>
  56. <FORM NAME="Search" ACTION="modules.php?op=modload&name=<?php echo $module_name?>&file=searchbb" METHOD="POST">
  57. <TABLE BORDER="0" CELLPADDING="1" CELLSPACING="0"  VALIGN="TOP" WIDTH="100%">
  58. <TR>
  59.         <TD  BGCOLOR="<?php echo $table_bgcolor?>" ALIGN="LEFT">
  60.         <TABLE BORDER="0" CELLPADDING="1" CELLSPACING="1" WIDTH="100%" BGCOLOR="<?php echo $bgcolor1; ?>">
  61.         <TR>
  62.         <TD BGCOLOR="<?php echo $bgcolor1?>" WIDTH="20%" ALIGN="RIGHT">
  63.                 <b><?php echo _FKEY;?></b>: 
  64.         </TD>
  65.         <TD BGCOLOR="<?php echo $bgcolor3?>" WIDTH="80%">
  66.                 <INPUT CLASS="textbox" TYPE="text" name="term">
  67.         </TD>
  68.         </TR>
  69.         <TR>
  70.         <TD BGCOLOR="<?php echo $bgcolor1?>" WIDTH="20%"> </TD>
  71.         <TD BGCOLOR="<?php echo $bgcolor3?>" WIDTH="80%">
  72.                 <INPUT TYPE="radio" name="addterms" value="any" CHECKED>
  73.                 <font size=-2><?php echo _FSEANY; ?>
  74.         </TD>
  75.         </TR>
  76.         <TR>
  77.         <TD BGCOLOR="<?php echo $bgcolor1?>" WIDTH="20%"> </TD>
  78.         <TD BGCOLOR="<?php echo $bgcolor3?>" WIDTH="80%">
  79.                 <INPUT TYPE="radio" name="addterms" value="all">
  80.                 <font size=-2><?php echo _FSEAL; ?>
  81.         </TD>
  82.         </TR>
  83.         <TR>
  84.         <TD BGCOLOR="<?php echo $bgcolor1?>" WIDTH="20%" ALIGN="RIGHT">
  85.                 <b><?php echo "Forum";?></b>: 
  86.         </TD>
  87.         <TD BGCOLOR="<?php echo $bgcolor3?>" WIDTH="80%">
  88.                 <select name="forum">
  89.                 <option value="all"><?php echo _SALF;?></option>
  90.                 <?php
  91.                         $query = "SELECT forum_name,forum_id FROM ${prefix}_forums WHERE forum_type != 1";
  92.                         if(!$result = mysql_query($query,$db))
  93.                         {
  94.                                 die("<font size=+1>"._ERRORE1."</font><hr>phpBB was unable to query the forums database");
  95.                         }
  96.                         while($row = @mysql_fetch_array($result))
  97.                         {
  98.                                 echo "<option value=$row[forum_id]>$row[forum_name]</option>";
  99.                         }
  100.                 ?>
  101.                 </select>
  102.         </TD>
  103.         </TR>
  104.         <TR>
  105.         <TD BGCOLOR="<?php echo $bgcolor1?>" WIDTH="20%" ALIGN="RIGHT">
  106.                 <b><?php echo _AUTN;?></b>:
  107.         </TD>
  108.         <TD BGCOLOR="<?php echo $bgcolor3?>" WIDTH="80%">
  109.                 <INPUT TYPE="text" CLASS="text" name="usernamex">
  110.         </TD>
  111.         </TR>
  112.         <TR>
  113.         <TD BGCOLOR="<?php echo $bgcolor1?>" WIDTH="20%" ALIGN="RIGHT">
  114.                 <b><?php echo _SORTBY;?></b><br>
  115.         </TD>
  116.         <TD BGCOLOR="<?php echo $bgcolor3?>" WIDTH="80%">
  117.         <?php //All values are the fields used to search the database - a table must be specified for each field ?>
  118.                 <INPUT TYPE="radio" name="sortby" value="p.post_time" CHECKED><?php echo _FPTIM;?>
  119.                   
  120.                 <INPUT TYPE="radio" name="sortby" value="t.topic_title"><?php echo _FTOPICS;?>
  121.                   
  122.                 <INPUT TYPE="radio" name="sortby" value="f.forum_name"><?php echo _FORUM;?>
  123.                   
  124.                 <INPUT TYPE="radio" name="sortby" value="u.uname"><?php echo _FNICKNAME;?>
  125.                   
  126.         </TD>
  127.         <TR>
  128.         <TD></TD>
  129.  
  130.  
  131.         <TD>
  132.         <INPUT TYPE="Submit" Name="submit" Value="<?php echo _FSEA;?>">  <INPUT TYPE="reset" Name="reset" Value="<?php echo _FRESET; ?>">
  133.         </TD></TR>
  134.         </TABLE>
  135.  
  136.         </TD>
  137. </TR>
  138. </TABLE>
  139. </FORM>
  140.  
  141. <?php
  142.  
  143. /**********
  144.  Sept 6.
  145.  $query is the basis of the query
  146.  $addquery is all the additional search fields - necessary because of the WHERE clause in SQL
  147. **********/
  148.  
  149. $query = "SELECT u.uid,f.forum_id,p.topic_id, u.uname, p.post_time,t.topic_title,f.forum_name FROM ${prefix}_posts p, ".$user_prefix."_users u, ${prefix}_forums f, ${prefix}_forumtopics t";
  150. if(isset($term)&&$term!="")
  151. {
  152.         $terms = split(" ",addslashes($term));                                // Get all the words into an array
  153.         $addquery .= "(p.post_text LIKE '%$terms[0]%'";
  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.         $addquery.=")";
  162. }
  163.  
  164. if(isset($forum)&&$forum!="all")
  165. {
  166.         if(isset($addquery))
  167.                 $addquery.=" AND p.forum_id=$forum AND f.forum_id=$forum";
  168.         else
  169.                 $addquery.=" p.forum_id=$forum AND f.forum_id=$forum";
  170. }
  171. if(isset($usernamex)&&$usernamex!="")
  172. {
  173.         if(!$result = mysql_query("SELECT uid FROM ".$user_prefix."_users WHERE uname='$usernamex'",$db))
  174.         {
  175.                 die("<font size=+1>"._ERRORE1."</font><hr>phpBB was unable to query the forums database");
  176.         }
  177.         $row = @mysql_fetch_array($result);
  178.         if(!$row)
  179.                 die("That user does not exist.  Please go back and search again.");
  180.         $userid = $row[uid];
  181.         if(isset($addquery))
  182.  
  183.                 $addquery.=" AND p.poster_id=$userid AND u.uname='$usernamex'";
  184.         else
  185.                 $addquery.=" p.poster_id=$userid AND u.uname='$usernamex'";
  186. }
  187.  
  188. if(isset($addquery))
  189.         $query.=" WHERE $addquery AND  ";
  190. else
  191.         $query.=" WHERE ";
  192. $query.=" p.topic_id = t.topic_id AND p.forum_id = f.forum_id AND (p.poster_id = u.uid || p.poster_id = '1')    AND f.forum_type != 1 GROUP BY t.topic_id ORDER BY $sortby DESC LIMIT 200";
  193.  
  194.         if(!$result = mysql_query($query,$db))
  195.         {
  196.                 die("<font size=+1>"._ERRORE1."</font><hr>phpBB was unable to query the forums database<br>".$query."");
  197.         }
  198.  
  199.         if(!$row = @mysql_fetch_array($result))
  200.         {
  201.                 echo "<center>"._FNOREC."</center>";;
  202.         }
  203. ?>
  204. <TABLE BORDER="0" CELLPADDING="1" CELLSPACING="0" ALIGN="CENTER" VALIGN="TOP" WIDTH="100%"><TR><TD>
  205. <TABLE BORDER="0" CELLPADDING="1" CELLSPACING="1" WIDTH="100%">
  206. <TR BGCOLOR="<?php echo $bgcolor2?>" ALIGN="LEFT">
  207.         <TD ALIGN="CENTER" WIDTH="30%"><FONT SIZE=1 COLOR="<?php echo $textcolor1?>"><B><?php echo _FORUM;?></B></font></TD>
  208.         <TD ALIGN="CENTER" WIDTH="30%"><FONT SIZE=1 COLOR="<?php echo $textcolor1?>"><B><?php echo _FFTOPIC;?></B></font></TD>
  209.         <TD ALIGN="CENTER" WIDTH="25%"><FONT SIZE=1 COLOR="<?php echo $textcolor1?>"><B><?php echo _FPOSTER;?></B></font></TD>
  210.         <TD ALIGN="CENTER" WIDTH="15%"><FONT SIZE=1 COLOR="<?php echo $textcolor1?>"><B><?php echo _FODATE;?></B></font></TD>
  211. </TR>
  212. <?php
  213.         $count=0;
  214.         do {
  215.         if (($count%2)!=0) $color=$bgcolor3;
  216.         else $color=$bgcolor1;
  217.  
  218.                 echo "<TR BGCOLOR=\"$color\">";
  219.                 echo "<TD ALIGN=\"CENTER\" WIDTH=\"30%\" ><a href=\"modules.php?op=modload&name=".$module_name."&file=viewforum&forum=$row[forum_id]\">". stripslashes($row[forum_name]) . "</a></TD>";
  220.                 echo "<TD ALIGN=\"CENTER\" WIDTH=\"30%\" ><a href=\"modules.php?op=modload&name=".$module_name."&file=viewtopic&topic=$row[topic_id]&forum=$row[forum_id]\">". stripslashes($row[topic_title]) . "</a></TD>";
  221.                 echo "<TD ALIGN=\"CENTER\" WIDTH=\"25%\" ><a href=\"modules.php?name=Your_Account&op=userinfo&uname=$row[uname]\">$row[uname]</a></TD>";
  222.                 echo "<TD ALIGN=\"CENTER\" WIDTH=\"15%\" ><FONT SIZE=1>".convertiData($row[post_time])."<FONT SIZE=1></TD>";
  223.                 echo "</TR>";
  224.         $count++;
  225.         }while($row=@mysql_fetch_array($result));
  226.  
  227. echo"</TABLE></TR></TR></TABLE>";
  228. //<!-- Don't touch the lines below please! --> 
  229. echo"<p align=\"center\">Splatt Forum © By: <a href=\"http://www.splatt.it\" target=\"_blank\">Splatt.it</a><br>Version: $forumver</font></p><br><br>";
  230.         include('footer.php');
  231. ?>
  232.