User dürfen erst nach x Postings Posten

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

User dürfen erst nach x Postings Posten

Beitrag von tom10 »

Deine phpBB Version: Vanilla phpBB 2.0.17
MODs: Ja
Dein Wissensstand: Einsteiger
Link zu Deinem Forum: http://ford-welt.de

PHP Version:
MySQL Version:


Was hast Du gemacht, bevor das Problem aufgetreten ist?



Was hast Du bereits versucht um das Problem zu lösen?




Fehlerbeschreibung und Nachricht

Also ich hab schon länger diesen Weg eingebaut gehabt. Er bewirkt das User welche 5 Postings erstellt haben erst in einem bestimmten Forum posten dürfen.
Und zwar mit hilfe des Autogroup Mods.
Ich erstelle also eine AutoGruppe (A&V) welche nach 5 Postings posten darf.
Dann stelle ich das entsprechende Forum auf Posten "privat". Die User mit 5 Postings werden der AutoGruppe (in meinem Fall "A&V") zugeordnet. So weit so gut.

Nun bekam ich gerade die Info von einem User mit über 300 postings das er eben dort nicht posten kann. Es kommt die Meldung das man dazu spezielle Rechte haben muß. Ist ja auch richtig und sollte eigentlich nur bei Usern mit weniger als diese 5 Postings erscheinen.
Ich selber als Admin kann z.b. dort posten.
Ein Testaccount geht statt dessen auch nicht.
Wer kann mir da bitte helfen. ^7
Zuletzt geändert von tom10 am Sa 03.Sep, 2005 11:16, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das hier wäre eine Möglichkeit. Müsste vielleicht nur noch etwas angepasst, also auf das eine Forum beschränkt werden: http://www.phpbbhacks.com/download/5010
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Hmmm, leider weis ich überhaupt nicht wie ich da ansetzten soll. Ich weis Du hast so endlos wenig zeit immer. Aber warum klappen denn meine Einstellungen da nicht ? Das ging doch bis jetzt und sollte doch eigentlich kein problem sein, so das ich da doch eigentlich auch keinen zusätzlichen Mod bräuchte.
Aber selbst wo dir mir den Mod empfielst hilft mir das leider nicht wirklich, da ich nicht weis wie ich den anpassen sollte.

Hilfeeeeeee :wuah:
Der Versuch was neues zu versuchen....
http://simson-le.de.vu
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Na, soooo schwer ist das nun wirklich nicht.
Du findest im MOD zweimal die Zeile

Code: Alles auswählen

	if ($row['user_posts'] < 20)
Baue die jeweils so ein:

Code: Alles auswählen

	if ($row['user_posts'] < 20 && $forum_id == X)
wobei X für die Foren-ID steht, in der dieser MOD gelten soll...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Recht vielen Dank ! ich baue das mal ein. Wie verhält sich das wenn ich 2 Foren auswählen möchte ?
Sieht die Zeile z.B. dann so aus ? :
if ($row['user_posts'] < 20 && $forum_id == 1;2)

Wenn ich die paar zeilen einbaue kommt leider beim versuch zu Posten eine Fehlermeldung.
Mein Einbau sieht so aus:

Code: Alles auswählen

	if ( $mode == 'newtopic' )
	{
		$user_sig = ( $userdata['user_sig'] != '' ) ? $userdata['user_sig'] : '';

		// Start replacement - Yellow card MOD
$username = ($userdata['session_logged_in']) ? $userdata['username'] : ''; 
$poll_title = ''; 
$poll_length = ''; 
// End replacement - Yellow card MOD
$userid = $userdata['user_id'];
$sql = "SELECT user_posts
	 FROM " . USERS_TABLE . "
	 WHERE user_id = $userid";
if ( !($result = $db->sql_query($sql)) )
{
		message_die(GENERAL_MESSAGE, 'Could not obtain user_posts data');
}
	$row = $db->sql_fetchrow($result); 
	$user_posts = $row['user_posts'];

	if ($row['user_posts'] < 5 && $forum_id == 4)

	{
$message = 'HERE IS YOUR WARNING MESSAGE!';
	}
else if ($userid == ANONYMOUS )
{
$message = 'HERE IS YOUR WARNING MESSAGE!';
}

else if ($row['user_posts'] > 5)

{
$message = '';
}		
	}
//
// NOTE: Change value 5 to the number of posts you wish. When you reach 5 as shown here you will not see the message again. Und die Zahl 4 gibt die Foren ID an.
//

		$cont_title = '';
		$cont_desc = '';
		$cont_number = '';
		$cont_album_id = '';
		$cont_date = '';
		$cont_app = '';
		
		//-- mod : post icon -------------------------------------------------------------------------------
//-- add
		$post_icon = 0;
//-- fin mod : post icon ---------------------------------------------------------------------------

	}
	else if ( $mode == 'reply' )
	{
		$user_sig = ( $userdata['user_sig'] != '' ) ? $userdata['user_sig'] : '';

		$username = ( $userdata['session_logged_in'] ) ? $userdata['username'] : '';
		$subject = '';
$userid = $userdata['user_id'];
$sql = "SELECT user_posts
	 FROM " . USERS_TABLE . "
	 WHERE user_id = $userid";
if ( !($result = $db->sql_query($sql)) )
{
		message_die(GENERAL_MESSAGE, 'Could not obtain user_posts data');
}
	$row = $db->sql_fetchrow($result); 
	$user_posts = $row['user_posts'];

	if ($row['user_posts'] < 5 && $forum_id == 4)

	{
$message = 'HERE IS YOUR WARNING MESSAGE!';
	}
else if ($userid == ANONYMOUS )
{
$message = 'HERE IS YOUR WARNING MESSAGE!';
}
else if ($row['user_posts'] > 5)

{
$message = '';
}	

//
// NOTE: Change value 5 to the number of posts you wish. When you reach 5 as shown here you will not see the message again. Und die zahl 4 gibt die Foren ID an.
//
Und die Fehlermeldung so:
Parse error: parse error, unexpected T_ELSE in /www/htdocs/v132501/posting.php on line 1296
Zuletzt geändert von tom10 am So 04.Sep, 2005 07:28, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Code: Alles auswählen

if ($row['user_posts'] < 20 && $forum_id == 1;2)
wäre so korrekter:

Code: Alles auswählen

if ($row['user_posts'] < 20 && ($forum_id == 1 || $forum_id == 2))
Und zum Fehler häng mal bitte die komplette Datei an (Als ZIP). So sehe ich nicht genau, wo der Fehler sein sollte...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Na das mach ich doch glatt!

Ähm, noch ne Frage... bei deinem code sind 2 )) am ende ... ist das richtig ?
Zuletzt geändert von tom10 am So 04.Sep, 2005 12:04, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ähm, noch ne Frage... bei deinem code sind 2 )) am ende ... ist das richtig ?
Ja, da ja auch 2 öffnende Klammern enthalten sind ;)

Die angehängte posting.php sollte jetzt auch so passen...

[ Attachment gelöscht am So 04.Sep, 2005 18:32 von oxpus ]
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Danke Dir Oxpus für die Mühe!
Die Fehlermeldung ist nun weg. Aber der Mod greift einfach nicht.
Ich habe die Forenberechtigung wieder normal auf Reg gestellt beim Posten und die geänderte posting.php hoch geladen.
Ein Testaccount mit 4 Nachrichten sieht zwar beim Posting erstellen die "Warning Message" im Eingabefeld diese kann man problemlos überschreiben und die Nachricht abschicken.
Die Foren ID und die Postinganzahl sollten auch stimmen. Wo also liegt da das Problem. ¢# ¢¦
Zuletzt geändert von tom10 am So 04.Sep, 2005 18:08, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Okay, dann Hardcore:

Jetzt wird das Script per Nachricht konsequent angehalten und der User kommt nicht weiter, solange er nicht 5 Beiträge in anderen Foren hat.

[ Attachment gelöscht am Mo 05.Sep, 2005 18:57 von oxpus ]
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Nun was soll ich sagen ....Das posten wird nun wie Du so schön schriebst nun unterbunden....
Aber leider generell. Auch wenn ich 6 oder 7 Nachrichten geschrieben hab wir mir nun gar nicht mehr erlaubt in den betreffenden Forum zu schreiben.....Da schein doch noch was nicht ganz zu stimmen. ¦1
Der Versuch was neues zu versuchen....
http://simson-le.de.vu
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Da war ich mal wieder betriebsblind :!:

Ersetze die beiden Zeilen

Code: Alles auswählen

		if ($row['user_posts'] < 5 && $forum_id == 4)
durch

Code: Alles auswählen

		if ($userdata['user_posts'] < 5 && $forum_id == 4)
dann sollte es wieder gehen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Es ist doch langsam zum verzweifeln. Es geht immer noch nicht ! Ich häng dir nochmal die von mir nun aktuelle Datei mit an.
User können nun Posten, egal wieviele Postings die haben... oder muß ich nun das Forum wieder auf "Privat" setzten ?

Edit: nee auf "privat"setzen bring auchblos nichts denn dann können ja nur user einer bestimmten Gruppe posten. ^w

Kann das vielleicht auch sein das, daß Zählen der Beiträge nicht ganz klappt? Mir ist aufgefallen das wenn ich mir z.B. das profil anzeigen lasse, da steht der user hätte 4 beiträge verfasst. Wenn ich dann weiter klicke auf alle anzeigen kommen da aber viel mehr Beiträge zum Vorschein.
Ist denn das so richtig ? Oder liegt vielleicht da der Wurm begraben ? :confused:

[ Attachment gelöscht am Di 06.Sep, 2005 19:16 von oxpus ]
Zuletzt geändert von tom10 am Mo 05.Sep, 2005 18:14, insgesamt 4-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Versuchs mal hiermit:

[ Attachment gelöscht am Di 06.Sep, 2005 19:23 von oxpus ]
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Nein klappt leider immer noch nicht. Nun ist es wieder so das man egal wie viel man geschrieben hat nicht posten kann. man wird generell geblockt. Scheint wohl doch ein schwerwiegenderes Problem zu sein ? :!:
Der Versuch was neues zu versuchen....
http://simson-le.de.vu
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Okay, teste ich später dann mal selber aus...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Oh, das läst mich hoffen. Bin mal gespannt ob Du das in den Griff bekommen kannst.
Der Versuch was neues zu versuchen....
http://simson-le.de.vu
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich habe es nochmal "leicht" modifiziert und vorher wie nachher konnte ich mit einem "unbeschriebenen" Testaccount keine Beiträge verfassen oder beantworten, ab der gewünschten Anzahl mit einem anderen Account aber schon.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Das scheint zu funktionieren. Nur muss ich bei meinem testuser die Postingzahl manuell hoch setzten weil die irgend wie nicht aktualisiert wird. ?!?!?
Ist das schon ein neues thema ? Oder kann man das hier mal kurz im Zusammenhang mit abklären ?
Wie kann ich denn prüfen warum das nicht aktualisiert wird ?

Weiterhin noch eine frage. Belastet die Abfrage eigentlich das Forum stark? Oder wird die Abfrage nur dann getätigt wenn jemand speziell auf den geschützten Forenbereich zugreift ?
Der Versuch was neues zu versuchen....
http://simson-le.de.vu
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die Abfrage ist nur eine, die ausgelöst wird und dabei kommt es überhaupt nicht zu Performance Problemen.
Warum allerdings bei Deine Usern die Beitragszahlen nicht hochgezählt werden, liegt vermutlich an der functions_posts.php, wo die Userstatistiken geführt werden...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Dürfte ich die dir mal zu einem Fachmännichen Blick zeigen?
Der Versuch was neues zu versuchen....
http://simson-le.de.vu
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Was zeigen?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Die functions_posts.php wegen den fehlerhaften Zähler der Beiträge. Wei ich doch so :cool: bin.....
Der Versuch was neues zu versuchen....
http://simson-le.de.vu
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Axo. Ja dann pack dir mal hier an...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Na dann häng ich die aber mal ganz schnell an..... :D
Antworten