Code owners
Assign users and groups as approvers for specific file changes. Learn more.
ForumBlockBase.php 1.24 KiB
<?php
/**
* @file
* Contains \Drupal\forum\Plugin\Block\ForumBlockBase.
*/
namespace Drupal\forum\Plugin\Block;
use Drupal\block\BlockBase;
use Drupal\Core\Session\AccountInterface;
/**
* Provides a base class for Forum blocks.
*/
abstract class ForumBlockBase extends BlockBase {
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return array(
'cache' => DRUPAL_CACHE_CUSTOM,
'properties' => array(
'administrative' => TRUE,
),
'block_count' => 5,
);
}
/**
* {@inheritdoc}
*/
public function access(AccountInterface $account) {
return $account->hasPermission('access content');
}
/**
* Overrides \Drupal\block\BlockBase::blockForm().
*/
public function blockForm($form, &$form_state) {
$range = range(2, 20);
$form['block_count'] = array(
'#type' => 'select',
'#title' => t('Number of topics'),
'#default_value' => $this->configuration['block_count'],
'#options' => array_combine($range, $range),
);
return $form;
}
/**
* Overrides \Drupal\block\BlockBase::blockSubmit().
*/
public function blockSubmit($form, &$form_state) {
$this->configuration['block_count'] = $form_state['values']['block_count'];
}
}