PluginProbe ʕ •ᴥ•ʔ
WP 2FA – Two-factor authentication for WordPress / 4.0.0
WP 2FA – Two-factor authentication for WordPress v4.0.0
4.0.0 1.7.1 2.0.0 2.0.1 2.1.0 2.2.0 2.2.1 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.8.0 2.9.0 2.9.1 2.9.2 2.9.3 3.0.0 3.0.1 3.1.0 3.1.1 3.1.1.2 trunk 1.2.0 1.3.0 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.6.0 1.6.1 1.6.2 1.7.0
wp-2fa / includes / classes / Admin / class-docs-and-support.php
wp-2fa / includes / classes / Admin Last commit date
AdminSettings 20 hours ago Controllers 20 hours ago Fly-Out 20 hours ago Helpers 20 hours ago Methods 20 hours ago Settings 20 hours ago SettingsPages 20 hours ago Views 20 hours ago class-about-us.php 20 hours ago class-docs-and-support.php 20 hours ago class-free-support-notice.php 20 hours ago class-help-contact-us.php 20 hours ago class-license-page.php 20 hours ago class-new-interface-notice.php 20 hours ago class-plugin-updated-notice.php 20 hours ago class-premium-features.php 20 hours ago class-profile-section-renderer.php 20 hours ago class-settings-page.php 20 hours ago class-setup-wizard.php 20 hours ago class-top-bar-banner.php 20 hours ago class-user-listing.php 20 hours ago class-user-notices.php 20 hours ago class-user-profile.php 20 hours ago class-user-registered.php 20 hours ago class-wizard-integration.php 20 hours ago index.php 20 hours ago
class-docs-and-support.php
95 lines
1 <?php
2 /**
3 * Docs and Support page rendering class.
4 *
5 * @package wp2fa
6 * @subpackage admin
7 * @copyright 2026 Melapress
8 * @license https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
9 * @link https://wordpress.org/plugins/wp-2fa/
10 * @since 4.0.0
11 */
12
13 declare( strict_types=1 );
14
15 namespace WP2FA\Admin;
16
17 use WP2FA\WP2FA;
18
19 if ( ! class_exists( '\WP2FA\Admin\Docs_And_Support' ) ) {
20
21 /**
22 * Handles the Docs and Support admin page.
23 */
24 class Docs_And_Support {
25
26 const TOP_MENU_SLUG = 'wp-2fa-help-contact-us';
27
28 /**
29 * Create admin submenu entry for the Docs and Support page.
30 *
31 * @return void
32 *
33 * @since 4.0.0
34 */
35 public static function add_extra_menu_item() {
36
37 \add_submenu_page(
38 Settings_Page::TOP_MENU_SLUG,
39 \esc_html__( 'Docs and Support', 'wp-2fa' ),
40 \esc_html__( 'Docs and Support', 'wp-2fa' ),
41 'manage_options',
42 self::TOP_MENU_SLUG,
43 array( __CLASS__, 'render' ),
44 100
45 );
46
47 \add_action(
48 'admin_enqueue_scripts',
49 function ( $hook ) {
50 if ( 'wp-2fa_page_' . self::TOP_MENU_SLUG !== $hook ) {
51 return;
52 }
53
54 \wp_enqueue_style(
55 'wp_2fa_settings_new_css',
56 WP_2FA_URL . 'includes/assets/css/settings.css',
57 array(),
58 WP_2FA_VERSION
59 );
60 }
61 );
62 }
63
64 /**
65 * Render the Docs and Support page.
66 *
67 * @return void
68 *
69 * @since 4.0.0
70 */
71 public static function render() {
72 if ( ! \current_user_can( 'manage_options' ) ) {
73 \wp_die( \esc_html__( 'You do not have sufficient permissions to access this page.', 'wp-2fa' ) );
74 }
75
76 $main_user = ! empty( WP2FA::get_wp2fa_setting( '2fa_settings_last_updated_by' ) ) ? (int) WP2FA::get_wp2fa_setting( '2fa_settings_last_updated_by' ) : \get_current_user_id();
77 if ( ! empty( WP2FA::get_wp2fa_general_setting( 'limit_access' ) ) && $main_user !== \get_current_user_id() ) {
78 echo \esc_html__( 'These settings have been disabled by your site administrator, please contact them for further assistance.', 'wp-2fa' );
79 return;
80 }
81
82 include_once \WP_2FA_PATH . 'includes/classes/Admin/Settings/templates/support/docs-and-support.php';
83 }
84
85 /**
86 * Gather basic settings and system information.
87 *
88 * @return string
89 */
90 public static function get_sysinfo() {
91 return Help_Contact_Us::get_sysinfo();
92 }
93 }
94 }
95