Parse error: syntax error, unexpected 'case' (T_CASE)

Get help with installation and running phpBB 3.3.x here. Please do not post bug reports, feature requests, or extension related questions here.
Post Reply
Zanzazaar
Registered User
Posts: 57
Joined: Fri Jan 15, 2016 2:14 pm

Parse error: syntax error, unexpected 'case' (T_CASE)

Post by Zanzazaar »

Hi, I was trying to create new bbcode when I get an error on my forum. I had this issue once but clearing cache helped. But not this time. I tried to remove cache from the FTP (also, I copierd the file that is listed in the error in the code).
As for now I cannot even open forum co I cannot remove last bbcode that I was editing or anything. Is there something that I can do with that?

Code: Select all

Parse error: syntax error, unexpected 'case' (T_CASE) in /home/p516445/public_html/cache/production/s9e_renderer_2c5988a6889098c44a1b5efed55d952d248ee8cb.php on line 373

Code: Select all

<?php

/**
* @package   s9e\TextFormatter
* @copyright Copyright (c) 2010-2021 The s9e authors
* @license   http://www.opensource.org/licenses/mit-license.php The MIT License
*/
class s9e_renderer_2c5988a6889098c44a1b5efed55d952d248ee8cb extends \s9e\TextFormatter\Renderers\PHP
{
	protected $params=['L_CODE'=>'','L_COLON'=>'','L_IMAGE'=>'','L_SELECT_ALL_CODE'=>'','L_WROTE'=>'','STYLE_ID'=>'','S_VIEWFLASH'=>'','S_VIEWIMG'=>'','S_VIEWSMILIES'=>'','T_SMILIES_PATH'=>''];
	protected function renderNode(\DOMNode $node)
	{
		switch($node->nodeName){case'A':$this->out.='<p style="text-indent:15px;line-height:1.2em;font-size:1.1em;margin-bottom:0em">';$this->at($node);$this->out.='</p>';break;case'AC':$this->out.='<img class="testclass" id="testimg1" src="/images/gamedatabase/test/disable'.htmlspecialchars($node->getAttribute('aaa'),2).'/11.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd."><img class="testclass" id="testimg2" src="/images/gamedatabase/test/disable'.htmlspecialchars($node->getAttribute('bbb'),2).'/22.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd. Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd."><img class="testclass" id="testimg3" src="/images/gamedatabase/test/disable'.htmlspecialchars($node->getAttribute('ccc'),2).'/33.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd. Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd. Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd."><img class="testclass" id="testimg4" src="/images/gamedatabase/test/disable'.htmlspecialchars($node->getAttribute('ddd'),2).'/44.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd."><img class="testclass" id="testimg5" src="/images/gamedatabase/test/disable'.htmlspecialchars($node->getAttribute('eee'),2).'/55.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.">';break;case'AKCEPT':$this->out.='<div class="bbdivcontain"><div class="atabheader"><div class="bbakcept">AKCEPTACJA</div></div><div class="bbtab" id="atab" style="clear:both"></div>';$this->at($node);$this->out.='</div><script type="text/javascript"> 


	function openTableA(tbl, kptbnm) {
		var i, tbcntnt, kptblnks;

		tbcntnt = document.getElementsByClassName("atabpost");
		for (i = 0; i < tbcntnt.length; i++) {
			tbcntnt[i].style.display = "none";
		}

		kptblnks = document.getElementsByClassName("atablinks");
		for (i = 0; i < kptblnks.length; i++) {
			kptblnks[i].className = kptblnks[i].className.replace(" active", "");
		}

		document.getElementById(kptbnm).style.display = "block";
		tbl.currentTarget.className += " active";
	}

</script><script type="text/javascript">document.getElementById("buttonReputacja").click();</script>';break;case'ATAB':$this->out.='<div id="'.htmlspecialchars($node->getAttribute('title'),2).'" class="tabcontent atabpost">';$this->at($node);$this->out.='</div><script>
	var tbbttn = document.createElement("BUTTON");
	var txttbbttn = document.createTextNode("'.$node->getAttribute('title').'");
	document.currentScript.closest("div").querySelector("#atab").appendChild(tbbttn).appendChild(txttbbttn);
	tbbttn.setAttribute("class", "atablinks");
	tbbttn.setAttribute("id", "button'.$node->getAttribute('title').'");
	tbbttn.setAttribute("onclick", "openTableA(event, \''.$node->getAttribute('title').'\');return false;");
</script>';break;case'ATTACHMENT':$this->out.='<div class="inline-attachment"><!-- ia'.htmlspecialchars($node->getAttribute('index'),0).' -->'.htmlspecialchars($node->getAttribute('filename'),0).'<!-- ia'.htmlspecialchars($node->getAttribute('index'),0).' --></div>';break;case'B':$this->out.='<strong class="text-strong">';$this->at($node);$this->out.='</strong>';break;case'BOX':$this->out.='<div id="box"';if($node->hasAttribute('class'))$this->out.=' class="'.htmlspecialchars($node->getAttribute('class'),2).'"';$this->out.='>';$this->at($node);$this->out.='</div>';break;case'BUTTON':$this->out.='<a href="'.htmlspecialchars($node->getAttribute('url'),2).'" class="button icon-button post-icon bbbutton"';if($node->hasAttribute('px')){$this->out.=' style="width:'.htmlspecialchars($node->getAttribute('px'),2).'px;"><span><span>';$this->at($node);$this->out.='</span></span>';}elseif($node->hasAttribute('per')){$this->out.=' style="width:'.htmlspecialchars($node->getAttribute('per'),2).'%;"><span><span>';$this->at($node);$this->out.='</span></span>';}else{$this->out.='><span>';$this->at($node);$this->out.='</span>';}$this->out.='</a>';break;case'CECHA':switch($node->getAttribute('typ')){case'Bystrość':case'Manewry':case'Moc':case'Przetrwanie':$this->out.='
		1
	';break;case'Walka':$this->out.='<div class="bbrow"><div class="bbtitle">Walka'.htmlspecialchars($node->getAttribute('lvl'),0).'<input id="WALKAPDWalka'.htmlspecialchars($node->getAttribute('id'),2).'" style="display:none"></div><div class="bbcontent"><div class="bbrow"><span class="atrnag">Ciosy na akcję</span><span class="atrwrt"></span></div><div class="bbrow"><span class="atrnag">Precyzja ciosów</span><span class="atrwrt"></span><span class="atrnag">Zasięg celności</span><span class="atrwrt"></span></div><div class="bbrow"><span class="atrnag">Siła ciosów</span><span class="atrwrt"></span><span class="atrnag">Zasięg miotania</span><span class="atrwrt"></span><span class="atrnag">Parowanie</span><span class="atrwrt"></span></div><div><span>Maksymalna ilość stylów</span><span class="atrwrt"></span>';$this->at($node);$this->out.='</div></div></div><script>
			var nWalka'.$node->getAttribute('id').' = '.$node->getAttribute('lvl').';
			var iWalka'.$node->getAttribute('id').' = 1;
			var sWalka'.$node->getAttribute('id').' = 0;
			while (nWalka'.$node->getAttribute('id').' >= iWalka'.$node->getAttribute('id').') sWalka'.$node->getAttribute('id').' = sWalka'.$node->getAttribute('id').' + iWalka'.$node->getAttribute('id').'++;
			document.getElementById(\'WALKAPDWalka'.$node->getAttribute('id').'\').value = sWalka'.$node->getAttribute('id').';
		</script>';break;default:$this->out.='
		test
	';}break;case'CENTER':$this->out.='<div style="text-align:center;width:100%">';$this->at($node);$this->out.='</div>';break;case'CODE':$this->out.='<div class="codebox"><p>';if($this->params['STYLE_ID']==9)$this->out.='<i class="fas fa-code"></i><span>'.htmlspecialchars($this->params['L_CODE'].$this->params['L_COLON'],0).'</span> <a href="#" class="right" onclick="selectCode(this); return false;">';else$this->out.=htmlspecialchars($this->params['L_CODE'].$this->params['L_COLON'],0).' <a href="#" onclick="selectCode(this); return false;">';$this->out.=htmlspecialchars($this->params['L_SELECT_ALL_CODE'],0).'</a>';$this->out.='</p><pre><code>';$this->at($node);$this->out.='</code></pre></div>';break;case'COLOR':$this->out.='<span style="color:'.htmlspecialchars($node->getAttribute('color'),2).'">';$this->at($node);$this->out.='</span>';break;case'DROPSHADOW':$this->out.='<span class="dropshadow" style="display:inline;padding:0 6px;color:'.htmlspecialchars($node->getAttribute('dropshadow'),2).';text-shadow:-1px 1px 0 #999">';$this->at($node);$this->out.='</span>';break;case'E':if($this->params['S_VIEWSMILIES']==='')$this->out.=htmlspecialchars($node->textContent,0);else{switch($node->textContent){case'8-)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cool.gif" width="15" height="17" alt="8-)" title="Cool">';break;case':!:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_exclaim.gif" width="15" height="17" alt=":!:" title="Exclamation">';break;case':(':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":(" title="Sad">';break;case':)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":)" title="Smile">';break;case':-(':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":-(" title="Sad">';break;case':-)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":-)" title="Smile">';break;case':-?':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":-?" title="Confused">';break;case':-D':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":-D" title="Very Happy">';break;case':-P':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":-P" title="Razz">';break;case':-o':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":-o" title="Surprised">';break;case':-x':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":-x" title="Mad">';break;case':-|':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_neutral.gif" width="15" height="17" alt=":-|" title="Neutral">';break;case':?':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":?" title="Confused">';break;case':?:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_question.gif" width="15" height="17" alt=":?:" title="Question">';break;case':???:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":???:" title="Confused">';break;case':D':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":D" title="Very Happy">';break;case':P':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":P" title="Razz">';break;case':arrow:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_arrow.gif" width="15" height="17" alt=":arrow:" title="Arrow">';break;case':cool:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cool.gif" width="15" height="17" alt=":cool:" title="Cool">';break;case':cry:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cry.gif" width="15" height="17" alt=":cry:" title="Crying or Very Sad">';break;case':eek:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":eek:" title="Surprised">';break;case':evil:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_evil.gif" width="15" height="17" alt=":evil:" title="Evil or Very Mad">';break;case':geek:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_geek.gif" width="17" height="17" alt=":geek:" title="Geek">';break;case':grin:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":grin:" title="Very Happy">';break;case':idea:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_idea.gif" width="15" height="17" alt=":idea:" title="Idea">';break;case':lol:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_lol.gif" width="15" height="17" alt=":lol:" title="Laughing">';break;case':mad:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":mad:" title="Mad">';break;case':mrgreen:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mrgreen.gif" width="15" height="17" alt=":mrgreen:" title="Mr. Green">';break;case':o':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":o" title="Surprised">';break;case':oops:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_redface.gif" width="15" height="17" alt=":oops:" title="Embarrassed">';break;case':razz:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":razz:" title="Razz">';break;case':roll:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_rolleyes.gif" width="15" height="17" alt=":roll:" title="Rolling Eyes">';break;case':sad:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":sad:" title="Sad">';break;case':shock:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_eek.gif" width="15" height="17" alt=":shock:" title="Shocked">';break;case':smile:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":smile:" title="Smile">';break;case':twisted:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_twisted.gif" width="15" height="17" alt=":twisted:" title="Twisted Evil">';break;case':ugeek:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_ugeek.gif" width="17" height="18" alt=":ugeek:" title="Uber Geek">';break;case':wink:':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=":wink:" title="Wink">';break;case':x':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":x" title="Mad">';break;case':|':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_neutral.gif" width="15" height="17" alt=":|" title="Neutral">';break;case';)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=";)" title="Wink">';break;case';-)':$this->out.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=";-)" title="Wink">';break;default:$this->out.=htmlspecialchars($node->textContent,0);}}break;case'EMAIL':$this->out.='<a href="mailto:'.htmlspecialchars($node->getAttribute('email'),2);if($node->hasAttribute('subject')||$node->hasAttribute('body')){$this->out.='?';if($node->hasAttribute('subject'))$this->out.='subject='.htmlspecialchars($node->getAttribute('subject'),2);if($node->hasAttribute('body')){if($node->hasAttribute('subject'))$this->out.='&amp;';$this->out.='body='.htmlspecialchars($node->getAttribute('body'),2);}}$this->out.='">';$this->at($node);$this->out.='</a>';break;case'EMOJI':if($this->params['S_VIEWSMILIES']!==''){$this->out.='<img alt="'.htmlspecialchars($node->textContent,2).'" class="emoji smilies" draggable="false" src="';if($node->hasAttribute('tseq'))$this->out.='//twemoji.maxcdn.com/2/svg/'.htmlspecialchars($node->getAttribute('tseq'),2).'.svg';else$this->out.='https://cdn.jsdelivr.net/gh/s9e/emoji-assets-twemoji@11.2/dist/svgz/'.htmlspecialchars($node->getAttribute('seq'),2).'.svgz';$this->out.='">';}else$this->out.=htmlspecialchars($node->textContent,0);break;case'FLASH':if($this->params['S_VIEWFLASH']!=='')$this->out.='<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0" width="'.htmlspecialchars($node->getAttribute('width'),2).'" height="'.htmlspecialchars($node->getAttribute('height'),2).'"><param name="movie" value="'.htmlspecialchars($node->getAttribute('url'),2).'"><param name="play" value="false"><param name="loop" value="false"><param name="quality" value="high"><param name="allowScriptAccess" value="never"><param name="allowNetworking" value="internal"><embed src="'.htmlspecialchars($node->getAttribute('url'),2).'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="'.htmlspecialchars($node->getAttribute('width'),2).'" height="'.htmlspecialchars($node->getAttribute('height'),2).'" play="false" loop="false" quality="high" allowscriptaccess="never" allownetworking="internal"></object>';else$this->at($node);break;case'FLOAT':$this->out.='<div style="float:'.htmlspecialchars($node->getAttribute('float'),2).';padding:0 10px">';$this->at($node);$this->out.='</div>';break;case'GLOW':$this->out.='<span class="glow" style="display:inline;padding:0 6px;color:#fff;text-shadow:0 0 1em '.htmlspecialchars($node->getAttribute('glow'),2).',0 0 1em '.htmlspecialchars($node->getAttribute('glow'),2).',0 0 1.2em '.htmlspecialchars($node->getAttribute('glow'),2).'">';$this->at($node);$this->out.='</span>';break;case'HIDE':$this->out.='<span class="hide">'.htmlspecialchars($node->getAttribute('hide'),0).';-;';$this->at($node);$this->out.=';-;'.htmlspecialchars($node->getAttribute('hide'),0).'</span>';break;case'HIGHLIGHT':$this->out.='<span style="background-color:'.htmlspecialchars($node->getAttribute('highlight'),2).'">';$this->at($node);$this->out.='</span>';break;case'HR':$this->out.='<hr>';break;case'I':$this->out.='<em class="text-italics">';$this->at($node);$this->out.='</em>';break;case'IMG':if($this->params['S_VIEWIMG']!=='')if($this->params['STYLE_ID']==9)$this->out.='<div class="g-image" data-src="'.htmlspecialchars($node->getAttribute('src'),2).'"><img src="'.htmlspecialchars($node->getAttribute('src'),2).'" class="post-image" alt="'.htmlspecialchars($this->params['L_IMAGE'],2).'"></div>';else$this->out.='<img src="'.htmlspecialchars($node->getAttribute('src'),2).'" class="postimage" alt="'.htmlspecialchars($this->params['L_IMAGE'],2).'">';else$this->at($node);break;case'JUMP':$this->out.='<a href="#'.htmlspecialchars($node->getAttribute('jump'),2).'">';$this->at($node);$this->out.='</a>';break;case'JUSTIFY':$this->out.='<div style="text-align:justify">';$this->at($node);$this->out.='</div>';break;case'KARTA':$this->out.='<div class="karta" id="karta">';$this->at($node);$this->out.='</div>';break;case'KP':$this->out.='<div class="bbdivcontain"><div class="tabheader"><div class="bbakcept">'.htmlspecialchars($node->getAttribute('title'),0).'</div></div><div class="bbtab" id="kptab" style="clear:both"></div>';$this->at($node);$this->out.='</div><script type="text/javascript"> 


	function openTable(tbl, kptbnm) {
		var i, tbcntnt, kptblnks;

		tbcntnt = document.getElementsByClassName("tabpost");
		for (i = 0; i < tbcntnt.length; i++) {
			tbcntnt[i].style.display = "none";
		}

		kptblnks = document.getElementsByClassName("kptablinks");
		for (i = 0; i < kptblnks.length; i++) {
			kptblnks[i].className = kptblnks[i].className.replace(" active", "");
		}

		document.getElementById(kptbnm).style.display = "block";
		tbl.currentTarget.className += " active";
	}

</script><script type="text/javascript">document.getElementById("buttonOpis").click();</script>';break;case'LAND':$this->out.='<div id="'.htmlspecialchars($node->getAttribute('land'),2).'" class="bbland">';$this->at($node);$this->out.='</div>';break;case'LEFT':$this->out.='<div style="text-align:left">';$this->at($node);$this->out.='</div>';break;case'LI':$this->out.='<li>';$this->at($node);$this->out.='</li>';break;case'LINK_TEXT':$this->out.=htmlspecialchars($node->getAttribute('text'),0);break;case'LIST':if(!$node->hasAttribute('type')){$this->out.='<ul>';$this->at($node);$this->out.='</ul>';}elseif((strpos('upperlowerdecim',mb_substr($node->getAttribute('type'),0,5,'utf-8'))!==false)){$this->out.='<ol style="list-style-type:'.htmlspecialchars($node->getAttribute('type'),2).'">';$this->at($node);$this->out.='</ol>';}else{$this->out.='<ul style="list-style-type:'.htmlspecialchars($node->getAttribute('type'),2).'">';$this->at($node);$this->out.='</ul>';}break;case'M':$this->out.='<img class="bbmapsign" src="'.htmlspecialchars($node->getAttribute('content'),2);if($node->hasAttribute('z')&&$node->hasAttribute('r'))$this->out.='" style="transform:rotate('.htmlspecialchars($node->getAttribute('r'),2).'deg)"><script type="text/javascript">
		var scripts = document.getElementsByTagName(\'script\'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = "'.$node->getAttribute('y').'" * 30 +"px";
		input = currentScript.previousSibling.style.left = "'.$node->getAttribute('x').'" * 30 +"px";
		input = currentScript.previousSibling.style.zIndex = 300 + '.$node->getAttribute('z').';
		</script>';elseif($node->hasAttribute('r'))$this->out.='" style="transform:rotate('.htmlspecialchars($node->getAttribute('r'),2).'deg)"><script type="text/javascript">
		var scripts = document.getElementsByTagName(\'script\'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = "'.$node->getAttribute('y').'" * 30 +"px";
		input = currentScript.previousSibling.style.left = "'.$node->getAttribute('x').'" * 30 +"px";
		</script>';elseif($node->hasAttribute('z'))$this->out.='"><script type="text/javascript">
		var scripts = document.getElementsByTagName(\'script\'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = "'.$node->getAttribute('y').'" * 30 +"px";
		input = currentScript.previousSibling.style.left = "'.$node->getAttribute('x').'" * 30 +"px";
		input = currentScript.previousSibling.style.zIndex = 300 + '.$node->getAttribute('z').';
		</script>';else$this->out.='"><script type="text/javascript">
		var scripts = document.getElementsByTagName(\'script\'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = "'.$node->getAttribute('y').'" * 30 +"px";
		input = currentScript.previousSibling.style.left = "'.$node->getAttribute('x').'" * 30 +"px";
		</script>';break;case'MAP':$this->out.='<div class="bbmap"><div class="bbmapinside"><div id="mapwrapper"><div class="bbgrid"></div><img class="bbmapimg '.htmlspecialchars($node->getAttribute('mirror'),2).'" id="bbmimg" src="'.htmlspecialchars($node->getAttribute('img'),2).'"></div>';$this->at($node);$this->out.='</div></div>';break;case'MARQ':$this->out.='<marquee direction="'.htmlspecialchars($node->getAttribute('marq'),2).'" scrolldelay="100" onmouseover="this.scrollDelay=10000000;" onmouseout="this.scrollDelay=100;" style="margin:10px 0;padding:5px;display:inline-block">';$this->at($node);$this->out.='</marquee>';break;case'MOD':$this->out.='<span class="modhide">';$this->at($node);$this->out.='</span>';break;case'MZ':$this->out.='<input id="data" size="5" style="height:39px"><button class="button icon-button" id="btn">Zatwierdź</button><div class="bbcursor"></div><script src="get_value_of_input_box.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script><script type="text/javascript">
"use strict";
function clicked() {
    var input_value = document.getElementById(\'data\').value;
	$(".bbcursor").css("width", input_value * 30 * 2 + "px").css("height", input_value * 30 * 2 + "px");
}
document.getElementById(\'btn\').addEventListener(\'click\', clicked);;
var scrollY = 0, scrollX = 0;
$(document).mousemove(function(e){
   $(".bbcursor").css("top",e.pageY - scrollY + "px").css("left",e.pageX - scrollX + "px").css("background-color","rgba(3,3,255,0.1);");
});
$(document).scroll(function(e){
   scrollY = $(window).scrollTop();
   scrollX = $(window).scrollLeft();
});
setInterval(function(){scroll = $(window).scrollTop();}, 1000);</script>';break;case'OFFTOPIC':$this->out.='<div class="offtopic" style="position:relative;margin:1em 0;padding:39px 19px 14px;background:#fff;border:1px solid #ddd;border-radius:4px"><div class="offtopic_title" style="position:absolute;top:-1px;left:-1px;font-family:\'Helvetica Neue\',Helvetica,Arial,sans-serif;font-weight:bold;font-size:12px;color:#9da0a4;background:#f5f5f5;padding:5px 12px;border:1px solid #ddd;border-radius:4px 0 4px 0">OFFTOPIC</div><div class="offtopic_text" style="padding:5px 10px;color:#333">';$this->at($node);$this->out.='</div></div>';break;case'PAD':$this->out.='<div style="padding-left:15px">';$this->at($node);$this->out.='</div>';break;case'PD':$this->out.='<div class="bbhead">Zdobyte Doświadczenie: <input id="SPD" type="number" disabled> Wydane Doświadczenie: Pozostałe Doświadczenie:</div><div style="overflow:hidden;text-align:center"><div class="bbrow pdrow"><div class="bbtitle pdtitle">D:</div><div class="bbcontent pdcont" id="PDD">'.htmlspecialchars($node->getAttribute('d'),0).'</div></div><div class="bbrow pdrow"><div class="bbtitle pdtitle">C:</div><div class="bbcontent pdcont" id="PDC">'.htmlspecialchars($node->getAttribute('c'),0).'</div></div><div class="bbrow pdrow"><div class="bbtitle pdtitle">B:</div><div class="bbcontent pdcont" id="PDB">'.htmlspecialchars($node->getAttribute('b'),0).'</div></div><div class="bbrow pdrow"><div class="bbtitle pdtitle">A:</div><div class="bbcontent pdcont" id="PDA">'.htmlspecialchars($node->getAttribute('a'),0).'</div></div><div class="bbrow pdrow"><div class="bbtitle pdtitle">S:</div><div class="bbcontent pdcont" id="PDS">'.htmlspecialchars($node->getAttribute('s'),0).'</div></div></div><script>
	var misjed = document.getElementById("PDD").innerHTML;
	var misjec = document.getElementById("PDC").innerHTML;
	var misjeb = document.getElementById("PDB").innerHTML;
	var misjea = document.getElementById("PDA").innerHTML;
	var misjes = document.getElementById("PDS").innerHTML;
	var sumapd = misjed * 10 + misjec * 25 + misjeb * 50 + misjea * 75 + misjes * 100;
	var spd = document.getElementById("SPD");
	spd.setAttribute("value", sumapd);
</script>';break;case'POST':$this->out.='<div class="specpost"><img src="'.htmlspecialchars($node->getAttribute('img'),2).'"><img src="'.htmlspecialchars($node->getAttribute('title'),2).'"><span>'.htmlspecialchars($node->getAttribute('content'),0).'</span></div>';break;case'PRE':$this->out.='<pre style="display:block;font-family:monospace;white-space:pre">';$this->at($node);$this->out.='</pre>';break;case'PROGRESS':$this->out.='<span';if($node->hasAttribute('color'))$this->out.=' style="width: 200px; height: 10px; border: 1px solid; border-color:'.htmlspecialchars($node->getAttribute('color'),2).'; margin: 0; padding: 0; display: block;"><span style="height:0;padding:0;margin:1px;border-top:solid 8px;border-color:'.htmlspecialchars($node->getAttribute('color'),2).';width:';else$this->out.=' style="width: 200px; height: 10px; border: 1px solid; margin: 0; padding: 0; display: block;"><span style="height:0;padding:0;margin:1px;border-top:solid 8px;width:';$this->out.=htmlspecialchars($node->getAttribute('content'),2).'%;display:block"></span>';$this->out.='</span>';break;case'PRZYCHODY':$this->out.='<div class="bbhead">Zdobyte Ryō: <input class="bankryo" id="sumaprzychody" disabled> Wydane Ryō: <input class="bankryo" id="sumawydatki" disabled> Pozostałe Ryō: <input class="bankryo" id="wynikwydatki" disabled></div><div id="bbramkaprzychody">';$this->at($node);$this->out.='</div>';break;case'PSWDHIDE':$this->out.='<span class="opthide">'.htmlspecialchars($node->getAttribute('pswdhide'),0).';-;';$this->at($node);$this->out.=';-;'.htmlspecialchars($node->getAttribute('pswdhide'),0).'</span>';break;case'QUOTE':$this->out.='<blockquote';if($node->hasAttribute('post_url'))$this->out.=' cite="'.htmlspecialchars($node->getAttribute('post_url'),2).'"';if(!$node->hasAttribute('author'))$this->out.=' class="uncited"';$this->out.='>';if($this->params['STYLE_ID']==9){$this->out.='<i class="fas fa-quote-right"></i><div>';if($node->hasAttribute('author')){$this->out.='<cite>';if($node->hasAttribute('url'))$this->out.='<a href="'.htmlspecialchars($node->getAttribute('url'),2).'" class="postlink">'.htmlspecialchars($node->getAttribute('author'),0).'</a>';elseif($node->hasAttribute('profile_url'))$this->out.='<a href="'.htmlspecialchars($node->getAttribute('profile_url'),2).'">'.htmlspecialchars($node->getAttribute('author'),0).'</a>';else$this->out.=htmlspecialchars($node->getAttribute('author'),0);$this->out.=' '.htmlspecialchars($this->params['L_WROTE'].$this->params['L_COLON'],0);if($node->hasAttribute('post_url'))$this->out.=' <a href="'.htmlspecialchars($node->getAttribute('post_url'),2).'" class="right" data-post-id="'.htmlspecialchars($node->getAttribute('post_id'),2).'" onclick="if(document.getElementById(hash.substr(1)))href=hash"><i class="fas fa-link"></i></a>';if($node->hasAttribute('msg_url'))$this->out.=' <a href="'.htmlspecialchars($node->getAttribute('msg_url'),2).'" class="right" data-msg-id="'.htmlspecialchars($node->getAttribute('msg_id'),2).'"><i class="fas fa-link"></i></a>';if($node->hasAttribute('date'))$this->out.='<span class="right">'.htmlspecialchars($node->getAttribute('date'),0).'</span>';$this->out.='</cite>';}$this->at($node);}else{$this->out.='<div>';if($node->hasAttribute('author')){$this->out.='<cite>';if($node->hasAttribute('url'))$this->out.='<a href="'.htmlspecialchars($node->getAttribute('url'),2).'" class="postlink">'.htmlspecialchars($node->getAttribute('author'),0).'</a>';elseif($node->hasAttribute('profile_url'))$this->out.='<a href="'.htmlspecialchars($node->getAttribute('profile_url'),2).'">'.htmlspecialchars($node->getAttribute('author'),0).'</a>';else$this->out.=htmlspecialchars($node->getAttribute('author'),0);$this->out.=' '.htmlspecialchars($this->params['L_WROTE'].$this->params['L_COLON'],0);if($node->hasAttribute('post_url'))$this->out.=' <a href="'.htmlspecialchars($node->getAttribute('post_url'),2).'" data-post-id="'.htmlspecialchars($node->getAttribute('post_id'),2).'" onclick="if(document.getElementById(hash.substr(1)))href=hash">↑</a>';if($node->hasAttribute('msg_url'))$this->out.=' <a href="'.htmlspecialchars($node->getAttribute('msg_url'),2).'" data-msg-id="'.htmlspecialchars($node->getAttribute('msg_id'),2).'">↑</a>';if($node->hasAttribute('date'))$this->out.='<span class="responsive-hide">'.htmlspecialchars($node->getAttribute('date'),0).'</span>';$this->out.='</cite>';}$this->at($node);}$this->out.='</div>';$this->out.='</blockquote>';break;case'R':$this->out.='<div class="bbramka">';$this->at($node);$this->out.='</div>';break;case'REP':$this->out.='<div class="bbhead">Opinia publiczna</div><div class="bbrow" style="padding:3px" id="Reput"></div><div class="bbhead">Dodatkowe notatki o reputacji</div><div class="bbrow" style="padding:3px">';$this->at($node);$this->out.='</div><script type="text/javascript">

	var maxmod = 1.5;
	var minmod = 0.66;

	var dz = ('.$node->getAttribute('dobro').'+1) / ('.$node->getAttribute('zlo').'+1);
	var pc = ('.$node->getAttribute('praworzadnosc').'+1) / ('.$node->getAttribute('chaos').'+1);
	var sla = '.$node->getAttribute('dobro').' + '.$node->getAttribute('zlo').' + '.$node->getAttribute('praworzadnosc').' + '.$node->getAttribute('chaos').';

	if (sla > 25) {
			var slawa = "Shinobi rozpoznawany po imieniu czy wyglądzie, słyszeli o nim wszędzie tam, gdzie dociera informacja.";
		} 
	else if (sla > 10) {
			var slawa = "O shinobi krążą już plotki, rozpoznawany w okolicach, w których już podejmował się pracy. Szczególnie wielu ludzi o nim słyszało w jego rodzinnych stronach.";
		} 
	else {
			var slawa = "Shinobi rozpoznawany tylko przez postacie, z którymi wcześniej wchodził w interakcję.";
		};
		
		
	if (1.25 > dz > 0.75 && 1.25 > pc > 0.75 && sla > 25) {
			var nieob = " Shinobi niepokoi zarówno lokalnych mieszkańców, jak i władze. Nieprzewidywalne zachowania powodują, że jednocześnie: ludzie mają nadzieję na udaną współpracę, jak również spodziewają się komplikacji wynikających z działań postaci.";
		} 
	else if (1.25 > dz > 0.75 && sla > 50) {
			var nieob = " Ludzie obawiają się shinobi. Jego częste przeciwstawne sobie zachowania sprawiają, że ludzie nie wiedzą, czego się po nim spodziewać. Pomimo jego powierzchownej neutralności jest on jedną wielką niewiadomą.";
		} 
	else if (1.25 > pc > 0.75 && sla > 50) {
			var nieob = " Władze mają shinobi na oku, choć wydaje się nie być kryminalistą, to i tak w ich oczach ludzi jest osobnikiem, po którym spodziewać się można kłopotów.";
		} 
	else {
			var nieob = "";
		};

	if (pc > maxmod && dz > maxmod ) {
			var repu = " Praworządny dobry: postać kierująca się honorem, zawsze stająca po stronie prawdy i potrzebujących. Przez jej uczciwość i chęć czynienia dobra postrzegana jest przez ludność jako pozytywny charakter. Nie zawsze tyczy się to władców, organów władzy i współpracowników, gdyż stawia swój kręgosłup moralny ponad rozkazy.";
		} 
	else if (pc > maxmod && maxmod >= dz && dz >= minmod) {
			var repu = " Praworządny neutralny: postać przestrzegająca prawa, odbierana przez ludność niczym tzw zimny urzędnik. Dla władz jest doskonałym materiałem na shinobi, zawsze wykonuje powierzone zadania, wierząc w dobro ogółu. Odbić się to może na współpracownikach, dla których nie każda sprawa ma jedno dno.";
		} 
	else if (pc > maxmod && minmod > dz) {
			var repu = " Praworządny zły: postać przez złe postępowanie i brak współczucia wobec ludności cywilnej, budzi u niej niechęć i strach. Nie znaczy to, że zastraszona nie będzie z nim współpracować. Jej zachowanie odbija się również na współpracownikach, którzy wolą unikać z nią kontaktu. Jednak respektuje ona siłę i hierarchie, co w oczach władz czyni ją osobę od brudnej roboty.";
		} 
	else if (maxmod >= pc && pc >= minmod && dz > maxmod ) {
			var repu = " Neutralny dobry: postać lubiąca dobre uczynki, przez co po mimo swojego zawodu jest postrzegana przez ludność pozytywnie. Nie staje po żadnej ze stron, ale wykonuje powierzone zadania, co czyni go godnym zaufania w oczach władzy.";
		} 
	else if (maxmod >= pc && pc >= minmod && maxmod >= dz && dz >= minmod) {
			var repu = " Neutralny: postać nie budzącą sympatii ani opinii publicznej, ani władz, które podchodzą do niej niechętnie i z brakiem zaufania. Choć nie wykazuje ona zachowań patologicznych, to nie można mieć pewności w jaki sposób się zachowa.";
		} 
	else if (maxmod >= pc && pc >= minmod && minmod > dz) {
			var repu = " Neutralny zły: postać znienawidzona przez wszystkie grupy społeczne. U cywilów wzbudza strach i odrazę. Dla władz jest piątym kołem u wozu, którego chcą się pozbyć i nie bez wzajemności. Uważa się taką postać za źródło konfliktów, które wywołuje z premedytacją.";
		} 
	else if (minmod > pc && dz > maxmod ) {
			var repu = " Chaotyczny dobry: postać przez swoje czyny postrzegana przez ludność umiarkowanie. Choć cechuje ją bardziej dobro, to wyborów dokonuje zgodnie ze swoim kodeksem moralnym, a nie oczekiwaniami innych, czy prawem. Postawione wyżej jednostki, nie będąc pewnymi jej poczynań, zachowują wobec niej ostrożność.";
		} 
	else if (minmod > pc && maxmod >= dz && dz >= minmod) {
			var repu = " Chaotyczny neutralny: postać postrzegana przez wszystkich jako indywiduum, któremu nie można ufać. Jej zachowanie dla otoczenia popada w skrajności. Jedyne czego się trzyma to własne dobro, co czyni ją w oczach pozostałych bardziej materiałem na najemnika, niż jakiegokolwiek partnera.";
		} 
	else {
			var repu = " Chaotyczny zły: postać przez wszystkich uważana nie tylko za złą, ale i obłąkaną. Jej zachowanie dewiacyjne zrodziło przekonanie, że nie potrzebuje powodów do czynienia zła, a kontakt z nią ogranicza się jedynie do walki, bądź ucieczki przed nią.";
		};
	
	var divslawa = document.getElementById(\'Reput\');

	divslawa.innerHTML = slawa + repu + nieob;


</script>';break;case'RIGHT':$this->out.='<div style="text-align:right">';$this->at($node);$this->out.='</div>';break;case'ROK':$this->out.='<script>
	var rok = 65;
</script>';switch($node->getAttribute('typ')){case'data':$this->out.='<script>
			document.write(rok);
		</script>';break;case'opis':$this->out.='<div>Urodzony w roku '.htmlspecialchars($node->getAttribute('urodziny'),0).'; Wiek: <span id="wiekkp"></span> lat; Wzrost: <span id="inwzrost">'.htmlspecialchars($node->getAttribute('wzrost'),0).'</span> (<span id="wzrostout"></span>cm); Waga: <span id="inwaga">'.htmlspecialchars($node->getAttribute('waga'),0).'</span> (<span id="wagaout"></span>kg).</div><script>
			var rokmod2 = '.$node->getAttribute('urodziny').';
			var wiek2 = rok - rokmod2;
			document.getElementById("wiekkp").innerHTML = wiek2;

			var inwzrost = document.getElementById("inwzrost").innerHTML;
			var inwaga = document.getElementById("inwaga").innerHTML;

			if(inwzrost === "Olbrzymi") {
				var wzrostbase = 155;
			}
			else if(inwzrost === "Wysoki") {
				var wzrostbase = 130;
			}
			else if(inwzrost === "Średni") {
				var wzrostbase = 115;
			}
			else if(inwzrost === "Niski") {
				var wzrostbase = 100;
			}
			else if(inwzrost === "Karłowaty") {
				var wzrostbase = 75;
			}

			if(inwaga === "Niska") {
				var wagamod = 0.8;
			}
			else if(inwaga === "Naturalna") {
				var wagamod = 1;
			}
			else if(inwaga === "Duża") {
				var wagamod = 1.25;
			}
			
			var wzrostout = wzrostbase + ((Math.max(0, (Math.min((wiek2-13), 5))))*10);
			var wagaout = (Math.max(25, (30 + (wzrostout - 105) * 0.66)))*wagamod;
 
			document.getElementById("wzrostout").innerHTML = wzrostout;
			document.getElementById("wagaout").innerHTML = wagaout;

		</script>';break;case'wiek':$this->out.='<script>
			var rokmod = '.$node->getAttribute('urodziny').';
			var wiek = rok - rokmod;
			document.write(wiek);
		</script>';break;default:$this->out.='
		Spieprzyłeś coś.
	';}break;case'S':$this->out.='<span style="text-decoration:line-through">';$this->at($node);$this->out.='</span>';break;case'SHADOW':$this->out.='<span class="shadow" style="display:inline;padding:0 6px;color:'.htmlspecialchars($node->getAttribute('shadow'),2).';text-shadow:-2px 2px 2px #999">';$this->at($node);$this->out.='</span>';break;case'SIZE':$this->out.='<span style="font-size:'.htmlspecialchars($node->getAttribute('size'),2).'%;line-height:116%">';$this->at($node);$this->out.='</span>';break;case'SNM':$this->out.='snmX';break;case'SOUNDCLOUD':$this->out.='<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url='.htmlspecialchars($node->getAttribute('content'),2).'&amp;color=ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false"></iframe>';break;case'SPOILER':$this->out.='<div style="margin-top:5px">';if($node->hasAttribute('title')){$this->out.='<div class="quotetitle"><b>'.htmlspecialchars($node->getAttribute('title'),0).':</b><input type="button" class="button icon-button post-icon bbbutton" value="Pokaż" style="width:45px;font-size:10px;margin:0;padding:0" onclick="             if (this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display!= \'\')             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'\';                  this.innerText = \'\';                 this.value = \'Ukryj\';             }             else             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\';                 this.innerText = \'\';                 this.value = \'Pokaż\';             }         "></div><div class="quotecontent" style="display:none">';$this->at($node);$this->out.='</div>';}elseif($node->hasAttribute('img')){$this->out.='<center><div class="quotetitle"><img src="'.htmlspecialchars($node->getAttribute('img'),2).'" style="align:center" onclick="             if (this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display!= \'\')             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'\';                  this.innerText = \'\';                              }             else             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\';                 this.innerText = \'\';                              }         "></div><div class="quotecontent" style="display:none">';$this->at($node);$this->out.='</div></center>';}else{$this->out.='<div class="quotetitle"><b>Spoiler:</b><input type="button" class="button icon-button post-icon bbbutton" value="Pokaż" style="width:45px;font-size:10px;margin:0;padding:0" onclick="             if (this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display!= \'\')             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'\';                  this.innerText = \'\';                 this.value = \'Ukryj\';             }             else             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\';                 this.innerText = \'\';                 this.value = \'Pokaż\';             }         "></div><div class="quotecontent" style="display:none">';$this->at($node);$this->out.='</div>';}$this->out.='</div>';break;case'SUB':$this->out.='<sub style="vertical-align:sub;font-size:smaller">';$this->at($node);$this->out.='</sub>';break;case'SUP':$this->out.='<sup style="vertical-align:super;font-size:smaller">';$this->at($node);$this->out.='</sup>';break;case'TAB':$this->out.='<div id="'.htmlspecialchars($node->getAttribute('title'),2).'" class="KPtabcontent tabpost">';$this->at($node);$this->out.='</div><script>
	var tbbttn = document.createElement("BUTTON");
	var txttbbttn = document.createTextNode("'.$node->getAttribute('title').'");
	document.currentScript.closest("div").querySelector("#kptab").appendChild(tbbttn).appendChild(txttbbttn);
	tbbttn.setAttribute("class", "kptablinks");
	tbbttn.setAttribute("id", "button'.$node->getAttribute('title').'");
	tbbttn.setAttribute("onclick", "openTable(event, \''.$node->getAttribute('title').'\');return false;");
</script>';break;case'U':$this->out.='<span style="text-decoration:underline">';$this->at($node);$this->out.='</span>';break;case'URL':$this->out.='<a href="'.htmlspecialchars($node->getAttribute('url'),2).'" class="postlink">';$this->at($node);$this->out.='</a>';break;case'USERHIDE':$this->out.='<span class="userhide">'.htmlspecialchars($node->getAttribute('userhide'),0).';-;';$this->at($node);$this->out.=';-;'.htmlspecialchars($node->getAttribute('userhide'),0).'</span>';break;case'W':if($node->hasAttribute('img'))$this->out.='<div class="bbrow bbimage"><img src="'.htmlspecialchars($node->getAttribute('img'),2).'"></div>';elseif($node->hasAttribute('local'))$this->out.='<div class="bbrow bbimage"><img src="http://shinobinomono.xaa.pl/'.htmlspecialchars($node->getAttribute('local'),2).'"></div>';elseif($node->getAttribute('title')==='bar'){$this->out.='<div class="bbhead">';$this->at($node);$this->out.='</div>';}elseif($node->getAttribute('title')==='img');elseif($node->hasAttribute('title')){$this->out.='<div class="bbrow"><div class="bbtitle">'.htmlspecialchars($node->getAttribute('title'),0).'</div><div class="bbcontent">';$this->at($node);$this->out.='</div></div>';}else{$this->out.='<div class="bbrow" style="padding:3px;display:block">';$this->at($node);$this->out.='</div>';}break;case'WB':$this->out.='<div class="bbrow bankrow"><div class="bbtitle"><input class="inputcash" disabled value="'.htmlspecialchars($node->getAttribute('wb'),2).'"></div><div class="bbcontent">';if($node->hasAttribute('url')){$this->out.='<a href="'.htmlspecialchars($node->getAttribute('url'),2).'">';$this->at($node);$this->out.='</a>';}else$this->at($node);$this->out.='</div></div>';break;case'WYDATKI':$this->out.='<div class="wydheader"><div class="bbakcept">FINANSE</div></div><div class="bbhead finshad">Zdobyte Ryō: <input class="bankryo" id="sumaprzychody2" disabled> Wydane Ryō: <input class="bankryo" id="sumawydatki2" disabled> Pozostałe Ryō: <input class="bankryo" id="wynikwydatki2" disabled></div><div class="bbramka" id="bbramkawydatki">';$this->at($node);$this->out.='</div><script>

	let numbArr = document.getElementById(\'bbramkaprzychody\').getElementsByClassName(\'inputcash\');
	let arrSum = 0;
	let numbArrW = document.getElementById(\'bbramkawydatki\').getElementsByClassName(\'inputcash\');
	let arrSumW = 0;

	for (let i = 0; i < numbArr.length; i++) {
	let j = parseInt(numbArr[i].value);
	arrSum += j;
	}

	for (let ii = 0; ii < numbArrW.length; ii++) {
	let jj = parseInt(numbArrW[ii].value);
	arrSumW += jj;
	}
	document.getElementById(\'sumaprzychody\').value = arrSum;
	document.getElementById(\'sumaprzychody2\').value = arrSum;

	document.getElementById(\'sumawydatki\').value = arrSumW;
	document.getElementById(\'sumawydatki2\').value = arrSumW;

	document.getElementById(\'wynikwydatki\').value = arrSum - arrSumW;
	document.getElementById(\'wynikwydatki2\').value = arrSum - arrSumW;
</script>';break;case'YOUTUBE':$this->out.='<iframe title="YouTube video player" width="480" height="390" src="https://www.youtube.com/embed/'.htmlspecialchars($node->getAttribute('content0'),2).'" frameborder="0" allowfullscreen=""></iframe>';break;case'br':$this->out.='<br>';break;case'e':case'i':case's':break;case'p':$this->out.='<p>';$this->at($node);$this->out.='</p>';break;default:$this->at($node);}
	}
	/** {@inheritdoc} */
	public $enableQuickRenderer=true;
	/** {@inheritdoc} */
	protected $static=['/A'=>'</p>','/AKCEPT'=>'</div><script type="text/javascript"> 


	function openTableA(tbl, kptbnm) {
		var i, tbcntnt, kptblnks;

		tbcntnt = document.getElementsByClassName("atabpost");
		for (i = 0; i < tbcntnt.length; i++) {
			tbcntnt[i].style.display = "none";
		}

		kptblnks = document.getElementsByClassName("atablinks");
		for (i = 0; i < kptblnks.length; i++) {
			kptblnks[i].className = kptblnks[i].className.replace(" active", "");
		}

		document.getElementById(kptbnm).style.display = "block";
		tbl.currentTarget.className += " active";
	}

</script><script type="text/javascript">document.getElementById("buttonReputacja").click();</script>','/B'=>'</strong>','/BOX'=>'</div>','/CENTER'=>'</div>','/CODE'=>'</code></pre></div>','/COLOR'=>'</span>','/DROPSHADOW'=>'</span>','/EMAIL'=>'</a>','/FLOAT'=>'</div>','/GLOW'=>'</span>','/HIGHLIGHT'=>'</span>','/I'=>'</em>','/JUMP'=>'</a>','/JUSTIFY'=>'</div>','/KARTA'=>'</div>','/KP'=>'</div><script type="text/javascript"> 


	function openTable(tbl, kptbnm) {
		var i, tbcntnt, kptblnks;

		tbcntnt = document.getElementsByClassName("tabpost");
		for (i = 0; i < tbcntnt.length; i++) {
			tbcntnt[i].style.display = "none";
		}

		kptblnks = document.getElementsByClassName("kptablinks");
		for (i = 0; i < kptblnks.length; i++) {
			kptblnks[i].className = kptblnks[i].className.replace(" active", "");
		}

		document.getElementById(kptbnm).style.display = "block";
		tbl.currentTarget.className += " active";
	}

</script><script type="text/javascript">document.getElementById("buttonOpis").click();</script>','/LAND'=>'</div>','/LEFT'=>'</div>','/LI'=>'</li>','/MAP'=>'</div></div>','/MARQ'=>'</marquee>','/MOD'=>'</span>','/OFFTOPIC'=>'</div></div>','/PAD'=>'</div>','/PRE'=>'</pre>','/PRZYCHODY'=>'</div>','/R'=>'</div>','/RIGHT'=>'</div>','/S'=>'</span>','/SHADOW'=>'</span>','/SIZE'=>'</span>','/SUB'=>'</sub>','/SUP'=>'</sup>','/U'=>'</span>','/URL'=>'</a>','/WYDATKI'=>'</div><script>

	let numbArr = document.getElementById(\'bbramkaprzychody\').getElementsByClassName(\'inputcash\');
	let arrSum = 0;
	let numbArrW = document.getElementById(\'bbramkawydatki\').getElementsByClassName(\'inputcash\');
	let arrSumW = 0;

	for (let i = 0; i < numbArr.length; i++) {
	let j = parseInt(numbArr[i].value);
	arrSum += j;
	}

	for (let ii = 0; ii < numbArrW.length; ii++) {
	let jj = parseInt(numbArrW[ii].value);
	arrSumW += jj;
	}
	document.getElementById(\'sumaprzychody\').value = arrSum;
	document.getElementById(\'sumaprzychody2\').value = arrSum;

	document.getElementById(\'sumawydatki\').value = arrSumW;
	document.getElementById(\'sumawydatki2\').value = arrSumW;

	document.getElementById(\'wynikwydatki\').value = arrSum - arrSumW;
	document.getElementById(\'wynikwydatki2\').value = arrSum - arrSumW;
</script>','A'=>'<p style="text-indent:15px;line-height:1.2em;font-size:1.1em;margin-bottom:0em">','AKCEPT'=>'<div class="bbdivcontain"><div class="atabheader"><div class="bbakcept">AKCEPTACJA</div></div><div class="bbtab" id="atab" style="clear:both"></div>','B'=>'<strong class="text-strong">','CENTER'=>'<div style="text-align:center;width:100%">','HR'=>'<hr>','I'=>'<em class="text-italics">','JUSTIFY'=>'<div style="text-align:justify">','KARTA'=>'<div class="karta" id="karta">','LEFT'=>'<div style="text-align:left">','LI'=>'<li>','MOD'=>'<span class="modhide">','MZ'=>'<input id="data" size="5" style="height:39px"><button class="button icon-button" id="btn">Zatwierdź</button><div class="bbcursor"></div><script src="get_value_of_input_box.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script><script type="text/javascript">
"use strict";
function clicked() {
    var input_value = document.getElementById(\'data\').value;
	$(".bbcursor").css("width", input_value * 30 * 2 + "px").css("height", input_value * 30 * 2 + "px");
}
document.getElementById(\'btn\').addEventListener(\'click\', clicked);;
var scrollY = 0, scrollX = 0;
$(document).mousemove(function(e){
   $(".bbcursor").css("top",e.pageY - scrollY + "px").css("left",e.pageX - scrollX + "px").css("background-color","rgba(3,3,255,0.1);");
});
$(document).scroll(function(e){
   scrollY = $(window).scrollTop();
   scrollX = $(window).scrollLeft();
});
setInterval(function(){scroll = $(window).scrollTop();}, 1000);</script>','OFFTOPIC'=>'<div class="offtopic" style="position:relative;margin:1em 0;padding:39px 19px 14px;background:#fff;border:1px solid #ddd;border-radius:4px"><div class="offtopic_title" style="position:absolute;top:-1px;left:-1px;font-family:\'Helvetica Neue\',Helvetica,Arial,sans-serif;font-weight:bold;font-size:12px;color:#9da0a4;background:#f5f5f5;padding:5px 12px;border:1px solid #ddd;border-radius:4px 0 4px 0">OFFTOPIC</div><div class="offtopic_text" style="padding:5px 10px;color:#333">','PAD'=>'<div style="padding-left:15px">','PRE'=>'<pre style="display:block;font-family:monospace;white-space:pre">','PRZYCHODY'=>'<div class="bbhead">Zdobyte Ryō: <input class="bankryo" id="sumaprzychody" disabled> Wydane Ryō: <input class="bankryo" id="sumawydatki" disabled> Pozostałe Ryō: <input class="bankryo" id="wynikwydatki" disabled></div><div id="bbramkaprzychody">','R'=>'<div class="bbramka">','RIGHT'=>'<div style="text-align:right">','S'=>'<span style="text-decoration:line-through">','SNM'=>'snmX','SUB'=>'<sub style="vertical-align:sub;font-size:smaller">','SUP'=>'<sup style="vertical-align:super;font-size:smaller">','U'=>'<span style="text-decoration:underline">','WYDATKI'=>'<div class="wydheader"><div class="bbakcept">FINANSE</div></div><div class="bbhead finshad">Zdobyte Ryō: <input class="bankryo" id="sumaprzychody2" disabled> Wydane Ryō: <input class="bankryo" id="sumawydatki2" disabled> Pozostałe Ryō: <input class="bankryo" id="wynikwydatki2" disabled></div><div class="bbramka" id="bbramkawydatki">'];
	/** {@inheritdoc} */
	protected $dynamic=['AC'=>['(^[^ ]+(?> (?!(?:aaa|bbb|ccc|ddd|eee)=)[^=]+="[^"]*")*(?> aaa="([^"]*)")?(?> (?!(?:bbb|ccc|ddd|eee)=)[^=]+="[^"]*")*(?> bbb="([^"]*)")?(?> (?!(?:ccc|ddd|eee)=)[^=]+="[^"]*")*(?> ccc="([^"]*)")?(?> (?!(?:ddd|eee)=)[^=]+="[^"]*")*(?> ddd="([^"]*)")?(?> (?!eee=)[^=]+="[^"]*")*(?> eee="([^"]*)")?.*)s','<img class="testclass" id="testimg1" src="/images/gamedatabase/test/disable$1/11.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd."><img class="testclass" id="testimg2" src="/images/gamedatabase/test/disable$2/22.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd. Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd."><img class="testclass" id="testimg3" src="/images/gamedatabase/test/disable$3/33.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd. Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd. Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd."><img class="testclass" id="testimg4" src="/images/gamedatabase/test/disable$4/44.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd."><img class="testclass" id="testimg5" src="/images/gamedatabase/test/disable$5/55.jpg" title="Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.">'],'BOX'=>['(^[^ ]+(?> (?!class=)[^=]+="[^"]*")*( class="[^"]*")?.*)s','<div id="box"$1>'],'COLOR'=>['(^[^ ]+(?> (?!color=)[^=]+="[^"]*")*(?> color="([^"]*)")?.*)s','<span style="color:$1">'],'DROPSHADOW'=>['(^[^ ]+(?> (?!dropshadow=)[^=]+="[^"]*")*(?> dropshadow="([^"]*)")?.*)s','<span class="dropshadow" style="display:inline;padding:0 6px;color:$1;text-shadow:-1px 1px 0 #999">'],'FLOAT'=>['(^[^ ]+(?> (?!float=)[^=]+="[^"]*")*(?> float="([^"]*)")?.*)s','<div style="float:$1;padding:0 10px">'],'GLOW'=>['(^[^ ]+(?> (?!glow=)[^=]+="[^"]*")*(?> glow="([^"]*)")?.*)s','<span class="glow" style="display:inline;padding:0 6px;color:#fff;text-shadow:0 0 1em $1,0 0 1em $1,0 0 1.2em $1">'],'HIGHLIGHT'=>['(^[^ ]+(?> (?!highlight=)[^=]+="[^"]*")*(?> highlight="([^"]*)")?.*)s','<span style="background-color:$1">'],'JUMP'=>['(^[^ ]+(?> (?!jump=)[^=]+="[^"]*")*(?> jump="([^"]*)")?.*)s','<a href="#$1">'],'LAND'=>['(^[^ ]+(?> (?!land=)[^=]+="[^"]*")*(?> land="([^"]*)")?.*)s','<div id="$1" class="bbland">'],'MAP'=>['(^[^ ]+(?> (?!(?:img|mirror)=)[^=]+="[^"]*")*(?> img="([^"]*)")?(?> (?!mirror=)[^=]+="[^"]*")*(?> mirror="([^"]*)")?.*)s','<div class="bbmap"><div class="bbmapinside"><div id="mapwrapper"><div class="bbgrid"></div><img class="bbmapimg $2" id="bbmimg" src="$1"></div>'],'MARQ'=>['(^[^ ]+(?> (?!marq=)[^=]+="[^"]*")*(?> marq="([^"]*)")?.*)s','<marquee direction="$1" scrolldelay="100" onmouseover="this.scrollDelay=10000000;" onmouseout="this.scrollDelay=100;" style="margin:10px 0;padding:5px;display:inline-block">'],'SHADOW'=>['(^[^ ]+(?> (?!shadow=)[^=]+="[^"]*")*(?> shadow="([^"]*)")?.*)s','<span class="shadow" style="display:inline;padding:0 6px;color:$1;text-shadow:-2px 2px 2px #999">'],'SIZE'=>['(^[^ ]+(?> (?!size=)[^=]+="[^"]*")*(?> size="([^"]*)")?.*)s','<span style="font-size:$1%;line-height:116%">'],'SOUNDCLOUD'=>['(^[^ ]+(?> (?!content=)[^=]+="[^"]*")*(?> content="([^"]*)")?.*)s','<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=$1&amp;color=ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false"></iframe>'],'URL'=>['(^[^ ]+(?> (?!url=)[^=]+="[^"]*")*(?> url="([^"]*)")?.*)s','<a href="$1" class="postlink">'],'YOUTUBE'=>['(^[^ ]+(?> (?!content0=)[^=]+="[^"]*")*(?> content0="([^"]*)")?.*)s','<iframe title="YouTube video player" width="480" height="390" src="https://www.youtube.com/embed/$1" frameborder="0" allowfullscreen=""></iframe>']];
	/** {@inheritdoc} */
	protected $quickRegexp='(<(?:(?!/)((?:A(?:C|TTACHMENT)|E(?:MOJI)?|HR|LINK_TEXT|MZ?|P(?:D|OST|ROGRESS)|ROK|S(?:NM|OUNDCLOUD)|YOUTUBE))(?: [^>]*)?>.*?</\\1|(/?(?!br/|p>)[^ />]+)[^>]*?(/)?)>)s';
	/** {@inheritdoc} */
	protected $quickRenderingTest='((?<=<)(?:[!?]|(?:FLASH|IMG|W)[ />]))';
	/** {@inheritdoc} */
	protected function renderQuickTemplate($id, $xml)
	{
		$attributes=$this->matchAttributes($xml);
		$html='';switch($id){case'/ATAB':$attributes=array_pop($this->attributes);$html.='</div><script>
	var tbbttn = document.createElement("BUTTON");
	var txttbbttn = document.createTextNode("'.htmlspecialchars_decode($attributes['title']).'");
	document.currentScript.closest("div").querySelector("#atab").appendChild(tbbttn).appendChild(txttbbttn);
	tbbttn.setAttribute("class", "atablinks");
	tbbttn.setAttribute("id", "button'.htmlspecialchars_decode($attributes['title']).'");
	tbbttn.setAttribute("onclick", "openTableA(event, \''.htmlspecialchars_decode($attributes['title']).'\');return false;");
</script>';break;case'/BUTTON':$attributes=array_pop($this->attributes);if(isset($attributes['px']))$html.='</span></span>';elseif(isset($attributes['per']))$html.='</span></span>';else$html.='</span>';$html.='</a>';break;case'/CECHA':$attributes=array_pop($this->attributes);$html.='</div></div></div><script>
			var nWalka'.htmlspecialchars_decode($attributes['id']).' = '.htmlspecialchars_decode($attributes['lvl']).';
			var iWalka'.htmlspecialchars_decode($attributes['id']).' = 1;
			var sWalka'.htmlspecialchars_decode($attributes['id']).' = 0;
			while (nWalka'.htmlspecialchars_decode($attributes['id']).' >= iWalka'.htmlspecialchars_decode($attributes['id']).') sWalka'.htmlspecialchars_decode($attributes['id']).' = sWalka'.htmlspecialchars_decode($attributes['id']).' + iWalka'.htmlspecialchars_decode($attributes['id']).'++;
			document.getElementById(\'WALKAPDWalka'.htmlspecialchars_decode($attributes['id']).'\').value = sWalka'.htmlspecialchars_decode($attributes['id']).';
		</script>';break;default:$html.='
		test
	';}break;case'/HIDE':$attributes=array_pop($this->attributes);$html.=';-;'.str_replace('&quot;','"',$attributes['hide']).'</span>';break;case'/LIST':$attributes=array_pop($this->attributes);if(!isset($attributes['type']))$html.='</ul>';elseif((strpos('upperlowerdecim',mb_substr(htmlspecialchars_decode($attributes['type']),0,5,'utf-8'))!==false))$html.='</ol>';else$html.='</ul>';break;case'/PSWDHIDE':$attributes=array_pop($this->attributes);$html.=';-;'.str_replace('&quot;','"',$attributes['pswdhide']).'</span>';break;case'/QUOTE':if($this->params['STYLE_ID']==9);else;$html.='</div>';$html.='</blockquote>';break;case'/REP':$attributes=array_pop($this->attributes);$html.='</div><script type="text/javascript">

	var maxmod = 1.5;
	var minmod = 0.66;

	var dz = ('.htmlspecialchars_decode($attributes['dobro']).'+1) / ('.htmlspecialchars_decode($attributes['zlo']).'+1);
	var pc = ('.htmlspecialchars_decode($attributes['praworzadnosc']).'+1) / ('.htmlspecialchars_decode($attributes['chaos']).'+1);
	var sla = '.htmlspecialchars_decode($attributes['dobro']).' + '.htmlspecialchars_decode($attributes['zlo']).' + '.htmlspecialchars_decode($attributes['praworzadnosc']).' + '.htmlspecialchars_decode($attributes['chaos']).';

	if (sla > 25) {
			var slawa = "Shinobi rozpoznawany po imieniu czy wyglądzie, słyszeli o nim wszędzie tam, gdzie dociera informacja.";
		} 
	else if (sla > 10) {
			var slawa = "O shinobi krążą już plotki, rozpoznawany w okolicach, w których już podejmował się pracy. Szczególnie wielu ludzi o nim słyszało w jego rodzinnych stronach.";
		} 
	else {
			var slawa = "Shinobi rozpoznawany tylko przez postacie, z którymi wcześniej wchodził w interakcję.";
		};
		
		
	if (1.25 > dz > 0.75 && 1.25 > pc > 0.75 && sla > 25) {
			var nieob = " Shinobi niepokoi zarówno lokalnych mieszkańców, jak i władze. Nieprzewidywalne zachowania powodują, że jednocześnie: ludzie mają nadzieję na udaną współpracę, jak również spodziewają się komplikacji wynikających z działań postaci.";
		} 
	else if (1.25 > dz > 0.75 && sla > 50) {
			var nieob = " Ludzie obawiają się shinobi. Jego częste przeciwstawne sobie zachowania sprawiają, że ludzie nie wiedzą, czego się po nim spodziewać. Pomimo jego powierzchownej neutralności jest on jedną wielką niewiadomą.";
		} 
	else if (1.25 > pc > 0.75 && sla > 50) {
			var nieob = " Władze mają shinobi na oku, choć wydaje się nie być kryminalistą, to i tak w ich oczach ludzi jest osobnikiem, po którym spodziewać się można kłopotów.";
		} 
	else {
			var nieob = "";
		};

	if (pc > maxmod && dz > maxmod ) {
			var repu = " Praworządny dobry: postać kierująca się honorem, zawsze stająca po stronie prawdy i potrzebujących. Przez jej uczciwość i chęć czynienia dobra postrzegana jest przez ludność jako pozytywny charakter. Nie zawsze tyczy się to władców, organów władzy i współpracowników, gdyż stawia swój kręgosłup moralny ponad rozkazy.";
		} 
	else if (pc > maxmod && maxmod >= dz && dz >= minmod) {
			var repu = " Praworządny neutralny: postać przestrzegająca prawa, odbierana przez ludność niczym tzw zimny urzędnik. Dla władz jest doskonałym materiałem na shinobi, zawsze wykonuje powierzone zadania, wierząc w dobro ogółu. Odbić się to może na współpracownikach, dla których nie każda sprawa ma jedno dno.";
		} 
	else if (pc > maxmod && minmod > dz) {
			var repu = " Praworządny zły: postać przez złe postępowanie i brak współczucia wobec ludności cywilnej, budzi u niej niechęć i strach. Nie znaczy to, że zastraszona nie będzie z nim współpracować. Jej zachowanie odbija się również na współpracownikach, którzy wolą unikać z nią kontaktu. Jednak respektuje ona siłę i hierarchie, co w oczach władz czyni ją osobę od brudnej roboty.";
		} 
	else if (maxmod >= pc && pc >= minmod && dz > maxmod ) {
			var repu = " Neutralny dobry: postać lubiąca dobre uczynki, przez co po mimo swojego zawodu jest postrzegana przez ludność pozytywnie. Nie staje po żadnej ze stron, ale wykonuje powierzone zadania, co czyni go godnym zaufania w oczach władzy.";
		} 
	else if (maxmod >= pc && pc >= minmod && maxmod >= dz && dz >= minmod) {
			var repu = " Neutralny: postać nie budzącą sympatii ani opinii publicznej, ani władz, które podchodzą do niej niechętnie i z brakiem zaufania. Choć nie wykazuje ona zachowań patologicznych, to nie można mieć pewności w jaki sposób się zachowa.";
		} 
	else if (maxmod >= pc && pc >= minmod && minmod > dz) {
			var repu = " Neutralny zły: postać znienawidzona przez wszystkie grupy społeczne. U cywilów wzbudza strach i odrazę. Dla władz jest piątym kołem u wozu, którego chcą się pozbyć i nie bez wzajemności. Uważa się taką postać za źródło konfliktów, które wywołuje z premedytacją.";
		} 
	else if (minmod > pc && dz > maxmod ) {
			var repu = " Chaotyczny dobry: postać przez swoje czyny postrzegana przez ludność umiarkowanie. Choć cechuje ją bardziej dobro, to wyborów dokonuje zgodnie ze swoim kodeksem moralnym, a nie oczekiwaniami innych, czy prawem. Postawione wyżej jednostki, nie będąc pewnymi jej poczynań, zachowują wobec niej ostrożność.";
		} 
	else if (minmod > pc && maxmod >= dz && dz >= minmod) {
			var repu = " Chaotyczny neutralny: postać postrzegana przez wszystkich jako indywiduum, któremu nie można ufać. Jej zachowanie dla otoczenia popada w skrajności. Jedyne czego się trzyma to własne dobro, co czyni ją w oczach pozostałych bardziej materiałem na najemnika, niż jakiegokolwiek partnera.";
		} 
	else {
			var repu = " Chaotyczny zły: postać przez wszystkich uważana nie tylko za złą, ale i obłąkaną. Jej zachowanie dewiacyjne zrodziło przekonanie, że nie potrzebuje powodów do czynienia zła, a kontakt z nią ogranicza się jedynie do walki, bądź ucieczki przed nią.";
		};
	
	var divslawa = document.getElementById(\'Reput\');

	divslawa.innerHTML = slawa + repu + nieob;


</script>';break;case'/SPOILER':$attributes=array_pop($this->attributes);if(isset($attributes['title']))$html.='</div>';elseif(isset($attributes['img']))$html.='</div></center>';else$html.='</div>';$html.='</div>';break;case'/TAB':$attributes=array_pop($this->attributes);$html.='</div><script>
	var tbbttn = document.createElement("BUTTON");
	var txttbbttn = document.createTextNode("'.htmlspecialchars_decode($attributes['title']).'");
	document.currentScript.closest("div").querySelector("#kptab").appendChild(tbbttn).appendChild(txttbbttn);
	tbbttn.setAttribute("class", "kptablinks");
	tbbttn.setAttribute("id", "button'.htmlspecialchars_decode($attributes['title']).'");
	tbbttn.setAttribute("onclick", "openTable(event, \''.htmlspecialchars_decode($attributes['title']).'\');return false;");
</script>';break;case'/USERHIDE':$attributes=array_pop($this->attributes);$html.=';-;'.str_replace('&quot;','"',$attributes['userhide']).'</span>';break;case'/WB':$attributes=array_pop($this->attributes);if(isset($attributes['url']))$html.='</a>';else;$html.='</div></div>';break;case'ATAB':$attributes+=['title'=>null];$html.='<div id="'.$attributes['title'].'" class="tabcontent atabpost">';$this->attributes[]=$attributes;break;case'ATTACHMENT':$attributes+=['index'=>null,'filename'=>null];$html.='<div class="inline-attachment"><!-- ia'.str_replace('&quot;','"',$attributes['index']).' -->'.str_replace('&quot;','"',$attributes['filename']).'<!-- ia'.str_replace('&quot;','"',$attributes['index']).' --></div>';break;case'BUTTON':$attributes+=['url'=>null];$html.='<a href="'.$attributes['url'].'" class="button icon-button post-icon bbbutton"';if(isset($attributes['px']))$html.=' style="width:'.$attributes['px'].'px;"><span><span>';elseif(isset($attributes['per']))$html.=' style="width:'.$attributes['per'].'%;"><span><span>';else$html.='><span>';$this->attributes[]=$attributes;break;case'CECHA':$attributes+=['typ'=>null,'lvl'=>null,'id'=>null];switch(htmlspecialchars_decode($attributes['typ'])){case'Bystrość':case'Manewry':case'Moc':case'Przetrwanie':$html.='
		1
	';break;case'Walka':$html.='<div class="bbrow"><div class="bbtitle">Walka'.str_replace('&quot;','"',$attributes['lvl']).'<input id="WALKAPDWalka'.$attributes['id'].'" style="display:none"></div><div class="bbcontent"><div class="bbrow"><span class="atrnag">Ciosy na akcję</span><span class="atrwrt"></span></div><div class="bbrow"><span class="atrnag">Precyzja ciosów</span><span class="atrwrt"></span><span class="atrnag">Zasięg celności</span><span class="atrwrt"></span></div><div class="bbrow"><span class="atrnag">Siła ciosów</span><span class="atrwrt"></span><span class="atrnag">Zasięg miotania</span><span class="atrwrt"></span><span class="atrnag">Parowanie</span><span class="atrwrt"></span></div><div><span>Maksymalna ilość stylów</span><span class="atrwrt"></span>';$this->attributes[]=$attributes;break;case'CODE':$html.='<div class="codebox"><p>';if($this->params['STYLE_ID']==9)$html.='<i class="fas fa-code"></i><span>'.htmlspecialchars($this->params['L_CODE'].$this->params['L_COLON'],0).'</span> <a href="#" class="right" onclick="selectCode(this); return false;">';else$html.=htmlspecialchars($this->params['L_CODE'].$this->params['L_COLON'],0).' <a href="#" onclick="selectCode(this); return false;">';$html.=htmlspecialchars($this->params['L_SELECT_ALL_CODE'],0).'</a>';$html.='</p><pre><code>';break;case'E':$textContent=$this->getQuickTextContent($xml);if($this->params['S_VIEWSMILIES']==='')$html.=htmlspecialchars($textContent,0);else{switch($textContent){case'8-)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cool.gif" width="15" height="17" alt="8-)" title="Cool">';break;case':!:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_exclaim.gif" width="15" height="17" alt=":!:" title="Exclamation">';break;case':(':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":(" title="Sad">';break;case':)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":)" title="Smile">';break;case':-(':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":-(" title="Sad">';break;case':-)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":-)" title="Smile">';break;case':-?':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":-?" title="Confused">';break;case':-D':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":-D" title="Very Happy">';break;case':-P':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":-P" title="Razz">';break;case':-o':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":-o" title="Surprised">';break;case':-x':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":-x" title="Mad">';break;case':-|':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_neutral.gif" width="15" height="17" alt=":-|" title="Neutral">';break;case':?':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":?" title="Confused">';break;case':?:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_question.gif" width="15" height="17" alt=":?:" title="Question">';break;case':???:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_confused.gif" width="15" height="17" alt=":???:" title="Confused">';break;case':D':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":D" title="Very Happy">';break;case':P':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":P" title="Razz">';break;case':arrow:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_arrow.gif" width="15" height="17" alt=":arrow:" title="Arrow">';break;case':cool:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cool.gif" width="15" height="17" alt=":cool:" title="Cool">';break;case':cry:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_cry.gif" width="15" height="17" alt=":cry:" title="Crying or Very Sad">';break;case':eek:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":eek:" title="Surprised">';break;case':evil:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_evil.gif" width="15" height="17" alt=":evil:" title="Evil or Very Mad">';break;case':geek:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_geek.gif" width="17" height="17" alt=":geek:" title="Geek">';break;case':grin:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_biggrin.gif" width="15" height="17" alt=":grin:" title="Very Happy">';break;case':idea:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_idea.gif" width="15" height="17" alt=":idea:" title="Idea">';break;case':lol:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_lol.gif" width="15" height="17" alt=":lol:" title="Laughing">';break;case':mad:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":mad:" title="Mad">';break;case':mrgreen:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mrgreen.gif" width="15" height="17" alt=":mrgreen:" title="Mr. Green">';break;case':o':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_surprised.gif" width="15" height="17" alt=":o" title="Surprised">';break;case':oops:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_redface.gif" width="15" height="17" alt=":oops:" title="Embarrassed">';break;case':razz:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_razz.gif" width="15" height="17" alt=":razz:" title="Razz">';break;case':roll:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_rolleyes.gif" width="15" height="17" alt=":roll:" title="Rolling Eyes">';break;case':sad:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_sad.gif" width="15" height="17" alt=":sad:" title="Sad">';break;case':shock:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_eek.gif" width="15" height="17" alt=":shock:" title="Shocked">';break;case':smile:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_smile.gif" width="15" height="17" alt=":smile:" title="Smile">';break;case':twisted:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_twisted.gif" width="15" height="17" alt=":twisted:" title="Twisted Evil">';break;case':ugeek:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_ugeek.gif" width="17" height="18" alt=":ugeek:" title="Uber Geek">';break;case':wink:':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=":wink:" title="Wink">';break;case':x':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_mad.gif" width="15" height="17" alt=":x" title="Mad">';break;case':|':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_neutral.gif" width="15" height="17" alt=":|" title="Neutral">';break;case';)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=";)" title="Wink">';break;case';-)':$html.='<img class="smilies" src="'.htmlspecialchars($this->params['T_SMILIES_PATH'],2).'/icon_e_wink.gif" width="15" height="17" alt=";-)" title="Wink">';break;default:$html.=htmlspecialchars($textContent,0);}}break;case'EMAIL':$attributes+=['email'=>null,'body'=>null];$html.='<a href="mailto:'.$attributes['email'];if(isset($attributes['subject'])||isset($attributes['body'])){$html.='?';if(isset($attributes['subject']))$html.='subject='.$attributes['subject'];if(isset($attributes['body'])){if(isset($attributes['subject']))$html.='&amp;';$html.='body='.$attributes['body'];}}$html.='">';break;case'EMOJI':$attributes+=['seq'=>null];$textContent=$this->getQuickTextContent($xml);if($this->params['S_VIEWSMILIES']!==''){$html.='<img alt="'.htmlspecialchars($textContent,2).'" class="emoji smilies" draggable="false" src="';if(isset($attributes['tseq']))$html.='//twemoji.maxcdn.com/2/svg/'.$attributes['tseq'].'.svg';else$html.='https://cdn.jsdelivr.net/gh/s9e/emoji-assets-twemoji@11.2/dist/svgz/'.$attributes['seq'].'.svgz';$html.='">';}else$html.=htmlspecialchars($textContent,0);break;case'HIDE':$attributes+=['hide'=>null];$html.='<span class="hide">'.str_replace('&quot;','"',$attributes['hide']).';-;';$this->attributes[]=$attributes;break;case'KP':$attributes+=['title'=>null];$html.='<div class="bbdivcontain"><div class="tabheader"><div class="bbakcept">'.str_replace('&quot;','"',$attributes['title']).'</div></div><div class="bbtab" id="kptab" style="clear:both"></div>';break;case'LINK_TEXT':$attributes+=['text'=>null];$html.=str_replace('&quot;','"',$attributes['text']);break;case'LIST':$attributes+=['type'=>null];if(!isset($attributes['type']))$html.='<ul>';elseif((strpos('upperlowerdecim',mb_substr(htmlspecialchars_decode($attributes['type']),0,5,'utf-8'))!==false))$html.='<ol style="list-style-type:'.$attributes['type'].'">';else$html.='<ul style="list-style-type:'.$attributes['type'].'">';$this->attributes[]=$attributes;break;case'M':$attributes+=['content'=>null,'r'=>null,'y'=>null,'x'=>null];$html.='<img class="bbmapsign" src="'.$attributes['content'];if(isset($attributes['z'])&&isset($attributes['r']))$html.='" style="transform:rotate('.$attributes['r'].'deg)"><script type="text/javascript">
		var scripts = document.getElementsByTagName(\'script\'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = "'.htmlspecialchars_decode($attributes['y']).'" * 30 +"px";
		input = currentScript.previousSibling.style.left = "'.htmlspecialchars_decode($attributes['x']).'" * 30 +"px";
		input = currentScript.previousSibling.style.zIndex = 300 + '.htmlspecialchars_decode($attributes['z']).';
		</script>';elseif(isset($attributes['r']))$html.='" style="transform:rotate('.$attributes['r'].'deg)"><script type="text/javascript">
		var scripts = document.getElementsByTagName(\'script\'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = "'.htmlspecialchars_decode($attributes['y']).'" * 30 +"px";
		input = currentScript.previousSibling.style.left = "'.htmlspecialchars_decode($attributes['x']).'" * 30 +"px";
		</script>';elseif(isset($attributes['z']))$html.='"><script type="text/javascript">
		var scripts = document.getElementsByTagName(\'script\'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = "'.htmlspecialchars_decode($attributes['y']).'" * 30 +"px";
		input = currentScript.previousSibling.style.left = "'.htmlspecialchars_decode($attributes['x']).'" * 30 +"px";
		input = currentScript.previousSibling.style.zIndex = 300 + '.htmlspecialchars_decode($attributes['z']).';
		</script>';else$html.='"><script type="text/javascript">
		var scripts = document.getElementsByTagName(\'script\'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = "'.htmlspecialchars_decode($attributes['y']).'" * 30 +"px";
		input = currentScript.previousSibling.style.left = "'.htmlspecialchars_decode($attributes['x']).'" * 30 +"px";
		</script>';break;case'PD':$attributes+=['d'=>null,'c'=>null,'b'=>null,'a'=>null,'s'=>null];$html.='<div class="bbhead">Zdobyte Doświadczenie: <input id="SPD" type="number" disabled> Wydane Doświadczenie: Pozostałe Doświadczenie:</div><div style="overflow:hidden;text-align:center"><div class="bbrow pdrow"><div class="bbtitle pdtitle">D:</div><div class="bbcontent pdcont" id="PDD">'.str_replace('&quot;','"',$attributes['d']).'</div></div><div class="bbrow pdrow"><div class="bbtitle pdtitle">C:</div><div class="bbcontent pdcont" id="PDC">'.str_replace('&quot;','"',$attributes['c']).'</div></div><div class="bbrow pdrow"><div class="bbtitle pdtitle">B:</div><div class="bbcontent pdcont" id="PDB">'.str_replace('&quot;','"',$attributes['b']).'</div></div><div class="bbrow pdrow"><div class="bbtitle pdtitle">A:</div><div class="bbcontent pdcont" id="PDA">'.str_replace('&quot;','"',$attributes['a']).'</div></div><div class="bbrow pdrow"><div class="bbtitle pdtitle">S:</div><div class="bbcontent pdcont" id="PDS">'.str_replace('&quot;','"',$attributes['s']).'</div></div></div><script>
	var misjed = document.getElementById("PDD").innerHTML;
	var misjec = document.getElementById("PDC").innerHTML;
	var misjeb = document.getElementById("PDB").innerHTML;
	var misjea = document.getElementById("PDA").innerHTML;
	var misjes = document.getElementById("PDS").innerHTML;
	var sumapd = misjed * 10 + misjec * 25 + misjeb * 50 + misjea * 75 + misjes * 100;
	var spd = document.getElementById("SPD");
	spd.setAttribute("value", sumapd);
</script>';break;case'POST':$attributes+=['img'=>null,'title'=>null,'content'=>null];$html.='<div class="specpost"><img src="'.$attributes['img'].'"><img src="'.$attributes['title'].'"><span>'.str_replace('&quot;','"',$attributes['content']).'</span></div>';break;case'PROGRESS':$attributes+=['content'=>null];$html.='<span';if(isset($attributes['color']))$html.=' style="width: 200px; height: 10px; border: 1px solid; border-color:'.$attributes['color'].'; margin: 0; padding: 0; display: block;"><span style="height:0;padding:0;margin:1px;border-top:solid 8px;border-color:'.$attributes['color'].';width:';else$html.=' style="width: 200px; height: 10px; border: 1px solid; margin: 0; padding: 0; display: block;"><span style="height:0;padding:0;margin:1px;border-top:solid 8px;width:';$html.=$attributes['content'].'%;display:block"></span>';$html.='</span>';break;case'PSWDHIDE':$attributes+=['pswdhide'=>null];$html.='<span class="opthide">'.str_replace('&quot;','"',$attributes['pswdhide']).';-;';$this->attributes[]=$attributes;break;case'QUOTE':$attributes+=['url'=>null,'author'=>null,'post_id'=>null,'msg_id'=>null];$html.='<blockquote';if(isset($attributes['post_url']))$html.=' cite="'.$attributes['post_url'].'"';if(!isset($attributes['author']))$html.=' class="uncited"';$html.='>';if($this->params['STYLE_ID']==9){$html.='<i class="fas fa-quote-right"></i><div>';if(isset($attributes['author'])){$html.='<cite>';if(isset($attributes['url']))$html.='<a href="'.$attributes['url'].'" class="postlink">'.str_replace('&quot;','"',$attributes['author']).'</a>';elseif(isset($attributes['profile_url']))$html.='<a href="'.$attributes['profile_url'].'">'.str_replace('&quot;','"',$attributes['author']).'</a>';else$html.=str_replace('&quot;','"',$attributes['author']);$html.=' '.htmlspecialchars($this->params['L_WROTE'].$this->params['L_COLON'],0);if(isset($attributes['post_url']))$html.=' <a href="'.$attributes['post_url'].'" class="right" data-post-id="'.$attributes['post_id'].'" onclick="if(document.getElementById(hash.substr(1)))href=hash"><i class="fas fa-link"></i></a>';if(isset($attributes['msg_url']))$html.=' <a href="'.$attributes['msg_url'].'" class="right" data-msg-id="'.$attributes['msg_id'].'"><i class="fas fa-link"></i></a>';if(isset($attributes['date']))$html.='<span class="right">'.str_replace('&quot;','"',$attributes['date']).'</span>';$html.='</cite>';}}else{$html.='<div>';if(isset($attributes['author'])){$html.='<cite>';if(isset($attributes['url']))$html.='<a href="'.$attributes['url'].'" class="postlink">'.str_replace('&quot;','"',$attributes['author']).'</a>';elseif(isset($attributes['profile_url']))$html.='<a href="'.$attributes['profile_url'].'">'.str_replace('&quot;','"',$attributes['author']).'</a>';else$html.=str_replace('&quot;','"',$attributes['author']);$html.=' '.htmlspecialchars($this->params['L_WROTE'].$this->params['L_COLON'],0);if(isset($attributes['post_url']))$html.=' <a href="'.$attributes['post_url'].'" data-post-id="'.$attributes['post_id'].'" onclick="if(document.getElementById(hash.substr(1)))href=hash">↑</a>';if(isset($attributes['msg_url']))$html.=' <a href="'.$attributes['msg_url'].'" data-msg-id="'.$attributes['msg_id'].'">↑</a>';if(isset($attributes['date']))$html.='<span class="responsive-hide">'.str_replace('&quot;','"',$attributes['date']).'</span>';$html.='</cite>';}}break;case'REP':$attributes+=['dobro'=>null,'zlo'=>null,'praworzadnosc'=>null,'chaos'=>null];$html.='<div class="bbhead">Opinia publiczna</div><div class="bbrow" style="padding:3px" id="Reput"></div><div class="bbhead">Dodatkowe notatki o reputacji</div><div class="bbrow" style="padding:3px">';$this->attributes[]=$attributes;break;case'ROK':$attributes+=['typ'=>null,'urodziny'=>null,'wzrost'=>null,'waga'=>null];$html.='<script>
	var rok = 65;
</script>';switch(htmlspecialchars_decode($attributes['typ'])){case'data':$html.='<script>
			document.write(rok);
		</script>';break;case'opis':$html.='<div>Urodzony w roku '.str_replace('&quot;','"',$attributes['urodziny']).'; Wiek: <span id="wiekkp"></span> lat; Wzrost: <span id="inwzrost">'.str_replace('&quot;','"',$attributes['wzrost']).'</span> (<span id="wzrostout"></span>cm); Waga: <span id="inwaga">'.str_replace('&quot;','"',$attributes['waga']).'</span> (<span id="wagaout"></span>kg).</div><script>
			var rokmod2 = '.htmlspecialchars_decode($attributes['urodziny']).';
			var wiek2 = rok - rokmod2;
			document.getElementById("wiekkp").innerHTML = wiek2;

			var inwzrost = document.getElementById("inwzrost").innerHTML;
			var inwaga = document.getElementById("inwaga").innerHTML;

			if(inwzrost === "Olbrzymi") {
				var wzrostbase = 155;
			}
			else if(inwzrost === "Wysoki") {
				var wzrostbase = 130;
			}
			else if(inwzrost === "Średni") {
				var wzrostbase = 115;
			}
			else if(inwzrost === "Niski") {
				var wzrostbase = 100;
			}
			else if(inwzrost === "Karłowaty") {
				var wzrostbase = 75;
			}

			if(inwaga === "Niska") {
				var wagamod = 0.8;
			}
			else if(inwaga === "Naturalna") {
				var wagamod = 1;
			}
			else if(inwaga === "Duża") {
				var wagamod = 1.25;
			}
			
			var wzrostout = wzrostbase + ((Math.max(0, (Math.min((wiek2-13), 5))))*10);
			var wagaout = (Math.max(25, (30 + (wzrostout - 105) * 0.66)))*wagamod;
 
			document.getElementById("wzrostout").innerHTML = wzrostout;
			document.getElementById("wagaout").innerHTML = wagaout;

		</script>';break;case'wiek':$html.='<script>
			var rokmod = '.htmlspecialchars_decode($attributes['urodziny']).';
			var wiek = rok - rokmod;
			document.write(wiek);
		</script>';break;default:$html.='
		Spieprzyłeś coś.
	';}break;case'SPOILER':$html.='<div style="margin-top:5px">';if(isset($attributes['title']))$html.='<div class="quotetitle"><b>'.str_replace('&quot;','"',$attributes['title']).':</b><input type="button" class="button icon-button post-icon bbbutton" value="Pokaż" style="width:45px;font-size:10px;margin:0;padding:0" onclick="             if (this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display!= \'\')             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'\';                  this.innerText = \'\';                 this.value = \'Ukryj\';             }             else             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\';                 this.innerText = \'\';                 this.value = \'Pokaż\';             }         "></div><div class="quotecontent" style="display:none">';elseif(isset($attributes['img']))$html.='<center><div class="quotetitle"><img src="'.$attributes['img'].'" style="align:center" onclick="             if (this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display!= \'\')             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'\';                  this.innerText = \'\';                              }             else             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\';                 this.innerText = \'\';                              }         "></div><div class="quotecontent" style="display:none">';else$html.='<div class="quotetitle"><b>Spoiler:</b><input type="button" class="button icon-button post-icon bbbutton" value="Pokaż" style="width:45px;font-size:10px;margin:0;padding:0" onclick="             if (this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display!= \'\')             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'\';                  this.innerText = \'\';                 this.value = \'Ukryj\';             }             else             {                 this.parentNode.parentNode.getElementsByTagName(\'div\')[1].style.display = \'none\';                 this.innerText = \'\';                 this.value = \'Pokaż\';             }         "></div><div class="quotecontent" style="display:none">';$this->attributes[]=$attributes;break;case'TAB':$attributes+=['title'=>null];$html.='<div id="'.$attributes['title'].'" class="KPtabcontent tabpost">';$this->attributes[]=$attributes;break;case'USERHIDE':$attributes+=['userhide'=>null];$html.='<span class="userhide">'.str_replace('&quot;','"',$attributes['userhide']).';-;';$this->attributes[]=$attributes;break;case'WB':$attributes+=['wb'=>null];$html.='<div class="bbrow bankrow"><div class="bbtitle"><input class="inputcash" disabled value="'.$attributes['wb'].'"></div><div class="bbcontent">';if(isset($attributes['url']))$html.='<a href="'.$attributes['url'].'">';else;$this->attributes[]=$attributes;}

		return $html;
	}
}
Edit, I tried to copy cache files on the FTP. There was nothing in the cache folder visible in total commander, but still it asked me if I want to overwrite files. Is there a way to really clear cashe if I cannot access PA?
User avatar
JoshyPHP
Code Contributor
Posts: 1276
Joined: Mon Jul 11, 2011 12:28 am

Re: Parse error: syntax error, unexpected 'case' (T_CASE)

Post by JoshyPHP »

If you send me the content of your phpbb_bbcodes table I'll look into it. An SQL dump of that table from phpMyAdmin would be ideal. If it's possible to accidentally generate invalid PHP code with a BBCode, I'd like to fix it asap.

In the meantime, if you can try removing the CECHA BBCode from your table with phpMyAdmin and all of the PHP files from the cache/production directory. It may fix it if the issue is caused by this BBCode.

Another workaround could be to edit your phpBB/phpbb/textformatter/s9e/factory.php and replace the following line:

Code: Select all

$configurator->rendering->engine->enableQuickRenderer = true;
With this:

Code: Select all

$configurator->rendering->engine->enableQuickRenderer = false;
It will probably fix it temporarily until the actual bug is fixed.
I wrote the library that handles markup in phpBB 3.2+.
Zanzazaar
Registered User
Posts: 57
Joined: Fri Jan 15, 2016 2:14 pm

Re: Parse error: syntax error, unexpected 'case' (T_CASE)

Post by Zanzazaar »

Thanks, I checked SQL and removed last edited bbcode, with that I regained access to forum. Something is going wrong when I try to use <br> html inside xsl. I tried to add that bbcode later without <br> and it was working fine until again I added that one html.
Once again, thanks for help :)
User avatar
JoshyPHP
Code Contributor
Posts: 1276
Joined: Mon Jul 11, 2011 12:28 am

Re: Parse error: syntax error, unexpected 'case' (T_CASE)

Post by JoshyPHP »

Please send me the content of your phpbb_bbcodes table so I can look into it.
I wrote the library that handles markup in phpBB 3.2+.
User avatar
AmigoJack
Registered User
Posts: 5937
Joined: Tue Jun 15, 2010 11:33 am
Location: グリーン ヒル ゾーン
Contact:

Re: Parse error: syntax error, unexpected 'case' (T_CASE)

Post by AmigoJack »

Syntax formatting lines 355 thru 373 and cutting out literals and uninteresting htmlspecialchars_decode() calls makes the wrong syntax obvious:

Code: Select all

	protected function renderQuickTemplate($id, $xml)
	{
		$attributes=$this->matchAttributes($xml);
		$html='';
		switch($id){
			case'/ATAB':
				$attributes=array_pop($this->attributes);
				$html.='...';
			break;
			case'/BUTTON':
				$attributes=array_pop($this->attributes);
				if(isset($attributes['px'])) $html.='...';
				elseif(isset($attributes['per'])) $html.='...';
				else $html.='...';
				$html.='...';
			break;
			case'/CECHA':
				$attributes=array_pop($this->attributes);
				$html.='...';
			break;
			default:
				$html.='...';
		}
		break;
		
		case'/HIDE':
			$attributes=array_pop($this->attributes);$html.='...'.str_replace('&quot;','"',$attributes['hide']).'...';
		break;
		case'/LIST':
			$attributes=array_pop($this->attributes);
			if(!isset($attributes['type'])) $html.='...';
			elseif((strpos('upperlowerdecim',mb_substr(htmlspecialchars_decode($attributes['type']),0,5,'utf-8'))!==false)) $html.='...';
			else $html.='...';
		break;
		case'/PSWDHIDE':
			$attributes=array_pop($this->attributes);$html.='...'.str_replace('&quot;','"',$attributes['pswdhide']).'...';
		break;
		case'/QUOTE':
			if($this->params['STYLE_ID']==9);
			else;
			$html.='...';
			$html.='...';
		break;
		case'/REP':
			$attributes=array_pop($this->attributes);$html.='...
The break outside a switch or loop should yield E_COMPILE_ERROR since PHP 7. Also look at the suspicious code for case '/QUOTE': neither if nor else do anything, and below the variable is concatenated two times in a row, instead of doing it in one.
  • "The problem is probably not my English but you do not want to understand correctly. ... We will not come anybody anyway, nevertheless, it's best to shit this." Affin, 2018-11-20
  • "But this shit is not here for you. You can follow with your. Maybe the question, instead, was for you, who know, so you shoved us how you are." axe70, 2020-10-10
  • "My reaction is not to everyone, especially to you." Raptiye, 2021-02-28
Zanzazaar
Registered User
Posts: 57
Joined: Fri Jan 15, 2016 2:14 pm

Re: Parse error: syntax error, unexpected 'case' (T_CASE)

Post by Zanzazaar »

@JoshyPHP Now I am cleaning my bbcodes and I changed <xsl:when test="@Typ = 'Zasoby'"> to <xsl:when test="@typ = 'Zasoby'"> and id caused the error: Parse error: syntax error, unexpected 'case' (T_CASE) in /home/p516445/public_html/cache/production/s9e_renderer_f4f11eba1503ea7f467d4cc2d81b16e661b5ac97.php on line 408

My phpbb_bbcodes

Code: Select all

===Baza danych p516445_snm

== Struktura tabeli dla tabeli phpbb_bbcodes

|------
|Kolumna|Typ|Null|Ustawienia domyślne
|------
|//**bbcode_id**//|smallint(4)|Nie|0
|bbcode_tag|varchar(16)|Nie|
|bbcode_helpline|varchar(255)|Nie|
|display_on_posting|tinyint(1)|Nie|0
|bbcode_match|text|Nie|
|bbcode_tpl|mediumtext|Nie|
|first_pass_match|mediumtext|Nie|
|first_pass_replace|mediumtext|Nie|
|second_pass_match|mediumtext|Nie|
|second_pass_replace|mediumtext|Nie|
== Zrzut danych tabeli phpbb_bbcodes

|58|left|Tekst wyrównany do lewej: [left]tekst[/left]|1|[left]{TEXT}[/left]|&lt;div style=&quot;text-align:left&quot;&gt;{TEXT}&lt;/div&gt;|!\[left\](.*?)\[/left\]!ies|'[left:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/left:$uid]'|!\[left:$uid\](.*?)\[/left:$uid\]!s|&lt;div style=&quot;text-align:left&quot;&gt;${1}&lt;/div&gt;
|15|highlight|Tło tekstu: [highlight=kolor]tekst[/highlight]|1|[highlight={COLOR}]{TEXT}[/highlight]|&lt;span style=&quot;background-color: {COLOR};&quot;&gt;{TEXT}&lt;/span&gt;|!\[highlight\=([a-z]+&#124;#[0-9abcdef]+)\](.*?)\[/highlight\]!ies|'[highlight=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/highlight:$uid]'|!\[highlight\=([a-zA-Z]+&#124;#[0-9abcdefABCDEF]+):$uid\](.*?)\[/highlight:$uid\]!s|&lt;span style=&quot;background-color: ${1};&quot;&gt;${2}&lt;/span&gt;
|17|float|Obiekt opływa tekstem (kierunek wskazuje z której strony tekstu znajdzie się obiekt): [float=kolor]obiekt np.:img[/float]|1|[float={IDENTIFIER}]{TEXT}[/float]|&lt;div style=&quot;float:{IDENTIFIER}; padding:0 10px;&quot;&gt;{TEXT}&lt;/div&gt;|!\[float\=([a-zA-Z0-9-_]+)\](.*?)\[/float\]!ies|'[float=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/float:$uid]'|!\[float\=([a-zA-Z0-9-_]+):$uid\](.*?)\[/float:$uid\]!s|&lt;div style=&quot;float:${1}; padding:0 10px;&quot;&gt;${2}&lt;/div&gt;
|18|pre|Tekst niesformatowany: [pre]tekst[/pre]|1|[pre]{TEXT}[/pre]|&lt;pre style=&quot;display: block; font-family: monospace; white-space: pre;&quot;&gt;{TEXT}&lt;/pre&gt;|!\[pre\](.*?)\[/pre\]!ies|'[pre:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/pre:$uid]'|!\[pre:$uid\](.*?)\[/pre:$uid\]!s|&lt;pre style=&quot;display: block; font-family: monospace; white-space: pre;&quot;&gt;${1}&lt;/pre&gt;
|19|s|Przekreślenie: [s]tekst[/s]|1|[s]{TEXT}[/s]|&lt;span style=&quot;text-decoration: line-through&quot;&gt;{TEXT}&lt;/span&gt;|!\[s\](.*?)\[/s\]!ies|'[s:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/s:$uid]'|!\[s:$uid\](.*?)\[/s:$uid\]!s|&lt;span style=&quot;text-decoration: line-through&quot;&gt;${1}&lt;/span&gt;
|20|sup|ABBC3_SUP_HELPLINE|0|[sup]{TEXT}[/sup]|&lt;sup style=&quot;vertical-align: super; font-size: smaller;&quot;&gt;{TEXT}&lt;/sup&gt;|!\[sup\](.*?)\[/sup\]!ies|'[sup:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/sup:$uid]'|!\[sup:$uid\](.*?)\[/sup:$uid\]!s|&lt;sup style=&quot;vertical-align: super; font-size: smaller;&quot;&gt;${1}&lt;/sup&gt;
|21|sub|ABBC3_SUB_HELPLINE|0|[sub]{TEXT}[/sub]|&lt;sub style=&quot;vertical-align: sub; font-size: smaller;&quot;&gt;{TEXT}&lt;/sub&gt;|!\[sub\](.*?)\[/sub\]!ies|'[sub:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/sub:$uid]'|!\[sub:$uid\](.*?)\[/sub:$uid\]!s|&lt;sub style=&quot;vertical-align: sub; font-size: smaller;&quot;&gt;${1}&lt;/sub&gt;
|22|glow|Blask wokół tekstu: [glow=kolor]tekst[/glow]|1|[glow={COLOR}]{TEXT}[/glow]|&lt;span class=&quot;glow&quot; style=&quot;display: inline; padding: 0 6px; color: #ffffff; text-shadow: 0 0 1em {COLOR}, 0 0 1em {COLOR}, 0 0 1.2em {COLOR};&quot;&gt;{TEXT}&lt;/span&gt;|!\[glow\=([a-z]+&#124;#[0-9abcdef]+)\](.*?)\[/glow\]!ies|'[glow=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/glow:$uid]'|!\[glow\=([a-zA-Z]+&#124;#[0-9abcdefABCDEF]+):$uid\](.*?)\[/glow:$uid\]!s|&lt;span class=&quot;glow&quot; style=&quot;display: inline; padding: 0 6px; color: #ffffff; text-shadow: 0 0 1em ${1}, 0 0 1em ${1}, 0 0 1.2em ${1};&quot;&gt;${2}&lt;/span&gt;
|23|shadow|Ustawienie koloru tekstu wraz z cieniem: [shadow=KOLOR]TEXT[/shadow]|1|[shadow={COLOR}]{TEXT}[/shadow]|&lt;span class=&quot;shadow&quot; style=&quot;display: inline; padding: 0 6px; color: {COLOR}; text-shadow: -2px 2px 2px #999;&quot;&gt;{TEXT}&lt;/span&gt;|!\[shadow\=([a-z]+&#124;#[0-9abcdef]+)\](.*?)\[/shadow\]!ies|'[shadow=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/shadow:$uid]'|!\[shadow\=([a-zA-Z]+&#124;#[0-9abcdefABCDEF]+):$uid\](.*?)\[/shadow:$uid\]!s|&lt;span class=&quot;shadow&quot; style=&quot;display: inline; padding: 0 6px; color: ${1}; text-shadow: -2px 2px 2px #999;&quot;&gt;${2}&lt;/span&gt;
|24|dropshadow|Zmienia kolor tekstu i rzuca jego cień: [dropshadow=kolor]tekst[/dropshadow]|1|[dropshadow={COLOR}]{TEXT}[/dropshadow]|&lt;span class=&quot;dropshadow&quot; style=&quot;display: inline; padding: 0 6px; color: {COLOR}; text-shadow: -1px 1px 0 #999;&quot;&gt;{TEXT}&lt;/span&gt;|!\[dropshadow\=([a-z]+&#124;#[0-9abcdef]+)\](.*?)\[/dropshadow\]!ies|'[dropshadow=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/dropshadow:$uid]'|!\[dropshadow\=([a-zA-Z]+&#124;#[0-9abcdefABCDEF]+):$uid\](.*?)\[/dropshadow:$uid\]!s|&lt;span class=&quot;dropshadow&quot; style=&quot;display: inline; padding: 0 6px; color: ${1}; text-shadow: -1px 1px 0 #999;&quot;&gt;${2}&lt;/span&gt;
|55|box|Div do ogłoszeń bannerów etc, wymaga formatowania CSS po zewnętrznych obiektach lub wprowadzonej klasie..|0|[box class=&amp;quot;{SIMPLETEXT?}&amp;quot;]{TEXT}[/box]|&lt;xsl:choose&gt;&lt;xsl:when test=&quot;@class&quot;&gt;&lt;div id=&quot;box&quot; class=&quot;{SIMPLETEXT}&quot;&gt;{TEXT}&lt;/div&gt;&lt;/xsl:when&gt;&lt;xsl:otherwise&gt;&lt;div id=&quot;box&quot;&gt;{TEXT}&lt;/div&gt;&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;|!\[box class\=&amp;quot;\{SIMPLETEXT\?\}&amp;quot;\](.*?)\[/box\]!ies|'[box class=&amp;quot;{SIMPLETEXT?}&amp;quot;:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/box:$uid]'|!\[box class\=&amp;quot;\{SIMPLETEXT\?\}&amp;quot;:$uid\](.*?)\[/box:$uid\]!s|&lt;xsl:choose&gt;&lt;xsl:when test=&quot;@class&quot;&gt;&lt;div id=&quot;box&quot; class=&quot;{SIMPLETEXT}&quot;&gt;${1}&lt;/div&gt;&lt;/xsl:when&gt;&lt;xsl:otherwise&gt;&lt;div id=&quot;box&quot;&gt;${1}&lt;/div&gt;&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;
|57|center|Tekst wycentrowany: [center]tekst[/center]|1|[center]{TEXT}[/center]|&lt;div style=&quot;text-align:center; width:100%;&quot;&gt;{TEXT}&lt;/div&gt;|!\[center\](.*?)\[/center\]!ies|'[center:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/center:$uid]'|!\[center:$uid\](.*?)\[/center:$uid\]!s|&lt;div style=&quot;text-align:center; width:100%;&quot;&gt;${1}&lt;/div&gt;
|56|justify|Tekst wyjustowany: [justify]tekst[/justify]|1|[justify]{TEXT}[/justify]|&lt;div style=&quot;text-align:justify&quot;&gt;{TEXT}&lt;/div&gt;|!\[justify\](.*?)\[/justify\]!ies|'[justify:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/justify:$uid]'|!\[justify:$uid\](.*?)\[/justify:$uid\]!s|&lt;div style=&quot;text-align:justify&quot;&gt;${1}&lt;/div&gt;
|28|marq|Pływający tekst: [marq=kierunek]tekst[/marq]|1|[marq={IDENTIFIER}]{TEXT}[/marq]|&lt;marquee direction=&quot;{IDENTIFIER}&quot; scrolldelay=&quot;100&quot; onmouseover=&quot;this.scrollDelay=10000000;&quot; onmouseout=&quot;this.scrollDelay=100;&quot; style=&quot;margin: 10px 0; padding: 5px; display: inline-block;&quot;&gt;{TEXT}&lt;/marquee&gt;|!\[marq\=([a-zA-Z0-9-_]+)\](.*?)\[/marq\]!ies|'[marq=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/marq:$uid]'|!\[marq\=([a-zA-Z0-9-_]+):$uid\](.*?)\[/marq:$uid\]!s|&lt;marquee direction=&quot;${1}&quot; scrolldelay=&quot;100&quot; onmouseover=&quot;this.scrollDelay=10000000;&quot; onmouseout=&quot;this.scrollDelay=100;&quot; style=&quot;margin: 10px 0; padding: 5px; display: inline-block;&quot;&gt;${2}&lt;/marquee&gt;
|59|right|Tekst wyrównany do prawej: [right]tekst[/right]|1|[right]{TEXT}[/right]|&lt;div style=&quot;text-align:right&quot;&gt;{TEXT}&lt;/div&gt;|!\[right\](.*?)\[/right\]!ies|'[right:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/right:$uid]'|!\[right:$uid\](.*?)\[/right:$uid\]!s|&lt;div style=&quot;text-align:right&quot;&gt;${1}&lt;/div&gt;
|31|offtopic|Offtopic, dygresja: [offtopic]tekst[/offtopic]|1|[offtopic]{TEXT}[/offtopic]|&lt;div class=&quot;offtopic&quot; style=&quot;position:relative;margin:1em 0;padding:39px 19px 14px;background:#fff;border:1px solid #ddd;border-radius:4px;&quot;&gt;&lt;div class=&quot;offtopic_title&quot; style=&quot;position:absolute;top:-1px;left:-1px;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-weight:bold;font-size:12px;color:#9da0a4;background:#f5f5f5;padding:5px 12px;border:1px solid #ddd;border-radius:4px 0 4px 0;&quot;&gt;OFFTOPIC&lt;/div&gt;&lt;div class=&quot;offtopic_text&quot; style=&quot;padding:5px 10px;color:#333333;&quot;&gt;{TEXT}&lt;/div&gt;&lt;/div&gt;|!\[offtopic\](.*?)\[/offtopic\]!ies|'[offtopic:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/offtopic:$uid]'|!\[offtopic:$uid\](.*?)\[/offtopic:$uid\]!s|&lt;div class=&quot;offtopic&quot; style=&quot;position:relative;margin:1em 0;padding:39px 19px 14px;background:#fff;border:1px solid #ddd;border-radius:4px;&quot;&gt;&lt;div class=&quot;offtopic_title&quot; style=&quot;position:absolute;top:-1px;left:-1px;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-weight:bold;font-size:12px;color:#9da0a4;background:#f5f5f5;padding:5px 12px;border:1px solid #ddd;border-radius:4px 0 4px 0;&quot;&gt;OFFTOPIC&lt;/div&gt;&lt;div class=&quot;offtopic_text&quot; style=&quot;padding:5px 10px;color:#333333;&quot;&gt;${1}&lt;/div&gt;&lt;/div&gt;
|63|hide| |0|[hide={NUMBER}]{TEXT}[/hide]|&lt;span class=&quot;hide&quot;&gt;{NUMBER};-;{TEXT};-;{NUMBER}&lt;/span&gt;|!\[hide\=([0-9]+)\](.*?)\[/hide\]!ies|'[hide=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/hide:$uid]'|!\[hide\=([0-9]+):$uid\](.*?)\[/hide:$uid\]!s|&lt;span class=&quot;hide&quot;&gt;${1};-;${2};-;${1}&lt;/span&gt;
|34|soundcloud|Player muzyki: [soundcloud]/Adres do utworu na portalu Soundcloud/[/soundcloud]|1|[soundcloud]{URL}[/soundcloud]|&lt;iframe width=&quot;100%&quot; height=&quot;166&quot; scrolling=&quot;no&quot; frameborder=&quot;no&quot; src=&quot;https://w.soundcloud.com/player/?url={URL}&amp;amp;color=ff5500&amp;amp;auto_play=false&amp;amp;hide_related=false&amp;amp;show_comments=true&amp;amp;show_user=true&amp;amp;show_reposts=false&quot;&gt;&lt;/iframe&gt;|!\[soundcloud\](?:([a-z][a-z\d+\-.]*(?&lt;\!javascript):/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+&#124;[0-9.]+&#124;\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)&#124;(www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?))\[/soundcloud\]!iue|'[soundcloud:$uid]'.$this-&gt;bbcode_specialchars(('${1}') ? '${1}' : 'http://${2}').'[/soundcloud:$uid]'|!\[soundcloud:$uid\](?i)((?:[a-z][a-z\d+\-.]*(?&lt;\!javascript):/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+&#124;[0-9.]+&#124;\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)&#124;(?:www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?))(?-i)\[/soundcloud:$uid\]!su|&lt;iframe width=&quot;100%&quot; height=&quot;166&quot; scrolling=&quot;no&quot; frameborder=&quot;no&quot; src=&quot;https://w.soundcloud.com/player/?url=${1}&amp;amp;color=ff5500&amp;amp;auto_play=false&amp;amp;hide_related=false&amp;amp;show_comments=true&amp;amp;show_user=true&amp;amp;show_reposts=false&quot;&gt;&lt;/iframe&gt;
|38|a|Akapit tworzący wcięcie w pierwszej linii oraz margines pod tekstem: [a]tekst[/a]|1|[a]{TEXT}[/a]|&lt;p style=&quot;text-indent:15px;line-height:1.2em;font-size:1.1em;margin-bottom:0em;&quot;&gt;{TEXT}&lt;/p&gt;|!\[a\](.*?)\[/a\]!ies|'[a:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/a:$uid]'|!\[a:$uid\](.*?)\[/a:$uid\]!s|&lt;p style=&quot;text-indent:15px;line-height:1.2em;font-size:1.1em;margin-bottom:0em;&quot;&gt;${1}&lt;/p&gt;
|40|hr|Pozioma linia przez post: [l][/l]|1|[hr][/hr]|&lt;hr /&gt;|!\[hr\]\[/hr\]!i|[hr:$uid][/hr:$uid]|[hr:$uid][/hr:$uid]| 
|41|button|Link w buttonie, szerokość jest opcjonalna, podana w pixerlach jako px lub procentach jako per: [button url=adres www px=szerokość w pixelach per=szerokość w procentach]tekst[/button]|1|[button url={URL} px={NUMBER1?} per={NUMBER2?}]{TEXT}[/button]|&lt;xsl:choose&gt;&lt;xsl:when test=&quot;@px&quot;&gt;&lt;a href=&quot;{URL}&quot; class=&quot;button icon-button post-icon bbbutton&quot; style=&quot;width:{NUMBER1}px;&quot;&gt;&lt;span&gt;&lt;span&gt;{TEXT}&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/xsl:when&gt;&lt;xsl:when test=&quot;@per&quot;&gt;&lt;a href=&quot;{URL}&quot; class=&quot;button icon-button post-icon bbbutton&quot; style=&quot;width:{NUMBER2}%;&quot;&gt;&lt;span&gt;&lt;span&gt;{TEXT}&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/xsl:when&gt;&lt;xsl:otherwise&gt;&lt;a href=&quot;{URL}&quot; class=&quot;button icon-button post-icon bbbutton&quot;&gt;&lt;span&gt;{TEXT}&lt;/span&gt;&lt;/a&gt;&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;|!\[button url\=(?:([a-z][a-z\d+\-.]*(?&lt;\!javascript):/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+&#124;[0-9.]+&#124;\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)&#124;(www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)) px\=\{NUMBER1\?\} per\=\{NUMBER2\?\}\](.*?)\[/button\]!iues|'[button url='.$this-&gt;bbcode_specialchars(('${1}') ? '${1}' : 'http://${2}').' px={NUMBER1?} per={NUMBER2?}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${3}')).'[/button:$uid]'|!\[button url\=(?i)((?:[a-z][a-z\d+\-.]*(?&lt;\!javascript):/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+&#124;[0-9.]+&#124;\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)&#124;(?:www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?))(?-i) px\=\{NUMBER1\?\} per\=\{NUMBER2\?\}:$uid\](.*?)\[/button:$uid\]!su|&lt;xsl:choose&gt;&lt;xsl:when test=&quot;@px&quot;&gt;&lt;a href=&quot;${1}&quot; class=&quot;button icon-button post-icon bbbutton&quot; style=&quot;width:{NUMBER1}px;&quot;&gt;&lt;span&gt;&lt;span&gt;${2}&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/xsl:when&gt;&lt;xsl:when test=&quot;@per&quot;&gt;&lt;a href=&quot;${1}&quot; class=&quot;button icon-button post-icon bbbutton&quot; style=&quot;width:{NUMBER2}%;&quot;&gt;&lt;span&gt;&lt;span&gt;${2}&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/xsl:when&gt;&lt;xsl:otherwise&gt;&lt;a href=&quot;${1}&quot; class=&quot;button icon-button post-icon bbbutton&quot;&gt;&lt;span&gt;${2}&lt;/span&gt;&lt;/a&gt;&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;
|42|pswdhide|Spoiler na hasło: [pswdhide=hasło]treść[/pswdhide]|0|[pswdhide={IDENTIFIER}]{TEXT}[/pswdhide]|&lt;span class=&quot;opthide&quot;&gt;{IDENTIFIER};-;{TEXT};-;{IDENTIFIER}&lt;/span&gt;|!\[pswdhide\=([a-zA-Z0-9-_]+)\](.*?)\[/pswdhide\]!ies|'[pswdhide=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/pswdhide:$uid]'|!\[pswdhide\=([a-zA-Z0-9-_]+):$uid\](.*?)\[/pswdhide:$uid\]!s|&lt;span class=&quot;opthide&quot;&gt;${1};-;${2};-;${1}&lt;/span&gt;
|43|userhide|Treść tylko dla innego użytkownika: [userhide=ID użytkownika]tekst[/userhide]|1|[userhide={NUMBER}]{TEXT}[/userhide]|&lt;span class=&quot;userhide&quot;&gt;{NUMBER};-;{TEXT};-;{NUMBER}&lt;/span&gt;|!\[userhide\=([0-9]+)\](.*?)\[/userhide\]!ies|'[userhide=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/userhide:$uid]'|!\[userhide\=([0-9]+):$uid\](.*?)\[/userhide:$uid\]!s|&lt;span class=&quot;userhide&quot;&gt;${1};-;${2};-;${1}&lt;/span&gt;
|44|mod|Ukryte treści do wglądu dla moderacji i administracji: [mod]tekst[/mod]|1|[mod]{TEXT}[/mod]|&lt;span class=&quot;modhide&quot;&gt;{TEXT}&lt;/span&gt;|!\[mod\](.*?)\[/mod\]!ies|'[mod:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/mod:$uid]'|!\[mod:$uid\](.*?)\[/mod:$uid\]!s|&lt;span class=&quot;modhide&quot;&gt;${1}&lt;/span&gt;
|46|jump|Odsyłacz do bbcode land: [jump=wybrane ID]tekst[/jump]|0|[jump={SIMPLETEXT}]{TEXT}[/jump]|&lt;a href=&quot;#{SIMPLETEXT}&quot;&gt;{TEXT}&lt;/a&gt;|!\[jump\=([a-zA-Z0-9-+.,_ ]+)\](.*?)\[/jump\]!ies|'[jump=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/jump:$uid]'|!\[jump\=([a-zA-Z0-9-+.,_ ]+):$uid\](.*?)\[/jump:$uid\]!s|&lt;a href=&quot;#${1}&quot;&gt;${2}&lt;/a&gt;
|47|land|BBcode do którego odsyła jump: [land=wybrane ID]tekst[/land]|0|[land={SIMPLETEXT}]{TEXT}[/land]|&lt;div id=&quot;{SIMPLETEXT}&quot; class=&quot;bbland&quot;&gt;{TEXT}&lt;/div&gt;|!\[land\=([a-zA-Z0-9-+.,_ ]+)\](.*?)\[/land\]!ies|'[land=${1}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${2}')).'[/land:$uid]'|!\[land\=([a-zA-Z0-9-+.,_ ]+):$uid\](.*?)\[/land:$uid\]!s|&lt;div id=&quot;${1}&quot; class=&quot;bbland&quot;&gt;${2}&lt;/div&gt;
|48|KP| |0|[KP title={INTTEXT}]{TEXT}[/KP]|&lt;div class=&quot;bbdivcontain&quot;&gt;
	&lt;div class=&quot;tabheader&quot;&gt;
		&lt;div class=&quot;bbakcept&quot;&gt;{INTTEXT}&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;bbtab&quot; id=&quot;kptab&quot; style=&quot;clear:both;&quot;&gt;&lt;/div&gt;
	{TEXT}
&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot;&gt; 


	function openTable(tbl, kptbnm) {
		var i, tbcntnt, kptblnks;

		tbcntnt = document.getElementsByClassName(&quot;tabpost&quot;);
		for (i = 0; i &lt; tbcntnt.length; i++) {
			tbcntnt[i].style.display = &quot;none&quot;;
		}

		kptblnks = document.getElementsByClassName(&quot;kptablinks&quot;);
		for (i = 0; i &lt; kptblnks.length; i++) {
			kptblnks[i].className = kptblnks[i].className.replace(&quot; active&quot;, &quot;&quot;);
		}

		document.getElementById(kptbnm).style.display = &quot;block&quot;;
		tbl.currentTarget.className += &quot; active&quot;;
	}

&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;document.getElementById(&quot;buttonOpis&quot;).click();&lt;/script&gt;|/(?!)/| |/(?!)/| 
|74|ATAB|Zakładki postu akceptacji: [ATAB title=nazwa zakładki]tekst/ATAB]|0|[ATAB title={INTTEXT}]{TEXT}[/ATAB]|&lt;div id=&quot;{INTTEXT}&quot; class=&quot;tabcontent atabpost&quot;&gt;
	{TEXT}
&lt;/div&gt;
&lt;script&gt;
	var tbbttn = document.createElement(&quot;BUTTON&quot;);
	var txttbbttn = document.createTextNode(&quot;{INTTEXT}&quot;);
	document.currentScript.closest(&quot;div&quot;).querySelector(&quot;#atab&quot;).appendChild(tbbttn).appendChild(txttbbttn);
	tbbttn.setAttribute(&quot;class&quot;, &quot;atablinks&quot;);
	tbbttn.setAttribute(&quot;id&quot;, &quot;button{INTTEXT}&quot;);
	tbbttn.setAttribute(&quot;onclick&quot;, &quot;openTableA(event, '{INTTEXT}');return false;&quot;);
&lt;/script&gt;|/(?!)/| |/(?!)/| 
|72|pad| |0|[pad]{TEXT}[/pad]|&lt;div style=&quot;padding-left:15px;&quot;&gt;{TEXT}&lt;/div&gt;|!\[pad\](.*?)\[/pad\]!ies|'[pad:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/pad:$uid]'|!\[pad:$uid\](.*?)\[/pad:$uid\]!s|&lt;div style=&quot;padding-left:15px;&quot;&gt;${1}&lt;/div&gt;
|52|AKCEPT|BBcode akceptacji KP, w nim trzeba zawierać zakładki: [AKCEPT]tekst[/AKCEPT]|0|[AKCEPT]{TEXT}[/AKCEPT]|&lt;div class=&quot;bbdivcontain&quot;&gt;
	&lt;div class=&quot;atabheader&quot;&gt;
		&lt;div class=&quot;bbakcept&quot;&gt;AKCEPTACJA&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;bbtab&quot; id=&quot;atab&quot; style=&quot;clear:both;&quot;&gt;&lt;/div&gt;
	{TEXT}
&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot;&gt; 


	function openTableA(tbl, kptbnm) {
		var i, tbcntnt, kptblnks;

		tbcntnt = document.getElementsByClassName(&quot;atabpost&quot;);
		for (i = 0; i &lt; tbcntnt.length; i++) {
			tbcntnt[i].style.display = &quot;none&quot;;
		}

		kptblnks = document.getElementsByClassName(&quot;atablinks&quot;);
		for (i = 0; i &lt; kptblnks.length; i++) {
			kptblnks[i].className = kptblnks[i].className.replace(&quot; active&quot;, &quot;&quot;);
		}

		document.getElementById(kptbnm).style.display = &quot;block&quot;;
		tbl.currentTarget.className += &quot; active&quot;;
	}

&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;document.getElementById(&quot;buttonReputacja&quot;).click();&lt;/script&gt;|/(?!)/| |/(?!)/| 
|54|W| |0|[W id={TEXT2?} title={TEXT1?} img={URL?} local={LOCAL_URL?}]{TEXT}[/W]|&lt;xsl:choose&gt;
	&lt;xsl:when test=&quot;@img&quot;&gt;
		&lt;div class=&quot;bbrow bbimage&quot;&gt;
			&lt;img src=&quot;{URL}&quot; /&gt;
		&lt;/div&gt;
	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@local&quot;&gt;
		&lt;div class=&quot;bbrow bbimage&quot;&gt;
			&lt;img src=&quot;{LOCAL_URL}&quot; /&gt;
		&lt;/div&gt;
	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@title = 'bar'&quot;&gt;
		&lt;div class=&quot;bbhead&quot;&gt;{TEXT}&lt;/div&gt;
	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@title = 'img'&quot;&gt;

	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@title&quot;&gt;
		&lt;div class=&quot;bbrow&quot;&gt;
			&lt;div class=&quot;bbtitle&quot;&gt;{TEXT1}&lt;/div&gt;
			&lt;div class=&quot;bbcontent&quot;&gt;{TEXT}&lt;/div&gt;
		&lt;/div&gt;
	&lt;/xsl:when&gt;

	&lt;xsl:otherwise&gt;
		&lt;div class=&quot;bbrow&quot; style=&quot;padding: 3px; display: block;&quot;&gt;{TEXT}&lt;/div&gt;
	&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;|/(?!)/| |/(?!)/| 
|53|TAB| |0|[TAB title={INTTEXT}]{TEXT}[/TAB]|&lt;div id=&quot;{INTTEXT}&quot; class=&quot;KPtabcontent tabpost&quot;&gt;
	{TEXT}
&lt;/div&gt;
&lt;script&gt;
	var tbbttn = document.createElement(&quot;BUTTON&quot;);
	var txttbbttn = document.createTextNode(&quot;{INTTEXT}&quot;);
	document.currentScript.closest(&quot;div&quot;).querySelector(&quot;#kptab&quot;).appendChild(tbbttn).appendChild(txttbbttn);
	tbbttn.setAttribute(&quot;class&quot;, &quot;kptablinks&quot;);
	tbbttn.setAttribute(&quot;id&quot;, &quot;button{INTTEXT}&quot;);
	tbbttn.setAttribute(&quot;onclick&quot;, &quot;openTable(event, '{INTTEXT}');return false;&quot;);
&lt;/script&gt;|/(?!)/| |/(?!)/| 
|60|progress|Postęp procentowy: [progress]wartość 0-100[/progress] lub [progress color=kolor]wartość 0-100[/progress]|1|[progress color={SIMPLETEXT?}]{NUMBER}[/progress]|&lt;xsl:choose&gt;&lt;xsl:when test=&quot;@color&quot;&gt;&lt;span style=&quot;width: 200px; height: 10px; border: 1px solid; border-color:{SIMPLETEXT}; margin: 0; padding: 0; display: block;&quot;&gt;&lt;span style=&quot;height: 0; padding: 0; margin: 1px; border-top: solid 8px; border-color:{SIMPLETEXT}; width: {NUMBER}%; display: block;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/xsl:when&gt;&lt;xsl:otherwise&gt;&lt;span style=&quot;width: 200px; height: 10px; border: 1px solid; margin: 0; padding: 0; display: block;&quot;&gt;&lt;span style=&quot;height: 0; padding: 0; margin: 1px; border-top: solid 8px; width: {NUMBER}%; display: block;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;|!\[progress color\=\{SIMPLETEXT\?\}\]([0-9]+)\[/progress\]!i|[progress color={SIMPLETEXT?}:$uid]${1}[/progress:$uid]|!\[progress color\=\{SIMPLETEXT\?\}:$uid\]([0-9]+)\[/progress:$uid\]!s|&lt;xsl:choose&gt;&lt;xsl:when test=&quot;@color&quot;&gt;&lt;span style=&quot;width: 200px; height: 10px; border: 1px solid; border-color:{SIMPLETEXT}; margin: 0; padding: 0; display: block;&quot;&gt;&lt;span style=&quot;height: 0; padding: 0; margin: 1px; border-top: solid 8px; border-color:{SIMPLETEXT}; width: ${1}%; display: block;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/xsl:when&gt;&lt;xsl:otherwise&gt;&lt;span style=&quot;width: 200px; height: 10px; border: 1px solid; margin: 0; padding: 0; display: block;&quot;&gt;&lt;span style=&quot;height: 0; padding: 0; margin: 1px; border-top: solid 8px; width: ${1}%; display: block;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;
|61|youtube|Youtube cideo – przykład: [youtube]http://www.youtube.com/watch?v=0BU8M0sCXAM[/youtube]|1|[youtube]https://www.youtube.com/watch?v={IDENTIFIER}[/youtube]|&lt;iframe title=&quot;YouTube video player&quot; width=&quot;480&quot; height=&quot;390&quot; src=&quot;https://www.youtube.com/embed/{IDENTIFIER}&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
&lt;/iframe&gt;|!\[youtube\]https\://www\.youtube\.com/watch\?v\=([a-zA-Z0-9-_]+)\[/youtube\]!i|[youtube:$uid]https://www.youtube.com/watch?v=${1}[/youtube:$uid]|!\[youtube:$uid\]https\://www\.youtube\.com/watch\?v\=([a-zA-Z0-9-_]+)\[/youtube:$uid\]!s|&lt;iframe title=&quot;YouTube video player&quot; width=&quot;480&quot; height=&quot;390&quot; src=&quot;https://www.youtube.com/embed/${1}&quot; frameborder=&quot;0&quot; allowfullscreen&gt;
&lt;/iframe&gt;
|62|spoiler|Wiadomość ukryta w spoilerze (z własnym tytułem LUB grafiką): [spoiler title=tytuł img=adres grafiki]tekst[/spoiler]|1|[spoiler title=&amp;quot;{INTTEXT?}&amp;quot; img=&amp;quot;{URL?}&amp;quot;]{TEXT}[/spoiler]|&lt;xsl:choose&gt;&lt;xsl:when test=&quot;@title&quot;&gt;
&lt;div style=&quot;margin-top:5px&quot;&gt;
    &lt;div class=&quot;quotetitle&quot;&gt;
        &lt;b&gt;{INTTEXT}:&lt;/b&gt;
        &lt;input type=&quot;button&quot; class=&quot;button icon-button post-icon bbbutton&quot; value=&quot;Pokaż&quot; style=&quot;width:45px;font-size:10px;margin:0px;padding:0px;&quot; onclick=&quot;
            if (this.parentNode.parentNode.getElementsByTagName('div')[1].style.display!= '')
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = ''; 
                this.innerText = '';
                this.value = 'Ukryj';
            }
            else
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = 'none';
                this.innerText = '';
                this.value = 'Pokaż';
            }
        &quot; /&gt;
    &lt;/div&gt;
    &lt;div class=&quot;quotecontent&quot; style=&quot;display: none;&quot;&gt;{TEXT}&lt;/div&gt;
&lt;/div&gt;
&lt;/xsl:when&gt;
&lt;xsl:when test=&quot;@img&quot;&gt;
&lt;div style=&quot;margin-top:5px&quot;&gt;
    &lt;center&gt;&lt;div class=&quot;quotetitle&quot;&gt;
        &lt;img src=&quot;{URL}&quot; style=&quot;align: center;&quot; onclick=&quot;
            if (this.parentNode.parentNode.getElementsByTagName('div')[1].style.display!= '')
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = ''; 
                this.innerText = '';
                
            }
            else
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = 'none';
                this.innerText = '';
                
            }
        &quot; /&gt;
    &lt;/div&gt;
    &lt;div class=&quot;quotecontent&quot; style=&quot;display: none;&quot;&gt;{TEXT}&lt;/div&gt;&lt;/center&gt;
&lt;/div&gt;
&lt;/xsl:when&gt;&lt;xsl:otherwise&gt;
&lt;div style=&quot;margin-top:5px&quot;&gt;
    &lt;div class=&quot;quotetitle&quot;&gt;
        &lt;b&gt;Spoiler:&lt;/b&gt;
        &lt;input type=&quot;button&quot; class=&quot;button icon-button post-icon bbbutton&quot; value=&quot;Pokaż&quot; style=&quot;width:45px;font-size:10px;margin:0px;padding:0px;&quot; onclick=&quot;
            if (this.parentNode.parentNode.getElementsByTagName('div')[1].style.display!= '')
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = ''; 
                this.innerText = '';
                this.value = 'Ukryj';
            }
            else
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = 'none';
                this.innerText = '';
                this.value = 'Pokaż';
            }
        &quot; /&gt;
    &lt;/div&gt;
    &lt;div class=&quot;quotecontent&quot; style=&quot;display: none;&quot;&gt;{TEXT}&lt;/div&gt;
&lt;/div&gt;
&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;|!\[spoiler title\=&amp;quot;\{INTTEXT\?\}&amp;quot; img\=&amp;quot;\{URL\?\}&amp;quot;\](.*?)\[/spoiler\]!iues|'[spoiler title=&amp;quot;{INTTEXT?}&amp;quot; img=&amp;quot;{URL?}&amp;quot;:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/spoiler:$uid]'|!\[spoiler title\=&amp;quot;\{INTTEXT\?\}&amp;quot; img\=&amp;quot;\{URL\?\}&amp;quot;:$uid\](.*?)\[/spoiler:$uid\]!su|&lt;xsl:choose&gt;&lt;xsl:when test=&quot;@title&quot;&gt;
&lt;div style=&quot;margin-top:5px&quot;&gt;
    &lt;div class=&quot;quotetitle&quot;&gt;
        &lt;b&gt;{INTTEXT}:&lt;/b&gt;
        &lt;input type=&quot;button&quot; class=&quot;button icon-button post-icon bbbutton&quot; value=&quot;Pokaż&quot; style=&quot;width:45px;font-size:10px;margin:0px;padding:0px;&quot; onclick=&quot;
            if (this.parentNode.parentNode.getElementsByTagName('div')[1].style.display!= '')
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = ''; 
                this.innerText = '';
                this.value = 'Ukryj';
            }
            else
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = 'none';
                this.innerText = '';
                this.value = 'Pokaż';
            }
        &quot; /&gt;
    &lt;/div&gt;
    &lt;div class=&quot;quotecontent&quot; style=&quot;display: none;&quot;&gt;${1}&lt;/div&gt;
&lt;/div&gt;
&lt;/xsl:when&gt;
&lt;xsl:when test=&quot;@img&quot;&gt;
&lt;div style=&quot;margin-top:5px&quot;&gt;
    &lt;center&gt;&lt;div class=&quot;quotetitle&quot;&gt;
        &lt;img src=&quot;{URL}&quot; style=&quot;align: center;&quot; onclick=&quot;
            if (this.parentNode.parentNode.getElementsByTagName('div')[1].style.display!= '')
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = ''; 
                this.innerText = '';
                
            }
            else
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = 'none';
                this.innerText = '';
                
            }
        &quot; /&gt;
    &lt;/div&gt;
    &lt;div class=&quot;quotecontent&quot; style=&quot;display: none;&quot;&gt;${1}&lt;/div&gt;&lt;/center&gt;
&lt;/div&gt;
&lt;/xsl:when&gt;&lt;xsl:otherwise&gt;
&lt;div style=&quot;margin-top:5px&quot;&gt;
    &lt;div class=&quot;quotetitle&quot;&gt;
        &lt;b&gt;Spoiler:&lt;/b&gt;
        &lt;input type=&quot;button&quot; class=&quot;button icon-button post-icon bbbutton&quot; value=&quot;Pokaż&quot; style=&quot;width:45px;font-size:10px;margin:0px;padding:0px;&quot; onclick=&quot;
            if (this.parentNode.parentNode.getElementsByTagName('div')[1].style.display!= '')
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = ''; 
                this.innerText = '';
                this.value = 'Ukryj';
            }
            else
            {
                this.parentNode.parentNode.getElementsByTagName('div')[1].style.display = 'none';
                this.innerText = '';
                this.value = 'Pokaż';
            }
        &quot; /&gt;
    &lt;/div&gt;
    &lt;div class=&quot;quotecontent&quot; style=&quot;display: none;&quot;&gt;${1}&lt;/div&gt;
&lt;/div&gt;
&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;
|64|snm| |0|[snm][/snm]|snmX|!\[snm\]\[/snm\]!i|[snm:$uid][/snm:$uid]|[snm:$uid][/snm:$uid]| 
|66|post|Oznaczenie specjalnego postu: [post img=adres ilustracji po lewej title=opcjonalny nagłówek graficzny]opcjonalny nagłówek[/post]|1|[post img={URL1?} title={URL2?}]{TEXT?}[/post]|&lt;div class=&quot;specpost&quot;&gt;&lt;img src=&quot;{URL1}&quot;&gt;&lt;img src=&quot;{URL2}&quot;&gt;&lt;span&gt;{TEXT}&lt;/span&gt;&lt;/div&gt;|!\[post img\=\{URL1\?\} title\=\{URL2\?\}\]\{TEXT\?\}\[/post\]!iu|[post img={URL1?} title={URL2?}:$uid]{TEXT?}[/post:$uid]|[post img={URL1?} title={URL2?}:$uid]{TEXT?}[/post:$uid]| 
|67|map| |0|[map img={URL} mirror={SIMPLETEXT?}]{TEXT}[/map]|&lt;div class=&quot;bbmap&quot;&gt;
	&lt;div class=&quot;bbmapinside&quot;&gt;
		&lt;div id=&quot;mapwrapper&quot;&gt;
			&lt;div class=&quot;bbgrid&quot;&gt;
			&lt;/div&gt;
			&lt;img class=&quot;bbmapimg {SIMPLETEXT}&quot; id=&quot;bbmimg&quot; src=&quot;{URL}&quot; /&gt;
		&lt;/div&gt;
		{TEXT}
	&lt;/div&gt;
&lt;/div&gt;|!\[map img\=(?:([a-z][a-z\d+\-.]*(?&lt;\!javascript):/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+&#124;[0-9.]+&#124;\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)&#124;(www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)) mirror\=\{SIMPLETEXT\?\}\](.*?)\[/map\]!iues|'[map img='.$this-&gt;bbcode_specialchars(('${1}') ? '${1}' : 'http://${2}').' mirror={SIMPLETEXT?}:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${3}')).'[/map:$uid]'|!\[map img\=(?i)((?:[a-z][a-z\d+\-.]*(?&lt;\!javascript):/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+&#124;[0-9.]+&#124;\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)&#124;(?:www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?))(?-i) mirror\=\{SIMPLETEXT\?\}:$uid\](.*?)\[/map:$uid\]!su|&lt;div class=&quot;bbmap&quot;&gt;
	&lt;div class=&quot;bbmapinside&quot;&gt;
		&lt;div id=&quot;mapwrapper&quot;&gt;
			&lt;div class=&quot;bbgrid&quot;&gt;
			&lt;/div&gt;
			&lt;img class=&quot;bbmapimg {SIMPLETEXT}&quot; id=&quot;bbmimg&quot; src=&quot;${1}&quot; /&gt;
		&lt;/div&gt;
		${2}
	&lt;/div&gt;
&lt;/div&gt;
|68|m| |0|[m x={SIMPLETEXT1} y={SIMPLETEXT2} z={NUMBER1?} r={NUMBER2?}]{URL}[/m]|&lt;xsl:choose&gt;
	&lt;xsl:when test=&quot;@z and @r&quot;&gt;
		&lt;img class=&quot;bbmapsign&quot; src=&quot;{URL}&quot; style=&quot;transform: rotate({NUMBER2}deg)&quot; /&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		var scripts = document.getElementsByTagName('script'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = &quot;{SIMPLETEXT2}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.left = &quot;{SIMPLETEXT1}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.zIndex = 300 + {NUMBER1};
		&lt;/script&gt;
	&lt;/xsl:when&gt;	
	&lt;xsl:when test=&quot;@r&quot;&gt;
		&lt;img class=&quot;bbmapsign&quot; src=&quot;{URL}&quot; style=&quot;transform: rotate({NUMBER2}deg)&quot; /&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		var scripts = document.getElementsByTagName('script'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = &quot;{SIMPLETEXT2}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.left = &quot;{SIMPLETEXT1}&quot; * 30 +&quot;px&quot;;
		&lt;/script&gt;
	&lt;/xsl:when&gt;
	&lt;xsl:when test=&quot;@z&quot;&gt;
		&lt;img class=&quot;bbmapsign&quot; src=&quot;{URL}&quot; /&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		var scripts = document.getElementsByTagName('script'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = &quot;{SIMPLETEXT2}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.left = &quot;{SIMPLETEXT1}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.zIndex = 300 + {NUMBER1};
		&lt;/script&gt;
	&lt;/xsl:when&gt;
	&lt;xsl:otherwise&gt;
		&lt;img class=&quot;bbmapsign&quot; src=&quot;{URL}&quot; /&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		var scripts = document.getElementsByTagName('script'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = &quot;{SIMPLETEXT2}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.left = &quot;{SIMPLETEXT1}&quot; * 30 +&quot;px&quot;;
		&lt;/script&gt;
	&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;|!\[m x\=([a-zA-Z0-9-+.,_ ]+) y\=([a-zA-Z0-9-+.,_ ]+) z\=\{NUMBER1\?\} r\=\{NUMBER2\?\}\](?:([a-z][a-z\d+\-.]*(?&lt;\!javascript):/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+&#124;[0-9.]+&#124;\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)&#124;(www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?))\[/m\]!iue|'[m x=${1} y=${2} z={NUMBER1?} r={NUMBER2?}:$uid]'.$this-&gt;bbcode_specialchars(('${3}') ? '${3}' : 'http://${4}').'[/m:$uid]'|!\[m x\=([a-zA-Z0-9-+.,_ ]+) y\=([a-zA-Z0-9-+.,_ ]+) z\=\{NUMBER1\?\} r\=\{NUMBER2\?\}:$uid\](?i)((?:[a-z][a-z\d+\-.]*(?&lt;\!javascript):/{2}(?:(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+&#124;[0-9.]+&#124;\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?)&#124;(?:www\.(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})+(?::\d*)?(?:/(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@&#124;]+&#124;%[\dA-F]{2})*)*(?:\?(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?(?:#(?:[^\p{C}\p{Z}\p{S}\p{P}\p{Nl}\p{No}\p{Me}\x{1100}-\x{115F}\x{A960}-\x{A97C}\x{1160}-\x{11A7}\x{D7B0}-\x{D7C6}\x{20D0}-\x{20FF}\x{1D100}-\x{1D1FF}\x{1D200}-\x{1D24F}\x{0640}\x{07FA}\x{302E}\x{302F}\x{3031}-\x{3035}\x{303B}]*[\x{00B7}\x{0375}\x{05F3}\x{05F4}\x{30FB}\x{002D}\x{06FD}\x{06FE}\x{0F0B}\x{3007}\x{00DF}\x{03C2}\x{200C}\x{200D}\pL0-9\-._~\!$&amp;'()*+,;=:@/?&#124;]+&#124;%[\dA-F]{2})*)?))(?-i)\[/m:$uid\]!su|&lt;xsl:choose&gt;
	&lt;xsl:when test=&quot;@z and @r&quot;&gt;
		&lt;img class=&quot;bbmapsign&quot; src=&quot;${3}&quot; style=&quot;transform: rotate({NUMBER2}deg)&quot; /&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		var scripts = document.getElementsByTagName('script'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = &quot;${2}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.left = &quot;${1}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.zIndex = 300 + {NUMBER1};
		&lt;/script&gt;
	&lt;/xsl:when&gt;	
	&lt;xsl:when test=&quot;@r&quot;&gt;
		&lt;img class=&quot;bbmapsign&quot; src=&quot;${3}&quot; style=&quot;transform: rotate({NUMBER2}deg)&quot; /&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		var scripts = document.getElementsByTagName('script'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = &quot;${2}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.left = &quot;${1}&quot; * 30 +&quot;px&quot;;
		&lt;/script&gt;
	&lt;/xsl:when&gt;
	&lt;xsl:when test=&quot;@z&quot;&gt;
		&lt;img class=&quot;bbmapsign&quot; src=&quot;${3}&quot; /&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		var scripts = document.getElementsByTagName('script'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = &quot;${2}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.left = &quot;${1}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.zIndex = 300 + {NUMBER1};
		&lt;/script&gt;
	&lt;/xsl:when&gt;
	&lt;xsl:otherwise&gt;
		&lt;img class=&quot;bbmapsign&quot; src=&quot;${3}&quot; /&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		var scripts = document.getElementsByTagName('script'),
		currentScript = scripts[scripts.length - 1],
		input = currentScript.previousSibling.style.top = &quot;${2}&quot; * 30 +&quot;px&quot;;
		input = currentScript.previousSibling.style.left = &quot;${1}&quot; * 30 +&quot;px&quot;;
		&lt;/script&gt;
	&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
|69|mz| |0|[mz][/mz]|&lt;input id=&quot;data&quot; size=&quot;5&quot; style=&quot;height: 39px;&quot;&gt;&lt;button class=&quot;button icon-button&quot; id=&quot;btn&quot;&gt;Zatwierdź&lt;/button&gt;&lt;div class=&quot;bbcursor&quot;&gt;&lt;/div&gt;
&lt;script src=&quot;get_value_of_input_box.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&quot;use strict&quot;;
function clicked() {
    var input_value = document.getElementById('data').value;
	$(&quot;.bbcursor&quot;).css(&quot;width&quot;, input_value * 30 * 2 + &quot;px&quot;).css(&quot;height&quot;, input_value * 30 * 2 + &quot;px&quot;);
}
document.getElementById('btn').addEventListener('click', clicked);;
var scrollY = 0, scrollX = 0;
$(document).mousemove(function(e){
   $(&quot;.bbcursor&quot;).css(&quot;top&quot;,e.pageY - scrollY + &quot;px&quot;).css(&quot;left&quot;,e.pageX - scrollX + &quot;px&quot;).css(&quot;background-color&quot;,&quot;rgba(3,3,255,0.1);&quot;);
});
$(document).scroll(function(e){
   scrollY = $(window).scrollTop();
   scrollX = $(window).scrollLeft();
});
setInterval(function(){scroll = $(window).scrollTop();}, 1000);&lt;/script&gt;|!\[mz\]\[/mz\]!i|[mz:$uid][/mz:$uid]|[mz:$uid][/mz:$uid]| 
|70|R| |0|[R]{TEXT}[/R]|&lt;div class=&quot;bbramka&quot;&gt;{TEXT}&lt;/div&gt;|!\[r\](.*?)\[/r\]!ies|'[r:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/r:$uid]'|!\[r:$uid\](.*?)\[/r:$uid\]!s|&lt;div class=&quot;bbramka&quot;&gt;${1}&lt;/div&gt;
|71|karta| |0|[karta]{TEXT}[/karta]|&lt;div class=&quot;karta&quot; id=&quot;karta&quot;&gt;{TEXT}&lt;/div&gt;|!\[karta\](.*?)\[/karta\]!ies|'[karta:$uid]'.str_replace(array(&quot;\r\n&quot;, '\&quot;', '\'', '(', ')'), array(&quot;\n&quot;, '&quot;', '&amp;#39;', '&amp;#40;', '&amp;#41;'), trim('${1}')).'[/karta:$uid]'|!\[karta:$uid\](.*?)\[/karta:$uid\]!s|&lt;div class=&quot;karta&quot; id=&quot;karta&quot;&gt;${1}&lt;/div&gt;
|73|ROK| |0|[ROK typ={TEXT1} urodziny={NUMBER?} wzrost={INTTEXT1?} waga={INTTEXT2?}][/ROK]|&lt;script&gt;
	var rok = 65;
&lt;/script&gt;

&lt;xsl:choose&gt;
	&lt;xsl:when test=&quot;@typ = 'data'&quot;&gt;

		&lt;script&gt;
			document.write(rok);
		&lt;/script&gt;

	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@typ = 'wiek'&quot;&gt;
		&lt;script&gt;
			var rokmod = {NUMBER};
			var wiek = rok - rokmod;
			document.write(wiek);
		&lt;/script&gt;
	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@typ = 'opis'&quot;&gt;
		&lt;div&gt;Urodzony w roku {NUMBER}; Wiek: &lt;span id=&quot;wiekkp&quot;&gt;&lt;/span&gt; lat; Wzrost: &lt;span id=&quot;inwzrost&quot;&gt;{INTTEXT1}&lt;/span&gt; (&lt;span id=&quot;wzrostout&quot;&gt;&lt;/span&gt;cm); Waga: &lt;span id=&quot;inwaga&quot;&gt;{INTTEXT2}&lt;/span&gt; (&lt;span id=&quot;wagaout&quot;&gt;&lt;/span&gt;kg).&lt;/div&gt;

		&lt;script&gt;
			var rokmod2 = {NUMBER};
			var wiek2 = rok - rokmod2;
			document.getElementById(&quot;wiekkp&quot;).innerHTML = wiek2;

			var inwzrost = document.getElementById(&quot;inwzrost&quot;).innerHTML;
			var inwaga = document.getElementById(&quot;inwaga&quot;).innerHTML;

			if(inwzrost === &quot;Olbrzymi&quot;) {
				var wzrostbase = 155;
			}
			else if(inwzrost === &quot;Wysoki&quot;) {
				var wzrostbase = 130;
			}
			else if(inwzrost === &quot;Średni&quot;) {
				var wzrostbase = 115;
			}
			else if(inwzrost === &quot;Niski&quot;) {
				var wzrostbase = 100;
			}
			else if(inwzrost === &quot;Karłowaty&quot;) {
				var wzrostbase = 75;
			}

			if(inwaga === &quot;Niska&quot;) {
				var wagamod = 0.8;
			}
			else if(inwaga === &quot;Naturalna&quot;) {
				var wagamod = 1;
			}
			else if(inwaga === &quot;Duża&quot;) {
				var wagamod = 1.25;
			}
			
			var wzrostout = wzrostbase + ((Math.max(0, (Math.min((wiek2-13), 5))))*10);
			var wagaout = (Math.max(25, (30 + (wzrostout - 105) * 0.66)))*wagamod;
 
			document.getElementById(&quot;wzrostout&quot;).innerHTML = wzrostout;
			document.getElementById(&quot;wagaout&quot;).innerHTML = wagaout;

		&lt;/script&gt;
	&lt;/xsl:when&gt;

	&lt;xsl:otherwise&gt;
		Spieprzyłeś coś.
	&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;|/(?!)/| |/(?!)/| 
|75|PD|Licznik misji, zawsze musi zawierać wartość przynajmniej '0': [PD D=0 C=0 B=0 A=0 S=0][/PD]|0|[PD D={NUMBER1} C={NUMBER2} B={NUMBER3} A={NUMBER4} S={NUMBER5}][/PD]|&lt;div class=&quot;bbhead&quot;&gt;Zdobyte Doświadczenie: &lt;input id=&quot;SPD&quot; type=&quot;number&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt; Wydane Doświadczenie: Pozostałe Doświadczenie:&lt;/div&gt;
&lt;div style=&quot;overflow:hidden; text-align: center;&quot;&gt;
&lt;div class=&quot;bbrow pdrow&quot;&gt;
	&lt;div class=&quot;bbtitle pdtitle&quot;&gt;D:&lt;/div&gt;
	&lt;div class=&quot;bbcontent pdcont&quot; id=&quot;PDD&quot;&gt;{NUMBER1}&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;bbrow pdrow&quot;&gt;
	&lt;div class=&quot;bbtitle pdtitle&quot;&gt;C:&lt;/div&gt;
	&lt;div class=&quot;bbcontent pdcont&quot; id=&quot;PDC&quot;&gt;{NUMBER2}&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;bbrow pdrow&quot;&gt;
	&lt;div class=&quot;bbtitle pdtitle&quot;&gt;B:&lt;/div&gt;
	&lt;div class=&quot;bbcontent pdcont&quot; id=&quot;PDB&quot;&gt;{NUMBER3}&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;bbrow pdrow&quot;&gt;
	&lt;div class=&quot;bbtitle pdtitle&quot;&gt;A:&lt;/div&gt;
	&lt;div class=&quot;bbcontent pdcont&quot; id=&quot;PDA&quot;&gt;{NUMBER4}&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;bbrow pdrow&quot;&gt;
	&lt;div class=&quot;bbtitle pdtitle&quot;&gt;S:&lt;/div&gt;
	&lt;div class=&quot;bbcontent pdcont&quot; id=&quot;PDS&quot;&gt;{NUMBER5}&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;script&gt;
	var misjed = document.getElementById(&quot;PDD&quot;).innerHTML;
	var misjec = document.getElementById(&quot;PDC&quot;).innerHTML;
	var misjeb = document.getElementById(&quot;PDB&quot;).innerHTML;
	var misjea = document.getElementById(&quot;PDA&quot;).innerHTML;
	var misjes = document.getElementById(&quot;PDS&quot;).innerHTML;
	var sumapd = misjed * 10 + misjec * 25 + misjeb * 50 + misjea * 75 + misjes * 100;
	var spd = document.getElementById(&quot;SPD&quot;);
	spd.setAttribute(&quot;value&quot;, sumapd);
&lt;/script&gt;|/(?!)/| |/(?!)/| 
|76|REP|Szablon reputacji postaci, zawsze musi zawierać przynajmniej wartość '0': [REP dobro=0 zlo=0 praworzadnosc=0 chaos=0]dodatkowe notatki[/REP]|0|[REP dobro={NUMBER1} zlo={NUMBER2} praworzadnosc={NUMBER3} chaos={NUMBER4}]{TEXT}[/REP]|&lt;div class=&quot;bbhead&quot;&gt;Opinia publiczna&lt;/div&gt;
&lt;div class=&quot;bbrow&quot; style=&quot;padding: 3px;&quot;  id=&quot;Reput&quot;&gt;&lt;/div&gt;

&lt;div class=&quot;bbhead&quot;&gt;Dodatkowe notatki o reputacji&lt;/div&gt;
&lt;div class=&quot;bbrow&quot; style=&quot;padding: 3px;&quot;&gt;{TEXT}&lt;/div&gt;

&lt;script type=&quot;text/javascript&quot;&gt;

	var maxmod = 1.5;
	var minmod = 0.66;

	var dz = ({NUMBER1}+1) / ({NUMBER2}+1);
	var pc = ({NUMBER3}+1) / ({NUMBER4}+1);
	var sla = {NUMBER1} + {NUMBER2} + {NUMBER3} + {NUMBER4};

	if (sla &gt; 25) {
			var slawa = &quot;Shinobi rozpoznawany po imieniu czy wyglądzie, słyszeli o nim wszędzie tam, gdzie dociera informacja.&quot;;
		} 
	else if (sla &gt; 10) {
			var slawa = &quot;O shinobi krążą już plotki, rozpoznawany w okolicach, w których już podejmował się pracy. Szczególnie wielu ludzi o nim słyszało w jego rodzinnych stronach.&quot;;
		} 
	else {
			var slawa = &quot;Shinobi rozpoznawany tylko przez postacie, z którymi wcześniej wchodził w interakcję.&quot;;
		};
		
		
	if (1.25 &gt; dz &gt; 0.75 &amp;&amp; 1.25 &gt; pc &gt; 0.75 &amp;&amp; sla &gt; 25) {
			var nieob = &quot; Shinobi niepokoi zarówno lokalnych mieszkańców, jak i władze. Nieprzewidywalne zachowania powodują, że jednocześnie: ludzie mają nadzieję na udaną współpracę, jak również spodziewają się komplikacji wynikających z działań postaci.&quot;;
		} 
	else if (1.25 &gt; dz &gt; 0.75 &amp;&amp; sla &gt; 50) {
			var nieob = &quot; Ludzie obawiają się shinobi. Jego częste przeciwstawne sobie zachowania sprawiają, że ludzie nie wiedzą, czego się po nim spodziewać. Pomimo jego powierzchownej neutralności jest on jedną wielką niewiadomą.&quot;;
		} 
	else if (1.25 &gt; pc &gt; 0.75 &amp;&amp; sla &gt; 50) {
			var nieob = &quot; Władze mają shinobi na oku, choć wydaje się nie być kryminalistą, to i tak w ich oczach ludzi jest osobnikiem, po którym spodziewać się można kłopotów.&quot;;
		} 
	else {
			var nieob = &quot;&quot;;
		};

	if (pc &gt; maxmod &amp;&amp; dz &gt; maxmod ) {
			var repu = &quot; Praworządny dobry: postać kierująca się honorem, zawsze stająca po stronie prawdy i potrzebujących. Przez jej uczciwość i chęć czynienia dobra postrzegana jest przez ludność jako pozytywny charakter. Nie zawsze tyczy się to władców, organów władzy i współpracowników, gdyż stawia swój kręgosłup moralny ponad rozkazy.&quot;;
		} 
	else if (pc &gt; maxmod &amp;&amp; maxmod &gt;= dz &amp;&amp; dz &gt;= minmod) {
			var repu = &quot; Praworządny neutralny: postać przestrzegająca prawa, odbierana przez ludność niczym tzw zimny urzędnik. Dla władz jest doskonałym materiałem na shinobi, zawsze wykonuje powierzone zadania, wierząc w dobro ogółu. Odbić się to może na współpracownikach, dla których nie każda sprawa ma jedno dno.&quot;;
		} 
	else if (pc &gt; maxmod &amp;&amp; minmod &gt; dz) {
			var repu = &quot; Praworządny zły: postać przez złe postępowanie i brak współczucia wobec ludności cywilnej, budzi u niej niechęć i strach. Nie znaczy to, że zastraszona nie będzie z nim współpracować. Jej zachowanie odbija się również na współpracownikach, którzy wolą unikać z nią kontaktu. Jednak respektuje ona siłę i hierarchie, co w oczach władz czyni ją osobę od brudnej roboty.&quot;;
		} 
	else if (maxmod &gt;= pc &amp;&amp; pc &gt;= minmod &amp;&amp; dz &gt; maxmod ) {
			var repu = &quot; Neutralny dobry: postać lubiąca dobre uczynki, przez co po mimo swojego zawodu jest postrzegana przez ludność pozytywnie. Nie staje po żadnej ze stron, ale wykonuje powierzone zadania, co czyni go godnym zaufania w oczach władzy.&quot;;
		} 
	else if (maxmod &gt;= pc &amp;&amp; pc &gt;= minmod &amp;&amp; maxmod &gt;= dz &amp;&amp; dz &gt;= minmod) {
			var repu = &quot; Neutralny: postać nie budzącą sympatii ani opinii publicznej, ani władz, które podchodzą do niej niechętnie i z brakiem zaufania. Choć nie wykazuje ona zachowań patologicznych, to nie można mieć pewności w jaki sposób się zachowa.&quot;;
		} 
	else if (maxmod &gt;= pc &amp;&amp; pc &gt;= minmod &amp;&amp; minmod &gt; dz) {
			var repu = &quot; Neutralny zły: postać znienawidzona przez wszystkie grupy społeczne. U cywilów wzbudza strach i odrazę. Dla władz jest piątym kołem u wozu, którego chcą się pozbyć i nie bez wzajemności. Uważa się taką postać za źródło konfliktów, które wywołuje z premedytacją.&quot;;
		} 
	else if (minmod &gt; pc &amp;&amp; dz &gt; maxmod ) {
			var repu = &quot; Chaotyczny dobry: postać przez swoje czyny postrzegana przez ludność umiarkowanie. Choć cechuje ją bardziej dobro, to wyborów dokonuje zgodnie ze swoim kodeksem moralnym, a nie oczekiwaniami innych, czy prawem. Postawione wyżej jednostki, nie będąc pewnymi jej poczynań, zachowują wobec niej ostrożność.&quot;;
		} 
	else if (minmod &gt; pc &amp;&amp; maxmod &gt;= dz &amp;&amp; dz &gt;= minmod) {
			var repu = &quot; Chaotyczny neutralny: postać postrzegana przez wszystkich jako indywiduum, któremu nie można ufać. Jej zachowanie dla otoczenia popada w skrajności. Jedyne czego się trzyma to własne dobro, co czyni ją w oczach pozostałych bardziej materiałem na najemnika, niż jakiegokolwiek partnera.&quot;;
		} 
	else {
			var repu = &quot; Chaotyczny zły: postać przez wszystkich uważana nie tylko za złą, ale i obłąkaną. Jej zachowanie dewiacyjne zrodziło przekonanie, że nie potrzebuje powodów do czynienia zła, a kontakt z nią ogranicza się jedynie do walki, bądź ucieczki przed nią.&quot;;
		};
	
	var divslawa = document.getElementById('Reput');

	divslawa.innerHTML = slawa + repu + nieob;


&lt;/script&gt;|/(?!)/| |/(?!)/| 
|77|WB| |0|[WB={NUMBER} url={URL?}]{TEXT}[/WB]|&lt;xsl:choose&gt;
	&lt;xsl:when test=&quot;@url&quot;&gt;
		&lt;div class=&quot;bbrow bankrow&quot;&gt;
			&lt;div class=&quot;bbtitle&quot;&gt;&lt;input class=&quot;inputcash&quot; disabled=&quot;&quot; value=&quot;{NUMBER}&quot;&gt;&lt;/input&gt;&lt;/div&gt;
			&lt;div class=&quot;bbcontent&quot;&gt;&lt;a href=&quot;{URL}&quot;&gt;{TEXT}&lt;/a&gt;&lt;/div&gt;
		&lt;/div&gt;
	&lt;/xsl:when&gt;

	&lt;xsl:otherwise&gt;
		&lt;div class=&quot;bbrow bankrow&quot;&gt;
			&lt;div class=&quot;bbtitle&quot;&gt;&lt;input class=&quot;inputcash&quot; disabled=&quot;&quot; value=&quot;{NUMBER}&quot;&gt;&lt;/input&gt;&lt;/div&gt;
			&lt;div class=&quot;bbcontent&quot;&gt;{TEXT}&lt;/div&gt;
		&lt;/div&gt;	
	&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;|/(?!)/| |/(?!)/| 
|78|PRZYCHODY| |0|[PRZYCHODY]{TEXT}[/PRZYCHODY]|&lt;div class=&quot;bbhead&quot;&gt;Zdobyte Ryō: &lt;input class=&quot;bankryo&quot; id=&quot;sumaprzychody&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt; Wydane Ryō: &lt;input class=&quot;bankryo&quot; id=&quot;sumawydatki&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt; Pozostałe Ryō: &lt;input class=&quot;bankryo&quot; id=&quot;wynikwydatki&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt;&lt;/div&gt;
&lt;div id=&quot;bbramkaprzychody&quot;&gt;{TEXT}&lt;/div&gt;|/(?!)/| |/(?!)/| 
|82|CECHA| |0|[CECHA typ={INTTEXT} id={SIMPLETEXT?} lvl={NUMBER}]{TEXT}[/CECHA]|&lt;xsl:choose&gt;

	&lt;xsl:when test=&quot;@typ = 'Walka'&quot;&gt;
yyyy

	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@typ = 'Manewry'&quot;&gt;
		1
	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@typ = 'Przetrwanie'&quot;&gt;
		1
	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@typ = 'Moc'&quot;&gt;
		1
	&lt;/xsl:when&gt;
	
	&lt;xsl:when test=&quot;@typ = 'Bystrość'&quot;&gt;
		1
	&lt;/xsl:when&gt;

	&lt;xsl:otherwise&gt;
		test
	&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;|/(?!)/| |/(?!)/| 
|79|WYDATKI| |0|[WYDATKI]{TEXT}[/WYDATKI]|&lt;div class=&quot;wydheader&quot;&gt;
	&lt;div class=&quot;bbakcept&quot;&gt;FINANSE&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;bbhead finshad&quot;&gt;Zdobyte Ryō: &lt;input class=&quot;bankryo&quot; id=&quot;sumaprzychody2&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt; Wydane Ryō: &lt;input class=&quot;bankryo&quot; id=&quot;sumawydatki2&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt; Pozostałe Ryō: &lt;input class=&quot;bankryo&quot; id=&quot;wynikwydatki2&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt;&lt;/div&gt;
&lt;div class=&quot;bbramka&quot; id=&quot;bbramkawydatki&quot;&gt;{TEXT}&lt;/div&gt;

&lt;script&gt;

	let numbArr = document.getElementById('bbramkaprzychody').getElementsByClassName('inputcash');
	let arrSum = 0;
	let numbArrW = document.getElementById('bbramkawydatki').getElementsByClassName('inputcash');
	let arrSumW = 0;

	for (let i = 0; i &lt; numbArr.length; i++) {
	let j = parseInt(numbArr[i].value);
	arrSum += j;
	}

	for (let ii = 0; ii &lt; numbArrW.length; ii++) {
	let jj = parseInt(numbArrW[ii].value);
	arrSumW += jj;
	}
	document.getElementById('sumaprzychody').value = arrSum;
	document.getElementById('sumaprzychody2').value = arrSum;

	document.getElementById('sumawydatki').value = arrSumW;
	document.getElementById('sumawydatki2').value = arrSumW;

	document.getElementById('wynikwydatki').value = arrSum - arrSumW;
	document.getElementById('wynikwydatki2').value = arrSum - arrSumW;
&lt;/script&gt;|/(?!)/| |/(?!)/| 
|81|AC| |0|[AC aaa={SIMPLETEXT1?} bbb={SIMPLETEXT2?} ccc={SIMPLETEXT3?} ddd={SIMPLETEXT4?} eee={SIMPLETEXT5?} fff={SIMPLETEXT6?} ggg={SIMPLETEXT7?} hhh={SIMPLETEXT8?} iii={SIMPLETEXT9?} jjj={SIMPLETEXT10?} kkk={SIMPLETEXT11?} lll={SIMPLETEXT12?} mmm={SIMPLETEXT13?} nnn={SIMPLETEXT14?} ooo={SIMPLETEXT15?} ppp={SIMPLETEXT16?} qqq={SIMPLETEXT17?} rrr={SIMPLETEXT18?} sss={SIMPLETEXT19?} ttt={SIMPLETEXT20?} uuu={SIMPLETEXT21?} vvv={SIMPLETEXT22?} www={SIMPLETEXT23?} xxx={SIMPLETEXT24?} yyy={SIMPLETEXT25?} zzz={SIMPLETEXT26?}]{TEXT}[/AC]|&lt;img class=&quot;testclass&quot; id=&quot;testimg1&quot; src=&quot;/images/gamedatabase/test/disable{SIMPLETEXT1}/11.jpg&quot; title=&quot;Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.&quot;&gt;
&lt;img class=&quot;testclass&quot; id=&quot;testimg2&quot; src=&quot;/images/gamedatabase/test/disable{SIMPLETEXT2}/22.jpg&quot; title=&quot;Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd. Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.&quot;&gt;
&lt;img class=&quot;testclass&quot; id=&quot;testimg3&quot; src=&quot;/images/gamedatabase/test/disable{SIMPLETEXT3}/33.jpg&quot; title=&quot;Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd. Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd. Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.&quot;&gt;
&lt;img class=&quot;testclass&quot; id=&quot;testimg4&quot; src=&quot;/images/gamedatabase/test/disable{SIMPLETEXT4}/44.jpg&quot; title=&quot;Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.&quot;&gt;
&lt;img class=&quot;testclass&quot; id=&quot;testimg5&quot; src=&quot;/images/gamedatabase/test/disable{SIMPLETEXT5}/55.jpg&quot; title=&quot;Tu jakiś tekst. To jest tylko test. Bla bla ba blas sdfsdf sdfsf sdf.sd sdf sdfsdf sdfsd fsdfsdf.sdf sd.&quot;&gt;|/(?!)/| |/(?!)/| 
|83|Walka| |0|[Walka id={SIMPLETEXT?} lvl={NUMBER} ciosakcja={NUMBER1?}]{TEXT}[/Walka]|&lt;div class=&quot;atrpar&quot;&gt;&lt;div class=&quot;bbrow&quot;&gt;
	&lt;div class=&quot;bbtitle&quot;&gt;
		&lt;center&gt;&lt;b&gt;WALKA&lt;br&gt;
		&lt;section class=&quot;ATRNUM&quot;&gt;{NUMBER}&lt;/section&gt;&lt;/b&gt;&lt;/center&gt;
		&lt;div style=&quot;display:none&quot;&gt;
			&lt;input id=&quot;WALKAPD{SIMPLETEXT}&quot;&gt;&lt;/input&gt;
			&lt;input id=&quot;testowyid&quot;&gt;&lt;/input&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;bbcontent&quot;&gt;
		&lt;div class=&quot;bbborder&quot;&gt;
			&lt;div&gt;
				&lt;span class=&quot;atrnag&quot;&gt;Ciosy na akcję&lt;/span&gt;
				&lt;input class=&quot;atrwrt&quot; id=&quot;ciosakcja{SIMPLETEXT}&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt;&lt;input class=&quot;atrwrt red&quot; id=&quot;ciosakcja2{SIMPLETEXT}&quot;&gt;&lt;/input&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div class=&quot;bbborder&quot;&gt;
			&lt;div&gt;
				&lt;span class=&quot;atrnag&quot;&gt;Precyzja ciosów&lt;/span&gt;
				&lt;input class=&quot;atrwrt&quot; value=&quot;{NUMBER}&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt;&lt;span class=&quot;atrwrt red&quot;&gt;&lt;/span&gt;
			&lt;/div&gt;
			&lt;div&gt;
				&lt;span class=&quot;atrnag&quot;&gt;Zasięg celności&lt;/span&gt;
				&lt;span class=&quot;atrwrt&quot; id=&quot;zascel{SIMPLETEXT}&quot;&gt;&lt;/span&gt;&lt;span class=&quot;atrwrt red&quot;&gt;&lt;/span&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div class=&quot;bbborder&quot;&gt;
			&lt;div&gt;
				&lt;span class=&quot;atrnag&quot;&gt;Siła ciosów&lt;/span&gt;
				&lt;input class=&quot;atrwrt&quot; value=&quot;{NUMBER}&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt;&lt;span class=&quot;atrwrt red&quot;&gt;&lt;/span&gt;
			&lt;/div&gt;
			&lt;div&gt;
				&lt;span class=&quot;atrnag&quot;&gt;Zasięg miotania&lt;/span&gt;
				&lt;span class=&quot;atrwrt&quot; id=&quot;zasmiot{SIMPLETEXT}&quot;&gt;&lt;/span&gt;&lt;span class=&quot;atrwrt red&quot;&gt;&lt;/span&gt;
			&lt;/div&gt;
			&lt;div&gt;
				&lt;span class=&quot;atrnag&quot;&gt;Parowanie&lt;/span&gt;
				&lt;input class=&quot;atrwrt&quot; value=&quot;{NUMBER}&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt;&lt;span class=&quot;atrwrt red&quot;&gt;&lt;/span&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div&gt;
			&lt;div&gt;
				&lt;span class=&quot;atrnag&quot;&gt;Max. ilość stylów&lt;/span&gt;
				&lt;input class=&quot;atrwrt&quot; value=&quot;{NUMBER}&quot; disabled=&quot;disabled&quot;&gt;&lt;/input&gt;&lt;span class=&quot;atrwrt red&quot;&gt;&lt;/span&gt;
			&lt;/div&gt;
			{TEXT}
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;script&gt;

	(function () {
	// PD:
	var nwlk{SIMPLETEXT} = {NUMBER};
	var iwlk{SIMPLETEXT} = 1;
	var swlk{SIMPLETEXT} = 0;
	while (nwlk{SIMPLETEXT} &gt;= iwlk{SIMPLETEXT}) swlk{SIMPLETEXT} = swlk{SIMPLETEXT} + iwlk{SIMPLETEXT}++;
	document.getElementById('WALKAPD{SIMPLETEXT}').value = swlk{SIMPLETEXT};
	
	// Base info:
	var ciosakcja{SIMPLETEXT} = Math.max(1, (Math.floor({NUMBER}/2)));
	document.getElementById('ciosakcja{SIMPLETEXT}').value = ciosakcja{SIMPLETEXT};

	document.getElementById('zasmiot{SIMPLETEXT}').innerHTML = ((10 + (2 * {NUMBER})) + &quot;m na akcję przez &quot; + (Math.floor({NUMBER}/2)) + &quot; akcje&quot;);

	if ({NUMBER} &lt;= 1) {var zascel = &quot;1/4 Max. Zasięgu Broni&quot;} else if ({NUMBER} === 2) {var zascel = &quot;1/3 Max. Zasięgu Broni&quot;} else if ({NUMBER} === 3) {var zascel = &quot;1/2 Max. Zasięgu Broni&quot;} else if ({NUMBER} === 4) {var zascel = &quot;2/3 Max. Zasięgu Broni&quot;} else if ({NUMBER} === 5) {var zascel = &quot;4/5 Max. Zasięgu Broni&quot;} else {var zascel = &quot;Max. Zasięg Broni&quot;};

	document.getElementById('zascel{SIMPLETEXT}').innerHTML = zascel;
	
	// Red info:
	
	document.getElementById('ciosakcja2{SIMPLETEXT}').value = parseInt(document.getElementById('ciosakcja{SIMPLETEXT}').value) + parseInt(&quot;{NUMBER1}&quot;);
	if (document.getElementById('ciosakcja2{SIMPLETEXT}').value === &quot;NaN&quot;){document.getElementById('ciosakcja2{SIMPLETEXT}').style=&quot;display:none;&quot;};

	}());

&lt;/script&gt;&lt;/div&gt;|/(?!)/| |/(?!)/| 
|84|AoTAB| |0|[AoTAB name={INTTEXT} id={INTTEXT1?}]{TEXT}[/AoTAB]|&lt;div class=&quot;stilltab tab{INTTEXT1} c{INTTEXT}{INTTEXT1}&quot;&gt;{TEXT}&lt;/div&gt;|/(?!)/| |/(?!)/| 
|85|AoKP| |0|[AoKP typ={INTTEXT?} id={INTTEXT1?}]{TEXT}[/AoKP]|&lt;xsl:choose&gt;
	&lt;xsl:when test=&quot;@typ = 'Zasoby'&quot;&gt;
		&lt;div class=&quot;tabheader&quot;&gt;	&lt;div class=&quot;bbakcept&quot;&gt;Zasoby&lt;/div&gt;&lt;/div&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Ztabs{INTTEXT1}&quot; id=&quot;Bank{INTTEXT1}&quot; checked=&quot;true&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Ztabs{INTTEXT1}&quot; id=&quot;Skrytki{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Ztabs{INTTEXT1}&quot; id=&quot;Ogrody{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Ztabs{INTTEXT1}&quot; id=&quot;Materiały{INTTEXT1}&quot;/&gt;

		&lt;div class=&quot;bbtab&quot;&gt;
			&lt;label for=&quot;Bank{INTTEXT1}&quot;&gt;Bank&lt;/label&gt;
			&lt;label for=&quot;Skrytki{INTTEXT1}&quot;&gt;Skrytki&lt;/label&gt;
			&lt;label for=&quot;Ogrody{INTTEXT1}&quot;&gt;Ogrody&lt;/label&gt;
			&lt;label for=&quot;Materiały{INTTEXT1}&quot;&gt;Materiały&lt;/label&gt;
		&lt;/div&gt;

		&lt;style&gt;
			input ~ .tab{INTTEXT1} { display: none }
			#Bank{INTTEXT1}:checked ~ .tab{INTTEXT1}.cBank{INTTEXT1},
			#Skrytki{INTTEXT1}:checked ~ .tab{INTTEXT1}.cSkrytki{INTTEXT1},
			#Ogrody{INTTEXT1}:checked ~ .tab{INTTEXT1}.cOgrody{INTTEXT1},
			#Materiały{INTTEXT1}:checked ~ .tab{INTTEXT1}.cMateriały{INTTEXT1} {display: block;}
		&lt;/style&gt;
	&lt;/xsl:when&gt;

	&lt;xsl:when test=&quot;@typ = 'Akceptacja'&quot;&gt;
		&lt;div class=&quot;tabheader&quot;&gt;	&lt;div class=&quot;bbakcept&quot;&gt;Akceptacja&lt;/div&gt;&lt;/div&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Atabs{INTTEXT1}&quot; id=&quot;Reputacja{INTTEXT1}&quot; checked=&quot;true&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Atabs{INTTEXT1}&quot; id=&quot;Doświadczenie{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Atabs{INTTEXT1}&quot; id=&quot;Przychody{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Atabs{INTTEXT1}&quot; id=&quot;Osiągnięcia{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Atabs{INTTEXT1}&quot; id=&quot;Wiedza{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;Atabs{INTTEXT1}&quot; id=&quot;Notatkiadm{INTTEXT1}&quot;/&gt;

		&lt;div class=&quot;bbtab&quot;&gt;
			&lt;label for=&quot;Reputacja{INTTEXT1}&quot;&gt;Reputacja&lt;/label&gt;
			&lt;label for=&quot;Doświadczenie{INTTEXT1}&quot;&gt;Doświadczenie&lt;/label&gt;
			&lt;label for=&quot;Przychody{INTTEXT1}&quot;&gt;Przychody&lt;/label&gt;
			&lt;label for=&quot;Osiągnięcia{INTTEXT1}&quot;&gt;Osiągnięcia&lt;/label&gt;
			&lt;label for=&quot;Wiedza{INTTEXT1}&quot;&gt;Wiedza&lt;/label&gt;
			&lt;label for=&quot;Notatkiadm{INTTEXT1}&quot;&gt;Notatki&lt;/label&gt;
		&lt;/div&gt;

		&lt;style&gt;
			input ~ .tab{INTTEXT1} { display: none }
			#Reputacja{INTTEXT1}:checked ~ .tab{INTTEXT1}.cReputacja{INTTEXT1},
			#Doświadczenie{INTTEXT1}:checked ~ .tab{INTTEXT1}.cDoświadczenie{INTTEXT1},
			#Przychody{INTTEXT1}:checked ~ .tab{INTTEXT1}.cPrzychody{INTTEXT1},
			#Osiągnięcia{INTTEXT1}:checked ~ .tab{INTTEXT1}.cOsiągnięcia{INTTEXT1},
			#Wiedza{INTTEXT1}:checked ~ .tab{INTTEXT1}.cWiedza{INTTEXT1},
			#Notatkiadm{INTTEXT1}:checked ~ .tab{INTTEXT1}.cNotatkiadm{INTTEXT1} {display: block;}
		&lt;/style&gt;
	&lt;/xsl:when&gt;

	&lt;xsl:otherwise&gt;
		&lt;div class=&quot;tabheader&quot;&gt;	&lt;div class=&quot;bbakcept&quot;&gt;{TEXT}&lt;/div&gt;&lt;/div&gt;
		&lt;input type=&quot;radio&quot; name=&quot;KPtabs{INTTEXT1}&quot; id=&quot;Opis{INTTEXT1}&quot; checked=&quot;true&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;KPtabs{INTTEXT1}&quot; id=&quot;Cechy{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;KPtabs{INTTEXT1}&quot; id=&quot;Przymioty{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;KPtabs{INTTEXT1}&quot; id=&quot;Techniki{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;KPtabs{INTTEXT1}&quot; id=&quot;Ekwipunek{INTTEXT1}&quot;/&gt;
		&lt;input type=&quot;radio&quot; name=&quot;KPtabs{INTTEXT1}&quot; id=&quot;Notatki{INTTEXT1}&quot;/&gt;

		&lt;div class=&quot;bbtab&quot;&gt;
			&lt;label for=&quot;Opis{INTTEXT1}&quot;&gt;Opis&lt;/label&gt;
			&lt;label for=&quot;Cechy{INTTEXT1}&quot;&gt;Cechy&lt;/label&gt;
			&lt;label for=&quot;Przymioty{INTTEXT1}&quot;&gt;Przymioty&lt;/label&gt;
			&lt;label for=&quot;Techniki{INTTEXT1}&quot;&gt;Techniki&lt;/label&gt;
			&lt;label for=&quot;Ekwipunek{INTTEXT1}&quot;&gt;Ekwipunek&lt;/label&gt;
			&lt;label for=&quot;Notatki{INTTEXT1}&quot;&gt;Notatki&lt;/label&gt;
		&lt;/div&gt;

		&lt;style&gt;
			input ~ .tab{INTTEXT1} { display: none }
			#Opis{INTTEXT1}:checked ~ .tab{INTTEXT1}.cOpis{INTTEXT1},
			#Cechy{INTTEXT1}:checked ~ .tab{INTTEXT1}.cCechy{INTTEXT1},
			#Przymioty{INTTEXT1}:checked ~ .tab{INTTEXT1}.cPrzymioty{INTTEXT1},
			#Techniki{INTTEXT1}:checked ~ .tab{INTTEXT1}.cTechniki{INTTEXT1},
			#Ekwipunek{INTTEXT1}:checked ~ .tab{INTTEXT1}.cEkwipunek{INTTEXT1},
			#Notatki{INTTEXT1}:checked ~ .tab{INTTEXT1}.cNotatki{INTTEXT1} {display: block;}
		&lt;/style&gt;
	&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;|/(?!)/| |/(?!)/| 
Could it be something wrong after update from previous version of phpbb3?


@AmigoJack
Weird, I did not change quote bbcode, It is basic bbcode
About that break, I do not change php files so I dont understand what causes the problem
User avatar
JoshyPHP
Code Contributor
Posts: 1276
Joined: Mon Jul 11, 2011 12:28 am

Re: Parse error: syntax error, unexpected 'case' (T_CASE)

Post by JoshyPHP »

Zanzazaar wrote:
Sun May 30, 2021 10:12 am
Could it be something wrong after update from previous version of phpbb3?
No, it's almost certainly a bug in the code that handle the BBCodes. To fix it, I need the original data so I can reproduce it on my computer. Any chance you could attach the content of your phpbb_bbcodes table as a SQL file or something that can be readily used? To be clear, I do not intend to read the data with my eyes, I just want to import it on my computer.

Oh, and I must emphasize that I need the data that causes that error. If you send me the data while your board is working, this will not help at all. The data you've just posted does not match the code in the first post.
I wrote the library that handles markup in phpBB 3.2+.
Zanzazaar
Registered User
Posts: 57
Joined: Fri Jan 15, 2016 2:14 pm

Re: Parse error: syntax error, unexpected 'case' (T_CASE)

Post by Zanzazaar »

No problem, there are to files, one "BR repro". In bbcode 'Walka' you can find <br></br> (I tried br, /br, both and it always causes the issue).
Also there is file "Typ to typ". Here was "test="@Typ" but it was mistake, it should be small letter. When I changed it to "test="@typ" it caused an error and bbcode failed to work. It is "AoKP" bbcode.

https://www.mediafire.com/file/5dv6jzge ... p.zip/file
https://www.mediafire.com/file/rcde04cb ... o.zip/file

In both cases now it does not break entire forum but there was that error. You can remove and add again element that causes the problem.
Anyway, if mediafire is site that you prefer not to use let mi know how to send them to you :)

Also, i tried to remove AoKP and create new bbcode with different name, but again I had an issue.
User avatar
JoshyPHP
Code Contributor
Posts: 1276
Joined: Mon Jul 11, 2011 12:28 am

Re: Parse error: syntax error, unexpected 'case' (T_CASE)

Post by JoshyPHP »

I've been able to reproduce it locally and I've just published a hotfix. The issue is related to the AoKP BBCode. As a workaround until the new version is picked up by phpBB, you can force the code to behave differently by replacing the following line:

Code: Select all

<xsl:when test="@typ = 'Zasoby'">
...with this:

Code: Select all

<xsl:when test="true() and @typ = 'Zasoby'">
I wrote the library that handles markup in phpBB 3.2+.
User avatar
3Di
Former Team Member
Posts: 16947
Joined: Mon Apr 04, 2005 11:09 pm
Location: Have a guess... 🇮🇹
Name: Marco
Contact:

Re: Parse error: syntax error, unexpected 'case' (T_CASE)

Post by 3Di »

JoshyPHP wrote:
Sun May 30, 2021 11:39 am
until the new version is picked up by phpB
https://tracker.phpbb.com/browse/PHPBB3-16788
🆓 Free support for our extensions also provided here: phpBB Studio
🚀 Looking for a specific feature or alternative option? We will rock you!
Please PM me only to request paid works. Thx. Buy me a coffee -> Image
My development's activity º PhpStorm's proud user º Extensions, Scripts, MOD porting, Update/Upgrades
Post Reply

Return to “[3.3.x] Support Forum”