From 448db89e157d311d944e08a7115eb01521235134 Mon Sep 17 00:00:00 2001
From: Prasad <prasad@vtiger.com>
Date: Thu, 29 Jul 2021 13:38:05 +0530
Subject: [PATCH] Fixed captcha script support in webform

---
 .../layouts/v7/modules/Settings/Webforms/ShowForm.tpl       | 3 ++-
 .../v7/modules/Settings/Webforms/resources/Detail.js        | 6 +++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/ShowForm.tpl b/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/ShowForm.tpl
index a07754253..38fd39980 100644
--- a/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/ShowForm.tpl
+++ b/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/ShowForm.tpl
@@ -118,7 +118,8 @@
 						{/foreach}
 					</table>
 					{if $IS_CAPTCHA_ENABLED}
-						<script src="https://www.google.com/recaptcha/api.js" async defer></script>
+						{# vscript - custom script tag to avoid loading when form popup is displayed #}
+						<vscript src="https://www.google.com/recaptcha/api.js" async defer></vscript>
 						<div class="g-recaptcha" data-sitekey="{$CAPTCHA_CONFIG['VTIGER_RECAPTCHA_PUBLIC_KEY']}" data-callback="enableSubmitBtn"></div>
 					{/if}
 					<input type="submit" value="Submit" ></input>
diff --git a/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/resources/Detail.js b/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/resources/Detail.js
index c14966114..c4037edc3 100644
--- a/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/resources/Detail.js
+++ b/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/resources/Detail.js
@@ -48,6 +48,10 @@ Settings_Vtiger_Detail_Js('Settings_Webforms_Detail_Js', {
                     //show html without rendering
 					var allowedAllFilesSize = container.find('.allowedAllFilesSize').val();
 					var showFormContents = container.find('pre').html();
+
+					// Replace custom (vscript) tags to (script) before adding to textarea
+					showFormContents = showFormContents.replace(/vscript/g, "script");
+
 					showFormContents = showFormContents + '<script  type="text/javascript">'+
 					'window.onload = function() { '+
 					'var N=navigator.appName, ua=navigator.userAgent, tem;'+
@@ -175,4 +179,4 @@ Settings_Vtiger_Detail_Js('Settings_Webforms_Detail_Js', {
 	registerEvents : function() {
 		this._super();
 	}
-})
\ No newline at end of file
+})
-- 
GitLab