function ad_weight_probability_cache_filter in Advertisement 7
Same name and namespace in other branches
- 5.2 weight/probability/ad_weight_probability.inc \ad_weight_probability_cache_filter()
- 6.3 weight/probability/ad_weight_probability.inc \ad_weight_probability_cache_filter()
- 6.2 weight/probability/ad_weight_probability.inc \ad_weight_probability_cache_filter()
@file A plug in for the ad.module, allowing an admin to set the probability that a given advertisement will be displayed.
Copyright (c) 2008-2009. Jeremy Andrews <jeremy@tag1consulting.com>.
1 string reference to 'ad_weight_probability_cache_filter'
- ad_weight_probability_ad_build_cache in weight/
probability/ ad_weight_probability.module - Implementation of hook_ad_build_cache().
File
- weight/
probability/ ad_weight_probability.inc, line 12 - A plug in for the ad.module, allowing an admin to set the probability that a given advertisement will be displayed.
Code
function ad_weight_probability_cache_filter($ads) {
$display = array();
if (is_array($ads)) {
$probability = array();
$cache = adserve_cache('get_cache', 'weight');
foreach ($ads as $aid) {
$probability[] = isset($cache['probability'][$aid]) ? $cache['probability'][$aid] : 0;
}
$gcd = ad_weight_probability_gcd($probability);
_debug_echo("ad_weight_probability cache_filter gcd({$gcd})");
foreach ($ads as $aid) {
$weight = isset($cache['probability'][$aid]) && $gcd ? $cache['probability'][$aid] / $gcd : 0;
_debug_echo("ad_weight_probability cache_filter aid({$aid}) weight({$weight})");
for ($i = 1; $i <= $weight; $i++) {
$display[] = $aid;
}
}
}
return $display;
}