Date.php
827 Bytes
<?php
namespace ACP\Editing\Service\Post;
use ACP\Editing\Service;
use ACP\Editing\Storage;
use ACP\Editing\View;
class Date extends Service\DateTime implements Service\Editability {
public function __construct() {
parent::__construct( new View\DateTime(), new Storage\Post\Date() );
}
public function is_editable( int $id ): bool {
return ! $this->is_unsupported_status( get_post( $id )->post_status );
}
public function get_not_editable_reason( int $id ): string {
$post = get_post( $id );
return sprintf(
__( 'Date can not be updated for %s with %s status.', 'codepress-admin-columns' ),
get_post_type_object( $post->post_type )->labels->singular_name,
$post->post_status
);
}
protected function is_unsupported_status( $status ) {
return in_array( $status, [ 'draft', 'inherit' ] );
}
}