Leute, hat zufällig jemand einen code für eine... naja en bischen interessantere suchen-box? finde die standardvariante en bischen öde und auch net grad ansehnlich
ThXaLoT
verwendete ilchClan Version: 1.1
betroffene Homepage: externer Link
Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| Geschlossen | ||








<form action="index.php?search" method="GET">
<table>
<tr><td>Beitrag:<br />[b]hier ne lupe[/b]<input type="text" value="{search}" name="search" size="{size}" /></td></tr>
<tr><td>Autor:<br />[b]hier ein gesicht[/b]<input type="text" value="{autor}" name="autor" size="{size}" /></td></tr>
<tr><td height="5"></td></tr>
<tr><td>
[b]hier ein forumicon[/b]<input type="radio" name="in" value="1" {checked1} /> Forum<br />
<input type="radio" name="in" value="2" {checked2} /> News<br />
<input type="radio" name="in" value="3" {checked3} /> Downloads<br />
</td></tr>
<tr><td>
Zeitlich eingrenzen: <select name="days">{days}</select>
</td></tr>
<tr height="14"><td></td></tr>
<tr><td><input type="submit" value="{_lang_search}" /></td></tr>
</table>
</form>
<hr>
{EXPLODE}
<br /><br />
<div style="float: left">{MPL}</div>
<div style="float: right; text-align: right">Gesamt: {gAnz}</div><br /><br />
<table width="100%" cellpadding="2" cellspacing="1" border="0" class="border">
{EXPLODE}<tr class="{class}">
<td class="erstezeile" width="15"><img src="include/images/forum/{ord}.gif" width="15" height="15" border="0"></td>
<td class="erstezeile"><a href="?{link}">{titel} von {autor}</a></td>
</tr>{EXPLODE}
</table>
{MPL}











<form action="index.php?search" method="GET">
<table>
<tr><td>Beitrag:<br />[b]hier ne lupe[/b]<input type="text" value="{search}" name="search" size="{size}" /></td></tr>
<tr><td>Autor:<br />[b]hier ein gesicht[/b]<input type="text" value="{autor}" name="autor" size="{size}" /></td></tr>
<tr><td height="5"></td></tr>
<tr><td>
[b]hier ein forumicon[/b]<input type="radio" name="in" value="1" {checked1} /> Forum<br />
<input type="radio" name="in" value="2" {checked2} /> News<br />
<input type="radio" name="in" value="3" {checked3} /> Downloads<br />
</td></tr>
<tr><td>








<?php
# Copyright by: Manuel
# Support: www.ilch.de
defined ('main') or die ( 'no direct access' );
function serach_mark($text,$such) {
#$text = BBcode($text);
$serar = explode(' ', $such);
$text = strip_tags($text);
$text = stripslashes($text);
$rte = '';
$tleng = 30;
foreach($serar as $v) {
$firs = strpos(strtolower($text),strtolower($v));
$begi = (($firs - $tleng) < 0 ? 0 : $firs - $tleng );
$leng = strlen($text);
$ende = (($firs + strlen($v) + $tleng) > $leng ? $leng : $firs + strlen($v) + $tleng );
$ttxt = substr($text,$begi,($ende - $begi));
$rte .= ' ... '.preg_replace("/".$v."/si",'<b>'.$v.'</b>',$ttxt);
}
return ($rte);
}
function search_finduser() {
$design = new design ( 'Finduser' , '', 0 );
$design->header();
$tpl = new tpl ( 'search_finduser' );
global $menu;
$tpl->set('add', $menu->get(2) == 'add' ? '-add' : '');
$tpl->out(0);
if ( isset ( $_POST['sub'] ) AND !empty($_POST['name']) ) {
$name = str_replace('*',"%",$_POST['name']);
$name = escape($name, 'string');
$q = "SELECT name,name FROM xic_user WHERE name like '".$name."'";
$tpl->set ('username',dbliste('',$tpl,'username',$q));
$tpl->out(1);
}
$tpl->out(2);
$design->footer();
}
if ($menu->get(1) == 'finduser') {
search_finduser();
exit();
}
$such = '';
if ($menu->get(1) != '') {
$such = $menu->get(1);
} elseif (isset($_REQUEST['search'])) {
$such = $_REQUEST['search'];
}
if ($such == 'aubt' OR $such == 'augt' OR $such == 'aeit') {
header('Location: index.php?forum-'.$such);
exit();
}
$such = stripslashes(escape($such, 'string'));
$snac = 'Suche';
if ($such == 'augt' OR $such == 'aeit' OR $such == 'aubt') {
$ar_s = array('aubt'=>'unbeantworteten Themen','aeit'=>'eigenen Beiträgen','augt'=>'neue Themen seit dem letzten Besuch');
$snac = $ar_s[$such];
} elseif ( isset($_REQUEST['search']) ) {
$snac = 'nach: '.$such;
}
$title = $allgAr['title'].' :: Suchen :: '.htmlentities($snac);
$hmenu = '<a class="smalfont" href="index.php?search">Suchen</a><b> » </b>'.htmlentities($snac);
$design = new design ( $title , $hmenu );
$design->header();
$tpl = new tpl ('search');
$tpl->set ('size', 30);
$gAnz = 0;
$autor = '';
if(isset($_GET['autor'])) {
$autor = escape($_GET['autor'],'string');
}
$tpl->set ('autor', $autor);
if(isset($_GET['in'])) {
for($i=1;$i<=3;$i++){
if($_GET['in'] == $i) {
$tpl->set ('checked'.$i, 'checked="checked"');
}
}
} else $tpl->set ('checked1', 'checked="checked"');
if ($such != 'augt' AND $such != 'aeit' AND $such != 'aubt') {
$tpl->set('search',escape_for_fields($such),0);
}
if(isset($_GET['days'])) {
$days = ($_GET['days'] == 0 ? 360 : intval($_GET['days']));
}
else $days = 360;
$days_ar = array( 360 => '1 Jahr',
1 => '1 Tag',
7 => '7 Tage',
14 => '2 Wochen',
30 => '1 Monat',
90 => '3 Monate',
180 => '6 Monate',
36500 => 'alle Beiträge');
$tpl->set('days',arlistee($days, $days_ar));
$tpl->out(0);
if (!empty($such) OR !empty($autor)) {
$page = 1;
if (isset($_GET['page'])) {
$page = str_replace('-p','',$_GET['page']);
}
$limit = 25; // Limit
$anfang = ($page - 1) * $limit;
$x = time() - (3600 * 24 * $days);
$such = str_replace('-','',$such);
$such = str_replace('=','',$such);
$such = str_replace('&','',$such);
$serar = explode(' ', $such);
$str_forum = '';
$str_forum_a = '';
$str_news = '';
$str_news_a = '';
$str_downs = '';
$str_downs_ = '';
$str_downs_a = '';
foreach($serar as $v) {
$str = str_replace('\'','',$v);
$str = str_replace('"','',$str);
$str = addslashes($str);
if ( !empty($str) ) {
if($_GET['in'] == 1) {
$str_forum .= "txt LIKE '%".$str."%' AND ";
}
elseif($_GET['in'] == 2) {
$str_news .= "news_text LIKE '%".$str."%' AND ";
}
elseif($_GET['in'] == 3) {
$str_downs .= "`descl` LIKE '%".$str."%' AND ";
$str_downs_ .= "name LIKE '%".$str."%' AND ";
}
}
}
if(isset($_GET['autor'])) {
if($_GET['in'] == 1) {
$str_forum_a .= "c.erst LIKE '%".$autor."%' AND ";
}
elseif($_GET['in'] == 2) {
$str_news_a .= "`name` LIKE '%".$autor."%' AND ";
}
elseif($_GET['in'] == 3) {
$str_downs_a .= "`creater` LIKE '%".$autor."%' AND ";
}
}
// 1 = forum, ist immer standart
$q = "
SELECT DISTINCT
a.fid as fid,
a.name as titel,
'foru' as typ,
a.id as id,
`time`,
c.erst as autor
FROM xic_posts c
LEFT JOIN xic_topics a ON a.id = c.tid
LEFT JOIN xic_forums b ON b.id = a.fid
LEFT JOIN xic_groupusers vg ON vg.uid = ".$_SESSION['authid']." AND vg.gid = b.view
LEFT JOIN xic_groupusers rg ON rg.uid = ".$_SESSION['authid']." AND rg.gid = b.reply
LEFT JOIN xic_groupusers sg ON sg.uid = ".$_SESSION['authid']." AND sg.gid = b.start
WHERE (((b.view >= ".$_SESSION['authright']." AND b.view <= 0) OR
(b.reply >= ".$_SESSION['authright']." AND b.reply <= 0) OR
(b.start >= ".$_SESSION['authright']." AND b.start <= 0)) OR
(vg.fid IS NOT NULL OR rg.fid IS NOT NULL OR sg.fid IS NOT NULL OR ".$_SESSION['authright']." = -9))
AND (".$str_forum." 1 = 1)
AND (".$str_forum_a." 1 = 1)
AND (time >= ". $x .")
GROUP BY a.id
ORDER BY time DESC";
if(isset($_GET['in'])) {
if($_GET['in'] == 2) {
$q = "
SELECT DISTINCT
0 as fid,
news_title as titel,
'news' as typ,
news_id as id,
news_time as `time`,
xic_user.name as autor
FROM xic_news
LEFT JOIN xic_user ON xic_news.user_id = xic_user.id
WHERE (".$str_news." 1 = 1)
AND (".$str_news_a." 1 = 1)
AND (news_time >= ". $x .")
ORDER BY `time` DESC";
} elseif($_GET['in'] == 3) {
$q = "
SELECT DISTINCT
0 as fid,
CONCAT( name, ' ', version ) AS titel,
'down' as typ,
id,
UNIX_TIMESTAMP(`time`) as `time`,
creater as autor
FROM xic_downloads
WHERE ((".$str_downs." 1 = 1)
OR (".$str_downs_." 1 = 1))
AND (".$str_downs_a." 1 = 1)
AND (UNIX_TIMESTAMP(`time`) >= ". $x .")
ORDER BY UNIX_TIMESTAMP(`time`) DESC";
}
}
$gAnz = db_num_rows(db_query($q));
$q .= " LIMIT ".$anfang.",".$limit;
$MPL = db_make_sites ($page , "" , $limit , "index.php?search=".urlencode($such)."&autor=".urlencode($autor)."&in=".$_GET['in']."&days=".$days."&page=", "", $gAnz );
$tpl->set_ar_out(array('MPL'=>$MPL,'gAnz'=>$gAnz),1);
$q = db_query($q);
$class = '';
while($r = db_fetch_assoc($q) ) {
$class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite' );
$r['class'] = $class;
if ($r['typ'] == 'foru') {
$r['ctime'] = db_result(db_query("SELECT MAX(time) FROM xic_posts WHERE tid = ".$r['id']),0,0);
$r['ord'] = forum_get_ordner($r['ctime'],$r['id'],$r['fid']);
$r['link'] = 'forum-showposts-'.$r['id'];
} elseif ($r['typ'] == 'news') {
$r['ord'] = 'ord';
$r['link'] = 'news-'.$r['id'];
} elseif ($r['typ'] == 'down') {
$r['ord'] = 'ord';
$r['link'] = 'downloads-show-'.$r['id'];
}
$tpl->set_ar_out($r,2);
}
$tpl->out(3);
}
$design->footer();
?>
| Geschlossen | ||
![]() |
Zurück zu HTML, PHP, SQL,... | |