bootstrap.php 1.56 KB
Newer Older
Vassilis Kanellopoulos's avatar
Vassilis Kanellopoulos committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
/**
 * gredu_labs.
 * 
 * @link https://github.com/eellak/gredu_labs for the canonical source repository
 *
 * @copyright Copyright (c) 2008-2015 Greek Free/Open Source Software Society (https://gfoss.ellak.gr/)
 * @license GNU GPLv3 http://www.gnu.org/licenses/gpl-3.0-standalone.html
 */

return function (Slim\App $app) {

    $container = $app->getContainer();

    $container['autoloader']->addPsr4('SchSync\\', __DIR__ . '/src');

Vassilis Kanellopoulos's avatar
Vassilis Kanellopoulos committed
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    $container[SchSync\Middleware\CreateUser::class] = function ($c) {
        return new SchSync\Middleware\CreateUser(
            $c['authentication_service'],
            $c['router']->pathFor('user.login'),
            $c['router']->pathFor('user.logout.sso'),
            $c['flash'],
            $c['logger']
        );
    };
    $container[SchSync\Middleware\CreateSchool::class] = function ($c) {
        return new SchSync\Middleware\CreateSchool(
            $c['ldap'],
            $c[SchMM\FetchUnit::class],
            $c['authentication_service'],
            $c['router']->pathFor('user.login'),
            $c['router']->pathFor('user.logout.sso'),
            $c['flash'],
            $c['logger']
        );
    };
Vassilis Kanellopoulos's avatar
Vassilis Kanellopoulos committed
37
38
39

    $events = $container['events'];

Vassilis Kanellopoulos's avatar
Vassilis Kanellopoulos committed
40
41
42
43
44
45
46
47
48
    $events('on', 'bootstrap', function () use ($container) {
        foreach ($container['router']->getRoutes() as $route) {
            if ('user.login.sso' === $route->getName()) {
                $route->add(SchSync\Middleware\CreateUser::class)
                    ->add(SchSync\Middleware\CreateSchool::class);
                break;
            }
        }
    }, -10);
Vassilis Kanellopoulos's avatar
Vassilis Kanellopoulos committed
49
};