PluginProbe
Forumax – AI Powered Advanced Community Forum Plugin / 2.5.1
Forumax – AI Powered Advanced Community Forum Plugin v2.5.1
2.5.1 2.5.0 2.4.4 2.4.3 2.4.2 2.4.1 2.4.0 trunk 1.0.8 1.1.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 All 31 releases
← All changes | includes/Frontend/Frontend_Assets.php +33 -43 2.4.2 → 2.5.1 View file →
@@ -13,30 +13,11 @@
13 13 */
14 14 public function __construct()
15 15 {
16 16 add_action('wp_enqueue_scripts', [$this, 'frontend_scripts'], 999);
17 - add_action('elementor/widgets/widgets_registered', [$this, 'bbpc_elementor_script'], 999);
18 -
19 17 }
20 18
21 19 /**
22 - * Register scripts and styles [ ELEMENTOR ]
23 - */
24 - public function bbpc_elementor_script()
25 - {
26 - // Elementor widgets scripts
27 - wp_enqueue_style('bbpc-el-widgets', FORUMAX_STYLES . 'frontend/el-widgets.css', array(), FORUMAX_VERSION);
28 - wp_enqueue_style('elegant-icon', FORUMAX_VEND . 'elegant-icon/style.css');
29 - wp_register_script('bbpc_js', FORUMAX_FRONT_ASS . 'js/forumTab.js', ['jquery'], true, true);
30 - wp_register_script('bbpc-frontend-js', FORUMAX_FRONT_ASS . 'js/frontend.js', array('jquery'), FORUMAX_VERSION, true);
31 - wp_register_script('bbpc-ajax', FORUMAX_FRONT_ASS . 'js/ajax.js', array('jquery'), FORUMAX_VERSION, true);
32 -
33 - if (is_rtl()) {
34 - wp_enqueue_style('bbpc-rtl', FORUMAX_STYLES . 'frontend/bbpc-main-rtl.css');
35 - }
36 - }
37 -
38 - /**
39 20 * Register scripts and styles [ FRONTEND ]
40 21 */
41 22 public function frontend_scripts()
42 23 {
@@ -45,35 +26,42 @@
45 26 return;
46 27 }
47 28
48 29 // Register front-end scripts/styles first so they are available for Gutenberg/Elementor blocks.
49 - wp_register_script('bbpc-ajax', FORUMAX_FRONT_ASS . 'js/ajax.js', array('jquery'), FORUMAX_VERSION, true);
50 - wp_register_script('bbpc-frontend-js', FORUMAX_FRONT_ASS . 'js/frontend.js', array('jquery'), FORUMAX_VERSION, true);
30 + wp_register_script('bbpc-ajax', FORUMAX_FRONT_ASS . 'js/ajax.js', ['jquery'], FORUMAX_VERSION, true);
31 + wp_register_script('bbpc-frontend', FORUMAX_FRONT_ASS . 'js/frontend.js', ['jquery'], FORUMAX_VERSION, true);
51 32
52 33 // Always localize 'forumax_localize_script' on 'jquery' (since it is loaded everywhere) if bbPress exists.
53 34 // This guarantees that any script requiring these variables won't fail with a ReferenceError.
54 - wp_localize_script('jquery', 'forumax_localize_script', array(
35 + // Forum-specific values are only resolved on bbPress pages; elsewhere they are empty.
36 + $is_bbpress_page = function_exists('is_bbpress') && is_bbpress();
37 +
38 + wp_localize_script('jquery', 'forumax_localize_script', [
55 39 'ajaxurl' => admin_url('admin-ajax.php'),
56 40 'nonce' => wp_create_nonce('forumax-nonce'),
57 - 'bbpc_subscribed_link' => wp_kses_post(bbp_get_forum_subscription_link()),
58 - 'bbpc_subscribed_forum_title' => forumax_forum_title(),
59 - 'bbpc_subscribed_forum_id' => bbp_get_forum_id(),
41 + 'bbpc_subscribed_link' => $is_bbpress_page ? wp_kses_post(bbp_get_forum_subscription_link()) : '',
42 + 'bbpc_subscribed_forum_title' => $is_bbpress_page ? forumax_forum_title() : '',
43 + 'bbpc_subscribed_forum_id' => $is_bbpress_page ? bbp_get_forum_id() : 0,
60 44 'bbp_topic_id' => get_the_ID()
61 - ));
45 + ]);
62 46
63 - wp_register_style('bbpc-single', FORUMAX_STYLES . 'frontend/forum-single.css');
64 - wp_register_style('bbpc-forum', FORUMAX_STYLES . 'frontend/forum.css');
47 + wp_register_style('bbpc-single', FORUMAX_STYLES . 'frontend/forum-single.css', [], FORUMAX_VERSION);
48 + wp_register_style('bbpc-forum', FORUMAX_STYLES . 'frontend/forum.css', [], FORUMAX_VERSION);
65 49
66 - if (!function_exists('is_bbpress') || !is_bbpress()) {
50 + if ( is_rtl() ) {
51 + wp_enqueue_style( 'bbpc-main-rtl', FORUMAX_STYLES . 'frontend/main-rtl.css', [], FORUMAX_VERSION );
52 + }
53 +
54 + if (!$is_bbpress_page) {
67 55 return;
68 56 }
69 57
70 - wp_enqueue_style('elegant-icon', FORUMAX_VEND . 'elegant-icon/style.css');
71 - wp_register_script('bbpc-wp-widget', FORUMAX_ASSETS . 'frontend/js/wp-widgets.js', array('jquery'), FORUMAX_VERSION, true);
58 + wp_enqueue_style('elegant-icon', FORUMAX_VEND . 'elegant-icon/style.css', [], FORUMAX_VERSION);
59 + wp_register_script('bbpc-wp-widget', FORUMAX_ASSETS . 'frontend/js/wp-widgets.js', ['jquery'], FORUMAX_VERSION, true);
72 60
73 61 // Nice Select for frontend (prefixed to avoid conflicts)
74 - wp_register_style('frmx-nice-select', FORUMAX_VEND . 'frmx-nice-select/nice-select.css');
75 - wp_register_script('frmx-nice-select', FORUMAX_VEND . 'frmx-nice-select/jquery.nice-select.min.js', array('jquery'), '1.0', true);
62 + wp_register_style('frmx-nice-select', FORUMAX_VEND . 'frmx-nice-select/nice-select.css', [], FORUMAX_VERSION);
63 + wp_register_script('frmx-nice-select', FORUMAX_VEND . 'frmx-nice-select/jquery.nice-select.min.js', ['jquery'], '1.0', true);
76 64
77 65 $bbpc_brand_color = forumax_get_opt('bbpc_brand_color');
78 66 if ( ! empty( $bbpc_brand_color ) ) {
79 67 $dynamic_css = sprintf(
@@ -83,17 +71,17 @@
83 71 wp_add_inline_style( 'bbpc-single', $dynamic_css );
84 72 }
85 73
86 74
87 - wp_register_script('bbpc-voting', FORUMAX_FRONT_ASS . 'voting/bbpc-voting.js', ['jquery'], FORUMAX_VERSION);
88 - wp_register_script('forumax-custom', FORUMAX_FRONT_ASS . 'js/custom.js', ['jquery'], FORUMAX_VERSION);
89 - wp_register_script('bbp-replies-sorting', FORUMAX_FRONT_ASS . 'js/bbp-replies-sorting.js', ['jquery'], FORUMAX_VERSION);
90 - wp_register_script('docy-forum', FORUMAX_FRONT_ASS . 'js/forum.js', ['jquery'], FORUMAX_VERSION);
75 + wp_register_script('bbpc-voting', FORUMAX_FRONT_ASS . 'voting/bbpc-voting.js', ['jquery'], FORUMAX_VERSION, true);
76 + wp_register_script('forumax-custom', FORUMAX_FRONT_ASS . 'js/custom.js', ['jquery'], FORUMAX_VERSION, true);
77 + wp_register_script('bbp-replies-sorting', FORUMAX_FRONT_ASS . 'js/bbp-replies-sorting.js', ['jquery'], FORUMAX_VERSION, true);
78 + wp_register_script('docy-forum', FORUMAX_FRONT_ASS . 'js/forum.js', ['jquery'], FORUMAX_VERSION, true);
91 79 wp_register_script('frmx-inline-edit', FORUMAX_FRONT_ASS . 'js/frmx-inline-edit.js', ['jquery'], FORUMAX_VERSION, true);
92 80
93 81 wp_enqueue_style('bbpc-single');
94 82 wp_enqueue_style('bbpc-forum');
95 - wp_enqueue_style('bbpc-voting', FORUMAX_FRONT_ASS . 'voting/bbpc-voting.css');
83 + wp_enqueue_style('bbpc-voting', FORUMAX_FRONT_ASS . 'voting/bbpc-voting.css', [], FORUMAX_VERSION);
96 84 wp_enqueue_style('frmx-nice-select');
97 85
98 86 wp_enqueue_script('frmx-nice-select');
99 87 wp_enqueue_script('forumax-custom');
@@ -99,8 +87,9 @@
99 87 wp_enqueue_script('forumax-custom');
100 88 wp_enqueue_script('bbp-replies-sorting');
101 89 wp_enqueue_script('docy-forum');
102 90 wp_enqueue_script('bbpc-voting');
91 + wp_enqueue_script('bbpc-frontend');
103 92
104 93 // Ensure TinyMCE scripts are queued early on all forumax editor pages
105 94 if ( bbp_is_single_topic() || bbp_is_single_forum() || bbp_is_reply_edit() || bbp_is_topic_edit() ) {
106 95 wp_enqueue_editor();
@@ -109,13 +98,13 @@
109 98 // Inline edit — only on single topic pages.
110 99 if ( bbp_is_single_topic() ) {
111 100
112 101 wp_enqueue_script( 'frmx-inline-edit' );
113 - wp_localize_script( 'frmx-inline-edit', 'frmxInlineEdit', array(
102 + wp_localize_script( 'frmx-inline-edit', 'frmxInlineEdit', [
114 103 'ajaxurl' => admin_url( 'admin-ajax.php' ),
115 104 'nonce' => wp_create_nonce( 'forumax-nonce' ),
116 105 'topic_id' => bbp_get_topic_id(),
117 - 'i18n' => array(
106 + 'i18n' => [
118 107 'edit' => esc_html__( 'Edit', 'forumax' ),
119 108 'save' => esc_html__( 'Save', 'forumax' ),
120 109 'cancel' => esc_html__( 'Cancel', 'forumax' ),
121 110 'saving' => esc_html__( 'Saving…', 'forumax' ),
@@ -131,10 +120,10 @@
131 120 'unsaved_changes' => esc_html__( 'Unsaved changes', 'forumax' ),
132 121 'discard_confirm' => esc_html__( 'Discard unsaved changes?', 'forumax' ),
133 122 'discard' => esc_html__( 'Discard', 'forumax' ),
134 123 'keep_editing' => esc_html__( 'Keep editing', 'forumax' ),
135 - ),
136 - ) );
124 + ],
125 + ] );
137 126 }
138 127
139 128
140 129 // User page styles
@@ -139,11 +128,12 @@
139 128
140 129 // User page styles
141 130 if ( function_exists( 'bbp_is_single_user' ) ) {
142 131 if ( bbp_is_single_user() || bbp_is_favorites() || bbp_is_subscriptions() || bbp_is_single_user_engagements() || bbp_is_single_user_topics() || bbp_is_single_user_replies() || bbp_is_single_user_edit() || bbp_is_single_user_profile() ) {
143 - wp_enqueue_style('bbpc-forum-user', FORUMAX_STYLES . 'frontend/forum-user.css');
132 + wp_enqueue_style('bbpc-forum-user', FORUMAX_STYLES . 'frontend/forum-user.css', [], FORUMAX_VERSION);
144 133 }
145 134 }
135 +
146 136 }
147 137 }
148 138
149 139