Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/aimogen-pro/scripts/main.js

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + "use strict";
2 + var initial = '';
3 + function aiomaticLoading(btn)
4 + {
5 + btn.attr('disabled','disabled');
6 + if(!btn.find('spinner').length){
7 + btn.append('<span class="spinner"></span>');
8 + }
9 + btn.find('.spinner').css('visibility','unset');
10 + }
11 + function aiomaticRmLoading(btn)
12 + {
13 + btn.removeAttr('disabled');
14 + btn.find('.spinner').remove();
15 + }
16 + function assistantSelected(checkID, disableClass)
17 + {
18 + if(jQuery('#' + checkID).val() == '')
19 + {
20 + jQuery('.' + disableClass).find('option').removeAttr('disabled');
21 + }
22 + else
23 + {
24 + jQuery('.' + disableClass).find('option').attr('disabled', 'disabled');
25 + }
26 + }
27 + function detectabilityChanged()
28 + {
29 + if(!jQuery('#no_undetectibility').is(":checked"))
30 + {
31 + jQuery('.hideDetectability').show();
32 + }
33 + else
34 + {
35 + jQuery('.hideDetectability').hide();
36 + }
37 + }
38 + jQuery(document).ready(function($){
39 + $(document).on('click', '.notice.is-dismissible', function() {
40 + var $this = $(this);
41 + var notice_id = $this.attr('data-dismissible');
42 +
43 + if (notice_id) {
44 + $.ajax({
45 + url: mycustommainsettings.ajaxurl,
46 + type: 'POST',
47 + data: {
48 + action: 'aiomatic_dismiss_notice',
49 + nonce: mycustommainsettings.nonce,
50 + notice_id: notice_id
51 + },
52 + success: function(response) {
53 + },
54 + error: function(xhr, status, error) {
55 + console.log('Error: ' + error);
56 + }
57 + });
58 + }
59 + });
60 + });
61 + function aiomaticRefreshOllama()
62 + {
63 + var confirm_delete = confirm('Are you sure you want to refresh Ollama model list?');
64 + if (confirm_delete) {
65 + document.getElementById('ollamaButton').setAttribute('disabled','disabled');
66 + jQuery.ajax({
67 + url: mycustommainsettings.ajaxurl,
68 + type: 'POST',
69 + data: {
70 + action: 'aiomatic_refresh_ollama_models',
71 + nonce: mycustommainsettings.nonce
72 + },
73 + success: function(res) {
74 + if(res.success == true)
75 + {
76 + document.getElementById('ollamaButton').removeAttribute('disabled');
77 + alert('Ollama models refreshed successfully!');
78 + }
79 + else
80 + {
81 + alert('Failed to refresh model list: ' + res.data.message);
82 + console.log('Failed to refresh model list: ' + JSON.stringify(res));
83 + document.getElementById('ollamaButton').removeAttribute('disabled');
84 + }
85 + },
86 + error: function(xhr, status, error) {
87 + document.getElementById('ollamaButton').removeAttribute('disabled');
88 + alert('Failed to refresh model list, please try again later!');
89 + console.log('Error: ' + error);
90 + }
91 + });
92 + }
93 + }
94 + function aiomaticRefreshOpenRouter()
95 + {
96 + var confirm_delete = confirm('Are you sure you want to refresh OpenRouter model list?');
97 + if (confirm_delete) {
98 + document.getElementById('routerButton').setAttribute('disabled','disabled');
99 + jQuery.ajax({
100 + url: mycustommainsettings.ajaxurl,
101 + type: 'POST',
102 + data: {
103 + action: 'aiomatic_refresh_openrouter_models',
104 + nonce: mycustommainsettings.nonce
105 + },
106 + success: function(res) {
107 + if(res.success == true)
108 + {
109 + document.getElementById('routerButton').removeAttribute('disabled');
110 + alert('OpenRouter models refreshed successfully!');
111 + }
112 + else
113 + {
114 + alert('Failed to refresh model list: ' + res.data.message);
115 + console.log('Failed to refresh model list: ' + JSON.stringify(res));
116 + document.getElementById('routerButton').removeAttribute('disabled');
117 + }
118 + },
119 + error: function(xhr, status, error) {
120 + document.getElementById('routerButton').removeAttribute('disabled');
121 + alert('Failed to refresh model list, please try again later!');
122 + console.log('Error: ' + error);
123 + }
124 + });
125 + }
126 + }
127 + function aiomaticRefreshReplicate()
128 + {
129 + var confirm_delete = confirm('Are you sure you want to refresh Replicate model list?');
130 + if (confirm_delete) {
131 + document.getElementById('replicateButton').setAttribute('disabled','disabled');
132 + jQuery.ajax({
133 + url: mycustommainsettings.ajaxurl,
134 + type: 'POST',
135 + data: {
136 + action: 'aiomatic_refresh_replicate_models',
137 + nonce: mycustommainsettings.nonce
138 + },
139 + success: function(res) {
140 + if(res.success == true)
141 + {
142 + document.getElementById('replicateButton').removeAttribute('disabled');
143 + alert('Replicate models refreshed successfully!');
144 + location.reload();
145 + }
146 + else
147 + {
148 + alert('Failed to refresh model list: ' + res.data.message);
149 + console.log('Failed to refresh model list: ' + JSON.stringify(res));
150 + document.getElementById('replicateButton').removeAttribute('disabled');
151 + }
152 + },
153 + error: function(xhr, status, error) {
154 + document.getElementById('replicateButton').removeAttribute('disabled');
155 + alert('Failed to refresh model list, please try again later!');
156 + console.log('Error: ' + error);
157 + }
158 + });
159 + }
160 + }
161 + jQuery(document).ready(function($)
162 + {
163 + if($('#aiomatic_roaylty_free_sortable').length)
164 + {
165 + var mainCardOrder = $('#aiomatic_roaylty_free_sortable');
166 + if(mainCardOrder !== undefined)
167 + {
168 + mainCardOrder.sortable({
169 + update: function(event, ui) {
170 + var cardOrder = $('#aiomatic_roaylty_free_sortable');
171 + if(cardOrder !== undefined)
172 + {
173 + var scardOrder = cardOrder.sortable('toArray').toString();
174 + $('#sortable_cards').val(scardOrder);
175 + }
176 + else
177 + {
178 + console.log('Cannot find the aiomatic_roaylty_free_sortable input!');
179 + }
180 + }
181 + });
182 + }
183 + else
184 + {
185 + console.log('Error, aiomatic_roaylty_free_sortable input not found!');
186 + }
187 + }
188 + });
189 +
190 + jQuery(document).ready(function($)
191 + {
192 + if($('#aiomatic_serp_sortable').length)
193 + {
194 + var mainCardOrder = $('#aiomatic_serp_sortable');
195 + if(mainCardOrder !== undefined)
196 + {
197 + mainCardOrder.sortable({
198 + update: function(event, ui) {
199 + var cardOrder = $('#aiomatic_serp_sortable');
200 + if(cardOrder !== undefined)
201 + {
202 + var scardOrder = cardOrder.sortable('toArray').toString();
203 + $('#sortable_cards_serp').val(scardOrder);
204 + }
205 + else
206 + {
207 + console.log('Cannot find the aiomatic_serp_sortable input!');
208 + }
209 + }
210 + });
211 + }
212 + else
213 + {
214 + console.log('Error, aiomatic_serp_sortable input not found!');
215 + }
216 + }
217 + });
218 + function populate_default_internet()
219 + {
220 + jQuery("#internet_prompt").val(`Web search results:
221 + %%web_results%%
222 + Current date: %%current_date%%
223 + Instructions: Using the provided web search results, write a comprehensive reply to the given query. Make sure to cite results using [[number](URL)] notation after the reference. If the provided search results refer to multiple subjects with the same name, write separate answers for each subject.
224 + Query: %%original_query%%`);
225 + }
226 + function populate_default_template()
227 + {
228 + jQuery("#internet_single_template").val(`[%%result_counter%%]: %%result_title%% %%result_snippet%%
229 + URL: %%result_link%%`);
230 + }
231 + function embeddingsChanged()
232 + {
233 + const checkboxes = document.querySelectorAll('input[type="checkbox"][id^="embeddings_"]');
234 + checkboxes.forEach((checkbox) =>
235 + {
236 + const namespaceInput = document.getElementById(checkbox.id + '_namespace');
237 + if (namespaceInput)
238 + {
239 + namespaceInput.style.display = checkbox.checked ? 'block' : 'none';
240 + }
241 + });
242 +
243 + if(jQuery('#embeddings_bulk').is(":checked"))
244 + {
245 + jQuery(".hideEmbeddingsContent").show();
246 + }
247 + else
248 + {
249 + jQuery(".hideEmbeddingsContent").hide();
250 + }
251 + }
252 + function internetChanged()
253 + {
254 + if(jQuery('#internet_bulk').is(":checked"))
255 + {
256 + jQuery(".hideInternetContent").show();
257 + }
258 + else
259 + {
260 + jQuery(".hideInternetContent").hide();
261 + }
262 + }
263 + function imgChanged()
264 + {
265 + if(jQuery('#random_image_sources').is(":checked"))
266 + {
267 + jQuery(".hideImgs").show();
268 + }
269 + else
270 + {
271 + jQuery(".hideImgs").hide();
272 + }
273 + }
274 + function serpChanged()
275 + {
276 + if(jQuery('#random_serp_sources').is(":checked"))
277 + {
278 + jQuery(".hideSERP").show();
279 + }
280 + else
281 + {
282 + jQuery(".hideSERP").hide();
283 + }
284 + }
285 + function imgCopyChanged()
286 + {
287 + if(jQuery("#copy_locally option:selected").val() === 'amazon')
288 + {
289 + jQuery(".hideCompress").show();
290 + }
291 + else
292 + {
293 + if(jQuery("#copy_locally option:selected").val() === 'digital')
294 + {
295 + jQuery(".hideCompress").show();
296 + }
297 + else
298 + {
299 + if(jQuery("#copy_locally option:selected").val() === 'generics3')
300 + {
301 + jQuery(".hideCompress").show();
302 + }
303 + else
304 + {
305 + if(jQuery("#copy_locally option:selected").val() === 'wasabi')
306 + {
307 + jQuery(".hideCompress").show();
308 + }
309 + else
310 + {
311 + if(jQuery("#copy_locally option:selected").val() === 'cloudflare')
312 + {
313 + jQuery(".hideCompress").show();
314 + }
315 + else
316 + {
317 + if(jQuery("#copy_locally option:selected").val() === 'on')
318 + {
319 + jQuery(".hideCompress").show();
320 + }
321 + else
322 + {
323 + jQuery(".hideCompress").hide();
324 + }
325 + }
326 + }
327 + }
328 + }
329 + }
330 + }
331 + function formThemeChanged()
332 + {
333 + var selected = jQuery('#forms_theme').val();
334 + var form_background = jQuery('#form_background');
335 + var form_text_color = jQuery('#form_color');
336 + var button_color = jQuery('#button_color');
337 + var button_text_color = jQuery('#button_text_color');
338 + if(selected == 'light') {
339 + form_background.val('#ffffff'); // White
340 + form_text_color.val('#000000'); // Black
341 + button_color.val('#e0e0e0'); // Light gray
342 + button_text_color.val('#000000'); // Black
343 + }
344 + else if(selected == 'dark') {
345 + form_background.val('#1e1e1e'); // Near black
346 + form_text_color.val('#ffffff'); // White
347 + button_color.val('#333333'); // Dark gray
348 + button_text_color.val('#ffffff'); // White
349 + }
350 + else if(selected == 'midnight') {
351 + form_background.val('#2e2e3e'); // Dark blue-gray
352 + form_text_color.val('#ffffff'); // White
353 + button_color.val('#4e4e6e'); // Deep blue-gray
354 + button_text_color.val('#ffffff'); // White
355 + }
356 + else if(selected == 'sunrise') {
357 + form_background.val('#ffcc66'); // Soft orange-yellow
358 + form_text_color.val('#663300'); // Dark brown
359 + button_color.val('#ff9966'); // Warm orange
360 + button_text_color.val('#663300'); // Dark brown
361 + }
362 + else if(selected == 'ocean') {
363 + form_background.val('#006994'); // Ocean blue
364 + form_text_color.val('#ffffff'); // White
365 + button_color.val('#0099cc'); // Lighter ocean blue
366 + button_text_color.val('#ffffff'); // White
367 + }
368 + else if(selected == 'forest') {
369 + form_background.val('#2c5f2d'); // Deep green
370 + form_text_color.val('#ffffff'); // White
371 + button_color.val('#97bc62'); // Light green
372 + button_text_color.val('#2c5f2d'); // Deep green
373 + }
374 + else if(selected == 'winter') {
375 + form_background.val('#d0e7ff'); // Icy blue
376 + form_text_color.val('#002d4d'); // Dark blue
377 + button_color.val('#b3d9ff'); // Frosty blue
378 + button_text_color.val('#002d4d'); // Dark blue
379 + }
380 + else if(selected == 'twilight') {
381 + form_background.val('#4b0082'); // Indigo
382 + form_text_color.val('#ffffff'); // White
383 + button_color.val('#8a2be2'); // Blue-violet
384 + button_text_color.val('#ffffff'); // White
385 + }
386 + else if(selected == 'desert') {
387 + form_background.val('#edc9af'); // Desert sand
388 + form_text_color.val('#5d3a00'); // Dark brown
389 + button_color.val('#e4a672'); // Light sand
390 + button_text_color.val('#5d3a00'); // Dark brown
391 + }
392 + else if(selected == 'cosmic') {
393 + form_background.val('#330033'); // Dark purple
394 + form_text_color.val('#ffccff'); // Soft pink
395 + button_color.val('#660066'); // Purple
396 + button_text_color.val('#ffccff'); // Soft pink
397 + }
398 + else if(selected == 'rose') {
399 + form_background.val('#ffe4e1'); // Soft pink
400 + form_text_color.val('#800000'); // Dark red
401 + button_color.val('#ff9999'); // Light rose
402 + button_text_color.val('#800000'); // Dark red
403 + }
404 + else if(selected == 'tropical') {
405 + form_background.val('#ffcc00'); // Bright yellow
406 + form_text_color.val('#006600'); // Jungle green
407 + button_color.val('#ff9900'); // Tropical orange
408 + button_text_color.val('#006600'); // Jungle green
409 + }
410 + else if(selected == 'facebook') {
411 + form_background.val('#3b5998'); // Facebook blue
412 + form_text_color.val('#ffffff'); // White
413 + button_color.val('#8b9dc3'); // Light Facebook blue
414 + button_text_color.val('#ffffff'); // White
415 + }
416 + else if(selected == 'twitter') {
417 + form_background.val('#00aced'); // Twitter blue
418 + form_text_color.val('#ffffff'); // White
419 + button_color.val('#c0deed'); // Light Twitter blue
420 + button_text_color.val('#ffffff'); // White
421 + }
422 + else if(selected == 'instagram') {
423 + form_background.val('#f77737'); // Instagram orange
424 + form_text_color.val('#ffffff'); // White
425 + button_color.val('#e1306c'); // Instagram pink
426 + button_text_color.val('#ffffff'); // White
427 + }
428 + else if(selected == 'whatsapp') {
429 + form_background.val('#25d366'); // WhatsApp green
430 + form_text_color.val('#ffffff'); // White
431 + button_color.val('#075e54'); // Darker green
432 + button_text_color.val('#ffffff'); // White
433 + }
434 + else if(selected == 'linkedin') {
435 + form_background.val('#0077b5'); // LinkedIn blue
436 + form_text_color.val('#ffffff'); // White
437 + button_color.val('#00a0dc'); // Lighter blue
438 + button_text_color.val('#ffffff'); // White
439 + }
440 + }
441 + function kwChanged()
442 + {
443 + if(jQuery('#kw_method').val() == 'ai')
444 + {
445 + jQuery(".kwai").show();
446 + jQuery(".kwbuiltin").hide();
447 + }
448 + else
449 + {
450 + jQuery(".kwai").hide();
451 + jQuery(".kwbuiltin").show();
452 + }
453 + }
454 + function imageAIChanged()
455 + {
456 + if(jQuery('#use_image_ai').is(":checked"))
457 + {
458 + jQuery(".hideimgai").show();
459 + }
460 + else
461 + {
462 + jQuery(".hideimgai").hide();
463 + }
464 + }
465 + function responsesChanged()
466 + {
467 + if(jQuery('#responses_api').is(":checked"))
468 + {
469 + jQuery(".aiomatic-need-responses-api").show();
470 + }
471 + else
472 + {
473 + jQuery(".aiomatic-need-responses-api").hide();
474 + }
475 + }
476 + function ytKwChanged()
477 + {
478 + if(jQuery('#improve_yt_kw').is(":checked"))
479 + {
480 + jQuery(".hideytkw").show();
481 + }
482 + else
483 + {
484 + jQuery(".hideytkw").hide();
485 + }
486 + }
487 + function embChanged()
488 + {
489 + if(jQuery('#rewrite_embedding').is(":checked"))
490 + {
491 + jQuery(".hideEmb").show();
492 + }
493 + else
494 + {
495 + jQuery(".hideEmb").hide();
496 + }
497 + }
498 + function keyUpdated()
499 + {
500 + var enteredText = jQuery('#app_id').val();
501 + if(enteredText !== undefined)
502 + {
503 + var numberOfLineBreaks = (enteredText.match(/\n/g)||[]).length;
504 + if(numberOfLineBreaks > 0)
505 + {
506 + jQuery(".multiplehide").show();
507 + }
508 + else
509 + {
510 + jQuery(".multiplehide").hide();
511 + }
512 + }
513 + }
514 + function embeddingsAPIchanged()
515 + {
516 + var check = jQuery("#embeddings_api").val();
517 + if(check == 'qdrant')
518 + {
519 + jQuery('.hidePine').hide();
520 + jQuery('.hideQdr').show();
521 + }
522 + else
523 + {
524 + if(check == 'pinecone')
525 + {
526 + jQuery('.hidePine').show();
527 + jQuery('.hideQdr').hide();
528 + }
529 + }
530 + }
531 + function mainChanged()
532 + {
533 + embeddingsAPIchanged();
534 + if(jQuery('#aiomatic-logo').length)
535 + {
536 + return;
537 + }
538 + imgCopyChanged();
539 + imgChanged();
540 + serpChanged();
541 + embeddingsChanged();
542 + internetChanged();
543 + ytKwChanged();
544 + imageAIChanged();
545 + responsesChanged();
546 + keyUpdated();
547 + embChanged();
548 + kwChanged();
549 + if(jQuery('.input-checkbox-ai').is(":checked"))
550 + {
551 + jQuery(".hideMain").show();
552 + }
553 + else
554 + {
555 + jQuery(".hideMain").hide();
556 + }
557 + if(jQuery("#spin_text option:selected").val() === 'best' || jQuery("#spin_text option:selected").val() === 'wordai' || jQuery("#spin_text option:selected").val() === 'spinrewriter' || jQuery("#spin_text option:selected").val() === 'spinnerchief' || jQuery("#spin_text option:selected").val() === 'chimprewriter' || jQuery("#spin_text option:selected").val() === 'contentprofessor')
558 + {
559 + jQuery(".hideBest").show();
560 + }
561 + else
562 + {
563 + jQuery(".hideBest").hide();
564 + }
565 + if(jQuery("#spin_text option:selected").val() === 'spinnerchief')
566 + {
567 + jQuery(".hideChief").show();
568 + }
569 + else
570 + {
571 + jQuery(".hideChief").hide();
572 + }
573 + if(jQuery("#spin_text option:selected").val() === 'spinrewriter')
574 + {
575 + jQuery(".hideSpinRewriterSpecific").show();
576 + }
577 + else
578 + {
579 + jQuery(".hideSpinRewriterSpecific").hide();
580 + }
581 + if (mycustommainsettings.best_user == '' || mycustommainsettings.best_password == '')
582 + {
583 + if(jQuery("#spin_text option:selected").val() === 'best')
584 + {
585 + jQuery("#bestspin").show();
586 + }
587 + else
588 + {
589 + jQuery("#bestspin").hide();
590 + }
591 + if(jQuery("#spin_text option:selected").val() === 'wordai')
592 + {
593 + jQuery("#wordai").show();
594 + }
595 + else
596 + {
597 + jQuery("#wordai").hide();
598 + }
599 + if(jQuery("#spin_text option:selected").val() === 'spinrewriter')
600 + {
601 + jQuery("#spinrewriter").show();
602 + }
603 + else
604 + {
605 + jQuery("#spinrewriter").hide();
606 + }
607 + if(jQuery("#spin_text option:selected").val() === 'spinnerchief')
608 + {
609 + jQuery("#spinnerchief").show();
610 + }
611 + else
612 + {
613 + jQuery("#spinnerchief").hide();
614 + }
615 + if(jQuery("#spin_text option:selected").val() === 'chimprewriter')
616 + {
617 + jQuery("#chimprewriter").show();
618 + }
619 + else
620 + {
621 + jQuery("#chimprewriter").hide();
622 + }
623 + if(jQuery("#spin_text option:selected").val() === 'contentprofessor')
624 + {
625 + jQuery("#contentprofessor").show();
626 + }
627 + else
628 + {
629 + jQuery("#contentprofessor").hide();
630 + }
631 + }
632 + else
633 + {
634 + if(initial == '')
635 + {
636 + initial = jQuery("#spin_text option:selected").val();
637 + }
638 + if(initial != '' && initial != jQuery("#spin_text option:selected").val())
639 + {
640 + if(jQuery("#spin_text option:selected").val() === 'best')
641 + {
642 + jQuery("#bestspin").show();
643 + }
644 + else
645 + {
646 + jQuery("#bestspin").hide();
647 + }
648 + if(jQuery("#spin_text option:selected").val() === 'wordai')
649 + {
650 + jQuery("#wordai").show();
651 + }
652 + else
653 + {
654 + jQuery("#wordai").hide();
655 + }
656 + if(jQuery("#spin_text option:selected").val() === 'spinrewriter')
657 + {
658 + jQuery("#spinrewriter").show();
659 + }
660 + else
661 + {
662 + jQuery("#spinrewriter").hide();
663 + }
664 + if(jQuery("#spin_text option:selected").val() === 'spinnerchief')
665 + {
666 + jQuery("#spinnerchief").show();
667 + }
668 + else
669 + {
670 + jQuery("#spinnerchief").hide();
671 + }
672 + if(jQuery("#spin_text option:selected").val() === 'chimprewriter')
673 + {
674 + jQuery("#chimprewriter").show();
675 + }
676 + else
677 + {
678 + jQuery("#chimprewriter").hide();
679 + }
680 + if(jQuery("#spin_text option:selected").val() === 'contentprofessor')
681 + {
682 + jQuery("#contentprofessor").show();
683 + }
684 + else
685 + {
686 + jQuery("#contentprofessor").hide();
687 + }
688 + }
689 + else
690 + {
691 + jQuery("#spinrewriter").hide();
692 + jQuery("#spinnerchief").hide();
693 + jQuery("#chimprewriter").hide();
694 + jQuery("#contentprofessor").hide();
695 + jQuery("#wordai").hide();
696 + jQuery("#bestspin").hide();
697 + }
698 + }
699 + if(jQuery('#send_email').is(":checked"))
700 + {
701 + jQuery(".hideMail").show();
702 + }
703 + else
704 + {
705 + jQuery(".hideMail").hide();
706 + }
707 + if(jQuery('#enable_logging').is(":checked"))
708 + {
709 + jQuery(".hideLog").show();
710 + }
711 + else
712 + {
713 + jQuery(".hideLog").hide();
714 + }
715 + if(jQuery('#skip_old').is(":checked"))
716 + {
717 + jQuery(".hideOld").show();
718 + }
719 + else
720 + {
721 + jQuery(".hideOld").hide();
722 + }
723 + }
724 + window.onload = mainChanged;
725 + jQuery(document).ready(function(){
726 + jQuery('span.wpaiomatic-delete').on('click', function(){
727 + var confirm_delete = confirm('Are you sure you want to delete this rule?');
728 + if (confirm_delete)
729 + {
730 + var dataid = jQuery(this).attr('data-id');
731 + if(dataid !== undefined && dataid !== null)
732 + {
733 + jQuery('.aiuniq-' + dataid).remove();
734 + }
735 + else
736 + {
737 + jQuery(this).parent().parent().remove();
738 + }
739 + jQuery('#myForm').submit();
740 + }
741 + });
742 + var plugin_slug = mycustomsettings.plugin_slug;
743 + jQuery('#' + plugin_slug + '_register').on('click', function()
744 + {
745 + var ajaxurl = mycustomsettings.ajaxurl;
746 + var nonce = jQuery('#' + plugin_slug + '_activation_nonce').val();
747 + var code = jQuery('#' + plugin_slug + '_register_code').val();
748 + if(code == '')
749 + {
750 + alert('You need to enter a purchase code for the activation to work.');
751 + }
752 + else
753 + {
754 + var thisbut = jQuery(this);
755 + aiomaticLoading(thisbut);
756 + var data = {
757 + action: 'aiomatic_activation',
758 + code: code,
759 + nonce: nonce
760 + };
761 + jQuery.post(ajaxurl, data, function(response) {
762 + aiomaticRmLoading(thisbut);
763 + if(response.trim() == 'ok')
764 + {
765 + location.reload();
766 + }
767 + else
768 + {
769 + alert('Error in registration process: ' + response);
770 + }
771 + }).fail( function(xhr)
772 + {
773 + aiomaticRmLoading(thisbut);
774 + alert('Exception in registration process: ' + xhr.statusText);
775 + });
776 + }
777 + });
778 + jQuery('#' + plugin_slug + '_revoke_license').on('click', function()
779 + {
780 + var confirm_delete = confirm('Are you sure you want to revoke your license?');
781 + if (confirm_delete)
782 + {
783 + var ajaxurl = mycustomsettings.ajaxurl;
784 + var nonce = jQuery('#' + plugin_slug + '_activation_nonce').val();
785 + var thisbut = jQuery(this);
786 + aiomaticLoading(thisbut);
787 + var data = {
788 + action: 'aiomatic_revoke',
789 + nonce: nonce
790 + };
791 + jQuery.post(ajaxurl, data, function(response) {
792 + aiomaticRmLoading(thisbut);
793 + if(response.trim() == 'ok')
794 + {
795 + location.reload();
796 + }
797 + else
798 + {
799 + alert('Error in revoking process: ' + response);
800 + }
801 + }).fail( function(xhr)
802 + {
803 + aiomaticRmLoading(thisbut);
804 + alert('Exception in revoking process: ' + xhr.statusText);
805 + });
806 + }
807 + });
808 + });
809 + var unsaved = false;
810 + jQuery(document).ready(function () {
811 + jQuery("#api_selector").on('change', function(){
812 + if(jQuery("#api_selector").val() === 'azure')
813 + {
814 + jQuery(".azurehide").show();
815 + jQuery(".openhide").hide();
816 + jQuery(".customhide").hide();
817 + jQuery("#apilinks").html("<a href='https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=microsoft_openai_tip#home' target='_blank'>Azure</a>");
818 + }
819 + else
820 + {
821 + if(jQuery("#api_selector").val() === 'custom')
822 + {
823 + jQuery(".azurehide").hide();
824 + jQuery(".openhide").hide();
825 + jQuery(".customhide").show();
826 + jQuery("#apilinks").html("OpenAI Compatible");
827 + }
828 + else
829 + {
830 + jQuery(".azurehide").hide();
831 + jQuery(".openhide").show();
832 + jQuery(".customhide").hide();
833 + jQuery("#apilinks").html("<a href='https://platform.openai.com/api-keys' target='_blank'>OpenAI</a>&nbsp;/&nbsp;<a href='https://aiomaticapi.com/api-keys/' target='_blank'>AiomaticAPI</a>");
834 + }
835 + }
836 + });
837 + if(jQuery("#api_selector").val() === 'azure')
838 + {
839 + jQuery(".azurehide").show();
840 + jQuery(".openhide").hide();
841 + jQuery(".customhide").hide();
842 + jQuery("#apilinks").html("<a href='https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=microsoft_openai_tip#home' target='_blank'>Azure</a>");
843 + }
844 + else
845 + {
846 + if(jQuery("#api_selector").val() === 'custom')
847 + {
848 + jQuery(".azurehide").hide();
849 + jQuery(".openhide").hide();
850 + jQuery(".customhide").show();
851 + jQuery("#apilinks").html("OpenAI Compatible");
852 + }
853 + else
854 + {
855 + jQuery(".azurehide").hide();
856 + jQuery(".openhide").show();
857 + jQuery(".customhide").hide();
858 + jQuery("#apilinks").html("<a href='https://platform.openai.com/api-keys' target='_blank'>OpenAI</a>&nbsp;/&nbsp;<a href='https://aiomaticapi.com/api-keys/' target='_blank'>AiomaticAPI</a>");
859 + }
860 + }
861 + jQuery(":input").on('change', function(){
862 + var classes = this.className;
863 + var classes = this.className.split(' ');
864 + var found = jQuery.inArray('actions', classes) > -1;
865 + if (this.id != 'select-shortcode' && this.id != 'PreventChromeAutocomplete' && this.id != 'editor_select_template' && this.className != 'sc_chat_form_field_prompt_text' && this.id != 'actions' && this.className != 'codemainfzr' && !found)
866 + {
867 + unsaved = true;
868 + }
869 + });
870 + function unloadPage(){
871 + if(unsaved){
872 + return "You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?";
873 + }
874 + }
875 + window.onbeforeunload = unloadPage;
876 + });
877 + function revealRec(){document.getElementById("diviIdrec").innerHTML = '<br/>We recommend that you check <b><a href="https://www.elegantthemes.com/affiliates/idevaffiliate.php?id=50837_5_1_16" target="_blank">Divi theme</a></b>, by <b><a href="https://www.elegantthemes.com/affiliates/idevaffiliate.php?id=50837_1_1_3" target="_blank">ElegantThemes</a></b>! It is easy to configure and it looks gorgeous. Check it out now!<br/><br/><a href="https://www.elegantthemes.com/affiliates/idevaffiliate.php?id=50837_5_1_19" target="_blank" rel="nofollow"><img style="border:0px" src="https://3.bp.blogspot.com/-h9TLQozNO6Q/W92Sk80zwjI/AAAAAAAAAjg/JC8sFWAUPzseR4nnjhVNbRQmCnr1ZMu4gCLcBGAs/s1600/divi.jpg" width="468" height="60" alt="Divi WordPress Theme"></a>';}
878 +
879 + jQuery(document).ready(function ($) {
880 + $('#myForm').find('input, select, textarea').on('invalid', function (event) {
881 + event.preventDefault();
882 + let $field = $(this);
883 + let fieldName = $('label[for="' + this.id + '"]').text() || this.name || 'Unnamed field';
884 + let errorMessage = '';
885 + if (this.validity.valueMissing) {
886 + errorMessage = `${fieldName} is required.`;
887 + } else if (this.validity.typeMismatch) {
888 + errorMessage = `${fieldName} has an incorrect format.`;
889 + } else if (this.validity.rangeOverflow) {
890 + errorMessage = `${fieldName} exceeds the max value (${this.max}).`;
891 + } else if (this.validity.rangeUnderflow) {
892 + errorMessage = `${fieldName} is below the min value (${this.min}).`;
893 + } else if (this.validity.patternMismatch) {
894 + errorMessage = `${fieldName} does not match the required pattern.`;
895 + } else if (this.validity.stepMismatch) {
896 + errorMessage = `${fieldName} has an invalid step value.`;
897 + } else {
898 + errorMessage = `${fieldName} has an invalid value.`;
899 + }
900 + let $hiddenParent = $field.closest('.hidden, [style*="display: none"], [style*="visibility: hidden"]');
901 + if ($hiddenParent.length) {
902 + $hiddenParent.show();
903 + $field.show().addClass('aiomatic-highlight-error');
904 + }
905 + alert(errorMessage);
906 + $field.focus();
907 + });
908 + $('#myForm').on('submit', function (event) {
909 + let invalidFields = $(this).find(':invalid');
910 + if (invalidFields.length > 0) {
911 + event.preventDefault();
912 + }
913 + });
914 + });