PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.0
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.0
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | classes/controllers/FrmInboxController.php +55 -43 6.266.0 View file →
@@ -8,71 +8,71 @@
8 8 */
9 9 class FrmInboxController {
10 10
11 11 /**
12 - * Get the HTML for the inbox notice.
13 - *
14 12 * @since 4.05
15 - * @since 6.8.4 The $filtered parameter was added.
16 - *
17 - * @param bool $filtered Set this to false to avoid the frm_inbox_badge filter.
18 - *
19 - * @return string
20 13 */
21 - public static function get_notice_count( $filtered = true ) {
14 + public static function menu() {
15 + $unread = self::get_notice_count();
16 + add_submenu_page( 'formidable', 'Formidable | ' . __( 'Inbox', 'formidable' ), __( 'Inbox', 'formidable' ) . $unread, 'frm_change_settings', 'formidable-inbox', 'FrmInboxController::inbox' );
17 + }
18 +
19 + /**
20 + * @since 4.05
21 + */
22 + private static function get_notice_count() {
22 23 FrmFormMigratorsHelper::maybe_add_to_inbox();
23 24
24 25 $inbox = new FrmInbox();
25 - return $inbox->unread_html( $filtered );
26 + return $inbox->unread_html();
26 27 }
27 28
28 29 /**
29 - * @since 6.8
30 - *
31 - * @return array
30 + * @since 4.06
32 31 */
33 - public static function get_inbox_messages() {
32 + public static function dismiss_all_button( $atts ) {
33 + if ( empty( $atts['messages'] ) ) {
34 + return;
35 + }
36 +
37 + echo '<button class="frm-button-secondary" id="frm-dismiss-inbox" type="button">' .
38 + esc_html__( 'Dismiss All', 'formidable' ) .
39 + '</button>';
40 + }
41 +
42 + /**
43 + * @since 4.05
44 + */
45 + public static function inbox() {
46 + FrmAppHelper::include_svg();
34 47 self::add_tracking_request();
35 - self::remove_free_template_message();
48 + self::add_free_template_message();
36 49
37 - $inbox = new FrmInbox();
38 - $unread_messages = $inbox->get_messages();
39 - $dismissed_messages = $unread_messages;
50 + $inbox = new FrmInbox();
51 + $messages = $inbox->get_messages( 'filter' );
52 + $messages = array_reverse( $messages );
53 + $user = wp_get_current_user();
40 54
41 - $inbox->filter_messages( $unread_messages, 'filter' );
42 - $inbox->filter_messages( $dismissed_messages, 'dismissed' );
55 + wp_enqueue_script( 'frm-ac', FrmAppHelper::plugin_url() . '/js/ac.js', array(), FrmAppHelper::plugin_version(), true );
43 56
44 - return array(
45 - 'unread' => array_reverse( $unread_messages ),
46 - 'dismissed' => array_reverse( $dismissed_messages ),
47 - 'user' => wp_get_current_user(),
48 - );
57 + include( FrmAppHelper::plugin_path() . '/classes/views/inbox/list.php' );
49 58 }
50 59
51 60 /**
52 61 * @since 4.05
53 - *
54 - * @return void
55 62 */
56 63 public static function dismiss_message() {
57 64 check_ajax_referer( 'frm_ajax', 'nonce' );
58 - FrmAppHelper::permission_check( 'frm_view_forms' );
65 + FrmAppHelper::permission_check( 'frm_change_settings' );
59 66
60 67 $key = FrmAppHelper::get_param( 'key', '', 'post', 'sanitize_text_field' );
61 -
62 68 if ( ! empty( $key ) ) {
63 69 $message = new FrmInbox();
64 70 $message->dismiss( $key );
65 -
66 71 if ( $key === 'review' ) {
67 72 $reviews = new FrmReviews();
68 73 $reviews->dismiss_review();
69 74 }
70 -
71 - if ( $key === 'onboarding_wizard' ) {
72 - // Delete the skipped option or the inbox message will continue to get added.
73 - delete_option( FrmOnboardingWizardController::ONBOARDING_SKIPPED_OPTION );
74 - }
75 75 }
76 76
77 77 wp_die();
78 78 }
@@ -78,14 +78,11 @@
78 78 }
79 79
80 80 /**
81 81 * @since 4.05
82 - *
83 - * @return void
84 82 */
85 83 private static function add_tracking_request() {
86 84 $settings = FrmAppHelper::get_settings();
87 -
88 85 if ( $settings->tracking ) {
89 86 return;
90 87 }
91 88
@@ -106,14 +103,29 @@
106 103 /**
107 104 * Adds free template design.
108 105 *
109 106 * @since 4.10.03
110 - *
111 - * @return void
112 107 */
113 - private static function remove_free_template_message() {
114 - if ( ! FrmAppHelper::pro_is_installed() ) {
115 - $message = new FrmInbox();
116 - $message->dismiss( 'free_templates' );
108 + private static function add_free_template_message() {
109 + if ( FrmAppHelper::pro_is_installed() ) {
110 + return;
117 111 }
112 +
113 + $api = new FrmFormTemplateApi();
114 + if ( $api->has_free_access() ) {
115 + return;
116 + }
117 +
118 + $link = admin_url( 'admin.php?page=formidable&triggerNewFormModal=1&free-templates=1' );
119 +
120 + $message = new FrmInbox();
121 + $message->add_message(
122 + array(
123 + 'key' => 'free_templates',
124 + 'message' => 'Add your email address to get a code for 10+ free form templates.',
125 + 'subject' => 'Get 10+ Free Form Templates',
126 + 'cta' => '<a href="#" class="frm-button-secondary frm_inbox_dismiss">Dismiss</a> <a href="' . esc_url( $link ) . '" class="button-primary frm-button-primary">Get Now</a>',
127 + 'type' => 'feedback',
128 + )
129 + );
118 130 }
119 131 }