updateProgress(100, "Abgeschlossen! ZIP-Datei erstellt: " + response.data.file); setTimeout(function() { location.reload(); }, 2000); } else { updateProgress(0, "Fehler: " + response.data); $("#dnb-progress").hide(); } }).fail(function() { updateProgress(0, "Verbindungsfehler aufgetreten"); $("#dnb-progress").hide(); }); } function updateProgress(percent, status) { $(".progress-fill").css("width", percent + "%"); $("#progress-status").text(status); } function addParsingRule() { var newRule = `
`; $("#text-parsing-rules").append(newRule); updateParsingTargetFields(); } function updateParsingTargetFields() { var fields = []; $("#mapping-container select[name^='mapping[']").each(function() { var fieldName = $(this).attr("name").match(/mapping\\[([^\\]]+)\\]/)[1]; var fieldLabel = $(this).closest("tr").find("td:first").text().trim(); fields.push({value: fieldName, label: fieldLabel}); }); $("select[name='parsing_target_fields[]']").each(function() { var currentValue = $(this).val(); $(this).empty().append(""); fields.forEach(function(field) { var selected = field.value === currentValue ? "selected" : ""; $(this).append(``); }.bind(this)); }); } function openFormatEditor(formatKey) { $("#format-editor-modal").show(); if (formatKey) { // Format laden und Felder fuellen // TODO: AJAX-Call zum Laden der Format-Daten } else { // Neues Format $("#format-editor-form")[0].reset(); $("#required-fields-container, #optional-fields-container").empty(); } } function addFieldDefinition(type) { var container = type === "required" ? "#required-fields-container" : "#optional-fields-container"; var fieldHtml = `
`; $(container).append(fieldHtml); } // Feld-Definition entfernen $(document).on("click", ".remove-field-def", function() { $(this).closest(".field-definition").remove(); }); function saveFormat() { var formData = $("#format-editor-form").serialize(); formData += "&action=dnb_save_format&nonce=" + dnb_ajax.nonce; $.post(dnb_ajax.ajax_url, formData, function(response) { if (response.success) { alert("Format gespeichert!"); $("#format-editor-modal").hide(); location.reload(); } else { alert("Fehler: " + response.data); } }); } function deleteFile(filename) { $.post(dnb_ajax.ajax_url, { action: "dnb_delete_file", filename: filename, nonce: dnb_ajax.nonce }, function(response) { if (response.success) { location.reload(); } else { alert("Fehler beim Loeschen: " + response.data); } }); } }); '; wp_mkdir_p(DNB_PLUGIN_PATH . 'assets/'); file_put_contents(DNB_PLUGIN_PATH . 'assets/admin-script.js', $js); } } add_action('init', 'dnb_admin_scripts'); } ?> ?>

Format-Zuordnung