File: /var/www/vhosts/creativefellows.nl/jhtaxatie.creativefellows.nl/src/dependencies.php
<?php
// DIC configuration
$container = $app->getContainer();
// Database
$container['db'] = function ($c){
$db = $c['settings']['db'];
$pdo = new PDO("mysql:host=" . $db['host'] . ";dbname=" . $db['dbname'], $db['user'], $db['pass']);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
return $pdo;
};
// view renderer
$container['renderer'] = function ($c){
$settings = $c->get('settings')['renderer'];
return new Slim\Views\PhpRenderer($settings['template_path']);
};
// Login controller
$container['LoginController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
$settings = $c->get('settings');
$logger = $c->get('logger');
$user_id = $_SESSION["user_id"];
return new LoginController($settings,$db,$approuter,$view,$logger);
};
// taxation controller
$container['TaxationController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
$settings = $c->get('settings');
$role = $_SESSION['role'];
$user_id = $_SESSION["user_id"];
return new TaxationController($db, $approuter, $user_id, $view, $role, $settings);
};
// taxation controller
$container['InspectionController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
$settings = $c->get('settings');
$role = $_SESSION['role'];
$user_id = $_SESSION["user_id"];
return new InspectionController($db, $approuter, $user_id, $view, $role, $settings);
};
// taxation controller
$container['LabelController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
$settings = $c->get('settings');
$role = $_SESSION['role'];
$user_id = $_SESSION["user_id"];
return new LabelController($db, $approuter, $user_id, $view, $role, $settings);
};
// taxation controller
$container['EnquiryController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
$settings = $c->get('settings');
$role = $_SESSION['role'];
$user_id = $_SESSION["user_id"];
return new EnquiryController($db, $approuter, $user_id, $view, $role, $settings);
};
// taxation controller
$container['RequestController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
$settings = $c->get('settings');
$role = $_SESSION['role'];
$user_id = $_SESSION["user_id"];
return new RequestController($db, $approuter, $user_id, $view, $role, $settings);
};
// taxation controller
$container['AntonController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
$settings = $c->get('settings');
$role = $_SESSION['role'];
$user_id = $_SESSION["user_id"];
return new AntonController($db, $approuter, $user_id, $view, $role, $settings);
};
// taxation controller
$container['StockController'] = function($c){
$db = $c->get('db');
$approuter = $c->get('router');
$settings = $c->get('settings');
return new StockController($db, $approuter, $settings);
};
// taxation controller
$container['SearchController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
$settings = $c->get('settings');
$role = $_SESSION['role'];
$user_id = $_SESSION["user_id"];
return new SearchController($db, $approuter, $user_id, $view, $role, $settings);
};
// taxation controller
$container['PasswordController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
return new PasswordController($db, $approuter, $view);
};
// admin controller
$container['AdminController'] = function($c){
$db = $c->get('db');
$view = $c->get('renderer');
$approuter = $c->get('router');
$settings = $c->get('settings');
return new AdminController($db, $approuter, $_SESSION["user_id"], $view, $settings);
};
// 404 page
$container['notFoundHandler'] = function ($c){
return function ($request, $response) use ($c) {
return $c['renderer']->render($response, '404.php')->withStatus(404);
};
};
// monolog
$container['logger'] = function ($c) {
$settings = $c->get('settings')['logger'];
$logger = new Monolog\Logger($settings['name']);
$logger->pushProcessor(new Monolog\Processor\UidProcessor());
$logger->pushHandler(new Monolog\Handler\StreamHandler($settings['path'], $settings['level']));
return $logger;
};
?>