Loading src/Plugin/Filter/Favicon.php→src/Plugin/Filter/Urlicon.php +84 −0 Original line number Diff line number Diff line Loading @@ -5,32 +5,48 @@ namespace Drupal\urlicon\Plugin\Filter; use Drupal\Core\Form\FormStateInterface; use Drupal\filter\FilterProcessResult; use Drupal\filter\Plugin\FilterBase; use Drupal\urlicon\ClassFilter; use Drupal\urlicon\FaviconFilter; use Drupal\urlicon\IconFilter; /** * Provides a 'Favicon' filter. * Provides a 'Urlicon' filter. * * @Filter( * id = "urlicon_favicon", * title = @Translation("Favicon"), * id = "urlicon_urlicon", * title = @Translation("URL Icon filter"), * type = Drupal\filter\Plugin\FilterInterface::TYPE_TRANSFORM_REVERSIBLE, * settings = { * "example" = "foo", * "type" = "favicon", * }, * weight = -10 * ) */ class Favicon extends FilterBase { class Urlicon extends FilterBase { /** * {@inheritdoc} */ public function defaultConfiguration() { return [ 'type' => 'favicon', ]; } /** * {@inheritdoc} */ public function settingsForm(array $form, FormStateInterface $form_state) { $form['example'] = [ '#type' => 'textfield', '#title' => $this->t('Example'), '#default_value' => $this->settings['example'], '#description' => $this->t('Description of the setting.'), $form['type'] = [ '#type' => 'radios', '#title' => $this->t('Filter URLs'), '#options' => [ 'favicon' => $this->t('Find all external URLs and append the according favicon (if available)'), 'icon' => $this->t('Find all external URLs and append an external link icon'), 'class' => $this->t('Find all external URLs and add a CSS class only (theme it as you like)'), ], '#default_value' => $this->settings['type'], '#description' => $this->t('Choose what to add to a link in the markup.'), ]; return $form; } Loading @@ -39,9 +55,23 @@ class Favicon extends FilterBase { * {@inheritdoc} */ public function process($text, $langcode) { switch ($this->settings['type']) { case 'class': return new FilterProcessResult( ClassFilter::filter($text) ); case 'icon': return new FilterProcessResult( IconFilter::filter($text) ); case 'favicon': return new FilterProcessResult( FaviconFilter::filter($text) ); } } /** Loading Loading
src/Plugin/Filter/Favicon.php→src/Plugin/Filter/Urlicon.php +84 −0 Original line number Diff line number Diff line Loading @@ -5,32 +5,48 @@ namespace Drupal\urlicon\Plugin\Filter; use Drupal\Core\Form\FormStateInterface; use Drupal\filter\FilterProcessResult; use Drupal\filter\Plugin\FilterBase; use Drupal\urlicon\ClassFilter; use Drupal\urlicon\FaviconFilter; use Drupal\urlicon\IconFilter; /** * Provides a 'Favicon' filter. * Provides a 'Urlicon' filter. * * @Filter( * id = "urlicon_favicon", * title = @Translation("Favicon"), * id = "urlicon_urlicon", * title = @Translation("URL Icon filter"), * type = Drupal\filter\Plugin\FilterInterface::TYPE_TRANSFORM_REVERSIBLE, * settings = { * "example" = "foo", * "type" = "favicon", * }, * weight = -10 * ) */ class Favicon extends FilterBase { class Urlicon extends FilterBase { /** * {@inheritdoc} */ public function defaultConfiguration() { return [ 'type' => 'favicon', ]; } /** * {@inheritdoc} */ public function settingsForm(array $form, FormStateInterface $form_state) { $form['example'] = [ '#type' => 'textfield', '#title' => $this->t('Example'), '#default_value' => $this->settings['example'], '#description' => $this->t('Description of the setting.'), $form['type'] = [ '#type' => 'radios', '#title' => $this->t('Filter URLs'), '#options' => [ 'favicon' => $this->t('Find all external URLs and append the according favicon (if available)'), 'icon' => $this->t('Find all external URLs and append an external link icon'), 'class' => $this->t('Find all external URLs and add a CSS class only (theme it as you like)'), ], '#default_value' => $this->settings['type'], '#description' => $this->t('Choose what to add to a link in the markup.'), ]; return $form; } Loading @@ -39,9 +55,23 @@ class Favicon extends FilterBase { * {@inheritdoc} */ public function process($text, $langcode) { switch ($this->settings['type']) { case 'class': return new FilterProcessResult( ClassFilter::filter($text) ); case 'icon': return new FilterProcessResult( IconFilter::filter($text) ); case 'favicon': return new FilterProcessResult( FaviconFilter::filter($text) ); } } /** Loading