PluginProbe
Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder / 6.2.14
Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder v6.2.14
6.2.14 6.2.13 6.2.12 6.2.10 6.2.11 6.2.9 6.2.8 6.2.7 6.2.6 6.2.5 6.2.4 6.2.3 6.2.2 3.6.22 3.6.31 3.6.40 3.6.41 3.6.42 3.6.50 3.6.51 3.6.60 3.6.61 3.6.62 3.6.64 3.6.65 All 196 releases
← All changes | app/Modules/AddOnModule.php +99 -18 6.2.26.2.14 View file →
@@ -26,13 +26,13 @@
26 26 */
27 27 public function render()
28 28 {
29 29 $extraMenus = [];
30 -
30 +
31 31 $extraMenus = apply_filters_deprecated(
32 32 'fluentform_addons_extra_menu',
33 33 [
34 - $extraMenus
34 + $extraMenus,
35 35 ],
36 36 FLUENTFORM_FRAMEWORK_UPGRADE,
37 37 'fluentform/addons_extra_menu',
38 38 'Use fluentform/addons_extra_menu instead of fluentform_addons_extra_menu'
@@ -64,13 +64,29 @@
64 64 */
65 65 public function showFluentAddOns()
66 66 {
67 67 wp_enqueue_script('fluentform-modules');
68 -
68 +
69 + $addOns = $this->getRegisteredAddOns();
70 +
71 + wp_localize_script('fluentform-modules', 'fluent_addon_modules', [
72 + 'addons' => $addOns,
73 + 'has_pro' => defined('FLUENTFORMPRO'),
74 + 'addOnModule_str' => TranslationString::getAddOnModuleI18n(),
75 + ]);
76 +
77 + wpFluentForm('view')->render('admin.addons.list', []);
78 + }
79 +
80 + /**
81 + * The registry the Add-on Modules screen renders from, so the status writer can validate against the same source.
82 + */
83 + public function getRegisteredAddOns()
84 + {
69 85 $addOns = apply_filters_deprecated(
70 86 'fluentform_global_addons',
71 87 [
72 - []
88 + [],
73 89 ],
74 90 FLUENTFORM_FRAMEWORK_UPGRADE,
75 91 'fluentform/global_addons',
76 92 'Use fluentform/global_addons instead of fluentform_global_addons'
@@ -89,21 +105,15 @@
89 105 if (!defined('FLUENTFORMPRO')) {
90 106 $addOns = array_merge($addOns, $this->getPremiumAddOns());
91 107 }
92 108
93 - wp_localize_script('fluentform-modules', 'fluent_addon_modules', [
94 - 'addons' => $addOns,
95 - 'has_pro' => defined('FLUENTFORMPRO'),
96 - 'addOnModule_str' => TranslationString::getAddOnModuleI18n(),
97 - ]);
109 + return $addOns;
110 + }
98 111
99 - wpFluentForm('view')->render('admin.addons.list', []);
100 - }
101 -
102 112 public function getPremiumAddOns()
103 113 {
104 114 $purchaseUrl = fluentform_upgrade_url();
105 - return [
115 + $addOns = [
106 116 'paypal' => [
107 117 'title' => __('PayPal', 'fluentform'),
108 118 'description' => __('Accept Payments via paypal as a part of your form submission', 'fluentform'),
109 119 'logo' => fluentFormMix('img/integrations/paypal.png'),
@@ -382,8 +392,48 @@
382 392 'enabled' => 'no',
383 393 'purchase_url' => $purchaseUrl,
384 394 'category' => 'crm',
385 395 ],
396 + 'pipedrive' => [
397 + 'title' => __('Pipedrive', 'fluentform'),
398 + 'description' => __('By connecting Pipedrive with Fluent Forms, you can connect and organize leads and more.', 'fluentform'),
399 + 'logo' => fluentFormMix('img/integrations/pipedrive.png'),
400 + 'enabled' => 'no',
401 + 'purchase_url' => $purchaseUrl,
402 + 'category' => 'crm',
403 + ],
404 + 'amocrm' => [
405 + 'title' => __('amoCRM', 'fluentform'),
406 + 'description' => __('It can be a great way to manage your leads and tasks with amoCRM and Fluent Forms.', 'fluentform'),
407 + 'logo' => fluentFormMix('img/integrations/amocrm.png'),
408 + 'enabled' => 'no',
409 + 'purchase_url' => $purchaseUrl,
410 + 'category' => 'crm',
411 + ],
412 + 'onepagecrm' => [
413 + 'title' => __('OnePageCRM', 'fluentform'),
414 + 'description' => __('Complete your actions with the combination of Fluent Forms and OnePageCRM to collect leads and more.', 'fluentform'),
415 + 'logo' => fluentFormMix('img/integrations/onepagecrm.png'),
416 + 'enabled' => 'no',
417 + 'purchase_url' => $purchaseUrl,
418 + 'category' => 'crm',
419 + ],
420 + 'insightly' => [
421 + 'title' => __('Insightly', 'fluentform'),
422 + 'description' => __('With Insightly CRM, you can tailor the standard sales processes of contact, lead and opportunity management.', 'fluentform'),
423 + 'logo' => fluentFormMix('img/integrations/insightly.png'),
424 + 'enabled' => 'no',
425 + 'purchase_url' => $purchaseUrl,
426 + 'category' => 'crm',
427 + ],
428 + 'mailster' => [
429 + 'title' => __('Mailster', 'fluentform'),
430 + 'description' => __('Send Beautiful Email Newsletters in WordPress. Join more than 26,000 people worldwide and use Mailster to grow your business.', 'fluentform'),
431 + 'logo' => fluentFormMix('img/integrations/mailster.png'),
432 + 'enabled' => 'no',
433 + 'purchase_url' => $purchaseUrl,
434 + 'category' => 'crm',
435 + ],
386 436 'quiz_addon' => [
387 437 'title' => __('Quiz Module', 'fluentform'),
388 438 'description' => __('With this module, you can create quizzes and show scores with grades, points, fractions, or percentages', 'fluentform'),
389 439 'logo' => fluentFormMix('img/integrations/quiz-icon.svg'),
@@ -399,8 +449,15 @@
399 449 'purchase_url' => $purchaseUrl,
400 450 'category' => 'crm',
401 451 ],
402 452 ];
453 +
454 + foreach ($addOns as $key => &$addOn) {
455 + $feature = strtolower(preg_replace('/(?<!^)[A-Z]/', '_$0', $key));
456 + $addOn['purchase_url'] = fluentform_upgrade_url('feature_lock_' . $feature);
457 + }
458 +
459 + return $addOns;
403 460 }
404 461
405 462 /**
406 463 * Show the suggested plugins list.
@@ -428,16 +485,30 @@
428 485 public function getSuggestedPlugins()
429 486 {
430 487 $plugins = [
431 488 'fluent-cart' => [
432 - 'title' => __('FluentCart A New Era of eCommerce', 'fluentform'),
433 - 'description' => __('It is a performance-first, self-hosted eCommerce platform for WordPres', 'fluentform'),
489 + 'title' => __('FluentCart', 'fluentform'),
490 + 'description' => __('A performance-first, self-hosted eCommerce platform for WordPress', 'fluentform'),
434 491 'logo' => 'fcart.svg',
435 492 'slug' => 'fluent-cart/fluent-cart.php',
436 493 'basename' => 'fluent-cart',
437 494 'badge_type' => 'official',
438 495 'wporg_url' => 'https://wordpress.org/plugins/fluent-cart/',
496 + 'setup_url' => admin_url('admin.php?page=fluent-cart'),
497 + 'setup_label' => __('Dashboard', 'fluentform'),
439 498 ],
499 + 'fluent-smtp' => [
500 + 'title' => __('FluentSMTP', 'fluentform'),
501 + 'description' => __('The Ultimate Free SMTP Plugin for WordPress. Safely send emails via Amazon SES, Mailgun, SendGrid, Outlook, Gmail, and more.',
502 + 'fluentform'),
503 + 'logo' => 'fluent-smtp.svg',
504 + 'slug' => 'fluent-smtp/fluent-smtp.php',
505 + 'basename' => 'fluent-smtp',
506 + 'badge_type' => 'official',
507 + 'wporg_url' => 'https://wordpress.org/plugins/fluent-smtp/',
508 + 'setup_url' => admin_url('options-general.php?page=fluent-mail#/connections'),
509 + 'setup_label' => __('Configure', 'fluentform'),
510 + ],
440 511 'multilingual-forms-fluent-forms-wpml' => [
441 512 'title' => __('Multilingual Forms for Fluent Forms (WPML)', 'fluentform'),
442 513 'description' => __('Make Fluent Forms multilingual with WPML integration', 'fluentform'),
443 514 'logo' => 'wpml-ff.png',
@@ -464,17 +535,21 @@
464 535 'slug' => 'fluentforms-pdf/fluentforms-pdf.php',
465 536 'basename' => 'fluentforms-pdf',
466 537 'badge_type' => 'official',
467 538 'wporg_url' => 'https://wordpress.org/plugins/fluentforms-pdf/',
539 + 'setup_url' => admin_url('admin.php?page=fluent_forms_add_ons&sub_page=fluentform_pdf'),
540 + 'setup_label' => __('Configure', 'fluentform'),
468 541 ],
469 542 'fluent-community' => [
470 - 'title' => __('Fluent Community', 'fluentform'),
471 - 'description' => __('Build Your Own Community & Membership Site with Fluent Community', 'fluentform'),
543 + 'title' => __('FluentCommunity', 'fluentform'),
544 + 'description' => __('Build Your Own Community & Membership Site with FluentCommunity', 'fluentform'),
472 545 'logo' => 'fluent-community.svg',
473 546 'slug' => 'fluent-community/fluent-community.php',
474 547 'basename' => 'fluent-community',
475 548 'badge_type' => 'official',
476 549 'wporg_url' => 'https://wordpress.org/plugins/fluent-community/',
550 + 'setup_url' => admin_url('admin.php?page=fluent-community'),
551 + 'setup_label' => __('Dashboard', 'fluentform'),
477 552 ],
478 553 'fluent-support' => [
479 554 'title' => __('Fluent Support', 'fluentform'),
480 555 'description' => __('WordPress Helpdesk and Customer Support Ticket Plugin', 'fluentform'),
@@ -482,8 +557,10 @@
482 557 'slug' => 'fluent-support/fluent-support.php',
483 558 'basename' => 'fluent-support',
484 559 'badge_type' => 'official',
485 560 'wporg_url' => 'https://wordpress.org/plugins/fluent-support/',
561 + 'setup_url' => admin_url('admin.php?page=fluent-support'),
562 + 'setup_label' => __('Dashboard', 'fluentform'),
486 563 ],
487 564 'wp-social-reviews' => [
488 565 'title' => __('WP Social Ninja', 'fluentform'),
489 566 'description' => __('Best Social Media Plugin for WordPress to Showcase Social Feeds, Reviews, and Chat Widgets',
@@ -492,8 +569,10 @@
492 569 'slug' => 'wp-social-reviews/wp-social-reviews.php',
493 570 'basename' => 'wp-social-reviews',
494 571 'badge_type' => 'official',
495 572 'wporg_url' => 'https://wordpress.org/plugins/wp-social-reviews/',
573 + 'setup_url' => admin_url('admin.php?page=wpsocialninja.php'),
574 + 'setup_label' => __('Dashboard', 'fluentform'),
496 575 ],
497 576 'fluent-crm' => [
498 577 'title' => __('FluentCRM', 'fluentform'),
499 578 'description' => __('Email Marketing Automation and CRM Plugin for WordPress', 'fluentform'),
@@ -501,8 +580,10 @@
501 580 'slug' => 'fluent-crm/fluent-crm.php',
502 581 'basename' => 'fluent-crm',
503 582 'badge_type' => 'official',
504 583 'wporg_url' => 'https://wordpress.org/plugins/fluent-crm/',
584 + 'setup_url' => admin_url('admin.php?page=fluentcrm-admin'),
585 + 'setup_label' => __('Dashboard', 'fluentform'),
505 586 ],
506 587 ];
507 588
508 589 // Add status to each plugin
@@ -522,9 +603,9 @@
522 603 private function getPluginStatus($pluginSlug)
523 604 {
524 605 // Check if plugin file exists
525 606 $pluginFile = WP_PLUGIN_DIR . '/' . $pluginSlug;
526 -
607 +
527 608 if (!file_exists($pluginFile)) {
528 609 return 'not_installed';
529 610 }
530 611