Avatar automatisch löschen wenn...

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!
Antworten
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Avatar automatisch löschen wenn...

Beitrag von Darezettl »

So, folgendes Problem.
Ich benutze den Profilepic-Mod von AmigaLink und habe den selbigen so abgeändert, dass das Profilbild nicht nur wahlweise (wie es der MOD normalerweise dem User anbietet) auch zum Avatar wird, sondern per default.

Den Code für die avatar steuerung habe ich aus der profile_add_body.tpl komplett rausgeworfen (stattdessen ist dort nun eben das vom profilepic mod), aus der usercp_register.php jedoch nicht!

also, es funktioniert eigentlich alles ganz prima, nur eine sache nicht:

und zwar wenn ein user sein profilbild löscht (und kein neues hochläd), ist zwar das profilbild nun weg, aber der daraus generierte avatar ist weiterhin vorhanden, wird weiterhin angezeigt.

Könntest du mir bitte noch sagen, wie man dem Script den mitteilt, dass wenn das Profilbild gelöscht wird, der Avatar des selben Users auch gleich noch gelöscht wird?

Falls du sie brauchst, hab dir mal die 2 Dateien angehangen! ;)
... und hier der Link zum MOD: http://www.amigalink.de/phpbb2/download ... ail&id=104

[ Attachment gelöscht am Mo 07.Mai, 2007 00:30 von oxpus ]
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Bescheidene Frage vorab:
Wenn Du doch nur noch ein Bild haben willst und nichts zur Auswahl stellst, warum baust Du dann den Profilpic MOD nicht wieder aus und erlaubst dann einfach nur "grössere" Avatare?
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!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

Ganz einfach, weil dann in der viewtopic und co, also überall im Forum außer dem Profil, auch das große Bild wäre; groß im Sinne der Datei- und Bildgröße.

So hab ich im Profil jetzt das unkomprimierte, große Bild in voller Auflösung und Größe, und auf den restlichen Seiten den Avatar, der quasi als eine Art Thumbnail des eigentlichen Bildes fungiert. Aber eben verkleinert und komprimiert, sodass der Seitenaufbau zügig erfolgen kann.
Stell dir nur vor, wenn in der viewtopic 10 Bilder a 150 KB geladen werden müssten.
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die Bildgrösse kann man aber auch an den "kritischen" Stellen herunterrechnen und das, ohne ein neues Image erstellen zu müssen ;)
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!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

wie auch immer, die lösung so wie ich es beschrieben hab ist für mich perfekt und da ändere ich nichts mehr.

kannst du mir nun bei meinem problem helfen?
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ja, aber nur mit angehangener usercp_register.php, wo auch eben der Avatar letztlich gelöscht wird ;)
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!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

Ich hab die Dateien doch im ersten Post angehangen, wieso hast du sie gelöscht?

Nun gut, hier also nochmal
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Darezettl am Mo 07.Mai, 2007 15:13, insgesamt 1-mal geändert.
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Eigentlich so einfach, daß man selbst drauf kommen könnte ;)

Ersetze in genau dieser usercp_register.php die Zeile

Code: Alles auswählen

	if ( isset($HTTP_POST_VARS['avatardel']) && $mode == 'editprofile' )
durch

Code: Alles auswählen

	if ( ( isset($HTTP_POST_VARS['profilepicdel']) || isset($HTTP_POST_VARS['avatardel']) ) && $mode == 'editprofile' )
Dann ist auch der Avatar Geschichte, wenn man das User-Bild löscht.
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!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

Ok, dann kommt aber die Meldung: "Du hast kein Profilbild aus dem ein Avatar erstellt werden könnte!" und das Profilepic wird gelöscht, der Avatar bleibt aber erhalten.

Diese Meldung ist hardcoded in der usercp_profilepic.php zu finden, und zwar nur an einer Stelle:

Code: Alles auswählen

// Make avatar
if ($HTTP_POST_VARS['profilepicasavatar'])
{
	(!$profilepic_file) ? $profilepic_file = ( !defined('IN_ADMIN') ) ? md5($userdata['user_id']).'.jpeg' : md5($this_userdata['user_id']).'.jpeg' : '';

	if (!is_file($phpbb_root_path.'images/userprofile_pics/'.$profilepic_file))
	{
		$error_msg .= 'Du hast kein Profilbild aus dem ein Avatar erstellt werden könnte!';
		$error = true;
	}
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Moment, das kann eigentlich nicht sein!
Wenn das Userpic gelöscht werden soll, dann wird in Deiner usercp_register.php erst die usercp_profilepic.php includiert, damit das User-Pic entfernt und erst dann der Avatar gelöscht.
Solange an der usercp_avatar.php nichts geändert wurde, was durch den Profile Pic MOD auch nicht geschieht, wird die usercp_profilepic.php nicht erneut aufgerufen (was eh zu einem Fehler führen würde).

Ich kann hier nicht wirklich viel weiter helfen, frag daher besser mal AmigaLink, von ihm ist der Profile Pic MOD...
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!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

... ich hab mal vor langer Zeit an der usercp_avatar.php was geändert, aber ich weiß nicht mehr was, verdammt.

schau mal drüber ob du den auslöser findest, bitte!


ps: in der admin/admin_user.php hab ich den code ebenfalls so eingebaut wie du es gepostet hast, und da gehts ohne fehlermeldung....
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Bild
Life begins @ 1/1000
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Hopsa, was ist denn da für eine übel ausgedrückte Hardcoded-Meldung zurückgeblieben? :eek: Das muss ich aber bei Gelegenheit mal berichtigen.

Die Meldung kommt weil bei Darezettl 'profilepicasavatar' immer gesetzt ist. :)
Ersetz in der usercp_profilepic.php die Zeile

Code: Alles auswählen

if ($HTTP_POST_VARS['profilepicasavatar'])
gegen

Code: Alles auswählen

if ($HTTP_POST_VARS['profilepicasavatar'] && !$HTTP_POST_VARS['profilepicdel'])
und das Problem sollte behoben sein.
oxpus hat geschrieben:Ich kann hier nicht wirklich viel weiter helfen, frag daher besser mal AmigaLink, von ihm ist der Profile Pic MOD...
Wenn Dare ein wenig mehr Geduld hätte, dann wäre dieses Thema bei mir behandelt worden! http://www.amigalink.de/phpbb2/viewtopic.php?t=974#7604
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Tja, mal wieder ein Beispiel, unendlich schneller Handlungsweisen ;)
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!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

Jetzt gehts!
Vielen Dank!!
Bild
Life begins @ 1/1000
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ich werde die nächsten Tage den MOD updaten. Dann ist diese Änderung bereits in der Datei enthalten und die Meldung nicht mehr Hardcoded.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

Ok es geht zwar nun, aber ich hab davor natürlich auch schon selber rumprobiert eh ich den Thread hier aufgemacht hab, nur bei meiner Variante ist dann eben auch diese Meldung "Du hast kein Profilbild aus dem ein Avatar erstellt werden könnte!".

Nur interessehalber, wäre meine Lösung auch richtig gewesen?

Ich hätte einfach das hier

Code: Alles auswählen

	if ($HTTP_POST_FILES['profilepic']['tmp_name'] || $HTTP_POST_VARS['profilepicdel'] || $HTTP_POST_VARS['profilepicasavatar'])
	{
		require($phpbb_root_path . 'includes/usercp_profilepic.' . $phpEx);
	}
mit dem hier ersetzt

Code: Alles auswählen

	if ($HTTP_POST_FILES['profilepic']['tmp_name'] || $HTTP_POST_VARS['profilepicasavatar'])
	{
		require($phpbb_root_path . 'includes/usercp_profilepic.' . $phpEx);
	}
	else if ($HTTP_POST_VARS['profilepicdel'])
	{
		require($phpbb_root_path . 'includes/usercp_profilepic.' . $phpEx);
		$avatar_sql = user_avatar_delete($userdata['user_avatar_type'], $userdata['user_avatar']);
	}
(in der usercp_register.php natürlich!)
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn es funktioniert, ist es immer "richtig" ;)
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
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ich habe den MOD nun erneuert.
Die Meldung ist nun nicht mehr Hardcodet und wird auch nur noch angezeigt wenn sie wirklich Berechtigt ist. :)

@ Dare
Mit der neuen Version wird der Fehler bei dir zwar nicht mehr auftreten, aber aus Performancegründen empfehle ich dir n der usercp_profilepic.php

Code: Alles auswählen

if ($HTTP_POST_VARS['profilepicasavatar'])
#if ($HTTP_POST_VARS['profilepicasavatar'] && !$HTTP_POST_VARS['profilepicdel'])
in

Code: Alles auswählen

#if ($HTTP_POST_VARS['profilepicasavatar'])
if ($HTTP_POST_VARS['profilepicasavatar'] && !$HTTP_POST_VARS['profilepicdel'])
zu ändern. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Antworten