mirror of
https://github.com/flarum/core.git
synced 2025-10-25 05:36:07 +02:00
Upgrade to L5 + huge refactor + more. closes #2
New stuff: - Signup + email confirmation. - Updated authentication strategy with remember cookies. closes #5 - New search system with some example gambits! This is cool - check out the source. Fulltext drivers will be implemented as decorators overriding the EloquentPostRepository’s findByContent method. - Lay down the foundation for bootstrapping the Ember app. - Update Web layer’s asset manager to properly publish CSS/JS files. - Console commands to run installation migrations and seeds. Refactoring: - New structure: move models, repositories, commands, and events into their own namespaces, rather than grouping by entity. - All events are classes. - Use L5 middleware and command bus implementations. - Clearer use of repositories and the Active Record pattern. Repositories are used only for retrieval of ActiveRecord objects, and then save/delete operations are called directly on those ActiveRecords. This way, we don’t over-abstract at the cost of Eloquent magic, but testing is still easy. - Refactor of Web layer so that it uses the Actions routing architecture. - “Actor” concept instead of depending on Laravel’s Auth. - General cleanup!
This commit is contained in:
50
src/Web/Actions/IndexAction.php
Normal file
50
src/Web/Actions/IndexAction.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php namespace Flarum\Web\Actions;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Session;
|
||||
use Auth;
|
||||
use Cookie;
|
||||
use Config;
|
||||
use View;
|
||||
|
||||
class IndexAction extends Action
|
||||
{
|
||||
public function handle(Request $request, $params = [])
|
||||
{
|
||||
$config = [
|
||||
'modulePrefix' => 'flarum',
|
||||
'environment' => 'production',
|
||||
'baseURL' => '/',
|
||||
'apiURL' => '/api',
|
||||
'locationType' => 'hash',
|
||||
'EmberENV' => [],
|
||||
'APP' => []
|
||||
];
|
||||
$data = [];
|
||||
$session = [];
|
||||
$alert = Session::get('alert');
|
||||
|
||||
if (($user = $this->actor->getUser()) && $user->exists) {
|
||||
$session = [
|
||||
'userId' => $user->id,
|
||||
'token' => Cookie::get('flarum_remember')
|
||||
];
|
||||
|
||||
$response = $this->callAction('Flarum\Api\Actions\Users\ShowAction', ['id' => $user->id]);
|
||||
|
||||
$data['users'] = [$response->getData()->users];
|
||||
$data['groups'] = $response->getData()->linked->groups;
|
||||
}
|
||||
|
||||
|
||||
return View::make('flarum.web::ember')
|
||||
->with('title', Config::get('flarum::forum_title', 'Flarum Demo Forum'))
|
||||
->with('styles', app('flarum.web.assetManager')->styles())
|
||||
->with('scripts', app('flarum.web.assetManager')->scripts())
|
||||
->with('config', $config)
|
||||
->with('content', '')
|
||||
->with('data', $data)
|
||||
->with('session', $session)
|
||||
->with('alert', $alert);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user