Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 1.0.x

Conflicts:
	actions/hostmeta.php
	actions/imsettings.php
	classes/User.php
	lib/adminpanelaction.php
	lib/channel.php
	lib/default.php
	lib/router.php
	lib/util.php
This commit is contained in:
Brion Vibber
2010-10-04 12:54:36 -07:00
1105 changed files with 122118 additions and 26486 deletions

View File

@@ -221,6 +221,7 @@ class OStatusPlugin extends Plugin
array('nickname' => $profile->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
// TRANS: Link description for link to subscribe to a remote user.
_m('Subscribe'));
$output->elementEnd('li');
@@ -239,6 +240,7 @@ class OStatusPlugin extends Plugin
array('group' => $group->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
// TRANS: Link description for link to join a remote group.
_m('Join'));
}
@@ -451,6 +453,7 @@ class OStatusPlugin extends Plugin
}
$url = $notice->url;
// TRANSLATE: %s is a domain.
$title = sprintf(_m("Sent from %s via OStatus"), $domain);
return false;
}
@@ -522,6 +525,7 @@ class OStatusPlugin extends Plugin
}
if (!$oprofile->subscribe()) {
// TRANS: Exception.
throw new Exception(_m('Could not set up remote subscription.'));
}
}
@@ -551,25 +555,10 @@ class OStatusPlugin extends Plugin
return true;
}
$act = new Activity();
$sub = Subscription::pkeyGet(array('subscriber' => $subscriber->id,
'subscribed' => $other->id));
$act->verb = ActivityVerb::FOLLOW;
$act->id = TagURI::mint('follow:%d:%d:%s',
$subscriber->id,
$other->id,
common_date_iso8601(time()));
$act->time = time();
$act->title = _("Follow");
// TRANS: Success message for subscribe to user attempt through OStatus.
// TRANS: %1$s is the subscriber name, %2$s is the subscribed user's name.
$act->content = sprintf(_("%1$s is now following %2$s."),
$subscriber->getBestName(),
$other->getBestName());
$act->actor = ActivityObject::fromProfile($subscriber);
$act->object = ActivityObject::fromProfile($other);
$act = $sub->asActivity();
$oprofile->notifyActivity($act, $subscriber);
@@ -611,10 +600,10 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
$act->title = _("Unfollow");
$act->title = _m('Unfollow');
// TRANS: Success message for unsubscribe from user attempt through OStatus.
// TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
$act->content = sprintf(_("%1$s stopped following %2$s."),
$act->content = sprintf(_m('%1$s stopped following %2$s.'),
$profile->getBestName(),
$other->getBestName());
@@ -645,6 +634,9 @@ class OStatusPlugin extends Plugin
throw new Exception(_m('Could not set up remote group membership.'));
}
// NOTE: we don't use Group_member::asActivity() since that record
// has not yet been created.
$member = Profile::staticGet($user->id);
$act = new Activity();
@@ -669,6 +661,7 @@ class OStatusPlugin extends Plugin
return true;
} else {
$oprofile->garbageCollect();
// TRANS: Exception.
throw new Exception(_m("Failed joining remote group."));
}
}
@@ -727,7 +720,6 @@ class OStatusPlugin extends Plugin
* @param Notice $notice being favored
* @return hook return value
*/
function onEndFavorNotice(Profile $profile, Notice $notice)
{
$user = User::staticGet('id', $profile->id);
@@ -742,24 +734,15 @@ class OStatusPlugin extends Plugin
return true;
}
$act = new Activity();
$fav = Fave::pkeyGet(array('user_id' => $user->id,
'notice_id' => $notice->id));
$act->verb = ActivityVerb::FAVORITE;
$act->id = TagURI::mint('favor:%d:%d:%s',
$profile->id,
$notice->id,
common_date_iso8601(time()));
if (empty($fav)) {
// That's weird.
return true;
}
$act->time = time();
$act->title = _("Favor");
// TRANS: Success message for adding a favorite notice through OStatus.
// TRANS: %1$s is the favoring user's name, %2$s is URI to the favored notice.
$act->content = sprintf(_("%1$s marked notice %2$s as a favorite."),
$profile->getBestName(),
$notice->uri);
$act->actor = ActivityObject::fromProfile($profile);
$act->object = ActivityObject::fromNotice($notice);
$act = $fav->asActivity();
$oprofile->notifyActivity($act, $profile);
@@ -797,10 +780,10 @@ class OStatusPlugin extends Plugin
$notice->id,
common_date_iso8601(time()));
$act->time = time();
$act->title = _("Disfavor");
$act->title = _m('Disfavor');
// TRANS: Success message for remove a favorite notice through OStatus.
// TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
$act->content = sprintf(_("%1$s marked notice %2$s as no longer a favorite."),
$act->content = sprintf(_m('%1$s marked notice %2$s as no longer a favorite.'),
$profile->getBestName(),
$notice->uri);
@@ -874,8 +857,9 @@ class OStatusPlugin extends Plugin
$action->elementStart('p', array('id' => 'entity_remote_subscribe',
'class' => 'entity_subscribe'));
$action->element('a', array('href' => common_local_url($target),
'class' => 'entity_remote_subscribe')
, _m('Remote')); // @todo: i18n: Add translator hint for this text.
'class' => 'entity_remote_subscribe'),
// TRANS: Link text for link to remote subscribe.
_m('Remote'));
$action->elementEnd('p');
$action->elementEnd('div');
}
@@ -914,6 +898,7 @@ class OStatusPlugin extends Plugin
$profile->id,
common_date_iso8601(time()));
$act->time = time();
// TRANS: Title for activity.
$act->title = _m("Profile update");
// TRANS: Ping text for remote profile update through OStatus.
// TRANS: %s is user that updated their profile.
@@ -946,7 +931,8 @@ class OStatusPlugin extends Plugin
array('nickname' => $profileUser->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
_m('Subscribe')); // @todo: i18n: Add context.
// TRANS: Link text for a user to subscribe to an OStatus user.
_m('Subscribe'));
$output->elementEnd('li');
}
}
@@ -960,15 +946,15 @@ class OStatusPlugin extends Plugin
'version' => STATUSNET_VERSION,
'author' => 'Evan Prodromou, James Walker, Brion Vibber, Zach Copley',
'homepage' => 'http://status.net/wiki/Plugin:OStatus',
'rawdescription' =>
_m('Follow people across social networks that implement '.
'<a href="http://ostatus.org/">OStatus</a>.')); // @todo i18n: Add translator hint.
// TRANS: Plugin description.
'rawdescription' => _m('Follow people across social networks that implement '.
'<a href="http://ostatus.org/">OStatus</a>.'));
return true;
}
/**
* Utility function to check if the given URL is a canonical group profile
* Utility function to check if the given URI is a canonical group profile
* page, and if so return the ID number.
*
* @param string $url
@@ -976,11 +962,22 @@ class OStatusPlugin extends Plugin
*/
public static function localGroupFromUrl($url)
{
$template = common_local_url('groupbyid', array('id' => '31337'));
$template = preg_quote($template, '/');
$template = str_replace('31337', '(\d+)', $template);
if (preg_match("/$template/", $url, $matches)) {
return intval($matches[1]);
$group = User_group::staticGet('uri', $url);
if ($group) {
$local = Local_group::staticGet('id', $group->id);
if ($local) {
return $group->id;
}
} else {
// To find local groups which haven't had their uri fields filled out...
// If the domain has changed since a subscriber got the URI, it'll
// be broken.
$template = common_local_url('groupbyid', array('id' => '31337'));
$template = preg_quote($template, '/');
$template = str_replace('31337', '(\d+)', $template);
if (preg_match("/$template/", $url, $matches)) {
return intval($matches[1]);
}
}
return false;
}