get_results("SELECT * FROM {$wpdb->prefix}aicg_templates ORDER BY name ASC");
wp_cache_set($cache_key, $templates, '', 300); // Cache for 5 minutes
}
// Handle form submissions
if (isset($_POST['action'])) {
$action = sanitize_text_field(wp_unslash($_POST['action']));
switch ($action) {
case 'create_template':
if (isset($_POST['nonce']) && wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['nonce'])), 'aicg_template_nonce')) {
$name = isset($_POST['template_name']) ? sanitize_text_field(wp_unslash($_POST['template_name'])) : '';
$prompt = isset($_POST['template_prompt']) ? sanitize_textarea_field(wp_unslash($_POST['template_prompt'])) : '';
$content_type = isset($_POST['content_type']) ? sanitize_text_field(wp_unslash($_POST['content_type'])) : 'post';
$seo_enabled = isset($_POST['seo_enabled']) ? 1 : 0;
if (empty($name) || empty($prompt)) {
echo '
' . esc_html__('Template name and prompt are required.', 'ai-content-classifier') . '
';
break;
}
$result = $wpdb->insert(
$wpdb->prefix . 'aicg_templates',
array(
'name' => $name,
'prompt' => $prompt,
'content_type' => $content_type,
'seo_enabled' => $seo_enabled
)
);
if ($result) {
// Invalidate template caches after successful creation
wp_cache_delete('aicg_all_templates_admin');
wp_cache_delete('aicg_recent_templates_5');
wp_cache_delete('aicg_templates_count_' . md5(''));
echo '' . esc_html__('Template created successfully!', 'ai-content-classifier') . '
';
// Refresh templates list
$templates = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}aicg_templates ORDER BY name ASC");
} else {
echo '' . esc_html__('Failed to create template.', 'ai-content-classifier') . '
';
}
}
break;
case 'delete_template':
if (isset($_POST['nonce']) && wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['nonce'])), 'aicg_template_nonce')) {
$template_id = isset($_POST['template_id']) ? intval(wp_unslash($_POST['template_id'])) : 0;
if ($template_id <= 0) {
echo '' . esc_html__('Invalid template ID.', 'ai-content-classifier') . '
';
break;
}
$result = $wpdb->delete(
$wpdb->prefix . 'aicg_templates',
array('id' => $template_id)
);
if ($result) {
// Invalidate template caches after successful deletion
wp_cache_delete('aicg_all_templates_admin');
wp_cache_delete('aicg_recent_templates_5');
wp_cache_delete('aicg_templates_count_' . md5(''));
}
if ($result) {
echo '' . esc_html__('Template deleted successfully!', 'ai-content-classifier') . '
';
// Refresh templates list
$templates = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}aicg_templates ORDER BY name ASC");
} else {
echo '' . esc_html__('Failed to delete template.', 'ai-content-classifier') . '
';
}
}
break;
}
}
?>
name); ?>
content_type)); ?>
seo_enabled ? esc_html__('Yes', 'ai-content-classifier') : esc_html__('No', 'ai-content-classifier'); ?>
prompt, 50))); ?>
prompt) > 50): ?>