Toby Zerner
781dc2ef0c
New component for post excerpts, which will be shown in search results
...
Perhaps also in user activity stream. They are used in the mentions
extension.
In order to generate the excerpt, each formatter can implement a
“strip” method which basically converts block formatting into inline
formatting.
2015-05-14 22:41:05 +09:30
Toby Zerner
85fa9ca609
Fix incorrect attribute name
2015-05-11 12:12:00 +09:30
Toby Zerner
a1cd6417c7
Add API for adding a formatter
2015-05-11 12:11:26 +09:30
Toby Zerner
b4fd662000
Remove BasicFormatter; add LinkifyFormatter
2015-05-11 12:11:19 +09:30
Toby Zerner
e5f2355d17
Post can't be abstract because it needs to be instantiable for querying
2015-05-11 10:40:41 +09:30
Toby Zerner
d166757930
Extract mappedMorphTo function into a trait
...
Not sure if this is the best thing to do, it could also just be put on
the base Model class
2015-05-11 10:39:54 +09:30
Franz Liedke
825b4082de
Copy the config.php file upon installation.
...
This allows us to know whether Flarum is already installed, so that
we can disable certain service providers when it isn't.
This should fix #67 .
2015-05-08 20:44:53 +02:00
Franz Liedke
e1569beb00
Fix discussion seeder not using the correct post subtypes.
...
Related to #67 .
2015-05-08 18:12:02 +02:00
Franz Liedke
2245b11bb1
Seed command: Only run seeders that have not been run as part of flarum:install command.
2015-05-08 15:15:09 +02:00
Franz Liedke
df8a035935
Remove obsolete line.
...
Related to #67 .
2015-05-08 15:15:08 +02:00
Toby Zerner
023b8b9a9c
Don't attempt deletion if the user doesn't have an avatar
2015-05-07 16:54:26 +09:30
Toby Zerner
c58fc07798
Actually use the calculated offset
2015-05-07 16:54:14 +09:30
Toby Zerner
b5169512cb
Move some API error handling code around. It still sucks though
2015-05-07 16:08:20 +09:30
Toby Zerner
59d8d63acd
Add preliminary avatar resizing
2015-05-07 13:59:07 +09:30
Toby Zerner
05e561d3d6
Add pagination links to JSON-API index actions
2015-05-07 08:22:15 +09:30
Toby Zerner
8e1f6db85d
Change mergeInto return signature; only merge posts if same user
2015-05-07 06:38:40 +09:30
Toby Zerner
80aaf42a53
Fix signup error
2015-05-06 12:12:31 +09:30
Toby Zerner
bde9bf9378
Fix FontAwesome path
2015-05-06 12:12:22 +09:30
Toby Zerner
54f731942e
Add user group badges
2015-05-06 11:25:19 +09:30
Toby Zerner
92c1ee26c8
Fix content attribute decoding into an object
2015-05-06 11:24:02 +09:30
Toby Zerner
e7ff776001
Collect gambits that were matched and applied
2015-05-06 11:23:35 +09:30
Toby Zerner
a4d3345b99
Add shortcut API to serialize attributes
2015-05-06 11:23:12 +09:30
Toby Zerner
9559ac1bb6
Delete previous avatar when uploading a new one
2015-05-06 11:22:35 +09:30
Toby Zerner
8258d4e504
Fix dud call in magic method
2015-05-05 17:31:29 +09:30
Toby Zerner
a822deaa98
Clean up post type heritable view arguments
2015-05-05 17:29:43 +09:30
Toby Zerner
8aa6253c59
Precursor to storing extension providers for later use
2015-05-05 17:05:47 +09:30
Toby Zerner
92a75fd786
Add a base ServiceProvider with useful public APIs
2015-05-05 14:30:45 +09:30
Toby Zerner
2850c1b38c
Make NotificationSender compatibleWith method static
2015-05-05 14:29:57 +09:30
Toby Zerner
d13cb03e39
Return the post that was added/changed/deleted
2015-05-05 14:29:07 +09:30
Toby Zerner
f2056c4acf
Clean up post type API
2015-05-05 14:28:40 +09:30
Toby Zerner
bf593504c7
Clean up event handlers
2015-05-05 14:27:47 +09:30
Toby Zerner
24481f3f77
Change API for serializer relationships
2015-05-05 14:26:53 +09:30
Toby Zerner
3726c97d5c
Remove old code
2015-05-05 09:17:00 +09:30
Toby Zerner
f0219de93f
Fix admin
2015-05-05 09:16:53 +09:30
Toby Zerner
56ef42f931
Add concept of "mergeable" activity posts
...
For example: when you rename a discussion, DiscussionRenamedPost is
created. If you rename it again immediately afterwards, then a new
DiscussionRenamedPost can be merged into the old one. This will either
result in the old one being updated with the new title, or it being
deleted all together if it was renamed back to the old title.
2015-05-04 12:19:25 +09:30
Toby Zerner
0a2c05379c
Update TokenAction for new architecture
2015-05-04 10:30:56 +09:30
Toby Zerner
9af9dce740
Add ExtensionsServiceProvider to load enabled extensions
2015-05-04 08:56:19 +09:30
Toby Zerner
67f64b631a
Pass action in RenderView event so that handler can access actor
2015-05-04 08:55:44 +09:30
Toby Zerner
850a49285b
Add API to define custom model relationships
2015-05-04 08:55:03 +09:30
Toby Zerner
f03f046efe
Add event to modify user search
2015-05-03 12:07:15 +09:30
Toby Zerner
d966c9831a
Add event for registering user search gambits
2015-05-03 12:06:01 +09:30
Toby Zerner
b38878da80
Add delete avatar action
2015-05-03 12:05:18 +09:30
Toby Zerner
29be20c91a
Fix incorrect function call
2015-05-03 12:04:57 +09:30
Toby Zerner
8f29679b46
Convert the rest of the API to new action architecture
...
Also make some tweaks:
- Merge SerializeAction::$include and
SerializeAction::$includeAvailable into a keyed boolean array
- Set defaults for SerializeAction::$limit and $limitMax
- Rename SerializeAction::$sortAvailable to $sortFields
2015-05-03 12:04:43 +09:30
Toby Zerner
ecdb2becd4
Assign user input to data property on EditDiscussionCommand
2015-05-02 09:01:27 +09:30
Toby Zerner
f67f34e287
Add removed posts as an API attribute
2015-05-02 09:00:22 +09:30
Toby Zerner
8ee9480205
Update discussion/post sort semantics inline with new API actions
...
Instead of $sort and $order being separate, they are now a single
array, allowing multiple sort criteria: `[‘foo’ => ‘asc', ‘bar’ =>
‘desc’]`
2015-05-02 09:00:07 +09:30
Toby Zerner
22ff8a203d
Make sure serializers work with relations implemented with magic (via __call)
2015-05-02 08:58:28 +09:30
Toby Zerner
db31d9f772
Making a note that we should not use Actor as a singleton
2015-05-02 08:57:14 +09:30
Toby Zerner
a426fa6560
Update API action architecture
...
- An API action handles a Flarum\Api\Request, which is a simple object
containing an array of params, the actor, and optionally an HTTP
request object
- Most API actions use SerializeAction as a base, which parses request
input according to the JSON-API spec (creates a JsonApiRequest object),
runs the child class method to get data, then serializes it and assigns
it to a JsonApiResponse (standard HTTP response with a
Tobscure\JsonApi\Document as content)
- The JSON-API request input parsing is subject to restrictions as
defined by public static properties on the action (i.e. extensible)
- Also the actor is given to the serializer instance now, instead of
being a static property
2015-05-02 08:56:43 +09:30