function _ttt_node_delete($nid)
{
    // Clear the cache before the load, so if multiple nodes are deleted, the
    // memory will not fill up with nodes (possibly) already removed.
    $node = node_load($nid, NULL, TRUE);
    db_query('DELETE FROM {node} WHERE nid = %d', $node->nid);
    db_query('DELETE FROM {node_revisions} WHERE nid = %d', $node->nid);
    db_query('DELETE FROM {node_access} WHERE nid = %d', $node->nid);
    // Call the node-specific callback (if any):
    node_invoke($node, 'delete');
    node_invoke_nodeapi($node, 'delete');
    // Remove this node from the search index if needed.
    if (function_exists('search_wipe')) {
        search_wipe($node->nid, 'node');
    }
}
示例#2
0
 /**
  * Override node_delete() core Drupal function.
  * Skip user access function during the importing.
  *
  * @param int $nid The nodeID
  */
 protected function node_delete($nid)
 {
     // Clear the cache before the load, so if multiple nodes are deleted, the
     // memory will not fill up with nodes (possibly) already removed.
     $node = node_load($nid, NULL, TRUE);
     db_query('DELETE FROM {node} WHERE nid = %d', $node->nid);
     db_query('DELETE FROM {node_revisions} WHERE nid = %d', $node->nid);
     // Call the node-specific callback (if any):
     node_invoke($node, 'delete');
     node_invoke_nodeapi($node, 'delete');
     // Clear the page and block caches.
     cache_clear_all();
     // Remove this node from the search index if needed.
     if (function_exists('search_wipe')) {
         search_wipe($node->nid, 'node');
     }
     watchdog('content', '@type: deleted %title.', array('@type' => $node->type, '%title' => $node->title));
     drupal_set_message(t('@type %title has been deleted.', array('@type' => node_get_types('name', $node), '%title' => $node->title)));
 }