Commit Graph

2807 Commits

Author SHA1 Message Date
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
Clark Winkelmann
be92b598f3 Update urls with their current canonical versions (#1524) 2018-08-02 17:39:06 +02:00
Toby Zerner
ccb1321dca Apply fixes from StyleCI
[ci skip] [skip ci]
2018-08-01 03:55:21 +00:00
Toby Zerner
fdcb78a48c Change TIMESTAMP columns to DATETIME manually 2018-08-01 13:24:55 +09:30
flarum-bot
4d380d52ca Bundled output for commit f6a7f62c2e [skip ci] 2018-07-24 15:44:53 +00:00
Toby Zerner
f6a7f62c2e Merge pull request #1520 from sijad/spinner-config
configure spinner only once
2018-07-25 01:08:50 +09:30
Sajjad Hashemian
30eded0fb6 configure spinner only once 2018-07-24 19:25:09 +04:30
Franz Liedke
10d39cb06d Apply fixes from StyleCI (#1518)
[ci skip] [skip ci]
2018-07-23 16:25:12 +02:00
Franz Liedke
a0741f801b Replace Assets with Frontend extender
This extender allows registering both assets and simple GET routes
with frontend instances.

See #851.
2018-07-23 16:24:00 +02:00
Toby Zerner
a13175600f Fix group/permission seeding
Updating the Migration::addPermission helper table name means we need
to move the seed migration to after the table rename migration. We also
add a sanity check for each permission's group since the foreign key
will fail if the group doesn't exist. Of course, the only way to make
sure groups are seeded before permissions is to move them into another
migration.
2018-07-21 23:02:44 +09:30
Toby Zerner
5aa15f5b27 Remove file accidentally added in merge 2018-07-21 22:09:14 +09:30
Toby Zerner
05c8e12761 Wrap column names; use whereColumn where possible 2018-07-21 22:02:54 +09:30
Toby Zerner
7474290138 Merge branch 'master' into 1236-database-changes
# Conflicts:
#	src/Forum/Controller/IndexController.php
#	src/User/UserMetadataUpdater.php
2018-07-21 21:37:49 +09:30
Toby Zerner
73da82ebc0 Don't save in the model 2018-07-21 21:28:44 +09:30
Toby Zerner
5d221f8792 Fix user list sorting 2018-07-21 18:39:32 +09:30
Toby Zerner
6df532bac7 Revert notifications_from table
I didn't think this change through and it's going to be too difficult
to implement right now. It can wait until we do the notifications
revamp. For now reverting back to the old structure, with the
`sender_id` column renamed to `from_user_id`.
2018-07-21 18:35:50 +09:30
Toby Zerner
e6a7385ed4 Apply fixes from StyleCI
[ci skip] [skip ci]
2018-07-21 07:52:21 +00:00
Toby Zerner
9bc934a89d Clean up attribute assignment 2018-07-21 17:22:03 +09:30
Toby Zerner
97a94a8c60 Specify ambiguous column names 2018-07-21 17:21:37 +09:30
Toby Zerner
9ca95afafe Use Eloquent's latest and oldest 2018-07-21 17:21:08 +09:30
Toby Zerner
a7a0a2ca86 Fix some incorrect attribute names 2018-07-21 17:20:43 +09:30
Toby Zerner
e8cd2d4111 Fix entity deletion
Foreign keys take care of most of this for us!
2018-07-21 17:18:40 +09:30
Toby Zerner
bcd74ff09b Fix API key generation 2018-07-21 17:14:15 +09:30
Toby Zerner
f52d5f2ccf No need for deleted_at in notifications table 2018-07-21 17:13:51 +09:30
Toby Zerner
36b272d183 Change TIMESTAMP columns to DATETIME 2018-07-21 17:12:51 +09:30