Compare commits

...

2225 Commits

Author SHA1 Message Date
Julian Lam
fb4f1e1315 1.0.0 2016-02-29 11:37:19 -05:00
Julian Lam
783f570213 latest translations and fallbacks 2016-02-29 11:26:30 -05:00
barisusakli
4b5ec512b9 refactor/cleanup uploader.js 2016-02-29 15:26:57 +02:00
barisusakli
af51500951 up themes 2016-02-29 14:26:34 +02:00
barisusakli
65dda58e0c renamed tpl 2016-02-29 14:24:02 +02:00
barisusakli
df9558f1fa closes #4268 2016-02-29 14:23:12 +02:00
barisusakli
268aa12cc2 closes #4275 2016-02-29 10:36:31 +02:00
Barış Soner Uşaklı
441232e71d fix missing callback 2016-02-28 22:45:06 +02:00
Barış Soner Uşaklı
5ed3148fe1 Merge pull request #4280 from pichalite/fix-newpost
fix for post menu display on newPost
2016-02-27 10:41:56 +02:00
pichalite
571f364922 fix for post menu display on newPost 2016-02-26 21:50:44 +00:00
Barış Soner Uşaklı
5f3473142e fix reply as topic quoting 2016-02-26 22:40:35 +02:00
Julian Lam
4c5ebe4985 fixed #4020 2016-02-26 15:26:24 -05:00
Julian Lam
99e9508131 fixed #4270 2016-02-26 14:47:31 -05:00
Barış Soner Uşaklı
3e46ef8c35 closes #4276 2016-02-26 21:35:11 +02:00
Julian Lam
13623a620b fixed #4277 2016-02-26 14:27:05 -05:00
Barış Soner Uşaklı
5556c49f74 removed extra next 2016-02-26 20:44:58 +02:00
Julian Lam
7bc9e4439a removed .gitignore from list of sound files 2016-02-26 12:37:55 -05:00
barisusakli
5f7cc00b44 up themes 2016-02-26 17:10:00 +02:00
barisusakli
7ffbf35bcf closes #4273 2016-02-26 17:06:03 +02:00
barisusakli
c8ee1b4c58 closes #4261 2016-02-26 16:45:44 +02:00
barisusakli
5997f2f5c4 up mentions 2016-02-26 14:24:34 +02:00
psychobunny
ee6d16c3d8 closes #4266 2016-02-25 23:06:00 -05:00
psychobunny
2b10ef97b2 closes #4262 2016-02-25 23:04:34 -05:00
Julian Lam
6e50a66e05 Merge pull request #4267 from pichalite/notifications-count
complete fixes for #4144
2016-02-25 19:41:16 -05:00
pichalite
5f6a1a0acd complete fixes for #4144 2016-02-26 00:04:56 +00:00
Julian Lam
dd3f1b9ba8 removed console.log 2016-02-25 16:22:35 -05:00
Julian Lam
db3446b1ca updated some of the graph colours 2016-02-25 16:21:46 -05:00
Julian Lam
088940d4c7 Squashed commit of the following:
commit 49e6c0040cc82c1e2684933a8e167ef14854aff8
Author: Julian Lam <julian@designcreateplay.com>
Date:   Thu Feb 25 16:12:15 2016 -0500

    added recording and charts for topic and post counts globally and by cid

commit e02ff70757f778aa016fbc42ef10a5da2d07a9d9
Author: Julian Lam <julian@designcreateplay.com>
Date:   Thu Feb 25 15:35:49 2016 -0500

    added labels to charts

commit e75d83bf3886e5183bcf5fcd848d71c513761e01
Author: Julian Lam <julian@designcreateplay.com>
Date:   Thu Feb 25 13:30:47 2016 -0500

    added per category graphs to ACP management page

commit e3f543200950925cc9e8bf33cccb592f949a100e
Author: Julian Lam <julian@designcreateplay.com>
Date:   Thu Feb 25 12:36:11 2016 -0500

    updated analytics to move helper methods to analytics lib and sending per category analytics to ACP page

commit 01891d8f7c408925fcdad18dcaa941e5ebbeb9b2
Author: Julian Lam <julian@designcreateplay.com>
Date:   Wed Feb 24 16:48:55 2016 -0500

    saving per-category analytics, and updated the writeData method to use async for "clarity"
2016-02-25 16:12:50 -05:00
psychobunny
a320ec3efb closes #4178 2016-02-25 14:20:59 -05:00
psychobunny
eafa0837f1 up themes 2016-02-25 14:08:05 -05:00
psychobunny
9e832e006a closes #2920 2016-02-25 14:06:03 -05:00
barisusakli
8bc80abde6 removed notify typing code, not even working 2016-02-25 18:21:24 +02:00
barisusakli
78bb4776df fix crazy indents 2016-02-25 18:11:45 +02:00
barisusakli
5d9373730a added delete purge test 2016-02-25 18:04:32 +02:00
barisusakli
ebcd892aee closes #4259 2016-02-25 18:01:59 +02:00
barisusakli
3567f2ad55 closes #4208 2016-02-25 17:09:38 +02:00
barisusakli
edba2dda21 up themes 2016-02-25 16:33:31 +02:00
barisusakli
2fdb8fc5e1 closes #3709 2016-02-25 16:30:02 +02:00
barisusakli
66c6c47b7c closes #4213 2016-02-25 16:12:46 +02:00
barisusakli
ac09036156 closes #4053 2016-02-25 11:41:40 +02:00
psychobunny
ffc08facbd .github folder 2016-02-25 01:02:19 -05:00
psychobunny
617edb4fd4 up themes 2016-02-24 18:08:34 -05:00
psychobunny
fae5fe5c50 closes #3837 2016-02-24 18:04:14 -05:00
psychobunny
c6982f7cdb fixed .gitignore #4256 2016-02-24 17:43:54 -05:00
barisusakli
211311214e https://github.com/NodeBB/NodeBB/issues/4204 2016-02-24 22:47:31 +02:00
barisusakli
c317f85dd0 up themes 2016-02-24 22:18:50 +02:00
barisusakli
34f68a029a closes #4204 2016-02-24 22:15:37 +02:00
barisusakli
1349c4907d fix notification crash 2016-02-24 22:05:14 +02:00
barisusakli
2b8ecfbb94 dont add topic to topics:recent if its deleted 2016-02-24 21:35:35 +02:00
barisusakli
51b963712e up mentions 2016-02-24 20:13:44 +02:00
barisusakli
5f17e327ce possible fix for https://github.com/akhoury/nodebb-plugin-import/issues/173 2016-02-24 20:10:06 +02:00
barisusakli
9d045e70f5 change xregexp 2016-02-24 18:11:51 +02:00
Julian Lam
e3db66d29a updated versioning for v0.9.4 2016-02-24 11:09:19 -05:00
barisusakli
46b1756c97 up deps 2016-02-24 18:05:50 +02:00
Julian Lam
95d6895f13 Merge pull request #4255 from pichalite/master
fix Mac platform case
2016-02-24 09:49:29 -05:00
barisusakli
e9c488d489 closes #4166 2016-02-24 13:09:53 +02:00
barisusakli
92fba4f396 closes #4248 2016-02-24 12:07:02 +02:00
barisusakli
f512cb543f closes #4256 2016-02-24 11:44:18 +02:00
barisusakli
878b7b21ee closes #4170 2016-02-24 11:35:53 +02:00
barisusakli
e4cae9391c moved ips down 2016-02-24 09:58:14 +02:00
pichalite
eba107cef4 fix Mac platform case 2016-02-23 23:17:25 -08:00
psychobunny
e37cbca977 closes #3320 2016-02-23 18:35:37 -05:00
psychobunny
e8b1903586 #4102 2016-02-23 18:05:54 -05:00
psychobunny
afbf7de92a up persona 2016-02-23 17:57:27 -05:00
psychobunny
f51698804a closes #4177 2016-02-23 17:41:21 -05:00
psychobunny
b74022689f closes #4174 2016-02-23 17:41:19 -05:00
psychobunny
582b69dbbc Merge pull request #4253 from pichalite/recent-chats
account for search input when calculating recent list height
2016-02-23 17:30:44 -05:00
psychobunny
27d4426e06 up persona 2016-02-23 17:19:06 -05:00
psychobunny
911892c5b0 closes #3870 2016-02-23 17:17:55 -05:00
psychobunny
99719414fe closes #4052 2016-02-23 17:10:34 -05:00
psychobunny
e069150625 closes #2165 2016-02-23 16:06:02 -05:00
pichalite
991d85cae2 account for search input when calculating recent list height on expanded chats 2016-02-23 20:30:25 +00:00
psychobunny
efb6a9fe7e added option to skip asset compilation on initial grunt startup with --skip flag 2016-02-23 14:26:16 -05:00
psychobunny
b18052210d closes #3146 2016-02-23 14:23:57 -05:00
psychobunny
637c20f44d closes #3526 2016-02-23 14:17:04 -05:00
Julian Lam
946a082eaa latest translations and fallbacks 2016-02-23 14:11:15 -05:00
psychobunny
072089e39c up persona 2016-02-23 14:01:17 -05:00
psychobunny
b8eb19b991 closes #3993 2016-02-23 13:57:00 -05:00
psychobunny
75917e25b3 closes #4026 2016-02-23 13:33:46 -05:00
psychobunny
1dba781923 closes #4203 2016-02-23 13:25:44 -05:00
psychobunny
92810527ea closes #4191 2016-02-23 13:23:09 -05:00
psychobunny
a3530340a9 Merge pull request #4250 from pichalite/issue-4228
throw error in chat if no users in room
2016-02-23 13:18:34 -05:00
psychobunny
cd0cb5c5f1 closes #4237 2016-02-23 13:16:41 -05:00
Julian Lam
ff8e1b52e0 fixed #4251 2016-02-23 13:15:45 -05:00
Julian Lam
322d4052b0 chat controls now hidden instead of taking up space in chat modal 2016-02-23 13:01:36 -05:00
psychobunny
a0a98e64b7 closes #4220 2016-02-23 12:55:46 -05:00
psychobunny
4a12a06745 closes #4252 2016-02-23 12:42:21 -05:00
psychobunny
d0862911d3 closes #4181 2016-02-23 12:21:32 -05:00
Julian Lam
3b76b0343b Revert "fixes NodeBB/nodebb-theme-persona#218"
This reverts commit ee529d92d3.
2016-02-23 11:07:32 -05:00
barisusakli
2b90040c31 closes #4236 2016-02-23 16:46:10 +02:00
barisusakli
6951dc1fe2 closes #4211 2016-02-23 15:35:16 +02:00
barisusakli
58a849f206 up composer default 2016-02-23 14:52:42 +02:00
barisusakli
738b892074 closes #4217 2016-02-23 14:41:15 +02:00
barisusakli
4608b8f07b closes #4183 2016-02-23 13:34:16 +02:00
barisusakli
46c8101c5c closes #4152 2016-02-23 13:08:51 +02:00
pichalite
6ecc05afd4 throw error in chat if no users in room 2016-02-23 00:52:43 +00:00
psychobunny
18bc7713ef Merge branch 'master' of https://github.com/NodeBB/NodeBB 2016-02-22 14:41:10 -05:00
psychobunny
933115a853 almost had a heartattack when I saw 121 changed files in this conflict
# Conflicts:
#	src/meta/templates.js
2016-02-22 14:41:03 -05:00
Julian Lam
2cf42f55f5 latest translation 2016-02-22 14:37:50 -05:00
psychobunny
914fc1543e meta/templates.js refactor 2016-02-22 14:25:04 -05:00
psychobunny
da5494fdf1 allow recursive base templates
ex. custom theme based off lavender which is based off vanilla
2016-02-22 14:20:50 -05:00
Julian Lam
13dfe6cd51 Merge pull request #4243 from pichalite/issue-4241
don't mention guest on reply
2016-02-22 14:00:07 -05:00
Julian Lam
20103b64ce Merge pull request #4219 from pichalite/groups
add missing translation in groups
2016-02-22 13:59:47 -05:00
pichalite
fba4e93cfe remove translator 2016-02-22 10:47:29 -08:00
pichalite
872b33f0cc fix typo 2016-02-22 10:46:10 -08:00
Julian Lam
c551e0fd82 updated to latest nodemailer smtp transport 2016-02-22 11:02:39 -05:00
Julian Lam
30d980b01a updated theme and plugin minvers 2016-02-22 10:19:33 -05:00
Julian Lam
65407cb71f Merge pull request #4239 from ds-terrytate/fix-gmail-smtp-nodemailer
Update to nodemailer 2.0 syntax for smtpTransport
2016-02-22 10:08:23 -05:00
Julian Lam
60a5a1b422 latest translations 2016-02-22 09:52:55 -05:00
Julian Lam
a61fea862b Merge pull request #4245 from pichalite/issue-4159
fixes #4159
2016-02-22 09:42:41 -05:00
Julian Lam
f4c0b90bd0 Merge pull request #4246 from pichalite/issue-4235
fixes #4235
2016-02-22 09:39:13 -05:00
pichalite
f22b218250 fixes #4235 2016-02-22 08:14:51 +00:00
pichalite
ca3fa023e8 fixes #4159 2016-02-22 06:49:35 +00:00
Barış Soner Uşaklı
560a9f3867 Merge pull request #4244 from pichalite/user-delete
fix logout on user self delete
2016-02-22 08:42:28 +02:00
pichalite
a22d7290ec fix logout on user delete 2016-02-22 03:42:12 +00:00
pichalite
3024d2e661 don't mention guest on reply 2016-02-22 03:22:02 +00:00
Terry Tate
3e75c6f6a3 Update to nodemailer 2.0 syntax for smtpTransport
Fixes #4193
2016-02-21 17:13:44 +00:00
Barış Soner Uşaklı
d43a45d0b8 Merge pull request #4234 from pichalite/chat-fixes
chat edit fixes
2016-02-21 09:42:07 +02:00
pichalite
f637521105 chat edit fixes 2016-02-21 05:19:53 +00:00
Julian Lam
567b01e0bc Merge pull request #4230 from frissdiegurke/patch-4
Prevent breaking eventLoopLagThreshold value
2016-02-20 23:59:17 -05:00
Ole R
6d35690cbb Prevent breaking eventLoopLagThreshold value
[This problem](https://community.nodebb.org/topic/7955/and-once-again-all-my-data-has-gone/4) occurs when you put a value less than `10`.
2016-02-20 19:52:26 +01:00
barisusakli
2b7ed63236 fix for groups that don't have private field 2016-02-20 09:40:14 +02:00
Julian Lam
d826d4d81a Merge pull request #4224 from yariplus/patch-5
Added app.newTopic
2016-02-19 21:41:19 -05:00
Timothy Fike
c80bd0c413 Added app.newTopic
Make a new topic from anywhere. #4223
2016-02-19 19:23:18 -05:00
Julian Lam
e3371eb7ab Merge pull request #4221 from pichalite/private-groups
set default option for allowPrivateGroups on setup
2016-02-19 17:34:35 -05:00
pichalite
2cf300f0e1 set default option for allowPrivateGroups on setup 2016-02-19 22:17:09 +00:00
pichalite
9f760f9b55 translate string in groups 2016-02-19 21:08:40 +00:00
Barış Soner Uşaklı
e39fda2b45 filter dupe tags, closes #4216 2016-02-19 21:58:21 +02:00
barisusakli
6a481c1769 up html to text 2016-02-19 10:45:08 +02:00
barisusakli
3b6623ccee up mentions 2016-02-19 10:43:08 +02:00
barisusakli
6b341a844d remove notifyTyping 2016-02-19 09:41:22 +02:00
Julian Lam
dd050c8177 added new hook that is called before templates are compiled 2016-02-18 20:43:06 -05:00
Julian Lam
694b9e38b9 Merge pull request #4205 from pichalite/user-search
search banned users only on /users/banned route
2016-02-18 19:38:27 -05:00
pichalite
bd8b32b406 search banned users only on /users/banned route 2016-02-18 22:34:34 +00:00
pichalite
42239e119d search banned users only on /users/banned route 2016-02-18 22:30:42 +00:00
Barış Soner Uşaklı
b522864288 up composer and themes 2016-02-18 20:40:03 +02:00
Barış Soner Uşaklı
573840ccbd changed to title raw 2016-02-18 20:26:09 +02:00
barisusakli
ef48b5d13e up persona 2016-02-18 18:52:07 +02:00
barisusakli
4906fbf43a fix tests 2016-02-18 18:46:51 +02:00
barisusakli
5840a9db02 up themes and composer 2016-02-18 18:39:30 +02:00
barisusakli
2fc385f723 closes #4141, closes #4149 2016-02-18 18:32:16 +02:00
psychobunny
759b183967 fixes a bug in instant updates on category view 2016-02-17 18:49:22 -05:00
barisusakli
e306194065 style 2016-02-17 20:22:00 +02:00
barisusakli
654961ca3b style 2016-02-17 20:15:14 +02:00
barisusakli
58a8c8d205 up themes widgets 2016-02-17 19:07:11 +02:00
barisusakli
6a98758a01 closes https://github.com/NodeBB/nodebb-theme-lavender/issues/60 2016-02-17 18:38:09 +02:00
barisusakli
8c3b52ef36 closes #4096 2016-02-17 18:24:58 +02:00
barisusakli
3d4e058b6a closes #4192 2016-02-17 17:56:37 +02:00
barisusakli
3348d51f69 closes #4185 2016-02-17 10:16:14 +02:00
barisusakli
f0cc9120ba fix undefined next 2016-02-17 09:23:04 +02:00
psychobunny
88ded50115 up persona 2016-02-16 18:03:22 -05:00
Barış Soner Uşaklı
141d1b8ece dont update visible:memberCount if group is hidden, closes #4195 2016-02-16 23:26:06 +02:00
Barış Soner Uşaklı
8f25994482 fix for async whilst derp 2016-02-16 20:25:23 +02:00
Barış Soner Uşaklı
88e4591f88 closes #4194 2016-02-16 18:04:02 +02:00
Barış Soner Uşaklı
82875de32d remove / from startsWith 2016-02-16 09:19:31 +02:00
Barış Soner Uşaklı
0516418da6 up themes 2016-02-15 22:52:43 +02:00
Barış Soner Uşaklı
d851443ea7 closes #4187 2016-02-15 22:46:19 +02:00
Julian Lam
10024d7b93 fixed #4186 2016-02-15 15:32:01 -05:00
Julian Lam
30736c0ee9 allowed 'system' to be passed into group creation now 2016-02-15 11:53:01 -05:00
barisusakli
bc9c564650 closes #4169 2016-02-13 15:24:22 +02:00
barisusakli
90b89a488e closes #4175 2016-02-13 15:09:09 +02:00
barisusakli
8276090d71 closes #4180 2016-02-13 14:39:44 +02:00
barisusakli
2fd121dc15 #4154 2016-02-13 09:37:26 +02:00
Julian Lam
414762d382 closes #4157 2016-02-10 15:26:14 -05:00
Julian Lam
119930131d fixed errors when uploading files 2016-02-10 15:23:56 -05:00
Barış Soner Uşaklı
d2df63f9a5 Merge pull request #4165 from pichalite/initiate-chat
Initiate chat from chat page
2016-02-10 21:12:21 +02:00
pichalite
d81b6947f6 conditional change 2016-02-10 10:58:57 -08:00
pichalite
d83b11dde3 add language string 2016-02-10 14:25:12 +00:00
pichalite
44d4c2bc7c hopefully I got everything right this time!! 2016-02-10 06:16:48 -08:00
barisusakli
93ae5e2a3f style change 2016-02-10 13:05:02 +02:00
barisusakli
d7df6c0b06 remove more from config 2016-02-10 12:53:39 +02:00
barisusakli
5ac02a59ac remove some more config from api/config 2016-02-10 12:12:13 +02:00
barisusakli
c62a60029a fix incorrect id 2016-02-10 12:07:38 +02:00
barisusakli
f5a910fea0 remove incorrect test 2016-02-10 12:05:30 +02:00
barisusakli
ebf820d571 remove from global config 2016-02-10 11:33:41 +02:00
barisusakli
5b6e8bd167 closes #4171 2016-02-10 08:50:58 +02:00
Julian Lam
3a6ad52ac8 closes #4164 2016-02-09 09:45:16 -05:00
pichalite
2723800628 indentation 2016-02-09 06:17:31 -08:00
pichalite
971c3eb0e1 indentation 2016-02-09 06:16:11 -08:00
pichalite
9901438001 indentation 2016-02-09 06:11:16 -08:00
barisusakli
2ce64726ba up themes 2016-02-09 09:49:45 +02:00
barisusakli
6963632846 closes #4167 2016-02-09 09:43:32 +02:00
psychobunny
247a5aab41 Revert "tjs@0.3.2"
This reverts commit 104d470480.
2016-02-09 02:38:57 -05:00
pichalite
2c5e9dc4cf fix indent 2016-02-08 15:03:30 -08:00
pichalite
4b5d5b4bd9 search user and initiate chat from expanded chat page 2016-02-08 23:01:23 +00:00
psychobunny
104d470480 tjs@0.3.2 2016-02-08 13:59:36 -05:00
psychobunny
46cfd03465 closes #4144 2016-02-08 13:01:14 -05:00
barisusakli
c8d741a509 up validator 2016-02-08 12:23:47 +02:00
barisusakli
4b3f09deea closes #4154 2016-02-08 12:21:23 +02:00
barisusakli
d4ce9c4f80 add failing test for #4141 2016-02-08 11:55:51 +02:00
Julian Lam
73633523b2 upped composer minver 2016-02-05 13:06:26 -05:00
Barış Soner Uşaklı
d3087b4e05 changed userTitle of global mods 2016-02-05 18:35:20 +02:00
Julian Lam
9b9f4b252f fixes #4139 2016-02-05 10:15:59 -05:00
Julian Lam
9a7ec01e15 Merge pull request #4153 from frissdiegurke/patch-2
Fix undefined S within translator
2016-02-05 10:04:19 -05:00
Julian Lam
6b3a244d1e closes #4135 2016-02-05 10:01:23 -05:00
Barış Soner Uşaklı
f64a814b94 up vanilla 2016-02-05 09:16:05 +02:00
Barış Soner Uşaklı
303ac90dc5 Merge pull request #4155 from pichalite/master
use component
2016-02-05 09:05:49 +02:00
Ole R
91ec4c80c2 Oops, fix call of undefined 2016-02-05 00:48:32 +01:00
pichalite
776c60dc00 use component 2016-02-04 15:11:02 -08:00
psychobunny
cc3175a33e up'd persona / vanilla closes #4140 2016-02-04 17:37:51 -05:00
Ole R
2bcd4e1e3f Fix undefined S within translator
If you `require(['string'], function (stringLib) { S = stringLib; })` it is an async call and thus you need to ensure any usage of `S` happens when this is resolved.
2016-02-04 23:10:50 +01:00
Julian Lam
47c61e883a tweaked styling for flags page a bit 2016-02-04 14:48:46 -05:00
Barış Soner Uşaklı
b485b412a8 added title to flagged posts page 2016-02-04 21:44:31 +02:00
Julian Lam
eb8b6af7fb Fix global mod priv check and styling for flags page 2016-02-04 14:36:22 -05:00
Julian Lam
95fb0075c6 re-added missing base64ToLocal method in file lib 2016-02-04 10:13:05 -05:00
barisusakli
87f0d68ba2 send flag notifications to global mods as well
push notifications to unique uids only
2016-02-03 20:58:26 +02:00
barisusakli
1ed3b40a1b fix calls 2016-02-03 18:39:19 +02:00
Barış Soner Uşaklı
2ce22caa41 Merge pull request #4143 from pichalite/master
remove unused code and use components
2016-02-03 18:34:55 +02:00
barisusakli
4d6cb9a26a up themes 2016-02-03 18:27:18 +02:00
barisusakli
e6cf8ec5cf more flagged posts shenanigans 2016-02-03 18:21:34 +02:00
barisusakli
086e99de5c wip flagged posts 2016-02-03 15:47:29 +02:00
barisusakli
0bea912077 cleaned up users controller 2016-02-03 15:27:06 +02:00
barisusakli
1b9e18c6fc allow global mods to see banned users 2016-02-03 15:17:42 +02:00
pichalite
ee47a13556 use components 2016-02-02 15:44:49 -08:00
pichalite
e6e4b5784d remove unused code 2016-02-02 15:43:21 -08:00
psychobunny
2560e6345f Merge pull request #4142 from pichalite/master
use ajaxify.data.username instead of getting html
2016-02-02 17:50:49 -05:00
pichalite
d133ff74bd use ajaxify.data.username instead of getting html
use ajaxify.data.username instead of getting html for toggleFollow
2016-02-02 14:48:29 -08:00
barisusakli
036e958bfe fix typo that causes bug in gorup sorting 2016-02-02 20:26:21 +02:00
Julian Lam
b1d6d81992 ensuring that auth routes are loaded _after_ plugin routes,
just like in a reload.
2016-02-02 11:42:42 -05:00
barisusakli
5e86d9f804 closes #4131 2016-02-01 21:22:36 +02:00
barisusakli
97c42de2d3 remove unused params 2016-02-01 21:12:23 +02:00
barisusakli
821461f802 closes #4123 2016-02-01 21:09:35 +02:00
barisusakli
3336365e53 closes #4024 2016-02-01 20:58:16 +02:00
barisusakli
19c2ce0e84 fix uid ref 2016-02-01 20:43:51 +02:00
barisusakli
d82b797f70 fix for #4014 2016-02-01 20:37:42 +02:00
barisusakli
1e2779d326 closes #4014 2016-02-01 20:34:21 +02:00
barisusakli
2b5f9d075b closes #4101 2016-02-01 19:52:26 +02:00
barisusakli
6b9a07bbcf closes #4132 2016-02-01 19:31:13 +02:00
barisusakli
7542364d31 added settings to payload 2016-01-29 11:49:59 +02:00
barisusakli
33033e3bc5 closes #4116 2016-01-27 22:41:29 +02:00
barisusakli
f09ee86e42 closes #4113 2016-01-27 22:35:01 +02:00
Julian Lam
b7311dac65 removed css file @pichalite 2016-01-27 14:55:05 -05:00
Julian Lam
159c19e65a pass req.query into search filter 2016-01-27 14:54:49 -05:00
Julian Lam
c7647cfb72 Merge pull request #4095 from pichalite/master
ACP styling fixes
2016-01-27 14:43:44 -05:00
barisusakli
c2e1426e57 fix syntax error, and actually show error if minification fails 2016-01-27 20:48:10 +02:00
barisusakli
1a87767c2c removed extra isAdminOrMod check 2016-01-27 20:36:40 +02:00
barisusakli
62ea03d2c2 fix indent 2016-01-27 20:15:15 +02:00
barisusakli
3a2b5fefd9 :eye_brow: 2016-01-27 20:14:39 +02:00
barisusakli
ae8837b44a generate notification path on demand 2016-01-27 20:12:44 +02:00
barisusakli
add4e6ee5b notifications.create can return null 2016-01-27 20:03:28 +02:00
barisusakli
19c7411c38 up lavender 2016-01-27 18:54:55 +02:00
Julian Lam
baaad13286 reverted latest change to translator match regex
- Fixes issue with parentheses in translations (closes #4107)
- No longer marking translation keys invalid if they contain HTML,
  as that was probably not performant. Instead, parameters will
  simply be escaped via the StringJS library.
2016-01-27 09:15:26 -05:00
Julian Lam
60c86400d7 Merge pull request #4110 from pichalite/master
fix for user icons when searching to add to group in acp>manage>group page
2016-01-27 08:41:10 -05:00
barisusakli
4440865ec4 support for array in getTopicIds 2016-01-27 00:05:26 +02:00
pichalite
0c5712411b fix for user icons when searching for users to add to group in acp>manage>group page 2016-01-26 21:27:22 +00:00
Julian Lam
06cc761a7a *actually* loading templates in the correct order 😑 2016-01-26 15:52:49 -05:00
barisusakli
1c29722ac4 recent style 2016-01-26 18:13:18 +02:00
barisusakli
8220567b5b added topics to action:topics.loaded also fire it on category view 2016-01-26 11:36:12 +02:00
Julian Lam
2e79ce9860 upped theme minvers 2016-01-25 16:19:54 -05:00
psychobunny
49ec2a6ecb up lav 2016-01-25 15:23:17 -05:00
Julian Lam
c624f3ef31 upped lavender minver 2016-01-25 14:20:41 -05:00
psychobunny
3506081b40 up vanilla 2016-01-25 12:03:36 -05:00
Julian Lam
5de0e74908 Notification paths are now sent back in socket call, so client-
side alert now shows more data and is clickable.
2016-01-25 10:24:05 -05:00
Julian Lam
ff86369fca removing empty compose templates 2016-01-25 10:04:58 -05:00
Julian Lam
2b800e559b fixes #4104 2016-01-25 09:59:44 -05:00
barisusakli
8e0347ff05 up themes 2016-01-25 13:42:24 +02:00
barisusakli
86d70eca74 closes #4103 2016-01-25 13:36:21 +02:00
Julian Lam
32466d8bb1 tweaked paginator block to toggle when text is updated, and use ready class instead of invisible 2016-01-23 09:48:04 -05:00
barisusakli
85b4639015 fix typo closes #4097 2016-01-23 15:09:21 +02:00
barisusakli
08f52b1e0b remove unused requires 2016-01-23 12:12:46 +02:00
barisusakli
04aea9ec22 closes #4094, also add missing next to notifyFollowers 2016-01-23 11:19:56 +02:00
pichalite
a4d0026d93 ACP styling fixes 2016-01-22 22:36:22 +00:00
psychobunny
535dd82902 for previous commit 2016-01-22 16:25:51 -05:00
psychobunny
bffa2d686c ACP -> navigation, removed text on mobile 2016-01-22 16:23:20 -05:00
Julian Lam
cedda11134 update theme minvers 2016-01-22 12:53:52 -05:00
Julian Lam
99315e1c73 updated translator so that language key parameters cannot contain
html in them (or more specifically, < and >)
2016-01-22 12:23:36 -05:00
Julian Lam
afbbb33878 fixed #4093 2016-01-22 11:12:21 -05:00
Julian Lam
7eac1a93ae closes #4074 2016-01-22 09:58:27 -05:00
barisusakli
ce92caed99 removed unusued requires 2016-01-22 13:28:04 +02:00
barisusakli
1cf2b81f3d Revert "herp derp"
This reverts commit 9c9d805a32.
2016-01-22 13:25:49 +02:00
barisusakli
9c9d805a32 herp derp 2016-01-22 13:24:38 +02:00
barisusakli
767c798b2f log self account delete, logout on self account delete 2016-01-22 13:24:38 +02:00
Julian Lam
f1ed3ad659 allowing favicon updating to be disabled via client side hook 2016-01-21 21:26:12 -05:00
Julian Lam
a213daf2e3 Merge pull request #4090 from pichalite/master
fix enable/disable button in ACP manage navigation page
2016-01-21 19:24:36 -05:00
pichalite
7010364e7e fix enable/disable button in ACP manage navigation page 2016-01-21 16:18:27 -08:00
Julian Lam
0368280e52 Merge pull request #4081 from manolino/patch-3
Update app.js
2016-01-21 16:52:32 -05:00
Barış Soner Uşaklı
d949e485bc Merge pull request #4088 from pichalite/master
Bring back drag and drop functionality for making a category as a child for another category
2016-01-21 23:32:33 +02:00
pichalite
511a4b7700 remove dashed border 2016-01-21 13:28:51 -08:00
pichalite
4d6cb6f523 add children-place holder back 2016-01-21 13:28:13 -08:00
barisusakli
73f19601f7 up themes 2016-01-21 22:48:39 +02:00
barisusakli
24c56eb80a switch topic select to components 2016-01-21 22:36:38 +02:00
barisusakli
c1d8c32de1 up persona 2016-01-21 22:36:26 +02:00
barisusakli
dbc04cb4a2 getTopicWithPosts change, fix feeds 2016-01-21 20:51:15 +02:00
Julian Lam
07c55ee859 updated .fix-lists mixin 2016-01-21 12:25:49 -05:00
barisusakli
d67c0e1b08 dont load all groups in topics 2016-01-21 18:57:55 +02:00
barisusakli
41d10d18a1 disable related topics if its set to 0 2016-01-21 18:57:38 +02:00
barisusakli
cb8fcb80d1 closes #4083 2016-01-21 11:58:58 +02:00
barisusakli
e90cba65a8 closes #4085 2016-01-21 10:57:30 +02:00
barisusakli
53a88d5d63 fix crash due to hook change 2016-01-21 10:47:40 +02:00
Barış Soner Uşaklı
9122794167 Merge pull request #4082 from pichalite/master
add uid to hook 'filter:controllers.topic.get'
2016-01-21 10:27:16 +02:00
pichalite
53bbc17f32 add uid to hook 2016-01-21 04:10:38 +00:00
Manuel Valle
41963bb300 Update app.js
migrated global *translate* to a *require.js* module.
2016-01-20 16:00:11 -06:00
Julian Lam
89c21a438c Merge pull request #4078 from manolino/patch-2
Update events.js
2016-01-20 15:05:26 -05:00
Manuel Valle
4c43276fce Update events.js
Tebbed indentation.
2016-01-20 13:55:38 -06:00
Julian Lam
ec6987be1b upped mentions minver 2016-01-20 14:32:05 -05:00
Julian Lam
9be321f5c7 Merge pull request #4079 from pichalite/master
fix user full name for local user register
2016-01-20 14:27:35 -05:00
pichalite
5450f59f99 fix user full name for local user register 2016-01-20 11:11:15 -08:00
Manuel Valle
67d9323b9e Update events.js 2016-01-20 11:34:33 -06:00
Manuel Valle
c9c761d70b Update events.js
This optimize previous commit. See [#4078](https://github.com/NodeBB/NodeBB/pull/4078).  Added ```translator``` module instead of global ```translator```.
This solves warnings editing posts with *composer*.
2016-01-20 11:33:23 -06:00
barisusakli
f0ac0d3b29 up composer 2016-01-20 19:13:58 +02:00
Manuel Valle
dbcb6f9796 Update events.js
Same problem as [#4069](https://github.com/NodeBB/NodeBB/pull/4069).  Added a **translator** variable refering to **translator** module instead of global *translator*.
This solves warnings editing posts with *composer*.
2016-01-20 10:02:34 -06:00
barisusakli
fa136ca021 remove unused code 2016-01-20 18:01:02 +02:00
Julian Lam
452bb953c9 Merge pull request #4068 from pichalite/master
fixes for rewards ACP page #3910
2016-01-20 09:54:56 -05:00
Julian Lam
ff8fb0e9ab no need to set var, just use rjs 2016-01-20 09:52:49 -05:00
Julian Lam
6470f2ef53 Merge branch 'patch-1' of https://github.com/manolino/NodeBB into manolino-patch-1 2016-01-20 09:50:32 -05:00
Julian Lam
2cabf7a3d1 Merge pull request #4066 from pichalite/master
fixes NodeBB/nodebb-theme-persona#218
2016-01-20 09:47:22 -05:00
barisusakli
32ca95319e closes #3436 2016-01-20 16:13:04 +02:00
Julian Lam
9b02bb8f51 closes #4074 2016-01-19 16:34:37 -05:00
Julian Lam
8608092bbb on new uploaded image, refresh profile edit page 2016-01-19 15:53:17 -05:00
Julian Lam
5c61efd4f1 upped composer minver 2016-01-19 15:53:05 -05:00
Julian Lam
620ff88a69 updated markdown minver 2016-01-19 13:26:09 -05:00
Julian Lam
14cc9d0f4c upped markdown minver 2016-01-19 12:17:51 -05:00
barisusakli
089ea75cea closes #4054 2016-01-19 18:41:59 +02:00
Julian Lam
5a92b1a5cf change all instances of .avatar on new image upload 2016-01-19 11:18:02 -05:00
Julian Lam
f18382a892 firing client-side hook on notification count update now 2016-01-19 09:26:48 -05:00
Barış Soner Uşaklı
46c3e5c126 chat notif/unread fix 2016-01-19 12:02:51 +02:00
Barış Soner Uşaklı
056bc2f382 closes https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/17 2016-01-19 10:48:03 +02:00
Julian Lam
efa98d4858 language translations and fallbacks 2016-01-18 15:55:24 -05:00
Julian Lam
2d48faf5df Fixed #4033
Also related to regression first caused by the fix to #3695 from
fcb381f922

Also, added tests for translator. omg.
2016-01-18 15:49:44 -05:00
psychobunny
5277a9673f up vanilla/persona 2016-01-18 15:45:28 -05:00
psychobunny
e017ad432f closes #3810 2016-01-18 15:41:30 -05:00
psychobunny
1853cc3cc1 better messaging for each minification process 2016-01-18 15:35:02 -05:00
psychobunny
f94cd21f83 #3875 filter:scripts.get now acts like filter:admin.scripts.get; does not get minified 2016-01-18 15:32:49 -05:00
psychobunny
9430a626f4 #3875 2016-01-18 15:22:18 -05:00
psychobunny
42c0b973f1 closes #3134 2016-01-18 15:17:38 -05:00
psychobunny
5e4ef52911 some more cleanup 2016-01-18 15:17:36 -05:00
psychobunny
3cc5e1473f cleanup / lint before diving in 2016-01-18 15:17:35 -05:00
psychobunny
f17fa3ca11 minify flag not actually being used 2016-01-18 15:17:32 -05:00
Julian Lam
3552e11817 fixes #4073 2016-01-18 13:57:02 -05:00
Julian Lam
1c2518fe22 Using sendmail instead of direct transport
Squashed commit of the following:

commit 9d4937fff6f6a1b4327fed0ada32153bd7e07efd
Author: Julian Lam <julian@designcreateplay.com>
Date:   Mon Jan 18 13:21:52 2016 -0500

    Revert "added some debug code"

    This reverts commit 2dd8535c7bd8f59b8ed59c8b98b5484a79fa0500.

commit 2dd8535c7bd8f59b8ed59c8b98b5484a79fa0500
Author: Julian Lam <julian@designcreateplay.com>
Date:   Mon Jan 18 12:04:02 2016 -0500

    added some debug code

commit af8ca8241e66fd538089517e7722c644668667f2
Author: Julian Lam <julian@designcreateplay.com>
Date:   Mon Jan 18 11:50:41 2016 -0500

    using sendmail instead of direct transport
2016-01-18 13:22:31 -05:00
barisusakli
5e22c6dd25 up emoji extended 2016-01-18 18:27:04 +02:00
barisusakli
45926520cf fix typo 2016-01-18 17:35:15 +02:00
barisusakli
92b339ff1d much whitespace so wow 2016-01-18 15:40:10 +02:00
barisusakli
6802a76332 fix relative_path 2016-01-18 15:37:07 +02:00
barisusakli
cb91587567 closes #4063 2016-01-18 15:35:24 +02:00
Manuel Valle
a60e3c63cf Update overrides.js
Inside **translate** function, **translator** refers to *global* genereting warnings. Added a **translator** variable refering to **translator** module.
This solves some problems using *bootbox* in my plugins and widgets
2016-01-17 13:29:19 -06:00
pichalite
aaaab288ef ACP rewards page fix 2016-01-17 00:19:27 -08:00
pichalite
0db1caa3f6 ACP rewards page fix 2016-01-17 00:15:57 -08:00
pichalite
ed74e590b5 Revert "fixes for rewards ACP page #3910"
This reverts commit 0c740293fc.
2016-01-17 00:04:04 -08:00
pichalite
0c740293fc fixes for rewards ACP page #3910 2016-01-16 23:59:31 -08:00
pichalite
ee529d92d3 fixes NodeBB/nodebb-theme-persona#218 2016-01-16 14:49:32 -08:00
barisusakli
a133374c0b lets not run the upgrade script everytime 2016-01-16 23:55:23 +02:00
barisusakli
46f2faaa05 closes #4045 2016-01-16 11:01:06 +02:00
barisusakli
ee9d0ac2da cleanup search, removed socketuser.loadSearchPage, use regular route 2016-01-16 10:20:00 +02:00
psychobunny
1a6f9dc3f4 Merge pull request #4065 from pichalite/master
Minor styling updates to ACP Categories page
2016-01-15 18:11:39 -05:00
pichalite
15cb39bc3a style updates 2016-01-15 14:34:57 -08:00
pichalite
329e32901f style updates 2016-01-15 14:34:01 -08:00
barisusakli
6ae8bacbab removed unused code 2016-01-15 23:56:16 +02:00
psychobunny
818c130339 up persona 2016-01-15 15:27:39 -05:00
Julian Lam
a67c88fbd5 upped markdown minver 2016-01-15 15:09:30 -05:00
barisusakli
694b96ea60 closes #4064 2016-01-15 22:06:40 +02:00
psychobunny
b3a98515e9 fixed ban/unban components 2016-01-15 14:28:51 -05:00
Julian Lam
d44834fadf upped markdown minver again 2016-01-15 10:32:56 -05:00
Julian Lam
836e0e5724 upped markdown minver 2016-01-15 10:15:17 -05:00
Julian Lam
4357c2ef4e fixed #4062, fixed akhoury/nodebb-plugin-emailer-mandrill#19 2016-01-15 10:09:24 -05:00
psychobunny
a63c91de3b Merge pull request #4059 from pichalite/master
Modify ACP Skins page to use the word "Skin" instead of "Theme"
2016-01-14 18:15:45 -05:00
pichalite
90210350f9 Use Skin instead of Theme 2016-01-14 14:28:04 -08:00
pichalite
5d38b8d687 display "Select Skin" for skins 2016-01-14 14:27:05 -08:00
pichalite
deda23c708 Use Skins instead of Themes 2016-01-14 14:26:39 -08:00
Julian Lam
8f47a0c653 Fixed issue where themes without templates defined in plugin.json
did not have their templates added upon startup (backwards
compatibility re-established now)

Thanks @pichalite, for the debug!
2016-01-14 15:12:50 -05:00
Julian Lam
9836b6d464 update composer minver 2016-01-14 14:00:15 -05:00
psychobunny
7cc8390265 data.loggedIn for new posts 2016-01-14 13:25:07 -05:00
Julian Lam
fa3dc76793 updated persona minver 2016-01-14 13:01:29 -05:00
barisusakli
ab6c84471b some search/sort changes 2016-01-14 18:43:00 +02:00
barisusakli
7568e88800 remove logs 2016-01-14 17:53:55 +02:00
barisusakli
04ef47dfe7 up themes 2016-01-14 13:50:34 +02:00
barisusakli
92f0e2d86a closes #3586
added account/upvoted, account/downvoted, account/best
2016-01-14 13:47:26 +02:00
barisusakli
26094778d9 closes #4058 2016-01-14 12:45:37 +02:00
barisusakli
ae9606f5ee closes #3738 2016-01-14 11:25:07 +02:00
Julian Lam
74b23636cb Merge pull request #4055 from pichalite/master
add lastonlineISO to user
2016-01-13 19:21:19 -05:00
pichalite
55b78827fe add lastonlineISO to user 2016-01-13 15:59:44 -08:00
Julian Lam
4b40e1476a upped composer minver to fix post editing in compose route 2016-01-13 18:42:40 -05:00
Julian Lam
8b6b449a51 composer minver 2016-01-13 16:52:14 -05:00
Julian Lam
89b6a76abe upped composer minver 2016-01-13 15:54:34 -05:00
Julian Lam
e8441b7163 bumped mentions minver 2016-01-13 12:10:40 -05:00
barisusakli
83cb916264 closes #4038 2016-01-13 16:15:49 +02:00
barisusakli
40ebd66074 closes #4050 2016-01-13 09:26:03 +02:00
Julian Lam
777b9cb752 updated composer minver 2016-01-12 15:26:17 -05:00
psychobunny
aff9c35a58 up composer 2016-01-12 14:10:55 -05:00
psychobunny
d8bcdf4de0 add title to /compose route 2016-01-12 12:01:17 -05:00
barisusakli
da338a1341 fix typo 2016-01-12 16:43:17 +02:00
barisusakli
08fdc02d97 up composer 2016-01-12 16:39:17 +02:00
barisusakli
222ef14d7f added chat:autocomplete:init 2016-01-12 16:37:34 +02:00
barisusakli
1ad4128649 closes #3917, closes #2941 2016-01-12 15:47:09 +02:00
barisusakli
d035b1a353 removed npm dep, use exec('npm install/uninstall'); closes #3780 2016-01-12 13:53:26 +02:00
barisusakli
5fe2ebf660 fix typo in groups.join 2016-01-12 10:25:36 +02:00
Julian Lam
96fe6d288f Allowing theme to be re-ordered like plugins. 2016-01-11 16:23:59 -05:00
Barış Soner Uşaklı
ab4d4478e3 added rewards essentials 2016-01-11 22:38:47 +02:00
Julian Lam
e6711189fd updated composer again 2016-01-11 15:32:41 -05:00
Julian Lam
2bc4313429 updated latest themes 2016-01-11 15:16:06 -05:00
Julian Lam
d67efa3a5b update core to allow composer to define static route 2016-01-11 15:15:48 -05:00
barisusakli
59c350e63c closes #4019 2016-01-11 19:15:43 +02:00
psychobunny
11f4e8887e up vanilla 2016-01-11 12:09:19 -05:00
barisusakli
20ca1e40aa fallback 2016-01-11 18:40:40 +02:00
barisusakli
77313800da up rimraf 2016-01-11 18:31:33 +02:00
barisusakli
1eaa7cd29b added node 4.2 to travis 2016-01-11 17:52:30 +02:00
barisusakli
c0c5cf54d4 up lru cache 2016-01-11 17:52:23 +02:00
barisusakli
4a2a17521d up html-to-text 2016-01-11 17:46:21 +02:00
barisusakli
67001c453b up jimp 2016-01-11 17:45:50 +02:00
barisusakli
d44d036b67 up mongodb connect-mongo remove workaround 2016-01-11 17:42:23 +02:00
barisusakli
68ee690e48 up connect redis 2016-01-11 17:37:23 +02:00
barisusakli
1070fff0e3 closes #3991 2016-01-11 11:20:20 +02:00
barisusakli
3ea453e8a0 closes #4006 2016-01-11 10:27:39 +02:00
Barış Soner Uşaklı
d23e6758ba Merge pull request #4044 from pichalite/master
remove "watch" from list of usage options
2016-01-11 09:42:34 +02:00
Barış Soner Uşaklı
dd0560a4b8 closes #4043 2016-01-10 22:27:56 +02:00
Barış Soner Uşaklı
24114539d5 closes #4046 2016-01-10 20:51:16 +02:00
pichalite
157f0dbed1 remove "watch" from list of usage options 2016-01-10 01:03:26 -08:00
barisusakli
fddc6157a3 fix return of getRecentTopicReplies 2016-01-10 10:59:04 +02:00
barisusakli
005db18120 closes #4041 2016-01-10 10:26:47 +02:00
Julian Lam
2ef42e79ec added filter for popular route 2016-01-08 21:36:59 -05:00
barisusakli
af60fbee3d up themes 2016-01-08 12:41:36 +02:00
barisusakli
18013c5518 closes #3977 2016-01-08 12:34:22 +02:00
psychobunny
cbcae33173 epic fail spelling 2016-01-07 18:11:39 -05:00
psychobunny
6b58948533 up persona 2016-01-07 17:24:13 -05:00
Julian Lam
1d42655bb5 allow User.create to accept fullname 2016-01-07 17:18:39 -05:00
psychobunny
c41889c678 up themes 2016-01-07 16:26:39 -05:00
psychobunny
70bbf41dc3 popular/tab component 2016-01-07 16:24:26 -05:00
Julian Lam
8fa2c34fc5 Deprecated action:user.loggedOut, updated plugin deprecation notices
... to show replacement, if available.
2016-01-07 15:42:18 -05:00
barisusakli
aa30973f0a fix params 2016-01-07 20:29:31 +02:00
barisusakli
dea74aa11e removed heapdump 2016-01-07 20:13:01 +02:00
barisusakli
a6074da17e closes #4032 2016-01-07 18:07:43 +02:00
barisusakli
f91afb5b99 closes #4030 2016-01-07 17:18:45 +02:00
Julian Lam
57918332e9 fixed issue with no 'from' name when using NodeMailer 2016-01-06 15:58:25 -05:00
barisusakli
80cc251741 style 2016-01-06 12:56:00 +02:00
barisusakli
96aa94ee10 refactor categories 2016-01-06 12:49:27 +02:00
Barış Soner Uşaklı
1a86e68394 fix references 2016-01-05 23:32:30 +02:00
Julian Lam
a830995dda #4028 2016-01-05 10:16:25 -05:00
Julian Lam
27a9ba5928 #4028 2016-01-05 10:14:19 -05:00
Julian Lam
00a22e945d closes #3899 2016-01-04 16:23:08 -05:00
barisusakli
c28494724f filter dupes 2016-01-04 22:50:51 +02:00
Julian Lam
3664c94581 latest fallbacks 2016-01-04 14:25:02 -05:00
Julian Lam
fb0ce8f60f Updated subject line in text emails
Would always show "NodeBB" before. Now shows proper site title.
2016-01-04 13:07:30 -05:00
Julian Lam
ebb954b0fa translations? 2016-01-04 11:24:56 -05:00
barisusakli
eb57276980 fix test 2016-01-04 15:08:07 +02:00
barisusakli
c10b2fdb60 closes #4022 2016-01-04 14:33:47 +02:00
barisusakli
7ad90b4ef6 closes #2659 2016-01-04 11:22:35 +02:00
barisusakli
caabbcf9fd closes #3949 2016-01-03 14:42:56 +02:00
barisusakli
d9b6a06714 limit topic views by session 2016-01-03 14:37:37 +02:00
barisusakli
e693843314 closes #4017
inb4 2016
2016-01-01 01:18:39 +02:00
Julian Lam
4147e0cb94 closes #3719 2015-12-31 12:15:31 -05:00
Julian Lam
fcb381f922 Fixes #3695
Guests now trigger topic notifications, and the translator has
been updated so that translations inside translations are
handled in a way that doesn't cause the translator to explode.
2015-12-31 12:03:48 -05:00
Julian Lam
1660e13aed #3695 2015-12-31 11:36:28 -05:00
Julian Lam
a6d2700823 latest translations 2015-12-30 09:40:49 -05:00
Barış Soner Uşaklı
c18d185ce4 fixes #3999 2015-12-29 13:20:49 -05:00
Julian Lam
de34c7d576 fixed #3966 2015-12-29 13:19:33 -05:00
barisusakli
0b855074d3 up themes 2015-12-29 15:35:13 +02:00
barisusakli
51154c8726 closes #3998 2015-12-29 15:33:16 +02:00
barisusakli
3b1a2d65ab fix revokeAllSessions 2015-12-29 15:23:05 +02:00
barisusakli
990434476b group.exists([]) fix 2015-12-29 11:21:46 +02:00
barisusakli
c7c503f563 added groups.exists([]) test 2015-12-29 11:05:02 +02:00
barisusakli
e1392fd61b whitespace fix 2015-12-29 11:02:52 +02:00
barisusakli
e6b7b51956 getHomePageRoutes 2015-12-29 10:46:57 +02:00
barisusakli
6be8675580 closes #4012 2015-12-29 10:34:06 +02:00
barisusakli
99d64db9e0 closes #4011
allow both `.png` and `png`
2015-12-28 15:38:02 +02:00
barisusakli
77b9406841 closes #4008 2015-12-28 14:37:04 +02:00
barisusakli
f8a114ba5c closes #4010 2015-12-28 11:59:52 +02:00
barisusakli
8e5d26ec36 missing , 2015-12-28 11:05:46 +02:00
barisusakli
6b42b8c9d9 added static:app.reload closes #4002 2015-12-28 10:56:04 +02:00
barisusakli
9a5b308015 closes #4009 2015-12-28 10:50:40 +02:00
barisusakli
cf889b70bd closes #3982 2015-12-28 10:42:15 +02:00
barisusakli
29e87ac984 fix initial room creation 2015-12-26 08:41:03 +02:00
barisusakli
7185463d81 display avg object size in bytes 2015-12-26 08:40:08 +02:00
barisusakli
ac77f78d6b closes #3994 2015-12-25 10:19:15 +02:00
barisusakli
300996b0d1 closes #2329 2015-12-24 12:20:27 +02:00
barisusakli
687d29a44b closes #2134 2015-12-24 12:08:10 +02:00
barisusakli
dffb57ba14 closes #3986 2015-12-24 10:52:32 +02:00
barisusakli
478faac945 closes #3997 2015-12-24 09:52:25 +02:00
barisusakli
a43eef283c store user sessionId mapping per user 2015-12-23 18:22:32 +02:00
Julian Lam
b7e492363c #3989 2015-12-23 10:51:07 -05:00
Julian Lam
ad9a1d0f2c closes #3989
Squashed commit of the following:

commit 23de0708708ed190eafbcd6ea93d43333cb87aa3
Author: Julian Lam <julian@designcreateplay.com>
Date:   Wed Dec 23 10:48:16 2015 -0500

    wired up session revocation, #3989

commit 45a3f18321b74a9b6893d404b6c870f1ec4d95cd
Author: Julian Lam <julian@designcreateplay.com>
Date:   Wed Dec 23 09:49:27 2015 -0500

    session deletion via session uuid

commit 2bf87338cf9bfa2df0b299639421d8da7553c69a
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 22 13:53:35 2015 -0500

    WIP #3989

commit 623f45c3fa8b96f8b6eec0613eb7f9463348ab93
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 22 10:22:24 2015 -0500

    saving more metadata and displaying sessions in UCP #3989

commit d0567ed7cc33a1aea66e921b657f782038f32191
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 22 10:21:38 2015 -0500

    updated fontawesome to v4.5.0

commit 7131c97fe8ab42838eb2915a04e74f80f3d9a133
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 22 09:39:16 2015 -0500

    saving user-agent metadata into user session #3989

commit 661b7e6dba774b80b5dc6d04f89a79f809ff791e
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 22 09:23:24 2015 -0500

    New user auth methods to add/revoke sessions, #3989
2015-12-23 10:48:45 -05:00
Julian Lam
d9125c215c more notif crash fixes 2015-12-23 09:50:34 -05:00
barisusakli
94d8671447 not needed 2015-12-23 13:15:45 +02:00
barisusakli
ab0797a6d8 chat fixes
update bootstrap tags input
dont allow adding self to chat room
2015-12-23 13:00:43 +02:00
barisusakli
df605babff closes #3983 2015-12-23 12:28:19 +02:00
barisusakli
abed319da2 closes #3996 2015-12-23 11:27:34 +02:00
barisusakli
5b1999be10 Merge remote-tracking branch 'origin/master' 2015-12-23 10:11:11 +02:00
barisusakli
0887105046 created chat:room hashes, save owner uid in hash, update chat uids when they message 2015-12-23 10:10:59 +02:00
Julian Lam
a38d79e6ec fixing notifications crash again 2015-12-22 13:54:01 -05:00
barisusakli
4c7647adeb up dbsearch 2015-12-22 19:00:39 +02:00
barisusakli
b4014ac420 closes #3988 2015-12-22 15:02:21 +02:00
Julian Lam
85c1683a25 latest translations 2015-12-21 21:40:42 -05:00
sanatisharif
f795ddc9cb Updated Persian translation 2015-12-21 21:18:00 -05:00
Julian Lam
36eed0f22f more tweaks to notif grouping 2015-12-21 15:29:16 -05:00
Julian Lam
64efe541f5 fix #3965 2015-12-21 14:29:46 -05:00
Julian Lam
8c84ce9914 theme minvers 2015-12-21 12:58:12 -05:00
barisusakli
a3dc427e67 if there are no messages pass empty array 2015-12-21 15:40:53 +02:00
barisusakli
382b2bf06d up themes 2015-12-21 12:56:56 +02:00
barisusakli
738b17cae6 closes #3584 2015-12-21 12:51:49 +02:00
barisusakli
3d0e412bfd removed extra vars 2015-12-21 12:19:12 +02:00
barisusakli
b3f63e0a0d closes #3938 2015-12-21 12:02:10 +02:00
barisusakli
4bff714947 closes #3953
dont remove topics if selection is in progress
2015-12-21 11:21:36 +02:00
barisusakli
c8edb6de29 fix semicolon 2015-12-21 10:37:33 +02:00
barisusakli
1e8409ef83 fix tab 2015-12-21 10:36:44 +02:00
barisusakli
5b530253bb closes #3978 2015-12-21 10:32:53 +02:00
barisusakli
099d05e295 up themes 2015-12-21 10:19:40 +02:00
barisusakli
dff3d7f20e various group chat fixes #3980
fix multiple modals using the same tagsinput
fix online user getting chat notification
fix owner not being able to remove users in the chat modal
2015-12-21 10:14:44 +02:00
barisusakli
80fd0b20bd closes #3970 2015-12-19 20:52:20 +02:00
barisusakli
1449d438f5 closes #3969 2015-12-19 20:41:56 +02:00
barisusakli
f0b333e8a1 closes #3929 2015-12-19 20:20:41 +02:00
barisusakli
b1d530298d up vanilla 2015-12-19 19:25:09 +02:00
barisusakli
97dfa81fe6 up persona 2015-12-19 19:15:48 +02:00
Julian Lam
fe5e5ea8ef fixing another null crash 2015-12-19 12:13:51 -05:00
barisusakli
f73e6eb4a1 fix related 2015-12-19 19:10:16 +02:00
Barış Soner Uşaklı
a5385d81fd Merge pull request #3968 from NodeBB/group-chat
Group chat closes #1798
2015-12-19 18:55:16 +02:00
barisusakli
d209daf312 Merge remote-tracking branch 'refs/remotes/origin/master' into group-chat 2015-12-19 18:31:53 +02:00
Julian Lam
5d43da0d1c 0.9.3 2015-12-19 11:06:38 -05:00
barisusakli
5e9a656709 Merge remote-tracking branch 'refs/remotes/origin/master' into group-chat 2015-12-19 17:21:52 +02:00
barisusakli
80544119dc some changes to related code 2015-12-19 17:21:09 +02:00
Julian Lam
fe90dd77c1 fixed #3967 2015-12-19 09:31:03 -05:00
psychobunny
b2049e7acf add color/bgColor to return 2015-12-18 16:58:07 -05:00
Julian Lam
0ded293caf removed JSONP listener 2015-12-18 16:58:29 -05:00
Julian Lam
04879e6da2 updated jquery-timeago locales 2015-12-18 14:13:47 -05:00
Julian Lam
668adc5187 fixing bootswatch integration 2015-12-18 12:56:24 -05:00
Julian Lam
af55f55b45 latest translations 2015-12-18 12:49:10 -05:00
barisusakli
270f8130da closes #3952 2015-12-18 13:32:53 +02:00
barisusakli
351bf6c327 fix tests 2015-12-18 13:19:16 +02:00
barisusakli
26ac05dd5c Merge remote-tracking branch 'refs/remotes/origin/master' into group-chat 2015-12-18 13:16:55 +02:00
barisusakli
9981555042 rename 2015-12-18 13:14:44 +02:00
barisusakli
e067d26ca3 closes #3961 2015-12-18 13:09:47 +02:00
Julian Lam
a091067175 closes #3963 2015-12-17 18:22:09 -05:00
psychobunny
89901b2caa reorganized settings/tags acp 2015-12-17 16:53:42 -05:00
psychobunny
339b4c30fc ability to set maximum related topics rendered in ACP 2015-12-17 16:52:02 -05:00
psychobunny
ba719148c1 generic "related topics" functionality 2015-12-17 16:44:43 -05:00
Julian Lam
0af11c5c0c fallbacks for new notification groupings 2015-12-17 14:01:08 -05:00
Julian Lam
bdeb97e225 updating composer minver again 2015-12-17 09:40:53 -05:00
Julian Lam
065bb8ebc4 #3962 2015-12-17 09:35:41 -05:00
barisusakli
4827ea04fc messaging.getTeaser 2015-12-17 12:35:49 +02:00
barisusakli
5a26eb1c76 IS fix, timeago fix 2015-12-17 12:25:30 +02:00
barisusakli
3d79e0750b fix edit delete for rooms 2015-12-17 12:05:35 +02:00
barisusakli
992ca0a351 fix taskbar icon 2015-12-17 11:56:28 +02:00
barisusakli
d2b54ae0f8 display less derpy chat list 2015-12-17 11:47:32 +02:00
barisusakli
f71fd0a3ec only allow users in the room to get raw message content 2015-12-17 11:22:22 +02:00
psychobunny
3ce9d0ac2f fixed ordered lists in post content 2015-12-16 17:39:21 -05:00
psychobunny
23c2fb2b52 un-nuking @julianlam :rage1: also fixed for latest BS 2015-12-16 17:24:07 -05:00
psychobunny
8b04b4fe50 up persona 2015-12-16 16:55:50 -05:00
Julian Lam
f4187fc671 fixing crash with deleted notifications 2015-12-16 15:33:00 -05:00
Barış Soner Uşaklı
f4e502c793 simpler isNewSet 2015-12-16 21:52:42 +02:00
Julian Lam
40f0076b77 fixed bug with notif merging 2015-12-16 14:30:58 -05:00
Julian Lam
9f5815555a fixed null error with notif grouping 2015-12-16 13:56:12 -05:00
Julian Lam
05df8900db closes #3912 2015-12-16 12:15:26 -05:00
Julian Lam
9db0f59432 part of #3912 2015-12-16 12:15:26 -05:00
Julian Lam
33a3a56fd7 Fixed issue where -w and -a flags didn't work in NodeBB reset. 2015-12-16 10:04:58 -05:00
Julian Lam
e602d2ad4d closes #3932 2015-12-16 09:42:17 -05:00
barisusakli
002e931a9c rev 2015-12-16 16:41:39 +02:00
barisusakli
da5891bcf6 remove debug 2015-12-16 15:49:39 +02:00
barisusakli
832a20e59e markRead fixes 2015-12-16 15:43:01 +02:00
barisusakli
1bd9b364e4 fix notifs, dont send to self, fix notification path to roomId 2015-12-16 15:12:06 +02:00
barisusakli
d8810ceae9 send messages 2015-12-16 15:09:14 +02:00
barisusakli
784ff07907 ability to add/remove users from chat rooms, tagsinput 2015-12-16 13:35:24 +02:00
barisusakli
8fab270852 leaveRoom method, small fixes 2015-12-16 11:30:10 +02:00
barisusakli
f8a6666e1a chat notify changes 2015-12-16 11:15:43 +02:00
barisusakli
2ac34ba391 fix recepientUid 2015-12-16 10:16:44 +02:00
barisusakli
29d8b9c181 more room changes app.openChat 2015-12-16 10:09:00 +02:00
barisusakli
d5bccfb292 delete chats on user delete 2015-12-16 09:30:55 +02:00
barisusakli
c5d2f61b01 more fixes 2015-12-15 20:00:51 +02:00
barisusakli
43c697a5df edit message 2015-12-15 19:39:45 +02:00
barisusakli
a1ab50bd2d check admin and priv groups 2015-12-15 19:34:48 +02:00
barisusakli
6b12bd2328 update messaging.editMessage 2015-12-15 19:16:24 +02:00
barisusakli
5d1169e686 changed the chat route to /chats/:roomid? 2015-12-15 19:05:32 +02:00
barisusakli
58d05f7c79 recent chat list with rooms 2015-12-15 17:50:30 +02:00
barisusakli
e2e547db45 first part of messaging refactor 2015-12-15 14:10:32 +02:00
barisusakli
8bda497b41 upgrade script for chats 2015-12-15 11:24:29 +02:00
psychobunny
55b75ba502 up'd persona 2015-12-14 18:06:45 -05:00
Julian Lam
ea1b640435 calling translator in parseMessage 2015-12-14 16:20:12 -05:00
Barış Soner Uşaklı
530b0dc19e use .text() 2015-12-14 22:03:18 +02:00
Julian Lam
8c87ff44d1 #3829 2015-12-14 15:00:57 -05:00
Julian Lam
37b13b4879 Re-added file extension restriction ACP option
Closes #3918
2015-12-14 14:57:19 -05:00
Barış Soner Uşaklı
7e1a84850c closes #3948 2015-12-14 21:51:47 +02:00
Julian Lam
cc4997aeca fixes #3940 2015-12-14 14:28:27 -05:00
Julian Lam
7b49dc9061 fixes #3935 2015-12-14 14:20:52 -05:00
Julian Lam
a4d8ab9d12 fixes #3950 2015-12-14 14:13:18 -05:00
Julian Lam
c04622506d console.log removal 2015-12-14 14:08:58 -05:00
Julian Lam
0b735fad17 fixed #3936 2015-12-14 14:07:18 -05:00
Julian Lam
46571ccd77 closes #3930 2015-12-14 13:39:53 -05:00
Julian Lam
c1460d36f0 Deprecated uploader.open, use uploader.show instead
... as it now takes a single Object argument instead of multiple
parameters.

Also, closes #3942. Help text is just omitted now.
2015-12-14 12:00:24 -05:00
Julian Lam
84a039446c updated modal to not show parentheses when max file size
is not defined...

Also fixing hideAlerts error in ACP when opening the upload modal.
2015-12-14 11:31:49 -05:00
Julian Lam
1cf2ad339a latest translations and fallbacks 2015-12-14 09:28:15 -05:00
barisusakli
24a302ea1a closes #3947 2015-12-13 18:06:23 +02:00
Barış Soner Uşaklı
fd215c774f Merge pull request #3946 from akhoury/patch-3
[minor] meta tag, content-type shouldnt be escaped
2015-12-13 17:22:03 +02:00
barisusakli
518552de64 dont calculate pid index on new replies 2015-12-13 17:07:52 +02:00
Aziz Khoury
b4c8301596 [minor] meta tag, content-type shouldnt be escaped
so `text/html; charset=UTF-8` and not `text&#x2F;html; charset=UTF-8`
2015-12-12 13:07:51 -05:00
Julian Lam
bcbc8608a4 newSet calculations bugfix 2015-12-11 20:04:27 -05:00
Julian Lam
3b6b36cfa6 fixing possible crash 2015-12-11 19:50:21 -05:00
Julian Lam
4cc4824087 Merge pull request #3908 from pitaj/master
Maximum invites and invites are stored
2015-12-11 15:59:59 -05:00
Julian Lam
2d203d7dca Squashed commit of the following:
Closes #2668

commit 3d4f494ed3257bceda8f6f82057cab83f0f252b3
Author: Julian Lam <julian@designcreateplay.com>
Date:   Fri Dec 11 12:06:42 2015 -0500

    theme minvers for #2668

commit b608ce61854f8195143685bb9753b80d32b26e95
Author: Julian Lam <julian@designcreateplay.com>
Date:   Fri Dec 11 12:01:03 2015 -0500

    Allowing chat modal to edit and delete messages

    re: #2668

commit 0104db90a4070582f3938b6929dae35f985bac35
Author: Julian Lam <julian@designcreateplay.com>
Date:   Fri Dec 11 11:51:23 2015 -0500

    Fixed issue where newSet calculations were off

    ... sometimes.

    Also, rendering of edited messages now parses a template partial,
    instead of just replacing the content.

commit 5cb6ca600425ca9320c599b32306e93dcc5aa4ce
Author: Julian Lam <julian@designcreateplay.com>
Date:   Fri Dec 11 11:07:12 2015 -0500

    If edited content matches existing content...

    ... then edit is aborted.

commit 6e7495247b1895589c716db29f919a934087b924
Author: Julian Lam <julian@designcreateplay.com>
Date:   Fri Dec 11 11:05:08 2015 -0500

    some linting and fixed issue where new msgs when deleted would crash server

commit db4a9e40d6dff44569c2437378121db8fdf75cf8
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 8 17:25:56 2015 -0500

    Message deletion for #2668, and fixed bug

    Fixed bug where chat modal would spawn even though user was sitting
    on the /chats page.

commit a5aa2498ab4a8bba02a6daa43a9dbed7b3e37976
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 8 14:55:23 2015 -0500

    wiring up the edit button, #2668

commit 5f2afdcf6f2b9eae6b5873ca100149e65e3d385d
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 8 14:20:39 2015 -0500

    added indicator to show if and when a message had been edited

commit e8301132d525c1b9fd46c98cdb282ac7ea7a0d7f
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 8 14:06:39 2015 -0500

    Allowing editing of chat messages

commit bfd991be1cb1769599f7d5d2b1638e313c3c2dcb
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 8 10:33:49 2015 -0500

    Added messageId to messages object return

commit 0306ee6657b3288dd4547c66869d7d4ece0b31ad
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Dec 8 08:20:17 2015 -0500

    WIP #2668
2015-12-11 12:07:02 -05:00
barisusakli
d12e8e1116 closes #3814 2015-12-11 15:24:49 +02:00
barisusakli
42cce3771b closes #3846 2015-12-11 15:17:05 +02:00
barisusakli
8dc9475041 closes #3941 2015-12-11 14:57:47 +02:00
barisusakli
60e186c8f3 refactor api/username api/email 2015-12-11 11:07:37 +02:00
barisusakli
fff5def99b up dbsearch 2015-12-11 11:00:50 +02:00
barisusakli
dcbf53bae3 moved search to dbsearch 2015-12-11 10:57:13 +02:00
Julian Lam
538c6ab7e7 added redisearch to dependencies 2015-12-10 17:18:03 -05:00
Julian Lam
9c36e81f3a 0.9.2 2015-12-10 16:01:35 -05:00
Julian Lam
4ce6bcfa6a latest translations 2015-12-10 16:01:16 -05:00
Julian Lam
7220ed2010 nodebb/nodebb-theme-persona#214 2015-12-10 11:08:30 -05:00
Julian Lam
aebaf8f589 #3939 2015-12-10 10:18:16 -05:00
barisusakli
745007a2b3 closes #3873 2015-12-10 12:19:43 +02:00
barisusakli
0ffd5254ad closes #3933, closes #3934 2015-12-10 09:00:46 +02:00
Barış Soner Uşaklı
cdca09a7b2 escape error message on 500 page 2015-12-09 21:18:56 +02:00
barisusakli
7b21760f00 refactor get user by x 2015-12-09 17:43:28 +02:00
Barış Soner Uşaklı
69bc870017 Merge pull request #3927 from lots0logs/master
Add api endpoints to get user by username and by email
2015-12-09 17:32:40 +02:00
barisusakli
5a2062ba32 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	package.json
2015-12-08 19:03:20 +02:00
Julian Lam
d1fb09caec apparently I *did* need html-to-text. 2015-12-07 16:41:21 -05:00
Julian Lam
963d9b22b3 Removing and updating dependencies to satisfy david-dm.org 2015-12-07 16:06:42 -05:00
Julian Lam
5adb8da427 enabled Gmail routing for email fallback 2015-12-07 15:27:04 -05:00
Julian Lam
7d9136f655 closes #3926 2015-12-07 13:53:14 -05:00
Dustin Falgout
17e5d72815 fix waterfall
Signed-off-by: Dustin Falgout <dustin@falgout.us>
2015-12-06 09:34:51 -06:00
Dustin Falgout
0e5830d6f2 add api endpoints to get user by username and by email
Signed-off-by: Dustin Falgout <dustin@falgout.us>
2015-12-06 09:16:20 -06:00
Julian Lam
bc199d6872 By default, always switch chat in chats page
closes #3915
2015-12-04 15:49:32 -05:00
Julian Lam
648e9c4dc8 fix #3889 2015-12-04 14:44:34 -05:00
Julian Lam
9560ee3a14 upped mentions minver, #3911 2015-12-04 12:41:56 -05:00
Julian Lam
acc2dfa037 latest translations, closes #3911 2015-12-04 12:39:42 -05:00
Julian Lam
2af11a23ce fixes #3922 2015-12-04 11:30:18 -05:00
Julian Lam
f77f39e937 Fixed #3925
Also updated port local variable to be a Number, since all of the
conditional checks assume it is a number, when all along it has
been a string.... heh.
2015-12-04 08:32:01 -05:00
Barış Soner Uşaklı
721649bff9 Merge pull request #3919 from yariplus/noredirectoncathp
Don't change url when homepage is set to a category.
2015-12-03 06:27:34 -05:00
Julian Lam
6a3200ed48 fixes #3921 2015-12-02 10:44:40 -05:00
yariplus
12fb512d3c Don't change url when homepage is set to a category. 2015-12-01 12:59:18 -05:00
Julian Lam
3a520cdfbf Successful web installer now doesn't show 503 2015-11-30 23:10:59 -05:00
Barış Soner Uşaklı
9770983fdb closes #3913 2015-11-29 16:49:23 -05:00
Julian Lam
fc495a83ec closes #3763 2015-11-28 23:26:51 -05:00
Julian Lam
992bcffcdf we stopped using -dev versions, so this conditional is unnecessary 2015-11-28 23:25:32 -05:00
Julian Lam
1b9defdf8b closes #3892 2015-11-28 23:22:39 -05:00
Julian Lam
335d711dbd closes #3907 2015-11-28 22:41:39 -05:00
Julian Lam
07d57f945b nodebb/nodebb#3907 2015-11-28 22:38:12 -05:00
Julian Lam
91c012e642 #3907 2015-11-28 22:32:28 -05:00
Julian Lam
a936866688 revamped ACP Flags interface, #3907 2015-11-28 22:08:06 -05:00
Julian Lam
07e1102500 fixes #3909 2015-11-28 21:40:20 -05:00
Peter Jaszkowiak
259eb585d6 Added template data for admin invite only 2015-11-28 15:38:17 -07:00
Peter Jaszkowiak
67905667a9 Added admin-only invites 2015-11-28 15:33:17 -07:00
Peter Jaszkowiak
af8e649246 Fix indentation in translations 2015-11-27 17:00:36 -07:00
Peter Jaszkowiak
a3cfcd9a48 Maximum invites, invites stored
Added the ability for admins to restrict the maximum amount of invites
a user can make. Invites are stored and displayed in the registration
queue admin page.
2015-11-27 16:55:31 -07:00
Julian Lam
fc476ba168 Fixes #3906
Initially, the removed block of code was used to stop the chat modal
from popping up altogether, since the /chats page was usable on
mobile. Since the re-design, only the contact list is shown on
mobile, leaving the modal as the main way to communicate. So, this
intercepting code is actually interfering now.
2015-11-27 12:52:58 -05:00
Julian Lam
bbc42a937e fixed LRU cache problem 2015-11-26 23:34:55 -05:00
Julian Lam
c3560f677c 0.9.1 2015-11-26 23:28:32 -05:00
barisusakli
0283bfbef2 up vanilla 2015-11-26 10:36:15 -05:00
Barış Soner Uşaklı
5521a55db9 Merge pull request #3900 from Schamper/debug-fix
Also clean the minifier process options if the --debug option is used
2015-11-25 20:32:08 -05:00
Julian Lam
f673f4f186 🐶 2015-11-25 16:50:46 -05:00
Julian Lam
e232d9e198 Fixed issue where page view counts kept changing
... when they should only really be updated for the
hourly pageviews graph.
2015-11-25 16:45:21 -05:00
barisusakli
124b79f6aa fix user search pagination 2015-11-25 16:01:05 -05:00
Schamper
6b21e34c76 Also clean the minifier process options if the --debug option is used 2015-11-25 21:19:31 +01:00
Julian Lam
d12ccfacb5 latest translations 2015-11-25 15:11:35 -05:00
Julian Lam
6d386dd2ee Fixed some labelling issues and added support for last month 2015-11-25 14:48:32 -05:00
Julian Lam
7f9ac3f1fe Fixing bug where the labels would revert back to hours 2015-11-25 14:33:31 -05:00
Julian Lam
027d80debd Fixed issue where graph would always switch back to single-day 2015-11-25 14:26:38 -05:00
Julian Lam
9c1b067445 Closes #3884
Added toggles to change graph to monthly view vs regular
single-day view.

Also fixed issue where labels were out of date as the graph
data changed.
2015-11-25 14:23:14 -05:00
barisusakli
9f48d3e6d2 check pid before setting cache 2015-11-25 12:30:43 -05:00
barisusakli
1c71001e1d check err and print info 2015-11-25 12:20:37 -05:00
barisusakli
d3778a052a fix ajaxify data 2015-11-25 12:02:13 -05:00
Julian Lam
97ce08f5af Removed rel="canonical", closes #3758
On the advice of the following articles:
  - http://googlewebmastercentral.blogspot.com/2013/04/5-common-mistakes-with-relcanonical.html
  - https://moz.com/blog/rel-confused-answers-to-your-rel-canonical-questions

rel="canonical" should not be shown on the same page
as rel="prev" and rel="next" as Google will implicitly
assume that they all point to the same page. With the
"pageless" variety only showing the first page of posts,
it explains exactly why any post content after the first
page is not indexed by Google.

... or perhaps it *is* indexed, but not returned. Who
the heck knows. 😄
2015-11-25 11:27:23 -05:00
Julian Lam
9589de551e added toggler to disable toobusy if necessary 2015-11-24 14:07:47 -05:00
barisusakli
33f07b82f9 closes #3893 2015-11-23 11:59:00 -05:00
barisusakli
ecd777b659 closes https://github.com/NodeBB/nodebb-theme-persona/issues/206 2015-11-23 10:57:43 -05:00
Barış Soner Uşaklı
f87a8bd016 Merge pull request #3887 from akhoury/patch-2
updating spam-be-gone's version to 0.4.5
2015-11-20 10:54:45 -05:00
Aziz Khoury
a695d3029b updating spam-be-gone's version to 0.4.5
related to https://github.com/akhoury/nodebb-plugin-spam-be-gone/issues/44
2015-11-20 10:53:42 -05:00
barisusakli
59ed276dce dont allow banned users to flag 2015-11-20 10:43:42 -05:00
Barış Soner Uşaklı
b99bc4d71a Merge pull request #3822 from edasque/master
Docker: Insure we're on a recent & Long Time Support (LTS) version of node.
2015-11-18 12:26:08 -05:00
barisusakli
b08f6073de check ogImageUrl 2015-11-17 15:49:01 -05:00
barisusakli
d7ea418ba9 up jimp & persona 2015-11-17 14:23:15 -05:00
barisusakli
5a9edf5973 closes #3881 2015-11-17 12:25:46 -05:00
psychobunny
abeb91e172 Merge pull request #3880 from rbeer/hidden_category-topics
Respond with 404 when topic inside hidden category
2015-11-17 03:25:09 -05:00
Raphael Beer
cf7b7a8d4c Respond with 404 when topic inside hidden category 2015-11-17 09:10:20 +01:00
barisusakli
1b7ca555e0 closes #3879 2015-11-16 16:51:25 -05:00
Julian Lam
59b1c3c7f8 Merge pull request #3878 from sorvani/master
update copyright in footer
2015-11-16 21:06:34 +00:00
Julian Lam
65ce8a50b3 Removed cant-vote-self-post
As suggested in nodebb/nodebb-theme-persona#203, a positive
action has been applied when a user attempts to upvote
their own post. It will now open the upvoters modal
instead of throwing an alertError.

Closes nodebb/nodebb-theme-persona#203
2015-11-16 15:03:39 -05:00
barisusakli
6bb4a8ec85 up vanilla 2015-11-16 14:46:00 -05:00
Jared Busch
396b623039 update copyright in footer 2015-11-15 22:44:26 -06:00
barisusakli
1c8a5c1eab Merge remote-tracking branch 'origin/master'
Conflicts:
	package.json
2015-11-14 20:29:27 -05:00
barisusakli
52e71b5f2e up dbsearch 2015-11-14 20:28:51 -05:00
Barış Soner Uşaklı
c55abdd095 closes #3815 2015-11-13 17:45:36 -05:00
Julian Lam
6ad715f948 fallbacks for nodebb.topic 2015-11-13 16:58:22 -05:00
Julian Lam
fcd13e48f5 spam-be-gone minver 2015-11-13 16:42:30 -05:00
Julian Lam
5cdcf0f642 updating composer minver again because I am dumb, #3693 2015-11-13 16:30:10 -05:00
Julian Lam
053f450f69 upped composer minver again, #3693 2015-11-13 16:27:02 -05:00
Julian Lam
c2963a7ca9 Composer minver, #3693 2015-11-13 16:25:20 -05:00
Julian Lam
65396000d2 Updated modal to not be .confirm() but .dialog()
Also updated composer code to actually send a link back
to the other topic...

Closes #3693
2015-11-13 16:22:27 -05:00
barisusakli
8514b6e175 up t.js 2015-11-12 21:25:50 -05:00
barisusakli
78307c48a6 up uglify js 2015-11-12 14:18:33 -05:00
barisusakli
23e57a8001 closes #3861 2015-11-12 14:17:04 -05:00
barisusakli
20c8411287 closes #3767 closes #3774 2015-11-12 14:14:27 -05:00
barisusakli
a6b561d8c0 removed gravatar from package.json 2015-11-11 20:53:22 -05:00
barisusakli
13c7fc0e7f update winston 2015-11-11 20:32:24 -05:00
barisusakli
b02fd102cb update async uglify 2015-11-11 20:28:54 -05:00
Julian Lam
e35cb6d78d latest translations 2015-11-11 15:41:08 -05:00
Julian Lam
0260c5b68b updated image_spec to not have gif, but bmp 2015-11-11 15:38:34 -05:00
Julian Lam
440bd5c37c fixed crash on empty aboutme 2015-11-11 15:19:11 -05:00
Julian Lam
34725ec3e5 Fixes #3852
Added meta data to user profile pages, and also added noEscape
option to meta tag input. If set, validator escaping won't be
run on that value.
2015-11-11 14:20:43 -05:00
Julian Lam
dbe5b963bd fixes #3863 :trollface: 2015-11-11 13:52:29 -05:00
barisusakli
872e00849a moved deleteVotes into deleteAccount 2015-11-11 00:00:13 -05:00
Julian Lam
3469c47a59 language fallbacks for #3825 2015-11-10 16:04:13 -05:00
Julian Lam
93c077dabd closes #3825 2015-11-10 16:02:56 -05:00
Julian Lam
00a4ba6617 latest translations 2015-11-10 15:36:49 -05:00
Julian Lam
dc035c11f3 updated widget code to work better with sidebar areas 2015-11-10 14:40:27 -05:00
barisusakli
e5cd928419 closes #3826 2015-11-10 13:18:06 -05:00
barisusakli
ec3ae307e9 closes #3853 2015-11-10 13:13:16 -05:00
Julian Lam
8944856692 updated approval queue message to use modal 2015-11-09 15:59:16 -05:00
Julian Lam
96afd13155 Removed mmmagic from dependencies, closes #3836 2015-11-09 15:32:04 -05:00
Julian Lam
61889d9c30 upped persona minver 2015-11-09 15:23:16 -05:00
Julian Lam
a9cb98c02e upped persona minver 2015-11-09 15:16:10 -05:00
Julian Lam
ccf957f681 Added cancel button to picture change modal 2015-11-09 15:04:47 -05:00
Julian Lam
277a3ba2af Updated guest user icon and bgColor
Due to the label for guests being translatable, the
first character for guests was actually "[", causing
their user icon to be "[" with a colour.

This commit changes it to be a hardcoded question mark
and with a grey background colour.
2015-11-09 14:47:40 -05:00
Julian Lam
051a8e22df Removed allowedFileExtensions meta config
Now, when NodeBB needs to determine file compatibility, jimp
will attempt to open the file for reading. If it fails, file is
considered to be of an invalid type.
2015-11-09 14:39:00 -05:00
Julian Lam
b9c9e24ca7 upping lav minver 2015-11-09 12:59:11 -05:00
Julian Lam
8a90afeed2 fixes #3859 2015-11-09 11:55:44 -05:00
Julian Lam
ccdca39ad8 updated dependencies with versions that have proper nbbpm compatibility values 2015-11-09 11:23:36 -05:00
Julian Lam
3acf2e0812 pruned upgrade script 2015-11-08 15:25:54 -05:00
barisusakli
1c76dd9ae5 up emoji extended 2015-11-08 15:13:41 -05:00
barisusakli
6f864a6354 joindate iso 2015-11-08 14:58:05 -05:00
Julian Lam
efe0726f9b removing unused plaintext templates, closes #3854 2015-11-08 12:32:39 -05:00
Julian Lam
9a17e2a3e9 Merge branch 'auto-plaintext-email' 2015-11-08 12:30:26 -05:00
Julian Lam
e37709ad8b something.. 2015-11-08 12:28:48 -05:00
Julian Lam
8304740bd5 fixing crash on settings save 2015-11-08 11:57:23 -05:00
Julian Lam
948c98b668 adding plaintext email via html-to-text module 2015-11-08 11:57:04 -05:00
barisusakli
3bd83cd732 remove dupe code 2015-11-07 18:54:08 -05:00
barisusakli
27f77bf832 show proper error if user is not logged in 2015-11-07 18:46:31 -05:00
barisusakli
323cc165b6 closes #3851
dont use post file upload for cover uploads
check cover upload file size against new setting
store cover uploads in profile folder
use `uid-profilecover` filename for cover uploads
2015-11-07 18:34:40 -05:00
barisusakli
35eb0faac8 closes #3850 2015-11-07 17:11:35 -05:00
barisusakli
290f953475 up persona 2015-11-07 16:10:00 -05:00
Julian Lam
ad5ddcbb73 whitespace fixes 2015-11-07 12:32:25 -05:00
Julian Lam
9de8250697 fixed spanish language issue, #3849 2015-11-07 11:25:07 -05:00
Julian Lam
3a34901cdb on settingsv2 save, reload should be required 2015-11-07 11:12:06 -05:00
Julian Lam
90c0a06fd4 removed some commented out code 2015-11-07 10:40:46 -05:00
Barış Soner Uşaklı
f145356914 #3847 2015-11-07 01:54:29 -05:00
psychobunny
7d03e9ae6b up widgets 2015-11-06 16:39:49 -05:00
psychobunny
3564d581ad Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-11-06 16:35:56 -05:00
barisusakli
356f1d38cb fix image upload for other users 2015-11-06 16:17:18 -05:00
psychobunny
df7e6be905 console.log 2015-11-06 16:15:31 -05:00
Julian Lam
22bebc770f updated dev version 2015-11-06 16:10:42 -05:00
psychobunny
74df0ee609 bump persona 2015-11-06 15:45:21 -05:00
barisusakli
016aef1716 too busy check on prod 2015-11-06 15:41:38 -05:00
Julian Lam
628cecdd36 latest translations 2015-11-06 15:22:10 -05:00
psychobunny
a178790d2e up persona 2015-11-06 15:09:26 -05:00
psychobunny
6cd0c5eeb3 up persona 2015-11-06 15:00:02 -05:00
barisusakli
522e67d742 closes #3803 2015-11-06 14:40:51 -05:00
Julian Lam
e4e4f8a621 forgot to add dependency for #3756 2015-11-06 14:04:52 -05:00
Julian Lam
209121adbb updating theme minvers, #3756 2015-11-06 14:03:08 -05:00
Julian Lam
48b5bab849 closes #3756 2015-11-06 14:02:25 -05:00
psychobunny
18bd4c1cda closes #3844 2015-11-06 13:45:28 -05:00
barisusakli
90c2a16b94 closes #3835 2015-11-06 13:33:27 -05:00
barisusakli
6e1f0b9e32 fix top post bar reply button, after IS 2015-11-06 11:46:09 -05:00
barisusakli
b67ae7ab02 up mentions 2015-11-06 11:39:13 -05:00
Julian Lam
46a0fe9c76 updated vanilla minver 2015-11-06 10:56:30 -05:00
Julian Lam
2830538835 Cover photo removal for groups, #3832 2015-11-06 10:51:10 -05:00
Julian Lam
92be63ebe6 Update user account removeFn
As I did not realise both groups and users call the same
coverPhoto lib, the removeFn has to be in the user client js,
and not in the coverPhoto lib.

... of course, it *could* be in there, but it would be hacky.
2015-11-06 10:37:42 -05:00
barisusakli
04894b549a closes #3827 2015-11-05 21:03:01 -05:00
barisusakli
d69d0c6614 dont send undefined for tos 2015-11-05 19:57:27 -05:00
barisusakli
670ed38d75 missing semicolons 2015-11-05 19:57:26 -05:00
psychobunny
0afcfa5a56 up vanilla 2015-11-05 18:45:45 -05:00
barisusakli
4fe4d71604 added port 2015-11-05 17:52:38 -05:00
barisusakli
1be178f2a5 sync ACP stats over pubsub 2015-11-05 17:47:06 -05:00
barisusakli
5e257107cd fix status on following/followers etc. 2015-11-05 16:07:25 -05:00
barisusakli
3648f69f72 added uid 2015-11-05 16:05:29 -05:00
barisusakli
0d6e1091ba async get users 2015-11-05 15:54:00 -05:00
Julian Lam
f1412b6e9b Fixed cover loading for subdirs and added removal
re: #3832
2015-11-05 15:49:41 -05:00
barisusakli
8ccfd235ad changed deprecated method 2015-11-05 15:46:43 -05:00
barisusakli
99c5208563 up themes 2015-11-05 15:36:07 -05:00
Barış Soner Uşaklı
9cb9531b8e Merge pull request #3834 from NodeBB/room-optimize
Room optimize
2015-11-05 15:31:49 -05:00
barisusakli
60e1831152 check online from users:online zset 2015-11-05 15:10:19 -05:00
Julian Lam
ca0cba0c38 Added Galician and Slovenian 2015-11-05 15:03:27 -05:00
Julian Lam
3959316da9 latest translations and fallbacks 2015-11-05 15:03:26 -05:00
barisusakli
54901afe5e removed toggleNew 2015-11-05 14:49:03 -05:00
barisusakli
277ee94f06 dont call meta.rooms.enter for guests 2015-11-05 14:39:52 -05:00
barisusakli
baa813a4cb Merge remote-tracking branch 'refs/remotes/origin/master' into room-optimize 2015-11-05 14:17:50 -05:00
psychobunny
040783d5c4 up'd persona 2015-11-05 14:15:22 -05:00
Julian Lam
82f78d910d tweaks to language and updating theme minvers 2015-11-05 14:00:01 -05:00
Julian Lam
de9f196c75 Merge branch 'userhomepage' of https://github.com/yariplus/NodeBB into yariplus-userhomepage 2015-11-05 13:47:26 -05:00
barisusakli
9753a6d489 fix user status change in topics 2015-11-05 13:47:20 -05:00
barisusakli
3ca618795f remove browsing 2015-11-05 13:39:17 -05:00
barisusakli
9125e778a1 Merge remote-tracking branch 'refs/remotes/origin/master' into room-optimize 2015-11-05 13:28:14 -05:00
barisusakli
364260fa37 fix lastonline iso 2015-11-05 12:54:15 -05:00
Julian Lam
b8b9da2c30 Squashed commit of the following:
commit 62d59620d26bc97c7d689e9af57cd8bff654c79e
Author: Julian Lam <julian@designcreateplay.com>
Date:   Wed Nov 4 11:04:27 2015 -0500

    tweaked 503 template

commit 15a61cbc239c9d654691d91cdadce59e13d97586
Author: Julian Lam <julian@designcreateplay.com>
Date:   Wed Nov 4 10:58:19 2015 -0500

    added text about reloading being required if threshold values are changed

commit 3fe87699332ef0628b4db31f4afef245802a7bc0
Author: Julian Lam <julian@designcreateplay.com>
Date:   Wed Nov 4 10:53:35 2015 -0500

    added ACP settings for toobusy

commit f6a9964baff051072052e6ef99da9e1ffba014df
Author: Julian Lam <julian@designcreateplay.com>
Date:   Wed Nov 4 08:53:53 2015 -0500

    removed unused 503a template

commit e6d444736baf4c676f8461d30a5504c6e45df163
Author: Julian Lam <julian@designcreateplay.com>
Date:   Wed Nov 4 02:01:11 2015 -0500

    updated code to send static 503 instead of maintenance-style page

commit 11089ae2bb833e068b01ee77ee745d9fd5344805
Author: Julian Lam <julian@designcreateplay.com>
Date:   Wed Nov 4 01:18:45 2015 -0500

    added toobusy support so the Node process doesn't fall over at high load
2015-11-05 12:44:51 -05:00
barisusakli
7ed378b367 removed override no longer needed 2015-11-05 12:43:05 -05:00
barisusakli
46c2563164 removed rooms.js removed browsing users, removed chat syncing across sockets
use lastonline for online detection
2015-11-05 12:34:39 -05:00
barisusakli
1ecf27417a removed commented out stuff removed topics.enter 2015-11-05 11:53:17 -05:00
barisusakli
491a6d0234 Merge remote-tracking branch 'refs/remotes/origin/master' into room-optimize 2015-11-05 11:35:39 -05:00
barisusakli
0d23c56281 removed event:disconnect 2015-11-05 11:31:59 -05:00
barisusakli
bac2a0d959 removed event:connect use socket.io connect event duh 2015-11-05 11:25:53 -05:00
barisusakli
5879185ebc single proc stats 2015-11-04 17:43:43 -05:00
barisusakli
be6fc72994 Merge remote-tracking branch 'refs/remotes/origin/master' into room-optimize 2015-11-04 13:45:43 -05:00
barisusakli
0199ed27a6 disable user_leave for topic 2015-11-04 13:02:19 -05:00
barisusakli
be86c74c91 disabled browsing users and global rooms syncing 2015-11-04 12:52:55 -05:00
yariplus
f815f2d981 Fix userhomepage derps 2015-11-04 05:55:02 -05:00
yariplus
853aa37cd2 Add user home pages. #3616 2015-11-04 04:08:22 -05:00
Julian Lam
ceaa3a334d Squashed commit of the following:
commit 3a39e5e6bd3c357d78d8ec1dad6e3a64c18ee3ab
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Nov 3 20:15:10 2015 -0500

    minor tweak

commit ed3c25ba8b431a2b730aae78a43cfa934521a5d4
Merge: d9cde96 d7a0adc
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Nov 3 20:12:32 2015 -0500

    Merge branch 'master' of https://github.com/acardinale/NodeBB into acardinale-master

commit d7a0adc5c8
Author: Andrea Cardinale <a.cardinale@webandtech.it>
Date:   Wed Sep 30 10:32:25 2015 +0200

    Get registry (if it's set) from config.json in suggest method (client-side)
2015-11-03 20:15:30 -05:00
psychobunny
a5198f127b up themes 2015-11-03 18:50:16 -05:00
psychobunny
dd8a77b949 components: account/ban, account/unban, account/delete 2015-11-03 18:22:25 -05:00
psychobunny
5c44c365dd chat with %1 2015-11-03 18:20:51 -05:00
psychobunny
dc7be48121 account/follow, account/unfollow, account/chat components 2015-11-03 17:27:11 -05:00
psychobunny
f6f43fe3de a couple extra useful "posted in" strings 2015-11-03 17:26:43 -05:00
psychobunny
281f377fde Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-11-03 14:54:39 -05:00
psychobunny
726c3802e1 isMainPost for post summary 2015-11-03 14:53:20 -05:00
barisusakli
45be95af85 up lavender 2015-11-03 14:15:35 -05:00
Julian Lam
d9cde968cc latest translations and fallbacks 2015-11-03 13:44:29 -05:00
Erik Dasque
f3f67b31d5 Insured we're on a recent & Long Time Support (LTS) version of node.
Also added some helpful comment to explain what is doing what and the choices made.
2015-11-03 13:07:20 -05:00
barisusakli
c3369964eb closes #3820 2015-11-03 12:36:32 -05:00
barisusakli
fb7f10d63d closes #3821 2015-11-03 12:27:26 -05:00
psychobunny
f702717e61 ./nodebb plugins for a list of plugins activated 2015-11-03 11:50:14 -05:00
psychobunny
aa373841e9 use ajaxify.data.uid instead of template element 2015-11-02 23:13:06 -05:00
Julian Lam
3314ab4b83 fixes #3809 2015-11-02 23:10:03 -05:00
Julian Lam
dc916c5e3c closes #3817 2015-11-02 19:35:12 -05:00
barisusakli
8d0cb18b74 display git hash/branch 2015-11-02 14:54:43 -05:00
psychobunny
178281440e up persona 2015-11-02 13:45:17 -05:00
psychobunny
dc9770bb03 up persona 2015-11-02 13:17:25 -05:00
psychobunny
db3a199b13 upping themes 2015-11-02 13:05:20 -05:00
psychobunny
b9316bfd23 removed alert.location 2015-11-02 12:24:23 -05:00
psychobunny
1982501985 toaster components + deprecated alert.location 2015-11-02 12:23:37 -05:00
psychobunny
8cf6fe3aa1 closes #3808 2015-11-02 11:31:17 -05:00
psychobunny
0be363d220 closes #1241
@martyalicante @a5mith  hopefully finally fixed :)
2015-11-02 11:16:31 -05:00
psychobunny
ca1e4bd328 up persona 2015-11-02 10:33:04 -05:00
psychobunny
46d8c00d03 up persona 2015-11-02 09:06:08 -05:00
Barış Soner Uşaklı
d3753a5d5a 🐕 2015-11-01 15:50:44 -05:00
Barış Soner Uşaklı
4ec464f4e4 travis env var 2015-11-01 15:44:04 -05:00
Barış Soner Uşaklı
83360cc3de added nodejs 4.0 4.1 to travis 2015-11-01 15:19:18 -05:00
Barış Soner Uşaklı
84f23fc4f0 groups show/hide test 2015-11-01 15:02:40 -05:00
barisusakli
f3cd9adec7 up persona 2015-10-31 18:29:18 -04:00
barisusakli
f33f8f3c0e up persona 2015-10-31 17:56:59 -04:00
Barış Soner Uşaklı
871dffb0d3 Merge pull request #3769 from pitaj/patch-1
Use the hide class instead of jQuery hide
2015-10-31 17:54:02 -04:00
Peter Jaszkowiak
6e889ed60d Use hidden class for search field 2015-10-31 15:46:55 -06:00
Barış Soner Uşaklı
29bcf5c137 Merge pull request #3688 from drewdotpro/master
Textcomplete Plugin version bump for mentions
2015-10-31 16:58:29 -04:00
barisusakli
797b7f2ec1 remove quotes on both ends 2015-10-31 15:48:30 -04:00
barisusakli
2fef7acf4b closes #3805 2015-10-30 16:16:43 -04:00
barisusakli
ca4440b8af closes #3799 2015-10-30 15:43:17 -04:00
Julian Lam
4ee8a61ec6 Upped persona version 2015-10-30 14:21:55 -04:00
psychobunny
fa643e0c25 up persona 2015-10-30 01:24:09 -04:00
psychobunny
c5f70f5697 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-10-30 00:59:22 -04:00
psychobunny
ec22e4b565 bump themes 2015-10-30 00:58:26 -04:00
Julian Lam
ae6a2a8dbf latest translations and fallbacks 2015-10-30 00:47:13 -04:00
psychobunny
1fbed41e0b up persona 2015-10-30 00:28:30 -04:00
psychobunny
003631df79 isFollowing: send false if user is anon 2015-10-30 00:10:48 -04:00
psychobunny
4798647b8a moved infinitescroll.parseAndTranslate to app.parseAndTranslate 2015-10-29 23:58:48 -04:00
psychobunny
49aa620ce3 up persona 2015-10-29 22:22:59 -04:00
psychobunny
ead377e0ca user.isFollowing socket call 2015-10-29 22:22:33 -04:00
psychobunny
a40a5ed15d upping persona 2015-10-29 20:59:22 -04:00
psychobunny
9001e13452 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Conflicts:
	package.json
2015-10-29 19:07:57 -04:00
psychobunny
ad0a7e0cb2 upping themes 2015-10-29 19:05:35 -04:00
barisusakli
5db38e0f43 up lavender 2015-10-29 18:57:49 -04:00
barisusakli
26c9da9414 up t.js 2015-10-29 18:56:53 -04:00
psychobunny
3305256575 add fullname to user return as well 2015-10-29 18:46:52 -04:00
psychobunny
fef1eb4ced upping themes 2015-10-29 18:13:05 -04:00
psychobunny
ec434dfe95 user/picture component 2015-10-29 18:07:21 -04:00
psychobunny
0588a59c0c normalize user data between topic.user and post.user 2015-10-29 18:07:04 -04:00
psychobunny
86d8e07c8a Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-10-29 17:48:14 -04:00
psychobunny
ce4df8f22b fixed cover image editing on all profile pages 2015-10-29 17:31:30 -04:00
barisusakli
c2ca093569 check username 2015-10-29 17:18:05 -04:00
barisusakli
c39aa07d6f moved colors out, only create icon if picture is requested 2015-10-29 16:51:58 -04:00
barisusakli
f4bfcc7351 removed icon:bgColor and icon:text from db calls
calculates from username on the fly
2015-10-29 16:35:53 -04:00
psychobunny
d8e50f931e material user icon bgs 2015-10-29 16:31:58 -04:00
Julian Lam
3e1120a3f8 updated theme minvers 2015-10-29 16:25:07 -04:00
Julian Lam
8d4209d42c Merge remote-tracking branch 'origin/master' into user-icons 2015-10-29 16:14:10 -04:00
Julian Lam
9f6dc63fed updated to no longer use user.icons.generate, and removed an unneeded upgrade script! :) 2015-10-29 16:14:07 -04:00
psychobunny
5eb3cca9c1 upping vanilla 2015-10-29 16:12:08 -04:00
psychobunny
12d2abff44 missed some other profile pages 2015-10-29 16:05:07 -04:00
psychobunny
f17391e6a2 fix default cover image on all profile pages 2015-10-29 15:56:48 -04:00
psychobunny
c697785270 console.log 2015-10-29 15:55:20 -04:00
psychobunny
40bda722c9 fix acp title on ajaxify 2015-10-29 15:47:00 -04:00
psychobunny
9bef54b5ed fix title for dashboard 2015-10-29 15:42:00 -04:00
nodebb-misty
4ec57d4110 Merge branch 'master' into user-icons 2015-10-29 15:29:42 -04:00
Julian Lam
ae43c16227 Fix tooltips for user icons that aren't divs 2015-10-29 15:20:11 -04:00
psychobunny
aa3fa477e3 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-10-29 15:18:00 -04:00
psychobunny
f385e13531 fix default cover on groups/list page 2015-10-29 15:16:49 -04:00
psychobunny
a670f2facc organized cover acp pages 2015-10-29 15:13:06 -04:00
psychobunny
8e893869ff custom user profile covers 2015-10-29 15:11:52 -04:00
psychobunny
7148d44f90 default cover images for groups 2015-10-29 14:55:04 -04:00
Julian Lam
04dcd38d04 added new client-side hook on thread tools open 2015-10-29 13:49:13 -04:00
Julian Lam
5473a4f3b4 added new client-side hook on thread tools open 2015-10-29 13:48:58 -04:00
Julian Lam
526afc0910 Merge remote-tracking branch 'origin/master' into user-icons 2015-10-29 13:27:28 -04:00
Julian Lam
098111ba5b Fixes bug where if post edit was called without a title, NodeBB would crash 2015-10-29 11:45:34 -04:00
psychobunny
8787f04757 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-10-28 20:36:51 -04:00
psychobunny
07c50cba7d titles for ACP routes 2015-10-28 20:35:56 -04:00
barisusakli
ee71f982b7 added missing filter:post.tools 2015-10-28 20:13:27 -04:00
psychobunny
36c020769a latest themes 2015-10-28 18:10:13 -04:00
psychobunny
a5b754eac3 add profile cover/position + profile picture on every account page 2015-10-28 18:02:49 -04:00
psychobunny
f611e8bc45 latest vanilla 2015-10-28 17:47:23 -04:00
psychobunny
1c63befdf0 up'd persona 2015-10-28 17:43:29 -04:00
psychobunny
f19043d046 profile cover photos 2015-10-28 17:42:42 -04:00
psychobunny
02d1304185 removing groups.cover.get, seemingly it doesn't do anything 2015-10-28 17:04:02 -04:00
psychobunny
973da9bdcc up persona 2015-10-28 16:29:00 -04:00
psychobunny
80da65b4ef unused lang strings 2015-10-28 16:24:59 -04:00
psychobunny
a4cae65732 fixed hardcoded group name in uploader + cleanup 2015-10-28 16:23:42 -04:00
psychobunny
ef20141e8f jshint 2015-10-28 16:17:27 -04:00
psychobunny
13c1dbe178 up'd persona 2015-10-28 16:15:29 -04:00
psychobunny
7a6d6c2bd6 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-10-28 16:00:05 -04:00
psychobunny
e121c98a4f up'd themes 2015-10-28 15:59:05 -04:00
psychobunny
a6796479bf fixed drag and drop image upload 2015-10-28 15:46:48 -04:00
psychobunny
61b1f5fe32 allow regular uploading (modal) of cover photo 2015-10-28 15:22:54 -04:00
barisusakli
887358f045 closes #3784 2015-10-28 15:16:14 -04:00
barisusakli
47c71b5a37 closes https://github.com/NodeBB/nodebb-theme-persona/issues/181 2015-10-28 15:10:27 -04:00
barisusakli
aae393ebe1 closes #3794 2015-10-28 15:06:19 -04:00
psychobunny
69e43cd35a modularized coverPhoto 2015-10-28 14:22:19 -04:00
psychobunny
4baeda7c09 navigation acp styling / checkboxes 2015-10-28 13:47:13 -04:00
psychobunny
296249ed9c allow new nav items to be added at the end of the list 2015-10-28 13:34:58 -04:00
psychobunny
04c2b3269d seo fixes for lavv 2015-10-28 13:27:47 -04:00
psychobunny
50af77f42d dropping tjs until inf loop in lav is fixed 2015-10-28 13:27:35 -04:00
Julian Lam
8ca1073be2 removed console logs 2015-10-28 12:01:55 -04:00
Julian Lam
7580cfb235 fixed double-definition of hashPassword method that was causing new registrations to fail 2015-10-28 09:32:27 -04:00
Julian Lam
defceb6271 Merge remote-tracking branch 'origin/master' into user-icons
Conflicts:
	src/controllers/index.js
	src/topics/tags.js
2015-10-28 08:55:18 -04:00
barisusakli
290686a194 modifyCategory is no longer async 2015-10-27 17:21:28 -04:00
barisusakli
96befd02ad up markdown 2015-10-27 17:06:20 -04:00
barisusakli
353ebb71d2 removed unnecessary if 2015-10-27 17:03:14 -04:00
barisusakli
efef0af6fa tag fix 2015-10-27 15:04:46 -04:00
barisusakli
4ef2ae7ba2 update count even if its 0 2015-10-27 14:01:23 -04:00
Julian Lam
68c3f9d849 Squashed commit of the following:
commit 56582bc9eee5d81a01f42a28808b617b9c96873a
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Oct 27 05:21:11 2015 -0400

    added missing template

commit 6462a1626e7d8d77210b6e10eace5c9214335f33
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Oct 27 05:19:07 2015 -0400

    sitemap index

commit 3cfd56f1fbc8e03405dc394375bf5ff6eef21322
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Oct 27 04:47:52 2015 -0400

    sitemap routes, controllers, and library methods for pages, categories, and topics

commit e58e07c0881bdbe16d503b4679b85f761b02163c
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Oct 27 04:07:39 2015 -0400

    added groups to sitemap

commit 7ee584b632
Author: Julian Lam <julian@designcreateplay.com>
Date:   Tue Oct 27 01:43:06 2015 -0400

    If notification dropdown is double-clicked, all notifications are marked read

commit 488f147bef
Author: barisusakli <barisusakli@gmail.com>
Date:   Mon Oct 26 22:39:19 2015 -0400

    closes #3781

commit 5e1bd58a02
Author: barisusakli <barisusakli@gmail.com>
Date:   Mon Oct 26 22:28:30 2015 -0400

    closes #3782

commit 57d3980267
Author: barisusakli <barisusakli@gmail.com>
Date:   Mon Oct 26 22:16:08 2015 -0400

    closes #3790

commit 555c5b82da
Author: barisusakli <barisusakli@gmail.com>
Date:   Mon Oct 26 21:19:20 2015 -0400

    check user settings

commit 5454862c1c
Author: barisusakli <barisusakli@gmail.com>
Date:   Mon Oct 26 20:26:02 2015 -0400

    wait for all callbacks when creating tags

commit 051c5077eb
Merge: 839fd93 e0e04ef
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Oct 26 09:54:12 2015 -0400

    Merge pull request #3792 from drlogout/master

    Fixed wrong method name in socket.io/groups.js from isAdmin to isAdmi…

commit e0e04ef892
Author: Christian Nolte <hello@noltech.net>
Date:   Mon Oct 26 14:50:32 2015 +0100

    Fixed wrong method name in socket.io/groups.js from isAdmin to isAdministrator

commit 839fd935ad
Author: barisusakli <barisusakli@gmail.com>
Date:   Sun Oct 25 21:54:35 2015 -0400

    add back thread tools filter

commit 37060bf1a3
Merge: 5820a19 bf918bd
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Oct 25 18:13:06 2015 -0400

    Merge pull request #3787 from cubehouse/patch-1

    Upgrade script fails on some consoles

commit 5820a193f6
Author: barisusakli <barisusakli@gmail.com>
Date:   Sun Oct 25 17:04:46 2015 -0400

    closes #3789

commit 0d88d52557
Author: barisusakli <barisusakli@gmail.com>
Date:   Sun Oct 25 17:03:33 2015 -0400

    up theme

commit 9bc43ba5e1
Author: barisusakli <barisusakli@gmail.com>
Date:   Sun Oct 25 16:57:42 2015 -0400

    closes #3788

commit aafd4b6984
Author: barisusakli <barisusakli@gmail.com>
Date:   Sun Oct 25 15:56:17 2015 -0400

    closes #3786

commit bf918bd016
Author: James Holding <cubehouse@users.noreply.github.com>
Date:   Sun Oct 25 10:14:00 2015 +0000

    Upgrade script fails on some consoles

    The upgrade script errors/fails on some consoles if the stdout.columns isn't set (my console did this when upgrading a Docker instance of NodeBB).
    Checking for stdout.columns before using, falling back to a couple of spaces for slightly prettiness if we can't work out the console width.
2015-10-27 05:25:14 -04:00
Julian Lam
7ee584b632 If notification dropdown is double-clicked, all notifications are marked read 2015-10-27 01:43:06 -04:00
barisusakli
488f147bef closes #3781 2015-10-26 22:39:19 -04:00
barisusakli
5e1bd58a02 closes #3782 2015-10-26 22:28:30 -04:00
barisusakli
57d3980267 closes #3790 2015-10-26 22:16:08 -04:00
barisusakli
555c5b82da check user settings 2015-10-26 21:19:20 -04:00
barisusakli
5454862c1c wait for all callbacks when creating tags 2015-10-26 20:26:08 -04:00
Barış Soner Uşaklı
051c5077eb Merge pull request #3792 from drlogout/master
Fixed wrong method name in socket.io/groups.js from isAdmin to isAdmi…
2015-10-26 09:54:12 -04:00
Christian Nolte
e0e04ef892 Fixed wrong method name in socket.io/groups.js from isAdmin to isAdministrator 2015-10-26 14:50:32 +01:00
barisusakli
839fd935ad add back thread tools filter 2015-10-25 21:54:41 -04:00
Barış Soner Uşaklı
37060bf1a3 Merge pull request #3787 from cubehouse/patch-1
Upgrade script fails on some consoles
2015-10-25 18:13:06 -04:00
barisusakli
5820a193f6 closes #3789 2015-10-25 17:04:46 -04:00
barisusakli
0d88d52557 up theme 2015-10-25 17:03:33 -04:00
barisusakli
9bc43ba5e1 closes #3788 2015-10-25 16:57:42 -04:00
barisusakli
aafd4b6984 closes #3786 2015-10-25 15:56:17 -04:00
Julian Lam
f7f43de644 Merge remote-tracking branch 'origin/master' into user-icons 2015-10-25 07:34:23 -04:00
Julian Lam
b52475c270 Merge remote-tracking branch 'origin/master' into user-icons
Conflicts:
	public/src/client/account/edit.js
	src/middleware/middleware.js
	src/socket.io/meta.js
	src/socket.io/user/picture.js
	src/user.js
	src/views/admin/manage/group.tpl
2015-10-25 07:33:59 -04:00
James Holding
bf918bd016 Upgrade script fails on some consoles
The upgrade script errors/fails on some consoles if the stdout.columns isn't set (my console did this when upgrading a Docker instance of NodeBB).
Checking for stdout.columns before using, falling back to a couple of spaces for slightly prettiness if we can't work out the console width.
2015-10-25 10:14:00 +00:00
barisusakli
8ac917c63c up composer 2015-10-25 01:09:06 -04:00
barisusakli
7217fa7493 fix unread count increase 2015-10-25 00:13:45 -04:00
barisusakli
506f2d0066 up t.js 2015-10-25 00:05:58 -04:00
barisusakli
50c7ccccb5 fix flags 2015-10-24 23:46:37 -04:00
barisusakli
1bfe7bf3dd fix t.js 2015-10-24 23:45:55 -04:00
barisusakli
2bb8555d35 fix t.js 2015-10-24 23:44:45 -04:00
barisusakli
2a6f411eff fix post-bar and post count 2015-10-24 23:03:12 -04:00
barisusakli
c194f44791 up themes 2015-10-24 22:56:42 -04:00
barisusakli
0ff5c65f43 removed rel path, its in templates 2015-10-24 22:54:28 -04:00
barisusakli
f79b1de27c up themes 2015-10-24 22:33:11 -04:00
barisusakli
b6f6867b50 bottom bar change 2015-10-24 22:29:22 -04:00
barisusakli
e91b5f07b8 fix bottom bar events 2015-10-24 22:13:30 -04:00
barisusakli
adf413ddf3 up themes 2015-10-24 21:33:54 -04:00
barisusakli
5c2e78b1a6 parse topic tools on demand 2015-10-24 21:29:20 -04:00
barisusakli
6c9de29326 load post tools menu on demand 2015-10-24 20:50:43 -04:00
barisusakli
22f1ebc2dd up persona 2015-10-24 19:24:22 -04:00
barisusakli
2d46d07f4f return selectedGroup 2015-10-24 19:22:36 -04:00
barisusakli
eab91f2a6a up widget-essentials 2015-10-24 16:57:40 -04:00
barisusakli
c32cd0eb2f up themes 2015-10-24 16:50:46 -04:00
barisusakli
a739ad81ab up mentions 2015-10-24 14:17:00 -04:00
barisusakli
c100764915 fix t.js syntax 2015-10-24 12:31:22 -04:00
barisusakli
02abcf0da7 add newlines tabs to meta and link tabs 2015-10-23 17:21:23 -04:00
barisusakli
74b02ee096 dont crash if item is undefined 2015-10-23 16:24:02 -04:00
barisusakli
c93b2f7fbb up packages 2015-10-23 16:23:54 -04:00
barisusakli
88740c2e41 up themes 2015-10-23 14:11:12 -04:00
barisusakli
751a6c6839 got rid of extra call to user.getSettings 2015-10-23 14:07:09 -04:00
barisusakli
0e057a3d92 dont render 404 page for favicon 2015-10-23 13:52:42 -04:00
barisusakli
531eaa6411 cache navigation data 2015-10-23 13:50:30 -04:00
barisusakli
98e659188b removed console. log 2015-10-22 17:41:13 -04:00
barisusakli
28ae101d90 allow changing username if user has no password set, ie sso login 2015-10-22 17:37:24 -04:00
barisusakli
0210c033ee closes #3779 2015-10-22 16:59:25 -04:00
barisusakli
07e7498f45 use sortedSetsRemove 2015-10-22 15:16:31 -04:00
barisusakli
2064f20f94 fix tooltip positioning 2015-10-22 15:08:39 -04:00
barisusakli
c426c7288f find closest to middle in navigator 2015-10-22 14:56:23 -04:00
barisusakli
8e80eca449 removed double escape 2015-10-21 16:59:19 -04:00
barisusakli
60dc2fb9c4 up persona 2015-10-21 15:27:55 -04:00
barisusakli
9040a1a063 concat minimize most common routes 2015-10-20 22:54:32 -04:00
barisusakli
85d09ce2e4 removed unsused require 2015-10-20 19:34:40 -04:00
barisusakli
5e5cafafd0 make one socket call to load unread counts 2015-10-20 19:19:50 -04:00
barisusakli
8630196a2d up composer 2015-10-20 19:07:24 -04:00
barisusakli
edf545cd2c dont load sound data on cold load 2015-10-20 18:47:34 -04:00
barisusakli
90f575cae7 up mentions 2015-10-20 18:20:43 -04:00
barisusakli
2ec0d3f376 dont make extra socket call on new post and IS 2015-10-20 18:08:59 -04:00
barisusakli
d146bff2a1 send less data when leaving rooms 2015-10-20 17:53:44 -04:00
barisusakli
36e89ae15a closes #3771 2015-10-20 17:39:30 -04:00
barisusakli
369e80a3c5 up themes 2015-10-20 12:44:31 -04:00
barisusakli
09747251d8 added hostname 2015-10-19 18:46:51 -04:00
psychobunny
0e7228eff7 fix admin menu + title if url has a query string
ex. ?loggedin
2015-10-19 15:48:05 -04:00
barisusakli
7f66494a57 closes #3764 2015-10-19 12:59:40 -04:00
barisusakli
f17ba88c0f closes #3765 2015-10-19 12:48:26 -04:00
barisusakli
d61ac000a8 fix a user test 2015-10-19 11:45:07 -04:00
barisusakli
7f72d80292 fix require 2015-10-19 11:32:46 -04:00
barisusakli
6b1834d4ae closes #3767 2015-10-19 11:28:18 -04:00
barisusakli
53d29e29af performance improvements
store parsed category description
removed mongo _key from returns
dont get category teaser for parent
2015-10-18 18:30:17 -04:00
barisusakli
e2f590e0b4 only return id 2015-10-17 20:12:51 -04:00
barisusakli
a1dca63914 fileSize fix 2015-10-17 18:38:34 -04:00
barisusakli
a9fae94e5a switch to dbStats, only display fileSize if it exists 2015-10-17 18:37:07 -04:00
barisusakli
5fda800f2b filter info 2015-10-17 18:34:04 -04:00
barisusakli
3b9fdcaa2b more mongodb info 2015-10-17 18:26:03 -04:00
barisusakli
f2d6f931af closes #3505 2015-10-16 18:43:40 -04:00
barisusakli
e60c1d8736 added process info 2015-10-15 20:29:54 -04:00
barisusakli
75c2696f2e up persona 2015-10-15 16:43:06 -04:00
barisusakli
c2b29ff4c4 add page to canonical link #3758 2015-10-15 16:20:21 -04:00
barisusakli
2f5eb248eb fix postcount 2015-10-15 16:13:19 -04:00
barisusakli
cba871ec90 closes #3759 2015-10-15 16:08:26 -04:00
barisusakli
d351d01490 fix sort on category page 2015-10-15 14:16:36 -04:00
barisusakli
b556652582 fix chat redirect 2015-10-15 13:00:32 -04:00
barisusakli
f6fa0ace3c closes #3732 2015-10-15 12:18:21 -04:00
barisusakli
94a0c9aa9f closes #3757 2015-10-15 11:41:31 -04:00
barisusakli
3d7b8654bd up vers 2015-10-15 11:40:56 -04:00
barisusakli
0da39d036b uploading string 2015-10-15 11:36:50 -04:00
barisusakli
c3b8d0b328 check err first 2015-10-15 00:43:02 -04:00
barisusakli
fc4e7c0fff navigation cleanup 2015-10-14 19:22:49 -04:00
barisusakli
41b5094347 up versions 2015-10-14 18:48:26 -04:00
barisusakli
16a65c8ffc closes #3754 2015-10-14 16:00:45 -04:00
barisusakli
096ecce87b fix indent 2015-10-13 19:30:39 -04:00
barisusakli
07a97717ab removed bool param 2015-10-13 19:30:10 -04:00
barisusakli
e2a5440ae8 closes #3741 2015-10-13 19:28:55 -04:00
barisusakli
47e2dd9478 closes #3107 2015-10-13 16:36:49 -04:00
psychobunny
8ef46ebc7d found some other places with the same problem 2015-10-13 16:19:52 -04:00
psychobunny
bc2bf6ef37 fix list of allowed filetypes 2015-10-13 16:18:54 -04:00
barisusakli
de4d747e63 closes #3742 2015-10-13 13:58:36 -04:00
psychobunny
e2cddefea4 closes #3750 2015-10-13 13:06:47 -04:00
barisusakli
f5e7d1ce01 private uploads 2015-10-12 02:18:23 -04:00
barisusakli
3a3c5486b7 expose method 2015-10-11 23:31:33 -04:00
barisusakli
94129287d0 moved non-async code 2015-10-11 23:20:57 -04:00
barisusakli
17dd1ff485 fix next 2015-10-11 23:07:02 -04:00
barisusakli
da4034a10a middleware refactor 2015-10-11 23:05:33 -04:00
barisusakli
9ac4704848 more search cleanup 2015-10-11 22:27:53 -04:00
barisusakli
c8fb68c2d5 shorter sort methods 2015-10-11 21:56:28 -04:00
barisusakli
79d5eea46d closes #3270 2015-10-11 17:29:47 -04:00
barisusakli
fca2cf0a10 closes #3745 2015-10-11 14:27:00 -04:00
barisusakli
d0150d0be2 up persona 2015-10-10 19:02:29 -04:00
barisusakli
d581519420 up persona 2015-10-10 18:20:23 -04:00
barisusakli
8a51c5a023 fix tooltip 2015-10-10 18:06:48 -04:00
barisusakli
1ceb1c6d5f fix dismissAllFlags 2015-10-09 23:55:04 -04:00
barisusakli
974ccf13f0 up themes 2015-10-09 18:00:57 -04:00
barisusakli
7854e67b7b closes #1637 2015-10-09 17:52:55 -04:00
barisusakli
36bfe30425 closes #3736 2015-10-09 14:23:02 -04:00
barisusakli
1ddcb3f11c closes #3740 2015-10-09 12:59:06 -04:00
barisusakli
1dcdba9b2a moved api route to api.js 2015-10-08 19:51:14 -04:00
psychobunny
7b84696c7f up persona 2015-10-08 18:34:25 -04:00
psychobunny
4a9b2a2a9a up persona 2015-10-08 18:30:12 -04:00
psychobunny
78fe1da00c don't mark all chats as read when just reading the list from dropdown/slidemenu/chats page
strangely enough it was doing it twice
2015-10-08 18:29:57 -04:00
barisusakli
7ecb036310 up emoji 2015-10-08 16:38:26 -04:00
barisusakli
0ce1e666e7 disabling/enabling parent will disable/enable children 2015-10-08 16:05:05 -04:00
barisusakli
c268493d2b closes #3723 2015-10-08 15:29:00 -04:00
barisusakli
fa4875d78d category teaser 2015-10-07 17:36:27 -04:00
barisusakli
ff7b6e4e91 added search title 2015-10-07 16:20:19 -04:00
barisusakli
2d96cdba1c closes #3720 2015-10-07 16:13:42 -04:00
Julian Lam
167ba64018 using fancy new mixin 2015-10-07 06:05:02 -04:00
Julian Lam
5c71bb5923 fixed user avatar modal again 2015-10-07 03:06:32 -04:00
Julian Lam
8bf1b3e6a4 Merge branch 'master' into user-icons 2015-10-07 02:15:32 -04:00
Julian Lam
01a0f09e9c Updated theme versions 2015-10-07 02:15:20 -04:00
Julian Lam
4c96f95330 Merge remote-tracking branch 'origin/master' into user-icons
Conflicts:
	public/src/app.js
	public/src/client/account/edit.js
2015-10-07 02:14:03 -04:00
Julian Lam
8b3f1684f7 Closes #3693
Fixes bug where hitting cancel didn't contain the old behaviour (opening the reply dialogue anyway), and instead just plain did nothing.
2015-10-07 01:38:59 -04:00
barisusakli
0b6d92ea3e up persona 2015-10-06 18:44:15 -04:00
barisusakli
7fd1940939 take out of async 2015-10-06 18:41:39 -04:00
barisusakli
2d01fe78d0 removed privileges.posts.get from addPostData
privilege data is already available higher up
2015-10-06 18:36:03 -04:00
barisusakli
40e26d3b9d removed unused requires 2015-10-06 15:38:34 -04:00
barisusakli
7e2fbfe3f4 modify topic isn't async 2015-10-06 15:16:50 -04:00
barisusakli
da142163a5 if there is an error return 2015-10-06 14:05:22 -04:00
Julian Lam
99e5015083 closes #3690 2015-10-06 06:13:25 -04:00
Julian Lam
95129a1b40 closes #3693 2015-10-06 05:28:05 -04:00
barisusakli
ce58187258 up persona 2015-10-05 22:43:54 -04:00
barisusakli
4d87890942 closes #3715 2015-10-05 22:41:11 -04:00
barisusakli
fcf411a72b small fixes 2015-10-05 22:24:36 -04:00
barisusakli
50c740ae09 fix tag display when reaching main post 2015-10-05 17:01:53 -04:00
Barış Soner Uşaklı
93d431ffad Merge pull request #3714 from Lesterpig/3702_categories_layout
ACP: Fix layout for long category description
2015-10-05 16:36:48 -04:00
barisusakli
d5ccb8340b up persona 2015-10-05 16:35:27 -04:00
Lesterpig
4c2e701338 ACP: Fix layout for long category description
See #3702
2015-10-05 22:13:25 +02:00
barisusakli
5634c5417c dont use toPid if "topic/reply" is clicked 2015-10-05 15:37:16 -04:00
barisusakli
24704cadbd up persona 2015-10-04 18:53:18 -04:00
barisusakli
3be8adac97 up persona 2015-10-04 18:45:19 -04:00
barisusakli
315e55598b up persona 2015-10-04 18:39:58 -04:00
Julian Lam
05b40cf576 latest translations 2015-10-04 04:58:46 -04:00
barisusakli
fc7e94f2c2 up persona 2015-10-04 01:23:46 -04:00
barisusakli
0b26cfdd43 #3705 2015-10-04 01:13:47 -04:00
barisusakli
3be3ed4eb5 same selector 2015-10-03 20:17:28 -04:00
barisusakli
1990cd626a up persona 2015-10-03 18:56:47 -04:00
barisusakli
f6727af238 up persona 2015-10-03 18:38:08 -04:00
barisusakli
f4c5d3e159 parse picture modals when needed
https://github.com/NodeBB/nodebb-theme-persona/issues/161
2015-10-03 18:36:50 -04:00
barisusakli
848a14d861 fix typo 2015-10-03 18:13:35 -04:00
barisusakli
89439f2c14 fix upload hide 2015-10-03 17:58:06 -04:00
barisusakli
3a88af3bc8 up persona 2015-10-03 17:23:32 -04:00
barisusakli
5f3eb5934a don't update bookmark on every scroll event 2015-10-03 15:32:05 -04:00
barisusakli
d1e4d3c157 up mentions 2015-10-03 13:22:35 -04:00
barisusakli
b58a405116 up emoji 2015-10-02 23:55:21 -04:00
barisusakli
12da13acc5 closes #3701 2015-10-02 18:55:23 -04:00
barisusakli
313a465a4c notification exists check 2015-10-02 17:46:25 -04:00
psychobunny
7262a835b6 closes #3694 2015-10-02 17:34:32 -04:00
barisusakli
5cf983dcee check if user exists 2015-10-02 17:31:18 -04:00
barisusakli
8e06ff49f3 check user exists before chat 2015-10-02 17:26:12 -04:00
barisusakli
ca15b85db9 check group exists before joining 2015-10-02 17:13:13 -04:00
barisusakli
c5e8339abb check if category exists 2015-10-02 17:01:07 -04:00
barisusakli
872080d832 dont mark read if topic is not in topics:recent 2015-10-02 16:56:30 -04:00
barisusakli
c1093bdeb7 topic exists checks 2015-10-02 16:48:49 -04:00
barisusakli
b301daf126 check post exists before delete restore 2015-10-02 16:44:48 -04:00
barisusakli
f88d822fe2 make sure post exists before edit 2015-10-02 16:39:07 -04:00
barisusakli
b616e69070 User.exists change 2015-10-02 16:27:14 -04:00
barisusakli
45ebeb276e up themes 2015-10-02 16:01:35 -04:00
barisusakli
4056c0983c up persona 2015-10-01 20:17:27 -04:00
barisusakli
67e3c62e48 up persona 2015-10-01 19:47:02 -04:00
barisusakli
ca97c3a66e up themes 2015-10-01 17:45:35 -04:00
barisusakli
d4206c047d select by class 2015-10-01 17:43:03 -04:00
barisusakli
59cc52c660 up persona 2015-10-01 15:47:41 -04:00
barisusakli
5787c751b5 up persona 2015-10-01 13:56:28 -04:00
barisusakli
a054353b6c category purge fix 2015-09-30 16:29:25 -04:00
barisusakli
0b052171f0 dont update title if it hasn't changed 2015-09-30 16:21:18 -04:00
barisusakli
902f529d53 closes #3692 2015-09-30 16:08:12 -04:00
barisusakli
3a6d5948ba filter invalid categories 2015-09-30 15:27:51 -04:00
Julian Lam
896abb59d3 Update default gravatar admin option to defaultAvatar 2015-09-30 14:37:26 -04:00
Julian Lam
97dd5500a1 Merge remote-tracking branch 'origin/master' into user-icons 2015-09-30 13:45:33 -04:00
Julian Lam
00079ce158 default user icon for anons 2015-09-30 13:19:32 -04:00
barisusakli
70b7535a27 unused true 2015-09-29 20:46:19 -04:00
barisusakli
df95d47c4c ocd 2015-09-29 20:31:40 -04:00
barisusakli
5a3a627fcd fix rel tag urls 2015-09-29 20:30:42 -04:00
barisusakli
93dc3c2c34 up themes 2015-09-29 18:41:52 -04:00
barisusakli
22d6742422 closes #3569 2015-09-29 18:38:18 -04:00
barisusakli
ca294fc6ec closes #3663 2015-09-29 18:22:47 -04:00
psychobunny
714efd0d0e scrollToPost / scrollToPostIndex offset isn't used anymore 2015-09-29 17:10:28 -04:00
barisusakli
9fc80702b8 simpler check 2015-09-29 17:09:41 -04:00
barisusakli
75e2228989 closes #3689 2015-09-29 16:36:37 -04:00
barisusakli
9dda08bbdc up persona 2015-09-29 15:47:31 -04:00
barisusakli
00bc9f51c9 dont display post just scroll 2015-09-29 15:46:11 -04:00
barisusakli
c88362a00f up persona 2015-09-29 14:43:58 -04:00
barisusakli
06acdcda6d up persona 2015-09-29 14:37:00 -04:00
barisusakli
b7ce4312a9 show toPid inline 2015-09-29 14:35:28 -04:00
barisusakli
6d77215f80 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-09-29 13:19:18 -04:00
barisusakli
94d4e5eeeb up widget essentials 2015-09-29 13:19:14 -04:00
Julian Lam
018af5fa22 accidentally used deprecated method, heh 2015-09-29 11:15:08 -04:00
Julian Lam
e400bb5a52 updated theme minver 2015-09-29 11:05:55 -04:00
Julian Lam
09d23c3dd0 Added support for a theme to generate a link back to a parent post 2015-09-29 11:05:35 -04:00
psychobunny
81b3ae2597 cleanup 2015-09-28 17:20:55 -04:00
psychobunny
4c4d560f64 fixed f5 from in the middle of a big topic 2015-09-28 17:17:47 -04:00
Drew Llewellyn
0da6645bf5 Version bump 0.8 2015-09-28 22:15:09 +01:00
psychobunny
028a520bf0 remove hardcoded fadein 2015-09-28 17:05:50 -04:00
barisusakli
9d0f681ebc fix component name 2015-09-28 17:01:36 -04:00
barisusakli
bcd8bdf0df closes #3687 2015-09-28 16:59:24 -04:00
barisusakli
e7f87f4ffd closes #3686 2015-09-28 16:09:43 -04:00
psychobunny
c72bb54957 upping themes 2015-09-28 15:51:49 -04:00
psychobunny
7d64639e23 Merge branch 'is-improvements' 2015-09-28 15:27:34 -04:00
psychobunny
e9d3f4278d IS improvements
* simplify calculation (scrollTop vs elementInView)
* use post anchor rather than create big $ objs from post html
* pressing f5 repeatedly now always takes you to the correct pid
2015-09-28 15:21:20 -04:00
psychobunny
4dfaca67e0 Merge pull request #3685 from NodeBB/psychobunny-patch-1
closes #3570
2015-09-28 12:15:44 -04:00
psychobunny
a80a21ea97 closes #3570
making a PR to our own repo ftw.... testing cla-assistant
2015-09-28 12:14:17 -04:00
psychobunny
5da445be85 re-adding back jimp 2015-09-28 11:53:18 -04:00
psychobunny
bde6bc67b4 .transifexrc 2015-09-28 10:33:41 -04:00
psychobunny
be28d7db98 changing bookmark alert to be more accurate to what it actually does 2015-09-28 10:30:23 -04:00
psychobunny
67c3f106fb tx for windows .gitignore 2015-09-28 10:29:15 -04:00
psychobunny
2669241c06 closes #3656 2015-09-28 10:26:29 -04:00
Julian Lam
c2da45c2f0 user profile changing logic 2015-09-27 22:52:50 -04:00
Julian Lam
a43d40fbc7 upgrade script, and fixed client-side generation of user icon 2015-09-27 22:12:10 -04:00
Julian Lam
9120cb8e82 missing values for teaser user icons 2015-09-27 21:26:47 -04:00
Julian Lam
730a62519f Merge remote-tracking branch 'origin/master' into user-icons 2015-09-27 20:30:02 -04:00
Julian Lam
68b252f202 notifications dropdown 2015-09-27 20:26:17 -04:00
barisusakli
d8c9c8d447 dont crash on null category
#3681
2015-09-27 18:00:10 -04:00
Julian Lam
e46496012a chat dropdown 2015-09-27 17:50:16 -04:00
Julian Lam
f4ee7f5cf8 votes modal 2015-09-27 17:34:49 -04:00
Julian Lam
a52f6cf0b4 User Account Edit and Change Picture Modal 2015-09-27 17:23:18 -04:00
Julian Lam
a4c2626bdc mobile menu header 2015-09-27 16:54:35 -04:00
Julian Lam
097ee5d2a2 user icons in chat modal and page 2015-09-27 16:07:07 -04:00
barisusakli
7379f93a00 up composer 2015-09-27 15:50:22 -04:00
barisusakli
fec3877e51 fix tests 2015-09-27 15:21:23 -04:00
barisusakli
6457cd02ab move removeExtra to IS 2015-09-27 15:20:10 -04:00
barisusakli
8c17de4221 remove dupe 2015-09-27 15:02:04 -04:00
barisusakli
c22d018617 shorter sort 2015-09-27 14:56:27 -04:00
barisusakli
80d6ba6b44 closes #3676 2015-09-27 13:42:36 -04:00
barisusakli
4db0dadd1c closes #3680 2015-09-27 13:36:59 -04:00
barisusakli
63a4c95eb5 up lavender 2015-09-27 13:35:48 -04:00
Julian Lam
f6d5b52a8b WIP user-icons 2015-09-27 12:57:21 -04:00
barisusakli
4e32751819 added back canEdit 2015-09-27 01:37:03 -04:00
barisusakli
e02781f7e8 fix for IS when viewport is short 2015-09-27 00:57:54 -04:00
barisusakli
df89a62b32 removed :rage3: comment 2015-09-26 23:03:52 -04:00
barisusakli
b2dbb127e2 fix previous commit so it only uses window height if viewport <=0 2015-09-26 23:03:20 -04:00
barisusakli
e78de34122 fix case where container might be smaller than viewport 2015-09-26 22:48:35 -04:00
barisusakli
41fb4fe6b5 remove IS topics on category
ability to specify a container for IS, instead of always assuming
$(document)
2015-09-26 22:27:10 -04:00
barisusakli
5a77a2c21c removed debug log 2015-09-26 18:30:31 -04:00
barisusakli
1dc93f2446 closes #3677 2015-09-26 18:29:27 -04:00
barisusakli
5e0a7d7dac some more acp/nav fixes 2015-09-26 15:36:56 -04:00
barisusakli
ec32e4ea4b small tweak 2015-09-26 13:11:49 -04:00
barisusakli
e4f0cd856a prettier admin navigation page 2015-09-26 13:00:59 -04:00
Julian Lam
839edc80b1 updated action:settings.set hook 2015-09-26 10:46:17 -04:00
barisusakli
75c7a831c6 up themes 2015-09-26 01:58:46 -04:00
barisusakli
759607a381 parse modals on demand 2015-09-26 01:55:13 -04:00
barisusakli
30bc401797 parse upload picture modal on demand 2015-09-26 00:08:26 -04:00
barisusakli
d992e64687 up mentions 2015-09-25 20:53:51 -04:00
barisusakli
2e1648b725 fix browsing not disappearing after everyone leaving 2015-09-25 20:51:36 -04:00
barisusakli
fffca0e425 fix topic follow 2015-09-25 20:26:44 -04:00
barisusakli
de15c2925d use topic.toTop() 2015-09-25 19:01:15 -04:00
barisusakli
3cdc0c6890 missing return 2015-09-25 18:51:27 -04:00
barisusakli
d490ed30d1 check err 2015-09-25 18:29:02 -04:00
barisusakli
2e8505c66d home/end keys for inf scroll 2015-09-25 18:21:25 -04:00
barisusakli
c3a6b11939 fix first reply insertion 2015-09-25 17:44:45 -04:00
barisusakli
5950f97f96 more refactors 2015-09-25 17:38:58 -04:00
barisusakli
1f4857585d user refactor 2015-09-25 17:08:00 -04:00
barisusakli
853aeb1b8c update profile 2015-09-25 16:35:19 -04:00
barisusakli
4a06750ae2 io.in logger 2015-09-25 16:16:07 -04:00
barisusakli
e0c6acd163 socket.io/user.js refactor 2015-09-25 15:56:58 -04:00
barisusakli
53411f809b follow command 2015-09-25 15:34:53 -04:00
barisusakli
f2f9000b70 fix vote progress 2015-09-25 15:30:45 -04:00
barisusakli
e2896ef6b9 socketio/posts socketio/topics refactor 2015-09-25 15:09:30 -04:00
Julian Lam
04db07ed33 seems legit, tjs not even used in this file 2015-09-25 14:33:57 -04:00
barisusakli
8a3452f985 start reverse IS earlier 2015-09-25 13:21:49 -04:00
barisusakli
6e1522c340 Merge remote-tracking branch 'origin/master'
Conflicts:
	package.json
2015-09-25 13:11:48 -04:00
barisusakli
e5e41e85f2 accounts refactor #2
and various 404 fixes
2015-09-25 13:11:11 -04:00
Julian Lam
857ac68fed updating theme versions 2015-09-25 11:09:53 -04:00
Julian Lam
6fe480d8c6 Adding some snazzy hotkeys to chat page 2015-09-25 11:07:41 -04:00
Julian Lam
cef8e44b3b Fix bug with missing ref, using pushState instead of replaceState in chats client-side lib 2015-09-25 10:53:52 -04:00
Julian Lam
47d39d3346 closes #3673 2015-09-25 10:49:44 -04:00
Julian Lam
010c04f21f latest translations 2015-09-25 10:02:31 -04:00
Julian Lam
21cd0df919 upped mentions version 2015-09-25 09:44:21 -04:00
barisusakli
3bb5d2aa86 accounts refactor part #1 2015-09-25 01:52:41 -04:00
barisusakli
c0c38437a0 isAdminOrMod 2015-09-25 01:09:14 -04:00
barisusakli
de2f336d53 data uid check 2015-09-25 00:08:25 -04:00
barisusakli
be2fe14f4d fix startup msg 2015-09-24 22:32:40 -04:00
barisusakli
b618f67a00 fix tab 2015-09-24 21:21:19 -04:00
barisusakli
8f40b3f00d fix indent 2015-09-24 21:19:11 -04:00
barisusakli
c617a3f008 inf scroll changes
dont load main post if start > 0
2015-09-24 21:14:41 -04:00
Julian Lam
137f2097db fixes #3669 2015-09-24 13:47:24 -04:00
Julian Lam
c974576e9f updated theme minvers 2015-09-24 12:07:36 -04:00
Julian Lam
ebed9d641c Add new ACP option to upload Touch Icon, #3668
Also added a number of fixes for mobile enhancements, such
as serving a manifest.json file for Android devices, and
serving proper link tags for all uploaded touch icons.

This commit also creates a new template helper for link tags.
2015-09-24 12:05:45 -04:00
Julian Lam
ae856395c3 Removing deendecy on touch, and no longer updating filemod time on package.json on upgrade 2015-09-24 12:05:45 -04:00
barisusakli
3d73fbf74a only pass pack err 2015-09-24 11:38:35 -04:00
barisusakli
f005231996 closes #3664 2015-09-23 20:38:08 -04:00
barisusakli
8fb24f26e3 #3664 fix edit post 2015-09-23 20:20:30 -04:00
barisusakli
6f046af34b fix callback 2015-09-23 20:09:05 -04:00
psychobunny
5a8aafb64e persona 3.0.18 2015-09-23 19:14:33 -04:00
psychobunny
1dbfa65bc5 closes #3655 2015-09-23 19:14:02 -04:00
barisusakli
e461615c1a closes #3621 2015-09-23 18:47:02 -04:00
barisusakli
98484a9b23 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-09-23 18:37:41 -04:00
barisusakli
868bcc07f9 up markdown 2015-09-23 18:37:31 -04:00
Julian Lam
97a34993b7 julianlam/nodebb-plugin-markdown#53 2015-09-23 18:37:06 -04:00
barisusakli
cdd5bb5a6e fix acp high presence topics 2015-09-23 17:08:37 -04:00
barisusakli
96364935e9 removed deprecated methods 2015-09-23 12:09:01 -04:00
Julian Lam
66afb59bc8 translations for global resource, closes #3659 2015-09-23 11:13:54 -04:00
Julian Lam
f5f6afce20 update mentions minver 2015-09-23 11:12:20 -04:00
barisusakli
054e0bb83b closes #3658 2015-09-23 10:28:45 -04:00
barisusakli
459c20a2e2 closes #3662 2015-09-23 10:05:23 -04:00
barisusakli
ee24fadfff closes https://github.com/julianlam/nodebb-plugin-markdown/issues/52 2015-09-23 09:45:48 -04:00
barisusakli
4e2318fa1e fix title in acp removed extra | 2015-09-23 01:59:13 -04:00
barisusakli
933a89d2ae closes #3654 removed double escape 2015-09-23 01:17:31 -04:00
barisusakli
3416f600c5 #3654 2015-09-23 00:21:58 -04:00
barisusakli
80701f44d6 fix syntax 2015-09-22 20:34:37 -04:00
barisusakli
b3cbb46010 #3654
include add post index
2015-09-22 20:28:53 -04:00
barisusakli
fb6abd32c4 closes #3461 2015-09-22 20:19:48 -04:00
psychobunny
5f9eafcccb potential fix for acp rash 2015-09-22 20:10:07 -04:00
barisusakli
13508ca7f9 closes #3547 2015-09-22 19:22:20 -04:00
barisusakli
87a194a4bd allow array of nids to be passed to notifs.get 2015-09-22 18:05:31 -04:00
barisusakli
dbf0f279a2 closes #3644 2015-09-22 17:22:49 -04:00
barisusakli
75af978145 closes #3646 2015-09-22 17:13:12 -04:00
Julian Lam
bff5453c55 updating theme minvers 2015-09-22 14:58:19 -04:00
Julian Lam
78863a438f Firing new hook filter:auth.list
This new plugins allows SSO services to list whether a
user has authenticated via that service, and will display
as such in the user's profile editing screen.
2015-09-22 14:27:44 -04:00
Julian Lam
fa109241cc Update fontawesome picker module (iconSelect)
- Removed 'fa-doesnt-exist' icon
- Added a icon filter search input
- Added a "No Icon" button at the bottom
- Added link back to full FA list
- If icon is picked, it shows the icon class in the search input
2015-09-22 11:37:09 -04:00
Julian Lam
bc9e96f210 Update to FontAwesome 4.4.0 2015-09-22 10:43:46 -04:00
psychobunny
08e0b4fff5 persona 3.0.16 2015-09-21 18:35:05 -04:00
psychobunny
70da64b927 button to revert to original email template 2015-09-21 18:16:32 -04:00
psychobunny
47fb8e8125 closes #2183 2015-09-21 17:57:05 -04:00
psychobunny
109fe895b3 ability to edit and save custom email templates 2015-09-21 17:44:06 -04:00
psychobunny
46d6be57a8 hint 2015-09-21 17:18:01 -04:00
psychobunny
55748ac3f5 ability to select what kind of test email to send 2015-09-21 17:17:23 -04:00
psychobunny
fa8a2c5c1b render email footer partial 2015-09-21 16:49:59 -04:00
psychobunny
4855e69498 email partials for footer 2015-09-21 16:39:23 -04:00
Julian Lam
bac04d7ee6 Replace lwip library with jimp native lib for image manipulation 2015-09-21 15:36:26 -04:00
barisusakli
63fd1ba9ec #3639 2015-09-21 14:33:57 -04:00
barisusakli
4419eb2aff removed require 2015-09-21 13:10:05 -04:00
barisusakli
f3b6a5fbb9 generic getObject 2015-09-21 12:59:41 -04:00
barisusakli
1dd706d0b2 crash fix, res.locals.config can be undefined 2015-09-20 20:29:18 -04:00
barisusakli
1e44cab79e filter:group.build 2015-09-20 17:53:59 -04:00
barisusakli
070fe01463 use unescaped tag to get data 2015-09-20 17:13:15 -04:00
barisusakli
d96073dbbf closes #3606 2015-09-20 16:23:22 -04:00
barisusakli
c139dfa843 closes #3631 2015-09-20 16:06:21 -04:00
Julian Lam
0b331142a2 updated composer version 2015-09-20 15:48:17 -04:00
barisusakli
ee8bb8d908 closes #3634 2015-09-20 15:38:54 -04:00
barisusakli
38cd153077 hide on enter as well 2015-09-20 15:20:58 -04:00
barisusakli
4d8f92de24 closes #3635 2015-09-20 15:18:09 -04:00
Julian Lam
a8f9671a11 latest translations 2015-09-20 12:00:09 -04:00
barisusakli
f9c8b1acf8 if a parent category is deleted add its children to root 2015-09-18 15:56:07 -04:00
barisusakli
32041d50f7 prevent crash if children are falsy 2015-09-18 15:33:48 -04:00
barisusakli
f87fc83529 up db search 2015-09-18 14:59:28 -04:00
barisusakli
da9a6ba399 missing ; 2015-09-18 14:39:31 -04:00
barisusakli
0a9f82e30d removed some dupe code from chats 2015-09-18 14:30:18 -04:00
barisusakli
2f94307125 removed duplicated code in chats 2015-09-18 12:22:16 -04:00
barisusakli
5c51efdab3 globals config.relative_path 2015-09-18 11:27:40 -04:00
barisusakli
69ebe7679d removed console .log 2015-09-18 11:22:55 -04:00
barisusakli
c98bd87334 better checks for file extensions
jpg allows jpeg
dots dont break extensions
2015-09-18 11:07:43 -04:00
barisusakli
fbfb39f967 moved socket connection out of app.js 2015-09-18 10:58:32 -04:00
barisusakli
a14810a2e0 wrap lwip.open in try catch, it throws on unknow types, closes #3632 2015-09-18 09:42:09 -04:00
barisusakli
9ff3be67db generic check length method 2015-09-18 09:27:13 -04:00
barisusakli
35a2141da6 reset changes 2015-09-17 22:15:28 -04:00
barisusakli
6363bbc2ba moved reset out 2015-09-17 21:54:12 -04:00
barisusakli
fe5d19e515 code climate yml 2015-09-17 20:59:53 -04:00
barisusakli
1182237f3d isInvited 2015-09-17 20:55:18 -04:00
barisusakli
e1dc161119 added isOwner 2015-09-17 20:48:40 -04:00
barisusakli
c4b258c747 added .before to socket.io/groups.js 2015-09-17 19:57:47 -04:00
barisusakli
be7c2cc88a closes #3630 2015-09-17 19:29:41 -04:00
psychobunny
26aa9a6251 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-09-17 19:05:22 -04:00
psychobunny
a8d44758cb acp remove logo fix 2015-09-17 19:04:49 -04:00
barisusakli
31ddb8a0e0 uid can be group names :dull: 2015-09-17 19:04:29 -04:00
barisusakli
5555b9256d Merge remote-tracking branch 'origin/master' 2015-09-17 19:03:09 -04:00
barisusakli
6e66b32fe1 dont escape the query that is send to search escape on the way out 2015-09-17 19:03:03 -04:00
psychobunny
8403b010a5 fixes theme screenshots in acp 2015-09-17 17:49:08 -04:00
psychobunny
4dcba62e95 cleanup 2015-09-17 17:31:11 -04:00
psychobunny
281c4415cb --activate fix 2015-09-17 17:17:46 -04:00
barisusakli
244c75f809 admin controllers 2015-09-17 16:25:15 -04:00
barisusakli
3858f6777d check groupName and uid on groups.join 2015-09-17 15:36:32 -04:00
barisusakli
d7f82f96b1 remove threadTools require 2015-09-17 15:13:10 -04:00
barisusakli
777157c0d6 remove old postTools requires 2015-09-17 15:12:26 -04:00
barisusakli
0c6495de72 moved postTools and threadTools into posts/ and topics/ 2015-09-17 15:05:29 -04:00
psychobunny
19a0e1cf54 adding a log for --activate command 2015-09-17 15:04:32 -04:00
psychobunny
8c948ccbae bump tjs 2015-09-17 14:46:37 -04:00
barisusakli
8af64ba984 closes #3626 2015-09-17 13:37:04 -04:00
barisusakli
8c2fdcc77c group escape fixes 2015-09-17 00:21:58 -04:00
Barış Soner Uşaklı
2e1661a5e8 Merge pull request #3618 from jongarrison/master
Revised: Added req and res objects to the widget rendering process
2015-09-16 20:50:49 -04:00
psychobunny
fbc484d3c9 nodebb --activate plugin-name 2015-09-16 19:25:05 -04:00
barisusakli
1cda4e8d9b scrollbar and scroll to bottom on logs page 2015-09-16 18:43:32 -04:00
Julian Lam
c148b1c956 If a new message arrives, replace the teaser with the new message content, closes #3623 2015-09-16 18:25:32 -04:00
barisusakli
9cef1ffe99 forgot parseInt 2015-09-16 18:16:21 -04:00
Julian Lam
2e3eef136f Update chat frontend to better handle incoming messages
When an incoming message occurs from somebody who is new,
a new chat contact is spawned and put into the contact list.
2015-09-16 18:15:10 -04:00
barisusakli
da09ce3e06 optimize getParents
when loading the root categories listing all categories have a parentCid
of 0 so return early instead of calling the database with
['category:0','category:0','category:0''category:0' ...]
2015-09-16 18:13:08 -04:00
psychobunny
f6b4080949 upping tjs one last time 👍 2015-09-16 18:08:38 -04:00
psychobunny
eaa283aed4 tjs 0.2.13 2015-09-16 18:04:33 -04:00
psychobunny
d010113c71 tjs 0.2.12 2015-09-16 17:53:23 -04:00
psychobunny
f561ca7591 bumping tjs 2015-09-16 17:38:22 -04:00
barisusakli
04be0411e7 build search categories server side 2015-09-16 17:17:58 -04:00
Julian Lam
7fae82a9bd Update chat page behaviour on mobile
As the chat page is not optimised for mobile devices, if
entered, the chat messages themselves will be hidden
(corresponding commits on themes), and the client-side
javascript will open the chat modal when contacts are clicked.
2015-09-16 16:05:00 -04:00
Julian Lam
34a6275b85 sanitise chat teaser 2015-09-16 15:44:10 -04:00
Julian Lam
2a11368dda 0.8.2 2015-09-16 15:01:53 -04:00
barisusakli
70b8d546b3 fix breadcrumb 2015-09-16 14:58:49 -04:00
barisusakli
4826883484 up themes, 404 non existing popular pages 2015-09-16 14:51:55 -04:00
barisusakli
ade9a44b11 closes #3590 2015-09-16 14:45:45 -04:00
Julian Lam
00f2778534 latest translations 2015-09-16 14:05:48 -04:00
barisusakli
f17a716055 closes #3619 2015-09-16 12:18:38 -04:00
barisusakli
1e3391ff12 closes #3617 2015-09-16 08:43:21 -04:00
barisusakli
09927915ab fix cb 2015-09-16 08:36:51 -04:00
barisusakli
11c70f3a28 closes #2330 2015-09-16 08:35:40 -04:00
Jon Garrison
47714151b1 fixed one tab character 2015-09-16 00:46:11 -07:00
Jon Garrison
44c4925ceb Added req and res objects to the widget rendering process before callback in src/controllers/api.js 2015-09-16 00:39:18 -07:00
barisusakli
f80a6350c4 up emoji 2015-09-16 00:19:05 -04:00
barisusakli
3fff334de2 some priv cleanup 2015-09-15 19:21:30 -04:00
psychobunny
54999b901c #3585 2015-09-15 18:37:53 -04:00
psychobunny
ae1043543d closes #3585 2015-09-15 18:34:47 -04:00
barisusakli
faae98892d privilege fixes 2015-09-15 18:21:17 -04:00
barisusakli
51cdd0800c simplified calculatePostIndices 2015-09-15 17:19:10 -04:00
Barış Soner Uşaklı
76178e3232 move admin categories controller 2015-09-15 15:56:19 -04:00
Barış Soner Uşaklı
6c10c846a1 up vanilla 2015-09-15 15:19:42 -04:00
Julian Lam
9454e5a73a latest translations 2015-09-15 14:06:15 -04:00
Julian Lam
1405a10cbe Updated persona minver 2015-09-15 13:51:55 -04:00
Barış Soner Uşaklı
e62bd2ab9e fix chat status unread etc. 2015-09-15 13:13:23 -04:00
Julian Lam
d6b0f6b831 updated theme minvers 2015-09-15 13:09:47 -04:00
Barış Soner Uşaklı
5b08538264 closes #3614 2015-09-15 12:58:35 -04:00
Julian Lam
4acb31839e nodebb/nodebb#3615 2015-09-15 12:52:48 -04:00
Barış Soner Uşaklı
6d8134618f fix chats 2015-09-15 12:29:24 -04:00
Barış Soner Uşaklı
e9692a3e1f fix emailer 2015-09-15 12:14:01 -04:00
Barış Soner Uşaklı
3a6871fd65 display all categories in custom home 2015-09-15 00:54:48 -04:00
barisusakli
6fc267858e fix missing callback 2015-09-14 22:58:02 -04:00
barisusakli
d01736a726 cleanup 2015-09-14 22:43:09 -04:00
barisusakli
a5e9394d93 closes #3612 2015-09-14 22:41:15 -04:00
barisusakli
cc6e556c77 up persona vanilla 2015-09-14 22:28:55 -04:00
barisusakli
17a40b716e fix topic move notification 2015-09-14 22:26:29 -04:00
barisusakli
b22cb128a9 up persona 2015-09-14 22:16:32 -04:00
barisusakli
b17feb3b6c nested categories on search 2015-09-14 22:15:11 -04:00
barisusakli
bb47761f6a moved disable chat button 2015-09-14 21:11:59 -04:00
barisusakli
501bfbfc47 closes #3611 2015-09-14 21:04:56 -04:00
barisusakli
eda31d145e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-09-14 21:01:18 -04:00
barisusakli
b099aaf61f fix typo in emailer 2015-09-14 21:01:13 -04:00
psychobunny
39342f158b Merge pull request #3575 from henrywright/master
Replace Less variable that is undefined if Bootstrap is absent
2015-09-14 18:57:03 -04:00
barisusakli
22d6ceab59 closes #2427 2015-09-14 17:55:15 -04:00
barisusakli
0cac0692b6 closes #3532 2015-09-14 17:45:02 -04:00
barisusakli
15b667850e closes #3595 2015-09-14 17:42:06 -04:00
barisusakli
4aad5b8689 moving chat settings out of post 2015-09-14 17:30:08 -04:00
Julian Lam
8070de7962 closes #3461 2015-09-14 17:12:00 -04:00
barisusakli
5388ddf791 removed posttools edit 2015-09-14 17:00:41 -04:00
barisusakli
45c446dac0 new hook filter:email.send 2015-09-14 16:22:44 -04:00
psychobunny
e90ee46cd1 closes #3603 2015-09-14 16:21:09 -04:00
barisusakli
af19bd8bd2 msgs on reset 2015-09-14 15:52:48 -04:00
barisusakli
30d087cbd3 closes #3607 2015-09-14 15:50:07 -04:00
psychobunny
b660eec67f closes #3608
inb4 all admin routes are publically visible
2015-09-14 15:29:26 -04:00
psychobunny
ed358f4bf7 closes #3589 2015-09-14 15:11:08 -04:00
psychobunny
2516be620b Groups.getGroupsAndMembers 2015-09-14 15:11:06 -04:00
barisusakli
5ff2eccbd2 #3593 2015-09-14 15:10:25 -04:00
psychobunny
64f0d33863 up'd persona 2015-09-14 15:01:57 -04:00
psychobunny
ff83305c6a closes #3593 2015-09-14 15:01:35 -04:00
psychobunny
2d0224d42a closes #3588 2015-09-14 14:51:53 -04:00
Barış Soner Uşaklı
bcb3b55ab0 Merge pull request #3594 from yariplus/homepages
Add Custom and Category homepages.
2015-09-14 14:01:18 -04:00
barisusakli
9787e6c3df dont download images to local, pass to upload plugin 2015-09-14 13:36:02 -04:00
barisusakli
ad685a0147 fix function in loops 2015-09-14 13:19:21 -04:00
barisusakli
896aadada7 closes #3597 2015-09-13 15:14:29 -04:00
Barış Soner Uşaklı
5831bdd2ec Merge pull request #3598 from MegaGM/fix.user-status.update.handling
Fix: When a user changes his online status,
2015-09-13 13:47:51 -04:00
Barış Soner Uşaklı
31644fe6fd Merge pull request #3601 from MegaGM/fix.li-class-active.on.profile.page2
Resolve #3599
2015-09-13 13:42:52 -04:00
Mega
b383c17df2 Resolve #3599 2015-09-13 11:38:32 +03:00
Mega
b4bcfb83a7 Fix: When a user changes his online status, all [component="user/status"] elements on a page are changing. The same bug appears in:
/user/*
/users/*
/topic/*
/chats/*

Cold load: http://i.imgur.com/OL2njmf.jpg
After change my status: http://i.imgur.com/J6I8lOC.jpg
2015-09-13 09:26:34 +03:00
yariplus
08e4f14971 fix unneeded async 2015-09-12 20:51:49 -04:00
yariplus
0c1c42d362 parallel not needed 2015-09-12 19:41:19 -04:00
barisusakli
183528f4c9 up mentions 2015-09-12 19:22:57 -04:00
barisusakli
a469ca2972 notification id change 2015-09-12 19:21:01 -04:00
yariplus
beb2b38cb7 mistake 2015-09-12 18:08:41 -04:00
yariplus
d998fe2dd5 Add Custom and Category homepages. 2015-09-12 17:08:12 -04:00
barisusakli
e3ca91e325 #3591 fixes item 1 2015-09-12 15:14:49 -04:00
barisusakli
915a992448 closes #3592 2015-09-12 14:42:08 -04:00
barisusakli
240a619a72 pretty group breadcrumbs 2015-09-12 00:13:25 -04:00
barisusakli
7373f3bbce up themes 2015-09-12 00:02:21 -04:00
barisusakli
cb9b51e8a5 closes #3475 2015-09-11 23:57:46 -04:00
barisusakli
bf70f3764e #3475 2015-09-11 23:24:16 -04:00
barisusakli
6c40d2e424 #3475 2015-09-11 23:14:03 -04:00
barisusakli
734a45ae03 dont log error if its redirect 2015-09-11 22:51:25 -04:00
barisusakli
9361ff0772 closes #3587 2015-09-11 22:50:09 -04:00
barisusakli
dd5a8e8a88 closes #3568 2015-09-11 20:36:31 -04:00
barisusakli
498f12d4dd up themes 2015-09-11 19:37:42 -04:00
barisusakli
775e0532eb fix search selector 2015-09-11 19:35:02 -04:00
barisusakli
9a12d677ee up themes 2015-09-11 19:23:15 -04:00
barisusakli
a6c8cd50e9 fix group creation regression 2015-09-11 19:04:00 -04:00
barisusakli
929091d4d3 default theme 2015-09-11 18:48:29 -04:00
barisusakli
95b709c806 dont crash if data.responseJSON doesnt exist 2015-09-11 18:36:19 -04:00
barisusakli
459e51862a closes #3553 2015-09-11 17:13:44 -04:00
barisusakli
3ea8d092aa check for defaultTheme on install 2015-09-11 16:46:07 -04:00
barisusakli
765f0c1137 closes #3571 2015-09-11 16:35:44 -04:00
Julian Lam
6334e1ae6c updated theme minvers, and generating cache buster on reload too 2015-09-11 16:20:14 -04:00
barisusakli
a64cbbc6df #3573 2015-09-11 16:18:37 -04:00
Julian Lam
160cf93802 Fix regression caused by 4f766ac 2015-09-11 16:12:47 -04:00
Julian Lam
4f766ac7b5 Updated cache buster logic
Removed css and script busters in favour of a uuid/guid cache
buster that is generated when the app starts.

This change means that in the event your NodeBB crashes often,
users will not be able to rely on their browser cache to serve
an unchanged style/js file, but if that's the case, you've
got bigger problems anyway.

re: #3573
2015-09-11 16:04:31 -04:00
barisusakli
961efa3533 closes #3512 2015-09-11 14:48:44 -04:00
barisusakli
079ef74fe9 up emoji 2015-09-11 14:38:03 -04:00
barisusakli
2d175cc3fb closes #3466 2015-09-11 14:32:44 -04:00
barisusakli
bb4984a9aa closes #3428 2015-09-11 13:54:00 -04:00
barisusakli
ceba2fdc3c up themes 2015-09-11 13:51:33 -04:00
barisusakli
e6755d0adc closes #3458 2015-09-11 13:48:58 -04:00
barisusakli
a4d7022e68 closes #2958 2015-09-11 12:51:10 -04:00
barisusakli
f7aef56e66 closes #3529 2015-09-10 20:33:08 -04:00
barisusakli
19eaa051c2 closes #3469 2015-09-10 18:13:26 -04:00
barisusakli
e21ac298d7 up deps 2015-09-10 17:26:42 -04:00
barisusakli
a1c407acd0 closes #3530 2015-09-10 17:13:36 -04:00
barisusakli
0bfc568ac3 closes #3537 2015-09-10 16:35:37 -04:00
barisusakli
442c4be4ec closes #3581 2015-09-10 16:33:10 -04:00
barisusakli
727ee3c557 up persona 2015-09-10 16:28:01 -04:00
barisusakli
af50ade066 closes #3560 2015-09-10 16:24:27 -04:00
psychobunny
265a16af1a some old left over branding code 2015-09-10 14:56:08 -04:00
Julian Lam
394fa87b39 on account deletion modal, focus on text input 2015-09-10 10:52:36 -04:00
barisusakli
2c6f93efbd closes #3583 2015-09-10 10:43:50 -04:00
psychobunny
edbe8b2e04 typo in ACP 2015-09-10 01:31:00 -04:00
Julian Lam
3baad54223 Close #3578
This commit introduces notification creation if a user requests
membership to a group (in which case notifications are sent to
all group owners), and user invites to a group (in which case
a notification is sent to the invitee).
2015-09-09 19:57:12 -04:00
barisusakli
b4d465223a if there is no description tag add one, fix missing winston 2015-09-09 12:25:00 -04:00
Henry Wright
dd61116060 Replace Less variable that is undefined if Bootstrap is absent 2015-09-08 23:44:02 +01:00
barisusakli
7c319c9b20 fix browser title on home page 2015-09-08 02:17:22 -04:00
barisusakli
cf193581e4 check and log all fs.unlink errors 2015-09-06 00:49:47 -04:00
psychobunny
31fef4f429 hint. damn those globals wtb browserify 2015-09-05 14:12:51 -04:00
psychobunny
b6a43fb5cf fixes #3562 2015-09-05 14:11:34 -04:00
psychobunny
d0cd73f663 updated blurb 2015-09-04 21:29:26 -04:00
psychobunny
4ff1d6c088 because github SEO is good for you 2015-09-04 21:26:26 -04:00
psychobunny
4962fb4851 closes #3546 2015-09-04 14:14:09 -04:00
Julian Lam
1a741da3d4 translating parsed template in client side code 2015-09-03 11:20:06 -04:00
barisusakli
d402737a75 add file transport 2015-09-02 18:41:05 -04:00
barisusakli
54f9a09e6a some more logging 2015-09-02 18:18:03 -04:00
Julian Lam
9cf71d460a updated dev version 2015-09-02 16:18:26 -04:00
Julian Lam
032107d058 latest translations 2015-09-02 16:10:57 -04:00
Julian Lam
1453150105 removed backups folder 2015-09-02 16:07:20 -04:00
Julian Lam
8621023452 Removed surrounding panel from privileges table 2015-09-02 16:02:01 -04:00
barisusakli
5503d7b0f7 added backups folder 2015-09-02 15:42:27 -04:00
Julian Lam
c3821c2070 Close #3540 2015-09-02 11:21:25 -04:00
Julian Lam
aa8c6f3bdd Update header so text selection is not possible 2015-09-02 11:11:03 -04:00
psychobunny
f471fd1e2d persona 2.1.25 2015-09-01 17:26:12 -04:00
barisusakli
0ffb81308e closes #3538 2015-09-01 16:31:23 -04:00
barisusakli
ffff8093ba make sure user is admin/mod before forking 2015-09-01 12:38:26 -04:00
barisusakli
f9575efaf0 disable fork button during fork #3535 2015-09-01 12:24:06 -04:00
psychobunny
22ad1324d3 persona 2.1.24 2015-09-01 12:03:48 -04:00
psychobunny
ff2543e522 thought they all seemed pretty self-explanatory to me 2015-09-01 11:58:32 -04:00
psychobunny
bc5f9d0199 closes #3536 2015-09-01 11:58:30 -04:00
Julian Lam
acadc60594 latest translations and fallbacks 2015-09-01 10:45:48 -04:00
Julian Lam
394440e597 Fix upgrade crash if groups have 0 users
@barisusakli
2015-09-01 10:39:48 -04:00
psychobunny
8a681e08c9 up'd persona 2015-09-01 07:56:02 -04:00
psychobunny
08d64b4f60 see: https://github.com/NodeBB/nodebb-theme-persona/issues/148 2015-09-01 00:09:51 -04:00
psychobunny
b5c7473c95 get teasers: probably faster, hopefully 2015-08-31 17:09:37 -04:00
psychobunny
29fd03504b persona 2.1.21 2015-08-31 17:02:39 -04:00
psychobunny
3917ca0946 up'd persona again 2015-08-31 16:58:28 -04:00
psychobunny
08137c5c1e fixed issue where teasers were being assigned to the wrong chat 2015-08-31 16:53:15 -04:00
psychobunny
e47895367e persona 2.1.19 2015-08-31 16:45:28 -04:00
psychobunny
67b00e401e latest chat redesign 2015-08-31 16:39:43 -04:00
psychobunny
efa525d104 closes #3524 2015-08-31 15:46:11 -04:00
psychobunny
d5cc37b166 notifications/list and notifications components 2015-08-31 15:43:14 -04:00
psychobunny
1d53f365dd closes #3528 2015-08-31 15:29:03 -04:00
psychobunny
9c526004e7 closes #3512 also fixes infinite scrolling on mobile persona 2015-08-31 15:25:40 -04:00
Julian Lam
cf679f0c5e Fix julianlam/nodebb-plugin-2factor#6 2015-08-31 15:15:12 -04:00
barisusakli
722992b9ea up persona 2015-08-31 14:56:14 -04:00
barisusakli
7015f466a7 up persona 2015-08-31 14:48:08 -04:00
psychobunny
30c1001e5d #3522 also for settings v2 2015-08-31 13:52:38 -04:00
psychobunny
e36976fd39 closes #3522 2015-08-31 13:49:22 -04:00
barisusakli
78aef428b1 up persona 2015-08-31 13:49:02 -04:00
barisusakli
e0101fcd24 fix crash on follow/edit 2015-08-30 16:04:59 -04:00
barisusakli
d23d814154 fix topic_count on topic move 2015-08-30 15:16:47 -04:00
barisusakli
794c218cb6 fix displayMenuItem 2015-08-30 12:49:31 -04:00
barisusakli
3499ede0d0 up uglify js 2015-08-29 23:13:39 -04:00
barisusakli
5009e80122 fix typo 2015-08-29 23:00:25 -04:00
barisusakli
9f74450196 log unlink error 2015-08-29 22:51:33 -04:00
barisusakli
f6c95456f2 fix password change notifs 2015-08-29 22:18:43 -04:00
barisusakli
daa97bc7f1 up vanilla 2015-08-29 18:40:22 -04:00
barisusakli
c99463fb02 up lavender 2015-08-29 16:57:41 -04:00
psychobunny
891a611714 contacts vs recent: makes more sense the other way around
well, it does make sense on the older UX anyways, but I'm not going to
go there :P
2015-08-28 17:44:02 -04:00
psychobunny
6aa6510ef6 teasers instead of chatTeasers 2015-08-28 17:44:00 -04:00
barisusakli
09dacfd6a9 remove bookmark alert on scroll or after 10 secs 2015-08-28 17:17:31 -04:00
barisusakli
980484d930 added config as global :dull: 2015-08-28 17:08:22 -04:00
Julian Lam
e09e980428 Requiring new version of widget essentials 2015-08-28 15:52:33 -04:00
Julian Lam
91662de47e upped theme versions 2015-08-28 15:16:16 -04:00
barisusakli
7689d54d42 closes #3518 2015-08-28 15:12:40 -04:00
barisusakli
c3719ea5b5 closes #3519 2015-08-28 15:08:21 -04:00
barisusakli
93e6916fe6 moved maintenace mode middleware 2015-08-28 14:46:13 -04:00
barisusakli
6d930d0d1a fix indents 2015-08-28 14:33:09 -04:00
barisusakli
25502f0687 closes #3508 2015-08-28 14:31:41 -04:00
Julian Lam
bdfb168f2f updated package.json with new theme versions 2015-08-28 13:24:00 -04:00
Julian Lam
f21325a91b add back missing ENDIF to complete admin header conditional
This fixes #3516
2015-08-28 13:19:18 -04:00
barisusakli
f4bf82a349 closes #3510 increase email confirm reset to 24 hours 2015-08-28 13:09:21 -04:00
barisusakli
a0cd4b49f5 when a category is deleted, set the children's parent to 0 2015-08-28 13:04:10 -04:00
barisusakli
9d4d904479 404 fix 2015-08-28 13:04:10 -04:00
Julian Lam
ba39a432e7 fixed #3517 2015-08-28 13:03:40 -04:00
barisusakli
a1fb234b8b config.cache-buster 2015-08-27 19:25:16 -04:00
barisusakli
48512bff6b get rid of app.exposeConfigToTemplates 2015-08-27 19:22:51 -04:00
barisusakli
ef65b711de removed template-variables 2015-08-27 18:07:22 -04:00
psychobunny
71cad7e181 chat teaser 2015-08-27 17:58:29 -04:00
psychobunny
3c71de285a Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-08-27 17:54:51 -04:00
psychobunny
80b13c94c8 snackbar translation for acp 2015-08-27 17:54:36 -04:00
barisusakli
0be3bd1893 removed ajaxify.variables 2015-08-27 17:49:51 -04:00
psychobunny
643abb6926 if params.count is passed in, min should be 0 2015-08-27 17:37:34 -04:00
psychobunny
e0cfc117c7 changing function signature for messaging.getMessages
@julianlam should this be moved to 0.8.0?
2015-08-27 17:32:33 -04:00
psychobunny
00eea65a70 up'd persona, welcome to 0.8.0 2015-08-27 16:51:21 -04:00
barisusakli
e171b544e9 fix 404 title on api calls 2015-08-27 16:43:14 -04:00
psychobunny
dbc9c07b55 403 browser title 2015-08-27 16:34:01 -04:00
psychobunny
0eca875f6e add site title to 404, on cold load anyways 2015-08-27 16:30:43 -04:00
psychobunny
4b91d7ec3d req.route is not defined if you go to some bogus url 2015-08-27 16:18:55 -04:00
psychobunny
54ec105986 random attempt to fix bad dep check 2015-08-27 16:09:35 -04:00
psychobunny
8dbc7fdd9c up'd person 2015-08-27 15:56:49 -04:00
Julian Lam
dd7d2615dd latest translations 2015-08-27 15:57:00 -04:00
Julian Lam
3fcfa340ee updated plugin and theme dependency versions 2015-08-27 15:45:55 -04:00
barisusakli
6810b529c9 prevent infinite loop on topic scroll to bottom 2015-08-27 15:32:33 -04:00
psychobunny
822b45e193 Merge branch 'v0.8.x' 2015-08-27 15:29:26 -04:00
psychobunny
4b5f67eb4d use [[pages:home]] instead 2015-08-27 15:28:46 -04:00
psychobunny
5dae60faff closes #3502 2015-08-27 15:26:53 -04:00
psychobunny
61cc0ee597 /categories: og:title and <title> should be the same 2015-08-27 15:07:26 -04:00
psychobunny
53c8d54d57 upping themes 2015-08-27 14:59:22 -04:00
psychobunny
82d39753b7 hint 2015-08-27 14:53:53 -04:00
psychobunny
b10a7d4410 notifications/icon component 2015-08-27 14:52:39 -04:00
psychobunny
80218961aa Merge branch 'master' into v0.8.x 2015-08-27 14:28:12 -04:00
psychobunny
8cc91ea6e7 fix crash in middleware.renderHeader 2015-08-27 14:27:45 -04:00
psychobunny
b66a58dd52 user/status: don't touch the other classes
fixes that 2px thing @julianlam
2015-08-27 14:07:24 -04:00
psychobunny
b7c8d4e5af 0.8.0 2015-08-27 14:00:15 -04:00
psychobunny
541080777f Merge branch 'persona-2.1' into v0.8.x 2015-08-27 13:59:44 -04:00
psychobunny
25a419e458 Merge branch 'master' into v0.8.x 2015-08-27 13:59:12 -04:00
psychobunny
12015c1728 persona 2.1.4 2015-08-27 13:19:04 -04:00
psychobunny
d923fa3997 up'd persona 2015-08-27 12:46:06 -04:00
psychobunny
b5c7a34aa5 persona 2.1.1 2015-08-27 12:34:44 -04:00
psychobunny
54d996ca6a fixed user/logout component + vanilla 3.1.2 2015-08-27 12:24:58 -04:00
psychobunny
b19120f822 user/logout componen 2015-08-27 12:20:45 -04:00
psychobunny
e9a42cdecb fixed notifications on deskto 2015-08-27 11:48:08 -04:00
psychobunny
1947a4aea6 vanilla 3.1.0 2015-08-26 17:58:35 -04:00
psychobunny
71f144eb49 nbb 0.7.4 2015-08-26 17:53:23 -04:00
psychobunny
a44f467ebc Notifications.loadNotifications() 2015-08-26 17:52:36 -04:00
psychobunny
2301362f59 component="header/usercontrol"; also fixes user status bug 2015-08-26 17:12:34 -04:00
psychobunny
a663f95669 chats.loadChats() 2015-08-26 16:32:32 -04:00
psychobunny
63be875daa header/userpicture, header/profilelink, header/username components 2015-08-26 16:28:10 -04:00
psychobunny
2e33ae2742 Merge branch 'master' into persona-2.1 2015-08-26 16:25:57 -04:00
psychobunny
6e714a5344 Revert "header/userpicture, header/profilelink, header/username components"
This reverts commit d1effa65d0.
2015-08-26 16:25:05 -04:00
psychobunny
d1effa65d0 header/userpicture, header/profilelink, header/username components 2015-08-26 16:19:08 -04:00
psychobunny
306964b4ea chat/dropdown and chat/list component 2015-08-26 15:58:53 -04:00
barisusakli
0bf8b279de fix typo 2015-08-26 15:58:51 -04:00
barisusakli
5c19bf31c9 removed breaking change 2015-08-26 15:58:27 -04:00
barisusakli
eaefd9d24c remove meta/title.js and meta.title.build #3481 2015-08-26 15:55:00 -04:00
psychobunny
098c56a106 global:header.navigation 2015-08-26 15:38:09 -04:00
psychobunny
4aec30788c closes #3499 2015-08-26 15:08:48 -04:00
psychobunny
d75f5574e0 #3499 2015-08-26 15:06:16 -04:00
psychobunny
a217b42cb1 bonus two for #3481 - chats/username route 2015-08-26 14:09:22 -04:00
psychobunny
22fc257e36 bonus for #3481 - groups/group route 2015-08-26 14:06:53 -04:00
psychobunny
89b8622cfa other routes done, closes #3481 2015-08-26 13:56:28 -04:00
psychobunny
671f96f589 duplicate route removed: /users redirected to /users/online 2015-08-26 13:51:50 -04:00
psychobunny
0e0d8474a4 page titles for user pages #3481 2015-08-26 13:48:27 -04:00
psychobunny
51f05e3d22 persona 2.0.27 2015-08-26 13:38:59 -04:00
psychobunny
d96ef5264d upping persona 2015-08-26 12:28:30 -04:00
psychobunny
47a7347b54 better mobile support for appearance/themes and appearance/skins 2015-08-26 12:01:06 -04:00
psychobunny
0cb722b9fa prevent floating button from getting hidden behind other components 2015-08-26 11:56:18 -04:00
Julian Lam
92f9553033 Resolved transifex language issue 2015-08-26 11:21:55 -04:00
Julian Lam
e003fb38a3 Close #3497 2015-08-26 10:57:20 -04:00
barisusakli
d644542143 clearer text 2015-08-26 01:03:02 -04:00
barisusakli
958bb24d4e #3492 2015-08-25 23:50:41 -04:00
Julian Lam
ea9f5cbc61 adding in another deprecated hook to the warning list 2015-08-25 17:52:52 -04:00
Julian Lam
a1d5132777 Deprecated filter:user.delete hook
Please use static:user.delete instead.
2015-08-25 17:48:29 -04:00
psychobunny
6c44db9a0c closes #3490 2015-08-25 17:05:48 -04:00
psychobunny
8372b291e4 closes #3482 2015-08-25 16:41:09 -04:00
psychobunny
6edb920d6d closes #3488 2015-08-25 16:36:41 -04:00
psychobunny
cd7f9c7523 fix for disableCustomUserSkins 2015-08-25 16:27:58 -04:00
psychobunny
9323a37bd1 disableCustomUserSkins setting 2015-08-25 16:27:56 -04:00
barisusakli
5ef58d0434 up theme versions 2015-08-25 14:58:20 -04:00
barisusakli
3a3539aefb up composer version 2015-08-25 13:31:33 -04:00
barisusakli
cf36f7bc79 closes #3468 2015-08-25 13:29:44 -04:00
Julian Lam
edba11f388 If a plugin version is defined in package.json, suggest that as the latest version 2015-08-25 12:22:25 -04:00
Julian Lam
1772041b6e fixed invocation of clickdn in snackbar 2015-08-25 11:21:33 -04:00
psychobunny
7210ffdde9 only need to translate bootbox's footer 2015-08-24 17:43:42 -04:00
psychobunny
29859335a8 do md style dropdowns only on mobile @julianlam 2015-08-24 17:36:10 -04:00
psychobunny
3e1ddb1e2c for old people like @barisusakli 2015-08-24 17:30:44 -04:00
psychobunny
3145e75fc0 closes #3485 2015-08-24 17:16:29 -04:00
barisusakli
07d12e85ae closes https://github.com/NodeBB/nodebb-theme-persona/issues/124 2015-08-24 17:04:23 -04:00
barisusakli
c1ef884fce update password dep 2015-08-24 16:26:45 -04:00
barisusakli
6e23b3f258 update theme versions 2015-08-24 16:05:11 -04:00
barisusakli
5b3601994c Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-08-24 16:01:57 -04:00
barisusakli
def3e06ba3 closes #3483 2015-08-24 16:01:50 -04:00
psychobunny
19a3950928 don't blow up if no skin was selected 2015-08-24 16:01:35 -04:00
psychobunny
ae318c4286 fixed alignment on themes page 2015-08-24 15:29:38 -04:00
psychobunny
5a90de55d8 removed missing css file 2015-08-24 15:15:58 -04:00
Julian Lam
9289178a2e fixed incorrect label 2015-08-24 14:32:27 -04:00
Julian Lam
46af72336a updated ACP dropdown toggle so it's thicker 2015-08-24 13:52:13 -04:00
Julian Lam
a27c8f0321 Exposed package data for incompatible plugins to admin/plugins controller, #3480
ping @psychobunny
2015-08-24 13:41:25 -04:00
Julian Lam
902d11c6af Fix #3470 2015-08-24 11:34:09 -04:00
Julian Lam
7de782c78b Close #3476
Upgraded theme minimum versions, containing fixes for a "bug" where the container was a couple px too large due to a missing class.
2015-08-24 10:59:55 -04:00
Julian Lam
a682c98626 Merge pull request #3474 from FokkeZB/patch-5
Only use semver.satisfies on valid ranges
2015-08-24 09:58:02 -04:00
Fokke Zandbergen
36c27633b9 Only use semver.satisfies on valid ranges
So it doesn't alarm when you use a package straight from git e.g.
2015-08-24 15:22:08 +02:00
Barış Soner Uşaklı
1a6e576483 async 2015-08-23 22:16:48 -07:00
barisusakli
6ce6503970 mark register notif read when its rejected 2015-08-23 14:21:43 -04:00
barisusakli
db90d19b45 fix password confirm 2015-08-22 16:08:37 -04:00
barisusakli
2781939c50 Merge remote-tracking branch 'origin/master'
Conflicts:
	package.json
2015-08-22 15:17:37 -04:00
barisusakli
fc29028920 up persona 2015-08-22 15:16:34 -04:00
psychobunny
48cb671916 fixes #3465
temporary until stopforumspam supports ipv6
2015-08-22 12:50:55 -04:00
psychobunny
d1aaa9ca07 mobile fixes for homepage, languages, sounds 2015-08-22 12:39:52 -04:00
psychobunny
53ce7d48fa fixed padding issue on mobile acp 2015-08-22 12:36:42 -04:00
psychobunny
cd83dcf2e0 better styling for snackbar on mobile 2015-08-22 12:33:14 -04:00
psychobunny
7fa4057051 overrideTimeago only needs to be called once 2015-08-22 12:21:51 -04:00
psychobunny
0caa095ea4 closes #3457 2015-08-22 12:20:17 -04:00
psychobunny
12518e095f upping theme versions 2015-08-22 12:04:00 -04:00
psychobunny
36110db90c closes #3464 2015-08-22 12:03:34 -04:00
psychobunny
0cb8f2b80c closes #3463 2015-08-21 22:28:05 -04:00
psychobunny
6b054a6d14 new acp mobile menu, completed 2015-08-21 18:50:22 -04:00
psychobunny
cc299f89e2 mobile menu for ACP first pass 2015-08-21 18:40:59 -04:00
psychobunny
82429c10db slideout 2015-08-21 18:29:37 -04:00
psychobunny
1f9dbd3cf2 hamburger button 2015-08-21 18:26:44 -04:00
psychobunny
cb071f3772 md-like positioning for dropdown menu 2015-08-21 18:15:43 -04:00
psychobunny
acdfb87117 compact header on mobile 2015-08-21 18:15:32 -04:00
psychobunny
ea3fa0ff1d md snackbar for acp 2015-08-21 17:46:14 -04:00
psychobunny
a313bc69e2 fix alignment on checkboxes that are first in a form 2015-08-21 17:16:35 -04:00
Barış Soner Uşaklı
113a2aa398 composer 1.0.11 2015-08-21 14:16:29 -04:00
Barış Soner Uşaklı
76c0e33bcb filter links and children 2015-08-21 14:15:41 -04:00
Julian Lam
0e8482ebfe removing hash from url 2015-08-21 12:32:21 -04:00
Julian Lam
dbf8f5f70c Fix internal link to User Registration Settings from Registration Queue 2015-08-21 12:27:31 -04:00
psychobunny
28bd915a7b fixed settings pages 2015-08-21 12:22:48 -04:00
psychobunny
11e082989d fix route to admin/manage/registration page 2015-08-21 12:13:42 -04:00
Julian Lam
141174ac94 Fix ACP active state issue
Apparently, all this time, there was a bug that caused active
states to not properly be shown in subfolder installations. This
commit fixes that regression. ping @psychobunny
2015-08-21 10:53:47 -04:00
psychobunny
7420351eb7 Merge remote-tracking branch 'origin/master' 2015-08-21 10:36:08 -04:00
psychobunny
eb49898a9c mobile tweaks for settings pages 2015-08-21 10:35:55 -04:00
Julian Lam
5f9990299f Pass a notification path when a user follows another
When a user followed another, a notification is created, but with
no path, so on plugins like pushbullet, it would default to trying
to build a topic url, but the required values were null, leading to
a broken url.
2015-08-21 10:32:14 -04:00
psychobunny
fdb3046224 tablet mode fix 2015-08-21 10:24:16 -04:00
psychobunny
2317779a2b really basic mobile support, until we get a slideout menu in 2015-08-21 10:22:54 -04:00
psychobunny
cdc351bc02 fixed acp search 2015-08-21 10:11:19 -04:00
psychobunny
e4c9b379b2 customise - checkboxes 2015-08-21 10:01:13 -04:00
psychobunny
d9040f18e6 use branding for checkbox 2015-08-21 09:59:07 -04:00
psychobunny
c97631b060 settings checkboxes - webcrawler, tags, advanced 2015-08-21 09:53:33 -04:00
psychobunny
4bca984b67 settings/pagination checkbox 2015-08-20 23:42:02 -04:00
psychobunny
0fcdfe318a settings/post checkboxes 2015-08-20 23:41:31 -04:00
psychobunny
520351c3cc fixed race condition onload for settings (surprised nobody qq'd about this before) 2015-08-20 23:39:33 -04:00
psychobunny
fc858b7cbc settings/guest checkboxes 2015-08-20 23:38:23 -04:00
psychobunny
656476620e fix new checkboxes on ajaxify 2015-08-20 23:36:59 -04:00
psychobunny
bf7896a264 settings/group checkboxes 2015-08-20 23:31:09 -04:00
psychobunny
4d78f8a68d settings/user checkbox 2015-08-20 23:28:27 -04:00
psychobunny
980d44975a settings/email checkboxes 2015-08-20 23:24:39 -04:00
psychobunny
c38bf4bc6f settings/reputation checkboxes 2015-08-20 23:23:15 -04:00
psychobunny
5ede82e246 setting/general checkboxes 2015-08-20 23:22:19 -04:00
psychobunny
6dbd7cad84 done with this stupid checkbox experiment 2015-08-20 23:16:54 -04:00
psychobunny
f234f653f8 fix bug where menu items weren't clickable 2015-08-20 19:58:37 -04:00
psychobunny
0b683ff8dd search bar placement tweak 2015-08-20 19:55:18 -04:00
psychobunny
d091729de3 search bar and restart menu completed 2015-08-20 19:39:44 -04:00
psychobunny
98a10bba89 header dropdown menu 2015-08-20 19:12:34 -04:00
psychobunny
6b37ec74cc styled flags 2015-08-20 16:34:22 -04:00
psychobunny
cd38f2da9c moved registration queue to its own page; styled 2015-08-20 16:31:23 -04:00
psychobunny
d72ffb3078 added authentication section to settings/user 2015-08-20 16:25:37 -04:00
psychobunny
21e4a00f0e fix pill flicker on manage/users 2015-08-20 16:19:49 -04:00
psychobunny
52d05da725 manage/tags buttons 2015-08-20 16:17:07 -04:00
psychobunny
e7fe088720 navigation save button 2015-08-20 16:14:39 -04:00
psychobunny
2dd612bb19 styled general/homepage 2015-08-20 16:11:56 -04:00
psychobunny
52871fe746 custom css save button 2015-08-20 16:08:39 -04:00
psychobunny
3353fc8b0e Merge branch 'master' into acp-paper
Conflicts:
	package.json
2015-08-20 16:05:08 -04:00
psychobunny
1ce464c7c0 themes page, done 2015-08-20 16:04:33 -04:00
psychobunny
fd46b31d6e fixed selection of skins 2015-08-20 16:00:25 -04:00
barisusakli
67bf130e6a up widget essentials 2015-08-20 15:59:21 -04:00
barisusakli
7fbab5402a closes #3381 2015-08-20 15:56:47 -04:00
psychobunny
181bb9a6a7 theme selection buttons 2015-08-20 15:49:44 -04:00
psychobunny
88c466bf3f fixed theme selection 2015-08-20 15:38:45 -04:00
psychobunny
b62cf2ad14 fix selection of skins 2015-08-20 15:37:16 -04:00
psychobunny
867c09bab6 revert theme: default theme is now persona 2015-08-20 15:35:29 -04:00
psychobunny
1e2fb5cd4c undo button for skins and themes 2015-08-20 15:35:09 -04:00
psychobunny
9af6a122ff general/sonuds 2015-08-20 15:27:38 -04:00
psychobunny
86d1494467 general/languages 2015-08-20 15:24:48 -04:00
psychobunny
9dcaafdb1b widgets save button 2015-08-20 15:21:35 -04:00
psychobunny
dfa4f47289 save / create buttons for categories/category 2015-08-20 15:19:43 -04:00
psychobunny
f3c70473c3 save button on settings page 2015-08-20 15:12:17 -04:00
psychobunny
96a19f47b7 Merge branch 'master' into acp-paper 2015-08-20 14:59:01 -04:00
psychobunny
969522c2d2 manage/categories 2015-08-20 14:58:58 -04:00
psychobunny
48d61b8048 Merge branch 'master' into acp-paper 2015-08-20 14:47:53 -04:00
psychobunny
ccce0994bf updated themes 2015-08-20 14:47:51 -04:00
barisusakli
4e3e603ee7 closes #3456 2015-08-20 14:43:34 -04:00
psychobunny
a2fd970792 fix skin screenshots 2015-08-20 14:34:17 -04:00
psychobunny
e4fa7c136a updated theme versions 2015-08-20 14:31:09 -04:00
barisusakli
49afe544e1 recursive #3227 2015-08-20 14:23:29 -04:00
psychobunny
d5b88e9c35 fixed markup on /group page 2015-08-20 14:20:13 -04:00
psychobunny
26858436b6 fix for acp subpage nav 2015-08-20 14:13:21 -04:00
psychobunny
e04495b012 underped tags page 2015-08-20 14:06:41 -04:00
psychobunny
cbb2453c08 minor styling to tags page 2015-08-20 14:00:56 -04:00
psychobunny
646cdf9c57 manage/category 2015-08-20 13:55:59 -04:00
psychobunny
bd494207eb got rid of that fancy edit for cat name/desc + improved layout for settings 2015-08-20 13:40:22 -04:00
psychobunny
ffd38b8cc3 some UX tweaks to manage/category 2015-08-20 13:31:27 -04:00
psychobunny
28e2297e63 fixed categories layout 2015-08-20 13:24:54 -04:00
psychobunny
c6282e289a main header title + better logic 2015-08-20 13:21:12 -04:00
psychobunny
744a7d4210 extend/widgets 2015-08-20 12:41:16 -04:00
psychobunny
d1f45b6d79 extend/plugin 2015-08-20 12:35:38 -04:00
psychobunny
ec335b55cd fixed active state for install plugins submenu 2015-08-20 12:24:24 -04:00
psychobunny
4fd99e8aae removed activateMobile 2015-08-20 12:22:20 -04:00
psychobunny
cd5bb427cc appearance/customise 2015-08-20 12:20:58 -04:00
psychobunny
c35ef74c5c header tweaks 2015-08-20 12:12:55 -04:00
psychobunny
12539a158d settings - advanced, header, sockets 2015-08-20 12:10:50 -04:00
psychobunny
0eb3d05db8 settings/web-crawler 2015-08-20 12:09:08 -04:00
psychobunny
46bb289950 settings - notifications, pagination, tags 2015-08-20 12:05:44 -04:00
psychobunny
623dbaa608 settings/post 2015-08-20 12:01:33 -04:00
psychobunny
fe98624609 settings/group and settings/guest 2015-08-20 11:54:46 -04:00
psychobunny
4fdf3d19a0 settings/user 2015-08-20 11:50:48 -04:00
psychobunny
d53ae8769f settings/email 2015-08-20 11:43:40 -04:00
psychobunny
dc6950d094 settings/reputation 2015-08-20 11:41:25 -04:00
psychobunny
3c43e58d85 Merge branch 'master' into acp-paper 2015-08-20 11:39:20 -04:00
psychobunny
30970d618c dynamic title for settings pages 2015-08-20 11:39:14 -04:00
Julian Lam
e382dcab13 Reduce verbosity of plugin incompatibility errors
Instead of showing a 4-5 line warning for each potentially incompatible
plugin, we'll show the warning and then a list of plugins.
2015-08-20 11:01:59 -04:00
Julian Lam
23bb45b480 fixing plugin version checker to use satisfies again 2015-08-20 10:29:58 -04:00
Julian Lam
3464141b0f updating soundpack version min 2015-08-20 10:29:38 -04:00
Julian Lam
3c5df8a8ec removing the -dev flag from this branch 2015-08-20 10:10:28 -04:00
barisusakli
274844a07f check _resolved 2015-08-19 18:28:31 -04:00
psychobunny
2da3b34798 Merge branch 'master' into acp-paper 2015-08-19 18:20:33 -04:00
Barış Soner Uşaklı
f4da333b42 Merge pull request #3351 from yariplus/catsfixes
Fixing some issues with acp category page
2015-08-19 17:51:31 -04:00
Barış Soner Uşaklı
79e7ca50c1 Merge pull request #3160 from Alpacatty/master
General-Purpose Dockerfile
2015-08-19 17:40:24 -04:00
barisusakli
5d68a61b46 latest persona 2015-08-19 17:32:42 -04:00
barisusakli
fee08cd665 closes https://github.com/NodeBB/NodeBB/pull/3250 2015-08-19 17:14:22 -04:00
Barış Soner Uşaklı
5e9a123e70 Merge pull request #3360 from jsdream/renderHeaderHook
Add 'filter:middleware.renderHeader' hook
2015-08-19 16:58:24 -04:00
Barış Soner Uşaklı
a2bf7d4230 Merge pull request #2895 from EvSpirit/master
#2893 increment --debug-brk port value when forking js-minifier child pr...
2015-08-19 16:46:47 -04:00
Barış Soner Uşaklı
eb0fb07f05 Merge pull request #3339 from mani95lisa/patch-4
allow use github module
2015-08-19 16:15:23 -04:00
barisusakli
7db41275a3 closes #3227 2015-08-19 15:53:37 -04:00
psychobunny
ba58c83b97 acp active states for main menu 2015-08-19 15:52:31 -04:00
jsdream
103055b262 Add error check in 'filter:middleware.renderHeader' hook callback 2015-08-19 22:50:04 +03:00
psychobunny
656589f71f acp skins first pass 2015-08-19 15:43:19 -04:00
psychobunny
9389c0773e acp themes redesign first pass 2015-08-19 15:31:15 -04:00
psychobunny
30cd8d2af9 cleaned up the widgets page 👍 2015-08-19 15:09:16 -04:00
psychobunny
f0bed5a1ef new menu completed 2015-08-19 14:58:48 -04:00
Julian Lam
6f23e4bab1 changing the default base theme to persona, from vanilla 2015-08-19 14:57:49 -04:00
Julian Lam
ac46356cad Revert "changed base templates path to Persona, from Vanilla."
This reverts commit fe7f5402a8.
2015-08-19 14:54:39 -04:00
psychobunny
cc05a0a049 header menu first pass 2015-08-19 14:46:40 -04:00
barisusakli
91aa1d55dc t.js 0.2.10 2015-08-19 14:28:48 -04:00
barisusakli
2bb6631078 update t.js ver 2015-08-19 14:28:04 -04:00
barisusakli
85ae56e41d closes #3452 2015-08-19 14:17:21 -04:00
yariplus
67e450a05b Fix issues with acp category page
strange name for background size variable
invalid class selectors
hijacking of background style
2015-08-19 13:47:15 -04:00
barisusakli
878690e5f7 removed extra param 2015-08-19 13:37:48 -04:00
psychobunny
d464cb2f0d settings - automated table of contents 2015-08-19 13:27:30 -04:00
psychobunny
acb1e8a495 added a tweaked mdl.css that works with BS 2015-08-19 12:48:33 -04:00
barisusakli
aec4ee5392 crash fix 2015-08-19 12:47:57 -04:00
psychobunny
51db2012c8 removed nanoscroller 2015-08-19 12:38:54 -04:00
psychobunny
60826b1c94 temporarily disabling header 2015-08-19 12:37:48 -04:00
psychobunny
e434942a28 first pass on settings design 2015-08-19 12:36:42 -04:00
psychobunny
fed87dded6 sayonara, acp menu 2015-08-19 12:02:38 -04:00
psychobunny
685b3ce004 added bootswatch paper 3.3.5 2015-08-19 11:55:51 -04:00
barisusakli
d07fca6907 update theme versions 2015-08-19 01:21:12 -04:00
barisusakli
7a8cdfc095 added core field 2015-08-19 01:16:30 -04:00
barisusakli
537d539512 fix custom homepage 2015-08-18 18:43:14 -04:00
barisusakli
5ababdbdf0 prevent crash if data.enter is not string 2015-08-18 17:05:34 -04:00
Julian Lam
c45e182bab Fix ./nodebb upgrade process to not use programmatic npm
- Closes #3451
- Apparently, programmatically invoking npm is like opening Pandora's
box. No thanks.
2015-08-18 16:46:51 -04:00
barisusakli
830d27caef dont ignore error 2015-08-18 15:17:07 -04:00
barisusakli
7bd98a2516 closes #3427 2015-08-18 15:01:36 -04:00
barisusakli
5b87af4389 closes #3447
recursively get all children
calculate topic/post count from children
new sorted set `cid:<id>:children`
fix search query params
2015-08-18 14:17:25 -04:00
psychobunny
a990e9c3bf closes #3449 2015-08-18 11:27:22 -04:00
psychobunny
4b0f50f57e closes #3448 2015-08-18 11:02:31 -04:00
Julian Lam
3b3c383d93 adding a fallback for en_GB and en_US 2015-08-17 17:20:41 -04:00
Julian Lam
9d2c54e26a Add missing timeago locale files 2015-08-17 17:09:47 -04:00
Julian Lam
5007c3a32c latest translations 2015-08-17 17:07:39 -04:00
psychobunny
0f41654fde latest rewards-essentials 2015-08-17 16:53:43 -04:00
barisusakli
fe5f1b8c1d moved recent popular 2015-08-17 16:38:12 -04:00
psychobunny
3d962822c6 #3322 properly, @barisusakli so no need to copy pasta everywhere timeago is used 2015-08-17 16:26:35 -04:00
psychobunny
370a7ae2fb instant update for skin preview -- themes 2015-08-17 16:15:36 -04:00
psychobunny
5b1571ad1e don't need to refresh to preview updated skin #3069 2015-08-17 16:11:26 -04:00
psychobunny
9f97e8fa0c #3069 2015-08-17 15:57:04 -04:00
psychobunny
0150e0e063 closes #3069 2015-08-17 15:55:09 -04:00
psychobunny
a9035f166b fix endsWith error 2015-08-17 15:28:04 -04:00
psychobunny
c919a2817a tjs 0.2.28 2015-08-17 15:18:07 -04:00
psychobunny
275769a801 closes #3435 2015-08-17 14:54:00 -04:00
barisusakli
f4dd0c14ae update title for new posts as well 2015-08-17 13:19:20 -04:00
psychobunny
6db33f5641 unused vars 2015-08-17 12:52:03 -04:00
Julian Lam
3d9415b65e Fixes #3442 2015-08-17 12:38:31 -04:00
Julian Lam
64ab43b7fc fixed language name for Greek 2015-08-17 12:38:31 -04:00
psychobunny
f9b104192b fixing deprecated global translator call 2015-08-17 12:29:36 -04:00
psychobunny
5299e1fdc6 closes #3322 2015-08-17 12:28:16 -04:00
psychobunny
2da3761c59 closes #3446 2015-08-17 12:23:31 -04:00
psychobunny
fb34df627b upping themes #3429 2015-08-17 12:19:02 -04:00
psychobunny
b3639f3c71 closes #3429 2015-08-17 12:16:12 -04:00
psychobunny
4a4644665d upping theme versions #3445 2015-08-17 11:48:58 -04:00
psychobunny
842815e5e9 closes #3445 2015-08-17 11:47:23 -04:00
Julian Lam
08fb30378a Closes #3302
- Fixes issue where the served path for the favicon was incorrect (included relative path when one was not needed)
- Also fixes issue where favicons were just plain not served for subfolder installations
- Fixed unsemantic HTML in ACP/General regarding Site Logo and Favicon fieldsets
2015-08-17 11:45:30 -04:00
barisusakli
c70267bd23 fix indent 2015-08-14 15:15:46 -04:00
barisusakli
90b4c06c77 Merge remote-tracking branch 'origin/master' 2015-08-14 15:14:30 -04:00
barisusakli
5e3e1f8781 #3430 2015-08-14 15:14:20 -04:00
Julian Lam
c3304b5cd8 Update dependency minimum versions, and removed ^ for stability purposes 2015-08-14 10:33:53 -04:00
barisusakli
8333a5dcd9 fix filter 2015-08-13 16:03:15 -04:00
barisusakli
6e630b3cfd closes #3434, thanks to @psychobunny 2015-08-13 15:30:31 -04:00
Julian Lam
dfd840b001 Fix defaultPlugins logic to parse the incoming value 2015-08-13 14:23:09 -04:00
barisusakli
d986fc7cb6 fix indent 2015-08-13 12:49:15 -04:00
barisusakli
aab7651959 add default plugins 2015-08-13 12:47:59 -04:00
barisusakli
46bcd66297 filter system plugins from list 2015-08-13 12:33:24 -04:00
barisusakli
aeb15ed7ee moved getMonthlyPageViews to analytics 2015-08-13 12:20:53 -04:00
Barış Soner Uşaklı
235a981dd1 added mongodb memory usage 2015-08-12 16:14:48 -04:00
Barış Soner Uşaklı
fd87bedc90 fix indent 2015-08-12 14:54:49 -04:00
Barış Soner Uşaklı
0d789261a9 filter falsy check valid 2015-08-12 14:49:26 -04:00
Julian Lam
937875b0be updated mentions minver 2015-08-12 11:00:09 -04:00
Julian Lam
7160e157de added missing language.json file for Kinyarwanda 2015-08-12 10:17:38 -04:00
Ziggy
08af92c2c0 added Kinyarwanda, Murakoze cyane!! 2015-08-12 10:09:27 -04:00
Julian Lam
bd960ea6ac latest translations 2015-08-12 09:57:41 -04:00
Julian Lam
1b812068ca Fix bug where translator would split on all colons, and not just the first 2015-08-11 17:09:24 -04:00
barisusakli
f8f3e3faa7 closes https://github.com/NodeBB/nodebb-theme-persona/issues/79 2015-08-11 13:19:25 -04:00
barisusakli
9e1d5c8113 closes #3424 2015-08-10 17:57:51 -04:00
barisusakli
5a15ee7713 #3424 2015-08-10 17:18:32 -04:00
Julian Lam
a0d01a05ed Update behaviour so a theme reset sets Persona, not vanilla 2015-08-09 20:17:28 -04:00
barisusakli
3c63336063 another waterfall 2015-08-07 17:56:03 -04:00
barisusakli
8f98d03239 waterfall for topics 2015-08-07 17:25:35 -04:00
barisusakli
0534da0ed1 closes #3389 2015-08-07 16:44:20 -04:00
barisusakli
61dac1a01e closes #3390 2015-08-07 12:27:35 -04:00
barisusakli
1b9c443076 toggle browsing if all users are gone 2015-08-07 00:58:44 -04:00
barisusakli
fba6f3ba81 https://github.com/psychobunny/templates.js/issues/33 2015-08-06 16:38:20 -04:00
barisusakli
e341b80d93 use set to get groups 2015-08-06 16:25:36 -04:00
Julian Lam
e60194292f Fix a myriad of problems with the ACP/Plugins page
- Fixed #3350
- Fixed issue where the normalised API return would have the wrong id for all plugins
- Fixed issue where uninstalling a locally installed plugin via ACP would cause NodeBB to crash
- Simplified ACP/Plugins client-side code to simply refresh the page after installing or uninstalling a plugin.
2015-08-06 12:41:16 -04:00
Julian Lam
f53fb19468 Fix #3384
Resolved issue where if a bundled plugin was uninstalled, NodeBB would no longer start as the dep check could not be completed.
2015-08-04 17:00:12 -04:00
barisusakli
9604779be1 fix unreplied 2015-08-04 15:51:35 -04:00
barisusakli
f6be4efe8b when a post is moved update recent topics order 2015-08-04 14:26:03 -04:00
Julian Lam
b75dfa9f6e upped theme minvers 2015-08-04 14:10:18 -04:00
Julian Lam
56b399c900 Add new mixin, and added mixins to stylesheet.css 2015-08-04 10:34:25 -04:00
Julian Lam
ccb5094d54 Increased contacts limit to 200, from 20
So that if you have more than 20 friends (or followed > 20 people), you will see all of them (up to 200, anyway...) in the "Contacts" portion of the `/chats` route.
2015-08-04 10:14:56 -04:00
barisusakli
8ec08337aa closes #3383 2015-08-03 19:57:01 -04:00
barisusakli
808d64e0d9 delete topic bookmarks on topic purge 2015-08-02 14:42:01 -04:00
barisusakli
7c0b798036 fix indents 2015-08-01 18:45:03 -04:00
Barış Soner Uşaklı
be8aac9950 Merge pull request #3372 from jsdream/newHook2
Add 'filter:recent.build' hook
2015-08-01 17:58:35 -04:00
barisusakli
8178e210e4 Fix indents 2015-08-01 17:38:11 -04:00
Barış Soner Uşaklı
e34b30eeca Merge pull request #3369 from pejuaxel/master
Add missing localizations
2015-08-01 17:24:32 -04:00
Barış Soner Uşaklı
2968dbb9ac Merge pull request #3346 from bdharrington7/bookmark2
Saves user bookmarks on server if available
2015-08-01 17:08:40 -04:00
barisusakli
0dfe2e0e90 only display readable categories in /unread dropdown 2015-07-31 20:03:51 -04:00
jsdream
1da5b2ca34 Add 'filter:recent.build' hook 2015-07-31 16:51:55 +03:00
bdharrington7
bd26961fa6 Makes bookmark click scroll to last read instead of past it 2015-07-30 23:29:14 -07:00
bdharrington7
25203ee67e changes bookmark storage to sortedset, gets uid from socket rather than being passed from client 2015-07-30 23:13:34 -07:00
barisusakli
d5128d0513 closes #3370 2015-07-30 15:23:48 -04:00
barisusakli
e592499d48 correctly hide/show user in browsing users 2015-07-30 15:14:10 -04:00
Barış Soner Uşaklı
924692404d Merge pull request #3371 from mikicaivosevic/patch-1
Update index.js, fix outgoing XSS
2015-07-30 14:38:39 -04:00
Mikica Ivosevic
e24bd2c0e3 Update index.js, fix outgoing XSS
Fix XSS on /outgoing route
2015-07-30 18:53:20 +02:00
Axel
fc0871a79d Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-07-30 09:33:33 +02:00
Axel
91e81065dc Localize "Group Name:" 2015-07-29 21:40:41 +02:00
Axel
79d7721971 Add category and subcategories localization 2015-07-29 21:33:36 +02:00
Julian Lam
cead53ec86 Fix list behaviour in chat page 2015-07-29 15:22:00 -04:00
Julian Lam
53a1e6106e Fix bug where an empty chat message would appear in the chat modal 2015-07-29 14:31:33 -04:00
Julian Lam
98b74f848e Fix newSet detection on chat messages 2015-07-29 13:16:52 -04:00
Julian Lam
8b5195fa82 updating theme minvers again 2015-07-29 12:59:38 -04:00
Julian Lam
2593f1b4d9 Fix bug where new chat messages would not append
... due to incorrect class and id assignment of the chat modal. Regression was caused by an earlier commit that moved the
typing span elsewhere.
2015-07-29 12:58:06 -04:00
Julian Lam
81dc2b9615 updated theme minvers 2015-07-29 12:43:25 -04:00
Julian Lam
60a6775c72 Changed behaviour of the Chat Typing Notification
Instead of being placed at the bottom of the modal/list,
it will now be displayed at the top of the modal, and not
shown in the chats page at all (as it is already present
in the contact list)
2015-07-29 12:41:09 -04:00
barisusakli
47cc1083df fix mark all read 2015-07-28 15:03:20 -04:00
barisusakli
05411651b3 server side check so you can't leave admin group 2015-07-28 13:26:58 -04:00
Julian Lam
4f57227505 Merge branch 'master' into v0.8.x 2015-07-28 12:17:13 -04:00
Julian Lam
eac92b00c6 better error checking with socket broadcast method 2015-07-28 12:16:57 -04:00
Julian Lam
7e640806b5 updated dev branch version 2015-07-28 10:40:54 -04:00
Julian Lam
03b6b1e15c Fixed crash on launch if no hooks listen to filter:router.page
A previous commit added a new hook, although it executed async.each on a var without a null check, so if no hooks were registered, it was null, and not an empty array, causing async to crash.
2015-07-28 10:36:51 -04:00
Julian Lam
6348eb2bab fixed #3359 2015-07-28 10:24:46 -04:00
Julian Lam
fcebfd8f39 latest fallbacks 2015-07-28 09:37:29 -04:00
Julian Lam
2f6b9eb80a updated theme minvers 2015-07-28 09:35:19 -04:00
Julian Lam
8b59efef38 Merge pull request #3366 from pejuaxel/master
Add missing localization
2015-07-28 09:34:05 -04:00
Axel
85d7b04846 Add missing localization 2015-07-28 14:49:31 +02:00
Julian Lam
db4ac34138 latest fallbacks 2015-07-28 07:51:03 -04:00
Julian Lam
4f4e33eb15 Merge branch 'pichalite-master' 2015-07-28 07:49:50 -04:00
Julian Lam
eb5be2f671 fixed some whitespace issues and made the admin check return early, in its own block 2015-07-28 07:49:28 -04:00
Julian Lam
5ba7234bd7 Merge pull request #3362 from pejuaxel/master
Missing localization
2015-07-28 07:49:10 -04:00
Julian Lam
d10fd6248e Merge branch 'master' of https://github.com/pichalite/NodeBB into pichalite-master 2015-07-28 07:45:34 -04:00
Julian Lam
afc32c1f6e latest translations and fallbacks 2015-07-28 07:44:21 -04:00
Julian Lam
487166ba48 translations for @HuiStudio, #3365 2015-07-28 07:40:43 -04:00
Julian Lam
5a50a098d8 added a new middleware and plugin hook
- Middleware added: requireUser, redirects to login if there is no user session.
- Hook added: filter:router.page
2015-07-28 07:39:11 -04:00
bdharrington7
c0ec6faed3 Clarifies code by calling native db method instead of Topics method 2015-07-27 19:59:19 -07:00
barisusakli
5d94b00883 parse category description closes #3209 2015-07-27 15:31:55 -04:00
Julian Lam
fa351ffa07 fixed wrong documentation in comments... 2015-07-27 13:30:28 -04:00
Axel
9c2d7a2468 new language keys 2015-07-26 23:40:44 +02:00
Julian Lam
474ff3ed35 fixed #3359 2015-07-24 14:25:23 -04:00
barisusakli
5d56e4f835 Merge remote-tracking branch 'origin/master' into v0.8.x 2015-07-24 14:03:20 -04:00
barisusakli
26a9530686 fix sorting on users/map 2015-07-24 13:58:46 -04:00
pichalite
d2bbca1de1 don't display leave/join buttons for admin group 2015-07-24 08:58:00 -07:00
jsdream
29fcbf6750 Add 'filter:middleware.renderHeader' hook 2015-07-24 18:18:22 +03:00
Julian Lam
87111ee6be fixed #3007 2015-07-24 10:22:21 -04:00
Julian Lam
ee9390ee34 fixed #2949 2015-07-23 16:28:31 -04:00
Julian Lam
df055ce7ea if buildHeader middleware is called, isAPI is now set to false 2015-07-23 12:58:21 -04:00
Julian Lam
0bc175dd4c fixed #3355
fixed issue where disabled categories showed up in the category dropdown in /unread
2015-07-23 12:47:58 -04:00
pichalite
a5226c9423 don't display "Leave Group" button for admins in "administrators" system group on groups details page 2015-07-22 17:10:17 -07:00
Julian Lam
791e0893ab added new hook "filter:digest.subscribers" to allow plugins to override digest subscriptions 2015-07-22 15:07:12 -04:00
Julian Lam
12601dd3aa added new hook "filter:digest.subscribers" to allow plugins to override digest subscriptions 2015-07-22 15:06:30 -04:00
barisusakli
766e233b87 closes #3353 2015-07-22 14:51:20 -04:00
barisusakli
954c25823e closes #3352 2015-07-22 14:17:34 -04:00
Julian Lam
fe7f5402a8 changed base templates path to Persona, from Vanilla.
This breaks all themes relying on templates from Vanilla!! See: https://community.nodebb.org/topic/6098/on-changing-the-default-theme-to-persona
2015-07-22 11:30:14 -04:00
Julian Lam
c38cab3b74 latest russian translations 2015-07-22 10:23:15 -04:00
Mani Wang
92968dfd8d avoid outdated error
when use github address as module
2015-07-22 19:49:15 +08:00
barisusakli
2b93c01340 closes #3347 2015-07-21 20:22:56 -04:00
bdharrington7
54180acf9b saves updated bookmark in callback 2015-07-22 06:55:48 +08:00
Julian Lam
93007bc34f fixed regression of pagination caused by changes to ajaxification logic 2015-07-21 15:21:50 -04:00
Julian Lam
fdddc19d0d updated theme minvers 2015-07-21 15:16:10 -04:00
Julian Lam
03a4b5f641 updating development version 2015-07-21 14:57:04 -04:00
Julian Lam
d62c3b9340 switching default theme on installation to Persona, from Lavender 2015-07-21 14:55:52 -04:00
Julian Lam
05cac46c5b Revert "updated dev version on master branch"
This reverts commit 1a56267791.
2015-07-21 14:41:03 -04:00
bdharrington7
2a82b5db91 Merge branch 'master' into bookmark2 2015-07-22 00:27:02 +08:00
bdharrington7
4d99f60b3d uses server-side bookmark if available 2015-07-21 23:46:05 +08:00
Julian Lam
1a56267791 updated dev version on master branch 2015-07-21 11:37:58 -04:00
Julian Lam
d426839da9 latest translations 2015-07-21 11:29:11 -04:00
Julian Lam
7e6703c18e more line ending conversion #3343 2015-07-21 11:23:16 -04:00
Julian Lam
c781e55ea9 line endings? #3343 2015-07-21 11:20:37 -04:00
Julian Lam
d095e5925c #3343 2015-07-21 11:17:31 -04:00
bdharrington7
45df5a3d0b stores the user's bookmark on the server 2015-07-21 21:20:13 +08:00
psychobunny
0bc4799c3c remove setTimeout hax in settingsv1 :squirrel: 2015-07-20 17:16:30 -04:00
psychobunny
fdc66eb607 fixes checkboxes for settingsv2 (deja vu) 2015-07-20 17:13:25 -04:00
psychobunny
a3c41e7fdb action:posts.loading 2015-07-20 17:12:41 -04:00
psychobunny
8e4340544a action:posts.edited 2015-07-20 17:12:34 -04:00
barisusakli
435fe5c54f closes #3342 2015-07-20 15:53:08 -04:00
Barış Soner Uşaklı
a20d1f8220 Updated emails :) 2015-07-20 15:29:16 -04:00
Julian Lam
866b0ddaa6 Merge pull request #3283 from APXEOLOG/filter-extension
filter:auth.init strategy extension with custom urls
2015-07-20 15:25:54 -04:00
Barış Soner Uşaklı
bdc3cc49f8 Merge pull request #3308 from acardinale/master
Uniform action:post.* hook
2015-07-20 15:21:39 -04:00
Julian Lam
957766c1d7 fixed #3272 2015-07-20 14:51:38 -04:00
Julian Lam
0c6b2b122e fixed #3268 2015-07-20 14:28:33 -04:00
Julian Lam
fdefff3516 fixes #3338 2015-07-20 12:51:53 -04:00
barisusakli
e171ba59ac if no tags are passed in assume 0 tags 2015-07-20 12:34:21 -04:00
barisusakli
fba6e1dfe2 added min/max tags setting to defaults.json 2015-07-20 12:30:42 -04:00
barisusakli
1413fc1b1a closes #3340 2015-07-20 12:27:41 -04:00
barisusakli
399c89eeed pass in req,res to action:user.loggedOut 2015-07-20 12:22:14 -04:00
Julian Lam
1c973b7bf3 fixed #3324 2015-07-20 11:41:30 -04:00
Julian Lam
22251cb0bd fixed #3341, introduced new navigation data property, "targetBlank", deprecated "target", which was never exposed anyway, and updated default values 2015-07-20 11:29:38 -04:00
Julian Lam
33434ed13d fixed package.json conflict 2015-07-20 11:29:22 -04:00
Mani Wang
c13589735d allow use github module
avoid `outdated` error when use github address as module.
2015-07-20 16:57:35 +08:00
barisusakli
83ad4ab042 waterfall 2015-07-18 14:21:51 -04:00
barisusakli
414c2a8bd9 added action:user.loggedOut 2015-07-18 14:06:51 -04:00
barisusakli
6ee0671e6a added too many tags check to post edit 2015-07-18 14:03:27 -04:00
Barış Soner Uşaklı
6bd131815f Merge pull request #3256 from yariplus/mintags
Add minimum tags per topic setting.
2015-07-18 14:02:06 -04:00
barisusakli
945a94f0ed delete cache on current process first 2015-07-18 13:59:40 -04:00
yariplus
bd863e1ccb Fix derp. 2015-07-18 02:34:47 -04:00
yariplus
546efbbd1b Add translations for min and max tag errors. 2015-07-18 02:21:34 -04:00
yariplus
e112190bee Fix maximumTagsPerTopic 2015-07-17 21:46:29 -04:00
Julian Lam
a10dfc87cf upped mentions minver 2015-07-17 19:48:33 -04:00
barisusakli
f4ea534327 closes #3312 2015-07-17 19:03:32 -04:00
Julian Lam
8dedea884d added 'no parent category' option to #2820 2015-07-17 18:27:45 -04:00
Julian Lam
5340537631 closed #2820 2015-07-17 18:19:57 -04:00
barisusakli
9e63aaebb8 added new hook action:middleware.pageView 2015-07-17 15:57:49 -04:00
Julian Lam
7063f172a7 upped composer minver, closes #3325 2015-07-17 13:15:51 -04:00
Julian Lam
87e5c733a4 added dedicated client-side action hook for when the client-side finishes loading 2015-07-17 13:13:30 -04:00
Julian Lam
4b9eab6dc0 fixes #3329 2015-07-17 10:53:00 -04:00
Julian Lam
b2a69758ee added back multi-line support for translator 2015-07-17 10:28:30 -04:00
Julian Lam
eaa35c8057 making translator regex stricter, so it doesn't match language strings that won't ever exist 2015-07-17 10:21:40 -04:00
barisusakli
65ab5733ef added categories navigation item, ability to change logo url 2015-07-16 16:21:05 -04:00
Julian Lam
b46da4461c upped markdown minver 2015-07-16 15:56:43 -04:00
barisusakli
0be2a79210 pass the data used to create the category to filter:category.create 2015-07-16 15:56:26 -04:00
barisusakli
e023d01616 closes #3327 2015-07-16 14:07:39 -04:00
Julian Lam
7f77269596 theme minvers 2015-07-16 13:50:24 -04:00
Julian Lam
3a8c1f88fb upped composer minver 2015-07-16 13:36:25 -04:00
Julian Lam
2c62bafdc7 fixed ajaxify for pagination blocks 2015-07-16 13:26:16 -04:00
Julian Lam
305c54a727 fixed bug where an extra space was added to new replies 2015-07-16 13:20:26 -04:00
Julian Lam
d061411747 added composer and emoji to default enabled plugins 2015-07-16 12:10:40 -04:00
Julian Lam
7fc08bbda8 latest translations :) 2015-07-16 11:06:15 -04:00
Julian Lam
516103fe5d latest fallbacks 2015-07-15 17:03:03 -04:00
Julian Lam
e5875ba53d adjusted persona and vanilla minvers 2015-07-15 17:02:09 -04:00
Julian Lam
e25d2fa6e6 closed #2811 2015-07-15 16:58:25 -04:00
Julian Lam
d712dcdce1 fixed issue where ajaxify couldn't handle urls with "#" href if the currently address already had a hash value present. 2015-07-15 15:12:00 -04:00
Julian Lam
b83492daa2 Merge pull request #3048 from FokkeZB/image-scheme
Replace schemeless URLs for emails
2015-07-15 14:49:23 -04:00
Julian Lam
d329bf45e6 Merge pull request #3318 from atomoc/patch-12
Update sitemap.js
2015-07-15 14:43:03 -04:00
Julian Lam
69c4b4183a latest fallbacks 2015-07-15 14:11:05 -04:00
Julian Lam
cbe810341c changed some wording in user.json to use past participle tense 2015-07-15 14:04:32 -04:00
Julian Lam
ad38c55b12 fixes #3314 2015-07-15 12:08:43 -04:00
Julian Lam
e2c4f668a1 fixed danish language error 2015-07-15 11:04:20 -04:00
barisusakli
a9da867255 fix infinite redirect loop on /chats @julianlam 2015-07-15 01:09:16 -04:00
barisusakli
ee7e36ae44 removed rooms from return 2015-07-14 17:14:35 -04:00
barisusakli
dc7839b511 small fix 2015-07-14 17:12:59 -04:00
barisusakli
daf1a388eb closes #3039 2015-07-14 17:03:33 -04:00
Сергей Савельев
8209d97f05 Update sitemap.js 2015-07-14 14:33:40 +03:00
Сергей Савельев
9552d9c5a3 Update sitemap.js 2015-07-14 14:33:25 +03:00
Сергей Савельев
efbab27827 Update sitemap.js
Why not? :)
2015-07-14 14:29:41 +03:00
Julian Lam
2cb70ceccc added auto-ajaxify on reconnect 😎 2015-07-13 16:00:04 -04:00
Julian Lam
f9a29186c4 updated ajaxify 5xx handling code to work even if nginx is used as a proxy (as it serves back 502, not 500) 2015-07-13 16:00:04 -04:00
barisusakli
81eeab42ed category filter on /unread 2015-07-13 14:47:15 -04:00
Julian Lam
3256faeb28 added Serbian and Danish to NodeBB, Хвала/mange tak! 2015-07-13 11:01:50 -04:00
Julian Lam
43b72d1552 updated italian translations 2015-07-13 10:52:30 -04:00
barisusakli
1b7df6e4b2 closes #3315 2015-07-12 12:42:53 -04:00
Julian Lam
835750f36f fixed checkbox behaviour in widgets page... @psychobunny, did I do this right? 2015-07-11 21:52:18 -04:00
Julian Lam
aab726bac4 fixes #3313 2015-07-11 20:32:04 -04:00
barisusakli
072d287183 closes #3311 2015-07-10 16:43:31 -04:00
Julian Lam
534b13e089 fixed bug where ephemeral groups and the registered-users group wouldn't show in in ACP/category details page for privileges. 2015-07-10 15:38:42 -04:00
Julian Lam
1229470bba seems the categories.search socket method is not used... 2015-07-10 15:17:16 -04:00
Julian Lam
140b8be161 updated ACP checkbox module so that it hides the checkbox via js instead of blanket CSS hiding 2015-07-10 15:13:42 -04:00
psychobunny
a4ace48469 closes #3310 2015-07-10 14:28:10 -04:00
psychobunny
541fd474b3 fixes checkboxes for both settingsv1 and settingsv2 2015-07-10 14:07:57 -04:00
psychobunny
f56c2ea88a padding fix 2015-07-09 17:14:56 -04:00
Barış Soner Uşaklı
4fc4a0ff3e dont escape group.name, use displayName in tpls instead 2015-07-09 16:00:43 -04:00
Barış Soner Uşaklı
d225951027 fix group name 2015-07-09 15:25:46 -04:00
Barış Soner Uşaklı
2b2dceb28b removed category stats from acp 2015-07-09 14:47:15 -04:00
Barış Soner Uşaklı
a12ecbc230 admin/manage/groups pagination 2015-07-09 14:01:20 -04:00
Julian Lam
1602b378e3 updated some minvers 2015-07-09 13:32:22 -04:00
Julian Lam
b4e39374bb firing 'change' event for all checkboxes after settingsv2 load 2015-07-09 13:31:14 -04:00
Andrea Cardinale
92c1d6712b Uniform action:post.* hook 2015-07-09 13:17:49 +02:00
Andrea Cardinale
423c6cc0ec Merge remote-tracking branch 'upstream/master' 2015-07-09 11:26:31 +02:00
Julian Lam
42367a653c more .reset() calls 2015-07-08 18:52:10 -04:00
psychobunny
780838c579 fixes "other" category for presence graph 2015-07-08 18:47:05 -04:00
Julian Lam
704aeea3f1 hopefully fixing bug where @psychobunny's terminal turns yellow after upgrading 2015-07-08 18:47:31 -04:00
psychobunny
ec8c5ff1fc dashboard: format numbers 2015-07-08 18:34:06 -04:00
psychobunny
7fbca487f5 make group description and group name the same size 2015-07-08 17:59:16 -04:00
psychobunny
6b6bae7cc5 font awesome checkboxes for acp 2015-07-08 17:43:24 -04:00
Julian Lam
020de2722f fixed regression introduced by earlier fix for #3307 2015-07-08 17:27:45 -04:00
psychobunny
b73a26f7a6 fixes reload button and probably a bunch of other things in ACP 2015-07-08 17:12:06 -04:00
psychobunny
6cf0697621 fixed indenting to match style 2015-07-08 17:08:37 -04:00
psychobunny
396013c8fd added a faint separator to the categories listing 2015-07-08 17:08:35 -04:00
Julian Lam
74f2f7caef fixes #3307 2015-07-08 17:04:25 -04:00
Julian Lam
02a63c0a45 moved portions of the ACP/Plugins page to a pair of partials, and split up the list so the plugins list isn't parsed twice. 2015-07-08 17:04:25 -04:00
psychobunny
b69ea4564a fix user presence graph
if nobody's using your forum at all, this thing stopped working
altogether
2015-07-08 17:02:33 -04:00
psychobunny
c01f06214e don't re-render graph if data is stale 2015-07-08 16:54:39 -04:00
psychobunny
26f22345cd allow realtime updates of the traffic graph in ACP 2015-07-08 16:46:33 -04:00
psychobunny
c6713177d3 realtime mode toggle for dashboard 2015-07-08 16:35:59 -04:00
psychobunny
c1a6bd8b8f don't enforce dependency check when running in dev mode 2015-07-08 16:03:16 -04:00
barisusakli
21ad15b13a closes #3306 2015-07-08 12:20:07 -04:00
barisusakli
b8028ccdbf dont allow deletion of administrators and registered-users 2015-07-08 12:01:06 -04:00
Barış Soner Uşaklı
d00e08a8e6 Merge pull request #3299 from NicolasSiver/category-update
Filter: Category update
2015-07-07 17:32:52 -04:00
barisusakli
2b493964d0 closes #3296 2015-07-07 17:23:41 -04:00
Nicolas Siver
9d0a0538a6 use tabs 2015-07-07 20:10:44 +03:00
Barış Soner Uşaklı
7397d98647 fix create time sort 2015-07-07 12:08:30 -04:00
Barış Soner Uşaklı
d0b1ebb8ea possible sort fix 2015-07-07 12:01:47 -04:00
Barış Soner Uşaklı
9a03671ad2 removed async.apply 2015-07-07 11:58:15 -04:00
Barış Soner Uşaklı
503d83998b fix indent 2015-07-07 11:39:56 -04:00
Barış Soner Uşaklı
b50ad39120 Merge pull request #3284 from APXEOLOG/pr-1
User.uploadFromUrl fix
2015-07-06 17:50:14 -04:00
barisusakli
f08554e788 closes #2701 2015-07-06 17:39:46 -04:00
Julian Lam
c6643082e2 closes #3303 2015-07-06 16:11:20 -04:00
Julian Lam
1069f9c936 some prep work to allow for checking of dependency versions. Also updated upgrade.check behaviour to send back error if schema is out of date, instead of no error and "false". 2015-07-06 15:44:52 -04:00
Julian Lam
da1c347fc2 closes #3297 2015-07-06 15:06:10 -04:00
barisusakli
ffd22f50ff closes #1999 2015-07-06 14:33:52 -04:00
Julian Lam
2d70733fa5 updated dependencies to use latest UglifyJS2, instead of my year-old fork 2015-07-06 13:19:14 -04:00
barisusakli
1d4efaee68 fix indices if postsPerPage is an odd number 2015-07-06 13:01:40 -04:00
Julian Lam
4de5fde18d fixed link to maintenance mode in ACP/Dash 2015-07-06 12:45:48 -04:00
Julian Lam
5c44775c1f latest translations, wow. 2015-07-06 12:45:48 -04:00
barisusakli
52f7e13a5c closes #3289 2015-07-06 12:39:05 -04:00
Julian Lam
e355c8cb1b removed socket calls for composer out of core and into plugin, closes #3293 2015-07-06 12:34:58 -04:00
barisusakli
417a573f67 closes #3260 2015-07-06 12:14:33 -04:00
Julian Lam
ceb4de653d fixed #3295 2015-07-06 10:41:13 -04:00
Julian Lam
6ff635ada3 Merge pull request #3301 from FokkeZB/patch-1
Allow Winston's log level to be set via nconf
2015-07-06 10:24:04 -04:00
Fokke Zandbergen
4b1c9ce9a2 Allow Winston's log level to be set via nconf
Defaults to `info` for `production` and `verbose` otherwise, like it used to.
2015-07-06 11:58:17 +02:00
Nicolas Siver
1e2f4ae5e9 filter slug for category update 2015-07-05 08:31:21 +03:00
Nicolas Siver
773d886135 ignore for JetBrains IDEs 2015-07-04 10:11:11 +03:00
barisusakli
619251143d reset inf scroll on search 2015-07-03 18:19:02 -04:00
barisusakli
5c35b2d96f fix composer redirect on relative path install 2015-07-03 17:21:19 -04:00
Julian Lam
19294c91c3 upping theme minimum versions 2015-07-03 17:08:17 -04:00
Julian Lam
48af82659e removing the composer from core, out to its own plugin: nodebb-plugin-composer-default, closes #3288 2015-07-03 16:43:36 -04:00
barisusakli
491d376fb4 closes #2605 2015-07-03 16:42:55 -04:00
Andrea Cardinale
b33a482226 Restore favourites.js 2015-07-03 14:14:21 +02:00
Andrea Cardinale
3e21f26d0d Restore favourites.js 2015-07-03 14:10:40 +02:00
Andrea Cardinale
3b1582915e Restore favourites.js 2015-07-03 14:00:22 +02:00
Andrea Cardinale
da800a9016 Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/favourites.js
2015-07-03 13:55:32 +02:00
APXEOLOG
1ae0077810 Change error message to localized one 2015-07-02 18:29:46 +03:00
APXEOLOG
1d7b2b5776 Branch for Pull Request 2015-07-02 14:18:50 +03:00
APXEOLOG
10bbbb8942 filter:auth.init strategy extension with custom urls 2015-07-02 13:14:50 +03:00
APXEOLOG
93b6b6ba5f Fixed two bugs:
1. filename cannot contain ':' (at least on windows), nodebb crashes with such filename
2. lwip cannot define image type without file extension

Also added image extension check to prevent security issues
2015-07-02 13:03:43 +03:00
Julian Lam
f2bebb12c6 turns out "detached" isn't even an option, so I've removed it altogether
Conflicts:
	nodebb
2015-06-30 22:23:27 -04:00
barisusakli
f2c45e98da escape users group data 2015-06-30 15:25:25 -04:00
barisusakli
c5b9c9254a #3275 2015-06-30 13:38:11 -04:00
psychobunny
65e2c4cd20 missing error 2015-06-29 16:58:34 -04:00
psychobunny
bf3b5ee318 closes #3264 2015-06-29 15:32:35 -04:00
psychobunny
a285e0734d closes #3274 2015-06-29 15:16:36 -04:00
barisusakli
d135f37b4f check register queue against stopforumspam 2015-06-29 13:20:25 -04:00
barisusakli
5ee1951245 closes #3271 2015-06-28 21:54:21 -04:00
barisusakli
54226a86b4 fix group name link 2015-06-28 14:04:11 -04:00
barisusakli
57c2418157 closes #1306 2015-06-27 21:26:19 -04:00
barisusakli
de228fa67d display 404 page if registration is disabled 2015-06-26 12:18:14 -04:00
Barış Soner Uşaklı
0ba0f70581 Merge pull request #3269 from rbeer/acp_menu.plugins-icon
use icon for plugin entries
2015-06-26 11:41:58 -04:00
Raphael Beer
74a7bdf589 use icon for plugin entries 2015-06-26 11:47:42 +02:00
barisusakli
ea818e2af8 closes #3259 2015-06-25 15:15:33 -04:00
barisusakli
718f61e3bd closes #3263 2015-06-24 17:15:58 -04:00
barisusakli
a31178ebd8 closes #3258 2015-06-23 17:05:40 -04:00
barisusakli
2b0b2ea858 fix search by ip 2015-06-23 15:43:33 -04:00
Barış Soner Uşaklı
981a7558f7 use group name, hidden groups are not in groupslug:groupname 2015-06-23 14:08:04 -04:00
Barış Soner Uşaklı
6fc073d33e if key is fasly not a member 2015-06-23 13:35:58 -04:00
yariplus
13e12ba3a5 Add minimum tags per topic setting. 2015-06-23 10:23:56 -04:00
psychobunny
5ff9a7f9a9 allow multiline support for translator
see: https://github.com/psychobunny/templates.js/issues/36
2015-06-22 16:19:31 -04:00
psychobunny
3a21329c5e allow admins to remove themselves as admin
but only if they are not the last admin left
2015-06-22 16:03:32 -04:00
psychobunny
98cde1a9d6 missing lang key for error: cant-remove-last-admin 2015-06-22 16:02:57 -04:00
barisusakli
b89b4d066a max chars 2015-06-22 15:50:22 -04:00
psychobunny
fbeb6bc0ce closes #3254
@barisusakli :trollface:
2015-06-22 15:31:22 -04:00
barisusakli
38b838d462 closes #2754
moved group edit from modal to its own page
added hidden/private to group edit in acp, they were only in the client
groups page
moved add users above member list
2015-06-22 13:10:18 -04:00
barisusakli
1d72a8f0ee fix composer redirect on home page 2015-06-21 16:28:52 -04:00
barisusakli
f974af2247 fix for #3246 2015-06-21 02:14:37 -04:00
barisusakli
2deeda553a closes #3246 2015-06-21 01:58:11 -04:00
barisusakli
8160188ef5 use correct names 2015-06-20 01:26:50 -04:00
barisusakli
c81d6f8b57 refactor groups.invite request member ship 2015-06-20 01:25:40 -04:00
barisusakli
dc351fa320 removed hack for https://github.com/psychobunny/templates.js/issues/33 2015-06-19 20:13:52 -04:00
barisusakli
6fd772756c on user delete leaveAllGroups and remove from pending invited sets as well 2015-06-19 17:37:19 -04:00
psychobunny
19b50c8888 missing lang key for already-flagged 2015-06-19 17:32:04 -04:00
psychobunny
a5365e968d post*.flag 2015-06-19 17:30:41 -04:00
psychobunny
b5b9a190e4 console.log 2015-06-19 17:23:13 -04:00
psychobunny
28e9874ba9 allow moderators/admins with 0 rep to still be able to flag a post 2015-06-19 17:22:14 -04:00
psychobunny
b655e18cee action:posts.flag 2015-06-19 17:10:29 -04:00
barisusakli
ba4e8c8955 small refactor to group show/hide 2015-06-19 15:59:38 -04:00
barisusakli
dff1a04585 more category hooks 2015-06-19 15:39:37 -04:00
Barış Soner Uşaklı
abfd58a1a9 Merge pull request #3219 from rbeer/topic.del-payload
send topicData on action:topic.delete
2015-06-19 15:30:46 -04:00
barisusakli
5445e32522 2 new hooks 2015-06-19 15:11:22 -04:00
barisusakli
9d562a8708 closes #3245 2015-06-19 14:33:56 -04:00
barisusakli
5f5b11f692 closes #3242 2015-06-19 00:31:47 -04:00
barisusakli
0ef2ccc130 closes #3240 2015-06-17 14:57:10 -04:00
barisusakli
ed173e0a32 closes #3217 2015-06-17 14:13:29 -04:00
barisusakli
cea385e572 closes #3223 2015-06-15 16:55:29 -04:00
barisusakli
536c443c1e closes #3231 2015-06-15 16:03:38 -04:00
barisusakli
8e74d8f4fa removed parallel 2015-06-15 14:54:28 -04:00
Julian Lam
29c9b2e69f requiring markdown v3 now 2015-06-11 15:50:19 -04:00
barisusakli
f6d025bc3f only call updatevisibility if hidden is passed in 2015-06-11 14:54:01 -04:00
psychobunny
93fe660892 woops 2015-06-10 19:20:20 -04:00
psychobunny
15a8ebaeff only load rjs modules that are required on startup 2015-06-10 19:19:39 -04:00
psychobunny
9583c5bf93 markdown 2.1.10 2015-06-10 19:02:58 -04:00
barisusakli
1bbce82c23 duh #3192 2015-06-10 15:58:07 -04:00
barisusakli
8ff7ba82c2 closes #3192 2015-06-10 15:56:47 -04:00
psychobunny
40408eb7a1 tjs 0.2.6 2015-06-10 15:49:03 -04:00
barisusakli
6d0d74a6e9 moved topic search end to topics.js 2015-06-10 14:16:35 -04:00
barisusakli
2880a77a9f closes #3130 2015-06-09 17:47:10 -04:00
psychobunny
a6cfdc7508 square buttons on acp 2015-06-09 16:05:45 -04:00
psychobunny
74de675b93 view sitemap button 2015-06-09 15:59:26 -04:00
psychobunny
071922d3ba linking the two tag administration pages together 2015-06-09 15:56:14 -04:00
psychobunny
7689b60773 added maintenance mode link; moved info about reloading into tooltips 2015-06-09 15:47:18 -04:00
psychobunny
0ea35beea6 system control panel 2015-06-09 15:39:22 -04:00
psychobunny
ff234bccfe redirectToLogin() 2015-06-09 15:35:19 -04:00
psychobunny
deda4a4ed6 fixes for 503's in maintenance mode 2015-06-09 15:31:45 -04:00
psychobunny
e3ee3de95d lint 2015-06-09 15:31:43 -04:00
barisusakli
387a5e36b2 search fix, moved topic search to topic.js 2015-06-09 15:10:37 -04:00
Julian Lam
1fef40eb6f updated readme, as oer #3178 2015-06-09 13:30:22 -04:00
Julian Lam
18897c70b4 fixed #3222 2015-06-09 12:49:40 -04:00
psychobunny
0ad1c8afbf forgot to add pagination to default minified file 2015-06-08 18:08:57 -04:00
psychobunny
b0907b8c3c minify some modules that are required on cold load 2015-06-08 18:05:21 -04:00
psychobunny
28e1ae46c7 woops, committed some testing code by accident 2015-06-08 17:56:33 -04:00
psychobunny
7564881298 don't minify files in /client
adds an extra call to the client/route.js file on cold load but cuts a
ton of extra weight in nodebb.min.js
2015-06-08 17:53:55 -04:00
psychobunny
97d1ab2e35 console.log 2015-06-08 17:11:29 -04:00
psychobunny
febc359e53 moved sortable to acp only 2015-06-08 17:10:52 -04:00
psychobunny
f8b3282295 closes #3141 2015-06-08 16:58:53 -04:00
psychobunny
ef6c30ad99 removed some unused variables 2015-06-08 16:35:11 -04:00
psychobunny
548d39fac5 lint 2015-06-08 15:53:07 -04:00
psychobunny
ac2811be75 instance.restart 2015-06-08 15:52:39 -04:00
psychobunny
6c607bca1e closes #3212 2015-06-08 15:50:33 -04:00
psychobunny
6ae64ca884 fixed skin revert message 2015-06-08 15:41:24 -04:00
psychobunny
78ea462620 fix crash when redis server isn't running 2015-06-08 15:34:39 -04:00
barisusakli
ed72bacb1f closes #3220
added back base_url
2015-06-08 13:55:14 -04:00
Raphael Beer
d8c329cadd send topicData on action:topic.delete 2015-06-06 13:29:23 +02:00
barisusakli
3a36ae5c13 wait for loadScript & widgets.render to emit action:ajaxify.end 2015-06-05 22:07:05 -04:00
Julian Lam
96526a37a3 fixed #3218 2015-06-05 13:33:58 -04:00
Julian Lam
5549280696 updated package.json to use SPDX compatible license definition 2015-06-05 13:20:42 -04:00
barisusakli
7fc416f18a test fix 2015-06-04 17:14:22 -04:00
barisusakli
4a0482c421 closes #3208 2015-06-04 16:44:18 -04:00
Julian Lam
17ff083cc6 passing in available composer data into the composer.loaded client-side hook 2015-06-04 14:47:40 -04:00
Julian Lam
b08c7368c6 fixing some formatting 2015-06-04 14:40:20 -04:00
Julian Lam
6fedcca4ee changed a bunch of whitespace back into tabs, and fixed issue where categories without a parentCid were not showing up at all in the ACP 2015-06-04 14:24:38 -04:00
barisusakli
e892cf2e51 faster getUserGroups 2015-06-04 14:16:07 -04:00
Julian Lam
170126680b #3213 2015-06-04 13:42:10 -04:00
Julian Lam
f1c422d190 Merge branch 'extract-gravatar' 2015-06-04 12:33:04 -04:00
Julian Lam
e523ef7c17 added plugin hooks so that imagemagick can still be called, as a plugin, for image manipulation tasks, falling back to using lwip 2015-06-04 12:32:39 -04:00
Julian Lam
88dd8b1d4d using new reset command in plugin incompatibility warning 2015-06-04 12:28:54 -04:00
Julian Lam
54277e62fc fixed #3213 2015-06-04 12:23:30 -04:00
Julian Lam
704104c3bf fixed #3213 2015-06-04 12:23:14 -04:00
Julian Lam
cf35f69826 Merge branch 'lwip' of https://github.com/alpa-cat/NodeBB into extract-gravatar 2015-06-04 09:58:00 -04:00
Julian Lam
37c9c05319 added ACP styling for panel-danger panels 2015-06-03 20:06:47 -04:00
Julian Lam
478850ac05 rewrote a bit of the code so that templates.js is called asynchronously, and moved indentation levels to CSS instead of inlined styling. 2015-06-03 18:10:58 -04:00
Julian Lam
394497c9d5 Merge branch 'categories-parent-acp' of https://github.com/NicolasSiver/NodeBB into NicolasSiver-categories-parent-acp 2015-06-03 16:43:28 -04:00
Julian Lam
493c8752c3 upped theme minvers 2015-06-03 16:41:14 -04:00
Julian Lam
f0064ac11f updated to latest translations 2015-06-03 16:09:10 -04:00
Julian Lam
d5c6e2e73a Merge pull request #3156 from pentode/master
add feature to define mongo client connect options via config.json
2015-06-03 15:54:58 -04:00
psychobunny
f1f028b89c Merge pull request #3161 from yariplus/patch-1
Fix specificity on ACP widget panel heading.
2015-06-02 18:32:19 -04:00
psychobunny
0aceafb344 Merge pull request #3163 from yariplus/patch-2
Call Plugins.addLanguages on reload. Fixes #3153
2015-06-02 18:31:21 -04:00
psychobunny
9704af3b6d some plugins may not have a library, no need to warn unless unable to parse 2015-06-02 17:35:41 -04:00
psychobunny
e74f3da89e fixed sounds on windows 2015-06-02 17:31:17 -04:00
barisusakli
0feb11f205 test 2015-06-02 17:12:46 -04:00
barisusakli
64ec397101 update membercount sorted set on join/leave 2015-06-02 17:11:54 -04:00
psychobunny
18bfa44586 fixed menu items not being highlighted when active in acp 2015-06-02 17:09:49 -04:00
psychobunny
a60cb28562 guests 2015-06-02 17:04:52 -04:00
psychobunny
452b4c6d56 closes #3207 2015-06-02 16:54:19 -04:00
psychobunny
2dfb9837a7 log 2015-06-02 16:42:33 -04:00
Barış Soner Uşaklı
b45fa811b4 renamed .list to .getGroupsFromSet 2015-06-02 16:33:56 -04:00
Barış Soner Uşaklı
4e06b7790f removed unused require 2015-06-02 16:23:48 -04:00
Barış Soner Uşaklı
507fb225a2 removed console.log 2015-06-02 16:21:25 -04:00
Barış Soner Uşaklı
4420e7a9fc closes #3188, closes #3170 2015-06-02 16:20:28 -04:00
psychobunny
05c5196965 closes #3194 2015-06-02 15:56:26 -04:00
Nicolas Siver
a17c65ee9f move item template to file 2015-06-02 22:20:09 +03:00
Barış Soner Uşaklı
64359f4655 set memberCount with groupData 2015-06-02 14:01:28 -04:00
barisusakli
a94e676043 set system to true/false 2015-06-01 15:38:23 -04:00
Barış Soner Uşaklı
b717da0229 Merge pull request #3110 from pitaj/master
Fixed translator backwards compatibility issue
2015-06-01 14:04:24 -04:00
barisusakli
045d9df81f closes #3203 2015-06-01 13:21:34 -04:00
Nicolas Siver
1bfb41bccb sorting tree 2015-05-31 10:49:03 +03:00
Nicolas Siver
3197a9e47c register vendor script 2015-05-31 10:48:13 +03:00
Nicolas Siver
a77641c3ca add new vendor script for sorting 2015-05-31 10:47:31 +03:00
Alpacatty
37ad81a2b0 Swap out ImageMagick for lwip 2015-05-30 20:04:42 +02:00
Nicolas Siver
46ce3aae9f tree view 2015-05-30 18:44:31 +03:00
psychobunny
a355fbfc81 closes #2769 2015-05-29 16:47:12 -04:00
psychobunny
d51407834d closes #3166 2015-05-29 16:19:17 -04:00
barisusakli
fc19405170 added missing callback 2015-05-29 00:40:59 -04:00
barisusakli
fc99864c06 crash fix 2015-05-29 00:02:18 -04:00
psychobunny
b96018b0f5 closes #3187 2015-05-28 16:12:44 -04:00
Barış Soner Uşaklı
a14e22d534 no need for map 2015-05-28 15:52:00 -04:00
Barış Soner Uşaklı
ee17367cc1 removed unused requires, firehook on sucess 2015-05-28 15:27:55 -04:00
Barış Soner Uşaklı
0c32aa0c78 fix test expand option removed 2015-05-28 15:16:29 -04:00
Barış Soner Uşaklı
8610c44e78 escape group data 2015-05-28 15:14:40 -04:00
Barış Soner Uşaklı
8eab5ac402 groups.get changes 2015-05-28 14:51:01 -04:00
Barış Soner Uşaklı
8726e2ccb6 ghfw :rage2: 2015-05-28 13:33:45 -04:00
Barış Soner Uşaklı
1e7da1fc82 removed console.log use getUsersData 2015-05-28 13:33:23 -04:00
Barış Soner Uşaklı
0563bb5923 allow member.isOwner to work on an array 2015-05-28 13:27:09 -04:00
Barış Soner Uşaklı
2129a2fc5f not used 2015-05-28 13:25:13 -04:00
Julian Lam
af8732fcb9 latest translations and fallbacks 2015-05-28 11:46:24 -04:00
Julian Lam
eddabe5a37 upped mentions minver 2015-05-28 11:41:52 -04:00
Julian Lam
f168566928 fixed incorrect use of username in unsub cta in emails 2015-05-27 21:36:13 -04:00
Julian Lam
463c893c3d fixed regression introduced by #2080, closed #3189 2015-05-27 19:08:59 -04:00
Julian Lam
f9053c077d updated groups ACP styling and template to use a table, like categories
Conflicts:
	src/views/admin/manage/groups.tpl
2015-05-27 18:42:18 -04:00
Julian Lam
06f7172c65 closes #3188 2015-05-27 18:04:39 -04:00
psychobunny
e905787301 latest tjs 2015-05-27 16:59:56 -04:00
Barış Soner Uşaklı
0b93738537 dont display hidden/system groups on /groups 2015-05-26 16:09:01 -04:00
Barış Soner Uşaklı
9a236486a9 meh 2015-05-26 16:00:14 -04:00
Barış Soner Uşaklı
82350dc967 fix test 2015-05-26 15:48:27 -04:00
Barış Soner Uşaklı
03bc317065 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Conflicts:
	src/views/admin/manage/groups.tpl
2015-05-26 15:39:57 -04:00
Barış Soner Uşaklı
8117b4459a groups.list added start stop 2015-05-26 15:37:33 -04:00
Julian Lam
b45335c6ba updated groups ACP styling and template to use a table, like categories 2015-05-26 15:24:24 -04:00
Barış Soner Uşaklı
a065a73637 fix missing comma 2015-05-26 15:10:31 -04:00
Barış Soner Uşaklı
7bed4c40d6 closes #3179 2015-05-26 15:05:55 -04:00
Julian Lam
aca5d24a7d split groups.js into more subsidiary files 2015-05-26 14:45:17 -04:00
Barış Soner Uşaklı
8300aeec35 parseInt member count, use getMemberCount in install js 2015-05-26 13:55:40 -04:00
Barış Soner Uşaklı
50d9a3f0a7 dont call groups.get just to read 2 values 2015-05-26 13:44:52 -04:00
Barış Soner Uşaklı
3f1726636f groups create/delete/update 2015-05-26 13:17:49 -04:00
Julian Lam
8a225ad719 starting groups organization 2015-05-26 12:37:44 -04:00
Julian Lam
8f7416d1cb updated acp category privilege settings so that not all groups are shown in privilege table, closes #3036 2015-05-26 12:37:44 -04:00
Julian Lam
cc2a92d73f allowing array of privileges to be passed into setPrivilege in category admin socket listener 2015-05-26 12:37:44 -04:00
Julian Lam
cbb0542984 changed behaviour of privilege table so that groups without explicit privileges are not shown in the privilege table 2015-05-26 12:37:44 -04:00
Julian Lam
4a0bc1fb03 finished up executable rewrite, and prettified reset script output 2015-05-25 21:08:05 -04:00
Julian Lam
e6061810f9 updating nodebb executable so that it is a node script instead of bash script 2015-05-25 16:06:49 -04:00
Julian Lam
fc2efb0c83 added one more line to stdout when nodebb status is invoked, or nodebb web installer finishes 2015-05-25 14:48:01 -04:00
barisusakli
a0a8d328d0 closes #3182 2015-05-25 14:05:52 -04:00
barisusakli
d8e52d7ebf closes https://github.com/NodeBB/nodebb-theme-persona/issues/87 2015-05-25 13:28:04 -04:00
Julian Lam
b2f2561e74 adding a bit of logging when launching NodeBB from the web installer 2015-05-24 10:43:37 -04:00
Julian Lam
349de1694d fixed log line in web installer 2015-05-24 10:43:37 -04:00
barisusakli
714c7356f9 closes #3176 2015-05-23 22:11:24 -04:00
Julian Lam
9ed88b7bb9 updated readme a bit 2015-05-23 22:08:28 -04:00
barisusakli
4b4be3d4cc fix minSchemaDate 2015-05-23 19:30:35 -04:00
Julian Lam
3b891ed7d8 closes #3173 2015-05-23 19:14:37 -04:00
Julian Lam
3055ee96a1 latest translations and fallbacks 2015-05-23 19:12:13 -04:00
Julian Lam
434f1d924e bumped the package's version number for dev purposes 2015-05-23 19:01:09 -04:00
Timothy Fike
09ee1ae77e Call Plugins.addLanguages on reload. Fixes #3153
Ensures routes are set correctly for custom languages.
2015-05-21 14:37:23 -04:00
Timothy Fike
8414e31730 Fix specificity on panel heading.
Needs to be specific so I can put an accordion inside. 😎
2015-05-20 21:41:36 -04:00
A Catty Alpaca
550140ada7 General-Purpose Dockerfile 2015-05-21 01:10:56 +02:00
pentode
297b5906ed add feature to define mongo client connect options via config.json 2015-05-19 14:55:06 -04:00
Andrea Cardinale
7c5ba9b7b1 Revert "Add hooks: action:post.favourite and action:post.unfavourite"
This reverts commit 1d22a2d46b.
2015-05-12 23:52:48 +02:00
Peter Jaszkowiak
ad7b561dd4 Fixed translator backwards compatibility issue
Also removed the _clearMenus global object because populating the global namespace is bad, bad, bad
2015-05-03 23:36:23 -06:00
Peter Jaszkowiak
a93a1d720d Merge pull request #7 from NodeBB/master
update
2015-05-02 18:02:57 -06:00
Fokke Zandbergen
86317a4b79 Replace schemeless URLs for emails 2015-04-17 14:35:45 +02:00
Peter Jaszkowiak
5f2b341aa2 Merge pull request #6 from NodeBB/master
merge latest
2015-03-31 14:20:09 -06:00
EvSpirit
8a6c189d80 #2893 increment --debug-brk port value when forking js-minifier child process 2015-03-25 20:40:42 +03:00
EvSpirit
3bd2f53056 #2893 increment --debug-brk port value when forking js-minifier child process 2015-03-25 20:18:15 +03:00
Peter Jaszkowiak
77df837906 Merge pull request #5 from NodeBB/master
update
2015-03-12 21:44:16 -06:00
Peter Jaszkowiak
52c295b28b Merge pull request #4 from NodeBB/master
Pull latest
2015-03-08 23:43:29 -06:00
Peter Jaszkowiak
34bbe241ce Merge pull request #3 from NodeBB/master
Merge in latest
2015-02-24 21:59:19 -07:00
1207 changed files with 53179 additions and 23031 deletions

8
.codeclimate.yml Normal file
View File

@@ -0,0 +1,8 @@
# Save as .codeclimate.yml (note leading .) in project root directory
languages:
Ruby: true
JavaScript: true
PHP: true
exclude_paths:
- "public/vendor/*"
- "tests/*"

13
.gitattributes vendored Normal file
View File

@@ -0,0 +1,13 @@
# These files are text and should be normalized (convert crlf => lf)
*.json text
*.css text
*.less text
*.tpl text
*.html text
*.js text
*.md text
# Images should be treated as binary
# (binary is a macro for -text -diff)
*.png binary
*.jpg binary

View File

@@ -4,7 +4,7 @@ First of all, thank you! Please consider this [style guide](https://docs.nodebb.
## Contributor License Agreement
Thank you for considering contributing to NodeBB. **Before we can accept any pull requests, please take a moment to read and sign our [license agreement](https://www.clahub.com/agreements/NodeBB/NodeBB)**. In summary, signing this document means that 1) you own the code that you are contributing and 2) you give permission to NodeBB Inc. to license the code to others. This agreement applies to any repository under the NodeBB organization.
Thank you for considering contributing to NodeBB. **Before you are able to submit a pull request, please take a moment to read our [contributor license agreement](https://gist.github.com/psychobunny/65946d7aa8854b12fab9)** and agree to it on the pull request page on GitHub. In summary, signing this document means that 1) you own the code that you are contributing and 2) you give permission to NodeBB Inc. to license the code to others. This agreement applies to any repository under the NodeBB organization.
If you are writing contributions as part of employment from another company / individual, then your employer will need to sign a separate agreement. Please [contact us](mailto:accounts@nodebb.org) so that we can send this additional agreement to your employer.

21
.gitignore vendored
View File

@@ -8,7 +8,6 @@ public/css/*.css
*.sublime-project
*.sublime-workspace
.project
.idea
*.swp
Vagrantfile
.vagrant
@@ -23,12 +22,28 @@ pidfile
# templates
/public/templates
/public/sounds
/public/uploads
/public/sounds
# compiled files
/public/stylesheet.css
/public/admin.css
/public/nodebb.min.js
/public/nodebb.min.js.map
/public/nodebb.min.js.map
/public/acp.min.js
/public/acp.min.js.map
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
*.iml
## Directory-based project format:
.idea/
## File-based project format:
*.ipr
*.iws
## Transifex
tx.exe
.transifexrc

View File

@@ -24,7 +24,7 @@
// "single" : require single quotes
// "double" : require double quotes
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
"unused" : false, // true: Require all defined variables be used TODO: Set this to true, update codebase.
"unused" : true, // true: Require all defined variables be used
"strict" : true, // true: Requires all functions run in ES5 Strict Mode
"trailing" : false, // true: Prohibit trailing whitespaces
"maxparams" : false, // {int} Max number of formal params allowed per function

View File

@@ -10,7 +10,18 @@ before_install:
before_script:
- "until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done"
language: node_js
env:
- CXX=g++-4.8
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
node_js:
- "4.2"
- "4.1"
- "4.0"
- "0.11"
- "0.10"
branches:

View File

@@ -9,6 +9,7 @@ trans.ar = public/language/ar/category.json
trans.bn = public/language/bn/category.json
trans.bg = public/language/bg/category.json
trans.cs = public/language/cs/category.json
trans.da = public/language/da/category.json
trans.de = public/language/de/category.json
trans.el = public/language/el/category.json
trans.en_US = public/language/en_US/category.json
@@ -18,6 +19,7 @@ trans.et = public/language/et/category.json
trans.fa_IR = public/language/fa_IR/category.json
trans.fi = public/language/fi/category.json
trans.fr = public/language/fr/category.json
trans.gl = public/language/gl/category.json
trans.he = public/language/he/category.json
trans.hu = public/language/hu/category.json
trans.id = public/language/id/category.json
@@ -32,8 +34,11 @@ trans.pl = public/language/pl/category.json
trans.pt_BR = public/language/pt_BR/category.json
trans.ru = public/language/ru/category.json
trans.ro = public/language/ro/category.json
trans.rw = public/language/rw/category.json
trans.sc = public/language/sc/category.json
trans.sk = public/language/sk/category.json
trans.sl = public/language/sl/category.json
trans.sr = public/language/sr/category.json
trans.sv = public/language/sv/category.json
trans.th = public/language/th/category.json
trans.tr = public/language/tr/category.json
@@ -50,6 +55,7 @@ trans.ar = public/language/ar/login.json
trans.bn = public/language/bn/login.json
trans.bg = public/language/bg/login.json
trans.cs = public/language/cs/login.json
trans.da = public/language/da/login.json
trans.de = public/language/de/login.json
trans.el = public/language/el/login.json
trans.en_US = public/language/en_US/login.json
@@ -59,6 +65,7 @@ trans.et = public/language/et/login.json
trans.fa_IR = public/language/fa_IR/login.json
trans.fi = public/language/fi/login.json
trans.fr = public/language/fr/login.json
trans.gl = public/language/gl/login.json
trans.he = public/language/he/login.json
trans.hu = public/language/hu/login.json
trans.id = public/language/id/login.json
@@ -73,8 +80,11 @@ trans.pl = public/language/pl/login.json
trans.pt_BR = public/language/pt_BR/login.json
trans.ru = public/language/ru/login.json
trans.ro = public/language/ro/login.json
trans.rw = public/language/rw/login.json
trans.sc = public/language/sc/login.json
trans.sk = public/language/sk/login.json
trans.sl = public/language/sl/login.json
trans.sr = public/language/sr/login.json
trans.sv = public/language/sv/login.json
trans.th = public/language/th/login.json
trans.tr = public/language/tr/login.json
@@ -84,12 +94,14 @@ trans.zh_TW = public/language/zh_TW/login.json
type = KEYVALUEJSON
[nodebb.recent]
file_filter = public/language/<lang>/recent.json
source_file = public/language/en_GB/recent.json
source_lang = en_GB
trans.ar = public/language/ar/recent.json
trans.bn = public/language/bn/recent.json
trans.bg = public/language/bg/recent.json
trans.cs = public/language/cs/recent.json
trans.da = public/language/da/recent.json
trans.de = public/language/de/recent.json
trans.el = public/language/el/recent.json
trans.en_US = public/language/en_US/recent.json
@@ -99,6 +111,7 @@ trans.et = public/language/et/recent.json
trans.fa_IR = public/language/fa_IR/recent.json
trans.fi = public/language/fi/recent.json
trans.fr = public/language/fr/recent.json
trans.gl = public/language/gl/recent.json
trans.he = public/language/he/recent.json
trans.hu = public/language/hu/recent.json
trans.id = public/language/id/recent.json
@@ -113,8 +126,11 @@ trans.pl = public/language/pl/recent.json
trans.pt_BR = public/language/pt_BR/recent.json
trans.ru = public/language/ru/recent.json
trans.ro = public/language/ro/recent.json
trans.rw = public/language/rw/recent.json
trans.sc = public/language/sc/recent.json
trans.sk = public/language/sk/recent.json
trans.sl = public/language/sl/recent.json
trans.sr = public/language/sr/recent.json
trans.sv = public/language/sv/recent.json
trans.th = public/language/th/recent.json
trans.tr = public/language/tr/recent.json
@@ -124,12 +140,14 @@ trans.zh_TW = public/language/zh_TW/recent.json
type = KEYVALUEJSON
[nodebb.unread]
file_filter = public/language/<lang>/unread.json
source_file = public/language/en_GB/unread.json
source_lang = en_GB
trans.ar = public/language/ar/unread.json
trans.bn = public/language/bn/unread.json
trans.bg = public/language/bg/unread.json
trans.cs = public/language/cs/unread.json
trans.da = public/language/da/unread.json
trans.de = public/language/de/unread.json
trans.el = public/language/el/unread.json
trans.en_US = public/language/en_US/unread.json
@@ -139,6 +157,7 @@ trans.et = public/language/et/unread.json
trans.fa_IR = public/language/fa_IR/unread.json
trans.fi = public/language/fi/unread.json
trans.fr = public/language/fr/unread.json
trans.gl = public/language/gl/unread.json
trans.he = public/language/he/unread.json
trans.hu = public/language/hu/unread.json
trans.id = public/language/id/unread.json
@@ -153,8 +172,11 @@ trans.pl = public/language/pl/unread.json
trans.pt_BR = public/language/pt_BR/unread.json
trans.ru = public/language/ru/unread.json
trans.ro = public/language/ro/unread.json
trans.rw = public/language/rw/unread.json
trans.sc = public/language/sc/unread.json
trans.sk = public/language/sk/unread.json
trans.sl = public/language/sl/unread.json
trans.sr = public/language/sr/unread.json
trans.sv = public/language/sv/unread.json
trans.th = public/language/th/unread.json
trans.tr = public/language/tr/unread.json
@@ -164,12 +186,14 @@ trans.zh_TW = public/language/zh_TW/unread.json
type = KEYVALUEJSON
[nodebb.modules]
file_filter = public/language/<lang>/modules.json
source_file = public/language/en_GB/modules.json
source_lang = en_GB
trans.ar = public/language/ar/modules.json
trans.bn = public/language/bn/modules.json
trans.bg = public/language/bg/modules.json
trans.cs = public/language/cs/modules.json
trans.da = public/language/da/modules.json
trans.de = public/language/de/modules.json
trans.el = public/language/el/modules.json
trans.en_US = public/language/en_US/modules.json
@@ -179,6 +203,7 @@ trans.et = public/language/et/modules.json
trans.fa_IR = public/language/fa_IR/modules.json
trans.fi = public/language/fi/modules.json
trans.fr = public/language/fr/modules.json
trans.gl = public/language/gl/modules.json
trans.he = public/language/he/modules.json
trans.hu = public/language/hu/modules.json
trans.id = public/language/id/modules.json
@@ -193,8 +218,11 @@ trans.pl = public/language/pl/modules.json
trans.pt_BR = public/language/pt_BR/modules.json
trans.ru = public/language/ru/modules.json
trans.ro = public/language/ro/modules.json
trans.rw = public/language/rw/modules.json
trans.sc = public/language/sc/modules.json
trans.sk = public/language/sk/modules.json
trans.sl = public/language/sl/modules.json
trans.sr = public/language/sr/modules.json
trans.sv = public/language/sv/modules.json
trans.th = public/language/th/modules.json
trans.tr = public/language/tr/modules.json
@@ -204,12 +232,14 @@ trans.zh_TW = public/language/zh_TW/modules.json
type = KEYVALUEJSON
[nodebb.register]
file_filter = public/language/<lang>/register.json
source_file = public/language/en_GB/register.json
source_lang = en_GB
trans.ar = public/language/ar/register.json
trans.bn = public/language/bn/register.json
trans.bg = public/language/bg/register.json
trans.cs = public/language/cs/register.json
trans.da = public/language/da/register.json
trans.de = public/language/de/register.json
trans.el = public/language/el/register.json
trans.en_US = public/language/en_US/register.json
@@ -219,6 +249,7 @@ trans.et = public/language/et/register.json
trans.fa_IR = public/language/fa_IR/register.json
trans.fi = public/language/fi/register.json
trans.fr = public/language/fr/register.json
trans.gl = public/language/gl/register.json
trans.he = public/language/he/register.json
trans.hu = public/language/hu/register.json
trans.id = public/language/id/register.json
@@ -233,8 +264,11 @@ trans.pl = public/language/pl/register.json
trans.pt_BR = public/language/pt_BR/register.json
trans.ru = public/language/ru/register.json
trans.ro = public/language/ro/register.json
trans.rw = public/language/rw/register.json
trans.sc = public/language/sc/register.json
trans.sk = public/language/sk/register.json
trans.sl = public/language/sl/register.json
trans.sr = public/language/sr/register.json
trans.sv = public/language/sv/register.json
trans.th = public/language/th/register.json
trans.tr = public/language/tr/register.json
@@ -244,12 +278,14 @@ trans.zh_TW = public/language/zh_TW/register.json
type = KEYVALUEJSON
[nodebb.user]
file_filter = public/language/<lang>/user.json
source_file = public/language/en_GB/user.json
source_lang = en_GB
trans.ar = public/language/ar/user.json
trans.bn = public/language/bn/user.json
trans.bg = public/language/bg/user.json
trans.cs = public/language/cs/user.json
trans.da = public/language/da/user.json
trans.de = public/language/de/user.json
trans.el = public/language/el/user.json
trans.en_US = public/language/en_US/user.json
@@ -259,6 +295,7 @@ trans.et = public/language/et/user.json
trans.fa_IR = public/language/fa_IR/user.json
trans.fi = public/language/fi/user.json
trans.fr = public/language/fr/user.json
trans.gl = public/language/gl/user.json
trans.he = public/language/he/user.json
trans.hu = public/language/hu/user.json
trans.id = public/language/id/user.json
@@ -273,8 +310,11 @@ trans.pl = public/language/pl/user.json
trans.pt_BR = public/language/pt_BR/user.json
trans.ru = public/language/ru/user.json
trans.ro = public/language/ro/user.json
trans.rw = public/language/rw/user.json
trans.sc = public/language/sc/user.json
trans.sk = public/language/sk/user.json
trans.sl = public/language/sl/user.json
trans.sr = public/language/sr/user.json
trans.sv = public/language/sv/user.json
trans.th = public/language/th/user.json
trans.tr = public/language/tr/user.json
@@ -284,12 +324,14 @@ trans.zh_TW = public/language/zh_TW/user.json
type = KEYVALUEJSON
[nodebb.global]
file_filter = public/language/<lang>/global.json
source_file = public/language/en_GB/global.json
source_lang = en_GB
trans.ar = public/language/ar/global.json
trans.bn = public/language/bn/global.json
trans.bg = public/language/bg/global.json
trans.cs = public/language/cs/global.json
trans.da = public/language/da/global.json
trans.de = public/language/de/global.json
trans.el = public/language/el/global.json
trans.en_US = public/language/en_US/global.json
@@ -299,6 +341,7 @@ trans.et = public/language/et/global.json
trans.fa_IR = public/language/fa_IR/global.json
trans.fi = public/language/fi/global.json
trans.fr = public/language/fr/global.json
trans.gl = public/language/gl/global.json
trans.he = public/language/he/global.json
trans.hu = public/language/hu/global.json
trans.id = public/language/id/global.json
@@ -313,8 +356,11 @@ trans.pl = public/language/pl/global.json
trans.pt_BR = public/language/pt_BR/global.json
trans.ru = public/language/ru/global.json
trans.ro = public/language/ro/global.json
trans.rw = public/language/rw/global.json
trans.sc = public/language/sc/global.json
trans.sk = public/language/sk/global.json
trans.sl = public/language/sl/global.json
trans.sr = public/language/sr/global.json
trans.sv = public/language/sv/global.json
trans.th = public/language/th/global.json
trans.tr = public/language/tr/global.json
@@ -324,12 +370,14 @@ trans.zh_TW = public/language/zh_TW/global.json
type = KEYVALUEJSON
[nodebb.notifications]
file_filter = public/language/<lang>/notifications.json
source_file = public/language/en_GB/notifications.json
source_lang = en_GB
trans.ar = public/language/ar/notifications.json
trans.bn = public/language/bn/notifications.json
trans.bg = public/language/bg/notifications.json
trans.cs = public/language/cs/notifications.json
trans.da = public/language/da/notifications.json
trans.de = public/language/de/notifications.json
trans.el = public/language/el/notifications.json
trans.en_US = public/language/en_US/notifications.json
@@ -339,6 +387,7 @@ trans.et = public/language/et/notifications.json
trans.fa_IR = public/language/fa_IR/notifications.json
trans.fi = public/language/fi/notifications.json
trans.fr = public/language/fr/notifications.json
trans.gl = public/language/gl/notifications.json
trans.he = public/language/he/notifications.json
trans.hu = public/language/hu/notifications.json
trans.id = public/language/id/notifications.json
@@ -353,8 +402,11 @@ trans.pl = public/language/pl/notifications.json
trans.pt_BR = public/language/pt_BR/notifications.json
trans.ru = public/language/ru/notifications.json
trans.ro = public/language/ro/notifications.json
trans.rw = public/language/rw/notifications.json
trans.sc = public/language/sc/notifications.json
trans.sk = public/language/sk/notifications.json
trans.sl = public/language/sl/notifications.json
trans.sr = public/language/sr/notifications.json
trans.sv = public/language/sv/notifications.json
trans.th = public/language/th/notifications.json
trans.tr = public/language/tr/notifications.json
@@ -364,12 +416,14 @@ trans.zh_TW = public/language/zh_TW/notifications.json
type = KEYVALUEJSON
[nodebb.reset_password]
file_filter = public/language/<lang>/reset_password.json
source_file = public/language/en_GB/reset_password.json
source_lang = en_GB
trans.ar = public/language/ar/reset_password.json
trans.bn = public/language/bn/reset_password.json
trans.bg = public/language/bg/reset_password.json
trans.cs = public/language/cs/reset_password.json
trans.da = public/language/da/reset_password.json
trans.de = public/language/de/reset_password.json
trans.el = public/language/el/reset_password.json
trans.en_US = public/language/en_US/reset_password.json
@@ -379,6 +433,7 @@ trans.et = public/language/et/reset_password.json
trans.fa_IR = public/language/fa_IR/reset_password.json
trans.fi = public/language/fi/reset_password.json
trans.fr = public/language/fr/reset_password.json
trans.gl = public/language/gl/reset_password.json
trans.he = public/language/he/reset_password.json
trans.hu = public/language/hu/reset_password.json
trans.id = public/language/id/reset_password.json
@@ -393,8 +448,11 @@ trans.pl = public/language/pl/reset_password.json
trans.pt_BR = public/language/pt_BR/reset_password.json
trans.ru = public/language/ru/reset_password.json
trans.ro = public/language/ro/reset_password.json
trans.rw = public/language/rw/reset_password.json
trans.sc = public/language/sc/reset_password.json
trans.sk = public/language/sk/reset_password.json
trans.sl = public/language/sl/reset_password.json
trans.sr = public/language/sr/reset_password.json
trans.sv = public/language/sv/reset_password.json
trans.th = public/language/th/reset_password.json
trans.tr = public/language/tr/reset_password.json
@@ -404,12 +462,14 @@ trans.zh_TW = public/language/zh_TW/reset_password.json
type = KEYVALUEJSON
[nodebb.users]
file_filter = public/language/<lang>/users.json
source_file = public/language/en_GB/users.json
source_lang = en_GB
trans.ar = public/language/ar/users.json
trans.bn = public/language/bn/users.json
trans.bg = public/language/bg/users.json
trans.cs = public/language/cs/users.json
trans.da = public/language/da/users.json
trans.de = public/language/de/users.json
trans.el = public/language/el/users.json
trans.en_US = public/language/en_US/users.json
@@ -419,6 +479,7 @@ trans.et = public/language/et/users.json
trans.fa_IR = public/language/fa_IR/users.json
trans.fi = public/language/fi/users.json
trans.fr = public/language/fr/users.json
trans.gl = public/language/gl/users.json
trans.he = public/language/he/users.json
trans.hu = public/language/hu/users.json
trans.id = public/language/id/users.json
@@ -433,8 +494,11 @@ trans.pl = public/language/pl/users.json
trans.pt_BR = public/language/pt_BR/users.json
trans.ru = public/language/ru/users.json
trans.ro = public/language/ro/users.json
trans.rw = public/language/rw/users.json
trans.sc = public/language/sc/users.json
trans.sk = public/language/sk/users.json
trans.sl = public/language/sl/users.json
trans.sr = public/language/sr/users.json
trans.sv = public/language/sv/users.json
trans.th = public/language/th/users.json
trans.tr = public/language/tr/users.json
@@ -443,13 +507,15 @@ trans.zh_CN = public/language/zh_CN/users.json
trans.zh_TW = public/language/zh_TW/users.json
type = KEYVALUEJSON
[nodebb.language]
[nodebb.language-1]
file_filter = public/language/<lang>/language.json
source_file = public/language/en_GB/language.json
source_lang = en_GB
trans.ar = public/language/ar/language.json
trans.bn = public/language/bn/language.json
trans.bg = public/language/bg/language.json
trans.cs = public/language/cs/language.json
trans.da = public/language/da/language.json
trans.de = public/language/de/language.json
trans.el = public/language/el/language.json
trans.en_US = public/language/en_US/language.json
@@ -459,6 +525,7 @@ trans.et = public/language/et/language.json
trans.fa_IR = public/language/fa_IR/language.json
trans.fi = public/language/fi/language.json
trans.fr = public/language/fr/language.json
trans.gl = public/language/gl/language.json
trans.he = public/language/he/language.json
trans.hu = public/language/hu/language.json
trans.id = public/language/id/language.json
@@ -473,8 +540,11 @@ trans.pl = public/language/pl/language.json
trans.pt_BR = public/language/pt_BR/language.json
trans.ru = public/language/ru/language.json
trans.ro = public/language/ro/language.json
trans.rw = public/language/rw/language.json
trans.sc = public/language/sc/language.json
trans.sk = public/language/sk/language.json
trans.sl = public/language/sl/language.json
trans.sr = public/language/sr/language.json
trans.sv = public/language/sv/language.json
trans.th = public/language/th/language.json
trans.tr = public/language/tr/language.json
@@ -484,12 +554,14 @@ trans.zh_TW = public/language/zh_TW/language.json
type = KEYVALUEJSON
[nodebb.pages]
file_filter = public/language/<lang>/pages.json
source_file = public/language/en_GB/pages.json
source_lang = en_GB
trans.ar = public/language/ar/pages.json
trans.bn = public/language/bn/pages.json
trans.bg = public/language/bg/pages.json
trans.cs = public/language/cs/pages.json
trans.da = public/language/da/pages.json
trans.de = public/language/de/pages.json
trans.el = public/language/el/pages.json
trans.en_US = public/language/en_US/pages.json
@@ -499,6 +571,7 @@ trans.et = public/language/et/pages.json
trans.fa_IR = public/language/fa_IR/pages.json
trans.fi = public/language/fi/pages.json
trans.fr = public/language/fr/pages.json
trans.gl = public/language/gl/pages.json
trans.he = public/language/he/pages.json
trans.hu = public/language/hu/pages.json
trans.id = public/language/id/pages.json
@@ -513,8 +586,11 @@ trans.pl = public/language/pl/pages.json
trans.pt_BR = public/language/pt_BR/pages.json
trans.ru = public/language/ru/pages.json
trans.ro = public/language/ro/pages.json
trans.rw = public/language/rw/pages.json
trans.sc = public/language/sc/pages.json
trans.sk = public/language/sk/pages.json
trans.sl = public/language/sl/pages.json
trans.sr = public/language/sr/pages.json
trans.sv = public/language/sv/pages.json
trans.th = public/language/th/pages.json
trans.tr = public/language/tr/pages.json
@@ -524,12 +600,14 @@ trans.zh_TW = public/language/zh_TW/pages.json
type = KEYVALUEJSON
[nodebb.topic]
file_filter = public/language/<lang>/topic.json
source_file = public/language/en_GB/topic.json
source_lang = en_GB
trans.ar = public/language/ar/topic.json
trans.bn = public/language/bn/topic.json
trans.bg = public/language/bg/topic.json
trans.cs = public/language/cs/topic.json
trans.da = public/language/da/topic.json
trans.de = public/language/de/topic.json
trans.el = public/language/el/topic.json
trans.en_US = public/language/en_US/topic.json
@@ -539,6 +617,7 @@ trans.et = public/language/et/topic.json
trans.fa_IR = public/language/fa_IR/topic.json
trans.fi = public/language/fi/topic.json
trans.fr = public/language/fr/topic.json
trans.gl = public/language/gl/topic.json
trans.he = public/language/he/topic.json
trans.hu = public/language/hu/topic.json
trans.id = public/language/id/topic.json
@@ -553,8 +632,11 @@ trans.pl = public/language/pl/topic.json
trans.pt_BR = public/language/pt_BR/topic.json
trans.ru = public/language/ru/topic.json
trans.ro = public/language/ro/topic.json
trans.rw = public/language/rw/topic.json
trans.sc = public/language/sc/topic.json
trans.sk = public/language/sk/topic.json
trans.sl = public/language/sl/topic.json
trans.sr = public/language/sr/topic.json
trans.sv = public/language/sv/topic.json
trans.th = public/language/th/topic.json
trans.tr = public/language/tr/topic.json
@@ -564,12 +646,14 @@ trans.zh_TW = public/language/zh_TW/topic.json
type = KEYVALUEJSON
[nodebb.success]
file_filter = public/language/<lang>/success.json
source_file = public/language/en_GB/success.json
source_lang = en_GB
trans.ar = public/language/ar/success.json
trans.bn = public/language/bn/success.json
trans.bg = public/language/bg/success.json
trans.cs = public/language/cs/success.json
trans.da = public/language/da/success.json
trans.de = public/language/de/success.json
trans.el = public/language/el/success.json
trans.en_US = public/language/en_US/success.json
@@ -579,6 +663,7 @@ trans.et = public/language/et/success.json
trans.fa_IR = public/language/fa_IR/success.json
trans.fi = public/language/fi/success.json
trans.fr = public/language/fr/success.json
trans.gl = public/language/gl/success.json
trans.he = public/language/he/success.json
trans.hu = public/language/hu/success.json
trans.id = public/language/id/success.json
@@ -593,8 +678,11 @@ trans.pl = public/language/pl/success.json
trans.pt_BR = public/language/pt_BR/success.json
trans.ru = public/language/ru/success.json
trans.ro = public/language/ro/success.json
trans.rw = public/language/rw/success.json
trans.sc = public/language/sc/success.json
trans.sk = public/language/sk/success.json
trans.sl = public/language/sl/success.json
trans.sr = public/language/sr/success.json
trans.sv = public/language/sv/success.json
trans.th = public/language/th/success.json
trans.tr = public/language/tr/success.json
@@ -604,12 +692,14 @@ trans.zh_TW = public/language/zh_TW/success.json
type = KEYVALUEJSON
[nodebb.error]
file_filter = public/language/<lang>/error.json
source_file = public/language/en_GB/error.json
source_lang = en_GB
trans.ar = public/language/ar/error.json
trans.bn = public/language/bn/error.json
trans.bg = public/language/bg/error.json
trans.cs = public/language/cs/error.json
trans.da = public/language/da/error.json
trans.de = public/language/de/error.json
trans.el = public/language/el/error.json
trans.en_US = public/language/en_US/error.json
@@ -619,6 +709,7 @@ trans.et = public/language/et/error.json
trans.fa_IR = public/language/fa_IR/error.json
trans.fi = public/language/fi/error.json
trans.fr = public/language/fr/error.json
trans.gl = public/language/gl/error.json
trans.he = public/language/he/error.json
trans.hu = public/language/hu/error.json
trans.id = public/language/id/error.json
@@ -633,8 +724,11 @@ trans.pl = public/language/pl/error.json
trans.pt_BR = public/language/pt_BR/error.json
trans.ru = public/language/ru/error.json
trans.ro = public/language/ro/error.json
trans.rw = public/language/rw/error.json
trans.sc = public/language/sc/error.json
trans.sk = public/language/sk/error.json
trans.sl = public/language/sl/error.json
trans.sr = public/language/sr/error.json
trans.sv = public/language/sv/error.json
trans.th = public/language/th/error.json
trans.tr = public/language/tr/error.json
@@ -644,12 +738,14 @@ trans.zh_TW = public/language/zh_TW/error.json
type = KEYVALUEJSON
[nodebb.tags]
file_filter = public/language/<lang>/tags.json
source_file = public/language/en_GB/tags.json
source_lang = en_GB
trans.ar = public/language/ar/tags.json
trans.bn = public/language/bn/tags.json
trans.bg = public/language/bg/tags.json
trans.cs = public/language/cs/tags.json
trans.da = public/language/da/tags.json
trans.de = public/language/de/tags.json
trans.el = public/language/el/tags.json
trans.en_US = public/language/en_US/tags.json
@@ -659,6 +755,7 @@ trans.et = public/language/et/tags.json
trans.fa_IR = public/language/fa_IR/tags.json
trans.fi = public/language/fi/tags.json
trans.fr = public/language/fr/tags.json
trans.gl = public/language/gl/tags.json
trans.he = public/language/he/tags.json
trans.hu = public/language/hu/tags.json
trans.id = public/language/id/tags.json
@@ -673,8 +770,11 @@ trans.pl = public/language/pl/tags.json
trans.pt_BR = public/language/pt_BR/tags.json
trans.ru = public/language/ru/tags.json
trans.ro = public/language/ro/tags.json
trans.rw = public/language/rw/tags.json
trans.sc = public/language/sc/tags.json
trans.sk = public/language/sk/tags.json
trans.sl = public/language/sl/tags.json
trans.sr = public/language/sr/tags.json
trans.sv = public/language/sv/tags.json
trans.th = public/language/th/tags.json
trans.tr = public/language/tr/tags.json
@@ -684,12 +784,14 @@ trans.zh_TW = public/language/zh_TW/tags.json
type = KEYVALUEJSON
[nodebb.email]
file_filter = public/language/<lang>/email.json
source_file = public/language/en_GB/email.json
source_lang = en_GB
trans.ar = public/language/ar/email.json
trans.bn = public/language/bn/email.json
trans.bg = public/language/bg/email.json
trans.cs = public/language/cs/email.json
trans.da = public/language/da/email.json
trans.de = public/language/de/email.json
trans.el = public/language/el/email.json
trans.en_US = public/language/en_US/email.json
@@ -699,6 +801,7 @@ trans.et = public/language/et/email.json
trans.fa_IR = public/language/fa_IR/email.json
trans.fi = public/language/fi/email.json
trans.fr = public/language/fr/email.json
trans.gl = public/language/gl/email.json
trans.he = public/language/he/email.json
trans.hu = public/language/hu/email.json
trans.id = public/language/id/email.json
@@ -713,8 +816,11 @@ trans.pl = public/language/pl/email.json
trans.pt_BR = public/language/pt_BR/email.json
trans.ru = public/language/ru/email.json
trans.ro = public/language/ro/email.json
trans.rw = public/language/rw/email.json
trans.sc = public/language/sc/email.json
trans.sk = public/language/sk/email.json
trans.sl = public/language/sl/email.json
trans.sr = public/language/sr/email.json
trans.sv = public/language/sv/email.json
trans.th = public/language/th/email.json
trans.tr = public/language/tr/email.json
@@ -724,12 +830,14 @@ trans.zh_TW = public/language/zh_TW/email.json
type = KEYVALUEJSON
[nodebb.search]
file_filter = public/language/<lang>/search.json
source_file = public/language/en_GB/search.json
source_lang = en_GB
trans.ar = public/language/ar/search.json
trans.bn = public/language/bn/search.json
trans.bg = public/language/bg/search.json
trans.cs = public/language/cs/search.json
trans.da = public/language/da/search.json
trans.de = public/language/de/search.json
trans.el = public/language/el/search.json
trans.en_US = public/language/en_US/search.json
@@ -739,6 +847,7 @@ trans.et = public/language/et/search.json
trans.fa_IR = public/language/fa_IR/search.json
trans.fi = public/language/fi/search.json
trans.fr = public/language/fr/search.json
trans.gl = public/language/gl/search.json
trans.he = public/language/he/search.json
trans.hu = public/language/hu/search.json
trans.id = public/language/id/search.json
@@ -753,8 +862,11 @@ trans.pl = public/language/pl/search.json
trans.pt_BR = public/language/pt_BR/search.json
trans.ru = public/language/ru/search.json
trans.ro = public/language/ro/search.json
trans.rw = public/language/rw/search.json
trans.sc = public/language/sc/search.json
trans.sk = public/language/sk/search.json
trans.sl = public/language/sl/search.json
trans.sr = public/language/sr/search.json
trans.sv = public/language/sv/search.json
trans.th = public/language/th/search.json
trans.tr = public/language/tr/search.json
@@ -764,12 +876,14 @@ trans.zh_TW = public/language/zh_TW/search.json
type = KEYVALUEJSON
[nodebb.groups]
file_filter = public/language/<lang>/groups.json
source_file = public/language/en_GB/groups.json
source_lang = en_GB
trans.ar = public/language/ar/groups.json
trans.bn = public/language/bn/groups.json
trans.bg = public/language/bg/groups.json
trans.cs = public/language/cs/groups.json
trans.da = public/language/da/groups.json
trans.de = public/language/de/groups.json
trans.el = public/language/el/groups.json
trans.en_US = public/language/en_US/groups.json
@@ -779,6 +893,7 @@ trans.et = public/language/et/groups.json
trans.fa_IR = public/language/fa_IR/groups.json
trans.fi = public/language/fi/groups.json
trans.fr = public/language/fr/groups.json
trans.gl = public/language/gl/groups.json
trans.he = public/language/he/groups.json
trans.hu = public/language/hu/groups.json
trans.id = public/language/id/groups.json
@@ -793,8 +908,11 @@ trans.pl = public/language/pl/groups.json
trans.pt_BR = public/language/pt_BR/groups.json
trans.ru = public/language/ru/groups.json
trans.ro = public/language/ro/groups.json
trans.rw = public/language/rw/groups.json
trans.sc = public/language/sc/groups.json
trans.sk = public/language/sk/groups.json
trans.sl = public/language/sl/groups.json
trans.sr = public/language/sr/groups.json
trans.sv = public/language/sv/groups.json
trans.th = public/language/th/groups.json
trans.tr = public/language/tr/groups.json

15
Dockerfile Normal file
View File

@@ -0,0 +1,15 @@
# The base image is the latest 4.x node (LTS) on jessie (debian)
# -onbuild will install the node dependencies found in the project package.json
# and copy its content in /usr/src/app, its WORKDIR
FROM node:4-onbuild
ENV NODE_ENV=production \
daemon=false \
silent=false
# nodebb setup will ask you for connection information to a redis (default), mongodb then run the forum
# nodebb upgrade is not included and might be desired
CMD node app --setup && npm start
# the default port for NodeBB is exposed outside the container
EXPOSE 4567

View File

@@ -69,7 +69,13 @@ module.exports = function(grunt) {
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['watch']);
if (grunt.option('skip')) {
grunt.registerTask('default', ['watch:serverUpdated']);
} else {
grunt.registerTask('default', ['watch']);
}
env.NODE_ENV = 'development';

140
README.md
View File

@@ -1,65 +1,75 @@
# <img alt="NodeBB" src="http://i.imgur.com/mYxPPtB.png" />
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/NodeBB/NodeBB?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/NodeBB/NodeBB.svg?branch=master)](https://travis-ci.org/NodeBB/NodeBB)
[![Dependency Status](https://david-dm.org/nodebb/nodebb.svg)](https://david-dm.org/nodebb/nodebb)
[![Code Climate](https://codeclimate.com/github/NodeBB/NodeBB/badges/gpa.svg)](https://codeclimate.com/github/NodeBB/NodeBB)
[![Documentation Status](https://readthedocs.org/projects/nodebb/badge/?version=latest)](https://readthedocs.org/projects/nodebb/?badge=latest)
**NodeBB Forum Software** is powered by Node.js and built on either a Redis or MongoDB database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB is compatible down to IE8 and has many modern features out of the box such as social network integration and streaming discussions.
Additional functionality is enabled through the use of third-party plugins.
* [Get NodeBB](http://www.nodebb.org/ "NodeBB")
* [Demo & Meta Discussion](http://community.nodebb.org)
* [NodeBB Blog](http://blog.nodebb.org)
* [Documentation & Installation Instructions](http://docs.nodebb.org)
* [Join us on IRC](https://kiwiirc.com/client/irc.freenode.net/nodebb) - #nodebb on Freenode
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
* [Get Plugins](http://community.nodebb.org/category/7/nodebb-plugins "NodeBB Plugins")
* [Get Themes](http://community.nodebb.org/category/10/nodebb-themes "NodeBB Themes")
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
## Screenshots
[<img src="http://i.imgur.com/FLOUuIqb.png" />](http://i.imgur.com/FLOUuIq.png)&nbsp;[<img src="http://i.imgur.com/Ud1LrfIb.png" />](http://i.imgur.com/Ud1LrfI.png)&nbsp;[<img src="http://i.imgur.com/ZC8W39ab.png" />](http://i.imgur.com/ZC8W39a.png)&nbsp;[<img src="http://i.imgur.com/o90kVPib.png" />](http://i.imgur.com/o90kVPi.png)&nbsp;[<img src="http://i.imgur.com/AaRRrU2b.png" />](http://i.imgur.com/AaRRrU2.png)&nbsp;[<img src="http://i.imgur.com/LmHtPhob.png" />](http://i.imgur.com/LmHtPho.png)&nbsp;[<img src="http://i.imgur.com/paiJPJkb.jpg" />](http://i.imgur.com/paiJPJk.jpg)&nbsp;[<img src="http://i.imgur.com/ZfavPHDb.png" />](http://i.imgur.com/ZfavPHD.png)&nbsp;[<img src="http://i.imgur.com/8OLssij.png" />](http://i.imgur.com/8OLssij.png)&nbsp;[<img src="http://i.imgur.com/JKOc0LZ.png"/>](http://i.imgur.com/JKOc0LZ.png)
## How can I follow along/contribute?
* Our feature roadmap is hosted on the project wiki's [Version History / Roadmap](https://github.com/NodeBB/NodeBB/wiki/Version-History-%26-Roadmap)
* If you are a developer, feel free to check out the source and submit pull requests. We also have a wide array of [plugins](http://community.nodebb.org/category/7/nodebb-plugins) which would be a great starting point for learning the codebase.
* If you are a designer, [NodeBB needs themes](http://community.nodebb.org/category/10/nodebb-themes)! NodeBB's theming system allows extention of the base templates as well as styling via LESS or CSS. NodeBB's base theme utilizes [Bootstrap 3](http://getbootstrap.com/) but themes can choose to use a different framework altogether.
* If you know languages other than English you can help us translate NodeBB. We use [Transifex](https://www.transifex.com/projects/p/nodebb/) for internationalization.
* Please don't forget to **like**, **follow**, and **star our repo**! Join our growing [community](http://community.nodebb.org) to keep up to date with the latest NodeBB development.
## Requirements
NodeBB requires the following software to be installed:
* A version of Node.js at least 0.10 or greater
* Redis, version 2.8.9 or greater **or** MongoDB, version 2.6 or greater
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
## Installation
[Please refer to platform-specific installation documentation](http://docs.nodebb.org/en/latest/installing/os.html)
## Securing NodeBB
It is important to ensure that your NodeBB and database servers are secured. Bear these points in mind:
1. While some distributions set up Redis with a more restrictive configuration, Redis by default listens to all interfaces, which is especially dangerous when a server is open to the public. Some suggestions:
* Set `bind_address` to `127.0.0.1` so as to restrict access to the local machine only
* Use `requirepass` to secure Redis behind a password (preferably a long one)
* Familiarise yourself with [Redis Security](http://redis.io/topics/security)
2. Use `iptables` to secure your server from unintended open ports. In Ubuntu, `ufw` provides a friendlier interface to working with `iptables`.
* e.g. If your NodeBB is proxied, no ports should be open except 80 (and possibly 22, for SSH access)
## Upgrading NodeBB
Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.nodebb.org/en/latest/upgrading/index.html)
## License
NodeBB is licensed under the **GNU General Public License v3 (GPL-3)** (http://www.gnu.org/copyleft/gpl.html)
# <img alt="NodeBB" src="http://i.imgur.com/mYxPPtB.png" />
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/NodeBB/NodeBB?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://travis-ci.org/NodeBB/NodeBB.svg?branch=master)](https://travis-ci.org/NodeBB/NodeBB)
[![Dependency Status](https://david-dm.org/nodebb/nodebb.svg)](https://david-dm.org/nodebb/nodebb)
[![Code Climate](https://codeclimate.com/github/NodeBB/NodeBB/badges/gpa.svg)](https://codeclimate.com/github/NodeBB/NodeBB)
[![Documentation Status](https://readthedocs.org/projects/nodebb/badge/?version=latest)](https://readthedocs.org/projects/nodebb/?badge=latest)
[**NodeBB Forum Software**](https://nodebb.org) is powered by Node.js and built on either a Redis or MongoDB database. It utilizes web sockets for instant interactions and real-time notifications. NodeBB has many modern features out of the box such as social network integration and streaming discussions, while still making sure to be compatible with older browsers.
Additional functionality is enabled through the use of third-party plugins.
* [Get NodeBB](http://www.nodebb.org/ "NodeBB")
* [Demo & Meta Discussion](http://community.nodebb.org)
* [Documentation & Installation Instructions](http://docs.nodebb.org)
* [Help translate NodeBB](https://www.transifex.com/projects/p/nodebb/)
* [NodeBB Blog](http://blog.nodebb.org)
* [Join us on IRC](https://kiwiirc.com/client/irc.freenode.net/nodebb) - #nodebb on Freenode
* [Follow us on Twitter](http://www.twitter.com/NodeBB/ "NodeBB Twitter")
* [Like us on Facebook](http://www.facebook.com/NodeBB/ "NodeBB Facebook")
## Screenshots
[![](http://i.imgur.com/VCoOFyqb.png)](http://i.imgur.com/VCoOFyq.png)
[![](http://i.imgur.com/FLOUuIqb.png)](http://i.imgur.com/FLOUuIq.png)
[![](http://i.imgur.com/Ud1LrfIb.png)](http://i.imgur.com/Ud1LrfI.png)
[![](http://i.imgur.com/h6yZ66sb.png)](http://i.imgur.com/h6yZ66s.png)
[![](http://i.imgur.com/o90kVPib.png)](http://i.imgur.com/o90kVPi.png)
[![](http://i.imgur.com/AaRRrU2b.png)](http://i.imgur.com/AaRRrU2.png)
[![](http://i.imgur.com/LmHtPhob.png)](http://i.imgur.com/LmHtPho.png)
[![](http://i.imgur.com/paiJPJkb.jpg)](http://i.imgur.com/paiJPJk.jpg)
[![](http://i.imgur.com/8OLssij.png)](http://i.imgur.com/8OLssij.png)
[![](http://i.imgur.com/JKOc0LZ.png)](http://i.imgur.com/JKOc0LZ.png)
## How can I follow along/contribute?
* Our feature roadmap is hosted on the project wiki's [Version History / Roadmap](https://github.com/NodeBB/NodeBB/wiki/Version-History-%26-Roadmap)
* If you are a developer, feel free to check out the source and submit pull requests. We also have a wide array of [plugins](http://community.nodebb.org/category/7/nodebb-plugins) which would be a great starting point for learning the codebase.
* If you are a designer, [NodeBB needs themes](http://community.nodebb.org/category/10/nodebb-themes)! NodeBB's theming system allows extention of the base templates as well as styling via LESS or CSS. NodeBB's base theme utilizes [Bootstrap 3](http://getbootstrap.com/) but themes can choose to use a different framework altogether.
* If you know languages other than English you can help us translate NodeBB. We use [Transifex](https://www.transifex.com/projects/p/nodebb/) for internationalization.
* Please don't forget to **like**, **follow**, and **star our repo**! Join our growing [community](http://community.nodebb.org) to keep up to date with the latest NodeBB development.
## Requirements
NodeBB requires the following software to be installed:
* A version of Node.js at least 0.10 or greater
* Redis, version 2.8.9 or greater **or** MongoDB, version 2.6 or greater
* nginx, version 1.3.13 or greater (**only if** intending to use nginx to proxy requests to a NodeBB)
## Installation
[Please refer to platform-specific installation documentation](http://docs.nodebb.org/en/latest/installing/os.html)
## Securing NodeBB
It is important to ensure that your NodeBB and database servers are secured. Bear these points in mind:
1. While some distributions set up Redis with a more restrictive configuration, Redis by default listens to all interfaces, which is especially dangerous when a server is open to the public. Some suggestions:
* Set `bind_address` to `127.0.0.1` so as to restrict access to the local machine only
* Use `requirepass` to secure Redis behind a password (preferably a long one)
* Familiarise yourself with [Redis Security](http://redis.io/topics/security)
2. Use `iptables` to secure your server from unintended open ports. In Ubuntu, `ufw` provides a friendlier interface to working with `iptables`.
* e.g. If your NodeBB is proxied, no ports should be open except 80 (and possibly 22, for SSH access)
## Upgrading NodeBB
Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.nodebb.org/en/latest/upgrading/index.html)
## License
NodeBB is licensed under the **GNU General Public License v3 (GPL-3)** (http://www.gnu.org/copyleft/gpl.html).
Interested in a sublicense agreement for use of NodeBB in a non-free/restrictive environment? Contact us at sales@nodebb.org.

715
app.js
View File

@@ -1,391 +1,324 @@
/*
NodeBB - A better forum platform for the modern web
https://github.com/NodeBB/NodeBB/
Copyright (C) 2013-2014 NodeBB Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
"use strict";
/*global require, global, process*/
var nconf = require('nconf');
nconf.argv().env('__');
var fs = require('fs'),
os = require('os'),
url = require('url'),
async = require('async'),
semver = require('semver'),
winston = require('winston'),
path = require('path'),
pkg = require('./package.json'),
utils = require('./public/src/utils.js');
global.env = process.env.NODE_ENV || 'production';
winston.remove(winston.transports.Console);
winston.add(winston.transports.Console, {
colorize: true,
timestamp: function() {
var date = new Date();
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']';
},
level: (global.env === 'production' || nconf.get('log-level') === 'info') ? 'info' : 'verbose'
});
if(os.platform() === 'linux') {
require('child_process').exec('/usr/bin/which convert', function(err, stdout, stderr) {
if(err || !stdout) {
winston.warn('Couldn\'t find convert. Did you install imagemagick?');
}
});
}
// Alternate configuration file support
var configFile = path.join(__dirname, '/config.json'),
configExists;
if (nconf.get('config')) {
configFile = path.resolve(__dirname, nconf.get('config'));
}
configExists = fs.existsSync(configFile);
if (!nconf.get('setup') && !nconf.get('install') && !nconf.get('upgrade') && !nconf.get('reset') && configExists) {
start();
} else if (nconf.get('setup') || nconf.get('install')) {
setup();
} else if (!configExists) {
require('./install/web').install(nconf.get('port'));
} else if (nconf.get('upgrade')) {
upgrade();
} else if (nconf.get('reset')) {
reset();
}
function loadConfig() {
nconf.file({
file: configFile
});
nconf.defaults({
base_dir: __dirname,
themes_path: path.join(__dirname, 'node_modules'),
views_dir: path.join(__dirname, 'public/templates'),
version: pkg.version
});
if (!nconf.get('isCluster')) {
nconf.set('isPrimary', 'true');
nconf.set('isCluster', 'false');
}
// Ensure themes_path is a full filepath
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
nconf.set('core_templates_path', path.join(__dirname, 'src/views'));
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-vanilla/templates'));
if (!process.send) {
// If run using `node app`, log GNU copyright info along with server info
winston.info('NodeBB v' + nconf.get('version') + ' Copyright (C) 2013-2014 NodeBB Inc.');
winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
winston.info('');
}
}
function start() {
loadConfig();
// nconf defaults, if not set in config
if (!nconf.get('upload_path')) {
nconf.set('upload_path', '/public/uploads');
}
// Parse out the relative_url and other goodies from the configured URL
var urlObject = url.parse(nconf.get('url'));
var relativePath = urlObject.pathname !== '/' ? urlObject.pathname : '';
nconf.set('use_port', !!urlObject.port);
nconf.set('relative_path', relativePath);
nconf.set('port', urlObject.port || nconf.get('port') || nconf.get('PORT') || 4567);
nconf.set('upload_url', '/uploads/');
if (nconf.get('isPrimary') === 'true') {
winston.info('Time: %s', (new Date()).toString());
winston.info('Initializing NodeBB v%s', nconf.get('version'));
winston.verbose('* using configuration stored in: %s', configFile);
var host = nconf.get(nconf.get('database') + ':host'),
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
winston.verbose('* using %s store %s', nconf.get('database'), storeLocation);
winston.verbose('* using themes stored in: %s', nconf.get('themes_path'));
}
process.on('SIGTERM', shutdown);
process.on('SIGINT', shutdown);
process.on('SIGHUP', restart);
process.on('message', function(message) {
if (typeof message !== 'object') {
return;
}
var meta = require('./src/meta');
var emitter = require('./src/emitter');
switch (message.action) {
case 'reload':
meta.reload();
break;
case 'js-propagate':
meta.js.cache = message.cache;
meta.js.map = message.map;
meta.js.hash = message.hash;
emitter.emit('meta:js.compiled');
winston.verbose('[cluster] Client-side javascript and mapping propagated to worker %s', process.pid);
break;
case 'css-propagate':
meta.css.cache = message.cache;
meta.css.acpCache = message.acpCache;
meta.css.hash = message.hash;
emitter.emit('meta:css.compiled');
winston.verbose('[cluster] Stylesheets propagated to worker %s', process.pid);
break;
case 'templates:compiled':
emitter.emit('templates:compiled');
break;
}
});
process.on('uncaughtException', function(err) {
winston.error(err.stack);
console.log(err.stack);
require('./src/meta').js.killMinifier();
shutdown(1);
});
async.waterfall([
function(next) {
require('./src/database').init(next);
},
function(next) {
require('./src/meta').configs.init(next);
},
function(next) {
require('./src/upgrade').check(next);
},
function(schema_ok, next) {
if (!schema_ok && nconf.get('check-schema') !== false) {
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
winston.warn(' ./nodebb upgrade');
process.exit();
return;
}
var webserver = require('./src/webserver');
require('./src/socket.io').init(webserver.server);
if (nconf.get('isPrimary') === 'true' && !nconf.get('jobsDisabled')) {
require('./src/notifications').init();
require('./src/user').startJobs();
}
webserver.listen();
}
], function(err) {
if (err) {
winston.error(err.stack);
process.exit();
}
});
}
function setup() {
loadConfig();
winston.info('NodeBB Setup Triggered via Command Line');
var install = require('./src/install');
process.stdout.write('\nWelcome to NodeBB!\n');
process.stdout.write('\nThis looks like a new installation, so you\'ll have to answer a few questions about your environment before we can proceed.\n');
process.stdout.write('Press enter to accept the default setting (shown in brackets).\n');
install.setup(function (err, data) {
var separator = ' ';
if (process.stdout.columns > 10) {
for(var x=0,cols=process.stdout.columns-10;x<cols;x++) {
separator += '=';
}
}
process.stdout.write('\n' + separator + '\n\n');
if (err) {
winston.error('There was a problem completing NodeBB setup: ', err.message);
} else {
if (data.hasOwnProperty('password')) {
process.stdout.write('An administrative user was automatically created for you:\n');
process.stdout.write(' Username: ' + data.username + '\n');
process.stdout.write(' Password: ' + data.password + '\n');
process.stdout.write('\n');
}
process.stdout.write('NodeBB Setup Completed. Run \'./nodebb start\' to manually start your NodeBB server.\n');
// If I am a child process, notify the parent of the returned data before exiting (useful for notifying
// hosts of auto-generated username/password during headless setups)
if (process.send) {
process.send(data);
}
}
process.exit();
});
}
function upgrade() {
loadConfig();
require('./src/database').init(function(err) {
if (err) {
winston.error(err.stack);
process.exit();
}
require('./src/meta').configs.init(function () {
require('./src/upgrade').upgrade();
});
});
}
function reset() {
loadConfig();
require('./src/database').init(function(err) {
if (err) {
winston.error(err.message);
process.exit();
}
if (nconf.get('theme')) {
resetThemes();
} else if (nconf.get('plugin')) {
resetPlugin(nconf.get('plugin'));
} else if (nconf.get('plugins')) {
resetPlugins();
} else if (nconf.get('widgets')) {
resetWidgets();
} else if (nconf.get('settings')) {
resetSettings();
} else if (nconf.get('all')) {
require('async').series([resetWidgets, resetThemes, resetPlugins, resetSettings], function(err) {
if (!err) {
winston.info('[reset] Reset complete.');
} else {
winston.error('[reset] Errors were encountered while resetting your forum settings: %s', err.message);
}
process.exit();
});
} else {
winston.warn('[reset] Nothing reset.');
winston.info('Use ./nodebb reset {theme|plugins|widgets|settings|all}');
winston.info(' or');
winston.info('Use ./nodebb reset plugin="nodebb-plugin-pluginName"');
process.exit();
}
});
}
function resetSettings(callback) {
var meta = require('./src/meta');
meta.configs.set('allowLocalLogin', 1, function(err) {
winston.info('[reset] Settings reset to default');
if (typeof callback === 'function') {
callback(err);
} else {
process.exit();
}
});
}
function resetThemes(callback) {
var meta = require('./src/meta');
meta.themes.set({
type: 'local',
id: 'nodebb-theme-vanilla'
}, function(err) {
winston.info('[reset] Theme reset to Vanilla');
if (typeof callback === 'function') {
callback(err);
} else {
process.exit();
}
});
}
function resetPlugin(pluginId) {
var db = require('./src/database');
db.sortedSetRemove('plugins:active', pluginId, function(err) {
if (err) {
winston.error('[reset] Could not disable plugin: %s encountered error %s', pluginId, err.message);
} else {
winston.info('[reset] Plugin `%s` disabled', pluginId);
}
process.exit();
});
}
function resetPlugins(callback) {
var db = require('./src/database');
db.delete('plugins:active', function(err) {
winston.info('[reset] All Plugins De-activated');
if (typeof callback === 'function') {
callback(err);
} else {
process.exit();
}
});
}
function resetWidgets(callback) {
require('./src/widgets').reset(function(err) {
winston.info('[reset] All Widgets moved to Draft Zone');
if (typeof callback === 'function') {
callback(err);
} else {
process.exit();
}
});
}
function shutdown(code) {
winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.');
require('./src/database').close();
winston.info('[app] Database connection closed.');
require('./src/webserver').server.close();
winston.info('[app] Web server closed to connections.');
winston.info('[app] Shutdown complete.');
process.exit(code || 0);
}
function restart() {
if (process.send) {
winston.info('[app] Restarting...');
process.send({
action: 'restart'
});
} else {
winston.error('[app] Could not restart server. Shutting down.');
shutdown(1);
}
}
/*
NodeBB - A better forum platform for the modern web
https://github.com/NodeBB/NodeBB/
Copyright (C) 2013-2014 NodeBB Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
"use strict";
/*global require, global, process*/
var nconf = require('nconf');
nconf.argv().env('__');
var url = require('url'),
async = require('async'),
semver = require('semver'),
winston = require('winston'),
colors = require('colors'),
path = require('path'),
pkg = require('./package.json'),
file = require('./src/file'),
utils = require('./public/src/utils.js');
global.env = process.env.NODE_ENV || 'production';
winston.remove(winston.transports.Console);
winston.add(winston.transports.Console, {
colorize: true,
timestamp: function() {
var date = new Date();
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']';
},
level: nconf.get('log-level') || (global.env === 'production' ? 'info' : 'verbose')
});
// Alternate configuration file support
var configFile = path.join(__dirname, '/config.json');
if (nconf.get('config')) {
configFile = path.resolve(__dirname, nconf.get('config'));
}
var configExists = file.existsSync(configFile);
loadConfig();
if (!process.send) {
// If run using `node app`, log GNU copyright info along with server info
winston.info('NodeBB v' + nconf.get('version') + ' Copyright (C) 2013-2014 NodeBB Inc.');
winston.info('This program comes with ABSOLUTELY NO WARRANTY.');
winston.info('This is free software, and you are welcome to redistribute it under certain conditions.');
winston.info('');
}
if (nconf.get('setup') || nconf.get('install')) {
setup();
} else if (!configExists) {
require('./install/web').install(nconf.get('port'));
} else if (nconf.get('upgrade')) {
upgrade();
} else if (nconf.get('reset')) {
require('./src/reset').reset();
} else if (nconf.get('activate')) {
activate();
} else if (nconf.get('plugins')) {
listPlugins();
} else {
start();
}
function loadConfig() {
winston.verbose('* using configuration stored in: %s', configFile);
nconf.file({
file: configFile
});
nconf.defaults({
base_dir: __dirname,
themes_path: path.join(__dirname, 'node_modules'),
views_dir: path.join(__dirname, 'public/templates'),
version: pkg.version
});
if (!nconf.get('isCluster')) {
nconf.set('isPrimary', 'true');
nconf.set('isCluster', 'false');
}
// Ensure themes_path is a full filepath
nconf.set('themes_path', path.resolve(__dirname, nconf.get('themes_path')));
nconf.set('core_templates_path', path.join(__dirname, 'src/views'));
nconf.set('base_templates_path', path.join(nconf.get('themes_path'), 'nodebb-theme-persona/templates'));
}
function start() {
var db = require('./src/database');
// nconf defaults, if not set in config
if (!nconf.get('upload_path')) {
nconf.set('upload_path', '/public/uploads');
}
// Parse out the relative_url and other goodies from the configured URL
var urlObject = url.parse(nconf.get('url'));
var relativePath = urlObject.pathname !== '/' ? urlObject.pathname : '';
nconf.set('base_url', urlObject.protocol + '//' + urlObject.host);
nconf.set('secure', urlObject.protocol === 'https');
nconf.set('use_port', !!urlObject.port);
nconf.set('relative_path', relativePath);
nconf.set('port', urlObject.port || nconf.get('port') || nconf.get('PORT') || 4567);
nconf.set('upload_url', '/uploads/');
if (nconf.get('isPrimary') === 'true') {
winston.info('Time: %s', (new Date()).toString());
winston.info('Initializing NodeBB v%s', nconf.get('version'));
var host = nconf.get(nconf.get('database') + ':host'),
storeLocation = host ? 'at ' + host + (host.indexOf('/') === -1 ? ':' + nconf.get(nconf.get('database') + ':port') : '') : '';
winston.verbose('* using %s store %s', nconf.get('database'), storeLocation);
winston.verbose('* using themes stored in: %s', nconf.get('themes_path'));
}
process.on('SIGTERM', shutdown);
process.on('SIGINT', shutdown);
process.on('SIGHUP', restart);
process.on('message', function(message) {
if (typeof message !== 'object') {
return;
}
var meta = require('./src/meta');
var emitter = require('./src/emitter');
switch (message.action) {
case 'reload':
meta.reload();
break;
case 'js-propagate':
meta.js.cache = message.cache;
meta.js.map = message.map;
emitter.emit('meta:js.compiled');
winston.verbose('[cluster] Client-side javascript and mapping propagated to worker %s', process.pid);
break;
case 'css-propagate':
meta.css.cache = message.cache;
meta.css.acpCache = message.acpCache;
emitter.emit('meta:css.compiled');
winston.verbose('[cluster] Stylesheets propagated to worker %s', process.pid);
break;
case 'templates:compiled':
emitter.emit('templates:compiled');
break;
}
});
process.on('uncaughtException', function(err) {
winston.error(err.stack);
console.log(err.stack);
require('./src/meta').js.killMinifier();
shutdown(1);
});
async.waterfall([
async.apply(db.init),
async.apply(db.checkCompatibility),
function(next) {
require('./src/meta').configs.init(next);
},
function(next) {
require('./src/meta').dependencies.check(next);
},
function(next) {
require('./src/upgrade').check(next);
},
function(next) {
var webserver = require('./src/webserver');
require('./src/socket.io').init(webserver.server);
if (nconf.get('isPrimary') === 'true' && !nconf.get('jobsDisabled')) {
require('./src/notifications').init();
require('./src/user').startJobs();
}
webserver.listen();
}
], function(err) {
if (err) {
switch(err.message) {
case 'schema-out-of-date':
winston.warn('Your NodeBB schema is out-of-date. Please run the following command to bring your dataset up to spec:');
winston.warn(' ./nodebb upgrade');
break;
case 'dependencies-out-of-date':
winston.warn('One or more of NodeBB\'s dependent packages are out-of-date. Please run the following command to update them:');
winston.warn(' ./nodebb upgrade');
break;
default:
if (err.stacktrace !== false) {
winston.error(err.stack);
} else {
winston.error(err.message);
}
break;
}
// Either way, bad stuff happened. Abort start.
process.exit();
}
});
}
function setup() {
winston.info('NodeBB Setup Triggered via Command Line');
var install = require('./src/install');
process.stdout.write('\nWelcome to NodeBB!\n');
process.stdout.write('\nThis looks like a new installation, so you\'ll have to answer a few questions about your environment before we can proceed.\n');
process.stdout.write('Press enter to accept the default setting (shown in brackets).\n');
install.setup(function (err, data) {
var separator = ' ';
if (process.stdout.columns > 10) {
for(var x=0,cols=process.stdout.columns-10;x<cols;x++) {
separator += '=';
}
}
process.stdout.write('\n' + separator + '\n\n');
if (err) {
winston.error('There was a problem completing NodeBB setup: ', err.message);
} else {
if (data.hasOwnProperty('password')) {
process.stdout.write('An administrative user was automatically created for you:\n');
process.stdout.write(' Username: ' + data.username + '\n');
process.stdout.write(' Password: ' + data.password + '\n');
process.stdout.write('\n');
}
process.stdout.write('NodeBB Setup Completed. Run \'./nodebb start\' to manually start your NodeBB server.\n');
// If I am a child process, notify the parent of the returned data before exiting (useful for notifying
// hosts of auto-generated username/password during headless setups)
if (process.send) {
process.send(data);
}
}
process.exit();
});
}
function upgrade() {
require('./src/database').init(function(err) {
if (err) {
winston.error(err.stack);
process.exit();
}
require('./src/meta').configs.init(function () {
require('./src/upgrade').upgrade();
});
});
}
function activate() {
require('./src/database').init(function(err) {
var plugin = nconf.get('_')[1] ? nconf.get('_')[1] : nconf.get('activate'),
db = require('./src/database');
winston.info('Activating plugin %s', plugin);
db.sortedSetAdd('plugins:active', 0, plugin, start);
});
}
function listPlugins() {
require('./src/database').init(function(err) {
var db = require('./src/database');
db.getSortedSetRange('plugins:active', 0, -1, function(err, plugins) {
winston.info('Active plugins: \n\t - ' + plugins.join('\n\t - '));
process.exit();
});
});
}
function shutdown(code) {
winston.info('[app] Shutdown (SIGTERM/SIGINT) Initialised.');
require('./src/database').close();
winston.info('[app] Database connection closed.');
require('./src/webserver').server.close();
winston.info('[app] Web server closed to connections.');
winston.info('[app] Shutdown complete.');
process.exit(code || 0);
}
function restart() {
if (process.send) {
winston.info('[app] Restarting...');
process.send({
action: 'restart'
});
} else {
winston.error('[app] Could not restart server. Shutting down.');
shutdown(1);
}
}

View File

@@ -1,34 +1,34 @@
[
{
"name": "Announcements",
"description": "Announcements regarding our community",
"bgColor": "#fda34b",
"color": "#fff",
"icon" : "fa-bullhorn",
"order": 1
},
{
"name": "General Discussion",
"description": "A place to talk about whatever you want",
"bgColor": "#59b3d0",
"color": "#fff",
"icon" : "fa-comments-o",
"order": 2
},
{
"name": "Blogs",
"description": "Blog posts from individual members",
"bgColor": "#86ba4b",
"color": "#fff",
"icon" : "fa-newspaper-o",
"order": 4
},
{
"name": "Comments & Feedback",
"description": "Got a question? Ask away!",
"bgColor": "#e95c5a",
"color": "#fff",
"icon" : "fa-question",
"order": 3
}
[
{
"name": "Announcements",
"description": "Announcements regarding our community",
"bgColor": "#fda34b",
"color": "#fff",
"icon" : "fa-bullhorn",
"order": 1
},
{
"name": "General Discussion",
"description": "A place to talk about whatever you want",
"bgColor": "#59b3d0",
"color": "#fff",
"icon" : "fa-comments-o",
"order": 2
},
{
"name": "Blogs",
"description": "Blog posts from individual members",
"bgColor": "#86ba4b",
"color": "#fff",
"icon" : "fa-newspaper-o",
"order": 4
},
{
"name": "Comments & Feedback",
"description": "Got a question? Ask away!",
"bgColor": "#e95c5a",
"color": "#fff",
"icon" : "fa-question",
"order": 3
}
]

View File

@@ -1,106 +1,34 @@
[
{
"field": "title",
"value": "NodeBB"
},
{
"field": "showSiteTitle",
"value": "1"
},
{
"field": "postDelay",
"value": 10
},
{
"field": "initialPostDelay",
"value": 10
},
{
"field": "newbiePostDelay",
"value": 120
},
{
"field": "newbiePostDelayThreshold",
"value": 3
},
{
"field": "minimumPostLength",
"value": 8
},
{
"field": "maximumPostLength",
"value": 32767
},
{
"field": "allowGuestSearching",
"value": 0
},
{
"field": "allowTopicsThumbnail",
"value": 0
},
{
"field": "allowRegistration",
"value": 1
},
{
"field": "allowLocalLogin",
"value": 1
},
{
"field": "allowAccountDelete",
"value": 1
},
{
"field": "allowFileUploads",
"value": 0
},
{
"field": "maximumFileSize",
"value": 2048
},
{
"field": "minimumTitleLength",
"value": 3
},
{
"field": "maximumTitleLength",
"value": 255
},
{
"field": "minimumUsernameLength",
"value": 2
},
{
"field": "maximumUsernameLength",
"value": 16
},
{
"field": "minimumPasswordLength",
"value": 6
},
{
"field": "maximumSignatureLength",
"value": 255
},
{
"field": "maximumAboutMeLength",
"value": 1000
},
{
"field": "maximumProfileImageSize",
"value": 256
},
{
"field": "profileImageDimension",
"value": 128
},
{
"field": "requireEmailConfirmation",
"value": 0
},
{
"field": "profile:allowProfileImageUploads",
"value": 1
}
]
{
"title": "NodeBB",
"showSiteTitle": 1,
"postDelay": 10,
"initialPostDelay": 10,
"newbiePostDelay": 120,
"newbiePostDelayThreshold": 3,
"minimumPostLength": 8,
"maximumPostLength": 32767,
"minimumTagsPerTopic": 0,
"maximumTagsPerTopic": 5,
"allowGuestSearching": 0,
"allowTopicsThumbnail": 0,
"registrationType": "normal",
"allowLocalLogin": 1,
"allowAccountDelete": 1,
"allowFileUploads": 0,
"allowUserHomePage": 1,
"maximumFileSize": 2048,
"minimumTitleLength": 3,
"maximumTitleLength": 255,
"minimumUsernameLength": 2,
"maximumUsernameLength": 16,
"minimumPasswordLength": 6,
"maximumSignatureLength": 255,
"maximumAboutMeLength": 1000,
"maximumProfileImageSize": 256,
"maximumCoverImageSize": 2048,
"profileImageDimension": 128,
"requireEmailConfirmation": 0,
"allowProfileImageUploads": 1,
"teaserPost": "last",
"allowPrivateGroups": 1
}

View File

@@ -2,7 +2,7 @@
{
"widget": "html",
"data" : {
"html": "<footer id=\"footer\" class=\"container footer\">\r\n\t<div class=\"copyright\">\r\n\t\tCopyright © 2014 <a target=\"_blank\" href=\"https://nodebb.org\">NodeBB Forums</a> | <a target=\"_blank\" href=\"//github.com/NodeBB/NodeBB/graphs/contributors\">Contributors</a>\r\n\t</div>\r\n</footer>",
"html": "<footer id=\"footer\" class=\"container footer\">\r\n\t<div class=\"copyright\">\r\n\t\tCopyright © 2015 <a target=\"_blank\" href=\"https://nodebb.org\">NodeBB Forums</a> | <a target=\"_blank\" href=\"//github.com/NodeBB/NodeBB/graphs/contributors\">Contributors</a>\r\n\t</div>\r\n</footer>",
"title":"",
"container":""
}

View File

@@ -1,4 +1,12 @@
[
{
"route": "/categories",
"title": "\\[\\[global:header.categories\\]\\]",
"enabled": true,
"iconClass": "fa-list",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.categories\\]\\]"
},
{
"id": "unread-count",
"route": "/unread",
@@ -59,7 +67,7 @@
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.admin\\]\\]",
"properties": {
"target": "_top",
"targetBlank": false,
"adminOnly": true
}
},

View File

@@ -1,10 +1,10 @@
# Welcome to your brand new NodeBB forum!
This is what a topic and post looks like. As an administator, you can edit the post\'s title and content.
This is what a topic and post looks like. As an administrator, you can edit the post\'s title and content.
To customise your forum, go to the [Administrator Control Panel](../../admin). You can modify all aspects of your forum there, including installation of third-party plugins.
## Additional Resources
* [NodeBB Documentation](https://docs.nodebb.org)
* [Community Support Forum](https://community.nodebb.org)
* [Project repository](https://github.com/nodebb/nodebb)
* [Project repository](https://github.com/nodebb/nodebb)

View File

@@ -1,104 +1,82 @@
"use strict";
var async = require('async'),
prompt = require('prompt'),
nconf = require('nconf'),
winston = require('winston'),
var async = require('async');
var prompt = require('prompt');
var winston = require('winston');
questions = {};
var questions = {
redis: require('../src/database/redis').questions,
mongo: require('../src/database/mongo').questions
};
function success(err, config, callback) {
module.exports = function(config, callback) {
async.waterfall([
function (next) {
process.stdout.write('\n');
winston.info('Now configuring ' + config.database + ' database:');
getDatabaseConfig(config, next);
},
function (databaseConfig, next) {
saveDatabaseConfig(config, databaseConfig, next);
}
], callback);
};
function getDatabaseConfig(config, callback) {
if (!config) {
return callback(new Error('aborted'));
}
var database = (config.redis || config.mongo) ? config.secondary_database : config.database;
function dbQuestionsSuccess(err, databaseConfig) {
if (!databaseConfig) {
return callback(new Error('aborted'));
}
// Translate redis properties into redis object
if(database === 'redis') {
config.redis = {
host: databaseConfig['redis:host'],
port: databaseConfig['redis:port'],
password: databaseConfig['redis:password'],
database: databaseConfig['redis:database']
};
if (config.redis.host.slice(0, 1) === '/') {
delete config.redis.port;
}
} else if (database === 'mongo') {
config.mongo = {
host: databaseConfig['mongo:host'],
port: databaseConfig['mongo:port'],
username: databaseConfig['mongo:username'],
password: databaseConfig['mongo:password'],
database: databaseConfig['mongo:database']
};
} else {
return callback(new Error('unknown database : ' + database));
}
var allQuestions = questions.redis.concat(questions.mongo);
for(var x=0;x<allQuestions.length;x++) {
delete config[allQuestions[x].name];
}
callback(err, config);
}
if(database === 'redis') {
if (config.database === 'redis') {
if (config['redis:host'] && config['redis:port']) {
dbQuestionsSuccess(null, config);
callback(null, config);
} else {
prompt.get(questions.redis, dbQuestionsSuccess);
prompt.get(questions.redis, callback);
}
} else if(database === 'mongo') {
} else if (config.database === 'mongo') {
if (config['mongo:host'] && config['mongo:port']) {
dbQuestionsSuccess(null, config);
callback(null, config);
} else {
prompt.get(questions.mongo, dbQuestionsSuccess);
prompt.get(questions.mongo, callback);
}
} else {
return callback(new Error('unknown database : ' + database));
return callback(new Error('unknown database : ' + config.database));
}
}
function getSecondaryDatabaseModules(config, next) {
prompt.get({
"name": "secondary_db_modules",
"description": "Which database modules should " + config.secondary_database + " store?",
"default": nconf.get('secondary_db_modules') || "hash, list, sets, sorted"
}, function(err, db) {
config.secondary_db_modules = db.secondary_db_modules;
success(err, config, next);
});
}
function saveDatabaseConfig(config, databaseConfig, callback) {
if (!databaseConfig) {
return callback(new Error('aborted'));
}
module.exports = function(err, config, databases, callback) {
var allowedDBs = Object.keys(databases);
// Translate redis properties into redis object
if (config.database === 'redis') {
config.redis = {
host: databaseConfig['redis:host'],
port: databaseConfig['redis:port'],
password: databaseConfig['redis:password'],
database: databaseConfig['redis:database']
};
allowedDBs.forEach(function(db) {
questions[db] = require('./../src/database/' + db).questions;
});
async.waterfall([
function(next) {
process.stdout.write('\n');
winston.info('Now configuring ' + config.database + ' database:');
success(err, config, next);
},
function(config, next) {
if (config.secondary_database && allowedDBs.indexOf(config.secondary_database) !== -1) {
winston.info('Now configuring ' + config.secondary_database + ' database:');
getSecondaryDatabaseModules(config, next);
} else {
next(err, config);
}
if (config.redis.host.slice(0, 1) === '/') {
delete config.redis.port;
}
], callback);
};
} else if (config.database === 'mongo') {
config.mongo = {
host: databaseConfig['mongo:host'],
port: databaseConfig['mongo:port'],
username: databaseConfig['mongo:username'],
password: databaseConfig['mongo:password'],
database: databaseConfig['mongo:database']
};
} else {
return callback(new Error('unknown database : ' + config.database));
}
var allQuestions = questions.redis.concat(questions.mongo);
for (var x=0; x<allQuestions.length; x++) {
delete config[allQuestions[x].name];
}
callback(null, config);
}

View File

@@ -12,6 +12,16 @@ var winston = require('winston'),
app = express(),
server;
winston.add(winston.transports.File, {
filename: 'logs/webinstall.log',
colorize: true,
timestamp: function() {
var date = new Date();
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']';
},
level: 'verbose'
});
var web = {},
scripts = [
'public/vendor/xregexp/xregexp.js',
@@ -30,7 +40,7 @@ web.install = function(port) {
app.set('views', path.join(__dirname, '../src/views'));
app.use(bodyParser.urlencoded({
extended: true
}));
}));
async.parallel([compileLess, compileJS], function() {
setupRoutes();
@@ -41,8 +51,7 @@ web.install = function(port) {
function launchExpress(port) {
server = app.listen(port, function() {
var host = server.address().address;
winston.info('Web installer listening on http://%s:%s', host, port);
winston.info('Web installer listening on http://%s:%s', '0.0.0.0', port);
});
}
@@ -104,10 +113,14 @@ function launch(req, res) {
stdio: ['ignore', 'ignore', 'ignore']
});
process.stdout.write('\nStarting NodeBB\n');
process.stdout.write(' "./nodebb stop" to stop the NodeBB server\n');
process.stdout.write(' "./nodebb log" to view server output\n');
process.stdout.write(' "./nodebb restart" to restart NodeBB\n');
child.unref();
process.exit(0);
}
function compileLess(callback) {

View File

@@ -8,7 +8,7 @@ var nconf = require('nconf'),
async = require('async'),
logrotate = require('logrotate-stream'),
file = require('./src/file'),
pkg = require('./package.json');
nconf.argv().env().file({
@@ -90,8 +90,7 @@ Loader.addWorkerEvents = function(worker) {
worker.send({
action: 'js-propagate',
cache: Loader.js.cache,
map: Loader.js.map,
hash: Loader.js.hash
map: Loader.js.map
});
}
@@ -99,8 +98,7 @@ Loader.addWorkerEvents = function(worker) {
worker.send({
action: 'css-propagate',
cache: Loader.css.cache,
acpCache: Loader.css.acpCache,
hash: Loader.css.hash
acpCache: Loader.css.acpCache
});
}
@@ -117,25 +115,21 @@ Loader.addWorkerEvents = function(worker) {
case 'js-propagate':
Loader.js.cache = message.cache;
Loader.js.map = message.map;
Loader.js.hash = message.hash;
Loader.notifyWorkers({
action: 'js-propagate',
cache: message.cache,
map: message.map,
hash: message.hash
map: message.map
}, worker.pid);
break;
case 'css-propagate':
Loader.css.cache = message.cache;
Loader.css.acpCache = message.acpCache;
Loader.css.hash = message.hash;
Loader.notifyWorkers({
action: 'css-propagate',
cache: message.cache,
acpCache: message.acpCache,
hash: message.hash
acpCache: message.acpCache
}, worker.pid);
break;
case 'templates:compiled':
@@ -249,7 +243,7 @@ Loader.notifyWorkers = function(msg, worker_pid) {
fs.open(path.join(__dirname, 'config.json'), 'r', function(err) {
if (!err) {
if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) {
if (fs.existsSync(pidFilePath)) {
if (file.existsSync(pidFilePath)) {
try {
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
process.kill(pid, 0);

View File

@@ -1,38 +1,44 @@
"use strict";
var uglifyjs = require('uglify-js'),
less = require('less'),
async = require('async'),
fs = require('fs'),
path = require('path'),
crypto = require('crypto'),
utils = require('./public/src/utils'),
var uglifyjs = require('uglify-js');
var async = require('async');
var fs = require('fs');
var file = require('./src/file');
Minifier = {
js: {}
};
var Minifier = {
js: {}
};
/* Javascript */
Minifier.js.minify = function (scripts, minify, callback) {
scripts = scripts.filter(function(file) {
return fs.existsSync(file) && file.endsWith('.js');
return file && file.endsWith('.js');
});
if (minify) {
minifyScripts(scripts, function() {
callback.apply(this, arguments);
async.filter(scripts, function(script, next) {
file.exists(script, function(exists) {
if (!exists) {
console.warn('[minifier] file not found, ' + script);
}
next(exists);
});
} else {
concatenateScripts(scripts, callback);
}
}, function(scripts) {
if (minify) {
minifyScripts(scripts, callback);
} else {
concatenateScripts(scripts, callback);
}
});
};
process.on('message', function(payload) {
switch(payload.action) {
case 'js':
Minifier.js.minify(payload.scripts, payload.minify, function(minified) {
Minifier.js.minify(payload.scripts, payload.minify, function(minified/*, sourceMap*/) {
process.send({
type: 'end',
// sourceMap: sourceMap,
minified: minified
});
});
@@ -41,26 +47,19 @@ process.on('message', function(payload) {
});
function minifyScripts(scripts, callback) {
// The portions of code involving the source map are commented out as they're broken in UglifyJS2
// Follow along here: https://github.com/mishoo/UglifyJS2/issues/700
try {
var minified = uglifyjs.minify(scripts, {
// outSourceMap: "nodebb.min.js.map",
compress: false
}),
hasher = crypto.createHash('md5'),
hash;
});
// Calculate js hash
hasher.update(minified.code, 'utf-8');
hash = hasher.digest('hex');
process.send({
type: 'hash',
payload: hash.slice(0, 8)
});
callback(minified.code);
callback(minified.code/*, minified.map*/);
} catch(err) {
process.send({
type: 'error',
payload: err.message
message: err.message
});
}
}
@@ -70,8 +69,9 @@ function concatenateScripts(scripts, callback) {
if (err) {
process.send({
type: 'error',
payload: err
message: err.message
});
return;
}
scripts = scripts.join(require('os').EOL + ';');

283
nodebb
View File

@@ -1,137 +1,180 @@
#!/bin/bash
#!/usr/bin/env node
# $0 script path
# $1 action
# $2 subaction
var colors = require('colors'),
cproc = require('child_process'),
argv = require('minimist')(process.argv.slice(2)),
fs = require('fs'),
async = require('async');
node="$(which nodejs 2>/dev/null)";
if [ $? -gt 0 ];
then node="$(which node)";
fi
var getRunningPid = function(callback) {
fs.readFile(__dirname + '/pidfile', {
encoding: 'utf-8'
}, function(err, pid) {
if (err) {
return callback(err);
}
function pidExists() {
if [ -e "pidfile" ];
then
if ps -p $(cat pidfile) > /dev/null
then return 1;
else
rm ./pidfile;
return 0;
fi
else
return 0;
fi
try {
process.kill(parseInt(pid, 10), 0);
callback(null, parseInt(pid, 10));
} catch(e) {
callback(e);
}
});
};
function fork(args) {
cproc.fork('app.js', args, {
cwd: __dirname,
silent: false
});
}
case "$1" in
start)
echo "Starting NodeBB";
echo " \"./nodebb stop\" to stop the NodeBB server";
echo " \"./nodebb log\" to view server output";
switch(process.argv[2]) {
case 'status':
getRunningPid(function(err, pid) {
if (!err) {
process.stdout.write('\nNodeBB Running '.bold + '(pid '.cyan + pid.toString().cyan + ')\n'.cyan);
process.stdout.write('\t"' + './nodebb stop'.yellow + '" to stop the NodeBB server\n');
process.stdout.write('\t"' + './nodebb log'.yellow + '" to view server output\n');
process.stdout.write('\t"' + './nodebb restart'.yellow + '" to restart NodeBB\n\n');
} else {
process.stdout.write('\nNodeBB is not running\n'.bold);
process.stdout.write('\t"' + './nodebb start'.yellow + '" to launch the NodeBB server\n\n'.reset);
}
})
break;
# Start the loader daemon
"$node" loader "$@"
;;
case 'start':
process.stdout.write('\nStarting NodeBB\n'.bold);
process.stdout.write(' "' + './nodebb stop'.yellow + '" to stop the NodeBB server\n');
process.stdout.write(' "' + './nodebb log'.yellow + '" to view server output\n');
process.stdout.write(' "' + './nodebb restart'.yellow + '" to restart NodeBB\n\n'.reset);
stop)
pidExists;
if [ 0 -eq $? ];
then
echo "NodeBB is already stopped.";
else
echo "Stopping NodeBB. Goodbye!";
kill $(cat pidfile);
fi
;;
// Spawn a new NodeBB process
cproc.fork(__dirname + '/loader.js', {
env: process.env
});
break;
restart)
pidExists;
if [ 0 -eq $? ];
then
echo "NodeBB could not be restarted, as a running instance could not be found.";
else
echo "Restarting NodeBB.";
kill -1 $(cat pidfile);
fi
;;
case 'stop':
getRunningPid(function(err, pid) {
if (!err) {
process.kill(pid, 'SIGTERM');
process.stdout.write('Stopping NodeBB. Goodbye!\n')
} else {
process.stdout.write('NodeBB is already stopped.\n');
}
});
break;
reload)
pidExists;
if [ 0 -eq $? ];
then
echo "NodeBB could not be reloaded, as a running instance could not be found.";
else
echo "Reloading NodeBB.";
kill -12 $(cat pidfile);
fi
;;
case 'restart':
getRunningPid(function(err, pid) {
if (!err) {
process.kill(pid, 'SIGHUP');
process.stdout.write('\nRestarting NodeBB\n'.bold);
} else {
process.stdout.write('NodeBB could not be restarted, as a running instance could not be found.\n');
}
});
break;
status)
pidExists;
if [ 0 -eq $? ];
then
echo "NodeBB is not running";
echo " \"./nodebb start\" to launch the NodeBB server";
else
echo "NodeBB Running (pid $(cat pidfile))";
echo " \"./nodebb stop\" to stop the NodeBB server";
echo " \"./nodebb log\" to view server output";
echo " \"./nodebb restart\" to restart NodeBB";
fi
;;
case 'reload':
getRunningPid(function(err, pid) {
if (!err) {
process.kill(pid, 'SIGUSR2');
} else {
process.stdout.write('NodeBB could not be reloaded, as a running instance could not be found.\n');
}
});
break;
log)
clear;
tail -F ./logs/output.log;
;;
case 'dev':
process.env.NODE_ENV = 'development';
cproc.fork(__dirname + '/loader.js', ['--no-daemon', '--no-silent'], {
env: process.env
});
break;
upgrade)
npm install
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
"$node" app --upgrade
touch package.json
;;
case 'log':
process.stdout.write('\nType '.red + 'Ctrl-C '.bold + 'to exit'.red);
process.stdout.write('\n\n'.reset);
cproc.spawn('tail', ['-F', './logs/output.log'], {
cwd: __dirname,
stdio: 'inherit'
});
break;
setup)
"$node" app --setup "$@"
;;
case 'setup':
cproc.fork('app.js', ['--setup'], {
cwd: __dirname,
silent: false
});
break;
reset)
"$node" app --reset --$2
;;
case 'reset':
var args = process.argv.slice(0);
args.unshift('--reset');
fork(args);
break;
dev)
echo "Launching NodeBB in \"development\" mode."
echo "To run the production build of NodeBB, please use \"forever\"."
echo "More Information: https://docs.nodebb.org/en/latest/running/index.html"
NODE_ENV=development "$node" loader --no-daemon --no-silent "$@"
;;
case 'activate':
var args = process.argv.slice(0);
args.unshift('--activate');
fork(args);
break;
watch)
echo "***************************************************************************"
echo "WARNING: ./nodebb watch will be deprecated soon. Please use grunt: "
echo "https://docs.nodebb.org/en/latest/running/index.html#grunt-development"
echo "***************************************************************************"
NODE_ENV=development supervisor -q --ignore public/templates,public/nodebb.min.js,public/nodebb.min.js.map --extensions 'node|js|tpl|less' -- app "$@"
;;
case 'plugins':
var args = process.argv.slice(0);
args.unshift('--plugins');
fork(args);
break;
*)
echo "Welcome to NodeBB"
echo $"Usage: $0 {start|stop|reload|restart|log|setup|reset|upgrade|dev|watch}"
echo ''
column -s ' ' -t <<< '
start Start the NodeBB server
stop Stops the NodeBB server
reload Restarts NodeBB
restart Restarts NodeBB
log Opens the logging interface (useful for debugging)
setup Runs the NodeBB setup script
reset Disables all plugins, restores the default theme.
upgrade Run NodeBB upgrade scripts, ensure packages are up-to-date
dev Start NodeBB in interactive development mode
watch Start NodeBB in development mode and watch for changes
'
exit 1
esac
case 'upgrade':
async.series([
function(next) {
process.stdout.write('1. '.bold + 'Bringing base dependencies up to date... '.yellow);
require('child_process').execFile('/usr/bin/env', ['npm', 'i', '--production'], next);
},
function(next) {
process.stdout.write('OK\n'.green);
process.stdout.write('2. '.bold + 'Updating NodeBB data store schema.\n'.yellow);
var upgradeProc = cproc.fork('app.js', ['--upgrade'], {
cwd: __dirname,
silent: false
});
upgradeProc.on('close', next)
}
], function(err) {
if (err) {
process.stdout.write('\nError'.red + ': ' + err.message + '\n');
} else {
var message = 'NodeBB Upgrade Complete!';
// some consoles will return undefined/zero columns, so just use 2 spaces in upgrade script if we can't get our column count
var columns = process.stdout.columns;
var spaces = columns ? new Array(Math.floor(columns / 2) - (message.length / 2) + 1).join(' ') : " ";
process.stdout.write('OK\n'.green);
process.stdout.write('\n' + spaces + message.green.bold + '\n\n'.reset);
}
});
break;
default:
process.stdout.write('\nWelcome to NodeBB\n\n'.bold);
process.stdout.write('Usage: ./nodebb {start|stop|reload|restart|log|setup|reset|upgrade|dev}\n\n');
process.stdout.write('\t' + 'start'.yellow + '\tStart the NodeBB server\n');
process.stdout.write('\t' + 'stop'.yellow + '\tStops the NodeBB server\n');
process.stdout.write('\t' + 'reload'.yellow + '\tRestarts NodeBB\n');
process.stdout.write('\t' + 'restart'.yellow + '\tRestarts NodeBB\n');
process.stdout.write('\t' + 'log'.yellow + '\tOpens the logging interface (useful for debugging)\n');
process.stdout.write('\t' + 'setup'.yellow + '\tRuns the NodeBB setup script\n');
process.stdout.write('\t' + 'reset'.yellow + '\tDisables all plugins, restores the default theme.\n');
process.stdout.write('\t' + 'activate'.yellow + '\tActivate a plugin on start up.\n');
process.stdout.write('\t' + 'plugins'.yellow + '\tList all plugins that have been installed.\n');
process.stdout.write('\t' + 'upgrade'.yellow + '\tRun NodeBB upgrade scripts, ensure packages are up-to-date\n');
process.stdout.write('\t' + 'dev'.yellow + '\tStart NodeBB in interactive development mode\n');
process.stdout.write('\n'.reset);
break;
}

View File

@@ -1,8 +1,8 @@
{
"name": "nodebb",
"license": "GPLv3 or later",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "0.7.0-dev",
"version": "1.0.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -14,62 +14,74 @@
"test": "mocha ./tests -t 10000"
},
"dependencies": {
"async": "~0.9.0",
"bcryptjs": "~2.1.0",
"async": "~1.5.0",
"autoprefixer": "^6.2.3",
"bcryptjs": "~2.3.0",
"body-parser": "^1.9.0",
"colors": "^1.1.0",
"compression": "^1.1.0",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"connect-multiparty": "^1.2.4",
"connect-mongo": "~1.1.0",
"connect-multiparty": "^2.0.0",
"connect-redis": "~3.0.2",
"cookie-parser": "^1.3.3",
"cron": "^1.0.5",
"csurf": "^1.6.1",
"daemon": "~1.1.0",
"express": "^4.9.5",
"express-session": "^1.8.2",
"gm": "1.17.0",
"gravatar": "^1.1.0",
"heapdump": "^0.3.0",
"express-useragent": "0.2.4",
"html-to-text": "2.0.0",
"jimp": "0.2.21",
"less": "^2.0.0",
"logrotate-stream": "^0.2.3",
"lru-cache": "^2.6.1",
"lru-cache": "4.0.0",
"mime": "^1.3.4",
"minimist": "^1.1.1",
"mkdirp": "~0.5.0",
"mmmagic": "^0.3.13",
"mongodb": "~2.1.3",
"morgan": "^1.3.2",
"nconf": "~0.7.1",
"nodebb-plugin-dbsearch": "^0.2.12",
"nodebb-plugin-emoji-extended": "^0.4.8",
"nodebb-plugin-markdown": "^2.1.7",
"nodebb-plugin-mentions": "^0.11.2",
"nodebb-plugin-soundpack-default": "^0.1.1",
"nodebb-plugin-spam-be-gone": "^0.4.0",
"nodebb-theme-lavender": "^1.0.42",
"nodebb-theme-vanilla": "^1.0.130",
"nodebb-theme-persona": "^0.1.55",
"nodebb-widget-essentials": "^1.0.2",
"nodebb-rewards-essentials": "^0.0.1",
"npm": "^2.1.4",
"passport": "^0.2.1",
"nconf": "~0.8.2",
"nodebb-plugin-composer-default": "3.0.6",
"nodebb-plugin-dbsearch": "0.3.1",
"nodebb-plugin-emoji-extended": "0.5.0",
"nodebb-plugin-markdown": "4.0.17",
"nodebb-plugin-mentions": "1.0.17",
"nodebb-plugin-soundpack-default": "0.1.5",
"nodebb-plugin-spam-be-gone": "0.4.5",
"nodebb-rewards-essentials": "0.0.6",
"nodebb-theme-lavender": "3.0.8",
"nodebb-theme-persona": "4.0.88",
"nodebb-theme-vanilla": "5.0.53",
"nodebb-widget-essentials": "2.0.6",
"nodemailer": "2.0.0",
"nodemailer-sendmail-transport": "1.0.0",
"nodemailer-smtp-transport": "^2.4.1",
"passport": "^0.3.0",
"passport-local": "1.0.0",
"prompt": "^0.2.14",
"postcss": "^5.0.13",
"prompt": "^1.0.0",
"redis": "~2.4.2",
"request": "^2.44.0",
"rimraf": "~2.3.2",
"rimraf": "~2.5.0",
"rss": "^1.0.0",
"semver": "^4.3.3",
"semver": "^5.0.1",
"serve-favicon": "^2.1.5",
"sitemap": "^0.8.1",
"socket.io": "^1.2.1",
"socket.io-client": "^1.2.1",
"socket.io-redis": "^0.1.3",
"socketio-wildcard": "~0.1.1",
"sitemap": "^1.4.0",
"socket.io": "^1.4.0",
"socket.io-client": "^1.4.0",
"socket.io-redis": "^1.0.0",
"socketio-wildcard": "~0.3.0",
"string": "^3.0.0",
"templates.js": "^0.2.3",
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
"templates.js": "0.3.1",
"toobusy-js": "^0.4.2",
"uglify-js": "^2.6.0",
"underscore": "~1.8.3",
"validator": "^3.30.0",
"winston": "^0.9.0",
"xregexp": "~2.0.0"
"underscore.deep": "^0.5.1",
"validator": "^5.0.0",
"winston": "^2.1.0",
"xregexp": "~3.1.0"
},
"devDependencies": {
"mocha": "~1.13.0",
@@ -85,17 +97,17 @@
"maintainers": [
{
"name": "Andrew Rodrigues",
"email": "andrew@designcreateplay.com",
"email": "andrew@nodebb.org",
"url": "https://github.com/psychobunny"
},
{
"name": "Julian Lam",
"email": "julian@designcreateplay.com",
"email": "julian@nodebb.org",
"url": "https://github.com/julianlam"
},
{
"name": "Barış Soner Uşaklı",
"email": "baris@designcreateplay.com",
"email": "baris@nodebb.org",
"url": "https://github.com/barisusakli"
}
]

160
public/503.html Normal file
View File

@@ -0,0 +1,160 @@
<html>
<head>
<title>Excessive Load Warning</title>
<link href='http://fonts.googleapis.com/css?family=Ubuntu:400,500,700' rel='stylesheet' type='text/css'>
<style type="text/css">
body {
background: #00A9EA;
color: white;
font-family: 'Ubuntu', sans-serif;
text-align: center;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
}
h1 {
font-size: 250px;
color: #fff;
opacity: 0.5;
margin: 10px;
cursor: pointer;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
}
p {
font-size: 20px;
}
p strong {
font-size: 28px;
}
.center {
position: relative;
top: 50%;
-webkit-transform: translateY(50%);
-ms-transform: translateY(50%);
transform: translateY(50%);
}
@-webkit-keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0,-4px,0);
transform: translate3d(0,-4px,0);
}
}
@keyframes bounce {
0%, 20%, 53%, 80%, 100% {
-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
40%, 43% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -30px, 0);
transform: translate3d(0, -30px, 0);
}
70% {
-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
-webkit-transform: translate3d(0, -15px, 0);
transform: translate3d(0, -15px, 0);
}
90% {
-webkit-transform: translate3d(0,-4px,0);
transform: translate3d(0,-4px,0);
}
}
.bounce {
-webkit-animation-name: bounce;
animation-name: bounce;
-webkit-transform-origin: center bottom;
-ms-transform-origin: center bottom;
transform-origin: center bottom;
}
.animated {
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
.animated.infinite {
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
}
.animated.hinge {
-webkit-animation-duration: 2s;
animation-duration: 2s;
}
.hide {
display: none;
}
</style>
<script type="text/javascript">
window.onload = function() {
var count = 0,
bounce = document.getElementById('click-me');
bounce.onclick = function() {
count++;
bounce.className = '';
setTimeout(function() {
bounce.className = 'animated bounce';
}, 50);
if (count > 5) {
document.getElementById('hide').className = '';
}
};
}
</script>
</head>
<body>
<div class="wrapper">
<div class="center">
<h1 id="click-me" class="animated bounce">503</h1>
<p>
<strong>This forum is temporarily unavailable due to excessive load.</strong> <br />
We shouldn't be down for long. Please check back shortly. Sorry for the inconvenience!
</p>
<p id="hide" class="hide">
<small>Alright. You can stop clicking... it's not going to make the site come back sooner!</small>
</p>
</div>
</div>
</body>
</html>

View File

@@ -1,12 +1,16 @@
{
"category": "فئة",
"subcategories": "فئة فرعية",
"new_topic_button": "موضوع جديد",
"guest-login-post": "المرجو تسجيل الدخول أوَّلا",
"guest-login-post": "يجب عليك تسجيل الدخول للرد",
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لم لا تحاول إنشاء موضوع؟<br />",
"browsing": "تصفح",
"no_replies": م يرد أحد",
"no_replies": ا توجد ردود.",
"no_new_posts": "لا يوجد مشاركات جديدة.",
"share_this_category": "انشر هذه الفئة",
"watch": "Watch",
"watch": "متابعة",
"ignore": "تجاهل",
"watch.message": "You are now watching updates from this category",
"ignore.message": "You are now ignoring updates from this category"
"watch.message": "أنت اﻷن متابع لتحديثات هذه الفئة",
"ignore.message": "أنت اﻷن تتجاهل تحديثات هذه الفئة",
"watched-categories": "Watched categories"
}

View File

@@ -1,13 +1,17 @@
{
"password-reset-requested": "تم طلب إعادة تعيين كلمة السر - %1!",
"password-reset-requested": "تم طلب إعادة تعيين كلمة المرور - %1!",
"welcome-to": "مرحبًا بك في %1",
"invite": "دعوة من %1",
"greeting_no_name": "مرحبًا",
"greeting_with_name": "مرحبًا بك يا %1",
"welcome.text1": "شكرًا على تسجيلك في %1!",
"welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي تسجلت به.",
"welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي سجلت به.",
"welcome.text3": "تم قبول نتسجيلك ، يمكنك الدخول باتسخدام اسم المستخدم و كلمة المرور.",
"welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني",
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة السرالخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة السر، المرجو تتبع هذا الرابط.",
"invitation.text1": "%1 قام بدعوتك للانضمام لـ %2",
"invitation.ctr": "إضغط هنا لإنشاء حسابك",
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة المرور الخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة المرور، الرجاء تتبع هذا الرابط.",
"reset.cta": "انقر هنا لإعادة تعيين كلمة السر الخاصة بك.",
"reset.notify.subject": "تم تغيير كلمة المرور بنجاح",
"reset.notify.text1": "نحيطك علما أن كلمة مرورك قد تم تغييرها في %1",
@@ -17,6 +21,9 @@
"digest.cta": "انقر هنا لمشاهدة %1",
"digest.unsub.info": "تم إرسال هذا الإشعار بآخر المستجدات وفقا لخيارات تسجيلكم.",
"digest.no_topics": "ليس هناك مواضيع نشيطة في %1 الماضي",
"digest.day": "day",
"digest.week": "week",
"digest.month": "month",
"notif.chat.subject": "هناك محادثة جديدة من %1",
"notif.chat.cta": "انقر هنا لمتابعة المحادثة",
"notif.chat.unsub.info": "تم إرسال هذا الإشعار بوجودة محادثة جديدة وفقا لخيارات تسجيلك.",

View File

@@ -1,8 +1,8 @@
{
"invalid-data": "بيانات غير صالحة",
"not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "تم إقفال حسابكم مؤقتًا.",
"search-requires-login": "Searching requires an account - please login or register.",
"account-locked": "تم حظر حسابك مؤقتًا.",
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
"invalid-cid": "قائمة غير موجودة",
"invalid-tid": "موضوع غير متواجد",
"invalid-pid": "رد غير موجود",
@@ -14,16 +14,17 @@
"invalid-password": "كلمة السر غير مقبولة",
"invalid-username-or-password": "المرجود تحديد اسم مستخدم و كلمة مرور",
"invalid-search-term": "كلمة البحث غير صحيحة",
"invalid-pagination-value": "رقم الصفحة غير موجود",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "اسم المستخدم مأخوذ",
"email-taken": "البريد الالكتروني مأخوذ",
"email-not-confirmed": "عنوان بريدك الإلكتروني غير مفعل بعد. انقر هنا لتفعيله من فضلك.",
"email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.",
"email-not-confirmed-chat": "لا يمكنك الدردشة حتى تقوم بتأكيد بريدك الإلكتروني، الرجاء إضغط هنا لتأكيد بريدك اﻹلكتروني.",
"no-email-to-confirm": "هذا المنتدى يستلزم تفعيل بريدك الإلكتروني، انقر هنا من فضلك لإدخاله.",
"email-confirm-failed": "لم نستطع تفعيل بريدك الإلكتروني، المرجو المحاولة لاحقًا.",
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
"confirm-email-already-sent": "لقد تم ارسال بريد التأكيد، الرجاء اﻹنتظار 1% دقائق لإعادة اﻹرسال",
"username-too-short": "اسم المستخدم قصير.",
"username-too-long": "اسم المستخدم طويل",
"password-too-long": "Password too long",
"user-banned": "المستخدم محظور",
"user-too-new": "عذرا, يجب أن تنتظر 1% ثواني قبل قيامك بأول مشاركة",
"no-category": "قائمة غير موجودة",
@@ -33,11 +34,9 @@
"no-user": "اسم مستخدم غير موجود",
"no-teaser": "مقتطف غير موجود",
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
"no-emailers-configured": "لا يمكن إرسال رسالة إلكترونية تجريبية لعدم وجود قوالب خاصة بالرسائل الإلكترونية،",
"category-disabled": "قائمة معطلة",
"topic-locked": "الموضوع مقفول",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"still-uploading": "الرجاء انتظار الرفع",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
@@ -46,19 +45,26 @@
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
"too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)",
"still-uploading": "الرجاء انتظار الرفع",
"file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
"cant-vote-self-post": "لايمكنك التصويت لردك",
"already-favourited": "لقد سبق وأضفت هذا الرد إلى المفضلة",
"already-unfavourited": "لقد سبق وحذفت هذا الرد من المفضلة",
"guest-upload-disabled": "Guest uploading has been disabled",
"already-favourited": "You have already bookmarked this post",
"already-unfavourited": "You have already unbookmarked this post",
"cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.",
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
"invalid-image-type": "Invalid image type. Allowed types are: %1",
"invalid-image-extension": "Invalid image extension",
"invalid-file-type": "Invalid file type. Allowed types are: %1",
"group-name-too-short": "اسم المجموعة قصير",
"group-already-exists": "المجموعة موجودة مسبقا",
"group-name-change-not-allowed": "لايسمح بتغيير أسماء المجموعات",
"group-already-member": "You are already part of this group",
"group-needs-owner": "This group requires at least one owner",
"group-already-member": "Already part of this group",
"group-not-member": "Not a member of this group",
"group-needs-owner": "هذه المجموعة تتطلب مالك واحد على اﻷقل",
"group-already-invited": "This user has already been invited",
"group-already-requested": "Your membership request has already been submitted",
"post-already-deleted": "سبق وتم حذف هذا الرد",
"post-already-restored": "سبق وتم إلغاء حذف هذا الرد",
"topic-already-deleted": "سبق وتم حذف هذا الموضوع",
@@ -67,18 +73,29 @@
"topic-thumbnails-are-disabled": "الصور المصغرة غير مفعلة.",
"invalid-file": "ملف غير مقبول",
"uploads-are-disabled": "رفع الملفات غير مفعل",
"signature-too-long": "Sorry, your signature cannot be longer than %1 character(s).",
"signature-too-long": "عذرا، توقيعك يجب ألا يتجاوز %1 حرفًا.",
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
"too-many-messages": "You have sent too many messages, please wait awhile.",
"chat-disabled": "Chat system disabled",
"too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً",
"invalid-chat-message": "Invalid chat message",
"chat-message-too-long": "Chat message is too long",
"cant-edit-chat-message": "You are not allowed to edit this message",
"cant-remove-last-user": "You can't remove the last user",
"cant-delete-chat-message": "You are not allowed to delete this message",
"reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة",
"not-enough-reputation-to-downvote": "ليس لديك سمعة تكفي لإضافة صوت سلبي لهذا الموضوع",
"not-enough-reputation-to-flag": "ليس لديك سمعة تكفي للإشعار بموضوع مخل",
"already-flagged": "You have already flagged this post",
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
"registration-error": "حدث خطأ أثناء التسجيل",
"parse-error": "Something went wrong while parsing server response",
"parse-error": "حدث خطأ ما أثناء تحليل استجابة الخادم",
"wrong-login-type-email": "الرجاء استعمال بريدك اﻹلكتروني للدخول",
"wrong-login-type-username": "الرجاء استعمال اسم المستخدم الخاص بك للدخول"
"wrong-login-type-username": "الرجاء استعمال اسم المستخدم الخاص بك للدخول",
"invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).",
"no-session-found": "No login session found!",
"not-in-room": "User not in room",
"no-users-in-room": "No users in this room"
}

View File

@@ -3,7 +3,7 @@
"search": "بحث",
"buttons.close": "أغلق",
"403.title": "غير مسموح بالدخول",
"403.message": "You seem to have stumbled upon a page that you do not have access to.",
"403.message": "يبدو أنك قد تعثرت على صفحة لا تمتلك الصلاحية للدخول إليها",
"403.login": "Perhaps you should <a href='%1/login'>try logging in</a>?",
"404.title": "لم يتم العثور",
"404.message": "You seem to have stumbled upon a page that does not exist. Return to the <a href='%1/'>home page</a>.",
@@ -22,6 +22,7 @@
"pagination.out_of": "%1 من %2",
"pagination.enter_index": "أدخل الرقم التسلسلي",
"header.admin": "مدبر نظام",
"header.categories": "الفئات",
"header.recent": "حديث",
"header.unread": "غير مقروء",
"header.tags": "وسم",
@@ -32,6 +33,7 @@
"header.notifications": "التنبيهات",
"header.search": "بحث",
"header.profile": "ملف",
"header.navigation": "Navigation",
"notifications.loading": "تحميل التبليغات",
"chats.loading": "تحميل الدردشات",
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
@@ -47,25 +49,29 @@
"users": "الأعضاء",
"topics": "المواضيع",
"posts": "المشاركات",
"best": "Best",
"upvoted": "Upvoted",
"downvoted": "Downvoted",
"views": "المشاهدات",
"reputation": "السمعة",
"read_more": "اقرأ المزيد",
"more": "المزيد",
"posted_ago_by_guest": "كتب %1 من طرف زائر",
"posted_ago_by": "كتب %1 من طرف %2",
"posted_ago": "كتب %1",
"posted_in_ago_by_guest": "كتب في %1 %2 من طرف زائر",
"posted_in_ago_by": "كتب في %1 %2 من طرف %3",
"posted_in": "posted in %1",
"posted_in_by": "posted in %1 by %2",
"posted_in_ago": "كتب في %1 %2",
"replied_ago": "رد %1",
"posted_in_ago_by": "كتب في %1 %2 من طرف %3",
"user_posted_ago": "%1 كتب %2",
"guest_posted_ago": "كتب زائر %1",
"last_edited_by_ago": "آخر تعديل من طرف %1 %2",
"last_edited_by": "last edited by %1",
"norecentposts": "لاوجود لمشاركات جديدة",
"norecenttopics": "لاوجود لمواضيع جديدة",
"recentposts": "آخر المشاركات",
"recentips": "آخر عناوين ال IP التي سجلت الدخول",
"away": "غير متواجد",
"dnd": "المرجو عدم الإزعاج",
"dnd": "Do not disturb",
"invisible": "مخفي",
"offline": "غير متصل",
"email": "عنوان البريد الإلكتروني",
@@ -77,5 +83,12 @@
"privacy": "الخصوصية",
"follow": "متابعة",
"unfollow": "إلغاء المتابعة",
"delete_all": "حذف الكل"
"delete_all": "حذف الكل",
"map": "Map",
"sessions": "Login Sessions",
"ip_address": "IP Address",
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
"allowed-file-types": "Allowed file types are %1"
}

View File

@@ -6,16 +6,25 @@
"no_groups_found": "لاوجدود لمجموعات يمكن معاينتها",
"pending.accept": "موافق",
"pending.reject": "رفض",
"cover-instructions": "اسحب وأسقِط صورة، اسحبها للموضع المرغوب، وانقر على <strong>حفظ</strong>",
"cover-change": "تغيير",
"pending.accept_all": "قبول الكل",
"pending.reject_all": "رفض الكل",
"pending.none": "لايوجد أعضاء ينتظرون التفعيل حالياً",
"invited.none": "لايوجد أعضاء مدعوون في حالياً",
"invited.uninvite": "إلغ الدعوة",
"invited.search": "ابحث عن أعضاء لدعوتهم للمجموعة",
"invited.notification_title": "You have been invited to join <strong>%1</strong>",
"request.notification_title": "Group Membership Request from <strong>%1</strong>",
"request.notification_text": "<strong>%1</strong> has requested to become a member of <strong>%2</strong>",
"cover-save": "حفظ",
"cover-saving": "جاري الحفظ",
"details.title": "تفاصيل المجموعة",
"details.members": "لائحة الأعضاء",
"details.pending": "المستخدمون في الانتظار",
"details.invited": "اﻷعضار المدعوون",
"details.has_no_posts": "أعضاء هذه المجموعة لم يضيفوا أية مشاركة",
"details.latest_posts": "آخر المشاركات",
"details.private": "خاص",
"details.disableJoinRequests": "Disable join requests",
"details.grant": "منح/سحب المِلكية",
"details.kick": "طرد",
"details.owner_options": "إدارة المجموعة",
@@ -30,7 +39,15 @@
"details.userTitleEnabled": "إظهار الوسام",
"details.private_help": "في حالة تفعيل الخيار، الانضمام إلى المجموعة يستلزم قبول مالكها",
"details.hidden": "مخفي",
"details.hidden_help": "في حالة تفعيل الخيار، لن تظهر المجموعة للعموم والإنضمام إليها سيتلزم دعوة يدوية.",
"details.hidden_help": "في حالة تفعيل الخيار، لن تظهر المجموعة للعموم والإنضمام إليها سيتلزم دعوة.",
"details.delete_group": "حذف المجموعة",
"event.updated": "تم تحديث بيانات المجموعة",
"event.deleted": "تم حذف المجموعة %1"
"event.deleted": "تم حذف المجموعة %1",
"membership.accept-invitation": "اقبل الدعوة",
"membership.invitation-pending": "الدعوة بانتظار القبول",
"membership.join-group": "انظم للمجموعة",
"membership.leave-group": "غادر المجموعة",
"membership.reject": "رفض",
"new-group.group_name": "اسم المجموعة",
"upload-group-cover": "Upload group cover"
}

View File

@@ -7,5 +7,5 @@
"alternative_logins": "تسجيلات الدخول البديلة",
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
"login_successful": "قمت بتسجيل الدخول بنجاح!",
"dont_have_account": م تفتح حسابك بعد؟"
"dont_have_account": ا تملك حساب؟"
}

View File

@@ -5,8 +5,9 @@
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
"chat.user_typing": "%1 يكتب رسالة...",
"chat.user_has_messaged_you": "%1 أرسل لك رسالة.",
"chat.see_all": "معاينة كل الدردشات",
"chat.see_all": "عرض كل المحادثات",
"chat.no-messages": "المرجو اختيار مرسل إليه لمعاينة تاريخ الدردشات",
"chat.no-users-in-room": "No users in this room",
"chat.recent-chats": "آخر الدردشات",
"chat.contacts": "الأصدقاء",
"chat.message-history": "تاريخ الرسائل",
@@ -15,12 +16,22 @@
"chat.seven_days": "7 أيام",
"chat.thirty_days": "30 يومًا",
"chat.three_months": "3 أشهر",
"composer.compose": "Compose",
"chat.delete_message_confirm": "Are you sure you wish to delete this message?",
"chat.roomname": "Chat Room %1",
"chat.add-users-to-room": "Add users to room",
"composer.compose": "اكتب",
"composer.show_preview": "عرض المعاينة",
"composer.hide_preview": "إخفاء المعاينة",
"composer.user_said_in": "%1 كتب في %2",
"composer.user_said": "%1 كتب:",
"composer.discard": "هل أنت متأكد أنك تريد التخلي عن التغييرات؟",
"composer.submit_and_lock": "Submit and Lock",
"composer.toggle_dropdown": "Toggle Dropdown"
"composer.toggle_dropdown": "Toggle Dropdown",
"composer.uploading": "Uploading %1",
"bootbox.ok": "OK",
"bootbox.cancel": "إلغاء",
"bootbox.confirm": "تأكيد",
"cover.dragging_title": "Cover Photo Positioning",
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
"cover.saved": "Cover photo image and position saved"
}

View File

@@ -1,25 +1,35 @@
{
"title": "التنبيهات",
"no_notifs": "ليس لديك أية تنبيهات جديدة",
"see_all": "معاينة كل التنبيهات",
"see_all": "عرض كل التنبيهات",
"mark_all_read": "اجعل كل التنبيهات مقروءة",
"back_to_home": "عودة إلى %1",
"outgoing_link": "رابط خارجي",
"outgoing_link_message": "أنت تغادر %1 حاليا.",
"outgoing_link_message": "You are now leaving %1",
"continue_to": "استمر إلى %1",
"return_to": "عودة إى %1",
"new_notification": "تنبيه جديد",
"you_have_unread_notifications": "لديك تنبيهات غير مقروءة.",
"new_message_from": "رسالة جديدة من <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> أضاف صوتًا إيجابيا إلى مشاركتك في <strong>%2</strong>.",
"moved_your_post": "<strong>%1</strong> نقل مشاركتك.",
"moved_your_topic": "<strong>%1</strong> نقل موضوعك.",
"favourited_your_post_in": "<strong>%1</strong> أضاف مشاركتك في <strong>%2</strong> إلى مفضلته.",
"upvoted_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have upvoted your post in <strong>%3</strong>.",
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.",
"moved_your_post": "<strong>%1</strong> has moved your post to <strong>%2</strong>",
"moved_your_topic": "<strong>%1</strong> has moved <strong>%2</strong>",
"favourited_your_post_in": "<strong>%1</strong> has bookmarked your post in <strong>%2</strong>.",
"favourited_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have bookmarked your post in <strong>%3</strong>.",
"favourited_your_post_in_multiple": "<strong>%1</strong> and %2 others have bookmarked your post in <strong>%3</strong>.",
"user_flagged_post_in": "<strong>%1</strong> أشعَرَ بمشاركة مخلة في <strong>%2</strong>",
"user_flagged_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a post in <strong>%3</strong>",
"user_flagged_post_in_multiple": "<strong>%1</strong> and %2 others flagged a post in <strong>%3</strong>",
"user_posted_to": "<strong>%1</strong> أضاف ردا إلى: <strong>%2</strong>",
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
"user_posted_topic": "<strong>%1</strong> أنشأ موضوعًا جديدًا: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> ذكرَ اسمك في <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> صار يتابعك.",
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
"new_register": "<strong>%1</strong> sent a registration request.",
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",

View File

@@ -1,21 +1,46 @@
{
"home": "الصفحة الرئيسية",
"unread": "المواضيع الغير مقروءة",
"popular": "المواضيع الأكثر شهرة",
"popular-day": "Popular topics today",
"popular-week": "Popular topics this week",
"popular-month": "Popular topics this month",
"popular-alltime": "All time popular topics",
"recent": "المواضيع الحديثة",
"users": "اﻷعضاء المسجلون",
"flagged-posts": "Flagged Posts",
"users/online": "اﻷعضاء المتصلون",
"users/latest": "أحدث اﻷعضاء",
"users/sort-posts": "Users with the most posts",
"users/sort-reputation": "Users with the most reputation",
"users/banned": "Banned Users",
"users/search": "User Search",
"notifications": "التنبيهات",
"tags": "Tags",
"tags": "الكلمات الدلالية",
"tag": "Topics tagged under \"%1\"",
"user.edit": "تعديل \"%1\"",
"user.following": "المستخدمون الذين يتبعهم %1",
"user.followers": "المستخدمون الذين يتبعون %1",
"user.posts": "ردود %1",
"user.topics": "مواضيع %1",
"user.groups": "%1's Groups",
"user.favourites": "مفضلات %1",
"user.settings": "خيارات المستخدم",
"user.watched": "Topics watched by %1",
"register": "Register an account",
"login": "Login to your account",
"reset": "Reset your account password",
"categories": "الفئات",
"groups": "المجموعات",
"group": "%1 group",
"chats": "Chats",
"chat": "Chatting with %1",
"account/edit": "Editing \"%1\"",
"account/edit/password": "Editing password of \"%1\"",
"account/edit/username": "Editing username of \"%1\"",
"account/edit/email": "Editing email of \"%1\"",
"account/following": "People %1 follows",
"account/followers": "People who follow %1",
"account/posts": "Posts made by %1",
"account/topics": "Topics created by %1",
"account/groups": "%1's Groups",
"account/favourites": "%1's Bookmarked Posts",
"account/settings": "User Settings",
"account/watched": "Topics watched by %1",
"account/upvoted": "Posts upvoted by %1",
"account/downvoted": "Posts downvoted by %1",
"account/best": "Best posts made by %1",
"confirm": "Email Confirmed",
"maintenance.text": "جاري صيانة %1. المرجو العودة لاحقًا.",
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:"
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:",
"throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time."
}

View File

@@ -1,18 +1,19 @@
{
"register": "تسجيل",
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من الجمهور.",
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من العامة.",
"help.username_restrictions": "اسم مستخدم فريدة من نوعها بين1% و2% حرفا. يمكن للآخرين ذكرك @ <'span id='your-username> اسم المستخدم </span>.",
"help.minimum_password_length": "كلمتك السر يجب أن تكون على الأقل متألفة من 1% أحرف",
"help.minimum_password_length": "كلمة المرور يجب أن تكون على الأقل بها 1% أحرف",
"email_address": "عنوان البريد الإلكتروني",
"email_address_placeholder": "ادخل عنوان البريد الإلكتروني",
"username": "اسم المستخدم",
"username_placeholder": "أدخل اسم المستخدم",
"password": "كلمة السر",
"password_placeholder": "أدخل كلمة السر",
"confirm_password": "تأكيد كلمة السر",
"confirm_password_placeholder": "تأكيد كلمة السر",
"password": "كلمة المرور",
"password_placeholder": "أدخل كلمة المرور",
"confirm_password": "تأكيد كلمة المرور",
"confirm_password_placeholder": "تأكيد كلمة المرور",
"register_now_button": "قم بالتسجيل الآن",
"alternative_registration": "طريقة تسجيل بديلة",
"terms_of_use": "شروط الاستخدام",
"agree_to_terms_of_use": "أوافق على شروط الاستخدام"
"agree_to_terms_of_use": "أوافق على شروط الاستخدام",
"registration-added-to-queue": "Your registration has been added to the approval queue. You will receive an email when it is accepted by an administrator."
}

View File

@@ -1,17 +1,17 @@
{
"reset_password": "إعادة تعيين كلمة السر",
"update_password": "تحديث كلمة السر",
"password_changed.title": "تم تغير كلمة السر",
"password_changed.message": "<p>تم تغير كلمة السر بنجاح. يرجى <a href='/login'>إعادة الدخول</a></p>",
"reset_password": "إعادة تعيين كلمة المرور",
"update_password": "تحديث كلمة المرور",
"password_changed.title": "تم تغير كلمة المرور",
"password_changed.message": "<p>تم تغير كلمة المرور بنجاح، الرجاء <a href='/login'>إعادة الدخول</a></p>",
"wrong_reset_code.title": "رمز إعادة التعيين غير صحيح",
"wrong_reset_code.message": "رمز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمزا جديدا</a>",
"new_password": "كلمة السر الجديدة",
"repeat_password": "تأكيد كلمة السر",
"new_password": "كلمة المرور الجديدة",
"repeat_password": "تأكيد كلمة المرور",
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
"enter_email_address": "ادخل عنوان البريد الإلكتروني",
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود",
"password_too_short": "The password entered is too short, please pick a different password.",
"passwords_do_not_match": "The two passwords you've entered do not match.",
"password_expired": "Your password has expired, please choose a new password"
"password_too_short": "كلمة المرور التي أدخلتها قصيرة، الرجاء اختر كلمة مرور مختلفة",
"passwords_do_not_match": "كلمتا السر التي أدخلتهما غير متطابقتان",
"password_expired": "لقد انتهت صلاحية كلمة المرور الخاصة بك، الرجاء اختيار كلمة مرور جديدة"
}

View File

@@ -1,17 +1,17 @@
{
"results_matching": "%1 نتيجة (نتائج) موافقة ل \"%2\", (%3 ثواني)",
"no-matches": "No matches found",
"results_matching": "%1 نتيجة (نتائج) موافقة لـ \"%2\", (%3 ثواني)",
"no-matches": "لم يتم العثور على نتائج.",
"advanced-search": "بحث متقدم",
"in": "في",
"titles": "العناوين",
"titles-posts": "العناوين والمشاركات",
"posted-by": "Posted by",
"in-categories": "In Categories",
"search-child-categories": "Search child categories",
"reply-count": "Reply Count",
"at-least": "At least",
"at-most": "At most",
"post-time": "Post time",
"posted-by": "مشاركة من طرف",
"in-categories": "في الفئات",
"search-child-categories": "بحث في الفئات الفرعية",
"reply-count": "عدد المشاركات",
"at-least": "على اﻷقل",
"at-most": "على اﻷكثر",
"post-time": "تاريخ المشاركة",
"newer-than": "أحدث من",
"older-than": "أقدم من",
"any-date": "أي وقت",
@@ -22,19 +22,19 @@
"three-months": "ثلاثة أشهر",
"six-months": "ستة أشهر",
"one-year": "عام",
"sort-by": "Sort by",
"sort-by": "عرض حسب",
"last-reply-time": "تاريخ آخر رد",
"topic-title": "عنوان الموضوع",
"number-of-replies": "عدد الردود",
"number-of-views": "عدد المشاهدات",
"topic-start-date": "تاريخ بدأ الموضوع",
"username": "اسم المستخدم",
"category": "Category",
"descending": "In descending order",
"ascending": "In ascending order",
"category": "فئة",
"descending": "في ترتيب تنازلي",
"ascending": "في ترتيب تصاعدي",
"save-preferences": "حفظ التفضيلات",
"clear-preferences": "Clear preferences",
"clear-preferences": "ازالة التفضيلات",
"search-preferences-saved": "تم حفظ تفضيلات البحث",
"search-preferences-cleared": "Search preferences cleared",
"search-preferences-cleared": "تم ازالة تفضيلات البحث",
"show-results-as": "عرض النتائج كـ"
}

View File

@@ -1,7 +1,7 @@
{
"no_tag_topics": "لاوجود لمواضيع تحمل هذا الوسم.",
"tags": "بطاقات",
"no_tag_topics": "لا يوجد مواضيع بهذه الكلمة الدلالية.",
"tags": "الكلمات الدلالية",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "أدخل البطاقات...",
"no_tags": "لاتوجد هناك بطاقات بعد."
"enter_tags_here_short": "أدخل الكلمات الدلالية...",
"no_tags": "لا يوجد كلمات دلالية بعد."
}

View File

@@ -5,7 +5,7 @@
"no_topics_found": "لا توجد مواضيع !",
"no_posts_found": "لا توجد مشاركات!",
"post_is_deleted": "هذه المشاركة محذوفة!",
"topic_is_deleted": "This topic is deleted!",
"topic_is_deleted": "هذا الموضوع محذوف",
"profile": "الملف الشخصي",
"posted_by": "كتب من طرف %1",
"posted_by_guest": "كتب من طرف زائر",
@@ -13,6 +13,7 @@
"notify_me": "تلق تنبيهات بالردود الجديدة في هذا الموضوع",
"quote": "اقتبس",
"reply": "رد",
"reply-as-topic": "Reply as topic",
"guest-login-reply": "يجب عليك تسجيل الدخول للرد",
"edit": "تعديل",
"delete": "حذف",
@@ -25,15 +26,16 @@
"tools": "أدوات",
"flag": "تبليغ",
"locked": "مقفل",
"bookmark_instructions": "إضغط هنا للعودة إلى آخر موضع أو غلق للإلغاء",
"bookmark_instructions": "Click here to return to the last unread post in this thread.",
"flag_title": "إشعار بمشاركة مخلة.",
"flag_confirm": "هل تريد حقًّا التبليغ بهذه المشاركة؟",
"flag_success": "تم الإشعار بهذه المشاركة على أنها مخلة",
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
"not_following_topic.message": "لن تستلم أي تنبيه بخصوص عذا الموضوع بعد الآن.",
"login_to_subscribe": "المرجو إنشاء حساب أو تسجيل الدخول حتى يمكنك متابعة هذا الموضوع.",
"markAsUnreadForAll.success": "تم تحديد الموضوع على أنه غير مقروء.",
"mark_unread": "Mark unread",
"mark_unread.success": "Topic marked as unread.",
"watch": "مراقبة",
"unwatch": "الغاء المراقبة",
"watch.title": "استلم تنبيها بالردود الجديدة في هذا الموضوع",
@@ -49,6 +51,7 @@
"thread_tools.move_all": "نقل الكل",
"thread_tools.fork": "إنشاء فرع الموضوع",
"thread_tools.delete": "حذف الموضوع",
"thread_tools.delete-posts": "Delete Posts",
"thread_tools.delete_confirm": "هل أنت متأكد أنك تريد حذف هذا الموضوع؟",
"thread_tools.restore": "استعادة الموضوع",
"thread_tools.restore_confirm": "هل أنت متأكد أنك تريد استعادة هذا الموضوع؟",
@@ -62,9 +65,9 @@
"disabled_categories_note": "الفئات المعطلة رمادية",
"confirm_move": "انقل",
"confirm_fork": "فرع",
"favourite": "إضافة إلى المفضلة",
"favourites": "المفضلة",
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. أضف بعض المشاركات إلى المفضلة لرؤيتهم هنا",
"favourite": "Bookmark",
"favourites": "Bookmarks",
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.",
"loading_more_posts": "تحميل المزيد من المشاركات",
"move_topic": "نقل الموضوع",
"move_topics": "نقل المواضيع",
@@ -75,8 +78,9 @@
"fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها",
"fork_no_pids": "لم تختر أي مشاركة",
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
"composer.handle_placeholder": "Name",
"composer.handle_placeholder": "اﻹسم",
"composer.discard": "نبذ التغييرات",
"composer.submit": "حفظ",
"composer.replying_to": "الرد على %1",
@@ -96,5 +100,13 @@
"oldest_to_newest": "من الأقدم إلى الأحدث",
"newest_to_oldest": "من الأحدث إلى الأقدم",
"most_votes": "الأكثر تصويتًا",
"most_posts": "Most posts"
"most_posts": "اﻷكثر رداً",
"stale.title": "Create new topic instead?",
"stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?",
"stale.create": "Create a new topic",
"stale.reply_anyway": "Reply to this topic anyway",
"link_back": "Re: [%1](%2)",
"spam": "Spam",
"offensive": "Offensive",
"custom-flag-reason": "Enter a flagging reason"
}

View File

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

View File

@@ -6,8 +6,13 @@
"postcount": "عدد المشاركات",
"email": "البريد الإلكتروني",
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
"ban_account": "Ban Account",
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban_account": "Unban Account",
"delete_account": "حذف الحساب",
"delete_account_confirm": "هل أن متأكد أنك تريد حذف حسابك؟<br /><strong> هذه العملية غير قابلة للإلغاء ولن يكون بالإمكان استعادة بياناتك</strong><br /><br />أدخل اسم المستخدم الخاص بك لتأكيد عملية الحذف",
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"account-deleted": "Account deleted",
"fullname": "الاسم الكامل",
"website": "الموقع الإلكتروني",
"location": "الموقع",
@@ -17,21 +22,24 @@
"profile": "الملف الشخصي",
"profile_views": "عدد المشاهدات",
"reputation": "السمعة",
"favourites": "التفضيلات",
"favourites": "Bookmarks",
"watched": "متابع",
"followers": "المتابعون",
"following": "يتابع",
"aboutme": "About me",
"aboutme": "معلومة عنك او السيرة الذاتية",
"signature": "توقيع",
"gravatar": "Gravatar",
"birthday": "عيد ميلاد",
"chat": "محادثة",
"chat_with": "Chat with %1",
"follow": "تابع",
"unfollow": "إلغاء المتابعة",
"more": "المزيد",
"profile_update_success": "تم تحديث الملف الشخصي بنجاح",
"change_picture": "تغيير الصورة",
"change_username": "Change Username",
"change_email": "Change Email",
"edit": "تعديل",
"default_picture": "Default Icon",
"uploaded_picture": "الصورة المرفوعة",
"upload_new_picture": "رفع صورة جديدة",
"upload_new_picture_from_url": "رفع صورة جديدة من رابط",
@@ -46,9 +54,12 @@
"confirm_password": "تأكيد كلمة السر",
"password": "كلمة السر",
"username_taken_workaround": "اسم المستخدم الذي اخترته سبق أخذه، لذا تم تغييره قليلا. أن الآن مسجل تحت الاسم <strong>%1</strong>",
"password_same_as_username": "Your password is the same as your username, please select another password.",
"password_same_as_email": "Your password is the same as your email, please select another password.",
"upload_picture": "ارفع الصورة",
"upload_a_picture": "رفع صورة",
"image_spec": "لايمكنك رفع إلا الصور ذات الصيغ PNG أو JPG أو GIF.",
"remove_uploaded_picture": "Remove Uploaded Picture",
"upload_cover_picture": "Upload cover picture",
"settings": "خيارات",
"show_email": "أظهر بريدي الإلكتروني",
"show_fullname": "أظهر اسمي الكامل",
@@ -64,9 +75,12 @@
"settings-require-reload": "تغيير بعض اﻹعدادات يتطلب تحديث الصفحة. إضغط هنا لتحديث الصفحة",
"has_no_follower": "هذا المستخدم ليس لديه أي متابع :(",
"follows_no_one": "هذا المستخدم لا يتابع أحد :(",
"has_no_posts": "هذا المستخدم لم يكتب أي شيء بعد.",
"has_no_topics": "هذا المستخدم لم ينشئ أي موضوع بعد.",
"has_no_watched_topics": "This user didn't watch any topics yet.",
"has_no_posts": "This user hasn't posted anything yet.",
"has_no_topics": "This user hasn't posted any topics yet.",
"has_no_watched_topics": "This user hasn't watched any topics yet.",
"has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
"has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
"has_no_voted_posts": "This user has no voted posts",
"email_hidden": "البريد الإلكتروني مخفي",
"hidden": "مخفي",
"paginate_description": "Paginate topics and posts instead of using infinite scroll",
@@ -79,6 +93,15 @@
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen",
"follow_topics_you_reply_to": "متابعة المواضيع التي تقوم بالرد فيها",
"follow_topics_you_create": "متابعة المواضيع التي تنشئها",
"grouptitle": "Select the group title you would like to display",
"no-group-title": "No group title"
"grouptitle": "حدد عنوان المجموعة الذي تريد عرضه",
"no-group-title": "لا يوجد عنوان للمجموعة",
"select-skin": "Select a Skin",
"select-homepage": "Select a Homepage",
"homepage": "Homepage",
"homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.",
"custom_route": "Custom Homepage Route",
"custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")",
"sso.title": "Single Sign-on Services",
"sso.associated": "Associated with",
"sso.not-associated": "Click here to associate with"
}

View File

@@ -5,8 +5,16 @@
"search": "بحث",
"enter_username": "أدخل اسم مستخدم للبحث",
"load_more": "حمل المزيد",
"users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
"users-found-search-took": "تم إيجاد %1 مستخدمـ(ين)! استغرق البحث %2 ثانية.",
"filter-by": "Filter By",
"online-only": "المتصلون فقط",
"picture-only": "Picture only"
"invite": "دعوة",
"invitation-email-sent": "An invitation email has been sent to %1",
"user_list": "قائمة اﻷعضاء",
"recent_topics": "أحدث المواضيع",
"popular_topics": "Popular Topics",
"unread_topics": "المواضيع الغير مقروءة",
"categories": "الفئات",
"tags": "الكلمات الدلالية",
"no-users-found": "No users found!"
}

View File

@@ -1,12 +1,16 @@
{
"category": "Категория",
"subcategories": "Подкатегории",
"new_topic_button": "Нова тема",
"guest-login-post": "Влезте, за да можете да публикувате",
"no_topics": "<strong>Все още няма теми в тази категория.</strong><br />Защо не създадеш една?",
"browsing": "Разглежда",
"no_replies": "Все още никой не е отговорил",
"no_new_posts": "Няма нови публикации.",
"share_this_category": "Споделяне на тази категория",
"watch": "Следене",
"ignore": "Игнориране",
"watch.message": "Вече следите обновленията в тази категория",
"ignore.message": "Вече не следите обновленията в тази категория"
"ignore.message": "Вече не следите обновленията в тази категория",
"watched-categories": "Следени категории"
}

View File

@@ -1,11 +1,15 @@
{
"password-reset-requested": "Изпратена е заявка за подновяване на паролата %1!",
"welcome-to": "Добре дошли в %1",
"invite": "Покана от %1",
"greeting_no_name": "Здравейте",
"greeting_with_name": "Здравейте, %1",
"welcome.text1": "Благодарим Ви, че се регистрирахте с %1",
"welcome.text2": "За да активирате напълно Вашия акаунт, трябва да потвърдите е-пощата, с която сте се регистрирали.",
"welcome.text3": "Вашата заявка за регистрация беше приета от администратор. Вече можете да се впишете с Вашето потребителско име и парола.",
"welcome.cta": "Натиснете тук, за да потвърдите Вашата е-поща.",
"invitation.text1": "%1 Ви покани да се присъедините към %2",
"invitation.ctr": "Натиснете тук, за да си създадете акаунт.",
"reset.text1": "Получихме заявка за подновяване на Вашата парола, най-вероятно защото сте я забравили. Ако това не е така, моля не обръщайте внимание на това е-писмо.",
"reset.text2": "За да продължите с процедурата по подновяване на паролата, моля последвайте следната връзка:",
"reset.cta": "Натиснете тук, за да подновите паролата си",
@@ -17,9 +21,12 @@
"digest.cta": "Натиснете тук, за да посетите %1",
"digest.unsub.info": "Това резюме беше изпратено до Вас поради настройките Ви за абонаментите.",
"digest.no_topics": "Не е имало дейност по темите в последните %1",
"notif.chat.subject": "Получено е ново чат съобщение от %1",
"digest.day": "ден",
"digest.week": "месец",
"digest.month": "година",
"notif.chat.subject": "Получено е ново съобщение от %1",
"notif.chat.cta": "Натиснете тук, за да продължите разговора",
"notif.chat.unsub.info": "Това известие за чата беше изпратено до Вас поради настройките Ви за абонаментите.",
"notif.chat.unsub.info": "Това известие за разговор беше изпратено до Вас поради настройките Ви за абонаментите.",
"notif.post.cta": "Натиснете тук, за да прочетете цялата тема",
"notif.post.unsub.info": "Това известие за публикация беше изпратено до Вас поради настройките Ви за абонаментите.",
"test.text1": "Това е пробно е-писмо, за да потвърдим, че изпращачът на е-поща е правилно настроен за Вашия NodeBB.",

View File

@@ -14,16 +14,17 @@
"invalid-password": "Невалидна парола",
"invalid-username-or-password": "Моля, посочете потребителско име и парола",
"invalid-search-term": "Невалиден текст за търсене",
"invalid-pagination-value": "Невалиден номер на страница",
"invalid-pagination-value": "Грешен номер на страница, трябва да бъде между %1 и %2",
"username-taken": "Потребителското име е заето",
"email-taken": "Е-пощата е заета",
"email-not-confirmed": "Вашата е-поща все още не е потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed-chat": "Няма да можете да пишете в чата, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed-chat": "Няма да можете да пишете в разговори, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"no-email-to-confirm": "Този форум изисква потвърдена е-поща. Моля, натиснете тук, за да въведете е-поща",
"email-confirm-failed": "Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.",
"confirm-email-already-sent": "Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.",
"username-too-short": "Потребителското име е твърде кратко",
"username-too-long": "Потребителското име е твърде дълго",
"password-too-long": "Паролата е твърде дълга",
"user-banned": "Потребителят е блокиран",
"user-too-new": "Съжаляваме, но трябва да изчакате поне %1 секунда/и, преди да направите първата си публикация",
"no-category": "Категорията не съществува",
@@ -33,11 +34,9 @@
"no-user": "Потребителят не съществува",
"no-teaser": "Резюмето не съществува",
"no-privileges": "Нямате достатъчно права за това действие.",
"no-emailers-configured": "Добавките за е-поща не са заредени, така че не може да бъде изпратено пробно е-писмо",
"category-disabled": "Категорията е изключена",
"topic-locked": "Темата е заключена",
"post-edit-duration-expired": "Можете да редактирате публикациите си до %1 секунда/и, след като ги пуснете",
"still-uploading": "Моля, изчакайте качването да приключи.",
"content-too-short": "Моля, въведете по-дълъг текст на публикацията. Публикациите трябва да съдържат поне %1 символ(а).",
"content-too-long": "Моля, въведете по-кратък текст на публикацията. Публикациите трябва да съдържат не повече от %1 символ(а).",
"title-too-short": "Моля, въведете по-дълго заглавие. Заглавията трябва да съдържат поне %1 символ(а).",
@@ -46,19 +45,26 @@
"too-many-posts-newbie": "Като нов потребител, Вие можете да публикувате веднъж на %1 секунда/и, докато не натрупате %2 репутация моля, изчакайте малко, преди да опитате да публикувате отново",
"tag-too-short": "Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)",
"tag-too-long": "Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)",
"not-enough-tags": "Недостатъчно етикети. Темите трябва да имат поне %1 етикет(а)",
"too-many-tags": "Твърде много етикети. Темите не могат да имат повече от %1 етикет(а)",
"still-uploading": "Моля, изчакайте качването да приключи.",
"file-too-big": "Максималният разрешен размер на файл е %1 КБ моля, качете по-малък файл",
"cant-vote-self-post": "Не можете да гласувате за собствената си публикация",
"already-favourited": "Вече сте отбелязали тази публикация като любима",
"already-unfavourited": "Вече сте премахнали тази публикация от любимите си",
"guest-upload-disabled": "Качването не е разрешено за гости",
"already-favourited": "You have already bookmarked this post",
"already-unfavourited": "You have already unbookmarked this post",
"cant-ban-other-admins": "Не можете да блокирате другите администратори!",
"cant-remove-last-admin": "Вие сте единственият администратор. Добавете друг потребител като администратор, преди да премахнете себе си като администратор",
"invalid-image-type": "Грешен тип на изображение. Позволените типове са: %1",
"invalid-image-extension": "Грешно разширение на изображението",
"invalid-file-type": "Грешен тип на файл. Позволените типове са: %1",
"group-name-too-short": "Името на групата е твърде кратко",
"group-already-exists": "Вече съществува такава група",
"group-name-change-not-allowed": "Промяната на името на групата не е разрешено",
"group-already-member": "Вече сте част от тази група",
"group-already-member": "Вече членувате в тази група",
"group-not-member": "Не членувате в тази група",
"group-needs-owner": "Тази група се нуждае от поне един собственик",
"group-already-invited": "Този потребител вече е бил поканен",
"group-already-requested": "Вашата заявка за членство вече е била изпратена",
"post-already-deleted": "Тази публикация вече е изтрита",
"post-already-restored": "Тази публикация вече е възстановена",
"topic-already-deleted": "Тази тема вече е изтрита",
@@ -67,18 +73,29 @@
"topic-thumbnails-are-disabled": "Иконките на темите са изключени.",
"invalid-file": "Грешен файл",
"uploads-are-disabled": "Качването не е разрешено",
"signature-too-long": "Sorry, your signature cannot be longer than %1 character(s).",
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "Не можете да пишете чат съобщение на себе си!",
"chat-restricted": "Този потребител е ограничил чат съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.",
"signature-too-long": "Съжаляваме, но подписът Ви трябва да съдържа не повече от %1 символ(а).",
"about-me-too-long": "Съжаляваме, но информацията за Вас трябва да съдържа не повече от %1 символ(а).",
"cant-chat-with-yourself": "Не можете да пишете съобщение на себе си!",
"chat-restricted": "Този потребител е ограничил съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.",
"chat-disabled": "Системата за разговори е изключена",
"too-many-messages": "Изпратили сте твърде много съобщения. Моля, изчакайте малко.",
"invalid-chat-message": "Невалидно съобщение",
"chat-message-too-long": "Съобщението е твърде дълго",
"cant-edit-chat-message": "Нямате право да редактирате това съобщение",
"cant-remove-last-user": "Не можете да премахнете последния потребител",
"cant-delete-chat-message": "Нямате право да изтриете това съобщение",
"reputation-system-disabled": "Системата за репутация е изключена.",
"downvoting-disabled": "Отрицателното гласуване е изключено",
"not-enough-reputation-to-downvote": "Нямате достатъчно репутация, за да гласувате отрицателно за тази публикация",
"not-enough-reputation-to-flag": "Нямате достатъчно репутация, за да докладвате тази публикация",
"already-flagged": "Вече сте докладвали тази публикация",
"reload-failed": "NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",
"registration-error": "Грешка при регистрацията",
"parse-error": "Нещо се обърка при прочитането на отговора на сървъра",
"wrong-login-type-email": "Моля, използвайте е-пощата си, за да влезете",
"wrong-login-type-username": "Моля, използвайте потребителското си име, за да влезете"
"wrong-login-type-username": "Моля, използвайте потребителското си име, за да влезете",
"invite-maximum-met": "Вие сте поканили максимално позволения брой хора (%1 от %2).",
"no-session-found": "Не е открита сесия за вход!",
"not-in-room": "Потребителят не е в стаята",
"no-users-in-room": "No users in this room"
}

View File

@@ -9,8 +9,8 @@
"404.message": "Изглежда сте се опитали да посетите страница, която не съществува. Върнете се към <a href='%1/'>началната страница</a>.",
"500.title": "Вътрешна грешка.",
"500.message": "Опа! Изглежда нещо се обърка!",
"register": "Регистриране",
"login": "Влизане",
"register": "Регистрация",
"login": "Вход",
"please_log_in": "Моля, влезте",
"logout": "Изход",
"posting_restriction_info": "Публикуването в момента е позволено само за регистрираните потребители. Натиснете тук, за да влезете.",
@@ -22,18 +22,20 @@
"pagination.out_of": "%1 от %2",
"pagination.enter_index": "Въведете номер",
"header.admin": "Администратор",
"header.categories": "Категории",
"header.recent": "Скорошни",
"header.unread": "Непрочетени",
"header.tags": "Етикети",
"header.popular": "Популярни",
"header.users": "Потребители",
"header.groups": "Групи",
"header.chats": "Чатове",
"header.chats": "Разговори",
"header.notifications": "Известия",
"header.search": "Търсене",
"header.profile": "Профил",
"header.navigation": "Навигация",
"notifications.loading": "Зареждане на известията",
"chats.loading": "Зареждане на чатовете",
"chats.loading": "Зареждане на разговорите",
"motd.welcome": "Добре дошли в NodeBB, системата за дискусии на бъдещето.",
"previouspage": "Предишна страница",
"nextpage": "Следваща страница",
@@ -46,20 +48,24 @@
"online": "На линия",
"users": "Потребители",
"topics": "Теми",
"posts": "Публикации",
"views": "Преглеждания",
"posts": "Публ.",
"best": "Най-добри",
"upvoted": "С положителни гласове",
"downvoted": "С отрицателни гласове",
"views": "Прегл.",
"reputation": "Репутация",
"read_more": "още",
"more": "Още",
"posted_ago_by_guest": "публикувано %1 от гост",
"posted_ago_by": "публикувано %1 от %2",
"posted_ago": "публикувано %1",
"posted_in_ago_by_guest": "публикувано в %1 %2 от гост",
"posted_in_ago_by": "публикувано в %1 %2 от %3",
"posted_in": "публикувано в %1",
"posted_in_by": "публикувано в %1 от %2",
"posted_in_ago": "публикувано в %1 %2",
"replied_ago": "отговори %1",
"posted_in_ago_by": "публикувано в %1 %2 от %3",
"user_posted_ago": "%1 публикува %2",
"guest_posted_ago": "гост публикува %1",
"last_edited_by_ago": "последно редактирано от %1 %2",
"last_edited_by": "последно редактирано от %1",
"norecentposts": "Няма скорошни публикации",
"norecenttopics": "Няма скорошни теми",
"recentposts": "Скорошни публикации",
@@ -77,5 +83,12 @@
"privacy": "Поверителност",
"follow": "Следване",
"unfollow": "Прекратяване на следването",
"delete_all": "Изтриване на всичко"
"delete_all": "Изтриване на всичко",
"map": "Карта",
"sessions": "Сесии за вход",
"ip_address": "IP адрес",
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
"allowed-file-types": "Allowed file types are %1"
}

View File

@@ -6,16 +6,25 @@
"no_groups_found": "Няма групи",
"pending.accept": "Приемане",
"pending.reject": "Отхвърляне",
"cover-instructions": "Плъзнете снимка, наместете я в предпочитаната позиция и натистнете <strong>Запазване</strong>",
"cover-change": "Промяна",
"pending.accept_all": "Приемане на всички",
"pending.reject_all": "Отхвърляне на всички",
"pending.none": "В момента няма чакащи членове",
"invited.none": "В момента няма поканени членове",
"invited.uninvite": "Отмяна на поканата",
"invited.search": "Потърсете потребител, когото да поканите в тази група",
"invited.notification_title": "Вие бяхте поканен/а да се присъедините към <strong>%1</strong>",
"request.notification_title": "Заявка за членство в групата от <strong>%1</strong>",
"request.notification_text": "<strong>%1</strong> поиска да стане член на <strong>%2</strong>",
"cover-save": "Запазване",
"cover-saving": "Запазване",
"details.title": "Подробности за групата",
"details.members": "Списък на членовете",
"details.pending": "Кандидатстващи членове",
"details.invited": "Поканени членове",
"details.has_no_posts": "Членовете на тази група не са публикували нищо.",
"details.latest_posts": "Скорошни публикации",
"details.private": "Частна",
"details.disableJoinRequests": "Забраняване на заявките за присъединяване",
"details.grant": "Даване/отнемане на собственост",
"details.kick": "Изгонване",
"details.owner_options": "Администрация на групата",
@@ -31,6 +40,14 @@
"details.private_help": "Ако е включено, присъединяването към група изисква одобрението на собственика ѝ",
"details.hidden": "Скрита",
"details.hidden_help": "Ако е включено, тази група няма да бъде извеждана в списъка от групи и потребителите ще трябва да бъдат поканени лично",
"details.delete_group": "Изтриване на групата",
"event.updated": "Подробностите за групата бяха обновени",
"event.deleted": "Групата „%1“ беше изтрита"
"event.deleted": "Групата „%1“ беше изтрита",
"membership.accept-invitation": "Приемане на поканата",
"membership.invitation-pending": "Чакаща покана",
"membership.join-group": "Присъединяване към групата",
"membership.leave-group": "Напускане на групата",
"membership.reject": "Отхвърляне",
"new-group.group_name": "Име на групата:",
"upload-group-cover": "Upload group cover"
}

View File

@@ -1,26 +1,37 @@
{
"chat.chatting_with": "Чат с <span id=\"chat-with-name\"></span>",
"chat.placeholder": "Въведете чат съобщението тук и натиснете Ентер за изпращане",
"chat.chatting_with": "Разговор с <span id=\"chat-with-name\"></span>",
"chat.placeholder": "Въведете съобщението тук и натиснете Ентер за изпращане",
"chat.send": "Изпращане",
"chat.no_active": "Нямате текущи чатове.",
"chat.no_active": "Нямате текущи разговори.",
"chat.user_typing": "%1 пише...",
"chat.user_has_messaged_you": "%1 Ви написа съобщение.",
"chat.see_all": "Вижте всички чатове",
"chat.no-messages": "Моля, изберете получател, за да видите историята на чат съобщенията",
"chat.recent-chats": "Скорошни чатове",
"chat.see_all": "Вижте всички разговори",
"chat.no-messages": "Моля, изберете получател, за да видите историята на съобщенията",
"chat.no-users-in-room": "Няма потребители в тази стая",
"chat.recent-chats": "Скорошни разговори",
"chat.contacts": "Контакти",
"chat.message-history": "История на съобщенията",
"chat.pop-out": "Отделяне на чата в прозорец",
"chat.pop-out": "Отделяне на разговора в прозорец",
"chat.maximize": "Уголемяване",
"chat.seven_days": "7 дни",
"chat.thirty_days": "30 дни",
"chat.three_months": "3 месеца",
"chat.delete_message_confirm": "Сигурен/а ли сте, че искате да изтриете това съобщение?",
"chat.roomname": "Стая за разговори %1",
"chat.add-users-to-room": "Добавяне на потребители към стаята",
"composer.compose": "Писане",
"composer.show_preview": "Показване на прегледа",
"composer.hide_preview": "Скриване на прегледа",
"composer.user_said_in": "%1 каза в %2:",
"composer.user_said": "%1 каза:",
"composer.discard": "Сигурни ли сте, че искате да отхвърлите тази публикация?",
"composer.discard": "Сигурен/а ли сте, че искате да отхвърлите тази публикация?",
"composer.submit_and_lock": "Публикуване и заключване",
"composer.toggle_dropdown": "Превключване на падащото меню"
"composer.toggle_dropdown": "Превключване на падащото меню",
"composer.uploading": "Качване на %1",
"bootbox.ok": "Добре",
"bootbox.cancel": "Отказ",
"bootbox.confirm": "Потвърждаване",
"cover.dragging_title": "Наместване на снимката",
"cover.dragging_message": "Преместете снимката на желаното положение и натиснете „Запазване“",
"cover.saved": "Снимката и мястото ѝ бяха запазени"
}

View File

@@ -5,21 +5,31 @@
"mark_all_read": "Отбелязване на всички известия като прочетени",
"back_to_home": "Назад към %1",
"outgoing_link": "Външна връзка",
"outgoing_link_message": "Вие напускате %1.",
"outgoing_link_message": "Напускате %1",
"continue_to": "Продължаване към %1",
"return_to": "Връщане към %1",
"new_notification": "Ново известие",
"you_have_unread_notifications": "Имате непрочетени известия",
"new_message_from": "Ново съобщение от <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> гласува положително за Ваша публикация в <strong>%2</strong>.",
"moved_your_post": "<strong>%1</strong> премести Ваша публикация.",
"moved_your_topic": "<strong>%1</strong> премести Ваша тема.",
"favourited_your_post_in": "<strong>%1</strong> отбеляза Ваша публикация в <strong>%2</strong> като любима.",
"upvoted_your_post_in_dual": "<strong>%1</strong> и <strong>%2</strong> гласуваха положително за Ваша публикация в <strong>%3</strong>.",
"upvoted_your_post_in_multiple": "<strong>%1</strong> и %2 други гласуваха положително за Ваша публикация в <strong>%3</strong>.",
"moved_your_post": "<strong>%1</strong> премести публикацията Ви в <strong>%2</strong>",
"moved_your_topic": "<strong>%1</strong> премести <strong>%2</strong>",
"favourited_your_post_in": "<strong>%1</strong> has bookmarked your post in <strong>%2</strong>.",
"favourited_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have bookmarked your post in <strong>%3</strong>.",
"favourited_your_post_in_multiple": "<strong>%1</strong> and %2 others have bookmarked your post in <strong>%3</strong>.",
"user_flagged_post_in": "<strong>%1</strong> докладва Ваша публикация в <strong>%2</strong>",
"user_flagged_post_in_dual": "<strong>%1</strong> и <strong>%2</strong> докладваха Ваша публикация в <strong>%3</strong>",
"user_flagged_post_in_multiple": "<strong>%1</strong> и %2 други докладваха Ваша публикация в <strong>%3</strong>",
"user_posted_to": "<strong>%1</strong> публикува отговор на: <strong>%2</strong>",
"user_posted_to_dual": "<strong>%1</strong> и <strong>%2</strong> публикуваха отговори на: <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> и %2 други публикуваха отговори на: <strong>%3</strong>",
"user_posted_topic": "<strong>%1</strong> публикува нова тема: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> Ви спомена в <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> започна да Ви следва.",
"user_started_following_you_dual": "<strong>%1</strong> и <strong>%2</strong> започнаха да Ви следват.",
"user_started_following_you_multiple": "<strong>%1</strong> и %2 започнаха да Ви следват.",
"new_register": "<strong>%1</strong> изпрати заявка за регистрация.",
"email-confirmed": "Е-пощата беше потвърдена",
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",

View File

@@ -1,21 +1,46 @@
{
"home": "Начало",
"unread": "Непрочетени теми",
"popular": "Популярни теми",
"popular-day": "Популярните теми днес",
"popular-week": "Популярните теми тази седмица",
"popular-month": "Популярните теми този месец",
"popular-alltime": "Популярните теми за всички времена",
"recent": "Скорошни теми",
"users": "Регистрирани потребители",
"flagged-posts": "Докладвани публикации",
"users/online": "Потребители на линия",
"users/latest": "Последни потребители",
"users/sort-posts": "Потребители с най-много публикации",
"users/sort-reputation": "Потребители с най-висока репутация",
"users/banned": "Блокирани потребители",
"users/search": "Търсене на потребители",
"notifications": "Известия",
"tags": "Етикети",
"tag": "Теми, отбелязани като „%1“",
"user.edit": "Редактиране на „%1“",
"user.following": "Хора, които %1 следва",
"user.followers": "Хора, които следват %1",
"user.posts": "Публикации от %1",
"user.topics": "Теми, създадени от %1",
"user.groups": "Групите на %1",
"user.favourites": "Любимите публикации на %1",
"user.settings": "Настройки на потребителя",
"user.watched": "Теми, следени от %1",
"register": "Регистрирайте акаунт",
"login": "Влезте в акаунта си",
"reset": "Подновете паролата за акаунта си",
"categories": "Категории",
"groups": "Групи",
"group": "Група %1",
"chats": "Разговори",
"chat": "Разговаря с %1",
"account/edit": "Редактиране на „%1",
"account/edit/password": "Редактиране на паролата на „%1“",
"account/edit/username": "Редактиране на потребителското име на „%1“",
"account/edit/email": "Редактиране на е-пощата на „%1“",
"account/following": "Хора, които %1 следва",
"account/followers": "Хора, които следват %1",
"account/posts": "Публикации от %1",
"account/topics": "Теми, създадени от %1",
"account/groups": "Групите на %1",
"account/favourites": "%1's Bookmarked Posts",
"account/settings": "Потребителски настройки",
"account/watched": "Теми, следени от %1",
"account/upvoted": "Публикации, получили положителен глас от %1",
"account/downvoted": "Публикации, получили отрицателен глас от %1",
"account/best": "Най-добрите публикации от %1",
"confirm": "Email Confirmed",
"maintenance.text": "%1 в момента е в профилактика. Моля, върнете се по-късно.",
"maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:"
"maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:",
"throttled.text": "%1 в момента е недостъпен, поради прекомерно натоварване. Моля, върнете се отново по-късно."
}

View File

@@ -14,5 +14,6 @@
"register_now_button": "Регистриране",
"alternative_registration": "Друг начин за регистриране",
"terms_of_use": "Условия за ползване",
"agree_to_terms_of_use": "Съгласен съм с условията за ползване"
"agree_to_terms_of_use": "Съгласен съм с условията за ползване",
"registration-added-to-queue": "Вашата регистрация беше добавена в опашката за одобрение. Ще получите е-писмо, когато тя бъде одобрена от администратор."
}

View File

@@ -9,10 +9,11 @@
"profile": "Профил",
"posted_by": "Публикувано от %1",
"posted_by_guest": "Публикувано от гост",
"chat": "Чат",
"chat": "Разговор",
"notify_me": "Получавайте известия за новите отговори в тази тема",
"quote": "Цитат",
"reply": "Отговор",
"reply-as-topic": "Отговор в нова тема",
"guest-login-reply": "Влезте, за да отговорите",
"edit": "Редактиране",
"delete": "Изтриване",
@@ -25,15 +26,16 @@
"tools": "Инструменти",
"flag": "Докладване",
"locked": "Заключена",
"bookmark_instructions": "Натиснете, за да се върнете на последната си позиция или затворете, за да отхвърлите.",
"bookmark_instructions": "Натиснете тук, за да се върнете на последната непрочетена публикация в тази тема.",
"flag_title": "Докладване на тази публикация до модератор",
"flag_confirm": "Сигурни ли сте, че искате да докладвате тази публикация?",
"flag_success": "Тази публикация е била докладвана до модератор.",
"deleted_message": "Тази тема е била изтрита. Само потребители с права за управление на темите могат да я видят.",
"following_topic.message": "Вече ще получавате известия когато някой публикува коментар в тази тема.",
"not_following_topic.message": "Вече няма да получавате известия за тази тема.",
"login_to_subscribe": "Моля, регистрирайте се или влезте, за да се абонирате за тази тема.",
"markAsUnreadForAll.success": "Темата е отбелязана като непрочетена за всички.",
"mark_unread": "Отбелязване като непрочетена",
"mark_unread.success": "Темата е отбелязана като непрочетена.",
"watch": "Наблюдаване",
"unwatch": "Спиране на наблюдаването",
"watch.title": "Получавайте известия за новите отговори в тази тема",
@@ -49,22 +51,23 @@
"thread_tools.move_all": "Преместване на всички",
"thread_tools.fork": "Разделяне на темата",
"thread_tools.delete": "Изтриване на темата",
"thread_tools.delete_confirm": "Сигурни ли сте, че искате да изтриете тази тема?",
"thread_tools.delete-posts": "Изтриване на публикациите",
"thread_tools.delete_confirm": "Сигурен/а ли сте, че искате да изтриете тази тема?",
"thread_tools.restore": "Възстановяване на темата",
"thread_tools.restore_confirm": "Сигурни ли сте, че искате да възстановите тази тема?",
"thread_tools.restore_confirm": "Сигурен/а ли сте, че искате да възстановите тази тема?",
"thread_tools.purge": "Изчистване на темата",
"thread_tools.purge_confirm": "Сигурни ли сте, че искате да изчистите тази тема?",
"thread_tools.purge_confirm": "Сигурен/а ли сте, че искате да изчистите тази тема?",
"topic_move_success": "Темата беше преместена успешно в %1",
"post_delete_confirm": "Сигурни ли сте, че искате да изтриете тази публикация?",
"post_restore_confirm": "Сигурни ли сте, че искате да възстановите тази публикация?",
"post_purge_confirm": "Сигурни ли сте, че искате да изчистите тази публикация?",
"post_delete_confirm": "Сигурен/а ли сте, че искате да изтриете тази публикация?",
"post_restore_confirm": "Сигурен/а ли сте, че искате да възстановите тази публикация?",
"post_purge_confirm": "Сигурен/а ли сте, че искате да изчистите тази публикация?",
"load_categories": "Зареждане на категориите",
"disabled_categories_note": "Изключените категории са засивени",
"confirm_move": "Преместване",
"confirm_fork": "Разделяне",
"favourite": "Любима",
"favourites": "Любими",
"favourites.has_no_favourites": "Нямате любими, отбележете няколко публикации, за да ги видите тук!",
"favourite": "Bookmark",
"favourites": "Bookmarks",
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.",
"loading_more_posts": "Зареждане на още публикации",
"move_topic": "Преместване на темата",
"move_topics": "Преместване на темите",
@@ -75,6 +78,7 @@
"fork_topic_instruction": "Натиснете публикациите, които искате да отделите",
"fork_no_pids": "Няма избрани публикации!",
"fork_success": "Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.",
"delete_posts_instruction": "Натиснете публикациите, които искате да изтриете/изчистите",
"composer.title_placeholder": "Въведете заглавието на темата си тук...",
"composer.handle_placeholder": "Име",
"composer.discard": "Отхвърляне",
@@ -96,5 +100,13 @@
"oldest_to_newest": "Първо най-старите",
"newest_to_oldest": "Първо най-новите",
"most_votes": "Най-много гласове",
"most_posts": "Най-много публикации"
"most_posts": "Най-много публикации",
"stale.title": "Създаване на нова тема вместо това?",
"stale.warning": "Темата, в която отговаряте, е доста стара. Искате ли вместо това да създадете нова и да направите препратка към тази в отговора си?",
"stale.create": "Създаване на нова тема",
"stale.reply_anyway": "Отговаряне в тази тема въпреки това",
"link_back": "Отговор: [%1](%2)",
"spam": "Спам",
"offensive": "Обидно",
"custom-flag-reason": "Изберете причина за докладване"
}

View File

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

View File

@@ -6,8 +6,13 @@
"postcount": "Брой публикации",
"email": "Е-поща",
"confirm_email": "Потвърдете е-пощата",
"ban_account": "Блокиране на акаунта",
"ban_account_confirm": "Наистина ли искате да блокирате този потребител?",
"unban_account": "Отблокиране на акаунта",
"delete_account": "Изтриване на акаунта",
"delete_account_confirm": "Сигурни ли сте, че искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си</strong><br /><br />Въведете потребителското си име, за да потвърдите, че искате да унищожите този акаунт.",
"delete_account_confirm": "Сигурен/а ли сте, че искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си</strong><br /><br />Въведете потребителското си име, за да потвърдите, че искате да унищожите този акаунт.",
"delete_this_account_confirm": "Сигурен/а ли сте, че искате да изтриете този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните</strong><br /><br />",
"account-deleted": "Акаунтът е изтрит",
"fullname": "Цяло име",
"website": "Уеб сайт",
"location": "Местоположение",
@@ -17,21 +22,24 @@
"profile": "Профил",
"profile_views": "Преглеждания на профила",
"reputation": "Репутация",
"favourites": "Любими",
"favourites": "Bookmarks",
"watched": "Наблюдавани",
"followers": "Последователи",
"following": "Следва",
"aboutme": "За мен",
"signature": "Подпис",
"gravatar": "Граватар",
"birthday": "Рождена дата",
"chat": "Чат",
"chat": "Разговор",
"chat_with": "Разговор с %1",
"follow": "Следване",
"unfollow": "Спиране на следването",
"more": "Още",
"profile_update_success": "Профилът беше обновен успешно!",
"change_picture": "Промяна на снимката",
"change_username": "Промяна на потребителското име",
"change_email": "Промяна на е-пощата",
"edit": "Редактиране",
"default_picture": "Иконка по подразбиране",
"uploaded_picture": "Качена снимка",
"upload_new_picture": "Качване на нова снимка",
"upload_new_picture_from_url": "Качване на нова снимка от адрес",
@@ -45,28 +53,34 @@
"change_password_success": "Паролата ви е обновена!",
"confirm_password": "Потвърдете паролата",
"password": "Парола",
"username_taken_workaround": "Потребителското име, което искате, е заето и затова ние го променихме леко. Вие ще се наричате <strong>%1</strong>",
"username_taken_workaround": "Потребителското име, което искате, е заето и затова ние го променихме малко. Вие ще се наричате <strong>%1</strong>",
"password_same_as_username": "Паролата е същата като потребителското Ви име. Моля, изберете друга парола.",
"password_same_as_email": "Your password is the same as your email, please select another password.",
"upload_picture": "Качване на снимка",
"upload_a_picture": "Качване на снимка",
"image_spec": "Можете да качвате само PNG, JPG, или GIF файлове",
"remove_uploaded_picture": "Премахване на качената снимка",
"upload_cover_picture": "Upload cover picture",
"settings": "Настройки",
"show_email": "Да се показва е-пощата ми",
"show_fullname": "Да се показва цялото ми име",
"restrict_chats": "Разрешаване на чат съобщенията само от потребители, които следвам",
"restrict_chats": "Разрешаване на съобщенията само от потребители, които следвам",
"digest_label": "Абониране за резюмета",
"digest_description": "Абониране за новини по е-пощата относно този форум (нови известия и теми) според избрания график",
"digest_off": "Изключено",
"digest_daily": "Ежедневно",
"digest_weekly": "Ежеседмично",
"digest_monthly": "Ежемесечно",
"send_chat_notifications": "Изпращане на е-писмо, ако получа ново чат съобщения, а не съм на линия",
"send_chat_notifications": "Изпращане на е-писмо, ако получа ново съобщение в разговор, а не съм на линия",
"send_post_notifications": "Изпращане на е-писмо, когато се появи отговор в темите, за които съм абониран/а.",
"settings-require-reload": "Някои промени в настройките изискват презареждане. Натиснете тук, за да презаредите страницата.",
"has_no_follower": "Този потребител няма последователи :(",
"follows_no_one": "Този потребител не следва никого :(",
"has_no_posts": "Този потребител не е публикувал нищо все още.",
"has_no_posts": "Този потребител не е публикувал нищо досега.",
"has_no_topics": "Този потребител не е създавал теми досега.",
"has_no_watched_topics": "Този потребител не е наблюдавал нито една тема все още.",
"has_no_watched_topics": "Този потребител не е следил нито една тема досега.",
"has_no_upvoted_posts": "Този потребител не е гласувал положително досега.",
"has_no_downvoted_posts": "Този потребител не е гласувал отрицателно досега.",
"has_no_voted_posts": "Този потребител не е гласувал досега.",
"email_hidden": "Е-пощата е скрита",
"hidden": "скрито",
"paginate_description": "Разделяне на темите и публикациите на страници, вместо да се превърта безкрайно",
@@ -80,5 +94,14 @@
"follow_topics_you_reply_to": "Следване на темите, на които отговаряте",
"follow_topics_you_create": "Следване на темите, които създавате",
"grouptitle": "Изберете заглавието на групата, което искате да се показва",
"no-group-title": "Няма заглавие на група"
"no-group-title": "Няма заглавие на група",
"select-skin": "Изберете облик",
"select-homepage": "Изберете начална страница",
"homepage": "Начална страница",
"homepage_description": "Изберете страница, която да използвате като начална за форума, или „Нищо“, за да използвате тази по подразбиране.",
"custom_route": "Път до персонализираната начална страница",
"custom_route_help": "Въведете името на пътя тук, без наклонена черта пред него (пример: „recent“ или „popular“)",
"sso.title": "Услуги за еднократно вписване",
"sso.associated": "Свързан с",
"sso.not-associated": "Натиснете тук, за да свържете с"
}

View File

@@ -8,5 +8,13 @@
"users-found-search-took": "Намерени са %1 потребител(и)! Търсенето отне %2 секунди.",
"filter-by": "Филтриране",
"online-only": "Само тези на линия",
"picture-only": "Само със снимка"
"invite": "Канене",
"invitation-email-sent": "Беше изпратено е-писмо за потвърждение до %1",
"user_list": "Списък от потребители",
"recent_topics": "Скорошни теми",
"popular_topics": "Популярни теми",
"unread_topics": "Непрочетени теми",
"categories": "Категории",
"tags": "Етикети",
"no-users-found": "Няма открити потребители!"
}

View File

@@ -1,12 +1,16 @@
{
"category": "বিভাগ",
"subcategories": "উপবিভাগ",
"new_topic_button": "নতুন টপিক",
"guest-login-post": "Log in to post",
"no_topics": "<strong>এই বিভাগে কোন টপিক নেই! </strong><br /> আপনি চাইলে একটি পোষ্ট করতে পারেন।",
"guest-login-post": "উত্তর দিতে লগিন করুন",
"no_topics": "<strong>এই বিভাগে কোন আলোচনা নেই! </strong><br /> আপনি চাইলে নতুন আলোচনা শুরু করতে পারেন।",
"browsing": "ব্রাউজিং",
"no_replies": "কোন রিপ্লাই নেই",
"no_new_posts": "নতুন কোন পোস্ট নাই",
"share_this_category": "এই বিভাগটি অন্যের সাথে ভাগাভাগি করুন",
"watch": "Watch",
"watch": "নজর রাখুন",
"ignore": "উপেক্ষা করুন",
"watch.message": "You are now watching updates from this category",
"ignore.message": "You are now ignoring updates from this category"
"watch.message": "আপনি এই বিভাগটিতে নজর রাখছেন",
"ignore.message": "আপনি এই বিভাগটির উপেক্ষা করছেন ",
"watched-categories": "প্রেক্ষিত বিভাগসমূহ"
}

View File

@@ -1,27 +1,34 @@
{
"password-reset-requested": "পাসওয়ার্ড রিসেটের জন্য অনুরোধ করা হয়েছে - %1!",
"welcome-to": "%1 এ স্বাগতম",
"invite": "%1 থেকে আমন্ত্রণ",
"greeting_no_name": "স্বাগতম",
"greeting_with_name": "স্বাগতম %1",
"welcome.text1": "%1 এ নিবন্ধন করার জন্য আপনাকে ধন্যবাদ!",
"welcome.text2": "আপনার একাউন্ট এ্যাক্টিভেট করার জন্য, আপনি যে ইমেইল এড্রেস ব্যাবহার করে নিবন্ধন করেছেন তা যাচাই করতে হবে",
"welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.",
"welcome.cta": "আপনার ইমেইল এড্রেস নিশ্চিত করার জন্য এখানে ক্লিক করুন",
"invitation.text1": "%1 আপনাকে %2 তে যোগ দিতে আমন্ত্রণ জানিয়েছেন ",
"invitation.ctr": "আপনার একাউন্ট খুলতে এখানে ক্লিক করুন",
"reset.text1": "আমরা আপনার পাসওয়ার্ড রিসেট করার অনুরোধ পেয়েছি, সম্ভবত আপনি আপনার পাসওয়ার্ড ভুলে গিয়েছেন বলেই। তবে যদি তা না হয়ে থাকে, তাহলে এই মেইলকে উপেক্ষা করতে পারেন।",
"reset.text2": "পাসওয়ার্ড রিসেট করতে নিচের লিংকে ক্লিক করুন",
"reset.cta": "পাসওয়ার্ড রিসেট করতে এখানে ক্লিক করুন",
"reset.notify.subject": "Password successfully changed",
"reset.notify.text1": "We are notifying you that on %1, your password was changed successfully.",
"reset.notify.text2": "If you did not authorise this, please notify an administrator immediately.",
"reset.notify.subject": "পাসওয়ার্ড পরিবর্তন সফল হয়েছে",
"reset.notify.text1": "আপনাকে জানাচ্ছি যে %1 এ আপনার পাসওয়ার্ড পরিবর্তন হয়েছে",
"reset.notify.text2": "এটা আপনার অজান্তে হলে এখনই প্রশাসককে আবহিত করুন",
"digest.notifications": "%1 থেকে আনরিড নোটিফিকেশন আছে।",
"digest.latest_topics": "%1 এর সর্বশেষ টপিকসমূহ",
"digest.cta": "%1 ভিজিট করতে এখানে ক্লিক করুন",
"digest.unsub.info": "আপনার সাবস্ক্রীপশন সেটিংসের কারনে আপনাকে এই ডাইজেষ্টটি পাঠানো হয়েছে।",
"digest.no_topics": "%1 এ কোন সক্রিয় টপিক নেই।",
"digest.day": "day",
"digest.week": "week",
"digest.month": "month",
"notif.chat.subject": "%1 এর থেকে নতুন মেসেজ এসেছে।",
"notif.chat.cta": "কথপোকথন চালিয়ে যেতে এখানে ক্লিক করুন",
"notif.chat.unsub.info": "আপনার সাবস্ক্রীপশন সেটিংসের কারনে আপনার এই নোটিফিকেশন পাঠানো হয়েছে",
"notif.post.cta": "Click here to read the full topic",
"notif.post.unsub.info": "This post notification was sent to you due to your subscription settings.",
"notif.post.cta": "পুরো বিষয়টি পড়তে এখানে ক্লিক করুন",
"notif.post.unsub.info": "আপনার সাবস্ক্রিপশন সেটিংসের কারনে আপনার এই বার্তাটি পাঠানো হয়েছে",
"test.text1": "আপনি সঠিকভাবে নোডবিবির জন্য মেইলার সেটাপ করেছেন কিনা নিশ্চিত করার জন্য এই টেষ্ট ইমেইল পাঠানো হয়েছে",
"unsub.cta": "সেটিংসগুলো পরিবর্তন করতে এখানে ক্লিক করুন",
"closing": "ধন্যবাদ!"

View File

@@ -14,7 +14,7 @@
"invalid-password": "ভুল পাসওয়ার্ড",
"invalid-username-or-password": "অনুগ্রহ পূর্বক ইউজারনেম এবং পাসওয়ার্ড উভয়ই প্রদান করুন",
"invalid-search-term": "অগ্রহনযোগ্য সার্চ টার্ম",
"invalid-pagination-value": "ভুল পৃষ্ঠা নাম্বার",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "ইউজারনেম আগেই ব্যবহৃত",
"email-taken": "ইমেইল আগেই ব্যবহৃত",
"email-not-confirmed": "আপনার ইমেইল এড্রেস নিশ্চিত করা হয় নি, নিশ্চিত করতে এখানে ক্লিক করুন।",
@@ -24,6 +24,7 @@
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
"username-too-short": "খুব ছোট ইউজারনেম",
"username-too-long": "ইউজারনেম বড় হয়ে গিয়েছে",
"password-too-long": "Password too long",
"user-banned": "ব্যবহারকারী নিষিদ্ধ",
"user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post",
"no-category": "বিভাগটি খুজে পাওয়া যায় নি",
@@ -33,11 +34,9 @@
"no-user": "এই নামে কোন সদস্য নেই",
"no-teaser": "টিজারটি খুজে পাওয়া যায় নি",
"no-privileges": "এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই",
"no-emailers-configured": "কোন ইমেল প্লাগইন লোড করা নেই, কাজেই টেস্ট মেইল পাঠানো সম্ভব হচ্ছে না",
"category-disabled": "বিভাগটি নিষ্ক্রিয়",
"topic-locked": "টপিক বন্ধ",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"still-uploading": "আপলোড সম্পূর্ণ জন্য অনুগ্রহ করে অপেক্ষা করুন",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
@@ -46,19 +45,26 @@
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
"too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)",
"still-uploading": "আপলোড সম্পূর্ণ জন্য অনুগ্রহ করে অপেক্ষা করুন",
"file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
"cant-vote-self-post": "আপনি নিজের পোস্টে ভোট দিতে পারবেন না।",
"already-favourited": "আপনি ইতিমধ্যে এই পোষ্টটি পছন্দের তালিকায় যোগ করেছেন",
"already-unfavourited": "আপনি ইতিমধ্যে এই পোষ্টটি আপনার পছন্দের তালিকা থেকে সরিয়ে ফেলেছেন",
"guest-upload-disabled": "Guest uploading has been disabled",
"already-favourited": "You have already bookmarked this post",
"already-unfavourited": "You have already unbookmarked this post",
"cant-ban-other-admins": "আপনি অন্য এ্যাডমিনদের নিষিদ্ধ করতে পারেন না!",
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
"invalid-image-type": "Invalid image type. Allowed types are: %1",
"invalid-image-extension": "Invalid image extension",
"invalid-file-type": "Invalid file type. Allowed types are: %1",
"group-name-too-short": "গ্রুপের নাম খুব ছোট",
"group-already-exists": "গ্রুপ ইতিমধ্যেই বিদ্যমান",
"group-name-change-not-allowed": "গ্রুপের নাম পরিবর্তনের অনুমতি নেই",
"group-already-member": "You are already part of this group",
"group-already-member": "Already part of this group",
"group-not-member": "Not a member of this group",
"group-needs-owner": "This group requires at least one owner",
"group-already-invited": "This user has already been invited",
"group-already-requested": "Your membership request has already been submitted",
"post-already-deleted": "এই পোস্টটি ইতিমধ্যে ডিলিট করা হয়ে গিয়েছে",
"post-already-restored": "এই পোষ্টটি ইতিমধ্যে পুনরোদ্ধার করা হয়েছে",
"topic-already-deleted": "এই টপিকটি ইতিমধ্যে ডিলিট করা হয়েছে",
@@ -71,14 +77,25 @@
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "আপনি নিজের সাথে চ্যাট করতে পারবেন না!",
"chat-restricted": "এই সদস্য তার বার্তালাপ সংরক্ষিত রেখেছেন। এই সদস্য আপনাকে ফলো করার পরই কেবলমাত্র আপনি তার সাথে চ্যাট করতে পারবেন",
"chat-disabled": "Chat system disabled",
"too-many-messages": "You have sent too many messages, please wait awhile.",
"invalid-chat-message": "Invalid chat message",
"chat-message-too-long": "Chat message is too long",
"cant-edit-chat-message": "You are not allowed to edit this message",
"cant-remove-last-user": "You can't remove the last user",
"cant-delete-chat-message": "You are not allowed to delete this message",
"reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে",
"downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।",
"not-enough-reputation-to-downvote": "আপনার এই পোস্ট downvote করার জন্য পর্যাপ্ত সম্মাননা নেই",
"not-enough-reputation-to-flag": "এই পোষ্টকে ফ্লাগ করার জন্য আপনার পর্যাপ্ত সম্মাননা নেই",
"already-flagged": "You have already flagged this post",
"reload-failed": "\"%1\" রিলোড করতে সমস্যা হয়েছে। রিলোডের পূর্বে যা করা হয়েছিল সেটি আনডু করা সমীচীন। ",
"registration-error": "নিবন্ধন এরর!",
"parse-error": "Something went wrong while parsing server response",
"wrong-login-type-email": "Please use your email to login",
"wrong-login-type-username": "Please use your username to login"
"wrong-login-type-username": "Please use your username to login",
"invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).",
"no-session-found": "No login session found!",
"not-in-room": "User not in room",
"no-users-in-room": "No users in this room"
}

View File

@@ -22,6 +22,7 @@
"pagination.out_of": "%2 এর মাঝে %1",
"pagination.enter_index": "সূচক লিখুন",
"header.admin": "অ্যাডমিন",
"header.categories": "বিভাগ",
"header.recent": "সাম্প্রতিক",
"header.unread": "অপঠিত",
"header.tags": "ট্যাগ",
@@ -32,6 +33,7 @@
"header.notifications": "বিজ্ঞপ্তি",
"header.search": "অনুসন্ধান",
"header.profile": "প্রোফাইল",
"header.navigation": "Navigation",
"notifications.loading": "বিজ্ঞপ্তিগুলি লোড হচ্ছে",
"chats.loading": "কথোপকথনগুলি লোড হচ্ছে ",
"motd.welcome": "ভবিষ্যতের আলোচনার প্লাটফর্ম, NodeBB তে স্বাগতম।",
@@ -47,25 +49,29 @@
"users": "ব্যবহারকারীগণ",
"topics": "টপিক",
"posts": "পোস্টগুলি",
"best": "Best",
"upvoted": "Upvoted",
"downvoted": "Downvoted",
"views": "দেখেছেন",
"reputation": "সন্মাননা",
"read_more": "আরো পড়ুন",
"more": "আরো...",
"posted_ago_by_guest": "অতিথি পোস্ট করেছেন %1",
"posted_ago_by": " %1 %2 দ্বারা পোস্টকৃত",
"posted_ago": "পোস্ট করেছেন %1",
"posted_in_ago_by_guest": "%1 বিভাগে অতিথি পোস্ট করেছেন %2",
"posted_in_ago_by": "%3 %1 বিভাগে পোস্ট করেছেন %2",
"posted_in": "posted in %1",
"posted_in_by": "posted in %1 by %2",
"posted_in_ago": "%1 বিভাগে পোস্ট করা হয়েছে %2 আগে",
"replied_ago": "উত্তর দেয়া হয়েছে %1 ",
"posted_in_ago_by": "%3 %1 বিভাগে পোস্ট করেছে %2",
"user_posted_ago": "%1 পোস্ট করেছেন %2",
"guest_posted_ago": "অতিথি পোস্ট করেছেন %1",
"last_edited_by_ago": "সর্বশেষ সম্পাদনা করেছেন %1 %2",
"last_edited_by": "last edited by %1",
"norecentposts": "কোনও সাম্প্রতিক পোস্ট নেই",
"norecenttopics": "কোনও সাম্প্রতিক টপিক নেই",
"recentposts": "সাম্প্রতিক পোস্ট",
"recentips": "সাম্প্রতিক প্রবেশকৃত আইপি সমুহ",
"away": "দূরে",
"dnd": "বিরক্ত করবেন না",
"dnd": "Do not disturb",
"invisible": "অদৃশ্য",
"offline": "অফলাইন",
"email": "ইমেইল",
@@ -77,5 +83,12 @@
"privacy": "নিরাপত্তা",
"follow": "Follow",
"unfollow": "Unfollow",
"delete_all": "সব মুছে ফেলুন"
"delete_all": "সব মুছে ফেলুন",
"map": "ম্যাপ",
"sessions": "Login Sessions",
"ip_address": "IP Address",
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
"allowed-file-types": "Allowed file types are %1"
}

View File

@@ -6,16 +6,25 @@
"no_groups_found": "There are no groups to see",
"pending.accept": "Accept",
"pending.reject": "Reject",
"cover-instructions": "Drag and Drop a photo, drag to position, and hit <strong>Save</strong>",
"cover-change": "Change",
"pending.accept_all": "Accept All",
"pending.reject_all": "Reject All",
"pending.none": "There are no pending members at this time",
"invited.none": "There are no invited members at this time",
"invited.uninvite": "Rescind Invitation",
"invited.search": "Search for a user to invite to this group",
"invited.notification_title": "You have been invited to join <strong>%1</strong>",
"request.notification_title": "Group Membership Request from <strong>%1</strong>",
"request.notification_text": "<strong>%1</strong> has requested to become a member of <strong>%2</strong>",
"cover-save": "Save",
"cover-saving": "Saving",
"details.title": "গ্রুপের বিস্তারিত",
"details.members": "সদস্য তালিকা",
"details.pending": "Pending Members",
"details.invited": "Invited Members",
"details.has_no_posts": "এই গ্রুপের সদস্যরা এখনো কোন পোষ্ট করেন নি",
"details.latest_posts": "সর্বশেষ পোষ্টসমূহ",
"details.private": "Private",
"details.disableJoinRequests": "Disable join requests",
"details.grant": "Grant/Rescind Ownership",
"details.kick": "Kick",
"details.owner_options": "Group Administration",
@@ -31,6 +40,14 @@
"details.private_help": "If enabled, joining of groups requires approval from a group owner",
"details.hidden": "Hidden",
"details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
"details.delete_group": "Delete Group",
"event.updated": "Group details have been updated",
"event.deleted": "The group \"%1\" has been deleted"
"event.deleted": "The group \"%1\" has been deleted",
"membership.accept-invitation": "Accept Invitation",
"membership.invitation-pending": "Invitation Pending",
"membership.join-group": "Join Group",
"membership.leave-group": "Leave Group",
"membership.reject": "Reject",
"new-group.group_name": "Group Name:",
"upload-group-cover": "Upload group cover"
}

View File

@@ -1,7 +1,7 @@
{
"username-email": "Username / Email",
"username": "Username",
"email": "Email",
"username-email": "ইউজারনেম / ইমেইল",
"username": "ইউজারনেম",
"email": "ইমেইল",
"remember_me": "মনে রাখুন",
"forgot_password": "পাসওয়ার্ড ভুলে গিয়েছেন?",
"alternative_logins": "বিকল্প প্রবেশ",

View File

@@ -5,8 +5,9 @@
"chat.no_active": "আপনার কোন সচল কথোপকথন নেই",
"chat.user_typing": "%1 লিখছেন",
"chat.user_has_messaged_you": "%1 আপনাকে বার্তা পাঠিয়েছেন",
"chat.see_all": "সকল কথোপকথন দেখুন",
"chat.see_all": "See all chats",
"chat.no-messages": "মেসেজ হিস্টোরী দেখতে প্রাপক নির্বাচন করুন",
"chat.no-users-in-room": "No users in this room",
"chat.recent-chats": "সাম্প্রতিক চ্যাটসমূহ",
"chat.contacts": "কন্টাক্টস",
"chat.message-history": "মেসেজ হিস্টোরী",
@@ -15,6 +16,9 @@
"chat.seven_days": " দিন",
"chat.thirty_days": "৩০ দিন",
"chat.three_months": "৩ মাস",
"chat.delete_message_confirm": "Are you sure you wish to delete this message?",
"chat.roomname": "Chat Room %1",
"chat.add-users-to-room": "Add users to room",
"composer.compose": "Compose",
"composer.show_preview": "Show Preview",
"composer.hide_preview": "Hide Preview",
@@ -22,5 +26,12 @@
"composer.user_said": "%1 বলেছেনঃ",
"composer.discard": "আপনি কি নিশ্চিত যে আপনি এই পোস্ট বাতিল করতে ইচ্ছুক?",
"composer.submit_and_lock": "Submit and Lock",
"composer.toggle_dropdown": "Toggle Dropdown"
"composer.toggle_dropdown": "Toggle Dropdown",
"composer.uploading": "Uploading %1",
"bootbox.ok": "OK",
"bootbox.cancel": "Cancel",
"bootbox.confirm": "Confirm",
"cover.dragging_title": "Cover Photo Positioning",
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
"cover.saved": "Cover photo image and position saved"
}

View File

@@ -1,25 +1,35 @@
{
"title": "বিজ্ঞপ্তিগুলো",
"no_notifs": "আপনার নতুন কোন বিজ্ঞপ্তি নেই",
"see_all": "সকল বিজ্ঞপ্তিগুলো দেখুন",
"see_all": "See all notifications",
"mark_all_read": "Mark all notifications read",
"back_to_home": "ফিরুন %1",
"outgoing_link": "বহির্গামী লিঙ্ক",
"outgoing_link_message": "আপনি এখন %1 ত্যাগ করছেন",
"outgoing_link_message": "You are now leaving %1",
"continue_to": "%1 তে আগান",
"return_to": "%1 এ ফেরত যান",
"new_notification": "নতুন বিজ্ঞপ্তি",
"you_have_unread_notifications": "আপনার অপঠিত বিজ্ঞপ্তি আছে।",
"new_message_from": "<strong>%1</strong> থেকে নতুন বার্তা",
"upvoted_your_post_in": "<strong>%1</strong> , <strong>%2</strong> এ আপানার পোষ্টকে আপভোট করেছেন। ",
"moved_your_post": "<strong>%1</strong> আপনার পোষ্ট সরিয়ে নিয়েছেন। ",
"moved_your_topic": "<strong>%1</strong> আপনার টপিক সরিয়ে নিয়েছেন। ",
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"upvoted_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have upvoted your post in <strong>%3</strong>.",
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.",
"moved_your_post": "<strong>%1</strong> has moved your post to <strong>%2</strong>",
"moved_your_topic": "<strong>%1</strong> has moved <strong>%2</strong>",
"favourited_your_post_in": "<strong>%1</strong> has bookmarked your post in <strong>%2</strong>.",
"favourited_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have bookmarked your post in <strong>%3</strong>.",
"favourited_your_post_in_multiple": "<strong>%1</strong> and %2 others have bookmarked your post in <strong>%3</strong>.",
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
"user_flagged_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a post in <strong>%3</strong>",
"user_flagged_post_in_multiple": "<strong>%1</strong> and %2 others flagged a post in <strong>%3</strong>",
"user_posted_to": "<strong>%1</strong> একটি উত্তর দিয়েছেন: <strong>%2</strong>",
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong>, <strong>%2</strong> এ আপনার নাম উল্লেখ করেছেন",
"user_started_following_you": "<strong>%1</strong> আপনাকে অনুসরন করা শুরু করেছেন।",
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
"new_register": "<strong>%1</strong> sent a registration request.",
"email-confirmed": "ইমেইল নিশ্চিত করা হয়েছে",
"email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।",
"email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।",

View File

@@ -1,21 +1,46 @@
{
"home": "নীড়পাতা",
"unread": "অপঠিত টপিক",
"popular": "জনপ্রিয় টপিক",
"popular-day": "Popular topics today",
"popular-week": "Popular topics this week",
"popular-month": "Popular topics this month",
"popular-alltime": "All time popular topics",
"recent": "সাম্প্রতিক টপিক",
"users": "নিবন্ধিত সদস্যগণ",
"flagged-posts": "Flagged Posts",
"users/online": "Online Users",
"users/latest": "Latest Users",
"users/sort-posts": "Users with the most posts",
"users/sort-reputation": "Users with the most reputation",
"users/banned": "Banned Users",
"users/search": "User Search",
"notifications": "বিজ্ঞপ্তি",
"tags": "Tags",
"tags": "ট্যাগসমূহ",
"tag": "Topics tagged under \"%1\"",
"user.edit": "সম্পাদনা \"%1\"",
"user.following": "%1 যাদের অনুসরণ করেন",
"user.followers": "যারা %1 কে অনুসরণ করেন",
"user.posts": "%1 এর পোস্ট সমুহ",
"user.topics": "%1 এর টপিক সমুহ",
"user.groups": "%1's Groups",
"user.favourites": "%1'র প্রিয় পোস্টগুলো",
"user.settings": "সদস্য সেটিংস",
"user.watched": "Topics watched by %1",
"register": "Register an account",
"login": "Login to your account",
"reset": "Reset your account password",
"categories": "বিভাগ",
"groups": "Groups",
"group": "%1 group",
"chats": "Chats",
"chat": "Chatting with %1",
"account/edit": "Editing \"%1\"",
"account/edit/password": "Editing password of \"%1\"",
"account/edit/username": "Editing username of \"%1\"",
"account/edit/email": "Editing email of \"%1\"",
"account/following": "People %1 follows",
"account/followers": "People who follow %1",
"account/posts": "Posts made by %1",
"account/topics": "Topics created by %1",
"account/groups": "%1's Groups",
"account/favourites": "%1's Bookmarked Posts",
"account/settings": "User Settings",
"account/watched": "Topics watched by %1",
"account/upvoted": "Posts upvoted by %1",
"account/downvoted": "Posts downvoted by %1",
"account/best": "Best posts made by %1",
"confirm": "Email Confirmed",
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
"maintenance.messageIntro": "Additionally, the administrator has left this message:",
"throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time."
}

View File

@@ -14,5 +14,6 @@
"register_now_button": "নিবন্ধন করুন",
"alternative_registration": "বিকল্প নিবন্ধন",
"terms_of_use": "নিয়মাবলী",
"agree_to_terms_of_use": "আমি নিয়মাবলী মেনে চলতে সম্মতি জানালাম"
"agree_to_terms_of_use": "আমি নিয়মাবলী মেনে চলতে সম্মতি জানালাম",
"registration-added-to-queue": "আপনার নিবন্ধনটি এ্যাপ্লুভাল তালিকায় যুক্ত হয়েছে। একজন এডমিনিস্ট্রেটর কর্তৃক নিবন্ধন গৃহীত হলে আপনি একটি মেইল পাবেন। "
}

View File

@@ -1,40 +1,40 @@
{
"results_matching": "\"%2\" এর সাথে মিলিয়ে %1 ফলাফল পাওয়া গেছে, ( %3 seconds সময় লেগেছে )",
"no-matches": "No matches found",
"advanced-search": "Advanced Search",
"in": "In",
"titles": "Titles",
"titles-posts": "Titles and Posts",
"posted-by": "Posted by",
"in-categories": "In Categories",
"search-child-categories": "Search child categories",
"reply-count": "Reply Count",
"at-least": "At least",
"at-most": "At most",
"post-time": "Post time",
"no-matches": "কোন মিল খুঁজে পাওয়া যায় নি",
"advanced-search": "এডভান্সড সার্চ",
"in": "এর মধ্যে",
"titles": "টাইটেলস",
"titles-posts": "টাইটেল এবং পোস্ট সমূহ",
"posted-by": "পোষ্ট করেছেন",
"in-categories": "বিভাগের ভিতরে",
"search-child-categories": "উপবিভাগের ভিতরে",
"reply-count": "রিপ্লাই কাউন্ট",
"at-least": "কমপক্ষে",
"at-most": "সর্বোচ্চ",
"post-time": "পোস্টের সময়",
"newer-than": "Newer than",
"older-than": "Older than",
"any-date": "Any date",
"yesterday": "Yesterday",
"one-week": "One week",
"two-weeks": "Two weeks",
"one-month": "One month",
"three-months": "Three months",
"six-months": "Six months",
"one-year": "One year",
"sort-by": "Sort by",
"last-reply-time": "Last reply time",
"topic-title": "Topic title",
"number-of-replies": "Number of replies",
"number-of-views": "Number of views",
"topic-start-date": "Topic start date",
"username": "Username",
"category": "Category",
"descending": "In descending order",
"ascending": "In ascending order",
"save-preferences": "Save preferences",
"any-date": "যেকোন তারিখ",
"yesterday": "গতকাল",
"one-week": "এক সপ্তাহ",
"two-weeks": "দুই সপ্তাহ",
"one-month": "এক মাস",
"three-months": "তিন মাস",
"six-months": "ছয় মাস",
"one-year": "এক বছর",
"sort-by": "সাজানোর ভিত্তি",
"last-reply-time": "সর্বশেষ রিপ্লাইয়ের সময়",
"topic-title": "টপিকের টাইটেল",
"number-of-replies": "রিপ্লাইয়ের সংখ্যা",
"number-of-views": "সর্বমোট ভিউ",
"topic-start-date": "টপিক শুরুর তারিখ",
"username": "ইউজারনেম",
"category": "বিভাগ",
"descending": "বড় থেকে ছোট অর্ডারে",
"ascending": "ছোট থেকে বড় অর্ডারে",
"save-preferences": "প্রেফারেন্স সেভ",
"clear-preferences": "Clear preferences",
"search-preferences-saved": "Search preferences saved",
"search-preferences-cleared": "Search preferences cleared",
"show-results-as": "Show results as"
"show-results-as": "ফলাফল দেখানো হোক : "
}

View File

@@ -13,6 +13,7 @@
"notify_me": "এই টপিকে নতুন উত্তর আসলে জানুন",
"quote": "উদ্ধৃতি",
"reply": "উত্তর",
"reply-as-topic": "Reply as topic",
"guest-login-reply": "Log in to reply",
"edit": "সম্পাদণা",
"delete": "মুছে ফেলুন",
@@ -25,15 +26,16 @@
"tools": "টুলস",
"flag": "ফ্ল্যাগ",
"locked": "বন্ধ",
"bookmark_instructions": "আপনার সর্বশেষ অবস্থানে ফিরে যাবার জন্য এখানে ক্লিক করুন অথবা অগ্রাহ্য করতে চাইলে বন্ধ করুন",
"bookmark_instructions": "Click here to return to the last unread post in this thread.",
"flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন",
"flag_confirm": "আপনি কি নিশ্চিত যে এই পোস্টটিকে আপনি ফ্ল্যাগ করতে চান? ",
"flag_success": "এই পোস্টটি মডারেশনের জন্য ফ্ল্যাগ করা হয়েছে।",
"deleted_message": "এই টপিকটি মুছে ফেলা হয়েছে। শুধুমাত্র টপিক ব্যবস্থাপনার ক্ষমতাপ্রাপ্ত সদস্যগণ এটি দেখতে পারবেন।",
"following_topic.message": "এখন থেকে এই টপিকে অন্যকেউ পোস্ট করলে আপনি নোটিফিকেশন পাবেন।",
"not_following_topic.message": "এই টপিক থেকে আপনি আর নোটিফিকেশন পাবেন না।",
"login_to_subscribe": "এই টপিকে সাবস্ক্রাইব করতে চাইলে অনুগ্রহ করে নিবন্ধণ করুন অথবা প্রবেশ করুন।",
"markAsUnreadForAll.success": "টপিকটি সবার জন্য অপঠিত হিসাবে মার্ক করুন।",
"mark_unread": "Mark unread",
"mark_unread.success": "Topic marked as unread.",
"watch": "দেখা",
"unwatch": "অদেখা",
"watch.title": "এই টপিকে নতুন উত্তর এলে বিজ্ঞাপণের মাধ্যমে জানুন।",
@@ -49,6 +51,7 @@
"thread_tools.move_all": "সমস্ত টপিক সরান",
"thread_tools.fork": "টপিক ফর্ক করুন",
"thread_tools.delete": "টপিক মুছে ফেলুন",
"thread_tools.delete-posts": "Delete Posts",
"thread_tools.delete_confirm": "আপনি নিশ্চিত যে আপনি এই টপিকটি মুছে ফেলতে চান?",
"thread_tools.restore": "টপিক পুনরূদ্ধার করুন",
"thread_tools.restore_confirm": "আপনি নিশ্চিত যে আপনি টপিকটি পুনরূদ্ধার করতে চান?",
@@ -62,9 +65,9 @@
"disabled_categories_note": "নিস্ক্রীয় ক্যাটাগরীসমূহ ধূসর কালিতে লেখা রয়েছে। ",
"confirm_move": "সরান",
"confirm_fork": "ফর্ক",
"favourite": "পছন্দ",
"favourites": "পছন্দতালিকা",
"favourites.has_no_favourites": "আপনার যদি কোন পছন্দের পোষ্ট না থেকে থাকে তাহলে কিছু পোষ্ট ফেভারিট করা হলে সেগুলো এখানে দেখতে পাবেন।",
"favourite": "Bookmark",
"favourites": "Bookmarks",
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.",
"loading_more_posts": "আরো পোষ্ট লোড করা হচ্ছে",
"move_topic": "টপিক সরান",
"move_topics": "টপিক সমূহ সরান",
@@ -75,6 +78,7 @@
"fork_topic_instruction": "যে পোষ্টটি ফর্ক করতে চান সেটি ক্লিক করুন",
"fork_no_pids": "কোন পোষ্ট সিলেক্ট করা হয় নি",
"fork_success": "টপিক ফর্ক করা হয়েছে। ফর্ক করা টপিকে যেতে এখানে ক্লিক করুন",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন",
"composer.handle_placeholder": "Name",
"composer.discard": "বাতিল",
@@ -96,5 +100,13 @@
"oldest_to_newest": "পুরাতন থেকে নতুন",
"newest_to_oldest": "নতুন থেকে পুরাতন",
"most_votes": "সর্বোচ্চ ভোট",
"most_posts": "Most posts"
"most_posts": "Most posts",
"stale.title": "Create new topic instead?",
"stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?",
"stale.create": "Create a new topic",
"stale.reply_anyway": "Reply to this topic anyway",
"link_back": "Re: [%1](%2)",
"spam": "Spam",
"offensive": "Offensive",
"custom-flag-reason": "Enter a flagging reason"
}

View File

@@ -5,5 +5,6 @@
"mark_as_read": "পঠিত হিসেবে চিহ্নিত করুন",
"selected": "নির্বাচিত",
"all": "সবগুলো",
"all_categories": "All categories",
"topics_marked_as_read.success": "পঠিত হিসেবে চিহ্নিত টপিকসমূহ"
}

View File

@@ -2,12 +2,17 @@
"banned": "নিষিদ্ধ",
"offline": "অফলাইন",
"username": "সদস্যের নাম",
"joindate": "Join Date",
"postcount": "Post Count",
"joindate": "নিবন্ধন তারিখ",
"postcount": "সর্বমোট পোষ্ট",
"email": "ইমেইল",
"confirm_email": "ইমেইল নিশ্চিত করুন",
"ban_account": "একাউন্ট নিষিদ্ধ করুন",
"ban_account_confirm": "আপনি কি নিশ্চিত যে এই সদস্যকে নিষিদ্ধ করতে চান ?",
"unban_account": "নিষেদ্ধাজ্ঞা তুলে নিন",
"delete_account": "একাউন্ট মুছে ফেলুন",
"delete_account_confirm": "আপনি কি নিশ্চিত যে আপনি আপনার একাউন্ট মুছে ফেলতে চান ? <br /><strong>এই কাজটির ফলে আপনার কোন তথ্য পুনরূদ্ধার করা সম্ভব নয় </strong><br /><br /> নিশ্চিত করতে আপনার ইউজারনেম প্রবেশ করান। ",
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"account-deleted": "একাউন্ট মুছে ফেলা হয়েছে",
"fullname": "পুর্ণ নাম",
"website": "ওয়েবসাইট",
"location": "স্থান",
@@ -17,21 +22,24 @@
"profile": "প্রোফাইল",
"profile_views": "প্রোফাইল দেখেছেন",
"reputation": "সন্মাননা",
"favourites": "পছন্দের তালিকা",
"watched": "Watched",
"favourites": "Bookmarks",
"watched": "দেখা হয়েছে",
"followers": "যাদের অনুসরণ করছেন",
"following": "যারা আপনাকে অনুসরণ করছে",
"aboutme": "About me",
"aboutme": "আমার সম্পর্কে: ",
"signature": "স্বাক্ষর",
"gravatar": "গ্রাভাতার",
"birthday": "জন্মদিন",
"chat": "বার্তালাপ",
"chat_with": "চ্যাট উইথ %1",
"follow": "অনুসরন করুন",
"unfollow": "অনুসরন করা থেকে বিরত থাকুন",
"more": "More",
"more": "আরো...",
"profile_update_success": "প্রোফাইল আপডেট সফল হয়েছে",
"change_picture": "ছবি পরিবর্তন",
"change_username": "ইউজারনেম পরিবর্তন করুন",
"change_email": "ইমেইল পরিবর্তন করুন",
"edit": "সম্পাদনা",
"default_picture": "ডিফল্ট আইকন",
"uploaded_picture": "ছবি আপলোড করুন",
"upload_new_picture": "নতুন ছবি আপলোড করুন",
"upload_new_picture_from_url": "URL থেকে নতুন ছবি আপলোড করুন",
@@ -46,9 +54,12 @@
"confirm_password": "পাসওয়ার্ড নিশ্চিত করুন",
"password": "পাসওয়ার্ড",
"username_taken_workaround": "আপনি যে ইউজারনেম চাচ্ছিলেন সেটি ইতিমধ্যে নেয়া হয়ে গেছে, কাজেই আমরা এটি কিঞ্চিং পরিবর্তন করেছি। আপনি এখন <strong>%1</strong> হিসেবে পরিচিত",
"password_same_as_username": "Your password is the same as your username, please select another password.",
"password_same_as_email": "Your password is the same as your email, please select another password.",
"upload_picture": "ছবি আপলোড করুন",
"upload_a_picture": "ছবি (একটি) আপলোড করুন",
"image_spec": "আপনি কেবলমাত্র PNG, JPG অথবা GIF ফাইল আপলোড করতে পারবেন",
"remove_uploaded_picture": "আপলোড করা ছবিটি সরিয়ে নাও",
"upload_cover_picture": "Upload cover picture",
"settings": "সেটিংস",
"show_email": "আমার ইমেইল দেখাও",
"show_fullname": "আমার সম্পূর্ণ নাম দেখাও",
@@ -60,25 +71,37 @@
"digest_weekly": "সাপ্তাহিক",
"digest_monthly": "মাসিক",
"send_chat_notifications": "যদি আমি অনলাইনে না থাকি, সেক্ষেত্রে নতুন চ্যাট মেসেজ আসলে আমাকে ইমেইল করুন",
"send_post_notifications": "Send an email when replies are made to topics I am subscribed to",
"settings-require-reload": "Some setting changes require a reload. Click here to reload the page.",
"send_post_notifications": "আমার সাবস্ক্রাইব করা টপিকগুলোতে রিপ্লাই করা হলে আমাকে মেইল করা হোক",
"settings-require-reload": "কিছু কিছু পরিবর্তনের জন্য রিলোড করা আবশ্যক। পেজটি রিলোড করতে এখানে ক্লিক করুন",
"has_no_follower": "এই সদস্যের কোন ফলোয়ার নেই :(",
"follows_no_one": "এই সদস্য কাউকে ফলো করছেন না :(",
"has_no_posts": "এই সদস্য এখন কোন পো্ট করেন নি",
"has_no_topics": "এই সদস্য এখনো কোন টপিক পোষ্ট করেন নি",
"has_no_watched_topics": "This user didn't watch any topics yet.",
"has_no_posts": "এই সদস্য এখন পর্যন্ত কোন পো্ট করেন নি",
"has_no_topics": "এই সদস্য এখনো কোন টপিক করেন নি",
"has_no_watched_topics": "এই সদস্য এখনো কোন টপিক দেখেন নি",
"has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
"has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
"has_no_voted_posts": "This user has no voted posts",
"email_hidden": "ইমেইল গোপন রাখা হয়েছে",
"hidden": "গোপন করা হয়েছে",
"paginate_description": "Paginate topics and posts instead of using infinite scroll",
"paginate_description": "ইনফাইনাইট স্ক্রলের বদলে টপিক ও পোস্টের জন্য পেজিনেশন ব্যাবহার করা হোক",
"topics_per_page": "প্রতি পেজে কতগুলো টপিক থাকবে",
"posts_per_page": "প্রতি পেইজে কতগুলো পোষ্ট থাকবে",
"notification_sounds": "Play a sound when you receive a notification",
"notification_sounds": "নোটিফিকেশনের জন্য নোটিফিকেশন সাউন্ড এনাবল করুন",
"browsing": "Browsing সেটিংস",
"open_links_in_new_tab": "Open outgoing links in new tab",
"open_links_in_new_tab": "আউটগোয়িং লিংকগুলো নতুন ট্যাবে খুলুন",
"enable_topic_searching": "In-Topic সার্চ সক্রীয় করো",
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen",
"follow_topics_you_reply_to": "Follow topics that you reply to",
"follow_topics_you_create": "Follow topics you create",
"grouptitle": "Select the group title you would like to display",
"no-group-title": "No group title"
"no-group-title": "No group title",
"select-skin": "Select a Skin",
"select-homepage": "Select a Homepage",
"homepage": "Homepage",
"homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.",
"custom_route": "Custom Homepage Route",
"custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")",
"sso.title": "Single Sign-on Services",
"sso.associated": "Associated with",
"sso.not-associated": "Click here to associate with"
}

View File

@@ -5,8 +5,16 @@
"search": "খুঁজুন",
"enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন",
"load_more": "আরো লোড করুন",
"users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
"filter-by": "Filter By",
"online-only": "Online only",
"picture-only": "Picture only"
"users-found-search-took": "%1 জন সদস্য(দের) খুঁজে পাওয়া গেছে। খুঁজতে সময় লেগেছে %2 সেকেন্ড ",
"filter-by": "ফিল্টার করার ধরন",
"online-only": "শুধুমাত্র অনলাইন",
"invite": "ইনভাইট",
"invitation-email-sent": "%1 কে একটি ইনভাইটেশন ইমেইল পাঠানো হয়েছে",
"user_list": "সদস্য তালিকা",
"recent_topics": "সাম্প্রতিক টপিক",
"popular_topics": "জনপ্রিয় টপিক",
"unread_topics": "অপঠিত টপিক",
"categories": "বিভাগ",
"tags": "ট্যাগসমূহ",
"no-users-found": "No users found!"
}

View File

@@ -1,12 +1,16 @@
{
"category": "Category",
"subcategories": "Subcategories",
"new_topic_button": "Nové téma",
"guest-login-post": "Log in to post",
"no_topics": "<strong>V této kategorii zatím nejsou žádné příspěvky.</strong><br />Můžeš být první!",
"browsing": "prohlíží",
"no_replies": "Nikdo ještě neodpověděl",
"no_new_posts": "No new posts.",
"share_this_category": "Share this category",
"watch": "Watch",
"ignore": "Ignorovat",
"watch.message": "You are now watching updates from this category",
"ignore.message": "You are now ignoring updates from this category"
"ignore.message": "You are now ignoring updates from this category",
"watched-categories": "Watched categories"
}

View File

@@ -1,11 +1,15 @@
{
"password-reset-requested": "Požadována obnova hesla - %1!",
"welcome-to": "Vítejte v %1",
"invite": "Invitation from %1",
"greeting_no_name": "Dobrý den",
"greeting_with_name": "Dobrý den %1",
"welcome.text1": "Děkujeme vám za registraci s %1!",
"welcome.text2": "Pro úplnou aktivaci vašeho účtu potřebujeme ověřit vaší emailovou adresu.",
"welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.",
"welcome.cta": "Klikněte zde pro potvrzení vaší emailové adresy",
"invitation.text1": "%1 has invited you to join %2",
"invitation.ctr": "Click here to create your account.",
"reset.text1": "Obdrželi jsme požadavek na obnovu hesla, pravděpodobně kvůli tomu, že jste ho zapomněli. Pokud to není tento případ, ignorujte, prosím, tento email.",
"reset.text2": "Přejete-li si pokračovat v obnově vašeho hesla, klikněte, prosím, na následující odkaz:",
"reset.cta": "Klikněte zde, chcete-li obnovit vaše heslo",
@@ -17,6 +21,9 @@
"digest.cta": "Kliknutím zde navštívíte %1",
"digest.unsub.info": "Tento výtah vám byl odeslán, protože jste si to nastavili ve vašich odběrech.",
"digest.no_topics": "Dosud tu nebyly žádné aktivní témata %1",
"digest.day": "day",
"digest.week": "week",
"digest.month": "month",
"notif.chat.subject": "Nová zpráva z chatu od %1",
"notif.chat.cta": "Chcete-li pokračovat v konverzaci, klikněte zde.",
"notif.chat.unsub.info": "Toto oznámení z chatu vám bylo zasláno, protože jste si to nastavili ve vašich odběrech.",

View File

@@ -14,7 +14,7 @@
"invalid-password": "Neplatné heslo",
"invalid-username-or-password": "Stanovte, prosím, oboje, jak uživatelské jméno, tak heslo",
"invalid-search-term": "Neplatný výraz pro vyhledávání",
"invalid-pagination-value": "Neplatná hodnota pro stránkování",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Uživatelské jméno je již použito",
"email-taken": "Email je již použit",
"email-not-confirmed": "Vaše emailová adresa zatím nebyla potvrzena. Kliknutím zde svůj email potvrdíte.",
@@ -24,6 +24,7 @@
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
"username-too-short": "Uživatelské jméno je příliš krátké",
"username-too-long": "Uživatelské jméno je příliš dlouhé",
"password-too-long": "Password too long",
"user-banned": "Uživatel byl zakázán",
"user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post",
"no-category": "Kategorie neexistuje",
@@ -33,11 +34,9 @@
"no-user": "Uživatel neexistuje",
"no-teaser": "Teaser does not exist",
"no-privileges": "Na tuto akci nemáte dostatečná práva",
"no-emailers-configured": "Protože není zaveden žádný emailový plugin, není možné odeslat testovací email.",
"category-disabled": "Kategorie zakázána",
"topic-locked": "Téma uzamčeno",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"still-uploading": "Vyčkejte, prosím, nežli se vše kompletně nahraje.",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
@@ -46,19 +45,26 @@
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
"too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)",
"still-uploading": "Vyčkejte, prosím, nežli se vše kompletně nahraje.",
"file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
"cant-vote-self-post": "Nemůžete hlasovat pro svůj vlastní příspěvek",
"already-favourited": "You have already favourited this post",
"already-unfavourited": "You have already unfavourited this post",
"guest-upload-disabled": "Guest uploading has been disabled",
"already-favourited": "You have already bookmarked this post",
"already-unfavourited": "You have already unbookmarked this post",
"cant-ban-other-admins": "Nemůžete zakazovat ostatní administrátory!",
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
"invalid-image-type": "Invalid image type. Allowed types are: %1",
"invalid-image-extension": "Invalid image extension",
"invalid-file-type": "Invalid file type. Allowed types are: %1",
"group-name-too-short": "Název skupiny je příliš krátký",
"group-already-exists": "Skupina už exstuje",
"group-name-change-not-allowed": "Změna názvu skupiny není povolena",
"group-already-member": "You are already part of this group",
"group-already-member": "Already part of this group",
"group-not-member": "Not a member of this group",
"group-needs-owner": "This group requires at least one owner",
"group-already-invited": "This user has already been invited",
"group-already-requested": "Your membership request has already been submitted",
"post-already-deleted": "Tento příspěvek byl již vymazán",
"post-already-restored": "Tento příspěvek byl již obnoven",
"topic-already-deleted": "Toto téma bylo již vymazáno",
@@ -71,14 +77,25 @@
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "Nemůžete chatovat sami se sebou!",
"chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them",
"chat-disabled": "Chat system disabled",
"too-many-messages": "You have sent too many messages, please wait awhile.",
"invalid-chat-message": "Invalid chat message",
"chat-message-too-long": "Chat message is too long",
"cant-edit-chat-message": "You are not allowed to edit this message",
"cant-remove-last-user": "You can't remove the last user",
"cant-delete-chat-message": "You are not allowed to delete this message",
"reputation-system-disabled": "Systém reputací je zakázán.",
"downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
"already-flagged": "You have already flagged this post",
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading.",
"registration-error": "Chyba při registraci",
"parse-error": "Something went wrong while parsing server response",
"wrong-login-type-email": "Please use your email to login",
"wrong-login-type-username": "Please use your username to login"
"wrong-login-type-username": "Please use your username to login",
"invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).",
"no-session-found": "No login session found!",
"not-in-room": "User not in room",
"no-users-in-room": "No users in this room"
}

View File

@@ -22,6 +22,7 @@
"pagination.out_of": "%1 z %2",
"pagination.enter_index": "Enter index",
"header.admin": "Administrace",
"header.categories": "Categories",
"header.recent": "Aktuality",
"header.unread": "Nepřečtené",
"header.tags": "Tagy",
@@ -32,6 +33,7 @@
"header.notifications": "Oznámení",
"header.search": "Hledat",
"header.profile": "Můj profil",
"header.navigation": "Navigation",
"notifications.loading": "Načítání upozornění",
"chats.loading": "Načítání grafů",
"motd.welcome": "Vítejte na NodeBB, diskusní platforma buducnosti.",
@@ -47,25 +49,29 @@
"users": "Uživatelé",
"topics": "Témata",
"posts": "Příspěvky",
"best": "Best",
"upvoted": "Upvoted",
"downvoted": "Downvoted",
"views": "Zobrazení",
"reputation": "Reputation",
"read_more": "read more",
"more": "More",
"posted_ago_by_guest": "posted %1 by Guest",
"posted_ago_by": "posted %1 by %2",
"posted_ago": "posted %1",
"posted_in_ago_by_guest": "posted in %1 %2 by Guest",
"posted_in_ago_by": "posted in %1 %2 by %3",
"posted_in": "posted in %1",
"posted_in_by": "posted in %1 by %2",
"posted_in_ago": "posted in %1 %2",
"replied_ago": "replied %1",
"posted_in_ago_by": "posted in %1 %2 by %3",
"user_posted_ago": "%1 posted %2",
"guest_posted_ago": "Guest posted %1",
"last_edited_by_ago": "last edited by %1 %2",
"last_edited_by": "last edited by %1",
"norecentposts": "Žádné nedávné příspěvky",
"norecenttopics": "Žádné nedávné témata",
"recentposts": "Nedávné příspěvky",
"recentips": "Recently Logged In IPs",
"away": "Pryč",
"dnd": "Nerušit",
"dnd": "Do not disturb",
"invisible": "Neviditelný",
"offline": "Offline",
"email": "Email",
@@ -77,5 +83,12 @@
"privacy": "Privacy",
"follow": "Follow",
"unfollow": "Unfollow",
"delete_all": "Vymazat vše"
"delete_all": "Vymazat vše",
"map": "Map",
"sessions": "Login Sessions",
"ip_address": "IP Address",
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
"allowed-file-types": "Allowed file types are %1"
}

View File

@@ -6,16 +6,25 @@
"no_groups_found": "There are no groups to see",
"pending.accept": "Accept",
"pending.reject": "Reject",
"cover-instructions": "Drag and Drop a photo, drag to position, and hit <strong>Save</strong>",
"cover-change": "Change",
"pending.accept_all": "Accept All",
"pending.reject_all": "Reject All",
"pending.none": "There are no pending members at this time",
"invited.none": "There are no invited members at this time",
"invited.uninvite": "Rescind Invitation",
"invited.search": "Search for a user to invite to this group",
"invited.notification_title": "You have been invited to join <strong>%1</strong>",
"request.notification_title": "Group Membership Request from <strong>%1</strong>",
"request.notification_text": "<strong>%1</strong> has requested to become a member of <strong>%2</strong>",
"cover-save": "Save",
"cover-saving": "Saving",
"details.title": "podrobnosti skupiny",
"details.members": "Seznam členů",
"details.pending": "Pending Members",
"details.invited": "Invited Members",
"details.has_no_posts": "Členové této skupiny dosud neodeslali ani jeden příspěvek.",
"details.latest_posts": "Nejnovější příspěvky",
"details.private": "Private",
"details.disableJoinRequests": "Disable join requests",
"details.grant": "Grant/Rescind Ownership",
"details.kick": "Kick",
"details.owner_options": "Group Administration",
@@ -31,6 +40,14 @@
"details.private_help": "If enabled, joining of groups requires approval from a group owner",
"details.hidden": "Hidden",
"details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
"details.delete_group": "Delete Group",
"event.updated": "Group details have been updated",
"event.deleted": "The group \"%1\" has been deleted"
"event.deleted": "The group \"%1\" has been deleted",
"membership.accept-invitation": "Accept Invitation",
"membership.invitation-pending": "Invitation Pending",
"membership.join-group": "Join Group",
"membership.leave-group": "Leave Group",
"membership.reject": "Reject",
"new-group.group_name": "Group Name:",
"upload-group-cover": "Upload group cover"
}

View File

@@ -5,8 +5,9 @@
"chat.no_active": "Nemáte žádné aktivní konverzace.",
"chat.user_typing": "%1 píše ...",
"chat.user_has_messaged_you": "%1 has messaged you.",
"chat.see_all": "See all Chats",
"chat.see_all": "See all chats",
"chat.no-messages": "Please select a recipient to view chat message history",
"chat.no-users-in-room": "No users in this room",
"chat.recent-chats": "Recent Chats",
"chat.contacts": "Kontakty",
"chat.message-history": "Historie zpráv",
@@ -15,6 +16,9 @@
"chat.seven_days": "7 dní",
"chat.thirty_days": "30 dní",
"chat.three_months": "3 měsíce",
"chat.delete_message_confirm": "Are you sure you wish to delete this message?",
"chat.roomname": "Chat Room %1",
"chat.add-users-to-room": "Add users to room",
"composer.compose": "Compose",
"composer.show_preview": "Show Preview",
"composer.hide_preview": "Hide Preview",
@@ -22,5 +26,12 @@
"composer.user_said": "%1 said:",
"composer.discard": "Are you sure you wish to discard this post?",
"composer.submit_and_lock": "Submit and Lock",
"composer.toggle_dropdown": "Toggle Dropdown"
"composer.toggle_dropdown": "Toggle Dropdown",
"composer.uploading": "Uploading %1",
"bootbox.ok": "OK",
"bootbox.cancel": "Cancel",
"bootbox.confirm": "Confirm",
"cover.dragging_title": "Cover Photo Positioning",
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
"cover.saved": "Cover photo image and position saved"
}

View File

@@ -1,25 +1,35 @@
{
"title": "Upozornění",
"no_notifs": "You have no new notifications",
"see_all": "See all Notifications",
"see_all": "See all notifications",
"mark_all_read": "Mark all notifications read",
"back_to_home": "Back to %1",
"outgoing_link": "Odkaz mimo fórum",
"outgoing_link_message": "You are now leaving %1.",
"outgoing_link_message": "You are now leaving %1",
"continue_to": "Continue to %1",
"return_to": "Return to %1",
"new_notification": "New Notification",
"you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "New message from <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
"moved_your_post": "<strong>%1</strong> has moved your post.",
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"upvoted_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have upvoted your post in <strong>%3</strong>.",
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.",
"moved_your_post": "<strong>%1</strong> has moved your post to <strong>%2</strong>",
"moved_your_topic": "<strong>%1</strong> has moved <strong>%2</strong>",
"favourited_your_post_in": "<strong>%1</strong> has bookmarked your post in <strong>%2</strong>.",
"favourited_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have bookmarked your post in <strong>%3</strong>.",
"favourited_your_post_in_multiple": "<strong>%1</strong> and %2 others have bookmarked your post in <strong>%3</strong>.",
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
"user_flagged_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a post in <strong>%3</strong>",
"user_flagged_post_in_multiple": "<strong>%1</strong> and %2 others flagged a post in <strong>%3</strong>",
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
"new_register": "<strong>%1</strong> sent a registration request.",
"email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",

View File

@@ -1,21 +1,46 @@
{
"home": "Home",
"unread": "Unread Topics",
"popular": "Popular Topics",
"popular-day": "Popular topics today",
"popular-week": "Popular topics this week",
"popular-month": "Popular topics this month",
"popular-alltime": "All time popular topics",
"recent": "Recent Topics",
"users": "Registered Users",
"flagged-posts": "Flagged Posts",
"users/online": "Online Users",
"users/latest": "Latest Users",
"users/sort-posts": "Users with the most posts",
"users/sort-reputation": "Users with the most reputation",
"users/banned": "Banned Users",
"users/search": "User Search",
"notifications": "Notifications",
"tags": "Tags",
"tag": "Topics tagged under \"%1\"",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.posts": "Posts made by %1",
"user.topics": "Topics created by %1",
"user.groups": "%1's Groups",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings",
"user.watched": "Topics watched by %1",
"register": "Register an account",
"login": "Login to your account",
"reset": "Reset your account password",
"categories": "Categories",
"groups": "Groups",
"group": "%1 group",
"chats": "Chats",
"chat": "Chatting with %1",
"account/edit": "Editing \"%1\"",
"account/edit/password": "Editing password of \"%1\"",
"account/edit/username": "Editing username of \"%1\"",
"account/edit/email": "Editing email of \"%1\"",
"account/following": "People %1 follows",
"account/followers": "People who follow %1",
"account/posts": "Posts made by %1",
"account/topics": "Topics created by %1",
"account/groups": "%1's Groups",
"account/favourites": "%1's Bookmarked Posts",
"account/settings": "User Settings",
"account/watched": "Topics watched by %1",
"account/upvoted": "Posts upvoted by %1",
"account/downvoted": "Posts downvoted by %1",
"account/best": "Best posts made by %1",
"confirm": "Email Confirmed",
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
"maintenance.messageIntro": "Additionally, the administrator has left this message:",
"throttled.text": "%1 is currently unavailable due to excessive load. Please come back another time."
}

View File

@@ -14,5 +14,6 @@
"register_now_button": "Zaregistrovat se",
"alternative_registration": "Jiný způsob registrace",
"terms_of_use": "Podmínky",
"agree_to_terms_of_use": "Souhlasím s Podmínkami"
"agree_to_terms_of_use": "Souhlasím s Podmínkami",
"registration-added-to-queue": "Your registration has been added to the approval queue. You will receive an email when it is accepted by an administrator."
}

View File

@@ -13,6 +13,7 @@
"notify_me": "Sledovat toto téma",
"quote": "Citovat",
"reply": "Odpovědět",
"reply-as-topic": "Reply as topic",
"guest-login-reply": "Log in to reply",
"edit": "Upravit",
"delete": "Smazat",
@@ -25,15 +26,16 @@
"tools": "Nástroje",
"flag": "Flag",
"locked": "Locked",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"bookmark_instructions": "Click here to return to the last unread post in this thread.",
"flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.",
"deleted_message": "This topic has been deleted. Only users with topic management privileges can see it.",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"mark_unread": "Mark unread",
"mark_unread.success": "Topic marked as unread.",
"watch": "Watch",
"unwatch": "Unwatch",
"watch.title": "Be notified of new replies in this topic",
@@ -49,6 +51,7 @@
"thread_tools.move_all": "Move All",
"thread_tools.fork": "Fork Topic",
"thread_tools.delete": "Delete Topic",
"thread_tools.delete-posts": "Delete Posts",
"thread_tools.delete_confirm": "Are you sure you want to delete this topic?",
"thread_tools.restore": "Restore Topic",
"thread_tools.restore_confirm": "Are you sure you want to restore this topic?",
@@ -62,9 +65,9 @@
"disabled_categories_note": "Vypnuté (disabled) kategorie jsou šedé.",
"confirm_move": "Přesunout",
"confirm_fork": "Rozdělit",
"favourite": "Oblíbené",
"favourites": "Oblíbené",
"favourites.has_no_favourites": "Nemáte žádné oblíbené příspěvky, přidejte některý příspěvek k oblíbeným a uvidíte ho zde!",
"favourite": "Bookmark",
"favourites": "Bookmarks",
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.",
"loading_more_posts": "Načítání více příspěvků",
"move_topic": "Přesunout téma",
"move_topics": "Move Topics",
@@ -75,6 +78,7 @@
"fork_topic_instruction": "Vyber příspěvky, které chceš oddělit",
"fork_no_pids": "Žádné příspěvky nebyly vybrány!",
"fork_success": "Successfully forked topic! Click here to go to the forked topic.",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"composer.title_placeholder": "Enter your topic title here...",
"composer.handle_placeholder": "Name",
"composer.discard": "Discard",
@@ -96,5 +100,13 @@
"oldest_to_newest": "Oldest to Newest",
"newest_to_oldest": "Newest to Oldest",
"most_votes": "Most votes",
"most_posts": "Most posts"
"most_posts": "Most posts",
"stale.title": "Create new topic instead?",
"stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?",
"stale.create": "Create a new topic",
"stale.reply_anyway": "Reply to this topic anyway",
"link_back": "Re: [%1](%2)",
"spam": "Spam",
"offensive": "Offensive",
"custom-flag-reason": "Enter a flagging reason"
}

View File

@@ -5,5 +5,6 @@
"mark_as_read": "Označit jako přeštené",
"selected": "Vybrané",
"all": "Vše",
"all_categories": "All categories",
"topics_marked_as_read.success": "Téma bylo označeno jako přečtené!"
}

View File

@@ -2,12 +2,17 @@
"banned": "Banned",
"offline": "Offline",
"username": "Uživatelské jméno",
"joindate": "Join Date",
"postcount": "Post Count",
"joindate": "Datum ragistrace",
"postcount": "Počet příspěvků",
"email": "Email",
"confirm_email": "Potvrdit email",
"ban_account": "Zablokovat účet",
"ban_account_confirm": "Opravdu chcete zablokovat tohoto uživatele?",
"unban_account": "Odblokovat účet",
"delete_account": "Vymazat účet",
"delete_account_confirm": "Are you sure you want to delete your account? <br /><strong>This action is irreversible and you will not be able to recover any of your data</strong><br /><br />Enter your username to confirm that you wish to destroy this account.",
"delete_account_confirm": "Opravdu chcete smazat váš účet? <br /><strong>Tato akce je nevratná a nebude možné obnovit žádné vaše data.</strong><br /><br /> Pro potvrzení smazání účtu napište vaše uživatelské jméno.",
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"account-deleted": "Account deleted",
"fullname": "Jméno a příjmení",
"website": "Webové stránky",
"location": "Poloha",
@@ -17,41 +22,47 @@
"profile": "Profil",
"profile_views": "Zobrazení profilu",
"reputation": "Reputace",
"favourites": "Oblíbené",
"watched": "Watched",
"favourites": "Bookmarks",
"watched": "Sledován",
"followers": "Sledují ho",
"following": "Sleduje",
"aboutme": "About me",
"aboutme": "O mně",
"signature": "Podpis",
"gravatar": "Gravatar",
"birthday": "Datum narození",
"chat": "Chat",
"follow": "Follow",
"unfollow": "Unfollow",
"more": "More",
"chat_with": "Chat with %1",
"follow": "Sledovat",
"unfollow": "Nesledovat",
"more": "Více",
"profile_update_success": "Profil byl úspěšně aktualizován!",
"change_picture": "Změnit obrázek",
"change_username": "Change Username",
"change_email": "Change Email",
"edit": "Upravit",
"default_picture": "Default Icon",
"uploaded_picture": "Nahraný obrázek",
"upload_new_picture": "Nahrát nový obrázek",
"upload_new_picture_from_url": "Upload New Picture From URL",
"upload_new_picture_from_url": "Nahrát nový obrázek z URL",
"current_password": "Současné heslo",
"change_password": "Změnit heslo",
"change_password_error": "Neplatné heslo",
"change_password_error_wrong_current": "Your current password is not correct!",
"change_password_error_length": "Password too short!",
"change_password_error_match": "Passwords must match!",
"change_password_error_privileges": "You do not have the rights to change this password.",
"change_password_success": "Your password is updated!",
"change_password_error_wrong_current": "Současné heslo není správné!",
"change_password_error_length": "Heslo je příliš krátké!",
"change_password_error_match": "Hesla se neshodují!",
"change_password_error_privileges": "Nemáte práva změnit toto heslo.",
"change_password_success": "Heslo je aktualizované!",
"confirm_password": "Potvrzení hesla",
"password": "Heslo",
"username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as <strong>%1</strong>",
"password_same_as_username": "Your password is the same as your username, please select another password.",
"password_same_as_email": "Your password is the same as your email, please select another password.",
"upload_picture": "Nahrát obrázek",
"upload_a_picture": "Nahrát obrázek",
"image_spec": "You may only upload PNG, JPG, or GIF files",
"remove_uploaded_picture": "Remove Uploaded Picture",
"upload_cover_picture": "Upload cover picture",
"settings": "Nastavení",
"show_email": "Zobrazovat můj email v profilu",
"show_fullname": "Show My Full Name",
"show_fullname": "Zobrazovat celé jméno",
"restrict_chats": "Only allow chat messages from users I follow",
"digest_label": "Subscribe to Digest",
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
@@ -64,9 +75,12 @@
"settings-require-reload": "Some setting changes require a reload. Click here to reload the page.",
"has_no_follower": "Tohoto uživatele nikdo nesleduje :(",
"follows_no_one": "Tento uživatel nikoho nesleduje :(",
"has_no_posts": "This user didn't post anything yet.",
"has_no_topics": "This user didn't post any topics yet.",
"has_no_watched_topics": "This user didn't watch any topics yet.",
"has_no_posts": "This user hasn't posted anything yet.",
"has_no_topics": "This user hasn't posted any topics yet.",
"has_no_watched_topics": "This user hasn't watched any topics yet.",
"has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
"has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
"has_no_voted_posts": "This user has no voted posts",
"email_hidden": "Skrytý email",
"hidden": "skrytý",
"paginate_description": "Paginate topics and posts instead of using infinite scroll",
@@ -80,5 +94,14 @@
"follow_topics_you_reply_to": "Follow topics that you reply to",
"follow_topics_you_create": "Follow topics you create",
"grouptitle": "Select the group title you would like to display",
"no-group-title": "No group title"
"no-group-title": "No group title",
"select-skin": "Select a Skin",
"select-homepage": "Select a Homepage",
"homepage": "Homepage",
"homepage_description": "Select a page to use as the forum homepage or 'None' to use the default homepage.",
"custom_route": "Custom Homepage Route",
"custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")",
"sso.title": "Single Sign-on Services",
"sso.associated": "Associated with",
"sso.not-associated": "Click here to associate with"
}

View File

@@ -8,5 +8,13 @@
"users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
"filter-by": "Filter By",
"online-only": "Online only",
"picture-only": "Picture only"
"invite": "Invite",
"invitation-email-sent": "An invitation email has been sent to %1",
"user_list": "User List",
"recent_topics": "Recent Topics",
"popular_topics": "Popular Topics",
"unread_topics": "Unread Topics",
"categories": "Categories",
"tags": "Tags",
"no-users-found": "No users found!"
}

View File

@@ -0,0 +1,16 @@
{
"category": "Kategori",
"subcategories": "Underkategorier",
"new_topic_button": "Nyt emne",
"guest-login-post": "Log ind",
"no_topics": "<strong>Der er ikke nogen nye emner i denne kategori.</strong><br /> Hvorfor prøver du ikke at lave et?",
"browsing": "browse",
"no_replies": "Ingen har svaret",
"no_new_posts": "Ingen nye indlæg",
"share_this_category": "Del denne kategori",
"watch": "Overvåg",
"ignore": "Ignorer",
"watch.message": "Du overvåger nu opdateringer fra denne kategori",
"ignore.message": "Du ignorere nu opdateringer fra denne kategori",
"watched-categories": "Fulgte kategorier"
}

View File

@@ -0,0 +1,35 @@
{
"password-reset-requested": "Vi skal anmode dig om at nulstille dit kodeord - %1!",
"welcome-to": "Velkommen til %1",
"invite": "Invitation fra %1",
"greeting_no_name": "Hej",
"greeting_with_name": "Hej %1",
"welcome.text1": "Tak for at du registrerede dig hos %1!",
"welcome.text2": "For at færdiggøre din konto, har vi brug for at verificere at du ejer den email adresse du registerede med.",
"welcome.text3": "En administrator har accepteret din registreringsansøgning. Du kan logge ind med dit brugernavn og adgangskode nu.",
"welcome.cta": "Klik her for at bekræfte din email adresse.",
"invitation.text1": "%1 har inviteret dig til at deltage i %2",
"invitation.ctr": "Klik her for at oprette din konto.",
"reset.text1": "Vi har modtaget en anmodning om at nulstille dit kodeord, måske fordi du har glemt det. Hvis det ikke er tilfældet, venligst ignorer denne email.",
"reset.text2": "For at fortsætte med at nulstille kodeordet, venligst klik på dette link:",
"reset.cta": "Klik her for at nulstille dit kodeord. ",
"reset.notify.subject": "Dit kodeord er nu ændret",
"reset.notify.text1": "Bemærk: %1 gang blev dit kodeord ændret.",
"reset.notify.text2": "Hvis du ikke godkendte dette, kontakt straks en administrator.",
"digest.notifications": "Du har ulæste notifikationer fra %1:",
"digest.latest_topics": "Nyeste emne fra %1",
"digest.cta": "Klik her for at gå til %1",
"digest.unsub.info": "Du har fået tilsendt dette sammendrag pga. indstillingerne i dit abonnement.",
"digest.no_topics": "Der har ikke været nogen aktive emner de/den sidste %1",
"digest.day": "day",
"digest.week": "week",
"digest.month": "month",
"notif.chat.subject": "Ny chat besked modtaget fra %1",
"notif.chat.cta": "Klik her for at forsætte med samtalen",
"notif.chat.unsub.info": "Denne chat notifikation blev sendt til dig pga. indstillingerne i dit abonnement.",
"notif.post.cta": "Klik her for a læse hele emnet",
"notif.post.unsub.info": "Denne indlægs notifikation var sendt pga. dine abonnering indstillinger.",
"test.text1": "Dette er en test email for at kontrollere, at den udgående email server er opsat korrekt i forhold til din NodeBB installation.",
"unsub.cta": "Klik her for at ændre disse indstillinger",
"closing": "Tak!"
}

View File

@@ -0,0 +1,101 @@
{
"invalid-data": "Ugyldig Data",
"not-logged-in": "Det ser ikke ud til at du er logget ind.",
"account-locked": "Din konto er blevet blokeret midlertidigt.",
"search-requires-login": "Du skal have en konto for at søge - log venligst ind eller registrer dig.",
"invalid-cid": "Ugyldig Kategori ID",
"invalid-tid": "Ugyldig Tråd ID",
"invalid-pid": "Ugyldig Indlæg ID",
"invalid-uid": "Ugyldig Bruger ID",
"invalid-username": "Ugyldig Brugernavn",
"invalid-email": "Ugyldig Email",
"invalid-title": "Ugylidt titel",
"invalid-user-data": "Ugyldig Bruger Data",
"invalid-password": "Ugyldig Adgangskode",
"invalid-username-or-password": "Venligst angiv både brugernavn og adgangskode",
"invalid-search-term": "Ugyldig søgeterm",
"invalid-pagination-value": "Invalid pagination value, must be at least %1 and at most %2",
"username-taken": "Brugernavn optaget",
"email-taken": "Emailadresse allerede i brug",
"email-not-confirmed": "Din email adresse er ikke blevet bekræftet endnu, venligst klik her for at bekrætige den.",
"email-not-confirmed-chat": "Du kan ikke chatte før din email er bekræftet, klik her for at bekræfte din email.",
"no-email-to-confirm": "Dette forum kræver bekræftelse af din email, klik her for at indtaste en email",
"email-confirm-failed": "Vi kunne ikke bekræfte din email, prøv igen senere.",
"confirm-email-already-sent": "Bekræftelses email er allerede afsendt, vent venligt %1 minut(ter) for at sende endnu en.",
"username-too-short": "Brugernavn er for kort",
"username-too-long": "Brugernavn er for langt",
"password-too-long": "Password too long",
"user-banned": "Bruger er bortvist",
"user-too-new": "Beklager, du er nødt til at vente %1 sekund(er) før du opretter dit indlæg",
"no-category": "Kategorien eksisterer ikke",
"no-topic": "Tråden eksisterer ikke",
"no-post": "Indlægget eksisterer ikke",
"no-group": "Gruppen eksisterer ikke",
"no-user": "Brugeren eksisterer ikke",
"no-teaser": "Teaser eksisterer ikke",
"no-privileges": "Du har ikke nok rettigheder til at udføre denne handling",
"category-disabled": "Kategorien er deaktiveret",
"topic-locked": "Tråden er låst",
"post-edit-duration-expired": "Du kan kun redigere indlæg i %1 sekund(er) efter indlæg",
"content-too-short": "Venligst indtast et længere indlæg. Indlægget skal mindst indeholde %1 karakter(er).",
"content-too-long": "Venligt indtast et kortere indlæg. Indlæg kan ikke være længere end %1 karakter(er).",
"title-too-short": "Venligst indtast en længere titel. Titlen skal mindst indeholde %1 karakter(er).",
"title-too-long": "Venligst indtast en kortere titel. Titlen kan ikke indeholde flere end %1 karakter(er).",
"too-many-posts": "Du kan højest skrive et indlæg hver %1 sekund(er) - venligst vent et øjeblik før næste indlæg",
"too-many-posts-newbie": "Som ny bruger kan du kun skrive et indlæg engang hvert %1. sekund() indtil du har optjent %2 omdømme point - venligst vent et øjeblik før næste indlæg.",
"tag-too-short": "Indtast et længere tag. Tags skal indeholde mindst %1 karakter(er).",
"tag-too-long": "Indtast et længere tag. Tags kan ikke være længere end %1 karakter(er).",
"not-enough-tags": "Ikke nok tags. Tråde skal have mindst %1 tag(s)",
"too-many-tags": "For mange tags. Tråde kan ikke have mere end %1 tag(s)",
"still-uploading": "Venligst vent til overførslen er færdig",
"file-too-big": "Maksimum filstørrelse er %1 kB - venligst overfør en mindre fil",
"guest-upload-disabled": "Guest uploading has been disabled",
"already-favourited": "You have already bookmarked this post",
"already-unfavourited": "You have already unbookmarked this post",
"cant-ban-other-admins": "Du kan ikke udlukke andre administatrorer!",
"cant-remove-last-admin": "Du er den eneste administrator. Tilføj en anden bruger som administrator før du fjerner dig selv som administrator",
"invalid-image-type": "Invalid billed type. De tilladte typer er: %1",
"invalid-image-extension": "Forkert billede filnavnsendelse",
"invalid-file-type": "Invalid fil type. Tilladte typer er: %1",
"group-name-too-short": "Gruppe navn for kort",
"group-already-exists": "Gruppen eksisterer allerede",
"group-name-change-not-allowed": "Ændring af gruppe navn er ikke tilladt",
"group-already-member": "Allerede medlem af denne gruppe",
"group-not-member": "Ikke medlem af denne gruppe",
"group-needs-owner": "Denne grupper kræver mindst én ejer",
"group-already-invited": "Denne bruger er allerede blevet inviteret",
"group-already-requested": "Din medlemskabs anmodning er allerede blevet afsendt",
"post-already-deleted": "Dette indlæg er allerede blevet slettet",
"post-already-restored": "Dette indlæg er allerede blevet genskabt",
"topic-already-deleted": "Denne tråd er allerede blevet slettet",
"topic-already-restored": "Denne tråd er allerede blevet genskabt",
"cant-purge-main-post": "Du kan ikke udradere hoved indlægget, fjern venligt tråden istedet",
"topic-thumbnails-are-disabled": "Tråd miniaturebilleder er slået fra.",
"invalid-file": "Ugyldig fil",
"uploads-are-disabled": "Overførsel er slået fra",
"signature-too-long": "Beklager, din signatur kan ikke være længere end %1 karakter(er).",
"about-me-too-long": "Beklager, men din om mig side kan ikke være længere end %1 karakter(er).",
"cant-chat-with-yourself": "Du kan ikke chatte med dig selv!",
"chat-restricted": "Denne bruger har spæret adgangen til chat beskeder. Brugeren må følge dig før du kan chatte med ham/hende",
"chat-disabled": "Chat system disabled",
"too-many-messages": "Du har sendt for mange beskeder, vent venligt lidt.",
"invalid-chat-message": "Ugyldig chat besked",
"chat-message-too-long": "Chat beskeden er for lang",
"cant-edit-chat-message": "You are not allowed to edit this message",
"cant-remove-last-user": "You can't remove the last user",
"cant-delete-chat-message": "You are not allowed to delete this message",
"reputation-system-disabled": "Vurderingssystem er slået fra.",
"downvoting-disabled": "Nedvurdering er slået fra",
"not-enough-reputation-to-downvote": "Du har ikke nok omdømme til at nedstemme dette indlæg",
"not-enough-reputation-to-flag": "Du har ikke nok omdømme til at vurdere dette indlæg",
"already-flagged": "Du har allerede vurderet dette indlæg",
"reload-failed": "NodeBB stødte på et problem under genindlæsningen : \"%1\". NodeBB vil fortsætte med en ældre version, og det er nok god ide at genoptage fra lige før du genindlæste siden.",
"registration-error": "Registeringsfejl",
"parse-error": "Noget gik galt under fortolknings er serverens respons",
"wrong-login-type-email": "Brug venligt din email til login",
"wrong-login-type-username": "Brug venligt dit brugernavn til login",
"invite-maximum-met": "You have invited the maximum amount of people (%1 out of %2).",
"no-session-found": "No login session found!",
"not-in-room": "User not in room",
"no-users-in-room": "No users in this room"
}

View File

@@ -0,0 +1,94 @@
{
"home": "Forside",
"search": "Søg",
"buttons.close": "Luk",
"403.title": "Adgang nægtet",
"403.message": "Det ser ud til du er stødt på en side du ikke har adgang til.",
"403.login": "Måske du skulle <a href='%1/login'>prøve og logge ind</a>?",
"404.title": "Ikke fundet",
"404.message": "Det ser ud til du er stødt på en side der ikke finder. Retuner til <a href='%1/'> forsiden</a>.",
"500.title": "Intern fejl.",
"500.message": "Ups! Ser ud til at noget gik galt!",
"register": "Tilmeld",
"login": "Log ind",
"please_log_in": "Venligst log ind",
"logout": "Log ud",
"posting_restriction_info": "Det er i øjeblikket kun muligt at skrive indlæg som registeret medlem, klik her for at logge ind.",
"welcome_back": "Velkommen tilbage",
"you_have_successfully_logged_in": "Du er nu logget ind",
"save_changes": "Gem ændringer",
"close": "Luk",
"pagination": "Sidetal",
"pagination.out_of": "%1 ud af %2",
"pagination.enter_index": "Indtast indeks",
"header.admin": "Administrator",
"header.categories": "Kategorier",
"header.recent": "Seneste",
"header.unread": "Ulæst",
"header.tags": "Etiket",
"header.popular": "Populære",
"header.users": "Bruger",
"header.groups": "Grupper",
"header.chats": "Chats",
"header.notifications": "Notifikationer",
"header.search": "Søg",
"header.profile": "Profil",
"header.navigation": "Navigation",
"notifications.loading": "Indlæser notifikationer",
"chats.loading": "Indlæser chats",
"motd.welcome": "Velkommen til NodeBB, fremtidens diskussion platform. ",
"previouspage": "Forrige side",
"nextpage": "Næste side",
"alert.success": "Succes",
"alert.error": "Fejl",
"alert.banned": "Forment adgang",
"alert.banned.message": "Du er lige blevet udelukket, du vil nu blive logget ud.",
"alert.unfollow": "Du følger ikke længere %1!",
"alert.follow": "Du følger nu %1!",
"online": "Online",
"users": "Bruger",
"topics": "Emner",
"posts": "Indlæg",
"best": "Best",
"upvoted": "Upvoted",
"downvoted": "Downvoted",
"views": "Visninger",
"reputation": "Omdømme",
"read_more": "læs mere",
"more": "Mere",
"posted_ago_by_guest": "indsendt %1 af gæst",
"posted_ago_by": "indsendt %1 siden af %2",
"posted_ago": "Indsendt %1 siden",
"posted_in": "skrevet i %1",
"posted_in_by": "skrevet i %1 af %2",
"posted_in_ago": "skrivet i %1 %2",
"posted_in_ago_by": "skrevet i %1 %2 af %3",
"user_posted_ago": "%1 skrev for %2",
"guest_posted_ago": "Gæst skrev for %1",
"last_edited_by": "last edited by %1",
"norecentposts": "Ingen seneste indlæg",
"norecenttopics": "Ingen seneste tråde",
"recentposts": "Seneste indlæg",
"recentips": "Seneste loggede ind IPer",
"away": "Væk",
"dnd": "Vil ikke forstyres",
"invisible": "Usynlig",
"offline": "Offline",
"email": "Email",
"language": "Sprog",
"guest": "Gæst",
"guests": "Gæster",
"updated.title": "Forum opdateret",
"updated.message": "Dette form er lige blevet opdateret til den seneste version. Klik her for at genindlæse siden.",
"privacy": "Privatliv",
"follow": "Følg",
"unfollow": "Følg ikke længere",
"delete_all": "Slet alt",
"map": "Kort",
"sessions": "Login Sessions",
"ip_address": "IP Address",
"enter_page_number": "Enter page number",
"upload_file": "Upload file",
"upload": "Upload",
"allowed-file-types": "Allowed file types are %1"
}

View File

@@ -0,0 +1,53 @@
{
"groups": "grupper",
"view_group": "se gruppe",
"owner": "Gruppe ejer",
"new_group": "Opret ny gruppe",
"no_groups_found": "Der er ingen grupper at se",
"pending.accept": "Accepter",
"pending.reject": "Afvis",
"pending.accept_all": "Acceptér Alle",
"pending.reject_all": "Afvis Alle",
"pending.none": "Der er ikke nogen afventene medlemmer i øjeblikket",
"invited.none": "Der er ingen inviterede medlemmer i øjeblikket",
"invited.uninvite": "Tilbagetræk invitation",
"invited.search": "Søg efter en bruger at invitere til denne gruppe",
"invited.notification_title": "Du er blevet inviteret til at blive medlem af <strong>%1</strong>",
"request.notification_title": "Gruppe medlemskab anmodning fra <strong>%1</strong>",
"request.notification_text": "<strong>%1</strong> har anmodet om at blive medlem af <strong>%2</strong>",
"cover-save": "Gem",
"cover-saving": "Gemmer",
"details.title": "gruppe detaljer",
"details.members": "liste over medlemmer",
"details.pending": "Verserende medlemmer",
"details.invited": "Inviterede Medlemmer",
"details.has_no_posts": "Medlemmer af denne gruppe har ikke oprettet indlæg.",
"details.latest_posts": "seneste indlæg",
"details.private": "Privat",
"details.disableJoinRequests": "Disable join requests",
"details.grant": "Giv/ophæv ejerskab",
"details.kick": "Spark",
"details.owner_options": "Gruppe administration",
"details.group_name": "Gruppe navn",
"details.member_count": "Medlemsantal",
"details.creation_date": "Oprettelsesdato",
"details.description": "Beskrivelse",
"details.badge_preview": "Mærke forhåndsvisning",
"details.change_icon": "Skift ikon",
"details.change_colour": "Skift farve",
"details.badge_text": "Mærke tekst",
"details.userTitleEnabled": "Vis mærke",
"details.private_help": "Hvis aktiveret, så vil det kræve godkendelse af gruppe ejeren for at tilslutte sig en gruppe",
"details.hidden": "Skjult",
"details.hidden_help": "Hvis aktiveret, så vil denne gruppe ikke kunne ses i gruppelisten og bruhere skal inviteres manuelt",
"details.delete_group": "Slet Gruppe",
"event.updated": "Gruppe detaljer er blevet opdateret",
"event.deleted": "Gruppen \"%1\" er blevet slettet",
"membership.accept-invitation": "Acceptér Invitation",
"membership.invitation-pending": "Afventende Invitationer",
"membership.join-group": "Bliv medlem af gruppe",
"membership.leave-group": "Forlad Gruppe",
"membership.reject": "Afvis",
"new-group.group_name": "Gruppe Navn:",
"upload-group-cover": "Upload group cover"
}

View File

@@ -0,0 +1,5 @@
{
"name": "Danish",
"code": "da",
"dir": "ltr"
}

View File

@@ -0,0 +1,11 @@
{
"username-email": "Brugernavn / Email",
"username": "Brugernavn",
"email": "Email",
"remember_me": "Husk mig?",
"forgot_password": "Glemt kodeord?",
"alternative_logins": "alternative logins",
"failed_login_attempt": "Login mislykkedes, venligt prøv igen.",
"login_successful": "Du har successfuldt logged in!",
"dont_have_account": "Har du ikke en konto?"
}

View File

@@ -0,0 +1,37 @@
{
"chat.chatting_with": "Chat med <span id=\"chat-with-name\"></span>",
"chat.placeholder": "Skriv din chatbesked her, tryk enter for at sende",
"chat.send": "Send",
"chat.no_active": "Du har ingen aktive chats.",
"chat.user_typing": "%1 skriver ...",
"chat.user_has_messaged_you": "1% har skrevet til dig.",
"chat.see_all": "Se alle chats",
"chat.no-messages": "Vælg en modtager for at se beskedhistorikken",
"chat.no-users-in-room": "No users in this room",
"chat.recent-chats": "Seneste chats",
"chat.contacts": "Kontakter",
"chat.message-history": "Beskedhistorik",
"chat.pop-out": "Pop ud chatten",
"chat.maximize": "Maximer",
"chat.seven_days": "7 dage",
"chat.thirty_days": "30 dage",
"chat.three_months": "3 måneder",
"chat.delete_message_confirm": "Are you sure you wish to delete this message?",
"chat.roomname": "Chat Room %1",
"chat.add-users-to-room": "Add users to room",
"composer.compose": "Skriv",
"composer.show_preview": "Vis forhåndsvisning",
"composer.hide_preview": "Fjern forhåndsvisning",
"composer.user_said_in": "%1 sagde i %2:",
"composer.user_said": "%1 sagde:",
"composer.discard": "Er du sikker på at du vil kassere dette indlæg?",
"composer.submit_and_lock": "Send og lås",
"composer.toggle_dropdown": "Skift mellem dropdown",
"composer.uploading": "Uploader %1",
"bootbox.ok": "OK",
"bootbox.cancel": "Annuller",
"bootbox.confirm": "Bekræft",
"cover.dragging_title": "Cover Photo Positioning",
"cover.dragging_message": "Drag the cover photo to the desired position and click \"Save\"",
"cover.saved": "Cover photo image and position saved"
}

View File

@@ -0,0 +1,37 @@
{
"title": "Notifikationer",
"no_notifs": "Du har ingen nye notifkationer",
"see_all": "Se alle notifikationer",
"mark_all_read": "Marker alle notifikationer læst",
"back_to_home": "Tilbage til %1",
"outgoing_link": "Udgående link",
"outgoing_link_message": "You are now leaving %1",
"continue_to": "Fortsæt til %1",
"return_to": "Returnere til %t",
"new_notification": "Ny notifikation",
"you_have_unread_notifications": "Du har ulæste notifikationer.",
"new_message_from": "Ny besked fra <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> har upvotet dit indlæg i <strong>%2</strong>.",
"upvoted_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have upvoted your post in <strong>%3</strong>.",
"upvoted_your_post_in_multiple": "<strong>%1</strong> and %2 others have upvoted your post in <strong>%3</strong>.",
"moved_your_post": "<strong>%1</strong> har flyttet dit indlæg til <strong>%2</strong>",
"moved_your_topic": "<strong>%1</strong> har flyttet <strong>%2</strong>",
"favourited_your_post_in": "<strong>%1</strong> has bookmarked your post in <strong>%2</strong>.",
"favourited_your_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> have bookmarked your post in <strong>%3</strong>.",
"favourited_your_post_in_multiple": "<strong>%1</strong> and %2 others have bookmarked your post in <strong>%3</strong>.",
"user_flagged_post_in": "<strong>%1</strong> har anmeldt et indlæg i <strong>%2</strong>",
"user_flagged_post_in_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a post in <strong>%3</strong>",
"user_flagged_post_in_multiple": "<strong>%1</strong> and %2 others flagged a post in <strong>%3</strong>",
"user_posted_to": "<strong>%1</strong> har skrevet et svar til: <strong>%2</strong>",
"user_posted_to_dual": "<strong>%1</strong> and <strong>%2</strong> have posted replies to: <strong>%3</strong>",
"user_posted_to_multiple": "<strong>%1</strong> and %2 others have posted replies to: <strong>%3</strong>",
"user_posted_topic": "<strong>%1</strong> har oprettet en ny tråd: <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> har valgt at følge dig.",
"user_started_following_you_dual": "<strong>%1</strong> and <strong>%2</strong> started following you.",
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
"new_register": "<strong>%1</strong> har sendt en registrerings anmodning.",
"email-confirmed": "Email bekræftet",
"email-confirmed-message": "Tak fordi du validerede din email. Din konto er nu fuldt ud aktiveret.",
"email-confirm-error-message": "Der var et problem med valideringen af din emailadresse. Bekræftelses koden var muligvis forkert eller udløbet.",
"email-confirm-sent": "Bekræftelses email afsendt."
}

View File

@@ -0,0 +1,46 @@
{
"home": "Forside",
"unread": "Ulæste tråde",
"popular-day": "Populære tråde i dag",
"popular-week": "Populære tråde denne ude",
"popular-month": "Populære tråde denne måned",
"popular-alltime": "Top populære tråde",
"recent": "Seneste tråde",
"flagged-posts": "Flagged Posts",
"users/online": "Online brugere",
"users/latest": "Seneste brugere",
"users/sort-posts": "Brugere med de fleste indlæg",
"users/sort-reputation": "Brugere med mest omdømme",
"users/banned": "Banned Users",
"users/search": "Bruger søgning",
"notifications": "Notifikationer",
"tags": "Tags",
"tag": "Tråde tagget under \"%1\"",
"register": "Registre en konto",
"login": "Login til din konto",
"reset": "Nulstil din adgangskode",
"categories": "Kategorier",
"groups": "Grupper",
"group": "%1 gruppe",
"chats": "Chats",
"chat": "Chatter med %1",
"account/edit": "Redigere \"%1\"",
"account/edit/password": "Redigerer adgangskode for \"%1\"",
"account/edit/username": "Redigerer brugernavn for \"%1\"",
"account/edit/email": "Redigerer email for \"%1\"",
"account/following": "Personer som %1 følger",
"account/followers": "Personer som følger %1",
"account/posts": "Indlæg oprettet af %1",
"account/topics": "Tråde lavet af %1",
"account/groups": "%1s grupper",
"account/favourites": "%1's Bookmarked Posts",
"account/settings": "Bruger instillinger",
"account/watched": "Tråde fulgt af %1",
"account/upvoted": "Posts upvoted by %1",
"account/downvoted": "Posts downvoted by %1",
"account/best": "Best posts made by %1",
"confirm": "Email Confirmed",
"maintenance.text": "%1 er under vedligeholdelse. Kom venligst tilbage senere.",
"maintenance.messageIntro": "Administratoren har yderligere vedlagt denne besked:",
"throttled.text": "%1 er ikke tilgængelig på grund af overbelastning. Venligst kom tilbage senere."
}

View File

@@ -0,0 +1,19 @@
{
"title": "Seneste",
"day": "Dag",
"week": "Uge",
"month": "Måned",
"year": "År",
"alltime": "Al tid",
"no_recent_topics": "Der er ingen seneste tråde",
"no_popular_topics": "Der er ingen populære tråde.",
"there-is-a-new-topic": "Der er en ny tråd.",
"there-is-a-new-topic-and-a-new-post": "Der er en ny tråd og et nyt indlæg.",
"there-is-a-new-topic-and-new-posts": "Der er en tråd og %1 nye indlæg",
"there-are-new-topics": "Der er %1 nye indlæg.",
"there-are-new-topics-and-a-new-post": "Der er %1 nye indlæg og et nyt indlæg.",
"there-are-new-topics-and-new-posts": "Der er %1 nye tråde og %2 nye indlæg.",
"there-is-a-new-post": "Der er et nyt indlæg.",
"there-are-new-posts": "Der er %1 nye indlæg.",
"click-here-to-reload": "Klik her for at genindlæse."
}

View File

@@ -0,0 +1,19 @@
{
"register": "Tilmeld",
"help.email": "Den email er skjult som standard.",
"help.username_restrictions": "Et unikt brugernavn mellem %1 og %2 karakterer. Andre kan nævne dig med @<span id='yourUsername'>brugernavn</span>.",
"help.minimum_password_length": "Din adgangskode skal være på mindst %1 karakterer.",
"email_address": "Emailadresse",
"email_address_placeholder": "Indtast emailadresse",
"username": "Brugernavn",
"username_placeholder": "Indtast brugernavn",
"password": "Adgangskode",
"password_placeholder": "Indtast adgangskode",
"confirm_password": "Bekræft adgangskode",
"confirm_password_placeholder": "Bekræft adgangskode",
"register_now_button": "Registrer nu",
"alternative_registration": "Alternativ registrering",
"terms_of_use": "Betingelser for brug",
"agree_to_terms_of_use": "Jeg acceptere betingelserne for brug",
"registration-added-to-queue": "Din registrering er blevet tilføjet til godkendelses køen. Du vil mostage en email når du er blevet accepteret af en administrator."
}

View File

@@ -0,0 +1,17 @@
{
"reset_password": "Nulstil adgangskode",
"update_password": "Opdater adgangskode",
"password_changed.title": "Adgangskode ændret",
"password_changed.message": "<p>Adgangskode er blevet ændret, <a href=\"/login\">log venligt ind igen</a>.",
"wrong_reset_code.title": "Forkert nulstillingskode",
"wrong_reset_code.message": "Nulstillingskoden var forkert. Prøv venligst igen, eller <a href=\"/reset\">anmod om en ny nultillingskode</a>.",
"new_password": "Ny adgangskode",
"repeat_password": "Bekræft adgangskode",
"enter_email": "Indtast venligst din <strong>emailadresse</strong> så vi kan sende dig instrukser til at nulstille din konto.",
"enter_email_address": "Indtast emailadresse",
"password_reset_sent": "Adgangskode nulstilling afsendt",
"invalid_email": "Ugyldig emailadresse / Emailadresse findes ikke",
"password_too_short": "Den indtastede adgangskode er for kort, vælg venligt en anden adgangskode.",
"passwords_do_not_match": "De to indtastede adgangskoder er ikke ens.",
"password_expired": "Din adgangskode er udløbet, vælg venligst en ny adgangskode"
}

View File

@@ -0,0 +1,40 @@
{
"results_matching": "%1 resultat(er) matcher \"%2\", (%3 sekunder)",
"no-matches": "Ingen resultatet fundet",
"advanced-search": "Advanceret søgning",
"in": "I",
"titles": "Titler",
"titles-posts": "Titler og indlæg",
"posted-by": "Skrevet af",
"in-categories": "I katagorierne",
"search-child-categories": "Søg underkategorier",
"reply-count": "Svar antal",
"at-least": "Mindst",
"at-most": "Højst",
"post-time": "Skrevet",
"newer-than": "Nyere end",
"older-than": "Ældre end",
"any-date": "Enhver dato",
"yesterday": "Igår",
"one-week": "En uge",
"two-weeks": "To uger",
"one-month": "En måned",
"three-months": "Tre måneder",
"six-months": "Seks måneder",
"one-year": "Et år",
"sort-by": "Sorter efter",
"last-reply-time": "Sidste svar tid",
"topic-title": "Tråd titel",
"number-of-replies": "Antal svar",
"number-of-views": "Antal visninger",
"topic-start-date": "Tråd starts dato",
"username": "Brugernavn",
"category": "Kategori",
"descending": "I faldende rækkefølge",
"ascending": "I stigende rækkefølge",
"save-preferences": "Gem præferencer",
"clear-preferences": "Slet præferencer",
"search-preferences-saved": "Søgnings præferencer gemt",
"search-preferences-cleared": "Søgnings præferencer slettet",
"show-results-as": "Vis resultater som"
}

View File

@@ -0,0 +1,6 @@
{
"success": "Udført",
"topic-post": "Du har indsendt et indlæg.",
"authentication-successful": "Du blev autentificeret",
"settings-saved": "Indstillinger gemt!"
}

View File

@@ -0,0 +1,7 @@
{
"no_tag_topics": "Der er ikke indlæg med dette tag.",
"tags": "Tags",
"enter_tags_here": "Indsæt tags her, hver på mellem %1 og %2 karakterer.",
"enter_tags_here_short": "Skriv tags",
"no_tags": "Der er ingen tags endnu."
}

View File

@@ -0,0 +1,112 @@
{
"topic": "Tråd",
"topic_id": "Tråd-id",
"topic_id_placeholder": "Angiv tråd-id",
"no_topics_found": "Ingen tråde fundet",
"no_posts_found": "Ingen indlæg fundet!",
"post_is_deleted": "Dette indlæg er slettet!",
"topic_is_deleted": "Denne tråd er blevet slettet!",
"profile": "Profil",
"posted_by": "Skrevet af %1",
"posted_by_guest": "Skrevet af Gæst",
"chat": "Chat",
"notify_me": "Bliv notificeret ved nye svar i dette emne",
"quote": "Citer",
"reply": "Svar",
"reply-as-topic": "Reply as topic",
"guest-login-reply": "Login for at svare",
"edit": "Rediger",
"delete": "Slet",
"purge": "Udrader",
"restore": "Gendan",
"move": "Flyt",
"fork": "Fork",
"link": "Link",
"share": "Del",
"tools": "Værktøjer",
"flag": "Marker",
"locked": "Låst",
"bookmark_instructions": "Klik her for at returnere til det seneste ulæste indlæg i denne tråd.",
"flag_title": "Meld dette indlæg til moderation",
"flag_success": "Dette indlæg er blevet meldt til moderation.",
"deleted_message": "Denne tråd er blevet slettet. Kun brugere med emne behandlings privilegier kan se den.",
"following_topic.message": "Du vil nu modtage notifikationer når nogle skriver et indlæg i dette emne.",
"not_following_topic.message": "Du vil ikke længere modtage notifikationer fra dette emne.",
"login_to_subscribe": "Venligt registrer eller login for at abbonere på dette emne.",
"markAsUnreadForAll.success": "Emnet er market ulæst for alle.",
"mark_unread": "Mark unread",
"mark_unread.success": "Topic marked as unread.",
"watch": "Overvåg",
"unwatch": "Fjern overvågning",
"watch.title": "Bliv notificeret ved nye indlæg i dette emne",
"unwatch.title": "Fjern overvågning af dette emne",
"share_this_post": "Del dette indlæg",
"thread_tools.title": "Emne værktøjer",
"thread_tools.markAsUnreadForAll": "Marker som ulæst",
"thread_tools.pin": "Fastgør tråd",
"thread_tools.unpin": "Frigør tråd",
"thread_tools.lock": "Lås tråd",
"thread_tools.unlock": "Lås tråd op",
"thread_tools.move": "Flyt tråd",
"thread_tools.move_all": "Flyt alt",
"thread_tools.fork": "Fraskil tråd",
"thread_tools.delete": "Slet tråd",
"thread_tools.delete-posts": "Delete Posts",
"thread_tools.delete_confirm": "Er du sikker på at du vil slette dette emne?",
"thread_tools.restore": "Gendan tråd",
"thread_tools.restore_confirm": "Er du sikker på at du ønsker at genoprette denne tråd?",
"thread_tools.purge": "Udrader tråd",
"thread_tools.purge_confirm": "Er du sikker på at du vil udrense denne tråd?",
"topic_move_success": "Denne tråd blev flyttet til %1",
"post_delete_confirm": "Er du sikker på at du vil slette dette indlæg?",
"post_restore_confirm": "Er du sikker på at du vil gendanne dette indlæg?",
"post_purge_confirm": "Er du sikker på at du vil udradere dette indlæg?",
"load_categories": "Indlæser kategorier",
"disabled_categories_note": "Deaktiverede kategorier er nedtonede",
"confirm_move": "Flyt",
"confirm_fork": "Fraskil",
"favourite": "Bookmark",
"favourites": "Bookmarks",
"favourites.has_no_favourites": "You haven't bookmarked any posts yet.",
"loading_more_posts": "Indlæser flere indlæg",
"move_topic": "Flyt tråd",
"move_topics": "Flyt tråde",
"move_post": "Flyt indlæg",
"post_moved": "Indlæg flyttet!",
"fork_topic": "Fraskil tråd",
"topic_will_be_moved_to": "Denne tråd vil blive flyttet til katagorien",
"fork_topic_instruction": "Klik på indlæg du ønsker at fraskille",
"fork_no_pids": "Ingen indlæg valgt",
"fork_success": "Tråden blev fraskilt! Klik her for at gå til den fraskilte tråd.",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"composer.title_placeholder": "Angiv din trådtittel her ...",
"composer.handle_placeholder": "Navn",
"composer.discard": "Fortryd",
"composer.submit": "Send",
"composer.replying_to": "Svare til %1",
"composer.new_topic": "Ny tråd",
"composer.uploading": "uploader...",
"composer.thumb_url_label": "Indsæt en tråd miniature URL",
"composer.thumb_title": "Tilføj en miniature til denne tråd",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Eller upload en fil",
"composer.thumb_remove": "Slet felter",
"composer.drag_and_drop_images": "Træk og slip billeder her",
"more_users_and_guests": "%1 flere bruger(e) og %2 gæst(er)",
"more_users": "%1 flere bruger(e)",
"more_guests": "%1 flere gæst(er)",
"users_and_others": "%1 og %2 andre",
"sort_by": "Sorter efter",
"oldest_to_newest": "Ældste til nyeste",
"newest_to_oldest": "Nyeste til ældste",
"most_votes": "Flest stemmer",
"most_posts": "Flest indlæg",
"stale.title": "Create new topic instead?",
"stale.warning": "The topic you are replying to is quite old. Would you like to create a new topic instead, and reference this one in your reply?",
"stale.create": "Create a new topic",
"stale.reply_anyway": "Reply to this topic anyway",
"link_back": "Re: [%1](%2)",
"spam": "Spam",
"offensive": "Stødende",
"custom-flag-reason": "Enter a flagging reason"
}

View File

@@ -0,0 +1,10 @@
{
"title": "Ulæst",
"no_unread_topics": "Der er ingen ulæste emner.",
"load_more": "Indlæs mere",
"mark_as_read": "Marker som læst",
"selected": "Valgte",
"all": "Alle",
"all_categories": "Alle kategorier",
"topics_marked_as_read.success": "Emner markeret som læst!"
}

View File

@@ -0,0 +1,107 @@
{
"banned": "Banlyst",
"offline": "Offline",
"username": "Brugernavn",
"joindate": "Oprettet",
"postcount": "Antal indlæg",
"email": "Email",
"confirm_email": "Bekræft email",
"ban_account": "Ban Konto",
"ban_account_confirm": "Ønsker du virkelig at banne denne konto?",
"unban_account": "Afban Konto",
"delete_account": "Slet konto",
"delete_account_confirm": "Er du sikker på du vil slette din konto? <br /><strong>Dette kan ikke fortrydes, og du vil ikke være istand til at genoprette dine data</strong><br /><br />Indtast dit brugernavn for at bekræfte at du ønsker at slette din konto.",
"delete_this_account_confirm": "Er du sikker på at du vil slette denne konto?<br /><strong>Denne handling kan ikke fortrydes, og du kan ikke genskabe nogen data.</strong><br /><br />",
"account-deleted": "Konto slettet",
"fullname": "Fulde navn",
"website": "Webside",
"location": "Lokation",
"age": "Alder",
"joined": "Oprettet",
"lastonline": "Sidst online",
"profile": "Profil",
"profile_views": "Profil visninger",
"reputation": "Omdømme",
"favourites": "Bookmarks",
"watched": "Set",
"followers": "Followers",
"following": "Følger",
"aboutme": "Om mig",
"signature": "Signatur",
"birthday": "Fødselsdag",
"chat": "Chat",
"chat_with": "Chat med %1",
"follow": "Følg",
"unfollow": "Følg ikke",
"more": "Mere",
"profile_update_success": "Din profil blev opdateret",
"change_picture": "Skift billede",
"change_username": "Ændre brugernavn",
"change_email": "Ændre email",
"edit": "Rediger",
"default_picture": "Standard ikon",
"uploaded_picture": "Upload billede",
"upload_new_picture": "Upload nyt billede",
"upload_new_picture_from_url": "Upload nyt billede fra URL",
"current_password": "Nuværende kodeord",
"change_password": "Skift kodeord",
"change_password_error": "Ukorrekt kodeord",
"change_password_error_wrong_current": "Nuværende kodeord er ikke korrekt",
"change_password_error_length": "Kodeord er for kort!",
"change_password_error_match": "Passwords matcher ikke!",
"change_password_error_privileges": "Du har ikke rettigheder til at ændre dette password.",
"change_password_success": "Dit password er opdateret!",
"confirm_password": "Bekræft kodeord",
"password": "Kodeord",
"username_taken_workaround": "Det valgte brugernavn er allerede taget, så vi har ændret det en smule. Du hedder nu <strong>%1</strong>",
"password_same_as_username": "Din adgangskode er det samme som dit brugernavn, vælg venligst en anden adgangskode.",
"password_same_as_email": "Your password is the same as your email, please select another password.",
"upload_picture": "Upload billede",
"upload_a_picture": "Upload et billede",
"remove_uploaded_picture": "Fjern uploaded billede",
"upload_cover_picture": "Upload cover picture",
"settings": "Indstillinger",
"show_email": "Vis min emailaddresse",
"show_fullname": "Vis mit fulde navn",
"restrict_chats": "Tillad kun chat beskeder fra brugere jeg følger",
"digest_label": "Abonner på sammendrag",
"digest_description": "Abonner på email opdateringer for detta forum (nye notifikationer og indlæg) efter en bestemt køreplan",
"digest_off": "Slukket",
"digest_daily": "Daglig",
"digest_weekly": "Ugentlig",
"digest_monthly": "Månedlig",
"send_chat_notifications": "Send en email hvis en ny chat besked er modtaget og jeg ikke er online",
"send_post_notifications": "Send en email når der er skrevet svar til indlæg jeg abonnere på",
"settings-require-reload": "Nogle indstillinger kræver en genindlæsning. Klik her for at genindlæse siden.",
"has_no_follower": "Denne bruger har ingen følgere :(",
"follows_no_one": "Denne bruger følger ikke nogen :(",
"has_no_posts": "Denne bruger har ikke skrevet noget endnu.",
"has_no_topics": "Denne bruger har ikke skrævet nogle tråde endnu.",
"has_no_watched_topics": "Denne bruger har ikke fulgt nogle tråde endnu.",
"has_no_upvoted_posts": "This user hasn't upvoted any posts yet.",
"has_no_downvoted_posts": "This user hasn't downvoted any posts yet.",
"has_no_voted_posts": "This user has no voted posts",
"email_hidden": "Email Skjult",
"hidden": "skjult",
"paginate_description": "Sideinddel emner og indlæg istedet for uendeligt rul",
"topics_per_page": "Emner per side",
"posts_per_page": "Indlæg per side",
"notification_sounds": "Afspil en lyd når du modtager en notifikation",
"browsing": "Gennemsenings indstillinger",
"open_links_in_new_tab": "Åben udgående link i en ny tab",
"enable_topic_searching": "Slå In-Topic søgning til",
"topic_search_help": "Hvis slået til, så vil in-topic søgning overskrive browserens almindelige søge function og tillade dig at søge hele emnet, istedet for kun det der er vist på skærmen",
"follow_topics_you_reply_to": "Følg emner du har skrevet indlæg i",
"follow_topics_you_create": "Følg emner du opretter",
"grouptitle": "Vælg gruppe titlen du gerne vil fremvise",
"no-group-title": "Ingen gruppe titel",
"select-skin": "Vælg et skin",
"select-homepage": "Vælg en hjemmeside",
"homepage": "Hjemmeside",
"homepage_description": "Vælg en side som forummets hjemmeside, eller 'Ingen' for at bruge standard hjemmesiden.",
"custom_route": "Custom Homepage Route",
"custom_route_help": "Enter a route name here, without any preceding slash (e.g. \"recent\", or \"popular\")",
"sso.title": "Single Sign-on Services",
"sso.associated": "Associated with",
"sso.not-associated": "Click here to associate with"
}

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