Chris@0: moduleHandler = $module_handler; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public static function create(ContainerInterface $container) { Chris@0: return new static( Chris@0: $container->get('config.factory'), Chris@0: $container->get('module_handler') Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getFormId() { Chris@0: return 'statistics_settings_form'; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function getEditableConfigNames() { Chris@0: return ['statistics.settings']; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function buildForm(array $form, FormStateInterface $form_state) { Chris@0: $config = $this->config('statistics.settings'); Chris@0: Chris@0: // Content counter settings. Chris@0: $form['content'] = [ Chris@0: '#type' => 'details', Chris@0: '#title' => t('Content viewing counter settings'), Chris@0: '#open' => TRUE, Chris@0: ]; Chris@0: $form['content']['statistics_count_content_views'] = [ Chris@0: '#type' => 'checkbox', Chris@0: '#title' => t('Count content views'), Chris@0: '#default_value' => $config->get('count_content_views'), Chris@0: '#description' => t('Increment a counter each time content is viewed.'), Chris@0: ]; Chris@0: Chris@0: return parent::buildForm($form, $form_state); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function submitForm(array &$form, FormStateInterface $form_state) { Chris@0: $this->config('statistics.settings') Chris@0: ->set('count_content_views', $form_state->getValue('statistics_count_content_views')) Chris@0: ->save(); Chris@0: Chris@0: // The popular statistics block is dependent on these settings, so clear the Chris@0: // block plugin definitions cache. Chris@0: if ($this->moduleHandler->moduleExists('block')) { Chris@0: \Drupal::service('plugin.manager.block')->clearCachedDefinitions(); Chris@0: } Chris@0: Chris@0: parent::submitForm($form, $form_state); Chris@0: } Chris@0: Chris@0: }