public function handle(Route $route)
 {
     $factory = $this->factory($route->controller());
     $controller = $factory->invoke();
     $controller->context = $this->httpContext;
     $view = $this->view($controller, $this->action($route->action()), $route->parameters());
     $view->context = $this->httpContext;
     $this->header($view);
     $this->render($view);
 }
Example #2
0
<?php

/*
    Filters
*/
Route::action('check', function () {
    /* Check if you have installed credit to Striker */
    if (file_exists(APP . 'install.lock')) {
        return Layout::create('installed', array('installed' => true));
    }
});
/*
    Start (Language Select)
*/
Route::get(array('/', 'start'), array('before' => 'check', 'main' => function () {
    $vars['languages'] = languages();
    $vars['prefered_languages'] = prefered_languages();
    $vars['timezones'] = timezones();
    $vars['current_timezone'] = current_timezone();
    return Layout::create('start', $vars);
}));
Route::post('start', array('before' => 'check', 'main' => function () {
    $i18n = Input::get(array('language', 'timezone'));
    $validator = new Validator($i18n);
    $validator->check('language')->is_max(2, 'Please select a language');
    $validator->check('timezone')->is_max(2, 'Please select a timezone');
    if ($errors = $validator->errors()) {
        Input::flash();
        Notify::error($errors);
        return Response::redirect('start');
    }
Example #3
0
 * Admin actions
 */
Route::action('auth', function () {
    if (Auth::guest()) {
        return Response::redirect('admin/login');
    }
});
Route::action('guest', function () {
    if (Auth::user()) {
        return Response::redirect('admin/accueil');
    }
});
Route::action('csrf', function () {
    if (Request::method() == 'POST') {
        if (!Csrf::check(Input::get('token'))) {
            Notify::error(array('Invalid token'));
            return Response::redirect('admin/login');
        }
    }
});
/**
 * Admin routing
 */
Route::get('admin', function () {
    if (Auth::guest()) {
        return Response::redirect('admin/login');
    }
    return Response::redirect('admin/accueil');
});
/*
	Log in
*/
Example #4
0
<?php

/*
	Filters
*/
Route::action('check', function () {
});
/*
	Start (Language Select)
*/
Route::get(array('/', 'start'), array('before' => 'check', 'main' => function () {
    $vars['messages'] = Notify::read();
    $vars['languages'] = languages();
    $vars['prefered_languages'] = prefered_languages();
    $vars['timezones'] = timezones();
    $vars['current_timezone'] = current_timezone();
    return Layout::create('start', $vars);
}));
Route::post('start', array('before' => 'check', 'main' => function () {
    $i18n = Input::get(array('language', 'timezone'));
    $validator = new Validator($i18n);
    $validator->check('language')->is_max(2, 'Please select a language');
    $validator->check('timezone')->is_max(2, 'Please select a timezone');
    if ($errors = $validator->errors()) {
        Input::flash();
        Notify::error($errors);
        return Response::redirect('start');
    }
    Session::put('install.i18n', $i18n);
    return Response::redirect('database');
}));
Example #5
0
Route::action('guest', function () {
    if (Auth::user()) {
        return Response::redirect('admin/posts');
    }
});
Route::action('csrf', function () {
    if (Request::method() == 'POST') {
        if (!Csrf::check(Input::get('token'))) {
            Notify::error(array('Invalid token'));
            return Response::redirect('admin/login');
        }
    }
});
Route::action('install_exists', function () {
    if (file_exists('install') && !Session::get('messages.error')) {
        Notify::error(array('Please remove the install directory before publishing your site'));
    }
});
/**
 * Admin routing
 */
Route::get('admin', function () {
    if (Auth::guest()) {
        return Response::redirect('admin/login');
    }
    return Response::redirect('admin/posts');
});
/*
	Log in
*/
Route::get('admin/login', array('before' => 'install_exists', 'main' => function () {