function EditFile (id) { var id = id; var form = new Form (); var getSaveValue = false; this.onload = function () { this.preview (); var value = form.get ("value["+id+"]"); form.set ("force_download["+id+"]", !value.match (/&open=1/)); form.set ("name["+id+"]", value.replace (/.*&filename=([^&]+).*|.*/, "$1")); form.set ("type["+id+"]", value.replace (/.*&type=[^&]+\/([^&]+).*|.*/, "$1")); } this.setValue = function (value) { if (typeof value == "object") { form.set ("value["+id+"]", value.value); form.set ("url["+id+"]", value.url); form.set ("type["+id+"]", value.type); form.set ("name["+id+"]", value.name); form.set ("force_download["+id+"]", value.force); } else { form.set ("value["+id+"]", value); } this.preview (); } this.getValue = function () { if (getSaveValue) { // langsam aber gefiltert getSaveValue = false; return form.get ("value["+id+"]"); } else { return { value : form.get ("value["+id+"]"), url : form.get ("url["+id+"]"), file : form.get ("file["+id+"]"), type : form.get ("type["+id+"]"), name : form.get ("name["+id+"]"), force : form.get ("force_download["+id+"]") }; } } this.getAttributes = function (value) { if (typeof value == "object") { value = value.value; } if (form.get ("force_download["+id+"]")) { return {type:"file", url : value, target : ""}; } else { return {type:"file", url : value}; } } this.insertText = function (text) { var input = document.getElementById ("url["+id+"]"); var start = input.selectionStart; var end = input.selectionEnd; input.value = input.value.substr (0, start) + text + input.value.substr (end); input.selectionStart = input.selectionEnd = start + text.length; } this.save = function () { var fd = form.get ("force_download["+id+"]"); if (fd && form.getElement ("name["+id+"]")!="" && !form.get ("name["+id+"]")) { showMessages (this.messages['filename not set']); return true; } if (!fd && form.getElement ("type["+id+"]")!="" && !form.get ("type["+id+"]")) { showMessages (this.messages['type not set']); return true; } var attributes = ""; attributes += fd ? "" : "&open=1"; attributes += "&type=" + this.filetypes[form.get ("type["+id+"]")]; attributes += "&filename=" + form.get ("name["+id+"]"); if (form.get ("url["+id+"]") || form.get ("file["+id+"]")) { // Datei in extra Fenster hochladen var target = "upload_" + new Date ().getTime (); var win = window.open ("", target, "width=200, height=100, status=no, toolbar=no, location=no, scrollbars=no"); var node = win.document.createElement ("span"); node.innerHTML = "
Uploading ... |