function ad_channel_ad_build_cache in Advertisement 6.3
Same name and namespace in other branches
- 5.2 channel/ad_channel.module \ad_channel_ad_build_cache()
- 6.2 channel/ad_channel.module \ad_channel_ad_build_cache()
- 7 channel/ad_channel.module \ad_channel_ad_build_cache()
Implementation of hook_ad_build_cache().
File
- channel/
ad_channel.module, line 556 - Ad Channel module.
Code
function ad_channel_ad_build_cache() {
$cache = array();
$ads = array();
$active = db_query("SELECT aid FROM {ads} WHERE adstatus = 'active'");
while ($ad = db_fetch_object($active)) {
// cache channel<->node relation
$result = db_query('SELECT chid FROM {ad_channel_node} WHERE nid = %d', $ad->nid);
while ($channel = db_fetch_object($result)) {
$ads[$ad->aid][$channel->chid] = $channel->chid;
//$ads[$channel->chid][$ad->aid] = $ad->aid;
}
}
$channels = array();
$result = db_query('SELECT chid, display, urls, no_channel_percent, inventory FROM {ad_channel}');
while ($channel = db_fetch_object($result)) {
$channels[$channel->chid] = $channel;
}
$result = db_query("SELECT p.aid, p.priority FROM {ads} a LEFT JOIN {ad_priority} p ON a.aid = p.aid WHERE a.adstatus = 'active' AND p.priority = 1");
$premiere = array();
while ($priority = db_fetch_object($result)) {
$premiere[$priority->aid] = $priority->aid;
}
$result = db_query("SELECT r.aid, r.remnant FROM {ads} a LEFT JOIN {ad_channel_remnant} r ON a.aid = r.aid WHERE a.adstatus = 'active' AND r.remnant = 1");
$remnants = array();
while ($remnant = db_fetch_object($result)) {
$remnants[$remnant->aid] = $remnant->aid;
}
$cache['channel']['ads'] = $ads;
$cache['channel']['channels'] = $channels;
$cache['channel']['display'] = variable_get('ad_channel_display', 0);
$cache['premiere'] = $premiere;
$cache['remnant'] = $remnants;
$cache['channel']['hook_filter'] = array(
'weight' => 0,
'file' => drupal_get_path('module', 'ad_channel') . '/ad_channel.inc',
'function' => 'ad_channel_cache_filter',
);
return $cache;
}