/** * Fetch the (possibly cached) tag entries for the given site id. * Uses status_network's cache settings. * * @param string $site_id * @return array of strings */ static function getTags($site_id) { $key = 'status_network_tags:' . $site_id; if (Status_network::$cache) { $packed = Status_network::$cache->get($key); if (is_string($packed)) { if ($packed == '') { return array(); } else { return explode('|', $packed); } } } $result = array(); $tags = new Status_network_tag(); $tags->site_id = $site_id; if ($tags->find()) { while ($tags->fetch()) { $result[] = $tags->tag; } } if (Status_network::$cache) { $packed = implode('|', $result); Status_network::$cache->set($key, $packed, 0, 3600); } return $result; }
function clearTags() { $tag = new Status_network_tag(); $tag->site_id = $this->site_id; if ($tag->find()) { while ($tag->fetch()) { $tag->delete(); } } $tag->free(); }