function ad_cache_memcache_get_ids in Advertisement 6
Same name and namespace in other branches
- 5.2 cache/memcache/ad_cache_memcache.inc \ad_cache_memcache_get_ids()
- 5 cache/memcache/ad_cache_memcache.inc \ad_cache_memcache_get_ids()
1 call to ad_cache_memcache_get_ids()
- ad_cache_memcache in cache/
memcache/ ad_cache_memcache.inc - Called by adserve.inc, display an ad from memcache.
File
- cache/
memcache/ ad_cache_memcache.inc, line 138 - Memcache include.
Code
function ad_cache_memcache_get_ids($op = 'default', $id = 0) {
switch ($op) {
case 'node':
$ids = explode(',', $id);
break;
case 'taxonomy':
$ids = ad_memcache_get("ad-taxonomy-cache-{$id}");
if (!$ids || empty($ids)) {
$taxonomy = ad_memcache_get('ad-taxonomy');
$cache = array();
$ids = explode(',', $id);
foreach ($ids as $tid) {
if (is_array($taxonomy[$tid])) {
$cache += $taxonomy[$tid];
}
}
// Rebuild keys from 0, cache for quick re-use on next ad display.
$ids = array_values($cache);
ad_memcache_set("ad-taxonomy-cache-{$id}", $ids);
}
break;
default:
$taxonomy = ad_memcache_get('ad-taxonomy');
$ids = $taxonomy[0];
break;
}
return $ids;
}