Seite 1 von 2
[S] eher Snippet | Ist schon ein Thread von User vorhanden?
Verfasst: 16.12.2005 15:52
von maxxo
Hallo,
ich denke was ich bemötige ist eher ein Snippet und für Könner schnell zu ergänzen, oder?
Folgendes:
Ich würd es gern so umändern, des bevor jemand ein Thread eröffnen will / posten will, geprüft wird, ob in dem jeweiligen Forum schon ein Thread des Users vorhanden ist.
If ja == break - Warnung
If nein == weiter machen
Kann mir da jemand helfen?
Wäre lieb,
schöne Grüße
PS: Anonsten bräucht ich noch hier Hilfe:
http://www.phpbb.de/viewtopic.php?p=612120#612120
Bezüglich einem Schnee Script

Verfasst: 16.12.2005 20:44
von maxxo
kann mir da keiner helfen?

Verfasst: 17.12.2005 10:02
von maxxo
Des ist für viele sicher recht simple, oder?
Verfasst: 18.12.2005 00:44
von maxxo
bitte helft mir

Verfasst: 18.12.2005 09:48
von S2B
Finde in posting.php:
Code: Alles auswählen
redirect(append_sid("login.$phpEx?redirect=posting.$phpEx&" . $redirect, true));
}
Füge danach ein:
Code: Alles auswählen
if ($userdata['user_level'] != ADMIN && $userdata['user_id'] != ANONYMOUS)
{
$sql = 'SELECT COUNT(topic_id) AS topic_count FROM ' . TOPICS_TABLE . "
WHERE forum_id = $forum_id AND topic_poster = " . $userdata['user_id'];
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not get topic count', '', __LINE__, __FILE__, $sql);
}
$count_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($count_row['topic_count'] > 0)
{
message_die(GENERAL_MESSAGE, $lang['Topic_already_exists']);
}
}
Finde in language/lang_german/lang_main.php:
Füge davor ein:
Code: Alles auswählen
$lang['Topic_already_exists'] = 'Du hast bereits ein Thema in diesem Forum geschrieben';
Müsste eigentlich laufen.

Verfasst: 18.12.2005 12:02
von maxxo
ok, super.
Nur wo deklarier ich die forum id, für die der code laufen soll?
Verfasst: 18.12.2005 13:00
von S2B
Der von mir gepostete Code läuft für alle Foren.

Du könntest aber entweder eine Eigenschaft ins ACP einbauen oder du verwendest einfach ein Array mit den ID's:
Code: Alles auswählen
$1_topic_forums = array(1, 5, 6);
if (in_array($forum_id, $1_topic_forums) && $userdata['user_level'] != ADMIN && $userdata['user_id'] != ANONYMOUS)
[...]
Verfasst: 18.12.2005 13:35
von maxxo
$1_topic_forums = array(1, 5, 6);
if (in_array($forum_id, $1_topic_forums) && $userdata['user_level'] != ADMIN && $userdata['user_id'] != ANONYMOUS)
die Ziffern sind die ForenIDs, oder?
Den Code einfach über den anderen oder wo?
Ist es Aufwand, da noch so ne EIgenschaft fürs ACP zu coden? =)
Verfasst: 18.12.2005 14:32
von S2B
Wenn du ein bisschen genauer hinschaust, dann siehst du schnell, wo man den Code hintun muss.
Und hier das ganze als kleinen MOD mit ACP-Eigenschaft:
onetopic.txt
Verfasst: 18.12.2005 14:58
von maxxo
wow, super nett, danke
Danke echt für die Arbeit.
Habs eingebaut, geht auch alles.
Nur wird die beschreibung neben Aktviert bei den Foreneinstellungen nicht angezeigt, obwohl eigentlich alles richtig ist. Die Variable heisst doch onetopic_enable. Aber des ist ned so schlimm.
Wenns aktviert ist, kann man aber nicht mehr den Beitrag editieren & man kann auch nciht mehr in diesem Forum dann antworten. Es soll aber nur die Threaderffönung gesperrt sein. Oder geht das nicht?
