druvx13's picture
Initial commit
a47e1ac
"use strict";
var ajaxurl = mycustomsettings.ajaxurl;
jQuery(document).ready(function(){
jQuery('span.wpums-delete').on('click', function(){
var confirm_delete = confirm('Delete This Rule?');
if (confirm_delete) {
jQuery(this).parent().parent().remove();
jQuery('#myForm').submit();
}
});
});
var unsaved = false;
jQuery(document).ready(function () {
jQuery(":input").change(function(){
var classes = this.className;
var classes = this.className.split(' ');
var found = jQuery.inArray('actions', classes) > -1;
if(this.id != 'select-shortcode' && this.id != 'PreventChromeAutocomplete' && this.className != 'sc_chat_form_field_prompt_text' && !found)
unsaved = true;
});
function unloadPage(){
if(unsaved){
return "You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?";
}
}
window.onbeforeunload = unloadPage;
});
function deletePostsManual(number, type, typeId)
{
if (confirm("Are you sure you want to delete all posts generated by this rule?") == true) {
document.getElementById("run_img" + number).style.visibility = "visible";
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/running.gif";
var data = {
action: 'ums_my_action',
id: number,
type: typeId,
how: type
};
jQuery.post(ajaxurl, data, function(response) {
if(response.trim() == 'ok')
{
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/ok.gif";
}
else
{
if(response.trim() == 'nochange')
{
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/nochange.gif";
}
else
{
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/failed.gif";
}
}
}).fail( function(xhr)
{
console.log('Error occured in processing: ' + xhr.statusText + ' - please check plugin\'s \'Activity and Logging\' menu for details.');
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/failed.gif";
});
} else {
return;
}
}
function runNowManual(number, typeId, automate)
{
if (automate != 0 || confirm("Are you sure you want to run this rule now?") == true) {
document.getElementById("run_img" + number).style.visibility = "visible";
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/running.gif";
var startTime = new Date().getTime();
if(automate == 0)
{
var data = {
action: 'ums_run_my_action',
id: number,
type: typeId
};
}
else
{
var data = {
action: 'ums_run_my_action',
id: number,
type: typeId,
rerun_count: automate
};
}
jQuery.post(ajaxurl, data, function(response) {
if(response.trim() == 'CloudFlare')
{
console.log('CloudFlare retry request: ' + automate + ".");
automate++;
ums_sleepFor(5000);
runNowManual(number, typeId, automate);
}
else
{
if(response.trim() == 'ok')
{
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/ok.gif";
}
else
{
if(response.trim() == 'nochange')
{
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/nochange.gif";
}
else
{
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/failed.gif";
}
}
}
}).fail( function(xhr)
{
var endTime = new Date().getTime();
if(endTime - startTime > 10000)
{
//console.log('Ajax related failure: "' + xhr.statusText + '" in loop: ' + automate + ", retrying.");
//automate++;
//runNowManual(number, typeId, automate);
}
else
{
document.getElementById("run_img" + number).src= mycustomsettings.plugin_dir_url + "images/failed.gif";
console.log('Unrecoverable error: "' + xhr.statusText + '" in loop: ' + automate);
}
});
} else {
return;
}
}
function ums_sleepFor(sleepDuration){
var now = new Date().getTime();
while(new Date().getTime() < now + sleepDuration){ /* Do nothing */ }
}
function ums_wait(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
function actionsChangedManual(ruleId, selectedValue, typeId)
{
if (selectedValue==='run')
{
if(unsaved){
alert("You have unsaved changes on this page. Please save your changes before manually running rules!");
return;
}
runNowManual(ruleId, typeId, 0);
}
else
{
if (selectedValue==='trash')
{
deletePostsManual(ruleId, 'trash', typeId);
}
else
{
deletePostsManual(ruleId, 'delete', typeId);
}
}
}
jQuery(document).ready(function() {
jQuery('.ums_image_button').on('click', function(){
tb_show('',"media-upload.php?type=image&TB_iframe=true");
window.send_to_editor = function(html) {
var url = jQuery(html).attr('src');
jQuery('#cr_input_box').val(url);
tb_remove();
};
});
});
function thisonChangeHandler(cb) {
if(cb.checked == true)
{
jQuery("input.activateDeactivateClass:checkbox").each( function () {
jQuery(this).prop('checked', true);
});
}
else
{
jQuery("input.activateDeactivateClass:checkbox").each( function () {
jQuery(this).prop('checked', false);
});
}
}
var codemodalfzr = document.getElementById('mymodalfzr');
var btn = document.getElementById("mybtnfzr");
var span = document.getElementById("ums_close");
var ok = document.getElementById("ums_ok");
if(btn != null)
{
btn.onclick = function() {
codemodalfzr.style.display = "block";
}
}
if(span != null)
{
span.onclick = function() {
codemodalfzr.style.display = "none";
}
}
if(ok != null)
{
ok.onclick = function() {
codemodalfzr.style.display = "none";
}
}
window.onclick = function(event) {
if (event.target == codemodalfzr) {
codemodalfzr.style.display = "none";
}
}
jQuery("#myForm").on('submit', function (e) {
jQuery(this).on('submit', function() {
return false;
});
e.preventDefault();
var changedCheckboxes = [];
var this_master = jQuery(this);
jQuery('button[type=submit], input[type=submit]').prop('disabled',true);
this_master.find('input[type="checkbox"]').each( function () {
var checkbox_this = jQuery(this);
if (checkbox_this.attr("id") !== "exclusion")
{
if( checkbox_this.is(":checked") == true ) {
checkbox_this.attr('value','1');
} else {
checkbox_this.prop('checked',true);
checkbox_this.attr('value','0');
changedCheckboxes.push(checkbox_this);
}
}
});
if (typeof mycustomsettings.max_input_vars !== 'undefined' && jQuery('input, textarea, select, button').length >= mycustomsettings.max_input_vars) {
this_master.append("<span style='color:red;'>Saving settings, please wait...</span>");
var coderevolution_max_input_var_data = this_master.serialize();
this_master.find("table").remove();
this_master.append("<input type='hidden' class='coderevolution_max_input_var_data' name='coderevolution_max_input_var_data'/>");
this_master.find("input.coderevolution_max_input_var_data").val(coderevolution_max_input_var_data);
}
setTimeout(() => {
this.submit();
changedCheckboxes.forEach(function(item) {
item.prop('checked', false);
});
}, 10);
});
function createAdmin(i) {
var modals = [];
var btns = [];
var spans = [];
var oks = [];
var btns = [];
var myarr = [];
modals = document.getElementById("mymodalfzr" + i);
btns = document.getElementById("mybtnfzr" + i);
spans = document.getElementById("ums_close" + i);
oks = document.getElementById("ums_ok" + i);
btns.onclick = function(e) {
modals.style.display = "block";
}
spans.onclick = function(e) {
modals.style.display = "none";
}
oks.onclick = function(e) {
modals.style.display = "none";
}
modals.addEventListener("click", function(e) {
if (e.target !== this)
return;
modals.style.display = "none";
}, false);
}