# gravityforms-eway/2.2.4/js/gfeway_ecrypt.js

Gravity Forms Eway, version 2.2.4. 45 lines.

- Page: https://pluginprobe.com/plugins/gravityforms-eway/2.2.4/code/js/gfeway_ecrypt.js
- Raw: https://pluginprobe.com/plugins/gravityforms-eway/2.2.4/raw/js/gfeway_ecrypt.js
- Modified: 2016-12-08T07:52:40+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/gravityforms-eway/2.2.4/code/js/gfeway_ecrypt.js#L10-L20`.

```javascript
(function($) {

	/**
	* if form has Client Side Encryption key, hook its submit action for maybe encrypting
	* @param {jQuery.Event} event
	* @param {Number} form_id int ID of Gravity Forms form
	*/
	$(document).on("gform_post_render", function(event, form_id) {
		$("#gform_" + form_id + "[data-gfeway-encrypt-key]").on("submit", maybeEncryptForm);
	});

	/**
	* check form for conditions to encrypt sensitive fields
	*/
	function maybeEncryptForm() {

		var frm = $(this);

		// don't encrypt if sending to the Recurring Payment XML API
		if (frm.find(".gfeway-recurring-active").length) {
			return true;
		}

		var key = frm.data("gfeway-encrypt-key");

		function maybeEncryptField(field_selector) {
			var field = frm.find(field_selector);

			if (field.length && field.val().length) {
				var encrypted = eCrypt.encryptValue(field.val(), key);
				$("<input type='hidden'>").attr("name", field.data("gfeway-encrypt-name")).val(encrypted).appendTo(frm);
				field.val("");
			}
		}

		maybeEncryptField("input[data-gfeway-encrypt-name='EWAY_CARDNUMBER']");
		maybeEncryptField("input[data-gfeway-encrypt-name='EWAY_CARDCVN']");

		return true;

	}

})(jQuery);


```
