forked from GNUsocial/gnu-social
Merge branch 'master' into 0.9.x
This commit is contained in:
commit
468a15db00
@ -308,15 +308,7 @@ class Status_network extends Safe_DataObject
|
|||||||
*/
|
*/
|
||||||
function getTags()
|
function getTags()
|
||||||
{
|
{
|
||||||
$result = array();
|
$result = Status_network_tag::getTags($this->site_id);
|
||||||
|
|
||||||
$tags = new Status_network_tag();
|
|
||||||
$tags->site_id = $this->site_id;
|
|
||||||
if ($tags->find()) {
|
|
||||||
while ($tags->fetch()) {
|
|
||||||
$result[] = $tags->tag;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// XXX : for backwards compatibility
|
// XXX : for backwards compatibility
|
||||||
if (empty($result)) {
|
if (empty($result)) {
|
||||||
@ -329,6 +321,7 @@ class Status_network extends Safe_DataObject
|
|||||||
/**
|
/**
|
||||||
* Save a given set of tags
|
* Save a given set of tags
|
||||||
* @param array tags
|
* @param array tags
|
||||||
|
* @fixme only add/remove differentials
|
||||||
*/
|
*/
|
||||||
function setTags($tags)
|
function setTags($tags)
|
||||||
{
|
{
|
||||||
|
@ -61,9 +61,73 @@ class Status_network_tag extends Safe_DataObject
|
|||||||
###END_AUTOCODE
|
###END_AUTOCODE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function pkeyGet($kv)
|
function pkeyGet($kv)
|
||||||
{
|
{
|
||||||
return Memcached_DataObject::pkeyGet('Status_network_tag', $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)) {
|
if (empty($user)) {
|
||||||
throw new Exception("Can't find user with id '$id'.");
|
throw new Exception("Can't find user with id '$id'.");
|
||||||
}
|
}
|
||||||
updateProfileURL($user);
|
updateOStatus($user);
|
||||||
} else if (have_option('n', 'nickname')) {
|
} else if (have_option('n', 'nickname')) {
|
||||||
$nickname = get_option_value('n', 'nickname');
|
$nickname = get_option_value('n', 'nickname');
|
||||||
$user = User::staticGet('nickname', $nickname);
|
$user = User::staticGet('nickname', $nickname);
|
||||||
if (empty($user)) {
|
if (empty($user)) {
|
||||||
throw new Exception("Can't find user with nickname '$nickname'");
|
throw new Exception("Can't find user with nickname '$nickname'");
|
||||||
}
|
}
|
||||||
updateProfileURL($user);
|
updateOStatus($user);
|
||||||
} else if (have_option('a', 'all')) {
|
} else if (have_option('a', 'all')) {
|
||||||
$user = new User();
|
$user = new User();
|
||||||
if ($user->find()) {
|
if ($user->find()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user