protected function createMenusAndActions() { $actions = array(); $menus = array(); /** * Create actions if any */ if (count($this->config->getActions()) > 0) { foreach ($this->config->getActions() as $act) { /** @var \modAction[] $actions */ $actions[$act->getId()] = $this->modx->newObject('modAction'); $actions[$act->getId()]->fromArray(array('namespace' => $this->config->getLowCaseName(), 'controller' => $act->getController(), 'haslayout' => $act->getHasLayout(), 'lang_topics' => $act->getLangTopics(), 'assets' => $act->getAssets()), '', true, true); $actions[$act->getId()]->save(); } } /** * Crete menus if any */ if (count($this->config->getMenus()) > 0) { foreach ($this->config->getMenus() as $i => $men) { /** @var \modMenu[] $menus */ $menus[$i] = $this->modx->newObject('modMenu'); $menus[$i]->fromArray(array('text' => $men->getText(), 'parent' => $men->getParent(), 'description' => $men->getDescription(), 'icon' => $men->getIcon(), 'menuindex' => $men->getMenuIndex(), 'params' => $men->getParams(), 'handler' => $men->getHandler()), '', true, true); if (isset($actions[$men->getAction()])) { $menus[$i]->addOne($actions[$men->getAction()]); } else { $menus[$i]->set('action', $men->getAction()); $menus[$i]->set('namespace', $this->config->getLowCaseName()); } $menus[$i]->save(); } } }