Gebruiker verwijderen maar berichten overhevelen....
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Gebruiker verwijderen maar berichten overhevelen....
Hallo,
Ik wil een gebruikersnaam van mijzelf(pumpeduse) verwijderen op het forum van mijn site en alle berichten van Pumpeduse overhevelen naar ADMINistrator is dit mogelijk??
vr gr richard
Ik wil een gebruikersnaam van mijzelf(pumpeduse) verwijderen op het forum van mijn site en alle berichten van Pumpeduse overhevelen naar ADMINistrator is dit mogelijk??
vr gr richard
Laatst gewijzigd door pumpeduse op 04 jan 2005, 17:58, 1 keer totaal gewijzigd.
Dan wordt het dus tijd voor een aanpassing in de database (ik weet niet zeker of het kan, en wat de SQL opdracht ervoor is...)
Wat je moet weten is het ID van Admin, en het ID van pumpeduse. Daarna moet je in de phpbb_posts tabel de berichten met het ID van pumpeduse opzoeken, en het ID vervangen door het ID van de Admin.
Echter, Ik weet niet zeker of het kan...
Wat je moet weten is het ID van Admin, en het ID van pumpeduse. Daarna moet je in de phpbb_posts tabel de berichten met het ID van pumpeduse opzoeken, en het ID vervangen door het ID van de Admin.
Echter, Ik weet niet zeker of het kan...
... Maar ik modereer (nog) niet.
Ik heb een script geschreven dat bij mij werkt. Het geeft alles wat met posts te maken heeft 'over' aan een andere gebruiker. Hierna kun je dus de gebruiker verwijderen. Het veranderd de tabellen phpbb_posts, phpbb_topics en phpbb_vote_voters.
Maak wel eerst een backup, terugdraaien kan namelijk niet.
Het enige wat je aan moet passen in het bestand zijn de 2 id's van de gebruikers waar het betrekking op heeft. $old_user_id is het user_id van de oude gebruiker (die je gaat verwijderen) en $new_user_id is het user_id waar alles heen gaat.
Sla het op als usermerge.php of iets dergelijks en voer het dan uit als admin.
Maak wel eerst een backup, terugdraaien kan namelijk niet.
Het enige wat je aan moet passen in het bestand zijn de 2 id's van de gebruikers waar het betrekking op heeft. $old_user_id is het user_id van de oude gebruiker (die je gaat verwijderen) en $new_user_id is het user_id waar alles heen gaat.
Sla het op als usermerge.php of iets dergelijks en voer het dan uit als admin.
Code: Selecteer alles
<?php
/***************************************************************************
* usermerge.php
***************************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
//
// CONFIG
//
$old_user_id = '2';
$new_user_id = '2';
//
// END OF CONFIG
//
$sql = "SELECT username, user_id, user_posts
FROM " . USERS_TABLE . "
WHERE user_id = " . $old_user_id . "";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain user information.", '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$user_id = $row['user_id'];
$username = $row['username'];
$user_posts = row['user_posts'];
//
// POSTS
//
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE poster_id = " . $user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain post information.", '', __LINE__, __FILE__, $sql);
}
$post_row = array();
while( $row = $db->sql_fetchrow($result) )
{
$post_row[] = $row;
}
$db->sql_freeresult($result);
for($i = 0; $i < count($post_row); $i++)
{
$sql = "UPDATE " . POSTS_TABLE . "
SET poster_id = " . $new_user_id . "
WHERE post_id = " . $post_row[$i]['post_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not update post.", '', __LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . USERS_TABLE . "
SET user_posts = user_posts++"
WHERE user_id = " . $new_user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could update user posts.", '', __LINE__, __FILE__, $sql);
}
echo('Post met id ' . $post_row[$i]['post_id'] . ' geupdate.<br />');
}
echo('<b>In totaal ' . count($post_row) . ' posts geupdate.</b><br /><br />');
//
// TOPICS
//
$sql = "SELECT topic_id
FROM " . TOPICS_TABLE . "
WHERE topic_poster = " . $user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain topics information.", '', __LINE__, __FILE__, $sql);
}
$topic_row = array();
while( $row = $db->sql_fetchrow($result) )
{
$topic_row[] = $row;
}
$db->sql_freeresult($result);
for($i = 0; $i < count($topic_row); $i++)
{
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_poster = " . $new_user_id . "
WHERE topic_id = " . $topic_row[$i]['topic_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could update topic.", '', __LINE__, __FILE__, $sql);
}
echo('Topic met id ' . $topic_row[$i]['topic_id'] . ' geupdate.<br />');
}
echo('<b>In totaal ' . count($topic_row) . ' topics geupdate.</b><br /><br />');
//
// VOTES
//
$sql = "SELECT vote_id
FROM " . VOTE_USERS_TABLE . "
WHERE vote_user_id = " . $user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain votes information.", '', __LINE__, __FILE__, $sql);
}
$vote_row = array();
while( $row = $db->sql_fetchrow($result) )
{
$vote_row[] = $row;
}
$db->sql_freeresult($result);
for($i = 0; $i < count($vote_row); $i++)
{
$sql = "UPDATE " . VOTE_USERS_TABLE . "
SET vote_user_id = " . $new_user_id . "
WHERE vote_id = " . $vote_row[$i]['vote_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could update vote.", '', __LINE__, __FILE__, $sql);
}
echo('Vote met id ' . $vote_row[$i]['vote_id'] . ' geupdate.<br />');
}
echo('<b>In totaal ' . count($vote_row) . ' votes geupdate.</b><br /><br />');
echo('<center><b>Gebruiker ' . $username . ' geupdate.</b></center>');
}
?>
Laatst gewijzigd door Luuk op 06 jan 2005, 09:49, 1 keer totaal gewijzigd.
<?php
/***************************************************************************
* usermerge.php
***************************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
//
// CONFIG
//
$old_user_id = '3';
$new_user_id = '2';
//
// END OF CONFIG
//
if ( $userdata['user_level'] !== ADMIN || !$userdata['session_logged_in'] )
{
redirect(append_sid("index.$phpEx", true));
}
$sql = "SELECT username, user_id
FROM " . USERS_TABLE . "
WHERE user_id = " . $old_user_id . "";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain user information.", '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$user_id = $row['user_id'];
$username = $row['username'];
//
// POSTS
//
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE poster_id = " . $user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain post information.", '', __LINE__, __FILE__, $sql);
}
$post_row = array();
while( $row = $db->sql_fetchrow($result) )
{
$post_row[] = $row;
}
$db->sql_freeresult($result);
for($i = 0; $i < count($post_row); $i++)
{
$sql = "UPDATE " . POSTS_TABLE . "
SET poster_id = " . $new_user_id . "
WHERE post_id = " . $post_row[$i]['post_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not update post.", '', __LINE__, __FILE__, $sql);
}
echo('Post met id ' . $post_row[$i]['post_id'] . ' geupdate.<br />');
}
echo('<b>In totaal ' . count($post_row) . ' posts geupdate.</b><br /><br />');
//
// TOPICS
//
$sql = "SELECT topic_id
FROM " . TOPICS_TABLE . "
WHERE topic_poster = " . $user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain topics information.", '', __LINE__, __FILE__, $sql);
}
$topic_row = array();
while( $row = $db->sql_fetchrow($result) )
{
$topic_row[] = $row;
}
$db->sql_freeresult($result);
for($i = 0; $i < count($topic_row); $i++)
{
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_poster = " . $new_user_id . "
WHERE topic_id = " . $topic_row[$i]['topic_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could update topic.", '', __LINE__, __FILE__, $sql);
}
echo('Topic met id ' . $topic_row[$i]['topic_id'] . ' geupdate.<br />');
}
echo('<b>In totaal ' . count($topic_row) . ' topics geupdate.</b><br /><br />');
//
// VOTES
//
$sql = "SELECT vote_id
FROM " . VOTE_USERS_TABLE . "
WHERE vote_user_id = " . $user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain votes information.", '', __LINE__, __FILE__, $sql);
}
$vote_row = array();
while( $row = $db->sql_fetchrow($result) )
{
$vote_row[] = $row;
}
$db->sql_freeresult($result);
for($i = 0; $i < count($vote_row); $i++)
{
$sql = "UPDATE " . VOTE_USERS_TABLE . "
SET vote_user_id = " . $new_user_id . "
WHERE vote_id = " . $vote_row[$i]['vote_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could update vote.", '', __LINE__, __FILE__, $sql);
}
echo('Vote met id ' . $vote_row[$i]['vote_id'] . ' geupdate.<br />');
}
echo('<b>In totaal ' . count($vote_row) . ' votes geupdate.</b><br /><br />');
echo('<center><b>Gebruiker ' . $username . ' geupdate.</b></center>');
}
?>
/***************************************************************************
* usermerge.php
***************************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
//
// CONFIG
//
$old_user_id = '3';
$new_user_id = '2';
//
// END OF CONFIG
//
if ( $userdata['user_level'] !== ADMIN || !$userdata['session_logged_in'] )
{
redirect(append_sid("index.$phpEx", true));
}
$sql = "SELECT username, user_id
FROM " . USERS_TABLE . "
WHERE user_id = " . $old_user_id . "";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain user information.", '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$user_id = $row['user_id'];
$username = $row['username'];
//
// POSTS
//
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE poster_id = " . $user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain post information.", '', __LINE__, __FILE__, $sql);
}
$post_row = array();
while( $row = $db->sql_fetchrow($result) )
{
$post_row[] = $row;
}
$db->sql_freeresult($result);
for($i = 0; $i < count($post_row); $i++)
{
$sql = "UPDATE " . POSTS_TABLE . "
SET poster_id = " . $new_user_id . "
WHERE post_id = " . $post_row[$i]['post_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not update post.", '', __LINE__, __FILE__, $sql);
}
echo('Post met id ' . $post_row[$i]['post_id'] . ' geupdate.<br />');
}
echo('<b>In totaal ' . count($post_row) . ' posts geupdate.</b><br /><br />');
//
// TOPICS
//
$sql = "SELECT topic_id
FROM " . TOPICS_TABLE . "
WHERE topic_poster = " . $user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain topics information.", '', __LINE__, __FILE__, $sql);
}
$topic_row = array();
while( $row = $db->sql_fetchrow($result) )
{
$topic_row[] = $row;
}
$db->sql_freeresult($result);
for($i = 0; $i < count($topic_row); $i++)
{
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_poster = " . $new_user_id . "
WHERE topic_id = " . $topic_row[$i]['topic_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could update topic.", '', __LINE__, __FILE__, $sql);
}
echo('Topic met id ' . $topic_row[$i]['topic_id'] . ' geupdate.<br />');
}
echo('<b>In totaal ' . count($topic_row) . ' topics geupdate.</b><br /><br />');
//
// VOTES
//
$sql = "SELECT vote_id
FROM " . VOTE_USERS_TABLE . "
WHERE vote_user_id = " . $user_id;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain votes information.", '', __LINE__, __FILE__, $sql);
}
$vote_row = array();
while( $row = $db->sql_fetchrow($result) )
{
$vote_row[] = $row;
}
$db->sql_freeresult($result);
for($i = 0; $i < count($vote_row); $i++)
{
$sql = "UPDATE " . VOTE_USERS_TABLE . "
SET vote_user_id = " . $new_user_id . "
WHERE vote_id = " . $vote_row[$i]['vote_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could update vote.", '', __LINE__, __FILE__, $sql);
}
echo('Vote met id ' . $vote_row[$i]['vote_id'] . ' geupdate.<br />');
}
echo('<b>In totaal ' . count($vote_row) . ' votes geupdate.</b><br /><br />');
echo('<center><b>Gebruiker ' . $username . ' geupdate.</b></center>');
}
?>
Die 2 regels staan goed, je hebt trouwens nu ingevuld dat alle posts van pumpeduse naar Admin gaan (moest toch andersom??). Maak eerst een backup als je het nog niet gedaan hebt!
Verwijder uit dat bestand eens
NU zou het wel moeten werken, ik raad je aan om het bestand na gebruik te verwijderen omdat nu iedereen het uit kan voeren.
Verwijder uit dat bestand eens
Code: Selecteer alles
if ( $userdata['user_level'] !== ADMIN || !$userdata['session_logged_in'] )
{
redirect(append_sid("index.$phpEx", true));
}
Dat was ik dus vergeten Heb het erbij gedaan mocht iemand het nog ooit nodig hebben.
De mod die je nu zoekt is denk ik: http://www.phpbbhacks.com/download/524
De mod die je nu zoekt is denk ik: http://www.phpbbhacks.com/download/524