Avatar-Upload: zeitliche Sperre: Wie?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Matlock
Mitglied
Beiträge: 288
Registriert: 01.07.2003 12:32
Wohnort: Südpfalz
Kontaktdaten:

Avatar-Upload: zeitliche Sperre: Wie?

Beitrag von Matlock »


Bei uns nervt ein User durch tägliches Ändern seines Avatars. Völlig verbieten wollen wir ihm den Upload nicht. Wie kann man es erreichen, daß User ihren Avatar nur nach Ablauf von X (z.B. 30) Tagen ändern können?


Gast

Re: Avatar-Upload: zeitliche Sperre: Wie?

Beitrag von Gast »

Matlock hat geschrieben: Bei uns nervt ein User durch tägliches Ändern seines Avatars. Völlig verbieten wollen wir ihm den Upload nicht. Wie kann man es erreichen, daß User ihren Avatar nur nach Ablauf von X (z.B. 30) Tagen ändern können?

Ja, manche übertreibens echt. Wär ne gute Sache!
Matlock
Mitglied
Beiträge: 288
Registriert: 01.07.2003 12:32
Wohnort: Südpfalz
Kontaktdaten:

Beitrag von Matlock »

Weiß denn wirklich keiner, wie das geht? Hilfe!!!
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

für den fall, das es sich um upload-avatare handel (wenn nicht, dann wird das ganze deutlich aufwendiger)
man könnte überprüfen, wann der jetztige avatar des user erstellt wurde
ala
fileatime(@phpbb_realpath('./' . $board_config['avatar_path'] . '/' . $userdata['user_avatar']))+60*60*24*30 > time()
als umsetzung (ungetestet, nur einfach mal so ins unreine gedacht)
geh mal in includes/usercp_register.php
dort findest du so um zeile 391 rum folgendes

Code: Alles auswählen

	if ( isset($HTTP_POST_VARS['avatardel']) && $mode == 'editprofile' )
	{
		$avatar_sql = user_avatar_delete($userdata['user_avatar_type'], $userdata['user_avatar']);
	}
danach fügst du folgendes ein:

Code: Alles auswählen

    if ( !empty($userdata['user_avatar']) && ( @fileatime(@phpbb_realpath('./' . $board_config['avatar_path'] . '/' . $userdata['user_avatar']))+60*60*24*30 > time() ) && ( !empty($user_avatar_upload) || !empty($user_avatar_name) || !empty($user_avatar_remoteurl) || !empty($user_avatar_local) ) ) { 
        $error = true; 
        $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . 'Du darfst deinen Avatar nur alle 30 Tage ändern.'; 
    }
	else
	{
und anschließend noch nach folgendem (etwa zeile430

Code: Alles auswählen

		$avatar_sql = user_avatar_gallery($mode, $error, $error_msg, $user_avatar_local);
	}
fügst du noch ein ein.

-- edit --
Fehler aus Code entfernt
Zuletzt geändert von QCO am 13.08.2003 17:25, insgesamt 1-mal geändert.
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Matlock
Mitglied
Beiträge: 288
Registriert: 01.07.2003 12:32
Wohnort: Südpfalz
Kontaktdaten:

Beitrag von Matlock »

Ich hab das mal so eingefügt, 100%ig wie oben beschrieben, es kommt beim Aufruf des Profils folgende Fehlermeldung:

Code: Alles auswählen

Parse error: parse error, unexpected '{' in /www/htdocs/v081722/phpBB2/includes/usercp_register.php on line 391
Woran kann es liegen?
Benutzeravatar
Henne
Ehemaliges Teammitglied
Beiträge: 4520
Registriert: 04.01.2002 01:00
Wohnort: Lage (Lippe)
Kontaktdaten:

Beitrag von Henne »

Kannst deine Datei mal als .txt speichern und nen Link posten?
Matlock
Mitglied
Beiträge: 288
Registriert: 01.07.2003 12:32
Wohnort: Südpfalz
Kontaktdaten:

Beitrag von Matlock »

Hm, da hat wohl hinter

Code: Alles auswählen

time() )
noch ein gefehlt. Jetzt kann man das Profil anklicken.

Bei dem dann folgenden Versuch, einen neuen Avatar hochzuladen, der alte war über 30 Tage alt, kommen folgende Fehlermeldungen:

Code: Alles auswählen

Warning: fileatime() [function.fileatime]: Stat failed for (errno=2 - No such file or directory) in /www/htdocs/v081722/phpBB2/includes/usercp_register.php on line 391

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/v081722/phpBB2/includes/usercp_register.php:391) in /www/htdocs/v081722/phpBB2/includes/page_header.php on line 504

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/v081722/phpBB2/includes/usercp_register.php:391) in /www/htdocs/v081722/phpBB2/includes/page_header.php on line 506

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/v081722/phpBB2/includes/usercp_register.php:391) in /www/htdocs/v081722/phpBB2/includes/page_header.php on line 507
Matlock
Mitglied
Beiträge: 288
Registriert: 01.07.2003 12:32
Wohnort: Südpfalz
Kontaktdaten:

Beitrag von Matlock »

Henne23 hat geschrieben:Kannst deine Datei mal als .txt speichern und nen Link posten?
So, da ist die Datei

Die Änderungen sind gekennzeichnet mit // uploadsperre 30 tage
Benutzeravatar
Henne
Ehemaliges Teammitglied
Beiträge: 4520
Registriert: 04.01.2002 01:00
Wohnort: Lage (Lippe)
Kontaktdaten:

Beitrag von Henne »

Hast du schon nen Avatar von dir auf dem Server liegen?
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

:D ok, war ja auch nur ein schuss ins blaue
hab noch ein paar fehler rausgemacht:

Code: Alles auswählen

    if ( !empty($userdata['user_avatar']) && ( @fileatime(@phpbb_realpath('./' . $board_config['avatar_path'] . '/' . $userdata['user_avatar']))+60*60*24*30 > time() ) && ( !empty($user_avatar_upload) || !empty($user_avatar_name) || !empty($user_avatar_remoteurl) || !empty($user_avatar_local) ) ) { 
        $error = true; 
        $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . 'Du darfst deinen Avatar nur alle 30 Tage ändern.'; 
    }
leider hab ich grad keine boardinstallation, in der ich das gefahrlos testen könnte...
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“