* Date: 29/09/15 * Time: 20:05 */ session_start(); require 'vendor/autoload.php'; require 'services/Service.php'; require 'utils/Database.php'; require 'utils/Helper.php'; require 'utils/Filter.php'; require 'utils/TournamentStatus.php'; $app = new \Slim\Slim(array('view' => new \Slim\Views\Twig())); $view = $app->view(); $view->parserOptions = array('debug' => true, 'cache' => dirname(__FILE__) . '/cache'); $app->get('/', function () use($app) { if (isset($_SESSION['id'])) { $app->redirectTo('my-tournaments'); } else { $app->render('login.html.twig'); } })->name('login'); $app->post('/login', function () use($app) { $name = $app->request->post('name'); if ($name) { // Check if the username isn't already register $user = Service::getUserByName($name); if (!$user) { $user_id = Service::createUser($name); $_SESSION['id'] = $user_id; } else { $_SESSION['id'] = $user[0]['id']; }
// (Singleton resources retrieve the same log resource definition each time) $app->container->singleton('log', function () { $log = new \Monolog\Logger('slim-skeleton'); $log->pushHandler(new \Monolog\Handler\StreamHandler('../logs/app.log', \Monolog\Logger::DEBUG)); return $log; }); // Prepare view $app->view(new \Slim\Views\Twig()); $app->view->parserOptions = array('charset' => 'utf-8', 'cache' => realpath('../templates/cache'), 'auto_reload' => true, 'strict_variables' => false, 'autoescape' => true); $app->view->parserExtensions = array(new \Slim\Views\TwigExtension()); if (!DB::check()) { $app->get('/hello', function () use($app) { $app->render('hello.html'); })->name('hello'); $app->get(':anyroute+', function () use($app) { $app->redirectTo('hello'); }); $app->post('/up', function () use($app) { DB::tearDown(); DB::initialize(); DB::loadData(); $app->auth->doLogout(); $app->redirectTo('home'); })->name('setup'); } if (!$app->auth->user()) { $app->post('/login', function () use($app) { $app->auth->become('admin'); $app->redirectTo('home'); })->name('auth@becomeAdmin'); $app->get('/ready', function () use($app) {