Hace un par de años configuré un sitio con Drupal 6.9, y luego lo olvidé. Tengo 160 páginas de usuarios que son todos spammers y necesito eliminar todos menos 3. Hacer esta página a la vez es muy lento debido a las llamadas de MySQL (supongo). También tengo alrededor de 2500 publicaciones en el foro para eliminar.
Tengo un poco de miedo de eliminar registros de la base de datos directamente.
Vi un módulo llamado "eliminación masiva", pero es para la versión 5 de Drupal y no está disponible para la versión 6.
fuente
select all
botón que selecciona todos los elementos en todas las páginas. ¡Haga clic y Kill-em-all!Esta forma de matar nodos es muy lenta, pero más segura
Para los usuarios, ¿puede determinar mediante programación el usuario a quien desea eliminar? Si es posible, puede usar la función anterior como ejemplo para eliminar usuarios no deseados.
fuente
En lugar de crear un módulo personalizado para esta tarea, puede usar un script simple y ejecutarlo con Drush . Como necesita procesar muchos usuarios y nodos, se recomienda el uso de la API de Batch (y se puede usar con Drush ).
fuente
Si, como yo, prefiere un enfoque de Python (probablemente raro, pero aún así), esta es una forma transparente y efectiva de solucionar este problema:
Los pasos son básicamente:
drush sql-cli -r $your-path-to-drupal -l $your-site-url
python delete-users.py
Estoy seguro de que hay una mejor manera de hacerlo, pero esta es mi solución pirateada que funciona bien.
fuente
for i in `drush sql-query 'SELECT list of usernames'`; do drush --yes user-cancel --delete-content $i; done
.Pruebe estos 2 módulos para D6:
User Prune https://drupal.org/project/user_prune y User Delete https://drupal.org/project/user_delete
User Prune le permite eliminar en masa usuarios inactivos según los criterios que especifique.
User Delete le permite eliminar un usuario y eliminar todo el contenido enviado, incluidos los nodos y comentarios
fuente
He implementado un módulo personalizado para eliminar todos los usuarios de indrupal 7. En el área admin / people hay un nuevo formulario para completar esta operación.
Demasiado con drush.
Es un proyecto de sandbox. Thk.
Enlace al proyecto.
fuente
Utilice el módulo de usuario avanzado . Este módulo agrega una pestaña "avanzada" a la página de administración de usuarios. En esa pestaña, puede filtrar usuarios por cualquier atributo (rol, estado, etc.) y seleccionar todos. Si selecciona el método de eliminación de los usuarios como eliminar el usuario y eliminar todo el contenido, también puede eliminar todo el contenido creado por ellos.
fuente
El módulo Eliminar todo podría ser útil.
Una vez instalado, puede hacer, por ejemplo:
o
Versión de Drupal 6 en dev pero de las notas:
fuente
Si tiene acceso a Drush y desea una solución rápida que le permita mantener en la lista blanca a los usuarios y no implique la instalación de módulos adicionales:
Asegúrese de ajustar tanto la
@example.org
lista de usuarios como la que se debe guardar('keepthisuser1', 'andthisuser2')
en lo anterior antes de copiar y pegar :)fuente