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
/home/sportsfe.../httpdocs/wp-conte.../plugins/wp-file-.../lib/js/commands
File: search.js
/**
[0] Fix | Delete
* @class elFinder command "search"
[1] Fix | Delete
* Find files
[2] Fix | Delete
*
[3] Fix | Delete
* @author Dmitry (dio) Levashov
[4] Fix | Delete
**/
[5] Fix | Delete
elFinder.prototype.commands.search = function() {
[6] Fix | Delete
"use strict";
[7] Fix | Delete
this.title = 'Find files';
[8] Fix | Delete
this.options = {ui : 'searchbutton'};
[9] Fix | Delete
this.alwaysEnabled = true;
[10] Fix | Delete
this.updateOnSelect = false;
[11] Fix | Delete
[12] Fix | Delete
/**
[13] Fix | Delete
* Return command status.
[14] Fix | Delete
* Search does not support old api.
[15] Fix | Delete
*
[16] Fix | Delete
* @return Number
[17] Fix | Delete
**/
[18] Fix | Delete
this.getstate = function() {
[19] Fix | Delete
return 0;
[20] Fix | Delete
};
[21] Fix | Delete
[22] Fix | Delete
/**
[23] Fix | Delete
* Send search request to backend.
[24] Fix | Delete
*
[25] Fix | Delete
* @param String search string
[26] Fix | Delete
* @return jQuery.Deferred
[27] Fix | Delete
**/
[28] Fix | Delete
this.exec = function(q, target, mime, type) {
[29] Fix | Delete
var fm = this.fm,
[30] Fix | Delete
reqDef = [],
[31] Fix | Delete
sType = type || '',
[32] Fix | Delete
onlyMimes = fm.options.onlyMimes,
[33] Fix | Delete
phash, targetVolids = [],
[34] Fix | Delete
setType = function(data) {
[35] Fix | Delete
if (sType && sType !== 'SearchName' && sType !== 'SearchMime') {
[36] Fix | Delete
data.type = sType;
[37] Fix | Delete
}
[38] Fix | Delete
return data;
[39] Fix | Delete
},
[40] Fix | Delete
rootCnt;
[41] Fix | Delete
[42] Fix | Delete
if (typeof q == 'string' && q) {
[43] Fix | Delete
if (typeof target == 'object') {
[44] Fix | Delete
mime = target.mime || '';
[45] Fix | Delete
target = target.target || '';
[46] Fix | Delete
}
[47] Fix | Delete
target = target? target : '';
[48] Fix | Delete
if (mime) {
[49] Fix | Delete
mime = jQuery.trim(mime).replace(',', ' ').split(' ');
[50] Fix | Delete
if (onlyMimes.length) {
[51] Fix | Delete
mime = jQuery.map(mime, function(m){
[52] Fix | Delete
m = jQuery.trim(m);
[53] Fix | Delete
return m && (jQuery.inArray(m, onlyMimes) !== -1
[54] Fix | Delete
|| jQuery.grep(onlyMimes, function(om) { return m.indexOf(om) === 0? true : false; }).length
[55] Fix | Delete
)? m : null;
[56] Fix | Delete
});
[57] Fix | Delete
}
[58] Fix | Delete
} else {
[59] Fix | Delete
mime = [].concat(onlyMimes);
[60] Fix | Delete
}
[61] Fix | Delete
[62] Fix | Delete
fm.trigger('searchstart', setType({query : q, target : target, mimes : mime}));
[63] Fix | Delete
[64] Fix | Delete
if (! onlyMimes.length || mime.length) {
[65] Fix | Delete
if (target === '' && fm.api >= 2.1) {
[66] Fix | Delete
rootCnt = Object.keys(fm.roots).length;
[67] Fix | Delete
jQuery.each(fm.roots, function(id, hash) {
[68] Fix | Delete
reqDef.push(fm.request({
[69] Fix | Delete
data : setType({cmd : 'search', q : q, target : hash, mimes : mime}),
[70] Fix | Delete
notify : {type : 'search', cnt : 1, hideCnt : (rootCnt > 1? false : true)},
[71] Fix | Delete
cancel : true,
[72] Fix | Delete
preventDone : true
[73] Fix | Delete
}));
[74] Fix | Delete
});
[75] Fix | Delete
} else {
[76] Fix | Delete
reqDef.push(fm.request({
[77] Fix | Delete
data : setType({cmd : 'search', q : q, target : target, mimes : mime}),
[78] Fix | Delete
notify : {type : 'search', cnt : 1, hideCnt : true},
[79] Fix | Delete
cancel : true,
[80] Fix | Delete
preventDone : true
[81] Fix | Delete
}));
[82] Fix | Delete
if (target !== '' && fm.api >= 2.1 && Object.keys(fm.leafRoots).length) {
[83] Fix | Delete
jQuery.each(fm.leafRoots, function(hash, roots) {
[84] Fix | Delete
phash = hash;
[85] Fix | Delete
while(phash) {
[86] Fix | Delete
if (target === phash) {
[87] Fix | Delete
jQuery.each(roots, function() {
[88] Fix | Delete
var f = fm.file(this);
[89] Fix | Delete
f && f.volumeid && targetVolids.push(f.volumeid);
[90] Fix | Delete
reqDef.push(fm.request({
[91] Fix | Delete
data : setType({cmd : 'search', q : q, target : this, mimes : mime}),
[92] Fix | Delete
notify : {type : 'search', cnt : 1, hideCnt : false},
[93] Fix | Delete
cancel : true,
[94] Fix | Delete
preventDone : true
[95] Fix | Delete
}));
[96] Fix | Delete
});
[97] Fix | Delete
}
[98] Fix | Delete
phash = (fm.file(phash) || {}).phash;
[99] Fix | Delete
}
[100] Fix | Delete
});
[101] Fix | Delete
}
[102] Fix | Delete
}
[103] Fix | Delete
} else {
[104] Fix | Delete
reqDef = [jQuery.Deferred().resolve({files: []})];
[105] Fix | Delete
}
[106] Fix | Delete
[107] Fix | Delete
fm.searchStatus.mixed = (reqDef.length > 1)? targetVolids : false;
[108] Fix | Delete
[109] Fix | Delete
return jQuery.when.apply($, reqDef).done(function(data) {
[110] Fix | Delete
var argLen = arguments.length,
[111] Fix | Delete
i;
[112] Fix | Delete
[113] Fix | Delete
data.warning && fm.error(data.warning);
[114] Fix | Delete
[115] Fix | Delete
if (argLen > 1) {
[116] Fix | Delete
data.files = (data.files || []);
[117] Fix | Delete
for(i = 1; i < argLen; i++) {
[118] Fix | Delete
arguments[i].warning && fm.error(arguments[i].warning);
[119] Fix | Delete
[120] Fix | Delete
if (arguments[i].files) {
[121] Fix | Delete
data.files.push.apply(data.files, arguments[i].files);
[122] Fix | Delete
}
[123] Fix | Delete
}
[124] Fix | Delete
}
[125] Fix | Delete
[126] Fix | Delete
// because "preventDone : true" so update files cache
[127] Fix | Delete
data.files && data.files.length && fm.cache(data.files);
[128] Fix | Delete
[129] Fix | Delete
fm.lazy(function() {
[130] Fix | Delete
fm.trigger('search', data);
[131] Fix | Delete
}).then(function() {
[132] Fix | Delete
// fire event with command name + 'done'
[133] Fix | Delete
return fm.lazy(function() {
[134] Fix | Delete
fm.trigger('searchdone');
[135] Fix | Delete
});
[136] Fix | Delete
}).then(function() {
[137] Fix | Delete
// force update content
[138] Fix | Delete
data.sync && fm.sync();
[139] Fix | Delete
});
[140] Fix | Delete
});
[141] Fix | Delete
}
[142] Fix | Delete
fm.getUI('toolbar').find('.'+fm.res('class', 'searchbtn')+' :text').trigger('focus');
[143] Fix | Delete
return jQuery.Deferred().reject();
[144] Fix | Delete
};
[145] Fix | Delete
[146] Fix | Delete
};
[147] Fix | Delete
[148] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function