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

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + "use strict";
2 + function Refresh_Image_Single(the_id){
3 + var data = {
4 + action: 'aiomatic_get_image',
5 + id: the_id,
6 + nonce: aiomatic_ajax_object.nonce
7 + };
8 + jQuery.get(ajaxurl, data, function(response) {
9 + if(response.success === true) {
10 + jQuery('#aiomatic-preview-image').replaceWith( response.data.image );
11 + }
12 + });
13 + }
14 + function Refresh_Image_Single_Advanced(the_id){
15 + var data = {
16 + action: 'aiomatic_get_image',
17 + id: the_id,
18 + nonce: aiomatic_ajax_object.nonce
19 + };
20 + jQuery.get(ajaxurl, data, function(response) {
21 + if(response.success === true) {
22 + jQuery('#aiomatic-preview-image-advanced').replaceWith( response.data.image );
23 + }
24 + });
25 + }
26 + function singleAssistantChanged()
27 + {
28 + if(jQuery('#assistant_id_single').val() == '' || jQuery('#assistant_id_single').val() == null)
29 + {
30 + jQuery('.disableAssistantsDynamic').removeAttr('disabled');
31 + }
32 + else
33 + {
34 + jQuery('.disableAssistantsDynamic').attr('disabled', 'disabled');
35 + }
36 + }
37 + function hideImage(number)
38 + {
39 + if(jQuery('#enable_ai_images' + number).val() == '1' || jQuery('#enable_ai_images' + number).val() == '2' || jQuery('#enable_ai_images' + number).val() == '4' || jQuery('#enable_ai_images' + number).val() == '5' || jQuery('#enable_ai_images' + number).val() == '6' || jQuery('#enable_ai_images' + number).val() == '7')
40 + {
41 + jQuery('.hideImg' + number).show();
42 + }
43 + else
44 + {
45 + jQuery('.hideImg' + number).hide();
46 + }
47 + if(jQuery('#enable_ai_images' + number).val() == '1')
48 + {
49 + jQuery('.hideDalle' + number).show();
50 + }
51 + else
52 + {
53 + jQuery('.hideDalle' + number).hide();
54 + }
55 + }
56 + function hideImageArticle(number)
57 + {
58 + if(jQuery('#enable_ai_images_article' + number).val() == '1' || jQuery('#enable_ai_images_article' + number).val() == '2' || jQuery('#enable_ai_images_article' + number).val() == '4' || jQuery('#enable_ai_images_article' + number).val() == '5' || jQuery('#enable_ai_images_article' + number).val() == '6' || jQuery('#enable_ai_images_article' + number).val() == '7')
59 + {
60 + jQuery('.hideImgArticle' + number).show();
61 + }
62 + else
63 + {
64 + jQuery('.hideImgArticle' + number).hide();
65 + }
66 + if(jQuery('#enable_ai_images_article' + number).val() == '1')
67 + {
68 + jQuery('.hideDalleArticle' + number).show();
69 + }
70 + else
71 + {
72 + jQuery('.hideDalleArticle' + number).hide();
73 + }
74 + }
75 + function addAiCustomField()
76 + {
77 + var metakeyinput = jQuery("#metakeyinput").val();
78 + var metavalue = jQuery("#metavalue").val();
79 + if(metakeyinput !== '')
80 + {
81 + var id = Math.random().toString(16).slice(2);
82 + var addvar = `<tr id="meta-` + id + `" class="alternate">
83 + <td class="left"><label class="screen-reader-text" for="metakeyinput` + id + `">Key</label><input id="metakeyinput` + id + `" type="text" size="20" value="` + metakeyinput + `"><br/>
84 + <input type="button" data-id="` + id + `" class="wauto button deletemeta button-small dellmetanow" value="Delete">
85 + </td>
86 + <td><label class="screen-reader-text" for="meta-value-` + id + `"Value></label><textarea id="metavalue` + id + `" rows="1" cols="30">` + metavalue + `</textarea><br/>
87 + <input type="button" id="generate_custom` + id + `" class="generate_custom wauto button cr_right" value="Generate AI Content" onclick="addAiCustomFieldContent('` + id + `');"></td>
88 + </tr>`;
89 + jQuery('#list-table-added tr:last').after(addvar);
90 + }
91 + }
92 + function addAiCustomFieldContent(variable)
93 + {
94 + var metakeyinput = jQuery("#metakeyinput" + variable).val();
95 + if(metakeyinput == '')
96 + {
97 + alert('You must enter a custom field name first.');
98 + }
99 + else
100 + {
101 + aiomatic_generate_ai_text(jQuery('#generate_custom' + variable), 'prompt_custom', 'generate_custom' + variable, 'metavalue' + variable, false, false, false);
102 + }
103 + }
104 + function aiomatic_save_template()
105 + {
106 + let template_name = prompt("Enter a name for the new template: ", "Template 1");
107 + if (template_name != null && template_name != "")
108 + {
109 + if(template_name == 'Default Template')
110 + {
111 + alert('This name is reserved, it cannot be used');
112 + return;
113 + }
114 + var template_options = {};
115 + template_options['title'] = jQuery("#title").val();
116 + template_options['topics'] = jQuery("#aiomatic_topics").val();
117 + template_options['submit_status'] = jQuery( "#submit_status" ).val();
118 + template_options['submit_type'] = jQuery( "#submit_type" ).val();
119 + template_options['post_sticky'] = jQuery( "#post_sticky" ).val();
120 + template_options['post_author'] = jQuery( "#post_author" ).val();
121 + template_options['post_date'] = jQuery("#post_date").val();
122 + template_options['post_category'] = jQuery('#post_category').val();
123 + template_options['post_tags'] = jQuery("#post_tags").val();
124 + template_options['language'] = jQuery("#language").val();
125 + template_options['writing_style'] = jQuery("#writing_style").val();
126 + template_options['writing_tone'] = jQuery("#writing_tone").val();
127 + template_options['sections_count'] = jQuery( "#section_count" ).val();
128 + template_options['paragraph_count'] = jQuery( "#paragraph_count" ).val();
129 + template_options['model'] = jQuery( "#model" ).val();
130 + template_options['assistant_id'] = jQuery( "#assistant_id_single" ).val();
131 + template_options['max_tokens'] = jQuery("#max_tokens").val();
132 + template_options['temperature'] = jQuery("#temperature").val();
133 + template_options['prompt_title'] = jQuery("#prompt_title").val();
134 + template_options['prompt_sections'] = jQuery("#prompt_sections").val();
135 + template_options['prompt_content'] = jQuery("#prompt_content").val();
136 + template_options['prompt_excerpt'] = jQuery("#prompt_excerpt").val();
137 + template_options['prompt_custom'] = jQuery("#prompt_custom").val();
138 + template_options['aiomatic_image_id'] = jQuery("#aiomatic_image_id").val();
139 + jQuery.ajax({
140 + type: 'POST',
141 + url: aiomatic_ajax_object.ajax_url,
142 + data: {
143 + action: 'aiomatic_save_template',
144 + template_name: template_name,
145 + template_options: template_options,
146 + nonce: aiomatic_ajax_object.nonce
147 + },
148 + success: function(response) {
149 + if (response.success) {
150 + jQuery('#template_manager').append(jQuery('<option>', {
151 + value: template_name,
152 + text: template_name
153 + }));
154 + alert("Template saved successfully!");
155 + } else {
156 + alert('Error: ' + response.data.message);
157 + }
158 + },
159 + error: function(error) {
160 + alert("An error occurred while saving template: " + JSON.stringify(error));
161 + }
162 + });
163 + }
164 + }
165 + function aiomatic_save_template_advanced()
166 + {
167 + let template_name = prompt("Enter a name for the new template: ", "Template 1");
168 + if (template_name != null && template_name != "")
169 + {
170 + if(template_name == 'Default Template')
171 + {
172 + alert('This name is reserved, it cannot be used');
173 + return;
174 + }
175 + var template_options = {};
176 + template_options['title_advanced'] = jQuery("#title_advanced").val();
177 + template_options['posting_mode_changer'] = jQuery("#posting_mode_changer").val();
178 + template_options['aiomatic_topics_list'] = jQuery("#aiomatic_topics_list").val();
179 + template_options['aiomatic_listicle_list'] = jQuery("#aiomatic_listicle_list").val();
180 + template_options['aiomatic_titles'] = jQuery("#aiomatic_titles").val();
181 + template_options['aiomatic_youtube'] = jQuery("#aiomatic_youtube").val();
182 + template_options['aiomatic_roundup'] = jQuery("#aiomatic_roundup").val();
183 + template_options['aiomatic_review'] = jQuery("#aiomatic_review").val();
184 + template_options['csv_title'] = jQuery("#csv_title").val();
185 + template_options['submit_status_advanced'] = jQuery( "#submit_status_advanced" ).val();
186 + template_options['submit_type_advanced'] = jQuery( "#submit_type_advanced" ).val();
187 + template_options['post_sticky_advanced'] = jQuery( "#post_sticky_advanced" ).val();
188 + template_options['post_author_advanced'] = jQuery( "#post_author_advanced" ).val();
189 + template_options['post_date_advanced'] = jQuery("#post_date_advanced").val();
190 + template_options['post_category_advanced'] = jQuery('#post_category_advanced').val();
191 + template_options['post_tags_advanced'] = jQuery("#post_tags_advanced").val();
192 + template_options['aiomatic_image_id_advanced'] = jQuery("#aiomatic_image_id_advanced").val();
193 +
194 + var newselectedarr = ['1a', '1b', '2', '3', '4', '5', '6'];
195 + newselectedarr.forEach((element) =>
196 + jQuery('.valuesai' + element).each(function()
197 + {
198 + var innerctrl = jQuery(this);
199 + if(innerctrl.is('input:text'))
200 + {
201 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
202 + {
203 + template_options[innerctrl.attr('id')] = innerctrl.val();
204 + }
205 + }
206 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'number')
207 + {
208 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
209 + {
210 + template_options[innerctrl.attr('id')] = innerctrl.val();
211 + }
212 + }
213 + else if(innerctrl.is('select'))
214 + {
215 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
216 + {
217 + template_options[innerctrl.attr('id')] = innerctrl.val();
218 + }
219 + }
220 + else if(innerctrl.is('textarea'))
221 + {
222 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
223 + {
224 + template_options[innerctrl.attr('id')] = innerctrl.val();
225 + }
226 + }
227 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'checkbox')
228 + {
229 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
230 + {
231 + if(innerctrl.is(":checked"))
232 + {
233 + template_options[innerctrl.attr('id')] = '1';
234 + }
235 + else
236 + {
237 + template_options[innerctrl.attr('id')] = '0';
238 + }
239 + }
240 + }
241 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'color')
242 + {
243 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
244 + {
245 + template_options[innerctrl.attr('id')] = innerctrl.val();
246 + }
247 + }
248 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'date')
249 + {
250 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
251 + {
252 + template_options[innerctrl.attr('id')] = innerctrl.val();
253 + }
254 + }
255 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'datetime-local')
256 + {
257 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
258 + {
259 + template_options[innerctrl.attr('id')] = innerctrl.val();
260 + }
261 + }
262 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'email')
263 + {
264 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
265 + {
266 + template_options[innerctrl.attr('id')] = innerctrl.val();
267 + }
268 + }
269 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'hidden')
270 + {
271 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
272 + {
273 + template_options[innerctrl.attr('id')] = innerctrl.val();
274 + }
275 + }
276 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'password')
277 + {
278 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
279 + {
280 + template_options[innerctrl.attr('id')] = innerctrl.val();
281 + }
282 + }
283 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'url')
284 + {
285 + if(innerctrl.attr('id') !== undefined && innerctrl.attr('id') !== '')
286 + {
287 + template_options[innerctrl.attr('id')] = innerctrl.val();
288 + }
289 + }
290 + })
291 + );
292 + jQuery.ajax({
293 + type: 'POST',
294 + url: aiomatic_ajax_object.ajax_url,
295 + data: {
296 + action: 'aiomatic_save_template_advanced',
297 + template_name: template_name,
298 + template_options: template_options,
299 + nonce: aiomatic_ajax_object.nonce
300 + },
301 + success: function(response) {
302 + if (response.success) {
303 + jQuery('#template_manager_advanced').append(jQuery('<option>', {
304 + value: template_name,
305 + text: template_name
306 + }));
307 + alert("Template saved successfully!");
308 + } else {
309 + alert('Error: ' + response.data.message);
310 + }
311 + },
312 + error: function(error) {
313 + alert("An error occurred while saving template: " + JSON.stringify(error));
314 + }
315 + });
316 + }
317 + }
318 + function aiomatic_delete_template()
319 + {
320 + if (confirm("Are you sure you want to delete this template?"))
321 + {
322 + var template_name = jQuery( "#template_manager option:selected" ).text();
323 + if (template_name != null && template_name != "")
324 + {
325 + if(template_name == 'Default Template')
326 + {
327 + alert('This is the default template, it cannot be deleted');
328 + return;
329 + }
330 + jQuery.ajax({
331 + type: 'POST',
332 + url: aiomatic_ajax_object.ajax_url,
333 + data: {
334 + action: 'aiomatic_delete_template',
335 + template_name: template_name,
336 + nonce: aiomatic_ajax_object.nonce
337 + },
338 + success: function(response) {
339 + if (response.success) {
340 + jQuery("#template_manager option[value='" + template_name.replace("'", "\'") + "']").remove();
341 + alert("Template deleted successfully!");
342 + } else {
343 + alert('Error: ' + response.data.message);
344 + }
345 + },
346 + error: function(error) {
347 + alert("An error occurred while saving template: " + JSON.stringify(error));
348 + }
349 + });
350 + }
351 + else
352 + {
353 + alert('No template selected');
354 + }
355 + }
356 + }
357 + function aiomatic_delete_template_advanced()
358 + {
359 + if (confirm("Are you sure you want to delete this template?"))
360 + {
361 + var template_name = jQuery( "#template_manager_advanced option:selected" ).text();
362 + if (template_name != null && template_name != "")
363 + {
364 + if(template_name == 'Default Template')
365 + {
366 + alert('This is the default template, it cannot be deleted');
367 + return;
368 + }
369 + jQuery.ajax({
370 + type: 'POST',
371 + url: aiomatic_ajax_object.ajax_url,
372 + data: {
373 + action: 'aiomatic_delete_template_advanced',
374 + template_name: template_name,
375 + nonce: aiomatic_ajax_object.nonce
376 + },
377 + success: function(response) {
378 + if (response.success) {
379 + jQuery("#template_manager_advanced option[value='" + template_name.replace("'", "\'") + "']").remove();
380 + alert("Template deleted successfully!");
381 + } else {
382 + alert('Error: ' + response.data.message);
383 + }
384 + },
385 + error: function(error) {
386 + alert("An error occurred while saving template: " + JSON.stringify(error));
387 + }
388 + });
389 + }
390 + else
391 + {
392 + alert('No template selected');
393 + }
394 + }
395 + }
396 + function aiomatic_load_template()
397 + {
398 + if (confirm("Are you sure you want to load this template?"))
399 + {
400 + var template_name = jQuery( "#template_manager option:selected" ).text();
401 + if (template_name != null && template_name != "")
402 + {
403 + jQuery.ajax({
404 + type: 'POST',
405 + url: aiomatic_ajax_object.ajax_url,
406 + data: {
407 + action: 'aiomatic_load_template',
408 + template_name: template_name,
409 + nonce: aiomatic_ajax_object.nonce
410 + },
411 + success: function(response) {
412 + if (response.success) {
413 + if(response.data.content['title'] !== undefined)
414 + {
415 + jQuery("#title").val(response.data.content['title']);
416 + }
417 + if(response.data.content['topics'] !== undefined)
418 + {
419 + jQuery("#aiomatic_topics").val(response.data.content['topics']);
420 + }
421 + if(response.data.content['submit_status'] !== undefined)
422 + {
423 + jQuery("#submit_status option").each(function()
424 + {
425 + if(jQuery(this).val() == response.data.content['submit_status']) {
426 + jQuery(this).prop('selected', true);
427 + }
428 + });
429 + }
430 + if(response.data.content['submit_type'] !== undefined)
431 + {
432 + jQuery("#submit_type option").each(function()
433 + {
434 + if(jQuery(this).val() == response.data.content['submit_type']) {
435 + jQuery(this).prop('selected', true);
436 + }
437 + });
438 + }
439 + if(response.data.content['post_sticky'] !== undefined)
440 + {
441 + jQuery("#post_sticky option").each(function()
442 + {
443 + if(jQuery(this).val() == response.data.content['post_sticky']) {
444 + jQuery(this).prop('selected', true);
445 + }
446 + });
447 + }
448 + if(response.data.content['post_author'] !== undefined)
449 + {
450 + jQuery("#post_author option").each(function()
451 + {
452 + if(jQuery(this).val() == response.data.content['post_author']) {
453 + jQuery(this).prop('selected', true);
454 + }
455 + });
456 + }
457 + if(response.data.content['post_date'] !== undefined)
458 + {
459 + jQuery("#post_date").val(response.data.content['post_date']);
460 + }
461 + if(response.data.content['post_category'] !== undefined)
462 + {
463 + jQuery("#post_category option").each(function()
464 + {
465 + if(response.data.content['post_category'].includes(jQuery(this).val()))
466 + {
467 + jQuery(this).prop('selected', true);
468 + }
469 + else
470 + {
471 + jQuery(this).prop('selected', false);
472 + }
473 + });
474 + }
475 + if(response.data.content['post_tags'] !== undefined)
476 + {
477 + jQuery("#post_tags").val(response.data.content['post_tags']);
478 + }
479 + if(response.data.content['language'] !== undefined)
480 + {
481 + jQuery("#language").val(response.data.content['language']);
482 + }
483 + if(response.data.content['writing_style'] !== undefined)
484 + {
485 + jQuery("#writing_style").val(response.data.content['writing_style']);
486 + }
487 + if(response.data.content['writing_tone'] !== undefined)
488 + {
489 + jQuery("#writing_tone").val(response.data.content['writing_tone']);
490 + }
491 + if(response.data.content['sections_count'] !== undefined)
492 + {
493 + jQuery("#sections_count option").each(function()
494 + {
495 + if(jQuery(this).val() == response.data.content['sections_count']) {
496 + jQuery(this).prop('selected', true);
497 + }
498 + });
499 + }
500 + if(response.data.content['paragraph_count'] !== undefined)
501 + {
502 + jQuery("#paragraph_count option").each(function()
503 + {
504 + if(jQuery(this).val() == response.data.content['paragraph_count']) {
505 + jQuery(this).prop('selected', true);
506 + }
507 + });
508 + }
509 + if(response.data.content['model'] !== undefined)
510 + {
511 + jQuery("#model option").each(function()
512 + {
513 + if(jQuery(this).val() == response.data.content['model']) {
514 + jQuery(this).prop('selected', true);
515 + }
516 + });
517 + }
518 + if(response.data.content['assistant_id'] !== undefined)
519 + {
520 + jQuery("#assistant_id_single option").each(function()
521 + {
522 + if(jQuery(this).val() == response.data.content['assistant_id']) {
523 + jQuery(this).prop('selected', true);
524 + }
525 + });
526 + }
527 + if(response.data.content['max_tokens'] !== undefined)
528 + {
529 + jQuery("#max_tokens").val(response.data.content['max_tokens']);
530 + }
531 + if(response.data.content['temperature'] !== undefined)
532 + {
533 + jQuery("#temperature").val(response.data.content['temperature']);
534 + }
535 + if(response.data.content['prompt_title'] !== undefined)
536 + {
537 + jQuery("#prompt_title").val(response.data.content['prompt_title']);
538 + }
539 + if(response.data.content['prompt_sections'] !== undefined)
540 + {
541 + jQuery("#prompt_sections").val(response.data.content['prompt_sections']);
542 + }
543 + if(response.data.content['prompt_content'] !== undefined)
544 + {
545 + jQuery("#prompt_content").val(response.data.content['prompt_content']);
546 + }
547 + if(response.data.content['prompt_excerpt'] !== undefined)
548 + {
549 + jQuery("#prompt_excerpt").val(response.data.content['prompt_excerpt']);
550 + }
551 + if(response.data.content['prompt_custom'] !== undefined)
552 + {
553 + jQuery("#prompt_custom").val(response.data.content['prompt_custom']);
554 + }
555 + if(response.data.content['aiomatic_image_id'] !== undefined)
556 + {
557 + jQuery("#aiomatic_image_id").val(response.data.content['aiomatic_image_id']);
558 + if(response.data.content['aiomatic_image_id'] != '')
559 + {
560 + Refresh_Image_Single(response.data.content['aiomatic_image_id']);
561 + }
562 + }
563 + singleAssistantChanged();
564 + alert("Template loaded successfully!");
565 + } else {
566 + alert('Error: ' + response.data.message);
567 + }
568 + },
569 + error: function(error) {
570 + alert("An error occurred while loading template: " + JSON.stringify(error));
571 + }
572 + });
573 + }
574 + else
575 + {
576 + alert('No template selected');
577 + }
578 + }
579 + }
580 + function aiomatic_import_template()
581 + {
582 + document.getElementById('import_template_file').addEventListener('change', function(event) {
583 + if(event && event.target && event.target.files)
584 + {
585 + const file = event.target.files[0];
586 + if (file) {
587 + const reader = new FileReader();
588 + reader.onload = function(e) {
589 + const content = e.target.result;
590 + try {
591 + window.onbeforeunload = null;
592 + const templates = JSON.parse(content);
593 + if (aiomaticIsValidTemplate(templates))
594 + {
595 + aiomatic_call_import_templates(templates);
596 + }
597 + else
598 + {
599 + alert('Invalid template file uploaded');
600 + }
601 + } catch (error) {
602 + alert('Invalid JSON file');
603 + }
604 + };
605 + reader.readAsText(file);
606 + }
607 + }
608 + });
609 + document.getElementById('import_template_file').click();
610 + }
611 + function aiomatic_call_import_templates(templates)
612 + {
613 + jQuery.ajax({
614 + type: 'POST',
615 + url: aiomatic_ajax_object.ajax_url,
616 + data: {
617 + action: 'aiomatic_import_templates',
618 + nonce: aiomatic_ajax_object.nonce,
619 + templates: templates
620 + },
621 + success: function(response) {
622 + if (response.success) {
623 + alert('Templates imported successfully.');
624 + location.reload();
625 + } else {
626 + alert('Error: ' + response.data.message);
627 + }
628 + },
629 + error: function(error) {
630 + alert("An error occurred while importing templates: " + JSON.stringify(error));
631 + }
632 + });
633 + }
634 + function aiomatic_import_template_advanced()
635 + {
636 + document.getElementById('import_template_file_advanced').addEventListener('change', function(event) {
637 + if(event && event.target && event.target.files)
638 + {
639 + const file = event.target.files[0];
640 + if (file) {
641 + const reader = new FileReader();
642 + reader.onload = function(e) {
643 + const content = e.target.result;
644 + try {
645 + window.onbeforeunload = null;
646 + const templates = JSON.parse(content);
647 + aiomatic_call_import_templates_advanced(templates);
648 + } catch (error) {
649 + alert('Invalid JSON file');
650 + }
651 + };
652 + reader.readAsText(file);
653 + }
654 + }
655 + });
656 + document.getElementById('import_template_file_advanced').click();
657 + }
658 + function aiomaticIsValidTemplate(templates) {
659 + const requiredFields = [
660 + "title", "topics", "submit_status", "submit_type", "post_sticky", "post_author",
661 + "post_date", "post_category", "post_tags", "language", "writing_style",
662 + "writing_tone", "sections_count", "paragraph_count", "model", "assistant_id",
663 + "max_tokens", "temperature", "prompt_title", "prompt_sections", "prompt_content",
664 + "prompt_excerpt", "aiomatic_image_id"
665 + ];
666 +
667 + for (const template in templates) {
668 + if (templates.hasOwnProperty(template)) {
669 + const templateData = templates[template];
670 + for (const field of requiredFields) {
671 + if (!templateData.hasOwnProperty(field)) {
672 + return false;
673 + }
674 + }
675 + }
676 + }
677 + return true;
678 + }
679 + function aiomatic_call_import_templates_advanced(templates)
680 + {
681 + jQuery.ajax({
682 + type: 'POST',
683 + url: aiomatic_ajax_object.ajax_url,
684 + data: {
685 + action: 'aiomatic_import_templates_advanced',
686 + nonce: aiomatic_ajax_object.nonce,
687 + templates: templates
688 + },
689 + success: function(response) {
690 + if (response.success) {
691 + alert('Templates imported successfully.');
692 + location.reload();
693 + } else {
694 + alert('Error: ' + response.data.message);
695 + }
696 + },
697 + error: function(error) {
698 + alert("An error occurred while importing templates: " + JSON.stringify(error));
699 + }
700 + });
701 + }
702 + function aiomatic_export_template()
703 + {
704 + if (confirm("Are you sure you want to export templates to file?"))
705 + {
706 + jQuery.ajax({
707 + type: 'POST',
708 + url: aiomatic_ajax_object.ajax_url,
709 + data: {
710 + action: 'aiomatic_export_templates',
711 + nonce: aiomatic_ajax_object.nonce
712 + },
713 + success: function(response) {
714 + if (response.success)
715 + {
716 + let dl = document.createElement('a');
717 + dl.download = 'templates.json';
718 + dl.href = `data:application/json;charset=utf-8,${JSON.stringify(response.data.content)}`;
719 + dl.click();
720 + } else {
721 + alert('Error: ' + response.data.message);
722 + }
723 + },
724 + error: function(error) {
725 + alert("An error occurred while loading template: " + JSON.stringify(error));
726 + }
727 + });
728 + }
729 + }
730 + function aiomatic_export_template_advanced()
731 + {
732 + if (confirm("Are you sure you want to export templates to file?"))
733 + {
734 + jQuery.ajax({
735 + type: 'POST',
736 + url: aiomatic_ajax_object.ajax_url,
737 + data: {
738 + action: 'aiomatic_export_templates_advanced',
739 + nonce: aiomatic_ajax_object.nonce
740 + },
741 + success: function(response) {
742 + if (response.success)
743 + {
744 + let dl = document.createElement('a');
745 + dl.download = 'templates_advanced.json';
746 + dl.href = `data:application/json;charset=utf-8,${JSON.stringify(response.data.content)}`;
747 + dl.click();
748 + } else {
749 + alert('Error: ' + response.data.message);
750 + }
751 + },
752 + error: function(error) {
753 + alert("An error occurred while loading template: " + JSON.stringify(error));
754 + }
755 + });
756 + }
757 + }
758 + function aiomatic_load_template_advanced()
759 + {
760 + if (confirm("Are you sure you want to load this template?"))
761 + {
762 + var template_name = jQuery( "#template_manager_advanced option:selected" ).text();
763 + if (template_name != null && template_name != "")
764 + {
765 + jQuery.ajax({
766 + type: 'POST',
767 + url: aiomatic_ajax_object.ajax_url,
768 + data: {
769 + action: 'aiomatic_load_template_advanced',
770 + template_name: template_name,
771 + nonce: aiomatic_ajax_object.nonce
772 + },
773 + success: function(response) {
774 + if (response.success)
775 + {
776 + for (const [key, value] of Object.entries(response.data.content))
777 + {
778 + var jelem = jQuery("#" + key);
779 + if(jelem !== undefined)
780 + {
781 + if(jelem.is('input:text'))
782 + {
783 + jelem.val(value);
784 + }
785 + else if(jelem.is('input') && jelem.prop('type') == 'number')
786 + {
787 + jelem.val(value);
788 + }
789 + else if(jelem.is('select'))
790 + {
791 + jelem.val(value);
792 + }
793 + else if(jelem.is('textarea'))
794 + {
795 + jelem.val(value);
796 + }
797 + else if(jelem.is('input') && jelem.prop('type') == 'checkbox')
798 + {
799 + if(value == '1')
800 + {
801 + jelem.prop( "checked", true );
802 + }
803 + else
804 + {
805 + jelem.prop( "checked", false );
806 + }
807 + }
808 + else if(jelem.is('input') && jelem.prop('type') == 'color')
809 + {
810 + jelem.val(value);
811 + }
812 + else if(jelem.is('input') && jelem.prop('type') == 'date')
813 + {
814 + jelem.val(value);
815 + }
816 + else if(jelem.is('input') && jelem.prop('type') == 'datetime-local')
817 + {
818 + jelem.val(value);
819 + }
820 + else if(jelem.is('input') && jelem.prop('type') == 'email')
821 + {
822 + jelem.val(value);
823 + }
824 + else if(jelem.is('input') && jelem.prop('type') == 'hidden')
825 + {
826 + jelem.val(value);
827 + }
828 + else if(jelem.is('input') && jelem.prop('type') == 'password')
829 + {
830 + jelem.val(value);
831 + }
832 + else if(jelem.is('input') && jelem.prop('type') == 'url')
833 + {
834 + jelem.val(value);
835 + }
836 + if(key === 'aiomatic_image_id_advanced')
837 + {
838 + if(value != '')
839 + {
840 + Refresh_Image_Single_Advanced(value);
841 + }
842 + }
843 + }
844 + }
845 + assistantSelected('1a');
846 + assistantSelected('1b');
847 + assistantSelected('2');
848 + assistantSelected('3');
849 + assistantSelected('4');
850 + assistantSelected('6');
851 + alert("Advanced template loaded successfully!");
852 + } else {
853 + alert('Error in advanced template loading: ' + response.data.message);
854 + }
855 + },
856 + error: function(error) {
857 + alert("An error occurred while loading advanced template: " + JSON.stringify(error));
858 + }
859 + });
860 + }
861 + else
862 + {
863 + alert('No advanced template selected');
864 + }
865 + }
866 + }
867 + function aiomatic_call_func()
868 + {
869 + const model_holder = document.getElementById("model_holder");
870 + if(model_holder !== null)
871 + {
872 + const btn = document.getElementById("aiomatic_toggle_model");
873 + if(btn !== null)
874 + {
875 + if (btn.value === "Show") {
876 + model_holder.style.display = "block";
877 + btn.value = "Hide";
878 + } else {
879 + model_holder.style.display = "none";
880 + btn.value = "Show";
881 + }
882 + }
883 + else
884 + {
885 + console.log('aiomatic_toggle_model not found');
886 + }
887 + }
888 + else
889 + {
890 + console.log('model_holder not found');
891 + }
892 + }
893 + function aiomatic_prompt_func()
894 + {
895 + const prompt_holder = document.getElementById("prompt_holder");
896 + if(model_holder !== null)
897 + {
898 + const btn = document.getElementById("aiomatic_toggle_prompt");
899 + if(btn !== null)
900 + {
901 + if (btn.value === "Show") {
902 + prompt_holder.style.display = "block";
903 + btn.value = "Hide";
904 + } else {
905 + prompt_holder.style.display = "none";
906 + btn.value = "Show";
907 + }
908 + }
909 + else
910 + {
911 + console.log('aiomatic_toggle_prompt not found');
912 + }
913 + }
914 + else
915 + {
916 + console.log('prompt_holder not found');
917 + }
918 + }
919 + function aiomatic_all_empty() {
920 + var aiomatic_topics = document.getElementById("aiomatic_topics");
921 + var generate_all = document.getElementById("generate_all");
922 + var generate_title = document.getElementById("generate_title");
923 + if(generate_title !== null && generate_all !== null && aiomatic_topics !== null)
924 + {
925 + if(aiomatic_topics.value === "") {
926 + generate_all.disabled = true;
927 + generate_title.disabled = true;
928 + } else {
929 + generate_all.disabled = false;
930 + generate_title.disabled = false;
931 + }
932 + }
933 + else
934 + {
935 + console.log('generate_all/aiomatic_topics/generate_title not found');
936 + }
937 + }
938 + function aiomaticIsTinyMCEAvailable(editorId)
939 + {
940 + return typeof tinymce !== 'undefined' && tinymce.get(editorId);
941 + }
942 + function aiomatic_title_empty() {
943 + var title = document.getElementById("title");
944 + var generate_sections = document.getElementById("generate_sections");
945 + var generate_paragraphs = document.getElementById("generate_paragraphs");
946 + var generate_excerpt = document.getElementById("generate_excerpt");
947 + var post_publish = document.getElementById("post_publish");
948 + if(title !== null && generate_sections !== null && generate_paragraphs !== null && generate_excerpt !== null && post_publish !== null)
949 + {
950 + if(title.value === "") {
951 + generate_sections.disabled = true;
952 + generate_paragraphs.disabled = true;
953 + generate_excerpt.disabled = true;
954 + post_publish.disabled = true;
955 + } else {
956 + generate_sections.disabled = false;
957 + generate_paragraphs.disabled = false;
958 + generate_excerpt.disabled = false;
959 + if(typeof(tinyMCE) != "undefined")
960 + {
961 + if(window.parent.tinymce.get('post_content') !== undefined && window.parent.tinymce.get('post_content') !== null)
962 + {
963 + if(window.parent.tinymce.get('post_content').getContent() === "" && jQuery("#post_content").val() === "")
964 + {
965 + post_publish.disabled = true;
966 + }
967 + else
968 + {
969 + post_publish.disabled = false;
970 + }
971 + }
972 + else
973 + {
974 + if( jQuery("#post_content").val() == "")
975 + {
976 + post_publish.disabled = true;
977 + }
978 + else
979 + {
980 + post_publish.disabled = false;
981 + }
982 + }
983 + }
984 + else
985 + {
986 + if( jQuery("#post_content").val() == "")
987 + {
988 + post_publish.disabled = true;
989 + }
990 + else
991 + {
992 + post_publish.disabled = false;
993 + }
994 + }
995 + }
996 + }
997 + else
998 + {
999 + console.log('title/generate_sections/generate_paragraphs/generate_excerpt/post_publish/post_content_advanced not found');
1000 + }
1001 + }
1002 + function aiomatic_title_empty_advanced() {
1003 + var title = document.getElementById("title_advanced");
1004 + var post_publish = document.getElementById("post_publish_advanced");
1005 + if(title !== null && post_publish !== null)
1006 + {
1007 + if(title.value === "") {
1008 + post_publish.disabled = true;
1009 + }
1010 + else
1011 + {
1012 + if(typeof(tinyMCE) != "undefined")
1013 + {
1014 + if(window.parent.tinymce.get('post_content_advanced') !== undefined && window.parent.tinymce.get('post_content_advanced') !== null)
1015 + {
1016 + if(window.parent.tinymce.get('post_content_advanced').getContent() === "" && jQuery("#post_content_advanced").val() === "") {
1017 + post_publish.disabled = true;
1018 + }
1019 + else
1020 + {
1021 + post_publish.disabled = false;
1022 + }
1023 + }
1024 + else
1025 + {
1026 + if( jQuery("#post_content_advanced").val() == "")
1027 + {
1028 + post_publish.disabled = true;
1029 + }
1030 + else
1031 + {
1032 + post_publish.disabled = false;
1033 + }
1034 + }
1035 + }
1036 + else
1037 + {
1038 + if( jQuery("#post_content_advanced").val() == "")
1039 + {
1040 + post_publish.disabled = true;
1041 + }
1042 + else
1043 + {
1044 + post_publish.disabled = false;
1045 + }
1046 + }
1047 + }
1048 + }
1049 + else
1050 + {
1051 + console.log('title/post_publish not found');
1052 + }
1053 + }
1054 + function aiomatic_content_empty(idname) {
1055 + if(idname == 'post_content')
1056 + {
1057 + var title = document.getElementById("title");
1058 + var post_publish = document.getElementById("post_publish");
1059 + }
1060 + else
1061 + {
1062 + var title = document.getElementById("title_advanced");
1063 + var post_publish = document.getElementById("post_publish_advanced");
1064 + }
1065 + if(title !== null && post_publish !== null && post_content !== null)
1066 + {
1067 + if(title.value === "")
1068 + {
1069 + post_publish.disabled = true;
1070 + }
1071 + else
1072 + {
1073 + if(typeof(tinyMCE) != "undefined")
1074 + {
1075 + if(window.parent.tinymce.get(idname) !== undefined && window.parent.tinymce.get(idname) !== null)
1076 + {
1077 + if(window.parent.tinymce.get(idname).getContent() === "" && jQuery("#" + idname).val() === "") {
1078 + post_publish.disabled = true;
1079 + }
1080 + else
1081 + {
1082 + post_publish.disabled = false;
1083 + }
1084 + }
1085 + else
1086 + {
1087 + if( jQuery("#" + idname).val() == "")
1088 + {
1089 + post_publish.disabled = true;
1090 + }
1091 + else
1092 + {
1093 + post_publish.disabled = false;
1094 + }
1095 + }
1096 + }
1097 + else
1098 + {
1099 + if( jQuery("#" + idname).val() == "")
1100 + {
1101 + post_publish.disabled = true;
1102 + }
1103 + else
1104 + {
1105 + post_publish.disabled = false;
1106 + }
1107 + }
1108 + }
1109 + }
1110 + else
1111 + {
1112 + console.log('title/post_publish/post_content not found');
1113 + }
1114 + }
1115 + function aiomatic_displayTimer(element){
1116 + var start = 1;
1117 + var minutes = 0;
1118 + var extraSeconds = 0;
1119 + var setTimer = setInterval(function () {
1120 + start++;
1121 + minutes = Math.floor(start / 60);
1122 + extraSeconds = start % 60;
1123 + minutes = minutes < 10 ? "0" + minutes : minutes;
1124 + extraSeconds = extraSeconds< 10 ? "0" + extraSeconds : extraSeconds;
1125 + element.val(minutes + ':' + extraSeconds);
1126 + }, 1000);
1127 + return setTimer;
1128 + }
1129 + function aiomatic_button_displayTimer(element){
1130 + var start = 1;
1131 + var minutes = 0;
1132 + var extraSeconds = 0;
1133 + var setTimer = setInterval(function () {
1134 + start++;
1135 + minutes = Math.floor(start / 60);
1136 + extraSeconds = start % 60;
1137 + minutes = minutes < 10 ? "0" + minutes : minutes;
1138 + extraSeconds = extraSeconds< 10 ? "0" + extraSeconds : extraSeconds;
1139 + element.html(minutes + ':' + extraSeconds);
1140 + }, 1000);
1141 + return setTimer;
1142 + }
1143 + function assistantSelected(ruleid)
1144 + {
1145 + var selected = jQuery('#assistant_id' + ruleid).val();
1146 + if(selected == '' || selected == null)
1147 + {
1148 + jQuery('.hideAssistant' + ruleid).find('option').removeAttr('disabled');
1149 + }
1150 + else
1151 + {
1152 + var selectElement = jQuery('.hideAssistant' + ruleid);
1153 + var selectedValue = selectElement.val();
1154 + jQuery('.hideAssistant' + ruleid).find('option').attr('disabled', 'disabled');
1155 + selectElement.find('option[value="' + selectedValue + '"]').removeAttr('disabled');
1156 + }
1157 + }
1158 + function aiomatic_generate_ai_text(isthis, promptid, thisid, thisres, istiny, noenable, ajaxchain)
1159 + {
1160 + var origvar = jQuery(isthis).attr('value');
1161 + var myInterval = aiomatic_displayTimer(jQuery(isthis));
1162 + jQuery("#generate_sections").prop( "disabled", true );
1163 + jQuery("#generate_all").prop( "disabled", true );
1164 + jQuery("#generate_title").prop( "disabled", true );
1165 + jQuery("#generate_paragraphs").prop( "disabled", true );
1166 + jQuery("#generate_excerpt").prop( "disabled", true );
1167 + jQuery(".generate_custom").prop( "disabled", true );
1168 + jQuery("#post_publish").prop( "disabled", true );
1169 +
1170 + var prompt_prompt = jQuery("#" + promptid).val();
1171 + var title = jQuery("#title").val();
1172 + var sections_count = jQuery( "#section_count option:selected" ).val();
1173 + var paragraph_count = jQuery( "#paragraph_count option:selected" ).val();
1174 + var model = jQuery( "#model" ).val();
1175 + var assistant_id = jQuery( "#assistant_id_single" ).val();
1176 + var max_tokens = jQuery("#max_tokens").val();
1177 + var language = jQuery("#language").val();
1178 + var topics = jQuery("#aiomatic_topics").val();
1179 + var sections = jQuery("#post_sections").val();
1180 + var writing_style = jQuery("#writing_style").val();
1181 + var writing_tone = jQuery("#writing_tone").val();
1182 + var temperature = jQuery("#temperature").val();
1183 + var metakeyinput = jQuery("#metakeyinput").val();
1184 + var content_gen_type = jQuery("#content_gen_type").val();
1185 + if(content_gen_type === 'yes')
1186 + {
1187 + if(promptid != 'prompt_content')
1188 + {
1189 + content_gen_type = 'no';
1190 + }
1191 + }
1192 + jQuery.ajax({
1193 + type: 'POST',
1194 + url: aiomatic_ajax_object.ajax_url,
1195 + data: {
1196 + action: 'aiomatic_write_text',
1197 + prompt: prompt_prompt,
1198 + title: title,
1199 + model: model,
1200 + assistant_id: assistant_id,
1201 + max_tokens: max_tokens,
1202 + language: language,
1203 + temperature: temperature,
1204 + writing_style: writing_style,
1205 + writing_tone: writing_tone,
1206 + sections_count: sections_count,
1207 + paragraph_count: paragraph_count,
1208 + metakeyinput: metakeyinput,
1209 + topics: topics,
1210 + sections: sections,
1211 + content_gen_type: content_gen_type,
1212 + nonce: aiomatic_ajax_object.nonce
1213 + },
1214 + success: function(response) {
1215 + if (response.success) {
1216 + if(istiny === true)
1217 + {
1218 + if(window.parent.tinymce.get(thisres) === undefined || window.parent.tinymce.get(thisres) === null)
1219 + {
1220 + jQuery("#" + thisres).val(response.data.content);
1221 + }
1222 + else
1223 + {
1224 + window.parent.tinymce.get(thisres).setContent(response.data.content);
1225 + }
1226 + }
1227 + else
1228 + {
1229 + jQuery("#" + thisres).val(response.data.content);
1230 + }
1231 + if(ajaxchain == true)
1232 + {
1233 + if(promptid == 'prompt_title')
1234 + {
1235 + aiomatic_generate_ai_text(jQuery('#generate_sections'), 'prompt_sections', 'generate_sections', 'post_sections', false, true, true);
1236 + }
1237 + else if(promptid == 'prompt_sections')
1238 + {
1239 + aiomatic_generate_ai_text(jQuery('#generate_paragraphs'), 'prompt_content', 'generate_paragraphs', 'post_content', true, true, true);
1240 + }
1241 + else if(promptid == 'prompt_content')
1242 + {
1243 + aiomatic_generate_ai_text(jQuery('#generate_excerpt'), 'prompt_excerpt', 'generate_excerpt', 'post_excerpt', false, false, false);
1244 + }
1245 + }
1246 + } else {
1247 + alert('Error: ' + response.data.message);
1248 + }
1249 + clearInterval(myInterval);
1250 + jQuery("#" + thisid).attr('value', origvar);
1251 + if(noenable !== true)
1252 + {
1253 + jQuery("#generate_sections").prop( "disabled", false );
1254 + jQuery("#generate_all").prop( "disabled", false );
1255 + jQuery("#generate_title").prop( "disabled", false );
1256 + jQuery("#generate_paragraphs").prop( "disabled", false );
1257 + jQuery("#generate_excerpt").prop( "disabled", false );
1258 + jQuery(".generate_custom").prop( "disabled", false );
1259 + aiomatic_title_empty();
1260 + }
1261 + },
1262 + error: function(error) {
1263 + clearInterval(myInterval);
1264 + jQuery("#" + thisid).attr('value', origvar);
1265 + jQuery("#generate_sections").prop( "disabled", false );
1266 + jQuery("#generate_all").prop( "disabled", false );
1267 + jQuery("#generate_title").prop( "disabled", false );
1268 + jQuery("#generate_paragraphs").prop( "disabled", false );
1269 + jQuery("#generate_excerpt").prop( "disabled", false );
1270 + jQuery(".generate_custom").prop( "disabled", false );
1271 + aiomatic_title_empty();
1272 + alert('An error occurred while processing, please try again later!');
1273 + console.log('Error while processing: ' + JSON.stringify(error));
1274 + }
1275 + });
1276 + }
1277 + function aiomaticExtractMetaFields()
1278 + {
1279 + const table = document.getElementById('list-table-added');
1280 + const rows = table.querySelectorAll('tr[id^="meta-"]');
1281 + let metaFields = {};
1282 + if (rows.length === 0)
1283 + {
1284 + return metaFields;
1285 + }
1286 + rows.forEach(row => {
1287 + const keyInput = row.querySelector('input[type="text"]');
1288 + const valueTextarea = row.querySelector('textarea');
1289 + if (keyInput && valueTextarea) {
1290 + metaFields[keyInput.value] = valueTextarea.value;
1291 + }
1292 + });
1293 + return metaFields;
1294 + }
1295 + jQuery(document).ready(function($) {
1296 + singleAssistantChanged();
1297 + $(document).on("click",".dellmetanow", function(e){
1298 + if (this.getAttribute("data-id") !== null) {
1299 + var remid = this.getAttribute("data-id");
1300 + $('#meta-' + remid).remove();
1301 + }
1302 + });
1303 + if(window.tinyMCE !== undefined)
1304 + {
1305 + if(!window.tinyMCE.activeEditor)
1306 + {
1307 + window.tinyMCE.execCommand('mceToggleEditor', false, 'post_content');
1308 + }
1309 + }
1310 + (function ($) {
1311 + $('#aiomatic-dialog').dialog({
1312 + title: 'Post Pulished Successfully',
1313 + dialogClass: 'wp-dialog',
1314 + autoOpen: false,
1315 + draggable: false,
1316 + width: 'auto',
1317 + modal: true,
1318 + resizable: false,
1319 + closeOnEscape: true,
1320 + position: {
1321 + my: "center",
1322 + at: "center",
1323 + of: window
1324 + },
1325 + open: function () {
1326 + $(document).on("click",".ui-widget-overlay", function(){
1327 + $('#aiomatic-dialog').dialog('close');
1328 + });
1329 + $(document).on("click","#aiomatic-close-button", function(){
1330 + $('#aiomatic-dialog').dialog('close');
1331 + });
1332 + },
1333 + create: function () {
1334 + $('.ui-dialog-titlebar-close').addClass('ui-button');
1335 + },
1336 + });
1337 + })(jQuery);
1338 +
1339 +
1340 + $(document.body).on("click","#aiomatic-success-button", function (e) {
1341 + if (this.getAttribute("adminurl") !== null) {
1342 + if (this.getAttribute("postid") !== null && this.getAttribute("postid") !== '') {
1343 + window.location.href = this.getAttribute("adminurl") + this.getAttribute("postid") + '&action=edit';
1344 + }
1345 + else
1346 + {
1347 + console.log('Incorrect post ID provided!');
1348 + }
1349 + }
1350 + else
1351 + {
1352 + console.log('Incorrect admin URL provided!');
1353 + }
1354 + });
1355 + $('#generate_title').on('click', function()
1356 + {
1357 + aiomatic_generate_ai_text(this, 'prompt_title', 'generate_title', 'title', false, false, false);
1358 + });
1359 + $('#generate_sections').on('click', function()
1360 + {
1361 + aiomatic_generate_ai_text(this, 'prompt_sections', 'generate_sections', 'post_sections', false, false, false);
1362 + });
1363 + $('#generate_paragraphs').on('click', function()
1364 + {
1365 + aiomatic_generate_ai_text(this, 'prompt_content', 'generate_paragraphs', 'post_content', true, false, false);
1366 + });
1367 + $('#generate_excerpt').on('click', function()
1368 + {
1369 + aiomatic_generate_ai_text(this, 'prompt_excerpt', 'generate_excerpt', 'post_excerpt', false, false, false);
1370 + });
1371 + $('#generate_all').on('click', function()
1372 + {
1373 + $(this).attr('value', 'Working...');
1374 + aiomatic_generate_ai_text($('#generate_title'), 'prompt_title', 'generate_title', 'title', false, true, true);
1375 + $(this).attr('value', 'Generate All');
1376 + });
1377 + if(window.tinyMCE !== undefined)
1378 + {
1379 + var ed = window.tinyMCE.get();
1380 + if(ed !== null)
1381 + {
1382 + ed.forEach((element) => element.on('keyup', function(e)
1383 + {
1384 + aiomatic_content_empty(ed.id);
1385 + }));
1386 + }
1387 + }
1388 + $('#aiomatic-single-post').submit(function(event) {
1389 + event.preventDefault();
1390 + var post_publish = document.getElementById("post_publish");
1391 + var generate_sections = document.getElementById("generate_sections");
1392 + var generate_paragraphs = document.getElementById("generate_paragraphs");
1393 + var generate_excerpt = document.getElementById("generate_excerpt");
1394 + var form = $(this);
1395 + var title = form.find('#title').val();
1396 + if(typeof(tinyMCE) != "undefined")
1397 + {
1398 + if(window.parent.tinymce.get('post_content') !== undefined && window.parent.tinymce.get('post_content') !== null)
1399 + {
1400 + var content = window.parent.tinymce.get('post_content').getContent();
1401 + if(content == '')
1402 + {
1403 + var quicktagsInput = jQuery("#post_content");
1404 + if (quicktagsInput.length)
1405 + {
1406 + content = quicktagsInput.val();
1407 + }
1408 + }
1409 + window.parent.tinymce.get('post_content').setContent("");
1410 + }
1411 + else
1412 + {
1413 + var content = $("#post_content").val();
1414 + $("#post_content").val('');
1415 + }
1416 + }
1417 + else
1418 + {
1419 + var content = $("#post_content").val();
1420 + $("#post_content").val('');
1421 + }
1422 + var metaFieldsArray = aiomaticExtractMetaFields();
1423 + var excerpt = form.find('#post_excerpt').val();
1424 + var submit_status = form.find('#submit_status').val();
1425 + var submit_type = form.find('#submit_type').val();
1426 + var post_sticky = form.find('#post_sticky').val();
1427 + var post_date = form.find('#post_date').val();
1428 + var post_author = form.find('#post_author').val();
1429 + var aiomatic_image_id = form.find('#aiomatic_image_id').val();
1430 + var post_category = document.getElementById('post_category').selectedOptions;
1431 + post_category = Array.from(post_category).map(({ value }) => value);
1432 + post_category = JSON.stringify(post_category);
1433 + var post_tags = form.find('#post_tags').val();
1434 + var nonce = form.find('#create_post_nonce').val();
1435 + $("#title").val("");
1436 + $("#post_excerpt").val("");
1437 + $("#post_sections").val("");
1438 + if(post_publish !== null && generate_sections !== null && generate_excerpt !== null && generate_paragraphs !== null)
1439 + {
1440 + post_publish.disabled = true;
1441 + generate_sections.disabled = true;
1442 + generate_excerpt.disabled = true;
1443 + generate_paragraphs.disabled = true;
1444 + }
1445 + $.ajax({
1446 + type: 'POST',
1447 + url: aiomatic_ajax_object.ajax_url,
1448 + data: {
1449 + action: 'create_post',
1450 + title: title,
1451 + content: content,
1452 + excerpt: excerpt,
1453 + submit_status: submit_status,
1454 + submit_type: submit_type,
1455 + post_sticky: post_sticky,
1456 + post_author: post_author,
1457 + post_date: post_date,
1458 + post_category: post_category,
1459 + post_tags: post_tags,
1460 + aiomatic_image_id: aiomatic_image_id,
1461 + metaFieldsArray: metaFieldsArray,
1462 + nonce: nonce
1463 + },
1464 + success: function(response) {
1465 + if (response.success) {
1466 + document.getElementById("aiomatic-success-button").setAttribute("postid", response.data.post_id);
1467 + $('#aiomatic-dialog').dialog('open');
1468 + } else {
1469 + alert('Error: ' + response.data.message);
1470 + }
1471 + },
1472 + error: function(error)
1473 + {
1474 + alert('Error in post publishing: ' + error.responseText);
1475 + }
1476 + });
1477 + });
1478 + aiomatic_all_empty();
1479 + aiomatic_title_empty();
1480 + });
1481 +
1482 + function content_gen_changed()
1483 + {
1484 + if(jQuery('#content_gen_type').val() === 'yes')
1485 + {
1486 + jQuery("#prompt_content").val(`Write the content of a post section for the heading "%%current_section%%" in %%language%%. Don't repeat the heading in the created content. Don't add an intro or outro. Write %%paragraphs_per_section%% paragraphs in the section. Use HTML for formatting, include unnumbered lists and bold. Writing Style: %%writing_style%%. Tone: %%writing_tone%%.`);
1487 + }
1488 + else
1489 + {
1490 + jQuery("#prompt_content").val(`Write an article about "%%title%%" in %%language%%. The article is organized by the following headings:
1491 +
1492 + %%sections%%
1493 +
1494 + Write %%paragraphs_per_section%% paragraphs per heading.
1495 +
1496 + Use HTML for formatting, include h2 tags, h3 tags, lists and bold. When applicable, add also HTML tables with WordPress styling (you can use WordPress table classes). Table data must be relevant, creative, short and simple.
1497 +
1498 + Add an introduction and a conclusion.
1499 +
1500 + Style: %%writing_style%%. Tone: %%writing_tone%%.`);
1501 + }
1502 + }
1503 +
1504 + //starting Advanced mode functions
1505 + function postingModeChanged()
1506 + {
1507 + var selected = jQuery("#posting_mode_changer").val();
1508 + if(selected == '1a')
1509 + {
1510 + jQuery("#topicdiv").show();
1511 + jQuery("#inputtitlediv").hide();
1512 + jQuery("#youtubediv").hide();
1513 + jQuery("#roundupdiv").hide();
1514 + jQuery("#reviewdiv").hide();
1515 + jQuery("#csvdiv").hide();
1516 + jQuery("#listiclediv").hide();
1517 + }
1518 + else if(selected == '1a-')
1519 + {
1520 + jQuery("#topicdiv").hide();
1521 + jQuery("#inputtitlediv").show();
1522 + jQuery("#youtubediv").hide();
1523 + jQuery("#roundupdiv").hide();
1524 + jQuery("#reviewdiv").hide();
1525 + jQuery("#csvdiv").hide();
1526 + jQuery("#listiclediv").hide();
1527 + }
1528 + else if(selected == '1b')
1529 + {
1530 + jQuery("#topicdiv").hide();
1531 + jQuery("#inputtitlediv").show();
1532 + jQuery("#youtubediv").hide();
1533 + jQuery("#roundupdiv").hide();
1534 + jQuery("#reviewdiv").hide();
1535 + jQuery("#csvdiv").hide();
1536 + jQuery("#listiclediv").hide();
1537 + }
1538 + else if(selected == '2')
1539 + {
1540 + jQuery("#topicdiv").hide();
1541 + jQuery("#inputtitlediv").hide();
1542 + jQuery("#youtubediv").show();
1543 + jQuery("#roundupdiv").hide();
1544 + jQuery("#reviewdiv").hide();
1545 + jQuery("#csvdiv").hide();
1546 + jQuery("#listiclediv").hide();
1547 + }
1548 + else if(selected == '3')
1549 + {
1550 + jQuery("#topicdiv").hide();
1551 + jQuery("#inputtitlediv").hide();
1552 + jQuery("#youtubediv").hide();
1553 + jQuery("#roundupdiv").show();
1554 + jQuery("#reviewdiv").hide();
1555 + jQuery("#csvdiv").hide();
1556 + jQuery("#listiclediv").hide();
1557 + }
1558 + else if(selected == '4')
1559 + {
1560 + jQuery("#topicdiv").hide();
1561 + jQuery("#inputtitlediv").hide();
1562 + jQuery("#youtubediv").hide();
1563 + jQuery("#roundupdiv").hide();
1564 + jQuery("#reviewdiv").show();
1565 + jQuery("#csvdiv").hide();
1566 + jQuery("#listiclediv").hide();
1567 + }
1568 + else if(selected == '5')
1569 + {
1570 + jQuery("#topicdiv").hide();
1571 + jQuery("#inputtitlediv").hide();
1572 + jQuery("#youtubediv").hide();
1573 + jQuery("#roundupdiv").hide();
1574 + jQuery("#reviewdiv").hide();
1575 + jQuery("#csvdiv").show();
1576 + jQuery("#listiclediv").hide();
1577 + }
1578 + else if(selected == '6')
1579 + {
1580 + jQuery("#topicdiv").hide();
1581 + jQuery("#inputtitlediv").hide();
1582 + jQuery("#youtubediv").hide();
1583 + jQuery("#roundupdiv").hide();
1584 + jQuery("#reviewdiv").hide();
1585 + jQuery("#csvdiv").hide();
1586 + jQuery("#listiclediv").show();
1587 + }
1588 + }
1589 + jQuery(document).ready(function($)
1590 + {
1591 + var codemodalfzr1a = document.getElementById('mymodalfzr1a');
1592 + var codemodalfzr1b = document.getElementById('mymodalfzr1b');
1593 + var codemodalfzr2 = document.getElementById('mymodalfzr2');
1594 + var codemodalfzr3 = document.getElementById('mymodalfzr3');
1595 + var codemodalfzr4 = document.getElementById('mymodalfzr4');
1596 + var codemodalfzr5 = document.getElementById('mymodalfzr5');
1597 + var codemodalfzr6 = document.getElementById('mymodalfzr6');
1598 + var span1a = document.getElementById("aiomatic_close1a");
1599 + var span1b = document.getElementById("aiomatic_close1b");
1600 + var span2 = document.getElementById("aiomatic_close2");
1601 + var span3 = document.getElementById("aiomatic_close3");
1602 + var span4 = document.getElementById("aiomatic_close4");
1603 + var span5 = document.getElementById("aiomatic_close5");
1604 + var span6 = document.getElementById("aiomatic_close6");
1605 + var ok1a = document.getElementById("aiomatic_ok1a");
1606 + var ok1b = document.getElementById("aiomatic_ok1b");
1607 + var ok2 = document.getElementById("aiomatic_ok2");
1608 + var ok3 = document.getElementById("aiomatic_ok3");
1609 + var ok4 = document.getElementById("aiomatic_ok4");
1610 + var ok5 = document.getElementById("aiomatic_ok5");
1611 + var ok6 = document.getElementById("aiomatic_ok6");
1612 +
1613 + if(span1a != null)
1614 + {
1615 + span1a.onclick = function() {
1616 + codemodalfzr1a.style.display = "none";
1617 + }
1618 + }
1619 + if(span1b != null)
1620 + {
1621 + span1b.onclick = function() {
1622 + codemodalfzr1b.style.display = "none";
1623 + }
1624 + }
1625 + if(span2 != null)
1626 + {
1627 + span2.onclick = function() {
1628 + codemodalfzr2.style.display = "none";
1629 + }
1630 + }
1631 + if(span3 != null)
1632 + {
1633 + span3.onclick = function() {
1634 + codemodalfzr3.style.display = "none";
1635 + }
1636 + }
1637 + if(span4 != null)
1638 + {
1639 + span4.onclick = function() {
1640 + codemodalfzr4.style.display = "none";
1641 + }
1642 + }
1643 + if(span5 != null)
1644 + {
1645 + span5.onclick = function() {
1646 + codemodalfzr5.style.display = "none";
1647 + }
1648 + }
1649 + if(span6 != null)
1650 + {
1651 + span6.onclick = function() {
1652 + codemodalfzr6.style.display = "none";
1653 + }
1654 + }
1655 + if(ok1a != null)
1656 + {
1657 + ok1a.onclick = function() {
1658 + codemodalfzr1a.style.display = "none";
1659 + }
1660 + }
1661 + if(ok1b != null)
1662 + {
1663 + ok1b.onclick = function() {
1664 + codemodalfzr1b.style.display = "none";
1665 + }
1666 + }
1667 + if(ok2 != null)
1668 + {
1669 + ok2.onclick = function() {
1670 + codemodalfzr2.style.display = "none";
1671 + }
1672 + }
1673 + if(ok3 != null)
1674 + {
1675 + ok3.onclick = function() {
1676 + codemodalfzr3.style.display = "none";
1677 + }
1678 + }
1679 + if(ok4 != null)
1680 + {
1681 + ok4.onclick = function() {
1682 + codemodalfzr4.style.display = "none";
1683 + }
1684 + }
1685 + if(ok5 != null)
1686 + {
1687 + ok5.onclick = function() {
1688 + codemodalfzr5.style.display = "none";
1689 + }
1690 + }
1691 + if(ok6 != null)
1692 + {
1693 + ok6.onclick = function() {
1694 + codemodalfzr6.style.display = "none";
1695 + }
1696 + }
1697 + window.onclick = function(event) {
1698 + if (event.target == codemodalfzr1a || event.target == codemodalfzr1b || event.target == codemodalfzr2 || event.target == codemodalfzr3 || event.target == codemodalfzr4 || event.target == codemodalfzr5 || event.target == codemodalfzr6)
1699 + {
1700 + codemodalfzr1a.style.display = "none";
1701 + codemodalfzr1b.style.display = "none";
1702 + codemodalfzr2.style.display = "none";
1703 + codemodalfzr3.style.display = "none";
1704 + codemodalfzr4.style.display = "none";
1705 + codemodalfzr5.style.display = "none";
1706 + codemodalfzr6.style.display = "none";
1707 + }
1708 + }
1709 + if (aiomaticIsTinyMCEAvailable('post_content_advanced'))
1710 + {
1711 + var editor = tinymce.get('post_content_advanced');
1712 + editor.on('change', function(e) {
1713 + aiomatic_content_empty('post_content_advanced');
1714 + });
1715 + jQuery(document).on('input', '#post_content_advanced', function (event)
1716 + {
1717 + aiomatic_content_empty('post_content_advanced');
1718 + });
1719 + }
1720 + if (aiomaticIsTinyMCEAvailable('post_content'))
1721 + {
1722 + var editor = tinymce.get('post_content');
1723 + editor.on('change', function(e) {
1724 + aiomatic_content_empty('post_content');
1725 + });
1726 + jQuery(document).on('input', '#post_content', function (event)
1727 + {
1728 + aiomatic_content_empty('post_content');
1729 + });
1730 + }
1731 + $('#aiomatic-advanced-button').on('click', function(e)
1732 + {
1733 + e.preventDefault();
1734 + var selected = jQuery("#posting_mode_changer").val();
1735 + if(selected == '1a' || selected == '1a-')
1736 + {
1737 + codemodalfzr1a.style.display = "block";
1738 + }
1739 + else if(selected == '1b')
1740 + {
1741 + codemodalfzr1b.style.display = "block";
1742 + }
1743 + else if(selected == '2')
1744 + {
1745 + codemodalfzr2.style.display = "block";
1746 + }
1747 + else if(selected == '3')
1748 + {
1749 + codemodalfzr3.style.display = "block";
1750 + }
1751 + else if(selected == '4')
1752 + {
1753 + codemodalfzr4.style.display = "block";
1754 + }
1755 + else if(selected == '5')
1756 + {
1757 + codemodalfzr5.style.display = "block";
1758 + }
1759 + else if(selected == '6')
1760 + {
1761 + codemodalfzr6.style.display = "block";
1762 + }
1763 + });
1764 +
1765 + $('#aiomatic-single-post-advanced').submit(function(event)
1766 + {
1767 + event.preventDefault();
1768 + var post_publish_advanced = document.getElementById("post_publish_advanced");
1769 + var title_advanced = jQuery("#title_advanced");
1770 + var title_advanced_val = title_advanced.val();
1771 + var form_advanced = jQuery(this);
1772 + if(typeof(tinyMCE) != "undefined")
1773 + {
1774 + if(window.parent.tinymce.get('post_content_advanced') !== undefined && window.parent.tinymce.get('post_content_advanced') !== null)
1775 + {
1776 + var content_advanced = window.parent.tinymce.get('post_content_advanced').getContent();
1777 + if(content_advanced == '')
1778 + {
1779 + var quicktagsInput = jQuery("#post_content_advanced");
1780 + if (quicktagsInput.length)
1781 + {
1782 + content_advanced = quicktagsInput.val();
1783 + }
1784 + }
1785 + window.parent.tinymce.get('post_content_advanced').setContent("");
1786 + }
1787 + else
1788 + {
1789 + var content_advanced = $("#post_content_advanced").val();
1790 + $("#post_content_advanced").val('');
1791 + }
1792 + }
1793 + else
1794 + {
1795 + var content_advanced = $("#post_content_advanced").val();
1796 + $("#post_content_advanced").val('');
1797 + }
1798 + var submit_status_advanced = form_advanced.find('#submit_status_advanced').val();
1799 + var submit_type_advanced = form_advanced.find('#submit_type_advanced').val();
1800 + var post_sticky_advanced = form_advanced.find('#post_sticky_advanced').val();
1801 + var post_date_advanced = form_advanced.find('#post_date_advanced').val();
1802 + var post_author_advanced = form_advanced.find('#post_author_advanced').val();
1803 + var aiomatic_image_id_advanced = form_advanced.find('#aiomatic_image_id_advanced').val();
1804 + var post_category_advanced = document.getElementById('post_category_advanced').selectedOptions;
1805 + post_category_advanced = Array.from(post_category_advanced).map(({ value }) => value);
1806 + post_category_advanced = JSON.stringify(post_category_advanced);
1807 + var post_tags_advanced = form_advanced.find('#post_tags_advanced').val();
1808 + var nonce_advanced = form_advanced.find('#create_post_nonce').val();
1809 + title_advanced.val("");
1810 + if(post_publish_advanced !== null)
1811 + {
1812 + post_publish_advanced.disabled = true;
1813 + }
1814 + $.ajax({
1815 + type: 'POST',
1816 + url: aiomatic_ajax_object.ajax_url,
1817 + data: {
1818 + action: 'create_post',
1819 + title: title_advanced_val,
1820 + content: content_advanced,
1821 + excerpt: '',
1822 + submit_status: submit_status_advanced,
1823 + submit_type: submit_type_advanced,
1824 + post_sticky: post_sticky_advanced,
1825 + post_author: post_author_advanced,
1826 + post_date: post_date_advanced,
1827 + post_category: post_category_advanced,
1828 + post_tags: post_tags_advanced,
1829 + aiomatic_image_id: aiomatic_image_id_advanced,
1830 + nonce: nonce_advanced
1831 + },
1832 + success: function(response) {
1833 + if (response.success) {
1834 + document.getElementById("aiomatic-success-button").setAttribute("postid", response.data.post_id);
1835 + $('#aiomatic-dialog').dialog('open');
1836 + } else {
1837 + alert('Error: ' + response.data.message);
1838 + }
1839 + },
1840 + error: function(error)
1841 + {
1842 + alert('Error in post publishing: ' + error.responseText);
1843 + }
1844 + });
1845 + aiomatic_title_empty_advanced();
1846 + });
1847 + $('#aiomatic-generate-button').on('click', function(e)
1848 + {
1849 + e.preventDefault();
1850 + var title_advanced = jQuery('#title_advanced').val();
1851 + if(typeof(tinyMCE) != "undefined")
1852 + {
1853 + if(window.parent.tinymce.get('post_content_advanced') === undefined || window.parent.tinymce.get('post_content_advanced') === null)
1854 + {
1855 + var content_advanced = $("#post_content_advanced").val();
1856 + }
1857 + else
1858 + {
1859 + var content_advanced = window.parent.tinymce.get('post_content_advanced').getContent();
1860 + if(content_advanced == '')
1861 + {
1862 + var quicktagsInput = jQuery("#post_content_advanced");
1863 + if (quicktagsInput.length)
1864 + {
1865 + content_advanced = quicktagsInput.val();
1866 + }
1867 + }
1868 + }
1869 + }
1870 + else
1871 + {
1872 + var content_advanced = $("#post_content_advanced").val();
1873 + }
1874 + if(content_advanced != '' || title_advanced != '')
1875 + {
1876 + if (!confirm("You have unsaved data in post title or content. Are you sure you want to proceed?"))
1877 + {
1878 + return;
1879 + }
1880 + }
1881 + var ctrl = jQuery(this);
1882 + var totalvar = {};
1883 + var selected = jQuery("#posting_mode_changer").val();
1884 + if(selected != '1a' && selected != '1a-' && selected != '1b' && selected != '2' && selected != '3' && selected != '4' && selected != '5' && selected != '6')
1885 + {
1886 + alert('Incorrect posting_mode_changer set!');
1887 + return;
1888 + }
1889 + var newselected = selected.endsWith('-') ? Array.from(selected).splice(0,selected.length - 1).join('') : selected;
1890 + jQuery('.valuesai' + newselected).each(function()
1891 + {
1892 + var innerctrl = jQuery(this);
1893 + if(innerctrl.is('input:text'))
1894 + {
1895 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1896 + {
1897 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1898 + }
1899 + }
1900 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'number')
1901 + {
1902 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1903 + {
1904 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1905 + }
1906 + }
1907 + else if(innerctrl.is('select'))
1908 + {
1909 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1910 + {
1911 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1912 + }
1913 + }
1914 + else if(innerctrl.is('textarea'))
1915 + {
1916 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1917 + {
1918 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1919 + }
1920 + }
1921 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'checkbox')
1922 + {
1923 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1924 + {
1925 + if(innerctrl.is(":checked"))
1926 + {
1927 + totalvar[innerctrl.attr('name')] = '1';
1928 + }
1929 + else
1930 + {
1931 + totalvar[innerctrl.attr('name')] = '0';
1932 + }
1933 + }
1934 + }
1935 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'color')
1936 + {
1937 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1938 + {
1939 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1940 + }
1941 + }
1942 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'date')
1943 + {
1944 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1945 + {
1946 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1947 + }
1948 + }
1949 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'datetime-local')
1950 + {
1951 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1952 + {
1953 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1954 + }
1955 + }
1956 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'email')
1957 + {
1958 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1959 + {
1960 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1961 + }
1962 + }
1963 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'hidden')
1964 + {
1965 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1966 + {
1967 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1968 + }
1969 + }
1970 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'password')
1971 + {
1972 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1973 + {
1974 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1975 + }
1976 + }
1977 + else if(innerctrl.is('input') && innerctrl.prop('type') == 'url')
1978 + {
1979 + if(innerctrl.attr('name') !== undefined && innerctrl.attr('name') !== '')
1980 + {
1981 + totalvar[innerctrl.attr('name')] = innerctrl.val();
1982 + }
1983 + }
1984 + });
1985 + if(selected == '1a')
1986 + {
1987 + var aiomatic_topics = jQuery("#aiomatic_topics_list").val();
1988 + if(aiomatic_topics == '')
1989 + {
1990 + alert('Error, "Post Topic List" required!');
1991 + return;
1992 + }
1993 + totalvar['post_topic_list'] = aiomatic_topics;
1994 + }
1995 + else if(selected == '1a-')
1996 + {
1997 + var aiomatic_titles = jQuery("#aiomatic_titles").val();
1998 + if(aiomatic_titles == '')
1999 + {
2000 + alert('Error, "Post Title List" required!');
2001 + return;
2002 + }
2003 + totalvar['post_title'] = aiomatic_titles;
2004 + }
2005 + else if(selected == '1b')
2006 + {
2007 + var aiomatic_titles = jQuery("#aiomatic_titles").val();
2008 + if(aiomatic_titles == '')
2009 + {
2010 + alert('Error, "Post Title List" required!');
2011 + return;
2012 + }
2013 + totalvar['post_title'] = aiomatic_titles;
2014 + }
2015 + else if(selected == '2')
2016 + {
2017 + var aiomatic_youtube = jQuery("#aiomatic_youtube").val();
2018 + if(aiomatic_youtube == '')
2019 + {
2020 + alert('Error, "YouTube Video URLs" required!');
2021 + return;
2022 + }
2023 + totalvar['url_list'] = aiomatic_youtube;
2024 + }
2025 + else if(selected == '3')
2026 + {
2027 + var aiomatic_roundup = jQuery("#aiomatic_roundup").val();
2028 + if(aiomatic_roundup == '')
2029 + {
2030 + alert('Error, "Product Search Keywords / Product ASIN List" required!');
2031 + return;
2032 + }
2033 + totalvar['amazon_keyword'] = aiomatic_roundup;
2034 + }
2035 + else if(selected == '4')
2036 + {
2037 + var aiomatic_review = jQuery("#aiomatic_review").val();
2038 + if(aiomatic_review == '')
2039 + {
2040 + alert('Error, "Single Product ASIN or Keyword" required!');
2041 + return;
2042 + }
2043 + totalvar['review_keyword'] = aiomatic_review;
2044 + }
2045 + else if(selected == '5')
2046 + {
2047 + var csv_title = jQuery("#csv_title").val();aiomaticloader
2048 + if(csv_title == '')
2049 + {
2050 + alert('Error, "CSV File URLs List" required!');
2051 + return;
2052 + }
2053 + totalvar['post_title'] = csv_title;
2054 + }
2055 + else if(selected == '6')
2056 + {
2057 + var aiomatic_topics = jQuery("#aiomatic_listicle_list").val();
2058 + if(aiomatic_topics == '')
2059 + {
2060 + alert('Error, "Listicle Topic List" required!');
2061 + return;
2062 + }
2063 + totalvar['post_topic_list'] = aiomatic_topics;
2064 + }
2065 + ctrl.prop( "disabled", true );
2066 + var origvar = ctrl.html();
2067 + var myInterval = aiomatic_button_displayTimer(ctrl);
2068 + var aiomaticloader = jQuery("#aiomaticloader");
2069 + aiomaticloader.css('visibility', 'visible');
2070 + if(aiomatic_ajax_object.no_jobs == '1')
2071 + {
2072 + jQuery.ajax({
2073 + type: 'POST',
2074 + url: aiomatic_ajax_object.ajax_url,
2075 + data: {
2076 + action: 'aiomatic_execute_single_advanced',
2077 + post_data: totalvar,
2078 + selected: selected,
2079 + nonce: aiomatic_ajax_object.nonce
2080 + },
2081 + success: function(response)
2082 + {
2083 + clearInterval(myInterval);
2084 + aiomaticloader.css('visibility', 'hidden');
2085 + ctrl.html(origvar);
2086 + ctrl.prop( "disabled", false );
2087 + if (response.success)
2088 + {
2089 + jQuery("#title_advanced").val(response.data.title);
2090 + if(typeof(tinyMCE) != "undefined")
2091 + {
2092 + if(window.parent.tinymce.get('post_content_advanced') === undefined || window.parent.tinymce.get('post_content_advanced') === null)
2093 + {
2094 + $("#post_content_advanced").val(response.data.content);
2095 + }
2096 + else
2097 + {
2098 + window.parent.tinymce.get('post_content_advanced').setContent(response.data.content);
2099 + }
2100 + }
2101 + else
2102 + {
2103 + $("#post_content_advanced").val(response.data.content);
2104 + }
2105 + }
2106 + else
2107 + {
2108 + alert('Error: ' + response.data.message);
2109 + }
2110 + },
2111 + error: function(error)
2112 + {
2113 + clearInterval(myInterval);
2114 + aiomaticloader.css('visibility', 'hidden');
2115 + ctrl.html(origvar);
2116 + ctrl.prop( "disabled", false );
2117 + alert("An error occurred while generating content: " + JSON.stringify(error));
2118 + }
2119 + });
2120 + }
2121 + else
2122 + {
2123 + jQuery.ajax({
2124 + type: 'POST',
2125 + url: aiomatic_ajax_object.ajax_url,
2126 + data: {
2127 + action: 'aiomatic_execute_single_advanced_job',
2128 + post_data: totalvar,
2129 + selected: selected,
2130 + nonce: aiomatic_ajax_object.nonce
2131 + },
2132 + success: function(response)
2133 + {
2134 + if (response.success)
2135 + {
2136 + if(response.data.job_id !== undefined)
2137 + {
2138 + aiomaticPollJob(response.data.job_id, myInterval, aiomaticloader, ctrl, origvar);
2139 + }
2140 + else
2141 + {
2142 + alert('Failed to queue job: ' + JSON.stringify(response.data));
2143 + clearInterval(myInterval);
2144 + aiomaticloader.css('visibility', 'hidden');
2145 + ctrl.html(origvar);
2146 + ctrl.prop( "disabled", false );
2147 + }
2148 + }
2149 + else
2150 + {
2151 + alert('Error: ' + response.data.message);
2152 + clearInterval(myInterval);
2153 + aiomaticloader.css('visibility', 'hidden');
2154 + ctrl.html(origvar);
2155 + ctrl.prop( "disabled", false );
2156 + }
2157 + },
2158 + error: function(error)
2159 + {
2160 + clearInterval(myInterval);
2161 + aiomaticloader.css('visibility', 'hidden');
2162 + ctrl.html(origvar);
2163 + ctrl.prop( "disabled", false );
2164 + alert("An error occurred while generating content using jobs: " + JSON.stringify(error));
2165 + }
2166 + });
2167 + }
2168 + });
2169 + var previousPollStatus = '';
2170 + var sameStatusPoll = 0;
2171 + function aiomaticPollJob(job_id, myInterval, aiomaticloader, ctrl, origvar)
2172 + {
2173 + jQuery.ajax({
2174 + type: 'POST',
2175 + url: aiomatic_ajax_object.ajax_url,
2176 + data: {
2177 + action: 'aiomatic_poll_single_advanced_job',
2178 + job_id: job_id,
2179 + nonce: aiomatic_ajax_object.nonce
2180 + },
2181 + success: function(response)
2182 + {
2183 + try {
2184 + var json_resp = JSON.parse(response);
2185 + if (json_resp.status === 'completed')
2186 + {
2187 + if(json_resp.data.title !== undefined)
2188 + {
2189 + jQuery("#title_advanced").val(json_resp.data.title);
2190 + }
2191 + else
2192 + {
2193 + console.log('No title returned ' + JSON.stringify(json_resp));
2194 + }
2195 + if(json_resp.data.title !== undefined)
2196 + {
2197 + if(typeof(tinyMCE) != "undefined")
2198 + {
2199 + if(window.parent.tinymce.get('post_content_advanced') === undefined || window.parent.tinymce.get('post_content_advanced') === null)
2200 + {
2201 + $("#post_content_advanced").val(json_resp.data.content);
2202 + }
2203 + else
2204 + {
2205 + window.parent.tinymce.get('post_content_advanced').setContent(json_resp.data.content);
2206 + }
2207 + }
2208 + else
2209 + {
2210 + $("#post_content_advanced").val(json_resp.data.content);
2211 + }
2212 + }
2213 + else
2214 + {
2215 + console.log('No content returned ' + JSON.stringify(json_resp));
2216 + }
2217 + clearInterval(myInterval);
2218 + aiomaticloader.css('visibility', 'hidden');
2219 + ctrl.html(origvar);
2220 + ctrl.prop( "disabled", false );
2221 + jQuery("#aiomatic-status-loader").html('');
2222 + var post_publish = document.getElementById("post_publish_advanced");
2223 + post_publish.disabled = false;
2224 + }
2225 + else
2226 + {
2227 + if (json_resp.status === 'pending')
2228 + {
2229 + if(json_resp.data.step !== undefined)
2230 + {
2231 + if(previousPollStatus == json_resp.data.step)
2232 + {
2233 + sameStatusPoll++;
2234 + }
2235 + else
2236 + {
2237 + sameStatusPoll = 0;
2238 + previousPollStatus = json_resp.data.step;
2239 + }
2240 + var textAppend = '';
2241 + if(sameStatusPoll >= 15)
2242 + {
2243 + textAppend = ', this is taking longer than usual...';
2244 + }
2245 + else
2246 + {
2247 + if(sameStatusPoll >= 30)
2248 + {
2249 + textAppend = ', probably your server is not responding. Check max_execution_time and other server timeouts...';
2250 + }
2251 + }
2252 + jQuery("#aiomatic-status-loader").html(json_resp.data.step + textAppend);
2253 + }
2254 + // If job is not yet complete, poll again after a delay
2255 + setTimeout(function() {
2256 + aiomaticPollJob(job_id, myInterval, aiomaticloader, ctrl, origvar);
2257 + }, 4000); // Poll every 4 seconds
2258 + }
2259 + else
2260 + {
2261 + if(json_resp.status === 'failed')
2262 + {
2263 + alert('Failed to run job: ' + json_resp.data);
2264 + clearInterval(myInterval);
2265 + aiomaticloader.css('visibility', 'hidden');
2266 + ctrl.html(origvar);
2267 + ctrl.prop( "disabled", false );
2268 + jQuery("#aiomatic-status-loader").html('');
2269 + }
2270 + else
2271 + {
2272 + alert('Unknown job state: ' + response);
2273 + clearInterval(myInterval);
2274 + aiomaticloader.css('visibility', 'hidden');
2275 + ctrl.html(origvar);
2276 + ctrl.prop( "disabled", false );
2277 + jQuery("#aiomatic-status-loader").html('');
2278 + }
2279 + }
2280 + }
2281 + } catch (error) {
2282 + console.error("Failed to get JSON: " + error);
2283 + }
2284 + },
2285 + error: function(error)
2286 + {
2287 + alert("An error occurred while polling job: " + JSON.stringify(error));
2288 + clearInterval(myInterval);
2289 + aiomaticloader.css('visibility', 'hidden');
2290 + ctrl.html(origvar);
2291 + ctrl.prop( "disabled", false );
2292 + jQuery("#aiomatic-status-loader").html('');
2293 + }
2294 + });
2295 + }
2296 + });