mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-01-03 06:10:38 +01:00
Merge branch 'master' into develop
This commit is contained in:
@@ -2,6 +2,6 @@
|
||||
"alert.confirm-reload": "Bist du sicher, dass du NodeBB neu laden möchtest?",
|
||||
"alert.confirm-restart": "Bist du sicher, dass du NodeBB neu starten möchtest?",
|
||||
|
||||
"acp-title": "%1 | NodeBB Admin Control Panel",
|
||||
"acp-title": "%1 | NodeBB Admin Systemsteuerung",
|
||||
"settings-header-contents": "Inhalte"
|
||||
}
|
||||
@@ -14,9 +14,9 @@
|
||||
"mongo.storage-size": "Speichergröße",
|
||||
"mongo.index-size": "Indexgröße",
|
||||
"mongo.file-size": "Dateigröße",
|
||||
"mongo.resident-memory": "Resident Memory",
|
||||
"mongo.resident-memory": "Permanenter Speicher",
|
||||
"mongo.virtual-memory": "virtueller Speicher",
|
||||
"mongo.mapped-memory": "Mapped Memory",
|
||||
"mongo.mapped-memory": "Zugeordneter Speicher",
|
||||
"mongo.raw-info": "MongoDB Rohinfo",
|
||||
|
||||
"redis": "Redis",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"clear-error-log": "Clear Error Log",
|
||||
"route": "Route",
|
||||
"count": "Count",
|
||||
"no-routes-not-found": "Hooray! There are no routes that were not found.",
|
||||
"no-routes-not-found": "Hooray! No 404 errors!",
|
||||
"clear404-confirm": "Are you sure you wish to clear the 404 error logs?",
|
||||
"clear404-success": "\"404 Not Found\" errors cleared"
|
||||
}
|
||||
@@ -19,9 +19,9 @@
|
||||
"user_flagged_post_in": "<strong>%1</strong> је означио поруку у <strong>%2</strong>",
|
||||
"user_flagged_post_in_dual": "<strong>%1</strong> и <strong>%2</strong> су означили поруку у <strong>%3</strong>",
|
||||
"user_flagged_post_in_multiple": "<strong>%1</strong> и осталих %2 су означили поруку у <strong>%3</strong>",
|
||||
"user_flagged_user": "<strong>%1</strong> flagged a user profile (%2)",
|
||||
"user_flagged_user_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a user profile (%3)",
|
||||
"user_flagged_user_multiple": "<strong>%1</strong> and %2 others flagged a user profile (%3)",
|
||||
"user_flagged_user": "<strong>%1</strong> је означио кориснички профил (%2)",
|
||||
"user_flagged_user_dual": "<strong>%1</strong> и <strong>%2</strong> су означили кориснички профил (%3)",
|
||||
"user_flagged_user_multiple": "<strong>%1</strong> и %2 осталих су означили кориснички профил (%3)",
|
||||
"user_posted_to": "<strong>%1</strong> је послао нови одговор на: <strong>%2</strong>",
|
||||
"user_posted_to_dual": "<strong>%1</strong> и <strong>%2</strong> су одговорили на: <strong>%3</strong>",
|
||||
"user_posted_to_multiple": "<strong>%1</strong> и %2 других су одговорили на: <strong>%3</strong>",
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"chat": "Ђаскање",
|
||||
"chat_with": "Настави ћаскање са %1",
|
||||
"new_chat_with": "Започни ново ћаскање са %1",
|
||||
"flag-profile": "Flag Profile",
|
||||
"flag-profile": "Означи профил",
|
||||
"follow": "Прати",
|
||||
"unfollow": "Не прати",
|
||||
"more": "Више",
|
||||
@@ -65,8 +65,8 @@
|
||||
"remove_uploaded_picture": "Уклоните отпремљену слику",
|
||||
"upload_cover_picture": "Отпреми насловну слику",
|
||||
"remove_cover_picture_confirm": "Да ли сте сигурни да желите да уклоните насловну слику?",
|
||||
"crop_picture": "Crop picture",
|
||||
"upload_cropped_picture": "Crop and upload",
|
||||
"crop_picture": "Изрежи слику",
|
||||
"upload_cropped_picture": "Изрежи и опреми",
|
||||
"settings": "Подешавања",
|
||||
"show_email": "Прикажи моју лозинку",
|
||||
"show_fullname": "Прикажи моје пуно име",
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"forum-traffic": "Forum Trafiği",
|
||||
"page-views": "Sayfa Gösterimi",
|
||||
"unique-visitors": "Unique Visitors",
|
||||
"users": "Users",
|
||||
"posts": "Posts",
|
||||
"topics": "Topics",
|
||||
"page-views-last-month": "Page views Last Month",
|
||||
"page-views-this-month": "Page views This Month",
|
||||
"page-views-last-day": "Page views in last 24 hours",
|
||||
"unique-visitors": "Tekil ziyaretçi",
|
||||
"users": "Kullanıcılar",
|
||||
"posts": "İletiler",
|
||||
"topics": "Başlıklar",
|
||||
"page-views-last-month": "Geçen ay sayfa görüntüleme",
|
||||
"page-views-this-month": "Bu ay sayfa görüntüleme",
|
||||
"page-views-last-day": "Son 24 saatteki sayfa görüntüleme",
|
||||
|
||||
"stats.day": "Day",
|
||||
"stats.day": "Gün",
|
||||
"stats.week": "Hafta",
|
||||
"stats.month": "Month",
|
||||
"stats.all": "All Time",
|
||||
"stats.month": "Ay",
|
||||
"stats.all": "Tüm Zamanlar",
|
||||
|
||||
"updates": "Updates",
|
||||
"updates": "Güncellemeler",
|
||||
"running-version": "You are running <strong>NodeBB v<span id=\"version\">%1</span></strong>.",
|
||||
"keep-updated": "Always make sure that your NodeBB is up to date for the latest security patches and bug fixes.",
|
||||
"up-to-date": "<p>You are <strong>up-to-date</strong> <i class=\"fa fa-check\"></i></p>",
|
||||
@@ -33,7 +33,7 @@
|
||||
"reload": "Reload",
|
||||
"restart": "Restart",
|
||||
"restart-warning": "Reloading or Restarting your NodeBB will drop all existing connections for a few seconds.",
|
||||
"maintenance-mode": "Maintenance Mode",
|
||||
"maintenance-mode": "Bakım Modu",
|
||||
"maintenance-mode-title": "Click here to set up maintenance mode for NodeBB",
|
||||
"realtime-chart-updates": "Realtime Chart Updates",
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"chat": "Sohbet",
|
||||
"chat_with": "%1 ile sohbete devam et",
|
||||
"new_chat_with": "%1 ile yeni sohbete başla",
|
||||
"flag-profile": "Flag Profile",
|
||||
"flag-profile": "Bayrak Profili",
|
||||
"follow": "Takip Et",
|
||||
"unfollow": "Takip etme",
|
||||
"more": "Daha Fazla",
|
||||
@@ -65,8 +65,8 @@
|
||||
"remove_uploaded_picture": "Yüklenmiş fotoğrafı kaldır",
|
||||
"upload_cover_picture": "Kapak fotoğrafı yükle",
|
||||
"remove_cover_picture_confirm": "Kapak görselini silmek istediğinden emin misin?",
|
||||
"crop_picture": "Crop picture",
|
||||
"upload_cropped_picture": "Crop and upload",
|
||||
"crop_picture": "Görsel Kırp",
|
||||
"upload_cropped_picture": "Kırp ve yükle",
|
||||
"settings": "Ayarlar",
|
||||
"show_email": "E-postamı göster",
|
||||
"show_fullname": "Tam ismimi göster",
|
||||
|
||||
@@ -2,14 +2,19 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: 991px) {
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#panel {
|
||||
background-color: inherit;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
body, #panel, .slideout-menu {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.header {
|
||||
height: 58px;
|
||||
|
||||
@@ -350,11 +350,11 @@ var privileges = require('./privileges');
|
||||
Categories.filterIgnoringUids = function (cid, uids, callback) {
|
||||
async.waterfall([
|
||||
function (next) {
|
||||
db.sortedSetScores('cid:' + cid + ':ignorers', uids, next);
|
||||
db.isSortedSetMembers('cid:' + cid + ':ignorers', uids, next);
|
||||
},
|
||||
function (scores, next) {
|
||||
function (isIgnoring, next) {
|
||||
var readingUids = uids.filter(function (uid, index) {
|
||||
return uid && !!scores[index];
|
||||
return uid && !isIgnoring[index];
|
||||
});
|
||||
next(null, readingUids);
|
||||
}
|
||||
|
||||
@@ -153,9 +153,9 @@ module.exports = function (Topics) {
|
||||
function (next) {
|
||||
db.isSetMembers('tid:' + tid + ':ignorers', uids, next);
|
||||
},
|
||||
function (isMembers, next) {
|
||||
function (isIgnoring, next) {
|
||||
var readingUids = uids.filter(function (uid, index) {
|
||||
return uid && isMembers[index];
|
||||
return uid && !isIgnoring[index];
|
||||
});
|
||||
next(null, readingUids);
|
||||
}
|
||||
|
||||
@@ -1197,8 +1197,65 @@ describe('Topic\'s', function () {
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('follow/unfollow', function () {
|
||||
var socketTopics = require('../src/socket.io/topics');
|
||||
var tid;
|
||||
var followerUid;
|
||||
before(function (done) {
|
||||
User.create({username: 'follower'}, function (err, uid) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
followerUid = uid;
|
||||
topics.post({uid: adminUid, title: 'topic title', content: 'some content', cid: topic.categoryId}, function (err, result) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
tid = result.topicData.tid;
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should filter ignoring uids', function (done) {
|
||||
socketTopics.changeWatching({uid: followerUid}, {tid: tid, type: 'ignore'}, function (err) {
|
||||
assert.ifError(err);
|
||||
topics.filterIgnoringUids(tid, [adminUid, followerUid], function (err, uids) {
|
||||
assert.ifError(err);
|
||||
assert.equal(uids.length, 1);
|
||||
assert.equal(uids[0], adminUid);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should error with invalid data', function (done) {
|
||||
socketTopics.changeWatching({uid: followerUid}, {}, function (err) {
|
||||
assert.equal(err.message, '[[error:invalid-data]]');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should error with invalid type', function (done) {
|
||||
socketTopics.changeWatching({uid: followerUid}, {tid: tid, type: 'derp'}, function (err) {
|
||||
assert.equal(err.message, '[[error:invalid-command]]');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should follow topic', function (done) {
|
||||
topics.toggleFollow(tid, followerUid, function (err, isFollowing) {
|
||||
assert.ifError(err);
|
||||
assert(isFollowing);
|
||||
topics.isFollowing([tid], followerUid, function (err, isFollowing) {
|
||||
assert.ifError(err);
|
||||
assert(isFollowing);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user