Merge branch 'master' into 0.9.x
This commit is contained in:
		| @@ -308,15 +308,7 @@ class Status_network extends Safe_DataObject | ||||
|      */ | ||||
|     function getTags() | ||||
|     { | ||||
|         $result = array(); | ||||
|          | ||||
|         $tags = new Status_network_tag(); | ||||
|         $tags->site_id = $this->site_id; | ||||
|         if ($tags->find()) { | ||||
|             while ($tags->fetch()) { | ||||
|                 $result[] = $tags->tag; | ||||
|             } | ||||
|         } | ||||
|         $result = Status_network_tag::getTags($this->site_id); | ||||
|  | ||||
|         // XXX : for backwards compatibility | ||||
|         if (empty($result)) { | ||||
| @@ -329,6 +321,7 @@ class Status_network extends Safe_DataObject | ||||
|     /** | ||||
|      * Save a given set of tags | ||||
|      * @param array tags | ||||
|      * @fixme only add/remove differentials | ||||
|      */ | ||||
|     function setTags($tags) | ||||
|     { | ||||
|   | ||||
| @@ -61,9 +61,73 @@ class Status_network_tag extends Safe_DataObject | ||||
|     ###END_AUTOCODE | ||||
|  | ||||
|  | ||||
|  | ||||
|     function pkeyGet($kv) | ||||
|     { | ||||
|         return Memcached_DataObject::pkeyGet('Status_network_tag', $kv); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 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, 3600); | ||||
|         } | ||||
|  | ||||
|         return $result; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Drop the cached tag entries for this site. | ||||
|      * Needed after inserting/deleting a tag entry. | ||||
|      */ | ||||
|     function decache() | ||||
|     { | ||||
|         $key = 'status_network_tags:' . $this->site_id; | ||||
|         if (Status_network::$cache) { | ||||
|             Status_network::$cache->delete($key); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     function insert() | ||||
|     { | ||||
|         $ret = parent::insert(); | ||||
|         $this->decache(); | ||||
|         return $ret; | ||||
|     } | ||||
|  | ||||
|     function delete() | ||||
|     { | ||||
|         $ret = parent::delete(); | ||||
|         $this->decache(); | ||||
|         return $ret; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -44,14 +44,14 @@ try { | ||||
|         if (empty($user)) { | ||||
|             throw new Exception("Can't find user with id '$id'."); | ||||
|         } | ||||
|         updateProfileURL($user); | ||||
|         updateOStatus($user); | ||||
|     } else if (have_option('n', 'nickname')) { | ||||
|         $nickname = get_option_value('n', 'nickname'); | ||||
|         $user = User::staticGet('nickname', $nickname); | ||||
|         if (empty($user)) { | ||||
|             throw new Exception("Can't find user with nickname '$nickname'"); | ||||
|         } | ||||
|         updateProfileURL($user); | ||||
|         updateOStatus($user); | ||||
|     } else if (have_option('a', 'all')) { | ||||
|         $user = new User(); | ||||
|         if ($user->find()) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user