Commit Graph

2579 Commits

Author SHA1 Message Date
aac194616a check class string before concat 2018-06-25 09:40:06 +04:30
b3f8379a15 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
2234a81ee7 Bundled output for commit 805768a9e0dfcc95857880a21cf1a015571ccf86 [skip ci] 2018-06-22 01:24:44 +00:00
805768a9e0 [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
e3c2ddad2e Merge pull request #1465 from flarum/tz/formatter-extender
Rename and improve FormatterConfiguration extender
2018-06-21 10:11:35 +02:00
520e1550d1 Merge event listener registration 2018-06-20 23:37:27 +02:00
79b00cb94f 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
0bcc6e74a8 Checkout the branch before committing 2018-06-20 14:47:37 +09:30
542e8715ea git config before commit [skip ci] 2018-06-20 14:42:18 +09:30
3f683dd6ee 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
d234badbb2 New issue templates (#1459) 2018-06-20 11:16:48 +09:30
07eda60561 Fix discussion posts not being initialized correctly. Fixes #1455 2018-06-16 11:01:42 +09:30
2bc7c4134a Add comment explaining extension boot process 2018-06-15 19:25:40 +09:30
050496a20e Make ExtensionManager a singleton 2018-06-15 19:25:15 +09:30
3b87778fbb Prevent @ character used in searches from crashing MySQL 🙄 2018-06-15 19:24:23 +09:30
569e6c9a92 Escape string used in LIKE query 2018-06-15 19:19:43 +09:30
c498e68530 Use imported class name 2018-06-15 19:18:47 +09:30
305841ddd4 Add Interface suffix 2018-06-15 19:17:43 +09:30
211e7681cc Merge pull request #1451 from sijad/create-token
rename TokenController to CreateTokenController
2018-06-06 11:51:50 +02:00
22f2df3670 rename TokenController to CreateTokenController 2018-06-06 09:40:29 +04:30
3bf74eaf10 Merge pull request #1445 from flarum/fl/migrations-simplify-interface
Migrations: Simplify interface
2018-06-04 01:05:31 +02:00
d301d260c1 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
a1c3da9f8f 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
3ec32f8430 Composer: Sort dependencies 2018-06-02 15:07:23 +02:00
f137eb358f Update .travis.yml
remove conditional which is unnecessary
2018-05-30 10:36:00 +02:00
b91a3573db Merge pull request #1443 from flarum/fl/controller-to-handlers
Replace ControllerInterface with PSR-15 interface
2018-05-30 09:54:13 +02:00
b3d45fd6f8 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
e6b8ff856e Merge pull request #1441 from flarum/fl/psr-15
Use PSR-15 middleware standard
2018-05-29 20:26:31 +02:00
4a2aa7e892 Merge branch 'master' into fl/psr-15 2018-05-29 20:21:31 +02:00
b3cbc5d1bd [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
3680d88fb7 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
5d0ebde6b8 travis: Remove PHP 7.0 from build matrix 2018-05-28 23:41:32 +02:00
0278d52cbe 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
e226f81515 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
09938f8633 Merge pull request #1432 from clarkwinkelmann/patch-3
Configure external links before dispatching textformatter configuring event
2018-05-15 07:56:24 +09:30
4c55d278b6 Configure external links before dispatching event
This way extensions can override the link attributes
2018-05-15 00:12:33 +02:00
2a721926d3 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
0058067b1b merged master 2018-05-14 09:23:06 +02:00
3c41011548 allowing configurable flood gate (#1411)
* allowing configurable flood gate

* fixed review comments
2018-05-11 19:27:37 +09:30
49c643609c Use ItemList for signup and login modals (#1420)
* Remove unused imports

* Use body and footer methods

* Use ItemList for signup and login inputs
2018-05-11 18:59:58 +09:30
4df0101f56 Update icons to "fas" (#1426)
* Update icons to "fas"

* Install icon change
2018-05-09 08:56:30 +02:00
b8632d693a fixes session during installation (#1418)
* fixes session during installation

* Apply fixes from StyleCI

[ci skip] [skip ci]

* styling of commented code, removed unnecessary import
2018-05-08 10:32:28 +02:00
c4a501f82a Improved foundational backend unit tests (#1405)
* part one of adding tests, updating core

* Apply fixes from StyleCI

[ci skip] [skip ci]

* we need xdebug for code coverage, and hhvm was already removed

* forgot about the sidecar for mysql completely 🤦

* gitignore removed this installed json we need to fake that we have extensions

* using reguarded closure
2018-04-17 11:15:28 +02:00
beec59232f we can move this file deeper into storage 2018-04-13 09:12:56 +02:00
371f33e99e Apply fixes from StyleCI
[ci skip] [skip ci]
2018-04-13 07:07:02 +00:00
264664ac79 added the create discussion test, also renamed some classes that seem to have been incorrectly renamed from the other testing branch 2018-04-13 09:06:42 +02:00
17f29f83c9 adds api controller tests 2018-04-13 07:52:39 +02:00
c9c8fa0fde gitignore removed this installed json we need to fake that we have extensions 2018-04-13 07:34:04 +02:00
45f28b6f72 forgot about the sidecar for mysql completely 🤦 2018-04-13 07:25:30 +02:00
3ef7843540 Merge branch 'unit-testing' of github.com:flarum/core into unit-testing 2018-04-13 07:17:53 +02:00