Skip to content

Instantly share code, notes, and snippets.

@dongilbert
Created September 5, 2012 21:20
Show Gist options
  • Save dongilbert/3644978 to your computer and use it in GitHub Desktop.
Save dongilbert/3644978 to your computer and use it in GitHub Desktop.
Not Enough Defines
<?php
$uri = parse_url($_SERVER['REQUEST_URI']);
$path = explode('/', $uri['path']);
define('IS_HOME', (empty($path[1])));
define('IS_ADMIN', ($path[1] === 'admin'));
define('IS_NEWS', ($path[1] === 'news'));
define('IS_CONTACT', ($path[1] === 'contact'));
<?php
$slug = str_replace('.php', '', $_SERVER['REQUEST_URI']);
$slug = preg_replace('/\//', '', $slug, 1);
$slug = explode('?', $slug);
$slug = $slug[0];
if($slug == 'index' || $slug == '') {
$slug = "/";
define(IS_HOME, true);
define(IS_ADMIN, false);
define(IS_NEWS, false);
define(IS_CONTACT, false);
} elseif(preg_match('/admin/', $slug)) {
define(IS_HOME, false);
define(IS_ADMIN, true);
define(IS_NEWS, false);
define(IS_CONTACT, false);
} elseif(preg_match('/news/', $slug)) {
define(IS_HOME, false);
define(IS_ADMIN, false);
define(IS_NEWS, true);
define(IS_CONTACT, false);
} elseif(preg_match('/contact/', $slug)) {
define(IS_HOME, false);
define(IS_ADMIN, false);
define(IS_NEWS, false);
define(IS_CONTACT, true);
} else {
define(IS_HOME, false);
define(IS_ADMIN, false);
define(IS_NEWS, false);
define(IS_CONTACT, false);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment