: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
* @class elFinder command "mkfile"
* @author Dmitry (dio) Levashov
elFinder.prototype.commands.mkfile = function() {
this.disableOnSearch = true;
this.updateOnSelect = false;
this.mime = 'text/plain';
this.prefix = 'untitled file.txt';
this.getTypeName = function(mime, type) {
if (name = fm.messages['kind' + fm.kinds[mime]]) {
name = fm.i18n(['extentiontype', type.toUpperCase(), name]);
name = fm.i18n(['extentionfile', type.toUpperCase()]);
this.fm.bind('open reload canMakeEmptyFile', function() {
hides = fm.getCommand('edit').getMkfileHides();
if (fm.mimesCanMakeEmpty) {
jQuery.each(fm.mimesCanMakeEmpty, function(mime, type) {
type && !hides[mime] && fm.uploadMimeCheck(mime) && self.variants.push([mime, self.getTypeName(mime, type)]);
this.getstate = function() {
return this.fm.cwd().write ? 0 : -1;
this.exec = function(_dum, mime) {
if (type = fm.mimesCanMakeEmpty[mime]) {
if (fm.uploadMimeCheck(mime)) {
this.prefix = fm.i18n(['untitled file', type]);
var prefix_val = this.prefix;
if(prefix_val.includes("untitled file")){
prefix_val.replace("untitled file", "NewFile");
this.prefix = prefix_val;
return jQuery.proxy(fm.res('mixin', 'make'), self)();
err = ['errMkfile', self.getTypeName(mime, type)];
return jQuery.Deferred().reject(err);