| @@ -28,12 +28,18 @@ | ||
| 28 | 28 | add_action('fluentform/global_menu', $renderNotice); |
| 29 | 29 | add_action('fluentform/after_form_menu', $renderNotice); |
| 30 | 30 | }); |
| 31 | 31 | } |
| 32 | + | |
| 33 | + fluentform_maybe_disable_contaminated_pro(); | |
| 32 | 34 | }); |
| 33 | 35 | |
| 34 | 36 | $app = new Application($file); |
| 35 | 37 | |
| 38 | + // Boot the MCP server (Abilities API tools + endpoint). Self-guards: ships | |
| 39 | + // off, and its Abilities/adapter hooks fire only when those systems exist. | |
| 40 | + \FluentForm\App\Modules\MCP\MCPInit::boot(); | |
| 41 | + | |
| 36 | 42 | register_activation_hook($file, function ($network_wide) use ($app) { |
| 37 | 43 | ($app->make(ActivationHandler::class))->handle($network_wide); |
| 38 | 44 | }); |
| 39 | 45 | |
| @@ -96,12 +102,14 @@ | ||
| 96 | 102 | |
| 97 | 103 | (new FluentConversational)->boot(); |
| 98 | 104 | (new FormsMigrator())->boot(); |
| 99 | 105 | |
| 100 | - /* Plugin Meta Links */ | |
| 101 | - | |
| 102 | - add_filter('plugin_row_meta', 'fluentform_plugin_row_meta', 10, 2); | |
| 103 | - | |
| 106 | + /* Plugin Meta Links — registered on init to avoid early textdomain loading (WP 6.7+) */ | |
| 107 | + | |
| 108 | + add_action('init', function () { | |
| 109 | + add_filter('plugin_row_meta', 'fluentform_plugin_row_meta', 10, 2); | |
| 110 | + }); | |
| 111 | + | |
| 104 | 112 | function fluentform_plugin_row_meta($links, $file) |
| 105 | 113 | { |
| 106 | 114 | if ('fluentform/fluentform.php' == $file) { |
| 107 | 115 | $row_meta = [ |
| @@ -109,9 +117,9 @@ | ||
| 109 | 117 | 'support' => '<a rel="noopener" href="https://wpmanageninja.com/support-tickets/#/" style="color: #197efb;font-weight: 600;" aria-label="' . esc_attr__('Get Support', 'fluentform') . '" target="_blank">' . esc_html__('Support', 'fluentform') . '</a>', |
| 110 | 118 | 'developer_docs' => '<a rel="noopener" href="https://developers.fluentforms.com" style="color: #197efb;font-weight: 600;" aria-label="' . esc_attr__('Developer Docs', 'fluentform') . '" target="_blank">' . esc_html__('Developer Docs', 'fluentform') . '</a>', |
| 111 | 119 | ]; |
| 112 | 120 | if (!defined('FLUENTFORMPRO')) { |
| 113 | - $row_meta['pro'] = '<a rel="noopener" href="https://fluentforms.com" style="color: #7742e6;font-weight: bold;" aria-label="' . esc_attr__('Upgrade to Pro', 'fluentform') . '" target="_blank">' . esc_html__('Upgrade to Pro', 'fluentform') . '</a>'; | |
| 121 | + $row_meta['pro'] = '<a rel="noopener" href="' . esc_url(fluentform_upgrade_url('plugin_row_meta')) . '" style="color: #7742e6;font-weight: bold;" aria-label="' . esc_attr__('Upgrade to Pro', 'fluentform') . '" target="_blank">' . esc_html__('Upgrade to Pro', 'fluentform') . '</a>'; | |
| 114 | 122 | } |
| 115 | 123 | return array_merge($links, $row_meta); |
| 116 | 124 | } |
| 117 | 125 | return (array)$links; |