linkchecker.redirect.inc in Link checker 7
Same filename and directory in other branches
Redirect interface to linkchecker functionalities.
File
linkchecker.redirect.incView source
<?php
/**
* @file
* Redirect interface to linkchecker functionalities.
*/
/**
* Implements hook_redirect_insert().
*/
function linkchecker_redirect_insert($redirect) {
linkchecker_redirect_update($redirect);
}
/**
* Implements hook_redirect_update().
*/
function linkchecker_redirect_update($redirect) {
// It's unknown if this is a redirect for HTTP/HTTPS or the encoded urls.
$url_http = url($redirect->source, array(
'absolute' => TRUE,
$redirect->source_options,
));
$url_https = url($redirect->source, array(
'absolute' => TRUE,
'https' => TRUE,
$redirect->source_options,
));
$urls = array(
$url_http,
$url_https,
rawurldecode($url_http),
rawurldecode($url_https),
);
_linkchecker_redirect_reset($urls);
}
/**
* Reset last_checked status.
*
* @param array $urls
* An array of urls that should be checked on next cron run.
*/
function _linkchecker_redirect_reset($urls = array()) {
$urls = array_unique($urls);
$num_updated = db_update('linkchecker_link')
->condition('urlhash', array_map('drupal_hash_base64', $urls))
->condition('fail_count', 0, '>')
->condition('status', 1)
->fields(array(
'last_checked' => 0,
))
->execute();
if ($num_updated) {
drupal_set_message(t('The link %url will be checked again on the next cron run.', array(
'%url' => $urls[0],
)));
}
}
Functions
Name![]() |
Description |
---|---|
linkchecker_redirect_insert | Implements hook_redirect_insert(). |
linkchecker_redirect_update | Implements hook_redirect_update(). |
_linkchecker_redirect_reset | Reset last_checked status. |