- WordPress core y plugins - Tema Twenty Twenty-Four configurado - Plugin allow-unfiltered-html.php simplificado - .gitignore configurado para excluir wp-config.php y uploads 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
168 lines
4.4 KiB
JavaScript
Executable File
168 lines
4.4 KiB
JavaScript
Executable File
function feedOriginInitAjax(element) {
|
|
|
|
let slug = element.getAttribute("data-slug");
|
|
element.classList.add('disabled');
|
|
|
|
if (element.getAttribute("data-form") === "uncategorized") {
|
|
|
|
var form_feed_origin = element.parentElement;
|
|
|
|
} else {
|
|
|
|
var form_feed_origin = document.getElementById("form-feed-origin-" + slug);
|
|
|
|
}
|
|
|
|
let data = new FormData(form_feed_origin);
|
|
|
|
data.append( 'license' , wpdbt_admin_vars.data.license_key);
|
|
data.append( 'license_url' , wpdbt_admin_vars.data.license_url);
|
|
data.append( 'version' , wpdbt_admin_vars.data.version);
|
|
data.append( 'comercial' , true);
|
|
|
|
if (element.classList.contains("vote")) {
|
|
|
|
data.append("vote", element.getAttribute("data-type"));
|
|
document.getElementById("container-votes-" + slug).classList.add("d-none");
|
|
|
|
}
|
|
|
|
if(slug == 'uncategorized-group' || slug == 'uncategorized-individual'){
|
|
|
|
data.append('mode','uncategorized');
|
|
let split_slug = data.get('slug').split('$');
|
|
data.set('slug', split_slug[0]);
|
|
|
|
// Search extra data plugin
|
|
let origin = null;
|
|
let origin_type = data.get('type');
|
|
let origin_slug = data.get('slug');
|
|
|
|
// plugins and themes is set when load data is ending
|
|
if(origin_type == 'plugin'){
|
|
origin = Object.values(plugins).find( plugin => plugin.slug === origin_slug );
|
|
}
|
|
|
|
if(origin_type == 'theme'){
|
|
origin = Object.values(themes).find( theme => theme.slug === origin_slug );
|
|
}
|
|
|
|
if(origin != null){
|
|
data.append('marketplace', origin.marketplace);
|
|
data.append('origin_name', origin.name);
|
|
data.append('origin_author', origin.author);
|
|
data.append('origin_author_name', origin.author_name);
|
|
data.append('origin_author_url', origin.author_url);
|
|
data.append('origin_description', origin.description);
|
|
data.append('origin_version', origin.version);
|
|
}
|
|
|
|
}else{
|
|
|
|
data.append('mode','votes');
|
|
data.set('name', '["' + data.get('name') + '"]');
|
|
data.set('prefix', '["' + data.get('prefix') + '"]');
|
|
|
|
}
|
|
|
|
fetch(wpdbt_admin_vars.data.api_domain + "/api/v2/feedback", {
|
|
method: "POST",
|
|
body: data,
|
|
})
|
|
.then(function (response) {
|
|
return response.json();
|
|
})
|
|
.then(function (result) {
|
|
|
|
let element_text = document.getElementById('feedback_message-' + slug);
|
|
|
|
if(result.success === false){
|
|
buildResponse(element_text,result.message, "bg-light-red", slug)
|
|
element.classList.remove('disabled');
|
|
return;
|
|
}
|
|
|
|
if(result.success === true){
|
|
|
|
var obj_names = JSON.parse(data.get("name"));
|
|
var obj_prefixes = [];
|
|
|
|
if(wpdbt_admin_vars.data.current_page == 'tables'){
|
|
obj_prefixes = JSON.parse(data.get("prefix"));
|
|
}
|
|
|
|
Object.keys(obj_names).forEach(key => {
|
|
|
|
var name_element = '';
|
|
|
|
if(wpdbt_admin_vars.data.current_page == 'tables' && obj_prefixes[key] == true || obj_prefixes[key] == 'true'){
|
|
name_element = wpdbt_admin_vars.data.prefix + obj_names[key];
|
|
}else{
|
|
name_element = obj_names[key];
|
|
}
|
|
|
|
list.get('name',name_element)[0]._values.feedback = true;
|
|
|
|
});
|
|
|
|
buildResponse(element_text,result.message, "bg-light-green", slug)
|
|
feedbackUserInitAjax(data);
|
|
element.classList.remove('disabled');
|
|
return;
|
|
}
|
|
|
|
})
|
|
.catch(function (error) {
|
|
|
|
console.error(error);
|
|
|
|
let element_text = document.getElementById('feedback_message-' + slug);
|
|
buildResponse(element_text,'ERROR', "bg-light-red", slug)
|
|
element.classList.remove('disabled');
|
|
return;
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
function buildResponse(element_text,message, bg_class, slug){
|
|
|
|
element_text.innerHTML = message;
|
|
document.getElementById("container-feedback-" + slug).classList.add(bg_class);
|
|
document.getElementById("container-feedback-" + slug).classList.remove("d-none");
|
|
}
|
|
|
|
function feedbackUserInitAjax(data) {
|
|
|
|
jQuery.ajax({
|
|
type: "POST",
|
|
url: ajax_var.url,
|
|
data:
|
|
"action=" +
|
|
ajax_var.action +
|
|
"&nonce=" +
|
|
ajax_var.nonce +
|
|
"&name=" +
|
|
data.get("name") +
|
|
"&prefix=" +
|
|
data.get("prefix") +
|
|
"&type=" +
|
|
data.get("type") +
|
|
"§ion=" +
|
|
data.get("section") +
|
|
"&vote=" +
|
|
data.getAll("vote")[1] ?? null,
|
|
success: function (result) {
|
|
console.log("success");
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
console.log(jqXHR.responseText);
|
|
},
|
|
done: function (result) {
|
|
console.log("done:");
|
|
},
|
|
});
|
|
|
|
}
|