public function admin_edit($id)
{
$menu = $this->Menu->findById($id);
if (empty($menu['Menu']['controller'])) {
$this->redirect(array('action' => 'create_page', $id));
exit;
}
$menu['Menu']['custom_fields'] = json_decode($menu['Menu']['custom_fields'], true);
$view = Admin::getAdminView($menu);
$url = $view['edit']['url'];
$this->set('id', $id);
$this->request->data = $menu;
$menu_item_panel_header = false;
$menu_item_content = '';
if (Admin::hasCapability($this->Auth->user(), $url)) {
if ($view['edit_panel_header']['exists']) {
$Obj = Admin::getController($menu);
$method = $view['edit_panel_header']['method'];
$menu_item_panel_header = $Obj->{$method}($menu['Menu']['args']);
}
if ($view['edit']['exists'] && Admin::hasCapability($this->Auth->user(), $url)) {
$menu_item_content = $this->requestAction($url, array('return', 'named' => array('admin_panel' => 1)));
}
}
$this->set('menu_item_content', $menu_item_content);
$this->set('menu_item_panel_header', $menu_item_panel_header);
}