/**
  * @DI\Observe("claroline_external_authentication_menu_configure")
  *
  * @param \Claroline\CoreBundle\Menu\ConfigureMenuEvent $event
  *
  * @return \Knp\Menu\ItemInterface $menu
  */
 public function onTopBarLeftMenuConfigure(ConfigureMenuEvent $event)
 {
     $menu = $event->getMenu();
     foreach (Configuration::resourceOwners() as $resourceOwner) {
         $menu->addChild($resourceOwner, array('route' => 'claro_admin_oauth_form', 'routeParameters' => array('service' => str_replace(' ', '_', strtolower($resourceOwner)))))->setExtra('name', $resourceOwner);
     }
     return $menu;
 }
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $configHandler = $this->container->get('claroline.config.platform_config_handler');
     foreach (Configuration::resourceOwners() as $resourceOwner) {
         $resourceOwnerStr = str_replace(' ', '_', strtolower($resourceOwner));
         $configHandler->setParameter($resourceOwnerStr . '_client_id', null);
         $configHandler->setParameter($resourceOwnerStr . '_client_secret', null);
         $configHandler->setParameter($resourceOwnerStr . '_client_active', null);
     }
 }
 /**
  * {@inheritdoc}
  *
  * Rewrites previous service definitions in order to force the dumped container to use
  * dynamic configuration parameters. Technique may vary depending on the target service
  * (see for example https://github.com/opensky/OpenSkyRuntimeConfigBundle).
  *
  * @param ContainerBuilder $container
  */
 public function process(ContainerBuilder $container)
 {
     $factory = new Reference('icap.oauth.hwi.resource_owner_factory');
     foreach (Configuration::resourceOwners() as $resourceOwner) {
         $resourceOwnerNoSpaces = str_replace(' ', '', $resourceOwner);
         $conf = new Definition();
         $conf->setClass($resourceOwnerNoSpaces . 'ResourceOwner');
         $conf->setFactory(array($factory, "get{$resourceOwnerNoSpaces}ResourceOwner"));
         $container->removeDefinition('hwi_oauth.resource_owner.' . str_replace(' ', '_', strtolower($resourceOwner)));
         $container->setDefinition('hwi_oauth.resource_owner.' . str_replace(' ', '_', strtolower($resourceOwner)), $conf);
     }
 }
 public function getActiveServices()
 {
     $services = array();
     foreach (Configuration::resourceOwners() as $resourceOwner) {
         $service = str_replace(' ', '_', strtolower($resourceOwner));
         if ($this->isActive($service)) {
             $services[] = $service;
         }
     }
     return $services;
 }