/**
  * 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();
 }
 static function siteForDomain($domain)
 {
     $snt = Status_network_tag::withTag('domain=' . $domain);
     while ($snt->fetch()) {
         $sn = Status_network::staticGet('site_id', $snt->site_id);
         if (!empty($sn)) {
             return $sn;
         }
     }
     return null;
 }
 static function withTag($tag)
 {
     $snt = new Status_network_tag();
     $snt->tag = $tag;
     $snt->find();
     return $snt;
 }