| 1 |
jQuery(function ($) { |
| 2 |
|
| 3 |
$(document).ready(function () { |
| 4 |
|
| 5 |
var sbdstoredNoticeId = localStorage.getItem('qcld_wpbot_Notice_set'); |
| 6 |
var qcld_chatbot_Notice_time_set = localStorage.getItem('qcld_wpbot_Notice_time_set'); |
| 7 |
var notice_current_time = Math.round(new Date().getTime() / 1000); |
| 8 |
if ('promotion-wpchatbot' == sbdstoredNoticeId && qcld_chatbot_Notice_time_set > notice_current_time ) { |
| 9 |
$('#promotion-wpchatbot').css({'display': 'none'}); |
| 10 |
} |
| 11 |
$(document).on('click', '#promotion-wpchatbot .notice-dismiss', function(e){ |
| 12 |
var currentDom = $(this); |
| 13 |
var currentWrap = currentDom.closest('.notice'); |
| 14 |
currentWrap.css({'display': 'none'}); |
| 15 |
localStorage.setItem('qcld_wpbot_Notice_set', 'promotion-wpchatbot'); |
| 16 |
var ts = Math.round(new Date().getTime() / 1000); |
| 17 |
var tsYesterday = ts + (24 * 3600); |
| 18 |
localStorage.setItem('qcld_wpbot_Notice_time_set', tsYesterday); |
| 19 |
}); |
| 20 |
|
| 21 |
|
| 22 |
[].slice.call(document.querySelectorAll('.wp-chatbot-tabs')).forEach(function (el) { |
| 23 |
|
| 24 |
new CBPFWTabs(el); |
| 25 |
|
| 26 |
}); |
| 27 |
|
| 28 |
if(localStorage.getItem('tabData')){ |
| 29 |
|
| 30 |
$(".content-wrap section").removeClass('content-current'); |
| 31 |
|
| 32 |
$(".wp-chatbot-tabs nav ul li").each(function (index, elm) { |
| 33 |
|
| 34 |
if(localStorage.getItem('tabData')==$(this).attr('tab-data')){ |
| 35 |
|
| 36 |
$(this).addClass('tab-current'); |
| 37 |
|
| 38 |
$(".content-wrap section").eq(index).addClass('content-current'); |
| 39 |
|
| 40 |
}else{ |
| 41 |
|
| 42 |
$(this).removeClass('tab-current'); |
| 43 |
|
| 44 |
} |
| 45 |
|
| 46 |
}) |
| 47 |
|
| 48 |
/*$(".content-wrap section").each(function (el) { |
| 49 |
|
| 50 |
|
| 51 |
|
| 52 |
});*/ |
| 53 |
|
| 54 |
} |
| 55 |
|
| 56 |
$(".wp-chatbot-tabs nav ul li a ").on('click',function () { |
| 57 |
|
| 58 |
// Remove others tab and contents |
| 59 |
|
| 60 |
$(".wp-chatbot-tabs nav ul li").removeClass('tab-current'); |
| 61 |
|
| 62 |
$(".content-wrap section").removeClass('content-current'); |
| 63 |
|
| 64 |
// add current tab and contents |
| 65 |
|
| 66 |
$(this).parent().addClass('tab-current'); |
| 67 |
|
| 68 |
$(".content-wrap section").eq($(".wp-chatbot-tabs nav ul li a ").index(this)).addClass('content-current'); |
| 69 |
|
| 70 |
//Change action url , set add localStorge and url change. |
| 71 |
|
| 72 |
$('#wp-chatbot-admin-form').attr('action',$(this).attr('href')); |
| 73 |
|
| 74 |
localStorage.setItem('tabData',$(this).parent().attr('tab-data')); |
| 75 |
|
| 76 |
window.history.pushState("changeUrl", "wpwBot", $(this).attr('href')); |
| 77 |
|
| 78 |
|
| 79 |
|
| 80 |
}); |
| 81 |
$('.wp-chatbot-hours input').timepicker({ 'timeFormat': 'H:i' }); |
| 82 |
//Drag and drop support builders |
| 83 |
$('#wp-chatbot-support-builder').sortable({ |
| 84 |
cursor: 'move', |
| 85 |
revert: true, |
| 86 |
start: function (e, ui) { |
| 87 |
$(ui.item).find('textarea').each(function () { |
| 88 |
tinymce.execCommand('mceRemoveEditor', false, $(this).attr('id')); |
| 89 |
}); |
| 90 |
}, |
| 91 |
stop: function (e, ui) { |
| 92 |
$(ui.item).find('textarea').each(function () { |
| 93 |
tinymce.execCommand('mceAddEditor', true, $(this).attr('id')); |
| 94 |
}); |
| 95 |
} |
| 96 |
}); |
| 97 |
$("#wp-chatbot-support-builder" ).disableSelection(); |
| 98 |
|
| 99 |
$('#wp_chatbot_floatingiconbg_color').wpColorPicker(); |
| 100 |
if( (document.getElementById('skip_wp_greetings') != null)){ |
| 101 |
|
| 102 |
if (document.getElementById('ask_email_wp_greetings') != null) { |
| 103 |
if (document.getElementById('skip_wp_greetings').checked || document.getElementById('skip_wp_greetings_donot_show_menu').checked) { |
| 104 |
document.getElementById("ask_email_wp_greetings").checked = false; |
| 105 |
document.getElementById("ask_email_wp_greetings").disabled = true; |
| 106 |
} |
| 107 |
} |
| 108 |
if (document.getElementById('enable_asking_for_email') != null) { |
| 109 |
if (document.getElementById('skip_wp_greetings').checked || document.getElementById('skip_wp_greetings_donot_show_menu').checked) { |
| 110 |
document.getElementById("enable_asking_for_email").checked = false; |
| 111 |
document.getElementById("enable_asking_for_email").disabled = true; |
| 112 |
} |
| 113 |
} |
| 114 |
|
| 115 |
document.getElementById('skip_wp_greetings').addEventListener('change', (event) => { |
| 116 |
if (event.currentTarget.checked) { |
| 117 |
document.getElementById("skip_wp_greetings_donot_show_menu").checked = false; |
| 118 |
document.getElementById("show_menu_after_greetings").checked = false; |
| 119 |
var intetns = document.getElementsByClassName("qc_wp_intent_select"); |
| 120 |
Array.prototype.map.call(intetns, (x) => x.style = "display:none" ) |
| 121 |
if (document.getElementById("ask_email_wp_greetings") != null) { |
| 122 |
document.getElementById("ask_email_wp_greetings").checked = false; |
| 123 |
document.getElementById("ask_email_wp_greetings").disabled = true; |
| 124 |
} |
| 125 |
if (document.getElementById("enable_asking_for_email") != null) { |
| 126 |
document.getElementById("enable_asking_for_email").checked = false; |
| 127 |
document.getElementById("enable_asking_for_email").disabled = true; |
| 128 |
} |
| 129 |
} else { |
| 130 |
if (document.getElementById("ask_email_wp_greetings") != null && !document.getElementById("skip_wp_greetings_donot_show_menu").checked) { |
| 131 |
document.getElementById("ask_email_wp_greetings").disabled = false; |
| 132 |
} |
| 133 |
if (document.getElementById("enable_asking_for_email") != null && !document.getElementById("skip_wp_greetings_donot_show_menu").checked) { |
| 134 |
document.getElementById("enable_asking_for_email").disabled = false; |
| 135 |
} |
| 136 |
} |
| 137 |
}) |
| 138 |
document.getElementById('skip_wp_greetings_donot_show_menu').addEventListener('change', (event) => { |
| 139 |
if (event.currentTarget.checked) { |
| 140 |
document.getElementById("skip_wp_greetings").checked = false; |
| 141 |
document.getElementById("show_menu_after_greetings").checked = false; |
| 142 |
var intetns = document.getElementsByClassName("qc_wp_intent_select"); |
| 143 |
Array.prototype.map.call(intetns, (x) => x.style = "display:none" ) |
| 144 |
if (document.getElementById("ask_email_wp_greetings") != null) { |
| 145 |
document.getElementById("ask_email_wp_greetings").checked = false; |
| 146 |
document.getElementById("ask_email_wp_greetings").disabled = true; |
| 147 |
} |
| 148 |
if (document.getElementById("enable_asking_for_email") != null) { |
| 149 |
document.getElementById("enable_asking_for_email").checked = false; |
| 150 |
document.getElementById("enable_asking_for_email").disabled = true; |
| 151 |
} |
| 152 |
} else { |
| 153 |
if (document.getElementById("ask_email_wp_greetings") != null && !document.getElementById("skip_wp_greetings").checked) { |
| 154 |
document.getElementById("ask_email_wp_greetings").disabled = false; |
| 155 |
} |
| 156 |
if (document.getElementById("enable_asking_for_email") != null && !document.getElementById("skip_wp_greetings").checked) { |
| 157 |
document.getElementById("enable_asking_for_email").disabled = false; |
| 158 |
} |
| 159 |
} |
| 160 |
}) |
| 161 |
document.getElementById('show_menu_after_greetings').addEventListener('change', (event) => { |
| 162 |
if (event.currentTarget.checked) { |
| 163 |
document.getElementById("skip_wp_greetings").checked = false; |
| 164 |
var intetns = document.getElementsByClassName("qc_wp_intent_select"); |
| 165 |
Array.prototype.map.call(intetns, (x) => x.style = "display:none" ) |
| 166 |
document.getElementById("skip_wp_greetings_donot_show_menu").checked = false; |
| 167 |
if (document.getElementById("ask_email_wp_greetings") != null && !document.getElementById("skip_wp_greetings").checked && !document.getElementById("skip_wp_greetings_donot_show_menu").checked) { |
| 168 |
document.getElementById("ask_email_wp_greetings").disabled = false; |
| 169 |
} |
| 170 |
if (document.getElementById("enable_asking_for_email") != null && !document.getElementById("skip_wp_greetings").checked && !document.getElementById("skip_wp_greetings_donot_show_menu").checked) { |
| 171 |
document.getElementById("enable_asking_for_email").disabled = false; |
| 172 |
} |
| 173 |
} |
| 174 |
}) |
| 175 |
|
| 176 |
} |
| 177 |
$('#disable_wp_chatbot_site_search').on('change', function() { |
| 178 |
|
| 179 |
if($(this).is(':checked')) { |
| 180 |
$('#enable_wp_chatbot_post_content').prop('checked', false); |
| 181 |
} |
| 182 |
}); |
| 183 |
jQuery("#qcld-show-more-wrapper-box").on('click','.qcld-show-more-show-more', function () { |
| 184 |
if(jQuery(".qcld-show-more-text").hasClass("qcld-show-more-show-more-height")) { |
| 185 |
jQuery(this).html('<div class="Collapsemore">Collapse Options</div>'); |
| 186 |
} else { |
| 187 |
jQuery(this).html('<div class="Expandmore">Expand for More Options<span>+</span></div>'); |
| 188 |
} |
| 189 |
|
| 190 |
jQuery(".qcld-show-more-text").toggleClass("qcld-show-more-show-more-height"); |
| 191 |
}); |
| 192 |
}); |
| 193 |
|
| 194 |
/* |
| 195 |
|
| 196 |
Support building from admin panel. |
| 197 |
|
| 198 |
*/ |
| 199 |
|
| 200 |
//Add Support query. |
| 201 |
var supportBlocks=$("#add-more-support-query").parent().parent().parent().find('textarea').length; |
| 202 |
$("#add-more-support-query").on('click',function () { |
| 203 |
console.log('blocks :',supportBlocks); |
| 204 |
supportBlocks=parseInt(supportBlocks+1) |
| 205 |
var textarea_id='chatbot-query-builder'+supportBlocks; |
| 206 |
|
| 207 |
var firsBlock='<div class="row">'+ |
| 208 |
|
| 209 |
'<div class="col-xs-12">'+ |
| 210 |
'<button type="button" class="btn btn-danger btn-sm wp-chatbot-remove-support pull-right"><i class="dashicons dashicons dashicons-remove" aria-hidden="true"></i></button>'+ |
| 211 |
|
| 212 |
'<div class="cxsc-settings-blocks">'+ |
| 213 |
|
| 214 |
'<p class="qc-opt-dcs-font qc-opt-dcs-font-faq">FAQ Query </p>'+ |
| 215 |
|
| 216 |
'<input type="text" class="form-control" name="support_query[]" placeholder="FAQ Query">'+ |
| 217 |
|
| 218 |
'<p class="qc-opt-dcs-font"><br><strong>Support answer</strong></p>'+ |
| 219 |
|
| 220 |
'<textarea id="'+textarea_id+'" name="support_ans[]" class="form-control chatbot-query-builder" cols="30" rows="2"></textarea>'+ |
| 221 |
|
| 222 |
'</div>'+ |
| 223 |
|
| 224 |
'</div>'+ |
| 225 |
|
| 226 |
'</div>'; |
| 227 |
|
| 228 |
$(".block-inner").append(firsBlock); |
| 229 |
setTimeout(function (e) { |
| 230 |
//quicktags({id : ed_id,buttons:"strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,dfw"}); |
| 231 |
tinyMCE.execCommand('mceAddEditor', false, textarea_id); |
| 232 |
},500); |
| 233 |
|
| 234 |
}); |
| 235 |
|
| 236 |
//Remove Support query. |
| 237 |
|
| 238 |
$(document).on('click','.wp-chatbot-remove-support',function () { |
| 239 |
|
| 240 |
if(confirm('Are you sure to delete this support query block?')){ |
| 241 |
|
| 242 |
$(this).parent().parent().remove(); |
| 243 |
|
| 244 |
} |
| 245 |
|
| 246 |
}); |
| 247 |
|
| 248 |
|
| 249 |
//for downloading gc-client |
| 250 |
$('#qc_wpbot_gc_download').on('click', function(e){ |
| 251 |
e.preventDefault(); |
| 252 |
$.ajax( |
| 253 |
{ |
| 254 |
type: 'POST', // 'POST' here so that _upload_ progress _also_ makes sense; |
| 255 |
// Change to 'GET' if you need. |
| 256 |
url: qcld_gemini_admin_data.ajax_url, data: { |
| 257 |
'action': 'qcld_wp_chatbot_gc_client_download', |
| 258 |
'nonce': qcld_gemini_admin_data.ajax_nonce, |
| 259 |
}, |
| 260 |
beforeSend: function() |
| 261 |
{ |
| 262 |
$('.qcld_wpbot_download_statuses').append('<p>Downloading...</p>'); |
| 263 |
|
| 264 |
}, |
| 265 |
success: function(data){ |
| 266 |
$('.qcld_wpbot_download_statuses').append('<p>'+data.content+'</p>'); |
| 267 |
if(data.status=='success'){ |
| 268 |
|
| 269 |
$.ajax( |
| 270 |
{ |
| 271 |
type: 'POST', // 'POST' here so that _upload_ progress _also_ makes sense; |
| 272 |
// Change to 'GET' if you need. |
| 273 |
url: qcld_gemini_admin_data.ajax_url, data: { |
| 274 |
'action': 'qcld_wp_chatbot_gc_client_extract', |
| 275 |
'nonce': qcld_gemini_admin_data.ajax_nonce |
| 276 |
}, |
| 277 |
beforeSend: function() |
| 278 |
{ |
| 279 |
$('.qcld_wpbot_download_statuses').append('<p>Extracting files...</p>'); |
| 280 |
|
| 281 |
}, |
| 282 |
success: function(data){ |
| 283 |
$('.qcld_wpbot_download_statuses').append('<p>'+data.content+'</p>'); |
| 284 |
if(data.status=='success'){ |
| 285 |
$('.qcld_wpbot_download_statuses').append('<p>Done.</p>'); |
| 286 |
} |
| 287 |
|
| 288 |
} |
| 289 |
}); |
| 290 |
} |
| 291 |
|
| 292 |
} |
| 293 |
}); |
| 294 |
|
| 295 |
}) |
| 296 |
|
| 297 |
|
| 298 |
/* |
| 299 |
|
| 300 |
Notification building from admin panel. |
| 301 |
|
| 302 |
*/ |
| 303 |
|
| 304 |
//Add Support query. |
| 305 |
var notification_blocks=$(this).parent().parent().parent().find('.notification-block-inner').length; |
| 306 |
$("#add-more-notification-message").on('click',function () { |
| 307 |
notification_blocks=parseInt(notification_blocks+1); |
| 308 |
var notification_text_area_id='notification_text_area_'+notification_blocks; |
| 309 |
tinyMCE.triggerSave(); |
| 310 |
var lastChildVal=$(this).parent().parent().parent().find('.notification-block-inner').children('.row').last().find('textarea').val(); |
| 311 |
|
| 312 |
var firsBlock='<div class="row">'+ |
| 313 |
|
| 314 |
'<div class="col-xs-12">'+ |
| 315 |
|
| 316 |
'<button type="button" class="btn btn-danger btn-sm wp-chatbot-remove-notification pull-right"><i class="dashicons dashicons-remove" aria-hidden="true"></i></button><br>'+ |
| 317 |
|
| 318 |
'<div class="cxsc-settings-blocks">'+ |
| 319 |
|
| 320 |
'<textarea id="'+notification_text_area_id+'" name="qlcd_wp_chatbot_notifications[]" placeholder="Notification Message" class="form-control qlcd_wp_chatbot_notifications" cols="30" rows="2"></textarea>'+ |
| 321 |
|
| 322 |
'</div><br>'+ |
| 323 |
|
| 324 |
'</div>'+ |
| 325 |
|
| 326 |
'</div>'; |
| 327 |
|
| 328 |
if(lastChildVal!=""){ |
| 329 |
|
| 330 |
$(".notification-block-inner").append(firsBlock); |
| 331 |
setTimeout(function (e) { |
| 332 |
//quicktags({id : ed_id,buttons:"strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,dfw"}); |
| 333 |
tinyMCE.execCommand('mceAddEditor', false, notification_text_area_id); |
| 334 |
},500); |
| 335 |
|
| 336 |
} else{ |
| 337 |
|
| 338 |
alert('Please fill up last notification message first'); |
| 339 |
|
| 340 |
} |
| 341 |
}); |
| 342 |
|
| 343 |
//Remove Support query. |
| 344 |
|
| 345 |
$(document).on('click','.wp-chatbot-remove-notification',function () { |
| 346 |
|
| 347 |
if(confirm('Are you sure to delete this support query block?')){ |
| 348 |
|
| 349 |
|
| 350 |
|
| 351 |
var langItems=$(this).parent().parent().parent().children('.row'); |
| 352 |
|
| 353 |
if(langItems.length<=3){ |
| 354 |
|
| 355 |
alert('At least one item is required.'); |
| 356 |
|
| 357 |
}else{ |
| 358 |
|
| 359 |
$(this).parent().parent().remove(); |
| 360 |
|
| 361 |
} |
| 362 |
|
| 363 |
} |
| 364 |
|
| 365 |
}); |
| 366 |
|
| 367 |
/* |
| 368 |
|
| 369 |
Multiple option for Language setting |
| 370 |
|
| 371 |
*/ |
| 372 |
|
| 373 |
|
| 374 |
|
| 375 |
$(document).on('click','.wp-chatbot-lng-item-add',function () { |
| 376 |
|
| 377 |
//checking last input is not empty |
| 378 |
|
| 379 |
var lastChildVal=$(this).parent().parent().parent().find('.wp-chatbot-lng-items').children('.row').last().find('input').val(); |
| 380 |
|
| 381 |
if(lastChildVal!=""){ |
| 382 |
|
| 383 |
var child=$(this).parent().parent().parent().find('.wp-chatbot-lng-items').children('.row').last().clone(); |
| 384 |
|
| 385 |
child.find('input').val(""); |
| 386 |
|
| 387 |
} else{ |
| 388 |
|
| 389 |
alert('Please fill up last item first'); |
| 390 |
|
| 391 |
} |
| 392 |
|
| 393 |
$(this).parent().parent().parent().find('.wp-chatbot-lng-items').append(child); |
| 394 |
|
| 395 |
}); |
| 396 |
|
| 397 |
|
| 398 |
|
| 399 |
$(document).on('click','.wp-chatbot-lng-item-remove',function () { |
| 400 |
|
| 401 |
var langItems=$(this).parent().parent().parent().children('.row'); |
| 402 |
|
| 403 |
if(langItems.length<=1){ |
| 404 |
|
| 405 |
alert('At least one item is required.'); |
| 406 |
|
| 407 |
}else{ |
| 408 |
|
| 409 |
$(this).parent().parent().remove(); |
| 410 |
|
| 411 |
} |
| 412 |
|
| 413 |
|
| 414 |
|
| 415 |
}); |
| 416 |
|
| 417 |
/*** |
| 418 |
|
| 419 |
* wpwBot Theme background |
| 420 |
|
| 421 |
* |
| 422 |
|
| 423 |
*/ |
| 424 |
|
| 425 |
$(document).on('change','#qcld_wb_chatbot_change_bg',function (e) { |
| 426 |
|
| 427 |
if($(this).is(':checked')){ |
| 428 |
|
| 429 |
$('.qcld-wp-chatbot-board-bg-container').show(); |
| 430 |
|
| 431 |
}else{ |
| 432 |
|
| 433 |
$('.qcld-wp-chatbot-board-bg-container').hide(); |
| 434 |
|
| 435 |
} |
| 436 |
|
| 437 |
}); |
| 438 |
|
| 439 |
|
| 440 |
|
| 441 |
//Reset to defualt all options |
| 442 |
|
| 443 |
$('#qcld-wp-chatbot-reset-option').on('click',function () { |
| 444 |
|
| 445 |
var returnDefualt = confirm("Are you sure you want to reset all options to Default? Resetting Will Delete All Saved Settings, Custom Messages, Languages etc."); |
| 446 |
|
| 447 |
if (returnDefualt == true) { |
| 448 |
|
| 449 |
var data = { |
| 450 |
|
| 451 |
'action': 'qcld_wb_chatboot_delete_all_options', |
| 452 |
'wpnonce': qcld_gemini_admin_data.ajax_nonce, |
| 453 |
}; |
| 454 |
|
| 455 |
jQuery.post(qcld_gemini_admin_data.ajax_url, data, function (response) { |
| 456 |
|
| 457 |
alert(response); |
| 458 |
|
| 459 |
window.location.reload(); |
| 460 |
|
| 461 |
}); |
| 462 |
|
| 463 |
} |
| 464 |
|
| 465 |
}); |
| 466 |
|
| 467 |
var stopWordsList={ |
| 468 |
|
| 469 |
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", |
| 470 |
|
| 471 |
arabic:"فى,في,كل,ل� |
| 472 |
,لن,له,� |
| 473 |
ن,هو,هي,قوة,ك� |
| 474 |
ا,لها,� |
| 475 |
نذ,وقد,ولا,نفسه,لقاء,� |
| 476 |
قابل,هناك,وقال,وكان,نهاية,وقالت,وكانت,للا� |
| 477 |
� |
| 478 |
,فيه,كل� |
| 479 |
,لكن,وفي,وقف,ول� |
| 480 |
,و� |
| 481 |
ن,وهو,وهي,يو� |
| 482 |
,فيها,� |
| 483 |
نها,� |
| 484 |
ليار,لوكالة,يكون,ي� |
| 485 |
كن,� |
| 486 |
ليون,حيث,اكد,الا,ا� |
| 487 |
ا,ا� |
| 488 |
س,السابق,التى,التي,اكثر,ايار,ايضا,ثلاثة,الذاتي,الاخيرة,الثاني,الثانية,الذى,الذي,الان,ا� |
| 489 |
ا� |
| 490 |
,ايا� |
| 491 |
,خلال,حوالى,الذين,الاول,الاولى,بين,ذلك,دون,حول,حين,الف,الى,انه,اول,ض� |
| 492 |
ن,انها,ج� |
| 493 |
يع,ال� |
| 494 |
اضي,الوقت,ال� |
| 495 |
قبل,اليو� |
| 496 |
,ـ,ف,و,و6,قد,لا,� |
| 497 |
ا,� |
| 498 |
ع,� |
| 499 |
ساء,هذا,واحد,واضاف,واضافت,فان,قبل,قال,كان,لدى,نحو,هذه,وان,واكد,كانت,واوضح,� |
| 500 |
ايو,ب,ا,أ,،,عشر,عدد,عدة,عشرة,عد� |
| 501 |
,عا� |
| 502 |
,عا� |
| 503 |
ا,عن,عند,عند� |
| 504 |
ا,على,عليه,عليها,زيارة,سنة,سنوات,ت� |
| 505 |
,ضد,بعد,بعض,اعادة,اعلنت,بسبب,حتى,اذا,احد,اثر,برس,باس� |
| 506 |
,غدا,شخصا,صباح,اطار,اربعة,اخرى,بان,اجل,غير,بشكل,حاليا,بن,به,ث� |
| 507 |
,اف,ان,او,اي,بها,صفر", |
| 508 |
|
| 509 |
bulgarian:"а,автентичен,аз,ако,ала,бе,без,беше,би,бивш,бивша,бившо,бил,била,били,било,благодаря,близо,бъдат,бъде,бя� |
| 510 |
а,в,вас,ваш,ваша,вероятно,вече,взема,ви,вие,винаги,внимава,време,все,всеки,всички,всичко,всяка,във,въпреки,вър� |
| 511 |
у,г,ги,главен,главна,главно,глас,го,година,години,годишен,д,да,дали,два,двама,двамата,две,двете,ден,днес,дни,до,добра,добре,добро,добър,докато,докога,дори,досега,доста,друг,друга,други,е,евтин,едва,един,една,еднаква,еднакви,еднакъв,едно,екип,ето,живот,за,забавям,зад,заедно,заради,засега,заспал,затова,защо,защото,и,из,или,им,има,имат,иска,й,каза,как,каква,какво,както,какъв,като,кога,когато,което,които,кой,който,колко,която,къде,където,към,лесен,лесно,ли,лош,м,май,малко,ме,между,мек,мен,месец,ми,много,мнозина,мога,могат,може,мокър,моля,момента,му,н,на,над,назад,най,направи,напред,например,нас,не,него,нещо,нея,ни,ние,никой,нито,нищо,но,нов,нова,нови,новина,някои,някой,няколко,няма,обаче,около,освен,особено,от,отгоре,отново,още,пак,по,повече,повечето,под,поне,поради,после,почти,прави,пред,преди,през,при,пък,първата,първи,първо,пъти,равен,равна,с,са,сам,само,се,сега,си,син,скоро,след,следващ,сме,смя� |
| 512 |
,според,сред,срещу,сте,съм,със,също,т,тази,така,такива,такъв,там,твой,те,тези,ти,т.н.,то,това,тогава,този,той,толкова,точно,три,трябва,тук,тъй,тя,тя� |
| 513 |
,у,утре,� |
| 514 |
аресва,� |
| 515 |
иляди,ч,часа,че,често,чрез,ще,щом,юмрук,я,як", |
| 516 |
|
| 517 |
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", |
| 518 |
|
| 519 |
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", |
| 520 |
|
| 521 |
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", |
| 522 |
|
| 523 |
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", |
| 524 |
|
| 525 |
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", |
| 526 |
|
| 527 |
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", |
| 528 |
|
| 529 |
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", |
| 530 |
|
| 531 |
hindi:"� |
| 532 |
त,� |
| 533 |
पना,� |
| 534 |
पनी,� |
| 535 |
पने,� |
| 536 |
भी,� |
| 537 |
ंदर,आदि,आप,इत्यादि,इन ,इनका,इन्हीं,इन्हें,इन्हों,इस,इसका,इसकी,इसके,इसमें,इसी,इसे,उन,उनका,उनकी,उनके,उनको,उन्हीं,उन्हें,उन्हों,उस,उसके,उसी,उसे,एक,एवं,एस,ऐसे,और,कई,कर,करता,करते,करना,करने,करें,कहते,कहा,का,काफ़ी,कि,कितना,किन्हें,किन्हों,किया,किर,किस,किसी,किसे,की,कुछ,कुल,के,को,कोई,कौन,कौनसा,गया,घर,जब,जहाँ,जा,जितना,जिन,जिन्हें,जिन्हों,जिस,जिसे,जीधर,जैसा,जैसे,जो,तक,तब,तरह,तिन,तिन्हें,तिन्हों,तिस,तिसे,तो,था,थी,थे,दबारा,दिया,दुसरा,दूसरे,दो,द्वारा,न,नके,नहीं,ना,निहायत,नीचे,ने,पर,पहले,पूरा,पे,फिर,बनी,बही,बहुत,बाद,बाला,बिलकुल,भी,भीतर,मगर,मानो,मे,में,यदि,यह,यहाँ,यही,या,यिह,ये,रखें,रहा,रहे,ऱ्वासा,लिए,लिये,लेकिन,व,वग़ैरह,वर्ग,वह,वहाँ,वहीं,वाले,वुह,वे,सकता,सकते,सबसे,सभी,साथ,साबुत,साभ,सारा,से,सो,संग,ही,हुआ,हुई,हुए,है,हैं,हो,होता,होती,होते,होना,होने", |
| 538 |
|
| 539 |
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", |
| 540 |
|
| 541 |
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", |
| 542 |
|
| 543 |
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,è", |
| 544 |
|
| 545 |
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,å", |
| 546 |
|
| 547 |
persian:"نداشته,شناسی,خواهی� |
| 548 |
,آباد,داشتن,نظیر,ه� |
| 549 |
چون,باره,نکرده,شان,سابق,هفت,دانند,جایی,بی,جز,زیرِ,رویِ,سریِ,تویِ,جلویِ,پیشِ,عقبِ,بالایِ,خارجِ,وسطِ,بیرونِ,سویِ,کنارِ,پاعینِ,نزدِ,نزدیکِ,دنبالِ,حدودِ,برابرِ,طبقِ,� |
| 550 |
انندِ,ضدِّ,هنگا� |
| 551 |
ِ,برایِ,� |
| 552 |
ثلِ,باره,اثرِ,تولِ,علّتِ,س� |
| 553 |
تِ,عنوانِ,قصدِ,روب,جدا,کی,که,چیست,هست,کجا,کجاست,کَی,چطور,کدا� |
| 554 |
,آیا,� |
| 555 |
گر,چندین,یک,چیزی,دیگر,کسی,بعری,هیچ,چیز,جا,کس,هرگز,یا,تنها,بلکه,خیاه,بله,بلی,آره,آری,� |
| 556 |
رسی,البتّه,لطفاً,ّه,انکه,وقتیکه,ه� |
| 557 |
ین,پیش,� |
| 558 |
دّتی,هنگا� |
| 559 |
ی,� |
| 560 |
ان,تان,براساس,شدند,ترین,ا� |
| 561 |
روز,باشند,ندارد,چون,قابل,گوید,دیگری,ه� |
| 562 |
ان,خواهند,قبل,آ� |
| 563 |
ده,اکنون,تحت,طریق,گیری,جای,هنوز,چرا,البته,کنید,سازی,سو� |
| 564 |
,کن� |
| 565 |
,بلکه,زیر,توانند,ض� |
| 566 |
ن,فقط,بودن,حق,آید,وقتی,اش,یابد,نخستین,� |
| 567 |
قابل,خد� |
| 568 |
ات,ا� |
| 569 |
سال,تاکنون,� |
| 570 |
انند,تازه,آورد,فکر,آنچه,نخست,نشده,شاید,چهار,جریان,پنج,ساخته,زیرا,نزدیک,برداری,کسی,ریزی,رفت,گردد,� |
| 571 |
ثل,آ� |
| 572 |
د,ا� |
| 573 |
,بهترین,دانست,ک� |
| 574 |
تر,دادن,ت� |
| 575 |
ا� |
| 576 |
ی,جلوگیری,بیشتری,ای� |
| 577 |
,ناشی,چیزی,آنکه,بالا,بنابراین,ایشان,بعضی,دادند,داشتند,برخوردار,نخواهد,هنگا� |
| 578 |
,نباید,غیر,نبود,دیده,وگو,داری� |
| 579 |
,چگونه,بندی,خواست,فوق,ده,نوعی,هستی� |
| 580 |
,دیگران,ه� |
| 581 |
چنان,سراسر,ندارند,گروهی,سعی,روزهای,آنجا,یکدیگر,کرد� |
| 582 |
,بیست,بروز,سپس,رفته,آورده,ن� |
| 583 |
اید,باشی� |
| 584 |
,گویند,زیاد,خویش,ه� |
| 585 |
واره,گذاشته,شش,تر,کل,ت� |
| 586 |
ا� |
| 587 |
,بدون,� |
| 588 |
یلیارد,بودند,طی,بسیاری,گذاری,دهند,گرفت,طور,بار,آنان,گفته,ش� |
| 589 |
ا,گیرد,� |
| 590 |
ختلف,بعد,درباره,دو� |
| 591 |
,دیروز,نه,برخی,چنین,توسط,ولی,اینکه,حتی,نشان,کنی� |
| 592 |
,کردن,شدن,بیش,جدید,چند,هیچ,نا� |
| 593 |
,اول,تواند,هایی,گرفته,روی,بسیار,بیشتر,شوند,سوی,� |
| 594 |
یلیون,ه� |
| 595 |
ین,دارند,بوده,داده,کردند,ه� |
| 596 |
چنین,چه,داشت,راه,داشته,داد,استفاده,نیست,هزار,دهد,� |
| 597 |
ن,بی,هستند,یکی,صورت,ه� |
| 598 |
ه,اگر,پس,پیش,بین,ن� |
| 599 |
ی,� |
| 600 |
رد� |
| 601 |
,دیگر,باشد,آنها,� |
| 602 |
ورد,او,خواهد,هر,اند,دو,باید,ا� |
| 603 |
ا,یا,کرده,� |
| 604 |
ا,دارد,کنند,ه� |
| 605 |
,وی,نیز,گفت,بود,بر,کند,تا,ای,شد,کرد,ها,خود,شده,شود,یک,آن,برای,های,با,را,است,این,� |
| 606 |
ی,که,از,به,در,و", |
| 607 |
polish:"ach,aj,albo,bardzo,bez,bo,być,ci,cię,ciebie,co,czy,daleko,dla,dlaczego,dlatego,do,dobrze,dok� |
| 608 |
d,dość,dużo,dwa,dwaj,dwie,dwoje,dziś,dzisiaj,gdyby,gdzie,go,ich,ile,im,inny,ja,j� |
| 609 |
,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� |
| 610 |
,mam,mi,mn� |
| 611 |
,mnie,moi,mój,moja,moje,może,mu,my,na,nam,nami,nas,nasi,nasz,nasza,nasze,natychmiast,ni� |
| 612 |
,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� |
| 613 |
,sam,sama,się,sk� |
| 614 |
d,tak,taki,tam,ten,to,tob� |
| 615 |
,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", |
| 616 |
|
| 617 |
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", |
| 618 |
|
| 619 |
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", |
| 620 |
|
| 621 |
russian:"а,в,г,е,ж,и,к,м,о,с,т,у,я,бы,во,вы,да,до,ее,ей,ею,её,же,за,из,им,и� |
| 622 |
,ли,мы,на,не,ни,но,ну,н� |
| 623 |
,об,он,от,по,со,та,те,то,ту,ты,уж,без,был,вам,вас,ваш,вон,вот,все,всю,вся,всё,где,год,два,две,дел,для,его,ему,еще,ещё,или,ими,имя,как,кем,ком,кто,лет,мне,мог,мож,мои,мой,мор,моя,моё,над,нам,нас,наш,нее,ней,нем,нет,нею,неё,ни� |
| 624 |
,оба,она,они,оно,под,пор,при,про,раз,сам,си� |
| 625 |
,так,там,тем,те� |
| 626 |
,том,тот,тою,три,тут,уже,чем,что,эта,эти,это,эту,алло,буду,будь,бывь,была,были,было,быть,вами,ваша,ваше,ваши,ведь,весь,вниз,всем,все� |
| 627 |
,всею,года,году,даже,дву� |
| 628 |
,день,если,есть,зато,кого,кому,куда,лишь,люди,мало,меля,меня,мимо,мира,мной,мною,мочь,надо,нами,наша,наше,наши,него,нему,ниже,ними,один,пока,пора,пять,рано,сама,сами,само,саму,свое,свои,свою,себе,себя,семь,стал,суть,твой,твоя,твоё,тебе,тебя,теми,того,тоже,тому,туда,� |
| 629 |
оть,� |
| 630 |
отя,чаще,чего,чему,чтоб,чуть,этим,эти� |
| 631 |
,этой,этом,этот,более,будем,будет,будто,будут,ввер� |
| 632 |
,вдали,вдруг,везде,внизу,время,всего,всеми,всему,всюду,давно,даром,долго,друго,жизнь,занят,затем,зачем,здесь,иметь,какая,какой,когда,кроме,лучше,между,менее,много,могут,может,можно,мож� |
| 633 |
о,назад,низко,нужно,одной,около,опять,очень,перед,позже,после,потом,почти,пятый,разве,рядом,самим,сами� |
| 634 |
,самой,самом,своей,свои� |
| 635 |
,сеаой,снова,собой,собою,такая,также,такие,такое,такой,тобой,тобою,тогда,тысяч,уметь,часто,через,чтобы,шесть,этими,этого,этому,близко,больше,будете,будешь,бывает,важная,важное,важные,важный,вокруг,восемь,всегда,второй,далеко,дальше,девять,десять,должно,другая,другие,други� |
| 636 |
,другое,другой,занята,занято,заняты,значит,именно,иногда,каждая,каждое,каждые,каждый,кругом,меньше,начала,нельзя,нибудь,никуда,ничего,обычно,однако,одного,отсюда,первый,потому,почему,просто,против,раньше,самими,самого,самому,своего,сейчас,сказал,совсем,теперь,только,третий,� |
| 637 |
орошо,� |
| 638 |
отеть,� |
| 639 |
очешь,четыре,шестой,восьмой,впрочем,времени,говорил,говорит,девятый,десятый,кажется,конечно,которая,которой,которые,который,которы� |
| 640 |
,навер� |
| 641 |
у,наконец,недавно,немного,нередко,никогда,однажды,посреди,сегодня,седьмой,сказала,сказать,сколько,слишком,сначала,спасибо,человек,двадцать,довольно,которого,наиболее,недалеко,особенно,отовсюду,двадцатый,миллионов,несколько,прекрасно,процентов,четвертый,двенадцать,непрерывно,пожалуйста,пятнадцать,семнадцать,тринадцать,двенадцатый,одиннадцать,пятнадцатый,семнадцатый,тринадцатый,шестнадцать,восемнадцать,девятнадцать,одиннадцатый,четырнадцать,шестнадцатый,восемнадцатый,девятнадцатый,действительно,четырнадцатый,многочисленная,многочисленное,многочисленные,многочисленный", |
| 642 |
|
| 643 |
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", |
| 644 |
|
| 645 |
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", |
| 646 |
|
| 647 |
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", |
| 648 |
|
| 649 |
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", |
| 650 |
|
| 651 |
ukrainian:"a,б,в,г,е,ж,з,м,т,у,я,є,і,аж,ви,де,до,за,зі,ми,на,не,ну,н� |
| 652 |
,ні,по,та,ти,то,ту,ті,це,цю,ця,ці,чи,ще,що,як,їй,їм,ї� |
| 653 |
,її,або,але,ало,без,був,вам,вас,ваш,вже,все,всю,вся,від,він,два,дві,для,ким,мож,моя,моє,мої,міг,між,мій,над,нам,нас,наш,нею,неї,ни� |
| 654 |
,ніж,ній,ось,при,про,під,пір,раз,рік,сам,си� |
| 655 |
,сім,так,там,теж,тим,ти� |
| 656 |
,той,тою,три,тут,� |
| 657 |
оч,� |
| 658 |
то,цей,цим,ци� |
| 659 |
,час,щоб,яка,які,адже,буде,буду,будь,була,були,було,бути,вами,ваша,ваше,ваші,весь,вниз,вона,вони,воно,всею,всім,всі� |
| 660 |
,втім,геть,далі,дво� |
| 661 |
,день,дуже,зате,його,йому,каже,кого,коли,кому,крім,куди,лише,люди,мало,мати,мене,мені,миру,мною,може,нами,наша,наше,наші,ними,ніби,один,поки,пора,рано,року,році,сама,саме,саму,самі,свою,своє,свої,себе,собі,став,суть,така,таке,такі,твоя,твоє,твій,тебе,тими,тобі,того,тоді,тому,туди,� |
| 662 |
оча,� |
| 663 |
іба,цими,цієї,часу,чого,чому,який,яки� |
| 664 |
,якої,якщо,ім'я,інша,інше,інші,буває,будеш,більш,вгору,вміти,внизу,вісім,давно,даром,добре,довго,друго,дякую,життя,зараз,знову,какая,кожен,кожна,кожне,кожні,краще,ледве,майже,менше,могти,можна,назад,немає,нижче,нього,однак,п'ять,перед,поруч,потім,проти,після,років,самим,сами� |
| 665 |
,самій,свого,своєї,свої� |
| 666 |
,собою,справ,такий,також,тепер,тисяч,тобою,треба,тро� |
| 667 |
и,усюди,усіма,� |
| 668 |
очеш,цього,цьому,часто,через,шість,якого,іноді,інший,інши� |
| 669 |
,багато,будемо,будете,будуть,більше,всього,всьому,далеко,десять,досить,другий,дійсно,завжди,звідси,зовсім,кругом,кілька,людина,можуть,навіть,навіщо,нагорі,небудь,низько,ніколи,нікуди,нічого,обидва,одного,однієї,п'ятий,перший,просто,раніше,раптом,самими,самого,самому,сказав,скрізь,сьомий,третій,тільки,� |
| 670 |
отіти,чотири,чудово,шостий,близько,важлива,важливе,важливі,вдалині,восьмий,говорив,дев'ять,десятий,зайнята,зайнято,зайняті,занадто,значить,навколо,нарешті,нерідко,повинно,посеред,початку,пізніше,сказала,сказати,скільки,спасибі,частіше,важливий,двадцять,дев'ятий,зазвичай,зайнятий,звичайно,здається,найбільш,не можна,недалеко,особливо,потрібно,спочатку,сьогодні,численна,численне,численні,відсотків,двадцятий,звідусіль,мільйонів,нещодавно,прекрасно,четвертий,численний,будь ласка,дванадцять,одинадцять,сімнадцять,тринадцять,безперервно,дванадцятий,одинадцятий,одного разу,п'ятнадцять,сімнадцятий,тринадцятий,шістнадцять,вісімнадцять,п'ятнадцятий,чотирнадцять,шістнадцятий,вісімнадцятий,дев'ятнадцять,чотирнадцятий,дев'ятнадцятий", |
| 671 |
|
| 672 |
}; |
| 673 |
|
| 674 |
//change the to defualt Stop word language options |
| 675 |
|
| 676 |
$('#qlcd_wp_chatbot_stop_words_name').on('change',function () { |
| 677 |
|
| 678 |
var lang=$(this).val(); |
| 679 |
|
| 680 |
var stopWords=stopWordsList[lang]; |
| 681 |
|
| 682 |
$("#qlcd_wp_chatbot_stop_words").val(stopWords); |
| 683 |
|
| 684 |
|
| 685 |
|
| 686 |
}); |
| 687 |
|
| 688 |
//Custom Icon |
| 689 |
|
| 690 |
$('.qcld_chatbot_custom_icon_button').click(function(e) { |
| 691 |
|
| 692 |
e.preventDefault(); |
| 693 |
|
| 694 |
var image = wp.media({ |
| 695 |
|
| 696 |
title: 'Custom Icon', |
| 697 |
|
| 698 |
// mutiple: true if you want to upload multiple files at once |
| 699 |
|
| 700 |
multiple: false |
| 701 |
|
| 702 |
}) |
| 703 |
|
| 704 |
.open() |
| 705 |
|
| 706 |
.on('select', function(e){ |
| 707 |
|
| 708 |
// This will return the selected image from the Media Uploader, the result is an object |
| 709 |
|
| 710 |
var uploaded_image = image.state().get('selection').first(); |
| 711 |
|
| 712 |
var image_url = uploaded_image.toJSON().url; |
| 713 |
|
| 714 |
// Let's assign the url value to the hidden field value and img src. |
| 715 |
|
| 716 |
$('#wp_chatbot_custom_icon_src').attr('src',image_url); |
| 717 |
|
| 718 |
$('#wp_chatbot_custom_icon_path').val(image_url); |
| 719 |
|
| 720 |
}); |
| 721 |
|
| 722 |
}); |
| 723 |
|
| 724 |
|
| 725 |
$('#qc_wpbot_df_status').on('click', function(e){ |
| 726 |
e.preventDefault(); |
| 727 |
|
| 728 |
$.ajax( |
| 729 |
{ |
| 730 |
type: 'POST', // 'POST' here so that _upload_ progress _also_ makes sense; |
| 731 |
// Change to 'GET' if you need. |
| 732 |
url: qcld_gemini_admin_data.ajax_url, data: { |
| 733 |
'action': 'qcld_wp_df_api_call', |
| 734 |
'dfquery': 'hi', |
| 735 |
'nonce': qcld_gemini_admin_data.ajax_nonce, |
| 736 |
'sessionid': 'wpwBot_df_201sdf8071' |
| 737 |
}, |
| 738 |
beforeSend: function() |
| 739 |
{ |
| 740 |
$('.qcwp_df_status').append('<p>Connecting...</p>'); |
| 741 |
|
| 742 |
}, |
| 743 |
success: function(data){ |
| 744 |
var response = $.parseJSON(JSON.parse(data)); |
| 745 |
if(typeof response.responseId !== "undefined"){ |
| 746 |
$('.qcwp_df_status').html('<p>Dialogflow is connected successfully!</p>'); |
| 747 |
}else{ |
| 748 |
$('.qcwp_df_status').html('<p>Connecton Failed. '+response.error.message+'</p><p class="df-connect-error">If DialogFlow connection is not working, please check <a href="'+document.location.pathname+'?page=wpbot_help_page#general_debugging">Debugging Steps</a> or <a href="https://www.wpbot.pro/free-support/" target="_blank">contact us</a> for support.</p>'); |
| 749 |
} |
| 750 |
|
| 751 |
} |
| 752 |
}); |
| 753 |
|
| 754 |
}) |
| 755 |
|
| 756 |
//Custom Agent Icon |
| 757 |
|
| 758 |
$('.wp_chatbot_custom_agent_button').click(function(e) { |
| 759 |
|
| 760 |
e.preventDefault(); |
| 761 |
|
| 762 |
var image = wp.media({ |
| 763 |
|
| 764 |
title: 'Custom Agent', |
| 765 |
|
| 766 |
// mutiple: true if you want to upload multiple files at once |
| 767 |
|
| 768 |
multiple: false |
| 769 |
|
| 770 |
}) |
| 771 |
|
| 772 |
.open() |
| 773 |
|
| 774 |
.on('select', function(e){ |
| 775 |
|
| 776 |
// This will return the selected image from the Media Uploader, the result is an object |
| 777 |
|
| 778 |
var uploaded_image = image.state().get('selection').first(); |
| 779 |
|
| 780 |
var image_url = uploaded_image.toJSON().url; |
| 781 |
|
| 782 |
// Let's assign the url value to the hidden field value and img src. |
| 783 |
|
| 784 |
$('#wp_chatbot_custom_agent_src').attr('src',image_url); |
| 785 |
|
| 786 |
$('#wp_chatbot_custom_agent_path').val(image_url); |
| 787 |
|
| 788 |
}); |
| 789 |
|
| 790 |
}); |
| 791 |
|
| 792 |
//Custom Backgroud image |
| 793 |
|
| 794 |
$('.qcld_wb_chatbot_board_bg_button').click(function(e) { |
| 795 |
|
| 796 |
e.preventDefault(); |
| 797 |
|
| 798 |
var image = wp.media({ |
| 799 |
|
| 800 |
title: 'Custom Agent', |
| 801 |
|
| 802 |
// mutiple: true if you want to upload multiple files at once |
| 803 |
|
| 804 |
multiple: false |
| 805 |
|
| 806 |
}) |
| 807 |
|
| 808 |
.open() |
| 809 |
|
| 810 |
.on('select', function(e){ |
| 811 |
|
| 812 |
// This will return the selected image from the Media Uploader, the result is an object |
| 813 |
|
| 814 |
var uploaded_image = image.state().get('selection').first(); |
| 815 |
|
| 816 |
var image_url = uploaded_image.toJSON().url; |
| 817 |
|
| 818 |
// Let's assign the url value to the hidden field value and img src. |
| 819 |
|
| 820 |
$('#qcld_wb_chatbot_board_bg_image').attr('src',image_url); |
| 821 |
|
| 822 |
$('#qcld_wb_chatbot_board_bg_path').val(image_url); |
| 823 |
|
| 824 |
}); |
| 825 |
|
| 826 |
}); |
| 827 |
|
| 828 |
//wpwBot Load Control handler. |
| 829 |
|
| 830 |
jQuery("input[name='wp_chatbot_df_api']").on('change', function(e){ |
| 831 |
e.preventDefault(); |
| 832 |
if($(this).val()=='v1'){ |
| 833 |
$('#wp-chatbot-df-section-v1').show('slow'); |
| 834 |
$('#wp-chatbot-df-section-v2').hide('slow'); |
| 835 |
}else{ |
| 836 |
$('#wp-chatbot-df-section-v1').hide('slow'); |
| 837 |
$('#wp-chatbot-df-section-v2').show('slow'); |
| 838 |
} |
| 839 |
}) |
| 840 |
|
| 841 |
if($("input[type=radio][name='wp_chatbot_df_api']:checked").val()=='v1'){ |
| 842 |
$('#wp-chatbot-df-section-v1').show('slow'); |
| 843 |
}else{ |
| 844 |
$('#wp-chatbot-df-section-v1').hide(); |
| 845 |
} |
| 846 |
|
| 847 |
if($("input[type=radio][name='wp_chatbot_df_api']:checked").val()=='v2'){ |
| 848 |
$('#wp-chatbot-df-section-v2').show('slow'); |
| 849 |
}else{ |
| 850 |
$('#wp-chatbot-df-section-v2').hide(); |
| 851 |
} |
| 852 |
|
| 853 |
|
| 854 |
if($("input[type=radio][name='wp_chatbot_show_pages']:checked").val()=='off'){ |
| 855 |
|
| 856 |
$('#wp-chatbot-show-pages-list').show('slow'); |
| 857 |
|
| 858 |
}else{ |
| 859 |
|
| 860 |
$('#wp-chatbot-show-pages-list').hide('slow'); |
| 861 |
|
| 862 |
} |
| 863 |
|
| 864 |
//on change. |
| 865 |
|
| 866 |
$('.wp-chatbot-show-pages').on('change',function (e) { |
| 867 |
|
| 868 |
if( $(this).val()=='off'){ |
| 869 |
|
| 870 |
$('#wp-chatbot-show-pages-list').show('slow'); |
| 871 |
|
| 872 |
}else{ |
| 873 |
|
| 874 |
$('#wp-chatbot-show-pages-list').hide('slow'); |
| 875 |
|
| 876 |
} |
| 877 |
|
| 878 |
}) |
| 879 |
|
| 880 |
//Search options |
| 881 |
|
| 882 |
if($('#wp-chatbot-search-option').val()=='standard'){ |
| 883 |
|
| 884 |
$('#wp-chatbot-standard-search').show(); |
| 885 |
|
| 886 |
$('#wp-chatbot-advanced-search').hide(); |
| 887 |
|
| 888 |
|
| 889 |
|
| 890 |
} else if($('#wp-chatbot-search-option').val()=='advanced'){ |
| 891 |
|
| 892 |
$('#wp-chatbot-advanced-search').show(); |
| 893 |
|
| 894 |
$('#wp-chatbot-standard-search').hide(); |
| 895 |
|
| 896 |
} |
| 897 |
|
| 898 |
$('#wp-chatbot-search-option').on('change',function (e) { |
| 899 |
|
| 900 |
if($(this).val()=='standard'){ |
| 901 |
|
| 902 |
$('#wp-chatbot-standard-search').show(); |
| 903 |
|
| 904 |
$('#wp-chatbot-advanced-search').hide(); |
| 905 |
|
| 906 |
} else if($(this).val()=='advanced'){ |
| 907 |
|
| 908 |
$('#wp-chatbot-advanced-search').show(); |
| 909 |
|
| 910 |
$('#wp-chatbot-standard-search').hide(); |
| 911 |
|
| 912 |
} |
| 913 |
|
| 914 |
}); |
| 915 |
|
| 916 |
|
| 917 |
|
| 918 |
//Product Index for categories & Tag search |
| 919 |
|
| 920 |
|
| 921 |
|
| 922 |
var wpChatbotIndexBtn=$('#qlcd_wp_chatbot_index'); |
| 923 |
|
| 924 |
var wpChatbotIndexProcess = $('#qlcd_wp_chatbot_index_process'); |
| 925 |
|
| 926 |
var wpChatbotIndexProgress = $('#qlcd_wp_chatbot_index_progress'); |
| 927 |
|
| 928 |
var wpChatbotIndexLoader = $('#qlcd_wp_chatbot_index_loader'); |
| 929 |
|
| 930 |
var wpChatbotSyncStatus; |
| 931 |
|
| 932 |
var wpChatbotIndexProcessed; |
| 933 |
|
| 934 |
var wpChatbotIndexToProcess; |
| 935 |
|
| 936 |
// Reindex table |
| 937 |
|
| 938 |
wpChatbotIndexBtn.on( 'click', function(e) { |
| 939 |
|
| 940 |
e.preventDefault(); |
| 941 |
|
| 942 |
wpChatbotIndexProcess.html(''); |
| 943 |
|
| 944 |
wpChatbotIndexProgress.text(''); |
| 945 |
|
| 946 |
|
| 947 |
|
| 948 |
wpChatbotSyncStatus = 'sync'; |
| 949 |
|
| 950 |
wpChatbotIndexToProcess = 0; |
| 951 |
|
| 952 |
wpChatbotIndexProcessed = 0; |
| 953 |
|
| 954 |
|
| 955 |
|
| 956 |
wpChatbotIndexLoader.html('<img class="wp-chatbot-comment-loader" src="'+qcld_gemini_admin_data.image_path+'comment.gif" alt="..." />'); |
| 957 |
|
| 958 |
wpChatbotIndexProcess.html( wpChatbotIndexProcessed + '%' ); |
| 959 |
|
| 960 |
|
| 961 |
|
| 962 |
qcld_wb_chatbot_sync(); |
| 963 |
|
| 964 |
|
| 965 |
|
| 966 |
}); |
| 967 |
|
| 968 |
|
| 969 |
|
| 970 |
|
| 971 |
|
| 972 |
function qcld_wb_chatbot_sync() { |
| 973 |
|
| 974 |
|
| 975 |
|
| 976 |
$.ajax({ |
| 977 |
|
| 978 |
type: 'POST', |
| 979 |
|
| 980 |
url: qcld_gemini_admin_data.ajax_url, |
| 981 |
|
| 982 |
data: { |
| 983 |
|
| 984 |
action: 'qcld-wp-chabot-reindex', |
| 985 |
'nonce': qcld_gemini_admin_data.ajax_nonce |
| 986 |
|
| 987 |
}, |
| 988 |
|
| 989 |
dataType: "json", |
| 990 |
|
| 991 |
success: function (response) { |
| 992 |
|
| 993 |
// console.log('begining : ',response); |
| 994 |
|
| 995 |
if ( 'sync' !== wpChatbotSyncStatus ) { |
| 996 |
|
| 997 |
return; |
| 998 |
|
| 999 |
} |
| 1000 |
|
| 1001 |
|
| 1002 |
|
| 1003 |
wpChatbotIndexToProcess = response.data.found_posts; |
| 1004 |
|
| 1005 |
wpChatbotIndexProcessed = response.data.offset; |
| 1006 |
|
| 1007 |
|
| 1008 |
|
| 1009 |
wpChatbotIndexProcessed = Math.floor( wpChatbotIndexProcessed / wpChatbotIndexToProcess * 100 ); |
| 1010 |
|
| 1011 |
|
| 1012 |
|
| 1013 |
if ( 0 === response.data.offset && ! response.data.start ) { |
| 1014 |
|
| 1015 |
|
| 1016 |
|
| 1017 |
// Sync finished |
| 1018 |
|
| 1019 |
wpChatbotSyncStatus = 'finished'; |
| 1020 |
|
| 1021 |
|
| 1022 |
|
| 1023 |
//console.log('first : '+ response.data ); |
| 1024 |
|
| 1025 |
//console.log( "Reindex finished!" ); |
| 1026 |
|
| 1027 |
|
| 1028 |
|
| 1029 |
// $reindexBlock.removeClass('loading'); |
| 1030 |
|
| 1031 |
setTimeout(function () { |
| 1032 |
|
| 1033 |
wpChatbotIndexProgress.text('Complete and '+response.data.found_posts+' Products found!' ); |
| 1034 |
|
| 1035 |
wpChatbotIndexLoader.html(''); |
| 1036 |
|
| 1037 |
},1000); |
| 1038 |
|
| 1039 |
|
| 1040 |
|
| 1041 |
|
| 1042 |
|
| 1043 |
} else { |
| 1044 |
|
| 1045 |
|
| 1046 |
|
| 1047 |
// console.log('2nd : '+ response.data ); |
| 1048 |
|
| 1049 |
|
| 1050 |
|
| 1051 |
wpChatbotIndexProcess.html ( wpChatbotIndexProcessed + '% ' ); |
| 1052 |
|
| 1053 |
|
| 1054 |
|
| 1055 |
|
| 1056 |
|
| 1057 |
// We are starting a sync |
| 1058 |
|
| 1059 |
wpChatbotSyncStatus = 'sync'; |
| 1060 |
|
| 1061 |
|
| 1062 |
|
| 1063 |
qcld_wb_chatbot_sync(); |
| 1064 |
|
| 1065 |
} |
| 1066 |
|
| 1067 |
|
| 1068 |
|
| 1069 |
}, |
| 1070 |
|
| 1071 |
error : function( jqXHR, textStatus ) { |
| 1072 |
//console.log( "Request failed: " + textStatus ); |
| 1073 |
qcld_wb_chatbot_cancelSync(); |
| 1074 |
}, |
| 1075 |
complete: function () { |
| 1076 |
|
| 1077 |
} |
| 1078 |
|
| 1079 |
}); |
| 1080 |
} |
| 1081 |
|
| 1082 |
|
| 1083 |
|
| 1084 |
function qcld_wb_chatbot_cancelSync() { |
| 1085 |
$.ajax( { |
| 1086 |
method: 'post', |
| 1087 |
url: qcld_gemini_admin_data.ajax_url, |
| 1088 |
data: { |
| 1089 |
action: 'qcld-wp-chabot-cancel-index', |
| 1090 |
'nonce': qcld_gemini_admin_data.ajax_nonce |
| 1091 |
} |
| 1092 |
}); |
| 1093 |
} |
| 1094 |
|
| 1095 |
//Messenger Color scheme. |
| 1096 |
|
| 1097 |
$('#qlcd_wp_chatbot_fb_color').wpColorPicker(); |
| 1098 |
$('#wp_chatbot_proactive_bg_color').wpColorPicker(); |
| 1099 |
|
| 1100 |
|
| 1101 |
// Sub category for parent category |
| 1102 |
$(document).on('change','#wp_chatbot_show_parent_category',function (e) { |
| 1103 |
if($(this).is(':checked')){ |
| 1104 |
$('#wp_chatbot_sub_cats_container').show(); |
| 1105 |
}else{ |
| 1106 |
$('#wp_chatbot_sub_cats_container').hide(); |
| 1107 |
} |
| 1108 |
}) |
| 1109 |
//Opening hours |
| 1110 |
if($('#enable_wp_chatbot_opening_hour').is(':checked')){ |
| 1111 |
$('#wp-chatbot-hours-wrapper').show(); |
| 1112 |
}else{ |
| 1113 |
$('#wp-chatbot-hours-wrapper').hide(); |
| 1114 |
} |
| 1115 |
$(document).on('change','#enable_wp_chatbot_opening_hour',function (e) { |
| 1116 |
if($(this).is(':checked')){ |
| 1117 |
$('#wp-chatbot-hours-wrapper').show(); |
| 1118 |
}else{ |
| 1119 |
$('#wp-chatbot-hours-wrapper').hide(); |
| 1120 |
} |
| 1121 |
}) |
| 1122 |
|
| 1123 |
$(".wp-chatbot-hours-add-btn").on('click',function () { |
| 1124 |
var elNumber=$(this).parent().parent().find('.wp-chatbot-hours-container').length; |
| 1125 |
var dayName=$(this).attr('data-day'); |
| 1126 |
var hourSet='<div class="wp-chatbot-hours-container">'+ |
| 1127 |
'<div class="wp-chatbot-hours">'+ |
| 1128 |
'<input type="text" name="wpwbot_hours['+dayName+']['+elNumber+'][]" value="00:00" > <input type="text" name="wpwbot['+dayName+']['+elNumber+'][]" value="00:00">'+ |
| 1129 |
'</div>'+ |
| 1130 |
'<div class="wp-chatbot-hours-remove">'+ |
| 1131 |
'<button type="button" class="btn btn-danger btn-sm wp-chatbot-hours-remove-btn ">'+ |
| 1132 |
'<i class="dashicons dashicons-remove" aria-hidden="true"></i>'+ |
| 1133 |
'</button>'+ |
| 1134 |
'</div>'+ |
| 1135 |
'</div>'; |
| 1136 |
$(this).parent().parent().find('.wp-chatbot-day').append(hourSet); |
| 1137 |
$('.wp-chatbot-hours input').timepicker({ 'timeFormat': 'H:i' }); |
| 1138 |
}); |
| 1139 |
|
| 1140 |
$(document).on('click','.wp-chatbot-hours-remove-btn',function () { |
| 1141 |
var elNumbers=$(this).parent().parent().parent().find('.wp-chatbot-hours-container').length; |
| 1142 |
if(elNumbers>1){ |
| 1143 |
if(confirm('Are you sure to delete this support query block?')){ |
| 1144 |
$(this).parent().parent().remove(); |
| 1145 |
} |
| 1146 |
}else{ |
| 1147 |
alert('At least one opening hours set is required'); |
| 1148 |
} |
| 1149 |
|
| 1150 |
}); |
| 1151 |
//DialogFlow |
| 1152 |
if($('#enable_wp_chatbot_dailogflow').is(':checked')){ |
| 1153 |
$('#wp-chatbot-dialflow-section').show(); |
| 1154 |
}else{ |
| 1155 |
$('#wp-chatbot-dialflow-section').hide(); |
| 1156 |
} |
| 1157 |
$(document).on('change','#enable_wp_chatbot_dailogflow',function (e) { |
| 1158 |
if($(this).is(':checked')){ |
| 1159 |
$('#wp-chatbot-dialflow-section').show(); |
| 1160 |
}else{ |
| 1161 |
$('#wp-chatbot-dialflow-section').hide(); |
| 1162 |
} |
| 1163 |
}) |
| 1164 |
|
| 1165 |
$('#submit').click(function(){ |
| 1166 |
|
| 1167 |
if( jQuery('#section-flip-6:visible').length > 0 ){ |
| 1168 |
/* Perform some button action ... */ |
| 1169 |
if($('#enable_wp_chatbot_dailogflow').is(':checked')){ |
| 1170 |
|
| 1171 |
if( $('input[name ="qlcd_wp_chatbot_dialogflow_project_id"]').val() =='' ){ |
| 1172 |
alert("Please provide the Dialogflow Project ID!"); |
| 1173 |
return false; |
| 1174 |
} |
| 1175 |
|
| 1176 |
if( $('input[name="qlcd_wp_chatbot_dialogflow_agent_language"]').val() == '' ){ |
| 1177 |
alert("Please provide the Dialogflow Agent Language!"); |
| 1178 |
return false; |
| 1179 |
} |
| 1180 |
|
| 1181 |
|
| 1182 |
} |
| 1183 |
|
| 1184 |
} |
| 1185 |
|
| 1186 |
}); |
| 1187 |
|
| 1188 |
jQuery( ".qc_menu_list_container ul li" ).dblclick(function(e) { |
| 1189 |
e.preventDefault(); |
| 1190 |
var html = jQuery(this).html().trim(); |
| 1191 |
jQuery('#qc_menu_area').append(html); |
| 1192 |
jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); |
| 1193 |
}); |
| 1194 |
|
| 1195 |
|
| 1196 |
jQuery(document).on("dblclick", "#qc_menu_area span", function(e) { |
| 1197 |
e.preventDefault(); |
| 1198 |
jQuery(this).remove(); |
| 1199 |
jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); |
| 1200 |
}); |
| 1201 |
|
| 1202 |
|
| 1203 |
jQuery( "#qc_menu_area" ).sortable({ |
| 1204 |
update: function( event, ui ) { |
| 1205 |
jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); |
| 1206 |
} |
| 1207 |
}); |
| 1208 |
jQuery( "#qc_menu_area" ).disableSelection(); |
| 1209 |
|
| 1210 |
|
| 1211 |
jQuery('.qc_menu_list_area span').draggable({ |
| 1212 |
revert: "invalid", |
| 1213 |
helper: 'clone' |
| 1214 |
}); |
| 1215 |
|
| 1216 |
|
| 1217 |
|
| 1218 |
|
| 1219 |
jQuery('.qc_menu_area_container').droppable({ |
| 1220 |
accept: ".qc_draggable_item", |
| 1221 |
drop: function(event, ui) { |
| 1222 |
var droppable = $(this); |
| 1223 |
var draggable = ui.draggable; |
| 1224 |
// Move draggable into droppable |
| 1225 |
draggable.clone().removeClass("qc_draggable_item").addClass("qc_draggable_item_remove").appendTo(droppable); |
| 1226 |
jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); |
| 1227 |
} |
| 1228 |
}); |
| 1229 |
$('#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(); |
| 1230 |
jQuery('.qc_menu_list_area').droppable({ |
| 1231 |
accept: ".qc_draggable_item_remove", |
| 1232 |
drop: function(event, ui) { |
| 1233 |
var droppable = $(this); |
| 1234 |
var draggable = ui.draggable; |
| 1235 |
// Move draggable into droppable |
| 1236 |
draggable.remove(); |
| 1237 |
jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); |
| 1238 |
} |
| 1239 |
}); |
| 1240 |
|
| 1241 |
|
| 1242 |
jQuery('.qc_menu_area_container .qcld-chatbot-form').each(function(){ |
| 1243 |
var obj = $(this); |
| 1244 |
obj.text(jQuery('.qc_menu_list_container .qcld-chatbot-form[data-form="'+obj.attr('data-form')+'"]').text()); |
| 1245 |
}) |
| 1246 |
|
| 1247 |
setTimeout(function(){ |
| 1248 |
if( jQuery('#qc_wpbot_menu_order').length > 0 ){ |
| 1249 |
jQuery('#qc_wpbot_menu_order').val(jQuery('#qc_menu_area').html().trim()); |
| 1250 |
} |
| 1251 |
}, 2000) |
| 1252 |
|
| 1253 |
jQuery('.qc_accordion_title').on('click', function(e){ |
| 1254 |
e.preventDefault(); |
| 1255 |
var obj = $(this); |
| 1256 |
|
| 1257 |
jQuery('.qc_accordion_content_third').hide(); |
| 1258 |
|
| 1259 |
if($( "h3[data-accordion='qc_accordion_content_third']" ).find('i').hasClass("fa-minus")){ |
| 1260 |
$( "h3[data-accordion='qc_accordion_content_third']" ).find('i').removeClass("fa-minus"); |
| 1261 |
$( "h3[data-accordion='qc_accordion_content_third']" ).find('i').addClass("fa-plus"); |
| 1262 |
} |
| 1263 |
jQuery('.qc_accordion_content_second').hide(); |
| 1264 |
if($( "h3[data-accordion='qc_accordion_content_second']" ).find('i').hasClass("fa-minus")){ |
| 1265 |
$( "h3[data-accordion='qc_accordion_content_second']" ).find('i').removeClass("fa-minus"); |
| 1266 |
$( "h3[data-accordion='qc_accordion_content_second']" ).find('i').addClass("fa-plus"); |
| 1267 |
} |
| 1268 |
jQuery('.qc_accordion_content_first').hide(); |
| 1269 |
if($( "h3[data-accordion='qc_accordion_content_first']" ).find('i').hasClass("fa-minus")){ |
| 1270 |
$( "h3[data-accordion='qc_accordion_content_first']" ).find('i').removeClass("fa-minus"); |
| 1271 |
$( "h3[data-accordion='qc_accordion_content_first']" ).find('i').addClass("fa-plus"); |
| 1272 |
} |
| 1273 |
setTimeout(function(){ |
| 1274 |
jQuery('.'+obj.attr('data-accordion')).show(); |
| 1275 |
obj.find('i').toggleClass("fa-plus fa-minus"); |
| 1276 |
}, 200) |
| 1277 |
}) |
| 1278 |
|
| 1279 |
$(document).ready(function () { |
| 1280 |
var flieElementOpenAi = document.getElementById("openfileinput"); |
| 1281 |
|
| 1282 |
if(flieElementOpenAi){ |
| 1283 |
$('.error-message').hide(); |
| 1284 |
$('.success-message').hide(); |
| 1285 |
$(".file_form").on('change','#openfileinput',function(){ |
| 1286 |
var file_data = $('#openfileinput').prop('files')[0]; |
| 1287 |
var form_data = new FormData(); |
| 1288 |
form_data.append('file', file_data); |
| 1289 |
form_data.append('action', 'openai_file_upload'); |
| 1290 |
form_data.append('purpose','answers'); |
| 1291 |
$('.success-message').html('File is Proccesing'); |
| 1292 |
$('.success-message').show(); |
| 1293 |
$.ajax({ |
| 1294 |
url: qcld_gemini_admin_data.ajax_url, |
| 1295 |
type: 'post', |
| 1296 |
contentType: false, |
| 1297 |
processData: false, |
| 1298 |
data: form_data, |
| 1299 |
success: function (response) { |
| 1300 |
if(response[0].status == "success"){ |
| 1301 |
// $('.success').html(response.message) |
| 1302 |
$('.success-message').hide(); |
| 1303 |
$('.success-message').html(response[0].message); |
| 1304 |
$('.success-message').show(); |
| 1305 |
setTimeout(function(){ |
| 1306 |
$('.success-message').hide(); |
| 1307 |
},5000); |
| 1308 |
location.reload(); |
| 1309 |
} |
| 1310 |
if(response[0].status === "error"){ |
| 1311 |
//$('.success-message').html(response.message) |
| 1312 |
jQuery('.success-message').hide(); |
| 1313 |
jQuery('.error-message').show(); |
| 1314 |
jQuery('.error-message').html(response[0].message); |
| 1315 |
setTimeout(function(){ |
| 1316 |
jQuery('.error-message').hide(); |
| 1317 |
},5000); |
| 1318 |
location.reload(); |
| 1319 |
} |
| 1320 |
}, |
| 1321 |
}); |
| 1322 |
|
| 1323 |
}); |
| 1324 |
|
| 1325 |
$("#openaiFileList").on('click','.remove_file_openai',function(){ |
| 1326 |
$(this).hide(); |
| 1327 |
var file_id = $('.remove_file_openai').attr('data-id'); |
| 1328 |
jQuery('.error-message').show(); |
| 1329 |
jQuery('.error-message').html(file_id+'is deleting'); |
| 1330 |
setTimeout(function(){ |
| 1331 |
jQuery('.error-message').hide(); |
| 1332 |
},5000); |
| 1333 |
$.ajax({ |
| 1334 |
url: qcld_gemini_admin_data.ajax_url, |
| 1335 |
type: 'POST', |
| 1336 |
dataType: "JSON", |
| 1337 |
data: { |
| 1338 |
action : 'openai_file_delete', |
| 1339 |
file_id: file_id |
| 1340 |
}, |
| 1341 |
success: function (response) { |
| 1342 |
location.reload(); |
| 1343 |
}, |
| 1344 |
}); |
| 1345 |
|
| 1346 |
}); |
| 1347 |
$.ajax({ |
| 1348 |
url: qcld_gemini_admin_data.ajax_url, |
| 1349 |
type: "POST", |
| 1350 |
dataType: "JSON", |
| 1351 |
data: { |
| 1352 |
action : 'openai_file_list', |
| 1353 |
}, |
| 1354 |
success: function(res) { |
| 1355 |
|
| 1356 |
if((res.data != undefined)){ |
| 1357 |
data = res.data; |
| 1358 |
let text = ""; |
| 1359 |
data.forEach(itemfunction); |
| 1360 |
function itemfunction(item) { |
| 1361 |
text += '<tr><td>'+item.filename +'</td><td>' +item.id+'</td><td><a class="btn-success btn floated create_ft_model_modal" data-id="'+item.id+'">Create FT Model</a> <a class="btn-danger btn floated remove_file_openai" data-id="'+item.id+'">Remove</a></td></tr>'; |
| 1362 |
} |
| 1363 |
document.getElementById("openaiFileList").innerHTML = text; |
| 1364 |
} |
| 1365 |
} |
| 1366 |
}); |
| 1367 |
$('#openaiFileList').on('click','.create_ft_model_modal',function(){ |
| 1368 |
|
| 1369 |
var ft_id = $(this).attr('data-id'); |
| 1370 |
$('#qcld_openai_ft_fileid').val(ft_id); |
| 1371 |
$('#qcld-ft-modal').modal(); |
| 1372 |
}) |
| 1373 |
$.ajax({ |
| 1374 |
url: qcld_gemini_admin_data.ajax_url, |
| 1375 |
type: "POST", |
| 1376 |
dataType: "JSON", |
| 1377 |
data: { |
| 1378 |
action : 'openai_finetune_list', |
| 1379 |
}, |
| 1380 |
success: function(res) { |
| 1381 |
data = res; |
| 1382 |
let text = ""; |
| 1383 |
data.forEach(itemfunction); |
| 1384 |
function itemfunction(item) { |
| 1385 |
text += '<tr> <td>'+item[0] +'</td> <td>' +item[1]+'</td> <td>'+item[2]+'</td> <td>'+item[3]+'</td> <td>'+item[4]+'</td> <td> <a class="btn-danger btn floated remove_ft_model_openai" data-id="'+item[1]+'">Remove</a></td> </tr>'; |
| 1386 |
} |
| 1387 |
document.getElementById("openaiFTList").innerHTML = text; |
| 1388 |
|
| 1389 |
} |
| 1390 |
}); |
| 1391 |
} |
| 1392 |
|
| 1393 |
$("#wp-chatbot-data_post_converter").on('click','.qcld_convert_data', function(){ |
| 1394 |
var list = $("input[name='wp_chatbot_data_converter_list[]']:checked").map(function () { |
| 1395 |
return this.value; |
| 1396 |
}).get(); |
| 1397 |
$.ajax({ |
| 1398 |
url: qcld_gemini_admin_data.ajax_url, |
| 1399 |
type: "POST", |
| 1400 |
dataType: "JSON", |
| 1401 |
data: { |
| 1402 |
action : 'qcld_openai_post_data_converter_count', |
| 1403 |
data: list, |
| 1404 |
}, |
| 1405 |
success: function(res) { |
| 1406 |
location.reload(); |
| 1407 |
} |
| 1408 |
}); |
| 1409 |
}); |
| 1410 |
|
| 1411 |
|
| 1412 |
|
| 1413 |
// $('').on('click', '#save_setting', function(){ |
| 1414 |
|
| 1415 |
|
| 1416 |
// }) |
| 1417 |
var file_save = document.getElementById("save_file_id"); |
| 1418 |
if(file_save){ |
| 1419 |
$('.qcl-openai').on('click', '#save_file_id', function(){ |
| 1420 |
var file_id = $("input[name='file_id']" ).val(); |
| 1421 |
|
| 1422 |
$.ajax({ |
| 1423 |
url: qcld_gemini_admin_data.ajax_url, |
| 1424 |
type:'POST', |
| 1425 |
data: ({action : '',nonce: qcld_gemini_admin_data.ajax_nonce,file_id:file_id}), |
| 1426 |
success: function(data){ |
| 1427 |
$('#result').html(data); |
| 1428 |
location.reload(); |
| 1429 |
|
| 1430 |
} |
| 1431 |
}); |
| 1432 |
}) |
| 1433 |
} |
| 1434 |
var settingsOpenAi = document.getElementById("save_setting"); |
| 1435 |
if(settingsOpenAi){ |
| 1436 |
|
| 1437 |
|
| 1438 |
$('.qcl-openai').on('change','#qcld_openai_prompt', function() { |
| 1439 |
|
| 1440 |
if( ($("[id*='qcld_openai_prompt'] :selected").val()) == 'custom_prompt'){ |
| 1441 |
$('#custom_prompt_wrapper').html('<input type="field" id="qcld_openai_prompt_custom" class="form-control my-2" placeholder="Add custom prompt here. Custom prompt will be appended before the user`s queries"/>'); |
| 1442 |
}else{ |
| 1443 |
$('#custom_prompt_wrapper').empty('') |
| 1444 |
} |
| 1445 |
}) |
| 1446 |
setTimeout(() => { |
| 1447 |
var custom_promt_value =$("#custom_promt_value").val(); |
| 1448 |
if( $("[id*='qcld_openai_prompt'] :selected").val() == 'custom_prompt' ){ |
| 1449 |
|
| 1450 |
// $("#custom_promt_value").filter('[value=any_command]').prop('selected', true); |
| 1451 |
$('select option[value="custom_prompt"]').attr('selected', 'selected'); |
| 1452 |
// $('select option[value="any_command"]').attr('selected', 'selected'); |
| 1453 |
|
| 1454 |
$('#custom_prompt_wrapper').html('<input type="field" id="qcld_openai_prompt_custom" class="form-control my-2" />'); |
| 1455 |
$('#qcld_openai_prompt_custom').val(custom_promt_value) |
| 1456 |
|
| 1457 |
} |
| 1458 |
}, 500); |
| 1459 |
$('.qcl-openai').on('change', 'input[name="qcld_openai_system_content_preset"]', function(){ |
| 1460 |
var systemContent = $(this).closest('.qcld-openai-system-preset').find('.qcld-openai-system-preset-value').val(); |
| 1461 |
$('.qcld-openai-system-preset').removeClass('is-selected'); |
| 1462 |
$(this).closest('.qcld-openai-system-preset').addClass('is-selected'); |
| 1463 |
$('#qcld_openai_system_content').val(systemContent).trigger('input'); |
| 1464 |
}); |
| 1465 |
|
| 1466 |
if (!$('input[name="qcld_openai_system_content_preset"]:checked').length) { |
| 1467 |
$('.qcld-openai-system-preset').first().find('input[name="qcld_openai_system_content_preset"]').prop('checked', true).trigger('change'); |
| 1468 |
} |
| 1469 |
$('.qcl-openai').on('input', '#qcld_openai_system_content', function(){ |
| 1470 |
var normalizeSpace = function(str) { return (str || '').replace(/\s+/g, ' ').trim(); }; |
| 1471 |
var currentSystemContent = normalizeSpace($(this).val()); |
| 1472 |
var hasMatchingPreset = false; |
| 1473 |
|
| 1474 |
$('input[name="qcld_openai_system_content_preset"]').each(function(){ |
| 1475 |
var systemContent = normalizeSpace($(this).closest('.qcld-openai-system-preset').find('.qcld-openai-system-preset-value').val()); |
| 1476 |
if (systemContent === currentSystemContent) { |
| 1477 |
$(this).prop('checked', true); |
| 1478 |
$('.qcld-openai-system-preset').removeClass('is-selected'); |
| 1479 |
$(this).closest('.qcld-openai-system-preset').addClass('is-selected'); |
| 1480 |
hasMatchingPreset = true; |
| 1481 |
return false; |
| 1482 |
} |
| 1483 |
}); |
| 1484 |
|
| 1485 |
if (!hasMatchingPreset) { |
| 1486 |
$('input[name="qcld_openai_system_content_preset"]').prop('checked', false); |
| 1487 |
$('.qcld-openai-system-preset').removeClass('is-selected'); |
| 1488 |
} |
| 1489 |
}); |
| 1490 |
$('.qcl-openai').on('click', '#save_setting', function(){ |
| 1491 |
if ($('#is_ai_enabled').is(":checked")){ |
| 1492 |
var is_ai_enabled = 1; |
| 1493 |
}else{ |
| 1494 |
var is_ai_enabled = 0; |
| 1495 |
} |
| 1496 |
if($('#is_ai_only_mode').is(":checked")){ |
| 1497 |
var is_ai_only_mode = 1; |
| 1498 |
}else{ |
| 1499 |
var is_ai_only_mode = 0; |
| 1500 |
} |
| 1501 |
if($('#conversation_continuity').is(":checked")){ |
| 1502 |
var conversation_continuity = 1; |
| 1503 |
}else{ |
| 1504 |
var conversation_continuity = 0; |
| 1505 |
} |
| 1506 |
if($('#is_relevant_enabled').is(":checked")){ |
| 1507 |
var is_relevant_enabled = 1; |
| 1508 |
}else{ |
| 1509 |
var is_relevant_enabled = 0; |
| 1510 |
} |
| 1511 |
if($('#is_page_suggestion_enabled').is(":checked")){ |
| 1512 |
var is_page_suggestion_enabled = 1; |
| 1513 |
}else{ |
| 1514 |
var is_page_suggestion_enabled = 0; |
| 1515 |
} |
| 1516 |
if($('#is_context_awareness_enabled').is(":checked")){ |
| 1517 |
var is_context_awareness_enabled = 1; |
| 1518 |
}else{ |
| 1519 |
var is_context_awareness_enabled = 0; |
| 1520 |
} |
| 1521 |
if($('#is_page_rag_enabled').is(":checked")){ |
| 1522 |
var is_page_rag_enabled = 1; |
| 1523 |
}else{ |
| 1524 |
var is_page_rag_enabled = 0; |
| 1525 |
} |
| 1526 |
if($('#is_stream_enabled').is(":checked")){ |
| 1527 |
var is_stream_enabled = 1; |
| 1528 |
}else{ |
| 1529 |
var is_stream_enabled = 0; |
| 1530 |
} |
| 1531 |
var post_types = $.map($('input[name="site_search_posttypes[]"]:checked'), function(c){return c.value; }); |
| 1532 |
var api_key = $( "input[name='api_key']" ).val(); |
| 1533 |
var openai_engines = $("[id*='openai_engines'] :selected").val(); |
| 1534 |
var qcld_openai_prompt = $("[id*='qcld_openai_prompt'] :selected").val(); |
| 1535 |
var max_tokens = $("input[name='max_tokens']" ).val(); |
| 1536 |
var file_id = $("input[name='file_id']" ).val(); |
| 1537 |
var temperature = $("input[name='temperature']" ).val(); |
| 1538 |
var presence_penalty = $("input[name='presence_penalty']" ).val(); |
| 1539 |
var openai_exclude_keyword = jQuery('#qcld_openai_exclude_keyword').val(); |
| 1540 |
var openai_include_keyword = jQuery('#qcld_openai_include_keyword').val(); |
| 1541 |
var qcld_openai_system_content = jQuery('#qcld_openai_system_content').val(); |
| 1542 |
var qcld_openai_append_content = jQuery('#qcld_openai_append_content').val(); |
| 1543 |
if(qcld_openai_prompt == "custom_prompt"){ |
| 1544 |
var qcld_openai_prompt_custom = $("#qcld_openai_prompt_custom").val(); |
| 1545 |
} |
| 1546 |
var frequency_penalty = $("input[name='frequency_penalty']" ).val(); |
| 1547 |
var openai_post_type = $("input[name='site_search_posttypes[]']:checked").map(function () { |
| 1548 |
return this.value; |
| 1549 |
}).get(); |
| 1550 |
|
| 1551 |
$.ajax({ |
| 1552 |
url: qcld_gemini_admin_data.ajax_url, |
| 1553 |
type:'POST', |
| 1554 |
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}), |
| 1555 |
|
| 1556 |
success: function(data){ |
| 1557 |
$('#result').html(data); |
| 1558 |
if(data.icon == "success"){ |
| 1559 |
var color = "color: green"; |
| 1560 |
}else if(data.icon == "error"){ |
| 1561 |
var color = "color: red"; |
| 1562 |
} |
| 1563 |
Swal.fire({ |
| 1564 |
title: 'Your settings are saved.', |
| 1565 |
html: '<p style=font-size:14px>Please clear your browser <b>cache</b> and <b>cookies</b> both and reload the front end before testing. Alternatively, you can launch a new browser window in <b>Incognito</b>/Private mode (Ctrl+Shift+N in chrome) to test.</p></b><p><span style="'+ color +'">'+ data.msg+'</span></p>', |
| 1566 |
width: 450, |
| 1567 |
icon: 'success', |
| 1568 |
confirmButtonText: 'Got it', |
| 1569 |
confirmButtonWidth: 100, |
| 1570 |
confirmButtonClass: 'btn btn-lg' |
| 1571 |
}).then((result) => { |
| 1572 |
if (result.isConfirmed) { |
| 1573 |
$.ajax({ |
| 1574 |
url: qcld_gemini_admin_data.ajax_url, |
| 1575 |
type: 'POST', |
| 1576 |
data: { |
| 1577 |
action: 'update_settings_option', |
| 1578 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1579 |
disable_ss: 1 |
| 1580 |
}, |
| 1581 |
|
| 1582 |
}); |
| 1583 |
} |
| 1584 |
}); |
| 1585 |
} |
| 1586 |
}); |
| 1587 |
|
| 1588 |
}) |
| 1589 |
|
| 1590 |
//Additional Code - 04-12-2023 |
| 1591 |
//For AI Enabled + Site Search Disabling |
| 1592 |
$('.qcl-openai').on('click', '#save_setting_disable_ss', function(){ |
| 1593 |
|
| 1594 |
console.log($('#conversation_continuity').is(":checked")) |
| 1595 |
if ($('#is_ai_enabled').is(":checked")){ |
| 1596 |
var is_ai_enabled = 1; |
| 1597 |
}else{ |
| 1598 |
var is_ai_enabled = 0; |
| 1599 |
} |
| 1600 |
if($('#is_ai_only_mode').is(":checked")){ |
| 1601 |
var is_ai_only_mode = 1; |
| 1602 |
}else{ |
| 1603 |
var is_ai_only_mode = 0; |
| 1604 |
} |
| 1605 |
if($('#conversation_continuity').is(":checked")){ |
| 1606 |
var conversation_continuity = 1; |
| 1607 |
}else{ |
| 1608 |
var conversation_continuity = 0; |
| 1609 |
} |
| 1610 |
console.log(conversation_continuity) |
| 1611 |
if($('#is_relevant_enabled').is(":checked")){ |
| 1612 |
var is_relevant_enabled = 1; |
| 1613 |
}else{ |
| 1614 |
var is_relevant_enabled = 0; |
| 1615 |
} |
| 1616 |
if($('#is_page_suggestion_enabled').is(":checked")){ |
| 1617 |
var is_page_suggestion_enabled = 1; |
| 1618 |
}else{ |
| 1619 |
var is_page_suggestion_enabled = 0; |
| 1620 |
} |
| 1621 |
if($('#is_context_awareness_enabled').is(":checked")){ |
| 1622 |
var is_context_awareness_enabled = 1; |
| 1623 |
}else{ |
| 1624 |
var is_context_awareness_enabled = 0; |
| 1625 |
} |
| 1626 |
|
| 1627 |
var api_key = $( "input[name='api_key']" ).val(); |
| 1628 |
var openai_engines = $("[id*='openai_engines'] :selected").val(); |
| 1629 |
var qcld_openai_prompt = $("[id*='qcld_openai_prompt'] :selected").val(); |
| 1630 |
var max_tokens = $("input[name='max_tokens']" ).val(); |
| 1631 |
var file_id = $("input[name='file_id']" ).val(); |
| 1632 |
var temperature = $("input[name='temperature']" ).val(); |
| 1633 |
var presence_penalty = $("input[name='presence_penalty']" ).val(); |
| 1634 |
var openai_exclude_keyword = jQuery('#qcld_openai_exclude_keyword').val(); |
| 1635 |
var openai_include_keyword = jQuery('#qcld_openai_include_keyword').val(); |
| 1636 |
if(qcld_openai_prompt == "custom_prompt"){ |
| 1637 |
var qcld_openai_prompt_custom = $("#qcld_openai_prompt_custom").val(); |
| 1638 |
} |
| 1639 |
var frequency_penalty = $("input[name='frequency_penalty']" ).val(); |
| 1640 |
|
| 1641 |
$.ajax({ |
| 1642 |
url: qcld_gemini_admin_data.ajax_url, |
| 1643 |
type:'POST', |
| 1644 |
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}), |
| 1645 |
success: function(data){ |
| 1646 |
$('#result').html(data); |
| 1647 |
location.reload(); |
| 1648 |
} |
| 1649 |
}); |
| 1650 |
|
| 1651 |
|
| 1652 |
|
| 1653 |
}) //Additional Code - 04-12-2023 ends here |
| 1654 |
} |
| 1655 |
var settingsRag = document.getElementById("save_rag_setting"); |
| 1656 |
if (settingsRag) { |
| 1657 |
$('.qcl-openai').on('click', '#save_rag_setting', function () { |
| 1658 |
|
| 1659 |
var rag_embed_pages = $('#rag_embed_pages').is(':checked') ? 1 : 0; |
| 1660 |
var rag_embed_posts = $('#rag_embed_posts').is(':checked') ? 1 : 0; |
| 1661 |
var rag_auto_sync_enabled = $('#rag_auto_sync_enabled').is(':checked') ? 1 : 0; |
| 1662 |
var rag_embed_str = $('#rag_embed_str').is(':checked') ? 1 : 0; |
| 1663 |
|
| 1664 |
var rag_embed_cpts = []; |
| 1665 |
$('.rag_embed_cpts_checkbox:checked').each(function() { |
| 1666 |
rag_embed_cpts.push($(this).val()); |
| 1667 |
}); |
| 1668 |
|
| 1669 |
$.ajax({ |
| 1670 |
url: qcld_gemini_admin_data.ajax_url, |
| 1671 |
type: 'POST', |
| 1672 |
data: ({ |
| 1673 |
action: 'qcld_rag_settings_option', |
| 1674 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1675 |
rag_embed_pages: rag_embed_pages, |
| 1676 |
rag_embed_posts: rag_embed_posts, |
| 1677 |
rag_auto_sync_enabled: rag_auto_sync_enabled, |
| 1678 |
rag_embed_str: rag_embed_str, |
| 1679 |
rag_embed_cpts: rag_embed_cpts |
| 1680 |
}), |
| 1681 |
success: function (data) { |
| 1682 |
$('#result').html(data); |
| 1683 |
Swal.fire({ |
| 1684 |
title: 'Your settings are saved.', |
| 1685 |
html: '<p style=font-size:14px>Please clear your browser <b>cache</b> and <b>cookies</b> both and reload the front end before testing. Alternatively, you can launch a new browser window in <b>Incognito</b>/Private mode (Ctrl+Shift+N in chrome) to test.</p>', |
| 1686 |
width: 450, |
| 1687 |
icon: 'success', |
| 1688 |
confirmButtonText: 'Got it', |
| 1689 |
confirmButtonWidth: 100, |
| 1690 |
confirmButtonClass: 'btn btn-lg' |
| 1691 |
}).then((result) => { |
| 1692 |
if (result.isConfirmed) { |
| 1693 |
$.ajax({ |
| 1694 |
url: qcld_gemini_admin_data.ajax_url, |
| 1695 |
type: 'POST', |
| 1696 |
data: { |
| 1697 |
action: '', |
| 1698 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1699 |
disable_ss: 1 |
| 1700 |
}, |
| 1701 |
|
| 1702 |
}); |
| 1703 |
} |
| 1704 |
}); |
| 1705 |
|
| 1706 |
location.reload(); |
| 1707 |
} |
| 1708 |
}); |
| 1709 |
}) |
| 1710 |
|
| 1711 |
$('.qcl-openai').on('click', '#rag_embed_btn', function (e) { |
| 1712 |
e.preventDefault(); |
| 1713 |
var btn = $(this); |
| 1714 |
var originalText = btn.text(); |
| 1715 |
btn.text('Saving settings...'); |
| 1716 |
|
| 1717 |
var rag_embed_pages = $('#rag_embed_pages').is(':checked') ? 1 : 0; |
| 1718 |
var rag_embed_posts = $('#rag_embed_posts').is(':checked') ? 1 : 0; |
| 1719 |
var rag_auto_sync_enabled = $('#rag_auto_sync_enabled').is(':checked') ? 1 : 0; |
| 1720 |
var rag_embed_str = $('#rag_embed_str').is(':checked') ? 1 : 0; |
| 1721 |
|
| 1722 |
var rag_embed_cpts = []; |
| 1723 |
$('.rag_embed_cpts_checkbox:checked').each(function() { |
| 1724 |
rag_embed_cpts.push($(this).val()); |
| 1725 |
}); |
| 1726 |
|
| 1727 |
$.ajax({ |
| 1728 |
url: qcld_gemini_admin_data.ajax_url, |
| 1729 |
type: 'POST', |
| 1730 |
data: ({ |
| 1731 |
action: 'qcld_rag_settings_option', |
| 1732 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1733 |
rag_embed_pages: rag_embed_pages, |
| 1734 |
rag_embed_posts: rag_embed_posts, |
| 1735 |
rag_auto_sync_enabled: rag_auto_sync_enabled, |
| 1736 |
rag_embed_str: rag_embed_str, |
| 1737 |
rag_embed_cpts: rag_embed_cpts |
| 1738 |
}), |
| 1739 |
success: function (data) { |
| 1740 |
console.log(data); |
| 1741 |
btn.text('Embedding...'); |
| 1742 |
$('#rag_embed_form').submit(); |
| 1743 |
} |
| 1744 |
}); |
| 1745 |
}) |
| 1746 |
|
| 1747 |
// Delete Document |
| 1748 |
$('.qcl-openai').on('click', '.rag-delete-doc', function () { |
| 1749 |
var id = $(this).data('id'); |
| 1750 |
|
| 1751 |
Swal.fire({ |
| 1752 |
title: 'Are you sure?', |
| 1753 |
text: "You won't be able to revert this!", |
| 1754 |
icon: 'warning', |
| 1755 |
showCancelButton: true, |
| 1756 |
confirmButtonColor: '#3085d6', |
| 1757 |
cancelButtonColor: '#d33', |
| 1758 |
confirmButtonText: 'Yes, delete it!' |
| 1759 |
}).then((result) => { |
| 1760 |
if (result.isConfirmed) { |
| 1761 |
$.ajax({ |
| 1762 |
url: qcld_gemini_admin_data.ajax_url, |
| 1763 |
type: 'POST', |
| 1764 |
data: { |
| 1765 |
action: 'qcld_rag_delete_document', |
| 1766 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1767 |
id: id |
| 1768 |
}, |
| 1769 |
success: function (res) { |
| 1770 |
if (res.success) { |
| 1771 |
$('#rag-doc-' + id).remove(); |
| 1772 |
Swal.fire('Deleted!', res.data, 'success'); |
| 1773 |
} else { |
| 1774 |
Swal.fire('Error', res.data, 'error'); |
| 1775 |
} |
| 1776 |
} |
| 1777 |
}); |
| 1778 |
} |
| 1779 |
}) |
| 1780 |
}); |
| 1781 |
|
| 1782 |
// Select All Checkbox |
| 1783 |
$('.qcl-openai').on('change', '#rag-select-all', function() { |
| 1784 |
$('.rag-doc-checkbox').prop('checked', $(this).prop('checked')); |
| 1785 |
}); |
| 1786 |
|
| 1787 |
// Bulk Actions (Apply) |
| 1788 |
$('.qcl-openai').on('click', '#rag-apply-bulk-action', function() { |
| 1789 |
var action = $('#rag-bulk-action-selector').val(); |
| 1790 |
if (action !== 'delete') { |
| 1791 |
Swal.fire('Info', 'Please select a valid bulk action.', 'info'); |
| 1792 |
return; |
| 1793 |
} |
| 1794 |
|
| 1795 |
var selectedIds = []; |
| 1796 |
$('.rag-doc-checkbox:checked').each(function() { |
| 1797 |
selectedIds.push($(this).val()); |
| 1798 |
}); |
| 1799 |
|
| 1800 |
if (selectedIds.length === 0) { |
| 1801 |
Swal.fire('Warning', 'Please select at least one document.', 'warning'); |
| 1802 |
return; |
| 1803 |
} |
| 1804 |
|
| 1805 |
Swal.fire({ |
| 1806 |
title: 'Are you sure?', |
| 1807 |
text: "Delete " + selectedIds.length + " selected documents? This cannot be undone!", |
| 1808 |
icon: 'warning', |
| 1809 |
showCancelButton: true, |
| 1810 |
confirmButtonColor: '#3085d6', |
| 1811 |
cancelButtonColor: '#d33', |
| 1812 |
confirmButtonText: 'Yes, delete selected!' |
| 1813 |
}).then((result) => { |
| 1814 |
if (result.isConfirmed) { |
| 1815 |
$.ajax({ |
| 1816 |
url: qcld_gemini_admin_data.ajax_url, |
| 1817 |
type: 'POST', |
| 1818 |
data: { |
| 1819 |
action: 'qcld_rag_bulk_delete_documents', |
| 1820 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1821 |
ids: selectedIds |
| 1822 |
}, |
| 1823 |
success: function(res) { |
| 1824 |
if (res.success) { |
| 1825 |
selectedIds.forEach(function(id) { |
| 1826 |
$('#rag-doc-' + id).remove(); |
| 1827 |
}); |
| 1828 |
$('#rag-select-all').prop('checked', false); |
| 1829 |
$('#rag-bulk-action-selector').val('-1'); |
| 1830 |
Swal.fire('Deleted!', res.data, 'success'); |
| 1831 |
} else { |
| 1832 |
Swal.fire('Error', res.data, 'error'); |
| 1833 |
} |
| 1834 |
} |
| 1835 |
}); |
| 1836 |
} |
| 1837 |
}); |
| 1838 |
}); |
| 1839 |
|
| 1840 |
// Delete All Documents |
| 1841 |
$('.qcl-openai').on('click', '#rag-delete-all', function() { |
| 1842 |
Swal.fire({ |
| 1843 |
title: 'CRITICAL WARNING!', |
| 1844 |
text: "This will delete ALL documents in your Knowledge Base. This action is IRREVERSIBLE!", |
| 1845 |
icon: 'error', |
| 1846 |
showCancelButton: true, |
| 1847 |
confirmButtonColor: '#d33', |
| 1848 |
cancelButtonColor: '#3085d6', |
| 1849 |
confirmButtonText: 'YES, DELETE EVERYTHING!' |
| 1850 |
}).then((result) => { |
| 1851 |
if (result.isConfirmed) { |
| 1852 |
$.ajax({ |
| 1853 |
url: qcld_gemini_admin_data.ajax_url, |
| 1854 |
type: 'POST', |
| 1855 |
data: { |
| 1856 |
action: 'qcld_rag_delete_all_documents', |
| 1857 |
nonce: qcld_gemini_admin_data.ajax_nonce |
| 1858 |
}, |
| 1859 |
success: function(res) { |
| 1860 |
if (res.success) { |
| 1861 |
$('#rag-knowledge-base-list').html('<tr><td colspan="6">No documents found in knowledge base.</td></tr>'); |
| 1862 |
$('#rag-select-all').prop('checked', false); |
| 1863 |
Swal.fire('Cleared!', res.data, 'success'); |
| 1864 |
} else { |
| 1865 |
Swal.fire('Error', res.data, 'error'); |
| 1866 |
} |
| 1867 |
} |
| 1868 |
}); |
| 1869 |
} |
| 1870 |
}); |
| 1871 |
}); |
| 1872 |
|
| 1873 |
// Edit Document - Open Modal |
| 1874 |
$('.qcl-openai').on('click', '.rag-edit-doc', function () { |
| 1875 |
var id = $(this).data('id'); |
| 1876 |
$.ajax({ |
| 1877 |
url: qcld_gemini_admin_data.ajax_url, |
| 1878 |
type: 'POST', |
| 1879 |
data: { |
| 1880 |
action: 'qcld_rag_get_document', |
| 1881 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1882 |
id: id |
| 1883 |
}, |
| 1884 |
success: function (res) { |
| 1885 |
if (res.success) { |
| 1886 |
$('#edit-doc-id').val(res.data.id); |
| 1887 |
$('#edit-doc-title').val(res.data.title); |
| 1888 |
$('#edit-doc-content').val(res.data.content); |
| 1889 |
$('#rag-edit-modal').show(); |
| 1890 |
} else { |
| 1891 |
Swal.fire('Error', res.data, 'error'); |
| 1892 |
} |
| 1893 |
} |
| 1894 |
}); |
| 1895 |
}); |
| 1896 |
|
| 1897 |
// Close Edit Modal |
| 1898 |
$(document).on('click', '#close-edit-modal', function () { |
| 1899 |
$('#rag-edit-modal').hide(); |
| 1900 |
}); |
| 1901 |
|
| 1902 |
// Manual Sync Document |
| 1903 |
$(document).on('click', '.rag-sync-doc', function(e) { |
| 1904 |
e.preventDefault(); |
| 1905 |
var btn = $(this); |
| 1906 |
var docId = btn.data('id'); |
| 1907 |
|
| 1908 |
if (!confirm('Are you sure you want to re-sync this document from its source?')) { |
| 1909 |
return; |
| 1910 |
} |
| 1911 |
|
| 1912 |
btn.prop('disabled', true).text('Syncing...'); |
| 1913 |
|
| 1914 |
$.post(qcld_gemini_admin_data.ajax_url, { |
| 1915 |
action: 'qcld_rag_manual_sync', |
| 1916 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1917 |
id: docId |
| 1918 |
}, function(response) { |
| 1919 |
btn.prop('disabled', false).text('Sync'); |
| 1920 |
if (response.success) { |
| 1921 |
alert(response.data.message); |
| 1922 |
location.reload(); |
| 1923 |
} else { |
| 1924 |
alert('Error: ' + response.data.message); |
| 1925 |
} |
| 1926 |
}); |
| 1927 |
}); |
| 1928 |
|
| 1929 |
// Save Edit Document |
| 1930 |
$(document).on('click', '#save-edit-doc', function () { |
| 1931 |
var id = $('#edit-doc-id').val(); |
| 1932 |
var title = $('#edit-doc-title').val(); |
| 1933 |
var content = $('#edit-doc-content').val(); |
| 1934 |
var btn = $(this); |
| 1935 |
|
| 1936 |
btn.prop('disabled', true).text('Saving...'); |
| 1937 |
|
| 1938 |
$.ajax({ |
| 1939 |
url: qcld_gemini_admin_data.ajax_url, |
| 1940 |
type: 'POST', |
| 1941 |
data: { |
| 1942 |
action: 'qcld_rag_update_document', |
| 1943 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1944 |
id: id, |
| 1945 |
title: title, |
| 1946 |
content: content |
| 1947 |
}, |
| 1948 |
success: function (res) { |
| 1949 |
btn.prop('disabled', false).text('Save Changes'); |
| 1950 |
if (res.success) { |
| 1951 |
$('#rag-edit-modal').hide(); |
| 1952 |
Swal.fire('Updated!', res.data, 'success').then(() => { |
| 1953 |
location.reload(); |
| 1954 |
}); |
| 1955 |
} else { |
| 1956 |
Swal.fire('Error', res.data, 'error'); |
| 1957 |
} |
| 1958 |
} |
| 1959 |
}); |
| 1960 |
}); |
| 1961 |
} |
| 1962 |
// Delete Document |
| 1963 |
$('.qcl-openai').on('click', '.rag-delete-doc', function () { |
| 1964 |
var id = $(this).data('id'); |
| 1965 |
|
| 1966 |
Swal.fire({ |
| 1967 |
title: 'Are you sure?', |
| 1968 |
text: "You won't be able to revert this!", |
| 1969 |
icon: 'warning', |
| 1970 |
showCancelButton: true, |
| 1971 |
confirmButtonColor: '#3085d6', |
| 1972 |
cancelButtonColor: '#d33', |
| 1973 |
confirmButtonText: 'Yes, delete it!' |
| 1974 |
}).then((result) => { |
| 1975 |
if (result.isConfirmed) { |
| 1976 |
$.ajax({ |
| 1977 |
url: qcld_gemini_admin_data.ajax_url, |
| 1978 |
type: 'POST', |
| 1979 |
data: { |
| 1980 |
action: 'qcld_rag_delete_document', |
| 1981 |
nonce: qcld_gemini_admin_data.ajax_nonce, |
| 1982 |
id: id |
| 1983 |
}, |
| 1984 |
success: function (res) { |
| 1985 |
if (res.success) { |
| 1986 |
$('#rag-doc-' + id).remove(); |
| 1987 |
Swal.fire('Deleted!', res.data, 'success'); |
| 1988 |
} else { |
| 1989 |
Swal.fire('Error', res.data, 'error'); |
| 1990 |
} |
| 1991 |
} |
| 1992 |
}); |
| 1993 |
} |
| 1994 |
}) |
| 1995 |
}); |
| 1996 |
|
| 1997 |
$('.qcl-openai').on('click', '#qcld_check_connection', function(){ |
| 1998 |
jQuery('#rotationloader').css('display','inline-block'); |
| 1999 |
$.ajax({ |
| 2000 |
url: qcld_gemini_admin_data.ajax_url, |
| 2001 |
type:'POST', |
| 2002 |
data: ({action : 'openai_troubleshooting',nonce:qcld_gemini_admin_data.ajax_nonce}), |
| 2003 |
success: function(data){ |
| 2004 |
|
| 2005 |
$('#result').html(data); |
| 2006 |
Swal.fire({ |
| 2007 |
title: data.title, |
| 2008 |
html: data.msg, |
| 2009 |
width: 450, |
| 2010 |
icon: data.icon, |
| 2011 |
confirmButtonText: 'Got it', |
| 2012 |
customClass: 'connection-modal', |
| 2013 |
}) |
| 2014 |
jQuery('#rotationloader').css('display','none'); |
| 2015 |
// location.reload(); |
| 2016 |
} |
| 2017 |
}); |
| 2018 |
}) |
| 2019 |
$(document).on('click', '.ai-provider-card', function () { |
| 2020 |
var selected = $(this).data('provider'); |
| 2021 |
console.log('Provider changed to: ' + selected); |
| 2022 |
$('.ai-provider-card').removeClass('active'); |
| 2023 |
$(this).addClass('active'); |
| 2024 |
$('#ai-provider-selector').val(selected); |
| 2025 |
$('.ai-settings-provider').hide(); |
| 2026 |
$('#' + selected + '-settings').show(); |
| 2027 |
$('#rag-settings').hide(); // Ensure RAG is hidden when switching providers |
| 2028 |
}); |
| 2029 |
|
| 2030 |
// Avatar Location card click handler |
| 2031 |
$(document).on('click', '.avatar-location-card', function () { |
| 2032 |
var location = $(this).data('location'); |
| 2033 |
$('.avatar-location-card').removeClass('active'); |
| 2034 |
$(this).addClass('active'); |
| 2035 |
$('#qcld-avatar-location').val(location); |
| 2036 |
}); |
| 2037 |
|
| 2038 |
if (window.location.hash.indexOf('#ai-knowledge-base-tab') === 0) { |
| 2039 |
$('.ai-settings-provider').hide(); |
| 2040 |
$('#rag-settings').show(); |
| 2041 |
} |
| 2042 |
|
| 2043 |
$('#ai-knowledge-base-tab').on('click', function (e) { |
| 2044 |
e.preventDefault(); |
| 2045 |
$('.ai-settings-provider').hide(); |
| 2046 |
$('#rag-settings').show(); |
| 2047 |
if (history.pushState) { history.pushState(null, null, '#ai-knowledge-base-tab'); } |
| 2048 |
}); |
| 2049 |
// common Ai settings tab |
| 2050 |
$('#qcld-common-ai-settings').on('click', function (e) { |
| 2051 |
e.preventDefault(); |
| 2052 |
$('.ai-settings-provider').hide(); |
| 2053 |
$('#common-ai-settings').show(); |
| 2054 |
if (history.pushState) { history.pushState(null, null, '#common-ai-settings'); } |
| 2055 |
}); |
| 2056 |
$('#ai-knowledge-base-tab-openai').on('click', function (e) { |
| 2057 |
e.preventDefault(); |
| 2058 |
$('.ai-settings-provider').hide(); |
| 2059 |
$('#rag-settings').show(); |
| 2060 |
if (history.pushState) { history.pushState(null, null, '#ai-knowledge-base-tab'); } |
| 2061 |
}); |
| 2062 |
}); |
| 2063 |
|
| 2064 |
$(document).on('click', '.qcld_botopenai_generate_image', function (e) { |
| 2065 |
var qcld_seo_button = $(this); |
| 2066 |
var qcld_seo_prompt = $('#prompt').val(); |
| 2067 |
var qcld_seo_artist = $('#artist').val(); |
| 2068 |
var qcld_seo_art_style = $('#art_style').val(); |
| 2069 |
var qcld_seo_photography_style = $('#photography_style').val(); |
| 2070 |
var qcld_seo_lighting = $('#lighting').val(); |
| 2071 |
var qcld_seo_subject = $('#subject').val(); |
| 2072 |
var qcld_seo_camera_settings = $('#camera_settings').val(); |
| 2073 |
var qcld_seo_composition = $('#composition').val(); |
| 2074 |
var qcld_seo_resolution = $('#resolution').val(); |
| 2075 |
var qcld_seo_color = $('#color').val(); |
| 2076 |
var qcld_seo_special_effects = $('#special_effects').val(); |
| 2077 |
var qcld_seo_img_size = $('#img_size').val(); |
| 2078 |
var qcld_seo_num_images = $('#num_images').val(); |
| 2079 |
|
| 2080 |
|
| 2081 |
if(qcld_seo_prompt === ''){ |
| 2082 |
alert('Something went wrong'); |
| 2083 |
}else{ |
| 2084 |
|
| 2085 |
var qcld_seo_post_status = $('.qcld_seo-post-status:checked').val(); |
| 2086 |
var qcld_seo_schedule = $('.qcld_seo-schedule-post').val(); |
| 2087 |
|
| 2088 |
var data = { |
| 2089 |
qcld_seo_prompt: qcld_seo_prompt, |
| 2090 |
qcld_seo_artist: qcld_seo_artist, |
| 2091 |
qcld_seo_art_style: qcld_seo_art_style, |
| 2092 |
qcld_seo_photography_style: qcld_seo_photography_style, |
| 2093 |
qcld_seo_lighting: qcld_seo_lighting, |
| 2094 |
qcld_seo_subject: qcld_seo_subject, |
| 2095 |
qcld_seo_camera_settings: qcld_seo_camera_settings, |
| 2096 |
qcld_seo_composition: qcld_seo_composition, |
| 2097 |
qcld_seo_resolution: qcld_seo_resolution, |
| 2098 |
qcld_seo_color: qcld_seo_color, |
| 2099 |
qcld_seo_special_effects: qcld_seo_special_effects, |
| 2100 |
qcld_seo_img_size: qcld_seo_img_size, |
| 2101 |
qcld_seo_num_images: qcld_seo_num_images, |
| 2102 |
action: 'qcld_openai_image_generate', |
| 2103 |
nonce: qcld_gemini_admin_data.ajax_url, |
| 2104 |
}; |
| 2105 |
|
| 2106 |
$.ajax({ |
| 2107 |
url: qcld_gemini_admin_data.ajax_url, |
| 2108 |
data: data, |
| 2109 |
type: 'POST', |
| 2110 |
dataType: 'JSON', |
| 2111 |
beforeSend: function(){ |
| 2112 |
qcld_seo_button.attr('disabled','disabled'); |
| 2113 |
qcld_seo_button.append('<span class="spinner"></span>'); |
| 2114 |
qcld_seo_button.find('.spinner').css('visibility','unset'); |
| 2115 |
}, |
| 2116 |
success: function (res){ |
| 2117 |
qcld_seo_button.removeAttr('disabled'); |
| 2118 |
qcld_seo_button.find('.spinner').remove(); |
| 2119 |
if(res.status === 'success'){ |
| 2120 |
// window.location.href = qcld_seo_bulk_content + '&qcld_seo_track='+res.id |
| 2121 |
$('#qcld_seo-tab-generated-text').html( res.html ); |
| 2122 |
} |
| 2123 |
else{ |
| 2124 |
alert('Something went wrong'); |
| 2125 |
} |
| 2126 |
}, |
| 2127 |
error: function (){ |
| 2128 |
qcld_seo_button.removeAttr('disabled'); |
| 2129 |
qcld_seo_button.find('.spinner').remove(); |
| 2130 |
alert('Something went wrong'); |
| 2131 |
} |
| 2132 |
}) |
| 2133 |
} |
| 2134 |
}); |
| 2135 |
$(document).on('click', '.qcld_botopenai_generate_image_download', function (e) { |
| 2136 |
e.preventDefault(); |
| 2137 |
|
| 2138 |
var url = $(this).find("img").attr('src'); |
| 2139 |
console.log(url) |
| 2140 |
var qcld_seo_button = $(this); |
| 2141 |
var image_url = $(this).find('img').attr('src'); |
| 2142 |
var image_page_url = $(this).find('img').attr('src'); |
| 2143 |
var photographer = $(this).find('img').data('photographer'); |
| 2144 |
var q = ''; |
| 2145 |
var data = { |
| 2146 |
qcld_seo_openai_images_upload : "1", |
| 2147 |
image_url : image_url, |
| 2148 |
image_src_page : image_page_url, |
| 2149 |
image_user : photographer, |
| 2150 |
q : q, |
| 2151 |
action : 'qcld_openai_image_generate_url' |
| 2152 |
}; |
| 2153 |
$.ajax({ |
| 2154 |
url: qcld_gemini_admin_data.ajax_url, |
| 2155 |
data: data, |
| 2156 |
type: 'POST', |
| 2157 |
dataType: 'JSON', |
| 2158 |
beforeSend: function(){ |
| 2159 |
qcld_seo_button.removeAttr('disabled').removeClass("uploading").find('.qcld_seo_msg').remove(); |
| 2160 |
qcld_seo_button.attr('disabled','disabled'); |
| 2161 |
qcld_seo_button.addClass('uploading').find('.qcld_seo_download img').replaceWith(''); |
| 2162 |
}, |
| 2163 |
success: function ( res ){ |
| 2164 |
console.log(res.data.html); |
| 2165 |
qcld_seo_button.find('.qcld_seo_download img').replaceWith('<p class="qcld_seo_msg">'+res.data.html+'<p>' ); |
| 2166 |
const newBlock = wp.blocks.createBlock( "core/image", { |
| 2167 |
id: res.data.attachment_id, |
| 2168 |
url: res.data.url, |
| 2169 |
width: res.data.width, |
| 2170 |
height: res.data.height, |
| 2171 |
sizeSlug: res.data.size, |
| 2172 |
alt: '', |
| 2173 |
title: '', |
| 2174 |
caption: '', |
| 2175 |
}); |
| 2176 |
wp.data.dispatch("core/editor").insertBlocks(newBlock); |
| 2177 |
}, |
| 2178 |
error: function (){ |
| 2179 |
qcld_seo_button.removeAttr('disabled'); |
| 2180 |
} |
| 2181 |
}) |
| 2182 |
|
| 2183 |
}); |
| 2184 |
|
| 2185 |
$(document).on('click','#qcld_article_keyword_suggestion',function(e){ |
| 2186 |
var qcld_keyword_suggestion = $('#qcld_article_keyword_suggestion_mf').val(); |
| 2187 |
var qcld_keyword_number = $('#qcld_keyword_number').val(); |
| 2188 |
var qcld_article_language = $('#qcld_article_language').val(); |
| 2189 |
var qcld_article_number_of_heading = $('#qcld_article_number_of_heading').val(); |
| 2190 |
var qcld_article_heading_tag = $('#qcld_article_heading_tag').val(); |
| 2191 |
var qcld_article_heading_style = $('#qcld_article_heading_style').val(); |
| 2192 |
var qcld_article_heading_tone = $('#qcld_article_heading_tone').val(); |
| 2193 |
var qcld_article_heading_img = $('#qcld_article_heading_img').val(); |
| 2194 |
var qcld_article_heading_img = $("input[name=qcld_article_heading_img]:checked").val(); |
| 2195 |
var qcld_article_heading_tagline = $("input[name=qcld_article_heading_tagline]:checked").val(); |
| 2196 |
var qcld_article_heading_intro = $("input[name=qcld_article_heading_intro]:checked").val(); |
| 2197 |
var qcld_article_heading_conclusion = $("input[name=qcld_article_heading_conclusion]:checked").val(); |
| 2198 |
var qcld_article_label_anchor_text = $('#qcld_article_label_anchor_text').val(); |
| 2199 |
var qcld_article_target_url = $('#qcld_article_target_url').val(); |
| 2200 |
var qcld_article_target_label_cta = $('#qcld_article_target_label_cta').val(); |
| 2201 |
var qcld_article_cta_pos = $('#qcld_article_cta_pos').val(); |
| 2202 |
var qcld_article_label_keywords = $('#qcld_article_label_keywords').val(); |
| 2203 |
var qcld_article_label_word_to_avoid= $('#qcld_article_label_word_to_avoid').val(); |
| 2204 |
var qcld_article_label_keywords_bold= $("input[name=qcld_article_label_keywords_bold]:checked").val(); |
| 2205 |
var qcld_article_heading_faq = $("input[name=qcld_article_heading_faq]:checked").val(); |
| 2206 |
var qcld_article_img_size = $('#qcld_article_img_size').val(); |
| 2207 |
|
| 2208 |
$('#qcld_article_keyword_suggestion').addClass('spinning'); |
| 2209 |
$('#qcld_article_keyword_suggestion').prop("disabled",true); |
| 2210 |
$('#linkbait_article_keyword_data').html(''); |
| 2211 |
$.ajax({ |
| 2212 |
url: qcld_gemini_admin_data.ajax_url, |
| 2213 |
method: 'POST', |
| 2214 |
data: { |
| 2215 |
'action': 'openai_keyword_suggestion_content', |
| 2216 |
'keyword' : qcld_keyword_suggestion, |
| 2217 |
'keyword_number' : qcld_keyword_number, |
| 2218 |
'qcld_article_language' : qcld_article_language, |
| 2219 |
'qcld_article_number_of_heading' : qcld_article_number_of_heading, |
| 2220 |
'qcld_article_heading_tag' : qcld_article_heading_tag, |
| 2221 |
'qcld_article_heading_style' : qcld_article_heading_style, |
| 2222 |
'qcld_article_heading_tone' : qcld_article_heading_tone, |
| 2223 |
'qcld_article_heading_img' : qcld_article_heading_img, |
| 2224 |
'qcld_article_heading_tagline' : qcld_article_heading_tagline, |
| 2225 |
'qcld_article_heading_intro' : qcld_article_heading_intro, |
| 2226 |
'qcld_article_heading_conclusion' : qcld_article_heading_conclusion, |
| 2227 |
'qcld_article_label_anchor_text' : qcld_article_label_anchor_text, |
| 2228 |
'qcld_article_target_url' : qcld_article_target_url, |
| 2229 |
'qcld_article_target_label_cta' : qcld_article_target_label_cta, |
| 2230 |
'qcld_article_cta_pos' : qcld_article_cta_pos, |
| 2231 |
'qcld_article_label_keywords' : qcld_article_label_keywords, |
| 2232 |
'qcld_article_label_word_to_avoid': qcld_article_label_word_to_avoid, |
| 2233 |
'qcld_article_label_keywords_bold': qcld_article_label_keywords_bold, |
| 2234 |
'qcld_article_heading_faq' : qcld_article_heading_faq, |
| 2235 |
'qcld_article_img_size' : qcld_article_img_size, |
| 2236 |
//'selectedlanguage': selectedlanguage, |
| 2237 |
}, |
| 2238 |
dataType: 'json', |
| 2239 |
success: function(response) { |
| 2240 |
//$('#linkbait_keyword_data').append(response.keywords); |
| 2241 |
$('#qcld_article_keyword_suggestion').prop("disabled",false); |
| 2242 |
$('#qcld_article_keyword_suggestion').removeClass('spinning'); |
| 2243 |
$('#linkbait_article_keyword_data').html('<div class="qcld_copied-content-wrap"><div class="qcld_copied-content_text btn d-none link-success">Copied</div><a class="btn btn-sm btn-secondary qcld-copied-content_text"><span class="dashicons dashicons-admin-page"></span></a></div><textarea id="qcld_content_result_msg" style="height: 20rem">' + response.keywords +'</textarea>'); |
| 2244 |
$('#linkbait_article_keyword_data').append('<div class="qcld_content_result_wrap"><div class="qcld_rewrite_result_count">' + response.keywords.split(" ").length +'</div></div>'); |
| 2245 |
|
| 2246 |
$('#qcld_content_result_msg').focus(); |
| 2247 |
$('#qcld_content_result_msg').focusout(); |
| 2248 |
} |
| 2249 |
}); |
| 2250 |
|
| 2251 |
|
| 2252 |
|
| 2253 |
}); |
| 2254 |
|
| 2255 |
$(document).on('click', '.ai-provider-card', function() { |
| 2256 |
var selected = $(this).data('provider'); |
| 2257 |
$('.ai-provider-card').removeClass('active'); |
| 2258 |
$(this).addClass('active'); |
| 2259 |
$('#ai-provider-selector').val(selected); |
| 2260 |
$('.ai-settings-provider').hide(); |
| 2261 |
$('#' + selected + '-settings').show(); |
| 2262 |
}); |
| 2263 |
|
| 2264 |
$('#is_rate_limiting_enabled').on('change', function () { |
| 2265 |
if ($(this).is(":checked")) { |
| 2266 |
$('#rate_limit_settings').show(); |
| 2267 |
$('.rate-limit-input').prop('disabled', false); |
| 2268 |
$('.rate-limit-timeframe').prop('disabled', false); |
| 2269 |
} else { |
| 2270 |
$('#rate_limit_settings').hide(); |
| 2271 |
$('.rate-limit-input').prop('disabled', true); |
| 2272 |
$('.rate-limit-timeframe').prop('disabled', true); |
| 2273 |
} |
| 2274 |
}); |
| 2275 |
$('.qcl-openai').on('click', '#qcld_openai_rate_limit_save_setting', function () { |
| 2276 |
console.log('Saving rate limit settings...'); |
| 2277 |
if ($('#is_rate_limiting_enabled').is(":checked")) { |
| 2278 |
var is_rate_limiting_enabled = 1; |
| 2279 |
} else { |
| 2280 |
var is_rate_limiting_enabled = 0; |
| 2281 |
} |
| 2282 |
var rate_limits = {}; |
| 2283 |
var rate_limit_timeframes = {}; |
| 2284 |
// Collect rate limits for each role |
| 2285 |
$('.rate-limit-input').each(function () { |
| 2286 |
var role = $(this).attr('id').replace('rate_limit_', ''); |
| 2287 |
var limit = $(this).val(); |
| 2288 |
rate_limits[role] = limit; |
| 2289 |
rate_limit_timeframes[role] = $('#rate_limit_timeframe_' + role).val(); |
| 2290 |
}); |
| 2291 |
$.ajax({ |
| 2292 |
url: ajax_object.ajax_url, |
| 2293 |
type: 'POST', |
| 2294 |
data: ({ |
| 2295 |
action: 'rate_limit_settings_option', |
| 2296 |
nonce: ajax_object.ajax_nonce, |
| 2297 |
is_rate_limiting_enabled: is_rate_limiting_enabled, |
| 2298 |
rate_limits: rate_limits, |
| 2299 |
rate_limit_timeframes: rate_limit_timeframes |
| 2300 |
}), |
| 2301 |
success: function (data) { |
| 2302 |
$('#result').html(data); |
| 2303 |
Swal.fire({ |
| 2304 |
title: 'Your settings are saved.', |
| 2305 |
html: '<p style=font-size:14px>Please clear your browser <b>cache</b> and <b>cookies</b> both and reload the front end before testing. Alternatively, you can launch a new browser window in <b>Incognito</b>/Private mode (Ctrl+Shift+N in chrome) to test.</p>', |
| 2306 |
width: 450, |
| 2307 |
icon: 'success', |
| 2308 |
confirmButtonText: 'Got it', |
| 2309 |
confirmButtonWidth: 100, |
| 2310 |
confirmButtonClass: 'btn btn-lg' |
| 2311 |
}) |
| 2312 |
// location.reload(); |
| 2313 |
} |
| 2314 |
}); |
| 2315 |
}) |
| 2316 |
}); |
| 2317 |
|
| 2318 |
document.addEventListener('DOMContentLoaded', function() { |
| 2319 |
if(localStorage.getItem('qcld_general_settings_notice_closed') === '1') { |
| 2320 |
var notice = document.querySelector('.qcld-general-settings-connection-notic'); |
| 2321 |
if(notice) notice.style.display = 'none'; |
| 2322 |
} |
| 2323 |
}); |
| 2324 |
|
| 2325 |
|
| 2326 |
|
| 2327 |
|
| 2328 |
function qcld_wpbot_languageChange_from_center(langCode) { |
| 2329 |
switch (langCode) { |
| 2330 |
case "not_mine": |
| 2331 |
setTimeout(() => { |
| 2332 |
jQuery("#waring-message").show() |
| 2333 |
jQuery("#waring-message").html('<span style="padding: 7px; color: #fff; background: #dc3545;border-radius:5px"> ** Please change the texts below to your language manually so that the ChatBot can speak in your language</span><br>') |
| 2334 |
}, 500); |
| 2335 |
|
| 2336 |
break; |
| 2337 |
default: |
| 2338 |
setTimeout(() => { |
| 2339 |
jQuery("#waring-message").hide() |
| 2340 |
}, 500); |
| 2341 |
jQuery.ajax({ |
| 2342 |
url: qcld_gemini_admin_data.ajax_url, // e.g., 'wp-admin/admin-ajax.php' |
| 2343 |
type: 'POST', |
| 2344 |
data: { |
| 2345 |
'action': 'qcld_change_language_from_center', |
| 2346 |
'language' : langCode, |
| 2347 |
'nonce': qcld_gemini_admin_data.ajax_nonce, // Include nonce for security |
| 2348 |
},// Expecting JSON response from PHP |
| 2349 |
}) |
| 2350 |
.done(function(response) { |
| 2351 |
// If PHP returns a JSON object |
| 2352 |
if (response.success === false || response.error) { |
| 2353 |
} else { |
| 2354 |
jQuery.each( response.data.data, function(key, value) { |
| 2355 |
if (Array.isArray( value )) { |
| 2356 |
const textareas = jQuery('.wp-chatbot-lng-items').find('input[name="' + key + '[]"]'); |
| 2357 |
textareas.each(function(index) { |
| 2358 |
if (index < value.length) { |
| 2359 |
jQuery(this).val(value[index]); |
| 2360 |
} |
| 2361 |
}); |
| 2362 |
}else{ |
| 2363 |
jQuery('input[name="' + key + '"]').val(value); |
| 2364 |
} |
| 2365 |
}); |
| 2366 |
jQuery("#submit-language").click(); |
| 2367 |
// processResponse(response.data); |
| 2368 |
} |
| 2369 |
}) |
| 2370 |
.fail(function(jqXHR, textStatus, errorThrown) { |
| 2371 |
console.error('AJAX Fail:', textStatus, errorThrown); |
| 2372 |
}); |
| 2373 |
} |
| 2374 |
} |
| 2375 |
|
| 2376 |
|
| 2377 |
|