You are here

function _linkchecker_cleanup_box_references in Link checker 6.2

Same name and namespace in other branches
  1. 5.2 linkchecker.module \_linkchecker_cleanup_box_references()

Cleanup no longer used box references to links in the linkchecker_boxes table.

1 call to _linkchecker_cleanup_box_references()
_linkchecker_add_box_links in ./linkchecker.module
Add block links to database.

File

./linkchecker.module, line 1270
This module periodically check links in given node types, blocks, cck fields, etc.

Code

function _linkchecker_cleanup_box_references($bid = 0, $links = array()) {
  if (empty($links)) {

    // Block do not have links. Delete all references if exists.
    db_query("DELETE FROM {linkchecker_boxes} WHERE bid = %d", $bid);
  }
  else {

    // The block still have more than one link, but other links may have been
    // removed and links no longer in the content need to be deleted from the
    // linkchecker_boxes reference table.
    db_query("DELETE FROM {linkchecker_boxes} WHERE bid = %d AND lid NOT IN (SELECT lid FROM {linkchecker_links} WHERE urlhash IN (" . db_placeholders($links, 'varchar') . "))", array_merge(array(
      $bid,
    ), array_map('md5', $links)));
  }
}