public static function menuForm($menuId)
{
$menu = Model::getPage((int) $menuId);
if (!$menu) {
throw new \Ip\Exception('Menu not found.', array('id' => $menuId));
}
$form = new \Ip\Form();
$form->setEnvironment(\Ip\Form::ENVIRONMENT_ADMIN);
$field = new \Ip\Form\Field\Hidden(array('name' => 'aa', 'value' => 'Pages.updateMenu'));
$form->addField($field);
$field = new \Ip\Form\Field\Hidden(array('name' => 'id', 'value' => $menu['id']));
$form->addField($field);
$field = new \Ip\Form\Field\Text(array('name' => 'title', 'label' => __('Title', 'Ip-admin', false), 'value' => $menu['title']));
$form->addField($field);
$field = new \Ip\Form\Field\Text(array('name' => 'alias', 'label' => __('Menu name (used in PHP code)', 'Ip-admin', false), 'value' => $menu['alias']));
$form->addField($field);
$layouts = \Ip\Internal\Design\Service::getLayouts();
$field = new \Ip\Form\Field\Select(array('name' => 'layout', 'label' => __('Layout', 'Ip-admin', false), 'value' => $menu['layout'], 'values' => $layouts));
$form->addField($field);
$values = array(array('tree', __('Tree (for menu)', 'Ip-admin', false)), array('list', __('List (for blogs)', 'Ip-admin', false)));
$field = new \Ip\Form\Field\Select(array('name' => 'type', 'label' => __('Type', 'Ip-admin', false), 'value' => $menu['type'], 'values' => $values));
$form->addField($field);
$form = ipFilter('ipMenuForm', $form, array('menuId' => $menuId));
return $form;
}