Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / chi-teck / drupal-code-generator / templates / d8 / hook / user_cancel.twig
diff --git a/vendor/chi-teck/drupal-code-generator/templates/d8/hook/user_cancel.twig b/vendor/chi-teck/drupal-code-generator/templates/d8/hook/user_cancel.twig
new file mode 100644 (file)
index 0000000..7ec0f78
--- /dev/null
@@ -0,0 +1,29 @@
+/**
+ * Implements hook_user_cancel().
+ */
+function {{ machine_name }}_user_cancel($edit, $account, $method) {
+  switch ($method) {
+    case 'user_cancel_block_unpublish':
+      // Unpublish nodes (current revisions).
+      module_load_include('inc', 'node', 'node.admin');
+      $nodes = \Drupal::entityQuery('node')
+        ->condition('uid', $account->id())
+        ->execute();
+      node_mass_update($nodes, ['status' => 0], NULL, TRUE);
+      break;
+
+    case 'user_cancel_reassign':
+      // Anonymize nodes (current revisions).
+      module_load_include('inc', 'node', 'node.admin');
+      $nodes = \Drupal::entityQuery('node')
+        ->condition('uid', $account->id())
+        ->execute();
+      node_mass_update($nodes, ['uid' => 0], NULL, TRUE);
+      // Anonymize old revisions.
+      db_update('node_field_revision')
+        ->fields(['uid' => 0])
+        ->condition('uid', $account->id())
+        ->execute();
+      break;
+  }
+}