Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.39 veröffentlicht (02.06.25)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Portal: Abfragen ob Thread von User gelesen
#1
Guten Tag,
Ich habe auf folgender Seite das Portal als Startseite eingerichtet:
http://clubfreeware.bplaced.net/

Nun möchte ich gerne den Threads, die vom User noch nicht gelesen sind einen andersfarbigen Rahmen geben. Jedoch blick ich im PHP Code noch nicht ganz durch. Wenn ich mich nicht irre ist in der forumdisplay.php dies verantwortlich dafür:
PHP-Code:
if($mybb->user['uid'] == 0)
{
// Build a forum cache.
$query = $db->query("
SELECT *
FROM "
.TABLE_PREFIX."forums
WHERE active != 0
ORDER BY pid, disporder
"
);

$forumsread = unserialize($mybb->cookies['mybb']['forumread']);
}
else
{
// Build a forum cache.
$query = $db->query("
SELECT f.*, fr.dateline AS lastread
FROM "
.TABLE_PREFIX."forums f
LEFT JOIN "
.TABLE_PREFIX."forumsread fr ON (fr.fid=f.fid AND fr.uid='{$mybb->user['uid']}')
WHERE f.active != 0
ORDER BY pid, disporder
"
);
}
while(
$forum = $db->fetch_array($query))
{
if(
$mybb->user['uid'] == 0)
{
if(
$forumsread[$forum['fid']])
{
$forum['lastread'] = $forumsread[$forum['fid']];
}
}
$fcache[$forum['pid']][$forum['disporder']][$forum['fid']] = $forum;
}

In der portal.php ist dieser Abschnitt für die Threads zuständig:
PHP-Code:
// Latest forum discussions
if($mybb->settings['portal_showdiscussions'] != 0 && $mybb->settings['portal_showdiscussionsnum'])
{
$altbg = alt_trow();
$threadlist = '';
$query = $db->query("
SELECT t.*, u.username
FROM "
.TABLE_PREFIX."threads t
LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid=t.uid)
WHERE 1=1
$unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
ORDER BY t.lastpost DESC
LIMIT 0, "
.$mybb->settings['portal_showdiscussionsnum']
);
while(
$thread = $db->fetch_array($query))
{
$lastpostdate = my_date($mybb->settings['dateformat'], $thread['lastpost']);
$lastposttime = my_date($mybb->settings['timeformat'], $thread['lastpost']);
// Don't link to guest's profiles (they have no profile).
if($thread['lastposteruid'] == 0)
{
$lastposterlink = $thread['lastposter'];
}
else
{
$lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']);
}
if(
my_strlen($thread['subject']) > 20)
{
$thread['subject'] = my_substr($thread['subject'], 0, 20) . "...";
}
$thread['subject'] = htmlspecialchars_uni($parser->parse_badwords($thread['subject']));
$thread['threadlink'] = get_thread_link($thread['tid']);
eval(
"\$threadlist .= \"".$templates->get("portal_latestthreads_thread")."\";");
$altbg = alt_trow();
}
if(
$threadlist)
{
// Show the table only if there are threads
eval("\$latestthreads = \"".$templates->get("portal_latestthreads")."\";");
}
}

Wie stell ich das jetzt an, dass ich von gelesen und ungelesen unterscheiden kann?
Zitieren
#2
Ich sagte ja, dass das komplizierter ist. Ich glaube nicht, dass dir jemand den fertigen Code bastelt. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Ich könnte auch was per w2b (work2buy.com) zahlen wenns sein muss. Einfach per PN melden. (Wenn jemand mit Geld gleich interesse daran hat, könnte er gleich noch mehr machen)

Aber ich wäre schon über Unterstützung froh. Also so wie ich das sehe wird da was per Cookie gespeichert. und erst dann in der Schleife wieder abgefragt. Würdet ihr das so belassen oder wie ist das?
Abgesehen davon ist der Code ja sowieso zu nichts Nütz. Im Forum werden bei uns einfach alle als ungelesen markiert...
Zitieren
#4
Nein, nur für Gäste wird in Cookies gespeichert. Bei Benutzern steht das in der Datenbank.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Doppelt Buchstaben abfragen? Yasilein 6 3.367 07.06.2014, 14:18
Letzter Beitrag: Yasilein
  Anzahl der User in den Gruppen abfragen MrBrechreiz 10 5.036 29.04.2014, 12:54
Letzter Beitrag: MrBrechreiz
  Doppelt mit WHERE abfragen? Yasilein 4 2.410 17.12.2013, 20:41
Letzter Beitrag: Yasilein
  Zugriffsrechte pro Forum für anzugebenden User abfragen? icarus 3 2.332 27.09.2010, 13:42
Letzter Beitrag: querschlaeger
  MySQL abfragen zahl Marti95. 4 2.881 14.12.2009, 20:02
Letzter Beitrag: Marti95.