Compare commits

...

3951 Commits

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

Also added image extension check to prevent security issues
2015-07-02 13:03:43 +03:00
Julian Lam
f2bebb12c6 turns out "detached" isn't even an option, so I've removed it altogether
Conflicts:
	nodebb
2015-06-30 22:23:27 -04:00
barisusakli
f2c45e98da escape users group data 2015-06-30 15:25:25 -04:00
barisusakli
c5b9c9254a #3275 2015-06-30 13:38:11 -04:00
psychobunny
65e2c4cd20 missing error 2015-06-29 16:58:34 -04:00
psychobunny
bf3b5ee318 closes #3264 2015-06-29 15:32:35 -04:00
psychobunny
a285e0734d closes #3274 2015-06-29 15:16:36 -04:00
barisusakli
d135f37b4f check register queue against stopforumspam 2015-06-29 13:20:25 -04:00
barisusakli
5ee1951245 closes #3271 2015-06-28 21:54:21 -04:00
barisusakli
54226a86b4 fix group name link 2015-06-28 14:04:11 -04:00
barisusakli
57c2418157 closes #1306 2015-06-27 21:26:19 -04:00
barisusakli
de228fa67d display 404 page if registration is disabled 2015-06-26 12:18:14 -04:00
Barış Soner Uşaklı
0ba0f70581 Merge pull request #3269 from rbeer/acp_menu.plugins-icon
use icon for plugin entries
2015-06-26 11:41:58 -04:00
Raphael Beer
74a7bdf589 use icon for plugin entries 2015-06-26 11:47:42 +02:00
barisusakli
ea818e2af8 closes #3259 2015-06-25 15:15:33 -04:00
barisusakli
718f61e3bd closes #3263 2015-06-24 17:15:58 -04:00
barisusakli
a31178ebd8 closes #3258 2015-06-23 17:05:40 -04:00
barisusakli
2b0b2ea858 fix search by ip 2015-06-23 15:43:33 -04:00
Barış Soner Uşaklı
981a7558f7 use group name, hidden groups are not in groupslug:groupname 2015-06-23 14:08:04 -04:00
Barış Soner Uşaklı
6fc073d33e if key is fasly not a member 2015-06-23 13:35:58 -04:00
yariplus
13e12ba3a5 Add minimum tags per topic setting. 2015-06-23 10:23:56 -04:00
psychobunny
5ff9a7f9a9 allow multiline support for translator
see: https://github.com/psychobunny/templates.js/issues/36
2015-06-22 16:19:31 -04:00
psychobunny
3a21329c5e allow admins to remove themselves as admin
but only if they are not the last admin left
2015-06-22 16:03:32 -04:00
psychobunny
98cde1a9d6 missing lang key for error: cant-remove-last-admin 2015-06-22 16:02:57 -04:00
barisusakli
b89b4d066a max chars 2015-06-22 15:50:22 -04:00
psychobunny
fbeb6bc0ce closes #3254
@barisusakli :trollface:
2015-06-22 15:31:22 -04:00
barisusakli
38b838d462 closes #2754
moved group edit from modal to its own page
added hidden/private to group edit in acp, they were only in the client
groups page
moved add users above member list
2015-06-22 13:10:18 -04:00
barisusakli
1d72a8f0ee fix composer redirect on home page 2015-06-21 16:28:52 -04:00
barisusakli
f974af2247 fix for #3246 2015-06-21 02:14:37 -04:00
barisusakli
2deeda553a closes #3246 2015-06-21 01:58:11 -04:00
barisusakli
8160188ef5 use correct names 2015-06-20 01:26:50 -04:00
barisusakli
c81d6f8b57 refactor groups.invite request member ship 2015-06-20 01:25:40 -04:00
barisusakli
dc351fa320 removed hack for https://github.com/psychobunny/templates.js/issues/33 2015-06-19 20:13:52 -04:00
barisusakli
6fd772756c on user delete leaveAllGroups and remove from pending invited sets as well 2015-06-19 17:37:19 -04:00
psychobunny
19b50c8888 missing lang key for already-flagged 2015-06-19 17:32:04 -04:00
psychobunny
a5365e968d post*.flag 2015-06-19 17:30:41 -04:00
psychobunny
b5b9a190e4 console.log 2015-06-19 17:23:13 -04:00
psychobunny
28e9874ba9 allow moderators/admins with 0 rep to still be able to flag a post 2015-06-19 17:22:14 -04:00
psychobunny
b655e18cee action:posts.flag 2015-06-19 17:10:29 -04:00
barisusakli
ba4e8c8955 small refactor to group show/hide 2015-06-19 15:59:38 -04:00
barisusakli
dff1a04585 more category hooks 2015-06-19 15:39:37 -04:00
Barış Soner Uşaklı
abfd58a1a9 Merge pull request #3219 from rbeer/topic.del-payload
send topicData on action:topic.delete
2015-06-19 15:30:46 -04:00
barisusakli
5445e32522 2 new hooks 2015-06-19 15:11:22 -04:00
barisusakli
9d562a8708 closes #3245 2015-06-19 14:33:56 -04:00
barisusakli
5f5b11f692 closes #3242 2015-06-19 00:31:47 -04:00
barisusakli
0ef2ccc130 closes #3240 2015-06-17 14:57:10 -04:00
barisusakli
ed173e0a32 closes #3217 2015-06-17 14:13:29 -04:00
barisusakli
cea385e572 closes #3223 2015-06-15 16:55:29 -04:00
barisusakli
536c443c1e closes #3231 2015-06-15 16:03:38 -04:00
barisusakli
8e74d8f4fa removed parallel 2015-06-15 14:54:28 -04:00
Julian Lam
29c9b2e69f requiring markdown v3 now 2015-06-11 15:50:19 -04:00
barisusakli
f6d025bc3f only call updatevisibility if hidden is passed in 2015-06-11 14:54:01 -04:00
psychobunny
93fe660892 woops 2015-06-10 19:20:20 -04:00
psychobunny
15a8ebaeff only load rjs modules that are required on startup 2015-06-10 19:19:39 -04:00
psychobunny
9583c5bf93 markdown 2.1.10 2015-06-10 19:02:58 -04:00
barisusakli
1bbce82c23 duh #3192 2015-06-10 15:58:07 -04:00
barisusakli
8ff7ba82c2 closes #3192 2015-06-10 15:56:47 -04:00
psychobunny
40408eb7a1 tjs 0.2.6 2015-06-10 15:49:03 -04:00
barisusakli
6d0d74a6e9 moved topic search end to topics.js 2015-06-10 14:16:35 -04:00
barisusakli
2880a77a9f closes #3130 2015-06-09 17:47:10 -04:00
psychobunny
a6cfdc7508 square buttons on acp 2015-06-09 16:05:45 -04:00
psychobunny
74de675b93 view sitemap button 2015-06-09 15:59:26 -04:00
psychobunny
071922d3ba linking the two tag administration pages together 2015-06-09 15:56:14 -04:00
psychobunny
7689b60773 added maintenance mode link; moved info about reloading into tooltips 2015-06-09 15:47:18 -04:00
psychobunny
0ea35beea6 system control panel 2015-06-09 15:39:22 -04:00
psychobunny
ff234bccfe redirectToLogin() 2015-06-09 15:35:19 -04:00
psychobunny
deda4a4ed6 fixes for 503's in maintenance mode 2015-06-09 15:31:45 -04:00
psychobunny
e3ee3de95d lint 2015-06-09 15:31:43 -04:00
barisusakli
387a5e36b2 search fix, moved topic search to topic.js 2015-06-09 15:10:37 -04:00
Julian Lam
1fef40eb6f updated readme, as oer #3178 2015-06-09 13:30:22 -04:00
Julian Lam
18897c70b4 fixed #3222 2015-06-09 12:49:40 -04:00
psychobunny
0ad1c8afbf forgot to add pagination to default minified file 2015-06-08 18:08:57 -04:00
psychobunny
b0907b8c3c minify some modules that are required on cold load 2015-06-08 18:05:21 -04:00
psychobunny
28e1ae46c7 woops, committed some testing code by accident 2015-06-08 17:56:33 -04:00
psychobunny
7564881298 don't minify files in /client
adds an extra call to the client/route.js file on cold load but cuts a
ton of extra weight in nodebb.min.js
2015-06-08 17:53:55 -04:00
psychobunny
97d1ab2e35 console.log 2015-06-08 17:11:29 -04:00
psychobunny
febc359e53 moved sortable to acp only 2015-06-08 17:10:52 -04:00
psychobunny
f8b3282295 closes #3141 2015-06-08 16:58:53 -04:00
psychobunny
ef6c30ad99 removed some unused variables 2015-06-08 16:35:11 -04:00
psychobunny
548d39fac5 lint 2015-06-08 15:53:07 -04:00
psychobunny
ac2811be75 instance.restart 2015-06-08 15:52:39 -04:00
psychobunny
6c607bca1e closes #3212 2015-06-08 15:50:33 -04:00
psychobunny
6ae64ca884 fixed skin revert message 2015-06-08 15:41:24 -04:00
psychobunny
78ea462620 fix crash when redis server isn't running 2015-06-08 15:34:39 -04:00
barisusakli
ed72bacb1f closes #3220
added back base_url
2015-06-08 13:55:14 -04:00
Raphael Beer
d8c329cadd send topicData on action:topic.delete 2015-06-06 13:29:23 +02:00
barisusakli
3a36ae5c13 wait for loadScript & widgets.render to emit action:ajaxify.end 2015-06-05 22:07:05 -04:00
Julian Lam
96526a37a3 fixed #3218 2015-06-05 13:33:58 -04:00
Julian Lam
5549280696 updated package.json to use SPDX compatible license definition 2015-06-05 13:20:42 -04:00
barisusakli
7fc416f18a test fix 2015-06-04 17:14:22 -04:00
barisusakli
4a0482c421 closes #3208 2015-06-04 16:44:18 -04:00
Julian Lam
17ff083cc6 passing in available composer data into the composer.loaded client-side hook 2015-06-04 14:47:40 -04:00
Julian Lam
b08c7368c6 fixing some formatting 2015-06-04 14:40:20 -04:00
Julian Lam
6fedcca4ee changed a bunch of whitespace back into tabs, and fixed issue where categories without a parentCid were not showing up at all in the ACP 2015-06-04 14:24:38 -04:00
barisusakli
e892cf2e51 faster getUserGroups 2015-06-04 14:16:07 -04:00
Julian Lam
170126680b #3213 2015-06-04 13:42:10 -04:00
Julian Lam
f1c422d190 Merge branch 'extract-gravatar' 2015-06-04 12:33:04 -04:00
Julian Lam
e523ef7c17 added plugin hooks so that imagemagick can still be called, as a plugin, for image manipulation tasks, falling back to using lwip 2015-06-04 12:32:39 -04:00
Julian Lam
88dd8b1d4d using new reset command in plugin incompatibility warning 2015-06-04 12:28:54 -04:00
Julian Lam
54277e62fc fixed #3213 2015-06-04 12:23:30 -04:00
Julian Lam
704104c3bf fixed #3213 2015-06-04 12:23:14 -04:00
Julian Lam
cf35f69826 Merge branch 'lwip' of https://github.com/alpa-cat/NodeBB into extract-gravatar 2015-06-04 09:58:00 -04:00
Julian Lam
37c9c05319 added ACP styling for panel-danger panels 2015-06-03 20:06:47 -04:00
Julian Lam
478850ac05 rewrote a bit of the code so that templates.js is called asynchronously, and moved indentation levels to CSS instead of inlined styling. 2015-06-03 18:10:58 -04:00
Julian Lam
394497c9d5 Merge branch 'categories-parent-acp' of https://github.com/NicolasSiver/NodeBB into NicolasSiver-categories-parent-acp 2015-06-03 16:43:28 -04:00
Julian Lam
493c8752c3 upped theme minvers 2015-06-03 16:41:14 -04:00
Julian Lam
f0064ac11f updated to latest translations 2015-06-03 16:09:10 -04:00
Julian Lam
d5c6e2e73a Merge pull request #3156 from pentode/master
add feature to define mongo client connect options via config.json
2015-06-03 15:54:58 -04:00
psychobunny
f1f028b89c Merge pull request #3161 from yariplus/patch-1
Fix specificity on ACP widget panel heading.
2015-06-02 18:32:19 -04:00
psychobunny
0aceafb344 Merge pull request #3163 from yariplus/patch-2
Call Plugins.addLanguages on reload. Fixes #3153
2015-06-02 18:31:21 -04:00
psychobunny
9704af3b6d some plugins may not have a library, no need to warn unless unable to parse 2015-06-02 17:35:41 -04:00
psychobunny
e74f3da89e fixed sounds on windows 2015-06-02 17:31:17 -04:00
barisusakli
0feb11f205 test 2015-06-02 17:12:46 -04:00
barisusakli
64ec397101 update membercount sorted set on join/leave 2015-06-02 17:11:54 -04:00
psychobunny
18bfa44586 fixed menu items not being highlighted when active in acp 2015-06-02 17:09:49 -04:00
psychobunny
a60cb28562 guests 2015-06-02 17:04:52 -04:00
psychobunny
452b4c6d56 closes #3207 2015-06-02 16:54:19 -04:00
psychobunny
2dfb9837a7 log 2015-06-02 16:42:33 -04:00
Barış Soner Uşaklı
b45fa811b4 renamed .list to .getGroupsFromSet 2015-06-02 16:33:56 -04:00
Barış Soner Uşaklı
4e06b7790f removed unused require 2015-06-02 16:23:48 -04:00
Barış Soner Uşaklı
507fb225a2 removed console.log 2015-06-02 16:21:25 -04:00
Barış Soner Uşaklı
4420e7a9fc closes #3188, closes #3170 2015-06-02 16:20:28 -04:00
psychobunny
05c5196965 closes #3194 2015-06-02 15:56:26 -04:00
Nicolas Siver
a17c65ee9f move item template to file 2015-06-02 22:20:09 +03:00
Barış Soner Uşaklı
64359f4655 set memberCount with groupData 2015-06-02 14:01:28 -04:00
barisusakli
a94e676043 set system to true/false 2015-06-01 15:38:23 -04:00
Barış Soner Uşaklı
b717da0229 Merge pull request #3110 from pitaj/master
Fixed translator backwards compatibility issue
2015-06-01 14:04:24 -04:00
barisusakli
045d9df81f closes #3203 2015-06-01 13:21:34 -04:00
Nicolas Siver
1bfb41bccb sorting tree 2015-05-31 10:49:03 +03:00
Nicolas Siver
3197a9e47c register vendor script 2015-05-31 10:48:13 +03:00
Nicolas Siver
a77641c3ca add new vendor script for sorting 2015-05-31 10:47:31 +03:00
Alpacatty
37ad81a2b0 Swap out ImageMagick for lwip 2015-05-30 20:04:42 +02:00
Nicolas Siver
46ce3aae9f tree view 2015-05-30 18:44:31 +03:00
psychobunny
a355fbfc81 closes #2769 2015-05-29 16:47:12 -04:00
psychobunny
d51407834d closes #3166 2015-05-29 16:19:17 -04:00
barisusakli
fc19405170 added missing callback 2015-05-29 00:40:59 -04:00
barisusakli
fc99864c06 crash fix 2015-05-29 00:02:18 -04:00
psychobunny
b96018b0f5 closes #3187 2015-05-28 16:12:44 -04:00
Barış Soner Uşaklı
a14e22d534 no need for map 2015-05-28 15:52:00 -04:00
Barış Soner Uşaklı
ee17367cc1 removed unused requires, firehook on sucess 2015-05-28 15:27:55 -04:00
Barış Soner Uşaklı
0c32aa0c78 fix test expand option removed 2015-05-28 15:16:29 -04:00
Barış Soner Uşaklı
8610c44e78 escape group data 2015-05-28 15:14:40 -04:00
Barış Soner Uşaklı
8eab5ac402 groups.get changes 2015-05-28 14:51:01 -04:00
Barış Soner Uşaklı
8726e2ccb6 ghfw :rage2: 2015-05-28 13:33:45 -04:00
Barış Soner Uşaklı
1e7da1fc82 removed console.log use getUsersData 2015-05-28 13:33:23 -04:00
Barış Soner Uşaklı
0563bb5923 allow member.isOwner to work on an array 2015-05-28 13:27:09 -04:00
Barış Soner Uşaklı
2129a2fc5f not used 2015-05-28 13:25:13 -04:00
Julian Lam
af8732fcb9 latest translations and fallbacks 2015-05-28 11:46:24 -04:00
Julian Lam
eddabe5a37 upped mentions minver 2015-05-28 11:41:52 -04:00
Julian Lam
f168566928 fixed incorrect use of username in unsub cta in emails 2015-05-27 21:36:13 -04:00
Julian Lam
463c893c3d fixed regression introduced by #2080, closed #3189 2015-05-27 19:08:59 -04:00
Julian Lam
f9053c077d updated groups ACP styling and template to use a table, like categories
Conflicts:
	src/views/admin/manage/groups.tpl
2015-05-27 18:42:18 -04:00
Julian Lam
06f7172c65 closes #3188 2015-05-27 18:04:39 -04:00
psychobunny
e905787301 latest tjs 2015-05-27 16:59:56 -04:00
Barış Soner Uşaklı
0b93738537 dont display hidden/system groups on /groups 2015-05-26 16:09:01 -04:00
Barış Soner Uşaklı
9a236486a9 meh 2015-05-26 16:00:14 -04:00
Barış Soner Uşaklı
82350dc967 fix test 2015-05-26 15:48:27 -04:00
Barış Soner Uşaklı
03bc317065 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Conflicts:
	src/views/admin/manage/groups.tpl
2015-05-26 15:39:57 -04:00
Barış Soner Uşaklı
8117b4459a groups.list added start stop 2015-05-26 15:37:33 -04:00
Julian Lam
b45335c6ba updated groups ACP styling and template to use a table, like categories 2015-05-26 15:24:24 -04:00
Barış Soner Uşaklı
a065a73637 fix missing comma 2015-05-26 15:10:31 -04:00
Barış Soner Uşaklı
7bed4c40d6 closes #3179 2015-05-26 15:05:55 -04:00
Julian Lam
aca5d24a7d split groups.js into more subsidiary files 2015-05-26 14:45:17 -04:00
Barış Soner Uşaklı
8300aeec35 parseInt member count, use getMemberCount in install js 2015-05-26 13:55:40 -04:00
Barış Soner Uşaklı
50d9a3f0a7 dont call groups.get just to read 2 values 2015-05-26 13:44:52 -04:00
Barış Soner Uşaklı
3f1726636f groups create/delete/update 2015-05-26 13:17:49 -04:00
Julian Lam
8a225ad719 starting groups organization 2015-05-26 12:37:44 -04:00
Julian Lam
8f7416d1cb updated acp category privilege settings so that not all groups are shown in privilege table, closes #3036 2015-05-26 12:37:44 -04:00
Julian Lam
cc2a92d73f allowing array of privileges to be passed into setPrivilege in category admin socket listener 2015-05-26 12:37:44 -04:00
Julian Lam
cbb0542984 changed behaviour of privilege table so that groups without explicit privileges are not shown in the privilege table 2015-05-26 12:37:44 -04:00
Julian Lam
4a0bc1fb03 finished up executable rewrite, and prettified reset script output 2015-05-25 21:08:05 -04:00
Julian Lam
e6061810f9 updating nodebb executable so that it is a node script instead of bash script 2015-05-25 16:06:49 -04:00
Julian Lam
fc2efb0c83 added one more line to stdout when nodebb status is invoked, or nodebb web installer finishes 2015-05-25 14:48:01 -04:00
barisusakli
a0a8d328d0 closes #3182 2015-05-25 14:05:52 -04:00
barisusakli
d8e52d7ebf closes https://github.com/NodeBB/nodebb-theme-persona/issues/87 2015-05-25 13:28:04 -04:00
Julian Lam
b2f2561e74 adding a bit of logging when launching NodeBB from the web installer 2015-05-24 10:43:37 -04:00
Julian Lam
349de1694d fixed log line in web installer 2015-05-24 10:43:37 -04:00
barisusakli
714c7356f9 closes #3176 2015-05-23 22:11:24 -04:00
Julian Lam
9ed88b7bb9 updated readme a bit 2015-05-23 22:08:28 -04:00
barisusakli
4b4be3d4cc fix minSchemaDate 2015-05-23 19:30:35 -04:00
Julian Lam
3b891ed7d8 closes #3173 2015-05-23 19:14:37 -04:00
Julian Lam
3055ee96a1 latest translations and fallbacks 2015-05-23 19:12:13 -04:00
Julian Lam
434f1d924e bumped the package's version number for dev purposes 2015-05-23 19:01:09 -04:00
Julian Lam
45589fbeca fixed bug where the selected language in the ACP was arabic, if no language was set at all" 2015-05-23 18:50:41 -04:00
Julian Lam
f6ba4c446a updated minimum versions for nodebb plugins to be the latest they are today 2015-05-23 18:42:47 -04:00
barisusakli
5ce617ca5a fix case in search 2015-05-23 16:16:05 -04:00
barisusakli
63489457fe group search change 2015-05-22 17:07:25 -04:00
psychobunny
1c4d78eb2d return back data in cb similar to topics.post call 2015-05-22 14:37:46 -04:00
psychobunny
f698d28dfb one last fix for #3169 2015-05-22 13:57:42 -04:00
psychobunny
7b81c5db9f #3169 2015-05-22 13:49:57 -04:00
psychobunny
79fd5a4d8e closes #3169 2015-05-22 13:45:41 -04:00
barisusakli
62a2e9fdd0 Merge remote-tracking branch 'origin/master'
Conflicts:
	src/messaging.js
2015-05-22 00:42:46 -04:00
barisusakli
990b02d0db fix crash @julianlam 2015-05-22 00:42:24 -04:00
barisusakli
95e9d7c798 filter messages 2015-05-22 00:39:48 -04:00
Julian Lam
62f1a788e0 prematurely removing null objects before they get parsed as messages 2015-05-21 23:01:10 -04:00
Barış Soner Uşaklı
5931255398 Merge pull request #3165 from kpanayotova/upstream
Bugfix: use sorted set to get user followers in sendTopicNotificationToFollowers
2015-05-21 19:32:52 -04:00
Kalina Panayotova
118de65f5e Bugfix: use sorted set to get user followers in sendTopicNotificationToFollowers 2015-05-21 16:24:33 -07:00
Barış Soner Uşaklı
9165da3b26 Update README.md 2015-05-21 17:19:21 -04:00
psychobunny
63a2a20fd3 remove the old history.pushState hack for mobile composer 2015-05-21 16:33:18 -04:00
psychobunny
55bed3464e if mobile, go to /compose route #3090 2015-05-21 16:25:57 -04:00
psychobunny
117bb407b0 /compose route 2015-05-21 16:24:40 -04:00
barisusakli
39c3afec62 removed updateUserCount 2015-05-21 14:52:39 -04:00
Timothy Fike
09ee1ae77e Call Plugins.addLanguages on reload. Fixes #3153
Ensures routes are set correctly for custom languages.
2015-05-21 14:37:23 -04:00
barisusakli
8acb0ca304 incr on user create 2015-05-21 14:23:06 -04:00
Julian Lam
d90f3649a6 minor tweak to retrieval of category listing in ACP so that hidden categories (those with order of -1) are not retrieved 2015-05-21 14:07:45 -04:00
Julian Lam
7125d902d0 prettifying things 2015-05-21 13:48:03 -04:00
Julian Lam
f6181e6481 fixes #3148 2015-05-21 13:36:27 -04:00
Julian Lam
d052db85e0 fixed bug where isMemberOfGroupList would return null if there were no groups to check, instead of false 2015-05-21 12:26:47 -04:00
Julian Lam
aae3ac6b98 updated title parsing methods to call a new hook: filter:parse.title 2015-05-21 12:07:46 -04:00
Julian Lam
830e1a7a3d fixed issue where privileges were not correctly determined if you were granted moderator access to a category as a group (vs as a single user) 2015-05-21 11:39:39 -04:00
Julian Lam
cd2ed20f3d Merge pull request #3162 from frissdiegurke/patch-1
fixed error-report within translator.js
2015-05-21 10:19:26 -04:00
Julian Lam
58b0b6011f removed console.log from upgrade script (@barisusakli :rage2:) 2015-05-21 10:07:00 -04:00
Ole R.
22e227a6cd fixed error-report within translator.js
reported by [rex-huang](https://community.nodebb.org/user/rex-huang), see https://community.nodebb.org/topic/4520/error-handling-is-wrong-in-translator-js
2015-05-21 15:38:19 +02:00
Timothy Fike
8414e31730 Fix specificity on panel heading.
Needs to be specific so I can put an accordion inside. 😎
2015-05-20 21:41:36 -04:00
A Catty Alpaca
550140ada7 General-Purpose Dockerfile 2015-05-21 01:10:56 +02:00
Julian Lam
927971b392 added hooks for following/follower retrieval 2015-05-20 17:40:08 -04:00
barisusakli
3341fc5644 fix method name 2015-05-20 16:39:33 -04:00
barisusakli
4f37d268b6 removed sort by username 2015-05-20 16:36:26 -04:00
barisusakli
55e20b28ec upgrade script 2015-05-20 16:08:22 -04:00
barisusakli
5f23f04423 Merge remote-tracking branch 'origin/master' into user-search 2015-05-20 15:16:54 -04:00
Julian Lam
972ae42d91 pruned upgrade scripts in preparation for 0.7.0, ping @barisusakli 2015-05-20 11:44:10 -04:00
Julian Lam
671db1681e allowing usage of "false" in silent and daemon environment variables 2015-05-20 09:57:04 -04:00
barisusakli
fd817e865e added pagecount 2015-05-19 23:24:33 -04:00
barisusakli
fbdae8fe1d return time and matchcount on page switch 2015-05-19 23:13:53 -04:00
barisusakli
addd6ecde7 check error fix ip 2015-05-19 23:07:01 -04:00
barisusakli
aa577f4adc part 1
no upgrade script yet
2015-05-19 23:04:28 -04:00
Julian Lam
93df7f14d8 latest translations and fallbacks 2015-05-19 17:45:23 -04:00
Julian Lam
05049946d4 updated error strings 2015-05-19 17:00:07 -04:00
psychobunny
9cdc2e5a2d closes #3147 properly 2015-05-19 15:46:23 -04:00
psychobunny
93170ca106 closes #3147 2015-05-19 15:31:51 -04:00
psychobunny
60f9fc17ae #2928 2015-05-19 14:57:05 -04:00
psychobunny
1550f82652 closes #2928 2015-05-19 14:56:39 -04:00
pentode
297b5906ed add feature to define mongo client connect options via config.json 2015-05-19 14:55:06 -04:00
psychobunny
56e5f505a0 no need to yell! :p 2015-05-19 13:27:02 -04:00
Julian Lam
8aac4bdfa1 fixed issue where Groups.getUserGroups called getGroupsData on all groups, resulting in a very unscalable method if called on forum with thousands of groups 2015-05-19 00:06:37 -04:00
Julian Lam
8bc5330e89 some minor cleanup in the async tree... 2015-05-18 16:01:40 -04:00
Julian Lam
9daa2701cd Merge branch 'hook_favourite_unfavourite' of https://github.com/acardinale/NodeBB into acardinale-hook_favourite_unfavourite 2015-05-18 15:57:09 -04:00
Julian Lam
ec91efdd2d latest translations and fallbacks 2015-05-18 15:56:37 -04:00
Julian Lam
de71910f4c documentation is actually at docs portal, not wiki 2015-05-18 15:25:45 -04:00
barisusakli
48b5d90a9e closes #3150 2015-05-17 15:53:42 -04:00
barisusakli
20983c43f4 fix user privileges 2015-05-15 15:20:10 -04:00
psychobunny
e6beeb62cf {config.relative_path} instead of {relative_path} 2015-05-15 15:00:48 -04:00
barisusakli
5c4e988232 fix user.csv data 2015-05-15 14:46:42 -04:00
Julian Lam
220b42706f adding a check so that websocket method in notif pushing isn't called if the socket server isn't initialised 2015-05-15 14:14:20 -04:00
Julian Lam
fc1b0c8d24 allowing topic, post, and user creation to specify a timestamp for insertion into the past 2015-05-15 09:47:39 -04:00
barisusakli
30a9b66b31 fix room enter 2015-05-15 00:02:59 -04:00
barisusakli
d9af2242a7 store id as int 2015-05-14 22:04:53 -04:00
barisusakli
10de7a92e4 dont let joining other uid rooms 2015-05-14 13:53:02 -04:00
barisusakli
36853f4ad8 filter priv/registered-users/guests in groups.list 2015-05-13 18:32:27 -04:00
psychobunny
9c2a98486a fixed tag topic count color in ACP 2015-05-13 18:31:26 -04:00
barisusakli
68ceaadad1 removed static 404/403/500 routes 2015-05-13 17:22:48 -04:00
psychobunny
4124370efe tjs 0.2.3 2015-05-13 15:50:39 -04:00
Barış Soner Uşaklı
2706477bcc Merge pull request #3133 from akhoury/patch-1
guard against NULL mids/messages
2015-05-13 14:24:48 -04:00
Aziz Khoury
35c426ee1c guard against NULL mids/messages
I've seen them few times during import testing. In case the conversation does not exists.
2015-05-13 13:02:00 -04:00
Andrea Cardinale
da56681f73 Revert "Extra class in Topic list"
This reverts commit 5f0531e66a.
2015-05-12 23:56:27 +02:00
Andrea Cardinale
7c5ba9b7b1 Revert "Add hooks: action:post.favourite and action:post.unfavourite"
This reverts commit 1d22a2d46b.
2015-05-12 23:52:48 +02:00
Andrea Cardinale
1d22a2d46b Add hooks: action:post.favourite and action:post.unfavourite 2015-05-12 23:41:15 +02:00
Andrea Cardinale
5f0531e66a Extra class in Topic list 2015-05-12 23:12:42 +02:00
barisusakli
93fd938913 removed setTimeout 2015-05-12 16:32:30 -04:00
psychobunny
a88ad903af action:ajaxify.dataLoaded 2015-05-12 14:19:45 -04:00
barisusakli
224e3dc263 fix settings page 2015-05-12 10:53:52 -04:00
barisusakli
484ad33549 convert key, value index to sparse/unique 2015-05-11 18:07:45 -04:00
barisusakli
29aa858a11 fix admin/advanced/database values 2015-05-11 17:44:43 -04:00
psychobunny
e070a9777e #3125 2015-05-11 16:53:12 -04:00
barisusakli
ba9a68c59c async.waterfall 2015-05-11 16:13:09 -04:00
barisusakli
d3b52136bd fix suggested topics search 2015-05-11 16:01:22 -04:00
barisusakli
f55e8bc548 actually rename :dull: 2015-05-11 15:51:41 -04:00
barisusakli
dce9a19882 resolve method name collision, getPostsFromSet -> getPostSummariesFromSet 2015-05-11 15:43:57 -04:00
barisusakli
d11bfab275 async posts/topics.js 2015-05-11 15:38:14 -04:00
barisusakli
2b90568157 removed getLatestTids, renamed getPostsByTid removed unused tid param 2015-05-11 15:31:31 -04:00
barisusakli
b292aeea72 closes #3120
also dont allow loading posts of a topic if its deleted via
topics.loadMore
2015-05-11 15:12:23 -04:00
barisusakli
be1865da2d closes #3127 2015-05-11 14:33:41 -04:00
psychobunny
0f199af84d moved widget code out of controller; cleaned up code into a folder 2015-05-11 14:20:10 -04:00
psychobunny
394d55de99 closes #3125 2015-05-11 13:59:07 -04:00
psychobunny
2ed0f25d45 fixed widgets page rendering, along with tjs 0.2.2 2015-05-11 13:53:16 -04:00
psychobunny
551c81a977 grunt: watch for tjs changes as well 2015-05-11 13:52:52 -04:00
psychobunny
8f6d8001d6 0.2.1* 2015-05-11 12:40:40 -04:00
psychobunny
43755b2ce3 tjs 0.2.0 2015-05-11 12:39:21 -04:00
Julian Lam
e75ec97049 closes #3121 -- if for any reason postData.content is not a string, make sure it is a string before it hits plugins. 2015-05-11 12:20:58 -04:00
barisusakli
e79a386280 don't try to minify non-js files 2015-05-11 02:38:57 -04:00
psychobunny
9ca7243124 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-05-09 01:55:47 -04:00
psychobunny
f2a91ef655 updating widget containers for latest tjs 2015-05-09 01:55:41 -04:00
barisusakli
9518c006b5 fix userlang 2015-05-08 18:42:49 -04:00
Julian Lam
ca1ada9dc5 Merge pull request #3122 from pichalite/master
completes fix for #3119
2015-05-08 17:19:56 -04:00
barisusakli
74d6104072 correct upgrade date 2015-05-08 16:14:48 -04:00
barisusakli
c6a05930aa fix \uff0e in emails 2015-05-08 16:14:32 -04:00
barisusakli
7b550b13b9 display both redis/mongo info if available 2015-05-08 15:36:06 -04:00
barisusakli
0083d4ff1c return user settings in api 2015-05-08 14:53:08 -04:00
pichalite
732f6d7d80 Update plugins.tpl 2015-05-08 11:18:43 -07:00
barisusakli
27bf1c1b2e fix privilege upgrade script 2015-05-08 13:35:54 -04:00
barisusakli
ffac8eb41d closes #3118 2015-05-07 23:24:33 -04:00
barisusakli
9d273d3a32 fixed date log 2015-05-07 22:40:32 -04:00
Barış Soner Uşaklı
b08774763a added tpl to ajaxify.content-loaded 2015-05-07 15:27:01 -04:00
Barış Soner Uşaklı
c74d32a172 fix off by 1 error on user/topics posts #3120 2015-05-07 14:44:01 -04:00
Barış Soner Uşaklı
eaa89a4da7 added checks to skip empty/non-existing hashes 2015-05-07 14:23:03 -04:00
Barış Soner Uşaklı
dfffbace42 fix test callback 2015-05-07 14:15:28 -04:00
Barış Soner Uşaklı
c56b30ff60 convert uid mappings to sorted sets
email:uid, username:uid, userslug:uid, fullname:uid all converted to
sorted sets
prevents hitting mongodb document size limit
2015-05-07 13:43:06 -04:00
Julian Lam
073afe4db0 updated ./nodebb dev to match new loader.js behaviour 2015-05-06 21:43:41 -04:00
Julian Lam
0ff09d8093 changed the behaviour of --no-daemon so that it does not also pipe output to stdout, use new flag --no-silent for that. --no-daemon just does as it advertises, and doesn't daemonize the loader process before spawning app.js instances. 2015-05-06 21:41:04 -04:00
Julian Lam
ba36230262 closed #3119 2015-05-06 21:17:10 -04:00
psychobunny
d1231cf4a8 closes #3116 2015-05-06 18:30:09 -04:00
psychobunny
72177f6d16 #3114, #2830 2015-05-06 16:50:04 -04:00
psychobunny
8abca6b03f closes #3114, #2830 2015-05-06 16:44:22 -04:00
Julian Lam
cd7a3f64f4 removed extra console logging 2015-05-06 14:58:13 -04:00
psychobunny
c1dd0dd669 fixing nodebb startup on windows 2015-05-06 14:44:13 -04:00
psychobunny
954212fc9f emit templates:compiled event if skipped 2015-05-06 14:32:19 -04:00
Julian Lam
c7fbaf1a53 updated notif page code to work with new mobile-only dropdown for marking notifications read 2015-05-05 12:10:16 -04:00
Julian Lam
e18f6c95fa added link to 'install plugins' page in acp installed plugins menu dropdown
also fixed annoying white background when a menu item other than the one active is focused upon
2015-05-05 11:47:59 -04:00
barisusakli
b561c49de5 moved filter:users.search before pagination 2015-05-04 18:12:14 -04:00
barisusakli
73d65dd123 filter:users.search filter:users.build hooks 2015-05-04 18:01:45 -04:00
barisusakli
b48fdfadad set group member count to 1 on group creation 2015-05-04 16:40:57 -04:00
barisusakli
2fc8b153c1 img-responsive on about me images 2015-05-04 14:02:52 -04:00
barisusakli
4f8a1174a1 default about me length 2015-05-04 13:54:29 -04:00
barisusakli
1ee6255450 closes #3104 2015-05-04 13:32:49 -04:00
barisusakli
a924c456b9 closes #3113 2015-05-04 13:16:31 -04:00
Peter Jaszkowiak
ad7b561dd4 Fixed translator backwards compatibility issue
Also removed the _clearMenus global object because populating the global namespace is bad, bad, bad
2015-05-03 23:36:23 -06:00
barisusakli
7312540b72 closes #3109 2015-05-03 23:58:22 -04:00
Peter Jaszkowiak
a93a1d720d Merge pull request #7 from NodeBB/master
update
2015-05-02 18:02:57 -06:00
barisusakli
122aacdc57 check err item 2015-05-02 15:52:48 -04:00
Julian Lam
7f80a4a439 latest translations 2015-05-01 20:08:24 -04:00
barisusakli
b94d4f7fe5 Merge remote-tracking branch 'origin/master'
Conflicts:
	public/language/en_GB/error.json
2015-04-29 14:30:03 -04:00
barisusakli
9749658d35 added about me field 2015-04-29 14:29:18 -04:00
Julian Lam
1c94866ab3 addressed some issues brought up re: singular vs plural 2015-04-28 17:57:29 -04:00
barisusakli
3063da83ef argument fix for static/action hooks 2015-04-28 15:09:17 -04:00
barisusakli
163b70fba9 fix acp logout 2015-04-28 12:59:00 -04:00
Julian Lam
a462b10f94 nevermind... (@barisusakli 🧌) 2015-04-27 23:05:14 -04:00
Julian Lam
379bdd12e0 fixed improper parsing of url in loader, and updated mongo init to not send anything in cb except err. Also updated webserver init so that it doesn't expect stuff from static:app.preload 2015-04-27 22:51:44 -04:00
Julian Lam
f6ddff3e5f updated loader to kickstart the web installer if no config is found 2015-04-27 22:41:44 -04:00
barisusakli
c98e630f24 warn missing url 2015-04-27 21:42:08 -04:00
Barış Soner Uşaklı
3b93182ec1 Merge pull request #3091 from Icehunter/master
use replicaset if configured
2015-04-27 20:53:48 -04:00
barisusakli
2286d1137b remove tab 2015-04-27 20:32:37 -04:00
barisusakli
d946a2fcbd closes #3098
wait for templates to compile even if using clustering
fix emitter.all
upgrade.check error first
removed plugins.ready, using callback on plugins.init
removed webserver.init, using webserver.listen
2015-04-27 20:26:02 -04:00
barisusakli
51212c2bfa closes #3096 2015-04-27 16:02:13 -04:00
psychobunny
2fbe7a8190 webserver: only start listening _after_ everything is compiled 2015-04-27 14:46:05 -04:00
Ryan Wilson
6f66209428 use tabs per barisusakli 2015-04-27 11:08:58 -07:00
psychobunny
8bb73192cf closes #3073 2015-04-27 13:50:02 -04:00
psychobunny
533193fa79 send in data to action:taskbar.pushed as well 2015-04-27 12:44:35 -04:00
psychobunny
1556365712 call taskbar.push regardless of whether it's a new chat or not
there's logic in taskbar.push to not create the element anyways
2015-04-27 12:41:16 -04:00
psychobunny
c13e14d2c8 pass in element to filter:taskbar.push; taskbar.push cleanup 2015-04-27 12:25:05 -04:00
barisusakli
b9172358dd #3093 2015-04-26 12:56:18 -04:00
Julian Lam
84cbdc1358 changed the password confirmation form field in the web installer so that it doesn't clobber some env vars, and allowed admin username and email to be set via env var 2015-04-25 22:34:54 -04:00
Julian Lam
5a6c46a0a0 updating group creation method to send back group data in the return callback, and to include the ownerUid if one was passed in 2015-04-25 15:00:09 -04:00
barisusakli
0d7e72be51 removed dupe code 2015-04-25 12:59:56 -04:00
Ryan Wilson
c354929569 handled port as int with toString()
Signed-off-by: Ryan Wilson <syndicated.life@gmail.com>
2015-04-25 08:16:27 -07:00
Ryan Wilson
ec6c618751 use replicaset if configured
Signed-off-by: Ryan Wilson <syndicated.life@gmail.com>
2015-04-25 08:05:33 -07:00
barisusakli
17dfb4df94 posts_list.tpl changes 2015-04-24 22:51:52 -04:00
Julian Lam
275a9ef476 Reverted the last update to web installer, and updated it so environment variables always take precedence over form input, and form is hidden if database value is passed in 2015-04-24 15:13:52 -04:00
Julian Lam
5487da9030 updated web installer to auto-select the database if passed in via env var 2015-04-24 14:50:31 -04:00
Julian Lam
67eef3653b updated the web install form to populate the database fields if a value is passed in 2015-04-24 14:40:14 -04:00
barisusakli
dc16a665ae page checks #3089 2015-04-24 10:59:00 -04:00
barisusakli
47a2377229 closes #3089 2015-04-24 10:39:24 -04:00
barisusakli
03b0d282f1 search fix prevent crash if search term is invalid regex 2015-04-23 17:58:28 -04:00
barisusakli
e5928f330e closes #3085 2015-04-23 17:18:11 -04:00
barisusakli
d6949815ad #3085 2015-04-23 17:03:31 -04:00
Barış Soner Uşaklı
a5c52958e7 made handleSearch public 2015-04-23 16:06:27 -04:00
Barış Soner Uşaklı
e88d88e56c added return false 2015-04-23 15:43:50 -04:00
Barış Soner Uşaklı
8544531a79 removed event 2015-04-23 15:05:27 -04:00
Barış Soner Uşaklı
21b634e03f closes #3081 2015-04-23 14:37:27 -04:00
Barış Soner Uşaklı
f44e850fa0 revert last change, breaks ajaxify 2015-04-23 13:50:48 -04:00
Barış Soner Uşaklı
5d5346c4f9 allow overriding template name 2015-04-23 13:43:27 -04:00
Julian Lam
a54dccdf3b closed #3068 2015-04-23 11:27:44 -04:00
Julian Lam
15265bf36e Merge pull request #3071 from yariplus/settingsobject2
Enhance settings object plugin
2015-04-23 11:18:46 -04:00
Julian Lam
c004efee3f closed #3084 2015-04-23 11:15:37 -04:00
psychobunny
a9015cee03 Merge remote-tracking branch 'origin/master' into web-install 2015-04-22 18:21:22 -04:00
psychobunny
fac747cab7 call loader.js instead 2015-04-22 17:59:08 -04:00
psychobunny
24a11314dc installer - finally got it all working ;) 2015-04-22 17:51:35 -04:00
psychobunny
255e3bdd20 default is 4567 instead of 8080 2015-04-22 15:52:12 -04:00
psychobunny
e8ea1e12a1 launch nodebb after install 2015-04-22 15:51:14 -04:00
psychobunny
ddd5c49461 installer ux fixes 2015-04-22 15:29:29 -04:00
psychobunny
9b53cdfcc0 skip to the launch screen if config is set but installer is still active 2015-04-22 15:17:08 -04:00
psychobunny
7488fa0416 cleanup; fixes 2015-04-22 15:13:59 -04:00
psychobunny
5db3166136 log 2015-04-22 14:54:55 -04:00
psychobunny
d72d1a1641 save values from form 2015-04-22 14:54:35 -04:00
psychobunny
45e216edef installer: database error messages 2015-04-22 14:49:31 -04:00
psychobunny
8556ddd9a0 installation spinner; started launch page 2015-04-22 14:39:37 -04:00
psychobunny
e9a92bd1bf removed some compile scripts that we don't need 2015-04-22 14:08:15 -04:00
psychobunny
6533941207 remove hardcoded port variable 2015-04-22 14:07:24 -04:00
psychobunny
b617c1faa9 use from-file to optimize grunt dev with web installer 2015-04-22 14:06:59 -04:00
psychobunny
c8000d36db hint 2015-04-22 13:58:43 -04:00
psychobunny
f981e6d466 fixed confirm password validation 2015-04-22 13:57:18 -04:00
barisusakli
d99e028a1e only call sortedSetCard if using pagination 2015-04-22 13:57:14 -04:00
psychobunny
220dec5711 installer: validate before sending form 2015-04-22 13:54:51 -04:00
barisusakli
dd61bdb9c6 closes #3038 2015-04-22 13:47:41 -04:00
psychobunny
ee78281f35 console.log 2015-04-22 13:22:07 -04:00
barisusakli
6dfb229c66 closes #2842 2015-04-22 12:13:14 -04:00
psychobunny
176bf28d2f web installer works, woohoo! 2015-04-22 11:36:19 -04:00
psychobunny
948ad5fb44 Merge remote-tracking branch 'origin/master' into web-install 2015-04-22 11:23:10 -04:00
psychobunny
859e7593e1 basic installer function 2015-04-22 11:22:55 -04:00
barisusakli
a2497b050e crash fix 2015-04-22 11:10:46 -04:00
Julian Lam
8f5c393b12 only exposing password at setup end if one is autogenerated 2015-04-22 10:58:58 -04:00
barisusakli
7632997a99 closes #3045 2015-04-22 10:41:49 -04:00
Julian Lam
d7444e5edf removed from required values for env setup 2015-04-22 10:30:42 -04:00
Julian Lam
b604c9d5e1 updated install script to accept environment variables
updated upgrade script to execute callback when present
updated install script to not fire upgrades unless necessary
updated install script to write directly to console, and not through winston
if a password is not provided, one is auto-generated
2015-04-22 10:28:03 -04:00
psychobunny
3d9519bdec installer: actually installing nodebb 2015-04-21 20:42:06 -04:00
psychobunny
e2215b9912 don't blindly ignore error in install.js 2015-04-21 20:27:40 -04:00
psychobunny
89c863caa7 embarassing console.log's are allowed at 8pm on monday 2015-04-21 20:05:35 -04:00
psychobunny
213ee2d063 installer: fixed validation 2015-04-21 20:04:38 -04:00
psychobunny
2646b38dd2 woops, added too many namespaces 2015-04-21 20:02:38 -04:00
psychobunny
a93e52aade fixed cold load database switcher for installer 2015-04-21 19:54:33 -04:00
psychobunny
20a1ab185c small refactor to install/web.js 2015-04-21 19:50:58 -04:00
psychobunny
a386974585 installer: database switcher 2015-04-21 19:31:25 -04:00
psychobunny
bf13b6160f load database questions 2015-04-21 19:10:47 -04:00
psychobunny
a11652ead1 cleanup installer.less 2015-04-21 18:48:58 -04:00
psychobunny
8a7aaf8f76 installer: validate email 2015-04-21 18:38:54 -04:00
psychobunny
ab2272b6b5 installer: confirm password 2015-04-21 18:32:24 -04:00
psychobunny
fe40d0f9e8 installer: password validation 2015-04-21 18:21:50 -04:00
psychobunny
9fba76dc43 fixed header links for installer 2015-04-21 18:01:07 -04:00
psychobunny
22d2ba5d6b mobile optimization for installer 2015-04-21 18:00:01 -04:00
psychobunny
50b9a7096e minor ux 2015-04-21 17:50:42 -04:00
psychobunny
25e2e72366 got username validation working 2015-04-21 17:14:27 -04:00
psychobunny
1f2bd9390d compiling JS as well now 2015-04-21 17:02:36 -04:00
barisusakli
828980f3e6 closes #3008 2015-04-21 16:48:41 -04:00
psychobunny
55c969ab23 Merge remote-tracking branch 'origin/master' into web-install 2015-04-21 16:44:53 -04:00
barisusakli
3ffd3a5d3c closes #2970, closes #3078 2015-04-21 16:26:29 -04:00
psychobunny
14b16cb527 log 2015-04-21 16:21:51 -04:00
psychobunny
005c95277b using less for web installer 2015-04-21 16:21:04 -04:00
psychobunny
2ffdec5386 styled active clas 2015-04-21 15:43:55 -04:00
Julian Lam
2f2e2d60a0 updated translations 2015-04-21 15:37:36 -04:00
psychobunny
ee94d72c59 themed installer, started form 2015-04-21 15:24:50 -04:00
psychobunny
60d655e32b installer - got the basics in 2015-04-21 14:52:57 -04:00
Julian Lam
610d687a96 moved favicon into default link tags, and fixed bug that caused link tags to not show up 2015-04-21 14:32:36 -04:00
psychobunny
2dc20e690f web install init 2015-04-21 14:32:21 -04:00
Julian Lam
a72501f3b4 closed #3076 2015-04-21 12:30:06 -04:00
Julian Lam
c26f274392 moved meta and link tag parsing out to a new module, meta/tags 2015-04-21 12:30:06 -04:00
Julian Lam
cc4e626f5f updated middleware.renderHeader so that navbar config is retrieved in parallel like everything else, instead of retrieved first. (ping @psychobunny) 2015-04-21 12:30:06 -04:00
barisusakli
625a0dcbfa closes #3074 2015-04-20 23:26:02 -04:00
barisusakli
0c91391c75 display posts cache capacity/post count 2015-04-20 18:23:09 -04:00
barisusakli
1f06f90a50 closes #3051
updated lru to latest
created new files posts/cache.js posts/parse.js posts/edit.js
2015-04-20 17:56:48 -04:00
Julian Lam
eb0e2fe75d latest translations 2015-04-20 17:47:02 -04:00
Julian Lam
9e994f3baf finally closed #2887 -- added implicit privilege markers to client-side privileges table 2015-04-20 16:58:44 -04:00
Julian Lam
5a0ea28633 better fix for #3040 2015-04-20 16:05:14 -04:00
Julian Lam
bbccc38efd Revert "made pagination.loadPage also a silent ajaxify, so in-topic searching works with it"
This reverts commit 7e3e7edfd4.
2015-04-20 16:05:14 -04:00
barisusakli
72f80dd330 closes #3052 2015-04-20 15:49:13 -04:00
Julian Lam
7e3e7edfd4 made pagination.loadPage also a silent ajaxify, so in-topic searching works with it 2015-04-20 15:47:22 -04:00
barisusakli
759bdd55f0 closes #3065 2015-04-20 15:41:08 -04:00
barisusakli
dd92b06f16 #3064 2015-04-20 14:00:48 -04:00
Julian Lam
e309a188c3 fixed issue in ajaxify.go where search module was not properly required 2015-04-20 13:08:50 -04:00
Julian Lam
51f38e664c latest translations and fallbacks 2015-04-20 12:09:00 -04:00
Julian Lam
d780b82b01 added Bulgarian to NodeBB, благодаря! 2015-04-20 12:08:47 -04:00
yariplus
9d3a9f4493 Enhance settings object plugin
Use an array to declare the object properties so that the order is always the same.
Add a data-new attribute for individual properties. (You can still use a whole object in the data-new attribute of a parent array.)
Add data-prepend and data-append attributes to properties for inserting html before or after that property. (This may also be useful for the array plugin.)
2015-04-20 10:40:11 -04:00
Julian Lam
821c9f12d6 updated scrollToPost behaviour to no longer ajaxify loudly. Also updated call to checkPagePresence to fire before the topicDOM events begin, so if an in-topic search is conducted on a different topic from the current topic, the topicDOM behaviour continues. closes #3040 2015-04-19 23:34:15 -04:00
barisusakli
37a7ac5196 closes #3063 2015-04-19 18:45:16 -04:00
barisusakli
50feb7a766 default to zero if post_count topic_count is falsy 2015-04-19 15:24:11 -04:00
barisusakli
c45fe28266 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-04-19 15:18:58 -04:00
barisusakli
c24dce4dd6 closes #3062 2015-04-19 15:18:55 -04:00
Julian Lam
65b2523b0f closed #3050 2015-04-18 22:32:20 -04:00
barisusakli
b7b44e13b1 added privileges.topics.filterUids
if a topic is deleted and user doesn't have permissions/admin/mod dont
send notifs
2015-04-18 16:34:32 -04:00
Julian Lam
8ee40ece71 removed checks that would send the user to 404 if the slug didn't match, restored old behaviour of redirecting to the correct slug. #3047 2015-04-18 14:47:40 -04:00
barisusakli
da5909349b closes #3053 2015-04-18 13:11:52 -04:00
barisusakli
e8afe329a9 pagination 2015-04-17 23:07:18 -04:00
barisusakli
0d6772c30b warning/errors on invalid ports config 2015-04-17 17:52:11 -04:00
psychobunny
5d04cd0bef ability to add class to taskbar; new action hook; send touid in chat 2015-04-17 15:25:32 -04:00
Julian Lam
5a0c657587 re: #3043, if no address is entered, "http://" won't get automatically saved in 2015-04-17 15:17:30 -04:00
Julian Lam
5d495483ad using url module to normalise passed-in url prior to saving in db, closes #3043 2015-04-17 15:16:00 -04:00
psychobunny
23c4ecfe60 filter:taskbar.push
not really a filter, but does the job as long as its synchronous
2015-04-17 14:38:54 -04:00
Julian Lam
a5832624d7 added optional parameter to define timestamp when sending a chat message, for use in write API 2015-04-17 14:38:01 -04:00
Julian Lam
5587233e78 fixed quoting and highlighted-text auto-quote for composer when composer is minimized, closes #2870 2015-04-17 14:12:49 -04:00
psychobunny
1d94b6a96f closes #3000 2015-04-17 13:44:47 -04:00
psychobunny
c188fa2a1f closes #3049 2015-04-17 13:22:04 -04:00
Julian Lam
ee7d356781 Merge pull request #2825 from yariplus/settingsobject
Add object setting plugin
2015-04-17 12:54:30 -04:00
Barış Soner Uşaklı
a481d2c3fe closes #3041 2015-04-17 12:43:56 -04:00
Barış Soner Uşaklı
f71c82f653 closes #3046 2015-04-17 12:32:08 -04:00
Fokke Zandbergen
1eee970ebb Allow NodeBB version to be set via config to package.json version can be incremented when needed. 2015-04-17 12:20:08 -04:00
Julian Lam
848babcdfa Merge pull request #2778 from ahwayakchih/support-more-config-defaults-for-setup
This adds more setup defaults from config.
2015-04-17 11:14:30 -04:00
Fokke Zandbergen
86317a4b79 Replace schemeless URLs for emails 2015-04-17 14:35:45 +02:00
barisusakli
d146547b53 if topic doesnt have teaser use main post in rss feed 2015-04-16 22:42:00 -04:00
Julian Lam
0e9a096c25 moved some socket notifications to notifyUser instead of in websocket layer (again, @barisusakli) 2015-04-16 20:48:38 -04:00
Julian Lam
d40ca1e3c8 moved a number of sanity checks to also be in canMessage, so they are all consolidated into one exported method. (@barisusakli) 2015-04-16 20:32:16 -04:00
Julian Lam
078d76a11b removed sanitisation of chat message body, as messages are "parsed as a post" now. 2015-04-16 20:22:27 -04:00
barisusakli
4e793995a0 dont add http:// to website if its empty 2015-04-16 19:32:29 -04:00
Barış Soner Uşaklı
c9b5948034 closes #2927 2015-04-16 14:31:58 -04:00
Julian Lam
4fffe4da94 moved plugin route reloading outside of plugin initialisation, so plugins can add a hook listener before core routes have been added 2015-04-16 14:28:04 -04:00
Barış Soner Uşaklı
617808d574 teaser is just reply, dont include mainPid 2015-04-16 13:34:23 -04:00
Barış Soner Uşaklı
e7dd881092 teaser fixes
if a post is deleted/restored update the teaser to the latest undeleted
pid, if all posts are deleted it will be set to null
2015-04-16 13:23:21 -04:00
Barış Soner Uşaklı
edb856ba90 fixed typo 2015-04-16 12:59:02 -04:00
Barış Soner Uşaklı
6e80dff188 closes #2968 2015-04-16 12:58:03 -04:00
psychobunny
f7734d9b91 missing lang string 2015-04-16 12:25:51 -04:00
Julian Lam
0e0b92f794 update group pages to use components 2015-04-15 16:53:54 -04:00
Barış Soner Uşaklı
7bc2eeff4a duh 2015-04-15 14:58:37 -04:00
Julian Lam
1c36fbd57b fixed #3034 2015-04-15 14:45:52 -04:00
Julian Lam
2000947cd6 fixed #3030 2015-04-15 13:42:45 -04:00
Barış Soner Uşaklı
1e443551a5 added userslug 2015-04-15 12:36:37 -04:00
Barış Soner Uşaklı
b32d58e306 Merge pull request #3035 from FokkeZB/patch-3
Fix link in email notifications
2015-04-15 12:35:24 -04:00
Barış Soner Uşaklı
ba1afdf879 dont crash if callback isnt supplied fixes #3033 2015-04-15 11:51:38 -04:00
Barış Soner Uşaklı
68835844b0 crash fix #3031 2015-04-15 11:27:26 -04:00
Fokke Zandbergen
49e996caaf Fix link in email notifications 2015-04-15 13:19:00 +02:00
Fokke Zandbergen
a17cbbb8ad Fix link in email notifications 2015-04-15 13:18:50 +02:00
Fokke Zandbergen
3a090ef308 Fix link in email notifications 2015-04-15 13:18:06 +02:00
Julian Lam
27049a2180 updated theme minimum versions 2015-04-14 20:44:47 -04:00
Julian Lam
b58e50fb1e updated bootstrap js version in core 2015-04-14 20:44:47 -04:00
barisusakli
500c9f061c removed return 2015-04-14 15:54:48 -04:00
barisusakli
8c7ded3062 closes #3026 2015-04-14 15:31:17 -04:00
barisusakli
d5dd48ecc8 closes #3013 2015-04-14 14:27:42 -04:00
barisusakli
f7a3aef322 escape on the way out, fixes birthday/age calculation 2015-04-14 14:16:06 -04:00
barisusakli
eaa442db8c update deleted propery before calling hook 2015-04-14 13:06:01 -04:00
Julian Lam
e147328d53 updated backgroundDraggable jquery plugin with fork that allows for percentages: ad2c5a87d1 2015-04-14 12:52:49 -04:00
Julian Lam
6a509a51db fixes #2992 2015-04-14 12:23:28 -04:00
barisusakli
1cc80cbc84 closes #3014 2015-04-14 11:01:16 -04:00
Julian Lam
a055ff3547 latest translations 2015-04-14 10:21:15 -04:00
Julian Lam
32d3be0cbd closes #3014, closes #3009 2015-04-13 20:02:56 -04:00
barisusakli
fa9fde43fb closes #2971 2015-04-13 17:29:48 -04:00
Julian Lam
ceba856006 fixing categories with null parentCids, again 2015-04-13 16:12:29 -04:00
barisusakli
7fa014e5ad closes #3016 2015-04-13 16:10:56 -04:00
Julian Lam
80250b6f6c adding default of parentCid 0 if parentCid not set 2015-04-13 16:02:22 -04:00
barisusakli
5501c0c759 closes #3005 2015-04-13 15:01:38 -04:00
barisusakli
663ad38727 closes #3004 2015-04-13 13:17:24 -04:00
barisusakli
dd175ada67 closes #3003 2015-04-13 13:07:20 -04:00
barisusakli
1910fdb977 fix xss on guest handles, make sure guest handlers arent longer than max username length 2015-04-13 13:04:47 -04:00
barisusakli
cf825d02b7 escape title 2015-04-13 12:45:39 -04:00
psychobunny
c92ef6cf34 closes #3012 2015-04-13 10:57:34 -04:00
psychobunny
bbef94ed25 made the security vulnerability section a bit more obvious 2015-04-13 10:41:35 -04:00
psychobunny
3ec99b8021 #3011 2015-04-13 10:35:27 -04:00
barisusakli
3de083208d closes #3002 2015-04-12 22:12:27 -04:00
psychobunny
1201425db2 hint 2015-04-12 20:48:09 -04:00
psychobunny
e78fc98146 cross-browser support for composer resize animation 2015-04-12 20:48:08 -04:00
psychobunny
5db4714ba8 add success message to watch / ignore category methods 2015-04-12 20:48:07 -04:00
psychobunny
4d414d0b63 .category-box and .post-preview now components 2015-04-12 20:48:07 -04:00
barisusakli
1b2da78fd8 missing lines 2015-04-11 16:50:55 -04:00
barisusakli
1ce3d7284b closes #2995 2015-04-11 16:48:09 -04:00
barisusakli
427dda654a temp fix for #2994 2015-04-11 16:13:19 -04:00
barisusakli
039dab829a downgrade autocomplete to 0.1.2 2015-04-11 15:50:44 -04:00
barisusakli
a14249dee6 removed tags 2015-04-10 16:45:37 -04:00
barisusakli
729fb1d696 advanced search change 2015-04-10 16:13:45 -04:00
barisusakli
3d0b50a9b7 closes #2975 2015-04-10 15:40:23 -04:00
barisusakli
45bf5de1e5 closes #2982
update url with new slug on topic title edit
2015-04-10 15:01:36 -04:00
psychobunny
5c59aa7737 closes #2986 2015-04-10 14:23:40 -04:00
psychobunny
799cc9397a closes #2973
also fixes some UX issues and enforces password length check on both
client and server
2015-04-10 13:37:54 -04:00
barisusakli
cc6f37ac4e added category bgColor/color to getPostSummary 2015-04-10 13:29:09 -04:00
psychobunny
13b4e446bf closes #2984 2015-04-10 12:40:05 -04:00
psychobunny
59909894fc closes #2981 2015-04-10 12:35:49 -04:00
psychobunny
f601bdee5e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-04-10 12:00:23 -04:00
psychobunny
97419bbdd9 closes #2980 2015-04-10 12:00:18 -04:00
barisusakli
8069cbda69 closes #2979
if all is selected search in all categories
2015-04-09 18:15:31 -04:00
barisusakli
0b76ed90aa no group title 2015-04-09 17:59:26 -04:00
barisusakli
b2fad172e5 closes #2966 2015-04-09 17:37:28 -04:00
Barış Soner Uşaklı
9c7c87fd3b closes #2972 2015-04-09 15:37:20 -04:00
Barış Soner Uşaklı
df3e007120 closes #2969 2015-04-09 14:53:59 -04:00
barisusakli
835d4db481 dont add category/topic slug if user doesnt have read permission
or category is disabled etc.
2015-04-08 21:16:11 -04:00
Julian Lam
0c851d864e latest fallbacks 2015-04-08 21:05:56 -04:00
psychobunny
56d1b521c5 closes #2967
@barisusakli  there was a return; if user is offline, don't see any
reason why it should be so I removed it, just FYI
2015-04-08 18:11:17 -04:00
psychobunny
43bd798f2b #2967 2015-04-08 18:03:19 -04:00
psychobunny
885b36bb50 closes #2965 2015-04-08 17:28:19 -04:00
Barış Soner Uşaklı
0ed46c3bae closes #2963, closes #2957 2015-04-08 11:54:38 -04:00
Barış Soner Uşaklı
5fda8422c5 fix focus 2015-04-08 11:37:02 -04:00
Barış Soner Uşaklı
436a9a61b8 fix language file 2015-04-08 11:32:36 -04:00
Julian Lam
3c6d154a27 translation strings for #2960 2015-04-08 10:43:59 -04:00
Julian Lam
3c0c806780 updated latest translations 2015-04-07 21:58:38 -04:00
barisusakli
b815601649 https://github.com/NodeBB/nodebb-theme-persona/issues/59 2015-04-07 21:57:19 -04:00
barisusakli
e33a905f55 missing change 2015-04-07 20:46:20 -04:00
barisusakli
499a068bb7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-04-07 20:46:14 -04:00
barisusakli
0d515803e4 fix post edit 2015-04-07 20:46:11 -04:00
psychobunny
01542647d4 no need to add img-responsive to all images anymore 2015-04-07 18:06:42 -04:00
barisusakli
9d026919ac closes #2953 2015-04-07 17:23:49 -04:00
Barış Soner Uşaklı
e0996d67ca more rel_path upload fixes 2015-04-07 15:44:30 -04:00
Barış Soner Uşaklı
3f92984be2 fix image url in relative_path install in post 2015-04-07 15:37:20 -04:00
Barış Soner Uşaklı
7baa0e97fc waterfall getPostsByPids 2015-04-07 14:15:35 -04:00
Barış Soner Uşaklı
dadbda98b7 closes https://github.com/NodeBB/nodebb-theme-persona/issues/52 2015-04-07 13:45:46 -04:00
Barış Soner Uşaklı
641c8991f9 closes #2944
if going to users page wait for updateOnlineUsers to complete
2015-04-07 12:52:48 -04:00
Barış Soner Uşaklı
7abbbbfccf closes #2946 2015-04-07 12:19:32 -04:00
Julian Lam
cb9a300811 closed #2945 2015-04-07 12:01:25 -04:00
Barış Soner Uşaklı
c7c420e869 closes #2947 2015-04-07 11:44:45 -04:00
Barış Soner Uşaklı
ed57a41d17 #2943 2015-04-06 16:17:29 -04:00
Barış Soner Uşaklı
aa1f56b316 update deps 2015-04-06 15:15:32 -04:00
psychobunny
b1560388a6 hint 2015-04-06 14:36:15 -04:00
Barış Soner Uşaklı
4af8a5ec02 closes #2940 2015-04-06 14:31:19 -04:00
Julian Lam
1bf6c1fd46 latest translations and fallbacks 2015-04-04 14:23:50 -04:00
Julian Lam
40834cc010 updated checkAccountPermissions to call requireUser, and added new hook for plugins to handle auth login 2015-04-03 21:16:27 -04:00
barisusakli
1ade973e56 added missing radix :rage3: 2015-04-03 21:15:15 -04:00
barisusakli
188a480590 use post-count component 2015-04-03 18:22:18 -04:00
barisusakli
5f2271e4e0 closes #2903 2015-04-03 15:07:36 -04:00
barisusakli
f81e3ad358 categoryTools componets 2015-04-03 13:57:20 -04:00
psychobunny
e443d14519 fixes acp/categories/x menu selection
@julianlam
2015-04-03 11:17:58 -04:00
psychobunny
70bf518a02 define all required data at top of fn 2015-04-03 00:58:41 -04:00
barisusakli
e7fa000fe0 removed strict li selector 2015-04-02 23:01:47 -04:00
barisusakli
b00ee4828f removed hardcoded icons for post delete restore 2015-04-02 22:54:09 -04:00
barisusakli
9dac6303bb removed thread state fix bottom bar class 2015-04-02 22:34:23 -04:00
barisusakli
9e3b2148ba components 2015-04-02 22:06:22 -04:00
Julian Lam
04f536854c added some tests, fixed user reset tests 2015-04-02 20:27:43 -04:00
Julian Lam
66422acea2 fixed #2934 2015-04-02 19:18:48 -04:00
barisusakli
3efb1345e0 use topic/header closes #2933 2015-04-02 17:33:33 -04:00
psychobunny
63653662e0 a should have the title, not img
part 1 of https://github.com/NodeBB/nodebb-theme-persona/issues/38
2015-04-02 16:14:28 -04:00
psychobunny
30df61e7a5 infinite scrolling on category view, checkboxes weren't showing up 2015-04-02 15:56:32 -04:00
barisusakli
e15f7902dd closes #2930 2015-04-02 14:09:24 -04:00
Barış Soner Uşaklı
0994f810d9 Merge pull request #2931 from cismous/master
fixed post chat bug
2015-04-02 13:35:00 -04:00
CisMous
e5efec1361 fixed post chat bug 2015-04-02 17:11:55 +08:00
barisusakli
f96f6d9e2e shorter 2015-04-02 01:27:11 -04:00
barisusakli
1745689317 require composer when its needed 2015-04-01 23:28:21 -04:00
barisusakli
e862f7186f recent doesnt need composer anymore 2015-04-01 23:01:55 -04:00
barisusakli
b3f66faa37 default is private 2015-04-01 22:20:20 -04:00
barisusakli
0d839bdb2c parantheses 2015-04-01 22:18:42 -04:00
psychobunny
7563e9aba1 added localStorage for preview toggled state 2015-04-01 17:36:21 -04:00
psychobunny
e1ff3deaf0 move preview toggle function into composer/preview.js 2015-04-01 17:36:19 -04:00
Julian Lam
56fc958939 closes #2891 2015-04-01 17:26:27 -04:00
psychobunny
43502e041a don't send 5 million error messages during daily digest 2015-04-01 17:03:28 -04:00
Barış Soner Uşaklı
c294c3b342 fix inf scroll and timeago on users page 2015-04-01 16:41:23 -04:00
psychobunny
6c5c8ceeee closes #2859 2015-04-01 16:32:57 -04:00
psychobunny
bc4e5371d7 Merge pull request #2907 from MegaGM/fixcategory.images
fix: category images (helpers.generateCategoryBackground)
2015-04-01 15:42:46 -04:00
Barış Soner Uşaklı
c81424714d Merge pull request #2924 from cismous/master
remove code
2015-04-01 15:38:07 -04:00
Julian Lam
db1b70cccb updated italian language 2015-04-01 15:34:26 -04:00
Barış Soner Uşaklı
5641e54192 added route to /users 2015-04-01 15:23:04 -04:00
psychobunny
232d1aae31 helpers.getBookmarkFromIndex 2015-04-01 15:22:02 -04:00
CisMous
bb94c9c36b remove unused code 2015-04-02 03:17:06 +08:00
CisMous
5bb2f2bb62 fix type error 2015-04-02 03:16:33 +08:00
CisMous
458d9ab8a2 remove comma 2015-04-02 03:16:16 +08:00
psychobunny
ca3e0b59b0 filter out illegitimate rewards 2015-04-01 14:54:09 -04:00
psychobunny
27ad7e41c9 process.env is an object 2015-04-01 14:49:11 -04:00
Barış Soner Uşaklı
925b12ca22 startsWith 2015-04-01 14:47:38 -04:00
psychobunny
80b308b9a6 [[user:more]] 2015-04-01 12:56:40 -04:00
psychobunny
f734d47bef closes https://github.com/NodeBB/nodebb-theme-vanilla/issues/21 and https://github.com/NodeBB/nodebb-theme-persona/issues/31 2015-04-01 12:54:19 -04:00
Barış Soner Uşaklı
ca332d23c0 wait for createIndex errors 2015-04-01 12:28:10 -04:00
Julian Lam
f8fb5a1d9f Merge pull request #2837 from atomoc/master
Add parameters for create categories
2015-04-01 11:57:46 -04:00
psychobunny
4a9498e105 closes #2916 2015-04-01 11:49:46 -04:00
Barış Soner Uşaklı
7161972cc3 up vanilla lavender versions 2015-04-01 11:40:20 -04:00
Сергей Савельев
ce743be779 Delete errors 2015-04-01 18:25:27 +03:00
Сергей Савельев
6b3b44e2fc Delete errors 2015-04-01 18:22:55 +03:00
Сергей Савельев
18c5354ec7 Merge branch 'master' of https://github.com/atomoc/NodeBB 2015-04-01 15:11:19 +03:00
Сергей Савельев
621ae9c91a Add admin hooks for get categories 2015-04-01 15:11:15 +03:00
Сергей Савельев
63db2a539e Merge pull request #4 from NodeBB/master
123
2015-04-01 15:10:18 +03:00
barisusakli
2fd4bcde3f added req.uid user id for logged in users, 0 for guests 2015-04-01 00:23:57 -04:00
barisusakli
878e548296 renamed end to stop globally
fixed getting favourites for admins
2015-03-31 23:40:58 -04:00
barisusakli
27bab3330a pass data to getCategoryTopics, renamed end to stop 2015-03-31 22:59:34 -04:00
barisusakli
7a3b4c08e0 closes #2922 2015-03-31 21:14:36 -04:00
Peter Jaszkowiak
5f2b341aa2 Merge pull request #6 from NodeBB/master
merge latest
2015-03-31 14:20:09 -06:00
Сергей Савельев
f7a3428bf8 Merge pull request #3 from NodeBB/master
123
2015-03-31 23:07:21 +03:00
Julian Lam
326c531d7f v2.1.0 of markdown, for safety 2015-03-31 15:33:24 -04:00
Julian Lam
4ee4707f71 requiring v1.0.0 of widget essentials 2015-03-31 15:31:10 -04:00
Julian Lam
47a7ab15be refactored translator system to be a require.js module, and not a global 2015-03-31 15:11:59 -04:00
Barış Soner Uşaklı
b65f456d70 closes #2880 2015-03-31 14:19:17 -04:00
Julian Lam
16c6578bdb updated components to be a require.js module, not a global (:rage2:) 2015-03-31 14:10:20 -04:00
Barış Soner Uşaklı
f380f4214a closes https://github.com/NodeBB/nodebb-theme-persona/issues/27 2015-03-31 12:22:43 -04:00
Barış Soner Uşaklı
c4569d533d added filter:categories.build 2015-03-31 11:14:12 -04:00
barisusakli
e775246bf9 moved collapse to theme 2015-03-30 18:36:25 -04:00
barisusakli
e6d36af942 only close nav if body has slide-in 2015-03-30 18:24:23 -04:00
Julian Lam
2871cf3fb2 updated forum to require v2.0.0 of the markdown plugin 2015-03-30 17:02:54 -04:00
barisusakli
486f5f9df6 close navigation on click for slide-in as well 2015-03-30 14:14:21 -04:00
barisusakli
b2087f94e2 closes #2904 2015-03-30 13:31:08 -04:00
Сергей Савельев
a70f1b09e4 m 2015-03-30 12:11:01 +03:00
barisusakli
8026b3c7d8 closes #2911 2015-03-28 15:26:23 -04:00
Julian Lam
c706638b5d updating groups access control so:
1. Guests can no longer receive the moderate bit
  2. If you attempt to grant the moderate privilege to a public group, a confirmation modal appears
  3. A lock icon is present next to all private groups
2015-03-28 11:23:51 -04:00
Julian Lam
89442c91c6 fixed bug where privilege state was not correctly calculated for MongoDB installs, and fixed columnCount not being present when a the privilege list is refreshed 2015-03-28 10:19:43 -04:00
barisusakli
d27ec057c5 closes #2910 2015-03-27 21:49:53 -04:00
Julian Lam
d249a46fae fixed around event handling for composer submit button, and upped vanilla minver 2015-03-27 21:36:10 -04:00
Julian Lam
8e17f34de4 lol. 2015-03-27 20:51:38 -04:00
Julian Lam
9369158ba0 latest dutch translations 2015-03-27 20:37:42 -04:00
barisusakli
fccfc5307b fix commas 2015-03-27 16:27:28 -04:00
barisusakli
65bdeba385 helpers.js fix maybe 2015-03-27 14:21:27 -04:00
barisusakli
a3a0ba9bc3 fix post count tmp fix for js error from helpers.js 2015-03-27 14:21:04 -04:00
barisusakli
8d6d1c32e7 allow plugins to update additional fields with filter:user.updateProfile 2015-03-27 14:01:59 -04:00
Julian Lam
f0f31e077f added exposeUid middleware to core 2015-03-27 13:30:18 -04:00
barisusakli
474b074c8f fix wrong post count on new post 2015-03-27 13:19:12 -04:00
Barış Soner Uşaklı
a78eebe8be Merge pull request #2909 from cismous/master
remove unneeded argument
2015-03-27 12:50:30 -04:00
cismous
68cf6833b7 remove unneeded argument 2015-03-27 23:59:39 +08:00
Julian Lam
76793729d8 Merge pull request #2908 from MegaGM/fixadmin.remove.category.image
fix:removing category images via ACP
2015-03-27 09:01:57 -04:00
Julian Lam
316d0fe1d7 latest fallbacks 2015-03-27 09:01:25 -04:00
Julian Lam
2d5f687373 latest translations 2015-03-27 08:58:55 -04:00
Mega
30ad24caa6 Hide "Remove" buttun as well 2015-03-27 15:58:13 +03:00
Mega
3947710a3d fix:removing category images via ACP 2015-03-27 15:43:37 +03:00
Mega
8b48a1e3af fix: category images (helpers.generateCategoryBackground) 2015-03-27 14:51:36 +03:00
barisusakli
ed8d60b76b move registered-users/guests to top remove admins from priv settings 2015-03-26 18:33:05 -04:00
psychobunny
7c7b43d295 semicolon 2015-03-26 17:36:15 -04:00
psychobunny
789418f987 stripTags and escape template helpers
use it like so {function.stripTags, title}
see vanilla or persona topics_list.tpl for more info
2015-03-26 17:27:50 -04:00
Barış Soner Uşaklı
41db2dcd14 removed idle added recent tags presence info 2015-03-26 16:32:28 -04:00
Julian Lam
0d044c34c1 removed old code that was adding unneeded html to the template 2015-03-26 13:14:20 -04:00
Julian Lam
f4803c21ac added missing partial 2015-03-26 13:12:21 -04:00
Barış Soner Uşaklı
5ce72f4920 dont add guests to users:repuration zset 2015-03-26 13:03:23 -04:00
Barış Soner Uşaklı
e0b4a35a25 dont add guests to users:postcount zset 2015-03-26 13:00:26 -04:00
Barış Soner Uşaklı
c9b98306e0 dont require everything in folder
dont want rooms.js to be public
2015-03-26 12:42:25 -04:00
Barış Soner Uşaklı
30104b898c dont allow vote spam 2015-03-26 12:22:39 -04:00
barisusakli
e528f52cfb closes #2757 2015-03-25 23:06:56 -04:00
barisusakli
77e956861a #2486
various fixes for socket.io cluster
display user presence correctly
2015-03-25 22:33:19 -04:00
Julian Lam
1a58ea6520 closed #2695 2015-03-25 20:04:45 -04:00
Julian Lam
d95f5a9ae0 added help block to category purge button, updated iconSelect library to use templates in a better way, hooked up iconSelect for category mgmt, #2463 2015-03-25 19:29:24 -04:00
Julian Lam
202789fa8d added back category creation, #2463 2015-03-25 18:08:15 -04:00
Julian Lam
e340b9fffe fixed save/delete/purge in category ACP, #2463 2015-03-25 17:51:46 -04:00
Julian Lam
7cdfe143ab fixed bug where cid was hardcoded, and switched format back to storing group names, not slugs, #2887 2015-03-25 17:41:54 -04:00
Julian Lam
4f2c7382c5 passing in the column count so a message can be displayed to users when no users have privs in a category, #2887 2015-03-25 17:34:16 -04:00
Julian Lam
60b19a9d62 Merge remote-tracking branch 'origin/master' into categories_revamp 2015-03-25 17:23:17 -04:00
Julian Lam
9dece4a1db added some missing files from previous commits, fixed setParent mechanic which broke after I refactored, #2463 2015-03-25 17:21:38 -04:00
Barış Soner Uşaklı
4a18a041c9 #2894 no need to remove if there are no new posts 2015-03-25 16:20:27 -04:00
Julian Lam
25cb1f9284 Merge remote-tracking branch 'origin/master' into categories_revamp 2015-03-25 16:10:27 -04:00
Julian Lam
d3af278123 removed old code that was no longer necessary, updated privilege table to show all groups (similar to previous behaviour), fixes #2887 2015-03-25 16:09:38 -04:00
Barış Soner Uşaklı
36942125e6 closes #2894
also mark user online if they post a reply
2015-03-25 15:51:11 -04:00
Julian Lam
9b84a887d3 a huge frickin' number of changes for #2887. This is part of #2463 2015-03-25 15:43:57 -04:00
EvSpirit
8a6c189d80 #2893 increment --debug-brk port value when forking js-minifier child process 2015-03-25 20:40:42 +03:00
EvSpirit
3bd2f53056 #2893 increment --debug-brk port value when forking js-minifier child process 2015-03-25 20:18:15 +03:00
Julian Lam
815ea88fa5 readded some missing classes, fixed some styling on category.tpl, fixed image uploading code 2015-03-25 11:58:21 -04:00
Julian Lam
765f15096b removed wrapping .row around tables in acp/manage/categories 2015-03-25 11:35:38 -04:00
Julian Lam
a1621145d5 Merge branch 'master' into categories_revamp
Conflicts:
	public/less/admin/admin.less
	public/src/admin/manage/categories.js
	src/controllers/admin.js
	src/views/admin/manage/categories.tpl
	src/views/config.json
2015-03-25 11:16:37 -04:00
Barış Soner Uşaklı
f928b87997 use component, add user.watch title 2015-03-24 15:46:15 -04:00
Barış Soner Uşaklı
08ec35820d Merge pull request #2890 from EvSpirit/master
#2886 Check subcategories when showing category recent topics
2015-03-24 15:16:50 -04:00
EvSpirit
2ea840e65d #2886 Check subcategories when showing category recent topics 2015-03-24 21:58:35 +03:00
EvSpirit
0fcd4dee58 #2886 Check subcategories when showing category recent topics 2015-03-24 21:39:28 +03:00
psychobunny
11710987a4 fixed navigator pagination 2015-03-24 14:20:01 -04:00
Julian Lam
fcbc02d48a better local function name in install.js 2015-03-24 13:47:47 -04:00
Barış Soner Uşaklı
203d4d052a fixed my logic fail 2015-03-24 13:21:54 -04:00
Barış Soner Uşaklı
c7b5cd48ba closes #2773 2015-03-24 13:10:18 -04:00
psychobunny
d39c2924e4 found a rogue topic class selector 2015-03-24 12:56:01 -04:00
Barış Soner Uşaklı
29fd89407c closes #2872
show the last posts content and user in topic feeds
2015-03-24 12:55:27 -04:00
psychobunny
705111a1d9 chat/icon component 2015-03-24 12:21:19 -04:00
Barış Soner Uşaklı
f6d0ad9b0f Merge remote-tracking branch 'origin/master' into mongodb-3.0-driver-2.0 2015-03-24 12:16:31 -04:00
Julian Lam
4dbb1c08b6 added default host port and db settings for mongo, if not set in config file 2015-03-24 11:08:06 -04:00
Barış Soner Uşaklı
fc28cbf887 filter cids with a single .filter thanks @julianlam 2015-03-24 10:59:21 -04:00
Julian Lam
06d547a6cb fixed bug in privilege settings where categories near the end of a list were not having their permissions read properly if earlier categories were disabled, #2887 2015-03-24 10:52:36 -04:00
barisusakli
b268927cf9 removedu if from filter:parse,post, parse strip teaser content 2015-03-23 19:32:32 -04:00
psychobunny
7c9e76132d topic/follow component fix 2015-03-23 14:42:45 -04:00
barisusakli
9754dc8be0 open user link in new tab 2015-03-21 15:32:11 -04:00
psychobunny
4ec43f662c don't actually need to restart nodebb to apply skins 2015-03-21 13:10:57 -04:00
barisusakli
6b950d0596 fix endsWith if check 2015-03-20 19:42:59 -04:00
barisusakli
810d3be512 closes #2593 2015-03-20 19:36:18 -04:00
barisusakli
4c31535c4b closes #2799 2015-03-20 18:47:08 -04:00
barisusakli
6c0e07c384 Merge remote-tracking branch 'origin/master' into mongodb-3.0-driver-2.0 2015-03-20 17:52:04 -04:00
barisusakli
38726243fe closes #2879 2015-03-20 16:13:34 -04:00
barisusakli
04ed79e587 fix profile image upload on subfolder install 2015-03-20 14:48:19 -04:00
barisusakli
c8e0eab34e escape data on room enter 2015-03-20 13:46:05 -04:00
barisusakli
7dde229517 added filter:teasers.get 2015-03-20 12:21:27 -04:00
barisusakli
ea91518f30 slugs lowercase duh 2015-03-19 23:03:36 -04:00
Barış Soner Uşaklı
9e7af15bbc Merge pull request #2876 from cismous/master
remove comma
2015-03-19 23:01:41 -04:00
barisusakli
9d62709f7c doggy.gif 2015-03-19 22:59:12 -04:00
barisusakli
a51b7257c7 fix group name in tests 2015-03-19 22:46:40 -04:00
barisusakli
8b5643fe90 system and hidden groups cant be renamed 2015-03-19 22:42:16 -04:00
barisusakli
e5bea19f56 renamed groupname 2015-03-19 22:35:24 -04:00
barisusakli
649ef93768 its called foo :dull 2015-03-19 22:21:08 -04:00
barisusakli
e4431f62b2 fix group update text 2015-03-19 22:07:36 -04:00
barisusakli
358f6f61f7 closes #2803, closes #2883
options.unescape was not used correctly
fix groups.update so it  doesnt overwrite data if some fields are not
passed in
2015-03-19 21:43:53 -04:00
psychobunny
d2dae2d62f standardize showSelect amongst category and topic_list routes 2015-03-19 16:15:39 -04:00
Barış Soner Uşaklı
0ebad0fe10 Merge pull request #2843 from FokkeZB/patch-1
Skip setTimeout if it doesn't exist (Node 0.10.x with SSL)
2015-03-19 15:56:14 -04:00
Barış Soner Uşaklı
9edfcb0053 dont save user obj in db 2015-03-19 15:55:56 -04:00
psychobunny
6acfec9d25 add teaser content to category view 2015-03-19 15:50:28 -04:00
Julian Lam
eee2aa8051 making sure to pass in userData to notifications.create on user follow 2015-03-19 15:46:33 -04:00
Barış Soner Uşaklı
027f9e5a83 dont need start time anymore 2015-03-19 15:27:27 -04:00
Barış Soner Uşaklı
8b429a2e05 removed path 2015-03-19 15:26:51 -04:00
Barış Soner Uşaklı
cc92d09498 generateNotificationPaths 2015-03-19 15:24:46 -04:00
psychobunny
8c0dfa1217 data/category partial 2015-03-19 15:11:02 -04:00
psychobunny
8fbb085718 Merge remote-tracking branch 'origin/master'
Conflicts:
	public/src/client/topic/postTools.js
2015-03-19 15:06:14 -04:00
psychobunny
f2c220988b fix for posting in multiple threads bug 2015-03-19 15:05:11 -04:00
Barış Soner Uşaklı
b1478ad5da dont add events multiple timest to #content 2015-03-19 15:05:00 -04:00
Julian Lam
82f7ca5e0f added a path to follow notification 2015-03-19 14:56:27 -04:00
psychobunny
bc056f0724 can remove this line as well 2015-03-19 14:22:00 -04:00
psychobunny
5d7ce0011a no need for setTimeout in ajaxify 2015-03-19 14:21:23 -04:00
psychobunny
85e3cb9f0d Merge remote-tracking branch 'origin/persona' 2015-03-19 14:10:28 -04:00
psychobunny
87ffc2cff9 topic/pinned and topic/locked components 2015-03-19 14:05:41 -04:00
psychobunny
4ca6364dd4 removed .category-item selectors 2015-03-19 13:58:29 -04:00
psychobunny
10eb617c6d category and category/topic components; removed #topic-container selectors 2015-03-19 13:56:12 -04:00
Barış Soner Uşaklı
d05ef6ddbc closes #2822 2015-03-19 13:28:15 -04:00
Julian Lam
5a4fa18e98 fixed digests so they aren't prematurely exiting, and will send again :shipit: 2015-03-19 13:20:56 -04:00
psychobunny
aeb7548a9d because this works 2015-03-19 12:58:09 -04:00
Barış Soner Uşaklı
6417a55918 up dbsearch version 2015-03-19 12:47:28 -04:00
Barış Soner Uşaklı
877b2d51fc Merge remote-tracking branch 'origin/search-cid-uid' 2015-03-19 12:33:02 -04:00
Barış Soner Uşaklı
0cc900bdcf closes #2878 2015-03-19 12:32:05 -04:00
Julian Lam
8e38840768 also passing in uid in topic delete and restore hooks 2015-03-19 11:34:51 -04:00
Barış Soner Uşaklı
0bbebbe4b1 Merge remote-tracking branch 'origin/master' into search-cid-uid 2015-03-19 10:59:39 -04:00
barisusakli
a1b6019efe disable/enable reply buttons on lock/unlock 2015-03-18 20:43:57 -04:00
barisusakli
783bcb9bd6 some component fixes closes #2881 2015-03-18 20:20:32 -04:00
barisusakli
5bc2e7dac2 closes #2309 2015-03-18 17:50:53 -04:00
psychobunny
41f5afa887 fix for post-bar reply button 2015-03-18 17:48:14 -04:00
psychobunny
721ee09b19 removed deprecation notice 2015-03-18 17:41:55 -04:00
Julian Lam
5951079926 latest translations 2015-03-18 16:18:17 -04:00
barisusakli
254fcff01f forgot db require 2015-03-18 15:18:07 -04:00
barisusakli
6c58bd9520 closes #2871 2015-03-18 15:16:37 -04:00
psychobunny
e9d9e14eb4 components - fixed a bug with bottom post bar now showing up 2015-03-18 14:55:16 -04:00
psychobunny
98c54c3ccb closes https://github.com/NodeBB/NodeBB/issues/2856 2015-03-18 14:40:16 -04:00
psychobunny
3ed3612047 file upload with spaces / general file upload fix wrt ajaxiy 2015-03-18 13:54:43 -04:00
barisusakli
909fe660a9 decodeURIComponent for uploaded file/image 2015-03-17 20:19:24 -04:00
psychobunny
60a70e4e62 moved 37fe438c63 into core 2015-03-17 16:23:18 -04:00
psychobunny
075611ca4b Merge remote-tracking branch 'origin/master' into persona 2015-03-17 16:16:56 -04:00
psychobunny
adbbbb3602 decided to go ahead and deprecate this for 0.7x instead of post-0.7x 2015-03-17 16:15:12 -04:00
psychobunny
2e33f1d400 navbar/title component 2015-03-17 16:12:06 -04:00
Barış Soner Uşaklı
37fe438c63 reset fix for t.js bug :rage3: 2015-03-17 15:53:05 -04:00
psychobunny
5e39d8df33 thread tools components 2015-03-17 15:48:08 -04:00
cismous
3bd42c8b7a remove comma 2015-03-18 03:39:42 +08:00
psychobunny
fffed29913 post/favourite-count component 2015-03-17 15:35:32 -04:00
psychobunny
c2a5169625 post/votes component, user/reputation component 2015-03-17 15:33:07 -04:00
Julian Lam
f8aba4f4ef Merge branch 'master' into search-cid-uid 2015-03-17 15:13:43 -04:00
psychobunny
e06e1dccb6 topic/browsing/list and topic/browsing/count components 2015-03-17 15:08:52 -04:00
psychobunny
b9dd994a56 user/postcount component 2015-03-17 14:57:10 -04:00
psychobunny
10b9919a49 removed some possibly antiquated privs code 2015-03-17 14:47:37 -04:00
psychobunny
f8af900415 post button components 2015-03-17 14:45:06 -04:00
psychobunny
1d53365707 post/reply component 2015-03-17 14:37:53 -04:00
psychobunny
a740e8e98f post/header component 2015-03-17 14:31:32 -04:00
psychobunny
61db112942 topic/follow component 2015-03-17 14:26:12 -04:00
psychobunny
ec079afab1 post/content component 2015-03-17 14:16:41 -04:00
psychobunny
855e43ea12 deprecation notices 2015-03-17 14:16:24 -04:00
psychobunny
0c4ffafca3 topic buttons are now components 2015-03-17 14:09:08 -04:00
psychobunny
15b54d6e43 removed more .post-row selectors 2015-03-17 13:59:52 -04:00
psychobunny
51745568df removed the rest of the .post-row selectors in favour for components system 2015-03-17 13:59:25 -04:00
psychobunny
901cb92941 if no args, get all components of that type 2015-03-17 13:52:32 -04:00
psychobunny
567d171d2f jshint 2015-03-17 13:46:24 -04:00
psychobunny
e3899f9535 Merge remote-tracking branch 'origin/master' into persona 2015-03-17 13:43:23 -04:00
psychobunny
6439147586 updated core to point #post_container and .post-row to its respective components 2015-03-17 13:38:18 -04:00
psychobunny
8fcdae7f17 get a post component by any of its attributes 2015-03-17 13:37:23 -04:00
Barış Soner Uşaklı
e45e204ba5 fix author field on topic feed #2872 2015-03-17 13:21:27 -04:00
psychobunny
1df20465ed fixes to components; added post component 2015-03-17 13:15:49 -04:00
Barış Soner Uşaklı
839dd72a05 been a while since we stopped using hashes 2015-03-17 13:15:36 -04:00
Barış Soner Uşaklı
56ed6d2112 shorter bcrypt 2015-03-17 13:09:19 -04:00
psychobunny
5727658976 wrapper for grabbing components without modifiers 2015-03-17 12:56:14 -04:00
psychobunny
eba0f32913 post/anchor component 2015-03-17 12:54:10 -04:00
psychobunny
d347e88361 post/header component 2015-03-17 12:51:02 -04:00
psychobunny
54cbbe2844 components system 2015-03-17 12:47:40 -04:00
psychobunny
f5b701553c moved post-row's wall of data-text into partial 2015-03-17 12:30:50 -04:00
psychobunny
8727c7be17 moved all template variables to core 2015-03-17 12:25:02 -04:00
Julian Lam
406126536a missing semicolon 2015-03-17 12:02:33 -04:00
Julian Lam
9fc97ce92d fixing handleACPRedirect on subfolder installs 2015-03-17 12:01:55 -04:00
Julian Lam
521c454dde updated emailer to pass through "fromUid" if available 2015-03-17 11:29:19 -04:00
psychobunny
e08f34e79d function.generateTopicClass 2015-03-17 11:29:04 -04:00
psychobunny
dcfb8010b7 Merge remote-tracking branch 'origin/master' into persona 2015-03-17 11:17:29 -04:00
psychobunny
b81646477f remove hardcoded topic_row_size
I can't believe this is still here haha
2015-03-17 11:17:00 -04:00
Julian Lam
b83aa108f2 requiring more recent vanilla and lavender dependencies, #2875 2015-03-17 10:47:02 -04:00
Julian Lam
0f59046392 added requirejs config partial, #2875 2015-03-17 10:44:40 -04:00
psychobunny
412c5360a6 allow timeago to be cast on other elements as well, ex. small 2015-03-16 17:22:44 -04:00
psychobunny
82ac542f55 helpers.generateCategoryBackground 2015-03-16 16:39:33 -04:00
psychobunny
a3f167bfd2 default category should be col-xs-12 2015-03-16 13:49:47 -04:00
Сергей Савельев
89ea3b4cfe Merge branch 'NodeBB-master' 2015-03-16 16:47:56 +03:00
Сергей Савельев
e529d18414 save 2015-03-16 16:47:45 +03:00
barisusakli
518aec6e76 modified indices, removed key 2 collections now 2015-03-15 03:18:24 -04:00
barisusakli
ec7caea368 fix search on mongo 2015-03-15 01:45:24 -04:00
barisusakli
78c65aee05 even more search changes 2015-03-15 01:12:13 -04:00
barisusakli
2b7744f905 fire action:topic.move after topic cid is changed 2015-03-15 00:24:08 -04:00
barisusakli
31da62ab2d removed console.log 2015-03-15 00:13:26 -04:00
barisusakli
e2196af8ab part 2 of search changes 2015-03-15 00:12:52 -04:00
barisusakli
c7128bcc98 part 1 of search change 2015-03-14 23:00:24 -04:00
barisusakli
fd5f00459b fix admin events pagination 2015-03-14 21:10:36 -04:00
barisusakli
868b2ff2b6 if no term is passed get count 2015-03-14 20:46:28 -04:00
barisusakli
ec8fc8b97b dont do anything if id is falsy
added callback
2015-03-14 16:30:06 -04:00
barisusakli
203e69aa42 derp 2015-03-14 01:05:03 -04:00
barisusakli
a73f34df4a no need for ajaxify.end listener 2015-03-13 23:44:11 -04:00
barisusakli
c448c8cc8c closes #2864 2015-03-13 23:32:50 -04:00
barisusakli
32369f6191 disabled textcomplete css for now 2015-03-13 18:04:07 -04:00
barisusakli
f8f4a6e844 removed footer class 2015-03-13 17:59:37 -04:00
Barış Soner Uşaklı
abf27954d3 use topic.getMainPids 2015-03-13 16:33:00 -04:00
Barış Soner Uşaklı
64918dfcb4 up mentions ver 2015-03-13 15:31:14 -04:00
Barış Soner Uşaklı
d3dca842cb also #2858 2015-03-13 15:06:23 -04:00
Barış Soner Uşaklı
bab8e6a104 closes #2858 2015-03-13 15:04:24 -04:00
Barış Soner Uşaklı
eda98a35ea closes #2862 2015-03-13 15:01:52 -04:00
Barış Soner Uşaklı
e4199179f7 Merge remote-tracking branch 'origin/master' into mongodb-3.0-driver-2.0 2015-03-13 13:14:43 -04:00
Barış Soner Uşaklı
89333ab339 closes #2824 doggy.gif 2015-03-13 12:43:41 -04:00
Peter Jaszkowiak
77df837906 Merge pull request #5 from NodeBB/master
update
2015-03-12 21:44:16 -06:00
psychobunny
f7f048f06a when toggling composer preview, autofocus on composer 2015-03-12 22:53:09 -04:00
barisusakli
58169aa6d9 no need for return 2015-03-12 19:28:53 -04:00
barisusakli
6e25724cfb removed unused requires 2015-03-12 19:27:53 -04:00
barisusakli
e6c0794061 create tooltips for users on widgets 2015-03-12 17:46:49 -04:00
barisusakli
d3b2742da0 closes #2746 closes #2747 2015-03-12 16:50:46 -04:00
barisusakli
2f688136d1 closes #2852 2015-03-12 16:30:08 -04:00
barisusakli
b37bcc6dfe closes #2853 2015-03-12 16:26:33 -04:00
barisusakli
279bb62a3f cache parsed post content
clear cache on plugin install/uninstall/activate/deactivate
2015-03-12 15:01:55 -04:00
psychobunny
dfe48fffb1 composer fixes when resizing window horizontally 2015-03-12 14:49:18 -04:00
barisusakli
e9f82b7eee updated isLatin check doggy.gif 2015-03-12 13:39:04 -04:00
barisusakli
67b7ecf4df Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-03-12 13:26:32 -04:00
barisusakli
dd06e8d7d8 return early if falsy 2015-03-12 13:26:29 -04:00
psychobunny
2f05ec7de0 closes #2839 and #2840 2015-03-12 12:30:11 -04:00
barisusakli
4cb58d976b fix indices, main post always 0 2015-03-12 11:03:10 -04:00
barisusakli
fd1b7bbd3a fix redirection 2015-03-12 10:57:23 -04:00
psychobunny
ec897be3e7 jshint 2015-03-12 01:34:18 -04:00
barisusakli
2878bf6cfe removed commented out code 2015-03-11 23:37:25 -04:00
barisusakli
c63d5f4b7a test 2015-03-11 22:47:15 -04:00
barisusakli
f89741636c return false to prevent default 2015-03-11 21:56:33 -04:00
barisusakli
ca31ac882c added return true/false 2015-03-11 19:47:19 -04:00
Julian Lam
5269c2eb9e latest language translations 2015-03-11 18:34:26 -04:00
barisusakli
076931d5b5 fix search tooltip 2015-03-11 18:21:40 -04:00
barisusakli
a626005570 closes #2851 2015-03-11 18:04:27 -04:00
psychobunny
8d313d2f16 return composing state to normal after discard/posting 2015-03-11 16:37:34 -04:00
psychobunny
7b604c0895 this prevents autosize from causing the screen from jumping up and down as you type, on android at least
@jackmoore this might not the best solution but its working well so far.
let me know if you'd like a PR :)
2015-03-11 16:37:33 -04:00
psychobunny
6d4b658579 using unminified version of autosize 2015-03-11 16:37:31 -04:00
psychobunny
9262c8b9f6 after selecting a category in composer, auto-select the next field 2015-03-11 16:37:29 -04:00
psychobunny
83f89e9537 made action bar button less restrictive 2015-03-11 16:37:28 -04:00
psychobunny
31368ac974 on mobile, resize composer textarea as you type so it doesn't constrain the editable view 2015-03-11 16:37:25 -04:00
psychobunny
5e3a990f2d added vendor/autosize 2015-03-11 16:37:23 -04:00
psychobunny
7227dfd704 add composing mobile classes if composing on mobile 2015-03-11 16:37:22 -04:00
psychobunny
7282bbafb2 removing composer-mobile.tpl
was totally a bad idea.
2015-03-11 16:37:20 -04:00
Barış Soner Uşaklı
8234e4cc07 new hook action:topic.reply
only fires on normal replies
2015-03-11 15:57:17 -04:00
Barış Soner Uşaklı
9d0b4f5841 app.showEmailConfirmWarning :dull: 2015-03-11 13:34:57 -04:00
Barış Soner Uşaklı
940c33c426 fix js error removed dupe code 2015-03-11 13:32:28 -04:00
Barış Soner Uşaklı
abd3979fb3 closes #2465 2015-03-11 13:25:56 -04:00
psychobunny
eb733fdb6f toggle preview button on composer 2015-03-11 12:54:44 -04:00
Barış Soner Uşaklı
8484c7c51a closes #2850 2015-03-11 12:07:48 -04:00
Julian Lam
40763d2ae7 #2849 again 2015-03-11 11:24:52 -04:00
psychobunny
f1f199019d Merge pull request #2845 from cnvo/master
Update FontAwesome 4.3.0
2015-03-11 11:13:29 -04:00
Julian Lam
57a64870fd actually fixing #2849 2015-03-11 10:44:34 -04:00
Julian Lam
8e2483b2e6 fixed #2849 2015-03-11 10:32:53 -04:00
barisusakli
9f4f858ff9 group member search
only look in uids that are member of the group, added custom findUids
function to user.search
2015-03-10 15:50:41 -04:00
barisusakli
201c4b35da pagination data
if query is empty get all uids
2015-03-10 15:04:22 -04:00
Julian Lam
e8167a80a0 if bgColor and color are not sent in the category creation call, automatic colours are supplied 2015-03-10 14:55:25 -04:00
barisusakli
d342e01ef1 search group members 2015-03-10 14:09:28 -04:00
psychobunny
daf9999a29 prevent composer from going too low 2015-03-10 13:53:54 -04:00
Julian Lam
2a80140e70 fixed issue where socket.io would no longer reconnect perpetually, new behaviour waits 10x the reconnect delay, and then starts over. Also upped the reconnection delay default to 1.5s. 2015-03-10 11:52:32 -04:00
Trevor
8d2f89a5e2 Update FontAwesome 4.3.0
Fixed incorrect variables path.
2015-03-10 09:50:32 -04:00
Trevor
6454e89bac Update FontAwesome 4.3.0 2015-03-10 09:40:36 -04:00
Fokke Zandbergen
f0836f4107 Skip setTimeout if it doesn't exist (<= 0.10.36) 2015-03-10 10:36:34 +01:00
barisusakli
724df69561 fix redirects 2015-03-09 21:00:07 -04:00
barisusakli
25a2e9b812 we just need the group members :trollface: 2015-03-09 19:29:56 -04:00
Julian Lam
5d7b46935d fixing issue where grunt wouldn't read js from file properly if nodebb wasn't run in production mode at least once 2015-03-09 19:14:58 -04:00
psychobunny
6059165a54 if composer:resizePercentage hasn't been set, default to half the page 2015-03-09 18:52:53 -04:00
psychobunny
0913dbbade added a border effect on max'd composer 2015-03-09 18:39:41 -04:00
psychobunny
3b5b87c14e Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-03-09 18:34:51 -04:00
psychobunny
49a173bdf0 last bit of fixes to composer 2015-03-09 18:33:42 -04:00
barisusakli
ddd4680ea7 added helpers.redirect 2015-03-09 18:22:44 -04:00
psychobunny
bc9d7f2922 fix so that mouse is always on the handle 2015-03-09 18:19:58 -04:00
psychobunny
5b56157403 composer refactor part 1
removed lots of hardcoded values; used translate 3d instead of height
for smoother dragging; various optimizations; snap to top functionality
2015-03-09 18:05:18 -04:00
Julian Lam
f0ad2020df updated sorting logic (syntax error) 2015-03-09 17:18:34 -04:00
psychobunny
09e0d660cd tags:enter_tags_here better messaging 2015-03-09 16:56:40 -04:00
Julian Lam
28f569ea20 Merge pull request #2838 from MegaGM/update.plugin.version
Update nodebb-plugin-mentions version
2015-03-09 16:50:13 -04:00
psychobunny
bd99124fb9 refactored write preview code 2015-03-09 16:49:53 -04:00
Mega
c0e6c306d0 Update nodebb-plugin-mentions version 2015-03-09 23:48:53 +03:00
Сергей Савельев
3831cd0e71 Adding the ability to use a different url 2015-03-09 23:19:51 +03:00
psychobunny
da758c429a remove hardcoded z-index; give composer a "maximized" class if maximized 2015-03-09 16:19:20 -04:00
Julian Lam
bbbb362125 not referencing parent scope when inside BEGIN in widgets tpl 2015-03-09 16:15:06 -04:00
Barış Soner Uşaklı
d2e8d4d86e slice doesnt deep clone derp 2015-03-09 16:08:48 -04:00
Barış Soner Uşaklı
98a277af9e Merge remote-tracking branch 'origin/master' 2015-03-09 16:01:14 -04:00
Barış Soner Uşaklı
706527fa80 fix group titles
clone groups for each user
2015-03-09 16:01:04 -04:00
psychobunny
b56e862838 removed hardcoded fa-chevron icons from client js 2015-03-09 16:00:46 -04:00
psychobunny
7890c59dc5 Merge remote-tracking branch 'origin/master' into composer-redesign 2015-03-09 15:53:35 -04:00
psychobunny
4f2ac340b2 latest tjs 2015-03-09 15:52:13 -04:00
Barış Soner Uşaklı
53e0615df7 removed path use external 2015-03-09 15:33:20 -04:00
Barış Soner Uşaklı
4d45a81fdb closes #2383 2015-03-09 15:30:52 -04:00
psychobunny
1ec1c5a366 fixes composer maximizing 2015-03-09 15:05:48 -04:00
Barış Soner Uşaklı
33723f8b1b closes #2835 2015-03-09 13:54:35 -04:00
Barış Soner Uşaklı
cda38d6ed6 closes #2515 2015-03-09 13:16:23 -04:00
psychobunny
fcc8093fa6 #1642 show discard prompt 2015-03-09 12:44:15 -04:00
psychobunny
e47c375e69 closes #1642 2015-03-09 12:30:24 -04:00
Julian Lam
4360069859 fixing buttons on mobile composer, and updating format so tags button only appears on mobile 2015-03-09 12:17:33 -04:00
Julian Lam
e71ef216f2 hiding the right sidebar in ACP dash temporarily 2015-03-09 10:50:03 -04:00
Сергей Савельев
6d03f5c9e8 Revert line order 2015-03-09 17:04:30 +03:00
Сергей Савельев
8a5b5936b7 Revert line bgColor 2015-03-09 16:56:57 +03:00
Сергей Савельев
cc384cc4d6 Update file for create categories 2015-03-09 16:45:22 +03:00
Сергей Савельев
82fdc8646e Merge branch 'master' of https://github.com/atomoc/NodeBB 2015-03-09 16:43:16 +03:00
Сергей Савельев
3910f8bf28 Add parameters for create categories 2015-03-09 16:43:02 +03:00
Сергей Савельев
87d74abfc9 Add parameters for create categories 2015-03-09 16:19:02 +03:00
Peter Jaszkowiak
52c295b28b Merge pull request #4 from NodeBB/master
Pull latest
2015-03-08 23:43:29 -06:00
barisusakli
e5dc408ef5 change current page after ajaxify:start event 2015-03-07 21:59:21 -05:00
barisusakli
a5bf991cf0 ignored public/uploads again 2015-03-07 20:27:46 -05:00
barisusakli
d00f8a3d27 added uploads/system 2015-03-07 20:27:23 -05:00
barisusakli
dc94fe2b6c move admin upload routes to api namespace
move usrrs/csv to api namespace
2015-03-07 20:19:00 -05:00
barisusakli
f87f797bed dont keep window.location.search on regular ajaxify 2015-03-07 13:52:06 -05:00
Barış Soner Uşaklı
5b821b2f24 Merge pull request #2831 from MegaGM/fix.acp.navigation.delete.btn
Click on "Delete" btn in ACP > General > Navigation causes redirect.
2015-03-07 11:47:27 -05:00
Mega
42eadc72a4 Click on "Delete" btn in ACP > General > Navigation causes redirect. 2015-03-07 13:17:07 +03:00
barisusakli
3dd337bd34 closes #2829 2015-03-07 00:59:03 -05:00
barisusakli
289474edf7 closes #2827 2015-03-07 00:25:55 -05:00
barisusakli
63a6702285 removed whitespace 2015-03-06 19:48:12 -05:00
barisusakli
23a6b33f64 not used 2015-03-06 19:45:27 -05:00
barisusakli
3809b331bc acp shenans 2015-03-06 19:38:10 -05:00
barisusakli
c15a289d2a fix check 2015-03-06 19:05:51 -05:00
barisusakli
2a8437f08f removed templates config and mapping 🐑 2015-03-06 19:02:18 -05:00
barisusakli
5821a0758f return template name as well 2015-03-06 17:41:38 -05:00
Barış Soner Uşaklı
00be1e07e3 fix test 2015-03-06 15:21:00 -05:00
Barış Soner Uşaklı
ea9fccbf2a fix -inf +inf
added test for -inf +inf
2015-03-06 15:12:55 -05:00
Barış Soner Uşaklı
07572b188b fix crash 2015-03-06 14:54:02 -05:00
Julian Lam
f14c5f7e1c added new hook 'action:meta.override404' so plugins can override the regular handling of pages that are not found 2015-03-06 13:40:39 -05:00
Barış Soner Uşaklı
9915e31bc5 closes #2826 2015-03-06 13:05:22 -05:00
Barış Soner Uşaklı
f7d7cc2610 closes #2808 2015-03-06 13:00:56 -05:00
Barış Soner Uşaklı
607535b37e closes #2823 2015-03-06 12:29:05 -05:00
Julian Lam
daaf61bc68 fixed issue where accessing a category's access control caused a client-side error 2015-03-06 12:02:25 -05:00
yariplus
1102f40873 Add object setting plugin
Allows objects to be added to a plugin's settings using a tag with a JSON-like syntax in data-attributes.
A complex object can be created by using an array or another object as a parent, the object will be added to the parent array or the parent object's declared property instead of as it's own data-key.
2015-03-06 10:20:35 -05:00
barisusakli
558e708576 remove console.log 2015-03-05 17:32:40 -05:00
Barış Soner Uşaklı
e5343b7efc dont display cluster warning if not running as cluster 2015-03-05 16:21:52 -05:00
Julian Lam
68cb1350f2 added instructions to grabbing theme versions 2015-03-05 15:41:35 -05:00
Barış Soner Uşaklı
eed00fadde Merge remote-tracking branch 'origin/master' into mongodb-3.0-driver-2.0 2015-03-05 11:33:36 -05:00
Julian Lam
b777c448cf closed #2803 2015-03-04 16:03:58 -05:00
Barış Soner Uşaklı
6bd3c54a03 fix findAndModify
temp fix for connect-mongo
create admin after categories
2015-03-03 16:16:32 -05:00
psychobunny
3c9431b2fc socket.io/plugin updated instructions to use require.main.require instead 2015-03-03 15:50:21 -05:00
psychobunny
f082270f25 got rid of hideIfPrivate 2015-03-03 15:47:23 -05:00
psychobunny
9bf55c96d2 closes #2818 2015-03-03 15:46:57 -05:00
Barış Soner Uşaklı
e421a2c7cd pass session 2015-03-03 15:12:40 -05:00
Barış Soner Uşaklı
d9e0a495b0 updated install.js to install mongodb native 2 2015-03-03 14:31:09 -05:00
psychobunny
80945eff7e closes #2819 2015-03-03 14:19:18 -05:00
psychobunny
a22300746c latest tjs 2015-03-03 14:03:40 -05:00
Barış Soner Uşaklı
a19b25a3b3 closes #2816 2015-03-03 12:40:27 -05:00
Julian Lam
d7cd936b54 added preserveCase option to slugify 2015-03-03 12:34:45 -05:00
psychobunny
9f2b849861 latest tjs 2015-03-03 12:13:03 -05:00
Barış Soner Uşaklı
fa05971326 derp beforeEach 2015-03-02 16:35:12 -05:00
Barış Soner Uşaklı
0fdaaadae5 changed to before all 2015-03-02 16:28:03 -05:00
Barış Soner Uşaklı
e8644dac26 group.hidden is already bool 2015-03-02 16:10:08 -05:00
Barış Soner Uşaklı
8cb18b1e48 possible fix to group category 2015-03-02 16:06:40 -05:00
Barış Soner Uşaklı
c851b5a9b1 made getBaseUser public 2015-03-02 14:12:53 -05:00
psychobunny
89ecda5163 for plugin admin pages
need to find a better solution tho
2015-03-02 14:09:44 -05:00
Barış Soner Uşaklı
ac1e0513fc moved setupPageRoute to helpers 2015-03-02 14:01:18 -05:00
psychobunny
8c79e11dae properly fixes #2782 2015-03-01 16:10:54 -05:00
barisusakli
c40258a82c removed 2x calls to getRecentTopicReplies 2015-02-27 23:18:04 -05:00
psychobunny
fa607132be closes #2782 2015-02-27 18:07:29 -05:00
barisusakli
bd17bff7d4 prevent double follow/unfollow 2015-02-27 17:57:09 -05:00
psychobunny
5b67cd841e fire filter:config.get even if anonymous 2015-02-27 15:30:43 -05:00
Barış Soner Uşaklı
cd1d287a46 fix new posts appearing out of order 2015-02-27 15:18:52 -05:00
psychobunny
0fadaf037a filter:homepage.get for populating available routes on ACP 2015-02-27 15:09:09 -05:00
psychobunny
657fa8de73 oops action:homepage.get:* 2015-02-27 15:04:44 -05:00
psychobunny
44e8323efa action:navigation.get:* 2015-02-27 15:00:52 -05:00
psychobunny
c97c1ab4b9 filter:config.get 2015-02-27 15:00:49 -05:00
Barış Soner Uşaklı
8b21f1c8ab dont reload settings page on every save
only show an alert if reload is required
renamed settings.language to settings.userLang to match the config
2015-02-27 13:24:53 -05:00
Julian Lam
73a0908228 fixed hungarian language key being incorrect :rage2: 2015-02-27 12:59:02 -05:00
Barış Soner Uşaklı
5140e5db8d closes #2759 2015-02-27 12:53:08 -05:00
Julian Lam
27282a2877 if no order is specified during a category creation, NodeBB won't crash 2015-02-27 12:31:23 -05:00
Barış Soner Uşaklı
4c67fffabc dont parse sig if its falsy 2015-02-27 11:58:40 -05:00
Julian Lam
3ef54c3c01 added new hook to allow plugins to override the local login strategy with their own, closes #2806 2015-02-27 10:56:18 -05:00
barisusakli
01b012d89d #1642 2015-02-26 18:44:13 -05:00
barisusakli
2c2586b578 closes #2271 2015-02-26 15:14:27 -05:00
barisusakli
83663cf46b removed unused require 2015-02-26 14:14:58 -05:00
psychobunny
b07574d838 unnecessary return 2015-02-26 14:11:13 -05:00
psychobunny
3cc3e2f306 moved homepage configuration to its own acp page 2015-02-26 14:10:41 -05:00
psychobunny
332d4346ba fixed disable toggle for nav 2015-02-26 12:53:48 -05:00
psychobunny
a59b932020 displayUsersLink deprecated 2015-02-26 12:35:36 -05:00
psychobunny
cfd66e5dd4 fixes #2795 2015-02-26 12:29:59 -05:00
barisusakli
f7f453f8cd closes #2794 2015-02-26 12:22:52 -05:00
psychobunny
046bcef800 fixes #2782 2015-02-26 11:53:10 -05:00
ahwayakchih
7ed41a1f60 Set separator for loading environment variables to nconf, as discussed on https://github.com/NodeBB/NodeBB/pull/2778#issuecomment-76209393 2015-02-26 17:39:23 +01:00
Julian Lam
e0c7ef1451 fixed #2781 2015-02-26 11:09:14 -05:00
Julian Lam
6a32a0f399 closes #2775 2015-02-26 11:03:15 -05:00
Julian Lam
a3bc5d2037 fixing bug where the nav dropdown didn't close when a chat was opened 2015-02-26 10:08:48 -05:00
Julian Lam
5173fd7138 #2796 2015-02-26 09:34:43 -05:00
Julian Lam
72e9a6caa8 tweaks to ACP plugins page 2015-02-26 09:26:38 -05:00
Julian Lam
a2c6f58782 fixed issue where an updated alert didn't contain changes to the clickfn, closes #2798 2015-02-26 09:14:28 -05:00
Julian Lam
339619fc9d #2799 2015-02-26 09:06:33 -05:00
Julian Lam
4a264cac52 latest fallbacks 2015-02-26 08:43:42 -05:00
Julian Lam
01166b08c3 latest translations 2015-02-26 08:41:38 -05:00
Julian Lam
00f3084b8e closes #2792, closes #2791, closes #2788, closes #2787, closes #2786, closes #2785, closes #2784, closes #2783
Squashed commit of the following:

commit ca5064a4effa3904ce936b521b169bba8d24f1a1
Author: Julian Lam <julian@designcreateplay.com>
Date:   Thu Feb 26 08:19:32 2015 -0500

    Revert "added ajaxify popstate cache, so back/forward will just put back the already loaded page"

    This reverts commit 77d154bb8b.

commit ae07fc56c156074de8048bb627f5d9be849c8ad1
Author: Julian Lam <julian@designcreateplay.com>
Date:   Thu Feb 26 08:19:24 2015 -0500

    Revert "on click, topics are marked read from the unread page. Also fixed an issue where isPopState kept getting set to true, causing issues"

    This reverts commit d8c9ec0d40.

    Conflicts:
    	public/src/client/unread.js

commit 96ee3631d7e4e1fc2c1b7632d86684fecd1e430f
Author: Julian Lam <julian@designcreateplay.com>
Date:   Thu Feb 26 08:18:25 2015 -0500

    Revert "actually fixed isPopState error"

    This reverts commit e6701c5a1f.
2015-02-26 08:19:57 -05:00
psychobunny
0c8e0ca46f linted /meta 2015-02-25 19:28:43 -05:00
psychobunny
b0628c2df8 missing semi-colons in database/ 2015-02-25 19:27:13 -05:00
psychobunny
32ce785e5a somebody was trying to save trees by reducing whitespace
burn the trees
2015-02-25 19:16:24 -05:00
psychobunny
26245133f3 linted client-side core modules 2015-02-25 19:15:02 -05:00
psychobunny
241f5b0224 linted client side modules 2015-02-25 19:13:03 -05:00
psychobunny
cb1e2c9fef linting client side modules 2015-02-25 19:09:39 -05:00
psychobunny
c3541dbc95 linting acp 2015-02-25 19:05:29 -05:00
psychobunny
f6d90782a8 hinting 2015-02-25 19:03:32 -05:00
psychobunny
c1b45bc0ea #2779 when duplicating categories, rename category:name to indicate it is duplicate
otherwise :rage1: when somebody deletes the wrong category
2015-02-25 18:54:11 -05:00
psychobunny
5020e864fc #2779 also copy icon 2015-02-25 18:52:26 -05:00
psychobunny
59d176fa7b closes #2779 2015-02-25 18:29:23 -05:00
barisusakli
a0c3ddc555 fix navigator 2015-02-25 18:00:03 -05:00
psychobunny
5a8babdde5 up'd vanilla's version 2015-02-25 17:52:45 -05:00
psychobunny
d545492b67 navigation: moved target to properties 2015-02-25 17:51:50 -05:00
psychobunny
b1f835b053 Merge remote-tracking branch 'origin/master' into sortable-menu 2015-02-25 17:44:02 -05:00
psychobunny
b788e134d1 added compatibility for deprecated filter:header.build
remove after 0.7.x
2015-02-25 17:43:31 -05:00
psychobunny
bc7729fbb3 console.logs 2015-02-25 17:27:05 -05:00
psychobunny
2b57ef3d4b fixed a bug with draggable 2015-02-25 17:26:44 -05:00
psychobunny
1b250b8f57 linting 2015-02-25 17:23:02 -05:00
psychobunny
2ff59278c9 navigation cleanup 2015-02-25 17:22:41 -05:00
psychobunny
aa58302a27 type check before escape/unescape 2015-02-25 17:22:25 -05:00
psychobunny
e90f3bf7c8 fix typo in install data 2015-02-25 17:22:12 -05:00
psychobunny
1774cf0b15 allow language strings in menu items 2015-02-25 17:12:17 -05:00
psychobunny
be06162f0d translator.unescape 2015-02-25 16:59:38 -05:00
psychobunny
33e4a2f1ec translator.escape 2015-02-25 16:55:38 -05:00
psychobunny
6c0efa09c0 bugfix 2015-02-25 16:52:50 -05:00
psychobunny
d806cd134f sortable menus, done 2015-02-25 16:47:19 -05:00
ahwayakchih
4c2f628baa Added support for using mongo:password and redis:password from config, when no password is entered at setup. This allows for having "default" password and overrides from config. Added using mongo:username and port from config when running setup. 2015-02-25 22:27:19 +01:00
psychobunny
809ed255d1 drag & drop routes 2015-02-25 16:19:14 -05:00
Julian Lam
f00589c8ba removing 'see all chats' from chats list, as it is in menu.tpl now 2015-02-25 16:07:03 -05:00
Julian Lam
37d426dddb npnp, I totally meant to remove a method that's still in use... 2015-02-25 15:56:52 -05:00
Julian Lam
ec075ca608 suppressing alertSuccess when clicking into topics from unread page 2015-02-25 15:50:20 -05:00
Barış Soner Uşaklı
73505e9bd0 closes #2247 2015-02-25 15:37:33 -05:00
psychobunny
afc690d67b upon saving, copy over route properties from defaults 2015-02-25 15:29:26 -05:00
psychobunny
a9f175a2bb ability to sort navigation 2015-02-25 15:18:57 -05:00
psychobunny
a2e3179ea4 nav - enable / disable 2015-02-25 15:16:51 -05:00
psychobunny
1ae0a8a1bf typo 2015-02-25 15:01:45 -05:00
psychobunny
c3701bcea7 loading and saving navigation 2015-02-25 15:01:28 -05:00
psychobunny
fbc0a11c87 nav - basic ACP setup 2015-02-25 14:50:45 -05:00
Julian Lam
e6701c5a1f actually fixed isPopState error 2015-02-25 14:33:46 -05:00
Julian Lam
d8c9ec0d40 on click, topics are marked read from the unread page. Also fixed an issue where isPopState kept getting set to true, causing issues 2015-02-25 14:33:46 -05:00
Julian Lam
77d154bb8b added ajaxify popstate cache, so back/forward will just put back the already loaded page 2015-02-25 14:33:46 -05:00
Barış Soner Uşaklı
094cd6df32 closes #2777 2015-02-25 14:17:38 -05:00
psychobunny
8256d2b997 bugfix 2015-02-25 14:15:50 -05:00
psychobunny
307204fc38 nav - added enabled/disabled 2015-02-25 14:12:16 -05:00
Julian Lam
55262b399a tweaks and refactoring for #2774 2015-02-25 14:10:00 -05:00
psychobunny
6c77adfd3c tjs 0.1.21 * 2015-02-25 14:05:16 -05:00
psychobunny
431a7f3300 tjs 0.1.20 2015-02-25 14:02:33 -05:00
psychobunny
40008a9e85 Merge remote-tracking branch 'origin/master' into sortable-menu 2015-02-25 13:56:57 -05:00
psychobunny
6cea047518 loading navigation, complete 2015-02-25 13:55:26 -05:00
psychobunny
3be5242aa1 navigation - upgrade script 2015-02-25 13:50:41 -05:00
psychobunny
9a24110a37 jsonlint 2015-02-25 13:50:35 -05:00
psychobunny
f1adddb775 navigation - basic save function 2015-02-25 13:45:49 -05:00
Julian Lam
3202a52a61 refactored notif dropdown, #2771 2015-02-25 13:43:25 -05:00
psychobunny
80116c3e30 fixed potential bug in rewards 2015-02-25 13:42:14 -05:00
psychobunny
ba9bba1dd8 navigation backbone 2015-02-25 13:27:25 -05:00
psychobunny
58411a4764 deprecated filter:header.build, the equivalent hook (same output data) will be filter:navigation.available 2015-02-25 13:26:42 -05:00
psychobunny
7a4fc8e48b save default menu on installation 2015-02-25 13:26:09 -05:00
psychobunny
d754a6390e navigation install data 2015-02-25 13:25:56 -05:00
psychobunny
738c27bf04 started dynamic sortable menu 2015-02-25 13:10:38 -05:00
psychobunny
ecad9d54ed tjs 0.1.19 for undefined key cleanups 2015-02-25 13:08:55 -05:00
psychobunny
6dacaf6bb5 helpers.displayMenuItem 2015-02-25 12:48:26 -05:00
Barış Soner Uşaklı
0c903672d0 uid not used #1973 2015-02-25 12:46:00 -05:00
Barış Soner Uşaklı
e2b535dfaf closes #1973 2015-02-25 12:44:04 -05:00
psychobunny
61cbb70691 update tjs to 0.1.18 for conditional helper functionality 2015-02-25 12:39:32 -05:00
Julian Lam
29873f1c5c removed unused .getAll method, and sorting notifications client-side so that unread notifs don't all appear at the top, #2772 2015-02-25 12:26:55 -05:00
Julian Lam
ade12116a1 closed #2766 2015-02-25 10:51:35 -05:00
Julian Lam
ba7c873f07 closed #2765 2015-02-25 09:57:32 -05:00
Julian Lam
948cd22e9c triggering full-screen composer on short viewports as well as narrow, #2763 2015-02-25 09:49:08 -05:00
Peter Jaszkowiak
34bbe241ce Merge pull request #3 from NodeBB/master
Merge in latest
2015-02-24 21:59:19 -07:00
barisusakli
9084ee2d7e cleanup popular.js 2015-02-24 22:24:22 -05:00
Julian Lam
89bf036262 fixing crash when utils.slugify is called with a null value 2015-02-24 21:11:25 -05:00
psychobunny
cf6b32bce6 logic error 2015-02-24 18:24:00 -05:00
psychobunny
6c5395dd05 added --verbose flag for grunt dev 2015-02-24 18:22:38 -05:00
psychobunny
8d121e7724 cleanup 2015-02-24 18:16:51 -05:00
psychobunny
d003515fd1 grunt - added restart message 2015-02-24 18:05:00 -05:00
psychobunny
aa12ab9478 think its fairly safe to say this isn't experimental anymore
worked every single time I reloaded today, and that'd be about a hundred
thousand times so far
2015-02-24 17:57:18 -05:00
psychobunny
6771c3c74c added deprecation notice to ./nodebb watch 2015-02-24 17:53:31 -05:00
psychobunny
d03a70cc25 if multiple file extensions change before nodebb finishes compiling, then add to incomplete list and compile 2015-02-24 17:14:28 -05:00
psychobunny
7fe8180cf4 Merge remote-tracking branch 'origin/master' into grunt-dev 2015-02-24 16:41:07 -05:00
psychobunny
68930aaa5d limit watch paths to three levels deep in nodebb-*, should be enough hopefully
minimatch sucks, unless I'm using it wrong. negating = find everything
then remove as necessary => long load times before watch is activated
2015-02-24 16:36:13 -05:00
psychobunny
8862fcba33 removing grunt deps we don't need 2015-02-24 15:50:23 -05:00
psychobunny
982400354a added watch paths to plugins/themes 2015-02-24 15:50:01 -05:00
psychobunny
f8663bbfd0 added tpl flag to --from-file 2015-02-24 15:46:37 -05:00
psychobunny
b9875b42e9 yay grunt watch finally works! 2015-02-24 15:34:05 -05:00
psychobunny
e5c842d923 ability to send in extensions (comma delimited) to --from-file 2015-02-24 15:33:37 -05:00
Julian Lam
98158fb6f9 @barisusakli works perfectly 2015-02-24 15:22:25 -05:00
barisusakli
acc3c6a0a5 closes #2762 2015-02-24 15:05:55 -05:00
Julian Lam
912de27c9d fixed indentation issues 2015-02-24 14:43:19 -05:00
Barış Soner Uşaklı
c94c1430b7 api/post/pid route 2015-02-24 13:02:58 -05:00
psychobunny
eb6754c5eb nice, I figured out how to speed up grunt watch 2015-02-24 12:56:49 -05:00
psychobunny
01c15b8884 Merge remote-tracking branch 'origin/master' into grunt-dev 2015-02-24 12:23:52 -05:00
psychobunny
242f66934c another attempt 2015-02-24 12:23:35 -05:00
Barış Soner Uşaklı
52aa7d27e8 #2761 2015-02-24 11:58:09 -05:00
Barış Soner Uşaklı
9de0c0cdd4 closes #2761 2015-02-24 11:55:16 -05:00
psychobunny
ab2315f3de #2751 2015-02-24 11:45:58 -05:00
psychobunny
fdc8b67449 require pkg when needed 2015-02-23 17:25:36 -05:00
psychobunny
f408c76a98 requiring plugins in meta when needed 2015-02-23 17:24:20 -05:00
Julian Lam
3e3fff9fe8 hooking up accept/reject invite, #2758 2015-02-23 16:46:48 -05:00
Julian Lam
03e39f7b9b isInvited mechanic for #2758 2015-02-23 16:31:23 -05:00
psychobunny
13fa1f6b9a require socket.io only when you need it, shaves off another 0.5s on load 2015-02-23 16:24:43 -05:00
psychobunny
61b8fd2402 woops, left in some debug statements 2015-02-23 16:13:04 -05:00
psychobunny
dee5d18439 require npm module only as needed - shaves off a full second of loading time yay 2015-02-23 16:08:29 -05:00
Barış Soner Uşaklı
66d6c49ed4 closes #2749 2015-02-23 15:55:45 -05:00
Julian Lam
8262c38ac8 upgrading privilege sets to be system groups, so they're not in the way 2015-02-23 15:43:32 -05:00
Julian Lam
4984f2f449 Merge branch 'master' of github.com:nodebb/NodeBB 2015-02-23 15:25:37 -05:00
Barış Soner Uşaklı
14888a96cb Merge remote-tracking branch 'origin/master'
Conflicts:
	src/upgrade.js
2015-02-23 15:04:46 -05:00
Barış Soner Uşaklı
55884220b4 #2749 upgrade plugins:active to zset 2015-02-23 14:57:22 -05:00
psychobunny
ee377b160e #2751 fixes syntax error on acp/ajaxify 2015-02-23 14:55:59 -05:00
Julian Lam
d3ff6a9f47 hidden groups are invisible to non-members, #2758 2015-02-23 14:54:48 -05:00
psychobunny
44c6375d91 it's on line 24 now 2015-02-23 14:11:51 -05:00
psychobunny
f63ecac8ee upgrade script for nodebb-rewards-essentials 2015-02-23 14:11:50 -05:00
Barış Soner Uşaklı
89f2520eba #2560 fix user link pic 2015-02-23 14:07:51 -05:00
Barış Soner Uşaklı
e6e755dd46 #2560 2015-02-23 14:05:43 -05:00
Barış Soner Uşaklı
1d5e15eab4 closes #2560 2015-02-23 13:39:29 -05:00
Julian Lam
8b81f3d835 server-side support for hidden option in group admin, #2758 2015-02-23 13:05:33 -05:00
Barış Soner Uşaklı
53db052cca timeago widgets 2015-02-23 12:55:44 -05:00
Julian Lam
218ecce6c1 accessing search route with no term auto-expands the form now, part 1 of 2, #2757 2015-02-23 09:12:13 -05:00
barisusakli
56d18666d6 closes #2752 2015-02-22 14:47:07 -05:00
Julian Lam
dfabbb5fa2 latest translations 2015-02-21 23:13:53 -05:00
psychobunny
cb7c318377 closes #2751 2015-02-20 19:31:33 -05:00
psychobunny
f5eaa08340 fixed complications with deleted id's 2015-02-20 19:29:57 -05:00
psychobunny
def57d2926 don't rely on client side to increment id (duh) 2015-02-20 17:37:34 -05:00
psychobunny
7a8d84c011 ability to add a claimability limit to rewards 2015-02-20 17:33:29 -05:00
psychobunny
bb35950a5a rewards acp - ability to set amount of times a user can claim reward 2015-02-20 17:19:39 -05:00
Barış Soner Uşaklı
61b1251a73 removed sort methods 2015-02-20 16:34:31 -05:00
psychobunny
5a6457ec7c adding rewards-essentials to core 2015-02-20 16:09:20 -05:00
psychobunny
fe83adcbae prevent rewards from clobbering each other on save 2015-02-20 15:21:09 -05:00
psychobunny
fbbd405b00 even:alert socket call -> app.alert 2015-02-20 15:07:43 -05:00
psychobunny
b26bf9f22d rewards: bug fixes and cleanup, pretty much done part 1 ;) 2015-02-20 14:45:07 -05:00
psychobunny
2ba1363e12 results.owner* 2015-02-20 14:23:57 -05:00
psychobunny
aa38d6dda2 rewards bug fixes 2015-02-20 14:21:40 -05:00
psychobunny
7e9095b21b added "owner" to action:post.upvote/downvote/unvote 2015-02-20 14:21:33 -05:00
Barış Soner Uşaklı
f9581e435d getGroupsData method and filter:groups.get 2015-02-20 14:20:49 -05:00
psychobunny
949fcbbf11 rewards: big feature sprint 2015-02-20 13:40:19 -05:00
Barış Soner Uşaklı
fc23dea1d2 up versions 2015-02-20 12:36:57 -05:00
psychobunny
54c5034ce0 moved rewards/conditions/conditoinals out of core into rewards-essentials 2015-02-20 12:31:38 -05:00
psychobunny
a7c3d193cc include nodebb-rewards namespace 2015-02-20 12:17:58 -05:00
psychobunny
7fa61f03e2 saving conditions 2015-02-20 12:16:13 -05:00
psychobunny
332110b8e2 bugfix 2015-02-20 12:16:04 -05:00
psychobunny
5fcbffe652 fixed delegate syntax 2015-02-20 00:29:15 -05:00
psychobunny
1998f102d6 using tjs to load new lines instead of cloning 2015-02-20 00:26:19 -05:00
psychobunny
8373f7359e don't error out if reward not filled 2015-02-19 23:53:50 -05:00
psychobunny
09086f7d30 deleting rewards 2015-02-19 23:49:36 -05:00
psychobunny
c844400ab9 cleanup and fix for adding new rewards 2015-02-19 23:40:23 -05:00
psychobunny
5f54de3b37 successfully got loading and saving of rewards working 2015-02-19 23:39:39 -05:00
psychobunny
e5115c0cf2 differentiate between rid and id 2015-02-19 23:15:37 -05:00
psychobunny
67b693cd3a pass in expected format of active rewards 2015-02-19 23:02:52 -05:00
psychobunny
cd26f5d06d passing in values for saving rewards 2015-02-19 22:44:23 -05:00
psychobunny
91c02d4e29 ditching rewardID in favour of verbose id's 2015-02-19 22:19:04 -05:00
psychobunny
46e0fad2d8 rewards: code organization, getting ready to code saving/loading of active rewards 2015-02-19 22:06:52 -05:00
psychobunny
2cc6f0c507 fixed disable logic 2015-02-19 21:56:50 -05:00
psychobunny
4acf8cafee rewards: adding new rows 2015-02-19 21:51:32 -05:00
Julian Lam
88aa427669 updated upgrade script so that it does not rely on Groups.list, as the method has changed between v0.5.0 and v0.6.0.
Also added setImmediate call so eachLimit doesn't explode
2015-02-19 19:34:13 -05:00
psychobunny
029ae11ed5 rewards - cleanup 2015-02-19 19:10:01 -05:00
psychobunny
3ca11c1947 rewards: disable / delete 2015-02-19 18:51:42 -05:00
psychobunny
4145046e02 rewards: got everything loading 2015-02-19 18:46:36 -05:00
psychobunny
b1c37775c5 more styling 2015-02-19 18:22:21 -05:00
barisusakli
756d03fa62 closes #2745
generate paths on retrieval instead of notification creation
also fix follow notification path
2015-02-19 18:14:38 -05:00
psychobunny
7457b22427 added more api fields to rewards 2015-02-19 17:48:01 -05:00
psychobunny
9291ec64f9 styling 2015-02-19 17:47:47 -05:00
Julian Lam
82543bdeee fixed #2744 2015-02-19 17:31:05 -05:00
psychobunny
d9bd7a400d minor styling 2015-02-19 17:29:44 -05:00
psychobunny
4f53bd59be rewards - got custom inputs loading 2015-02-19 17:24:58 -05:00
Julian Lam
58094d2b3b removed console logs, and requiring markdown 1.0.0 plugin 2015-02-19 17:07:01 -05:00
psychobunny
94c1c2d547 fixed loading mock data 2015-02-19 16:57:32 -05:00
Julian Lam
ceb18fe73d added new hook and method for plugins to introduce their own formatting options, #2743 2015-02-19 16:51:15 -05:00
Barış Soner Uşaklı
767816e669 #2738 2015-02-19 16:46:00 -05:00
Barış Soner Uşaklı
c1ce0a9e1d closes #2738 2015-02-19 16:37:56 -05:00
Barış Soner Uşaklı
c3a51033a8 removed utils.getQueryParams() use utils.params() 2015-02-19 16:11:23 -05:00
psychobunny
2bebac964e loading mock data 2015-02-19 16:09:58 -05:00
Barış Soner Uşaklı
743cd20441 closes #2267 2015-02-19 15:56:12 -05:00
Julian Lam
4ba6d44858 Merge pull request #2739 from yariplus/mobifix
Fix #2684 ACP navbar on mobile.
2015-02-19 15:53:38 -05:00
yariplus
6c44de27ed Fix spaces and less variables. 2015-02-19 15:29:43 -05:00
Julian Lam
4dad7de33f fallbacks for #2601 2015-02-19 15:06:53 -05:00
Julian Lam
711dff1dd0 added language strings for #2601 2015-02-19 15:05:41 -05:00
psychobunny
0e7c3be9d3 made some progress with mock api + acp 2015-02-19 15:04:13 -05:00
psychobunny
bdcf090aaa init rewards system 2015-02-19 14:20:13 -05:00
Barış Soner Uşaklı
da305210e2 closes #2618 2015-02-19 13:24:06 -05:00
Barış Soner Uşaklı
97c0b130ca closes #2691 2015-02-19 12:23:44 -05:00
Julian Lam
350acde379 ability to mark a notification read/unread from dropdown list, made styling less bootstrap-locked, using FA icon in theme instead of hardcoded in template 2015-02-19 12:06:15 -05:00
Barış Soner Uşaklı
8eb45fc80a dont remove self from browsing 2015-02-19 12:04:53 -05:00
Barış Soner Uşaklı
d09fcbaef0 closes #2741 2015-02-19 11:17:29 -05:00
yariplus
145f7b3809 Fix #2684 ACP navbar on mobile. 2015-02-19 06:35:45 -05:00
Julian Lam
268981f6db latest translations 2015-02-18 23:00:44 -05:00
Barış Soner Uşaklı
957a0840b1 Merge pull request #2736 from pitaj/master
Fix ACP sidebar affix issue
2015-02-18 21:55:51 -05:00
barisusakli
364ed641dd truncateUserList on search 2015-02-18 21:27:09 -05:00
barisusakli
aa94dafac1 closes #725 2015-02-18 21:09:33 -05:00
psychobunny
eb88d2fbd8 testing docgen again 2015-02-18 16:19:23 -05:00
psychobunny
1337924afb test commit - testing docgen 2015-02-18 16:04:46 -05:00
Julian Lam
6a69fcd4cd fixes #2665 2015-02-18 15:41:44 -05:00
Julian Lam
502e806f88 fixed #2732 -- group creation now using language keys, and no longer succeeds if a group by the name of 'guest' is created. 2015-02-18 15:34:01 -05:00
Peter Jaszkowiak
1ce0073cb6 Fixed events sidebar positioning 2015-02-18 13:30:06 -07:00
Peter Jaszkowiak
a2f4cda715 Fixed sidebar positioning 2015-02-18 13:26:13 -07:00
Barış Soner Uşaklı
dca143fd87 Merge pull request #2706 from acardinale/master
Add hooks "filter:topic.build" and "filter:category.build"
2015-02-18 10:48:05 -05:00
acardinale
6607dfc4c9 Update categories.js 2015-02-18 15:27:14 +01:00
acardinale
8975a0962e Update topics.js 2015-02-18 15:26:05 +01:00
barisusakli
d577371a51 fix test 2015-02-18 07:41:35 -05:00
barisusakli
0dca86f255 fix tests 2015-02-18 07:36:49 -05:00
barisusakli
60efeb8561 fix nid 2015-02-18 07:28:53 -05:00
barisusakli
31a44a9982 dont use fa icon 2015-02-18 00:04:55 -05:00
Barış Soner Uşaklı
25b25319f1 Merge pull request #2727 from yariplus/fixselects
Fix select and select multiple loading/saving on widget ACP.
2015-02-17 23:09:51 -05:00
barisusakli
3bcd8aefb0 deleteObjectFields method
cleaned up user reset
2015-02-17 22:22:06 -05:00
psychobunny
540facaaab try #2 (I give up, grunt-watch seems so unpredictable... on windows anyways) 2015-02-17 19:18:55 -05:00
barisusakli
75657605ad fix typo in search 2015-02-17 18:57:24 -05:00
barisusakli
fbcc7c4bc3 closes #2634 2015-02-17 18:52:54 -05:00
barisusakli
c305cd8220 removed commented out code 2015-02-17 18:14:29 -05:00
barisusakli
0096d74cfa user password reset test 2015-02-17 18:11:30 -05:00
barisusakli
150d33eb92 upgrade script to rename widgets:home.tpl to widgets:categories.tpl 2015-02-17 17:55:20 -05:00
Julian Lam
df7c48c474 restoring latest plugin version in plugins ACP 2015-02-17 16:09:25 -05:00
Julian Lam
7bb9ea4b33 querying via qs now 2015-02-17 16:01:57 -05:00
psychobunny
02c310ea03 Merge remote-tracking branch 'origin/master' into grunt-dev 2015-02-17 15:26:22 -05:00
Barış Soner Uşaklı
276cd51836 closes #2467 2015-02-17 15:14:06 -05:00
psychobunny
0611b7e1ea closes #2733 2015-02-17 15:12:43 -05:00
Barış Soner Uşaklı
8f6b577bad Update package.json 2015-02-17 14:50:08 -05:00
Barış Soner Uşaklı
bd553eb05d closes #2002 2015-02-17 13:25:22 -05:00
Barış Soner Uşaklı
fe1f4f84ec Merge pull request #2682 from MegaGM/action.posts.loaded
Change argument in action:posts.loaded
2015-02-17 12:26:19 -05:00
Mega
16c5c18165 Update arguments in action:posts.loaded 2015-02-16 10:43:56 +03:00
Peter Jaszkowiak
25e9dca74e Merge pull request #2 from NodeBB/master
Update to latest
2015-02-15 21:15:59 -08:00
yariplus
c3f0f52757 Fix select and select multiple loading/saving on widget ACP. 2015-02-15 01:53:18 -05:00
Barış Soner Uşaklı
12619ba733 Merge pull request #2698 from MegaGM/acp.panel.width
[ACP] Remove unnecessary panel width restriction
2015-02-13 23:50:02 -05:00
barisusakli
e3ba6716d1 closes #2723 2015-02-13 20:28:37 -05:00
barisusakli
16be6d3382 increase group search results to 20 items 2015-02-13 18:34:03 -05:00
barisusakli
d152254bcb removed availableTemplates assign 2015-02-13 18:26:25 -05:00
barisusakli
b2fc4d5dc4 #2002 2015-02-13 18:16:36 -05:00
barisusakli
c450992882 closes #2722 2015-02-13 15:13:16 -05:00
Julian Lam
1029b6c2f3 some prep for #2499 2015-02-12 16:15:35 -05:00
Barış Soner Uşaklı
d09a53197e closes #2570 2015-02-12 15:03:46 -05:00
Barış Soner Uşaklı
09b26bc950 if code isnt validated return error 2015-02-12 14:37:01 -05:00
Barış Soner Uşaklı
8cbb9aa310 #2585 2015-02-12 13:42:45 -05:00
Barış Soner Uşaklı
0d84486187 closes #2585 2015-02-12 13:38:19 -05:00
Barış Soner Uşaklı
429d7cbfa2 added filter:category.get 2015-02-12 13:23:21 -05:00
psychobunny
f4c587c530 move hardcoded initial welcome text into welcome.md 2015-02-12 13:10:18 -05:00
Barış Soner Uşaklı
0421b6ef06 closes #2639 2015-02-12 13:04:49 -05:00
Barış Soner Uşaklı
cdd5847b39 closes #2664 2015-02-12 12:23:13 -05:00
Barış Soner Uşaklı
5cebcfba7a update validator ver 2015-02-12 11:49:26 -05:00
barisusakli
cf986ad903 Merge remote-tracking branch 'origin/master'
Conflicts:
	src/socket.io/user.js
2015-02-11 21:55:16 -05:00
barisusakli
f99c3a310d use uid instead of socket.uid 2015-02-11 21:54:20 -05:00
Barış Soner Uşaklı
a62a3647a0 use uid, socket.uid is always 0 here 2015-02-11 21:53:53 -05:00
barisusakli
5dfafff421 call callback on password update 2015-02-11 21:26:26 -05:00
barisusakli
06b2a6ff68 closes #2717 2015-02-11 21:09:43 -05:00
Peter Jaszkowiak
013627860d Merge pull request #1 from NodeBB/master
Update
2015-02-11 16:55:36 -08:00
psychobunny
e60ef6c9d1 Merge pull request #2716 from pitaj/master
Translate ACP pages
2015-02-11 18:10:48 -05:00
Peter Jaszkowiak
2b9d1ee3dd Translate ACP pages
I fixed it
2015-02-11 16:05:05 -07:00
psychobunny
d016a9f3b0 Merge pull request #2715 from pitaj/master
Make ACP sidebar fixed
2015-02-11 17:57:20 -05:00
Peter Jaszkowiak
a583f9d77a Fixed sidebar overlay issue on window width
Had the wrong `min-width`
2015-02-11 14:56:57 -07:00
Barış Soner Uşaklı
3f31098144 closes #2619 2015-02-11 16:16:32 -05:00
Barış Soner Uşaklı
3293436867 closes #2640 2015-02-11 14:44:56 -05:00
Barış Soner Uşaklı
7d963e52cf closes #2686 2015-02-11 13:44:54 -05:00
Barış Soner Uşaklı
d20628a8d4 closes #2539 2015-02-11 12:55:02 -05:00
Julian Lam
8a581ed1dd fixes #2711 :rage2: 2015-02-11 12:30:48 -05:00
Julian Lam
0c5c0bf08a making userRow selector less specific, in group details.js 2015-02-11 12:23:19 -05:00
Barış Soner Uşaklı
f3d1e96c24 filter deleted topics on popular 2015-02-11 12:12:37 -05:00
Barış Soner Uşaklı
749ce5f8e5 dont crash if callback isnt supplied to list methods 2015-02-11 12:01:55 -05:00
Julian Lam
081462983a refactored the groups update method a bit, and now if a group has pending members and it becomes a public group, those users become members 2015-02-11 11:35:14 -05:00
Peter Jaszkowiak
8241243f6b Make ACP sidebar fixed
If you want to implement some kind of replacement for the CSS calc I
used, go ahead and do it yourself. I'm hoping webmasters can either deal
with a tad bit of overlap or have a modern browser.
2015-02-10 21:34:19 -07:00
barisusakli
1142f7700f closes #2714 2015-02-10 23:34:06 -05:00
barisusakli
104393f5f7 closes #2712 2015-02-10 21:54:35 -05:00
barisusakli
a5029d148c open user links in new tab 2015-02-10 20:20:57 -05:00
psychobunny
fd62b537b7 Merge pull request #2713 from yariplus/widgetsingleclick
Make widget headers clickable anywhere.
2015-02-10 19:53:45 -05:00
Timothy Fike
a0e98d5957 Make widget headers clickable anywhere. 2015-02-10 19:47:06 -05:00
Barış Soner Uşaklı
2c86ca59e6 fire filter:serch.build if query is empty 2015-02-10 15:23:11 -05:00
Barış Soner Uşaklı
6a55cdfbaf fix relative_path image url for sub installs 2015-02-10 14:47:01 -05:00
Barış Soner Uşaklı
57d6bb3b4c filter:search.build hook 2015-02-10 14:30:01 -05:00
Barış Soner Uşaklı
b40b87dd36 dont add relative_path to uploads it is added on the way out 2015-02-10 13:45:29 -05:00
Barış Soner Uşaklı
34c1d69ed3 added filter:tags.search 2015-02-10 13:12:08 -05:00
Julian Lam
47964e8ff4 latest fallbacks 2015-02-10 11:24:44 -05:00
Julian Lam
0d9d9bf110 added two new language strings 2015-02-10 11:24:11 -05:00
Julian Lam
9bfb7585ee bundling emoji-extended with all installs, @frissdiegurke 2015-02-10 11:21:14 -05:00
Julian Lam
f16c37eeaf #2692 2015-02-10 11:17:25 -05:00
Julian Lam
57d45518bd added a preventDefault when href="#" or data-ajaxify="false", so page doesn't send user back to top (which is kind of annoying), but not sure if this may introduce side-effects. @barisusakli @psychobunny 2015-02-10 11:16:24 -05:00
Julian Lam
15e6c51541 latest translations 2015-02-10 10:53:19 -05:00
barisusakli
b6125b1674 toString pid 2015-02-09 18:00:02 -05:00
barisusakli
5e7bf7a272 default search in posts 2015-02-09 17:50:19 -05:00
barisusakli
6cd615ee45 dont add post/topic query params if searching for users/tags 2015-02-09 17:45:35 -05:00
Barış Soner Uşaklı
c98720ee4c show results as WIP 2015-02-09 17:02:47 -05:00
Barış Soner Uşaklı
be92f07ab9 save/clear search preferences 2015-02-09 15:32:43 -05:00
Julian Lam
9b45109349 updating development version 2015-02-09 14:49:43 -05:00
Julian Lam
b1340b74c6 updating vanilla minver 2015-02-09 13:41:21 -05:00
Julian Lam
c351261165 added daily cleaning of reset tokens #2708 2015-02-08 22:02:13 -05:00
Julian Lam
1843d0364e closed #2708 2015-02-08 21:06:45 -05:00
barisusakli
7f6518e4a6 private plugin link fix 2015-02-08 13:38:42 -05:00
acardinale
612acc41ba Add hook "filter:category.build"
Same behavior as "filter:register.build"
2015-02-08 12:05:26 +01:00
acardinale
a63c679935 Add hook "filter:topic.build"
Same behavior as "filter:register.build"
2015-02-08 11:58:01 +01:00
barisusakli
10928ed11b escape post content 2015-02-07 23:51:25 -05:00
barisusakli
b41119a374 show seconds like search page 2015-02-07 23:32:42 -05:00
barisusakli
138a13f1b2 dont crash if searchQuery is falsy 2015-02-07 23:10:54 -05:00
barisusakli
4d63a7c020 closes ##2705 2015-02-07 23:00:58 -05:00
barisusakli
5cc728994b dont need hidePostedBy 2015-02-07 20:55:57 -05:00
barisusakli
d96e4ec22a fix category filter and pagination, strip marquee 2015-02-07 20:30:03 -05:00
barisusakli
4d34241072 missing semicolon 2015-02-07 20:02:21 -05:00
barisusakli
eff1256dfb search sort, search in posts, titles, posts& titles 2015-02-07 20:00:07 -05:00
Julian Lam
957415463f Merge branch '0.7.0'
Conflicts:
	package.json
	src/search.js
2015-02-07 17:07:48 -05:00
barisusakli
8bbd7d971b fix index to post if sorting is by votes and pagination is used 2015-02-07 00:52:53 -05:00
barisusakli
9062a8f02b pass on mainPid 2015-02-07 00:19:22 -05:00
barisusakli
c859586269 calculate topic post indices instead of querying db 2015-02-07 00:12:47 -05:00
Julian Lam
ff5eeb3a85 fixed #2704 2015-02-06 20:42:20 -05:00
barisusakli
38dd3d4281 search newer/older than and better pagination 2015-02-06 19:47:27 -05:00
barisusakli
722b629572 closes #2703 2015-02-06 14:16:33 -05:00
Barış Soner Uşaklı
6680c2d475 Merge pull request #2621 from TheBronx/master
new filter hooks on favourite actions #2620
2015-02-06 12:39:15 -05:00
barisusakli
ba6af71150 fix profile update 2015-02-05 23:37:11 -05:00
barisusakli
652e247d1b fix username change event log 2015-02-05 23:21:31 -05:00
barisusakli
92c869e886 try to get ip from x-forwarded-for first 2015-02-05 23:18:53 -05:00
barisusakli
d65546a34d search form fix 2015-02-05 21:08:52 -05:00
barisusakli
9487f3a028 qs module changes categories param 2015-02-05 20:51:25 -05:00
barisusakli
d3aa353d73 dont crash if html is not string 2015-02-05 20:38:43 -05:00
barisusakli
9bca777320 closes #2700 allowGroupCreation setting 2015-02-05 19:38:51 -05:00
barisusakli
149120a186 fix notif url in topic notification email 2015-02-05 18:22:19 -05:00
barisusakli
832430ed37 dont crash if post.user or post.category doesn't exist 2015-02-05 18:07:17 -05:00
barisusakli
5c0bcd7e5d proper qs, pagination on search results 2015-02-05 18:02:30 -05:00
barisusakli
161b934827 reply count filter atleast/atmost 2015-02-05 17:21:01 -05:00
Julian Lam
a12bb9a32c latest translations 2015-02-05 17:11:33 -05:00
barisusakli
def600e927 search in categories and children 2015-02-05 14:55:40 -05:00
Mega
a0926d5505 [ACP] Remove unnecessary panel width restriction 2015-02-05 22:28:21 +03:00
Julian Lam
f7ccdc3668 Merge branch 'master' of github.com:NodeBB/NodeBB 2015-02-05 13:09:34 -05:00
Julian Lam
fdaccc804c handling cases where no callback is passed to emailer.send 2015-02-05 13:09:32 -05:00
Barış Soner Uşaklı
ff5f3b264a Merge pull request #2547 from Alpacatty/patch-1
fix generated widgets areas glitching on small screens
2015-02-05 11:36:47 -05:00
barisusakli
845b97687a removed strict li selector 2015-02-04 19:05:43 -05:00
barisusakli
57ebcb8b8a closes #2694 2015-02-04 18:16:10 -05:00
barisusakli
39a75ea2d7 fix recent replies 2015-02-04 15:49:08 -05:00
barisusakli
385760bdda #2690 2015-02-04 12:09:54 -05:00
barisusakli
2911de0af9 really fix tests 2015-02-04 00:50:10 -05:00
barisusakli
cba9ad3d60 fix tests, and groups.join duh 2015-02-04 00:46:51 -05:00
barisusakli
16537bc636 prevent double callback 2015-02-04 00:37:08 -05:00
barisusakli
311fd00ecd dont allow guests to join groups 2015-02-04 00:33:15 -05:00
barisusakli
b7602c6e80 removed winston.err 2015-02-03 21:04:31 -05:00
barisusakli
1fe1085863 update validator and winston 2015-02-03 21:02:36 -05:00
barisusakli
b5b5894301 t.js version 2015-02-03 21:00:46 -05:00
barisusakli
fd773807e9 #2685 fix copy paste fail 😦 2015-02-03 19:55:14 -05:00
barisusakli
25ccc573c0 closes #2687 2015-02-03 18:13:34 -05:00
barisusakli
255f50343c closes #2685 2015-02-03 16:13:09 -05:00
barisusakli
28c57b6635 removed unused requires 2015-02-02 15:56:34 -05:00
Barış Soner Uşaklı
a0d70b48db Merge pull request #2675 from MegaGM/actionposts.edited
Added data argument to action:posts.edited hook
2015-02-02 15:15:04 -05:00
barisusakli
cc2ab12f29 removed bans from downvotes and flags
cleanup thread tools emits
2015-02-01 21:38:14 -05:00
Julian Lam
1b00d0f739 fixed #2670 2015-02-01 20:29:57 -05:00
Julian Lam
b3278cf8e8 fixed #2681 2015-02-01 20:21:31 -05:00
barisusakli
6a837632fa fix first post loading when pagination is enabled 2015-02-01 20:10:55 -05:00
Julian Lam
cfcfc8e0b1 Revert "fixed #2681"
This reverts commit a46aaf2c87.
2015-02-01 20:03:48 -05:00
Julian Lam
a46aaf2c87 fixed #2681 2015-02-01 20:01:41 -05:00
Julian Lam
5c2a70254f latest translations and fallbacks 2015-02-01 19:37:19 -05:00
Julian Lam
d284e89d6c added too-many-messages language key 2015-02-01 19:36:22 -05:00
Julian Lam
59da48dee5 added too-many-messages language key 2015-02-01 19:35:41 -05:00
Mega
df0e924714 Change argument in action:posts.loaded 2015-02-02 03:27:25 +03:00
barisusakli
0bfa8d337a removed console.logs 2015-02-01 19:13:27 -05:00
barisusakli
2c8e8a1f1c closes #2550, closes #2518 2015-02-01 19:12:03 -05:00
Mega
2f19f4106a Added data argument to action:posts.edited hook 2015-02-02 02:36:17 +03:00
Julian Lam
904daf7776 Merge branch 'master' into 0.7.0 2015-02-01 17:24:56 -05:00
Julian Lam
79083004e4 added missing file 2015-02-01 17:22:40 -05:00
Julian Lam
c652d1b80e removed console log from upgrade script 2015-02-01 17:22:08 -05:00
barisusakli
feeeb83a43 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-31 15:47:40 -05:00
barisusakli
4d9e7fce22 notifyOnlineUsers helper 2015-01-31 15:42:10 -05:00
barisusakli
f988959989 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-31 13:37:57 -05:00
barisusakli
7363c71180 sitemap style 2015-01-31 13:37:34 -05:00
Barış Soner Uşaklı
63fd3f259f Merge pull request #2676 from MegaGM/Fix-User.setUserField/s
Uploading avatar causes crash on 0.6.1-dev
2015-01-31 13:16:25 -05:00
barisusakli
dc0229fc73 closes #2677 2015-01-31 13:10:43 -05:00
Mega
2e1d1ac665 Uploading avatar causes crash on 0.6.1-dev 2015-01-31 18:06:54 +03:00
Mega
c16689503d Added as argument post id in action:posts.edited 2015-01-31 15:34:40 +03:00
barisusakli
15b5c56612 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-31 00:00:24 -05:00
barisusakli
2c033bf286 set memberCount to 0 on creation 2015-01-31 00:00:02 -05:00
barisusakli
b3a968e006 merge 2015-01-30 22:41:18 -05:00
barisusakli
dc2a2aa98e store group member count in group hash
yet another upgrade script
2015-01-30 22:38:42 -05:00
Julian Lam
607e88b3c3 fixed browser title in user groups page 2015-01-30 16:29:33 -05:00
Julian Lam
ecfa8f7a7d passing memberCount and createTime into getUserGroups 2015-01-30 16:29:33 -05:00
Julian Lam
e4e9020e1f added groups page to user profile 2015-01-30 16:29:33 -05:00
Julian Lam
b62337b0b9 fixed browser title in user groups page 2015-01-30 16:27:29 -05:00
Julian Lam
da0b2c84e6 passing memberCount and createTime into getUserGroups 2015-01-30 16:24:57 -05:00
barisusakli
c8f87e5d36 removed console.log 2015-01-30 16:16:49 -05:00
Julian Lam
4a7ec3ccc6 added groups page to user profile 2015-01-30 15:48:21 -05:00
psychobunny
4f5918390a if user search is blank, return all users 2015-01-30 14:19:15 -05:00
psychobunny
7639bff0fe updated package.json 2015-01-30 13:06:17 -05:00
psychobunny
f5ef3cf866 Gruntfile.js 2015-01-30 13:06:04 -05:00
barisusakli
2512598917 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-30 12:33:31 -05:00
barisusakli
60e052e788 closes #2674 2015-01-30 12:28:29 -05:00
barisusakli
3bb9c9531f catch errors from static hook 2015-01-30 12:25:07 -05:00
psychobunny
66b6e12aa3 added grunt deps 2015-01-30 12:21:00 -05:00
Julian Lam
77a9c7c195 Merge branch 'master' into 0.7.0 2015-01-29 19:51:29 -05:00
Julian Lam
939e623547 collapsing a bunch of whitespace using async.apply, and also fixed #2672 as well 2015-01-29 19:49:32 -05:00
barisusakli
39cac43b96 if key isn't found dont error
Conflicts:
	src/database/redis/main.js
2015-01-29 19:40:51 -05:00
barisusakli
f3f3ca8e50 if key isn't found dont error 2015-01-29 19:25:01 -05:00
Julian Lam
a7a4edfd37 administrators group no longer shows up in group searches 2015-01-29 19:18:18 -05:00
Julian Lam
f793536131 latest translations and fallbacks 2015-01-29 17:45:42 -05:00
barisusakli
d1a1cada19 fix typo 2015-01-29 17:12:12 -05:00
barisusakli
530bdbbd1a dont rename if key doesn't exist 2015-01-29 17:10:49 -05:00
barisusakli
b54f2de504 pass uid to getUsers and getUsersFromSets 2015-01-29 17:02:20 -05:00
Julian Lam
f753cfb1c9 search on grop sort change too 2015-01-29 16:45:51 -05:00
Julian Lam
b052ed3504 searching on keyup instead of enter key 2015-01-29 16:42:00 -05:00
Julian Lam
6ebc048f1f searching on keyup instead of enter key 2015-01-29 16:41:48 -05:00
psychobunny
6a2c35c263 latest t.js 2015-01-29 15:45:31 -05:00
Barış Soner Uşaklı
eb5746b2b4 Merge pull request #2589 from Schamper/bat-script
Simple bat file for Windows. Not all options are supported, but it's a start
2015-01-29 14:19:48 -05:00
Barış Soner Uşaklı
af4a272264 Merge pull request #2636 from Schamper/fix-editorconfig
Fix editorconfig syntax
2015-01-29 14:19:29 -05:00
barisusakli
4413c70d3c Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-29 13:42:05 -05:00
barisusakli
57453f33ab new group members route
getMembers can take start end
ability to specify how many group members to return
2015-01-29 13:37:45 -05:00
barisusakli
e16cfa396b Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-29 12:53:01 -05:00
barisusakli
a1c8902b4e hook fixes
new hook, action:user.online,
fix action:user.set hooks so they pass in uid
check err before firing hooks
2015-01-29 12:52:30 -05:00
Julian Lam
8bc2d97352 stringify helper for t.js 2015-01-29 10:08:53 -05:00
barisusakli
aaa1fae558 closes #2597 2015-01-29 01:06:48 -05:00
barisusakli
4d6a6f64b0 slug is lowercase 2015-01-28 23:43:08 -05:00
barisusakli
f9fecf4bc1 faster sort users 2015-01-28 19:19:55 -05:00
barisusakli
60fecdbdf8 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-28 19:08:19 -05:00
barisusakli
0fab6c243c increase rate limit timeframe from 1 second to 10 seconds 2015-01-28 19:07:44 -05:00
barisusakli
c87c99eadd dont check admin emits against flooding 2015-01-28 17:08:41 -05:00
barisusakli
ed714cdf77 user search paginator 2015-01-28 15:08:33 -05:00
barisusakli
98ff75b9c3 closes #2581 2015-01-28 13:46:11 -05:00
Julian Lam
aabfeba38d Merge branch 'master' into 0.7.0
Conflicts:
	src/user.js
2015-01-28 13:39:21 -05:00
Julian Lam
63eeee4394 fixed issue where hitting enter while searching for groups would cause the page to reload. 2015-01-28 13:38:08 -05:00
barisusakli
9db7f0f9a0 doing on master as well 2015-01-28 10:30:18 -05:00
psychobunny
5a3c056759 removing li specific selector 2015-01-27 23:50:10 -05:00
psychobunny
370a60c14f potential bug @barisusakli I think you changed this, just pinging you in case 2015-01-27 23:50:01 -05:00
psychobunny
d47cd270df some random favourite typo 2015-01-27 23:37:47 -05:00
barisusakli
0dc0c39f48 removed li selector 2015-01-27 19:58:17 -05:00
barisusakli
ab69477b24 moved filter:user,get to central function 2015-01-27 17:37:21 -05:00
psychobunny
c06132e779 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-27 17:13:43 -05:00
psychobunny
f253b11d71 passed in wrong object 2015-01-27 17:09:45 -05:00
psychobunny
0828caab32 renamed to filter:userlist.get 2015-01-27 16:51:48 -05:00
psychobunny
943e268ffc add filter:users.get 2015-01-27 16:39:33 -05:00
barisusakli
ddee93beab Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-27 16:20:20 -05:00
barisusakli
27518716a0 make getUsers public for plugins 2015-01-27 16:04:02 -05:00
Julian Lam
a3cadff1d3 updated settings module (v2) to fix multiple selects and checkboxes using name instead of id, which isn't always guaranteed to be set. 2015-01-27 14:47:39 -05:00
Julian Lam
d096a639d6 fixed #2657 -- there's a slight chance this might break other ACP pages, but my limited testing tells me it is ok so far 2015-01-27 13:14:07 -05:00
Julian Lam
891731ca52 enabled saving of sendPostNotification setting 2015-01-27 11:42:03 -05:00
Julian Lam
08e39d150e fixed #2655 2015-01-27 11:19:36 -05:00
Julian Lam
06238f6894 partial fix to #2655 2015-01-27 11:12:19 -05:00
barisusakli
c33b369858 closes #2658 2015-01-27 10:36:35 -05:00
psychobunny
72e14e6db6 closes #2653 2015-01-27 04:39:00 -05:00
Julian Lam
d102ff0704 fixed #2656 2015-01-26 21:35:30 -05:00
barisusakli
20a2262e43 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-26 18:24:24 -05:00
barisusakli
bf9b633d50 fix Group.exists if an array is passed in 2015-01-26 16:48:39 -05:00
psychobunny
c9f0e61b57 Update CONTRIBUTING.md 2015-01-26 15:47:28 -05:00
psychobunny
d3d321f1b7 CLA mention in contributing.md 2015-01-26 15:46:34 -05:00
Julian Lam
57a3d53dee updating mentions minver 2015-01-25 21:04:11 -05:00
barisusakli
26defd7dca Groups.getGroupNameByGroupSlug 2015-01-25 20:53:57 -05:00
barisusakli
e31bf9131f added topics.follow and toggleFollow 2015-01-25 16:47:51 -05:00
Julian Lam
5a1c2b9ddf booleanifying sendPostNotification user setting when requested, and now only sending the post notification if the user has flipped that option on in user settings... kind of an important thing to forget... 2015-01-25 09:41:51 -05:00
barisusakli
288d507eb6 pass the loaded pids to action:posts.loaded 2015-01-24 18:48:34 -05:00
barisusakli
835ad3ea53 fix post.getUpvoters to work with an array 2015-01-24 13:16:07 -05:00
Julian Lam
bc9ede7b6c changed emailer.send so that it processes a callback, if provided. Also added new option to receive emails every time a topic you subscribe to is posted to. 2015-01-23 21:28:18 -05:00
barisusakli
90b1b13914 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-23 18:21:24 -05:00
barisusakli
4b3aa26abd closes #2633 2015-01-23 18:19:30 -05:00
barisusakli
19814a619d Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-23 15:13:24 -05:00
barisusakli
caec718092 callback for getUidsInRoom 2015-01-23 15:12:57 -05:00
psychobunny
3fb7eb766b closes #2646 2015-01-23 15:06:53 -05:00
Julian Lam
ca92372676 fixed #2644 2015-01-23 07:27:49 -05:00
barisusakli
535f30aa9e Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-22 16:40:31 -05:00
Julian Lam
70f6c396fc updated widget container to use h3 in panel header 2015-01-22 16:38:24 -05:00
barisusakli
bd8a77a22b dont crash if callback isnt passed in 2015-01-22 16:23:38 -05:00
barisusakli
2c45dc6450 redis helpers 2015-01-22 16:21:36 -05:00
Julian Lam
0bf98b5494 simplified isOwner check because there's no need to check admin status as admins automatically become owners now 2015-01-22 16:08:55 -05:00
Julian Lam
070215b05e simplified isOwner check because there's no need to check admin status as admins automatically become owners now 2015-01-22 16:08:20 -05:00
Julian Lam
4c927060d9 Merge branch 'master' into 0.7.0 2015-01-22 16:02:41 -05:00
Julian Lam
0c2d2a28ba admins can bypass the request step of a group and just join it, and they also become owners when they join a group 2015-01-22 16:01:17 -05:00
Julian Lam
a526577927 only attempt to remove address bar if current position is at the top of screen 2015-01-22 15:08:23 -05:00
Julian Lam
72f28b7b38 closed #2641 2015-01-22 14:20:33 -05:00
barisusakli
d895ca6827 missing semicolon 2015-01-22 14:20:33 -05:00
barisusakli
77216acbcc user.delete test 2015-01-22 14:20:33 -05:00
barisusakli
5fb8817b3c closes #2643 2015-01-22 14:20:33 -05:00
Julian Lam
d2217b8137 closed #2641 2015-01-22 14:20:10 -05:00
barisusakli
740c52fc4f missing semicolon 2015-01-22 14:19:23 -05:00
barisusakli
4603484558 user.delete test 2015-01-22 14:18:19 -05:00
barisusakli
22c541d95f closes #2643 2015-01-22 14:13:39 -05:00
barisusakli
d40646ac42 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-22 12:19:46 -05:00
barisusakli
f3719df997 getGroups method to get a range 2015-01-21 23:16:31 -05:00
Julian Lam
c8c7081f5d Merge branch 'master' into 0.7.0 2015-01-21 23:11:20 -05:00
Julian Lam
63f449d0ad Merge remote-tracking branch 'origin/0.7.0' into 0.7.0 2015-01-21 23:11:14 -05:00
Julian Lam
3ade5da00f groups sorting by creation date 2015-01-21 23:10:59 -05:00
barisusakli
c6ae6fae54 fix typo in test 2015-01-21 22:55:13 -05:00
barisusakli
afe29d3133 Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-21 22:54:15 -05:00
barisusakli
25f6b816ed send iso and unix timestamp 2015-01-21 22:53:33 -05:00
barisusakli
274523266f Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-21 22:51:18 -05:00
barisusakli
c379753341 upgrade scripts
upgrade groups to sorted set(groups:createtime) upgrade
upgrade groups:<name>:members to sorted set
new database methods
tests
2015-01-21 22:48:27 -05:00
Julian Lam
0d8dcbf734 Merge branch 'master' into 0.7.0 2015-01-21 17:41:51 -05:00
Julian Lam
4a3255d4fd search sorting 2015-01-21 17:41:43 -05:00
Julian Lam
be30dcc2d0 Merge branch 'master' into 0.7.0
Conflicts:
	public/src/client/groups/list.js
2015-01-21 17:16:06 -05:00
Julian Lam
af1fa11606 rejigged search so it grabs the values on method execution, instead of being passed in 2015-01-21 17:15:28 -05:00
Julian Lam
2a6de59277 if group search is executed with empty string, return all groups 2015-01-21 16:55:20 -05:00
barisusakli
5fe69e0386 input selector 2015-01-21 16:50:36 -05:00
Julian Lam
fd8a885145 fixed tests by removing the broken one, heh heh heh 2015-01-21 16:33:18 -05:00
Julian Lam
78a5843ae4 fixed tests by removing the broken one, heh heh heh 2015-01-21 16:33:09 -05:00
Julian Lam
4072172c8e companion commit to nodebb/nodebb-theme-vanilla@0d17032 2015-01-21 16:15:37 -05:00
Julian Lam
2917304f6c companion commit to nodebb/nodebb-theme-vanilla@0d17032 2015-01-21 16:14:31 -05:00
barisusakli
c20a848c7f removed console.logs 2015-01-21 16:05:43 -05:00
Julian Lam
69ee2c1d07 Merge branch 'master' into 0.7.0 2015-01-21 15:58:56 -05:00
Julian Lam
ba1260923f companion to nodebb/nodebb-theme-vanilla@ad953f2 2015-01-21 15:58:43 -05:00
Julian Lam
d4779c8c0a Merge branch 'master' into 0.7.0 2015-01-21 15:46:58 -05:00
Julian Lam
6502dd2561 group searching 2015-01-21 15:43:05 -05:00
Julian Lam
fa27461abc upgrading administrator groups as well 2015-01-21 14:41:42 -05:00
barisusakli
dd38ee96fa return cover:url in user groups 2015-01-21 13:46:40 -05:00
Julian Lam
093e499bf8 defining module name in iconSelect module 2015-01-20 20:55:46 -05:00
Julian Lam
56200b0fdf defining module name in iconSelect module 2015-01-20 20:55:22 -05:00
barisusakli
f8a03c4fca Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-20 20:13:01 -05:00
Julian Lam
22a619d9c7 fixed #2631 2015-01-20 19:30:11 -05:00
barisusakli
ea3d7d610a Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-20 19:24:30 -05:00
barisusakli
7efc0619cc dont crash if data.username is undefined, dont set username to empty value 2015-01-20 18:13:48 -05:00
barisusakli
f1a3815ddc action:user.updateProfile 2015-01-20 17:42:05 -05:00
barisusakli
aab2bc0b39 keep track of the last 20 events 2015-01-20 17:04:10 -05:00
Julian Lam
c4bc51b834 fixing installation script that broke with recent updates to groups 2015-01-20 09:41:41 -05:00
Schamper
22e7b2d3b2 Fix editorconfig syntax 2015-01-20 12:29:09 +01:00
barisusakli
21522e59c4 added slug to user group return #2635 2015-01-20 01:30:42 -05:00
barisusakli
96c27d29f4 dont crash if callback isn't supplied 2015-01-19 20:49:24 -05:00
barisusakli
2f955c3af4 getUpvoters works with array 2015-01-19 17:06:43 -05:00
barisusakli
cb5ee2a141 closes #2632 2015-01-19 16:38:49 -05:00
Julian Lam
99dc37bd9c removed relativeTime util method, utils.js better be a C now. 2015-01-19 15:43:22 -05:00
Julian Lam
d2938ea509 closed #2626 2015-01-19 15:26:50 -05:00
Julian Lam
81c929fa77 added a new test for group renaming, #2629 2015-01-19 15:14:56 -05:00
barisusakli
d96a1f0365 closes #2630 2015-01-19 15:12:09 -05:00
Julian Lam
5160ab1ed1 closed #2625 2015-01-19 15:09:36 -05:00
Julian Lam
c0622743d2 closes #2629 2015-01-19 15:03:33 -05:00
barisusakli
4c62590bc8 closes #2628 2015-01-19 14:13:29 -05:00
barisusakli
a926a11e70 fix redirection when saving groups 2015-01-19 12:59:54 -05:00
barisusakli
ad21e73491 send values to plugins when updating groups 2015-01-19 12:59:53 -05:00
Julian Lam
eb5b8ccec3 better check for group exist, groups with different cases can no longer be created, #2588 2015-01-19 10:46:14 -05:00
Julian Lam
1e57c5d001 linting 2015-01-19 10:39:44 -05:00
Julian Lam
e5a33539d2 updated globals for jslint 2015-01-19 10:26:57 -05:00
barisusakli
9f8b274e24 filter:group.get 2015-01-18 17:35:58 -05:00
barisusakli
94fa212eab added filter:groups.get 2015-01-18 17:35:11 -05:00
Julian Lam
c026a64e8e adding concept of group slugs, #2588. ping @barisusakli for downstream plugin changes 2015-01-18 17:19:26 -05:00
barisusakli
6f140384e0 send groupData on action:group.create 2015-01-18 17:07:26 -05:00
Julian Lam
4317b3c872 fixing more exposed XSS outlets in groups frontend 2015-01-18 17:03:08 -05:00
Julian Lam
491e0060d4 more files that should be loaded for maintenanceMode to work 2015-01-18 16:52:50 -05:00
Julian Lam
fe45fc967d updating maintenance mode middleware so js doesn't crash until login client-side js is ready 2015-01-18 16:21:50 -05:00
barisusakli
f5b448c300 closes #2623 2015-01-18 14:32:47 -05:00
barisusakli
e46cda835a closes #2624 2015-01-18 14:31:37 -05:00
TheBronx
0bd48ef023 fix error in previous commit
fix error in previous commit
2015-01-18 19:15:59 +01:00
TheBronx
e3cf528b57 pass also user id on fireHook
pass also user id on fireHook as suggested by @barisusakli
2015-01-18 19:09:26 +01:00
TheBronx
6ccb35576c new filter hooks on favourite actions #2620
before a favourite action is made, fire a filter hook so plugins can
modify or cancel that action before it takes place.
2015-01-18 13:38:42 +01:00
barisusakli
03ae7db561 on user delete remove from ip sorted set, fix search by ip 2015-01-17 16:22:04 -05:00
barisusakli
0741f00e4f Merge remote-tracking branch 'origin/master' into 0.7.0 2015-01-17 15:57:09 -05:00
barisusakli
f67053df52 figure out pathname, dont crash if callback isnt supplied 2015-01-17 15:06:12 -05:00
barisusakli
b333653464 prevent js crash if responseJSON is undefined 2015-01-16 23:52:51 -05:00
Julian Lam
04be40158c if you attempt to join a group when you're already in a group, you can't anymore. 2015-01-16 20:14:39 -05:00
Julian Lam
8ba05c08fe category privilege rescinding 2015-01-16 17:03:19 -05:00
Julian Lam
577a646adc this should appease @barisusakli 2015-01-16 17:03:19 -05:00
barisusakli
236fe91e95 fix typo 2015-01-16 13:00:50 -05:00
barisusakli
6fe8d25166 add uid to filter:topic.get 2015-01-16 12:58:31 -05:00
barisusakli
3eb922393f closes #2616 2015-01-15 21:05:04 -05:00
barisusakli
61f069a071 final test fixes
copy pasta is bad
2015-01-15 15:47:01 -05:00
barisusakli
d94668216d misc test fixes 2015-01-15 15:42:55 -05:00
barisusakli
4554ef2195 more test fixes 2015-01-15 15:33:22 -05:00
barisusakli
15d2f54cd0 fix list tests 2015-01-15 15:06:02 -05:00
barisusakli
46fd1843ba fix key tests 2015-01-15 15:02:50 -05:00
barisusakli
162a7b9e0c cleanup hash tests before hooks 2015-01-15 14:58:29 -05:00
barisusakli
584daf12a0 cleaned up key tests 2015-01-15 14:36:03 -05:00
barisusakli
74099d1d8c proper set tests with before hooks 2015-01-15 14:27:45 -05:00
Julian Lam
8d23265324 sending in groupObj data into group.delete hook 2015-01-15 14:09:25 -05:00
barisusakli
6b5b0b9eec proper list tests, added before hooks 2015-01-15 14:02:55 -05:00
Julian Lam
5bc078d9df latest spanish translations 2015-01-15 13:56:53 -05:00
Julian Lam
d4d99cba7c fixes #2615 2015-01-15 13:53:17 -05:00
Julian Lam
36cfbbbc58 Merge branch 'master' of github.com:nodebb/NodeBB 2015-01-15 13:52:37 -05:00
barisusakli
c324d71727 closes #2610 2015-01-15 13:33:49 -05:00
Julian Lam
fa87d883dc allowing "hidden" to be passed directly to Groups.create 2015-01-15 13:22:10 -05:00
barisusakli
429c4022f0 closes #2561 2015-01-15 12:47:44 -05:00
barisusakli
3e666adfea action:plugin.install and uninstall 2015-01-15 12:34:15 -05:00
Julian Lam
d813bda883 update, create, destroy hooks, #2609 2015-01-15 11:19:47 -05:00
Julian Lam
5c6dfb7462 missed one, @EisFrei 2015-01-15 10:58:31 -05:00
Julian Lam
cfdd4ec164 Revert "missed one, ping @EisFrei"
This reverts commit 2ed6b78cc5.
2015-01-15 10:55:10 -05:00
Julian Lam
2ed6b78cc5 missed one, ping @EisFrei 2015-01-15 10:54:55 -05:00
Julian Lam
666cef4029 updated hooks action:groups.join, action:groups.leave, and action:groups.requestMembership to match other action hooks in group namespace (that's "group", not "groups"), ping @EisFrei 2015-01-15 10:53:21 -05:00
Julian Lam
36a49cd994 guests can no longer attempt to join a group, #2588 2015-01-15 10:44:27 -05:00
barisusakli
cd99324286 closes #2413, closes #2599 2015-01-14 16:02:29 -05:00
barisusakli
8f5bf1a7ed closes #2587 2015-01-14 15:29:57 -05:00
Julian Lam
188c667580 closed #2612 2015-01-14 14:48:32 -05:00
barisusakli
d9a7547e63 next(err) 2015-01-14 11:49:04 -05:00
barisusakli
468d2be668 added error checks and missing returns to widgets closes #2611 2015-01-14 11:47:05 -05:00
Julian Lam
86a6979606 added comments to explain the voting logic 2015-01-14 11:18:45 -05:00
Julian Lam
87b9a60610 fixed group renaming, ping @schamper 2015-01-14 10:04:50 -05:00
Julian Lam
7289d50e6c whoops, fixing travis and groups 2015-01-14 09:46:13 -05:00
Julian Lam
fc75e3258d closed #2608 2015-01-14 09:44:43 -05:00
Julian Lam
d02f7e0e42 #2609 2015-01-14 09:42:09 -05:00
Julian Lam
6ac04e9da7 closed #2609 2015-01-14 09:33:02 -05:00
Julian Lam
aeafbe6170 better widget representation on smaller screens 2015-01-14 09:29:52 -05:00
barisusakli
e414008c59 closes #2584 2015-01-13 17:30:44 -05:00
barisusakli
fd2edcaf6f closes #2594 2015-01-13 17:15:14 -05:00
Julian Lam
a8c818c6cd added new hook, filter:controllers.topic.get 2015-01-13 15:47:38 -05:00
barisusakli
f2bfb4c0d1 removed following count hide 2015-01-13 15:13:34 -05:00
barisusakli
a9bf9745b6 removed unused yourid 2015-01-13 15:10:50 -05:00
barisusakli
1adc3b4ea7 removed console.log 2015-01-13 14:57:41 -05:00
barisusakli
82c4488505 remove console.log fix typos 2015-01-13 14:56:43 -05:00
barisusakli
6ccdf187ea closes #2595 2015-01-13 14:54:13 -05:00
barisusakli
f6525a13c8 data will be always inside socket.io/ modules 2015-01-13 12:26:41 -05:00
barisusakli
2a66aad078 ability to add extra fields to user data, new hook filter:user.addFields 2015-01-13 12:02:14 -05:00
Julian Lam
1c497f842a fixes travis, #2588 2015-01-13 11:27:48 -05:00
Julian Lam
50ac813388 Merge branch 'private-groups', closed #2588 2015-01-13 11:03:54 -05:00
Julian Lam
b3b3300bd6 fixing bug with checkboxes, #2588 2015-01-13 00:25:44 -05:00
barisusakli
c2fab07236 replaces fs.exists with try catch 2015-01-12 23:24:19 -05:00
barisusakli
be8385e8dc fix else if style 2015-01-12 23:11:32 -05:00
barisusakli
5f12679426 #2604 2015-01-12 23:10:36 -05:00
Julian Lam
de58f4ff6b hiding group admin and cover photo controls from non-owners, #2588 2015-01-12 22:47:58 -05:00
Julian Lam
710df626b5 removed join/view buttons from group list, made cover clickable, #2588 2015-01-12 21:21:02 -05:00
Julian Lam
698f598a30 default cover photo for groups, #2588 2015-01-12 21:14:00 -05:00
Julian Lam
203a15204e bugfixes to cover photo, #2588 2015-01-12 20:40:34 -05:00
Julian Lam
675968f0f3 cover photo for groups, #2588 2015-01-12 20:34:15 -05:00
barisusakli
5a940778ee closes #2603 2015-01-12 20:15:00 -05:00
barisusakli
7a7aeb131e use tpl_url 2015-01-12 19:04:14 -05:00
barisusakli
02dbce57fb relative path fix missing ; 2015-01-12 18:52:41 -05:00
barisusakli
1f674f10e2 added before to hash test 2015-01-12 18:35:28 -05:00
barisusakli
05894d14c6 closes #2151 2015-01-12 18:28:47 -05:00
barisusakli
200f74f1c7 closes #2592 2015-01-12 18:16:34 -05:00
barisusakli
bbfec7d443 fix post index parse 2015-01-12 17:54:07 -05:00
barisusakli
456b844e61 closes #2596 2015-01-12 17:33:11 -05:00
barisusakli
08c1dad3ee topics.isFollowing works with multiple tids now 2015-01-12 16:57:18 -05:00
barisusakli
f417e07b9d user search changes 2015-01-12 15:57:45 -05:00
Julian Lam
697d2636f9 Merge branch 'master' into private-groups 2015-01-12 13:24:11 -05:00
Julian Lam
8be9854062 latest translations 2015-01-12 13:24:01 -05:00
Julian Lam
612b8f01b6 Merge remote-tracking branch 'origin/master' into private-groups 2015-01-12 13:01:33 -05:00
Julian Lam
635393a274 group creation and deletion from outside ACP, #2588 2015-01-12 13:00:23 -05:00
barisusakli
ad12886d19 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-01-12 11:07:41 -05:00
barisusakli
2974f1ba8a closes #2602 2015-01-12 11:07:38 -05:00
Julian Lam
765975e667 ACP groups delete calls generic groups socket listener now, #2588 2015-01-11 18:17:49 -05:00
Julian Lam
08e883de44 added widget areas to the bottom of the group details page, #2588 2015-01-11 18:04:35 -05:00
Julian Lam
240056d169 added icon container styles back to ACP, proper hooking-up of iconSelect module in group settings panel, #2588 2015-01-11 17:44:51 -05:00
Julian Lam
69ed8ac45d icon selection interface -- moved iconSelect module out of admin space, #2588 2015-01-11 17:24:15 -05:00
Julian Lam
19f0f6b7e0 fixed issue where trying to go to the user profile would cause a cold load instead of ajaxify 2015-01-11 16:55:25 -05:00
barisusakli
0305ad989c match uploader return 2015-01-10 19:48:00 -05:00
barisusakli
f74383bba4 changed userPhoto to files[] 2015-01-10 18:59:24 -05:00
barisusakli
23f450adbd delete topic post sorted sets on topic purge 2015-01-10 17:47:31 -05:00
barisusakli
5414c268a0 sort numerically 2015-01-10 17:41:03 -05:00
barisusakli
9f35a2b251 flat threadtools.purge 2015-01-10 17:12:32 -05:00
barisusakli
1caddb6182 uploads controller 2015-01-10 16:40:54 -05:00
barisusakli
a70b73df81 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2015-01-10 15:03:32 -05:00
barisusakli
4ab288acae delete fullname:uid mapping on user delete 2015-01-10 15:03:29 -05:00
psychobunny
5d43aa3212 ability to redirect the user from anywhere
just send

```
callback({
status: 302,
path: '/user/psychobunny'
});
```
2015-01-10 14:50:28 -05:00
psychobunny
a7d73d4106 fixes adding new routes to user/xxx/route 2015-01-09 14:33:42 -05:00
Julian Lam
311d02dbe1 removed console log 2015-01-09 13:53:19 -05:00
Julian Lam
b4731ad47b added colorpicker to frontend, badge colour changes for groups, #2588 2015-01-09 13:53:11 -05:00
Julian Lam
7be0830751 properly showing private state in group details, #2588 2015-01-09 10:45:50 -05:00
Julian Lam
84c19921b9 newly created groups automatically assign the creator as the owner, some tweaks to isPrivate parsing, added groups link to header, #2588 2015-01-09 10:33:54 -05:00
Julian Lam
65537d997f if a group is deleted, flush the owner and pending sets, too 2015-01-09 09:43:45 -05:00
barisusakli
a8de1c1465 properly fix #2586 2015-01-08 18:24:05 -05:00
barisusakli
d7c27b35ab closes #2586 2015-01-08 17:47:20 -05:00
Schamper
eb1fe77510 That's not how you do comments silly 2015-01-08 23:29:12 +01:00
Schamper
9b40c44fd8 Simple bat file for Windows. Not all options are supported, but it's a good start. 2015-01-08 23:25:28 +01:00
Julian Lam
96c37c25b0 join, leave, accept, reject: handlers + UI, #2588 2015-01-08 17:23:40 -05:00
Julian Lam
b0182f702f Merge remote-tracking branch 'origin/private-groups' into private-groups 2015-01-08 17:07:26 -05:00
Julian Lam
3a3d45155e show pending members in frontend UI, #2588 2015-01-08 17:06:33 -05:00
psychobunny
3712fe1fb5 latest t.js 2015-01-08 16:57:15 -05:00
Julian Lam
71b41239ac attempting to join a private group causes the join to be pending, #2588 2015-01-08 16:50:31 -05:00
barisusakli
db1cc6b8d2 search by fullname 2015-01-08 15:49:00 -05:00
Julian Lam
a5d7fee623 Merge remote-tracking branch 'origin/master' into private-groups 2015-01-08 15:41:19 -05:00
Julian Lam
bb0b6d9db4 using 'invisible' class instead of 'hidden', #2588 2015-01-08 15:41:07 -05:00
Julian Lam
d747ce5760 granting and rescinding ownership, #2588 2015-01-08 15:40:41 -05:00
Julian Lam
a907fa2187 added concept of group ownership, #2588 2015-01-08 15:40:38 -05:00
Julian Lam
9fa3675424 added methods and socket listeners for group joining and leaving, #2588 2015-01-08 15:40:34 -05:00
Julian Lam
501935d359 updated helper loading so it loads all helpers in helpers local var, #2588 2015-01-08 15:40:23 -05:00
barisusakli
a77a761433 closes #1917 2015-01-08 13:47:21 -05:00
psychobunny
52cf224e5a translator.getTranslations & bug fix 2015-01-07 18:31:32 -05:00
psychobunny
5ee0ed401f fixed ajaxify's redirecting to external URLs.. well fixed redirecting in general 2015-01-07 17:45:09 -05:00
psychobunny
1a13f2a54a no need to crash nodebb on missing template directory warning 2015-01-07 17:45:08 -05:00
barisusakli
ce9c17f8e5 ability to search posts by user 2015-01-07 17:27:13 -05:00
Julian Lam
b685194dae updated helper loading so it loads all helpers in helpers local var 2015-01-07 16:38:52 -05:00
Julian Lam
1868a02bd7 Merge branch 'master' into private-groups 2015-01-07 16:23:07 -05:00
Julian Lam
aa62c52580 closed #2583 2015-01-07 16:21:20 -05:00
Julian Lam
a2af8105ec closed #2583 2015-01-07 16:18:38 -05:00
barisusakli
60f1b9679a search filters 2015-01-07 16:10:11 -05:00
Julian Lam
917f76feab group join/leave controls in groups list page (+ helper!) 2015-01-07 14:58:31 -05:00
Julian Lam
f3fa2f10ed added ACP option to enable private groups 2015-01-07 14:42:14 -05:00
barisusakli
c1ac92ac19 popular topics will use topic creation time 2015-01-07 13:35:53 -05:00
Julian Lam
2d4383c7b0 updating bootstrap in ACP to v3.3.1 2015-01-07 13:00:34 -05:00
Julian Lam
fc7a882877 fixed #2582 2015-01-07 10:09:09 -05:00
psychobunny
b34420c2d7 Update CONTRIBUTING.md 2015-01-07 02:46:10 -05:00
barisusakli
f060a36853 fix indent 2015-01-06 23:34:29 -05:00
barisusakli
b51127bd9c closes #2578 2015-01-06 23:29:48 -05:00
Julian Lam
f5b758245f added indonesian to NodeBB, Terima kasih! 2015-01-06 18:09:37 -05:00
Julian Lam
779fd0405e latest translations! 2015-01-06 18:04:42 -05:00
Julian Lam
3c1ee1f59f fixing incorrect language code for Italian 2015-01-06 16:33:49 -05:00
Julian Lam
9b8cc9fe6c partial revert of 659d0f68cb, #2417 2015-01-06 16:23:30 -05:00
Julian Lam
835886998b having composer/resize call findBootstrapEnvironment only on the first resize method call, and not right when library is required, #2417 2015-01-06 16:09:35 -05:00
Julian Lam
428a431164 Revert "wrapping findBootstrapEnvironment so that it doesn't run before the DOM is ready #2417"
This reverts commit e42365f7c1.
2015-01-06 16:05:06 -05:00
Julian Lam
e42365f7c1 wrapping findBootstrapEnvironment so that it doesn't run before the DOM is ready #2417 2015-01-06 12:06:33 -05:00
Julian Lam
659d0f68cb possibly fixing issue where mobile composer textarea is not properly sized when initially opened. Sort of related to #2417 2015-01-06 11:15:44 -05:00
psychobunny
4bbd3b47c0 Merge pull request #2580 from TheBronx/master
update bootstrap js to v3.3.1 fixes #2579
2015-01-05 17:18:13 -05:00
TheBronx
e26f8c3290 update bootstrap js to v3.3.1 fixes #2579
update bootstrap.min.js to v3.3.1 fixes #2579
2015-01-05 13:43:44 +01:00
Baris Usakli
a36391864a fix recent replies crash, closes #2575 2015-01-04 11:42:39 -05:00
Julian Lam
e4caa83158 Merge pull request #2573 from unreadableusername/master
footer.tpl loggedIn variable support
2015-01-04 11:39:23 -05:00
Baris Usakli
8522af504a closed #2571 2015-01-04 11:37:20 -05:00
psychobunny
64468a6f16 more linting 2015-01-03 20:10:08 -05:00
psychobunny
357de92624 tests/database linting 2015-01-03 20:08:49 -05:00
psychobunny
f3a113d318 jslinting on holiday ftw 2015-01-03 20:07:09 -05:00
Julian Lam
112a1e8c85 happy new year! 2015-01-03 17:53:25 -05:00
psychobunny
3da6466045 I thought I was on holiday (fixes infinite loop on language calls) 2015-01-03 03:38:01 -05:00
Oleksandr Pidlisnyi
f9887de478 footer.tpl loggedIn variable support 2015-01-02 17:29:03 +02:00
Julian Lam
02e0d4635b icon mgmt for #2463 2015-01-01 16:24:47 -05:00
Julian Lam
dfe8e8de70 image uploading for categories, #2463 2015-01-01 15:35:22 -05:00
Julian Lam
ad723e2943 Merge branch 'master' into categories_revamp
Conflicts:
	src/views/admin/partials/menu.tpl
2015-01-01 14:59:03 -05:00
barisusakli
7b49effc14 minor tweaks 2015-01-01 13:05:58 -05:00
Julian Lam
1ddb90720c Merge branch 'guest-handles' 2014-12-31 21:30:17 -05:00
Julian Lam
23b9b21cdd better handling of guest handles in frontend, #2569 2014-12-31 21:27:41 -05:00
Julian Lam
9befa6aca7 proper handling of post editing, integration with ACP toggle, #2569 2014-12-31 20:48:32 -05:00
barisusakli
ff770e3656 search test 2014-12-31 17:20:28 -05:00
barisusakli
6d31fee3f5 closes #2564
change user.search to accept params
can search substr with startsWith:false
no infinite scroll on admin user search page
2014-12-31 17:13:19 -05:00
barisusakli
fbd875b397 fix sortedSetIncrBy return 2014-12-31 16:38:57 -05:00
barisusakli
faf4163a6e more test fixes 2014-12-31 16:28:24 -05:00
Julian Lam
325815a78d showing guest handles in frontend UI #2569 2014-12-31 16:27:35 -05:00
barisusakli
861a3ca8a8 more test fixes 2014-12-31 16:14:34 -05:00
barisusakli
0a534b20e3 sortedSetCount fix for +inf/-inf 2014-12-31 16:09:33 -05:00
barisusakli
03ee524121 fix tests and mongo method 2014-12-31 15:59:57 -05:00
barisusakli
b443aec450 rest of the sorted set tests 2014-12-31 15:52:52 -05:00
barisusakli
1f0902bbe8 fix range tests 2014-12-31 14:44:52 -05:00
barisusakli
00541b2bc8 sortedSetRange tests 2014-12-31 14:41:58 -05:00
barisusakli
0ff37f9e0e sorted set tests 2014-12-31 14:27:16 -05:00
barisusakli
bfaf50908d closes #2565 2014-12-31 14:16:27 -05:00
barisusakli
1511a0c3fe closes #2568 2014-12-31 13:51:47 -05:00
Julian Lam
b97c9e4467 shorter language string for composer guest handle placeholder, #2569 2014-12-31 12:44:26 -05:00
Julian Lam
7dc309fc16 template in composer #2569 2014-12-31 12:36:25 -05:00
Julian Lam
fcbb48bb77 acp setting for allowGuestHandles #2569 2014-12-31 12:16:20 -05:00
Julian Lam
cb4fb62d4a moved ACP menu into a partial 2014-12-31 12:13:11 -05:00
barisusakli
38e7ecbb41 setRemove doesnt return result 2014-12-30 22:06:48 -05:00
barisusakli
ee820341d5 fix incrObjectFieldBy test 2014-12-30 18:52:23 -05:00
barisusakli
74a3977d42 decrObjectField, incrObjectFieldBy tests 2014-12-30 18:50:10 -05:00
barisusakli
e6244c547a fix isObjectField test 2014-12-30 18:46:46 -05:00
barisusakli
9af3007f3d fix copy paste fails 2014-12-30 18:44:44 -05:00
barisusakli
4d5ed784a1 more hash tests
getObjectValues
isObjectField
deleteObjectField
incrObjectField
2014-12-30 18:41:13 -05:00
barisusakli
13cd2e41bb fix assert 2014-12-30 18:29:11 -05:00
barisusakli
ebbb1bac26 more hash tests
getObjectField
getObjectFields
getObjectsFields
getObjectKeys
2014-12-30 18:25:32 -05:00
barisusakli
81b32fc095 missing comma 2014-12-30 18:08:16 -05:00
barisusakli
a6c75eea88 hash tests 2014-12-30 18:07:06 -05:00
Julian Lam
1186bff890 category edit page, #2463 2014-12-30 13:04:31 -05:00
Julian Lam
84e90cd73d category enable/disabled #2463 2014-12-30 12:25:39 -05:00
Julian Lam
a091757aa0 adding dedicated category edit page for ACP #2463 2014-12-29 21:38:21 -05:00
Julian Lam
6b95b28db7 drag/drop re-ordering fixed in ACP, #2463 2014-12-29 21:21:17 -05:00
Julian Lam
9e63b5f9a0 moved ACP menu into a partial 2014-12-29 21:21:17 -05:00
Julian Lam
c98331de82 revamping categories management page in ACP, #2463 2014-12-29 21:21:17 -05:00
barisusakli
1e6f5d822d setRemove tests 2014-12-29 18:28:59 -05:00
barisusakli
adae2bd13e fix copy paste fail 2014-12-29 18:23:17 -05:00
barisusakli
818182bc00 setCount setsCount tests 2014-12-29 18:20:11 -05:00
barisusakli
4590fe6155 isMemberOfSets test 2014-12-29 18:14:41 -05:00
barisusakli
a529c3b179 fix typo 2014-12-29 18:10:09 -05:00
barisusakli
7f933bc747 more set tests 2014-12-29 18:07:12 -05:00
barisusakli
3efc49dd72 set tests 2014-12-29 17:55:30 -05:00
barisusakli
def5d23744 missing done 2014-12-29 17:34:56 -05:00
barisusakli
633cef6dd7 listTrim fix 2014-12-29 17:32:31 -05:00
barisusakli
c62e7ed641 list test fix 2014-12-29 17:27:42 -05:00
barisusakli
9750a36dee fix get range 2014-12-29 16:25:23 -05:00
barisusakli
3e8c29e5f9 list tests 2014-12-29 16:20:35 -05:00
barisusakli
8aa75b7af4 publish reload requests, fix missing nconf 2014-12-29 15:41:55 -05:00
barisusakli
cc487a7fc8 publish restart requests 2014-12-29 15:31:15 -05:00
barisusakli
4364b50ecf closes #2562 2014-12-29 15:11:52 -05:00
barisusakli
d2e69884b5 closes #2556 2014-12-29 13:59:02 -05:00
barisusakli
c4c8964f82 closes #2543 2014-12-28 23:01:34 -05:00
Julian Lam
9d5daa0bf4 Update README.md 2014-12-28 22:53:17 -05:00
barisusakli
747f212f1a closes #2552, disable prompt colors 2014-12-28 22:32:02 -05:00
barisusakli
9170ee831a reset search on tags page if input is empty 2014-12-28 22:22:43 -05:00
barisusakli
fc79b3a932 fix isInstalled, publish plugin install and upgrade requests 2014-12-26 20:18:05 -05:00
barisusakli
48acb0082e isActive 2014-12-26 19:17:37 -05:00
barisusakli
68f985c6da refactor map css/less 2014-12-26 19:02:50 -05:00
barisusakli
fdbd9a816f moved comments above method 2014-12-26 18:55:06 -05:00
barisusakli
d0b8337075 broke plugins.js into files 2014-12-26 18:54:20 -05:00
barisusakli
d1540322c9 closes #2555 2014-12-26 15:44:00 -05:00
barisusakli
8eb58bf5fe check err 2014-12-25 18:21:06 -05:00
barisusakli
b7f55e8453 fix tests 2014-12-25 15:57:37 -05:00
barisusakli
8007bb0644 dont ignore error 2014-12-25 15:50:55 -05:00
barisusakli
e0edb71a8a use socket.io default and ["polling", "websocket"] 2014-12-25 14:13:54 -05:00
barisusakli
1cbf5ddfe9 only send back err on redis.deleteAll 2014-12-25 03:14:04 -05:00
barisusakli
7cf3719c80 fix rename and increment 2014-12-25 03:08:49 -05:00
barisusakli
410d9fa4fa fix more tests 2014-12-25 03:00:05 -05:00
barisusakli
b6639403fe fix set test 2014-12-25 02:50:44 -05:00
barisusakli
f4d1fbc4e3 fix mock require 2014-12-25 02:45:56 -05:00
barisusakli
102819426c require key tests 2014-12-25 02:43:11 -05:00
barisusakli
bf54859a27 key tests 2014-12-25 01:53:28 -05:00
barisusakli
872318442f install latest mongo in travis, travis only has 2.4.10 2014-12-25 01:00:57 -05:00
barisusakli
13daf8d167 mongo port 2014-12-25 00:45:30 -05:00
barisusakli
fd373ed8e7 added mongodb to travis.yml 2014-12-25 00:41:33 -05:00
barisusakli
37235557bb fix callback in redis.setRemove 2014-12-24 15:52:37 -05:00
barisusakli
00fb3ab909 only send back error for sortedSetsRemove 2014-12-24 01:54:04 -05:00
Julian Lam
61b6037991 0.6.1-dev 2014-12-24 00:47:04 -05:00
barisusakli
0d223ef88d missing err 2014-12-24 00:19:47 -05:00
barisusakli
87435c1a9e return email:confirmed on admin header 2014-12-24 00:06:37 -05:00
barisusakli
ce24c6dc04 pass callback directly 2014-12-23 23:53:26 -05:00
barisusakli
4b1b98e229 handle changePicture callback properly 2014-12-23 18:09:23 -05:00
A Catty Alpaca
f0ed816edb fix generated widgets areas glitching on small screens
because columns should always be in rows
2014-12-23 23:49:15 +01:00
barisusakli
3d9e86d9b2 removed null 2014-12-23 15:06:05 -05:00
barisusakli
cd41e192d1 closes #2546 2014-12-23 15:03:31 -05:00
barisusakli
87f57b8cd3 cuz @psychobunny said so 2014-12-23 02:23:36 -05:00
barisusakli
d68c44fd0a dont sent status update if user set it offline 2014-12-23 01:37:39 -05:00
psychobunny
7c2b041633 ./nodebb reset theme - singular imo 2014-12-23 00:53:28 -05:00
barisusakli
a9e12f4174 remove unused requires 2014-12-22 21:17:26 -05:00
barisusakli
b1edc59987 fix undefined next 2014-12-22 21:12:22 -05:00
psychobunny
a5f63a5ac7 upgrade script was refusing to complete until I added this
@barisusakli fyi
2014-12-22 12:47:55 -05:00
barisusakli
9865f78cbb flat is good 2014-12-22 00:12:47 -05:00
barisusakli
768c17263c fix error messages 2014-12-21 23:32:19 -05:00
Barış Soner Uşaklı
25cb450f40 Merge pull request #2542 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2014-12-21 23:19:53 -05:00
The Gitter Badger
3019023d38 Added Gitter badge 2014-12-22 04:13:58 +00:00
barisusakli
936ea5f686 sync config changes over redis pubsub 2014-12-21 20:25:54 -05:00
barisusakli
2f8e6a1f2b closes #2458 2014-12-21 16:29:32 -05:00
barisusakli
2ea5f85d9b closes #2481 2014-12-21 14:36:22 -05:00
barisusakli
e6b4a45cda closes #2531 2014-12-21 14:14:46 -05:00
barisusakli
e22c13abd4 closes #2423 2014-12-21 14:07:45 -05:00
barisusakli
3bdb98e747 closes #2530 2014-12-21 00:08:01 -05:00
barisusakli
712d5bce5b show 24 hours in traffic graph 2014-12-20 20:34:46 -05:00
barisusakli
94cf29d42c show monthly page views 2014-12-20 20:05:59 -05:00
barisusakli
b07a522c60 one less query in privileges.topics.get 2014-12-20 18:34:02 -05:00
barisusakli
984b17349a closes #2476 2014-12-20 17:26:39 -05:00
barisusakli
4ce6341d85 fix acp for header changes 2014-12-20 00:42:52 -05:00
barisusakli
83312ad53a faster getTeasers 2014-12-19 23:56:51 -05:00
barisusakli
14e46a87a6 closes #2529 2014-12-19 18:58:28 -05:00
barisusakli
1424acc88e fix reconnection for socket.io 1.x 2014-12-19 18:49:56 -05:00
barisusakli
8ed06eb773 closes #2528 2014-12-19 18:31:39 -05:00
barisusakli
04084807c2 removed app.loadConfig 2014-12-19 17:19:33 -05:00
psychobunny
da7dcd99a8 #2532 renamed to "socket.io:transports"
Sample config:

"socket.io": {
"transports": ["websocket"]
}
2014-12-19 16:49:20 -05:00
barisusakli
6a8a5a9de0 use validator.escape 2014-12-18 23:43:07 -05:00
barisusakli
793a0a6772 fix mark topic notifications read on enter 2014-12-18 23:28:19 -05:00
barisusakli
2bfc33edb7 updated deps 2014-12-18 20:23:31 -05:00
barisusakli
d314b9cae2 closes #2538 2014-12-18 19:47:51 -05:00
barisusakli
d28fb153c7 closes #2537 2014-12-18 19:22:59 -05:00
barisusakli
7ec8393004 closes #2532 2014-12-17 18:18:53 -05:00
barisusakli
2423bd18eb jobs disabled is boolean, great 2014-12-17 18:09:09 -05:00
barisusakli
1a34327f9d removed unnecessary require 2014-12-16 23:55:02 -05:00
barisusakli
59545d740c only emit event:user_leave to topic rooms instead of all online users 2014-12-16 19:40:47 -05:00
barisusakli
f47550d23e closes #2533 2014-12-16 15:09:15 -05:00
barisusakli
26b2ef1543 prevent crash in getChildren 2014-12-16 14:46:02 -05:00
barisusakli
989ca19df5 added jobsDisabled flag 2014-12-15 19:07:15 -05:00
barisusakli
acf1b76da8 reconnectionAttemps in socket.io 1.0x
https://github.com/automattic/socket.io-client#managerurlstring-optsobject
2014-12-15 10:07:11 -05:00
barisusakli
76480d4d31 app.user undefined on cold load 2014-12-14 23:02:58 -05:00
barisusakli
c0c85c24cf duh strings dont work 2014-12-14 22:34:53 -05:00
barisusakli
64cc0f244d just show err.message 2014-12-14 17:45:22 -05:00
barisusakli
5bf46864ed removed global admin object, CF rocket loader fix
added colorpicker module
2014-12-13 22:14:08 -05:00
psychobunny
9e1a049fd5 Merge pull request #2526 from akhoury/patch-5
adding mid on the message returned data on addMessage
2014-12-13 10:17:09 -05:00
Aziz Khoury
100f31be81 adding mid on the message returned data on addMessage 2014-12-13 08:19:49 -05:00
barisusakli
e72ec429a2 remvoed lowered pingTimeout 2014-12-13 00:10:45 -05:00
barisusakli
e74d39889e removed extra comma 2014-12-12 23:26:01 -05:00
barisusakli
bf3f20bf8b removed extra comma 2014-12-12 23:25:16 -05:00
barisusakli
2c7d9e1a7c store teaserPid in topic
-update teaser pid as necessary in addPostToTopic, removePostFromTopic,
post purge
-removed 20x db calls from getTeasers
-fixed scroll to post in sub folder install
-upgrade script to update topics with teaserPid
2014-12-12 18:52:37 -05:00
barisusakli
0cb0dafae3 another relative_path fix 2014-12-12 16:31:54 -05:00
barisusakli
03de918f10 fix more relative path redirects 2014-12-12 16:20:24 -05:00
barisusakli
011c42bde3 updated analytics
accumulate pageviews, uniquevisitors and uniqueIps locally and update db
every 10 mins instead of on every page view
2014-12-12 16:15:13 -05:00
barisusakli
da4014eb71 dont allow move to same topic 2014-12-12 00:52:59 -05:00
barisusakli
8bba811aaf closes #2522 2014-12-12 00:45:43 -05:00
barisusakli
52a53df80d missing err check 2014-12-11 23:59:23 -05:00
barisusakli
8965855218 made breadcrumbs regular function
less db calls as well
2014-12-11 22:55:00 -05:00
barisusakli
518c6f7cfa closes #2521 2014-12-11 22:16:17 -05:00
psychobunny
e0c8989e8b closes #2519 2014-12-11 10:17:04 -05:00
psychobunny
94efa6dd87 closes #2520 2014-12-11 10:02:17 -05:00
Barış Soner Uşaklı
5f47f2226a escape topic title and category name 2014-12-11 03:09:09 -05:00
Julian Lam
3deb423c55 testing socket availability before attempting to bind 2014-12-10 19:44:27 -05:00
Julian Lam
49dcffcbab if worker process exits with code zero, don't boot up a new worker 2014-12-10 18:52:38 -05:00
Julian Lam
68e761bed0 if using sockets, reset the umask back to the old value after listening 2014-12-10 18:16:09 -05:00
Julian Lam
273e26ddb1 if a locally installed plugin not published to npm has a syntax error, this fixes it. closes #2512 2014-12-10 14:59:49 -05:00
barisusakli
9b083a6a66 half ping timeout 2014-12-10 04:07:05 -05:00
barisusakli
86bd85bba4 removed qs fix indent 2014-12-10 01:40:31 -05:00
barisusakli
646c5705cf no need to make call for guests 2014-12-10 00:43:35 -05:00
barisusakli
2e04501224 closes #2516 2014-12-09 20:48:35 -05:00
barisusakli
348d05d3d1 remove deprecated res.json usage 2014-12-09 20:07:12 -05:00
barisusakli
b63c0df8a2 fixed event name 2014-12-09 13:50:20 -05:00
barisusakli
5a79b99a7a derp 2014-12-09 12:59:49 -05:00
barisusakli
9f7196f5b0 dont crash if config is undefined, added error to plugins 2014-12-09 12:59:12 -05:00
Julian Lam
772f4c103a properly pass in error value for locally installed plugin 2014-12-09 12:11:01 -05:00
barisusakli
aeae76c28d added error false 2014-12-09 11:22:04 -05:00
Julian Lam
b565f3ac0a closed #2497 2014-12-09 10:27:05 -05:00
barisusakli
8af5102912 missing return 2014-12-08 17:50:45 -05:00
barisusakli
81a5a4cfe0 removed global var 2014-12-08 16:49:18 -05:00
barisusakli
8e8375cbba validate email password on register 2014-12-08 16:28:30 -05:00
barisusakli
8bee231d80 show validation errors on register 2014-12-08 16:11:35 -05:00
Julian Lam
b278f27ffe partial fix to #2509 2014-12-08 12:04:41 -05:00
psychobunny
e3e737458e linting 2014-12-08 10:28:21 -05:00
psychobunny
beaa52fff5 acp - if bs env < lg + content is long (ex plugins list) then duplicate sidebar menu on header + footer; closes #2510 2014-12-08 10:27:54 -05:00
barisusakli
9d78a204df missing return 2014-12-07 16:37:05 -05:00
barisusakli
5128f7d2f9 prevent crash on invalid data 2014-12-07 16:32:40 -05:00
barisusakli
6b20cf5cff #2508 2014-12-06 16:05:00 -05:00
barisusakli
5337a31eb9 #2254 sitemap topic limit 2014-12-06 00:44:58 -05:00
barisusakli
8bea0bb6e5 fix favourite infinite scroll 2014-12-05 22:22:57 -05:00
barisusakli
f2b24eb72a fix tests 2014-12-05 16:46:16 -05:00
Julian Lam
8c097357fc updated language files 2014-12-05 13:31:08 -05:00
barisusakli
79f3659e55 reconnectionDelay 2014-12-05 13:19:09 -05:00
barisusakli
99e774d196 socket.socket.disconnect doens't exist in 1.x 2014-12-05 13:15:51 -05:00
barisusakli
ef3b6a2450 closes #2498 2014-12-05 13:07:13 -05:00
barisusakli
64c0e1df61 settimeout 2014-12-04 14:29:48 -05:00
Julian Lam
389f74b615 hungarian translations 2014-12-04 13:24:11 -05:00
Julian Lam
2de108153f closed #2464 2014-12-04 00:36:24 -05:00
Julian Lam
2914c74587 allowed admin to remove skins, if set 2014-12-03 23:40:04 -05:00
barisusakli
104fc2d273 10 second timer 2014-12-03 23:16:50 -05:00
barisusakli
9e9b138afb removed unused code 2014-12-03 23:13:26 -05:00
barisusakli
e7c2bc5d5d removed unused callback 2014-12-03 23:07:00 -05:00
barisusakli
e86650a6af not used anymore 2014-12-03 23:05:33 -05:00
Julian Lam
fb6026f95f fixed issue where logging out via ACP caused CSRF error 2014-12-03 22:42:42 -05:00
Julian Lam
908f5f2fd4 fixed ACP background image on subfolder installs 2014-12-03 22:35:45 -05:00
barisusakli
080c54d414 #2434 2014-12-03 22:35:06 -05:00
barisusakli
e18ad61ff6 fix login maybe? 2014-12-03 22:29:56 -05:00
barisusakli
356f577a74 redirect to correct login 2014-12-03 22:08:25 -05:00
barisusakli
85dfedeedc removed commented out code 2014-12-03 19:43:15 -05:00
barisusakli
7ae7c50f56 app.user 2014-12-03 19:36:19 -05:00
barisusakli
22e20b961e pass all env variables to worker 2014-12-03 17:10:25 -05:00
Julian Lam
d14cd254a5 only instantiating logrotate object if silent 2014-12-03 17:06:26 -05:00
barisusakli
16f62e6502 closes #2472 2014-12-03 17:05:34 -05:00
barisusakli
7d6c81160b show 20 results for user search 2014-12-03 16:45:12 -05:00
Julian Lam
aaef0ad282 closed #2495 2014-12-03 16:18:26 -05:00
barisusakli
d62cdd5127 added support for specifying which ports to use
if no port is specified in config.json port from url will be used if no
port in url then default to 4567

port in config.json can be an array or a single port number
2014-12-03 15:46:52 -05:00
barisusakli
f67bc8d056 fix space 2014-12-03 14:17:05 -05:00
barisusakli
64e13df14c removed node cluster spawn procs on ports 2014-12-03 14:03:41 -05:00
barisusakli
3ad3e781f3 fix tests 2014-12-03 01:49:57 -05:00
barisusakli
28ed49a1d2 removed android check 2014-12-03 01:17:45 -05:00
barisusakli
2fbaed9cdf moved nconf setup to loadConfig, fixed upload_url 2014-12-03 01:10:49 -05:00
psychobunny
fc00791125 a plugin's package.json can be invalid too 2014-12-02 21:57:21 -05:00
barisusakli
5576ef0d1e upgrade script to remove fields 2014-12-02 18:06:11 -05:00
barisusakli
e49dfc7266 cleaned up loader.js 2014-12-02 17:40:48 -05:00
barisusakli
83a679fc15 fixed wrong var 2014-12-02 16:51:14 -05:00
barisusakli
7a5383748c possible fix for #2492 2014-12-02 16:49:53 -05:00
psychobunny
c0bce71984 added some failsafe checks for filter:user.isModerator 2014-12-02 16:13:29 -05:00
psychobunny
6a47aacdfd forgot description 2014-12-02 15:34:34 -05:00
psychobunny
6a9145d90e some basic moderator tests 2014-12-02 15:33:28 -05:00
barisusakli
48337e4f51 check err 2014-12-02 15:13:18 -05:00
psychobunny
113d35887c moved admin.getVoters to posts.getVoters; now getVoters modal can be accessed by moderators as well 2014-12-02 14:59:29 -05:00
psychobunny
63367bd670 *user.isModerator*, duh 2014-12-02 14:21:17 -05:00
psychobunny
673145d413 added filter:users.isModerator 2014-12-02 14:19:14 -05:00
barisusakli
a3f0f58ebe update nconf, gm deps 2014-12-02 13:31:53 -05:00
barisusakli
ae1d226218 fix group test 2014-12-02 13:27:36 -05:00
barisusakli
612aa4e55b closes #2491 2014-12-02 12:38:53 -05:00
barisusakli
09a5d92dba correct method name 2014-12-01 23:22:02 -05:00
barisusakli
9075a8d4c9 added back isAdmin into admin middleware with a warning 2014-12-01 23:07:47 -05:00
barisusakli
97d01de155 fix acp 2014-12-01 22:57:57 -05:00
barisusakli
ddd6ed9e8c #2477 403 page 2014-12-01 21:07:23 -05:00
barisusakli
be11577aa4 closes #2477 2014-12-01 20:28:36 -05:00
barisusakli
9023060008 moved category redirect up 2014-12-01 17:59:38 -05:00
psychobunny
12e00ec497 hinting 2014-12-01 16:28:16 -05:00
psychobunny
77d0b095c8 closes #2488 2014-12-01 16:27:29 -05:00
Julian Lam
aa44894db2 fixing home breadcrumb, #1984 2014-12-01 16:11:44 -05:00
barisusakli
866adab648 removed console.log 2014-12-01 16:09:01 -05:00
Julian Lam
04dbd5766d latest language strings 2014-12-01 15:31:27 -05:00
Julian Lam
66bbbfcd22 fixed url being overwritten 2014-12-01 15:25:37 -05:00
Julian Lam
420649d3bd no longer setting sourcemap header for minifiedjs 2014-12-01 15:01:49 -05:00
barisusakli
d544b19220 set path on socket.io server 2014-12-01 14:59:12 -05:00
barisusakli
3a0b92a0e4 fix path for socket.io subfolder install 2014-12-01 14:52:21 -05:00
barisusakli
14a2db4b2e fix workerIndex for ipv6 2014-12-01 14:45:32 -05:00
Julian Lam
d16cfb89e0 extra log, #2246 2014-12-01 14:22:53 -05:00
Julian Lam
5cc30ca1a0 more cache hash fixes 2014-12-01 14:21:03 -05:00
Julian Lam
2e24224449 passing css hash to other workers on startup 2014-12-01 14:19:14 -05:00
Julian Lam
82708d65c6 propagating hash to all workers on css compilation 2014-12-01 14:05:20 -05:00
barisusakli
46e022e97f closes #2483 2014-12-01 13:24:13 -05:00
barisusakli
647b15c7ef Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-12-01 12:46:39 -05:00
barisusakli
7332ba9c25 fix loader for new config.json format 2014-12-01 12:36:59 -05:00
psychobunny
6fe093324a moved signature length setting out of settings/user and into settings/post; created new sub section for signatures 2014-12-01 12:25:05 -05:00
psychobunny
63a5002b53 closes #2441 2014-12-01 12:23:31 -05:00
psychobunny
92addc349b signatures:disableLinks and signatures:disableImages config options 2014-12-01 12:23:30 -05:00
barisusakli
957800b2c3 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-12-01 12:13:50 -05:00
Julian Lam
f00a3dbf49 minor fix to upgrade script 2014-12-01 12:03:42 -05:00
Julian Lam
604f883ac2 closed #2478 2014-11-30 23:53:35 -05:00
Julian Lam
1378e1155f fixed #2479 2014-11-30 23:44:15 -05:00
Julian Lam
682ba8fb1a upping vanilla and lavender minvers 2014-11-30 23:40:15 -05:00
Julian Lam
110fd863e4 fixing breadcrumbs for subfolder installs, #2122 2014-11-30 23:38:18 -05:00
Julian Lam
78763834fe closed #2122 2014-11-30 21:15:09 -05:00
Julian Lam
c120f5c2c6 travis CI again 2014-11-30 17:05:00 -05:00
Julian Lam
a0860abaaa no need to set bcrypt_rounds, only used in one place. 2014-11-30 16:49:53 -05:00
Julian Lam
598049e077 travis CI fixes again 2014-11-30 16:48:36 -05:00
Julian Lam
21fe3f2596 hopefully fixing travis CI 2014-11-30 16:30:25 -05:00
barisusakli
62609b2db6 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-30 15:38:43 -05:00
Julian Lam
7f43fd4843 bugfix #1984 2014-11-30 15:36:57 -05:00
barisusakli
1db2a447d7 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-30 15:36:42 -05:00
barisusakli
48ee8c1370 check err in tests 2014-11-30 15:36:17 -05:00
barisusakli
7f81a0b0ad Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-30 12:53:37 -05:00
barisusakli
51c520f888 closes #2480 2014-11-30 12:52:16 -05:00
barisusakli
3b8e31c31f Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-30 02:02:48 -05:00
barisusakli
f531a5362d #2254 proper fix 2014-11-30 02:02:32 -05:00
barisusakli
1723894e5a merge 2014-11-30 01:50:49 -05:00
barisusakli
fb3251c269 removed extra db call #2254 2014-11-30 01:44:46 -05:00
Julian Lam
03b106b03a final pass, #1984 2014-11-29 23:38:36 -05:00
Julian Lam
d430ef3983 second pass, #1984 2014-11-29 22:03:49 -05:00
Julian Lam
d5e473609c first pass, #1984 2014-11-29 21:54:58 -05:00
Julian Lam
dfbac595b6 refactors to sitemap, closed #2254 2014-11-29 21:18:02 -05:00
Julian Lam
9b0ba6c7a4 closed #2384 2014-11-29 20:50:14 -05:00
barisusakli
722d1497c3 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-29 12:35:31 -05:00
barisusakli
083ba12ee0 check err in emailer 2014-11-29 12:35:04 -05:00
barisusakli
142536b659 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-29 12:13:14 -05:00
barisusakli
83ab462ff5 module changes, fixed missing interval 2014-11-29 12:12:02 -05:00
barisusakli
510343b9d5 dont markAsRead for guests 2014-11-29 02:07:19 -05:00
barisusakli
e7a52b615b remove user from users:online on delete 2014-11-28 21:46:50 -05:00
barisusakli
392be78554 fix whitespace 2014-11-28 21:43:44 -05:00
barisusakli
0a2d543186 removed getUserSockets 2014-11-28 21:35:34 -05:00
barisusakli
fa92eb4d5c onDisconnect fix 2014-11-28 21:04:12 -05:00
barisusakli
4913866785 missing semicolon 2014-11-28 20:36:11 -05:00
barisusakli
0c5881b51f update online users regardless of status 2014-11-28 20:31:47 -05:00
barisusakli
17d7916fe9 check if worker exists 2014-11-28 20:00:41 -05:00
barisusakli
cbb3ff26e9 meta room count 2014-11-28 19:41:35 -05:00
barisusakli
1ffa498807 use shortcut 2014-11-28 19:40:47 -05:00
barisusakli
3a172711f4 socket.io index refactor 2014-11-28 19:33:07 -05:00
barisusakli
14a5de6d9d not used 2014-11-28 19:08:02 -05:00
barisusakli
f7c70e2a7a update all socket methods, works on single node 2014-11-28 19:06:07 -05:00
barisusakli
13609edf82 fix reqFromSocket for socket.io 1.x 2014-11-28 17:46:00 -05:00
barisusakli
2c89d50322 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-28 16:00:36 -05:00
barisusakli
f9405c0423 closes #2440 2014-11-28 15:49:16 -05:00
barisusakli
6760ce00cc removed unused msgs 2014-11-28 15:03:33 -05:00
barisusakli
49a73e1665 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-28 14:36:01 -05:00
barisusakli
c213f77f91 merge 2014-11-28 14:35:21 -05:00
Barış Soner Uşaklı
b8845181f6 missing now :( 2014-11-28 14:34:51 -05:00
Barış Soner Uşaklı
4d4f39a44f added missing db 2014-11-28 14:34:21 -05:00
Barış Soner Uşaklı
126f3182fd fix next 2014-11-28 14:30:43 -05:00
barisusakli
5ac5d20e4b users:online refactor 2014-11-28 14:25:11 -05:00
Julian Lam
1ce3c9ca2d no longer logging warnings for socket.io 2014-11-28 13:44:46 -05:00
Julian Lam
7ad242b981 using redis for user online list management if configured 2014-11-28 12:34:19 -05:00
Julian Lam
e952a873a8 moving onlineUsers from an in-memory variable to a sorted set 2014-11-28 11:50:29 -05:00
barisusakli
1abe35092b cluster socket.io fixes
close proxy server on loader.stop
changed handles to object
2014-11-27 15:36:05 -05:00
barisusakli
785790c414 moved handle close to fork worker 2014-11-27 14:09:01 -05:00
barisusakli
5521e6143f Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-26 22:31:14 -05:00
barisusakli
033e078aeb closes #2436 2014-11-26 22:30:21 -05:00
barisusakli
0674258793 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-26 22:11:31 -05:00
barisusakli
c12d90ddfb closes #2457 2014-11-26 22:10:38 -05:00
Julian Lam
8de2d1f58d closed #2459 2014-11-26 21:30:24 -05:00
barisusakli
2ecfcc582f Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-26 17:31:26 -05:00
barisusakli
d1fcb50c7d cluster sticky session 2014-11-26 17:24:49 -05:00
Julian Lam
b7c4647e9a added Bengali language to repo, তোমাকে ধন্যবাদ! 2014-11-26 13:37:12 -05:00
Julian Lam
8ca6d51d8d latest translations 2014-11-26 13:35:07 -05:00
Julian Lam
e97d5b2e0e closed #2456 2014-11-26 13:31:03 -05:00
Julian Lam
23b14b3443 moving nearly all startup messages to verbose type 2014-11-26 13:28:10 -05:00
barisusakli
99e0a02b4c Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-25 23:21:36 -05:00
barisusakli
ab2580cc5f fix human readable post count in topics 2014-11-25 23:20:29 -05:00
barisusakli
b6bd955131 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-25 23:09:28 -05:00
barisusakli
51436fd2d9 check privs on composer.push 2014-11-25 23:08:28 -05:00
barisusakli
4bed05a622 disable stuff that crashes in socket.io 1.x 2014-11-25 15:18:33 -05:00
barisusakli
396dffd60f Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-25 11:53:07 -05:00
barisusakli
916f1c7ce1 fix debug path on relative path install 2014-11-25 11:35:10 -05:00
barisusakli
08b0462695 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-24 22:05:34 -05:00
barisusakli
a69eafd9f7 added postcount to topic 2014-11-24 21:45:18 -05:00
psychobunny
0202666ed0 taking a break with an almost completely pointless commit 2014-11-24 20:09:23 -05:00
barisusakli
7cbaa90d36 update to socket.io 1.2.1, return_buffers option 2014-11-24 13:44:59 -05:00
barisusakli
04175c92d9 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-24 13:29:23 -05:00
barisusakli
80d7ae597b closes #2451 2014-11-24 13:28:48 -05:00
Julian Lam
a31525c79f Skipping digest sending if no notifs and no new topics, #2455 2014-11-24 13:22:10 -05:00
Julian Lam
1b526026a0 closed #2442 2014-11-24 12:48:21 -05:00
Julian Lam
1c21ca78dc preventing ctrl-f hijacking if no search plugin is installed 2014-11-24 12:38:44 -05:00
Julian Lam
fa39b5e46b closed #2446 2014-11-24 12:20:28 -05:00
Julian Lam
f5fce863f9 plugin warnings for v0.5.4+ when installing plugins with no suggested version, #2438 2014-11-23 17:02:25 -05:00
Julian Lam
ba9a5ad7d7 fixed #2448 2014-11-23 15:53:42 -05:00
barisusakli
6b23977a46 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-23 00:32:58 -05:00
barisusakli
7daf3a34a7 removed slice 2014-11-23 00:32:31 -05:00
barisusakli
1ea295ed1b #2449 2014-11-23 00:31:37 -05:00
barisusakli
e1758e0c36 closes #2449 2014-11-23 00:30:19 -05:00
barisusakli
9ea10ba8ec Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-21 12:28:39 -05:00
Barış Soner Uşaklı
bea1d053b4 closes #2443, closes #2445 2014-11-21 12:28:25 -05:00
barisusakli
552c56f3d1 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-21 11:44:35 -05:00
Barış Soner Uşaklı
2086ddf386 closes #2444 2014-11-21 11:44:06 -05:00
Julian Lam
354268bccd latest translations for french 2014-11-21 09:05:44 -05:00
barisusakli
fba0e95aeb Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-20 19:25:07 -05:00
Barış Soner Uşaklı
6581c90475 forgot one 2014-11-20 19:24:23 -05:00
barisusakli
7e6f29e007 Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-20 19:15:39 -05:00
Barış Soner Uşaklı
7b14716eb8 use data.url 2014-11-20 19:15:10 -05:00
barisusakli
702b1554fb Merge remote-tracking branch 'origin/master' into socket.io1.x 2014-11-20 19:02:47 -05:00
barisusakli
73fb653ddf emit works 2014-11-20 19:02:29 -05:00
psychobunny
c905f96108 closes #2412 2014-11-20 17:50:09 -05:00
Julian Lam
0b58e2fea3 minor tweaks to in-topic searching UI, #2442 2014-11-20 17:02:09 -05:00
barisusakli
82d863b9c8 deps, disabled all server side calls 2014-11-20 16:51:11 -05:00
Julian Lam
259f0f96f1 Merge pull request #2433 from bendem/patch-1
Fix nodeBB address in a few places
2014-11-20 16:38:36 -05:00
barisusakli
347e37a224 show warning and errors for socket.io also show info in dev 2014-11-20 15:53:23 -05:00
psychobunny
8d8731c609 closes #2436 2014-11-20 13:41:09 -05:00
psychobunny
35be69d6cd closes #2439 2014-11-20 13:22:45 -05:00
Julian Lam
3ad509b93a fixed #2434 2014-11-20 13:22:27 -05:00
barisusakli
fdf06c0500 fix upgrade script #2435 2014-11-20 12:42:55 -05:00
Julian Lam
fe7726d249 fixed #2431 2014-11-20 10:30:53 -05:00
bendem
0f4fcd8e0b fix nodeBB adresses 2014-11-20 12:08:53 +01:00
barisusakli
9cd352c49a removed extra space 2014-11-20 00:10:08 -05:00
barisusakli
d177481f94 chop chop 2014-11-19 23:37:55 -05:00
barisusakli
6012223b81 show message name, fix template name overwrite 2014-11-19 22:41:16 -05:00
psychobunny
9eb8924bf2 cleanup 2014-11-19 17:48:43 -05:00
barisusakli
9c1216eb63 closes #2432 2014-11-19 15:55:01 -05:00
barisusakli
d5453efdac added current template name to return 2014-11-19 14:14:35 -05:00
barisusakli
15c2b124e3 recent replies needs stripTags true
changed [self] to _
2014-11-19 14:13:00 -05:00
Julian Lam
6eef866320 closed #2429 2014-11-19 12:19:08 -05:00
Julian Lam
067d1ae404 adding client-side hook whenever composer renders a preview 2014-11-19 11:56:03 -05:00
barisusakli
21459fff84 use getPostsFromSet for recent replies 2014-11-19 11:02:28 -05:00
barisusakli
04afe7dc4b closes #2425 2014-11-19 10:38:47 -05:00
Julian Lam
e0fba796c7 Merge pull request #2426 from Schamper/image-upload-socket-fix
Fix the hook return object in the User.uploadProfileImageFromUrl socket
2014-11-19 08:29:17 -05:00
Julian Lam
7183187be8 latest translations 2014-11-19 08:20:10 -05:00
MrWaffle
969c3a77cf Fix the hook return object in the User.uploadProfileImageFromUrl socket 2014-11-19 13:45:12 +01:00
barisusakli
b919d2ee77 shorther 2014-11-18 23:31:17 -05:00
barisusakli
4be8f3ec75 closes #2316 2014-11-18 23:27:40 -05:00
barisusakli
0bb5971915 disconnect on error too 2014-11-18 23:23:35 -05:00
barisusakli
a445e3f7b1 use send for child process 2014-11-18 22:55:44 -05:00
barisusakli
871cf8a3b7 shorter getTeasers 2014-11-18 22:19:17 -05:00
Julian Lam
5292a47a96 fixed maintenance mode page not working with new CSRF implementation, #2424 2014-11-18 15:51:09 -05:00
barisusakli
b665aeee83 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-11-18 15:50:35 -05:00
barisusakli
81e4bcd358 fix rename to multi 2014-11-18 15:50:32 -05:00
Julian Lam
b06ff89e02 adding missing file, re: #2424 2014-11-18 15:22:26 -05:00
Julian Lam
deac12c540 closed #2424 2014-11-18 14:56:22 -05:00
barisusakli
4f38a33702 fix pagination going to 404 if new post creates a new page 2014-11-18 14:49:48 -05:00
barisusakli
10680d47b0 postCount only used once 2014-11-18 14:34:21 -05:00
barisusakli
d0bc5ec9c7 client/topics.js refactor
ability to dismiss all flags
2014-11-18 14:33:14 -05:00
barisusakli
78033dbf5c handled in events.js 2014-11-18 00:12:43 -05:00
barisusakli
d7c367ae91 moved new notification to events.js 2014-11-18 00:10:42 -05:00
barisusakli
7f5984d1fd removed dupe code 2014-11-17 23:57:31 -05:00
barisusakli
c974256600 missing radix 2014-11-17 23:41:45 -05:00
barisusakli
671ec8532c fix unfavourite 2014-11-17 23:32:39 -05:00
barisusakli
47c1092842 moved registerLoader/refresh to top 2014-11-17 23:12:45 -05:00
barisusakli
776fb29dce removed preloader leftovers 2014-11-17 23:08:50 -05:00
barisusakli
3d93a76508 removed command param made unvote wrapper 2014-11-17 21:45:52 -05:00
psychobunny
8c98f47688 action:post.upvote / action:post.downvote now sends current status; new: action:post.unvote 2014-11-17 19:24:41 -05:00
Julian Lam
0d6be40238 fixed #2406 2014-11-17 14:47:51 -05:00
barisusakli
14ba1ff8c0 closes #2352 2014-11-17 14:22:29 -05:00
Julian Lam
ae1528dc7e closed #2407 2014-11-17 14:07:34 -05:00
Julian Lam
2d79169855 latest fallbacks 2014-11-17 14:01:07 -05:00
Julian Lam
d51683f62e closed #2421 2014-11-17 13:37:13 -05:00
Julian Lam
2e2995d3bd updating dailyDigestFreq to 'day' instead of 'daily' 2014-11-17 13:37:13 -05:00
Julian Lam
c7396f58cd verbose logging for email 2014-11-17 13:37:13 -05:00
barisusakli
ee3b0c93c3 fix tag update
was hanging on tag remove, and wasnt updating if tag count didnt change
2014-11-17 13:37:00 -05:00
barisusakli
0864480433 forgot return 2014-11-17 12:45:30 -05:00
barisusakli
cb8ce066c8 give guests find read access on category creation 2014-11-17 12:39:07 -05:00
barisusakli
8b573bff39 send 10 topics in digest not 11 2014-11-17 12:32:29 -05:00
barisusakli
9791dfb9ea closes #2420 2014-11-17 12:21:51 -05:00
Julian Lam
23485fcbf3 missed one invocation of old LESS library, #2419 2014-11-17 11:31:11 -05:00
Julian Lam
207bfa8960 closed #2419 2014-11-17 11:26:03 -05:00
barisusakli
0a1fa72bd8 use loadMoreFromSet 2014-11-16 18:31:57 -05:00
barisusakli
32e08ba419 closes #2070 2014-11-16 17:29:45 -05:00
barisusakli
807d4b7e2e update template.js dep 2014-11-16 16:51:14 -05:00
barisusakli
114d0506e1 fixed typo 2014-11-16 16:46:40 -05:00
barisusakli
f0797493ee make sure sockets leave the current room when entering another 2014-11-16 16:37:31 -05:00
barisusakli
8e114c2093 moved isAdminOrMod check out of getTopicsByTids 2014-11-16 16:15:49 -05:00
barisusakli
a75727bbbd duh 2014-11-16 01:56:42 -05:00
barisusakli
653850661e topics.getTopics doesnt take set param 2014-11-16 01:33:11 -05:00
barisusakli
79265b9e83 removed dupe code 2014-11-16 00:58:02 -05:00
barisusakli
c1b61522f7 check if topic is deleted 2014-11-16 00:09:43 -05:00
barisusakli
c458a7f7b2 missing nconf require 2014-11-16 00:01:20 -05:00
barisusakli
9852809c2c cleanup 2014-11-15 23:54:34 -05:00
barisusakli
1d2d69fa45 use helpers, redis crash fix 2014-11-15 23:44:34 -05:00
barisusakli
556e7066e8 moved notFound notAllowed to helpers 2014-11-15 23:22:57 -05:00
barisusakli
f8cfd82667 less code in uploadimage 2014-11-15 22:50:05 -05:00
barisusakli
0a44d3f5e0 moved updateCategoryField out, db.delete only sends back err 2014-11-15 22:41:45 -05:00
barisusakli
d485b65b67 call next 2014-11-15 21:52:05 -05:00
barisusakli
9ab74b0a61 added ability to take heap snapshots 2014-11-15 19:09:44 -05:00
barisusakli
7825b8b951 closes #2416 2014-11-15 16:12:06 -05:00
psychobunny
2a88e08977 and one last derp 2014-11-15 14:57:32 -05:00
psychobunny
556d817cc5 forgot to return 2014-11-15 14:56:34 -05:00
psychobunny
458ee7cca8 acute ocd attack 2014-11-15 14:56:04 -05:00
psychobunny
bfaeee2531 linting 2014-11-15 14:48:23 -05:00
psychobunny
b511bc37fb don't initialize taskbar until dom is ready 2014-11-15 14:47:31 -05:00
barisusakli
9d56f50967 voters info 2014-11-15 12:37:22 -05:00
barisusakli
8330a6e6d9 added plugin reset info as well #2415 2014-11-14 22:18:24 -05:00
barisusakli
76933f4c37 closes #2415 2014-11-14 22:14:55 -05:00
barisusakli
30d7f3351b cid isnt always present 2014-11-14 22:07:24 -05:00
Barış Soner Uşaklı
36ac6f849f Merge pull request #2397 from joe1chen/bug-fix-topic-search
Bug fix - Topic search broken due to encodeURIComponent being called too early
2014-11-14 21:51:39 -05:00
barisusakli
02fb81901d moved posts related stuff to user/posts.js 2014-11-14 21:47:24 -05:00
barisusakli
d9a071d710 removed unused code from category and topic controller 2014-11-14 21:16:35 -05:00
barisusakli
cd05a123ab check cids 2014-11-14 20:43:52 -05:00
barisusakli
52c12fa1b1 use wrapper functions getPostsFields and getTopicsFields 2014-11-14 20:19:14 -05:00
Julian Lam
9a606246a9 more fallbacks 2014-11-14 20:02:04 -05:00
Julian Lam
d0770bcb95 latest translations and fallbacks 2014-11-14 20:00:07 -05:00
barisusakli
6b13a84d2f removed extra priv checks
-removed category check from recentreplies since pids are already
checked
-removed category check from topics/unread.js since topics are filtered
now
-added array checks to src/topics.js
2014-11-14 19:52:25 -05:00
barisusakli
5c7487c13b err check 2014-11-14 19:38:51 -05:00
barisusakli
283ac1578f fix null datetime error 2014-11-14 18:33:10 -05:00
barisusakli
f3309e3dd4 renamed to local registration
closes https://github.com/NodeBB/nodebb-theme-vanilla/issues/36
2014-11-14 18:11:21 -05:00
barisusakli
545dbbf0df check err and tids 2014-11-14 18:03:19 -05:00
Julian Lam
b65d518a97 properly handling error for hook filter:privileges.posts.filter 2014-11-14 17:53:20 -05:00
Julian Lam
9debfd94ec removed the hook I just added: filter:category.recent, was a bit misleading. 2014-11-14 17:42:33 -05:00
Julian Lam
20ea40133b added four new hooks: filter:categories.recent, filter:privileges.categories.get, filter:privileges.posts.filter, filter:privileges.topics.filter 2014-11-14 17:31:44 -05:00
psychobunny
b480bff3fd moved taskbar markup out of JS and into modules/taskbar.tpl 2014-11-14 17:15:57 -05:00
barisusakli
cd19bf156c update bcryptjs and validator 2014-11-14 17:14:44 -05:00
barisusakli
6ce1415cd4 update db search version 2014-11-14 17:13:18 -05:00
barisusakli
9ff35a18f2 closes #2261 2014-11-14 17:03:13 -05:00
psychobunny
1e453140d9 adding uid to filter:category.topics.get 2014-11-14 16:34:34 -05:00
psychobunny
abe887f557 filter:category.topics.get 2014-11-14 16:29:59 -05:00
psychobunny
c988f54243 renaming filter:category.topics.get to filter:category.topics.prepare 2014-11-14 16:28:59 -05:00
barisusakli
485827db84 check count before privileges 2014-11-14 16:22:05 -05:00
barisusakli
6a3a3669d2 check privs on getRecentReplies and getRecentTopicReplies 2014-11-14 16:20:40 -05:00
psychobunny
c7ca2e2573 fixing time derp if minutes are singular 2014-11-14 16:16:06 -05:00
barisusakli
b4daae9b23 closes #2307 2014-11-14 16:02:35 -05:00
psychobunny
3aa18ebb12 no need to inform attempt to listen to address 2014-11-14 15:40:08 -05:00
barisusakli
5c3af6f549 removed webserver.init 2014-11-14 15:31:45 -05:00
barisusakli
363057cf49 closes #2390 2014-11-14 15:19:26 -05:00
barisusakli
d1b457b066 check err 2014-11-14 14:09:29 -05:00
barisusakli
519b1b7e37 closes #2377 2014-11-14 13:36:37 -05:00
barisusakli
a1624013f8 closes #2400 2014-11-14 12:17:28 -05:00
Julian Lam
95e3c6f8a4 Merge pull request #2410 from joe1chen/add-topics-loaded-event
Add topics.loaded event to be triggered when new topics are loaded by infinite scroll.
2014-11-14 12:13:59 -05:00
barisusakli
05a4737e84 closes #2409 2014-11-14 11:32:56 -05:00
Joseph Chen
4f03e74b99 Add topics.loaded event to be triggered when new topics are loaded by infinite scroll. 2014-11-14 06:24:38 -08:00
barisusakli
61863a69fe sendfile is deprecated 2014-11-13 17:04:08 -05:00
psychobunny
2990b33dc6 linting 2014-11-13 16:47:38 -05:00
barisusakli
d9d44aee2b #2334 2014-11-13 16:33:03 -05:00
barisusakli
c24e451c12 closes #2401 2014-11-13 16:03:11 -05:00
barisusakli
181e2b4132 check err 2014-11-13 15:49:43 -05:00
barisusakli
e6973b55d4 closes #1990 2014-11-13 15:47:25 -05:00
barisusakli
962d14746e trim tag after substr
this prevents spaces in the middle of the tag from being added to the db
2014-11-13 15:02:20 -05:00
barisusakli
a45858dacd previous commit doesnt show unusud tags in admin 2014-11-13 14:36:44 -05:00
barisusakli
68e8039ac7 closes #2379
also fixed a bug where tags with 0 topics were showing up in /tags
2014-11-13 14:29:48 -05:00
psychobunny
45affa3043 closes #2399 2014-11-13 14:04:29 -05:00
psychobunny
a8402b228c updating winston timestamp 2014-11-13 13:52:52 -05:00
barisusakli
b3544f644a relative path upload fixes #2403 2014-11-13 13:00:36 -05:00
barisusakli
7f5617bc74 closes #2402 2014-11-13 11:44:26 -05:00
barisusakli
14fdb9ebee reverted 2014-11-13 11:37:42 -05:00
barisusakli
6809af536c removed winston log in plugin fireHook 2014-11-13 11:31:30 -05:00
barisusakli
4c7a4d3688 fix topicIndex, 2014-11-12 18:00:34 -05:00
barisusakli
05f33df098 manage/groups.js 2014-11-12 16:56:11 -05:00
barisusakli
bd388f727c src/favourites.js 2014-11-12 16:40:06 -05:00
barisusakli
9a16a359a8 auth refactor 2014-11-12 16:15:44 -05:00
barisusakli
fc0dce429b topic.reply checks with invalid parameters 2014-11-12 15:06:55 -05:00
barisusakli
834ca016ec topics.reply test 2014-11-12 14:34:06 -05:00
Julian Lam
c0fc7e9ca4 updating privilege handling to fire two new hooks, filter:privileges.topics.get and filter:category.topics.get 2014-11-12 14:33:25 -05:00
barisusakli
eada3daf9f fixed recent and unread 2014-11-12 14:11:04 -05:00
Julian Lam
6ea10aa7e3 ensuring that the filter:category.get hook always sends data in the same format 2014-11-12 11:07:11 -05:00
Julian Lam
7e35987e1b fixing regression for #2355, introduced in a129075 2014-11-12 10:58:46 -05:00
Julian Lam
c2467de9c2 added Greek language to NodeBB, Γεια σας και καλώς ήρθατε! 2014-11-12 08:29:08 -05:00
Julian Lam
872dd679e2 latest translations and fallbacks 2014-11-12 08:29:08 -05:00
Joseph Chen
f02fd88eaf Bug fix - Topic search broken due to encodeURIComponent being called too early. 2014-11-11 22:51:16 -08:00
barisusakli
964d531582 fix test really 2014-11-12 01:22:50 -05:00
barisusakli
385e034a23 fix tests 2014-11-12 01:19:40 -05:00
barisusakli
7a51520074 #2393 2014-11-12 00:24:25 -05:00
barisusakli
4e23fe7c3a more topic post tests 2014-11-11 23:12:37 -05:00
barisusakli
3029b19be6 fix test 2014-11-11 23:03:20 -05:00
barisusakli
15e472db12 on category creation give defaults privs to admins and registered users 2014-11-11 22:58:34 -05:00
barisusakli
2579d2535d closes #2396 2014-11-11 20:10:51 -05:00
barisusakli
fa5ac04cd3 src/topics.js cleanup 2014-11-11 19:47:56 -05:00
barisusakli
c9f990bb72 derp 2014-11-11 19:22:54 -05:00
barisusakli
7225c0d45b finish up posts refactor 2014-11-11 18:55:49 -05:00
Julian Lam
54ee8e59f6 showing proper time for newbie post delay 2014-11-11 18:38:31 -05:00
barisusakli
d2cddc734b fix flagging and post filter
cant flag posts that don't exist anymore
2014-11-11 18:34:29 -05:00
barisusakli
11dc477dde posts/categories.js 2014-11-11 18:22:50 -05:00
barisusakli
e593c8e6b1 setFields makes more sense 2014-11-11 18:14:45 -05:00
barisusakli
fa95012fa3 action:set,postField 2014-11-11 18:13:15 -05:00
barisusakli
1413478a68 ill get it right this year 2014-11-11 18:08:50 -05:00
barisusakli
003535b3ab filter:post.getFields again 2014-11-11 18:08:03 -05:00
barisusakli
383fa4d0ea filter:post.getFields change 2014-11-11 18:05:42 -05:00
barisusakli
604dac88e3 closes #2382, closes #2130 2014-11-11 17:25:16 -05:00
psychobunny
70b5c631c6 if dev, compile view scripts only; let rjs dynamically load module scripts
fixes a bug introduced @ 11c83079f2
2014-11-11 13:53:32 -05:00
psychobunny
9726e599e4 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-11-11 13:30:59 -05:00
psychobunny
1b9297fa31 until now, this variable was never false... so I'm just removing it
@julianlam just in case
2014-11-11 13:30:55 -05:00
psychobunny
02b6a7893a in dev mode, concatenate scripts instead of minifying
faster reboot & restores sanity to those trying to debug browser
specific issues on IE and FF. not that you have much sanity to begin
with if it's an IE bug...
2014-11-11 13:30:16 -05:00
Julian Lam
286d14f614 allowing use of winston.verbose now 2014-11-11 13:18:46 -05:00
psychobunny
11c83079f2 if env is dev, don't re-compile rjs files
faster reboot & easier to debug on browsers that don't support
sourcemaps
2014-11-11 13:12:09 -05:00
psychobunny
8de978fbcf lmao, wtf?
my brain just exploded trying to figure out what this is doing here
2014-11-11 13:07:54 -05:00
psychobunny
d5d686b701 Merge pull request #2392 from a5mith/patch-3
ACP Text Colour
2014-11-11 12:13:50 -05:00
Aaron Smith
f2b0068b32 ACP Text Colour
Replaces my other commit.
2014-11-11 17:05:36 +00:00
psychobunny
db157da3fb fixes potential IE8 crash (both toISOString and console.log don't exist)
not that client-side calls this anyways
2014-11-11 11:44:49 -05:00
psychobunny
0580773331 random console.log 2014-11-11 11:38:29 -05:00
psychobunny
d69054804e closes #2391 2014-11-11 11:37:32 -05:00
Julian Lam
73dea4fc4e upvote and favourites notif fixing 2014-11-11 09:41:28 -05:00
Julian Lam
f9f1cf63cf fixing topic deletion and purging 2014-11-10 16:52:45 -05:00
Julian Lam
5281c8c376 Merge pull request #2381 from akhoury/patch-3
could you explicitly specify the last 4 rules?
2014-11-10 14:13:29 -05:00
Aziz Khoury
535529923c why leave json files out? 2014-11-10 13:26:07 -05:00
Aziz Khoury
a17ecefd20 could you explicitly specify the last 4 rules?
I put in some values in there, as placeholders, feel free to change them, and I will follow
so we can have a standard, and developers can choose to have the same across plugins as well
2014-11-10 13:16:48 -05:00
Julian Lam
c7e731f4c4 Merge branch 'master' of github.com:NodeBB/NodeBB 2014-11-10 12:42:56 -05:00
Julian Lam
b2625a1bf0 upping spam-be-gone minver 2014-11-10 12:42:44 -05:00
psychobunny
91103fb09e updating widget-essentials to 0.2.0 ** 2014-11-10 12:02:03 -05:00
psychobunny
121fb88008 updating widget-essentials to 0.1.2 2014-11-10 11:53:08 -05:00
psychobunny
aa6137b9c3 fixed potential XSS in registration form 2014-11-10 11:46:15 -05:00
barisusakli
c18de5cdd2 posts/recent.js refactor 2014-11-09 01:30:27 -05:00
barisusakli
ef35b83806 use getPostsFields 2014-11-09 01:24:12 -05:00
barisusakli
263f479b20 posts.js refactor pt1 2014-11-09 01:12:24 -05:00
barisusakli
39def60f9b return empty array 2014-11-09 00:45:18 -05:00
barisusakli
420aa5e102 fix moderators 2014-11-09 00:33:26 -05:00
barisusakli
8294aec5e7 fixed indent 2014-11-09 00:01:46 -05:00
barisusakli
8fdc03eaad categories.js refactor 2014-11-08 23:54:21 -05:00
barisusakli
daebc322eb meh 2014-11-08 23:36:38 -05:00
barisusakli
7823416410 err check, assignPostsToCategory is sync 2014-11-08 23:22:10 -05:00
barisusakli
af4cbfb20d closes #2368 2014-11-08 18:40:38 -05:00
barisusakli
d2735c8558 closes #2370 2014-11-08 17:38:03 -05:00
barisusakli
3f12d363f7 plugins fireHook refactor
(drunk)
2014-11-08 17:12:38 -05:00
barisusakli
e93b2b6aa1 removed action:app.load 2014-11-08 16:15:24 -05:00
barisusakli
41ae8b61a7 static:app.load change closes #1527 2014-11-08 15:20:56 -05:00
barisusakli
220c82a8f2 filter:register.complete change #1527 2014-11-08 15:01:56 -05:00
barisusakli
76c16c0383 filter:register.check change #1527 2014-11-08 14:57:04 -05:00
barisusakli
166f353aaa filter:register.build change #1527 2014-11-08 14:51:05 -05:00
barisusakli
8be9e6d413 action:user.verify change #1527 2014-11-08 14:41:49 -05:00
barisusakli
9363741231 action:user.set change #1527 2014-11-08 14:38:56 -05:00
barisusakli
2e1a098cfa fix multi selection if category has sub categories 2014-11-08 14:35:51 -05:00
barisusakli
db979d7a20 filter:category.get change #1527 2014-11-08 14:21:58 -05:00
Julian Lam
f3ea8d1cff closed #2367 2014-11-08 10:22:31 -05:00
Julian Lam
74630b3a79 closed #2360 2014-11-08 10:20:40 -05:00
barisusakli
c56b9aafff closes #2289, replace Infinity with '+inf' 2014-11-07 19:40:41 -05:00
barisusakli
dcba272dc5 fix not validated messages on manage/users on IS 2014-11-07 19:25:57 -05:00
barisusakli
5f8781c88e 1 less db call in togglePin 2014-11-07 19:15:26 -05:00
barisusakli
467fb1ab4a dont deselect on delete/purge closes #2352 2014-11-07 18:48:57 -05:00
Julian Lam
93f414892b closed #2361 2014-11-07 18:38:03 -05:00
Julian Lam
e0436d73c3 #2361 2014-11-07 18:22:27 -05:00
barisusakli
c95f151bfc closes #2364
dont crash if icon is not found
2014-11-07 18:13:08 -05:00
barisusakli
69ed00fc14 added mainPid to topic restore/edit hooks 2014-11-07 17:50:16 -05:00
barisusakli
642136f6f8 closes #2357 2014-11-07 17:46:03 -05:00
barisusakli
b60ed95d20 Merge remote-tracking branch 'origin/master' 2014-11-07 17:15:06 -05:00
barisusakli
1ae39d638a closes #2356 2014-11-07 17:15:01 -05:00
Julian Lam
f0b104fef0 possible fix to #2365 2014-11-07 17:05:25 -05:00
psychobunny
d77bd638c4 don't re-enable selectable on elements that were already enabled #2336 2014-11-07 16:16:32 -05:00
psychobunny
6ae5b09a01 closes #2336 2014-11-07 16:09:47 -05:00
Julian Lam
52285239e9 fixed client-side so semver doesn't explode when nbbpm returns 'latest', fixed tests so they pass again, #2363 2014-11-07 15:04:07 -05:00
Julian Lam
19297e2d22 plugin installation takes a version now, and queries nbbpm, #2363
better error handling for #2363

upgrades now also call the suggestion route from nbbpm

upgrade button will show alert now if you try to upgrade past the suggested version, #2363
2014-11-07 14:45:40 -05:00
Julian Lam
0f66077bf5 fixed issue where purged posts would cause the upgrader to fail, closed #2359 2014-11-07 10:50:25 -05:00
Barış Soner Uşaklı
b6ee472276 Merge pull request #2358 from joe1chen/0.6.x-fix-file-upload
Bug fix - File upload broken due to api changes in 0.6.x.
2014-11-06 22:08:24 -05:00
Joseph Chen
cd41df5677 Pass in req.user.uid into uploadFile 2014-11-06 19:03:53 -08:00
Joseph Chen
a1e54fda23 Bug fix - File upload broken due to api changes in 0.6.x. 2014-11-06 17:33:58 -08:00
Julian Lam
11c9b74faf upgrade script for #2355, closes #2355 2014-11-06 18:58:00 -05:00
Julian Lam
a12907512f refactored a bunch of methods so that you can pass in an author argument in querystring to see posts by just that author, #2355 2014-11-06 18:57:52 -05:00
barisusakli
3272ca34ee 0.6.0 cleanup 2014-11-06 17:33:10 -05:00
barisusakli
4440260f8f closes #2275 2014-11-06 17:06:58 -05:00
barisusakli
1004fb2822 closes #2354 2014-11-06 16:29:14 -05:00
barisusakli
72bb74cf46 canMessage 2014-11-06 12:57:59 -05:00
psychobunny
fa2f03aeca closes #2339 2014-11-06 00:53:18 -05:00
psychobunny
2e4198b8f1 removing unnecessary markup 2014-11-06 00:53:17 -05:00
barisusakli
f3d485bd58 filter:user.account 2014-11-06 00:29:06 -05:00
barisusakli
719290cd2b dont display email/fullname if they are private 2014-11-05 23:58:49 -05:00
Julian Lam
97633fe01e updating markdown and mentions minvers 2014-11-05 23:46:05 -05:00
psychobunny
6452596312 if sigs are disabled, actually disable them 2014-11-05 23:32:57 -05:00
barisusakli
9e1789dc58 closes #2297 2014-11-05 20:41:31 -05:00
barisusakli
39b679705b closes #2248 2014-11-05 19:29:45 -05:00
barisusakli
595ff1f4b1 closes #2303
see
https://community.nodebb.org/topic/3039/filter-post-parse-and-filter-post-parsesignature-changes
2014-11-05 18:59:20 -05:00
barisusakli
a6e498bb5d error check 2014-11-05 16:48:12 -05:00
Barış Soner Uşaklı
b89b960f86 Merge pull request #2328 from dwendt/master
Made hiding widgets for guests/registered sensible.
2014-11-05 16:44:54 -05:00
barisusakli
608943255b better check 2014-11-05 16:42:32 -05:00
barisusakli
ec0624918f possible fix for #2351 2014-11-05 13:35:15 -05:00
barisusakli
e5cc45a95b if category is not found return
if cid is a child category it wont be on home
2014-11-04 23:55:42 -05:00
barisusakli
70657251b9 no need for return 2014-11-04 23:30:11 -05:00
Julian Lam
44175188c4 handling case where user does not satisfy any of the privilege thresholds given to the hasEnoughReputationFor method 2014-11-04 23:19:28 -05:00
barisusakli
06f66337fb anon checks
less db calls for uid 0
2014-11-04 19:06:01 -05:00
Julian Lam
0a38a783c7 TravisCI is TOO DAMN FAST 2014-11-04 18:59:26 -05:00
Julian Lam
8e0e2a04be restored the toolbar on mobile composer, #2293 2014-11-04 18:54:48 -05:00
barisusakli
37d7756271 hasEnoughRep can take an array
user follow uid checks
2014-11-04 18:44:08 -05:00
Julian Lam
9a8fa35d8d flushing db after every test group that touches the db 2014-11-04 18:39:25 -05:00
Julian Lam
4125a087b5 closed #2349, removed use of deprecated -d flag in executable 2014-11-04 18:33:20 -05:00
Julian Lam
783481e644 Support for reloading nodebb via the nodebb executable 2014-11-04 18:33:20 -05:00
barisusakli
df4b555717 less db calls
no db call for settings if uid 0
no db call for isFollowing if uid 0
2014-11-04 18:31:21 -05:00
barisusakli
b7dcc29638 log error path as well 2014-11-04 18:06:11 -05:00
barisusakli
cdfaa941b1 error checks missing return 2014-11-04 17:57:31 -05:00
barisusakli
04c83dbdcc update deprecated sendfile 2014-11-04 17:34:05 -05:00
Julian Lam
dfc7c7aa7f #2350 :shipit: 2014-11-04 17:28:24 -05:00
Julian Lam
0e9fdc9a09 fixed #2350 -- chat modal now opens, but input is disabled 2014-11-04 17:23:39 -05:00
barisusakli
e09328c74d #2346
dont bring modal to front if u receive a message
2014-11-04 17:03:31 -05:00
barisusakli
38874345b7 closes #2346 2014-11-04 16:49:02 -05:00
barisusakli
e769ebe668 closes #2347 2014-11-04 15:56:33 -05:00
barisusakli
dd135b875b #2347
dont show flag on deleted posts
dont allow flag on deleted posts
dont allow upvote downvote favourite on deleted posts
2014-11-04 15:19:30 -05:00
barisusakli
268ecd5157 single call to get slug and postcount 2014-11-04 14:54:30 -05:00
barisusakli
f21b313848 reload/restart notices side by side 2014-11-04 13:55:20 -05:00
Julian Lam
ac2cc8cae6 updating development versioning for master branch 2014-11-03 16:48:45 -05:00
barisusakli
5f3f4ef74e closes #2266 2014-11-03 15:37:25 -05:00
barisusakli
d492339841 closes #2315 2014-11-03 15:31:41 -05:00
barisusakli
7bfc36ff56 dont call isAdmin if not logged in 2014-11-03 15:09:24 -05:00
barisusakli
209edf182f 404 pages that are out of range 2014-11-01 17:55:42 -04:00
Barış Soner Uşaklı
80d04e2de5 Merge pull request #2343 from datagutt/patch-1
Update translator mapping for norwegian
2014-11-01 17:46:24 -04:00
barisusakli
9440f8f8cd #2344 2014-11-01 17:32:56 -04:00
barisusakli
84b7a2c92d checks in socket.io/user
reset doesnt need socket
2014-11-01 16:55:50 -04:00
barisusakli
8e84e47578 if a user is deleted remove from banned sorted set as well 2014-11-01 15:11:47 -04:00
barisusakli
fd70ba5647 fix titles on ajaxify 2014-11-01 15:08:12 -04:00
Thomas Lekanger
e0975b85df Update translator mapping for norwegian 2014-11-01 18:46:58 +01:00
barisusakli
f83dd956eb check if post exists on up/down vote favourite 2014-10-31 22:27:50 -04:00
barisusakli
fcc42883ab some checks for purge 2014-10-31 22:04:09 -04:00
barisusakli
d43e8beb60 fix acp topic graph disappearing
clear usedColors on ajaxify, once it was filling up the graph was never
updating after ajaxify
2014-10-31 20:30:07 -04:00
barisusakli
56d16d1792 fix topic titles in search results
titles were being escaped twice if two or more posts were from the same
topic
2014-10-31 19:57:32 -04:00
barisusakli
7c7be2e0c1 closes #2337 2014-10-31 19:21:37 -04:00
barisusakli
6353ed57a9 duh fixing my fail from last night 2014-10-31 17:44:06 -04:00
barisusakli
1fe82ee452 added 2 new methods to dbal
getSortedSetRangeWithScores
getSortedSetRangeByScoreWithScores
2014-10-31 17:19:55 -04:00
Julian Lam
c44068db52 latest translations and fallbacks 2014-10-31 17:12:21 -04:00
Julian Lam
a7bc05aeb6 less formal language for #2335 2014-10-31 17:07:32 -04:00
Julian Lam
a7d028e29b bundling spam-be-gone with all nodebb install, ping @akhoury, closes #2332 2014-10-31 14:54:17 -04:00
Julian Lam
ec309333be closed #2335 2014-10-31 13:31:25 -04:00
Julian Lam
de0da80040 Merge branch 'master' of github.com:NodeBB/NodeBB 2014-10-31 13:25:30 -04:00
Julian Lam
b91d39a0d3 almost everything for #2335 2014-10-31 13:22:42 -04:00
heart
c38ca146c7 Made hiding widgets for guests/registered sensible. 2014-10-31 02:10:40 -04:00
psychobunny
0a1b31e6bc small change to gitignore re: logs 2014-10-31 01:56:45 -04:00
barisusakli
fb1095fc28 added allowed true to /chats 2014-10-31 01:50:24 -04:00
psychobunny
de8c1ece14 adding to contributing.md 2014-10-31 00:48:29 -04:00
barisusakli
e97bfc139b #1848 2014-10-30 23:14:33 -04:00
barisusakli
0ede4abe18 possible fix for #1848 2014-10-30 22:47:15 -04:00
barisusakli
0bb0424998 bubble error 2014-10-30 22:19:11 -04:00
barisusakli
e93398b647 use currentTime when someone up/down votes 2014-10-30 19:37:22 -04:00
Julian Lam
61aaff025b adding in 'allowed' to template, re: #2321 2014-10-30 18:05:48 -04:00
barisusakli
b12e3562d5 hide category icons if they are not set 2014-10-30 18:04:49 -04:00
Julian Lam
adfb89a2ad closed #2321 2014-10-30 17:50:27 -04:00
Julian Lam
28f87cc776 added tests for messaging method .canMessage 2014-10-30 17:50:27 -04:00
Julian Lam
a992638ef3 removed level from testmock error msg 2014-10-30 17:50:27 -04:00
barisusakli
41d806f67f removed unused language string 2014-10-30 16:52:09 -04:00
barisusakli
433769eb36 closes #2146
first tab (recent) shows last 50 messages instead of just last 24 hours
2014-10-30 16:51:15 -04:00
barisusakli
121de11400 closes #2323 2014-10-30 14:21:44 -04:00
psychobunny
ca87bc1577 Merge pull request #2320 from lpeachl/patch-1
Update language.json
2014-10-30 09:26:28 -04:00
lpeachl
9b481b23f3 Update language.json 2014-10-30 19:31:20 +07:00
psychobunny
50b264ac7d prevent deleted users belonging to a group from breaking edit functionality 2014-10-29 21:07:46 -04:00
psychobunny
4d4dc344a6 temporary fix until remarkable is updated in markdown plugin
https://github.com/jonschlinkert/remarkable/issues/88#issuecomment-60885589
2014-10-29 21:07:45 -04:00
psychobunny
2c555687e7 removed old copy from when we used to have ubuntu instructions on the main page 2014-10-29 01:55:26 -04:00
barisusakli
189eaf2bea escape output 2014-10-29 00:47:16 -04:00
barisusakli
fbd478812e fail modeon 2014-10-29 00:33:09 -04:00
barisusakli
1b268c94c0 if there is no postData.tid dont notify, ie topic post 2014-10-29 00:10:57 -04:00
barisusakli
cbedc762fd no rooms.enter for anons check tid on topic enter 2014-10-28 23:56:33 -04:00
barisusakli
0fba1e37a7 no need for double trim :P 2014-10-28 18:41:34 -04:00
barisusakli
5be1c17aa7 refactor user.create
dont fire filter:user.create if there userData is invalid
2014-10-28 18:28:26 -04:00
barisusakli
bce96d04c7 forkWorker function, pipe new worker output to log 2014-10-28 16:33:14 -04:00
barisusakli
4c8287251a added stderr piping to output 2014-10-28 16:12:05 -04:00
barisusakli
50a06f9369 log signal as well 2014-10-28 15:48:03 -04:00
barisusakli
f19bc2e2be removed error.log everything will go to output.log 2014-10-28 15:30:52 -04:00
barisusakli
20314991a4 tmp error check 2014-10-28 00:33:58 -04:00
barisusakli
a4533703d4 fix sort by vote insertion 2014-10-28 00:17:28 -04:00
barisusakli
c5ba327d8f fix empty pages 2014-10-27 23:20:40 -04:00
barisusakli
b12476c422 if a post is purged, remove it from flagged posts as well 2014-10-27 21:44:15 -04:00
barisusakli
1bcdae41b8 make images in manage/flags responsive 2014-10-27 21:28:46 -04:00
barisusakli
9e77960ee1 #2308 check if latest is greater by semver 2014-10-27 20:35:03 -04:00
psychobunny
25c7dfbc12 fix crash if socket.handshake is null 2014-10-27 20:23:16 -04:00
barisusakli
3d5e72bbc8 fix null parents 2014-10-27 02:58:20 -04:00
barisusakli
9909f8ba79 more err checks 2014-10-27 01:49:57 -04:00
barisusakli
18462c4190 derp 2014-10-27 00:59:52 -04:00
barisusakli
698d113857 error checks in middleware/admin 2014-10-27 00:54:26 -04:00
barisusakli
eaf89dc316 use parseSignature 2014-10-26 22:02:44 -04:00
barisusakli
a4d671f8b8 fix popular pill selection 2014-10-26 21:44:09 -04:00
barisusakli
238fb0bd4b removed logout log 2014-10-26 21:02:51 -04:00
barisusakli
c74370bfb1 removed recent/day week month
it starts with most recent 20 topics now and goes back instead of
showing empty if there are no new replies in the past 24 hours
2014-10-26 20:26:56 -04:00
barisusakli
c4a39c8163 use processSortedSet instead of getting all users 2014-10-26 20:10:57 -04:00
barisusakli
782896997d post count fix for post move 2014-10-26 19:13:48 -04:00
barisusakli
56947b999e added timestamps to winston logs 2014-10-26 18:46:50 -04:00
barisusakli
d2cc4b8516 possibly fixes 2301 2014-10-26 18:02:40 -04:00
barisusakli
35e2e1462b closes #2295 2014-10-26 17:04:55 -04:00
barisusakli
63cf8d674d listen disconnect event, display unknow socket method name on dev 2014-10-26 14:30:13 -04:00
barisusakli
dfae2ea0d7 fix new topics showing up in all categories on post 2014-10-26 14:26:21 -04:00
barisusakli
699b74603b only for logged in users 2014-10-25 19:22:13 -04:00
barisusakli
4c90c9a759 closes #2291 2014-10-25 19:19:47 -04:00
barisusakli
ca9cc6b32f show latest plugin version for uninstalled plugins as well 2014-10-24 17:47:27 -04:00
barisusakli
081efd22e2 prevent crash if category is not found 2014-10-24 15:35:10 -04:00
barisusakli
a7bb5893e8 fix dupe event listeners on category
only happens if you navigate from category to category
2014-10-24 15:05:37 -04:00
Julian Lam
0a81898810 grammar fix 2014-10-24 00:16:27 -04:00
Julian Lam
a9c528eb23 added instructions for responsible disclosure, and use of git bisect for regression testing, closed #2280 2014-10-24 00:12:18 -04:00
Julian Lam
9215930cfc fixed #2292 2014-10-24 00:01:08 -04:00
barisusakli
6e62c48f41 call package manager
get latest version from versions object
2014-10-23 22:38:28 -04:00
barisusakli
89613d2346 closes #2287 2014-10-23 22:26:52 -04:00
barisusakli
a8760cd2bc only ban once for low rep
also only check on downvotes
2014-10-23 18:05:40 -04:00
barisusakli
c753edab1d fix duplicate event listeners
they were duplicated if you navigated from topic to topic
2014-10-23 16:32:16 -04:00
Julian Lam
ffdc4b5d24 fixed places where site_title was being referenced in config, instead of the correct "title" 2014-10-23 15:47:25 -04:00
Julian Lam
8112ca73c8 reloading on plugin activation click instead of restart 2014-10-23 15:21:44 -04:00
barisusakli
f295083a08 fix upload error messages 2014-10-23 15:01:36 -04:00
barisusakli
802c8b15e2 fix upgrade script to include main post, and fix post indices 2014-10-22 19:33:47 -04:00
barisusakli
9a21e9646f only use multipart on upload routes,
delete temp files if there is an error in admin,
admin/mods should see topic reply
2014-10-22 18:26:01 -04:00
Julian Lam
67770e568f removed some console logging 2014-10-22 17:59:21 -04:00
Julian Lam
b95710b2c9 french typo 2014-10-22 17:50:26 -04:00
Julian Lam
a9a32bff50 latest french translations 2014-10-22 17:46:08 -04:00
barisusakli
c5224d099e parseInt show title 2014-10-22 17:22:47 -04:00
barisusakli
fd00dddd62 admin/mods always gets the reply privs 2014-10-22 16:12:29 -04:00
Julian Lam
aac923fb03 fised #2272 2014-10-22 13:47:05 -04:00
Julian Lam
62d85b0e26 updated installation data to only create four categories by default, and altered colour to be less stark (heh, what does that mean anyway...). Also added an intro post 2014-10-22 13:26:34 -04:00
Julian Lam
8468a84047 latest fallbacks 2014-10-22 12:30:15 -04:00
Julian Lam
07a54b9510 latest translations 2014-10-22 11:54:36 -04:00
Julian Lam
afa86c03c4 fixing language for nb -- closed #2288 2014-10-22 11:30:50 -04:00
barisusakli
ec9bf48477 admins/mods can always read topics 2014-10-21 18:09:32 -04:00
Julian Lam
a28b4bb8b9 fixed maintenance mode assets not being loaded properly 2014-10-21 15:58:30 -04:00
Julian Lam
1a90de7dd6 added new --from-file flag that will load js/css from the precompiled file instead of recompiling it on startup 2014-10-21 15:36:13 -04:00
barisusakli
ebfb953069 responsive images in group page 2014-10-21 15:24:50 -04:00
barisusakli
dcf2691a12 fix indent 2014-10-21 14:42:18 -04:00
Barış Soner Uşaklı
591a8b6b12 Merge pull request #2270 from stevelacy/master
Add user.updateProfile - hook user profile updates
2014-10-21 14:40:45 -04:00
barisusakli
1b80e6dbb2 fix email update on mongo 2014-10-21 14:17:30 -04:00
barisusakli
55a5d56989 fixed view count for guests 2014-10-21 13:59:40 -04:00
barisusakli
3e4b6c97a0 closes #2286 2014-10-21 13:48:50 -04:00
barisusakli
b5fe2c7b91 closes #2255
if user is banned log them out on header render
2014-10-20 16:36:00 -04:00
barisusakli
b23373c265 parseInt maintenance mode 2014-10-20 16:14:31 -04:00
barisusakli
f15631c3e1 topic notification nid doesn't need post id 2014-10-19 18:41:54 -04:00
barisusakli
6dd035a5af prevent crash if topic graph is clicked while not loaded 2014-10-19 18:37:11 -04:00
barisusakli
7de9b998b5 fix typo in ajaxify, closes #2279 2014-10-19 17:11:05 -04:00
barisusakli
3f28dbb1be update ACP every 10 seconds 2014-10-19 16:47:52 -04:00
barisusakli
224218f519 fix missing callback 2014-10-19 16:39:36 -04:00
barisusakli
e9ec225d5b removed isConnected check 2014-10-19 16:13:10 -04:00
barisusakli
4db31be7e3 #2200 actually fix dupe colors, show 10 topics 2014-10-19 15:59:33 -04:00
barisusakli
304f5b1c76 removed duped and empty bodyLong 2014-10-18 17:02:37 -04:00
barisusakli
6802bf7ce9 closes #2284 2014-10-18 16:45:39 -04:00
Steve Lacy
2d238e61ac correct object 2014-10-17 23:15:13 -07:00
Julian Lam
c2fb1eaabf updated master to report 0.5.3-dev 2014-10-18 00:29:20 -04:00
barisusakli
b209fb563e #2218 2014-10-17 23:29:28 -04:00
barisusakli
794d6eb9ab closes #2200 2014-10-17 23:14:17 -04:00
barisusakli
94ffe5d170 closes #2276 2014-10-17 23:04:50 -04:00
barisusakli
02f74ca032 fix browsing users removal 2014-10-17 20:49:16 -04:00
psychobunny
1eb1eb6844 #2278 2014-10-17 19:38:49 -04:00
psychobunny
ded8de905d closes #2278 2014-10-17 19:37:13 -04:00
barisusakli
d2334fbb4a dont search empty string, get 20 tags instead of 10 2014-10-17 19:12:18 -04:00
barisusakli
93d4a7c1f1 fix notifications to actually get recent 2014-10-17 18:51:58 -04:00
barisusakli
6cb5f9c098 emit stats to registered users only 2014-10-17 18:46:17 -04:00
barisusakli
c5e1f8e0aa user onlineUsers instead of calculating from rooms 2014-10-17 18:40:20 -04:00
barisusakli
7bf655541c cleanup and optimize notifications 2014-10-17 18:31:20 -04:00
barisusakli
cfd7edbf34 added nid 2014-10-17 17:23:47 -04:00
barisusakli
24de757549 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-17 17:20:48 -04:00
barisusakli
b5fb7691cd optimize getUnreadByField
only get the most recent 100 notifications
dont call UserNotifications.getNotifications which does alot more work,
call the db directly
2014-10-17 17:20:45 -04:00
Julian Lam
75aa3f1006 updating markdown minimum version to 0.7.x and up 2014-10-17 13:44:47 -04:00
psychobunny
8ef4ad6f14 Revert "reverting #2259 temporarily until we figure out why logs aren't showing up"
This reverts commit 59b3e6f78f.
2014-10-17 01:47:13 -04:00
psychobunny
59b3e6f78f reverting #2259 temporarily until we figure out why logs aren't showing up 2014-10-17 01:43:00 -04:00
barisusakli
3ba4d2aa2b get correct count only from one of the active users elements 2014-10-17 01:11:55 -04:00
barisusakli
fec84821b7 removed this wasn't the problem after all 2014-10-16 20:03:22 -04:00
barisusakli
762b2fff37 display user count in browsing 2014-10-16 18:04:04 -04:00
barisusakli
df590d01e6 set key as well
not sure if this fixes dupe keys
2014-10-16 02:02:16 -04:00
barisusakli
9e8be432b3 notification changes
-only send a notification when the person you follow creates a topic
-you still get a notification per post if you are following a topic
-changed notifications.push so that it sends the notifications over a
period of time, currently to 50 users per second
-optimized topics.notifyFollowers and
user.notifications.sendTopicNotification, they no longer query the
database for the topic and post data instead they get it as params
-you can no longer follow yourself :)
-changed mongo sortedSetRemove so that it doesn't use $in if there is
only a single value to remove
2014-10-15 21:55:31 -04:00
Steve Lacy
d01497dde3 Merge branch 'master' of https://github.com/stevelacy/NodeBB 2014-10-15 16:27:01 -07:00
Steve Lacy
3ff7719cd4 add hook: filter: user.updateProfile 2014-10-15 16:26:40 -07:00
barisusakli
eb546dfaab temp until package manager is in place 2014-10-15 16:26:50 -04:00
barisusakli
834c4f8ff0 log stack 2014-10-15 16:19:27 -04:00
barisusakli
80489c6564 log post purges 2014-10-15 15:57:37 -04:00
barisusakli
90224d2de3 removed unique for now 2014-10-15 15:25:51 -04:00
barisusakli
f2883c2c9f createIndex helper 2014-10-15 15:11:01 -04:00
barisusakli
1be6a253bf make _key value index unique 2014-10-15 15:07:30 -04:00
barisusakli
72a919e416 time based check 2014-10-15 14:49:11 -04:00
barisusakli
f318f2f815 move out update, should work even if post isnt in dom 2014-10-14 23:57:27 -04:00
barisusakli
b3e83d2f9a update post count on purge 2014-10-14 23:41:58 -04:00
barisusakli
8471fcbd79 fixed typo 2014-10-14 23:36:59 -04:00
barisusakli
4b1adba9ec removed || 1 2014-10-14 23:35:32 -04:00
barisusakli
ffbefda5f7 #2265 upgrade script 2014-10-14 23:35:11 -04:00
barisusakli
761f56aeb1 removed most of the db.sortedSetCards 2014-10-14 23:12:47 -04:00
barisusakli
09bd42b9f6 removed deleted 2014-10-14 22:52:41 -04:00
barisusakli
b1d48df6d8 dont modify counts on soft post delete 2014-10-14 22:51:48 -04:00
barisusakli
5de74914bd moved updateCounters to purge 2014-10-14 22:18:24 -04:00
barisusakli
b65c17c5bc parseInt score 2014-10-14 20:56:52 -04:00
barisusakli
29fcb6c366 fix images in manage/flags and fadeout 2014-10-14 17:03:14 -04:00
barisusakli
040d7b8424 limit unread to 100 tids 2014-10-14 14:27:45 -04:00
barisusakli
0eae679bcd crash fix if field is undefined 2014-10-14 13:52:47 -04:00
barisusakli
be287740f9 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-14 13:29:26 -04:00
barisusakli
62503c16c6 mark category read only if unread 2014-10-14 13:29:23 -04:00
Julian Lam
b5481ceed2 property fixed #2087 2014-10-14 11:48:31 -04:00
Julian Lam
08d4d6b5bf changed indentation for continueLogin method in authentication.js 2014-10-14 11:48:31 -04:00
barisusakli
f463030e76 closes #2264 2014-10-14 03:00:24 -04:00
barisusakli
835c58d27d mark read after infinite scroll
dont mark read if already read
2014-10-14 02:39:20 -04:00
barisusakli
6ff00a935f dont reverse infinite load admin/events 2014-10-13 23:36:08 -04:00
barisusakli
2b0957b8c7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-13 22:25:40 -04:00
barisusakli
40fe40deac removed users:online set
using websockets.getConnectedClients directly
2014-10-13 22:25:34 -04:00
Julian Lam
62d0e08d6a stopped loader from crashing whenever NodeBB restarts 2014-10-13 19:46:42 -04:00
Barış Soner Uşaklı
129a438ebe Merge pull request #2256 from Spiritlebon/master
lint fix
2014-10-13 15:14:35 -04:00
barisusakli
fced152e41 read total from global object 2014-10-13 15:06:21 -04:00
barisusakli
be0d043b2b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-13 14:20:11 -04:00
barisusakli
27833a3e91 min-width for user boxes in admin/manage 2014-10-13 14:20:08 -04:00
Julian Lam
97dba9ae39 fixed #2259 2014-10-13 13:03:17 -04:00
barisusakli
3c25204fdd removed clear log, doesnt work with logrotate-stream 2014-10-13 13:01:16 -04:00
barisusakli
e699c02b65 get less data 2014-10-12 23:46:58 -04:00
barisusakli
10ead05d4b another unused require 2014-10-12 18:04:16 -04:00
barisusakli
8cc1cc0f1b removed unused require 2014-10-12 18:02:28 -04:00
barisusakli
1eb95a71ae no need for $in 2014-10-12 17:40:59 -04:00
Spiritlebon
2b15de63c0 checked number before parseInt 2014-10-12 04:01:35 +02:00
Spiritlebon
35fc175ff6 Lint fix 2014-10-12 03:36:38 +02:00
psychobunny
2c95d8d82e fixed ajaxifying to advanced/logs 2014-10-11 16:30:07 -04:00
psychobunny
91e11e304f added link to forum homepage 2014-10-11 16:25:58 -04:00
barisusakli
feed33f6e2 closes #2100 2014-10-10 22:53:01 -04:00
barisusakli
035c32df66 dont need to pass value on upserts 2014-10-10 19:21:47 -04:00
psychobunny
b0ec0f52a4 cleanup 2014-10-10 16:56:44 -04:00
psychobunny
e6b8c0b32f fixed infinitescroll on flags & tags 2014-10-10 16:43:54 -04:00
psychobunny
7ee6f1d01c added cache buster to all scripts/css in acp 2014-10-10 16:41:03 -04:00
psychobunny
1226a2462a closes #2250 2014-10-10 16:40:05 -04:00
psychobunny
a24dde863b moved src/client/modules/admin/selectable to src/admin/modules/selectable #2250 2014-10-10 16:37:58 -04:00
psychobunny
4268d424a3 fixes require.js error in ACP 2014-10-10 16:34:30 -04:00
barisusakli
e052d8e5c1 log topic move 2014-10-10 15:44:02 -04:00
psychobunny
ffcb324d91 oh bootbox, I forgive you. (I lost hope in this actually being resolved upstream) 2014-10-10 03:17:50 -04:00
psychobunny
cad3f3017c moved iconSelect to admin/modules 2014-10-10 03:12:04 -04:00
barisusakli
e95c68e7d6 fix bookmark 2014-10-09 20:47:27 -04:00
barisusakli
29d90bc67d only use unique cids in isModerator 2014-10-09 19:53:10 -04:00
barisusakli
07a5aeaf15 closes #2251 2014-10-09 19:20:53 -04:00
psychobunny
e9c48f50f9 moved admin search into its own modules 2014-10-09 18:48:35 -04:00
psychobunny
dcd47f7ec5 removed admin/footer.js, moved code to admin.js instead 2014-10-09 18:42:42 -04:00
barisusakli
3819d11be2 #2110 2014-10-09 18:42:08 -04:00
psychobunny
4cbb7e9832 closes #2230
and I actually tested every single one. go me!
2014-10-09 18:26:59 -04:00
psychobunny
c787cd671b migrating tag editing #2230 2014-10-09 18:21:44 -04:00
psychobunny
2f150649ae migrating infinitescroll #2230 2014-10-09 18:19:50 -04:00
barisusakli
142ffc2920 fixed other post 2014-10-09 18:16:29 -04:00
psychobunny
b7bba928a4 migrating home page to new partials #2230 2014-10-09 18:13:24 -04:00
barisusakli
0d95089bfe send array of posts 2014-10-09 18:12:40 -04:00
barisusakli
4190b3c41c sort plugins alphabetically 2014-10-09 17:44:48 -04:00
barisusakli
97b9ba983c read both 2014-10-09 17:31:51 -04:00
psychobunny
00ff032060 migrating categories to new partial templating #2230 2014-10-09 17:25:54 -04:00
psychobunny
73220aaa3d didn't realize mousetrap was being used elsewhere in the code, added back to client again 2014-10-09 17:13:22 -04:00
psychobunny
2906ac9ecf removing the welcome to nodebb panel because...
Well we only originally put it there because we didn't have anything
useful to show on the homepage initially.  Now we have STATS
2014-10-09 17:08:43 -04:00
psychobunny
ce30379c25 fix panel layout on dashboard 2014-10-09 17:07:10 -04:00
barisusakli
4126fcfce4 i fail at this 2014-10-09 16:56:13 -04:00
barisusakli
1a04d8f07d removed duped banned, its in user:banned 2014-10-09 16:41:58 -04:00
barisusakli
5dbd4bcda9 fix status if it was never set before 2014-10-09 16:16:28 -04:00
barisusakli
5d79d2a75a closes #2191
added unique visitors analytics
only update it every hour
2014-10-09 15:06:20 -04:00
barisusakli
cb934acb5d #2111
need latest version from api
2014-10-09 13:50:25 -04:00
psychobunny
206b54c35d nitpicking en_GB 2014-10-09 03:21:58 -04:00
psychobunny
424efbeb06 Yo not enough rep mah homie. 2014-10-09 03:13:52 -04:00
psychobunny
124576f843 this is the canadian i8n, we have a duty to be extra polite. 2014-10-09 03:13:08 -04:00
psychobunny
5dcd610c1a grandma ma grammar
we should really run this stuff through a spellchecker before committing
2014-10-09 03:09:59 -04:00
psychobunny
3f876548ba linting
I also want to lint the rest of this file but I have no idea what will
explode and it's almost 1AM. Next time ;)
2014-10-09 00:44:16 -04:00
psychobunny
7a53205c76 linting and removed unnecessary comment 2014-10-09 00:42:30 -04:00
psychobunny
b17740f8d7 return error message if config is not ready 2014-10-09 00:38:43 -04:00
psychobunny
b42e57bfdd removing leveldb from our dbal
a) It isn't being maintained, especially not by me
b) I haven't seen anybody actually interested in this db software so
there's no real point in supporting it unless we have a few people who
are interested

If you ARE interested though - please contact me and we can figure
something out in future :)
2014-10-09 00:33:09 -04:00
psychobunny
daf967399f fixing my todos so that @barisusakli will sleep tonight. and linting. 2014-10-09 00:18:04 -04:00
psychobunny
d63f2ccd28 removed legacy version of ACP menu code 2014-10-09 00:11:28 -04:00
Julian Lam
c4a5af3b1b fixed issue where a missing config.json would end up suggesting 'undefined' as a base_url 2014-10-08 23:27:31 -04:00
barisusakli
e1c3bc9713 fix teasers 2014-10-08 19:28:36 -04:00
psychobunny
8abf2835a5 removed modules/admin and moved mousetrap + keybindings out of client #2245 2014-10-08 17:06:35 -04:00
psychobunny
339d2b0143 closes #2246 2014-10-08 16:53:22 -04:00
psychobunny
ffc07ff6d2 moved settings module deps into ACP #2245 2014-10-08 16:20:22 -04:00
psychobunny
d759a7d9dd moved semver out of client js files #2245 2014-10-08 16:15:43 -04:00
psychobunny
a2377d4682 removed unused asset 2014-10-08 16:11:56 -04:00
psychobunny
ed60deb3f5 fixed ACP from previous commit 2014-10-08 16:08:35 -04:00
psychobunny
0f759f9df4 ... not sure why that didn't all go through in one commit 2014-10-08 15:37:10 -04:00
psychobunny
b51c90dcb3 doing some reshuffling in public/src
public/src/admin and public/src/client; also some cleanup in
src/meta/js, no need to filter out admin files anymore
2014-10-08 15:36:47 -04:00
barisusakli
006322f386 much faster sitemap
no need to load all the data, when we only use slug and lastposttime
2014-10-08 15:26:18 -04:00
barisusakli
e1f67052d0 closes #2244 2014-10-08 15:06:40 -04:00
psychobunny
0d741f0031 commenting out the reconnection messages, it's annoying if you have 500 users online
not sure if we do need it though, so just leaving it there for now
2014-10-08 15:05:36 -04:00
psychobunny
f35a51e48d making the loading sequence less verbose
in particular, the js stuff all happened sequentially at the same time
so there was no need for multiple messages
2014-10-08 15:05:02 -04:00
psychobunny
6418948570 only need one "meta/css done" message 2014-10-08 14:52:52 -04:00
psychobunny
ae635a0083 minifier.css isn't used 2014-10-08 14:49:23 -04:00
psychobunny
2f53a3acc9 adding .gitignore public/uploads 2014-10-08 14:24:17 -04:00
psychobunny
3a069e028b refactored meta/js
yay I haz sourcemaps on windows now
2014-10-08 14:20:47 -04:00
barisusakli
61c73b7761 fix urls 2014-10-08 14:04:48 -04:00
barisusakli
4dcecbb310 gitignore and folders 2014-10-08 13:48:50 -04:00
barisusakli
1d1625f5c4 closes #2157 2014-10-08 13:46:36 -04:00
psychobunny
b1b25ada4d started removing ajaxify.loadTemplate #2230 2014-10-08 13:17:21 -04:00
psychobunny
2b5c3275f3 upping templates.js, please run npm install 2014-10-08 13:17:02 -04:00
psychobunny
396fecb94a removing an old comment 2014-10-08 12:32:17 -04:00
psychobunny
f149fb0191 linting, TIL that obj.$key is valid syntax 2014-10-08 12:22:39 -04:00
psychobunny
729ed6fbda all your semi-colons are belongs to me 2014-10-08 12:18:32 -04:00
psychobunny
f4b5090738 more linting 2014-10-08 12:11:06 -04:00
psychobunny
27496a08c4 fix emailer crash (line 35) 2014-10-08 12:08:35 -04:00
psychobunny
94ec07eb73 linting 2014-10-08 12:07:33 -04:00
psychobunny
fd95ac096d doing our US friends a favOUr 2014-10-08 03:03:43 -04:00
psychobunny
c2d21de9ac show my full name
wonder why we implemented this. lmao
2014-10-08 03:02:16 -04:00
psychobunny
61b8c7f673 moar typos 2014-10-08 03:01:34 -04:00
psychobunny
5376f07f6c @julianlam is an administator 2014-10-08 02:59:58 -04:00
psychobunny
85e0d1c03f more user-friendly error messages 2014-10-08 02:58:03 -04:00
psychobunny
01b8d1472e closes #2116 2014-10-08 02:40:27 -04:00
psychobunny
d632ba2242 fix post crash from 712bd3938f 2014-10-08 00:32:43 -04:00
psychobunny
4b295decf8 forgot to update meta.title.build in socket.io/meta.js 2014-10-08 00:28:16 -04:00
psychobunny
eb4baf62b5 closes #2235 2014-10-08 00:18:02 -04:00
psychobunny
298625225a use default 403 message for accounts 2014-10-08 00:06:43 -04:00
psychobunny
7bd49a96b2 #2235 2014-10-08 00:02:00 -04:00
psychobunny
3b511b59cb found a duplicate language string 2014-10-08 00:01:40 -04:00
psychobunny
1bdb80ce0a and so does 403 2014-10-07 23:55:56 -04:00
psychobunny
3c97829e85 404 now properly reads error messages 2014-10-07 23:55:13 -04:00
barisusakli
712bd3938f parse post in Topics.reply not in Posts.create
makes importer faster if md plugin is enabled
2014-10-07 20:36:48 -04:00
Julian Lam
e0fd24c087 adding contributing.md to root 2014-10-07 20:33:02 -04:00
Julian Lam
ea2fbcfcfc closed #2242 2014-10-07 19:49:29 -04:00
psychobunny
cf22fad6fd made the acp search a bit more cooler 2014-10-07 17:42:07 -04:00
psychobunny
8a978e46de #2241 2014-10-07 17:07:42 -04:00
psychobunny
7396c363d7 press / to highlight search input box 2014-10-07 17:01:57 -04:00
psychobunny
b2866abf5c another fix for express deprecations 2014-10-07 17:01:55 -04:00
barisusakli
f6f6ca7f76 closes #2132 2014-10-07 16:21:16 -04:00
psychobunny
c57dc25ea7 closes #2241 2014-10-07 15:46:15 -04:00
barisusakli
0912c7a2aa closes #2240 2014-10-07 13:55:40 -04:00
barisusakli
ad4fff649c closes #2234 2014-10-07 13:08:28 -04:00
barisusakli
26cfe4a3c3 fix ban upgrade closes #2239 2014-10-07 12:34:41 -04:00
Julian Lam
0772e8c41f fixed #2236 - using !gte instead of lte 2014-10-07 02:12:22 -04:00
Julian Lam
b481a28b6e sendFile instead of sendfile 2014-10-07 01:54:16 -04:00
barisusakli
394a01fdef closes #2188 2014-10-06 18:19:37 -04:00
psychobunny
c827485de5 more user-friendly message for installing/uninstalling plugins 2014-10-06 18:01:45 -04:00
psychobunny
d7c796fba5 closes #2228 2014-10-06 18:00:42 -04:00
psychobunny
53fdef1d17 fixing deprecation notice for morgan 2014-10-06 17:40:56 -04:00
psychobunny
345896e8eb remove intervals if navigating to a different page in ACP 2014-10-06 17:25:55 -04:00
barisusakli
85da5fb054 closes #2189 2014-10-06 16:48:32 -04:00
barisusakli
6ca06a8e54 closes #2233 2014-10-06 16:16:31 -04:00
barisusakli
348911fd2d closes #2195 2014-10-06 16:03:59 -04:00
barisusakli
bc1281a201 update deps
dbsearch, string, underscore, validator
2014-10-06 14:00:10 -04:00
barisusakli
e35dd60f8f closes #1940 2014-10-06 13:43:41 -04:00
barisusakli
ccf58ed40e closes #2213 2014-10-06 13:11:12 -04:00
barisusakli
258e14e20c closes #2225 2014-10-06 12:41:56 -04:00
psychobunny
2a2490541f some minor linting elsewhere 2014-10-04 18:56:33 -04:00
psychobunny
31b2faf2c5 oops, this one was my bad 2014-10-04 18:54:23 -04:00
psychobunny
84b9b86dd1 no better way to spend your saturday
inb4 linting bonanza
2014-10-04 18:52:39 -04:00
psychobunny
d70aab6a1e more linting 2014-10-04 18:51:18 -04:00
psychobunny
89e4a67e95 linting 2014-10-04 18:50:03 -04:00
psychobunny
1b2ccda40b closes #2231; see #2218 2014-10-04 18:47:56 -04:00
psychobunny
bf852d8329 closes #2078 2014-10-04 18:30:21 -04:00
psychobunny
c14b5e3d3a updating templates.js to 0.1.0 2014-10-04 18:25:50 -04:00
psychobunny
319defd1d2 moved meta:js.compiled event to after minfile is committed to disk, closes #2173 2014-10-04 16:19:45 -04:00
psychobunny
fa8613d09d moving meta:css.compiled further down, currently it gets emitted twice 2014-10-04 16:19:44 -04:00
psychobunny
872e28099f fixing previous commit properly 2014-10-04 16:19:43 -04:00
psychobunny
edf37f3e0c wow, logic fail
if you called the same event twice, it will reduce count anyways (so I
could have event.any(a,b,c) and call a three times and it would
complete.
2014-10-04 16:19:41 -04:00
barisusakli
27c214486b closes #2226 2014-10-04 16:13:37 -04:00
psychobunny
5681d51778 pressing enter in acp search will search for the first match 2014-10-04 16:04:50 -04:00
psychobunny
39de76fa5c rearranging manage/users routes 2014-10-04 15:52:20 -04:00
psychobunny
901ef3d382 fix false positives from showing up in search 2014-10-04 15:48:20 -04:00
psychobunny
39e59ee918 fixed link to plugins page on widgets 2014-10-04 15:40:57 -04:00
psychobunny
ced0087347 hide the plugins and authentication tabs if no plugins detected 2014-10-04 15:38:48 -04:00
psychobunny
307a04c162 closes #2227 2014-10-04 15:35:31 -04:00
psychobunny
ba4392cda0 selectable - shift clicking deselects items in a group 2014-10-04 01:45:46 -04:00
barisusakli
cf5ac4fb74 filter before getting topics 2014-10-03 21:37:43 -04:00
barisusakli
31a1f85a7e removed year from popular 2014-10-03 20:39:10 -04:00
Julian Lam
3accfaebc9 fixing dashboard ACP js to show a more informative message for people running master branch 2014-10-03 20:22:50 -04:00
Julian Lam
03f926c560 updating some deps #2218 2014-10-03 20:22:50 -04:00
barisusakli
bc016321ac closes #2226 2014-10-03 19:34:05 -04:00
psychobunny
ba9da2b256 fixed selectable init for search 2014-10-03 19:00:07 -04:00
psychobunny
a4f7ad3161 admin/manage/users styling 2014-10-03 18:57:33 -04:00
psychobunny
eb5630caa7 refactored selectable to use 'selected' instead of 'dropped'; fixed position relative bug 2014-10-03 18:43:20 -04:00
psychobunny
44b39bc69d forgot tpl in previous commit 2014-10-03 18:43:18 -04:00
psychobunny
04b7dfeb02 updated manage/users to use new drag and drop selector 2014-10-03 18:43:17 -04:00
psychobunny
a6481aefe3 cleanup 2014-10-03 18:43:16 -04:00
psychobunny
7a2ccf6031 hardcoded parentElement by accident
so that's why it doesn't work on other pages. derp
2014-10-03 18:43:15 -04:00
psychobunny
a474f111a3 cleanup 2014-10-03 18:43:14 -04:00
psychobunny
9c67d5742e added event callbacks for onSelected and onUnselected 2014-10-03 18:43:12 -04:00
Julian Lam
cea23454c6 fixed #2220 2014-10-03 18:42:51 -04:00
psychobunny
13c9da6bff selectable - click/shiftclick to select as well 2014-10-03 18:01:50 -04:00
psychobunny
a23b0baf25 closes #2221 2014-10-03 17:58:44 -04:00
psychobunny
bcdb87f488 fixed selectable 2014-10-03 17:56:07 -04:00
psychobunny
06db3c1c3d fixed tag selectability after search 2014-10-03 17:56:05 -04:00
psychobunny
16a4824017 fixed tag searching 2014-10-03 17:56:04 -04:00
psychobunny
e86697b36f closes #2223, ability to select multiple tags 2014-10-03 17:56:03 -04:00
Julian Lam
4b9e4a0109 closed #2224 2014-10-03 17:29:51 -04:00
psychobunny
1644c1f9e9 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-03 17:26:19 -04:00
psychobunny
e211628419 moved module less files out of components and into a separate folder 2014-10-03 17:26:15 -04:00
psychobunny
2db93c9219 created selectable module for selecting / grouping elements 2014-10-03 17:24:27 -04:00
psychobunny
2148e24969 added jquery drag and drop event libs 2014-10-03 16:55:00 -04:00
Julian Lam
60c45d8b9b fixed issue where non-admins would get maintenance mode header if maintenance mode was NOT enabled (logic errors, grrr..) 2014-10-03 16:39:27 -04:00
barisusakli
5db24fbe68 closes #2175 2014-10-03 16:31:53 -04:00
barisusakli
c37cfe4b3f closes #2209 2014-10-03 15:28:51 -04:00
Julian Lam
f5f84d9946 fixing upgrade text to use nodebb executable, removed exposure of option to run without upgrading 2014-10-03 15:28:02 -04:00
barisusakli
740c336480 typo 2014-10-03 15:16:04 -04:00
barisusakli
dba20160ce check length 2014-10-03 15:15:38 -04:00
Julian Lam
1b3b13716a 0.5.2-dev in ACP, just so people know it's not a released version 2014-10-03 15:13:12 -04:00
Julian Lam
19c69980ef Revert "bumping to 0.5.2 for dev purposes"
This reverts commit e6824fd727.
2014-10-03 15:12:58 -04:00
barisusakli
33780e6fdb closes #2133 2014-10-03 14:14:41 -04:00
barisusakli
73d358edc5 faster getTeasers
got rid of getPostIndices
2014-10-03 13:43:51 -04:00
barisusakli
43806e5921 replay ie host fix
https://github.com/NodeBB/NodeBB/pull/2216
2014-10-03 11:48:47 -04:00
barisusakli
0e3c5195db closes #2219 2014-10-03 11:34:12 -04:00
Julian Lam
b7ba6a0d8f fixed #2214 - each individual thread will create its own logrotate write handler, because if one is closed, everything crashes in a cascade effect because we're calling .write() after .end(), bleh. 2014-10-03 01:09:35 -04:00
Julian Lam
ee289c3226 latest translations and fallbacks 2014-10-02 23:51:51 -04:00
psychobunny
b4fb2d62a3 closes #2201 2014-10-02 20:47:59 -04:00
barisusakli
6a996bd718 closes #2210 2014-10-02 20:21:43 -04:00
barisusakli
8737c5a56d removed debug 2014-10-02 19:15:52 -04:00
barisusakli
eab180f305 crash fix 2014-10-02 19:03:03 -04:00
barisusakli
c72c876b04 check value 2014-10-02 18:57:21 -04:00
Julian Lam
4c70a0da4f removing postgres file from databases/ 2014-10-02 18:54:20 -04:00
barisusakli
c12b159bb5 temp debug 2014-10-02 18:51:08 -04:00
psychobunny
806b115782 don't attempt to update graphs if we're not connected 2014-10-02 18:33:08 -04:00
psychobunny
6a6f0a3b78 app.isConnected check 2014-10-02 18:32:36 -04:00
psychobunny
e20747c191 closes #2202 2014-10-02 18:30:51 -04:00
psychobunny
9c8395808c use page visibility api instead of window.onblur
this lib supports most major browsers
2014-10-02 18:29:47 -04:00
Julian Lam
24ac7ba316 better templating and styling for #2099 2014-10-02 18:26:43 -04:00
barisusakli
6f40a731f5 trigger posts loaded so masonry kicks in 2014-10-02 18:18:55 -04:00
barisusakli
2af077544b make sure postcount isnt NaN 2014-10-02 18:10:10 -04:00
barisusakli
32d0e0d7e5 dont update category post coint if topic post count is invalid 2014-10-02 18:06:19 -04:00
psychobunny
974a091f1b Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-10-02 17:55:33 -04:00
psychobunny
7243aebee0 fixed supervisor to ignore committed minified file 2014-10-02 17:55:30 -04:00
barisusakli
6aa53b8323 nextStart changes, fixed move topic notification text 2014-10-02 17:46:43 -04:00
Julian Lam
5ba88b7152 fixed #2208 2014-10-02 17:08:49 -04:00
psychobunny
e5681097f4 added error to minification step 2014-10-02 17:02:14 -04:00
psychobunny
bc4969be5b disable chart tooltips if mobile 2014-10-02 16:40:46 -04:00
psychobunny
9d53de5f70 oops 2014-10-02 16:00:17 -04:00
psychobunny
42d3656ecc fixing 2014-10-02 15:59:05 -04:00
Julian Lam
85048a5f75 closed #2203 2014-10-02 15:58:13 -04:00
Julian Lam
1eb9016a77 fixed #2207 2014-10-02 14:38:52 -04:00
barisusakli
043a73b4ae changed none to hidden 2014-10-02 14:30:54 -04:00
barisusakli
de98df842d priv fix 2014-10-02 13:55:01 -04:00
psychobunny
a67c501eb8 temporary solution for #2206 2014-10-02 13:38:42 -04:00
barisusakli
7b8656ef8b facebook share doesn't display &amp; 2014-10-01 19:00:26 -04:00
barisusakli
b8df95da98 check message 2014-10-01 16:58:04 -04:00
Barış Soner Uşaklı
6165db3e00 Merge pull request #2198 from Schamper/fix/settings-message
Fix settings save message
2014-10-01 16:42:40 -04:00
Schamper
883422760d Fix settings save message 2014-10-01 22:30:22 +02:00
barisusakli
cf252a29a7 closes #2196 2014-10-01 15:32:54 -04:00
barisusakli
977cd98a79 dont crash if user doesn't have email 2014-10-01 00:29:51 -04:00
Julian Lam
e6824fd727 bumping to 0.5.2 for dev purposes 2014-10-01 00:01:57 -04:00
Julian Lam
f082849126 removing console.log 2014-09-30 23:59:28 -04:00
Julian Lam
43db2289c2 moving db selection into db.connect, where it should be 2014-09-30 23:57:03 -04:00
Julian Lam
35ac6600ba Revert "prematurely bumping next version up, for development purposes"
This reverts commit c792fc68d3.
2014-09-30 23:37:03 -04:00
psychobunny
f41b0fe3ce removing packages 2014-09-30 23:35:18 -04:00
barisusakli
5ff293109d fix getUnreadByField 2014-09-30 23:20:25 -04:00
Julian Lam
4f2603afd1 closed #2185 2014-09-30 21:48:39 -04:00
barisusakli
31db0d78b1 return empty array instead of undefined 2014-09-30 18:27:23 -04:00
psychobunny
7cde61f4d6 logger styling first pass 2014-09-30 17:06:57 -04:00
psychobunny
b31feac253 events page first pass 2014-09-30 17:05:04 -04:00
psychobunny
ab915b6ed7 first pass advanced/database 2014-09-30 17:02:53 -04:00
psychobunny
05ff80b2e0 widgets page first pass 2014-09-30 16:52:16 -04:00
psychobunny
52229113b6 plugins page first pass, separated list of plugins 2014-09-30 16:37:41 -04:00
barisusakli
3865fd3ab9 fixes crash is sets is empty 2014-09-30 16:10:26 -04:00
psychobunny
bfc9cae1b2 groups first pass 2014-09-30 15:37:53 -04:00
psychobunny
0aa08f8bd9 users page first pass 2014-09-30 15:31:33 -04:00
psychobunny
178aa473fc categories page first pass 2014-09-30 15:28:36 -04:00
psychobunny
3e7f0531b4 language page 2014-09-30 15:25:35 -04:00
psychobunny
199a13d730 closes #2186
I think I missed that lesson in grade 3
2014-09-30 01:03:31 -04:00
Julian Lam
c792fc68d3 prematurely bumping next version up, for development purposes 2014-09-29 20:00:39 -04:00
Julian Lam
6b786012d8 removed console.log 2014-09-29 19:50:57 -04:00
Julian Lam
c9228f1483 0.5.1 2014-09-29 19:41:23 -04:00
Julian Lam
343ff18014 closed #2179 2014-09-29 19:31:41 -04:00
barisusakli
2b115e75c6 fix login days value 2014-09-29 19:29:13 -04:00
barisusakli
62084a012e closes #2179 2014-09-29 19:28:25 -04:00
Julian Lam
30b2f55ebc closed #2149 2014-09-29 19:05:38 -04:00
psychobunny
2b5d0e89a5 up'ing templates.js 2014-09-29 19:05:38 -04:00
psychobunny
1e5c172f5e up'ing templates.js 2014-09-29 18:55:08 -04:00
barisusakli
a505896185 forgot db require 2014-09-29 18:36:14 -04:00
barisusakli
18cfdd9dde possible fix to travis 2014-09-29 18:32:09 -04:00
barisusakli
653865a214 moved up trace 2014-09-29 18:13:32 -04:00
barisusakli
e79e370e59 check undefined middleware 2014-09-29 18:09:47 -04:00
psychobunny
d0452fb93f random attempt to fix traviscl 2014-09-29 17:59:39 -04:00
Julian Lam
632fb3a618 closed #2184 2014-09-29 17:51:29 -04:00
psychobunny
b877a4e7b4 linting 2014-09-29 16:59:58 -04:00
psychobunny
f86e4256a1 semicolon 2014-09-29 16:58:23 -04:00
psychobunny
7b9815aa3b linting 2014-09-29 16:58:11 -04:00
barisusakli
29d99a0ecf closes #2177 2014-09-29 16:54:40 -04:00
barisusakli
9c996e4b99 on config save update meta.config on all workers
also dont make 20 socket.emit calls for each setting field, everything
will be send in 1 socket call.
2014-09-29 16:35:13 -04:00
psychobunny
219cd9661f improved menu sliding 2014-09-29 14:29:34 -04:00
psychobunny
4b5112e60a mobile swipe-in sidemenu for acp 2014-09-29 14:14:30 -04:00
psychobunny
95740ae8f9 stop. hammer time! 2014-09-29 13:56:25 -04:00
psychobunny
6867c10058 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-09-29 13:21:53 -04:00
psychobunny
b9ac2a3207 I can smell feature creep coming from around the corner
title tags for legend
2014-09-29 13:21:48 -04:00
barisusakli
2a1f9600e6 less event logs for notif pruning 2014-09-29 13:09:34 -04:00
psychobunny
8c9d362535 fixed responsive pie charts 2014-09-29 13:09:08 -04:00
psychobunny
456f087dea adding some padding between legend columns 2014-09-29 13:08:04 -04:00
psychobunny
6a8ccf1ad5 now getting topic names for topics presence chart; adjusted layout to make it more responsive 2014-09-29 12:59:34 -04:00
Julian Lam
dedf7a6715 closed #2087 2014-09-29 12:47:52 -04:00
barisusakli
d303dea6c7 closes #1986 2014-09-29 12:30:07 -04:00
psychobunny
8b0685754e push pie charts down if container is too compact 2014-09-29 12:25:09 -04:00
psychobunny
2388f8b815 hopefully baris stops bugging me about responsive dashboard 2014-09-29 12:16:49 -04:00
Julian Lam
625247611b closed #1959 2014-09-29 12:13:20 -04:00
psychobunny
318e4b5f6b moving the legend up a bit for pie charts 2014-09-29 12:01:15 -04:00
psychobunny
2f9193c419 closes #2174 2014-09-29 11:51:18 -04:00
psychobunny
8d149cb2ee moved admin related partials from vanilla into core 2014-09-29 11:27:04 -04:00
psychobunny
3b48668385 mobile optimizations for acp header 2014-09-29 10:24:36 -04:00
psychobunny
587f805763 don't download the acp search index on mobile 2014-09-29 10:18:37 -04:00
psychobunny
186790f2ba increased interval to 5s, should be okay 2014-09-29 04:28:51 -04:00
psychobunny
cb84b79bbc 'no users browsing' feature for presence chart 2014-09-29 04:26:49 -04:00
psychobunny
3634cebff7 added legend for topics presence chart 2014-09-29 04:07:36 -04:00
psychobunny
a46006ba64 cleanup 2014-09-29 03:43:55 -04:00
psychobunny
6fb596c1c6 click on pie chart to take you to topics page 2014-09-29 03:41:52 -04:00
psychobunny
51c3f0d77a topic presence graph, coolest one yet imo 2014-09-29 03:39:28 -04:00
psychobunny
4fafc6804a adding some predefined colors 2014-09-29 02:30:40 -04:00
psychobunny
c260d4e1c0 fix horizontal scrollbar 2014-09-29 02:20:18 -04:00
psychobunny
3104cfb26b no, I am not smarter than a 5th grader 2014-09-29 02:17:16 -04:00
psychobunny
c18f4998fd legends for the pie charts 2014-09-29 02:11:20 -04:00
psychobunny
b34ec8d732 user presence pie chart 2014-09-29 02:00:35 -04:00
psychobunny
f549ef8e26 responsive pie chart 2014-09-29 01:10:14 -04:00
psychobunny
af0cdeef14 removing the mystery #taskbar 2014-09-29 01:08:48 -04:00
Julian Lam
37c64e9a11 apparently, the "compress" option doesn't play nice with socket.io, so I'm disabling it 2014-09-29 01:08:26 -04:00
psychobunny
744c55e776 piecharts ftw, also started re-arranging the dashboard 2014-09-29 00:33:28 -04:00
Julian Lam
e012479ab5 adding socket.io client lib into the minfile 2014-09-29 00:26:43 -04:00
Julian Lam
a59934fd65 only the cluster_setup thread will commit css to file 2014-09-29 00:26:43 -04:00
Julian Lam
c2fd89e050 committing of compiled js and css to file on startup 2014-09-29 00:26:43 -04:00
barisusakli
e8dc9fed3c remove unnecessary index
the _key:1 score:-1 index already handles reverse sorting on score
2014-09-29 00:20:54 -04:00
psychobunny
81bc481efc removing page views from the dashboard stats 2014-09-28 23:52:19 -04:00
psychobunny
ca4047dc4a fixed tag modal styling 2014-09-28 21:22:48 -04:00
psychobunny
ad47874bd3 cleanup 2014-09-28 21:20:52 -04:00
psychobunny
ed35e4bcef switching /admin/index to /admin/dashboard 2014-09-28 21:20:34 -04:00
psychobunny
341959be82 ultimate acp route refactorizationing 2014-09-28 21:09:40 -04:00
psychobunny
6a9b131223 did some much needed spring cleaning of the admin less files 2014-09-28 20:39:10 -04:00
psychobunny
2cebeeb1ca don't need appearance header/footer tpls anymore 2014-09-28 20:25:43 -04:00
psychobunny
385632e173 moved over admin/appearance/widgets into extend namespace
cleaning up my own todo's in record time, @barisusakli will be proud
2014-09-28 20:22:04 -04:00
psychobunny
0ebe4381b2 legend for graphs
(duh, apparently I'm the only person who would have known what this
graph represents)
2014-09-28 20:02:15 -04:00
psychobunny
df2227259b realigning menu 2014-09-28 19:49:26 -04:00
psychobunny
d4b5ea4e1a responsive graphs 2014-09-28 15:08:27 -04:00
Julian Lam
668b17082d latest translations 2014-09-28 13:32:24 -04:00
barisusakli
4af54d48f6 closes #2169 2014-09-27 19:23:52 -04:00
psychobunny
2ec93ba911 some more styling to dashboard 2014-09-27 19:15:16 -04:00
psychobunny
0d01b0a734 styling active users modal to look like the other stats 2014-09-27 19:07:09 -04:00
barisusakli
cd99654477 closes #2046 2014-09-27 18:53:57 -04:00
psychobunny
dfcb8b9427 fixing graph labels 2014-09-27 18:52:50 -04:00
psychobunny
348f1cdbc7 no need for plugins/themes link anymore 2014-09-27 18:41:55 -04:00
psychobunny
d5dbc367fb rejigging dashboard layout 2014-09-27 18:41:53 -04:00
barisusakli
6f3fafba46 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-09-27 18:35:14 -04:00
barisusakli
212e15b2c2 fixin redis zrevrangebyscore to return value score 2014-09-27 18:35:11 -04:00
psychobunny
1d4710edce graphs - update hour labels when a new hour passes 2014-09-27 18:14:18 -04:00
barisusakli
e2e71da4e1 Merge remote-tracking branch 'origin/unread-refactor' 2014-09-27 18:10:45 -04:00
barisusakli
2bc7007953 removed sendUnread function 2014-09-27 18:09:25 -04:00
psychobunny
70831f5888 graph pm/am fix 2014-09-27 18:02:57 -04:00
barisusakli
c2d97d8ea7 Merge remote-tracking branch 'origin/master' into unread-refactor 2014-09-27 18:02:48 -04:00
psychobunny
d79b6b3803 forum traffic graph - unique visitors vs pageviews 2014-09-27 18:00:12 -04:00
barisusakli
6535a730fd upgrade script to delete tid:<tid>:read_by_uid 2014-09-27 17:57:56 -04:00
barisusakli
34106aa209 fix fields 2014-09-27 17:46:39 -04:00
barisusakli
5fc760c6c4 unread changes 2014-09-27 17:41:49 -04:00
psychobunny
2b329b8337 charts baby 2014-09-27 16:15:47 -04:00
psychobunny
144992426d converted pageviews tracking to sorted set, and using pre-built getStatsForSet function
thanks @barisusakli
2014-09-27 16:06:01 -04:00
barisusakli
80ca6bb0a2 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-09-27 15:48:18 -04:00
barisusakli
9d25772b53 added sortedSetIncrBy 2014-09-27 15:48:16 -04:00
psychobunny
0b99244dfc forgot to remove while moving 2014-09-27 15:00:17 -04:00
psychobunny
99d98a7016 forgot to import alerts css 2014-09-27 14:58:30 -04:00
psychobunny
077dcaf704 moved site logo and favicon uploading to its own panel 2014-09-27 14:56:34 -04:00
barisusakli
176023d712 read poolsize from config 2014-09-27 13:27:03 -04:00
psychobunny
1e016d1aff styling tags.tpl 2014-09-27 13:22:22 -04:00
psychobunny
34a2444f07 refactored admin/tags a bit, now inputs are hidden behind a modal so we can see moar tags 2014-09-27 12:34:46 -04:00
psychobunny
0fa04cf9a0 ux - tags 2014-09-27 02:35:11 -04:00
psychobunny
9ae1675701 no need for this code anymore 2014-09-27 02:32:25 -04:00
psychobunny
d6757c1085 acp - sounds panel, completified 2014-09-27 02:16:50 -04:00
psychobunny
4b1afa8a8c ACP'ing the header title 2014-09-27 02:11:45 -04:00
psychobunny
3a34f508f1 email.tpl formatting 2014-09-27 02:07:31 -04:00
barisusakli
c5f9a8a111 increase poolSize to 10 from default 5 2014-09-27 01:20:42 -04:00
barisusakli
c5c97c784a optimize getPostIndices
only use 1 set when its in a topic
2014-09-26 22:19:26 -04:00
barisusakli
998ed24589 check topic cid 2014-09-26 20:53:29 -04:00
psychobunny
00269853f3 revert button (which doesn't work thanks to #2162) 2014-09-26 20:16:55 -04:00
psychobunny
3635cd21aa adding back a settings header so I can put the save buttons on the right side 2014-09-26 20:14:26 -04:00
psychobunny
2b90180e01 themed skins/themes pages 2014-09-26 20:07:19 -04:00
psychobunny
104b1daf2d formatting 2014-09-26 19:58:49 -04:00
psychobunny
10a683f369 theming customize page 2014-09-26 19:53:46 -04:00
psychobunny
59dae5eac0 removing pills from appearance pages 2014-09-26 19:48:54 -04:00
psychobunny
070039f8b8 more formatting 2014-09-26 19:47:19 -04:00
psychobunny
e4d51fbca0 formatting 2014-09-26 19:44:48 -04:00
psychobunny
c3336e4713 prevent panels from going too ridiculously large 2014-09-26 19:43:37 -04:00
psychobunny
1952149b4c settings pages done! 2014-09-26 19:43:12 -04:00
psychobunny
a348eded57 removed settings/header.tpl 2014-09-26 19:21:52 -04:00
psychobunny
eecf7b9dd5 put settings in its own category 2014-09-26 19:21:51 -04:00
psychobunny
89592618e3 deprecated {plugins.icon} and {authentication.icon}; moved icons to menu category 2014-09-26 19:21:49 -04:00
psychobunny
6a389e1d1c this menu is now badass 2014-09-26 19:21:48 -04:00
Barış Soner Uşaklı
eb9b628a75 Merge pull request #2161 from EisFrei/master
require plugins for the hooks to work
2014-09-26 18:57:49 -04:00
Martin Freisen
a258f2b20b include plugins for the hooks to work 2014-09-27 00:54:51 +02:00
psychobunny
362b57a88e languages done 2014-09-26 18:37:52 -04:00
psychobunny
d201f0fd23 fixed padding 2014-09-26 18:37:50 -04:00
Julian Lam
f44213ea97 Merge pull request #2160 from EisFrei/master
added hooks `action:groups.join` and `action:groups.leave`
2014-09-26 18:30:15 -04:00
Martin Freisen
ab90d7b9d4 added hooks action:groups.join and action:groups.leave 2014-09-27 00:23:44 +02:00
psychobunny
1616b8d3dd acp breadcrumbs 2014-09-26 18:04:03 -04:00
psychobunny
4880e2328d fixing active state on menu 2014-09-26 17:34:43 -04:00
psychobunny
e13537facd fixes to main menu 2014-09-26 17:28:45 -04:00
psychobunny
e63a7c462c minor styling 2014-09-26 16:58:12 -04:00
psychobunny
06b4e84fc1 acp - nanoscroller ftw 2014-09-26 16:56:04 -04:00
psychobunny
bc574b0e2b removing unnecessary links on acp header 2014-09-26 16:16:19 -04:00
psychobunny
3cf833acb9 nodebb logo 2014-09-26 16:15:52 -04:00
psychobunny
e91b7a1677 fixing accordion 2014-09-26 15:52:20 -04:00
psychobunny
a832af231a adding some pizza pizzaz 2014-09-26 15:50:11 -04:00
psychobunny
c60cbce14a acp menu - theming completified 2014-09-26 15:46:11 -04:00
psychobunny
2f6a123d32 acp menu - accordion effect 2014-09-26 15:46:09 -04:00
psychobunny
660cd184f4 deleting NOTES.md
clearly nobody maintains this, last updated half a year ago lmao
2014-09-26 15:33:50 -04:00
psychobunny
a621d4212e acp main menu themed 2014-09-26 15:25:31 -04:00
psychobunny
15b3437dba acp search messaging 2014-09-26 14:36:10 -04:00
psychobunny
d902ac1efe accidentally deleted bootstrap.js lolol
who needs bootstrap anyways
2014-09-26 14:31:53 -04:00
psychobunny
3854c883a2 eh, github for windows failing hard 2014-09-26 14:17:40 -04:00
psychobunny
8b9d58a72f moved BS out of vendor into admin 2014-09-26 14:17:31 -04:00
psychobunny
d5316dbe7a started theming acp 2014-09-26 14:17:04 -04:00
psychobunny
74c69842d1 ensure acp search box shows up if you start typing 2014-09-26 13:21:49 -04:00
Julian Lam
958432ca4a closing julianlam/nodebb-plugin-sso-oauth#8 -- if a templates directory is defined without that directory being present, NodeBB will no longer crash 2014-09-26 13:19:23 -04:00
Julian Lam
6e8bd4d615 adding a client-side hook, closes #2159 2014-09-26 11:18:59 -04:00
Julian Lam
9240d38c4c updated widgets minver @psychobunny 2014-09-25 17:16:49 -04:00
Julian Lam
3554887f10 back to using redis.auth 2014-09-25 17:13:09 -04:00
barisusakli
ebfc6d9785 #2152 dont pass undefined into parser 2014-09-25 16:58:59 -04:00
barisusakli
5f55cc947c watch unwatch
update on toggle, moved isFollowing to api return and template
2014-09-25 16:46:00 -04:00
psychobunny
b27af65f18 closes #2153 2014-09-25 16:12:26 -04:00
psychobunny
606263ace4 #2153 prevent jquery from attempting to load images that don't exist 2014-09-25 16:10:50 -04:00
barisusakli
97e4f13a4d fix page count 2014-09-25 15:53:53 -04:00
barisusakli
1202322700 fix acp users page 2014-09-25 15:13:54 -04:00
psychobunny
f53d783d3d fixed users view 2014-09-25 14:59:44 -04:00
psychobunny
3be951367f removed prev editor 2014-09-25 14:55:08 -04:00
psychobunny
06fd0fa34b ace editor 2014-09-25 14:54:22 -04:00
psychobunny
c2c569695f settings - allowing hidden inputs to be saved 2014-09-25 14:54:20 -04:00
psychobunny
a17cd6aacc ace editor 2014-09-25 14:54:18 -04:00
barisusakli
0eb4b93882 moved hasPassword to edit route
its only used there no need to display it everywhere user info is
retrieved
2014-09-25 14:11:03 -04:00
psychobunny
d4f47f4157 fixes to appearance/widgets page 2014-09-25 13:39:07 -04:00
psychobunny
62312638ed fixing pills 2014-09-25 13:35:07 -04:00
psychobunny
b468404506 refactored admin/themes.js 2014-09-25 13:29:08 -04:00
psychobunny
f98e3aaf64 segregated the "theme" route (now "appearance") into their own separate routes 2014-09-25 13:12:51 -04:00
psychobunny
27bd23ca5c more branding stuff 2014-09-25 13:01:26 -04:00
psychobunny
cf35423a20 this panel is actually custom html not custom JS 2014-09-25 12:44:26 -04:00
psychobunny
6af1e4f6d0 removing "branding" until I can figure out how to do this properly
(tbh, even I don't know how it works anymore)
2014-09-25 12:41:16 -04:00
psychobunny
0340f699a0 redirect /categories to /active 2014-09-25 12:34:07 -04:00
psychobunny
0a4deeabf8 improving search more 2014-09-25 12:32:49 -04:00
psychobunny
4e7f22a674 cleanup 2014-09-25 12:32:48 -04:00
psychobunny
282dc64fa5 improving the acp search experience 2014-09-25 12:32:46 -04:00
psychobunny
27a2af89c8 better styling for ACP search 2014-09-25 12:32:45 -04:00
Julian Lam
5a36c33fac fixed #2142 -- passing in cached (pre-required) redis module into socket.io so it uses the same redis module... why? who bloody knows. 2014-09-25 11:56:33 -04:00
psychobunny
1a18bf22aa linting 2014-09-25 11:41:13 -04:00
psychobunny
5d1906cd0c linting 2014-09-25 11:40:52 -04:00
psychobunny
12af6a33b5 closes #2037 2014-09-25 11:39:17 -04:00
psychobunny
467d486e58 closes #2145 2014-09-25 11:29:53 -04:00
psychobunny
99a56acab8 #1999 sending ajaxify-data to client on cold loads
commented out until we figure out what we're doing with the renamed
properties (see issue)
2014-09-25 11:22:11 -04:00
Julian Lam
b0323e4d3b closed #2150 2014-09-25 10:57:37 -04:00
psychobunny
dfccf6675a closes #1906 - please use require('templates.js'); instead 2014-09-25 10:49:51 -04:00
psychobunny
d081ecf368 fixed chatModal centering 2014-09-25 10:35:50 -04:00
psychobunny
da0eff6a4e double click the chat header to maximize 2014-09-25 10:30:17 -04:00
psychobunny
c692f7e8fe closes #2148 2014-09-25 10:28:16 -04:00
Julian Lam
05b8b4b43a latest translations 2014-09-25 10:01:28 -04:00
psychobunny
fe444ccac7 Merge pull request #2090 from akhoury/patch-1
cloning widgets Elements is dropping all events handlers
2014-09-25 09:59:20 -04:00
psychobunny
366c7841fe fixed tag styling in acp 2014-09-24 22:48:10 -04:00
psychobunny
9a1fe2e2cc apparently this line is moot too, then 2014-09-24 21:52:01 -04:00
psychobunny
6f937c59fb gitignore check for config.json too strict 2014-09-24 21:48:42 -04:00
psychobunny
11fada047e fixing search menu 2014-09-24 21:48:41 -04:00
barisusakli
1fe5a8788f check err 2014-09-24 21:37:36 -04:00
Barış Soner Uşaklı
412263f430 Update defaults.json 2014-09-24 20:09:42 -04:00
psychobunny
af2b66f438 closes #2107 2014-09-24 18:43:02 -04:00
psychobunny
e336188ccc admin/header.tpl use admin.css instead of stylesheet.css 2014-09-24 18:36:59 -04:00
psychobunny
81ce7f93ad compile admin stylesheet separately 2014-09-24 18:36:58 -04:00
psychobunny
28efeef844 latest bs3 2014-09-24 18:36:57 -04:00
psychobunny
bb9a0d8cab moving acp styling to core - now unaffected by selected themes 2014-09-24 18:36:55 -04:00
barisusakli
c000e852b5 closes #1935 2014-09-24 17:13:17 -04:00
psychobunny
016a98e7b1 make sure search dropdown is open if active 2014-09-24 16:25:22 -04:00
psychobunny
7c896768ce case insensitive acp searching 2014-09-24 16:01:34 -04:00
psychobunny
13dd686521 only add divider if there are results 2014-09-24 16:00:23 -04:00
psychobunny
027e8eb54c acp searching, closes #2140 2014-09-24 15:55:45 -04:00
psychobunny
977bc014f9 index acp files 2014-09-24 15:55:44 -04:00
barisusakli
73faa79a69 fix edit page csrf, category slug optional 2014-09-24 15:53:39 -04:00
barisusakli
da64eb0873 closes #2117 2014-09-24 15:42:49 -04:00
psychobunny
5d344b3dac linting 2014-09-24 14:49:16 -04:00
psychobunny
9f40cd03e8 on /admin/settings, render general 2014-09-24 14:47:58 -04:00
psychobunny
117b8dece4 settings acp refactor for dedicated routes 2014-09-24 14:45:49 -04:00
psychobunny
9b17ec9f26 updating database mock for core templates 2014-09-24 13:54:10 -04:00
psychobunny
bd4ab2a24c moving database mock into tests folder 2014-09-24 13:54:09 -04:00
barisusakli
6abb0ff4c8 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-09-24 13:50:45 -04:00
barisusakli
1a26cb0938 #2139 2014-09-24 13:50:43 -04:00
psychobunny
64b43d58ea moved core templates into nodebb core (admin, status pages, emails) 2014-09-24 13:45:11 -04:00
barisusakli
4eabf41a21 dont allow invalid status to be set 2014-09-24 13:36:32 -04:00
barisusakli
bedadd8b5f #2137 2014-09-24 00:07:24 -04:00
barisusakli
23197af725 closes #2114 2014-09-23 23:05:46 -04:00
Julian Lam
da2725ec8a upped markdown minver 2014-09-23 23:01:20 -04:00
Julian Lam
bc116c16e9 Merge branch 'hashtalk' 2014-09-23 22:28:47 -04:00
Julian Lam
ecea917d11 closed #2097 -- NodeBB will prefer using Redis as session store if at all possible 2014-09-23 17:18:44 -04:00
Julian Lam
20819e3dfd Revert "use redis session storage instead of connect-mongo"
This reverts commit 056f89d6cf.
2014-09-23 17:18:43 -04:00
barisusakli
8abb247870 fix mention regression 2014-09-23 17:12:37 -04:00
Julian Lam
f41be4ae8b exposed redis' "connect" method, so socket.io can call it from outside database/redis.js, fixed NodeBB requiring Redis as a socket.io store. It will now go back to using in-memory store per process, if no redis config is found in the NodeBB configuration. re: #2097 2014-09-23 17:09:46 -04:00
barisusakli
b1f492dec3 fix redis bulk zadd 2014-09-23 17:07:22 -04:00
Julian Lam
e1211527b0 Merge branch '0.5.1' into hashtalk
Conflicts:
	src/controllers/topics.js
2014-09-23 16:16:45 -04:00
Julian Lam
d7a69e51c1 Merge branch '0.5.1' into hashtalk 2014-09-23 16:13:50 -04:00
Julian Lam
528ee3ad05 Merge remote-tracking branch 'origin/hashtalk' into hashtalk 2014-09-23 16:02:38 -04:00
barisusakli
64c51d5cba check nid before pusing and marking read 2014-09-23 16:02:23 -04:00
Julian Lam
50a7c42f15 Merge remote-tracking branch 'origin/hashtalk' into hashtalk 2014-09-23 16:02:22 -04:00
Julian Lam
05e147b440 Merge branch 'master' of github.com:chronize/NodeBB into chronize-master 2014-09-23 16:00:11 -04:00
Julian Lam
abdcb32ad2 Merge pull request #2119 from Fusselwurm/patch-1
default for missing post_index parameter when topic pagination is used
2014-09-23 15:47:48 -04:00
psychobunny
a0da73dabd don't pass back err if plugin.json is corrupted 2014-09-23 15:03:13 -04:00
psychobunny
180625ece3 forgot to return just posts array 2014-09-23 14:00:28 -04:00
psychobunny
77dfc7378b filter:post.getPostSummaryByPids 2014-09-23 13:58:16 -04:00
psychobunny
0eb4fd89ef don't blow up nodebb if plugin.json is broken 2014-09-23 13:58:14 -04:00
barisusakli
fb764472dd closes #2125 2014-09-23 13:48:19 -04:00
Julian Lam
901470ce05 always pipe child output to parent 2014-09-23 13:44:32 -04:00
barisusakli
0767998022 closes #2124 2014-09-23 13:34:53 -04:00
psychobunny
99bacf910c oops - #2126 2014-09-23 13:33:36 -04:00
psychobunny
7f2254c9da closes https://github.com/NodeBB/NodeBB/issues/2126 2014-09-23 13:08:53 -04:00
Julian Lam
b6f7014a9d fixed infinite scroller so that it takes the height of OP into account when detecting when to load more posts while scrolling up 2014-09-23 13:05:43 -04:00
Julian Lam
a6abde2a2b fixed upward infinite scrolling so that it is less jarring 2014-09-23 13:05:43 -04:00
barisusakli
48c3619028 lowered chat zindex 2014-09-22 22:17:50 -04:00
barisusakli
2d5dc44ce5 closes #2123 2014-09-22 21:54:28 -04:00
barisusakli
515e663f85 getObjectsFix
return empty array if keys is empty or not an array
2014-09-22 21:47:20 -04:00
barisusakli
39392672a2 moved static
removed pageRouter middleware into routes,
helper method to setup page routes
2014-09-22 21:39:02 -04:00
Julian Lam
9b9e79ef27 re: #2099 2014-09-22 20:31:57 -04:00
Julian Lam
bfdc32a9c3 typo 2014-09-22 19:03:59 -04:00
psychobunny
0db93504ce forgot comma 2014-09-22 16:09:27 -04:00
psychobunny
2b90add560 fix for topics without category data (?)
@barisusakli lemme know if this is legit, if not, see line 195 as well
2014-09-22 16:08:40 -04:00
barisusakli
8b64e65095 cleaned up admin routes 2014-09-22 15:43:41 -04:00
barisusakli
21f65cbb6a crash fix 2014-09-22 12:39:25 -04:00
barisusakli
c640e01969 show stack 2014-09-21 22:07:08 -04:00
barisusakli
8c600ae15d stop tag autocomplete ajaxify 2014-09-21 19:24:51 -04:00
barisusakli
ba90b5d113 widget render change 2014-09-21 18:56:36 -04:00
Julian Lam
7597c654a0 refactored plugin and auth init a bit, and fixed issue where successive reloads caused old login strategies to be inadvertently preserved 2014-09-21 14:29:27 -04:00
barisusakli
5f2a66295c check keys 2014-09-21 13:30:20 -04:00
barisusakli
0914004e12 crash fix 2014-09-21 11:29:09 -04:00
Moritz Schmidt
d1273516b5 default for missing post_index parameter
Avoid getting NaN if post_index param is not set (NaN is passed through to redis, redis complains, and the user ends up at /404)
2014-09-21 10:12:20 +02:00
barisusakli
7d9054c2cf derp 2014-09-20 23:57:33 -04:00
barisusakli
7d93926ef7 removed async.map 2014-09-20 23:04:49 -04:00
barisusakli
5323934cc2 calculate page count in controller 2014-09-20 19:09:45 -04:00
barisusakli
b7fd4c22d4 removed checkPostIndex middleware
1 less call to get topic post count
2014-09-20 18:51:32 -04:00
barisusakli
a19c306f49 guest fixes 2014-09-20 18:07:46 -04:00
barisusakli
e2707353e9 dont return unnecessary data 2014-09-20 16:05:57 -04:00
psychobunny
a52c69d2a1 only send noscript paginator data on cold loads 2014-09-20 15:04:14 -04:00
Julian Lam
f891f49339 removing console.logs 2014-09-19 22:58:01 -04:00
Julian Lam
dab3667773 re: #2108, auth re-routing 2014-09-19 22:53:57 -04:00
barisusakli
ac301eaabe changed default to 1 2014-09-19 20:14:20 -04:00
barisusakli
4de658e096 checks 2014-09-19 19:45:16 -04:00
barisusakli
3d4dad226e crash fix 2014-09-19 19:24:28 -04:00
barisusakli
59120df71c bulk fix 2014-09-19 18:59:11 -04:00
barisusakli
630977fb99 added parentCid 0 to new categories 2014-09-19 18:42:26 -04:00
barisusakli
89e56794e8 check cid 2014-09-19 18:40:51 -04:00
Julian Lam
d13fcd3529 closed #2109 2014-09-19 16:17:51 -04:00
barisusakli
f3f4711a60 wait for callback 2014-09-19 15:54:16 -04:00
Julian Lam
aee8b87385 composer tweaks, hiding navbar when mobile composer is open 2014-09-19 14:39:48 -04:00
barisusakli
327d1c1bec some cleanup and callbacks for post 2014-09-19 14:25:48 -04:00
Julian Lam
f0d3b5dd00 updated package.json to use 0.5.1-ready themes 2014-09-19 09:12:13 -04:00
Julian Lam
2bcd43531a updated package.json to use 0.5.1-ready themes 2014-09-19 09:11:55 -04:00
Julian Lam
4393907ff6 closed #2112 2014-09-19 08:27:43 -04:00
Julian Lam
bae634e124 closed #2112 2014-09-19 08:27:27 -04:00
barisusakli
1bad2f79ee show megabyte values 2014-09-18 22:24:14 -04:00
barisusakli
7652f2bf39 escape input tag 2014-09-18 21:49:13 -04:00
Julian Lam
c32fdabc43 minor refactor 2014-09-18 21:20:05 -04:00
barisusakli
803a2436de wait for increment to complete before expire 2014-09-18 18:12:16 -04:00
barisusakli
1844250967 check err 2014-09-18 17:59:09 -04:00
barisusakli
93b83060be fix expireAt using millis 2014-09-18 17:56:03 -04:00
psychobunny
251351e245 forgot to require plugins 2014-09-18 17:44:24 -04:00
psychobunny
efe11a63a3 woops, wrong property name 2014-09-18 17:40:15 -04:00
psychobunny
9e7f929029 updated filter:sockets.sendNewPostToUids and added type 2014-09-18 17:36:34 -04:00
barisusakli
55cbaf6a19 #2032 2014-09-18 17:22:24 -04:00
psychobunny
8f916ed066 filter:sockets.sendNewPostsToUids 2014-09-18 17:09:40 -04:00
psychobunny
6844c828ca added a hook I didn't end up needing, but here it is anyway filter:posts.modifyUserInfo 2014-09-18 17:05:30 -04:00
barisusakli
926acd16b2 closes #2032 2014-09-18 14:04:22 -04:00
barisusakli
f377868764 closes #2064 2014-09-18 12:01:39 -04:00
barisusakli
63a7766ac1 closes #2027 2014-09-17 19:39:59 -04:00
barisusakli
0f258859a7 closes #2067 2014-09-17 19:01:00 -04:00
Julian Lam
309ac6fec5 adding semver lib to scripts 2014-09-17 18:41:03 -04:00
Julian Lam
7a61e9d0f8 latest translations 2014-09-17 18:38:36 -04:00
psychobunny
16accf6cd0 fixing groups.leave 2014-09-17 18:32:38 -04:00
barisusakli
6f3cb55709 closes #2071 2014-09-17 18:31:31 -04:00
psychobunny
2c1bab2b9a filter:post.getPosts now passes in uid 2014-09-17 18:10:19 -04:00
psychobunny
45383ce21e posts.getPostsByTid and posts.getPostsByPids now require a uid passed in 2014-09-17 18:10:01 -04:00
barisusakli
c1f3b94d67 closes #2073 2014-09-17 17:16:03 -04:00
barisusakli
a0cc2ee6a9 duh 2014-09-17 16:57:10 -04:00
barisusakli
3abbeb8795 show recent posts of child categories 2014-09-17 16:55:34 -04:00
Julian Lam
2e16306dc2 updated modules translations 2014-09-17 16:31:27 -04:00
barisusakli
4066607388 closes #2052 2014-09-17 16:29:07 -04:00
Julian Lam
cd135dda13 renamed middleware to applyCSRF, re: #2082 2014-09-17 16:11:11 -04:00
Julian Lam
0b7a21b8d1 Merge branch 'hashtalk' of github.com:NodeBB/NodeBB into hashtalk 2014-09-17 16:07:43 -04:00
Julian Lam
8bac0bf361 Merge branch 'csrf-excision' into hashtalk 2014-09-17 16:07:36 -04:00
Julian Lam
a061079995 fixed all POST routes to use new csrf middleware 2014-09-17 16:07:26 -04:00
psychobunny
1caf4806e8 closes https://github.com/NodeBB/NodeBB/issues/2103 2014-09-17 14:58:16 -04:00
psychobunny
004758f5bd closes https://github.com/NodeBB/NodeBB/issues/2104 2014-09-17 14:53:01 -04:00
psychobunny
91293350b5 closes https://github.com/NodeBB/NodeBB/issues/2101 2014-09-17 14:47:35 -04:00
Julian Lam
4f6b3055ff Merge branch '0.5.1' into csrf-excision 2014-09-17 14:39:51 -04:00
psychobunny
d6e0be52ce companion to 48c123592e - prevent deleting your own account if you're admin 2014-09-17 12:59:34 -04:00
Julian Lam
aa116e6b4d latest translations and fallbacks 2014-09-17 09:27:17 -04:00
Julian Lam
e9b373438d latest translations and fallbacks
Conflicts:
	public/language/de/user.json
	public/language/nl/user.json
	public/language/pl/user.json
	public/language/sv/user.json
	public/language/vi/user.json
	public/language/zh_CN/user.json
2014-09-17 09:25:11 -04:00
Julian Lam
74c438dc71 latest translations and fallbacks 2014-09-17 09:21:22 -04:00
psychobunny
a6089ba4aa closes https://github.com/NodeBB/NodeBB/issues/2096 2014-09-17 00:41:19 -04:00
psychobunny
ca7f35dd5e trimming alert title/message 2014-09-17 00:28:19 -04:00
barisusakli
40fff367d1 faster topic move 2014-09-16 23:28:04 -04:00
barisusakli
4b80bbb9c4 optimized user.delete 2014-09-16 22:25:12 -04:00
barisusakli
6a64a3ab92 check err 2014-09-16 21:45:46 -04:00
barisusakli
b48d81310c #2095 2014-09-16 21:43:11 -04:00
barisusakli
aae7f2434d closes #2088 2014-09-16 16:10:02 -04:00
Julian Lam
b80b0e1e99 re: #2098, chat message emails are now opt-in 2014-09-16 13:54:03 -04:00
Julian Lam
b85ff61de6 refactored chat notification system to wait a bit before sending notif/email, closes #2098 2014-09-16 13:28:21 -04:00
barisusakli
451c5b40fd removed debug 2014-09-16 13:10:30 -04:00
barisusakli
97cb138cfc doesnt seem to be used 2014-09-16 12:58:57 -04:00
psychobunny
a224e531f8 added a confirmation dialog that asks you to type in your username before being able to delete account 2014-09-16 12:58:38 -04:00
psychobunny
ae88eee8e3 improving the warning message before deleting account 2014-09-16 12:58:37 -04:00
barisusakli
ca486a1b07 update unread count
only for logged in users
2014-09-16 12:45:22 -04:00
barisusakli
0a936e5dd1 unreadTids 2014-09-16 12:38:31 -04:00
psychobunny
48c123592e prevent administrators from being deleted - first remove them from admin group 2014-09-16 12:20:06 -04:00
Julian Lam
45a0d0196b Merge branch '0.5.1' into hashtalk 2014-09-16 11:32:37 -04:00
Julian Lam
101288c75c Merge branch 'master' into 0.5.1 2014-09-16 11:32:00 -04:00
psychobunny
e60d88afa6 cluster by default is now opt-in 2014-09-16 11:17:57 -04:00
psychobunny
101ac701ef removed hardcoded silent flag from cluster setup 2014-09-16 11:11:25 -04:00
psychobunny
32a35164d4 ability to set # of workers to run via config or command line (default = max cpus) 2014-09-16 11:08:38 -04:00
barisusakli
51eac70f67 fixed derp 2014-09-16 11:07:59 -04:00
barisusakli
32257c9b2f updateUnreadCount 2014-09-16 11:06:10 -04:00
psychobunny
22577917da closes https://github.com/NodeBB/NodeBB/issues/2093 2014-09-16 10:37:10 -04:00
psychobunny
ab1c231b84 re-enabling updateLastOnlineTime - calling that middleware for page loads only instead of every API call 2014-09-16 10:17:27 -04:00
psychobunny
ecd00bb679 refactored widgets api call to render all at once rather than one area at a time, closes https://github.com/NodeBB/NodeBB/issues/2062 2014-09-16 10:12:12 -04:00
psychobunny
0ecaa05c76 rearranging routers to prevent multiple hits on incrementPageViews
and potentially updateLastOnlineTime
2014-09-16 09:32:42 -04:00
psychobunny
76fb2c3378 daily + monthly pageview analytics middleware 2014-09-16 09:31:44 -04:00
psychobunny
e5978e09f4 switching back to bcryptjs 2014-09-16 09:31:06 -04:00
Julian Lam
963428174b fixed #2091 2014-09-16 09:18:21 -04:00
Julian Lam
52bb7ebe52 0.5.0 2014-09-15 22:12:12 -04:00
Julian Lam
6ade1e858d updating default config so the site title is shown 2014-09-15 22:10:32 -04:00
Aziz Khoury
31631ca538 cloning widgets Elements is dropping all events handlers
Adding true will clone the handlers.

You might want to do the same for L150 and L161 's clone() usage, but I'll let you decide on that :)
2014-09-15 20:30:39 -04:00
barisusakli
ce0fdc201a closes #2086 2014-09-15 17:51:08 -04:00
barisusakli
31eccb8e7f configurable post delay before first post 2014-09-15 17:01:20 -04:00
barisusakli
9a96458f79 closes #2053 2014-09-15 16:26:25 -04:00
barisusakli
da86c46b4c Merge remote-tracking branch 'origin/0.5.1' into hashtalk 2014-09-15 14:36:27 -04:00
barisusakli
7c3dc4877a closes #2089 2014-09-15 14:34:01 -04:00
Julian Lam
84d4035597 Child categories no longer show up on homepage, re: #2080 2014-09-15 10:50:58 -04:00
Julian Lam
6e21b7a830 disabled parents no longer show up as parents of a category, re: #2080 2014-09-15 10:47:38 -04:00
Julian Lam
9cba8d7ecb latest translations and fallbacks, closes #2085" 2014-09-15 08:35:10 -04:00
Julian Lam
d22fe4ad1e removing disabled categories from being listed as children, #2080 2014-09-14 21:25:21 -04:00
barisusakli
51cefb00d2 add support to set parentCid to 0 2014-09-14 19:59:44 -04:00
Julian Lam
cca365432b closes #2084 2014-09-14 19:35:10 -04:00
Julian Lam
6bb924f25a removed theme-rocket folder, closed #2076 2014-09-14 15:24:39 -04:00
barisusakli
82e721e854 send new post/topic to users who can read it 2014-09-14 14:19:36 -04:00
barisusakli
655f5087d9 Merge remote-tracking branch 'origin/master' into hashtalk 2014-09-14 12:08:44 -04:00
barisusakli
e10fbfa0d2 Merge remote-tracking branch 'origin/0.5.1' into hashtalk 2014-09-14 12:08:23 -04:00
barisusakli
f1d5db6be0 pagination fix 2014-09-14 12:07:29 -04:00
barisusakli
ddb02978c8 cleanup 2014-09-14 12:07:28 -04:00
barisusakli
e56b18822b added topic titles to notifs
upvote, favourite and flag has topic titles now
2014-09-14 12:07:28 -04:00
barisusakli
b3d9db10f2 notification fixes
made post notifications unique per post so they dont overwrite other
types.
2014-09-14 12:07:27 -04:00
barisusakli
9466d7ced4 faster notif prune
no need to loop tru and check datetime since notifications is a sorted
set now
2014-09-14 12:07:27 -04:00
barisusakli
35a903f9c8 closes #2074
when new notifications are pushed to uids clear their old notifications.
2014-09-14 12:07:26 -04:00
barisusakli
5204dc1e23 removed total count 2014-09-14 12:07:26 -04:00
barisusakli
523f245cd8 removed derp 2014-09-14 12:07:25 -04:00
barisusakli
7a61645256 less db calls 2014-09-14 12:07:25 -04:00
barisusakli
dc441c2873 check err 2014-09-14 12:07:24 -04:00
barisusakli
4e6719e0aa added filterUids method to privileges
used to filter uids on a single category
2014-09-14 12:07:24 -04:00
barisusakli
493d0dea1e part 1 of notif refactor 2014-09-14 12:07:23 -04:00
Julian Lam
f231b500d7 Merge branch '0.5.1' into csrf-excision 2014-09-14 10:29:35 -04:00
Julian Lam
40e5ad075f started work on #2082 2014-09-14 10:21:32 -04:00
barisusakli
6bde9a1656 prevent getTopicsByTids crash if a topic is null 2014-09-13 19:33:09 -04:00
barisusakli
e34ef71acd fixed resetLockout 2014-09-12 19:07:06 -04:00
barisusakli
01f983e29c markAsRead improvement
takes in an array of tids instead of marking topics read 1 by 1
same for the category.markAsRead function
2014-09-10 21:44:19 -04:00
barisusakli
ae02c1a06c closes #2068 2014-09-10 18:48:43 -04:00
psychobunny
61871fae77 merging #2077 2014-09-10 16:14:01 -04:00
psychobunny
e738d592dc fixed potential NaN issue https://github.com/NodeBB/NodeBB/issues/2077 2014-09-10 16:10:53 -04:00
psychobunny
52b58b441e closes https://github.com/NodeBB/NodeBB/issues/2077 2014-09-10 16:04:33 -04:00
barisusakli
25ed131b13 show stack trace of error 2014-09-10 13:04:57 -04:00
barisusakli
e9798028de show error 2014-09-09 22:10:17 -04:00
barisusakli
5696ea2396 check errors on decodeURIComponent 2014-09-09 22:09:27 -04:00
barisusakli
b7eddda8c8 one more fix 2014-09-09 18:32:09 -04:00
barisusakli
20eb4def1d possible fix to online guest count
using socket io rooms instead of syncing between workers.
2014-09-09 18:05:21 -04:00
barisusakli
e79c980421 delete anything older than 1 week 2014-09-08 18:09:35 -04:00
barisusakli
5222edb624 sortedSetsAdd
using mullti/bulk for redis/mongo
lets you add a score/value pair to multiple sorted sets at once
2014-09-08 16:13:48 -04:00
Baris Usakli
f16ced6bcc removed path from notif, its created on the fly when retrieveing the notifications 2014-09-08 01:22:47 -04:00
barisusakli
aed9a9f76f removed console.log 2014-09-07 21:41:39 -04:00
barisusakli
9b26b60082 fixed cron 2014-09-07 20:45:31 -04:00
barisusakli
61e1c51ef6 run notif prune every 30mins
disabled post edit log
2014-09-07 20:03:29 -04:00
barisusakli
a56ab7f15a closes #2061 2014-09-07 16:41:27 -04:00
barisusakli
242721c73f using websockets 2014-09-07 14:13:05 -04:00
barisusakli
6cd84ebe81 removed parseInt from sorts 2014-09-07 13:03:06 -04:00
barisusakli
3c8ca63608 fixed getCidsByPids 2014-09-07 12:36:50 -04:00
barisusakli
ec32a3d243 mising reuqire 2014-09-07 12:16:01 -04:00
psychobunny
0727c2a0bf forgot winston 2014-09-07 12:12:12 -04:00
barisusakli
2252ab7479 notifications.prune
run every hour
dont get more than 500 notifications
2014-09-07 03:17:51 -04:00
barisusakli
273db693e7 closes #2051 2014-09-06 23:57:51 -04:00
barisusakli
cc3786e22d closes #2055 2014-09-06 22:28:09 -04:00
barisusakli
b7ee875b12 user.isOnline fix
wont hit db on every user socket connect or user disconnect
2014-09-06 22:08:55 -04:00
barisusakli
fe58ea55d4 moved debugs 1 level up increased key limit to 100 2014-09-06 20:47:20 -04:00
barisusakli
57e204df8e removed most of the debug
dont get more than 6 usernames for upvote tooltips
generatePostPaths wont check null pids
2014-09-06 20:46:18 -04:00
barisusakli
0ad42873d5 nasty 2014-09-06 04:30:25 -04:00
barisusakli
4b20e78de2 hopefully final fix 2014-09-06 04:29:20 -04:00
barisusakli
3f4ede0778 parseInt 2014-09-06 04:11:44 -04:00
barisusakli
518d731562 one more time 2014-09-06 04:09:13 -04:00
barisusakli
f9c9f58561 post_index fix 2014-09-06 03:56:15 -04:00
barisusakli
34a4a2103f isNan check 2014-09-06 03:45:34 -04:00
barisusakli
edd73b5be2 again 2014-09-06 03:35:28 -04:00
barisusakli
5160a4f90f getTopicwithposts 2014-09-06 03:25:32 -04:00
barisusakli
ef329c95df fix 2014-09-06 03:21:00 -04:00
barisusakli
0b83657868 more trace 2014-09-06 03:19:13 -04:00
barisusakli
0d5605ab35 trace in addPostData 2014-09-06 03:09:41 -04:00
barisusakli
126b1c4f4c only get 20 chats 2014-09-06 02:59:40 -04:00
barisusakli
0cfa430444 crash fix 2014-09-06 02:46:43 -04:00
barisusakli
017f6bde2c 50 2014-09-06 02:45:38 -04:00
barisusakli
7405051924 50 2014-09-06 02:41:04 -04:00
barisusakli
5fd199ae8a check privs pids 2014-09-06 02:39:54 -04:00
barisusakli
51cafe075c only get 25 posts 2014-09-06 02:34:39 -04:00
psychobunny
099a04c1c8 disabling pushUnreadCount for now, perhaps this might be good on redis too? 2014-09-06 02:22:26 -04:00
psychobunny
07376c9a4c look for unread only for today 2014-09-06 02:22:25 -04:00
psychobunny
6aa47efc06 we don't trust user.isOnline, waiting on an optimization (disabling for now) 2014-09-06 02:22:25 -04:00
psychobunny
0de458141b separated the sockets.emit to socket.emit + broadcast so OP gets action right away. moved callback sooner. 2014-09-06 02:22:24 -04:00
psychobunny
61895633b3 disabling updateLastOnlineTime until we can move this key to redis 2014-09-06 02:22:24 -04:00
psychobunny
056f89d6cf use redis session storage instead of connect-mongo 2014-09-06 02:22:23 -04:00
psychobunny
071be4ae7f cache popular route for anons 2014-09-06 02:22:22 -04:00
psychobunny
15052143d3 that preloader, will blow up your datacenter. 2014-09-06 02:22:22 -04:00
psychobunny
6c7d7a45e8 their plugins, in package.json 2014-09-06 02:22:21 -04:00
psychobunny
4fd9b58a55 give mongo room to breathe 2014-09-06 02:22:20 -04:00
psychobunny
a4c625a4d6 use compiled bcrypt 2014-09-06 02:22:20 -04:00
barisusakli
bf67424fd6 if there are no uids return 2014-09-06 01:55:56 -04:00
barisusakli
e2697030ec removed reuqire 2014-09-06 01:10:46 -04:00
barisusakli
3f96532c3f disabled 2 calls 2014-09-06 01:07:03 -04:00
barisusakli
072db27a3c dont add more than 10 2014-09-06 01:05:20 -04:00
barisusakli
a48e95b910 check keys 2014-09-06 01:04:20 -04:00
barisusakli
779b2a8d73 optimize queries 2014-09-06 00:58:03 -04:00
barisusakli
421d091828 optimizing browsing users 2014-09-06 00:19:46 -04:00
barisusakli
0dc780148a removed global room
socket.io already puts everyone into a room named ''
2014-09-05 22:11:21 -04:00
barisusakli
8e86f4b787 crash fix 2014-09-05 20:35:24 -04:00
barisusakli
a6f8bcd7be dont show new posts on popular
doesnt makse sense
2014-09-05 19:10:21 -04:00
barisusakli
9fac18c4b6 derp 2014-09-05 17:39:24 -04:00
barisusakli
ff44819d6b add support to set parentCid to 0 2014-09-05 14:14:45 -04:00
Julian Lam
9ee4c90548 test route back to 404 2014-09-05 14:04:50 -04:00
barisusakli
bc00d7d159 check just in case 2014-09-05 13:51:02 -04:00
barisusakli
ba32a4dc4f crash fix 2014-09-05 13:45:36 -04:00
Julian Lam
7255ce3dbe primary worker support, and added notif pruning to primary worker jobs 2014-09-05 13:44:56 -04:00
Julian Lam
2efb816da3 restarted threads now grab a copy of the minified js and map from the loader 2014-09-05 13:23:30 -04:00
barisusakli
1075305444 crash fix 2014-09-05 03:00:53 -04:00
barisusakli
7361aec709 update every 3 seconds 2014-09-05 01:37:38 -04:00
barisusakli
877cf1e15c derp 2014-09-05 01:36:30 -04:00
barisusakli
95d1bd3058 crash fix 2014-09-05 01:30:08 -04:00
barisusakli
769d6ed57c removed console.log 2014-09-05 00:32:54 -04:00
barisusakli
2008bf28ff auto update user counts dont transmit all room data 2014-09-05 00:28:27 -04:00
barisusakli
190647a074 only update room text if its topic
will fix this in a better way
2014-09-04 23:26:55 -04:00
barisusakli
e28d778c0c fixed my derp 2014-09-04 22:41:02 -04:00
barisusakli
31fb0efbd9 crash fix 2014-09-04 22:32:50 -04:00
barisusakli
707a062661 one more fix 2014-09-04 22:11:21 -04:00
Julian Lam
fae169697e removing listener for templates compilation, in order to resolve race condition that was causing slow servers to not actually end up binding to the port as expected 2014-09-04 21:22:34 -04:00
barisusakli
94a3ecdbd1 cluster socket.io fixes
getUserRooms
getUidsInRoom
getAnonCountInRoom
2014-09-04 20:21:03 -04:00
Julian Lam
2d0877f80e better handling of port in use errors with cluster 2014-09-04 20:07:55 -04:00
barisusakli
9a908c1651 filter users who are already on dom 2014-09-04 17:49:35 -04:00
Julian Lam
fd0622a1a3 removed console.log 2014-09-04 17:49:13 -04:00
Julian Lam
fec3ae7e5e better integration with nodebb executable 2014-09-04 17:48:33 -04:00
barisusakli
0b2df849bd Merge remote-tracking branch 'origin/cluster' into cluster
Conflicts:
	loader.js
2014-09-04 17:43:44 -04:00
barisusakli
98f338b41c online count fixes for cluster 2014-09-04 17:41:00 -04:00
Julian Lam
e5a35ce378 js propagation for cluster module, so only 1 thread minifies the js 2014-09-04 17:39:53 -04:00
Julian Lam
08abbe19bc zero downtime and reload support with cluster module 2014-09-04 17:09:57 -04:00
Julian Lam
3918b29233 removed /test route 2014-09-04 16:39:24 -04:00
Julian Lam
8a996c4524 changing silent value based on environment variable 2014-09-04 15:13:16 -04:00
barisusakli
c62f251afc added index and fixed vote button in infinite scroll 2014-09-04 01:48:57 -04:00
barisusakli
e5795687bb fix settings on mongo 2014-09-04 01:34:31 -04:00
Julian Lam
0bc9437642 Merge branch 'cluster' of github.com:NodeBB/NodeBB into cluster 2014-09-04 00:56:55 -04:00
Julian Lam
956a431950 properly handling SIGHUP 2014-09-04 00:56:50 -04:00
barisusakli
45afe2e831 cast return to bool 2014-09-04 00:20:50 -04:00
Julian Lam
8baea1a251 crash timer 2014-09-04 00:01:08 -04:00
barisusakli
c8692f0562 Merge remote-tracking branch 'origin/0.5.1' into cluster 2014-09-03 23:43:52 -04:00
barisusakli
f81acd37db added indices on search key and id for mongo 2014-09-03 23:43:07 -04:00
Evan Lucas
3360752c5c Added action:post.downvote hook 2014-09-03 22:31:09 -04:00
barisusakli
84d0e64361 fix topic move 2014-09-03 20:19:51 -04:00
barisusakli
10b30e303b mongo posting fix 2014-09-03 19:38:48 -04:00
psychobunny
dc9754d77a Merge branch 'cluster' of https://github.com/NodeBB/NodeBB into cluster 2014-09-03 18:13:20 -04:00
psychobunny
baaac66d77 Merge remote-tracking branch 'origin/0.5.1' into cluster 2014-09-03 18:12:34 -04:00
barisusakli
705bdcdd69 Merge remote-tracking branch 'origin/0.5.1' into cluster 2014-09-03 18:12:34 -04:00
psychobunny
f609b1e45d calololback
(how the hell was this working?)
2014-09-03 18:08:47 -04:00
barisusakli
05a9e8b1d6 chat typing notif use room 2014-09-03 18:07:56 -04:00
barisusakli
20b951b9d9 added back num cpus 2014-09-03 17:23:47 -04:00
barisusakli
fdafb72c34 removed getUserSockets for chat
emit to users rooms directly
2014-09-03 17:22:29 -04:00
barisusakli
999da9183d Merge remote-tracking branch 'origin/0.5.1' into cluster 2014-09-03 16:14:15 -04:00
Julian Lam
de41896770 restart handling and crash detection 2014-09-03 15:24:47 -04:00
barisusakli
4736a68534 dont create term object on each call 2014-09-03 15:16:45 -04:00
psychobunny
9f0fff4434 closes #2039 2014-09-03 14:40:44 -04:00
barisusakli
c40355b816 removed debug 2014-09-03 14:07:12 -04:00
Julian Lam
b5da0e515b upping mentions minver for 0.5.1 2014-09-03 13:18:15 -04:00
Julian Lam
a5423aff16 getPidIndex callback if none specified 2014-09-03 12:55:31 -04:00
Julian Lam
baf72249b6 made uid parameter optional in getPidIndex 2014-09-03 12:54:26 -04:00
Julian Lam
063d270f1a introducing "sort" querystring parameter in topic route, so that sorting can be overridden via query string. 2014-09-03 12:50:06 -04:00
barisusakli
298f14ad27 removed cluster from app.js 2014-09-03 12:31:37 -04:00
barisusakli
0f46051fcf Merge remote-tracking branch 'origin/cluster-loader' into cluster 2014-09-03 12:28:51 -04:00
barisusakli
5362863588 debug 2014-09-03 12:28:24 -04:00
barisusakli
2073d994fc limit topicsperpage postsPerPage to 20 2014-09-03 12:00:25 -04:00
barisusakli
6926552e66 load 50 topics in sitemap instead of all 2014-09-03 11:30:07 -04:00
barisusakli
1b58fb3104 Merge remote-tracking branch 'origin/0.5.1' into cluster 2014-09-03 01:44:18 -04:00
Julian Lam
58a73b52b5 work-in-progress commit to get cluster module working with loader.js 2014-09-03 01:24:26 -04:00
barisusakli
94d050fd4f removed helpers.done 2014-09-03 01:13:28 -04:00
barisusakli
e00124007f testing 2 2014-09-03 01:06:17 -04:00
barisusakli
cbe3b5b6dc testing 2014-09-02 23:35:24 -04:00
Julian Lam
e6d0eede4f pruning empy notifications for daily emailer 2014-09-02 18:36:58 -04:00
barisusakli
4f48f1865f removed updateLastOnlineTime from every socket call 2014-09-02 17:36:59 -04:00
barisusakli
6b39e328f5 chat fix 2014-09-02 16:01:45 -04:00
barisusakli
e495db3065 dont make a copy of chat message 2014-09-02 15:50:02 -04:00
Julian Lam
c56a7bf475 Merge branch 'GAWMiners-feature/favourite-hook' into 0.5.1 2014-09-02 14:31:18 -04:00
Julian Lam
77475bb7a3 Merge branch 'feature/favourite-hook' of github.com:GAWMiners/NodeBB into GAWMiners-feature/favourite-hook 2014-09-02 14:30:08 -04:00
barisusakli
625766ba85 dont send typing notif on each keyup 2014-09-02 14:29:22 -04:00
Evan Lucas
440c78c949 match object.action nomenclature 2014-09-02 13:26:56 -05:00
Evan Lucas
fb45aa92fd Add upvote hook
adhere to similar project style
2014-09-02 13:20:00 -05:00
barisusakli
26c0b097cf removed realtime update of anon count 2014-09-02 13:49:48 -04:00
barisusakli
74282ffeea removed another unnecessary socket call 2014-09-02 13:23:36 -04:00
Julian Lam
a7736d1926 removed setTimeout when someone tries to log in with a non-existant username 2014-09-02 11:49:06 -04:00
barisusakli
171f02101d closes #2035, closes #2036 2014-09-02 05:04:39 -04:00
barisusakli
ff46d1211d removed populateONline users
not sure why this was called inside updateBrowsingUsers
2014-09-02 02:29:42 -04:00
barisusakli
6672f17fc2 part 1 of online user fix
don't call getOnlineUsers when a single person comes online
2014-09-02 02:26:56 -04:00
barisusakli
761d59f5ec each limit on pushUnreadCount 2014-09-02 01:34:26 -04:00
barisusakli
b8dfbdaff2 small optimization to online users 2014-09-01 23:33:32 -04:00
barisusakli
8b4c61241f query change 2014-09-01 20:45:24 -04:00
barisusakli
0c8c6632d9 create index on key value 2014-09-01 20:12:34 -04:00
barisusakli
487793e692 create index on score field 2014-09-01 19:44:43 -04:00
barisusakli
13bdd939e3 crash fix 2014-09-01 18:51:48 -04:00
barisusakli
619ca103c7 crash fix 2014-09-01 18:46:42 -04:00
barisusakli
1ed4c984bb Merge remote-tracking branch 'origin/master' into 0.5.1 2014-09-01 17:36:00 -04:00
barisusakli
0b79a73732 crash fix
if composer is opened in a topic that was deleted/purged
2014-09-01 17:24:23 -04:00
Barış Soner Uşaklı
43ca61de8c Update README.md 2014-09-01 14:42:11 -04:00
barisusakli
ae6d5e72f4 closes #2015 2014-09-01 14:09:47 -04:00
barisusakli
a252bf409c Merge remote-tracking branch 'origin/master' into 0.5.1 2014-09-01 13:30:50 -04:00
barisusakli
6c2ae0302d closes #2030 2014-09-01 13:29:49 -04:00
Julian Lam
fa2bf7c908 added disabled class back when form is submitting... aka clickspam handling 2014-09-01 00:05:19 -04:00
Julian Lam
ff24339b38 added back error:no-user 2014-08-31 23:49:22 -04:00
Julian Lam
4edceb0f92 allowing /user to also work in addition to /users 2014-08-31 23:02:24 -04:00
Julian Lam
caa9c8c157 more stuff using new returnTo behaviour 2014-08-31 22:51:02 -04:00
Julian Lam
08c9cbdf70 changing admin API calls to return 404 if unauthenticated, and redirect user to login for regular URL. closes #1885 2014-08-31 22:43:00 -04:00
Julian Lam
7572c9a803 added connect-ensure-login and allowed npm to alphabetize the dependencies listing 2014-08-31 22:42:29 -04:00
Julian Lam
298d904d45 refactored login process to be a form submit instead of ajax-redirect, implemented error message parsing using req.flash 2014-08-31 22:41:13 -04:00
Julian Lam
9ea081deb3 sending 'bind' message to child proc instead of SIGCONT signal, which is not understood by Windows installs 2014-08-31 16:13:05 -04:00
barisusakli
14fcd36134 closes #2028 2014-08-30 15:39:20 -04:00
barisusakli
603cddc687 closes #1934 2014-08-30 15:19:18 -04:00
barisusakli
4f5c78d675 merge 2014-08-30 14:44:43 -04:00
barisusakli
537dea4e4b crash fix 2014-08-30 14:42:48 -04:00
barisusakli
e6b3da18f2 merge 2014-08-30 11:58:19 -04:00
barisusakli
87c8cd2fb0 another crash fix 2014-08-30 11:56:29 -04:00
barisusakli
73bef8168f another crash fix 2014-08-30 11:54:43 -04:00
barisusakli
0473e7f25b crash fix 2014-08-30 11:50:45 -04:00
barisusakli
6b286a8f07 fix, dont display duped topics on category view 2014-08-29 18:18:31 -04:00
barisusakli
6ac8d9d349 check uid 2014-08-29 17:55:44 -04:00
barisusakli
576081e25f delete user ignored cids on account delete 2014-08-29 16:40:06 -04:00
barisusakli
197226eea6 closes #1742 2014-08-29 15:57:20 -04:00
barisusakli
acef614147 removed 2 BS classes 2014-08-29 14:50:24 -04:00
barisusakli
14fb171072 Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-29 14:10:21 -04:00
barisusakli
5f2380fdcd dont display all categories 2014-08-29 14:08:13 -04:00
Julian Lam
1f06e4f5a2 added secret key bindings for admins to reload and restart their NodeBBs :shipit: 2014-08-29 12:29:00 -04:00
Julian Lam
063a4e5628 finished up UX integration for in-topic searching, added mousetrap lib to capture ctrl-F only in topic view, closed #1800 2014-08-29 11:48:30 -04:00
Julian Lam
5d22806ded more topic searching work (working example, needs UX tie-in) 2014-08-29 11:18:02 -04:00
Julian Lam
cc930e4042 Merge branch '0.5.1' into topic_searching
Conflicts:
	src/socket.io/topics.js
2014-08-29 09:59:18 -04:00
Julian Lam
fa6daa37eb updated regex to match admin route with no trailing slash 2014-08-29 09:57:13 -04:00
Julian Lam
fa545c5bfd 0.5.0-4
Conflicts:
	package.json
2014-08-28 21:14:37 -04:00
barisusakli
43432e8bbb Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-28 15:34:58 -04:00
psychobunny
ad00c3cb50 updating font path 2014-08-28 14:29:22 -04:00
psychobunny
20da1b37a5 updating fontawesome, closes #2024 2014-08-28 14:29:09 -04:00
barisusakli
94c765fa25 closes #1996 2014-08-27 18:03:53 -04:00
psychobunny
8f3f409e0f documentation status badge 2014-08-27 16:27:55 -04:00
barisusakli
ba4b98de0e email and username checks on profile update 2014-08-27 16:06:49 -04:00
barisusakli
ed294dd414 Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-27 15:58:13 -04:00
Julian Lam
cd10248226 basic topic searching via search bar working 2014-08-27 15:26:44 -04:00
Julian Lam
df5283cbae Merge remote-tracking branch 'origin/0.5.1' into topic_searching 2014-08-27 15:04:43 -04:00
barisusakli
347fc05376 getPidIndex socket call 2014-08-27 15:03:36 -04:00
Julian Lam
1d3aafc08f adding sourceRoot to minified mapping 2014-08-27 14:42:10 -04:00
barisusakli
d67cd489cd crash fix 2014-08-27 14:09:15 -04:00
Julian Lam
347d7de25b an ajaxify.go 302 will pass callback and quiet arguments along as well now 2014-08-27 14:04:31 -04:00
Julian Lam
5d32073f2c Merge branch '0.5.1' into topic_searching 2014-08-27 12:29:02 -04:00
barisusakli
fdf19f9025 closes #2022 2014-08-27 01:27:17 -04:00
barisusakli
8eecf59c47 closes #2020 2014-08-26 18:47:52 -04:00
barisusakli
69ce425ae5 closes #2021 2014-08-26 18:45:03 -04:00
barisusakli
42f87a1db7 closes #2017 2014-08-26 15:55:21 -04:00
Julian Lam
2d9ca83ae0 better error messaging when js fails to compile when reloading 2014-08-26 15:31:27 -04:00
psychobunny
4384958bf2 passwords can now contain spaces 2014-08-26 15:05:42 -04:00
psychobunny
6a4bcf8ab8 fixed password error message 2014-08-26 14:57:20 -04:00
Julian Lam
e497290dbc removed commented-out code 2014-08-26 14:51:22 -04:00
Julian Lam
fcbdc5e271 added recompilation of templates to NodeBB Reloading - #2010 2014-08-26 14:48:43 -04:00
barisusakli
eef200be10 closes #1284 2014-08-26 13:47:53 -04:00
Julian Lam
124a4ce89c Merge branch 'hotreload' into 0.5.1
Conflicts:
	public/src/forum/admin/index.js
	src/meta.js
2014-08-26 13:12:25 -04:00
Julian Lam
5f96823f66 allowed the "forum updated" message to show up for reloads as well 2014-08-26 11:41:31 -04:00
psychobunny
1f6f2c13d5 apparently this was confusing 2014-08-26 11:35:54 -04:00
Julian Lam
ff38394f96 latest translations 2014-08-26 10:32:16 -04:00
barisusakli
dc0cec0352 merge 2014-08-25 20:01:12 -04:00
barisusakli
b856ddb98f closes #2018 2014-08-25 19:59:03 -04:00
barisusakli
c57b0a2199 closes #2013 2014-08-25 12:36:32 -04:00
Julian Lam
2bfa7d5b97 closed #2012 2014-08-25 11:57:35 -04:00
Julian Lam
ab77e6767e closed #2011 2014-08-25 11:57:35 -04:00
Julian Lam
0c4a788698 added callbacks to css and js reloading, issue #2010 2014-08-25 11:57:35 -04:00
Julian Lam
3e033043f3 on-demand reloading of client-side assets 2014-08-25 11:57:34 -04:00
Julian Lam
5886ccc419 framework for reloading 2014-08-25 11:57:34 -04:00
Julian Lam
ba91d7aba6 proof-of-concept for hot-swapping of routes 2014-08-25 11:57:34 -04:00
Julian Lam
c9e80b6f64 closed #2012 2014-08-25 11:56:48 -04:00
Julian Lam
4e55707652 closed #2011 2014-08-25 10:46:48 -04:00
Julian Lam
013dfd0ceb added callbacks to css and js reloading, issue #2010 2014-08-25 10:13:01 -04:00
Julian Lam
841c755bb7 on-demand reloading of client-side assets 2014-08-24 17:46:22 -04:00
Julian Lam
aca163d067 framework for reloading 2014-08-24 14:25:26 -04:00
barisusakli
e751a0c0cf closes #2003 2014-08-24 12:58:13 -04:00
Julian Lam
943874805d proof-of-concept for hot-swapping of routes 2014-08-24 12:30:49 -04:00
barisusakli
f11601d70f Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-23 22:36:26 -04:00
barisusakli
7019618863 closes #2003 2014-08-23 22:34:39 -04:00
barisusakli
62dd056faa tag search 2014-08-23 21:53:16 -04:00
Julian Lam
851ebc2a6e more translations... heh 2014-08-23 19:10:21 -04:00
Julian Lam
36752f94dc latest translations 2014-08-23 14:15:38 -04:00
barisusakli
ab0d31bef1 closes #2005 2014-08-22 19:21:20 -04:00
barisusakli
95c839579e closes #2007 2014-08-22 19:10:26 -04:00
barisusakli
5a42b6a7ea closes #2009 2014-08-22 18:05:50 -04:00
Julian Lam
69b9e57daf completing subcategory integration in backend, closed #1299 2014-08-21 09:52:21 -04:00
Julian Lam
b7c7dd98c3 ACP setting and API return for subcats 2014-08-21 00:11:39 -04:00
barisusakli
83de5ba5a4 added topic owner uid 2014-08-18 19:04:49 -04:00
barisusakli
06119510b7 merge 2014-08-18 16:20:12 -04:00
barisusakli
22fdf9f4ed getMainPost uses getMainPosts 2014-08-18 16:18:51 -04:00
barisusakli
b858b120da closes #1998 2014-08-18 16:03:25 -04:00
barisusakli
77a7c5caef eachLimit notifications.push 2014-08-17 22:12:43 -04:00
barisusakli
24ea74dc41 lol
O(log(n)) to O(1) and away
2014-08-17 22:10:16 -04:00
barisusakli
d411ed5c28 closes #1995 2014-08-17 19:26:24 -04:00
barisusakli
179e1e6143 Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-17 01:29:59 -04:00
barisusakli
05fdc945f3 closes #1993 2014-08-17 00:14:45 -04:00
barisusakli
5ae7c92d55 notifications refactor
added getMultiple which works with an array of nids
2014-08-16 23:25:30 -04:00
barisusakli
dd9a383f46 removed unused functions 2014-08-16 21:40:41 -04:00
barisusakli
ca90afd544 #1992
(drunk) not even done yet
2014-08-16 21:33:42 -04:00
barisusakli
3011491863 merge conflcit 2014-08-15 18:16:45 -04:00
barisusakli
b2f8a65bc8 removed slice 2014-08-15 18:12:43 -04:00
barisusakli
522fda2e58 closes #1936 2014-08-15 18:11:57 -04:00
barisusakli
d852f284da closes #1948 2014-08-15 15:45:01 -04:00
barisusakli
cd096f8832 sortedSetScores for tag counts 2014-08-15 11:48:01 -04:00
barisusakli
e10eaf0d50 added tag counts to api return 2014-08-14 21:12:12 -04:00
barisusakli
931d46fe7e merge 2014-08-14 18:01:22 -04:00
barisusakli
d91fa5747d closes #1964 2014-08-14 15:19:57 -04:00
barisusakli
60624eedec small tweak 2014-08-14 10:16:43 -04:00
barisusakli
5c91bc4335 optimized home 2014-08-14 09:59:40 -04:00
barisusakli
c58712e2a9 closes #1971 2014-08-14 08:34:38 -04:00
barisusakli
d0d1ebb28c Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-14 07:52:11 -04:00
barisusakli
c9c454825e closes #1369 2014-08-13 21:42:04 -04:00
barisusakli
d12a526e82 check against 0 first 2014-08-13 19:44:59 -04:00
barisusakli
e909e46786 closes #1989 2014-08-13 19:25:58 -04:00
barisusakli
3ab2e70e07 Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-13 18:46:07 -04:00
barisusakli
299d7bfee3 Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-13 18:33:34 -04:00
barisusakli
5c84a3adb5 closes #1974 2014-08-13 18:25:26 -04:00
barisusakli
f562caaa61 callback 2014-08-13 17:11:17 -04:00
barisusakli
37115ea3d6 Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-13 16:25:56 -04:00
barisusakli
464be4f7cc Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-13 15:33:42 -04:00
barisusakli
dae3ef49be show user names who upvoted a post on mouse over 2014-08-13 13:35:55 -04:00
barisusakli
005405b16c closes #1976 2014-08-12 21:41:23 -04:00
barisusakli
9511e4a633 Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-12 15:11:47 -04:00
barisusakli
5dd90880d4 Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-12 14:59:34 -04:00
barisusakli
b50a6d8f34 Merge remote-tracking branch 'origin/master' into 0.5.1 2014-08-12 14:06:12 -04:00
barisusakli
ac43ff3c3d closes #1970 2014-08-12 13:45:18 -04:00
barisusakli
ceaedf9e2f closes #1941 2014-08-12 13:02:07 -04:00
chronize
efe938b392 fix upgrade.js according to CodeClimate recommendation, remove BOM 2014-08-02 15:03:15 -04:00
chronize
a2f8f54061 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-08-02 14:54:57 -04:00
chronize
c456714440 revert package.json 2014-07-31 18:16:27 -04:00
chronize
6ed4e8ab48 Merge branch 'master' of https://github.com/NodeBB/NodeBB 2014-07-31 16:51:04 -04:00
chronize
4e4187417e optimize ACP groups screen, jQuery caching 2014-07-31 16:25:48 -04:00
chronize
945b5cd09c Merge branch 'master' of https://github.com/NodeBB/NodeBB
Conflicts:
	src/groups.js
2014-07-31 15:21:39 -04:00
chronize
a49aee9d3d Merge master 2014-07-31 15:20:41 -04:00
Julian Lam
925cd99afb Merge branch 'master' into topic_searching 2014-07-30 17:14:57 -04:00
Julian Lam
8296dc5630 beginning topic searching + new hook 2014-07-24 17:30:37 -04:00
1408 changed files with 82463 additions and 26709 deletions

View File

@@ -1,4 +1,8 @@
root = true
[*.js, *.css, *.tpl]
[{*.js, *.css, *.tpl, *.json}]
indent_style = tab
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = false

13
.gitattributes vendored Normal file
View File

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

25
.gitignore vendored
View File

@@ -3,12 +3,11 @@ node_modules/
sftp-config.json
config.json
public/src/nodebb.min.js
public/config.json
!src/views/config.json
public/css/*.css
*.sublime-project
*.sublime-workspace
.project
.idea
*.swp
Vagrantfile
.vagrant
@@ -17,12 +16,28 @@ provision.sh
.DS_Store
feeds/recent.rss
# winston?
error.log
events.log
logs/
pidfile
# templates
/public/templates
/public/sounds
/public/uploads
# compiled files
/public/stylesheet.css
/public/admin.css
/public/nodebb.min.js
/public/nodebb.min.js.map
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
*.iml
## Directory-based project format:
.idea/
## File-based project format:
*.ipr
*.iws

View File

@@ -1,12 +1,18 @@
services:
- redis-server
- redis-server
before_install:
- npm i --production
- node app --setup="{\"base_url\":\"http://127.0.0.1\",\"port\":4567,\"use_port\":false,\"secret\":\"abcdef\",\"bind_address\":\"0.0.0.0\",\"database\":\"redis\",\"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}"
- "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"
- npm i --production
- 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}"
before_script:
- "until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done"
language: node_js
node_js:
- "0.11"
- "0.10"
- "0.11"
- "0.10"
branches:
only:
- master
only:
- master

View File

@@ -6,8 +6,12 @@ file_filter = public/language/<lang>/category.json
source_file = public/language/en_GB/category.json
source_lang = en_GB
trans.ar = public/language/ar/category.json
trans.bn = public/language/bn/category.json
trans.bg = public/language/bg/category.json
trans.cs = public/language/cs/category.json
trans.da = public/language/da/category.json
trans.de = public/language/de/category.json
trans.el = public/language/el/category.json
trans.en_US = public/language/en_US/category.json
trans.en@pirate = public/language/en@pirate/category.json
trans.es = public/language/es/category.json
@@ -17,6 +21,7 @@ trans.fi = public/language/fi/category.json
trans.fr = public/language/fr/category.json
trans.he = public/language/he/category.json
trans.hu = public/language/hu/category.json
trans.id = public/language/id/category.json
trans.it = public/language/it/category.json
trans.ja = public/language/ja/category.json
trans.ko = public/language/ko/category.json
@@ -28,8 +33,10 @@ trans.pl = public/language/pl/category.json
trans.pt_BR = public/language/pt_BR/category.json
trans.ru = public/language/ru/category.json
trans.ro = public/language/ro/category.json
trans.rw = public/language/rw/category.json
trans.sc = public/language/sc/category.json
trans.sk = public/language/sk/category.json
trans.sr = public/language/sr/category.json
trans.sv = public/language/sv/category.json
trans.th = public/language/th/category.json
trans.tr = public/language/tr/category.json
@@ -43,8 +50,12 @@ file_filter = public/language/<lang>/login.json
source_file = public/language/en_GB/login.json
source_lang = en_GB
trans.ar = public/language/ar/login.json
trans.bn = public/language/bn/login.json
trans.bg = public/language/bg/login.json
trans.cs = public/language/cs/login.json
trans.da = public/language/da/login.json
trans.de = public/language/de/login.json
trans.el = public/language/el/login.json
trans.en_US = public/language/en_US/login.json
trans.en@pirate = public/language/en@pirate/login.json
trans.es = public/language/es/login.json
@@ -54,6 +65,7 @@ trans.fi = public/language/fi/login.json
trans.fr = public/language/fr/login.json
trans.he = public/language/he/login.json
trans.hu = public/language/hu/login.json
trans.id = public/language/id/login.json
trans.it = public/language/it/login.json
trans.ja = public/language/ja/login.json
trans.ko = public/language/ko/login.json
@@ -65,8 +77,10 @@ trans.pl = public/language/pl/login.json
trans.pt_BR = public/language/pt_BR/login.json
trans.ru = public/language/ru/login.json
trans.ro = public/language/ro/login.json
trans.rw = public/language/rw/login.json
trans.sc = public/language/sc/login.json
trans.sk = public/language/sk/login.json
trans.sr = public/language/sr/login.json
trans.sv = public/language/sv/login.json
trans.th = public/language/th/login.json
trans.tr = public/language/tr/login.json
@@ -76,11 +90,16 @@ trans.zh_TW = public/language/zh_TW/login.json
type = KEYVALUEJSON
[nodebb.recent]
file_filter = public/language/<lang>/recent.json
source_file = public/language/en_GB/recent.json
source_lang = en_GB
trans.ar = public/language/ar/recent.json
trans.bn = public/language/bn/recent.json
trans.bg = public/language/bg/recent.json
trans.cs = public/language/cs/recent.json
trans.da = public/language/da/recent.json
trans.de = public/language/de/recent.json
trans.el = public/language/el/recent.json
trans.en_US = public/language/en_US/recent.json
trans.en@pirate = public/language/en@pirate/recent.json
trans.es = public/language/es/recent.json
@@ -90,6 +109,7 @@ trans.fi = public/language/fi/recent.json
trans.fr = public/language/fr/recent.json
trans.he = public/language/he/recent.json
trans.hu = public/language/hu/recent.json
trans.id = public/language/id/recent.json
trans.it = public/language/it/recent.json
trans.ja = public/language/ja/recent.json
trans.ko = public/language/ko/recent.json
@@ -101,8 +121,10 @@ trans.pl = public/language/pl/recent.json
trans.pt_BR = public/language/pt_BR/recent.json
trans.ru = public/language/ru/recent.json
trans.ro = public/language/ro/recent.json
trans.rw = public/language/rw/recent.json
trans.sc = public/language/sc/recent.json
trans.sk = public/language/sk/recent.json
trans.sr = public/language/sr/recent.json
trans.sv = public/language/sv/recent.json
trans.th = public/language/th/recent.json
trans.tr = public/language/tr/recent.json
@@ -112,11 +134,16 @@ trans.zh_TW = public/language/zh_TW/recent.json
type = KEYVALUEJSON
[nodebb.unread]
file_filter = public/language/<lang>/unread.json
source_file = public/language/en_GB/unread.json
source_lang = en_GB
trans.ar = public/language/ar/unread.json
trans.bn = public/language/bn/unread.json
trans.bg = public/language/bg/unread.json
trans.cs = public/language/cs/unread.json
trans.da = public/language/da/unread.json
trans.de = public/language/de/unread.json
trans.el = public/language/el/unread.json
trans.en_US = public/language/en_US/unread.json
trans.en@pirate = public/language/en@pirate/unread.json
trans.es = public/language/es/unread.json
@@ -126,6 +153,7 @@ trans.fi = public/language/fi/unread.json
trans.fr = public/language/fr/unread.json
trans.he = public/language/he/unread.json
trans.hu = public/language/hu/unread.json
trans.id = public/language/id/unread.json
trans.it = public/language/it/unread.json
trans.ja = public/language/ja/unread.json
trans.ko = public/language/ko/unread.json
@@ -137,8 +165,10 @@ trans.pl = public/language/pl/unread.json
trans.pt_BR = public/language/pt_BR/unread.json
trans.ru = public/language/ru/unread.json
trans.ro = public/language/ro/unread.json
trans.rw = public/language/rw/unread.json
trans.sc = public/language/sc/unread.json
trans.sk = public/language/sk/unread.json
trans.sr = public/language/sr/unread.json
trans.sv = public/language/sv/unread.json
trans.th = public/language/th/unread.json
trans.tr = public/language/tr/unread.json
@@ -148,11 +178,16 @@ trans.zh_TW = public/language/zh_TW/unread.json
type = KEYVALUEJSON
[nodebb.modules]
file_filter = public/language/<lang>/modules.json
source_file = public/language/en_GB/modules.json
source_lang = en_GB
trans.ar = public/language/ar/modules.json
trans.bn = public/language/bn/modules.json
trans.bg = public/language/bg/modules.json
trans.cs = public/language/cs/modules.json
trans.da = public/language/da/modules.json
trans.de = public/language/de/modules.json
trans.el = public/language/el/modules.json
trans.en_US = public/language/en_US/modules.json
trans.en@pirate = public/language/en@pirate/modules.json
trans.es = public/language/es/modules.json
@@ -162,6 +197,7 @@ trans.fi = public/language/fi/modules.json
trans.fr = public/language/fr/modules.json
trans.he = public/language/he/modules.json
trans.hu = public/language/hu/modules.json
trans.id = public/language/id/modules.json
trans.it = public/language/it/modules.json
trans.ja = public/language/ja/modules.json
trans.ko = public/language/ko/modules.json
@@ -173,8 +209,10 @@ trans.pl = public/language/pl/modules.json
trans.pt_BR = public/language/pt_BR/modules.json
trans.ru = public/language/ru/modules.json
trans.ro = public/language/ro/modules.json
trans.rw = public/language/rw/modules.json
trans.sc = public/language/sc/modules.json
trans.sk = public/language/sk/modules.json
trans.sr = public/language/sr/modules.json
trans.sv = public/language/sv/modules.json
trans.th = public/language/th/modules.json
trans.tr = public/language/tr/modules.json
@@ -184,11 +222,16 @@ trans.zh_TW = public/language/zh_TW/modules.json
type = KEYVALUEJSON
[nodebb.register]
file_filter = public/language/<lang>/register.json
source_file = public/language/en_GB/register.json
source_lang = en_GB
trans.ar = public/language/ar/register.json
trans.bn = public/language/bn/register.json
trans.bg = public/language/bg/register.json
trans.cs = public/language/cs/register.json
trans.da = public/language/da/register.json
trans.de = public/language/de/register.json
trans.el = public/language/el/register.json
trans.en_US = public/language/en_US/register.json
trans.en@pirate = public/language/en@pirate/register.json
trans.es = public/language/es/register.json
@@ -198,6 +241,7 @@ trans.fi = public/language/fi/register.json
trans.fr = public/language/fr/register.json
trans.he = public/language/he/register.json
trans.hu = public/language/hu/register.json
trans.id = public/language/id/register.json
trans.it = public/language/it/register.json
trans.ja = public/language/ja/register.json
trans.ko = public/language/ko/register.json
@@ -209,8 +253,10 @@ trans.pl = public/language/pl/register.json
trans.pt_BR = public/language/pt_BR/register.json
trans.ru = public/language/ru/register.json
trans.ro = public/language/ro/register.json
trans.rw = public/language/rw/register.json
trans.sc = public/language/sc/register.json
trans.sk = public/language/sk/register.json
trans.sr = public/language/sr/register.json
trans.sv = public/language/sv/register.json
trans.th = public/language/th/register.json
trans.tr = public/language/tr/register.json
@@ -220,11 +266,16 @@ trans.zh_TW = public/language/zh_TW/register.json
type = KEYVALUEJSON
[nodebb.user]
file_filter = public/language/<lang>/user.json
source_file = public/language/en_GB/user.json
source_lang = en_GB
trans.ar = public/language/ar/user.json
trans.bn = public/language/bn/user.json
trans.bg = public/language/bg/user.json
trans.cs = public/language/cs/user.json
trans.da = public/language/da/user.json
trans.de = public/language/de/user.json
trans.el = public/language/el/user.json
trans.en_US = public/language/en_US/user.json
trans.en@pirate = public/language/en@pirate/user.json
trans.es = public/language/es/user.json
@@ -234,6 +285,7 @@ trans.fi = public/language/fi/user.json
trans.fr = public/language/fr/user.json
trans.he = public/language/he/user.json
trans.hu = public/language/hu/user.json
trans.id = public/language/id/user.json
trans.it = public/language/it/user.json
trans.ja = public/language/ja/user.json
trans.ko = public/language/ko/user.json
@@ -245,8 +297,10 @@ trans.pl = public/language/pl/user.json
trans.pt_BR = public/language/pt_BR/user.json
trans.ru = public/language/ru/user.json
trans.ro = public/language/ro/user.json
trans.rw = public/language/rw/user.json
trans.sc = public/language/sc/user.json
trans.sk = public/language/sk/user.json
trans.sr = public/language/sr/user.json
trans.sv = public/language/sv/user.json
trans.th = public/language/th/user.json
trans.tr = public/language/tr/user.json
@@ -256,11 +310,16 @@ trans.zh_TW = public/language/zh_TW/user.json
type = KEYVALUEJSON
[nodebb.global]
file_filter = public/language/<lang>/global.json
source_file = public/language/en_GB/global.json
source_lang = en_GB
trans.ar = public/language/ar/global.json
trans.bn = public/language/bn/global.json
trans.bg = public/language/bg/global.json
trans.cs = public/language/cs/global.json
trans.da = public/language/da/global.json
trans.de = public/language/de/global.json
trans.el = public/language/el/global.json
trans.en_US = public/language/en_US/global.json
trans.en@pirate = public/language/en@pirate/global.json
trans.es = public/language/es/global.json
@@ -270,6 +329,7 @@ trans.fi = public/language/fi/global.json
trans.fr = public/language/fr/global.json
trans.he = public/language/he/global.json
trans.hu = public/language/hu/global.json
trans.id = public/language/id/global.json
trans.it = public/language/it/global.json
trans.ja = public/language/ja/global.json
trans.ko = public/language/ko/global.json
@@ -281,8 +341,10 @@ trans.pl = public/language/pl/global.json
trans.pt_BR = public/language/pt_BR/global.json
trans.ru = public/language/ru/global.json
trans.ro = public/language/ro/global.json
trans.rw = public/language/rw/global.json
trans.sc = public/language/sc/global.json
trans.sk = public/language/sk/global.json
trans.sr = public/language/sr/global.json
trans.sv = public/language/sv/global.json
trans.th = public/language/th/global.json
trans.tr = public/language/tr/global.json
@@ -292,11 +354,16 @@ trans.zh_TW = public/language/zh_TW/global.json
type = KEYVALUEJSON
[nodebb.notifications]
file_filter = public/language/<lang>/notifications.json
source_file = public/language/en_GB/notifications.json
source_lang = en_GB
trans.ar = public/language/ar/notifications.json
trans.bn = public/language/bn/notifications.json
trans.bg = public/language/bg/notifications.json
trans.cs = public/language/cs/notifications.json
trans.da = public/language/da/notifications.json
trans.de = public/language/de/notifications.json
trans.el = public/language/el/notifications.json
trans.en_US = public/language/en_US/notifications.json
trans.en@pirate = public/language/en@pirate/notifications.json
trans.es = public/language/es/notifications.json
@@ -306,6 +373,7 @@ trans.fi = public/language/fi/notifications.json
trans.fr = public/language/fr/notifications.json
trans.he = public/language/he/notifications.json
trans.hu = public/language/hu/notifications.json
trans.id = public/language/id/notifications.json
trans.it = public/language/it/notifications.json
trans.ja = public/language/ja/notifications.json
trans.ko = public/language/ko/notifications.json
@@ -317,8 +385,10 @@ trans.pl = public/language/pl/notifications.json
trans.pt_BR = public/language/pt_BR/notifications.json
trans.ru = public/language/ru/notifications.json
trans.ro = public/language/ro/notifications.json
trans.rw = public/language/rw/notifications.json
trans.sc = public/language/sc/notifications.json
trans.sk = public/language/sk/notifications.json
trans.sr = public/language/sr/notifications.json
trans.sv = public/language/sv/notifications.json
trans.th = public/language/th/notifications.json
trans.tr = public/language/tr/notifications.json
@@ -328,11 +398,16 @@ trans.zh_TW = public/language/zh_TW/notifications.json
type = KEYVALUEJSON
[nodebb.reset_password]
file_filter = public/language/<lang>/reset_password.json
source_file = public/language/en_GB/reset_password.json
source_lang = en_GB
trans.ar = public/language/ar/reset_password.json
trans.bn = public/language/bn/reset_password.json
trans.bg = public/language/bg/reset_password.json
trans.cs = public/language/cs/reset_password.json
trans.da = public/language/da/reset_password.json
trans.de = public/language/de/reset_password.json
trans.el = public/language/el/reset_password.json
trans.en_US = public/language/en_US/reset_password.json
trans.en@pirate = public/language/en@pirate/reset_password.json
trans.es = public/language/es/reset_password.json
@@ -342,6 +417,7 @@ trans.fi = public/language/fi/reset_password.json
trans.fr = public/language/fr/reset_password.json
trans.he = public/language/he/reset_password.json
trans.hu = public/language/hu/reset_password.json
trans.id = public/language/id/reset_password.json
trans.it = public/language/it/reset_password.json
trans.ja = public/language/ja/reset_password.json
trans.ko = public/language/ko/reset_password.json
@@ -353,8 +429,10 @@ trans.pl = public/language/pl/reset_password.json
trans.pt_BR = public/language/pt_BR/reset_password.json
trans.ru = public/language/ru/reset_password.json
trans.ro = public/language/ro/reset_password.json
trans.rw = public/language/rw/reset_password.json
trans.sc = public/language/sc/reset_password.json
trans.sk = public/language/sk/reset_password.json
trans.sr = public/language/sr/reset_password.json
trans.sv = public/language/sv/reset_password.json
trans.th = public/language/th/reset_password.json
trans.tr = public/language/tr/reset_password.json
@@ -364,11 +442,16 @@ trans.zh_TW = public/language/zh_TW/reset_password.json
type = KEYVALUEJSON
[nodebb.users]
file_filter = public/language/<lang>/users.json
source_file = public/language/en_GB/users.json
source_lang = en_GB
trans.ar = public/language/ar/users.json
trans.bn = public/language/bn/users.json
trans.bg = public/language/bg/users.json
trans.cs = public/language/cs/users.json
trans.da = public/language/da/users.json
trans.de = public/language/de/users.json
trans.el = public/language/el/users.json
trans.en_US = public/language/en_US/users.json
trans.en@pirate = public/language/en@pirate/users.json
trans.es = public/language/es/users.json
@@ -378,6 +461,7 @@ trans.fi = public/language/fi/users.json
trans.fr = public/language/fr/users.json
trans.he = public/language/he/users.json
trans.hu = public/language/hu/users.json
trans.id = public/language/id/users.json
trans.it = public/language/it/users.json
trans.ja = public/language/ja/users.json
trans.ko = public/language/ko/users.json
@@ -389,8 +473,10 @@ trans.pl = public/language/pl/users.json
trans.pt_BR = public/language/pt_BR/users.json
trans.ru = public/language/ru/users.json
trans.ro = public/language/ro/users.json
trans.rw = public/language/rw/users.json
trans.sc = public/language/sc/users.json
trans.sk = public/language/sk/users.json
trans.sr = public/language/sr/users.json
trans.sv = public/language/sv/users.json
trans.th = public/language/th/users.json
trans.tr = public/language/tr/users.json
@@ -399,12 +485,17 @@ trans.zh_CN = public/language/zh_CN/users.json
trans.zh_TW = public/language/zh_TW/users.json
type = KEYVALUEJSON
[nodebb.language]
[nodebb.language-1]
file_filter = public/language/<lang>/language.json
source_file = public/language/en_GB/language.json
source_lang = en_GB
trans.ar = public/language/ar/language.json
trans.bn = public/language/bn/language.json
trans.bg = public/language/bg/language.json
trans.cs = public/language/cs/language.json
trans.da = public/language/da/language.json
trans.de = public/language/de/language.json
trans.el = public/language/el/language.json
trans.en_US = public/language/en_US/language.json
trans.en@pirate = public/language/en@pirate/language.json
trans.es = public/language/es/language.json
@@ -414,6 +505,7 @@ trans.fi = public/language/fi/language.json
trans.fr = public/language/fr/language.json
trans.he = public/language/he/language.json
trans.hu = public/language/hu/language.json
trans.id = public/language/id/language.json
trans.it = public/language/it/language.json
trans.ja = public/language/ja/language.json
trans.ko = public/language/ko/language.json
@@ -425,8 +517,10 @@ trans.pl = public/language/pl/language.json
trans.pt_BR = public/language/pt_BR/language.json
trans.ru = public/language/ru/language.json
trans.ro = public/language/ro/language.json
trans.rw = public/language/rw/language.json
trans.sc = public/language/sc/language.json
trans.sk = public/language/sk/language.json
trans.sr = public/language/sr/language.json
trans.sv = public/language/sv/language.json
trans.th = public/language/th/language.json
trans.tr = public/language/tr/language.json
@@ -436,11 +530,16 @@ trans.zh_TW = public/language/zh_TW/language.json
type = KEYVALUEJSON
[nodebb.pages]
file_filter = public/language/<lang>/pages.json
source_file = public/language/en_GB/pages.json
source_lang = en_GB
trans.ar = public/language/ar/pages.json
trans.bn = public/language/bn/pages.json
trans.bg = public/language/bg/pages.json
trans.cs = public/language/cs/pages.json
trans.da = public/language/da/pages.json
trans.de = public/language/de/pages.json
trans.el = public/language/el/pages.json
trans.en_US = public/language/en_US/pages.json
trans.en@pirate = public/language/en@pirate/pages.json
trans.es = public/language/es/pages.json
@@ -450,6 +549,7 @@ trans.fi = public/language/fi/pages.json
trans.fr = public/language/fr/pages.json
trans.he = public/language/he/pages.json
trans.hu = public/language/hu/pages.json
trans.id = public/language/id/pages.json
trans.it = public/language/it/pages.json
trans.ja = public/language/ja/pages.json
trans.ko = public/language/ko/pages.json
@@ -461,8 +561,10 @@ trans.pl = public/language/pl/pages.json
trans.pt_BR = public/language/pt_BR/pages.json
trans.ru = public/language/ru/pages.json
trans.ro = public/language/ro/pages.json
trans.rw = public/language/rw/pages.json
trans.sc = public/language/sc/pages.json
trans.sk = public/language/sk/pages.json
trans.sr = public/language/sr/pages.json
trans.sv = public/language/sv/pages.json
trans.th = public/language/th/pages.json
trans.tr = public/language/tr/pages.json
@@ -472,11 +574,16 @@ trans.zh_TW = public/language/zh_TW/pages.json
type = KEYVALUEJSON
[nodebb.topic]
file_filter = public/language/<lang>/topic.json
source_file = public/language/en_GB/topic.json
source_lang = en_GB
trans.ar = public/language/ar/topic.json
trans.bn = public/language/bn/topic.json
trans.bg = public/language/bg/topic.json
trans.cs = public/language/cs/topic.json
trans.da = public/language/da/topic.json
trans.de = public/language/de/topic.json
trans.el = public/language/el/topic.json
trans.en_US = public/language/en_US/topic.json
trans.en@pirate = public/language/en@pirate/topic.json
trans.es = public/language/es/topic.json
@@ -486,6 +593,7 @@ trans.fi = public/language/fi/topic.json
trans.fr = public/language/fr/topic.json
trans.he = public/language/he/topic.json
trans.hu = public/language/hu/topic.json
trans.id = public/language/id/topic.json
trans.it = public/language/it/topic.json
trans.ja = public/language/ja/topic.json
trans.ko = public/language/ko/topic.json
@@ -497,8 +605,10 @@ trans.pl = public/language/pl/topic.json
trans.pt_BR = public/language/pt_BR/topic.json
trans.ru = public/language/ru/topic.json
trans.ro = public/language/ro/topic.json
trans.rw = public/language/rw/topic.json
trans.sc = public/language/sc/topic.json
trans.sk = public/language/sk/topic.json
trans.sr = public/language/sr/topic.json
trans.sv = public/language/sv/topic.json
trans.th = public/language/th/topic.json
trans.tr = public/language/tr/topic.json
@@ -508,11 +618,16 @@ trans.zh_TW = public/language/zh_TW/topic.json
type = KEYVALUEJSON
[nodebb.success]
file_filter = public/language/<lang>/success.json
source_file = public/language/en_GB/success.json
source_lang = en_GB
trans.ar = public/language/ar/success.json
trans.bn = public/language/bn/success.json
trans.bg = public/language/bg/success.json
trans.cs = public/language/cs/success.json
trans.da = public/language/da/success.json
trans.de = public/language/de/success.json
trans.el = public/language/el/success.json
trans.en_US = public/language/en_US/success.json
trans.en@pirate = public/language/en@pirate/success.json
trans.es = public/language/es/success.json
@@ -522,6 +637,7 @@ trans.fi = public/language/fi/success.json
trans.fr = public/language/fr/success.json
trans.he = public/language/he/success.json
trans.hu = public/language/hu/success.json
trans.id = public/language/id/success.json
trans.it = public/language/it/success.json
trans.ja = public/language/ja/success.json
trans.ko = public/language/ko/success.json
@@ -533,8 +649,10 @@ trans.pl = public/language/pl/success.json
trans.pt_BR = public/language/pt_BR/success.json
trans.ru = public/language/ru/success.json
trans.ro = public/language/ro/success.json
trans.rw = public/language/rw/success.json
trans.sc = public/language/sc/success.json
trans.sk = public/language/sk/success.json
trans.sr = public/language/sr/success.json
trans.sv = public/language/sv/success.json
trans.th = public/language/th/success.json
trans.tr = public/language/tr/success.json
@@ -544,11 +662,16 @@ trans.zh_TW = public/language/zh_TW/success.json
type = KEYVALUEJSON
[nodebb.error]
file_filter = public/language/<lang>/error.json
source_file = public/language/en_GB/error.json
source_lang = en_GB
trans.ar = public/language/ar/error.json
trans.bn = public/language/bn/error.json
trans.bg = public/language/bg/error.json
trans.cs = public/language/cs/error.json
trans.da = public/language/da/error.json
trans.de = public/language/de/error.json
trans.el = public/language/el/error.json
trans.en_US = public/language/en_US/error.json
trans.en@pirate = public/language/en@pirate/error.json
trans.es = public/language/es/error.json
@@ -558,6 +681,7 @@ trans.fi = public/language/fi/error.json
trans.fr = public/language/fr/error.json
trans.he = public/language/he/error.json
trans.hu = public/language/hu/error.json
trans.id = public/language/id/error.json
trans.it = public/language/it/error.json
trans.ja = public/language/ja/error.json
trans.ko = public/language/ko/error.json
@@ -569,8 +693,10 @@ trans.pl = public/language/pl/error.json
trans.pt_BR = public/language/pt_BR/error.json
trans.ru = public/language/ru/error.json
trans.ro = public/language/ro/error.json
trans.rw = public/language/rw/error.json
trans.sc = public/language/sc/error.json
trans.sk = public/language/sk/error.json
trans.sr = public/language/sr/error.json
trans.sv = public/language/sv/error.json
trans.th = public/language/th/error.json
trans.tr = public/language/tr/error.json
@@ -580,11 +706,16 @@ trans.zh_TW = public/language/zh_TW/error.json
type = KEYVALUEJSON
[nodebb.tags]
file_filter = public/language/<lang>/tags.json
source_file = public/language/en_GB/tags.json
source_lang = en_GB
trans.ar = public/language/ar/tags.json
trans.bn = public/language/bn/tags.json
trans.bg = public/language/bg/tags.json
trans.cs = public/language/cs/tags.json
trans.da = public/language/da/tags.json
trans.de = public/language/de/tags.json
trans.el = public/language/el/tags.json
trans.en_US = public/language/en_US/tags.json
trans.en@pirate = public/language/en@pirate/tags.json
trans.es = public/language/es/tags.json
@@ -594,6 +725,7 @@ trans.fi = public/language/fi/tags.json
trans.fr = public/language/fr/tags.json
trans.he = public/language/he/tags.json
trans.hu = public/language/hu/tags.json
trans.id = public/language/id/tags.json
trans.it = public/language/it/tags.json
trans.ja = public/language/ja/tags.json
trans.ko = public/language/ko/tags.json
@@ -605,8 +737,10 @@ trans.pl = public/language/pl/tags.json
trans.pt_BR = public/language/pt_BR/tags.json
trans.ru = public/language/ru/tags.json
trans.ro = public/language/ro/tags.json
trans.rw = public/language/rw/tags.json
trans.sc = public/language/sc/tags.json
trans.sk = public/language/sk/tags.json
trans.sr = public/language/sr/tags.json
trans.sv = public/language/sv/tags.json
trans.th = public/language/th/tags.json
trans.tr = public/language/tr/tags.json
@@ -616,11 +750,16 @@ trans.zh_TW = public/language/zh_TW/tags.json
type = KEYVALUEJSON
[nodebb.email]
file_filter = public/language/<lang>/email.json
source_file = public/language/en_GB/email.json
source_lang = en_GB
trans.ar = public/language/ar/email.json
trans.bn = public/language/bn/email.json
trans.bg = public/language/bg/email.json
trans.cs = public/language/cs/email.json
trans.da = public/language/da/email.json
trans.de = public/language/de/email.json
trans.el = public/language/el/email.json
trans.en_US = public/language/en_US/email.json
trans.en@pirate = public/language/en@pirate/email.json
trans.es = public/language/es/email.json
@@ -630,6 +769,7 @@ trans.fi = public/language/fi/email.json
trans.fr = public/language/fr/email.json
trans.he = public/language/he/email.json
trans.hu = public/language/hu/email.json
trans.id = public/language/id/email.json
trans.it = public/language/it/email.json
trans.ja = public/language/ja/email.json
trans.ko = public/language/ko/email.json
@@ -641,8 +781,10 @@ trans.pl = public/language/pl/email.json
trans.pt_BR = public/language/pt_BR/email.json
trans.ru = public/language/ru/email.json
trans.ro = public/language/ro/email.json
trans.rw = public/language/rw/email.json
trans.sc = public/language/sc/email.json
trans.sk = public/language/sk/email.json
trans.sr = public/language/sr/email.json
trans.sv = public/language/sv/email.json
trans.th = public/language/th/email.json
trans.tr = public/language/tr/email.json
@@ -652,11 +794,16 @@ trans.zh_TW = public/language/zh_TW/email.json
type = KEYVALUEJSON
[nodebb.search]
file_filter = public/language/<lang>/search.json
source_file = public/language/en_GB/search.json
source_lang = en_GB
trans.ar = public/language/ar/search.json
trans.bn = public/language/bn/search.json
trans.bg = public/language/bg/search.json
trans.cs = public/language/cs/search.json
trans.da = public/language/da/search.json
trans.de = public/language/de/search.json
trans.el = public/language/el/search.json
trans.en_US = public/language/en_US/search.json
trans.en@pirate = public/language/en@pirate/search.json
trans.es = public/language/es/search.json
@@ -666,6 +813,7 @@ trans.fi = public/language/fi/search.json
trans.fr = public/language/fr/search.json
trans.he = public/language/he/search.json
trans.hu = public/language/hu/search.json
trans.id = public/language/id/search.json
trans.it = public/language/it/search.json
trans.ja = public/language/ja/search.json
trans.ko = public/language/ko/search.json
@@ -677,8 +825,10 @@ trans.pl = public/language/pl/search.json
trans.pt_BR = public/language/pt_BR/search.json
trans.ru = public/language/ru/search.json
trans.ro = public/language/ro/search.json
trans.rw = public/language/rw/search.json
trans.sc = public/language/sc/search.json
trans.sk = public/language/sk/search.json
trans.sr = public/language/sr/search.json
trans.sv = public/language/sv/search.json
trans.th = public/language/th/search.json
trans.tr = public/language/tr/search.json
@@ -688,11 +838,16 @@ trans.zh_TW = public/language/zh_TW/search.json
type = KEYVALUEJSON
[nodebb.groups]
file_filter = public/language/<lang>/groups.json
source_file = public/language/en_GB/groups.json
source_lang = en_GB
trans.ar = public/language/ar/groups.json
trans.bn = public/language/bn/groups.json
trans.bg = public/language/bg/groups.json
trans.cs = public/language/cs/groups.json
trans.da = public/language/da/groups.json
trans.de = public/language/de/groups.json
trans.el = public/language/el/groups.json
trans.en_US = public/language/en_US/groups.json
trans.en@pirate = public/language/en@pirate/groups.json
trans.es = public/language/es/groups.json
@@ -702,6 +857,7 @@ trans.fi = public/language/fi/groups.json
trans.fr = public/language/fr/groups.json
trans.he = public/language/he/groups.json
trans.hu = public/language/hu/groups.json
trans.id = public/language/id/groups.json
trans.it = public/language/it/groups.json
trans.ja = public/language/ja/groups.json
trans.ko = public/language/ko/groups.json
@@ -713,8 +869,10 @@ trans.pl = public/language/pl/groups.json
trans.pt_BR = public/language/pt_BR/groups.json
trans.ru = public/language/ru/groups.json
trans.ro = public/language/ro/groups.json
trans.rw = public/language/rw/groups.json
trans.sc = public/language/sc/groups.json
trans.sk = public/language/sk/groups.json
trans.sr = public/language/sr/groups.json
trans.sv = public/language/sv/groups.json
trans.th = public/language/th/groups.json
trans.tr = public/language/tr/groups.json

66
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,66 @@
# 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 :)
## Contributor License Agreement
Thank you for considering contributing to NodeBB. **Before we can accept any pull requests, please take a moment to read and sign our [license agreement](https://www.clahub.com/agreements/NodeBB/NodeBB)**. In summary, signing this document means that 1) you own the code that you are contributing and 2) you give permission to NodeBB Inc. to license the code to others. This agreement applies to any repository under the NodeBB organization.
If you are writing contributions as part of employment from another company / individual, then your employer will need to sign a separate agreement. Please [contact us](mailto:accounts@nodebb.org) so that we can send this additional agreement to your employer.
# 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.
# Found a Security Vulnerability?
If you believe you have identified a security vulnerability with NodeBB, report it as soon as possible via email to **security@nodebb.org**.
A member of the NodeBB security team will respond to the issue.
Please do not post it to the public bug tracker.
# Issues & Bugs
Thanks for reporting an issue with NodeBB! Please follow these guidelines in order to streamline the debugging process. The more guidelines you follow, the easier it will be for us to reproduce your problem.
In general, if we can't reproduce it, we can't fix it!
## Try the latest version of NodeBB
There is a chance that the issue you are experiencing may have already been fixed.
## Provide the NodeBB version number and git hash
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)
```
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:
``` bash
$ cd /path/to/my/nodebb
$ 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
``` 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
```
## Attempt to use `git bisect`
If you have installed NodeBB via GitHub clone, are familiar with utilising git, and are willing to help us narrow down the specific commit that causes a bug, consider running `git bisect`.
A full guide can be found here: [Debugging with Git/Binary Search](http://git-scm.com/book/en/Git-Tools-Debugging-with-Git#Binary-Search)

8
Dockerfile Normal file
View File

@@ -0,0 +1,8 @@
FROM node:0.10-onbuild
ENV NODE_ENV=production \
daemon=false \
silent=false
CMD node app --setup && npm start
EXPOSE 4567

78
Gruntfile.js Normal file
View File

@@ -0,0 +1,78 @@
"use strict";
var fork = require('child_process').fork,
env = process.env,
worker,
incomplete = [];
module.exports = function(grunt) {
function update(action, filepath, target) {
var args = [],
fromFile = '',
compiling = '',
time = Date.now();
if (!grunt.option('verbose')) {
args.push('--log-level=info');
}
if (target === 'lessUpdated') {
fromFile = ['js','tpl'];
compiling = 'less';
} else if (target === 'clientUpdated') {
fromFile = ['less','tpl'];
compiling = 'js';
} else if (target === 'templatesUpdated') {
fromFile = ['js','less'];
compiling = 'tpl';
} else if (target === 'serverUpdated') {
fromFile = ['less','js','tpl'];
}
fromFile = fromFile.filter(function(ext) {
return incomplete.indexOf(ext) === -1;
});
args.push('--from-file=' + fromFile.join(','));
incomplete.push(compiling);
worker.kill();
worker = fork('app.js', args, { env: env });
worker.on('message', function() {
if (incomplete.length) {
incomplete = [];
if (grunt.option('verbose')) {
grunt.log.writeln('NodeBB restarted in ' + (Date.now() - time) + ' ms');
}
}
});
}
grunt.initConfig({
watch: {
lessUpdated: {
files: ['public/**/*.less', 'node_modules/nodebb-*/*.less', 'node_modules/nodebb-*/*/*.less', 'node_modules/nodebb-*/*/*/*.less', 'node_modules/nodebb-*/*/*/*/*.less']
},
clientUpdated: {
files: ['public/src/**/*.js', 'node_modules/nodebb-*/*.js', 'node_modules/nodebb-*/*/*.js', 'node_modules/nodebb-*/*/*/*.js', 'node_modules/nodebb-*/*/*/*/*.js', 'node_modules/templates.js/lib/templates.js']
},
serverUpdated: {
files: ['*.js', 'install/*.js', 'src/**/*.js']
},
templatesUpdated: {
files: ['src/views/**/*.tpl', 'node_modules/nodebb-*/*.tpl', 'node_modules/nodebb-*/*/*.tpl', 'node_modules/nodebb-*/*/*/*.tpl', 'node_modules/nodebb-*/*/*/*/*.tpl', 'node_modules/nodebb-*/*/*/*/*/*.tpl']
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['watch']);
env.NODE_ENV = 'development';
worker = fork('app.js', [], { env: env });
grunt.event.on('watch', update);
};

View File

@@ -1,15 +0,0 @@
## 0.4x Refactor Notes
Please remove this file after 0.4x (or perhaps organize it so that we can see the history of breaking changes)
### Immediate Deprecation Notices
* `action:ajaxifying` is no longer triggered on body but on window instead, in line with other similar hooks.
* `filter:server.create_routes` and `filter:admin.create_routes` will have limited support (ajaxify works, but first-load will not). Please have a look at [this plugin](https://github.com/psychobunny/nodebb-plugin-kitchen-sink/blob/master/library.js#L16-L22) for an example on how to create routes in plugins from now on.
### Upcoming Deprecation Warnings
* `filter:footer.build` will be deprecated for 0.4x in favour of the widget system (WIP)
* templates.setGlobal (server-side only) deprecated in favour of using res.locals
* `plugins/fireHook` route will be deprecated for 0.4x
* synchronous hooks will be deprecated for 0.4x - we're reducing complexity by removing the `callbacked: true` property in `plugin.json` - just use callbacks.

138
README.md
View File

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

760
app.js
View File

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

34
bcrypt.js Normal file
View File

@@ -0,0 +1,34 @@
'use strict';
var bcrypt = require('bcryptjs'),
async = require('async');
process.on('message', function(msg) {
if (msg.type === 'hash') {
hashPassword(msg.password, msg.rounds);
} else if (msg.type === 'compare') {
bcrypt.compare(msg.password, msg.hash, done);
}
});
function hashPassword(password, rounds) {
async.waterfall([
function(next) {
bcrypt.genSalt(parseInt(rounds, 10), next);
},
function(salt, next) {
bcrypt.hash(password, salt, next);
}
], done);
}
function done(err, result) {
if (err) {
process.send({err: err.message});
return process.disconnect();
}
process.send({result: result});
process.disconnect();
}

View File

@@ -1,98 +1,34 @@
[
{
"name": "Announcements",
"description": "Announcements regarding our community",
"bgColor": "#0059B2",
"color": "#fff",
"icon" : "fa-bullhorn",
"order": 1
},
{
"name": "General Discussion",
"description": "A place to talk about whateeeever you want",
"bgColor": "#0059B2",
"color": "#fff",
"icon" : "fa-comment",
"order": 2
},
{
"name": "NodeBB Development",
"description": "NodeBB development news and announcements",
"bgColor": "#0059B2",
"color": "#fff",
"icon" : "fa-github",
"order": 3
},
{
"name": "Blogs",
"description": "Blog posts from individual members",
"bgColor": "#0059B2",
"color": "#fff",
"icon" : "fa-pencil",
"order": 4
},
{
"name": "Feature Requests",
"description": "Got a feature request you'd like to see? Give us a shout here.",
"bgColor": "#ab1290",
"color": "#fff",
"icon" : "fa-lightbulb-o",
"order": 5
},
{
"name": "Bug Reports",
"description": "Having trouble with NodeBB? Let us know...",
"bgColor": "#ab1290",
"color": "#fff",
"icon" : "fa-cogs",
"order": 6
},
{
"name": "NodeBB Plugins",
"description": "Enhance your NodeBB with plugins!",
"bgColor": "#ab1290",
"color": "#fff",
"icon" : "fa-plus-square",
"order": 7
},
{
"name": "NodeBB Link Exchange",
"description": "Link exchange",
"bgColor": "#ab1290",
"color": "#fff",
"icon" : "fa-exchange",
"order": 8
},
{
"name": "News",
"description": "News from around the world",
"bgColor": "#004C66",
"color": "#fff",
"icon" : "fa-globe",
"order": 9
},
{
"name": "Movies",
"description": "Discuss the latest movies here",
"bgColor": "#004C66",
"color": "#fff",
"icon" : "fa-film",
"order": 10
},
{
"name": "Games",
"description": "Discuss the latest games here",
"bgColor": "#004C66",
"color": "#fff",
"icon" : "fa-crosshairs",
"order": 11
},
{
"name": "Random",
"description": "Anything and (almost) everything welcome!",
"bgColor": "#004C66",
"color": "#fff",
"icon" : "fa-beer",
"order": 12
}
[
{
"name": "Announcements",
"description": "Announcements regarding our community",
"bgColor": "#fda34b",
"color": "#fff",
"icon" : "fa-bullhorn",
"order": 1
},
{
"name": "General Discussion",
"description": "A place to talk about whatever you want",
"bgColor": "#59b3d0",
"color": "#fff",
"icon" : "fa-comments-o",
"order": 2
},
{
"name": "Blogs",
"description": "Blog posts from individual members",
"bgColor": "#86ba4b",
"color": "#fff",
"icon" : "fa-newspaper-o",
"order": 4
},
{
"name": "Comments & Feedback",
"description": "Got a question? Ask away!",
"bgColor": "#e95c5a",
"color": "#fff",
"icon" : "fa-question",
"order": 3
}
]

View File

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

10
install/data/footer.json Normal file
View File

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

View File

@@ -0,0 +1,87 @@
[
{
"route": "/categories",
"title": "\\[\\[global:header.categories\\]\\]",
"enabled": true,
"iconClass": "fa-list",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.categories\\]\\]"
},
{
"id": "unread-count",
"route": "/unread",
"title": "\\[\\[global:header.unread\\]\\]",
"enabled": true,
"iconClass": "fa-inbox",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.unread\\]\\]",
"properties": {
"loggedIn": true
}
},
{
"route": "/recent",
"title": "\\[\\[global:header.recent\\]\\]",
"enabled": true,
"iconClass": "fa-clock-o",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.recent\\]\\]"
},
{
"route": "/tags",
"title": "\\[\\[global:header.tags\\]\\]",
"enabled": true,
"iconClass": "fa-tags",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.tags\\]\\]"
},
{
"route": "/popular",
"title": "\\[\\[global:header.popular\\]\\]",
"enabled": true,
"iconClass": "fa-fire",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.popular\\]\\]"
},
{
"route": "/users",
"title": "\\[\\[global:header.users\\]\\]",
"enabled": true,
"iconClass": "fa-user",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.users\\]\\]"
},
{
"route": "/groups",
"title": "\\[\\[global:header.groups\\]\\]",
"enabled": true,
"iconClass": "fa-group",
"textClass": "visible-xs-inline",
"text": "\\[\\[global:header.groups\\]\\]"
},
{
"route": "/admin",
"title": "\\[\\[global:header.admin\\]\\]",
"enabled": true,
"iconClass": "fa-cogs",
"textClass": "visible-xs-inline",
"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": {
"installed": {
"search": true
}
}
}
]

10
install/data/welcome.md Normal file
View File

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

View File

@@ -12,7 +12,7 @@ function success(err, config, callback) {
return callback(new Error('aborted'));
}
var database = (config.redis || config.mongo || config.level) ? config.secondary_database : config.database;
var database = (config.redis || config.mongo) ? config.secondary_database : config.database;
function dbQuestionsSuccess(err, databaseConfig) {
if (!databaseConfig) {
@@ -39,15 +39,11 @@ function success(err, config, callback) {
password: databaseConfig['mongo:password'],
database: databaseConfig['mongo:database']
};
} else if (database === 'level') {
config.level = {
database: databaseConfig['level:database']
};
} else {
return callback(new Error('unknown database : ' + database));
}
var allQuestions = questions.redis.concat(questions.mongo.concat(questions.level));
var allQuestions = questions.redis.concat(questions.mongo);
for(var x=0;x<allQuestions.length;x++) {
delete config[allQuestions[x].name];
}
@@ -67,12 +63,6 @@ function success(err, config, callback) {
} else {
prompt.get(questions.mongo, dbQuestionsSuccess);
}
} else if(database === 'level') {
if (config['level:database']) {
dbQuestionsSuccess(null, config);
} else {
prompt.get(questions.level, dbQuestionsSuccess);
}
} else {
return callback(new Error('unknown database : ' + database));
}

148
install/web.js Normal file
View File

@@ -0,0 +1,148 @@
"use strict";
var winston = require('winston'),
express = require('express'),
bodyParser = require('body-parser'),
fs = require('fs'),
path = require('path'),
less = require('less'),
async = require('async'),
uglify = require('uglify-js'),
nconf = require('nconf'),
app = express(),
server;
var web = {},
scripts = [
'public/vendor/xregexp/xregexp.js',
'public/vendor/xregexp/unicode/unicode-base.js',
'public/src/utils.js',
'public/src/installer/install.js'
];
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.set('view engine', 'tpl');
app.set('views', path.join(__dirname, '../src/views'));
app.use(bodyParser.urlencoded({
extended: true
}));
async.parallel([compileLess, compileJS], function() {
setupRoutes();
launchExpress(port);
});
};
function launchExpress(port) {
server = app.listen(port, function() {
winston.info('Web installer listening on http://%s:%s', '0.0.0.0', port);
});
}
function setupRoutes() {
app.get('/', welcome);
app.post('/', install);
app.post('/launch', launch);
}
function welcome(req, res) {
var dbs = ['redis', 'mongo'],
databases = [];
dbs.forEach(function(el) {
databases.push({
name: el,
questions: require('../src/database/' + el).questions
});
});
res.render('install/index', {
databases: databases,
skipDatabaseSetup: !!nconf.get('database'),
error: res.locals.error ? true : false,
success: res.locals.success ? true : false,
values: req.body
});
}
function install(req, res) {
for (var i in req.body) {
if (req.body.hasOwnProperty(i) && !process.env.hasOwnProperty(i)) {
process.env[i.replace(':', '__')] = req.body[i];
}
}
var child = require('child_process').fork('app', ['--setup'], {
env: process.env
});
child.on('close', function(data) {
if (data === 0) {
res.locals.success = true;
} else {
res.locals.error = true;
}
welcome(req, res);
});
}
function launch(req, res) {
var pidFilePath = __dirname + '../pidfile';
res.json({});
server.close();
var child = require('child_process').spawn('node', ['loader.js'], {
detached: true,
stdio: ['ignore', 'ignore', 'ignore']
});
process.stdout.write('\nStarting NodeBB\n');
process.stdout.write(' "./nodebb stop" to stop the NodeBB server\n');
process.stdout.write(' "./nodebb log" to view server output\n');
process.stdout.write(' "./nodebb restart" to restart NodeBB\n');
child.unref();
process.exit(0);
}
function compileLess(callback) {
if ((nconf.get('from-file') || '').indexOf('less') !== -1) {
winston.info('LESS compilation skipped');
return callback(false);
}
fs.readFile(path.join(__dirname, '../public/less/install.less'), function(err, style) {
less.render(style.toString(), function(err, css) {
if(err) {
return winston.error('Unable to compile LESS: ', err);
}
fs.writeFile(path.join(__dirname, '../public/stylesheet.css'), css.css, callback);
});
});
}
function compileJS(callback) {
if ((nconf.get('from-file') || '').indexOf('js') !== -1) {
winston.info('Client-side JS compilation skipped');
return callback(false);
}
var scriptPath = path.join(__dirname, '..'),
result = uglify.minify(scripts.map(function(script) {
return path.join(scriptPath, script);
}));
fs.writeFile(path.join(__dirname, '../public/nodebb.min.js'), result.code, callback);
}
module.exports = web;

356
loader.js
View File

@@ -1,99 +1,283 @@
"use strict";
'use strict';
var nconf = require('nconf'),
fs = require('fs'),
pidFilePath = __dirname + '/pidfile',
output = fs.openSync(__dirname + '/logs/output.log', 'a'),
start = function() {
var fork = require('child_process').fork,
nbb_start = function() {
if (timesStarted > 3) {
console.log('\n[loader] Experienced three start attempts in 10 seconds, most likely an error on startup. Halting.');
return nbb_stop();
}
url = require('url'),
path = require('path'),
fork = require('child_process').fork,
timesStarted++;
if (startTimer) {
clearTimeout(startTimer);
}
startTimer = setTimeout(resetTimer, 1000*10);
async = require('async'),
logrotate = require('logrotate-stream'),
nbb = fork('./app', process.argv.slice(2), {
env: process.env
});
pkg = require('./package.json');
nbb.on('message', function(message) {
if (message && typeof message === 'object' && message.action) {
if (message.action === 'restart') {
nbb_restart();
}
}
});
nconf.argv().env().file({
file: path.join(__dirname, '/config.json')
});
nbb.on('exit', function(code, signal) {
if (code) {
nbb_start();
} else {
nbb_stop();
}
});
},
nbb_stop = function() {
if (startTimer) {
clearTimeout(startTimer);
}
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 = [],
nbb.kill();
if (fs.existsSync(pidFilePath)) {
var pid = parseInt(fs.readFileSync(pidFilePath, { encoding: 'utf-8' }), 10);
if (process.pid === pid) {
fs.unlinkSync(pidFilePath);
}
}
},
nbb_restart = function() {
nbb.removeAllListeners('exit').on('exit', function() {
nbb_start();
});
nbb.kill();
},
resetTimer = function() {
clearTimeout(startTimer);
timesStarted = 0;
},
timesStarted = 0,
startTimer;
process.on('SIGINT', nbb_stop);
process.on('SIGTERM', nbb_stop);
process.on('SIGHUP', nbb_restart);
nbb_start();
},
nbb;
nconf.argv();
// Start the daemon!
if (nconf.get('daemon') !== false) {
// Check for a still-active NodeBB process
if (fs.existsSync(pidFilePath)) {
try {
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
process.kill(pid, 0);
process.exit();
} catch (e) {
fs.unlinkSync(pidFilePath);
Loader = {
timesStarted: 0,
js: {
cache: undefined,
map: undefined
},
css: {
cache: undefined,
acpCache: undefined
}
};
Loader.init = function(callback) {
if (silent) {
console.log = function(value) {
output.write(value + '\n');
};
}
// Daemonize and record new pid
require('daemon')({
stdout: output
});
fs.writeFile(__dirname + '/pidfile', process.pid);
process.on('SIGHUP', Loader.restart);
process.on('SIGUSR2', Loader.reload);
process.on('SIGTERM', Loader.stop);
callback();
};
start();
} else {
start();
Loader.displayStartupMessages = function(callback) {
console.log('');
console.log('NodeBB v' + pkg.version + ' Copyright (C) 2013-2014 NodeBB Inc.');
console.log('This program comes with ABSOLUTELY NO WARRANTY.');
console.log('This is free software, and you are welcome to redistribute it under certain conditions.');
console.log('For the full license, please visit: http://www.gnu.org/copyleft/gpl.html');
console.log('');
callback();
};
Loader.addWorkerEvents = function(worker) {
worker.on('exit', function(code, signal) {
if (code !== 0) {
if (Loader.timesStarted < numProcs*3) {
Loader.timesStarted++;
if (Loader.crashTimer) {
clearTimeout(Loader.crashTimer);
}
Loader.crashTimer = setTimeout(function() {
Loader.timesStarted = 0;
}, 10000);
} else {
console.log(numProcs*3 + ' restarts in 10 seconds, most likely an error on startup. Halting.');
process.exit();
}
}
console.log('[cluster] Child Process (' + worker.pid + ') has exited (code: ' + code + ', signal: ' + signal +')');
if (!(worker.suicide || code === 0)) {
console.log('[cluster] Spinning up another process...');
forkWorker(worker.index, worker.isPrimary);
}
});
worker.on('message', function(message) {
if (message && typeof message === 'object' && message.action) {
switch (message.action) {
case 'ready':
if (Loader.js.cache && !worker.isPrimary) {
worker.send({
action: 'js-propagate',
cache: Loader.js.cache,
map: Loader.js.map,
hash: Loader.js.hash
});
}
if (Loader.css.cache && !worker.isPrimary) {
worker.send({
action: 'css-propagate',
cache: Loader.css.cache,
acpCache: Loader.css.acpCache,
hash: Loader.css.hash
});
}
break;
case 'restart':
console.log('[cluster] Restarting...');
Loader.restart();
break;
case 'reload':
console.log('[cluster] Reloading...');
Loader.reload();
break;
case 'js-propagate':
Loader.js.cache = message.cache;
Loader.js.map = message.map;
Loader.js.hash = message.hash;
Loader.notifyWorkers({
action: 'js-propagate',
cache: message.cache,
map: message.map,
hash: message.hash
}, worker.pid);
break;
case 'css-propagate':
Loader.css.cache = message.cache;
Loader.css.acpCache = message.acpCache;
Loader.css.hash = message.hash;
Loader.notifyWorkers({
action: 'css-propagate',
cache: message.cache,
acpCache: message.acpCache,
hash: message.hash
}, worker.pid);
break;
case 'templates:compiled':
Loader.notifyWorkers({
action: 'templates:compiled',
}, worker.pid);
break;
}
}
});
};
Loader.start = function(callback) {
numProcs = getPorts().length;
console.log('Clustering enabled: Spinning up ' + numProcs + ' process(es).\n');
for (var x=0; x<numProcs; ++x) {
forkWorker(x, x === 0);
}
if (callback) {
callback();
}
};
function forkWorker(index, isPrimary) {
var ports = getPorts();
if(!ports[index]) {
return console.log('[cluster] invalid port for worker : ' + index + ' ports: ' + ports.length);
}
process.env.isPrimary = isPrimary;
process.env.isCluster = true;
process.env.port = ports[index];
var worker = fork('app.js', [], {
silent: silent,
env: process.env
});
worker.index = index;
worker.isPrimary = isPrimary;
workers[index] = worker;
Loader.addWorkerEvents(worker);
if (silent) {
var output = logrotate({ file: __dirname + '/logs/output.log', size: '1m', keep: 3, compress: true });
worker.stdout.pipe(output);
worker.stderr.pipe(output);
}
}
function getPorts() {
var _url = nconf.get('url');
if (!_url) {
console.log('[cluster] url is undefined, please check your config.json');
process.exit();
}
var urlObject = url.parse(_url);
var port = nconf.get('port') || nconf.get('PORT') || urlObject.port || 4567;
if (!Array.isArray(port)) {
port = [port];
}
return port;
}
Loader.restart = function() {
killWorkers();
Loader.start();
};
Loader.reload = function() {
workers.forEach(function(worker) {
worker.send({
action: 'reload'
});
});
};
Loader.stop = function() {
killWorkers();
// Clean up the pidfile
fs.unlinkSync(__dirname + '/pidfile');
};
function killWorkers() {
workers.forEach(function(worker) {
worker.suicide = true;
worker.kill();
});
}
Loader.notifyWorkers = function(msg, worker_pid) {
worker_pid = parseInt(worker_pid, 10);
workers.forEach(function(worker) {
if (parseInt(worker.pid, 10) !== worker_pid) {
try {
worker.send(msg);
} catch (e) {
console.log('[cluster/notifyWorkers] Failed to reach pid ' + worker_pid);
}
}
});
};
fs.open(path.join(__dirname, 'config.json'), 'r', function(err) {
if (!err) {
if (nconf.get('daemon') !== 'false' && nconf.get('daemon') !== false) {
if (fs.existsSync(pidFilePath)) {
try {
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
process.kill(pid, 0);
process.exit();
} catch (e) {
fs.unlinkSync(pidFilePath);
}
}
require('daemon')({
stdout: process.stdout,
stderr: process.stderr
});
fs.writeFile(__dirname + '/pidfile', process.pid);
}
async.series([
Loader.init,
Loader.displayStartupMessages,
Loader.start
], function(err) {
if (err) {
console.log('[loader] Error during startup: ' + err.message);
}
});
} else {
// No config detected, kickstart web installer
var child = require('child_process').fork('app');
}
});

View File

@@ -4,32 +4,50 @@ var uglifyjs = require('uglify-js'),
less = require('less'),
async = require('async'),
fs = require('fs'),
path = require('path'),
crypto = require('crypto'),
utils = require('./public/src/utils'),
Minifier = {
js: {},
css: {}
js: {}
};
/* Javascript */
Minifier.js.minify = function (scripts, minify, callback) {
var options = {};
scripts = scripts.filter(function(file) {
return fs.existsSync(file);
return fs.existsSync(file) && file.endsWith('.js');
});
if (!minify) {
options.sourceMapURL = '/nodebb.min.js.map';
options.outSourceMap = 'nodebb.min.js.map';
options.mangle = false;
options.compress = false;
options.prefix = 1;
if (minify) {
minifyScripts(scripts, function() {
callback.apply(this, arguments);
});
} 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, options),
var minified = uglifyjs.minify(scripts, {
// outSourceMap: "nodebb.min.js.map",
compress: false
}),
hasher = crypto.createHash('md5'),
hash;
@@ -41,34 +59,26 @@ Minifier.js.minify = function (scripts, minify, callback) {
payload: hash.slice(0, 8)
});
callback({
js: minified.code,
map: minified.map
});
callback(minified.code/*, minified.map*/);
} catch(err) {
process.send({
type: 'error',
payload: err
payload: err.message
});
}
};
}
process.on('message', function(payload) {
switch(payload.action) {
case 'js':
Minifier.js.minify(payload.scripts, payload.minify, function(data) {
process.stdout.write(data.js);
function concatenateScripts(scripts, callback) {
async.map(scripts, fs.readFile, function(err, scripts) {
if (err) {
process.send({
type: 'end',
payload: 'script'
type: 'error',
payload: err
});
}
process.stderr.write(data.map);
process.send({
type: 'end',
payload: 'mapping'
});
});
break;
}
});
scripts = scripts.join(require('os').EOL + ';');
callback(scripts);
});
}

288
nodebb
View File

@@ -1,130 +1,166 @@
#!/bin/bash
#!/usr/bin/env node
# $0 script path
# $1 action
# $2 subaction
var colors = require('colors'),
cproc = require('child_process'),
argv = require('minimist')(process.argv.slice(2)),
fs = require('fs'),
async = require('async'),
touch = require('touch');
node="$(which nodejs 2>/dev/null)";
if [ $? -gt 0 ];
then node="$(which node)";
fi
var getRunningPid = function(callback) {
fs.readFile(__dirname + '/pidfile', {
encoding: 'utf-8'
}, function(err, pid) {
if (err) {
return callback(err);
}
function pidExists() {
if [ -e "pidfile" ];
then
kill -s 0 $(cat pidfile);
if [ !$? ];
then return 1;
else return 0;
fi
else
return 0;
fi
try {
process.kill(parseInt(pid, 10), 0);
callback(null, parseInt(pid, 10));
} catch(e) {
callback(e);
}
});
};
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 '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');
} else {
process.stdout.write('NodeBB could not be restarted, as a running instance could not be found.');
}
});
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.');
}
});
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('\nType '.red + 'Ctrl-C '.bold + 'to exit'.red);
process.stdout.write('\n\n'.reset);
cproc.spawn('tail', ['-F', './logs/output.log'], {
cwd: __dirname,
stdio: 'inherit'
});
break;
case 'setup':
cproc.fork('app.js', ['--setup'], {
cwd: __dirname,
silent: false
});
break;
case 'reset':
var args = process.argv.slice(0);
args.unshift('--reset');
cproc.fork('app.js', args, {
cwd: __dirname,
silent: false
});
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'], next);
},
function(next) {
process.stdout.write('OK\n'.green);
process.stdout.write('2. '.bold + 'Updating NodeBB data store schema.\n'.yellow);
var upgradeProc = cproc.fork('app.js', ['--upgrade'], {
cwd: __dirname,
silent: false
});
upgradeProc.on('close', next)
},
function(next) {
process.stdout.write('3. '.bold + 'Storing upgrade date in "package.json"... '.yellow);
touch(__dirname + '/package.json', {}, next);
}
], function(err) {
if (err) {
process.stdout.write('\nError'.red + ': ' + err.message + '\n');
} else {
var message = 'NodeBB Upgrade Complete!',
spaces = new Array(Math.floor(process.stdout.columns / 2) - (message.length / 2) + 1).join(' ');
process.stdout.write('OK\n'.green);
process.stdout.write('\n' + spaces + message.green.bold + '\n\n'.reset);
}
});
break;
default:
process.stdout.write('\nWelcome to NodeBB\n\n'.bold);
process.stdout.write('Usage: ./nodebb {start|stop|reload|restart|log|setup|reset|upgrade|dev}\n\n');
process.stdout.write('\t' + 'start'.yellow + '\tStart the NodeBB server\n');
process.stdout.write('\t' + 'stop'.yellow + '\tStops the NodeBB server\n');
process.stdout.write('\t' + 'reload'.yellow + '\tRestarts NodeBB\n');
process.stdout.write('\t' + 'restart'.yellow + '\tRestarts NodeBB\n');
process.stdout.write('\t' + 'log'.yellow + '\tOpens the logging interface (useful for debugging)\n');
process.stdout.write('\t' + 'setup'.yellow + '\tRuns the NodeBB setup script\n');
process.stdout.write('\t' + 'reset'.yellow + '\tDisables all plugins, restores the default theme.\n');
process.stdout.write('\t' + 'upgrade'.yellow + '\tRun NodeBB upgrade scripts, ensure packages are up-to-date\n');
process.stdout.write('\t' + 'dev'.yellow + '\tStart NodeBB in interactive development mode\n');
process.stdout.write('\t' + 'watch'.yellow + '\tStart NodeBB in development mode and watch for changes\n');
process.stdout.write('\n'.reset);
break;
}
case "$1" in
start)
echo "Starting NodeBB";
echo " \"./nodebb stop\" to stop the NodeBB server";
echo " \"./nodebb log\" to view server output";
if [ -f "./logs/output.log" ]; # Preserve the last output log
then
mv ./logs/output.log ./logs/output.1.log;
fi;
# Start the loader daemon
"$node" loader -d "$@"
;;
stop)
pidExists;
if [ 0 -eq $? ];
then
echo "NodeBB is already stopped.";
else
echo "Stopping NodeBB. Goodbye!";
kill $(cat pidfile);
fi
;;
reload|restart)
pidExists;
if [ 0 -eq $? ];
then
echo "NodeBB could not be restarted, as a running instance could not be found.";
else
echo "Restarting NodeBB.";
kill -1 $(cat pidfile);
fi
;;
status)
pidExists;
if [ 0 -eq $? ];
then
echo "NodeBB is not running";
echo " \"./nodebb start\" to launch the NodeBB server";
else
echo "NodeBB Running (pid $(cat pidfile))";
echo " \"./nodebb stop\" to stop the NodeBB server";
echo " \"./nodebb log\" to view server output";
echo " \"./nodebb restart\" to restart NodeBB";
fi
;;
log)
clear;
tail -F ./logs/output.log;
;;
upgrade)
npm install
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
"$node" app --upgrade
touch package.json
echo -e "\n\e[00;32mNodeBB Dependencies up-to-date!\e[00;00m";
;;
setup)
"$node" app --setup "$@"
;;
reset)
"$node" app --reset --$2
;;
dev)
echo "Launching NodeBB in \"development\" mode."
echo "To run the production build of NodeBB, please use \"forever\"."
echo "More Information: https://docs.nodebb.org/en/latest/running/index.html"
NODE_ENV=development "$node" loader --no-daemon "$@"
;;
watch)
echo "Launching NodeBB in \"development\" mode."
echo "To run the production build of NodeBB, please use \"forever\"."
echo "More Information: https://docs.nodebb.org/en/latest/running/index.html"
NODE_ENV=development supervisor -q --ignore public/templates --extensions 'node|js|tpl|less' -- app "$@"
;;
*)
echo "Welcome to NodeBB"
echo $"Usage: $0 {start|stop|reload|restart|log|setup|reset|upgrade|dev|watch}"
echo ''
column -s ' ' -t <<< '
start Start the NodeBB server
stop Stops the NodeBB server
reload Restarts NodeBB
restart Restarts NodeBB
log Opens the logging interface (useful for debugging)
setup Runs the NodeBB setup script
reset Disables all plugins, restores the default theme.
upgrade Run NodeBB upgrade scripts, ensure packages are up-to-date
dev Start NodeBB in interactive development mode
watch Start NodeBB in development mode and watch for changes
'
exit 1
esac

122
nodebb.bat Normal file
View File

@@ -0,0 +1,122 @@
@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
)

3627
npm-shrinkwrap.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
{
"name": "nodebb",
"license": "GPLv3 or later",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "0.5.0-2",
"version": "0.8.0",
"homepage": "http://www.nodebb.org",
"repository": {
"type": "git",
@@ -10,58 +10,76 @@
},
"main": "app.js",
"scripts": {
"start": "./nodebb start",
"stop": "./nodebb stop",
"start": "node loader.js",
"test": "mocha ./tests -t 10000"
},
"dependencies": {
"async": "~0.9.0",
"bcryptjs": "~2.0.1",
"async": "~1.4.2",
"bcryptjs": "~2.2.1",
"body-parser": "^1.9.0",
"colors": "^1.1.0",
"compression": "^1.1.0",
"connect-ensure-login": "^0.1.1",
"connect-flash": "^0.1.1",
"cron": "~1.0.4",
"connect-multiparty": "^2.0.0",
"cookie-parser": "^1.3.3",
"cron": "^1.0.5",
"csurf": "^1.6.1",
"daemon": "~1.1.0",
"express": "4.6.1",
"cookie-parser": "^1.0.1",
"body-parser": "^1.0.1",
"serve-favicon": "^2.0.1",
"express-session": "^1.0.2",
"csurf": "^1.1.0",
"compression": "^1.0.1",
"connect-multiparty": "^1.0.1",
"morgan": "^1.0.0",
"gm": "1.16.0",
"gravatar": "1.0.6",
"less": "~1.7.3",
"express": "^4.9.5",
"express-session": "^1.8.2",
"gravatar": "^1.1.0",
"heapdump": "^0.3.0",
"less": "^2.0.0",
"logrotate-stream": "^0.2.3",
"lru-cache": "^2.6.1",
"lwip": "0.0.7",
"mime": "^1.3.4",
"minimist": "^1.1.1",
"mkdirp": "~0.5.0",
"nconf": "~0.6.7",
"nodebb-plugin-dbsearch": "0.0.13",
"nodebb-plugin-markdown": "~0.5.0",
"nodebb-plugin-mentions": "~0.5.0",
"nodebb-plugin-soundpack-default": "~0.1.1",
"nodebb-theme-lavender": "~0.0.74",
"nodebb-theme-vanilla": "~0.0.111",
"nodebb-widget-essentials": "~0.1.0",
"npm": "^1.4.6",
"passport": "~0.2.0",
"mmmagic": "^0.3.13",
"morgan": "^1.3.2",
"nconf": "~0.7.1",
"nodebb-plugin-composer-default": "1.0.13",
"nodebb-plugin-dbsearch": "0.2.16",
"nodebb-plugin-emoji-extended": "0.4.9",
"nodebb-plugin-markdown": "4.0.5",
"nodebb-plugin-mentions": "1.0.1",
"nodebb-plugin-soundpack-default": "0.1.4",
"nodebb-plugin-spam-be-gone": "0.4.1",
"nodebb-rewards-essentials": "0.0.5",
"nodebb-theme-lavender": "1.0.52",
"nodebb-theme-persona": "2.1.8",
"nodebb-theme-vanilla": "3.1.3",
"nodebb-widget-essentials": "1.0.6",
"npm": "^2.1.4",
"passport": "^0.3.0",
"passport-local": "1.0.0",
"prompt": "~0.2.11",
"request": "~2.38.0",
"rimraf": "~2.2.6",
"rss": "~0.3.2",
"semver": "~2.3.1",
"sitemap": "~0.7.3",
"socket.io": "~0.9.16",
"socket.io-wildcard": "~0.1.1",
"string": "~1.9.0",
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
"underscore": "~1.6.0",
"validator": "~3.16.1",
"winston": "~0.7.2",
"xregexp": "~2.0.0",
"templates.js": "0.0.13"
"prompt": "^0.2.14",
"request": "^2.44.0",
"rimraf": "~2.4.2",
"rss": "^1.0.0",
"semver": "^5.0.1",
"serve-favicon": "^2.1.5",
"sitemap": "^1.0.0",
"socket.io": "^1.2.1",
"socket.io-client": "^1.2.1",
"socket.io-redis": "^0.1.3",
"socketio-wildcard": "~0.1.1",
"string": "^3.0.0",
"templates.js": "0.2.10",
"touch": "1.0.0",
"uglify-js": "^2.4.23",
"underscore": "~1.8.3",
"underscore.deep": "^0.5.1",
"validator": "^4.0.5",
"winston": "^1.0.1",
"xregexp": "~2.0.0"
},
"devDependencies": {
"mocha": "~1.13.0"
"mocha": "~1.13.0",
"grunt": "~0.4.5",
"grunt-contrib-watch": "^0.6.1"
},
"bugs": {
"url": "https://github.com/NodeBB/NodeBB/issues"
@@ -72,17 +90,17 @@
"maintainers": [
{
"name": "Andrew Rodrigues",
"email": "andrew@designcreateplay.com",
"email": "andrew@nodebb.org",
"url": "https://github.com/psychobunny"
},
{
"name": "Julian Lam",
"email": "julian@designcreateplay.com",
"email": "julian@nodebb.org",
"url": "https://github.com/julianlam"
},
{
"name": "Barış Soner Uşaklı",
"email": "baris@designcreateplay.com",
"email": "baris@nodebb.org",
"url": "https://github.com/barisusakli"
}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
public/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -1,7 +1,15 @@
{
"category": "فئة",
"subcategories": "فئة فرعية",
"new_topic_button": "موضوع جديد",
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لماذا لا تحاول نشر موضوع؟<br />",
"guest-login-post": "يجب عليك تسجيل الدخول للرد",
"no_topics": "<strong>لا توجد مواضيع في هذه الفئة</strong>لم لا تحاول إنشاء موضوع؟<br />",
"browsing": "تصفح",
"no_replies": م يرد أحد",
"share_this_category": "انشر هذه الفئة"
"no_replies": ا توجد ردود.",
"no_new_posts": "لا يوجد مشاركات جديدة.",
"share_this_category": "انشر هذه الفئة",
"watch": "متابعة",
"ignore": "تجاهل",
"watch.message": "أنت اﻷن متابع لتحديثات هذه الفئة",
"ignore.message": "أنت اﻷن تتجاهل تحديثات هذه الفئة"
}

View File

@@ -1,20 +1,32 @@
{
"password-reset-requested": "Password Reset Requested - %1!",
"welcome-to": "Welcome to %1",
"greeting_no_name": "Hello",
"greeting_with_name": "Hello %1",
"welcome.text1": "Thank you for registering with %1!",
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
"welcome.cta": "Click here to confirm your email address",
"reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
"reset.text2": "To continue with the password reset, please click on the following link:",
"reset.cta": "Click here to reset your password",
"digest.notifications": "You have some unread notifications from %1:",
"digest.latest_topics": "Latest topics from %1",
"digest.cta": "Click here to visit %1",
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
"digest.unsub.cta": "Click here to alter those settings",
"digest.daily.no_topics": "There have been no active topics in the past day",
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
"closing": "Thanks!"
"password-reset-requested": "تم طلب إعادة تعيين كلمة المرور - %1!",
"welcome-to": "مرحبًا بك في %1",
"invite": "دعوة من %1",
"greeting_no_name": "مرحبًا",
"greeting_with_name": "مرحبًا بك يا %1",
"welcome.text1": "شكرًا على تسجيلك في %1!",
"welcome.text2": "لتفعيل حسابك، نحتاج إلى التأكد من صحة عنوان البريد الإلكتروني الذي سجلت به.",
"welcome.text3": "تم قبول نتسجيلك ، يمكنك الدخول باتسخدام اسم المستخدم و كلمة المرور.",
"welcome.cta": "انقر هنا لتفعيل عنوان بريدك الإلكتروني",
"invitation.text1": "%1 قام بدعوتك للانضمام لـ %2",
"invitation.ctr": "إضغط هنا لإنشاء حسابك",
"reset.text1": "لقد توصلنا بطلب إعادة تعيين كلمة المرور الخاصة بك، ربما لكونك قد نسيتها, إن لم يكن الأمر كذلك، المرجو تجاهل هذه الرسالة.",
"reset.text2": "لمواصلة طلب إعاة تعيين كلمة المرور، الرجاء تتبع هذا الرابط.",
"reset.cta": "انقر هنا لإعادة تعيين كلمة السر الخاصة بك.",
"reset.notify.subject": "تم تغيير كلمة المرور بنجاح",
"reset.notify.text1": "نحيطك علما أن كلمة مرورك قد تم تغييرها في %1",
"reset.notify.text2": "إن لم يكن لديك علم بهذا، المرجو إشعار مدبر النظام بأسرع مايمكن.",
"digest.notifications": "لديك تنبيهات غير مقروءة من طرف %1:",
"digest.latest_topics": "آخر المستجدات من %1",
"digest.cta": "انقر هنا لمشاهدة %1",
"digest.unsub.info": "تم إرسال هذا الإشعار بآخر المستجدات وفقا لخيارات تسجيلكم.",
"digest.no_topics": "ليس هناك مواضيع نشيطة في %1 الماضي",
"notif.chat.subject": "هناك محادثة جديدة من %1",
"notif.chat.cta": "انقر هنا لمتابعة المحادثة",
"notif.chat.unsub.info": "تم إرسال هذا الإشعار بوجودة محادثة جديدة وفقا لخيارات تسجيلك.",
"notif.post.cta": "انقر هنا لقراءة الموضوع بأكمله",
"notif.post.unsub.info": "تم إشعارك بهذه المشاركة بناءً على الخيارات التي سبق وأن حددتها.",
"test.text1": "هذه رسالة تجريبية للتأكد من صحة إعدادت الرسائل الإلكترونية في منتدى NodeBB خاصتك.",
"unsub.cta": "انقر هنا لتغيير تلك الإعدادات",
"closing": "شكرًا لك!"
}

View File

@@ -1,56 +1,90 @@
{
"invalid-data": "بيانات غير صالحة",
"not-logged-in": "لم تقم بتسجيل الدخول",
"account-locked": "Your account has been locked temporarily",
"search-requires-login": "Searching requires an account! Please login or register!",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",
"invalid-uid": "Invalid User ID",
"account-locked": "تم حظر حسابك مؤقتًا.",
"search-requires-login": "البحث في المنتدى يتطلب حساب - الرجاء تسجيل الدخول أو التسجيل",
"invalid-cid": "قائمة غير موجودة",
"invalid-tid": "موضوع غير متواجد",
"invalid-pid": "رد غير موجود",
"invalid-uid": "مستخدم غير موجود",
"invalid-username": "اسم المستخدم غير مقبول",
"invalid-email": "البريد الاكتروني غير مقبول",
"invalid-title": "Invalid title!",
"invalid-user-data": "Invalid User Data",
"invalid-title": "عنوان غير صحيح",
"invalid-user-data": "بيانات المستخدم غير صحيحة",
"invalid-password": "كلمة السر غير مقبولة",
"invalid-pagination-value": "Invalid pagination value",
"username-taken": "اسم المستخدم ماخوذ",
"email-taken": "البريد الالكتروني ماخوذ",
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
"username-too-short": "Username too short",
"invalid-username-or-password": "المرجود تحديد اسم مستخدم و كلمة مرور",
"invalid-search-term": "كلمة البحث غير صحيحة",
"invalid-pagination-value": "رقم الصفحة غير موجود",
"username-taken": "اسم المستخدم مأخوذ",
"email-taken": "البريد الالكتروني مأخوذ",
"email-not-confirmed": "عنوان بريدك الإلكتروني غير مفعل بعد. انقر هنا لتفعيله من فضلك.",
"email-not-confirmed-chat": "لا يمكنك الدردشة حتى تقوم بتأكيد بريدك الإلكتروني، الرجاء إضغط هنا لتأكيد بريدك اﻹلكتروني.",
"no-email-to-confirm": "هذا المنتدى يستلزم تفعيل بريدك الإلكتروني، انقر هنا من فضلك لإدخاله.",
"email-confirm-failed": "لم نستطع تفعيل بريدك الإلكتروني، المرجو المحاولة لاحقًا.",
"confirm-email-already-sent": "لقد تم ارسال بريد التأكيد، الرجاء اﻹنتظار 1% دقائق لإعادة اﻹرسال",
"username-too-short": "اسم المستخدم قصير.",
"username-too-long": "اسم المستخدم طويل",
"user-banned": "المستخدم محظور",
"no-category": "Category doesn't exist",
"no-topic": "Topic doesn't exist",
"no-post": "Post doesn't exist",
"no-group": "Group doesn't exist",
"no-user": "المستخدم لا يوجد",
"no-teaser": "Teaser doesn't exist",
"no-privileges": "You don't have enough privileges for this action.",
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
"category-disabled": "Category disabled",
"user-too-new": "عذرا, يجب أن تنتظر 1% ثواني قبل قيامك بأول مشاركة",
"no-category": "قائمة غير موجودة",
"no-topic": "موضوع غير موجود",
"no-post": "رد غير موجود",
"no-group": "مجموعة غير موجودة",
"no-user": "اسم مستخدم غير موجود",
"no-teaser": "مقتطف غير موجود",
"no-privileges": "لاتملك الصلاحيات اللازمة للقيام بهذه العملية",
"no-emailers-configured": "لا يمكن إرسال رسالة إلكترونية تجريبية لعدم وجود قوالب خاصة بالرسائل الإلكترونية،",
"category-disabled": "قائمة معطلة",
"topic-locked": "الموضوع مقفول",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"still-uploading": "الرجاء انتظار الرفع",
"content-too-short": "Please enter a longer post. At least %1 characters.",
"title-too-short": "Please enter a longer title. At least %1 characters.",
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
"too-many-posts": "You can only post every %1 seconds.",
"file-too-big": "Maximum allowed file size is %1 kbs",
"cant-vote-self-post": "You cannot vote for your own post",
"already-favourited": "You already favourited this post",
"already-unfavourited": "You already unfavourited this post",
"cant-ban-other-admins": "You can't ban other admins!",
"invalid-image-type": "نوع الصورة ممنوع",
"group-name-too-short": "Group name too short",
"group-already-exists": "Group already exists",
"group-name-change-not-allowed": "Group name change not allowed",
"post-already-deleted": "Post already deleted",
"post-already-restored": "Post already restored",
"topic-already-deleted": "Topic already deleted",
"topic-already-restored": "Topic already restored",
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
"invalid-file": "Invalid File",
"uploads-are-disabled": "Uploads are disabled",
"upload-error": "مشكلة في الرفع: 1%",
"signature-too-long": "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 character(s).",
"too-many-posts": "You can only post once every %1 second(s) - please wait before posting again",
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
"too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)",
"file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
"cant-vote-self-post": "لايمكنك التصويت لردك",
"already-favourited": "لقد سبق وأضفت هذا الرد إلى المفضلة",
"already-unfavourited": "لقد سبق وحذفت هذا الرد من المفضلة",
"cant-ban-other-admins": "لايمكن حظر مدبر نظام آخر.",
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
"invalid-image-type": "Invalid image type. Allowed types are: %1",
"invalid-image-extension": "Invalid image extension",
"invalid-file-type": "Invalid file type. Allowed types are: %1",
"group-name-too-short": "اسم المجموعة قصير",
"group-already-exists": "المجموعة موجودة مسبقا",
"group-name-change-not-allowed": "لايسمح بتغيير أسماء المجموعات",
"group-already-member": "أنت بالفعل عضو في هذه المجموعة ",
"group-needs-owner": "هذه المجموعة تتطلب مالك واحد على اﻷقل",
"group-already-invited": "This user has already been invited",
"group-already-requested": "Your membership request has already been submitted",
"post-already-deleted": "سبق وتم حذف هذا الرد",
"post-already-restored": "سبق وتم إلغاء حذف هذا الرد",
"topic-already-deleted": "سبق وتم حذف هذا الموضوع",
"topic-already-restored": "سبق وتم إلغاء حذف هذا الرد",
"cant-purge-main-post": "You can't purge the main post, please delete the topic instead",
"topic-thumbnails-are-disabled": "الصور المصغرة غير مفعلة.",
"invalid-file": "ملف غير مقبول",
"uploads-are-disabled": "رفع الملفات غير مفعل",
"signature-too-long": "عذرا، توقيعك يجب ألا يتجاوز %1 حرفًا.",
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "لايمكنك فتح محادثة مع نفسك",
"chat-restricted": "هذا المستخدم عطل المحادثات الواردة عليه. يجب أن يتبعك حتى تتمكن من فتح محادثة معه.",
"too-many-messages": "لقد أرسلت الكثير من الرسائل، الرجاء اﻹنتظار قليلاً",
"reputation-system-disabled": "نظام السمعة معطل",
"downvoting-disabled": "التصويتات السلبية معطلة",
"not-enough-reputation-to-downvote": "ليس لديك سمعة تكفي لإضافة صوت سلبي لهذا الموضوع",
"not-enough-reputation-to-flag": "ليس لديك سمعة تكفي للإشعار بموضوع مخل",
"already-flagged": "You have already flagged this post",
"reload-failed": "المنتدى واجه مشكلة أثناء إعادة التحميل: \"%1\". سيواصل المنتدى خدمة العملاء السابقين لكن يجب عليك إلغاء أي تغيير قمت به قبل إعادة التحميل.",
"registration-error": "حدث خطأ أثناء التسجيل",
"parse-error": "حدث خطأ ما أثناء تحليل استجابة الخادم",
"wrong-login-type-email": "الرجاء استعمال بريدك اﻹلكتروني للدخول",
"wrong-login-type-username": "الرجاء استعمال اسم المستخدم الخاص بك للدخول"
}

View File

@@ -3,73 +3,81 @@
"search": "بحث",
"buttons.close": "أغلق",
"403.title": "غير مسموح بالدخول",
"403.message": "يبدو أنك قد تعثر على الصفحة التي لم يكن لديك الوصول إليها. ربما يجب عليك <a href='/login'> تسجيل الدخول </a> ",
"403.message": "يبدو أنك قد تعثرت على صفحة لا تمتلك الصلاحية للدخول إليها",
"403.login": "Perhaps you should <a href='%1/login'>try logging in</a>?",
"404.title": "لم يتم العثور",
"404.message": "يبدو أنك قد تعثرت على صفحة غير موجودة. عودة إلى الصفحة الرئيسية.",
"404.message": "You seem to have stumbled upon a page that does not exist. Return to the <a href='%1/'>home page</a>.",
"500.title": "خطأ داخلي.",
"500.message": "عفوا! يبدو وكأنه شيء ذهب على نحو خاطئ!",
"register": "تسجيل",
"login": "دخول",
"please_log_in": "Please Log In",
"please_log_in": "المرجو تسجيل الدخول",
"logout": "تسجيل الخروج",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back",
"you_have_successfully_logged_in": "You have successfully logged in",
"posting_restriction_info": "إضافة مشاركات جديد حكر على الأعضاء المسجلين، انقر هنا لتسجيل الدخول.",
"welcome_back": "مرحبًا بعودتك",
"you_have_successfully_logged_in": "تم سجيل الدخول بنجاح",
"save_changes": "حفظ التغييرات",
"close": "أغلق",
"pagination": "Pagination",
"pagination.out_of": "%1 out of %2",
"pagination.enter_index": "Enter index",
"header.admin": شرف",
"pagination": "الصفحات",
"pagination.out_of": "%1 من %2",
"pagination.enter_index": "أدخل الرقم التسلسلي",
"header.admin": دبر نظام",
"header.categories": "الفئات",
"header.recent": "حديث",
"header.unread": "غير مقروء",
"header.tags": "Tags",
"header.popular": "Popular",
"header.tags": "وسم",
"header.popular": "الأكثر شهرة",
"header.users": "المستخدمين",
"header.chats": "Chats",
"header.notifications": "Notifications",
"header.groups": "المجموعات",
"header.chats": "المحادثات",
"header.notifications": "التنبيهات",
"header.search": "بحث",
"header.profile": "ملف",
"notifications.loading": "تحميل التبليغات",
"chats.loading": "تحميل الدردشات",
"motd.welcome": "مرحبا بكم NodeBB، منصة مناقشة المستقبل",
"previouspage": "Previous Page",
"nextpage": "Next Page",
"alert.success": "Success",
"alert.error": "Error",
"alert.banned": "Banned",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"online": "Online",
"users": "Users",
"topics": "Topics",
"posts": "Posts",
"views": "Views",
"reputation": "Reputation",
"read_more": "read more",
"posted_ago_by_guest": "posted %1 by Guest",
"posted_ago_by": "posted %1 by %2",
"posted_ago": "posted %1",
"posted_in_ago_by_guest": "posted in %1 %2 by Guest",
"posted_in_ago_by": "posted in %1 %2 by %3",
"posted_in_ago": "posted in %1 %2",
"replied_ago": "replied %1",
"user_posted_ago": "%1 posted %2",
"guest_posted_ago": "Guest posted %1",
"last_edited_by_ago": "last edited by %1 %2",
"norecentposts": "No Recent Posts",
"norecenttopics": "No Recent Topics",
"recentposts": "Recent Posts",
"recentips": "Recently Logged In IPs",
"away": "Away",
"dnd": "Do not Disturb",
"invisible": "Invisible",
"offline": "Offline",
"email": "Email",
"language": "Language",
"guest": "Guest",
"guests": "Guests",
"updated.title": "Forum Updated",
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page."
"previouspage": "الصفحة السابقة",
"nextpage": "الصفحة التالية",
"alert.success": "نجاح",
"alert.error": "خطأ",
"alert.banned": "محظور",
"alert.banned.message": "لقد تم حظر حسابك. سيتم تسجيل الخروج.",
"alert.unfollow": "أنت لا تتابع %1 بعد الآن!",
"alert.follow": "أنت الآن تتابع %1!",
"online": "المتواجدون حاليًّا",
"users": "الأعضاء",
"topics": "المواضيع",
"posts": "المشاركات",
"views": "المشاهدات",
"reputation": "السمعة",
"read_more": "اقرأ المزيد",
"more": "المزيد",
"posted_ago_by_guest": "كتب %1 من طرف زائر",
"posted_ago_by": "كتب %1 من طرف %2",
"posted_ago": "كتب %1",
"posted_in_ago_by_guest": "كتب في %1 %2 من طرف زائر",
"posted_in_ago_by": "كتب في %1 %2 من طرف %3",
"posted_in_ago": "كتب في %1 %2",
"replied_ago": "رد %1",
"user_posted_ago": "%1 كتب %2",
"guest_posted_ago": "كتب زائر %1",
"last_edited_by_ago": "آخر تعديل من طرف %1 %2",
"norecentposts": "لاوجود لمشاركات جديدة",
"norecenttopics": "لاوجود لمواضيع جديدة",
"recentposts": "آخر المشاركات",
"recentips": "آخر عناوين ال IP التي سجلت الدخول",
"away": "غير متواجد",
"dnd": "المرجو عدم الإزعاج",
"invisible": "مخفي",
"offline": "غير متصل",
"email": "عنوان البريد الإلكتروني",
"language": "اللغة",
"guest": "زائر",
"guests": "الزوار",
"updated.title": "تم تحديث المنتدى",
"updated.message": "لقد تم تحديث المنتدى إلى آخر نسخة للتو. المرجو إعادة تحميل الصفحة.",
"privacy": "الخصوصية",
"follow": "متابعة",
"unfollow": "إلغاء المتابعة",
"delete_all": "حذف الكل"
}

View File

@@ -1,7 +1,50 @@
{
"view_group": "View Group",
"details.title": "Group Details",
"details.members": "Member List",
"details.has_no_posts": "This group's members have not made any posts.",
"details.latest_posts": "Latest Posts"
"groups": "المجموعات",
"view_group": "معاينة المجموعة",
"owner": "مالك المجموعة",
"new_group": "أنشئ مجموعة جديدة",
"no_groups_found": "لاوجدود لمجموعات يمكن معاينتها",
"pending.accept": "موافق",
"pending.reject": "رفض",
"pending.accept_all": "قبول الكل",
"pending.reject_all": "رفض الكل",
"pending.none": "لايوجد أعضاء ينتظرون التفعيل حالياً",
"invited.none": "لايوجد أعضاء مدعوون في حالياً",
"invited.uninvite": "إلغ الدعوة",
"invited.search": "ابحث عن أعضاء لدعوتهم للمجموعة",
"cover-instructions": "اسحب وأسقِط صورة، اسحبها للموضع المرغوب، وانقر على <strong>حفظ</strong>",
"cover-change": "تغيير",
"cover-save": "حفظ",
"cover-saving": "جاري الحفظ",
"details.title": "تفاصيل المجموعة",
"details.members": "لائحة الأعضاء",
"details.pending": "المستخدمون في الانتظار",
"details.invited": "اﻷعضار المدعوون",
"details.has_no_posts": "أعضاء هذه المجموعة لم يضيفوا أية مشاركة",
"details.latest_posts": "آخر المشاركات",
"details.private": "خاص",
"details.grant": "منح/سحب المِلكية",
"details.kick": "طرد",
"details.owner_options": "إدارة المجموعة",
"details.group_name": "اسم المجموعة",
"details.member_count": "عدد اﻷعضاء",
"details.creation_date": "تاريخ الإنشاء",
"details.description": "الوصف",
"details.badge_preview": "معاينة الوسام",
"details.change_icon": "تغيير الأيقونة",
"details.change_colour": "تغيير اللون",
"details.badge_text": "نص الوسام",
"details.userTitleEnabled": "إظهار الوسام",
"details.private_help": "في حالة تفعيل الخيار، الانضمام إلى المجموعة يستلزم قبول مالكها",
"details.hidden": "مخفي",
"details.hidden_help": "في حالة تفعيل الخيار، لن تظهر المجموعة للعموم والإنضمام إليها سيتلزم دعوة.",
"details.delete_group": "حذف المجموعة",
"event.updated": "تم تحديث بيانات المجموعة",
"event.deleted": "تم حذف المجموعة %1",
"membership.accept-invitation": "اقبل الدعوة",
"membership.invitation-pending": "الدعوة بانتظار القبول",
"membership.join-group": "انظم للمجموعة",
"membership.leave-group": "غادر المجموعة",
"membership.reject": "رفض",
"new-group.group_name": "اسم المجموعة"
}

View File

@@ -1,9 +1,11 @@
{
"username": "Username / Email",
"username-email": "اسم المستخدم / البريد الإلكتروني",
"username": "اسم المستخدم",
"email": "البريد الإلكتروني",
"remember_me": "تذكرني؟",
"forgot_password": "نسيت كلمة المرور؟",
"alternative_logins": "تسجيلات الدخول البديلة",
"failed_login_attempt": "فشلت محاولة تسجيل الدخول، يرجى المحاولة مرة أخرى.",
"login_successful": "قمت بتسجيل الدخول بنجاح!",
"dont_have_account": "Don't have an account?"
"dont_have_account": "لا تملك حساب؟"
}

View File

@@ -1,18 +1,26 @@
{
"chat.chatting_with": "الدردشة مع <span id=\"chat-with-name\"></span>",
"chat.placeholder": "Type chat message here, press enter to send",
"chat.placeholder": "أكتب رسالة دردشة هنا، اضغط ENTER للإرسال",
"chat.send": "أرسل",
"chat.no_active": "لا يوجد لديك دردشات نشطة.",
"chat.user_typing": "%1 is typing ...",
"chat.user_has_messaged_you": "%1 has messaged you.",
"chat.see_all": "See all Chats",
"chat.no-messages": "Please select a recipient to view chat message history",
"chat.recent-chats": "Recent Chats",
"chat.contacts": "Contacts",
"chat.message-history": "Message History",
"chat.pop-out": "Pop out chat",
"chat.maximize": "Maximize",
"composer.user_said_in": "%1 said in %2:",
"composer.user_said": "%1 said:",
"composer.discard": "Are you sure you wish to discard this post?"
"chat.user_typing": "%1 يكتب رسالة...",
"chat.user_has_messaged_you": "%1 أرسل لك رسالة.",
"chat.see_all": "معاينة كل الدردشات",
"chat.no-messages": "المرجو اختيار مرسل إليه لمعاينة تاريخ الدردشات",
"chat.recent-chats": "آخر الدردشات",
"chat.contacts": "الأصدقاء",
"chat.message-history": "تاريخ الرسائل",
"chat.pop-out": "افتح الدردشة في نافذة خاصة",
"chat.maximize": "تكبير",
"chat.seven_days": "7 أيام",
"chat.thirty_days": "30 يومًا",
"chat.three_months": "3 أشهر",
"composer.compose": "اكتب",
"composer.show_preview": "عرض المعاينة",
"composer.hide_preview": "إخفاء المعاينة",
"composer.user_said_in": "%1 كتب في %2",
"composer.user_said": "%1 كتب:",
"composer.discard": "هل أنت متأكد أنك تريد التخلي عن التغييرات؟",
"composer.submit_and_lock": "Submit and Lock",
"composer.toggle_dropdown": "Toggle Dropdown"
}

View File

@@ -1,23 +1,28 @@
{
"title": "إعلام",
"no_notifs": "You have no new notifications",
"see_all": "See all Notifications",
"back_to_home": "Back to %1",
"title": "التنبيهات",
"no_notifs": "ليس لديك أية تنبيهات جديدة",
"see_all": "معاينة كل التنبيهات",
"mark_all_read": "اجعل كل التنبيهات مقروءة",
"back_to_home": "عودة إلى %1",
"outgoing_link": "رابط خارجي",
"outgoing_link_message": "You are now leaving %1.",
"continue_to": "Continue to %1",
"return_to": "Return to %1",
"new_notification": "New Notification",
"you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "New message from <strong>%1</strong>",
"upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
"favourited_your_post": "<strong>%1</strong> has favourited your post.",
"user_flagged_post": "<strong>%1</strong> flagged a post.",
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"email-confirm-error": "An error occurred...",
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",
"email-confirm-sent": "Confirmation email sent."
"outgoing_link_message": "أنت تغادر %1 حاليا.",
"continue_to": "استمر إلى %1",
"return_to": "عودة إى %1",
"new_notification": "تنبيه جديد",
"you_have_unread_notifications": "لديك تنبيهات غير مقروءة.",
"new_message_from": "رسالة جديدة من <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> أضاف صوتًا إيجابيا إلى مشاركتك في <strong>%2</strong>.",
"moved_your_post": "<strong>%1</strong> نقل مشاركتك.",
"moved_your_topic": "<strong>%1</strong> نقل موضوعك.",
"favourited_your_post_in": "<strong>%1</strong> أضاف مشاركتك في <strong>%2</strong> إلى مفضلته.",
"user_flagged_post_in": "<strong>%1</strong> أشعَرَ بمشاركة مخلة في <strong>%2</strong>",
"user_posted_to": "<strong>%1</strong> أضاف ردا إلى: <strong>%2</strong>",
"user_posted_topic": "<strong>%1</strong> أنشأ موضوعًا جديدًا: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> ذكرَ اسمك في <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> صار يتابعك.",
"new_register": "<strong>%1</strong> sent a registration request.",
"email-confirmed": "تم التحقق من عنوان البريد الإلكتروني",
"email-confirmed-message": "شكرًا على إثبات صحة عنوان بريدك الإلكتروني. صار حسابك مفعلًا بالكامل.",
"email-confirm-error-message": "حدث خطأ أثناء التحقق من عنوان بريدك الإلكتروني. ربما رمز التفعيل خاطئ أو انتهت صلاحيته.",
"email-confirm-sent": "تم إرسال بريد التفعيل."
}

View File

@@ -1,15 +1,21 @@
{
"home": "Home",
"unread": "Unread Topics",
"popular": "Popular Topics",
"recent": "Recent Topics",
"users": "Registered Users",
"notifications": "Notifications",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.posts": "Posts made by %1",
"user.topics": "Topics created by %1",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
"home": "الصفحة الرئيسية",
"unread": "المواضيع الغير مقروءة",
"popular": "المواضيع الأكثر شهرة",
"recent": "المواضيع الحديثة",
"users": "اﻷعضاء المسجلون",
"notifications": "التنبيهات",
"tags": "الكلمات الدلالية",
"tag": "Topics tagged under \"%1\"",
"user.edit": "تعديل \"%1\"",
"user.following": "المستخدمون الذين يتبعهم %1",
"user.followers": "المستخدمون الذين يتبعون %1",
"user.posts": "ردود %1",
"user.topics": "مواضيع %1",
"user.groups": "مجموعات %1",
"user.favourites": "مفضلات %1",
"user.settings": "خيارات المستخدم",
"user.watched": "المواضيع المتابعة من قبل %1 ",
"maintenance.text": "جاري صيانة %1. المرجو العودة لاحقًا.",
"maintenance.messageIntro": "بالإضافة إلى ذلك، قام مدبر النظام بترك هذه الرسالة:"
}

View File

@@ -1,8 +1,19 @@
{
"title": "Recent",
"title": "الحديثة",
"day": "يوم",
"week": "أسبوع",
"month": "شهر",
"year": "Year",
"no_recent_topics": "There are no recent topics."
"year": "سنة",
"alltime": "دائمًا",
"no_recent_topics": "لايوجد مواضيع جديدة",
"no_popular_topics": "There are no popular topics.",
"there-is-a-new-topic": "يوجد موضوع جديد",
"there-is-a-new-topic-and-a-new-post": "يوجد موضوع جديد و رد جديد",
"there-is-a-new-topic-and-new-posts": "يوجد موضوع جديد و %1 ردود جديدة ",
"there-are-new-topics": "يوجد %1 مواضيع جديدة",
"there-are-new-topics-and-a-new-post": "يوجد %1 مواضيع جديدة و رد جديد",
"there-are-new-topics-and-new-posts": "يوجد %1 مواضيع جديدة و %2 مشاركات جديدة",
"there-is-a-new-post": "يوجد مشاركة جديدة",
"there-are-new-posts": "يوجد %1 مشاركات جديدة",
"click-here-to-reload": "إضغط هنا لإعادة التحميل"
}

View File

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

View File

@@ -1,14 +1,17 @@
{
"reset_password": "إعادة تعيين كلمة السر",
"update_password": "تحديث كلمة السر",
"password_changed.title": "تم تغير كلمة السر",
"password_changed.message": "<p>تم تغير كلمة السر بنجاح. يرجى <a href='/login'>إعادة الدخول</a></p>",
"wrong_reset_code.title": "إعادة تعيين رمز غير صحيح",
"wrong_reset_code.message": امز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمز جديد</a>",
"new_password": "كلمة السر الجديدة",
"repeat_password": "تأكيد كلمة السر",
"reset_password": "إعادة تعيين كلمة المرور",
"update_password": "تحديث كلمة المرور",
"password_changed.title": "تم تغير كلمة المرور",
"password_changed.message": "<p>تم تغير كلمة المرور بنجاح، الرجاء <a href='/login'>إعادة الدخول</a></p>",
"wrong_reset_code.title": "رمز إعادة التعيين غير صحيح",
"wrong_reset_code.message": "رمز إعادة التعين غير صحيح، يرجى المحاولة مرة أخرى أو <a href='/reset'>اطلب رمزا جديدا</a>",
"new_password": "كلمة المرور الجديدة",
"repeat_password": "تأكيد كلمة المرور",
"enter_email": "يرجى إدخال <strong>عنوان البريد الإلكتروني</strong> الخاص بك وسوف نرسل لك رسالة بالبريد الالكتروني مع تعليمات حول كيفية إستعادة حسابك.",
"enter_email_address": "Enter Email Address",
"enter_email_address": "ادخل عنوان البريد الإلكتروني",
"password_reset_sent": "إعادة تعيين كلمة السر أرسلت",
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود"
"invalid_email": "بريد إلكتروني غير صالح أو غير موجود",
"password_too_short": "كلمة المرور التي أدخلتها قصيرة، الرجاء اختر كلمة مرور مختلفة",
"passwords_do_not_match": "كلمتا السر التي أدخلتهما غير متطابقتان",
"password_expired": "لقد انتهت صلاحية كلمة المرور الخاصة بك، الرجاء اختيار كلمة مرور جديدة"
}

View File

@@ -1,3 +1,40 @@
{
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
"results_matching": "%1 نتيجة (نتائج) موافقة لـ \"%2\", (%3 ثواني)",
"no-matches": "لم يتم العثور على نتائج.",
"advanced-search": "بحث متقدم",
"in": "في",
"titles": "العناوين",
"titles-posts": "العناوين والمشاركات",
"posted-by": "مشاركة من طرف",
"in-categories": "في الفئات",
"search-child-categories": "بحث في الفئات الفرعية",
"reply-count": "عدد المشاركات",
"at-least": "على اﻷقل",
"at-most": "على اﻷكثر",
"post-time": "تاريخ المشاركة",
"newer-than": "أحدث من",
"older-than": "أقدم من",
"any-date": "أي وقت",
"yesterday": "أمس",
"one-week": "أسبوع",
"two-weeks": "أسبوعان",
"one-month": "شهر",
"three-months": "ثلاثة أشهر",
"six-months": "ستة أشهر",
"one-year": "عام",
"sort-by": "عرض حسب",
"last-reply-time": "تاريخ آخر رد",
"topic-title": "عنوان الموضوع",
"number-of-replies": "عدد الردود",
"number-of-views": "عدد المشاهدات",
"topic-start-date": "تاريخ بدأ الموضوع",
"username": "اسم المستخدم",
"category": "فئة",
"descending": "في ترتيب تنازلي",
"ascending": "في ترتيب تصاعدي",
"save-preferences": "حفظ التفضيلات",
"clear-preferences": "ازالة التفضيلات",
"search-preferences-saved": "تم حفظ تفضيلات البحث",
"search-preferences-cleared": "تم ازالة تفضيلات البحث",
"show-results-as": "عرض النتائج كـ"
}

View File

@@ -1,6 +1,6 @@
{
"success": "Success",
"topic-post": "You have successfully posted.",
"authentication-successful": "Authentication Successful",
"settings-saved": "Settings saved!"
"success": "نجاح",
"topic-post": "لقد تمت الإضافة بنجاح.",
"authentication-successful": "تم تسجيل الدخول بنجاح",
"settings-saved": "تم حفظ التغييرات!"
}

View File

@@ -1,6 +1,7 @@
{
"no_tag_topics": "There are no topics with this tag.",
"tags": "Tags",
"enter_tags_here": "Enter tags here. Press enter after each tag.",
"no_tags": "There are no tags yet."
"no_tag_topics": "لا يوجد مواضيع بهذه الكلمة الدلالية.",
"tags": "الكلمات الدلالية",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "أدخل الكلمات الدلالية...",
"no_tags": "لا يوجد كلمات دلالية بعد."
}

View File

@@ -1,94 +1,100 @@
{
"topic": "موضوع",
"topic_id": "Topic ID",
"topic_id_placeholder": "Enter topic ID",
"topic_id": "معرف الموضوع",
"topic_id_placeholder": "أدخل معرف الموضوع",
"no_topics_found": "لا توجد مواضيع !",
"no_posts_found": "No posts found!",
"post_is_deleted": "This post is deleted!",
"profile": "ملف",
"posted_by": "Posted by %1",
"posted_by_guest": "Posted by Guest",
"no_posts_found": "لا توجد مشاركات!",
"post_is_deleted": "هذه المشاركة محذوفة!",
"topic_is_deleted": "هذا الموضوع محذوف",
"profile": "الملف الشخصي",
"posted_by": "كتب من طرف %1",
"posted_by_guest": "كتب من طرف زائر",
"chat": "دردشة",
"notify_me": نبه من ردود جديدة في هذا الموضوع",
"notify_me": لق تنبيهات بالردود الجديدة في هذا الموضوع",
"quote": "اقتبس",
"reply": "رد",
"edit": "صحح",
"guest-login-reply": "يجب عليك تسجيل الدخول للرد",
"edit": "تعديل",
"delete": "حذف",
"purge": "Purge",
"restore": "Restore",
"move": "انقل",
"purge": "تطهير",
"restore": "استعادة",
"move": "نقل",
"fork": "فرع",
"banned": "محظور",
"link": "رابط",
"share": "شارك",
"share": "نشر",
"tools": "أدوات",
"flag": "Flag",
"locked": "Locked",
"bookmark_instructions": "Click here to return to your last position or close to discard.",
"flag_title": "Flag this post for moderation",
"flag_confirm": "Are you sure you want to flag this post?",
"flag_success": "This post has been flagged for moderation.",
"deleted_message": "This thread has been deleted. Only users with thread management privileges can see it.",
"following_topic.message": "You will now be receiving notifications when somebody posts to this topic.",
"not_following_topic.message": "You will no longer receive notifications from this topic.",
"login_to_subscribe": "Please register or log in in order to subscribe to this topic.",
"markAsUnreadForAll.success": "Topic marked as unread for all.",
"watch": "Watch",
"watch.title": "Be notified of new replies in this topic",
"share_this_post": "Share this Post",
"flag": "تبليغ",
"locked": "مقفل",
"bookmark_instructions": "إضغط هنا للعودة إلى آخر موضع أو غلق للإلغاء",
"flag_title": "إشعار بمشاركة مخلة.",
"flag_confirm": "هل تريد حقًّا التبليغ بهذه المشاركة؟",
"flag_success": "تم الإشعار بهذه المشاركة على أنها مخلة",
"deleted_message": "هذه المشاركة محذوفة. فقط من لهم صلاحية الإشراف على ا لمشاركات يمكنهم معاينتها.",
"following_topic.message": "ستستلم تنبيها عند كل مشاركة جديدة في هذا الموضوع.",
"not_following_topic.message": "لن تستلم أي تنبيه بخصوص عذا الموضوع بعد الآن.",
"login_to_subscribe": "المرجو إنشاء حساب أو تسجيل الدخول حتى يمكنك متابعة هذا الموضوع.",
"markAsUnreadForAll.success": "تم تحديد الموضوع على أنه غير مقروء.",
"watch": "مراقبة",
"unwatch": "الغاء المراقبة",
"watch.title": "استلم تنبيها بالردود الجديدة في هذا الموضوع",
"unwatch.title": "ألغ مراقبة هذا الموضوع",
"share_this_post": "انشر هذا الموضوع",
"thread_tools.title": "أدوات الموضوع",
"thread_tools.markAsUnreadForAll": "علم غير مقروء",
"thread_tools.pin": "علق الموضوع",
"thread_tools.unpin": "Unpin Topic",
"thread_tools.lock": "قفل الموضوع",
"thread_tools.unlock": "Unlock Topic",
"thread_tools.unpin": "إلغاء تعليق الموضوع",
"thread_tools.lock": "أقفل الموضوع",
"thread_tools.unlock": "إلغاء إقفال الموضوع",
"thread_tools.move": "نقل الموضوع",
"thread_tools.move_all": "Move All",
"thread_tools.fork": "تفرع الموضوع",
"thread_tools.move_all": "نقل الكل",
"thread_tools.fork": "إنشاء فرع الموضوع",
"thread_tools.delete": "حذف الموضوع",
"thread_tools.delete_confirm": "Are you sure you want to delete this thread?",
"thread_tools.restore": "Restore Topic",
"thread_tools.restore_confirm": "Are you sure you want to restore this thread?",
"thread_tools.purge": "Purge Topic",
"thread_tools.purge_confirm": "Are you sure you want to purge this thread?",
"topic_move_success": "This topic has been successfully moved to %1",
"post_delete_confirm": "Are you sure you want to delete this post?",
"post_restore_confirm": "Are you sure you want to restore this post?",
"post_purge_confirm": "Are you sure you want to purge this post?",
"thread_tools.delete_confirm": "هل أنت متأكد أنك تريد حذف هذا الموضوع؟",
"thread_tools.restore": "استعادة الموضوع",
"thread_tools.restore_confirm": "هل أنت متأكد أنك تريد استعادة هذا الموضوع؟",
"thread_tools.purge": "تطهير الموضوع",
"thread_tools.purge_confirm": "هل أنت متأكد أنك تريد تطهير هذا الموضوع؟",
"topic_move_success": "تم نقل هذا الموضوع إلى %1 بنجاح",
"post_delete_confirm": "هل أنت متأكد أنك تريد حذف هذه المشاركة؟",
"post_restore_confirm": "هل أنت متأكد أنك تريد استعادة هذه المشاركة؟",
"post_purge_confirm": "هل أنت متأكد أنك تريد تطهير هذه المشاركة؟",
"load_categories": "تحميل الفئات",
"disabled_categories_note": "الفئات المجلدة رمادية",
"disabled_categories_note": "الفئات المعطلة رمادية",
"confirm_move": "انقل",
"confirm_fork": "فرع",
"favourite": "المفضل",
"favourite": "إضافة إلى المفضلة",
"favourites": "المفضلة",
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. فضل بعد الردود لرؤيتهم هنا",
"favourites.has_no_favourites": "ليس لديك أي ردود مفضلة. أضف بعض المشاركات إلى المفضلة لرؤيتهم هنا",
"loading_more_posts": "تحميل المزيد من المشاركات",
"move_topic": "نقل الموضوع",
"move_topics": "Move Topics",
"move_post": "نقل الرد",
"post_moved": "Post moved!",
"move_topics": "نقل المواضيع",
"move_post": "نقل المشاركة",
"post_moved": "تم نقل المشاركة",
"fork_topic": "فرع الموضوع",
"topic_will_be_moved_to": "هذا الموضوع سوف ينقل إلى فئة",
"fork_topic_instruction": "إضغط على الردود لتفريعهم",
"fork_no_pids": "لم تختار أي رد",
"fork_success": "تفريع الموضوع بنجاح!",
"composer.title_placeholder": "Enter your topic title here...",
"composer.discard": "Discard",
"composer.submit": "Submit",
"composer.replying_to": "Replying to %1",
"composer.new_topic": "New Topic",
"composer.uploading": "uploading...",
"composer.thumb_url_label": "Paste a topic thumbnail URL",
"composer.thumb_title": "Add a thumbnail to this topic",
"fork_topic_instruction": "إضغط على المشاركات التي تريد تفريعها",
"fork_no_pids": "لم تختر أي مشاركة",
"fork_success": م إنشاء فرع للموضوع بنجاح! إضغط هنا لمعاينة الفرع.",
"composer.title_placeholder": "أدخل عنوان موضوعك هنا...",
"composer.handle_placeholder": "اﻹسم",
"composer.discard": "نبذ التغييرات",
"composer.submit": "حفظ",
"composer.replying_to": "الرد على %1",
"composer.new_topic": "موضوع جديد",
"composer.uploading": "جاري الرفع",
"composer.thumb_url_label": "ألصق رابط الصورة المصغرة للموضوع",
"composer.thumb_title": "إضافة صورة مصغرة للموضوع",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Or upload a file",
"composer.thumb_remove": "Clear fields",
"composer.drag_and_drop_images": "Drag and Drop Images Here",
"more_users_and_guests": "%1 more user(s) and %2 guest(s)",
"more_users": "%1 more user(s)",
"more_guests": "%1 more guest(s)",
"sort_by": "Sort by",
"oldest_to_newest": "Oldest to Newest",
"newest_to_oldest": "Newest to Oldest",
"most_votes": "Most votes"
"composer.thumb_file_label": "أو قم برفع ملف",
"composer.thumb_remove": "تفريغ الخانات",
"composer.drag_and_drop_images": "اسحب وأسقص الصور هنا",
"more_users_and_guests": "%1 مستخدم(ين) و %2 زائر(ين)",
"more_users": "%1 مستخدم(ين)",
"more_guests": "%1 زائر(ين)",
"users_and_others": "%1 و %2 آخرين",
"sort_by": "ترتيب حسب",
"oldest_to_newest": "من الأقدم إلى الأحدث",
"newest_to_oldest": "من الأحدث إلى الأقدم",
"most_votes": "الأكثر تصويتًا",
"most_posts": "اﻷكثر رداً"
}

View File

@@ -1,9 +1,10 @@
{
"title": "Unread",
"title": "غير مقروء",
"no_unread_topics": "ليس هناك أي موضوع غير مقروء",
"load_more": "حمل المزيد",
"mark_as_read": "Mark as Read",
"selected": "Selected",
"all": "All",
"topics_marked_as_read.success": "Topics marked as read!"
"mark_as_read": "حدد غير مقروء",
"selected": "المحددة",
"all": "الكل",
"all_categories": "كل الفئات",
"topics_marked_as_read.success": "تم تحديد المواضيع على أنها مقروءة!"
}

View File

@@ -1,65 +1,88 @@
{
"banned": "محظور",
"offline": "ليس موجود حالياً",
"offline": "غير متصل",
"username": "إسم المستخدم",
"joindate": "تاريخ الإنضمام",
"postcount": "عدد المشاركات",
"email": "البريد الإلكتروني",
"confirm_email": "Confirm Email",
"confirm_email": "تأكيد عنوان البريد الإلكتروني",
"ban_account": "Ban Account",
"ban_account_confirm": "هل تريد حقاً حظر هاذا العضو؟",
"unban_account": "Unban Account",
"delete_account": "حذف الحساب",
"delete_account_confirm": "هل أن متأكد أنك تريد حذف حسابك؟<br /><strong> هذه العملية غير قابلة للإلغاء ولن يكون بالإمكان استعادة بياناتك</strong><br /><br />أدخل اسم المستخدم الخاص بك لتأكيد عملية الحذف",
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"fullname": "الاسم الكامل",
"website": "الموقع الإلكتروني",
"location": "موقع",
"age": "عمر",
"location": "الموقع",
"age": "السن",
"joined": "تاريخ التسجيل",
"lastonline": "تاريخ أخر دخول",
"profile": "Profile",
"profile_views": "مشاهد الملف",
"reputation": "سمعة",
"favourites": "Favourites",
"followers": "أتباع",
"following": "يتبع",
"lastonline": "تاريخ آخر دخول",
"profile": "الملف الشخصي",
"profile_views": "عدد المشاهدات",
"reputation": "السمعة",
"favourites": "التفضيلات",
"watched": "متابع",
"followers": "المتابعون",
"following": "يتابع",
"aboutme": "معلومة عنك او السيرة الذاتية",
"signature": "توقيع",
"gravatar": "Gravatar",
"birthday": "عيد ميلاد",
"chat": "Chat",
"follow": "Follow",
"unfollow": "Unfollow",
"profile_update_success": "Profile has been updated successfully!",
"chat": "محادثة",
"follow": "تابع",
"unfollow": "إلغاء المتابعة",
"more": "المزيد",
"profile_update_success": "تم تحديث الملف الشخصي بنجاح",
"change_picture": "تغيير الصورة",
"edit": "صحح",
"uploaded_picture": "صورة تم تحميلها",
"upload_new_picture": "تحميل صورة جديدة",
"current_password": "Current Password",
"edit": "تعديل",
"uploaded_picture": "الصورة المرفوعة",
"upload_new_picture": "رفع صورة جديدة",
"upload_new_picture_from_url": "رفع صورة جديدة من رابط",
"current_password": "كلمة السر الحالية",
"change_password": "تغيير كلمة السر",
"change_password_error": "Invalid Password!",
"change_password_error_wrong_current": "Your current password is not correct!",
"change_password_error_length": "Password too short!",
"change_password_error_match": "Passwords must match!",
"change_password_error_privileges": "You do not have the rights to change this password.",
"change_password_success": "Your password is updated!",
"change_password_error": "كلمة سر غير صحيحة",
"change_password_error_wrong_current": "كلمة السر الحالية ليست صحيحة",
"change_password_error_length": "كلمة السر قصيرة",
"change_password_error_match": "كلمة السر غير مطابقة لتأكيد كلمة السر",
"change_password_error_privileges": "ليس لديك الصلاحيات الكافية لتغيير كلمة السر هذه.",
"change_password_success": "تم تحديث كلمة السر خاصتك.",
"confirm_password": "تأكيد كلمة السر",
"password": "كلمة السر",
"username_taken_workaround": "The username you requested was already taken, so we have altered it slightly. You are now known as <strong>%1</strong>",
"upload_picture": "تحميل الصورة",
"upload_a_picture": "تحميل صورة",
"image_spec": "You may only upload PNG, JPG, or GIF files",
"max": "max.",
"settings": "Settings",
"username_taken_workaround": "اسم المستخدم الذي اخترته سبق أخذه، لذا تم تغييره قليلا. أن الآن مسجل تحت الاسم <strong>%1</strong>",
"upload_picture": "ارفع الصورة",
"upload_a_picture": "رفع صورة",
"image_spec": "لايمكنك رفع إلا الصور ذات الصيغ PNG أو JPG أو GIF.",
"settings": "خيارات",
"show_email": "أظهر بريدي الإلكتروني",
"digest_label": "Subscribe to Digest",
"digest_description": "Subscribe to email updates for this forum (new notifications and topics) according to a set schedule",
"digest_off": "Off",
"digest_daily": "Daily",
"digest_weekly": "Weekly",
"digest_monthly": "Monthly",
"has_no_follower": "هذا المستخدم ليس لديه أي أتباع :(",
"follows_no_one": "هذا المستخدم لا يتبع أحد :(",
"has_no_posts": "This user didn't post anything yet.",
"has_no_topics": "This user didn't post any topics yet.",
"show_fullname": "أظهر اسمي الكامل",
"restrict_chats": "لاتسمح بورود محادثات إلا من طرف المستخدمين الذين أتابعهم.",
"digest_label": "اشترك في النشرة الدورية",
"digest_description": "استلام اشعارات بآخر مستجدات هذا القسم (التنبيهات والمواضيع الجديدة) عبر البريد الإلكتروني وفقا لجدول زمني محدد.",
"digest_off": "غير مفعل",
"digest_daily": "يوميا",
"digest_weekly": "أسبوعيًّا",
"digest_monthly": "شهريًّا",
"send_chat_notifications": "استلام رسالة إلكترونية عند ورود محادثة وأنا غير متصل.",
"send_post_notifications": "Send an email when replies are made to topics I am subscribed to",
"settings-require-reload": "تغيير بعض اﻹعدادات يتطلب تحديث الصفحة. إضغط هنا لتحديث الصفحة",
"has_no_follower": "هذا المستخدم ليس لديه أي متابع :(",
"follows_no_one": "هذا المستخدم لا يتابع أحد :(",
"has_no_posts": "This user hasn't posted anything yet.",
"has_no_topics": "This user hasn't posted any topics yet.",
"has_no_watched_topics": "This user hasn't watched any topics yet.",
"email_hidden": "البريد الإلكتروني مخفي",
"hidden": "مخفي",
"paginate_description": "Paginate topics and posts instead of using infinite scroll.",
"topics_per_page": "Topics per Page",
"posts_per_page": "Posts per Page",
"notification_sounds": "Play a sound when you receive a notification.",
"browsing": "Browsing Settings",
"open_links_in_new_tab": "Open outgoing links in new tab?"
"paginate_description": "Paginate topics and posts instead of using infinite scroll",
"topics_per_page": "المواضيع في كل صفحة",
"posts_per_page": "الردود في كل صفحة",
"notification_sounds": "تشغيل صوت عند تلقي تنبيه",
"browsing": "خيارات التصفح",
"open_links_in_new_tab": "فتح الروابط الخارجية في نافدة جديدة",
"enable_topic_searching": "تفعيل خاصية البحث داخل المواضيع",
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen",
"follow_topics_you_reply_to": "متابعة المواضيع التي تقوم بالرد فيها",
"follow_topics_you_create": "متابعة المواضيع التي تنشئها",
"grouptitle": "حدد عنوان المجموعة الذي تريد عرضه",
"no-group-title": "لا يوجد عنوان للمجموعة"
}

View File

@@ -1,10 +1,21 @@
{
"latest_users": "أحدث المستخدمين",
"top_posters": "أكثر المشتركين",
"latest_users": "أحدث الأعضاء",
"top_posters": "اﻷكثر مشاركة",
"most_reputation": "أعلى سمعة",
"search": "بحث",
"enter_username": "أدخل اسم مستخدم للبحث",
"load_more": "حمل المزيد",
"user-not-found": "User not found!",
"users-found-search-took": "%1 user(s) found! Search took %2 ms."
"users-found-search-took": "تم إيجاد %1 مستخدمـ(ين)! استغرق البحث %2 ثانية.",
"filter-by": "Filter By",
"online-only": "المتصلون فقط",
"picture-only": "صورة فقط",
"invite": "Invite",
"invitation-email-sent": "An invitation email has been sent to %1",
"user_list": "قائمة اﻷعضاء",
"recent_topics": "أحدث المواضيع",
"popular_topics": "Popular Topics",
"unread_topics": "المواضيع الغير مقروءة",
"categories": "الفئات",
"tags": "الكلمات الدلالية",
"map": "Map"
}

View File

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

View File

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

View File

@@ -0,0 +1,90 @@
{
"invalid-data": "Невалидни данни",
"not-logged-in": "Изглежда не сте влезли в системата.",
"account-locked": "Вашият акаунт беше заключен временно",
"search-requires-login": "Търсенето изисква акаунт моля, влезте или се регистрирайте.",
"invalid-cid": "Невалиден идентификатор на категория",
"invalid-tid": "Невалиден идентификатор на тема",
"invalid-pid": "Невалиден идентификатор на публикация",
"invalid-uid": "Невалиден идентификатор на потребител",
"invalid-username": "Невалидно потребителско име",
"invalid-email": "Невалидна е-поща",
"invalid-title": "Невалидно заглавие!",
"invalid-user-data": "Невалидни потребителски данни",
"invalid-password": "Невалидна парола",
"invalid-username-or-password": "Моля, посочете потребителско име и парола",
"invalid-search-term": "Невалиден текст за търсене",
"invalid-pagination-value": "Невалиден номер на страница",
"username-taken": "Потребителското име е заето",
"email-taken": "Е-пощата е заета",
"email-not-confirmed": "Вашата е-поща все още не е потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"email-not-confirmed-chat": "Няма да можете да пишете в чата, докато е-пощата Ви не бъде потвърдена. Моля, натиснете тук, за да потвърдите е-пощата си.",
"no-email-to-confirm": "Този форум изисква потвърдена е-поща. Моля, натиснете тук, за да въведете е-поща",
"email-confirm-failed": "Не успяхме да потвърдим е-пощата Ви. Моля, опитайте отново по-късно.",
"confirm-email-already-sent": "Е-писмото за потвърждение вече е изпратено. Моля, почакайте още %1 минута/и, преди да изпратите ново.",
"username-too-short": "Потребителското име е твърде кратко",
"username-too-long": "Потребителското име е твърде дълго",
"user-banned": "Потребителят е блокиран",
"user-too-new": "Съжаляваме, но трябва да изчакате поне %1 секунда/и, преди да направите първата си публикация",
"no-category": "Категорията не съществува",
"no-topic": "Темата не съществува",
"no-post": "Публикацията не съществува",
"no-group": "Групата не съществува",
"no-user": "Потребителят не съществува",
"no-teaser": "Резюмето не съществува",
"no-privileges": "Нямате достатъчно права за това действие.",
"no-emailers-configured": "Добавките за е-поща не са заредени, така че не може да бъде изпратено пробно е-писмо",
"category-disabled": "Категорията е изключена",
"topic-locked": "Темата е заключена",
"post-edit-duration-expired": "Можете да редактирате публикациите си до %1 секунда/и, след като ги пуснете",
"still-uploading": "Моля, изчакайте качването да приключи.",
"content-too-short": "Моля, въведете по-дълъг текст на публикацията. Публикациите трябва да съдържат поне %1 символ(а).",
"content-too-long": "Моля, въведете по-кратък текст на публикацията. Публикациите трябва да съдържат не повече от %1 символ(а).",
"title-too-short": "Моля, въведете по-дълго заглавие. Заглавията трябва да съдържат поне %1 символ(а).",
"title-too-long": "Моля, въведете по-кратко заглавие. Заглавията трябва да съдържат не повече от %1 символ(а).",
"too-many-posts": "Можете да публикувате веднъж на %1 секунда/и моля, изчакайте малко, преди да опитате да публикувате отново",
"too-many-posts-newbie": "Като нов потребител, Вие можете да публикувате веднъж на %1 секунда/и, докато не натрупате %2 репутация моля, изчакайте малко, преди да опитате да публикувате отново",
"tag-too-short": "Моля, въведете по-дълъг етикет. Етикетите трябва да съдържат поне %1 символ(а)",
"tag-too-long": "Моля, въведете по-кратък етикет. Етикетите трябва да съдържат не повече от %1 символ(а)",
"not-enough-tags": "Недостатъчно етикети. Темите трябва да имат поне %1 етикет(а)",
"too-many-tags": "Твърде много етикети. Темите не могат да имат повече от %1 етикет(а)",
"file-too-big": "Максималният разрешен размер на файл е %1 КБ моля, качете по-малък файл",
"cant-vote-self-post": "Не можете да гласувате за собствената си публикация",
"already-favourited": "Вече сте отбелязали тази публикация като любима",
"already-unfavourited": "Вече сте премахнали тази публикация от любимите си",
"cant-ban-other-admins": "Не можете да блокирате другите администратори!",
"cant-remove-last-admin": "Вие сте единственият администратор. Добавете друг потребител като администратор, преди да премахнете себе си като администратор",
"invalid-image-type": "Грешен тип на изображение. Позволените типове са: %1",
"invalid-image-extension": "Грешно разширение на изображението",
"invalid-file-type": "Грешен тип на файл. Позволените типове са: %1",
"group-name-too-short": "Името на групата е твърде кратко",
"group-already-exists": "Вече съществува такава група",
"group-name-change-not-allowed": "Промяната на името на групата не е разрешено",
"group-already-member": "Вече сте част от тази група",
"group-needs-owner": "Тази група се нуждае от поне един собственик",
"group-already-invited": "Този потребител вече е бил поканен",
"group-already-requested": "Вашата заявка за членство вече е била изпратена",
"post-already-deleted": "Тази публикация вече е изтрита",
"post-already-restored": "Тази публикация вече е възстановена",
"topic-already-deleted": "Тази тема вече е изтрита",
"topic-already-restored": "Тази тема вече е възстановена",
"cant-purge-main-post": "Не можете да изчистите първоначалната публикация. Моля, вместо това изтрийте темата.",
"topic-thumbnails-are-disabled": "Иконките на темите са изключени.",
"invalid-file": "Грешен файл",
"uploads-are-disabled": "Качването не е разрешено",
"signature-too-long": "Съжаляваме, но подписът Ви трябва да съдържа не повече от %1 символ(а).",
"about-me-too-long": "Съжаляваме, но информацията за Вас трябва да съдържа не повече от %1 символ(а).",
"cant-chat-with-yourself": "Не можете да пишете чат съобщение на себе си!",
"chat-restricted": "Този потребител е ограничил чат съобщенията до себе си. Той трябва първо да Ви последва, преди да можете да си пишете с него.",
"too-many-messages": "Изпратили сте твърде много съобщения. Моля, изчакайте малко.",
"reputation-system-disabled": "Системата за репутация е изключена.",
"downvoting-disabled": "Отрицателното гласуване е изключено",
"not-enough-reputation-to-downvote": "Нямате достатъчно репутация, за да гласувате отрицателно за тази публикация",
"not-enough-reputation-to-flag": "Нямате достатъчно репутация, за да докладвате тази публикация",
"already-flagged": "Вече сте докладвали тази публикация",
"reload-failed": "NodeBB срещна проблем при презареждането: „%1“. NodeBB ще продължи да поддържа съществуващите клиентски ресурси, но Вие трябва да отмените последните си действия преди презареждането.",
"registration-error": "Грешка при регистрацията",
"parse-error": "Нещо се обърка при прочитането на отговора на сървъра",
"wrong-login-type-email": "Моля, използвайте е-пощата си, за да влезете",
"wrong-login-type-username": "Моля, използвайте потребителското си име, за да влезете"
}

View File

@@ -0,0 +1,83 @@
{
"home": "Начало",
"search": "Търсене",
"buttons.close": "Затваряне",
"403.title": "Достъпът е отказан",
"403.message": "Изглежда сте посетили страница, до която нямате достъп.",
"403.login": "Може би трябва да <a href='%1/login'>опитате да влезете</a>?",
"404.title": "Не е открита",
"404.message": "Изглежда сте се опитали да посетите страница, която не съществува. Върнете се към <a href='%1/'>началната страница</a>.",
"500.title": "Вътрешна грешка.",
"500.message": "Опа! Изглежда нещо се обърка!",
"register": "Регистрация",
"login": "Вход",
"please_log_in": "Моля, влезте",
"logout": "Изход",
"posting_restriction_info": "Публикуването в момента е позволено само за регистрираните потребители. Натиснете тук, за да влезете.",
"welcome_back": "Добре дошли отново",
"you_have_successfully_logged_in": "Вие влязохте успешно",
"save_changes": "Запазване на промените",
"close": "Затваряне",
"pagination": "Страници",
"pagination.out_of": "%1 от %2",
"pagination.enter_index": "Въведете номер",
"header.admin": "Администратор",
"header.categories": "Категории",
"header.recent": "Скорошни",
"header.unread": "Непрочетени",
"header.tags": "Етикети",
"header.popular": "Популярни",
"header.users": "Потребители",
"header.groups": "Групи",
"header.chats": "Чатове",
"header.notifications": "Известия",
"header.search": "Търсене",
"header.profile": "Профил",
"notifications.loading": "Зареждане на известията",
"chats.loading": "Зареждане на чатовете",
"motd.welcome": "Добре дошли в NodeBB, системата за дискусии на бъдещето.",
"previouspage": "Предишна страница",
"nextpage": "Следваща страница",
"alert.success": "Готово",
"alert.error": "Грешка",
"alert.banned": "Блокиран",
"alert.banned.message": "Вие току-що бяхте блокиран. Сега ще излезете от системата.",
"alert.unfollow": "Вие вече не следвате %1!",
"alert.follow": "Вие следвате %1!",
"online": "На линия",
"users": "Потребители",
"topics": "Теми",
"posts": "Публ.",
"views": "Прегл.",
"reputation": "Репутация",
"read_more": "още",
"more": "Още",
"posted_ago_by_guest": "публикувано %1 от гост",
"posted_ago_by": "публикувано %1 от %2",
"posted_ago": "публикувано %1",
"posted_in_ago_by_guest": "публикувано в %1 %2 от гост",
"posted_in_ago_by": "публикувано в %1 %2 от %3",
"posted_in_ago": "публикувано в %1 %2",
"replied_ago": "отговори %1",
"user_posted_ago": "%1 публикува %2",
"guest_posted_ago": "гост публикува %1",
"last_edited_by_ago": "последно редактирано от %1 %2",
"norecentposts": "Няма скорошни публикации",
"norecenttopics": "Няма скорошни теми",
"recentposts": "Скорошни публикации",
"recentips": "Наскоро ползвани IP адреси",
"away": "Отсъстващ",
"dnd": "Отпочиващ",
"invisible": "Невидим",
"offline": "Извън линия",
"email": "Е-поща",
"language": "Език",
"guest": "Гост",
"guests": "Гости",
"updated.title": "Форумът е актуализиран",
"updated.message": "Този форум току-що беше актуализиран до най-новата версия. Натиснете тук, за да опресните страницата.",
"privacy": "Поверителност",
"follow": "Следване",
"unfollow": "Прекратяване на следването",
"delete_all": "Изтриване на всичко"
}

View File

@@ -0,0 +1,50 @@
{
"groups": "Групи",
"view_group": "Преглед на групата",
"owner": "Собственик на групата",
"new_group": "Създаване на нова група",
"no_groups_found": "Няма групи",
"pending.accept": "Приемане",
"pending.reject": "Отхвърляне",
"pending.accept_all": "Приемане на всички",
"pending.reject_all": "Отхвърляне на всички",
"pending.none": "В момента няма чакащи членове",
"invited.none": "В момента няма поканени членове",
"invited.uninvite": "Отмяна на поканата",
"invited.search": "Потърсете потребител, когото да поканите в тази група",
"cover-instructions": "Плъзнете снимка, наместете я в предпочитаната позиция и натистнете <strong>Запазване</strong>",
"cover-change": "Промяна",
"cover-save": "Запазване",
"cover-saving": "Запазване",
"details.title": "Подробности за групата",
"details.members": "Списък на членовете",
"details.pending": "Кандидатстващи членове",
"details.invited": "Поканени членове",
"details.has_no_posts": "Членовете на тази група не са публикували нищо.",
"details.latest_posts": "Скорошни публикации",
"details.private": "Частна",
"details.grant": "Даване/отнемане на собственост",
"details.kick": "Изгонване",
"details.owner_options": "Администрация на групата",
"details.group_name": "Име на групата",
"details.member_count": "Брой на членовете",
"details.creation_date": "Дата на създаване",
"details.description": "Описание",
"details.badge_preview": "Преглед на емблемата",
"details.change_icon": "Промяна на иконката",
"details.change_colour": "Промяна на цвета",
"details.badge_text": "Текст на емблемата",
"details.userTitleEnabled": "Показване на емблемата",
"details.private_help": "Ако е включено, присъединяването към група изисква одобрението на собственика ѝ",
"details.hidden": "Скрита",
"details.hidden_help": "Ако е включено, тази група няма да бъде извеждана в списъка от групи и потребителите ще трябва да бъдат поканени лично",
"details.delete_group": "Изтриване на групата",
"event.updated": "Подробностите за групата бяха обновени",
"event.deleted": "Групата „%1“ беше изтрита",
"membership.accept-invitation": "Приемане на поканата",
"membership.invitation-pending": "Чакаща покана",
"membership.join-group": "Присъединяване към групата",
"membership.leave-group": "Напускане на групата",
"membership.reject": "Отхвърляне",
"new-group.group_name": "Име на групата:"
}

View File

@@ -0,0 +1,5 @@
{
"name": "Български",
"code": "bg",
"dir": "ltr"
}

View File

@@ -0,0 +1,11 @@
{
"username-email": "Потребителско име / е-поща",
"username": "Потребителско име",
"email": "Е-поща",
"remember_me": "Запомнете ме?",
"forgot_password": "Забравена парола?",
"alternative_logins": "Други начини за влизане",
"failed_login_attempt": "Неуспешно влизане. Моля, опитайте отново.",
"login_successful": "Вие влязохте успешно!",
"dont_have_account": "Нямате акаунт?"
}

View File

@@ -0,0 +1,26 @@
{
"chat.chatting_with": "Чат с <span id=\"chat-with-name\"></span>",
"chat.placeholder": "Въведете чат съобщението тук и натиснете Ентер за изпращане",
"chat.send": "Изпращане",
"chat.no_active": "Нямате текущи чатове.",
"chat.user_typing": "%1 пише...",
"chat.user_has_messaged_you": "%1 Ви написа съобщение.",
"chat.see_all": "Вижте всички чатове",
"chat.no-messages": "Моля, изберете получател, за да видите историята на чат съобщенията",
"chat.recent-chats": "Скорошни чатове",
"chat.contacts": "Контакти",
"chat.message-history": "История на съобщенията",
"chat.pop-out": "Отделяне на чата в прозорец",
"chat.maximize": "Уголемяване",
"chat.seven_days": "7 дни",
"chat.thirty_days": "30 дни",
"chat.three_months": "3 месеца",
"composer.compose": "Писане",
"composer.show_preview": "Показване на прегледа",
"composer.hide_preview": "Скриване на прегледа",
"composer.user_said_in": "%1 каза в %2:",
"composer.user_said": "%1 каза:",
"composer.discard": "Сигурни ли сте, че искате да отхвърлите тази публикация?",
"composer.submit_and_lock": "Публикуване и заключване",
"composer.toggle_dropdown": "Превключване на падащото меню"
}

View File

@@ -0,0 +1,28 @@
{
"title": "Известия",
"no_notifs": "Нямате нови известия",
"see_all": "Вижте всички известия",
"mark_all_read": "Отбелязване на всички известия като прочетени",
"back_to_home": "Назад към %1",
"outgoing_link": "Външна връзка",
"outgoing_link_message": "Вие напускате %1.",
"continue_to": "Продължаване към %1",
"return_to": "Връщане към %1",
"new_notification": "Ново известие",
"you_have_unread_notifications": "Имате непрочетени известия",
"new_message_from": "Ново съобщение от <strong>%1</strong>",
"upvoted_your_post_in": "<strong>%1</strong> гласува положително за Ваша публикация в <strong>%2</strong>.",
"moved_your_post": "<strong>%1</strong> премести Ваша публикация.",
"moved_your_topic": "<strong>%1</strong> премести Ваша тема.",
"favourited_your_post_in": "<strong>%1</strong> отбеляза Ваша публикация в <strong>%2</strong> като любима.",
"user_flagged_post_in": "<strong>%1</strong> докладва Ваша публикация в <strong>%2</strong>",
"user_posted_to": "<strong>%1</strong> публикува отговор на: <strong>%2</strong>",
"user_posted_topic": "<strong>%1</strong> публикува нова тема: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> Ви спомена в <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> започна да Ви следва.",
"new_register": "<strong>%1</strong> изпрати заявка за регистрация.",
"email-confirmed": "Е-пощата беше потвърдена",
"email-confirmed-message": "Благодарим Ви, че потвърдихте е-пощата си. Акаунтът Ви е вече напълно активиран.",
"email-confirm-error-message": "Възникна проблем при потвърждаването на е-пощата Ви. Може кодът да е грешен или давността му да е изтекла.",
"email-confirm-sent": "Изпратено е е-писмо за потвърждение."
}

View File

@@ -0,0 +1,21 @@
{
"home": "Начало",
"unread": "Непрочетени теми",
"popular": "Популярни теми",
"recent": "Скорошни теми",
"users": "Регистрирани потребители",
"notifications": "Известия",
"tags": "Етикети",
"tag": "Теми, отбелязани като „%1“",
"user.edit": "Редактиране на „%1“",
"user.following": "Хора, които %1 следва",
"user.followers": "Хора, които следват %1",
"user.posts": "Публикации от %1",
"user.topics": "Теми, създадени от %1",
"user.groups": "Групите на %1",
"user.favourites": "Любимите публикации на %1",
"user.settings": "Настройки на потребителя",
"user.watched": "Теми, следени от %1",
"maintenance.text": "%1 в момента е в профилактика. Моля, върнете се по-късно.",
"maintenance.messageIntro": "В допълнение, администраторът е оставил това съобщение:"
}

View File

@@ -0,0 +1,19 @@
{
"title": "Скорошни",
"day": "Ден",
"week": "Седмица",
"month": "Месец",
"year": "Година",
"alltime": "Цялото време",
"no_recent_topics": "Няма скорошни теми.",
"no_popular_topics": "Няма популярни теми.",
"there-is-a-new-topic": "Има нова тема.",
"there-is-a-new-topic-and-a-new-post": "Има нова тема и нова публикация.",
"there-is-a-new-topic-and-new-posts": "Има нова тема и %1 нови публикации.",
"there-are-new-topics": "Има %1 нови теми.",
"there-are-new-topics-and-a-new-post": "Има %1 нови теми и нова публикация.",
"there-are-new-topics-and-new-posts": "Има %1 нови теми и %2 нови публикации.",
"there-is-a-new-post": "Има нова публикация",
"there-are-new-posts": "Има %1 нови публикации.",
"click-here-to-reload": "Натиснете тук, за да презаредите."
}

View File

@@ -0,0 +1,19 @@
{
"register": "Регистрация",
"help.email": "По подразбиране, Вашата е-поща ще бъде скрита за останалите.",
"help.username_restrictions": "Уникално потребителско име с дължина между %1 и %2 символа. Другите ще могат да Ви споменават чрез @<span id='yourUsername'>потребител</span>.",
"help.minimum_password_length": "Дължината на паролата Ви трябва да е поне %1 символа.",
"email_address": "Е-поща",
"email_address_placeholder": "Въведете адрес на е-поща",
"username": "Потребителско име",
"username_placeholder": "Въведете потребителско име",
"password": "Парола",
"password_placeholder": "Въведете парола",
"confirm_password": "Потвърдете паролата",
"confirm_password_placeholder": "Потвърдете паролата",
"register_now_button": "Регистриране",
"alternative_registration": "Друг начин за регистриране",
"terms_of_use": "Условия за ползване",
"agree_to_terms_of_use": "Съгласен съм с условията за ползване",
"registration-added-to-queue": "Вашата регистрация беше добавена в опашката за одобрение. Ще получите е-писмо, когато тя бъде одобрена от администратор."
}

View File

@@ -0,0 +1,17 @@
{
"reset_password": "Подновяване на паролата",
"update_password": "Обновяване на паролата",
"password_changed.title": "Паролата беше променена",
"password_changed.message": "<p>Паролата беше подновена. Моля, <a href=\"/login\">влезте отново</a>.",
"wrong_reset_code.title": "Грешен код за подновяване",
"wrong_reset_code.message": "Полученият код за подновяване беше грешен. Моля, опитайте отново или <a href=\"/reset\">поискайте нов код за подновяване</a>.",
"new_password": "Нова парола",
"repeat_password": "Потвърдете паролата",
"enter_email": "Моля, въведете Вашата <strong>е-поща</strong> и ние ще Ви изпратим е-писмо с инструкции за това как да достъпите акаунта си.",
"enter_email_address": "Въведете адрес на е-поща",
"password_reset_sent": "Информацията за подновяване на паролата беше изпратена",
"invalid_email": "Грешна е-поща / е-пощата не съществува!",
"password_too_short": "Паролата е твърде кратка. Моля, изберете друга парола.",
"passwords_do_not_match": "Двете пароли, които въведохте, са различни.",
"password_expired": "Паролата Ви е с изтекла давност. Моля, изберете нова парола"
}

View File

@@ -0,0 +1,40 @@
{
"results_matching": "%1 резултат(а), отговарящи на „%2“, (%3 секунди)",
"no-matches": "Няма съвпадения",
"advanced-search": "Разширено търсене",
"in": "В",
"titles": "Заглавия",
"titles-posts": "Заглавия и публикации",
"posted-by": "Публикувано от",
"in-categories": "В категории",
"search-child-categories": "Претърсване на подкатегориите",
"reply-count": "Брой на отговорите",
"at-least": "Поне",
"at-most": "Най-много",
"post-time": "Време на публикуване",
"newer-than": "По-нови от",
"older-than": "По-стари от",
"any-date": "Която и да е дата",
"yesterday": "Вчера",
"one-week": "Една седмица",
"two-weeks": "Две седмици",
"one-month": "Един месец",
"three-months": "Три месеца",
"six-months": "Шест месеца",
"one-year": "Една година",
"sort-by": "Подреждане по",
"last-reply-time": "Време на последния отговор",
"topic-title": "Заглавие на темата",
"number-of-replies": "Брой на отговорите",
"number-of-views": "Брой на преглежданията",
"topic-start-date": "Начална дата на темата",
"username": "Потребителско име",
"category": "Категория",
"descending": "В низходящ ред",
"ascending": "Във възходящ ред",
"save-preferences": "Запазване на предпочитанията",
"clear-preferences": "Изчистване на предпочитанията",
"search-preferences-saved": "Предпочитанията за търсене бяха запазени",
"search-preferences-cleared": "Предпочитанията за търсене бяха изчистени",
"show-results-as": "Показване на резултатите като"
}

View File

@@ -0,0 +1,6 @@
{
"success": "Готово",
"topic-post": "Вие публикувахте успешно.",
"authentication-successful": "Успешно удостоверяване",
"settings-saved": "Настройките са записани!"
}

View File

@@ -0,0 +1,7 @@
{
"no_tag_topics": "Няма теми с този етикет.",
"tags": "Етикети",
"enter_tags_here": "Въведете етикетите тук, всеки може да е с дължина между %1 и %2 символа.",
"enter_tags_here_short": "Въведете етикети...",
"no_tags": "Все още няма етикети."
}

View File

@@ -0,0 +1,100 @@
{
"topic": "Тема",
"topic_id": "Идентификатора на темата",
"topic_id_placeholder": "Въведете идентификатор на темата",
"no_topics_found": "Няма открити теми!",
"no_posts_found": "Няма открити публикации!",
"post_is_deleted": "Тази публикация е изтрита!",
"topic_is_deleted": "Тази тема е изтрита!",
"profile": "Профил",
"posted_by": "Публикувано от %1",
"posted_by_guest": "Публикувано от гост",
"chat": "Чат",
"notify_me": "Получавайте известия за новите отговори в тази тема",
"quote": "Цитат",
"reply": "Отговор",
"guest-login-reply": "Влезте, за да отговорите",
"edit": "Редактиране",
"delete": "Изтриване",
"purge": "Изчистване",
"restore": "Възстановяване",
"move": "Преместване",
"fork": "Разделяне",
"link": "Връзка",
"share": "Споделяне",
"tools": "Инструменти",
"flag": "Докладване",
"locked": "Заключена",
"bookmark_instructions": "Натиснете, за да се върнете на последната си позиция или затворете, за да отхвърлите.",
"flag_title": "Докладване на тази публикация до модератор",
"flag_confirm": "Сигурни ли сте, че искате да докладвате тази публикация?",
"flag_success": "Тази публикация е била докладвана до модератор.",
"deleted_message": "Тази тема е била изтрита. Само потребители с права за управление на темите могат да я видят.",
"following_topic.message": "Вече ще получавате известия когато някой публикува коментар в тази тема.",
"not_following_topic.message": "Вече няма да получавате известия за тази тема.",
"login_to_subscribe": "Моля, регистрирайте се или влезте, за да се абонирате за тази тема.",
"markAsUnreadForAll.success": "Темата е отбелязана като непрочетена за всички.",
"watch": "Наблюдаване",
"unwatch": "Спиране на наблюдаването",
"watch.title": "Получавайте известия за новите отговори в тази тема",
"unwatch.title": "Спрете да наблюдавате тази тема",
"share_this_post": "Споделете тази публикация",
"thread_tools.title": "Инструменти за темата",
"thread_tools.markAsUnreadForAll": "Отбелязване като непрочетена",
"thread_tools.pin": "Закачане на темата",
"thread_tools.unpin": "Откачане на темата",
"thread_tools.lock": "Заключване на темата",
"thread_tools.unlock": "Отключване на темата",
"thread_tools.move": "Преместване на темата",
"thread_tools.move_all": "Преместване на всички",
"thread_tools.fork": "Разделяне на темата",
"thread_tools.delete": "Изтриване на темата",
"thread_tools.delete_confirm": "Сигурни ли сте, че искате да изтриете тази тема?",
"thread_tools.restore": "Възстановяване на темата",
"thread_tools.restore_confirm": "Сигурни ли сте, че искате да възстановите тази тема?",
"thread_tools.purge": "Изчистване на темата",
"thread_tools.purge_confirm": "Сигурни ли сте, че искате да изчистите тази тема?",
"topic_move_success": "Темата беше преместена успешно в %1",
"post_delete_confirm": "Сигурни ли сте, че искате да изтриете тази публикация?",
"post_restore_confirm": "Сигурни ли сте, че искате да възстановите тази публикация?",
"post_purge_confirm": "Сигурни ли сте, че искате да изчистите тази публикация?",
"load_categories": "Зареждане на категориите",
"disabled_categories_note": "Изключените категории са засивени",
"confirm_move": "Преместване",
"confirm_fork": "Разделяне",
"favourite": "Любима",
"favourites": "Любими",
"favourites.has_no_favourites": "Нямате любими, отбележете няколко публикации, за да ги видите тук!",
"loading_more_posts": "Зареждане на още публикации",
"move_topic": "Преместване на темата",
"move_topics": "Преместване на темите",
"move_post": "Преместване на публикацията",
"post_moved": "Публикацията беше преместена!",
"fork_topic": "Разделяне на темата",
"topic_will_be_moved_to": "Тази тема ще бъде преместена в категорията",
"fork_topic_instruction": "Натиснете публикациите, които искате да отделите",
"fork_no_pids": "Няма избрани публикации!",
"fork_success": "Темата е разделена успешно! Натиснете тук, за да преминете към отделената тема.",
"composer.title_placeholder": "Въведете заглавието на темата си тук...",
"composer.handle_placeholder": "Име",
"composer.discard": "Отхвърляне",
"composer.submit": "Публикуване",
"composer.replying_to": "Отговор на %1",
"composer.new_topic": "Нова тема",
"composer.uploading": "качване...",
"composer.thumb_url_label": "Поставете адреса на иконка за темата",
"composer.thumb_title": "Добавете иконка към тази тема",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "Или качете файл",
"composer.thumb_remove": "Изчистване на полетата",
"composer.drag_and_drop_images": "Плъзнете снимките тук",
"more_users_and_guests": "Още %1 потребител(и) и %2 гост(и)",
"more_users": "Още %1 потребител(и)",
"more_guests": "Още %1 гост(и)",
"users_and_others": "%1 и %2 други",
"sort_by": "Подреждане по",
"oldest_to_newest": "Първо най-старите",
"newest_to_oldest": "Първо най-новите",
"most_votes": "Най-много гласове",
"most_posts": "Най-много публикации"
}

View File

@@ -0,0 +1,10 @@
{
"title": "Непрочетени",
"no_unread_topics": "Няма непрочетени теми.",
"load_more": "Зареждане на още",
"mark_as_read": "Отбелязване като прочетени",
"selected": "Избраните",
"all": "Всички",
"all_categories": "Всички категории",
"topics_marked_as_read.success": "Темите бяха отбелязани като прочетени!"
}

View File

@@ -0,0 +1,88 @@
{
"banned": "Блокиран",
"offline": "Извън линия",
"username": "Потребителско име",
"joindate": "Дата на присъединяване",
"postcount": "Брой публикации",
"email": "Е-поща",
"confirm_email": "Потвърдете е-пощата",
"ban_account": "Блокиране на акаунта",
"ban_account_confirm": "Наистина ли искате да блокирате този потребител?",
"unban_account": "Отблокиране на акаунта",
"delete_account": "Изтриване на акаунта",
"delete_account_confirm": "Сигурни ли сте, че искате да изтриете акаунта си? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните си</strong><br /><br />Въведете потребителското си име, за да потвърдите, че искате да унищожите този акаунт.",
"delete_this_account_confirm": "Сигурни ли сте, че искате да изтриете този акаунт? <br /><strong>Това действие е необратимо и няма да можете да възстановите нищо от данните</strong><br /><br />",
"fullname": "Цяло име",
"website": "Уеб сайт",
"location": "Местоположение",
"age": "Възраст",
"joined": "Присъединил се",
"lastonline": "Последно на линия",
"profile": "Профил",
"profile_views": "Преглеждания на профила",
"reputation": "Репутация",
"favourites": "Любими",
"watched": "Наблюдавани",
"followers": "Последователи",
"following": "Следва",
"aboutme": "За мен",
"signature": "Подпис",
"gravatar": "Граватар",
"birthday": "Рождена дата",
"chat": "Чат",
"follow": "Следване",
"unfollow": "Спиране на следването",
"more": "Още",
"profile_update_success": "Профилът беше обновен успешно!",
"change_picture": "Промяна на снимката",
"edit": "Редактиране",
"uploaded_picture": "Качена снимка",
"upload_new_picture": "Качване на нова снимка",
"upload_new_picture_from_url": "Качване на нова снимка от адрес",
"current_password": "Текуща парола",
"change_password": "Промяна на паролата",
"change_password_error": "Грешна парола!",
"change_password_error_wrong_current": "Текущата Ви парола е грешна!",
"change_password_error_length": "Паролата е твърде кратка!",
"change_password_error_match": "Паролите са различни!",
"change_password_error_privileges": "Нямате права да промените тази парола.",
"change_password_success": "Паролата ви е обновена!",
"confirm_password": "Потвърдете паролата",
"password": "Парола",
"username_taken_workaround": "Потребителското име, което искате, е заето и затова ние го променихме леко. Вие ще се наричате <strong>%1</strong>",
"upload_picture": "Качване на снимка",
"upload_a_picture": "Качване на снимка",
"image_spec": "Можете да качвате само PNG, JPG, или GIF файлове",
"settings": "Настройки",
"show_email": "Да се показва е-пощата ми",
"show_fullname": "Да се показва цялото ми име",
"restrict_chats": "Разрешаване на чат съобщенията само от потребители, които следвам",
"digest_label": "Абониране за резюмета",
"digest_description": "Абониране за новини по е-пощата относно този форум (нови известия и теми) според избрания график",
"digest_off": "Изключено",
"digest_daily": "Ежедневно",
"digest_weekly": "Ежеседмично",
"digest_monthly": "Ежемесечно",
"send_chat_notifications": "Изпращане на е-писмо, ако получа ново чат съобщения, а не съм на линия",
"send_post_notifications": "Изпращане на е-писмо, когато се появи отговор в темите, за които съм абониран/а.",
"settings-require-reload": "Някои промени в настройките изискват презареждане. Натиснете тук, за да презаредите страницата.",
"has_no_follower": "Този потребител няма последователи :(",
"follows_no_one": "Този потребител не следва никого :(",
"has_no_posts": "Този потребител не е публикувал нищо досега.",
"has_no_topics": "Този потребител не е създавал теми досега.",
"has_no_watched_topics": "Този потребител не е следил нито една тема досега.",
"email_hidden": "Е-пощата е скрита",
"hidden": "скрито",
"paginate_description": "Разделяне на темите и публикациите на страници, вместо да се превърта безкрайно",
"topics_per_page": "Теми на страница",
"posts_per_page": "Публикации на страница",
"notification_sounds": "Изпълняване на звук, когато получите известие",
"browsing": "Настройки за страниците",
"open_links_in_new_tab": "Отваряне на външните връзки в нов подпрозорец",
"enable_topic_searching": "Включване на търсенето в темите",
"topic_search_help": "Ако е включено, търсенето в темата ще замени стандартното поведение на браузъра при търсене в страницата и ще Ви позволи да претърсвате цялата тема, а не само това, което се вижда на екрана",
"follow_topics_you_reply_to": "Следване на темите, на които отговаряте",
"follow_topics_you_create": "Следване на темите, които създавате",
"grouptitle": "Изберете заглавието на групата, което искате да се показва",
"no-group-title": "Няма заглавие на група"
}

View File

@@ -0,0 +1,21 @@
{
"latest_users": "Последни потребители",
"top_posters": "С най-много публикации",
"most_reputation": "С най-много репутация",
"search": "Търсене",
"enter_username": "Въведете потребителско име, което да потърсите",
"load_more": "Зареждане на още",
"users-found-search-took": "Намерени са %1 потребител(и)! Търсенето отне %2 секунди.",
"filter-by": "Филтриране",
"online-only": "Само тези на линия",
"picture-only": "Само със снимка",
"invite": "Канене",
"invitation-email-sent": "Беше изпратено е-писмо за потвърждение до %1",
"user_list": "Списък от потребители",
"recent_topics": "Скорошни теми",
"popular_topics": "Популярни теми",
"unread_topics": "Непрочетени теми",
"categories": "Категории",
"tags": "Етикети",
"map": "Карта"
}

View File

@@ -0,0 +1,15 @@
{
"category": "Category",
"subcategories": "Subcategories",
"new_topic_button": "নতুন টপিক",
"guest-login-post": "Log in to post",
"no_topics": "<strong>এই বিভাগে কোন টপিক নেই! </strong><br /> আপনি চাইলে একটি পোষ্ট করতে পারেন।",
"browsing": "ব্রাউজিং",
"no_replies": "কোন রিপ্লাই নেই",
"no_new_posts": "No new posts.",
"share_this_category": "এই বিভাগটি অন্যের সাথে ভাগাভাগি করুন",
"watch": "Watch",
"ignore": "উপেক্ষা করুন",
"watch.message": "You are now watching updates from this category",
"ignore.message": "You are now ignoring updates from this category"
}

View File

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

View File

@@ -0,0 +1,90 @@
{
"invalid-data": "ভুল তথ্য",
"not-logged-in": "আপনি লগিন করেননি",
"account-locked": "আপনার অ্যাকাউন্ট সাময়িকভাবে লক করা হয়েছে",
"search-requires-login": "Searching requires an account - please login or register.",
"invalid-cid": "ভুল বিভাগ নাম্বার",
"invalid-tid": "ভুল টপিক নাম্বার",
"invalid-pid": "ভুল পোস্ট নাম্বার",
"invalid-uid": "ভুল ব্যবহারকারী নাম্বার",
"invalid-username": "ভুল ইউজারনেম",
"invalid-email": "ভুল ইমেইল",
"invalid-title": "ভুল শিরোনাম",
"invalid-user-data": "ভুল ব্যবহারকারী তথ্য",
"invalid-password": "ভুল পাসওয়ার্ড",
"invalid-username-or-password": "অনুগ্রহ পূর্বক ইউজারনেম এবং পাসওয়ার্ড উভয়ই প্রদান করুন",
"invalid-search-term": "অগ্রহনযোগ্য সার্চ টার্ম",
"invalid-pagination-value": "ভুল পৃষ্ঠা নাম্বার",
"username-taken": "ইউজারনেম আগেই ব্যবহৃত",
"email-taken": "ইমেইল আগেই ব্যবহৃত",
"email-not-confirmed": "আপনার ইমেইল এড্রেস নিশ্চিত করা হয় নি, নিশ্চিত করতে এখানে ক্লিক করুন।",
"email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.",
"no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email",
"email-confirm-failed": "We could not confirm your email, please try again later.",
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
"username-too-short": "খুব ছোট ইউজারনেম",
"username-too-long": "ইউজারনেম বড় হয়ে গিয়েছে",
"user-banned": "ব্যবহারকারী নিষিদ্ধ",
"user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post",
"no-category": "বিভাগটি খুজে পাওয়া যায় নি",
"no-topic": "এই টপিক নেই",
"no-post": "এই পোষ্ট নেই",
"no-group": "এই গ্রুপ অস্তিত্বহীন",
"no-user": "এই নামে কোন সদস্য নেই",
"no-teaser": "টিজারটি খুজে পাওয়া যায় নি",
"no-privileges": "এই কাজটির জন্য আপনার পর্যাপ্ত অধিকার নেই",
"no-emailers-configured": "কোন ইমেল প্লাগইন লোড করা নেই, কাজেই টেস্ট মেইল পাঠানো সম্ভব হচ্ছে না",
"category-disabled": "বিভাগটি নিষ্ক্রিয়",
"topic-locked": "টপিক বন্ধ",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"still-uploading": "আপলোড সম্পূর্ণ জন্য অনুগ্রহ করে অপেক্ষা করুন",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 character(s).",
"too-many-posts": "You can only post once every %1 second(s) - please wait before posting again",
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
"too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)",
"file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
"cant-vote-self-post": "আপনি নিজের পোস্টে ভোট দিতে পারবেন না।",
"already-favourited": "আপনি ইতিমধ্যে এই পোষ্টটি পছন্দের তালিকায় যোগ করেছেন",
"already-unfavourited": "আপনি ইতিমধ্যে এই পোষ্টটি আপনার পছন্দের তালিকা থেকে সরিয়ে ফেলেছেন",
"cant-ban-other-admins": "আপনি অন্য এ্যাডমিনদের নিষিদ্ধ করতে পারেন না!",
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
"invalid-image-type": "Invalid image type. Allowed types are: %1",
"invalid-image-extension": "Invalid image extension",
"invalid-file-type": "Invalid file type. Allowed types are: %1",
"group-name-too-short": "গ্রুপের নাম খুব ছোট",
"group-already-exists": "গ্রুপ ইতিমধ্যেই বিদ্যমান",
"group-name-change-not-allowed": "গ্রুপের নাম পরিবর্তনের অনুমতি নেই",
"group-already-member": "You are already part of this group",
"group-needs-owner": "This group requires at least one owner",
"group-already-invited": "This user has already been invited",
"group-already-requested": "Your membership request has already been submitted",
"post-already-deleted": "এই পোস্টটি ইতিমধ্যে ডিলিট করা হয়ে গিয়েছে",
"post-already-restored": "এই পোষ্টটি ইতিমধ্যে পুনরোদ্ধার করা হয়েছে",
"topic-already-deleted": "এই টপিকটি ইতিমধ্যে ডিলিট করা হয়েছে",
"topic-already-restored": "এই টপিকটি ইতিমধ্যে পুনরোদ্ধার করা হয়েছে",
"cant-purge-main-post": "You can't purge the main post, please delete the topic instead",
"topic-thumbnails-are-disabled": "টপিক থাম্বনেল নিষ্ক্রিয় করা। ",
"invalid-file": "ভুল ফাইল",
"uploads-are-disabled": "আপলোড নিষ্ক্রিয় করা",
"signature-too-long": "Sorry, your signature cannot be longer than %1 character(s).",
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "আপনি নিজের সাথে চ্যাট করতে পারবেন না!",
"chat-restricted": "এই সদস্য তার বার্তালাপ সংরক্ষিত রেখেছেন। এই সদস্য আপনাকে ফলো করার পরই কেবলমাত্র আপনি তার সাথে চ্যাট করতে পারবেন",
"too-many-messages": "You have sent too many messages, please wait awhile.",
"reputation-system-disabled": "সম্মাননা ব্যাবস্থা নিস্ক্রীয় রাখা হয়েছে",
"downvoting-disabled": "ঋণাত্মক ভোট নিস্ক্রীয় রাখা হয়েছে।",
"not-enough-reputation-to-downvote": "আপনার এই পোস্ট downvote করার জন্য পর্যাপ্ত সম্মাননা নেই",
"not-enough-reputation-to-flag": "এই পোষ্টকে ফ্লাগ করার জন্য আপনার পর্যাপ্ত সম্মাননা নেই",
"already-flagged": "You have already flagged this post",
"reload-failed": "\"%1\" রিলোড করতে সমস্যা হয়েছে। রিলোডের পূর্বে যা করা হয়েছিল সেটি আনডু করা সমীচীন। ",
"registration-error": "নিবন্ধন এরর!",
"parse-error": "Something went wrong while parsing server response",
"wrong-login-type-email": "Please use your email to login",
"wrong-login-type-username": "Please use your username to login"
}

View File

@@ -0,0 +1,83 @@
{
"home": "নীড়পাতা",
"search": "অনুসন্ধান",
"buttons.close": "বন্ধ",
"403.title": "প্রবেশাধিকার প্রত্যাখ্যাত",
"403.message": "You seem to have stumbled upon a page that you do not have access to.",
"403.login": "Perhaps you should <a href='%1/login'>try logging in</a>?",
"404.title": "পাওয়া যায়নি",
"404.message": "You seem to have stumbled upon a page that does not exist. Return to the <a href='%1/'>home page</a>.",
"500.title": "অভ্যন্তরীণ ত্রুটি।",
"500.message": "ওহো! কিছু ভুল হয়েছে মনে হচ্ছে!",
"register": "নিবন্ধন",
"login": "প্রবেশ",
"please_log_in": "অনুগ্রহ করে প্রবেশ করুন",
"logout": "প্রস্থান",
"posting_restriction_info": "বর্তমানে নিবন্ধিত সদস্যরাই কেবল পোস্ট করতে পারেন, লগ ইন করতে এখানে ক্লিক করুন।",
"welcome_back": "আপনাকে স্বাগতম",
"you_have_successfully_logged_in": "আপনি সফলভাবে প্রবেশ করেছেন",
"save_changes": "পরিবর্তনগুলি সঞ্চয় করুন",
"close": "বন্ধ",
"pagination": "পাতা নং",
"pagination.out_of": "%2 এর মাঝে %1",
"pagination.enter_index": "সূচক লিখুন",
"header.admin": "অ্যাডমিন",
"header.categories": "Categories",
"header.recent": "সাম্প্রতিক",
"header.unread": "অপঠিত",
"header.tags": "ট্যাগ",
"header.popular": "জনপ্রিয়",
"header.users": "ব্যবহারকারীগণ",
"header.groups": "Groups",
"header.chats": "কথোপকথন",
"header.notifications": "বিজ্ঞপ্তি",
"header.search": "অনুসন্ধান",
"header.profile": "প্রোফাইল",
"notifications.loading": "বিজ্ঞপ্তিগুলি লোড হচ্ছে",
"chats.loading": "কথোপকথনগুলি লোড হচ্ছে ",
"motd.welcome": "ভবিষ্যতের আলোচনার প্লাটফর্ম, NodeBB তে স্বাগতম।",
"previouspage": "আগের পাতা",
"nextpage": "পরের পাতা",
"alert.success": "সফল",
"alert.error": "ত্রুটি",
"alert.banned": "নিষিদ্ধ",
"alert.banned.message": "আপনাকে কেবলই নিষিদ্ধ করা হয়েছে, আপনি এখন লগআউট হয়ে যাবেন।",
"alert.unfollow": "আপনি আর %1 কে অনুসরণ করছেন না!",
"alert.follow": "আপনি এখন %1 কে অনুসরণ করছেন!",
"online": "অনলাইন",
"users": "ব্যবহারকারীগণ",
"topics": "টপিক",
"posts": "পোস্টগুলি",
"views": "দেখেছেন",
"reputation": "সন্মাননা",
"read_more": "আরো পড়ুন",
"more": "More",
"posted_ago_by_guest": "অতিথি পোস্ট করেছেন %1",
"posted_ago_by": " %1 %2 দ্বারা পোস্টকৃত",
"posted_ago": "পোস্ট করেছেন %1",
"posted_in_ago_by_guest": "%1 বিভাগে অতিথি পোস্ট করেছেন %2",
"posted_in_ago_by": "%3 %1 বিভাগে পোস্ট করেছেন %2",
"posted_in_ago": "%1 বিভাগে পোস্ট করা হয়েছে %2 আগে",
"replied_ago": "উত্তর দেয়া হয়েছে %1 ",
"user_posted_ago": "%1 পোস্ট করেছেন %2",
"guest_posted_ago": "অতিথি পোস্ট করেছেন %1",
"last_edited_by_ago": "সর্বশেষ সম্পাদনা করেছেন %1 %2",
"norecentposts": "কোনও সাম্প্রতিক পোস্ট নেই",
"norecenttopics": "কোনও সাম্প্রতিক টপিক নেই",
"recentposts": "সাম্প্রতিক পোস্ট",
"recentips": "সাম্প্রতিক প্রবেশকৃত আইপি সমুহ",
"away": "দূরে",
"dnd": "বিরক্ত করবেন না",
"invisible": "অদৃশ্য",
"offline": "অফলাইন",
"email": "ইমেইল",
"language": "ভাষা",
"guest": "অতিথি",
"guests": "অতিথি",
"updated.title": "ফোরাম আপডেট করা হয়েছে",
"updated.message": "এই ফোরামে এইমাত্র সর্বশেষ সংস্করণে আপডেট করা হয়েছে। পৃষ্ঠাটি রিফ্রেশ করতে এখানে ক্লিক করুন।",
"privacy": "নিরাপত্তা",
"follow": "Follow",
"unfollow": "Unfollow",
"delete_all": "সব মুছে ফেলুন"
}

View File

@@ -0,0 +1,50 @@
{
"groups": "গ্রুপসমূহ",
"view_group": "গ্রুপ দেখুন",
"owner": "Group Owner",
"new_group": "Create New Group",
"no_groups_found": "There are no groups to see",
"pending.accept": "Accept",
"pending.reject": "Reject",
"pending.accept_all": "Accept All",
"pending.reject_all": "Reject All",
"pending.none": "There are no pending members at this time",
"invited.none": "There are no invited members at this time",
"invited.uninvite": "Rescind Invitation",
"invited.search": "Search for a user to invite to this group",
"cover-instructions": "Drag and Drop a photo, drag to position, and hit <strong>Save</strong>",
"cover-change": "Change",
"cover-save": "Save",
"cover-saving": "Saving",
"details.title": "গ্রুপের বিস্তারিত",
"details.members": "সদস্য তালিকা",
"details.pending": "Pending Members",
"details.invited": "Invited Members",
"details.has_no_posts": "এই গ্রুপের সদস্যরা এখনো কোন পোষ্ট করেন নি",
"details.latest_posts": "সর্বশেষ পোষ্টসমূহ",
"details.private": "Private",
"details.grant": "Grant/Rescind Ownership",
"details.kick": "Kick",
"details.owner_options": "Group Administration",
"details.group_name": "Group Name",
"details.member_count": "Member Count",
"details.creation_date": "Creation Date",
"details.description": "Description",
"details.badge_preview": "Badge Preview",
"details.change_icon": "Change Icon",
"details.change_colour": "Change Colour",
"details.badge_text": "Badge Text",
"details.userTitleEnabled": "Show Badge",
"details.private_help": "If enabled, joining of groups requires approval from a group owner",
"details.hidden": "Hidden",
"details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
"details.delete_group": "Delete Group",
"event.updated": "Group details have been updated",
"event.deleted": "The group \"%1\" has been deleted",
"membership.accept-invitation": "Accept Invitation",
"membership.invitation-pending": "Invitation Pending",
"membership.join-group": "Join Group",
"membership.leave-group": "Leave Group",
"membership.reject": "Reject",
"new-group.group_name": "Group Name:"
}

View File

@@ -0,0 +1,5 @@
{
"name": "বাংলা",
"code": "bn",
"dir": "ltr"
}

View File

@@ -0,0 +1,11 @@
{
"username-email": "Username / Email",
"username": "Username",
"email": "Email",
"remember_me": "মনে রাখুন",
"forgot_password": "পাসওয়ার্ড ভুলে গিয়েছেন?",
"alternative_logins": "বিকল্প প্রবেশ",
"failed_login_attempt": "প্রবেশ সফল হয় নি, আবার চেষ্টা করুন।",
"login_successful": "আপনি সফলভাবে প্রবেশ করেছেন!",
"dont_have_account": "কোন একাউন্ট নেই?"
}

View File

@@ -0,0 +1,26 @@
{
"chat.chatting_with": "<span id=\"chat-with-name\"></span> এর সাথে কথোপকথন",
"chat.placeholder": "এখানে আপনার বার্তা লিখুন। পাঠানোর জন্য Enter চাপুন",
"chat.send": "প্রেরন করুন",
"chat.no_active": "আপনার কোন সচল কথোপকথন নেই",
"chat.user_typing": "%1 লিখছেন",
"chat.user_has_messaged_you": "%1 আপনাকে বার্তা পাঠিয়েছেন",
"chat.see_all": "সকল কথোপকথন দেখুন",
"chat.no-messages": "মেসেজ হিস্টোরী দেখতে প্রাপক নির্বাচন করুন",
"chat.recent-chats": "সাম্প্রতিক চ্যাটসমূহ",
"chat.contacts": "কন্টাক্টস",
"chat.message-history": "মেসেজ হিস্টোরী",
"chat.pop-out": "চ্যাট উইন্ডো আলাদা করুন",
"chat.maximize": "ম্যাক্সিমাইজ",
"chat.seven_days": " দিন",
"chat.thirty_days": "৩০ দিন",
"chat.three_months": "৩ মাস",
"composer.compose": "Compose",
"composer.show_preview": "Show Preview",
"composer.hide_preview": "Hide Preview",
"composer.user_said_in": "%1 বলেছেন %2:",
"composer.user_said": "%1 বলেছেনঃ",
"composer.discard": "আপনি কি নিশ্চিত যে আপনি এই পোস্ট বাতিল করতে ইচ্ছুক?",
"composer.submit_and_lock": "Submit and Lock",
"composer.toggle_dropdown": "Toggle Dropdown"
}

View File

@@ -0,0 +1,28 @@
{
"title": "বিজ্ঞপ্তিগুলো",
"no_notifs": "আপনার নতুন কোন বিজ্ঞপ্তি নেই",
"see_all": "সকল বিজ্ঞপ্তিগুলো দেখুন",
"mark_all_read": "Mark all notifications read",
"back_to_home": "ফিরুন %1",
"outgoing_link": "বহির্গামী লিঙ্ক",
"outgoing_link_message": "আপনি এখন %1 ত্যাগ করছেন",
"continue_to": "%1 তে আগান",
"return_to": "%1 এ ফেরত যান",
"new_notification": "নতুন বিজ্ঞপ্তি",
"you_have_unread_notifications": "আপনার অপঠিত বিজ্ঞপ্তি আছে।",
"new_message_from": "<strong>%1</strong> থেকে নতুন বার্তা",
"upvoted_your_post_in": "<strong>%1</strong> , <strong>%2</strong> এ আপানার পোষ্টকে আপভোট করেছেন। ",
"moved_your_post": "<strong>%1</strong> আপনার পোষ্ট সরিয়ে নিয়েছেন। ",
"moved_your_topic": "<strong>%1</strong> আপনার টপিক সরিয়ে নিয়েছেন। ",
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
"user_posted_to": "<strong>%1</strong> একটি উত্তর দিয়েছেন: <strong>%2</strong>",
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong>, <strong>%2</strong> এ আপনার নাম উল্লেখ করেছেন",
"user_started_following_you": "<strong>%1</strong> আপনাকে অনুসরন করা শুরু করেছেন।",
"new_register": "<strong>%1</strong> sent a registration request.",
"email-confirmed": "ইমেইল নিশ্চিত করা হয়েছে",
"email-confirmed-message": "আপনার ইমেইল যাচাই করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টটি এখন সম্পূর্ণরূপে সক্রিয়।",
"email-confirm-error-message": "আপনার ইমেল ঠিকানার বৈধতা যাচাইয়ে একটি সমস্যা হয়েছে। সম্ভবত কোডটি ভুল ছিল অথবা কোডের মেয়াদ শেষ হয়ে গিয়েছে।",
"email-confirm-sent": "নিশ্চিতকরণ ইমেইল পাঠানো হয়েছে।"
}

View File

@@ -0,0 +1,21 @@
{
"home": "নীড়পাতা",
"unread": "অপঠিত টপিক",
"popular": "জনপ্রিয় টপিক",
"recent": "সাম্প্রতিক টপিক",
"users": "নিবন্ধিত সদস্যগণ",
"notifications": "বিজ্ঞপ্তি",
"tags": "Tags",
"tag": "Topics tagged under \"%1\"",
"user.edit": "সম্পাদনা \"%1\"",
"user.following": "%1 যাদের অনুসরণ করেন",
"user.followers": "যারা %1 কে অনুসরণ করেন",
"user.posts": "%1 এর পোস্ট সমুহ",
"user.topics": "%1 এর টপিক সমুহ",
"user.groups": "%1's Groups",
"user.favourites": "%1'র প্রিয় পোস্টগুলো",
"user.settings": "সদস্য সেটিংস",
"user.watched": "Topics watched by %1",
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
}

View File

@@ -0,0 +1,19 @@
{
"title": "সাম্প্রতিক",
"day": "দিন",
"week": "সপ্তাহ",
"month": "মাস",
"year": "বছর",
"alltime": "সবসময় ",
"no_recent_topics": "কোন সাম্প্রতিক টপিক নেই। ",
"no_popular_topics": "There are no popular topics.",
"there-is-a-new-topic": "There is a new topic.",
"there-is-a-new-topic-and-a-new-post": "There is a new topic and a new post.",
"there-is-a-new-topic-and-new-posts": "There is a new topic and %1 new posts.",
"there-are-new-topics": "There are %1 new topics.",
"there-are-new-topics-and-a-new-post": "There are %1 new topics and a new post.",
"there-are-new-topics-and-new-posts": "There are %1 new topics and %2 new posts.",
"there-is-a-new-post": "There is a new post.",
"there-are-new-posts": "There are %1 new posts.",
"click-here-to-reload": "Click here to reload."
}

View File

@@ -0,0 +1,19 @@
{
"register": "নিবন্ধন",
"help.email": "ডিফল্টভাবে, আপনার ইমেইল সর্বসাধারণ থেকে লুকানো থাকবে।",
"help.username_restrictions": "%1 এবং %2 অক্ষরের মাঝে একটি অনন্য সদস্য নাম। বাকিরা আপনাকে @<span id='yourUsername'>নাম</span> দিয়ে উল্লেখ করতে পারবেন।",
"help.minimum_password_length": "আপনার পাসওয়ার্ড এর দৈর্ঘ্য অন্তত %1 অক্ষরের হতে হবে।",
"email_address": "ইমেইল অ্যাড্রেস",
"email_address_placeholder": "ইমেইল অ্যাড্রেস লিখুন",
"username": "ইউজারনেম",
"username_placeholder": "ইউজারনেম লিখুন",
"password": "পাসওয়ার্ড",
"password_placeholder": "পাসওয়ার্ড লিখুন",
"confirm_password": "পাসওয়ার্ড নিশ্চিত করুন",
"confirm_password_placeholder": "পাসওয়ার্ড নিশ্চিত করুন",
"register_now_button": "নিবন্ধন করুন",
"alternative_registration": "বিকল্প নিবন্ধন",
"terms_of_use": "নিয়মাবলী",
"agree_to_terms_of_use": "আমি নিয়মাবলী মেনে চলতে সম্মতি জানালাম",
"registration-added-to-queue": "Your registration has been added to the approval queue. You will receive an email when it is accepted by an administrator."
}

View File

@@ -0,0 +1,17 @@
{
"reset_password": "পাসওয়ার্ড রিসেট",
"update_password": "পাসওয়ার্ড হালনাগাদ",
"password_changed.title": "পাসওয়ার্ড পরিবর্তন করা হয়েছে",
"password_changed.message": "<p>পাসওয়ার্ড সফলভাবে রিসেট করা হয়েছে, পুনরায় <a href=\"/login\">প্রবেশ<a> করুন।",
"wrong_reset_code.title": "ভুল রিসেট কোড",
"wrong_reset_code.message": "প্রাপ্ত রিসেট কোডটি ভুল ছিল। আবার চেষ্টা করুন, অথবা <a href=\"/reset\">একটি নতুন রিসেট কোড</a> অনুরোধ করুন।",
"new_password": "নতুন পাসওয়ার্ড",
"repeat_password": "পাসওয়ার্ড নিশ্চিত করুন",
"enter_email": "অনুগ্রহপূর্বক আপনার ইমেইল এড্রেস প্রদান করুন, আমরা আপনাকে আপনার পাসওয়ার্ড রিসেট সম্পর্কিত তথ্যাবলী ইমেইলে পাঠিয়ে দিবো। ",
"enter_email_address": "আপনার ইমেইল এড্রেস",
"password_reset_sent": "পাসওয়ার্ড রিসেট মেইল পাঠানো হয়েছে",
"invalid_email": "ভুল ইমেইল / ইমেইল ডেটাবেইজে নেই",
"password_too_short": "The password entered is too short, please pick a different password.",
"passwords_do_not_match": "The two passwords you've entered do not match.",
"password_expired": "Your password has expired, please choose a new password"
}

View File

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

View File

@@ -0,0 +1,6 @@
{
"success": "সফল হয়েছে",
"topic-post": "আপনি সফলভাবে পোষ্ট করেছেন। ",
"authentication-successful": "অথেন্টিকেশন সফল হয়েছে",
"settings-saved": "সেটিংস সেভ করা হয়েছে। "
}

View File

@@ -0,0 +1,7 @@
{
"no_tag_topics": "এই ট্যাগ সম্বলিত কোন টপিক নেই",
"tags": "ট্যাগসমূহ",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "ট্যাগ বসান",
"no_tags": "এখন পর্যন্ত কোন ট্যাগ নেই"
}

View File

@@ -0,0 +1,100 @@
{
"topic": "টপিক",
"topic_id": "টপিক নাম্বার ",
"topic_id_placeholder": "টপিক নাম্বার দিন ",
"no_topics_found": "কোন টপিক পাওয়া যায়নি!",
"no_posts_found": "কোন পোস্ট পাওয়া যায়নি",
"post_is_deleted": "এই পোস্টটি মুছে ফেলা হয়েছে!",
"topic_is_deleted": "This topic is deleted!",
"profile": "প্রোফাইল ",
"posted_by": "পোস্ট করেছেন %1",
"posted_by_guest": "অতিথি পোস্ট ",
"chat": "আলাপচারি",
"notify_me": "এই টপিকে নতুন উত্তর আসলে জানুন",
"quote": "উদ্ধৃতি",
"reply": "উত্তর",
"guest-login-reply": "Log in to reply",
"edit": "সম্পাদণা",
"delete": "মুছে ফেলুন",
"purge": "পার্জ",
"restore": "পুনরূদ্ধার",
"move": "সরানো",
"fork": "শাখা",
"link": "লিঙ্ক",
"share": "শেয়ার",
"tools": "টুলস",
"flag": "ফ্ল্যাগ",
"locked": "বন্ধ",
"bookmark_instructions": "আপনার সর্বশেষ অবস্থানে ফিরে যাবার জন্য এখানে ক্লিক করুন অথবা অগ্রাহ্য করতে চাইলে বন্ধ করুন",
"flag_title": "মডারেশনের জন্য এই পোস্টটি ফ্ল্যাগ করুন",
"flag_confirm": "আপনি কি নিশ্চিত যে এই পোস্টটিকে আপনি ফ্ল্যাগ করতে চান? ",
"flag_success": "এই পোস্টটি মডারেশনের জন্য ফ্ল্যাগ করা হয়েছে।",
"deleted_message": "এই টপিকটি মুছে ফেলা হয়েছে। শুধুমাত্র টপিক ব্যবস্থাপনার ক্ষমতাপ্রাপ্ত সদস্যগণ এটি দেখতে পারবেন।",
"following_topic.message": "এখন থেকে এই টপিকে অন্যকেউ পোস্ট করলে আপনি নোটিফিকেশন পাবেন।",
"not_following_topic.message": "এই টপিক থেকে আপনি আর নোটিফিকেশন পাবেন না।",
"login_to_subscribe": "এই টপিকে সাবস্ক্রাইব করতে চাইলে অনুগ্রহ করে নিবন্ধণ করুন অথবা প্রবেশ করুন।",
"markAsUnreadForAll.success": "টপিকটি সবার জন্য অপঠিত হিসাবে মার্ক করুন।",
"watch": "দেখা",
"unwatch": "অদেখা",
"watch.title": "এই টপিকে নতুন উত্তর এলে বিজ্ঞাপণের মাধ্যমে জানুন।",
"unwatch.title": "এই টপিক দেখা বন্ধ করুন",
"share_this_post": "এই পোষ্টটি শেয়ার করুন",
"thread_tools.title": "টপিক সম্পর্কিত টুলস",
"thread_tools.markAsUnreadForAll": "\"অপঠিত\" হিসেবে চিহ্নিত করুন",
"thread_tools.pin": "টপিক পিন করুন",
"thread_tools.unpin": "টপিক আনপিন করুন",
"thread_tools.lock": "টপিক বন্ধ করুন",
"thread_tools.unlock": "টপিক খুলে দিন",
"thread_tools.move": "টপিক সরান",
"thread_tools.move_all": "সমস্ত টপিক সরান",
"thread_tools.fork": "টপিক ফর্ক করুন",
"thread_tools.delete": "টপিক মুছে ফেলুন",
"thread_tools.delete_confirm": "আপনি নিশ্চিত যে আপনি এই টপিকটি মুছে ফেলতে চান?",
"thread_tools.restore": "টপিক পুনরূদ্ধার করুন",
"thread_tools.restore_confirm": "আপনি নিশ্চিত যে আপনি টপিকটি পুনরূদ্ধার করতে চান?",
"thread_tools.purge": "টপিক পার্জ করুন",
"thread_tools.purge_confirm": "আপনি নিশ্চিত যে আপনি টপিকটি পার্জ করতে চাচ্ছেন ? ",
"topic_move_success": "টপিকটি %1 এ সরিয়ে নেয়া হয়েছে",
"post_delete_confirm": "আপনি নিশ্চিত যে আপনি এই পোষ্টটি মুছে ফেলতে চান ?",
"post_restore_confirm": "আপনি নিশ্চিত যে আপনি এই পোষ্টটি পুনরূূদ্ধার করতে চান ? ",
"post_purge_confirm": "আপনি নিশ্চিত যে আপনি এই পোষ্টটি পার্জ করতে চান ? ",
"load_categories": "ক্যাটাগরী লোড করা হচ্ছে",
"disabled_categories_note": "নিস্ক্রীয় ক্যাটাগরীসমূহ ধূসর কালিতে লেখা রয়েছে। ",
"confirm_move": "সরান",
"confirm_fork": "ফর্ক",
"favourite": "পছন্দ",
"favourites": "পছন্দতালিকা",
"favourites.has_no_favourites": "আপনার যদি কোন পছন্দের পোষ্ট না থেকে থাকে তাহলে কিছু পোষ্ট ফেভারিট করা হলে সেগুলো এখানে দেখতে পাবেন।",
"loading_more_posts": "আরো পোষ্ট লোড করা হচ্ছে",
"move_topic": "টপিক সরান",
"move_topics": "টপিক সমূহ সরান",
"move_post": "পোষ্ট সরান",
"post_moved": "পোষ্ট সরানো হয়েছে",
"fork_topic": "টপিক ফর্ক করুন",
"topic_will_be_moved_to": "এই টপিকটি ক্যাটাগরীতে সরানো হবে",
"fork_topic_instruction": "যে পোষ্টটি ফর্ক করতে চান সেটি ক্লিক করুন",
"fork_no_pids": "কোন পোষ্ট সিলেক্ট করা হয় নি",
"fork_success": "টপিক ফর্ক করা হয়েছে। ফর্ক করা টপিকে যেতে এখানে ক্লিক করুন",
"composer.title_placeholder": "আপনার টপিকের শিরোনাম দিন",
"composer.handle_placeholder": "Name",
"composer.discard": "বাতিল",
"composer.submit": "সাবমিট",
"composer.replying_to": "%1 এর উত্তরে:",
"composer.new_topic": "নতুন টপিক",
"composer.uploading": "আপলোডিং",
"composer.thumb_url_label": "টপিকে থাম্বনেইল URL পেষ্ট করুন",
"composer.thumb_title": "এই টপিকে থাম্বনেইল যোগ করুন",
"composer.thumb_url_placeholder": "http://example.com/thumb.png",
"composer.thumb_file_label": "অথবা একটি ফাইল আপলোড করুন",
"composer.thumb_remove": "ফিল্ড ক্লিয়ার করুন",
"composer.drag_and_drop_images": "ছবি এখানে ড্র্যাগ করে এনে ছেড়ে দিন",
"more_users_and_guests": "%1 more user(s) and %2 guest(s)",
"more_users": "%1 more user(s)",
"more_guests": "%1 more guest(s)",
"users_and_others": "%1 and %2 others",
"sort_by": "সাজানোর ভিত্তি:",
"oldest_to_newest": "পুরাতন থেকে নতুন",
"newest_to_oldest": "নতুন থেকে পুরাতন",
"most_votes": "সর্বোচ্চ ভোট",
"most_posts": "Most posts"
}

View File

@@ -0,0 +1,10 @@
{
"title": "অপঠিত",
"no_unread_topics": "কোন অপঠিত টপিক নেই",
"load_more": "আরো লোড করুন",
"mark_as_read": "পঠিত হিসেবে চিহ্নিত করুন",
"selected": "নির্বাচিত",
"all": "সবগুলো",
"all_categories": "All categories",
"topics_marked_as_read.success": "পঠিত হিসেবে চিহ্নিত টপিকসমূহ"
}

View File

@@ -0,0 +1,88 @@
{
"banned": "নিষিদ্ধ",
"offline": "অফলাইন",
"username": "সদস্যের নাম",
"joindate": "Join Date",
"postcount": "Post Count",
"email": "ইমেইল",
"confirm_email": "ইমেইল নিশ্চিত করুন",
"ban_account": "Ban Account",
"ban_account_confirm": "Do you really want to ban this user?",
"unban_account": "Unban Account",
"delete_account": "একাউন্ট মুছে ফেলুন",
"delete_account_confirm": "আপনি কি নিশ্চিত যে আপনি আপনার একাউন্ট মুছে ফেলতে চান ? <br /><strong>এই কাজটির ফলে আপনার কোন তথ্য পুনরূদ্ধার করা সম্ভব নয় </strong><br /><br /> নিশ্চিত করতে আপনার ইউজারনেম প্রবেশ করান। ",
"delete_this_account_confirm": "Are you sure you want to delete this account? <br /><strong>This action is irreversible and you will not be able to recover any data</strong><br /><br />",
"fullname": "পুর্ণ নাম",
"website": "ওয়েবসাইট",
"location": "স্থান",
"age": "বয়স",
"joined": "যোগদান করেছেন",
"lastonline": "সর্বশেষ অনলাইনে ছিলেন",
"profile": "প্রোফাইল",
"profile_views": "প্রোফাইল দেখেছেন",
"reputation": "সন্মাননা",
"favourites": "পছন্দের তালিকা",
"watched": "Watched",
"followers": "যাদের অনুসরণ করছেন",
"following": "যারা আপনাকে অনুসরণ করছে",
"aboutme": "About me",
"signature": "স্বাক্ষর",
"gravatar": "গ্রাভাতার",
"birthday": "জন্মদিন",
"chat": "বার্তালাপ",
"follow": "অনুসরন করুন",
"unfollow": "অনুসরন করা থেকে বিরত থাকুন",
"more": "More",
"profile_update_success": "প্রোফাইল আপডেট সফল হয়েছে",
"change_picture": "ছবি পরিবর্তন",
"edit": "সম্পাদনা",
"uploaded_picture": "ছবি আপলোড করুন",
"upload_new_picture": "নতুন ছবি আপলোড করুন",
"upload_new_picture_from_url": "URL থেকে নতুন ছবি আপলোড করুন",
"current_password": "বর্তমান পাসওয়ার্ড",
"change_password": "পাসওয়ার্ড পরিবর্তন",
"change_password_error": "অগ্রহনযোগ্য পাসওয়ার্ড",
"change_password_error_wrong_current": "আপনার পাসওয়ার্ড সঠিক নয়",
"change_password_error_length": "পাসওয়ার্ড অতিরিক্ত ছোট",
"change_password_error_match": "পাসওয়ার্ড অবশ্যই একই হতে হবে",
"change_password_error_privileges": "আপনার পাসওয়ার্ড পরিবর্তন করার অনুমতি নেই",
"change_password_success": "আপনার পাসওয়ার্ড আপডেট করা হয়েছে",
"confirm_password": "পাসওয়ার্ড নিশ্চিত করুন",
"password": "পাসওয়ার্ড",
"username_taken_workaround": "আপনি যে ইউজারনেম চাচ্ছিলেন সেটি ইতিমধ্যে নেয়া হয়ে গেছে, কাজেই আমরা এটি কিঞ্চিং পরিবর্তন করেছি। আপনি এখন <strong>%1</strong> হিসেবে পরিচিত",
"upload_picture": "ছবি আপলোড করুন",
"upload_a_picture": "ছবি (একটি) আপলোড করুন",
"image_spec": "আপনি কেবলমাত্র PNG, JPG অথবা GIF ফাইল আপলোড করতে পারবেন",
"settings": "সেটিংস",
"show_email": "আমার ইমেইল দেখাও",
"show_fullname": "আমার সম্পূর্ণ নাম দেখাও",
"restrict_chats": "আমি যাদের ফলো করি কেবলমাত্র তাদের থেকে বার্তা গ্রহন করা হোক",
"digest_label": "ডাইজেষ্টে সাবস্ক্রাইব করুন",
"digest_description": "শিডিউল অনূযায়ী এই ফোরামের ইমেইল আপডেটের জন্য সাবস্ক্রাইব করুন (নতুন নোটিফিকেশন এবং টপিকসমূহ )",
"digest_off": "বন্ধ",
"digest_daily": "দৈনিক",
"digest_weekly": "সাপ্তাহিক",
"digest_monthly": "মাসিক",
"send_chat_notifications": "যদি আমি অনলাইনে না থাকি, সেক্ষেত্রে নতুন চ্যাট মেসেজ আসলে আমাকে ইমেইল করুন",
"send_post_notifications": "Send an email when replies are made to topics I am subscribed to",
"settings-require-reload": "Some setting changes require a reload. Click here to reload the page.",
"has_no_follower": "এই সদস্যের কোন ফলোয়ার নেই :(",
"follows_no_one": "এই সদস্য কাউকে ফলো করছেন না :(",
"has_no_posts": "This user hasn't posted anything yet.",
"has_no_topics": "This user hasn't posted any topics yet.",
"has_no_watched_topics": "This user hasn't watched any topics yet.",
"email_hidden": "ইমেইল গোপন রাখা হয়েছে",
"hidden": "গোপন করা হয়েছে",
"paginate_description": "Paginate topics and posts instead of using infinite scroll",
"topics_per_page": "প্রতি পেজে কতগুলো টপিক থাকবে",
"posts_per_page": "প্রতি পেইজে কতগুলো পোষ্ট থাকবে",
"notification_sounds": "Play a sound when you receive a notification",
"browsing": "Browsing সেটিংস",
"open_links_in_new_tab": "Open outgoing links in new tab",
"enable_topic_searching": "In-Topic সার্চ সক্রীয় করো",
"topic_search_help": "If enabled, in-topic searching will override the browser's default page search behaviour and allow you to search through the entire topic, instead of what is only shown on screen",
"follow_topics_you_reply_to": "Follow topics that you reply to",
"follow_topics_you_create": "Follow topics you create",
"grouptitle": "Select the group title you would like to display",
"no-group-title": "No group title"
}

View File

@@ -0,0 +1,21 @@
{
"latest_users": "সর্বশেষ নিবন্ধিত সদস্যরা:",
"top_posters": "সর্বোচ্চ পোষ্টকারী",
"most_reputation": "সর্বোচ্চ সম্মাননাধারী",
"search": "খুঁজুন",
"enter_username": "ইউজারনেম এর ভিত্তিতে সার্চ করুন",
"load_more": "আরো লোড করুন",
"users-found-search-took": "%1 user(s) found! Search took %2 seconds.",
"filter-by": "Filter By",
"online-only": "Online only",
"picture-only": "Picture only",
"invite": "Invite",
"invitation-email-sent": "An invitation email has been sent to %1",
"user_list": "User List",
"recent_topics": "Recent Topics",
"popular_topics": "Popular Topics",
"unread_topics": "Unread Topics",
"categories": "Categories",
"tags": "Tags",
"map": "Map"
}

View File

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

View File

@@ -1,20 +1,32 @@
{
"password-reset-requested": "Password Reset Requested - %1!",
"welcome-to": "Welcome to %1",
"greeting_no_name": "Hello",
"greeting_with_name": "Hello %1",
"welcome.text1": "Thank you for registering with %1!",
"welcome.text2": "To fully activate your account, we need to verify that you own the email address you registered with.",
"welcome.cta": "Click here to confirm your email address",
"reset.text1": "We received a request to reset your password, possibly because you have forgotten it. If this is not the case, please ignore this email.",
"reset.text2": "To continue with the password reset, please click on the following link:",
"reset.cta": "Click here to reset your password",
"digest.notifications": "You have some unread notifications from %1:",
"digest.latest_topics": "Latest topics from %1",
"digest.cta": "Click here to visit %1",
"digest.unsub.info": "This digest was sent to you due to your subscription settings.",
"digest.unsub.cta": "Click here to alter those settings",
"digest.daily.no_topics": "There have been no active topics in the past day",
"test.text1": "This is a test email to verify that the emailer is set up correctly for your NodeBB.",
"closing": "Thanks!"
"password-reset-requested": "Požadována obnova hesla - %1!",
"welcome-to": "Vítejte v %1",
"invite": "Invitation from %1",
"greeting_no_name": "Dobrý den",
"greeting_with_name": "Dobrý den %1",
"welcome.text1": "Děkujeme vám za registraci s %1!",
"welcome.text2": "Pro úplnou aktivaci vašeho účtu potřebujeme ověřit vaší emailovou adresu.",
"welcome.text3": "An administrator has accepted your registration application. You can login with your username/password now.",
"welcome.cta": "Klikněte zde pro potvrzení vaší emailové adresy",
"invitation.text1": "%1 has invited you to join %2",
"invitation.ctr": "Click here to create your account.",
"reset.text1": "Obdrželi jsme požadavek na obnovu hesla, pravděpodobně kvůli tomu, že jste ho zapomněli. Pokud to není tento případ, ignorujte, prosím, tento email.",
"reset.text2": "Přejete-li si pokračovat v obnově vašeho hesla, klikněte, prosím, na následující odkaz:",
"reset.cta": "Klikněte zde, chcete-li obnovit vaše heslo",
"reset.notify.subject": "Password successfully changed",
"reset.notify.text1": "We are notifying you that on %1, your password was changed successfully.",
"reset.notify.text2": "If you did not authorise this, please notify an administrator immediately.",
"digest.notifications": "Máte tu nepřečtená oznámení od %1:",
"digest.latest_topics": "Nejnovější témata od %1",
"digest.cta": "Kliknutím zde navštívíte %1",
"digest.unsub.info": "Tento výtah vám byl odeslán, protože jste si to nastavili ve vašich odběrech.",
"digest.no_topics": "Dosud tu nebyly žádné aktivní témata %1",
"notif.chat.subject": "Nová zpráva z chatu od %1",
"notif.chat.cta": "Chcete-li pokračovat v konverzaci, klikněte zde.",
"notif.chat.unsub.info": "Toto oznámení z chatu vám bylo zasláno, protože jste si to nastavili ve vašich odběrech.",
"notif.post.cta": "Click here to read the full topic",
"notif.post.unsub.info": "This post notification was sent to you due to your subscription settings.",
"test.text1": "Tento testovací email slouží k ověření, že mailer je správně nastaven. NodeBB.",
"unsub.cta": "Chcete-li změnit tyto nastavení, klikněte zde.",
"closing": "Díky!"
}

View File

@@ -1,56 +1,90 @@
{
"invalid-data": "Invalid Data",
"not-logged-in": "You don't seem to be logged in.",
"account-locked": "Your account has been locked temporarily",
"search-requires-login": "Searching requires an account! Please login or register!",
"invalid-cid": "Invalid Category ID",
"invalid-tid": "Invalid Topic ID",
"invalid-pid": "Invalid Post ID",
"invalid-uid": "Invalid User ID",
"invalid-username": "Invalid Username",
"invalid-email": "Invalid Email",
"invalid-title": "Invalid title!",
"invalid-user-data": "Invalid User Data",
"invalid-password": "Invalid Password",
"invalid-pagination-value": "Invalid pagination value",
"username-taken": "Username taken",
"email-taken": "Email taken",
"email-not-confirmed": "Your email is not confirmed, please click here to confirm your email.",
"username-too-short": "Username too short",
"user-banned": "User banned",
"no-category": "Category doesn't exist",
"no-topic": "Topic doesn't exist",
"no-post": "Post doesn't exist",
"no-group": "Group doesn't exist",
"no-user": "User doesn't exist",
"no-teaser": "Teaser doesn't exist",
"no-privileges": "You don't have enough privileges for this action.",
"no-emailers-configured": "No email plugins were loaded, so a test email could not be sent",
"category-disabled": "Category disabled",
"topic-locked": "Topic Locked",
"still-uploading": "Please wait for uploads to complete.",
"content-too-short": "Please enter a longer post. At least %1 characters.",
"title-too-short": "Please enter a longer title. At least %1 characters.",
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 characters.",
"too-many-posts": "You can only post every %1 seconds.",
"file-too-big": "Maximum allowed file size is %1 kbs",
"cant-vote-self-post": "You cannot vote for your own post",
"already-favourited": "You already favourited this post",
"already-unfavourited": "You already unfavourited this post",
"cant-ban-other-admins": "You can't ban other admins!",
"invalid-image-type": "Invalid image type",
"group-name-too-short": "Group name too short",
"group-already-exists": "Group already exists",
"group-name-change-not-allowed": "Group name change not allowed",
"post-already-deleted": "Post already deleted",
"post-already-restored": "Post already restored",
"topic-already-deleted": "Topic already deleted",
"topic-already-restored": "Topic already restored",
"invalid-data": "Neplatná data",
"not-logged-in": "Zdá se, že nejste přihlášen(a)",
"account-locked": "Váš účet byl dočasně uzamčen",
"search-requires-login": "Searching requires an account - please login or register.",
"invalid-cid": "Neplatné ID kategorie",
"invalid-tid": "Neplatné ID tématu",
"invalid-pid": "Neplatné ID příspěvku",
"invalid-uid": "Neplatné ID uživatele",
"invalid-username": "Neplatné uživatelské jméno",
"invalid-email": "Neplatný email",
"invalid-title": "Neplatný titulek!",
"invalid-user-data": "Neplatná uživatelská data",
"invalid-password": "Neplatné heslo",
"invalid-username-or-password": "Stanovte, prosím, oboje, jak uživatelské jméno, tak heslo",
"invalid-search-term": "Neplatný výraz pro vyhledávání",
"invalid-pagination-value": "Neplatná hodnota pro stránkování",
"username-taken": "Uživatelské jméno je již použito",
"email-taken": "Email je již použit",
"email-not-confirmed": "Vaše emailová adresa zatím nebyla potvrzena. Kliknutím zde svůj email potvrdíte.",
"email-not-confirmed-chat": "You are unable to chat until your email is confirmed, please click here to confirm your email.",
"no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email",
"email-confirm-failed": "We could not confirm your email, please try again later.",
"confirm-email-already-sent": "Confirmation email already sent, please wait %1 minute(s) to send another one.",
"username-too-short": "Uživatelské jméno je příliš krátké",
"username-too-long": "Uživatelské jméno je příliš dlouhé",
"user-banned": "Uživatel byl zakázán",
"user-too-new": "Sorry, you are required to wait %1 second(s) before making your first post",
"no-category": "Kategorie neexistuje",
"no-topic": "Téma neexistuje",
"no-post": "Příspěvek neexistuje",
"no-group": "Skupina neexistuje",
"no-user": "Uživatel neexistuje",
"no-teaser": "Teaser does not exist",
"no-privileges": "Na tuto akci nemáte dostatečná práva",
"no-emailers-configured": "Protože není zaveden žádný emailový plugin, není možné odeslat testovací email.",
"category-disabled": "Kategorie zakázána",
"topic-locked": "Téma uzamčeno",
"post-edit-duration-expired": "You are only allowed to edit posts for %1 second(s) after posting",
"still-uploading": "Vyčkejte, prosím, nežli se vše kompletně nahraje.",
"content-too-short": "Please enter a longer post. Posts should contain at least %1 character(s).",
"content-too-long": "Please enter a shorter post. Posts can't be longer than %1 character(s).",
"title-too-short": "Please enter a longer title. Titles should contain at least %1 character(s).",
"title-too-long": "Please enter a shorter title. Titles can't be longer than %1 character(s).",
"too-many-posts": "You can only post once every %1 second(s) - please wait before posting again",
"too-many-posts-newbie": "As a new user, you can only post once every %1 second(s) until you have earned %2 reputation - please wait before posting again",
"tag-too-short": "Please enter a longer tag. Tags should contain at least %1 character(s)",
"tag-too-long": "Please enter a shorter tag. Tags can't be longer than %1 character(s)",
"not-enough-tags": "Not enough tags. Topics must have at least %1 tag(s)",
"too-many-tags": "Too many tags. Topics can't have more than %1 tag(s)",
"file-too-big": "Maximum allowed file size is %1 kB - please upload a smaller file",
"cant-vote-self-post": "Nemůžete hlasovat pro svůj vlastní příspěvek",
"already-favourited": "You have already favourited this post",
"already-unfavourited": "You have already unfavourited this post",
"cant-ban-other-admins": "Nemůžete zakazovat ostatní administrátory!",
"cant-remove-last-admin": "You are the only administrator. Add another user as an administrator before removing yourself as admin",
"invalid-image-type": "Invalid image type. Allowed types are: %1",
"invalid-image-extension": "Invalid image extension",
"invalid-file-type": "Invalid file type. Allowed types are: %1",
"group-name-too-short": "Název skupiny je příliš krátký",
"group-already-exists": "Skupina už exstuje",
"group-name-change-not-allowed": "Změna názvu skupiny není povolena",
"group-already-member": "You are already part of this group",
"group-needs-owner": "This group requires at least one owner",
"group-already-invited": "This user has already been invited",
"group-already-requested": "Your membership request has already been submitted",
"post-already-deleted": "Tento příspěvek byl již vymazán",
"post-already-restored": "Tento příspěvek byl již obnoven",
"topic-already-deleted": "Toto téma bylo již vymazáno",
"topic-already-restored": "Toto téma bylo již obnoveno",
"cant-purge-main-post": "You can't purge the main post, please delete the topic instead",
"topic-thumbnails-are-disabled": "Topic thumbnails are disabled.",
"invalid-file": "Invalid File",
"uploads-are-disabled": "Uploads are disabled",
"upload-error": "Upload Error : %1",
"signature-too-long": "Signature can't be longer than %1 characters!",
"cant-chat-with-yourself": "You can't chat with yourself!",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post"
"invalid-file": "Neplatný soubor",
"uploads-are-disabled": "Nahrávání je zakázáno",
"signature-too-long": "Sorry, your signature cannot be longer than %1 character(s).",
"about-me-too-long": "Sorry, your about me cannot be longer than %1 character(s).",
"cant-chat-with-yourself": "Nemůžete chatovat sami se sebou!",
"chat-restricted": "This user has restricted their chat messages. They must follow you before you can chat with them",
"too-many-messages": "You have sent too many messages, please wait awhile.",
"reputation-system-disabled": "Systém reputací je zakázán.",
"downvoting-disabled": "Downvoting is disabled",
"not-enough-reputation-to-downvote": "You do not have enough reputation to downvote this post",
"not-enough-reputation-to-flag": "You do not have enough reputation to flag this post",
"already-flagged": "You have already flagged this post",
"reload-failed": "NodeBB encountered a problem while reloading: \"%1\". NodeBB will continue to serve the existing client-side assets, although you should undo what you did just prior to reloading.",
"registration-error": "Chyba při registraci",
"parse-error": "Something went wrong while parsing server response",
"wrong-login-type-email": "Please use your email to login",
"wrong-login-type-username": "Please use your username to login"
}

View File

@@ -3,31 +3,34 @@
"search": "Hledat",
"buttons.close": "Zavřít",
"403.title": "Přístup odepřen",
"403.message": "K této stránce nemáte přístup. Zkuste se <a href='/login'>přihlásit</a>?",
"403.message": "You seem to have stumbled upon a page that you do not have access to.",
"403.login": "Perhaps you should <a href='%1/login'>try logging in</a>?",
"404.title": "Stránka nenalezena",
"404.message": "Tato stránka bohužel neexistuje. Vraťte se na <a href='/'>domovskou stránku</a>.",
"404.message": "You seem to have stumbled upon a page that does not exist. Return to the <a href='%1/'>home page</a>.",
"500.title": "Neznámá chyba",
"500.message": "Jejda, vypadá to, že se něco pokazilo.",
"register": "Registrovat",
"login": "Přihlásit se",
"please_log_in": "Please Log In",
"please_log_in": "Přihlašte se, prosím",
"logout": "Odhlásit se",
"posting_restriction_info": "Posting is currently restricted to registered members only, click here to log in.",
"welcome_back": "Welcome Back",
"you_have_successfully_logged_in": "You have successfully logged in",
"posting_restriction_info": "V současné době je zasílání příspěvků povoleno pouze registrovaným členům, klikněte zde a přihlašte se.",
"welcome_back": "Vítejte zpět",
"you_have_successfully_logged_in": "Vaše přihlášení proběhlo úspěšně",
"save_changes": "Uložit změny",
"close": "Zrušit",
"pagination": "Pagination",
"pagination.out_of": "%1 out of %2",
"pagination": "Stránkování",
"pagination.out_of": "%1 z %2",
"pagination.enter_index": "Enter index",
"header.admin": "Administrace",
"header.categories": "Categories",
"header.recent": "Aktuality",
"header.unread": "Nepřečtené",
"header.tags": "Tags",
"header.tags": "Tagy",
"header.popular": "Populární",
"header.users": "Uživatelé",
"header.groups": "Groups",
"header.chats": "Chats",
"header.notifications": "Notifications",
"header.notifications": "Oznámení",
"header.search": "Hledat",
"header.profile": "Můj profil",
"notifications.loading": "Načítání upozornění",
@@ -36,18 +39,19 @@
"previouspage": "Předchozí stránka",
"nextpage": "Další stránka",
"alert.success": "Success",
"alert.error": "Error",
"alert.error": "Chyba",
"alert.banned": "Banned",
"alert.banned.message": "You have just been banned, you will now be logged out.",
"alert.unfollow": "You are no longer following %1!",
"alert.follow": "You are now following %1!",
"online": "Online",
"users": "Users",
"topics": "Topics",
"users": "Uživatelé",
"topics": "Témata",
"posts": "Příspěvky",
"views": "Zobrazení",
"reputation": "Reputation",
"read_more": "read more",
"more": "More",
"posted_ago_by_guest": "posted %1 by Guest",
"posted_ago_by": "posted %1 by %2",
"posted_ago": "posted %1",
@@ -58,8 +62,8 @@
"user_posted_ago": "%1 posted %2",
"guest_posted_ago": "Guest posted %1",
"last_edited_by_ago": "last edited by %1 %2",
"norecentposts": "No Recent Posts",
"norecenttopics": "No Recent Topics",
"norecentposts": "Žádné nedávné příspěvky",
"norecenttopics": "Žádné nedávné témata",
"recentposts": "Nedávné příspěvky",
"recentips": "Recently Logged In IPs",
"away": "Pryč",
@@ -67,9 +71,13 @@
"invisible": "Neviditelný",
"offline": "Offline",
"email": "Email",
"language": "Language",
"guest": "Guest",
"guests": "Guests",
"updated.title": "Forum Updated",
"updated.message": "This forum has just been updated to the latest version. Click here to refresh the page."
"language": "Jazyk",
"guest": "Host",
"guests": "Hosté",
"updated.title": "Fórum zaktualizováno",
"updated.message": "Toto fórum bylo právě aktualizováno na poslední verzi. Klikněte zde a obnovte tuto stránku.",
"privacy": "Privacy",
"follow": "Follow",
"unfollow": "Unfollow",
"delete_all": "Vymazat vše"
}

View File

@@ -1,7 +1,50 @@
{
"view_group": "View Group",
"details.title": "Group Details",
"details.members": "Member List",
"details.has_no_posts": "This group's members have not made any posts.",
"details.latest_posts": "Latest Posts"
"groups": "Skupiny",
"view_group": "Prohlédnout skupinu",
"owner": "Group Owner",
"new_group": "Create New Group",
"no_groups_found": "There are no groups to see",
"pending.accept": "Accept",
"pending.reject": "Reject",
"pending.accept_all": "Accept All",
"pending.reject_all": "Reject All",
"pending.none": "There are no pending members at this time",
"invited.none": "There are no invited members at this time",
"invited.uninvite": "Rescind Invitation",
"invited.search": "Search for a user to invite to this group",
"cover-instructions": "Drag and Drop a photo, drag to position, and hit <strong>Save</strong>",
"cover-change": "Change",
"cover-save": "Save",
"cover-saving": "Saving",
"details.title": "podrobnosti skupiny",
"details.members": "Seznam členů",
"details.pending": "Pending Members",
"details.invited": "Invited Members",
"details.has_no_posts": "Členové této skupiny dosud neodeslali ani jeden příspěvek.",
"details.latest_posts": "Nejnovější příspěvky",
"details.private": "Private",
"details.grant": "Grant/Rescind Ownership",
"details.kick": "Kick",
"details.owner_options": "Group Administration",
"details.group_name": "Group Name",
"details.member_count": "Member Count",
"details.creation_date": "Creation Date",
"details.description": "Description",
"details.badge_preview": "Badge Preview",
"details.change_icon": "Change Icon",
"details.change_colour": "Change Colour",
"details.badge_text": "Badge Text",
"details.userTitleEnabled": "Show Badge",
"details.private_help": "If enabled, joining of groups requires approval from a group owner",
"details.hidden": "Hidden",
"details.hidden_help": "If enabled, this group will not be found in the groups listing, and users will have to be invited manually",
"details.delete_group": "Delete Group",
"event.updated": "Group details have been updated",
"event.deleted": "The group \"%1\" has been deleted",
"membership.accept-invitation": "Accept Invitation",
"membership.invitation-pending": "Invitation Pending",
"membership.join-group": "Join Group",
"membership.leave-group": "Leave Group",
"membership.reject": "Reject",
"new-group.group_name": "Group Name:"
}

View File

@@ -1,9 +1,11 @@
{
"username": "Username / Email",
"username-email": "Username / Email",
"username": "Username",
"email": "Email",
"remember_me": "Zapamatovat si mě?",
"forgot_password": "Zapomněli jste heslo?",
"alternative_logins": "Další způsoby přihlášení",
"failed_login_attempt": "Přihlášení se nezdařilo, zkuste to prosím znovu.",
"login_successful": "Přihlášení proběhlo úspěšně!",
"dont_have_account": "Don't have an account?"
"dont_have_account": "Nemáte účet?"
}

View File

@@ -1,18 +1,26 @@
{
"chat.chatting_with": "Chat s <span id=\"chat-with-name\"></span>",
"chat.placeholder": "Type chat message here, press enter to send",
"chat.placeholder": "Zprávu do chatu napište zde, pro odeslání stiskněte enter",
"chat.send": "Odeslat",
"chat.no_active": "Nemáte žádné aktivní konverzace.",
"chat.user_typing": "%1 is typing ...",
"chat.user_typing": "%1 píše ...",
"chat.user_has_messaged_you": "%1 has messaged you.",
"chat.see_all": "See all Chats",
"chat.no-messages": "Please select a recipient to view chat message history",
"chat.recent-chats": "Recent Chats",
"chat.contacts": "Contacts",
"chat.message-history": "Message History",
"chat.contacts": "Kontakty",
"chat.message-history": "Historie zpráv",
"chat.pop-out": "Pop out chat",
"chat.maximize": "Maximize",
"chat.maximize": "Maximalizovat",
"chat.seven_days": "7 dní",
"chat.thirty_days": "30 dní",
"chat.three_months": "3 měsíce",
"composer.compose": "Compose",
"composer.show_preview": "Show Preview",
"composer.hide_preview": "Hide Preview",
"composer.user_said_in": "%1 said in %2:",
"composer.user_said": "%1 said:",
"composer.discard": "Are you sure you wish to discard this post?"
"composer.discard": "Are you sure you wish to discard this post?",
"composer.submit_and_lock": "Submit and Lock",
"composer.toggle_dropdown": "Toggle Dropdown"
}

View File

@@ -2,6 +2,7 @@
"title": "Upozornění",
"no_notifs": "You have no new notifications",
"see_all": "See all Notifications",
"mark_all_read": "Mark all notifications read",
"back_to_home": "Back to %1",
"outgoing_link": "Odkaz mimo fórum",
"outgoing_link_message": "You are now leaving %1.",
@@ -10,14 +11,18 @@
"new_notification": "New Notification",
"you_have_unread_notifications": "You have unread notifications.",
"new_message_from": "New message from <strong>%1</strong>",
"upvoted_your_post": "<strong>%1</strong> has upvoted your post.",
"favourited_your_post": "<strong>%1</strong> has favourited your post.",
"user_flagged_post": "<strong>%1</strong> flagged a post.",
"upvoted_your_post_in": "<strong>%1</strong> has upvoted your post in <strong>%2</strong>.",
"moved_your_post": "<strong>%1</strong> has moved your post.",
"moved_your_topic": "<strong>%1</strong> has moved your topic.",
"favourited_your_post_in": "<strong>%1</strong> has favourited your post in <strong>%2</strong>.",
"user_flagged_post_in": "<strong>%1</strong> flagged a post in <strong>%2</strong>",
"user_posted_to": "<strong>%1</strong> has posted a reply to: <strong>%2</strong>",
"user_posted_topic": "<strong>%1</strong> has posted a new topic: <strong>%2</strong>",
"user_mentioned_you_in": "<strong>%1</strong> mentioned you in <strong>%2</strong>",
"user_started_following_you": "<strong>%1</strong> started following you.",
"new_register": "<strong>%1</strong> sent a registration request.",
"email-confirmed": "Email Confirmed",
"email-confirmed-message": "Thank you for validating your email. Your account is now fully activated.",
"email-confirm-error": "An error occurred...",
"email-confirm-error-message": "There was a problem validating your email address. Perhaps the code was invalid or has expired.",
"email-confirm-sent": "Confirmation email sent."
}

View File

@@ -5,11 +5,17 @@
"recent": "Recent Topics",
"users": "Registered Users",
"notifications": "Notifications",
"tags": "Tags",
"tag": "Topics tagged under \"%1\"",
"user.edit": "Editing \"%1\"",
"user.following": "People %1 Follows",
"user.followers": "People who Follow %1",
"user.posts": "Posts made by %1",
"user.topics": "Topics created by %1",
"user.groups": "%1's Groups",
"user.favourites": "%1's Favourite Posts",
"user.settings": "User Settings"
"user.settings": "User Settings",
"user.watched": "Topics watched by %1",
"maintenance.text": "%1 is currently undergoing maintenance. Please come back another time.",
"maintenance.messageIntro": "Additionally, the administrator has left this message:"
}

View File

@@ -4,5 +4,16 @@
"week": "Týden",
"month": "Měsíc",
"year": "Year",
"no_recent_topics": "There are no recent topics."
"alltime": "All Time",
"no_recent_topics": "There are no recent topics.",
"no_popular_topics": "There are no popular topics.",
"there-is-a-new-topic": "There is a new topic.",
"there-is-a-new-topic-and-a-new-post": "There is a new topic and a new post.",
"there-is-a-new-topic-and-new-posts": "There is a new topic and %1 new posts.",
"there-are-new-topics": "There are %1 new topics.",
"there-are-new-topics-and-a-new-post": "There are %1 new topics and a new post.",
"there-are-new-topics-and-new-posts": "There are %1 new topics and %2 new posts.",
"there-is-a-new-post": "There is a new post.",
"there-are-new-posts": "There are %1 new posts.",
"click-here-to-reload": "Click here to reload."
}

View File

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

View File

@@ -8,7 +8,10 @@
"new_password": "Nové heslo",
"repeat_password": "Potvrzení hesla",
"enter_email": "Zadejte svou <strong>emailovou adresu</strong> a my Vám pošleme informace, jak můžete obnovit své heslo.",
"enter_email_address": "Enter Email Address",
"enter_email_address": "Zadejte emailovou adresu",
"password_reset_sent": "Obnova hesla odeslána",
"invalid_email": "Špatný email / Email neexistuje!"
"invalid_email": "Špatný email / Email neexistuje!",
"password_too_short": "The password entered is too short, please pick a different password.",
"passwords_do_not_match": "The two passwords you've entered do not match.",
"password_expired": "Your password has expired, please choose a new password"
}

View File

@@ -1,3 +1,40 @@
{
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)"
"results_matching": "%1 result(s) matching \"%2\", (%3 seconds)",
"no-matches": "No matches found",
"advanced-search": "Advanced Search",
"in": "In",
"titles": "Titles",
"titles-posts": "Titles and Posts",
"posted-by": "Posted by",
"in-categories": "In Categories",
"search-child-categories": "Search child categories",
"reply-count": "Reply Count",
"at-least": "At least",
"at-most": "At most",
"post-time": "Post time",
"newer-than": "Newer than",
"older-than": "Older than",
"any-date": "Any date",
"yesterday": "Yesterday",
"one-week": "One week",
"two-weeks": "Two weeks",
"one-month": "One month",
"three-months": "Three months",
"six-months": "Six months",
"one-year": "One year",
"sort-by": "Sort by",
"last-reply-time": "Last reply time",
"topic-title": "Topic title",
"number-of-replies": "Number of replies",
"number-of-views": "Number of views",
"topic-start-date": "Topic start date",
"username": "Username",
"category": "Category",
"descending": "In descending order",
"ascending": "In ascending order",
"save-preferences": "Save preferences",
"clear-preferences": "Clear preferences",
"search-preferences-saved": "Search preferences saved",
"search-preferences-cleared": "Search preferences cleared",
"show-results-as": "Show results as"
}

View File

@@ -1,6 +1,7 @@
{
"no_tag_topics": "There are no topics with this tag.",
"tags": "Tags",
"enter_tags_here": "Enter tags here. Press enter after each tag.",
"no_tags": "There are no tags yet."
"no_tag_topics": "Není zde žádné téma s tímto tagem.",
"tags": "Tagy",
"enter_tags_here": "Enter tags here, between %1 and %2 characters each.",
"enter_tags_here_short": "Vložte tagy ...",
"no_tags": "Zatím tu není žádný tag."
}

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