| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.9/wp-content/plugins/fluentform/app/Modules/Registerer/ |
Upload File : |
<?php
namespace FluentForm\App\Modules\Registerer;
defined('ABSPATH') or die;
use FluentForm\App\Models\Form;
use FluentForm\App\Http\Controllers\AdminNoticeController;
use FluentForm\App\Helpers\Helper;
class MigrationNotice
{
public static function register()
{
if (static::shouldRegister()) {
add_action('fluentform/global_menu', [static::class, 'show'], 99);
}
}
protected static function shouldRegister()
{
// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Checking admin page parameter
if (isset($_GET['page']) && sanitize_text_field(wp_unslash($_GET['page'])) === 'fluent_forms_transfer') {
return false;
}
if (Helper::isFluentAdminPage() && !wp_doing_ajax()) {
return static::hasActiveCompatiblePlugins();
}
return false;
}
public static function show()
{
$notice = new AdminNoticeController();
$msg = static::getMessage();
$notice->addNotice($msg);
$notice->showNotice();
}
private static function hasActiveCompatiblePlugins()
{
$activePlugins = static::getActiveCompatiblePlugins();
return !empty($activePlugins);
}
private static function getActiveCompatiblePlugins()
{
$supportedPlugins = [
'wpforms/wpforms.php' => 'WPForms',
'wpforms-lite/wpforms.php' => 'WPForms',
'contact-form-7/wp-contact-form-7.php' => 'Contact Form 7',
'ninja-forms/ninja-forms.php' => 'Ninja Forms',
'gravityforms/gravityforms.php' => 'Gravity Forms',
'caldera-forms/caldera-core.php' => 'Caldera Forms'
];
$activePlugins = [];
foreach ($supportedPlugins as $plugin => $name) {
if (is_plugin_active($plugin)) {
$activePlugins[] = $name;
}
}
return $activePlugins;
}
private static function getMessage()
{
$activePlugins = static::getActiveCompatiblePlugins();
$pluginNames = implode(', ', $activePlugins);
$message = sprintf(
'We noticed you have <strong>%s</strong> installed. You can easily migrate your existing forms to <strong>Fluent Forms</strong> with just a few clicks.',
$pluginNames ?: 'compatible plugins'
);
return [
'name' => 'migration_notice', //ff_notice_migration_notice
'title' => '',
'message' => $message,
'links' => [
[
'href' => admin_url('admin.php?page=fluent_forms_transfer#migrator'),
'btn_text' => 'Migrate Now',
'btn_atts' => 'class="mr-1 el-button--success el-button--mini"',
],
[
'href' => admin_url('admin.php?page=fluent_forms'),
'btn_text' => 'Maybe Later',
'btn_atts' => 'class="mr-1 el-button--info el-button--soft el-button--mini ff_nag_cross" data-notice_type="temp" data-notice_name="migration_notice"',
],
[
'href' => admin_url('admin.php?page=fluent_forms'),
'btn_text' => 'Don\'t show again',
'btn_atts' => 'class="text-button el-button--mini ff_nag_cross" data-notice_type="permanent" data-notice_name="migration_notice"',
],
],
];
}
}