Commit Graph

2671 Commits

Author SHA1 Message Date
Franz Liedke
f5d3ab0da2 RouteHandlerFactory: Refactor frontend parameter
By passing in just the frontend identifier, we can hide some of the
implementation details, in this case the identifier of the Frontend
instance in the IoC container.
2018-09-07 01:00:56 +02:00
Franz Liedke
7989f84299 flarum info: Try to fix STDERR redirection for Windows
See the following articles for more information:
- https://www.24k.com.sg/blog-27.html
- https://support.microsoft.com/en-us/help/110930/redirecting-error-messages-from-command-prompt-stderr-stdout

Refs #1562.
2018-09-07 00:25:26 +02:00
Franz Liedke
5633106a7c flarum info: Extract extension table to function 2018-09-04 00:38:08 +02:00
Franz Liedke
58afd2608d flarum info: Tweak output styling 2018-09-04 00:32:54 +02:00
David Sevilla Martín
12dfe12edb InfoCommand improvements (#1562)
* Ignore error output of 'git rev-parse HEAD'
* Organize extension information in a table
2018-09-04 00:24:07 +02:00
Franz Liedke
ea207241f3 Use correct method from contract 2018-09-03 23:55:16 +02:00
David Sevilla Martín
8e331d5817 Add 'oldUsername' to User\Event\Renamed (#1563) 2018-09-03 22:42:30 +02:00
Franz Liedke
e03cc3d9c9 Apply fixes from StyleCI (#1561)
[ci skip] [skip ci]
2018-09-01 23:35:37 +02:00
Franz Liedke
3aa0ce9893 flarum info: Display warning when in debug mode
Refs #1421.
2018-09-01 16:57:44 +02:00
Franz Liedke
c655f11d43 Load per-site extenders, if available
Closes #1559.
2018-09-01 16:27:52 +02:00
Franz Liedke
e8c779fcf4 Frontend extender: Work without extension, too 2018-09-01 16:15:02 +02:00
flarum-bot
a49f2204ab Bundled output for commit a848949c84 [skip ci] 2018-08-25 10:56:59 +00:00
Toby Zerner
a848949c84 Update JS tooling 2018-08-25 20:18:59 +09:30
Toby Zerner
1c200e0f8e Merge pull request #1555 from flarum/fl/sites
Rewrite sites / app
2018-08-24 18:21:05 +09:30
Franz Liedke
3a4045ea49 Rename extension's bootstrap.php to extend.php
...while supporting the old name for a while.

Fixes #1556.
Refs #1557.
2018-08-24 00:08:56 +02:00
Franz Liedke
e2b890152b Pass container into apps, adapt path matching 2018-08-23 22:17:37 +02:00
Franz Liedke
31480dd1ed Load middleware stacks lazily
This way, the forum middleware does not need to be loaded for
API requests, and vice-versa.
2018-08-22 09:20:47 +02:00
Franz Liedke
02f27b0fa1 Implement request handler for maintenance mode 2018-08-22 09:20:00 +02:00
Franz Liedke
554322f0b8 Use more honest method names 2018-08-22 07:58:50 +02:00
Franz Liedke
72ba76b825 Instantiate DispatchRoute manually
Since we are already providing the first and only argument
manually, we might as well instantiate the object manually.
Same effect, same coupling, less code.
2018-08-22 07:58:50 +02:00
Franz Liedke
eb0e50a305 Fix tests after sites refactoring 2018-08-22 07:58:50 +02:00
Franz Liedke
e65b3ac153 Split SessionServiceProvider from UserServiceProvider
This lets us register the former during installation, where the
latter is not yet registered.

That, in turn, means we can finally re-enable the StartSession
middleware in the installer app, which we need to log in the new
admin user when installation is complete.
2018-08-22 07:58:50 +02:00
Franz Liedke
98aaa6a130 One BusServiceProvider is enough 2018-08-22 07:58:50 +02:00
Franz Liedke
2d4802d637 Use zend-httphandlerrunner for marshalling requests and returning responses
Since Diactoros 1.8, the emitter and server classes have been
deprecated. They can be replaced by using this new package
directly.
2018-08-22 07:58:50 +02:00
Franz Liedke
61834b006f Console Installer: Rely less on service providers
Most things we need, we can instantiate directly.

This means we have to do less tweaking in service providers that
are meant to provide services to a complete Flarum application
(that has already been installed properly), to make them work with
the uninstalled app.

The uninstalled app (the "installer") can now do only the
bootstrapping it needs to build a light-weight web and console
application, respectively.
2018-08-22 07:58:50 +02:00
Franz Liedke
dccbefeafa Get rid of some Application methods
These are not necessary to be available so broadly. In fact, they
seem to make it too easy to use them, which has lead to some sub-
optimal architecture decisions.

Their equivalents have been moved to the classes where used.
2018-08-22 07:58:50 +02:00
Franz Liedke
fe07d4064b Split up Site into several classes
Depending on the state of the Flarum installation (installed, not
installed, currently upgrading, maintenance mode), we should enable
different sets of service providers.

For example, during installation we should not resolve a setting
repository from the container. This new architecture lets us do so,
but we can easily (and cleanly) register a different implementation
during installation.

This should prevent problems such as #1370 in the future.
2018-08-22 07:58:50 +02:00
Franz Liedke
e24b208d46 Split up HandleErrors middleware into distinct classes
These are completely distinct functionalities, toggled through the
system-wide debug flag. By moving the selection of the middleware
to use to the place where the middleware pipe is built, we make
the middleware itself be unaware of these flags. The two classes
are more focused on what they are doing, with the constructor
dependencies clearly representing their requirements.

In addition, this means we can just use the HandleErrorsWithWhoops
middleware in the installer, which means we do not need to worry
about how to inject a SettingsRepositoryInterface implementation
when flarum is not yet set up.
2018-08-22 07:58:50 +02:00
flarum-bot
2197f6c43b Bundled output for commit d23a9a56ee [skip ci] 2018-08-22 00:08:57 +00:00
David Sevilla Martín
d23a9a56ee Fix PR issues from #1496 (#1553)
* Remove `+` added from copying a diff somewhere

* Fix font-size
2018-08-22 09:34:18 +09:30
flarum-bot
f764966c29 Bundled output for commit e485d655ca [skip ci] 2018-08-21 21:21:28 +00:00
Arda Çebi
e485d655ca Add descriptions and optimize extensions page (#1496) 2018-08-21 23:16:02 +02:00
flarum-bot
80e378711d Bundled output for commit bdb6f3ae88 [skip ci] 2018-08-19 21:48:23 +00:00
David Sevilla Martín
bdb6f3ae88 Add a permission check to the Search sources (#1527) 2018-08-19 23:43:49 +02:00
David Sevilla Martín
77e99e0961 Installer: add check for file existence & fix path resolving (#1397) 2018-08-19 23:40:37 +02:00
Toby Zerner
9cb85066fe Apply fixes from StyleCI (#1551)
[ci skip] [skip ci]
2018-08-18 12:13:40 +09:30
Toby Zerner
5f4717da2a Add extension JS as a file to allow sourcemap detection
Fixes #1538
2018-08-18 12:13:17 +09:30
Franz Liedke
1918b1265f Add tokenizer to PHP extension requirements
Refs flarum/flarum.github.io#73.
2018-08-14 22:53:12 +02:00
flarum-bot
91e46ac2b4 Bundled output for commit fa4ea72d60 [skip ci] 2018-08-14 20:19:39 +00:00
David Sevilla Martín
fa4ea72d60 Change tab title after renaming discussion (#1543)
* Change tab title after renaming discussion

* Uncommit dist

* Uncommit package-lock.json

* Fix for VDOM

* Move setTitle into DiscussionPage#config
2018-08-14 22:15:47 +02:00
Daniël Klabbers
4cc3a5bfaf Update PULL_REQUEST_TEMPLATE.md (#1545)
* Update PULL_REQUEST_TEMPLATE.md

Added clarification about bundled PRs.

* Update PULL_REQUEST_TEMPLATE.md
2018-08-14 22:08:16 +02:00
flarum-bot
7c991574bc Bundled output for commit f7c0c966bf [skip ci] 2018-08-14 19:50:55 +00:00
Edward Betts
f7c0c966bf Correct spelling mistakes. (#1546) 2018-08-14 21:46:53 +02:00
David Sevilla Martín
cfc89b303d Fix post composer width bug on profile (#1541) 2018-08-14 06:44:28 +09:30
flarum-bot
c1e9b6377e Bundled output for commit d748864d26 [skip ci] 2018-08-13 21:07:47 +00:00
David Sevilla Martín
d748864d26 ModalManager: Fix issue when app.current is not defined (#1530) 2018-08-14 06:33:39 +09:30
David Sevilla Martín
7d5c4ad100 Fix wrong permission in UserPolicy#find (#1536) 2018-08-13 06:45:56 +09:30
Charlie
7490c70543 Dispatch the Deserializing event in Admin Content (#1532)
* Dispatch the Deserializing event

* Apply fixes from StyleCI (#1)
2018-08-11 17:15:11 +09:30
Franz Liedke
c20dcfe4e7 Service Provider: Move loadViewsFrom() to boot()
This method relies on the "view" being bound in the IoC container.
This is only guaranteed after all register() methods have run, thus
it should be done in boot().
2018-08-03 00:53:39 +02:00
Franz Liedke
fc7b1bf3bd Update zend-diactoros constraint
See security advisory ZF2018-01:
https://framework.zend.com/security/advisory/ZF2018-01
2018-08-02 23:15:24 +02:00