/** * Generate an list of items that will be loaded into the custom menu * * @param $menu template slug for retriving a menu * @return ArrayList */ public function CustomMenu($menu = "") { $menu_items = new ArrayList(); if (isset($menu)) { // Ensure argument is safe for database $menu = Convert::raw2sql($menu); $filter = array('Slug' => $menu); if ($menu = CustomMenuHolder::get()->filter($filter)->first()) { // If a custom order is set, use it if ($menu->Order) { $order = explode(',', $menu->Order); } if (isset($order) && is_array($order) && count($order) > 0) { foreach ($order as $item) { $menu_items->push($menu->Pages()->find('ID', $item)); } } else { foreach ($menu->Pages() as $item) { $menu_items->push($item); } } } } return $menu_items; }