You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
3.2 KiB
PHP

<?php
/**
* The Status.
*
* @since 0.9.0
* @package RankMath
* @subpackage RankMath\Admin\Importers
* @author Rank Math <support@rankmath.com>
*/
namespace RankMath\Admin\Importers;
defined( 'ABSPATH' ) || exit;
/**
* Status class.
*/
class Status {
/**
* The status.
*
* @var bool
*/
private $status = false;
/**
* The message.
*
* @var string
*/
private $message = '';
/**
* The action being performed.
*
* @var string
*/
private $action;
/**
* Get the status.
*
* @return bool Status.
*/
public function is_success() {
return $this->status;
}
/**
* Get the message.
*
* @return string Status message.
*/
public function get_message() {
if ( '' === $this->message ) {
return $this->get_default_message();
}
return $this->message;
}
/**
* Get the action.
*
* @return string Action type.
*/
public function get_action() {
return $this->action;
}
/**
* Set the status.
*
* @param string $status Status.
*/
public function set_status( $status ) {
$this->status = $status;
}
/**
* Set the message.
*
* @param string $message Status message.
*/
public function set_message( $message ) {
$this->message = $message;
}
/**
* Set the action.
*
* @param string $action Action performing.
*/
public function set_action( $action ) {
$this->action = $action;
}
/**
* Get default message.
*
* @return string
*/
private function get_default_message() {
$hash = [
'settings' => esc_html__( 'Settings imported successfully.', 'rank-math' ),
'news' => esc_html__( 'News Settings imported successfully.', 'rank-math' ),
'video' => esc_html__( 'Video Settings imported successfully.', 'rank-math' ),
'deactivate' => esc_html__( 'Plugin deactivated successfully.', 'rank-math' ),
/* translators: start, end, total */
'postmeta' => esc_html__( 'Imported post meta for posts %1$s - %2$s out of %3$s ', 'rank-math' ),
/* translators: total */
'termmeta' => esc_html__( 'Imported term meta for %s terms.', 'rank-math' ),
/* translators: start, end, total */
'usermeta' => esc_html__( 'Imported user meta for users %1$s - %2$s out of %3$s ', 'rank-math' ),
/* translators: total */
'redirections' => esc_html__( 'Imported %s redirections.', 'rank-math' ),
/* translators: start, end, total */
'blocks' => esc_html__( 'Imported blocks from posts %1$s - %2$s out of %3$s ', 'rank-math' ),
/* translators: start, end, total */
'recalculate' => esc_html__( 'Recalculating scores for posts %1$s - %2$s... ', 'rank-math' ),
];
if ( false === $this->is_success() ) {
$hash = [
'settings' => esc_html__( 'Settings import failed.', 'rank-math' ),
'postmeta' => esc_html__( 'Posts meta import failed.', 'rank-math' ),
'termmeta' => esc_html__( 'Term meta import failed.', 'rank-math' ),
'usermeta' => esc_html__( 'User meta import failed.', 'rank-math' ),
'redirections' => esc_html__( 'There are no redirection to import.', 'rank-math' ),
'blocks' => esc_html__( 'Blocks import failed.', 'rank-math' ),
];
}
return isset( $hash[ $this->get_action() ] ) ? $hash[ $this->get_action() ] : '';
}
}