self::is_plugin_installed($plugin_path), 'plugin_active' => self::is_plugin_active($plugin_path, $integration_id), 'integration_active' => self::is_integration_active($integration_id), 'premium_active' => self::is_premium_active() ); } /** * Get status indicator HTML * * @param bool $is_success True for success (green tick), false for failure (red cross) * @param string $label Status label text * @return string HTML for status indicator */ public static function get_status_indicator_html($is_success, $label) { $icon_class = $is_success ? 'alp-status-success' : 'alp-status-error'; $icon_svg = $is_success ? self::get_success_icon_svg() : self::get_error_icon_svg(); return sprintf( '
%s%s
', esc_attr($icon_class), $icon_svg, esc_html($label) ); } /** * Get success icon SVG * * @return string SVG markup for success icon */ private static function get_success_icon_svg() { // Clean, bold checkmark icon return ''; } /** * Get error icon SVG * * @return string SVG markup for error icon */ private static function get_error_icon_svg() { // Clean, bold X icon return ''; } /** * Get status indicators HTML for an integration * * @param string $integration_id Integration identifier * @param string $plugin_path Plugin path relative to plugins directory * @param string $plugin_name Human-readable plugin name * @return string Complete status indicators HTML */ public static function get_integration_status_html($integration_id, $plugin_path, $plugin_name) { $status = self::get_integration_status($integration_id, $plugin_path); $html = '
'; $html .= '
' . esc_html__('Status:', 'activity-log-pro') . '
'; // Premium active status (show first for premium integrations) $is_premium_integration = in_array($integration_id, array('woocommerce', 'yoast')); if ($is_premium_integration) { $premium_text = $status['premium_active'] ? __('Premium Active', 'activity-log-pro') : __('Premium Not Active', 'activity-log-pro'); $html .= self::get_status_indicator_html($status['premium_active'], $premium_text); } // Plugin installed status $installed_text = $status['plugin_installed'] // translators: %s is the plugin name ? sprintf(__('%s Installed', 'activity-log-pro'), $plugin_name) // translators: %s is the plugin name : sprintf(__('%s Not Installed', 'activity-log-pro'), $plugin_name); $html .= self::get_status_indicator_html($status['plugin_installed'], $installed_text); // Plugin active status $active_text = $status['plugin_active'] // translators: %s is the plugin name ? sprintf(__('%s Active', 'activity-log-pro'), $plugin_name) // translators: %s is the plugin name : sprintf(__('%s Not Active', 'activity-log-pro'), $plugin_name); $html .= self::get_status_indicator_html($status['plugin_active'], $active_text); // Integration active status $integration_text = $status['integration_active'] ? __('Integration Active', 'activity-log-pro') : __('Integration Not Active', 'activity-log-pro'); $html .= self::get_status_indicator_html($status['integration_active'], $integration_text); $html .= '
'; return $html; } }