| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace Drupal\pathauto;
- use Drupal\Core\Config\ConfigFactoryInterface;
- use Drupal\Core\Session\AccountInterface;
- /**
- * Provides a verbose messenger.
- */
- class VerboseMessenger implements MessengerInterface {
- /**
- * The verbose flag.
- *
- * @var bool
- */
- protected $isVerbose;
- /**
- * The config factory.
- *
- * @var \Drupal\Core\Config\ConfigFactoryInterface
- */
- protected $configFactory;
- /**
- * The current user account.
- *
- * @var \Drupal\Core\Session\AccountInterface
- */
- protected $account;
- /**
- * Creates a verbose messenger.
- */
- public function __construct(ConfigFactoryInterface $config_factory, AccountInterface $account) {
- $this->configFactory = $config_factory;
- $this->account = $account;
- }
- /**
- * {@inheritdoc}
- */
- public function addMessage($message, $op = NULL) {
- if (!isset($this->isVerbose)) {
- $config = $this->configFactory->get('pathauto.settings');
- $this->isVerbose = $config->get('verbose') && $this->account->hasPermission('notify of path changes');
- }
- if (!$this->isVerbose || (isset($op) && in_array($op, array('bulkupdate', 'return')))) {
- return FALSE;
- }
- if ($message) {
- drupal_set_message($message);
- }
- return TRUE;
- }
- }
|