Plugin Directory

Changeset 3482584


Ignore:
Timestamp:
03/14/2026 02:59:51 PM (2 weeks ago)
Author:
John Dagelmore
Message:

2.26 trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gptranslate/trunk/assets/js/crawler.js

    r3446190 r3482584  
    88 * @license GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html
    99 */
    10 var t,a;t=jQuery,a=function(){var a=gptranslateDefaultLanguage,e=null,n=new Set,r=[],s=null,l=[],o=0,i=!1,c=!1,u="idle",d=null,p=[],_=[],g=!1,f=!1,m=function(){t("input.button-crawler").on("click.crawler",(function(){t("#crawler_dialog").remove();let a=gptranslateBaseCrawlerHome;1==gptranslateRewriteLanguageUrl&&0==gptranslateOmitPrefixOriginalLanguage&&(a+=gptranslateDefaultLanguage+"/"),A(a)})),t(document).on("click.crawler","#start_analysis",(function(){if(t("#link_to_analyze").removeClass("error"),!(e=t("#link_to_analyze").val()))return t("#link_to_analyze").addClass("error").focus(),!1;t("span.crawler-cogicon").addClass("running"),t("span.crawler-labelicon-start",this).text(PLG_GPTRANSLATE_CRAWLER_STARTED),t("#crawler_status").text(PLG_GPTRANSLATE_CRAWLER_CURRENT_STATUS_RUNNING).addClass("running"),t("#start_analysis").hide(),t("#stop_analysis").show(),t("#crawl_single_url_label").hide(),T().then((function(){E(e)}))})),t(document).on("click.crawler","#stop_analysis",(function(){g=!0,R("Arresto crawler in corso..."),y()})),t(document).on("keyup.crawler","#link_to_analyze",(function(){t(this).removeClass("error")})),t(document).on("click.crawler","label.closedialog",(function(){t(this).parents("#crawler_dialog").remove(),j(!0)})),t(document).on("click.crawler","#linkopener",(function(){var a=t("#link_to_analyze").val();window.open(a,"_blank")}))},A=function(a){var e='<div id="crawler_dialog" class="card card-primary"><div class="card-header"><h3 class="card-title">'+PLG_GPTRANSLATE_CRAWLER_DIALOG_TITLE+'</h3><label class="closedialog">✖</label></div><div class="card-body card-block"><label class="badge bg-primary analysis-labels" id="linkopener">'+PLG_GPTRANSLATE_CRAWLER_TARGET_LINK+'</label><input id="link_to_analyze" class="analysis-input" autocomplete="off" type="text" value="'+a+'" placeholder="'+PLG_GPTRANSLATE_CRAWLER_CHOOSE_TARGET_LINK+'"/><button id="start_analysis" class="btn btn-success active" title="'+PLG_GPTRANSLATE_CRAWLER_START_DESC+'"><span class="crawler-cogicon"></span><span class="crawler-labelicon-start">'+PLG_GPTRANSLATE_CRAWLER_START+'</span></button><button id="stop_analysis" class="btn btn-danger" style="display: none;" title="'+PLG_GPTRANSLATE_CRAWLER_STOP_DESC+'"><span class="crawler-cogicon"></span><span class="crawler-labelicon-stop"> '+PLG_GPTRANSLATE_CRAWLER_STOP+'</span></button><label id="crawl_single_url_label"><input type="checkbox" id="crawl_single_url"><span>'+PLG_GPTRANSLATE_CRAWLER_SINGLE_URL_OPTION+'</span></label><div class="flexbox-container-analysis"><div id="crawler_container"><div id="url_list" style="max-height: 300px; overflow-y: auto; border: 1px solid #ddd; padding: 15px; margin-top: 10px; background: #ffffff; border-radius: 5px;"><div class="text-muted text-center p-3">'+PLG_GPTRANSLATE_CRAWLER_NO_URLS_PROCESSED+'</div></div></div></div></div><div class="card-footer"><span class="badge bg-warning label-with-badge">'+PLG_GPTRANSLATE_CRAWLER_FOOTER+'<span id="crawler_status" class="badge pull-right">'+PLG_GPTRANSLATE_CRAWLER_CURRENT_STATUS_IDLE+'</span></span><form method="post" action="'+gptranslateBaseCrawlerHome+'wp-admin/admin-post.php" class="export-xml-sitemap"><input type="hidden" id="gptranslate_export_xml_sitemap" name="gptranslate_export_xml_sitemap" value="b62d18a19b"><input type="hidden" name="action" value="gptranslate_export_xml_sitemap"><input type="submit" class="button button-primary" value="'+PLG_GPTRANSLATE_CRAWLER_EXPORT_XMLSITEMAP+'"></form></div></div>';t("body").append(e);const n=document.createElement("div");n.className="custom-tooltip",document.body.appendChild(n),document.querySelectorAll("#start_analysis, #stop_analysis").forEach((function(t){const a=t.getAttribute("title");t.addEventListener("mouseenter",(function(e){t.setAttribute("data-original-title",a),t.removeAttribute("title"),n.textContent=a,n.style.opacity="1"})),t.addEventListener("mousemove",(function(t){n.style.top=t.pageY+10+"px",n.style.left=t.pageX+10+"px"})),t.addEventListener("mouseleave",(function(){n.style.opacity="0",t.setAttribute("title",t.getAttribute("data-original-title"))}))}))},T=function(){return t.ajax({url:gptranslate_vars.ajaxurl,type:"POST",data:{action:"gptranslate_toggle_serverside",toggle_action:"check",nonce:gptranslate_vars.gptranslateNonce},dataType:"json",success:function(t){t.success&&t.data&&(f="1"===t.data.were_enabled)},error:function(t,a,e){}})},R=function(a){t("#crawler_status").text(a)},L=function(t,a,e){var n=_.find((a=>a.url===t));n&&(n.status=a,n.currentLang=e,h())},h=function(){var a="";0===_.length?a='<div class="text-muted text-center p-3">'+PLG_GPTRANSLATE_CRAWLER_NO_URLS_PROCESSED+"</div>":_.forEach((function(t){var e="completed"===t.status?"text-success":"error"===t.status?"text-danger":"text-primary",n="completed"===t.status?"✓":"error"===t.status?"✗":'<span class="crawler-url-spinner">⟳</span>',r="";t.currentLang?r=" ("+t.currentLang+")":t.languages&&t.languages.length>0&&(r=" ["+t.languages.join(", ")+"]"),a+='<div style="padding: 8px 0; border-bottom: 1px solid #eee;"><div class="'+e+'" style="font-weight: 500;">'+n+" "+t.url+r+'</div><small class="text-muted">'+t.timestamp+"</small></div>"})),t("#url_list").html(a)},v=function(t,a){var e=setTimeout((function(){g||t()}),a);return p.push(e),e},w=function(){p.forEach((function(t){clearTimeout(t)})),p=[],d&&(clearTimeout(d),d=null)},E=function(a){a?(g=!1,R(PLG_GPTRANSLATE_CRAWLER_STARTING),n.clear(),r=[a],_=[],s&&t(s).remove(),s=t("<iframe>",{id:"crawler_iframe",style:"display: none;"}).appendTo("#crawler_container")[0],b()):j()},y=function(){g=!0,w(),s&&(s.onload=null,s.onerror=null,s.src="about:blank"),i=!1,c=!1,u="idle",R("Crawler fermato"),j(),t("#url_list").html('<div class="text-muted text-center p-3">'+PLG_GPTRANSLATE_CRAWLER_NO_URLS_PROCESSED+"</div>")},b=function(){if(g)return;if(0==gptVersionNumeric&&n.size>=10)return R(PLG_GPTRANSLATE_CRAWLER_COMPLETED),void setTimeout((function(){j()}),1e3);if(0===r.length)return R(PLG_GPTRANSLATE_CRAWLER_COMPLETED),void setTimeout((function(){j()}),1e3);if(i)return;var a=r.shift();if(n.has(a))return void b();t("div.card-footer span.label-with-badge").removeClass("bg-success").addClass("bg-warning"),n.add(a),i=!0,o=0,l=[],u="idle",c=!1;const e=a.replace(/\/+$/,""),d=e.substring(e.lastIndexOf("/")+1)||"/";R(PLG_GPTRANSLATE_CRAWLER_LOADING+d),function(t,a,e){var n={url:t,status:a,languages:e||[],timestamp:(new Date).toLocaleTimeString([],{hour12:!1})};_.unshift(n),h()}(a,"processing");try{s&&s.contentWindow&&s.contentWindow.sessionStorage&&s.contentWindow.sessionStorage.removeItem("googtrans")}catch(t){}s.src=a,s.onload=function(){g||S()},s.onerror=function(){g||(L(a,"error"),i=!1,b())}},S=function(){if(!g)try{var t=s.contentDocument||s.contentWindow.document,a=s.contentWindow;if(!t||!a){var e=Array.from(n).slice(-1)[0];return L(e,"error"),i=!1,void b()}try{a.sessionStorage&&a.sessionStorage.removeItem("googtrans")}catch(t){}v((function(){try{if(O(a),P(t),0===l.length){var e=Array.from(n).slice(-1)[0];return L(e,"completed"),G(t),i=!1,void b()}G(t),e=Array.from(n).slice(-1)[0],L(e,"processing",""),C()}catch(t){e=Array.from(n).slice(-1)[0],L(e,"error"),i=!1,b()}}),2e3)}catch(t){e=Array.from(n).slice(-1)[0],L(e,"error"),i=!1,b()}},P=function(e){try{var r=["#gpt_float_wrapper a.nturl[data-gpt-lang]","#gpt_float_wrapper a[data-gpt-lang]",".gpt_float_wrapper a.nturl[data-gpt-lang]",".gpt_float_wrapper a[data-gpt-lang]",'[id*="gpt"] a[data-gpt-lang]',".gptranslate a[data-gpt-lang]"];l=[];for(var s=0;s<r.length&&0===l.length;s++)e.querySelectorAll(r[s]).forEach((function(t){var e=t.getAttribute("data-gpt-lang");e&&-1===l.indexOf(e)&&e!=a&&l.push(e)}));if(!(l.length>0))return g=!0,j(!0),t("span.crawler-cogicon").removeClass("running"),t("span.crawler-labelicon-start").text(PLG_GPTRANSLATE_CRAWLER_START),t("span.label-with-badge").text(PLG_GPTRANSLATE_CRAWLER_CURRENT_STATUS_NOLANG_SELECTOR),t("#url_list,#crawler_status").remove(),t("#start_analysis").show(),t("#stop_analysis").hide(),setTimeout((function(){t("label.closedialog").trigger("click")}),3500),!1;var o=Array.from(n).slice(-1)[0],i=_.find((t=>t.url===o));i&&(i.languages=l,h())}catch(t){}},G=function(a){if(!t("#crawl_single_url").is(":checked"))try{var e=a.querySelectorAll("a[href]"),s=gptranslateCrawlerExclusions?gptranslateCrawlerExclusions.split(",").map((function(t){return t.trim()})):[];e.forEach((function(t){var a=t.getAttribute("href");if(a){var e=new URL(a,window.location.origin).href,l=decodeURI(e.split("?")[0].split("#")[0]);l.match(/\.[a-z]{2,4}$/i)||l.endsWith("/")||(l+="/");var o=["/wp-content/","/wp-includes/","/feed/","/rss/","/atom/","/xmlrpc.php","/robots.txt","/sitemap","?replytocom="].some((t=>l.includes(t)))||s.some((t=>l.includes(t)));a.startsWith("javascript:")||a.startsWith("mailto:")||a.startsWith("tel:")||a.startsWith("#")||"javascript:void(0)"===a||a.includes("wp-admin")||a.includes("wp-login")||a.includes("/admin")||l===window.location.origin||l===window.location.origin+"/"||""===l||!l.startsWith(window.location.origin)||n.has(l)||l.match(/\.(jpg|jpeg|png|gif|pdf|doc|docx|zip|css|js|php|xml|txt|ico)$/i)||o||n.has(l)||r.includes(l)||r.push(l)}}))}catch(t){}},C=function(){g||(o=0,x())},x=function(){if(!g){if(o>=l.length){var a=Array.from(n).slice(-1)[0];return L(a,"completed"),R(PLG_GPTRANSLATE_CRAWLER_PAGE_COMPLETED),t("div.card-footer span.label-with-badge").removeClass("bg-warning").addClass("bg-success"),i=!1,void v((function(){b()}),1e3)}if(!c){var e=l[o];a=Array.from(n).slice(-1)[0],R(PLG_GPTRANSLATE_CRAWLER_TRANSLATING+e+" ("+(o+1)+"/"+l.length+")"),L(a,"processing",e);var r=s.contentDocument||s.contentWindow.document,p=N(r,e);if(p){c=!0,u="checking",d=v((function(){D()}),1e3*gptranslateCrawlerTimeout),W(r);try{p.click()}catch(t){D()}}else U()}}},N=function(t,a){try{for(var e=['#gpt_float_wrapper a.nturl[data-gpt-lang="'+a+'"]','#gpt_float_wrapper a[data-gpt-lang="'+a+'"]','.gpt_float_wrapper a.nturl[data-gpt-lang="'+a+'"]','.gpt_float_wrapper a[data-gpt-lang="'+a+'"]','[id*="gpt"] a[data-gpt-lang="'+a+'"]','.gptranslate a[data-gpt-lang="'+a+'"]'],n=0;n<e.length;n++){var r=t.querySelector(e[n]);if(r)return r}return null}catch(t){return null}},W=function(t){try{t.querySelectorAll("img[data-gt-lazy-src]:not([src])").forEach((function(t){t.setAttribute("src",t.getAttribute("data-gt-lazy-src"))}))}catch(t){}},O=function(t){if(t&&t.fetch&&!t.fetch.__gpIntercepted){var a=t.fetch;t.fetch=function(){var e=arguments[0],n=arguments[1]||{};return a.apply(this,arguments).then((function(a){try{if("string"==typeof e&&-1!==e.indexOf("wp-json/gptranslate/v1/request")&&"POST"===(n.method||"GET").toUpperCase()&&c&&n.body){var r="string"==typeof n.body,s=!1;try{(n.body instanceof t.FormData||n.body&&"function"==typeof n.body.append&&n.body.constructor&&"FormData"===n.body.constructor.name||-1!==(n.headers&&(n.headers["Content-Type"]||n.headers["content-type"])||"").indexOf("multipart/form-data"))&&(s=!0)}catch(t){}if(r)try{"gettranslations"===JSON.parse(n.body).task&&a.clone().json().then((function(t){t&&!0===t.result?g||k(!0):u="translating"})).catch((function(t){}))}catch(t){}else s&&"translating"===u&&a.clone().json().then((function(t){g||k(!0)})).catch((function(t){g||k(!1)}))}}catch(t){}return a})).catch((function(){}))},t.fetch.__gpIntercepted=!0}},k=function(t){g||c&&(d&&(clearTimeout(d),d=null),c=!1,u="idle",I((function(){g||U()})))},D=function(){g||k(!1)},I=function(t){if(!g)try{var e=s.contentWindow,n=s.contentDocument||s.contentWindow.document;if(!e||!n)return void t();e.sessionStorage&&e.sessionStorage.removeItem("googtrans");var r=N(n,a);if(r)try{r.click(),v((function(){t()}),1e3)}catch(a){t()}else t()}catch(a){t()}},U=function(){g||(o++,v((function(){x()}),500))},j=function(a){w(),f&&t.ajax({url:gptranslate_vars.ajaxurl,type:"POST",data:{action:"gptranslate_toggle_serverside",toggle_action:"restore",were_enabled:"1",nonce:gptranslate_vars.gptranslateNonce},dataType:"json",success:function(t){t.success&&t.data&&(f=!1)},error:function(t,a,e){}}),i=!1,c=!1,u="idle",g=!1,a||(t("span.crawler-cogicon").removeClass("running"),t("span.crawler-labelicon-start").text(PLG_GPTRANSLATE_CRAWLER_START),t("#crawler_status").text(PLG_GPTRANSLATE_CRAWLER_CURRENT_STATUS_IDLE).removeClass("running"),t("#start_analysis").show(),t("#stop_analysis").hide(),t("#crawl_single_url_label").show(),t("#crawler_status").text(PLG_GPTRANSLATE_CRAWLER_REFRESHING),t("span.label-with-badge").removeClass("bg-warning").addClass("bg-success"),setTimeout((function(){window.location.reload()}),1500))};(function(){m.call(this)}).call(this)},t((function(){window.GPTranslateCrawler=new a}));
     10var t,a;t=jQuery,a=function(){var a=gptranslateDefaultLanguage,e=null,n=new Set,r=[],s=null,i=[],l=0,o=!1,c=!1,u="idle",d=null,p=[],_=[],g=!1,f=!1,m=function(){t("input.button-crawler").on("click.crawler",(function(){t("#crawler_dialog").remove();let a=gptranslateBaseCrawlerHome;1==gptranslateRewriteLanguageUrl&&0==gptranslateOmitPrefixOriginalLanguage&&(a+=gptranslateDefaultLanguage+"/"),A(a)})),t(document).on("click.crawler","#start_analysis",(function(){if(t("#link_to_analyze").removeClass("error"),!(e=t("#link_to_analyze").val()))return t("#link_to_analyze").addClass("error").focus(),!1;t("span.crawler-cogicon").addClass("running"),t("span.crawler-labelicon-start",this).text(PLG_GPTRANSLATE_CRAWLER_STARTED),t("#crawler_status").text(PLG_GPTRANSLATE_CRAWLER_CURRENT_STATUS_RUNNING).addClass("running"),t("#start_analysis").hide(),t("#stop_analysis").show(),t("#crawl_single_url_label").hide(),R().then((function(){E(e)}))})),t(document).on("click.crawler","#stop_analysis",(function(){g=!0,T("Arresto crawler in corso..."),b()})),t(document).on("keyup.crawler","#link_to_analyze",(function(){t(this).removeClass("error")})),t(document).on("click.crawler","label.closedialog",(function(){t(this).parents("#crawler_dialog").remove(),j(!0)})),t(document).on("click.crawler","#linkopener",(function(){var a=t("#link_to_analyze").val();window.open(a,"_blank")}))},A=function(a){var e='<div id="crawler_dialog" class="card card-primary"><div class="card-header"><h3 class="card-title">'+PLG_GPTRANSLATE_CRAWLER_DIALOG_TITLE+'</h3><label class="closedialog">✖</label></div><div class="card-body card-block"><label class="badge bg-primary analysis-labels" id="linkopener">'+PLG_GPTRANSLATE_CRAWLER_TARGET_LINK+'</label><input id="link_to_analyze" class="analysis-input" autocomplete="off" type="text" value="'+a+'" placeholder="'+PLG_GPTRANSLATE_CRAWLER_CHOOSE_TARGET_LINK+'"/><button id="start_analysis" class="btn btn-success active" title="'+PLG_GPTRANSLATE_CRAWLER_START_DESC+'"><span class="crawler-cogicon"></span><span class="crawler-labelicon-start">'+PLG_GPTRANSLATE_CRAWLER_START+'</span></button><button id="stop_analysis" class="btn btn-danger" style="display: none;" title="'+PLG_GPTRANSLATE_CRAWLER_STOP_DESC+'"><span class="crawler-cogicon"></span><span class="crawler-labelicon-stop"> '+PLG_GPTRANSLATE_CRAWLER_STOP+'</span></button><label id="crawl_single_url_label"><input type="checkbox" id="crawl_single_url"><span>'+PLG_GPTRANSLATE_CRAWLER_SINGLE_URL_OPTION+'</span></label><div class="flexbox-container-analysis"><div id="crawler_container"><div id="url_list" style="max-height: 300px; overflow-y: auto; border: 1px solid #ddd; padding: 15px; margin-top: 10px; background: #ffffff; border-radius: 5px;"><div class="text-muted text-center p-3">'+PLG_GPTRANSLATE_CRAWLER_NO_URLS_PROCESSED+'</div></div></div></div></div><div class="card-footer"><span class="badge bg-warning label-with-badge">'+PLG_GPTRANSLATE_CRAWLER_FOOTER+'<span id="crawler_status" class="badge pull-right">'+PLG_GPTRANSLATE_CRAWLER_CURRENT_STATUS_IDLE+'</span></span><div class="sitemap-actions-wrapper"><div class="sitemap-url-section"><label class="sitemap-url-label">'+PLG_GPTRANSLATE_CRAWLER_SITEMAP_URL_LABEL+'</label><div class="sitemap-url-input-group"><input type="text" id="sitemap_realtime_url" class="sitemap-url-input" value="'+gptranslateSitemapUrl+'" readonly /><button type="button" id="copy_sitemap_url" class="button button-secondary sitemap-copy-btn" title="Copy URL"><span class="dashicons dashicons-clipboard"></span></button><a href="'+gptranslateSitemapUrl+'" target="_blank" class="button button-secondary sitemap-open-btn" title="Open Sitemap"><span class="dashicons dashicons-external"></span></a></div></div><form method="post" action="'+gptranslateBaseCrawlerHome+'wp-admin/admin-post.php" class="export-xml-sitemap"><input type="hidden" id="gptranslate_export_xml_sitemap" name="gptranslate_export_xml_sitemap" value="b62d18a19b"><input type="hidden" name="action" value="gptranslate_export_xml_sitemap"><input type="submit" class="button button-primary" value="'+PLG_GPTRANSLATE_CRAWLER_EXPORT_XMLSITEMAP+'"></form></div></div></div>';t("body").append(e);const n=document.createElement("div");n.className="custom-tooltip",document.body.appendChild(n),t("#copy_sitemap_url").on("click",(function(){var a=document.getElementById("sitemap_realtime_url");a.select(),a.setSelectionRange(0,99999),navigator.clipboard.writeText(a.value).then((function(){var a=t("#copy_sitemap_url");a.find(".dashicons").removeClass("dashicons-clipboard").addClass("dashicons-yes"),a.addClass("sitemap-copied"),setTimeout((function(){a.find(".dashicons").removeClass("dashicons-yes").addClass("dashicons-clipboard"),a.removeClass("sitemap-copied")}),2e3)}))})),document.querySelectorAll("#start_analysis, #stop_analysis").forEach((function(t){const a=t.getAttribute("title");t.addEventListener("mouseenter",(function(e){t.setAttribute("data-original-title",a),t.removeAttribute("title"),n.textContent=a,n.style.opacity="1"})),t.addEventListener("mousemove",(function(t){n.style.top=t.pageY+10+"px",n.style.left=t.pageX+10+"px"})),t.addEventListener("mouseleave",(function(){n.style.opacity="0",t.setAttribute("title",t.getAttribute("data-original-title"))}))}))},R=function(){return t.ajax({url:gptranslate_vars.ajaxurl,type:"POST",data:{action:"gptranslate_toggle_serverside",toggle_action:"check",nonce:gptranslate_vars.gptranslateNonce},dataType:"json",success:function(t){t.success&&t.data&&(f="1"===t.data.were_enabled)},error:function(t,a,e){}})},T=function(a){t("#crawler_status").text(a)},L=function(t,a,e){var n=_.find((a=>a.url===t));n&&(n.status=a,n.currentLang=e,h())},h=function(){var a="";0===_.length?a='<div class="text-muted text-center p-3">'+PLG_GPTRANSLATE_CRAWLER_NO_URLS_PROCESSED+"</div>":_.forEach((function(t){var e="completed"===t.status?"text-success":"error"===t.status?"text-danger":"text-primary",n="completed"===t.status?"✓":"error"===t.status?"✗":'<span class="crawler-url-spinner">⟳</span>',r="";t.currentLang?r=" ("+t.currentLang+")":t.languages&&t.languages.length>0&&(r=" ["+t.languages.join(", ")+"]"),a+='<div style="padding: 8px 0; border-bottom: 1px solid #eee;"><div class="'+e+'" style="font-weight: 500;">'+n+" "+t.url+r+'</div><small class="text-muted">'+t.timestamp+"</small></div>"})),t("#url_list").html(a)},v=function(t,a){var e=setTimeout((function(){g||t()}),a);return p.push(e),e},y=function(){p.forEach((function(t){clearTimeout(t)})),p=[],d&&(clearTimeout(d),d=null)},E=function(a){a?(g=!1,T(PLG_GPTRANSLATE_CRAWLER_STARTING),n.clear(),r=[a],_=[],s&&t(s).remove(),s=t("<iframe>",{id:"crawler_iframe",style:"display: none;"}).appendTo("#crawler_container")[0],w()):j()},b=function(){g=!0,y(),s&&(s.onload=null,s.onerror=null,s.src="about:blank"),o=!1,c=!1,u="idle",T("Crawler fermato"),j(),t("#url_list").html('<div class="text-muted text-center p-3">'+PLG_GPTRANSLATE_CRAWLER_NO_URLS_PROCESSED+"</div>")},w=function(){if(g)return;if(0==gptVersionNumeric&&n.size>=10)return T(PLG_GPTRANSLATE_CRAWLER_COMPLETED),void setTimeout((function(){j()}),1e3);if(0===r.length)return T(PLG_GPTRANSLATE_CRAWLER_COMPLETED),void setTimeout((function(){j()}),1e3);if(o)return;var a=r.shift();if(n.has(a))return void w();t("div.card-footer span.label-with-badge").removeClass("bg-success").addClass("bg-warning"),n.add(a),o=!0,l=0,i=[],u="idle",c=!1;const e=a.replace(/\/+$/,""),d=e.substring(e.lastIndexOf("/")+1)||"/";T(PLG_GPTRANSLATE_CRAWLER_LOADING+d),function(t,a,e){var n={url:t,status:a,languages:e||[],timestamp:(new Date).toLocaleTimeString([],{hour12:!1})};_.unshift(n),h()}(a,"processing");try{s&&s.contentWindow&&s.contentWindow.sessionStorage&&s.contentWindow.sessionStorage.removeItem("googtrans")}catch(t){}s.src=a,s.onload=function(){g||S()},s.onerror=function(){g||(L(a,"error"),o=!1,w())}},S=function(){if(!g)try{var t=s.contentDocument||s.contentWindow.document,a=s.contentWindow;if(!t||!a){var e=Array.from(n).slice(-1)[0];return L(e,"error"),o=!1,void w()}try{a.sessionStorage&&a.sessionStorage.removeItem("googtrans")}catch(t){}v((function(){try{if(O(a),C(t),0===i.length){var e=Array.from(n).slice(-1)[0];return L(e,"completed"),P(t),o=!1,void w()}P(t),e=Array.from(n).slice(-1)[0],L(e,"processing",""),G()}catch(t){e=Array.from(n).slice(-1)[0],L(e,"error"),o=!1,w()}}),2e3)}catch(t){e=Array.from(n).slice(-1)[0],L(e,"error"),o=!1,w()}},C=function(e){try{var r=["#gpt_float_wrapper a.nturl[data-gpt-lang]","#gpt_float_wrapper a[data-gpt-lang]",".gpt_float_wrapper a.nturl[data-gpt-lang]",".gpt_float_wrapper a[data-gpt-lang]",'[id*="gpt"] a[data-gpt-lang]',".gptranslate a[data-gpt-lang]"];i=[];for(var s=0;s<r.length&&0===i.length;s++)e.querySelectorAll(r[s]).forEach((function(t){var e=t.getAttribute("data-gpt-lang");e&&-1===i.indexOf(e)&&e!=a&&i.push(e)}));if(!(i.length>0))return g=!0,j(!0),t("span.crawler-cogicon").removeClass("running"),t("span.crawler-labelicon-start").text(PLG_GPTRANSLATE_CRAWLER_START),t("span.label-with-badge").text(PLG_GPTRANSLATE_CRAWLER_CURRENT_STATUS_NOLANG_SELECTOR),t("#url_list,#crawler_status").remove(),t("#start_analysis").show(),t("#stop_analysis").hide(),setTimeout((function(){t("label.closedialog").trigger("click")}),3500),!1;var l=Array.from(n).slice(-1)[0],o=_.find((t=>t.url===l));o&&(o.languages=i,h())}catch(t){}},P=function(a){if(!t("#crawl_single_url").is(":checked"))try{var e=a.querySelectorAll("a[href]"),s=gptranslateCrawlerExclusions?gptranslateCrawlerExclusions.split(",").map((function(t){return t.trim()})):[];e.forEach((function(t){var a=t.getAttribute("href");if(a){var e=new URL(a,window.location.origin).href,i=decodeURI(e.split("?")[0].split("#")[0]);i.match(/\.[a-z]{2,4}$/i)||i.endsWith("/")||(i+="/");var l=["/wp-content/","/wp-includes/","/feed/","/rss/","/atom/","/xmlrpc.php","/robots.txt","/sitemap","?replytocom="].some((t=>i.includes(t)))||s.some((t=>i.includes(t)));a.startsWith("javascript:")||a.startsWith("mailto:")||a.startsWith("tel:")||a.startsWith("#")||"javascript:void(0)"===a||a.includes("wp-admin")||a.includes("wp-login")||a.includes("/admin")||i===window.location.origin||i===window.location.origin+"/"||""===i||!i.startsWith(window.location.origin)||n.has(i)||i.match(/\.(jpg|jpeg|png|gif|pdf|doc|docx|zip|css|js|php|xml|txt|ico)$/i)||l||n.has(i)||r.includes(i)||r.push(i)}}))}catch(t){}},G=function(){g||(l=0,x())},x=function(){if(!g){if(l>=i.length){var a=Array.from(n).slice(-1)[0];return L(a,"completed"),T(PLG_GPTRANSLATE_CRAWLER_PAGE_COMPLETED),t("div.card-footer span.label-with-badge").removeClass("bg-warning").addClass("bg-success"),o=!1,void v((function(){w()}),1e3)}if(!c){var e=i[l];a=Array.from(n).slice(-1)[0],T(PLG_GPTRANSLATE_CRAWLER_TRANSLATING+e+" ("+(l+1)+"/"+i.length+")"),L(a,"processing",e);var r=s.contentDocument||s.contentWindow.document,p=N(r,e);if(p){c=!0,u="checking",d=v((function(){I()}),1e3*gptranslateCrawlerTimeout),W(r);try{p.click()}catch(t){I()}}else U()}}},N=function(t,a){try{for(var e=['#gpt_float_wrapper a.nturl[data-gpt-lang="'+a+'"]','#gpt_float_wrapper a[data-gpt-lang="'+a+'"]','.gpt_float_wrapper a.nturl[data-gpt-lang="'+a+'"]','.gpt_float_wrapper a[data-gpt-lang="'+a+'"]','[id*="gpt"] a[data-gpt-lang="'+a+'"]','.gptranslate a[data-gpt-lang="'+a+'"]'],n=0;n<e.length;n++){var r=t.querySelector(e[n]);if(r)return r}return null}catch(t){return null}},W=function(t){try{t.querySelectorAll("img[data-gt-lazy-src]:not([src])").forEach((function(t){t.setAttribute("src",t.getAttribute("data-gt-lazy-src"))}))}catch(t){}},O=function(t){if(t&&t.fetch&&!t.fetch.__gpIntercepted){var a=t.fetch;t.fetch=function(){var e=arguments[0],n=arguments[1]||{};return a.apply(this,arguments).then((function(a){try{if("string"==typeof e&&-1!==e.indexOf("wp-json/gptranslate/v1/request")&&"POST"===(n.method||"GET").toUpperCase()&&c&&n.body){var r="string"==typeof n.body,s=!1;try{(n.body instanceof t.FormData||n.body&&"function"==typeof n.body.append&&n.body.constructor&&"FormData"===n.body.constructor.name||-1!==(n.headers&&(n.headers["Content-Type"]||n.headers["content-type"])||"").indexOf("multipart/form-data"))&&(s=!0)}catch(t){}if(r)try{"gettranslations"===JSON.parse(n.body).task&&a.clone().json().then((function(t){t&&!0===t.result?g||k(!0):u="translating"})).catch((function(t){}))}catch(t){}else s&&"translating"===u&&a.clone().json().then((function(t){g||k(!0)})).catch((function(t){g||k(!1)}))}}catch(t){}return a})).catch((function(){}))},t.fetch.__gpIntercepted=!0}},k=function(t){g||c&&(d&&(clearTimeout(d),d=null),c=!1,u="idle",D((function(){g||U()})))},I=function(){g||k(!1)},D=function(t){if(!g)try{var e=s.contentWindow,n=s.contentDocument||s.contentWindow.document;if(!e||!n)return void t();e.sessionStorage&&e.sessionStorage.removeItem("googtrans");var r=N(n,a);if(r)try{r.click(),v((function(){t()}),1e3)}catch(a){t()}else t()}catch(a){t()}},U=function(){g||(l++,v((function(){x()}),500))},j=function(a){y(),f&&t.ajax({url:gptranslate_vars.ajaxurl,type:"POST",data:{action:"gptranslate_toggle_serverside",toggle_action:"restore",were_enabled:"1",nonce:gptranslate_vars.gptranslateNonce},dataType:"json",success:function(t){t.success&&t.data&&(f=!1)},error:function(t,a,e){}}),o=!1,c=!1,u="idle",g=!1,a||(t("span.crawler-cogicon").removeClass("running"),t("span.crawler-labelicon-start").text(PLG_GPTRANSLATE_CRAWLER_START),t("#crawler_status").text(PLG_GPTRANSLATE_CRAWLER_CURRENT_STATUS_IDLE).removeClass("running"),t("#start_analysis").show(),t("#stop_analysis").hide(),t("#crawl_single_url_label").show(),t("#crawler_status").text(PLG_GPTRANSLATE_CRAWLER_REFRESHING),t("span.label-with-badge").removeClass("bg-warning").addClass("bg-success"),setTimeout((function(){window.location.reload()}),1500))};(function(){m.call(this)}).call(this)},t((function(){window.GPTranslateCrawler=new a}));
Note: See TracChangeset for help on using the changeset viewer.