Commit Graph

2797 Commits

Author SHA1 Message Date
Toby Zerner
a825a7d115 Allow a single extender to be returned (#1469)
Casting an object to an array does not have the intended effect of
wrapping the object in an array. Instead we need to explicitly check
if the returned value is an array or not.
2018-06-22 18:10:54 +09:30
Daniel Klabbers
1815389731 Merge branch 'master' into 1236-database-changes 2018-06-22 07:48:21 +02:00
flarum-bot
3bcfdd83d3 Bundled output for commit d7dd4bf8a0 [skip ci] 2018-06-22 01:24:44 +00:00
Toby Zerner
d7dd4bf8a0 [WIP] JS Extender API foundation (#1468)
* Run extenders exported by extensions
* Add some basic extenders
* Patch Mithril as the very first thing so extension code can run safely
* Load the payload into the app before booting extensions
* Setup default routes before booting extensions
2018-06-22 10:49:46 +09:30
Franz Liedke
e12386d6ec Merge pull request #1465 from flarum/tz/formatter-extender
Rename and improve FormatterConfiguration extender
2018-06-21 10:11:35 +02:00
Toby Zerner
ca28f0ca45 Merge event listener registration 2018-06-20 23:37:27 +02:00
Toby Zerner
22c911476b Rename and improve FormatterConfiguration extender
In the future we may have multiple Formatters, so by moving the config
callback to its own instance method we can leave the constructor
available to specify which formatter (like Assets and Routes). This
format also allows for other methods to be added.

Additionally, this adds logic to automatically flush the Formatter cache
whenever the extension is enabled or disabled.
2018-06-20 23:37:27 +02:00
Toby Zerner
52d0b5f11e Checkout the branch before committing 2018-06-20 14:47:37 +09:30
Toby Zerner
58b09bc7ef git config before commit [skip ci] 2018-06-20 14:42:18 +09:30
Toby Zerner
c6ebef3631 Webpack (#1367)
* Replace gulp with webpack and npm scripts for JS compilation
* Set up Travis CI to commit compiled JS
* Restructure `js` directory; only one instance of npm, forum/admin are "submodules"
* Refactor JS initializers into Application subclasses
* Maintain partial compatibility API (importing from absolute paths) for extensions
* Remove minification responsibility from PHP asset compiler
* Restructure `less` directory
2018-06-20 13:20:31 +09:30
Toby Zerner
7f68717769 New issue templates (#1459) 2018-06-20 11:16:48 +09:30
Daniel Klabbers
8829da2765 Merge branch 'master' into 1236-database-changes 2018-06-19 09:57:47 +02:00
Toby Zerner
1a51bbd480 Fix discussion posts not being initialized correctly. Fixes #1455 2018-06-16 11:01:42 +09:30
Toby Zerner
48e0656601 Add comment explaining extension boot process 2018-06-15 19:25:40 +09:30
Toby Zerner
14d49c2063 Make ExtensionManager a singleton 2018-06-15 19:25:15 +09:30
Toby Zerner
d13229a1fd Prevent @ character used in searches from crashing MySQL 🙄 2018-06-15 19:24:23 +09:30
Toby Zerner
bc092c48d4 Escape string used in LIKE query 2018-06-15 19:19:43 +09:30
Toby Zerner
09528a38d0 Use imported class name 2018-06-15 19:18:47 +09:30
Toby Zerner
dd6569a773 Add Interface suffix 2018-06-15 19:17:43 +09:30
Daniël Klabbers
a3c6833b54 migrating user preferences obviously works on empty table 2018-06-12 21:33:17 +02:00
Franz Liedke
0803b5ac18 Merge pull request #1451 from sijad/create-token
rename TokenController to CreateTokenController
2018-06-06 11:51:50 +02:00
Sajjad Hashemian
818885729d rename TokenController to CreateTokenController 2018-06-06 09:40:29 +04:30
Franz Liedke
dcd1a95d5d Merge pull request #1445 from flarum/fl/migrations-simplify-interface
Migrations: Simplify interface
2018-06-04 01:05:31 +02:00
Franz Liedke
86fe1b34c4 Simplify interface of migration-related classes
Mostly, we only need a database connection, instead of one of
Laravel's "connection resolvers".

Again, this makes our life easier during installation, where
we already instantiate a database connection. We can now use
that to instantiate our own Migrator class, instead of using
the IoC container to build one.
2018-06-03 23:13:49 +02:00
Franz Liedke
1c28afce69 Migrations: always pass a schema builder
This removes the funky auto-injection capability from migration
closures. While technically removing a feature, this means we do
not need a fully-wired IoC container e.g. during installation.

Instead, all migration closures simply receive a schema builder
object (which is what most of them were already doing anyway).
2018-06-03 23:13:35 +02:00
Daniël Klabbers
9d46446a8f Merge branch 'master' into 1236-database-changes 2018-06-03 21:51:01 +02:00
Franz Liedke
ab5c4b7fea Composer: Sort dependencies 2018-06-02 15:07:23 +02:00
Daniël Klabbers
2ea20ab613 Update .travis.yml
remove conditional which is unnecessary
2018-05-30 10:36:00 +02:00
Franz Liedke
6b723a86e3 Merge pull request #1443 from flarum/fl/controller-to-handlers
Replace ControllerInterface with PSR-15 interface
2018-05-30 09:54:13 +02:00
Franz Liedke
837bc05840 Replace ControllerInterface with PSR-15 interface
The custom interface already had the same signature as the
one from the standard (except for the return type hint), so
why not use that one now? :)
2018-05-30 09:49:47 +02:00
Franz Liedke
85d18097b4 Merge pull request #1441 from flarum/fl/psr-15
Use PSR-15 middleware standard
2018-05-29 20:26:31 +02:00
Franz Liedke
fbf8a88de1 Merge branch 'master' into fl/psr-15 2018-05-29 20:21:31 +02:00
Daniël Klabbers
75f237b674 [wip] 1211 mariadb compatibility (#1440)
fixes #1211 

As we've already upgraded our minimum requirement to 7.1 there's no current need to force a constraint on dbal 2.7+.
2018-05-29 05:51:22 +02:00
Franz Liedke
656a64c796 Use PSR-15 middleware standard
This finally adopts the new standardized interfaces instead of the
work-in-progress ones with the `Interop\` prefix.

Since we have now updated to PHP 7.1, we can also use Stratigility
3.0 as the middleware dispatcher.
2018-05-29 00:18:24 +02:00
Franz Liedke
35dd90efed travis: Remove PHP 7.0 from build matrix 2018-05-28 23:41:32 +02:00
Franz Liedke
12bc463243 Require PHP 7.1
This will be the last PHP requirement upgrade for a while, at least
until stable (and therefore until the next major release).

We have decided to do this now, for the following reasons:
- We want to support MariaDB (and the compatible release of
  doctrine/dbal requires 7.1 as well).
- We prefer to upgrade to Laravel 5.6 sooner rather than later.
- Using the PSR-15 middleware standard is easier this way, as we do
  not have to switch from zend-stratigility to another PSR-15
  implementation. (Stratigility v3, which implements the final
  standard, requires 7.1.)
2018-05-28 23:21:22 +02:00
Daniël Klabbers
88d2e345b1 undo session interface change 2018-05-21 21:19:38 +02:00
Daniel Klabbers
a53c20e86f Merge branch '1236-database-changes' of github.com:flarum/core into 1236-database-changes 2018-05-16 09:36:25 +02:00
Daniel Klabbers
523acba2aa new api tests uncovered more issues, fixed tokens and discussion posts 2018-05-16 09:36:04 +02:00
Daniel Klabbers
6619fb0848 merged api tests into branch 2018-05-16 09:27:01 +02:00
Daniël Klabbers
ead24fbcb8 additional tests for api controllers (#1433)
* added CreatePostControllerTest

* added DeleteDiscussionControllerTest

* added ListDiscussionControllerTest

* added TokenControllerTest

* minor improvement to policy, no need for Carbon object there, added ShowDiscussionControllerTest

* added showDiscussionControllerTest but cant make Guests view the discussion created by a user

* viewing for guests tested, we might need factories
2018-05-16 09:25:48 +02:00
Toby Zerner
f3bf16ca98 Merge pull request #1432 from clarkwinkelmann/patch-3
Configure external links before dispatching textformatter configuring event
2018-05-15 07:56:24 +09:30
Clark Winkelmann
fd97e787dd Configure external links before dispatching event
This way extensions can override the link attributes
2018-05-15 00:12:33 +02:00
luceos
231c5e8da0 Apply fixes from StyleCI
[ci skip] [skip ci]
2018-05-14 11:50:06 +00:00
Daniel Klabbers
f1e5c11e1f fixed more attributes to match beta 8 2018-05-14 13:49:52 +02:00
Daniel Klabbers
44f8cef62a Merge branch 'master' into 1236-database-changes 2018-05-14 13:32:48 +02:00
Daniël Klabbers
3f429fb08c adds a few additional api controller tests (#1429)
* added CreatePostControllerTest

* added DeleteDiscussionControllerTest

* added ListDiscussionControllerTest

* Apply fixes from StyleCI

[ci skip] [skip ci]
2018-05-14 13:32:19 +02:00
Daniel Klabbers
32c7f1ee5d fixed the created_at issue from the policy caused by the setStartPost setting created_at to null 2018-05-14 11:52:01 +02:00
Daniel Klabbers
80cc03e4f1 fixed several column changes found by tests 2018-05-14 11:34:24 +02:00
Daniel Klabbers
04e17fbd8c Merge branch 'master' into 1236-database-changes 2018-05-14 09:25:52 +02:00