File "scripts.php"
Full Path: /home/digimqhe/flashdigi.uk/comment-content/plugins/gpt3-ai-content-generator/admin/views/scripts.php
File size: 44.6 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if ( ! defined( 'ABSPATH' ) ) exit;
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('.wpaicg_sync_finetune').click(function (){
var btn = $(this);
var icon = btn.find('svg'); // Select the SVG icon
var originalContent = btn.html(); // Save the original button content
$.ajax({
url: '<?php echo esc_js(admin_url('admin-ajax.php')); // Escape for JS context ?>',
data: {action: 'wpaicg_fetch_finetunes', 'nonce': '<?php echo esc_js(wp_create_nonce('wpaicg-ajax-nonce')); ?>'},
dataType: 'JSON',
type: 'POST',
beforeSend: function (){
icon.addClass('rotating'); // Add the rotating class
},
success: function (res){
icon.removeClass('rotating'); // Remove the rotating class
btn.html(originalContent); // Restore the original content
if(res.status === 'success'){
window.location.reload();
} else {
alert(res.msg || 'An error occurred.');
}
},
error: function (jqXHR, textStatus, errorThrown){
icon.removeClass('rotating'); // Remove the rotating class
btn.html(originalContent); // Restore the original content
alert('Error: ' + errorThrown);
}
});
});
$('.wpaicg_sync_google_models').click(function () {
var btn = $(this);
var icon = btn.find('svg'); // Select the SVG icon
var originalContent = btn.html(); // Save the original button content
$.ajax({
url: '<?php echo esc_js(admin_url('admin-ajax.php')); // Escape for JS context ?>',
data: {
action: 'wpaicg_fetch_google_models',
'nonce': '<?php echo esc_js(wp_create_nonce('wpaicg-ajax-nonce')); ?>'
},
dataType: 'JSON',
type: 'POST',
beforeSend: function (){
icon.addClass('rotating'); // Add the rotating class
},
success: function (res){
icon.removeClass('rotating'); // Remove the rotating class
btn.html(originalContent); // Restore the original content
if(res.status === 'success'){
window.location.reload();
} else {
alert(res.msg || 'An error occurred.');
}
},
error: function (jqXHR, textStatus, errorThrown){
icon.removeClass('rotating'); // Remove the rotating class
btn.html(originalContent); // Restore the original content
alert('Error: ' + errorThrown);
}
});
});
$('.wpaicg_check_openrouter_limits').click(function() {
var btn = $(this);
var originalContent = btn.html(); // Save the original button content
btn.html('Checking...'); // Show a loading state
$.ajax({
url: '<?php echo esc_js(admin_url('admin-ajax.php')); // Escape for JS context ?>',
type: 'POST',
dataType: 'JSON',
data: {
action: 'wpaicg_check_openrouter_limits',
nonce: '<?php echo esc_js(wp_create_nonce('wpaicg_check_openrouter_limits')); ?>'
},
success: function(response) {
btn.html(originalContent); // Restore original button text
if (response.success) {
var limitsHtml =
'<strong>API Key:</strong> ' + response.data.label + '<br>' +
'<strong>Usage:</strong> ' + response.data.usage + ' credits used<br>' +
'<strong>Limit:</strong> ' + (response.data.limit !== null ? response.data.limit + ' credits' : 'Unlimited') + '<br>' +
'<strong>Requests allowed:</strong> ' + response.data.rate_limit.requests + '<br>' +
'<strong>Interval:</strong> ' + response.data.rate_limit.interval;
$('#limitsDisplay').html(limitsHtml).show(); // Display the limits
} else {
$('#limitsDisplay').html('<strong>Error:</strong> ' + (response.data || 'An error occurred.')).show();
}
},
error: function(jqXHR, textStatus, errorThrown) {
btn.html(originalContent); // Restore original button text
$('#limitsDisplay').html('<strong>Error:</strong> ' + errorThrown).show();
}
});
});
$('#wpaicg-meta-description').on('keyup', function (){
if($(this).val() === ''){
$('#wpaicg-seo-tab-item').removeClass('wpaicg-has-seo');
}
else{
$('#wpaicg-seo-tab-item').addClass('wpaicg-has-seo');
}
});
$('#wpcgai_preview_box').on('keyup', function (){
if($(this).val() === ''){
$('#wpaicg-seo-tab-content').removeClass('wpaicg-has-seo');
}
else{
$('#wpaicg-seo-tab-content').addClass('wpaicg-has-seo');
}
});
$('.wpaicg-tabs ul li').click(function(){
if(!$(this).hasClass('wpaicg-active')) {
var targetID = $(this).attr('data-target');
$('.wpaicg-tabs ul li').removeClass('wpaicg-active');
$('.wpaicg-tab-content > div').hide();
$(this).addClass('wpaicg-active');
$('#' + targetID).show();
}
});
var oldStep = '';
var startTime;
var wpaicg_generator_process = $('.wpaicg-generating-process');
function wpaicg_ShowError(msg, timer){
clearTimeout(window['wpaicgTimer']);
wpaicg_generator_process.append('<div class="wpaicg-error-msg">'+msg+'</div>');
}
function wpaicg_generatorProcess(step, message){
if(step === 'finished') {
wpaicg_generator_process.append('<div class="wpaicg-generating-process-' + step + '"><p>' + message + '</p></div>');
}
else{
wpaicg_generator_process.append('<div class="wpaicg-generating-process-' + step + '"><p>' + message + '</p><span><?php echo esc_html__('In Progress..','gpt3-ai-content-generator')?></span></div>');
}
}
jQuery('#wpcgai_load_plugin_settings').on('click', function(e) {
var h1 = $('.wpaicg-timer'), seconds = 0, minutes = 0,t;
function add() {
seconds++;
if (seconds >= 60) {
seconds = 0;
minutes++;
}
if (minutes >= 60) {
minutes = 0;
hours++;
}
var htmlTimer = (minutes ? (minutes > 9 ? minutes : "0" + minutes) : "00") + ":" + (seconds > 9 ? seconds : "0" + seconds);
h1.html(htmlTimer);
timer();
}
function timer() {
window['wpaicgTimer'] = setTimeout(add, 1000);
}
var wpai_preview_title = $("#wpai_preview_title").val();
// we need to display error if title is empty
if (wpai_preview_title == "") {
alert("<?php echo esc_html__('Please enter title','gpt3-ai-content-generator')?>");
return false;
}
var wpai_number_of_heading = $("#wpai_number_of_heading").val();
// we need to display error if number of heading is empty
if (wpai_number_of_heading == "") {
alert("<?php echo esc_html__('Please enter number of heading','gpt3-ai-content-generator')?>");
return false;
}
if(wpai_number_of_heading > 15){
alert("<?php echo esc_html__('Limited 15 headings','gpt3-ai-content-generator')?>");
return false;
}
let wpaicg_custom_image_settings = {};
$('[name^=wpaicg_custom_image_settings]').each(function(idx, elem) {
let name = $(elem).attr('name');
name = name.replace(/wpaicg_custom_image_settings/g,'');
name = name.replace('[','');
name = name.replace(']','');
wpaicg_custom_image_settings[name] = $(elem).val();
});
var wpaicg_toc = $('#wpaicg_toc:checked').val();
wpaicg_toc = wpaicg_toc ? wpaicg_toc : 0;
var wpai_language = $("#wpai_language").val();
var wpai_add_intro = $("#wpai_add_intro").val();
var wpai_add_conclusion = $("#wpai_add_conclusion").val();
var wpaicg_seo_meta_desc = $("#wpaicg_seo_meta_desc:checked").val();
var wpai_writing_style = $("#wpai_writing_style").val();
var wpai_writing_tone = $("#wpai_writing_tone").val();
var wpai_keywords = $("#wpai_keywords").val();
var wpai_add_keywords_bold = $("#wpai_add_keywords_bold").val();
var wpai_heading_tag = $("#wpai_heading_tag").val();
var wpai_words_to_avoid = $("#wpai_words_to_avoid").val();
var wpai_add_tagline = $("#wpai_add_tagline").val();
var wpai_add_faq = $("#wpai_add_faq2:checked").length;
/*Fix auto add FAQ*/
wpai_add_faq = wpai_add_faq ? 1 : 0;
var wpai_target_url = $("#wpai_target_url").val();
var wpai_anchor_text = $("#wpai_anchor_text").val();
var wpai_target_url_cta = $("#wpai_target_url_cta").val();
var wpai_cta_pos = $("#wpai_cta_pos").val();
var wpai_img_size = $("#_wporg_img_size").val();
var wpai_img_style = $("#_wporg_img_style").val();
var wpaicg_toc_title = $("#wpaicg_toc_title").val();
var wpaicg_toc_title_tag = $("#wpaicg_toc_title_tag").val();
var wpaicg_intro_title_tag = $("#wpaicg_intro_title_tag").val();
var wpaicg_conclusion_title_tag = $("#wpaicg_conclusion_title_tag").val();
var wpai_modify_headings = $('#wpai_modify_headings').val();
var is_generate_continue = $('#is_generate_continue').val();
var hfHeadings = $("#hfHeadings").val();
/*
* Add Image and Featured
* */
var wpaicg_image_source = $('#wpaicg_image_source').val();
var wpaicg_featured_image_source = $('#wpaicg_featured_image_source').val();
var wpaicg_pexels_orientation = $('#wpaicg_pexels_orientation').val();
var wpaicg_pexels_size = $('#wpaicg_pexels_size').val();
var wpaicg_pixabay_order = $('#wpaicg_pixabay_order').val();
var wpaicg_pixabay_orientation = $('#wpaicg_pixabay_orientation').val();
var wpaicg_pixabay_language = $('#wpaicg_pixabay_language').val();
var wpaicg_pixabay_type = $('#wpaicg_pixabay_type').val();
var wpaicg_meta_custom_prompt_enable = $('.wpaicg_meta_custom_prompt_enable:checked').length ? 1 : 0;
var wpaicg_meta_custom_prompt = $('.wpaicg_meta_custom_prompt').val();
var wpaicg_pixabay_enable_prompt = $('#wpaicg_pixabay_enable_prompt:checked').length ? 1 : 0;
var wpaicg_pixabay_custom_prompt = $('#wpaicg_pixabay_custom_prompt').val();
var wpaicg_pexels_enable_prompt = $('#wpaicg_pexels_enable_prompt:checked').length ? 1 : 0;
var wpaicg_pexels_custom_prompt = $('#wpaicg_pexels_custom_prompt').val();
$('#is_generate_continue').val(0);
$('.wpcgai_menu_editor').html('');
e.preventDefault();
jQuery('.wpcgai_lds-ellipsis').show();
if(window['wpaicgTimer'] !== undefined){
clearTimeout(window['wpaicgTimer']);
}
timer();
var data = {
'action': 'wpaicg_content_generator',
'wpai_preview_title': wpai_preview_title,
'wpai_number_of_heading': wpai_number_of_heading,
'wpaicg_image_source': wpaicg_image_source,
'wpaicg_featured_image_source': wpaicg_featured_image_source,
'wpaicg_pexels_orientation': wpaicg_pexels_orientation,
'wpaicg_pexels_size': wpaicg_pexels_size,
'wpaicg_pixabay_type': wpaicg_pixabay_type,
'wpaicg_pixabay_language': wpaicg_pixabay_language,
'wpaicg_pixabay_order': wpaicg_pixabay_order,
'wpaicg_pixabay_orientation': wpaicg_pixabay_orientation,
'wpai_language': wpai_language,
'wpai_add_intro': wpai_add_intro,
'wpai_add_conclusion': wpai_add_conclusion,
'wpai_writing_style': wpai_writing_style,
'wpai_writing_tone': wpai_writing_tone,
'wpai_keywords': wpai_keywords,
'wpai_add_keywords_bold': wpai_add_keywords_bold,
'wpai_heading_tag': wpai_heading_tag,
'wpai_words_to_avoid': wpai_words_to_avoid,
'wpai_add_tagline': wpai_add_tagline,
'wpai_add_faq': wpai_add_faq,
'wpai_target_url': wpai_target_url,
'wpai_anchor_text': wpai_anchor_text,
'wpai_modify_headings': wpai_modify_headings,
'is_generate_continue': is_generate_continue,
'hfHeadings': hfHeadings,
'wpai_target_url_cta' : wpai_target_url_cta,
'wpai_cta_pos' : wpai_cta_pos,
'step': 'heading',
'wpaicg_content': '',
'wpai_img_size': wpai_img_size,
'wpai_img_style': wpai_img_style,
'wpaicg_seo_meta_desc': wpaicg_seo_meta_desc,
'wpaicg_toc': wpaicg_toc,
'wpaicg_toc_title': wpaicg_toc_title,
'wpaicg_toc_title_tag': wpaicg_toc_title_tag,
'wpaicg_hide_introduction': $('#wpaicg_hide_introduction:checked').length ? 1 : 0,
'wpaicg_hide_conclusion': $('#wpaicg_hide_conclusion:checked').length ? 1 : 0,
'wpaicg_intro_title_tag': wpaicg_intro_title_tag,
'wpaicg_conclusion_title_tag': wpaicg_conclusion_title_tag,
'wpaicg_toc_list': '',
'wpaicg_custom_image_settings': wpaicg_custom_image_settings,
'wpaicg_custom_prompt_enable': wpaicg_meta_custom_prompt_enable,
'wpaicg_custom_prompt': wpaicg_meta_custom_prompt,
'wpaicg_pixabay_enable_prompt': wpaicg_pixabay_enable_prompt,
'wpaicg_pixabay_custom_prompt': wpaicg_pixabay_custom_prompt,
'wpaicg_pexels_enable_prompt': wpaicg_pexels_enable_prompt,
'wpaicg_pexels_custom_prompt': wpaicg_pexels_custom_prompt,
'nonce': '<?php echo esc_js(wp_create_nonce('wpaicg-ajax-nonce')); ?>'
};
$('#wpcgai_preview_box').text('');
$('#wpcgai_preview_box').val('');
$('#wpaicg-meta-description').val('');
$('#wpaicg-meta-description').text('');
wpaicg_generator_process.empty();
/*Start with custom prompt*/
if(wpaicg_meta_custom_prompt_enable){
oldStep = 'custom_content';
wpaicg_generatorProcess(oldStep,'<?php echo esc_html__('Generating Content','gpt3-ai-content-generator')?>');
}
else{
oldStep = 'heading';
wpaicg_generatorProcess(oldStep,'<?php echo esc_html__('Generating Headings','gpt3-ai-content-generator')?>');
}
$('#wpcgai_load_plugin_settings').attr('disabled','disabled');
if(!$('#wpcgai_load_plugin_settings .spinner').length) {
$('#wpcgai_load_plugin_settings').append('<span class="spinner"></span>');
}
$('#wpcgai_load_plugin_settings').find('.spinner').css('visibility','unset');
$('#wpaicg-seo-tab-item').removeClass('wpaicg-has-seo');
$('#wpaicg-seo-tab-content').removeClass('wpaicg-has-seo');
startTime = new Date();
var requestData = data;
if(wpaicg_meta_custom_prompt_enable){
requestData.action = 'wpaicg_generate_custom_prompt';
}
$.post(ajaxurl, requestData, function(response){
if(response.status === 'success'){
if (wpai_modify_headings == 1 && is_generate_continue == 0 && !wpaicg_meta_custom_prompt_enable) {
clearTimeout(window['wpaicgTimer']);
var str = response.data;
var html = str.split('||');
var headings_array = [];
$.each(html, function (i, el) {
headings_array.push(el);
});
$.each(headings_array, function (key, value) {
value = value.replace("'", "'");
var randomnum = Math.floor((Math.random() * 100000) + 1);
var itemTemplate = "<li><div>";
itemTemplate += "<input type='text' id='text' value='" + value + "' style='width: 90%;'/>";
itemTemplate += "<span class='wpcgai_sort_heading'><i class='fa fa-bars'></i></span>";
itemTemplate += "<span id='wpcgai_remove_heading'><i class='fa fa-trash-o'></i></span>";
itemTemplate += "<div style='display: none;'><span id='identifier'>" + randomnum + "</span>";
itemTemplate += "</div>";
itemTemplate += "</div></li>";
$(".wpcgai_menu_editor").prepend(itemTemplate);
});
$('#myModal').show();
$('.modal-backdrop').show();
} else {
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep).addClass('finished');
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep + ' span').html('<?php echo esc_html__('Done','gpt3-ai-content-generator')?>');
if(wpaicg_meta_custom_prompt_enable){
$('#wpaicg-seo-tab-content').addClass('wpaicg-has-seo');
$('#wpcgai_preview_box').val(response.content.replaceAll('\\',''));
$('#wpcgai_save_draft_post_action').show();
data.action = 'wpaicg_content_generator';
data.content = response.content.replaceAll('\\','');
data.step = 'seo';
data.wpaicg_toc_list = response.tocs;
data.wpaicg_heading_tag_modify = response.wpaicg_heading_tag_modify;
data.hfHeadings = response.headings;
wpaicg_generatorProcess(data.step, '<?php echo esc_html__('Optimizing SEO','gpt3-ai-content-generator')?>');
}
else{
data.step = 'content';
wpaicg_generatorProcess(data.step, '<?php echo esc_html__('Generating Content','gpt3-ai-content-generator')?>');
data.hfHeadings = response.data;
}
data.tokens = parseInt(response.tokens);
data.length = parseInt(response.length);
oldStep = data.step;
wpaicgStepWorking(data, t);
}
}
else{
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep).addClass('wpaicg-error');
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep+' span').html('<?php echo esc_html__('Error','gpt3-ai-content-generator')?>');
wpaicg_ShowError(response.msg, t);
$('#wpcgai_load_plugin_settings').removeAttr('disabled');
$('#wpcgai_load_plugin_settings').find('.spinner').remove();
}
}).fail(function (){
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep).addClass('error');
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep+' span').html('<?php echo esc_html__('Error','gpt3-ai-content-generator')?>');
wpaicg_ShowError('<?php echo esc_html__('The server is currently overloaded with other requests. Sorry about that! You can retry your request, or contact us through our help center at help.openai.com if the error persists..','gpt3-ai-content-generator')?>', t);
$('#wpcgai_load_plugin_settings').removeAttr('disabled');
$('#wpcgai_load_plugin_settings').find('.spinner').remove();
});
});
function wpaicg_random(length) {
let result = '';
const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
const charactersLength = characters.length;
let counter = 0;
while (counter < length) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
counter += 1;
}
return result;
}
function wpaicgStepWorking(data,timer){
var wpaicg_image_source = $('#wpaicg_image_source').val();
var wpaicg_featured_image_source = $('#wpaicg_featured_image_source').val();
var wpai_language = $("#wpai_language").val();
var wpai_add_intro = $("#wpai_add_intro").val();
var wpai_add_conclusion = $("#wpai_add_conclusion").val();
var wpai_writing_style = $("#wpai_writing_style").val();
var wpai_writing_tone = $("#wpai_writing_tone").val();
var wpai_keywords = $("#wpai_keywords").val();
var wpai_add_keywords_bold = $("#wpai_add_keywords_bold").val();
var wpai_heading_tag = $("#wpai_heading_tag").val();
var wpai_words_to_avoid = $("#wpai_words_to_avoid").val();
var wpai_add_tagline = $("#wpai_add_tagline").val();
var wpai_add_faq = $("#wpai_add_faq2:checked").length;
wpai_add_faq = wpai_add_faq ? 1 : 0;
var wpai_target_url = $("#wpai_target_url").val();
var wpai_anchor_text = $("#wpai_anchor_text").val();
var wpai_target_url_cta = $("#wpai_target_url_cta").val();
var wpai_cta_pos = $("#wpai_cta_pos").val();
$.post(ajaxurl, data, function(response){
if(response.status === 'success' || response.status === 'no_image'){
data.wpaicg_toc_list = response.tocs;
if(response.next_step === 'DONE'){
$('#wpcgai_load_plugin_settings').removeAttr('disabled');
$('#wpcgai_load_plugin_settings').find('.spinner').remove();
if(response.featured_img !== undefined && response.featured_img !== ''){
if($('.wpaicg_featured_img_url').length){
$('.wpaicg_featured_img_url').val(response.featured_img);
}
else {
$('#wpcgai_save_draft_post_action').parent().append('<input class="wpaicg_featured_img_url" type="hidden" name="wpaicg_featured_img_url" value="' + response.featured_img + '">')
}
}
if(oldStep === 'image' && response.status === 'no_image'){
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep).addClass('wpaicg-error');
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep + ' span').html('<?php echo esc_html__('Rejected','gpt3-ai-content-generator')?>');
}
else{
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep).addClass('finished');
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep+' span').html('<?php echo esc_html__('Done','gpt3-ai-content-generator')?>');
}
if(oldStep === 'featuredimage' && response.status === 'no_image'){
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep).addClass('wpaicg-error');
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep + ' span').html('<?php echo esc_html__('Rejected','gpt3-ai-content-generator')?>');
}
else{
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep).addClass('finished');
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep+' span').html('<?php echo esc_html__('Done','gpt3-ai-content-generator')?>');
}
wpaicg_generatorProcess('finished','<?php echo esc_html__('Finished','gpt3-ai-content-generator')?>');
response.content = response.content.replace(/wpaicgheading/g,wpaicg_random(10));
$('#wpcgai_preview_box').val(response.content.replaceAll('\\',''));
if(response.content !== ''){
$('#wpaicg-seo-tab-content').addClass('wpaicg-has-seo');
}
setTimeout(function(){
$('.wpcgai_lds-ellipsis').hide();
},3000);
if($('.wpaicg_content_changed').length){
$('.wpaicg_content_changed').val('true');
}
else{
$('#wpcgai_save_draft_post_action').parent().append('<input class="wpaicg_content_changed" type="hidden" name="wpaicg_content_changed" value="true">')
}
clearTimeout(window['wpaicgTimer']);
var endTime = new Date();
var timeDiff = endTime - startTime;
timeDiff = timeDiff/1000;
if($('.wpaicg_duration').length){
$('.wpaicg_duration').val(timeDiff);
}
else{
$('#wpcgai_save_draft_post_action').parent().append('<input class="wpaicg_duration" type="hidden" name="duration" value="'+timeDiff+'">');
}
if ($('.wpaicg_word_count').length){
$('.wpaicg_word_count').val(response.length)
}
else {
$('#wpcgai_save_draft_post_action').parent().append('<input class="wpaicg_word_count" type="hidden" name="word_count" value="' + response.length + '">');
}
if($('.wpaicg_usage_token').length){
$('.wpaicg_usage_token').val(response.tokens);
}
else{
$('#wpcgai_save_draft_post_action').parent().append('<input class="wpaicg_usage_token" type="hidden" name="usage_token" value="'+response.tokens+'">');
}
$('#wpcgai_save_draft_post_action').show();
}
else{
if(oldStep === 'content'){
$('#wpcgai_preview_box').val(response.content.replaceAll('\\',''));
$('#wpcgai_save_draft_post_action').show();
}
if(oldStep === 'image' && response.status === 'no_image'){
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep).addClass('wpaicg-error');
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep + ' span').html('<?php echo esc_html__('No Img','gpt3-ai-content-generator')?>');
}
else {
if(response.img !== undefined && response.img !== ''){
if($('.wpaicg_image_url').length){
$('.wpaicg_image_url').val(response.img);
}
else{
$('#wpcgai_save_draft_post_action').parent().append('<input class="wpaicg_image_url" type="hidden" name="wpaicg_image_url" value="'+response.img+'">')
}
}
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep).addClass('finished');
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep + ' span').html('<?php echo esc_html__('Done','gpt3-ai-content-generator')?>');
}
if(oldStep === 'featuredimage' && response.status === 'no_image'){
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep).addClass('wpaicg-error');
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep + ' span').html('<?php echo esc_html__('No Img','gpt3-ai-content-generator')?>');
}
else {
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep).addClass('finished');
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep + ' span').html('<?php echo esc_html__('Done','gpt3-ai-content-generator')?>');
}
if(response.description !== ''){
$('#wpaicg-seo-tab-item').addClass('wpaicg-has-seo');
$('#wpaicg-meta-description').val(response.description);
}
if(response.title !== undefined && response.title !== ''){
// Remove quotes only from the beginning and the end of the title
var cleanTitle = response.title.replace(/^["']|["']$/g, "");
// Update the title input field with the cleaned title
$('#wpai_preview_title').val(cleanTitle);
}
data.tokens = parseInt(response.tokens);
data.length = parseInt(response.length);
data.step = response.next_step;
if(wpai_add_intro == 1 && data.step == 'intro'){
wpaicg_generatorProcess('intro','<?php echo esc_html__('Generating Introduction','gpt3-ai-content-generator')?>');
}
if(wpai_add_faq == 1 && data.step == 'faq'){
wpaicg_generatorProcess('faq','<?php echo esc_html__('Generating Q&A','gpt3-ai-content-generator')?>');
}
if(wpai_add_conclusion == 1 && data.step == 'conclusion'){
wpaicg_generatorProcess('conclusion','<?php echo esc_html__('Generating Conclusion','gpt3-ai-content-generator')?>');
}
if(wpai_add_tagline == 1 && data.step == 'tagline'){
wpaicg_generatorProcess('tagline','<?php echo esc_html__('Generating Tagline','gpt3-ai-content-generator')?>');
}
if(data.step == 'seo'){
wpaicg_generatorProcess('seo','<?php echo esc_html__('Optimizing SEO','gpt3-ai-content-generator')?>');
}
// if generate_title
if(data.step == 'generate_title'){
wpaicg_generatorProcess('generate_title','<?php echo esc_html__('Generating Title','gpt3-ai-content-generator')?>');
}
if(data.step == 'addition'){
wpaicg_generatorProcess('addition','<?php echo esc_html__('Applying Changes','gpt3-ai-content-generator')?>');
}
if(data.step === 'image'){
if(wpaicg_image_source === 'dalle' || wpaicg_image_source === 'dalle2' || wpaicg_image_source === 'dalle3' || wpaicg_image_source === 'dalle3hd'){
wpaicg_generatorProcess('image','<?php echo esc_html__('Generating Image with DALL-E','gpt3-ai-content-generator')?>');
}
if(wpaicg_image_source === 'pexels'){
wpaicg_generatorProcess('image','<?php echo esc_html__('Getting Image from Pexels','gpt3-ai-content-generator')?>');
}
if(wpaicg_image_source === 'pixabay'){
wpaicg_generatorProcess('image','<?php echo esc_html__('Getting Image from Pixabay','gpt3-ai-content-generator')?>');
}
if(wpaicg_image_source === 'replicate'){
wpaicg_generatorProcess('image','<?php echo esc_html__('Generating Image with Replicate','gpt3-ai-content-generator')?>');
}
}
if(data.step === 'featuredimage'){
if(wpaicg_featured_image_source === 'dalle' || wpaicg_featured_image_source === 'dalle2' || wpaicg_featured_image_source === 'dalle3' || wpaicg_featured_image_source === 'dalle3hd'){
wpaicg_generatorProcess('featuredimage','<?php echo esc_html__('Generating DALL-E Featured Image','gpt3-ai-content-generator')?>');
}
if(wpaicg_featured_image_source === 'pexels'){
wpaicg_generatorProcess('featuredimage','<?php echo esc_html__('Getting Featured Image from Pexels','gpt3-ai-content-generator')?>');
}
if(wpaicg_featured_image_source === 'pixabay'){
wpaicg_generatorProcess('featuredimage','<?php echo esc_html__('Getting Featured Image from Pixabay','gpt3-ai-content-generator')?>');
}
if(wpaicg_featured_image_source === 'replicate'){
wpaicg_generatorProcess('featuredimage','<?php echo esc_html__('Generating Featured Image with Replicate','gpt3-ai-content-generator')?>');
}
}
oldStep = data.step;
data.generated_img = response.img;
data.featured_img = response.featured_img;
data.content = response.content.replaceAll('\\','');
wpaicgStepWorking(data, timer)
}
}
else{
if(oldStep === 'seo'){
data.step = 'generate_title';
wpaicg_generator_process.append('<div class="wpaicg-error-msg">'+response.msg+'</div>');
wpaicgStepWorking(data, timer);
}
else if(oldStep === 'generate_title'){
data.step = 'addition';
wpaicg_generator_process.append('<div class="wpaicg-error-msg">'+response.msg+'</div>');
wpaicgStepWorking(data, timer);
}
else {
if (oldStep !== 'heading' && oldStep !== 'content') {
if (response.description !== '') {
$('#wpaicg-seo-tab-item').addClass('wpaicg-has-seo');
$('#wpaicg-meta-description').val(response.description);
}
if (response.content !== '') {
$('#wpaicg-seo-tab-content').addClass('wpaicg-has-seo');
$('#wpcgai_preview_box').val(response.content.replaceAll('\\', ''));
if($('.wpaicg_content_changed').length){
$('.wpaicg_content_changed').val('true');
}
else {
$('#wpcgai_save_draft_post_action').parent().append('<input class="wpaicg_content_changed" type="hidden" name="wpaicg_content_changed" value="true">');
}
}
if (response.img !== undefined && response.img !== '') {
if($('.wpaicg_image_url').length){
$('.wpaicg_image_url').val(response.img);
}
else {
$('#wpcgai_save_draft_post_action').parent().append('<input class="wpaicg_image_url" type="hidden" name="wpaicg_image_url" value="' + response.img + '">')
}
}
if (response.featured_img !== undefined && response.featured_img !== '') {
if($('.wpaicg_featured_img_url').length){
$('.wpaicg_featured_img_url').val(response.featured_img);
}
else {
$('#wpcgai_save_draft_post_action').parent().append('<input class="wpaicg_featured_img_url" type="hidden" name="wpaicg_featured_img_url" value="' + response.featured_img + '">')
}
}
}
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep).addClass('wpaicg-error');
wpaicg_generator_process.find('.wpaicg-generating-process-' + oldStep + ' span').html('<?php echo esc_html__('Error','gpt3-ai-content-generator')?>');
wpaicg_ShowError(response.msg, timer);
$('#wpcgai_load_plugin_settings').removeAttr('disabled');
$('#wpcgai_load_plugin_settings').find('.spinner').remove();
}
}
}).fail(function (jqXHR, textStatus, errorThrown){
var errorMessage = errorThrown; // This will contain the actual error message returned from the server.
if (!errorMessage || errorMessage === "") {
errorMessage = "It appears that your web server has some kind of timeout limit. This can also occur if you are using a VPS, CDN, proxy, firewall, or Cloudflare. To resolve this issue, please contact your hosting provider and request an increase in the timeout limit. Read more: https://docs.aipower.org/docs/content-writer/express-mode/faq#timeout-issue";
}
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep).addClass('wpaicg-error');
wpaicg_generator_process.find('.wpaicg-generating-process-'+oldStep+' span').html('<?php echo esc_html__('Error','gpt3-ai-content-generator')?>');
wpaicg_ShowError(errorMessage, timer); // Using the actual error message here.
$('#wpcgai_load_plugin_settings').removeAttr('disabled');
$('#wpcgai_load_plugin_settings').find('.spinner').remove();
console.log("AJAX Error:", textStatus);
console.log("Error Thrown:", errorThrown);
console.log("Full Response:", jqXHR.responseText);
});
}
jQuery('#wpcgai_save_draft_post_action').click(function(){
var wpaicg_draft_btn = jQuery(this);
var title = jQuery('#wpai_preview_title').val();
var content = jQuery('#wpcgai_preview_box').val();
if(title === ''){
alert('<?php echo esc_html__('Please enter title','gpt3-ai-content-generator')?>');
}
else if(content === ''){
alert('<?php echo esc_html__('Please wait content generated','gpt3-ai-content-generator')?>')
}
else {
var data = $('#right-nav-express select').serialize()+'&'+$('#right-nav-express input').serialize()+'&'+$('#right-nav-express textarea').serialize() + '&' + $('#expressdata select').serialize()+'&'+$('#expressdata input').serialize()+'&'+$('#expressdata textarea').serialize();
data = data+'&title='+title+'&content='+content+'&action=wpaicg_save_draft_post_extra&nonce=<?php echo esc_js(wp_create_nonce('wpaicg-ajax-nonce')); ?>';
if($('#post_ID').length){
data += '&post_id='+$('#post_ID').val();
}
// var data_json = URLSearchParams2JSON_2(data);
jQuery.ajax({
url: '<?php echo esc_js(admin_url( 'admin-ajax.php' )); ?>',
data: data,
dataType: 'html',
type: 'POST',
beforeSend: function (){
wpaicg_draft_btn.attr('disabled','disabled');
wpaicg_draft_btn.append('<span class="spinner"></span>');
wpaicg_draft_btn.find('.spinner').css('visibility','unset');
},
success: function (res){
res = res.replace('postrevision{','{');
res = res.replace('revisionrevision{','{');
res = res.replace('postrevisionrevision{','{');
res = res.replace('postrevisionrevisionrevision{','{');
res = res.replace('postrevisionrevisionrevisionrevision{','{');
res = res.replaceAll('revision{','{');
res = res.replaceAll('post{','{');
res = JSON.parse(res);
wpaicg_draft_btn.removeAttr('disabled');
wpaicg_draft_btn.find('.spinner').remove();
if(res.status === 'success'){
window.location.href = '<?php echo esc_js(admin_url( 'post.php' )); ?>?post='+res.id+'&action=edit';
}
else{
alert(res.msg);
}
},
error: function (){
wpaicg_draft_btn.removeAttr('disabled');
wpaicg_draft_btn.find('.spinner').remove();
alert('<?php echo esc_html__('Something went wrong','gpt3-ai-content-generator')?>');
}
});
}
});
$('.wpaicg_meta_custom_prompt_enable').click(function (){
if($(this).prop('checked')){
$('.wpaicg_meta_custom_prompt_box').show();
}
else{
$('.wpaicg_meta_custom_prompt_box').hide();
}
});
$('.wpaicg_meta_custom_prompt_reset').click(function (){
let prompt = $(this).attr('data-prompt');
$('.wpaicg_meta_custom_prompt').val(prompt);
$('.wpaicg_meta_custom_prompt_auto_error').empty();
$('#wpcgai_load_plugin_settings').removeAttr('disabled');
});
<?php
if(!\WPAICG\wpaicg_util_core()->wpaicg_is_pro()):
?>
$('.wpaicg_meta_custom_prompt').on('input', function (e){
let prompt = $(e.currentTarget).val();
if(prompt.indexOf('[keywords_to_include]') > -1 || prompt.indexOf('[keywords_to_avoid]') > -1){
$('.wpaicg_meta_custom_prompt_auto_error').html('<div style="color: #f00"><?php echo esc_html__('Please note that keywords are only available in pro plan. Please remove keywords from your prompt','gpt3-ai-content-generator')?></div>');
$('#wpcgai_load_plugin_settings').attr('disabled','disabled');
}
else{
$('.wpaicg_meta_custom_prompt_auto_error').empty();
$('#wpcgai_load_plugin_settings').removeAttr('disabled');
}
});
<?php
endif;
?>
});
</script>