Content van een user toekennen aan een andere
In onze serie 'knoei met de databank tot je met de kop tegen de muur loopt', aflevering 2.
Deze keer iets dat je zeker via de officiële drupal API kunt oplossen, maar nu dus nog via quick-and-dirty SQL 'om het af te leren'.
Soms heb je mensen die verschillende accounts aanmaken (paswoord vergeten, account vergeten, ...).
Altijd lastig om op te ruimen want vaak hebben ze dan al gepost onder twee verschillende accounts.
Om niet telkens manuele SQL queries te doen gebruik ik de volgende PHP code.
De SQL queries zijn configureerbaar (en uitbreidbaar) via $queries, en om welke user id's het gaat staat in $user_id_map.
Alle content behorend aan een user wordt op deze manier toegekend aan de *andere* account.
Nadat dit script gerund heeft, check ik de oude user ID (heeft die nog ergens content staan?) en verwijder ik hem.
Update aanmeldingsdatum
(PHP code wordt uitgevoerd...)
<?php
// key is old no-longer-used user ID, value is the ID of the user account that is still being used
$user_id_map = array(46 => 55, 63 => 8);
$queries = array('nodes'=>"UPDATE {node} set uid = %d WHERE uid = %d;", 'node revisions'=>"UPDATE {node_revisions} set uid = %d WHERE uid = %d;", 'comments'=>"UPDATE {comments} set uid = %d WHERE uid = %d;");
while (list ($old_user_id, $new_user_id) = each ($user_id_map))
{
echo "Content of user #$old_user_id will belong to #$new_user_id
\n";
while(list($content_type, $query) = each($queries))
{
db_query($query, $new_user_id, $old_user_id);
echo 'Number of ' . $content_type . ' moved: ' . db_affected_rows() . '
';
}
reset($queries);
}
?>
Actuele inhoud
09 feb 2012
- , userpoints vraagje , (Forumonderwerp) , jeroenenwendy
08 feb 2012
- , Vacature Webdeveloper , (Forumonderwerp) , JoHo Processen ...
- , node id opslaan in database , (Forumonderwerp) , Noikes , Reacties: 5
07 feb 2012
- , Civi en Drupal installatie gevraagd! , (Forumonderwerp) , Koen van Hees
- , kan niet meer inloggen na verhuizing website , (Forumonderwerp) , meppel001
- , Image slider/banner maken in Dp7 , (Forumonderwerp) , CrazyFly , Reacties: 1
- , migrate van subdir naar main directory , (Forumonderwerp) , Jaap3D
- , Filter criteria , (Forumonderwerp) , Lambert de Groot , Reacties: 2
06 feb 2012
- , Activity map aanmaken , (Forumonderwerp) , Samuël2013
- , Weergave forums beperken tot containers die dan uitklapbaar zijn , (Forumonderwerp) , vdwaetsy
- , - , (Forumonderwerp) , karel3s
- , Tokens weergeven in een node , (Forumonderwerp) , Mindhunter , Reacties: 1
05 feb 2012
- , content type, manage fields, veld tonen naar gelang van item selected , (Forumonderwerp) , LLMM
04 feb 2012
- , stappenplan maken.... , (Forumonderwerp) , Mindhunter
- , Afbeeldingsstijl met afbeelding hierbovenop? , (Forumonderwerp) , kwertie , Reacties: 2