Chris@0: /** Chris@0: * Implements hook_user_cancel(). Chris@0: */ Chris@0: function {{ machine_name }}_user_cancel($edit, $account, $method) { Chris@0: switch ($method) { Chris@0: case 'user_cancel_block_unpublish': Chris@0: // Unpublish nodes (current revisions). Chris@0: module_load_include('inc', 'node', 'node.admin'); Chris@0: $nodes = db_select('node', 'n') Chris@0: ->fields('n', array('nid')) Chris@0: ->condition('uid', $account->uid) Chris@0: ->execute() Chris@0: ->fetchCol(); Chris@0: node_mass_update($nodes, array('status' => 0)); Chris@0: break; Chris@0: Chris@0: case 'user_cancel_reassign': Chris@0: // Anonymize nodes (current revisions). Chris@0: module_load_include('inc', 'node', 'node.admin'); Chris@0: $nodes = db_select('node', 'n') Chris@0: ->fields('n', array('nid')) Chris@0: ->condition('uid', $account->uid) Chris@0: ->execute() Chris@0: ->fetchCol(); Chris@0: node_mass_update($nodes, array('uid' => 0)); Chris@0: // Anonymize old revisions. Chris@0: db_update('node_revision') Chris@0: ->fields(array('uid' => 0)) Chris@0: ->condition('uid', $account->uid) Chris@0: ->execute(); Chris@0: // Clean history. Chris@0: db_delete('history') Chris@0: ->condition('uid', $account->uid) Chris@0: ->execute(); Chris@0: break; Chris@0: } Chris@0: }