Seite 1 von 2

Suche "Read only Mod" für neue User

Verfasst: 20.10.2004 18:13
von sptotal
Hallo,

ich suche einen Mod der folgende Funktion erfüllt:

Neu angemeldete User sollen (z.B.) die ersten 7 Tage nur Posts lesen können, aber noch keine selber verfassen können.

Wenn sie 7 Tage lang angemeldet sind und sich eingelesen haben, dürfen sie dann auch posten.

Gibt es einen solchen Mod schon?

MfG

sptotal

Verfasst: 21.10.2004 10:39
von sptotal
Gibts solch einen Mod etwa nicht?

glaube nicht...

Verfasst: 21.10.2004 10:55
von damion
Ich bin gerade am aufbauen von nem neuen Forum und demnach ganz schön am rumstöbern, und hab sowas noch nicht gesehen...

Aber es gibt doch Mods, die Benutzer autommatisch nach bestimmten kriterien in Benutzergruppen einordnen, vielleicht können die ja auch zeitgesteuert arbeiten. Dann kannst Du es über Gruppenberechtigungen steuern...

Damion :)

Verfasst: 21.10.2004 11:11
von sptotal
Erstmal vielen Dank für die Antwort.

Das mit den Gruppen wäre eine Idee...

Aber es geht doch bestimmt einfacher. So z.B.:

Es wird vor dem Öffnen der posting.php untersucht, ob ein User schon mehr als 7 Tage angemeldet ist. Erst dann kann er die Maske zum Schreiben neuer Beiträge sehen. Ansonsten kommt eine Meldung "Du musst mindestens 8 Tage registriert sein, um hier posten zu dürfen"....

Verfasst: 21.10.2004 11:19
von damion
Jo, das müsste auch gehen, aber dann hat der user trotzdem den 'Post' button. Wäre ja besser, wenn dem user das gar nicht erst angeboten würde.

Obwohl, in deinem speziellen fall wäre es ja eher ein köder, damit sie im forum bleiben...

Ich bin leider gar nicht firm in php, aber so eine abfrage müsste relativ einfach zu implementieren sein, wenn das anmeldedatum schon in der db ist...

Damion :)

Verfasst: 22.10.2004 10:27
von sptotal
Kann mir vielleicht jemand hier hin "coden", wie ich das Anmeldedatum des eingeloggten Users abfrage? Weiter käm' ich dann glaub ich alleine...

Verfasst: 22.10.2004 21:48
von kratzer54847

Code: Alles auswählen

SELECT user_regdate
FROM phpbb_users
WHERE user_id = $userdata[user_id]
achte aber auf den Präfix phpbb_ ,den musst du ggf. anpassen.

Das Regdatum wird als Timestamp gespeichert

mfg Johny

Verfasst: 23.10.2004 11:08
von sptotal
kratzer54847 hat geschrieben:

Code: Alles auswählen

SELECT user_regdate
FROM phpbb_users
WHERE user_id = $userdata[user_id]
achte aber auf den Präfix phpbb_ ,den musst du ggf. anpassen.

Das Regdatum wird als Timestamp gespeichert

mfg Johny
Danke.

Verfasst: 23.10.2004 11:15
von kratzer54847

Code: Alles auswählen

$sql = "SELECT user_regdate
FROM " . USERS_TABLE . "
WHERE user_id = '$userdata[user_id]'";

$result = mysql_query($sql);

while ( $row = $db->sql_fetchrow($result) )
{
            $regdatum = $row['user_regdate'];
}

$heutedatum = time();

Verfasst: 23.10.2004 11:36
von sptotal
Danke... leider wird für $regdatum kein Wert zurückgeliefert...

Ich habe den Code ganz am Anfang unter den includes der posting.php hingesetzt:

Code: Alles auswählen

<?php
 
 define('IN_PHPBB', true);
 $phpbb_root_path = './';
 include($phpbb_root_path . 'extension.inc');
 include($phpbb_root_path . 'common.'.$phpEx);
 include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
 include($phpbb_root_path . 'includes/functions_post.'.$phpEx);

$sql = "SELECT user_regdate
FROM " . USERS_TABLE . "
WHERE user_id = '$userdata[user_id]'";

$result = mysql_query($sql);

while ( $row = $db->sql_fetchrow($result) )
{
            $regdatum = $row['user_regdate'];
}

$heutedatum = time();
Ist das falsch?

Darunter dann folgende Abfrage:

Code: Alles auswählen

if($heuteatum-$regdatum<=604800)

{

echo "Keine Berechtigung zu posten";

}

else

{

DER REST VON posting.php

}