public function index_action() { if (Routing::getInstance()->isMethod("GET")) { echo View::render(); return true; } $userModel = new UserModel(); if ($userModel->checkUserExist($_REQUEST['username'])) { $data['error'] = 'Username already used.'; echo View::render($data); return false; } foreach ($_REQUEST as $key => $item) { if (empty($item)) { $data['error'] = 'All fields must be provided'; echo View::render($data); return false; } } if (!$userModel->save($_REQUEST)) { $data['error'] = 'Problem with DB Query.'; echo View::render($data); return false; } $userData = $userModel->getUserByUsernameAndPassword($_REQUEST['username'], $_REQUEST['password']); Security::doLogin($userData); return header("Location:" . Routing::getInstance()->getBaseUrl()); }
public static function doLogout() { $userModel = new UserModel(); $userModel->setRememberKey(); unset($_SESSION['user'], $_SESSION['auth']); setcookie('remember_key', null, time(), '/'); header("Location:" . Routing::getInstance()->getBaseUrl()); }
public static function render($data = null) { $controller = Routing::getInstance()->controller; $action = Routing::getInstance()->action; ob_start(); require_once VIEWS_PATH . $controller . '/' . $action . '.php'; $viewData = ob_get_contents(); ob_end_clean(); return $viewData; }
public function edit() { Security::mustBeAdmin(); $newsModel = new NewsModel(); if (Routing::getInstance()->isMethod("GET")) { $data = $newsModel->get($_REQUEST['id']); echo View::render($data); return true; } $result = $newsModel->update($_REQUEST); }
public function login() { // if(Security::isAuth()){ // return header("Location:".Routing::getInstance()->getBaseUrl()); // } // if (Routing::getInstance()->isMethod("GET")) { echo View::render(); return true; } $userModel = new UserModel(); $userData = $userModel->getUserByUsernameAndPassword($_REQUEST['username'], $_REQUEST['password']); if ($userData) { Security::doLogin($userData); if (isset($_REQUEST['remember_me'])) { Security::setRemember(); } return header("Location:" . Routing::getInstance()->getBaseUrl()); } return header("Location:" . Routing::getInstance()->getBaseUrl() . '/auth/login'); }
use lib\Routing; ?> <table class="table"> <tr> <th>Title</th> <th>Short Desc</th> <th>Author</th> <th>Date</th> </tr> <?php foreach ($data['list'] as $news_item) { ?> <tr> <td> <a href="<?php echo Routing::getInstance()->getBaseUrl(); ?> /News/edit?id=<?php echo $news_item['id']; ?> "> <?php echo $news_item['title']; ?> </a> </td> <td><?php echo $news_item['short_description']; ?> </td> <td><?php
<?php define('PROJECT_PATH', __DIR__); define('CONTROLLERS_PATH', PROJECT_PATH . '/controllers/'); define('VIEWS_PATH', PROJECT_PATH . '/views/'); define('REMEMBER_PERIOD', time() + 86400 * 7); require_once PROJECT_PATH . '/config/database.php'; require_once 'Autoload.php'; use lib\Routing; use lib\Database; use lib\View; $routing = Routing::getInstance(); $database = new Database(); $view = new View(); $routing->proccessRoute();