'/publicacion/', 'tag'=>'/etiqueta/', ....) // Ex (English): Array('post'=>'/post/', 'tag'=>'/tag/', ....) public static function init($filters) { // Decodes any %## encoding in the given string. Plus symbols ('+') are decoded to a space character. self::$uri = urldecode($_SERVER['REQUEST_URI']); // URI Lowercase //self::$uri = helperText::lowercase(self::$uri); self::$uri_strlen = helperText::length(self::$uri); self::$whereAmI = 'home'; self::$notFound = false; self::$slug = false; self::$filters = $filters; // Check if filtering by post // Primero verifico que no haya ningun slug filtrado, asi no lo piso. if(self::$slug===false) self::is_post($filters['post']); // Check if filtering by tag // Primero verifico que no haya ningun slug filtrado, asi no lo piso. if(self::$slug===false) self::is_tag($filters['tag']); // Check if filtering by page // Primero verifico que no haya ningun slug filtrado, asi no lo piso. if(self::$slug===false) self::is_page($filters['page']); } public static function slug() { return self::$slug; } public static function uri() { return self::$uri; } // Return the filter used public static function filters($type) { return self::$filters[$type]; } // Return: home, tag, post public static function whereAmI() { return self::$whereAmI; } public static function setWhereAmI($where) { self::$whereAmI = $where; } public static function notFound() { return self::$notFound; } public static function setNotFound($error = true) { self::$whereAmI = 'page'; self::$notFound = $error; } public static function is_tag($filter) { if(self::filter_slug($filter)===false) return false; self::$whereAmI = 'tag'; return true; } public static function is_post($filter) { if(self::filter_slug($filter)===false) return false; self::$whereAmI = 'post'; return true; } public static function is_page($filter) { if(self::filter_slug($filter)===false) return false; self::$whereAmI = 'page'; return true; } // Return the slug after the $filter // ex: http://domain.com/cms/$filter/slug123 => slug123 private static function filter_slug($filter) { $position = helperText::strpos(self::$uri, $filter); if($position===false) return false; $start = $position + helperText::length($filter); $end = self::$uri_strlen; self::$slug = helperText::cut(self::$uri, $start, $end); if(empty(self::$slug)) return false; return self::$slug; } } ?>