conn; // TODO: 26.11.2020 исправить на rel=canonical // facebook referral links deletion ( ?ref=nf ) // from $_SERVER['REQUEST_URI'] if (strpos($_SERVER['REQUEST_URI'], '?ref=nf') !== false) { $_SERVER['REQUEST_URI'] = str_replace('?ref=nf', '', $_SERVER['REQUEST_URI']); } if (!empty($_GET['q'])) { $search_query = urlencode($_GET['q']); header("Location: /search/" . $search_query . "/"); exit(); } $logger = Logger::singleton(); if(!DEBUG && (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off")) { /* $_SERVER['HTTP_HOST'] == gamefabrique.com $_SERVER['REQUEST_URI'] == /games/back-to-the-future */ if (Helpers::endsWith($_SERVER['REQUEST_URI'], '/')) { header("Location: https://games4win.com" . $_SERVER['REQUEST_URI'], TRUE, 301); exit(); } else { header("Location: https://games4win.com" . $_SERVER['REQUEST_URI'] . '/', TRUE, 301); exit(); } //error_log($_SERVER['HTTP_HOST'] . ' ' . $_SERVER['REQUEST_URI']. ' '. $_SERVER['HTTP_REFERER']); } // //echo $_SERVER['REQUEST_URI']; $plain_redirect_destination = $conn->getOne("SELECT destination FROM plain_redirects WHERE source = ? LIMIT 1", array($_SERVER['REQUEST_URI'])); if (!empty($plain_redirect_destination)) { $logger->log_event('redirect_plain', $_SERVER['REQUEST_URI']); // 301 Moved Permanently header("Location: {$plain_redirect_destination}", TRUE, 301); exit(); } // /* if (!empty($_SERVER['HTTP_REFERER'])) { if ((strpos($_SERVER['HTTP_REFERER'], 'http://www.gamefabrique.com') === false) && (strpos($_SERVER['HTTP_REFERER'], 'http://gamefabrique.com') === false) && (strpos($_SERVER['HTTP_REFERER'], 'https://www.google') === false) && (strpos($_SERVER['HTTP_REFERER'], 'https://google') === false) && (strpos($_SERVER['HTTP_REFERER'], 'http://www.google') === false) && (strpos($_SERVER['HTTP_REFERER'], 'http://google') === false)) { $logger->log_event('referrer', $_SERVER['HTTP_REFERER']); } } */ $routes = new Routing(); $routes->add_route( array('route' => '/', 'controller' => 'game', 'action' => 'main_page' ) ); //games $routes->add_route( array('route' => '/games/:game_slug/', 'controller' => 'game', 'action' => 'index', 'game_slug' => 'game_tag' ) ); //$routes->add_route( array('route' => '/game/', 'controller' => 'digest', 'action' => 'tag_search' ) ); //$routes->add_route( array('route' => '/game/:game_slug/', 'controller' => 'digest', 'action' => 'tag_search', 'game_slug' => 'game_tag' ) ); //$routes->add_route( array('route' => '/game/:game_slug/:page/', 'controller' => 'digest', 'action' => 'tag_search', 'game_slug' => 'game_tag', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/search/', 'controller' => 'digest', 'action' => 'game_search' ) ); $routes->add_route( array('route' => '/search/:search_query/', 'controller' => 'digest', 'action' => 'game_search', 'search_query' => 'anything' ) ); $routes->add_route( array('route' => '/search/:search_query/:page/', 'controller' => 'digest', 'action' => 'game_search', 'search_query' => 'anything', 'page' => 'integer' ) ); // tags //$routes->add_route( array('route' => '/tag/:game_slug/', 'controller' => 'digest', 'action' => 'tag', 'game_slug' => 'game_tag' ) ); // DIGEST $routes->add_route( array('route' => '/games/', 'controller' => 'digest', 'action' => 'index' ) ); $routes->add_route( array('route' => '/games/:page/', 'controller' => 'digest', 'action' => 'index', 'page' => 'integer_positive' ) ); //$routes->add_route( array('route' => '/featured-games/', 'controller' => 'digest', 'action' => 'featured_games' ) ); //$routes->add_route( array('route' => '/featured-games/:page/', 'controller' => 'digest', 'action' => 'featured_games', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/sega-games/', 'controller' => 'digest', 'action' => 'sega_games' ) ); $routes->add_route( array('route' => '/sega-games/:page/', 'controller' => 'digest', 'action' => 'sega_games', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/freeware-games/', 'controller' => 'digest', 'action' => 'freeware_games' ) ); $routes->add_route( array('route' => '/freeware-games/:page/', 'controller' => 'digest', 'action' => 'freeware_games', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/arcade-games/', 'controller' => 'digest', 'action' => 'arcade_games' ) ); $routes->add_route( array('route' => '/arcade-games/:page/', 'controller' => 'digest', 'action' => 'arcade_games', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/arkanoid-games/', 'controller' => 'digest', 'action' => 'arkanoid_games' ) ); $routes->add_route( array('route' => '/arkanoid-games/:page/', 'controller' => 'digest', 'action' => 'arkanoid_games', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/adventure-games/', 'controller' => 'digest', 'action' => 'adventure_games' ) ); $routes->add_route( array('route' => '/adventure-games/:page/', 'controller' => 'digest', 'action' => 'adventure_games', 'page' => 'integer' ) ); //$routes->add_route( array('route' => '/chess-games/', 'controller' => 'digest', 'action' => 'chess_games' ) ); //$routes->add_route( array('route' => '/chess-games/:page/', 'controller' => 'digest', 'action' => 'chess_games', 'page' => 'integer' ) ); //$routes->add_route( array('route' => '/tetris-games/', 'controller' => 'digest', 'action' => 'tetris_games' ) ); //$routes->add_route( array('route' => '/tetris-games/:page/', 'controller' => 'digest', 'action' => 'tetris_games', 'page' => 'integer' ) ); //$routes->add_route( array('route' => '/card-games/', 'controller' => 'digest', 'action' => 'card_games' ) ); //$routes->add_route( array('route' => '/card-games/:page/', 'controller' => 'digest', 'action' => 'card_games', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/puzzle-games/', 'controller' => 'digest', 'action' => 'puzzle_games' ) ); $routes->add_route( array('route' => '/puzzle-games/:page/', 'controller' => 'digest', 'action' => 'puzzle_games', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/shooter-games/', 'controller' => 'digest', 'action' => 'shooter_games' ) ); $routes->add_route( array('route' => '/shooter-games/:page/', 'controller' => 'digest', 'action' => 'shooter_games', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/strategy-games/', 'controller' => 'digest', 'action' => 'strategy_games' ) ); $routes->add_route( array('route' => '/strategy-games/:page/', 'controller' => 'digest', 'action' => 'strategy_games', 'page' => 'integer' ) ); //$routes->add_route( array('route' => '/pacman/', 'controller' => 'digest', 'action' => 'pacman' ) ); //$routes->add_route( array('route' => '/pacman/:page/', 'controller' => 'digest', 'action' => 'pacman', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/rpg/', 'controller' => 'digest', 'action' => 'rpg' ) ); $routes->add_route( array('route' => '/rpg/:page/', 'controller' => 'digest', 'action' => 'rpg', 'page' => 'integer' ) ); //$routes->add_route( array('route' => '/board/', 'controller' => 'digest', 'action' => 'board' ) ); //$routes->add_route( array('route' => '/board/:page/', 'controller' => 'digest', 'action' => 'board', 'page' => 'integer' ) ); //$routes->add_route( array('route' => '/racing/', 'controller' => 'digest', 'action' => 'racing' ) ); //$routes->add_route( array('route' => '/racing/:page/', 'controller' => 'digest', 'action' => 'racing', 'page' => 'integer' ) ); //$routes->add_route( array('route' => '/fighting/', 'controller' => 'digest', 'action' => 'fighting' ) ); //$routes->add_route( array('route' => '/fighting/:page/', 'controller' => 'digest', 'action' => 'fighting', 'page' => 'integer' ) ); $routes->add_route( array('route' => '/year/', 'controller' => 'digest', 'action' => 'by_year' ) ); $routes->add_route( array('route' => '/year/:year/', 'controller' => 'digest', 'action' => 'by_year_specified', 'year' => 'integer' ) ); //$routes->add_route( array('route' => '/year/19xx/', 'controller' => 'digest', 'action' => 'by_year' ) ); $routes->add_route( array('route' => '/ajax/vote/', 'controller' => 'game', 'action' => 'game_vote' ) ); //$routes->parse_route('/games/comix-zone/'); //print_r($GLOBALS); $routes->parse_route($_SERVER['REQUEST_URI']); $main_controller = new MainController(); $main_controller->error_404();