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

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-inclu.../js/plupload
File: plupload.js
return ctrl.getRuntime().uid;
[1000] Fix | Delete
}
[1001] Fix | Delete
return false;
[1002] Fix | Delete
}
[1003] Fix | Delete
[1004] Fix | Delete
[1005] Fix | Delete
function runtimeCan(file, cap) {
[1006] Fix | Delete
if (file.ruid) {
[1007] Fix | Delete
var info = o.Runtime.getInfo(file.ruid);
[1008] Fix | Delete
if (info) {
[1009] Fix | Delete
return info.can(cap);
[1010] Fix | Delete
}
[1011] Fix | Delete
}
[1012] Fix | Delete
return false;
[1013] Fix | Delete
}
[1014] Fix | Delete
[1015] Fix | Delete
[1016] Fix | Delete
function bindEventListeners() {
[1017] Fix | Delete
this.bind('FilesAdded FilesRemoved', function(up) {
[1018] Fix | Delete
up.trigger('QueueChanged');
[1019] Fix | Delete
up.refresh();
[1020] Fix | Delete
});
[1021] Fix | Delete
[1022] Fix | Delete
this.bind('CancelUpload', onCancelUpload);
[1023] Fix | Delete
[1024] Fix | Delete
this.bind('BeforeUpload', onBeforeUpload);
[1025] Fix | Delete
[1026] Fix | Delete
this.bind('UploadFile', onUploadFile);
[1027] Fix | Delete
[1028] Fix | Delete
this.bind('UploadProgress', onUploadProgress);
[1029] Fix | Delete
[1030] Fix | Delete
this.bind('StateChanged', onStateChanged);
[1031] Fix | Delete
[1032] Fix | Delete
this.bind('QueueChanged', calc);
[1033] Fix | Delete
[1034] Fix | Delete
this.bind('Error', onError);
[1035] Fix | Delete
[1036] Fix | Delete
this.bind('FileUploaded', onFileUploaded);
[1037] Fix | Delete
[1038] Fix | Delete
this.bind('Destroy', onDestroy);
[1039] Fix | Delete
}
[1040] Fix | Delete
[1041] Fix | Delete
[1042] Fix | Delete
function initControls(settings, cb) {
[1043] Fix | Delete
var self = this, inited = 0, queue = [];
[1044] Fix | Delete
[1045] Fix | Delete
// common settings
[1046] Fix | Delete
var options = {
[1047] Fix | Delete
runtime_order: settings.runtimes,
[1048] Fix | Delete
required_caps: settings.required_features,
[1049] Fix | Delete
preferred_caps: preferred_caps
[1050] Fix | Delete
};
[1051] Fix | Delete
[1052] Fix | Delete
// add runtime specific options if any
[1053] Fix | Delete
plupload.each(settings.runtimes.split(/\s*,\s*/), function(runtime) {
[1054] Fix | Delete
if (settings[runtime]) {
[1055] Fix | Delete
options[runtime] = settings[runtime];
[1056] Fix | Delete
}
[1057] Fix | Delete
});
[1058] Fix | Delete
[1059] Fix | Delete
// initialize file pickers - there can be many
[1060] Fix | Delete
if (settings.browse_button) {
[1061] Fix | Delete
plupload.each(settings.browse_button, function(el) {
[1062] Fix | Delete
queue.push(function(cb) {
[1063] Fix | Delete
var fileInput = new o.FileInput(plupload.extend({}, options, {
[1064] Fix | Delete
accept: settings.filters.mime_types,
[1065] Fix | Delete
name: settings.file_data_name,
[1066] Fix | Delete
multiple: settings.multi_selection,
[1067] Fix | Delete
container: settings.container,
[1068] Fix | Delete
browse_button: el
[1069] Fix | Delete
}));
[1070] Fix | Delete
[1071] Fix | Delete
fileInput.onready = function() {
[1072] Fix | Delete
var info = o.Runtime.getInfo(this.ruid);
[1073] Fix | Delete
[1074] Fix | Delete
// for backward compatibility
[1075] Fix | Delete
o.extend(self.features, {
[1076] Fix | Delete
chunks: info.can('slice_blob'),
[1077] Fix | Delete
multipart: info.can('send_multipart'),
[1078] Fix | Delete
multi_selection: info.can('select_multiple')
[1079] Fix | Delete
});
[1080] Fix | Delete
[1081] Fix | Delete
inited++;
[1082] Fix | Delete
fileInputs.push(this);
[1083] Fix | Delete
cb();
[1084] Fix | Delete
};
[1085] Fix | Delete
[1086] Fix | Delete
fileInput.onchange = function() {
[1087] Fix | Delete
self.addFile(this.files);
[1088] Fix | Delete
};
[1089] Fix | Delete
[1090] Fix | Delete
fileInput.bind('mouseenter mouseleave mousedown mouseup', function(e) {
[1091] Fix | Delete
if (!disabled) {
[1092] Fix | Delete
if (settings.browse_button_hover) {
[1093] Fix | Delete
if ('mouseenter' === e.type) {
[1094] Fix | Delete
o.addClass(el, settings.browse_button_hover);
[1095] Fix | Delete
} else if ('mouseleave' === e.type) {
[1096] Fix | Delete
o.removeClass(el, settings.browse_button_hover);
[1097] Fix | Delete
}
[1098] Fix | Delete
}
[1099] Fix | Delete
[1100] Fix | Delete
if (settings.browse_button_active) {
[1101] Fix | Delete
if ('mousedown' === e.type) {
[1102] Fix | Delete
o.addClass(el, settings.browse_button_active);
[1103] Fix | Delete
} else if ('mouseup' === e.type) {
[1104] Fix | Delete
o.removeClass(el, settings.browse_button_active);
[1105] Fix | Delete
}
[1106] Fix | Delete
}
[1107] Fix | Delete
}
[1108] Fix | Delete
});
[1109] Fix | Delete
[1110] Fix | Delete
fileInput.bind('mousedown', function() {
[1111] Fix | Delete
self.trigger('Browse');
[1112] Fix | Delete
});
[1113] Fix | Delete
[1114] Fix | Delete
fileInput.bind('error runtimeerror', function() {
[1115] Fix | Delete
fileInput = null;
[1116] Fix | Delete
cb();
[1117] Fix | Delete
});
[1118] Fix | Delete
[1119] Fix | Delete
fileInput.init();
[1120] Fix | Delete
});
[1121] Fix | Delete
});
[1122] Fix | Delete
}
[1123] Fix | Delete
[1124] Fix | Delete
// initialize drop zones
[1125] Fix | Delete
if (settings.drop_element) {
[1126] Fix | Delete
plupload.each(settings.drop_element, function(el) {
[1127] Fix | Delete
queue.push(function(cb) {
[1128] Fix | Delete
var fileDrop = new o.FileDrop(plupload.extend({}, options, {
[1129] Fix | Delete
drop_zone: el
[1130] Fix | Delete
}));
[1131] Fix | Delete
[1132] Fix | Delete
fileDrop.onready = function() {
[1133] Fix | Delete
var info = o.Runtime.getInfo(this.ruid);
[1134] Fix | Delete
[1135] Fix | Delete
// for backward compatibility
[1136] Fix | Delete
o.extend(self.features, {
[1137] Fix | Delete
chunks: info.can('slice_blob'),
[1138] Fix | Delete
multipart: info.can('send_multipart'),
[1139] Fix | Delete
dragdrop: info.can('drag_and_drop')
[1140] Fix | Delete
});
[1141] Fix | Delete
[1142] Fix | Delete
inited++;
[1143] Fix | Delete
fileDrops.push(this);
[1144] Fix | Delete
cb();
[1145] Fix | Delete
};
[1146] Fix | Delete
[1147] Fix | Delete
fileDrop.ondrop = function() {
[1148] Fix | Delete
self.addFile(this.files);
[1149] Fix | Delete
};
[1150] Fix | Delete
[1151] Fix | Delete
fileDrop.bind('error runtimeerror', function() {
[1152] Fix | Delete
fileDrop = null;
[1153] Fix | Delete
cb();
[1154] Fix | Delete
});
[1155] Fix | Delete
[1156] Fix | Delete
fileDrop.init();
[1157] Fix | Delete
});
[1158] Fix | Delete
});
[1159] Fix | Delete
}
[1160] Fix | Delete
[1161] Fix | Delete
[1162] Fix | Delete
o.inSeries(queue, function() {
[1163] Fix | Delete
if (typeof(cb) === 'function') {
[1164] Fix | Delete
cb(inited);
[1165] Fix | Delete
}
[1166] Fix | Delete
});
[1167] Fix | Delete
}
[1168] Fix | Delete
[1169] Fix | Delete
[1170] Fix | Delete
function resizeImage(blob, params, cb) {
[1171] Fix | Delete
var img = new o.Image();
[1172] Fix | Delete
[1173] Fix | Delete
try {
[1174] Fix | Delete
img.onload = function() {
[1175] Fix | Delete
// no manipulation required if...
[1176] Fix | Delete
if (params.width > this.width &&
[1177] Fix | Delete
params.height > this.height &&
[1178] Fix | Delete
params.quality === undef &&
[1179] Fix | Delete
params.preserve_headers &&
[1180] Fix | Delete
!params.crop
[1181] Fix | Delete
) {
[1182] Fix | Delete
this.destroy();
[1183] Fix | Delete
return cb(blob);
[1184] Fix | Delete
}
[1185] Fix | Delete
// otherwise downsize
[1186] Fix | Delete
img.downsize(params.width, params.height, params.crop, params.preserve_headers);
[1187] Fix | Delete
};
[1188] Fix | Delete
[1189] Fix | Delete
img.onresize = function() {
[1190] Fix | Delete
cb(this.getAsBlob(blob.type, params.quality));
[1191] Fix | Delete
this.destroy();
[1192] Fix | Delete
};
[1193] Fix | Delete
[1194] Fix | Delete
img.onerror = function() {
[1195] Fix | Delete
cb(blob);
[1196] Fix | Delete
};
[1197] Fix | Delete
[1198] Fix | Delete
img.load(blob);
[1199] Fix | Delete
} catch(ex) {
[1200] Fix | Delete
cb(blob);
[1201] Fix | Delete
}
[1202] Fix | Delete
}
[1203] Fix | Delete
[1204] Fix | Delete
[1205] Fix | Delete
function setOption(option, value, init) {
[1206] Fix | Delete
var self = this, reinitRequired = false;
[1207] Fix | Delete
[1208] Fix | Delete
function _setOption(option, value, init) {
[1209] Fix | Delete
var oldValue = settings[option];
[1210] Fix | Delete
[1211] Fix | Delete
switch (option) {
[1212] Fix | Delete
case 'max_file_size':
[1213] Fix | Delete
if (option === 'max_file_size') {
[1214] Fix | Delete
settings.max_file_size = settings.filters.max_file_size = value;
[1215] Fix | Delete
}
[1216] Fix | Delete
break;
[1217] Fix | Delete
[1218] Fix | Delete
case 'chunk_size':
[1219] Fix | Delete
if (value = plupload.parseSize(value)) {
[1220] Fix | Delete
settings[option] = value;
[1221] Fix | Delete
settings.send_file_name = true;
[1222] Fix | Delete
}
[1223] Fix | Delete
break;
[1224] Fix | Delete
[1225] Fix | Delete
case 'multipart':
[1226] Fix | Delete
settings[option] = value;
[1227] Fix | Delete
if (!value) {
[1228] Fix | Delete
settings.send_file_name = true;
[1229] Fix | Delete
}
[1230] Fix | Delete
break;
[1231] Fix | Delete
[1232] Fix | Delete
case 'unique_names':
[1233] Fix | Delete
settings[option] = value;
[1234] Fix | Delete
if (value) {
[1235] Fix | Delete
settings.send_file_name = true;
[1236] Fix | Delete
}
[1237] Fix | Delete
break;
[1238] Fix | Delete
[1239] Fix | Delete
case 'filters':
[1240] Fix | Delete
// for sake of backward compatibility
[1241] Fix | Delete
if (plupload.typeOf(value) === 'array') {
[1242] Fix | Delete
value = {
[1243] Fix | Delete
mime_types: value
[1244] Fix | Delete
};
[1245] Fix | Delete
}
[1246] Fix | Delete
[1247] Fix | Delete
if (init) {
[1248] Fix | Delete
plupload.extend(settings.filters, value);
[1249] Fix | Delete
} else {
[1250] Fix | Delete
settings.filters = value;
[1251] Fix | Delete
}
[1252] Fix | Delete
[1253] Fix | Delete
// if file format filters are being updated, regenerate the matching expressions
[1254] Fix | Delete
if (value.mime_types) {
[1255] Fix | Delete
settings.filters.mime_types.regexp = (function(filters) {
[1256] Fix | Delete
var extensionsRegExp = [];
[1257] Fix | Delete
[1258] Fix | Delete
plupload.each(filters, function(filter) {
[1259] Fix | Delete
plupload.each(filter.extensions.split(/,/), function(ext) {
[1260] Fix | Delete
if (/^\s*\*\s*$/.test(ext)) {
[1261] Fix | Delete
extensionsRegExp.push('\\.*');
[1262] Fix | Delete
} else {
[1263] Fix | Delete
extensionsRegExp.push('\\.' + ext.replace(new RegExp('[' + ('/^$.*+?|()[]{}\\'.replace(/./g, '\\$&')) + ']', 'g'), '\\$&'));
[1264] Fix | Delete
}
[1265] Fix | Delete
});
[1266] Fix | Delete
});
[1267] Fix | Delete
[1268] Fix | Delete
return new RegExp('(' + extensionsRegExp.join('|') + ')$', 'i');
[1269] Fix | Delete
}(settings.filters.mime_types));
[1270] Fix | Delete
}
[1271] Fix | Delete
break;
[1272] Fix | Delete
[1273] Fix | Delete
case 'resize':
[1274] Fix | Delete
if (init) {
[1275] Fix | Delete
plupload.extend(settings.resize, value, {
[1276] Fix | Delete
enabled: true
[1277] Fix | Delete
});
[1278] Fix | Delete
} else {
[1279] Fix | Delete
settings.resize = value;
[1280] Fix | Delete
}
[1281] Fix | Delete
break;
[1282] Fix | Delete
[1283] Fix | Delete
case 'prevent_duplicates':
[1284] Fix | Delete
settings.prevent_duplicates = settings.filters.prevent_duplicates = !!value;
[1285] Fix | Delete
break;
[1286] Fix | Delete
[1287] Fix | Delete
// options that require reinitialisation
[1288] Fix | Delete
case 'container':
[1289] Fix | Delete
case 'browse_button':
[1290] Fix | Delete
case 'drop_element':
[1291] Fix | Delete
value = 'container' === option
[1292] Fix | Delete
? plupload.get(value)
[1293] Fix | Delete
: plupload.getAll(value)
[1294] Fix | Delete
;
[1295] Fix | Delete
[1296] Fix | Delete
case 'runtimes':
[1297] Fix | Delete
case 'multi_selection':
[1298] Fix | Delete
settings[option] = value;
[1299] Fix | Delete
if (!init) {
[1300] Fix | Delete
reinitRequired = true;
[1301] Fix | Delete
}
[1302] Fix | Delete
break;
[1303] Fix | Delete
[1304] Fix | Delete
default:
[1305] Fix | Delete
settings[option] = value;
[1306] Fix | Delete
}
[1307] Fix | Delete
[1308] Fix | Delete
if (!init) {
[1309] Fix | Delete
self.trigger('OptionChanged', option, value, oldValue);
[1310] Fix | Delete
}
[1311] Fix | Delete
}
[1312] Fix | Delete
[1313] Fix | Delete
if (typeof(option) === 'object') {
[1314] Fix | Delete
plupload.each(option, function(value, option) {
[1315] Fix | Delete
_setOption(option, value, init);
[1316] Fix | Delete
});
[1317] Fix | Delete
} else {
[1318] Fix | Delete
_setOption(option, value, init);
[1319] Fix | Delete
}
[1320] Fix | Delete
[1321] Fix | Delete
if (init) {
[1322] Fix | Delete
// Normalize the list of required capabilities
[1323] Fix | Delete
settings.required_features = normalizeCaps(plupload.extend({}, settings));
[1324] Fix | Delete
[1325] Fix | Delete
// Come up with the list of capabilities that can affect default mode in a multi-mode runtimes
[1326] Fix | Delete
preferred_caps = normalizeCaps(plupload.extend({}, settings, {
[1327] Fix | Delete
required_features: true
[1328] Fix | Delete
}));
[1329] Fix | Delete
} else if (reinitRequired) {
[1330] Fix | Delete
self.trigger('Destroy');
[1331] Fix | Delete
[1332] Fix | Delete
initControls.call(self, settings, function(inited) {
[1333] Fix | Delete
if (inited) {
[1334] Fix | Delete
self.runtime = o.Runtime.getInfo(getRUID()).type;
[1335] Fix | Delete
self.trigger('Init', { runtime: self.runtime });
[1336] Fix | Delete
self.trigger('PostInit');
[1337] Fix | Delete
} else {
[1338] Fix | Delete
self.trigger('Error', {
[1339] Fix | Delete
code : plupload.INIT_ERROR,
[1340] Fix | Delete
message : plupload.translate('Init error.')
[1341] Fix | Delete
});
[1342] Fix | Delete
}
[1343] Fix | Delete
});
[1344] Fix | Delete
}
[1345] Fix | Delete
}
[1346] Fix | Delete
[1347] Fix | Delete
[1348] Fix | Delete
// Internal event handlers
[1349] Fix | Delete
function onBeforeUpload(up, file) {
[1350] Fix | Delete
// Generate unique target filenames
[1351] Fix | Delete
if (up.settings.unique_names) {
[1352] Fix | Delete
var matches = file.name.match(/\.([^.]+)$/), ext = "part";
[1353] Fix | Delete
if (matches) {
[1354] Fix | Delete
ext = matches[1];
[1355] Fix | Delete
}
[1356] Fix | Delete
file.target_name = file.id + '.' + ext;
[1357] Fix | Delete
}
[1358] Fix | Delete
}
[1359] Fix | Delete
[1360] Fix | Delete
[1361] Fix | Delete
function onUploadFile(up, file) {
[1362] Fix | Delete
var url = up.settings.url
[1363] Fix | Delete
, chunkSize = up.settings.chunk_size
[1364] Fix | Delete
, retries = up.settings.max_retries
[1365] Fix | Delete
, features = up.features
[1366] Fix | Delete
, offset = 0
[1367] Fix | Delete
, blob
[1368] Fix | Delete
;
[1369] Fix | Delete
[1370] Fix | Delete
// make sure we start at a predictable offset
[1371] Fix | Delete
if (file.loaded) {
[1372] Fix | Delete
offset = file.loaded = chunkSize ? chunkSize * Math.floor(file.loaded / chunkSize) : 0;
[1373] Fix | Delete
}
[1374] Fix | Delete
[1375] Fix | Delete
function handleError() {
[1376] Fix | Delete
if (retries-- > 0) {
[1377] Fix | Delete
delay(uploadNextChunk, 1000);
[1378] Fix | Delete
} else {
[1379] Fix | Delete
file.loaded = offset; // reset all progress
[1380] Fix | Delete
[1381] Fix | Delete
up.trigger('Error', {
[1382] Fix | Delete
code : plupload.HTTP_ERROR,
[1383] Fix | Delete
message : plupload.translate('HTTP Error.'),
[1384] Fix | Delete
file : file,
[1385] Fix | Delete
response : xhr.responseText,
[1386] Fix | Delete
status : xhr.status,
[1387] Fix | Delete
responseHeaders: xhr.getAllResponseHeaders()
[1388] Fix | Delete
});
[1389] Fix | Delete
}
[1390] Fix | Delete
}
[1391] Fix | Delete
[1392] Fix | Delete
function uploadNextChunk() {
[1393] Fix | Delete
var chunkBlob, formData, args = {}, curChunkSize;
[1394] Fix | Delete
[1395] Fix | Delete
// make sure that file wasn't cancelled and upload is not stopped in general
[1396] Fix | Delete
if (file.status !== plupload.UPLOADING || up.state === plupload.STOPPED) {
[1397] Fix | Delete
return;
[1398] Fix | Delete
}
[1399] Fix | Delete
[1400] Fix | Delete
// send additional 'name' parameter only if required
[1401] Fix | Delete
if (up.settings.send_file_name) {
[1402] Fix | Delete
args.name = file.target_name || file.name;
[1403] Fix | Delete
}
[1404] Fix | Delete
[1405] Fix | Delete
if (chunkSize && features.chunks && blob.size > chunkSize) { // blob will be of type string if it was loaded in memory
[1406] Fix | Delete
curChunkSize = Math.min(chunkSize, blob.size - offset);
[1407] Fix | Delete
chunkBlob = blob.slice(offset, offset + curChunkSize);
[1408] Fix | Delete
} else {
[1409] Fix | Delete
curChunkSize = blob.size;
[1410] Fix | Delete
chunkBlob = blob;
[1411] Fix | Delete
}
[1412] Fix | Delete
[1413] Fix | Delete
// If chunking is enabled add corresponding args, no matter if file is bigger than chunk or smaller
[1414] Fix | Delete
if (chunkSize && features.chunks) {
[1415] Fix | Delete
// Setup query string arguments
[1416] Fix | Delete
if (up.settings.send_chunk_number) {
[1417] Fix | Delete
args.chunk = Math.ceil(offset / chunkSize);
[1418] Fix | Delete
args.chunks = Math.ceil(blob.size / chunkSize);
[1419] Fix | Delete
} else { // keep support for experimental chunk format, just in case
[1420] Fix | Delete
args.offset = offset;
[1421] Fix | Delete
args.total = blob.size;
[1422] Fix | Delete
}
[1423] Fix | Delete
}
[1424] Fix | Delete
[1425] Fix | Delete
xhr = new o.XMLHttpRequest();
[1426] Fix | Delete
[1427] Fix | Delete
// Do we have upload progress support
[1428] Fix | Delete
if (xhr.upload) {
[1429] Fix | Delete
xhr.upload.onprogress = function(e) {
[1430] Fix | Delete
file.loaded = Math.min(file.size, offset + e.loaded);
[1431] Fix | Delete
up.trigger('UploadProgress', file);
[1432] Fix | Delete
};
[1433] Fix | Delete
}
[1434] Fix | Delete
[1435] Fix | Delete
xhr.onload = function() {
[1436] Fix | Delete
// check if upload made itself through
[1437] Fix | Delete
if (xhr.status >= 400) {
[1438] Fix | Delete
handleError();
[1439] Fix | Delete
return;
[1440] Fix | Delete
}
[1441] Fix | Delete
[1442] Fix | Delete
retries = up.settings.max_retries; // reset the counter
[1443] Fix | Delete
[1444] Fix | Delete
// Handle chunk response
[1445] Fix | Delete
if (curChunkSize < blob.size) {
[1446] Fix | Delete
chunkBlob.destroy();
[1447] Fix | Delete
[1448] Fix | Delete
offset += curChunkSize;
[1449] Fix | Delete
file.loaded = Math.min(offset, blob.size);
[1450] Fix | Delete
[1451] Fix | Delete
up.trigger('ChunkUploaded', file, {
[1452] Fix | Delete
offset : file.loaded,
[1453] Fix | Delete
total : blob.size,
[1454] Fix | Delete
response : xhr.responseText,
[1455] Fix | Delete
status : xhr.status,
[1456] Fix | Delete
responseHeaders: xhr.getAllResponseHeaders()
[1457] Fix | Delete
});
[1458] Fix | Delete
[1459] Fix | Delete
// stock Android browser doesn't fire upload progress events, but in chunking mode we can fake them
[1460] Fix | Delete
if (o.Env.browser === 'Android Browser') {
[1461] Fix | Delete
// doesn't harm in general, but is not required anywhere else
[1462] Fix | Delete
up.trigger('UploadProgress', file);
[1463] Fix | Delete
}
[1464] Fix | Delete
} else {
[1465] Fix | Delete
file.loaded = file.size;
[1466] Fix | Delete
}
[1467] Fix | Delete
[1468] Fix | Delete
chunkBlob = formData = null; // Free memory
[1469] Fix | Delete
[1470] Fix | Delete
// Check if file is uploaded
[1471] Fix | Delete
if (!offset || offset >= blob.size) {
[1472] Fix | Delete
// If file was modified, destory the copy
[1473] Fix | Delete
if (file.size != file.origSize) {
[1474] Fix | Delete
blob.destroy();
[1475] Fix | Delete
blob = null;
[1476] Fix | Delete
}
[1477] Fix | Delete
[1478] Fix | Delete
up.trigger('UploadProgress', file);
[1479] Fix | Delete
[1480] Fix | Delete
file.status = plupload.DONE;
[1481] Fix | Delete
[1482] Fix | Delete
up.trigger('FileUploaded', file, {
[1483] Fix | Delete
response : xhr.responseText,
[1484] Fix | Delete
status : xhr.status,
[1485] Fix | Delete
responseHeaders: xhr.getAllResponseHeaders()
[1486] Fix | Delete
});
[1487] Fix | Delete
} else {
[1488] Fix | Delete
// Still chunks left
[1489] Fix | Delete
delay(uploadNextChunk, 1); // run detached, otherwise event handlers interfere
[1490] Fix | Delete
}
[1491] Fix | Delete
};
[1492] Fix | Delete
[1493] Fix | Delete
xhr.onerror = function() {
[1494] Fix | Delete
handleError();
[1495] Fix | Delete
};
[1496] Fix | Delete
[1497] Fix | Delete
xhr.onloadend = function() {
[1498] Fix | Delete
this.destroy();
[1499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function