Commit Graph

2445 Commits

Author SHA1 Message Date
Franz Liedke
c07ed29057 Don't use invokables with Container::call() 2018-01-10 19:37:18 +01:00
Franz Liedke
73662598ef Re-introduce Compat extender
Turns out Container::call() does not work with invokable classes.
Thus, we need to wrap callables in a custom extender class to
support injecting any resolvable type-hint automatically.

Refs #851.
2018-01-10 19:32:57 +01:00
Toby Zerner
cc1239fe9f Update test namespaces 2018-01-11 01:25:10 +10:30
Franz Liedke
d7536d4f50 Get rid of Compat extender
Now that we support any form of callable to be returned from the
bootstrap.php files, it is no longer needed.
2018-01-09 22:35:40 +01:00
Franz Liedke
37c29a14e5 Turn extenders into callables
This simplifies the API and gives extension developers more
flexibility, for a) maintaining backwards compatibility, and
b) doing advanced stuff that extenders do not allow.

Note that only extenders are guaranteed to work across
different versions of Flarum (once the API surface is stable).

See the discussion in https://github.com/flarum/core/pull/1335.
2018-01-09 20:49:51 +01:00
Daniel Klabbers
d175953f90 fixed two typehints on migrations repository 2018-01-09 16:28:50 +01:00
Toby Zerner
b140263830 Merge pull request #1340 from clarkwinkelmann/fix-password-changed-on-reset
Dispatch user events after password reset
2018-01-09 13:35:24 +10:30
Clark Winkelmann
9eae3cc318 Dispatch user events after password reset
Previously PasswordChanged was never sent
2018-01-09 03:44:06 +01:00
Franz Liedke
fd40e1a7fc Tweak route registration extender: Use plural
This makes it more consistent with other existing extenders,
while also making registration of multiple routes more
comfortable for extension developers, and likely slightly
more performant. :-)
2018-01-07 19:50:49 +01:00
Franz Liedke
cd6c259274 Merge pull request #1338 from gwillem/fix-permissions
Remove execute permissions from php/less files
2018-01-07 18:30:40 +01:00
Willem de Groot
257fb93d03 Fix StyleCI spacing 2018-01-06 12:03:02 +01:00
Willem de Groot
d613e5293c Remove execute permissions from php/less files 2018-01-06 11:59:25 +01:00
Toby Zerner
a8f792c34b Merge branch '0.1.0-beta.7' 2018-01-06 20:06:43 +10:30
Clark Winkelmann
31b925164c Always apply attributes from token when registering
The change introduced in #1033 transformed any identification attribute returned from an OAuth provider to just a default value.

When the identification attribute used by the provider is the email or username, this allowed the user to supply a different email or username and still getting an already-enabled account with the credentials he entered.

Skipping attributes with an existing value makes no sense here because it's a always a fresh user and values from AbstractOAuth2Controller::getIdentification() should always be enforced.
2018-01-06 20:04:42 +10:30
Toby Zerner
6df4e63910 Merge pull request #1335 from flarum/next-back-extenders
Start of PHP extenders API
2018-01-06 09:17:27 +10:30
Franz Liedke
048c0a21c3 Add another newline before custom footer HTML 2018-01-05 23:46:38 +01:00
AFR
0d8dfabbb3 Add Custom Footer HTML (#1315)
* Add Custom Footer HTML

Straight copy from Custom Header HTML

* Move Custom Footer HTML to exactly before `</body>` tag.

* Fix invalid class name

* Append CustomFooterHTML when preparing the view.

* Some consistency in placing the variable
2018-01-05 23:44:11 +01:00
Clark Winkelmann
41c7f26058 Manage Composer height with overridable methods (#1272)
* Manage Composer height in a separate class with overridable methods

* Use a computed method

* Keep everything in Composer.js

* Drop usage of computed property for the Composer height
Because the Composer height also depends on the page height and is rarely called without position, height or page height changing anyway
2018-01-04 09:39:06 +10:30
Franz Liedke
e0f61d51c0 Add Route extender for registering routes with forum, admin or API 2018-01-03 23:19:45 +01:00
Franz Liedke
629439a578 Admin: Set up all event listeners in one place
See discussion in #1273.
2018-01-03 20:23:05 +01:00
Franz Liedke
f69579c4b0 Add FormatterConfiguration extender for extensions working with TextFormatter 2018-01-03 09:42:11 +01:00
Franz Liedke
95b80aecfe Add Assets extender for frontend extensions 2018-01-03 09:42:11 +01:00
Franz Liedke
5aead00730 Add Locale extender for language pack extensions 2018-01-03 09:42:11 +01:00
Franz Liedke
d38255e048 Resolve extenders from ExtensionManager
Loading the activated extensions now means retrieving an array of
extenders (classes that implement a certain type of extension of a core
feature in Flarum).

For now, the only existing extender is the Compat extender which is used
to handle old-style bootstrappers that simply return a closure that
receives all of its dependencies via auto injection.

In the future, extensions will be able to return an array of extender
instances from their bootstrapper instead. These extender classes will
be implemented in the next step.
2018-01-03 09:42:11 +01:00
Franz Liedke
167e4f3be8 Deprecate remaining non-namespaced events
These will be replaced by etenders soon.
2018-01-03 09:42:11 +01:00
Franz Liedke
b56ebe5747 Installation default data: Use more sensible defaults
Using .dev as a TLD for local development is discouraged, as at
least Chrome now enforces HTTPS for these domains.

As far as I know, by default, the MySQL root user does not have
a password on many platforms. I use it this way on my local
machine, and this makes it convenient to setup a local copy.
2018-01-03 09:41:46 +01:00
Franz Liedke
eb6453e9f4 Use ::class instead of some hardcoded class names
This gives us better refactoring functionality in IDEs like
PhpStorm, and also more quickly surfaces typos through errors
about undefined classes. :)
2018-01-03 09:41:46 +01:00
Franz Liedke
66a320398e Clean up code, use PHP 7 feature :) 2018-01-03 09:41:46 +01:00
Toby Zerner
2a8545c389 Fix order of array_first arguments
As per https://laravel.com/docs/5.3/upgrade (under "Arrays")
2018-01-02 09:48:50 +10:30
Toby Zerner
8c787cdd51 Re-add missing middleware 2018-01-01 10:45:26 +10:30
Toby Zerner
47e4bce4da Fix class name 2018-01-01 10:34:19 +10:30
Miguel Piedrafita
50a62a0395 Update year (#1328) 2017-12-31 20:48:23 +01:00
Toby Zerner
1176ca8a50 Fix URL generator usage 2017-12-29 21:29:04 +10:30
Toby Zerner
b491df89c2 Fix view paths 2017-12-29 21:28:53 +10:30
Toby Zerner
f57dffe4a2 Fix class reference 2017-12-29 18:42:31 +10:30
Franz Liedke
8b157346df Fix comment 2017-12-28 22:47:13 +01:00
Toby Zerner
cc9f0dcdb1 Merge pull request #1308 from flarum/next-back
Next back > master
2017-12-28 12:13:40 +10:30
Toby Zerner
fa1e557e0a Remove unused method 2017-12-27 16:17:35 +10:30
Toby Zerner
f846d5c5e4 Fix some class names, clean up imports 2017-12-27 16:17:25 +10:30
Toby Zerner
ac0a9e0567 Fix order of array_first arguments
As per https://laravel.com/docs/5.3/upgrade (under "Arrays")
2017-12-26 20:38:15 +10:30
Franz Liedke
2936b894d4 Move garbage collection into middleware
This prevents garbage collection to randomly break the installer:
before installation, the models that are being accessed have no
database connection.

Now, the middleware is only mounted into the forum's middleware
stack. I want API requests to have stable performance, and the
forum middleware stack is only mounted when Flarum is installed.
2017-12-21 12:23:34 +01:00
Franz Liedke
b9f68921b7 Fix more incompatibilities with Laravel 5.5 2017-12-20 00:20:23 +01:00
Franz Liedke
54ecd48b72 Disable HandleErrors middleware during installation
Temporary measure until we have a real fix in place.
2017-12-20 00:00:23 +01:00
Franz Liedke
e779b89bfb Fix previous commit
Prevent `flarum.config` from being bound in the container when the
software has not been installed yet.
2017-12-19 23:48:38 +01:00
Franz Liedke
d8035374be DRY up loading of config 2017-12-19 23:16:06 +01:00
Toby Zerner
1ea421482a Remove Listener namespace
We may reverse this in the future, but for now just going for
consistency between domains (the majority do not use a Listener
namespace)
2017-12-19 18:59:14 +10:30
Toby Zerner
604f70c02a Merge pull request #1313 from flarum/analysis-qB0gYV
Apply fixes from StyleCI
2017-12-19 18:54:47 +10:30
Toby Zerner
58ead0e16b Apply fixes from StyleCI
[ci skip] [skip ci]
2017-12-19 08:24:06 +00:00
Toby Zerner
37f7e7fa67 Fix usage of UrlGenerator in notifications 2017-12-19 18:52:27 +10:30
Toby Zerner
1ba7ba0ad7 Pick up config when setting a new base path 2017-12-19 18:38:00 +10:30