Changeset 10358 for sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-rosetta-roles/inc/class-plugin.php
- Timestamp:
- 10/11/2020 04:01:43 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-rosetta-roles/inc/class-plugin.php
r6138 r10358 37 37 */ 38 38 const LOCALE_MANAGER_ROLE = 'locale_manager'; 39 40 /** 41 * Paths of translation sets the user cannot edit. 42 */ 43 const READ_ONLY_TRANSLATION_SETS = [ 'sr/latin' ]; 39 44 40 45 /** … … 114 119 } 115 120 116 // Allow logged in users to submit translations.117 if ( 'edit' == $args['action'] && 'translation-set' === $args['object_type'] ) {118 return is_user_logged_in();119 }120 121 121 // Get locale and current project ID. 122 122 $locale_and_project_id = (object) $this->get_locale_and_project_id( $args['object_type'], $args['object_id'], $args ); 123 123 if ( ! $locale_and_project_id ) { 124 124 return false; 125 } 126 127 $set_path = $locale_and_project_id->locale . '/' . $locale_and_project_id->set_slug; 128 if ( \in_array( $set_path, self::READ_ONLY_TRANSLATION_SETS, true ) ) { 129 return false; 130 } 131 132 // Allow logged in users to submit translations. 133 if ( 'edit' == $args['action'] && 'translation-set' === $args['object_type'] ) { 134 return true; 125 135 } 126 136 … … 512 522 } 513 523 514 return array( 'locale' => $set->locale, ' project_id' => (int) $set->project_id );524 return array( 'locale' => $set->locale, 'set_slug' => $set->slug, 'project_id' => (int) $set->project_id ); 515 525 516 526 case 'translation-set' : … … 522 532 } 523 533 524 return array( 'locale' => $set->locale, ' project_id' => (int) $set->project_id );534 return array( 'locale' => $set->locale, 'set_slug' => $set->slug, 'project_id' => (int) $set->project_id ); 525 535 526 536 case 'project|locale|set-slug' : 527 list( $project_id, $locale ) = explode( '|', $object_id );528 return array( 'locale' => $locale, ' project_id' => (int) $project_id );537 list( $project_id, $locale, $set_slug ) = explode( '|', $object_id ); 538 return array( 'locale' => $locale, 'set_slug' => $set_slug, 'project_id' => (int) $project_id ); 529 539 } 530 540
Note: See TracChangeset
for help on using the changeset viewer.