Server IP : 213.176.29.180 / Your IP : 3.145.2.6 Web Server : Apache System : Linux 213.176.29.180.hostiran.name 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64 User : webtaragh ( 1001) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/webtaragh/public_html/wp-content/plugins/gravityforms/js/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/** * Provides functionality to allow browsers to re-submit forms without creating duplicate submissions. */ (function() { var config = window.gf_duplicate_submissions || {}; /** * Check if the current browser is Safari. * * @returns {boolean} */ var isSafari = function() { var ua = window.navigator.userAgent; var iOS = !!ua.match( /iP(ad|od|hone)/i ); var hasSafariInUa = !!ua.match( /Safari/i ); var noOtherBrowsersInUa = !ua.match( /Chrome|CriOS|OPiOS|mercury|FxiOS|Firefox/i ) var result = false; if ( iOS ) { //detecting Safari in IOS mobile browsers var webkit = !!ua.match( /WebKit/i ); result = webkit && hasSafariInUa && noOtherBrowsersInUa; } else if ( window.safari !== undefined ) { //detecting Safari in Desktop Browsers result = true; } else { // detecting Safari in other platforms result = hasSafariInUa && noOtherBrowsersInUa; } return result; }; /** * Update a Query Var based on the provided key/value. * * @param {string} key The key to update. * @param {string} value The value to which the key should be updated. * @param {string} url The URL to update. * * @returns {string} */ var updateQueryVar = function( key, value, url ) { var separator = '?'; var hashSplit = url.split( '#' ), hash = hashSplit[ 1 ] ? '#' + hashSplit[ 1 ] : '', querySplit = hashSplit[ 0 ].split( '?' ), host = querySplit[ 0 ], query = querySplit[ 1 ], params = query !== undefined ? query.split( '&' ) : [], updated = false; for ( var index = 0; index < params.length; index++ ) { var item = params[ index ]; // No need to process this parameter since it doesn't match the one we're updating. if ( ! item.startsWith( key + '=' ) ) { continue; } // Update the param if the value is non-empty, otherwise remove it. if ( value.length > 0 ) { params[ index ] = key + '=' + value; } else { params.splice( index, 1 ); } updated = true; } // Param didn't already exist; if the value is non-empty, add it to the param array. if ( ! updated && value.length > 0 ) { params[ params.length ] = key + '=' + value; } var queryString = params.join( '&' ); return host + separator + queryString + hash; }; /** * Get the properly-formatted URL for redirects. * * @returns {string} */ var getFormattedURL = function() { var baseUrl = updateQueryVar( config.safari_redirect_param, '', window.location.href ); var safariUrl = updateQueryVar( config.safari_redirect_param, '1', window.location.href ); console.log( baseUrl, safariUrl ); return isSafari() ? safariUrl : baseUrl; }; /** * Replace the current history state to avoid duplicate submissions. */ var handleReplaceState = function() { window.history.replaceState( null, null, getFormattedURL() ); }; /** * Initialize. */ var init = function() { if ( window.gf_duplicate_submissions_initialized || config.is_gf_submission !== '1' || !window.history.replaceState ) { return; } window.gf_duplicate_submissions_initialized = true; handleReplaceState(); }; init(); })();