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 .= '