Compare commits

..

193 Commits

Author SHA1 Message Date
Misty (Bot)
8d48455b04 chore: incrementing version number - v1.15.0-rc.0 2020-10-21 21:19:57 +00:00
Barış Soner Uşaklı
db63f5e3f0 fix: #8781 2020-10-21 16:30:14 -04:00
Julian Lam
177a961000 feat: new filter filter:teasers.configureStripTags 2020-10-21 14:04:52 -04:00
Baris Usakli
1a4c0decb7 fix: reset button loading html 2020-10-21 13:05:46 -04:00
Julian Lam
d68ffea80d feat: send 'Vary' header when ACAO header set 2020-10-21 10:34:38 -04:00
Misty (Bot)
c31cab3457 Latest translations and fallbacks 2020-10-21 09:10:48 +00:00
Misty (Bot)
3964872289 chore: update changelog for v1.15.0-beta.30 2020-10-21 01:10:28 +00:00
Misty (Bot)
2dd3c9622f chore: incrementing version number - v1.15.0-beta.30 2020-10-21 01:10:28 +00:00
Barış Soner Uşaklı
e6440c0d21 fix: #8779, fix move all
add new language keys
2020-10-20 20:53:45 -04:00
Barış Soner Uşaklı
1f43e98f8b fix: allow admins adding users to global moderators
add new test
2020-10-20 18:43:45 -04:00
Barış Soner Uşaklı
bbafa1b82a Revert "fix: [breaking] send configured config URL as origin if not custom"
This reverts commit 205a10308e.
2020-10-20 18:38:50 -04:00
Julian Lam
a691be5952 fix: incorrect logic for post history editable bool 2020-10-20 16:09:40 -04:00
Julian Lam
205a10308e fix: [breaking] send configured config URL as origin if not custom
This is a breaking change if your install uses multiple URLs to access. You will need to update the Access-Control-Allow-Origin header in ACP > Advanced > Headers to supply all URLs you use to access your site
2020-10-20 15:25:20 -04:00
Barış Soner Uşaklı
7a019494e8 feat: add filter.topics.getPostReplies 2020-10-20 12:00:56 -04:00
Julian Lam
7a8f704900 fix: #8776 some users unable to restore old versions via history 2020-10-20 10:40:23 -04:00
Misty (Bot)
df1cfc4caf Latest translations and fallbacks 2020-10-20 09:09:22 +00:00
Barış Soner Uşaklı
75024c3580 refactor: remove console.log, extra require 2020-10-20 00:29:44 -04:00
Barış Soner Uşaklı
b26e9b5993 fix: #8595, dont save escaped data when renaming groups 2020-10-20 00:24:34 -04:00
Barış Soner Uşaklı
ea31f50554 refactor: show more lines of stack trace 2020-10-19 22:43:18 -04:00
Barış Soner Uşaklı
3ee4936db6 fix: keep sortBy while searching 2020-10-19 22:16:34 -04:00
Barış Soner Uşaklı
85cfe49d65 fix: autocomplete.user on search page 2020-10-19 21:58:56 -04:00
Barış Soner Uşaklı
cf474ab246 fix: spec 2020-10-19 19:11:50 -04:00
Barış Soner Uşaklı
7bddec93ec fix: sortby 2020-10-19 18:56:39 -04:00
Misty (Bot)
1b50e1a062 Latest translations and fallbacks 2020-10-19 09:10:05 +00:00
Barış Soner Uşaklı
b3619d3d47 fix: #8774 2020-10-18 16:54:42 -04:00
Julian Lam
ff4fcc23b6 Update bundled logos with new branding (#8702)
* feat: updating logo assets, square logos missing still

* fix: squared logo for touch icon and notification fallback

* fix: update link to favicon

* feat: add default touch icon sizes, if one isn't uploaded

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
2020-10-18 01:41:04 -04:00
Barış Soner Uşaklı
c107649b40 fix: #8732 2020-10-18 01:33:03 -04:00
Barış Soner Uşaklı
e362c342a3 fix: #8630, sort extra deps 2020-10-17 23:56:42 -04:00
Barış Soner Uşaklı
d9a16855d0 refactor: posts api 2020-10-17 22:59:12 -04:00
Barış Soner Uşaklı
272e73da53 refactor: post restore/delete/purge 2020-10-17 21:24:33 -04:00
renovate[bot]
4bfd008781 chore(deps): update dependency lint-staged to v10.4.2 (#8773)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-17 20:24:02 -04:00
Barış Soner Uşaklı
9738e20207 refactor: merge post.edit
fix: dont fadeout/fadeint if title/post didnt change
2020-10-17 15:07:04 -04:00
renovate[bot]
bb85c059de chore(deps): update dependency eslint to v7.11.0 (#8747)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-17 01:19:22 -04:00
renovate[bot]
08a240fa8e chore(deps): update dependency lint-staged to v10.4.1 (#8771)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-17 01:03:52 -04:00
renovate[bot]
a471b1afb3 chore(deps): update dependency mocha to v8.2.0 (#8772)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-16 23:49:41 -04:00
Barış Soner Uşaklı
2279e37261 refactor: deprecate socket.emit('users.search') use api route 2020-10-16 23:30:22 -04:00
Barış Soner Uşaklı
083c74e059 refactor: api categories 2020-10-16 22:41:38 -04:00
Barış Soner Uşaklı
e78c498e84 fix: missing doTopicAction, fix wrong api params 2020-10-16 21:36:59 -04:00
Barış Soner Uşaklı
bc880ee0ca refactor: remove sockets.reqFromSocket 2020-10-16 21:05:00 -04:00
Barış Soner Uşaklı
8fd3c04480 fix: test 2020-10-16 20:36:24 -04:00
Barış Soner Uşaklı
9d81660e24 Revert "Revert "fix: appropriate 404 handling for write API calls""
This reverts commit 135c2d6c7d.
2020-10-16 20:21:52 -04:00
Barış Soner Uşaklı
135c2d6c7d Revert "fix: appropriate 404 handling for write API calls"
This reverts commit b6cce75d97.
2020-10-16 20:21:32 -04:00
Julian Lam
9ee3cb9b62 refactor: topic follow/ignore to use api lib 2020-10-16 12:30:14 -04:00
Julian Lam
68d6818bca refactor: topic tools' actions to use api lib 2020-10-16 12:02:51 -04:00
Julian Lam
21974a77f8 feat: topic reply to use api lib (also + missing file) 2020-10-16 11:01:18 -04:00
Julian Lam
40598b368e refactor: topic creation to use api lib 2020-10-16 11:01:18 -04:00
Julian Lam
b6cce75d97 fix: appropriate 404 handling for write API calls 2020-10-16 11:01:18 -04:00
Julian Lam
ede9435f0e feat: send 401 for invalid-uid 2020-10-16 11:01:18 -04:00
Misty (Bot)
854d61a257 Latest translations and fallbacks 2020-10-16 09:08:42 +00:00
Barış Soner Uşaklı
c913900ed6 feat: async/await admin/search 2020-10-16 00:05:55 -04:00
Barış Soner Uşaklı
2927509af3 feat: ignore test folder 2020-10-15 23:28:12 -04:00
Barış Soner Uşaklı
bf480ee58b refactor: setupApiRoute signature 2020-10-15 23:12:19 -04:00
Barış Soner Uşaklı
688d7a2cc2 refactor: remove unused middleware 2020-10-15 22:50:23 -04:00
Barış Soner Uşaklı
b2ff1594b8 fix: redis hget
'node_redis: The HGET command contains a invalid argument type.\n' +
'Only strings, dates and buffers are accepted. Please update your code to use valid argument types.'
2020-10-15 22:25:56 -04:00
Julian Lam
e98285dbbb fix: reimplementing isPrivilegedOrSelfAndPasswordMatch 2020-10-15 21:45:57 -04:00
Barış Soner Uşaklı
84a179f48c Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 20:51:55 -04:00
Julian Lam
3f347baadb fix: socket user bans 2020-10-15 20:31:25 -04:00
Julian Lam
14f9d8b0e5 feat: send back 403 on no-privileges error 2020-10-15 20:23:19 -04:00
Julian Lam
222b4c9533 fix: broken tests from api change 2020-10-15 19:33:20 -04:00
Julian Lam
2d252f2fa4 refactor: user bans to use api lib 2020-10-15 19:05:31 -04:00
Barış Soner Uşaklı
7d86be2bc2 fix: tests 2020-10-15 17:51:04 -04:00
Barış Soner Uşaklı
48a9b5d66e update logo 2020-10-15 17:31:03 -04:00
Barış Soner Uşaklı
e367c5403e refactor: move groups.leave, fix some tests 2020-10-15 17:29:38 -04:00
Barış Soner Uşaklı
bbbd9fee85 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 17:12:26 -04:00
Julian Lam
960e925e40 refactor: change password/user follow to use api lib 2020-10-15 17:09:39 -04:00
Barış Soner Uşaklı
081c4fa6d4 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 16:55:59 -04:00
Julian Lam
430e7f5834 refactor: user deletion to use api lib 2020-10-15 16:49:06 -04:00
Barış Soner Uşaklı
8ae1f81cf4 feat: refactor groups.delete 2020-10-15 16:36:53 -04:00
Julian Lam
77481947f0 refactor: socket profile update to use api lib 2020-10-15 16:22:40 -04:00
Julian Lam
31ae8a8323 refactor: socket profile update to use api lib 2020-10-15 16:21:54 -04:00
Barış Soner Uşaklı
d69e503d21 feat: move groups.join to api 2020-10-15 16:13:19 -04:00
Barış Soner Uşaklı
eed8deda61 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 16:07:39 -04:00
Barış Soner Uşaklı
51a60d3d46 fix: handler for group.join 2020-10-15 16:07:25 -04:00
Julian Lam
d07f0081b7 fix: add missing file 2020-10-15 15:52:07 -04:00
Julian Lam
23086daead refactor: user create and profile update to use api lib 2020-10-15 15:50:30 -04:00
Barış Soner Uşaklı
5e2caf19f5 refactor: use single function for api code 2020-10-15 12:12:01 -04:00
Barış Soner Uşaklı
25e4a09816 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-15 11:10:07 -04:00
Barış Soner Uşaklı
4418ff0716 fix: #8768 2020-10-15 11:09:57 -04:00
Julian Lam
cc6e995ee2 fix: api bug where user profile editing continued even if not allowed 2020-10-15 10:23:57 -04:00
Barış Soner Uşaklı
205e46647c Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-14 23:39:19 -04:00
Barış Soner Uşaklı
43afe7ffab refactor: async/await src/user/approval 2020-10-14 23:38:16 -04:00
renovate[bot]
3b88545b03 fix(deps): update dependency benchpressjs to v2.0.8 (#8767)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-14 23:37:44 -04:00
Barış Soner Uşaklı
bae0f343e1 fix: module build 2020-10-14 23:32:30 -04:00
Barış Soner Uşaklı
3881ac309f refactor: async/await install/web.js 2020-10-14 23:20:45 -04:00
Barış Soner Uşaklı
1fd2eba6f2 refactor: async/await
src/cli/manage.js
src/meta/build.js
src/meta/css.js
src/meta/js.js
2020-10-14 22:49:39 -04:00
Barış Soner Uşaklı
b295d15eae fix: tests 2020-10-14 20:02:32 -04:00
Barış Soner Uşaklı
d89477cad0 refactor: use app.render 2020-10-14 19:18:07 -04:00
renovate[bot]
42aed15b96 fix(deps): update dependency sharp to v0.26.2 (#8765)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-14 18:57:17 -04:00
Julian Lam
9dd3cc0483 feat: allow plugins to define api routes
via new plugin hook static:api.routes
2020-10-14 17:44:27 -04:00
Julian Lam
a4ba23899e feat: require https if nodebb is configured with https url 2020-10-14 14:28:04 -04:00
Julian Lam
20bb9c7ec8 fix: csrf token only on non-GET routes 2020-10-14 14:02:03 -04:00
Barış Soner Uşaklı
3326d80c11 feat: add nyc config 2020-10-14 12:27:17 -04:00
Barış Soner Uşaklı
3673accdb8 refactor: api module
only return promise if callback is undefined
dont append baseUrl if url already starts with api
correctly handle writeapi readapi response for data/error
remove unused onError
dont append empty ? to url for get routes
2020-10-14 11:05:50 -04:00
Julian Lam
a784d10fff refactor: api module returns promise, error-first cb if cb passed in
no more separate onSuccess onError callbacks

/cc @baris
2020-10-14 10:02:02 -04:00
Misty (Bot)
d52992de1b Latest translations and fallbacks 2020-10-14 09:09:02 +00:00
Barış Soner Uşaklı
4b9444f1a5 fix: avatar selector 2020-10-14 00:12:09 -04:00
Barış Soner Uşaklı
e6ea71c95a fix: test 2020-10-13 23:40:04 -04:00
Barış Soner Uşaklı
8c6a559188 fix: timestamp 2020-10-13 23:29:19 -04:00
Barış Soner Uşaklı
331d236f6e fix: #8763 2020-10-13 23:19:07 -04:00
Barış Soner Uşaklı
a481024d27 fix: lastonline again 2020-10-13 23:02:49 -04:00
Barış Soner Uşaklı
71d82ec8e0 fix: caret 2020-10-13 22:59:52 -04:00
Barış Soner Uşaklı
b6d5888334 Merge branch 'admin/users' 2020-10-13 22:58:04 -04:00
Barış Soner Uşaklı
97628e2ff2 fix: lastonline values 2020-10-13 22:57:18 -04:00
renovate[bot]
25c447df05 fix(deps): update dependency nodebb-rewards-essentials to v0.1.4 (#8764)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-13 22:46:47 -04:00
Barış Soner Uşaklı
872bacf1c4 Admin/users (#8762)
* feat: wip admin/users

* feat: more work

* feat: more fixes

* feat: #8662, verified/unverified user groups

* feat: add filter

* feat: change user search to use filters array

* refactor: remove unused search call

* fix: tests

* fix: cant join system groups

* fix: upgrade script
2020-10-13 22:42:50 -04:00
Barış Soner Uşaklı
1289c10568 fix: upgrade script 2020-10-13 22:12:28 -04:00
Barış Soner Uşaklı
59bbede8c7 fix: cant join system groups 2020-10-13 22:08:09 -04:00
Barış Soner Uşaklı
a411df1321 fix: tests 2020-10-13 21:04:07 -04:00
Barış Soner Uşaklı
dd7424e5b5 refactor: remove unused search call 2020-10-13 20:44:07 -04:00
Barış Soner Uşaklı
2d6ea6e505 Merge branch 'master' into admin/users 2020-10-13 20:43:48 -04:00
Barış Soner Uşaklı
a2edb86dfb feat: change user search to use filters array 2020-10-13 20:37:38 -04:00
Barış Soner Uşaklı
959314c921 feat: add filter 2020-10-13 17:07:26 -04:00
Julian Lam
bfaeb27c11 Merge branch 'write-api-csrf' 2020-10-13 17:01:51 -04:00
Julian Lam
1e07886f30 feat: require csrf token if not using bearer token 2020-10-13 16:58:44 -04:00
psychobunny
0e0f1506d2 fix: update server param to /api/v3 2020-10-13 15:06:42 -04:00
Barış Soner Uşaklı
933989e013 Merge branch 'master' into admin/users 2020-10-13 14:56:06 -04:00
Barış Soner Uşaklı
682e926c6b feat: #8662, verified/unverified user groups 2020-10-13 14:55:56 -04:00
psychobunny
c68653d035 fix: typo 2020-10-13 14:43:20 -04:00
psychobunny
7aa4d104af fix: testing openapi write tests 2020-10-13 14:43:20 -04:00
psychobunny
16873800a6 fix(openapi): users.yaml 2020-10-13 14:00:54 -04:00
psychobunny
7b2301ff9c fix: enable tests 2020-10-13 13:10:49 -04:00
psychobunny
54e6003a7c fix: test fix for write API
need to rewrite users.yaml to fix properly
2020-10-13 13:07:54 -04:00
Renovate Bot
dcf7235466 fix(deps): update dependency nodebb-theme-persona to v10.2.60 2020-10-13 12:11:22 -04:00
Julian Lam
30b3fedca4 fix: password reset to invalidate all existing reset tokens for that uid 2020-10-13 11:48:32 -04:00
Barış Soner Uşaklı
700e1e4340 feat: more fixes 2020-10-13 01:49:12 -04:00
Barış Soner Uşaklı
40a05b70ef feat: more work 2020-10-13 01:29:21 -04:00
Barış Soner Uşaklı
b038ac07d8 feat: wip admin/users 2020-10-13 00:29:38 -04:00
Barış Soner Uşaklı
ba2e1c4c7e fix: show more lines 2020-10-12 20:42:08 -04:00
Barış Soner Uşaklı
7beaf49028 feat: set unread false for guests 2020-10-12 15:16:58 -04:00
renovate[bot]
411fa8bc84 fix(deps): update dependency nodebb-plugin-mentions to v2.13.0 (#8758)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-12 14:42:55 -04:00
Barış Soner Uşaklı
01265d08f3 feat: add stack to deprecate message 2020-10-12 14:33:21 -04:00
Barış Soner Uşaklı
30d6a2b84e fix: #8756, pass missing req to mock 2020-10-12 14:29:25 -04:00
Barış Soner Uşaklı
1ee9384875 fix: #8757, allow all slashes in category route 2020-10-12 14:18:59 -04:00
Misty (Bot)
0a4fd50aac Latest translations and fallbacks 2020-10-12 09:09:31 +00:00
Barış Soner Uşaklı
d76229c061 feat: add checkbox tests 2020-10-12 00:18:34 -04:00
Barış Soner Uşaklı
e92d4719cc feat: add test for serialize/deserialize form 2020-10-12 00:04:20 -04:00
Barış Soner Uşaklı
7db224f689 fix: timeago test for dev/prod 2020-10-11 22:40:28 -04:00
Barış Soner Uşaklı
cecdd2915e fix: timeago test 2020-10-11 22:39:37 -04:00
Barış Soner Uşaklı
ae5fb103ca feat: disable write api tests until fixed 2020-10-11 22:28:07 -04:00
Barış Soner Uşaklı
dc29f4dca2 refactor: switch to using slugify module 2020-10-11 21:49:37 -04:00
Barış Soner Uşaklı
bddfcb5867 feat: #8734, add slugify module, deprecate utils.slugify 2020-10-11 21:25:31 -04:00
Barış Soner Uşaklı
f16c8268cf feat: #8734, move bootstrap-tagsinput to package.json 2020-10-11 19:52:01 -04:00
Barış Soner Uşaklı
eab7489ec5 feat: #8734, move deserialize/serialize to package.json 2020-10-11 19:28:46 -04:00
renovate[bot]
cd34bfb1ed fix(deps): update dependency nodebb-theme-persona to v10.2.59 (#8755)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-11 17:26:57 -04:00
Barış Soner Uşaklı
948f26143c feat: #5964, #8734 remove colorpicker 2020-10-11 16:05:52 -04:00
Barış Soner Uşaklı
c954db84e4 refactor: require style 2020-10-11 10:14:02 -04:00
Barış Soner Uşaklı
931d44b5e2 fix: undefined api require, @julianlam 2020-10-11 10:13:51 -04:00
renovate[bot]
a77ba71e05 fix(deps): update dependency nodebb-theme-persona to v10.2.58 (#8754)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-11 00:40:13 -04:00
Barış Soner Uşaklı
e2d407b769 fix: watch tooltip 2020-10-11 00:38:18 -04:00
Barış Soner Uşaklı
aedd28e0a6 fix: module name 2020-10-10 23:45:58 -04:00
Barış Soner Uşaklı
8f436eb881 fix: pin sortablejs 2020-10-10 23:41:51 -04:00
Barış Soner Uşaklı
3bbb4e269d Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-10 23:35:02 -04:00
Barış Soner Uşaklı
c721625a95 feat: #8734 remove unused files 2020-10-10 23:34:56 -04:00
Barış Soner Uşaklı
cc705e5e2b feat: #8734, move sortable to package.json 2020-10-10 23:24:13 -04:00
renovate[bot]
0399ffaf5f fix(deps): update dependency nodebb-plugin-composer-default to v6.4.4 (#8752)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-10 23:09:58 -04:00
renovate[bot]
f8e2324ce7 fix(deps): update dependency benchpressjs to v2.0.7 (#8733)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-10 23:07:58 -04:00
Barış Soner Uşaklı
75c9668656 fix: admin jquerui requires 2020-10-10 23:01:32 -04:00
Barış Soner Uşaklı
8c019a6a3b fix: timeago locale switch 2020-10-10 22:26:48 -04:00
Barış Soner Uşaklı
300a87559f feat: #8734, move bootbox to package.json 2020-10-10 22:15:34 -04:00
Barış Soner Uşaklı
420a312982 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-10 21:55:03 -04:00
Barış Soner Uşaklı
3b231360d3 feat: load jquery-form before using 2020-10-10 21:54:32 -04:00
Barış Soner Uşaklı
fda2aedfd8 feat: #8734, jquery-ui, jquery-form, timeago (#8748)
* feat: #8734, jquery-ui, jquery-form, timeago

get rid of forum/footer.js move that code to app.js & wait for app to load before calling ajaxify.end
make sockets.js a requirejs module
move jquery-ui to node_modules and load via requirejs
move jquery-form to node_modules and load via requirejs
move timeago to node_modules and load via requirejs
only include the css for needed jquery-ui widgets

* feat: keep socket/io global for backwards compat

* refactor: move socket listener to chat
2020-10-10 21:47:27 -04:00
renovate[bot]
666064bf46 fix(deps): update dependency nodebb-plugin-composer-default to v6.4.3 (#8750)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-10 21:46:42 -04:00
Misty (Bot)
ea830871c2 Latest translations and fallbacks 2020-10-10 09:06:14 +00:00
renovate[bot]
1c94220b45 fix(deps): update dependency nodebb-theme-persona to v10.2.57 (#8749)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-10 00:56:55 -04:00
Julian Lam
87e3f26fe4 feat(openapi): schema validation for write api definitions file 2020-10-09 16:38:43 -04:00
Renovate Bot
414fe19c6e fix(deps): update dependency nodebb-theme-persona to v10.2.56 2020-10-09 15:51:46 -04:00
Renovate Bot
1bc99411b5 fix(deps): update dependency nodebb-theme-slick to v1.2.39 2020-10-09 15:50:11 -04:00
Barış Soner Uşaklı
59311a63a0 feat: remove unused textcomplete file 2020-10-09 14:49:59 -04:00
Julian Lam
944a7e0e28 fix(deps): bump vanilla/persona 2020-10-09 14:25:40 -04:00
Barış Soner Uşaklı
ae3a231fce feat: #8734, remove semver.browser
use compare-versions as a module
2020-10-09 14:10:38 -04:00
renovate[bot]
43df4b8e15 fix(deps): update dependency nodebb-theme-lavender to v5.0.14 (#8739)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:57:09 -04:00
renovate[bot]
ba62ebb620 fix(deps): update dependency socket.io-client to v2.3.1 (#8700)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:56:39 -04:00
psychobunny
9a5b8a798a fix: category RSS feed was displaying deleted topics 2020-10-09 12:54:02 -04:00
renovate[bot]
45aceb26a5 fix(deps): update dependency nodebb-theme-slick to v1.2.37 (#8741)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:33:35 -04:00
renovate[bot]
0c7af5029b fix(deps): update dependency nodebb-theme-vanilla to v11.2.21 (#8740)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:26:30 -04:00
renovate[bot]
4207dde4c2 fix(deps): update dependency nodebb-theme-persona to v10.2.54 (#8736)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 12:22:27 -04:00
Barış Soner Uşaklı
1531536d46 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-09 12:20:24 -04:00
Barış Soner Uşaklı
2c1897b373 feat: #8734, move slideout to package.json 2020-10-09 12:20:09 -04:00
psychobunny
dbb4cfe9d6 style(openapi): break write API routes into individual files 2020-10-09 12:16:25 -04:00
psychobunny
ffac3c7902 style(openapi): move schemas and responses out of write.yaml 2020-10-09 12:16:25 -04:00
Barış Soner Uşaklı
9c157de05d feat: #8734, move tinycon to package.json 2020-10-09 12:01:51 -04:00
Barış Soner Uşaklı
45e8a4d588 fix: #8734 make nprogress module 2020-10-09 11:48:52 -04:00
Barış Soner Uşaklı
43589a744d feat: #8734, move visibilityjs to package.json 2020-10-09 11:35:52 -04:00
Julian Lam
8af30a51b5 fix: regression caused by 7545951725
/cc @psychobunny
2020-10-09 10:58:42 -04:00
Barış Soner Uşaklı
a46cbb623d feat: #8734, move nprogress to package.json 2020-10-09 10:53:07 -04:00
Barış Soner Uşaklı
e02c57d963 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2020-10-09 10:42:22 -04:00
Barış Soner Uşaklı
aa08f8826c feat: #8734 move r.js to package.json 2020-10-09 10:40:46 -04:00
renovate[bot]
70c085ba5d fix(deps): update dependency nodebb-theme-persona to v10.2.52 (#8735)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-09 10:22:26 -04:00
Misty (Bot)
d5d05e17af Latest translations and fallbacks 2020-10-09 09:11:15 +00:00
Barış Soner Uşaklı
12c8b1c2bc fix: dont allow adding duplicates to privileges page
hightlight uid/group if it is added again from autocomplete
2020-10-08 18:32:36 -04:00
Barış Soner Uşaklı
f259063f08 fix: #8728, dont add admins to table 2020-10-08 18:08:04 -04:00
cryptoethic
b3ed26ac2c feat: revoke user sessions above threshold (#8731)
* feat: revoke user sessions above threshold

* fix: removed translations from en-US

* fix: defined default maxUserSessions in install\data\defaults.json
2020-10-08 17:33:18 -04:00
680 changed files with 5792 additions and 14013 deletions

View File

@@ -1,3 +1,265 @@
#### v1.15.0-beta.30 (2020-10-21)
##### Chores
* incrementing version number - v1.15.0-beta.30 (2dd3c962)
* some optimizations for codeclimate (4a63c20a)
* update changelog for v1.15.0-beta.29 (63696c40)
* **deps:**
* update dependency lint-staged to v10.4.2 (#8773) (4bfd0087)
* update dependency eslint to v7.11.0 (#8747) (bb85c059)
* update dependency lint-staged to v10.4.1 (#8771) (08a240fa)
* update dependency mocha to v8.2.0 (#8772) (a471b1af)
* **writeapi:** cleanup (f6782471)
##### New Features
* add filter.topics.getPostReplies (7a019494)
* topic reply to use api lib (also + missing file) (21974a77)
* send 401 for invalid-uid (ede9435f)
* async/await admin/search (c913900e)
* ignore test folder (2927509a)
* send back 403 on no-privileges error (14f9d8b0)
* refactor groups.delete (8ae1f81c)
* move groups.join to api (d69e503d)
* allow plugins to define api routes (9dd3cc04)
* require https if nodebb is configured with https url (a4ba2389)
* add nyc config (3326d80c)
* change user search to use filters array (a2edb86d)
* add filter (959314c9)
* require csrf token if not using bearer token (1e07886f)
* #8662, verified/unverified user groups (682e926c)
* more fixes (700e1e43)
* more work (40a05b70)
* wip admin/users (b038ac07)
* set unread false for guests (7beaf490)
* add stack to deprecate message (01265d08)
* add checkbox tests (d76229c0)
* add test for serialize/deserialize form (e92d4719)
* disable write api tests until fixed (ae5fb103)
* #8734, add slugify module, deprecate utils.slugify (bddfcb58)
* #8734, move bootstrap-tagsinput to package.json (f16c8268)
* #8734, move deserialize/serialize to package.json (eab7489e)
* #5964, #8734 remove colorpicker (948f2614)
* #8734 remove unused files (c721625a)
* #8734, move sortable to package.json (cc705e5e)
* #8734, move bootbox to package.json (300a8755)
* load jquery-form before using (3b231360)
* #8734, jquery-ui, jquery-form, timeago (#8748) (fda2aedf)
* remove unused textcomplete file (59311a63)
* #8734, remove semver.browser (ae3a231f)
* #8734, move slideout to package.json (2c1897b3)
* #8734, move tinycon to package.json (9c157de0)
* #8734, move visibilityjs to package.json (43589a74)
* #8734, move nprogress to package.json (a46cbb62)
* #8734 move r.js to package.json (aa08f882)
* revoke user sessions above threshold (#8731) (b3ed26ac)
* filter:settings.get plugin hook (c7d15dfa)
* topic delete/restore/purge/(un)pin/(un)lock (da25ce4d)
* add new api page to ACP menu (5fc7e7bf)
* management of API tokens via ACP (49652e6f)
* added DELETE /api/v1/categories/:cid route (3072de48)
* added PUT /api/v1/categories/:cid route (e942ad81)
* added POST /api/v1/categories route (dc666fd8)
* added PUT/DELETE /api/v1/users/:uid/ban routes (a5af2dc8)
* added POST and DELETE /api/v1/users/:uid/follow routes (b5bbcbae)
* added PUT /api/v1/users/:uid/password route (7aed174e)
* added DELETE /api/v1/users/:uid and DELETE /api/v1/users (a1ddc210)
* added openapi.yaml file for BEST documentation (91b79f17)
* added checkRequired middleware for API calls (7b6d43bc)
* migrating write-api skeleton into core (ec5c48b1)
* remove post/header selector (1542a5d7)
* **openapi:** schema validation for write api definitions file (87e3f26f)
* **writeapi:**
* commented-out stub code for file upload (cfee431c)
* file deletion route (f870721f)
* admin settings update route (a55b3817)
* token generation/delete routes, ACP updates (2ec838fc)
* post bookmarking (0973feea)
* post voting (9942c248)
* post delete/restore/purge (414169fd)
* post editing (f66c2fb6)
* topic tags (1605e5e4)
* topic follow/ignore (9be56294)
* adding missing files (6096f74a)
* topic posting and replying (4c833d0b)
* added DELETE /groups/:slug/membership/:uid route (40dc1c38)
* added group joining and deletion (952dc211)
* abstracted ajax calls out to new api module (d044c322)
* added POST /api/v1/groups (ba345e53)
##### Bug Fixes
* #8779, fix move all (e6440c0d)
* allow admins adding users to global moderators (1f43e98f)
* incorrect logic for post history editable bool (a691be59)
* [breaking] send configured config URL as origin if not custom (205a1030)
* #8776 some users unable to restore old versions via history (7a8f7049)
* #8595, dont save escaped data when renaming groups (b26e9b59)
* keep sortBy while searching (3ee4936d)
* autocomplete.user on search page (85cfe49d)
* spec (cf474ab2)
* sortby (7bddec93)
* #8774 (b3619d3d)
* #8732 (c107649b)
* #8630, sort extra deps (e362c342)
* missing doTopicAction, fix wrong api params (e78c498e)
* test (8fd3c044)
* appropriate 404 handling for write API calls (b6cce75d)
* redis hget (b2ff1594)
* reimplementing isPrivilegedOrSelfAndPasswordMatch (e98285db)
* socket user bans (3f347baa)
* broken tests from api change (222b4c95)
* tests (7d86be2b)
* handler for group.join (51a60d3d)
* add missing file (d07f0081)
* #8768 (4418ff07)
* api bug where user profile editing continued even if not allowed (cc6e995e)
* module build (bae0f343)
* tests (b295d15e)
* csrf token only on non-GET routes (20bb9c7e)
* avatar selector (4b9444f1)
* test (e6ea71c9)
* timestamp (8c6a5591)
* #8763 (331d236f)
* lastonline again (a481024d)
* caret (71d82ec8)
* lastonline values (97628e2f)
* upgrade script (1289c105)
* cant join system groups (59bbede8)
* tests (a411df13)
* update server param to /api/v3 (0e0f1506)
* typo (c68653d0)
* testing openapi write tests (7aa4d104)
* enable tests (7b2301ff)
* test fix for write API (54e6003a)
* password reset to invalidate all existing reset tokens for that uid (30b3fedc)
* show more lines (ba2e1c4c)
* #8756, pass missing req to mock (30d6a2b8)
* #8757, allow all slashes in category route (1ee93848)
* timeago test for dev/prod (7db224f6)
* timeago test (cecdd291)
* undefined api require, @julianlam (931d44b5)
* watch tooltip (e2d407b7)
* module name (aedd28e0)
* pin sortablejs (8f436eb8)
* admin jquerui requires (75c96686)
* timeago locale switch (8c019a6a)
* category RSS feed was displaying deleted topics (9a5b8a79)
* #8734 make nprogress module (45e8a4d5)
* regression caused by 754595172549ba39b406bd36fc3387d95782d84f (8af30a51)
* dont allow adding duplicates to privileges page (12c8b1c2)
* #8728, dont add admins to table (f259063f)
* remove debug log (675a62da)
* tests (adcadbb2)
* bad merge w/ category ACP page (cb9369f1)
* bad logic in group assertion middleware (8e89f34d)
* errors thrown if no password sent in to profile edit route (7757f965)
* bug where middlewares seemingly ran in parallel (549ca110)
* follow route to match spec (db5c5b2c)
* missing one property in openapi doc (af2e424f)
* error handling with POST /api/v1/users (d8879d21)
* use POST call for user creation in ACP (58043e07)
* user creation POST route returns user data, updated openapi spec (bba2a463)
* selector, so it doesnt effect suggested topics (7138d433)
* use proper api url (264818e5)
* tests, get latest release tag recursively (8eb62e22)
* use app.parseAndTranslate instead of benchpress.parse (fc603a53)
* sorted list delete button (20e0cc5c)
* unable to register async method as response hook listener (dde5b6b8)
* dont allow sorting pinned topics on recent (b955fd36)
* use console.info instead of console.log for sw registration (3c7f79cb)
* **deps:**
* update dependency benchpressjs to v2.0.8 (#8767) (3b88545b)
* update dependency sharp to v0.26.2 (#8765) (42aed15b)
* update dependency nodebb-rewards-essentials to v0.1.4 (#8764) (25c447df)
* update dependency nodebb-theme-persona to v10.2.60 (dcf72354)
* update dependency nodebb-plugin-mentions to v2.13.0 (#8758) (411fa8bc)
* update dependency nodebb-theme-persona to v10.2.59 (#8755) (cd34bfb1)
* update dependency nodebb-theme-persona to v10.2.58 (#8754) (a77ba71e)
* update dependency nodebb-plugin-composer-default to v6.4.4 (#8752) (0399ffaf)
* update dependency benchpressjs to v2.0.7 (#8733) (f8e2324c)
* update dependency nodebb-plugin-composer-default to v6.4.3 (#8750) (666064bf)
* update dependency nodebb-theme-persona to v10.2.57 (#8749) (1c94220b)
* update dependency nodebb-theme-persona to v10.2.56 (414fe19c)
* update dependency nodebb-theme-slick to v1.2.39 (1bc99411)
* bump vanilla/persona (944a7e0e)
* update dependency nodebb-theme-lavender to v5.0.14 (#8739) (43df4b8e)
* update dependency socket.io-client to v2.3.1 (#8700) (ba62ebb6)
* update dependency nodebb-theme-slick to v1.2.37 (#8741) (45aceb26)
* update dependency nodebb-theme-vanilla to v11.2.21 (#8740) (0c7af502)
* update dependency nodebb-theme-persona to v10.2.54 (#8736) (4207dde4)
* update dependency nodebb-theme-persona to v10.2.52 (#8735) (70c085ba)
* update dependency nodebb-theme-persona to v10.2.51 (#8729) (bae2eada)
* update dependency nodebb-theme-persona to v10.2.50 (#8727) (804729fc)
* update dependency nodebb-theme-persona to v10.2.49 (#8722) (b01bc2ae)
* update dependency nodebb-theme-persona to v10.2.48 (#8721) (01702613)
* update dependency nodebb-theme-persona to v10.2.47 (#8720) (04b1daac)
* update dependency nodebb-theme-persona to v10.2.46 (#8719) (ba906d7d)
* update dependency nodebb-plugin-composer-default to v6.4.2 (#8718) (229421ed)
* **openapi:**
* users.yaml (16873800)
* moved write-api to public/openapi (49994f3a)
* **writeapi:**
* tests (ebcb664b)
* tests (229eb2c2)
* tests (b8703ba9)
* tests (41f55b7a)
* calls to profile editing routes 200 even if user DNE (8e7baac6)
* client-side group join API call (68ecf41e)
* authenticate middleware logic to work better with await (fd67355b)
* **refactor:**
* patching helpers.tryRoute for API routes, some re-org (d15d9e44)
* merging write-api auth middlewares with core middlewares (f6433ef2)
##### Refactors
* remove console.log, extra require (75024c35)
* show more lines of stack trace (ea31f505)
* posts api (d9a16855)
* post restore/delete/purge (272e73da)
* merge post.edit (9738e202)
* deprecate socket.emit('users.search') use api route (2279e372)
* api categories (083c74e0)
* remove sockets.reqFromSocket (bc880ee0)
* topic follow/ignore to use api lib (9ee3cb9b)
* topic tools' actions to use api lib (68d6818b)
* topic creation to use api lib (40598b36)
* setupApiRoute signature (bf480ee5)
* remove unused middleware (688d7a2c)
* user bans to use api lib (2d252f2f)
* move groups.leave, fix some tests (e367c540)
* change password/user follow to use api lib (960e925e)
* user deletion to use api lib (430e7f58)
* socket profile update to use api lib (77481947)
* socket profile update to use api lib (31ae8a83)
* user create and profile update to use api lib (23086dae)
* use single function for api code (5e2caf19)
* async/await src/user/approval (43afe7ff)
* async/await install/web.js (3881ac30)
* async/await (1fd2eba6)
* use app.render (d89477ca)
* api module (3673accd)
* api module returns promise, error-first cb if cb passed in (a784d10f)
* remove unused search call (dd7424e5)
* switch to using slugify module (dc29f4dc)
* require style (c954db84)
* middleware.assert.* (8ecef7b8)
* rewrite modules/api.js in AMD style (a905d7f0)
* remove posts.tools.purge (ed092bf6)
* **writeapi:**
* update route prefix to api/v3, default error option (3ea1aa47)
* post.tools.purge no longer a method (5e2a3ea6)
##### Code Style Changes
* **openapi:**
* break write API routes into individual files (dbb4cfe9)
* move schemas and responses out of write.yaml (ffac3c79)
* updates to openapi files (2928b9b8)
* allowing some es6 features client-side (e1c40b27)
* linting (cdb79488)
#### v1.15.0-beta.29 (2020-10-05)
##### Chores

View File

@@ -1,4 +1,4 @@
# <img alt="NodeBB" src="http://i.imgur.com/mYxPPtB.png" />
# ![NodeBB](public/images/logo.svg)
[![Build Status](https://travis-ci.org/NodeBB/NodeBB.svg?branch=master)](https://travis-ci.org/NodeBB/NodeBB)
[![Coverage Status](https://coveralls.io/repos/github/NodeBB/NodeBB/badge.svg?branch=master)](https://coveralls.io/github/NodeBB/NodeBB?branch=master)

View File

@@ -133,5 +133,6 @@
"timeagoCutoff": 30,
"necroThreshold": 7,
"categoryWatchState": "watching",
"submitPluginUsage": 1
"submitPluginUsage": 1,
"maxUserSessions": 10
}

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.15.0-beta.29",
"version": "1.15.0-rc.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -16,6 +16,12 @@
"test": "npx nyc --reporter=html --reporter=text-summary npx mocha",
"coveralls": "nyc report --reporter=text-lcov | coveralls && rm -r coverage"
},
"nyc": {
"exclude": [
"src/upgrades/*",
"test/*"
]
},
"husky": {
"hooks": {
"pre-commit": "npx lint-staged",
@@ -29,19 +35,22 @@
]
},
"dependencies": {
"@adactive/bootstrap-tagsinput": "^0.8.2",
"ace-builds": "^1.4.9",
"archiver": "^5.0.0",
"async": "^3.2.0",
"autoprefixer": "^10.0.0",
"bcryptjs": "2.4.3",
"benchpressjs": "2.0.4",
"benchpressjs": "2.0.8",
"body-parser": "^1.19.0",
"bootbox": "4.4.0",
"bootstrap": "^3.4.1",
"chart.js": "^2.9.3",
"cli-graph": "^3.2.2",
"clipboard": "^2.0.6",
"colors": "^1.4.0",
"commander": "^6.0.0",
"compare-versions": "3.6.0",
"compression": "^1.7.4",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
@@ -63,6 +72,10 @@
"html-to-text": "^5.1.1",
"ipaddr.js": "^2.0.0",
"jquery": "3.5.1",
"jquery-deserialize": "2.0.0-rc1",
"jquery-form": "4.3.0",
"jquery-serializeobject": "1.0.0",
"jquery-ui": "1.12.1",
"jsesc": "3.0.1",
"json2csv": "5.0.3",
"jsonwebtoken": "^8.5.1",
@@ -80,21 +93,22 @@
"@nodebb/mubsub": "1.7.0",
"@nodebb/socket.io-adapter-mongo": "3.1.0",
"nconf": "^0.10.0",
"nodebb-plugin-composer-default": "6.4.2",
"nodebb-plugin-composer-default": "6.4.4",
"nodebb-plugin-dbsearch": "4.1.2",
"nodebb-plugin-emoji": "^3.3.0",
"nodebb-plugin-emoji-android": "2.0.0",
"nodebb-plugin-markdown": "8.12.1",
"nodebb-plugin-mentions": "2.11.0",
"nodebb-plugin-mentions": "2.13.0",
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.7.2",
"nodebb-rewards-essentials": "0.1.3",
"nodebb-theme-lavender": "5.0.13",
"nodebb-theme-persona": "10.2.51",
"nodebb-theme-slick": "1.2.36",
"nodebb-theme-vanilla": "11.2.20",
"nodebb-rewards-essentials": "0.1.4",
"nodebb-theme-lavender": "5.0.14",
"nodebb-theme-persona": "10.2.60",
"nodebb-theme-slick": "1.2.39",
"nodebb-theme-vanilla": "11.2.22",
"nodebb-widget-essentials": "4.1.2",
"nodemailer": "^6.4.6",
"nprogress": "0.2.0",
"passport": "^0.4.1",
"passport-http-bearer": "^1.0.1",
"passport-local": "1.0.0",
@@ -107,26 +121,32 @@
"redis": "3.0.2",
"request": "2.88.2",
"request-promise-native": "^1.0.8",
"requirejs": "2.3.6",
"rimraf": "3.0.2",
"rss": "^1.2.2",
"sanitize-html": "^2.0.0",
"semver": "^7.2.1",
"serve-favicon": "^2.5.0",
"sharp": "0.26.1",
"sharp": "0.26.2",
"sitemap": "^6.1.0",
"slideout": "1.0.1",
"socket.io": "2.3.0",
"socket.io-adapter-cluster": "^1.0.1",
"socket.io-adapter-postgres": "^1.2.1",
"socket.io-client": "2.3.0",
"socket.io-client": "2.3.1",
"socket.io-redis": "5.4.0",
"socketio-wildcard": "2.0.0",
"sortablejs": "1.10.2",
"spdx-license-list": "^6.1.0",
"spider-detector": "2.0.0",
"textcomplete": "^0.17.1",
"textcomplete.contenteditable": "^0.1.1",
"timeago": "^1.6.7",
"tinycon": "0.6.8",
"toobusy-js": "^0.5.1",
"uglify-es": "^3.3.9",
"validator": "13.1.17",
"visibilityjs": "2.0.2",
"winston": "3.3.3",
"xml": "^1.0.1",
"xregexp": "^4.3.0",
@@ -137,15 +157,15 @@
"@commitlint/cli": "9.1.2",
"@commitlint/config-angular": "9.1.2",
"coveralls": "3.1.0",
"eslint": "7.10.0",
"eslint": "7.11.0",
"eslint-config-airbnb-base": "14.2.0",
"eslint-plugin-import": "2.22.1",
"grunt": "1.3.0",
"grunt-contrib-watch": "1.1.0",
"husky": "4.3.0",
"jsdom": "16.4.0",
"lint-staged": "10.4.0",
"mocha": "8.1.3",
"lint-staged": "10.4.2",
"mocha": "8.2.0",
"mocha-lcov-reporter": "1.3.0",
"nyc": "15.1.0",
"smtp-server": "3.7.0"

View File

@@ -1,21 +1,26 @@
'use strict';
var winston = require('winston');
var express = require('express');
var bodyParser = require('body-parser');
var fs = require('fs');
var path = require('path');
var childProcess = require('child_process');
var less = require('less');
var async = require('async');
var uglify = require('uglify-es');
var nconf = require('nconf');
var Benchpress = require('benchpressjs');
const winston = require('winston');
const express = require('express');
const bodyParser = require('body-parser');
const fs = require('fs');
const path = require('path');
const childProcess = require('child_process');
const less = require('less');
const util = require('util');
const lessRenderAsync = util.promisify(
(style, opts, cb) => less.render(String(style), opts, cb)
);
const uglify = require('uglify-es');
const nconf = require('nconf');
var app = express();
var server;
const Benchpress = require('benchpressjs');
const { paths } = require('../src/constants');
var formats = [
const app = express();
let server;
const formats = [
winston.format.colorize(),
];
@@ -42,50 +47,50 @@ winston.configure({
],
});
var web = module.exports;
const web = module.exports;
var scripts = [
const scripts = [
'node_modules/jquery/dist/jquery.js',
'public/vendor/xregexp/xregexp.js',
'public/vendor/xregexp/unicode/unicode-base.js',
'node_modules/xregexp/xregexp-all.js',
'public/src/modules/slugify.js',
'public/src/utils.js',
'public/src/installer/install.js',
'node_modules/zxcvbn/dist/zxcvbn.js',
];
var installing = false;
var success = false;
var error = false;
var launchUrl;
let installing = false;
let success = false;
let error = false;
let launchUrl;
web.install = function (port) {
web.install = async function (port) {
port = port || 4567;
winston.info('Launching web installer on port ' + port);
app.use(express.static('public', {}));
app.engine('tpl', function (filepath, options, callback) {
async.waterfall([
function (next) {
fs.readFile(filepath, 'utf-8', next);
},
function (buffer, next) {
Benchpress.compileParse(buffer.toString(), options, next);
},
], callback);
filepath = filepath.replace(/\.tpl$/, '.js');
Benchpress.__express(filepath, options, callback);
});
app.set('view engine', 'tpl');
app.set('views', path.join(__dirname, '../src/views'));
const viewsDir = path.join(paths.baseDir, 'build/public/templates');
app.set('views', viewsDir);
app.use(bodyParser.urlencoded({
extended: true,
}));
async.parallel([compileLess, compileJS, copyCSS, loadDefaults], function (err) {
if (err) {
winston.error(err.stack);
}
try {
await Promise.all([
compileLess(),
compileJS(),
copyCSS(),
loadDefaults(),
]);
setupRoutes();
launchExpress(port);
});
} catch (err) {
winston.error(err.stack);
}
};
@@ -180,120 +185,97 @@ function install(req, res) {
});
}
function launch(req, res) {
res.json({});
server.close();
req.setTimeout(0);
var child;
async function launch(req, res) {
try {
res.json({});
server.close();
req.setTimeout(0);
var child;
if (!nconf.get('launchCmd')) {
child = childProcess.spawn('node', ['loader.js'], {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
if (!nconf.get('launchCmd')) {
child = childProcess.spawn('node', ['loader.js'], {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
console.log('\nStarting NodeBB');
console.log(' "./nodebb stop" to stop the NodeBB server');
console.log(' "./nodebb log" to view server output');
console.log(' "./nodebb restart" to restart NodeBB');
} else {
// Use launchCmd instead, if specified
child = childProcess.exec(nconf.get('launchCmd'), {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
}
var filesToDelete = [
'installer.css',
'installer.min.js',
'bootstrap.min.css',
];
async.each(filesToDelete, function (filename, next) {
fs.unlink(path.join(__dirname, '../public', filename), next);
}, function (err) {
if (err) {
winston.warn('Unable to remove installer files');
console.log('\nStarting NodeBB');
console.log(' "./nodebb stop" to stop the NodeBB server');
console.log(' "./nodebb log" to view server output');
console.log(' "./nodebb restart" to restart NodeBB');
} else {
// Use launchCmd instead, if specified
child = childProcess.exec(nconf.get('launchCmd'), {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
}
const filesToDelete = [
'installer.css',
'installer.min.js',
'bootstrap.min.css',
];
await Promise.all(
filesToDelete.map(
filename => fs.promises.unlink(path.join(__dirname, '../public', filename))
)
);
child.unref();
process.exit(0);
});
}
function compileLess(callback) {
var installSrc = path.join(__dirname, '../public/less/install.less');
fs.readFile(installSrc, function (err, style) {
if (err) {
return winston.error('Unable to read LESS install file: ', err.stack);
}
less.render(style.toString(), {
filename: path.resolve(installSrc),
}, function (err, css) {
if (err) {
return winston.error('Unable to compile LESS: ', err.stack);
}
fs.writeFile(path.join(__dirname, '../public/installer.css'), css.css, callback);
});
});
}
function compileJS(callback) {
var code = '';
async.eachSeries(scripts, function (srcPath, next) {
fs.readFile(path.join(__dirname, '..', srcPath), function (err, buffer) {
if (err) {
return next(err);
}
code += buffer.toString();
next();
});
}, function (err) {
if (err) {
return callback(err);
}
try {
var minified = uglify.minify(code, {
compress: false,
});
if (!minified.code) {
return callback(new Error('[[error:failed-to-minify]]'));
}
fs.writeFile(path.join(__dirname, '../public/installer.min.js'), minified.code, callback);
} catch (e) {
callback(e);
}
});
}
function copyCSS(next) {
async.waterfall([
function (next) {
fs.readFile(path.join(__dirname, '../node_modules/bootstrap/dist/css/bootstrap.min.css'), 'utf8', next);
},
function (src, next) {
fs.writeFile(path.join(__dirname, '../public/bootstrap.min.css'), src, next);
},
], next);
}
function loadDefaults(next) {
var setupDefaultsPath = path.join(__dirname, '../setup.json');
fs.access(setupDefaultsPath, fs.constants.F_OK | fs.constants.R_OK, function (err) {
if (err) {
// setup.json not found or inaccessible, proceed with no defaults
return setImmediate(next);
}
winston.info('[installer] Found setup.json, populating default values');
nconf.file({
file: setupDefaultsPath,
});
next();
} catch (err) {
winston.error(err.stack);
throw err;
}
}
async function compileLess() {
try {
const installSrc = path.join(__dirname, '../public/less/install.less');
const style = await fs.promises.readFile(installSrc);
const css = await lessRenderAsync(style, { filename: path.resolve(installSrc) });
await fs.promises.writeFile(path.join(__dirname, '../public/installer.css'), css.css);
} catch (err) {
winston.error('Unable to compile LESS: \n' + err.stack);
throw err;
}
}
async function compileJS() {
let code = '';
for (const srcPath of scripts) {
// eslint-disable-next-line no-await-in-loop
const buffer = await fs.promises.readFile(path.join(__dirname, '..', srcPath));
code += buffer.toString();
}
const minified = uglify.minify(code, {
compress: false,
});
if (!minified.code) {
throw new Error('[[error:failed-to-minify]]');
}
await fs.promises.writeFile(path.join(__dirname, '../public/installer.min.js'), minified.code);
}
async function copyCSS() {
const src = await fs.promises.readFile(
path.join(__dirname, '../node_modules/bootstrap/dist/css/bootstrap.min.css'), 'utf8'
);
await fs.promises.writeFile(path.join(__dirname, '../public/bootstrap.min.css'), src);
}
async function loadDefaults() {
const setupDefaultsPath = path.join(__dirname, '../setup.json');
try {
await fs.promises.access(setupDefaultsPath, fs.constants.F_OK | fs.constants.R_OK);
} catch (err) {
// setup.json not found or inaccessible, proceed with no defaults
if (err.code !== 'ENOENT') {
throw err;
}
}
winston.info('[installer] Found setup.json, populating default values');
nconf.file({
file: setupDefaultsPath,
});
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 13 KiB

16
public/images/logo.svg Normal file
View File

@@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="321" height="75" viewBox="0 0 321 75">
<defs>
<radialGradient id="nodebb-a" cx="65.599%" cy="0%" r="169.036%" fx="65.599%" fy="0%" gradientTransform="matrix(-.5183 .5916 -.38031 -.80624 .996 -.388)">
<stop offset="0%" stop-color="#2A6CBE"/>
<stop offset="38.688%" stop-color="#2062BC"/>
<stop offset="49.182%" stop-color="#1F5FBC"/>
<stop offset="66.583%" stop-color="#1C5ABD"/>
<stop offset="85.354%" stop-color="#1956BC"/>
<stop offset="100%" stop-color="#1851BE"/>
</radialGradient>
</defs>
<g fill="none" transform="translate(1 1)">
<path fill="#000306" stroke="#000306" stroke-width=".275" d="M195.810017,20 C210.691849,20 221.256813,28.7272272 221.484017,45.845679 C221.490864,46.3615394 221.461776,47.1194739 221.396754,48.1194827 C221.328352,49.1714504 220.455158,49.9897119 219.400969,49.9897119 L179.110557,49.9897119 C179.110557,56.6336943 182.723978,64.2757202 196.378026,64.2757202 C204.088827,64.2757202 211.625406,61.928339 218.987763,57.2335766 L219.553745,56.8677968 C220.246813,56.4139645 221.17656,56.6079034 221.630392,57.3009716 C221.757029,57.4943637 221.837254,57.7144077 221.864806,57.943925 C222.131013,60.1615294 222.004084,61.5832211 221.484017,62.2089999 C220.452051,63.4507301 210.901843,73 196.378026,73 C180.58738,73 169,61.8765432 169,46.3909465 C169,31.3415638 180.019372,20 195.810017,20 Z M162.92733,0 C164.031899,-4.2495073e-16 164.92733,0.8954305 164.92733,2 L164.928075,44.1266361 C164.975781,44.8118124 165,45.5058194 165,46.2079256 C165,61.5334332 153.460581,73 138,73 C122.427386,73 111,61.5334332 111,46.2079256 C111,30.882418 122.427386,19.4158511 138,19.4158511 C144.981278,19.4158511 151.163029,21.7538895 155.843826,25.7295173 L155.843557,4.54188628 C155.843557,2.03347175 157.877029,4.60788274e-16 160.385444,0 L162.92733,0 Z M81,20 C96.4605809,20 108,31.3415638 108,46.5 C108,61.6584362 96.4605809,73 81,73 C65.4273859,73 54,61.6584362 54,46.5 C54,31.3415638 65.4273859,20 81,20 Z M27.324263,20 C41.6099773,20 50,29.1649049 50,41.7801268 L50,67.5 C50,69.4329966 48.4329966,71 46.5,71 L42.2494331,71 C41.1448636,71 40.2494331,70.1045695 40.2494331,69 L40.2494331,42.5348837 C40.2494331,34.3403805 35.8276644,28.6257928 26.3038549,28.6257928 C10.0816327,28.6257928 9.75718821,35.7795705 9.75069932,44.6831843 L9.75056689,71 L2,71 C0.8954305,71 1.3527075e-16,70.1045695 0,69 L0,35.2932975 L0,35.2932975 C0,24.3935718 19.1609977,20 27.324263,20 Z M81,28.7242798 C70.8049793,28.7242798 63.6348548,36.4670782 63.6348548,46.5 C63.6348548,56.3148148 70.8049793,64.2757202 81,64.2757202 C91.1950207,64.2757202 98.3651452,56.3148148 98.3651452,46.5 C98.3651452,36.4670782 91.1950207,28.7242798 81,28.7242798 Z M138,28.2362872 C127.804979,28.2362872 120.634855,36.0644241 120.634855,46.2079256 C120.634855,56.1309161 127.804979,64.179564 138,64.179564 C148.195021,64.179564 155.365145,56.1309161 155.365145,46.2079256 C155.365145,36.0644241 148.195021,28.2362872 138,28.2362872 Z M195.810017,28.7242798 C186.721876,28.7242798 180.473779,33.9588477 179.224159,41.8106996 L211.259858,41.8106996 C210.010238,33.9588477 204.443752,28.7242798 195.810017,28.7242798 Z"/>
<path fill="url(#nodebb-a)" d="M277,19 L276.999615,57.7303365 C276.99251,64.180962 276.88949,68.6242617 276.88949,73 L276.88949,73 L255.649055,73 C242.962262,73 236,67.06 236,57.7257143 C236,51.4771429 239.558488,46.9257143 245.1283,45.0742857 C240.564149,43.1457143 237.779243,38.8257143 237.779243,33.5028571 C237.779243,24.8628571 244.664149,19 256.732074,19 L256.732074,19 L277,19 Z M299.267926,19 C311.335851,19 318.220757,24.8628571 318.220757,33.5028571 C318.220757,38.8257143 315.435851,43.1457143 310.8717,45.0742857 C316.441512,46.9257143 320,51.4771429 320,57.7257143 C320,67.06 313.037738,73 300.350945,73 L279.11051,73 L279.11051,73 C279.11051,68.6242617 279.00749,64.180962 279.000385,57.7303365 L279,19 L299.267926,19 Z M266.092452,49.8571429 L256.499999,49.8571429 C250.156602,49.8571429 246.984904,52.2485714 246.984904,56.9542857 C246.984904,61.8914286 249.924527,64.36 255.726414,64.36 L255.726414,64.36 L260.754716,64.36 C264.777358,64.36 266.092452,62.4314286 266.092452,56.5685714 L266.092452,56.5685714 L266.092452,49.8571429 Z M299.500001,49.8571429 L289.907548,49.8571429 L289.907548,56.5685714 C289.907548,62.4314286 291.222642,64.36 295.245284,64.36 L300.273586,64.36 C306.075473,64.36 309.015096,61.8914286 309.015096,56.9542857 C309.015096,52.2485714 305.843398,49.8571429 299.500001,49.8571429 Z M266.169811,27.64 L257.350942,27.64 C251.703772,27.64 248.764149,30.1857143 248.764149,34.5057143 C248.764149,38.8257143 251.703772,41.3714286 257.350942,41.3714286 L257.350942,41.3714286 L266.169811,41.3714286 L266.169811,27.64 Z M298.649058,27.64 L289.830189,27.64 L289.830189,41.3714286 L298.649058,41.3714286 C304.296228,41.3714286 307.235851,38.8257143 307.235851,34.5057143 C307.235851,30.1857143 304.296228,27.64 298.649058,27.64 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
public/images/logo@3x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
public/images/touch/144.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
public/images/touch/192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
public/images/touch/36.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
public/images/touch/48.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
public/images/touch/512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
public/images/touch/72.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
public/images/touch/96.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "هل أنت متأكد أنك تريد تطهير هذا الموضوع؟",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички категории</strong>?",
"alert.confirm-copyToChildren": "Наистина ли искате да приложите този набор от правомощия към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.confirm-copyToChildrenGroup": "Наистина ли искате да приложите набора от правомощия на таи група към <strong>всички по-долни (дъщерни) категории</strong>?",
"alert.no-undo": "<em>Това действие е необратимо.</em>"
"alert.no-undo": "<em>Това действие е необратимо.</em>",
"alert.admin-warning": "Администраторите имат всички правомощия по подразбиране"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Добавяне на група",
"invite": "Покана",
"new": "Нов потребител",
"pills.latest": "Последни потребители",
"filter-by": "Филтриране по",
"pills.unvalidated": "Няма потвърдена е-поща",
"pills.no-posts": "Няма публикации",
"pills.top-posters": "С най-много публикации",
"pills.top-rep": "С най-много репутация",
"pills.inactive": "Недеен",
"pills.flagged": "С най-много доклади",
"pills.validated": "Потвърдена",
"pills.banned": "Блокиран",
"pills.search": "Търсене на потребители",
"50-per-page": "50 на страница",
"100-per-page": "100 на страница",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Оставете това празно, за да използвате данните по подразбиране на NodeBB, които са преведени",
"settings": "Настройки",
"cookie-domain": "Домейн на бисквитката за сесията",
"max-user-sessions": "Максимален брой активни сесии за потребител",
"blank-default": "Оставете празно, за да използвате стойността по подразбиране"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Наистина ли искате да изчистите тази тема?",
"thread_tools.merge_topics": "Сливане на темите",
"thread_tools.merge": "Сливане",
"topic_move_success": "Темата ще бъде преместена след малко. Натиснете тук, за да отмените преместването.",
"topic_move_success": "Темата ще бъде преместена в „%1“ след малко. Натиснете тук, за да отмените преместването.",
"topic_move_multiple_success": "Темите ще бъдат преместени в „%1“ след малко. Натиснете тук, за да отмените преместването.",
"topic_move_all_success": "Всички теми ще бъдат преместени в „%1“ след малко. Натиснете тук, за да отмените преместването.",
"topic_move_undone": "Преместването на темата беше отменено",
"topic_move_posts_success": "Публикациите ще бъдат преместени след малко. Натиснете тук, за да отмените преместването.",
"topic_move_posts_undone": "Преместването на публикациите беше отменено",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "আপনি নিশ্চিত যে আপনি টপিকটি পার্জ করতে চাচ্ছেন ? ",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Přidat skupinu",
"invite": "Pozvat",
"new": "Nový uživatel",
"pills.latest": "Poslední uživatelé",
"filter-by": "Filter by",
"pills.unvalidated": "Neověřeno",
"pills.no-posts": "Žádné příspěvky",
"pills.top-posters": "Nejvíce příspěvků",
"pills.top-rep": "Nejvíce reputace",
"pills.inactive": "Neaktivní",
"pills.flagged": "Nejoznačovanější",
"pills.validated": "Validated",
"pills.banned": "Zakázán",
"pills.search": "Hledat uživatele",
"50-per-page": "50 na stránku",
"100-per-page": "100 na stránku",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Pro použití výchozího textu NodeBB, zanechte prázdné",
"settings": "Nastavení",
"cookie-domain": "Doména relace cookies",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Pro výchozí, zanechte prázdné"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Jste si jist/a, že chcete vyčistit toto téma?",
"thread_tools.merge_topics": "Sloučit témata",
"thread_tools.merge": "Sloučit",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Er du sikker på at du vil udrense denne tråd?",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Gruppe hinzufügen",
"invite": "Einladen",
"new": "Neuer Benutzer",
"pills.latest": "Neueste Benutzer",
"filter-by": "Filter by",
"pills.unvalidated": "Nicht bestätigt",
"pills.no-posts": "Keine Beiträge",
"pills.top-posters": "Top Poster",
"pills.top-rep": "Größtes Ansehen",
"pills.inactive": "Inaktiv",
"pills.flagged": "Meist gemeldete",
"pills.validated": "Validated",
"pills.banned": "Gebannt",
"pills.search": "Benutzer Suche",
"50-per-page": "50 pro Seite",
"100-per-page": "100 pro Seite",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leer lassen um NodeBB lokalisierte Standards zu benutzen",
"settings": "Einstellungen",
"cookie-domain": "Session Cookie Domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leer lassen für Standardwert"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Bist du sicher, dass du dieses Thema endgültig löschen möchtest?",
"thread_tools.merge_topics": "Themen vereinen",
"thread_tools.merge": "Vereinen",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Thema verschieben zurückgenommen",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Είσαι σίγουρος/η πως θέλεις να εκκαθαρίσεις αυτό το θέμα;",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -91,7 +91,9 @@
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Are you sure you want to purge this topic?",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invitar",
"new": "Nuevo Usuario",
"pills.latest": "Últimos Usuarios",
"filter-by": "Filter by",
"pills.unvalidated": "No Validado",
"pills.no-posts": "Sin Posts",
"pills.top-posters": "Top Posteadores",
"pills.top-rep": "Mayor Reputación",
"pills.inactive": "Inactivo",
"pills.flagged": "Más Reportado",
"pills.validated": "Validated",
"pills.banned": "Baneado",
"pills.search": "Buscar Usuario",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Dejar en blanco para utilizar valores localizados por defecto de NodeBB",
"settings": "Configuraciones.",
"cookie-domain": "Dominio de cookie de sesión",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Dejar en blanco para valores por defecto"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "¿Está seguro que desea eliminar definitivamente (purgar) este tema?",
"thread_tools.merge_topics": "Fusionar temas",
"thread_tools.merge": "Fusionar",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Kutsu",
"new": "Uus kasutaja",
"pills.latest": "Hiljutised kasutajad",
"filter-by": "Filter by",
"pills.unvalidated": "Valideerimata",
"pills.no-posts": "Pole postitusi",
"pills.top-posters": "Top postitajad",
"pills.top-rep": "Kõige rohkem reputatsiooni",
"pills.inactive": "Ebaaktiivne",
"pills.flagged": "Enim raporteeritud",
"pills.validated": "Validated",
"pills.banned": "Keelustatud",
"pills.search": "Kasutajate otsing",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Oled kindel, et soovid puhastada selle teema?",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "آیا مطمئنید که میمید این موضوع را پاکسازی کنید؟",
"thread_tools.merge_topics": "ادغام موضوع ها",
"thread_tools.merge": "ادغام",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Oletko varma, että haluat poistaa pysyvästi tämän aiheen?",
"thread_tools.merge_topics": "Sulauta aiheet",
"thread_tools.merge": "Sulauta",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Voulez-vous vraiment appliquer le jeu de privilèges de ce groupe à <strong>toutes les catégories</strong> ?",
"alert.confirm-copyToChildren": "Voulez-vous vraiment appliquer ces privilèges à <strong>toutes les catégories incluses (enfants)</strong> ?",
"alert.confirm-copyToChildrenGroup": "Voulez-vous vraiment appliquer le jeu de privilèges de ce groupe à <strong>toutes les catégories incluses (enfants)</strong> ?",
"alert.no-undo": "<em>Cette action ne peut pas être annulée.</em>"
"alert.no-undo": "<em>Cette action ne peut pas être annulée.</em>",
"alert.admin-warning": "Les administrateurs obtiennent implicitement tous les privilèges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Ajouter un groupe",
"invite": "Inviter",
"new": "Nouvel utilisateur",
"pills.latest": "Derniers utilisateurs",
"filter-by": "Filtrer par",
"pills.unvalidated": "Non vérifiée",
"pills.no-posts": "Aucun sujet",
"pills.top-posters": "Nombre de sujets",
"pills.top-rep": "Réputation",
"pills.inactive": "Inactif ",
"pills.flagged": "Le plus signalé",
"pills.validated": "Validé",
"pills.banned": "Banni",
"pills.search": "Recherche d'utilisateur",
"50-per-page": "50 par page",
"100-per-page": "100 par page",

View File

@@ -34,7 +34,7 @@
"sockets.default-placeholder": "Défaut : %1",
"sockets.delay": "Délai de reconnexion",
"analytics.settings": "Analytics Settings",
"analytics.max-cache": "Analytics Cache Max Value",
"analytics.max-cache-help": "On high-traffic installs, the cache could be exhausted continuously if there are more concurrent active users than the Max Cache value. (Restart required)"
"analytics.settings": "Paramètres d'analytique",
"analytics.max-cache": "Valeur maximale du cache Analytique",
"analytics.max-cache-help": "Sur les installations à fort trafic, le cache peut être utilisé en permanence s'il y a plus d'utilisateurs actifs simultanément que la valeur Max Cache. (Redémarrage requis)"
}

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Laisser vide pour utiliser les textes localisés par défaut de NodeBB",
"settings": "Réglages",
"cookie-domain": "Domaine de session du cookie",
"max-user-sessions": "Nombre maximum de sessions actives par utilisateur",
"blank-default": "Laissez vide pour utiliser les réglages par défaut"
}

View File

@@ -28,11 +28,11 @@
"favicon": "Favicon",
"favicon.upload": "Télécharger",
"pwa": "Progressive Web App",
"touch-icon": "Touch Icon",
"touch-icon": "Icône d'accueil",
"touch-icon.upload": "Télécharger",
"touch-icon.help": "Recommended size and format: 512x512, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.",
"maskable-icon": "Maskable (Homescreen) Icon",
"maskable-icon.help": "Recommended size and format: 512x512, PNG format only. If no maskable icon is specified, NodeBB will fall back to the Touch Icon.",
"touch-icon.help": "Taille et format recommandés: 512x512, format PNG uniquement. Si aucun Icône d'accueil n'est spécifiée, le favicon NodeBB sera visible.",
"maskable-icon": "Icône masquable (écran d'accueil)",
"maskable-icon.help": "Taille et format recommandés: 512x512, format PNG uniquement. Si aucune icône masquable n'est spécifiée, le favicon NodeBB sera visible.",
"outgoing-links": "Liens sortants",
"outgoing-links.warning-page": "Utiliser la page d'avertissement pour liens sortants",
"search-default-sort-by": "Tri par défaut de la recherche",

View File

@@ -21,8 +21,8 @@
"reset.notify.text1": "Nous vous informons que le %1, votre mot de passe a été modifié.",
"reset.notify.text2": "Si vous n'avez pas autorisé ceci, veuillez contacter immédiatement un administrateur.",
"digest.latest_topics": "Derniers sujets de %1 :",
"digest.top-topics": "Top topics from %1",
"digest.popular-topics": "Popular topics from %1",
"digest.top-topics": "Meilleurs sujets de %1",
"digest.popular-topics": "Sujets populaires de %1",
"digest.cta": "Cliquez ici pour aller sur %1",
"digest.unsub.info": "Ce message vous a été envoyé en raison de vos paramètres d'abonnement.",
"digest.day": "jour",

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Êtes-vous sûr de bien vouloir supprimer définitivement ce sujet ?",
"thread_tools.merge_topics": "Fusionner les Sujets",
"thread_tools.merge": "Fusionner",
"topic_move_success": "Ce sujet va être déplacé. Cliquez ici pour annuler.",
"topic_move_success": "Ce sujet sera bientôt déplacé vers \"%1\". Cliquez ici pour annuler.",
"topic_move_multiple_success": "Ces sujets seront bientôt déplacés vers \"%1\". Cliquez ici pour annuler.",
"topic_move_all_success": "Tous les sujets seront déplacés vers \"%1\". Cliquez ici pour annuler.",
"topic_move_undone": "Déplacement de sujet annulé",
"topic_move_posts_success": "Les messages vont être déplacés. Cliquez ici pour annuler.",
"topic_move_posts_undone": "Déplacement annulé",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"filter-by": "Filter by",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "Banned",
"pills.search": "User Search",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Estás seguro de que desexas eliminar definitivamente (purgar) este tema?",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "הזמן",
"new": "משתמש חדש",
"pills.latest": "משתמשים אחרונים",
"filter-by": "Filter by",
"pills.unvalidated": "לא מאומת",
"pills.no-posts": "אין פוסטים",
"pills.top-posters": "מפרסמים הכי הרבה",
"pills.top-rep": "מוניטין הכי גבוה",
"pills.inactive": "לא-פעיל",
"pills.flagged": "Most Flagged",
"pills.validated": "Validated",
"pills.banned": "מורחק",
"pills.search": "חיפוש משתמשים",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Leave blank for default"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "אתה בטוח שאתה רוצה למחוק את הנושא הזה?",
"thread_tools.merge_topics": "מזג נושאים",
"thread_tools.merge": "מזג",
"topic_move_success": "נושא זה יועבר בקרוב. לחץ כאן לבטל.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Pozivnica",
"new": "Novi korisnik",
"pills.latest": "Posljednji korisnici",
"filter-by": "Filter by",
"pills.unvalidated": "Nije potvrđen",
"pills.no-posts": "Nema objava",
"pills.top-posters": "Najviše objava",
"pills.top-rep": "Najviše reputacije",
"pills.inactive": "Neaktivan",
"pills.flagged": "Najviše zastava",
"pills.validated": "Validated",
"pills.banned": "Blokirani",
"pills.search": "Pretraga korisnika",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

View File

@@ -8,5 +8,6 @@
"consent.blank-localised-default": "Pusti prazno za zadanu NodeBB lokalizaciju",
"settings": "Postavke",
"cookie-domain": "Sesija kolačić domene",
"max-user-sessions": "Max active sessions per user",
"blank-default": "Ostavi prazno za osnovno"
}

View File

@@ -79,7 +79,9 @@
"thread_tools.purge_confirm": "Sigurni ste da želite odbaciti ovu temu?",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "This topic will be moved shortly. Click here to undo.",
"topic_move_success": "This topic will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_multiple_success": "These topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_all_success": "All topics will be moved to \"%1\" shortly. Click here to undo.",
"topic_move_undone": "Topic move undone",
"topic_move_posts_success": "Posts will be moved shortly. Click here to undo.",
"topic_move_posts_undone": "Post move undone",

View File

@@ -48,5 +48,6 @@
"alert.confirm-copyToAllGroup": "Are you sure you wish to apply this group's privilege set to <strong>all categories</strong>?",
"alert.confirm-copyToChildren": "Are you sure you wish to apply this privilege set to <strong>all descendant (child) categories</strong>?",
"alert.confirm-copyToChildrenGroup": "Are you sure you wish to apply this group's privilege set to <strong>all descendant (child) categories</strong>?",
"alert.no-undo": "<em>This action cannot be undone.</em>"
"alert.no-undo": "<em>This action cannot be undone.</em>",
"alert.admin-warning": "Administrators implicitly get all privileges"
}

View File

@@ -20,16 +20,10 @@
"add-group": "Add Group",
"invite": "Meghívás",
"new": "Új felhasználó",
"pills.latest": "Legutóbbiak",
"filter-by": "Filter by",
"pills.unvalidated": "Nem igazoltak",
"pills.no-posts": "Hozzászólás nélküliek",
"pills.top-posters": "Legaktívabbak",
"pills.top-rep": "Legnépszerűbbek",
"pills.inactive": "Inaktívak",
"pills.flagged": "Legtöbbet megjelöltek",
"pills.validated": "Validated",
"pills.banned": "Kitiltottak",
"pills.search": "Keresés",
"50-per-page": "50 per page",
"100-per-page": "100 per page",

Some files were not shown because too many files have changed in this diff Show More