Toby Zerner
701ad0a977
Add API to set asset compiler filename
2015-09-15 21:20:32 +09:30
Franz Liedke
cd5f5515e2
Try to make PHP extension requirement message clearer
2015-09-15 09:18:26 +02:00
Toby Zerner
d8c2cbc265
Mark all notifications with the same subject as read
2015-09-15 16:20:22 +09:30
Toby Zerner
f6ad891850
Rename ExternalAuthenticator to Authenticator
2015-09-15 16:03:10 +09:30
Toby Zerner
e524c59f97
Improve external authentication API
...
Some providers (e.g. Twitter) don't expose user email addresses, so it
turns out we can't use that as the sole form of identification/account
matching.
This commit introduces a new `auth_tokens` table which stores arbitrary
attributes during the sign up process. For example, when Twitter is
authenticated, a new auth token containing the user's Twitter ID will
be created. When sign up is completed with this token, that Twitter ID
will be set as an attribute on the user's account.
2015-09-15 15:56:48 +09:30
Toby Zerner
6beb4fe898
Add external authenticator (social login) API
...
Allows registrations to be completed with a pre-confirmed email address
and no password.
2015-09-15 11:27:31 +09:30
Toby Zerner
cbcad27679
Improve installer validation
...
Very rough, but works for now. The basic premise being that we need to
collect all user data before we proceed with installation.
2015-09-14 18:13:24 +09:30
Toby Zerner
60323e0cf9
Bump version number
2015-09-14 16:32:31 +09:30
Toby Zerner
8cccaaaf6b
Improve API error handling
...
- Change 'path' key to 'source.pointer', as per spec
- Add 500 error detail if debug mode is on
2015-09-14 15:40:07 +09:30
Toby Zerner
190aa925ac
Set cookies to be HTTP only
2015-09-14 14:40:05 +09:30
Toby Zerner
60b19efe0a
Password is not necessarily required
...
e.g. on my LAMP setup, I sometimes use a MySQL account without a
password
2015-09-14 14:39:18 +09:30
Franz Liedke
e7d7df3b0c
Cleanup
2015-09-11 09:16:53 +02:00
Franz Liedke
3b5a01e603
Implement more validation in installer
2015-09-11 09:16:43 +02:00
Franz Liedke
902d01712b
Remove pointless JSON-API action base class
...
Cleanup related to #118 .
2015-09-09 09:04:49 +02:00
Franz Liedke
502a3787d5
Move remaining extension handling to middleware
2015-09-09 08:56:11 +02:00
Franz Liedke
b8ac49ffcc
Move exception handling for Flarum exception classes to middleware
...
Related to #118 .
2015-09-08 22:36:32 +02:00
Franz Liedke
4b4cea4d87
Implement interface to serialize exceptions to JSON-API format
...
Related to #118
2015-09-08 22:35:39 +02:00
Toby Zerner
8c4e095f23
Allow first post to be hidden/restored
...
Anti-spam extensions may automatically hide the first post in a
discussion, and thus we had to implement smarter permissions so
discussions with zero posts wouldn't be visible to users other than the
author/mods. This change allows those hidden posts to be restored again.
2015-09-07 16:03:45 +09:30
Toby Zerner
84012ca2fd
Preliminary implementation of master API keys
...
Part of #205
2015-09-07 08:37:33 +09:30
Toby Zerner
6ee9412f35
Prevent invalid LESS from crashing application
...
Failure is silent for now... The default LESS will compile without the
invalid customisations. Not sure if we should log an error somewhere
and display it on the admin page?
closes #400
2015-09-04 22:33:26 +09:30
Toby Zerner
478ca90c31
Fallback to English if system-wide default_locale doesn't exist
2015-09-04 22:19:28 +09:30
Toby Zerner
1f8f79d272
Don't require database password confirmation
2015-09-04 21:45:52 +09:30
Franz Liedke
db8b9ed0c0
Installer: Fix password confirmation
2015-09-04 12:11:13 +02:00
Franz Liedke
a3d59977b3
Clean up code
2015-09-04 12:05:12 +02:00
Franz Liedke
211d2d25cd
Merge pull request #413 from WinterSilence/patch-2
...
Update RouteCollection::getPath
2015-09-04 12:03:51 +02:00
Franz Liedke
42f1abacaf
Ask for password confirmation in web installer, too
...
Closes #405 .
2015-09-04 12:00:03 +02:00
Franz Liedke
b26c67dd3c
Require password confirmation in console installer
...
Refs #405 .
2015-09-04 11:57:11 +02:00
Toby Zerner
fc7fc41383
Prevent error when hiding/restoring a post with a deleted user
2015-09-04 13:51:13 +09:30
Toby Zerner
ece23de750
API: Add User::hasPermissionLike() and User::getPermissions()
2015-09-04 12:23:50 +09:30
Toby Zerner
4705600d47
Fix typehint
2015-09-04 12:23:27 +09:30
Toby Zerner
8423de754c
Fix bad query in isVisibleTo
2015-09-04 12:23:17 +09:30
Toby Zerner
b597e6f8f6
Don't load a custom relation if the relation is already loaded
2015-09-04 12:22:49 +09:30
Toby Zerner
276334ec52
Improve some post/discussion permission logic
...
- Allow users to see their own posts, even if they have been hidden by
someone else
- Don't require hiding a post to be necessarily attributed to a user
- Hide discussions with zero posts, unless the user can edit posts, or
they are the discussion author
2015-09-04 12:22:27 +09:30
Toby Zerner
f0186d7674
API: Add typehints
2015-09-04 12:18:09 +09:30
Daniel Klabbers
0413daab74
call to $this-> assertValidPassword from static context
2015-09-04 00:00:24 +02:00
Franz Liedke
21dd516eaa
Fix code style issues
2015-09-03 08:48:26 +02:00
Franz Liedke
3c9d851889
Check prerequisites in console installer, too
2015-09-03 08:42:16 +02:00
Franz Liedke
942db77416
Extract installation prerequisites into composable classes and use those in the web-based installer
2015-09-03 08:23:34 +02:00
Anton
04db806995
Update RouteCollection.php
2015-09-02 19:22:40 +03:00
Anton
f3bc7d1c23
Update RouteCollection::getPath
...
This version work faster - old code create closure at every calling getPath
2015-09-02 10:58:44 +03:00
Johann Rodríguez
e35bb9e400
Fix enable extension in EntensionManager
2015-09-01 12:09:11 +01:00
Franz Liedke
753a846e7a
Check MySQL version when installing on console
...
Related to #364 .
2015-09-01 08:02:07 +02:00
Franz Liedke
d3e57d77b4
Fix typehint
2015-09-01 07:49:06 +02:00
Toby Zerner
6e0bffe395
API: Add more locale registration APIs
2015-09-01 10:08:37 +09:30
Toby Zerner
eec4e97d65
Tidy up default extension metadata
2015-09-01 10:08:37 +09:30
Toby Zerner
6aafe54ee7
Fix potential error when discussion doesn't exist
...
Not sure how this could be the case, but can't hurt to add the checks.
addresses #343
2015-09-01 10:08:36 +09:30
Franz Liedke
4c34d0867d
Add field for table prefix in web installer
...
Related to #269 .
2015-08-31 09:10:27 +02:00
Toby Zerner
f2a3a0cb10
Require the PHP fileinfo extension
...
It's required for the intervention/image package
2015-08-31 15:29:20 +09:30
Toby Zerner
5b7527144c
Permit trailing slashes in discussion/user URLs
...
closes #334
2015-08-31 14:43:42 +09:30
Toby Zerner
6c169499b5
Only migrate enabled extensions when upgrading
...
Also remove the Extension::install() and Extension::uninstall()
methods, because they add nothing that can't be done with migrations.
2015-08-31 14:35:52 +09:30
Toby Zerner
5e22458014
Installer: Prevent crash when views directory is not writable
...
Use plain PHP templates instead of Blade templates so there is nothing
that needs to be written.
closes #376
2015-08-31 14:25:16 +09:30
Toby Zerner
c72bdc8238
Fix Laravel 5.1 compat
...
closes #307
2015-08-31 14:07:11 +09:30
Toby Zerner
bcc16a3329
Add target="_blank" and rel="nofollow" to all formatted links
...
closes #247
2015-08-31 13:36:54 +09:30
Toby Zerner
f5517fbd88
Validate password length
...
We can't do this using the ValidatesBeforeSave trait because the
password has been hashed by then. Instead, we must validate the
original password as it comes in.
2015-08-31 12:38:15 +09:30
Toby Zerner
6a0e3fcf2d
Validate post length to prevent truncation
...
closes #235
2015-08-31 12:36:19 +09:30
Toby Zerner
9f28b4e8dc
Require extensions directory to be writable
2015-08-31 11:22:57 +09:30
Franz Liedke
1d1cc9e443
Fix asset URL generation
...
This is important when Flarum is deployed in a subfolder.
Closes #291 .
2015-08-29 22:38:31 +02:00
Franz Liedke
f5d2d2ff79
Installer: Check for openssl extension
...
Closes #296 .
2015-08-29 22:07:50 +02:00
Lorenz Bausch
a4fe6f3ce3
limit max title length to 80 characters
2015-08-29 11:26:18 +02:00
Lorenz Bausch
ae06b45bc1
remove executable flag from file
2015-08-29 11:23:05 +02:00
Toby Zerner
12d5e48b95
Add helpful hint on how to upgrade PHP
2015-08-29 14:44:55 +09:30
Toby Zerner
bb3c57f9a4
Fix default database name
2015-08-28 14:53:01 +09:30
Toby Zerner
d5074c5286
Use gd as the image driver
...
Presumably gd is more common than imagick, and we already check for it
during installation.
2015-08-28 05:41:25 +09:30
Toby Zerner
41019597d0
Require the PHP DOM extension
2015-08-28 05:30:27 +09:30
Toby Zerner
b689c9de3b
Allow non-admins to reset their password
...
The EditUser command requires the actor to have the "edit" permission,
which is only granted to admins. We don't want to allow users to change
their own password via the API, though. So instead of dispatching the
command, we'll just update the user's password directly in the action.
2015-08-28 03:38:55 +09:30
Toby Zerner
baed659668
Fix reset password error
2015-08-28 02:16:28 +09:30
Toby Zerner
268b041da2
Fix incorrect chmod instruction
2015-08-27 21:51:36 +09:30
Toby Zerner
7d9527e5a0
Check to make sure directories are writable
2015-08-27 21:45:02 +09:30
Toby Zerner
a289884f7c
Fix typo causing bundled extensions to not be enabled
2015-08-27 21:28:15 +09:30
Toby Zerner
822b31468a
Check some more extension requirements
2015-08-27 20:37:20 +09:30
Toby Zerner
d050a7775f
Don't enable the Pusher extension by default
2015-08-27 20:11:14 +09:30
Toby Zerner
5c5be89928
Check some requirements before installation
2015-08-27 20:11:06 +09:30
Toby Zerner
2820ae8ac7
User lighter default theme color
2015-08-27 10:51:14 +09:30
Toby Zerner
498aac5b76
Import admin "log out" translation
2015-08-27 10:50:57 +09:30
Toby Zerner
b0db7bf751
Polish admin dashboard
2015-08-27 10:50:15 +09:30
Franz Liedke
559110a83f
Coding standards
2015-08-27 01:40:18 +02:00
Franz Liedke
c0030dc98a
Revert PATH_INFO magic
2015-08-27 01:31:28 +02:00
Franz Liedke
3b2a0697e2
Fix config retrieval
2015-08-27 00:58:56 +02:00
Franz Liedke
9ec54ad892
Change base URL etc. in config.php file
2015-08-27 00:47:54 +02:00
Franz Liedke
49f20995b2
By default, don't rewrite API base URL
2015-08-26 23:43:33 +02:00
Franz Liedke
1e1f9e51ee
Use path info for routing
2015-08-26 23:39:39 +02:00
Franz Liedke
d12106809f
Extract method
2015-08-26 10:33:41 +02:00
Toby Zerner
b194f07a72
Redirect using configured base URL
2015-08-26 17:48:25 +09:30
Toby Zerner
3e804ca0b5
Delete config.php if installation fails
2015-08-26 17:46:49 +09:30
Toby Zerner
0b8aa5c124
Add header comment; PSR-2 fixes; remove seeders
2015-08-26 16:56:32 +09:30
Franz Liedke
dae8e617ae
Cleanup small things in installer
2015-08-26 09:02:28 +02:00
Toby Zerner
8ec342f6cb
Autoload the cached PHP renderer
2015-08-26 09:46:20 +09:30
Toby Zerner
b67ae4c8a3
Use PHP formatter rendering engine
...
Removes dependency on XSLT extension
2015-08-26 09:34:49 +09:30
Toby Zerner
b8fc0bc376
Make discussion slug URL parameter optional
2015-08-25 19:32:41 +09:30
Toby Zerner
3392d9fdcf
Migrate extensions in upgrade script
2015-08-18 13:56:49 +09:30
Toby Zerner
71c7740086
Get generate:extension command working again
2015-08-18 13:56:25 +09:30
Toby Zerner
edccd10693
Only delete avatar if it exists
2015-08-17 16:06:51 +09:30
Toby Zerner
a32250884c
Ensure posts are sorted correctly
2015-08-17 15:52:39 +09:30
Toby Zerner
2b812ab211
Use a relative path to locate migrations
2015-08-17 14:57:33 +09:30
Toby Zerner
ce91058ab1
Derive base URL from the original URI
2015-08-17 14:57:12 +09:30
Toby Zerner
fec6e39fe1
Fix PHP 5.5 compat
2015-08-17 14:56:39 +09:30
Toby Zerner
1052aa55ea
Implement web installer
2015-08-17 14:12:02 +09:30
Toby Zerner
17dbeefabe
Clean up
2015-08-17 14:11:45 +09:30
Toby Zerner
212880640d
Support table custom table prefix
...
Laravel automatically adds a table prefix to any table names, so we
need to wrap our aliased table in DB::raw.
2015-08-14 12:51:30 +09:30
Toby Zerner
34d4a7ed89
Fix Laravel 5.1 compat
2015-08-14 12:50:32 +09:30