| [ Index ] |
PHP Cross Reference of GlotPress |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Filter for can_user, which tries if the user 5 * has permissions on project parents 6 */ 7 function gp_recurse_project_permissions( $verdict, $args ) { 8 if ( !( !$verdict && $args['object_type'] == 'project' && $args['object_id'] && $args['user'] ) ) { 9 return $verdict; 10 } 11 $project = GP::$project->get( $args['object_id'] ); 12 if ( $project->parent_project_id ) { 13 return $args['user']->can( $args['action'], 'project', $project->parent_project_id ); 14 } 15 return false; 16 } 17 18 function gp_recurse_validator_permission( $verdict, $args ) { 19 if ( !( !$verdict && $args['object_type'] == GP::$validator_permission->object_type && $args['object_id'] && $args['user'] ) ) { 20 return $verdict; 21 } 22 list( $project_id, $locale_slug, $set_slug ) = GP::$validator_permission->project_id_locale_slug_set_slug( $args['object_id'] ); 23 $project = GP::$project->get( $project_id ); 24 if ( $project->parent_project_id ) { 25 return $args['user']->can( $args['action'], $args['object_type'], $project->parent_project_id.'|'.$locale_slug.'|'.$set_slug ); 26 } 27 return false; 28 } 29 30 31 function gp_route_translation_set_permissions_to_validator_permissions( $verdict, $args ) { 32 if ( !( $verdict == 'no-verdict' && $args['action'] == 'approve' && $args['object_type'] == 'translation-set' 33 && $args['object_id'] && $args['user'] ) ) { 34 return $verdict; 35 } 36 if ( isset( $args['extra']['set'] ) && $args['extra']['set'] && $args['extra']['set']->id == $args['object_id'] ) 37 $set = $args['extra']['set']; 38 else 39 $set = GP::$translation_set->get( $args['object_id'] ); 40 return $args['user']->can( 'approve', GP::$validator_permission->object_type, 41 GP::$validator_permission->object_id( $set->project_id, $set->locale, $set->slug ) ); 42 43 } 44 45 add_filter( 'can_user', 'gp_recurse_project_permissions', 10, 2 ); 46 add_filter( 'can_user', 'gp_recurse_validator_permission', 10, 2 ); 47 add_filter( 'pre_can_user', 'gp_route_translation_set_permissions_to_validator_permissions', 10, 2 );
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu May 24 03:59:35 2012 | Hosted by follow the white rabbit. |