| 1 | <?php |
|---|
| 2 | // $Id: search.inc.php,v 1.4 2005/08/03 12:39:14 onokazu Exp $ |
|---|
| 3 | // ------------------------------------------------------------------------ // |
|---|
| 4 | // XOOPS - PHP Content Management System // |
|---|
| 5 | // Copyright (c) 2000 XOOPS.org // |
|---|
| 6 | // <http://www.xoops.org/> // |
|---|
| 7 | // ------------------------------------------------------------------------ // |
|---|
| 8 | // This program is free software; you can redistribute it and/or modify // |
|---|
| 9 | // it under the terms of the GNU General Public License as published by // |
|---|
| 10 | // the Free Software Foundation; either version 2 of the License, or // |
|---|
| 11 | // (at your option) any later version. // |
|---|
| 12 | // // |
|---|
| 13 | // You may not change or alter any portion of this comment or credits // |
|---|
| 14 | // of supporting developers from this source code or any supporting // |
|---|
| 15 | // source code which is considered copyrighted (c) material of the // |
|---|
| 16 | // original comment or credit authors. // |
|---|
| 17 | // // |
|---|
| 18 | // This program is distributed in the hope that it will be useful, // |
|---|
| 19 | // but WITHOUT ANY WARRANTY; without even the implied warranty of // |
|---|
| 20 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // |
|---|
| 21 | // GNU General Public License for more details. // |
|---|
| 22 | // // |
|---|
| 23 | // You should have received a copy of the GNU General Public License // |
|---|
| 24 | // along with this program; if not, write to the Free Software // |
|---|
| 25 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // |
|---|
| 26 | // ------------------------------------------------------------------------ // |
|---|
| 27 | // Author: Kazumi Ono (AKA onokazu) // |
|---|
| 28 | // URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // |
|---|
| 29 | // Project: The XOOPS Project // |
|---|
| 30 | // ------------------------------------------------------------------------- // |
|---|
| 31 | |
|---|
| 32 | function newbb_search($queryarray, $andor, $limit, $offset, $userid){ |
|---|
| 33 | global $xoopsDB; |
|---|
| 34 | $sql = "SELECT p.post_id,p.topic_id,p.forum_id,p.post_time,p.uid,p.subject FROM ".$xoopsDB->prefix("bb_posts")." p LEFT JOIN ".$xoopsDB->prefix("bb_posts_text")." t ON t.post_id=p.post_id LEFT JOIN ".$xoopsDB->prefix("bb_forums")." f ON f.forum_id=p.forum_id WHERE f.forum_type=0"; |
|---|
| 35 | if ( $userid != 0 ) { |
|---|
| 36 | $sql .= " AND p.uid=".$userid." "; |
|---|
| 37 | } |
|---|
| 38 | // because count() returns 1 even if a supplied variable |
|---|
| 39 | // is not an array, we must check if $querryarray is really an array |
|---|
| 40 | if ( is_array($queryarray) && $count = count($queryarray) ) { |
|---|
| 41 | $sql .= " AND ((p.subject LIKE '%$queryarray[0]%' OR t.post_text LIKE '%$queryarray[0]%')"; |
|---|
| 42 | for($i=1;$i<$count;$i++){ |
|---|
| 43 | $sql .= " $andor "; |
|---|
| 44 | $sql .= "(p.subject LIKE '%$queryarray[$i]%' OR t.post_text LIKE '%$queryarray[$i]%')"; |
|---|
| 45 | } |
|---|
| 46 | $sql .= ") "; |
|---|
| 47 | } |
|---|
| 48 | $sql .= "ORDER BY p.post_time DESC"; |
|---|
| 49 | $result = $xoopsDB->query($sql,$limit,$offset); |
|---|
| 50 | $ret = array(); |
|---|
| 51 | $i = 0; |
|---|
| 52 | while($myrow = $xoopsDB->fetchArray($result)){ |
|---|
| 53 | $ret[$i]['link'] = "viewtopic.php?topic_id=".$myrow['topic_id']."&forum=".$myrow['forum_id']."&post_id=".$myrow['post_id']."#forumpost".$myrow['post_id']; |
|---|
| 54 | $ret[$i]['title'] = $myrow['subject']; |
|---|
| 55 | $ret[$i]['time'] = $myrow['post_time']; |
|---|
| 56 | $ret[$i]['uid'] = $myrow['uid']; |
|---|
| 57 | $i++; |
|---|
| 58 | } |
|---|
| 59 | return $ret; |
|---|
| 60 | } |
|---|
| 61 | ?> |
|---|