Ticket #123: global-language-validator.patch

File global-language-validator.patch, 1.3 KB (added by Nightgunner5, 22 months ago)
  • gp-includes/advanced-permissions.php

     
    3838        else 
    3939                $set = GP::$translation_set->get( $args['object_id'] ); 
    4040        return $args['user']->can( 'approve', GP::$validator_permission->object_type, 
    41                 GP::$validator_permission->object_id( $set->project_id, $set->locale, $set->slug ) ); 
    42          
     41                GP::$validator_permission->object_id( $set->project_id, $set->locale, $set->slug ) ) ? true : 'no-verdict'; 
    4342} 
    4443 
     44function gp_route_global_locale_validator_permissions( $verdict, $args ) { 
     45        if ( !( $verdict == 'no-verdict' && $args['action'] == 'approve' && $args['object_type'] == GP::$validator_permission->object_type 
     46                        && $args['object_id'] && $args['user'] ) ) { 
     47                return $verdict; 
     48        } 
     49 
     50        $locale = gp_array_get( explode( '|', $args['object_id'] ), 1 ); 
     51        return $args['user']->can( 'approve', 'locale', $locale ) ? true : 'no-verdict'; 
     52} 
     53 
    4554add_filter( 'can_user', 'gp_recurse_project_permissions', 10, 2 ); 
    4655add_filter( 'can_user', 'gp_recurse_validator_permission', 10, 2 ); 
    4756add_filter( 'pre_can_user', 'gp_route_translation_set_permissions_to_validator_permissions', 10, 2 ); 
     57add_filter( 'pre_can_user', 'gp_route_global_locale_validator_permissions', 10, 2 );