Capability Manager Enhanced - Version 1.5

Version Description

  • Feature : Support negative capabilities (storage to wp_roles array with false value)
    • Feature : Multisite - Copy a role definition to all current sites on a network
    • Feature : Multisite - Copy a role definition to new (future) sites on a network
    • Feature : Backup / Restore tool requires "restore_roles" capability or super admin status
    • Fixed : Role reset to WP defaults did not work, caused a PHP error / white screen
    • Change : Clarified English captions on Backup Tool screen
    • Fixed : Term deletion capability was not included in taxonomies grid even if defined
    • Fixed : jQuery notices for deprecated methods on Edit Role screen
    • Compat : Press Permit - if a role is marked as hidden, also default it for use by PP Pro as a Pattern Role (when PP Collaborative Editing is activated and Advanced Settings enabled)
    • Change : Press Permit promotional message includes link to display further info
Download this release

Release Info

Developer kevinB
Plugin Icon 128x128 Capability Manager Enhanced
Version 1.5
Comparing to
See all releases

Code changes from version 1.4.10 to 1.5

admin.css CHANGED
@@ -48,7 +48,7 @@ a.cap_type:hover {
48
 
49
  ul.cme-listhoriz li {
50
  text-align: center;
51
- padding-right: 2em;
52
  }
53
 
54
  ul.cme-listhoriz li table{
@@ -85,16 +85,92 @@ height: 2em;
85
  }
86
 
87
  table .cme-typecaps th {
88
- padding-left: 0.5em;
89
- padding-right: 0.5em;
90
  }
91
 
92
- td.cap_yes {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  color:green;font-weight:bold;
94
  }
95
 
96
- td.cap_no {
97
- color:red;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  }
99
 
100
  #akmin input.button {
48
 
49
  ul.cme-listhoriz li {
50
  text-align: center;
51
+ padding-right: 1em;
52
  }
53
 
54
  ul.cme-listhoriz li table{
85
  }
86
 
87
  table .cme-typecaps th {
88
+ padding-left: 0.3em;
89
+ padding-right: 0.3em;
90
  }
91
 
92
+ table.cme-typecaps span.cap-x {
93
+ display: none;
94
+ }
95
+
96
+ a.neg-cap, a.cap-on, a.type-on, a.neg-type-caps, a.cme-neg-all {
97
+ text-decoration: none;
98
+ }
99
+
100
+ span.cap-x, a.cme-neg-all {
101
+ color: red;
102
+ font-size: 1.5em;
103
+ padding-left: 1px;
104
+ padding-right: 1px;
105
+ vertical-align: middle;
106
+ }
107
+
108
+ a.cme-switch-all {
109
+ color: black;
110
+ font-size: 1.5em;
111
+ padding-right: 1px;
112
+ padding-right: 1px;
113
+ vertical-align: middle;
114
+ text-decoration: line-through;
115
+ }
116
+
117
+ td.cap-yes span {
118
  color:green;font-weight:bold;
119
  }
120
 
121
+ td.cap-no {
122
+ color:#777;
123
+ }
124
+
125
+ td.cap-neg label span {
126
+ color: red;
127
+ }
128
+
129
+ td.cap-neg input {
130
+ display:none;
131
+ }
132
+
133
+ td.cap-no span.cap-x, td.cap-yes span.cap-x {
134
+ display:none;
135
+ }
136
+
137
+ td.cap-neg span.cap-x {
138
+ display:inline;
139
+ }
140
+
141
+ td.cap-neg a.neg-cap {
142
+ display:none;
143
+ }
144
+
145
+ /*
146
+ span.cme-drop-cap {
147
+ color: #aaa;
148
+ }
149
+ */
150
+
151
+ td.cap-metagroup label span {
152
+ color: #080 !important;
153
+ }
154
+
155
+ td.cap-locked label input {
156
+ display: inline !important;
157
+ }
158
+
159
+ td.cap-locked a.neg-cap {
160
+ display: none !important;
161
+ }
162
+
163
+ a.type-off, a.neg-cap, a.cme-neg-all, a.neg-type-caps {
164
+ color: #800;
165
+ }
166
+
167
+ a.type-on, a.cap-on, a.cme-switch-all {
168
+ color: black;
169
+ }
170
+
171
+ input.cme-check-all, a.cme-neg-all {
172
+ margin-right: 10px;
173
+ padding-right: 10px;
174
  }
175
 
176
  #akmin input.button {
admin.dev.js ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready( function($) {
2
+ $('a.neg-cap').attr('title',cmeAdmin.negationCaption);
3
+ $('a.neg-type-caps').attr('title',cmeAdmin.typeCapsNegationCaption);
4
+ $('td.cap-unreg').attr('title',cmeAdmin.typeCapUnregistered);
5
+ $('a.normal-cap').attr('title',cmeAdmin.switchableCaption);
6
+ $('span.cap-x').attr('title',cmeAdmin.capNegated);
7
+ $('table.cme-checklist input[class!="cme-check-all"]').attr('title',cmeAdmin.chkCaption);
8
+
9
+ $('table.cme-checklist a.neg-cap').click( function(e) {
10
+ $(this).closest('td').removeClass('cap-yes').removeClass('cap-no').addClass('cap-neg');
11
+
12
+ var cap_name_attr = $(this).parent().find('input[type="checkbox"]').attr('name');
13
+ $(this).after('<input type="hidden" class="cme-negation-input" name="'+cap_name_attr+'" value="" />');
14
+
15
+ return false;
16
+ });
17
+
18
+ //$('table.cme-typecaps span.cap-x,table.cme-checklist span.cap-x,table.cme-checklist td.cap-neg span').live( 'click', function(e) {
19
+ $(document).on( 'click', 'table.cme-typecaps span.cap-x,table.cme-checklist span.cap-x,table.cme-checklist td.cap-neg span', function(e) {
20
+ $(this).closest('td').removeClass('cap-neg').removeClass('cap-yes').addClass('cap-no');
21
+ $(this).parent().find('input[type="checkbox"]').prop('checked',false);
22
+ $(this).parent().find('input.cme-negation-input').remove();
23
+
24
+ return false;
25
+ });
26
+
27
+ $('input.cme-check-all').click( function(e) {
28
+ $(this).closest('table').find('input[type="checkbox"][disabled!="disabled"]:visible').prop('checked', $(this).is(":checked") );
29
+ });
30
+
31
+ $('a.cme-neg-all').click( function(e) {
32
+ $(this).closest('table').find('a.neg-cap:visible').click();
33
+ return false;
34
+ });
35
+
36
+ $('a.cme-switch-all').click( function(e) {
37
+ $(this).closest('table').find('td.cap-neg span').click();
38
+ return false;
39
+ });
40
+
41
+ $('table.cme-typecaps a.neg-type-caps').click( function(e) {
42
+ $(this).closest('tr').find('td[class!="cap-neg"]').filter('td[class!="cap-unreg"]').each( function(e) {
43
+ $(this).addClass('cap-neg');
44
+
45
+ var cap_name_attr = $(this).parent().find('input[type="checkbox"]').attr('name');
46
+ $(this).append('<input type="hidden" class="cme-negation-input" name="'+cap_name_attr+'" value="" />');
47
+ });
48
+
49
+ return false;
50
+ });
51
+
52
+ //http://stackoverflow.com/users/803925/nbrooks
53
+ $('table.cme-typecaps th').click(function(){
54
+ var columnNo = $(this).index();
55
+
56
+ var check_val = ! $(this).prop('checked_all');
57
+
58
+ if ( $(this).hasClass('term-cap') )
59
+ var class_sel = '[class*="term-cap"]';
60
+ else
61
+ var class_sel = '[class*="post-cap"]';
62
+
63
+ $(this).closest("table")
64
+ .find("tr td" + class_sel + ":nth-child(" + (columnNo+1) + ') input[type="checkbox"]:visible')
65
+ .prop("checked", check_val);
66
+
67
+ $(this).prop('checked_all',check_val);
68
+ });
69
+ });
admin.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ jQuery(document).ready(function($){$('a.neg-cap').attr('title',cmeAdmin.negationCaption);$('a.neg-type-caps').attr('title',cmeAdmin.typeCapsNegationCaption);$('td.cap-unreg').attr('title',cmeAdmin.typeCapUnregistered);$('a.normal-cap').attr('title',cmeAdmin.switchableCaption);$('span.cap-x').attr('title',cmeAdmin.capNegated);$('table.cme-checklist input[class!="cme-check-all"]').attr('title',cmeAdmin.chkCaption);$('table.cme-checklist a.neg-cap').click(function(e){$(this).closest('td').removeClass('cap-yes').removeClass('cap-no').addClass('cap-neg');var cap_name_attr=$(this).parent().find('input[type="checkbox"]').attr('name');$(this).after('<input type="hidden" class="cme-negation-input" name="'+cap_name_attr+'" value="" />');return false;});$(document).on('click','table.cme-typecaps span.cap-x,table.cme-checklist span.cap-x,table.cme-checklist td.cap-neg span',function(e){$(this).closest('td').removeClass('cap-neg').removeClass('cap-yes').addClass('cap-no');$(this).parent().find('input[type="checkbox"]').prop('checked',false);$(this).parent().find('input.cme-negation-input').remove();return false;});$('input.cme-check-all').click(function(e){$(this).closest('table').find('input[type="checkbox"][disabled!="disabled"]:visible').prop('checked',$(this).is(":checked"));});$('a.cme-neg-all').click(function(e){$(this).closest('table').find('a.neg-cap:visible').click();return false;});$('a.cme-switch-all').click(function(e){$(this).closest('table').find('td.cap-neg span').click();return false;});$('table.cme-typecaps a.neg-type-caps').click(function(e){$(this).closest('tr').find('td[class!="cap-neg"]').filter('td[class!="cap-unreg"]').each(function(e){$(this).addClass('cap-neg');var cap_name_attr=$(this).parent().find('input[type="checkbox"]').attr('name');$(this).append('<input type="hidden" class="cme-negation-input" name="'+cap_name_attr+'" value="" />');});return false;});$('table.cme-typecaps th').click(function(){var columnNo=$(this).index();var check_val=!$(this).prop('checked_all');if($(this).hasClass('term-cap'))
2
+ var class_sel='[class*="term-cap"]';else
3
+ var class_sel='[class*="post-cap"]';$(this).closest("table").find("tr td"+class_sel+":nth-child("+(columnNo+1)+') input[type="checkbox"]:visible').prop("checked",check_val);$(this).prop('checked_all',check_val);});});
capsman-enhanced.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Capability Manager Enhanced
4
  Plugin URI: http://presspermit.com/capability-manager
5
  Description: Manage WordPress role definitions. Organizes available capabilities by post type, status and source.
6
- Version: 1.4.10
7
  Author: Jordi Canals, Kevin Behrens
8
  Author URI: http://agapetry.net
9
  */
@@ -32,8 +32,8 @@ Author URI: http://agapetry.net
32
  */
33
 
34
  if ( ! defined( 'CAPSMAN_VERSION' ) ) {
35
- define( 'CAPSMAN_VERSION', '1.4.10' );
36
- define( 'CAPSMAN_ENH_VERSION', '1.4.10' );
37
  }
38
 
39
  if ( cme_is_plugin_active( 'capsman.php' ) ) {
@@ -41,6 +41,7 @@ if ( cme_is_plugin_active( 'capsman.php' ) ) {
41
  add_action('admin_notices', create_function('', 'echo \'<div id="message" class="error fade" style="color: black">' . $message . '</div>\';'));
42
  return;
43
  } else {
 
44
  define ( 'AK_CMAN_PATH', dirname(__FILE__) );
45
  define ( 'AK_CMAN_LIB', AK_CMAN_PATH . '/includes' );
46
 
@@ -82,6 +83,10 @@ if ( cme_is_plugin_active( 'capsman.php' ) ) {
82
  include_once ( AK_CMAN_PATH . '/framework/loader.php' );
83
  include ( AK_CMAN_LIB . '/manager.php' );
84
  $capsman = new CapabilityManager(__FILE__, 'capsman');
 
 
 
 
85
  } else {
86
  load_plugin_textdomain('capsman', false, basename(dirname(__FILE__)) .'/lang');
87
  add_action( 'admin_menu', 'cme_submenus' );
@@ -96,6 +101,12 @@ function _cme_act_pp_active() {
96
  define( 'PP_ACTIVE', true );
97
  }
98
 
 
 
 
 
 
 
99
  // perf enchancement: display submenu links without loading framework and plugin code
100
  function cme_submenus() {
101
  if ( defined('PP_ACTIVE') ) { // Press Permit integrates into Permissions menu
@@ -105,7 +116,8 @@ function cme_submenus() {
105
  add_users_page( __('Capability Manager', 'capsman'), $menu_caption, 'manage_capabilities', 'capsman', 'cme_fakefunc');
106
  }
107
 
108
- add_management_page(__('Capability Manager', 'capsman'), __('Capability Manager', 'capsman'), 'manage_capabilities', 'capsman' . '-tool', 'cme_fakefunc');
 
109
  }
110
 
111
  function _cme_pp_menu() {
@@ -123,4 +135,18 @@ function cme_is_plugin_active($check_plugin_file) {
123
  if ( false !== strpos($plugin_file, $check_plugin_file) )
124
  return $plugin_file;
125
  }
126
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  Plugin Name: Capability Manager Enhanced
4
  Plugin URI: http://presspermit.com/capability-manager
5
  Description: Manage WordPress role definitions. Organizes available capabilities by post type, status and source.
6
+ Version: 1.5
7
  Author: Jordi Canals, Kevin Behrens
8
  Author URI: http://agapetry.net
9
  */
32
  */
33
 
34
  if ( ! defined( 'CAPSMAN_VERSION' ) ) {
35
+ define( 'CAPSMAN_VERSION', '1.5' );
36
+ define( 'CAPSMAN_ENH_VERSION', '1.5' );
37
  }
38
 
39
  if ( cme_is_plugin_active( 'capsman.php' ) ) {
41
  add_action('admin_notices', create_function('', 'echo \'<div id="message" class="error fade" style="color: black">' . $message . '</div>\';'));
42
  return;
43
  } else {
44
+ define ( 'CME_FILE', __FILE__ );
45
  define ( 'AK_CMAN_PATH', dirname(__FILE__) );
46
  define ( 'AK_CMAN_LIB', AK_CMAN_PATH . '/includes' );
47
 
83
  include_once ( AK_CMAN_PATH . '/framework/loader.php' );
84
  include ( AK_CMAN_LIB . '/manager.php' );
85
  $capsman = new CapabilityManager(__FILE__, 'capsman');
86
+
87
+ if ( isset($_REQUEST['page']) && ( 'capsman' == $_REQUEST['page'] ) ) {
88
+ add_action( 'admin_enqueue_scripts', '_cme_pp_scripts' );
89
+ }
90
  } else {
91
  load_plugin_textdomain('capsman', false, basename(dirname(__FILE__)) .'/lang');
92
  add_action( 'admin_menu', 'cme_submenus' );
101
  define( 'PP_ACTIVE', true );
102
  }
103
 
104
+ function _cme_pp_scripts() {
105
+ wp_enqueue_style( 'plugin-install' );
106
+ wp_enqueue_script( 'plugin-install' );
107
+ add_thickbox();
108
+ }
109
+
110
  // perf enchancement: display submenu links without loading framework and plugin code
111
  function cme_submenus() {
112
  if ( defined('PP_ACTIVE') ) { // Press Permit integrates into Permissions menu
116
  add_users_page( __('Capability Manager', 'capsman'), $menu_caption, 'manage_capabilities', 'capsman', 'cme_fakefunc');
117
  }
118
 
119
+ $cap_name = ( is_super_admin() ) ? 'manage_capabilities' : 'restore_roles';
120
+ add_management_page(__('Capability Manager', 'capsman'), __('Capability Manager', 'capsman'), $cap_name, 'capsman' . '-tool', 'cme_fakefunc');
121
  }
122
 
123
  function _cme_pp_menu() {
135
  if ( false !== strpos($plugin_file, $check_plugin_file) )
136
  return $plugin_file;
137
  }
138
+ }
139
+
140
+ // if a role is marked as hidden, also default it for use by Press Permit as a Pattern Role (when PP Collaborative Editing is activated and Advanced Settings enabled)
141
+ function _cme_pp_default_pattern_role( $role ) {
142
+ if ( ! $pp_role_usage = get_option( 'pp_role_usage' ) )
143
+ $pp_role_usage = array();
144
+
145
+ if ( empty( $pp_role_usage[$role] ) ) {
146
+ $pp_role_usage[$role] = 'pattern';
147
+ update_option( 'pp_role_usage', $pp_role_usage );
148
+ }
149
+ }
150
+
151
+ if ( is_multisite() )
152
+ require_once ( AK_CMAN_PATH . '/includes/network.php' );
framework/classes/abstract/plugin.php CHANGED
@@ -212,6 +212,21 @@ abstract class akPluginAbstract
212
  wp_register_style('ak_' . $this->ID . '_admin', $url, array('ak_framework_admin'), $this->version);
213
  wp_enqueue_style('ak_' . $this->ID . '_admin');
214
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  }
216
 
217
  /**
@@ -222,7 +237,7 @@ abstract class akPluginAbstract
222
  */
223
  final private function loadModuleData ( $id )
224
  {
225
- $this->mod_url = plugins_url() . '/' . basename(dirname($this->mod_file));
226
 
227
  if ( ! isset($this->ID) )
228
  $this->ID = ( empty($id) ) ? strtolower(basename($this->mod_file, '.php')) : trim($id) ;
212
  wp_register_style('ak_' . $this->ID . '_admin', $url, array('ak_framework_admin'), $this->version);
213
  wp_enqueue_style('ak_' . $this->ID . '_admin');
214
  }
215
+
216
+ if ( file_exists(dirname($this->mod_file) . '/admin.js') ) {
217
+ $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '.dev' : '';
218
+ $url = $this->mod_url . "/admin{$suffix}.js";
219
+ wp_enqueue_script( 'cme_admin', $url, array('jquery'), CAPSMAN_VERSION, true );
220
+ wp_localize_script( 'cme_admin', 'cmeAdmin', array(
221
+ 'negationCaption' => __( 'Explicity negate this capability by storing as disabled', 'capsman' ),
222
+ 'typeCapsNegationCaption' => __( 'Explicitly negate these capabilities by storing as disabled', 'capsman' ),
223
+ 'typeCapUnregistered' => __( 'Post type registration does not define this capability distinctly', 'capsman' ),
224
+ 'capNegated' => __( 'This capability is explicitly negated. Click to add/remove normally.', 'capsman' ),
225
+ 'chkCaption' => __( 'Add or remove this capability from the WordPress role', 'capsman' ),
226
+ 'switchableCaption' => __( 'Add or remove capability from the role normally', 'capsman' ) )
227
+ );
228
+ }
229
+
230
  }
231
 
232
  /**
237
  */
238
  final private function loadModuleData ( $id )
239
  {
240
+ $this->mod_url = plugins_url( '', CME_FILE );
241
 
242
  if ( ! isset($this->ID) )
243
  $this->ID = ( empty($id) ) ? strtolower(basename($this->mod_file, '.php')) : trim($id) ;
framework/lib/formating.php CHANGED
@@ -42,3 +42,16 @@ function ak_admin_notify( $message = '' )
42
  echo '<div id="message" class="updated fade"><p><strong>' . $message . '</strong></p></div>';
43
  }
44
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  echo '<div id="message" class="updated fade"><p><strong>' . $message . '</strong></p></div>';
43
  }
44
  }
45
+
46
+ /**
47
+ * Displays admin ERRORS.
48
+ *
49
+ * @param $message Message to display.
50
+ * @return void
51
+ */
52
+ function ak_admin_error( $message )
53
+ {
54
+ if ( is_admin() ) {
55
+ echo '<div id="error" class="error"><p><strong>' . $message . '</strong></p></div>';
56
+ }
57
+ }
framework/lib/users.php CHANGED
@@ -69,7 +69,7 @@ function ak_level2caps( $level ) {
69
  $level = min(10, intval($level));
70
 
71
  for ( $i = $level; $i >= 0; $i--) {
72
- $caps["level_{$i}"] = "Level {$i}";
73
  }
74
 
75
  return $caps;
69
  $level = min(10, intval($level));
70
 
71
  for ( $i = $level; $i >= 0; $i--) {
72
+ $caps["level_{$i}"] = true;
73
  }
74
 
75
  return $caps;
framework/styles/admin.css CHANGED
@@ -117,13 +117,13 @@ table#akmin td.content {
117
 
118
  table#akmin td.content dd {
119
  margin: 0;
120
- padding: 10px 20px 10px 20px;
121
  }
122
 
123
  /* ====================================================== ADMIN SIDEBAR */
124
 
125
  table#akmin td.sidebar {
126
- width: 275px;
127
  padding: 0 0 0 8px;
128
  }
129
 
117
 
118
  table#akmin td.content dd {
119
  margin: 0;
120
+ padding: 10px;
121
  }
122
 
123
  /* ====================================================== ADMIN SIDEBAR */
124
 
125
  table#akmin td.sidebar {
126
+ width: 250px;
127
  padding: 0 0 0 8px;
128
  }
129
 
images/play.png ADDED
Binary file
images/pp-logo.png ADDED
Binary file
includes/admin.php CHANGED
@@ -35,7 +35,6 @@ if( defined('PP_ACTIVE') ) {
35
  $pp_metagroup_caps = $pp_ui->get_metagroup_caps( $default );
36
  } else
37
  $pp_metagroup_caps = array();
38
-
39
  ?>
40
  <div class="wrap">
41
  <?php if( defined('PP_ACTIVE') ) :
@@ -60,15 +59,19 @@ if( defined('PP_ACTIVE') ) {
60
  <dt><?php printf(__('Capabilities for %s', $this->ID), $roles[$default]); ?></dt>
61
  <dd>
62
  <div>
63
- <?php _e( 'Use this form to view and modify the capabilities WordPress natively associates with each role. Changes <strong>will remain in your database</strong> even if you deactivate the plugin.', $this->ID ); ?>
64
  </div>
65
 
66
  <?php
67
  if ( defined( 'PP_ACTIVE' ) ) {
68
  $pp_ui->show_capability_hints( $default );
69
  } else {
70
- echo '<div>';
71
- _e( "Interested in further customizing editing or viewing access? Consider stepping up to <a href='#pp-more'>Press Permit</a>.", $this->ID );
 
 
 
 
72
  echo '</div>';
73
  ?>
74
  <script type="text/javascript">
@@ -85,50 +88,103 @@ if( defined('PP_ACTIVE') ) {
85
  });
86
  /* ]]> */
87
  </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  <?php
89
- echo '<br /><div style="display:none" id="pp_features"><ul class="ul-disc">';
90
- echo '<li>';
91
- _e( "Automatically define type-specific capabilities for your custom post types and taxonomies", $this->ID );
92
- echo '</li>';
93
- echo '<li>';
94
- _e( "Supplemental per-type, per-category or per-page role assignments", $this->ID );
95
- echo '</li>';
96
- echo '<li>';
97
- _e( "Custom Visibility statuses (require read_member_posts, read_premium_posts, etc.)", $this->ID );
98
- echo '</li>';
99
- echo '<li>';
100
- _e( 'Custom Editability "statuses" - set alongside Visibility in Post and Category edit forms', $this->ID );
101
- echo '</li>';
102
- echo '<li>';
103
- _e( "Custom Moderation statuses, enabling access-limited three tier moderation (Pending / Approved / Published)", $this->ID );
104
- echo '</li>';
105
- echo '<li>';
106
- _e( "Grant Participant or Moderator access to specific bbPress forums or topics", $this->ID );
107
- echo '</li>';
108
- echo '<li>';
109
- _e( "Grant supplemental page or category access to all members of a BuddyPress group", $this->ID );
110
- echo '</li>';
111
- echo '<li>';
112
- _e( "WPML integration to mirror permissions to translations", $this->ID );
113
- echo '</li>';
114
- echo '<li>';
115
- _e( "Professional support available", $this->ID );
116
- echo '</li>';
117
- echo '</ul><div>';
118
- echo '<a href="http://presspermit.com">http://presspermit.com</a> &bull; <a href="#pp-hide">hide</a>';
119
  echo '</div></div>';
120
  }
121
 
122
  if ( MULTISITE ) {
123
  global $wp_roles;
124
- if ( method_exists( $wp_roles, 'reinit' ) )
 
 
 
 
 
 
 
125
  $wp_roles->reinit();
 
126
  }
127
 
128
  global $capsman;
129
  $capsman->reinstate_db_roles();
130
 
131
  $current = get_role($default);
 
 
 
132
  $rcaps = $current->capabilities;
133
 
134
  // ========= Begin Kevin B mod ===========
@@ -141,9 +197,8 @@ if( defined('PP_ACTIVE') ) {
141
  $defined['type'] = get_post_types( array( 'public' => true ), 'object' );
142
  $defined['taxonomy'] = get_taxonomies( array( 'public' => true ), 'object' );
143
 
144
- $unfiltered['type'] = apply_filters( 'pp_unfiltered_post_types', array() );
145
- $unfiltered['taxonomy'] = apply_filters( 'pp_unfiltered_taxonomies', array( 'post_status' ) ); // avoid confusion with Edit Flow administrative taxonomy
146
-
147
  /*
148
  if ( ( count($custom_types) || count($custom_tax) ) && ( $is_administrator || current_user_can( 'manage_pp_settings' ) ) ) {
149
  $cap_properties[''] = array();
@@ -214,8 +269,8 @@ if( defined('PP_ACTIVE') ) {
214
  );
215
  $type_caps = array();
216
 
217
- // Press Permit grants attachment capabilities based on user's capabilities for the parent post
218
- if ( defined( 'PP_ACTIVE' ) || defined('SCOPER_VERSION') )
219
  unset( $defined['type']['attachment'] );
220
 
221
  echo '<ul class="cme-listhoriz">';
@@ -227,8 +282,21 @@ if( defined('PP_ACTIVE') ) {
227
  echo '<table class="cme-typecaps">';
228
 
229
  foreach( array_keys($defined) as $item_type ) {
230
- if ( ( 'delete' == $cap_type ) && ( 'taxonomy' == $item_type ) )
231
- continue;
 
 
 
 
 
 
 
 
 
 
 
 
 
232
 
233
  //if ( ! $cap_type ) {
234
 
@@ -245,7 +313,8 @@ if( defined('PP_ACTIVE') ) {
245
  $prop = str_replace( '_terms', '', $prop );
246
  $tip = ( isset( $cap_tips[$prop] ) ) ? "title='{$cap_tips[$prop]}'" : '';
247
  $prop = str_replace( '_', '<br />', $prop );
248
- echo "<th $tip>";
 
249
  echo ucwords($prop);
250
  echo '</th>';
251
  }
@@ -254,32 +323,39 @@ if( defined('PP_ACTIVE') ) {
254
  if ( in_array( $key, $unfiltered[$item_type] ) )
255
  continue;
256
 
257
- $row = '<tr>';
258
 
259
  if ( $cap_type ) {
260
  if ( empty($force_distinct_ui) && empty( $cap_properties[$cap_type][$item_type] ) )
261
  continue;
262
 
263
- $row .= "<td><a class='cap_type' href='#toggle_type_caps'>" . $type_obj->labels->name . '</a></td>';
 
 
264
 
265
  $display_row = ! empty($force_distinct_ui);
266
 
267
  foreach( $cap_properties[$cap_type][$item_type] as $prop ) {
268
- $td_class = '';
269
  $checkbox = '';
270
 
271
  if ( ! empty($type_obj->cap->$prop) && ( in_array( $type_obj->name, array( 'post', 'page' ) )
272
  || ! in_array( $type_obj->cap->$prop, $default_caps )
273
  || ( ( 'manage_categories' == $type_obj->cap->$prop ) && ( 'manage_terms' == $prop ) && ( 'category' == $type_obj->name ) ) ) ) {
274
-
275
  // if edit_published or edit_private cap is same as edit_posts cap, don't display a checkbox for it
276
  if ( ( ! in_array( $prop, array( 'edit_published_posts', 'edit_private_posts', 'create_posts' ) ) || ( $type_obj->cap->$prop != $type_obj->cap->edit_posts ) )
277
  && ( ! in_array( $prop, array( 'delete_published_posts', 'delete_private_posts' ) ) || ( $type_obj->cap->$prop != $type_obj->cap->delete_posts ) )
278
  ) {
279
  $cap_name = $type_obj->cap->$prop;
280
 
 
 
 
 
 
281
  if ( ! empty($pp_metagroup_caps[$cap_name]) )
282
- $td_class = 'class="cm-has-via-pp"';
283
 
284
  if ( $is_administrator || current_user_can($cap_name) ) {
285
  if ( ! empty($pp_metagroup_caps[$cap_name]) ) {
@@ -294,10 +370,23 @@ if( defined('PP_ACTIVE') ) {
294
  $checkbox = '<input id=caps[' . $cap_name . '] type="checkbox" title="' . $title_text . '" name="caps[' . $cap_name . ']" value="1" ' . $checked . $disabled . ' />';
295
  $type_caps [$cap_name] = true;
296
  $display_row = true;
297
- }
298
- }
299
- }
300
- $row .= "<td $td_class>$checkbox</td>";
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  }
302
  }
303
 
@@ -324,7 +413,7 @@ if( defined('PP_ACTIVE') ) {
324
  jQuery(document).ready( function($) {
325
  $('a[href="#toggle_type_caps"]').click( function() {
326
  var chks = $(this).closest('tr').find('input');
327
- $(chks).attr( 'checked', ! $(chks).first().attr('checked') );
328
  return false;
329
  });
330
  });
@@ -340,11 +429,11 @@ if( defined('PP_ACTIVE') ) {
340
  ksort( $core_caps );
341
 
342
  echo '<p>&nbsp;</p><h3>' . __( 'Other WordPress Core Capabilities', $this->ID ) . '</h3>';
343
- echo '<table width="100%" class="form-table"><tr>';
344
 
345
 
346
  $checks_per_row = get_option( 'cme_form-rows', 5 );
347
- $i = 0;
348
 
349
  foreach( array_keys($core_caps) as $cap_name ) {
350
  if ( ! $is_administrator && ! current_user_can($cap_name) )
@@ -355,7 +444,13 @@ if( defined('PP_ACTIVE') ) {
355
  $i = 0;
356
  }
357
 
 
 
 
 
 
358
  if ( ! empty($pp_metagroup_caps[$cap_name]) ) {
 
359
  $title_text = sprintf( __( '%s: assigned by Permission Group', 'pp' ), $cap_name );
360
  } else {
361
  $title_text = $cap_name;
@@ -363,23 +458,48 @@ if( defined('PP_ACTIVE') ) {
363
 
364
  $disabled = '';
365
  $checked = checked(1, ! empty($rcaps[$cap_name]), false );
366
-
367
- $class = ( ! empty($rcaps[$cap_name]) || ! empty($pp_metagroup_caps[$cap_name]) ) ? 'cap_yes' : 'cap_no';
368
-
369
  ?>
370
- <td class="<?php echo $class; ?>"><label for="caps[<?php echo $cap_name; ?>]" title="<?php echo $title_text;?>"><input id=caps[<?php echo $cap_name; ?>] type="checkbox" name="caps[<?php echo $cap_name; ?>]" value="1" <?php echo $checked . $disabled;?> />
 
371
  <?php
372
  echo str_replace( '_', ' ', $cap_name );
373
- echo '</td>';
374
- $i++;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
375
  }
 
 
 
 
 
 
 
 
376
 
377
- echo '</table>';
378
 
 
379
  echo '<p>&nbsp;</p><h3>' . __( 'Additional Capabilities', $this->ID ) . '</h3>';
380
 
381
  ?>
382
- <table width='100%' class="form-table">
383
  <tr>
384
  <?php
385
  $i = 0; $first_row = true;
@@ -402,9 +522,14 @@ if( defined('PP_ACTIVE') ) {
402
  echo '</tr><tr>';
403
  $i = 0; $first_row = false;
404
  }
405
- $class = ( ! empty($rcaps[$cap_name]) || ! empty($pp_metagroup_caps[$cap_name]) ) ? 'cap_yes' : 'cap_no';
 
 
 
 
406
 
407
  if ( ! empty($pp_metagroup_caps[$cap_name]) ) {
 
408
  $title_text = sprintf( __( '%s: assigned by Permission Group', 'pp' ), $cap_name );
409
  } else {
410
  $title_text = $cap_name;
@@ -417,15 +542,22 @@ if( defined('PP_ACTIVE') ) {
417
  if ( ! current_user_can('administrator') ) {
418
  continue;
419
  } elseif ( 'administrator' == $default ) {
 
420
  $lock_manage_caps_capability = true;
421
  $disabled = 'disabled="disabled"';
422
  }
423
  }
424
  ?>
425
- <td class="<?php echo $class; ?>"><label for="caps[<?php echo $cap_name; ?>]" title="<?php echo $title_text;?>"><input id=caps[<?php echo $cap_name; ?>] type="checkbox" name="caps[<?php echo $cap_name; ?>]" value="1" <?php echo $checked . $disabled;?> />
426
- <?php
427
- echo $cap;
428
- ?></label></td>
 
 
 
 
 
 
429
  <?php
430
  $i++;
431
  endforeach;
@@ -437,26 +569,36 @@ if( defined('PP_ACTIVE') ) {
437
  if ( $i == $checks_per_row ) {
438
  echo '</tr><tr>';
439
  $i = 0;
440
- }
441
-
442
- $level = ak_caps2level($rcaps);
443
- ?>
444
- <td><?php _e('Level:', $this->ID) ;?><select name="level">
445
- <?php for ( $l = $this->max_level; $l >= 0; $l-- ) {?>
446
- <option value="<?php echo $l; ?>" style="text-align:right;"<?php selected($level, $l); ?>>&nbsp;<?php echo $l; ?>&nbsp;</option>
447
- <?php }
448
- ++$i;
449
-
450
  if ( ! $first_row ) {
451
  // Now close a wellformed table
452
  for ( $i; $i < $checks_per_row; $i++ ){
453
  echo '<td>&nbsp;</td>';
454
  }
 
455
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
456
  ?>
457
  </select>
458
-
459
- </tr>
 
 
 
 
 
460
  </table>
461
 
462
  <br />
@@ -472,6 +614,7 @@ if( defined('PP_ACTIVE') ) {
472
 
473
  <?php
474
  $support_pp_only_roles = ( defined('PP_ACTIVE') ) ? $pp_ui->pp_only_roles_ui( $default ) : false;
 
475
  ?>
476
 
477
  <p class="submit">
@@ -486,6 +629,7 @@ if( defined('PP_ACTIVE') ) {
486
 
487
  <br />
488
  <?php agp_admin_footer(); ?>
 
489
 
490
  </td>
491
  <td class="sidebar">
@@ -511,7 +655,7 @@ if( defined('PP_ACTIVE') ) {
511
  <p><input type="text" name="create-name"" class="<?php echo $class;?>" placeholder="<?php _e('Name of new role', $this->ID) ?>" />
512
 
513
  <?php if( $support_pp_only_roles ) : ?>
514
- <label for="new_role_pp_only" title="<?php _e('Make role available for supplemental assignment to Permit Groups only', 'pp');?>"> <input type="checkbox" name="new_role_pp_only" id="new_role_pp_only" value="1" checked="checked"> <?php _e('supplemental', 'pp'); ?> </label>
515
  <?php endif; ?>
516
 
517
  <br />
@@ -527,7 +671,7 @@ if( defined('PP_ACTIVE') ) {
527
  <p><input type="text" name="copy-name" class="<?php echo $class;?>" placeholder="<?php _e('Name of copied role', $this->ID) ?>" />
528
 
529
  <?php if( $support_pp_only_roles ) : ?>
530
- <label for="copy_role_pp_only" title="<?php _e('Make role available for supplemental assignment to Permit Groups only', 'pp');?>"> <input type="checkbox" name="copy_role_pp_only" id="copy_role_pp_only" value="1" checked="checked"> <?php _e('supplemental', 'pp'); ?> </label>
531
  <?php endif; ?>
532
 
533
  <br />
@@ -553,3 +697,32 @@ if( defined('PP_ACTIVE') ) {
553
  </fieldset>
554
  </form>
555
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  $pp_metagroup_caps = $pp_ui->get_metagroup_caps( $default );
36
  } else
37
  $pp_metagroup_caps = array();
 
38
  ?>
39
  <div class="wrap">
40
  <?php if( defined('PP_ACTIVE') ) :
59
  <dt><?php printf(__('Capabilities for %s', $this->ID), $roles[$default]); ?></dt>
60
  <dd>
61
  <div>
62
+ <?php _e( 'View and modify capabilities WordPress associates with each role. Changes <strong>remain in the database</strong> even if you deactivate this plugin.', $this->ID ); ?>
63
  </div>
64
 
65
  <?php
66
  if ( defined( 'PP_ACTIVE' ) ) {
67
  $pp_ui->show_capability_hints( $default );
68
  } else {
69
+ global $capsman;
70
+ $img_url = $capsman->mod_url . '/images/';
71
+ $lang_id = $this->ID;
72
+
73
+ echo '<div style="margin-top:5px">';
74
+ _e( "To further customize editing or viewing access, consider stepping up to <a href='#pp-more'>Press Permit</a>.", $this->ID );
75
  echo '</div>';
76
  ?>
77
  <script type="text/javascript">
88
  });
89
  /* ]]> */
90
  </script>
91
+ <style>
92
+ #pp_features {display:none;border:1px solid #eee;padding:5px;text-align:center;min-width:600px}
93
+ div.pp-logo { text-align: center }
94
+ div.features-wrap { margin-left: auto; margin-right: auto; text-align: center; width: 540px; }
95
+ ul.pp-features { list-style: none; padding-top:10px; text-align:left; margin-left: auto }
96
+ ul.pp-features li:before { content: "\2713\0020"; }
97
+ ul.pp-features li { padding-bottom: 5px }
98
+ img.cme-play { margin-bottom: -3px; margin-left: 5px;}
99
+ </style>
100
+
101
+ <?php /* play.png icon by Pavel: http://kde-look.org/usermanager/search.php?username=InFeRnODeMoN */ ?>
102
+
103
+ <br /><div id="pp_features"><div class="pp-logo"><a href="http://presspermit.com"><img src="<?php echo $img_url;?>pp-logo.png" /></a></div><div class="features-wrap"><ul class="pp-features">
104
+ <li>
105
+ <?php _e( "Automatically define type-specific capabilities for your custom post types and taxonomies", $lang_id );?>
106
+ <a href="http://presspermit.com/tutorial/regulate-post-type-access" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
107
+
108
+ <li>
109
+ <?php _e( "Assign standard WP roles supplementally for a specific post type", $lang_id );?>
110
+ <a href="http://presspermit.com/tutorial/regulate-post-type-access" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
111
+
112
+ <li>
113
+ <?php _e( "Assign custom WP roles supplementally for a specific post type <em>(Pro)</em>", $lang_id );?>
114
+ <a href="http://presspermit.com/tutorial/custom-role-usage" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
115
+
116
+ <li>
117
+ <?php _e( "Customize reading permissions per-category or per-post", $lang_id );?>
118
+ <a href="http://presspermit.com/tutorial/category-exceptions" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
119
+
120
+ <li>
121
+ <?php _e( "Customize editing permissions per-category or per-post <em>(Pro)</em>", $lang_id );?>
122
+ <a href="http://presspermit.com/tutorial/page-editing-exceptions" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
123
+
124
+ <li>
125
+ <?php _e( "Custom Post Visibility statuses, fully implemented throughout wp-admin <em>(Pro)</em>", $lang_id );?>
126
+ <a href="http://presspermit.com/tutorial/custom-post-visibility" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
127
+
128
+ <li>
129
+ <?php _e( "Custom Moderation statuses for access-controlled, multi-step publishing workflow <em>(Pro)</em>", $lang_id );?>
130
+ <a href="http://presspermit.com/tutorial/multi-step-moderation" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
131
+
132
+ <li>
133
+ <?php _e( "Regulate permissions for Edit Flow post statuses <em>(Pro)</em>", $lang_id );?>
134
+ <a href="http://presspermit.com/tutorial/edit-flow-integration" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
135
+
136
+ <li>
137
+ <?php _e( "Customize the moderated editing of published content with Revisionary or Post Forking <em>(Pro)</em>", $lang_id );?>
138
+ <a href="http://presspermit.com/tutorial/published-content-revision" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
139
+
140
+ <li>
141
+ <?php _e( "Grant Spectator, Participant or Moderator access to specific bbPress forums <em>(Pro)</em>", $lang_id );?>
142
+ <a href="http://presspermit.com/tutorial/bbpress-exceptions" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
143
+
144
+ <li>
145
+ <?php _e( "Grant supplemental content permissions to a BuddyPress group <em>(Pro)</em>", $lang_id );?>
146
+ <a href="http://presspermit.com/tutorial/buddypress-content-permissions" target="_blank"><img class="cme-play" src="<?php echo $img_url;?>play.png" /></a></li>
147
+
148
+ <li>
149
+ <?php _e( "WPML integration to mirror permissions to translations <em>(Pro)</em>", $lang_id );?>
150
+ </li>
151
+
152
+ <li>
153
+ <?php _e( "Member support forum", $lang_id );?>
154
+ </li>
155
+
156
+ </ul></div>
157
  <?php
158
+ echo '<div>';
159
+ printf( __('%1$sgrab%2$s %3$s', 'capsman'), '<strong>', '</strong>', '<span class="plugins update-message"><a href="' . cme_plugin_info_url('press-permit-core') . '" class="thickbox" title="' . sprintf( __('%s (free install)', 'capsman'), 'Press Permit Core' ) . '">Press&nbsp;Permit&nbsp;Core</a></span>' );
160
+ echo '&nbsp;&nbsp;&bull;&nbsp;&nbsp;';
161
+ printf( __('%1$sbuy%2$s %3$s', 'capsman'), '<strong>', '</strong>', '<a href="http://presspermit.com" target="_blank" title="' . sprintf( __('%s info/purchase', 'capsman'), 'Press Permit Pro' ) . '">Press&nbsp;Permit&nbsp;Pro</a>' );
162
+ echo '&nbsp;&nbsp;&bull;&nbsp;&nbsp;';
163
+ echo '<a href="#pp-hide">hide</a>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  echo '</div></div>';
165
  }
166
 
167
  if ( MULTISITE ) {
168
  global $wp_roles;
169
+ if ( method_exists( $wp_roles, 'reinit' ) ) {
170
+ global $wpdb;
171
+
172
+ if ( ! empty($_REQUEST['cme_net_sync_role'] ) ) {
173
+ switch_to_blog(1);
174
+ wp_cache_delete( $wpdb->prefix . 'user_roles', 'options' );
175
+ }
176
+
177
  $wp_roles->reinit();
178
+ }
179
  }
180
 
181
  global $capsman;
182
  $capsman->reinstate_db_roles();
183
 
184
  $current = get_role($default);
185
+
186
+ //print_r($current);
187
+
188
  $rcaps = $current->capabilities;
189
 
190
  // ========= Begin Kevin B mod ===========
197
  $defined['type'] = get_post_types( array( 'public' => true ), 'object' );
198
  $defined['taxonomy'] = get_taxonomies( array( 'public' => true ), 'object' );
199
 
200
+ $unfiltered['type'] = apply_filters( 'pp_unfiltered_post_types', array('forum','topic','reply') ); // bbPress' dynamic role def requires additional code to enforce stored caps
201
+ $unfiltered['taxonomy'] = apply_filters( 'pp_unfiltered_taxonomies', array( 'post_status', 'topic-tag' ) ); // avoid confusion with Edit Flow administrative taxonomy
 
202
  /*
203
  if ( ( count($custom_types) || count($custom_tax) ) && ( $is_administrator || current_user_can( 'manage_pp_settings' ) ) ) {
204
  $cap_properties[''] = array();
269
  );
270
  $type_caps = array();
271
 
272
+ // Role Scoper and PP1 adjust attachment access based only on user's capabilities for the parent post
273
+ if ( defined('SCOPER_VERSION') || ( defined( 'PP_ACTIVE' ) && ! defined( 'PPC_VERSION' ) ) )
274
  unset( $defined['type']['attachment'] );
275
 
276
  echo '<ul class="cme-listhoriz">';
282
  echo '<table class="cme-typecaps">';
283
 
284
  foreach( array_keys($defined) as $item_type ) {
285
+ if ( ( 'delete' == $cap_type ) && ( 'taxonomy' == $item_type ) ) {
286
+ if ( defined('SCOPER_VERSION') || defined('PP_ACTIVE') )
287
+ continue;
288
+
289
+ $any_term_deletion_caps = false;
290
+ foreach( array_keys($defined['taxonomy']) as $_tax ) {
291
+ if ( isset( $defined['taxonomy'][$_tax]->cap->delete_terms ) && ( 'manage_categories' != $defined['taxonomy'][$_tax]->cap->delete_terms ) && ! in_array( $_tax, $unfiltered['taxonomy'] ) ) {
292
+ $any_term_deletion_caps = true;
293
+ break;
294
+ }
295
+ }
296
+
297
+ if ( ! $any_term_deletion_caps )
298
+ continue;
299
+ }
300
 
301
  //if ( ! $cap_type ) {
302
 
313
  $prop = str_replace( '_terms', '', $prop );
314
  $tip = ( isset( $cap_tips[$prop] ) ) ? "title='{$cap_tips[$prop]}'" : '';
315
  $prop = str_replace( '_', '<br />', $prop );
316
+ $th_class = ( 'taxonomy' == $item_type ) ? ' class="term-cap"' : ' class="post-cap"';
317
+ echo "<th $tip{$th_class}>";
318
  echo ucwords($prop);
319
  echo '</th>';
320
  }
323
  if ( in_array( $key, $unfiltered[$item_type] ) )
324
  continue;
325
 
326
+ $row = "<tr class='cme_type_{$key}'>";
327
 
328
  if ( $cap_type ) {
329
  if ( empty($force_distinct_ui) && empty( $cap_properties[$cap_type][$item_type] ) )
330
  continue;
331
 
332
+ $row .= "<td><a class='cap_type' href='#toggle_type_caps'>" . $type_obj->labels->name . '</a>';
333
+ $row .= '<a href="#" class="neg-type-caps">&nbsp;x&nbsp;</a>';
334
+ $row .= '</td>';
335
 
336
  $display_row = ! empty($force_distinct_ui);
337
 
338
  foreach( $cap_properties[$cap_type][$item_type] as $prop ) {
339
+ $td_classes = array();
340
  $checkbox = '';
341
 
342
  if ( ! empty($type_obj->cap->$prop) && ( in_array( $type_obj->name, array( 'post', 'page' ) )
343
  || ! in_array( $type_obj->cap->$prop, $default_caps )
344
  || ( ( 'manage_categories' == $type_obj->cap->$prop ) && ( 'manage_terms' == $prop ) && ( 'category' == $type_obj->name ) ) ) ) {
345
+
346
  // if edit_published or edit_private cap is same as edit_posts cap, don't display a checkbox for it
347
  if ( ( ! in_array( $prop, array( 'edit_published_posts', 'edit_private_posts', 'create_posts' ) ) || ( $type_obj->cap->$prop != $type_obj->cap->edit_posts ) )
348
  && ( ! in_array( $prop, array( 'delete_published_posts', 'delete_private_posts' ) ) || ( $type_obj->cap->$prop != $type_obj->cap->delete_posts ) )
349
  ) {
350
  $cap_name = $type_obj->cap->$prop;
351
 
352
+ if ( 'taxonomy' == $item_type )
353
+ $td_classes []= "term-cap";
354
+ else
355
+ $td_classes []= "post-cap";
356
+
357
  if ( ! empty($pp_metagroup_caps[$cap_name]) )
358
+ $td_classes []='cm-has-via-pp';
359
 
360
  if ( $is_administrator || current_user_can($cap_name) ) {
361
  if ( ! empty($pp_metagroup_caps[$cap_name]) ) {
370
  $checkbox = '<input id=caps[' . $cap_name . '] type="checkbox" title="' . $title_text . '" name="caps[' . $cap_name . ']" value="1" ' . $checked . $disabled . ' />';
371
  $type_caps [$cap_name] = true;
372
  $display_row = true;
373
+ }
374
+ } else
375
+ $td_classes []= "cap-unreg";
376
+
377
+ if ( isset($rcaps[$cap_name]) && empty($rcaps[$cap_name]) )
378
+ $td_classes []= "cap-neg";
379
+ } else
380
+ $td_classes []= "cap-unreg";
381
+
382
+ $td_class = ( $td_classes ) ? 'class="' . implode(' ', $td_classes) . '"' : '';
383
+
384
+ $row .= "<td $td_class><span class='cap-x'>X</span>$checkbox";
385
+
386
+ if ( false !== strpos( $td_class, 'cap-neg' ) )
387
+ $row .= '<input type="hidden" class="cme-negation-input" name="caps[' . $cap_name . ']" value="" />';
388
+
389
+ $row .= "</td>";
390
  }
391
  }
392
 
413
  jQuery(document).ready( function($) {
414
  $('a[href="#toggle_type_caps"]').click( function() {
415
  var chks = $(this).closest('tr').find('input');
416
+ $(chks).prop( 'checked', ! $(chks).first().is(':checked') );
417
  return false;
418
  });
419
  });
429
  ksort( $core_caps );
430
 
431
  echo '<p>&nbsp;</p><h3>' . __( 'Other WordPress Core Capabilities', $this->ID ) . '</h3>';
432
+ echo '<table width="100%" class="form-table cme-checklist"><tr>';
433
 
434
 
435
  $checks_per_row = get_option( 'cme_form-rows', 5 );
436
+ $i = 0; $first_row = true;
437
 
438
  foreach( array_keys($core_caps) as $cap_name ) {
439
  if ( ! $is_administrator && ! current_user_can($cap_name) )
444
  $i = 0;
445
  }
446
 
447
+ if ( ! isset( $rcaps[$cap_name] ) )
448
+ $class = 'cap-no';
449
+ else
450
+ $class = ( $rcaps[$cap_name] ) ? 'cap-yes' : 'cap-neg';
451
+
452
  if ( ! empty($pp_metagroup_caps[$cap_name]) ) {
453
+ $class .= ' cap-metagroup';
454
  $title_text = sprintf( __( '%s: assigned by Permission Group', 'pp' ), $cap_name );
455
  } else {
456
  $title_text = $cap_name;
458
 
459
  $disabled = '';
460
  $checked = checked(1, ! empty($rcaps[$cap_name]), false );
 
 
 
461
  ?>
462
+ <td class="<?php echo $class; ?>"><span class="cap-x">X</span><label for="caps[<?php echo $cap_name; ?>]" title="<?php echo $title_text;?>"><input id=caps[<?php echo $cap_name; ?>] type="checkbox" name="caps[<?php echo $cap_name; ?>]" value="1" <?php echo $checked . $disabled;?> />
463
+ <span>
464
  <?php
465
  echo str_replace( '_', ' ', $cap_name );
466
+ ?>
467
+ </span></label><a href="#" class="neg-cap">&nbsp;x&nbsp;</a>
468
+ <?php if ( false !== strpos( $class, 'cap-neg' ) ) :?>
469
+ <input type="hidden" class="cme-negation-input" name="caps[<?php echo $cap_name; ?>]" value="" />
470
+ <?php endif; ?>
471
+ </td>
472
+
473
+ <?php
474
+ ++$i;
475
+ }
476
+
477
+ if ( $i == $checks_per_row ) {
478
+ echo '</tr><tr>';
479
+ $i = 0;
480
+ } elseif ( ! $first_row ) {
481
+ // Now close a wellformed table
482
+ for ( $i; $i < $checks_per_row; $i++ ){
483
+ echo '<td>&nbsp;</td>';
484
+ }
485
+ echo '</tr>';
486
  }
487
+ ?>
488
+
489
+ <tr class="cme-bulk-select">
490
+ <td colspan="<?php echo $checks_per_row;?>">
491
+ <span style="float:right">
492
+ <input type="checkbox" class="cme-check-all" title="<?php _e('check/uncheck all', 'capsman');?>">&nbsp;&nbsp;<a class="cme-neg-all" href="#" title="<?php _e('negate all (storing as disabled capabilities)', 'capsman');?>">X</a> <a class="cme-switch-all" href="#" title="<?php _e('negate none (add/remove all capabilities normally)', 'capsman');?>">X</a>
493
+ </span>
494
+ </td></tr>
495
 
496
+ </table>
497
 
498
+ <?php
499
  echo '<p>&nbsp;</p><h3>' . __( 'Additional Capabilities', $this->ID ) . '</h3>';
500
 
501
  ?>
502
+ <table width='100%' class="form-table cme-checklist">
503
  <tr>
504
  <?php
505
  $i = 0; $first_row = true;
522
  echo '</tr><tr>';
523
  $i = 0; $first_row = false;
524
  }
525
+
526
+ if ( ! isset( $rcaps[$cap_name] ) )
527
+ $class = 'cap-no';
528
+ else
529
+ $class = ( $rcaps[$cap_name] ) ? 'cap-yes' : 'cap-neg';
530
 
531
  if ( ! empty($pp_metagroup_caps[$cap_name]) ) {
532
+ $class .= ' cap-metagroup';
533
  $title_text = sprintf( __( '%s: assigned by Permission Group', 'pp' ), $cap_name );
534
  } else {
535
  $title_text = $cap_name;
542
  if ( ! current_user_can('administrator') ) {
543
  continue;
544
  } elseif ( 'administrator' == $default ) {
545
+ $class .= ' cap-locked';
546
  $lock_manage_caps_capability = true;
547
  $disabled = 'disabled="disabled"';
548
  }
549
  }
550
  ?>
551
+ <td class="<?php echo $class; ?>"><span class="cap-x">X</span><label for="caps[<?php echo $cap_name; ?>]" title="<?php echo $title_text;?>"><input id=caps[<?php echo $cap_name; ?>] type="checkbox" name="caps[<?php echo $cap_name; ?>]" value="1" <?php echo $checked . $disabled;?> />
552
+ <span>
553
+ <?php
554
+ echo str_replace( '_', ' ', $cap );
555
+ ?>
556
+ </span></label><a href="#" class="neg-cap">&nbsp;x&nbsp;</a>
557
+ <?php if ( false !== strpos( $class, 'cap-neg' ) ) :?>
558
+ <input type="hidden" class="cme-negation-input" name="caps[<?php echo $cap_name; ?>]" value="" />
559
+ <?php endif; ?>
560
+ </td>
561
  <?php
562
  $i++;
563
  endforeach;
569
  if ( $i == $checks_per_row ) {
570
  echo '</tr><tr>';
571
  $i = 0;
572
+ } else {
 
 
 
 
 
 
 
 
 
573
  if ( ! $first_row ) {
574
  // Now close a wellformed table
575
  for ( $i; $i < $checks_per_row; $i++ ){
576
  echo '<td>&nbsp;</td>';
577
  }
578
+ echo '</tr>';
579
  }
580
+ }
581
+ ?>
582
+
583
+ <tr class="cme-bulk-select">
584
+ <td colspan="<?php echo $checks_per_row;?>">
585
+ <span>
586
+ <?php
587
+ $level = ak_caps2level($rcaps);
588
+ ?>
589
+ <?php _e('Level:', $this->ID) ;?><select name="level">
590
+ <?php for ( $l = $this->max_level; $l >= 0; $l-- ) {?>
591
+ <option value="<?php echo $l; ?>" style="text-align:right;"<?php selected($level, $l); ?>>&nbsp;<?php echo $l; ?>&nbsp;</option>
592
+ <?php }
593
  ?>
594
  </select>
595
+ </span>
596
+
597
+ <span style="float:right">
598
+ <input type="checkbox" class="cme-check-all" title="<?php _e('check/uncheck all', 'capsman');?>">&nbsp;&nbsp;<a class="cme-neg-all" href="#" title="<?php _e('negate all (storing as disabled capabilities)', 'capsman');?>">X</a> <a class="cme-switch-all" href="#" title="<?php _e('negate none (add/remove all capabilities normally)', 'capsman');?>">X</a>
599
+ </span>
600
+ </td></tr>
601
+
602
  </table>
603
 
604
  <br />
614
 
615
  <?php
616
  $support_pp_only_roles = ( defined('PP_ACTIVE') ) ? $pp_ui->pp_only_roles_ui( $default ) : false;
617
+ cme_network_role_ui( $default );
618
  ?>
619
 
620
  <p class="submit">
629
 
630
  <br />
631
  <?php agp_admin_footer(); ?>
632
+ <br />
633
 
634
  </td>
635
  <td class="sidebar">
655
  <p><input type="text" name="create-name"" class="<?php echo $class;?>" placeholder="<?php _e('Name of new role', $this->ID) ?>" />
656
 
657
  <?php if( $support_pp_only_roles ) : ?>
658
+ <label for="new_role_pp_only" title="<?php _e('Make role available for supplemental assignment to Permission Groups only', 'pp');?>"> <input type="checkbox" name="new_role_pp_only" id="new_role_pp_only" value="1"> <?php _e('hidden', 'pp'); ?> </label>
659
  <?php endif; ?>
660
 
661
  <br />
671
  <p><input type="text" name="copy-name" class="<?php echo $class;?>" placeholder="<?php _e('Name of copied role', $this->ID) ?>" />
672
 
673
  <?php if( $support_pp_only_roles ) : ?>
674
+ <label for="copy_role_pp_only" title="<?php _e('Make role available for supplemental assignment to Permission Groups only', 'pp');?>"> <input type="checkbox" name="copy_role_pp_only" id="copy_role_pp_only" value="1"> <?php _e('hidden', 'pp'); ?> </label>
675
  <?php endif; ?>
676
 
677
  <br />
697
  </fieldset>
698
  </form>
699
  </div>
700
+
701
+ <?php
702
+ function cme_network_role_ui( $default ) {
703
+ if ( ! is_multisite() || ! is_super_admin() || ( 1 != get_current_blog_id() ) )
704
+ return false;
705
+ ?>
706
+
707
+ <div style="float:right;margin:left:10px;margin-right:10px">
708
+ <?php
709
+ if ( ! $autocreate_roles = get_site_option( 'cme_autocreate_roles' ) )
710
+ $autocreate_roles = array();
711
+
712
+ $checked = ( in_array( $default, $autocreate_roles ) ) ? 'checked="checked"': '';
713
+ ?>
714
+ <div style="margin-bottom: 5px">
715
+ <label for="cme_autocreate_role" title="<?php _e('Create this role definition in new (future) sites', 'capsman');?>"><input type="checkbox" name="cme_autocreate_role" id="cme_autocreate_role" value="1" <?php echo $checked;?>> <?php _e('include in new sites', 'capsman'); ?> </label>
716
+ </div>
717
+ <div>
718
+ <label for="cme_net_sync_role" title="<?php echo esc_attr(__('Copy / update this role definition to all sites now', 'capsman'));?>"><input type="checkbox" name="cme_net_sync_role" id="cme_net_sync_role" value="1"> <?php _e('sync role to all sites now', 'capsman'); ?> </label>
719
+ </div>
720
+ </div>
721
+ <?php
722
+ return true;
723
+ }
724
+
725
+ function cme_plugin_info_url( $plugin_slug ) {
726
+ return self_admin_url( "plugin-install.php?tab=plugin-information&plugin=$plugin_slug&TB_iframe=true&width=640&height=678" );
727
+ }
728
+ ?>
includes/backup-handler.php CHANGED
@@ -5,6 +5,9 @@ class Capsman_BackupHandler
5
  var $cm;
6
 
7
  function __construct( $manager_obj ) {
 
 
 
8
  $this->cm = $manager_obj;
9
  }
10
 
@@ -57,7 +60,8 @@ class Capsman_BackupHandler
57
  return;
58
  }
59
 
60
- $roles = array_keys($this->cm->roles);
 
61
  foreach ( $roles as $role) {
62
  remove_role($role);
63
  }
5
  var $cm;
6
 
7
  function __construct( $manager_obj ) {
8
+ if ( ! is_super_admin() && ! current_user_can( 'restore_roles' ) )
9
+ wp_die( __( 'You do not have permission to restore roles.', 'capsman' ) );
10
+
11
  $this->cm = $manager_obj;
12
  }
13
 
60
  return;
61
  }
62
 
63
+ $roles = array_keys( ak_get_roles(true) );
64
+
65
  foreach ( $roles as $role) {
66
  remove_role($role);
67
  }
includes/backup.php CHANGED
@@ -57,11 +57,13 @@
57
  </dl>
58
 
59
  <dl>
60
- <dt><?php _e('Reset WordPress Defaults', $this->ID)?></dt>
61
  <dd>
62
- <p style="text-align:center;"><strong><span style="color:red;"><?php _e('WARNING:', $this->ID); ?></span> <?php _e('Reseting default Roles and Capabilities will set them to the WordPress install defaults.', $this->ID); ?></strong><br />
63
- <?php _e('If you have installed any plugin that adds new roles or capabilities, these will be lost.', $this->ID)?><br />
64
- <strong><?php _e('It is recommended to use this only as a last resource!')?></strong></p>
 
 
65
  <p style="text-align:center;"><a class="ak-delete" title="<?php echo esc_attr(__('Reset Roles and Capabilities to WordPress defaults', $this->ID)) ?>" href="<?php echo wp_nonce_url("tools.php?page={$this->ID}-tool&amp;action=reset-defaults", 'capsman-reset-defaults'); ?>" onclick="if ( confirm('<?php echo esc_js(__("You are about to reset Roles and Capabilities to WordPress defaults.\n 'Cancel' to stop, 'OK' to reset.", $this->ID)); ?>') ) { return true;}return false;"><?php _e('Reset to WordPress defaults', $this->ID)?></a>
66
 
67
  </dd>
57
  </dl>
58
 
59
  <dl>
60
+ <dt><?php if ( defined('WPLANG') && WPLANG && ( 'en_EN' != WPLANG ) ) _e('Reset WordPress Defaults', $this->ID); else echo 'Reset Roles to WordPress Defaults';?></dt>
61
  <dd>
62
+ <p style="text-align:center;"><strong><span style="color:red;"><?php _e('WARNING:', $this->ID); ?></span> <?php if ( defined('WPLANG') && WPLANG && ( 'en_EN' != WPLANG ) ) _e('Reseting default Roles and Capabilities will set them to the WordPress install defaults.', $this->ID); else echo 'This will delete and/or modify stored role definitions.'; ?></strong><br />
63
+ <br />
64
+ <?php
65
+ _e('If you have installed any plugin that adds new roles or capabilities, these will be lost.', $this->ID)?><br />
66
+ <strong><?php if ( defined('WPLANG') && WPLANG && ( 'en_EN' != WPLANG ) ) _e('It is recommended to use this only as a last resource!'); else echo('It is recommended to use this only as a last resort!');?></strong></p>
67
  <p style="text-align:center;"><a class="ak-delete" title="<?php echo esc_attr(__('Reset Roles and Capabilities to WordPress defaults', $this->ID)) ?>" href="<?php echo wp_nonce_url("tools.php?page={$this->ID}-tool&amp;action=reset-defaults", 'capsman-reset-defaults'); ?>" onclick="if ( confirm('<?php echo esc_js(__("You are about to reset Roles and Capabilities to WordPress defaults.\n 'Cancel' to stop, 'OK' to reset.", $this->ID)); ?>') ) { return true;}return false;"><?php _e('Reset to WordPress defaults', $this->ID)?></a>
68
 
69
  </dd>
includes/handler.php CHANGED
@@ -52,7 +52,7 @@ class CapsmanHandler
52
  if ( ! $customized_roles = get_option( 'pp_customized_roles' ) )
53
  $customized_roles = array();
54
 
55
- $customized_roles[$post['role']] = (object) array( 'caps' => array_map( 'intval', $post['caps'] ), 'plugins' => $plugins );
56
  update_option( 'pp_customized_roles', $customized_roles );
57
 
58
  global $wpdb;
@@ -104,6 +104,7 @@ class CapsmanHandler
104
  $pp_only = (array) pp_get_option( 'supplemental_role_defs' );
105
  $pp_only[]= $newrole;
106
  pp_update_option( 'supplemental_role_defs', $pp_only );
 
107
  pp_refresh_options();
108
  }
109
  }
@@ -185,13 +186,21 @@ class CapsmanHandler
185
  $stored_role_caps = ( ! empty($role->capabilities) && is_array($role->capabilities) ) ? array_intersect( $role->capabilities, array(true, 1) ) : array();
186
 
187
  $old_caps = array_intersect_key( $stored_role_caps, $this->cm->capabilities);
188
- $new_caps = ( is_array($caps) ) ? array_map('intval', $caps) : array();
189
  $new_caps = array_merge($new_caps, ak_level2caps($level));
190
 
191
  // Find caps to add and remove
192
  $add_caps = array_diff_key($new_caps, $old_caps);
193
  $del_caps = array_diff_key($old_caps, $new_caps);
194
 
 
 
 
 
 
 
 
 
195
  if ( ! $is_administrator = current_user_can('administrator') ) {
196
  unset($add_caps['manage_capabilities']);
197
  unset($del_caps['manage_capabilities']);
@@ -204,7 +213,7 @@ class CapsmanHandler
204
  // Add new capabilities to role
205
  foreach ( $add_caps as $cap => $grant ) {
206
  if ( $is_administrator || current_user_can($cap) )
207
- $role->add_cap($cap);
208
  }
209
 
210
  // Remove capabilities from role
@@ -212,6 +221,74 @@ class CapsmanHandler
212
  if ( $is_administrator || current_user_can($cap) )
213
  $role->remove_cap($cap);
214
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  }
216
 
217
 
@@ -266,4 +343,9 @@ class CapsmanHandler
266
  }
267
  }
268
 
 
 
 
 
 
269
  ?>
52
  if ( ! $customized_roles = get_option( 'pp_customized_roles' ) )
53
  $customized_roles = array();
54
 
55
+ $customized_roles[$post['role']] = (object) array( 'caps' => array_map( 'boolval', $post['caps'] ), 'plugins' => $plugins );
56
  update_option( 'pp_customized_roles', $customized_roles );
57
 
58
  global $wpdb;
104
  $pp_only = (array) pp_get_option( 'supplemental_role_defs' );
105
  $pp_only[]= $newrole;
106
  pp_update_option( 'supplemental_role_defs', $pp_only );
107
+ _cme_pp_default_pattern_role( $newrole );
108
  pp_refresh_options();
109
  }
110
  }
186
  $stored_role_caps = ( ! empty($role->capabilities) && is_array($role->capabilities) ) ? array_intersect( $role->capabilities, array(true, 1) ) : array();
187
 
188
  $old_caps = array_intersect_key( $stored_role_caps, $this->cm->capabilities);
189
+ $new_caps = ( is_array($caps) ) ? array_map('boolval', $caps) : array();
190
  $new_caps = array_merge($new_caps, ak_level2caps($level));
191
 
192
  // Find caps to add and remove
193
  $add_caps = array_diff_key($new_caps, $old_caps);
194
  $del_caps = array_diff_key($old_caps, $new_caps);
195
 
196
+ $changed_caps = array();
197
+ foreach( array_intersect_key( $new_caps, $old_caps ) as $cap_name => $cap_val ) {
198
+ if ( $new_caps[$cap_name] != $old_caps[$cap_name] )
199
+ $changed_caps[$cap_name] = $cap_val;
200
+ }
201
+
202
+ $add_caps = array_merge( $add_caps, $changed_caps );
203
+
204
  if ( ! $is_administrator = current_user_can('administrator') ) {
205
  unset($add_caps['manage_capabilities']);
206
  unset($del_caps['manage_capabilities']);
213
  // Add new capabilities to role
214
  foreach ( $add_caps as $cap => $grant ) {
215
  if ( $is_administrator || current_user_can($cap) )
216
+ $role->add_cap( $cap, $grant );
217
  }
218
 
219
  // Remove capabilities from role
221
  if ( $is_administrator || current_user_can($cap) )
222
  $role->remove_cap($cap);
223
  }
224
+
225
+ if ( is_multisite() && is_super_admin() && ( 1 == get_current_blog_id() ) ) {
226
+ if ( ! $autocreate_roles = get_site_option( 'cme_autocreate_roles' ) )
227
+ $autocreate_roles = array();
228
+
229
+ $this_role_autocreate = ! empty($_REQUEST['cme_autocreate_role']);
230
+
231
+ if ( $this_role_autocreate && ! in_array( $role_name, $autocreate_roles ) ) {
232
+ $autocreate_roles []= $role_name;
233
+ update_site_option( 'cme_autocreate_roles', $autocreate_roles );
234
+ }
235
+
236
+ if ( ! $this_role_autocreate && in_array( $role_name, $autocreate_roles ) ) {
237
+ $autocreate_roles = array_diff( $autocreate_roles, array( $role_name ) );
238
+ update_site_option( 'cme_autocreate_roles', $autocreate_roles );
239
+ }
240
+
241
+ if ( ! empty($_REQUEST['cme_net_sync_role']) ) {
242
+ // loop through all sites on network, creating or updating role def
243
+
244
+ global $wpdb, $wp_roles, $blog_id;
245
+ $blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs ORDER BY blog_id" );
246
+ $orig_blog_id = $blog_id;
247
+
248
+ $role_caption = $wp_roles->role_names[$role_name];
249
+
250
+ $new_caps = ( is_array($caps) ) ? array_map('boolval', $caps) : array();
251
+ $new_caps = array_merge($new_caps, ak_level2caps($level) );
252
+
253
+ $admin_role = $wp_roles->get_role('administrator');
254
+ $main_admin_caps = array_merge( $admin_role->capabilities, ak_level2caps(10) );
255
+
256
+ foreach ( $blog_ids as $id ) {
257
+ if ( 1 == $id )
258
+ continue;
259
+
260
+ switch_to_blog( $id );
261
+ $wp_roles->reinit();
262
+
263
+ if ( $blog_role = $wp_roles->get_role( $role_name ) ) {
264
+ $stored_role_caps = ( ! empty($blog_role->capabilities) && is_array($blog_role->capabilities) ) ? array_intersect( $blog_role->capabilities, array(true, 1) ) : array();
265
+
266
+ $old_caps = array_intersect_key( $stored_role_caps, $this->cm->capabilities);
267
+
268
+ // Find caps to add and remove
269
+ $add_caps = array_diff_key($new_caps, $old_caps);
270
+ $del_caps = array_intersect_key( array_diff_key($old_caps, $new_caps), $main_admin_caps ); // don't mess with caps that are totally unused on main site
271
+
272
+ // Add new capabilities to role
273
+ foreach ( $add_caps as $cap => $grant ) {
274
+ $blog_role->add_cap( $cap, $grant );
275
+ }
276
+
277
+ // Remove capabilities from role
278
+ foreach ( $del_caps as $cap => $grant) {
279
+ $blog_role->remove_cap($cap);
280
+ }
281
+
282
+ } else {
283
+ $wp_roles->add_role( $role_name, $role_caption, $new_caps );
284
+ }
285
+
286
+ restore_current_blog();
287
+ }
288
+
289
+ $wp_roles->reinit();
290
+ }
291
+ } // endif multisite installation with super admin editing a main site role
292
  }
293
 
294
 
343
  }
344
  }
345
 
346
+ if ( ! function_exists('boolval') ) {
347
+ function boolval( $val ) {
348
+ return (bool) $val;
349
+ }
350
+ }
351
  ?>
includes/manager.php CHANGED
@@ -177,7 +177,8 @@ class CapabilityManager extends akPluginAbstract
177
  add_users_page( __('Capability Manager', $this->ID), __('Capabilities', $this->ID), 'manage_capabilities', $this->ID, array($this, 'generalManager'));
178
  }
179
 
180
- add_management_page(__('Capability Manager', $this->ID), __('Capability Manager', $this->ID), 'manage_capabilities', $this->ID . '-tool', array($this, 'backupTool'));
 
181
  }
182
 
183
  public function pp_menu() {
@@ -191,7 +192,7 @@ class CapabilityManager extends akPluginAbstract
191
  *
192
  * @return void
193
  */
194
- private function setAdminCapability ()
195
  {
196
  $admin = get_role('administrator');
197
  $admin->add_cap('manage_capabilities');
@@ -432,7 +433,7 @@ class CapabilityManager extends akPluginAbstract
432
  */
433
  function backupTool ()
434
  {
435
- if ( ! current_user_can('manage_capabilities') && ! current_user_can('administrator') ) {
436
  // TODO: Implement exceptions.
437
  wp_die('<strong>' .__('What do you think you\'re doing?!?', $this->ID) . '</strong>');
438
  }
177
  add_users_page( __('Capability Manager', $this->ID), __('Capabilities', $this->ID), 'manage_capabilities', $this->ID, array($this, 'generalManager'));
178
  }
179
 
180
+ $cap_name = ( is_super_admin() ) ? 'manage_capabilities' : 'restore_roles';
181
+ add_management_page(__('Capability Manager', $this->ID), __('Capability Manager', $this->ID), $cap_name, $this->ID . '-tool', array($this, 'backupTool'));
182
  }
183
 
184
  public function pp_menu() {
192
  *
193
  * @return void
194
  */
195
+ public function setAdminCapability ()
196
  {
197
  $admin = get_role('administrator');
198
  $admin->add_cap('manage_capabilities');
433
  */
434
  function backupTool ()
435
  {
436
+ if ( ! current_user_can('restore_roles') && ! is_super_admin() ) {
437
  // TODO: Implement exceptions.
438
  wp_die('<strong>' .__('What do you think you\'re doing?!?', $this->ID) . '</strong>');
439
  }
includes/modify.php CHANGED
@@ -101,6 +101,7 @@ class CapsmanHandler
101
  $pp_only = (array) pp_get_option( 'supplemental_role_defs' );
102
  $pp_only[]= $newrole;
103
  pp_update_option( 'supplemental_role_defs', $pp_only );
 
104
  pp_refresh_options();
105
  }
106
  }
101
  $pp_only = (array) pp_get_option( 'supplemental_role_defs' );
102
  $pp_only[]= $newrole;
103
  pp_update_option( 'supplemental_role_defs', $pp_only );
104
+ _cme_pp_default_pattern_role( $newrole );
105
  pp_refresh_options();
106
  }
107
  }
includes/network.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ add_action( 'wpmu_new_blog', '_cme_new_blog' );
3
+ function _cme_new_blog( $new_blog_id ) {
4
+ if ( $autocreate_roles = get_site_option( 'cme_autocreate_roles' ) ) {
5
+ global $wp_roles, $blog_id;
6
+
7
+ $restore_blog_id = $blog_id;
8
+
9
+ switch_to_blog( 1 );
10
+ $wp_roles->reinit();
11
+
12
+ $main_site_caps = array();
13
+ $role_captions = array();
14
+
15
+ $admin_role = $wp_roles->get_role('administrator');
16
+ $main_admin_caps = $admin_role->capabilities;
17
+
18
+ if ( defined('PP_ACTIVE') )
19
+ $main_pp_only = (array) pp_get_option( 'supplemental_role_defs' );
20
+ //$pp_only[]= $newrole;
21
+
22
+ foreach( $autocreate_roles as $role_name ) {
23
+ if ( $role = get_role( $role_name ) ) {
24
+ $main_site_caps[$role_name] = $role->capabilities;
25
+ $role_captions[$role_name] = $wp_roles->role_names[$role_name];
26
+ }
27
+ }
28
+
29
+ switch_to_blog($new_blog_id);
30
+ $wp_roles->reinit();
31
+
32
+ if ( defined('PP_ACTIVE') ) {
33
+ pp_refresh_options();
34
+ $blog_pp_only = (array) pp_get_option( 'supplemental_role_defs' );
35
+ }
36
+
37
+ foreach( $main_site_caps as $role_name => $caps ) {
38
+ if ( $blog_role = $wp_roles->get_role( $role_name ) ) {
39
+ $stored_role_caps = ( ! empty($blog_role->capabilities) && is_array($blog_role->capabilities) ) ? array_intersect( $blog_role->capabilities, array(true, 1) ) : array();
40
+
41
+ // Find caps to add and remove
42
+ $add_caps = array_diff_key($caps, $stored_role_caps);
43
+ $del_caps = array_intersect_key( array_diff_key($stored_role_caps, $caps), $main_admin_caps ); // don't mess with caps that are totally unused on main site
44
+
45
+ // Add new capabilities to role
46
+ foreach ( $add_caps as $cap => $grant )
47
+ $blog_role->add_cap($cap);
48
+
49
+ // Remove capabilities from role
50
+ foreach ( $del_caps as $cap => $grant)
51
+ $blog_role->remove_cap($cap);
52
+ } else {
53
+ $wp_roles->add_role( $role_name, $role_captions[$role_name], $caps );
54
+ }
55
+
56
+ if ( in_array( $role_name, $main_pp_only ) ) {
57
+ _cme_pp_default_pattern_role( $role_name );
58
+ $blog_pp_only []= $role_name;
59
+ } else
60
+ array_diff( $blog_pp_only, array( $role_name ) );
61
+ }
62
+
63
+ if ( defined('PP_ACTIVE') )
64
+ pp_update_option( 'supplemental_role_defs', $blog_pp_only );
65
+
66
+ switch_to_blog($restore_blog_id);
67
+ $wp_roles->reinit();
68
+
69
+ if ( defined('PP_ACTIVE') )
70
+ pp_refresh_options();
71
+ }
72
+ }
73
+
74
+ ?>
includes/pp-handler.php CHANGED
@@ -51,6 +51,7 @@ function _cme_update_pp_usage() {
51
  $pp_only[]= $_REQUEST['role'];
52
 
53
  pp_update_option( 'supplemental_role_defs', array_unique($pp_only) );
 
54
  }
55
  }
56
 
51
  $pp_only[]= $_REQUEST['role'];
52
 
53
  pp_update_option( 'supplemental_role_defs', array_unique($pp_only) );
54
+ _cme_pp_default_pattern_role( $_REQUEST['role'] );
55
  }
56
  }
57
 
includes/pp-ui.php CHANGED
@@ -50,18 +50,23 @@ class Capsman_PP_UI {
50
  printf( __( '"Posts" capabilities selected here also define type-specific role assignment for Permission Groups%s.', $cme_id ), $parenthetical ) ;
51
  else
52
  printf( __( '"Posts" capabilities selected here also define type-specific role assignment for Permit Groups%s.', $cme_id ), $parenthetical ) ;
53
- echo '</li><li>';
54
  }
55
 
 
56
  if ( defined( 'PPC_VERSION' ) )
57
  if ( defined( 'PPS_VERSION' ) )
58
- printf( __( 'Capabilities for custom statuses can be manually added to a role here (see Post Statuses > Status > Capability Mapping for applicable names). However, it is usually more convenient to use Permission Groups to assign a supplemental status-specific role.', $cme_id ), "<a href='" . admin_url('?page=pp-role-usage') . "'>", '</a>' ) ;
59
- else
60
- printf( __( 'Capabilities for custom statuses can be manually added to a role here (see Post Statuses > Status > Capability Mapping for applicable names). However, by activating the PP Custom Post Statuses extension, you can assign a supplemental status-specific role easily using Permission Groups.', $cme_id ), "<a href='" . admin_url('?page=pp-role-usage') . "'>", '</a>' ) ;
 
61
  elseif ( defined( 'PP_VERSION' ) )
62
- printf( __( 'Capabilities for custom statuses can be manually added to a role here (see Conditions > Status > Capability Mapping for applicable names). However, it is usually more convenient to use Permit Groups to assign a supplemental status-specific role.', $cme_id ), "<a href='" . admin_url('?page=pp-role-usage') . "'>", '</a>' ) ;
63
 
64
- echo '</li></ul>';
 
 
 
65
  }
66
  }
67
 
@@ -69,14 +74,14 @@ class Capsman_PP_UI {
69
  $support_pp_only_roles = defined('PPC_VERSION') || version_compare( PP_VERSION, '1.0-beta1.4', '>=');
70
  ?>
71
 
72
- <?php if ( $support_pp_only_roles && ! in_array( $default, array( 'subscriber', 'contributor', 'author', 'editor', 'administrator' ) ) ) : ?>
73
  <div style="float:right">
74
  <?php
75
  pp_refresh_options();
76
  $pp_only = (array) pp_get_option( 'supplemental_role_defs' );
77
  $checked = ( in_array( $default, $pp_only ) ) ? 'checked="checked"': '';
78
  ?>
79
- <label for="pp_only_role" title="<?php _e('Make role available for supplemental assignment to Permit Groups only', 'pp');?>"><input type="checkbox" name="pp_only_role" id="pp_only_role" value="1" <?php echo $checked;?>> <?php _e('supplemental assignment only', 'pp'); ?> </label>
80
  </div>
81
  <?php endif; ?>
82
  <?php
@@ -90,10 +95,18 @@ class Capsman_PP_UI {
90
  <dd style="text-align:center;">
91
  <?php
92
  $caption = __( 'Force unique capability names for:', 'capsman' );
93
- echo "<p>$caption</p><table style='width:100%'><tr>";
 
 
 
 
 
 
 
 
94
 
95
- $unfiltered['type'] = apply_filters( 'pp_unfiltered_post_types', array() );
96
- $unfiltered['taxonomy'] = apply_filters( 'pp_unfiltered_taxonomies', array( 'post_status' ) ); // avoid confusion with Edit Flow administrative taxonomy
97
  $hidden['type'] = apply_filters( 'pp_hidden_post_types', array() );
98
  $hidden['taxonomy'] = apply_filters( 'pp_hidden_taxonomies', array() );
99
 
@@ -133,7 +146,8 @@ class Capsman_PP_UI {
133
  echo '</td>';
134
  }
135
  ?>
136
- </tr></table>
 
137
 
138
  <?php if( pp_wp_ver( '3.5' ) ) :
139
  $define_create_posts_cap = pp_get_option( 'define_create_posts_cap' );
@@ -145,14 +159,6 @@ class Capsman_PP_UI {
145
  </div>
146
  <?php endif; ?>
147
 
148
- <div class="cme-subtext">
149
- <?php
150
- if ( pp_get_option( 'display_hints' ) ) {
151
- _e( '(PP Filtered Post Types, Taxonomies)', 'capsman' );
152
- }
153
- ?>
154
- </div>
155
-
156
  <input type="submit" name="update_filtered_types" value="<?php _e('Update', 'capsman') ?>" class="button" />
157
  </dd>
158
  </dl>
50
  printf( __( '"Posts" capabilities selected here also define type-specific role assignment for Permission Groups%s.', $cme_id ), $parenthetical ) ;
51
  else
52
  printf( __( '"Posts" capabilities selected here also define type-specific role assignment for Permit Groups%s.', $cme_id ), $parenthetical ) ;
53
+ echo '</li>';
54
  }
55
 
56
+ $status_hint = '';
57
  if ( defined( 'PPC_VERSION' ) )
58
  if ( defined( 'PPS_VERSION' ) )
59
+ $status_hint = sprintf( __( 'Capabilities for custom statuses can be manually added here (see Post Statuses > Status > Capability Mapping for applicable names). However, it is usually more convenient to use Permission Groups to assign a supplemental status-specific role.', $cme_id ), "<a href='" . admin_url('?page=pp-role-usage') . "'>", '</a>' ) ;
60
+ elseif ( pp_get_option( 'display_extension_hints' ) )
61
+ $status_hint = sprintf( __( 'Capabilities for custom statuses can be manually added here. Or activate the PP Custom Post Statuses extension to assign status-specific supplemental roles.', $cme_id ), "<a href='" . admin_url('?page=pp-role-usage') . "'>", '</a>' ) ;
62
+
63
  elseif ( defined( 'PP_VERSION' ) )
64
+ $status_hint = sprintf( __( 'Capabilities for custom statuses can be manually added to a role here (see Conditions > Status > Capability Mapping for applicable names). However, it is usually more convenient to use Permit Groups to assign a supplemental status-specific role.', $cme_id ), "<a href='" . admin_url('?page=pp-role-usage') . "'>", '</a>' ) ;
65
 
66
+ if ( $status_hint )
67
+ echo "<li>$status_hint</li>";
68
+
69
+ echo '</ul>';
70
  }
71
  }
72
 
74
  $support_pp_only_roles = defined('PPC_VERSION') || version_compare( PP_VERSION, '1.0-beta1.4', '>=');
75
  ?>
76
 
77
+ <?php if ( $support_pp_only_roles && ! in_array( $default, array( /*'subscriber', 'contributor', 'author', 'editor',*/ 'administrator' ) ) ) : ?>
78
  <div style="float:right">
79
  <?php
80
  pp_refresh_options();
81
  $pp_only = (array) pp_get_option( 'supplemental_role_defs' );
82
  $checked = ( in_array( $default, $pp_only ) ) ? 'checked="checked"': '';
83
  ?>
84
+ <label for="pp_only_role" title="<?php _e('Make role available for supplemental assignment to Permission Groups only', 'pp');?>"><input type="checkbox" name="pp_only_role" id="pp_only_role" value="1" <?php echo $checked;?>> <?php _e('hidden role', 'pp'); ?> </label>
85
  </div>
86
  <?php endif; ?>
87
  <?php
95
  <dd style="text-align:center;">
96
  <?php
97
  $caption = __( 'Force unique capability names for:', 'capsman' );
98
+ echo "<p>$caption</p>";
99
+
100
+ if ( pp_get_option( 'display_hints' ) ) :?>
101
+ <div class="cme-subtext" style="margin-top:0">
102
+ <?php _e( '(PP Filtered Post Types, Taxonomies)', 'capsman' );?>
103
+ </div>
104
+ <?php endif;
105
+
106
+ echo "<table style='width:100%'><tr>";
107
 
108
+ $unfiltered['type'] = apply_filters( 'pp_unfiltered_post_types', array('forum','topic','reply') ); // bbPress' dynamic role def requires additional code to enforce stored caps
109
+ $unfiltered['taxonomy'] = apply_filters( 'pp_unfiltered_taxonomies', array( 'post_status', 'topic-tag' ) ); // avoid confusion with Edit Flow administrative taxonomy
110
  $hidden['type'] = apply_filters( 'pp_hidden_post_types', array() );
111
  $hidden['taxonomy'] = apply_filters( 'pp_hidden_taxonomies', array() );
112
 
146
  echo '</td>';
147
  }
148
  ?>
149
+ </tr>
150
+ </table>
151
 
152
  <?php if( pp_wp_ver( '3.5' ) ) :
153
  $define_create_posts_cap = pp_get_option( 'define_create_posts_cap' );
159
  </div>
160
  <?php endif; ?>
161
 
 
 
 
 
 
 
 
 
162
  <input type="submit" name="update_filtered_types" value="<?php _e('Update', 'capsman') ?>" class="button" />
163
  </dd>
164
  </dl>
lang/capsman.mo CHANGED
Binary file
lang/capsman.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Capability Manager Enhanced\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2013-02-23 19:51-0500\n"
6
- "PO-Revision-Date: 2013-02-23 19:51-0500\n"
7
  "Last-Translator: Kevin Behrens <kevin@agapetry.net>\n"
8
  "Language-Team: Agapetry Creations LLC <kevin@agapetry.net>\n"
9
  "MIME-Version: 1.0\n"
@@ -21,559 +21,579 @@ msgstr ""
21
  msgid "<strong>Error:</strong> Capability Manager Extended cannot function because another copy of Capability Manager is active."
22
  msgstr ""
23
 
24
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:57
25
  msgid "Warning:"
26
  msgstr ""
27
 
28
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:58
29
  #, php-format
30
  msgid "The active plugin %s is not compatible with your PHP version."
31
  msgstr ""
32
 
33
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:60
34
  #, php-format
35
  msgid "%s is required for this plugin."
36
  msgstr ""
37
 
38
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:97
39
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:247
40
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:255
41
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:247
42
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:255
43
  msgid "Capabilities"
44
  msgstr ""
45
 
46
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:98
47
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:101
48
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:106
49
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:247
50
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:250
51
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:256
52
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:247
53
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:250
54
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:256
55
  msgid "Capability Manager"
56
  msgstr ""
57
 
58
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:106
59
  msgid "Role Capabilities"
60
  msgstr ""
61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/formating.php:40
63
  msgid "Settings saved."
64
  msgstr ""
65
 
66
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes.php:49
67
  msgid "Plugin Homepage"
68
  msgstr ""
69
 
70
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes.php:50
71
  msgid "Documentation"
72
  msgstr ""
73
 
74
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes.php:51
75
  msgid "Support Forum"
76
  msgstr ""
77
 
78
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes.php:52
79
  msgid "Author Homepage"
80
  msgstr ""
81
 
82
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes.php:53
83
  msgid "Help donating"
84
  msgstr ""
85
 
86
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes.php:73
87
  #, php-format
88
  msgid "Capability Manager Enhanced %s"
89
  msgstr ""
90
 
91
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes.php:74
92
  msgid "Copyright 2010 Jordi Canals"
93
  msgstr ""
94
 
95
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes.php:77
96
  #, php-format
97
  msgid "Modifications &copy; Copyright %1$s %2$s"
98
  msgstr ""
99
 
100
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:69
101
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:69
102
  msgid "Roles and Capabilities"
103
  msgstr ""
104
 
105
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:78
106
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:78
107
  #, php-format
108
  msgid "Capabilities for %s"
109
  msgstr ""
110
 
111
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:84
112
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:84
113
- msgid "Use this form to view and modify the capabilities WordPress natively associates with each role. Note:"
114
  msgstr ""
115
 
116
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:89
117
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:89
118
- #, php-format
119
- msgid "see %1$sRole Usage%2$s: \"Pattern Roles\""
120
  msgstr ""
121
 
122
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:91
123
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:91
124
- #, php-format
125
- msgid "activate %1$sAdvanced settings%2$s, see Role Usage"
126
  msgstr ""
127
 
128
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:93
129
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:93
130
- #, php-format
131
- msgid "\"Posts\" capabilities selected here also define type-specific role assignment for Permit Groups (%s)."
132
  msgstr ""
133
 
134
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:95
135
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:95
136
- msgid "Capabilities for custom statuses can be manually added to a role here (see Conditions > Capability Mapping for applicable names). However, it is usually more convenient to use Permit Groups to assign a supplemental status-specific role."
137
  msgstr ""
138
 
139
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:100
140
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:100
141
- msgid "Interested in further customizing editing or viewing access? Consider stepping up to <a href='#pp-more'>Press Permit</a>."
142
  msgstr ""
143
 
144
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:120
145
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:120
146
- msgid "Automatically define type-specific capabilities for your custom post types and taxonomies"
147
  msgstr ""
148
 
149
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:123
150
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:123
151
- msgid "Supplemental per-type, per-category or per-page role assignments"
152
  msgstr ""
153
 
154
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:126
155
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:126
156
- msgid "Custom Visibility statuses (require read_member_posts, read_premium_posts, etc.)"
157
  msgstr ""
158
 
159
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:129
160
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:129
161
- msgid "Custom Editability \"statuses\" - set alongside Visibility in Post and Category edit forms"
162
  msgstr ""
163
 
164
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:132
165
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:132
166
- msgid "Custom Moderation statuses, enabling access-limited three tier moderation (Pending / Approved / Published)"
167
  msgstr ""
168
 
169
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:135
170
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:135
171
- msgid "Grant Participant or Moderator access to specific bbPress forums or topics"
172
  msgstr ""
173
 
174
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:138
175
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:138
176
- msgid "Grant supplemental page or category access to all members of a BuddyPress group"
177
  msgstr ""
178
 
179
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:141
180
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:141
181
- msgid "WPML integration to mirror permissions to translations"
 
 
 
 
 
 
 
 
182
  msgstr ""
183
 
184
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:144
185
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:144
186
- msgid "Professional support available"
 
 
 
 
 
187
  msgstr ""
188
 
189
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:214
190
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:214
 
 
 
 
191
  msgid "&nbsp;"
192
  msgstr ""
193
 
194
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:215
195
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:215
196
  msgid "Reading"
197
  msgstr ""
198
 
199
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:216
200
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:216
201
  msgid "Editing Capabilities"
202
  msgstr ""
203
 
204
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:217
205
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:217
206
  msgid "Deletion Capabilities"
207
  msgstr ""
208
 
209
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:225
210
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:225
211
  msgid "can read posts which are currently published with private visibility"
212
  msgstr ""
213
 
214
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:226
215
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:226
216
  msgid "has basic editing capability (but may need other capabilities based on post status and ownership)"
217
  msgstr ""
218
 
219
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:227
220
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:227
221
  msgid "can edit posts which were created by other users"
222
  msgstr ""
223
 
224
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:228
225
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:228
226
  msgid "can edit posts which are currently published"
227
  msgstr ""
228
 
229
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:229
230
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:229
231
  msgid "can edit posts which are currently published with private visibility"
232
  msgstr ""
233
 
234
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:230
235
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:230
236
  msgid "can make a post publicly visible"
237
  msgstr ""
238
 
239
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:231
240
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:231
241
  msgid "has basic deletion capability (but may need other capabilities based on post status and ownership)"
242
  msgstr ""
243
 
244
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:232
245
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:232
246
  msgid "can delete posts which were created by other users"
247
  msgstr ""
248
 
249
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:233
250
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:233
251
  msgid "can delete posts which are currently published"
252
  msgstr ""
253
 
254
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:234
255
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:234
256
  msgid "can delete posts which are currently published with private visibility"
257
  msgstr ""
258
 
259
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:304
260
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:377
261
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:426
262
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:304
263
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:377
264
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:426
265
  #, php-format
266
- msgid "%s: assigned by Permit Group"
267
  msgstr ""
268
 
269
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:360
270
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:360
271
  msgid "Other WordPress Core Capabilities"
272
  msgstr ""
273
 
274
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:397
275
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:397
276
- msgid "Additional Capabilities"
277
  msgstr ""
278
 
279
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:462
280
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:462
281
- msgid "Level:"
282
  msgstr ""
283
 
284
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:483
285
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:483
286
- msgid "Note: Underscores replace spaces in stored capability name (\"edit users\" => \"edit_users\")."
287
  msgstr ""
288
 
289
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:502
290
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:543
291
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:559
292
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:502
293
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:543
294
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:559
295
- msgid "Make role available for supplemental assignment to Permit Groups only"
296
  msgstr ""
297
 
298
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:502
299
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:502
300
- msgid "supplemental assignment only"
 
 
 
301
  msgstr ""
302
 
303
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:509
304
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:509
305
  msgid "Save Changes"
306
  msgstr ""
307
 
308
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:512
309
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:512
310
  msgid "Delete this role"
311
  msgstr ""
312
 
313
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:512
314
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:512
315
  #, php-format
316
  msgid ""
317
  "You are about to delete the %s role.\n"
318
  " 'Cancel' to stop, 'OK' to delete."
319
  msgstr ""
320
 
321
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:512
322
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:512
323
  msgid "Delete Role"
324
  msgstr ""
325
 
326
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:524
327
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:524
328
  msgid "Select New Role"
329
  msgstr ""
330
 
331
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:532
332
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:532
333
  msgid "Change"
334
  msgstr ""
335
 
336
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:537
337
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:537
338
  msgid "Create New Role"
339
  msgstr ""
340
 
341
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:540
342
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:540
343
  msgid "Name of new role"
344
  msgstr ""
345
 
346
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:543
347
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:559
348
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:543
349
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:559
350
- msgid "supplemental"
351
  msgstr ""
352
 
353
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:547
354
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:547
 
 
 
 
355
  msgid "Create"
356
  msgstr ""
357
 
358
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:553
359
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:553
360
  msgid "Copy this role to"
361
  msgstr ""
362
 
363
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:556
364
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:556
365
  msgid "Name of copied role"
366
  msgstr ""
367
 
368
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:563
369
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:563
370
  msgid "Copy"
371
  msgstr ""
372
 
373
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:569
374
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:569
375
  msgid "Add Capability"
376
  msgstr ""
377
 
378
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:571
379
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:571
380
  msgid "capability name"
381
  msgstr ""
382
 
383
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:572
384
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:572
385
  msgid "Add to role"
386
  msgstr ""
387
 
388
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:578
389
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:578
390
- msgid "Force Type-Specific Capabilities"
391
  msgstr ""
392
 
393
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:581
394
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:581
395
- msgid "Force unique capability names for:"
396
  msgstr ""
397
 
398
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:624
399
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:624
400
- msgid "Use create_posts capability"
401
  msgstr ""
402
 
403
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:632
404
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:632
405
- msgid "(PP Filtered Post Types, Taxonomies)"
406
  msgstr ""
407
 
408
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:637
409
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/admin.php:637
410
- msgid "Update"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411
  msgstr ""
412
 
413
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:33
414
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:33
415
  msgid "Backup Tool for Capability Manager"
416
  msgstr ""
417
 
418
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:42
419
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:42
420
  msgid "Backup and Restore"
421
  msgstr ""
422
 
423
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:46
424
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:46
425
  msgid "Select action:"
426
  msgstr ""
427
 
428
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:49
429
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:49
430
  msgid "Backup roles and capabilities"
431
  msgstr ""
432
 
433
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:50
434
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:50
435
  msgid "Restore last saved backup"
436
  msgstr ""
437
 
438
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:52
439
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:52
440
  msgid "Do Action"
441
  msgstr ""
442
 
443
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:60
444
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:60
445
  msgid "Reset WordPress Defaults"
446
  msgstr ""
447
 
448
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:62
449
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:62
450
  msgid "WARNING:"
451
  msgstr ""
452
 
453
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:62
454
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:62
455
  msgid "Reseting default Roles and Capabilities will set them to the WordPress install defaults."
456
  msgstr ""
457
 
458
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:63
459
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:63
460
  msgid "If you have installed any plugin that adds new roles or capabilities, these will be lost."
461
  msgstr ""
462
 
463
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:64
464
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:64
465
  msgid "It is recommended to use this only as a last resource!"
466
  msgstr ""
467
 
 
 
 
 
468
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:65
469
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:65
470
  msgid "Reset Roles and Capabilities to WordPress defaults"
471
  msgstr ""
472
 
473
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:65
474
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:65
475
  msgid ""
476
  "You are about to reset Roles and Capabilities to WordPress defaults.\n"
477
  " 'Cancel' to stop, 'OK' to reset."
478
  msgstr ""
479
 
480
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:65
481
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/backup.php:65
482
  msgid "Reset to WordPress defaults"
483
  msgstr ""
484
 
485
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:332
486
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:351
487
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:390
488
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:332
489
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:351
490
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:390
491
- msgid "What do you think you're doing?!?"
492
- msgstr ""
493
-
494
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:417
495
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:417
496
- msgid "Bad form Received"
497
- msgstr ""
498
-
499
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:435
500
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:448
501
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:435
502
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:448
503
  msgid "New role created."
504
  msgstr ""
505
 
506
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:441
507
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:454
508
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:441
509
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:454
510
  msgid "Error: Failed creating the new role."
511
  msgstr ""
512
 
513
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:493
514
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:493
515
  msgid "New capability added to role."
516
  msgstr ""
517
 
518
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:507
519
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:507
520
  msgid "Incorrect capability name."
521
  msgstr ""
522
 
523
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:512
524
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:512
525
  msgid "Capability settings saved."
526
  msgstr ""
527
 
528
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:514
529
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:514
530
  msgid "Error saving capability settings."
531
  msgstr ""
532
 
533
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:518
534
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:518
535
  msgid "Bad form received."
536
  msgstr ""
537
 
538
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:547
539
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:547
540
- msgid "New backup saved."
541
  msgstr ""
542
 
543
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:553
544
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:553
545
- msgid "Roles and Capabilities restored from last backup."
 
546
  msgstr ""
547
 
548
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:555
549
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:555
550
- msgid "Restore failed. No backup found."
 
 
 
 
 
 
 
 
 
 
 
551
  msgstr ""
552
 
553
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:577
554
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:577
555
  #, php-format
556
- msgid "Cannot delete default role. You <a href=\"%s\">have to change it first</a>."
557
  msgstr ""
558
 
559
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:605
560
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:605
561
  #, php-format
562
- msgid "Role has been deleted. %1$d users moved to default role %2$s."
563
  msgstr ""
564
 
565
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:619
566
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:619
567
- msgid "Needed function to create default roles not found!"
568
  msgstr ""
569
 
570
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:631
571
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:631
572
- msgid "Roles and Capabilities reset to WordPress defaults"
573
  msgstr ""
574
 
575
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:824
576
- #: E:\www\wp35\wp-content\plugins\capsman-enhanced\includes/manager.php:824
577
- msgid "You cannot remove Manage Capabilities from Administrators"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
578
  msgstr ""
579
 
2
  msgstr ""
3
  "Project-Id-Version: Capability Manager Enhanced\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2013-09-21 01:35-0500\n"
6
+ "PO-Revision-Date: 2013-09-21 01:35-0500\n"
7
  "Last-Translator: Kevin Behrens <kevin@agapetry.net>\n"
8
  "Language-Team: Agapetry Creations LLC <kevin@agapetry.net>\n"
9
  "MIME-Version: 1.0\n"
21
  msgid "<strong>Error:</strong> Capability Manager Extended cannot function because another copy of Capability Manager is active."
22
  msgstr ""
23
 
24
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:58
25
  msgid "Warning:"
26
  msgstr ""
27
 
28
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:59
29
  #, php-format
30
  msgid "The active plugin %s is not compatible with your PHP version."
31
  msgstr ""
32
 
33
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:61
34
  #, php-format
35
  msgid "%s is required for this plugin."
36
  msgstr ""
37
 
38
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:115
39
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:177
40
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:186
 
 
41
  msgid "Capabilities"
42
  msgstr ""
43
 
44
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:116
45
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:120
46
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:125
47
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:177
48
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:181
49
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:187
 
 
 
50
  msgid "Capability Manager"
51
  msgstr ""
52
 
53
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/capsman-enhanced.php:125
54
  msgid "Role Capabilities"
55
  msgstr ""
56
 
57
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/classes/abstract/plugin.php:221
58
+ msgid "Explicity negate this capability by storing as disabled"
59
+ msgstr ""
60
+
61
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/classes/abstract/plugin.php:222
62
+ msgid "Explicitly negate these capabilities by storing as disabled"
63
+ msgstr ""
64
+
65
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/classes/abstract/plugin.php:223
66
+ msgid "Post type registration does not define this capability distinctly"
67
+ msgstr ""
68
+
69
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/classes/abstract/plugin.php:224
70
+ msgid "This capability is explicitly negated. Click to add/remove normally."
71
+ msgstr ""
72
+
73
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/classes/abstract/plugin.php:225
74
+ msgid "Add or remove this capability from the WordPress role"
75
+ msgstr ""
76
+
77
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/classes/abstract/plugin.php:226
78
+ msgid "Add or remove capability from the role normally"
79
+ msgstr ""
80
+
81
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/formating.php:40
82
  msgid "Settings saved."
83
  msgstr ""
84
 
85
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes-agapetry.php:9
86
  msgid "Plugin Homepage"
87
  msgstr ""
88
 
89
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes-agapetry.php:10
90
  msgid "Documentation"
91
  msgstr ""
92
 
93
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes-agapetry.php:11
94
  msgid "Support Forum"
95
  msgstr ""
96
 
97
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes-agapetry.php:12
98
  msgid "Author Homepage"
99
  msgstr ""
100
 
101
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes-agapetry.php:13
102
  msgid "Help donating"
103
  msgstr ""
104
 
105
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes-agapetry.php:23
106
  #, php-format
107
  msgid "Capability Manager Enhanced %s"
108
  msgstr ""
109
 
110
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes-agapetry.php:24
111
  msgid "Copyright 2010 Jordi Canals"
112
  msgstr ""
113
 
114
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/framework/lib/themes-agapetry.php:27
115
  #, php-format
116
  msgid "Modifications &copy; Copyright %1$s %2$s"
117
  msgstr ""
118
 
119
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:50
 
120
  msgid "Roles and Capabilities"
121
  msgstr ""
122
 
123
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:59
 
124
  #, php-format
125
  msgid "Capabilities for %s"
126
  msgstr ""
127
 
128
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:62
129
+ msgid "Use this form to view and modify the capabilities WordPress natively associates with each role. Changes <strong>will remain in your database</strong> even if you deactivate the plugin."
 
130
  msgstr ""
131
 
132
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:74
133
+ msgid "To further customize editing or viewing access, consider stepping up to <a href='#pp-more'>Press Permit</a>."
 
 
134
  msgstr ""
135
 
136
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:105
137
+ msgid "Automatically define type-specific capabilities for your custom post types and taxonomies"
 
 
138
  msgstr ""
139
 
140
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:109
141
+ msgid "Assign standard WP roles supplementally for a specific post type"
 
 
142
  msgstr ""
143
 
144
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:113
145
+ msgid "Assign custom WP roles supplementally for a specific post type <em>(Pro)</em>"
 
146
  msgstr ""
147
 
148
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:117
149
+ msgid "Customize reading permissions per-category or per-post"
 
150
  msgstr ""
151
 
152
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:121
153
+ msgid "Customize editing permissions per-category or per-post <em>(Pro)</em>"
 
154
  msgstr ""
155
 
156
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:125
157
+ msgid "Custom Post Visibility statuses, fully implemented throughout wp-admin <em>(Pro)</em>"
 
158
  msgstr ""
159
 
160
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:129
161
+ msgid "Custom Moderation statuses for access-controlled, multi-step publishing workflow <em>(Pro)</em>"
 
162
  msgstr ""
163
 
164
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:133
165
+ msgid "Regulate permissions for Edit Flow post statuses <em>(Pro)</em>"
 
166
  msgstr ""
167
 
168
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:137
169
+ msgid "Customize the moderated editing of published content with Revisionary or Post Forking <em>(Pro)</em>"
 
170
  msgstr ""
171
 
172
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:141
173
+ msgid "Grant Spectator, Participant or Moderator access to specific bbPress forums <em>(Pro)</em>"
 
174
  msgstr ""
175
 
176
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:145
177
+ msgid "Grant supplemental content permissions to a BuddyPress group <em>(Pro)</em>"
 
178
  msgstr ""
179
 
180
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:149
181
+ msgid "WPML integration to mirror permissions to translations <em>(Pro)</em>"
182
+ msgstr ""
183
+
184
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:153
185
+ msgid "Member support forum"
186
+ msgstr ""
187
+
188
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:159
189
+ #, php-format
190
+ msgid "%1$sgrab%2$s %3$s"
191
  msgstr ""
192
 
193
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:159
194
+ #, php-format
195
+ msgid "%s (free install)"
196
+ msgstr ""
197
+
198
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:161
199
+ #, php-format
200
+ msgid "%1$sbuy%2$s %3$s"
201
  msgstr ""
202
 
203
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:161
204
+ #, php-format
205
+ msgid "%s info/purchase"
206
+ msgstr ""
207
+
208
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:244
209
  msgid "&nbsp;"
210
  msgstr ""
211
 
212
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:245
 
213
  msgid "Reading"
214
  msgstr ""
215
 
216
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:246
 
217
  msgid "Editing Capabilities"
218
  msgstr ""
219
 
220
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:247
 
221
  msgid "Deletion Capabilities"
222
  msgstr ""
223
 
224
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:255
 
225
  msgid "can read posts which are currently published with private visibility"
226
  msgstr ""
227
 
228
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:256
 
229
  msgid "has basic editing capability (but may need other capabilities based on post status and ownership)"
230
  msgstr ""
231
 
232
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:257
 
233
  msgid "can edit posts which were created by other users"
234
  msgstr ""
235
 
236
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:258
 
237
  msgid "can edit posts which are currently published"
238
  msgstr ""
239
 
240
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:259
 
241
  msgid "can edit posts which are currently published with private visibility"
242
  msgstr ""
243
 
244
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:260
 
245
  msgid "can make a post publicly visible"
246
  msgstr ""
247
 
248
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:261
 
249
  msgid "has basic deletion capability (but may need other capabilities based on post status and ownership)"
250
  msgstr ""
251
 
252
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:262
 
253
  msgid "can delete posts which were created by other users"
254
  msgstr ""
255
 
256
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:263
 
257
  msgid "can delete posts which are currently published"
258
  msgstr ""
259
 
260
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:264
 
261
  msgid "can delete posts which are currently published with private visibility"
262
  msgstr ""
263
 
264
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:350
265
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:442
266
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:521
 
 
 
267
  #, php-format
268
+ msgid "%s: assigned by Permission Group"
269
  msgstr ""
270
 
271
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:419
 
272
  msgid "Other WordPress Core Capabilities"
273
  msgstr ""
274
 
275
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:480
276
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:586
277
+ msgid "check/uncheck all"
278
  msgstr ""
279
 
280
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:480
281
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:586
282
+ msgid "negate all (storing as disabled capabilities)"
283
  msgstr ""
284
 
285
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:480
286
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:586
287
+ msgid "negate none (add/remove all capabilities normally)"
288
  msgstr ""
289
 
290
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:487
291
+ msgid "Additional Capabilities"
 
 
 
 
 
292
  msgstr ""
293
 
294
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:577
295
+ msgid "Level:"
296
+ msgstr ""
297
+
298
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:595
299
+ msgid "Note: Underscores replace spaces in stored capability name (\"edit users\" => \"edit_users\")."
300
  msgstr ""
301
 
302
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:611
 
303
  msgid "Save Changes"
304
  msgstr ""
305
 
306
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:614
 
307
  msgid "Delete this role"
308
  msgstr ""
309
 
310
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:614
 
311
  #, php-format
312
  msgid ""
313
  "You are about to delete the %s role.\n"
314
  " 'Cancel' to stop, 'OK' to delete."
315
  msgstr ""
316
 
317
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:614
 
318
  msgid "Delete Role"
319
  msgstr ""
320
 
321
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:626
 
322
  msgid "Select New Role"
323
  msgstr ""
324
 
325
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:634
 
326
  msgid "Change"
327
  msgstr ""
328
 
329
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:639
 
330
  msgid "Create New Role"
331
  msgstr ""
332
 
333
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:642
 
334
  msgid "Name of new role"
335
  msgstr ""
336
 
337
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:645
338
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:661
339
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:79
340
+ msgid "Make role available for supplemental assignment to Permission Groups only"
 
341
  msgstr ""
342
 
343
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:645
344
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:661
345
+ msgid "hidden"
346
+ msgstr ""
347
+
348
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:649
349
  msgid "Create"
350
  msgstr ""
351
 
352
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:655
 
353
  msgid "Copy this role to"
354
  msgstr ""
355
 
356
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:658
 
357
  msgid "Name of copied role"
358
  msgstr ""
359
 
360
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:665
 
361
  msgid "Copy"
362
  msgstr ""
363
 
364
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:671
 
365
  msgid "Add Capability"
366
  msgstr ""
367
 
368
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:673
 
369
  msgid "capability name"
370
  msgstr ""
371
 
372
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:674
 
373
  msgid "Add to role"
374
  msgstr ""
375
 
376
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:702
377
+ msgid "Create this role definition in new (future) sites"
 
378
  msgstr ""
379
 
380
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:702
381
+ msgid "include in new sites"
 
382
  msgstr ""
383
 
384
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:705
385
+ msgid "Copy / update this role definition to all sites now"
 
386
  msgstr ""
387
 
388
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/admin.php:705
389
+ msgid "sync role to all sites now"
 
390
  msgstr ""
391
 
392
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup-handler.php:9
393
+ msgid "You do not have permission to restore roles."
394
+ msgstr ""
395
+
396
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup-handler.php:32
397
+ msgid "New backup saved."
398
+ msgstr ""
399
+
400
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup-handler.php:38
401
+ msgid "Roles and Capabilities restored from last backup."
402
+ msgstr ""
403
+
404
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup-handler.php:40
405
+ msgid "Restore failed. No backup found."
406
+ msgstr ""
407
+
408
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup-handler.php:59
409
+ msgid "Needed function to create default roles not found!"
410
+ msgstr ""
411
+
412
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup-handler.php:72
413
+ msgid "Roles and Capabilities reset to WordPress defaults"
414
  msgstr ""
415
 
416
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:33
 
417
  msgid "Backup Tool for Capability Manager"
418
  msgstr ""
419
 
420
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:42
 
421
  msgid "Backup and Restore"
422
  msgstr ""
423
 
424
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:46
 
425
  msgid "Select action:"
426
  msgstr ""
427
 
428
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:49
 
429
  msgid "Backup roles and capabilities"
430
  msgstr ""
431
 
432
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:50
 
433
  msgid "Restore last saved backup"
434
  msgstr ""
435
 
436
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:52
 
437
  msgid "Do Action"
438
  msgstr ""
439
 
440
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:60
 
441
  msgid "Reset WordPress Defaults"
442
  msgstr ""
443
 
444
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:62
 
445
  msgid "WARNING:"
446
  msgstr ""
447
 
448
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:62
 
449
  msgid "Reseting default Roles and Capabilities will set them to the WordPress install defaults."
450
  msgstr ""
451
 
452
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:63
 
453
  msgid "If you have installed any plugin that adds new roles or capabilities, these will be lost."
454
  msgstr ""
455
 
456
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:64
 
457
  msgid "It is recommended to use this only as a last resource!"
458
  msgstr ""
459
 
460
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:64
461
+ msgid "It is recommended to use this only as a last resort!"
462
+ msgstr ""
463
+
464
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:65
 
465
  msgid "Reset Roles and Capabilities to WordPress defaults"
466
  msgstr ""
467
 
468
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:65
 
469
  msgid ""
470
  "You are about to reset Roles and Capabilities to WordPress defaults.\n"
471
  " 'Cancel' to stop, 'OK' to reset."
472
  msgstr ""
473
 
474
  #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/backup.php:65
 
475
  msgid "Reset to WordPress defaults"
476
  msgstr ""
477
 
478
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:16
479
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:29
480
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:13
481
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
482
  msgid "New role created."
483
  msgstr ""
484
 
485
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:22
486
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:35
487
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:19
488
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:32
489
  msgid "Error: Failed creating the new role."
490
  msgstr ""
491
 
492
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:74
493
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:71
494
  msgid "New capability added to role."
495
  msgstr ""
496
 
497
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:88
498
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:85
499
  msgid "Incorrect capability name."
500
  msgstr ""
501
 
502
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:93
503
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:90
504
  msgid "Capability settings saved."
505
  msgstr ""
506
 
507
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:95
508
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:92
509
  msgid "Error saving capability settings."
510
  msgstr ""
511
 
512
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:99
513
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:96
514
  msgid "Bad form received."
515
  msgstr ""
516
 
517
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:211
518
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:200
519
+ msgid "You cannot remove Manage Capabilities from Administrators"
520
  msgstr ""
521
 
522
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:313
523
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:232
524
+ #, php-format
525
+ msgid "Cannot delete default role. You <a href=\"%s\">have to change it first</a>."
526
  msgstr ""
527
 
528
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/handler.php:341
529
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/modify.php:260
530
+ #, php-format
531
+ msgid "Role has been deleted. %1$d users moved to default role %2$s."
532
+ msgstr ""
533
+
534
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:263
535
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:282
536
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:438
537
+ msgid "What do you think you're doing?!?"
538
+ msgstr ""
539
+
540
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/manager.php:321
541
+ msgid "Bad form Received"
542
  msgstr ""
543
 
544
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:43
 
545
  #, php-format
546
+ msgid "see %1$sRole Usage%2$s: \"Pattern Roles\""
547
  msgstr ""
548
 
549
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:45
 
550
  #, php-format
551
+ msgid "activate %1$sAdvanced settings%2$s, see Role Usage"
552
  msgstr ""
553
 
554
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:50
555
+ #, php-format
556
+ msgid "\"Posts\" capabilities selected here also define type-specific role assignment for Permission Groups%s."
557
  msgstr ""
558
 
559
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:52
560
+ #, php-format
561
+ msgid "\"Posts\" capabilities selected here also define type-specific role assignment for Permit Groups%s."
562
  msgstr ""
563
 
564
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:58
565
+ msgid "Capabilities for custom statuses can be manually added to a role here (see Post Statuses > Status > Capability Mapping for applicable names). However, it is usually more convenient to use Permission Groups to assign a supplemental status-specific role."
566
+ msgstr ""
567
+
568
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:60
569
+ msgid "Capabilities for custom statuses can be manually added to a role here (see Post Statuses > Status > Capability Mapping for applicable names). However, by activating the PP Custom Post Statuses extension, you can assign a supplemental status-specific role easily using Permission Groups."
570
+ msgstr ""
571
+
572
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:62
573
+ msgid "Capabilities for custom statuses can be manually added to a role here (see Conditions > Status > Capability Mapping for applicable names). However, it is usually more convenient to use Permit Groups to assign a supplemental status-specific role."
574
+ msgstr ""
575
+
576
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:79
577
+ msgid "hidden role"
578
+ msgstr ""
579
+
580
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:89
581
+ msgid "Force Type-Specific Capabilities"
582
+ msgstr ""
583
+
584
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:92
585
+ msgid "Force unique capability names for:"
586
+ msgstr ""
587
+
588
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:143
589
+ msgid "Use create_posts capability"
590
+ msgstr ""
591
+
592
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:151
593
+ msgid "(PP Filtered Post Types, Taxonomies)"
594
+ msgstr ""
595
+
596
+ #: E:\www\wp35\wp-content\plugins\capsman-enhanced/includes/pp-ui.php:156
597
+ msgid "Update"
598
  msgstr ""
599
 
lang/capsman.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2012
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/capability-manager-enhanced\n"
7
- "POT-Creation-Date: 2012-07-30 21:29:36+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2012-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
@@ -18,8 +18,7 @@ msgid ""
18
  "another copy of Capability Manager is active."
19
  msgstr ""
20
 
21
- #: capsman-enhanced.php:57 framework/classes/abstract/plugin.php:344
22
- #: framework/classes/abstract/plugin.php:363
23
  msgid "Warning:"
24
  msgstr ""
25
 
@@ -31,394 +30,120 @@ msgstr ""
31
  msgid "%s is required for this plugin."
32
  msgstr ""
33
 
34
- #: capsman-enhanced.php:88 capsman-enhanced.php:90 capsman-enhanced.php:94
35
- #: includes/manager.php:183 includes/manager.php:186 includes/manager.php:190
36
- msgid "Capability Manager"
37
- msgstr ""
38
-
39
- #: capsman-enhanced.php:88 capsman-enhanced.php:94 includes/manager.php:190
40
- msgid "Role Capabilities"
41
- msgstr ""
42
-
43
- #: framework/classes/abstract/module.php:614
44
- msgid "Option blocked by administrator."
45
- msgstr ""
46
-
47
- #: framework/classes/abstract/plugin.php:345
48
- msgid "The active plugin %s is not compatible with your WordPress version."
49
- msgstr ""
50
-
51
- #: framework/classes/abstract/plugin.php:347
52
- msgid "WordPress %s is required to run this plugin."
53
- msgstr ""
54
-
55
- #: framework/classes/abstract/plugin.php:364
56
- msgid "Standard sidebar functions are not present."
57
- msgstr ""
58
-
59
- #: framework/classes/abstract/plugin.php:365
60
- msgid "It is required to use the standard sidebar to run %s"
61
- msgstr ""
62
-
63
- #: framework/classes/abstract/plugin.php:418
64
- msgid "Activate Components"
65
- msgstr ""
66
-
67
- #: framework/classes/abstract/plugin.php:427
68
- msgid "Yes"
69
- msgstr ""
70
-
71
- #: framework/classes/abstract/plugin.php:428
72
- msgid "No"
73
- msgstr ""
74
-
75
- #: framework/classes/template.php:90
76
- msgid "Template class: Received template paths are not valid directories."
77
- msgstr ""
78
-
79
- #: framework/classes/template.php:98
80
- msgid "Template class: Received config paths are not valid directories."
81
  msgstr ""
82
 
83
- #: framework/classes/template.php:174
84
- msgid "Template class: %s is a reserved template variable."
 
85
  msgstr ""
86
 
87
- #: framework/classes/template.php:338
88
- msgid "Template file %1$s not found. Default template %2$s not found."
89
  msgstr ""
90
 
91
- #: framework/lib/formating.php:52
92
  msgid "Settings saved."
93
  msgstr ""
94
 
95
- #: framework/lib/formating.php:160
96
- msgid "Just Now"
97
- msgstr ""
98
-
99
- #: framework/lib/formating.php:163
100
- msgid "1 minute ago"
101
- msgid_plural "%d minutes ago"
102
- msgstr[0] ""
103
- msgstr[1] ""
104
-
105
- #: framework/lib/formating.php:166
106
- msgid "1 hour ago"
107
- msgid_plural "%d hours ago"
108
- msgstr[0] ""
109
- msgstr[1] ""
110
-
111
- #: framework/lib/formating.php:170
112
- msgid "Today at %s"
113
- msgstr ""
114
-
115
- #: framework/lib/formating.php:170
116
- msgid "Yesterday at %s"
117
- msgstr ""
118
-
119
- #: framework/lib/themes.php:162 framework/lib/themes.php:170
120
- #: includes/author-widget.php:33
121
  msgid "Plugin Homepage"
122
  msgstr ""
123
 
124
- #: framework/lib/themes.php:163 framework/lib/themes.php:178
125
- #: includes/author-widget.php:34
126
  msgid "Documentation"
127
  msgstr ""
128
 
129
- #: framework/lib/themes.php:164 framework/lib/themes.php:182
130
- #: includes/author-widget.php:35
131
  msgid "Support Forum"
132
  msgstr ""
133
 
134
- #: framework/lib/themes.php:165 framework/lib/themes.php:186
135
- #: includes/author-widget.php:36
136
  msgid "Author Homepage"
137
  msgstr ""
138
 
139
- #: framework/lib/themes.php:166 includes/author-widget.php:37
140
  msgid "Help donating"
141
  msgstr ""
142
 
143
- #: framework/lib/themes.php:174
144
- msgid "Theme Homepage"
145
- msgstr ""
146
-
147
- #: framework/lib/themes.php:190
148
- msgid "Donate to project"
149
- msgstr ""
150
-
151
- #: framework/vendor/upload/class.upload.php:2195
152
- msgid "File error. Please try again."
153
- msgstr ""
154
-
155
- #: framework/vendor/upload/class.upload.php:2196
156
- msgid "Local file doesn't exist."
157
- msgstr ""
158
-
159
- #: framework/vendor/upload/class.upload.php:2197
160
- msgid "Local file is not readable."
161
- msgstr ""
162
-
163
- #: framework/vendor/upload/class.upload.php:2198
164
- msgid ""
165
- "File upload error (the uploaded file exceeds the upload_max_filesize "
166
- "directive in php.ini)."
167
- msgstr ""
168
-
169
- #: framework/vendor/upload/class.upload.php:2199
170
- msgid ""
171
- "File upload error (the uploaded file exceeds the MAX_FILE_SIZE directive "
172
- "that was specified in the html form)."
173
- msgstr ""
174
-
175
- #: framework/vendor/upload/class.upload.php:2200
176
- msgid "File upload error (the uploaded file was only partially uploaded)."
177
- msgstr ""
178
-
179
- #: framework/vendor/upload/class.upload.php:2201
180
- msgid "File upload error (no file was uploaded)."
181
- msgstr ""
182
-
183
- #: framework/vendor/upload/class.upload.php:2202
184
- msgid "File upload error (missing a temporary folder)."
185
- msgstr ""
186
-
187
- #: framework/vendor/upload/class.upload.php:2203
188
- msgid "File upload error (failed to write file to disk)."
189
- msgstr ""
190
-
191
- #: framework/vendor/upload/class.upload.php:2204
192
- msgid "File upload error (file upload stopped by extension)."
193
- msgstr ""
194
-
195
- #: framework/vendor/upload/class.upload.php:2205
196
- msgid "File upload error (unknown error code)."
197
- msgstr ""
198
-
199
- #: framework/vendor/upload/class.upload.php:2206
200
- msgid "File upload error. Please try again."
201
- msgstr ""
202
-
203
- #: framework/vendor/upload/class.upload.php:2207
204
- msgid "File too big."
205
- msgstr ""
206
-
207
- #: framework/vendor/upload/class.upload.php:2208
208
- msgid "MIME type can't be detected."
209
- msgstr ""
210
-
211
- #: framework/vendor/upload/class.upload.php:2209
212
- msgid "Incorrect type of file."
213
- msgstr ""
214
-
215
- #: framework/vendor/upload/class.upload.php:2210
216
- msgid "Image too wide."
217
- msgstr ""
218
-
219
- #: framework/vendor/upload/class.upload.php:2211
220
- msgid "Image too narrow."
221
- msgstr ""
222
-
223
- #: framework/vendor/upload/class.upload.php:2212
224
- msgid "Image too high."
225
- msgstr ""
226
-
227
- #: framework/vendor/upload/class.upload.php:2213
228
- msgid "Image too short."
229
- msgstr ""
230
-
231
- #: framework/vendor/upload/class.upload.php:2214
232
- msgid "Image ratio too high (image too wide)."
233
- msgstr ""
234
-
235
- #: framework/vendor/upload/class.upload.php:2215
236
- msgid "Image ratio too low (image too high)."
237
- msgstr ""
238
-
239
- #: framework/vendor/upload/class.upload.php:2216
240
- msgid "Image has too many pixels."
241
- msgstr ""
242
-
243
- #: framework/vendor/upload/class.upload.php:2217
244
- msgid "Image has not enough pixels."
245
- msgstr ""
246
-
247
- #: framework/vendor/upload/class.upload.php:2218
248
- msgid "File not uploaded. Can't carry on a process."
249
- msgstr ""
250
-
251
- #: framework/vendor/upload/class.upload.php:2219
252
- msgid "%s already exists. Please change the file name."
253
- msgstr ""
254
-
255
- #: framework/vendor/upload/class.upload.php:2220
256
- msgid "No correct temp source file. Can't carry on a process."
257
- msgstr ""
258
-
259
- #: framework/vendor/upload/class.upload.php:2221
260
- msgid "No correct uploaded source file. Can't carry on a process."
261
- msgstr ""
262
-
263
- #: framework/vendor/upload/class.upload.php:2222
264
- msgid "Destination directory can't be created. Can't carry on a process."
265
- msgstr ""
266
-
267
- #: framework/vendor/upload/class.upload.php:2223
268
- msgid "Destination directory doesn't exist. Can't carry on a process."
269
- msgstr ""
270
-
271
- #: framework/vendor/upload/class.upload.php:2224
272
- msgid "Destination path is not a directory. Can't carry on a process."
273
- msgstr ""
274
-
275
- #: framework/vendor/upload/class.upload.php:2225
276
- msgid ""
277
- "Destination directory can't be made writeable. Can't carry on a process."
278
- msgstr ""
279
-
280
- #: framework/vendor/upload/class.upload.php:2226
281
- msgid "Destination path is not a writeable. Can't carry on a process."
282
- msgstr ""
283
-
284
- #: framework/vendor/upload/class.upload.php:2227
285
- msgid "Can't create the temporary file. Can't carry on a process."
286
- msgstr ""
287
-
288
- #: framework/vendor/upload/class.upload.php:2228
289
- msgid "Source file is not readable. Can't carry on a process."
290
- msgstr ""
291
-
292
- #: framework/vendor/upload/class.upload.php:2229
293
- msgid "No create from %s support."
294
- msgstr ""
295
-
296
- #: framework/vendor/upload/class.upload.php:2230
297
- msgid "Error in creating %s image from source."
298
  msgstr ""
299
 
300
- #: framework/vendor/upload/class.upload.php:2231
301
- msgid "Can't read image source. Not an image?."
302
  msgstr ""
303
 
304
- #: framework/vendor/upload/class.upload.php:2232
305
- msgid "GD doesn't seem to be present."
306
  msgstr ""
307
 
308
- #: framework/vendor/upload/class.upload.php:2233
309
- msgid "No create from %s support, can't read watermark."
310
- msgstr ""
311
-
312
- #: framework/vendor/upload/class.upload.php:2234
313
- msgid "No %s read support, can't create watermark."
314
- msgstr ""
315
-
316
- #: framework/vendor/upload/class.upload.php:2235
317
- msgid "Unknown image format, can't read watermark."
318
- msgstr ""
319
-
320
- #: framework/vendor/upload/class.upload.php:2236
321
- msgid "No %s create support."
322
- msgstr ""
323
-
324
- #: framework/vendor/upload/class.upload.php:2237
325
- msgid "No conversion type defined."
326
- msgstr ""
327
-
328
- #: framework/vendor/upload/class.upload.php:2238
329
- msgid "Error copying file on the server. copy() failed."
330
- msgstr ""
331
-
332
- #: framework/vendor/upload/class.upload.php:2239
333
- msgid "Error reading the file."
334
- msgstr ""
335
-
336
- #: includes/admin.php:67
337
  msgid "Roles and Capabilities"
338
  msgstr ""
339
 
340
- #: includes/admin.php:76
341
  msgid "Capabilities for %s"
342
  msgstr ""
343
 
344
- #: includes/admin.php:82
345
  msgid ""
346
  "Use this form to view and modify the capabilities WordPress natively "
347
- "associates with each role. Note:"
348
- msgstr ""
349
-
350
- #: includes/admin.php:87
351
- msgid "see %1$sRole Usage%2$s: \"Pattern Roles\""
352
- msgstr ""
353
-
354
- #: includes/admin.php:89
355
- msgid "activate %1$sAdvanced settings%2$s, see Role Usage"
356
- msgstr ""
357
-
358
- #: includes/admin.php:91
359
- msgid ""
360
- "\"Posts\" capabilities selected here also define type-specific role "
361
- "assignment for Permit Groups (%s)."
362
- msgstr ""
363
-
364
- #: includes/admin.php:93
365
- msgid ""
366
- "Capabilities for custom statuses can be manually added to a role here (see "
367
- "Conditions > Capability Mapping for applicable names). However, it is "
368
- "usually more convenient to use Permit Groups to assign a supplemental status-"
369
- "specific role."
370
  msgstr ""
371
 
372
- #: includes/admin.php:98
373
  msgid ""
374
  "Interested in further customizing editing or viewing access? Consider "
375
  "stepping up to <a href='#pp-more'>Press Permit</a>."
376
  msgstr ""
377
 
378
- #: includes/admin.php:118
379
  msgid ""
380
  "Automatically define type-specific capabilities for your custom post types "
381
  "and taxonomies"
382
  msgstr ""
383
 
384
- #: includes/admin.php:121
385
  msgid "Supplemental per-type, per-category or per-page role assignments"
386
  msgstr ""
387
 
388
- #: includes/admin.php:124
389
  msgid ""
390
  "Custom Visibility statuses (require read_member_posts, read_premium_posts, "
391
  "etc.)"
392
  msgstr ""
393
 
394
- #: includes/admin.php:127
395
  msgid ""
396
  "Custom Editability \"statuses\" - set alongside Visibility in Post and "
397
  "Category edit forms"
398
  msgstr ""
399
 
400
- #: includes/admin.php:130
401
  msgid ""
402
  "Custom Moderation statuses, enabling access-limited three tier moderation "
403
  "(Pending / Approved / Published)"
404
  msgstr ""
405
 
406
- #: includes/admin.php:133
407
  msgid ""
408
  "Grant Participant or Moderator access to specific bbPress forums or topics"
409
  msgstr ""
410
 
411
- #: includes/admin.php:136
412
  msgid ""
413
  "Grant supplemental page or category access to all members of a BuddyPress "
414
  "group"
415
  msgstr ""
416
 
417
- #: includes/admin.php:139
418
  msgid "WPML integration to mirror permissions to translations"
419
  msgstr ""
420
 
421
- #: includes/admin.php:142
422
  msgid "Professional support available"
423
  msgstr ""
424
 
@@ -482,116 +207,116 @@ msgstr ""
482
  msgid "can delete posts which are currently published with private visibility"
483
  msgstr ""
484
 
485
- #: includes/admin.php:277 includes/admin.php:350 includes/admin.php:399
486
- msgid "%s: assigned by Permit Group"
487
  msgstr ""
488
 
489
- #: includes/admin.php:333
490
  msgid "Other WordPress Core Capabilities"
491
  msgstr ""
492
 
493
- #: includes/admin.php:369
494
  msgid "Additional Capabilities"
495
  msgstr ""
496
 
497
- #: includes/admin.php:436
498
  msgid "Level:"
499
  msgstr ""
500
 
501
- #: includes/admin.php:457
502
  msgid ""
503
  "Note: Underscores replace spaces in stored capability name (\"edit users\" "
504
  "=> \"edit_users\")."
505
  msgstr ""
506
 
507
- #: includes/admin.php:468 includes/manager.php:375
508
  msgid "Save Changes"
509
  msgstr ""
510
 
511
- #: includes/admin.php:470
512
  msgid "Delete this role"
513
  msgstr ""
514
 
515
- #: includes/admin.php:470
516
  msgid ""
517
  "You are about to delete the %s role.\n"
518
  " 'Cancel' to stop, 'OK' to delete."
519
  msgstr ""
520
 
521
- #: includes/admin.php:470
522
  msgid "Delete Role"
523
  msgstr ""
524
 
525
- #: includes/admin.php:482
526
  msgid "Select New Role"
527
  msgstr ""
528
 
529
- #: includes/admin.php:482
530
- msgid "Select Role to View / Edit"
531
  msgstr ""
532
 
533
- #: includes/admin.php:490
534
- msgid "Change"
535
  msgstr ""
536
 
537
- #: includes/admin.php:490 includes/manager.php:346
538
- msgid "Load"
539
  msgstr ""
540
 
541
- #: includes/admin.php:495
542
- msgid "Create New Role"
543
  msgstr ""
544
 
545
- #: includes/admin.php:497
546
- msgid "Name of new role"
547
  msgstr ""
548
 
549
- #: includes/admin.php:498 includes/manager.php:350
550
  msgid "Create"
551
  msgstr ""
552
 
553
- #: includes/admin.php:503
554
  msgid "Copy this role to"
555
  msgstr ""
556
 
557
- #: includes/admin.php:503
558
- msgid "Copy %s Role"
559
- msgstr ""
560
-
561
- #: includes/admin.php:505
562
  msgid "Name of copied role"
563
  msgstr ""
564
 
565
- #: includes/admin.php:506 includes/manager.php:362
566
  msgid "Copy"
567
  msgstr ""
568
 
569
- #: includes/admin.php:511
570
  msgid "Add Capability"
571
  msgstr ""
572
 
573
- #: includes/admin.php:513
574
  msgid "capability name"
575
  msgstr ""
576
 
577
- #: includes/admin.php:514 includes/manager.php:379
578
  msgid "Add to role"
579
  msgstr ""
580
 
581
- #: includes/admin.php:520
582
- msgid "Force Type-Specific Capabilities"
583
  msgstr ""
584
 
585
- #: includes/admin.php:523
586
- msgid "Force unique capability names for:"
587
  msgstr ""
588
 
589
- #: includes/admin.php:564
590
- msgid "(PP Filtered Post Types, Taxonomies)"
591
  msgstr ""
592
 
593
- #: includes/admin.php:569 includes/manager.php:389
594
- msgid "Update"
 
 
 
 
595
  msgstr ""
596
 
597
  #: includes/backup.php:33
@@ -656,83 +381,121 @@ msgstr ""
656
  msgid "Reset to WordPress defaults"
657
  msgstr ""
658
 
659
- #: includes/manager.php:183
660
- msgid "Capabilities"
 
661
  msgstr ""
662
 
663
- #: includes/manager.php:270 includes/manager.php:306
664
- msgid "What do you think you're doing?!?"
 
665
  msgstr ""
666
 
667
- #: includes/manager.php:333
668
- msgid "Bad form Received"
669
  msgstr ""
670
 
671
- #: includes/manager.php:352 includes/manager.php:365
672
- msgid "New role created."
673
  msgstr ""
674
 
675
- #: includes/manager.php:356 includes/manager.php:369
676
- msgid "Error: No role name specified."
677
  msgstr ""
678
 
679
- #: includes/manager.php:358 includes/manager.php:371
680
- msgid "Error: Failed creating the new role."
681
  msgstr ""
682
 
683
- #: includes/manager.php:376
684
- msgid "New capabilities saved."
685
  msgstr ""
686
 
687
- #: includes/manager.php:384
688
- msgid "New capability added to role."
689
  msgstr ""
690
 
691
- #: includes/manager.php:386
692
- msgid "Incorrect capability name."
 
693
  msgstr ""
694
 
695
- #: includes/manager.php:391
696
- msgid "Capability settings saved."
697
  msgstr ""
698
 
699
- #: includes/manager.php:393
700
- msgid "Error saving capability settings."
701
  msgstr ""
702
 
703
- #: includes/manager.php:397
704
- msgid "Bad form received."
705
  msgstr ""
706
 
707
- #: includes/manager.php:417
708
- msgid "New backup saved."
709
  msgstr ""
710
 
711
- #: includes/manager.php:423
712
- msgid "Roles and Capabilities restored from last backup."
713
  msgstr ""
714
 
715
- #: includes/manager.php:425
716
- msgid "Restore failed. No backup found."
 
 
717
  msgstr ""
718
 
719
- #: includes/manager.php:447
720
  msgid ""
721
- "Cannot delete default role. You <a href=\"%s\">have to change it first</a>."
 
722
  msgstr ""
723
 
724
- #: includes/manager.php:468
725
- msgid "Role has been deleted. %1$d users moved to default role %2$s."
 
 
 
 
726
  msgstr ""
727
 
728
- #: includes/manager.php:482
729
- msgid "Needed function to create default roles not found!"
 
 
 
 
730
  msgstr ""
731
 
732
- #: includes/manager.php:494
733
- msgid "Roles and Capabilities reset to WordPress defaults"
 
 
 
 
734
  msgstr ""
735
 
736
- #: includes/manager.php:685
737
- msgid "You cannot remove Manage Capabilities from Administrators"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
738
  msgstr ""
1
+ # Copyright (C) 2013
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/capability-manager-enhanced\n"
7
+ "POT-Creation-Date: 2013-08-20 19:31:31+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
18
  "another copy of Capability Manager is active."
19
  msgstr ""
20
 
21
+ #: capsman-enhanced.php:57
 
22
  msgid "Warning:"
23
  msgstr ""
24
 
30
  msgid "%s is required for this plugin."
31
  msgstr ""
32
 
33
+ #: capsman-enhanced.php:104 includes/manager.php:177 includes/manager.php:185
34
+ msgid "Capabilities"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  msgstr ""
36
 
37
+ #: capsman-enhanced.php:105 capsman-enhanced.php:108 capsman-enhanced.php:113
38
+ #: includes/manager.php:177 includes/manager.php:180 includes/manager.php:186
39
+ msgid "Capability Manager"
40
  msgstr ""
41
 
42
+ #: capsman-enhanced.php:113
43
+ msgid "Role Capabilities"
44
  msgstr ""
45
 
46
+ #: framework/lib/formating.php:40
47
  msgid "Settings saved."
48
  msgstr ""
49
 
50
+ #: framework/lib/themes-agapetry.php:9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  msgid "Plugin Homepage"
52
  msgstr ""
53
 
54
+ #: framework/lib/themes-agapetry.php:10
 
55
  msgid "Documentation"
56
  msgstr ""
57
 
58
+ #: framework/lib/themes-agapetry.php:11
 
59
  msgid "Support Forum"
60
  msgstr ""
61
 
62
+ #: framework/lib/themes-agapetry.php:12
 
63
  msgid "Author Homepage"
64
  msgstr ""
65
 
66
+ #: framework/lib/themes-agapetry.php:13
67
  msgid "Help donating"
68
  msgstr ""
69
 
70
+ #: framework/lib/themes-agapetry.php:23
71
+ msgid "Capability Manager Enhanced %s"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  msgstr ""
73
 
74
+ #: framework/lib/themes-agapetry.php:24
75
+ msgid "Copyright 2010 Jordi Canals"
76
  msgstr ""
77
 
78
+ #: framework/lib/themes-agapetry.php:27
79
+ msgid "Modifications &copy; Copyright %1$s %2$s"
80
  msgstr ""
81
 
82
+ #: includes/admin.php:51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  msgid "Roles and Capabilities"
84
  msgstr ""
85
 
86
+ #: includes/admin.php:60
87
  msgid "Capabilities for %s"
88
  msgstr ""
89
 
90
+ #: includes/admin.php:63
91
  msgid ""
92
  "Use this form to view and modify the capabilities WordPress natively "
93
+ "associates with each role. Changes <strong>will remain in your database</"
94
+ "strong> even if you deactivate the plugin."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  msgstr ""
96
 
97
+ #: includes/admin.php:71
98
  msgid ""
99
  "Interested in further customizing editing or viewing access? Consider "
100
  "stepping up to <a href='#pp-more'>Press Permit</a>."
101
  msgstr ""
102
 
103
+ #: includes/admin.php:91
104
  msgid ""
105
  "Automatically define type-specific capabilities for your custom post types "
106
  "and taxonomies"
107
  msgstr ""
108
 
109
+ #: includes/admin.php:94
110
  msgid "Supplemental per-type, per-category or per-page role assignments"
111
  msgstr ""
112
 
113
+ #: includes/admin.php:97
114
  msgid ""
115
  "Custom Visibility statuses (require read_member_posts, read_premium_posts, "
116
  "etc.)"
117
  msgstr ""
118
 
119
+ #: includes/admin.php:100
120
  msgid ""
121
  "Custom Editability \"statuses\" - set alongside Visibility in Post and "
122
  "Category edit forms"
123
  msgstr ""
124
 
125
+ #: includes/admin.php:103
126
  msgid ""
127
  "Custom Moderation statuses, enabling access-limited three tier moderation "
128
  "(Pending / Approved / Published)"
129
  msgstr ""
130
 
131
+ #: includes/admin.php:106
132
  msgid ""
133
  "Grant Participant or Moderator access to specific bbPress forums or topics"
134
  msgstr ""
135
 
136
+ #: includes/admin.php:109
137
  msgid ""
138
  "Grant supplemental page or category access to all members of a BuddyPress "
139
  "group"
140
  msgstr ""
141
 
142
+ #: includes/admin.php:112
143
  msgid "WPML integration to mirror permissions to translations"
144
  msgstr ""
145
 
146
+ #: includes/admin.php:115
147
  msgid "Professional support available"
148
  msgstr ""
149
 
207
  msgid "can delete posts which are currently published with private visibility"
208
  msgstr ""
209
 
210
+ #: includes/admin.php:286 includes/admin.php:359 includes/admin.php:408
211
+ msgid "%s: assigned by Permission Group"
212
  msgstr ""
213
 
214
+ #: includes/admin.php:342
215
  msgid "Other WordPress Core Capabilities"
216
  msgstr ""
217
 
218
+ #: includes/admin.php:379
219
  msgid "Additional Capabilities"
220
  msgstr ""
221
 
222
+ #: includes/admin.php:444
223
  msgid "Level:"
224
  msgstr ""
225
 
226
+ #: includes/admin.php:465
227
  msgid ""
228
  "Note: Underscores replace spaces in stored capability name (\"edit users\" "
229
  "=> \"edit_users\")."
230
  msgstr ""
231
 
232
+ #: includes/admin.php:480
233
  msgid "Save Changes"
234
  msgstr ""
235
 
236
+ #: includes/admin.php:483
237
  msgid "Delete this role"
238
  msgstr ""
239
 
240
+ #: includes/admin.php:483
241
  msgid ""
242
  "You are about to delete the %s role.\n"
243
  " 'Cancel' to stop, 'OK' to delete."
244
  msgstr ""
245
 
246
+ #: includes/admin.php:483
247
  msgid "Delete Role"
248
  msgstr ""
249
 
250
+ #: includes/admin.php:495
251
  msgid "Select New Role"
252
  msgstr ""
253
 
254
+ #: includes/admin.php:503
255
+ msgid "Change"
256
  msgstr ""
257
 
258
+ #: includes/admin.php:508
259
+ msgid "Create New Role"
260
  msgstr ""
261
 
262
+ #: includes/admin.php:511
263
+ msgid "Name of new role"
264
  msgstr ""
265
 
266
+ #: includes/admin.php:514 includes/admin.php:530 includes/pp-ui.php:79
267
+ msgid "Make role available for supplemental assignment to Permit Groups only"
268
  msgstr ""
269
 
270
+ #: includes/admin.php:514 includes/admin.php:530
271
+ msgid "supplemental"
272
  msgstr ""
273
 
274
+ #: includes/admin.php:518
275
  msgid "Create"
276
  msgstr ""
277
 
278
+ #: includes/admin.php:524
279
  msgid "Copy this role to"
280
  msgstr ""
281
 
282
+ #: includes/admin.php:527
 
 
 
 
283
  msgid "Name of copied role"
284
  msgstr ""
285
 
286
+ #: includes/admin.php:534
287
  msgid "Copy"
288
  msgstr ""
289
 
290
+ #: includes/admin.php:540
291
  msgid "Add Capability"
292
  msgstr ""
293
 
294
+ #: includes/admin.php:542
295
  msgid "capability name"
296
  msgstr ""
297
 
298
+ #: includes/admin.php:543
299
  msgid "Add to role"
300
  msgstr ""
301
 
302
+ #: includes/backup-handler.php:29
303
+ msgid "New backup saved."
304
  msgstr ""
305
 
306
+ #: includes/backup-handler.php:35
307
+ msgid "Roles and Capabilities restored from last backup."
308
  msgstr ""
309
 
310
+ #: includes/backup-handler.php:37
311
+ msgid "Restore failed. No backup found."
312
  msgstr ""
313
 
314
+ #: includes/backup-handler.php:56
315
+ msgid "Needed function to create default roles not found!"
316
+ msgstr ""
317
+
318
+ #: includes/backup-handler.php:68
319
+ msgid "Roles and Capabilities reset to WordPress defaults"
320
  msgstr ""
321
 
322
  #: includes/backup.php:33
381
  msgid "Reset to WordPress defaults"
382
  msgstr ""
383
 
384
+ #: includes/handler.php:16 includes/handler.php:29 includes/modify.php:13
385
+ #: includes/modify.php:26
386
+ msgid "New role created."
387
  msgstr ""
388
 
389
+ #: includes/handler.php:22 includes/handler.php:35 includes/modify.php:19
390
+ #: includes/modify.php:32
391
+ msgid "Error: Failed creating the new role."
392
  msgstr ""
393
 
394
+ #: includes/handler.php:74 includes/modify.php:71
395
+ msgid "New capability added to role."
396
  msgstr ""
397
 
398
+ #: includes/handler.php:88 includes/modify.php:85
399
+ msgid "Incorrect capability name."
400
  msgstr ""
401
 
402
+ #: includes/handler.php:93 includes/modify.php:90
403
+ msgid "Capability settings saved."
404
  msgstr ""
405
 
406
+ #: includes/handler.php:95 includes/modify.php:92
407
+ msgid "Error saving capability settings."
408
  msgstr ""
409
 
410
+ #: includes/handler.php:99 includes/modify.php:96
411
+ msgid "Bad form received."
412
  msgstr ""
413
 
414
+ #: includes/handler.php:202 includes/modify.php:199
415
+ msgid "You cannot remove Manage Capabilities from Administrators"
416
  msgstr ""
417
 
418
+ #: includes/handler.php:236 includes/modify.php:231
419
+ msgid ""
420
+ "Cannot delete default role. You <a href=\"%s\">have to change it first</a>."
421
  msgstr ""
422
 
423
+ #: includes/handler.php:264 includes/modify.php:259
424
+ msgid "Role has been deleted. %1$d users moved to default role %2$s."
425
  msgstr ""
426
 
427
+ #: includes/manager.php:262 includes/manager.php:281 includes/manager.php:437
428
+ msgid "What do you think you're doing?!?"
429
  msgstr ""
430
 
431
+ #: includes/manager.php:320
432
+ msgid "Bad form Received"
433
  msgstr ""
434
 
435
+ #: includes/pp-ui.php:43
436
+ msgid "see %1$sRole Usage%2$s: \"Pattern Roles\""
437
  msgstr ""
438
 
439
+ #: includes/pp-ui.php:45
440
+ msgid "activate %1$sAdvanced settings%2$s, see Role Usage"
441
  msgstr ""
442
 
443
+ #: includes/pp-ui.php:50
444
+ msgid ""
445
+ "\"Posts\" capabilities selected here also define type-specific role "
446
+ "assignment for Permission Groups%s."
447
  msgstr ""
448
 
449
+ #: includes/pp-ui.php:52
450
  msgid ""
451
+ "\"Posts\" capabilities selected here also define type-specific role "
452
+ "assignment for Permit Groups%s."
453
  msgstr ""
454
 
455
+ #: includes/pp-ui.php:58
456
+ msgid ""
457
+ "Capabilities for custom statuses can be manually added to a role here (see "
458
+ "Post Statuses > Status > Capability Mapping for applicable names). However, "
459
+ "it is usually more convenient to use Permission Groups to assign a "
460
+ "supplemental status-specific role."
461
  msgstr ""
462
 
463
+ #: includes/pp-ui.php:60
464
+ msgid ""
465
+ "Capabilities for custom statuses can be manually added to a role here (see "
466
+ "Post Statuses > Status > Capability Mapping for applicable names). However, "
467
+ "by activating the PP Custom Post Statuses extension, you can assign a "
468
+ "supplemental status-specific role easily using Permission Groups."
469
  msgstr ""
470
 
471
+ #: includes/pp-ui.php:62
472
+ msgid ""
473
+ "Capabilities for custom statuses can be manually added to a role here (see "
474
+ "Conditions > Status > Capability Mapping for applicable names). However, it "
475
+ "is usually more convenient to use Permit Groups to assign a supplemental "
476
+ "status-specific role."
477
  msgstr ""
478
 
479
+ #: includes/pp-ui.php:79
480
+ msgid "supplemental assignment only"
481
+ msgstr ""
482
+
483
+ #: includes/pp-ui.php:89
484
+ msgid "Force Type-Specific Capabilities"
485
+ msgstr ""
486
+
487
+ #: includes/pp-ui.php:92
488
+ msgid "Force unique capability names for:"
489
+ msgstr ""
490
+
491
+ #: includes/pp-ui.php:143
492
+ msgid "Use create_posts capability"
493
+ msgstr ""
494
+
495
+ #: includes/pp-ui.php:151
496
+ msgid "(PP Filtered Post Types, Taxonomies)"
497
+ msgstr ""
498
+
499
+ #: includes/pp-ui.php:156
500
+ msgid "Update"
501
  msgstr ""
readme.txt CHANGED
@@ -1,44 +1,46 @@
1
  === Capability Manager Enhanced===
2
  Contributors: txanny, kevinB
3
- Help link: http://wordpress.org/tags/capsman-enhanced
4
  Tags: roles, capabilities, manager, editor, rights, role, capability, types, taxonomies
5
  Requires at least: 3.1
6
- Tested up to: 3.5.1
7
- Stable tag: 1.4.10
8
 
9
- A simple way to manage WordPress roles and capabilities. With this plugin you will be able to easily create and manage roles and capabilities.
10
 
11
  == Description ==
12
 
13
- Capability Manager plugin provides a simple way to manage WordPress role definitions (Subscriber, Editor, etc.) View or change the capabilities of any role, add new roles, copy existing roles into new ones, and add new capabilities to existing roles.
14
- You can also delegate capability management to other users. In this case, some restrictions apply to this users, as they can only set/unset the capabilities they have.
15
- With the Backup/Restore tool, you can save your Roles and Capabilities before making changes and revert them if something goes wrong. You'll find it on the Tools menu.
16
 
17
- * Only users with 'manage_capabilities' can manage them. This capability is created at install time and assigned to Administrators.
18
- * Administrator role cannot be deleted.
19
- * Non-administrators can only manage roles or users with same or lower capabilities.
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
  Enhanced and supported by <a href="http://agapetry.net">Kevin Behrens</a> since July 2012. The original Capability Manager author, Jordi Canals, has not updated the plugin since early 2010. Since he was unreachable by web or email, I decided to take on the project myself.
22
 
23
  The main change from the original plugin is an improved UI which organizes capabilities:
24
 
25
- * by post type
26
- * by operation (read/edit/delete)
27
- * by origin (WP core or plugin)
28
 
29
- Capability Manager Enhanced also adds <a href="http://presspermit.com">Press Permit plugin</a> integration:
30
 
31
- * easily specify which post types require type-specific capability definitions
32
- * show capabilities which Press Permit adds to the role by supplemental type-specific role assignment
33
 
34
- = Features: =
35
-
36
- * Manage role capabilities.
37
- * Create new roles or delete existing ones.
38
- * Add new capabilities to any existing role.
39
- * Backup and restore Roles and Capabilities to revert your last changes.
40
- * Revert Roles and Capabilities to WordPress defaults.
41
-
42
  = Languages included: =
43
 
44
  * English
@@ -70,11 +72,12 @@ Capability Manager Enhanced also adds <a href="http://presspermit.com">Press Per
70
 
71
  1. Users Menu.
72
  2. View or Modify capabilities for a role.
73
- 3. Actions on roles.
74
- 4. Permissions Menu (Press Permit integration).
75
- 5. View or Modify capabilities for a role (Press Permit integration).
76
- 6. Actions on roles (Press Permit integration).
77
- 7. Backup/Restore tool.
 
78
 
79
  == Frequently Asked Questions ==
80
 
@@ -102,6 +105,18 @@ You should have received a copy of the GNU General Public License along with thi
102
 
103
  == Changelog ==
104
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  = 1.4.10 =
106
  * Perf : Eliminated unused framework code (reduced typical wp-admin memory usage by 0.6 MB)
107
  * Fixed : Failure to save capability changes, on some versions of PHP
1
  === Capability Manager Enhanced===
2
  Contributors: txanny, kevinB
3
+ Donate Link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=JWZVFUDLLYQBA
4
  Tags: roles, capabilities, manager, editor, rights, role, capability, types, taxonomies
5
  Requires at least: 3.1
6
+ Tested up to: 3.6.1
7
+ Stable tag: 1.5
8
 
9
+ A simple way to manage WordPress roles and capabilities.
10
 
11
  == Description ==
12
 
13
+ Capability Manager Enhanced provides a simple way to manage WordPress role definitions (Subscriber, Editor, etc.). View or change the capabilities of any role, add new roles, copy existing roles into new ones, and add new capabilities to existing roles. Now supports capability negation and role networking.
 
 
14
 
15
+ = Features: =
16
+
17
+ * Create roles
18
+ * Manage role capabilities
19
+ * Supports negation: set any capability to granted, not granted, or blocked
20
+ * Copy any role all network sites
21
+ * Mark any role for auto-copy to future network sites
22
+ * Backup and restore Roles and Capabilities to revert your last changes.
23
+ * Revert Roles and Capabilities to WordPress defaults.
24
+
25
+ Role management can also be delegated:
26
+
27
+ * Only users with 'manage_capabilities' can manage them. This capability is created at install time and assigned to Administrators.
28
+ * Administrator role cannot be deleted.
29
+ * Non-administrators can only manage roles or users with same or lower capabilities.
30
 
31
  Enhanced and supported by <a href="http://agapetry.net">Kevin Behrens</a> since July 2012. The original Capability Manager author, Jordi Canals, has not updated the plugin since early 2010. Since he was unreachable by web or email, I decided to take on the project myself.
32
 
33
  The main change from the original plugin is an improved UI which organizes capabilities:
34
 
35
+ * by post type
36
+ * by operation (read/edit/delete)
37
+ * by origin (WP core or plugin)
38
 
39
+ Capability Manager Enhanced also adds <a href="http://wordpress.org/plugins/press-permit-core">Press Permit</a> plugin integration:
40
 
41
+ * easily specify which post types require type-specific capability definitions
42
+ * show capabilities which Press Permit adds to the role by supplemental type-specific role assignment
43
 
 
 
 
 
 
 
 
 
44
  = Languages included: =
45
 
46
  * English
72
 
73
  1. Users Menu.
74
  2. View or Modify capabilities for a role.
75
+ 3. Network: copy role to existing or future sites.
76
+ 4. Actions on roles.
77
+ 5. Permissions Menu (Press Permit integration).
78
+ 6. View or Modify capabilities for a role (with Press Permit Pro).
79
+ 7. Force type-specific capabilities (Press Permit integration).
80
+ 8. Backup/Restore tool.
81
 
82
  == Frequently Asked Questions ==
83
 
105
 
106
  == Changelog ==
107
 
108
+ = 1.5 =
109
+ * Feature : Support negative capabilities (storage to wp_roles array with false value)
110
+ * Feature : Multisite - Copy a role definition to all current sites on a network
111
+ * Feature : Multisite - Copy a role definition to new (future) sites on a network
112
+ * Feature : Backup / Restore tool requires "restore_roles" capability or super admin status
113
+ * Fixed : Role reset to WP defaults did not work, caused a PHP error / white screen
114
+ * Change : Clarified English captions on Backup Tool screen
115
+ * Fixed : Term deletion capability was not included in taxonomies grid even if defined
116
+ * Fixed : jQuery notices for deprecated methods on Edit Role screen
117
+ * Compat : Press Permit - if a role is marked as hidden, also default it for use by PP Pro as a Pattern Role (when PP Collaborative Editing is activated and Advanced Settings enabled)
118
+ * Change : Press Permit promotional message includes link to display further info
119
+
120
  = 1.4.10 =
121
  * Perf : Eliminated unused framework code (reduced typical wp-admin memory usage by 0.6 MB)
122
  * Fixed : Failure to save capability changes, on some versions of PHP