diff --git a/app.js b/app.js
index 6fd215ad61..2158d61282 100644
--- a/app.js
+++ b/app.js
@@ -285,6 +285,11 @@ function upgrade() {
function activate() {
require('./src/database').init(function(err) {
+ if (err) {
+ winston.error(err.stack);
+ process.exit(1);
+ }
+
var plugin = nconf.get('_')[1] ? nconf.get('_')[1] : nconf.get('activate'),
db = require('./src/database');
@@ -296,9 +301,19 @@ function activate() {
function listPlugins() {
require('./src/database').init(function(err) {
+ if (err) {
+ winston.error(err.stack);
+ process.exit(1);
+ }
+
var db = require('./src/database');
db.getSortedSetRange('plugins:active', 0, -1, function(err, plugins) {
+ if (err) {
+ winston.error(err.stack);
+ process.exit(1);
+ }
+
winston.info('Active plugins: \n\t - ' + plugins.join('\n\t - '));
process.exit();
});
diff --git a/install/web.js b/install/web.js
index 0f4e645e8a..b60614de07 100644
--- a/install/web.js
+++ b/install/web.js
@@ -130,6 +130,10 @@ function compileLess(callback) {
}
fs.readFile(path.join(__dirname, '../public/less/install.less'), function(err, style) {
+ if (err) {
+ return winston.error('Unable to read LESS install file: ', err);
+ }
+
less.render(style.toString(), function(err, css) {
if(err) {
return winston.error('Unable to compile LESS: ', err);
diff --git a/loader.js b/loader.js
index 56e4864289..78e3f34a7f 100644
--- a/loader.js
+++ b/loader.js
@@ -207,7 +207,8 @@ function getPorts() {
Loader.restart = function() {
killWorkers();
-
+ nconf.remove('file');
+ nconf.use('file', { file: path.join(__dirname, '/config.json') });
Loader.start();
};
diff --git a/package.json b/package.json
index 0e412b0336..9bbb2f50b9 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,7 @@
"cron": "^1.0.5",
"csurf": "^1.6.1",
"daemon": "~1.1.0",
- "express": "^4.9.5",
+ "express": "^4.14.0",
"express-session": "^1.8.2",
"express-useragent": "0.2.4",
"html-to-text": "2.0.0",
@@ -57,8 +57,8 @@
"nodebb-plugin-spam-be-gone": "0.4.10",
"nodebb-rewards-essentials": "0.0.9",
"nodebb-theme-lavender": "3.0.13",
- "nodebb-theme-persona": "4.1.20",
- "nodebb-theme-vanilla": "5.1.9",
+ "nodebb-theme-persona": "4.1.23",
+ "nodebb-theme-vanilla": "5.1.11",
"nodebb-widget-essentials": "2.0.10",
"nodemailer": "2.0.0",
"nodemailer-sendmail-transport": "1.0.0",
@@ -74,7 +74,7 @@
"semver": "^5.1.0",
"serve-favicon": "^2.1.5",
"sitemap": "^1.4.0",
- "socket.io": "^1.4.0",
+ "socket.io": "^1.4.8",
"socket.io-client": "^1.4.0",
"socket.io-redis": "^1.0.0",
"socketio-wildcard": "~0.3.0",
@@ -117,4 +117,4 @@
"url": "https://github.com/barisusakli"
}
]
-}
\ No newline at end of file
+}
diff --git a/public/language/ar/error.json b/public/language/ar/error.json
index 4717871d44..f1a81bf0c3 100644
--- a/public/language/ar/error.json
+++ b/public/language/ar/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/ar/global.json b/public/language/ar/global.json
index 75516c6d09..96356a3bce 100644
--- a/public/language/ar/global.json
+++ b/public/language/ar/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/bg/error.json b/public/language/bg/error.json
index 6a3ef24696..48d57a8dee 100644
--- a/public/language/bg/error.json
+++ b/public/language/bg/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "Можете да изтривате публикациите си до %1 час(а) и %2 минута/и, след като ги пуснете",
"post-delete-duration-expired-days": "Можете да изтривате публикациите си до %1 ден(а), след като ги пуснете",
"post-delete-duration-expired-days-hours": "Можете да изтривате публикациите си до %1 ден(а) и %2 час(а), след като ги пуснете",
+ "cant-delete-topic-has-reply": "Не можете да изтриете темата си, след като в нея вече има един отговор",
+ "cant-delete-topic-has-replies": "Не можете да изтриете темата си, след като в нея вече има %1 отговора",
"content-too-short": "Моля, въведете по-дълъг текст на публикацията. Публикациите трябва да съдържат поне %1 символ(а).",
"content-too-long": "Моля, въведете по-кратък текст на публикацията. Публикациите трябва да съдържат не повече от %1 символ(а).",
"title-too-short": "Моля, въведете по-дълго заглавие. Заглавията трябва да съдържат поне %1 символ(а).",
diff --git a/public/language/bg/global.json b/public/language/bg/global.json
index 8993ea3df3..189c8d3990 100644
--- a/public/language/bg/global.json
+++ b/public/language/bg/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Въведете номер на страница",
"upload_file": "Качване на файл",
"upload": "Качване",
- "allowed-file-types": "Разрешените файлови типове са: %1"
+ "allowed-file-types": "Разрешените файлови типове са: %1",
+ "unsaved-changes": "Имате незапазени промени. Наистина ли искате да напуснете тази страница?"
}
\ No newline at end of file
diff --git a/public/language/bn/error.json b/public/language/bn/error.json
index 6a07599afa..66e8758fcb 100644
--- a/public/language/bn/error.json
+++ b/public/language/bn/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/bn/global.json b/public/language/bn/global.json
index abc0e8cda4..bfde1d9003 100644
--- a/public/language/bn/global.json
+++ b/public/language/bn/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/cs/error.json b/public/language/cs/error.json
index 7162bf5ebd..1c27c9e522 100644
--- a/public/language/cs/error.json
+++ b/public/language/cs/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/cs/global.json b/public/language/cs/global.json
index 83860b52cc..d78d3797f4 100644
--- a/public/language/cs/global.json
+++ b/public/language/cs/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Zadejte číslo stránky",
"upload_file": "Nahrár soubor",
"upload": "Nahrát",
- "allowed-file-types": "Povolené typy souborů jsou %1"
+ "allowed-file-types": "Povolené typy souborů jsou %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/da/error.json b/public/language/da/error.json
index 78e2b469c3..9be724b215 100644
--- a/public/language/da/error.json
+++ b/public/language/da/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Venligst indtast et længere indlæg. Indlægget skal mindst indeholde %1 karakter(er).",
"content-too-long": "Venligt indtast et kortere indlæg. Indlæg kan ikke være længere end %1 karakter(er).",
"title-too-short": "Venligst indtast en længere titel. Titlen skal mindst indeholde %1 karakter(er).",
diff --git a/public/language/da/global.json b/public/language/da/global.json
index b918c4d51c..2eda261502 100644
--- a/public/language/da/global.json
+++ b/public/language/da/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Indsæt sideantal",
"upload_file": "Upload fil",
"upload": "Upload",
- "allowed-file-types": "Tilladte filtyper er %1"
+ "allowed-file-types": "Tilladte filtyper er %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/de/error.json b/public/language/de/error.json
index 544aead1c3..d10bf13c3e 100644
--- a/public/language/de/error.json
+++ b/public/language/de/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Bitte schreibe einen längeren Beitrag. Beiträge sollten mindestens %1 Zeichen enthalten.",
"content-too-long": "Bitte schreibe einen kürzeren Beitrag. Beiträge können nicht länger als %1 Zeichen sein.",
"title-too-short": "Bitte gebe einen längeren Titel ein. Ein Titel muss mindestens %1 Zeichen enthalten.",
diff --git a/public/language/de/global.json b/public/language/de/global.json
index cddeca336f..496c212943 100644
--- a/public/language/de/global.json
+++ b/public/language/de/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Seitennummer eingeben",
"upload_file": "Datei hochladen",
"upload": "Hochladen",
- "allowed-file-types": "Erlaubte Dateitypen sind %1"
+ "allowed-file-types": "Erlaubte Dateitypen sind %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/el/error.json b/public/language/el/error.json
index b7f9c621ed..32c609f78b 100644
--- a/public/language/el/error.json
+++ b/public/language/el/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/el/global.json b/public/language/el/global.json
index e8b8255a1a..32eacb6466 100644
--- a/public/language/el/global.json
+++ b/public/language/el/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/en@pirate/error.json b/public/language/en@pirate/error.json
index 6a614b6de4..2ec9878ee8 100644
--- a/public/language/en@pirate/error.json
+++ b/public/language/en@pirate/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/en@pirate/global.json b/public/language/en@pirate/global.json
index 1b78cd651b..6c86c89999 100644
--- a/public/language/en@pirate/global.json
+++ b/public/language/en@pirate/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/en_GB/error.json b/public/language/en_GB/error.json
index 319f5005b6..b6ddd1a2bb 100644
--- a/public/language/en_GB/error.json
+++ b/public/language/en_GB/error.json
@@ -153,5 +153,8 @@
"no-users-in-room": "No users in this room",
"cant-kick-self": "You can't kick yourself from the group",
"no-users-selected": "No user(s) selected",
- "invalid-home-page-route": "Invalid home page route"
+ "invalid-home-page-route": "Invalid home page route",
+
+ "invalid-session": "Session Mismatch",
+ "invalid-session-text": "It looks like your login session is no longer active, or no longer matches with the server. Please refresh this page."
}
diff --git a/public/language/en_GB/global.json b/public/language/en_GB/global.json
index 6641c28261..b8cadf0bc6 100644
--- a/public/language/en_GB/global.json
+++ b/public/language/en_GB/global.json
@@ -7,8 +7,10 @@
"403.login": "Perhaps you should try logging in?",
"404.title": "Not Found",
"404.message": "You seem to have stumbled upon a page that does not exist. Return to the home page.",
- "500.title": "Internal error.",
+ "500.title": "Internal Error.",
"500.message": "Oops! Looks like something went wrong!",
+ "400.title": "Bad Request.",
+ "400.message": "It looks like this link is malformed, please double-check and try again. Otherwise, return to the home page.",
"register": "Register",
"login": "Login",
diff --git a/public/language/en_US/error.json b/public/language/en_US/error.json
index 6a614b6de4..2ec9878ee8 100644
--- a/public/language/en_US/error.json
+++ b/public/language/en_US/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/en_US/global.json b/public/language/en_US/global.json
index 802a81d4bb..e7f511d90a 100644
--- a/public/language/en_US/global.json
+++ b/public/language/en_US/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/es/email.json b/public/language/es/email.json
index ddc0a47556..6bb5dd06f8 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": "Resumen de 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 0df59adbad..f49449598c 100644
--- a/public/language/es/error.json
+++ b/public/language/es/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "No puedes borrar mensajes hasta pasado %1 hora(s) y %2 minuto(s) después de haberlo escrito",
"post-delete-duration-expired-days": "No puedes borrar mensajes hasta pasado %1 día(s) después de haberlo escrito",
"post-delete-duration-expired-days-hours": "No puedes borrar mensajes hasta pasado %1 día(s) y %2 hora(s) después de haberlo escrito",
+ "cant-delete-topic-has-reply": "No puedes borrar tu tema después de que tenga respuestas",
+ "cant-delete-topic-has-replies": "No puedes borrar tu tema despues de que tenga ℅1 respuestas",
"content-too-short": "Por favor introduzca una publicación más larga. Las publicaciones deben contener al menos %1 caractere(s).",
"content-too-long": "Por favor introduzca un mensaje más corto. Los mensajes no pueden exceder los %1 caractere(s).",
"title-too-short": "Por favor introduzca un título más largo. Los títulos deben contener al menos %1 caractere(s).",
diff --git a/public/language/es/global.json b/public/language/es/global.json
index 79fd9c1a88..3cf4afbbae 100644
--- a/public/language/es/global.json
+++ b/public/language/es/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Escribe el número de página",
"upload_file": "Subir archivo",
"upload": "Subir",
- "allowed-file-types": "Los tipos de archivos permitidos son: %1"
+ "allowed-file-types": "Los tipos de archivos permitidos son: %1",
+ "unsaved-changes": "Tienes cambios sin guardar. Seguro que quieres salir?"
}
\ No newline at end of file
diff --git a/public/language/es/modules.json b/public/language/es/modules.json
index d47569a921..b2ce72e4ae 100644
--- a/public/language/es/modules.json
+++ b/public/language/es/modules.json
@@ -37,7 +37,7 @@
"composer.formatting.picture": "Foto",
"composer.upload-picture": "Subir foto",
"composer.upload-file": "Subir archivo",
- "composer.zen_mode": "Zen Mode",
+ "composer.zen_mode": "Modo Zen",
"bootbox.ok": "OK",
"bootbox.cancel": "Cancelar",
"bootbox.confirm": "Confirmar",
diff --git a/public/language/et/error.json b/public/language/et/error.json
index 48024ec16a..3aed5d7967 100644
--- a/public/language/et/error.json
+++ b/public/language/et/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Palun tehke pikem postitus. Postituse pikkus peab olema vähemalt %1 tähemärk(i).",
"content-too-long": "Palun tehke lühem postitus. Postituse pikkus peab olema vähem kui %1 tähemärk(i).",
"title-too-short": "Palun sisesta pikem pealkiri. Pealkirjad ei saa olla lühemad kui %1 tähemärk(i).",
diff --git a/public/language/et/global.json b/public/language/et/global.json
index 0735277f4d..3add6a941c 100644
--- a/public/language/et/global.json
+++ b/public/language/et/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Sisesta lehekülje number",
"upload_file": "Lae fail üles",
"upload": "Lae üles",
- "allowed-file-types": "Lubatud faili formaadid on %1"
+ "allowed-file-types": "Lubatud faili formaadid on %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/fa_IR/error.json b/public/language/fa_IR/error.json
index 965f4a00c2..6063b7cfd7 100644
--- a/public/language/fa_IR/error.json
+++ b/public/language/fa_IR/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "شما تنها می توانید %1 ساعت(ها) %2 دقیقه(ها) پس از فرستادن پست آن را پاک کنید",
"post-delete-duration-expired-days": "شما تنها می توانید %1 روز(ها) پس از فرستادن پست آن را پاک کنید",
"post-delete-duration-expired-days-hours": "شما تنها می توانید %1 روز(ها) %2 ساعت(ها) پس از فرستادن پست آن را پاک کنید",
+ "cant-delete-topic-has-reply": "اگر کسی به موضوع شما پاسخ داده باشد، نمیتوانید آنرا حذف نمائید",
+ "cant-delete-topic-has-replies": "اگر 1% به موضوع جواب داده شده باشد ، نمیتوانید آنرا حذف نمائید",
"content-too-short": "خواهشمندیم پست بلندتری بنویسید. پستها دستکم باید %1 کاراکتر داشته باشند.",
"content-too-long": "لطفا طول مطلب را کوتاه تر کنید. طول پست نمیتواند بیشتر از %1 کاراکتر باشد.",
"title-too-short": "لطفا یک عنوان بلندتر وارد کنید. عنوان باید حداقل %1 کاراکتر داشته باشد.",
diff --git a/public/language/fa_IR/global.json b/public/language/fa_IR/global.json
index 8888c6bc17..ce48647e40 100644
--- a/public/language/fa_IR/global.json
+++ b/public/language/fa_IR/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "شماره صفحه را وارد کنید",
"upload_file": "بارگذاری فایل",
"upload": "بارگذاری",
- "allowed-file-types": "فایل قابل قبول اینها هستند %1"
+ "allowed-file-types": "فایل قابل قبول اینها هستند %1",
+ "unsaved-changes": "تغییرات شما ذخیره نشده. شما مطمئن هستید که میخواهید از اینجا دور شوید؟"
}
\ No newline at end of file
diff --git a/public/language/fi/error.json b/public/language/fi/error.json
index 8862df7356..536a3854a8 100644
--- a/public/language/fi/error.json
+++ b/public/language/fi/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Ole hyvä ja syötä pidempi viesti. Sen pitäisi sisältää ainakin %1 merkki(ä).",
"content-too-long": "Ole hyvä ja syötä lyhyempi viesti. Sen voi sisältää vain %1 merkki(ä).",
"title-too-short": "Ole hyä ja syötä pidempi otsikko. Sen pitäisi sisältää anakin %1 merkki(ä).",
diff --git a/public/language/fi/global.json b/public/language/fi/global.json
index 1a9176b1be..8488b07bfe 100644
--- a/public/language/fi/global.json
+++ b/public/language/fi/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/fr/error.json b/public/language/fr/error.json
index 0a494e47ab..f240a77009 100644
--- a/public/language/fr/error.json
+++ b/public/language/fr/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "Vous ne pouvez supprimer un message que pendant %1 heure(s) et %2 minute(s) après l'avoir posté.",
"post-delete-duration-expired-days": "Vous ne pouvez supprimer un message que pendant %1 jour(s) après l'avoir posté.",
"post-delete-duration-expired-days-hours": "Vous ne pouvez supprimer un message que pendant %1 jour(s) et %2 heure(s) après l'avoir posté.",
+ "cant-delete-topic-has-reply": "Vous ne pouvez pas supprimer votre sujet s'il a au moins une réponse.",
+ "cant-delete-topic-has-replies": "Vous ne pouvez pas supprimer votre sujet s'il a au moins %1 réponses.",
"content-too-short": "Veuillez entrer un message plus long. %1 caractère(s) minimum.",
"content-too-long": "Veuillez poster un message plus cours. Les messages ne peuvent être plus long que %1 caractère(s).",
"title-too-short": "Veuillez entrer un titre plus long. %1 caractère(s) minimum.",
diff --git a/public/language/fr/global.json b/public/language/fr/global.json
index 36209bd2fb..10b70a2148 100644
--- a/public/language/fr/global.json
+++ b/public/language/fr/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Entrer un numéro de page",
"upload_file": "Envoyer un fichier",
"upload": "Envoyer",
- "allowed-file-types": "Les types de fichiers autorisés sont : %1"
+ "allowed-file-types": "Les types de fichiers autorisés sont : %1",
+ "unsaved-changes": "Vous avez des modifications non sauvegardées. Êtes-vous sûr de vouloir naviguer tout de même ?"
}
\ No newline at end of file
diff --git a/public/language/gl/category.json b/public/language/gl/category.json
index 1ff9bc2daf..eb12b9660e 100644
--- a/public/language/gl/category.json
+++ b/public/language/gl/category.json
@@ -14,7 +14,7 @@
"ignoring": "Ignorando",
"watching.description": "Amosa-los temas en \"non lidos\"",
"ignoring.description": "Non amosa-los temas en \"non lidos\"",
- "watch.message": "Agora vixías as novidades desta categoría",
+ "watch.message": "Agora Sigues as novidades desta categoría",
"ignore.message": "Agora ignoras as novidades nesta categoría",
"watched-categories": "Categorías vixiadas"
}
\ No newline at end of file
diff --git a/public/language/gl/error.json b/public/language/gl/error.json
index 76bdf60486..d7cf7fa7da 100644
--- a/public/language/gl/error.json
+++ b/public/language/gl/error.json
@@ -20,7 +20,7 @@
"email-taken": "Correo en uso",
"email-not-confirmed": "O teu correo aínda non está confirmado, por favor pica aquí para confirmalo.",
"email-not-confirmed-chat": "Non podes charlar ata que confirmes o teu correo, por favor pica aquí para confirmalo.",
- "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.",
+ "email-not-confirmed-email-sent": "O teu correo electrónico está sen confirmar. Por favor, busca o correo de confirmación na túa bandexa de entrada.",
"no-email-to-confirm": "Este foro require confirmación de correo, por favor pica aquí para introducir un correo.",
"email-confirm-failed": "Non podemos confirmar o teu correo, por favor téntao de novo máis tarde.",
"confirm-email-already-sent": "O correo de confirmación foi enviado, agarda %1 minute(s) para enviar outro.",
@@ -48,13 +48,15 @@
"post-edit-duration-expired-hours-minutes": "Só podes editar as publicacións %1 hora(s) %2 segundo(s) despois de envialas. ",
"post-edit-duration-expired-days": "Só podes editar as publicacións %1 día(s) despois de envialas. ",
"post-edit-duration-expired-days-hours": "Só podes editar as publicacións %1 día(s) %2 hora(s) despois de envialas. ",
- "post-delete-duration-expired": "You are only allowed to delete posts for %1 second(s) after posting",
- "post-delete-duration-expired-minutes": "You are only allowed to delete posts for %1 minute(s) after posting",
- "post-delete-duration-expired-minutes-seconds": "You are only allowed to delete posts for %1 minute(s) %2 second(s) after posting",
- "post-delete-duration-expired-hours": "You are only allowed to delete posts for %1 hour(s) after posting",
- "post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
- "post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
- "post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "post-delete-duration-expired": "Só podes borrar mensaxes %1 segundo(s) despois de escribilos.",
+ "post-delete-duration-expired-minutes": "Só podes borrar mensaxes %1 minuto(s) despois de escribilos.",
+ "post-delete-duration-expired-minutes-seconds": "Só podes borrar mensaxes %1 minuto(s) e 2% segundo(s) despois de escribilos.",
+ "post-delete-duration-expired-hours": "Só podes borrar mensaxes %1 hora(s) despois de escribilos.",
+ "post-delete-duration-expired-hours-minutes": "Só podes borrar mensaxes %1 hora(s) e %2 minuto(s) despois de escribilos.",
+ "post-delete-duration-expired-days": "Só podes borrar mensaxes %1 día(s) despois de escribilos.",
+ "post-delete-duration-expired-days-hours": "Só podes borrar mensaxes %1 día(s) e %2 hora(s) despois de escribilos.",
+ "cant-delete-topic-has-reply": "Non podes borrar o teu tema cando xa ten respostas",
+ "cant-delete-topic-has-replies": "Non podes borrar o teu tema cando xa ten %1 respostas",
"content-too-short": "Por favor, introduce unha publicación máis longa. Debe conter %1 carácter(es) como mínimo.",
"content-too-long": "Por favor, introduce unha publicación máis curta. As publicacións non poden conter máis de %1 carácter(es).",
"title-too-short": "Por favor, introduce un título máis longo. Os títulos deben conter %1 carácter(es) como mínimo.",
@@ -72,12 +74,12 @@
"already-unfavourited": "Xa desgardaras esta publicación.",
"cant-ban-other-admins": "Non podes botar outros administradores!",
"cant-remove-last-admin": "Eres o único administrador. Engade outros administradores antes de quitarte a ti mesmo como administrador.",
- "cant-delete-admin": "Remove administrator privileges from this account before attempting to delete it.",
+ "cant-delete-admin": "Retirar privilexios de administrador desta conta antes de intentar borrala",
"invalid-image-type": "Tipo de imaxe inválida. Tipos admitidos: %1",
"invalid-image-extension": "Extensión de imaxe inválida",
"invalid-file-type": "Tipo de arquivo inválido. Tipos admitidos: %1",
"group-name-too-short": "Nome de grupo moi curto",
- "group-name-too-long": "Group name too long",
+ "group-name-too-long": "Nome de grupo demasiado longo",
"group-already-exists": "O grupo xa existe",
"group-name-change-not-allowed": "Cambio de nome do grupo non permitido",
"group-already-member": "Xa eres parte deste grupo",
@@ -116,10 +118,10 @@
"wrong-login-type-email": "Por favor, emprega o teu correo para contectarte",
"wrong-login-type-username": "Por favor, usa o teu nome de usuario para conectarte",
"invite-maximum-met": "Convidaches á cantidade máxima de persoas (%1 de %2).",
- "no-session-found": "Non se atopa ningún inicio de sesión!",
- "not-in-room": "O usuario non se encontra nesta sala",
+ "no-session-found": "Non se atopou ningún inicio de sesión!",
+ "not-in-room": "O usuario non se atopa nesta sala",
"no-users-in-room": "Non hai usuarios nesta sala",
"cant-kick-self": "Non te podes expulsar a ti mesmo do grupo",
- "no-users-selected": "No user(s) selected",
- "invalid-home-page-route": "Invalid home page route"
+ "no-users-selected": "Ningún usuario seleccionado",
+ "invalid-home-page-route": "Ruta de páxina de inicio inválida"
}
\ No newline at end of file
diff --git a/public/language/gl/global.json b/public/language/gl/global.json
index 29b4471221..8d1301e078 100644
--- a/public/language/gl/global.json
+++ b/public/language/gl/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Escribe o número da páxina",
"upload_file": "Subir arquivo ",
"upload": "Subir",
- "allowed-file-types": "Os tipos de arquivos permitidos son: %1"
+ "allowed-file-types": "Os tipos de arquivos permitidos son: %1",
+ "unsaved-changes": "Non gardaches tódolos cambios. Queres continuar e saír da páxina?"
}
\ No newline at end of file
diff --git a/public/language/gl/login.json b/public/language/gl/login.json
index 12530c7699..8b885cbb78 100644
--- a/public/language/gl/login.json
+++ b/public/language/gl/login.json
@@ -8,5 +8,5 @@
"failed_login_attempt": "Erro ao iniciar sesión",
"login_successful": "Sesión iniciada con éxito!",
"dont_have_account": "Aínda non tes conta?",
- "logged-out-due-to-inactivity": "You have been logged out of the Admin Control Panel due to inactivity"
+ "logged-out-due-to-inactivity": "Debido a inactividade fuches desconectado do Panel de Control de Administradores"
}
\ No newline at end of file
diff --git a/public/language/gl/modules.json b/public/language/gl/modules.json
index 9bebb20db3..3cff4867cd 100644
--- a/public/language/gl/modules.json
+++ b/public/language/gl/modules.json
@@ -37,7 +37,7 @@
"composer.formatting.picture": "Foto",
"composer.upload-picture": "Subir foto",
"composer.upload-file": "Subir arquivo",
- "composer.zen_mode": "Zen Mode",
+ "composer.zen_mode": "Modo Zen",
"bootbox.ok": "De acordo",
"bootbox.cancel": "Cancelar",
"bootbox.confirm": "Confirmar",
diff --git a/public/language/gl/topic.json b/public/language/gl/topic.json
index ab5fe853c3..3097bfec5e 100644
--- a/public/language/gl/topic.json
+++ b/public/language/gl/topic.json
@@ -26,14 +26,14 @@
"tools": "Ferramentas",
"flag": "Reportar",
"locked": "Pechado",
- "pinned": "Pinned",
- "moved": "Moved",
+ "pinned": "Fixo",
+ "moved": "Movido",
"bookmark_instructions": "Pica aquí para volver á última mensaxe lida neste tema ",
"flag_title": "Reportar esta mensaxe",
"flag_success": "Esta mensaxe foi reportada para moderación.",
"deleted_message": "Este tema foi borrado. Só os usuarios con privilexios administrativos poden velo.",
"following_topic.message": "Agora recibirás notificacións cando alguén publique neste tema.",
- "not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.",
+ "not_following_topic.message": "Poderás ver este tema na lista de No Lidos, pero non recibirás notificacións cando alguén escriba nel.",
"ignoring_topic.message": "Xa non verás este fío na lista de fíos non lidos. Serás notificado cando sexas mencionado ou a túa publicación sexa votada.",
"login_to_subscribe": "Por favor, identifícate para subscribirte a este tema.",
"markAsUnreadForAll.success": "Publicación marcada como non lida para todos.",
@@ -42,10 +42,10 @@
"watch": "Vixiar",
"unwatch": "Deixar de vixiar",
"watch.title": "Serás notificado canto haxa novas respostas neste tema",
- "unwatch.title": "Deixar de vixiar este tema",
+ "unwatch.title": "Deixar de seguir este tema",
"share_this_post": "Compartir esta publicación",
- "watching": "Vendo",
- "not-watching": "Non Vendo",
+ "watching": "Seguindo",
+ "not-watching": "Non seguindo",
"ignoring": "Ignorar",
"watching.description": "Notificádeme das novas repostas.
Amosa-lo fío nos non lidos.",
"not-watching.description": "Non me notifiquedes as novas respostas.
Amosa-lo fío en non lidos se a categoría non está ignorada.",
@@ -86,7 +86,7 @@
"topic_will_be_moved_to": "Este tema será movido á categoría",
"fork_topic_instruction": "Fai clic nas publicacións que queiras dividir",
"fork_no_pids": "Non seleccionaches ninguna publicación!",
- "fork_pid_count": "%1 post(s) selected",
+ "fork_pid_count": "%1 mensaxe(s) seleccionada(s)",
"fork_success": "Creouse un novo tema a partir do orixinal! Fai clic aquí para ir ó novo tema.",
"delete_posts_instruction": "Fai clic nas mensaxes que queres eliminar/limpar",
"composer.title_placeholder": "Introduce o título do teu tema",
diff --git a/public/language/he/error.json b/public/language/he/error.json
index 7b00a4a288..52ee6b7549 100644
--- a/public/language/he/error.json
+++ b/public/language/he/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "אנא הכנס פוסט ארוך יותר. פוסטים חייבים להכיל לפחות %1 תווים.",
"content-too-long": "אנא הכנס פוסט קצר יותר. פוסטים חייבים להיות קצרים יותר מ-%1 תווים.",
"title-too-short": "אנא הכנס כותרת ארוכה יותר. כותרות חייבות להכיל לפחות %1 תווים.",
diff --git a/public/language/he/global.json b/public/language/he/global.json
index 2d1d55a783..6e76c19ea3 100644
--- a/public/language/he/global.json
+++ b/public/language/he/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "הכנס מספר עמוד",
"upload_file": "העלה קובץ",
"upload": "העלה",
- "allowed-file-types": "פורמטי הקבצים המורשים הם %1"
+ "allowed-file-types": "פורמטי הקבצים המורשים הם %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/hu/error.json b/public/language/hu/error.json
index ce999c9ead..1718b8f115 100644
--- a/public/language/hu/error.json
+++ b/public/language/hu/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/hu/global.json b/public/language/hu/global.json
index 116730ac61..b7f0edef28 100644
--- a/public/language/hu/global.json
+++ b/public/language/hu/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/id/error.json b/public/language/id/error.json
index 822698d462..cac1d43532 100644
--- a/public/language/id/error.json
+++ b/public/language/id/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/id/global.json b/public/language/id/global.json
index 8ef7a1d220..aac14e74d7 100644
--- a/public/language/id/global.json
+++ b/public/language/id/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/it/category.json b/public/language/it/category.json
index 27c6ff7e94..bb6aef06dd 100644
--- a/public/language/it/category.json
+++ b/public/language/it/category.json
@@ -10,10 +10,10 @@
"share_this_category": "Condividi questa Categoria",
"watch": "Osserva",
"ignore": "Ignora",
- "watching": "Watching",
- "ignoring": "Ignoring",
- "watching.description": "Show topics in unread",
- "ignoring.description": "Do not show topics in unread",
+ "watching": "Seguito",
+ "ignoring": "Ignorato",
+ "watching.description": "Mostra discussione in non letti",
+ "ignoring.description": "Non mostrare discussione in non letti",
"watch.message": "Non stai seguendo gli aggiornamenti di questa categoria",
"ignore.message": "Da ora saranno ignorati gli aggiornamenti di questa categoria",
"watched-categories": "Categorie osservate"
diff --git a/public/language/it/error.json b/public/language/it/error.json
index e2ff61bf88..23b0710512 100644
--- a/public/language/it/error.json
+++ b/public/language/it/error.json
@@ -14,13 +14,13 @@
"invalid-password": "Password non valida",
"invalid-username-or-password": "Si prega di specificare sia un nome utente che una password",
"invalid-search-term": "Termine di ricerca non valido",
- "csrf-invalid": "We were unable to log you in, likely due to an expired session. Please try again",
- "invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
+ "csrf-invalid": "Non siamo riusciti a farti connettere, probabilmente perché la sessione è scaduta. Per favore riprova.",
+ "invalid-pagination-value": "Valore di paginazione non valido, deve essere almeno %1 ed al massimo %2",
"username-taken": "Nome utente già preso",
"email-taken": "Email già esistente",
"email-not-confirmed": "La tua Email deve essere ancora confermata, per favore clicca qui per confermare la tua Email.",
"email-not-confirmed-chat": "Non potrai chattare finchè non avrai confermato la tua email, per favore clicca qui per farlo ora.",
- "email-not-confirmed-email-sent": "Your email has not been confirmed yet, please check your inbox for the confirmation email.",
+ "email-not-confirmed-email-sent": "La tua email non è ancora stata confermata, per favore controlla la tua casella di posta elettronica per l'email di conferma.",
"no-email-to-confirm": "Questo forum richiede la conferma dell'indirizzo email, per favore clicca qui per inserirne uno",
"email-confirm-failed": "Non possiamo confermare la tua email, per favore prova ancora più tardi.",
"confirm-email-already-sent": "Email di conferma già inviata, per favore attendere %1 minuti per richiederne un'altra.",
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Inserisci un testo più lungo. Il messaggio deve contenere almeno %1 caratteri.",
"content-too-long": "Inserisci un post più breve. I post non possono essere più lunghi di %1 caratteri.",
"title-too-short": "Inserisci un titolo più lungo. I titoli devono contenere almeno %1 caratteri.",
diff --git a/public/language/it/global.json b/public/language/it/global.json
index e63dceae07..b20daeef18 100644
--- a/public/language/it/global.json
+++ b/public/language/it/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/ja/error.json b/public/language/ja/error.json
index ba607d9c09..848d308257 100644
--- a/public/language/ja/error.json
+++ b/public/language/ja/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "より長く投稿を書いて下さい。投稿にはせめて%1文字が必要です。",
"content-too-long": "より短く投稿を書いて下さい。投稿が%1文字以上が許されません。",
"title-too-short": "より長くタイトルを書いて下さい。タイトルはせめて%1文字が必要です。",
diff --git a/public/language/ja/global.json b/public/language/ja/global.json
index 2d2ce15b92..1e89ac1a32 100644
--- a/public/language/ja/global.json
+++ b/public/language/ja/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/ko/error.json b/public/language/ko/error.json
index 1a0e568eb3..e4e3686ae8 100644
--- a/public/language/ko/error.json
+++ b/public/language/ko/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "게시물의 내용이 너무 짧습니다. 내용은 최소 %1자 이상이어야 합니다.",
"content-too-long": "게시물의 내용이 너무 깁니다. 내용은 최대 %1자 이내로 작성할 수 있습니다.",
"title-too-short": "제목이 너무 짧습니다. 제목은 최소 %1자 이상이어야 합니다.",
diff --git a/public/language/ko/global.json b/public/language/ko/global.json
index b8c38121d1..e404ac910a 100644
--- a/public/language/ko/global.json
+++ b/public/language/ko/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "페이지 번호를 입력하세요",
"upload_file": "파일 업로드",
"upload": "업로드",
- "allowed-file-types": "사용가능한 파일 유형: %1"
+ "allowed-file-types": "사용가능한 파일 유형: %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/lt/error.json b/public/language/lt/error.json
index a1c40b2542..33a845a2f3 100644
--- a/public/language/lt/error.json
+++ b/public/language/lt/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Prašome parašyti ilgesni pranešimą. Pranešimas turi sudaryti mažiausiai %1 simboli(us)",
"content-too-long": "Prašome parašyti trumpesnį pranešimą. Pranešimas negali sudaryti daugiau %1 simboli(us)",
"title-too-short": "Prašome įvesti ilgesni pavadinimą. Pavadinimas turi sudaryti mažiausiai %1 simboli(us)",
diff --git a/public/language/lt/global.json b/public/language/lt/global.json
index 3368f99fe2..3892b4ede8 100644
--- a/public/language/lt/global.json
+++ b/public/language/lt/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/ms/error.json b/public/language/ms/error.json
index d7b0fed05c..64e13cdc36 100644
--- a/public/language/ms/error.json
+++ b/public/language/ms/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Sila masukkan kiriman yang lebih panjang. Kiriman mesti mengandungi sekurang-kurangnya %1 aksara().",
"content-too-long": "Sila masukkan kiriman yang lebih ringkas. Kiriman mesti mengandungi tidak lebih %1 aksara().",
"title-too-short": "Sila masukkan tajuk yang lebih panjang. Tajuk mesti mengandungi sekurang-kurangnya %1 aksara().",
diff --git a/public/language/ms/global.json b/public/language/ms/global.json
index 20bfd41623..e226d5f93c 100644
--- a/public/language/ms/global.json
+++ b/public/language/ms/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/nb/error.json b/public/language/nb/error.json
index b2df20d45c..b9756632e9 100644
--- a/public/language/nb/error.json
+++ b/public/language/nb/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Vennligst skriv et lengre innlegg. Innlegg må inneholde minst %1 tegn.",
"content-too-long": "Vennligst skriv et kortere innlegg. Innlegg kan ikke være lengre enn %1 tegn.",
"title-too-short": "Vennligst skriv en lengre tittel. Titler må inneholde minst %1 tegn.",
diff --git a/public/language/nb/global.json b/public/language/nb/global.json
index 9f24bcd29e..1e8af5dc12 100644
--- a/public/language/nb/global.json
+++ b/public/language/nb/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/nl/error.json b/public/language/nl/error.json
index c22b6ec22c..541de4e1ea 100644
--- a/public/language/nl/error.json
+++ b/public/language/nl/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "Je kunt berichten pas %1 uur %2 minuten na het plaatsen verwijderen.",
"post-delete-duration-expired-days": "Je kunt berichten pas %1 dagen na het plaatsen verwijderen.",
"post-delete-duration-expired-days-hours": "Je kunt berichten pas %1 dag(en) %2 uur na het plaatsen verwijderen.",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Geef wat meer inhoud aan een bericht! Berichten dienen uit minimaal %1 teken(s) te bestaan.",
"content-too-long": "Kort het bericht wat in, het aantal gebruikte tekens overschrijdt het ingestelde limiet want berichten mogen niet meer dan %1 teken(s) bevatten.",
"title-too-short": "Geef een titel op die uit meer tekens bestaat. Titels dienen ten minste uit %1 teken(s) te bestaan.",
diff --git a/public/language/nl/global.json b/public/language/nl/global.json
index 95569088e6..c2cf89003a 100644
--- a/public/language/nl/global.json
+++ b/public/language/nl/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Voer paginanummer in",
"upload_file": "Upload bestand",
"upload": "Upload",
- "allowed-file-types": "Toegestane bestandstypen zijn %1"
+ "allowed-file-types": "Toegestane bestandstypen zijn %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/pl/error.json b/public/language/pl/error.json
index 0a887ccf89..c6618a2f59 100644
--- a/public/language/pl/error.json
+++ b/public/language/pl/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "Możesz kasować posty przez %1 godzin(-y) i %2 minut(-y) po napisaniu",
"post-delete-duration-expired-days": "Możesz kasować posty przez %1 dni po napisaniu",
"post-delete-duration-expired-days-hours": "Możesz kasować posty przez %1 dni i %2 godzin(-y) po napisaniu",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Prosimy wpisać dłuższy post. Posty powinny zawierać co najmniej %1 znaków.",
"content-too-long": "Prosimy wpisać krótszy post. Posty nie mogą zawierać więcej niż %1 znaków.",
"title-too-short": "Prosimy podać dłuższy tytuł. Tytuły powinny zawierać co najmniej %1 znaków.",
diff --git a/public/language/pl/global.json b/public/language/pl/global.json
index 946993295c..f3a25ee6b2 100644
--- a/public/language/pl/global.json
+++ b/public/language/pl/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Wpisz numer strony",
"upload_file": "Załaduj plik",
"upload": "Załaduj",
- "allowed-file-types": "Dozwolone typy plików %1"
+ "allowed-file-types": "Dozwolone typy plików %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/pt_BR/error.json b/public/language/pt_BR/error.json
index 64286e8352..780e0b5ec0 100644
--- a/public/language/pt_BR/error.json
+++ b/public/language/pt_BR/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "Você só pode deletar posts por %1 hora(s) e %2 minutos(s) depois de postar",
"post-delete-duration-expired-days": "Você só pode deletar posts por %1 dia(s) depois de postar",
"post-delete-duration-expired-days-hours": "Você só pode deletar posts por %1 dia(s) e %2 hora(s) depois de postar",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Por favor digite um post maior. Posts precisam conter ao menos %1 caractere(s).",
"content-too-long": "Por favor digite um post mais curto. Posts não podem ser maiores que %1 caractere(s)",
"title-too-short": "Por favor digite um título maior. Títulos devem conter no mínimo %1 caractere(s)",
diff --git a/public/language/pt_BR/global.json b/public/language/pt_BR/global.json
index 115d36e0b3..69c907a516 100644
--- a/public/language/pt_BR/global.json
+++ b/public/language/pt_BR/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Digite o número da página",
"upload_file": "Fazer upload de arquivo",
"upload": "Upload",
- "allowed-file-types": "Os tipos de arquivo permitidos são %1"
+ "allowed-file-types": "Os tipos de arquivo permitidos são %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/ro/error.json b/public/language/ro/error.json
index fdb92e303b..c0dc6a64a1 100644
--- a/public/language/ro/error.json
+++ b/public/language/ro/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/ro/global.json b/public/language/ro/global.json
index 3b8a7bed12..7d2f15e71c 100644
--- a/public/language/ro/global.json
+++ b/public/language/ro/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Introdu numărul paginei",
"upload_file": "Încărcați fișierul",
"upload": "Încărcați",
- "allowed-file-types": "Tipuri de fișiere permise sunt %1"
+ "allowed-file-types": "Tipuri de fișiere permise sunt %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/ru/error.json b/public/language/ru/error.json
index a0e7ea3108..ba5f39bd70 100644
--- a/public/language/ru/error.json
+++ b/public/language/ru/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Слишком короткое сообщение. Минимум символов: %1.",
"content-too-long": "Слишком длинное сообщение. Максимум символов: %1.",
"title-too-short": "Слишком короткое сообщение. Минимум символов: %1.",
diff --git a/public/language/ru/global.json b/public/language/ru/global.json
index 291cc69983..d5ed6dc2b9 100644
--- a/public/language/ru/global.json
+++ b/public/language/ru/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Введите номер страницы",
"upload_file": "Загрузить файл",
"upload": "Загрузить",
- "allowed-file-types": "Разрешенные форматы файлов %1"
+ "allowed-file-types": "Разрешенные форматы файлов %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/rw/error.json b/public/language/rw/error.json
index 07e0a50743..3a24f2dd50 100644
--- a/public/language/rw/error.json
+++ b/public/language/rw/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Gerageza ushyireho ikintu kirekireho. Icyo ushyiraho kigomba kuba kigizwe nibura n'inyuguti (cyangwa ibimenyetso) zigera kuri %1.",
"content-too-long": "Gerageza ushyireho ibintu bigufiyaho. Icyo ushyiraho kigomba kuba kigizwe n'inyuguti (cyangwa ibimenyetso) zirenga %1. ",
"title-too-short": "Gerageza ushyireho umutwe muremureho. Umutwe ugomba kuba ugizwe n'inyuguti (cyangwa ibimenyetso) zigera kuri %1. ",
diff --git a/public/language/rw/global.json b/public/language/rw/global.json
index cc17af95c4..1f82d7cdfd 100644
--- a/public/language/rw/global.json
+++ b/public/language/rw/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Shyiramo nimero ya paji",
"upload_file": "Pakira ifayilo",
"upload": "Pakira",
- "allowed-file-types": "Ubwoko bw'amafayilo bwemewe ni %1"
+ "allowed-file-types": "Ubwoko bw'amafayilo bwemewe ni %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/sc/error.json b/public/language/sc/error.json
index 6a614b6de4..2ec9878ee8 100644
--- a/public/language/sc/error.json
+++ b/public/language/sc/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/sc/global.json b/public/language/sc/global.json
index 61ba71763c..9f7f952155 100644
--- a/public/language/sc/global.json
+++ b/public/language/sc/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/sk/error.json b/public/language/sk/error.json
index d5116a21d9..9788c91cbe 100644
--- a/public/language/sk/error.json
+++ b/public/language/sk/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/sk/global.json b/public/language/sk/global.json
index 5772ec7ef2..14cc91fb07 100644
--- a/public/language/sk/global.json
+++ b/public/language/sk/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/sl/error.json b/public/language/sl/error.json
index 709870ec9c..d9a7b503af 100644
--- a/public/language/sl/error.json
+++ b/public/language/sl/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Prosimo napišite daljšo objavo. Objave morajo vsebovati vsaj %1 znak(ov).",
"content-too-long": "Prosimo napišite krajšo objavo. Objave ne smejo vsebovati več kot %1 znak(ov).",
"title-too-short": "Prosimo vnesite daljši naslov. Naslovi morajo vsebovati vsaj %1 znak(ov).",
diff --git a/public/language/sl/global.json b/public/language/sl/global.json
index 5dd5474601..911fb6a7ff 100644
--- a/public/language/sl/global.json
+++ b/public/language/sl/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/sr/error.json b/public/language/sr/error.json
index 05241438be..d32aa4364b 100644
--- a/public/language/sr/error.json
+++ b/public/language/sr/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/sr/global.json b/public/language/sr/global.json
index 556cdb029f..97e71581ea 100644
--- a/public/language/sr/global.json
+++ b/public/language/sr/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/sv/error.json b/public/language/sv/error.json
index 172f78e6cd..aecff9870f 100644
--- a/public/language/sv/error.json
+++ b/public/language/sv/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "Du kan endast radera inlägg inom %1 timmar(er) %2 minut(er) efter att ha skickat det",
"post-delete-duration-expired-days": "Du kan endast radera inlägg inom %1 dag(ar) efter att ha skickat det",
"post-delete-duration-expired-days-hours": "Du kan endast radera inlägg inom %1 dag(ar) %2 timm(ar) efter att ha skickat det",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Skriv ett längre inlägg. Inlägg måste innehålla minst %1 tecken.",
"content-too-long": "Skriv ett kortare inlägg. Inlägg kan inte innehålla mer än %1 tecken.",
"title-too-short": "Skriv en längre rubrik. Rubriker måste innehålla minst %1 tecken.",
diff --git a/public/language/sv/global.json b/public/language/sv/global.json
index c175e75cd7..5c1b98522e 100644
--- a/public/language/sv/global.json
+++ b/public/language/sv/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Skriv in sidnummer",
"upload_file": "Ladda upp en fil",
"upload": "Ladda upp",
- "allowed-file-types": "Tillåtna filtyper är %1"
+ "allowed-file-types": "Tillåtna filtyper är %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/th/error.json b/public/language/th/error.json
index 27373e3aa5..45d5070642 100644
--- a/public/language/th/error.json
+++ b/public/language/th/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
diff --git a/public/language/th/global.json b/public/language/th/global.json
index b280237529..eb81fb4ba5 100644
--- a/public/language/th/global.json
+++ b/public/language/th/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
- "allowed-file-types": "Allowed file types are %1"
+ "allowed-file-types": "Allowed file types are %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/tr/error.json b/public/language/tr/error.json
index 48811f7373..5e8619faf2 100644
--- a/public/language/tr/error.json
+++ b/public/language/tr/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "Gönderildikten %1 saat(s) %2 dakika(s) sonra iletini silmene izin verilir.",
"post-delete-duration-expired-days": "Gönderildikten %1 gün(s) sonra iletini silmene izin verilir.",
"post-delete-duration-expired-days-hours": "Gönderildikten %1 gün(s) %2 saat(s) sonra iletini silmene izin verilir.",
+ "cant-delete-topic-has-reply": "Bir ileti varken başlığı silemezsiniz",
+ "cant-delete-topic-has-replies": "Başlığına %1 ileti girildikten sonra silemezsin",
"content-too-short": "Lütfen daha uzun bir ileti girin. En az %1 karakter.",
"content-too-long": "Lütfen daha kısa bir ileti girin. İletiler %1 karakterden uzun olamaz.",
"title-too-short": "Lütfen daha uzun bir başlık girin. Başlıklar en az %1 karakter içermelidir.",
diff --git a/public/language/tr/global.json b/public/language/tr/global.json
index 0e5c44add6..9e3c328dae 100644
--- a/public/language/tr/global.json
+++ b/public/language/tr/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Sayfa numarasını girin",
"upload_file": "Dosya yükle",
"upload": "Yükle",
- "allowed-file-types": "İzin verilen dosya tipleri %1"
+ "allowed-file-types": "İzin verilen dosya tipleri %1",
+ "unsaved-changes": "Kaydedilmemiş değişiklikler var. Çıkmak istediğinize emin misiniz?"
}
\ No newline at end of file
diff --git a/public/language/tr/login.json b/public/language/tr/login.json
index 9bf22ba985..5db8629859 100644
--- a/public/language/tr/login.json
+++ b/public/language/tr/login.json
@@ -8,5 +8,5 @@
"failed_login_attempt": "Giriş Başarısız",
"login_successful": "Başarıyla giriş yaptınız!",
"dont_have_account": "Hesabınız yok mu?",
- "logged-out-due-to-inactivity": "You have been logged out of the Admin Control Panel due to inactivity"
+ "logged-out-due-to-inactivity": "Hareketsizlik nedeniyle yönetici panelinden çıkış yapıldı"
}
\ No newline at end of file
diff --git a/public/language/vi/error.json b/public/language/vi/error.json
index 6af283b8de..54f4e7d5c2 100644
--- a/public/language/vi/error.json
+++ b/public/language/vi/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "Bạn chỉ được phép xóa bài viết sau khi đăng %1 giờ(s) 2 phút(s)",
"post-delete-duration-expired-days": "Bạn chỉ được phép xóa các bài viết sau khi đăng %1 ngày(s)",
"post-delete-duration-expired-days-hours": "Bạn chỉ được phép xóa các bài viết sau khi đăng %1 ngày(s) %2 giờ(s)",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "Vui lòng nhập một bài viết dài hơn. Bài viết phải có tối thiểu %1 ký tự.",
"content-too-long": "Vui lòng nhập một bài viết ngắn hơn. Bài viết chỉ có thể có tối đa %1 ký tự.",
"title-too-short": "Vui lòng nhập tiêu đề dài hơn. Tiêu đề phải có tối thiểu %1 ký tự.",
diff --git a/public/language/vi/global.json b/public/language/vi/global.json
index 6928ecfefa..2cbb1536c8 100644
--- a/public/language/vi/global.json
+++ b/public/language/vi/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "Nhập vào số trang",
"upload_file": "Tải file lên",
"upload": "Tải lên",
- "allowed-file-types": "Các định dạng file được cho phép là %1"
+ "allowed-file-types": "Các định dạng file được cho phép là %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/zh_CN/error.json b/public/language/zh_CN/error.json
index aa496cca6f..5788c57c59 100644
--- a/public/language/zh_CN/error.json
+++ b/public/language/zh_CN/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "您只能在发表 %1 小时 %2 分钟后删除帖子",
"post-delete-duration-expired-days": "您只能在发表 %1 天后删除帖子",
"post-delete-duration-expired-days-hours": "您只能在发表 %1 天 %2 小时后删除帖子",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "请增添发帖内容,不能少于 %1 个字符。",
"content-too-long": "请删减发帖内容,不能超过 %1 个字符。",
"title-too-short": "请增加标题,不能少于 %1 个字符。",
diff --git a/public/language/zh_CN/global.json b/public/language/zh_CN/global.json
index ca3c5d43f2..4be989cb9f 100644
--- a/public/language/zh_CN/global.json
+++ b/public/language/zh_CN/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "输入页码",
"upload_file": "上传文件",
"upload": "上传",
- "allowed-file-types": "允许的文件类型有 %1"
+ "allowed-file-types": "允许的文件类型有 %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/language/zh_TW/error.json b/public/language/zh_TW/error.json
index 3c9a9849e6..3beacd4374 100644
--- a/public/language/zh_TW/error.json
+++ b/public/language/zh_TW/error.json
@@ -55,6 +55,8 @@
"post-delete-duration-expired-hours-minutes": "You are only allowed to delete posts for %1 hour(s) %2 minute(s) after posting",
"post-delete-duration-expired-days": "You are only allowed to delete posts for %1 day(s) after posting",
"post-delete-duration-expired-days-hours": "You are only allowed to delete posts for %1 day(s) %2 hour(s) after posting",
+ "cant-delete-topic-has-reply": "You can't delete your topic after it has a reply",
+ "cant-delete-topic-has-replies": "You can't delete your topic after it has %1 replies",
"content-too-short": "請輸入一個長一點的張貼內容。張貼內容長度不能少於 %1 字元。",
"content-too-long": "請輸入一個短一點的張貼內容。張貼內容長度不能超過 %1 字元。",
"title-too-short": "請輸入一個長一點的標題。標題長度不能少於 %1 字元。",
diff --git a/public/language/zh_TW/global.json b/public/language/zh_TW/global.json
index 4533cbfc62..d530c0ace1 100644
--- a/public/language/zh_TW/global.json
+++ b/public/language/zh_TW/global.json
@@ -92,5 +92,6 @@
"enter_page_number": "輸入頁碼",
"upload_file": "上傳檔案",
"upload": "上傳",
- "allowed-file-types": "允許的檔案類型是 %1"
+ "allowed-file-types": "允許的檔案類型是 %1",
+ "unsaved-changes": "You have unsaved changes. Are you sure you wish to navigate away?"
}
\ No newline at end of file
diff --git a/public/less/generics.less b/public/less/generics.less
index bca1b45649..d2be83d01e 100644
--- a/public/less/generics.less
+++ b/public/less/generics.less
@@ -94,6 +94,12 @@
.user-icon-style(24px, 1.5rem);
}
+ &.avatar-md {
+ width: 32px;
+ height: 32px;
+ .user-icon-style(32px, 1.5rem);
+ }
+
&.avatar-lg {
width: 128px;
height: 128px;
diff --git a/public/src/admin/admin.js b/public/src/admin/admin.js
index a90967c2e0..add13c30cc 100644
--- a/public/src/admin/admin.js
+++ b/public/src/admin/admin.js
@@ -82,7 +82,7 @@
socket.emit('admin.restart');
});
- mousetrap.bind('/', function(e) {
+ mousetrap.bind('/', function(event) {
$('#acp-search input').focus();
return false;
diff --git a/public/src/admin/advanced/errors.js b/public/src/admin/advanced/errors.js
index 52d6427240..3977778b5a 100644
--- a/public/src/admin/advanced/errors.js
+++ b/public/src/admin/advanced/errors.js
@@ -14,6 +14,10 @@ define('admin/advanced/errors', ['Chart'], function(Chart) {
bootbox.confirm('Are you sure you wish to clear the 404 error logs?', function(ok) {
if (ok) {
socket.emit('admin.errors.clear', {}, function(err) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+
ajaxify.refresh();
app.alertSuccess('"404 Not Found" errors cleared');
});
diff --git a/public/src/admin/advanced/events.js b/public/src/admin/advanced/events.js
index 9075947d60..a952666786 100644
--- a/public/src/admin/advanced/events.js
+++ b/public/src/admin/advanced/events.js
@@ -1,8 +1,9 @@
"use strict";
-/* global define, socket, app, templates */
+
+/* global define, socket, app */
-define('admin/advanced/events', ['forum/infinitescroll'], function(infinitescroll) {
+define('admin/advanced/events', function() {
var Events = {};
Events.init = function() {
@@ -16,25 +17,6 @@ define('admin/advanced/events', ['forum/infinitescroll'], function(infinitescrol
});
});
- infinitescroll.init(function(direction) {
- if (direction < 0 || !$('.events').length) {
- return;
- }
-
- infinitescroll.loadMore('admin.getMoreEvents', $('[data-next]').attr('data-next'), function(data, done) {
- if (data.events && data.events.length) {
- templates.parse('admin/advanced/events', 'events', {events: data.events}, function(html) {
- $('.events-list').append(html);
- done();
- });
-
- $('[data-next]').attr('data-next', data.next);
- } else {
- done();
- }
- });
- });
-
};
return Events;
diff --git a/public/src/admin/advanced/logs.js b/public/src/admin/advanced/logs.js
index ea0503d8a6..8411effabc 100644
--- a/public/src/admin/advanced/logs.js
+++ b/public/src/admin/advanced/logs.js
@@ -10,7 +10,7 @@ define('admin/advanced/logs', function() {
// Affix menu
$('.affix').affix();
- $('.logs').find('button[data-action]').on('click', function(e) {
+ $('.logs').find('button[data-action]').on('click', function(event) {
var btnEl = $(this),
action = btnEl.attr('data-action');
diff --git a/public/src/admin/appearance/customise.js b/public/src/admin/appearance/customise.js
index a85fd663ad..e76bb9d3e4 100644
--- a/public/src/admin/appearance/customise.js
+++ b/public/src/admin/appearance/customise.js
@@ -15,7 +15,7 @@ define('admin/appearance/customise', ['admin/settings'], function(Settings) {
customCSS.setTheme("ace/theme/twilight");
customCSS.getSession().setMode("ace/mode/css");
- customCSS.on('change', function(e) {
+ customCSS.on('change', function(event) {
app.flags = app.flags || {};
app.flags._unsaved = true;
$('#customCSS-holder').val(customCSS.getValue());
@@ -24,7 +24,7 @@ define('admin/appearance/customise', ['admin/settings'], function(Settings) {
customHTML.setTheme("ace/theme/twilight");
customHTML.getSession().setMode("ace/mode/html");
- customHTML.on('change', function(e) {
+ customHTML.on('change', function(event) {
app.flags = app.flags || {};
app.flags._unsaved = true;
$('#customHTML-holder').val(customHTML.getValue());
diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js
index b4e8767184..eccb94f527 100644
--- a/public/src/admin/extend/plugins.js
+++ b/public/src/admin/extend/plugins.js
@@ -20,6 +20,9 @@ define('admin/extend/plugins', function() {
pluginID = pluginEl.attr('data-plugin-id');
var btn = $('#' + pluginID + ' [data-action="toggleActive"]');
socket.emit('admin.plugins.toggleActive', pluginID, function(err, status) {
+ if (err) {
+ return app.alertError(err);
+ }
btn.html(' ' + (status.active ? 'Deactivate' : 'Activate'));
btn.toggleClass('btn-warning', status.active).toggleClass('btn-success', !status.active);
diff --git a/public/src/admin/general/dashboard.js b/public/src/admin/general/dashboard.js
index 1224d2ace2..f32cb2d839 100644
--- a/public/src/admin/general/dashboard.js
+++ b/public/src/admin/general/dashboard.js
@@ -306,6 +306,9 @@ define('admin/general/dashboard', ['semver', 'Chart'], function(semver, Chart) {
units: units || 'hours',
until: until
}, function (err, data) {
+ if (err) {
+ return app.alertError(err.message);
+ }
if (JSON.stringify(graphData.traffic) === JSON.stringify(data)) {
return;
}
diff --git a/public/src/admin/manage/groups.js b/public/src/admin/manage/groups.js
index 8c68837403..3eee1ca08c 100644
--- a/public/src/admin/manage/groups.js
+++ b/public/src/admin/manage/groups.js
@@ -95,6 +95,10 @@ define('admin/manage/groups', [
sort: 'date'
}
}, function(err, groups) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+
templates.parse('admin/manage/groups', 'groups', {
groups: groups
}, function(html) {
diff --git a/public/src/admin/manage/ip-blacklist.js b/public/src/admin/manage/ip-blacklist.js
index 9769b3e3bb..949d8ac8fd 100644
--- a/public/src/admin/manage/ip-blacklist.js
+++ b/public/src/admin/manage/ip-blacklist.js
@@ -29,6 +29,10 @@ define('admin/manage/ip-blacklist', [], function() {
socket.emit('blacklist.validate', {
rules: blacklist.val()
}, function(err, data) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+
templates.parse('admin/partials/blacklist-validate', data, function(html) {
bootbox.alert(html);
});
diff --git a/public/src/admin/manage/tags.js b/public/src/admin/manage/tags.js
index 01f755612b..9fda81eccb 100644
--- a/public/src/admin/manage/tags.js
+++ b/public/src/admin/manage/tags.js
@@ -1,5 +1,5 @@
"use strict";
-/*global define, socket, app, utils, bootbox*/
+/*global define, socket, app, utils, bootbox, ajaxify*/
define('admin/manage/tags', [
'forum/infinitescroll',
@@ -12,11 +12,47 @@ define('admin/manage/tags', [
Tags.init = function() {
selectable.enable('.tag-management', '.tag-row');
+ handleCreate();
handleSearch();
handleModify();
handleDeleteSelected();
};
+ function handleCreate() {
+ var createModal = $('#create-modal');
+ var createTagName = $('#create-tag-name');
+ var createModalGo = $('#create-modal-go');
+
+ createModal.on('keypress', function(e) {
+ if (e.keyCode === 13) {
+ createModalGo.click();
+ }
+ });
+
+ $('#create').on('click', function() {
+ createModal.modal('show');
+ setTimeout(function() {
+ createTagName.focus();
+ }, 250);
+ });
+
+ createModalGo.on('click', function() {
+ socket.emit('admin.tags.create', {
+ tag: createTagName.val()
+ }, function(err) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+
+ createTagName.val('');
+ createModal.on('hidden.bs.modal', function() {
+ ajaxify.refresh();
+ });
+ createModal.modal('hide');
+ });
+ });
+ }
+
function handleSearch() {
$('#tag-search').on('input propertychange', function() {
if (timeoutId) {
diff --git a/public/src/admin/settings/email.js b/public/src/admin/settings/email.js
index a63546f0ba..e6015b3b32 100644
--- a/public/src/admin/settings/email.js
+++ b/public/src/admin/settings/email.js
@@ -29,7 +29,7 @@ define('admin/settings/email', ['admin/settings'], function(settings) {
emailEditor.setTheme("ace/theme/twilight");
emailEditor.getSession().setMode("ace/mode/html");
- emailEditor.on('change', function(e) {
+ emailEditor.on('change', function(event) {
$('#email-editor-holder').val(emailEditor.getValue());
});
@@ -58,4 +58,4 @@ define('admin/settings/email', ['admin/settings'], function(settings) {
}
return module;
-});
\ No newline at end of file
+});
diff --git a/public/src/app.js b/public/src/app.js
index a913517363..66257e7980 100644
--- a/public/src/app.js
+++ b/public/src/app.js
@@ -40,7 +40,7 @@ app.cacheBuster = null;
components.get('user/logout').on('click', app.logout);
});
- Visibility.change(function(e, state){
+ Visibility.change(function(event, state){
if (state === 'visible') {
app.isFocused = true;
app.alternatingTitle('');
@@ -117,6 +117,10 @@ app.cacheBuster = null;
};
app.alertError = function (message, timeout) {
+ if (message === '[[error:invalid-session]]') {
+ return app.handleInvalidSession();
+ }
+
app.alert({
title: '[[global:alert.error]]',
message: message,
@@ -125,6 +129,28 @@ app.cacheBuster = null;
});
};
+ app.handleInvalidSession = function() {
+ if (app.flags && app.flags._sessionRefresh) {
+ return;
+ }
+
+ app.flags = app.flags || {};
+ app.flags._sessionRefresh = true;
+
+ require(['translator'], function(translator) {
+ translator.translate('[[error:invalid-session-text]]', function(translated) {
+ bootbox.alert({
+ title: '[[error:invalid-session]]',
+ message: translated,
+ closeButton: false,
+ callback: function() {
+ window.location.reload();
+ }
+ });
+ });
+ });
+ };
+
app.enterRoom = function (room, callback) {
callback = callback || function() {};
if (socket && app.user.uid && app.currentRoom !== room) {
@@ -261,7 +287,8 @@ app.cacheBuster = null;
});
};
- app.newChat = function (touid) {
+ app.newChat = function (touid, callback) {
+ callback = callback || function() {};
if (!app.user.uid) {
return app.alertError('[[error:not-logged-in]]');
}
@@ -270,11 +297,14 @@ app.cacheBuster = null;
if (err) {
return app.alertError(err.message);
}
+
if (!ajaxify.currentPage.startsWith('chats')) {
app.openChat(roomId);
} else {
ajaxify.go('chats/' + roomId);
}
+
+ callback(false, roomId);
});
};
@@ -409,7 +439,9 @@ app.cacheBuster = null;
$('#search-form').on('submit', function () {
var input = $(this).find('input');
require(['search'], function(search) {
- search.query({term: input.val()}, function() {
+ var data = search.getSearchPreferences();
+ data.term = input.val();
+ search.query(data, function() {
input.val('');
});
});
diff --git a/public/src/client/category.js b/public/src/client/category.js
index 98d0063b4b..af0d26b980 100644
--- a/public/src/client/category.js
+++ b/public/src/client/category.js
@@ -91,6 +91,10 @@ define('forum/category', [
Category.toBottom = function() {
socket.emit('categories.getTopicCount', ajaxify.data.cid, function(err, count) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+
navigator.scrollBottom(count - 1);
});
};
diff --git a/public/src/client/categoryTools.js b/public/src/client/categoryTools.js
index 348ff684f8..970ab29d4a 100644
--- a/public/src/client/categoryTools.js
+++ b/public/src/client/categoryTools.js
@@ -87,6 +87,10 @@ define('forum/categoryTools', ['forum/topic/move', 'topicSelect', 'components',
components.get('topic/move-all').on('click', function() {
move.init(null, cid, function(err) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+
ajaxify.refresh();
});
});
diff --git a/public/src/client/groups/details.js b/public/src/client/groups/details.js
index c95120ef77..f71b37886e 100644
--- a/public/src/client/groups/details.js
+++ b/public/src/client/groups/details.js
@@ -230,7 +230,7 @@ define('forum/groups/details', [
if (ajaxify.data.group.isOwner) {
var searchInput = $('[component="groups/members/invite"]');
require(['autocomplete'], function(autocomplete) {
- autocomplete.user(searchInput, function(e, selected) {
+ autocomplete.user(searchInput, function(event, selected) {
socket.emit('groups.issueInvite', {
toUid: selected.item.user.uid,
groupName: ajaxify.data.group.name
@@ -259,4 +259,4 @@ define('forum/groups/details', [
}
return Details;
-});
\ No newline at end of file
+});
diff --git a/public/src/client/search.js b/public/src/client/search.js
index 6ca5b8dc41..bf07ad70b6 100644
--- a/public/src/client/search.js
+++ b/public/src/client/search.js
@@ -1,6 +1,6 @@
'use strict';
-/* globals app, define, utils, socket*/
+/* globals app, define, utils*/
define('forum/search', ['search', 'autocomplete'], function(searchModule, autocomplete) {
var Search = {};
@@ -67,7 +67,7 @@ define('forum/search', ['search', 'autocomplete'], function(searchModule, autoco
function fillOutForm() {
var params = utils.params();
- var searchData = getSearchPreferences();
+ var searchData = searchModule.getSearchPreferences();
params = utils.merge(searchData, params);
if (params) {
@@ -156,14 +156,6 @@ define('forum/search', ['search', 'autocomplete'], function(searchModule, autoco
});
}
- function getSearchPreferences() {
- try {
- return JSON.parse(localStorage.getItem('search-preferences'));
- } catch(e) {
- return {};
- }
- }
-
function enableAutoComplete() {
autocomplete.user($('#posted-by-user'));
}
diff --git a/public/src/client/topic.js b/public/src/client/topic.js
index aff00909d1..dcff9d3fe1 100644
--- a/public/src/client/topic.js
+++ b/public/src/client/topic.js
@@ -127,6 +127,9 @@ define('forum/topic', [
Topic.toBottom = function() {
socket.emit('topics.postcount', ajaxify.data.tid, function(err, postCount) {
+ if (err) {
+ return app.alertError(err.message);
+ }
if (config.topicPostSort !== 'oldest_to_newest') {
postCount = 2;
}
@@ -198,7 +201,8 @@ define('forum/topic', [
var toPost = $('[component="post"][data-pid="' + toPid + '"]');
if (toPost.length) {
e.preventDefault();
- return navigator.scrollToPost(toPost.attr('data-index'), true);
+ navigator.scrollToPost(toPost.attr('data-index'), true);
+ return false;
}
});
}
diff --git a/public/src/client/users.js b/public/src/client/users.js
index fe083a13e2..40f221e33f 100644
--- a/public/src/client/users.js
+++ b/public/src/client/users.js
@@ -47,6 +47,10 @@ define('forum/users', ['translator'], function(translator) {
set: set,
after: after
}, function(err, data) {
+ if (err) {
+ return app.alertError(err.message);
+ }
+
if (data && data.users.length) {
onUsersLoaded(data);
$('#load-more-users-btn').removeClass('disabled');
diff --git a/public/src/modules/chat.js b/public/src/modules/chat.js
index f2ff94bd55..445b4212e4 100644
--- a/public/src/modules/chat.js
+++ b/public/src/modules/chat.js
@@ -26,6 +26,15 @@ define('chat', [
module.loadChatsDropdown(chatsListEl);
});
+ chatsListEl.on('click', '[data-roomid]', function() {
+ var roomId = this.getAttribute('data-roomid');
+ if (!ajaxify.currentPage.match(/^chats\//)) {
+ app.openChat(roomId);
+ } else {
+ ajaxify.go('chats/' + roomId);
+ }
+ });
+
$('[component="chats/mark-all-read"]').on('click', function() {
socket.emit('modules.chats.markAllRead', function(err) {
if (err) {
@@ -106,44 +115,11 @@ define('chat', [
chatsListEl.empty();
- if (!rooms.length) {
- translator.translate('[[modules:chat.no_active]]', function(str) {
- $('
[[global:400.message, {config.relative_path}]]
+{events.jsonString}
+
diff --git a/src/views/admin/manage/registration.tpl b/src/views/admin/manage/registration.tpl
index f751eca74d..5944219794 100644
--- a/src/views/admin/manage/registration.tpl
+++ b/src/views/admin/manage/registration.tpl
@@ -42,6 +42,15 @@
{users.ip}
+
+