ayudawp_load_includes(); $this->ayudawp_init_hooks(); } /** * Load include files */ private function ayudawp_load_includes() { require_once AYUDAWP_AISS_PLUGIN_DIR . 'includes/functions-helpers.php'; require_once AYUDAWP_AISS_PLUGIN_DIR . 'includes/class-icons.php'; require_once AYUDAWP_AISS_PLUGIN_DIR . 'includes/class-buttons.php'; require_once AYUDAWP_AISS_PLUGIN_DIR . 'includes/class-frontend.php'; require_once AYUDAWP_AISS_PLUGIN_DIR . 'includes/class-shortcode.php'; require_once AYUDAWP_AISS_PLUGIN_DIR . 'includes/class-admin.php'; } /** * Initialize hooks */ private function ayudawp_init_hooks() { add_action('init', array($this, 'ayudawp_init')); register_activation_hook(__FILE__, array($this, 'ayudawp_activate')); register_uninstall_hook(__FILE__, array('AyudaWP_AI_Share_Summarize', 'ayudawp_uninstall')); // Initialize classes new AyudaWP_AISS_Admin(); new AyudaWP_AISS_Frontend(); new AyudaWP_AISS_Shortcode(); } /** * Plugin initialization */ public function ayudawp_init() { // Check for version update and migrate settings $this->ayudawp_check_version_update(); // Automatic translations are loaded from WordPress.org // No need for load_plugin_textdomain() for official repository plugins } /** * Check for version update and migrate settings if needed */ private function ayudawp_check_version_update() { $current_version = get_option('ayudawp_aiss_version', '1.0.9'); if (version_compare($current_version, AYUDAWP_AISS_VERSION, '<')) { $this->ayudawp_migrate_to_v110(); update_option('ayudawp_aiss_version', AYUDAWP_AISS_VERSION); } } /** * Migrate settings to version 1.1.0 */ private function ayudawp_migrate_to_v110() { $options = get_option('ayudawp_aiss_options'); if ($options && !isset($options['seo_button_type'])) { // Add new SEO option with default value 'link' for existing installations $options['seo_button_type'] = 'link'; update_option('ayudawp_aiss_options', $options); } } /** * Plugin activation */ public function ayudawp_activate() { $default_options = array( 'default_prompt' => ayudawp_aiss_get_default_prompt(), 'enabled_buttons' => array('chatgpt', 'claude', 'twitter', 'linkedin'), 'display_locations' => array('posts'), 'auto_insert_position' => 'after_content', 'auto_insert_content_types' => array('post'), 'twitter_handle' => '', 'custom_text' => '', 'title_text' => __('Social Share or Summarize with AI', 'ai-share-summarize'), 'title_style' => 'span', 'button_order' => 'ayudawp_ai_first', 'button_colors' => 'brand', 'show_icons' => false, 'icon_style' => 'circular', 'delete_data_on_uninstall' => false, 'seo_button_type' => 'link' // Default to links for new installations ); add_option('ayudawp_aiss_options', $default_options); update_option('ayudawp_aiss_version', AYUDAWP_AISS_VERSION); set_transient('ayudawp_aiss_just_activated', true, 60); } /** * Plugin uninstallation */ public static function ayudawp_uninstall() { $options = get_option('ayudawp_aiss_options'); $delete_data = isset($options['delete_data_on_uninstall']) ? $options['delete_data_on_uninstall'] : false; if ($delete_data) { delete_option('ayudawp_aiss_options'); delete_option('ayudawp_aiss_version'); delete_option('ayudawp_aiss_activation_notice_dismissed'); delete_transient('ayudawp_aiss_just_activated'); } } } // Initialize the plugin AyudaWP_AI_Share_Summarize::get_instance();