og_sm-8.x-1.0/og_sm_context/src/Plugin/OgGroupResolver/OgSmGroupResolverBase.php
og_sm_context/src/Plugin/OgGroupResolver/OgSmGroupResolverBase.php
<?php
namespace Drupal\og_sm_context\Plugin\OgGroupResolver;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\og\OgGroupResolverBase;
use Drupal\og_sm\SiteManagerInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Base class for OgGroupResolver plugins defined by og_sm.
*/
abstract class OgSmGroupResolverBase extends OgGroupResolverBase implements ContainerFactoryPluginInterface {
/**
* The route match object.
*
* @var \Drupal\Core\Routing\RouteMatchInterface
*/
protected $routeMatch;
/**
* The site manager.
*
* @var \Drupal\og_sm\SiteManagerInterface
*/
protected $siteManager;
/**
* Constructs a OgSmGroupResolverBase instance.
*
* @param array $configuration
* A configuration array containing information about the plugin instance.
* @param string $plugin_id
* The plugin_id for the plugin instance.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Routing\RouteMatchInterface $route_match
* The route match object.
* @param \Drupal\og_sm\SiteManagerInterface $site_manager
* The site manager.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, RouteMatchInterface $route_match, SiteManagerInterface $site_manager) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->routeMatch = $route_match;
$this->siteManager = $site_manager;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static(
$configuration,
$plugin_id,
$plugin_definition,
$container->get('current_route_match'),
$container->get('og_sm.site_manager')
);
}
}
