Nickpage eines Users komplett löschen

Neue Projekte und Anfragen, Teamarbeiten und Alpha/Beta Scripte jeder Art.
KEINE Supportanfragen zu bestehenden MODs!
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Nickpage eines Users komplett löschen

Beitrag von bce »

hallo.

als admin hat man die möglichkeit eine nickpage eines noch angemeldeten user zu sperren, nicht aber zu löschen.

bräuchte am besten einen eintrag im acp das man eine np komplett löschen kann. das in keiner der nickpage-tabelle in der datenbank reste zu finden sind.

kann mir einer helfen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hier die Befehle:

Code: Alles auswählen

DELETE FROM phpbb_nickpagebuddies WHERE uid = 2;

DELETE FROM phpbb_nickpagefavs WHERE uid = 2;

DELETE FROM phpbb_nickpagegalerie WHERE uid = 2;

DELETE FROM phpbb_nickpagegb WHERE aid = 2;

DELETE FROM phpbb_nickpagemod WHERE uid = 2;

DELETE FROM phpbb_nickpagevotes WHERE uid = 2;
Ersetze ggf. "phpbb_" mit Deinem Tabellenprefix und "2" mit der User-ID, die gelöscht werden soll.

Hinweis:
"aid = 2" bei "DELETE FROM phpbb_nickpagegb" ist kein Schreibfehler!
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

danke.

bedarf es viel, die möglichkeit eine np zu löschen mit ins acp aufzunehmen? ähnlich np sperren.

auf was muss ich achten? die template dateien dürften nicht das problem sein.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, es müsste eine Liste der Nickpages angezeigt werden, von der man dann per Button, Link oder Checkbox die betreffende Nickpage löschen könnte.
Mal schauen, ob ich das irgendwie zwischen meine aktuellen Projekte schieben kann. Ist schliesslich nicht sooooo umfangreich.
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

stimmt. müßte eigentlich nur ne auswahlmöglichkeit geben. die sql-befehle hast ja schon zusammen ;)

das wäre prima!
Benutzeravatar
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

um den speicherplatz der datenbank in grenzen zu halten wäre auch praktisch, wenn man im acp einstellen könnte, dass die einträge in der nickpage nach xx tagen automatisch gelöscht werden.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

. oder man würde nur X zulassen und bei einem neuen Eintrag den ältesten löschen.
Aber nur mal am Rande:
Schalte zunächst mal Gzip ein und errechne/überschlage mal die Grösse der GB-Einträge. Text wird in der Datenbank eh komprimiert abgelegt und bis man 1MB Text vollgeschrieben hat, braucht es schon gewaltig viele Einträge.
Wieviel Platz hast Du denn überhaupt zur Verfügung?
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

dachte, dass das gzip die daten ein wenig komprimiert und dann abgespeckt zum browser schickt. hat also nichts mit der db zu tun!

meine mysql-db darf ca. 15 mb groß sein. zur zeit wird 1,1 mb belegt. aber da mein forum noch am anfang steht, möchte ich schon gleich ein wenig voraus schauen.

ps: die sicherung und das wiederherstellen dauert jetzt bei einer db-größe von 1,1 mb schon lange. was soll das bloss bei 5 oder mehr mb werden?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann würde ich eher einen anderen Hoster nehmen.
15MB Datenbankgrösse sind nicht gerade üppig.
Und mit Beiträgen wird die groß, nicht mit Daten von anderen Mods. Jedenfalls seltener.
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

hmm. dann werde ich wohl bei den beiträgen automatisch löschen nach geraumer zeit aktivieren müssen :-/

so ne sicherung der db dauert schon ein stück. auch wenns kompriemiert wird.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Kommt aber auch auf den Server selber und die Internet-Verbindung an.
Gerade kostenlose Webspaces (um einen solchen handelt es sich hier sicherlich) setzen sehr viele Accounts auf einen Server und das bremst selbigen ungemein aus. Also auch und gerade ein Backup.

Edit:
Versuchs mal mit den angehängten Dateien.
Achtung, die sind noch ungetestet.

[ Attachment gelöscht am Mo 20.Jun, 2005 23:39 von AmigaLink ]
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

sooo.. hab da mal was altes aufgegriffen 8)

hab die 2 files entsprechend entpackt.

2 dinge: ein fehler und ein schönheitsfehler...

der schönheitsfehler liegt darin, das der link "nickpage delete" im acp ganz unten unter "benutzer" sich wieder findet... besser wäre im acp unter dem punkt "nickpage"

der fehler ist auf dem bild zu sehen...
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag 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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

ok..

und die fehlermeldung?

muss irgendwie kann er die nickpages nich auslesen..
hier der code der dies machen soll:

Code: Alles auswählen

// Get all verify status from users
	$sql = "SELECT username, user_id FROM " . NICKPAGE_TABLE . "
		ORDER BY username $sort_order
		LIMIT $start, $amount";
	if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query nickpages', '', __LINE__, __FILE__, $sql);
	}
in der tabelle "phpbb_nickpagemod" heißen die felder "uid" und "name" (du verwendest im sql-befehl jedoch "username", "user_id")
Zuletzt geändert von bce am Fr 10.Jun, 2005 14:09, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann ändere die Abfrage entsprechend ab. Keine Ahnung, was mich da geritten hat...
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

habs geändert.. aber fehler ist immer noch...

ist das ein befehl, der nur unter php5 funktioniert? da in defhlermeldung (siehe bild) was von version steht...
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Mit PHP hat das hier nichts zu tun, sondern mit der Datenbank, wenn schon. Von dort kommt der SQL-Fehler zurück.
Nur: Was macht das Dropdown dort in der Anweisung? Das ist hinter $ort_order versteckt und damit kann die Datenbank nunmal wenig mit anfangen.
Ersetze mal diese Variable mit $order, dann sollte es passen.
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

äderung brachte nur mässigem erfolg... die links führen auf eine nicht vorhandene seite... "Die Seite wurde nicht gefunden..."

optisch passt auch irgendwas nich 100pro...

weiß das du i moment mit dem download-full-pack dich rum schlägst.. deshalb ist mir das hier nich so wichtig... wenns irgendwann mal zeit ist, dann würd ich mich freuen, wenn wir das prob hier gelöst bekommen..
Zuletzt geändert von bce am Di 14.Jun, 2005 12:32, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Och das geht schon zwischendurch.
Ersetze mal in der admin-Datei den Part (einer Zeile)

Code: Alles auswählen

<img src="'.$images['icon_delpost'].'" border="0" title="'.$lang['Delete'].'" />
durch

Code: Alles auswählen

<img src="../'.$images['icon_delpost'].'" border="0" title="'.$lang['Delete'].'" />
dann sollten die Images erscheinen.
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

:) ok.. bilder werden nun angezeigt... aber wenn man drauf klickt kommt man nach wie vor auf seite nicht gefunden... und die optik haut auch nich wirklich hin... siehe bild


wenn ich deinen sql-befehle verwende

Code: Alles auswählen

// Get all verify status from users
	$sql = "SELECT username, user_id FROM " . NICKPAGE_TABLE . "
		ORDER BY username $sort_order
		LIMIT $start, $amount";
so geht gar nichts...

habe den sql-befehl geändert.. da in der tabelle name anstatt username und uid anstatt user_id heißt..

Code: Alles auswählen

	// Get all verify status from users
	$sql = "SELECT name, uid FROM " . NICKPAGE_TABLE . "
		ORDER BY name 
		LIMIT $start, $amount";
	if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query nickpages', '', __LINE__, __FILE__, $sql);
	}

	$nickpages = array();
	while ( $row = $db->sql_fetchrow($result) )
	{
		$nickpages[]['name'] = $row['name'];
		$nickpages[]['uid'] = $row['uid'];
	}

	$db->sql_freeresult($result);

	// Prepare nickpages and send to template
	for ( $i = 0; $i < count($nickpages); $i++ )
	{
		$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

		$userid = $nickpages[$i]['uid'];
		$username = $nickpages[$i]['name'];
		$user_link = '<a href="'.append_sid("profile.$phpEx?mode=viewprofile&".POST_USER_URL."=".$nickpages[$i]['uid']).'" class="nav">'.$nickpages[$i]['name'].'</a>';
		$user_delete = '<a href="'.append_sid("admin/admin_nickpage_delete.$phpEx?mode=confirm&".POST_USER_URL."=".$nickpages[$i]['uid']).'"><img src="../'.$images['icon_delpost'].'" border="0" title="'.$lang['Delete'].'" /></a>';

		$template->assign_block_vars('nickpage_row', array(
			'ROW_CLASS' => $row_class,
			'USER_LINK' => $user_link,
			'USER_DELETE' => $user_delete)
		);
	}
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wohl nicht bei jeder Nickpage ein Name hinterlegt?
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

hab grad mal geschaut.. stimmt.. ist nicht bei jedem user ein name in der nickpage eingetragen...

so wie mans aufm bild sieht so geht es weiter... ein name, dann in der nächsten zeile kein name eingetragen usw...
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann müsste die Abfrage

Code: Alles auswählen

// Get all verify status from users 
   $sql = "SELECT name, uid FROM " . NICKPAGE_TABLE . " 
      ORDER BY name 
      LIMIT $start, $amount"; 
schon eher so lauten:

Code: Alles auswählen

// Get all verify status from users 
   $sql = "SELECT u.username as name, n.uid FROM " . NICKPAGE_TABLE . " n, " . USERS_TABLE . " u
      WHERE u.user_id = n.uid
      ORDER BY name 
      LIMIT $start, $amount"; 
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
bce
Beiträge: 858
Registriert: Do 14.Okt, 2004 18:46
Kontaktdaten:

Beitrag von bce »

wird langsam...
jetzt werden alle user aufgelistet, die eine nickpage eingerichtet haben...
eine leere zwischenzeile entsteht irgendwie...
am rechten rand erscheint in jeder zeile das lösch-icon...

ein klick auf irgendein icon sowie auf einen name führt zu keinem erfolg...
das müßte an folgendem code liegen:

Code: Alles auswählen

	$nickpages = array();
	while ( $row = $db->sql_fetchrow($result) )
	{
		$nickpages[]['name'] = $row['name'];
		$nickpages[]['uid'] = $row['uid'];
	}

	$db->sql_freeresult($result);

	// Prepare nickpages and send to template
	for ( $i = 0; $i < count($nickpages); $i++ )
	{
		$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

		$userid = $nickpages[$i]['uid'];
		$username = $nickpages[$i]['name'];
		$user_link = '<a href="'.append_sid("profile.$phpEx?mode=viewprofile&".POST_USER_URL."=".$nickpages[$i]['uid']).'" class="nav">'.$nickpages[$i]['name'].'</a>';
		$user_delete = '<a href="'.append_sid("admin/admin_nickpage_delete.$phpEx?mode=confirm&".POST_USER_URL."=".$nickpages[$i]['uid']).'"><img src="../'.$images['icon_delpost'].'" border="0" title="'.$lang['Delete'].'" /></a>';

		$template->assign_block_vars('nickpage_row', array(
			'ROW_CLASS' => $row_class,
			'USER_LINK' => $user_link,
			'USER_DELETE' => $user_delete)
		);
	}
oben wird ein array erstellt auf das unten zugegriffen wird..
hab das array mal abgecheckt mit

Code: Alles auswählen

for ( $i = 0; $i < count($nickpages); $i++ )
	{
	echo "<br>$i-" . $nickpages[$i]['uid'] . $nickpages[$i]['name'];
	}
in einer zeile sthet der namen und in der nächsten die userid... und immer im wechsel...

anbei mal meine admin_nickpage_delete.php

[ Attachment gelöscht am Mi 15.Jun, 2005 18:19 von oxpus ]
Zuletzt geändert von bce am Mi 15.Jun, 2005 15:09, insgesamt 3-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Und eine Klammer fehlte auch noch, daher die falsche Darstellung.
Hiermit sollte nun alles behoben sein:

[ Attachment gelöscht am Mi 15.Jun, 2005 18:20 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!
Antworten