Merge commit 'a12a14901507aecd2ee6f75625000898353c2a69' into weekly

This commit is contained in:
NodeBB Misty
2016-04-25 16:00:16 -04:00
74 changed files with 345 additions and 156 deletions

View File

@@ -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
}

29
nodebb
View File

@@ -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', {

View File

@@ -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.125",
"nodebb-theme-vanilla": "5.0.68",
"nodebb-widget-essentials": "2.0.9",
"nodemailer": "2.0.0",
"nodemailer-sendmail-transport": "1.0.0",
@@ -115,4 +115,4 @@
"url": "https://github.com/barisusakli"
}
]
}
}

View File

@@ -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": "اكتب",

View File

@@ -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."

View File

@@ -6,5 +6,8 @@
"selected": "المحددة",
"all": "الكل",
"all_categories": "كل الفئات",
"topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!"
"topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!",
"all-topics": "كل المواضيع",
"new-topics": "مواضيع جديدة",
"watched-topics": "المواضيع المتابعة"
}

View File

@@ -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"
}

View File

@@ -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\")",

View File

@@ -6,5 +6,8 @@
"selected": "Избраните",
"all": "Всички",
"all_categories": "Всички категории",
"topics_marked_as_read.success": "Темите бяха отбелязани като прочетени!"
"topics_marked_as_read.success": "Темите бяха отбелязани като прочетени!",
"all-topics": "Всички теми",
"new-topics": "Нови теми",
"watched-topics": "Наблюдавани теми"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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.",

View File

@@ -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",

View File

@@ -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.",
@@ -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",

View File

@@ -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"
}

View File

@@ -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",

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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": "Tous les sujets",
"new-topics": "Nouveau sujet",
"watched-topics": "Sujets surveillés"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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",

View File

@@ -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.",

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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": "이 대화 알림은 사용자의 구독 설정에 따라 전송되었습니다.",

View File

@@ -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": "인지도가 낮아 이 게시물에 반대할 수 없습니다.",

View File

@@ -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": "이 주제는 삭제되었습니다. 주제 관리 권한이 있는 사용자만 볼 수 있습니다.",

View File

@@ -6,5 +6,8 @@
"selected": "선택된 주제",
"all": "전체",
"all_categories": "모든 카테고리",
"topics_marked_as_read.success": "성공적으로 읽음으로 표시했습니다."
"topics_marked_as_read.success": "성공적으로 읽음으로 표시했습니다.",
"all-topics": "모든 주제",
"new-topics": "새 주제",
"watched-topics": "읽은 주제"
}

View File

@@ -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": "홈페이지 선택",

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"

View File

@@ -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",

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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.",

View File

@@ -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": "Tüm Başlıklar",
"new-topics": "Yeni Başlıklar",
"watched-topics": "İzlenen Başlıklar"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -15,6 +15,12 @@
.define-if-not-set();
#move_thread_modal .category-list {
height: 500px;
overflow-y: auto;
overflow-x: hidden;
}
.category-list {
padding: 0;

View File

@@ -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,

View File

@@ -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]);
}
}

View File

@@ -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;
};

View File

@@ -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('');
}
}

View File

@@ -238,11 +238,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) {
@@ -262,7 +264,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);
}),
posts = $.unique(visible.map(function() {
return $(this).parents('[component="post"]').get(0);

View File

@@ -92,7 +92,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();

View File

@@ -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 + '"]');
},

View File

@@ -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;
}));
}));

View File

@@ -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));
}

View File

@@ -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);
}

View File

@@ -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') + '/'

View File

@@ -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) {
@@ -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);

View File

@@ -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;
module.exports = file;