Commit Graph

1233 Commits

Author SHA1 Message Date
Franz Liedke
0754d64f9b Remove lots of unneeded imports. 2015-06-03 03:20:58 +02:00
Franz Liedke
77aecaec9d Get rid of unneeded injected dependency. 2015-06-03 03:19:32 +02:00
Franz Liedke
ab18af34ff Use API client class in admin action, too 2015-06-03 03:18:33 +02:00
Franz Liedke
68f68171cc Typehint container contract instead of application class.
This helps us in decoupling from Laravel, as we only need any
implementation of the container contract now.
2015-06-03 03:05:10 +02:00
Franz Liedke
7513b50f8f Use the new client class to consume API actions 2015-06-03 02:40:24 +02:00
Franz Liedke
6c3acd06bf Create an API client class.
This should make it easier to make API calls from the frontends.
2015-06-03 02:39:01 +02:00
Franz Liedke
bc65a44199 Convert forum app to be PSR-7 compatible.
I also installed one new dependency: a helper library that makes it
easier to read and write cookies, given that there are no helper methods
for these purposes in the PSR-7 standard.
2015-06-03 02:04:57 +02:00
Franz Liedke
58b2b474d8 Make JSON parameter middleware a bit more generic 2015-06-03 02:04:00 +02:00
Franz Liedke
00699b69da Fix responses returned by JSON helper. 2015-06-03 02:02:28 +02:00
Toby Zerner
c42627b46d Add HTMLPurifier after formatters are run.
After a morning of searching, it seems there is no PHP Markdown library
that has built-in XSS/sanitization support. The recommended solution is
to use HTMLPurifier.

This actually works out OK, though, as it’s probably a good idea to
enforce sanitization regardless of which formatters are enabled, and to
not leave them with the responsibility of sanitization (it’s a big
responsibility). Since we cache rendered posts, the slow speed of
HTMLPurifier isn’t a concern.

Note that HTMLPurifier requires a file to be loaded by Composer, but
Studio does not yet support this, so for now I have included it
manually.
2015-06-02 11:36:25 +09:30
Toby Zerner
306b79b22a Password cannot be null 2015-06-01 17:55:52 +09:30
Toby Zerner
1b57eb3c9b Fix error on account registration 2015-06-01 17:55:41 +09:30
Toby Zerner
c70122c449 Make user activity posts more compact 2015-06-01 17:55:13 +09:30
Toby Zerner
4a1020dfab Use icon instead in composer title when replying to another thread 2015-06-01 17:55:05 +09:30
Toby Zerner
2900cac456 Tweak reply placeholder appearance 2015-06-01 17:54:37 +09:30
Toby Zerner
ccf63a65e9 Only validate dirty attributes
To prevent unique-checking queries on every update
2015-06-01 12:26:44 +09:30
Toby Zerner
761b76539d Use pre-loaded state if applicable. closes flarum/core#89 2015-06-01 12:26:11 +09:30
Toby Zerner
3eed9a99b6 Extract current user attributes into a separate serializer
This prevents the unread notifications count query being run for every
post by the currently authenticated user
2015-06-01 12:25:40 +09:30
Toby Zerner
39e1b8e008 Remove default relationships from serializers 2015-06-01 12:24:06 +09:30
Toby Zerner
71a5b1f49c Fix/simplify timestamp live updating. closes flarum/core#101 2015-06-01 11:10:15 +09:30
Toby Zerner
d96c5c284f Scroll to the bottom of the last post when jumping to last 2015-06-01 11:09:39 +09:30
Toby Zerner
eed809e6e8 Force redraw to ensure focusing works 2015-06-01 10:43:16 +09:30
Toby Zerner
0a0c50e1bb Add icon to post edit composer 2015-06-01 10:29:11 +09:30
Toby Zerner
c3c2978fc1 Make replyAction into a promise. closes #100 2015-06-01 10:29:01 +09:30
Toby Zerner
8d7a6985ba Add reply placeholder to bottom of post stream 2015-06-01 10:28:24 +09:30
Toby Zerner
b1693f9537 Add 'state helpers', shortcuts to make querying app state easier 2015-06-01 10:26:23 +09:30
Toby Zerner
220190cc53 Add NotificationWillBeSent event 2015-06-01 08:52:04 +09:30
Toby Zerner
605eaa6ffc Add text-editor API to get selection range 2015-06-01 08:49:46 +09:30
Toby Zerner
78efdc1d09 Fix bug where switching composer component would lead to incorrect rendering 2015-06-01 08:49:23 +09:30
Toby Zerner
0b1ff22168 Tweak composer full screen styles. closes flarum/core#102 2015-06-01 08:48:50 +09:30
Toby Zerner
ae09240a3d Add some missing post content styles 2015-06-01 08:48:10 +09:30
Toby Zerner
b36e3f1053 Simplify active discussion detection 2015-05-31 13:53:02 +09:30
Toby Zerner
6b7632cda3 Move theme config to database 2015-05-31 11:18:19 +09:30
Toby Zerner
6e1bf0d3de Fix post scrubber closing on mobile 2015-05-31 11:17:41 +09:30
Toby Zerner
4a3f8d2aa8 Padding tweak 2015-05-30 14:58:47 +09:30
Toby Zerner
a3b029accc Prevent error when trying to get relationship and no links have been loaded 2015-05-30 13:58:21 +09:30
Toby Zerner
731b00571c Eager load notification relationships 2015-05-30 13:57:39 +09:30
Toby Zerner
bd3bc6b274 Re-add event after a discussion has loaded
replyAction uses it
2015-05-30 12:06:48 +09:30
Toby Zerner
8859e49241 Add helper to format number with commas 2015-05-30 08:40:29 +09:30
Toby Zerner
2dbd73c11e Implement abbreviate-number helper. closes flarum/core#96 2015-05-30 08:08:57 +09:30
Toby Zerner
2ef2457c57 Sync the discussion model/post stream when posts are added/removed 2015-05-29 18:56:29 +09:30
Toby Zerner
026e6361e5 Fix edge cases where posts would not be added/removed 2015-05-29 18:55:53 +09:30
Toby Zerner
57df38e85a Fix incorrect class name 2015-05-29 18:55:29 +09:30
Toby Zerner
741da52ccd Sort included posts
They can be out of order in the payload due to relationship loading,
e.g. post #1 includes post #14 that has mentioned it, therefore #14
will be the first post in the payload. The new post stream doesn’t take
kindly to out of order posts.
2015-05-29 18:55:19 +09:30
Toby Zerner
5314d2b512 Refactor discussion list styles, fix loading indicator height in pane 2015-05-29 18:31:17 +09:30
Toby Zerner
1bb5ef2d72 New and improved post stream. 2015-05-29 18:17:50 +09:30
Franz Liedke
83a5ba5001 Remove obsolete imports 2015-05-28 23:52:40 +02:00
Franz Liedke
4bb83f060c For now, inject URL generator instead of providing helper method. 2015-05-28 23:46:56 +02:00
Franz Liedke
c76fbd03c7 Implement helper for generating routes in API actions. 2015-05-27 23:59:41 +02:00
Franz Liedke
c4012ed718 Create URL generator interface.
Also bind a default implementation to the container.
2015-05-27 23:58:43 +02:00