false)); $category_options = ''; foreach ($categories as $category) { $category_options .= ''; } // The aiapg_get_available_models function is now available via the utility class // Get available models $available_models = aiapg_get_available_models(); // Get default settings for new schedules $default_text_model = get_option('aiapg_default_text_model', 'gpt-3.5-turbo'); $default_image_model = get_option('aiapg_default_image_model', 'dall-e-2'); $default_fallback_image_model = get_option('aiapg_default_fallback_image_model', 'pollinations'); // Check if default models are available, if not, use first available or empty $available_text_model_values = array_column($available_models['text_models'], 'value'); $available_image_model_values = array_column($available_models['image_models'], 'value'); if (!empty($available_text_model_values) && !in_array($default_text_model, $available_text_model_values)) { $default_text_model = $available_text_model_values[0]; } elseif (empty($available_text_model_values)) { $default_text_model = ''; } if (!empty($available_image_model_values) && !in_array($default_image_model, $available_image_model_values)) { $default_image_model = $available_image_model_values[0]; } elseif (empty($available_image_model_values)) { $default_image_model = ''; } if (!empty($available_image_model_values) && !in_array($default_fallback_image_model, $available_image_model_values)) { $default_fallback_image_model = $available_image_model_values[0]; } elseif (empty($available_image_model_values)) { $default_fallback_image_model = ''; } $default_settings = array( 'default_text_model' => $default_text_model, 'default_image_model' => $default_image_model, 'default_fallback_image_model' => $default_fallback_image_model, 'posts_per_run' => get_option('aiapg_default_posts_per_run', 1), 'content_length' => get_option('aiapg_default_content_length', 'long'), 'post_status' => AIAPG_Utils::get_default_post_status(), 'enable_images' => get_option('aiapg_default_enable_images', 1), 'image_placement' => get_option('aiapg_default_image_placement', 'featured'), 'image_size' => get_option('aiapg_default_image_size', '1024x1024'), 'images_per_post' => get_option('aiapg_default_images_per_post', 1) ); ?>

name); ?>

is_active) : ?>
description)) : ?>

description); ?>

posts_per_run); ?>
content_length) ? $schedule->content_length : 'long'; $length_label = isset($length_presets[$schedule_length]['label']) ? $length_presets[$schedule_length]['label'] : $schedule_length; ?>
post_status) ? AIAPG_Utils::normalize_post_status($schedule->post_status) : AIAPG_Utils::get_default_post_status(); $status_label = isset($status_choices[$schedule_status]) ? $status_choices[$schedule_status] : $schedule_status; ?>
text_model); ?>
enable_images) : ?>
image_model); ?>
image_placement)); ?>
interval_type) { case 'hourly': $interval_text = sprintf( /* translators: %d: Number of hours */ _n('Every %d hour', 'Every %d hours', $schedule->interval_value, 'ai-auto-post-image-generator'), $schedule->interval_value ); break; case 'daily': $interval_text = sprintf( /* translators: %d: Number of days */ _n('Every %d day', 'Every %d days', $schedule->interval_value, 'ai-auto-post-image-generator'), $schedule->interval_value ); break; case 'weekly': $interval_text = sprintf( /* translators: %d: Number of weeks */ _n('Every %d week', 'Every %d weeks', $schedule->interval_value, 'ai-auto-post-image-generator'), $schedule->interval_value ); break; case 'monthly': $interval_text = sprintf( /* translators: %d: Number of months */ _n('Every %d month', 'Every %d months', $schedule->interval_value, 'ai-auto-post-image-generator'), $schedule->interval_value ); break; case 'custom': $interval_text = esc_html__('Custom Cron', 'ai-auto-post-image-generator'); break; case 'once': $once_at = !empty($schedule->scheduled_at) ? $schedule->scheduled_at : $schedule->next_run; $interval_text = $once_at ? sprintf( /* translators: %s: scheduled datetime */ __('Once at %s', 'ai-auto-post-image-generator'), $once_at ) : __('Once (specific date & time)', 'ai-auto-post-image-generator'); break; } echo esc_html($interval_text); ?>
last_run) : ?>
last_run), current_time('timestamp'))); ?>
next_run) : ?>
next_run))); ?>
categories) ? maybe_unserialize($schedule->categories) : array(); $custom_prompts = !empty($schedule->custom_prompts) ? maybe_unserialize($schedule->custom_prompts) : array(); // Ensure categories is an array if (!is_array($categories)) { $categories = array(); } if (!is_array($custom_prompts)) { $custom_prompts = array(); } ?>
name); ?>
$prompt_data) : ?>
.
name; } } if (!empty($prompt_categories)) { echo '
'; echo '' . esc_html__('Assigned to:', 'ai-auto-post-image-generator') . ' '; echo '' . esc_html(implode(', ', $prompt_categories)) . ''; echo '
'; } } } ?>
3) : ?>

Configure API keys', 'ai-auto-post-image-generator'), esc_html(implode(', ', $providers)), esc_url(admin_url('admin.php?page=aiapg-settings')) ); ?>

>

Configure API keys', 'ai-auto-post-image-generator'), esc_html(implode(', ', $providers)), esc_url(admin_url('admin.php?page=aiapg-settings')) ); ?>