'X (Twitter)', 'linkedin' => 'LinkedIn', 'facebook' => 'Facebook', 'telegram' => 'Telegram', 'whatsapp' => 'WhatsApp', 'email' => 'Email', 'raindrop' => 'Raindrop', 'claude' => 'Claude AI', 'chatgpt' => 'ChatGPT', 'google_ai' => 'Google AI (Gemini)', 'grok' => 'Grok', 'perplexity' => 'Perplexity' ); } /** * Get social media buttons list * * @return array Social media button keys */ function ayudawp_aiss_get_social_buttons() { return array('twitter', 'linkedin', 'facebook', 'telegram', 'whatsapp', 'email', 'raindrop'); } /** * Get AI buttons list * * @return array AI button keys */ function ayudawp_aiss_get_ai_buttons() { return array('claude', 'chatgpt', 'google_ai', 'grok', 'perplexity'); } /** * Validate and sanitize plugin options * * @param array $input Raw input data * @return array Validated and sanitized options */ function ayudawp_aiss_validate_options($input) { $validated = array(); // Text fields $text_fields = array('auto_insert_position', 'twitter_handle', 'title_text', 'title_style', 'button_order', 'button_colors', 'icon_style', 'seo_button_type'); $textarea_fields = array('default_prompt', 'custom_text'); $array_fields = array('enabled_buttons', 'display_locations', 'auto_insert_content_types'); $boolean_fields = array('show_icons', 'delete_data_on_uninstall'); foreach ($text_fields as $field) { if (isset($input[$field])) { $validated[$field] = sanitize_text_field($input[$field]); } } foreach ($textarea_fields as $field) { if (isset($input[$field])) { $validated[$field] = sanitize_textarea_field($input[$field]); } } foreach ($array_fields as $field) { if (isset($input[$field]) && is_array($input[$field])) { $validated[$field] = array_map('sanitize_text_field', $input[$field]); } else { $validated[$field] = array(); } } foreach ($boolean_fields as $field) { $validated[$field] = isset($input[$field]) ? (bool) $input[$field] : false; } // Validate seo_button_type specifically if (isset($validated['seo_button_type']) && !in_array($validated['seo_button_type'], array('link', 'button'))) { $validated['seo_button_type'] = 'link'; // Default fallback } return $validated; } /** * Check if buttons should be displayed in current context * * @return bool True if buttons should be displayed */ function ayudawp_aiss_should_display_buttons() { $options = get_option('ayudawp_aiss_options'); $locations = isset($options['display_locations']) ? $options['display_locations'] : array(); $content_types = isset($options['auto_insert_content_types']) ? $options['auto_insert_content_types'] : array(); if (empty($locations)) { return false; } if (is_singular()) { $post_type = get_post_type(); if ($post_type === 'post' && in_array('posts', $locations) && in_array('post', $content_types)) { return true; } if ($post_type === 'page' && in_array('pages', $locations) && in_array('page', $content_types)) { return true; } if ($post_type !== 'post' && $post_type !== 'page' && in_array('cpt', $locations) && in_array($post_type, $content_types)) { return true; } } if ((is_archive() || is_category() || is_tag()) && in_array('archives', $locations)) { return true; } if (is_home() && in_array('home', $locations)) { return true; } return false; }