--- nodeprofile.module.old 2006-10-23 17:24:47.000000000 +0100 +++ nodeprofile.module 2006-10-23 17:27:02.000000000 +0100 @@ -63,7 +63,6 @@ function is_nodeprofile($type) { * Implementation of hook_form_alter(). */ function nodeprofile_form_alter($form_id, &$form) { - if (isset($form['type']) && $form['type']['#value'] .'_node_settings' == $form_id && ( !module_exist('usernode') || $form['type']['#value'] != USERNODE_CONTENT_TYPE )) { @@ -99,3 +98,30 @@ function nodeprofile_node_settings_submi } } } + +/* + * Implementation of hook_user(). + */ +function nodeprofile_user ($op, &$edit, &$account, $category = NULL) { + switch ($op) { + case 'delete': + $query_types = array(); + $types = node_get_types(); + foreach ($types as $type => $type_name) { + if (is_nodeprofile($type)) { + $query_types[] = '"'.$type.'"'; + } + } + $query = "type=".$query_types[0]; + if (sizeOf($query_types) > 1) { + for ($i=1;$i < sizeOf($query_types);$i++) { + $query = $query . " OR type=" . $query_types[$i]; + } + } + $result = db_query("SELECT nid FROM {node} WHERE (".$query.") AND uid = ".$account->uid); + + while ($node = db_fetch_object($result)) { + node_delete($node->nid); + } + } +}