Forums / Developer / disabled users cleanup

disabled users cleanup

Author Message

Fabrice Girardot

Monday 03 March 2008 9:26:00 am

Hi,

I am looking for a script (or "something) to easily cleanup all disabled users. All suggestions are welcomed!

Thank you

Fabrice

--
Fabrice

Bruce Morrison

Monday 03 March 2008 3:27:52 pm

Hi Fabrice

Here you go:

<?php
include_once( 'kernel/classes/ezcontentobjecttreenode.php' );
include_once( 'kernel/classes/datatypes/ezuser/ezusersetting.php' );
include_once( 'kernel/classes/ezcontentobjecttreenodeoperations.php' );
include_once( 'lib/ezutils/classes/ezfunctionhandler.php' );


// Content Class ID of the user objects we want to purge
$userContentClassID = 44;

// Grab eZuser objects that are not activated
$users =& eZPersistentObject::fetchObjectList( eZUserSetting::definition(),
                                        null,
                                        array('is_enabled' => 0),true);
if($users)
{
  // build an array of user_ids
  $userIDs=array();
  foreach (array_keys($users) as $index)
  {
    $userSettings =& $users[$index];
    $userIDs[]=$userSettings->attribute('user_id');
  }
  // Get user content objects that were created more that a week ago
  $weekAgo = time()-3600*24*7;
  $cond = array('contentclass_id' => $userContentClassID,
                'id' => array($userIDs),
                'published' => array( '<', $weekAgo ) );

  $userObjects=eZPersistentObject::fetchObjectList( eZContentObject::definition(), null, $cond,true);
  if ($userObjects)
  {
    foreach (array_keys($userObjects) as $index)
    {
      $userObject =& $userObjects[$index];
      // Remove user
      $userObject->purge();
    }
  }
}
?>

This code removes users that are not active that have been created more than a week ago. Make sure you set the $userContentClassID value to the Content class Id of the user class you want to purge. I tend to create a specific "community" user class that is different to the user classes used for admin's & editors...just to be on the safe side. We don't want there removed!

Cheers
Bruce

My Blog: http://www.stuffandcontent.com/
Follow me on twitter: http://twitter.com/brucemorrison
Consolidated eZ Publish Feed : http://friendfeed.com/rooms/ez-publish

Fabrice Girardot

Monday 03 March 2008 11:56:29 pm

Thank you so much Bruce!

I am going to test that and try to run that as a cronjob.

--
Fabrice

eZ debug

Timing: Jan 18 2025 18:36:39
Script start
Timing: Jan 18 2025 18:36:39
Module start 'content'
Timing: Jan 18 2025 18:36:39
Module end 'content'
Timing: Jan 18 2025 18:36:39
Script end

Main resources:

Total runtime0.2080 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0106 588.8203180.8438
Module start 'content' 0.01060.0159 769.664197.9609
Module end 'content' 0.02650.1813 867.6250525.7500
Script end 0.2079  1,393.3750 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00442.1259200.0002
Check MTime0.00170.7958200.0001
Mysql Total
Database connection0.00160.773210.0016
Mysqli_queries0.147170.72611410.0010
Looping result0.00150.71991390.0000
Template Total0.180886.910.1808
Template load0.00100.490910.0010
Template processing0.179886.439010.1798
Override
Cache load0.00070.327010.0007
Sytem overhead
Fetch class attribute can translate value0.00090.439510.0009
XML
Image XML parsing0.00030.147110.0003
General
dbfile0.00180.8836200.0001
String conversion0.00000.002530.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs