silence & sandbox in user cog wheel menu and stream item ellipsis menu

This commit is contained in:
Hannes Mannerheim 2016-03-01 01:08:55 +01:00
parent bab2335cd9
commit c3aed808ba
36 changed files with 453 additions and 44 deletions

View File

@ -44,6 +44,7 @@ if (!defined('GNUSOCIAL')) { exit(1); }
class ApiQvitterSandboxCreateAction extends ApiAuthAction
{
protected $needPost = true;
/**
* Take arguments for running
@ -56,6 +57,8 @@ class ApiQvitterSandboxCreateAction extends ApiAuthAction
{
parent::prepare($args);
$this->format = 'json';
$this->other = $this->getTargetProfile($this->arg('id'));
return true;
@ -89,7 +92,7 @@ class ApiQvitterSandboxCreateAction extends ApiAuthAction
}
// only sandbox of the user isn't sandboxed
if (!$this->isSandboxed()) {
if (!$this->other->isSandboxed()) {
try {
$this->other->sandbox();
} catch (Exception $e) {

View File

@ -44,6 +44,7 @@ if (!defined('GNUSOCIAL')) { exit(1); }
class ApiQvitterSandboxDestroyAction extends ApiAuthAction
{
protected $needPost = true;
/**
* Take arguments for running
@ -56,6 +57,8 @@ class ApiQvitterSandboxDestroyAction extends ApiAuthAction
{
parent::prepare($args);
$this->format = 'json';
$this->other = $this->getTargetProfile($this->arg('id'));
return true;
@ -85,9 +88,9 @@ class ApiQvitterSandboxDestroyAction extends ApiAuthAction
}
// only unsandbox if the user is sandboxed
if ($this->isSandboxed()) {
if ($this->other->isSandboxed()) {
try {
$this->other->sandbox();
$this->other->unsandbox();
} catch (Exception $e) {
$this->clientError($e->getMessage(), $e->getCode());
}

View File

@ -44,6 +44,7 @@ if (!defined('GNUSOCIAL')) { exit(1); }
class ApiQvitterSilenceCreateAction extends ApiAuthAction
{
protected $needPost = true;
/**
* Take arguments for running
@ -56,6 +57,8 @@ class ApiQvitterSilenceCreateAction extends ApiAuthAction
{
parent::prepare($args);
$this->format = 'json';
$this->other = $this->getTargetProfile($this->arg('id'));
return true;

View File

@ -44,6 +44,7 @@ if (!defined('GNUSOCIAL')) { exit(1); }
class ApiQvitterSilenceDestroyAction extends ApiAuthAction
{
protected $needPost = true;
/**
* Take arguments for running
@ -56,6 +57,8 @@ class ApiQvitterSilenceDestroyAction extends ApiAuthAction
{
parent::prepare($args);
$this->format = 'json';
$this->other = $this->getTargetProfile($this->arg('id'));
return true;

View File

@ -429,7 +429,19 @@ class QvitterAction extends ApiAction
?>
</head>
<body style="background-color:<?php print QvitterPlugin::settings("defaultbackgroundcolor"); ?>">
<body class="<?php
// rights as body classes
if($logged_in_user) {
if($logged_in_user_obj['rights']['silence']){
print 'has-right-to-silence';
}
if($logged_in_user_obj['rights']['sandbox']){
print ' has-right-to-sandbox';
}
}
?>" style="background-color:<?php print QvitterPlugin::settings("defaultbackgroundcolor"); ?>">
<?php
// add an accessibility toggle link to switch to standard UI, if we're logged in

View File

@ -425,7 +425,7 @@ button.icon.nav-search span {
z-index: 900;
}
.user-menu-cog .dropdown-menu {
width:150px;
width:180px;
}
.quitter-settings.dropdown-menu {
margin-right: -400px;
@ -1924,8 +1924,8 @@ background-repeat: no-repeat;
.stream-item .account-group span.sandboxed-flag {
background-color: #00ccff;
}
.stream-item.silenced .account-group span.silenced-flag,
.stream-item.sandboxed .account-group span.sandboxed-flag {
body.has-right-to-silence .stream-item.silenced .account-group span.silenced-flag,
body.has-right-to-sandbox .stream-item.sandboxed .account-group span.sandboxed-flag {
display:inline-block;;
}
.profile-card .profile-header-inner span.silenced-flag,
@ -1948,8 +1948,8 @@ background-repeat: no-repeat;
.hover-card .profile-card .profile-header-inner span.sandboxed-flag {
line-height: 15px;
}
.profile-card .profile-header-inner.silenced span.silenced-flag,
.profile-card .profile-header-inner.sandboxed span.sandboxed-flag {
body.has-right-to-silence .profile-card .profile-header-inner.silenced span.silenced-flag,
body.has-right-to-sandbox .profile-card .profile-header-inner.sandboxed span.sandboxed-flag {
display: inline-block;
}

View File

@ -463,10 +463,10 @@ function APIFollowOrUnfollowUser(followOrUnfollow,user_id,this_element,actionOnS
/* ·
·
· Post follow or unfollow user request
· Post block or unblock user request
·
· @param followOrUnfollow: either 'follow' or 'unfollow'
· @param user_id: the user id of the user we want to follow
· @param blockOrUnblock: either 'block' or 'unblock'
· @param user_id: the user id of the user we want to block/unblock
· @param actionOnSuccess: callback function, false on error, data on success
·
· · · · · · · · · · · · · */
@ -499,6 +499,65 @@ function APIBlockOrUnblockUser(blockOrUnblock,user_id,actionOnSuccess) {
}
/* ·
·
· Post sandbox or unsandbox user request
·
· @param createOrDestroy: either 'create' or 'destroy'
· @param userId: the user id of the user we want to sandbox/unsandbox
· @param actionOnSuccess: callback function, false on error, data on success
·
· · · · · · · · · · · · · */
function APISandboxCreateOrDestroy(createOrDestroy,userId,actionOnSuccess) {
$.ajax({ url: window.apiRoot + 'qvitter/sandbox/' + createOrDestroy + '.json',
cache: false,
type: "POST",
data: {
id: userId
},
dataType:"json",
error: function(data){ actionOnSuccess(false); console.log('sandbox error'); console.log(data); },
success: function(data) {
data = convertEmptyObjectToEmptyArray(data);
data = iterateRecursiveReplaceHtmlSpecialChars(data);
searchForUserDataToCache(data);
updateUserDataInStream();
actionOnSuccess(data);
}
});
}
/* ·
·
· Post silence or unsilence user request
·
· @param createOrDestroy: either 'create' or 'destroy'
· @param userId: the user id of the user we want to silence/unsilence
· @param actionOnSuccess: callback function, false on error, data on success
·
· · · · · · · · · · · · · */
function APISilenceCreateOrDestroy(createOrDestroy,userId,actionOnSuccess) {
$.ajax({ url: window.apiRoot + 'qvitter/silence/' + createOrDestroy + '.json',
cache: false,
type: "POST",
data: {
id: userId
},
dataType:"json",
error: function(data){ actionOnSuccess(false); console.log('silence error'); console.log(data); },
success: function(data) {
data = convertEmptyObjectToEmptyArray(data);
data = iterateRecursiveReplaceHtmlSpecialChars(data);
searchForUserDataToCache(data);
updateUserDataInStream();
actionOnSuccess(data);
}
});
}
/* ·
·

View File

@ -301,6 +301,8 @@ function localStorageIsEnabled() {
}
/* ·
·
· Block/unblock user and do necessary stuff
@ -450,6 +452,148 @@ function markAllNoticesFromBlockedUsersAsBlockedInJQueryObject(obj) {
}
/* ·
·
· Sandbox/unsandbox user and do necessary stuff
·
· · · · · · · · · */
function sandboxCreateOrDestroy(arg, callback) {
$('body').click(); // a click somewhere hides any open menus
var userId = arg.userId;
var createOrDestroy = arg.createOrDestroy;
display_spinner();
APISandboxCreateOrDestroy(createOrDestroy, userId, function(data) {
remove_spinner();
if(data) {
// success, mark the user's notices and profile cards as sandboxed or unsandboxed
if(data.is_sandboxed === true) {
$('.stream-item[data-user-id="' + userId + '"]').addClass('sandboxed');
$('.profile-card .profile-header-inner[data-user-id="' + userId + '"]').addClass('sandboxed');
}
else {
$('.stream-item[data-user-id="' + userId + '"]').removeClass('sandboxed');
$('.profile-card .profile-header-inner[data-user-id="' + userId + '"]').removeClass('sandboxed');
}
rememberStreamStateInLocalStorage();
}
else {
// failed!
showErrorMessage(window.sL.ERRORfailedSandboxingUser);
}
});
}
/* ·
·
· Sandbox/unsandbox user and do necessary stuff
·
· · · · · · · · · */
function silenceCreateOrDestroy(arg, callback) {
$('body').click(); // a click somewhere hides any open menus
var userId = arg.userId;
var createOrDestroy = arg.createOrDestroy;
display_spinner();
APISilenceCreateOrDestroy(createOrDestroy, userId, function(data) {
remove_spinner();
if(data) {
// success, mark the user's notices and profile cards as silenced or unsilenced
if(data.is_silenced === true) {
$('.stream-item[data-user-id="' + userId + '"]').addClass('silenced');
$('.profile-card .profile-header-inner[data-user-id="' + userId + '"]').addClass('silenced');
}
else {
$('.stream-item[data-user-id="' + userId + '"]').removeClass('silenced');
$('.profile-card .profile-header-inner[data-user-id="' + userId + '"]').removeClass('silenced');
}
rememberStreamStateInLocalStorage();
}
else {
// failed!
showErrorMessage(window.sL.ERRORfailedSilencingUser);
}
});
}
/* ·
·
· Append moderator user actions to menu array
·
· @param menuArray: array used to build menus in getMenu()
· @param userID: the user id of the user to act on
· @param userScreenName: the screen_name/nickname/username of the user to act on
· @param sandboxed: is the user sandboxed?
· @param silenced: is the user silenced?
·
· · · · · · · · · */
function appendModeratorUserActionsToMenuArray(menuArray,userID,userScreenName,sandboxed,silenced) {
// not if it's me
if(window.loggedIn.id == userID) {
return menuArray;
}
if(window.loggedIn !== false && window.loggedIn.rights.sandbox === true) {
menuArray.push({type:'divider'});
if(sandboxed === true) {
menuArray.push({
type: 'function',
functionName: 'sandboxCreateOrDestroy',
functionArguments: {
userId: userID,
createOrDestroy: 'destroy'
},
label: window.sL.unSandboxThisUser.replace('{nickname}','@' + userScreenName)
});
}
else {
menuArray.push({
type: 'function',
functionName: 'sandboxCreateOrDestroy',
functionArguments: {
userId: userID,
createOrDestroy: 'create'
},
label: window.sL.sandboxThisUser.replace('{nickname}','@' + userScreenName)
});
}
}
if(window.loggedIn !== false && window.loggedIn.rights.silence === true) {
if(silenced === true) {
menuArray.push({
type: 'function',
functionName: 'silenceCreateOrDestroy',
functionArguments: {
userId: userID,
createOrDestroy: 'destroy'
},
label: window.sL.unSilenceThisUser.replace('{nickname}','@' + userScreenName)
});
}
else {
menuArray.push({
type: 'function',
functionName: 'silenceCreateOrDestroy',
functionArguments: {
userId: userID,
createOrDestroy: 'create'
},
label: window.sL.silenceThisUser.replace('{nickname}','@' + userScreenName)
});
}
}
return menuArray;
}
/* ·
·
· Updates the times for all queets loaded to DOM
@ -927,6 +1071,17 @@ function updateUserDataInStream() {
$('.profile-card .profile-header-inner[data-user-id=' + userArray.local.id + ']').removeClass('silenced');
}
// add/remove sandboxed class to stream items and profile cards
if(userArray.local.is_sandboxed === true) {
$('.stream-item[data-user-id=' + userArray.local.id + ']').addClass('sandboxed');
$('.profile-card .profile-header-inner[data-user-id=' + userArray.local.id + ']').addClass('sandboxed');
}
else {
$('.stream-item[data-user-id=' + userArray.local.id + ']').removeClass('sandboxed')
$('.profile-card .profile-header-inner[data-user-id=' + userArray.local.id + ']').removeClass('sandboxed');
}
// profile size avatars (notices, users)
$.each($('img.avatar.profile-size[data-user-id="' + userArray.local.id + '"]'),function(){
if($(this).attr('src') != userArray.local.profile_image_url_profile_size) {

View File

@ -1207,7 +1207,7 @@ $('body').on('click','.user-menu-cog',function(e){
// menu
var menuArray = [];
// block/unblock if it's not me
// settings etc if it's me
if(userID == window.loggedIn.id) {
menuArray.push({
type: 'function',
@ -1225,6 +1225,7 @@ $('body').on('click','.user-menu-cog',function(e){
label: window.sL.userBlocks
});
}
// block etc if it not me
else {
if(userIsBlocked(userID)) {
menuArray.push({
@ -1246,6 +1247,9 @@ $('body').on('click','.user-menu-cog',function(e){
label: window.sL.blockUser.replace('{username}','@' + userScreenName)
});
}
// moderator actions
menuArray = appendModeratorUserActionsToMenuArray(menuArray,userID,userScreenName,sandboxed,silenced);
}
var menu = $(getMenu(menuArray)).appendTo(this);
@ -1262,7 +1266,6 @@ $('body').on('click',function(e){
});
/* ·
·
· Show/hide the stream menu dropdown on click
@ -1320,9 +1323,12 @@ $('body').on('click','.sm-ellipsis',function(e){
else {
$(this).addClass('dropped');
var streamItemUsername = $(this).closest('.queet').find('.stream-item-header').find('.screen-name').text();
var streamItemUserID = $(this).closest('.queet').find('.stream-item-header').find('.name').attr('data-user-id');
var streamItemID = $(this).closest('.queet').parent('.stream-item').attr('data-quitter-id');
var closestStreamItem = $(this).closest('.queet').parent('.stream-item');
var streamItemUsername = closestStreamItem.attr('data-user-screen-name');
var streamItemUserID = closestStreamItem.attr('data-user-id');
var streamItemID = closestStreamItem.attr('data-quitter-id');
var streamItemUserSandboxed = closestStreamItem.hasClass('sandboxed');
var streamItemUserSilenced = closestStreamItem.hasClass('silenced');
// menu
var menuArray = [];
@ -1362,6 +1368,9 @@ $('body').on('click','.sm-ellipsis',function(e){
}
}
// moderator actions
menuArray = appendModeratorUserActionsToMenuArray(menuArray,streamItemUserID,streamItemUsername,streamItemUserSandboxed,streamItemUserSilenced);
// add menu to DOM and align it
var menu = $(getMenu(menuArray)).appendTo(this);
alignMenuToParent(menu,$(this));

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -181,5 +181,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Le profils réduits au silence ne peuvent pas se connecter, commencer des diatribes et celles déjà postées sont cachées. Pour les comptes locaux, le résultat est similaire à une suppression de compte qui peut être annulée. Pour les comptes distants, cest un blocage sur lentièreté du site.",
"sandboxedStreamDescription":"Les mises à jour des profils du bac à sable sont exclues de lAccueil et de lEnsemble de la Fédération. Les messages postés tout en étant dans le bac à sable ne seront pas inclus dans les flux publics si le profil est remis en dehors du bac à sable.",
"onlyShowNotificationsFromUsersIFollow":"Afficher uniquement les notifications des utilisateurs que je suis",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"サイレンスされたユーザーはログインおよびクイップの投稿ができなくなり、そのユーザーの既に投稿されたクイップは非表示になります。ローカルユーザーにとっては復旧可能な削除のような状態で、リモートユーザーにとっては全サイトでブロックされているような状態になります。",
"sandboxedStreamDescription":"サンドボックスされたユーザーからのクイップは「パブリックタイムライン」および「関連ネットワーク全体」から除外されます。アンサンドボックスされたユーザーのサンドボックス期間中に投稿されたクイップはパブリックタイムラインに含まれません",
"onlyShowNotificationsFromUsersIFollow":"フォローしているユーザーのお知らせのみ表示する",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Forstummede brukere can ikke logge på tjenesten, sende status meldinger, samt allerede status meldinger er skjult. For lokale brukere vil dette oppleves som å bli slettet, men beslutnignen kan reverseres. For brukere på andre instanser vil det oppleves som en utvidet blokkering.",
"sandboxedStreamDescription":"Statusmeldinger fra brukere satt i lekekassen, så vil meldingene bli ekskludert fra den offentlige tidslinjen og hele nettverks tidslinjen. Statusmeldinger send når man er i lekekasse vil ikke bli inkludert i den offentlige tidslinjen hvis brukeren blir tatt ut av lekekassen.",
"onlyShowNotificationsFromUsersIFollow":"Vis kun notifikasjoner fra brukere jeg følger",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -178,5 +178,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Nedtystade användare kan inte logga in eller skriva qvittringar. Qvittringar som de redan skrivit är dolda. För lokala användare är det som en borttagning som kan ångras, och för externa användare är det som att blockera användaren från instansen.",
"sandboxedStreamDescription":"Qvittringar från användare som är i sandlådan visas inte i &quot;Hela sajtens flöde&quot; eller &quot;Hela det kända nätverket&quot;. Qvittringar som användaren skriver under tiden den är i sandlådan kommer inte visas i de offentliga flödena om hen tas ur sandlådan senare.",
"onlyShowNotificationsFromUsersIFollow":"Visa bara notiser från användare som jag följer",
"userOptions":"Fler användaråtgärder"
"userOptions":"Fler användaråtgärder",
"silenceThisUser":"Tysta ner {nickname}",
"sandboxThisUser":"Sätt {nickname} i sandlådan",
"unSilenceThisUser":"Ta bort nedtystning av {nickname}",
"unSandboxThisUser":"Ta {nickname} ur sandlådan",
"ERRORfailedSandboxingUser":"Misslyckades med att sätta/ta ur användaren i sandlådan",
"ERRORfailedSilencingUser":"Misslyckades med att tysta ner eller ta bort nedtystning"
}

View File

@ -180,5 +180,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -179,5 +179,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}

View File

@ -179,5 +179,11 @@
"silencedStreamDescription":"Silenced users can't login or post quips and the quips they've already posted are hidden. For local users it's like a delete that can be reversed, for remote users it's like a site wide block.",
"sandboxedStreamDescription":"Quips from sandboxed users are excluded from the Public Timeline and The Whole Known Network. Quips posted while being in the sandbox will not be included in the public timelines if the user is unsandboxed.",
"onlyShowNotificationsFromUsersIFollow":"Only show notifications from users I follow",
"userOptions":"More user actions"
"userOptions":"More user actions",
"silenceThisUser":"Silence {nickname}",
"sandboxThisUser":"Sandbox {nickname}",
"unSilenceThisUser":"Unsilence {nickname}",
"unSandboxThisUser":"Unsandbox {nickname}",
"ERRORfailedSandboxingUser":"Failed sandboxing/unsandboxing the user",
"ERRORfailedSilencingUser":"Failed silencing/unsilencing the user"
}