1015 Commits

Author SHA1 Message Date
Toby Zerner
7a76bf175d Make HTMLPurifier config extensible; allow images 2015-06-08 09:37:30 +09:30
Toby Zerner
f928e746d9 Prevent formatter from being invoked if bio is empty 2015-06-08 09:34:39 +09:30
Franz Liedke
1962eeab72 Remove outdated column name from user table seeder 2015-06-07 22:04:11 +02:00
Franz Liedke
c2df8d5214 Merge branch 'master' into psr-7
Conflicts:
	composer.json
	composer.lock
	src/Api/Actions/TokenAction.php
	src/Core/Formatter/FormatterManager.php
	src/Core/Handlers/Events/EmailConfirmationMailer.php
	src/Forum/Actions/ConfirmEmailAction.php
	src/Forum/Actions/IndexAction.php
	src/Forum/Actions/ResetPasswordAction.php
	src/Forum/Actions/SavePasswordAction.php
	src/Forum/routes.php
2015-06-06 13:59:59 +02:00
Toby Zerner
381e7a2c57 Usernames must only contain alphanumeric chars/dashes/underscores
Perhaps we can relax this a little bit, but right now these are the
only characters that are parsed for @mentions anyway
2015-06-04 11:19:23 +09:30
Toby Zerner
aae7678cea Really rough fulltext driver implementation 2015-06-04 11:11:56 +09:30
Toby Zerner
42851f425b Rejig formatting API. closes flarum/core#85
It works but it’s not the most pretty thing in the world. @franzliedke
Would be great if you could take a look at the whole formatting API and
work your magic on it sometime… my brain is fried!
2015-06-04 10:48:07 +09:30
Toby Zerner
9487a56d61 Allow <hr> in posts 2015-06-03 18:12:15 +09:30
Toby Zerner
5d89618bbd Implement search on front end 2015-06-03 18:10:56 +09:30
Franz Liedke
9564778701 Upgrade to stable cookie dependency 2015-06-03 10:17:59 +02:00
Franz Liedke
5151a5aef5 Fix login response not containing the token 2015-06-03 03:41:09 +02:00
Franz Liedke
82ccf28072 Fix redirect after logout 2015-06-03 03:36:49 +02:00
Franz Liedke
ed79f7c4ea Fix middleware if cookie does not exist. 2015-06-03 03:36:17 +02:00
Franz Liedke
2ba7a2044b Fix redirect helper. 2015-06-03 03:35:30 +02:00
Franz Liedke
79480242a7 Use contracts for typehints where possible. 2015-06-03 03:21:24 +02:00
Franz Liedke
7383c14eae Remove lots of unneeded imports. 2015-06-03 03:20:58 +02:00
Franz Liedke
8c40c2b4ad Get rid of unneeded injected dependency. 2015-06-03 03:19:32 +02:00
Franz Liedke
203c21846c Use API client class in admin action, too 2015-06-03 03:18:33 +02:00
Franz Liedke
7b45ca3a78 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
c616cd811b Use the new client class to consume API actions 2015-06-03 02:40:24 +02:00
Franz Liedke
a94a9afdcc 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
d462eb585e 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
7f83552cbb Make JSON parameter middleware a bit more generic 2015-06-03 02:04:00 +02:00
Franz Liedke
33ae52a30c Fix responses returned by JSON helper. 2015-06-03 02:02:28 +02:00
Toby Zerner
6cf1dbe648 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
fb3038d128 Password cannot be null 2015-06-01 17:55:52 +09:30
Toby Zerner
82377f2302 Fix error on account registration 2015-06-01 17:55:41 +09:30
Toby Zerner
5d28fc2713 Only validate dirty attributes
To prevent unique-checking queries on every update
2015-06-01 12:26:44 +09:30
Toby Zerner
3334063740 Use pre-loaded state if applicable. closes flarum/core#89 2015-06-01 12:26:11 +09:30
Toby Zerner
bb1491e19e 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
0f9549f4b9 Remove default relationships from serializers 2015-06-01 12:24:06 +09:30
Toby Zerner
351775ef02 Add NotificationWillBeSent event 2015-06-01 08:52:04 +09:30
Toby Zerner
a1da95962d Move theme config to database 2015-05-31 11:18:19 +09:30
Toby Zerner
78e10ec541 Eager load notification relationships 2015-05-30 13:57:39 +09:30
Franz Liedke
a1f5060c05 Remove obsolete imports 2015-05-28 23:52:40 +02:00
Franz Liedke
8a57922833 For now, inject URL generator instead of providing helper method. 2015-05-28 23:46:56 +02:00
Franz Liedke
76114f2979 Implement helper for generating routes in API actions. 2015-05-27 23:59:41 +02:00
Franz Liedke
9526dbf210 Create URL generator interface.
Also bind a default implementation to the container.
2015-05-27 23:58:43 +02:00
Toby Zerner
2741923714 Improvements to change/forgot password 2015-05-27 16:25:44 +09:30
Toby Zerner
696bfe5a07 Improve email changing/confirmation stuff 2015-05-27 16:24:54 +09:30
Franz Liedke
7ab3437136 Switch admin app to new PSR-7 driven architecture 2015-05-27 03:02:10 +02:00
Franz Liedke
95677e05e3 Add another abstract action base class for dealing with returned views 2015-05-27 03:01:09 +02:00
Franz Liedke
cff0e96eaa Implement helper method for redirecting 2015-05-27 02:48:08 +02:00
Franz Liedke
05cecf080e Fixes to comply with PSR-2 2015-05-27 02:37:27 +02:00
Franz Liedke
97e43c5431 Update ForgotAction to comply with changes in base class 2015-05-27 01:58:39 +02:00
Franz Liedke
343da9fc40 Extract another middleware from API routing 2015-05-27 01:55:46 +02:00
Franz Liedke
3ff230dc26 Change API to use PSR-7 style requests and responses
This required some interface changes (mostly changing Laravel's or
Symfony's request and response classes to those of Zend's Diactoros.
Some smaller changes to the execution flow in a few of the abstract
action base classes, but nothing substantial.

Note: The request and response classes are immutable, so we usually
need to return new instances after modifying the old ones.
2015-05-27 01:55:05 +02:00
Franz Liedke
910d96f905 Fix a typo 2015-05-27 01:49:14 +02:00
Franz Liedke
be97f5f303 Implement a minimal router using FastRoute.
This will be able to dispatch PSR-7-style requests to any callback
that returns a proper response object.

Largely based on my original work for FluxBB 2.0.
2015-05-27 01:49:14 +02:00
Toby Zerner
1ec2a4c742 Update email address confirmation subject 2015-05-26 18:07:27 +09:30