/** * change menu items for Wizard entities * * @param \ElggMenuItem[] $returnvalue current menu items * @param \Wizard $entity wizard entity * * @return \ElggMenuItem[] */ protected static function wizardEntityMenu($returnvalue, \Wizard $entity) { $allowed_menu_items = ['access', 'edit', 'delete']; foreach ($returnvalue as $index => $menu_item) { $menu_name = $menu_item->getName(); if (!in_array($menu_name, $allowed_menu_items)) { unset($returnvalue[$index]); continue; } if ($menu_name === 'edit') { $menu_item->setHref('admin/administer_utilities/wizard/manage?guid=' . $entity->guid); } } if (!$entity->canEdit()) { return $returnvalue; } $returnvalue[] = \ElggMenuItem::factory(['name' => 'copy', 'text' => elgg_echo('wizard:copy'), 'href' => "action/wizard/copy?guid={$entity->getGUID()}", 'is_action' => true, 'priority' => 100]); $returnvalue[] = \ElggMenuItem::factory(['name' => 'reset', 'text' => elgg_echo('reset'), 'href' => "action/wizard/reset?guid={$entity->getGUID()}", 'confirm' => elgg_echo('wizard:reset:confirm'), 'priority' => 100]); $returnvalue[] = \ElggMenuItem::factory(['name' => 'manage_steps', 'text' => elgg_echo('admin:administer_utilities:wizard:manage_steps'), 'href' => "admin/administer_utilities/wizard/manage_steps?guid={$entity->getGUID()}", 'priority' => 150]); return $returnvalue; }