$part) { if (strpos($part, '..') !== false || strpos($part, '/') !== false) { unset($path[$k]); } } $path = array_values($path); $count = count($path); if (!$count) { $this->redirect('/'); } $page = $subpage = $title_for_layout = null; if (!empty($path[0])) { $page = $path[0]; } if (!empty($path[1])) { $subpage = $path[1]; if ($path[1] === 'md') { $this->layout = false; } } if (!empty($path[$count - 1])) { $title_for_layout = Inflector::humanize($path[$count - 1]); } $this->loadModel('Attribute'); $this->set('categoryDefinitions', $this->Attribute->categoryDefinitions); $this->set('typeDefinitions', $this->Attribute->typeDefinitions); $this->set('user', $this->Auth->User()); $this->set(compact('page', 'subpage', 'title_for_layout')); $this->render(implode('/', $path)); } }