• File: migration-error-integration.php
  • Full Path: /home/matthif/www/wp-content/plugins/wordpress-seo/src/integrations/admin/migration-error-integration.php
  • Date Modified: 02/24/2024 11:29 PM
  • File size: 1.35 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace Yoast\WP\SEO\Integrations\Admin;

use 
Yoast\WP\SEO\Conditionals\Admin_Conditional;
use 
Yoast\WP\SEO\Config\Migration_Status;
use 
Yoast\WP\SEO\Integrations\Integration_Interface;
use 
Yoast\WP\SEO\Presenters\Admin\Migration_Error_Presenter;

/**
 * Migration_Error_Integration class.
 */
class Migration_Error_Integration implements Integration_Interface {

    
/**
     * The migration status object.
     *
     * @var Migration_Status
     */
    
protected $migration_status;

    
/**
     * {@inheritDoc}
     */
    
public static function get_conditionals() {
        return [ 
Admin_Conditional::class ];
    }

    
/**
     * Migration_Error_Integration constructor.
     *
     * @param Migration_Status $migration_status The migration status object.
     */
    
public function __constructMigration_Status $migration_status ) {
        
$this->migration_status $migration_status;
    }

    
/**
     * {@inheritDoc}
     */
    
public function register_hooks() {
        if ( 
$this->migration_status->get_error'free' ) === false ) {
            return;
        }

        
\add_action'admin_notices', [ $this'render_migration_error' ] );
    }

    
/**
     * Renders the migration error.
     *
     * @return void
     */
    
public function render_migration_error() {
        
// phpcs:ignore WordPress.Security.EscapeOutput -- The Migration_Error_Presenter already escapes it's output.
        
echo new Migration_Error_Presenter$this->migration_status->get_error'free' ) );
    }
}