typeManager = $typeManager; } public function configureAdminMenu(MenuAdmin $menu) { if (Piwik::hasUserSuperUserAccess()) { $menu->addMeasurableItem('General_Settings', $this->urlForAction('globalSettings'), $order = 11); } if (Piwik::isUserHasSomeAdminAccess() && SitesManager::isSitesAdminEnabled()) { $menu->addMeasurableItem('SitesManager_MenuManage', $this->urlForAction('index'), $order = 10); $type = $this->getFirstTypeIfOnlyOneIsInUse(); if ($type) { $menu->rename('CoreAdminHome_MenuMeasurables', $subMenuOriginal = null, $type->getNamePlural(), $subMenuRenamed = null); } } } private function getFirstTypeIfOnlyOneIsInUse() { $types = $this->typeManager->getAllTypes(); if (count($types) === 1) { // only one type is in use, use this one for the wording return reset($types); } else { // multiple types are activated, check whether only one is actually in use $model = new Model(); $typeIds = $model->getUsedTypeIds(); if (count($typeIds) === 1) { $typeManager = new TypeManager(); return $typeManager->getType(reset($typeIds)); } } } }