Files
doitinpoland.com/wp-content/plugins/wpml-translation-management/classes/menu/translation-roles/RoleValidator.php
2023-09-12 21:41:04 +02:00

26 lines
582 B
PHP

<?php
namespace WPML\TM\Menu\TranslationRoles;
class RoleValidator {
/**
* @param string $roleName
*
* @return string|null
*/
public static function getTheHighestPossibleIfNotValid( $roleName ) {
$wp_role = get_role( $roleName );
$user = wp_get_current_user();
if ( \WPML_WP_Roles::get_highest_level( $wp_role->capabilities ) > \WPML_WP_Roles::get_user_max_level( $user ) ) {
$wp_role = current( \WPML_WP_Roles::get_roles_up_to_user_level( $user ) );
if ( ! $wp_role ) {
return null;
}
$roleName = $wp_role->name;
}
return $roleName;
}
}