jQuery(function ($) { $(document).ready(function () { var wpChatbotTabSections = { started: '#section-flip-1', general: '#section-flip-2', themes: '#section-flip-3', social: '#section-flip-51', language: '#section-flip-5', support: '#section-flip-4', startmenu: '#section-flip-6', ai: '#section-flip-7', rpl: '#section-flip-9', custom_css: '#section-flip-13' }; function wpChatbotShowTabSection(tabData, fallbackIndex, sectionSelector) { $(".content-wrap section").removeClass('content-current'); if (sectionSelector) { $(sectionSelector).addClass('content-current'); return; } if (wpChatbotTabSections[tabData]) { $(wpChatbotTabSections[tabData]).addClass('content-current'); return; } $(".content-wrap section").eq(fallbackIndex).addClass('content-current'); } var sbdstoredNoticeId = localStorage.getItem('qcld_wpbot_Notice_set'); var qcld_chatbot_Notice_time_set = localStorage.getItem('qcld_wpbot_Notice_time_set'); var notice_current_time = Math.round(new Date().getTime() / 1000); if ('promotion-wpchatbot' == sbdstoredNoticeId && qcld_chatbot_Notice_time_set > notice_current_time ) { $('#promotion-wpchatbot').css({'display': 'none'}); } $(document).on('click', '#promotion-wpchatbot .notice-dismiss', function(e){ var currentDom = $(this); var currentWrap = currentDom.closest('.notice'); currentWrap.css({'display': 'none'}); localStorage.setItem('qcld_wpbot_Notice_set', 'promotion-wpchatbot'); var ts = Math.round(new Date().getTime() / 1000); var tsYesterday = ts + (24 * 3600); localStorage.setItem('qcld_wpbot_Notice_time_set', tsYesterday); }); [].slice.call(document.querySelectorAll('.wp-chatbot-tabs')).forEach(function (el) { new CBPFWTabs(el); }); if(localStorage.getItem('tabData')){ $(".wp-chatbot-tabs nav ul li").each(function (index, elm) { if(localStorage.getItem('tabData')==$(this).attr('tab-data')){ $(this).addClass('tab-current'); wpChatbotShowTabSection($(this).attr('tab-data'), index, $(this).attr('data-section')); }else{ $(this).removeClass('tab-current'); } }) /*$(".content-wrap section").each(function (el) { });*/ } $(".wp-chatbot-tabs nav ul li a ").on('click',function () { // Remove others tab and contents $(".wp-chatbot-tabs nav ul li").removeClass('tab-current'); // add current tab and contents $(this).parent().addClass('tab-current'); wpChatbotShowTabSection($(this).parent().attr('tab-data'), $(".wp-chatbot-tabs nav ul li a ").index(this), $(this).parent().attr('data-section')); //Change action url , set add localStorge and url change. $('#wp-chatbot-admin-form').attr('action',$(this).attr('href')); localStorage.setItem('tabData',$(this).parent().attr('tab-data')); window.history.pushState("changeUrl", "wpwBot", $(this).attr('href')); }); $('.wp-chatbot-hours input').timepicker({ 'timeFormat': 'H:i' }); //Drag and drop support builders $('#wp-chatbot-support-builder').sortable({ cursor: 'move', revert: true, start: function (e, ui) { $(ui.item).find('textarea').each(function () { tinymce.execCommand('mceRemoveEditor', false, $(this).attr('id')); }); }, stop: function (e, ui) { $(ui.item).find('textarea').each(function () { tinymce.execCommand('mceAddEditor', true, $(this).attr('id')); }); } }); $("#wp-chatbot-support-builder" ).disableSelection(); $('#wp_chatbot_floatingiconbg_color').wpColorPicker(); if( (document.getElementById('skip_wp_greetings') != null)){ if (document.getElementById('ask_email_wp_greetings') != null) { if (document.getElementById('skip_wp_greetings').checked || document.getElementById('skip_wp_greetings_donot_show_menu').checked) { document.getElementById("ask_email_wp_greetings").checked = false; document.getElementById("ask_email_wp_greetings").disabled = true; } } if (document.getElementById('enable_asking_for_email') != null) { if (document.getElementById('skip_wp_greetings').checked || document.getElementById('skip_wp_greetings_donot_show_menu').checked) { document.getElementById("enable_asking_for_email").checked = false; document.getElementById("enable_asking_for_email").disabled = true; } } document.getElementById('skip_wp_greetings').addEventListener('change', (event) => { if (event.currentTarget.checked) { document.getElementById("skip_wp_greetings_donot_show_menu").checked = false; document.getElementById("show_menu_after_greetings").checked = false; var intetns = document.getElementsByClassName("qc_wp_intent_select"); Array.prototype.map.call(intetns, (x) => x.style = "display:none" ) if (document.getElementById("ask_email_wp_greetings") != null) { document.getElementById("ask_email_wp_greetings").checked = false; document.getElementById("ask_email_wp_greetings").disabled = true; } if (document.getElementById("enable_asking_for_email") != null) { document.getElementById("enable_asking_for_email").checked = false; document.getElementById("enable_asking_for_email").disabled = true; } } else { if (document.getElementById("ask_email_wp_greetings") != null && !document.getElementById("skip_wp_greetings_donot_show_menu").checked) { document.getElementById("ask_email_wp_greetings").disabled = false; } if (document.getElementById("enable_asking_for_email") != null && !document.getElementById("skip_wp_greetings_donot_show_menu").checked) { document.getElementById("enable_asking_for_email").disabled = false; } } }) document.getElementById('skip_wp_greetings_donot_show_menu').addEventListener('change', (event) => { if (event.currentTarget.checked) { document.getElementById("skip_wp_greetings").checked = false; document.getElementById("show_menu_after_greetings").checked = false; var intetns = document.getElementsByClassName("qc_wp_intent_select"); Array.prototype.map.call(intetns, (x) => x.style = "display:none" ) if (document.getElementById("ask_email_wp_greetings") != null) { document.getElementById("ask_email_wp_greetings").checked = false; document.getElementById("ask_email_wp_greetings").disabled = true; } if (document.getElementById("enable_asking_for_email") != null) { document.getElementById("enable_asking_for_email").checked = false; document.getElementById("enable_asking_for_email").disabled = true; } } else { if (document.getElementById("ask_email_wp_greetings") != null && !document.getElementById("skip_wp_greetings").checked) { document.getElementById("ask_email_wp_greetings").disabled = false; } if (document.getElementById("enable_asking_for_email") != null && !document.getElementById("skip_wp_greetings").checked) { document.getElementById("enable_asking_for_email").disabled = false; } } }) document.getElementById('show_menu_after_greetings').addEventListener('change', (event) => { if (event.currentTarget.checked) { document.getElementById("skip_wp_greetings").checked = false; var intetns = document.getElementsByClassName("qc_wp_intent_select"); Array.prototype.map.call(intetns, (x) => x.style = "display:none" ) document.getElementById("skip_wp_greetings_donot_show_menu").checked = false; if (document.getElementById("ask_email_wp_greetings") != null && !document.getElementById("skip_wp_greetings").checked && !document.getElementById("skip_wp_greetings_donot_show_menu").checked) { document.getElementById("ask_email_wp_greetings").disabled = false; } if (document.getElementById("enable_asking_for_email") != null && !document.getElementById("skip_wp_greetings").checked && !document.getElementById("skip_wp_greetings_donot_show_menu").checked) { document.getElementById("enable_asking_for_email").disabled = false; } } }) } $('#disable_wp_chatbot_site_search').on('change', function() { if($(this).is(':checked')) { $('#enable_wp_chatbot_post_content').prop('checked', false); } }); jQuery("#qcld-show-more-wrapper-box").on('click','.qcld-show-more-show-more', function () { if(jQuery(".qcld-show-more-text").hasClass("qcld-show-more-show-more-height")) { jQuery(this).html('
Collapse Options
'); } else { jQuery(this).html('
Expand for More Options+
'); } jQuery(".qcld-show-more-text").toggleClass("qcld-show-more-show-more-height"); }); }); /* Support building from admin panel. */ //Add Support query. var supportBlocks=$("#add-more-support-query").parent().parent().parent().find('textarea').length; $("#add-more-support-query").on('click',function () { console.log('blocks :',supportBlocks); supportBlocks=parseInt(supportBlocks+1) var textarea_id='chatbot-query-builder'+supportBlocks; var firsBlock='
'+ '
'+ ''+ '
'+ '

FAQ Query

'+ ''+ '


FAQ answer

'+ ''+ '
'+ '
'+ '
'; $(".block-inner").append(firsBlock); setTimeout(function (e) { //quicktags({id : ed_id,buttons:"strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,dfw"}); tinyMCE.execCommand('mceAddEditor', false, textarea_id); },500); }); //Remove Support query. $(document).on('click','.wp-chatbot-remove-support',function () { if(confirm('Are you sure to delete this support query block?')){ $(this).parent().parent().remove(); } }); //for downloading gc-client $('#qc_wpbot_gc_download').on('click', function(e){ e.preventDefault(); $.ajax( { type: 'POST', // 'POST' here so that _upload_ progress _also_ makes sense; // Change to 'GET' if you need. url: qcld_gemini_admin_data.ajax_url, data: { 'action': 'qcld_wp_chatbot_gc_client_download', 'nonce': qcld_gemini_admin_data.ajax_nonce, }, beforeSend: function() { $('.qcld_wpbot_download_statuses').append('

Downloading...

'); }, success: function(data){ $('.qcld_wpbot_download_statuses').append('

'+data.content+'

'); if(data.status=='success'){ $.ajax( { type: 'POST', // 'POST' here so that _upload_ progress _also_ makes sense; // Change to 'GET' if you need. url: qcld_gemini_admin_data.ajax_url, data: { 'action': 'qcld_wp_chatbot_gc_client_extract', 'nonce': qcld_gemini_admin_data.ajax_nonce }, beforeSend: function() { $('.qcld_wpbot_download_statuses').append('

Extracting files...

'); }, success: function(data){ $('.qcld_wpbot_download_statuses').append('

'+data.content+'

'); if(data.status=='success'){ $('.qcld_wpbot_download_statuses').append('

Done.

'); } } }); } } }); }) /* Notification building from admin panel. */ //Add Support query. var notification_blocks=$(this).parent().parent().parent().find('.notification-block-inner').length; $("#add-more-notification-message").on('click',function () { notification_blocks=parseInt(notification_blocks+1); var notification_text_area_id='notification_text_area_'+notification_blocks; tinyMCE.triggerSave(); var lastChildVal=$(this).parent().parent().parent().find('.notification-block-inner').children('.row').last().find('textarea').val(); var firsBlock='
'+ '
'+ '
'+ '
'+ ''+ '

'+ '
'+ '
'; if(lastChildVal!=""){ $(".notification-block-inner").append(firsBlock); setTimeout(function (e) { //quicktags({id : ed_id,buttons:"strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,dfw"}); tinyMCE.execCommand('mceAddEditor', false, notification_text_area_id); },500); } else{ alert('Please fill up last notification message first'); } }); //Remove Support query. $(document).on('click','.wp-chatbot-remove-notification',function () { if(confirm('Are you sure to delete this support query block?')){ var langItems=$(this).parent().parent().parent().children('.row'); if(langItems.length<=3){ alert('At least one item is required.'); }else{ $(this).parent().parent().remove(); } } }); /* Multiple option for Language setting */ $(document).on('click','.wp-chatbot-lng-item-add',function () { //checking last input is not empty var lastChildVal=$(this).parent().parent().parent().find('.wp-chatbot-lng-items').children('.row').last().find('input').val(); if(lastChildVal!=""){ var child=$(this).parent().parent().parent().find('.wp-chatbot-lng-items').children('.row').last().clone(); child.find('input').val(""); } else{ alert('Please fill up last item first'); } $(this).parent().parent().parent().find('.wp-chatbot-lng-items').append(child); }); $(document).on('click','.wp-chatbot-lng-item-remove',function () { var langItems=$(this).parent().parent().parent().children('.row'); if(langItems.length<=1){ alert('At least one item is required.'); }else{ $(this).parent().parent().remove(); } }); /*** * wpwBot Theme background * */ $(document).on('change','#qcld_wb_chatbot_change_bg',function (e) { if($(this).is(':checked')){ $('.qcld-wp-chatbot-board-bg-container').show(); }else{ $('.qcld-wp-chatbot-board-bg-container').hide(); } }); //Reset to defualt all options $('#qcld-wp-chatbot-reset-option').on('click',function () { var returnDefualt = confirm("Are you sure you want to reset all options to Default? Resetting Will Delete All Saved Settings, Custom Messages, Languages etc."); if (returnDefualt == true) { var data = { 'action': 'qcld_wb_chatboot_delete_all_options', 'wpnonce': qcld_gemini_admin_data.ajax_nonce, }; jQuery.post(qcld_gemini_admin_data.ajax_url, data, function (response) { alert(response); window.location.reload(); }); } }); var stopWordsList={ english:"a,able,about,above,abst,accordance,according,accordingly,across,act,actually,added,adj,affected,affecting,affects,after,afterwards,again,against,ah,all,almost,alone,along,already,also,although,always,am,among,amongst,an,and,announce,another,any,anybody,anyhow,anymore,anyone,anything,anyway,anyways,anywhere,apparently,approximately,are,aren,arent,arise,around,as,aside,ask,asking,at,auth,available,away,awfully,b,back,be,became,because,become,becomes,becoming,been,before,beforehand,begin,beginning,beginnings,begins,behind,being,believe,below,beside,besides,between,beyond,biol,both,brief,briefly,but,by,c,ca,came,can,cannot,can't,cause,causes,certain,certainly,co,com,come,comes,contain,containing,contains,could,couldnt,d,date,did,didn't,different,do,does,doesn't,doing,done,don't,down,downwards,due,during,e,each,ed,edu,effect,eg,eight,eighty,either,else,elsewhere,end,ending,enough,especially,et,et-al,etc,even,ever,every,everybody,everyone,everything,everywhere,ex,except,f,far,few,ff,fifth,first,five,fix,followed,following,follows,for,former,formerly,forth,found,four,from,further,furthermore,g,gave,get,gets,getting,give,given,gives,giving,go,goes,gone,got,gotten,h,had,happens,hardly,has,hasn't,have,haven't,having,he,hed,hence,her,here,hereafter,hereby,herein,heres,hereupon,hers,herself,hes,hi,hid,him,himself,his,hither,home,how,howbeit,however,hundred,i,id,ie,if,i'll,im,immediate,immediately,importance,important,in,inc,indeed,index,information,instead,into,invention,inward,is,isn't,it,itd,it'll,its,itself,i've,j,just,k,keep,keeps,kept,kg,km,know,known,knows,l,largely,last,lately,later,latter,latterly,least,less,lest,let,lets,like,liked,likely,line,little,'ll,look,looking,looks,ltd,m,made,mainly,make,makes,many,may,maybe,me,mean,means,meantime,meanwhile,merely,mg,might,million,miss,ml,more,moreover,most,mostly,mr,mrs,much,mug,must,my,myself,n,na,name,namely,nay,nd,near,nearly,necessarily,necessary,need,needs,neither,never,nevertheless,new,next,nine,ninety,no,nobody,non,none,nonetheless,noone,nor,normally,nos,not,noted,nothing,now,nowhere,o,obtain,obtained,obviously,of,off,often,oh,ok,okay,old,omitted,on,once,one,ones,only,onto,or,ord,other,others,otherwise,ought,our,ours,ourselves,out,outside,over,overall,owing,own,p,page,pages,part,particular,particularly,past,per,perhaps,placed,please,plus,poorly,possible,possibly,potentially,pp,predominantly,present,previously,primarily,probably,promptly,proud,provides,put,q,que,quickly,quite,qv,r,ran,rather,rd,re,readily,really,recent,recently,ref,refs,regarding,regardless,regards,related,relatively,research,respectively,resulted,resulting,results,right,run,s,said,same,saw,say,saying,says,sec,section,see,seeing,seem,seemed,seeming,seems,seen,self,selves,sent,seven,several,shall,she,shed,she'll,shes,should,shouldn't,show,showed,shown,showns,shows,significant,significantly,similar,similarly,since,six,slightly,so,some,somebody,somehow,someone,somethan,something,sometime,sometimes,somewhat,somewhere,soon,sorry,specifically,specified,specify,specifying,still,stop,strongly,sub,substantially,successfully,such,sufficiently,suggest,sup,sure,t,take,taken,taking,tell,tends,th,than,thank,thanks,thanx,that,that'll,thats,that've,the,their,theirs,them,themselves,then,thence,there,thereafter,thereby,thered,therefore,therein,there'll,thereof,therere,theres,thereto,thereupon,there've,these,they,theyd,they'll,theyre,they've,think,this,those,thou,though,thoughh,thousand,throug,through,throughout,thru,thus,til,tip,to,together,too,took,toward,towards,tried,tries,truly,try,trying,ts,twice,two,u,un,under,unfortunately,unless,unlike,unlikely,until,unto,up,upon,ups,us,use,used,useful,usefully,usefulness,uses,using,usually,v,value,various,'ve,very,via,viz,vol,vols,vs,w,want,wants,was,wasnt,way,we,wed,welcome,we'll,went,were,werent,we've,what,whatever,what'll,whats,when,whence,whenever,where,whereafter,whereas,whereby,wherein,wheres,whereupon,wherever,whether,which,while,whim,whither,who,whod,whoever,whole,who'll,whom,whomever,whos,whose,why,widely,willing,wish,with,within,without,wont,words,world,would,wouldnt,www,x,y,yes,yet,you,youd,you'll,your,youre,yours,yourself,yourselves,you've,z,zero", arabic:"فى,في,كل,لم,لن,له,من,هو,هي,قوة,كما,لها,منذ,وقد,ولا,نفسه,لقاء,مقابل,هناك,وقال,وكان,نهاية,وقالت,وكانت,للامم,فيه,كلم,لكن,وفي,وقف,ولم,ومن,وهو,وهي,يوم,فيها,منها,مليار,لوكالة,يكون,يمكن,مليون,حيث,اكد,الا,اما,امس,السابق,التى,التي,اكثر,ايار,ايضا,ثلاثة,الذاتي,الاخيرة,الثاني,الثانية,الذى,الذي,الان,امام,ايام,خلال,حوالى,الذين,الاول,الاولى,بين,ذلك,دون,حول,حين,الف,الى,انه,اول,ضمن,انها,جميع,الماضي,الوقت,المقبل,اليوم,ـ,ف,و,و6,قد,لا,ما,مع,مساء,هذا,واحد,واضاف,واضافت,فان,قبل,قال,كان,لدى,نحو,هذه,وان,واكد,كانت,واوضح,مايو,ب,ا,أ,،,عشر,عدد,عدة,عشرة,عدم,عام,عاما,عن,عند,عندما,على,عليه,عليها,زيارة,سنة,سنوات,تم,ضد,بعد,بعض,اعادة,اعلنت,بسبب,حتى,اذا,احد,اثر,برس,باسم,غدا,شخصا,صباح,اطار,اربعة,اخرى,بان,اجل,غير,بشكل,حاليا,بن,به,ثم,اف,ان,او,اي,بها,صفر", bulgarian:"а,автентичен,аз,ако,ала,бе,без,беше,би,бивш,бивша,бившо,бил,била,били,било,благодаря,близо,бъдат,бъде,бяха,в,вас,ваш,ваша,вероятно,вече,взема,ви,вие,винаги,внимава,време,все,всеки,всички,всичко,всяка,във,въпреки,върху,г,ги,главен,главна,главно,глас,го,година,години,годишен,д,да,дали,два,двама,двамата,две,двете,ден,днес,дни,до,добра,добре,добро,добър,докато,докога,дори,досега,доста,друг,друга,други,е,евтин,едва,един,една,еднаква,еднакви,еднакъв,едно,екип,ето,живот,за,забавям,зад,заедно,заради,засега,заспал,затова,защо,защото,и,из,или,им,има,имат,иска,й,каза,как,каква,какво,както,какъв,като,кога,когато,което,които,кой,който,колко,която,къде,където,към,лесен,лесно,ли,лош,м,май,малко,ме,между,мек,мен,месец,ми,много,мнозина,мога,могат,може,мокър,моля,момента,му,н,на,над,назад,най,направи,напред,например,нас,не,него,нещо,нея,ни,ние,никой,нито,нищо,но,нов,нова,нови,новина,някои,някой,няколко,няма,обаче,около,освен,особено,от,отгоре,отново,още,пак,по,повече,повечето,под,поне,поради,после,почти,прави,пред,преди,през,при,пък,първата,първи,първо,пъти,равен,равна,с,са,сам,само,се,сега,си,син,скоро,след,следващ,сме,смях,според,сред,срещу,сте,съм,със,също,т,тази,така,такива,такъв,там,твой,те,тези,ти,т.н.,то,това,тогава,този,той,толкова,точно,три,трябва,тук,тъй,тя,тях,у,утре,харесва,хиляди,ч,часа,че,често,чрез,ще,щом,юмрук,я,як", catalan:"a,abans,algun,alguna,algunes,alguns,altre,amb,ambdós,anar,ans,aquell,aquelles,aquells,aquí,bastant,bé,cada,com,consegueixo,conseguim,conseguir,consigueix,consigueixen,consigueixes,dalt,de,des de,dins,el,elles,ells,els,en,ens,entre,era,erem,eren,eres,es,és,éssent,està,estan,estat,estava,estem,esteu,estic,ets,fa,faig,fan,fas,fem,fer,feu,fi,haver,i,inclòs,jo,la,les,llarg,llavors,mentre,meu,mode,molt,molts,nosaltres,o,on,per,per,per que,però,perquè,podem,poden,poder,podeu,potser,primer,puc,quan,quant,qui,sabem,saben,saber,sabeu,sap,saps,sense,ser,seu,seus,si,soc,solament,sols,som,sota,també,te,tene,tenim,tenir,teniu,teu,tinc,tot,últim,un,un,una,unes,uns,ús,va,vaig,van,vosaltres", czech:"ačkoli,ahoj,ale,anebo,ano,asi,aspoň,během,bez,beze,blízko,bohužel,brzo,bude,budeme,budeš,budete,budou,budu,byl,byla,byli,bylo,byly,bys,čau,chce,chceme,chceš,chcete,chci,chtějí,chtít,chut',chuti,co,čtrnáct,čtyři,dál,dále,daleko,děkovat,děkujeme,děkuji,den,deset,devatenáct,devět,do,dobrý,docela,dva,dvacet,dvanáct,dvě,hodně,já,jak,jde,je,jeden,jedenáct,jedna,jedno,jednou,jedou,jeho,její,jejich,jemu,jen,jenom,ještě,jestli,jestliže,jí,jich,jím,jimi,jinak,jsem,jsi,jsme,jsou,jste,kam,kde,kdo,kdy,když,ke,kolik,kromě,která,které,kteří,který,kvůli,má,mají,málo,mám,máme,máš,máte,mé,mě,mezi,mí,mít,mně,mnou,moc,mohl,mohou,moje,moji,možná,můj,musí,může,my,na,nad,nade,nám,námi,naproti,nás,náš,naše,naši,ne,ně,nebo,nebyl,nebyla,nebyli,nebyly,něco,nedělá,nedělají,nedělám,neděláme,neděláš,neděláte,nějak,nejsi,někde,někdo,nemají,nemáme,nemáte,neměl,němu,není,nestačí,nevadí,než,nic,nich,ním,nimi,nula,od,ode,on,ona,oni,ono,ony,osm,osmnáct,pak,patnáct,pět,po,pořád,potom,pozdě,před,přes,přese,pro,proč,prosím,prostě,proti,protože,rovně,se,sedm,sedmnáct,šest,šestnáct,skoro,smějí,smí,snad,spolu,sta,sté,sto,ta,tady,tak,takhle,taky,tam,tamhle,tamhleto,tamto,tě,tebe,tebou,ted',tedy,ten,ti,tisíc,tisíce,to,tobě,tohle,toto,třeba,tři,třináct,trošku,tvá,tvé,tvoje,tvůj,ty,určitě,už,vám,vámi,vás,váš,vaše,vaši,ve,večer,vedle,vlastně,všechno,všichni,vůbec,vy,vždy,za,zač,zatímco,ze,že", danish:"ad,af,alle,alt,anden,at,blev,blive,bliver,da,de,dem,den,denne,der,deres,det,dette,dig,din,disse,dog,du,efter,eller,en,end,er,et,for,fra,ham,han,hans,har,havde,have,hende,hendes,her,hos,hun,hvad,hvis,hvor,i,ikke,ind,jeg,jer,jo,kunne,man,mange,med,meget,men,mig,min,mine,mit,mod,ned,noget,nogle,nu,når,og,også,om,op,os,over,på,selv,sig,sin,sine,sit,skal,skulle,som,sådan,thi,til,ud,under,var,vi,vil,ville,vor,være,været", dutch:"aan,al,alles,als,altijd,andere,ben,bij,daar,dan,dat,de,der,deze,die,dit,doch,doen,door,dus,een,eens,en,er,ge,geen,geweest,haar,had,heb,hebben,heeft,hem,het,hier,hij,hoe,hun,iemand,iets,ik,in,is,ja,je,kan,kon,kunnen,maar,me,meer,men,met,mij,mijn,moet,na,naar,niet,niets,nog,nu,of,om,omdat,onder,ons,ook,op,over,reeds,te,tegen,toch,toen,tot,u,uit,uw,van,veel,voor,want,waren,was,wat,werd,wezen,wie,wil,worden,wordt,zal,ze,zelf,zich,zij,zijn,zo,zonder,zou", finnish:"ei,eivät,emme,en,et,ette,että,he,heidän,heidät,heihin,heille,heillä,heiltä,heissä,heistä,heitä,hän,häneen,hänelle,hänellä,häneltä,hänen,hänessä,hänestä,hänet,häntä,itse,ja,johon,joiden,joihin,joiksi,joilla,joille,joilta,joina,joissa,joista,joita,joka,joksi,jolla,jolle,jolta,jona,jonka,jos,jossa,josta,jota,jotka,kanssa,keiden,keihin,keiksi,keille,keillä,keiltä,keinä,keissä,keistä,keitä,keneen,keneksi,kenelle,kenellä,keneltä,kenen,kenenä,kenessä,kenestä,kenet,ketkä,ketkä,ketä,koska,kuin,kuka,kun,me,meidän,meidät,meihin,meille,meillä,meiltä,meissä,meistä,meitä,mihin,miksi,mikä,mille,millä,miltä,minkä,minkä,minua,minulla,minulle,minulta,minun,minussa,minusta,minut,minuun,minä,minä,missä,mistä,mitkä,mitä,mukaan,mutta,ne,niiden,niihin,niiksi,niille,niillä,niiltä,niin,niin,niinä,niissä,niistä,niitä,noiden,noihin,noiksi,noilla,noille,noilta,noin,noina,noissa,noista,noita,nuo,nyt,näiden,näihin,näiksi,näille,näillä,näiltä,näinä,näissä,näistä,näitä,nämä,ole,olemme,olen,olet,olette,oli,olimme,olin,olisi,olisimme,olisin,olisit,olisitte,olisivat,olit,olitte,olivat,olla,olleet,ollut,on,ovat,poikki,se,sekä,sen,siihen,siinä,siitä,siksi,sille,sillä,sillä,siltä,sinua,sinulla,sinulle,sinulta,sinun,sinussa,sinusta,sinut,sinuun,sinä,sinä,sitä,tai,te,teidän,teidät,teihin,teille,teillä,teiltä,teissä,teistä,teitä,tuo,tuohon,tuoksi,tuolla,tuolle,tuolta,tuon,tuona,tuossa,tuosta,tuota,tähän,täksi,tälle,tällä,tältä,tämä,tämän,tänä,tässä,tästä,tätä,vaan,vai,vaikka,yli", french:"a,ai,aie,aient,aies,ait,alors,as,au,aucun,aura,aurai,auraient,aurais,aurait,auras,aurez,auriez,aurions,aurons,auront,aussi,autre,aux,avaient,avais,avait,avant,avec,avez,aviez,avions,avoir,avons,ayant,ayez,ayons,bon,car,ce,ceci,cela,ces,cet,cette,ceux,chaque,ci,comme,comment,d,dans,de,dedans,dehors,depuis,des,deux,devoir,devrait,devrez,devriez,devrions,devrons,devront,dois,doit,donc,dos,droite,du,dès,début,dù,elle,elles,en,encore,es,est,et,eu,eue,eues,eurent,eus,eusse,eussent,eusses,eussiez,eussions,eut,eux,eûmes,eût,eûtes,faire,fais,faisez,fait,faites,fois,font,force,furent,fus,fusse,fussent,fusses,fussiez,fussions,fut,fûmes,fût,fûtes,haut,hors,ici,il,ils,j,je,juste,l,la,le,les,leur,leurs,lui,là,m,ma,maintenant,mais,me,mes,moi,moins,mon,mot,même,n,ne,ni,nom,nommé,nommée,nommés,nos,notre,nous,nouveau,nouveaux,on,ont,ou,où,par,parce,parole,pas,personne,personnes,peu,peut,plupart,pour,pourquoi,qu,quand,que,quel,quelle,quelles,quels,qui,sa,sans,se,sera,serai,seraient,serais,serait,seras,serez,seriez,serions,serons,seront,ses,seulement,si,sien,soi,soient,sois,soit,sommes,son,sont,sous,soyez,soyons,suis,sujet,sur,t,ta,tandis,te,tellement,tels,tes,toi,ton,tous,tout,trop,très,tu,un,une,valeur,voient,vois,voit,vont,vos,votre,vous,vu,y,à,ça,étaient,étais,était,étant,état,étiez,étions,été,étés,êtes,être", german:"aber,alle,allem,allen,aller,alles,als,also,am,an,ander,andere,anderem,anderen,anderer,anderes,anderm,andern,anders,auch,auf,aus,bei,bin,bis,bist,da,damit,dann,das,dass,dasselbe,dazu,daß,dein,deine,deinem,deinen,deiner,deines,dem,demselben,den,denn,denselben,der,derer,derselbe,derselben,des,desselben,dessen,dich,die,dies,diese,dieselbe,dieselben,diesem,diesen,dieser,dieses,dir,doch,dort,du,durch,ein,eine,einem,einen,einer,eines,einig,einige,einigem,einigen,einiger,einiges,einmal,er,es,etwas,euch,euer,eure,eurem,euren,eurer,eures,für,gegen,gewesen,hab,habe,haben,hat,hatte,hatten,hier,hin,hinter,ich,ihm,ihn,ihnen,ihr,ihre,ihrem,ihren,ihrer,ihres,im,in,indem,ins,ist,jede,jedem,jeden,jeder,jedes,jene,jenem,jenen,jener,jenes,jetzt,kann,kein,keine,keinem,keinen,keiner,keines,können,könnte,machen,man,manche,manchem,manchen,mancher,manches,mein,meine,meinem,meinen,meiner,meines,mich,mir,mit,muss,musste,nach,nicht,nichts,noch,nun,nur,ob,oder,ohne,sehr,sein,seine,seinem,seinen,seiner,seines,selbst,sich,sie,sind,so,solche,solchem,solchen,solcher,solches,soll,sollte,sondern,sonst,um,und,uns,unser,unsere,unserem,unseren,unserer,unseres,unter,viel,vom,von,vor,war,waren,warst,was,weg,weil,weiter,welche,welchem,welchen,welcher,welches,wenn,werde,werden,wie,wieder,will,wir,wird,wirst,wo,wollen,wollte,während,würde,würden,zu,zum,zur,zwar,zwischen,über", hindi:"अत,अपना,अपनी,अपने,अभी,अंदर,आदि,आप,इत्यादि,इन ,इनका,इन्हीं,इन्हें,इन्हों,इस,इसका,इसकी,इसके,इसमें,इसी,इसे,उन,उनका,उनकी,उनके,उनको,उन्हीं,उन्हें,उन्हों,उस,उसके,उसी,उसे,एक,एवं,एस,ऐसे,और,कई,कर,करता,करते,करना,करने,करें,कहते,कहा,का,काफ़ी,कि,कितना,किन्हें,किन्हों,किया,किर,किस,किसी,किसे,की,कुछ,कुल,के,को,कोई,कौन,कौनसा,गया,घर,जब,जहाँ,जा,जितना,जिन,जिन्हें,जिन्हों,जिस,जिसे,जीधर,जैसा,जैसे,जो,तक,तब,तरह,तिन,तिन्हें,तिन्हों,तिस,तिसे,तो,था,थी,थे,दबारा,दिया,दुसरा,दूसरे,दो,द्वारा,न,नके,नहीं,ना,निहायत,नीचे,ने,पर,पहले,पूरा,पे,फिर,बनी,बही,बहुत,बाद,बाला,बिलकुल,भी,भीतर,मगर,मानो,मे,में,यदि,यह,यहाँ,यही,या,यिह,ये,रखें,रहा,रहे,ऱ्वासा,लिए,लिये,लेकिन,व,वग़ैरह,वर्ग,वह,वहाँ,वहीं,वाले,वुह,वे,सकता,सकते,सबसे,सभी,साथ,साबुत,साभ,सारा,से,सो,संग,ही,हुआ,हुई,हुए,है,हैं,हो,होता,होती,होते,होना,होने", hungarian:"a,abban,ahhoz,ahogy,ahol,aki,akik,akkor,alatt,amely,amelyek,amelyekben,amelyeket,amelyet,amelynek,ami,amikor,amit,amolyan,amíg,annak,arra,arról,az,azok,azon,azonban,azt,aztán,azután,azzal,azért,be,belül,benne,bár,cikk,cikkek,cikkeket,csak,de,e,ebben,eddig,egy,egyes,egyetlen,egyik,egyre,egyéb,egész,ehhez,ekkor,el,ellen,elsõ,elég,elõ,elõször,elõtt,emilyen,ennek,erre,ez,ezek,ezen,ezt,ezzel,ezért,fel,felé,hanem,hiszen,hogy,hogyan,igen,ill,ill.,illetve,ilyen,ilyenkor,ismét,ison,itt,jobban,jó,jól,kell,kellett,keressünk,keresztül,ki,kívül,között,közül,legalább,legyen,lehet,lehetett,lenne,lenni,lesz,lett,maga,magát,majd,majd,meg,mellett,mely,melyek,mert,mi,mikor,milyen,minden,mindenki,mindent,mindig,mint,mintha,mit,mivel,miért,most,már,más,másik,még,míg,nagy,nagyobb,nagyon,ne,nekem,neki,nem,nincs,néha,néhány,nélkül,olyan,ott,pedig,persze,rá,s,saját,sem,semmi,sok,sokat,sokkal,szemben,szerint,szinte,számára,talán,tehát,teljes,tovább,továbbá,több,ugyanis,utolsó,után,utána,vagy,vagyis,vagyok,valaki,valami,valamint,való,van,vannak,vele,vissza,viszont,volna,volt,voltak,voltam,voltunk,által,általában,át,én,éppen,és,így,õ,õk,õket,össze,úgy,új,újabb,újra", indonesian:"ada,adanya,adalah,adapun,agak,agaknya,agar,akan,akankah,akhirnya,aku,akulah,amat,amatlah,anda,andalah,antar,diantaranya,antara,antaranya,diantara,apa,apaan,mengapa,apabila,apakah,apalagi,apatah,atau,ataukah,ataupun,bagai,bagaikan,sebagai,sebagainya,bagaimana,bagaimanapun,sebagaimana,bagaimanakah,bagi,bahkan,bahwa,bahwasanya,sebaliknya,banyak,sebanyak,beberapa,seberapa,begini,beginian,beginikah,beginilah,sebegini,begitu,begitukah,begitulah,begitupun,sebegitu,belum,belumlah,sebelum,sebelumnya,sebenarnya,berapa,berapakah,berapalah,berapapun,betulkah,sebetulnya,biasa,biasanya,bila,bilakah,bisa,bisakah,sebisanya,boleh,bolehkah,bolehlah,buat,bukan,bukankah,bukanlah,bukannya,cuma,percuma,dahulu,dalam,dan,dapat,dari,daripada,dekat,demi,demikian,demikianlah,sedemikian,dengan,depan,di,dia,dialah,dini,diri,dirinya,terdiri,dong,dulu,enggak,enggaknya,entah,entahlah,terhadap,terhadapnya,hal,hampir,hanya,hanyalah,harus,haruslah,harusnya,seharusnya,hendak,hendaklah,hendaknya,hingga,sehingga,ia,ialah,ibarat,ingin,inginkah,inginkan,ini,inikah,inilah,itu,itukah,itulah,jangan,jangankan,janganlah,jika,jikalau,juga,justru,kala,kalau,kalaulah,kalaupun,kalian,kami,kamilah,kamu,kamulah,kan,kapan,kapankah,kapanpun,dikarenakan,karena,karenanya,ke,kecil,kemudian,kenapa,kepada,kepadanya,ketika,seketika,khususnya,kini,kinilah,kiranya,sekiranya,kita,kitalah,kok,lagi,lagian,selagi,lah,lain,lainnya,melainkan,selaku,lalu,melalui,terlalu,lama,lamanya,selama,selama,selamanya,lebih,terlebih,bermacam,macam,semacam,maka,makanya,makin,malah,malahan,mampu,mampukah,mana,manakala,manalagi,masih,masihkah,semasih,masing,mau,maupun,semaunya,memang,mereka,merekalah,meski,meskipun,semula,mungkin,mungkinkah,nah,namun,nanti,nantinya,nyaris,oleh,olehnya,seorang,seseorang,pada,padanya,padahal,paling,sepanjang,pantas,sepantasnya,sepantasnyalah,para,pasti,pastilah,per,pernah,pula,pun,merupakan,rupanya,serupa,saat,saatnya,sesaat,saja,sajalah,saling,bersama,sama,sesama,sambil,sampai,sana,sangat,sangatlah,saya,sayalah,se,sebab,sebabnya,sebuah,tersebut,tersebutlah,sedang,sedangkan,sedikit,sedikitnya,segala,segalanya,segera,sesegera,sejak,sejenak,sekali,sekalian,sekalipun,sesekali,sekaligus,sekarang,sekarang,sekitar,sekitarnya,sela,selain,selalu,seluruh,seluruhnya,semakin,sementara,sempat,semua,semuanya,sendiri,sendirinya,seolah,seperti,sepertinya,sering,seringnya,serta,siapa,siapakah,siapapun,disini,disinilah,sini,sinilah,sesuatu,sesuatunya,suatu,sesudah,sesudahnya,sudah,sudahkah,sudahlah,supaya,tadi,tadinya,tak,tanpa,setelah,telah,tentang,tentu,tentulah,tentunya,tertentu,seterusnya,tapi,tetapi,setiap,tiap,setidaknya,tidak,tidakkah,tidaklah,toh,waduh,wah,wahai,sewaktu,walau,walaupun,wong,yaitu,yakni,yang", italian:"a,abbia,abbiamo,abbiano,abbiate,ad,adesso,agl,agli,ai,al,all,alla,alle,allo,allora,altre,altri,altro,anche,ancora,avemmo,avendo,avere,avesse,avessero,avessi,avessimo,aveste,avesti,avete,aveva,avevamo,avevano,avevate,avevi,avevo,avrai,avranno,avrebbe,avrebbero,avrei,avremmo,avremo,avreste,avresti,avrete,avrà,avrò,avuta,avute,avuti,avuto,c,che,chi,ci,coi,col,come,con,contro,cui,da,dagl,dagli,dai,dal,dall,dalla,dalle,dallo,degl,degli,dei,del,dell,della,delle,dello,dentro,di,dov,dove,e,ebbe,ebbero,ebbi,ecco,ed,era,erano,eravamo,eravate,eri,ero,essendo,faccia,facciamo,facciano,facciate,faccio,facemmo,facendo,facesse,facessero,facessi,facessimo,faceste,facesti,faceva,facevamo,facevano,facevate,facevi,facevo,fai,fanno,farai,faranno,fare,farebbe,farebbero,farei,faremmo,faremo,fareste,faresti,farete,farà,farò,fece,fecero,feci,fino,fosse,fossero,fossi,fossimo,foste,fosti,fra,fu,fui,fummo,furono,giù,gli,ha,hai,hanno,ho,i,il,in,io,l,la,le,lei,li,lo,loro,lui,ma,me,mi,mia,mie,miei,mio,ne,negl,negli,nei,nel,nell,nella,nelle,nello,no,noi,non,nostra,nostre,nostri,nostro,o,per,perché,però,più,pochi,poco,qua,quale,quanta,quante,quanti,quanto,quasi,quella,quelle,quelli,quello,questa,queste,questi,questo,qui,quindi,sarai,saranno,sarebbe,sarebbero,sarei,saremmo,saremo,sareste,saresti,sarete,sarà,sarò,se,sei,senza,si,sia,siamo,siano,siate,siete,sono,sopra,sotto,sta,stai,stando,stanno,starai,staranno,stare,starebbe,starebbero,starei,staremmo,staremo,stareste,staresti,starete,starà,starò,stava,stavamo,stavano,stavate,stavi,stavo,stemmo,stesse,stessero,stessi,stessimo,stesso,steste,stesti,stette,stettero,stetti,stia,stiamo,stiano,stiate,sto,su,sua,sue,sugl,sugli,sui,sul,sull,sulla,sulle,sullo,suo,suoi,te,ti,tra,tu,tua,tue,tuo,tuoi,tutti,tutto,un,una,uno,vai,vi,voi,vostra,vostre,vostri,vostro,è", norwegian:"alle,at,av,bare,begge,ble,blei,bli,blir,blitt,både,båe,da,de,deg,dei,deim,deira,deires,dem,den,denne,der,dere,deres,det,dette,di,din,disse,ditt,du,dykk,dykkar,då,eg,ein,eit,eitt,eller,elles,en,enn,er,et,ett,etter,for,fordi,fra,før,ha,hadde,han,hans,har,hennar,henne,hennes,her,hjå,ho,hoe,honom,hoss,hossen,hun,hva,hvem,hver,hvilke,hvilken,hvis,hvor,hvordan,hvorfor,i,ikke,ikkje,ingen,ingi,inkje,inn,inni,ja,jeg,kan,kom,korleis,korso,kun,kunne,kva,kvar,kvarhelst,kven,kvi,kvifor,man,mange,me,med,medan,meg,meget,mellom,men,mi,min,mine,mitt,mot,mykje,ned,no,noe,noen,noka,noko,nokon,nokor,nokre,nå,når,og,også,om,opp,oss,over,på,samme,seg,selv,si,sia,sidan,siden,sin,sine,sitt,sjøl,skal,skulle,slik,so,som,somme,somt,så,sånn,til,um,upp,ut,uten,var,vart,varte,ved,vere,verte,vi,vil,ville,vore,vors,vort,være,vært,vår,å", persian:"نداشته,شناسی,خواهیم,آباد,داشتن,نظیر,همچون,باره,نکرده,شان,سابق,هفت,دانند,جایی,بی,جز,زیرِ,رویِ,سریِ,تویِ,جلویِ,پیشِ,عقبِ,بالایِ,خارجِ,وسطِ,بیرونِ,سویِ,کنارِ,پاعینِ,نزدِ,نزدیکِ,دنبالِ,حدودِ,برابرِ,طبقِ,مانندِ,ضدِّ,هنگامِ,برایِ,مثلِ,باره,اثرِ,تولِ,علّتِ,سمتِ,عنوانِ,قصدِ,روب,جدا,کی,که,چیست,هست,کجا,کجاست,کَی,چطور,کدام,آیا,مگر,چندین,یک,چیزی,دیگر,کسی,بعری,هیچ,چیز,جا,کس,هرگز,یا,تنها,بلکه,خیاه,بله,بلی,آره,آری,مرسی,البتّه,لطفاً,ّه,انکه,وقتیکه,همین,پیش,مدّتی,هنگامی,مان,تان,براساس,شدند,ترین,امروز,باشند,ندارد,چون,قابل,گوید,دیگری,همان,خواهند,قبل,آمده,اکنون,تحت,طریق,گیری,جای,هنوز,چرا,البته,کنید,سازی,سوم,کنم,بلکه,زیر,توانند,ضمن,فقط,بودن,حق,آید,وقتی,اش,یابد,نخستین,مقابل,خدمات,امسال,تاکنون,مانند,تازه,آورد,فکر,آنچه,نخست,نشده,شاید,چهار,جریان,پنج,ساخته,زیرا,نزدیک,برداری,کسی,ریزی,رفت,گردد,مثل,آمد,ام,بهترین,دانست,کمتر,دادن,تمامی,جلوگیری,بیشتری,ایم,ناشی,چیزی,آنکه,بالا,بنابراین,ایشان,بعضی,دادند,داشتند,برخوردار,نخواهد,هنگام,نباید,غیر,نبود,دیده,وگو,داریم,چگونه,بندی,خواست,فوق,ده,نوعی,هستیم,دیگران,همچنان,سراسر,ندارند,گروهی,سعی,روزهای,آنجا,یکدیگر,کردم,بیست,بروز,سپس,رفته,آورده,نماید,باشیم,گویند,زیاد,خویش,همواره,گذاشته,شش,تر,کل,تمام,بدون,میلیارد,بودند,طی,بسیاری,گذاری,دهند,گرفت,طور,بار,آنان,گفته,شما,گیرد,مختلف,بعد,درباره,دوم,دیروز,نه,برخی,چنین,توسط,ولی,اینکه,حتی,نشان,کنیم,کردن,شدن,بیش,جدید,چند,هیچ,نام,اول,تواند,هایی,گرفته,روی,بسیار,بیشتر,شوند,سوی,میلیون,همین,دارند,بوده,داده,کردند,همچنین,چه,داشت,راه,داشته,داد,استفاده,نیست,هزار,دهد,من,بی,هستند,یکی,صورت,همه,اگر,پس,پیش,بین,نمی,مردم,دیگر,باشد,آنها,مورد,او,خواهد,هر,اند,دو,باید,اما,یا,کرده,ما,دارد,کنند,هم,وی,نیز,گفت,بود,بر,کند,تا,ای,شد,کرد,ها,خود,شده,شود,یک,آن,برای,های,با,را,است,این,می,که,از,به,در,و", polish:"ach,aj,albo,bardzo,bez,bo,być,ci,cię,ciebie,co,czy,daleko,dla,dlaczego,dlatego,do,dobrze,dokąd,dość,dużo,dwa,dwaj,dwie,dwoje,dziś,dzisiaj,gdyby,gdzie,go,ich,ile,im,inny,ja,ją,jak,jakby,jaki,je,jeden,jedna,jedno,jego,jej,jemu,jeśli,jest,jestem,jeżeli,już,każdy,kiedy,kierunku,kto,ku,lub,ma,mają,mam,mi,mną,mnie,moi,mój,moja,moje,może,mu,my,na,nam,nami,nas,nasi,nasz,nasza,nasze,natychmiast,nią,nic,nich,nie,niego,niej,niemu,nigdy,nim,nimi,niż,obok,od,około,on,ona,one,oni,ono,owszem,po,pod,ponieważ,przed,przedtem,są,sam,sama,się,skąd,tak,taki,tam,ten,to,tobą,tobie,tu,tutaj,twoi,twój,twoja,twoje,ty,wam,wami,was,wasi,wasz,wasza,wasze,we,więc,wszystko,wtedy,wy,żaden,zawsze,że", portuguese:"a,ao,aos,aquela,aquelas,aquele,aqueles,aquilo,as,até,com,como,da,das,de,dela,delas,dele,deles,depois,do,dos,e,ela,elas,ele,eles,em,entre,era,eram,essa,essas,esse,esses,esta,estamos,estas,estava,estavam,este,esteja,estejam,estejamos,estes,esteve,estive,estivemos,estiver,estivera,estiveram,estiverem,estivermos,estivesse,estivessem,estivéramos,estivéssemos,estou,está,estávamos,estão,eu,foi,fomos,for,fora,foram,forem,formos,fosse,fossem,fui,fôramos,fôssemos,haja,hajam,hajamos,havemos,hei,houve,houvemos,houver,houvera,houveram,houverei,houverem,houveremos,houveria,houveriam,houvermos,houverá,houverão,houveríamos,houvesse,houvessem,houvéramos,houvéssemos,há,hão,isso,isto,já,lhe,lhes,mais,mas,me,mesmo,meu,meus,minha,minhas,muito,na,nas,nem,no,nos,nossa,nossas,nosso,nossos,num,numa,não,nós,o,os,ou,para,pela,pelas,pelo,pelos,por,qual,quando,que,quem,se,seja,sejam,sejamos,sem,serei,seremos,seria,seriam,será,serão,seríamos,seu,seus,somos,sou,sua,suas,são,só,também,te,tem,temos,tenha,tenham,tenhamos,tenho,terei,teremos,teria,teriam,terá,terão,teríamos,teu,teus,teve,tinha,tinham,tive,tivemos,tiver,tivera,tiveram,tiverem,tivermos,tivesse,tivessem,tivéramos,tivéssemos,tu,tua,tuas,tém,tínhamos,um,uma,você,vocês,vos,à,às,éramos", romanian:"vreo,acelea,cita,degraba,lor,alta,tot,ai,dat,x,despre,peste,bine,dar,foarte,z,avea,multi,cit,alt,mai,sa,fie,tu,multe,e,orice,dintr,se,g,intr,niste,multa,insa,il,fost,a,abia,nimic,sub,acel,in,altceva,si,avem,altfel,c,ea,acest,li,parca,fi,dintre,unele,m,acestei,mare,cel,este,pe,atitia,uneori,acela,iti,astazi,acestui,o,imi,ele,ceilalti,pai,fata,noua,sa-ti,altul,au,i,prin,conform,aceste,anume,azi,k,unul,ala,unei,fara,ei,la,aceeasi,u,inapoi,acestea,acesta,catre,sale,asupra,as,aceea,ba,ale,da,le,apoi,aia,suntem,cum,isi,inainte,s,de,cind,cumva,chiar,acestia,daca,sunt,care,al,numai,cui,sus,tocmai,prea,cu,mi,eu,doar,niciodata,exact,putini,aiurea,tuturor,celor,astfel,atunci,citeva,cat,sau,fel,intre,acolo,nostri,ma,mult,una,ceea,iar,sintem,ati,din,geaba,sai,caruia,adica,inca,are,aici,ca,ia,nici,d,oricum,asta,carora,face,citiva,voi,unor,f,atat,toata,alaturi,cea,nu,totusi,ce,altii,acum,sint,capat,mod,deasupra,cam,vom,b,toate,careia,aceasta,atit,nimeni,ii,ci,unde,ul,plus,era,sa-mi,l,spre,dupa,nou,cele,acea,un,incit,n,cei,or,va,deci,acelasi,atatea,h,vor,decit,noi,cineva,desi,ceva,j,ului,atitea,avut,ar,pina,t,atata,unui,el,citi,asa,totul,pentru,atita,v,alti,asemenea,atatia,te,ne,deja,unii,p,atare,cite,cine,cand,toti,vreun,ori,r,alte,lui,ti,ni,aceia,am", russian:"а,в,г,е,ж,и,к,м,о,с,т,у,я,бы,во,вы,да,до,ее,ей,ею,её,же,за,из,им,их,ли,мы,на,не,ни,но,ну,нх,об,он,от,по,со,та,те,то,ту,ты,уж,без,был,вам,вас,ваш,вон,вот,все,всю,вся,всё,где,год,два,две,дел,для,его,ему,еще,ещё,или,ими,имя,как,кем,ком,кто,лет,мне,мог,мож,мои,мой,мор,моя,моё,над,нам,нас,наш,нее,ней,нем,нет,нею,неё,них,оба,она,они,оно,под,пор,при,про,раз,сам,сих,так,там,тем,тех,том,тот,тою,три,тут,уже,чем,что,эта,эти,это,эту,алло,буду,будь,бывь,была,были,было,быть,вами,ваша,ваше,ваши,ведь,весь,вниз,всем,всех,всею,года,году,даже,двух,день,если,есть,зато,кого,кому,куда,лишь,люди,мало,меля,меня,мимо,мира,мной,мною,мочь,надо,нами,наша,наше,наши,него,нему,ниже,ними,один,пока,пора,пять,рано,сама,сами,само,саму,свое,свои,свою,себе,себя,семь,стал,суть,твой,твоя,твоё,тебе,тебя,теми,того,тоже,тому,туда,хоть,хотя,чаще,чего,чему,чтоб,чуть,этим,этих,этой,этом,этот,более,будем,будет,будто,будут,вверх,вдали,вдруг,везде,внизу,время,всего,всеми,всему,всюду,давно,даром,долго,друго,жизнь,занят,затем,зачем,здесь,иметь,какая,какой,когда,кроме,лучше,между,менее,много,могут,может,можно,можхо,назад,низко,нужно,одной,около,опять,очень,перед,позже,после,потом,почти,пятый,разве,рядом,самим,самих,самой,самом,своей,своих,сеаой,снова,собой,собою,такая,также,такие,такое,такой,тобой,тобою,тогда,тысяч,уметь,часто,через,чтобы,шесть,этими,этого,этому,близко,больше,будете,будешь,бывает,важная,важное,важные,важный,вокруг,восемь,всегда,второй,далеко,дальше,девять,десять,должно,другая,другие,других,другое,другой,занята,занято,заняты,значит,именно,иногда,каждая,каждое,каждые,каждый,кругом,меньше,начала,нельзя,нибудь,никуда,ничего,обычно,однако,одного,отсюда,первый,потому,почему,просто,против,раньше,самими,самого,самому,своего,сейчас,сказал,совсем,теперь,только,третий,хорошо,хотеть,хочешь,четыре,шестой,восьмой,впрочем,времени,говорил,говорит,девятый,десятый,кажется,конечно,которая,которой,которые,который,которых,наверху,наконец,недавно,немного,нередко,никогда,однажды,посреди,сегодня,седьмой,сказала,сказать,сколько,слишком,сначала,спасибо,человек,двадцать,довольно,которого,наиболее,недалеко,особенно,отовсюду,двадцатый,миллионов,несколько,прекрасно,процентов,четвертый,двенадцать,непрерывно,пожалуйста,пятнадцать,семнадцать,тринадцать,двенадцатый,одиннадцать,пятнадцатый,семнадцатый,тринадцатый,шестнадцать,восемнадцать,девятнадцать,одиннадцатый,четырнадцать,шестнадцатый,восемнадцатый,девятнадцатый,действительно,четырнадцатый,многочисленная,многочисленное,многочисленные,многочисленный", slovak:"a,aby,aj,ak,ako,ale,alebo,and,ani,áno,asi,až,bez,bude,budem,budeš,budeme,budete,budú,by,bol,bola,boli,bolo,byť,cez,čo,či,ďalší,ďalšia,ďalšie,dnes,do,ho,ešte,for,i,ja,je,jeho,jej,ich,iba,iné,iný,som,si,sme,sú,k,kam,každý,každá,každé,každí,kde,keď,kto,ktorá,ktoré,ktorou,ktorý,ktorí,ku,lebo,len,ma,mať,má,máte,medzi,mi,mna,mne,mnou,musieť,môcť,môj,môže,my,na,nad,nám,náš,naši,nie,nech,než,nič,niektorý,nové,nový,nová,nové,noví,o,od,odo,of,on,ona,ono,oni,ony,po,pod,podľa,pokiaľ,potom,práve,pre,prečo,preto,pretože,prvý,prvá,prvé,prví,pred,predo,pri,pýta,s,sa,so,si,svoje,svoj,svojich,svojím,svojími,ta,tak,takže,táto,teda,te,tě,ten,tento,the,tieto,tým,týmto,tiež,to,toto,toho,tohoto,tom,tomto,tomuto,toto,tu,tú,túto,tvoj,ty,tvojími,už,v,vám,váš,vaše,vo,viac,však,všetok,vy,z,za,zo,že", spanish:"a,al,algo,algunas,algunos,ante,antes,como,con,contra,cual,cuando,de,del,desde,donde,durante,e,el,ella,ellas,ellos,en,entre,era,erais,eran,eras,eres,es,esa,esas,ese,eso,esos,esta,estaba,estabais,estaban,estabas,estad,estada,estadas,estado,estados,estamos,estando,estar,estaremos,estará,estarán,estarás,estaré,estaréis,estaría,estaríais,estaríamos,estarían,estarías,estas,este,estemos,esto,estos,estoy,estuve,estuviera,estuvierais,estuvieran,estuvieras,estuvieron,estuviese,estuvieseis,estuviesen,estuvieses,estuvimos,estuviste,estuvisteis,estuviéramos,estuviésemos,estuvo,está,estábamos,estáis,están,estás,esté,estéis,estén,estés,fue,fuera,fuerais,fueran,fueras,fueron,fuese,fueseis,fuesen,fueses,fui,fuimos,fuiste,fuisteis,fuéramos,fuésemos,ha,habida,habidas,habido,habidos,habiendo,habremos,habrá,habrán,habrás,habré,habréis,habría,habríais,habríamos,habrían,habrías,habéis,había,habíais,habíamos,habían,habías,han,has,hasta,hay,haya,hayamos,hayan,hayas,hayáis,he,hemos,hube,hubiera,hubierais,hubieran,hubieras,hubieron,hubiese,hubieseis,hubiesen,hubieses,hubimos,hubiste,hubisteis,hubiéramos,hubiésemos,hubo,la,las,le,les,lo,los,me,mi,mis,mucho,muchos,muy,más,mí,mía,mías,mío,míos,nada,ni,no,nos,nosotras,nosotros,nuestra,nuestras,nuestro,nuestros,o,os,otra,otras,otro,otros,para,pero,poco,por,porque,que,quien,quienes,qué,se,sea,seamos,sean,seas,seremos,será,serán,serás,seré,seréis,sería,seríais,seríamos,serían,serías,seáis,sido,siendo,sin,sobre,sois,somos,son,soy,su,sus,suya,suyas,suyo,suyos,sí,también,tanto,te,tendremos,tendrá,tendrán,tendrás,tendré,tendréis,tendría,tendríais,tendríamos,tendrían,tendrías,tened,tenemos,tenga,tengamos,tengan,tengas,tengo,tengáis,tenida,tenidas,tenido,tenidos,teniendo,tenéis,tenía,teníais,teníamos,tenían,tenías,ti,tiene,tienen,tienes,todo,todos,tu,tus,tuve,tuviera,tuvierais,tuvieran,tuvieras,tuvieron,tuviese,tuvieseis,tuviesen,tuvieses,tuvimos,tuviste,tuvisteis,tuviéramos,tuviésemos,tuvo,tuya,tuyas,tuyo,tuyos,tú,un,una,uno,unos,vosotras,vosotros,vuestra,vuestras,vuestro,vuestros,y,ya,yo,él,éramos", swedish:"alla,allt,att,av,blev,bli,blir,blivit,de,dem,den,denna,deras,dess,dessa,det,detta,dig,din,dina,ditt,du,där,då,efter,ej,eller,en,er,era,ert,ett,från,för,ha,hade,han,hans,har,henne,hennes,hon,honom,hur,här,i,icke,ingen,inom,inte,jag,ju,kan,kunde,man,med,mellan,men,mig,min,mina,mitt,mot,mycket,ni,nu,när,någon,något,några,och,om,oss,på,samma,sedan,sig,sin,sina,sitta,själv,skulle,som,så,sådan,sådana,sådant,till,under,upp,ut,utan,vad,var,vara,varför,varit,varje,vars,vart,vem,vi,vid,vilka,vilkas,vilken,vilket,vår,våra,vårt,än,är,åt,över", turkish:"mu,onlar,seksen,ama,trilyon,buna,bizim,þeyden,yirmi,altý,iki,seni,doksan,dört,bunun,ki,nereye,altmýþ,hem,milyon,kez,otuz,beþ,elli,bizi,da,sekiz,ve,çok,bu,veya,ya,kýrk,onlarýn,ona,bana,yetmiþ,milyar,þunu,senden,birþeyi,dokuz,yani,kimi,þeyler,kim,neden,senin,yedi,niye,üç,þey,mý,tüm,onlari,bunda,ise,þundan,hep,þuna,bin,ben,ondan,kimden,bazý,belki,ne,bundan,gibi,de,onlardan,sizi,sizin,daha,niçin,þunda,INSERmi,bunu,beni,ile,þu,þeyi,sizden,defa,biz,için,dahi,siz,nerde,kime,birþey,birkez,her,biri,on,mü,diye,acaba,sen,en,hepsi,bir,bizden,sanki,benim,nerede,onu,benden,yüz,birkaç,çünkü,nasýl,hiç,katrilyon", ukrainian:"a,б,в,г,е,ж,з,м,т,у,я,є,і,аж,ви,де,до,за,зі,ми,на,не,ну,нх,ні,по,та,ти,то,ту,ті,це,цю,ця,ці,чи,ще,що,як,їй,їм,їх,її,або,але,ало,без,був,вам,вас,ваш,вже,все,всю,вся,від,він,два,дві,для,ким,мож,моя,моє,мої,міг,між,мій,над,нам,нас,наш,нею,неї,них,ніж,ній,ось,при,про,під,пір,раз,рік,сам,сих,сім,так,там,теж,тим,тих,той,тою,три,тут,хоч,хто,цей,цим,цих,час,щоб,яка,які,адже,буде,буду,будь,була,були,було,бути,вами,ваша,ваше,ваші,весь,вниз,вона,вони,воно,всею,всім,всіх,втім,геть,далі,двох,день,дуже,зате,його,йому,каже,кого,коли,кому,крім,куди,лише,люди,мало,мати,мене,мені,миру,мною,може,нами,наша,наше,наші,ними,ніби,один,поки,пора,рано,року,році,сама,саме,саму,самі,свою,своє,свої,себе,собі,став,суть,така,таке,такі,твоя,твоє,твій,тебе,тими,тобі,того,тоді,тому,туди,хоча,хіба,цими,цієї,часу,чого,чому,який,яких,якої,якщо,ім'я,інша,інше,інші,буває,будеш,більш,вгору,вміти,внизу,вісім,давно,даром,добре,довго,друго,дякую,життя,зараз,знову,какая,кожен,кожна,кожне,кожні,краще,ледве,майже,менше,могти,можна,назад,немає,нижче,нього,однак,п'ять,перед,поруч,потім,проти,після,років,самим,самих,самій,свого,своєї,своїх,собою,справ,такий,також,тепер,тисяч,тобою,треба,трохи,усюди,усіма,хочеш,цього,цьому,часто,через,шість,якого,іноді,інший,інших,багато,будемо,будете,будуть,більше,всього,всьому,далеко,десять,досить,другий,дійсно,завжди,звідси,зовсім,кругом,кілька,людина,можуть,навіть,навіщо,нагорі,небудь,низько,ніколи,нікуди,нічого,обидва,одного,однієї,п'ятий,перший,просто,раніше,раптом,самими,самого,самому,сказав,скрізь,сьомий,третій,тільки,хотіти,чотири,чудово,шостий,близько,важлива,важливе,важливі,вдалині,восьмий,говорив,дев'ять,десятий,зайнята,зайнято,зайняті,занадто,значить,навколо,нарешті,нерідко,повинно,посеред,початку,пізніше,сказала,сказати,скільки,спасибі,частіше,важливий,двадцять,дев'ятий,зазвичай,зайнятий,звичайно,здається,найбільш,не можна,недалеко,особливо,потрібно,спочатку,сьогодні,численна,численне,численні,відсотків,двадцятий,звідусіль,мільйонів,нещодавно,прекрасно,четвертий,численний,будь ласка,дванадцять,одинадцять,сімнадцять,тринадцять,безперервно,дванадцятий,одинадцятий,одного разу,п'ятнадцять,сімнадцятий,тринадцятий,шістнадцять,вісімнадцять,п'ятнадцятий,чотирнадцять,шістнадцятий,вісімнадцятий,дев'ятнадцять,чотирнадцятий,дев'ятнадцятий", }; //change the to defualt Stop word language options $('#qlcd_wp_chatbot_stop_words_name').on('change',function () { var lang=$(this).val(); var stopWords=stopWordsList[lang]; $("#qlcd_wp_chatbot_stop_words").val(stopWords); }); //Custom Icon $('.qcld_chatbot_custom_icon_button').click(function(e) { e.preventDefault(); var image = wp.media({ title: 'Custom Icon', // mutiple: true if you want to upload multiple files at once multiple: false }) .open() .on('select', function(e){ // This will return the selected image from the Media Uploader, the result is an object var uploaded_image = image.state().get('selection').first(); var image_url = uploaded_image.toJSON().url; // Let's assign the url value to the hidden field value and img src. $('#wp_chatbot_custom_icon_src').attr('src',image_url); $('#wp_chatbot_custom_icon_path').val(image_url); }); }); $('#qc_wpbot_df_status').on('click', function(e){ e.preventDefault(); $.ajax( { type: 'POST', // 'POST' here so that _upload_ progress _also_ makes sense; // Change to 'GET' if you need. url: qcld_gemini_admin_data.ajax_url, data: { 'action': 'qcld_wp_df_api_call', 'dfquery': 'hi', 'nonce': qcld_gemini_admin_data.ajax_nonce, 'sessionid': 'wpwBot_df_201sdf8071' }, beforeSend: function() { $('.qcwp_df_status').append('

Connecting...

'); }, success: function(data){ var response = $.parseJSON(JSON.parse(data)); if(typeof response.responseId !== "undefined"){ $('.qcwp_df_status').html('

Dialogflow is connected successfully!

'); }else{ $('.qcwp_df_status').html('

Connecton Failed. '+response.error.message+'

If DialogFlow connection is not working, please check Debugging Steps or contact us for support.

'); } } }); }) //Custom Agent Icon $('.wp_chatbot_custom_agent_button').click(function(e) { e.preventDefault(); var image = wp.media({ title: 'Custom Agent', // mutiple: true if you want to upload multiple files at once multiple: false }) .open() .on('select', function(e){ // This will return the selected image from the Media Uploader, the result is an object var uploaded_image = image.state().get('selection').first(); var image_url = uploaded_image.toJSON().url; // Let's assign the url value to the hidden field value and img src. $('#wp_chatbot_custom_agent_src').attr('src',image_url); $('#wp_chatbot_custom_agent_path').val(image_url); }); }); //Custom Backgroud image $('.qcld_wb_chatbot_board_bg_button').click(function(e) { e.preventDefault(); var image = wp.media({ title: 'Custom Agent', // mutiple: true if you want to upload multiple files at once multiple: false }) .open() .on('select', function(e){ // This will return the selected image from the Media Uploader, the result is an object var uploaded_image = image.state().get('selection').first(); var image_url = uploaded_image.toJSON().url; // Let's assign the url value to the hidden field value and img src. $('#qcld_wb_chatbot_board_bg_image').attr('src',image_url); $('#qcld_wb_chatbot_board_bg_path').val(image_url); }); }); //wpwBot Load Control handler. jQuery("input[name='wp_chatbot_df_api']").on('change', function(e){ e.preventDefault(); if($(this).val()=='v1'){ $('#wp-chatbot-df-section-v1').show('slow'); $('#wp-chatbot-df-section-v2').hide('slow'); }else{ $('#wp-chatbot-df-section-v1').hide('slow'); $('#wp-chatbot-df-section-v2').show('slow'); } }) if($("input[type=radio][name='wp_chatbot_df_api']:checked").val()=='v1'){ $('#wp-chatbot-df-section-v1').show('slow'); }else{ $('#wp-chatbot-df-section-v1').hide(); } if($("input[type=radio][name='wp_chatbot_df_api']:checked").val()=='v2'){ $('#wp-chatbot-df-section-v2').show('slow'); }else{ $('#wp-chatbot-df-section-v2').hide(); } if($("input[type=radio][name='wp_chatbot_show_pages']:checked").val()=='off'){ $('#wp-chatbot-show-pages-list').show('slow'); }else{ $('#wp-chatbot-show-pages-list').hide('slow'); } //on change. $('.wp-chatbot-show-pages').on('change',function (e) { if( $(this).val()=='off'){ $('#wp-chatbot-show-pages-list').show('slow'); }else{ $('#wp-chatbot-show-pages-list').hide('slow'); } }) //Search options if($('#wp-chatbot-search-option').val()=='standard'){ $('#wp-chatbot-standard-search').show(); $('#wp-chatbot-advanced-search').hide(); } else if($('#wp-chatbot-search-option').val()=='advanced'){ $('#wp-chatbot-advanced-search').show(); $('#wp-chatbot-standard-search').hide(); } $('#wp-chatbot-search-option').on('change',function (e) { if($(this).val()=='standard'){ $('#wp-chatbot-standard-search').show(); $('#wp-chatbot-advanced-search').hide(); } else if($(this).val()=='advanced'){ $('#wp-chatbot-advanced-search').show(); $('#wp-chatbot-standard-search').hide(); } }); //Product Index for categories & Tag search var wpChatbotIndexBtn=$('#qlcd_wp_chatbot_index'); var wpChatbotIndexProcess = $('#qlcd_wp_chatbot_index_process'); var wpChatbotIndexProgress = $('#qlcd_wp_chatbot_index_progress'); var wpChatbotIndexLoader = $('#qlcd_wp_chatbot_index_loader'); var wpChatbotSyncStatus; var wpChatbotIndexProcessed; var wpChatbotIndexToProcess; // Reindex table wpChatbotIndexBtn.on( 'click', function(e) { e.preventDefault(); wpChatbotIndexProcess.html(''); wpChatbotIndexProgress.text(''); wpChatbotSyncStatus = 'sync'; wpChatbotIndexToProcess = 0; wpChatbotIndexProcessed = 0; wpChatbotIndexLoader.html('...'); wpChatbotIndexProcess.html( wpChatbotIndexProcessed + '%' ); qcld_wb_chatbot_sync(); }); function qcld_wb_chatbot_sync() { $.ajax({ type: 'POST', url: qcld_gemini_admin_data.ajax_url, data: { action: 'qcld-wp-chabot-reindex', 'nonce': qcld_gemini_admin_data.ajax_nonce }, dataType: "json", success: function (response) { // console.log('begining : ',response); if ( 'sync' !== wpChatbotSyncStatus ) { return; } wpChatbotIndexToProcess = response.data.found_posts; wpChatbotIndexProcessed = response.data.offset; wpChatbotIndexProcessed = Math.floor( wpChatbotIndexProcessed / wpChatbotIndexToProcess * 100 ); if ( 0 === response.data.offset && ! response.data.start ) { // Sync finished wpChatbotSyncStatus = 'finished'; //console.log('first : '+ response.data ); //console.log( "Reindex finished!" ); // $reindexBlock.removeClass('loading'); setTimeout(function () { wpChatbotIndexProgress.text('Complete and '+response.data.found_posts+' Products found!' ); wpChatbotIndexLoader.html(''); },1000); } else { // console.log('2nd : '+ response.data ); wpChatbotIndexProcess.html ( wpChatbotIndexProcessed + '% ' ); // We are starting a sync wpChatbotSyncStatus = 'sync'; qcld_wb_chatbot_sync(); } }, error : function( jqXHR, textStatus ) { //console.log( "Request failed: " + textStatus ); qcld_wb_chatbot_cancelSync(); }, complete: function () { } }); } function qcld_wb_chatbot_cancelSync() { $.ajax( { method: 'post', url: qcld_gemini_admin_data.ajax_url, data: { action: 'qcld-wp-chabot-cancel-index', 'nonce': qcld_gemini_admin_data.ajax_nonce } }); } //Messenger Color scheme. $('#qlcd_wp_chatbot_fb_color').wpColorPicker(); $('#wp_chatbot_proactive_bg_color').wpColorPicker(); // Sub category for parent category $(document).on('change','#wp_chatbot_show_parent_category',function (e) { if($(this).is(':checked')){ $('#wp_chatbot_sub_cats_container').show(); }else{ $('#wp_chatbot_sub_cats_container').hide(); } }) //Opening hours if($('#enable_wp_chatbot_opening_hour').is(':checked')){ $('#wp-chatbot-hours-wrapper').show(); }else{ $('#wp-chatbot-hours-wrapper').hide(); } $(document).on('change','#enable_wp_chatbot_opening_hour',function (e) { if($(this).is(':checked')){ $('#wp-chatbot-hours-wrapper').show(); }else{ $('#wp-chatbot-hours-wrapper').hide(); } }) $(".wp-chatbot-hours-add-btn").on('click',function () { var elNumber=$(this).parent().parent().find('.wp-chatbot-hours-container').length; var dayName=$(this).attr('data-day'); var hourSet='
'+ '
'+ ' '+ '
'+ '
'+ ''+ '
'+ '
'; $(this).parent().parent().find('.wp-chatbot-day').append(hourSet); $('.wp-chatbot-hours input').timepicker({ 'timeFormat': 'H:i' }); }); $(document).on('click','.wp-chatbot-hours-remove-btn',function () { var elNumbers=$(this).parent().parent().parent().find('.wp-chatbot-hours-container').length; if(elNumbers>1){ if(confirm('Are you sure to delete this support query block?')){ $(this).parent().parent().remove(); } }else{ alert('At least one opening hours set is required'); } }); //DialogFlow if($('#enable_wp_chatbot_dailogflow').is(':checked')){ $('#wp-chatbot-dialflow-section').show(); }else{ $('#wp-chatbot-dialflow-section').hide(); } $(document).on('change','#enable_wp_chatbot_dailogflow',function (e) { if($(this).is(':checked')){ $('#wp-chatbot-dialflow-section').show(); }else{ $('#wp-chatbot-dialflow-section').hide(); } }) $('#submit').click(function(){ if( jQuery('#section-flip-6:visible').length > 0 ){ /* Perform some button action ... */ if($('#enable_wp_chatbot_dailogflow').is(':checked')){ if( $('input[name ="qlcd_wp_chatbot_dialogflow_project_id"]').val() =='' ){ alert("Please provide the Dialogflow Project ID!"); return false; } if( $('input[name="qlcd_wp_chatbot_dialogflow_agent_language"]').val() == '' ){ alert("Please provide the Dialogflow Agent Language!"); return false; } } } }); jQuery( ".qc_menu_list_container ul li" ).dblclick(function(e) { e.preventDefault(); var html = jQuery(this).html().trim(); jQuery('#qc_menu_area').append(html); jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); }); jQuery(document).on("dblclick", "#qc_menu_area span", function(e) { e.preventDefault(); jQuery(this).remove(); jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); }); jQuery( "#qc_menu_area" ).sortable({ update: function( event, ui ) { jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); } }); jQuery( "#qc_menu_area" ).disableSelection(); jQuery('.qc_menu_list_area span').draggable({ revert: "invalid", helper: 'clone' }); jQuery('.qc_menu_area_container').droppable({ accept: ".qc_draggable_item", drop: function(event, ui) { var droppable = $(this); var draggable = ui.draggable; // Move draggable into droppable draggable.clone().removeClass("qc_draggable_item").addClass("qc_draggable_item_remove").removeAttr("style").appendTo(droppable); jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); } }); $('#wp_chatbot_floatingiconbg_color, #wp_chatbot_text_color, #wp_chatbot_link_color,#wp_chatbot_link_hover_color,#wp_chatbot_bot_msg_bg_color,#wp_chatbot_bot_msg_text_color,#wp_chatbot_user_msg_bg_color,#wp_chatbot_header_background_color,#wp_chatbot_user_msg_text_color,#wp_chatbot_buttons_bg_color,#wp_chatbot_buttons_text_color,#wp_chatbot_theme_primary_color,#wp_chatbot_theme_secondary_color').wpColorPicker(); jQuery('.qc_menu_list_area').droppable({ accept: ".qc_draggable_item_remove", drop: function(event, ui) { var droppable = $(this); var draggable = ui.draggable; // Move draggable into droppable draggable.remove(); jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); } }); jQuery('.qc_menu_area_container .qcld-chatbot-form').each(function(){ var obj = $(this); obj.text(jQuery('.qc_menu_list_container .qcld-chatbot-form[data-form="'+obj.attr('data-form')+'"]').text()); }) setTimeout(function(){ if( jQuery('#qc_wpbot_menu_order').length > 0 ){ jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); } }, 2000) jQuery('.qc_accordion_title').on('click', function(e){ e.preventDefault(); var obj = $(this); jQuery('.qc_accordion_content_third').hide(); if($( "h3[data-accordion='qc_accordion_content_third']" ).find('i').hasClass("fa-minus")){ $( "h3[data-accordion='qc_accordion_content_third']" ).find('i').removeClass("fa-minus"); $( "h3[data-accordion='qc_accordion_content_third']" ).find('i').addClass("fa-plus"); } jQuery('.qc_accordion_content_second').hide(); if($( "h3[data-accordion='qc_accordion_content_second']" ).find('i').hasClass("fa-minus")){ $( "h3[data-accordion='qc_accordion_content_second']" ).find('i').removeClass("fa-minus"); $( "h3[data-accordion='qc_accordion_content_second']" ).find('i').addClass("fa-plus"); } jQuery('.qc_accordion_content_first').hide(); if($( "h3[data-accordion='qc_accordion_content_first']" ).find('i').hasClass("fa-minus")){ $( "h3[data-accordion='qc_accordion_content_first']" ).find('i').removeClass("fa-minus"); $( "h3[data-accordion='qc_accordion_content_first']" ).find('i').addClass("fa-plus"); } setTimeout(function(){ jQuery('.'+obj.attr('data-accordion')).show(); obj.find('i').toggleClass("fa-plus fa-minus"); }, 200) }) $(document).ready(function () { var flieElementOpenAi = document.getElementById("openfileinput"); if(flieElementOpenAi){ $('.error-message').hide(); $('.success-message').hide(); $(".file_form").on('change','#openfileinput',function(){ var file_data = $('#openfileinput').prop('files')[0]; var form_data = new FormData(); form_data.append('file', file_data); form_data.append('action', 'openai_file_upload'); form_data.append('purpose','answers'); $('.success-message').html('File is Proccesing'); $('.success-message').show(); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'post', contentType: false, processData: false, data: form_data, success: function (response) { if(response[0].status == "success"){ // $('.success').html(response.message) $('.success-message').hide(); $('.success-message').html(response[0].message); $('.success-message').show(); setTimeout(function(){ $('.success-message').hide(); },5000); location.reload(); } if(response[0].status === "error"){ //$('.success-message').html(response.message) jQuery('.success-message').hide(); jQuery('.error-message').show(); jQuery('.error-message').html(response[0].message); setTimeout(function(){ jQuery('.error-message').hide(); },5000); location.reload(); } }, }); }); $("#openaiFileList").on('click','.remove_file_openai',function(){ $(this).hide(); var file_id = $('.remove_file_openai').attr('data-id'); jQuery('.error-message').show(); jQuery('.error-message').html(file_id+'is deleting'); setTimeout(function(){ jQuery('.error-message').hide(); },5000); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', dataType: "JSON", data: { action : 'openai_file_delete', file_id: file_id }, success: function (response) { location.reload(); }, }); }); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: "POST", dataType: "JSON", data: { action : 'openai_file_list', }, success: function(res) { if((res.data != undefined)){ data = res.data; let text = ""; data.forEach(itemfunction); function itemfunction(item) { text += ''+item.filename +'' +item.id+'Create FT Model Remove'; } document.getElementById("openaiFileList").innerHTML = text; } } }); $('#openaiFileList').on('click','.create_ft_model_modal',function(){ var ft_id = $(this).attr('data-id'); $('#qcld_openai_ft_fileid').val(ft_id); $('#qcld-ft-modal').modal(); }) $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: "POST", dataType: "JSON", data: { action : 'openai_finetune_list', }, success: function(res) { data = res; let text = ""; data.forEach(itemfunction); function itemfunction(item) { text += ' '+item[0] +' ' +item[1]+' '+item[2]+' '+item[3]+' '+item[4]+' Remove '; } document.getElementById("openaiFTList").innerHTML = text; } }); } $("#wp-chatbot-data_post_converter").on('click','.qcld_convert_data', function(){ var list = $("input[name='wp_chatbot_data_converter_list[]']:checked").map(function () { return this.value; }).get(); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: "POST", dataType: "JSON", data: { action : 'qcld_openai_post_data_converter_count', data: list, }, success: function(res) { location.reload(); } }); }); // $('').on('click', '#save_setting', function(){ // }) var file_save = document.getElementById("save_file_id"); if(file_save){ $('.qcl-openai').on('click', '#save_file_id', function(){ var file_id = $("input[name='file_id']" ).val(); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type:'POST', data: ({action : '',nonce: qcld_gemini_admin_data.ajax_nonce,file_id:file_id}), success: function(data){ $('#result').html(data); location.reload(); } }); }) } var settingsOpenAi = document.getElementById("save_setting"); if(settingsOpenAi){ $('.qcl-openai').on('change','#qcld_openai_prompt', function() { if( ($("[id*='qcld_openai_prompt'] :selected").val()) == 'custom_prompt'){ $('#custom_prompt_wrapper').html(''); }else{ $('#custom_prompt_wrapper').empty('') } }) setTimeout(() => { var custom_promt_value =$("#custom_promt_value").val(); if( $("[id*='qcld_openai_prompt'] :selected").val() == 'custom_prompt' ){ // $("#custom_promt_value").filter('[value=any_command]').prop('selected', true); $('select option[value="custom_prompt"]').attr('selected', 'selected'); // $('select option[value="any_command"]').attr('selected', 'selected'); $('#custom_prompt_wrapper').html(''); $('#qcld_openai_prompt_custom').val(custom_promt_value) } }, 500); $('.qcl-openai').on('change', 'input[name="qcld_openai_system_content_preset"]', function(){ var systemContent = $(this).closest('.qcld-openai-system-preset').find('.qcld-openai-system-preset-value').val(); $('.qcld-openai-system-preset').removeClass('is-selected'); $(this).closest('.qcld-openai-system-preset').addClass('is-selected'); $('#qcld_openai_system_content').val(systemContent).trigger('input'); }); if (!$('input[name="qcld_openai_system_content_preset"]:checked').length) { $('.qcld-openai-system-preset').first().find('input[name="qcld_openai_system_content_preset"]').prop('checked', true).trigger('change'); } $('.qcl-openai').on('input', '#qcld_openai_system_content', function(){ var normalizeSpace = function(str) { return (str || '').replace(/\s+/g, ' ').trim(); }; var currentSystemContent = normalizeSpace($(this).val()); var hasMatchingPreset = false; $('input[name="qcld_openai_system_content_preset"]').each(function(){ var systemContent = normalizeSpace($(this).closest('.qcld-openai-system-preset').find('.qcld-openai-system-preset-value').val()); if (systemContent === currentSystemContent) { $(this).prop('checked', true); $('.qcld-openai-system-preset').removeClass('is-selected'); $(this).closest('.qcld-openai-system-preset').addClass('is-selected'); hasMatchingPreset = true; return false; } }); if (!hasMatchingPreset) { $('input[name="qcld_openai_system_content_preset"]').prop('checked', false); $('.qcld-openai-system-preset').removeClass('is-selected'); } }); $('.qcl-openai').on('click', '#save_setting', function(){ if ($('#is_ai_enabled').is(":checked")){ var is_ai_enabled = 1; }else{ var is_ai_enabled = 0; } if($('#is_ai_only_mode').is(":checked")){ var is_ai_only_mode = 1; }else{ var is_ai_only_mode = 0; } if($('#conversation_continuity').is(":checked")){ var conversation_continuity = 1; }else{ var conversation_continuity = 0; } if($('#is_relevant_enabled').is(":checked")){ var is_relevant_enabled = 1; }else{ var is_relevant_enabled = 0; } if($('#is_page_suggestion_enabled').is(":checked")){ var is_page_suggestion_enabled = 1; }else{ var is_page_suggestion_enabled = 0; } if($('#is_context_awareness_enabled').is(":checked")){ var is_context_awareness_enabled = 1; }else{ var is_context_awareness_enabled = 0; } if($('#is_page_rag_enabled').is(":checked")){ var is_page_rag_enabled = 1; }else{ var is_page_rag_enabled = 0; } if($('#is_stream_enabled').is(":checked")){ var is_stream_enabled = 1; }else{ var is_stream_enabled = 0; } var post_types = $.map($('input[name="site_search_posttypes[]"]:checked'), function(c){return c.value; }); var api_key = $( "input[name='api_key']" ).val(); var openai_engines = $("[id*='openai_engines'] :selected").val(); var qcld_openai_prompt = $("[id*='qcld_openai_prompt'] :selected").val(); var max_tokens = $("input[name='max_tokens']" ).val(); var file_id = $("input[name='file_id']" ).val(); var temperature = $("input[name='temperature']" ).val(); var presence_penalty = $("input[name='presence_penalty']" ).val(); var openai_exclude_keyword = jQuery('#qcld_openai_exclude_keyword').val(); var openai_include_keyword = jQuery('#qcld_openai_include_keyword').val(); var qcld_openai_system_content = jQuery('#qcld_openai_system_content').val(); var qcld_openai_append_content = jQuery('#qcld_openai_append_content').val(); if(qcld_openai_prompt == "custom_prompt"){ var qcld_openai_prompt_custom = $("#qcld_openai_prompt_custom").val(); } var frequency_penalty = $("input[name='frequency_penalty']" ).val(); var openai_post_type = $("input[name='site_search_posttypes[]']:checked").map(function () { return this.value; }).get(); Swal.fire({ html: '
', allowOutsideClick: false, allowEscapeKey: false, showConfirmButton: false, background: 'transparent', customClass: { popup: 'qcld-swal-loading-only' } }); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type:'POST', data: ({action : 'openai_settings_option',nonce: qcld_gemini_admin_data.ajax_nonce,api_key: api_key,openai_engines:openai_engines,qcld_openai_prompt: qcld_openai_prompt,max_tokens:max_tokens,file_id:file_id,temperature:temperature,presence_penalty:presence_penalty,frequency_penalty:frequency_penalty,qcld_openai_prompt_custom: qcld_openai_prompt_custom,openai_exclude_keyword:openai_exclude_keyword,is_relevant_enabled:is_relevant_enabled,openai_include_keyword:openai_include_keyword,ai_enabled:is_ai_enabled,is_page_suggestion_enabled:is_page_suggestion_enabled,is_context_awareness_enabled:is_context_awareness_enabled,qcld_openai_system_content:qcld_openai_system_content,qcld_openai_append_content:qcld_openai_append_content,ai_only_mode: is_ai_only_mode,conversation_continuity:conversation_continuity,openai_post_type:openai_post_type,is_page_rag_enabled:is_page_rag_enabled,is_stream_enabled:is_stream_enabled}), success: function(data){ $('#result').html(data); if(data.icon == "success"){ var color = "color: green"; }else if(data.icon == "error"){ var color = "color: red"; } Swal.fire({ title: 'Your settings are saved.', html: '

Please clear your browser cache and cookies both and reload the front end before testing. Alternatively, you can launch a new browser window in Incognito/Private mode (Ctrl+Shift+N in chrome) to test.

'+ data.msg+'

', width: 450, icon: 'success', confirmButtonText: 'Got it', confirmButtonWidth: 100, confirmButtonClass: 'btn btn-lg' }).then((result) => { if (result.isConfirmed) { $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: { action: 'update_settings_option', nonce: qcld_gemini_admin_data.ajax_nonce, disable_ss: 1 }, }); } }); } }); }) //Additional Code - 04-12-2023 //For AI Enabled + Site Search Disabling $('.qcl-openai').on('click', '#save_setting_disable_ss', function(){ console.log($('#conversation_continuity').is(":checked")) if ($('#is_ai_enabled').is(":checked")){ var is_ai_enabled = 1; }else{ var is_ai_enabled = 0; } if($('#is_ai_only_mode').is(":checked")){ var is_ai_only_mode = 1; }else{ var is_ai_only_mode = 0; } if($('#conversation_continuity').is(":checked")){ var conversation_continuity = 1; }else{ var conversation_continuity = 0; } console.log(conversation_continuity) if($('#is_relevant_enabled').is(":checked")){ var is_relevant_enabled = 1; }else{ var is_relevant_enabled = 0; } if($('#is_page_suggestion_enabled').is(":checked")){ var is_page_suggestion_enabled = 1; }else{ var is_page_suggestion_enabled = 0; } if($('#is_context_awareness_enabled').is(":checked")){ var is_context_awareness_enabled = 1; }else{ var is_context_awareness_enabled = 0; } var api_key = $( "input[name='api_key']" ).val(); var openai_engines = $("[id*='openai_engines'] :selected").val(); var qcld_openai_prompt = $("[id*='qcld_openai_prompt'] :selected").val(); var max_tokens = $("input[name='max_tokens']" ).val(); var file_id = $("input[name='file_id']" ).val(); var temperature = $("input[name='temperature']" ).val(); var presence_penalty = $("input[name='presence_penalty']" ).val(); var openai_exclude_keyword = jQuery('#qcld_openai_exclude_keyword').val(); var openai_include_keyword = jQuery('#qcld_openai_include_keyword').val(); if(qcld_openai_prompt == "custom_prompt"){ var qcld_openai_prompt_custom = $("#qcld_openai_prompt_custom").val(); } var frequency_penalty = $("input[name='frequency_penalty']" ).val(); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type:'POST', data: ({action : 'openai_settings_option',nonce: qcld_gemini_admin_data.ajax_nonce,api_key: api_key,openai_engines:openai_engines,qcld_openai_prompt: qcld_openai_prompt,max_tokens:max_tokens,file_id:file_id,temperature:temperature,presence_penalty:presence_penalty,frequency_penalty:frequency_penalty,qcld_openai_prompt_custom: qcld_openai_prompt_custom,openai_exclude_keyword:openai_exclude_keyword,is_relevant_enabled:is_relevant_enabled,openai_include_keyword:openai_include_keyword,ai_enabled:is_ai_enabled,is_page_suggestion_enabled:is_page_suggestion_enabled,is_context_awareness_enabled:is_context_awareness_enabled,ai_only_mode: is_ai_only_mode,conversation_continuity:conversation_continuity, disable_ss: 1,openai_post_type:post_types}), success: function(data){ $('#result').html(data); location.reload(); } }); }) //Additional Code - 04-12-2023 ends here } var settingsRag = document.getElementById("save_rag_setting"); if (settingsRag) { $('.qcl-openai').on('change', '.rag_auto_sync_enabled', function () { $('.rag_auto_sync_enabled').prop('checked', this.checked); }); $('.qcl-openai').on('click', '#save_rag_setting', function () { var rag_embed_pages = $('#rag_embed_pages').is(':checked') ? 1 : 0; var rag_embed_posts = $('#rag_embed_posts').is(':checked') ? 1 : 0; var rag_auto_sync_enabled = $('.rag_auto_sync_enabled').first().is(':checked') ? 1 : 0; var rag_embed_str = $('#rag_embed_str').is(':checked') ? 1 : 0; var rag_embed_cpts = []; $('.rag_embed_cpts_checkbox:checked').each(function() { rag_embed_cpts.push($(this).val()); }); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: ({ action: 'qcld_rag_settings_option', nonce: qcld_gemini_admin_data.ajax_nonce, rag_embed_pages: rag_embed_pages, rag_embed_posts: rag_embed_posts, rag_auto_sync_enabled: rag_auto_sync_enabled, rag_embed_str: rag_embed_str, rag_embed_cpts: rag_embed_cpts }), success: function (data) { $('#result').html(data); Swal.fire({ title: 'Your settings are saved.', html: '

Please clear your browser cache and cookies both and reload the front end before testing. Alternatively, you can launch a new browser window in Incognito/Private mode (Ctrl+Shift+N in chrome) to test.

', width: 450, icon: 'success', confirmButtonText: 'Got it', confirmButtonWidth: 100, confirmButtonClass: 'btn btn-lg' }).then((result) => { if (result.isConfirmed) { $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: { action: '', nonce: qcld_gemini_admin_data.ajax_nonce, disable_ss: 1 }, }); } }); location.reload(); } }); }) $('.qcl-openai').on('click', '#rag_embed_btn', function (e) { e.preventDefault(); var btn = $(this); var originalText = btn.text(); btn.text('Saving settings...'); var rag_embed_pages = $('#rag_embed_pages').is(':checked') ? 1 : 0; var rag_embed_posts = $('#rag_embed_posts').is(':checked') ? 1 : 0; var rag_auto_sync_enabled = $('.rag_auto_sync_enabled').first().is(':checked') ? 1 : 0; var rag_embed_str = $('#rag_embed_str').is(':checked') ? 1 : 0; var rag_embed_cpts = []; $('.rag_embed_cpts_checkbox:checked').each(function() { rag_embed_cpts.push($(this).val()); }); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: ({ action: 'qcld_rag_settings_option', nonce: qcld_gemini_admin_data.ajax_nonce, rag_embed_pages: rag_embed_pages, rag_embed_posts: rag_embed_posts, rag_auto_sync_enabled: rag_auto_sync_enabled, rag_embed_str: rag_embed_str, rag_embed_cpts: rag_embed_cpts }), success: function (data) { console.log(data); btn.text('Embedding...'); $('#rag_embed_form').submit(); } }); }) // Delete Document $('.qcl-openai').on('click', '.rag-delete-doc', function () { var id = $(this).data('id'); Swal.fire({ title: 'Are you sure?', text: "You won't be able to revert this!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Yes, delete it!' }).then((result) => { if (result.isConfirmed) { $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: { action: 'qcld_rag_delete_document', nonce: qcld_gemini_admin_data.ajax_nonce, id: id }, success: function (res) { if (res.success) { $('#rag-doc-' + id).remove(); Swal.fire('Deleted!', res.data, 'success'); } else { Swal.fire('Error', res.data, 'error'); } } }); } }) }); // Select All Checkbox $('.qcl-openai').on('change', '#rag-select-all', function() { $('.rag-doc-checkbox').prop('checked', $(this).prop('checked')); }); // Bulk Actions (Apply) $('.qcl-openai').on('click', '#rag-apply-bulk-action', function() { var action = $('#rag-bulk-action-selector').val(); if (action !== 'delete') { Swal.fire('Info', 'Please select a valid bulk action.', 'info'); return; } var selectedIds = []; $('.rag-doc-checkbox:checked').each(function() { selectedIds.push($(this).val()); }); if (selectedIds.length === 0) { Swal.fire('Warning', 'Please select at least one document.', 'warning'); return; } Swal.fire({ title: 'Are you sure?', text: "Delete " + selectedIds.length + " selected documents? This cannot be undone!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Yes, delete selected!' }).then((result) => { if (result.isConfirmed) { $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: { action: 'qcld_rag_bulk_delete_documents', nonce: qcld_gemini_admin_data.ajax_nonce, ids: selectedIds }, success: function(res) { if (res.success) { selectedIds.forEach(function(id) { $('#rag-doc-' + id).remove(); }); $('#rag-select-all').prop('checked', false); $('#rag-bulk-action-selector').val('-1'); Swal.fire('Deleted!', res.data, 'success'); } else { Swal.fire('Error', res.data, 'error'); } } }); } }); }); // Delete All Documents $('.qcl-openai').on('click', '#rag-delete-all', function() { Swal.fire({ title: 'CRITICAL WARNING!', text: "This will delete ALL documents in your Knowledge Base. This action is IRREVERSIBLE!", icon: 'error', showCancelButton: true, confirmButtonColor: '#d33', cancelButtonColor: '#3085d6', confirmButtonText: 'YES, DELETE EVERYTHING!' }).then((result) => { if (result.isConfirmed) { $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: { action: 'qcld_rag_delete_all_documents', nonce: qcld_gemini_admin_data.ajax_nonce }, success: function(res) { if (res.success) { $('#rag-knowledge-base-list').html('No documents found in knowledge base.'); $('#rag-select-all').prop('checked', false); Swal.fire('Cleared!', res.data, 'success'); } else { Swal.fire('Error', res.data, 'error'); } } }); } }); }); // Edit Document - Open Modal $('.qcl-openai').on('click', '.rag-edit-doc', function () { var id = $(this).data('id'); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: { action: 'qcld_rag_get_document', nonce: qcld_gemini_admin_data.ajax_nonce, id: id }, success: function (res) { if (res.success) { $('#edit-doc-id').val(res.data.id); $('#edit-doc-title').val(res.data.title); $('#edit-doc-content').val(res.data.content); $('#rag-edit-modal').show(); } else { Swal.fire('Error', res.data, 'error'); } } }); }); // Close Edit Modal $(document).on('click', '#close-edit-modal', function () { $('#rag-edit-modal').hide(); }); // Manual Sync Document $(document).on('click', '.rag-sync-doc', function(e) { e.preventDefault(); var btn = $(this); var docId = btn.data('id'); if (!confirm('Are you sure you want to re-sync this document from its source?')) { return; } btn.prop('disabled', true).text('Syncing...'); $.post(qcld_gemini_admin_data.ajax_url, { action: 'qcld_rag_manual_sync', nonce: qcld_gemini_admin_data.ajax_nonce, id: docId }, function(response) { btn.prop('disabled', false).text('Sync'); if (response.success) { alert(response.data.message); location.reload(); } else { alert('Error: ' + response.data.message); } }); }); // Save Edit Document $(document).on('click', '#save-edit-doc', function () { var id = $('#edit-doc-id').val(); var title = $('#edit-doc-title').val(); var content = $('#edit-doc-content').val(); var btn = $(this); btn.prop('disabled', true).text('Saving...'); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: { action: 'qcld_rag_update_document', nonce: qcld_gemini_admin_data.ajax_nonce, id: id, title: title, content: content }, success: function (res) { btn.prop('disabled', false).text('Save Changes'); if (res.success) { $('#rag-edit-modal').hide(); Swal.fire('Updated!', res.data, 'success').then(() => { location.reload(); }); } else { Swal.fire('Error', res.data, 'error'); } } }); }); } // Delete Document $('.qcl-openai').on('click', '.rag-delete-doc', function () { var id = $(this).data('id'); Swal.fire({ title: 'Are you sure?', text: "You won't be able to revert this!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Yes, delete it!' }).then((result) => { if (result.isConfirmed) { $.ajax({ url: qcld_gemini_admin_data.ajax_url, type: 'POST', data: { action: 'qcld_rag_delete_document', nonce: qcld_gemini_admin_data.ajax_nonce, id: id }, success: function (res) { if (res.success) { $('#rag-doc-' + id).remove(); Swal.fire('Deleted!', res.data, 'success'); } else { Swal.fire('Error', res.data, 'error'); } } }); } }) }); $('.qcl-openai').on('click', '#qcld_check_connection', function(){ jQuery('#rotationloader').css('display','inline-block'); $.ajax({ url: qcld_gemini_admin_data.ajax_url, type:'POST', data: ({action : 'openai_troubleshooting',nonce:qcld_gemini_admin_data.ajax_nonce}), success: function(data){ $('#result').html(data); Swal.fire({ title: data.title, html: data.msg, width: 450, icon: data.icon, confirmButtonText: 'Got it', customClass: 'connection-modal', }) jQuery('#rotationloader').css('display','none'); // location.reload(); } }); }) $(document).on('click', '.ai-provider-card', function () { var selected = $(this).data('provider'); console.log('Provider changed to: ' + selected); $('.ai-provider-card').removeClass('active'); $(this).addClass('active'); $('#ai-provider-selector').val(selected); $('.ai-settings-provider').hide(); $('#' + selected + '-settings').show(); $('#rag-settings').hide(); // Ensure RAG is hidden when switching providers }); // Avatar Location card click handler $(document).on('click', '.avatar-location-card', function () { var location = $(this).data('location'); $('.avatar-location-card').removeClass('active'); $(this).addClass('active'); $('#qcld-avatar-location').val(location); }); if (window.location.hash.indexOf('#ai-knowledge-base-tab') === 0) { $('.ai-settings-provider').hide(); $('#rag-settings').show(); } $('#ai-knowledge-base-tab').on('click', function (e) { e.preventDefault(); $('.ai-settings-provider').hide(); $('#rag-settings').show(); if (history.pushState) { history.pushState(null, null, '#ai-knowledge-base-tab'); } }); // common Ai settings tab $('#qcld-common-ai-settings').on('click', function (e) { e.preventDefault(); $('.ai-settings-provider').hide(); $('#common-ai-settings').show(); if (history.pushState) { history.pushState(null, null, '#common-ai-settings'); } }); $('#ai-knowledge-base-tab-openai').on('click', function (e) { e.preventDefault(); $('.ai-settings-provider').hide(); $('#rag-settings').show(); if (history.pushState) { history.pushState(null, null, '#ai-knowledge-base-tab'); } }); }); $(document).on('click', '.qcld_botopenai_generate_image', function (e) { var qcld_seo_button = $(this); var qcld_seo_prompt = $('#prompt').val(); var qcld_seo_artist = $('#artist').val(); var qcld_seo_art_style = $('#art_style').val(); var qcld_seo_photography_style = $('#photography_style').val(); var qcld_seo_lighting = $('#lighting').val(); var qcld_seo_subject = $('#subject').val(); var qcld_seo_camera_settings = $('#camera_settings').val(); var qcld_seo_composition = $('#composition').val(); var qcld_seo_resolution = $('#resolution').val(); var qcld_seo_color = $('#color').val(); var qcld_seo_special_effects = $('#special_effects').val(); var qcld_seo_img_size = $('#img_size').val(); var qcld_seo_num_images = $('#num_images').val(); if(qcld_seo_prompt === ''){ alert('Something went wrong'); }else{ var qcld_seo_post_status = $('.qcld_seo-post-status:checked').val(); var qcld_seo_schedule = $('.qcld_seo-schedule-post').val(); var data = { qcld_seo_prompt: qcld_seo_prompt, qcld_seo_artist: qcld_seo_artist, qcld_seo_art_style: qcld_seo_art_style, qcld_seo_photography_style: qcld_seo_photography_style, qcld_seo_lighting: qcld_seo_lighting, qcld_seo_subject: qcld_seo_subject, qcld_seo_camera_settings: qcld_seo_camera_settings, qcld_seo_composition: qcld_seo_composition, qcld_seo_resolution: qcld_seo_resolution, qcld_seo_color: qcld_seo_color, qcld_seo_special_effects: qcld_seo_special_effects, qcld_seo_img_size: qcld_seo_img_size, qcld_seo_num_images: qcld_seo_num_images, action: 'qcld_openai_image_generate', nonce: qcld_gemini_admin_data.ajax_url, }; $.ajax({ url: qcld_gemini_admin_data.ajax_url, data: data, type: 'POST', dataType: 'JSON', beforeSend: function(){ qcld_seo_button.attr('disabled','disabled'); qcld_seo_button.append(''); qcld_seo_button.find('.spinner').css('visibility','unset'); }, success: function (res){ qcld_seo_button.removeAttr('disabled'); qcld_seo_button.find('.spinner').remove(); if(res.status === 'success'){ // window.location.href = qcld_seo_bulk_content + '&qcld_seo_track='+res.id $('#qcld_seo-tab-generated-text').html( res.html ); } else{ alert('Something went wrong'); } }, error: function (){ qcld_seo_button.removeAttr('disabled'); qcld_seo_button.find('.spinner').remove(); alert('Something went wrong'); } }) } }); $(document).on('click', '.qcld_botopenai_generate_image_download', function (e) { e.preventDefault(); var url = $(this).find("img").attr('src'); console.log(url) var qcld_seo_button = $(this); var image_url = $(this).find('img').attr('src'); var image_page_url = $(this).find('img').attr('src'); var photographer = $(this).find('img').data('photographer'); var q = ''; var data = { qcld_seo_openai_images_upload : "1", image_url : image_url, image_src_page : image_page_url, image_user : photographer, q : q, action : 'qcld_openai_image_generate_url' }; $.ajax({ url: qcld_gemini_admin_data.ajax_url, data: data, type: 'POST', dataType: 'JSON', beforeSend: function(){ qcld_seo_button.removeAttr('disabled').removeClass("uploading").find('.qcld_seo_msg').remove(); qcld_seo_button.attr('disabled','disabled'); qcld_seo_button.addClass('uploading').find('.qcld_seo_download img').replaceWith(''); }, success: function ( res ){ console.log(res.data.html); qcld_seo_button.find('.qcld_seo_download img').replaceWith('

'+res.data.html+'

' ); const newBlock = wp.blocks.createBlock( "core/image", { id: res.data.attachment_id, url: res.data.url, width: res.data.width, height: res.data.height, sizeSlug: res.data.size, alt: '', title: '', caption: '', }); wp.data.dispatch("core/editor").insertBlocks(newBlock); }, error: function (){ qcld_seo_button.removeAttr('disabled'); } }) }); $(document).on('click','#qcld_article_keyword_suggestion',function(e){ var qcld_keyword_suggestion = $('#qcld_article_keyword_suggestion_mf').val(); var qcld_keyword_number = $('#qcld_keyword_number').val(); var qcld_article_language = $('#qcld_article_language').val(); var qcld_article_number_of_heading = $('#qcld_article_number_of_heading').val(); var qcld_article_heading_tag = $('#qcld_article_heading_tag').val(); var qcld_article_heading_style = $('#qcld_article_heading_style').val(); var qcld_article_heading_tone = $('#qcld_article_heading_tone').val(); var qcld_article_heading_img = $('#qcld_article_heading_img').val(); var qcld_article_heading_img = $("input[name=qcld_article_heading_img]:checked").val(); var qcld_article_heading_tagline = $("input[name=qcld_article_heading_tagline]:checked").val(); var qcld_article_heading_intro = $("input[name=qcld_article_heading_intro]:checked").val(); var qcld_article_heading_conclusion = $("input[name=qcld_article_heading_conclusion]:checked").val(); var qcld_article_label_anchor_text = $('#qcld_article_label_anchor_text').val(); var qcld_article_target_url = $('#qcld_article_target_url').val(); var qcld_article_target_label_cta = $('#qcld_article_target_label_cta').val(); var qcld_article_cta_pos = $('#qcld_article_cta_pos').val(); var qcld_article_label_keywords = $('#qcld_article_label_keywords').val(); var qcld_article_label_word_to_avoid= $('#qcld_article_label_word_to_avoid').val(); var qcld_article_label_keywords_bold= $("input[name=qcld_article_label_keywords_bold]:checked").val(); var qcld_article_heading_faq = $("input[name=qcld_article_heading_faq]:checked").val(); var qcld_article_img_size = $('#qcld_article_img_size').val(); $('#qcld_article_keyword_suggestion').addClass('spinning'); $('#qcld_article_keyword_suggestion').prop("disabled",true); $('#linkbait_article_keyword_data').html(''); $.ajax({ url: qcld_gemini_admin_data.ajax_url, method: 'POST', data: { 'action': 'openai_keyword_suggestion_content', 'keyword' : qcld_keyword_suggestion, 'keyword_number' : qcld_keyword_number, 'qcld_article_language' : qcld_article_language, 'qcld_article_number_of_heading' : qcld_article_number_of_heading, 'qcld_article_heading_tag' : qcld_article_heading_tag, 'qcld_article_heading_style' : qcld_article_heading_style, 'qcld_article_heading_tone' : qcld_article_heading_tone, 'qcld_article_heading_img' : qcld_article_heading_img, 'qcld_article_heading_tagline' : qcld_article_heading_tagline, 'qcld_article_heading_intro' : qcld_article_heading_intro, 'qcld_article_heading_conclusion' : qcld_article_heading_conclusion, 'qcld_article_label_anchor_text' : qcld_article_label_anchor_text, 'qcld_article_target_url' : qcld_article_target_url, 'qcld_article_target_label_cta' : qcld_article_target_label_cta, 'qcld_article_cta_pos' : qcld_article_cta_pos, 'qcld_article_label_keywords' : qcld_article_label_keywords, 'qcld_article_label_word_to_avoid': qcld_article_label_word_to_avoid, 'qcld_article_label_keywords_bold': qcld_article_label_keywords_bold, 'qcld_article_heading_faq' : qcld_article_heading_faq, 'qcld_article_img_size' : qcld_article_img_size, //'selectedlanguage': selectedlanguage, }, dataType: 'json', success: function(response) { //$('#linkbait_keyword_data').append(response.keywords); $('#qcld_article_keyword_suggestion').prop("disabled",false); $('#qcld_article_keyword_suggestion').removeClass('spinning'); $('#linkbait_article_keyword_data').html('

'); $('#linkbait_article_keyword_data').append('
' + response.keywords.split(" ").length +'
'); $('#qcld_content_result_msg').focus(); $('#qcld_content_result_msg').focusout(); } }); }); $(document).on('click', '.ai-provider-card', function() { var selected = $(this).data('provider'); $('.ai-provider-card').removeClass('active'); $(this).addClass('active'); $('#ai-provider-selector').val(selected); $('.ai-settings-provider').hide(); $('#' + selected + '-settings').show(); }); $('#is_rate_limiting_enabled').on('change', function () { if ($(this).is(":checked")) { $('#rate_limit_settings').show(); $('.rate-limit-input').prop('disabled', false); $('.rate-limit-timeframe').prop('disabled', false); } else { $('#rate_limit_settings').hide(); $('.rate-limit-input').prop('disabled', true); $('.rate-limit-timeframe').prop('disabled', true); } }); $('.qcl-openai').on('click', '#qcld_openai_rate_limit_save_setting', function () { console.log('Saving rate limit settings...'); if ($('#is_rate_limiting_enabled').is(":checked")) { var is_rate_limiting_enabled = 1; } else { var is_rate_limiting_enabled = 0; } var rate_limits = {}; var rate_limit_timeframes = {}; // Collect rate limits for each role $('.rate-limit-input').each(function () { var role = $(this).attr('id').replace('rate_limit_', ''); var limit = $(this).val(); rate_limits[role] = limit; rate_limit_timeframes[role] = $('#rate_limit_timeframe_' + role).val(); }); $.ajax({ url: ajax_object.ajax_url, type: 'POST', data: ({ action: 'rate_limit_settings_option', nonce: ajax_object.ajax_nonce, is_rate_limiting_enabled: is_rate_limiting_enabled, rate_limits: rate_limits, rate_limit_timeframes: rate_limit_timeframes }), success: function (data) { $('#result').html(data); Swal.fire({ title: 'Your settings are saved.', html: '

Please clear your browser cache and cookies both and reload the front end before testing. Alternatively, you can launch a new browser window in Incognito/Private mode (Ctrl+Shift+N in chrome) to test.

', width: 450, icon: 'success', confirmButtonText: 'Got it', confirmButtonWidth: 100, confirmButtonClass: 'btn btn-lg' }) // location.reload(); } }); }) }); document.addEventListener('DOMContentLoaded', function() { if(localStorage.getItem('qcld_general_settings_notice_closed') === '1') { var notice = document.querySelector('.qcld-general-settings-connection-notic'); if(notice) notice.style.display = 'none'; } }); function qcld_wpbot_languageChange_from_center(langCode) { switch (langCode) { case "not_mine": setTimeout(() => { jQuery("#waring-message").show() jQuery("#waring-message").html(' ** Please change the texts below to your language manually so that the ChatBot can speak in your language
') }, 500); break; default: setTimeout(() => { jQuery("#waring-message").hide() }, 500); jQuery.ajax({ url: qcld_gemini_admin_data.ajax_url, // e.g., 'wp-admin/admin-ajax.php' type: 'POST', data: { 'action': 'qcld_change_language_from_center', 'language' : langCode, 'nonce': qcld_gemini_admin_data.ajax_nonce, // Include nonce for security },// Expecting JSON response from PHP }) .done(function(response) { // If PHP returns a JSON object if (response.success === false || response.error) { } else { jQuery.each( response.data.data, function(key, value) { if (Array.isArray( value )) { const textareas = jQuery('.wp-chatbot-lng-items').find('input[name="' + key + '[]"]'); textareas.each(function(index) { if (index < value.length) { jQuery(this).val(value[index]); } }); }else{ jQuery('input[name="' + key + '"]').val(value); } }); jQuery("#submit-language").click(); // processResponse(response.data); } }) .fail(function(jqXHR, textStatus, errorThrown) { console.error('AJAX Fail:', textStatus, errorThrown); }); } }