Seditio Source
Root |
./othercms/phpBB3/vendor/s9e/text-formatter/src/Plugins/Autoemail/Configurator.php
<?php

/**
* @package   s9e\TextFormatter
* @copyright Copyright (c) 2010-2021 The s9e authors
* @license   http://www.opensource.org/licenses/mit-license.php The MIT License
*/
namespace s9e\TextFormatter\Plugins\Autoemail;

use
s9e\TextFormatter\Plugins\ConfiguratorBase;

class
Configurator extends ConfiguratorBase
{
   
/**
    * @var string Name of attribute that stores the link's URL
    */
   
protected $attrName = 'email';

   
/**
    * {@inheritdoc}
    */
   
protected $quickMatch = '@';

   
/**
    * {@inheritdoc}
    */
   
protected $regexp = '/\\b[-a-z0-9_+.]+@[-a-z0-9.]*[a-z0-9]/Si';

   
/**
    * @var string Name of the tag used to represent links
    */
   
protected $tagName = 'EMAIL';

   
/**
    * Creates the tag used by this plugin
    *
    * @return void
    */
   
protected function setUp()
    {
        if (isset(
$this->configurator->tags[$this->tagName]))
        {
            return;
        }

       
// Create a tag
       
$tag = $this->configurator->tags->add($this->tagName);

       
// Add an attribute using the default email filter
       
$filter = $this->configurator->attributeFilters->get('#email');
       
$tag->attributes->add($this->attrName)->filterChain->append($filter);

       
// Set the default template
       
$tag->template = '<a href="mailto:{@' . $this->attrName . '}"><xsl:apply-templates/></a>';
    }
}