Toby Zerner
1c87c33d4d
Use ::class, update some typehints
2018-01-11 11:55:57 +10:30
Franz Liedke
30a04e7bf9
Don't use invokables with Container::call()
2018-01-10 19:37:18 +01:00
Franz Liedke
0af97c427c
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
Franz Liedke
c6747b6910
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
1ce70eeb6e
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
714775cfed
fixed two typehints on migrations repository
2018-01-09 16:28:50 +01:00
Clark Winkelmann
f3e29ab801
Dispatch user events after password reset
...
Previously PasswordChanged was never sent
2018-01-09 03:44:06 +01:00
Franz Liedke
26e53fc51b
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
Willem de Groot
5af65dede1
Fix StyleCI spacing
2018-01-06 12:03:02 +01:00
Willem de Groot
e774baf32f
Remove execute permissions from php/less files
2018-01-06 11:59:25 +01:00
Toby Zerner
2ac04aac8e
Merge branch '0.1.0-beta.7'
2018-01-06 20:06:43 +10:30
Clark Winkelmann
c6aeeeb3c1
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
f247d8c2a6
Merge pull request #1335 from flarum/next-back-extenders
...
Start of PHP extenders API
2018-01-06 09:17:27 +10:30
Franz Liedke
0380536cb4
Add another newline before custom footer HTML
2018-01-05 23:46:38 +01:00
AFR
6dc96b38af
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
Franz Liedke
8d049126d0
Add Route extender for registering routes with forum, admin or API
2018-01-03 23:19:45 +01:00
Franz Liedke
63be95fb8a
Admin: Set up all event listeners in one place
...
See discussion in #1273 .
2018-01-03 20:23:05 +01:00
Franz Liedke
1d47047d45
Add FormatterConfiguration extender for extensions working with TextFormatter
2018-01-03 09:42:11 +01:00
Franz Liedke
4e30ad5891
Add Assets extender for frontend extensions
2018-01-03 09:42:11 +01:00
Franz Liedke
f4ad227576
Add Locale extender for language pack extensions
2018-01-03 09:42:11 +01:00
Franz Liedke
5b6d043f80
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
c41e58531a
Deprecate remaining non-namespaced events
...
These will be replaced by etenders soon.
2018-01-03 09:42:11 +01:00
Franz Liedke
b760d113d2
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
936f67e953
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
3f7e7520b0
Clean up code, use PHP 7 feature :)
2018-01-03 09:41:46 +01:00
Clark Winkelmann
7ccb263926
Fix array_only usage
2018-01-02 00:27:13 +01:00
Toby Zerner
fe56f57e8f
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
Clark Winkelmann
fa9d89d690
Prevent editing fields in sign up modal according to identification data
2018-01-02 00:13:33 +01:00
Toby Zerner
292fe06001
Re-add missing middleware
2018-01-01 10:45:26 +10:30
Toby Zerner
d807171c44
Fix URL generator usage
2017-12-29 21:29:04 +10:30
Toby Zerner
57a91c966d
Fix view paths
2017-12-29 21:28:53 +10:30
Toby Zerner
0525f467c7
Fix class reference
2017-12-29 18:42:31 +10:30
Franz Liedke
b791790d2f
Fix comment
2017-12-28 22:47:13 +01:00
Toby Zerner
ac7d28ca58
Remove unused method
2017-12-27 16:17:35 +10:30
Toby Zerner
8a6344cfcf
Fix some class names, clean up imports
2017-12-27 16:17:25 +10:30
Toby Zerner
a0621e85bf
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
56231d61be
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
c8a1a5fcfa
Fix more incompatibilities with Laravel 5.5
2017-12-20 00:20:23 +01:00
Franz Liedke
8d5132fd5a
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
6efe2ee91a
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
bfd98e3371
DRY up loading of config
2017-12-19 23:16:06 +01:00
Toby Zerner
e9da1ba2f5
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
2b8c66354d
Apply fixes from StyleCI
...
[ci skip] [skip ci]
2017-12-19 08:24:06 +00:00
Toby Zerner
4cf481355f
Fix usage of UrlGenerator in notifications
2017-12-19 18:52:27 +10:30
Toby Zerner
2ec183778c
Pick up config when setting a new base path
2017-12-19 18:38:00 +10:30
Daniel Klabbers
1b94ef90ea
the admin service provider also has to use the new HandleError logic
2017-12-15 09:35:02 +01:00
Daniel Klabbers
183a22b5c5
- FilesystemInterface no longer needed in User related handlers
...
- FilesystemInterface conditional ioc binding moved to AvatarUploader
- User::getAvatarAtribute failed to use the UrlGenerator properly
2017-12-15 09:29:20 +01:00
Daniel Klabbers
654fca9c2c
fixed the BasicFoo vs FooBasic serializer definition issue, prevented for future using ::class
2017-12-15 08:29:07 +01:00
Daniel Klabbers
7be01119f5
and another..
2017-12-15 08:15:08 +01:00
Daniel Klabbers
28d4cff156
satisfying sci isnt enough for it, lets please it further
2017-12-15 08:14:15 +01:00
Daniel Klabbers
2aba61668c
- satisfying styleci
...
- cleared the merge conflict in the phpdoc
- changed some string class names to use ::class
2017-12-15 08:10:32 +01:00
Daniël Klabbers
f65e4dcba3
merges 5.5 and master into next-back
2017-12-14 01:00:16 +01:00
Franz Liedke
c6ce172caa
Apply suggestions from StyleCI
2017-12-13 23:08:35 +01:00
Clark Winkelmann
d2f187716e
Prevent saving invalid custom less ( #1273 )
...
* Prevent saving invalid custom less
* Fix formatting
* Fix formatting again
* Move custom less format check to its own listener
* Move listener to AdminServiceProvider
* Rename listener method
2017-12-13 22:39:09 +01:00
Daniël Klabbers
93aa3d77b5
re-using symfony translator
2017-12-13 21:45:55 +01:00
Toby Zerner
a0c95e6705
Filter out notifications with non-existent subjects
...
ref #1025 #1238 . This should prevent the frontend from crashing when
opening the notifications menu, but we still need to make sure
notifications are deleted properly when subjects are deleted.
2017-12-13 15:54:16 +10:30
Toby Zerner
77c25ab725
Add infinite scrolling in the notifications list
2017-12-13 15:28:54 +10:30
Toby Zerner
3dcfe32b27
Extract admin dashboard statistics from core into an extension
2017-12-10 21:03:48 +10:30
Toby Zerner
617a76dda8
Fix PHP 7.2 warning
2017-12-10 21:02:47 +10:30
Toby Zerner
b806dc3db2
Move view logic into middleware
2017-11-29 22:25:57 +10:30
Toby Zerner
92de751154
Fix last commit
2017-11-29 22:22:14 +10:30
Toby Zerner
5b46ec801d
Generate URL in the controller instead of the view
2017-11-29 22:20:06 +10:30
Toby Zerner
1ef9217f4d
Basic implementation of dashboard widgets, statistics
...
Currently not user-customizable. Just needed to display statistics for a
client, so figured I'd make a start at this. Nothing too fancy for now,
but I'm sure some people will be happy to have this information at their
fingertips.
2017-11-29 17:19:20 +10:30
Toby Zerner
79fee3686f
More precise permission check for email gambit
2017-11-29 17:02:49 +10:30
Toby Zerner
8edc8223e5
Fix admin error handling
2017-11-29 16:10:22 +10:30
Daniël Klabbers
6280fb2498
reverting translator contract
2017-11-29 06:26:48 +01:00
Toby Zerner
ba769e0c7e
Preserve return URL when confirming logout
2017-11-29 13:47:00 +10:30
Toby Zerner
ea2fc1ff8a
Add a "return home" link to 404 errors
2017-11-29 13:23:25 +10:30
Toby Zerner
b7c1cc5cef
New design for error pages. closes #252
2017-11-29 13:03:55 +10:30
Toby Zerner
e8a4e5e0ef
Add log out confirmation if CSRF token is invalid. fixes #1282
2017-11-29 13:03:16 +10:30
Toby Zerner
295193eb3c
Use HtmlResponse in AbstractHtmlController
2017-11-29 12:54:11 +10:30
Toby Zerner
a065c8e6f5
Make URLs more verbose
2017-11-29 12:53:39 +10:30
Toby Zerner
9392e1bec3
New design for reset password view
2017-11-29 12:53:06 +10:30
Toby Zerner
479e44dd04
Restructure views
...
- Use Laravel's view namespacing rather than the full file path
- Organise views into directories
2017-11-29 12:51:24 +10:30
Daniel Klabbers
c01268d9ae
must be an empty line
2017-11-27 14:19:18 +01:00
Daniel Klabbers
f4fc245df4
re-added a precious line
2017-11-27 14:18:28 +01:00
Daniel Klabbers
ac0b4cb2d2
patched up the Scope implementation as requested
2017-11-27 14:17:17 +01:00
Daniel Klabbers
55b945f129
Using Core Translator in Locale Manager, type hinted its methods and removed unnecessary phpdoc
2017-11-27 14:03:45 +01:00
Daniel Klabbers
4d9e2335c7
pleasing the angry god Circle
2017-11-27 11:05:15 +01:00
Daniel Klabbers
642332ffe2
replaced the Symfony\Component\Translation\TranslationInterface with the Illuminate\Contracts\Translation\Translator, deprecating the Symfony version
2017-11-27 10:42:16 +01:00
Daniel Klabbers
7b2663e0bc
fixed alias/reference loading for translation strings
2017-11-27 10:35:57 +01:00
Daniel Klabbers
e2d61d1aeb
applied laravel contract
2017-11-27 09:49:19 +01:00
Toby Zerner
0aa74c987c
Fix email gambit
2017-11-20 09:17:44 +10:30
Toby Zerner
a28dbccf1a
Performance: Assign parent discussions to posts so they don't have to be reloaded
2017-11-12 21:14:19 +10:30
Toby Zerner
3c80612d80
Performance: Load only basic information about post discussion/users
2017-11-11 23:15:36 +10:30
Toby Zerner
dedcbae359
Performance: Load only basic information about terminal/relevant posts
2017-11-11 22:57:41 +10:30
Toby Zerner
9cc67fe312
Performance: Cache translation catalogue to avoid reparsing YAML
2017-11-11 22:45:38 +10:30
Toby Zerner
5f7060fb4a
Performance: Assign parent discussion to posts so it doesn't have to be reloaded
2017-11-11 22:44:45 +10:30
Toby Zerner
15b573bd93
Update asset revision whenever custom LESS is changed
...
This should remove the need for a hard browser refresh whenever you
update the custom LESS.
2017-11-05 16:27:28 +10:30
Daniel Klabbers
0b1043c9d2
moved from boot to register
2017-11-02 10:52:52 +01:00
Daniel Klabbers
72c232d5a3
fixed the Bus command Handling forwarding the call to a matching Handler class
2017-11-02 10:48:33 +01:00
Franz Liedke
914b94b62d
Remove user bio feature ( #1214 )
...
The feature is very limited in scope, and we hope for community
extensions to take over this feature and make it much better.
2017-11-02 01:12:49 +01:00
Lukas
1b7cb3bec2
The CookieFactory now also works if no configuration exists ( #1258 )
...
* Returning the $default value if there's no config
This is especially important for the CookieFactory which accesses
the configuration before the application is installed
* Injecting the configuration values into the CookieFactory
2017-11-02 00:51:31 +01:00
Daniël Klabbers
55b763a570
fixed renamed interface for Scope
2017-11-01 22:12:56 +01:00
Daniel Klabbers
d7306dedb7
array_build => array_map
2017-11-01 17:20:12 +01:00
Daniel Klabbers
3eede757bb
fixed symfony translator now using catalogues
2017-11-01 17:07:22 +01:00
Daniel Klabbers
a8f8ca7f87
fixed an issue where the mail provider would not be able to instantiate
2017-11-01 17:01:50 +01:00
Toby Zerner
40ebc13292
Only apply custom CSS and header HTML on forum, not admin
2017-10-25 13:40:57 +10:30
Toby Zerner
5a43f915cb
Let avatarUrl attribute delete the avatar as well
2017-10-07 20:28:15 +10:30
Franz Liedke
cb92deee98
Fix namespace imports
2017-10-07 11:20:38 +02:00
Toby Zerner
bedf710768
Fix variable
2017-10-07 19:17:59 +10:30
Toby Zerner
3b1f8771c4
No need to set a remember cookie if only logging in for session
2017-10-07 17:51:30 +10:30
Toby Zerner
2dbcfe02d8
Consolidate avatar uploading, allow avatarUrl to be used when updating user
2017-10-07 17:39:27 +10:30
Daniel Klabbers
a7f3ca4b22
added new methods etc
2017-10-05 16:25:01 +02:00
Daniel Klabbers
3f9dc81874
satisfying styleci, undo mysql in travis
2017-10-05 14:02:54 +02:00
Daniel Klabbers
1c01145a14
fixed those exception handling tests
2017-10-05 13:57:31 +02:00
Daniel Klabbers
2037371886
lists > pluck
2017-10-05 13:39:41 +02:00
Toby Zerner
87bf84ef6e
Allow configuring cookie attributes
...
I decided to put this in config.php because if cookie settings were to
be stored in the database and configured via admin UI, entering
incorrect settings could cause the admin session to be destroyed,
requiring manual database intervention to fix. But it's a good prompt
for discussion as to which kind of settings belong in config.php vs the
database. Thoughts?
2017-10-05 13:00:15 +10:30
Toby Zerner
096e552c74
Add the ApiKey model as a request attribute
2017-10-05 12:26:05 +10:30
Toby Zerner
8ccfb1aac6
Use a constant instead of a property
2017-10-05 12:25:30 +10:30
Tobias Weichart
02377663ce
minor change for getting the path
...
* should be used via x_path() methods + parameter
2017-10-04 08:38:36 +02:00
Franz Liedke
4f688fc9a2
Change order of service provider registration
...
Here, the order is relevant, because at this
point, the application has already been booted.
Hence, all boot() methods are called immediately,
which might depend on other service providers'
register() methods having run.
In this case, the DiscussionServiceProvider
depends on the Gate class being registered in the
container by the UserServiceProvider.
2017-10-03 18:54:07 +02:00
Franz Liedke
fddd134fa0
Inject settings repository in event listener
...
`$this->app` was not defined here anyway.
Refs #1032 .
2017-10-03 18:54:07 +02:00
Franz Liedke
1215a1ef9b
Use ::class constant instead of hardcoded strings
2017-10-03 18:54:07 +02:00
Franz Liedke
4aad7c1040
Cleanup code, typehints and class references
2017-10-03 18:54:07 +02:00
Franz Liedke
e46b3d54d1
Extract Flarum\Foundation\Site class
...
This class holds all information relevant to a local Flarum site,
such as paths and local configuration. From this information, it
is able to instantiate a Flarum\Foundation\Application instance,
which represents a Flarum installation's runtime.
This will also be useful for setting up e.g. multi-tenant
environments.
2017-10-03 18:54:07 +02:00
Franz Liedke
051bb5acb8
Fix code style
2017-10-03 18:54:07 +02:00
Franz Liedke
69b517ea79
Get rid of Server classes for Admin, API and Forum
...
The various middleware can be registered in the service provider,
and the rest of the logic can all go through one single front
controller (index.php in flarum/flarum, and Flarum\Http\Server in
flarum/core).
This will also simplify the necessary server setup, as only one
rewrite rule remains.
2017-10-03 18:54:07 +02:00
Franz Liedke
b4c7f8ca89
Move event to Flarum\User namespace
2017-10-03 18:54:07 +02:00
Franz Liedke
3ece3ca976
Move events to Flarum\Api namespace
2017-10-03 18:54:07 +02:00
Franz Liedke
9c77475985
Fix order of namespace imports
2017-10-03 18:54:06 +02:00
Franz Liedke
b72407440d
Combine URL generator classes into one
2017-10-03 18:54:06 +02:00
Franz Liedke
f824dcfb53
Move more event classes to appropriate namespaces
2017-10-03 18:54:06 +02:00
Franz Liedke
78f3681fc1
Fix namespace orderings
...
(Thanks, StyleCI!)
2017-10-03 18:54:06 +02:00
Franz Liedke
5b0d0d9f0f
Move command classes to domain namespaces
...
They will probably be refactored away at a later stage (when we get
rid of the command bus). Until then, this lets us remove the
Flarum\Core namespace and actually feels quite clean.
2017-10-03 18:52:50 +02:00
Franz Liedke
95dc7e71f4
Fix namespaces
2017-10-03 18:52:50 +02:00
Franz Liedke
a39ed6edec
Rename listener class to DiscussionRenamedLogger
2017-10-03 18:52:50 +02:00
Franz Liedke
66f35d2530
Split up old CoreServiceProvider
2017-10-03 18:52:50 +02:00
Franz Liedke
e6e4531771
Fix class names in strings
2017-10-03 18:49:53 +02:00
Franz Liedke
e71deed8d5
Move ExtensionValidator class to Flarum\Extension namespace
2017-10-03 18:49:53 +02:00
Franz Liedke
8a16c1ecc8
Move UserState class to Flarum\Discussion namespace
2017-10-03 18:49:53 +02:00
Franz Liedke
b38ade986d
Extract Flarum\Notification namespace
2017-10-03 18:49:53 +02:00
Franz Liedke
4a13cd8088
Move another trait out of obsolete Flarum\Core namespace
2017-10-03 18:49:53 +02:00
Franz Liedke
920a4071b6
Fix some incorrect automated refactorings
2017-10-03 18:49:53 +02:00
Franz Liedke
c22219ec20
Extract Flarum\Group namespace
2017-10-03 18:49:53 +02:00
Franz Liedke
11bf3e34b7
Extract Flarum\Search namespace
2017-10-03 18:49:53 +02:00
Franz Liedke
4fb38d6458
Extract new Flarum\Discussion namespace
2017-10-03 18:49:52 +02:00
Franz Liedke
66abd7ecfd
Extract new Flarum\Post namespace
2017-10-03 18:47:23 +02:00
Franz Liedke
3481798875
Fix trait imports
2017-10-03 18:47:23 +02:00
Franz Liedke
9abc63aaac
Move events to Flarum\Extension\Event namespace
2017-10-03 18:47:23 +02:00
Franz Liedke
6cd6a7d260
Move events to Flarum\Formatter\Event namespace
2017-10-03 18:47:23 +02:00
Franz Liedke
6c9ff72efb
Finalize Flarum\Foundation namespace
2017-10-03 18:47:23 +02:00
Franz Liedke
33e3d757c3
Flatten Flarum\Http namespace
2017-10-03 18:47:23 +02:00
Franz Liedke
551e76f296
Move events to Flarum\Settings\Event namespace
2017-10-03 18:47:23 +02:00
Franz Liedke
564ea8ff73
Extract new Flarum\User namespace
2017-10-03 18:47:23 +02:00
Franz Liedke
fda8c597f4
Flarum\Frontend: Rename ConfigureWebApp event to Rendering
2017-10-03 18:45:41 +02:00
Franz Liedke
5d1564e0fc
Flarum\Frontend: Fix view paths after renaming namespace
2017-10-03 18:45:41 +02:00
Franz Liedke
1f1b63363e
Rename controller file
2017-10-03 18:45:41 +02:00
Franz Liedke
bdf455c0c6
Move ScopeVisibilityTrait to Database namespace
2017-10-03 18:45:41 +02:00
Franz Liedke
927e4ca3ed
Restructure Flarum\Forum namespace
2017-10-03 18:45:40 +02:00