private function _print_pages($parent) { $pages_li = ''; foreach ($this->_child_pages[$parent] as $child_page) { $page_lang = PageLang::preload($child_page->id); $sub_pages = ""; if ($child_page->group_container > 0) { } elseif (!empty($this->_child_pages[$child_page->id])) { $sub_pages = $this->_print_pages($child_page->id); } $page_actions = AdminAction::where('controller_id', '=', 2)->where('inherit', '=', 0)->where('edit_based', '=', 0)->get(); $edit_actions = []; foreach ($page_actions as $action) { if ($action->action == 'index') { $edit_actions['pages'] = false; } else { $edit_actions['pages.' . $action->action] = false; } } if (!config('coaster::admin.publishing')) { unset($edit_actions['pages.version-publish']); } $actions = $this->_role_permissions->processed_actions(['page_id' => $child_page->id]); $actions = array_merge($edit_actions, array_intersect_key($actions, $edit_actions)); $page_actions = []; foreach ($actions as $action => $value) { if ($action == 'pages') { $page_actions['index'] = $value; } else { $page_actions[str_replace('pages.', '', $action)] = $value; } } $pages_li .= View::make('coaster::partials.roles.pages.li', array('page_lang' => $page_lang, 'sub_pages' => $sub_pages, 'actions' => $page_actions))->render(); } return View::make('coaster::partials.roles.pages.ul', array('pages_li' => $pages_li)); }