Compare commits

..

2971 Commits

Author SHA1 Message Date
Misty (Bot)
ec4754078b Incremented version number - v1.9.3 2018-05-23 20:02:58 +00:00
Misty (Bot)
93c6b014b0 Merge commit '7ade82a9eb473644ba88063a71c1cee4e1aa9547' into v1.9.x 2018-05-23 20:02:57 +00:00
Barış Soner Uşaklı
7ade82a9eb change mubsub 2018-05-23 14:34:06 -04:00
Barış Soner Uşaklı
e50302505b dont show form if installing 2018-05-23 13:47:49 -04:00
Barış Soner Uşaklı
4e495adcd7 add installing notice and refresh 2018-05-23 13:43:25 -04:00
Barış Soner Uşaklı
a48c0a4c3d if installing show working icon on refresh 2018-05-23 12:51:31 -04:00
Barış Soner Uşaklı
085034a103 store success error for page reloads 2018-05-23 12:39:04 -04:00
Barış Soner Uşaklı
c2f088cb61 dont install multiple times 2018-05-23 11:40:03 -04:00
Misty (Bot)
d856c1af86 Latest translations and fallbacks 2018-05-23 09:29:03 +00:00
Julian Lam
be1a977c71 fix post export crashing if a pid reference doesn't resolve to an actual post object 2018-05-22 14:45:42 -04:00
Misty (Bot)
01daf4b662 Latest translations and fallbacks 2018-05-22 09:30:50 +00:00
Misty (Bot)
ec831a7355 Latest translations and fallbacks 2018-05-21 09:29:16 +00:00
Misty (Bot)
c881341437 Latest translations and fallbacks 2018-05-20 09:28:16 +00:00
Barış Soner Uşaklı
cba5aa975e return early if there are no files 2018-05-19 12:58:04 -04:00
Misty (Bot)
85000fa820 Latest translations and fallbacks 2018-05-19 09:29:56 +00:00
Barış Soner Uşaklı
619b74ca7b move regex out 2018-05-18 17:28:54 -04:00
Barış Soner Uşaklı
12337302a7 backport crash fix if there are no files #6515 2018-05-18 11:22:24 -04:00
Barış Soner Uşaklı
e29e0a98f5 closes #6515 2018-05-18 11:21:12 -04:00
Barış Soner Uşaklı
f2011aafac backport badge fix, up themes 2018-05-18 08:41:52 -04:00
Barış Soner Uşaklı
3875908fa4 up themes 2018-05-18 08:41:25 -04:00
Misty (Bot)
f8e6a8d02a Latest translations and fallbacks 2018-05-18 09:29:20 +00:00
Misty (Bot)
594c390fe2 Latest translations and fallbacks 2018-05-17 09:29:45 +00:00
Barış Soner Uşaklı
871cbedac1 dont require meta before db.init 2018-05-16 15:53:54 -04:00
Misty (Bot)
51b763550f Incremented version number - v1.9.2 2018-05-16 19:02:47 +00:00
Misty (Bot)
74caf7e70d Incremented version number - v1.9.2 2018-05-16 19:02:20 +00:00
Misty (Bot)
6d3278cc23 Merge commit '9eff1519d3b3c8403603da3677986ae26aeb2a32' into v1.9.x 2018-05-16 19:02:20 +00:00
Julian Lam
9eff1519d3 Display proper info for redis in info command, show graph of pageviews
from last 24 hours
2018-05-16 14:41:57 -04:00
Misty (Bot)
7e24d2ec70 Latest translations and fallbacks 2018-05-16 09:29:13 +00:00
Julian Lam
542f8e6e15 added back install.overrides 2018-05-15 15:45:58 -04:00
Barış Soner Uşaklı
cefab04a63 use different event names for each call of getTotalGuestCount 2018-05-15 15:27:44 -04:00
Julian Lam
943d33ed09 closes #6502, also fixed issue with type: 'literal' in config.json 2018-05-15 15:26:06 -04:00
Julian Lam
87a5e777f1 closes #6495 2018-05-15 14:14:37 -04:00
Barış Soner Uşaklı
41b4caa62d closes #6509 2018-05-15 11:05:28 -04:00
Misty (Bot)
aec330e761 Latest translations and fallbacks 2018-05-15 09:29:49 +00:00
Julian Lam
9b592c2ed1 prettify last restart date in acp just a bit 2018-05-14 14:13:46 -04:00
Julian Lam
ea5476fd62 actually adding fallbacks, closes #6505 2018-05-14 13:52:08 -04:00
Julian Lam
81f0edee2c fallbacks for admins-mods.json, closes #6505 2018-05-14 13:51:32 -04:00
Misty (Bot)
c1770e07ae Latest translations and fallbacks 2018-05-14 09:28:52 +00:00
Misty (Bot)
adbcda382b Latest translations and fallbacks 2018-05-13 09:27:53 +00:00
Misty (Bot)
e87b380c8a Latest translations and fallbacks 2018-05-12 09:28:01 +00:00
Julian Lam
896a5325a5 added gdpr check socket method 2018-05-11 12:18:51 -04:00
Julian Lam
71c8a78748 updated properties to match other similar calls
re: #6501
2018-05-11 10:26:53 -04:00
Julian Lam
5eeec6f470 closes #6501 2018-05-11 10:25:12 -04:00
Misty (Bot)
46b4b716f2 Latest translations and fallbacks 2018-05-11 09:28:09 +00:00
Barış Soner Uşaklı
3b5d6951bb closes #6499 2018-05-10 16:31:16 -04:00
Julian Lam
91e6f79f08 Revert "bump mongo dependency" -- we weren't ready for this yet!
This reverts commit ea083c3474.
2018-05-10 15:52:48 -04:00
Julian Lam
ea083c3474 bump mongo dependency 2018-05-10 15:50:19 -04:00
Julian Lam
b53a193919 bump some more deps 2018-05-10 15:45:51 -04:00
Julian Lam
1e2d48556b bump dependencies versions 2018-05-10 15:41:09 -04:00
Misty (Bot)
3e3bcc25e7 Incremented version number - v1.9.1 2018-05-10 15:01:26 +00:00
Misty (Bot)
2b68baf438 Incremented version number - v1.9.1 2018-05-10 14:58:37 +00:00
Misty (Bot)
2e002c257e Merge commit 'dff96aa5964e0b48c8559c6d598696590a81022f' into v1.9.x 2018-05-10 14:58:37 +00:00
NodeBB Misty
dff96aa596 Latest translations and fallbacks 2018-05-10 14:29:38 +00:00
Julian Lam
ac914c1ced bump widget essentials 2018-05-10 10:02:53 -04:00
Barış Soner Uşaklı
95928b4721 up widget-essentials 2018-05-10 09:37:08 -04:00
Misty (Bot)
dae1e2697e Latest translations and fallbacks 2018-05-10 09:27:35 +00:00
Barış Soner Uşaklı
82840c9903 up composer default 2018-05-09 14:43:08 -04:00
Julian Lam
d648e55493 closes #6494 2018-05-09 13:09:33 -04:00
Misty (Bot)
f124ab667e Latest translations and fallbacks 2018-05-09 09:28:05 +00:00
Julian Lam
d1fd07f42f remove console.log, #6486 2018-05-08 16:19:33 -04:00
Julian Lam
18bde866ff Append file name to the JSON payload returned
... during file upload process... closes #6486
2018-05-08 16:18:28 -04:00
Julian Lam
24d14e8559 bump markdown 2018-05-08 15:29:22 -04:00
Barış Soner Uşaklı
cc3569bf51 closes #6491 2018-05-08 13:33:30 -04:00
Julian Lam
f2d3111114 disable strict checking of object schema in post upload CSV generation, #6490 2018-05-08 10:01:39 -04:00
Misty (Bot)
56e6d6199b Latest translations and fallbacks 2018-05-08 09:27:23 +00:00
Barış Soner Uşaklı
4ee2284066 closes #6489 2018-05-07 12:23:08 -04:00
Misty (Bot)
501cb2c086 Latest translations and fallbacks 2018-05-07 09:27:15 +00:00
Misty (Bot)
65eb47a2a7 Latest translations and fallbacks 2018-05-06 09:27:13 +00:00
Misty (Bot)
2b59a4c799 Latest translations and fallbacks 2018-05-05 09:26:39 +00:00
Julian Lam
da38b1fac2 closes #6487 2018-05-04 12:39:29 -04:00
Julian Lam
8e275df803 closes #6487 2018-05-04 12:39:00 -04:00
Barış Soner Uşaklı
cf9de8a0c7 backport fix for #6485 2018-05-03 16:08:02 -04:00
Barış Soner Uşaklı
96d2980472 fix updrade error if file is not found closes #6485 2018-05-03 16:06:56 -04:00
Julian Lam
4b25414c0b one more check 2018-05-03 12:13:42 -04:00
Julian Lam
9751c4b8db reworked logic in user.blocks.filter 2018-05-03 12:06:01 -04:00
Julian Lam
341a8d5046 guard against crashes if set is null or not passed in 2018-05-03 11:45:22 -04:00
Misty (Bot)
6dbe0b68e1 Incremented version number - v1.9.0 2018-05-02 19:26:22 +00:00
Misty (Bot)
136aa65d1b Incremented version number - v1.9.0 2018-05-02 19:25:47 +00:00
Julian Lam
44f8e6d3bb Revert "closes #6483"
This reverts commit 5d198491d5.
2018-05-02 14:03:47 -04:00
Julian Lam
445b92ae38 Revert "fix some tests"
This reverts commit 2551df80f7.
2018-05-02 14:03:39 -04:00
Barış Soner Uşaklı
cdc3ef09e9 closes #6481 2018-05-02 13:49:08 -04:00
Barış Soner Uşaklı
1f8b000530 log and show last restart on ACP dashboard 2018-05-02 13:38:36 -04:00
Julian Lam
2551df80f7 fix some tests 2018-05-02 13:37:58 -04:00
Julian Lam
5d198491d5 closes #6483 2018-05-02 13:13:15 -04:00
Julian Lam
99f1a5380e closes #6483 2018-05-02 13:02:18 -04:00
Barış Soner Uşaklı
9132743870 #6481 2018-05-02 12:43:13 -04:00
Misty (Bot)
d42ffdae77 Latest translations and fallbacks 2018-05-02 09:25:39 +00:00
Julian Lam
c9d8fc3f58 one more minor fix to req.flash err 2018-05-01 15:25:11 -04:00
Julian Lam
4533a311e1 possible fix to req.flash err crash 2018-05-01 15:21:15 -04:00
Julian Lam
e7300fb0e6 closes #6437 2018-05-01 14:58:34 -04:00
Julian Lam
3b9f246b38 updated right to erasure description 2018-05-01 14:57:56 -04:00
Misty (Bot)
d2cfef677a Latest translations and fallbacks 2018-05-01 09:25:08 +00:00
Julian Lam
43ffe3f9b5 updated text and fallbacks for #6479 2018-04-30 13:01:05 -04:00
Julian Lam
083ff9f637 bump themes, closes #6479 2018-04-30 12:51:10 -04:00
Julian Lam
178d4b2f92 don't allow room owner to kick themselves out 2018-04-30 12:49:42 -04:00
Julian Lam
5dc25a3c00 Merge remote-tracking branch 'origin/master' into chat-kick-support 2018-04-30 12:43:49 -04:00
Julian Lam
a08572b800 kick support for chats, #6479 2018-04-30 12:35:17 -04:00
Misty (Bot)
054755d3d4 Latest translations and fallbacks 2018-04-30 09:25:50 +00:00
Barış Soner Uşaklı
8ed86aaf13 closes #6476 2018-04-29 19:32:39 -04:00
Misty (Bot)
f6fdf27b14 Latest translations and fallbacks 2018-04-29 09:25:12 +00:00
Barış Soner Uşaklı
beadcd7857 fix tests, remove dupe exposeUid 2018-04-28 10:25:17 -04:00
Misty (Bot)
1e63d32e78 Latest translations and fallbacks 2018-04-28 09:25:00 +00:00
Julian Lam
30cdeb6f32 closes #6463 2018-04-27 16:03:40 -04:00
Julian Lam
dc386b5b23 Merge branch 'master' into user-blocking 2018-04-27 15:58:04 -04:00
Julian Lam
a0643b63df uncommenting tests again 2018-04-27 15:55:36 -04:00
Julian Lam
21b621e91b bumping theme versions for develop merge 2018-04-27 15:40:12 -04:00
Julian Lam
53296c46e5 Merge remote-tracking branch 'origin/master' into develop 2018-04-27 15:37:58 -04:00
Julian Lam
4bac78a568 wrapping up basic blocking UCP for #6463 2018-04-27 15:37:00 -04:00
Julian Lam
8db98b5cf4 additional UCP integration for #6463 2018-04-27 12:51:04 -04:00
Julian Lam
fdc30537cb Merge remote-tracking branch 'origin/master' into user-blocking 2018-04-27 10:55:50 -04:00
Barış Soner Uşaklı
7c43c7e0f9 closes #6473 2018-04-26 14:38:36 -04:00
Barış Soner Uşaklı
bc18b489e6 fix group test 2018-04-26 12:42:19 -04:00
Barış Soner Uşaklı
9ae5946e7a Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-04-26 12:17:51 -04:00
Barış Soner Uşaklı
7e00d6b91e https://github.com/NodeBB/NodeBB/issues/6433 2018-04-26 12:16:22 -04:00
Barış Soner Uşaklı
896b8553f7 up composer 2018-04-26 12:01:51 -04:00
Julian Lam
3951bb9532 Merge remote-tracking branch 'origin/master' into user-blocking 2018-04-26 09:59:37 -04:00
Barış Soner Uşaklı
505e511e4d fix tests 2018-04-25 13:21:39 -04:00
Barış Soner Uşaklı
adf9d8eb83 closes #6469 2018-04-25 12:45:25 -04:00
Barış Soner Uşaklı
14914b7610 handle missing config.json 2018-04-24 13:26:08 -04:00
Julian Lam
7089e5c6a6 Merge remote-tracking branch 'origin/master' into develop 2018-04-24 11:55:17 -04:00
Barış Soner Uşaklı
5461f9fa5f don't crash if there is no pluginData 2018-04-24 10:26:23 -04:00
Julian Lam
58ca093c28 closes #6408 2018-04-24 10:11:53 -04:00
Julian Lam
f0f30041f5 re: #6408 2018-04-24 10:11:53 -04:00
Andrew Rodrigues
73bc96528a better to use theme_templates_path instead 2018-04-23 17:21:49 -04:00
Andrew Rodrigues
1c09094011 show success alert + rebuild msg when ordering plugins 2018-04-23 17:18:31 -04:00
Andrew Rodrigues
ebd0899714 closes #6471 2018-04-23 17:11:35 -04:00
Julian Lam
9eac794e8e normalising behaviour for subfolder installs, #6410 2018-04-23 16:05:37 -04:00
Barış Soner Uşaklı
6659a520e0 closes #6465 2018-04-22 09:10:02 -04:00
Misty (Bot)
bb3f98eb05 Latest translations and fallbacks 2018-04-21 09:26:25 +00:00
Julian Lam
ca932d30d2 basic UCP integration #6463 2018-04-20 15:04:42 -04:00
Julian Lam
4f6cc20457 completed basic integration for #6463 2018-04-20 14:48:10 -04:00
Julian Lam
322d8236d2 added test for User.blocks.is, re: #6463 2018-04-20 14:15:52 -04:00
Julian Lam
032ec8b443 tests!!! glorious tests!!!
re: #6463
2018-04-20 14:12:15 -04:00
Julian Lam
a367b698e3 a bit more integration for #6463 2018-04-20 13:49:23 -04:00
Julian Lam
bfee23adee basic methods and initial integration for #6463 2018-04-20 12:20:48 -04:00
Julian Lam
877b45ab00 adding old path to uploads as well, to ajaxify shirt-circuit 2018-04-20 10:35:54 -04:00
Misty (Bot)
03758a41c3 Latest translations and fallbacks 2018-04-20 09:26:33 +00:00
Julian Lam
bdbdf510e0 closes #6462 2018-04-19 14:24:01 -04:00
Misty (Bot)
2482696e35 Latest translations and fallbacks 2018-04-19 09:26:18 +00:00
Andrew Rodrigues
a3224cc4ba added missing language key 2018-04-18 18:04:05 -04:00
Andrew Rodrigues
0971625e63 allow global mods to still login locally as well as admins if disabled in ACP 2018-04-18 17:59:38 -04:00
Misty (Bot)
b188ff6f26 Latest translations and fallbacks 2018-04-18 09:26:19 +00:00
Julian Lam
1f1e055509 updated post association code to only associate files that exist, closes #6455 2018-04-17 13:31:54 -04:00
Julian Lam
fc3ecedf7c Merge remote-tracking branch 'origin/master' into develop 2018-04-17 11:33:53 -04:00
Julian Lam
777d9aeee6 implement proper file sorting by mtime in ACP uploads 2018-04-17 11:33:41 -04:00
Julian Lam
388765bdf9 added post usage column to uploads ACP page
re: #6455
2018-04-17 11:25:11 -04:00
Julian Lam
03dd9dd49b fixed up relative pathing issue in ACP uploads again 2018-04-17 08:58:44 -04:00
Julian Lam
360fb69723 upload script for #6455, @psychobunny 2018-04-16 17:00:25 -04:00
Julian Lam
364ded4f8e Merge remote-tracking branch 'origin/master' into develop 2018-04-16 16:53:33 -04:00
Julian Lam
5420c4bb68 fix relative_path issue with uploads ACP page 2018-04-16 16:52:59 -04:00
Julian Lam
0f13ae3c87 added isOrphan method, #6455 2018-04-16 16:44:17 -04:00
Julian Lam
2e125293e6 save reverse association of md5 of upload to pid, #6455 2018-04-16 16:22:20 -04:00
Julian Lam
d25ab31427 proper handling of extensionless files 2018-04-16 15:36:59 -04:00
Julian Lam
850f59a1ae additional functionality, integration, and testing for #6455 2018-04-16 15:21:48 -04:00
Julian Lam
5943389b7a tests for #6455 2018-04-16 12:46:25 -04:00
Misty (Bot)
7cfc74eeba Latest translations and fallbacks 2018-04-16 09:26:29 +00:00
Misty (Bot)
5151b8523a Latest translations and fallbacks 2018-04-14 09:26:03 +00:00
Barış Soner Uşaklı
7b93de2731 increase post cache size 2018-04-13 18:16:47 -04:00
Barış Soner Uşaklı
4109f2c142 add filter:email.params 2018-04-13 17:57:40 -04:00
Barış Soner Uşaklı
501d02220c closes #6456 2018-04-13 17:09:46 -04:00
Julian Lam
551daa141b basic methods for #6455 2018-04-13 16:12:11 -04:00
Julian Lam
a4dc62c7c7 closes #6441 2018-04-13 12:33:51 -04:00
Julian Lam
67dec83011 profile export for #6441 + integration 2018-04-13 12:18:02 -04:00
Julian Lam
a6564b7b4e endpoint to download user attachments, #6441 2018-04-13 11:58:31 -04:00
Misty (Bot)
bdd693c989 Latest translations and fallbacks 2018-04-13 09:26:41 +00:00
Julian Lam
6088c37f5a Revert "fixing tests"
Turns out baris already fixed them

This reverts commit 3bc0266aa4.
2018-04-12 19:59:28 -04:00
Julian Lam
3bc0266aa4 fixing tests 2018-04-12 19:58:40 -04:00
Andrew Rodrigues
305f4676a0 bump emoji 2018-04-12 17:35:36 -04:00
Barış Soner Uşaklı
1cda38541a up dbsearch 2018-04-12 14:05:18 -04:00
Barış Soner Uşaklı
ed289ebeab two more text fixes 2018-04-12 13:28:18 -04:00
Julian Lam
65c8457898 fixing tests that broke due to gdpr requirement 2018-04-12 12:51:52 -04:00
Barış Soner Uşaklı
5d2a7106f6 change upload storage 2018-04-12 12:35:05 -04:00
Barış Soner Uşaklı
3fb28e9246 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-04-12 12:16:22 -04:00
Julian Lam
0de40188f1 Add build/export to repo 2018-04-12 11:09:30 -04:00
Julian Lam
ee78e874dc add archiver dependency 2018-04-12 10:53:55 -04:00
Julian Lam
6d61fcbe83 bump mentions 2018-04-12 10:38:52 -04:00
Misty (Bot)
d94e3d5640 Latest translations and fallbacks 2018-04-12 09:26:58 +00:00
Barış Soner Uşaklı
4cd0020584 closes #6449 2018-04-11 16:38:58 -04:00
Julian Lam
7ba2ac9f69 Merge remote-tracking branch 'origin/master' into develop 2018-04-11 16:30:03 -04:00
Julian Lam
90a99fe158 closes #6442 2018-04-11 15:02:48 -04:00
Julian Lam
8fcf57dfad stripped double relative path from og urls, #6442 2018-04-11 14:41:10 -04:00
Barış Soner Uşaklı
bb13c4948d closes #6448 2018-04-11 13:18:52 -04:00
Julian Lam
2b35ba8376 save package_manager into config.json if set in setup.json 2018-04-11 11:53:33 -04:00
Julian Lam
9d8dc6f589 encode user agent in request sent to github to retrieve tags 2018-04-11 10:51:57 -04:00
Misty (Bot)
8e19f11a0c Latest translations and fallbacks 2018-04-11 09:27:24 +00:00
Peter Jaszkowiak
ce09813bf0 Show failed minify file and fix username editing privilege (#6445)
* Fix global mods and admins being unable to change usernames

* Message file which failed to minify
2018-04-10 16:06:25 -04:00
Julian Lam
2e6e7f7484 posts export endpoint for GDPR, re: #6441 2018-04-10 15:59:24 -04:00
Andrew Rodrigues
de9f429b89 prepopulate traffic graph datepicker to make life easier 2018-04-10 15:17:08 -04:00
Julian Lam
f216991cf1 bump composer for nodebb/nodebb#6418 2018-04-10 18:54:32 +00:00
Barış Soner Uşaklı
1606944f71 up dbsearch 2018-04-10 14:26:53 -04:00
Barış Soner Uşaklı
47bfd81886 up dbsearch 2018-04-10 13:44:25 -04:00
Misty (Bot)
22281d4552 Latest translations and fallbacks 2018-04-10 09:26:39 +00:00
Barış Soner Uşaklı
ef99ef86a4 fix lang-key 2018-04-09 20:23:36 -04:00
Barış Soner Uşaklı
927537c759 #6431 add private upload info 2018-04-09 20:22:36 -04:00
Barış Soner Uşaklı
b35bfb81ce ability to delete uploads from account page #6431 2018-04-09 20:03:33 -04:00
Julian Lam
f9f75c6b43 fix accidental client-side invocation of post history controls if it was disabled via ACP 2018-04-09 16:02:29 -04:00
Julian Lam
8e822c7772 Added user consent pages (#6430)
- "Your Rights & Consent" user settings page
2018-04-09 12:23:53 -04:00
Andrew Rodrigues
d949aeed49 reposition legend in fs mode 2018-04-09 12:12:10 -04:00
Andrew Rodrigues
bdf67bd1c4 fix for large resolutions 2018-04-09 12:01:57 -04:00
Andrew Rodrigues
5e74e45c5a because ms edge. 2018-04-09 11:55:35 -04:00
Andrew Rodrigues
67c8d4b560 maximize graph w/ fullscreen API 2018-04-09 11:50:30 -04:00
Misty (Bot)
8764f1f190 Latest translations and fallbacks 2018-04-09 09:26:32 +00:00
Misty (Bot)
d9c9679310 Latest translations and fallbacks 2018-04-08 09:26:23 +00:00
Misty (Bot)
d8958bb8df Latest translations and fallbacks 2018-04-07 09:26:23 +00:00
Barış Soner Uşaklı
7cd004ca23 user uploads route 2018-04-06 15:42:53 -04:00
Barış Soner Uşaklı
04979f86a8 delete users uploads on account delete
store uid:<uid>:uploads
2018-04-06 15:16:28 -04:00
Barış Soner Uşaklı
ddd3dfc7f0 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-04-06 12:18:41 -04:00
Barış Soner Uşaklı
09ef3999b0 fix lint 2018-04-06 11:59:22 -04:00
Barış Soner Uşaklı
c42ab5a97a up mentions 2018-04-06 11:40:52 -04:00
Barış Soner Uşaklı
a4c24cb66b fix saving multiple selects as json arrays 2018-04-06 11:39:19 -04:00
Julian Lam
c6c31e9e5f a tiny bit of work to make our casing a little less insane 2018-04-06 11:22:08 -04:00
Barış Soner Uşaklı
0d64ca1f97 closes #6436 2018-04-06 10:42:11 -04:00
Julian Lam
e9ed7f0bb3 closes #6435 2018-04-06 10:16:26 -04:00
Misty (Bot)
339c359816 Latest translations and fallbacks 2018-04-06 09:26:44 +00:00
Barış Soner Uşaklı
aef788f3ee remove unused var 2018-04-05 17:09:14 -04:00
Julian Lam
13a3f44ed3 closes #6432 2018-04-05 16:53:12 -04:00
Barış Soner Uşaklı
47606c8df5 merge 2018-04-05 16:46:32 -04:00
Julian Lam
3b57d3eadb closes #6434 2018-04-05 14:35:49 -04:00
Barış Soner Uşaklı
0070f5c1b2 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-04-05 12:34:38 -04:00
Barış Soner Uşaklı
50f4fd5345 remove dupe code in minify_js 2018-04-05 11:34:33 -04:00
Misty (Bot)
647f1bb3ed Latest translations and fallbacks 2018-04-05 09:27:08 +00:00
Julian Lam
b2c69805f3 bump composer-default 2018-04-04 20:37:15 -04:00
Julian Lam
697699f969 updated password reset send success text 2018-04-04 20:37:15 -04:00
Misty (Bot)
ed5c92b16e Incremented version number - v1.8.2 2018-04-04 19:47:11 +00:00
Misty (Bot)
f4aae44c02 Latest translations and fallbacks 2018-04-04 17:51:51 +00:00
Julian Lam
f769e734ed removed error output from user reset for rate limiting or incorrect email, so users cannot validate emails via this endpoint 2018-04-04 13:09:53 -04:00
Julian Lam
9c4d17dbf1 bump composer-default, fixes #6423 2018-04-04 12:26:06 -04:00
Barış Soner Uşaklı
76eccaa602 closes #6424 2018-04-04 11:39:29 -04:00
Julian Lam
56f24452c2 bump slick theme 2018-04-04 10:56:03 -04:00
Julian Lam
5593a3e9ad bump themes 2018-04-03 17:23:20 -04:00
Barış Soner Uşaklı
8b16a63cc2 closes #6419 2018-04-03 15:45:32 -04:00
Barış Soner Uşaklı
11b15872d6 lint 2018-04-03 15:22:20 -04:00
Barış Soner Uşaklı
244eb4df2e up composer 2018-04-03 15:16:45 -04:00
Barış Soner Uşaklı
d8e75351df up themes 2018-04-03 14:24:56 -04:00
Barış Soner Uşaklı
caf43e3025 closes #6358 2018-04-03 14:20:07 -04:00
Barış Soner Uşaklı
df770aed8e closes #6416 2018-04-02 12:48:26 -04:00
Julian Lam
113fed05d8 closes #6412 2018-04-02 12:29:22 -04:00
Julian Lam
9641ada53c fixes #6415 2018-04-02 12:28:20 -04:00
Julian Lam
2f0f1481f6 closes #6414 2018-04-02 10:44:23 -04:00
Julian Lam
c1aa46c663 added new option to disable post diffs /cc @BenLubar 2018-04-02 10:04:54 -04:00
Misty (Bot)
6ebfeaade2 Latest translations and fallbacks 2018-04-02 09:26:24 +00:00
Misty (Bot)
59509daf42 Latest translations and fallbacks 2018-04-01 09:26:21 +00:00
Misty (Bot)
0b7d802265 Latest translations and fallbacks 2018-03-30 09:27:00 +00:00
Misty (Bot)
9c5a4792f7 Latest translations and fallbacks 2018-03-29 09:26:35 +00:00
Misty (Bot)
14c4d9c624 Latest translations and fallbacks 2018-03-28 09:26:59 +00:00
Barış Soner Uşaklı
37d018944a up dbsearch 2018-03-27 20:53:34 -04:00
Barış Soner Uşaklı
749b282cdd add matchwords to search api 2018-03-27 20:32:57 -04:00
Barış Soner Uşaklı
60f8870b72 pass template to widget container parse 2018-03-27 18:58:23 -04:00
Barış Soner Uşaklı
2faaf5b35f closes https://github.com/julianlam/nodebb-plugin-mentions/issues/99 2018-03-27 17:01:51 -04:00
Misty (Bot)
cca9c6408b Latest translations and fallbacks 2018-03-27 09:26:33 +00:00
Peter Jaszkowiak
c93651b2d1 Fix alternate config file support (#6405) 2018-03-26 16:25:19 -04:00
Baris Usakli
46576189be closes #6392 2018-03-26 16:22:13 -04:00
Peter Jaszkowiak
968d5e441f Fix rebuild ACP alert not working sometimes (#6403) 2018-03-26 15:53:07 -04:00
Peter Jaszkowiak
a00f1f9a81 Use uglify-es for ES6 support (#6402) 2018-03-26 15:37:53 -04:00
Timothy Fike
585d613d4b fix reload actions (#6394)
* fix reload actions

* wait until restart action is complete instead of using timeouts.

* Change Reload nominclature to Rebuild and Restart.
2018-03-26 15:17:40 -04:00
Julian Lam
0158b1aa91 Various password logic fixes on client and server-side
Fixes #6399
Fixes #6400
2018-03-26 12:55:50 -04:00
Baris Usakli
5c8bf3ce95 add missing radix 2018-03-26 12:45:17 -04:00
Julian Lam
9aa9183cc3 implementing zxcvbn in reset-code tpl, re: #6400 2018-03-26 12:35:51 -04:00
Baris Usakli
59dc4024b9 guests should be offline 2018-03-26 12:05:42 -04:00
Peter Jaszkowiak
dcf1865b54 Fix ACP alerts to use same system as client (#6396)
* Fix PostCSS warning message

* Fix disconnect indicator styling

Would increase size of quick actions when active

* Use same alert system in ACP and client

- Remove snackbar
- Add styling and fix template for ACP (based on Persona)
2018-03-26 11:55:01 -04:00
Misty (Bot)
dae6acda82 Latest translations and fallbacks 2018-03-26 09:26:19 +00:00
Barış Soner Uşaklı
6ebaa800fe fix popular cache for guests 2018-03-23 21:22:34 -04:00
Barış Soner Uşaklı
5281b84521 add missing translation 2018-03-23 14:27:14 -04:00
Barış Soner Uşaklı
b1ccd04ffc closes #6386 2018-03-23 11:27:09 -04:00
Barış Soner Uşaklı
2cbae54025 fix focus 2018-03-23 10:26:45 -04:00
Barış Soner Uşaklı
51bd30fe92 closes #6385 2018-03-23 10:04:30 -04:00
Barış Soner Uşaklı
e1df8bd0f0 closes #6390 2018-03-23 09:48:24 -04:00
Misty (Bot)
1cc2a0cc2f Latest translations and fallbacks 2018-03-23 09:26:26 +00:00
Julian Lam
da328662c5 don't flatten arrays, stringify them, in installer 2018-03-22 19:35:58 -04:00
Barış Soner Uşaklı
b6a917ed10 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2018-03-22 18:46:40 -04:00
Barış Soner Uşaklı
fbed4c056e show env vars passed to setup 2018-03-22 18:45:00 -04:00
Julian Lam
7fe0c3b468 bump emoji plugin 2018-03-22 18:37:33 -04:00
Barış Soner Uşaklı
e77fd85585 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2018-03-22 18:36:40 -04:00
Barış Soner Uşaklı
925d858fe6 dont json.parse if already array 2018-03-22 18:33:35 -04:00
Anil Mandepudi
d1dbe0af76 up slick theme (#6383) 2018-03-22 17:40:52 -04:00
Barış Soner Uşaklı
40d5b4f8ba change to eachSeries 2018-03-22 17:02:39 -04:00
Barış Soner Uşaklı
77d47b31fb cleanly shutdown
wait for webserver to stop accepting connections
destroy current connections
wait for db connection to close
2018-03-22 16:36:23 -04:00
Julian Lam
1d42d1a6d2 moving expected location of setup.json to root 2018-03-22 14:50:39 -04:00
Barış Soner Uşaklı
c9a989f656 up dbsearch 2018-03-22 11:22:52 -04:00
Julian Lam
e8d4fe3209 Revert "closes #6380"
Turns out the issue was a malformed flag object, and not anything
code-wise

This reverts commit 956c5a2a32.
2018-03-22 09:58:09 -04:00
Julian Lam
956c5a2a32 closes #6380 2018-03-22 09:14:37 -04:00
Misty (Bot)
a0c3e9dd92 Latest translations and fallbacks 2018-03-22 09:26:23 +00:00
Barış Soner Uşaklı
f85a2f71c0 up persona 2018-03-21 20:42:27 -04:00
Julian Lam
741693bc1f closes #6378 2018-03-21 17:00:49 -04:00
Misty (Bot)
e76c85b224 Incremented version number - v1.8.1 2018-03-21 15:50:14 -04:00
Baris Usakli
06db1694b8 up dbsearch 2018-03-21 12:56:51 -04:00
Baris Usakli
3c4b4f5263 don't call calback twice #6375 2018-03-21 12:25:25 -04:00
Baris Usakli
bf770636c5 closes #6377 2018-03-21 12:00:15 -04:00
Barış Soner Uşaklı
75e2ab8957 remove unnecessary code 2018-03-21 10:09:09 -04:00
Barış Soner Uşaklı
ae0f1847ae allow multiple origins for access-control-allow-origin header
add access-control-allow-credentials header to acp
2018-03-20 12:25:00 -04:00
Julian Lam
ae46ec0cae fix tests, #6368 2018-03-20 11:55:24 -04:00
Julian Lam
ebc67185c3 closes #6368 2018-03-20 10:55:35 -04:00
Julian Lam
bf2e905ced fixed tests, closes #6371 2018-03-20 10:32:53 -04:00
Julian Lam
9e44fc6ae2 fixes #6371 2018-03-20 08:41:49 -04:00
Peter Jaszkowiak
eaae5b52cd ACP quick actions (#6374)
* ACP quick actions

- Moved restart, build & restart, and logout into separate buttons
- Moved buttons on mobile into the side menu
- Added version and upgrade alert to header / mobile menu
- Moved version checking to server-side with a cache for rate limiting
- Changed "reload" translations to "rebuild and restart"

* Change info alert to black-on-white to match focused search bar

* Fix tests

* Fallback for failed fetch of latest version
2018-03-20 08:32:17 -04:00
Julian Lam
81e085bb9d bump mentions, julianlam/nodebb-plugin-mentions#97 2018-03-20 08:22:06 -04:00
Misty (Bot)
4d09d467f7 Latest translations and fallbacks 2018-03-20 09:27:01 +00:00
Barış Soner Uşaklı
dcb6af5768 closes #6373 2018-03-19 16:24:22 -04:00
Misty (Bot)
6f044ce8d3 Latest translations and fallbacks 2018-03-18 09:26:18 +00:00
Barış Soner Uşaklı
fde44cb9b9 pass array to groups.destroy
pass array to db.sortedSetRemove
2018-03-17 19:55:23 -04:00
Barış Soner Uşaklı
55b872fe3e add check 2018-03-17 19:17:19 -04:00
Barış Soner Uşaklı
be5c237388 fix decr/incrObjectField if key in array doesn't exist create it 2018-03-17 19:08:52 -04:00
Barış Soner Uşaklı
6a9a73c86c changes to leaveAllGroups
Groups.destroy can take an array of groupnames
Groups.leave can take an array of groupnames
db.incrObjectField/decrObjectField can take an array of keys
db.sortedSetRemove can take an array of keys and values
db.setRemove can take an array of keys
2018-03-17 18:49:38 -04:00
Misty (Bot)
ed3dd1cc25 Latest translations and fallbacks 2018-03-17 09:25:58 +00:00
Barış Soner Uşaklı
cfedcf7e0b check username 2018-03-16 20:58:11 -04:00
Barış Soner Uşaklı
fe18a12ee0 if object doesn't exist user doesn't exist 2018-03-16 20:49:45 -04:00
Barış Soner Uşaklı
2d7d4a3fb4 use setsRemove 2018-03-16 19:23:06 -04:00
Barış Soner Uşaklı
7221b71b68 add test for srem with multi elements 2018-03-16 19:07:37 -04:00
Julian Lam
1e01af4d89 closes #6366 2018-03-16 16:49:06 -04:00
Barış Soner Uşaklı
8b615c64fa move emailsPath to function 2018-03-16 11:26:26 -04:00
Misty (Bot)
29a3d8bd53 Latest translations and fallbacks 2018-03-16 09:26:18 +00:00
Julian Lam
a1338221bf codeclimate made me make my code ugly 😢 2018-03-15 16:03:29 -04:00
Julian Lam
9197879291 fixes #6359 2018-03-15 15:53:52 -04:00
Julian Lam
693c7a3b85 fix 'invalid date' in post history dropdown, #6362 2018-03-15 15:48:25 -04:00
Julian Lam
5d2e6f0e8e Squashed commit of the following:
commit 7bd46afad7033a466626826d3e29610f41328510
Author: Julian Lam <julian@nodebb.org>
Date:   Thu Mar 15 15:41:36 2018 -0400

    fixes #6363

commit 4b755d5801b2f6d70cea10516f88392708c72f61
Author: Julian Lam <julian@nodebb.org>
Date:   Thu Mar 15 15:24:12 2018 -0400

    fixes #6362

commit 6035e75453a08aee0fef7ff59d57dd5c1e8f4ac9
Author: Julian Lam <julian@nodebb.org>
Date:   Thu Mar 15 15:07:23 2018 -0400

    Fixes #6361
2018-03-15 15:42:20 -04:00
Baris Usakli
8492a1586f closes #6360 2018-03-15 15:05:44 -04:00
Baris Usakli
9747c39cd7 up composer-default 2018-03-15 13:44:48 -04:00
Baris Usakli
29b7c67946 use utils.toISOString 2018-03-15 12:43:11 -04:00
Baris Usakli
a48144e632 dont crash if description is numeric 2018-03-15 12:40:43 -04:00
Baris Usakli
38acedf5bb lint 2018-03-15 12:18:54 -04:00
Baris Usakli
959a742c63 add llen to dbal 2018-03-15 12:06:40 -04:00
Julian Lam
fd13f690ae bump themes to resolve backward text on mobile chat, #6192 2018-03-15 10:57:36 -04:00
Misty (Bot)
f56e244ba1 Latest translations and fallbacks 2018-03-15 09:26:14 +00:00
Misty (Bot)
43e914c91d Incremented version number - v1.8.0 2018-03-14 19:58:38 -04:00
Andrew Rodrigues
8a220b944e fix graph legend container on smaller widths 2018-03-14 16:28:42 -04:00
Misty (Bot)
7da2e54980 Latest translations and fallbacks 2018-03-13 09:27:09 +00:00
Baris Usakli
52ab0a00d9 use the acp config for homePageTitle 2018-03-12 13:24:16 -04:00
Julian Lam
4d9e2b1160 fixes #6354 2018-03-12 12:50:12 -04:00
Aziz Khoury
dc83e85bb4 add maximumChatMessageLength to defaults.json (#6352) 2018-03-11 11:41:04 -04:00
Misty (Bot)
6a07de2963 Latest translations and fallbacks 2018-03-11 09:26:25 +00:00
Barış Soner Uşaklı
beb4307a91 up persona 2018-03-10 10:41:09 -05:00
Misty (Bot)
0f80c466e0 Latest translations and fallbacks 2018-03-10 09:26:22 +00:00
Julian Lam
9ea6dbc0e7 fix flag tests 2018-03-09 14:31:59 -05:00
Julian Lam
a126f07471 closes #6043 2018-03-09 12:57:52 -05:00
Barış Soner Uşaklı
221f9848d2 closes #6349 2018-03-09 11:12:27 -05:00
Barış Soner Uşaklı
96f55c528e don't crash if config is undefined 2018-03-09 11:12:27 -05:00
Misty (Bot)
bafb8842e6 Latest translations and fallbacks 2018-03-09 09:27:04 +00:00
Julian Lam
84b7892085 require meta in the method that actually needs it 2018-03-08 16:53:18 -05:00
Andrew Rodrigues
3292542faa Merge branch 'master' of https://github.com/NodeBB/NodeBB 2018-03-08 12:18:18 -05:00
Andrew Rodrigues
5602092de9 closes #6347 2018-03-08 12:18:02 -05:00
Misty (Bot)
9baeb11b56 Latest translations and fallbacks 2018-03-08 09:27:35 +00:00
Julian Lam
346187d65d fixes #6176 2018-03-07 14:45:09 -05:00
Andrew Rodrigues
e56d7a10a6 up persona 2018-03-07 14:21:54 -05:00
Julian Lam
3cbca69b27 closes #6346 2018-03-07 12:26:31 -05:00
Misty (Bot)
8c370f63fb Latest translations and fallbacks 2018-03-07 09:26:53 +00:00
Barış Soner Uşaklı
ffce9c8dda up lavender 2018-03-06 23:12:12 -05:00
Baris Usakli
af013b3090 up slick 2018-03-06 17:19:31 -05:00
Baris Usakli
a5cceabc89 dont go below 0 2018-03-06 16:37:35 -05:00
Barış Soner Uşaklı
917cbc9273 closes https://github.com/NodeBB/nodebb-widget-essentials/issues/38 2018-03-04 19:12:09 -05:00
Barış Soner Uşaklı
bce640e514 closes #6340 2018-03-03 12:31:27 -05:00
Julian Lam
ee50a340cd bump themes to develop versions 2018-03-02 13:18:37 -05:00
Julian Lam
c93f943bef Merge branch 'develop' 2018-03-02 13:15:39 -05:00
Julian Lam
ebfd3372f0 bump mentions 2018-03-02 11:17:09 -05:00
Barış Soner Uşaklı
b86c4b3073 closes #6303 2018-03-01 12:04:12 -05:00
Barış Soner Uşaklı
ec1add91e9 fix userTitleEnabled 2018-03-01 10:30:09 -05:00
Barış Soner Uşaklı
7d627fe19a #6338 2018-03-01 10:28:18 -05:00
Barış Soner Uşaklı
db2cd527a1 up vanilla 2018-03-01 09:38:16 -05:00
Barış Soner Uşaklı
e1c6761087 closes #6258 2018-02-28 17:38:31 -05:00
Barış Soner Uşaklı
245e1a9159 closes #6334 2018-02-28 16:32:39 -05:00
Barış Soner Uşaklı
7b45a6ea8b Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-02-28 16:08:25 -05:00
Julian Lam
c938711f9c not using Posts.parsePost for diffs parsing 2018-02-28 15:56:55 -05:00
Misty (Bot)
49a9ee5024 Latest translations and fallbacks 2018-02-28 09:26:26 +00:00
Julian Lam
0d65cec3d0 fixing tests 2018-02-27 15:55:21 -05:00
Julian Lam
f97b64a0c6 Fixes #6317
While not the most elegant solution, I'm only really interested in
stopping registrations that contain two emails in one field.

The only separators I know of are the comma and semicolon. If
there are more, please let me know.
2018-02-27 15:23:55 -05:00
Barış Soner Uşaklı
b79cd93a49 add some ids to acp elements 2018-02-27 11:51:32 -05:00
Misty (Bot)
a81b015262 Latest translations and fallbacks 2018-02-27 09:26:21 +00:00
Baris Usakli
9b78b95c47 fix tests 2018-02-26 16:27:02 -05:00
Baris Usakli
1c24c34d04 add missing comma 2018-02-26 16:05:12 -05:00
Baris Usakli
d25eb674c6 make climate happy 2018-02-26 15:54:17 -05:00
Julian Lam
a8ec6a4a9c patching accidental leakage of full path of uploaded file when uploading pictures or attachments 2018-02-26 15:40:19 -05:00
Julian Lam
bfa8178663 fixing tests 2018-02-26 15:15:54 -05:00
Julian Lam
11a76449e9 bump persona for nodebb/nodebb-theme-persona#392 2018-02-26 14:31:38 -05:00
Misty (Bot)
cd2aedc691 Latest translations and fallbacks 2018-02-26 09:31:20 +00:00
Misty (Bot)
3572f8fefb Latest translations and fallbacks 2018-02-25 09:31:59 +00:00
Misty (Bot)
880ccb7fc7 Latest translations and fallbacks 2018-02-24 09:31:17 +00:00
Julian Lam
580440c57c bump markdown for checkboxes 2018-02-23 16:00:21 -05:00
Barış Soner Uşaklı
5069892b97 pass correct uid to client side
-1 spider,0 guest, >0 regular user
2018-02-23 15:34:31 -05:00
Barış Soner Uşaklı
e4992f37dc up composer 2018-02-23 15:25:15 -05:00
Julian Lam
c25d752573 Merge remote-tracking branch 'origin/master' into develop 2018-02-23 14:48:38 -05:00
Misty (Bot)
d65ce41879 Latest translations and fallbacks 2018-02-23 09:25:22 +00:00
Barış Soner Uşaklı
937f37de1e up persona 2018-02-22 18:03:36 -05:00
Misty (Bot)
4686b32c54 Latest translations and fallbacks 2018-02-22 09:25:06 +00:00
Julian Lam
98b0bdc7e1 added helmet for better standard of protection across the board 2018-02-21 14:13:29 -05:00
Barış Soner Uşaklı
c7b73b4e41 closes #6337 2018-02-21 12:52:26 -05:00
Barış Soner Uşaklı
a0dfc43cc4 up composer 2018-02-21 11:49:58 -05:00
Julian Lam
52678621f9 revising minimum password strength to be 1 instead of 0 2018-02-21 11:06:07 -05:00
Barış Soner Uşaklı
264893a71b closes #6336 2018-02-21 08:41:22 -05:00
Misty (Bot)
12fdd7bb63 Latest translations and fallbacks 2018-02-21 09:25:23 +00:00
Julian Lam
964fd20213 removed addNoReferrer usage as it is done server-side now 2018-02-20 16:42:13 -05:00
Julian Lam
7edc58b727 stricter Referrer-Policy to reduce unintended information leakage 2018-02-20 16:11:07 -05:00
Julian Lam
a4a961639d only triggering forum updated messaging if hostname matches, fixes #6333 2018-02-20 15:32:44 -05:00
Julian Lam
9a1f722a05 appending X-Upstream-Hostname header in dev mode 2018-02-20 14:51:41 -05:00
Barış Soner Uşaklı
b9d410d612 closes #6332 2018-02-20 12:53:05 -05:00
Misty (Bot)
7bdd2144e0 Latest translations and fallbacks 2018-02-20 09:25:02 +00:00
Barış Soner Uşaklı
2796cff3dc up benchpress 2018-02-19 17:31:04 -05:00
Barış Soner Uşaklı
c707e98423 closes #6331 2018-02-19 11:45:06 -05:00
Barış Soner Uşaklı
e36657d48c add tpl path to error messages 2018-02-19 11:17:15 -05:00
Misty (Bot)
9034424369 Latest translations and fallbacks 2018-02-18 09:24:40 +00:00
Andrew Rodrigues
6e45d12a83 bump composer 2018-02-18 01:11:33 -05:00
Julian Lam
0f2103dadf bumping mentions @barisusakli 2018-02-17 21:31:54 -05:00
Barış Soner Uşaklı
225af93b9e closes #6329 2018-02-17 14:35:02 -05:00
Barış Soner Uşaklı
b4dea7930a up spam-be-gone 2018-02-17 14:35:01 -05:00
Julian Lam
d8b86dc850 Merge branch 'post-history' into develop 2018-02-16 21:23:32 -05:00
Julian Lam
1ce448f2a1 Merge remote-tracking branch 'origin/master' into develop 2018-02-16 21:23:25 -05:00
Julian Lam
a86d91a552 wrapping up post history work 2018-02-16 21:22:55 -05:00
Julian Lam
c1fef4561b showing history state in post tools load 2018-02-16 18:31:50 -05:00
Julian Lam
501fc3cee9 WIP post diffs 2018-02-16 18:29:19 -05:00
Julian Lam
55788382ea Merge remote-tracking branch 'origin/master' into develop 2018-02-16 18:21:55 -05:00
Julian Lam
2b95b13397 closes #6328 2018-02-16 16:59:35 -05:00
Barış Soner Uşaklı
825c493c40 show error 2018-02-16 09:48:32 -05:00
Misty (Bot)
b126d7ef09 Latest translations and fallbacks 2018-02-16 09:25:00 +00:00
Barış Soner Uşaklı
b240ae89cd #6289 2018-02-15 15:50:44 -05:00
Barış Soner Uşaklı
1c530c4f09 up persona 2018-02-15 14:53:59 -05:00
Barış Soner Uşaklı
15e9bbac92 closes #6311 2018-02-15 14:52:49 -05:00
Barış Soner Uşaklı
a224c557c0 closes #6326 2018-02-15 12:46:04 -05:00
Misty (Bot)
854f79142e Latest translations and fallbacks 2018-02-15 09:25:16 +00:00
Barış Soner Uşaklı
575b70b5ab add some checks to templatesOnDemand 2018-02-14 16:29:33 -05:00
Barış Soner Uşaklı
dcc896ee05 add tid to vote notifs 2018-02-14 13:40:12 -05:00
Barış Soner Uşaklı
fa0328fe35 fix my copy paste fail 2018-02-14 12:33:19 -05:00
Barış Soner Uşaklı
708fda9372 use old settings if available 2018-02-14 12:31:33 -05:00
Barış Soner Uşaklı
723f31a362 closes #6323 2018-02-14 11:53:57 -05:00
Julian Lam
da3ce2e1d5 added error text for multiple associations 2018-02-14 10:38:01 -05:00
Barış Soner Uşaklı
379a156328 add status code to body 2018-02-13 14:49:30 -05:00
Barış Soner Uşaklı
651b1cc9f8 closes #6321 2018-02-13 10:52:05 -05:00
Barış Soner Uşaklı
7b6282f530 closes #6308 2018-02-12 17:12:24 -05:00
Julian Lam
d1368eb549 bumping version number 2018-02-12 12:27:58 -05:00
Julian Lam
f7c412882a add reset routes to robots.txt disallow 2018-02-12 11:13:59 -05:00
Andrew Rodrigues
eddd1697e4 up composer 2018-02-10 15:03:15 -05:00
Barış Soner Uşaklı
cf087b6070 #6272 strip all tags 2018-02-10 14:42:02 -05:00
Misty (Bot)
52092531c7 Latest translations and fallbacks 2018-02-10 09:24:46 +00:00
Barış Soner Uşaklı
eca593bbac up lavender 2018-02-09 10:07:09 -05:00
Barış Soner Uşaklı
34bacb159f up themes 2018-02-09 10:01:52 -05:00
Andrew Rodrigues
d7722de210 bump emoji to ^2.1.0 2018-02-08 20:08:41 -05:00
Andrew Rodrigues
cb326958cb bump emoji to ^2.1.0 2018-02-08 20:04:48 -05:00
Ben Lubar
00776bdd8e Bookmark optimization (#6315)
* Set the user's bookmark if their current bookmark is past the end of the topic.

* Optimize forked topic bookmark updating.

Remove support for updating bookmarks for users who sort by votes.

Don't even consider updating bookmarks for users who have not read the posts being removed.

Only compute post indices once per fork operation instead of once per user that has ever read the topic.
2018-02-08 10:50:12 -05:00
Barış Soner Uşaklı
7f9d9b7654 closes #6316 2018-02-08 10:35:20 -05:00
Barış Soner Uşaklı
f2dcbcd710 closes #6318 2018-02-08 10:23:55 -05:00
Davis
9d171ca1e2 Add cid for filter:category.update hook (#6319) 2018-02-08 08:26:27 -05:00
Barış Soner Uşaklı
2983fc3e5e get group names first 2018-02-07 20:02:07 -05:00
Barış Soner Uşaklı
bb9528b82e closes #6314 2018-02-07 18:29:56 -05:00
Baris Usakli
e99d4a5c61 closes #6313 2018-02-07 15:46:11 -05:00
Baris Usakli
ecc2b9560d parseInt data.hidden add tests 2018-02-07 13:02:04 -05:00
Baris Usakli
3340db9636 remove unused var 2018-02-07 12:56:08 -05:00
Baris Usakli
ef4de68f5b closes #6312 2018-02-07 12:30:03 -05:00
Misty (Bot)
5f663b580c Latest translations and fallbacks 2018-02-07 09:25:05 +00:00
Barış Soner Uşaklı
58f5bb35fc show error 2018-02-06 16:49:54 -05:00
Barış Soner Uşaklı
6c5e99171e closes #6309 2018-02-06 14:34:49 -05:00
Barış Soner Uşaklı
3551a34138 up spam be gone 2018-02-06 12:55:03 -05:00
Misty (Bot)
8c5aa740ca Latest translations and fallbacks 2018-02-06 09:25:04 +00:00
Barış Soner Uşaklı
6cbd70d510 closes #6307 2018-02-05 10:35:23 -05:00
Barış Soner Uşaklı
d16667a5fb closes #6304 2018-02-05 10:04:19 -05:00
Barış Soner Uşaklı
0f2f97a78a Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-02-03 13:21:42 -05:00
Barış Soner Uşaklı
adc7054390 fix go to post if its on page 2018-02-03 13:09:11 -05:00
Barış Soner Uşaklı
14b5722d74 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-02-03 09:21:16 -05:00
Barış Soner Uşaklı
f119ae3103 dont show same topic in suggested 2018-02-03 09:20:56 -05:00
Barış Soner Uşaklı
36b4ca1a77 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-02-03 09:14:57 -05:00
Misty (Bot)
15192cab64 Latest translations and fallbacks 2018-02-03 09:24:41 +00:00
Barış Soner Uşaklı
958350fa6f Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-02-02 11:56:34 -05:00
Barış Soner Uşaklı
c38edb1fd4 more changes to suggested topics 2018-02-02 11:55:55 -05:00
Barış Soner Uşaklı
7a2d6fe22d Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-02-02 10:36:25 -05:00
Barış Soner Uşaklı
9d3b00f778 shuffle suggested topics, search in same category 2018-02-02 10:35:47 -05:00
Barış Soner Uşaklı
e3966a7b8f up widget-essentials 2018-02-02 10:15:43 -05:00
Barış Soner Uşaklı
089769c107 closes #6302 2018-02-02 09:41:58 -05:00
Misty (Bot)
ed506c32a2 Latest translations and fallbacks 2018-02-02 09:25:01 +00:00
psychobunny
69a8eb1100 extra fixes for #6297 2018-02-01 17:00:43 -05:00
psychobunny
6533c664d6 fix font size in appearance menus 2018-02-01 16:50:08 -05:00
Barış Soner Uşaklı
b084a596fa closes #6301 2018-02-01 14:33:06 -05:00
Julian Lam
2e2032cca1 bump mentions, julianlam/nodebb-plugin-mentions#96, @BenLubar 2018-02-01 11:27:51 -05:00
Barış Soner Uşaklı
688ade1fc7 up composer 2018-02-01 11:04:58 -05:00
Barış Soner Uşaklı
42b447ce6a closes #6297 2018-01-31 15:57:57 -05:00
Barış Soner Uşaklı
a9f6726b3d closes #6296 2018-01-31 15:55:15 -05:00
Barış Soner Uşaklı
ac1f7eefe5 closes #2304 2018-01-31 15:20:17 -05:00
psychobunny
29be18ae5b closes #6268 2018-01-31 15:03:23 -05:00
Barış Soner Uşaklı
b2cb3def98 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-01-31 13:48:50 -05:00
psychobunny
d9ccd9c319 closes #6173 2018-01-31 13:26:24 -05:00
psychobunny
d8deb322ff closes #6295 2018-01-31 13:21:15 -05:00
Andrew Rodrigues
dd34fde7b5 Merge pull request #6256 from RoiEXLab/patch-1
Start reading progress at 0
2018-01-31 12:55:10 -05:00
Barış Soner Uşaklı
8689ffe78f closes #6291 2018-01-31 12:25:06 -05:00
Misty (Bot)
211f00282c Latest translations and fallbacks 2018-01-31 09:25:24 +00:00
Andrew Rodrigues
9e0189ab34 added notification obj to emailer.send 2018-01-30 20:43:30 -05:00
Andrew Rodrigues
a5bae451f2 strip html tags from email subject 2018-01-30 19:53:38 -05:00
Julian Lam
c62e5f8130 bumping composer version 2018-01-30 14:06:09 -05:00
Julian Lam
897a7d84f9 Merge remote-tracking branch 'origin/master' into develop 2018-01-29 18:11:30 -05:00
Julian Lam
fad0c5f2d5 moved 1.8.0 upgrade scripts to 1.7.4 where they were actually released 2018-01-29 17:42:34 -05:00
Julian Lam
7581dd1174 Closes #6245
- Moved account info to within the profile menu hook, so it can be
  better filtered and shown to mods
- Also serves as a nice template for plugins that wish to listen
  to the profileMenu hook!
2018-01-29 17:39:00 -05:00
Julian Lam
fbf52407fd Re: #6425
- Exposing IP addresses to moderators
2018-01-29 17:16:26 -05:00
psychobunny
6af7d0d07d up persona 2018-01-29 16:46:08 -05:00
psychobunny
212486d230 hide topic upvotes on category page when rep system is disabled 2018-01-29 16:41:34 -05:00
Barış Soner Uşaklı
b907f08bf7 closes #6272 2018-01-29 12:36:57 -05:00
Barış Soner Uşaklı
8427601b04 closes #6287 2018-01-29 11:56:06 -05:00
Barış Soner Uşaklı
d255d0c330 up composer 2018-01-29 10:50:35 -05:00
Misty (Bot)
30f4c0adfd Latest translations and fallbacks 2018-01-28 09:24:40 +00:00
Misty (Bot)
108e1f757e Latest translations and fallbacks 2018-01-27 09:24:46 +00:00
Barış Soner Uşaklı
18ba08183c fix test 2018-01-26 19:26:48 -05:00
Barış Soner Uşaklı
08fa0683eb check is file 2018-01-26 19:04:34 -05:00
Barış Soner Uşaklı
155e20d216 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-01-26 18:58:01 -05:00
Barış Soner Uşaklı
c7506d77b0 closes #6247 2018-01-26 18:56:17 -05:00
Barış Soner Uşaklı
0a5d16d1cd closes #6284 2018-01-26 15:50:31 -05:00
Julian Lam
5e89c52041 bump markdown 2018-01-26 15:00:13 -05:00
Julian Lam
5302e79b56 fixing accidental usage of .includes
@benlubar
2018-01-26 13:22:33 -05:00
Julian Lam
5c3155f145 firing hook on chat message load and exposing upload_url to client-side 2018-01-26 13:22:11 -05:00
Barış Soner Uşaklı
2e2b97033e closes #6248 , closes #6282 2018-01-26 12:25:59 -05:00
Baris Usakli
c37be3b58f remove my stupid code 2018-01-25 13:40:08 -05:00
Baris Usakli
7aae167188 remove unused deps 2018-01-25 12:52:51 -05:00
Baris Usakli
c090ec301b fix lint 2018-01-25 12:31:43 -05:00
Baris Usakli
14fbc0dc2f remove dupe method 2018-01-25 12:30:00 -05:00
Julian Lam
08da1b262b gg 2018-01-25 12:26:57 -05:00
Julian Lam
a4939d78fe Moved ping to its own controller
re: #6281
2018-01-25 11:50:33 -05:00
Barış Soner Uşaklı
f7aa32cd05 dont crash if res.session.meta is not set 2018-01-25 09:16:08 -05:00
Misty (Bot)
b3a021a3af Latest translations and fallbacks 2018-01-25 09:25:09 +00:00
Barış Soner Uşaklı
3b3a28dc15 add ping routes to webinstaller 2018-01-24 21:05:08 -05:00
Misty (Bot)
264c8db143 Incremented version number - v1.7.4 2018-01-24 21:15:04 +00:00
Julian Lam
49c4a23e04 closes #6277 2018-01-24 13:44:48 -05:00
Julian Lam
b14e531cee Merge remote-tracking branch 'origin/master' into develop 2018-01-23 16:57:04 -05:00
Barış Soner Uşaklı
813fdaf6f6 fix pageCount calculation 2018-01-23 15:52:54 -05:00
Andrew Rodrigues
57f0368c69 bump emoji 2018-01-23 15:26:01 -05:00
Barış Soner Uşaklı
d70cdf1e28 show real emails sent number 2018-01-23 12:02:43 -05:00
Misty (Bot)
3ebb885fda Latest translations and fallbacks 2018-01-23 09:25:15 +00:00
Barış Soner Uşaklı
c0b7d4f5b5 fix redis export 2018-01-22 16:51:12 -05:00
Barış Soner Uşaklı
8a6345ded7 possible fix for pubsub 2018-01-22 16:41:22 -05:00
Barış Soner Uşaklı
33a8cb947e Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2018-01-22 15:21:20 -05:00
Barış Soner Uşaklı
08562ad9cc closes #6276 2018-01-22 15:01:16 -05:00
Julian Lam
0cefa56a0b Fixes #6269
Also fixed issue where if homePageRoute was not set (as in brand-
new install), then categories would also show up, in this revised
logic. Oops.
2018-01-22 11:39:39 -05:00
Julian Lam
593c5047cf fixes #6269 2018-01-22 11:31:28 -05:00
Julian Lam
6946800d8b closes #6262 2018-01-22 10:23:25 -05:00
Barış Soner Uşaklı
8ceb102ed3 closes #6274 2018-01-22 10:06:48 -05:00
Misty (Bot)
df86c2ff3f Latest translations and fallbacks 2018-01-22 09:25:39 +00:00
Misty (Bot)
da981c8d74 Latest translations and fallbacks 2018-01-21 09:24:36 +00:00
Misty (Bot)
9df3c0d2d6 Latest translations and fallbacks 2018-01-20 09:24:49 +00:00
Barış Soner Uşaklı
ae6a1b975d #6255
fix editing OP was causing title change event to be logged eventhough
title didn't change
2018-01-19 14:00:57 -05:00
Julian Lam
598675d597 outputting friendly warning if build target contains commas 2018-01-19 13:27:09 -05:00
Julian Lam
73d3157635 Remove keybindings in ACP as nobody uses them anymore.
If you do, let me know, heh.
2018-01-19 13:24:27 -05:00
Julian Lam
ac2e185e34 Fixes #6261
If a connection to the parent process is not detected, disable
the restart and reload buttons (as they won't work anyway).
2018-01-19 13:24:00 -05:00
Julian Lam
947c81adf0 @pitaj wut 2018-01-19 13:00:10 -05:00
Julian Lam
f6ad344ac6 Fixes #6259
Fixed issue that would cause the upgrade script to completely
wipe your customJS. This was caused by meta.config not being
populated during upgrade scripts (but only when run with
./nodebb upgrade... odd.)
2018-01-19 11:39:32 -05:00
Misty (Bot)
1b8ff1f6a2 Latest translations and fallbacks 2018-01-19 09:25:11 +00:00
Barış Soner Uşaklı
d8b5d40668 closes #6242 2018-01-18 13:33:06 -05:00
RoiEX
92d3844988 Start reading progress at 0 2018-01-18 19:29:55 +01:00
Ben Lubar
6855a87a97 Run travis builds in containers (#6232)
* [travis] Cache node_modules between test runs

* [travis] Enable container-based builds for less waiting time
2018-01-18 13:04:51 -05:00
Ben Lubar
e85aabbe74 Allow running as a cluster without Redis (#6233)
* [database/*] Allow databases other than Redis to provide pubsub for clustering if Redis is not present

* [pubsub] Delay messages sent before the database is ready until the database is ready.

* [pubsub] Restore old behavior of not using the database in non-clustered NodeBB instances.

See comment: https://github.com/NodeBB/NodeBB/pull/6233#issuecomment-357814968
2018-01-18 13:02:56 -05:00
Barış Soner Uşaklı
7f67528280 change parallel to series in flag creation 2018-01-18 12:48:42 -05:00
Julian Lam
c20aca8933 decreased full chat height by 1px 2018-01-18 11:41:28 -05:00
Misty (Bot)
f948ecef07 Latest translations and fallbacks 2018-01-18 09:25:13 +00:00
Baris Usakli
a6b96b6772 fix undef var 2018-01-17 14:37:21 -05:00
Baris Usakli
5240d477db Merge remote-tracking branch 'origin/master'
# Conflicts:
#	install/package.json
2018-01-17 14:06:24 -05:00
Baris Usakli
4fbec0265b closes #6254 2018-01-17 14:03:37 -05:00
Julian Lam
b89dd7c5b5 bump slick @pichalite 2018-01-17 14:02:57 -05:00
Andrew Rodrigues
049b2737fa bump rewards 2018-01-17 12:40:52 -05:00
Baris Usakli
61e408b4a2 closes #6253 2018-01-17 12:25:58 -05:00
Andrew Rodrigues
f122327f87 bump rewards 2018-01-17 11:44:49 -05:00
Julian Lam
457194b333 Merge branch 'master' into develop 2018-01-17 11:02:02 -05:00
Barış Soner Uşaklı
fdd51f43d8 fix dirname 2018-01-16 18:33:14 -05:00
Barış Soner Uşaklı
f3fda152bf closes #6216 2018-01-16 18:20:57 -05:00
psychobunny
ea64a6060b bump persona 2018-01-16 16:04:22 -05:00
psychobunny
a048edb60b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2018-01-16 16:04:02 -05:00
psychobunny
c0cf9e64fd remove lodash from built modules, use utils.debounce instead 2018-01-16 16:03:51 -05:00
Peter Jaszkowiak
c8a6caa842 Fix #6244, dpendency auto-install fixed
Node caches the result of stat on module directories
2018-01-16 16:03:31 -05:00
psychobunny
843fee62e2 utils.debounce 2018-01-16 16:01:45 -05:00
Julian Lam
d8b67606bc fixed height detection in chat modal 2018-01-16 14:48:16 -05:00
Barış Soner Uşaklı
82f2025944 disable timeout on post install route 2018-01-16 14:27:48 -05:00
Julian Lam
2fa2406335 bumping persona 2018-01-16 12:27:13 -05:00
Julian Lam
3df2ab7cb9 exposing lodash as a client-side module 2018-01-16 12:22:55 -05:00
Barış Soner Uşaklı
2b95dfde91 remove extra hook 2018-01-16 09:11:52 -05:00
Misty (Bot)
66a745d27a Latest translations and fallbacks 2018-01-16 09:25:51 +00:00
Julian Lam
f138d3cb70 adding noopener and noreferrer to links in widgets 2018-01-15 15:29:33 -05:00
Barış Soner Uşaklı
dacc9d64ed Merge branch 'master' of https://github.com/NodeBB/NodeBB 2018-01-15 15:06:53 -05:00
Barış Soner Uşaklı
e092778ba6 closes #6200 2018-01-15 15:05:33 -05:00
psychobunny
f8f79a5480 Revert "bump persona, re: nodebb/nodebb-theme-persona#371"
This reverts commit b27211f895.
2018-01-15 15:05:21 -05:00
Barış Soner Uşaklı
13850e3586 fix categories not showing up in ACP dropdown if they are links 2018-01-15 13:23:04 -05:00
Julian Lam
b27211f895 bump persona, re: nodebb/nodebb-theme-persona#371 2018-01-15 12:31:57 -05:00
Barış Soner Uşaklı
4b5c87e93f send stack instead of message 2018-01-15 12:08:54 -05:00
Barış Soner Uşaklı
7b04b4876d closes #6241 2018-01-15 11:31:38 -05:00
Barış Soner Uşaklı
81d4766c1a closes #6236 2018-01-15 10:56:25 -05:00
Barış Soner Uşaklı
3d81bcb1fe closes #6238 2018-01-15 10:52:37 -05:00
Julian Lam
d97946926a Merge pull request #6240 from NodeBB/patch-pitaj
Fix CLI dependency update, refactor template compilation
2018-01-15 10:39:43 -05:00
Misty (Bot)
ec391f4472 Latest translations and fallbacks 2018-01-15 09:25:04 +00:00
Peter Jaszkowiak
7d7c51f8e9 Fix acp.min.js ENOENT error on CI tests
Hopefully
2018-01-15 00:10:24 -07:00
Peter Jaszkowiak
ed9166b796 Refactor template compilation
Always use persona as a fallback for templates
2018-01-14 23:26:35 -07:00
Peter Jaszkowiak
9c1faa7643 Fix running ./nodebb with no arguments doing nothing 2018-01-14 21:33:30 -07:00
Peter Jaszkowiak
0929fd2a11 Fix issue where outdated packages are never updated 2018-01-14 21:23:24 -07:00
Julian Lam
d5073a9a4f better handle loading of flag details if getTarget returns null or undefined instead of {} for purged data
Not quite sure in what scenario it would be null or undefined...
2018-01-14 16:49:14 -05:00
Misty (Bot)
4da9368857 Latest translations and fallbacks 2018-01-14 09:24:38 +00:00
Barış Soner Uşaklı
21a8d53c50 up themes 2018-01-13 18:24:40 -05:00
Barış Soner Uşaklı
4dee5a6101 delete expireAt field 2018-01-13 18:18:41 -05:00
Barış Soner Uşaklı
772872fb03 trigger action:windows.loaded on coldload if widgets are already rendered 2018-01-13 18:10:47 -05:00
Barış Soner Uşaklı
72140e5338 closes #5991, closes #5884 2018-01-12 17:29:47 -05:00
Julian Lam
d0a1eb61bc Updates to allow better chats integration
- Removed unused .createTagsInput method
- Firing action:chat.loaded client-side hook in all cases of chat now
  - New chat window (modal)
  - New chat page load
  - Chat switch event
2018-01-12 16:06:43 -05:00
Ben Lubar
5b1ed21634 [database/mongo] Improve speed of sortedSetRank (#6229)
* [database/mongo] Improve speed of sortedSetRank

* [database/mongo] Fix sortedSetRank to filter by _key
2018-01-12 13:32:07 -05:00
Julian Lam
c47987b305 fixed test for error when adding self to chat 2018-01-12 13:19:14 -05:00
Misty (Bot)
d8fbd51e93 Latest translations and fallbacks 2018-01-12 09:25:24 +00:00
Julian Lam
3de54a5488 Merge branch 'develop' into chat-rewrite 2018-01-11 15:27:17 -05:00
Julian Lam
f37b9d786d Merge remote-tracking branch 'origin/master' into develop 2018-01-11 15:27:01 -05:00
Julian Lam
2ad2ef96ba no taskbar invocation on chats page, fixes #6227 2018-01-11 15:26:46 -05:00
Misty (Bot)
f4feba94e3 Latest translations and fallbacks 2018-01-11 09:25:10 +00:00
Barış Soner Uşaklı
735534c719 #6225 2018-01-10 18:34:48 -05:00
Barış Soner Uşaklı
1472bda9d2 closes #6225 2018-01-10 18:33:51 -05:00
Barış Soner Uşaklı
a2ba01b0d7 fix test 2018-01-10 16:33:22 -05:00
Barış Soner Uşaklı
2f3b7279be closes #6212 2018-01-10 16:14:42 -05:00
Julian Lam
89383c261f fixed scrollToBottom detection in chats page 2018-01-10 15:12:25 -05:00
Julian Lam
2c8cef6e92 updated error code for missing package.json @pitaj 2018-01-10 12:58:18 -05:00
Peter Jaszkowiak
4c7a275034 Was checking existence of wrong package.json (#6222) 2018-01-10 11:50:34 -05:00
Julian Lam
8f5dccdfb5 Chat fixes
- Fixed issue where clicking into a chat didn't update unread state
- Fixed issue where receiving new messages in chat page didn't mark chat
  unread
- Fixed issue where chat title sets were broken in modal and page
- Removed chat leave toggle in chat list (is now in chat dropdown)
2018-01-10 10:53:09 -05:00
Barış Soner Uşaklı
f70ddce5f9 fix typo in language file 2018-01-10 10:22:31 -05:00
Misty (Bot)
c2ba848d00 Latest translations and fallbacks 2018-01-10 09:25:19 +00:00
Baris Usakli
48cff9bfcb fix chat message subject 2018-01-09 17:11:58 -05:00
Julian Lam
9bcd4928c7 Merge branch 'develop' into chat-rewrite 2018-01-09 16:34:31 -05:00
Julian Lam
ec07247854 Merge remote-tracking branch 'origin/master' into develop 2018-01-09 16:34:23 -05:00
Julian Lam
19e53ab61b Lots o' chat changes
- Added chat room management (instead of tagsinput)
- Chat leave button in chat options dropdown
- Refreshing participants when user is added
- Updated autocomplete module so that it can be shown above a modal
  (z-index 100005 > 20000)
- Using cant-chat-with-yourself source string, which wasn't defined
  before, but was still used
2018-01-09 16:30:16 -05:00
Baris Usakli
ecf6c0f3ec closes #4652 2018-01-09 14:33:23 -05:00
Misty (Bot)
b9ef1a4805 Latest translations and fallbacks 2018-01-09 09:25:06 +00:00
Julian Lam
b1bc40359d fixed incorrect flag in upgrade help text 2018-01-08 16:16:55 -05:00
Barış Soner Uşaklı
c70cb0d7ad please eslint 2018-01-08 15:36:25 -05:00
Barış Soner Uşaklı
bac2da0ace dont crash if app.logout is called from code 2018-01-08 15:25:08 -05:00
Barış Soner Uşaklı
7eab9f6ab0 add missing ; 2018-01-08 13:53:05 -05:00
Barış Soner Uşaklı
0d2a7359e9 remove step size 2018-01-08 13:49:44 -05:00
Barış Soner Uşaklı
ce65a681f1 up persona 2018-01-08 13:45:53 -05:00
Barış Soner Uşaklı
fdb221c106 fix helper test 2018-01-08 13:41:20 -05:00
Barış Soner Uşaklı
ed3e8d282e closes #6193 2018-01-08 13:20:56 -05:00
Barış Soner Uşaklı
ff72d022c1 closes #6206 2018-01-08 13:05:30 -05:00
Barış Soner Uşaklı
530b0e8439 closes #6217 2018-01-08 12:34:13 -05:00
Barış Soner Uşaklı
510e57d414 on new topic create add to votes sorted set 2018-01-08 12:22:24 -05:00
Barış Soner Uşaklı
ba56810790 upgrade script fixes 2018-01-08 12:03:02 -05:00
Barış Soner Uşaklı
9c59abefbf style change 2018-01-08 11:13:07 -05:00
Barış Soner Uşaklı
9d7e0775aa closes #6214 2018-01-08 09:37:59 -05:00
Barış Soner Uşaklı
b58387c822 closes #6214 2018-01-07 14:41:14 -05:00
Misty (Bot)
e779942215 Latest translations and fallbacks 2018-01-07 09:24:30 +00:00
Peter Jaszkowiak
4387d5d466 Ensure installed correct version of modules on startup, bump dependencies (#6207)
* Ensure installed correct version of modules

* Bump dependencies

* Bump promise-polyfill

* Fix emailer test

* Fix auto-install regression

introduced in 9b5e0f9e95
2018-01-06 14:06:42 -05:00
Julian Lam
970c8b6f64 Merge branch 'develop' into chat-rewrite 2018-01-06 12:04:17 -05:00
Julian Lam
d1ccd78ac2 Merge remote-tracking branch 'origin/master' into develop 2018-01-06 12:04:07 -05:00
Julian Lam
b2b57d49bf WIP add user modal 2018-01-06 12:03:52 -05:00
Barış Soner Uşaklı
9922720dd3 closes #6209 2018-01-06 11:58:48 -05:00
Barış Soner Uşaklı
8446a733e5 closes #5569 2018-01-05 14:44:18 -05:00
Julian Lam
cd4d0049e6 fixed broken UI in chat modal, send btn 2018-01-05 14:40:38 -05:00
Julian Lam
82bfd6edfd added a new component shortcut and updated title setting logic 2018-01-04 16:04:02 -05:00
Barış Soner Uşaklı
d64b814acb handle https://packages.nodebb.org failures 2018-01-04 10:48:08 -05:00
Barış Soner Uşaklı
6552ebbd8b fix redis test for custom home page 2018-01-03 15:06:41 -05:00
Barış Soner Uşaklı
5146f43b33 remove console.log 2018-01-03 14:38:09 -05:00
Barış Soner Uşaklı
87d40e9e78 fix increment to use data 2018-01-03 14:24:07 -05:00
Barış Soner Uşaklı
baa868cf2b fix lint 2018-01-03 14:11:51 -05:00
Barış Soner Uşaklı
d2ffdbda7d closes #6203 2018-01-03 13:59:58 -05:00
Barış Soner Uşaklı
df182bc7e4 closes #6198 2018-01-03 13:43:36 -05:00
Barış Soner Uşaklı
ff6c6a54c1 make upload permissions global
give upload image permission to registered users on install
add global privileges to app.user.privileges for client side use
2018-01-03 13:27:34 -05:00
Julian Lam
bf1e2cfe46 bump persona 2018-01-03 12:50:34 -05:00
Barış Soner Uşaklı
2b6410f201 Merge remote-tracking branch 'refs/remotes/origin/master' into chat-permission 2018-01-03 10:51:18 -05:00
Julian Lam
9b5e0f9e95 updated upgrade logic to not break ACP restart flow 2018-01-02 14:45:21 -05:00
Misty (Bot)
a524f9b55f Latest translations and fallbacks 2018-01-01 09:25:13 +00:00
Misty (Bot)
64cbb331b7 Latest translations and fallbacks 2017-12-31 09:24:49 +00:00
Barış Soner Uşaklı
cbaa977233 fix type on mongodb if key has expireAt 2017-12-30 11:41:36 -05:00
Misty (Bot)
1fd0b760b1 Latest translations and fallbacks 2017-12-30 09:25:45 +00:00
Barış Soner Uşaklı
2661a31227 closes #6202 2017-12-29 13:27:12 -05:00
Misty (Bot)
e563e8ac82 Latest translations and fallbacks 2017-12-29 09:24:50 +00:00
Julian Lam
dee18d8442 Merge branch 'develop' into chat-rewrite 2017-12-28 16:26:50 -05:00
Julian Lam
8588a54ff2 Merge remote-tracking branch 'origin/master' into develop 2017-12-28 16:26:35 -05:00
Misty (Bot)
cadea35cff Incremented version number - v1.7.3 2017-12-27 21:48:36 +00:00
Julian Lam
f9202aeb05 reading_comprehension--; @pitaj 2017-12-27 14:14:10 -05:00
Julian Lam
53e7aa0e70 bump emoji plugin @pitaj 2017-12-27 14:12:52 -05:00
Barış Soner Uşaklı
9628956a56 closes #6199
global widgets will appear after page widgets
2017-12-27 11:55:45 -05:00
Barış Soner Uşaklı
783d2eb073 remove console.log 2017-12-26 12:00:14 -05:00
Misty (Bot)
4217d06ad0 Latest translations and fallbacks 2017-12-26 09:24:52 +00:00
Barış Soner Uşaklı
c3f56e2ab5 closes #6197 2017-12-25 22:26:24 -05:00
Barış Soner Uşaklı
23dbb42130 closes #6182 2017-12-25 11:06:52 -05:00
Julian Lam
eea124b312 room rename logic 2017-12-21 16:51:16 -05:00
Barış Soner Uşaklı
fb97ff2265 canChat should be false if chat is globally disabled 2017-12-21 14:24:29 -05:00
Julian Lam
75f97c1180 bump persona 2017-12-21 12:55:10 -05:00
Julian Lam
e091568d17 closes #6191 2017-12-21 11:19:16 -05:00
Julian Lam
c9364291fb Merge branch 'develop' into chat-rewrite 2017-12-21 11:07:17 -05:00
Julian Lam
f2c251e89c Merge branch 'master' into develop 2017-12-21 11:06:59 -05:00
Barış Soner Uşaklı
c12b42180d closes #6189 2017-12-20 22:08:44 -05:00
Peter Jaszkowiak
be00a1c013 Support for using yarn instead of npm, include unread counts on cold load (#6179)
* Close #6178

* Support for package managers besides npm

- Also fixes issue where upgrade-plugins wouldn't work
2017-12-20 15:56:14 -05:00
Julian Lam
8cb914c15e more fixes to better handle transitioning from chat to chat and closing chats, etc.
also modals no longer used on mobile view at all
2017-12-20 15:34:31 -05:00
Baris Usakli
025709499c more fixes 2017-12-20 15:19:22 -05:00
Baris Usakli
242dc41aca move privileges to same page 2017-12-20 14:49:20 -05:00
Julian Lam
5c3c608109 fix chat resizing of modal to work with flexbox implementation 2017-12-20 13:47:45 -05:00
Baris Usakli
63b9255fa1 Merge remote-tracking branch 'refs/remotes/origin/master' into chat-permission 2017-12-20 13:13:10 -05:00
Julian Lam
3d74fc8220 some changes to fix class names used, character countdown support, etc. 2017-12-20 12:58:59 -05:00
Baris Usakli
057e83cfac Merge remote-tracking branch 'refs/remotes/origin/master' into chat-permission 2017-12-20 12:17:28 -05:00
Julian Lam
d967201b2a drastically simplified main window resizing logic, some language changes 2017-12-19 16:27:41 -05:00
Barış Soner Uşaklı
96084340ad closes #6186 2017-12-19 16:03:05 -05:00
Julian Lam
6d15861a55 removed pluralisation @pitaj 2017-12-19 14:21:20 -05:00
Barış Soner Uşaklı
50cc62e2aa fix rss feed on topic #6184 2017-12-19 12:27:23 -05:00
Julian Lam
acc58d707c Updated plugin checking logic
* Fixes #6183
* Also changed a bunch of console.logs to process.stdout.write,
  so the command line output is cleaner
2017-12-19 12:07:45 -05:00
Barış Soner Uşaklı
3196311f15 closes #6184 2017-12-19 11:47:13 -05:00
Barış Soner Uşaklı
13e56ad5f3 make sure unfilled is not negative 2017-12-18 21:00:49 -05:00
Barış Soner Uşaklı
ea8cf6545c change db.set/get to use data field instead of value 2017-12-18 20:21:38 -05:00
Baris Usakli
2053472ef3 closes #6180 2017-12-18 15:50:36 -05:00
Baris Usakli
4a73621dca chat privilege 2017-12-18 15:43:57 -05:00
Julian Lam
290aa312b4 fixed call to missing method, #6181 2017-12-18 15:01:05 -05:00
Julian Lam
82a95a03be Chat message soft deletion -- closes #6181
Squashed commit of the following:

commit f84c06bdcc45f24ef7ffde6a8f33b48d8f97fc36
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 14:42:47 2017 -0500

    added restore handler for chat messages

commit 725cd370c6ea1e8f4a28298350f3dc024d4e668e
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 14:23:52 2017 -0500

    backend logic and testing complete for deletion and restoration of chat messages

commit 072da758319cc93fa4c6f8bc0d672a1b716dc06e
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 13:52:35 2017 -0500

    changing message delete logic to not remove mids, but to filter when retrieving

commit 68bf373305ab82737658a7c31dc5549af4d6d69f
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 12:37:58 2017 -0500

    logic to handle deletion of a deleted chat message -- added some failing tests

commit 6899d0d234fa752e227188aa69cfcabd0d0500cc
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Dec 18 11:35:36 2017 -0500

    chat message deletion logic
2017-12-18 14:45:06 -05:00
Misty (Bot)
094bab24c9 Latest translations and fallbacks 2017-12-17 09:24:44 +00:00
Julian Lam
541aa7fbc6 closes #6177 2017-12-15 16:02:20 -05:00
Julian Lam
4bb46ad669 Merge branch 'master' into develop 2017-12-15 16:02:02 -05:00
Julian Lam
6bd8740342 removing hasImageUploadPlugin from config api 2017-12-15 13:31:14 -05:00
Julian Lam
b17e876be1 bump themes to expose image upload by url option 2017-12-15 13:24:17 -05:00
Julian Lam
88b47f357b removed user.uploadFromUrl and associated logic as cropped image modal supercedes it @pichalite 2017-12-15 13:21:31 -05:00
Barış Soner Uşaklı
a9e15ae9d0 strip img tags on topic teaser 2017-12-15 10:29:12 -05:00
Barış Soner Uşaklı
e4ff1dc61b closes #6174 2017-12-15 10:21:33 -05:00
Barış Soner Uşaklı
108c3c980a show invalid url error if request.head fails 2017-12-14 18:07:32 -05:00
Barış Soner Uşaklı
926b763f74 show hit ratio instead 2017-12-14 14:18:56 -05:00
Barış Soner Uşaklı
e453057acc add settings-menu id 2017-12-14 13:55:47 -05:00
Barış Soner Uşaklı
802ec0e384 remove reduntant code 2017-12-14 11:27:18 -05:00
Barış Soner Uşaklı
2bb8227574 closes #6168 2017-12-14 10:53:01 -05:00
Julian Lam
1f10549cf5 added new user method isPrivilegedOrSelf 2017-12-14 10:18:56 -05:00
Barış Soner Uşaklı
76e8bcd80b closes #6167 2017-12-14 08:54:33 -05:00
Barış Soner Uşaklı
691fc2c6fd closes #5812 2017-12-14 08:47:33 -05:00
Barış Soner Uşaklı
b778c8433a change hook name 2017-12-13 12:06:52 -05:00
Barış Soner Uşaklı
b55087dab7 closes #6166 2017-12-13 12:06:45 -05:00
Barış Soner Uşaklı
53afa552d0 closes #6162 2017-12-11 11:40:42 -05:00
Barış Soner Uşaklı
ea83be50a1 closes #6161 2017-12-11 11:21:22 -05:00
Barış Soner Uşaklı
e3ce817ab9 show settings in digest email closes #6160 2017-12-11 11:00:11 -05:00
Barış Soner Uşaklı
99eb1d1785 closes #6163 2017-12-11 10:53:29 -05:00
Misty (Bot)
89f5015d83 Latest translations and fallbacks 2017-12-11 09:24:38 +00:00
Barış Soner Uşaklı
b84e132601 remove unused settings 2017-12-10 16:35:34 -05:00
Barış Soner Uşaklı
18b559bab0 fix test name 2017-12-10 11:10:59 -05:00
Barış Soner Uşaklı
2bf275fe29 #6158 2017-12-10 11:02:48 -05:00
Barış Soner Uşaklı
2565b6e542 on pin remove from votes sorted set 2017-12-10 09:59:00 -05:00
Barış Soner Uşaklı
b9d4b02780 sort tags by score 2017-12-09 15:21:27 -05:00
Barış Soner Uşaklı
2455df438c fix test 2017-12-09 12:48:41 -05:00
Barış Soner Uşaklı
7c1f8891a1 use helper 2017-12-09 12:25:27 -05:00
Barış Soner Uşaklı
ee398d3979 don't crash if meta is undefined 2017-12-09 11:20:03 -05:00
Barış Soner Uşaklı
a166304dcb #6158
remove from sorted sets on delete/purge
2017-12-09 09:00:34 -05:00
Misty (Bot)
0dc37abe1d Latest translations and fallbacks 2017-12-09 09:25:30 +00:00
Barış Soner Uşaklı
2856fb1d5d up persona 2017-12-08 20:19:02 -05:00
Barış Soner Uşaklı
f11fd566f9 add inf scroll method #6158 2017-12-08 20:10:37 -05:00
Barış Soner Uşaklı
43180d4b83 #6158 2017-12-08 19:58:12 -05:00
Barış Soner Uşaklı
27b65a439a refactor of og:image code 2017-12-08 12:17:16 -05:00
Barış Soner Uşaklı
dace7d716f get all images in post 2017-12-08 11:46:05 -05:00
Barış Soner Uşaklı
aa1d22ec79 handle relative images 2017-12-08 11:37:57 -05:00
Barış Soner Uşaklı
15a8ec2138 fix url 2017-12-08 11:27:55 -05:00
Barış Soner Uşaklı
ae5dc795c3 #5824 2017-12-08 11:23:47 -05:00
Barış Soner Uşaklı
e35d0624d3 closes #6091 2017-12-08 10:51:37 -05:00
Misty (Bot)
421685ee69 Latest translations and fallbacks 2017-12-08 09:26:28 +00:00
Barış Soner Uşaklı
8e04e86e24 closes #5912 2017-12-07 20:43:07 -05:00
Julian Lam
6d6a45c9fa bump mentions again 2017-12-07 13:10:40 -05:00
Barış Soner Uşaklı
19ae8dc7e7 closes #6154 2017-12-07 12:15:07 -05:00
Julian Lam
a5f121d0a3 bump mentions, #6152 2017-12-07 11:06:14 -05:00
Barış Soner Uşaklı
8353d8b9bb closes #6155 2017-12-07 09:26:45 -05:00
Misty (Bot)
302e20d47d Latest translations and fallbacks 2017-12-07 09:26:36 +00:00
Barış Soner Uşaklı
faded26dea Revert "disallow underscore in slugs (#6133)"
This reverts commit 4fc3115f33.
2017-12-06 21:12:42 -05:00
Julian Lam
f065f36215 bump version number 2017-12-06 16:26:29 -05:00
Julian Lam
94e8b2b38d Added ajaxify.isCold()
And used it in app.js, so window.scrollTo(0, 0); is not called
on cold load (since you're already at the top). Useful in low-
bandwidth modes since you might accidentally get kicked to the
top of the page due to a slow connection and delayed .init().

Slightly related to testing in #6150
2017-12-06 12:44:43 -05:00
Baris Usakli
32a8076f2a add missing meta 2017-12-06 12:06:41 -05:00
Baris Usakli
f177b01022 closes #6147 2017-12-06 11:54:08 -05:00
Julian Lam
9a59aaa755 topic merge fallbacks 2017-12-06 10:52:46 -05:00
Misty (Bot)
a77a681156 Latest translations and fallbacks 2017-12-06 09:26:44 +00:00
Barış Soner Uşaklı
c406d26beb if route is home display home as title 2017-12-05 16:21:06 -05:00
Julian Lam
43d07de692 bump persona for nodebb/nodebb-theme-persona#388 2017-12-05 14:17:51 -05:00
Julian Lam
553f894540 error message for disabled SSO registration 2017-12-05 14:16:22 -05:00
Barış Soner Uşaklı
d9e115c3e6 closes #6146 2017-12-05 13:50:06 -05:00
Barış Soner Uşaklı
fd78eb6d57 closes #5533 2017-12-05 13:18:41 -05:00
Misty (Bot)
e7a6326b2f Latest translations and fallbacks 2017-12-05 09:26:39 +00:00
Peter Jaszkowiak
fc19f3af61 Misc fixes and improvements (#6143)
* `setup` command fixes and improvements

- Enable using the `./nodebb setup` command for auto-setup with a JSON argument
- Change CLI so package-install and dependency install are separate steps
- Fix #6142

* Prevent compiling templates multiple times

- Multiple requests for same template get pooled
- Hopefully fixes the "templateFunction is not a function" error which happens if site is restarted during high-traffic times

* More helpful upgrade template
2017-12-04 15:49:44 -05:00
Baris Usakli
3551d7d68e closes #4804 2017-12-04 14:56:14 -05:00
Misty (Bot)
dceeb0dd5f Latest translations and fallbacks 2017-12-04 09:25:56 +00:00
Barış Soner Uşaklı
548ec6baf7 closes #6144 2017-12-03 08:32:31 -05:00
Misty (Bot)
dc1fad7956 Latest translations and fallbacks 2017-12-03 09:25:02 +00:00
Misty (Bot)
c0883f629f Latest translations and fallbacks 2017-12-02 09:25:38 +00:00
Barış Soner Uşaklı
e6d31c8bd2 add referer check to /api/admin/users/csv 2017-12-01 18:16:59 -05:00
Barış Soner Uşaklı
e3fd402070 escape email in registration queue and invites 2017-12-01 17:38:02 -05:00
Julian Lam
50e824f77a it email translation 2017-12-01 17:04:42 -05:00
Barış Soner Uşaklı
11bab1fc84 up persona 2017-12-01 14:36:26 -05:00
Barış Soner Uşaklı
123bff2246 up deps 2017-12-01 11:58:32 -05:00
Barış Soner Uşaklı
2574dbc850 closes #6140 2017-12-01 11:11:37 -05:00
Misty (Bot)
7269aa17e0 Latest translations and fallbacks 2017-12-01 09:26:10 +00:00
Julian Lam
e723f2ce10 close #6099 2017-11-30 15:52:21 -05:00
Julian Lam
4fc3115f33 disallow underscore in slugs (#6133) 2017-11-30 15:22:33 -05:00
Julian Lam
f08627be17 minor whitespace fix 2017-11-30 15:21:13 -05:00
Julian Lam
8affaac8f0 tweaking source copy and removing a bit more commented out html. Moving some items around 2017-11-30 15:19:58 -05:00
Linda Badurina
5924713a3b ACP > Posts
- Removed all commented out tpls but one because js file for it is in the works
- Removed unfinished js file
- Removed unfinished checkbox html
2017-11-30 15:19:58 -05:00
Linda Badurina
5ee098ab2b Failed JS Attempt
(For Andrew to see)
2017-11-30 15:19:58 -05:00
Linda Badurina
8b354a26e0 "Post" Settings Fixes 2017-11-30 15:19:58 -05:00
Linda Badurina
c72864888d ACP "Posts" Changes
- Seperate section for "Post Length" settings
- New section for settings that only apply to new users
- Changed order of some settings under "posting restrctions" and "new user restrictions"
- Uncapitalized words that shouldn't have been capitalized
2017-11-30 15:19:58 -05:00
Barış Soner Uşaklı
b7714179f6 removed unused dependency 2017-11-30 14:24:57 -05:00
Barış Soner Uşaklı
a7a3f3619b dont allow login with invalid ip, escape ip display on user/info page 2017-11-30 14:24:17 -05:00
caoyi
da5997a06e Fix typo (#6135)
Fix typo
2017-11-30 13:01:51 -05:00
Julian Lam
78c83f2561 fixing tests 2017-11-30 12:53:49 -05:00
Barış Soner Uşaklı
4f2f84e47c #4804 2017-11-30 12:39:07 -05:00
Julian Lam
17c52a515d fix incorrect padding/margin values in images in digest 2017-11-30 12:24:07 -05:00
Julian Lam
e37c8003b9 replaced 40px padding with more sensible sizes, fixes #6138 2017-11-30 12:11:32 -05:00
Barış Soner Uşaklı
cb4930dac8 remove version and environment from config 2017-11-30 10:26:14 -05:00
Misty (Bot)
44d96cbc59 Latest translations and fallbacks 2017-11-30 09:25:40 +00:00
Misty (Bot)
9c3871cb87 Incremented version number - 1.7.1 2017-11-29 20:49:27 +00:00
Baris Usakli
a19537dc25 closes #6137 2017-11-29 14:04:45 -05:00
Baris Usakli
b19310049d closes #6136 2017-11-29 11:46:36 -05:00
Julian Lam
b639147238 Updated issue template with instructions
... to warn against public disclosure of security vulnerabilities.
2017-11-29 11:18:45 -05:00
Misty (Bot)
9f5f769f4a Latest translations and fallbacks 2017-11-29 09:25:43 +00:00
Baris Usakli
f036eb18a4 closes #5936 2017-11-28 15:42:32 -05:00
Barış Soner Uşaklı
29bb516235 up emoji 2017-11-28 15:07:32 -05:00
Baris Usakli
d9c38c7e4f closes #6132 2017-11-28 14:20:16 -05:00
Baris Usakli
1ceb4ec795 up persona 2017-11-28 13:44:26 -05:00
Julian Lam
c1f91f3377 bumped plugin-emoji @pitaj 2017-11-28 13:18:45 -05:00
Baris Usakli
522198574c closes #6090 2017-11-28 12:42:31 -05:00
Julian Lam
e83813c531 Emailer tests for Digest.getSubscribers (#6130)
* added additional tests for Digest.getSubscribers

* added another test and tweaked existing digest list building tests
2017-11-28 11:48:31 -05:00
Peter Jaszkowiak
a849a772bf Use emoji v2 instead of emoji-extended (#5800) 2017-11-28 11:10:47 -05:00
Misty (Bot)
76cfcc039a Latest translations and fallbacks 2017-11-28 09:25:49 +00:00
Peter Jaszkowiak
dbdc05404d Use console.log instead of process.stdout.write (#6123)
* Use console.log instead of process.stdout.write

* Don't break the installer
2017-11-27 15:44:30 -05:00
Andrew Rodrigues
15c8693a23 up persona 2017-11-27 15:16:54 -05:00
Julian Lam
b1cd68928b updated digest header 2017-11-27 14:31:13 -05:00
Barış Soner Uşaklı
fe3a75812f closes #6113 closes #6114 2017-11-27 14:07:59 -05:00
Julian Lam
f225aa25de bloody hell... 2017-11-27 13:27:08 -05:00
Barış Soner Uşaklı
3f2a1d3e8e check error first #6116 2017-11-27 13:26:49 -05:00
Julian Lam
2496b2a91a Bump persona for subcategories fix, closes #6117 2017-11-27 13:25:19 -05:00
Barış Soner Uşaklı
07ed3807d8 remove console.log 2017-11-27 13:04:18 -05:00
Barış Soner Uşaklı
caaa72b752 closes #6124 2017-11-27 12:52:08 -05:00
Peter Jaszkowiak
9b11413d14 Bundle admin scripts, remove CDN scripts (#6122)
Close #6120
2017-11-27 12:42:10 -05:00
Barış Soner Uşaklı
847a3132fa up persona 2017-11-27 11:00:52 -05:00
Misty (Bot)
d47c5fae04 Latest translations and fallbacks 2017-11-27 09:26:00 +00:00
Misty (Bot)
5354ac6b10 Latest translations and fallbacks 2017-11-26 09:25:18 +00:00
Misty (Bot)
d34f3c7247 Latest translations and fallbacks 2017-11-25 09:25:25 +00:00
Misty (Bot)
373ee17a12 Latest translations and fallbacks 2017-11-24 09:25:02 +00:00
Barış Soner Uşaklı
54b12119e9 add registered query param 2017-11-23 20:08:55 -05:00
Barış Soner Uşaklı
d96674da64 add test for composer fix 2017-11-23 19:13:43 -05:00
Julian Lam
830028b1d5 language strings and fallbacks for #5955 2017-11-23 15:24:51 -05:00
Peter Jaszkowiak
3299324534 Fix console colors with app.js
Closes #6110
2017-11-23 14:31:12 -05:00
Barış Soner Uşaklı
71895f3736 closes #6079 2017-11-23 14:19:26 -05:00
Julian Lam
f1d79635ff bump slick for v1.7.0 compatibility 2017-11-23 13:57:25 -05:00
Peter Jaszkowiak
ae24bca16e CLI refactor with commander (#6058)
* CLI refactor with commander

- Modularized the functionality
- All functionality done directly from `./nodebb` now
(still available from `app` for backwards compatibility)
- Moved all CLI code from `./nodebb` to `src/cli`
- Fixed `nodebb.bat` to work from any location, like `./nodebb`, and
also hides command output
- Overwrite some commander methods to add CLI color support
- Added `./nodebb info` for quick info including git hash, NodeBB
version, node version, and some database info
- Refactored `./nodebb reset` to allow multiple resets at once
- Changed `./nodebb restart` to essentially stop and start, as Windows
doesn't support signals
- Added `-l, --log` option which works on `./nodebb start` and `./nodebb
restart` to show logging, like `./nodebb slog`
- Expanded `-d, --dev` option which works on them as well, like
`./nodebb dev`
- Improvements to self-help. `./nodebb build -h` will output all
possible targets
- `./nodebb reset` explains usage better

* Fix some style inconsistencies

* Fix prestart being required before modules installed

* Fix travis failures

* Fix `help` command to output help for subcommands

* Pick steps of the upgrade process to run

* Fix formatting for upgrade help

* Fix web installer
2017-11-23 10:55:03 -05:00
Peter Jaszkowiak
c731661a39 Remove external sources from installer page (#6101)
* Remove external sources from installer page

* Remove bootstrap.min.css

* Make spinner display consistently cross-platform

* Change spinner to look better
2017-11-23 10:50:10 -05:00
Barış Soner Uşaklı
b0488fec61 smaller notification image 2017-11-23 10:21:47 -05:00
Misty (Bot)
563fe0383c Latest translations and fallbacks 2017-11-23 09:25:35 +00:00
Julian Lam
cdc00cc0f2 added 'dissociate' translation string for #5955 2017-11-22 16:36:27 -05:00
Baris Usakli
aecbcd9e89 add verbose message for field whitelist 2017-11-22 16:26:35 -05:00
Baris Usakli
947fc739eb remove extra translator require 2017-11-22 16:04:36 -05:00
Julian Lam
2fa4b2918e removing premature return 😆 2017-11-22 15:03:07 -05:00
Julian Lam
c8395a9bfb Fixes #6056
Waiting for someone to qq my clever code in 3... 2...
2017-11-22 14:54:27 -05:00
Julian Lam
c3c22cfdcc closes #6107 2017-11-22 14:14:19 -05:00
Baris Usakli
5ca3b535e7 closes #6105 2017-11-22 12:19:08 -05:00
Baris Usakli
dbf815ed47 closes #6103 2017-11-22 12:10:40 -05:00
Julian Lam
d0c9c52f9b update persona for nodebb/nodebb-theme-persona#387 2017-11-22 12:03:40 -05:00
Julian Lam
252f611481 changed error text wording 2017-11-22 11:59:49 -05:00
Julian Lam
7d71aa4775 Merge branch 'issue-5973/upvote-own-post' of https://github.com/asamolion/NodeBB into asamolion-issue-5973/upvote-own-post 2017-11-22 11:59:04 -05:00
Julian Lam
f92efc509c bump mentions for https://nodesecurity.io/advisories/536 2017-11-22 10:56:15 -05:00
Julian Lam
c834d6134e bump persona, nodebb/nodebb-theme-persona#383 2017-11-22 10:26:13 -05:00
Muhammad Osama Arshad
64895310a9 fix #5973 2017-11-22 09:50:58 +05:00
Barış Soner Uşaklı
86a4fd6c92 add missing dep, my bad 2017-11-21 15:00:22 -05:00
Barış Soner Uşaklı
eb47a81c46 remove package.default.json 2017-11-21 14:43:59 -05:00
Barış Soner Uşaklı
e1ae0500af Update README.md 2017-11-21 14:40:01 -05:00
Barış Soner Uşaklı
6b5a0891cb add install\package.json for #6083 2017-11-21 14:38:29 -05:00
Peter Jaszkowiak
74ceb78800 Upvote notification frequency selection (#6087)
Closes #5963

- Notify on every upvote
- Notify on every tenth upvote
- Notify logarithmically (on 10, 100, 1000...)
- Disable upvote notifications
2017-11-21 14:14:14 -05:00
Julian Lam
3fd25257e0 v1.7.0 compatibility for slick theme 2017-11-21 11:31:10 -05:00
Peter Jaszkowiak
4fcedc6f31 Enable imports in custom email templates (#6052)
* Enable imports in custom email templates

* Compile emails on config change

* Add error logging

* Add emailer tests

* Fix tests

* Only build when config changes
2017-11-21 10:51:20 -05:00
Misty (Bot)
415940af02 Latest translations and fallbacks 2017-11-21 09:25:22 +00:00
Barış Soner Uşaklı
12ca1c4e7a closes #6093 2017-11-20 19:58:56 -05:00
Barış Soner Uşaklı
3bf7faf5fc increase rate limit delay 2017-11-20 19:58:46 -05:00
Peter Jaszkowiak
41b026b4d6 Test Node 9 2017-11-20 15:16:19 -07:00
Baris Usakli
c934416544 up mentions 2017-11-20 10:49:43 -05:00
Misty (Bot)
018b054c42 Latest translations and fallbacks 2017-11-19 09:25:27 +00:00
Barış Soner Uşaklı
63388be44c closes #6084 2017-11-18 15:39:47 -05:00
Baris Usakli
2065f895d5 closes #6037 2017-11-17 15:26:36 -05:00
Baris Usakli
ea3fde332b notification email fixes
add new notification image
fix url to user settings, no need for userslug to be passed in
2017-11-17 14:13:55 -05:00
Baris Usakli
4e029556df closes #6081 2017-11-17 13:43:30 -05:00
Julian Lam
bc6364f4c0 fixed #6082 2017-11-17 12:00:43 -05:00
Peter Jaszkowiak
11b9cb7688 Fix #6076, action:home.get:* returned to previous functionality (#6077)
Added tests to confirm `buildHeader` is used and `/api` works
2017-11-17 08:11:33 -05:00
Barış Soner Uşaklı
c839d1cbc0 closes #6080 closes #6078 2017-11-17 08:10:25 -05:00
aStonedPenguin
610a1c943f Add unread-class to category children (#6071)
* Add unread-class to category children

* unused variables

* Move child unread-class to a better place

* comma?

¯\_(ツ)_/¯

* feedback
2017-11-16 18:40:39 -05:00
Peter Jaszkowiak
c47c47f7e3 Use less memory to build translation files (#6070)
* Change languages build to use less memory

Add graceful-fs so no ned to worry about fs limits

* Specify encoding for fs.readFile

Use eachLimit since graceful-fs handles that now
2017-11-16 17:43:52 -05:00
Peter Jaszkowiak
f5385e38bf Add /me* route which redirects to /user/[userslug]* (#6063)
* Add `/me*` route which redirects to the current user's information

- `/me` -> `/user/[usertslug]`
- `/me/bookmarks` -> `/user/[userslug]/bookmarks`
- `/me/settings` -> `/user/[userslug]/settings`

etc

* Add tests for `/me/*`
2017-11-16 17:38:26 -05:00
Barış Soner Uşaklı
643008041c up composer default 2017-11-16 10:59:34 -05:00
Barış Soner Uşaklı
5da24b4120 https://github.com/NodeBB/NodeBB/issues/6073 2017-11-16 10:55:59 -05:00
Julian Lam
b6562325a4 up persona for #6069 2017-11-16 10:20:55 -05:00
Julian Lam
0f9c2f5a9a updated theme deps for #6069 2017-11-16 10:13:11 -05:00
Julian Lam
321998dd4f Merge branch 'develop' 2017-11-16 10:11:20 -05:00
Barış Soner Uşaklı
b62a7bf0ad up themes 2017-11-15 21:50:11 -05:00
Barış Soner Uşaklı
dd176dd5f2 Notification delivery (#6072)
* ability for users to choose how they receive notifications

add type field to more notifications, the type field is used to
determine what to do based on user
setting(none,notification,email,notificationemail)

* change var name to types

* cleanup

* add event types for privileged users

* remove unused language keys

* fix uids check

* changed if statements

* upgrade script to preserver old settings
2017-11-15 21:35:10 -05:00
Baris Usakli
e68e5122e2 add test to check breadcrumbs on home route 2017-11-15 14:57:26 -05:00
Baris Usakli
1eca1f1da9 add missing require 2017-11-15 14:49:04 -05:00
Baris Usakli
38e52a65be fix breadcrumbs and home /api route not loading 2017-11-15 14:48:28 -05:00
Misty (Bot)
6a623c30d7 Incremented version number - v1.7.0 2017-11-15 19:03:01 +00:00
Baris Usakli
9e5a8856d1 fix wrong sorting option in acp 2017-11-15 14:01:20 -05:00
Baris Usakli
8f821ddf85 up dbsearch 2017-11-15 13:13:17 -05:00
Baris Usakli
30ae0a5499 another process.nextTick 2017-11-15 13:06:23 -05:00
Julian Lam
cf9fe0d5af closes #6069 2017-11-15 12:38:28 -05:00
Baris Usakli
e187a0def2 fix method name 2017-11-15 11:50:44 -05:00
Baris Usakli
12546cb9ad break up sync operation 2017-11-15 11:35:25 -05:00
yariplus
7ac01b4c06 Fixes https://github.com/NodeBB/nodebb-rewards-essentials/issues/6 Fixes https://github.com/NodeBB/nodebb-rewards-essentials/issues/11 2017-11-14 14:11:25 -05:00
Barış Soner Uşaklı
67bc58f04c wait for state to be updated 2017-11-12 08:45:08 -05:00
Misty (Bot)
fd2a49fd1f Latest translations and fallbacks 2017-11-12 09:25:14 +00:00
Julian Lam
cdfa45439e updating email translations to not use template value
close #6057
2017-11-10 12:04:38 -05:00
Barış Soner Uşaklı
b6211fdc04 closes #6053 2017-11-10 10:20:47 -05:00
Misty (Bot)
2f36284e24 Latest translations and fallbacks 2017-11-10 09:25:24 +00:00
Barış Soner Uşaklı
cd3d1f07e0 fix flagReason 2017-11-09 16:56:15 -05:00
Barış Soner Uşaklı
6c755869cd add back missing onSettingsLoaded 2017-11-09 14:24:47 -05:00
Misty (Bot)
6b11bfd9e7 Latest translations and fallbacks 2017-11-09 09:26:00 +00:00
Baris Usakli
5604c62776 use the first set for sorting 2017-11-08 16:32:34 -05:00
Baris Usakli
4fdc1b99c6 remove unnecessary variable 2017-11-08 16:32:16 -05:00
Baris Usakli
6f29393868 up widget-essentials 2017-11-08 15:22:21 -05:00
Baris Usakli
eeedba697b closes #5804 2017-11-08 14:06:52 -05:00
Barış Soner Uşaklı
2ec54166f7 only show alert if on the same category 2017-11-07 13:39:13 -05:00
Barış Soner Uşaklı
9eabb1dc94 closes #6044
use the same UX from /recent on individual categories
2017-11-07 13:24:10 -05:00
Barış Soner Uşaklı
b1ea137292 closes #6046 2017-11-07 12:39:34 -05:00
Barış Soner Uşaklı
f7ccabc3cc only add relative path if not starts with http(s) 2017-11-07 11:10:53 -05:00
acardinale
5ed6b5c414 Add User (uid) Welcome Notification (#6045) 2017-11-07 09:17:27 -05:00
acardinale
78e65ab8c8 Fix if cover URL is external URL (#6026)
* Fix if cover URL is external URL

Currently, when cover:url is an external URL, it's concat with relative path

* Fix if cover URL is external URL

Currently, when cover:url is an external URL, it's concat with relative path [fix barisusakli]

* Fix missing '

* Add User (uid) Welcome Notification

* Revert "Fix missing '"

This reverts commit 2da2d98ae2.

* Revert "Revert "Fix missing '""

This reverts commit f4fca746e8.

* Revert "Add User (uid) Welcome Notification"

This reverts commit 831e291e78.

* Fix eslint doesnt like nesting ternary operators

* fix space after if
2017-11-06 14:45:58 -05:00
Barış Soner Uşaklı
c97dce3177 up widget essentials 2017-11-06 11:44:53 -05:00
Misty (Bot)
671f357b6d Latest translations and fallbacks 2017-11-06 09:25:17 +00:00
Barış Soner Uşaklı
1d50c74cdc should error with no content 2017-11-05 17:52:12 -05:00
Barış Soner Uşaklı
e4ea4d5134 move composer routes to its own file 2017-11-05 14:05:21 -05:00
Barış Soner Uşaklı
0316f51cdb show values if test fails 2017-11-05 10:16:02 -05:00
Barış Soner Uşaklı
43370c1ced up composer-default 2017-11-05 10:11:18 -05:00
Barış Soner Uşaklı
fae8ee83e8 closes #6039 2017-11-05 09:54:59 -05:00
Misty (Bot)
6958ec1f1f Latest translations and fallbacks 2017-11-05 09:25:31 +00:00
Peter Jaszkowiak
bbdc55cb3a Better fix for #5993 (#6034)
* Better fix for #5993

Also a nice newline so the line doesn't get overwritten when running `./nodebb upgrade`

* Optimizations for custom homepage

Move it into a separate module
2017-11-04 10:51:44 -04:00
Misty (Bot)
9728b80c38 Latest translations and fallbacks 2017-11-04 09:24:51 +00:00
Barış Soner Uşaklı
80ecd4ba6d closes #6036 2017-11-03 16:32:33 -04:00
Barış Soner Uşaklı
760c061b1d closes #5993 2017-11-03 14:23:34 -04:00
Julian Lam
2a97772aae up mentions 2017-11-03 14:05:01 -04:00
Barış Soner Uşaklı
4551ee4768 some more tests 2017-11-03 13:25:43 -04:00
Julian Lam
766f94745f updated bootstrap and bootswatch css on installer template, closes #6033 2017-11-03 11:29:06 -04:00
Julian Lam
8edbb4f8f6 update Dockerfile as per #6010 and #6008 2017-11-03 11:18:41 -04:00
Misty (Bot)
9fce645d80 Latest translations and fallbacks 2017-11-03 09:24:11 +00:00
Barış Soner Uşaklı
845f01f297 dont set meta.config to null 2017-11-02 18:39:36 -04:00
Barış Soner Uşaklı
662f92a4a8 supply callback to req.session.destroy 2017-11-02 18:21:25 -04:00
Barış Soner Uşaklı
8810f0f2a9 remove dupe meta 2017-11-02 14:55:09 -04:00
Julian Lam
d998d53902 update themes for #5980 and 733 2017-11-02 14:22:28 -04:00
Julian Lam
7e0d0e0eb5 Merge remote-tracking branch 'origin/develop' 2017-11-02 14:13:48 -04:00
Peter Jaszkowiak
dfad76120d Support npm@5 and yarn (#6010)
* Support npm@5 and yarn

Use package.default.json
Partial #6008

- Overwrite package.json with package.default.json values
- `dependencies` field is merged with package.default.json version taking precidence
- `./nodebb upgrade` automatically does those things and runs `git pull`
- use `./nodebb upgrade --dev` to avoid the `git pull`

* added logic to preserve extraneous plugins installed in node_modules/

* Don't automatically git pull

* Simplify package-install, run it on upgrade just in case
2017-11-02 14:12:05 -04:00
Barış Soner Uşaklı
6c6d177a31 up themes 2017-11-02 13:45:14 -04:00
Barış Soner Uşaklı
b74fe98dc4 closes #6031 2017-11-02 13:35:49 -04:00
Barış Soner Uşaklı
008f757a9b closes #6030 2017-11-02 13:16:07 -04:00
Barış Soner Uşaklı
54a84bf130 cache fixes 2017-11-02 12:56:44 -04:00
Julian Lam
2123e2f74c updated tinycon lib 2017-11-02 12:29:14 -04:00
Barış Soner Uşaklı
3dd83237b8 add some debug for failed tests 2017-11-02 08:58:51 -04:00
Barış Soner Uşaklı
43f9c3224f dont crash sortedSetIncryBy on redis if no callback is supplied 2017-11-02 08:14:35 -04:00
Misty (Bot)
3853c741d3 Latest translations and fallbacks 2017-11-02 09:25:12 +00:00
Peter Jaszkowiak
e609e497b3 Provide more error information to logs
Provides full stack instead of just message
2017-11-01 18:59:48 -06:00
Peter Jaszkowiak
ec38b18e34 Always compare password with a hash
Prevents quick response when user / email doesn't exist
2017-11-01 18:57:52 -06:00
Andrew Rodrigues
b7cda02830 added security email 2017-11-01 15:02:56 -04:00
Baris Usakli
e3a7649290 closes #6027 2017-11-01 12:31:15 -04:00
Baris Usakli
c9465403f5 closes #6023 2017-11-01 12:05:06 -04:00
Chế Tiệp Chân Khoa
2b99fb0c38 update node version requirement on README (#6025) 2017-11-01 08:20:04 -04:00
Peter Jaszkowiak
adc47fd053 Use relative linking (#6011)
* Use relative linking

* Add copyFile method and tests

Closes #5988

* Fix relative linking on Windows

Hard links and junctions don't work with relative paths

* Fix tests

* Revert ghange to gitignore
2017-10-31 22:18:15 -04:00
Barış Soner Uşaklı
18f4f27fe0 closes #6024 2017-10-31 18:03:54 -04:00
Barış Soner Uşaklı
5b2a674a4f closes #6020 2017-10-31 16:04:25 -04:00
Julian Lam
e42ff47e5c closes #6018 2017-10-31 12:19:28 -04:00
Barış Soner Uşaklı
25cd21fba8 closes #6019 2017-10-31 10:53:28 -04:00
Barış Soner Uşaklı
b3227c7742 up composer 2017-10-31 10:02:27 -04:00
Barış Soner Uşaklı
6b1af76f08 closes #6015 2017-10-31 09:43:11 -04:00
Barış Soner Uşaklı
3c45b3edb6 string is removed on develop 2017-10-31 09:04:07 -04:00
Barış Soner Uşaklı
d5d6748c71 closes #6013 2017-10-30 20:20:14 -04:00
Baris Usakli
43bec4cb45 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-10-30 17:08:16 -04:00
Baris Usakli
6778cce265 add new zset 2017-10-30 17:07:51 -04:00
Baris Usakli
eb67d142d8 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-10-30 15:33:28 -04:00
Baris Usakli
0f881ddaa9 up themes 2017-10-30 15:32:55 -04:00
Baris Usakli
47143a4a09 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-10-30 15:29:26 -04:00
Baris Usakli
a500e0019c closes #6005 2017-10-30 15:26:17 -04:00
Julian Lam
103d9a91a9 Revert "sanitizing uploaded filename without using slugify, in composer, re comment in: #6011"
This reverts commit 9f670fe586.
2017-10-30 14:45:41 -04:00
Julian Lam
cb80c7729b linting 2017-10-30 11:41:44 -04:00
Julian Lam
39d67b5b69 Merge branch 'patch-2' of https://github.com/drlukeangel/NodeBB into drlukeangel-patch-2 2017-10-30 11:41:23 -04:00
Julian Lam
9f670fe586 sanitizing uploaded filename without using slugify, in composer, re comment in: #6011 2017-10-30 11:02:26 -04:00
Misty (Bot)
6f02974762 Latest translations and fallbacks 2017-10-30 09:25:27 +00:00
Dr Luke Angel
999a7abc5d updated equality operator
small update to equality operator
2017-10-27 22:21:48 -07:00
Dr Luke Angel
4854888fcf update blacklist.js to strip ports from v4
Blacklist.test in blacklist.js to strip port from ipv4.
my site was passing in 
24.18.192.75:52506
and nodebb was giving 
28/10 04:34:41 [6680] - error: /login
 Error: ipaddr: the address has neither IPv6 nor IPv4 format
So i updated the client Ip to strip the port number if its a v4 IP
2017-10-27 22:16:01 -07:00
Barış Soner Uşaklı
9a3a5192c4 add filter:post.shouldQueue 2017-10-27 17:24:43 -04:00
Barış Soner Uşaklı
4a81149591 up persona 2017-10-27 10:29:01 -04:00
Barış Soner Uşaklı
c453fc7275 add widget reset test 2017-10-26 22:42:16 -04:00
psychobunny
2453ce3cb3 strip + validate before hook instead 2017-10-26 18:27:54 -04:00
Julian Lam
98eddc78cb escaping message text in parse.raw 2017-10-26 17:55:11 -04:00
Barış Soner Uşaklı
a11058bce2 closes #6004 2017-10-26 10:32:24 -04:00
Barış Soner Uşaklı
41fbf7117d Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-10-25 18:21:54 -04:00
Barış Soner Uşaklı
a73c2628c4 cache improvements, stats 2017-10-25 18:20:44 -04:00
Barış Soner Uşaklı
316fe2773c remove console.log 2017-10-25 10:49:17 -04:00
Barış Soner Uşaklı
2aaf6900d1 closes #5998 2017-10-25 10:48:12 -04:00
Barış Soner Uşaklı
adbdf69a49 up dbsearch 2017-10-25 10:24:17 -04:00
Barış Soner Uşaklı
056e4f0601 #6004 2017-10-25 09:08:03 -04:00
Barış Soner Uşaklı
ce3e1f31ab fix for #6004 2017-10-24 17:55:45 -04:00
Peter Jaszkowiak
62ae171432 Merge remote-tracking branch 'origin/master' into develop 2017-10-23 17:13:35 -06:00
Barış Soner Uşaklı
5d45f9fff2 fix lint 2017-10-23 19:09:44 -04:00
Barış Soner Uşaklı
6a2019c646 closes #6003 2017-10-23 19:05:00 -04:00
Peter Jaszkowiak
f336726173 Bump dependencies (#6001)
* Bump dependencies

* Fix mocha v4 requiring --exit flag

Use nyc instead of the istanbul binary

* Print out summary instead of full report
2017-10-23 18:32:26 -04:00
Barış Soner Uşaklı
e7318a1cea Mongo cache (#6002)
* cache mongodb objects

remove user settings cache since it is cached at the object level

* removed indexOf from isMemberOfSets

* change has to get, change maxAge to 0
2017-10-23 18:31:16 -04:00
Barış Soner Uşaklı
7ad4420b6a closes #6000 2017-10-23 15:09:13 -04:00
Misty (Bot)
2929d4b1df Latest translations and fallbacks 2017-10-23 09:25:55 +00:00
Misty (Bot)
2920fc0dfa Latest translations and fallbacks 2017-10-22 09:25:22 +00:00
Peter Jaszkowiak
ab8465d7b6 Make deprecation warnings more clear (#5996)
* Add these as warnings

To be removed in next major version

* Make ACP search's purpose more clear

* Only warn once per deprecated path
2017-10-20 15:47:08 -04:00
Julian Lam
ec3bb1c727 allowing plugins to define upgrade scripts 2017-10-20 15:34:27 -04:00
Barış Soner Uşaklı
108f84fd19 add type to dbal 2017-10-20 13:51:07 -04:00
Misty (Bot)
92684757c6 Latest translations and fallbacks 2017-10-20 09:25:58 +00:00
Baris Usakli
c4310395c9 Merge remote-tracking branch 'refs/remotes/origin/master' into develop
# Conflicts:
#	package.json
2017-10-19 13:54:56 -04:00
Baris Usakli
19dc7da42f closes #5994 2017-10-19 13:53:05 -04:00
Baris Usakli
8733f51f86 remove test for unused code 2017-10-19 13:13:40 -04:00
Baris Usakli
79598c32d3 remove unused function 2017-10-19 12:56:51 -04:00
Misty (Bot)
05c1a6cfed Latest translations and fallbacks 2017-10-19 09:26:06 +00:00
Barış Soner Uşaklı
797857e1d2 remove old test 2017-10-18 15:06:22 -04:00
Barış Soner Uşaklı
d8dc79e3c7 closes #5992 2017-10-18 14:49:42 -04:00
Baris Usakli
6a6dc7ef06 closes #5990 2017-10-16 15:35:46 -04:00
Baris Usakli
8a499e09ed fix nconf lowercasing 2017-10-16 13:51:47 -04:00
Peter Jaszkowiak
f4355efb30 Optimize translator
- Use `slice` less
- Skip iterations with `indexOf`
2017-10-16 12:03:41 -04:00
Julian Lam
684a66a760 fixes #5989 2017-10-16 10:51:53 -04:00
Barış Soner Uşaklı
73b3e08682 up mentions 2017-10-15 17:54:40 -04:00
Peter Jaszkowiak
189008af75 Optimize translator
- Use `slice` less
- Skip iterations with `indexOf`
2017-10-14 13:47:05 -06:00
Barış Soner Uşaklı
5e6d8ea566 handle 404 first 2017-10-14 08:34:04 -04:00
Peter Jaszkowiak
60a42aa651 Merge branch 'translator-optimization' into develop 2017-10-13 21:23:44 -06:00
Peter Jaszkowiak
cf289b9228 Merge remote-tracking branch 'origin/master' into develop 2017-10-13 21:23:04 -06:00
Peter Jaszkowiak
190eea5691 Remove this useless check 2017-10-13 21:17:57 -06:00
Peter Jaszkowiak
46fafb20b9 Remove string.js dependency 2017-10-13 21:02:41 -06:00
Barış Soner Uşaklı
557dfd5b47 testing new socket.io-client extraHeaders (#5985)
* testing new socket.io-client extraHeaders

* change mongodb installation
2017-10-13 13:57:30 -04:00
Peter Jaszkowiak
1c5bdcb670 Enable running multiple upgrades at once (#5984) 2017-10-13 13:15:18 -04:00
Julian Lam
0efa403a68 invoking the proper ACE Editor mode 2017-10-13 13:12:48 -04:00
Peter Jaszkowiak
f9a1951ec5 Enable running multiple upgrades at once 2017-10-13 11:11:11 -06:00
Julian Lam
bf1e922cab Removed Thumbs.db from a vendor dir 2017-10-13 12:21:28 -04:00
Julian Lam
8741f7c63c updated ACP menu label 2017-10-13 12:20:48 -04:00
Julian Lam
6a93bc140b Merge remote-tracking branch 'origin/master' into develop 2017-10-13 12:02:24 -04:00
Julian Lam
b44cfacda1 resolve XSS vulnerability in flags pages 2017-10-13 11:54:16 -04:00
Julian Lam
ae261e073b updating markdown and moving app.load back into ajaxify.end 2017-10-13 09:58:26 -04:00
Baris Usakli
9101400264 closes #5961 2017-10-12 17:57:25 -04:00
Baris Usakli
c5f58f73a7 closes #5974 2017-10-12 17:05:15 -04:00
Julian Lam
cfacc4f133 potential fix for #5980 2017-10-12 17:01:01 -04:00
Julian Lam
9cbf1597cd Merge remote-tracking branch 'origin/master' into develop 2017-10-12 14:01:14 -04:00
Baris Usakli
68bcfb2883 closes #5975 2017-10-12 13:54:53 -04:00
Julian Lam
cd6dcff38b Split up customJS into customHTML and customJS for better organisation (#5981)
* WIP

* fixed customJS not actually working in footer

* Moving scripts to footer, #5980

* Added upgrade scripts for #5980
2017-10-12 13:38:27 -04:00
Baris Usakli
500c978a26 closes #5944 2017-10-12 13:03:43 -04:00
Misty (Bot)
681e8074d2 Latest translations and fallbacks 2017-10-12 09:25:36 +00:00
Barış Soner Uşaklı
410e825bc0 fix upgrade script changing brand:logo to absolute path 2017-10-11 17:52:03 -04:00
Barış Soner Uşaklı
645410131d closes #5942 2017-10-11 16:51:52 -04:00
Misty (Bot)
91f385dc94 Incremented version number - v1.6.1 2017-10-11 12:22:54 -04:00
Julian Lam
df5178ce78 fixed typo in outgoing route test, and added new test for javascript protocol 2017-10-10 12:17:39 -04:00
Julian Lam
72502ff992 utilising whitelist instead of blacklisting javascript protocol 2017-10-10 11:48:06 -04:00
Julian Lam
5863d64d27 prevent inline js payloads from executing in outgoing page 2017-10-10 11:35:17 -04:00
Barış Soner Uşaklı
67ba6bb820 closes #5977 2017-10-10 11:26:41 -04:00
Julian Lam
d37c0cfd67 bumping themes again to remove changes for #5733 2017-10-10 11:16:43 -04:00
Barış Soner Uşaklı
9e9de2edd0 closes #5976 2017-10-10 11:01:16 -04:00
Misty (Bot)
425db49fe8 Latest translations and fallbacks 2017-10-10 09:25:44 +00:00
Peter Jaszkowiak
1c35213934 Fix #5970 and forking while debugging (#5965)
* Fix forking while debugging

Debugger address in use no longer happens

* Fix cropper error
2017-10-09 11:40:36 -04:00
Misty (Bot)
bb6dcf3779 Latest translations and fallbacks 2017-10-09 09:26:12 +00:00
Andrew Rodrigues
a1a87c7ca1 closes #5969 2017-10-08 00:04:13 -04:00
Misty (Bot)
ea41e39dd2 Latest translations and fallbacks 2017-10-07 09:25:55 +00:00
Dravere
8d5ef79e9c Smtp emailer change without restart (#5957)
* SMTP fallback transport setup during app startup and config update

* Verbose logging message to see when SMTP fallback transport is setup
2017-10-06 07:36:43 -04:00
Misty (Bot)
098b8d9971 Latest translations and fallbacks 2017-10-06 09:25:55 +00:00
Barış Soner Uşaklı
227c245fb2 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	package.json
2017-10-05 11:40:58 -04:00
Barış Soner Uşaklı
0de692188f check topic.cid 2017-10-05 11:39:35 -04:00
Dravere
38900a9964 Smtp emailer issue 5951 (#5954)
* Fixed typo at emailer.js line 66 (serice -> service)

* When custom SMTP user and password is empty no authentication is attempted

* Added options to choose custom smtp connection security

* Made custom smtp connection security strings translatable

* Changed switch to if-else for custom smtp security option

* Fixed emailer.js lint errors

* Move custom setting to top of list
2017-10-04 18:26:44 -04:00
Julian Lam
dd5651b859 bump composer to test new composer submit behaviour 2017-10-03 14:29:45 -04:00
Julian Lam
d0ec7fdaef update themes to support #5733 2017-10-03 14:19:29 -04:00
Julian Lam
6852c92ed6 Merge remote-tracking branch 'origin/develop' 2017-10-03 13:37:43 -04:00
RoiEX
e1f180ea3f Remove uneccessary undefined declaration 2017-10-03 09:47:59 -04:00
RoiEX
ce9a3f20c5 Optimize transition 2017-10-03 09:47:59 -04:00
RoiEX
5e4e523198 Make progress bar finer 2017-10-03 09:47:59 -04:00
RoiEX
1fd160a4e6 Add Support for Firefox OSD 2017-10-03 09:43:33 -04:00
Julian Lam
2086a64a5e fixes #5947 2017-10-03 09:40:52 -04:00
Barış Soner Uşaklı
b70f328520 closes #5948 2017-10-02 19:27:57 -04:00
Peter Jaszkowiak
da9da8190f Bump dependencies
Bumping eslint & configs meant making some linting fixes

For future reference, the `xmlhttprequest-ssl` library must be of equal versioning to the one in `engine.io-client`, otherwise it won't be deduped which causes the socket.io tests to fail
2017-10-02 09:24:27 -04:00
Misty (Bot)
47bbe846cb Latest translations and fallbacks 2017-10-02 09:24:20 +00:00
Chế Tiệp Chân Khoa
1f5d14dda4 place some code under the right loop (#5945) 2017-09-29 09:27:41 -04:00
Barış Soner Uşaklı
73eadd47df up widget-essentials 2017-09-28 10:53:54 -04:00
Andrew Rodrigues
ab765c5407 Merge pull request #5941 from NodeBB/fix-5934
Fix #5934: Use .js instead of .jst
2017-09-26 16:53:56 -04:00
Peter Jaszkowiak
dc87d7fc0f Use .js instead of .jst
Fix #5934
2017-09-23 12:51:20 -06:00
Barış Soner Uşaklı
f989988178 closes #1668 2017-09-22 10:26:03 -04:00
Barış Soner Uşaklı
2185480c4e switch to eachSeries 2017-09-21 19:25:54 -04:00
Baris Usakli
c49837143c fix test 2017-09-21 14:51:00 -04:00
Baris Usakli
859b353097 up widget essentials 2017-09-21 14:32:40 -04:00
Baris Usakli
8276e20254 closes #5937 2017-09-21 14:30:12 -04:00
Baris Usakli
852396e60d closes #5903 2017-09-21 13:50:24 -04:00
Misty (Bot)
3227e778a2 Latest translations and fallbacks 2017-09-20 09:23:50 +00:00
Misty (Bot)
8f0e48aa40 Latest translations and fallbacks 2017-09-19 09:23:49 +00:00
Misty (Bot)
bb65ecd8b8 Latest translations and fallbacks 2017-09-18 09:23:51 +00:00
Misty (Bot)
6ea82515cc Latest translations and fallbacks 2017-09-17 09:23:31 +00:00
Misty (Bot)
ce59a78aa4 Latest translations and fallbacks 2017-09-16 09:27:37 +00:00
Barış Soner Uşaklı
4c0d430819 only return minimal info for pending and invited users 2017-09-15 17:07:43 -04:00
Misty (Bot)
b840b96a4a Latest translations and fallbacks 2017-09-15 09:23:50 +00:00
Baris Usakli
a2508161c6 fix hover bg color 2017-09-14 15:57:22 -04:00
Misty (Bot)
c2ef5ed8f5 Incremented version number - v1.6.0 2017-09-14 14:06:15 -04:00
Julian Lam
b8ce4023c3 finish redirect if success returned 5x, via installer 2017-09-14 13:42:48 -04:00
Julian Lam
dea372a5c5 fixes #5932 2017-09-14 10:15:05 -04:00
Julian Lam
e64c1d28e6 closes #5931 2017-09-14 09:40:24 -04:00
Davis
7f95bdfe6f In --no-daemon unlink of nonexisting pidfile
When running application using --no-deamon, when process is killed with signal SIGTERM, it exits with code 1, due to fact that pidfile does not exist
2017-09-14 06:48:34 -04:00
Misty (Bot)
252be54b32 Latest translations and fallbacks 2017-09-14 09:23:59 +00:00
Julian Lam
514317ab20 using translator.unescape instead of replaces 2017-09-13 17:06:00 -04:00
Julian Lam
158e47e2ac linting 2017-09-13 16:51:31 -04:00
Julian Lam
cea4b553fc Merge pull request #5929 from NodeBB/benchpress-webinstall
Fix web installer benchpress issue
2017-09-13 15:51:49 -04:00
Peter Jaszkowiak
2ca1475eee Fix web installer benchpress issue 2017-09-13 13:50:00 -06:00
Julian Lam
211482bbc0 fixes #5927 2017-09-13 12:09:31 -04:00
Misty (Bot)
d47c5a7bb0 Latest translations and fallbacks 2017-09-13 09:24:05 +00:00
Julian Lam
8b0e6611d9 fixed incorrect parameter passed into hook 2017-09-12 18:55:47 -04:00
Julian Lam
c373f85726 Merge remote-tracking branch 'origin/master' into develop 2017-09-12 13:58:07 -04:00
Julian Lam
9f4e92fa13 closes #5925 2017-09-12 13:46:51 -04:00
Barış Soner Uşaklı
1019feb569 fix method name 2017-09-12 11:51:38 -04:00
Barış Soner Uşaklı
f42119673f fix string cids in post summaries 2017-09-12 11:41:52 -04:00
Misty (Bot)
3872c97bed Latest translations and fallbacks 2017-09-12 09:24:10 +00:00
Julian Lam
b5e1b4a9c4 fallbacks for #5922 2017-09-11 15:39:36 -04:00
Julian Lam
4c82539e83 updated goback text, #5922 2017-09-11 15:38:10 -04:00
Julian Lam
38a7030639 Revert "Merge pull request #5923 from NodeBB/patch-5922"
This reverts commit f8ddabc884, reversing
changes made to 4976d13013.
2017-09-11 15:37:18 -04:00
Julian Lam
3c335cb451 added post-queue translations and fallbacks 2017-09-11 12:54:06 -04:00
Julian Lam
3a8643d529 adding post queue to transifex managed translations 2017-09-11 12:47:46 -04:00
Misty (Bot)
09e2234611 Latest translations and fallbacks 2017-09-11 09:23:32 +00:00
Misty (Bot)
f00d5a6e13 Latest translations and fallbacks 2017-09-10 09:23:16 +00:00
Misty (Bot)
5b19675093 Latest translations and fallbacks 2017-09-09 09:23:27 +00:00
Julian Lam
89499b9e7c up composer-default 2017-09-08 15:59:42 -04:00
Julian Lam
f8ddabc884 Merge pull request #5923 from NodeBB/patch-5922
Fix #5922
2017-09-08 15:58:14 -04:00
Peter Jaszkowiak
f40d37ad48 Fix #5922 2017-09-08 13:23:30 -06:00
Baris Usakli
b56d6f8b50 make call to db in /ping and /sping 2017-09-08 14:39:50 -04:00
Julian Lam
a6b993ef6c updating 500-embed to load after page is fully loaded, #5733 2017-09-08 11:55:37 -04:00
Julian Lam
26d4c18340 Merge remote-tracking branch 'origin/master' into develop 2017-09-08 11:40:54 -04:00
Julian Lam
2c2a28c5b6 closes #5919 2017-09-08 11:37:51 -04:00
Julian Lam
4976d13013 removed console log 2017-09-08 11:25:45 -04:00
Julian Lam
f7d78771f8 fixes #5921 2017-09-08 11:12:48 -04:00
Misty (Bot)
9118323060 Latest translations and fallbacks 2017-09-08 09:23:33 +00:00
Barış Soner Uşaklı
a4532f011a Blacklist fix (#5918)
* closes #5917

* fix callback for upgrade script

* delete key even if falsy, could be empty string

* DRYer ternary
2017-09-07 15:34:17 -04:00
Misty (Bot)
0b07068b13 Latest translations and fallbacks 2017-09-07 09:23:30 +00:00
Julian Lam
302f06df95 fixes #5914 2017-09-06 15:09:01 -04:00
Julian Lam
7e03c7be47 Merge pull request #5916 from NodeBB/uglify-errors
Catch uglify errors
2017-09-06 14:44:45 -04:00
Peter Jaszkowiak
61b0f0c4c3 Catch uglify errors 2017-09-06 11:15:39 -06:00
Misty (Bot)
7e82570e1f Latest translations and fallbacks 2017-09-04 09:23:30 +00:00
Misty (Bot)
4628c2d2f4 Latest translations and fallbacks 2017-09-03 09:23:09 +00:00
psychobunny
d4a11de07d move blacklist.less into admin/manage/ip-blacklist.less 2017-09-01 19:47:20 -04:00
psychobunny
fdffaf9ed2 re-organized ip blacklist page 2017-09-01 19:29:09 -04:00
Misty (Bot)
0587b98eca Latest translations and fallbacks 2017-09-01 23:20:36 +00:00
Baris Usakli
1358a89305 closes #5907 2017-09-01 18:40:34 -04:00
Baris Usakli
bf79857b7d closes #5908 2017-09-01 17:42:55 -04:00
Julian Lam
8e89eb80b7 up composer 2017-09-01 16:14:49 -04:00
Julian Lam
1034626896 Merge remote-tracking branch 'origin/develop' 2017-09-01 16:07:12 -04:00
Julian Lam
1829aa139d up themes 2017-09-01 16:07:00 -04:00
Peter Jaszkowiak
e5eaab3494 Merge pull request #5909 from harmdhast/patch-2
Template - Benchpress | Variable call fix
2017-09-01 11:50:52 -06:00
Misty (Bot)
412f844885 Latest translations and fallbacks 2017-09-01 09:23:19 +00:00
Harmdhast
0b520f8d65 Template - Benchpress | Variable call fix
Change the way the var is called to match the new benchpressjs templating system.
Fixes the admin permission panel.
2017-09-01 01:10:38 +02:00
Peter Jaszkowiak
23e7222dfa Update Nodemailer to v4
also filter out .jst files from email template dropdowns
2017-08-30 14:26:41 -06:00
Peter Jaszkowiak
e8aa8c62f6 Update jsdom 2017-08-30 13:27:59 -06:00
Peter Jaszkowiak
295bf7d115 Bump dependencies 2017-08-30 13:22:18 -06:00
Peter Jaszkowiak
cfba8970e1 Fix posts block usage in categories page 2017-08-30 12:43:11 -06:00
Peter Jaszkowiak
d9d0f3ffc7 Bump benchpress 2017-08-30 12:30:09 -06:00
Peter Jaszkowiak
9f9eace596 End support for Node 4, add Node 8 testing 2017-08-30 12:11:23 -06:00
Peter Jaszkowiak
b5acd796fb Remove public eslint templates global 2017-08-30 11:32:56 -06:00
Peter Jaszkowiak
c91dfb46f6 Switch module t.js usage to Benchpress 2017-08-30 11:32:23 -06:00
Peter Jaszkowiak
71aab79a9a Switch client t.js usage to Benchpress 2017-08-30 11:31:29 -06:00
Peter Jaszkowiak
dc3f89a505 ajaxify t.js usage to Benchpress 2017-08-30 10:51:25 -06:00
Peter Jaszkowiak
5885e37127 Switch admin t.js usage to Benchpress 2017-08-30 10:50:28 -06:00
Misty (Bot)
b3438bc695 Latest translations and fallbacks 2017-08-30 09:23:54 +00:00
Julian Lam
643ae05d68 closes #5868 2017-08-29 11:41:43 -04:00
Julian Lam
cd60d79a13 closes #5904 2017-08-29 09:28:18 -04:00
Misty (Bot)
a176582282 Latest translations and fallbacks 2017-08-29 09:23:29 +00:00
manolino
9cb098bb0b Implements Jimp exitRotate() new method (jimp 0.2.28) to sove incoherent rotations when scaling images. 2017-08-28 14:34:42 -04:00
Barış Soner Uşaklı
bc6edba6df change post queue test 2017-08-27 19:13:23 -04:00
Misty (Bot)
b2c16b2ba0 Latest translations and fallbacks 2017-08-27 09:23:16 +00:00
Misty (Bot)
fad64bf1f0 Latest translations and fallbacks 2017-08-26 09:23:18 +00:00
Andrew Rodrigues
60e0f4ced9 minor typo 2017-08-25 15:53:35 -04:00
psychobunny
ececfe9a77 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2017-08-25 13:59:20 -04:00
psychobunny
01275787b6 added widgets.resetTemplate(s) 2017-08-25 13:59:14 -04:00
Barış Soner Uşaklı
5cc39e8546 Merge remote-tracking branch 'refs/remotes/origin/master' into develop
# Conflicts:
#	package.json
#	src/views/admin/manage/ip-blacklist.tpl
2017-08-24 19:29:15 -04:00
Peter Jaszkowiak
abffc29128 Use Benchpress (#5901)
* Use Benchpress

* Use Benchpress.compileParse

* Error for template load failure

* Use benchpressjs package

* Compile templates on demand

* Fix user settings page

* Fix admin search to exclude `.jst` files

* Fix 500-embed

So ajaxify can still show an error if the server goes down
2017-08-24 19:26:50 -04:00
psychobunny
864321f727 re-organize newbiePostDelay fields 2017-08-24 14:25:09 -04:00
Julian Lam
53ca6d1199 closes #5889 2017-08-24 12:39:57 -04:00
Misty (Bot)
3705251359 Latest translations and fallbacks 2017-08-24 09:23:25 +00:00
Julian Lam
73d4517d27 Revert "fixes #5894"
This reverts commit e2b40ddf34.
2017-08-23 21:38:58 -04:00
psychobunny
f1f5db4c99 remove redundant lines in watch directories 2017-08-23 20:13:52 -04:00
psychobunny
70887c5f78 fix grunt paths for core less files 2017-08-23 20:11:24 -04:00
Julian Lam
9d2bf4746c Revert "fix reload loop for guests"
This reverts commit a67a0b0a08.
2017-08-23 19:32:10 -04:00
Julian Lam
a67a0b0a08 fix reload loop for guests 2017-08-23 19:30:30 -04:00
psychobunny
a13a5c02e9 closes #5899 2017-08-23 18:14:59 -04:00
Julian Lam
cdd139b327 increment blacklist analytics on blacklist block 2017-08-23 16:16:27 -04:00
Julian Lam
00c25d47f9 blacklist should not use data.result anymore, just err is fine 2017-08-23 16:14:08 -04:00
Baris Usakli
19ae2b3eb4 dont join online_users and uid_ if user does not exist 2017-08-23 15:30:13 -04:00
Baris Usakli
0d0ea0977f check error 2017-08-23 15:29:27 -04:00
Julian Lam
e2b40ddf34 fixes #5894 2017-08-23 15:11:15 -04:00
Anil Mandepudi
ff3ca28db8 update theme slick version (#5897)
Slick theme updated with all changes necessary to be compatible with master branch changes.
2017-08-23 12:49:30 -04:00
Julian Lam
81cf8f77d3 add blacklist test to onSuccessfulLogin as well 2017-08-23 12:14:14 -04:00
Baris Usakli
10c8666520 lower sleep to 15secs 2017-08-23 11:48:52 -04:00
Baris Usakli
18e0f1a9dd try to start mongod 2017-08-23 11:32:03 -04:00
Baris Usakli
a9e7f768e2 wait 30 secs 2017-08-23 11:19:29 -04:00
Baris Usakli
bd26cadb80 moved sleep before node setup 2017-08-23 11:10:25 -04:00
Baris Usakli
b2542c1e19 add missing return false 2017-08-23 10:54:00 -04:00
Baris Usakli
0b6902a03e testing mongodb wait script 2017-08-23 10:44:15 -04:00
Julian Lam
c71b7db646 remove messy regexes and a console.log 2017-08-22 16:55:47 -04:00
Julian Lam
5d2b3d3c39 remove dependency on ip-range-check and ip, use lower level ipaddr.js instead
re: #5893
2017-08-22 16:55:31 -04:00
psychobunny
cca8dca735 up slick theme 2017-08-22 15:22:41 -04:00
Julian Lam
8346130cdc introduced new hook filter:blacklist.test 2017-08-22 13:46:20 -04:00
Barış Soner Uşaklı
0498832317 closes #5888 2017-08-22 10:28:35 -04:00
psychobunny
714a7066ec add some styling to blacklist rules textarea 2017-08-21 19:05:37 -04:00
psychobunny
5699236fd2 added missing relative_path to view sitemap button 2017-08-21 18:58:01 -04:00
psychobunny
d5db97930d prevent "plugins" menu from being highlighted when going to Extend -> Plugins 2017-08-21 18:50:50 -04:00
psychobunny
c0c0a28f21 point to the correct section for user registration settings 2017-08-21 18:46:43 -04:00
psychobunny
e8c40c8dc6 scroll to the actual subsection in the ACP when clicking on links pointing to that hash 2017-08-21 18:46:03 -04:00
psychobunny
0e219a8c58 closes #5891 2017-08-21 17:48:58 -04:00
Barış Soner Uşaklı
fcce96efab style change 2017-08-21 16:51:42 -04:00
Barış Soner Uşaklı
a46db9616c fix message delete and add test 2017-08-21 16:48:18 -04:00
Barış Soner Uşaklı
1875764aca fix typo in delete 2017-08-21 16:39:24 -04:00
Barış Soner Uşaklı
da856ba665 up deps 2017-08-21 16:33:14 -04:00
Barış Soner Uşaklı
26990059d3 up widget-essentials 2017-08-21 15:32:00 -04:00
Barış Soner Uşaklı
d46172b07e up widget-essentials 2017-08-21 15:12:34 -04:00
Barış Soner Uşaklı
62c81ca0d3 fix lint 2017-08-20 21:07:54 -04:00
Barış Soner Uşaklı
329bfeeb3b convert min/max to float 2017-08-20 20:41:31 -04:00
Misty (Bot)
e895f30c8e Latest translations and fallbacks 2017-08-20 09:23:18 +00:00
Barış Soner Uşaklı
74caf191f5 fix typo 2017-08-19 09:13:15 -04:00
Misty (Bot)
8aaf87a3c4 Latest translations and fallbacks 2017-08-19 09:23:17 +00:00
Barış Soner Uşaklı
d01f099d24 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-08-18 20:18:19 -04:00
Barış Soner Uşaklı
35a02ee464 up composer 2017-08-18 20:17:49 -04:00
Barış Soner Uşaklı
ff88be91fa Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-08-18 20:09:40 -04:00
Barış Soner Uşaklı
5344edc2a7 closes #5885 2017-08-18 20:08:19 -04:00
Barış Soner Uşaklı
5dfb2fb83a up themes, fix notif test 2017-08-18 19:00:48 -04:00
Julian Lam
31ae8c7fd5 up themes for #5873 2017-08-18 16:32:07 -04:00
Julian Lam
c1d7b06ded Fixes #5873
- Notifications.getMultiple now takes an optional uid parameter
- If a notification link in dropdown points to a topic and you're
  in said topic, you will be scrolled to the post instead of
  ajaxified to it.
2017-08-18 16:30:54 -04:00
Julian Lam
1159abf9ec fixes #5879 2017-08-18 15:05:49 -04:00
Julian Lam
b4a4fd8679 up composer for #5886 2017-08-18 12:25:56 -04:00
Baris Usakli
dc9b21021a escape moderation notes 2017-08-18 11:23:20 -04:00
Julian Lam
db13aac106 up themes, for the last time today. 2017-08-17 13:35:40 -04:00
Julian Lam
4dae008e16 up themes again :shipit: 2017-08-17 13:17:24 -04:00
Julian Lam
89b2d94b61 up themes again 2017-08-17 12:54:51 -04:00
Julian Lam
f14c2f44ff up themes for rtl fixes 2017-08-17 11:53:10 -04:00
Misty (Bot)
4e98c4b39f Latest translations and fallbacks 2017-08-17 09:23:28 +00:00
Baris Usakli
753f1576ce processSortedSet 2017-08-16 16:47:52 -04:00
Baris Usakli
8fae8cea83 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-08-16 15:42:30 -04:00
Baris Usakli
18db0734b0 newline 2017-08-16 15:29:03 -04:00
Baris Usakli
bc0645dc26 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-08-16 15:17:26 -04:00
Baris Usakli
a9b1a0bdc4 fix tpl name 2017-08-16 15:17:10 -04:00
Baris Usakli
0ce3e4b691 post-queue show category, send notification 2017-08-16 15:15:58 -04:00
Julian Lam
f56578ab50 remove reset tokens if target user email changes 2017-08-16 14:37:00 -04:00
Baris Usakli
37a8247293 add test for teaser content escape 2017-08-16 13:40:33 -04:00
Julian Lam
6ec1bfd660 added artificial delay on reset route so that the heat death of the universe will arrive before you manage to identify a valid reset code 2017-08-16 12:51:02 -04:00
Julian Lam
12e50b9ae2 up markdown 2017-08-16 12:32:13 -04:00
Barış Soner Uşaklı
df069ee78d escape teaser content 2017-08-16 12:32:06 -04:00
Barış Soner Uşaklı
8ff9fe34ee up themes 2017-08-16 09:10:40 -04:00
Misty (Bot)
77390930bb Latest translations and fallbacks 2017-08-16 09:23:24 +00:00
Baris Usakli
c7db59b37b add post queue title 2017-08-15 15:57:55 -04:00
Julian Lam
8dab0074f7 up mentions 2017-08-15 15:54:58 -04:00
psychobunny
c3b1f31a5f email logo: prevent crash if source image doesn't exist 2017-08-15 15:17:09 -04:00
Baris Usakli
5a968730d5 closes #5880 2017-08-15 14:43:43 -04:00
Baris Usakli
575c9a41cd Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-08-15 13:00:18 -04:00
Barış Soner Uşaklı
f161bbf956 Post queue (#5878)
* #5876

* add user to post queue table

* add time of post into queue

add posting restrictions to queue

* fix shouldQueueLogic for guests

* add test for post-queue route
2017-08-15 12:59:40 -04:00
Misty (Bot)
1864a50826 Latest translations and fallbacks 2017-08-15 09:23:25 +00:00
Baris Usakli
7162f5db62 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-08-14 11:13:17 -04:00
Baris Usakli
2053726c81 up spam-be-gone 2017-08-14 11:10:54 -04:00
Barış Soner Uşaklı
fc0e5421d6 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-08-12 20:37:12 -04:00
Barış Soner Uşaklı
7ab152e582 fix missing template var name 2017-08-12 20:36:39 -04:00
Barış Soner Uşaklı
ed84794c1f fix lint 2017-08-12 16:50:29 -04:00
Barış Soner Uşaklı
48165b9011 closes #5875 2017-08-12 16:45:08 -04:00
aStonedPenguin
acfda106f1 Fix dead links (#5856)
* Fix dead links

* ok
2017-08-11 23:43:41 -04:00
Baris Usakli
c21f64c27f closes #5872 2017-08-11 14:22:02 -04:00
Baris Usakli
27a6b8a713 lint fixes 2017-08-11 11:55:46 -04:00
Baris Usakli
bc6b1a8f56 Merge remote-tracking branch 'refs/remotes/origin/master' into develop
# Conflicts:
#	public/src/admin/extend/plugins.js
2017-08-11 11:33:06 -04:00
Julian Lam
d9ad26c7c5 the meat of #5862, making chat loading not require an ajaxification 2017-08-10 17:00:43 -04:00
Baris Usakli
24bbf8fe00 closes #5869 2017-08-10 16:49:16 -04:00
Julian Lam
902b823f4d adding mobile handling of chats' recent list links 2017-08-10 16:21:28 -04:00
Julian Lam
bc9a125034 re: #5862, setting chat list height even if no message list is present 2017-08-10 15:28:09 -04:00
Misty (Bot)
7c99af13e5 Latest translations and fallbacks 2017-08-10 09:26:59 +00:00
Baris Usakli
e0e783ec05 closes #5866 2017-08-09 10:48:26 -04:00
Misty (Bot)
23096e24b4 Latest translations and fallbacks 2017-08-05 09:23:21 +00:00
Barış Soner Uşaklı
75e5073fc9 closes #5859 2017-08-04 22:23:59 -04:00
Misty (Bot)
5a52e6f752 Latest translations and fallbacks 2017-08-04 09:23:25 +00:00
Barış Soner Uşaklı
82b5246b28 fix process.env.url if it was changed 2017-08-03 20:52:09 -04:00
Barış Soner Uşaklı
5d53c41db7 fix unlink calls 2017-08-03 20:15:55 -04:00
Baris Usakli
e836ddf6e2 fix link to topic 2017-08-03 14:14:05 -04:00
Julian Lam
128b922873 fixes #5428 2017-08-03 13:29:28 -04:00
Julian Lam
7844408301 linting 2017-08-03 12:15:49 -04:00
Baris Usakli
8928db539b add missing radix 2017-08-03 12:11:53 -04:00
Julian Lam
4f9cbabec3 fixes #5853 2017-08-03 12:06:15 -04:00
Julian Lam
29e7bdbc99 expose license info in plugin API for installed plugins 2017-08-03 12:06:15 -04:00
Baris Usakli
51facb3cb0 closes #5857 2017-08-03 11:59:12 -04:00
Misty (Bot)
3a3ccd1d58 Latest translations and fallbacks 2017-08-03 09:23:37 +00:00
Barış Soner Uşaklı
3e4a4d7d55 remove header selector 2017-08-02 19:53:17 -04:00
Barış Soner Uşaklı
d32f5459b7 fix unread icon 2017-08-02 19:44:35 -04:00
Barış Soner Uşaklı
c0f390322c https://github.com/Schamper/nodebb-plugin-poll/issues/86 2017-08-02 18:12:08 -04:00
Barış Soner Uşaklı
e9f8cdc7f0 closes #5855 2017-08-02 17:42:13 -04:00
Baris Usakli
44353a2b39 closes #5854 2017-08-02 16:17:24 -04:00
Baris Usakli
bd5edc55aa closes #5086 2017-08-02 13:45:00 -04:00
Baris Usakli
de55c8e431 closes #4070 2017-08-02 13:03:39 -04:00
Julian Lam
5fc6fe1c80 closes #5162 2017-08-02 12:27:27 -04:00
Misty (Bot)
88e0ee4ffe Latest translations and fallbacks 2017-08-02 09:23:39 +00:00
Baris Usakli
e071f94173 test debugParams.js 2017-08-01 16:51:21 -04:00
Julian Lam
bb11d286ce up themes 2017-08-01 16:26:20 -04:00
Julian Lam
0cf1fbceff added moderator tools to tracked language strings, closes NodeBB/nodebb-theme-persona/370 2017-08-01 16:23:04 -04:00
Baris Usakli
c0861277de closes #5775 2017-08-01 14:36:55 -04:00
Baris Usakli
9dc0069ce7 closes #5845 2017-08-01 14:09:55 -04:00
Baris Usakli
4ac8d29f06 closes #5847 2017-08-01 13:17:03 -04:00
Julian Lam
0ecd2300b3 Closes #5849 2017-08-01 10:15:16 -04:00
Misty (Bot)
53508e58c3 Latest translations and fallbacks 2017-08-01 09:23:25 +00:00
Barış Soner Uşaklı
493cd16f39 closes #5848 2017-07-31 16:48:28 -04:00
Barış Soner Uşaklı
c0fa404b6c fix test 2017-07-31 16:47:28 -04:00
Misty (Bot)
d76a67a084 Latest translations and fallbacks 2017-07-29 09:23:20 +00:00
Julian Lam
303f1146b2 added upload_url to nconf vars @pitaj 2017-07-28 17:16:05 -04:00
Julian Lam
d06f114705 comma DANGLE 2017-07-28 16:50:18 -04:00
Julian Lam
d68a3b6862 fixed emailer init if no logo saved 2017-07-28 16:43:32 -04:00
Julian Lam
0ff413e5f8 simplifying logic 2017-07-28 15:18:50 -04:00
Julian Lam
f77f17dc20 just use emailLogo instead of doing logo with x50.png suffix 2017-07-28 15:07:44 -04:00
Julian Lam
000f8b8d92 fixed incorrect library module ref 2017-07-28 14:19:27 -04:00
Baris Usakli
875672522e Merge remote-tracking branch 'refs/remotes/origin/master' into develop
# Conflicts:
#	src/search.js
2017-07-28 14:19:09 -04:00
Julian Lam
e0862be3c8 added new search hook to allow for enumeration after query 2017-07-28 14:10:11 -04:00
Unbug Lee
5e16933c1f Arguments supports for start command (#5843)
* backport cache fix

* backport paste image fix

* backport crash fix

* up emoji one

* Update package.json

* backport #5692

* Incremented version number - v1.5.1

* Incremented version number - v1.5.2

* arguments supports for start command

remove concat
2017-07-28 11:35:56 -04:00
Misty (Bot)
00e588b648 Latest translations and fallbacks 2017-07-28 09:23:29 +00:00
Barış Soner Uşaklı
7a405da60f group member search change 2017-07-28 00:55:02 -04:00
Julian Lam
61deb962e3 adding notifications.get hook 2017-07-27 22:17:56 -04:00
Barış Soner Uşaklı
f6890cd971 up themes 2017-07-27 20:00:17 -04:00
Barış Soner Uşaklı
911eb32e70 fix var names 2017-07-27 19:45:54 -04:00
Barış Soner Uşaklı
3bcaedfe9d up markdown 2017-07-27 19:43:40 -04:00
Barış Soner Uşaklı
54f3009b4c up composer default 2017-07-27 19:42:26 -04:00
Barış Soner Uşaklı
f646e08a6e update tags/links for 1.5.4 2017-07-27 19:40:11 -04:00
Misty (Bot)
76d2e43948 Incremented version number - v1.5.3 2017-07-27 15:51:26 -04:00
Julian Lam
533b044ad1 Added new hook "filter:search.inContent"
This hook is fired after the search query returns a collection of
pids, but before those pids' summaries are retrieved. It is
useful to add a hook in here if you want to enumerate over the
matched results before they are truncated in the response payload.
2017-07-27 14:22:32 -04:00
Misty (Bot)
f2dba40496 Latest translations and fallbacks 2017-07-27 09:23:37 +00:00
Baris Usakli
6cd0582b42 add filter:user.saveSettings 2017-07-26 16:30:08 -04:00
Julian Lam
09770c4c39 up composer-default 2017-07-26 14:50:17 -04:00
Baris Usakli
a9dbdc75af closes #5825 2017-07-26 14:32:53 -04:00
Baris Usakli
949595fdf3 fix eslint 2017-07-26 13:40:17 -04:00
Baris Usakli
541b78c26d fix ipMatch data 2017-07-26 13:39:34 -04:00
Misty (Bot)
ae3d5f8aaa Latest translations and fallbacks 2017-07-26 09:23:26 +00:00
Barış Soner Uşaklı
4c126c0870 up markdown 2017-07-25 22:15:52 -04:00
Barış Soner Uşaklı
b3f6c423c6 fix test 2017-07-25 18:23:21 -04:00
Baris Usakli
5ce9f898b2 fix test 2017-07-25 16:23:43 -04:00
Julian Lam
ab8d765f4f Merge branch 'master' into develop 2017-07-25 14:13:51 -04:00
Julian Lam
f59f48c6e1 use setImmediate 2017-07-25 14:11:54 -04:00
Julian Lam
c9c27b86c4 added back logic to strip leading slashes, but after the fix to app.all 2017-07-25 13:50:37 -04:00
Baris Usakli
6087f3c8cd test router fix 2017-07-25 12:54:23 -04:00
Julian Lam
84c1a182e5 Merge remote-tracking branch 'origin/master' into develop 2017-07-25 12:28:43 -04:00
Baris Usakli
e9639833c5 add router.all 2017-07-25 12:11:11 -04:00
Julian Lam
1247b4b53b linting 2017-07-25 11:07:48 -04:00
Julian Lam
233297367b strip leading slashes from path if double-slash is accidentally used, stripping trailing slash from relative path retrieved from config.json 2017-07-25 10:39:57 -04:00
Julian Lam
36e02780fe updates to email logo usage 2017-07-25 09:45:49 -04:00
Misty (Bot)
5835334b1c Latest translations and fallbacks 2017-07-25 09:23:35 +00:00
Baris Usakli
28073cc91a lint 2017-07-24 12:28:14 -04:00
Baris Usakli
91c79506b5 add tagwhitelist to topic api 2017-07-24 12:17:55 -04:00
Misty (Bot)
b2a0ecb3c8 Latest translations and fallbacks 2017-07-24 09:23:35 +00:00
Barış Soner Uşaklı
efe13e4038 closes #5827 2017-07-23 18:10:24 -04:00
Misty (Bot)
9d0e2e90de Latest translations and fallbacks 2017-07-23 09:24:11 +00:00
Barış Soner Uşaklı
292d27716a closes #5842 2017-07-22 19:21:22 -04:00
Barış Soner Uşaklı
9d69224329 up themes fix altenate_logins to be bool 2017-07-22 19:05:22 -04:00
Misty (Bot)
e87f6f900f Latest translations and fallbacks 2017-07-22 09:23:55 +00:00
Peter Jaszkowiak
904f22522e Merge pull request #5821 from NodeBB/scoped-plugins
Support scoped plugin npm packages
Also fix logging in VS Code with the inspector debugger
2017-07-21 10:28:46 -06:00
Misty (Bot)
a1b7666c96 Latest translations and fallbacks 2017-07-21 09:24:00 +00:00
Julian Lam
94c84cdc5b moving email logo upgrade script to 1.6.0 2017-07-20 16:23:55 -04:00
Julian Lam
568b2b9957 fixes #5780 2017-07-20 15:43:11 -04:00
Julian Lam
184dacf1d7 Merge branch 'master' into develop 2017-07-20 13:19:41 -04:00
Julian Lam
c4fbed24f8 Squashed commit of the following:
commit 9c86d9b2904e14927cd7e9679b92aec0951d1063
Merge: ebfa63a 5a7f811
Author: Julian Lam <julian@nodebb.org>
Date:   Thu Jul 20 08:41:39 2017 -0400

    Merge branch 'noscript-login' of https://github.com/An-dz/NodeBB into noscript

commit 5a7f81185e
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Mon Jul 17 23:07:14 2017 -0300

    Rename clashing variable 'next'

commit ebfa63a984073a58c17aa408c363cdb03ef89985
Merge: c1801cd f159d0d
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Jul 17 16:30:40 2017 -0400

    Merge branch 'noscript-logout' of https://github.com/An-dz/NodeBB into noscript

commit c1801cda14e6363491e30b659902e2ae71f7e1f7
Merge: 7a5f9f3 9fd542d
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Jul 17 16:30:31 2017 -0400

    Merge branch 'noscript-register' of https://github.com/An-dz/NodeBB into noscript

commit 7a5f9f35abc834bb72ddddc9ca07d34f2fde8353
Merge: 44851f9 d37b95c
Author: Julian Lam <julian@nodebb.org>
Date:   Mon Jul 17 16:30:10 2017 -0400

    Merge branch 'noscript-compose' of https://github.com/An-dz/NodeBB into noscript

commit f159d0d9ef
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Thu Jul 6 12:16:38 2017 -0300

    Prevent form submit

    Required for theme change

commit d37b95cb71
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Thu Jul 6 01:49:52 2017 -0300

    Prevent link action with scripts

    Required for the theme change that changes the buttons to `a` tags.

commit 9fd542d897
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Wed Jul 5 19:57:56 2017 -0300

    Fix tests

commit cdad5bf8c2
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Wed Jul 5 19:09:17 2017 -0300

    Update error handling

commit 4ff11cd136
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Wed Jul 5 17:29:08 2017 -0300

    Remove async waterfall

commit df01d44e82
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Wed Jul 5 16:59:43 2017 -0300

    Set noscript compose as noscript at start

commit 4bcc380da7
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Wed Jul 5 16:59:12 2017 -0300

    Remove last useless next

commit b5eac6fea1
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Sun Jul 2 18:35:08 2017 -0300

    Last function requires no next

commit 20a5cce6e6
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Sun Jul 2 18:06:58 2017 -0300

    Remove more useless next calls

commit 85ee22a79b
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Sun Jul 2 17:46:07 2017 -0300

    Remove useless next calls

commit 7d984c47ad
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Sun Jul 2 15:45:31 2017 -0300

    Support old themes

commit 4a09dfbd08
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Sun Jul 2 15:37:23 2017 -0300

    Moved all error handling into helpers function

commit 391aa6e67e
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Thu Jun 8 15:37:37 2017 -0300

    ESLint - Fix mixed conditionals

commit 80ccc6fd58
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Sat Jun 3 18:08:15 2017 -0300

    Compose without scripts

commit 2aca811256
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Sat Jun 3 18:00:44 2017 -0300

    Register without scripts

commit 097bb51577
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Sat Jun 3 16:42:15 2017 -0300

    Logout without scripts

commit d497e08109
Author: André Zanghelini <an_dz@simutrans-forum>
Date:   Sat Jun 3 16:27:10 2017 -0300

    Login without script
2017-07-20 08:51:04 -04:00
Misty (Bot)
72fb92fa96 Latest translations and fallbacks 2017-07-20 09:23:30 +00:00
Julian Lam
f40928c46c up composer 2017-07-19 17:37:39 -04:00
Peter Jaszkowiak
dc324b36b2 Add test for Plugins.showInstalled 2017-07-19 12:18:57 -06:00
Julian Lam
6762ecbf21 Merge pull request #5839 from kingjan1999/master
Fix update link in README.md, fixes #5838
2017-07-19 09:29:10 -04:00
Jan
c86cb12d0f Fix update link in README.md, fixes #5838 2017-07-19 15:17:55 +02:00
Misty (Bot)
e02f354ec9 Latest translations and fallbacks 2017-07-19 09:23:24 +00:00
Julian Lam
efea8f8e99 closes #5784 2017-07-18 14:59:06 -04:00
Baris Usakli
18181260e7 closes #5836 2017-07-18 13:36:21 -04:00
Baris Usakli
43a70270ef closes #5835 2017-07-18 11:31:18 -04:00
Misty (Bot)
018d5d7819 Latest translations and fallbacks 2017-07-18 09:24:12 +00:00
Stjepan Osojnički
9b491e4c2e Add post images hook (#5828)
* Add post images hook

This hook would allow plugins to manipulate images inside posts  after images are manipulated by nodebb (for example, delay loading). Without this hook we can manipulate images by searching post data for them and manipulate that data, but any change on that level is either erased by nodebb once image loading starts (if delay is turned on) or it disables native image behaviour by changing image code so native behaviour is not triggered.
Hook at this place works for both delayed loading turned on and off.
Usage for this kind of hook was talked about here: https://community.nodebb.org/topic/10960/opening-uploaded-images-in-modal-windows

* trying to fix Travis error

* Update images.js

Hook moved out of wrapImagesInLinks function to places where images are actually loaded. One of the places is inside unloadImage function but in place where loading is happening because of failed if check (delayImageLoading not se in users configuration).
2017-07-17 18:16:48 -04:00
Barış Soner Uşaklı
eecc680761 style 2017-07-17 18:16:23 -04:00
dbolack-ab
c1452db0ba Adds the filter:uploadStored hook which fires after the file is saved… (#5798)
* Adds the filter:uploadStored hook which fires after the file is saved in the async waterfall and passes:
                       var storedFile = {
                       url: nconf.get('relative_path') + upload.url,
                       path: upload.path,
                       name: uploadedFile.name,
               }
               plugins.fireHook( 'filter:uploadStored', { uploadedFile: uploadedFile, storedFile: storedFile } );

* Corrections per PR. Should match style guide.

* Correction attempts take 2.

Per:

/home/travis/build/NodeBB/NodeBB/src/controllers/uploads.js

  234:5    error  Missing semicolon                            semi

  235:3    error  Expected indentation of 3 tabs but found 2   indent

  235:19   error  There should be no spaces inside this paren  space-in-parens

  235:105  error  There should be no spaces inside this paren  space-in-parens

  236:3    error  Expected indentation of 3 tabs but found 2   indent

* next() shouldn't fire twice, but I see no documentation suggesting that the paramaters will fire correctly.

Previous comments imply it is preferred to have fireHook fire fof the callback rather than having it happen next,  so I'm wrapping next in an anonymous function to ensure it passes the parameters.

If this is not the preferred method, please provide a thorough correction.

* Meh. Figuring out this style requirement is so hit and miss.

* Corrected for proper callback? technique.

Might blow up on style. Will watch.
2017-07-17 18:15:24 -04:00
Barış Soner Uşaklı
b983be2919 fix colspans in category privilege tab 2017-07-17 15:29:36 -04:00
Julian Lam
44851f97ac added logic for hiding logo if none is set, preventing crash on startup if no logo is set 2017-07-17 14:51:12 -04:00
Julian Lam
d9ace1723c removed references to libs that aren't used 2017-07-17 12:40:50 -04:00
Julian Lam
f29b9f29f9 added missing setImmediate 2017-07-17 12:23:11 -04:00
Julian Lam
63ec3b6a55 upgrade script to generate and set email logo+sizes in config 2017-07-17 12:16:14 -04:00
Julian Lam
5cec946871 fixed bug with logo being stretched in emails 2017-07-17 11:03:12 -04:00
Julian Lam
c40b11aa6e updated site upload logic so that site logo is resized for email header, implemented site logo in email header 2017-07-17 10:47:56 -04:00
Barış Soner Uşaklı
8e8507c9e6 up widget essentials 2017-07-16 15:35:22 -04:00
Barış Soner Uşaklı
cc4f4e7282 style changes 2017-07-15 16:57:41 -04:00
Barış Soner Uşaklı
67ca1881bd closes #5831 2017-07-15 16:24:46 -04:00
Baris Usakli
0a4b76357a #5830 2017-07-14 17:29:53 -04:00
Baris Usakli
9dee81b37f closes #5830 2017-07-14 17:29:31 -04:00
Julian Lam
f2f4f07570 Merge branch 'revamped-email-templates' into develop 2017-07-14 16:37:57 -04:00
Julian Lam
39e78a8a12 forgot the css :rage2: 2017-07-14 16:35:43 -04:00
Julian Lam
7fc6442af7 resized digest header 2017-07-14 16:34:38 -04:00
Julian Lam
bcdfba653a tweaking hero image 2017-07-14 16:32:37 -04:00
Julian Lam
5f24d63005 digest tpl 2017-07-14 16:30:37 -04:00
Baris Usakli
f8bfe79cf4 remove tid from recent_tids 2017-07-14 16:23:20 -04:00
Julian Lam
4c0135e188 fixed missing payload items in invitation email 2017-07-14 15:50:59 -04:00
Julian Lam
0b8b3fafbf banned and invitation 2017-07-14 15:43:55 -04:00
Julian Lam
065b3a3a03 notif_chat tpl 2017-07-14 15:36:18 -04:00
Julian Lam
a9540a13a1 fixing url in footer 2017-07-14 14:54:56 -04:00
Julian Lam
f0f856fe6b more padding adjustments 2017-07-14 14:46:31 -04:00
Julian Lam
f9233d5c9b more padding fixes 2017-07-14 14:43:06 -04:00
Julian Lam
b7d0ea900e who knew you couldn't put two paragraphs inside a td 2017-07-14 14:37:13 -04:00
Julian Lam
733f694cf3 adjusted some margins 2017-07-14 14:31:43 -04:00
Julian Lam
4dc9905b30 adding password reset image 2017-07-14 14:22:11 -04:00
Julian Lam
f128f988f3 slimmed down some data, testing notif_post again 2017-07-14 14:21:58 -04:00
Julian Lam
82dda3e2e6 added email closing back to notif_post 2017-07-14 14:02:34 -04:00
Julian Lam
582dd1ed2e testing new footer with new_post tpl 2017-07-14 13:09:35 -04:00
Misty (Bot)
3a0bc15a7a Incremented version number - v1.5.2 2017-07-14 12:56:02 -04:00
Julian Lam
51349bb71f more email templates updated 2017-07-14 12:55:34 -04:00
Baris Usakli
5a9ae8f4c7 rearrange menu items 2017-07-13 17:18:01 -04:00
Baris Usakli
72cafd55cf 2 new hooks for changing direction and set name 2017-07-13 16:09:01 -04:00
Baris Usakli
f1f8a587d4 Merge remote-tracking branch 'refs/remotes/origin/master' into develop
# Conflicts:
#	package.json
2017-07-13 15:02:23 -04:00
Baris Usakli
ea29e3e250 simpler call to validateFilters 2017-07-13 15:01:29 -04:00
Baris Usakli
6ba913d6e6 up themes 2017-07-13 14:02:42 -04:00
Julian Lam
7c6c1adb04 test email done 2017-07-13 12:54:54 -04:00
Julian Lam
0d0e0d7311 removed prerender text and used partials for header and footer 2017-07-13 12:50:09 -04:00
Julian Lam
6c768030cc using variable for urls again, welcome.tpl done I think 2017-07-13 12:39:58 -04:00
Julian Lam
10d23f5447 resized logo again 2017-07-13 12:21:24 -04:00
Julian Lam
2eecf43eae updated logo image 2017-07-13 11:51:48 -04:00
Julian Lam
a2627d2066 added default payload to emails, and adding nodebb logo for email header 2017-07-13 11:30:44 -04:00
Julian Lam
b54a311a0d Merge branch 'develop' into revamped-email-templates 2017-07-13 10:45:56 -04:00
Baris Usakli
50e37713bf composer-default 2017-07-13 10:45:39 -04:00
Julian Lam
15d368c6b9 more changes to welcome.tpl 2017-07-13 10:43:27 -04:00
Misty (Bot)
0e4fba7c6c Latest translations and fallbacks 2017-07-13 09:23:25 +00:00
Peter Jaszkowiak
ee5895f534 Fix #5488 Support scoped plugin npm packages 2017-07-13 01:43:54 -06:00
Peter Jaszkowiak
90296b92cd Override winston to use console.log instead of stdout 2017-07-12 23:29:56 -06:00
Barış Soner Uşaklı
5888a5ffc4 closes #5010
init plugin hooks before resetting widgets, the areas are returned by
`filter:widgets.getAreas`
2017-07-12 20:10:19 -04:00
Barış Soner Uşaklı
4056283fd5 always return array 2017-07-12 19:47:08 -04:00
Barış Soner Uşaklı
0f5be5ae25 remove plugin.hook check 2017-07-12 19:44:35 -04:00
Barış Soner Uşaklı
e6d0dde7b4 up dbsearch 2017-07-12 19:35:20 -04:00
Barış Soner Uşaklı
bca79da8c6 closes #4197
add in-topic search support to dbsearch
prevent multiple click handlers on in-topic search widget(each click was
causing multiple scrolls)
fix index
2017-07-12 19:29:41 -04:00
Barış Soner Uşaklı
e613064b06 closes #5819 2017-07-12 17:21:21 -04:00
Julian Lam
9b813af56d png instead of svg 2017-07-12 15:58:52 -04:00
Julian Lam
020d3acfe9 WIP welcome email 2017-07-12 15:36:15 -04:00
Julian Lam
9c71da1577 sending callback with welcome email test 2017-07-12 15:20:30 -04:00
Misty (Bot)
d478deb4fe Latest translations and fallbacks 2017-07-12 09:23:22 +00:00
Barış Soner Uşaklı
71e3fea55b closes #5802 2017-07-11 19:18:47 -04:00
Baris Usakli
0e0d961f7c dont change templateData 2017-07-11 16:40:04 -04:00
Baris Usakli
0b101fa3eb composer-default 2017-07-11 16:18:20 -04:00
Baris Usakli
30199f921e Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-07-11 15:47:54 -04:00
Julian Lam
701ba73883 updated homepage route logic so that it is all contained in the local function (and plugin hook receives all entries, including custom) @barisusakli 2017-07-11 15:40:47 -04:00
Baris Usakli
593ea572c9 up markdown 2017-07-11 14:32:57 -04:00
Baris Usakli
12d53c95ca up composer 2017-07-11 14:14:55 -04:00
Baris Usakli
2d875a99cb fix data 2017-07-11 13:59:29 -04:00
Baris Usakli
dc110e2e3f closes #5818 2017-07-11 13:44:51 -04:00
Julian Lam
c2f1d254cc Merge branch 'master' into develop 2017-07-10 16:36:09 -04:00
Julian Lam
45d940ad2b added one more client-side hook for search @barisusakli 2017-07-10 16:34:18 -04:00
Baris Usakli
59aeee6516 remove addExpiresHeaders 2017-07-10 15:26:58 -04:00
Baris Usakli
e036e26238 closes #5813 2017-07-10 14:55:57 -04:00
Baris Usakli
4e7447c9d6 remove ajaxify.widgets.reposition 2017-07-10 14:05:48 -04:00
Baris Usakli
bece6808a2 up themes for widgets refactor 2017-07-10 13:04:01 -04:00
Barış Soner Uşaklı
923bd86662 Widgets refactor (#5817)
* widgets refactor

render widgets server side
widgets can use all the data the template can use

* fix tests
2017-07-10 12:54:45 -04:00
Julian Lam
65329b9bd7 closes nodebb-plugin-markdown#85 2017-07-10 12:21:23 -04:00
Barış Soner Uşaklı
80ea9e9797 fix lint 2017-07-10 00:37:48 -04:00
Barış Soner Uşaklı
6485108dfd faster getReplies 2017-07-10 00:28:15 -04:00
Barış Soner Uşaklı
feecf0b61c dont make db call if guest 2017-07-09 21:08:03 -04:00
Barış Soner Uşaklı
e9360347ea less padding, closes #5811 2017-07-09 16:08:06 -04:00
Misty (Bot)
2b3a88365c Latest translations and fallbacks 2017-07-09 09:23:16 +00:00
Misty (Bot)
b117f1169e Latest translations and fallbacks 2017-07-08 09:23:18 +00:00
Barış Soner Uşaklı
34d9b57b26 fix wrong function name, change dom to data @julianlam 2017-07-07 18:12:42 -04:00
Julian Lam
3ddf332e0c added two new client-side hooks for search to allow plugins to add fields 2017-07-07 15:48:35 -04:00
Julian Lam
77ec169591 added two new client-side hooks for search to allow plugins to add fields 2017-07-07 15:48:01 -04:00
Baris Usakli
e0de922ede Revert "widgets refactor"
This reverts commit 9e94edb5aa.
2017-07-07 15:35:06 -04:00
Baris Usakli
9e94edb5aa widgets refactor
render widgets server side
widgets can use all the data the template can use
2017-07-07 15:33:16 -04:00
Julian Lam
121a629de6 linting 2017-07-07 12:10:42 -04:00
Julian Lam
09621a3a3d fixes #5776 2017-07-07 11:56:28 -04:00
Misty (Bot)
3e453fd1a6 Latest translations and fallbacks 2017-07-07 09:23:23 +00:00
Baris Usakli
fbddb665b0 make tests pass 2017-07-06 16:07:58 -04:00
Baris Usakli
5f6b964097 up lavender 2017-07-06 16:02:31 -04:00
Baris Usakli
67c007cf6b up lavender 2017-07-06 15:50:32 -04:00
Julian Lam
e309ac5040 fixes #5790 2017-07-06 15:42:40 -04:00
Julian Lam
77d6181bd1 missing translations for ja and pt-BR 2017-07-06 14:15:57 -04:00
Baris Usakli
7538210b07 #5772
load correct timeago settings on cold load instead of after page load
2017-07-06 14:09:59 -04:00
Baris Usakli
1837ac2015 closes #5788 2017-07-06 13:07:16 -04:00
Baris Usakli
d469f53eba using async in batch
removed unused code in debug
2017-07-06 12:08:01 -04:00
Julian Lam
922790cc40 up mentions for japanese localization 2017-07-06 11:32:01 -04:00
Julian Lam
368059713b up mentions 2017-07-06 11:11:41 -04:00
Julian Lam
b7e8ecc6d3 updated mentions version and changed topics filter to take its translation from global hash instead 2017-07-05 16:43:46 -04:00
psychobunny
14bda343b3 use direct db call to get rss_token instead 2017-07-05 11:46:37 -04:00
psychobunny
0d60b17be1 use direct db call to get rss_token instead 2017-07-05 11:41:23 -04:00
psychobunny
6cb0d6f8c1 wipe existing rss tokens 2017-07-05 11:41:22 -04:00
Barış Soner Uşaklı
b807d3750c encodeURI redirect url 2017-07-05 11:36:35 -04:00
Misty (Bot)
1a814f6f94 Latest translations and fallbacks 2017-07-05 09:22:47 +00:00
psychobunny
d44090ba18 Merge remote-tracking branch 'refs/remotes/origin/private-feeds' 2017-07-04 23:54:08 -04:00
psychobunny
dd1cfd62d4 don't show rss_token in /api/user/name 2017-07-04 23:46:49 -04:00
psychobunny
b744f8ce5a Merge remote-tracking branch 'refs/remotes/origin/master' into private-feeds 2017-07-04 23:46:08 -04:00
Barış Soner Uşaklı
091fec8d6f removed unnecessary code 2017-07-04 17:54:51 -04:00
Baris Usakli
3d4b358470 up vanilla 2017-07-04 12:41:20 -04:00
Julian Lam
3f2c183cbd Merge branch 'master' into develop 2017-07-04 10:39:51 -04:00
Julian Lam
932b3f06a5 closes #5797 2017-07-04 10:09:41 -04:00
Misty (Bot)
8e25471685 Latest translations and fallbacks 2017-07-04 09:22:47 +00:00
Barış Soner Uşaklı
c91632e041 Merge pull request #5794 from NodeBB/fix-5793
Fix #5793
2017-07-02 19:52:52 -04:00
Peter Jaszkowiak
1471fbdc14 Fix tests 2017-07-02 16:26:31 -06:00
Peter Jaszkowiak
f1c955e6fc Fix scrollStop not working sometimes 2017-06-30 23:38:52 -06:00
Peter Jaszkowiak
6cb8440715 Fix #5793
Use a custom header instead
2017-06-30 23:38:31 -06:00
Barış Soner Uşaklı
02c679d5c9 up composer 2017-06-30 16:05:01 -04:00
Misty (Bot)
fbdc2d7b3f Latest translations and fallbacks 2017-06-30 19:28:28 +00:00
Julian Lam
8a7950bfd5 add new hook to allow plugins to modify list of valid filters 2017-06-29 14:17:29 -04:00
Barış Soner Uşaklı
48cce70f78 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-06-28 15:57:20 -04:00
Julian Lam
4271ce1e14 up composer 2017-06-28 14:47:38 -04:00
Baris Usakli
5167c1aa4f Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-06-28 14:19:29 -04:00
Baris Usakli
9979987342 perserve hash when switching categories 2017-06-28 13:52:46 -04:00
Baris Usakli
2f8f69d6af test monthly digest 2017-06-28 13:27:47 -04:00
Baris Usakli
74ed033e4a fix digest test 2017-06-28 13:18:37 -04:00
Baris Usakli
77103fb3d1 closes #5785 2017-06-28 12:35:57 -04:00
Julian Lam
3bd02d58e3 fixes logic that allowed posts beyond maximum post length if min is set to 0, @barisusakli 2017-06-28 12:25:51 -04:00
Barış Soner Uşaklı
fd55e4ccdf Merge pull request #5783 from madarche/fix-route-touchicon
Fix /apple-touch-icon not sending uploaded file
2017-06-28 12:03:38 -04:00
Julian Lam
28d8be8b9d fixed #5782 2017-06-28 11:20:57 -04:00
Baris Usakli
7350e54b62 change to verbose 2017-06-28 10:57:00 -04:00
Marc-Aurèle DARCHE
6248e5562f Fix /apple-touch-icon not sending uploaded file
This fixes the following error:

$ wget https://nodebb.yourdomain/apple-touch-icon

28/6 09:57:06 [28332] - error: /apple-touch-icon
 Error: ENOENT: no such file or directory, stat '/home/sweet/nodebb/public/assets/uploads/system/touchicon-orig.png'
    at Error (native)
2017-06-28 15:02:17 +02:00
Misty (Bot)
382240f25c Latest translations and fallbacks 2017-06-28 09:22:46 +00:00
Julian Lam
a58fa35c01 up mentions to include @barisusakli's fix for groups mentioning 2017-06-27 17:36:02 -04:00
Baris Usakli
4890731444 don't error if topicsContainer is not set 2017-06-27 14:34:37 -04:00
Baris Usakli
e8bff210c9 clear selectedCategory on init 2017-06-27 11:38:09 -04:00
Misty (Bot)
6f14d00026 Latest translations and fallbacks 2017-06-27 09:25:00 +00:00
Barış Soner Uşaklı
b64ba40c67 closes #5772 2017-06-26 17:27:48 -04:00
Barış Soner Uşaklı
3ec2cf65d7 up persona 2017-06-26 17:07:30 -04:00
Barış Soner Uşaklı
e0dc47f883 closes #5779 2017-06-26 16:51:45 -04:00
Barış Soner Uşaklı
e6cbaf6d85 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-06-26 15:38:31 -04:00
Misty (Bot)
6b66cc8f64 Latest translations and fallbacks 2017-06-26 09:25:10 +00:00
Barış Soner Uşaklı
38af651072 use _.uniq 2017-06-25 20:00:05 -04:00
Barış Soner Uşaklı
c36f25f761 switch .filter to uniq 2017-06-25 19:05:13 -04:00
Barış Soner Uşaklı
fd43f38e42 closes #5773 2017-06-25 14:39:42 -04:00
Misty (Bot)
631e9aea14 Latest translations and fallbacks 2017-06-24 09:25:01 +00:00
Barış Soner Uşaklı
3d85992757 modify db.processSortedSet so it works with intervals 2017-06-23 18:18:34 -04:00
Barış Soner Uşaklı
b4b68498cd added interval option to processSortedSet 2017-06-23 17:17:27 -04:00
Baris Usakli
1f5b3ba636 closes #5771 2017-06-23 15:57:23 -04:00
Baris Usakli
a8e4981d30 up persona 2017-06-23 13:57:43 -04:00
Julian Lam
3cc528dc02 linting 2017-06-23 13:08:19 -04:00
Baris Usakli
9b5cdae856 up composer 2017-06-23 12:52:08 -04:00
Julian Lam
2e1528942c fixed #5770 2017-06-23 12:41:40 -04:00
Julian Lam
eb9f6145d9 fixes #5770 2017-06-23 11:03:54 -04:00
Julian Lam
d117c65893 oops :shipit: 2017-06-23 10:27:00 -04:00
Misty (Bot)
b0ea511b27 Latest translations and fallbacks 2017-06-23 09:24:49 +00:00
Barış Soner Uşaklı
0f234601f1 style changes 2017-06-22 19:03:49 -04:00
Barış Soner Uşaklı
78005d6124 show old groups first 2017-06-22 18:12:35 -04:00
Baris Usakli
1b0c6741f8 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-06-22 14:52:49 -04:00
Barış Soner Uşaklı
8d8f0a391f Merge pull request #5769 from NodeBB/private-feeds
Private feeds, closes #5740
2017-06-22 13:20:41 -04:00
Baris Usakli
77994dcf69 fix link tag url 2017-06-22 13:04:24 -04:00
Baris Usakli
ef9e656f34 closes #5740
added token to topic page as well
check privilege even if token is provided
tests
2017-06-22 12:44:37 -04:00
Julian Lam
05434afed1 fixes #5738 2017-06-22 11:17:32 -04:00
Julian Lam
d98b3e8056 automatically lowercasing env vars in nconf, fixes #2544 2017-06-22 11:10:23 -04:00
Julian Lam
9a06604968 changing local getUserName to getUserSlug, closes julianlam/nodebb-plugin-mentions#89 2017-06-21 12:57:38 -04:00
Barış Soner Uşaklı
9c6b0013e8 Merge pull request #5767 from Faianca/fix-ping-relative-path
Add relativePath to /ping and /sping
2017-06-21 12:23:53 -04:00
Julian Lam
e604d6e23e closes #5768 2017-06-21 09:51:59 -04:00
Jorge Meireles
a0e501676c Add relativePath to /ping and /sping 2017-06-21 11:21:19 +02:00
Barış Soner Uşaklı
53a2a7244d closes #5765 2017-06-20 23:08:12 -04:00
Baris Usakli
7fe239229d show 3 digits 2017-06-20 16:34:34 -04:00
psychobunny
228e9ab8e3 proof of concept for #5740 2017-06-20 16:12:55 -04:00
Baris Usakli
cf444755df closes #5729 2017-06-20 14:23:21 -04:00
Baris Usakli
a509ccab84 up composer 2017-06-20 13:20:38 -04:00
Barış Soner Uşaklı
af4c0de476 closes #5763 2017-06-20 10:17:58 -04:00
Misty (Bot)
3682cd9654 Latest translations and fallbacks 2017-06-19 09:25:22 +00:00
Misty (Bot)
d8fc65808c Latest translations and fallbacks 2017-06-18 09:24:58 +00:00
Misty (Bot)
a94e3f78a7 Latest translations and fallbacks 2017-06-17 09:25:01 +00:00
Barış Soner Uşaklı
50f2a4ed19 remove dupe hook 2017-06-16 17:51:31 -04:00
Barış Soner Uşaklı
7fe9366103 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-06-16 17:35:45 -04:00
Barış Soner Uşaklı
be79b85526 fix test 2017-06-16 15:02:06 -04:00
Barış Soner Uşaklı
d65f494c6d closes #5127 2017-06-16 14:25:40 -04:00
Barış Soner Uşaklı
8f5f5eb56a closes #5761 2017-06-16 12:55:29 -04:00
Barış Soner Uşaklı
43aab9b5f1 Merge pull request #5760 from BenLubar/upload-with-no-extension
Fix uploading a file with no extension resulting in invalid-extension even if the file extension list is blank (allow all)
2017-06-16 12:30:39 -04:00
Barış Soner Uşaklı
2ed4837545 up composer-default 2017-06-16 12:26:29 -04:00
Ben Lubar
07982a3fa2 Fix uploading a file with no extension resulting in invalid-extension even if the file extension list is blank (allow all) 2017-06-16 10:37:23 -05:00
Julian Lam
f4fb9ee04b adding filter hooks for flag list and retrieval 2017-06-16 10:58:21 -04:00
Misty (Bot)
2d04bb9d33 Latest translations and fallbacks 2017-06-16 09:25:06 +00:00
Baris Usakli
0ea4ee7dda Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-06-15 14:05:45 -04:00
Baris Usakli
4903585d88 refactor userPrivileges and groupPrivileges 2017-06-15 14:02:51 -04:00
Misty (Bot)
02ba714fe8 Latest translations and fallbacks 2017-06-15 09:24:53 +00:00
Julian Lam
dbcc1517eb fix chat links not working in flag details page 2017-06-14 15:24:43 -04:00
Misty (Bot)
5f09a8b41d Latest translations and fallbacks 2017-06-14 09:28:35 +00:00
Barış Soner Uşaklı
d9e84b1db8 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-06-13 20:58:19 -04:00
Barış Soner Uşaklı
b13ed26587 closes #5755 2017-06-13 20:15:48 -04:00
Baris Usakli
8ea5c060f5 closes #5754 2017-06-13 15:20:31 -04:00
Julian Lam
32dad6ba82 Merge branch 'master' into develop 2017-06-13 12:55:22 -04:00
Julian Lam
d1805300f7 fix nl language.json 2017-06-13 12:55:06 -04:00
Misty (Bot)
52e795ce78 Latest translations and fallbacks 2017-06-13 09:25:08 +00:00
Barış Soner Uşaklı
a16aa33c8d Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-06-12 16:12:48 -04:00
Barış Soner Uşaklı
1628c352fd closes #5750 2017-06-12 13:33:30 -04:00
Barış Soner Uşaklı
f1cbf563fc closes #5751 2017-06-12 12:56:03 -04:00
Barış Soner Uşaklı
38806fe07f closes #5752 2017-06-12 12:53:16 -04:00
Misty (Bot)
1451b91fe0 Latest translations and fallbacks 2017-06-09 09:22:48 +00:00
Barış Soner Uşaklı
22131640fd closes #5749 2017-06-08 17:17:46 -04:00
Baris Usakli
bcf2156028 check sortBy 2017-06-08 14:29:14 -04:00
Baris Usakli
f6ba79287b get full topic data 2017-06-08 14:12:07 -04:00
Baris Usakli
982184740d small refactor of category controller 2017-06-08 12:39:12 -04:00
psychobunny
50367a971e req should be req. 👍 2017-06-07 20:18:04 -04:00
Baris Usakli
deecf04454 add filter:search.filterAndSort 2017-06-07 14:21:03 -04:00
Misty (Bot)
89895099ce Latest translations and fallbacks 2017-06-07 09:22:54 +00:00
Baris Usakli
037a0e5239 closes #5742
also fix reverse infinite scroll when sorting is changed
2017-06-06 16:40:32 -04:00
Baris Usakli
1d26fc0d89 closes #5741 2017-06-06 12:55:43 -04:00
Baris Usakli
a2a5fb9928 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-06-06 12:32:18 -04:00
Misty (Bot)
b6feb0aa57 Latest translations and fallbacks 2017-06-05 09:22:47 +00:00
Misty (Bot)
90a15a633a Latest translations and fallbacks 2017-06-04 09:24:31 +00:00
Barış Soner Uşaklı
52eb063015 up composer 2017-06-03 20:08:05 -04:00
Barış Soner Uşaklı
a49a9a07b3 refactor groups.delete 2017-06-02 18:19:06 -04:00
Barış Soner Uşaklı
e56178f72e remove init socket.io 2017-06-02 17:18:58 -04:00
Barış Soner Uşaklı
4f31dec82c reduce usage of io.emit in tests 2017-06-02 16:51:36 -04:00
Barış Soner Uşaklı
2ae855678a closes #5735 2017-06-02 15:30:59 -04:00
Julian Lam
3e6a779dbc Merge remote-tracking branch 'origin/master' 2017-06-02 15:06:44 -04:00
Julian Lam
6728e9a5cc #5729 2017-06-02 15:01:24 -04:00
Barış Soner Uşaklı
14ea9a0dd6 Merge pull request #5716 from NodeBB/import-export-ref
Import export cleanup
2017-06-02 13:37:16 -04:00
Julian Lam
b3c9992ba3 made upgrade script log verbose 2017-06-02 11:16:28 -04:00
Julian Lam
88a763e08b changes to upgrade script progress bars to work better on narrow terminals, fixes #5732 2017-06-02 10:58:39 -04:00
Julian Lam
b4870654fc Merge pull request #5728 from NodeBB/patch-pitaj
Assorted Fixes
2017-06-02 10:14:50 -04:00
Misty (Bot)
54e40e815f Latest translations and fallbacks 2017-06-02 09:23:00 +00:00
Barış Soner Uşaklı
ddb83b3eab closes #5731 2017-06-01 20:57:56 -04:00
Julian Lam
29e868b002 closes #5585 2017-06-01 16:24:45 -04:00
Barış Soner Uşaklı
5a55c882ab convert NaN uids to 0 2017-06-01 16:17:08 -04:00
Peter Jaszkowiak
34af855848 Fix npm@5 saving by default 2017-06-01 14:16:13 -06:00
Peter Jaszkowiak
8e5bcf6105 Fix #5727 2017-06-01 14:16:07 -06:00
Peter Jaszkowiak
e71fb9ab24 Fix node --inspect 2017-06-01 14:15:40 -06:00
Peter Jaszkowiak
9a3b684228 Remove dependency, ignore package-lock.json 2017-06-01 14:15:30 -06:00
Peter Jaszkowiak
44e55d2a98 Less synchronous stuffs 2017-06-01 14:14:43 -06:00
Julian Lam
0ea89c2799 fixes #5608 2017-06-01 15:46:35 -04:00
Julian Lam
3467071a7d fixed extra line break in upgrade scripts introduced in 5516352758 2017-06-01 15:02:55 -04:00
Misty (Bot)
382a0aa42e Latest translations and fallbacks 2017-06-01 09:25:16 +00:00
Barış Soner Uşaklı
b62c905588 up dbsearch 2017-05-31 20:45:44 -04:00
Peter Jaszkowiak
b60dbe7d1e Unwrap meta modules 2017-05-31 16:24:23 -06:00
Peter Jaszkowiak
aefdc4b24b Refactor helpers import/export 2017-05-31 16:23:28 -06:00
psychobunny
c94365aefd closes #5721 2017-05-31 16:35:18 -04:00
psychobunny
006584e405 fixes [build] Unknown target: error message 2017-05-31 15:06:10 -04:00
Barış Soner Uşaklı
92376a1589 fix calls 2017-05-31 13:13:16 -04:00
Barış Soner Uşaklı
eb0faf1e4a change test to use new signature 2017-05-31 13:08:45 -04:00
Barış Soner Uşaklı
f17fcbbe5e add slick to core 🌟 2017-05-31 12:44:50 -04:00
Misty (Bot)
2d73e7fec2 Latest translations and fallbacks 2017-05-31 09:22:56 +00:00
Barış Soner Uşaklı
d20b599b20 closes #5723 2017-05-30 20:01:59 -04:00
Baris Usakli
da8b1b605c #5723 2017-05-30 17:21:34 -04:00
psychobunny
d8dfda4a54 Merge pull request #5720 from darktrge/small-changes
(minor) add .svn line to .gitignore
2017-05-30 17:01:57 -04:00
Baris Usakli
ba9397987a if no email dont send 2017-05-30 14:27:03 -04:00
Baris Usakli
d13eb52f39 closes #5722 2017-05-30 14:10:16 -04:00
Julian Lam
12524b5ce4 fix lint 2017-05-30 13:17:26 -04:00
Julian Lam
d2b5b53cb4 refactor for sendValidationEmail, and sending better dummy data for welcome email template 2017-05-30 13:09:30 -04:00
Julian Lam
7ce208ca13 Better dummy data for testing banned email template 2017-05-30 12:11:44 -04:00
Julian Lam
313d48b47d updated emailer code so digest emails when tested in ACP are sent with real data instead of incomplete fake data 2017-05-30 12:11:44 -04:00
Danijel Marjanovic
362bccbed8 add .svn line to .gitignore 2017-05-30 16:52:14 +02:00
psychobunny
fa25dcd6a5 move ACP category selector in line with pills 2017-05-29 18:26:20 -04:00
psychobunny
9cb5f71e08 #5717 also don't show category section in subcategory listing 2017-05-29 18:04:35 -04:00
psychobunny
65a015a1ad up lav 2017-05-29 17:12:08 -04:00
psychobunny
88d5f97280 closes #5717 2017-05-29 17:12:02 -04:00
psychobunny
22891215cd Merge branch 'master' of https://github.com/NodeBB/NodeBB 2017-05-29 16:19:46 -04:00
Misty (Bot)
9031c5a2a6 Incremented version number - v1.5.1 2017-05-29 16:01:09 -04:00
psychobunny
179b11b7d2 ACP allow ctrl-click to open new in new tab when settings are unsaved 2017-05-29 15:34:09 -04:00
Baris Usakli
883b35243f fix lint 2017-05-29 15:12:22 -04:00
Baris Usakli
d7684b042f fix tab 2017-05-29 14:52:10 -04:00
Baris Usakli
1fa52267d4 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	public/src/admin/manage/category.js
2017-05-29 14:48:25 -04:00
Baris Usakli
de5fe25e57 closes #5715 2017-05-29 14:47:01 -04:00
Barış Soner Uşaklı
59b1d8fbae Merge pull request #5710 from NodeBB/_lodash
Switch from underscore to lodash
2017-05-29 13:38:21 -04:00
psychobunny
292c04a613 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2017-05-29 13:26:36 -04:00
psychobunny
dcbe4864a9 fix bad merge / dupe code 2017-05-29 13:26:17 -04:00
Peter Jaszkowiak
d4e7db45b7 Use zipObject, more test-related ignores 2017-05-29 11:23:25 -06:00
Baris Usakli
dc0971c122 up composer 2017-05-29 13:13:16 -04:00
Peter Jaszkowiak
3da2e1f07f Merge branch '_lodash' of github.com:nodebb/nodebb into _lodash 2017-05-29 11:08:42 -06:00
psychobunny
dd90b14d64 up tjs 2017-05-29 12:31:56 -04:00
Misty (Bot)
25a84d7314 Latest translations and fallbacks 2017-05-29 09:23:17 +00:00
Peter Jaszkowiak
dfbb96d47b Remove require.main.require 2017-05-28 23:02:01 -06:00
Peter Jaszkowiak
7127f34818 Fix indent 2017-05-28 16:52:36 -06:00
Barış Soner Uşaklı
9664033b73 add memory usage to info page 2017-05-28 18:40:32 -04:00
Barış Soner Uşaklı
932247f440 up deps 2017-05-28 17:21:49 -04:00
Barış Soner Uşaklı
8eb5564977 fix popular sort 2017-05-28 17:21:49 -04:00
Misty (Bot)
57c0861310 Latest translations and fallbacks 2017-05-28 09:23:18 +00:00
Barış Soner Uşaklı
850b33d630 up composer 2017-05-28 01:36:08 -04:00
Barış Soner Uşaklı
3049f5cf1f #5522 test 2017-05-28 01:26:56 -04:00
Barış Soner Uşaklı
6635b50c35 closes #5522 2017-05-28 01:10:19 -04:00
Barış Soner Uşaklı
937d6dd4df fix acp privilege page not loading 2017-05-28 01:10:19 -04:00
Barış Soner Uşaklı
eed784f1e6 Merge pull request #5713 from NodeBB/issues-bugs
Bugs and features only, comment out examples
2017-05-28 00:12:35 -04:00
Barış Soner Uşaklı
5e90e4db02 closes #5618 2017-05-27 23:58:12 -04:00
Barış Soner Uşaklı
08aaabd33c closes #5642 2017-05-27 23:32:55 -04:00
Peter Jaszkowiak
38d27e9347 Wrong URL 2017-05-27 15:18:54 -06:00
Peter Jaszkowiak
afb79e97eb Ignore normalised image 2017-05-27 14:52:37 -06:00
Peter Jaszkowiak
3c2d4fe649 Switch from underscore to lodash 2017-05-27 14:51:45 -06:00
Peter Jaszkowiak
283951e810 Bugs and features only, comment out examples 2017-05-27 14:31:05 -06:00
Misty (Bot)
033c31719a Latest translations and fallbacks 2017-05-27 09:23:11 +00:00
Barış Soner Uşaklı
890c2eff70 style changes 2017-05-27 01:44:26 -04:00
Barış Soner Uşaklı
bcc566fb68 remove unnecessary checks 2017-05-27 00:47:04 -04:00
Barış Soner Uşaklı
f1b8492164 remove unnecessary checks 2017-05-27 00:30:07 -04:00
Barış Soner Uşaklı
6a742ead38 style 2017-05-26 23:55:20 -04:00
Barış Soner Uşaklı
8e31ec7199 closes #5705 2017-05-26 23:30:23 -04:00
Barış Soner Uşaklı
3d1b1a9423 closes #5706 2017-05-26 23:21:46 -04:00
Barış Soner Uşaklı
dcf3db104b search style 2017-05-26 22:28:12 -04:00
Barış Soner Uşaklı
9ec65db539 closes #5711 2017-05-26 21:52:08 -04:00
Barış Soner Uşaklı
271c10c9d7 dont create indices after every test 2017-05-26 21:14:52 -04:00
Barış Soner Uşaklı
21d2e6df12 Merge pull request #5709 from NodeBB/tests-after-each
Fix many "duplicate key" errors
2017-05-26 21:06:00 -04:00
Peter Jaszkowiak
b171f3072b Fix many "duplicate key" errors
- Reset defaults after every test
- Remove individual `after(db.emptydb)` calls
- Fix async.every in groups test
- Update plugin list in socket tests
2017-05-26 17:16:59 -06:00
Barış Soner Uşaklı
5c51a91e85 fix reward claimable check 2017-05-26 18:34:45 -04:00
Barış Soner Uşaklı
fb45b498a2 fix lint 2017-05-26 18:11:42 -04:00
psychobunny
c133efa258 Fix tests 2017-05-26 18:08:03 -04:00
psychobunny
d70ccb1868 closes #5708 2017-05-26 17:20:30 -04:00
Baris Usakli
61eb7aa68b more tests 2017-05-26 16:56:26 -04:00
Baris Usakli
11d9410229 fix test and image normalize test 2017-05-26 16:37:31 -04:00
Baris Usakli
081ac6535c style change 2017-05-26 16:14:25 -04:00
Baris Usakli
9efa46c65a more account tests 2017-05-26 16:11:47 -04:00
Barış Soner Uşaklı
c7fc8857cb Merge pull request #5707 from NodeBB/minifier-CRLF
Fix tests on Windows with CRLF
2017-05-26 14:52:32 -04:00
Peter Jaszkowiak
5f36156e0d Fix tests on Windows with CRLF 2017-05-26 12:51:05 -06:00
Peter Jaszkowiak
8901dad6f2 Revert "fix concat test on windows"
This reverts commit d1dd0cd6df.
2017-05-26 12:49:38 -06:00
Baris Usakli
69b5bb39ec unread tests 2017-05-26 14:25:19 -04:00
Baris Usakli
d1dd0cd6df fix concat test on windows 2017-05-26 13:12:17 -04:00
Misty (Bot)
e1a42a49b6 Latest translations and fallbacks 2017-05-26 09:23:02 +00:00
Barış Soner Uşaklı
466e6d7c53 make renameGroup public for #5706 2017-05-26 00:26:25 -04:00
Barış Soner Uşaklı
f6ac92111b style changes 2017-05-26 00:02:20 -04:00
Barış Soner Uşaklı
8db193ff55 privileges style changes 2017-05-25 21:17:20 -04:00
Barış Soner Uşaklı
02dee48329 use backgroundImage if its passed in 2017-05-25 20:24:37 -04:00
Barış Soner Uşaklı
79a48cec5f controllers/category tests 2017-05-25 20:01:07 -04:00
Baris Usakli
5af1161e09 fix eslint 2017-05-25 16:41:32 -04:00
Baris Usakli
062bced3dd cleanup and tests 2017-05-25 16:40:07 -04:00
psychobunny
82cab53508 fix digest scheduling information on cold load 2017-05-25 16:14:25 -04:00
Julian Lam
a2bb58ff64 Merge pull request #5703 from NodeBB/uglify3
uglify-js@3, JS source maps finally supported
2017-05-25 16:04:33 -04:00
psychobunny
1b98449686 closes #5704 2017-05-25 15:17:24 -04:00
Baris Usakli
b9b02a1fab math.ceil pageCount 2017-05-25 14:40:18 -04:00
Peter Jaszkowiak
9ef2b5a003 Don't use uglify compress 2017-05-25 12:18:35 -06:00
Misty (Bot)
d018fe4854 Latest translations and fallbacks 2017-05-25 09:22:48 +00:00
Peter Jaszkowiak
53eced6be0 uglify-js@3, JS source maps 🍰 2017-05-25 01:33:04 -06:00
psychobunny
ce794509b2 up persona 2017-05-25 03:07:24 -04:00
Julian Lam
fc4f016932 Merge pull request #5689 from NodeBB/plugin-load-ref
Plugin load refactor
2017-05-24 22:18:28 -04:00
Julian Lam
3e6d51fc5a fixes #5606 :rage2: 2017-05-24 21:18:28 -04:00
Peter Jaszkowiak
c85bf9202d Fix tests sometimes failing 2017-05-24 18:55:18 -06:00
Peter Jaszkowiak
8ce35c3cc2 async.apply -_- 2017-05-24 16:55:23 -06:00
Barış Soner Uşaklı
d301139644 logger test 2017-05-24 16:38:16 -04:00
Barış Soner Uşaklı
fcaa10554e logger init test 2017-05-24 16:36:19 -04:00
Barış Soner Uşaklı
2faf175739 refactor 2017-05-24 16:13:23 -04:00
Barış Soner Uşaklı
f57b5f4e4c refactor 2017-05-24 15:07:13 -04:00
Julian Lam
74965654de adjusted cropbox max-height calculation to be dynamic 2017-05-24 14:50:22 -04:00
Julian Lam
3e218a75b8 allowed zooming again @pichalite 2017-05-24 14:15:19 -04:00
Barış Soner Uşaklı
b0dd1ad4d7 admin navigation test 2017-05-24 13:25:56 -04:00
Julian Lam
30bec51a21 removed cropper zoom and using image scaling to show entire image. Click on modal backdrop during crop will no longer close modal 2017-05-24 12:36:58 -04:00
Barış Soner Uşaklı
5cb53406fe more picture tests 2017-05-24 12:03:30 -04:00
Barış Soner Uşaklı
a513d98e1d prevent timeago in future for new posts 2017-05-24 10:56:09 -04:00
Misty (Bot)
dd3bf8d1ca Latest translations and fallbacks 2017-05-24 09:23:19 +00:00
Barış Soner Uşaklı
c9d502320f file.delete method 2017-05-24 00:02:30 -04:00
Peter Jaszkowiak
3dd282b7b9 Load languages with other plugin data
- Added more tests
- Should speed up builds
- Allows for incremental builds in the future
2017-05-23 21:55:23 -06:00
Barış Soner Uşaklı
29135dfed3 timeago locale test 2017-05-23 23:32:38 -04:00
Barış Soner Uşaklı
8205d6c897 test login after lock 2017-05-23 23:03:40 -04:00
Barış Soner Uşaklı
2bddd57a2e test account lock 2017-05-23 22:47:40 -04:00
Barış Soner Uşaklı
b29745aa44 more auth tests 2017-05-23 22:09:25 -04:00
Barış Soner Uşaklı
b8cc67dfff social tests 2017-05-23 20:43:09 -04:00
Peter Jaszkowiak
b8baac1aad async.apply 2017-05-23 18:07:13 -06:00
Peter Jaszkowiak
cd1f0ddc79 Resolve merge conflicts 2017-05-23 18:00:52 -06:00
Barış Soner Uşaklı
b2cef4846c Merge pull request #5698 from NodeBB/build-tests
Tests for `./nodebb build`
2017-05-23 19:16:50 -04:00
psychobunny
ad4985e5ca Merge pull request #5699 from pichalite/jquery
Delete unused file
2017-05-23 17:55:29 -04:00
Peter Jaszkowiak
2a9cdb7be2 Add --threads=# option for setting max threads
Make grunt NODE_ENV development by default
2017-05-23 15:49:14 -06:00
Barış Soner Uşaklı
a8c649cca6 check data.uid 2017-05-23 17:41:40 -04:00
Barış Soner Uşaklı
e4714a0c58 more auth tests 2017-05-23 17:37:16 -04:00
Barış Soner Uşaklı
9625f89665 remove for loop 2017-05-23 15:53:38 -04:00
Julian Lam
14da37f3b1 Merge pull request #5687 from NodeBB/translate-in-place
Extract in-place translation from Bootbox wrapper for use anywhere
2017-05-23 15:42:16 -04:00
Julian Lam
5297c31b1c adding yarn.lock to ignore file 2017-05-23 15:41:27 -04:00
Peter Jaszkowiak
542ae5e71f Extract in-place translation from bootbox wrapper for use anywhere 2017-05-23 15:41:27 -04:00
Barış Soner Uşaklı
1e83d33283 tests for login 2017-05-23 15:37:32 -04:00
pichalite
a12e159f18 Delete unused file 2017-05-23 19:11:16 +00:00
Barış Soner Uşaklı
fa5026c92e clear settings cache on all nodes on save 2017-05-23 13:05:43 -04:00
Barış Soner Uşaklı
9a9d1cf3f4 Merge pull request #5690 from NodeBB/build-refactor
Restrict total threads, minify modules in a batch, link instead of copying pre-minified files
2017-05-23 12:37:43 -04:00
Julian Lam
12e3369522 Tweaked upgrade script instructions 2017-05-23 11:35:40 -04:00
Peter Jaszkowiak
62546bc4fd Build tests 2017-05-21 19:01:41 -06:00
Peter Jaszkowiak
d988e8a50f Test minifier 2017-05-21 18:20:01 -06:00
Barış Soner Uşaklı
64c7907e6c added recent.rss 2017-05-21 20:14:00 -04:00
Barış Soner Uşaklı
a4ba88dc60 more feed tests 2017-05-21 19:45:29 -04:00
Misty (Bot)
57c5e0b554 Latest translations and fallbacks 2017-05-21 09:23:08 +00:00
Barış Soner Uşaklı
c5c755fbb0 more notification tests 2017-05-20 22:30:12 -04:00
Barış Soner Uşaklı
9af252b899 notifications tests 2017-05-20 21:01:55 -04:00
Barış Soner Uşaklı
59387540c7 style 2017-05-20 20:26:54 -04:00
Barış Soner Uşaklı
c364cebbe4 more tests 2017-05-20 20:20:53 -04:00
Barış Soner Uşaklı
7fb45cc148 more tests 2017-05-20 20:03:46 -04:00
Barış Soner Uşaklı
edeb22fcdf change style of meta.js 2017-05-20 20:03:46 -04:00
Barış Soner Uşaklı
769d2b00b1 change test method call 2017-05-20 17:08:20 -04:00
Barış Soner Uşaklı
9fdd313e30 tweak test 2017-05-20 16:46:07 -04:00
Barış Soner Uşaklı
4b94446cd9 more user search tests 2017-05-20 16:26:56 -04:00
Barış Soner Uşaklı
fe0a5aaf28 fix redis tests 2017-05-19 20:32:31 -04:00
Barış Soner Uşaklı
fd0043f36a more tests 2017-05-19 20:24:54 -04:00
Barış Soner Uşaklı
77894915eb closes #5684 2017-05-19 19:35:10 -04:00
Barış Soner Uşaklı
b3a265f981 closes #5694 2017-05-19 18:50:19 -04:00
Barış Soner Uşaklı
b1fe0c8f5f up persona 2017-05-19 18:49:34 -04:00
Barış Soner Uşaklı
29ca1dbf08 replies/reply fix 2017-05-19 17:14:46 -04:00
Barış Soner Uşaklı
8f8e7202e5 fix lint 2017-05-19 16:33:40 -04:00
Peter Jaszkowiak
4c1e25c8ce Link instead of copying files
Only mkdirp the necessary directories
2017-05-19 14:27:52 -06:00
Barış Soner Uşaklı
fd47e23057 test login for non-existant user 2017-05-19 16:18:18 -04:00
Barış Soner Uşaklı
95196ceedc closes #5692 2017-05-19 14:52:36 -04:00
Julian Lam
0bb52c5fc5 Merge pull request #5688 from frissdiegurke/patch-1
Update dependency nodebb-plugin-emoji-one@1.2.1
2017-05-19 07:08:54 -04:00
Misty (Bot)
4fadbcbbc8 Latest translations and fallbacks 2017-05-19 09:23:36 +00:00
Ole R
618386e4e3 Merge branch 'master' into patch-1 2017-05-19 11:09:12 +02:00
Ole R
b888ed8e1a Update package.json 2017-05-19 11:07:37 +02:00
Peter Jaszkowiak
9f5ce24993 Minify modules in a batch 2017-05-18 21:20:04 -06:00
Peter Jaszkowiak
e8caee3c4c Restrict total threads
So machines with a small amount of cores build faster
2017-05-18 19:12:30 -06:00
Barış Soner Uşaklı
4ab514a422 test for .delete with zset 2017-05-18 16:59:37 -04:00
Julian Lam
48d1d247aa Merge branch 'build-refactor' 2017-05-18 15:53:27 -04:00
Barış Soner Uşaklı
91e5266776 up emoji one 2017-05-18 13:33:04 -04:00
Ole R
2afce9f7c3 Update dependency nodebb-plugin-emoji-one@1.2.0 2017-05-18 11:27:41 +02:00
Peter Jaszkowiak
90da6d889d Only load necessary plugin data
Fix tests to work in this case
Add more verbose messages to plugins/data
2017-05-18 01:32:20 -06:00
Peter Jaszkowiak
b0645cc67d Plugin load refactor 2017-05-18 00:49:42 -06:00
Peter Jaszkowiak
7ccfb5cdc0 Build refactor
- Target aliases and bundles
- More concurrency
- Use `--series` to force series processing
- Minifier self-hosted threading
- meta/css delegates to minifier
2017-05-17 16:37:10 -06:00
Peter Jaszkowiak
1f8ef629e6 Extract in-place translation from bootbox wrapper for use anywhere 2017-05-17 16:03:48 -06:00
Misty (Bot)
11fc79051a Latest translations and fallbacks 2017-05-17 09:23:36 +00:00
Barış Soner Uşaklı
12f73b7d6f closes #5682 2017-05-16 19:24:46 -04:00
Barış Soner Uşaklı
e49f33317d digest cleanup and tests 2017-05-16 17:14:50 -04:00
Julian Lam
5f1eb70d01 fixes #5680 2017-05-15 12:19:47 -04:00
Julian Lam
d3d58b77d9 added test for custom date range ACP, #5541 2017-05-15 11:43:23 -04:00
Barış Soner Uşaklı
f7c31a6fa1 up vanilla 2017-05-15 09:24:51 -04:00
Misty (Bot)
f3008391d6 Latest translations and fallbacks 2017-05-14 09:22:50 +00:00
Barış Soner Uşaklı
ed9a429ca9 test invalid expiry 2017-05-13 22:45:13 -04:00
Barış Soner Uşaklı
a28b76861d perma and temp ban test 2017-05-13 22:29:22 -04:00
Barış Soner Uşaklı
33023ea419 create a notif before pruning 2017-05-13 22:15:31 -04:00
Barış Soner Uşaklı
6fdad4b002 fix test on redis 2017-05-13 22:12:52 -04:00
Barış Soner Uşaklı
8920523e06 more tests 2017-05-13 21:45:54 -04:00
Barış Soner Uşaklı
f1ef5e5582 Merge pull request #5679 from NodeBB/filter-unread-hook
Add hook `filter:topics.getUnreadTids`
2017-05-13 21:42:29 -04:00
Peter Jaszkowiak
6b05f6c5e9 Add hook filter:topics.getUnreadTids
Allows for filtering topics from unread count and unread page
2017-05-13 18:46:11 -06:00
Barış Soner Uşaklı
22db07938c up composer 2017-05-13 13:45:52 -04:00
Misty (Bot)
64732af130 Latest translations and fallbacks 2017-05-13 09:23:06 +00:00
Barış Soner Uşaklı
5e3946a6be teaser tests 2017-05-12 20:50:01 -04:00
Barış Soner Uşaklı
376c71adda group search tests 2017-05-12 19:51:33 -04:00
Barış Soner Uşaklı
6049c46f15 meta dependecy tests 2017-05-12 19:18:11 -04:00
Barış Soner Uşaklı
01e2263c01 more tests 2017-05-12 17:53:23 -04:00
Barış Soner Uşaklı
6daeadb7e9 remove async.parallel 2017-05-12 16:32:00 -04:00
Barış Soner Uşaklı
5e4b9479d4 closes #5677 2017-05-12 16:11:46 -04:00
Barış Soner Uşaklı
54a9e7eab9 #5674 2017-05-12 15:53:07 -04:00
Barış Soner Uşaklı
33f135c091 closes #5675 2017-05-12 15:40:09 -04:00
Barış Soner Uşaklı
70adcd64bc #5667 2017-05-12 14:58:40 -04:00
Julian Lam
4c00a5ece6 fixing tests 2017-05-12 12:14:19 -04:00
Julian Lam
3fcc21852c bump spam-be-gone 2017-05-12 11:53:41 -04:00
Julian Lam
e938d75efc closes #5676 2017-05-12 09:56:24 -04:00
Misty (Bot)
45949be029 Latest translations and fallbacks 2017-05-12 09:24:49 +00:00
Julian Lam
e4adaa8959 linting 2017-05-11 17:22:47 -04:00
Baris Usakli
0f05ae4ac1 filterpidsbycid tests 2017-05-11 17:16:26 -04:00
Julian Lam
816809ce3c fixes #5606 2017-05-11 16:53:35 -04:00
Baris Usakli
51a85031f7 utils tests 2017-05-11 16:31:16 -04:00
psychobunny
d06b19a69a up vanilla 2017-05-11 16:06:59 -04:00
Julian Lam
c64f0065bc Merge pull request #5653 from banyudu/patch-1
fix indent
2017-05-11 15:25:12 -04:00
Julian Lam
5ea8145cff Merge pull request #5663 from NodeBB/sounds-fix
Fix soundpacks not working, auto install dependencies, defer logging in tests
2017-05-11 15:22:38 -04:00
Barış Soner Uşaklı
073460ecf3 Merge pull request #5669 from BenLubar/no-extension-upload
Fix uploads of files with no extension failing when there is no restriction on file extensions.
2017-05-11 12:48:00 -04:00
Ben Lubar
572d7a1e8c Fix uploads of files with no extension failing when there is no restriction on file extensions. 2017-05-11 11:25:13 -05:00
Julian Lam
064a8aa6d7 Allowing custom date range to be supplied in pageviews graph, closes #5541 2017-05-11 11:41:36 -04:00
Julian Lam
544faa7861 Adding Croatian to languages, closes #5668. Hvala ti! 2017-05-11 09:34:20 -04:00
Barış Soner Uşaklı
052afb10f7 show output if upload fails 2017-05-10 22:05:23 -04:00
Barış Soner Uşaklı
e252c5195d coverPhoto tests 2017-05-10 21:46:11 -04:00
Barış Soner Uşaklı
608a7d120c error handler tests 2017-05-10 21:02:36 -04:00
Peter Jaszkowiak
bd6aca7d94 More friendly error message if module loading fails 2017-05-10 15:05:54 -06:00
Barış Soner Uşaklı
73f31640d7 more tests 2017-05-10 16:27:44 -04:00
Barış Soner Uşaklı
873801e9f3 fix test on nodev4 remove console.logs 2017-05-10 15:51:19 -04:00
Barış Soner Uşaklı
90018a7aab fix lint 2017-05-10 15:35:14 -04:00
Barış Soner Uşaklı
66dee3452f more tests for admin uploads 2017-05-10 15:34:36 -04:00
Barış Soner Uşaklı
29c0b8337e closes #5645 2017-05-10 14:43:52 -04:00
Peter Jaszkowiak
759c3f5584 Fix soundpacks not working 2017-05-10 12:23:28 -06:00
Peter Jaszkowiak
970c7a8caa Defer winston logging until after tests 2017-05-10 12:23:28 -06:00
Peter Jaszkowiak
eedc0889fc Fix failed lint 2017-05-10 12:23:28 -06:00
Peter Jaszkowiak
73f375252f Automatically install dependencies 2017-05-10 12:23:12 -06:00
Barış Soner Uşaklı
aabfe8f41f fix lint 2017-05-10 14:02:58 -04:00
Julian Lam
71137dbf43 pass reputation to flag reporter payload as well 2017-05-10 11:21:30 -04:00
Misty (Bot)
1d672d9024 Latest translations and fallbacks 2017-05-10 09:23:07 +00:00
Barış Soner Uşaklı
3c8460fee0 disable timeout 2017-05-09 18:19:22 -04:00
Barış Soner Uşaklı
17b57be835 Merge pull request #5661 from NodeBB/utils-rtrim
Deprecate non-standard `String.prototype.rtrim`
2017-05-09 16:44:43 -04:00
Peter Jaszkowiak
2b2544a4b1 Deprecate non-standard String.prototype.rtrim 2017-05-09 14:37:35 -06:00
Julian Lam
ad14b0d60b more fixes for #5660 2017-05-09 15:07:59 -04:00
Julian Lam
87fbb44ca8 fixes #5660 properly 2017-05-09 15:01:02 -04:00
Julian Lam
6d392089e4 fixes #5660 - https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.1 2017-05-09 14:52:11 -04:00
Barış Soner Uşaklı
ca17975422 osd route test 2017-05-09 14:48:31 -04:00
Julian Lam
031171caed Merge pull request #5630 from NodeBB/notif-abort
Add more hooks for messaging, allow notification hook to abort the push
2017-05-09 14:42:58 -04:00
Barış Soner Uşaklı
bf78786a68 flag controller tests 2017-05-09 14:31:32 -04:00
Barış Soner Uşaklı
5a9b7b673a closes #5659 2017-05-09 14:16:21 -04:00
Peter Jaszkowiak
5ccb488b02 Fix indents 2017-05-09 11:45:09 -06:00
Peter Jaszkowiak
932ae4e86d Merge branch 'master' into notif-abort 2017-05-09 11:31:58 -06:00
Barış Soner Uşaklı
3ae3d788be up composer 2017-05-09 13:25:01 -04:00
Misty (Bot)
cb339838c0 Latest translations and fallbacks 2017-05-09 09:23:07 +00:00
Barış Soner Uşaklı
36a2ac0ebd add test for user settings cache issue 2017-05-08 21:28:06 -04:00
Barış Soner Uşaklı
db532fbb0d fix user settings cache 2017-05-08 21:23:30 -04:00
Barış Soner Uşaklı
6fcd12eafe fix tests 2017-05-08 20:55:47 -04:00
Barış Soner Uşaklı
b18b0db5be notifications.js style 2017-05-08 20:36:43 -04:00
Barış Soner Uşaklı
f3deef4931 closes #5656 2017-05-08 19:54:53 -04:00
Barış Soner Uşaklı
d49da8c85d up xregexp 2017-05-08 17:46:26 -04:00
Barış Soner Uşaklı
df7f357e53 up validator 2017-05-08 17:36:59 -04:00
Barış Soner Uşaklı
5822aaa433 up rimraf 2017-05-08 16:57:36 -04:00
Barış Soner Uşaklı
a43d6e6966 up redis 2017-05-08 16:50:40 -04:00
Barış Soner Uşaklı
dfbb488a0f up postcss 2017-05-08 16:30:12 -04:00
Barış Soner Uşaklı
ea5927047f up connect-redis 2017-05-08 16:18:36 -04:00
Barış Soner Uşaklı
1f3840414c up bcryptjs 2017-05-08 16:12:21 -04:00
Barış Soner Uşaklı
84ff8bb24a up autoprefixer 2017-05-08 16:03:32 -04:00
Barış Soner Uşaklı
d333e87b51 update some deps 2017-05-08 15:37:36 -04:00
Barış Soner Uşaklı
7ac031775a locale test change 2017-05-08 14:55:29 -04:00
Barış Soner Uşaklı
aca07a0f20 fix typo 2017-05-08 14:41:57 -04:00
Julian Lam
b58eb99571 re-adding public/uploads to gitignore 2017-05-08 14:26:48 -04:00
Julian Lam
aa9b795b3b update theme versions for v1.5.0 release 2017-05-08 14:08:17 -04:00
Julian Lam
972e9a0303 bump version for manual minor release 2017-05-08 13:56:54 -04:00
Barış Soner Uşaklı
3a1eba2537 merge 2017-05-08 13:49:35 -04:00
Barış Soner Uşaklı
7135d25a4a closes #5654 2017-05-08 12:19:22 -04:00
Barış Soner Uşaklı
6c224c3800 fix cover:url logic 2017-05-08 12:09:25 -04:00
Barış Soner Uşaklı
5b69598f15 Merge pull request #5632 from NodeBB/fix-5631
Fix #5631
2017-05-08 12:07:25 -04:00
Misty (Bot)
27b362fab2 Latest translations and fallbacks 2017-05-08 09:22:52 +00:00
Yudu Ban
a76a8b57cd fix indent
Use space instead of Tab
2017-05-08 09:30:16 +08:00
Misty (Bot)
5e464f1466 Latest translations and fallbacks 2017-05-06 20:41:49 +00:00
psychobunny
da5a0d8881 Merge pull request #5651 from NodeBB/ban-improvements
Ban improvements
2017-05-06 15:32:30 -04:00
Misty (Bot)
4511814c18 Latest translations and fallbacks 2017-05-06 09:22:16 +00:00
psychobunny
480352c650 send the banned user an email with reason + time limit if applies 2017-05-06 02:37:00 -04:00
psychobunny
2a405ad439 fixed permaban on redis 2017-05-05 20:11:18 -04:00
psychobunny
41b4ef859f add ban messaging when logged in 2017-05-05 19:50:50 -04:00
psychobunny
b3bd70235a refactor ban messaging; add ban duration to message; use bootbox instead of alert 2017-05-05 19:31:49 -04:00
psychobunny
76a2b4800b add back timeago.allowFuture so we can notify when a ban will expire 2017-05-05 19:20:37 -04:00
psychobunny
c330218920 revoke sessions as soon as user is banned 2017-05-05 19:15:37 -04:00
Barış Soner Uşaklı
17ca1d33fb faster sitemap 2017-05-05 15:33:00 -04:00
Barış Soner Uşaklı
5673769c8c add back removed rtrim method 2017-05-05 12:28:41 -04:00
Misty (Bot)
94735f4945 Latest translations and fallbacks 2017-05-05 09:23:04 +00:00
Barış Soner Uşaklı
17d0759672 fix lint 2017-05-04 16:39:47 -04:00
Barış Soner Uşaklı
14f3907aa4 change the way group member posts are stored 2017-05-04 16:32:51 -04:00
Barış Soner Uşaklı
670a5d9ca0 fix timestamp not showing for replies, remove allowFuture @julianlam 2017-05-04 14:37:03 -04:00
Barış Soner Uşaklı
986e52897d fix crash if locale is undefined 2017-05-04 14:09:44 -04:00
psychobunny
6f8e7343e6 fix for "invalid date" re:threading when replying to yourself 2017-05-04 14:08:18 -04:00
Barış Soner Uşaklı
6a822f729d add timestamp to topic edit hook 2017-05-04 13:19:28 -04:00
Barış Soner Uşaklı
f6d22b7ea5 up widget essentials 2017-05-03 17:49:01 -04:00
Barış Soner Uşaklı
9ebbd65544 up user settings cache size 2017-05-03 17:24:31 -04:00
Barış Soner Uşaklı
ea6f981686 closes #5638 2017-05-03 17:13:15 -04:00
Barış Soner Uşaklı
e7d076a084 closes #5634 2017-05-03 16:36:34 -04:00
Barış Soner Uşaklı
114f416ec0 remove dupe code 2017-05-03 15:30:46 -04:00
Misty (Bot)
d7cbf93982 Latest translations and fallbacks 2017-05-03 09:22:13 +00:00
psychobunny
2fc53a1e30 closes #5625
note: `.avatar-lg` wasn't updated to match the `develop` branch (where `avatar-xl` was added) intentionally
2017-05-02 16:47:16 -04:00
Barış Soner Uşaklı
6fb90a17e0 closes #5613 2017-05-01 21:38:03 -04:00
Barış Soner Uşaklı
13a04123e0 closes #5641 2017-05-01 20:58:34 -04:00
Barış Soner Uşaklı
7a1a030865 closes #5640 2017-05-01 20:40:04 -04:00
Barış Soner Uşaklı
c0807ab327 closes #5639 2017-05-01 15:37:58 -04:00
Barış Soner Uşaklı
029e2ea8da 404 logging change
dont write to db on every 404
dont log 404 if route is empty
2017-04-30 16:32:14 -04:00
Barış Soner Uşaklı
1d4923a606 limit # of results returned 2017-04-30 15:52:19 -04:00
Barış Soner Uşaklı
da24e342f2 limit sessions displayed to 20 2017-04-30 15:11:51 -04:00
psychobunny
5b4dcfafe2 Limiting group members here
Refactor incoming. @barisusakli
2017-04-29 03:44:55 -04:00
psychobunny
cd2aac9d28 limiting amount of tid's being loaded via sitemap
temporary stopgap for load issues, fixing this properly next
@barisusakli
2017-04-29 03:19:31 -04:00
Barış Soner Uşaklı
2f3aceb7d3 dont do anything if config is off 2017-04-28 23:09:36 -04:00
Barış Soner Uşaklı
f3c4d2ebe3 closes #5636 2017-04-28 19:35:48 -04:00
Barış Soner Uşaklı
59d0815073 closes #5637 2017-04-28 18:48:32 -04:00
Barış Soner Uşaklı
82863a28f0 add the loaded topics after the last topic on the list 2017-04-28 02:08:14 -04:00
Barış Soner Uşaklı
13f5d29cb9 eslint 2017-04-27 19:16:32 -04:00
Barış Soner Uşaklı
af6cde5534 show how many nodes responded 2017-04-27 18:58:21 -04:00
Barış Soner Uşaklı
0b3656f34c fix timeouts on category.purge when there are 20k groups 2017-04-27 16:40:01 -04:00
Julian Lam
db4fdbaebe removing jslint directive at top of upgrade scripts @pitaj 2017-04-27 02:47:38 -04:00
Julian Lam
6095b7e6db change where progress.incr is called for flags_refactor upgrade script 2017-04-27 02:47:37 -04:00
Peter Jaszkowiak
4b87324234 Quick fix 2017-04-26 16:02:15 -06:00
Peter Jaszkowiak
033ce02e7b Rename hooks
Add `static:messaging.canMessageRoom` as well
2017-04-26 15:22:17 -06:00
Peter Jaszkowiak
8a87311d5c Remove annoying jslint comment
Use an rc file instead
2017-04-26 15:08:12 -06:00
Peter Jaszkowiak
2a0cb3b9ee Fix profile covers not working with subfolders
Remove relative_path from the paths saved in the database so they're more portable
2017-04-26 14:57:49 -06:00
Barış Soner Uşaklı
7a6b685aa0 if the main and last post is purged, purge the topic as well 2017-04-26 14:19:48 -04:00
Barış Soner Uşaklı
870bb87b08 always pass strings to bcrypt compare 2017-04-26 13:17:21 -04:00
Peter Jaszkowiak
19d6386237 Also abort if no uids to push to 2017-04-26 10:48:08 -06:00
Peter Jaszkowiak
42e21d5aa9 Add more messaging hooks 2017-04-26 10:45:40 -06:00
Peter Jaszkowiak
3350a89791 Allow aborting notification push 2017-04-25 15:27:12 -06:00
barisusakli
085d8c2f92 fix lint 2017-04-25 16:48:54 -04:00
Barış Soner Uşaklı
9d229ae960 fix path to log file if base_dir is undefined 2017-04-24 18:52:59 -04:00
Julian Lam
9f09140668 Merge pull request #5627 from NodeBB/acp-search-escape
Escape ACP search values
2017-04-24 15:54:59 -04:00
Julian Lam
7abd80490b Merge pull request #5626 from NodeBB/reject-nonaudio-uploads
Reject non-audio upload requests to the sounds route
2017-04-24 15:54:42 -04:00
Peter Jaszkowiak
65e31493a9 Escape ACP search values 2017-04-24 11:40:39 -06:00
Barış Soner Uşaklı
c45c4a5fdb on login display invalid-login-credentials 2017-04-24 13:31:38 -04:00
Barış Soner Uşaklı
4900f21dd5 fix crash in header 2017-04-24 13:30:01 -04:00
Peter Jaszkowiak
1ac14a466e Reject non-audio upload requests to the sounds route 2017-04-24 11:22:38 -06:00
Misty (Bot)
066e54474e Latest translations and fallbacks 2017-04-24 09:22:48 +00:00
Barış Soner Uşaklı
5f634518c9 Merge pull request #5624 from NodeBB/fix-5622
Fix #5622
2017-04-23 15:48:45 -04:00
Peter Jaszkowiak
81e23a8a9a Fix #5622 2017-04-23 12:48:35 -06:00
barisusakli
04f884db65 fix crash in languages if lang doesn't exist @pitaj 2017-04-23 12:47:52 -04:00
Misty (Bot)
4cf87264cf Latest translations and fallbacks 2017-04-23 09:22:16 +00:00
barisusakli
33e8ecc1f4 closes #5404 2017-04-22 19:07:57 -04:00
barisusakli
b91b41dfa3 show database values in gbs 2017-04-22 17:08:54 -04:00
barisusakli
fa13e9acc0 closes #5621 2017-04-22 14:38:43 -04:00
barisusakli
08049c0712 remove empty block 2017-04-22 13:49:10 -04:00
barisusakli
5516352758 closes #5612 2017-04-22 13:43:58 -04:00
Barış Soner Uşaklı
081578c7f4 Merge pull request #5616 from NodeBB/auto-lang
Automatically detect user language based on browser accepts header
2017-04-22 12:58:54 -04:00
Misty (Bot)
94a9a6ad39 Latest translations and fallbacks 2017-04-22 09:22:41 +00:00
Peter Jaszkowiak
64bf542d17 Fix HTML lang attribute using the defaultLang
Themes need `lang="{function.localeToHTML, userLang, defaultLang}"` in
their header.tpl file
2017-04-21 23:56:19 -06:00
Peter Jaszkowiak
6432c02ab8 Add tests 2017-04-21 23:54:59 -06:00
barisusakli
ba51a6c746 fix underscore 2017-04-22 00:33:49 -04:00
barisusakli
b7b65c7d63 change style 2017-04-22 00:19:23 -04:00
barisusakli
a2784738a4 fix lint 2017-04-22 00:15:12 -04:00
Peter Jaszkowiak
c7929ec7d8 Add option for disabling language autodetection 2017-04-21 22:10:25 -06:00
barisusakli
2029de4cc5 closes #5449 2017-04-21 23:56:24 -04:00
barisusakli
3d39a577f4 style change 2017-04-21 23:55:57 -04:00
Barış Soner Uşaklı
c43a4e4b82 Merge pull request #5615 from NodeBB/fix-5536
Fix #5536
2017-04-21 23:33:15 -04:00
barisusakli
08dd412896 Merge remote-tracking branch 'refs/remotes/origin/master' into develop
# Conflicts:
#	src/upgrade.js
2017-04-21 21:43:39 -04:00
Barış Soner Uşaklı
d6703753da up request dep 2017-04-21 21:41:37 -04:00
barisusakli
75e5f2da74 closes #5485 2017-04-21 21:36:42 -04:00
barisusakli
73700ed747 closes #5617 2017-04-21 13:48:43 -04:00
Julian Lam
22b4091bdf Merge pull request #5614 from NodeBB/fix-signatures
Fix images not displaying in signatures
2017-04-21 09:00:43 -04:00
Misty (Bot)
30619a23c1 Latest translations and fallbacks 2017-04-21 09:22:17 +00:00
barisusakli
2ab028a4bc update upgrade script to use batch 2017-04-20 18:15:06 -04:00
barisusakli
3d93667e2b update update script to batch 2017-04-20 18:10:31 -04:00
Misty (Bot)
de6ca3710d Latest translations and fallbacks 2017-04-20 09:22:10 +00:00
Peter Jaszkowiak
2476221b79 Close #3462, automatically detect user language based on browser accepts header 2017-04-20 00:16:10 -06:00
Peter Jaszkowiak
413bb4736c Save language metadata on build to avoid readdirs later 2017-04-20 00:16:06 -06:00
Peter Jaszkowiak
cc76a8663d Add flag for detecting if the mock is being used 2017-04-19 20:44:11 -06:00
Peter Jaszkowiak
30b47d39f3 Fix #5536 2017-04-19 20:33:03 -06:00
barisusakli
b45111d44b show max message length in error message 2017-04-19 20:56:12 -04:00
Peter Jaszkowiak
9d8ff4ea3e Fix images not displaying in signatures 2017-04-19 17:19:38 -06:00
NodeBB Misty
1028327f0a Incremented version number - v1.4.6 2017-04-19 15:07:25 -04:00
Julian Lam
de81a340ec Revert "Incremented version number - v1.4.6"
This reverts commit 73d934f5ae.
2017-04-19 13:32:37 -04:00
barisusakli
d500e7f2aa add back action:plugin.install and action:plugin activate #5407 2017-04-19 13:23:53 -04:00
barisusakli
d8170d5d1c fix tests 2017-04-19 13:09:16 -04:00
barisusakli
0d1d8f3874 style changes 2017-04-19 12:33:56 -04:00
Julian Lam
e5f7eed8ec adding progress bar to session deletion upgrade script 2017-04-19 12:18:00 -04:00
barisusakli
974106b7e2 closes #5610 2017-04-19 12:07:42 -04:00
NodeBB Misty
73d934f5ae Incremented version number - v1.4.6 2017-04-18 17:46:39 -04:00
Julian Lam
7a0db03d99 Merge branch 'upgrade-progress-bar' into develop 2017-04-18 16:46:19 -04:00
barisusakli
7b91da067b closes #5602 2017-04-18 14:21:28 -04:00
barisusakli
236758b712 Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-04-18 14:00:14 -04:00
barisusakli
9e3d8a8090 one more fix #5607 2017-04-18 13:55:18 -04:00
barisusakli
27a76fcfc9 closes #5607 2017-04-18 13:53:43 -04:00
barisusakli
b33d25b0b8 use name 2017-04-18 13:33:32 -04:00
barisusakli
bda3c2863b closes #5605 2017-04-18 13:32:47 -04:00
barisusakli
97f6c0008f add radix 2017-04-17 19:15:37 -04:00
barisusakli
fb3020f892 closes #5604 2017-04-17 18:59:46 -04:00
Julian Lam
c14160a85b Merge pull request #5603 from NodeBB/sounds-fix
Fix sounds playing through multiple tabs
2017-04-17 18:02:22 -04:00
Peter Jaszkowiak
2827db3309 Fix sounds playing through multiple tabs 2017-04-17 15:56:24 -06:00
barisusakli
56ba08f17e fix require path 2017-04-17 14:31:24 -04:00
barisusakli
20eac0de94 closes #5518 2017-04-17 12:23:05 -04:00
Misty (Bot)
6d7c70c911 Latest translations and fallbacks 2017-04-17 09:22:05 +00:00
Julian Lam
82bfa752b9 Removed outdated list of available upgrade scripts 2017-04-16 15:47:32 -04:00
Julian Lam
856cb8fc2a Merge remote-tracking branch 'origin/master' into develop 2017-04-16 15:46:27 -04:00
Julian Lam
542cf1a982 Merge remote-tracking branch 'origin/master' into develop 2017-04-16 15:45:16 -04:00
barisusakli
fdee61b4f4 use deleteMany instead 2017-04-16 15:42:28 -04:00
barisusakli
cf6c4667c8 upgrade script to clear sessions 2017-04-16 15:31:50 -04:00
barisusakli
38e16ca8f6 Merge branch 'master' into develop 2017-04-16 14:48:00 -04:00
barisusakli
65a65b19c0 tests for #5600 2017-04-16 14:46:02 -04:00
barisusakli
c3ac7c31b1 Merge branch 'master' into develop 2017-04-16 14:32:50 -04:00
barisusakli
185b6e5c8e #5600 2017-04-16 14:31:49 -04:00
barisusakli
e3205bcfad merge 2017-04-16 14:26:12 -04:00
barisusakli
9f8d80e3a4 closes #5600 2017-04-16 14:22:40 -04:00
Julian Lam
b25fbd1e2e fix broken upgrade script 2017-04-16 13:39:09 -04:00
Julian Lam
3022a1920b added progress bars to all upgrade scripts processing posts:pid sorted set 2017-04-16 13:37:17 -04:00
Julian Lam
8fc6123230 fixing accidental eachSeries 2017-04-16 13:29:36 -04:00
Julian Lam
33082d90cc updated logic to make it a bit simpler to implement per upgrade script 2017-04-16 13:25:01 -04:00
Julian Lam
1cd50a8c30 Merge branch 'develop' into upgrade-progress-bar 2017-04-16 11:27:29 -04:00
Julian Lam
678db343b4 Merge pull request #5597 from NodeBB/chherypick-fixes
Cherrypick fixes from #5591
2017-04-15 18:27:12 -04:00
Peter Jaszkowiak
37c4218184 Fix error if ./nodebb build isn't called before tests 2017-04-15 16:10:43 -06:00
Peter Jaszkowiak
6e5a79842f Fix #5595 2017-04-15 16:10:42 -06:00
Peter Jaszkowiak
baa2a59f4c Fix ace editor not working 2017-04-15 16:10:28 -06:00
Julian Lam
98047be9ce Merge pull request #5596 from NodeBB/translator-fix
Centrally escape translator tokens in every topic title
2017-04-15 17:18:27 -04:00
Peter Jaszkowiak
e382bca610 Fix tests 2017-04-15 04:22:28 -06:00
Misty (Bot)
0e615e7b09 Latest translations and fallbacks 2017-04-15 09:22:15 +00:00
Peter Jaszkowiak
0fe10f5e86 Escape topic titles at the source, deduplicate 2017-04-15 01:38:42 -06:00
Peter Jaszkowiak
ecfca21abe Up composer 2017-04-15 00:50:12 -06:00
psychobunny
9670d7d762 up persona 2017-04-14 20:03:39 -04:00
psychobunny
c3423b2456 up persona 2017-04-14 20:03:10 -04:00
psychobunny
3598af784d up persona 2017-04-14 20:00:45 -04:00
psychobunny
2319af2904 up persona 2017-04-14 19:58:24 -04:00
barisusakli
4d1b8d7460 fix lint 2017-04-14 15:15:25 -04:00
barisusakli
552f850207 closes #2702 2017-04-14 14:56:39 -04:00
barisusakli
92343eb2e1 fix mongo setObject if key/value is empty string 2017-04-14 13:58:32 -04:00
barisusakli
da7bc5bb7a test fix 2017-04-14 13:38:58 -04:00
barisusakli
36df4cdf97 fix cyclic dependency issue 2017-04-14 13:37:15 -04:00
barisusakli
e63559b6fd closes #5484 2017-04-14 12:59:36 -04:00
barisusakli
b8c606cbbd closes #5519 2017-04-14 10:08:50 -04:00
Misty (Bot)
c2ba1c270f Latest translations and fallbacks 2017-04-14 09:22:18 +00:00
barisusakli
886768ba84 check both date and upgrade count 2017-04-13 19:04:22 -04:00
barisusakli
05e9e88a15 fix lint 2017-04-13 18:53:46 -04:00
barisusakli
1cf775a4b8 upgrade script fixes 2017-04-13 18:43:39 -04:00
barisusakli
520d6954c1 test node 7 2017-04-13 17:58:44 -04:00
barisusakli
f4b8cb7217 added missing return 2017-04-13 17:02:13 -04:00
barisusakli
6d1702c600 wait for calls to finish 2017-04-13 16:58:41 -04:00
Julian Lam
a141835cf8 Merge branch 'master' into develop 2017-04-13 16:45:46 -04:00
barisusakli
7ce6c1d0ad closes #5571 2017-04-13 16:36:02 -04:00
psychobunny
1179dd9503 up composer, closes #5586 2017-04-13 15:32:38 -04:00
psychobunny
1e3acc0caf up persona 2017-04-13 15:18:27 -04:00
psychobunny
b1ee7cc5b4 up persona 2017-04-13 15:18:11 -04:00
Peter Jaszkowiak
1fb48ef7a7 Fix #5592 (#5593)
* Fix #5592
Escape translation tokens in topic titles, descriptions, profile about, and post contents

* Fix tests
2017-04-13 21:37:54 +03:00
Julian Lam
d18cfced96 Merge remote-tracking branch 'origin/master' into develop 2017-04-12 23:57:14 -04:00
Julian Lam
c3febca9c8 Merge pull request #5577 from NodeBB/patch-pitaj
Use npm instead of vendor files
2017-04-12 23:43:50 -04:00
Peter Jaszkowiak
a8add6477c Fix merge conflicts 2017-04-12 21:29:54 -06:00
Julian Lam
a62a4e698f Merge pull request #5578 from NodeBB/utils-translator-require
Make utils and translator easier to require
2017-04-12 23:16:59 -04:00
Peter Jaszkowiak
484a800327 Merge branch master into develop 2017-04-12 21:11:39 -06:00
Julian Lam
a117b559b8 Merge pull request #5590 from NodeBB/translator-fix
Fix #5588, translator ignores unclosed tokens
2017-04-12 22:48:36 -04:00
Peter Jaszkowiak
980e9026f3 Fix #5588, translator ignores unclosed tokens 2017-04-12 20:34:31 -06:00
Julian Lam
e9fb42eb03 Merge pull request #5589 from NodeBB/fix-require.main.require
Fix using `./nodebb` in other CWDs
2017-04-12 17:32:43 -04:00
Julian Lam
42b5cdaae3 progress bars! omg 2017-04-12 17:30:20 -04:00
Peter Jaszkowiak
f16a40d29e Add nodebb file to linter 2017-04-12 15:29:01 -06:00
Peter Jaszkowiak
75d291183d Fix using nodebb in other CWDs 2017-04-12 15:22:58 -06:00
Peter Jaszkowiak
9368e666d8 Fix failing test 2017-04-11 21:53:17 -06:00
Misty (Bot)
73b6b06294 Latest translations and fallbacks 2017-04-11 09:22:21 +00:00
Misty (Bot)
08f001063c Latest translations and fallbacks 2017-04-10 09:22:23 +00:00
Peter Jaszkowiak
010473e5cc Merge branch 'master' into patch-pitaj 2017-04-09 23:09:52 -06:00
Peter Jaszkowiak
dc4f2be156 Remove ace global for eslint 2017-04-09 21:47:05 -06:00
Julian Lam
126237e2c9 Merge pull request #5576 from pichalite/zxcvbn
Closes #5521
2017-04-09 16:52:52 -04:00
Peter Jaszkowiak
1892492505 Deprecate utils.walk, remove prototype modification 2017-04-08 21:02:06 -06:00
Peter Jaszkowiak
1ed571189c Make utils and translator easier to require
Move utils.walk to file.walk, backwards compatible
2017-04-08 20:27:52 -06:00
Peter Jaszkowiak
b53d3254dd buzz is no longer used 2017-04-08 19:05:10 -06:00
Peter Jaszkowiak
2c418fd2af Use npm bootstrap 2017-04-08 19:05:10 -06:00
Peter Jaszkowiak
0ef30e91ba Use ace-builds npm package instead of vendor
ace can be referenced as an r.js module, reduces acp bundle size
2017-04-08 19:05:10 -06:00
Peter Jaszkowiak
17ff8a4151 Enable passing paths as module sources 2017-04-08 19:05:10 -06:00
Misty (Bot)
12a426b7b9 Latest translations and fallbacks 2017-04-08 09:22:22 +00:00
pichalite
d4de345e87 syntax 2017-04-07 21:39:22 +00:00
pichalite
4c89497cc4 Closes #5521 2017-04-07 20:57:00 +00:00
Anil Mandepudi
da183e196a Fixes #5572 (#5575)
* Fixes #5572

* Adding trailing commas but in protest
2017-04-07 14:35:24 -04:00
Julian Lam
0fac75c055 Merge pull request #5573 from NodeBB/patch-pitaj
Fix #5563
2017-04-07 14:15:22 -04:00
Misty (Bot)
07b9bb6fb8 Latest translations and fallbacks 2017-04-07 09:22:36 +00:00
psychobunny
5985a8a7a3 closes #5574 2017-04-06 18:06:10 -04:00
Barış Soner Uşaklı
43f8678c7a update local config immediately 2017-04-06 17:59:46 -04:00
psychobunny
e121a5a798 closes #5574 2017-04-06 17:57:01 -04:00
Barış Soner Uşaklı
8afdd71ef1 closes #5559 2017-04-06 17:44:25 -04:00
Peter Jaszkowiak
1deeaaeb39 Fix #5563 2017-04-06 15:20:07 -06:00
Barış Soner Uşaklı
5c005bbbdf use bind 2017-04-05 15:18:27 -04:00
Barış Soner Uşaklı
1b6d96dde7 on post flag increment zset 2017-04-05 14:59:50 -04:00
Misty (Bot)
bb0ec540bd Latest translations and fallbacks 2017-04-04 09:22:34 +00:00
Julian Lam
60990f28ad Merge pull request #5568 from NodeBB/patch-pitaj
`filter:teasers.get` provided with `uid`
2017-04-03 16:59:18 -04:00
Peter Jaszkowiak
8119b8c4ae filter:teasers.get provided with uid 2017-04-03 14:40:03 -07:00
André Zanghelini
03d432182b Fix postcount is expected to be Number (#5567) 2017-04-03 12:45:43 -04:00
psychobunny
53dac97800 closes #5560 2017-04-03 12:42:36 -04:00
Barış Soner Uşaklı
d88219b4d1 closes #5566 2017-04-03 06:35:20 -04:00
Misty (Bot)
0bea922a12 Latest translations and fallbacks 2017-04-03 09:22:20 +00:00
Misty (Bot)
60d35fdf05 Latest translations and fallbacks 2017-04-02 09:22:17 +00:00
Misty (Bot)
2feb19aa2d Latest translations and fallbacks 2017-04-01 09:22:12 +00:00
Julian Lam
b287c75e3c Merge pull request #5562 from NodeBB/patch-pitaj
Fix #5561
2017-03-31 16:47:06 -04:00
Peter Jaszkowiak
81696dd24a Fxi #5561 2017-03-31 14:45:03 -06:00
Julian Lam
ef2b245a82 bump mentions 2017-03-30 11:00:11 -04:00
Julian Lam
8a8bd23de9 Merge pull request #5558 from NodeBB/patch-5538
Partial fix #5538
2017-03-30 08:56:14 -04:00
Peter Jaszkowiak
57696b22f4 Partial fix #5538 2017-03-30 03:17:45 -06:00
Julian Lam
7afe8a32f6 Merge branch 'master' into develop 2017-03-29 15:26:49 -04:00
Julian Lam
a450cb869d up themes 2017-03-29 15:26:18 -04:00
Julian Lam
55f07d3301 fixed flags list in account info page 2017-03-29 12:44:40 -04:00
Misty (Bot)
e9794224a8 Latest translations and fallbacks 2017-03-29 09:24:44 +00:00
Julian Lam
5fbbe898d0 fixes #5538 2017-03-28 12:17:20 -04:00
Julian Lam
1594a84e1c fixes #5536 2017-03-28 12:13:44 -04:00
Julian Lam
a63459dc98 Merge branch 'master' of github.com:NodeBB/NodeBB 2017-03-28 12:13:30 -04:00
Misty (Bot)
8d4a32dc27 Latest translations and fallbacks 2017-03-28 09:24:51 +00:00
Julian Lam
c34b10dd50 Merge branch 'master' into develop 2017-03-27 14:38:27 -04:00
Julian Lam
15506c30a4 updates es search translation 2017-03-27 14:38:13 -04:00
husseinwalli
3876a88252 Added additional parameters to user creation method (#5496)
Treating picture, location and birthday similar to data.email as optional parameters to be passed to the create a user
2017-03-27 14:05:06 -04:00
Peter Jaszkowiak
ff09d6e0dd Fix #5549, improve tpl compilation (#5551) 2017-03-27 13:53:26 -04:00
Misty (Bot)
c1c96668af Latest translations and fallbacks 2017-03-27 09:24:50 +00:00
Barış Soner Uşaklı
6b0a907ede closes #5552 2017-03-26 15:12:28 +03:00
Misty (Bot)
2a2ed96a07 Latest translations and fallbacks 2017-03-26 09:24:22 +00:00
Julian Lam
42dc496572 Merge pull request #5550 from NodeBB/patch_5543
Remove duplicate slugify
2017-03-25 16:29:14 -04:00
Misty (Bot)
114f87e78c Latest translations and fallbacks 2017-03-25 09:22:16 +00:00
Peter Jaszkowiak
14ed0be4f7 Remove duplicate slugify 2017-03-24 14:43:58 -06:00
Julian Lam
0e157d93ea Merge remote-tracking branch 'origin/master' into develop 2017-03-24 15:52:58 -04:00
Julian Lam
a1f87a5d7f added tests for #5545 2017-03-24 15:52:33 -04:00
Julian Lam
a49e647de3 fixes #5545 again 2017-03-24 14:46:51 -04:00
Julian Lam
b649eb95f8 Merge remote-tracking branch 'origin/master' into develop 2017-03-24 14:37:39 -04:00
Julian Lam
31b6d47f88 fixes #5545 2017-03-24 14:36:54 -04:00
Julian Lam
c84e54c6c6 Merge pull request #5544 from NodeBB/patch_5543
Fix #5543
2017-03-24 13:32:32 -04:00
Peter Jaszkowiak
a7677063de Rename to uniqueUsername 2017-03-24 10:33:38 -06:00
Peter Jaszkowiak
642306e69c Fix #5543 2017-03-24 10:28:18 -06:00
Misty (Bot)
3319a72679 Latest translations and fallbacks 2017-03-24 09:22:18 +00:00
Julian Lam
6060b8e13b fix tests 2017-03-23 14:39:46 -04:00
Julian Lam
f2653cd380 broader error handling for empty notif creation return 2017-03-23 14:35:29 -04:00
Barış Soner Uşaklı
a3d65d10f6 fix test again 2017-03-23 16:45:24 +03:00
Barış Soner Uşaklı
46da2daab9 fix test 2017-03-23 16:31:14 +03:00
Barış Soner Uşaklı
61eafb32f3 fix moderation note test 2017-03-23 16:31:06 +03:00
Barış Soner Uşaklı
fe27d40ff6 closes #5542 2017-03-23 10:58:28 +03:00
Julian Lam
4b3dcd1a02 Merge remote-tracking branch 'origin/master' into develop 2017-03-22 09:18:20 -04:00
Aziz Khoury
6682e048ea wrapImagesInLinks with <a download> attribute
if the `src` of the `img` does not have an extension, most browsers will trigger a download with whatever filename is set, also without an extension, so when it's opened in any OS, it wont have a default application to open it with.

So, In this case, if the `alt` attribute has an extension (meaning if it looks like filename) - we use that with the html5 [`download` attr](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download)

The PR does not affect any src if they have an extension.
2017-03-22 12:19:31 +02:00
Julian Lam
ce64db8d71 fix logic error that caused upgrade scripts to always be skipped 2017-03-21 21:10:46 -04:00
Julian Lam
a82a50baa6 fix date and name in config urls upgrade script 2017-03-21 21:10:20 -04:00
Julian Lam
b6134b160e moved auto_reconnect out of socketOptions object for Mongo 2017-03-21 15:55:24 -04:00
Julian Lam
db84296373 Merge pull request #5539 from NodeBB/julianlam-patch-1
Up MongoDB dependency to v2.2.25
2017-03-21 14:22:17 -04:00
Julian Lam
9714e3c26b Up MongoDB dependency to v2.2.25
This is a PR to see if tests go 💥
2017-03-21 14:01:41 -04:00
Ben Lubar
7f713ee822 Admin option to allow all users to view votes (#5534)
* Admin option to allow all users to view votes

* Fix </strong></strong>
2017-03-17 14:08:47 -04:00
Julian Lam
e4168f4a87 linting 2017-03-17 13:35:24 -04:00
Julian Lam
c805d55b85 creating notification for flag assignment 2017-03-17 13:16:16 -04:00
Julian Lam
7f8f197e60 Merge branch 'master' into develop 2017-03-16 14:58:39 -04:00
Misty (Bot)
da1858f674 Incremented version number 2017-03-16 14:58:24 -04:00
barisusakli
449352d899 wait for all routes to load before listening 2017-03-16 11:24:36 +03:00
Julian Lam
2ef71e22aa Merge pull request #5532 from NodeBB/patch_5491
Fix tests for #5491 fix
2017-03-15 23:11:09 -04:00
Peter Jaszkowiak
8f8babf90b Fix tests 2017-03-15 20:09:07 -07:00
Julian Lam
23d4497c73 Merge pull request #5531 from NodeBB/patch_5491
Fix #5491
2017-03-15 23:01:42 -04:00
Peter Jaszkowiak
8c45411ccc Fix #5491 2017-03-15 20:00:05 -07:00
psychobunny
f7d1e58d65 improved threaded view design... again 2017-03-15 18:56:12 -04:00
Julian Lam
69dd1e3aca Merge branch 'master' into develop 2017-03-15 14:39:18 -04:00
Julian Lam
33bf930bb9 fixes #5528 2017-03-15 13:49:35 -04:00
barisusakli
8d7283e6c7 dont minify if file ends with .min.js #5529 2017-03-15 20:33:33 +03:00
Julian Lam
250bb4b011 fixed leftover merge conflict artifact 2017-03-15 10:23:25 -04:00
Julian Lam
1ebbbdd3f9 Merge remote-tracking branch 'origin/master' into develop 2017-03-15 10:01:00 -04:00
barisusakli
ff4c7ab3bb fix tests 2017-03-15 12:49:08 +03:00
barisusakli
6a4b082080 closes #5524 2017-03-15 12:19:09 +03:00
barisusakli
cb92ebb3be fix call 2017-03-14 23:29:26 +03:00
barisusakli
5a2ff8ed0a closes #5527 2017-03-14 23:03:09 +03:00
Julian Lam
6d444ccacf Merge pull request #5526 from NodeBB/patch_5346
Fix #5346
2017-03-14 09:52:42 -04:00
Misty (Bot)
2106050bdc Latest translations and fallbacks 2017-03-14 09:22:41 +00:00
Peter Jaszkowiak
c199075d98 Fix #5346 2017-03-13 20:20:41 -07:00
Julian Lam
25518bdd18 removed unused vars 2017-03-13 16:54:29 -04:00
psychobunny
8a6665a26c up lav, closes #5525 2017-03-13 16:54:28 -04:00
Julian Lam
c323a813c0 added logic to handle backwards compatibility with old schemaDate method of tracking upgrade scripts 2017-03-13 16:45:05 -04:00
psychobunny
767705085b test against nodejs 7 as well 2017-03-13 14:00:48 -04:00
psychobunny
4a33f45b1e use writeFileSync for synchronous fs write operations - nodejs 7.x 2017-03-13 13:57:35 -04:00
Barış Soner Uşaklı
0396e9300b Merge pull request #5500 from RoiEXLab/fix-admin-search
Fix admin Search
2017-03-13 09:58:30 +02:00
barisusakli
90b8a3afd0 refactor topics/delete.js 2017-03-12 21:38:53 +03:00
Misty (Bot)
9f1a2b0cc9 Latest translations and fallbacks 2017-03-12 09:22:16 +00:00
barisusakli
0478e9c98c lint 2017-03-11 19:37:34 +03:00
barisusakli
37be43a3c5 async 2017-03-11 18:32:00 +03:00
barisusakli
27b030a71c test for #5523 2017-03-11 16:43:31 +03:00
Misty (Bot)
3e93975595 Latest translations and fallbacks 2017-03-11 09:22:17 +00:00
Julian Lam
b0fa9f85e4 Merge pull request #5467 from NodeBB/upgrades-refactor
Refactor upgrade scripts to use individual files in src/upgrades/ as source of schema changes
2017-03-10 21:57:05 -05:00
Julian Lam
cf0532168e Merge remote-tracking branch 'origin/develop' into upgrades-refactor 2017-03-10 19:08:33 -05:00
Julian Lam
34d24c4fd4 Refactored upgrade scripts once more (for great justice!) #5467 2017-03-10 19:07:42 -05:00
Julian Lam
f0059ec723 fixed paths in upgrade scripts 2017-03-10 19:07:05 -05:00
Julian Lam
e309175989 eslinted template 2017-03-10 16:37:16 -05:00
Julian Lam
fc13776f26 moving files from src/upgrades to individual folders by version 2017-03-10 16:36:22 -05:00
Julian Lam
4ba795b5f2 adding fallbacks for meta/config.topicsPerPage 2017-03-10 16:29:40 -05:00
Julian Lam
33d1cc6d0f replace erroring line with operator-assignment 2017-03-10 15:56:45 -05:00
Julian Lam
2fd4edc0e2 Merge branch 'develop' into upgrades-refactor 2017-03-10 15:44:40 -05:00
Julian Lam
860999fa6c Merge remote-tracking branch 'origin/master' into develop 2017-03-10 15:44:29 -05:00
psychobunny
9dc54f801e up persona 2017-03-10 14:55:52 -05:00
psychobunny
286d0ab203 prevent tagsinput initialization from flagging as unsaved 2017-03-10 14:40:10 -05:00
psychobunny
5ca9e5e14c ACP: distinguish <small> from regular text 2017-03-10 14:36:35 -05:00
psychobunny
62f445ad7f ACP: added tagsinput to other fields that are "comma separated" 2017-03-10 14:36:35 -05:00
barisusakli
bb146e049c fix lint 2017-03-10 22:36:09 +03:00
psychobunny
debe34b96c better styling for tagsinput in ACP and added it to general -> keywords 2017-03-10 14:25:37 -05:00
barisusakli
3b41c40b93 refactor deleter code to use unixtimestamp 2017-03-10 22:22:08 +03:00
psychobunny
447b7b02ca use tagsinput for #5439 instead 2017-03-10 14:12:17 -05:00
psychobunny
f2eb4b8083 closes #5439 2017-03-10 14:03:07 -05:00
psychobunny
5aa45e9181 up persona 2017-03-10 13:37:02 -05:00
psychobunny
b3f8428691 closes #5510 2017-03-10 13:36:24 -05:00
psychobunny
a67d48e719 #5513 (#5520)
closes #5513
2017-03-10 12:50:19 -05:00
Misty (Bot)
dc4d394cd5 Latest translations and fallbacks 2017-03-10 09:22:19 +00:00
barisusakli
5e0de4b8fb closes #5517 2017-03-10 12:22:10 +03:00
psychobunny
8da8e4d8c3 closes #5469 2017-03-09 16:50:26 -05:00
psychobunny
fd8e647ef5 closes #5506 2017-03-09 16:47:07 -05:00
barisusakli
0c7dee05ef fix lint 2017-03-10 00:38:34 +03:00
barisusakli
92fa9fecb6 add mongodb connection options #3670
increase reconnect tries
add keepAlive setting
set autoReconnect to true, should be on by default
2017-03-10 00:31:50 +03:00
barisusakli
0c8058ba9d closes #5516 2017-03-09 22:36:28 +03:00
barisusakli
1c1d97dd54 up spam be gone 2017-03-09 21:32:43 +03:00
barisusakli
74d2835a1f escape body class parts 2017-03-09 20:18:42 +03:00
barisusakli
3d719eec99 enable sigs after test 2017-03-09 20:18:30 +03:00
barisusakli
8d493bf3b0 post parse test 2017-03-09 19:52:48 +03:00
barisusakli
c619b850ce fix tests 2017-03-09 17:28:19 +03:00
barisusakli
57691d9ad8 test for system group rename 2017-03-09 17:18:30 +03:00
barisusakli
f092b7754e only create 1 alert for chat spam error 2017-03-08 22:43:02 +03:00
barisusakli
32d37465fb limit size of select 2017-03-08 20:09:35 +03:00
barisusakli
47af3eb7e5 use the real count 2017-03-08 19:49:32 +03:00
psychobunny
9f2e5e9c4b closes #4685 2017-03-08 11:31:58 -05:00
Julian Lam
db0a42d808 Merge branch 'master' into develop 2017-03-08 09:41:40 -05:00
Julian Lam
364b819a42 moving sanity checks above contentLen calculation 2017-03-08 09:41:32 -05:00
Julian Lam
dede304ee2 Merge branch 'master' into develop 2017-03-08 09:33:02 -05:00
Julian Lam
fdb4766728 wow. 2017-03-08 09:32:55 -05:00
Julian Lam
f35bf91e3b Merge branch 'master' into develop 2017-03-08 09:20:00 -05:00
Julian Lam
5359a14bac better handling of redactor post length calculation on post edit 2017-03-08 09:19:45 -05:00
barisusakli
6f49509645 fix newSet on redis 2017-03-08 15:09:58 +03:00
Misty (Bot)
92ad6bb4e8 Latest translations and fallbacks 2017-03-08 09:22:29 +00:00
Julian Lam
04b66787ea removed hardcoded stepsize of 1 for chart, so it can space the ticks out properly 2017-03-07 20:53:54 -05:00
Julian Lam
bacbb6c75f holy moly it took me an hour to find this missing method that got removed in a bad merge conflict resolution... 2017-03-07 20:16:59 -05:00
Julian Lam
793555a344 Merge branch 'master' into develop 2017-03-07 14:35:49 -05:00
Julian Lam
1102ca8ebb fix issue where an auto-redirect to SSO on login route was failing if invoked via API call (ajaxify) 2017-03-07 14:35:38 -05:00
barisusakli
743a3fb442 fix test 2017-03-07 20:58:43 +03:00
barisusakli
e7ced2457e clone query object 2017-03-07 20:26:49 +03:00
barisusakli
1301fb1f34 on chat leave close the modal 2017-03-07 19:51:52 +03:00
barisusakli
8a123f7c1c closes #5509 2017-03-07 16:13:09 +03:00
barisusakli
b7e6104bbc closes #5511 2017-03-07 15:59:50 +03:00
barisusakli
69c6ee5834 closes #5483 2017-03-07 13:38:31 +03:00
barisusakli
992e3128bd closes #5499 2017-03-07 13:09:19 +03:00
Julian Lam
f732d6c1b9 Merge pull request #5501 from RoiEXLab/add-osd-functionality
Add OpenSearchDocument XML (#5399)
2017-03-06 15:10:10 -05:00
RoiEX
33e474759b Change var names 2017-03-06 21:00:20 +01:00
RoiEX
6420e22453 Remove uneccessary curly brackets 2017-03-06 20:43:06 +01:00
RoiEX
fcda832052 Add spaces 2017-03-06 20:39:26 +01:00
RoiEX
0f9530bbc0 Shrink JSON fix 2017-03-06 20:24:00 +01:00
RoiEX
f1b4a9b786 Shrink JSON 2017-03-06 20:23:34 +01:00
RoiEX
186c1f40e9 Refactor Code 2017-03-06 20:07:06 +01:00
RoiEX
710377ceea Remove space 2017-03-06 19:51:53 +01:00
RoiEX
603d45fbfa Changed Serving Method 2017-03-06 19:47:03 +01:00
Julian Lam
13edde2b30 Merge pull request #5505 from AccaliaDeElementia/fix-avatar-cropper
fix: auto cropper on image upload selects maximum image area by default
2017-03-06 12:19:54 -05:00
Julian Lam
f0d9bddd56 fix merge conflict artifact that was left in 2017-03-06 09:58:02 -05:00
Julian Lam
af2d9fb85b Merge branch 'master' into develop 2017-03-06 09:51:11 -05:00
Julian Lam
8226fd6566 enhancing™️ post reply length checker to account for line breaks in redactor 2017-03-06 09:40:19 -05:00
Accalia de Elementia
743a7e00b4 fix: auto cropper on image upload selects maximum image area by default 2017-03-06 13:14:15 +00:00
barisusakli
f6721c249f up composer 2017-03-06 14:37:46 +03:00
barisusakli
531df7bd09 closes #5504 2017-03-06 13:54:43 +03:00
RoiEX
4082ca40c1 Add last comma 2017-03-05 15:20:35 +01:00
RoiEX
0710c6488d Fix trailing commas 2017-03-05 15:15:41 +01:00
RoiEX
eca150f392 Fix Tests 2017-03-05 15:10:35 +01:00
RoiEX
431f5e1f0f Add missing dependency
This deoendency is required by rss, but travis doesn't seem to notice that
2017-03-05 14:56:50 +01:00
RoiEX
f761191fca Add OSD 2017-03-05 14:45:30 +01:00
RoiEX
c517733e34 Fix admin Search 2017-03-05 11:38:40 +01:00
barisusakli
e85e35cf0c closes #5497 2017-03-05 00:46:18 +03:00
Misty (Bot)
99dff11462 Latest translations and fallbacks 2017-03-04 09:22:16 +00:00
barisusakli
ab9f4ad636 test bookmark tru socket.io 2017-03-03 21:49:14 +03:00
barisusakli
324e5be7bd privileges tests 2017-03-03 21:04:01 +03:00
barisusakli
a3b4c83e8b remove description from categories
it gets added in src/meta/tags
2017-03-03 19:59:37 +03:00
barisusakli
ea871384d8 remove fallbacks 2017-03-03 16:45:18 +03:00
barisusakli
3b8d14bf12 closes #5493 2017-03-03 16:15:01 +03:00
barisusakli
54c951cc81 fix tests 2017-03-02 22:12:56 +03:00
barisusakli
4369a6d290 more user tests 2017-03-02 21:58:33 +03:00
barisusakli
bce1208e2f make uploadFile public 2017-03-02 20:51:03 +03:00
barisusakli
63b3c29a1a test invalid data 2017-03-02 19:21:56 +03:00
barisusakli
cd448f90cd more topic tests 2017-03-02 19:03:49 +03:00
barisusakli
202bafa3e3 add images to bundle 2017-03-02 18:21:01 +03:00
barisusakli
5ca8456340 move image code to client/topic/images 2017-03-02 18:11:31 +03:00
barisusakli
d60930a51d test latest member posts 2017-03-02 17:59:45 +03:00
barisusakli
b060bda8a0 some more refactors 2017-03-02 17:25:32 +03:00
barisusakli
65cf7a01ec test for recent posts, fix redirect test 2017-03-02 16:29:17 +03:00
barisusakli
b1b87d339f more refactors 2017-03-02 16:11:11 +03:00
barisusakli
bc8d297377 move out error and 404 controllers 2017-03-02 14:57:33 +03:00
barisusakli
284485c885 check data.config 2017-03-02 10:51:05 +03:00
barisusakli
2188036148 controllers/users refactor 2017-03-02 00:14:30 +03:00
barisusakli
566ff95d3c call methods directly 2017-03-01 23:22:17 +03:00
barisusakli
3e396a8553 sitemap refactor 2017-03-01 23:19:34 +03:00
barisusakli
1bee91fa22 groups refactor 2017-03-01 22:42:16 +03:00
psychobunny
2ccf60a6ec fixed duplicate uninstall button 2017-03-01 13:49:55 -05:00
Julian Lam
67e8bab783 Merge branch 'develop' into upgrades-refactor 2017-03-01 12:12:04 -05:00
Julian Lam
15665d0872 re-ordered upgrade scripts so schemaDate is saved properly 2017-03-01 12:11:05 -05:00
Julian Lam
827980e129 Merge branch 'master' into develop 2017-03-01 11:28:48 -05:00
Julian Lam
b85dcb2570 lint 2017-03-01 11:28:07 -05:00
Julian Lam
48fc74f1fa Merge branch 'develop' into upgrades-refactor
re-added upgrade scripts from #5464
2017-03-01 11:11:40 -05:00
Julian Lam
7c21152f2e Merge remote-tracking branch 'origin/master' into develop 2017-03-01 10:55:15 -05:00
Julian Lam
5411b4c234 Merge pull request #5464 from NodeBB/assets-images-upgrade
Upgrade script for prepending `/assets` in config URLs
2017-03-01 10:54:33 -05:00
Barış Soner Uşaklı
fecdbc969f fix set call 2017-03-01 17:47:59 +02:00
Barış Soner Uşaklı
c5f40e3cf5 fix indents 2017-03-01 17:42:50 +02:00
Barış Soner Uşaklı
6222b55dd8 Merge branch 'master' into assets-images-upgrade 2017-03-01 17:40:44 +02:00
barisusakli
ac84e447dc closes #5492 2017-03-01 17:37:17 +03:00
Peter Jaszkowiak
b96b983552 Upgrade script for prepending /assets in config
Fix for sound settings upgrade script to upgrade user sound settings even if admin settings weren't set
2017-02-28 13:57:24 -07:00
Julian Lam
a8dd794697 reapply ef93ef3dd4 2017-02-28 14:04:44 -05:00
Julian Lam
513f72c0e9 Merge branch 'develop' into upgrades-refactor 2017-02-28 12:35:48 -05:00
Julian Lam
45c479a101 Merge branch 'master' into develop 2017-02-28 12:07:56 -05:00
barisusakli
2e47cf4db3 intersititial test 2017-02-28 16:42:10 +03:00
barisusakli
8a0cf6c0ac more admin socket tests 2017-02-28 15:16:49 +03:00
barisusakli
bb1045c5a0 remove unused require 2017-02-28 12:29:49 +03:00
barisusakli
ef93ef3dd4 if user does not have settings object skip 2017-02-28 12:23:42 +03:00
psychobunny
43bf422cba Merge pull request #5487 from NodeBB/posts-votes-sorted-set
posts:votes sorted set
2017-02-27 17:07:46 -05:00
psychobunny
06eabbc507 typo 2017-02-27 17:07:17 -05:00
psychobunny
7bdbe7d9db wrong date 2017-02-27 17:04:36 -05:00
psychobunny
5d9b6062d6 simpler method for getting pids 2017-02-27 17:03:40 -05:00
psychobunny
86a8b8ab93 posts:votes sorted set 2017-02-27 15:27:07 -05:00
Julian Lam
1c9cbc3365 Merge branch 'develop' into upgrades-refactor 2017-02-27 12:19:58 -05:00
barisusakli
feb359f7d4 closes #5479 2017-02-27 20:16:44 +03:00
Julian Lam
4a851e0a85 Merge branch 'master' into develop 2017-02-27 12:15:48 -05:00
Julian Lam
8166f30b90 abort sound upgrade if no sounds set in config 2017-02-27 12:15:38 -05:00
Julian Lam
022823f57c Merge branch 'master' into develop 2017-02-27 10:16:27 -05:00
Julian Lam
039f80c5aa added null check for #5482 2017-02-27 10:16:16 -05:00
Julian Lam
8f5d1ca4da added null check for #5482 2017-02-27 10:15:44 -05:00
Julian Lam
23a0881311 Merge branch 'develop' into upgrades-refactor
Also handled upgrade script introduced in #5482
2017-02-27 10:10:15 -05:00
Julian Lam
58cbf44143 Merge branch 'master' into develop 2017-02-27 10:05:20 -05:00
Julian Lam
4d8bebcd81 Merge pull request #5482 from NodeBB/sounds-fix-5476
Upgrade script for new sounds system
2017-02-27 10:02:23 -05:00
Julian Lam
93c96da0b9 adjusted upgrade check logic for instances with no schemaLog 2017-02-26 16:26:53 -05:00
Peter Jaszkowiak
da3cb0492c Verbose instead 2017-02-26 14:08:27 -07:00
Julian Lam
a2662f8b69 linting for tests to pass 2017-02-26 16:03:26 -05:00
Julian Lam
d75cc60e76 added upgrade.check back into upgrade.js 2017-02-26 15:53:25 -05:00
Misty (Bot)
2bbf3c4f66 Latest translations and fallbacks 2017-02-26 09:22:49 +00:00
Peter Jaszkowiak
20d250bceb Upgrade script for new sounds system 2017-02-25 23:07:43 -07:00
Julian Lam
0213ca4bb1 Merge pull request #5477 from NodeBB/sounds-fix-5476
Fix sounds issue
2017-02-25 22:08:31 -05:00
Peter Jaszkowiak
007051c14c Fix #5476 2017-02-25 19:51:49 -07:00
Julian Lam
b1ceec7571 Merge remote-tracking branch 'origin/master' into develop 2017-02-25 21:43:50 -05:00
Julian Lam
3b1b2d39c6 added some instructions to upgrade script file 2017-02-25 21:43:29 -05:00
Julian Lam
b8ee09aacb re: #5467 -- requiring exact filename match sans extension, for a single upgrade to work 2017-02-25 15:45:45 -05:00
Julian Lam
b385655dba adding upgrade scripts from all of v1.x.x, #5467 2017-02-25 15:40:29 -05:00
Julian Lam
35248c543b linting nodebb executable 2017-02-25 15:40:05 -05:00
barisusakli
0e7740af32 fix tests for subfolder installs 2017-02-25 16:04:04 +03:00
barisusakli
347761173a helpers tests 2017-02-25 15:10:23 +03:00
Misty (Bot)
a22909dbe8 Latest translations and fallbacks 2017-02-25 09:22:36 +00:00
barisusakli
6aa8c8aa94 merge 2017-02-25 11:17:56 +03:00
barisusakli
fa08498a9e closes #5480 2017-02-25 11:01:35 +03:00
psychobunny
2a311d2ff6 printing initialization message twice for some reason 2017-02-24 16:37:30 -05:00
psychobunny
09a1ed0869 Merge pull request #5371 from kingjan1999/master
Update FontAwesome to 4.7.0
2017-02-24 16:33:38 -05:00
Julian Lam
74728a1328 Merge branch 'develop' into upgrades-refactor 2017-02-24 15:23:02 -05:00
Misty (Bot)
00a67b97ce Incremented version number 2017-02-24 13:47:46 -05:00
Julian Lam
15542f1382 removing old tests that got added back in due to git being silly 2017-02-24 13:30:07 -05:00
Julian Lam
6e7b505ea7 more linting 2017-02-24 12:55:31 -05:00
Julian Lam
ddea9f534e running eslint again 2017-02-24 12:47:46 -05:00
Julian Lam
72e77772db Merge branch 'master' into develop 2017-02-24 12:46:40 -05:00
Julian Lam
995f8296a4 linting 2017-02-24 12:03:47 -05:00
Julian Lam
b5f8fc815e re-allowing pluplus in for loops 2017-02-24 11:53:00 -05:00
Julian Lam
e71bd7a27f Merge branch 'master' into styleguide 2017-02-24 11:45:04 -05:00
barisusakli
048eb8a320 some helper tests 2017-02-24 18:06:23 +03:00
barisusakli
04b07e292c thumb tests 2017-02-24 17:34:34 +03:00
barisusakli
ca1fe557c7 topic controller tests 2017-02-24 16:26:19 +03:00
barisusakli
3a87f2566a more group tests 2017-02-24 15:05:00 +03:00
barisusakli
b7d5bc7dc8 more group tests 2017-02-24 12:54:16 +03:00
Misty (Bot)
3509e12748 Latest translations and fallbacks 2017-02-24 09:22:21 +00:00
Peter Jaszkowiak
f7a964474d Ignore log files 2017-02-23 20:00:30 -07:00
Peter Jaszkowiak
dd2b930824 Resolve merge conflicts, minify only .js files 2017-02-23 18:31:49 -07:00
Peter Jaszkowiak
ee9d7584e4 Fix test, misc 2017-02-23 17:29:08 -07:00
Julian Lam
cfc8884c9c Merge pull request #5475 from NodeBB/favicon-fix
Fixes #5474
2017-02-23 17:11:11 -05:00
Peter Jaszkowiak
8b533bb431 Fixes #5474 2017-02-23 14:19:11 -07:00
Julian Lam
4163ce0218 Merge pull request #5473 from pichalite/acp-tags
ACP manage tags page UI changes
2017-02-23 15:49:32 -05:00
pichalite
1d5b3cc73f ACP manage tags page UI changes 2017-02-23 20:45:05 +00:00
Barış Soner Uşaklı
35ff71c37d more tests 2017-02-23 23:06:00 +03:00
Julian Lam
14398a2d90 up markdown 2017-02-23 14:55:14 -05:00
Barış Soner Uşaklı
b4a32ee96f style changes 2017-02-23 22:42:45 +03:00
Julian Lam
c09f994b0a Merge remote-tracking branch 'origin/master' into develop 2017-02-23 14:24:15 -05:00
Julian Lam
a9f144230e Merge branch 'master' into develop 2017-02-23 13:57:46 -05:00
Barış Soner Uşaklı
743f758f75 set origin header to url 2017-02-23 21:29:28 +03:00
Julian Lam
25f6293821 using io.origins instead 2017-02-23 13:26:52 -05:00
Julian Lam
91d3ce1abc Revert "adding origin to new local ioConfig var, as per @barisusakli, re: #5472"
This reverts commit c1b1ff5c6e.
2017-02-23 13:26:52 -05:00
Barış Soner Uşaklı
c168ed43d4 up build timeout 2017-02-23 21:25:50 +03:00
psychobunny
7b7565ee8e Merge pull request #5468 from pichalite/acp-groups
ACP manage groups UI updates
2017-02-23 13:22:57 -05:00
Julian Lam
a4c00663ff Revert "adding origin to new local ioConfig var, as per @barisusakli, re: #5472"
This reverts commit c1b1ff5c6e.
2017-02-23 13:13:59 -05:00
Julian Lam
8154e29ad5 Merge branch 'master' into develop 2017-02-23 13:08:20 -05:00
Julian Lam
c1b1ff5c6e adding origin to new local ioConfig var, as per @barisusakli, re: #5472 2017-02-23 12:47:06 -05:00
Barış Soner Uşaklı
9079ee5b14 style 2017-02-23 20:44:23 +03:00
Julian Lam
672d7352bb Merge branch 'master' into develop 2017-02-23 12:32:03 -05:00
psychobunny
458cbfd603 show dashboard notice if forum is running in dev mode 2017-02-23 12:14:20 -05:00
psychobunny
a2847dc851 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2017-02-23 12:01:25 -05:00
Julian Lam
d4c2fc3bc8 closes #5472 2017-02-23 11:54:51 -05:00
psychobunny
ebe5ed7560 Merge pull request #5470 from pichalite/acp-templates
Fix ACP templates markup
2017-02-23 11:46:02 -05:00
barisusakli
0de21cb3ff fix tab 2017-02-23 17:12:46 +03:00
barisusakli
09d0ce4778 post tests 2017-02-23 17:02:54 +03:00
barisusakli
4cd4414d19 small change 2017-02-23 15:29:35 +03:00
Barış Soner Uşaklı
026c32f32b Merge pull request #5462 from NodeBB/minify-modules
Minify all module scripts in production
2017-02-23 13:15:05 +02:00
Misty (Bot)
02cc988ae7 Latest translations and fallbacks 2017-02-23 09:22:14 +00:00
pichalite
aea40902b0 Fix markup in category privileges template 2017-02-23 00:28:54 +00:00
pichalite
f09f1f6ed8 Fix ACP templates markup 2017-02-23 00:20:42 +00:00
Julian Lam
6ea0fc4e2f changed file schema to be name only, storing them in object sets referencing their applicable versions 2017-02-22 15:57:31 -05:00
pichalite
dcb0f18422 ACP manage groups UI updates 2017-02-22 20:28:56 +00:00
Julian Lam
e887dda37a Merge pull request #5461 from pichalite/image-dimension
Use ACP profile image dimension setting in cropper
2017-02-22 14:53:40 -05:00
Julian Lam
9eed3abb1d added template to upgrades folder 2017-02-22 13:28:22 -05:00
Julian Lam
5b8c9503c3 refactor upgrade scripts to use individual files in src/upgrades/ as source of schema changes 2017-02-22 13:20:47 -05:00
barisusakli
2dac3d2292 closes #5465, blacklist tests 2017-02-22 14:53:44 +03:00
barisusakli
5c01c7b1c7 delayed notification test 2017-02-22 13:35:05 +03:00
Julian Lam
e427f1663e Merge pull request #5456 from NodeBB/sounds-refactor
Sound system improvements
2017-02-21 16:14:58 -05:00
Julian Lam
62e0f5f883 Merge remote-tracking branch 'origin/master' into develop 2017-02-21 11:21:51 -05:00
Barış Soner Uşaklı
89380824f8 navigation test 2017-02-21 17:00:54 +03:00
barisusakli
f2a795a9b7 fix tests 2017-02-21 15:18:01 +03:00
barisusakli
799f688503 closes #5463 , invitation tests 2017-02-21 15:08:17 +03:00
Misty (Bot)
4b21679d6f Latest translations and fallbacks 2017-02-21 09:24:38 +00:00
barisusakli
4ee7edad64 test uploadProfileImageFromUrl 2017-02-20 21:58:35 +03:00
barisusakli
ef90702049 closes #5459 2017-02-20 21:28:02 +03:00
Misty (Bot)
7d8477289d Latest translations and fallbacks 2017-02-20 09:22:34 +00:00
Peter Jaszkowiak
beb652ee43 Move minifier.js to src/meta 2017-02-20 00:44:04 -07:00
Peter Jaszkowiak
3e562ceb83 Update CONTRIBUTING.md 2017-02-19 16:37:00 -07:00
psychobunny
aaec279d75 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2017-02-19 11:07:39 -05:00
Anil Mandepudi
f302c0d739 Update gruntfile to build on initialization (#5458)
* Update gruntfile to build on initialization

* Skip option skips build
2017-02-19 11:01:38 -05:00
psychobunny
631592b818 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2017-02-19 11:00:14 -05:00
Misty (Bot)
2e27ce640c Latest translations and fallbacks 2017-02-19 09:25:24 +00:00
Peter Jaszkowiak
9b1068e868 Minify all module scripts in production 2017-02-19 02:07:19 -07:00
pichalite
fd0f0beaf2 lint 2017-02-19 08:54:46 +00:00
pichalite
a99572fc48 Use ACP profile image dimension setting in cropper 2017-02-19 08:30:30 +00:00
Peter Jaszkowiak
23540afaeb Resolve merge conflicts 2017-02-18 19:14:39 -07:00
Peter Jaszkowiak
b227297ef3 ESlint no-use-before-define 2017-02-18 18:55:33 -07:00
Peter Jaszkowiak
93f38d4f30 ESlint no-multi-assign
and max-nested-callbacks, no-mixed-requires, max-statements-per-line
2017-02-18 18:06:28 -07:00
Barış Soner Uşaklı
1b43faba1a closes #5441 2017-02-19 02:44:38 +03:00
Peter Jaszkowiak
4bb49a7171 ESlint no-unused-vars 2017-02-18 15:05:36 -07:00
Peter Jaszkowiak
c18808fdeb ESlint no-useless-concat, no-mixed-spaces-and-tabs 2017-02-18 14:42:15 -07:00
Peter Jaszkowiak
fdf4f873bf ESlint eqeqeq
and require-jsdoc, no-negated-condition
2017-02-18 14:36:16 -07:00
Peter Jaszkowiak
144fa8698c Eslint no-lonely-if 2017-02-18 14:32:35 -07:00
Peter Jaszkowiak
57f89663aa ESlint radix 2017-02-18 14:29:52 -07:00
Peter Jaszkowiak
09e868ce5f ESlint no-useless-escape, no-else-return 2017-02-18 14:27:26 -07:00
Peter Jaszkowiak
11cb3a9554 ESlint operator-assignment, block-scoped-var 2017-02-18 14:20:58 -07:00
Peter Jaszkowiak
a0a50677da ESlint n-loop-func, yoda 2017-02-18 14:00:29 -07:00
Peter Jaszkowiak
04bb6513b0 ESlint no-cond-assign, no-void, valid-jsdoc 2017-02-18 13:51:26 -07:00
Peter Jaszkowiak
5a45087fc8 ESlint no-unreachable, no-redeclare 2017-02-18 13:31:19 -07:00
Peter Jaszkowiak
32dc7c23ea ESlint guard-for-in, no-nested-ternary
and operator-linebreak
2017-02-18 13:28:03 -07:00
Peter Jaszkowiak
c4bdb72941 ESlint no-unneeded-ternary
and no-extend-native, no-sequences
2017-02-18 12:59:46 -07:00
Peter Jaszkowiak
64a6322002 ESlint no-extra-boolean-cast
and no-shadow-restricted-names
2017-02-18 12:51:13 -07:00
Peter Jaszkowiak
239d7f84dd ESlint no-path-concat 2017-02-18 12:47:58 -07:00
Peter Jaszkowiak
daa169c094 ESlint no-unused-expressions 2017-02-18 12:40:57 -07:00
Peter Jaszkowiak
ac2f69f7af ESlint no-return-assign
and no-restricted-modules
2017-02-18 12:35:49 -07:00
Peter Jaszkowiak
896c8c7343 ESlint object-curly-spacing 2017-02-18 12:30:49 -07:00
barisusakli
7842c3411c remove logs 2017-02-18 20:52:45 +03:00
barisusakli
b33d34f7cf refactor user/picture.js 2017-02-18 20:27:58 +03:00
Barış Soner Uşaklı
23ed1af282 Merge pull request #5457 from pichalite/image-extension
Add extensions for cropped images
2017-02-18 15:06:45 +02:00
Peter Jaszkowiak
1493afee2a ESlint indent 2017-02-18 02:38:03 -07:00
Peter Jaszkowiak
3b0dd2d1ef ESlint padded-blocks 2017-02-18 02:32:24 -07:00
Peter Jaszkowiak
feb8405f95 ESlint eol-last 2017-02-18 02:30:48 -07:00
Peter Jaszkowiak
41896e1fc7 ESlint lines-around-directive 2017-02-18 02:28:54 -07:00
Peter Jaszkowiak
f3a8256f35 ESlint strict 2017-02-18 02:23:47 -07:00
Peter Jaszkowiak
a038c66549 ESlint quotes 2017-02-18 01:56:23 -07:00
Peter Jaszkowiak
604358ecc4 ESlint keyword-spacing, no-multi-spaces 2017-02-18 01:52:56 -07:00
Peter Jaszkowiak
a5a3f3089a ESlint no-mixed-operators 2017-02-18 01:51:11 -07:00
Peter Jaszkowiak
2e031f3759 ESlint comma-spacing 2017-02-18 01:31:47 -07:00
Peter Jaszkowiak
277a7fb8b4 ESlint key-spacing, no-trailing-spaces 2017-02-18 01:27:46 -07:00
Peter Jaszkowiak
34e233fe1d ESlint spaced-comment 2017-02-18 01:25:46 -07:00
Peter Jaszkowiak
532951c24f ESlint space-in-parens, block-spacing 2017-02-18 01:21:34 -07:00
Peter Jaszkowiak
b1b486f729 ESlint quote-props 2017-02-18 01:19:20 -07:00
Peter Jaszkowiak
3361a72725 ESlint no-plusplus
and no-empty, space-unary-ops
2017-02-18 01:12:18 -07:00
Peter Jaszkowiak
d1101a7fb4 ESlint dot-notation
and func-call-spacing
2017-02-18 00:21:44 -07:00
Peter Jaszkowiak
d7526b5e44 ESlint array-bracket-spacing
and object-property-newline
2017-02-18 00:04:34 -07:00
Peter Jaszkowiak
554075b312 ESlint no-continue 2017-02-17 22:31:05 -07:00
Peter Jaszkowiak
d9c1f6f088 ESlint no-extra-semi 2017-02-17 22:20:45 -07:00
Peter Jaszkowiak
1cf25f57fc ESlint no-space-func 2017-02-17 22:17:10 -07:00
Peter Jaszkowiak
3d6bfa47c5 ESlint no-useless-return 2017-02-17 22:13:41 -07:00
Peter Jaszkowiak
879470f417 ESlint brace-style 2017-02-17 22:11:35 -07:00
Peter Jaszkowiak
52f2028206 ESlint no-multiple-empty-lines 2017-02-17 22:08:23 -07:00
Peter Jaszkowiak
b09b3aef7f ESlint no-undef, remove global comments 2017-02-17 22:03:55 -07:00
Peter Jaszkowiak
2ba46808a1 ESlint one-var, fix comma-dangle 2017-02-17 20:20:42 -07:00
Peter Jaszkowiak
bc1d70c126 ESlint comma-dangle 2017-02-17 19:31:21 -07:00
pichalite
bb3c8b910a Skip option skips build 2017-02-17 23:33:37 +00:00
pichalite
5ca931a52c Update gruntfile to build on initialization 2017-02-17 22:07:50 +00:00
pichalite
aacd8a2422 Fix return and tests 2017-02-17 20:36:13 +00:00
pichalite
7f4e4c8e2e Fix styling 2017-02-17 20:02:26 +00:00
pichalite
4d755bad0c Use typeToExtension from file.js 2017-02-17 19:57:18 +00:00
pichalite
8dab8864f6 Add extensions for cropped images 2017-02-17 19:42:02 +00:00
barisusakli
aa64ec7db1 remove unnecessary code 2017-02-17 22:33:41 +03:00
barisusakli
d6cdc6d34d Merge remote-tracking branch 'refs/remotes/origin/master' into develop 2017-02-17 21:44:21 +03:00
Peter Jaszkowiak
9f15008247 Address review issues 2017-02-17 11:19:30 -07:00
Julian Lam
a379b03e71 lint 2017-02-17 09:10:53 -05:00
Julian Lam
f7f5b2c8d9 Merge remote-tracking branch 'origin/master' into develop 2017-02-17 09:10:25 -05:00
Julian Lam
5ee2aa8adb Merge pull request #5453 from NodeBB/patch_5369
Fix #5368
2017-02-17 08:48:57 -05:00
Julian Lam
802878c371 Merge pull request #5455 from pichalite/cropper
Make cropper in to a module
2017-02-17 08:48:21 -05:00
barisusakli
e009ce5609 closes #5443 2017-02-17 16:46:30 +03:00
barisusakli
a427bba9cb up persona 2017-02-17 14:48:09 +03:00
barisusakli
4d05e492cc closes #5312 2017-02-17 14:45:45 +03:00
Misty (Bot)
461ad301a1 Latest translations and fallbacks 2017-02-17 09:22:25 +00:00
Peter Jaszkowiak
c75391f9f5 Sound system improvements
- Fix sound ACP uploads
- Display soundpack names with sound files
- Soundpacks can have sounds with identical names
- Link sounds during build step
- Generate map of sound name to file name during build step
- Change how soundpacks work. It's now done via a field in plugin.json
2017-02-16 22:58:15 -07:00
pichalite
2ca8f60e77 Finalize cropper module 2017-02-17 05:32:37 +00:00
pichalite
d784a8dce8 Restore uploader.js 2017-02-17 04:26:34 +00:00
pichalite
43f4d9819e Linting 2017-02-17 00:54:53 +00:00
pichalite
484891472e Make cropper in to a module 2017-02-17 00:48:38 +00:00
psychobunny
45063ed683 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2017-02-16 18:28:42 -05:00
psychobunny
36bf54a4b8 bump tjs 2017-02-16 18:28:37 -05:00
Peter Jaszkowiak
3d56dc4857 Fix #5368 2017-02-16 13:33:28 -07:00
barisusakli
fd88e9fdff up composer 2017-02-16 22:07:20 +03:00
barisusakli
9b3741bc63 up composer 2017-02-16 15:35:19 +03:00
barisusakli
dad5b135c3 lint 2017-02-16 15:11:31 +03:00
barisusakli
c285eb7fcd closes #5450 2017-02-16 15:01:11 +03:00
Misty (Bot)
2c428cdec1 Latest translations and fallbacks 2017-02-16 09:22:12 +00:00
Julian Lam
8bf719b258 Merge pull request #5431 from NodeBB/ajaxify-cache-buster
Ajaxify improvements, `/assets/uploads/` fixes, cache buster improvements
2017-02-15 13:49:47 -05:00
Julian Lam
fcaefbadca Merge remote-tracking branch 'origin/master' into develop 2017-02-15 12:06:52 -05:00
Julian Lam
9e23d09e5e removing outdated logic to call process.exit on reset completion as all invocations use callbacks now. Allowing invocation of reset -p and -t without nodebb-plugin- or nodebb-theme- prefix 2017-02-15 09:47:38 -05:00
Anil Mandepudi
c25836b5fc Option to upload without cropping (#5447)
* Option to upload without cropping

* Fix styling

* Fix styling

* Add missing semi-colon

* I fail at styling :fail:
2017-02-14 16:31:51 -05:00
barisusakli
867fd99fb6 closes #4625 2017-02-14 20:56:24 +03:00
barisusakli
4d8d23830d utils tests 2017-02-14 15:47:36 +03:00
barisusakli
4bbf517af3 rewards test 2017-02-14 15:04:48 +03:00
barisusakli
9f67142786 closes #5440 2017-02-14 14:16:31 +03:00
psychobunny
0667870286 set an active state for pageview options 2017-02-13 15:50:12 -05:00
Julian Lam
1e33a659ef up persona 2017-02-13 15:42:09 -05:00
psychobunny
3d1425605a prettification of pageview stats 2017-02-13 15:40:20 -05:00
psychobunny
62df8edb77 better positioning of dashboard legend 2017-02-13 15:36:20 -05:00
psychobunny
5e35170805 ghfw :rage1: 2017-02-13 15:28:56 -05:00
psychobunny
ccfec622d4 Merge branch 'develop' of https://github.com/NodeBB/NodeBB into develop 2017-02-13 15:28:30 -05:00
psychobunny
9e354a09d1 prettier stats on dashboard 2017-02-13 15:28:26 -05:00
barisusakli
30f35c42f6 fix eslint 2017-02-13 22:42:47 +03:00
barisusakli
a3cbe5e090 #5436 2017-02-13 22:24:26 +03:00
Misty (Bot)
31ac72375f Latest translations and fallbacks 2017-02-13 09:22:08 +00:00
barisusakli
21eefb9760 closes #5436 2017-02-12 20:36:12 +03:00
barisusakli
8b006fb1ab closes #5434 2017-02-12 20:11:49 +03:00
Misty (Bot)
3dc2a91990 Latest translations and fallbacks 2017-02-12 09:22:10 +00:00
Julian Lam
5d4a0d7f05 Merge pull request #5426 from mortiy/ukrainian
Added Ukrainian language to Transifex config
2017-02-11 14:41:39 -05:00
Misty (Bot)
c4a2babbf7 Latest translations and fallbacks 2017-02-11 09:21:46 +00:00
Peter Jaszkowiak
b553236620 Better defaults if cache buster read fails 2017-02-10 21:18:09 -07:00
Julian Lam
eae541d040 Merge branch 'master' into develop 2017-02-10 16:22:12 -05:00
Julian Lam
21bc1fba3f Merge pull request #5429 from BenLubar/redis-drops-socket-messages
Fix forum instances using Redis dropping socket.io messages.
2017-02-10 16:21:38 -05:00
Julian Lam
6289f118ae updated cron strings with 5-digit strings instead of 6-digit ones 2017-02-10 15:52:05 -05:00
Ben Lubar
9fb16e3520 Fix forum instances using Redis dropping socket.io messages.
Bug introduced in b08acd197c.

https://github.com/socketio/socket.io-redis/releases/tag/3.0.0
https://github.com/socketio/socket.io-redis/issues/185
2017-02-10 14:28:53 -06:00
Julian Lam
7f124a3ccf Merge branch 'master' into develop 2017-02-10 12:55:11 -05:00
Julian Lam
6b2e40a8ce promoting digest output to info, instead of verbose 2017-02-10 12:54:17 -05:00
Oleksandr Sidko
97c6da7d3f Added Ukrainian language to Transifex config 2017-02-10 16:05:52 +02:00
barisusakli
f4a6527ce6 getRecentPosterUids test 2017-02-10 15:26:24 +03:00
Misty (Bot)
503378e259 Latest translations and fallbacks 2017-02-10 09:21:57 +00:00
Peter Jaszkowiak
8f27d7810b Ajaxify improvement, /assets/uploads 2017-02-09 15:50:05 -07:00
Julian Lam
7ba111acdd Merge pull request #5420 from NodeBB/assets-route
/assets/uploads
2017-02-09 16:08:12 -05:00
Julian Lam
a8fd1440d4 fixed incorrect language key in ip blacklist page 2017-02-09 14:42:21 -05:00
Barış Soner Uşaklı
a3e327301b update regex 2017-02-09 20:21:35 +02:00
barisusakli
b1511a1870 change client route 2017-02-09 21:15:50 +03:00
Julian Lam
a17c26ea45 Merge branch 'master' into develop 2017-02-09 12:53:07 -05:00
Julian Lam
d61665c20a updated copy for no-routes-not-found 2017-02-09 12:52:25 -05:00
Barış Soner Uşaklı
4f5b9f3a42 Merge pull request #5425 from pichalite/issue-5415
Fix scrolling issues on mobile
2017-02-09 19:51:41 +02:00
pichalite
cc160d77e7 Fix scrolling issues on mobile 2017-02-09 17:33:31 +00:00
barisusakli
b9244110d9 up dbsearch 2017-02-09 17:29:28 +03:00
barisusakli
2c527cdfeb more fixes 2017-02-09 14:38:06 +03:00
barisusakli
ae5deff3d5 fix uids 2017-02-09 14:36:00 +03:00
barisusakli
21861fa931 fix next 2017-02-09 14:31:29 +03:00
barisusakli
4f02775bdf replies change 2017-02-09 14:30:02 +03:00
barisusakli
667582744e fix eslint 2017-02-09 13:22:03 +03:00
barisusakli
ab7867d4b5 topic follow tests, fix filterIgnoring 2017-02-09 13:15:43 +03:00
Misty (Bot)
0409109faa Latest translations and fallbacks 2017-02-09 09:21:45 +00:00
psychobunny
570efb9e4b Merge branch 'develop' into threads-enhancement 2017-02-08 16:41:16 -05:00
psychobunny
575a3c7b9d no need for a call to count replies 2017-02-08 16:39:44 -05:00
Peter Jaszkowiak
0fffde67b5 Undeprecate /uploads 2017-02-08 14:24:09 -07:00
psychobunny
83cd960ffa improved threaded view design 2017-02-08 14:46:39 -05:00
Peter Jaszkowiak
aaacdb8413 Fix #5416, uploads path config setting
- Finish moving uploads route to `/assets/uploads`
- Remove `upload_url` config setting, it was broken
2017-02-08 11:41:34 -07:00
Julian Lam
87e02b264c Merge branch 'master' into develop 2017-02-08 11:23:44 -05:00
Julian Lam
a48c914a16 explicitly cast jobsDisabled as Boolean 2017-02-08 11:23:27 -05:00
Julian Lam
ce2bda0648 utilising async series if OS reports that system only contains one CPU processor 2017-02-08 10:42:55 -05:00
Julian Lam
daa63909f3 Merge remote-tracking branch 'origin/master' into develop 2017-02-08 10:29:06 -05:00
Julian Lam
d5a45832c3 up composer 2017-02-08 10:26:05 -05:00
barisusakli
387110fecc closes #5315 2017-02-08 18:23:34 +03:00
Misty (Bot)
d966b52dc7 Latest translations and fallbacks 2017-02-08 09:21:49 +00:00
Julian Lam
23d92c214d up persona, vanilla, and markdown 2017-02-07 16:28:25 -05:00
Julian Lam
8a0a74d95e Merge remote-tracking branch 'origin/master' into develop 2017-02-07 16:03:54 -05:00
Julian Lam
107abe3197 Merge pull request #5382 from pitaj/assets-route
Move client-side assets to the `/assets` route
2017-02-07 16:02:56 -05:00
Julian Lam
a122aad54d updating fallbacks 2017-02-07 20:54:03 +00:00
Julian Lam
b5daedb7a3 Merge remote-tracking branch 'origin/master' into develop 2017-02-07 15:45:21 -05:00
Peter Jaszkowiak
b530701cff Fix tabs 😡 2017-02-06 15:54:21 -07:00
Peter Jaszkowiak
bb1bfb0449 Merge branch 'master' into assets-route 2017-02-06 15:52:54 -07:00
psychobunny
df1a1811f2 add horizontal rule on top of image crop tools 2017-02-06 16:18:36 -05:00
psychobunny
034f3f0268 Merge pull request #5417 from pichalite/cropper-options
Add image options to cropper modal
2017-02-06 16:17:49 -05:00
pichalite
2c5f8ed8e6 Add image options to cropper modal 2017-02-06 21:00:21 +00:00
psychobunny
dbc3113940 Merge pull request #5412 from pichalite/cropperjs
Ability to crop profile images before uploading
2017-02-06 14:33:49 -05:00
pichalite
b757f563df Move tpl and less to core 2017-02-06 19:11:58 +00:00
barisusakli
959315c8f7 test admin/search 2017-02-06 13:43:51 +03:00
Misty (Bot)
f046ea012d Latest translations and fallbacks 2017-02-06 09:21:40 +00:00
Misty (Bot)
b9ae02583e Latest translations and fallbacks 2017-02-05 09:21:54 +00:00
Misty (Bot)
5ea5d11646 Latest translations and fallbacks 2017-02-04 09:21:31 +00:00
Peter Jaszkowiak
d43564dbbd No need to build multiple times 2017-02-03 23:55:33 -07:00
Peter Jaszkowiak
fdad66f58e Revert "Fix tests to use default activated plugin"
This reverts commit 44a59ac435.
2017-02-03 23:48:43 -07:00
Peter Jaszkowiak
d31499a860 Fix tests rewriting logo.png 2017-02-03 18:29:09 -07:00
Peter Jaszkowiak
44a59ac435 Fix tests to use default activated plugin 2017-02-03 16:37:03 -07:00
Julian Lam
9ceeff6f0a Merge pull request #5414 from pichalite/fix-acp
Fix ACP layout on tablets
2017-02-03 17:57:46 -05:00
pichalite
a3df9132f7 Fix styling 2017-02-03 22:19:19 +00:00
pichalite
a41acead44 Fix tabs 2017-02-03 22:16:04 +00:00
pichalite
6a073277ac Fix ACP layout on tablets 2017-02-03 22:12:47 +00:00
pichalite
a808d1b4d9 Set aspect ratio to square and confine crop box to image 2017-02-03 17:43:51 +00:00
barisusakli
a15aaaf389 closes #5394
dont allow socket.emits during maintenance mode
2017-02-03 19:02:43 +03:00
Julian Lam
06bf631445 increased file watch interval to reduce high CPU usage when using grunt 2017-02-03 10:24:55 -05:00
Julian Lam
5bb0c3ae07 increased file watch interval to reduce high CPU usage when using grunt 2017-02-03 10:24:19 -05:00
Julian Lam
bfd16d188e Merge branch 'master' into develop 2017-02-03 10:04:49 -05:00
barisusakli
76254942b2 closes #5190 2017-02-03 16:25:02 +03:00
Misty (Bot)
d4e4b4bfa2 Latest translations and fallbacks 2017-02-03 09:21:41 +00:00
barisusakli
e3a2e13438 build test 2017-02-03 11:39:31 +03:00
Peter Jaszkowiak
360a35d0a6 Resolve merge conflicts 2017-02-02 22:15:26 -07:00
Julian Lam
1012368acd Merge pull request #5413 from NodeBB/nodebb-executable-refactor
Refactor `nodebb`, move `build.js`, add `--dev`
2017-02-02 22:04:19 -05:00
Peter Jaszkowiak
5aa3e6b95b Merge branch 'master' into nodebb-executable-refactor 2017-02-02 19:19:02 -07:00
Peter Jaszkowiak
553567c3b2 Refactor nodebb, move build.js, add --dev 2017-02-02 19:15:01 -07:00
pichalite
700e2cf800 linting 2017-02-03 01:00:09 +00:00
pichalite
702561a6ab Ability to crop profile images before uploading 2017-02-03 00:48:27 +00:00
pichalite
de28ff5d43 Ability to crop profile images before uploading 2017-02-03 00:47:09 +00:00
Julian Lam
70b20e3ff1 Up markdown 2017-02-02 15:19:05 -05:00
Misty (Bot)
a70051b30c Incremented version number 2017-02-02 17:16:01 +00:00
Julian Lam
adb66c71b8 up markdown 2017-02-02 11:58:34 -05:00
Julian Lam
6b9bafc6cd adding missing flag strings 2017-02-02 11:53:37 -05:00
Julian Lam
5de67f9607 excluding tx managed language files from grunt 2017-02-02 10:52:20 -05:00
Barış Soner Uşaklı
b08acd197c up socket.io deps 2017-02-02 17:49:27 +02:00
barisusakli
5c217e873e build all targets before test 2017-02-02 16:08:19 +03:00
barisusakli
ae7f9bac98 prevent crash if uri is malformed 2017-02-02 13:11:33 +03:00
Misty (Bot)
48b8b6cf95 Latest translations and fallbacks 2017-02-02 09:21:39 +00:00
Julian Lam
bc3f28e473 Merge pull request #5411 from NodeBB/language-dep-warn
Better deprecation warning for old language route
2017-02-01 12:53:15 -05:00
Peter Jaszkowiak
bf44ca20f2 Better deprecation warning for old language route 2017-02-01 10:36:15 -07:00
Misty (Bot)
975f2a669d Latest translations and fallbacks 2017-02-01 09:22:09 +00:00
barisusakli
51981ffb99 get extention from content type 2017-01-31 22:18:22 +03:00
Julian Lam
409b8d8ebc Merge pull request #5409 from NodeBB/translator-no-catch
Fix translator catching JS errors in callbacks
2017-01-31 14:10:56 -05:00
Peter Jaszkowiak
bb7a35b85c Fix translator catching JS errors in callbacks 2017-01-31 12:04:31 -07:00
Julian Lam
ff301aeaf7 up vanilla 2017-01-31 12:12:13 -05:00
Julian Lam
9a0bd29d67 up vanilla 2017-01-31 12:12:02 -05:00
Julian Lam
cae2bf346f Merge branch 'master' into develop 2017-01-31 11:48:01 -05:00
Julian Lam
cd652e6730 up mentions 2017-01-31 11:45:25 -05:00
barisusakli
b37d52c089 closes #5407 2017-01-31 18:38:06 +03:00
Misty (Bot)
988c71d9c9 Latest translations and fallbacks 2017-01-31 09:21:38 +00:00
Peter Jaszkowiak
c14a31644b Merge branch 'master' into 'develop' 2017-01-30 15:41:14 -07:00
Peter Jaszkowiak
54ac23cc7a Revert "No 404 responses for missing language files"
This reverts commit f0c941e5ae.
2017-01-30 15:22:20 -07:00
Julian Lam
b230dbaff4 Merge pull request #5408 from NodeBB/language-404s
Remove requests to nonexistent language files
2017-01-30 17:12:11 -05:00
Peter Jaszkowiak
bc9fa0a990 Remove requests to nonexistent language files 2017-01-30 15:08:03 -07:00
Julian Lam
0aaa320913 Merge pull request #5406 from Pappmann/patch-6
Update dashboard.js
2017-01-30 11:54:35 -05:00
Stephan
0c6679ca9c Update dashboard.js 2017-01-30 17:45:48 +01:00
Misty (Bot)
b222dd653f Latest translations and fallbacks 2017-01-30 09:23:52 +00:00
Misty (Bot)
da295bb5e6 Latest translations and fallbacks 2017-01-29 09:21:51 +00:00
Misty (Bot)
3ddfa7715f Latest translations and fallbacks 2017-01-28 09:50:47 +00:00
Julian Lam
debffe385f closes #5316 2017-01-27 16:29:42 -05:00
barisusakli
366ab103a4 closes #5405 2017-01-27 20:38:01 +03:00
barisusakli
f1f00b63fb closes #5400 2017-01-27 20:38:00 +03:00
Julian Lam
3ab631c82e Merge pull request #5391 from Pappmann/patch-4
added missing translation in dashboard
2017-01-27 11:32:02 -05:00
Julian Lam
7c7517d72b Merge pull request #5392 from Pappmann/patch-5
fixed missing translation string
2017-01-27 11:31:46 -05:00
Julian Lam
7414482753 Merge branch 'master' into develop 2017-01-27 11:27:21 -05:00
Julian Lam
05c724de30 added new hook for messaging teaser retrieval, and casting input as String before execuring stripTags templates helper 2017-01-27 11:26:08 -05:00
barisusakli
a89ed01f4f up composer 2017-01-27 13:14:05 +03:00
barisusakli
46cde0444e up dbsearch 2017-01-27 12:40:52 +03:00
Misty (Bot)
c81c756e57 Latest translations and fallbacks 2017-01-27 09:22:33 +00:00
psychobunny
e2b30d6329 improve regex for unwanted whitespace in cover:url 2017-01-26 18:04:51 -05:00
barisusakli
3fb7f9fce5 closes #5398 2017-01-26 22:18:16 +03:00
psychobunny
9d069d76db random \t's in language string 2017-01-26 14:17:04 -05:00
barisusakli
a143a15f5d closes #5397 2017-01-26 20:44:26 +03:00
barisusakli
c3f1129fe9 eslint 2017-01-26 14:22:52 +03:00
barisusakli
29b0552466 update url from config file even if it was passed in env 2017-01-26 14:16:19 +03:00
Misty (Bot)
e3205cf950 Latest translations and fallbacks 2017-01-26 09:22:10 +00:00
Julian Lam
4df8832c8d adding conditional to upgrade script to handle cases where an upgrade is performed on a flag that is already in database 2017-01-25 11:02:46 -05:00
Barış Soner Uşaklı
8deeb0e7c0 up composer 2017-01-25 15:06:42 +02:00
Misty (Bot)
49735c67e3 Latest translations and fallbacks 2017-01-25 09:21:56 +00:00
Peter Jaszkowiak
f4147f7922 Generate cache buster on build 2017-01-24 20:24:28 -07:00
barisusakli
2a33991f0d read usercount from global object 2017-01-25 01:32:29 +03:00
Julian Lam
ae279fe57f casting some values as int, in ensureSelfOrPrivileged middleware 2017-01-24 12:33:27 -05:00
barisusakli
aeed8f53f3 closes #5393 2017-01-24 12:45:45 +03:00
Misty (Bot)
44f83825f8 Latest translations and fallbacks 2017-01-24 09:24:12 +00:00
Peter Jaszkowiak
f0c941e5ae No 404 responses for missing language files 2017-01-23 17:09:32 -07:00
Julian Lam
dbb71423a8 executing core middlewares first before secondary or plugin middlewares 2017-01-23 15:17:53 -05:00
Julian Lam
72092f7109 bump mentions again 2017-01-23 14:53:11 -05:00
Julian Lam
300816a6db actually mentions need not be updated... 2017-01-23 14:49:56 -05:00
Julian Lam
2a9d9204c0 Merge branch 'master' into develop 2017-01-23 14:48:54 -05:00
Julian Lam
a41bd73b30 bump mentions 2017-01-23 14:48:46 -05:00
Julian Lam
4e9d5bbd8a Up composer version 2017-01-23 12:38:21 -05:00
Julian Lam
8dc5e20f37 Up composer version 2017-01-23 12:38:05 -05:00
Julian Lam
ea7d61e2e4 handling err in src/meta/languages.js 2017-01-23 11:40:51 -05:00
Julian Lam
445eff9c1a Merge branch 'master' into develop 2017-01-23 11:28:08 -05:00
Julian Lam
372138c789 Revert "fixing bug that caused plugin language files to not be parsed"
This reverts commit b2bb1a7c24.
2017-01-23 11:27:35 -05:00
Julian Lam
b2bb1a7c24 fixing bug that caused plugin language files to not be parsed 2017-01-23 11:25:19 -05:00
Julian Lam
a7aaf8ea96 fixing bug that caused plugin language files to not be parsed 2017-01-23 11:25:05 -05:00
Julian Lam
fcec6fd41d Merge remote-tracking branch 'origin/master' into develop 2017-01-23 11:18:10 -05:00
barisusakli
33e452cc8e fix lint 2017-01-23 13:09:51 +03:00
barisusakli
0b95eab71e use roomName if availabe in taskbar
if room is renamed update title on taskbar
2017-01-23 13:02:40 +03:00
Misty (Bot)
390c0ba788 Latest translations and fallbacks 2017-01-23 09:24:30 +00:00
Stephan
374bc04cdb fixed missing translation string 2017-01-23 04:06:01 +01:00
Stephan
56f045e6b0 Update dashboard.json 2017-01-23 02:41:24 +01:00
Stephan
af4df8e197 added missing translation
added missing language string in dashboard.js
2017-01-23 02:38:33 +01:00
Misty (Bot)
da33f065cf Latest translations and fallbacks 2017-01-22 09:24:29 +00:00
Peter Jaszkowiak
001aa3d1a8 Fix tests, npm Windows fixes 2017-01-21 19:21:02 -07:00
Peter Jaszkowiak
186209a0a3 Build plugin staticDirs
- route `/plugins` -> `build/public/plugins`
- symlink `staticDirs` directories into `build/public/plugins`
- remove custom `/plugins` route handling
2017-01-21 18:57:27 -07:00
Barış Soner Uşaklı
a63ec0a265 up dbsearch 2017-01-21 14:23:36 +02:00
Misty (Bot)
fccd43e532 Latest translations and fallbacks 2017-01-21 09:24:28 +00:00
Misty (Bot)
604206843e Latest translations and fallbacks 2017-01-20 19:29:25 +00:00
Julian Lam
a86eefc5e3 Merge pull request #5383 from pitaj/master
Fix empty lines in language selectors
2017-01-20 13:17:38 -05:00
Peter Jaszkowiak
df77890c2a Plugin defaultLang defaults to en-GB 2017-01-20 11:15:06 -07:00
Julian Lam
73879b824c Merge branch 'master' into develop 2017-01-20 12:33:17 -05:00
Julian Lam
694f2382bf fix issue where navigating back to a topic listing (category.tpl) would not scroll down to the topic you had clicked on, and in some cases would exclude topics that were beyond that particular 'page' 2017-01-20 12:11:12 -05:00
Peter Jaszkowiak
7c88a55153 Fix empty lines in language selectors 2017-01-19 19:07:53 -07:00
Julian Lam
339845ff6b Merge pull request #5366 from pitaj/build-translations
Compile translations in the build step
2017-01-19 15:25:28 -05:00
Julian Lam
76376f52c3 Merge remote-tracking branch 'origin/master' into develop 2017-01-19 14:29:12 -05:00
Julian Lam
3d25c3e1c6 Merge pull request #5380 from pitaj/master
Fix wrapper breaking when no attrs need replaced
2017-01-19 14:17:39 -05:00
Peter Jaszkowiak
97fe86c916 Fix wrapper breaking when no attrs need replaced 2017-01-19 12:13:23 -07:00
Peter Jaszkowiak
80b4c6fa68 Exclude config files 2017-01-19 10:53:25 -07:00
psychobunny
19c3f54a30 Merge pull request #5379 from pichalite/issue-5344
Fixes #5344
2017-01-18 16:38:48 -05:00
pichalite
7b234c666f Fixes #5344 2017-01-18 20:32:19 +00:00
barisusakli
ef72762ba7 use groups.isMemberOfGroups 2017-01-18 20:24:48 +03:00
Peter Jaszkowiak
7f2ded17ab Comments, misc 2017-01-17 20:41:04 -07:00
Peter Jaszkowiak
e94d47976d Build language files on change 2017-01-17 20:22:38 -07:00
Barış Soner Uşaklı
bcd2b5cc50 Merge pull request #5376 from pichalite/post_create
Send isMain to post.save filters
2017-01-17 21:55:29 +02:00
Julian Lam
08af924873 closes #5189 2017-01-17 14:05:33 -05:00
Julian Lam
82e9e1a05d closes #5189 2017-01-17 14:05:19 -05:00
pichalite
9176f7e037 Only send isMain to hook instead of saving to post hash 2017-01-17 18:24:16 +00:00
Julian Lam
48909e753c Merge branch 'master' into develop 2017-01-17 10:46:14 -05:00
Julian Lam
06a77143bd additional logging and removing interstitial session data if plugins don't return interstitials 2017-01-17 10:46:04 -05:00
Peter Jaszkowiak
65b866192e Fix failing tests 2017-01-16 16:48:56 -07:00
pichalite
a3c05b2ea4 Send isMain to post.save filters 2017-01-16 23:40:25 +00:00
Peter Jaszkowiak
aff53cccc5 Plugin language fallback support 2017-01-16 16:31:16 -07:00
Julian Lam
762d660447 Merge pull request #5373 from pitaj/master
Fixes #5369, bootbox wrapper translates attributes
2017-01-16 14:41:07 -05:00
Julian Lam
183fdf06cb Merge pull request #5356 from DomLennonZA/master
Adding more specific timings for session timeout
2017-01-16 14:38:52 -05:00
Jan
7fb7a64c8d Fix fa-font-path 2017-01-16 16:00:54 +01:00
Dominic Lennon
3f116e7636 Fixing null ttl issue for MongoSession 2017-01-16 14:58:27 +00:00
Dominic Lennon
b1f0f8fa8b Adding ttl value to the MongoStore options 2017-01-16 14:52:25 +00:00
Dominic Lennon
691b46d38b Fixing lint issues 2017-01-16 14:43:34 +00:00
Dominic Lennon
f0add97cf9 Fixing tests 2017-01-16 14:37:14 +00:00
Dominic Lennon
3507e4ce0e Adding closing <p> 2017-01-16 09:33:33 +00:00
Dominic Lennon
a06e39528f Code review change 2017-01-16 08:48:53 +00:00
Peter Jaszkowiak
c41a2f4b98 Fixes #5369, bootbox wrapper translates attributes 2017-01-15 13:58:56 -07:00
Peter Jaszkowiak
8c86b2e32c Build pipeline improvements
- Refactor meta/css
- `fs.link` usage consolidated to `file.link`
- rimraf built modules directory to fix error
- Remove `local-assets` flag
2017-01-15 12:38:16 -07:00
kingjan1999
8ac40eb44c Update FontAwesome to 4.7.0 2017-01-15 17:51:28 +01:00
kingjan1999
cbe8807ebd update fontawesome.tpl 2017-01-15 17:46:21 +01:00
Peter Jaszkowiak
05b68391dd Use /assets for client assets
- Route `/assets` -> `build/public`, falling back on `public`
- Moved destinations for `nodebb.min.js`, `acp.min.js`, `admin.css`, `stylesheet.css`, `templates`, and `sounds` to `build/public`
- r.js modules previously routed through express are now symlinked into `public/build/src/modules`
- minfiles no longer served from a memory cache
- use config `views_dir` setting everywhere template directory is used
- fix cache buster `v=v=`
2017-01-14 22:38:40 -07:00
Peter Jaszkowiak
e1a29f4aa8 Switch to assets route 2017-01-14 17:12:16 -07:00
Peter Jaszkowiak
b4b3be3d97 Cache bust translations, query param name 2017-01-14 14:09:46 -07:00
Peter Jaszkowiak
c97764ee6f Fix incomplete "group" search results 2017-01-14 14:09:46 -07:00
Peter Jaszkowiak
2f07c18c5a All hail the glorious translation prebuilding 2017-01-14 14:08:52 -07:00
Julian Lam
9dcbe875a0 Merge branch 'master' into develop 2017-01-13 15:01:34 -05:00
Julian Lam
c99321a518 always setting app.previousUrl now, and passing cid into filter:category.topics.get hook 2017-01-13 15:01:14 -05:00
barisusakli
8f0f959d53 add filter:categories.copyPrivilegesFrom
https://github.com/Schamper/nodebb-plugin-poll/issues/77
2017-01-13 12:04:20 +03:00
Peter Jaszkowiak
386284beb8 Windows compat 2017-01-12 15:45:44 -07:00
Julian Lam
2a9088d571 updating checkGlobalPrivacySettings middleware to hook into write-api for auth 2017-01-12 15:55:56 -05:00
psychobunny
65cf2dbe55 move updateRoomUsage to after graph setup #5346 2017-01-12 14:26:03 -05:00
psychobunny
7f9381b087 closes #5346 2017-01-12 14:22:30 -05:00
psychobunny
9797f69324 action:chat.sent 2017-01-12 11:48:41 -05:00
Julian Lam
10f270d016 adding byPid zset for flags 2017-01-12 11:31:59 -05:00
Julian Lam
f58107e40a Merge remote-tracking branch 'origin/master' into develop 2017-01-12 11:29:34 -05:00
Julian Lam
bef3da5b48 pass flagId into flag.update hook 2017-01-12 10:09:47 -05:00
Julian Lam
6c04e393b5 fire hooks for flag update 2017-01-12 10:03:50 -05:00
barisusakli
8f916343f0 closes #5361 2017-01-12 14:41:35 +03:00
barisusakli
938022a0f7 add postData to action:post.delete, closes #5360 2017-01-12 14:32:38 +03:00
barisusakli
274448426d helpers.setupAdminPageRoute 2017-01-12 14:32:38 +03:00
barisusakli
1e137636c9 closes #5359 2017-01-12 14:32:38 +03:00
Misty (Bot)
759f1e2085 Latest translations and fallbacks 2017-01-12 09:21:45 +00:00
Julian Lam
d29361f4c9 added additional visibility masks for profile menu hook, also added isPrivileged user method, closes #5306 2017-01-11 15:06:28 -05:00
Julian Lam
8eb47e1987 added back missing next(), @baris 2017-01-11 14:43:56 -05:00
Julian Lam
20d035bdac hotfix to utils.isRelativeUrl to handle null or undefined first argument 2017-01-11 14:33:51 -05:00
Julian Lam
7bbb05637c flag translations and fallbacks 2017-01-11 13:20:26 -05:00
Barış Soner Uşaklı
05053071fe up composer 2017-01-11 20:12:26 +02:00
Julian Lam
bbc02dcc5d lol wtf 2017-01-11 09:44:54 -05:00
Julian Lam
a13c6f8c65 adding a safeguard into flags upgrade script @baris 2017-01-11 09:43:34 -05:00
barisusakli
367078056e add hook 2017-01-11 14:41:31 +03:00
barisusakli
0c8aa599a0 closes #5357 2017-01-11 14:40:52 +03:00
Dominic Lennon
04e5707143 Fixing lint issues 2017-01-11 11:24:27 +00:00
barisusakli
37bb6e9b6d action:user.removeUploadedPicture 2017-01-11 13:59:27 +03:00
Dominic Lennon
ed19454eca Adding more specific timing for session timings 2017-01-11 10:51:41 +00:00
Misty (Bot)
4ec7200260 Latest translations and fallbacks 2017-01-11 09:21:36 +00:00
psychobunny
3b4d7b1d70 up tjs 2017-01-10 13:47:31 -05:00
barisusakli
dd9e286633 closes #5355 2017-01-10 18:31:08 +03:00
barisusakli
1e9fabc5db closes #5354 2017-01-10 15:45:07 +03:00
barisusakli
611be77361 closes #5353 2017-01-10 15:16:49 +03:00
Dominic Lennon
d248ef95cd Fix for issue #5334. SessionStore now uses the correct value 2017-01-10 11:48:27 +00:00
Misty (Bot)
ac03c2b270 Latest translations and fallbacks 2017-01-10 09:21:46 +00:00
Julian Lam
1a0e4db466 removing duplicate strings from flags language file 2017-01-09 16:22:55 -05:00
Julian Lam
ca7f834f53 updating tx assets 2017-01-09 16:20:33 -05:00
Julian Lam
9987d52855 Merge remote-tracking branch 'origin/master' into develop 2017-01-09 16:18:15 -05:00
Julian Lam
2ab2486d3b if require call on page script fails, remove from scripts array 2017-01-09 15:02:32 -05:00
Julian Lam
6a591069c5 fixes issue with ajaxify.end not firing 2017-01-09 14:51:05 -05:00
barisusakli
cc96e32970 closes #5352 2017-01-09 18:16:48 +03:00
Misty (Bot)
5522d0908e Latest translations and fallbacks 2017-01-09 09:21:45 +00:00
Julian Lam
43056a4bfa Merge branch 'master' into develop 2017-01-08 16:26:00 -05:00
Julian Lam
1296b7a72c using spaces in .eslintrc.json 2017-01-08 15:59:03 -05:00
Julian Lam
64e4ef042b allowing plugins to subscribe to action:script.load and pass in function references 2017-01-08 15:58:25 -05:00
Julian Lam
f6900f2500 Merge pull request #5345 from pichalite/devdeps
Update dev dependencies
2017-01-08 15:58:09 -05:00
Julian Lam
50bd198ed9 Merge pull request #5349 from pitaj/master
Fix reverse proxies breaking admin translations
2017-01-08 13:06:08 -05:00
Misty (Bot)
f51b16d0de Latest translations and fallbacks 2017-01-08 09:21:34 +00:00
Peter Jaszkowiak
ffa2bd14f8 Fix reverse proxies breaking admin translations 2017-01-07 22:48:57 -07:00
Misty (Bot)
1dd8ed8c93 Latest translations and fallbacks 2017-01-07 09:21:35 +00:00
barisusakli
362fbd66e9 up composer 2017-01-06 19:20:36 +03:00
Misty (Bot)
aec6a3b5ca Latest translations and fallbacks 2017-01-06 09:21:33 +00:00
barisusakli
c0a8fd7395 allow multiple tags 2017-01-05 21:14:21 +03:00
barisusakli
3f15dbdc54 up persona 2017-01-05 21:14:20 +03:00
Anil Mandepudi
5a3e1c99c1 Fix tabs 2017-01-05 10:09:06 -08:00
pichalite
65d17a07b7 Update dev dependencies 2017-01-05 18:06:59 +00:00
Julian Lam
8408e3d7ab Merge branch 'master' into develop 2017-01-05 10:22:55 -05:00
Julian Lam
b8d2d9c701 fix language codes, @pichalite 2017-01-05 10:22:45 -05:00
Julian Lam
87433d50a3 Merge branch 'master' into develop 2017-01-05 10:10:11 -05:00
Julian Lam
2c6beb9ffb Merge branch 'master' into develop 2017-01-05 10:05:57 -05:00
Misty (Bot)
b4a3883d6b Latest translations and fallbacks 2017-01-05 09:21:40 +00:00
Misty (Bot)
9ab69d3960 update arabic language.json 2017-01-04 17:33:52 +00:00
Misty (Bot)
07f8ca5d6c Latest translations and fallbacks 2017-01-04 17:27:57 +00:00
Julian Lam
8e7af0291a fixed grammar in admin-manage-categories string 2017-01-04 11:50:03 -05:00
Julian Lam
81ca10d72e Merge pull request #5332 from pitaj/async@2
async v2 upgrade
2017-01-04 11:05:45 -05:00
barisusakli
c42eaee30c fix typo in language file 2017-01-04 15:28:16 +03:00
Julian Lam
736c1a4ad1 Merge pull request #5340 from pichalite/patch-1
Update Chart.js dependency version
2017-01-03 21:28:02 -05:00
Anil Mandepudi
22d0e60f08 Update Chart.js dependency version
Update Chart.js dependency to fix chart issue on category analytics page.
2017-01-03 18:05:39 -08:00
Barış Soner Uşaklı
aa32e7b359 fix indents 2017-01-04 00:58:32 +03:00
Barış Soner Uşaklı
39723074c0 Merge pull request #5327 from pichalite/translations
Add missing translations
2017-01-03 22:49:50 +02:00
Barış Soner Uşaklı
e225f318bb Merge pull request #5339 from loopback0/master
Allow text selection on /unread
2017-01-03 22:49:01 +02:00
loopback0
a86134cc5b Fix selection
Tweak to allow the shift + click behaviour for the checkboxes while still letting the browser behaviour work
2017-01-03 20:18:35 +00:00
Julian Lam
3861b2dd80 Merge remote-tracking branch 'origin/master' into develop 2017-01-03 13:39:11 -05:00
Julian Lam
541f51e947 restrict flags interface so that moderators only see flags from cids they can actually moderate 2017-01-03 13:38:06 -05:00
psychobunny
949b4aaa1f added logo to .gitignore so it doesn't get updated by test runner 2017-01-03 13:07:24 -05:00
barisusakli
ba1889f441 messaging refactor 2017-01-03 20:02:24 +03:00
barisusakli
6b2dde02b5 closes #5333 2017-01-03 15:08:16 +03:00
Peter Jaszkowiak
11f7cc4163 Pass tests 2017-01-02 23:04:57 -07:00
Peter Jaszkowiak
ec544518e8 Use async v2 2017-01-02 22:23:17 -07:00
Peter Jaszkowiak
cb82824c13 Fix ACP title bug with hashes (#5331) 2017-01-02 10:59:55 -05:00
Barış Soner Uşaklı
a08474a9fd Merge pull request #5319 from pichalite/issue-5317
Let global mods change user avatar
2016-12-31 09:40:20 +02:00
psychobunny
268f907a08 Merge pull request #5329 from pichalite/user-tests
Add more user tests
2016-12-29 20:10:52 -05:00
pichalite
a0ff3734cf Add more user tests 2016-12-30 00:51:22 +00:00
psychobunny
1c64e4e741 Merge pull request #5328 from pichalite/user-tests
Add more user tests
2016-12-29 18:31:23 -05:00
pichalite
0ea477abde Add more user tests 2016-12-29 23:16:23 +00:00
pichalite
da8795f666 Add missing translations 2016-12-29 19:41:43 +00:00
Anil Mandepudi
8ddf7eb922 Use scrollStop in chat (#5326) 2016-12-29 14:25:05 -05:00
psychobunny
8df47f333e Merge pull request #5325 from pichalite/issue-5324
Delete cover position data when cover photo is deleted
2016-12-29 13:12:46 -05:00
pichalite
8a68e1d918 Delete cover position data when cover photo is deleted 2016-12-29 17:28:42 +00:00
psychobunny
22b9f5db92 Merge pull request #5320 from pichalite/issue-5305
Confirm before removing user and group cover picture
2016-12-28 20:14:56 -05:00
pichalite
5b646495af Confirm before removing user and group cover picture 2016-12-29 01:01:35 +00:00
pichalite
ab797b91a4 Let global mods change user avatar 2016-12-28 19:00:14 +00:00
Julian Lam
05fdd35818 removed menu item for flags management in ACP 2016-12-27 15:33:55 -05:00
Julian Lam
277f447f3e fix minSchemaDate in upgrade.js 2016-12-27 15:30:10 -05:00
Julian Lam
3ea927fa65 fix minSchemaDate in upgrade.js 2016-12-27 15:29:46 -05:00
Julian Lam
db20df0110 Merge branch 'master' into develop 2016-12-27 15:26:59 -05:00
Barış Soner Uşaklı
f225fc3e3d closes #5314 2016-12-27 21:20:05 +03:00
Julian Lam
a8521d0349 remove double-click to mark all notifications read 2016-12-27 12:55:28 -05:00
psychobunny
d4a1542ba3 use dot instead of spec for tests 2016-12-23 11:32:43 -05:00
barisusakli
c78c4926df up themes 2016-12-23 17:01:11 +03:00
barisusakli
190b3759a0 fix tests 2016-12-23 16:51:18 +03:00
barisusakli
827e4b4ffd refactor post tools 2016-12-23 16:35:48 +03:00
barisusakli
a112655bd2 fix missing ; 2016-12-23 15:59:15 +03:00
barisusakli
4943832dd8 fix dupe code 2016-12-23 15:58:40 +03:00
barisusakli
306687ccaa remove old upgrade code 2016-12-23 15:49:28 +03:00
barisusakli
e48f1dac2a move bookmarks 2016-12-23 15:37:26 +03:00
barisusakli
c927eb15d7 fix requires 2016-12-23 15:37:18 +03:00
barisusakli
c36e2aa13d refactor app.js/start 2016-12-23 14:45:37 +03:00
barisusakli
e1253f693a fix redis union 2016-12-23 14:26:05 +03:00
barisusakli
b71ab64cf4 organize dbal sorted code 2016-12-23 14:12:07 +03:00
psychobunny
3935e35f5c Merge pull request #5309 from pichalite/update-ace
Update ACE editor to latest
2016-12-22 14:37:30 -05:00
pichalite
cc435e75de Update ACE editor to latest 2016-12-22 19:32:20 +00:00
pichalite
cae5a9ac58 Update ACE editor to latest 2016-12-22 19:25:24 +00:00
barisusakli
476ec6e4ee closes #5307 2016-12-22 20:33:08 +03:00
Misty (Bot)
2a5b5a7b45 Incremented version number 2016-12-22 17:08:19 +00:00
psychobunny
66d8c29d25 use different path for installer files 2016-12-22 11:45:22 -05:00
Julian Lam
29c7ae7645 Merge remote-tracking branch 'origin/master' into develop 2016-12-22 09:21:32 -05:00
barisusakli
f505b47ac9 prevent crash if topic is not found 2016-12-22 12:19:07 +03:00
barisusakli
3add454289 up composer 2016-12-22 11:22:18 +03:00
psychobunny
fa12a3e7e6 updating to 2017 (was looking for a reason to test auto-update of https://github.com/NodeBB/NodeBB/wiki/Hooks) 2016-12-21 21:11:40 -05:00
psychobunny
f742c847e1 Merge pull request #5304 from pitaj/master
Fix ACP title issues
2016-12-21 19:29:09 -05:00
Peter Jaszkowiak
6d00d5f6a5 Fix ACP title issues 2016-12-21 16:00:12 -07:00
Barış Soner Uşaklı
c4d4d2385b closes #3973 closes #5303 2016-12-22 01:48:41 +03:00
Barış Soner Uşaklı
805cacb2af dont add tid to :tids:posts if its pinned 2016-12-21 23:50:06 +03:00
psychobunny
61a58f2607 fixes npm test on windows 2016-12-21 11:21:30 -05:00
psychobunny
29cf6f528c no need to check for logged in status in ACP 2016-12-21 11:19:19 -05:00
Barış Soner Uşaklı
1b6d718dab closes #5300 2016-12-21 15:18:43 +03:00
psychobunny
79e78f19dd Merge pull request #5299 from pichalite/patch-1
Add missing translation
2016-12-20 17:02:54 -05:00
psychobunny
b5d1eb2d54 up persona 2016-12-20 17:01:53 -05:00
Anil Mandepudi
8229de5eaa Add missing translation 2016-12-20 13:55:27 -08:00
barisusakli
a1af59def3 add missing return, fix tests 2016-12-21 00:31:20 +03:00
psychobunny
454ee2d801 up persona: new quick reply option 2016-12-20 15:35:58 -05:00
Julian Lam
7c7cb8cfe6 remove flag translations from development branch 2016-12-20 13:30:41 -05:00
Julian Lam
c640bdf2b9 Merge branch 'master' into develop 2016-12-20 13:29:44 -05:00
Julian Lam
d77f417cf3 allowing timeago timestamps to be in the future 2016-12-20 13:17:20 -05:00
psychobunny
b51fd4096b up persona 2016-12-20 12:11:23 -05:00
barisusakli
988c485874 post tools test 2016-12-20 16:03:01 +03:00
barisusakli
a0c217446a fix missing semicolon 2016-12-20 14:06:19 +03:00
barisusakli
caacae093d fix tests 2016-12-20 14:05:15 +03:00
barisusakli
f8d958e065 rooms.getAll test 2016-12-20 13:53:32 +03:00
Julian Lam
926186108b ACP Translations 2016-12-19 15:51:44 -05:00
Peter Jaszkowiak
460b830a96 Fix ajaxify loading default language translations 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
daf3ab4db4 WIP 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
038c45f4b6 admin/manage translations, misc
- Translate Manage templates and JS
- Change `translator.translate -> .html` into `.translateHtml` where fitting
- Translate `admin/partials/download_plugin_item`
2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
94eb74646c admin/manage/categories translations
- Fix privilege table headers so bottom borders align
- Fix `/admin` route to show Dashboard title correctly
- Translate ACP category management and privileges templates
- Translate ACP category management JS
- Remove unnecessary translates in JS
- Fix bootbox wrapper to work with translations containing html
2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
862908d0eb ACP search and title improvements
- Search uses translated titles if available
- Use `advanced` for `development` route titles
- Remove route title from showing up in results
- Highlight matching part of result title
- Don't show empty result contents when only title is matched
2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
3008794797 admin/general JS translations and misc 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
95bef8f3f6 admin/extend JS translations and misc 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
38eba81933 ACP menu and title translations 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
bae1daf5dc Bootbox wrapper improvements 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
606de990e9 admin/advanced JS translations 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
0b4c39338e Translation bootbox wrapper
- Replaced minfied bootbox file with unminified one since it's minified at build anyways
- Removed existing override
- Made translator more verbose in dev mode; it now warns about missing translations
2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
20db4657b2 admin/general translations 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
4eca23174a Translate dynamically added admin content 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
3cd6a8a94b admin/extend translations 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
50aed01c57 admin/development translations 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
6c1b852d48 admin/appearance translations 2016-12-19 15:51:43 -05:00
Peter Jaszkowiak
8931702136 admin/advanced translations 2016-12-19 15:51:43 -05:00
Misty (Bot)
ecdd57dda2 Incremented version number 2016-12-19 19:18:25 +00:00
barisusakli
70f71888f1 up themes 2016-12-19 21:53:19 +03:00
barisusakli
9ace5c6e17 moved next() of out try/catch 2016-12-19 21:46:28 +03:00
barisusakli
1fed01fe43 ability to filter search by tags 2016-12-19 21:40:16 +03:00
Julian Lam
76bcc1c327 Merge branch 'flagging-refactor' into develop 2016-12-19 13:00:31 -05:00
Julian Lam
283ae564f2 removing incorrect parseInt 2016-12-19 12:52:47 -05:00
Julian Lam
babafde726 once more for good measure! 2016-12-19 12:40:33 -05:00
Julian Lam
07ac7dce84 minor tweaks to test to be redis-compatible 2016-12-19 12:31:55 -05:00
Julian Lam
2ea63f3d42 how much fun is it to fix tests when stack traces don't work? lots. :shipit: 2016-12-19 12:13:36 -05:00
Julian Lam
5e52cfdf86 removed one more old flag test for #5232 2016-12-19 12:01:00 -05:00
Julian Lam
47c9c93693 removed old flagging tests 2016-12-19 11:54:52 -05:00
Julian Lam
ad633aad45 additional tests and proper handling for purged flag targets, #5232 2016-12-19 11:16:03 -05:00
Julian Lam
7b471b76db fixing tests for #5232 2016-12-19 09:50:46 -05:00
Barış Soner Uşaklı
fef239d97a up mongodb 2016-12-18 23:01:32 +03:00
Barış Soner Uşaklı
647c05ec42 up composer 2016-12-18 22:25:58 +03:00
Barış Soner Uşaklı
4ff3d06f90 escape labelColor, icon, cover:position, validate toPid 2016-12-17 16:00:39 +03:00
Julian Lam
a043876d00 what, does Travis not like 4-space indents? 2016-12-16 12:47:38 -05:00
barisusakli
6a0cbadb3e closes #5290 2016-12-16 15:55:46 +03:00
barisusakli
009da723c5 meta.configs tests 2016-12-16 15:55:34 +03:00
barisusakli
975141bc9b more tag tests 2016-12-15 18:06:49 +03:00
barisusakli
835669805a tag tests 2016-12-15 17:26:54 +03:00
barisusakli
3bd1c6c2b5 notification tests 2016-12-15 16:08:32 +03:00
barisusakli
55b68197aa closes #4544 2016-12-15 14:47:42 +03:00
barisusakli
9d75c48236 closes #4563 closes #4569 closes #4566 2016-12-15 13:03:14 +03:00
Julian Lam
0927d54c98 ability to filter flags by cid, #5232, more tests 2016-12-14 15:53:57 -05:00
Julian Lam
ebffc44600 fix tests, #5232 2016-12-14 15:00:41 -05:00
Julian Lam
5e109bb4a8 Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-14 14:45:25 -05:00
barisusakli
e17b37edb6 closes #5287 2016-12-14 21:58:20 +03:00
Julian Lam
e6768ab572 some more fixes to flags, simplifying qs manipulation in flags search
re: #5232
2016-12-14 10:03:43 -05:00
Julian Lam
e028ac1363 passing in arguments to npm instead of command string, closes #5286 2016-12-14 09:28:30 -05:00
xucheng
40d73e2a54 fix ajax 404 err when base url isn't root (#5285) 2016-12-14 08:53:55 -05:00
barisusakli
9e52d5ec04 new hook, action:user.delete 2016-12-14 16:49:09 +03:00
Julian Lam
380ebf67ee oops, uncommenting all the other tests for flags 2016-12-13 14:24:09 -05:00
Julian Lam
831c2064a0 For #5232, added tests and returning flag data on socket flag creation 2016-12-13 12:11:51 -05:00
Julian Lam
83cd07f830 request travis to build now too 2016-12-13 09:38:43 -05:00
Julian Lam
451c2838d0 Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-13 09:37:19 -05:00
Julian Lam
0196997099 fixing issues as found by @barisusakli
re: #5232 and #5282
2016-12-13 09:36:50 -05:00
barisusakli
fba28791f5 missing ; 2016-12-13 16:08:54 +03:00
barisusakli
c32e6aaabb use build module instead of forking 2016-12-13 15:43:20 +03:00
barisusakli
53fe432d8a fix hook 2016-12-13 14:27:54 +03:00
barisusakli
97c0b33cf6 filter:middleware.render 2016-12-13 14:22:37 +03:00
barisusakli
e86708cb0c add cid to widgets.render
init date pickers in widgets ACP
2016-12-13 14:11:56 +03:00
barisusakli
82d3b24cd3 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2016-12-13 14:01:20 +03:00
barisusakli
35a15f37ec closes #5276 2016-12-13 14:01:07 +03:00
Barış Soner Uşaklı
1f52048866 Merge pull request #5252 from Fusselwurm/patch-2
ZSET scores are float: parseInt => parseFloat
2016-12-13 11:58:24 +02:00
psychobunny
10cffb0b54 Merge pull request #5283 from pichalite/setup-password-check
Check password length on setup and prompt again
2016-12-12 20:37:49 -05:00
Anil Mandepudi
aea08d58b1 Fix tabs 2016-12-12 17:19:59 -08:00
pichalite
0a4e45c0da Check password length on setup 2016-12-13 01:18:42 +00:00
Julian Lam
b79073cf32 Merge branch 'translator-escapes' of https://github.com/pitaj/NodeBB into pitaj-translator-escapes 2016-12-12 15:11:38 -05:00
Julian Lam
e227f5842a Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-12 11:21:30 -05:00
Mathias Schreck
b1a48981ef Check if href exists before accessing it (#5281)
I got a lot of errors in Firefox 50 `TypeError: $(...).attr(...) is undefined  nodebb.min.js:25167:24` which points exactly to that line I’ve changed.
Since HTML5 `href` is not a required attribute of an `a` tag. We have a couple of links without `href` and every time you click it you will get this error.
2016-12-12 11:08:21 -05:00
Moritz Schmidt
ec5d13188b sneakily adjust database/sorted tests to include float scores 2016-12-11 15:59:28 +01:00
Moritz Schmidt
c8393d6f87 mongo: set scores as float instead of int 2016-12-11 15:58:57 +01:00
Peter Jaszkowiak
db1fdb897f Fixes for dev-ing on windows
- Change `nodebb.bat` to simply run `node ./nodebb` with same arguments
- Fix `npm test` for windows
2016-12-10 20:57:34 -07:00
Peter Jaszkowiak
bb5fe0cc83 Escape arguments in Translator.compile 2016-12-10 20:41:49 -07:00
Peter Jaszkowiak
a81aad61ab Add tests for translator static methods 2016-12-10 20:24:41 -07:00
Peter Jaszkowiak
375af7ad53 Restructure and rename translator tests 2016-12-10 20:24:41 -07:00
Peter Jaszkowiak
7c697759e9 Escape and ignore % and \, in translator args 2016-12-10 20:24:41 -07:00
barisusakli
1c6cee207f meta/settings test 2016-12-10 00:51:50 +03:00
barisusakli
9627e53922 change group membership methods 2016-12-10 00:25:49 +03:00
Julian Lam
aaec71bc0c added stepSize to flags chart, #5232 2016-12-09 14:59:23 -05:00
Julian Lam
dc508fa0cb Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-09 14:54:01 -05:00
Julian Lam
4753042306 lowered analytics disk writes to every ten seconds, because why every 10 minutes? :shipit: 2016-12-09 14:53:49 -05:00
Julian Lam
9ada35cfb9 allowing Analytics.increment to have a callback 2016-12-09 14:39:31 -05:00
Julian Lam
ebc9abd773 upgrade script and graphs for #5232 2016-12-09 14:33:59 -05:00
barisusakli
4db171985d up composer 2016-12-09 18:57:56 +03:00
barisusakli
0b9829850c closes #5273 2016-12-09 18:53:08 +03:00
Barış Soner Uşaklı
7f455344d8 show seconds in logs 2016-12-09 00:41:19 +03:00
Barış Soner Uşaklı
e0501656b6 parallel startup 2016-12-09 00:18:25 +03:00
Barış Soner Uşaklı
bca6151892 fix lint 2016-12-09 00:00:40 +03:00
Barış Soner Uşaklı
8c8e2ae190 closes #5271 2016-12-09 00:00:39 +03:00
Julian Lam
5d63c0aa3b Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-08 14:25:53 -05:00
Julian Lam
acf2e4078b fixes #5263 2016-12-08 11:28:20 -05:00
psychobunny
56fb941979 up'd tjs 2016-12-07 15:53:47 -05:00
Julian Lam
31996f9377 added page titles 2016-12-07 15:51:05 -05:00
Julian Lam
6533fa066d removed unneeded fixes #5232 2016-12-07 15:42:47 -05:00
Julian Lam
e40eb75f8f change history saving to append an object not a serialised array, #5232 2016-12-07 15:33:30 -05:00
Julian Lam
a5fb4825b4 deprecating old hook for #5232 2016-12-07 13:06:55 -05:00
Julian Lam
5dd892bd01 a bunch of changes here... allowing user profiles to be flagged, #5232 2016-12-07 12:07:22 -05:00
barisusakli
78b7d5896c convert topic title to string 2016-12-07 16:25:46 +03:00
barisusakli
74b9f1a016 closes #5262 2016-12-07 11:57:27 +03:00
Julian Lam
57fcb92bbc added a smattering of tests for #5232 2016-12-06 20:28:54 -05:00
psychobunny
6b7b51eaf0 Merge pull request #5170 from pitaj/master
ACP search updated to support translations
2016-12-06 17:45:19 -05:00
Peter Jaszkowiak
e2ea3cb21e Fix linting error 2016-12-06 15:13:34 -07:00
Julian Lam
a2fecf5ae4 Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-06 16:12:42 -05:00
Julian Lam
9f9051026b more work on #5232 2016-12-06 16:11:56 -05:00
Barış Soner Uşaklı
a0d32e953a Merge pull request #5261 from stuwil/fix-twitter-share-text
Avoid HTML codes in Twitter social share text
2016-12-06 23:04:31 +02:00
Stuart Williams
647d0e0a75 Avoid encoding HTML in Twitter social share text 2016-12-06 15:49:34 -05:00
Barış Soner Uşaklı
d468b6c466 Merge pull request #5260 from stuwil/fix-5259
Generate Post social share links with relative URL
2016-12-06 21:20:18 +02:00
Stuart Williams
cafc5cd891 closes #5259 2016-12-06 14:08:04 -05:00
psychobunny
b0126267a8 closes #5249 2016-12-06 11:48:59 -05:00
Peter Jaszkowiak
8ca98625b9 Key through search results 2016-12-05 18:32:17 -07:00
Peter Jaszkowiak
f1cfed50a1 Translate skins and themes fully 2016-12-05 18:31:58 -07:00
Peter Jaszkowiak
5843e8dd77 Fix Translator to work with namespace paths 2016-12-05 17:55:42 -07:00
Peter Jaszkowiak
9fd64549a3 Use async instead of Promises 2016-12-05 17:55:04 -07:00
Julian Lam
cd3002e812 removed user flag reset method and associated socket call from ACP 2016-12-05 15:52:01 -05:00
Julian Lam
88958049eb added some more filters, and appending event to history on flag creation
issue #5232
2016-12-05 15:33:08 -05:00
Julian Lam
8e1d441e20 Added some quick filters, #5232 2016-12-05 12:40:25 -05:00
Julian Lam
b7217e8841 Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-05 11:28:10 -05:00
Julian Lam
777f15941f closes #5251 2016-12-05 10:45:06 -05:00
Julian Lam
252574346e tweak gitignores, closes #5250 2016-12-05 10:32:44 -05:00
Julian Lam
ad732935fb closes #5254 2016-12-05 10:23:28 -05:00
barisusakli
cbd6853ccb notif controller test 2016-12-05 17:16:28 +03:00
barisusakli
8691256a67 fix post move test 2016-12-05 16:30:30 +03:00
barisusakli
7d47f4b067 tag tests 2016-12-05 15:09:13 +03:00
Moritz Schmidt
e8e33a8a23 ZSET scores are float: parseInt => parseFloat
In Redis, scores of sorted sets can be floats – so we should use `parseFloat` instead of `parseInt` when converting from string to number.
Should not lead to #4939 again, as `new Date()` works regardless of whether it's being passed a float or integer.
2016-12-04 17:41:27 +01:00
Julian Lam
753d4b0275 wrapped up basic functionality of list and detail for flags, filter support. #5232 2016-12-02 15:28:28 -05:00
Julian Lam
9129597811 #5232 some tweaks to flag history saving 2016-12-02 12:51:39 -05:00
Julian Lam
169defd194 #5232, update flag history to save new value 2016-12-02 12:34:58 -05:00
Julian Lam
0724bee6c6 removed deprecated dismiss methods 2016-12-02 12:10:19 -05:00
Julian Lam
20fa8ebf76 simplified flags.get a tad 2016-12-02 11:24:12 -05:00
Julian Lam
dde3d2b135 Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-02 11:01:35 -05:00
Julian Lam
33ff5e09bb updated revoke session middleware to allow self or admin or global mod invocation, tweaked tests a bit 2016-12-02 10:50:47 -05:00
barisusakli
aad9a39f02 move post test 2016-12-02 18:22:30 +03:00
barisusakli
55416911f7 category tests 2016-12-02 18:08:15 +03:00
Julian Lam
23cdeeb344 linting :shipit: 2016-12-02 10:07:33 -05:00
Julian Lam
a1b49a98e7 locking down session deletion route to admins and global mods only 2016-12-02 09:49:52 -05:00
Julian Lam
839a0efc0a one more language string for #5232 2016-12-02 09:49:25 -05:00
barisusakli
69b766bbc8 more tests 2016-12-02 17:05:46 +03:00
barisusakli
1440139903 more tests 2016-12-02 16:10:07 +03:00
barisusakli
091f459f5e search socket test 2016-12-02 14:58:13 +03:00
barisusakli
4b6e4f085d more tests
group cover upload tests
registration approval queue tests
2016-12-02 14:05:59 +03:00
Julian Lam
68f8f57a34 upped composer version 2016-12-01 22:19:50 -05:00
Julian Lam
c36fe3389e Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-01 17:06:02 -05:00
Julian Lam
22eeabc5c7 new strings for empty notes or history, #5232 2016-12-01 16:36:30 -05:00
psychobunny
a54a9b512a v1.4.0 2016-12-01 16:29:45 -05:00
Julian Lam
f1d144f15e history appending, finished up notes, #5232 2016-12-01 16:22:10 -05:00
Peter Jaszkowiak
5223bb5191 Merge branch 'master' of github.com:nodebb/nodebb 2016-12-01 13:40:07 -07:00
Julian Lam
d9d60c20bd flag updating and note appending, #5232 2016-12-01 11:42:06 -05:00
Julian Lam
709a7ff7f0 fixed issue with getUsersData not actually returning the same number of elements as was passed-in 2016-12-01 11:04:37 -05:00
Julian Lam
888c120e08 removed some unneeded methods for #5232 2016-12-01 09:43:39 -05:00
Julian Lam
c5b9c1e2a4 Merge remote-tracking branch 'origin/master' into flagging-refactor 2016-12-01 09:26:26 -05:00
Julian Lam
e9ff605a20 some more tests for #5232 2016-12-01 09:24:49 -05:00
Julian Lam
c5c2d27180 flag assignees, state, notes WIP, #5232 2016-11-30 20:34:06 -05:00
Julian Lam
77809b2b52 added avatar-xl size 2016-11-30 20:26:45 -05:00
Julian Lam
fceb5cc86b more work on flags detail pages (#5232) 2016-11-29 22:10:51 -05:00
Julian Lam
0bf82c0e47 Merge branch 'master' into flagging-refactor 2016-11-29 21:20:24 -05:00
Peter Jaszkowiak
77e58f31c5 Fixes, passes tests 2016-11-28 18:16:13 -07:00
Peter Jaszkowiak
fd4d53e42c Remove unnecesary admin search indexing 2016-11-28 13:05:22 -07:00
Peter Jaszkowiak
240e958fb1 Use config.relative_path instead of allcaps 2016-11-28 13:01:31 -07:00
Peter Jaszkowiak
de6ced4e07 Tests for admin search, simplifications 2016-11-28 12:59:41 -07:00
Peter Jaszkowiak
e3dd68e19c Explanations and simplifications 2016-11-28 12:53:47 -07:00
Peter Jaszkowiak
a431dc0305 ACP search updated to support translations 2016-11-28 12:52:26 -07:00
Julian Lam
9f7c4befea omg tests (#5232), and .create returns flag data now 2016-11-25 15:22:04 -05:00
Julian Lam
98a104564b some light refactoring, details API (#5232) 2016-11-25 14:17:55 -05:00
Julian Lam
640df0379e flag list page (#5232) 2016-11-25 13:28:55 -05:00
Julian Lam
106502952a fixed crash in flags page for now 2016-11-25 13:28:55 -05:00
Julian Lam
1aa70c57eb WIP 2016-11-25 13:28:55 -05:00
3678 changed files with 124819 additions and 54697 deletions

View File

@@ -1,5 +1,4 @@
node_modules/
public/src/nodebb.min.js
*.sublime-project
*.sublime-workspace
.project
@@ -10,11 +9,12 @@ logs/
/public/uploads
/public/sounds
/public/vendor
/public/nodebb.min.js
/public/acp.min.js
/public/src/modules/string.js
.idea/
.vscode/
*.ipr
*.iws
/coverage
/build
.eslintrc
test/files

132
.eslintrc Normal file
View File

@@ -0,0 +1,132 @@
{
"extends": "airbnb-base",
"parserOptions": {
"sourceType": "script"
},
"rules": {
// Customized
"handle-callback-err": [ "error","^(e$|(e|(.*(_e|E)))rr)" ],
"comma-dangle": ["error", {
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "never"
}],
"no-empty": ["error", { "allowEmptyCatch": true }],
"no-underscore-dangle": "off",
"newline-per-chained-call": "off",
"no-console": "off",
"no-mixed-operators": ["error", { "allowSamePrecedence": true }],
"strict": ["error", "global"],
"consistent-return": "off",
"func-names": "off",
"no-tabs": "off",
"indent": ["error", "tab"],
"no-eq-null": "off",
"camelcase": "off",
"no-new": "off",
"no-shadow": "off",
"no-use-before-define": ["error", "nofunc"],
"no-prototype-builtins": "off",
"new-cap": "off",
"no-plusplus": ["error", { "allowForLoopAfterthoughts": true }],
"object-curly-newline": "off",
"no-restricted-globals": "off",
"function-paren-newline": "off",
"import/no-unresolved": "error",
// ES6
"prefer-rest-params": "off",
"prefer-spread": "off",
"prefer-arrow-callback": "off",
"prefer-template": "off",
"no-var": "off",
"object-shorthand": "off",
"vars-on-top": "off",
"prefer-destructuring": "off",
// TODO
"import/no-extraneous-dependencies": "off",
"import/no-dynamic-require": "off",
"import/newline-after-import": "off",
"no-bitwise": "off",
"global-require": "off",
"max-len": "off",
"no-param-reassign": "off",
"no-restricted-syntax": "off",
"no-script-url": "off",
"default-case": "off",
"linebreak-style": "off",
// "no-multi-assign": "off",
// "one-var": "off",
// "no-undef": "off",
// "max-nested-callbacks": "off",
// "no-mixed-requires": "off",
// "brace-style": "off",
// "max-statements-per-line": "off",
// "no-unused-vars": "off",
// "no-mixed-spaces-and-tabs": "off",
// "no-useless-concat": "off",
// "require-jsdoc": "off",
// "eqeqeq": "off",
// "no-negated-condition": "off",
// "one-var-declaration-per-line": "off",
// "no-lonely-if": "off",
// "radix": "off",
// "no-else-return": "off",
// "no-useless-escape": "off",
// "block-scoped-var": "off",
// "operator-assignment": "off",
// "yoda": "off",
// "no-loop-func": "off",
// "no-void": "off",
// "valid-jsdoc": "off",
// "no-cond-assign": "off",
// "no-redeclare": "off",
// "no-unreachable": "off",
// "no-nested-ternary": "off",
// "operator-linebreak": "off",
// "guard-for-in": "off",
// "no-unneeded-ternary": "off",
// "no-sequences": "off",
// "no-extend-native": "off",
// "no-shadow-restricted-names": "off",
// "no-extra-boolean-cast": "off",
// "no-path-concat": "off",
// "no-unused-expressions": "off",
// "no-return-assign": "off",
// "no-restricted-modules": "off",
// "object-curly-spacing": "off",
// "indent": "off",
// "padded-blocks": "off",
// "eol-last": "off",
// "lines-around-directive": "off",
// "strict": "off",
// "comma-dangle": "off",
// "no-multi-spaces": "off",
// "quotes": "off",
// "keyword-spacing": "off",
// "no-mixed-operators": "off",
// "comma-spacing": "off",
// "no-trailing-spaces": "off",
// "key-spacing": "off",
// "no-multiple-empty-lines": "off",
// "spaced-comment": "off",
// "space-in-parens": "off",
// "block-spacing": "off",
// "quote-props": "off",
// "space-unary-ops": "off",
// "no-empty": "off",
// "dot-notation": "off",
// "func-call-spacing": "off",
// "array-bracket-spacing": "off",
// "object-property-newline": "off",
// "no-continue": "off",
// "no-extra-semi": "off",
// "no-spaced-func": "off",
// "no-useless-return": "off"
}
}

View File

@@ -1,110 +0,0 @@
{
"extends": "airbnb",
"rules": {
"handle-callback-err": [ "error","^(e$|(e|(.*(_e|E)))rr)" ],
"linebreak-style": "off",
"import/no-unresolved": "off",
"import/no-extraneous-dependencies": "off",
"one-var": "off",
"no-undef": "off",
"max-len": "off",
"no-new": "off",
"max-nested-callbacks": "off",
"no-mixed-requires": "off",
"brace-style": "off",
"max-statements-per-line": "off",
"no-unused-vars": "off",
"no-mixed-spaces-and-tabs": "off",
"no-useless-concat": "off",
"require-jsdoc": "off",
"eqeqeq": "off",
"camelcase": "off",
"no-negated-condition": "off",
"one-var-declaration-per-line": "off",
"new-cap": "off",
"no-lonely-if": "off",
"radix": "off",
"no-else-return": "off",
"no-useless-escape": "off",
"block-scoped-var": "off",
"operator-assignment": "off",
"default-case": "off",
"yoda": "off",
"no-use-before-define": "off",
"no-loop-func": "off",
"no-void": "off",
"valid-jsdoc": "off",
"o-eq-null": "off",
"no-cond-assign": "off",
"no-eq-null": "off",
"no-redeclare": "off",
"no-unreachable": "off",
"no-nested-ternary": "off",
"operator-linebreak": "off",
"guard-for-in": "off",
"no-unneeded-ternary": "off",
"no-sequences": "off",
"no-extend-native": "off",
"no-shadow-restricted-names": "off",
"no-extra-boolean-cast": "off",
"no-script-url": "off",
"no-path-concat": "off",
"no-unused-expressions": "off",
"no-restricted-module": "off",
"no-return-assign": "off",
"no-restricted-modules": "off",
"no-tabs": "off",
"indent": "off",
"func-names": "off",
"prefer-arrow-callback": "off",
"object-curly-spacing": "off",
"no-var": "off",
"no-shadow": "off",
"prefer-template": "off",
"padded-blocks": "off",
"eol-last": "off",
"lines-around-directive": "off",
"no-restricted-syntax": "off",
"vars-on-top": "off",
"no-prototype-builtins": "off",
"object-shorthand": "off",
"no-param-reassign": "off",
"consistent-return": "off",
"strict": "off",
"comma-dangle": "off",
"no-multi-spaces": "off",
"quotes": "off",
"keyword-spacing": "off",
"no-plusplus": "off",
"no-mixed-operators": "off",
"comma-spacing": "off",
"global-require": "off",
"no-trailing-spaces": "off",
"key-spacing": "off",
"import/newline-after-import": "off",
"no-underscore-dangle": "off",
"prefer-spread": "off",
"no-multiple-empty-lines": "off",
"spaced-comment": "off",
"prefer-rest-params": "off",
"space-in-parens": "off",
"block-spacing": "off",
"quote-props": "off",
"no-console": "off",
"space-unary-ops": "off",
"import/no-dynamic-require": "off",
"no-bitwise": "off",
"no-empty": "off",
"array-bracket-spacin": "off",
"dot-notation": "off",
"func-call-spacing": "off",
"newline-per-chained-call": "off",
"newline-per-chained-call": "off",
"array-bracket-spacing": "off",
"object-property-newline": "off",
"no-continue": "off",
"no-extra-semi": "off",
"no-spaced-func": "off"
}
}

View File

@@ -1,6 +1,10 @@
# Submitting a Pull Request to NodeBB?
First of all, thank you! Please consider this [style guide](https://docs.nodebb.org/en/latest/contributing/style-guide.html) when submitting your changes. Also, please join our [community](https://community.nodebb.org) to meet other NodeBB developers and designers :)
First of all, thank you! Before submission, please run `npm test` to lint and run the automated NodeBB tests. If everything passes, you're good to go. If you have any errors, please fix them and re-run `npm test` to make sure there aren't any others.
## Styleguide and linting
NodeBB mostly conforms to the [AirBnB Javascript style guide](https://github.com/airbnb/javascript#readme). If you're running into a lot of ESlint errors, you may want to install an editor plugin to display them in real time.
## Contributor License Agreement
@@ -11,7 +15,7 @@ If you are writing contributions as part of employment from another company / in
# Having problems installing NodeBB?
Chances are somebody has run into this problem before. After consulting our [documentation](https://docs.nodebb.org/en/latest/installing/os.html), please head over to our [community support forum](https://community.nodebb.org) for advice.
Chances are somebody has run into this problem before. After consulting our [documentation](https://docs.nodebb.org/installing/os/), please head over to our [community support forum](https://community.nodebb.org) for advice.
# Found a Security Vulnerability?
@@ -34,11 +38,9 @@ There is a chance that the issue you are experiencing may have already been fixe
You can find the NodeBB version number in the Admin Control Panel (ACP), as well as the first line output to the shell when running NodeBB
``` plaintext
info: NodeBB v0.5.2-dev Copyright (C) 2013-2014 NodeBB Inc.
info: This program comes with ABSOLUTELY NO WARRANTY.
info: This is free software, and you are welcome to redistribute it under certain conditions.
info:
info: Time: Tue Oct 07 2014 20:25:20 GMT-0400 (EDT)
3/4 12:38:57 [10752] - info: NodeBB v1.4.5 Copyright (C) 2013-2017 NodeBB Inc.
3/4 12:38:57 [10752] - info: This program comes with ABSOLUTELY NO WARRANTY.
3/4 12:38:57 [10752] - info: This is free software, and you are welcome to redistribute it under certain conditions.
```
If you are running NodeBB via git, it is also helpful to let the maintainers know what commit hash you are on. To find the commit hash, execute the following command:
@@ -51,12 +53,13 @@ $ git rev-parse HEAD
If you have downloaded the `.zip` or `.tar.gz` packages from GitHub (or elsewhere), please let us know.
## Provide theme versions if issue is related to the theme/display
Use `npm ls` to list the versions of the theme you're using. In this example, we're running the Persona theme, which depends on the Vanilla theme.
``` bash
$ npm ls nodebb-theme-vanilla nodebb-theme-lavender
nodebb@0.7.0-dev /home/julian/Projects/nodebb/forum
├── nodebb-theme-lavender@0.2.13
└── nodebb-theme-vanilla@0.2.35
$ npm ls nodebb-theme-vanilla nodebb-theme-persona
nodebb@1.4.3 /path/to/nodebb
+-- nodebb-theme-persona@4.2.4
`-- nodebb-theme-vanilla@5.2.0
```
## Attempt to use `git bisect`

View File

@@ -1,13 +1,26 @@
Please include the following information when submitting a bug report/issue:
<!--
== Github Issues are for bug reports and feature requests only ==
== Please visit https://community.nodebb.org for other support ==
== Found a security exploit? Please email us at security@nodebb.org instead for immediate attention ==
== → DO NOT SUBMIT VULNERABILITIES TO THE PUBLIC BUG TRACKER ==
-->
* NodeBB version and git hash (to find your git hash, execute `git rev-parse HEAD` from the main NodeBB directory)
* Database (mongo or redis) and it's version.
* Exact steps to cause this issue
1. First I did this...
2. Then, I clicked on this item...
* What you expected
* e.g. I expected *abc* to *xyz*
* What happened instead
* e.g. Instead, I got *zyx* and NodeBB set fire to my house
<!-- ++ Please include the following information when submitting a bug report ++ -->
Thank you!
- **NodeBB version:**
- **NodeBB git hash:**
<!-- (to find your git hash, execute `git rev-parse HEAD` from the main NodeBB directory) -->
- **Database type:** mongo or redis
- **Database version:**
<!-- `mongod --version` or `redis-server --version` -->
- **Exact steps to cause this issue:**
<!--
1. First I did this...
2. Then, I clicked on this item...
-->
- **What you expected:**
<!-- e.g. I expected *abc* to *xyz* -->
- **What happened instead:**
<!-- e.g. Instead, I got *zyx* and NodeBB set fire to my house -->
<!-- Thank you! -->

15
.gitignore vendored
View File

@@ -1,3 +1,4 @@
yarn.lock
npm-debug.log
node_modules/
sftp-config.json
@@ -17,6 +18,7 @@ provision.sh
.DS_Store
feeds/recent.rss
.eslintcache
.svn
logs/
@@ -25,8 +27,9 @@ pidfile
# templates
/public/templates
/public/uploads
/public/sounds
/public/uploads
/test/uploads
# compiled files
/public/stylesheet.css
@@ -35,6 +38,9 @@ pidfile
/public/nodebb.min.js.map
/public/acp.min.js
/public/acp.min.js.map
/public/installer.css
/public/installer.min.js
/public/logo.png
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
*.iml
@@ -53,3 +59,10 @@ tx.exe
##Coverage output
coverage
.nyc_output
*.log
test/files/normalise.jpg.png
test/files/normalise-resized.jpg
package-lock.json
/package.json

View File

@@ -83,5 +83,7 @@
"white" : false, // true: Check against strict whitespace and indentation rules
// Custom Globals
"globals" : {} // additional predefined global variables
"globals" : {
"Promise": true
} // additional predefined global variables
}

View File

@@ -1,29 +1,37 @@
services:
- redis-server
- mongodb
- redis-server
before_install:
- "sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10"
- "echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list"
- "sudo apt-get update"
- "sudo apt-get install mongodb-org-server"
- cp install/package.json package.json
cache:
directories:
- node_modules
before_script:
- sh -c "if [ '$DB' = 'mongodb' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"mongo\\\",\\\"mongo:host\\\":\\\"127.0.0.1\\\",\\\"mongo:port\\\":27017,\\\"mongo:username\\\":\\\"\\\",\\\"mongo:password\\\":\\\"\\\",\\\"mongo:database\\\":0,\\\"redis:host\\\":\\\"127.0.0.1\\\",\\\"redis:port\\\":6379,\\\"redis:password\\\":\\\"\\\",\\\"redis:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"abcdef\\\",\\\"admin:password:confirm\\\":\\\"abcdef\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":27017,\\\"database\\\":0}\"; fi"
- sh -c "if [ '$DB' = 'redis' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"redis\\\",\\\"mongo:host\\\":\\\"127.0.0.1\\\",\\\"mongo:port\\\":27017,\\\"mongo:username\\\":\\\"\\\",\\\"mongo:password\\\":\\\"\\\",\\\"mongo:database\\\":0,\\\"redis:host\\\":\\\"127.0.0.1\\\",\\\"redis:port\\\":6379,\\\"redis:password\\\":\\\"\\\",\\\"redis:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"abcdef\\\",\\\"admin:password:confirm\\\":\\\"abcdef\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":6379,\\\"database\\\":0}\"; fi"
- "until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done"
- sleep 15 # wait for mongodb to be ready
- sh -c "if [ '$DB' = 'mongodb' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"mongo\\\",\\\"mongo:host\\\":\\\"127.0.0.1\\\",\\\"mongo:port\\\":27017,\\\"mongo:username\\\":\\\"\\\",\\\"mongo:password\\\":\\\"\\\",\\\"mongo:database\\\":0,\\\"redis:host\\\":\\\"127.0.0.1\\\",\\\"redis:port\\\":6379,\\\"redis:password\\\":\\\"\\\",\\\"redis:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"abcdef\\\",\\\"admin:password:confirm\\\":\\\"abcdef\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":27017,\\\"database\\\":0}\"; fi"
- sh -c "if [ '$DB' = 'redis' ]; then node app --setup=\"{\\\"url\\\":\\\"http://127.0.0.1:4567\\\",\\\"secret\\\":\\\"abcdef\\\",\\\"database\\\":\\\"redis\\\",\\\"mongo:host\\\":\\\"127.0.0.1\\\",\\\"mongo:port\\\":27017,\\\"mongo:username\\\":\\\"\\\",\\\"mongo:password\\\":\\\"\\\",\\\"mongo:database\\\":0,\\\"redis:host\\\":\\\"127.0.0.1\\\",\\\"redis:port\\\":6379,\\\"redis:password\\\":\\\"\\\",\\\"redis:database\\\":0,\\\"admin:username\\\":\\\"admin\\\",\\\"admin:email\\\":\\\"test@example.org\\\",\\\"admin:password\\\":\\\"abcdef\\\",\\\"admin:password:confirm\\\":\\\"abcdef\\\"}\" --ci=\"{\\\"host\\\":\\\"127.0.0.1\\\",\\\"port\\\":6379,\\\"database\\\":0}\"; fi"
after_success:
- "npm run coveralls"
- "npm run coveralls"
language: node_js
sudo: false
dist: trusty
env:
- CXX=g++-4.8 DB=mongodb
- CXX=g++-4.8 DB=redis
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- ubuntu-toolchain-r-test
- mongodb-3.4-trusty
packages:
- g++-4.8
- g++-4.8
- mongodb-org-server
node_js:
- "6"
- "4"
- "9"
- "8"
- "7"
- "6"
branches:
only:
- master
only:
- master
- develop

2445
.tx/config

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,20 @@
# 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
# The base image is the latest 8.x node (LTS)
FROM node:8.9.0
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ARG NODE_ENV
ENV NODE_ENV $NODE_ENV
COPY install/package.json /usr/src/app/package.json
RUN npm install && npm cache clean --force
COPY . /usr/src/app
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
CMD ./nodebb start
# the default port for NodeBB is exposed outside the container
EXPOSE 4567
EXPOSE 4567

View File

@@ -1,24 +1,28 @@
"use strict";
'use strict';
var fork = require('child_process').fork,
env = process.env,
worker, updateWorker,
incomplete = [],
running = 0;
var fork = require('child_process').fork;
var env = process.env;
var worker;
var updateWorker;
var initWorker;
var incomplete = [];
var running = 0;
env.NODE_ENV = env.NODE_ENV || 'development';
module.exports = function (grunt) {
var args = [];
var initArgs = ['--build'];
if (!grunt.option('verbose')) {
args.push('--log-level=info');
initArgs.push('--log-level=info');
}
function update(action, filepath, target) {
var updateArgs = args.slice(),
fromFile = '',
compiling = '',
time = Date.now();
var updateArgs = args.slice();
var compiling;
var time = Date.now();
if (target === 'lessUpdated_Client') {
compiling = 'clientCSS';
} else if (target === 'lessUpdated_Admin') {
@@ -27,11 +31,13 @@ module.exports = function (grunt) {
compiling = 'js';
} else if (target === 'templatesUpdated') {
compiling = 'tpl';
} else if (target === 'langUpdated') {
compiling = 'lang';
} else if (target === 'serverUpdated') {
// Do nothing, just restart
}
if (incomplete.indexOf(compiling) === -1) {
if (compiling && incomplete.indexOf(compiling) === -1) {
incomplete.push(compiling);
}
@@ -43,11 +49,13 @@ module.exports = function (grunt) {
updateWorker.kill('SIGKILL');
}
updateWorker = fork('app.js', updateArgs, { env: env });
++running;
running += 1;
updateWorker.on('exit', function () {
--running;
running -= 1;
if (running === 0) {
worker = fork('app.js', args, { env: env });
worker = fork('app.js', args, {
env: env,
});
worker.on('message', function () {
if (incomplete.length) {
incomplete = [];
@@ -65,49 +73,94 @@ module.exports = function (grunt) {
watch: {
lessUpdated_Client: {
files: [
'public/*.less',
'node_modules/nodebb-*/*.less', 'node_modules/nodebb-*/**/*.less',
'public/less/*.less',
'!public/less/admin/**/*.less',
'node_modules/nodebb-*/**/*.less',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**'
]
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
lessUpdated_Admin: {
files: ['public/**/*.less']
files: [
'public/less/admin/**/*.less',
'node_modules/nodebb-*/**/*.less',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
clientUpdated: {
files: [
'public/src/**/*.js',
'node_modules/nodebb-*/*.js', 'node_modules/nodebb-*/**/*.js',
'node_modules/nodebb-*/**/*.js',
'!node_modules/nodebb-*/node_modules/**',
'node_modules/templates.js/lib/templates.js',
'!node_modules/nodebb-*/.git/**'
]
'node_modules/benchpressjs/build/benchpress.js',
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
serverUpdated: {
files: ['*.js', 'install/*.js', 'src/**/*.js']
files: ['*.js', 'install/*.js', 'src/**/*.js'],
options: {
interval: 1000,
},
},
templatesUpdated: {
files: [
'src/views/**/*.tpl',
'node_modules/nodebb-*/*.tpl', 'node_modules/nodebb-*/**/*.tpl',
'node_modules/nodebb-*/**/*.tpl',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**'
]
}
}
'!node_modules/nodebb-*/.git/**',
],
options: {
interval: 1000,
},
},
langUpdated: {
files: [
'public/language/en-GB/*.json',
'public/language/en-GB/**/*.json',
'node_modules/nodebb-*/**/*.json',
'!node_modules/nodebb-*/node_modules/**',
'!node_modules/nodebb-*/.git/**',
'!node_modules/nodebb-*/plugin.json',
'!node_modules/nodebb-*/package.json',
'!node_modules/nodebb-*/theme.json',
],
options: {
interval: 1000,
},
},
},
});
grunt.loadNpmTasks('grunt-contrib-watch');
if (grunt.option('skip')) {
grunt.registerTask('default', ['watch:serverUpdated']);
} else {
grunt.registerTask('default', ['watch']);
}
grunt.registerTask('default', ['watch']);
env.NODE_ENV = 'development';
worker = fork('app.js', args, { env: env });
if (grunt.option('skip')) {
worker = fork('app.js', args, {
env: env,
});
} else {
initWorker = fork('app.js', initArgs, {
env: env,
});
initWorker.on('exit', function () {
worker = fork('app.js', args, {
env: env,
});
});
}
grunt.event.on('watch', update);
};
};

View File

@@ -3,7 +3,7 @@
[![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)
[![Coverage Status](https://coveralls.io/repos/github/NodeBB/NodeBB/badge.svg?branch=master)](https://coveralls.io/github/NodeBB/NodeBB?branch=master)
[![Dependency Status](https://david-dm.org/nodebb/nodebb.svg)](https://david-dm.org/nodebb/nodebb)
[![Dependency Status](https://david-dm.org/nodebb/nodebb.svg?path=install)](https://david-dm.org/nodebb/nodebb?path=install)
[![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)
@@ -50,13 +50,13 @@ Our minimalist "Persona" theme gets you going right away, no coding experience r
NodeBB requires the following software to be installed:
* A version of Node.js at least 4 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* A version of Node.js at least 6 or greater ([installation/upgrade instructions](https://github.com/nodesource/distributions))
* 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)
[Please refer to platform-specific installation documentation](https://docs.nodebb.org/installing/os)
## Securing NodeBB
@@ -71,7 +71,7 @@ It is important to ensure that your NodeBB and database servers are secured. Bea
## Upgrading NodeBB
Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.nodebb.org/en/latest/upgrading/index.html)
Detailed upgrade instructions are listed in [Upgrading NodeBB](https://docs.nodebb.org/configuring/upgrade/)
## License

373
app.js
View File

@@ -1,7 +1,7 @@
/*
NodeBB - A better forum platform for the modern web
https://github.com/NodeBB/NodeBB/
Copyright (C) 2013-2016 NodeBB Inc.
Copyright (C) 2013-2017 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
@@ -17,45 +17,36 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
"use strict";
/*global require, global, process*/
'use strict';
if (require.main !== module) {
require.main.require = function (path) {
return require(path);
};
}
var nconf = require('nconf');
nconf.argv().env('__');
nconf.argv().env({
separator: '__',
});
var url = require('url');
var async = require('async');
var winston = require('winston');
var path = require('path');
var pkg = require('./package.json');
var file = require('./src/file');
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 (!!nconf.get('json-logging')) ? date.toJSON() : date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']';
},
level: nconf.get('log-level') || (global.env === 'production' ? 'info' : 'verbose'),
json: (!!nconf.get('json-logging')),
stringify: (!!nconf.get('json-logging'))
});
// Alternate configuration file support
var configFile = path.join(__dirname, '/config.json');
if (nconf.get('config')) {
configFile = path.resolve(__dirname, nconf.get('config'));
}
var configFile = path.resolve(__dirname, nconf.any(['config', 'CONFIG']) || 'config.json');
var configExists = file.existsSync(configFile) || (nconf.get('url') && nconf.get('secret') && nconf.get('database'));
loadConfig();
versionCheck();
var prestart = require('./src/prestart');
prestart.loadConfig(configFile);
prestart.versionCheck();
prestart.setupWinston();
if (!process.send) {
// If run using `node app`, log GNU copyright info along with server info
@@ -65,318 +56,40 @@ if (!process.send) {
winston.info('');
}
if (nconf.get('setup') || nconf.get('install')) {
setup();
require('./src/cli/setup').setup();
} else if (!configExists) {
require('./install/web').install(nconf.get('port'));
} else if (nconf.get('upgrade')) {
upgrade();
require('./src/cli/upgrade').upgrade(true);
} else if (nconf.get('reset')) {
require('./src/reset').reset();
var options = {
theme: nconf.get('t'),
plugin: nconf.get('p'),
widgets: nconf.get('w'),
settings: nconf.get('s'),
all: nconf.get('a'),
};
async.series([
async.apply(require('./src/cli/reset').reset, options),
require('./src/meta/build').buildAll,
], function (err) {
if (err) {
throw err;
}
process.exit(0);
});
} else if (nconf.get('activate')) {
activate();
require('./src/cli/manage').activate(nconf.get('activate'));
} else if (nconf.get('plugins')) {
listPlugins();
require('./src/cli/manage').listPlugins();
} else if (nconf.get('build')) {
require('./build').build(nconf.get('build'));
require('./src/meta/build').build(nconf.get('build'));
} else if (nconf.get('events')) {
require('./src/cli/manage').listEvents();
} else {
start();
require('./src/start').start();
}
function loadConfig(callback) {
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'));
if (nconf.get('url')) {
nconf.set('url_parsed', url.parse(nconf.get('url')));
}
if (typeof callback === 'function') {
callback();
}
}
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');
}
if (!nconf.get('sessionKey')) {
nconf.set('sessionKey', 'express.sid');
}
// 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') || (nconf.get('PORT_ENV_VAR') ? nconf.get(nconf.get('PORT_ENV_VAR')) : false) || 4567);
nconf.set('upload_url', nconf.get('upload_path').replace(/^\/public/, ''));
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');
switch (message.action) {
case 'reload':
meta.reload();
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) {
if (nconf.get('dep-check') === undefined || nconf.get('dep-check') !== false) {
require('./src/meta').dependencies.check(next);
} else {
winston.warn('[init] Dependency checking skipped!');
setImmediate(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(next);
}
], 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;
case 'dependencies-missing':
winston.warn('One or more of NodeBB\'s dependent packages are missing. Please run the following command to update them:');
winston.warn(' ./nodebb upgrade');
break;
default:
winston.error(err);
break;
}
// Either way, bad stuff happened. Abort start.
process.exit();
}
if (process.send) {
process.send({
action: 'listening'
});
}
});
}
function setup() {
winston.info('NodeBB Setup Triggered via Command Line');
var install = require('./src/install');
var build = require('./build');
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');
async.series([
async.apply(install.setup),
async.apply(loadConfig),
async.apply(build.build, true)
], function (err, data) {
// Disregard build step data
data = data[0];
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() {
var db = require('./src/database');
var meta = require('./src/meta');
var upgrade = require('./src/upgrade');
var build = require('./build');
async.series([
async.apply(db.init),
async.apply(meta.configs.init),
async.apply(upgrade.upgrade),
async.apply(build.build, true)
], function (err) {
if (err) {
winston.error(err.stack);
process.exit(1);
} else {
process.exit(0);
}
});
}
function activate() {
var db = require('./src/database');
db.init(function (err) {
if (err) {
winston.error(err.stack);
process.exit(1);
}
var plugin = nconf.get('activate');
if (plugin.indexOf('nodebb-') !== 0) {
// Allow omission of `nodebb-plugin-`
plugin = 'nodebb-plugin-' + plugin;
}
winston.info('Activating plugin `%s`', plugin);
db.sortedSetAdd('plugins:active', 0, plugin, function (err) {
process.exit(err ? 1 : 0);
});
});
}
function listPlugins() {
require('./src/database').init(function (err) {
if (err) {
winston.error(err.stack);
process.exit(1);
}
var db = require('./src/database');
db.getSortedSetRange('plugins:active', 0, -1, function (err, plugins) {
if (err) {
winston.error(err.stack);
process.exit(1);
}
winston.info('Active plugins: \n\t - ' + plugins.join('\n\t - '));
process.exit();
});
});
}
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);
}
}
function versionCheck() {
var version = process.version.slice(1);
var range = pkg.engines.node;
var semver = require('semver');
var compatible = semver.satisfies(version, range);
if (!compatible) {
winston.warn('Your version of Node.js is too outdated for NodeBB. Please update your version of Node.js.');
winston.warn('Recommended ' + range.green + ', '.reset + version.yellow + ' provided\n'.reset);
}
}

109
build.js
View File

@@ -1,109 +0,0 @@
'use strict';
var async = require('async');
var winston = require('winston');
var buildStart;
exports.build = function build(targets, callback) {
buildStart = Date.now();
var db = require('./src/database');
var meta = require('./src/meta');
var plugins = require('./src/plugins');
var valid = ['js', 'clientCSS', 'acpCSS', 'tpl'];
targets = (targets === true ? valid : targets.split(',').filter(function (target) {
return valid.indexOf(target) !== -1;
}));
if (!targets) {
winston.error('[build] No valid build targets found. Aborting.');
return process.exit(0);
}
async.series([
async.apply(db.init),
async.apply(meta.themes.setupPaths),
async.apply(plugins.prepareForBuild)
], function (err) {
if (err) {
winston.error('[build] Encountered error preparing for build: ' + err.message);
return process.exit(1);
}
exports.buildTargets(targets, callback);
});
};
exports.buildTargets = function (targets, callback) {
var meta = require('./src/meta');
buildStart = buildStart || Date.now();
var step = function (startTime, target, next) {
winston.info('[build] ' + target + ' => Completed in ' + ((Date.now() - startTime) / 1000) + 's');
next();
};
async.parallel([
function (next) {
if (targets.indexOf('js') !== -1) {
winston.info('[build] Building javascript');
var startTime = Date.now();
async.series([
async.apply(meta.js.minify, 'nodebb.min.js'),
async.apply(meta.js.minify, 'acp.min.js')
], step.bind(this, startTime, 'js', next));
} else {
setImmediate(next);
}
},
function (next) {
async.eachSeries(targets, function (target, next) {
var startTime;
switch(target) {
case 'js':
setImmediate(next);
break;
case 'clientCSS':
winston.info('[build] Building client-side CSS');
startTime = Date.now();
meta.css.minify('stylesheet.css', step.bind(this, startTime, target, next));
break;
case 'acpCSS':
winston.info('[build] Building admin control panel CSS');
startTime = Date.now();
meta.css.minify('admin.css', step.bind(this, startTime, target, next));
break;
case 'tpl':
winston.info('[build] Building templates');
startTime = Date.now();
meta.templates.compile(step.bind(this, startTime, target, next));
break;
default:
winston.warn('[build] Unknown build target: \'' + target + '\'');
setImmediate(next);
break;
}
}, next);
}
], function (err) {
if (err) {
winston.error('[build] Encountered error during build step: ' + err.message);
return process.exit(1);
}
var time = (Date.now() - buildStart) / 1000;
winston.info('[build] Asset compilation successful. Completed in ' + time + 's.');
if (typeof callback === 'function') {
callback();
} else {
process.exit(0);
}
});
};

4
build/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
*
*/
!export
!.gitignore

3
build/export/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.
!.gitignore
!README

5
build/export/README Normal file
View File

@@ -0,0 +1,5 @@
This directory contains archives of user uploads that are prepared on-demand
when a user wants to retrieve a copy of their uploaded content.
You can delete the files in here at will. They will just be regenerated if
requested again.

View File

@@ -17,6 +17,7 @@
"allowLocalLogin": 1,
"allowAccountDelete": 1,
"allowFileUploads": 0,
"allowedFileExtensions": "png,jpg,bmp",
"allowUserHomePage": 1,
"maximumFileSize": 2048,
"minimumTitleLength": 3,
@@ -26,14 +27,28 @@
"minimumPasswordLength": 6,
"maximumSignatureLength": 255,
"maximumAboutMeLength": 1000,
"maximumChatMessageLength": 1000,
"maximumProfileImageSize": 256,
"maximumCoverImageSize": 2048,
"profileImageDimension": 128,
"profileImageDimension": 200,
"requireEmailConfirmation": 0,
"allowProfileImageUploads": 1,
"teaserPost": "last-reply",
"allowPrivateGroups": 1,
"unreadCutoff": 2,
"bookmarkThreshold": 5,
"topicsPerList": 20
"topicsPerList": 20,
"autoDetectLang": 1,
"min:rep:flag": 0,
"notificationType_upvote": "notification",
"notificationType_new-topic": "notification",
"notificationType_new-reply": "notification",
"notificationType_follow": "notification",
"notificationType_new-chat": "notification",
"notificationType_group-invite": "notification",
"notificationType_mention": "notification",
"notificationType_new-register": "notification",
"notificationType_post-queue": "notification",
"notificationType_new-post-flag": "notification",
"notificationType_new-user-flag": "notification"
}

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 © 2016 <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>\r\n\t\tPowered by <a target=\"_blank\" href=\"https://nodebb.org\">NodeBB</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,85 +1,74 @@
[
{
"route": "/categories",
"title": "\\[\\[global:header.categories\\]\\]",
"title": "[[global:header.categories]]",
"enabled": true,
"iconClass": "fa-list",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.categories\\]\\]"
"text": "[[global:header.categories]]"
},
{
"id": "unread-count",
"route": "/unread",
"title": "\\[\\[global:header.unread\\]\\]",
"title": "[[global:header.unread]]",
"enabled": true,
"iconClass": "fa-inbox",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.unread\\]\\]",
"text": "[[global:header.unread]]",
"properties": {
"loggedIn": true
}
},
{
"route": "/recent",
"title": "\\[\\[global:header.recent\\]\\]",
"title": "[[global:header.recent]]",
"enabled": true,
"iconClass": "fa-clock-o",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.recent\\]\\]"
"text": "[[global:header.recent]]"
},
{
"route": "/tags",
"title": "\\[\\[global:header.tags\\]\\]",
"title": "[[global:header.tags]]",
"enabled": true,
"iconClass": "fa-tags",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.tags\\]\\]"
"text": "[[global:header.tags]]"
},
{
"route": "/popular",
"title": "\\[\\[global:header.popular\\]\\]",
"title": "[[global:header.popular]]",
"enabled": true,
"iconClass": "fa-fire",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.popular\\]\\]"
"text": "[[global:header.popular]]"
},
{
"route": "/users",
"title": "\\[\\[global:header.users\\]\\]",
"title": "[[global:header.users]]",
"enabled": true,
"iconClass": "fa-user",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.users\\]\\]"
"text": "[[global:header.users]]"
},
{
"route": "/groups",
"title": "\\[\\[global:header.groups\\]\\]",
"title": "[[global:header.groups]]",
"enabled": true,
"iconClass": "fa-group",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.groups\\]\\]"
"text": "[[global:header.groups]]"
},
{
"route": "/admin",
"title": "\\[\\[global:header.admin\\]\\]",
"title": "[[global:header.admin]]",
"enabled": true,
"iconClass": "fa-cogs",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.admin\\]\\]",
"text": "[[global:header.admin]]",
"properties": {
"targetBlank": false,
"adminOnly": true
}
},
{
"route": "/search",
"title": "\\[\\[global:header.search\\]\\]",
"enabled": true,
"iconClass": "fa-search",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.search\\]\\]",
"properties": {
"searchInstalled": true
}
}
]

View File

@@ -1,4 +1,4 @@
"use strict";
'use strict';
var async = require('async');
var prompt = require('prompt');
@@ -6,19 +6,18 @@ var winston = require('winston');
var questions = {
redis: require('../src/database/redis').questions,
mongo: require('../src/database/mongo').questions
mongo: require('../src/database/mongo').questions,
};
module.exports = function (config, callback) {
async.waterfall([
function (next) {
process.stdout.write('\n');
winston.info('Now configuring ' + config.database + ' database:');
winston.info('\nNow configuring ' + config.database + ' database:');
getDatabaseConfig(config, next);
},
function (databaseConfig, next) {
saveDatabaseConfig(config, databaseConfig, next);
}
},
], callback);
};
@@ -34,7 +33,7 @@ function getDatabaseConfig(config, callback) {
prompt.get(questions.redis, callback);
}
} else if (config.database === 'mongo') {
if (config['mongo:host'] && config['mongo:port']) {
if ((config['mongo:host'] && config['mongo:port']) || config['mongo:uri']) {
callback(null, config);
} else {
prompt.get(questions.mongo, callback);
@@ -55,7 +54,7 @@ function saveDatabaseConfig(config, databaseConfig, callback) {
host: databaseConfig['redis:host'],
port: databaseConfig['redis:port'],
password: databaseConfig['redis:password'],
database: databaseConfig['redis:database']
database: databaseConfig['redis:database'],
};
if (config.redis.host.slice(0, 1) === '/') {
@@ -67,16 +66,17 @@ function saveDatabaseConfig(config, databaseConfig, callback) {
port: databaseConfig['mongo:port'],
username: databaseConfig['mongo:username'],
password: databaseConfig['mongo:password'],
database: databaseConfig['mongo:database']
database: databaseConfig['mongo:database'],
uri: databaseConfig['mongo:uri'],
};
} else {
return callback(new Error('unknown database : ' + config.database));
}
var allQuestions = questions.redis.concat(questions.mongo);
for (var x = 0; x < allQuestions.length; x++) {
for (var x = 0; x < allQuestions.length; x += 1) {
delete config[allQuestions[x].name];
}
callback(null, config);
}
}

148
install/package.json Normal file
View File

@@ -0,0 +1,148 @@
{
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.9.3",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
"url": "https://github.com/NodeBB/NodeBB/"
},
"main": "app.js",
"scripts": {
"start": "node loader.js",
"lint": "eslint --cache ./nodebb .",
"pretest": "npm run lint",
"test": "nyc --reporter=html --reporter=text-summary mocha",
"coveralls": "nyc report --reporter=text-lcov | coveralls && rm -r coverage"
},
"dependencies": {
"ace-builds": "^1.2.9",
"archiver": "^2.1.1",
"async": "2.6.0",
"autoprefixer": "7.2.4",
"bcryptjs": "2.4.3",
"benchpressjs": "^1.2.1",
"body-parser": "^1.18.2",
"bootstrap": "^3.3.7",
"chart.js": "^2.7.1",
"cli-graph": "^3.2.2",
"clipboard": "^2.0.1",
"colors": "^1.1.2",
"compression": "^1.7.1",
"commander": "^2.12.2",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"connect-mongo": "2.0.1",
"connect-multiparty": "^2.1.0",
"connect-redis": "3.3.3",
"cookie-parser": "^1.4.3",
"cron": "^1.3.0",
"cropperjs": "^1.2.2",
"csurf": "^1.9.0",
"daemon": "^1.1.0",
"diff": "^3.4.0",
"express": "^4.16.2",
"express-session": "^1.15.6",
"express-useragent": "^1.0.12",
"graceful-fs": "^4.1.11",
"helmet": "^3.11.0",
"html-to-text": "^4.0.0",
"ipaddr.js": "^1.5.4",
"jimp": "0.2.28",
"jquery": "^3.2.1",
"jsesc": "2.5.1",
"json-2-csv": "^2.1.2",
"less": "^2.7.3",
"lodash": "^4.17.10",
"logrotate-stream": "^0.2.5",
"lru-cache": "4.1.3",
"material-design-lite": "^1.3.0",
"mime": "^2.2.0",
"mkdirp": "^0.5.1",
"mongodb": "3.0.8",
"morgan": "^1.9.0",
"mousetrap": "^1.6.1",
"mubsub-nbb": "^1.5.0",
"nconf": "^0.10.0",
"nodebb-plugin-composer-default": "6.0.23",
"nodebb-plugin-dbsearch": "2.0.16",
"nodebb-plugin-emoji": "^2.2.2",
"nodebb-plugin-emoji-android": "2.0.0",
"nodebb-plugin-markdown": "8.4.3",
"nodebb-plugin-mentions": "2.2.6",
"nodebb-plugin-soundpack-default": "1.0.0",
"nodebb-plugin-spam-be-gone": "0.5.3",
"nodebb-rewards-essentials": "0.0.11",
"nodebb-theme-lavender": "5.0.4",
"nodebb-theme-persona": "9.0.5",
"nodebb-theme-slick": "1.2.1",
"nodebb-theme-vanilla": "10.0.5",
"nodebb-widget-essentials": "4.0.4",
"nodemailer": "4.6.4",
"passport": "^0.4.0",
"passport-local": "1.0.0",
"postcss": "6.0.22",
"postcss-clean": "1.1.0",
"promise-polyfill": "^7.0.0",
"prompt": "^1.0.0",
"redis": "2.8.0",
"request": "2.85.0",
"rimraf": "2.6.2",
"rss": "^1.2.2",
"sanitize-html": "^1.16.3",
"semver": "^5.4.1",
"serve-favicon": "^2.4.5",
"sitemap": "^1.13.0",
"socket.io": "2.1.0",
"socket.io-adapter-mongo": "^2.0.1",
"socket.io-client": "2.1.0",
"socket.io-redis": "5.2.0",
"socketio-wildcard": "2.0.0",
"spdx-license-list": "^4.0.0",
"spider-detector": "1.0.18",
"toobusy-js": "^0.5.1",
"uglify-es": "^3.3.9",
"validator": "10.2.0",
"winston": "^2.4.0",
"xml": "^1.0.1",
"xregexp": "^4.1.1",
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"coveralls": "^3.0.0",
"eslint": "^4.14.0",
"eslint-config-airbnb-base": "^12.1.0",
"eslint-plugin-import": "^2.8.0",
"grunt": "^1.0.1",
"grunt-contrib-watch": "^1.0.0",
"jsdom": "^11.5.1",
"mocha": "^4.1.0",
"mocha-lcov-reporter": "^1.3.0",
"nyc": "^11.4.1",
"smtp-server": "^3.4.1"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=6"
},
"maintainers": [
{
"name": "Andrew Rodrigues",
"email": "andrew@nodebb.org",
"url": "https://github.com/psychobunny"
},
{
"name": "Julian Lam",
"email": "julian@nodebb.org",
"url": "https://github.com/julianlam"
},
{
"name": "Barış Soner Uşaklı",
"email": "baris@nodebb.org",
"url": "https://github.com/barisusakli"
}
]
}

View File

@@ -1,14 +1,17 @@
"use strict";
'use strict';
var winston = require('winston');
var express = require('express');
var bodyParser = require('body-parser');
var fs = require('fs');
var path = require('path');
var childProcess = require('child_process');
var less = require('less');
var async = require('async');
var uglify = require('uglify-js');
var uglify = require('uglify-es');
var nconf = require('nconf');
var Benchpress = require('benchpressjs');
var app = express();
var server;
@@ -17,32 +20,50 @@ winston.add(winston.transports.File, {
colorize: true,
timestamp: function () {
var date = new Date();
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0,5) + ' [' + global.process.pid + ']';
return date.getDate() + '/' + (date.getMonth() + 1) + ' ' + date.toTimeString().substr(0, 5) + ' [' + global.process.pid + ']';
},
level: 'verbose'
level: 'verbose',
});
var web = {};
var web = module.exports;
var scripts = [
'node_modules/jquery/dist/jquery.js',
'public/vendor/xregexp/xregexp.js',
'public/vendor/xregexp/unicode/unicode-base.js',
'public/src/utils.js',
'public/src/installer/install.js'
'public/src/installer/install.js',
];
var installing = false;
var success = false;
var error = false;
web.install = function (port) {
port = port || 4567;
winston.info('Launching web installer on port', port);
app.use(express.static('public', {}));
app.engine('tpl', require('templates.js').__express);
app.engine('tpl', function (filepath, options, callback) {
async.waterfall([
function (next) {
fs.readFile(filepath, 'utf-8', next);
},
function (buffer, next) {
Benchpress.compileParse(buffer.toString(), options, next);
},
], callback);
});
app.set('view engine', 'tpl');
app.set('views', path.join(__dirname, '../src/views'));
app.use(bodyParser.urlencoded({
extended: true
extended: true,
}));
async.parallel([compileLess, compileJS], function () {
async.parallel([compileLess, compileJS, copyCSS, loadDefaults], function (err) {
if (err) {
winston.error(err);
}
setupRoutes();
launchExpress(port);
});
@@ -59,46 +80,79 @@ function setupRoutes() {
app.get('/', welcome);
app.post('/', install);
app.post('/launch', launch);
app.get('/ping', ping);
app.get('/sping', ping);
}
function ping(req, res) {
res.status(200).send(req.path === '/sping' ? 'healthy' : '200');
}
function welcome(req, res) {
var dbs = ['redis', 'mongo'];
var databases = dbs.map(function (el) {
var databases = dbs.map(function (databaseName) {
var questions = require('../src/database/' + databaseName).questions.filter(function (question) {
return question && !question.hideOnWebInstall;
});
return {
name: el,
questions: require('../src/database/' + el).questions
name: databaseName,
questions: questions,
};
});
var defaults = require('./data/defaults');
res.render('install/index', {
url: nconf.get('url') || (req.protocol + '://' + req.get('host')),
skipGeneralSetup: !!nconf.get('url'),
databases: databases,
skipDatabaseSetup: !!nconf.get('database'),
error: res.locals.error ? true : false,
success: res.locals.success ? true : false,
error: error,
success: success,
values: req.body,
minimumPasswordLength: defaults.minimumPasswordLength
minimumPasswordLength: defaults.minimumPasswordLength,
installing: installing,
});
}
function install(req, res) {
if (installing) {
return welcome(req, res);
}
req.setTimeout(0);
installing = true;
var setupEnvVars = nconf.get();
for (var i in req.body) {
if (req.body.hasOwnProperty(i) && !process.env.hasOwnProperty(i)) {
process.env[i.replace(':', '__')] = req.body[i];
setupEnvVars[i.replace(':', '__')] = req.body[i];
}
}
// Flatten any objects in setupEnvVars
const pushToRoot = function (parentKey, key) {
setupEnvVars[parentKey + '__' + key] = setupEnvVars[parentKey][key];
};
for (var j in setupEnvVars) {
if (setupEnvVars.hasOwnProperty(j) && typeof setupEnvVars[j] === 'object' && setupEnvVars[j] !== null && !Array.isArray(setupEnvVars[j])) {
Object.keys(setupEnvVars[j]).forEach(pushToRoot.bind(null, j));
delete setupEnvVars[j];
} else if (Array.isArray(setupEnvVars[j])) {
setupEnvVars[j] = JSON.stringify(setupEnvVars[j]);
}
}
winston.info('Starting setup process');
winston.info(setupEnvVars);
var child = require('child_process').fork('app', ['--setup'], {
env: process.env
env: setupEnvVars,
});
child.on('close', function (data) {
if (data === 0) {
res.locals.success = true;
} else {
res.locals.error = true;
}
installing = false;
success = data === 0;
error = data !== 0;
welcome(req, res);
});
@@ -108,19 +162,42 @@ function launch(req, res) {
res.json({});
server.close();
var child = require('child_process').spawn('node', ['loader.js'], {
detached: true,
stdio: ['ignore', 'ignore', 'ignore']
var child;
if (!nconf.get('launchCmd')) {
child = childProcess.spawn('node', ['loader.js'], {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
console.log('\nStarting NodeBB');
console.log(' "./nodebb stop" to stop the NodeBB server');
console.log(' "./nodebb log" to view server output');
console.log(' "./nodebb restart" to restart NodeBB');
} else {
// Use launchCmd instead, if specified
child = childProcess.exec(nconf.get('launchCmd'), {
detached: true,
stdio: ['ignore', 'ignore', 'ignore'],
});
}
var filesToDelete = [
'installer.css',
'installer.min.js',
'bootstrap.min.css',
];
async.each(filesToDelete, function (filename, next) {
fs.unlink(path.join(__dirname, '../public', filename), next);
}, function (err) {
if (err) {
winston.warn('Unable to remove installer files');
}
child.unref();
process.exit(0);
});
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) {
@@ -130,23 +207,68 @@ function compileLess(callback) {
}
less.render(style.toString(), function (err, css) {
if(err) {
if (err) {
return winston.error('Unable to compile LESS: ', err);
}
fs.writeFile(path.join(__dirname, '../public/stylesheet.css'), css.css, callback);
fs.writeFile(path.join(__dirname, '../public/installer.css'), css.css, callback);
});
});
}
function compileJS(callback) {
var scriptPath = path.join(__dirname, '..');
var result = uglify.minify(scripts.map(function (script) {
return path.join(scriptPath, script);
}));
var code = '';
async.eachSeries(scripts, function (srcPath, next) {
fs.readFile(path.join(__dirname, '..', srcPath), function (err, buffer) {
if (err) {
return next(err);
}
fs.writeFile(path.join(__dirname, '../public/nodebb.min.js'), result.code, callback);
code += buffer.toString();
next();
});
}, function (err) {
if (err) {
return callback(err);
}
try {
var minified = uglify.minify(code, {
compress: false,
});
if (!minified.code) {
return callback(new Error('[[error:failed-to-minify]]'));
}
fs.writeFile(path.join(__dirname, '../public/installer.min.js'), minified.code, callback);
} catch (e) {
callback(e);
}
});
}
module.exports = web;
function copyCSS(next) {
async.waterfall([
function (next) {
fs.readFile(path.join(__dirname, '../node_modules/bootstrap/dist/css/bootstrap.min.css'), 'utf8', next);
},
function (src, next) {
fs.writeFile(path.join(__dirname, '../public/bootstrap.min.css'), src, next);
},
], next);
}
function loadDefaults(next) {
var setupDefaultsPath = path.join(__dirname, '../setup.json');
fs.access(setupDefaultsPath, fs.constants.F_OK | fs.constants.R_OK, function (err) {
if (err) {
// setup.json not found or inaccessible, proceed with no defaults
return setImmediate(next);
}
winston.info('[installer] Found setup.json, populating default values');
nconf.file({
file: setupDefaultsPath,
});
next();
});
}

114
loader.js
View File

@@ -1,29 +1,32 @@
'use strict';
var nconf = require('nconf'),
fs = require('fs'),
url = require('url'),
path = require('path'),
fork = require('child_process').fork,
var nconf = require('nconf');
var fs = require('fs');
var url = require('url');
var path = require('path');
var fork = require('child_process').fork;
var async = require('async');
var logrotate = require('logrotate-stream');
async = require('async'),
logrotate = require('logrotate-stream'),
file = require('./src/file'),
pkg = require('./package.json');
var file = require('./src/file');
var pkg = require('./package.json');
var pathToConfig = path.resolve(__dirname, process.env.CONFIG || 'config.json');
nconf.argv().env().file({
file: path.join(__dirname, '/config.json')
file: pathToConfig,
});
var pidFilePath = __dirname + '/pidfile',
output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true }),
silent = nconf.get('silent') === 'false' ? false : nconf.get('silent') !== false,
numProcs,
workers = [],
Loader = {
timesStarted: 0
};
var pidFilePath = path.join(__dirname, 'pidfile');
var outputLogFilePath = path.join(__dirname, 'logs/output.log');
var output = logrotate({ file: outputLogFilePath, size: '1m', keep: 3, compress: true });
var silent = nconf.get('silent') === 'false' ? false : nconf.get('silent') !== false;
var numProcs;
var workers = [];
var Loader = {
timesStarted: 0,
};
var appPath = path.join(__dirname, 'app.js');
Loader.init = function (callback) {
if (silent) {
@@ -50,11 +53,10 @@ Loader.displayStartupMessages = function (callback) {
};
Loader.addWorkerEvents = function (worker) {
worker.on('exit', function (code, signal) {
if (code !== 0) {
if (Loader.timesStarted < numProcs * 3) {
Loader.timesStarted++;
Loader.timesStarted += 1;
if (Loader.crashTimer) {
clearTimeout(Loader.crashTimer);
}
@@ -62,7 +64,7 @@ Loader.addWorkerEvents = function (worker) {
Loader.timesStarted = 0;
}, 10000);
} else {
console.log(numProcs * 3 + ' restarts in 10 seconds, most likely an error on startup. Halting.');
console.log((numProcs * 3) + ' restarts in 10 seconds, most likely an error on startup. Halting.');
process.exit();
}
}
@@ -78,13 +80,13 @@ Loader.addWorkerEvents = function (worker) {
worker.on('message', function (message) {
if (message && typeof message === 'object' && message.action) {
switch (message.action) {
case 'restart':
console.log('[cluster] Restarting...');
Loader.restart();
case 'restart':
console.log('[cluster] Restarting...');
Loader.restart();
break;
case 'reload':
console.log('[cluster] Reloading...');
Loader.reload();
case 'reload':
console.log('[cluster] Reloading...');
Loader.reload();
break;
}
}
@@ -95,7 +97,7 @@ Loader.start = function (callback) {
numProcs = getPorts().length;
console.log('Clustering enabled: Spinning up ' + numProcs + ' process(es).\n');
for (var x = 0; x < numProcs; ++x) {
for (var x = 0; x < numProcs; x += 1) {
forkWorker(x, x === 0);
}
@@ -108,17 +110,17 @@ function forkWorker(index, isPrimary) {
var ports = getPorts();
var args = [];
if(!ports[index]) {
if (!ports[index]) {
return console.log('[cluster] invalid port for worker : ' + index + ' ports: ' + ports.length);
}
process.env.isPrimary = isPrimary;
process.env.isCluster = ports.length > 1 ? true : false;
process.env.isCluster = nconf.get('isCluster') || ports.length > 1;
process.env.port = ports[index];
var worker = fork('app.js', args, {
var worker = fork(appPath, args, {
silent: silent,
env: process.env
env: process.env,
});
worker.index = index;
@@ -129,7 +131,7 @@ function forkWorker(index, isPrimary) {
Loader.addWorkerEvents(worker);
if (silent) {
var output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true });
var output = logrotate({ file: outputLogFilePath, size: '1m', keep: 3, compress: true });
worker.stdout.pipe(output);
worker.stderr.pipe(output);
}
@@ -142,7 +144,7 @@ function getPorts() {
process.exit();
}
var urlObject = url.parse(_url);
var port = nconf.get('port') || nconf.get('PORT') || urlObject.port || 4567;
var port = nconf.get('PORT') || nconf.get('port') || urlObject.port || 4567;
if (!Array.isArray(port)) {
port = [port];
}
@@ -151,15 +153,33 @@ function getPorts() {
Loader.restart = function () {
killWorkers();
nconf.remove('file');
nconf.use('file', { file: path.join(__dirname, '/config.json') });
Loader.start();
nconf.use('file', { file: pathToConfig });
fs.readFile(pathToConfig, { encoding: 'utf-8' }, function (err, configFile) {
if (err) {
console.error('Error reading config');
throw err;
}
var conf = JSON.parse(configFile);
nconf.stores.env.readOnly = false;
nconf.set('url', conf.url);
nconf.stores.env.readOnly = true;
if (process.env.url !== conf.url) {
process.env.url = conf.url;
}
Loader.start();
});
};
Loader.reload = function () {
workers.forEach(function (worker) {
worker.send({
action: 'reload'
action: 'reload',
});
});
};
@@ -168,7 +188,9 @@ Loader.stop = function () {
killWorkers();
// Clean up the pidfile
fs.unlinkSync(__dirname + '/pidfile');
if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) {
fs.unlinkSync(pidFilePath);
}
};
function killWorkers() {
@@ -191,7 +213,7 @@ Loader.notifyWorkers = function (msg, worker_pid) {
});
};
fs.open(path.join(__dirname, 'config.json'), 'r', function (err) {
fs.open(pathToConfig, 'r', function (err) {
if (!err) {
if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) {
if (file.existsSync(pidFilePath)) {
@@ -206,23 +228,25 @@ fs.open(path.join(__dirname, 'config.json'), 'r', function (err) {
require('daemon')({
stdout: process.stdout,
stderr: process.stderr
stderr: process.stderr,
cwd: process.cwd(),
});
fs.writeFile(__dirname + '/pidfile', process.pid);
fs.writeFileSync(pidFilePath, process.pid);
}
async.series([
Loader.init,
Loader.displayStartupMessages,
Loader.start
Loader.start,
], function (err) {
if (err) {
console.log('[loader] Error during startup: ' + err.message);
console.error('[loader] Error during startup');
throw err;
}
});
} else {
// No config detected, kickstart web installer
var child = require('child_process').fork('app');
fork('app');
}
});

View File

@@ -1,81 +0,0 @@
"use strict";
var uglifyjs = require('uglify-js');
var async = require('async');
var fs = require('fs');
var file = require('./src/file');
var Minifier = {
js: {}
};
/* Javascript */
Minifier.js.minify = function (scripts, minify, callback) {
scripts = scripts.filter(function (file) {
return file && file.endsWith('.js');
});
async.filter(scripts, function (script, next) {
file.exists(script, function (exists) {
if (!exists) {
console.warn('[minifier] file not found, ' + script);
}
next(exists);
});
}, 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/*, sourceMap*/) {
process.send({
type: 'end',
// sourceMap: sourceMap,
minified: minified
});
});
break;
}
});
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
});
callback(minified.code/*, minified.map*/);
} catch(err) {
process.send({
type: 'error',
message: err.message
});
}
}
function concatenateScripts(scripts, callback) {
async.map(scripts, fs.readFile, function (err, scripts) {
if (err) {
process.send({
type: 'error',
message: err.message
});
return;
}
scripts = scripts.join(require('os').EOL + ';');
callback(scripts);
});
}

426
nodebb
View File

@@ -1,427 +1,5 @@
#!/usr/bin/env node
try {
var colors = require('colors'),
cproc = require('child_process'),
argv = require('minimist')(process.argv.slice(2)),
fs = require('fs'),
path = require('path'),
request = require('request'),
semver = require('semver'),
prompt = require('prompt'),
async = require('async');
} catch (e) {
if (e.code === 'MODULE_NOT_FOUND') {
process.stdout.write('NodeBB could not be started because it\'s dependencies have not been installed.\n');
process.stdout.write('Please ensure that you have executed "npm install --production" prior to running NodeBB.\n\n');
process.stdout.write('For more information, please see: https://docs.nodebb.org/en/latest/installing/os.html\n\n');
process.stdout.write('Could not start: ' + e.code + '\n');
'use strict';
process.exit(1);
}
}
var getRunningPid = function (callback) {
fs.readFile(__dirname + '/pidfile', {
encoding: 'utf-8'
}, function (err, pid) {
if (err) {
return callback(err);
}
try {
process.kill(parseInt(pid, 10), 0);
callback(null, parseInt(pid, 10));
} catch(e) {
callback(e);
}
});
},
getCurrentVersion = function (callback) {
fs.readFile(path.join(__dirname, 'package.json'), { encoding: 'utf-8' }, function (err, pkg) {
if (err) {
return callback(err);
}
try {
pkg = JSON.parse(pkg);
return callback(null, pkg.version);
} catch(err) {
return callback(err);
}
});
},
fork = function (args) {
cproc.fork('app.js', args, {
cwd: __dirname,
silent: false
});
},
getInstalledPlugins = function (callback) {
async.parallel({
files: async.apply(fs.readdir, path.join(__dirname, 'node_modules')),
deps: async.apply(fs.readFile, path.join(__dirname, 'package.json'), { encoding: 'utf-8' })
}, function (err, payload) {
if (err) {
return callback(err);
}
var isNbbModule = /^nodebb-(?:plugin|theme|widget|rewards)-[\w\-]+$/,
moduleName, isGitRepo;
payload.files = payload.files.filter(function (file) {
return isNbbModule.test(file);
});
try {
payload.deps = JSON.parse(payload.deps).dependencies;
payload.bundled = [];
payload.installed = [];
} catch (err) {
return callback(err);
}
for (moduleName in payload.deps) {
if (isNbbModule.test(moduleName)) {
payload.bundled.push(moduleName);
}
}
// Whittle down deps to send back only extraneously installed plugins/themes/etc
payload.files.forEach(function (moduleName) {
try {
fs.accessSync(path.join(__dirname, 'node_modules/' + moduleName, '.git'));
isGitRepo = true;
} catch(e) {
isGitRepo = false;
}
if (
payload.files.indexOf(moduleName) !== -1 // found in `node_modules/`
&& payload.bundled.indexOf(moduleName) === -1 // not found in `package.json`
&& !fs.lstatSync(path.join(__dirname, 'node_modules/' + moduleName)).isSymbolicLink() // is not a symlink
&& !isGitRepo // .git/ does not exist, so it is not a git repository
) {
payload.installed.push(moduleName);
}
});
getModuleVersions(payload.installed, callback);
});
},
getModuleVersions = function (modules, callback) {
var versionHash = {};
async.eachLimit(modules, 50, function (module, next) {
fs.readFile(path.join(__dirname, 'node_modules/' + module + '/package.json'), { encoding: 'utf-8' }, function (err, pkg) {
if (err) {
return next(err);
}
try {
pkg = JSON.parse(pkg);
versionHash[module] = pkg.version;
next();
} catch (err) {
next(err);
}
});
}, function (err) {
callback(err, versionHash);
});
},
checkPlugins = function (standalone, callback) {
if (standalone) {
process.stdout.write('Checking installed plugins and themes for updates... ');
}
async.waterfall([
async.apply(async.parallel, {
plugins: async.apply(getInstalledPlugins),
version: async.apply(getCurrentVersion)
}),
function (payload, next) {
var toCheck = Object.keys(payload.plugins);
if (!toCheck.length) {
process.stdout.write('OK'.green + '\n'.reset);
return next(null, []); // no extraneous plugins installed
}
request({
method: 'GET',
url: 'https://packages.nodebb.org/api/v1/suggest?version=' + payload.version + '&package[]=' + toCheck.join('&package[]='),
json: true
}, function (err, res, body) {
if (err) {
process.stdout.write('error'.red + '\n'.reset);
return next(err);
}
process.stdout.write('OK'.green + '\n'.reset);
if (!Array.isArray(body) && toCheck.length === 1) {
body = [body];
}
var current, suggested,
upgradable = body.map(function (suggestObj) {
current = payload.plugins[suggestObj.package];
suggested = suggestObj.version;
if (suggestObj.code === 'match-found' && semver.gt(suggested, current)) {
return {
name: suggestObj.package,
current: current,
suggested: suggested
};
} else {
return null;
}
}).filter(Boolean);
next(null, upgradable);
});
}
], callback);
},
upgradePlugins = function (callback) {
var standalone = false;
if (typeof callback !== 'function') {
callback = function () {};
standalone = true;
};
checkPlugins(standalone, function (err, found) {
if (err) {
process.stdout.write('\Warning'.yellow + ': An unexpected error occured when attempting to verify plugin upgradability\n'.reset);
return callback(err);
}
if (found && found.length) {
process.stdout.write('\nA total of ' + String(found.length).bold + ' package(s) can be upgraded:\n');
found.forEach(function (suggestObj) {
process.stdout.write(' * '.yellow + suggestObj.name.reset + ' (' + suggestObj.current.yellow + ' -> '.reset + suggestObj.suggested.green + ')\n'.reset);
});
process.stdout.write('\n');
} else {
if (standalone) {
process.stdout.write('\nAll packages up-to-date!'.green + '\n'.reset);
}
return callback();
}
prompt.message = '';
prompt.delimiter = '';
prompt.start();
prompt.get({
name: 'upgrade',
description: 'Proceed with upgrade (y|n)?'.reset,
type: 'string'
}, function (err, result) {
if (err) {
return callback(err);
}
if (['y', 'Y', 'yes', 'YES'].indexOf(result.upgrade) !== -1) {
process.stdout.write('\nUpgrading packages...');
var args = ['npm', 'i'];
found.forEach(function (suggestObj) {
args.push(suggestObj.name + '@' + suggestObj.suggested);
});
require('child_process').execFile('/usr/bin/env', args, { stdio: 'ignore' }, function (err) {
if (!err) {
process.stdout.write(' OK\n'.green);
}
callback(err);
});
} else {
process.stdout.write('\nPackage upgrades skipped'.yellow + '. Check for upgrades at any time by running "'.reset + './nodebb upgrade-plugins'.green + '".\n'.reset);
callback();
}
});
});
};
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;
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);
// Spawn a new NodeBB process
cproc.fork(__dirname + '/loader.js', {
env: process.env
});
break;
case 'slog':
process.stdout.write('\nStarting NodeBB with logging output\n'.bold);
process.stdout.write('\nHit '.red + 'Ctrl-C '.bold + 'to exit'.red);
process.stdout.write('\n\n'.reset);
// Spawn a new NodeBB process
cproc.fork(__dirname + '/loader.js', {
env: process.env
});
cproc.spawn('tail', ['-F', './logs/output.log'], {
cwd: __dirname,
stdio: 'inherit'
});
break;
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;
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;
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;
case 'dev':
process.env.NODE_ENV = 'development';
cproc.fork(__dirname + '/loader.js', ['--no-daemon', '--no-silent'], {
env: process.env
});
break;
case 'log':
process.stdout.write('\nHit '.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;
case 'build':
var args = process.argv.slice(0);
args[2] = '--' + args[2];
fork(args);
break;
case 'setup':
cproc.fork('app.js', ['--setup'], {
cwd: __dirname,
silent: false
});
break;
case 'reset':
var args = process.argv.slice(0);
args.unshift('--reset');
fork(args);
break;
case 'activate':
var args = process.argv.slice(0);
args.unshift('--activate=' + process.argv[3]);
fork(args);
break;
case 'plugins':
var args = process.argv.slice(0);
args.unshift('--plugins');
fork(args);
break;
case 'upgrade-plugins':
upgradePlugins();
break;
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'], { stdio: 'ignore' }, next);
},
function (next) {
process.stdout.write('OK\n'.green);
process.stdout.write('2. '.bold + 'Checking installed plugins for updates... '.yellow);
upgradePlugins(next);
},
function (next) {
process.stdout.write('3. '.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|slog|stop|reload|restart|log|build|setup|reset|upgrade|dev}\n\n');
process.stdout.write('\t' + 'start'.yellow + '\t\tStart the NodeBB server\n');
process.stdout.write('\t' + 'slog'.yellow + '\t\tStarts the NodeBB server and displays the live output log\n');
process.stdout.write('\t' + 'stop'.yellow + '\t\tStops the NodeBB server\n');
process.stdout.write('\t' + 'reload'.yellow + '\t\tRestarts NodeBB\n');
process.stdout.write('\t' + 'restart'.yellow + '\t\tRestarts NodeBB\n');
process.stdout.write('\t' + 'log'.yellow + '\t\tOpens the logging interface (useful for debugging)\n');
process.stdout.write('\t' + 'build'.yellow + '\t\tCompiles javascript, css stylesheets, and templates\n');
process.stdout.write('\t' + 'setup'.yellow + '\t\tRuns the NodeBB setup script\n');
process.stdout.write('\t' + 'reset'.yellow + '\t\tDisables all plugins, restores the default theme.\n');
process.stdout.write('\t' + 'activate'.yellow + '\tActivates a plugin for the next startup of NodeBB.\n');
process.stdout.write('\t' + 'plugins'.yellow + '\t\tList all plugins that have been installed.\n');
process.stdout.write('\t' + 'upgrade'.yellow + '\t\tRun NodeBB upgrade scripts, ensure packages are up-to-date\n');
process.stdout.write('\t' + 'dev'.yellow + '\t\tStart NodeBB in interactive development mode\n');
process.stdout.write('\n'.reset);
break;
}
require('./src/cli');

View File

@@ -1,122 +1 @@
@echo off
rem %1 action
rem %2 subaction
setlocal enabledelayedexpansion
2>nul call :CASE_%1
if ERRORLEVEL 1 call :DEFAULT_CASE
exit /B
:CASE_start
echo Starting NodeBB
echo "nodebb.bat stop" to stop the NodeBB server
echo "nodebb.bat log" to view server output
rem Start the loader daemon
node loader %*
goto END_CASE
:CASE_stop
call :pidexists
if %_result%==0 (
echo NodeBB is already stopped.
) else (
echo Stopping NodeBB. Goodbye!
rem Doing this forcefully is probably not the best method
taskkill /PID !_pid! /f>nul
)
goto END_CASE
:CASE_restart
echo Unsupported
goto END_CASE
:CASE_reload
echo Unsupported
goto END_CASE
:CASE_status
call :pidexists
if %_result%==0 (
echo NodeBB is not running
echo "nodebb.bat start" to launch the NodeBB server
) else (
echo NodeBB Running ^(pid !_pid!^)
echo "nodebb.bat stop" to stop the NodeBB server
echo "nodebb.bat log" to view server output
echo "nodebb.bat restart" to restart NodeBB
)
goto END_CASE
:CASE_log
cls
type .\logs\output.log
goto END_CASE
:CASE_upgrade
call npm install
call npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
node app --upgrade
copy /b package.json +,,>nul
goto END_CASE
:CASE_setup
node app --setup %*
goto END_CASE
:CASE_reset
node app --reset --%2
goto END_CASE
:CASE_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
set NODE_ENV=development
node loader --no-daemon %*
goto END_CASE
:CASE_watch
echo Not supported
goto END_CASE
:DEFAULT_CASE
echo Welcome to NodeBB
echo Usage: nodebb.bat ^{start^|stop^|reload^|restart^|log^|setup^|reset^|upgrade^|dev^|watch^}
goto END_CASE
:END_CASE
endlocal
VER > NUL
goto :EOF
:pidexists
if exist %~dp0pidfile (
set /p _pid=<pidfile
for /f "usebackq" %%Z in (`tasklist /nh /fi "PID eq !_pid!"`) do (
if %%Z==INFO: (
del pidfile
set _result=0
) else (
set _result=1
)
)
) else (
set _result=0
)
@echo off && cd %~dp0 && node ./src/cli %*

View File

@@ -1,136 +0,0 @@
{
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "1.4.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
"url": "https://github.com/NodeBB/NodeBB/"
},
"main": "app.js",
"scripts": {
"start": "node loader.js",
"lint": "eslint --cache .",
"pretest": "npm run lint",
"test": "istanbul cover _mocha test",
"coveralls": "istanbul cover _mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage",
"test-windows": "_mocha test"
},
"dependencies": {
"async": "~1.5.0",
"autoprefixer": "^6.2.3",
"bcryptjs": "~2.3.0",
"body-parser": "^1.9.0",
"chart.js": "^2.1.0",
"colors": "^1.1.0",
"compression": "^1.1.0",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"connect-mongo": "1.3.2",
"connect-multiparty": "^2.0.0",
"connect-redis": "~3.1.0",
"cookie-parser": "^1.3.3",
"cron": "^1.0.5",
"csurf": "^1.6.1",
"daemon": "~1.1.0",
"express": "^4.14.0",
"express-session": "^1.8.2",
"express-useragent": "1.0.4",
"html-to-text": "2.1.3",
"ip": "1.1.3",
"jimp": "0.2.27",
"jquery": "^3.1.0",
"json-2-csv": "^2.0.22",
"less": "^2.0.0",
"logrotate-stream": "^0.2.3",
"lru-cache": "4.0.1",
"mime": "^1.3.4",
"minimist": "^1.1.1",
"mkdirp": "~0.5.0",
"mongodb": "2.2.10",
"morgan": "^1.3.2",
"mousetrap": "^1.5.3",
"nconf": "~0.8.2",
"nodebb-plugin-composer-default": "4.3.0",
"nodebb-plugin-dbsearch": "1.0.4",
"nodebb-plugin-emoji-extended": "1.1.1",
"nodebb-plugin-emoji-one": "1.1.5",
"nodebb-plugin-markdown": "7.0.1",
"nodebb-plugin-mentions": "1.1.3",
"nodebb-plugin-soundpack-default": "0.1.6",
"nodebb-plugin-spam-be-gone": "0.4.10",
"nodebb-rewards-essentials": "0.0.9",
"nodebb-theme-lavender": "3.0.15",
"nodebb-theme-persona": "4.1.88",
"nodebb-theme-vanilla": "5.1.56",
"nodebb-widget-essentials": "2.0.13",
"nodemailer": "2.6.4",
"nodemailer-sendmail-transport": "1.0.0",
"nodemailer-smtp-transport": "^2.4.1",
"passport": "^0.3.0",
"passport-local": "1.0.0",
"postcss": "^5.0.13",
"postcss-clean": "^1.0.0",
"promise-polyfill": "^6.0.2",
"prompt": "^1.0.0",
"redis": "~2.6.2",
"request": "^2.44.0",
"rimraf": "~2.5.0",
"rss": "^1.0.0",
"semver": "^5.1.0",
"serve-favicon": "^2.1.5",
"sitemap": "^1.4.0",
"socket.io": "1.7.1",
"socket.io-client": "1.7.1",
"socket.io-redis": "2.0.0",
"socketio-wildcard": "~0.3.0",
"string": "^3.0.0",
"templates.js": "0.3.4",
"toobusy-js": "^0.5.1",
"uglify-js": "^2.6.0",
"underscore": "^1.8.3",
"underscore.deep": "^0.5.1",
"validator": "^6.1.0",
"winston": "^2.1.0",
"xregexp": "~3.1.0"
},
"devDependencies": {
"coveralls": "^2.11.14",
"eslint": "^3.7.1",
"eslint-config-airbnb": "^12.0.0",
"eslint-plugin-import": "^1.16.0",
"eslint-plugin-jsx-a11y": "^2.2.3",
"eslint-plugin-react": "^6.4.1",
"grunt": "~0.4.5",
"grunt-contrib-watch": "^1.0.0",
"istanbul": "^0.4.2",
"mocha": "~3.1.0",
"mocha-lcov-reporter": "^1.2.0",
"xmlhttprequest": "1.8.0",
"xmlhttprequest-ssl": "1.5.3"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"
},
"engines": {
"node": ">=4"
},
"maintainers": [
{
"name": "Andrew Rodrigues",
"email": "andrew@nodebb.org",
"url": "https://github.com/psychobunny"
},
{
"name": "Julian Lam",
"email": "julian@nodebb.org",
"url": "https://github.com/julianlam"
},
{
"name": "Barış Soner Uşaklı",
"email": "baris@nodebb.org",
"url": "https://github.com/barisusakli"
}
]
}

57
public/.eslintrc Normal file
View File

@@ -0,0 +1,57 @@
{
"globals": {
"app": true,
"io": true,
"socket": true,
"ajaxify": true,
"config": true,
"RELATIVE_PATH": true,
"utils": true,
"overrides": true,
"componentHandler": true,
"bootbox": true,
"Visibility": true,
"Tinycon": true,
"Promise": true
},
"env": {
"jquery": true,
"amd": true,
"browser": true,
"es6": false
},
"rules": {
"no-dupe-class-members": "off",
"no-var": "off",
"object-shorthand": "off",
"prefer-arrow-callback": "off",
"prefer-spread": "off",
"prefer-reflect": "off",
"prefer-template": "off"
},
"parserOptions": {
"ecmaVersion": 5,
"ecmaFeatures": {
"arrowFunctions": false,
"classes": false,
"defaultParams": false,
"destructuring": false,
"experimentalObjectRestSpread": false,
"blockBindings": false,
"forOf": false,
"generators": false,
"globalReturn": false,
"jsx": false,
"modules": false,
"objectLiteralComputedProperties": false,
"objectLiteralDuplicateProperties": false,
"objectLiteralShorthandMethods": false,
"objectLiteralShorthandProperties": false,
"impliedStrict": false,
"restParams": false,
"spread": false,
"superInFunctions": false,
"templateStrings": false
}
}
}

84
public/.jshintrc Normal file
View File

@@ -0,0 +1,84 @@
{
"maxerr" : 50, // {int} Maximum error before stopping
// Enforcing
"bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.)
"camelcase" : false, // true: Identifiers must be in camelCase
"curly" : true, // true: Require {} for every new block or scope
"eqeqeq" : true, // true: Require triple equals (===) for comparison
"forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
"immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
"indent" : 4, // {int} Number of spaces to use for indentation
"latedef" : false, // true: Require variables/functions to be defined before being used
"newcap" : false, // true: Require capitalization of all constructor functions e.g. `new F()`
"noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee`
"noempty" : true, // true: Prohibit use of empty blocks
"nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment)
"plusplus" : false, // true: Prohibit use of `++` & `--`
"quotmark" : false, // Quotation mark consistency:
// false : do nothing (default)
// true : ensure whatever is used is consistent
// "single" : require single quotes
// "double" : require double quotes
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks)
"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
"maxdepth" : false, // {int} Max depth of nested blocks (within functions)
"maxstatements" : false, // {int} Max number statements per function
"maxcomplexity" : false, // {int} Max cyclomatic complexity per function
"maxlen" : false, // {int} Max number of characters per line
// Relaxing
"asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons)
"boss" : false, // true: Tolerate assignments where comparisons would be expected
"debug" : false, // true: Allow debugger statements e.g. browser breakpoints.
"eqnull" : false, // true: Tolerate use of `== null`
"es5" : false, // true: Allow ES5 syntax (ex: getters and setters)
"esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`)
"moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features)
// (ex: `for each`, multiple try/catch, function expression…)
"evil" : false, // true: Tolerate use of `eval` and `new Function()`
"expr" : false, // true: Tolerate `ExpressionStatement` as Programs
"funcscope" : false, // true: Tolerate defining variables inside control statements"
"globalstrict" : false, // true: Allow global "use strict" (also enables 'strict')
"iterator" : false, // true: Tolerate using the `__iterator__` property
"lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block
"laxbreak" : false, // true: Tolerate possibly unsafe line breakings
"laxcomma" : false, // true: Tolerate comma-first style coding
"loopfunc" : false, // true: Tolerate functions being defined in loops
"multistr" : false, // true: Tolerate multi-line strings
"proto" : false, // true: Tolerate using the `__proto__` property
"scripturl" : false, // true: Tolerate script-targeted URLs
"smarttabs" : false, // true: Tolerate mixed tabs/spaces when used for alignment
"shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;`
"sub" : false, // true: Tolerate using `[]` notation when it can still be expressed in dot notation
"supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;`
"validthis" : false, // true: Tolerate using this in a non-constructor function
"globals": {
"app": true,
"io": true,
"socket": true,
"ajaxify": true,
"config": true,
"RELATIVE_PATH": true,
"utils": true,
"overrides": true,
"componentHandler": true,
"bootbox": true,
"templates": true,
"Visibility": true,
"Tinycon": true,
"require": true,
"define": true,
"ace": true,
"Sortable": true,
"Slideout": true,
"NProgress": true
},
"jquery": true,
"browser": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -0,0 +1,7 @@
{
"alert.confirm-rebuild-and-restart": "Are you sure you wish to rebuild and restart NodeBB?",
"alert.confirm-restart": "هل تريد بالتأكيد إعادة تشغيل NodeBB؟",
"acp-title": "لوحة تحكم إدارة NodeBB | %1",
"settings-header-contents": "محتويات"
}

View File

@@ -0,0 +1,11 @@
{
"post-cache": "التخزين المؤقت للمشاركات",
"posts-in-cache": "المشاركات المخزنة مؤقتاً",
"average-post-size": "متوسط ​​حجم المشاركة",
"length-to-max": "الطول / أقصى حد",
"percent-full": "%1% Full",
"post-cache-size": "حجم التخزين المؤقت للمشاركات",
"items-in-cache": "العناصر في التخزين المؤقت",
"control-panel": "لوحة التحكم",
"update-settings": "تحديث إعدادات التخزين المؤقت"
}

View File

@@ -0,0 +1,36 @@
{
"x-b": "%1 b",
"x-mb": "%1 mb",
"x-gb": "%1 gb",
"uptime-seconds": "Uptime in Seconds",
"uptime-days": "Uptime in Days",
"mongo": "Mongo",
"mongo.version": "MongoDB Version",
"mongo.storage-engine": "Storage Engine",
"mongo.collections": "Collections",
"mongo.objects": "Objects",
"mongo.avg-object-size": "Avg. Object Size",
"mongo.data-size": "Data Size",
"mongo.storage-size": "Storage Size",
"mongo.index-size": "Index Size",
"mongo.file-size": "File Size",
"mongo.resident-memory": "Resident Memory",
"mongo.virtual-memory": "الذاكرة الإفتراضية",
"mongo.mapped-memory": "Mapped Memory",
"mongo.raw-info": "MongoDB Raw Info",
"redis": "Redis",
"redis.version": "Redis Version",
"redis.connected-clients": "Connected Clients",
"redis.connected-slaves": "Connected Slaves",
"redis.blocked-clients": "Blocked Clients",
"redis.used-memory": "الذاكرة المستخدمة",
"redis.memory-frag-ratio": "Memory Fragmentation Ratio",
"redis.total-connections-recieved": "إجمالي الاتصالات المستلمة",
"redis.total-commands-processed": "إجمالي الأوامر التي تمت معالجتها",
"redis.iops": "Instantaneous Ops. Per Second",
"redis.keyspace-hits": "Keyspace Hits",
"redis.keyspace-misses": "Keyspace Misses",
"redis.raw-info": "Redis Raw Info"
}

View File

@@ -0,0 +1,14 @@
{
"figure-x": "شكل %1",
"error-events-per-day": "<code>%1</code> حدث كل يوم ",
"error.404": "404 لم يتم العثور",
"error.503": "503 الخدمة غير متوفرة",
"manage-error-log": "إدارة سجل الأخطاء",
"export-error-log": "تصدير سجل الأخطاء (CSV)",
"clear-error-log": "محو سجل الأخطاء",
"route": "مسار",
"count": "عدد",
"no-routes-not-found": "لا توجد اخطاء 404!",
"clear404-confirm": "هل تريد بالتأكيد محو سجلات الخطأ 404؟",
"clear404-success": "أخطاء \"404 لم يتم العثور\" تم محوها بنجاح"
}

View File

@@ -0,0 +1,6 @@
{
"events": "أحداث",
"no-events": "لا توجد أحداث",
"control-panel": "لوحة تحكم الأحداث",
"delete-events": "حذف الأحداث"
}

View File

@@ -0,0 +1,7 @@
{
"logs": "السجلات",
"control-panel": "لوحة تحكم السجلات",
"reload": "إعادة تحميل السجلات",
"clear": "محو السجلات",
"clear-success": "تم محو السجلات!"
}

View File

@@ -0,0 +1,16 @@
{
"custom-css": "Custom CSS/LESS",
"custom-css.description": "Enter your own CSS/LESS declarations here, which will be applied after all other styles.",
"custom-css.enable": "Enable Custom CSS/LESS",
"custom-js": "Javascript مخصصة",
"custom-js.description": "أدخل Javascript الخاص بك هنا. سيتم تنفيذها بعد تحميل الصفحة بالكامل.",
"custom-js.enable": "تفعيل Javascript المخصصة",
"custom-header": "ترويسة مخصصة",
"custom-header.description": "أدخل HTML الخاصة بك هنا (مثل العلامات الوصفية، وما إلى ذلك)، والتي سيتم إلحاقها الى<code>&lt;head&gt;</code> في تصميم المنتدى. يسمح باستخدام علامات النص البرمجي، ولكن سيتم تعطيلها؛ لتوفر تبويبة\n<a href=\"#custom-header\" data-toggle=\"tab\">Javascript المخصصة</a>",
"custom-header.enable": "تفعيل الترويسة المخصصة",
"custom-css.livereload": "تفعيل إعادة التحميل المباشرة",
"custom-css.livereload.description": "فعل هذا الخيار لإجبار جميع الجلسات في الأجهزة التي قمت بتسجيل الدخول فيها بحسابك على التحديث عند النقر على زر الحفظ"
}

View File

@@ -0,0 +1,9 @@
{
"loading": "جاري تحميل السمات...",
"homepage": "الصفحة الرئيسية",
"select-skin": "إختيار السمة",
"current-skin": "السمة الحالية",
"skin-updated": "تم تحديث السمة",
"applied-success": "تم تطبيق السمة %1 بنجاح",
"revert-success": "تم إستعادة الألوان الاساسية للسمة"
}

View File

@@ -0,0 +1,11 @@
{
"checking-for-installed": "جاري التحقق من القوالب المثبتة...",
"homepage": "الصفحة الرئيسية",
"select-theme": "إختيار القالب",
"current-theme": "القالب المستخدم حالياً",
"no-themes": "لم يتم العثور على قوالب مثبتة",
"revert-confirm": "هل أنت متأكد من أنك ترغب في استعادة قااب NodeBB الافتراضي؟",
"theme-changed": "تم تغيير القالب",
"revert-success": "لقد قمت بنجاح بإستعادة القالب الأساسي لـNodeBB",
"restart-to-activate": "Please rebuild and restart your NodeBB to fully activate this theme."
}

View File

@@ -0,0 +1,18 @@
{
"you-are-on": "Info - You are on <strong>%1:%2</strong>",
"nodes-responded": "%1 nodes responded within %2ms!",
"host": "host",
"pid": "pid",
"nodejs": "nodejs",
"online": "online",
"git": "git",
"memory": "memory",
"load": "load",
"uptime": "uptime",
"registered": "Registered",
"sockets": "Sockets",
"guests": "Guests",
"info": "Info"
}

View File

@@ -0,0 +1,12 @@
{
"logger-settings": "Logger Settings",
"description": "By enabling the check boxes, you will receive logs to your terminal. If you specify a path, logs will then be saved to a file instead. HTTP logging is useful for collecting statistics about who, when, and what people access on your forum. In addition to logging HTTP requests, we can also log socket.io events. Socket.io logging, in combination with redis-cli monitor, can be very helpful for learning NodeBB's internals.",
"explanation": "Simply check/uncheck the logging settings to enable or disable logging on the fly. No restart needed.",
"enable-http": "Enable HTTP logging",
"enable-socket": "Enable socket.io event logging",
"file-path": "Path to log file",
"file-path-placeholder": "/path/to/log/file.log ::: leave blank to log to your terminal",
"control-panel": "Logger Control Panel",
"update-settings": "Update Logger Settings"
}

View File

@@ -0,0 +1,53 @@
{
"installed": "منصبة",
"active": "مفعلة",
"inactive": "معطلة",
"out-of-date": "غير محدثة",
"none-found": "لم يتم العثور على إضافات",
"none-active": "لا توجد إضافات مفعلة",
"find-plugins": "العثور على الإضافات",
"plugin-search": "البحث عن الإضافات",
"plugin-search-placeholder": "جاري البحث عن الإضافات...",
"reorder-plugins": "إعادة ترتيب الإضافات",
"order-active": "ترتيب الإضافات المفعلة",
"dev-interested": "هل انته مهتم ببرمجة إضافات لـNodeBB؟",
"docs-info": "دليل كامل حول برمجة الإضافات بالإمكان العثور عليه في <a target=\"_blank\" href=\"https://docs.nodebb.org/development/plugins/\"> NodeBB Docs Portal</a>.",
"order.description": "بعض الإضافات تعمل بشكل مثالي عندما يتم تفعيلها قبل أو بعد الإضافات الأخرى.",
"order.explanation": "يتم تحميل الإضافات حسب الترتيب المحدد هنا، من الأعلى إلى الأسفل",
"plugin-item.themes": "القوالب",
"plugin-item.deactivate": "تعطيل",
"plugin-item.activate": "تفعيل",
"plugin-item.install": "تنصيب",
"plugin-item.uninstall": "إلغاء التنصيب",
"plugin-item.settings": "الإعدادات",
"plugin-item.installed": "المنصبة",
"plugin-item.latest": "الأحدث",
"plugin-item.upgrade": "ترقية",
"plugin-item.more-info": "لمزيد من المعلومات:",
"plugin-item.unknown": "غير معروف",
"plugin-item.unknown-explanation": "تعذر تحديد حالة هذه الإضافة، ربما بسبب خطأ في الإعدادات.",
"alert.enabled": "الإضافة مفعلة",
"alert.disabled": "الإضافة معطلة",
"alert.upgraded": "الإضافة مرقاة",
"alert.installed": "الإضافة منصبة",
"alert.uninstalled": "تم إلغاء تنصيب الإضافة",
"alert.activate-success": "يرجى إعادة تشغيل NodeBB لتنشيط الإضافة بشكل بالكامل",
"alert.deactivate-success": "تم تعطيل الإضافة بنجاح",
"alert.upgrade-success": "Please rebuild and restart your NodeBB to fully upgrade this plugin.",
"alert.install-success": "تم تثبيت الإضافة بنجاح، يرجى تفعيلها.",
"alert.uninstall-success": "تم تعطيل الإضافة وإلغاء تنصيبها بنجاح.",
"alert.suggest-error": "<p>NodeBB could not reach the package manager, proceed with installation of latest version?</p><div class=\"alert alert-danger\"><strong>Server returned (%1)</strong>: %2</div>",
"alert.package-manager-unreachable": "<p>NodeBB could not reach the package manager, an upgrade is not suggested at this time.</p>",
"alert.incompatible": "<p>Your version of NodeBB (v%1) is only cleared to upgrade to v%2 of this plugin. Please update your NodeBB if you wish to install a newer version of this plugin.</p>",
"alert.possibly-incompatible": "<div class=\"alert alert-warning\"><p><strong>No Compatibility Information Found</strong></p><p>This plugin did not specify a specific version for installation given your NodeBB version. Full compatibility cannot be guaranteed, and may cause your NodeBB to no longer start properly.</p></div><p>In the event that NodeBB cannot boot properly:</p><pre><code>$ ./nodebb reset plugin=\"%1\"</code></pre><p>Continue installation of latest version of this plugin?</p>",
"alert.reorder": "Plugins Re-ordered",
"alert.reorder-success": "Please rebuild and restart your NodeBB to fully complete the process.",
"license.title": "معلومات ترخيص الإضافة",
"license.intro": "The plugin <strong>%1</strong> is licensed under the %2. Please read and understand the license terms prior to activating this plugin.",
"license.cta": "هل ترغب بالاستمرار في تفعيل هذه الإضافة؟"
}

View File

@@ -0,0 +1,17 @@
{
"rewards": "Rewards",
"condition-if-users": "If User's",
"condition-is": "Is:",
"condition-then": "Then:",
"max-claims": "Amount of times reward is claimable",
"zero-infinite": "Enter 0 for infinite",
"delete": "Delete",
"enable": "Enable",
"disable": "Disable",
"control-panel": "Rewards Control",
"new-reward": "New Reward",
"alert.delete-success": "Successfully deleted reward",
"alert.no-inputs-found": "Illegal reward - no inputs found!",
"alert.save-success": "Successfully saved rewards"
}

View File

@@ -0,0 +1,22 @@
{
"available": "Available Widgets",
"explanation": "Select a widget from the dropdown menu and then drag and drop it into a template's widget area on the left.",
"none-installed": "No widgets found! Activate the essential widgets plugin in the <a href=\"%1\">plugins</a> control panel.",
"clone-from": "Clone widgets from",
"containers.available": "Available Containers",
"containers.explanation": "Drag and drop on top of any active widget",
"containers.none": "None",
"container.well": "Well",
"container.jumbotron": "Jumbotron",
"container.panel": "Panel",
"container.panel-header": "Panel Header",
"container.panel-body": "Panel Body",
"container.alert": "Alert",
"alert.confirm-delete": "Are you sure you wish to delete this widget?",
"alert.updated": "Widgets Updated",
"alert.update-success": "Successfully updated widgets",
"alert.clone-success": "Successfully cloned widgets",
"error.select-clone": "Please select a page to clone from"
}

View File

@@ -0,0 +1,72 @@
{
"forum-traffic": "Forum Traffic",
"page-views": "مشاهدات الصفحات",
"unique-visitors": "زائرين فريدين",
"users": "أعضاء",
"posts": "مشاركات",
"topics": "مواضيع",
"page-views-seven": "آخر 7 ايام",
"page-views-thirty": "آخر 30 يوماً",
"page-views-last-day": "آخر 24 ساعة",
"page-views-custom": "مدة زمنية مخصصة",
"page-views-custom-start": "بداية المدة",
"page-views-custom-end": "نهاية المده",
"page-views-custom-help": "أدخل نطاقا زمنيا لمرات مشاهدة الصفحات التي ترغب في عرضها. إذا لم يظهر منتقي التاريخ، فإن التنسيق المقبول هو <code>YYYY-MM-DD</code>",
"page-views-custom-error": "الرجاء إدخال نطاق تاريخ صالح بالتنسيق <code>YYYY-MM-DD</code>",
"stats.day": "يوم",
"stats.week": "إسبوع",
"stats.month": "شهر",
"stats.all": "كل الوقت",
"updates": "تحديثات",
"running-version": "المنتدى يعمل حاليا على <strong>NodeBB الإصدار<span id=\"version\">%1</span></strong>.",
"keep-updated": "تأكد دائما من أن NodeBB يعمل على احدث إصدار للحصول على أحدث التصحيحات الأمنية وإصلاحات الأخطاء.",
"up-to-date": "<p>المنتدى <strong>يعمل على أحدث إصدار</strong> <i class=\"fa fa-check\"></i></p>",
"upgrade-available": "<p>A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-upgrade-available": "<p>This is an outdated pre-release version of NodeBB. A new version (v%1) has been released. Consider <a href=\"https://docs.nodebb.org/configuring/upgrade/\" target=\"_blank\">upgrading your NodeBB</a>.</p>",
"prerelease-warning": "<p>هذه نسخة <strong>ماقبل الإصدار</strong> من NodeBB. قد تحدث أخطاء غير مقصودة. <i class=\"fa fa-exclamation-triangle\"></i></p>",
"running-in-development": "المنتدى قيد التشغيل في وضع \"المطورين\". وقد تكون هناك ثغرات أمنية مفتوحة؛ من فضلك تواصل مع مسؤول نظامك.",
"latest-lookup-failed": "<p>Failed to look up latest available version of NodeBB</p>",
"notices": "إشعارات",
"restart-not-required": "إعادة التشغيل غير مطلوب",
"restart-required": "إعادة التشغيل مطلوبة",
"search-plugin-installed": "إضافة البحث منصبة",
"search-plugin-not-installed": "إضافة البحث غير منصبة",
"search-plugin-tooltip": "نصب إضافة البحث من صفحة الإضافات البرمجية لتنشيط وظيفة البحث",
"control-panel": "التحكم بالنظام",
"rebuild-and-restart": "Rebuild &amp; Restart",
"restart": "Restart",
"restart-warning": "Rebuilding or Restarting your NodeBB will drop all existing connections for a few seconds.",
"restart-disabled": "Rebuilding and Restarting your NodeBB has been disabled as you do not seem to be running it via the appropriate daemon.",
"maintenance-mode": "وضع الصيانة",
"maintenance-mode-title": "انقر هنا لإعداد وضع الصيانة لـNodeBB",
"realtime-chart-updates": "التحديث الفوري للرسم البياني",
"active-users": "المستخدمين النشطين",
"active-users.users": "الأعضاء",
"active-users.guests": "الزوار",
"active-users.total": "المجموع",
"active-users.connections": "Connections",
"anonymous-registered-users": "المجهولين مقابل المستخدمين المسجلين",
"anonymous": "مجهول",
"registered": "مسجل",
"user-presence": "تواجد المستخدمين",
"on-categories": "في قائمة الأقسام",
"reading-posts": "قراءة المشاركات",
"browsing-topics": "تصفح المواضيع",
"recent": "الأخيرة",
"unread": "غير مقروء",
"high-presence-topics": "مواضيع ذات حضور قوي",
"graphs.page-views": "مشاهدات الصفحة",
"graphs.unique-visitors": "زوار فريدين",
"graphs.registered-users": "مستخدمين مسجلين",
"graphs.anonymous-users": "مستخدمين مجهولين",
"last-restarted-by": "Last restarted by"
}

View File

@@ -0,0 +1,8 @@
{
"home-page": "Home Page",
"description": "Choose what page is shown when users navigate to the root URL of your forum.",
"home-page-route": "Home Page Route",
"custom-route": "Custom Route",
"allow-user-home-pages": "Allow User Home Pages",
"home-page-title": "Title of the home page (default \"Home\")"
}

View File

@@ -0,0 +1,6 @@
{
"language-settings": "اعدادات اللغة",
"description": "تُحدد اللغة الافتراضية إعدادات اللغة لجميع المستخدمين الذين يزورون المنتدى. <br />يمكن للأعضاء تجاوز اللغة الافتراضية من خلال صفحة إعدادات الحساب الخاصة بهم.",
"default-language": "اللغة الافتراضية",
"auto-detect": "الكشف عن إعدادات اللغة للزوار بشكل آلي"
}

View File

@@ -0,0 +1,25 @@
{
"icon": "Icon:",
"change-icon": "change",
"route": "Route:",
"tooltip": "Tooltip:",
"text": "Text:",
"text-class": "Text Class: <small>optional</small>",
"id": "ID: <small>optional</small>",
"properties": "Properties:",
"only-admins": "Only display to Admins",
"only-global-mods-and-admins": "Only display to Global Moderators and Admins",
"only-logged-in": "Only display to logged in users",
"only-guest": "Only display to guests",
"open-new-window": "Open in a new window",
"btn.delete": "Delete",
"btn.disable": "Disable",
"btn.enable": "Enable",
"available-menu-items": "Available Menu Items",
"custom-route": "Custom Route",
"core": "core",
"plugin": "plugin"
}

View File

@@ -0,0 +1,5 @@
{
"post-sharing": "Post Sharing",
"info-plugins-additional": "Plugins can add additional networks for sharing posts.",
"save-success": "Successfully saved Post Sharing Networks!"
}

View File

@@ -0,0 +1,9 @@
{
"notifications": "التنبيهات",
"chat-messages": "Chat Messages",
"play-sound": "Play",
"incoming-message": "Incoming Message",
"outgoing-message": "Outgoing Message",
"upload-new-sound": "Upload New Sound",
"saved": "Settings Saved"
}

View File

@@ -0,0 +1,10 @@
{
"administrators": "Administrators",
"global-moderators": "Global Moderators",
"no-global-moderators": "No Global Moderators",
"moderators-of-category": "%1 Moderators",
"no-moderators": "No Moderators",
"add-administrator": "Add Administrator",
"add-global-moderator": "Add Global Moderator",
"add-moderator": "Add Moderator"
}

View File

@@ -0,0 +1,71 @@
{
"settings": "اعدادات القسم",
"privileges": "الصلاحيات",
"name": "Category Name",
"description": "Category Description",
"bg-color": "Background Colour",
"text-color": "Text Colour",
"bg-image-size": "Background Image Size",
"custom-class": "Custom Class",
"num-recent-replies": "# of Recent Replies",
"ext-link": "External Link",
"is-section": "Treat this category as a section",
"upload-image": "Upload Image",
"delete-image": "Remove",
"category-image": "Category Image",
"parent-category": "Parent Category",
"optional-parent-category": "(Optional) Parent Category",
"parent-category-none": "(None)",
"copy-settings": "Copy Settings From",
"optional-clone-settings": "(Optional) Clone Settings From Category",
"purge": "Purge Category",
"enable": "Enable",
"disable": "Disable",
"edit": "Edit",
"select-category": "Select Category",
"set-parent-category": "Set Parent Category",
"privileges.description": "You can configure the access control privileges for this category in this section. Privileges can be granted on a per-user or a per-group basis. You can add a new user to this table by searching for them in the form below.",
"privileges.warning": "<strong>Note</strong>: Privilege settings take effect immediately. It is not necessary to save the category after adjusting these settings.",
"privileges.section-viewing": "Viewing Privileges",
"privileges.section-posting": "Posting Privileges",
"privileges.section-moderation": "Moderation Privileges",
"privileges.section-user": "User",
"privileges.search-user": "Add User",
"privileges.no-users": "No user-specific privileges in this category.",
"privileges.section-group": "Group",
"privileges.group-private": "This group is private",
"privileges.search-group": "Add Group",
"privileges.copy-to-children": "Copy to Children",
"privileges.copy-from-category": "Copy from Category",
"privileges.inherit": "If the <code>registered-users</code> group is granted a specific privilege, all other groups receive an <strong>implicit privilege</strong>, even if they are not explicitly defined/checked. This implicit privilege is shown to you because all users are part of the <code>registered-users</code> user group, and so, privileges for additional groups need not be explicitly granted.",
"analytics.back": "Back to Categories List",
"analytics.title": "Analytics for \"%1\" category",
"analytics.pageviews-hourly": "<strong>Figure 1</strong> &ndash; Hourly page views for this category</small>",
"analytics.pageviews-daily": "<strong>Figure 2</strong> &ndash; Daily page views for this category</small>",
"analytics.topics-daily": "<strong>Figure 3</strong> &ndash; Daily topics created in this category</small>",
"analytics.posts-daily": "<strong>Figure 4</strong> &ndash; Daily posts made in this category</small>",
"alert.created": "Created",
"alert.create-success": "Category successfully created!",
"alert.none-active": "You have no active categories.",
"alert.create": "Create a Category",
"alert.confirm-moderate": "<strong>Are you sure you wish to grant the moderation privilege to this user group?</strong> This group is public, and any users can join at will.",
"alert.confirm-purge": "<p class=\"lead\">Do you really want to purge this category \"%1\"?</p><h5><strong class=\"text-danger\">Warning!</strong> All topics and posts in this category will be purged!</h5> <p class=\"help-block\">Purging a category will remove all topics and posts, and delete the category from the database. If you want to remove a category <em>temporarily</em>, you'll want to \"disable\" the category instead.</p>",
"alert.purge-success": "Category purged!",
"alert.copy-success": "Settings Copied!",
"alert.set-parent-category": "Set Parent Category",
"alert.updated": "Updated Categories",
"alert.updated-success": "Category IDs %1 successfully updated.",
"alert.upload-image": "Upload category image",
"alert.find-user": "Find a User",
"alert.user-search": "Search for a user here...",
"alert.find-group": "Find a Group",
"alert.group-search": "Search for a group here...",
"collapse-all": "Collapse All",
"expand-all": "Expand All"
}

View File

@@ -0,0 +1,35 @@
{
"name": "اسم المجموعة",
"description": "Group Description",
"member-count": "Member Count",
"system": "System Group",
"edit": "Edit",
"search-placeholder": "Search",
"create": "Create Group",
"description-placeholder": "A short description about your group",
"create-button": "Create",
"alerts.create-failure": "<strong>Uh-Oh</strong><p>There was a problem creating your group. Please try again later!</p>",
"alerts.confirm-delete": "Are you sure you wish to delete this group?",
"edit.name": "Name",
"edit.description": "Description",
"edit.user-title": "Title of Members",
"edit.icon": "Group Icon",
"edit.label-color": "Group Label Color",
"edit.show-badge": "Show Badge",
"edit.private-details": "If enabled, joining of groups requires approval from a group owner.",
"edit.private-override": "Warning: Private groups is disabled at system level, which overrides this option.",
"edit.disable-requests": "Disable join requests",
"edit.hidden": "Hidden",
"edit.hidden-details": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
"edit.add-user": "Add User to Group",
"edit.add-user-search": "Search Users",
"edit.members": "Member List",
"control-panel": "Groups Control Panel",
"revert": "Revert",
"edit.no-users-found": "No Users Found",
"edit.confirm-remove-user": "Are you sure you want to remove this user?",
"edit.save-success": "Changes saved!"
}

View File

@@ -0,0 +1,19 @@
{
"lead": "Configure your IP blacklist here.",
"description": "Occasionally, a user account ban is not enough of a deterrant. Other times, restricting access to the forum to a specific IP or a range of IPs is the best way to protect a forum. In these scenarios, you can add troublesome IP addresses or entire CIDR blocks to this blacklist, and they will be prevented from logging in to or registering a new account.",
"active-rules": "Active Rules",
"validate": "Validate Blacklist",
"apply": "Apply Blacklist",
"hints": "Syntax Hints",
"hint-1": "Define a single IP addresses per line. You can add IP blocks as long as they follow the CIDR format (e.g. <code>192.168.100.0/22</code>).",
"hint-2": "You can add in comments by starting lines with the <code>#</code> symbol.",
"validate.x-valid": "<strong>%1</strong> out of <strong>%2</strong> rule(s) valid.",
"validate.x-invalid": "The following <strong>%1</strong> rules are invalid:",
"alerts.applied-success": "Blacklist Applied",
"analytics.blacklist-hourly": "<strong>Figure 1</strong> &ndash; Blacklist hits per hour",
"analytics.blacklist-daily": "<strong>Figure 2</strong> &ndash; Blacklist hits per day",
"ip-banned": "IP banned"
}

View File

@@ -0,0 +1,11 @@
{
"post-queue": "Post Queue",
"description": "There are no posts in the post queue. <br> To enable this feature, go to <a href=\"%1\">Settings &rarr; Post &rarr; Posting Restrictions</a> and enable <strong>Post Queue</strong>.",
"user": "User",
"category": "Category",
"title": "Title",
"content": "Content",
"posted": "Posted",
"reply-to": "Reply to \"%1\"",
"content-editable": "You can click on individual content to edit before posting."
}

View File

@@ -0,0 +1,20 @@
{
"queue": "Queue",
"description": "There are no users in the registration queue. <br> To enable this feature, go to <a href=\"%1\">Settings &rarr; User &rarr; User Registration</a> and set <strong>Registration Type</strong> to \"Admin Approval\".",
"list.name": "Name",
"list.email": "Email",
"list.ip": "IP",
"list.time": "Time",
"list.username-spam": "Frequency: %1 Appears: %2 Confidence: %3",
"list.email-spam": "Frequency: %1 Appears: %2",
"list.ip-spam": "Frequency: %1 Appears: %2",
"invitations": "Invitations",
"invitations.description": "Below is a complete list of invitations sent. Use ctrl-f to search through the list by email or username. <br><br>The username will be displayed to the right of the emails for users who have redeemed their invitations.",
"invitations.inviter-username": "Inviter Username",
"invitations.invitee-email": "Invitee Email",
"invitations.invitee-username": "Invitee Username (if registered)",
"invitations.confirm-delete": "Are you sure you wish to delete this invitation?"
}

View File

@@ -0,0 +1,19 @@
{
"none": "Your forum does not have any topics with tags yet.",
"bg-color": "Background Colour",
"text-color": "Text Colour",
"create-modify": "Create & Modify Tags",
"description": "Select tags via clicking and/or dragging, use shift to select multiple.",
"create": "Create Tag",
"modify": "Modify Tags",
"rename": "Rename Tags",
"delete": "Delete Selected Tags",
"search": "Search for tags...",
"settings": "Click <a href=\"%1\">here</a> to visit the tag settings page.",
"name": "Tag Name",
"alerts.editing-multiple": "Editing multiple tags",
"alerts.editing-x": "Editing \"%1\" tag",
"alerts.confirm-delete": "Do you want to delete the selected tags?",
"alerts.update-success": "Tag Updated!"
}

View File

@@ -0,0 +1,99 @@
{
"users": "المستخدمين",
"edit": "تحرير",
"make-admin": "Make Admin",
"remove-admin": "Remove Admin",
"validate-email": "Validate Email",
"send-validation-email": "Send Validation Email",
"password-reset-email": "Send Password Reset Email",
"ban": "Ban User(s)",
"temp-ban": "Ban User(s) Temporarily",
"unban": "Unban User(s)",
"reset-lockout": "Reset Lockout",
"reset-flags": "Reset Flags",
"delete": "Delete User(s)",
"purge": "Delete User(s) and Content",
"download-csv": "Download CSV",
"invite": "Invite",
"new": "New User",
"pills.latest": "Latest Users",
"pills.unvalidated": "Not Validated",
"pills.no-posts": "No Posts",
"pills.top-posters": "Top Posters",
"pills.top-rep": "Most Reputation",
"pills.inactive": "Inactive",
"pills.flagged": "Most Flagged",
"pills.banned": "Banned",
"pills.search": "User Search",
"search.uid": "By User ID",
"search.uid-placeholder": "Enter a user ID to search",
"search.username": "By User Name",
"search.username-placeholder": "Enter a username to search",
"search.email": "By Email",
"search.email-placeholder": "Enter a email to search",
"search.ip": "By IP Address",
"search.ip-placeholder": "Enter an IP Address to search",
"search.not-found": "User not found!",
"inactive.3-months": "3 months",
"inactive.6-months": "6 months",
"inactive.12-months": "12 months",
"users.uid": "uid",
"users.username": "username",
"users.email": "email",
"users.postcount": "postcount",
"users.reputation": "reputation",
"users.flags": "flags",
"users.joined": "joined",
"users.last-online": "last online",
"users.banned": "banned",
"create.username": "User Name",
"create.email": "Email",
"create.email-placeholder": "Email of this user",
"create.password": "Password",
"create.password-confirm": "Confirm Password",
"temp-ban.length": "Ban Length",
"temp-ban.reason": "Reason <span class=\"text-muted\">(Optional)</span>",
"temp-ban.hours": "Hours",
"temp-ban.days": "Days",
"temp-ban.explanation": "Enter the length of time for the ban. Note that a time of 0 will be a considered a permanent ban.",
"alerts.confirm-ban": "Do you really want to ban this user <strong>permanently</strong>?",
"alerts.confirm-ban-multi": "Do you really want to ban these users <strong>permanently</strong>?",
"alerts.ban-success": "User(s) banned!",
"alerts.button-ban-x": "Ban %1 user(s)",
"alerts.unban-success": "User(s) unbanned!",
"alerts.lockout-reset-success": "Lockout(s) reset!",
"alerts.flag-reset-success": "Flags(s) reset!",
"alerts.no-remove-yourself-admin": "You can't remove yourself as Administrator!",
"alerts.make-admin-success": "User is now administrator.",
"alerts.confirm-remove-admin": "Do you really want to remove this administrator?",
"alerts.remove-admin-success": "User is no longer administrator.",
"alerts.make-global-mod-success": "User is now global moderator.",
"alerts.confirm-remove-global-mod": "Do you really want to remove this global moderator?",
"alerts.remove-global-mod-success": "User is no longer global moderator.",
"alerts.make-moderator-success": "User is now moderator.",
"alerts.confirm-remove-moderator": "Do you really want to remove this moderator?",
"alerts.remove-moderator-success": "User is no longer moderator.",
"alerts.confirm-validate-email": "Do you want to validate email(s) of these user(s)?",
"alerts.validate-email-success": "Emails validated",
"alerts.password-reset-confirm": "Do you want to send password reset email(s) to these user(s)?",
"alerts.confirm-delete": "<b>Warning!</b><br/>Do you really want to delete user(s)?<br/> This action is not reversable! Only the user account will be deleted, their posts and topics will remain.",
"alerts.delete-success": "User(s) Deleted!",
"alerts.confirm-purge": "<b>Warning!</b><br/>Do you really want to delete user(s) and their content?<br/> This action is not reversable! All user data and content will be erased!",
"alerts.create": "Create User",
"alerts.button-create": "Create",
"alerts.button-cancel": "Cancel",
"alerts.error-passwords-different": "Passwords must match!",
"alerts.error-x": "<strong>Error</strong><p>%1</p>",
"alerts.create-success": "User created!",
"alerts.prompt-email": "Email: ",
"alerts.email-sent-to": "An invitation email has been sent to %1",
"alerts.x-users-found": "%1 user(s) found! Search took %2 ms."
}

View File

@@ -0,0 +1,81 @@
{
"section-general": "عام",
"general/dashboard": "اللوحة الرئيسية",
"general/homepage": "الصفحة الرئيسية",
"general/navigation": "التصفح",
"general/languages": "اللغات",
"general/sounds": "الأصوات",
"general/social": "شبكات التواصل",
"section-manage": "إدارة",
"manage/categories": "الأقسام",
"manage/privileges": "Privileges",
"manage/tags": "الكلمات المفتاحية",
"manage/users": "الأعضاء",
"manage/admins-mods": "Admins & Mods",
"manage/registration": "قائمة انتظار التسجيل",
"manage/post-queue": "قائمة انتظار المشاركة",
"manage/groups": "المجموعات",
"manage/ip-blacklist": "قائمة حظر عناوين IP",
"manage/uploads": "Uploads",
"section-settings": "إعدادات",
"settings/general": "عامة",
"settings/reputation": "السمعة",
"settings/email": "البريد الإلكتروني",
"settings/user": "الأعضاء",
"settings/group": "المجموعات",
"settings/guest": "الزوار",
"settings/uploads": "الرفع",
"settings/post": "المشاركة",
"settings/chat": "الدردشة",
"settings/pagination": "ترقيم الصفحات",
"settings/tags": "الكلمات المفتاحية",
"settings/notifications": "التنبيهات",
"settings/cookies": "Cookies",
"settings/web-crawler": "Web Crawler",
"settings/sockets": "Sockets",
"settings/advanced": "Advanced",
"settings.page-title": "%1 Settings",
"section-appearance": "Appearance",
"appearance/themes": "Themes",
"appearance/skins": "Skins",
"appearance/customise": "Custom Content (HTML/JS/CSS)",
"section-extend": "Extend",
"extend/plugins": "Plugins",
"extend/widgets": "Widgets",
"extend/rewards": "Rewards",
"section-social-auth": "Social Authentication",
"section-plugins": "Plugins",
"extend/plugins.install": "Install Plugins",
"section-advanced": "Advanced",
"advanced/database": "Database",
"advanced/events": "Events",
"advanced/logs": "Logs",
"advanced/errors": "Errors",
"advanced/cache": "Cache",
"development/logger": "Logger",
"development/info": "Info",
"rebuild-and-restart-forum": "Rebuild & Restart Forum",
"restart-forum": "Restart Forum",
"logout": "Log out",
"view-forum": "View Forum",
"search.placeholder": "Search for settings",
"search.no-results": "No results...",
"search.search-forum": "Search the forum for <strong></strong>",
"search.keep-typing": "Type more to see results...",
"search.start-typing": "Start typing to see results...",
"connection-lost": "Connection to %1 has been lost, attempting to reconnect...",
"alerts.version": "Running <strong>NodeBB v%1</strong>",
"alerts.upgrade": "Upgrade to v%1"
}

View File

@@ -0,0 +1,20 @@
{
"maintenance-mode": "Maintenance Mode",
"maintenance-mode.help": "When the forum is in maintenance mode, all requests will be redirected to a static holding page. Administrators are exempt from this redirection, and are able to access the site normally.",
"maintenance-mode.message": "Maintenance Message",
"headers": "Headers",
"headers.allow-from": "Set ALLOW-FROM to Place NodeBB in an iFrame",
"headers.powered-by": "Customise the \"Powered By\" header sent by NodeBB",
"headers.acao": "Access-Control-Allow-Origin",
"headers.acao-help": "To deny access to all sites, leave empty",
"headers.acac": "Access-Control-Allow-Credentials",
"headers.acam": "Access-Control-Allow-Methods",
"headers.acah": "Access-Control-Allow-Headers",
"traffic-management": "Traffic Management",
"traffic.help": "NodeBB deploys equipped with a module that automatically denies requests in high-traffic situations. You can tune these settings here, although the defaults are a good starting point.",
"traffic.enable": "Enable Traffic Management",
"traffic.event-lag": "Event Loop Lag Threshold (in milliseconds)",
"traffic.event-lag-help": "Lowering this value decreases wait times for page loads, but will also show the \"excessive load\" message to more users. (Restart required)",
"traffic.lag-check-interval": "Check Interval (in milliseconds)",
"traffic.lag-check-interval-help": "Lowering this value causes NodeBB to become more sensitive to spikes in load, but may also cause the check to become too sensitive. (Restart required)"
}

View File

@@ -0,0 +1,11 @@
{
"chat-settings": "Chat Settings",
"disable": "Disable chat",
"disable-editing": "Disable chat message editing/deletion",
"disable-editing-help": "Administrators and global moderators are exempt from this restriction",
"max-length": "Maximum length of chat messages",
"max-room-size": "Maximum number of users in chat rooms",
"delay": "Time between chat messages in milliseconds",
"restrictions.seconds-edit-after": "Number of seconds before users are allowed to edit chat messages after posting. (0 disabled)",
"restrictions.seconds-delete-after": "Number of seconds before users are allowed to delete chat messages after posting. (0 disabled)"
}

View File

@@ -0,0 +1,11 @@
{
"eu-consent": "EU Consent",
"consent.enabled": "تفعيل",
"consent.message": "Notification message",
"consent.acceptance": "Acceptance message",
"consent.link-text": "Policy Link Text",
"consent.blank-localised-default": "Leave blank to use NodeBB localised defaults",
"settings": "Settings",
"cookie-domain": "Session cookie domain",
"blank-default": "Leave blank for default"
}

View File

@@ -0,0 +1,37 @@
{
"email-settings": "Email Settings",
"address": "Email Address",
"address-help": "The following email address refers to the email that the recipient will see in the \"From\" and \"Reply To\" fields.",
"from": "From Name",
"from-help": "The from name to display in the email.",
"smtp-transport": "SMTP Transport",
"smtp-transport.enabled": "Use an external email server to send emails",
"smtp-transport-help": "You can select from a list of well-known services or enter a custom one.",
"smtp-transport.service": "Select a service",
"smtp-transport.service-custom": "Custom Service",
"smtp-transport.service-help": "Select a service name above in order to use the known information about it. Alternatively, select 'Custom Service' and enter the details below.",
"smtp-transport.gmail-warning1": "There have been reports of the Gmail service not working on accounts with heightened security. In those scenarios, you will have to <a href=\"https://www.google.com/settings/security/lesssecureapps\">configure your GMail account to allow less secure apps</a>.",
"smtp-transport.gmail-warning2": "For more information about this workaround, <a href=\"https://nodemailer.com/usage/using-gmail/\">please consult this NodeMailer article on the issue.</a> An alternative would be to utilise a third-party emailer plugin such as SendGrid, Mailgun, etc. <a href=\"../extend/plugins\">Browse available plugins here</a>.",
"smtp-transport.host": "SMTP Host",
"smtp-transport.port": "SMTP Port",
"smtp-transport.security": "Connection security",
"smtp-transport.security-encrypted": "Encrypted",
"smtp-transport.security-starttls": "StartTLS",
"smtp-transport.security-none": "None",
"smtp-transport.username": "Username",
"smtp-transport.username-help": "<b>For the Gmail service,</b> enter the full email address here, especially if you are using a Google Apps managed domain.",
"smtp-transport.password": "Password",
"template": "Edit Email Template",
"template.select": "Select Email Template",
"template.revert": "Revert to Original",
"testing": "Email Testing",
"testing.select": "Select Email Template",
"testing.send": "Send Test Email",
"testing.send-help": "The test email will be sent to the currently logged in user's email address.",
"subscriptions": "Email Subscriptions",
"subscriptions.disable": "Disable subscriber notification emails",
"subscriptions.hour": "Digest Hour",
"subscriptions.hour-help": "Please enter a number representing the hour to send scheduled email digests (e.g. <code>0</code> for midnight, <code>17</code> for 5:00pm). Keep in mind that this is the hour according to the server itself, and may not exactly match your system clock.<br /> The approximate server time is: <span id=\"serverTime\"></span><br /> The next daily digest is scheduled to be sent <span id=\"nextDigestTime\"></span>"
}

View File

@@ -0,0 +1,35 @@
{
"site-settings": "Site Settings",
"title": "Site Title",
"title.url": "URL",
"title.url-placeholder": "The URL of the site title",
"title.url-help": "When the title is clicked, send users to this address. If left blank, user will be sent to the forum index.",
"title.name": "Your Community Name",
"title.show-in-header": "Show Site Title in Header",
"browser-title": "Browser Title",
"browser-title-help": "If no browser title is specified, the site title will be used",
"title-layout": "Title Layout",
"title-layout-help": "Define how the browser title will be structured ie. &#123;pageTitle&#125; | &#123;browserTitle&#125;",
"description.placeholder": "A short description about your community",
"description": "Site Description",
"keywords": "Site Keywords",
"keywords-placeholder": "Keywords describing your community, comma-separated",
"logo": "Site Logo",
"logo.image": "Image",
"logo.image-placeholder": "Path to a logo to display on forum header",
"logo.upload": "Upload",
"logo.url": "URL",
"logo.url-placeholder": "The URL of the site logo",
"logo.url-help": "When the logo is clicked, send users to this address. If left blank, user will be sent to the forum index.",
"logo.alt-text": "Alt Text",
"log.alt-text-placeholder": "Alternative text for accessibility",
"favicon": "Favicon",
"favicon.upload": "Upload",
"touch-icon": "Homescreen/Touch Icon",
"touch-icon.upload": "Upload",
"touch-icon.help": "Recommended size and format: 192x192, PNG format only. If no touch icon is specified, NodeBB will fall back to using the favicon.",
"outgoing-links": "Outgoing Links",
"outgoing-links.warning-page": "Use Outgoing Links Warning Page",
"search-default-sort-by": "Search default sort by",
"outgoing-links.whitelist": "Domains to whitelist for bypassing the warning page"
}

View File

@@ -0,0 +1,13 @@
{
"general": "General",
"private-groups": "Private Groups",
"private-groups.help": "If enabled, joining of groups requires the approval of the group owner <em>(Default: enabled)</em>",
"private-groups.warning": "<strong>Beware!</strong> If this option is disabled and you have private groups, they automatically become public.",
"allow-creation": "Allow Group Creation",
"allow-creation-help": "If enabled, users can create groups <em>(Default: disabled)</em>",
"allow-multiple-badges-help": "This flag can be used to allow users to select multiple group badges, requires theme support.",
"max-name-length": "Maximum Group Name Length",
"cover-image": "Group Cover Image",
"default-cover": "Default Cover Images",
"default-cover-help": "Add comma-separated default cover images for groups that don't have an uploaded cover image"
}

View File

@@ -0,0 +1,8 @@
{
"handles": "Guest Handles",
"handles.enabled": "Allow guest handles",
"handles.enabled-help": "This option exposes a new field that allows guests to pick a name to associate with each post they make. If disabled, they will simply be called \"Guest\"",
"privileges": "Guest Privileges",
"privileges.can-search": "Allow guests to search without logging in",
"privileges.can-search-users": "Allow guests to search users without logging in"
}

View File

@@ -0,0 +1,7 @@
{
"notifications": "Notifications",
"welcome-notification": "Welcome Notification",
"welcome-notification-link": "Welcome Notification Link",
"welcome-notification-uid": "Welcome Notification User (UID)",
"notification-alert-timeout": "Notification Alert Timeout"
}

View File

@@ -0,0 +1,11 @@
{
"pagination": "Pagination Settings",
"enable": "Paginate topics and posts instead of using infinite scroll.",
"topics": "Topic Pagination",
"posts-per-page": "Posts per Page",
"max-posts-per-page": "Maximum posts per page",
"categories": "Category Pagination",
"topics-per-page": "Topics per Page",
"max-topics-per-page": "Maximum topics per page",
"initial-num-load": "Initial Number of Topics to Load on Unread, Recent, and Popular"
}

View File

@@ -0,0 +1,54 @@
{
"sorting": "Post Sorting",
"sorting.post-default": "Default Post Sorting",
"sorting.oldest-to-newest": "Oldest to Newest",
"sorting.newest-to-oldest": "Newest to Oldest",
"sorting.most-votes": "Most Votes",
"sorting.most-posts": "Most Posts",
"sorting.topic-default": "Default Topic Sorting",
"length": "Post Length",
"restrictions": "Posting Restrictions",
"restrictions-new": "New User Restrictions",
"restrictions.post-queue": "Enable post queue",
"restrictions-new.post-queue": "Enable new user restrictions",
"restrictions.post-queue-help": "Enabling post queue will put the posts of new users in a queue for approval.",
"restrictions-new.post-queue-help": "Enabling new user restrictions will set restrictions on posts created by new users.",
"restrictions.seconds-between": "Seconds between posts",
"restrictions.seconds-between-new": "Seconds between posts for new users",
"restrictions.rep-threshold": "Reputation threshold before these restrictions are lifted",
"restrictions.seconds-defore-new": "Seconds before new user can post",
"restrictions.seconds-edit-after": "Number of seconds before users are allowed to edit posts after posting. (0 disabled)",
"restrictions.seconds-delete-after": "Number of seconds before users are allowed to delete posts after posting. (0 disabled)",
"restrictions.replies-no-delete": "Number of replies after users are disallowed to delete their own topics. (0 disabled)",
"restrictions.min-title-length": "Minimum Title Length",
"restrictions.max-title-length": "Maximum Title Length",
"restrictions.min-post-length": "Minimum Post Length",
"restrictions.max-post-length": "Maximum Post Length",
"restrictions.days-until-stale": "Days until topic is considered stale",
"restrictions.stale-help": "If a topic is considered \"stale\", then a warning will be shown to users who attempt to reply to that topic.",
"timestamp": "Timestamp",
"timestamp.cut-off": "Date cut-off (in days)",
"timestamp.cut-off-help": "Dates &amp; times will be shown in a relative manner (e.g. \"3 hours ago\" / \"5 days ago\"), and localised into various\n\t\t\t\t\tlanguages. After a certain point, this text can be switched to display the localised date itself\n\t\t\t\t\t(e.g. 5 Nov 2016 15:30).<br /><em>(Default: <code>30</code>, or one month). Set to 0 to always display dates, leave blank to always display relative times.</em>",
"teaser": "Teaser Post",
"teaser.last-post": "Last &ndash; Show the latest post, including the original post, if no replies",
"teaser.last-reply": "Last &ndash; Show the latest reply, or a \"No replies\" placeholder if no replies",
"teaser.first": "First",
"unread": "Unread Settings",
"unread.cutoff": "Unread cutoff days",
"unread.min-track-last": "Minimum posts in topic before tracking last read",
"recent": "Recent Settings",
"recent.categoryFilter.disable": "Disable filtering of topics in ignored categories on the /recent page",
"signature": "Signature Settings",
"signature.disable": "Disable signatures",
"signature.no-links": "Disable links in signatures",
"signature.no-images": "Disable images in signatures",
"signature.max-length": "Maximum Signature Length",
"composer": "Composer Settings",
"composer-help": "The following settings govern the functionality and/or appearance of the post composer shown\n\t\t\t\tto users when they create new topics, or reply to existing topics.",
"composer.show-help": "Show \"Help\" tab",
"composer.enable-plugin-help": "Allow plugins to add content to the help tab",
"composer.custom-help": "Custom Help Text",
"ip-tracking": "IP Tracking",
"ip-tracking.each-post": "Track IP Address for each post",
"enable-post-history": "Enable Post History"
}

View File

@@ -0,0 +1,12 @@
{
"reputation": "Reputation Settings",
"disable": "Disable Reputation System",
"disable-down-voting": "Disable Down Voting",
"votes-are-public": "All Votes Are Public",
"thresholds": "Activity Thresholds",
"min-rep-downvote": "Minimum reputation to downvote posts",
"min-rep-flag": "Minimum reputation to flag posts",
"min-rep-website": "Minimum reputation to add \"Website\" to user profile",
"min-rep-aboutme": "Minimum reputation to add \"About me\" to user profile",
"min-rep-signature": "Minimum reputation to add \"Signature\" to user profile"
}

View File

@@ -0,0 +1,6 @@
{
"reconnection": "Reconnection Settings",
"max-attempts": "Max Reconnection Attempts",
"default-placeholder": "Default: %1",
"delay": "Reconnection Delay"
}

View File

@@ -0,0 +1,12 @@
{
"tag": "Tag Settings",
"min-per-topic": "Minimum Tags per Topic",
"max-per-topic": "Maximum Tags per Topic",
"min-length": "Minimum Tag Length",
"max-length": "Maximum Tag Length",
"goto-manage": "Click here to visit the tag management page.",
"privacy": "Privacy",
"list-private": "Make the tags list private",
"related-topics": "Related Topics",
"max-related-topics": "Maximum related topics to display (if supported by theme)"
}

View File

@@ -0,0 +1,30 @@
{
"posts": "المشاركات",
"allow-files": "السماح للأعضاء بتحميل الملفات الإعتيادية",
"private": "جعل الملفات التي تم رفعها خاصة",
"max-image-width": "تغيير حجم الصور إلى عرض محدد (بالبكسل)",
"max-image-width-help": "(بالبكسل، الافتراضي: 760 بكسل، ضع إلى 0 لتعطيل الخاصية)",
"resize-image-quality": "Quality to use when resizing images",
"resize-image-quality-help": "Use a lower quality setting to reduce the file size of resized images.",
"max-file-size": "الحد الأقصى لحجم الملف (بالكيبيبايت)",
"max-file-size-help": "(بالكيبيبايت، الافتراضي: 2048)",
"allow-topic-thumbnails": "السماح للاعضاء برفع الصور المصغرة للموضوع",
"topic-thumb-size": "حجم الصورة المصغرة للموضوع",
"allowed-file-extensions": "إمتدادات الملفات المسموح بها",
"allowed-file-extensions-help": "أدخل قائمة بامتدادات الملفات مفصولة بفواصل (مثال: <code>pdf,xls,doc</code>). القائمة الفارغة تعني أن كل الامتدادات مسموح بها.",
"profile-avatars": "الصورة الرمزية للملف الشخصي",
"allow-profile-image-uploads": "السماح للأعضاء برفع الصور الرمزية",
"convert-profile-image-png": "تحويل إمتداد الصور الرمزية المرفوعه الى PNG",
"default-avatar": "الصورة الرمزية الافتراضية",
"upload": "رفع",
"profile-image-dimension": "أبعاد الصورة الرمزية",
"profile-image-dimension-help": "(بالبكسل، الافتراضي: 128 بكسل)",
"max-profile-image-size": "الحد الأقصى لحجم الصورة الرمزية",
"max-profile-image-size-help": "(بالكيبيبايت، الافتراضي: 256)",
"max-cover-image-size": "الحد الأقصى لحجم صورة الغلاف",
"max-cover-image-size-help": "(بالكيبيبايت، الافتراضي: 2,048)",
"keep-all-user-images": "الاحتفاظ بالنسخ القديمة من الصور الرمزية وصور الغلاف في السيرفر",
"profile-covers": "غلاف الملف الشخصي",
"default-covers": "صورة الغلاف الافتراضية",
"default-covers-help": "اضف صور الغلاف الافتراضية متبوعة بفواصل لاستخدامها في الحسابات التي لا تحتوي على صور غلاف مرفوعة"
}

View File

@@ -0,0 +1,67 @@
{
"authentication": "المصادقة",
"allow-local-login": "السماح بتسجيل الدخول المحلي",
"require-email-confirmation": "يطلب تأكيد البريد الإلكتروني",
"email-confirm-interval": "لا يمكن للمستخدم إعادة إرسال رسالة تأكيد البريد الالكتروني حتى مرور",
"email-confirm-email2": "دقائق",
"allow-login-with": "السماح بتسجيل الدخول باستخدام",
"allow-login-with.username-email": "اسم المستخدم أو البريد الالكتروني",
"allow-login-with.username": "اسم المستخدم فقط",
"allow-login-with.email": "البريد الالكتروني فقط",
"account-settings": "إعدادت الحساب",
"disable-username-changes": "عدم السماح بتغيير اسم المستخدم",
"disable-email-changes": "عدم السماح بتغيير البريد الالكتروني",
"disable-password-changes": "عدم السماح بتغيير كلمة المرور",
"allow-account-deletion": "السماح بحذف الحساب",
"user-info-private": "إخفاء قائمة المستخدم والبيانات عن الزوار",
"hide-fullname": "إخفاء الإسم الكامل عن المستخدمين",
"hide-email": "إخفاء البريد الإلكتروني عن المستخدمين",
"themes": "القوالب",
"disable-user-skins": "منع المستخدمين من اختيار سمة مخصص",
"account-protection": "حماية الحساب",
"admin-relogin-duration": "المدة حتى طلب إعادة تسجيل الدخول للإدارة (دقائق)",
"admin-relogin-duration-help": "بعد مرور وقت معين، يتوجب إعادة تسجيل الدخول للوصول إلى قسم الإدارة، قم بتعيين القيمة الى 0 لتعطيل الخيار",
"login-attempts": "عدد محاولات تسجيل الدخول في الساعة",
"login-attempts-help": "إذا تجاوزت محاولات تسجيل الدخول لمستخدم معين العدد المحدد، فسوف يتم تأمين الحساب ومنعه من الدخول لمدة من الوقت",
"lockout-duration": "مدة تأمين الحساب (دقائق)",
"login-days": "عدد الأيام لتذكر جلسات تسجيل دخول المستخدم",
"password-expiry-days": "فرض عملية تغيير كلمة المرور بعد مرور عدد محدد من الأيام",
"registration": "تسجيل المستخدم",
"registration-type": "نوع التسجيل",
"registration-type.normal": "عادي",
"registration-type.admin-approval": "بموافقة الإدارة",
"registration-type.admin-approval-ip": "بموافقة الإدارة لعناوين IP",
"registration-type.invite-only": "بالدعوات فقط",
"registration-type.admin-invite-only": "بالدعوات من قبل الإدارة فقط",
"registration-type.disabled": "لا يوجد تسجيل",
"registration-type.help": "عادي - بإمكان المستخدمين التسجيل من خلال صفحة /التسجيل.<br/>\nبموافقة الإدارة - يتم وضع قائمة تسجيلات المستخدمين في <a href=\"%1/admin/manage/registration\">قائمة إنتظار موافقة</a> الإدارة.<br/>\nبموافقة الإدارة لعناوين IP - عادي بالنسبة للمستخدمين الجدد، ويتطلب موافقة الإدارة للتسجيل من عناوين IP تم التسجيل بإستخدامها مسبقاً.<br/>\nبالدعوات فقط - بإمكان المستخدمين إرسال دعوات من خلال صفحة <a href=\"%1/users\" target=\"_blank\">الأعضاء</a>.<br/>\nبالدعوات من قبل الإدارة فقط - فقط المراء بإمكانهم إرسال الدعوات من خلال صفحة <a href=\"%1/users\" target=\"_blank\">الأعضاء</a> و صفحات <a href=\"%1/admin/manage/users\">الإدارة/المشرفين/الأعضاء</a>.<br/>\nلا يوجد تسجيل - إغلاق خيار التسجيل بالكامل.<br/>",
"registration.max-invites": "الحد الأقصى للدعوات لكل عضو",
"max-invites": "الحد الأقصى للدعوات لكل عضو",
"max-invites-help": "0 لعدم تحديد قيود، الإدارة تحصل على دعوات لامحدودة <br> هذا الخيار يعمل فقط عند تحديد خيار \"بالدعوات فقط\"",
"invite-expiration": "مدة صلاحية الدعوة",
"invite-expiration-help": "عدد الأيام حتى انتهاء صلاحية الدعوة.",
"min-username-length": "الحد الأدنى لطول اسم المستخدم",
"max-username-length": "الحد الأقصى لطول اسم المستخدم",
"min-password-length": "الحد الأدنى لطول كلمة المرور",
"min-password-strength": "الحد الأدنى لقوة كلمة المرور",
"max-about-me-length": "الحد الأعلى من الأحرف في حقل \"عني\"",
"terms-of-use": "شروط استخدام المنتدى <small>(تترك فارغة لتعطيلها)</small>",
"user-search": "بحث الأعضاء",
"user-search-results-per-page": "عدد النتائج المراد عرضها",
"default-user-settings": "إعدادات الأعضاء الافتراضية",
"show-email": "عرض البريد الإلكتروني",
"show-fullname": "عرض الاسم الكامل",
"restrict-chat": "السماح فقط برسائل الدردشة من المستخدمين الذين أتبعهم",
"outgoing-new-tab": "Open outgoing links in new tab",
"topic-search": "Enable In-Topic Searching",
"digest-freq": "Subscribe to Digest",
"digest-freq.off": "Off",
"digest-freq.daily": "Daily",
"digest-freq.weekly": "Weekly",
"digest-freq.monthly": "Monthly",
"email-chat-notifs": "Send an email if a new chat message arrives and I am not online",
"email-post-notif": "Send an email when replies are made to topics I am subscribed to",
"follow-created-topics": "Follow topics you create",
"follow-replied-topics": "Follow topics that you reply to",
"default-notification-settings": "Default notification settings"
}

View File

@@ -0,0 +1,10 @@
{
"crawlability-settings": "Crawlability Settings",
"robots-txt": "Custom Robots.txt <small>Leave blank for default</small>",
"sitemap-feed-settings": "Sitemap & Feed Settings",
"disable-rss-feeds": "Disable RSS Feeds",
"disable-sitemap-xml": "Disable Sitemap.xml",
"sitemap-topics": "Number of Topics to display in the Sitemap",
"clear-sitemap-cache": "Clear Sitemap Cache",
"view-sitemap": "View Sitemap"
}

View File

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

View File

@@ -9,6 +9,7 @@
"welcome.text3": "تم قبول نتسجيلك ، يمكنك الدخول باتسخدام اسم المستخدم و كلمة المرور.",
"welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني",
"invitation.text1": "%1 قام بدعوتك للانضمام لـ %2",
"invitation.text2": "Your invitation will expire in %1 days.",
"invitation.ctr": "إضغط هنا لإنشاء حسابك",
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة المرور الخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة المرور، الرجاء تتبع هذا الرابط.",
@@ -30,7 +31,12 @@
"notif.chat.unsub.info": "تم إرسال هذا الإشعار بوجودة محادثة جديدة وفقا لخيارات تسجيلك.",
"notif.post.cta": "انقر هنا لقراءة الموضوع بأكمله",
"notif.post.unsub.info": "تم إشعارك بهذه المشاركة بناءً على الخيارات التي سبق وأن حددتها.",
"notif.cta": "Click here to go to forum",
"test.text1": "هذه رسالة تجريبية للتأكد من صحة إعدادت الرسائل الإلكترونية في منتدى NodeBB خاصتك.",
"unsub.cta": "انقر هنا لتغيير تلك الإعدادات",
"banned.subject": "You have been banned from %1",
"banned.text1": "The user %1 has been banned from %2.",
"banned.text2": "This ban will last until %1.",
"banned.text3": "This is the reason why you have been banned:",
"closing": "شكرًا لك!"
}

View File

@@ -1,19 +1,24 @@
{
"invalid-data": "بيانات غير صحيحة",
"invalid-json": "Invalid JSON",
"not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "تم حظر حسابك مؤقتًا.",
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
"goback": "Press back to return to the previous page",
"invalid-cid": "قائمة غير موجودة",
"invalid-tid": "موضوع غير متواجد",
"invalid-pid": "رد غير موجود",
"invalid-uid": "مستخدم غير موجود",
"invalid-username": "اسم المستخدم غير مقبول",
"invalid-email": "البريد الاكتروني غير مقبول",
"invalid-title": "عنوان غير صحيح",
"invalid-title": "Invalid title",
"invalid-user-data": "بيانات المستخدم غير صحيحة",
"invalid-password": "كلمة السر غير مقبولة",
"invalid-login-credentials": "Invalid login credentials",
"invalid-username-or-password": "المرجود تحديد اسم مستخدم و كلمة مرور",
"invalid-search-term": "كلمة البحث غير صحيحة",
"invalid-url": "Invalid URL",
"local-login-disabled": "Local login system has been disabled for non-privileged accounts.",
"csrf-invalid": "لم تتمكن من تسجيل الدخول. هنالك أحتمال ان جلستك انتهت. رجاءًا حاول مرة اخرى.",
"invalid-pagination-value": "رقم الصفحة غير صحيح ، يجب أن يكون بين %1 و %2 .",
"username-taken": "اسم المستخدم مأخوذ",
@@ -30,6 +35,7 @@
"password-too-long": "كلمة السر طويلة ",
"user-banned": "المستخدم محظور",
"user-banned-reason": "Sorry, this account has been banned (Reason: %1)",
"user-banned-reason-until": "Sorry, this account has been banned until %1 (Reason: %2)",
"user-too-new": "عذرا, يجب أن تنتظر 1% ثواني قبل قيامك بأول مشاركة",
"blacklisted-ip": "نأسف، لقد تم حظرك من استخدام وتصفح المنتدى. إذا كنت تعتقد أن هذا خطأ رجاءًا اتصل بالإدارة. ",
"ban-expiry-missing": "رجاءًا ضع تاريخ نهاية الحظر. ",
@@ -77,6 +83,7 @@
"cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.",
"cant-remove-last-admin": "رجاءًا ، أضف مدير أخر قبل حذف صلاحيات الإدارة من حسابك.",
"cant-delete-admin": "رجاءًا أزل صلاحيات الإدارة قبل حذف الحساب. ",
"invalid-image": "Invalid image",
"invalid-image-type": "نوع الصورة غير مدعوم. الأنواع المدعومة هي : %1",
"invalid-image-extension": "امتداد الصورة غير مدعوم.",
"invalid-file-type": "صيغة الملف غير مدعومة. الأنواع المدعومة هي: %1",
@@ -104,21 +111,31 @@
"chat-disabled": "نظام المحادثة معطل.",
"too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً",
"invalid-chat-message": "الرسالة غير صالحة.",
"chat-message-too-long": "الرسالة طويلة.",
"chat-message-too-long": "Chat messages can not be longer than %1 characters.",
"cant-edit-chat-message": "غير مصرح لك بتعديل الرسالة.",
"cant-remove-last-user": "لأيمكنك إزالت اخر مستخدم.",
"cant-delete-chat-message": "غير مصرح لك بحذف الرسالة.",
"chat-edit-duration-expired": "You are only allowed to edit chat messages for %1 second(s) after posting",
"chat-delete-duration-expired": "You are only allowed to delete chat messages for %1 second(s) after posting",
"chat-deleted-already": "This chat message has already been deleted.",
"chat-restored'already": "This chat message has already been restored.",
"already-voting-for-this-post": "لقد شاركت بالتصويت ، ألا تذكر؟",
"reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة",
"not-enough-reputation-to-downvote": "ليس لديك سمعة تكفي لإضافة صوت سلبي لهذا الموضوع",
"not-enough-reputation-to-flag": "ليس لديك سمعة تكفي للإشعار بموضوع مخل",
"not-enough-reputation-min-rep-website": "You do not have enough reputation to add a website",
"not-enough-reputation-min-rep-aboutme": "You do not have enough reputation to add an about me",
"not-enough-reputation-min-rep-signature": "You do not have enough reputation to add a signature",
"already-flagged": "لقد بلغت عن هذه المشاركة من قبل.",
"self-vote": "You cannot vote on your own post",
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
"registration-error": "حدث خطأ أثناء التسجيل",
"parse-error": "حدث خطأ ما أثناء تحليل استجابة الخادم",
"wrong-login-type-email": "الرجاء استعمال بريدك اﻹلكتروني للدخول",
"wrong-login-type-username": "الرجاء استعمال اسم المستخدم الخاص بك للدخول",
"sso-registration-disabled": "Registration has been disabled for %1 accounts, please register with an email address first",
"sso-multiple-association": "You cannot associate multiple accounts from this service to your NodeBB account. Please dissociate your existing account and try again.",
"invite-maximum-met": "لقد قمت بدعوة الحد الأقصى من الأشخاص (%1 من %2)",
"no-session-found": "لم دخول مسجل!",
"not-in-room": "المستخدم غير موجود في الغرفة.",
@@ -127,5 +144,9 @@
"no-users-selected": "لا يوجد مستخدم محدد.",
"invalid-home-page-route": "Invalid home page route",
"invalid-session": "Session Mismatch",
"invalid-session-text": "يبدو أن فترة التسجيل لم تعد قائمة او هي غير مطابقة مع الخادم. يرجى إعادة تحميل هذه الصفحة."
"invalid-session-text": "يبدو أن فترة التسجيل لم تعد قائمة او هي غير مطابقة مع الخادم. يرجى إعادة تحميل هذه الصفحة.",
"no-topics-selected": "No topics selected!",
"cant-move-to-same-topic": "Can't move post to same topic!",
"cannot-block-self": "You cannot block yourself!",
"cannot-block-privileged": "You cannot block administrators or global moderators"
}

View File

@@ -0,0 +1,65 @@
{
"state": "State",
"reporter": "Reporter",
"reported-at": "Reported At",
"description": "Description",
"no-flags": "Hooray! No flags found.",
"assignee": "Assignee",
"update": "Update",
"updated": "Updated",
"target-purged": "The content this flag referred to has been purged and is no longer available.",
"quick-filters": "Quick Filters",
"filter-active": "There are one or more filters active in this list of flags",
"filter-reset": "Remove Filters",
"filters": "Filter Options",
"filter-reporterId": "Reporter UID",
"filter-targetUid": "Flagged UID",
"filter-type": "Flag Type",
"filter-type-all": "All Content",
"filter-type-post": "Post",
"filter-type-user": "User",
"filter-state": "State",
"filter-assignee": "Assignee UID",
"filter-cid": "Category",
"filter-quick-mine": "Assigned to me",
"filter-cid-all": "All categories",
"apply-filters": "Apply Filters",
"quick-links": "Quick Links",
"flagged-user": "Flagged User",
"view-profile": "View Profile",
"start-new-chat": "Start New Chat",
"go-to-target": "View Flag Target",
"user-view": "View Profile",
"user-edit": "Edit Profile",
"notes": "Flag Notes",
"add-note": "Add Note",
"no-notes": "No shared notes.",
"history": "Flag History",
"back": "Back to Flags List",
"no-history": "No flag history.",
"state-all": "All states",
"state-open": "New/Open",
"state-wip": "Work in Progress",
"state-resolved": "Resolved",
"state-rejected": "Rejected",
"no-assignee": "Not Assigned",
"note-added": "Note Added",
"modal-title": "Report Inappropriate Content",
"modal-body": "Please specify your reason for flagging %1 %2 for review. Alternatively, use one of the quick report buttons if applicable.",
"modal-reason-spam": "Spam",
"modal-reason-offensive": "Offensive",
"modal-reason-other": "Other (specify below)",
"modal-reason-custom": "Reason for reporting this content...",
"modal-submit": "Submit Report",
"modal-submit-success": "Content has been flagged for moderation.",
"modal-submit-confirm": "Confirm Submission",
"modal-submit-confirm-text": "You have a custom reason specified already. Are you sure you wish to submit via quick-report?",
"modal-submit-confirm-text-help": "Submitting a quick report will overwrite any custom reasons defined."
}

View File

@@ -4,7 +4,7 @@
"buttons.close": "أغلق",
"403.title": "غير مسموح بالدخول",
"403.message": "يبدو أنك قد تعثرت على صفحة لا تمتلك الصلاحية للدخول إليها",
"403.login": "حاول أن <a href='%1/login'>تسجل دخولك</a>.",
"403.login": "ربما يجب عليك <a href='%1/login'>تسجل دخولك</a>.",
"404.title": "لم يتم العثور",
"404.message": "الصفحة غير موجودة. العودة لـ <a href='%1/'>الرئيسية</a>",
"500.title": "خطأ داخلي",
@@ -13,19 +13,19 @@
"400.message": "الرابط غير صحيح. رجاءًا تأكد من الرابط أو ارجع لـ <a href='%1/'>الرئيسية</a>",
"register": "تسجيل",
"login": "دخول",
"please_log_in": "المرجو تسجيل الدخول",
"please_log_in": "الرجاء تسجيل الدخول",
"logout": "تسجيل الخروج",
"posting_restriction_info": "إضافة مشاركات جديد حكر على الأعضاء المسجلين، انقر هنا لتسجيل الدخول.",
"welcome_back": "مرحبًا بعودتك",
"you_have_successfully_logged_in": "تم سجيل الدخول بنجاح",
"save_changes": "حفظ التغييرات",
"save": "Save",
"save": "حفظ",
"close": "أغلق",
"pagination": "الصفحات",
"pagination.out_of": "%1 من %2",
"pagination.enter_index": "أدخل الرقم التسلسلي",
"header.admin": "مدبر نظام",
"header.categories": "الفئات",
"header.admin": "مدير النظام",
"header.categories": "الأقسام",
"header.recent": "حديث",
"header.unread": "غير مقروء",
"header.tags": "وسم",
@@ -37,9 +37,9 @@
"header.search": "بحث",
"header.profile": "ملف",
"header.navigation": "الاستكشاف",
"notifications.loading": "تحميل التبليغات",
"notifications.loading": "تحميل التنبيهات",
"chats.loading": "تحميل الدردشات",
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
"motd.welcome": "مرحبا بكم في NodeBB، منصة المناقشة المستقبلية.",
"previouspage": "الصفحة السابقة",
"nextpage": "الصفحة التالية",
"alert.success": "نجاح",
@@ -53,6 +53,7 @@
"topics": "المواضيع",
"posts": "المشاركات",
"best": "الأفضل",
"votes": "Votes",
"upvoters": "الموافقين",
"upvoted": "مصوت بالموجب",
"downvoters": "مصوتين بالسالب",
@@ -75,7 +76,7 @@
"norecenttopics": "لاوجود لمواضيع جديدة",
"recentposts": "آخر المشاركات",
"recentips": "آخر عناوين ال IP التي سجلت الدخول",
"moderator_tools": "Moderator Tools",
"moderator_tools": "أدوات المشرف",
"away": "غير متواجد",
"dnd": "عدم الإزعاج",
"invisible": "مخفي",
@@ -85,7 +86,7 @@
"guest": "زائر",
"guests": "الزوار",
"updated.title": "تم تحديث المنتدى",
"updated.message": "لقد تم تحديث المنتدى إلى آخر نسخة للتو. المرجو إعادة تحميل الصفحة.",
"updated.message": "لقد تم تحديث المنتدى إلى آخر نسخة للتو. إضغط هنا لإعادة تحميل الصفحة.",
"privacy": "الخصوصية",
"follow": "متابعة",
"unfollow": "إلغاء المتابعة",
@@ -96,11 +97,16 @@
"enter_page_number": "ادخل رقم الصفحة",
"upload_file": "ارفع ملف",
"upload": "ارفع",
"uploads": "Uploads",
"allowed-file-types": "صيغ الملفات المدعومة هي 1%",
"unsaved-changes": "لديك تغييرات لم تحفظ. هل أنت متأكد من تغيير الصفحة؟",
"unsaved-changes": "لديك تغييرات لم تحفظ. هل أنت متأكد من رغبتك بمغادرة الصفحة؟",
"reconnecting-message": "يبدو أن اتصالك لـ %1 قد فقد. رجاءًا أنتظر ثم حاول الإتصال مرة اخرى.",
"play": "Play",
"cookies.message": "This website uses cookies to ensure you get the best experience on our website.",
"cookies.accept": "Got it!",
"cookies.learn_more": "Learn More"
"play": "تشغيل",
"cookies.message": "هذا الموقع يستخدم ملفات تعريف الارتباط لضمان حصولك على أفضل تجربة على موقعنا.",
"cookies.accept": "فهمت الأمر!",
"cookies.learn_more": "أعرف المزيد",
"edited": "حُرِر",
"disabled": "معطل",
"select": "تحديد",
"user-search-prompt": "Type something here to find users..."
}

View File

@@ -27,6 +27,7 @@
"details.disableJoinRequests": "Disable join requests",
"details.grant": "منح/سحب المِلكية",
"details.kick": "طرد",
"details.kick_confirm": "Are you sure you want to remove this member from the group?",
"details.owner_options": "إدارة المجموعة",
"details.group_name": "اسم المجموعة",
"details.member_count": "عدد اﻷعضاء",
@@ -52,5 +53,6 @@
"new-group.group_name": "اسم المجموعة",
"upload-group-cover": "Upload group cover",
"bulk-invite-instructions": "Enter a list of comma separated usernames to invite to this group",
"bulk-invite": "Bulk Invite"
"bulk-invite": "Bulk Invite",
"remove_group_cover_confirm": "Are you sure you want to remove the cover picture?"
}

View File

@@ -5,8 +5,8 @@
"remember_me": "تذكرني؟",
"forgot_password": "نسيت كلمة المرور؟",
"alternative_logins": "تسجيلات الدخول البديلة",
"failed_login_attempt": "Login Unsuccessful",
"failed_login_attempt": "تسجيل الدخول غير ناجح",
"login_successful": "قمت بتسجيل الدخول بنجاح!",
"dont_have_account": "لا تملك حساب؟",
"logged-out-due-to-inactivity": "You have been logged out of the Admin Control Panel due to inactivity"
"logged-out-due-to-inactivity": "لقد تم تسجيل خروجك من لوحة تحكم بسبب عدم نشاطك"
}

View File

@@ -1,5 +1,5 @@
{
"chat.chatting_with": "الدردشة مع <span id=\"chat-with-name\"></span>",
"chat.chatting_with": "Chat with",
"chat.placeholder": "أكتب رسالة دردشة هنا، اضغط ENTER للإرسال",
"chat.send": "أرسل",
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
@@ -12,13 +12,26 @@
"chat.recent-chats": "آخر الدردشات",
"chat.contacts": "الأصدقاء",
"chat.message-history": "تاريخ الرسائل",
"chat.options": "Chat options",
"chat.pop-out": "افتح الدردشة في نافذة خاصة",
"chat.minimize": "Minimize",
"chat.maximize": "تكبير",
"chat.seven_days": "7 أيام",
"chat.thirty_days": "30 يومًا",
"chat.three_months": "3 أشهر",
"chat.delete_message_confirm": "هل أنت متأكد من أنك تريد حذف هذه الرسالة؟",
"chat.add-users-to-room": "Add users to room",
"chat.retrieving-users": "Retrieving users...",
"chat.manage-room": "Manage Chat Room",
"chat.add-user-help": "Search for users here. When selected, the user will be added to the chat. The new user will not be able to see chat messages written before they were added to the conversation. Only room owners may remove users from chat rooms.",
"chat.confirm-chat-with-dnd-user": "This user has set their status to DnD(Do not disturb). Do you still want to chat with them?",
"chat.rename-room": "Rename Room",
"chat.rename-placeholder": "Enter your room name here",
"chat.rename-help": "The room name set here will be viewable by all participants in the room.",
"chat.leave": "Leave Chat",
"chat.leave-prompt": "Are you sure you wish to leave this chat?",
"chat.leave-help": "Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.",
"chat.in-room": "In this room",
"chat.kick": "Kick",
"composer.compose": "اكتب",
"composer.show_preview": "عرض المعاينة",
"composer.hide_preview": "إخفاء المعاينة",

View File

@@ -9,7 +9,17 @@
"continue_to": "استمر إلى %1",
"return_to": "عودة إى %1",
"new_notification": "تنبيه جديد",
"new_notification_from": "You have a new Notification from %1",
"you_have_unread_notifications": "لديك تنبيهات غير مقروءة.",
"all": "All",
"topics": "Topics",
"replies": "Replies",
"chat": "Chats",
"follows": "Follows",
"upvote": "Upvotes",
"new-flags": "New Flags",
"my-flags": "Flags assigned to me",
"bans": "Bans",
"new_message_from": "رسالة جديدة من <strong>%1</strong>",
"upvoted_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>.",
@@ -19,6 +29,9 @@
"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_flagged_user": "<strong>%1</strong> flagged a user profile (%2)",
"user_flagged_user_dual": "<strong>%1</strong> and <strong>%2</strong> flagged a user profile (%3)",
"user_flagged_user_multiple": "<strong>%1</strong> and %2 others flagged a user profile (%3)",
"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>",
@@ -28,8 +41,24 @@
"user_started_following_you_multiple": "<strong>%1</strong> and %2 others started following you.",
"new_register": "<strong>%1</strong> sent a registration request.",
"new_register_multiple": "There are <strong>%1</strong> registration requests awaiting review.",
"flag_assigned_to_you": "<strong>Flag %1</strong> has been assigned to you",
"post_awaiting_review": "Post awaiting review",
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
"email-confirm-sent": "تم إرسال بريد التفعيل."
"email-confirm-sent": "تم إرسال بريد التفعيل.",
"none": "None",
"notification_only": "Notification Only",
"email_only": "Email Only",
"notification_and_email": "Notification & Email",
"notificationType_upvote": "When someone upvotes your post",
"notificationType_new-topic": "When someone you follow posts a topic",
"notificationType_new-reply": "When a new reply is posted in a topic you are watching",
"notificationType_follow": "When someone starts following you",
"notificationType_new-chat": "When you receive a chat message",
"notificationType_group-invite": "When you receive a group invite",
"notificationType_new-register": "When someone gets added to registration queue",
"notificationType_post-queue": "When a new post is queued",
"notificationType_new-post-flag": "When a post is flagged",
"notificationType_new-user-flag": "When a user is flagged"
}

View File

@@ -6,8 +6,11 @@
"popular-month": "المواضيع الشائعة هذا الشهر",
"popular-alltime": "المواضيع الشائعة منذ القدم",
"recent": "المواضيع الحديثة",
"flagged-posts": "Flagged Posts",
"top": "Top Voted Topics",
"moderator-tools": "Moderator Tools",
"flagged-content": "Flagged Content",
"ip-blacklist": "IP Blacklist",
"post-queue": "Post Queue",
"users/online": "اﻷعضاء المتصلون",
"users/latest": "أحدث اﻷعضاء",
"users/sort-posts": "الأعضاء الأكثر نشاطاً",
@@ -17,7 +20,7 @@
"users/search": "بحث عن مستخدم",
"notifications": "التنبيهات",
"tags": "الكلمات الدلالية",
"tag": "المواضيع المرتبطة بالوسم %1",
"tag": "Topics tagged under &quot;%1&quot;",
"register": "تسجيل حساب",
"registration-complete": "Registration complete",
"login": "سجل الدخول الى حسابك",
@@ -27,6 +30,8 @@
"group": "%1 مجموعة",
"chats": "محادثات",
"chat": "Chatting with %1",
"flags": "Flags",
"flag-details": "Flag %1 Details",
"account/edit": "Editing \"%1\"",
"account/edit/password": "Editing password of \"%1\"",
"account/edit/username": "Editing username of \"%1\"",
@@ -40,9 +45,12 @@
"account/bookmarks": "%1's Bookmarked Posts",
"account/settings": "خيارات المستخدم",
"account/watched": "Topics watched by %1",
"account/ignored": "Topics ignored by %1",
"account/upvoted": "Posts upvoted by %1",
"account/downvoted": "Posts downvoted by %1",
"account/best": "Best posts made by %1",
"account/blocks": "Blocked users for %1",
"account/uploads": "Uploads by %1",
"confirm": "تم التحقق من عنوان البريد الإلكتروني",
"maintenance.text": "جاري صيانة %1. المرجو العودة لاحقًا.",
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:",

View File

@@ -2,8 +2,8 @@
"register": "تسجيل",
"cancel_registration": "إلغاء التسجيل",
"help.email": "افتراضيا، سيتم إخفاء بريدك الإلكتروني من العامة.",
"help.username_restrictions": "اسم مستخدم فريدة من نوعها بين1% و2% حرفا. يمكن للآخرين ذكرك @ <'span id='your-username> اسم المستخدم </span>.",
"help.minimum_password_length": "كلمة المرور يجب أن تكون على الأقل بها 1% أحرف",
"help.username_restrictions": "اسم مستخدم فريدة من نوعها بين 1% و 2% حرفا. بإمكان الآخرين مناداتك بـ @<span id='yourUsername'>اسم المستخدم</span>.",
"help.minimum_password_length": "كلمة المرور يجب أن تتكون على الأقل من 1% أحرف/حروف",
"email_address": "عنوان البريد الإلكتروني",
"email_address_placeholder": "ادخل عنوان البريد الإلكتروني",
"username": "اسم المستخدم",
@@ -16,8 +16,11 @@
"alternative_registration": "طريقة تسجيل بديلة",
"terms_of_use": "شروط الاستخدام",
"agree_to_terms_of_use": "أوافق على شروط الاستخدام",
"terms_of_use_error": "You must agree to the 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.",
"interstitial.intro": "We require some additional information before we can create your account.",
"interstitial.errors-found": "We could not complete your registration:"
"terms_of_use_error": "يجب عليك الموافقة على شروط الاستخدام",
"registration-added-to-queue": "تمت إضافتك في قائمة الإنتضار. ستتلقى رسالة إلكترونية عند الموافقة على تسجيلك من قبل الإدارة.",
"interstitial.intro": "نحتاج إلى بعض المعلومات الإضافية قبل أن نتمكن من إنشاء حسابك.",
"interstitial.errors-found": "تعذر علينا إتمام عملية التسجيل:",
"gdpr_agree_data": "I consent to the collection and processing of my personal information on this website.",
"gdpr_agree_email": "I consent to receive digest and notification emails from this website.",
"gdpr_consent_denied": "You must give consent to this site to collect/process your information, and to send you emails."
}

View File

@@ -9,7 +9,7 @@
"repeat_password": "تأكيد كلمة المرور",
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
"enter_email_address": "ادخل عنوان البريد الإلكتروني",
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
"password_reset_sent": "A password reset email has been sent to the specified address. Please note that only one email will be sent per minute.",
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود",
"password_too_short": "كلمة المرور التي أدخلتها قصيرة، الرجاء اختر كلمة مرور مختلفة",
"passwords_do_not_match": "كلمتا السر التي أدخلتهما غير متطابقتان",

View File

@@ -5,12 +5,17 @@
"in": "في",
"titles": "العناوين",
"titles-posts": "العناوين والمشاركات",
"match-words": "Match words",
"all": "All",
"any": "Any",
"posted-by": "مشاركة من طرف",
"in-categories": "في الفئات",
"search-child-categories": "بحث في الفئات الفرعية",
"has-tags": "Has tags",
"reply-count": "عدد المشاركات",
"at-least": "على اﻷقل",
"at-most": "على اﻷكثر",
"relevance": "Relevance",
"post-time": "تاريخ المشاركة",
"newer-than": "أحدث من",
"older-than": "أقدم من",

View File

@@ -1,6 +1,7 @@
{
"success": "نجاح",
"topic-post": "لقد تمت الإضافة بنجاح.",
"post-queued": "Your post is queued for approval.",
"authentication-successful": "تم تسجيل الدخول بنجاح",
"settings-saved": "تم حفظ التغييرات!"
}

View File

@@ -13,7 +13,9 @@
"notify_me": "تلق تنبيهات بالردود الجديدة في هذا الموضوع",
"quote": "اقتبس",
"reply": "رد",
"replies_to_this_post": "Replies: %1",
"replies_to_this_post": "%1 Replies",
"one_reply_to_this_post": "1 Reply",
"last_reply_time": "Last reply",
"reply-as-topic": "رد بموضوع",
"guest-login-reply": "يجب عليك تسجيل الدخول للرد",
"edit": "تعديل",
@@ -25,28 +27,15 @@
"link": "رابط",
"share": "نشر",
"tools": "أدوات",
"flag": "تبليغ",
"locked": "مقفل",
"pinned": "مثبت",
"moved": "منقول",
"copy-ip": "Copy IP",
"ban-ip": "Ban IP",
"view-history": "Edit History",
"bookmark_instructions": "اضغط هنا للعودة لأخر مشاركة مقروءة في الموضوع",
"flag_title": "إشعار بمشاركة مخلة.",
"flag_success": "تم الإشعار بهذه المشاركة على أنها مخلة",
"flag_manage_title": "Flagged post in %1",
"flag_manage_history": "Action History",
"flag_manage_no_history": "No event history to report",
"flag_manage_assignee": "Assignee",
"flag_manage_state": "State",
"flag_manage_state_open": "New/Open",
"flag_manage_state_wip": "Work in Progress",
"flag_manage_state_resolved": "Resolved",
"flag_manage_state_rejected": "Rejected",
"flag_manage_notes": "Shared Notes",
"flag_manage_update": "Update Flag Status",
"flag_manage_history_assignee": "Assigned to %1",
"flag_manage_history_state": "Updated state to %1",
"flag_manage_history_notes": "Updated flag notes",
"flag_manage_saved": "Flag Details Updated",
"merged_message": "This topic has been merged into <a href=\"/topic/%1\">%2</a>",
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
"not_following_topic.message": "You will see this topic in the unread topics list, but you will not receive notifications when somebody posts to this topic.",
@@ -67,13 +56,15 @@
"not-watching.description": "Do not notify me of new replies.<br/>Show topic in unread if category is not ignored.",
"ignoring.description": "Do not notify me of new replies.<br/>Do not show topic in unread.",
"thread_tools.title": "أدوات الموضوع",
"thread_tools.markAsUnreadForAll": "Mark unread for all",
"thread_tools.markAsUnreadForAll": "Mark Unread For All",
"thread_tools.pin": "علق الموضوع",
"thread_tools.unpin": "إلغاء تعليق الموضوع",
"thread_tools.lock": "أقفل الموضوع",
"thread_tools.unlock": "إلغاء إقفال الموضوع",
"thread_tools.move": "نقل الموضوع",
"thread_tools.move-posts": "Move Posts",
"thread_tools.move_all": "نقل الكل",
"thread_tools.select_category": "Select Category",
"thread_tools.fork": "إنشاء فرع الموضوع",
"thread_tools.delete": "حذف الموضوع",
"thread_tools.delete-posts": "مشاركات محذوفة",
@@ -82,12 +73,13 @@
"thread_tools.restore_confirm": "هل أنت متأكد أنك تريد استعادة هذا الموضوع؟",
"thread_tools.purge": "تطهير الموضوع",
"thread_tools.purge_confirm": "هل أنت متأكد أنك تريد تطهير هذا الموضوع؟",
"thread_tools.merge_topics": "Merge Topics",
"thread_tools.merge": "Merge",
"topic_move_success": "تم نقل هذا الموضوع إلى %1 بنجاح",
"post_delete_confirm": "هل أنت متأكد أنك تريد حذف هذه المشاركة؟",
"post_restore_confirm": "هل أنت متأكد أنك تريد استعادة هذه المشاركة؟",
"post_purge_confirm": "هل أنت متأكد أنك تريد تطهير هذه المشاركة؟",
"load_categories": "تحميل الفئات",
"disabled_categories_note": "الفئات المعطلة رمادية",
"confirm_move": "انقل",
"confirm_fork": "فرع",
"bookmark": "Bookmark",
@@ -99,12 +91,13 @@
"move_post": "نقل المشاركة",
"post_moved": "تم نقل المشاركة",
"fork_topic": "فرع الموضوع",
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
"fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها",
"fork_no_pids": "لم تختر أي مشاركة",
"fork_pid_count": "1% مشاركة محددة",
"fork_success": "تم إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
"delete_posts_instruction": "Click the posts you want to delete/purge",
"merge_topics_instruction": "Click the topics you want to merge",
"move_posts_instruction": "Click the posts you want to move",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
"composer.handle_placeholder": "اﻹسم",
"composer.discard": "نبذ التغييرات",
@@ -125,14 +118,16 @@
"sort_by": "ترتيب حسب",
"oldest_to_newest": "من الأقدم إلى الأحدث",
"newest_to_oldest": "من الأحدث إلى الأقدم",
"most_votes": "الأكثر تصويتًا",
"most_posts": "اﻷكثر رداً",
"most_votes": "Most Votes",
"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": "موضوع جديد",
"stale.reply_anyway": "الرد على هذا الموضوع ",
"link_back": "رد: [%1](%2)",
"spam": "سبام",
"offensive": "مسيئ",
"custom-flag-reason": "أدخل سبب التبليغ"
"diffs.title": "Post Edit History",
"diffs.description": "This post has <strong>%1</strong> revisions. Click one of the revisions below to see the post content at that point in time.",
"diffs.no-revisions-description": "This post has <strong>%1</strong> revisions.",
"diffs.current-revision": "current revision",
"diffs.original-revision": "original revision"
}

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