Neue Beiträge für bestimmte Foren anzeigen?

Berndo
Auf der Startseite des WBB gibt es doch die Anzeige für neue Beiträge, aktive Umfragen und Themen der letzten 24 Stunden. Kann man diese Anzeigen auch für einzelne Foren / Kategorien machen?
Maniac_81
ja, das is machbar. wieviel/welche foren willste denn da angezeigt haben?
Berndo
Am liebsten würde ich es für jede Foren-Kategorie machen!?
Maniac_81
werd mir da mal was überlegen, machbar ist es ;-)
*S2k*
ich klinke mich hier auch noch schnell ein

gäbe es auch ne möglichkeit für den passwort geschützten memberbereich für eine bestimmte gruppe?
Berndo
Zitat:
Original von Maniac_81
werd mir da mal was überlegen, machbar ist es ;-)


Super! Dank dir.
Berndo
Zitat:
Original von Maniac_81
werd mir da mal was überlegen, machbar ist es ;-)


Darf ich schon mal nachfragen?! cool
Maniac_81
sorry, bin noch nicht dazu gekommen. arbeite grad an meinem 1. plugin fürs 3er....
schau aber das ich es noch diese wochenende hinbekomme.
Berndo
Nimm dir die Zeit, die du brauchst.
Rayman
folgendermaßen läuft das bei mir:

[img]http://www.abload.de/thumb/beitrgeax0z.jpg[/img]

Dort werden bestimmte Foren nach neuen Beiträgen durchsucht und angezeigt / Besteht die möglichkeit alle übrigen Foren ebenfalls zu durchsuchen. die normale Suchfunktion nach neuen Beiträgen bleibt unberührt

Dazu müsstest du folgende änderungen machen:

Backups der betreffenden Dateien, dann

search.php:

suche:

code:
1:
	if (!isset($boardcache) || !is_array($boardcache)) $boardcache = array();


füge darunter ein:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
	if ($_GET['games'] == '0') { //keine Spieleordner anzeigen
	  $result = $db->query("SELECT boardid,boardorder,parentid,parentlist FROM bb".$n."_boards WHERE boardid <> 38 AND boardid <> 45 AND boardid <> 60 AND boardid <> 61 AND boardid <> 62 AND boardid <> 63 AND boardid <> 64 AND boardid <> 65 AND boardid <> 66 AND boardid <> 67  AND boardid <> 60 ORDER BY parentid ASC, boardorder ASC"); //BoardID 38 60 61 62 63 64 65 66 67 und 45 ausschliessen 
         }
  elseif ($_GET['games'] == '1') { //Nur Spieleordner anzeigen
	  $result = $db->query("SELECT boardid,boardorder,parentid,parentlist FROM bb".$n."_boards WHERE boardid IN (38,45,60,61,62,63,64,65,66,67,60) ORDER BY parentid ASC, boardorder ASC");
        } else {
          $result = $db->query("SELECT boardid,boardorder,parentid,parentlist FROM bb".$n."_boards ORDER BY parentid ASC, boardorder ASC"); //Normales SQL
        }



acp: template bearbeiten: index

suche

code:
1:
2:
3:
4:
5:
6:
7:
8:
<td class="tableb" align="left" style="text-align: justify"><span class="smallfont">{$lang->items['LANG_START_WELCOME']}</span></td>
   </tr>
  </then>

  <else>
   <tr>
    <td class="tablea"><table style="width:100%" cellspacing="0" cellpadding="0" border="0">
     <tr class="tablea_fc">


darunter müsste folgende Zeile sein:

code:
1:
<td align="left"><span class="smallfont">{$lang->items['LANG_START_WELCOMEBACK']} <b>$usercbar_username</b> <a href="logout.php?u=$wbbuserdata[userid]{$SID_ARG_2ND}">{$lang->items['LANG_START_LOGOUT']}</a><br /><b><a href="search.php?action=new{$SID_ARG_2ND}">{$lang->items['LANG_START_NEWPOSTS']} $lastvisitdate <span class="time">$lastvisittime</span>. 


füge DIREKT danach ein:

code:
1:
<a href="search.php?action=new&games=0{$SID_ARG_2ND}"><b>ohne Uploads</b></a> /  <a href="search.php?action=new&games=1{$SID_ARG_2ND}"><b>nur Uploads</b></a></span></td>


betreffende Zeile müsste dann folgendermaßen aussehen:

code:
1:
 <td align="left"><span class="smallfont">{$lang->items['LANG_START_WELCOMEBACK']} <b>$usercbar_username</b> <a href="logout.php?u=$wbbuserdata[userid]{$SID_ARG_2ND}">{$lang->items['LANG_START_LOGOUT']}</a><br /><b><a href="search.php?action=new{$SID_ARG_2ND}">{$lang->items['LANG_START_NEWPOSTS']} $lastvisitdate <span class="time">$lastvisittime</span>. <a href="search.php?action=new&games=0{$SID_ARG_2ND}"><b>ohne Uploads</b></a> /  <a href="search.php?action=new&games=1{$SID_ARG_2ND}"><b>nur Uploads</b></a></span></td>


hoffe, ich hab nix vergessen....
Berndo
Danke, ich probiere es mal in den nächsten Tagen aus!
Berndo
Ich hatte jetzt endlich mal Zeit, das ganze auszuprobieren...

Aber irgendwie zeigt es mir weiterhin alle neuen Beiträge aus allen Foren an!?
minette
@Rayman
ich versteh nicht die anfrag von thread starter und dein posting:
elseif ($_GET['games'] == '1') { //Nur Spieleordner anzeigen
ef="search.php?action=new&games=0
Berndo
Zitat:
Original von Rayman
search.php:

suche:

code:
1:
	if (!isset($boardcache) || !is_array($boardcache)) $boardcache = array();


füge darunter ein:

[...]


Kann es sein, dass das die falsche Stelle ist? Denn der Code für die Suche nach neuen Beiträge kommt ja erst im Abschnitt danach.
Wahooka
Hallo,

es geht ganz einfach.

Öffne deine search.php, suche

php:
1:
2:
/* new posts */
if ($_GET['action'] == 'new') {


füge DARÜBER ein:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
/* search cat */
if ($_GET['action'] == 'newcat') {
    $boardids '';
    list($boardcount) = $db->query_first("SELECT COUNT(*) FROM bb".$n."_boards");
    
    $result $db->query("SELECT boardid FROM bb".$n."_boards WHERE password='' AND boardid=$boardid");
    if ($db->num_rows($result) < $boardcount) {
        while ($row $db->fetch_array($result)) {
            if ($boardids != ''$boardids .= ','.$row['boardid'];
            else $boardids $row['boardid'];
        }
        if (!$boardidsredirect($lang->get("LANG_GLOBAL_ERROR_SEARCHNORESULT"), "search.php" $SID_ARG_1ST);
    }
    
    $savepostids '';
    $result $db->unbuffered_query("SELECT p.postid FROM bb".$n."_posts p, bb".$n."_threads t WHERE p.threadid=t.threadid AND p.visible=1 AND p.posttime>'$wbbuserdata[lastvisit]'
    ".(($boardids) ? ("AND t.boardid IN ($boardids)") : ("")));
    while ($row $db->fetch_array($result)) $savepostids .= ','.$row['postid'];
    
    if (!$savepostidsredirect($lang->get("LANG_GLOBAL_ERROR_SEARCHNORESULT"), "search.php" $SID_ARG_1ST);
    $result $db->query_first("SELECT searchid FROM bb".$n."_searchs WHERE searchhash = '".getQueryHash($savepostids0'lastpost''desc'$wbbuserdata['userid'], $REMOTE_ADDR)."'");
    if ($result['searchid']) {
        header("Location: search.php?searchid=".$result['searchid'].$SID_ARG_2ND_UN);
        exit();
    }
    $db->query("INSERT INTO bb".$n."_searchs (searchhash,postids,showposts,sortby,sortorder,searchtime,userid,ipaddress)
    VALUES ('".getQueryHash($savepostids0'lastpost''desc'$wbbuserdata['userid'], $REMOTE_ADDR)."','$savepostids','0','lastpost','desc','".time()."','$wbbuserdata[userid]','$REMOTE_ADDR')");
    $searchid $db->insert_id();
    
    header("Location: search.php?searchid=$searchid".$SID_ARG_2ND_UN);
    exit();     
}


---------------------------------------------
Einfügen der Links:

Am einfachsten wäre es, die Suchfunktion direkt in die Kategorie zu setzen (zum Beispiel mit einem kleinen SUCH-Icon). Evtl rechts oder Links neben dem + (oder - )

Egal wie du es machen willst, der Link muss wie folgt aussehen:

code:
1:
http://www.deinforum.de/serarch.php?action=newcat&boardid=$boardid


Jenachdem wo du denLink platzieren wirst ist statt $boardid auch $posts[boardid] oder $thread[boardid] möglich.

Du kannst mir auch einfach eine eMail schreiben (ich schaue hier nicht oft rein) dann Code ich dir genau das was du brauchst.

Grüßle
Berndo
Funktioniert, danke schön!

Kann ich damit auch mehrere Foren oder eine gesamte Kategorie durchsuchen?
Wahooka
du kannst damit einzelne foren durchsuchen lassen. leider nicht mehrere foren aus einer kategorie - dies müsste per addon geregelt werden smile
Berndo
Und manuell mehrere Foren mit einer Abfrage durchsuchen lassen, geht das?
Wahooka
wie gesagt, dafür müsste man dann ein addon coden ^^
Berndo
Okay, dank dir für die Hilfe!