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/wp-conte.../plugins/themify-.../js/editor/componen...
File: lightbox.mjs
}
[1000] Fix | Delete
}
[1001] Fix | Delete
}
[1002] Fix | Delete
}
[1003] Fix | Delete
if (value === undefined || value === 'undefined' || value === null) {
[1004] Fix | Delete
value = '';
[1005] Fix | Delete
}
[1006] Fix | Delete
[1007] Fix | Delete
return {
[1008] Fix | Delete
id: option_id,
[1009] Fix | Delete
v: value
[1010] Fix | Delete
};
[1011] Fix | Delete
},
[1012] Fix | Delete
serialize(id, empty, repeat) {
[1013] Fix | Delete
const result = {},
[1014] Fix | Delete
el = typeof id === 'string' ?api.LightBox.el.querySelector('#' + id):id;
[1015] Fix | Delete
repeat??=false;
[1016] Fix | Delete
if (el !== null) {
[1017] Fix | Delete
const options = el.tfClass((repeat ? 'tb_lb_option_child' : 'tb_lb_option'));
[1018] Fix | Delete
for (let i = options.length - 1; i > -1; --i) {
[1019] Fix | Delete
let v = this.parseSettings(options[i], repeat);
[1020] Fix | Delete
if (v !== false && v.id && (empty === true || v.v !== '')) {
[1021] Fix | Delete
result[v.id] = v.v;
[1022] Fix | Delete
}
[1023] Fix | Delete
}
[1024] Fix | Delete
}
[1025] Fix | Delete
return result;
[1026] Fix | Delete
},
[1027] Fix | Delete
_initValidators() {
[1028] Fix | Delete
this.registerValidator('email', item => {
[1029] Fix | Delete
const v = typeof item === 'string' ? item : item.value.split(','),
[1030] Fix | Delete
pattern = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
[1031] Fix | Delete
for (let i = v.length - 1; i > -1; --i) {
[1032] Fix | Delete
if (!pattern.test(v[i])) {
[1033] Fix | Delete
return false;
[1034] Fix | Delete
}
[1035] Fix | Delete
}
[1036] Fix | Delete
return true;
[1037] Fix | Delete
});
[1038] Fix | Delete
this.registerValidator('row_anchor', item => {
[1039] Fix | Delete
let v = item.value;
[1040] Fix | Delete
if (v) {
[1041] Fix | Delete
v = v.replaceAll('#', '').replaceAll(' ', '').trim();
[1042] Fix | Delete
}
[1043] Fix | Delete
item.value = v;
[1044] Fix | Delete
return true;
[1045] Fix | Delete
});
[1046] Fix | Delete
this.registerValidator('custom_css_id', (item,el) => {
[1047] Fix | Delete
let count = 0,
[1048] Fix | Delete
v = item.value.trim();
[1049] Fix | Delete
if (v) {
[1050] Fix | Delete
v = v.replace(/[^a-zA-Z0-9\-\_]/g, '');
[1051] Fix | Delete
while (1) {
[1052] Fix | Delete
if (isNaN(v[0])) {
[1053] Fix | Delete
break;
[1054] Fix | Delete
}
[1055] Fix | Delete
v = v.substring(1);
[1056] Fix | Delete
}
[1057] Fix | Delete
if (v) {
[1058] Fix | Delete
el??=api.activeModel.el;
[1059] Fix | Delete
const items = doc.querySelectorAll('#' + v);
[1060] Fix | Delete
if (items.length > 0) {
[1061] Fix | Delete
for (let i = items.length - 1; i > -1; --i) {
[1062] Fix | Delete
if (el!==items[i] && items[i].closest('.module_row') !== null) {
[1063] Fix | Delete
++count;
[1064] Fix | Delete
break;
[1065] Fix | Delete
}
[1066] Fix | Delete
}
[1067] Fix | Delete
}
[1068] Fix | Delete
}
[1069] Fix | Delete
}
[1070] Fix | Delete
item.value = v;
[1071] Fix | Delete
return count===0;
[1072] Fix | Delete
});
[1073] Fix | Delete
[1074] Fix | Delete
this.registerValidator('custom_css', item => {
[1075] Fix | Delete
let v = item.value;
[1076] Fix | Delete
if (v) {
[1077] Fix | Delete
v = v.replace(/\s\s+/g, ' ').split(' ');
[1078] Fix | Delete
for (let i = v.length - 1; i > -1; --i) {
[1079] Fix | Delete
v[i] = v[i].replace(/[^a-zA-Z0-9\s\-\_]/g, '');
[1080] Fix | Delete
if (v[i][0] !== '') {
[1081] Fix | Delete
while (1) {
[1082] Fix | Delete
if (isNaN(v[i][0])) {
[1083] Fix | Delete
break;
[1084] Fix | Delete
}
[1085] Fix | Delete
v[i] = v[i].substring(1);
[1086] Fix | Delete
}
[1087] Fix | Delete
}
[1088] Fix | Delete
}
[1089] Fix | Delete
v = v.join(' ');
[1090] Fix | Delete
}
[1091] Fix | Delete
item.value = v;
[1092] Fix | Delete
return true;
[1093] Fix | Delete
});
[1094] Fix | Delete
this.registerValidator('not_empty', item => {
[1095] Fix | Delete
return item.value.toString().trim() !== '';
[1096] Fix | Delete
});
[1097] Fix | Delete
},
[1098] Fix | Delete
registerValidator(type, fn) {
[1099] Fix | Delete
this._validators.set(type, fn);
[1100] Fix | Delete
},
[1101] Fix | Delete
getValidator(type) {
[1102] Fix | Delete
return this._validators.get(type) || this._validators.get('not_empty');
[1103] Fix | Delete
},
[1104] Fix | Delete
isValidate(form) {
[1105] Fix | Delete
const validate = form.tfClass('tb_must_validate'),
[1106] Fix | Delete
len = validate.length;
[1107] Fix | Delete
let is_valid = true;
[1108] Fix | Delete
if (len>0) {
[1109] Fix | Delete
for (let i = len - 1; i > -1; --i) {
[1110] Fix | Delete
let item = validate[i].tfClass('tb_lb_option')[0],
[1111] Fix | Delete
validator=this.getValidator(validate[i].dataset.validation),
[1112] Fix | Delete
check = validator(item);
[1113] Fix | Delete
if (check !== true) {
[1114] Fix | Delete
if (!item.classList.contains('tb_field_error')) {
[1115] Fix | Delete
let exist=item.parentNode.tfClass('tb_field_error_msg')[0],
[1116] Fix | Delete
el = exist || createElement('span'),
[1117] Fix | Delete
afterEl = item.tagName === 'SELECT' || item.classList.contains('tb_uploader_input')? item.parentNode : item,
[1118] Fix | Delete
msg=validate[i].dataset.errorMsg;
[1119] Fix | Delete
el.textContent = check === false ? (i18n[msg] || msg) : check;
[1120] Fix | Delete
item.classList.add('tb_field_error');
[1121] Fix | Delete
if(!exist){
[1122] Fix | Delete
el.className = 'tb_field_error_msg';
[1123] Fix | Delete
afterEl.after(el);
[1124] Fix | Delete
}
[1125] Fix | Delete
}
[1126] Fix | Delete
is_valid = false;
[1127] Fix | Delete
} else {
[1128] Fix | Delete
item.classList.remove('tb_field_error');
[1129] Fix | Delete
for (let er = validate[i].tfClass('tb_field_error_msg'),j = er.length - 1; j > -1; --j) {
[1130] Fix | Delete
er[j].remove();
[1131] Fix | Delete
}
[1132] Fix | Delete
}
[1133] Fix | Delete
}
[1134] Fix | Delete
if (is_valid === false) {
[1135] Fix | Delete
const tab = api.LightBox.el.querySelector('a[data-id="' + form.id + '"]');
[1136] Fix | Delete
if (!tab.parentNode.classList.contains('current')) {
[1137] Fix | Delete
Themify.triggerEvent(tab, _CLICK_);
[1138] Fix | Delete
}
[1139] Fix | Delete
api.LightBox.el.focus();
[1140] Fix | Delete
TF_Notification.showHide('error', i18n.lightBoxRequiredFields);
[1141] Fix | Delete
}
[1142] Fix | Delete
}
[1143] Fix | Delete
return is_valid;
[1144] Fix | Delete
},
[1145] Fix | Delete
serializeObject(el) {
[1146] Fix | Delete
const o = {},
[1147] Fix | Delete
items = el.querySelectorAll('input,select,textarea');
[1148] Fix | Delete
for (let i = items.length - 1; i > -1; --i) {
[1149] Fix | Delete
let {type,value,id,tagName:tag} = items[i],
[1150] Fix | Delete
name = items[i].name || id;
[1151] Fix | Delete
if (name && type !== 'button' && type !== 'submit' && value !== '') {
[1152] Fix | Delete
if (items[i].classList.contains('wp-editor-area') && typeof tinyMCE !== 'undefined') {
[1153] Fix | Delete
let tiny = tinyMCE.get(id);
[1154] Fix | Delete
if (tiny) {
[1155] Fix | Delete
value = tiny.getContent().trim();
[1156] Fix | Delete
}
[1157] Fix | Delete
} else if (type === 'radio' || type === 'checkbox' || tag === 'select') {
[1158] Fix | Delete
if (tag === 'select') {
[1159] Fix | Delete
if (items[i].hasAttribute('multiple')) {
[1160] Fix | Delete
let selected = [];
[1161] Fix | Delete
for (let j = 0, options = items[i].children; j < options.length; ++j) {
[1162] Fix | Delete
if (options[j].selected) {
[1163] Fix | Delete
selected.push(options[j].value);
[1164] Fix | Delete
}
[1165] Fix | Delete
}
[1166] Fix | Delete
value = selected;
[1167] Fix | Delete
}
[1168] Fix | Delete
} else if (!items[i].checked) {
[1169] Fix | Delete
continue;
[1170] Fix | Delete
}
[1171] Fix | Delete
}
[1172] Fix | Delete
if (value !== '') {
[1173] Fix | Delete
if (type === 'checkbox') {
[1174] Fix | Delete
o[name]??= [];
[1175] Fix | Delete
o[name].push(value);
[1176] Fix | Delete
} else {
[1177] Fix | Delete
o[name] = value;
[1178] Fix | Delete
}
[1179] Fix | Delete
}
[1180] Fix | Delete
}
[1181] Fix | Delete
}
[1182] Fix | Delete
return o;
[1183] Fix | Delete
}
[1184] Fix | Delete
};
[1185] Fix | Delete
[1186] Fix | Delete
api.LightBox._init();
[1187] Fix | Delete
[1188] Fix | Delete
})(tb_app, topThemify,topWindowDoc,topWindow,topBody,topBodyCl,_CLICK_,tb_app.Registry,ThemifyConstructor);
[1189] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function