function page_to_type($page) { if (is_array($page) == false) { if (($pos = strrpos($page, ".")) !== false) { $page = substr($page, $pos); } else { $page = ""; } } else { foreach ($page as $i => $item) { $page[$i] = page_to_type($item); } } return $page; }
private function module_on_disk($url, $pages) { $module = null; $url = explode("/", $url); $url_count = count($url); foreach ($pages as $line) { $page = explode("/", $line); $parts = count($page); $match = true; for ($i = 0; $i < $parts; $i++) { if ($page[$i] == "*") { continue; } else { if ($page[$i] !== $url[$i]) { $match = false; break; } } } if ($match && strlen($line) >= strlen($module)) { $module = page_to_module($line); $this->type = page_to_type($line); } } return $module; }