Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/themify-.../js/editor/componen...
File: gs.mjs
prefix = live.prefix,
[500] Fix | Delete
re = new RegExp(prefix, 'g');
[501] Fix | Delete
[502] Fix | Delete
ThemifyStyles.disableNestedSel = null;
[503] Fix | Delete
if (isRemove === true) {
[504] Fix | Delete
const points = ThemifyConstructor.breakpointsReverse;
[505] Fix | Delete
for (let i = points.length - 1; i > -1; --i) {
[506] Fix | Delete
api.activeBreakPoint = points[i];
[507] Fix | Delete
live.setMode(points[i], true);
[508] Fix | Delete
let stylesheet = live.currentSheet,
[509] Fix | Delete
rules = stylesheet.cssRules || stylesheet.rules;
[510] Fix | Delete
for (let j = rules.length - 1; j > -1; --j) {
[511] Fix | Delete
if (rules[j].selectorText.includes(prefix)) {
[512] Fix | Delete
let sel = rules[j].selectorText.replace(/\,\s+/g, ',').replace(re, '').split(','),
[513] Fix | Delete
st = rules[j].cssText.split('{')[1].split(';');
[514] Fix | Delete
if (sel[0].includes('.tb_text_wrap')) {
[515] Fix | Delete
for (let s = sel.length - 1; s > 0; --s) {
[516] Fix | Delete
if (sel[s].includes('.tb_text_wrap')) {
[517] Fix | Delete
sel.splice(s, 1);
[518] Fix | Delete
}
[519] Fix | Delete
}
[520] Fix | Delete
}
[521] Fix | Delete
for (let k = st.length - 2; k > -1; --k) {
[522] Fix | Delete
live.setLiveStyle(st[k].trim().split(': ')[0].trim(), '', sel);
[523] Fix | Delete
}
[524] Fix | Delete
}
[525] Fix | Delete
}
[526] Fix | Delete
}
[527] Fix | Delete
}
[528] Fix | Delete
delete css.gs;
[529] Fix | Delete
[530] Fix | Delete
for (let i in css) {
[531] Fix | Delete
if ('fonts' === i || 'cf_fonts' === i) {
[532] Fix | Delete
for (let f in css[i]) {
[533] Fix | Delete
let v = f;
[534] Fix | Delete
if (css[i][f].length > 0) {
[535] Fix | Delete
v += ':' + css[i][f].join(',');
[536] Fix | Delete
}
[537] Fix | Delete
fonts.push(v);
[538] Fix | Delete
}
[539] Fix | Delete
} else {
[540] Fix | Delete
api.activeBreakPoint = i;
[541] Fix | Delete
live.setMode(i, true);
[542] Fix | Delete
[543] Fix | Delete
for (let j in css[i]) {
[544] Fix | Delete
let sel = j.replace(/\,\s+/g, ',').replace(re, '').split(',');
[545] Fix | Delete
for (let k = 0, len = css[i][j].length; k < len; ++k) {
[546] Fix | Delete
let tmp = css[i][j][k].split(';');
[547] Fix | Delete
for (let k2 = tmp.length - 2; k2 > -1; --k2) {
[548] Fix | Delete
if (tmp[k2] !== '') {
[549] Fix | Delete
let prop = tmp[k2].split(':')[0],
[550] Fix | Delete
v = tmp[k2].replace(prop + ':', '').trim();
[551] Fix | Delete
if (prop === 'background-image' && tmp[k2].includes('svg') && tmp[k2].includes('data:')) {
[552] Fix | Delete
v += ';' + tmp[k2 + 1];
[553] Fix | Delete
}
[554] Fix | Delete
[555] Fix | Delete
live.setLiveStyle(prop, v, sel);
[556] Fix | Delete
}
[557] Fix | Delete
}
[558] Fix | Delete
}
[559] Fix | Delete
}
[560] Fix | Delete
}
[561] Fix | Delete
}
[562] Fix | Delete
if (fonts.length > 0) {
[563] Fix | Delete
ThemifyConstructor.font_select.loadGoogleFonts(fonts.join('|'));
[564] Fix | Delete
}
[565] Fix | Delete
api.activeBreakPoint = oldBreakpoint;
[566] Fix | Delete
this.updated(css, res, values,model);
[567] Fix | Delete
this._liveInstance = null;
[568] Fix | Delete
},
[569] Fix | Delete
// Live edit GS
[570] Fix | Delete
async gsEdit(id) {
[571] Fix | Delete
let m;
[572] Fix | Delete
if (api.activeModel !== null) {
[573] Fix | Delete
this.previousId = api.activeModel.id;
[574] Fix | Delete
}
[575] Fix | Delete
const gsPost = this.styles[id],
[576] Fix | Delete
args = api.Helper.cloneObject(gsPost.data[0]),
[577] Fix | Delete
type = gsPost.type;
[578] Fix | Delete
this.activeGS = id;
[579] Fix | Delete
if (type === 'row') {
[580] Fix | Delete
delete args.cols;
[581] Fix | Delete
delete args.styling[this.key];
[582] Fix | Delete
m = new api.Row(args);
[583] Fix | Delete
}
[584] Fix | Delete
else {
[585] Fix | Delete
if (type === 'subrow') {
[586] Fix | Delete
delete args.cols;
[587] Fix | Delete
delete args.styling[this.key];
[588] Fix | Delete
m = new api.SubRow(args);
[589] Fix | Delete
}
[590] Fix | Delete
else {
[591] Fix | Delete
delete args.styling;
[592] Fix | Delete
if (type === 'column') {
[593] Fix | Delete
delete args.cols[0].modules;
[594] Fix | Delete
delete args.cols[0].styling[this.key];
[595] Fix | Delete
m = new api.Column(args.cols[0]);
[596] Fix | Delete
}
[597] Fix | Delete
else {
[598] Fix | Delete
delete args.cols[0].styling;
[599] Fix | Delete
delete args.cols[0].modules[0].mod_settings[this.key];
[600] Fix | Delete
m = api.Module.initModule(args.cols[0].modules[0]);
[601] Fix | Delete
}
[602] Fix | Delete
}
[603] Fix | Delete
}
[604] Fix | Delete
api.LightBox.el.className += ' gs_post';
[605] Fix | Delete
try{
[606] Fix | Delete
const lb=await m.edit('styling'),
[607] Fix | Delete
revertChange = () => {
[608] Fix | Delete
Themify.off('themify_builder_lightbox_close', revertChange)
[609] Fix | Delete
.off('themify_builder_save_component', saveComponent);
[610] Fix | Delete
lb.classList.remove('gs_post');
[611] Fix | Delete
if (!api.isVisual && this.previousId !== null && (type === 'row' || type === 'column' || type === 'subrow')) {
[612] Fix | Delete
if (api.Registry.get(this.previousId)?.type === 'module') {
[613] Fix | Delete
api.liveStylingInstance.removeBgSlider();
[614] Fix | Delete
api.liveStylingInstance.removeBgVideo();
[615] Fix | Delete
api.liveStylingInstance.removeFrames();
[616] Fix | Delete
api.liveStylingInstance.getComponentBgOverlay()?.remove();
[617] Fix | Delete
api.liveStylingInstance.el.classList.remove('builder-zoom-scrolling', 'builder-zooming');
[618] Fix | Delete
}
[619] Fix | Delete
}
[620] Fix | Delete
m.destroy();
[621] Fix | Delete
this.reopenPreviousPanel();
[622] Fix | Delete
this.activeGS = this.previousId =null;
[623] Fix | Delete
},
[624] Fix | Delete
saveComponent=async settings=>{
[625] Fix | Delete
const id = this.activeGS,
[626] Fix | Delete
gsPost = this.styles[id];
[627] Fix | Delete
delete ThemifyConstructor.values.cid;
[628] Fix | Delete
const data = api.Helper.cloneObject(settings);
[629] Fix | Delete
delete data[this.key];
[630] Fix | Delete
if ('row' === type || type === 'subrow') {
[631] Fix | Delete
gsPost.data[0].styling = data;
[632] Fix | Delete
delete gsPost.data[0].cols;
[633] Fix | Delete
} else {
[634] Fix | Delete
delete gsPost.data[0].styling;
[635] Fix | Delete
delete gsPost.data[0].cols[0].grid_class;
[636] Fix | Delete
if ('column' === type) {
[637] Fix | Delete
delete gsPost.data[0].cols[0].modules;
[638] Fix | Delete
gsPost.data[0].cols[0].styling = data;
[639] Fix | Delete
} else {
[640] Fix | Delete
delete gsPost.data[0].cols[0].styling;
[641] Fix | Delete
gsPost.data[0].cols[0].modules[0].mod_settings = data;
[642] Fix | Delete
[643] Fix | Delete
}
[644] Fix | Delete
}
[645] Fix | Delete
api.Spinner.showLoader();
[646] Fix | Delete
try{
[647] Fix | Delete
await api.Utils.saveCss(gsPost.data, '', gsPost.id);
[648] Fix | Delete
this.styles[id].data = gsPost.data;
[649] Fix | Delete
if (api.isVisual) {
[650] Fix | Delete
const Registry= api.Registry,
[651] Fix | Delete
items = Registry.items.keys();
[652] Fix | Delete
for (let cid of items) {
[653] Fix | Delete
let args = Registry.get(cid)?.get('styling');
[654] Fix | Delete
if (args?.[this.key]?.includes(id)) {
[655] Fix | Delete
await this.setGsStyle(args[this.key].split(' '));
[656] Fix | Delete
}
[657] Fix | Delete
}
[658] Fix | Delete
this._liveInstance = null;
[659] Fix | Delete
}
[660] Fix | Delete
await api.LocalFetch({
[661] Fix | Delete
action:'tb_update_global_style',
[662] Fix | Delete
bid: gsPost.id,
[663] Fix | Delete
data: gsPost.data
[664] Fix | Delete
});
[665] Fix | Delete
api.Spinner.showLoader('done');
[666] Fix | Delete
revertChange();
[667] Fix | Delete
}
[668] Fix | Delete
catch(e){
[669] Fix | Delete
this.activeGS = this.previousId=null;
[670] Fix | Delete
api.Spinner.showLoader('error');
[671] Fix | Delete
}
[672] Fix | Delete
};
[673] Fix | Delete
lb.tfClass('current')[0].tfClass('tb_tooltip')[0].innerHTML = i18n.g_s + ' - ' + gsPost.title;
[674] Fix | Delete
Themify.on('themify_builder_lightbox_close', revertChange,true)
[675] Fix | Delete
.on('themify_builder_save_component', saveComponent,true);
[676] Fix | Delete
}
[677] Fix | Delete
catch(e){
[678] Fix | Delete
console.error(e);
[679] Fix | Delete
}
[680] Fix | Delete
},
[681] Fix | Delete
// Open prevous module panel
[682] Fix | Delete
reopenPreviousPanel(triggerData) {
[683] Fix | Delete
if (null !== this.previousId) {
[684] Fix | Delete
api.Registry.get(this.previousId)?.edit('styling');
[685] Fix | Delete
this.previousId = null;
[686] Fix | Delete
}
[687] Fix | Delete
},
[688] Fix | Delete
extraStyle(css, res, values,model) {
[689] Fix | Delete
let live = this._liveInstance || api.liveStylingInstance,
[690] Fix | Delete
prefix = live.prefix,
[691] Fix | Delete
start = prefix.length - 1,
[692] Fix | Delete
exist = live.getComponentBgOverlay(model.type)!==null,
[693] Fix | Delete
el = live.el,
[694] Fix | Delete
hasOverlay = exist,
[695] Fix | Delete
sides = {
[696] Fix | Delete
top: false,
[697] Fix | Delete
bottom: false,
[698] Fix | Delete
left: false,
[699] Fix | Delete
right: false
[700] Fix | Delete
},
[701] Fix | Delete
framesCount = 0,
[702] Fix | Delete
parallaxClass = 'builder-parallax-scrolling',
[703] Fix | Delete
zoomClass = 'builder-zoom-scrolling';
[704] Fix | Delete
loop:
[705] Fix | Delete
for (let i in css) {
[706] Fix | Delete
if ('fonts' !== i && 'cf_fonts' !== i && 'gs' !== i) {
[707] Fix | Delete
for (let j in css[i]) {
[708] Fix | Delete
if (hasOverlay === false) {
[709] Fix | Delete
hasOverlay = j.includes('builder_row_cover', start);
[710] Fix | Delete
}
[711] Fix | Delete
if (j.includes('tb_row_frame', start)) {
[712] Fix | Delete
for (let f in sides) {
[713] Fix | Delete
if (sides[f] === false && j.includes('tb_row_frame_' + f, start)) {
[714] Fix | Delete
sides[f] = true;
[715] Fix | Delete
++framesCount;
[716] Fix | Delete
break;
[717] Fix | Delete
}
[718] Fix | Delete
}
[719] Fix | Delete
}
[720] Fix | Delete
if (hasOverlay === true && framesCount === 4) {
[721] Fix | Delete
break loop;
[722] Fix | Delete
}
[723] Fix | Delete
}
[724] Fix | Delete
}
[725] Fix | Delete
}
[726] Fix | Delete
css = null;
[727] Fix | Delete
if (exist === false && hasOverlay === true) {
[728] Fix | Delete
live.addOrRemoveComponentOverlay();
[729] Fix | Delete
}
[730] Fix | Delete
if (framesCount > 0) {
[731] Fix | Delete
let fr = createDocumentFragment(),
[732] Fix | Delete
frame_wrap = el.querySelector(':scope>.tb_row_frame_wrap');
[733] Fix | Delete
if (!frame_wrap) {
[734] Fix | Delete
frame_wrap = createElement('span','tb_row_frame_wrap tf_overflow tf_abs');
[735] Fix | Delete
el.tfClass('tb_'+model.type+'_action')[0].after(frame_wrap);
[736] Fix | Delete
}
[737] Fix | Delete
for (let f in sides) {
[738] Fix | Delete
if (sides[f] === true && !frame_wrap.tfClass('tb_row_frame_' + f)[0]) {
[739] Fix | Delete
fr.appendChild(createElement('span','tf_abs tf_overflow tf_w tb_row_frame tb_row_frame_' + f));
[740] Fix | Delete
}
[741] Fix | Delete
}
[742] Fix | Delete
frame_wrap.appendChild(fr);
[743] Fix | Delete
}
[744] Fix | Delete
let bgType = res.styling !== undefined ? (res.styling.background_type || 'image') : 'none';
[745] Fix | Delete
[746] Fix | Delete
if (bgType === 'image' && res.styling.background_repeat === parallaxClass && res.styling.background_image) {
[747] Fix | Delete
el.classList.add(parallaxClass);
[748] Fix | Delete
Themify.reRun(el, true);
[749] Fix | Delete
} else {
[750] Fix | Delete
el.classList.remove(parallaxClass);
[751] Fix | Delete
el.style.backgroundPosition = '';
[752] Fix | Delete
if (bgType === 'image' && res.styling.background_repeat === zoomClass && res.styling.background_image) {
[753] Fix | Delete
el.classList.add(zoomClass);
[754] Fix | Delete
Themify.reRun(el, true);
[755] Fix | Delete
} else {
[756] Fix | Delete
el.classList.remove(zoomClass);
[757] Fix | Delete
el.style.backgroundSize = '';
[758] Fix | Delete
}
[759] Fix | Delete
}
[760] Fix | Delete
[761] Fix | Delete
},
[762] Fix | Delete
reset(){
[763] Fix | Delete
this.styles={};
[764] Fix | Delete
searchCache={};
[765] Fix | Delete
this._allLoaded=false;
[766] Fix | Delete
}
[767] Fix | Delete
};
[768] Fix | Delete
api.GS.init();
[769] Fix | Delete
})(tb_app,_CLICK_,ThemifyConstructor);
[770] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function