<?php /* * @CORE_PATH - путь до slim фреймворка * @FRONTEND_PATH - путь до шаблона панели управления * @BACKEND_PATH - путь до шаблона сайта публичной части * @$pdo - готовое соединение с базой данных */ session_start(); const CORE_PATH = 'mycore/'; const FRONTEND_PATH = 'frontend/view/'; const BACKEND_PATH = 'backend/view/'; // загружка Slim require CORE_PATH . 'autoload.php'; // обработка статуса и шаблонизатора require CORE_PATH . 'selfy/slim.404.php'; require CORE_PATH . 'selfy/twig_init.php'; // инициализация ядра $page = new \Slim\App($c); // инициализация public шаблона twig_path_init($page, FRONTEND_PATH); // подключение класса PDO Slim и создание объекта $pdo require CORE_PATH . 'selfy/pdo.php'; // обработка административной части require 'backend/routers/get.php'; require 'backend/routers/post.php'; // обработка публичной части require 'frontend/routers/get.php'; require 'frontend/routers/post.php'; $page->run();
$page->get('/install', function ($request, $response, $args) use($page, $adminreplace) { if (file_exists('myconfig/db.php')) { return $response->withRedirect('/'); } twig_path_init($page, BACKEND_PATH); return $this->view->render($response, 'install.html', $adminreplace['/install']); }); // панель управления $page->get('/admin', function ($request, $response, $args) use($page, $adminreplace) { if (file_exists('myconfig/db.php') && isset($_SESSION['auth']) && $_SESSION['auth'] === true) { twig_path_init($page, BACKEND_PATH); return $this->view->render($response, 'index.html', $adminreplace['/admin']); } else { if (!file_exists('myconfig/db.php')) { return $response->withRedirect('/install'); } } return $response->withRedirect('/login'); }); // вход в админку $page->get('/login', function ($request, $response, $args) use($page, $adminreplace) { if (file_exists('myconfig/db.php') && isset($_SESSION['auth']) && $_SESSION['auth'] === true) { return $response->withRedirect('/admin'); } else { if (!file_exists('myconfig/db.php')) { return $response->withRedirect('/install'); } } twig_path_init($page, BACKEND_PATH); return $this->view->render($response, 'login.html', $adminreplace['/login']); });