function __construct() { if (isset($_GET['url'])) { $segments = explode('/', trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/')); switch ($segments[1]) { case 'index': Index::setCtrl(new Home()); break; case 'form': Index::setCtrl(new Form()); break; case 'form-results': Index::setCtrl(new FormResults()); break; case 'oczko': Index::setCtrl(new Oczko()); break; case 'angielski': Index::setCtrl(new Ang()); break; case 'add-article': Index::setCtrl(new AddPost()); break; case 'profile': Index::setCtrl(new Profile()); break; case 'administrator': if (isset($segments[2])) { $action = null; if (isset($segments[3]) && ($segments[3] == 'edit' || $segments[3] == 'delete' || $segments[3] == 'add' || $segments[3] == 'activeblock' || $segments[3] == 'deleteAndMove')) { if (isset($segments[4]) && is_int((int) $segments[4])) { $action = ['action' => $segments[3], 'id' => (int) $segments[4]]; } else { $action = ['action' => $segments[3]]; } } $mode = null; switch ($segments[2]) { case 'users': Index::setCtrl(new Admin('users', $action)); break; case 'categories': Index::setCtrl(new Admin('categories', $action)); break; } } break; case 'clearSession': session_destroy(); $this->redirect(); break; case 'address-book': if (!isset($segments[2])) { Index::setCtrl(new AddressBook()); } else { if ($segments[2] == 'add') { Index::setCtrl(new AddressBook('add')); } else { if ($segments[2] == 'delete' || $segments[2] == 'edit') { if (isset($segments[3])) { Index::setCtrl(new AddressBook($segments[2], $segments[3])); } } } } break; case 'logout': Index::logOut(); header('Location: /~ii293327/'); break; default: try { switch ($segments[1]) { case 'page': if (is_int((int) $segments[2])) { Index::setCtrl(new Home((int) $segments[2])); } break; case 'article': if (is_int((int) $segments[2])) { Index::setCtrl(new ShowPost($segments[2])); } break; case 'category': if (is_int((int) $segments[2])) { Index::setCtrl(new Home(null, (int) $segments[2])); } break; default: Index::setCtrl(new Error(404)); break; } } catch (Exception $e) { echo $e->getMessage(); } } } else { Index::setCtrl(new Home()); } }