Die letzten 5 Beiträge

TheDragonMaster
Titel: Die letzten 5 Beiträge
Version: 1.0
Beschreibung: Hi,
mal wieder ein kleiner Hack von mir.

Mit diesem Hack ist es möglich, die letzten 5 Beiträge (und nur die) auf der Startseite anzuzeigen.
Diese Funktion ist für jede Gruppe deaktivierbar, ausserdem werden Sprachvariablen verwendet.

Besonderheiten für die Benutzer:
Der komplette Hack kann versteckt werden (Cookies benötigt), d.h. die Tabelle mit den Postings wird nicht angezeigt.
Die Postings können direkt angezeigt werden (Javascript benötigt), allerdings ohne ersetzte BBCodes, ich bin noch am überlegen, ob diese Funktion wirklich so sinnvoll ist... Vorschläge sind willkommen. Augenzwinkern
----


weiter zum Download
Xeno³
Hmm, ich denke ich hab alles richtig gemacht, trozdem ist nichts zu sehen.

So siehts aus

//E: geht jetzt doch, nur irgendwie funzt die Sprachvariable nich verwirrt

PS: Sieht sehr goil aus, kann man es auch standartmäßig offen haben? Is ja im mom zu.
TheDragonMaster
Hast du die Datei mit den Sprachvariablen importiert?

Zum anderen:

Suche:
php:
1:
$show_posts = isset($_COOKIE['show_last_posts']) && $_COOKIE['show_last_posts'] != 0;


Ersetze mit:
php:
1:
$show_posts = !isset($_COOKIE['show_last_posts']) || $_COOKIE['show_last_posts'] != 0;


Edit:
Hast du
php:
1:
$lang->load("START");


mit
php:
1:
$lang->load("START,LASTPOSTS");

ersetzt?
Xeno³
Danke, das hat alles geklappt, nur funktioniert die ganze Sache nicht.
Wenn ein neues Posting war, wird das Thema doch nach oben geschoben, oder?


//E: Achja, wüßt ich gern noch wie man es schafft, dass die einstellung obs mini/maximiert gespeichert wird, wenn es überhaupt möglich ist.
TheDragonMaster
Die Einstellung wird über einen Cookie gespeichert und müsste bereits funktionieren (bei meinen Tests funktioniert es zumindest).

Zitat:
Wenn ein neues Posting war, wird das Thema doch nach oben geschoben, oder?

Wird wohl an dem "GROUP BY" liegen... wenn du den entsprechenden Teil entfernst klappt es, allerdings werden dann auch Postings aus dem gleichen Thread angezeigt.

Ich guck gleich mal, ob ich das berichtigen kann.

Edit: Ungetestet:

Suche:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
$result $db->unbuffered_query('
            SELECT
                p.postid, p.threadid, p.userid, p.username, p.posttime, p.message,
                t.topic
            FROM
                bb'.$n.'_posts p
            LEFT JOIN
                bb'.$n.'_threads t
                USING (threadid)
            WHERE
                p.visible=1
                AND
                t.boardid IN(0'.getSearchableBoards().')
            GROUP BY
                threadid
            ORDER BY
                postid DESC
            LIMIT
                5
        ');


Ersetze mit:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
$result $db->unbuffered_query('
    SELECT
        t.topic, t.threadid,
        p.postid, p.threadid, p.userid, p.username, p.posttime, p.message
    FROM
        bb'.$n.'_threads t
    LEFT JOIN
        bb'.$n.'_posts p ON(t.lastpostid=p.postid)
    WHERE
        p.visible=1
        AND
        t.boardid IN(0'.getSearchableBoards().')
    ORDER BY
        t.lastposttime DESC
    LIMIT
        5
');


Ich hoffe mal, dass ich keinen Fehler reingehauen habe...
Xeno³
Das hat einen Fehler verursacht.

Zitat:
SQL-DATABASE ERROR

Database error in WoltLab Burning Board (2.1.4): Invalid SQL: SELECT t.topic, t.threadid, p.postid, p.threadid, p.userid, p.username, p.posttime, p.message FROM bb2_posts p LEFT JOIN bb2_threads t USING (threadid) WHERE p.visible=1 AND t.boardid IN(0,1,7,13,19,27,2,3,4,5,6,8,9,10,11,12,14,15,16,17,18,20,21,22,24,31,30,2
9,33,32) GROUP BY threadid ORDER BY t.lastposttime DESC LIMIT 5
mysql error: Column: 'threadid' in group statement is ambiguous
mysql error number: 1052
mysql version: 4.0.15
php version: 4.3.3
Date: 17.08.2004 @ 07:57
Script: /wbb2/index.php
Referer:
TheDragonMaster
Der Fehler geht auf deine Kappe. Augenzwinkern

Du musst den kompletten Teil ersetzen, nicht irgendwo mal zwischendurch was. Speziell der Teil mit dem "GROUP BY" muss entfernt werden.
Xeno³
Sorry, aber irgendwie pack ich das nich. Hab die Änderung jetzt schon 3 mal durchgeführt. Vielleicht entdecks ja den Fehler.

PS: Seh ich das richtig, werden immer nur die Daten des Themenstarts gezeigt, nicht vom letzten posting?
TheDragonMaster
Och man... ich dreh durch... nie klappt sowas...

Also, ich weiß nicht, was dass da für ein irrer SQL-Fehler ist, aber der DARF da nicht auftauchen.
In der ganzen dämlichen Query ist kein GROUP BY mehr drin, die Fehlermeldung gibt dieses aber als Grund an.
Ich hab keine Ahnung, was da nicht stimmt.

Zitat:
PS: Seh ich das richtig, werden immer nur die Daten des Themenstarts gezeigt, nicht vom letzten posting?

Die Daten werden vom Posting geholt, es wird lediglich nach dem Thema sortiert.
Zumindest war dies so gedacht...
Xeno³
Nagut, jetzt weis ich das es nur nach dem Thema sortiert wird. Is trozdem etwas schade, das wenn ein neues Posting ist, das Thema nich nach oben geschoben wird.
TheDragonMaster
Eigentlich soll genau das gemacht werden...

Ich werde mal gucken, wann ich die Zeit finde, um das Problem genauer unter die Lupe zu nehmen...
Xeno³
Ah danke, das wär perfekt. Aber so wies jetzt is isses trozdem cool. Augenzwinkern
Daefea
gibts da schon was neues?

habs eingebaut fänd den hack auch klasse wenn er sich jetzt noch aktualisieren würde...unglücklich

hmm hab auch grad festgestellt da werden nur eigene posts angezeigt, und da auch nicht alle.. verwirrt
djmixmeister
ich habe ien probelm finde den eintrag nich in der index.tpl
{$lang->items['LANG_START_TIMEZONE']}</span></td>
</tr>
</table></td>
</tr>
</else>
</if>

</table><br />
wo soll ich jetzt den das einbauen weil bei mir geht das nicht
Daefea
wenn ich nich den exakten Text finde such ich immer nach stücken, hast du mal nach:

$lang->items['LANG_START_TIMEZONE']

gesucht?

vielleicht hast du ja nur ein </tr> anderst oder so...
djmixmeister
aber ich den das reinmachen wo ich will das geht bei mir nicht
$lastPosts<br />
Daefea
hast du alles hochgeladen? gecached? auch wenn du sicher bist guck da noch mal nach, ps, hast du den Hack angeschaltet großes Grinsen
djmixmeister
habe alles hopch geladen und wo muß ich dwen hack anschalten
Daefea
ja wenn dann im acp, glaub aber das man das gar nich musste, hmm hast du auch in der index.php alles rein? bzw hast du die sprachvariablen importiert...

sorry das ich so nachfrag , aber meist hat man irgendwas vergessen...
kenn das von mir Augen rollen lieber alles noch mal durchgehen...

EDIT: aber mach dir da ma nich so nen Stress wie du ein paar postings drüber lesen kannst gabs noch ein paar probs mit der anzeige.. und so lang die nicht gelöst sind würd ich erst mal langsam machen Augenzwinkern
djmixmeister
so habe alles drin bis auf den in der index.tpl
weil ich weiß ja net wo ich den hin machen soll wenn ich ihr irendwo reinmacher geht das ja nicht