@@ -128,6 +128,34 @@ public function enqueue_styles() {
128
128
}
129
129
wp_register_style ( $ this ->plugin_name , FEEDZY_ABSURL . 'css/feedzy-rss-feeds.css ' , array (), $ this ->version , 'all ' );
130
130
}
131
+
132
+ /**
133
+ * Helper function to enqueue the license script with localization
134
+ *
135
+ * @access public
136
+ * @return void
137
+ */
138
+ private function enqueue_license_script () {
139
+ wp_enqueue_script (
140
+ $ this ->plugin_name . '_license ' ,
141
+ FEEDZY_ABSURL . 'js/feedzy-license.js ' ,
142
+ array ( 'jquery ' ),
143
+ $ this ->version ,
144
+ true
145
+ );
146
+
147
+ wp_localize_script (
148
+ $ this ->plugin_name . '_license ' ,
149
+ 'feedzyLicense ' ,
150
+ array (
151
+ 'l10n ' => array (
152
+ 'licenseKey ' => __ ( 'License Key ' , 'feedzy-rss-feeds ' ),
153
+ 'checkBtn ' => __ ( 'Check License ' , 'feedzy-rss-feeds ' ),
154
+ 'errorMsg ' => __ ( 'An error occurred while checking the license. Please try again. ' , 'feedzy-rss-feeds ' ),
155
+ ),
156
+ )
157
+ );
158
+ }
131
159
132
160
/**
133
161
* Register the stylesheets for the admin area.
@@ -206,6 +234,8 @@ public function enqueue_styles_admin() {
206
234
),
207
235
)
208
236
);
237
+
238
+ $ this ->enqueue_license_script ();
209
239
}
210
240
211
241
$ upsell_screens = array ( 'feedzy-rss_page_feedzy-settings ' , 'feedzy-rss_page_feedzy-admin-menu-pro-upsell ' );
@@ -278,8 +308,15 @@ public function enqueue_styles_admin() {
278
308
}
279
309
280
310
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
281
- if ( 'feedzy_page_feedzy-support ' === $ screen ->base && ( ( isset ( $ _GET ['tab ' ] ) && 'improve ' === $ _GET ['tab ' ] ) || ( 'edit ' !== $ screen ->base && 'feedzy_imports ' === $ screen ->post_type ) ) ) {
282
-
311
+ $ tab = isset ( $ _GET ['tab ' ] ) ? sanitize_text_field ( wp_unslash ( $ _GET ['tab ' ] ) ) : '' ;
312
+
313
+ if ( 'feedzy_page_feedzy-support ' === $ screen ->base &&
314
+ (
315
+ ( 'improve ' === $ tab )
316
+ || ( 'edit ' !== $ screen ->base && 'feedzy_imports ' === $ screen ->post_type )
317
+ || ( 'license ' === $ tab )
318
+ )
319
+ ) {
283
320
$ asset_file = include FEEDZY_ABSPATH . '/build/feedback/index.asset.php ' ;
284
321
wp_enqueue_script ( $ this ->plugin_name . '_feedback ' , FEEDZY_ABSURL . 'build/feedback/index.js ' , array_merge ( $ asset_file ['dependencies ' ], array ( 'wp-editor ' , 'wp-api ' , 'lodash ' ) ), $ asset_file ['version ' ], true );
285
322
wp_enqueue_style ( 'wp-block-editor ' );
@@ -293,6 +330,8 @@ public function enqueue_styles_admin() {
293
330
)
294
331
);
295
332
333
+ $ this ->enqueue_license_script ();
334
+
296
335
wp_set_script_translations ( $ this ->plugin_name . '_feedback ' , 'feedzy-rss-feeds ' );
297
336
}
298
337
@@ -923,6 +962,7 @@ public function feedzy_filter_plugin_row_meta( $links, $file ) {
923
962
*
924
963
* @since 3.0.12
925
964
* @access public
965
+ * @return void
926
966
*/
927
967
public function feedzy_menu_pages () {
928
968
$ capability = feedzy_current_user_can ();
@@ -932,6 +972,17 @@ public function feedzy_menu_pages() {
932
972
$ svg_base64_icon = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzdweCIgaGVpZ2h0PSI3N3B4IiB2aWV3Qm94PSIwIDAgNzcgNzciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjYgKDY3NDkxKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5Db21iaW5lZC1TaGFwZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxnIGlkPSJQcm9kdWN0LVBhZ2UiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJXb3JkUHJlc3MtcGx1Z2lucyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE5Ni4wMDAwMDAsIC05NTcuMDAwMDAwKSIgZmlsbD0iIzQyNjhDRiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMzQuNSwxMDM0IEMyMTMuMjM3MDM3LDEwMzQgMTk2LDEwMTYuNzYyOTYgMTk2LDk5NS41IEMxOTYsOTc0LjIzNzAzNyAyMTMuMjM3MDM3LDk1NyAyMzQuNSw5NTcgQzI1NS43NjI5NjMsOTU3IDI3Myw5NzQuMjM3MDM3IDI3Myw5OTUuNSBDMjczLDEwMTYuNzYyOTYgMjU1Ljc2Mjk2MywxMDM0IDIzNC41LDEwMzQgWiBNMjM4LjM4OTA4NywxMDAzLjYxMDkxIEMyMzYuMjQxMjU2LDEwMDEuNDYzMDggMjMyLjc1ODg1MSwxMDAxLjQ2Mjk3IDIzMC42MTA5NDMsMTAwMy42MTA4OCBDMjI4LjQ2MzAzNSwxMDA1Ljc1ODc5IDIyOC40NjMwMjEsMTAwOS4yNDEyIDIzMC42MTA5MTMsMTAxMS4zODkwOSBDMjMyLjc1ODgwNCwxMDEzLjUzNjk4IDIzNi4yNDExNDksMTAxMy41MzcwMyAyMzguMzg5MDU3LDEwMTEuMzg5MTIgQzI0MC41MzY5NjUsMTAwOS4yNDEyMSAyNDAuNTM2OTc5LDEwMDUuNzU4OCAyMzguMzg5MDg3LDEwMDMuNjEwOTEgWiBNMjUxLjE5OTE5Niw5OTYuNTI0MjY5IEMyNDEuNzE2MDEsOTg4LjAxMzQwOSAyMjcuMjk0MTQzLDk4OC4wMDQzMDcgMjE3LjgwMDg1OSw5OTYuNTI0MjE0IEMyMTcuMjQwNDk2LDk5Ny4wMjcwNzkgMjE3LjIyMjEwOCw5OTcuODk5Nzc3IDIxNy43NTQ0OCw5OTguNDMyMTUgTDIyMC41NTE4NzksMTAwMS4yMjk1NSBDMjIxLjA0MTU5NCwxMDAxLjcxOTI2IDIyMS44Mjk5NjcsMTAwMS43NTIyNiAyMjIuMzUwNDA4LDEwMDEuMjk1MzcgQzIyOS4yODI0MDEsOTk1LjIxMTE3IDIzOS43MDI4MSw5OTUuMTk4MjA5IDI0Ni42NDk1NDYsMTAwMS4yOTU0MSBDMjQ3LjE3MDA0NywxMDAxLjc1MjI1IDI0Ny45NTg0MiwxMDAxLjcxOTI1IDI0OC40NDgwNzUsMTAwMS4yMjk1OSBMMjUxLjI0NTQ2NSw5OTguNDMyMjA1IEMyNTEuNzc3OTUyLDk5Ny44OTk4MzQgMjUxLjc1OTU2MSw5OTcuMDI3MTM2IDI1MS4xOTkxOTYsOTk2LjUyNDI2OSBaIE0yNTkuNTE3NDgxLDk4OC4wNjI4MTggQzI0NS43NTQ2NjIsOTc1LjI1MzkxIDIyNC4zMTI1MzEsOTc1LjE5MTM3NCAyMTAuNDgyNDY0LDk4OC4wNjI4NzMgQzIwOS45NTA5Niw5ODguNTU3NTU3IDIwOS45NDA4NDUsOTg5LjM5NjY4OSAyMTAuNDU0MjIyLDk4OS45MTAwNjYgTDIxMy4xODU0ODksOTkyLjY0MTMzMyBDMjEzLjY3NTU2OSw5OTMuMTMxNDEzIDIxNC40NjI4MjQsOTkzLjE0MTkyNCAyMTQuOTcyNjIyLDk5Mi42NzIzNTUgQzIyNi4yODEwMjksOTgyLjI1NDc4NiAyNDMuNzIwODA0LDk4Mi4yNTY0MTUgMjU5LjUxNzQ4MSw5ODguMDYyODE4IFoiIGlkPSJDb21iaW5lZC1TaGFwZSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+ ' ;
933
973
add_menu_page ( __ ( 'Feedzy ' , 'feedzy-rss-feeds ' ), __ ( 'Feedzy ' , 'feedzy-rss-feeds ' ), apply_filters ( 'feedzy_admin_menu_capability ' , 'publish_posts ' ), 'feedzy-admin-menu ' , '' , $ svg_base64_icon , 98.7666 );
934
974
975
+ add_submenu_page (
976
+ 'feedzy-admin-menu ' ,
977
+ __ ( 'Dashboard ' , 'feedzy-rss-feeds ' ),
978
+ __ ( 'Dashboard ' , 'feedzy-rss-feeds ' ),
979
+ 'manage_options ' ,
980
+ 'feedzy-support ' ,
981
+ array (
982
+ $ this ,
983
+ 'render_support ' ,
984
+ )
985
+ );
935
986
add_submenu_page (
936
987
'feedzy-admin-menu ' ,
937
988
__ ( 'Settings ' , 'feedzy-rss-feeds ' ),
@@ -954,17 +1005,6 @@ public function feedzy_menu_pages() {
954
1005
'feedzy_integration_page ' ,
955
1006
)
956
1007
);
957
- add_submenu_page (
958
- 'feedzy-admin-menu ' ,
959
- __ ( 'Support ' , 'feedzy-rss-feeds ' ),
960
- __ ( 'Support ' , 'feedzy-rss-feeds ' ) . '<span class="dashicons dashicons-editor-help more-features-icon" style="width: 17px; height: 17px; margin-left: 4px; color: #ffca54; font-size: 17px; vertical-align: -3px;"></span> ' ,
961
- 'manage_options ' ,
962
- 'feedzy-support ' ,
963
- array (
964
- $ this ,
965
- 'render_support ' ,
966
- )
967
- );
968
1008
969
1009
if ( ! feedzy_is_pro () && get_option ( 'feedzy_fresh_install ' , false ) ) {
970
1010
$ hook = add_submenu_page (
@@ -981,37 +1021,55 @@ public function feedzy_menu_pages() {
981
1021
add_action ( "load- $ hook " , array ( $ this , 'feedzy_load_setup_wizard_page ' ) );
982
1022
add_action ( 'adminmenu ' , array ( $ this , 'feedzy_hide_wizard_menu ' ) );
983
1023
}
984
- if ( ! defined ( 'REVIVE_NETWORK_VERSION ' ) ) {
985
- $ rss_to_social = __ ( 'RSS to Social ' , 'feedzy-rss-feeds ' ) . '<span id="feedzy-rn-menu" class="dashicons dashicons-external" style="font-size:initial;"></span> ' ;
986
- add_action (
987
- 'admin_footer ' ,
988
- function () {
989
- ?>
990
- <script type="text/javascript">
991
- jQuery(document).ready(function ($) {
992
- $('#feedzy-rn-menu').parent().attr('target', '_blank');
993
- });
994
- </script>
995
- <?php
996
- }
997
- );
1024
+ }
998
1025
999
- global $ submenu ;
1000
- if ( isset ( $ submenu ['feedzy-admin-menu ' ] ) ) {
1026
+ /**
1027
+ * Handle the RSS to Social menu item.
1028
+ *
1029
+ * @access public
1030
+ * @return void
1031
+ */
1032
+ public function rss_to_social_menu () {
1033
+ $ capability = feedzy_current_user_can ();
1034
+ if ( ! $ capability ) {
1035
+ return ;
1036
+ }
1001
1037
1002
- array_splice (
1003
- $ submenu ['feedzy-admin-menu ' ],
1004
- 4 ,
1005
- 0 ,
1006
- array (
1007
- array (
1008
- $ rss_to_social ,
1009
- 'manage_options ' ,
1010
- tsdk_utmify ( 'https://revive.social/plugins/revive-network ' , 'feedzy-menu ' ),
1011
- ),
1012
- )
1013
- );
1038
+ if ( defined ( 'REVIVE_NETWORK_VERSION ' ) && ! feedzy_is_pro () ) {
1039
+ return ;
1040
+ }
1041
+
1042
+ $ rss_to_social = __ ( 'RSS to Social ' , 'feedzy-rss-feeds ' ) . '<span id="feedzy-rn-menu" class="dashicons dashicons-external" style="font-size:initial;"></span> ' ;
1043
+ add_action (
1044
+ 'admin_footer ' ,
1045
+ function () {
1046
+ ?>
1047
+ <script type="text/javascript">
1048
+ jQuery(document).ready(function ($) {
1049
+ $('#feedzy-rn-menu').parent().attr('target', '_blank');
1050
+ });
1051
+ </script>
1052
+ <?php
1053
+ }
1054
+ );
1055
+
1056
+ global $ submenu ;
1057
+ if ( isset ( $ submenu ['feedzy-admin-menu ' ] ) ) {
1058
+ if ( isset ( $ submenu ['feedzy-admin-menu ' ][0 ] ) ) {
1059
+ unset( $ submenu ['feedzy-admin-menu ' ][0 ] );
1014
1060
}
1061
+ array_splice (
1062
+ $ submenu ['feedzy-admin-menu ' ],
1063
+ 5 ,
1064
+ 0 ,
1065
+ array (
1066
+ array (
1067
+ $ rss_to_social ,
1068
+ 'manage_options ' ,
1069
+ tsdk_utmify ( 'https://revive.social/plugins/revive-network ' , 'feedzy-menu ' ),
1070
+ ),
1071
+ )
1072
+ );
1015
1073
}
1016
1074
}
1017
1075
@@ -1605,7 +1663,20 @@ public function feedzy_dismiss_wizard( $redirect_to_dashboard = true ) {
1605
1663
update_option ( 'feedzy_fresh_install ' , $ status );
1606
1664
delete_option ( 'feedzy_wizard_data ' );
1607
1665
if ( false !== $ redirect_to_dashboard ) {
1608
- wp_safe_redirect ( remove_query_arg ( array ( 'action ' , 'status ' ) ) );
1666
+
1667
+ $ cleaned_url = remove_query_arg ( array ( 'page ' , 'action ' , 'status ' ) );
1668
+ $ parsed_url = wp_parse_url ( $ cleaned_url );
1669
+
1670
+ // Default to dashboard if no page is set.
1671
+ if (
1672
+ isset ( $ parsed_url ['path ' ] ) &&
1673
+ strpos ( $ parsed_url ['path ' ], '/wp-admin/admin.php ' ) !== false &&
1674
+ empty ( $ parsed_url ['query ' ] )
1675
+ ) {
1676
+ $ cleaned_url = add_query_arg ( 'page ' , 'feedzy-support ' , $ cleaned_url );
1677
+ }
1678
+
1679
+ wp_safe_redirect ( $ cleaned_url );
1609
1680
exit ;
1610
1681
}
1611
1682
return true ;
@@ -1809,7 +1880,12 @@ private function setup_wizard_subscribe_process() {
1809
1880
$ segment = 1 ;
1810
1881
$ response = array (
1811
1882
'status ' => 1 ,
1812
- 'redirect_to ' => add_query_arg ( 'post_type ' , 'feedzy_imports ' , admin_url ( 'edit.php ' ) ),
1883
+ 'redirect_to ' => add_query_arg (
1884
+ array (
1885
+ 'page ' => 'feedzy-support ' ,
1886
+ ),
1887
+ admin_url ( 'admin.php ' )
1888
+ ),
1813
1889
'message ' => __ ( 'Redirecting to Feedzy dashboard ' , 'feedzy-rss-feeds ' ),
1814
1890
);
1815
1891
@@ -1834,30 +1910,48 @@ private function setup_wizard_subscribe_process() {
1834
1910
} else {
1835
1911
$ response = array (
1836
1912
'status ' => 1 ,
1837
- 'redirect_to ' => add_query_arg ( 'post_type ' , 'feedzy_imports ' , admin_url ( 'edit.php ' ) ),
1913
+ 'redirect_to ' => add_query_arg (
1914
+ array (
1915
+ 'page ' => 'feedzy-support ' ,
1916
+ ),
1917
+ admin_url ( 'admin.php ' )
1918
+ ),
1838
1919
'message ' => __ ( 'Redirecting to Feedzy dashboard ' , 'feedzy-rss-feeds ' ),
1839
1920
);
1840
1921
}
1841
1922
} elseif ( 'page_builder ' === $ integrate_with ) {
1842
- $ post_edit_link = get_edit_post_link ( $ page_id, ' db ' );
1843
- // Get elementor edit page link.
1844
- if ( defined ( ' ELEMENTOR_PATH ' ) && class_exists ( ' Elementor\Widget_Base ' ) ) {
1845
- $ segment = 3 ;
1846
- $ post_edit_link = add_query_arg (
1847
- array (
1848
- ' post ' => $ page_id ,
1849
- ' action ' => ' elementor ' ,
1923
+ if ( empty ( $ page_id ) ) {
1924
+ $ response = array (
1925
+ ' status ' => 1 ,
1926
+ ' redirect_to ' => add_query_arg (
1927
+ array (
1928
+ ' page ' => ' feedzy-support ' ,
1929
+ ) ,
1930
+ admin_url ( ' admin.php ' )
1850
1931
),
1851
- admin_url ( 'post.php ' )
1932
+ ' message ' => __ ( 'Redirecting to Feedzy dashboard ' , ' feedzy-rss-feeds ' ),
1852
1933
);
1853
1934
} else {
1854
- $ segment = 4 ;
1935
+ $ post_edit_link = get_edit_post_link ( $ page_id , 'db ' );
1936
+ // Get elementor edit page link.
1937
+ if ( defined ( 'ELEMENTOR_PATH ' ) && class_exists ( 'Elementor\Widget_Base ' ) ) {
1938
+ $ segment = 3 ;
1939
+ $ post_edit_link = add_query_arg (
1940
+ array (
1941
+ 'post ' => $ page_id ,
1942
+ 'action ' => 'elementor ' ,
1943
+ ),
1944
+ admin_url ( 'post.php ' )
1945
+ );
1946
+ } else {
1947
+ $ segment = 4 ;
1948
+ }
1949
+ $ response = array (
1950
+ 'status ' => 1 ,
1951
+ 'redirect_to ' => $ post_edit_link ,
1952
+ 'message ' => __ ( 'Redirecting to draft page ' , 'feedzy-rss-feeds ' ),
1953
+ );
1855
1954
}
1856
- $ response = array (
1857
- 'status ' => 1 ,
1858
- 'redirect_to ' => $ post_edit_link ,
1859
- 'message ' => __ ( 'Redirecting to draft page ' , 'feedzy-rss-feeds ' ),
1860
- );
1861
1955
}
1862
1956
if ( $ with_subscribe && is_email ( $ email ) ) {
1863
1957
update_option ( 'feedzy_rss_feeds_logger_flag ' , 'yes ' );
0 commit comments