function click_filter_status in Advertisement 7
Same name and namespace in other branches
- 5.2 statistics/click_filter/click_filter.module \click_filter_status()
- 5 statistics/click_filter/click_filter.module \click_filter_status()
- 6.3 statistics/click_filter/click_filter.module \click_filter_status()
- 6 statistics/click_filter/click_filter.module \click_filter_status()
- 6.2 statistics/click_filter/click_filter.module \click_filter_status()
Perform on-the-fly click filtering.
1 call to click_filter_status()
- ad_redirect in ./
ad.module - Update click counter then redirect host to ad's target URL.
1 string reference to 'click_filter_status'
- ad_redirect in ./
ad.module - Update click counter then redirect host to ad's target URL.
File
- statistics/
click_filter/ click_filter.module, line 60 - Filter duplicate and other unwanted clicks from ad statistics.
Code
function click_filter_status($aid, $hostid) {
global $user;
if (user_access('filter clicks')) {
return CLICK_FILTER_ROLE;
}
if (preg_match('/bot|crawl|spider/i', $_SERVER['HTTP_USER_AGENT'])) {
return CLICK_BOT;
}
// See if the click came from an owner of the ad.
if (module_exists('ad_owners')) {
$result = db_query('SELECT oid FROM {ad_owners} WHERE aid = %d AND uid = %d', $aid, $user->uid);
if ($result
->fetchField()) {
return CLICK_OWNER;
}
}
// See if the click came from a duplicate uid or ip address.
if ($user->uid) {
$result = db_query("SELECT cid FROM {ad_clicks} WHERE aid = %d AND status = %d AND (uid = %d OR hostname = '%s')", $aid, CLICK_VALID, $user->uid, ip_address());
}
else {
$result = db_query("SELECT cid FROM {ad_clicks} WHERE aid = %d AND status = %d AND hostname = '%s'", $aid, CLICK_VALID, ip_address());
}
if ($result
->fetchField()) {
return CLICK_DUPLICATE;
}
return CLICK_VALID;
}