' . __( 'Community forums', 'buttonizer-multifunctional-button' ) . '', '' . __( 'Knowledge base', 'buttonizer-multifunctional-button' ) . '', '' . __( 'Migrate to 3.0', 'buttonizer-multifunctional-button' ) . '']; return array_merge( $aLinks, $aButtonizerLinks ); } ); } /** * Show new Buttonizer admin dashboard */ public function adminAssets() { // Make sure only admins see this page if ( !self::$showMigrationPage ) { return; } ( new NewAdmin() )->adminAssets(); } /** * Populate admin HTML content */ public function migrationAdminPage() { // Make sure only admins see this page if ( !self::$showMigrationPage ) { return; } ( new NewAdmin() )->page(); } /** * Remove stylesheets when on Buttonizer page */ public function adminInit() { // Only show migration page to admins if ( defined( "\\BUTTONIZER_LEGACY_REQUESTED_MIGRATION" ) && \BUTTONIZER_LEGACY_REQUESTED_MIGRATION === false && PermissionCheck::hasPermission( true ) ) { self::$showMigrationPage = true; } } /** * Show deprecation notice for legacy Buttonizer users */ public function legacyDeprecationNotice() { // Only show to administrators if ( !PermissionCheck::hasPermission( true ) ) { return; } // Check if notice was dismissed and when $dismissedTime = get_option( 'buttonizer_legacy_notice_dismissed', 0 ); $currentTime = time(); $oneWeek = 7 * 24 * 60 * 60; // 7 days in seconds // If dismissed less than a week ago, don't show if ( $dismissedTime && $currentTime - $dismissedTime < $oneWeek ) { return; } $migrateUrl = admin_url( 'admin.php?page=Buttonizer&buttonizer_migrate=true' ); $nonce = wp_create_nonce( 'buttonizer_dismiss_legacy_notice' ); echo '

⚠️ ' . esc_html__( 'Your Buttonizer version is outdated', 'buttonizer-multifunctional-button' ) . '

' . esc_html__( 'You\'re currently using an outdated version of Buttonizer that is not actively maintained anymore.', 'buttonizer-multifunctional-button' ) . '
' . esc_html__( 'As of', 'buttonizer-multifunctional-button' ) . ' ' . esc_html__( 'July 2026', 'buttonizer-multifunctional-button' ) . '' . esc_html__( ', this version has limited functionality and no button editing capabilities. Please migrate to our Buttonizer standalone version as soon as possible, and your buttons will automatically transfer.', 'buttonizer-multifunctional-button' ) . '

' . esc_html__( 'Migrate to 3.0', 'buttonizer-multifunctional-button' ) . ' ' . esc_html__( 'Learn more', 'buttonizer-multifunctional-button' ) . '

'; } /** * AJAX handler to dismiss legacy notice */ public function dismissLegacyNotice() { // Verify nonce if ( !isset( $_POST['nonce'] ) || !wp_verify_nonce( $_POST['nonce'], 'buttonizer_dismiss_legacy_notice' ) ) { wp_send_json_error( 'Invalid nonce' ); return; } // Only administrators can dismiss if ( !PermissionCheck::hasPermission( true ) ) { wp_send_json_error( 'Permission denied' ); return; } // Store the current time when dismissed update_option( 'buttonizer_legacy_notice_dismissed', time() ); wp_send_json_success(); } }