HEX
Server: Apache
System: Linux vps-3158868-x.dattaweb.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: emerlux (1185)
PHP: 8.3.1
Disabled: system, shell, exec, system_exec, shell_exec, mysql_pconnect, passthru, popen, proc_open, proc_close, proc_nice, proc_terminate, proc_get_status, escapeshellarg, escapeshellcmd, eval
Upload Files
File: /home/emerlux/public_html/wp-content/plugins/oneclick-whatsapp-order/assets/js/admin-main.js
// Shortcode Generator
function generateWAshortcode() {
	// Check if required elements exist before proceeding
	var selectedNumberEl = document.getElementById("selected_wa_number");
	var buttonTextEl = document.getElementById("WAbuttonText");
	var customMessageEl = document.getElementById("WAcustomMessage");
	var newTabEl = document.getElementById("WAnewTab");
	var outputEl = document.getElementById("generatedShortcode");

	if (!selectedNumberEl || !buttonTextEl || !customMessageEl || !newTabEl || !outputEl) {
		return; // Silently return if elements don't exist
	}

	var Vselected_wa_number = selectedNumberEl.value;
	var VWAbuttonText = buttonTextEl.value;
	var VWAcustomMessage = customMessageEl.value;
	var VWAnewTab = newTabEl.value;
	var generatedWAbuttonData = '[waorder phone="'+Vselected_wa_number+'" button="'+VWAbuttonText+'" message="'+VWAcustomMessage+'" target="'+VWAnewTab+'"]';
	outputEl.innerHTML = generatedWAbuttonData;
}

jQuery(document).ready(function ($) {
  // Function to toggle the full-width option visibility
  function toggleFullWidthOption() {
      var $buttonPosition = $('#wa_order_single_product_button_position');
      var $fullwidthContainer = $('#force_fullwidth_container');
      var $fullwidthCheckbox = $('#wa_order_single_force_fullwidth');

      // Only proceed if the elements exist
      if ($buttonPosition.length === 0 || $fullwidthContainer.length === 0) {
          return;
      }

      var buttonPosition = $buttonPosition.val();

      if (buttonPosition === 'after_atc') {
          $fullwidthContainer.hide(); // Hide checkbox
          if ($fullwidthCheckbox.length > 0) {
              $fullwidthCheckbox.prop('checked', false).val('no'); // Reset to 'No'
          }
      } else {
          $fullwidthContainer.show(); // Show checkbox
      }
  }

  // Run on page load
  toggleFullWidthOption();

  // Attach event listener to dropdown change
  $('#wa_order_single_product_button_position').change(function () {
      toggleFullWidthOption();
  });
});

// Global variables for Single Product Shortcode Generator
var SingleWAShortcodeElements = {};

// Global function to generate single WA shortcode (accessible to HTML onchange attributes)
function generateSingleWAshortcode() {
    // Check if elements are initialized
    if (!SingleWAShortcodeElements.initialized) {
        return;
    }

    var productSelect = SingleWAShortcodeElements.productSelect;
    var productIdField = SingleWAShortcodeElements.productIdField;
    var buttonText = SingleWAShortcodeElements.buttonText;
    var customMessage = SingleWAShortcodeElements.customMessage;
    var shortcodeOutput = SingleWAShortcodeElements.shortcodeOutput;
    var waNumberSelect = SingleWAShortcodeElements.waNumberSelect;
    var buttonForceFullwidth = SingleWAShortcodeElements.buttonForceFullwidth;

    var productValue = productSelect.value;
    var productId = productIdField.value;
    var buttonTextValue = buttonText.value.trim();
    var customMessageValue = customMessage.value.trim();
    var selectedWaNumber = waNumberSelect.value;
    var isFullwidth = buttonForceFullwidth.value;

    // Default shortcode
    var shortcode = '[oneclick single="true"';

    // Add phone attribute (WhatsApp number)
    if (selectedWaNumber !== '') {
        shortcode += ' phone="' + selectedWaNumber + '"';
    }

    // Handle product attribute
    if (productValue === 'current') {
        shortcode += ' product="current"';
    } else if (productValue === 'product_id' && productId !== '') {
        shortcode += ' product="' + productId + '"';
    }

    // Handle text attribute
    if (buttonTextValue !== '') {
        shortcode += ' text="' + buttonTextValue + '"';
    }

    // Handle message attribute
    if (customMessageValue !== '') {
        shortcode += ' message="' + customMessageValue + '"';
    }

    // Force fullwidth
    if (isFullwidth !== '') {
        shortcode += ' fullwidth="' + isFullwidth + '"';
    }

    // Close the shortcode
    shortcode += ']';

    // Output the generated shortcode
    shortcodeOutput.value = shortcode;
}

// Single Product Shortcode Generator Initialization
document.addEventListener('DOMContentLoaded', function() {
    // Select DOM elements
    var productSelect = document.getElementById('SingleWAWhichPage');
    var productIdField = document.getElementById('SingleWAProductID');
    var buttonText = document.getElementById('SingleWAbuttonText');
    var customMessage = document.getElementById('SingleWAcustomMessage');
    var shortcodeOutput = document.getElementById('generatedSingleWAShortcode');
    var waNumberSelect = document.getElementById('selected_wa_number');
    var buttonForceFullwidth = document.getElementById('SingleWAFullwidth');

    // Check if all required elements exist - only initialize if we're on the shortcode page
    if (!productSelect || !productIdField || !buttonText || !customMessage || !shortcodeOutput || !waNumberSelect || !buttonForceFullwidth) {
        // Silently return if elements don't exist (we're not on the shortcode page)
        return;
    }

    // Store elements globally
    SingleWAShortcodeElements = {
        productSelect: productSelect,
        productIdField: productIdField,
        buttonText: buttonText,
        customMessage: customMessage,
        shortcodeOutput: shortcodeOutput,
        waNumberSelect: waNumberSelect,
        buttonForceFullwidth: buttonForceFullwidth,
        initialized: true
    };

    // Function to hide an element
    function hideElement(element) {
        if (element && element.parentElement && element.parentElement.parentElement) {
            element.parentElement.parentElement.style.display = 'none';
        }
    }

    // Function to show an element
    function showElement(element) {
        if (element && element.parentElement && element.parentElement.parentElement) {
            element.parentElement.parentElement.style.display = '';
        }
    }

    // Hide Product ID field initially
    hideElement(productIdField);

    // Event listeners for changes
    productSelect.addEventListener('change', function() {
        if (productSelect.value === 'product_id') {
            showElement(productIdField);
        } else {
            hideElement(productIdField);
            productIdField.value = ''; // Clear the Product ID field
        }
        generateSingleWAshortcode();
    });

    productIdField.addEventListener('input', generateSingleWAshortcode);
    buttonText.addEventListener('input', generateSingleWAshortcode);
    customMessage.addEventListener('input', generateSingleWAshortcode);
    waNumberSelect.addEventListener('change', generateSingleWAshortcode);
    buttonForceFullwidth.addEventListener('change', generateSingleWAshortcode);

    // Initial generation of shortcode
    generateSingleWAshortcode();
});