605 Commits

Author SHA1 Message Date
Toby Zerner
c1e7c00e2d Clean up some relation stuff 2015-07-01 22:35:56 +09:30
Toby Zerner
56932604db Refactor CoreServiceProvider
A good start I think, but still some work to do. If we go ahead with
https://github.com/flarum/core/issues/132#issuecomment-117507974 (which
I am in favour of), we can extract the entity-related stuff into some
smaller service providers (e.g. discussion repo, an event listener,
permissions, and gambits stuff could all go in
Flarum\Core\Discussions\DiscussionsServiceProvider).
2015-07-01 22:34:11 +09:30
Toby Zerner
d414ee33ed Make traits more generic
Type hinting User should take place in the callbacks. Theoretically
these traits could be used for another project now, where something
else has permissions (like a Sheep class, or a number)
2015-07-01 16:49:40 +09:30
Toby Zerner
810f79ee77 Cleanup, fix static date property error 2015-07-01 16:47:07 +09:30
Toby Zerner
d44b101373 Clean up merging stuff 2015-07-01 16:31:06 +09:30
Toby Zerner
3f32236379 API: allow date attributes to be added 2015-07-01 15:11:57 +09:30
Toby Zerner
c1595af84f Add todo about model validation 2015-07-01 13:35:27 +09:30
Toby Zerner
eafdd415ef Clean up model custom relation functionality 2015-07-01 13:22:09 +09:30
Toby Zerner
094825792a Clean up activity model 2015-07-01 13:19:24 +09:30
Franz Liedke
6e7cb1ff0e Some fixes to get along with the new bootstrapping 2015-06-30 23:29:52 +02:00
Franz Liedke
31effe943e Implement Android theme color support
As requested in the forums.
http://updates.html5rocks.com/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
2015-06-26 23:11:13 +02:00
Franz Liedke
074f8087fa Update FastRoute
This enables optional route parameters.

Required some code changes in the RouteCollection class; once we
actually use optional route parameters, we will have to see whether
route generation for those works as expected.

Closes flarum/core#108
2015-06-26 23:09:58 +02:00
Franz Liedke
391c510f90 Upgrade Zend Diactoros to 1.1
This gives us a bunch of handy helper classes for empty responses,
redirects, HTML and JSON content types.

Closes flarum/core#153
2015-06-26 22:38:43 +02:00
Toby Zerner
558d12c870 Search API tweaks
Rename some methods, include a mechanism for gambit negation.
Also always include the relevant posts in results. closes
flarum/core#111
2015-06-26 12:20:43 +09:30
Toby Zerner
bdd7e43e5a Notification API tweaks 2015-06-26 12:18:53 +09:30
Toby Zerner
e829788b63 Update start_post_id when starting a discussion 2015-06-25 09:48:28 +09:30
Toby Zerner
7c0accf14f Be more specific as to when we require edit permission
Since we update per-user data (e.g. isLiked) through this command’s
event
2015-06-25 08:38:18 +09:30
Toby Zerner
4c8a60ed7a Make sure discussion post IDs are ordered correctly 2015-06-24 18:57:07 +09:30
Toby Zerner
e466dcc626 Significantly improve mobile UX
Most of #137 done.

- Use FastClick to make everything feel more responsive
- Use transforms for animations to make them silky smooth
- Style the drawer the same as the header to keep things simple
- Revert to fixed composer, but allow it to be minimised
- Add a separate notifications page for mobile so it’s easy to go back
- Add indicator to the menu button when there are unread notifications
- Close the drawer when navigating away
- Make dropdowns/modals scrollable
- Many other mobile tweaks and bug fixes

Didn’t take much care to keep CSS clean, due to #103
2015-06-24 11:44:53 +09:30
Toby Zerner
b4dcc02520 Give author permission to delete discussion if there are no replies
Forgot to commit this part in 64e5d505332c6ba1569bbb9140107b1afd19e334
:3
2015-06-24 09:13:54 +09:30
Toby Zerner
1c6ac80d01 Yo dawg I heard you like APIs so I put an API in your API so you can API while you API 2015-06-23 10:38:17 +09:30
Toby Zerner
64e5d50533 Allow author to delete discussion if there are no replies
Also disallow the first post in a discussion to be deleted or hidden
(thus preventing discussions with zero posts)

closes flarum/core#90 closes flarum/core#92
2015-06-23 10:34:33 +09:30
Toby Zerner
3a7efe202e Gracefully handle discussions with no posts
Although this should never happen
2015-06-23 10:30:06 +09:30
Franz Liedke
bc2142db51 Implement middleware for presenting pretty error pages 2015-06-20 22:39:33 +02:00
Franz Liedke
74536d7162 Add method for checking debug mode 2015-06-20 20:38:44 +02:00
Franz Liedke
efccf8bb7d Rename console commands 2015-06-20 20:09:47 +02:00
Franz Liedke
626daa9f38 Implement middleware for handling errors according to JSON API spec 2015-06-20 19:45:32 +02:00
Franz Liedke
e8bd58ec07 Clean up 2015-06-20 18:21:26 +02:00
Toby Zerner
479a09a41f Fix incorrect login after confirming token 2015-06-19 19:25:47 +09:30
Toby Zerner
5d5bbb9832 Cleanup 2015-06-19 17:19:13 +09:30
Toby Zerner
80a11ccc86 Fix newly-created event posts being undeletable 2015-06-19 17:19:09 +09:30
Toby Zerner
190c7a6741 Update avatar uploading code for psr-7
Not sure if a tmp file is the best way, but it works
2015-06-19 16:26:16 +09:30
Toby Zerner
473963087b Default to 404 code for RouteNotFoundException
Just want to get Stratigility’s FinalHandler showing something more apt
than “Internal server error”
2015-06-19 15:29:27 +09:30
Toby Zerner
d4ee1d87a5 Generate a new revision string when files change 2015-06-19 14:44:42 +09:30
Toby Zerner
22f91bb7e4 Add model validation messages 2015-06-19 11:43:49 +09:30
Toby Zerner
d90a8142a1 Get signup working again 2015-06-19 11:43:36 +09:30
Toby Zerner
d14716fa4d Get login/forgot password working again 2015-06-19 11:19:49 +09:30
Toby Zerner
96a2c0eb78 Run discussion events after first post is created 2015-06-19 09:07:39 +09:30
Toby Zerner
137f55317b Add API to add routes 2015-06-18 17:43:41 +09:30
Toby Zerner
555bb18acd Clean up some old code 2015-06-18 17:43:16 +09:30
Toby Zerner
822a216cc9 Roughly implement routes and data preloading
Only preloading data for basic requests w/o query params, at least for
the moment - if we have to preload for something like
/?q=test&sort=newest, we end up having to duplicate a whole lot of
logic between JS/PHP.
2015-06-18 17:41:37 +09:30
Toby Zerner
6db3bd9178 Refactor some APIs 2015-06-18 12:45:14 +09:30
Toby Zerner
f2888ee65f Cache permissions per user ID 2015-06-18 12:44:13 +09:30
Toby Zerner
a7e02ca890 Fix permission check in UserSearcher 2015-06-18 12:43:20 +09:30
Toby Zerner
b7617fa5d3 Get rid of total count from UserSearcher
Same reasoning as 64e6b7d26cdd0d0aab2e73e0b1d6e5dd5fc9b114
2015-06-18 12:42:56 +09:30
Toby Zerner
11b740c768 Make sure user activity is synced when whole discussions are deleted
We need to fire the PostWasDeleted event for every post when a
discussion is deleted. This means deleting big discussions will be an
intensive process, but that’s OK because it’s very rare.
2015-06-18 12:41:00 +09:30
Toby Zerner
9cb257e11d Update core permissions stuff 2015-06-18 12:38:24 +09:30
Toby Zerner
1dd46526a8 Merge query params into request input as well 2015-06-18 12:24:51 +09:30
Toby Zerner
7bf1fad9d6 Fix fatal error on delete actions 2015-06-18 12:24:31 +09:30
Toby Zerner
4792a47265 Define static properties on SerializeAction subclasses
Explained in d1e7453ffd11d8b58672f6771e62c53e7441670b.

If we ever come up with a better way of doing this it should be easy to
change over, since modification of these properties by extensions is
abstracted by an Extend API.
2015-06-18 12:24:18 +09:30