Chris@0
|
1 /**
|
Chris@0
|
2 * Implements hook_user_cancel().
|
Chris@0
|
3 */
|
Chris@0
|
4 function {{ machine_name }}_user_cancel($edit, $account, $method) {
|
Chris@0
|
5 switch ($method) {
|
Chris@0
|
6 case 'user_cancel_block_unpublish':
|
Chris@0
|
7 // Unpublish nodes (current revisions).
|
Chris@0
|
8 module_load_include('inc', 'node', 'node.admin');
|
Chris@0
|
9 $nodes = db_select('node', 'n')
|
Chris@0
|
10 ->fields('n', array('nid'))
|
Chris@0
|
11 ->condition('uid', $account->uid)
|
Chris@0
|
12 ->execute()
|
Chris@0
|
13 ->fetchCol();
|
Chris@0
|
14 node_mass_update($nodes, array('status' => 0));
|
Chris@0
|
15 break;
|
Chris@0
|
16
|
Chris@0
|
17 case 'user_cancel_reassign':
|
Chris@0
|
18 // Anonymize nodes (current revisions).
|
Chris@0
|
19 module_load_include('inc', 'node', 'node.admin');
|
Chris@0
|
20 $nodes = db_select('node', 'n')
|
Chris@0
|
21 ->fields('n', array('nid'))
|
Chris@0
|
22 ->condition('uid', $account->uid)
|
Chris@0
|
23 ->execute()
|
Chris@0
|
24 ->fetchCol();
|
Chris@0
|
25 node_mass_update($nodes, array('uid' => 0));
|
Chris@0
|
26 // Anonymize old revisions.
|
Chris@0
|
27 db_update('node_revision')
|
Chris@0
|
28 ->fields(array('uid' => 0))
|
Chris@0
|
29 ->condition('uid', $account->uid)
|
Chris@0
|
30 ->execute();
|
Chris@0
|
31 // Clean history.
|
Chris@0
|
32 db_delete('history')
|
Chris@0
|
33 ->condition('uid', $account->uid)
|
Chris@0
|
34 ->execute();
|
Chris@0
|
35 break;
|
Chris@0
|
36 }
|
Chris@0
|
37 }
|