function gfapiCalculateSig(stringToSign, privateKey) { var hash = CryptoJS.HmacSHA1(stringToSign, privateKey); var base64 = hash.toString(CryptoJS.enc.Base64); return encodeURIComponent(base64); } jQuery(document).ready(function () { jQuery("#gfwebapi-qrbutton").click(function () { jQuery("#gfwebapi-qrcode-container").toggle(); var $img = jQuery('#gfwebapi-qrcode'); if ($img.length > 0) $img.attr('src', ajaxurl + '?action=gfwebapi_qrcode&rnd=' + Date.now()); return false; }); jQuery("#public_key, #private_key").on("keyup", function () { jQuery("#gfwebapi-qrcode-container").html("The keys have changes. Please save the changes and try again.") }); jQuery("#gfapi-url-builder-button").click(function (e) { e.preventDefault(); var publicKey, privateKey, expiration, method, route, stringToSign, url, sig; publicKey = jQuery("#public_key").val(); privateKey = jQuery("#private_key").val(); expiration = parseInt(jQuery("#gfapi-url-builder-expiration").val()); method = jQuery("#gfapi-url-builder-method").val(); route = jQuery("#gfapi-url-builder-route").val(); route = route.replace(/\/$/, ""); // remove trailing slash var d = new Date; var unixtime = parseInt(d.getTime() / 1000); var future_unixtime = unixtime + expiration; stringToSign = publicKey + ":" + method + ":" + route + ":" + future_unixtime; sig = gfapiCalculateSig(stringToSign, privateKey); url = gfapiBaseUrl + "/" + route + "/?api_key=" + publicKey + "&signature=" + sig + "&expires=" + future_unixtime; jQuery('#gfapi-url-builder-generated-url').val(url); return false; }); var gfapiTesterAjaxRequest; jQuery("#gfapi-url-tester-button").click(function (e) { var $button = jQuery(this); var $loading = jQuery("#gfapi-url-tester-loading"); var $results = jQuery("#gfapi-url-tester-results"); var url = jQuery('#gfapi-url-tester-url').val(); var method = jQuery('#gfapi-url-tester-method').val(); gfapiTesterAjaxRequest = jQuery.ajax({ url : url + "&test=1", type : method, dataType : 'json', data : {}, beforeSend: function (xhr, opts) { $button.attr('disabled', 'disabled'); $loading.show(); } }) .done(function (data, textStatus, xhr) { $button.removeAttr('disabled'); $loading.hide(); $results.html(xhr.status); $results.fadeTo("fast", 1); }) .fail(function (jqXHR) { $button.removeAttr('disabled'); $loading.hide(); $results.fadeTo("fast", 1); var msg; $loading.hide(); if (msg == "abort") { msg = "Request cancelled"; } else { msg = jqXHR.status + ": " + jqXHR.statusText; } $results.html(msg); }); return false; }); }); {"version":"1.0","provider_name":"Jardines de Bellavista II - Inmobiliaria | Proyectos Inmobiliarios | Civilia","provider_url":"https:\/\/jardinesdebellavista.cl","author_name":"pejeadmin","author_url":"https:\/\/jardinesdebellavista.cl\/author\/pejeadmin\/","title":"Zeus tres Juegos de tragamonedas y M\u00e1quinas tragaperras-Juegos En internet Sin cargo","type":"rich","width":600,"height":338,"html":"
Zeus tres Juegos de tragamonedas y M\u00e1quinas tragaperras-Juegos En internet Sin cargo<\/a><\/blockquote>\n