From cd99a469185c9f9f77c9c98cbd74b9920a68a38e Mon Sep 17 00:00:00 2001 From: pichalite Date: Mon, 29 Feb 2016 06:19:43 +0000 Subject: [PATCH 01/25] don't show rooms without messages --- public/src/modules/chat.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/public/src/modules/chat.js b/public/src/modules/chat.js index 7721b6e70a..15cda10308 100644 --- a/public/src/modules/chat.js +++ b/public/src/modules/chat.js @@ -83,7 +83,9 @@ define('chat', ['components', 'taskbar', 'string', 'sounds', 'forum/chats', 'tra return app.alertError(err.message); } - var rooms = data.rooms; + var rooms = data.rooms.filter(function(room) { + return room.teaser; + }); chatsListEl.empty(); From f18099b435c5e69874bba7fd8f093b886a8f5d0a Mon Sep 17 00:00:00 2001 From: Ben Lubar Date: Sat, 16 Apr 2016 22:45:20 -0500 Subject: [PATCH 02/25] actually don't delay image loading when "delay image loading" is unchecked --- public/src/client/topic/posts.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/public/src/client/topic/posts.js b/public/src/client/topic/posts.js index 996dcbc6b9..9ad98eae97 100644 --- a/public/src/client/topic/posts.js +++ b/public/src/client/topic/posts.js @@ -239,11 +239,13 @@ define('forum/topic/posts', [ Posts.unloadImages = function(posts) { var images = posts.find('[component="post/content"] img:not(.not-responsive)'); - images.each(function() { - $(this).attr('data-src', $(this).attr('src')); - $(this).attr('data-state', 'unloaded'); - $(this).attr('src', 'about:blank'); - }); + if (config.delayImageLoading) { + images.each(function() { + $(this).attr('data-src', $(this).attr('src')); + }).attr('data-state', 'unloaded').attr('src', 'about:blank'); + } else { + images.attr('data-state', 'loaded'); + } }; Posts.loadImages = function(threshold) { @@ -263,7 +265,7 @@ define('forum/topic/posts', [ var images = components.get('post/content').find('img[data-state="unloaded"]'), visible = images.filter(function() { - return config.delayImageLoading ? utils.isElementInViewport(this) : true; + return utils.isElementInViewport(this); }), scrollTop = $(window).scrollTop(), adjusting = false, From 66dd790938a994e4a0937ef3e31e65fe631cb11d Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 20 Apr 2016 16:12:55 -0400 Subject: [PATCH 03/25] did I fix it @rbeer? :shipit: --- src/controllers/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/index.js b/src/controllers/index.js index 830a45ef99..a1e9c63dae 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -30,7 +30,7 @@ var Controllers = { Controllers.home = function(req, res, next) { - var route = meta.config.homePageRoute || meta.config.homePageCustom.replace(/^\/+/, '') || 'categories'; + var route = meta.config.homePageRoute || (meta.config.homePageCustom || '').replace(/^\/+/, '') || 'categories'; user.getSettings(req.uid, function(err, settings) { if (err) { From f7fef16168133f857e40078fd9f3dcbb0e9d96f5 Mon Sep 17 00:00:00 2001 From: NodeBB Misty Date: Thu, 21 Apr 2016 09:02:32 -0400 Subject: [PATCH 04/25] Latest translations and fallbacks --- public/language/ar/unread.json | 5 ++++- public/language/bg/unread.json | 5 ++++- public/language/bn/unread.json | 5 ++++- public/language/cs/unread.json | 5 ++++- public/language/da/unread.json | 5 ++++- public/language/de/unread.json | 5 ++++- public/language/el/unread.json | 5 ++++- public/language/en@pirate/unread.json | 5 ++++- public/language/en_US/unread.json | 5 ++++- public/language/es/email.json | 2 +- public/language/es/error.json | 2 +- public/language/es/topic.json | 2 +- public/language/es/unread.json | 5 ++++- public/language/es/user.json | 2 +- public/language/et/unread.json | 5 ++++- public/language/fa_IR/unread.json | 5 ++++- public/language/fi/unread.json | 5 ++++- public/language/fr/unread.json | 5 ++++- public/language/gl/unread.json | 5 ++++- public/language/he/unread.json | 5 ++++- public/language/hu/unread.json | 5 ++++- public/language/id/unread.json | 5 ++++- public/language/it/unread.json | 5 ++++- public/language/ja/unread.json | 5 ++++- public/language/ko/email.json | 2 +- public/language/ko/error.json | 2 +- public/language/ko/topic.json | 2 +- public/language/ko/unread.json | 5 ++++- public/language/ko/user.json | 2 +- public/language/lt/unread.json | 5 ++++- public/language/ms/unread.json | 5 ++++- public/language/nb/unread.json | 5 ++++- public/language/nl/unread.json | 5 ++++- public/language/nl/uploads.json | 2 +- public/language/nl/user.json | 2 +- public/language/pl/unread.json | 5 ++++- public/language/pt_BR/unread.json | 5 ++++- public/language/ro/unread.json | 5 ++++- public/language/ru/unread.json | 5 ++++- public/language/rw/unread.json | 5 ++++- public/language/sc/unread.json | 5 ++++- public/language/sk/unread.json | 5 ++++- public/language/sl/unread.json | 5 ++++- public/language/sr/unread.json | 5 ++++- public/language/sv/unread.json | 5 ++++- public/language/th/unread.json | 5 ++++- public/language/tr/unread.json | 5 ++++- public/language/vi/unread.json | 5 ++++- public/language/zh_CN/unread.json | 5 ++++- public/language/zh_TW/unread.json | 5 ++++- 50 files changed, 170 insertions(+), 50 deletions(-) diff --git a/public/language/ar/unread.json b/public/language/ar/unread.json index 992ffa6f5c..eb87ecb3d3 100644 --- a/public/language/ar/unread.json +++ b/public/language/ar/unread.json @@ -6,5 +6,8 @@ "selected": "المحددة", "all": "الكل", "all_categories": "كل الفئات", - "topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!" + "topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/bg/unread.json b/public/language/bg/unread.json index b80ddf87ef..7dc16f9cd3 100644 --- a/public/language/bg/unread.json +++ b/public/language/bg/unread.json @@ -6,5 +6,8 @@ "selected": "Избраните", "all": "Всички", "all_categories": "Всички категории", - "topics_marked_as_read.success": "Темите бяха отбелязани като прочетени!" + "topics_marked_as_read.success": "Темите бяха отбелязани като прочетени!", + "all-topics": "Всички теми", + "new-topics": "Нови теми", + "watched-topics": "Наблюдавани теми" } \ No newline at end of file diff --git a/public/language/bn/unread.json b/public/language/bn/unread.json index d7e42fb61b..578e246f3b 100644 --- a/public/language/bn/unread.json +++ b/public/language/bn/unread.json @@ -6,5 +6,8 @@ "selected": "নির্বাচিত", "all": "সবগুলো", "all_categories": "All categories", - "topics_marked_as_read.success": "পঠিত হিসেবে চিহ্নিত টপিকসমূহ" + "topics_marked_as_read.success": "পঠিত হিসেবে চিহ্নিত টপিকসমূহ", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/cs/unread.json b/public/language/cs/unread.json index 1ded2636c9..1a12bc4fbe 100644 --- a/public/language/cs/unread.json +++ b/public/language/cs/unread.json @@ -6,5 +6,8 @@ "selected": "Vybrané", "all": "Vše", "all_categories": "All categories", - "topics_marked_as_read.success": "Téma bylo označeno jako přečtené!" + "topics_marked_as_read.success": "Téma bylo označeno jako přečtené!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/da/unread.json b/public/language/da/unread.json index e44b6e42fd..dbb45d6024 100644 --- a/public/language/da/unread.json +++ b/public/language/da/unread.json @@ -6,5 +6,8 @@ "selected": "Valgte", "all": "Alle", "all_categories": "Alle kategorier", - "topics_marked_as_read.success": "Emner markeret som læst!" + "topics_marked_as_read.success": "Emner markeret som læst!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/de/unread.json b/public/language/de/unread.json index b9796b7c41..48681d7b8a 100644 --- a/public/language/de/unread.json +++ b/public/language/de/unread.json @@ -6,5 +6,8 @@ "selected": "Ausgewählte", "all": "Alle", "all_categories": "Alle Kategorien", - "topics_marked_as_read.success": "Themen als gelesen markiert!" + "topics_marked_as_read.success": "Themen als gelesen markiert!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/el/unread.json b/public/language/el/unread.json index 98aea93e27..803596873f 100644 --- a/public/language/el/unread.json +++ b/public/language/el/unread.json @@ -6,5 +6,8 @@ "selected": "Επιλεγμένα", "all": "Όλα", "all_categories": "All categories", - "topics_marked_as_read.success": "Τα θέματα σημειώθηκαν ως αναγνωσμένα!" + "topics_marked_as_read.success": "Τα θέματα σημειώθηκαν ως αναγνωσμένα!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/en@pirate/unread.json b/public/language/en@pirate/unread.json index 994ee938f1..37133f87ef 100644 --- a/public/language/en@pirate/unread.json +++ b/public/language/en@pirate/unread.json @@ -6,5 +6,8 @@ "selected": "Selected", "all": "All", "all_categories": "All categories", - "topics_marked_as_read.success": "Topics marked as read!" + "topics_marked_as_read.success": "Topics marked as read!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/en_US/unread.json b/public/language/en_US/unread.json index d723f6e8c9..c3050ba93e 100644 --- a/public/language/en_US/unread.json +++ b/public/language/en_US/unread.json @@ -6,5 +6,8 @@ "selected": "Selected", "all": "All", "all_categories": "All categories", - "topics_marked_as_read.success": "Topics marked as read!" + "topics_marked_as_read.success": "Topics marked as read!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/es/email.json b/public/language/es/email.json index dd8e64791d..ddc0a47556 100644 --- a/public/language/es/email.json +++ b/public/language/es/email.json @@ -24,7 +24,7 @@ "digest.day": "día", "digest.week": "semana", "digest.month": "mes", - "digest.subject": "Digest for %1", + "digest.subject": "Resumen de 1%", "notif.chat.subject": "Nuevo mensaje de chat recibido de %1", "notif.chat.cta": "Haz click aquí para continuar la conversación", "notif.chat.unsub.info": "Esta notificación de chat se te envió debido a tus ajustes de suscripción.", diff --git a/public/language/es/error.json b/public/language/es/error.json index 9178e18ff1..527c0cbfd2 100644 --- a/public/language/es/error.json +++ b/public/language/es/error.json @@ -85,7 +85,7 @@ "cant-edit-chat-message": "No tienes permiso para editar este mensaje", "cant-remove-last-user": "No puedes eliminar el último usuario", "cant-delete-chat-message": "No tienes permiso para eliminar este mensaje", - "already-voting-for-this-post": "You have already voted for this post.", + "already-voting-for-this-post": "Ya has votado a este mensaje.", "reputation-system-disabled": "El sistema de reputación está deshabilitado.", "downvoting-disabled": "La votación negativa está deshabilitada.", "not-enough-reputation-to-downvote": "No tienes suficiente reputación para votar negativo este post", diff --git a/public/language/es/topic.json b/public/language/es/topic.json index 272a8180a0..36075da5d9 100644 --- a/public/language/es/topic.json +++ b/public/language/es/topic.json @@ -26,7 +26,7 @@ "tools": "Herramientas", "flag": "Reportar", "locked": "Cerrado", - "bookmark_instructions": "Click here to return to the last read post in this thread.", + "bookmark_instructions": "Haz click aquí para volver a tu último mensaje leído en este tema", "flag_title": "Reportar este mensaje", "flag_success": "Este mensaje ha sido reportado para moderación.", "deleted_message": "Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.", diff --git a/public/language/es/unread.json b/public/language/es/unread.json index d77a5f7979..a451185530 100644 --- a/public/language/es/unread.json +++ b/public/language/es/unread.json @@ -6,5 +6,8 @@ "selected": "Seleccionados", "all": "Todos", "all_categories": "Todos los foros", - "topics_marked_as_read.success": "¡Temas marcados como leídos!" + "topics_marked_as_read.success": "¡Temas marcados como leídos!", + "all-topics": "Todos los Temas", + "new-topics": "Temas Nuevos", + "watched-topics": "Temas Suscritos" } \ No newline at end of file diff --git a/public/language/es/user.json b/public/language/es/user.json index ebd854ddfa..6f7f75385b 100644 --- a/public/language/es/user.json +++ b/public/language/es/user.json @@ -97,7 +97,7 @@ "scroll_to_my_post": "Luego de enviar una respuesta, mostrar el nuevo mensaje", "follow_topics_you_reply_to": "Seguir los temas en los que respondes", "follow_topics_you_create": "Seguir publicaciones que creas", - "grouptitle": "Group Title", + "grouptitle": "Título del Grupo", "no-group-title": "Sin título de grupo", "select-skin": "Seleccionar una plantilla", "select-homepage": "Seleccione una Página de inicio", diff --git a/public/language/et/unread.json b/public/language/et/unread.json index 140ff1dd62..832d169fd4 100644 --- a/public/language/et/unread.json +++ b/public/language/et/unread.json @@ -6,5 +6,8 @@ "selected": "Valitud", "all": "Kõik", "all_categories": "Kõik kategooriad", - "topics_marked_as_read.success": "Teemad märgitud loetuks!" + "topics_marked_as_read.success": "Teemad märgitud loetuks!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/fa_IR/unread.json b/public/language/fa_IR/unread.json index c5a17f9649..2109d00211 100644 --- a/public/language/fa_IR/unread.json +++ b/public/language/fa_IR/unread.json @@ -6,5 +6,8 @@ "selected": "برگزیده", "all": "همه", "all_categories": "تمام دسته ها", - "topics_marked_as_read.success": "همه موضوع ها خوانده شدند" + "topics_marked_as_read.success": "همه موضوع ها خوانده شدند", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/fi/unread.json b/public/language/fi/unread.json index 5588fce2c3..e7296b4cf8 100644 --- a/public/language/fi/unread.json +++ b/public/language/fi/unread.json @@ -6,5 +6,8 @@ "selected": "Valitut", "all": "Kaikki", "all_categories": "All categories", - "topics_marked_as_read.success": "Aihe merkitty luetuksi!" + "topics_marked_as_read.success": "Aihe merkitty luetuksi!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/fr/unread.json b/public/language/fr/unread.json index 9432bf9d36..50f2318404 100644 --- a/public/language/fr/unread.json +++ b/public/language/fr/unread.json @@ -6,5 +6,8 @@ "selected": "Sélectionnés", "all": "Tous", "all_categories": "Toutes Catégories", - "topics_marked_as_read.success": "Sujets marqués comme lus !" + "topics_marked_as_read.success": "Sujets marqués comme lus !", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/gl/unread.json b/public/language/gl/unread.json index 11f79dc4ca..5581208821 100644 --- a/public/language/gl/unread.json +++ b/public/language/gl/unread.json @@ -6,5 +6,8 @@ "selected": "Seleccionado", "all": "Todos", "all_categories": "Tódalas categorías", - "topics_marked_as_read.success": "Temas marcados como lidos" + "topics_marked_as_read.success": "Temas marcados como lidos", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/he/unread.json b/public/language/he/unread.json index 587071777b..51923d7147 100644 --- a/public/language/he/unread.json +++ b/public/language/he/unread.json @@ -6,5 +6,8 @@ "selected": "נבחר", "all": "הכל", "all_categories": "כל הקטגוריות", - "topics_marked_as_read.success": "נושאים שמסומנים כנקרא!" + "topics_marked_as_read.success": "נושאים שמסומנים כנקרא!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/hu/unread.json b/public/language/hu/unread.json index 8bf28e0be6..dd411974f5 100644 --- a/public/language/hu/unread.json +++ b/public/language/hu/unread.json @@ -6,5 +6,8 @@ "selected": "Kiválasztva", "all": "Összes", "all_categories": "All categories", - "topics_marked_as_read.success": "Témakör olvasottnak jelölve!" + "topics_marked_as_read.success": "Témakör olvasottnak jelölve!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/id/unread.json b/public/language/id/unread.json index 27ace0a281..f7bc4cf56b 100644 --- a/public/language/id/unread.json +++ b/public/language/id/unread.json @@ -6,5 +6,8 @@ "selected": "Terpilih", "all": "Semua", "all_categories": "Semua Kategori", - "topics_marked_as_read.success": "Topik ditandai sudah dibaca!" + "topics_marked_as_read.success": "Topik ditandai sudah dibaca!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/it/unread.json b/public/language/it/unread.json index e2e6018a47..94c4a315a3 100644 --- a/public/language/it/unread.json +++ b/public/language/it/unread.json @@ -6,5 +6,8 @@ "selected": "Selezionati", "all": "Tutti", "all_categories": "Tutte le categorie", - "topics_marked_as_read.success": "Discussione marcata come letta!" + "topics_marked_as_read.success": "Discussione marcata come letta!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/ja/unread.json b/public/language/ja/unread.json index 66a8e02906..54446f4116 100644 --- a/public/language/ja/unread.json +++ b/public/language/ja/unread.json @@ -6,5 +6,8 @@ "selected": "選択済み", "all": "全て", "all_categories": "全てのカテゴリ", - "topics_marked_as_read.success": "すべてのスレッドを既読にしました。" + "topics_marked_as_read.success": "すべてのスレッドを既読にしました。", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/ko/email.json b/public/language/ko/email.json index 10eec4722d..07a668917b 100644 --- a/public/language/ko/email.json +++ b/public/language/ko/email.json @@ -24,7 +24,7 @@ "digest.day": "일", "digest.week": "주", "digest.month": "월", - "digest.subject": "Digest for %1", + "digest.subject": "%1님을 위한 다이제스트", "notif.chat.subject": "%1님이 대화 메시지를 보냈습니다.", "notif.chat.cta": "대화를 계속하려면 여기를 클릭하세요.", "notif.chat.unsub.info": "이 대화 알림은 사용자의 구독 설정에 따라 전송되었습니다.", diff --git a/public/language/ko/error.json b/public/language/ko/error.json index 748cc05084..01e81ea804 100644 --- a/public/language/ko/error.json +++ b/public/language/ko/error.json @@ -85,7 +85,7 @@ "cant-edit-chat-message": "편집 할 수 있는 권한이 없습니다.", "cant-remove-last-user": "마지막 사용자를 삭제할 수 없습니다.", "cant-delete-chat-message": "메세지를 지울 권한이 없습니다.", - "already-voting-for-this-post": "You have already voted for this post.", + "already-voting-for-this-post": "이미 이 게시글에 투표하셨습니다.", "reputation-system-disabled": "인지도 기능이 비활성 상태입니다.", "downvoting-disabled": "비추천 기능이 비활성 상태입니다.", "not-enough-reputation-to-downvote": "인지도가 낮아 이 게시물에 반대할 수 없습니다.", diff --git a/public/language/ko/topic.json b/public/language/ko/topic.json index cfa5504880..daea5fa614 100644 --- a/public/language/ko/topic.json +++ b/public/language/ko/topic.json @@ -26,7 +26,7 @@ "tools": "도구", "flag": "신고", "locked": "잠김", - "bookmark_instructions": "Click here to return to the last read post in this thread.", + "bookmark_instructions": "이 스레드에서 읽은 마지막 게시글로 이동하시려면 여기를 클릭하세요.", "flag_title": "이 게시물을 신고", "flag_success": "이 게시물은 신고되었습니다.", "deleted_message": "이 주제는 삭제되었습니다. 주제 관리 권한이 있는 사용자만 볼 수 있습니다.", diff --git a/public/language/ko/unread.json b/public/language/ko/unread.json index 56f631af80..527a990c08 100644 --- a/public/language/ko/unread.json +++ b/public/language/ko/unread.json @@ -6,5 +6,8 @@ "selected": "선택된 주제", "all": "전체", "all_categories": "모든 카테고리", - "topics_marked_as_read.success": "성공적으로 읽음으로 표시했습니다." + "topics_marked_as_read.success": "성공적으로 읽음으로 표시했습니다.", + "all-topics": "모든 주제", + "new-topics": "새 주제", + "watched-topics": "읽은 주제" } \ No newline at end of file diff --git a/public/language/ko/user.json b/public/language/ko/user.json index 20cbf236a9..c26b383d2e 100644 --- a/public/language/ko/user.json +++ b/public/language/ko/user.json @@ -97,7 +97,7 @@ "scroll_to_my_post": "답글 게시 후 새 포스트 보여주기", "follow_topics_you_reply_to": "답글 단 게시물을 팔로우 합니다.", "follow_topics_you_create": "생성한 주제를 팔로우 합니다.", - "grouptitle": "Group Title", + "grouptitle": "그룹 주제", "no-group-title": "그룹 이름이 없습니다.", "select-skin": "스킨 선택", "select-homepage": "홈페이지 선택", diff --git a/public/language/lt/unread.json b/public/language/lt/unread.json index 37c42dc40d..88b8b1464f 100644 --- a/public/language/lt/unread.json +++ b/public/language/lt/unread.json @@ -6,5 +6,8 @@ "selected": "Pasirinkti", "all": "Visi", "all_categories": "Visos kategorijos", - "topics_marked_as_read.success": "Temos pažymėtos kaip perskaitytos." + "topics_marked_as_read.success": "Temos pažymėtos kaip perskaitytos.", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/ms/unread.json b/public/language/ms/unread.json index 6e23443905..3e132e6f2c 100644 --- a/public/language/ms/unread.json +++ b/public/language/ms/unread.json @@ -6,5 +6,8 @@ "selected": "Dipilih", "all": "Semua", "all_categories": "Semua Kategori", - "topics_marked_as_read.success": "Topik ditandakan sebagai sudah dibaca" + "topics_marked_as_read.success": "Topik ditandakan sebagai sudah dibaca", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/nb/unread.json b/public/language/nb/unread.json index f36bd28af3..c22af54291 100644 --- a/public/language/nb/unread.json +++ b/public/language/nb/unread.json @@ -6,5 +6,8 @@ "selected": "Valgte", "all": "Alle", "all_categories": "Alle kategorier", - "topics_marked_as_read.success": "Emner merket som lest!" + "topics_marked_as_read.success": "Emner merket som lest!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/nl/unread.json b/public/language/nl/unread.json index 4a5fc11558..d5bed309e4 100644 --- a/public/language/nl/unread.json +++ b/public/language/nl/unread.json @@ -6,5 +6,8 @@ "selected": "Geselecteerd", "all": "Alles", "all_categories": "Alle categorieën", - "topics_marked_as_read.success": "Onderwerp gemarkeerd als gelezen!" + "topics_marked_as_read.success": "Onderwerp gemarkeerd als gelezen!", + "all-topics": "Alle onderwerpen", + "new-topics": "Nieuwe onderwerpen", + "watched-topics": "Bekeken onderwerpen" } \ No newline at end of file diff --git a/public/language/nl/uploads.json b/public/language/nl/uploads.json index 490bf49529..c59223164d 100644 --- a/public/language/nl/uploads.json +++ b/public/language/nl/uploads.json @@ -1,5 +1,5 @@ { - "uploading-file": "Bestond word geüpload...", + "uploading-file": "Bestand word geüpload...", "select-file-to-upload": "Selecteer een bestand om te uploaden!", "upload-success": "Bestand succesvol geüpload!", "maximum-file-size": "Maximaal %1 kb" diff --git a/public/language/nl/user.json b/public/language/nl/user.json index e2a0399640..3fd6525ef2 100644 --- a/public/language/nl/user.json +++ b/public/language/nl/user.json @@ -93,7 +93,7 @@ "enable_topic_searching": "Inschakelen mogelijkheid op onderwerp te kunnen zoeken", "topic_search_help": "Wanneer ingeschakeld zal de standaard zoekfunctie, met een aangepaste methode voor onderwerpen, overschreven worden", "delay_image_loading": "Afbeeldingen Laden Uitstellen", - "image_load_delay_help": "Indien ingeschakeld zullen afbeeldingen in topics niet laden totdat ze in het scherm scrollen", + "image_load_delay_help": "Indien ingeschakeld zullen afbeeldingen in topics niet laden totdat ze het scherm inscrollen", "scroll_to_my_post": "Toon het nieuwe bericht na het plaatsen van een antwoord", "follow_topics_you_reply_to": "Volg de onderwerpen waarop ik gereageerd heb", "follow_topics_you_create": "Volg de onderwerpen waarvan ik de oorspronkelijke auteur ben", diff --git a/public/language/pl/unread.json b/public/language/pl/unread.json index dbee60d817..521a5148b8 100644 --- a/public/language/pl/unread.json +++ b/public/language/pl/unread.json @@ -6,5 +6,8 @@ "selected": "Wybrane", "all": "Wszystkie", "all_categories": "Wszystkie kategorie", - "topics_marked_as_read.success": "Tematy zostały oznaczone jako przeczytane!" + "topics_marked_as_read.success": "Tematy zostały oznaczone jako przeczytane!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/pt_BR/unread.json b/public/language/pt_BR/unread.json index bba5086d93..2ee62fbb68 100644 --- a/public/language/pt_BR/unread.json +++ b/public/language/pt_BR/unread.json @@ -6,5 +6,8 @@ "selected": "Selecionado", "all": "Todos", "all_categories": "Todas as categorias", - "topics_marked_as_read.success": "Tópicos marcados como lidos!" + "topics_marked_as_read.success": "Tópicos marcados como lidos!", + "all-topics": "Todos os Tópicos", + "new-topics": "Novos Tópicos", + "watched-topics": "Topicos Acompanhados" } \ No newline at end of file diff --git a/public/language/ro/unread.json b/public/language/ro/unread.json index 5cff8c6546..c82e736759 100644 --- a/public/language/ro/unread.json +++ b/public/language/ro/unread.json @@ -6,5 +6,8 @@ "selected": "Selectate", "all": "Toate", "all_categories": "All categories", - "topics_marked_as_read.success": "Subiectele au fost marcate ca citite!" + "topics_marked_as_read.success": "Subiectele au fost marcate ca citite!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/ru/unread.json b/public/language/ru/unread.json index 7d51d6abbf..1317a92a45 100644 --- a/public/language/ru/unread.json +++ b/public/language/ru/unread.json @@ -6,5 +6,8 @@ "selected": "Выбранное", "all": "Все", "all_categories": "Все категории", - "topics_marked_as_read.success": "Темы помечены как прочитанные!" + "topics_marked_as_read.success": "Темы помечены как прочитанные!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/rw/unread.json b/public/language/rw/unread.json index 075fdc7792..07c6e6c04c 100644 --- a/public/language/rw/unread.json +++ b/public/language/rw/unread.json @@ -6,5 +6,8 @@ "selected": "Ibyatoranyijwe", "all": "Byose", "all_categories": "Ibyiciro Byose", - "topics_marked_as_read.success": "Ibiganiro byamaze kugaragazwa nk'ibyasomwe!" + "topics_marked_as_read.success": "Ibiganiro byamaze kugaragazwa nk'ibyasomwe!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/sc/unread.json b/public/language/sc/unread.json index 692bb12f14..3039d0fa6e 100644 --- a/public/language/sc/unread.json +++ b/public/language/sc/unread.json @@ -6,5 +6,8 @@ "selected": "Selected", "all": "All", "all_categories": "All categories", - "topics_marked_as_read.success": "Topics marked as read!" + "topics_marked_as_read.success": "Topics marked as read!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/sk/unread.json b/public/language/sk/unread.json index cd254ebd4a..eed25e3c74 100644 --- a/public/language/sk/unread.json +++ b/public/language/sk/unread.json @@ -6,5 +6,8 @@ "selected": "Vybrané", "all": "Všetko", "all_categories": "All categories", - "topics_marked_as_read.success": "Témy označiť ako prečítané!" + "topics_marked_as_read.success": "Témy označiť ako prečítané!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/sl/unread.json b/public/language/sl/unread.json index 73f87fdfe1..d63d75cb61 100644 --- a/public/language/sl/unread.json +++ b/public/language/sl/unread.json @@ -6,5 +6,8 @@ "selected": "Izbrano", "all": "Vse", "all_categories": "Vse kategorije", - "topics_marked_as_read.success": "Teme označene kot prebrane!" + "topics_marked_as_read.success": "Teme označene kot prebrane!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/sr/unread.json b/public/language/sr/unread.json index 3fe33d78e0..a811fd23d4 100644 --- a/public/language/sr/unread.json +++ b/public/language/sr/unread.json @@ -6,5 +6,8 @@ "selected": "Изабране", "all": "Све", "all_categories": "Све категорије", - "topics_marked_as_read.success": "Теме означене као прочитане!" + "topics_marked_as_read.success": "Теме означене као прочитане!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/sv/unread.json b/public/language/sv/unread.json index 0ed0a80ae7..7b99714700 100644 --- a/public/language/sv/unread.json +++ b/public/language/sv/unread.json @@ -6,5 +6,8 @@ "selected": "Vald", "all": "Alla", "all_categories": "Alla kategorier", - "topics_marked_as_read.success": "Ämnet markerat som läst." + "topics_marked_as_read.success": "Ämnet markerat som läst.", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/th/unread.json b/public/language/th/unread.json index 6928cb1366..00f800a723 100644 --- a/public/language/th/unread.json +++ b/public/language/th/unread.json @@ -6,5 +6,8 @@ "selected": "เลือก", "all": "ทั้งหมด", "all_categories": "All categories", - "topics_marked_as_read.success": "Topic ถูกทำเครื่องหมายว่าอ่านแล้วเรียบร้อย" + "topics_marked_as_read.success": "Topic ถูกทำเครื่องหมายว่าอ่านแล้วเรียบร้อย", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/tr/unread.json b/public/language/tr/unread.json index 49b8995dc5..22f62ff287 100644 --- a/public/language/tr/unread.json +++ b/public/language/tr/unread.json @@ -6,5 +6,8 @@ "selected": "Seçili", "all": "Hepsi", "all_categories": "Tüm kategoriler", - "topics_marked_as_read.success": "Başlıklar okundu olarak işaretlendi!" + "topics_marked_as_read.success": "Başlıklar okundu olarak işaretlendi!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/vi/unread.json b/public/language/vi/unread.json index 14233ae900..134a7e3dd0 100644 --- a/public/language/vi/unread.json +++ b/public/language/vi/unread.json @@ -6,5 +6,8 @@ "selected": "Đã chọn", "all": "Tất cả", "all_categories": "Tất cả chuyên mục", - "topics_marked_as_read.success": "Chủ đề được đánh dấu đã đọc" + "topics_marked_as_read.success": "Chủ đề được đánh dấu đã đọc", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/zh_CN/unread.json b/public/language/zh_CN/unread.json index 58ab5b0389..efe8f0c9bc 100644 --- a/public/language/zh_CN/unread.json +++ b/public/language/zh_CN/unread.json @@ -6,5 +6,8 @@ "selected": "已选", "all": "全部", "all_categories": "全部分类", - "topics_marked_as_read.success": "主题被标为已读!" + "topics_marked_as_read.success": "主题被标为已读!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file diff --git a/public/language/zh_TW/unread.json b/public/language/zh_TW/unread.json index b8e2086168..cf5b8d662c 100644 --- a/public/language/zh_TW/unread.json +++ b/public/language/zh_TW/unread.json @@ -6,5 +6,8 @@ "selected": "已選擇", "all": "全部", "all_categories": "All categories", - "topics_marked_as_read.success": "標記主題成已讀!" + "topics_marked_as_read.success": "標記主題成已讀!", + "all-topics": "All Topics", + "new-topics": "New Topics", + "watched-topics": "Watched Topics" } \ No newline at end of file From b2b99ce9f964de928598718493e04db1fd1a71d5 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 21 Apr 2016 10:31:57 -0400 Subject: [PATCH 05/25] added new core component for topic teaser /cc @rbeer --- package.json | 4 ++-- public/src/modules/components.js | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f925c9b50b..45ba59322e 100644 --- a/package.json +++ b/package.json @@ -56,8 +56,8 @@ "nodebb-plugin-spam-be-gone": "0.4.6", "nodebb-rewards-essentials": "0.0.8", "nodebb-theme-lavender": "3.0.9", - "nodebb-theme-persona": "4.0.122", - "nodebb-theme-vanilla": "5.0.66", + "nodebb-theme-persona": "4.0.123", + "nodebb-theme-vanilla": "5.0.67", "nodebb-widget-essentials": "2.0.9", "nodemailer": "2.0.0", "nodemailer-sendmail-transport": "1.0.0", diff --git a/public/src/modules/components.js b/public/src/modules/components.js index f4de069e01..29d1ba64a9 100644 --- a/public/src/modules/components.js +++ b/public/src/modules/components.js @@ -3,6 +3,13 @@ define('components', function() { var components = {}; components.core = { + 'topic/teaser': function(tid) { + if (tid) { + return $('[component="category/topic"][data-tid="' + tid + '"] [component="topic/teaser"]'); + } else { + return $('[component="topic/teaser"]'); + } + }, 'post': function(name, value) { return $('[component="post"][data-' + name + '="' + value + '"]'); }, From 2aa89b9c70fb0160210bb3fd8c9339bbd9304252 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 21 Apr 2016 11:40:40 -0400 Subject: [PATCH 06/25] fixes #4555 --- src/controllers/helpers.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/controllers/helpers.js b/src/controllers/helpers.js index 058a1849b1..a558d665dd 100644 --- a/src/controllers/helpers.js +++ b/src/controllers/helpers.js @@ -71,6 +71,13 @@ helpers.buildCategoryBreadcrumbs = function(cid, callback) { return callback(err); } + if (!meta.config.homePageRoute && meta.config.homePageCustom) { + breadcrumbs.unshift({ + text: '[[global:header.categories]]', + url: nconf.get('relative_path') + '/categories' + }); + } + breadcrumbs.unshift({ text: '[[global:home]]', url: nconf.get('relative_path') + '/' From 41d8d07e35500f1c31c13185ba2746c6b229e2cf Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 21 Apr 2016 12:12:42 -0400 Subject: [PATCH 07/25] upped persona --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 45ba59322e..fcd80dd971 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "nodebb-plugin-spam-be-gone": "0.4.6", "nodebb-rewards-essentials": "0.0.8", "nodebb-theme-lavender": "3.0.9", - "nodebb-theme-persona": "4.0.123", + "nodebb-theme-persona": "4.0.124", "nodebb-theme-vanilla": "5.0.67", "nodebb-widget-essentials": "2.0.9", "nodemailer": "2.0.0", From f5009b1a1191298aa8f30e40069c4fa66696b322 Mon Sep 17 00:00:00 2001 From: Ben Lubar Date: Thu, 21 Apr 2016 14:09:10 -0500 Subject: [PATCH 08/25] add a hook for plugins like nodebb-plugin-imagemagick that don't want to replace the entire upload system --- src/file.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/file.js b/src/file.js index 1c1cab7781..001e1324cb 100644 --- a/src/file.js +++ b/src/file.js @@ -50,6 +50,13 @@ file.base64ToLocal = function(imageData, uploadPath, callback) { }; file.isFileTypeAllowed = function(path, callback) { + var plugins = require('./plugins'); + if (plugins.hasListeners('filter:file.isFileTypeAllowed')) { + return plugins.fireHook('filter:file.isFileTypeAllowed', path, function(err) { + callback(err); + }); + } + // Attempt to read the file, if it passes, file type is allowed jimp.read(path, function(err) { callback(err); @@ -95,4 +102,4 @@ file.existsSync = function(path) { return !!exists; }; -module.exports = file; \ No newline at end of file +module.exports = file; From ea6d2c35f7e425102186cd370a8d7893d1f88807 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 21 Apr 2016 15:30:03 -0400 Subject: [PATCH 09/25] Fixed bug in settingsv1 If the saved value was an empty string, then textareas (and more importantly, select boxes) would not be properly populated with the saved value. --- public/src/admin/settings.js | 4 ++-- src/controllers/index.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/public/src/admin/settings.js b/public/src/admin/settings.js index c4b880f761..acfa654556 100644 --- a/public/src/admin/settings.js +++ b/public/src/admin/settings.js @@ -53,11 +53,11 @@ define('admin/settings', ['uploader', 'sounds'], function(uploader, sounds) { } } } else if (field.is('textarea')) { - if (app.config[key]) { + if (app.config.hasOwnProperty(key)) { field.val(app.config[key]); } } else if (field.is('select')) { - if (app.config[key]) { + if (app.config.hasOwnProperty(key)) { field.val(app.config[key]); } } diff --git a/src/controllers/index.js b/src/controllers/index.js index a1e9c63dae..d5d26ec34e 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -31,6 +31,7 @@ var Controllers = { Controllers.home = function(req, res, next) { var route = meta.config.homePageRoute || (meta.config.homePageCustom || '').replace(/^\/+/, '') || 'categories'; + console.log(route, meta.config); user.getSettings(req.uid, function(err, settings) { if (err) { From 22cf0966e6f8ecaba501f5d2bfe2e84ac48d67c2 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 21 Apr 2016 15:52:15 -0400 Subject: [PATCH 10/25] removed console log --- src/controllers/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/controllers/index.js b/src/controllers/index.js index d5d26ec34e..a1e9c63dae 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -31,7 +31,6 @@ var Controllers = { Controllers.home = function(req, res, next) { var route = meta.config.homePageRoute || (meta.config.homePageCustom || '').replace(/^\/+/, '') || 'categories'; - console.log(route, meta.config); user.getSettings(req.uid, function(err, settings) { if (err) { From 9d6532fe7ba133ef9fe4c9fb8b80ed5b98c3d0d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Thu, 21 Apr 2016 22:59:42 +0300 Subject: [PATCH 11/25] moved to ajaxify.start --- public/src/ajaxify.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/public/src/ajaxify.js b/public/src/ajaxify.js index e31786294b..53f979224a 100644 --- a/public/src/ajaxify.js +++ b/public/src/ajaxify.js @@ -71,12 +71,6 @@ $(document).ready(function() { return onAjaxError(err, url, callback, quiet); } - if (window.history && window.history.pushState) { - window.history[!quiet ? 'pushState' : 'replaceState']({ - url: url - }, url, RELATIVE_PATH + '/' + url); - } - retry = true; app.template = data.template.name; @@ -111,6 +105,11 @@ $(document).ready(function() { } ajaxify.currentPage = url.split(/[?#]/)[0]; + if (window.history && window.history.pushState) { + window.history[!quiet ? 'pushState' : 'replaceState']({ + url: url + }, url, RELATIVE_PATH + '/' + url); + } return url; }; From c790373dfcd09310a98e257d388031cfd593f23d Mon Sep 17 00:00:00 2001 From: barisusakli Date: Fri, 22 Apr 2016 19:48:41 +0300 Subject: [PATCH 12/25] closes #4558 --- public/src/client/account/settings.js | 5 ++- src/controllers/accounts/settings.js | 64 +++++++++++++-------------- 2 files changed, 34 insertions(+), 35 deletions(-) diff --git a/public/src/client/account/settings.js b/public/src/client/account/settings.js index c594abd72a..763b41b504 100644 --- a/public/src/client/account/settings.js +++ b/public/src/client/account/settings.js @@ -78,11 +78,12 @@ define('forum/account/settings', ['forum/account/header', 'components', 'csrf'], }; function toggleCustomRoute() { - $('[data-property="homePageCustom"]').val(''); + if ($('[data-property="homePageRoute"]').val() === 'custom') { $('#homePageCustom').show(); - }else{ + } else { $('#homePageCustom').hide(); + $('[data-property="homePageCustom"]').val(''); } } diff --git a/src/controllers/accounts/settings.js b/src/controllers/accounts/settings.js index b5b020c118..ba7cc4dcaf 100644 --- a/src/controllers/accounts/settings.js +++ b/src/controllers/accounts/settings.js @@ -96,8 +96,18 @@ settingsController.get = function(req, res, callback) { { "name": "Yeti", "value": "yeti" } ]; + var isCustom = true; userData.homePageRoutes.forEach(function(route) { route.selected = route.route === userData.settings.homePageRoute; + if (route.selected) { + isCustom = false; + } + }); + + userData.homePageRoutes.push({ + route: 'custom', + name: 'Custom', + selected: isCustom }); userData.bootswatchSkinOptions.forEach(function(skin) { @@ -142,40 +152,28 @@ function getHomePageRoutes(callback) { name: 'Category: ' + category.name }; }); - next(null, categoryData); + + categoryData = categoryData || []; + + plugins.fireHook('filter:homepage.get', {routes: [ + { + route: 'categories', + name: 'Categories' + }, + { + route: 'recent', + name: 'Recent' + }, + { + route: 'popular', + name: 'Popular' + } + ].concat(categoryData)}, next); + }, + function (data, next) { + next(null, data.routes); } - ], function(err, categoryData) { - if (err) { - return callback(err); - } - categoryData = categoryData || []; - - plugins.fireHook('filter:homepage.get', {routes: [ - { - route: 'categories', - name: 'Categories' - }, - { - route: 'recent', - name: 'Recent' - }, - { - route: 'popular', - name: 'Popular' - } - ].concat(categoryData)}, function(err, data) { - if (err) { - return callback(err); - } - - data.routes.push({ - route: 'custom', - name: 'Custom' - }); - - callback(null, data.routes); - }); - }); + ], callback); } From ae607b47be74be6f915fac810a5d70c4315e681a Mon Sep 17 00:00:00 2001 From: barisusakli Date: Fri, 22 Apr 2016 19:52:08 +0300 Subject: [PATCH 13/25] up themes --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index fcd80dd971..9bf8e0a04d 100644 --- a/package.json +++ b/package.json @@ -56,8 +56,8 @@ "nodebb-plugin-spam-be-gone": "0.4.6", "nodebb-rewards-essentials": "0.0.8", "nodebb-theme-lavender": "3.0.9", - "nodebb-theme-persona": "4.0.124", - "nodebb-theme-vanilla": "5.0.67", + "nodebb-theme-persona": "4.0.125", + "nodebb-theme-vanilla": "5.0.68", "nodebb-widget-essentials": "2.0.9", "nodemailer": "2.0.0", "nodemailer-sendmail-transport": "1.0.0", From 43a3a81cf735eeff5a7f5068462efd755fb2b4d3 Mon Sep 17 00:00:00 2001 From: pichalite Date: Fri, 22 Apr 2016 18:01:39 +0000 Subject: [PATCH 14/25] add missing ACP defaults for new install --- install/data/defaults.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/install/data/defaults.json b/install/data/defaults.json index 5041ff83ea..f43c34914c 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -9,6 +9,8 @@ "maximumPostLength": 32767, "minimumTagsPerTopic": 0, "maximumTagsPerTopic": 5, + "minimumTagLength": 3, + "maximumTagLength": 15, "allowGuestSearching": 0, "allowTopicsThumbnail": 0, "registrationType": "normal", @@ -30,5 +32,7 @@ "requireEmailConfirmation": 0, "allowProfileImageUploads": 1, "teaserPost": "last", - "allowPrivateGroups": 1 + "allowPrivateGroups": 1, + "unreadCutoff": 2, + "bookmarkthreshold": 5 } \ No newline at end of file From 8947ac74a45a87c2cd56a8baa3cd83cc016d0e07 Mon Sep 17 00:00:00 2001 From: pichalite Date: Fri, 22 Apr 2016 11:31:15 -0700 Subject: [PATCH 15/25] bookmarkThreshold --- install/data/defaults.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/data/defaults.json b/install/data/defaults.json index f43c34914c..45f426fb04 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -34,5 +34,5 @@ "teaserPost": "last", "allowPrivateGroups": 1, "unreadCutoff": 2, - "bookmarkthreshold": 5 -} \ No newline at end of file + "bookmarkThreshold": 5 +} From 8ea12197ae99ab1d4931589f808804acc79053fe Mon Sep 17 00:00:00 2001 From: NodeBB Misty Date: Sat, 23 Apr 2016 09:02:27 -0400 Subject: [PATCH 16/25] Latest translations and fallbacks --- public/language/ar/modules.json | 2 +- public/language/ar/pages.json | 6 +++--- public/language/ar/unread.json | 6 +++--- public/language/ar/uploads.json | 4 ++-- public/language/ar/user.json | 10 +++++----- public/language/fr/unread.json | 6 +++--- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/public/language/ar/modules.json b/public/language/ar/modules.json index 1c23da87ad..a92c2d6953 100644 --- a/public/language/ar/modules.json +++ b/public/language/ar/modules.json @@ -17,7 +17,7 @@ "chat.seven_days": "7 أيام", "chat.thirty_days": "30 يومًا", "chat.three_months": "3 أشهر", - "chat.delete_message_confirm": "Are you sure you wish to delete this message?", + "chat.delete_message_confirm": "هل أنت متأكد من أنك تريد حذف هذه الرسالة؟", "chat.roomname": "Chat Room %1", "chat.add-users-to-room": "Add users to room", "composer.compose": "اكتب", diff --git a/public/language/ar/pages.json b/public/language/ar/pages.json index 74170e7af3..1f993db93d 100644 --- a/public/language/ar/pages.json +++ b/public/language/ar/pages.json @@ -16,9 +16,9 @@ "notifications": "التنبيهات", "tags": "الكلمات الدلالية", "tag": "Topics tagged under \"%1\"", - "register": "Register an account", + "register": "تسجيل حساب", "login": "Login to your account", - "reset": "Reset your account password", + "reset": "إعادة تعيين كلمة مرور حسابك", "categories": "الفئات", "groups": "المجموعات", "group": "%1 group", @@ -39,7 +39,7 @@ "account/upvoted": "Posts upvoted by %1", "account/downvoted": "Posts downvoted by %1", "account/best": "Best posts made by %1", - "confirm": "Email Confirmed", + "confirm": "تم التحقق من عنوان البريد الإلكتروني", "maintenance.text": "جاري صيانة %1. المرجو العودة لاحقًا.", "maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:", "throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time." diff --git a/public/language/ar/unread.json b/public/language/ar/unread.json index eb87ecb3d3..2d139f5e75 100644 --- a/public/language/ar/unread.json +++ b/public/language/ar/unread.json @@ -7,7 +7,7 @@ "all": "الكل", "all_categories": "كل الفئات", "topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!", - "all-topics": "All Topics", - "new-topics": "New Topics", - "watched-topics": "Watched Topics" + "all-topics": "كل المواضيع", + "new-topics": "مواضيع جديدة", + "watched-topics": "المواضيع المتابعة" } \ No newline at end of file diff --git a/public/language/ar/uploads.json b/public/language/ar/uploads.json index 1622cb5693..2126d3ec03 100644 --- a/public/language/ar/uploads.json +++ b/public/language/ar/uploads.json @@ -1,6 +1,6 @@ { - "uploading-file": "Uploading the file...", + "uploading-file": "جاري رفع الملف...", "select-file-to-upload": "Select a file to upload!", - "upload-success": "File uploaded successfully!", + "upload-success": "تم رفع الملف بنجاح!", "maximum-file-size": "Maximum %1 kb" } \ No newline at end of file diff --git a/public/language/ar/user.json b/public/language/ar/user.json index 15740e1f14..aa2745674c 100644 --- a/public/language/ar/user.json +++ b/public/language/ar/user.json @@ -36,10 +36,10 @@ "more": "المزيد", "profile_update_success": "تم تحديث الملف الشخصي بنجاح", "change_picture": "تغيير الصورة", - "change_username": "Change Username", - "change_email": "Change Email", + "change_username": "تغيير اسم المستخدم", + "change_email": "تغيير البريد اﻹلكتروني", "edit": "تعديل", - "edit-profile": "Edit Profile", + "edit-profile": "تعديل الملف الشخصي", "default_picture": "Default Icon", "uploaded_picture": "الصورة المرفوعة", "upload_new_picture": "رفع صورة جديدة", @@ -97,11 +97,11 @@ "scroll_to_my_post": "After posting a reply, show the new post", "follow_topics_you_reply_to": "متابعة المواضيع التي تقوم بالرد فيها", "follow_topics_you_create": "متابعة المواضيع التي تنشئها", - "grouptitle": "Group Title", + "grouptitle": "عنوان المجموعة", "no-group-title": "لا يوجد عنوان للمجموعة", "select-skin": "Select a Skin", "select-homepage": "Select a Homepage", - "homepage": "Homepage", + "homepage": "الصفحة الرئيسية", "homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.", "custom_route": "Custom Homepage Route", "custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")", diff --git a/public/language/fr/unread.json b/public/language/fr/unread.json index 50f2318404..c0849c4be8 100644 --- a/public/language/fr/unread.json +++ b/public/language/fr/unread.json @@ -7,7 +7,7 @@ "all": "Tous", "all_categories": "Toutes Catégories", "topics_marked_as_read.success": "Sujets marqués comme lus !", - "all-topics": "All Topics", - "new-topics": "New Topics", - "watched-topics": "Watched Topics" + "all-topics": "Tous les sujets", + "new-topics": "Nouveau sujet", + "watched-topics": "Sujets surveillés" } \ No newline at end of file From c1e361377938149d0d10b55b618aa20f40cb4904 Mon Sep 17 00:00:00 2001 From: Ole R Date: Sat, 23 Apr 2016 15:23:36 +0200 Subject: [PATCH 17/25] Update jquery.textcomplete to 1.3.4 --- .../textcomplete/jquery.textcomplete.js | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/public/vendor/jquery/textcomplete/jquery.textcomplete.js b/public/vendor/jquery/textcomplete/jquery.textcomplete.js index ad1d508450..e42ac31bbf 100644 --- a/public/vendor/jquery/textcomplete/jquery.textcomplete.js +++ b/public/vendor/jquery/textcomplete/jquery.textcomplete.js @@ -17,7 +17,7 @@ * Repository: https://github.com/yuku-t/jquery-textcomplete * License: MIT (https://github.com/yuku-t/jquery-textcomplete/blob/master/LICENSE) * Author: Yuku Takahashi - * Version: 1.3.1 + * Version: 1.3.4 */ if (typeof jQuery === 'undefined') { @@ -796,8 +796,14 @@ if (typeof jQuery === 'undefined') { // (which makes our elements wrap onto the next line and corrupt the next item), if we're close to the right // edge, move left. We don't know how far to move left, so just keep nudging a bit. var tolerance = 30; // pixels. Make wider than vertical scrollbar because we might not be able to use that space. - while (this.$el.offset().left + this.$el.width() > $window.width() - tolerance) { - this.$el.offset({left: this.$el.offset().left - tolerance}); + var lastOffset = this.$el.offset().left, offset; + var width = this.$el.width(); + var maxLeft = $window.width() - tolerance; + while (lastOffset + width > maxLeft) { + this.$el.offset({left: lastOffset - tolerance}); + offset = this.$el.offset().left; + if (offset >= lastOffset) { break; } + lastOffset = offset; } }, @@ -1056,9 +1062,28 @@ if (typeof jQuery === 'undefined') { _getCaretRelativePosition: function () { var p = $.fn.textcomplete.getCaretCoordinates(this.el, this.el.selectionStart); return { - top: p.top + parseInt(this.$el.css('line-height'), 10) - this.$el.scrollTop(), + top: p.top + this._calculateLineHeight() - this.$el.scrollTop(), left: p.left - this.$el.scrollLeft() }; + }, + + _calculateLineHeight: function () { + var lineHeight = parseInt(this.$el.css('line-height'), 10); + if (isNaN(lineHeight)) { + // http://stackoverflow.com/a/4515470/1297336 + var parentNode = this.el.parentNode; + var temp = document.createElement(this.el.nodeName); + var style = this.el.style; + temp.setAttribute( + 'style', + 'margin:0px;padding:0px;font-family:' + style.fontFamily + ';font-size:' + style.fontSize + ); + temp.innerHTML = 'test'; + parentNode.appendChild(temp); + lineHeight = temp.clientHeight; + parentNode.removeChild(temp); + } + return lineHeight; } }); @@ -1248,7 +1273,7 @@ if (typeof jQuery === 'undefined') { // // https://github.com/component/textarea-caret-position -(function () { +(function ($) { // The properties that we copy into a mirrored div. // Note that some browsers, such as Firefox, @@ -1369,13 +1394,9 @@ function getCaretCoordinates(element, position, options) { return coordinates; } -if (typeof module != 'undefined' && typeof module.exports != 'undefined') { - module.exports = getCaretCoordinates; -} else if(isBrowser){ - window.$.fn.textcomplete.getCaretCoordinates = getCaretCoordinates; -} +$.fn.textcomplete.getCaretCoordinates = getCaretCoordinates; -}()); +}(jQuery)); return jQuery; -})); \ No newline at end of file +})); From a306405ebda8a902ca43271b2d6ab34fed8beba6 Mon Sep 17 00:00:00 2001 From: NodeBB Misty Date: Sun, 24 Apr 2016 09:03:01 -0400 Subject: [PATCH 18/25] Latest translations and fallbacks --- public/language/es/topic.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/language/es/topic.json b/public/language/es/topic.json index 36075da5d9..c9e5849f41 100644 --- a/public/language/es/topic.json +++ b/public/language/es/topic.json @@ -34,15 +34,15 @@ "not_following_topic.message": "No recibiras notificaciones de este tema.", "login_to_subscribe": "Por favor, conéctate para subscribirte a este tema.", "markAsUnreadForAll.success": "Publicación marcada como no leída para todos.", - "mark_unread": "Marcar como no leído", + "mark_unread": "Marcar no leído", "mark_unread.success": "Tema marcado como no leído.", "watch": "Seguir", "unwatch": "Dejar de seguir", "watch.title": "Serás notificado cuando haya nuevas respuestas en este tema", "unwatch.title": "Dejar de seguir este tema", "share_this_post": "Compartir este post", - "thread_tools.title": "Herramientas del tema", - "thread_tools.markAsUnreadForAll": "Marcar como no leído", + "thread_tools.title": "Herramientas", + "thread_tools.markAsUnreadForAll": "Marcar no leído", "thread_tools.pin": "Adherir tema", "thread_tools.unpin": "Despegar tema", "thread_tools.lock": "Cerrar tema", @@ -96,7 +96,7 @@ "more_users": "%1 usuario(s) más", "more_guests": "%1 invitado(s) más", "users_and_others": "%1 y otros %2", - "sort_by": "Ordenar por", + "sort_by": "Ordenar", "oldest_to_newest": "Más antiguo a más nuevo", "newest_to_oldest": "Más nuevo a más antiguo", "most_votes": "Mayor número de votos", From b4a15cdbc923d175fcc1dc5631ef5b2d7fc27e67 Mon Sep 17 00:00:00 2001 From: NodeBB Misty Date: Mon, 25 Apr 2016 09:02:29 -0400 Subject: [PATCH 19/25] Latest translations and fallbacks --- public/language/it/email.json | 6 +++--- public/language/it/error.json | 2 +- public/language/tr/email.json | 2 +- public/language/tr/unread.json | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/public/language/it/email.json b/public/language/it/email.json index 347f0d6f1d..ef28eac56e 100644 --- a/public/language/it/email.json +++ b/public/language/it/email.json @@ -21,9 +21,9 @@ "digest.cta": "Clicca qui per visitare %1", "digest.unsub.info": "Questo sommario ti è stato inviato perché lo hai sottoscritto nelle tue impostazioni.", "digest.no_topics": "Non ci sono state discussioni attive nell'ultimo %1", - "digest.day": "day", - "digest.week": "week", - "digest.month": "month", + "digest.day": "giorno", + "digest.week": "settimana", + "digest.month": "mese", "digest.subject": "Digest for %1", "notif.chat.subject": "Nuovo messaggio in chat da %1", "notif.chat.cta": "Clicca qui per continuare la conversazione", diff --git a/public/language/it/error.json b/public/language/it/error.json index 23135607f1..ec1f8d0e9b 100644 --- a/public/language/it/error.json +++ b/public/language/it/error.json @@ -24,7 +24,7 @@ "confirm-email-already-sent": "Email di conferma già inviata, per favore attendere %1 minuti per richiederne un'altra.", "username-too-short": "Nome utente troppo corto", "username-too-long": "Nome utente troppo lungo", - "password-too-long": "Password too long", + "password-too-long": "Password troppo lunga", "user-banned": "Utente bannato", "user-too-new": "Devi attendere %1 secondi prima di creare il tuo primo post", "blacklisted-ip": "Sorry, your IP address has been banned from this community. If you feel this is in error, please contact an administrator.", diff --git a/public/language/tr/email.json b/public/language/tr/email.json index 999da17999..4353efd42a 100644 --- a/public/language/tr/email.json +++ b/public/language/tr/email.json @@ -24,7 +24,7 @@ "digest.day": "gün", "digest.week": "hafta", "digest.month": "ay", - "digest.subject": "Digest for %1", + "digest.subject": "%1 için özet", "notif.chat.subject": "Okunmamış bazı iletileriniz var", "notif.chat.cta": "Sohbete devam etmek için buraya tıklayın", "notif.chat.unsub.info": "Bu bildirim şectiğiniz ayarlar yüzünden gönderildi.", diff --git a/public/language/tr/unread.json b/public/language/tr/unread.json index 22f62ff287..4ef01109e7 100644 --- a/public/language/tr/unread.json +++ b/public/language/tr/unread.json @@ -7,7 +7,7 @@ "all": "Hepsi", "all_categories": "Tüm kategoriler", "topics_marked_as_read.success": "Başlıklar okundu olarak işaretlendi!", - "all-topics": "All Topics", - "new-topics": "New Topics", - "watched-topics": "Watched Topics" + "all-topics": "Tüm Başlıklar", + "new-topics": "Yeni Başlıklar", + "watched-topics": "İzlenen Başlıklar" } \ No newline at end of file From eb28e178a7dcca08d26f69ddc624d3bba080c81c Mon Sep 17 00:00:00 2001 From: barisusakli Date: Mon, 25 Apr 2016 19:06:07 +0300 Subject: [PATCH 20/25] closes #4567 --- src/categories/create.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/categories/create.js b/src/categories/create.js index 7f1f3955f7..f6338f8ef2 100644 --- a/src/categories/create.js +++ b/src/categories/create.js @@ -97,11 +97,11 @@ module.exports = function(Categories) { destination = results.destination; var tasks = []; - if (parseInt(results.source.parentCid, 10)) { + if (utils.isNumber(results.source.parentCid)) { tasks.push(async.apply(db.sortedSetAdd, 'cid:' + results.source.parentCid + ':children', results.source.order, toCid)); } - if (destination && parseInt(destination.parentCid, 10)) { + if (destination && utils.isNumber(destination.parentCid)) { tasks.push(async.apply(db.sortedSetRemove, 'cid:' + destination.parentCid + ':children', toCid)); } From c8bbbda22f8d2d65a1616550b6db21ae30ab56aa Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Mon, 25 Apr 2016 12:20:29 -0400 Subject: [PATCH 21/25] added logic to catch bad installs In cases where the nodebb executable is run before `npm i`, NodeBB will now emit a friendly message instead of a scary one. --- nodebb | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/nodebb b/nodebb index fb8d0a6911..53ae28db22 100755 --- a/nodebb +++ b/nodebb @@ -1,14 +1,25 @@ #!/usr/bin/env node -var colors = require('colors'), - cproc = require('child_process'), - argv = require('minimist')(process.argv.slice(2)), - fs = require('fs'), - path = require('path'), - request = require('request'), - semver = require('semver'), - prompt = require('prompt'), - async = require('async'); +try { + var colors = require('colors'), + cproc = require('child_process'), + argv = require('minimist')(process.argv.slice(2)), + fs = require('fs'), + path = require('path'), + request = require('request'), + semver = require('semver'), + prompt = require('prompt'), + async = require('async'); +} catch (e) { + if (e.code === 'MODULE_NOT_FOUND') { + process.stdout.write('NodeBB could not be started because it\'s dependencies have not been installed.\n'); + process.stdout.write('Please ensure that you have executed "npm install --production" prior to running NodeBB.\n\n'); + process.stdout.write('For more information, please see: https://docs.nodebb.org/en/latest/installing/os.html\n\n'); + process.stdout.write('Could not start: ' + e.code + '\n'); + + process.exit(1); + } +} var getRunningPid = function(callback) { fs.readFile(__dirname + '/pidfile', { From eb04dba96cab6eb9f146c01085f5a76651395370 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Mon, 25 Apr 2016 19:28:28 +0300 Subject: [PATCH 22/25] closes #4568 --- public/src/admin/manage/categories.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/src/admin/manage/categories.js b/public/src/admin/manage/categories.js index b4a5f19601..4683d20e60 100644 --- a/public/src/admin/manage/categories.js +++ b/public/src/admin/manage/categories.js @@ -167,6 +167,10 @@ define('admin/manage/categories', ['vendor/jquery/serializeObject/jquery.ba-seri }); }); + if (!categories.length) { + continueRender(); + } + function continueRender() { templates.parse('admin/partials/categories/category-rows', { cid: parentId, From 65dfe2bf1b3bb0fa6f996d63a5eea6313ae475c6 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Mon, 25 Apr 2016 19:45:50 +0300 Subject: [PATCH 23/25] closes #4564 --- public/less/generics.less | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/public/less/generics.less b/public/less/generics.less index fee1157662..16528024f7 100644 --- a/public/less/generics.less +++ b/public/less/generics.less @@ -17,7 +17,9 @@ .category-list { padding: 0; - + height: 500px; + overflow-y: auto; + overflow-x: hidden; li { .inline-block; .pointer; From 1cbbb23043381f103b510eea0dbc8f59d13ddbd4 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Mon, 25 Apr 2016 21:46:22 +0300 Subject: [PATCH 24/25] fix css --- public/less/generics.less | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/less/generics.less b/public/less/generics.less index 16528024f7..265007af55 100644 --- a/public/less/generics.less +++ b/public/less/generics.less @@ -15,11 +15,15 @@ .define-if-not-set(); -.category-list { - padding: 0; +#move_thread_modal .category-list { height: 500px; overflow-y: auto; overflow-x: hidden; +} + +.category-list { + padding: 0; + li { .inline-block; .pointer; From a12a14901507aecd2ee6f75625000898353c2a69 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Mon, 25 Apr 2016 21:53:56 +0300 Subject: [PATCH 25/25] fix validator warning --- src/controllers/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/controllers/index.js b/src/controllers/index.js index a1e9c63dae..598587a434 100644 --- a/src/controllers/index.js +++ b/src/controllers/index.js @@ -308,12 +308,12 @@ Controllers.manifest = function(req, res) { }; Controllers.outgoing = function(req, res, next) { - var url = req.query.url, - data = { - url: validator.escape(url), - title: meta.config.title, - breadcrumbs: helpers.buildBreadcrumbs([{text: '[[notifications:outgoing_link]]'}]) - }; + var url = req.query.url; + var data = { + url: validator.escape(String(url)), + title: meta.config.title, + breadcrumbs: helpers.buildBreadcrumbs([{text: '[[notifications:outgoing_link]]'}]) + }; if (url) { res.render('outgoing', data);