Seite 2 von 3
Verfasst: 25.08.2004 16:05
von Axel77AC
Also nur die an_option.zip installieren? und dann melden?

Danke!
Verfasst: 26.08.2004 08:15
von Axel77AC
Jau, der Mod ist installiert und funktioniert! Danke für den Tip. Aber was mach ich nun, Acid? Herzlichen Dank und viele Grüße!
Ach so: Allerdings sollte die Option nur angezeigt werden bei einem neuen Topic! Man sollte nicht einzelne Posts sperren können, sondern der Verfasser eines Topics bestimmt darüber, ob es angezeigt wird.
Verfasst: 26.08.2004 20:09
von Acid
viewtopic.php
Code: Alles auswählen
#
#-------[ FINDE ] -------------------
#
else
{
include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
sync('topic', $topic_id);
message_die(GENERAL_MESSAGE, $lang['No_posts_topic']);
}
#
#-------[ DARUNTER EINFÜGEN ] -------------------
#
if( $postrow[$i]['an_option'] == '0' && $userdata['user_id'] == ANONYMOUS )
{
message_die(GENERAL_MESSAGE, 'Topic für Gäste gesperrt.');
}
..versuch´s mal damit.
Damit´s nur für "Neues Thema" gilt:
Verschiebe mal den in die posting_body.tpl eingefügten Code unterhalb von..
..sollte ausreichen.
Verfasst: 26.08.2004 20:30
von Axel77AC
Das läut bei mir nicht - ich frage mich auch, wo bei Deinem Vorschlag der Zähler in dem postrow-Array herkommt...? So schaut das bei mir jetzt aus - was läuft falsch?
Viele Grüße, Axel
Code: Alles auswählen
$postrow = array();
if ($row = $db->sql_fetchrow($result))
{
do
{
$postrow[] = $row;
}
while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result);
$total_posts = count($postrow);
}
else
{
include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
sync('topic', $topic_id);
message_die(GENERAL_MESSAGE, $lang['No_posts_topic']);
}
if( $postrow[$i]['an_option'] == '0' && $userdata['user_id'] == ANONYMOUS )
{
message_die(GENERAL_MESSAGE, 'Topic für Gäste gesperrt.');
}
Verfasst: 27.08.2004 21:03
von Acid
..ersetze mal die "0" mit "1".
Verfasst: 27.08.2004 21:07
von Axel77AC
Ich habe schlußendlich die $postrow[$i] durch $postrow[0] ersetzt - das müßte doch das erste Posting des Topics sein, oder? Seitdem scheint es zu funktionieren. Danke übrigens!
Verfasst: 27.08.2004 22:01
von Acid
Ach, mein Fehler.
Das was in die viewtopic.php neu eingefügt werden sollte, müsste eher unterhalb folgender Zeilen platziert werden (teste dann mal "0" bzw. "1").
Axel77AC hat geschrieben:Ich habe schlußendlich die $postrow[$i] durch $postrow[0] ersetzt - das müßte doch das erste Posting des Topics sein, oder?
Naja wenn das funktioniert, dann.. hmm.
$postrow[0] ist eigentlich gar nix, erst recht nicht der erste Beitrag in dem Thema.
Im obigen Code ist mit "0" bzw. "1" einfach "nein" bzw. "ja" gemeint. Wenn du die Option aktivierst bzw. deaktivierst wird "0" (nein) bzw. "1" (ja) in der Datenbank abgespeichert.
Verfasst: 27.08.2004 22:06
von Axel77AC
Ja, Deine Auffassung von 0 und 1 war mir klar - aber postrow[0] ist doch was:
Code: Alles auswählen
$postrow = array();
if ($row = $db->sql_fetchrow($result))
{
do
{
$postrow[] = $row;
}
while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result);
$total_posts = count($postrow);
}
Hier werden doch alle posts des topics in ein Array geladen, oder? Und postrow[$i] ist der i-te Post, darüber steht doch auch die passende SQL-Abfrage in der Datei.
Einen anderen Grund, warum das bei mir klappt, kenn ich nicht.
Verfasst: 28.08.2004 07:52
von Acid
ähm.. könntest du trotzdem mal meine letzte Änderung ausprobieren?
(Vorher die funktionierende viewtopic.php sichern.)
Verfasst: 28.08.2004 07:59
von Axel77AC
Jein: Das klappt nicht unbedingt so, wie ich es mir vorgestellt habe:
Nun kann das erste Posting (was eigentlich über Anzeige / Nichtanzeige entscheiden soll) zwar auf "Anzeigen" stehen, aber eines der Folgepostings kann das dann verhindern, indem der Poster für sein Posting auf "Nichtanzeige" schaltet...