1
0
mirror of https://github.com/flarum/core.git synced 2025-10-11 23:14:29 +02:00
Commit Graph

38 Commits

Author SHA1 Message Date
Buhnici Alexandru
777579e146 Public and base directory can be separated (#938)
* Public and base directory can be separated

* Standards compliance for folders separation implementation
2016-04-23 11:55:53 +09:30
Franz Liedke
cd4d669127 Make console command descriptions consistent 2016-03-20 23:16:08 +09:00
Toby Zerner
a6cf10f854 Applied fixes from StyleCI 2016-02-25 22:09:39 -05:00
Daniel Klabbers
191589e2b1 Implemented extensions as an object, usable by backend and frontend. 2016-02-10 15:13:51 +01:00
Franz Liedke
08312568ba Installer: Fix models not being ready for use when running migrations
This was a regression after the recent introduction of a new migration that actually uses models.
Maybe we should change this.

See https://discuss.flarum.org/d/2023-can-t-manage-to-install-the-development-version-503-service-unavailable/8
2016-02-10 14:07:29 +01:00
Franz Liedke
c8f2d94558 Fix obsolete import 2016-01-20 21:38:14 +01:00
Franz Liedke
c842fa0184 Hardcode primary keys during installation
This avoids misleading assumptions about automatically generated primary keys
in some cases.

Fixes #566.
2016-01-20 21:36:50 +01:00
Franz Liedke
417b7f7972 Clarify console option 2016-01-07 16:32:01 +01:00
opi
e3c7f5379b Add configuration file installation method. 2016-01-07 15:20:41 +01:00
Franz Liedke
595d715b1d Installer: Loosen restrictions on MySQL connection details
Closes #602.
2015-12-27 17:31:42 +01:00
Toby Zerner
a3a5d0a351 Disable extensions that require credentials by default 2015-10-29 17:52:52 +10:30
Toby Zerner
22ffb76cb5 Fix installation 2015-10-20 22:07:35 +10:30
Toby Zerner
4b3e1b16d9 Remove forum. prefix from permissions
closes #425
2015-10-14 16:11:00 +10:30
Toby Zerner
2ae7392dea Publish core/extension assets
Core assets are copied into the root/assets directory on installation.

The contents of an "assets" directory within any extension is copied into root/assets/extensions/{name}/ whenever the extension is enabled, and deleted whenever the extension is uninstalled.

Still needs to be refactored
2015-10-13 16:52:45 +10:30
Toby Zerner
6df48b04c2 Fix installation regressions 2015-10-13 15:55:18 +10:30
Toby Zerner
0b888ea342 Fix installation 2015-10-11 10:05:40 +10:30
Toby Zerner
dd67291ce0 Major refactor and improvements
- Reorganised all namespaces and class names for consistency and structure. Following PSR bylaws (Abstract prefix, Interface/Trait suffix).
  - Move models into root of Core, because writing `use Flarum\Core\Discussion` is nice. Namespace the rest by type. (Namespacing by entity was too arbitrary.)
  - Moved some non-domain stuff out of Core: Database, Formatter, Settings.
  - Renamed config table and all references to "settings" for consistency.
  - Remove Core class and add url()/isInstalled()/inDebugMode() as instance methods of Foundation\Application.
  - Cleanup, docblocking, etc.

- Improvements to HTTP architecture
  - API and forum/admin Actions are now actually all the same thing (simple PSR-7 Request handlers), renamed to Controllers.
  - Upgrade to tobscure/json-api 0.2 branch.
  - Where possible, moved generic functionality to tobscure/json-api (e.g. pagination links). I'm quite happy with the backend balance now re: #262

- Improvements to other architecture
  - Use Illuminate's Auth\Access\Gate interface/implementation instead of our old Locked trait. We still use events to actually determine the permissions though. Our Policy classes are actually glorified event subscribers.
  - Extract model validation into Core\Validator classes.
  - Make post visibility permission stuff much more efficient and DRY.

- Renamed Flarum\Event classes for consistency. ref #246
  - `Configure` prefix for events dedicated to configuring an object.
  - `Get` prefix for events whose listeners should return something.
  - `Prepare` prefix when a variable is passed by reference so it can be modified.
  - `Scope` prefix when a query builder is passed.

- Miscellaneous improvements/bug-fixes. I'm easily distracted!
  - Increase default height of post composer.
  - Improve post stream redraw flickering in Safari by keying loading post placeholders with their IDs. ref #451
  - Use a PHP JavaScript minification library for minifying TextFormatter's JavaScript, instead of ClosureCompilerService (can't rely on external service!)
  - Use UrlGenerator properly in various places. closes #123
  - Make Api\Client return Response object. closes #128
  - Allow extensions to specify custom icon images.
  - Allow external API/admin URLs to be optionally specified in config.php. If the value or "url" is an array, we look for the corresponding path inside. Otherwise, we append the path to the base URL, using the corresponding value in "paths" if present. closes #244
2015-10-08 14:28:02 +10:30
Toby Zerner
8c7cdb184f Fix installation 2015-10-03 17:38:23 +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
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
3b5a01e603 Implement more validation in installer 2015-09-11 09:16:43 +02:00
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
b26c67dd3c Require password confirmation in console installer
Refs #405.
2015-09-04 11:57:11 +02:00
Franz Liedke
3c9d851889 Check prerequisites in console installer, too 2015-09-03 08:42:16 +02: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
a289884f7c Fix typo causing bundled extensions to not be enabled 2015-08-27 21:28:15 +09:30
Toby Zerner
d050a7775f Don't enable the Pusher extension by default 2015-08-27 20:11:14 +09:30
Franz Liedke
9ec54ad892 Change base URL etc. in config.php file 2015-08-27 00:47:54 +02:00
Franz Liedke
d12106809f Extract method 2015-08-26 10:33:41 +02:00
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
2b812ab211 Use a relative path to locate migrations 2015-08-17 14:57:33 +09:30
Toby Zerner
1052aa55ea Implement web installer 2015-08-17 14:12:02 +09:30
Toby Zerner
2edcbacccc Improve install command, add custom migrations system
Implemented our own migration repository + migrator (based on Laravel's
stuff) so that we can keep track of which migrations have been run for
core and per-extension. That way we can simple call the migrator to
upgrade core/extensions, and to uninstall extensions.
2015-08-14 12:47:59 +09:30
Franz Liedke
25c5fb075f Redo installer 2015-08-12 01:42:39 +02:00