Version Description
- 13 Apr 2022 =
- Feature : Export / Import for new features
- Change : Clarify captions on Roles, Backup screens
- Fixed : Multisite: Don't apply Feature Restrictions to Super Administrators unless constant PP_CAPABILITIES_RESTRICT_SUPER_ADMIN is defined
- Fixed : Capabilities could not be updated if third party code executes too early. Now support constant PP_CAPABILITIES_COMPAT_MODE to work around conflicts.
- Fixed : Coding standards - WordPress VIP scan compliance improvements
- Compat : LoginWP - custom redirect failed
- Lang : New French, Italian and Spanish translations
Download this release
Release Info
Developer | kevinB |
Plugin | Capability Manager Enhanced |
Version | 2.3.5 |
Comparing to | |
See all releases |
Code changes from version 2.3.4 to 2.3.5
- capsman-enhanced.php +7 -12
- classes/pp-capabilities-notices.php +17 -22
- common/css/admin.css +835 -703
- common/js/admin.dev.js +236 -161
- common/js/admin.js +1 -5
- composer.lock +36 -11
- framework/styles/admin.css +4 -3
- includes/admin-load.php +5 -1
- includes/admin.php +87 -57
- includes/backup-handler.php +182 -1
- includes/backup.php +72 -3
- includes/features/admin-features.php +25 -0
- includes/features/editor-features-classic.php +3 -1
- includes/features/editor-features-gutenberg.php +3 -1
- includes/features/features-block-script.js +3 -0
- includes/features/restrict-admin-features.php +8 -3
- includes/features/restrict-editor-features.php +5 -2
- includes/filters.php +0 -9
- includes/functions-admin.php +45 -0
- includes/handler.php +1 -57
- includes/manager.php +76 -8
- includes/roles/class/class-pp-roles-actions.php +176 -62
- includes/roles/class/class-pp-roles-admin.php +380 -0
- includes/roles/class/class-pp-roles-list-table.php +141 -8
- includes/roles/class/class-pp-roles-manager.php +41 -3
- includes/roles/js/pp-roles-admin.js +14 -0
- includes/roles/roles-functions.php +41 -0
- includes/roles/roles.php +14 -32
- languages/capsman-enhanced-es_ES.mo +0 -0
- languages/capsman-enhanced-es_ES.po +70 -10
- languages/capsman-enhanced-fr_FR.mo +0 -0
- languages/capsman-enhanced-fr_FR.po +1246 -3185
- languages/capsman-enhanced-it_IT.mo +0 -0
- languages/capsman-enhanced-it_IT.po +67 -7
- readme.txt +10 -1
- vendor/composer/ClassLoader.php +142 -15
- vendor/composer/InstalledVersions.php +350 -0
- vendor/composer/autoload_classmap.php +1 -0
- vendor/composer/autoload_files.php +1 -0
- vendor/composer/autoload_real.php +11 -4
- vendor/composer/autoload_static.php +6 -0
- vendor/composer/installed.json +267 -245
- vendor/composer/installed.php +68 -0
- vendor/composer/platform_check.php +26 -0
- vendor/publishpress/wordpress-banners/BannersMain.php +84 -79
- vendor/publishpress/wordpress-banners/composer.json +5 -0
- vendor/publishpress/wordpress-reviews/ReviewsController.php +12 -30
- vendor/publishpress/wordpress-reviews/phpcs.xml.dist +15 -0
capsman-enhanced.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: PublishPress Capabilities
|
4 |
* Plugin URI: https://publishpress.com/capability-manager/
|
5 |
* Description: Manage WordPress role definitions, per-site or network-wide. Organizes post capabilities by post type and operation.
|
6 |
-
* Version: 2.3.
|
7 |
* Author: PublishPress
|
8 |
* Author URI: https://publishpress.com/
|
9 |
* Text Domain: capsman-enhanced
|
@@ -25,19 +25,19 @@
|
|
25 |
* @copyright Copyright (C) 2009, 2010 Jordi Canals; modifications Copyright (C) 2022 PublishPress
|
26 |
* @license GNU General Public License version 3
|
27 |
* @link https://publishpress.com/
|
28 |
-
* @version 2.3.
|
29 |
*/
|
30 |
|
31 |
if (!defined('CAPSMAN_VERSION')) {
|
32 |
-
define('CAPSMAN_VERSION', '2.3.
|
33 |
-
define('CAPSMAN_ENH_VERSION', '2.3.
|
34 |
-
define('PUBLISHPRESS_CAPS_VERSION', '2.3.
|
35 |
}
|
36 |
|
37 |
foreach (get_option('active_plugins') as $plugin_file) {
|
38 |
if ( false !== strpos($plugin_file, 'capsman.php') ) {
|
39 |
add_action('admin_notices', function() {
|
40 |
-
echo '<div id="message" class="error fade" style="color: black">' . esc_html__(
|
41 |
});
|
42 |
return;
|
43 |
}
|
@@ -67,7 +67,7 @@ if ($pro_active) {
|
|
67 |
function($links, $file)
|
68 |
{
|
69 |
if ($file == plugin_basename(__FILE__)) {
|
70 |
-
$links[]=
|
71 |
}
|
72 |
|
73 |
return $links;
|
@@ -144,11 +144,6 @@ if ( is_multisite() )
|
|
144 |
// Check if Permissions is installed
|
145 |
if (!cme_is_plugin_active('press-permit-core.php') && !cme_is_plugin_active('presspermit-pro.php')) {
|
146 |
define('CAPSMAN_PERMISSIONS_INSTALLED', false);
|
147 |
-
|
148 |
-
// Sidebar banners library
|
149 |
-
if (!defined('PP_WP_BANNERS_VERSION')) {
|
150 |
-
require_once __DIR__ . '/vendor/publishpress/wordpress-banners/BannersMain.php';
|
151 |
-
}
|
152 |
} else {
|
153 |
define('CAPSMAN_PERMISSIONS_INSTALLED', true);
|
154 |
}
|
3 |
* Plugin Name: PublishPress Capabilities
|
4 |
* Plugin URI: https://publishpress.com/capability-manager/
|
5 |
* Description: Manage WordPress role definitions, per-site or network-wide. Organizes post capabilities by post type and operation.
|
6 |
+
* Version: 2.3.5
|
7 |
* Author: PublishPress
|
8 |
* Author URI: https://publishpress.com/
|
9 |
* Text Domain: capsman-enhanced
|
25 |
* @copyright Copyright (C) 2009, 2010 Jordi Canals; modifications Copyright (C) 2022 PublishPress
|
26 |
* @license GNU General Public License version 3
|
27 |
* @link https://publishpress.com/
|
28 |
+
* @version 2.3.5
|
29 |
*/
|
30 |
|
31 |
if (!defined('CAPSMAN_VERSION')) {
|
32 |
+
define('CAPSMAN_VERSION', '2.3.5');
|
33 |
+
define('CAPSMAN_ENH_VERSION', '2.3.5');
|
34 |
+
define('PUBLISHPRESS_CAPS_VERSION', '2.3.5');
|
35 |
}
|
36 |
|
37 |
foreach (get_option('active_plugins') as $plugin_file) {
|
38 |
if ( false !== strpos($plugin_file, 'capsman.php') ) {
|
39 |
add_action('admin_notices', function() {
|
40 |
+
echo '<div id="message" class="error fade" style="color: black">' . sprintf(esc_html__('%1s Error: %2s PublishPress Capabilities cannot function because another copy of Capability Manager is active.', 'capsman-enhanced'), '<strong>', '</strong>') . '</div>';
|
41 |
});
|
42 |
return;
|
43 |
}
|
67 |
function($links, $file)
|
68 |
{
|
69 |
if ($file == plugin_basename(__FILE__)) {
|
70 |
+
$links[]= '<strong>' . esc_html__('This plugin can be deleted.', 'capsman-enhanced') . '</strong>';
|
71 |
}
|
72 |
|
73 |
return $links;
|
144 |
// Check if Permissions is installed
|
145 |
if (!cme_is_plugin_active('press-permit-core.php') && !cme_is_plugin_active('presspermit-pro.php')) {
|
146 |
define('CAPSMAN_PERMISSIONS_INSTALLED', false);
|
|
|
|
|
|
|
|
|
|
|
147 |
} else {
|
148 |
define('CAPSMAN_PERMISSIONS_INSTALLED', true);
|
149 |
}
|
classes/pp-capabilities-notices.php
CHANGED
@@ -4,10 +4,10 @@ class PP_Capabilities_Notices
|
|
4 |
{
|
5 |
|
6 |
/**
|
7 |
-
*
|
8 |
-
*
|
9 |
*/
|
10 |
-
protected $
|
11 |
|
12 |
/**
|
13 |
* All types of notifications allowed
|
@@ -30,20 +30,16 @@ class PP_Capabilities_Notices
|
|
30 |
public function __construct()
|
31 |
{
|
32 |
/**
|
33 |
-
* Read
|
34 |
*/
|
35 |
-
if (
|
36 |
-
$messages =
|
37 |
$messages = @json_decode($messages, true);
|
38 |
if (is_array($messages)) {
|
39 |
-
$this->messages =
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
* Delete the cookie by setting an expiration time before current time
|
44 |
-
*/
|
45 |
-
if (!headers_sent()) {
|
46 |
-
@setcookie($this->cookie, '', strtotime("-1 month"), '/; samesite=strict');
|
47 |
}
|
48 |
}
|
49 |
}
|
@@ -59,10 +55,15 @@ class PP_Capabilities_Notices
|
|
59 |
$messages = $this->get($type);
|
60 |
foreach ($messages as $message) {
|
61 |
if (is_string($message)) {
|
62 |
-
printf('<div class="notice notice-%s is-dismissible"><p>%s</p></div>', esc_attr($type),
|
63 |
}
|
64 |
}
|
65 |
}
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
67 |
|
68 |
/**
|
@@ -101,13 +102,7 @@ class PP_Capabilities_Notices
|
|
101 |
//Update the messages
|
102 |
$this->messages[$type] = $messages;
|
103 |
|
104 |
-
|
105 |
-
/**
|
106 |
-
* Set the cookie to read in the next call
|
107 |
-
* Expiration time is set to a long number to avoid timezone differences
|
108 |
-
*/
|
109 |
-
@setcookie($this->cookie, json_encode($this->messages), strtotime('+1 month'), '/; samesite=strict');
|
110 |
-
}
|
111 |
|
112 |
return true;
|
113 |
}
|
4 |
{
|
5 |
|
6 |
/**
|
7 |
+
* Notification name to use
|
8 |
+
*
|
9 |
*/
|
10 |
+
protected $notification = 'pp_roles_notification';
|
11 |
|
12 |
/**
|
13 |
* All types of notifications allowed
|
30 |
public function __construct()
|
31 |
{
|
32 |
/**
|
33 |
+
* Read notification if exist
|
34 |
*/
|
35 |
+
if (get_option($this->notification)) {
|
36 |
+
$messages = get_option($this->notification);
|
37 |
$messages = @json_decode($messages, true);
|
38 |
if (is_array($messages)) {
|
39 |
+
$this->messages = [];
|
40 |
+
foreach($messages as $message_type => $message_content){
|
41 |
+
$this->messages[$message_type] = array_map('esc_html', $message_content);
|
42 |
+
}
|
|
|
|
|
|
|
|
|
43 |
}
|
44 |
}
|
45 |
}
|
55 |
$messages = $this->get($type);
|
56 |
foreach ($messages as $message) {
|
57 |
if (is_string($message)) {
|
58 |
+
printf('<div class="notice notice-%s is-dismissible"><p>%s</p></div>', esc_attr($type), esc_html($message));
|
59 |
}
|
60 |
}
|
61 |
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Delete the notification after display
|
65 |
+
*/
|
66 |
+
delete_option($this->notification);
|
67 |
}
|
68 |
|
69 |
/**
|
102 |
//Update the messages
|
103 |
$this->messages[$type] = $messages;
|
104 |
|
105 |
+
update_option($this->notification, json_encode($this->messages));
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
|
107 |
return true;
|
108 |
}
|
common/css/admin.css
CHANGED
@@ -1,703 +1,835 @@
|
|
1 |
-
/**
|
2 |
-
* Settings for admin dashboard.
|
3 |
-
* Based on the styles for Maintenance Mode plugin by Michael Wöhrer
|
4 |
-
*
|
5 |
-
* @version $Rev: 198515 $
|
6 |
-
* @author Jordi Canals
|
7 |
-
* @copyright Copyright (C) 2009, 2010 Jordi Canals
|
8 |
-
* @license GNU General Public License version 2
|
9 |
-
* @link http://alkivia.org
|
10 |
-
* @package Alkivia
|
11 |
-
* @subpackage CapsMan
|
12 |
-
*
|
13 |
-
|
14 |
-
Copyright 2009, 2010 Jordi Canals <devel@jcanals.cat>
|
15 |
-
|
16 |
-
This program is free software; you can redistribute it and/or
|
17 |
-
modify it under the terms of the GNU General Public License
|
18 |
-
version 2 as published by the Free Software Foundation.
|
19 |
-
|
20 |
-
This program is distributed in the hope that it will be useful,
|
21 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
22 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
23 |
-
GNU General Public License for more details.
|
24 |
-
|
25 |
-
You should have received a copy of the GNU General Public License
|
26 |
-
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
27 |
-
*/
|
28 |
-
|
29 |
-
|
30 |
-
/* ====================================================== SIDEBAR ICONS */
|
31 |
-
|
32 |
-
a.cap_type {
|
33 |
-
text-decoration: none;
|
34 |
-
}
|
35 |
-
|
36 |
-
a.cap_type:hover {
|
37 |
-
text-decoration: underline;
|
38 |
-
}
|
39 |
-
|
40 |
-
ul.cme-listhoriz li {
|
41 |
-
text-align: center;
|
42 |
-
padding-right: 1em;
|
43 |
-
}
|
44 |
-
|
45 |
-
ul.cme-listhoriz li table{
|
46 |
-
text-align: center;
|
47 |
-
}
|
48 |
-
|
49 |
-
|
50 |
-
ul.cme-listhoriz {
|
51 |
-
width: 100%;
|
52 |
-
clear: both;
|
53 |
-
float: left;
|
54 |
-
margin: 0;
|
55 |
-
padding: 0;
|
56 |
-
}
|
57 |
-
|
58 |
-
ul.cme-listhoriz li {
|
59 |
-
list-style: none;
|
60 |
-
float: left;
|
61 |
-
margin: 0;
|
62 |
-
}
|
63 |
-
|
64 |
-
|
65 |
-
div.cme-listhoriz h3 {
|
66 |
-
margin: 0.2em;
|
67 |
-
}
|
68 |
-
|
69 |
-
div.cme-cap-type-tables {
|
70 |
-
border: 1px solid black;
|
71 |
-
}
|
72 |
-
|
73 |
-
/*
|
74 |
-
table.cme-typecaps {
|
75 |
-
|
76 |
-
}
|
77 |
-
*/
|
78 |
-
|
79 |
-
table .cme-typecaps td:first-of-type {
|
80 |
-
text-align: left;
|
81 |
-
}
|
82 |
-
|
83 |
-
table .cme-typecaps td {
|
84 |
-
text-align: center;
|
85 |
-
height: 2em;
|
86 |
-
}
|
87 |
-
|
88 |
-
table .cme-typecaps th:first-of-type {
|
89 |
-
width: 160px;
|
90 |
-
}
|
91 |
-
|
92 |
-
table .cme-typecaps th {
|
93 |
-
cursor: pointer;
|
94 |
-
text-align: center;
|
95 |
-
}
|
96 |
-
|
97 |
-
table.cme-typecaps span.cap-x {
|
98 |
-
display: none;
|
99 |
-
cursor: pointer;
|
100 |
-
}
|
101 |
-
|
102 |
-
table.cme-checklist span.cap-x {
|
103 |
-
cursor: pointer;
|
104 |
-
}
|
105 |
-
|
106 |
-
table.cme-checklist tr td input[type="checkbox"] {
|
107 |
-
margin-right: 10px !important;
|
108 |
-
}
|
109 |
-
|
110 |
-
h3.cme-cap-section {
|
111 |
-
margin-top:0;
|
112 |
-
}
|
113 |
-
|
114 |
-
a.neg-cap, a.cap-on, a.type-on, a.neg-type-caps, a.cme-neg-all {
|
115 |
-
text-decoration: none;
|
116 |
-
}
|
117 |
-
|
118 |
-
span.cap-x, a.cme-neg-all {
|
119 |
-
color: red;
|
120 |
-
font-size: 1.5em;
|
121 |
-
padding-left: 1px;
|
122 |
-
padding-right: 1px;
|
123 |
-
vertical-align: middle;
|
124 |
-
}
|
125 |
-
|
126 |
-
a.cme-switch-all {
|
127 |
-
color: black;
|
128 |
-
font-size: 1.5em;
|
129 |
-
padding-right: 1px;
|
130 |
-
padding-right: 1px;
|
131 |
-
vertical-align: middle;
|
132 |
-
text-decoration: line-through !important;
|
133 |
-
}
|
134 |
-
|
135 |
-
td.cap-yes span {
|
136 |
-
color:green;font-weight:bold;
|
137 |
-
}
|
138 |
-
|
139 |
-
td.cap-no {
|
140 |
-
color:#777;
|
141 |
-
}
|
142 |
-
|
143 |
-
td.cap-neg label span {
|
144 |
-
color: red;
|
145 |
-
}
|
146 |
-
|
147 |
-
td.cap-neg input {
|
148 |
-
display:none;
|
149 |
-
}
|
150 |
-
|
151 |
-
td.cap-no span.cap-x, td.cap-yes span.cap-x {
|
152 |
-
display:none;
|
153 |
-
}
|
154 |
-
|
155 |
-
td.cap-neg span.cap-x {
|
156 |
-
display:inline;
|
157 |
-
}
|
158 |
-
|
159 |
-
td.cap-neg a.neg-cap {
|
160 |
-
display:none;
|
161 |
-
}
|
162 |
-
|
163 |
-
td.cap-metagroup label span {
|
164 |
-
color: #080 !important;
|
165 |
-
}
|
166 |
-
|
167 |
-
td.cap-locked a.neg-cap {
|
168 |
-
display: none !important;
|
169 |
-
}
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
}
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
}
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
}
|
221 |
-
|
222 |
-
.
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
}
|
239 |
-
|
240 |
-
#akmin
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
margin-left: auto;
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
padding-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
}
|
301 |
-
|
302 |
-
div.publishpress-caps-manage span.manage-members
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
}
|
320 |
-
|
321 |
-
div.publishpress-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
}
|
350 |
-
|
351 |
-
div.
|
352 |
-
|
353 |
-
}
|
354 |
-
|
355 |
-
div.
|
356 |
-
|
357 |
-
}
|
358 |
-
|
359 |
-
div.cme-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
padding-left:
|
370 |
-
}
|
371 |
-
|
372 |
-
div.publishpress-caps-backup td.cme-backup-info
|
373 |
-
|
374 |
-
}
|
375 |
-
|
376 |
-
div.
|
377 |
-
|
378 |
-
}
|
379 |
-
|
380 |
-
div.publishpress-caps-backup td.cme-backup-info
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
}
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
}
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
}
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
}
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
}
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
width: 100%;
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
}
|
466 |
-
|
467 |
-
#pp-capability-menu-wrapper table td
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
}
|
474 |
-
|
475 |
-
#pp-capability-menu-wrapper
|
476 |
-
|
477 |
-
}
|
478 |
-
|
479 |
-
#pp-capability-menu-wrapper
|
480 |
-
|
481 |
-
}
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
}
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
.pp-capability-menus .menu-item-link
|
543 |
-
display:
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
}
|
595 |
-
|
596 |
-
.
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
}
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
}
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Settings for admin dashboard.
|
3 |
+
* Based on the styles for Maintenance Mode plugin by Michael Wöhrer
|
4 |
+
*
|
5 |
+
* @version $Rev: 198515 $
|
6 |
+
* @author Jordi Canals
|
7 |
+
* @copyright Copyright (C) 2009, 2010 Jordi Canals
|
8 |
+
* @license GNU General Public License version 2
|
9 |
+
* @link http://alkivia.org
|
10 |
+
* @package Alkivia
|
11 |
+
* @subpackage CapsMan
|
12 |
+
*
|
13 |
+
|
14 |
+
Copyright 2009, 2010 Jordi Canals <devel@jcanals.cat>
|
15 |
+
|
16 |
+
This program is free software; you can redistribute it and/or
|
17 |
+
modify it under the terms of the GNU General Public License
|
18 |
+
version 2 as published by the Free Software Foundation.
|
19 |
+
|
20 |
+
This program is distributed in the hope that it will be useful,
|
21 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
22 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
23 |
+
GNU General Public License for more details.
|
24 |
+
|
25 |
+
You should have received a copy of the GNU General Public License
|
26 |
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
27 |
+
*/
|
28 |
+
|
29 |
+
|
30 |
+
/* ====================================================== SIDEBAR ICONS */
|
31 |
+
|
32 |
+
a.cap_type {
|
33 |
+
text-decoration: none;
|
34 |
+
}
|
35 |
+
|
36 |
+
a.cap_type:hover {
|
37 |
+
text-decoration: underline;
|
38 |
+
}
|
39 |
+
|
40 |
+
ul.cme-listhoriz li {
|
41 |
+
text-align: center;
|
42 |
+
padding-right: 1em;
|
43 |
+
}
|
44 |
+
|
45 |
+
ul.cme-listhoriz li table{
|
46 |
+
text-align: center;
|
47 |
+
}
|
48 |
+
|
49 |
+
|
50 |
+
ul.cme-listhoriz {
|
51 |
+
width: 100%;
|
52 |
+
clear: both;
|
53 |
+
float: left;
|
54 |
+
margin: 0;
|
55 |
+
padding: 0;
|
56 |
+
}
|
57 |
+
|
58 |
+
ul.cme-listhoriz li {
|
59 |
+
list-style: none;
|
60 |
+
float: left;
|
61 |
+
margin: 0;
|
62 |
+
}
|
63 |
+
|
64 |
+
|
65 |
+
div.cme-listhoriz h3 {
|
66 |
+
margin: 0.2em;
|
67 |
+
}
|
68 |
+
|
69 |
+
div.cme-cap-type-tables {
|
70 |
+
border: 1px solid black;
|
71 |
+
}
|
72 |
+
|
73 |
+
/*
|
74 |
+
table.cme-typecaps {
|
75 |
+
|
76 |
+
}
|
77 |
+
*/
|
78 |
+
|
79 |
+
table .cme-typecaps td:first-of-type {
|
80 |
+
text-align: left;
|
81 |
+
}
|
82 |
+
|
83 |
+
table .cme-typecaps td {
|
84 |
+
text-align: center;
|
85 |
+
height: 2em;
|
86 |
+
}
|
87 |
+
|
88 |
+
table .cme-typecaps th:first-of-type {
|
89 |
+
width: 160px;
|
90 |
+
}
|
91 |
+
|
92 |
+
table .cme-typecaps th {
|
93 |
+
cursor: pointer;
|
94 |
+
text-align: center;
|
95 |
+
}
|
96 |
+
|
97 |
+
table.cme-typecaps span.cap-x {
|
98 |
+
display: none;
|
99 |
+
cursor: pointer;
|
100 |
+
}
|
101 |
+
|
102 |
+
table.cme-checklist span.cap-x {
|
103 |
+
cursor: pointer;
|
104 |
+
}
|
105 |
+
|
106 |
+
table.cme-checklist tr td input[type="checkbox"] {
|
107 |
+
margin-right: 10px !important;
|
108 |
+
}
|
109 |
+
|
110 |
+
h3.cme-cap-section {
|
111 |
+
margin-top:0;
|
112 |
+
}
|
113 |
+
|
114 |
+
a.neg-cap, a.cap-on, a.type-on, a.neg-type-caps, a.cme-neg-all {
|
115 |
+
text-decoration: none;
|
116 |
+
}
|
117 |
+
|
118 |
+
span.cap-x, a.cme-neg-all {
|
119 |
+
color: red;
|
120 |
+
font-size: 1.5em;
|
121 |
+
padding-left: 1px;
|
122 |
+
padding-right: 1px;
|
123 |
+
vertical-align: middle;
|
124 |
+
}
|
125 |
+
|
126 |
+
a.cme-switch-all {
|
127 |
+
color: black;
|
128 |
+
font-size: 1.5em;
|
129 |
+
padding-right: 1px;
|
130 |
+
padding-right: 1px;
|
131 |
+
vertical-align: middle;
|
132 |
+
text-decoration: line-through !important;
|
133 |
+
}
|
134 |
+
|
135 |
+
td.cap-yes span {
|
136 |
+
color:green;font-weight:bold;
|
137 |
+
}
|
138 |
+
|
139 |
+
td.cap-no {
|
140 |
+
color:#777;
|
141 |
+
}
|
142 |
+
|
143 |
+
td.cap-neg label span {
|
144 |
+
color: red;
|
145 |
+
}
|
146 |
+
|
147 |
+
td.cap-neg input {
|
148 |
+
display:none;
|
149 |
+
}
|
150 |
+
|
151 |
+
td.cap-no span.cap-x, td.cap-yes span.cap-x {
|
152 |
+
display:none;
|
153 |
+
}
|
154 |
+
|
155 |
+
td.cap-neg span.cap-x {
|
156 |
+
display:inline;
|
157 |
+
}
|
158 |
+
|
159 |
+
td.cap-neg a.neg-cap {
|
160 |
+
display:none;
|
161 |
+
}
|
162 |
+
|
163 |
+
td.cap-metagroup label span {
|
164 |
+
color: #080 !important;
|
165 |
+
}
|
166 |
+
|
167 |
+
td.cap-locked a.neg-cap {
|
168 |
+
display: none !important;
|
169 |
+
}
|
170 |
+
|
171 |
+
tr.cme-bulk-select td {
|
172 |
+
padding-top: 8px;
|
173 |
+
padding-bottom: 8px;
|
174 |
+
color: black;
|
175 |
+
-webkit-user-select: none;
|
176 |
+
-moz-user-select: none;
|
177 |
+
-ms-user-select: none;
|
178 |
+
user-select: none;
|
179 |
+
}
|
180 |
+
|
181 |
+
tr.cme-bulk-select span {
|
182 |
+
vertical-align: bottom;
|
183 |
+
}
|
184 |
+
|
185 |
+
a.type-off, a.neg-cap, a.cme-neg-all, a.neg-type-caps {
|
186 |
+
color: #800;
|
187 |
+
}
|
188 |
+
|
189 |
+
a.type-on, a.cap-on, a.cme-switch-all {
|
190 |
+
color: black;
|
191 |
+
}
|
192 |
+
|
193 |
+
input.cme-check-all, a.cme-neg-all {
|
194 |
+
margin-right: 10px;
|
195 |
+
padding-right: 10px;
|
196 |
+
}
|
197 |
+
|
198 |
+
#akmin input.button {
|
199 |
+
margin-top: 5px;
|
200 |
+
}
|
201 |
+
|
202 |
+
#akmin input.button-primary {
|
203 |
+
margin: 0;
|
204 |
+
}
|
205 |
+
|
206 |
+
#akmin td.sidebar {
|
207 |
+
width: 300px;
|
208 |
+
}
|
209 |
+
|
210 |
+
#akmin .cme-backup-tool a {
|
211 |
+
padding-left:0;
|
212 |
+
}
|
213 |
+
|
214 |
+
#akmin input.regular-text {
|
215 |
+
width: 200px;
|
216 |
+
}
|
217 |
+
|
218 |
+
#akmin input.tight-text {
|
219 |
+
width: 125px;
|
220 |
+
}
|
221 |
+
|
222 |
+
.cme-subtext {
|
223 |
+
color: #686868;
|
224 |
+
font-style: italic;
|
225 |
+
margin-top:5px;
|
226 |
+
}
|
227 |
+
|
228 |
+
td.cm-has-via-pp {
|
229 |
+
background-color: #84fb84;
|
230 |
+
}
|
231 |
+
|
232 |
+
div.pressshack-admin-wrapper footer {
|
233 |
+
padding-right: 5px;
|
234 |
+
}
|
235 |
+
|
236 |
+
#akmin div.publishpress-headline {
|
237 |
+
line-height:25px;
|
238 |
+
}
|
239 |
+
|
240 |
+
#akmin div.publishpress-filters {
|
241 |
+
margin-bottom: 20px; margin-top: 10px;
|
242 |
+
}
|
243 |
+
|
244 |
+
#akmin span.publishpress-thanks{
|
245 |
+
margin-left:5px;
|
246 |
+
color:#655997;
|
247 |
+
white-space:nowrap;
|
248 |
+
}
|
249 |
+
|
250 |
+
#akmin span.publishpress-thanks,#akmin span.publishpress-thanks a,#akmin span.publishpress-thanks a:visited {
|
251 |
+
color:#655997;
|
252 |
+
font-weight:bold;
|
253 |
+
}
|
254 |
+
|
255 |
+
table#akmin td li.publishpress-contact{
|
256 |
+
text-align:center;
|
257 |
+
}
|
258 |
+
|
259 |
+
table#akmin td li.publishpress-contact a{
|
260 |
+
padding:5px 0 5px 0;
|
261 |
+
}
|
262 |
+
|
263 |
+
#pp_features {
|
264 |
+
display:none;
|
265 |
+
border:1px solid #eee;
|
266 |
+
padding:5px;
|
267 |
+
text-align:center;
|
268 |
+
min-width:600px;
|
269 |
+
}
|
270 |
+
|
271 |
+
#pp_features div.pp-logo {
|
272 |
+
text-align: center;
|
273 |
+
}
|
274 |
+
|
275 |
+
#pp_features div.features-wrap {
|
276 |
+
margin-left: auto;
|
277 |
+
margin-right: auto;
|
278 |
+
text-align: center;
|
279 |
+
width: 600px;
|
280 |
+
}
|
281 |
+
|
282 |
+
#pp_features ul.pp-features {
|
283 |
+
list-style: none;
|
284 |
+
padding-top:10px;
|
285 |
+
text-align:left;
|
286 |
+
margin-left: auto;
|
287 |
+
}
|
288 |
+
|
289 |
+
#pp_features ul.pp-features li:before {
|
290 |
+
content: "\2713\0020";
|
291 |
+
}
|
292 |
+
|
293 |
+
#pp_features ul.pp-features li {
|
294 |
+
padding-bottom: 5px;
|
295 |
+
}
|
296 |
+
|
297 |
+
#pp_features img.cme-play {
|
298 |
+
margin-bottom: -3px;
|
299 |
+
margin-left: 5px;
|
300 |
+
}
|
301 |
+
|
302 |
+
div.publishpress-caps-manage span.manage-members {
|
303 |
+
margin-left:5px;
|
304 |
+
font-weight:normal;
|
305 |
+
color: #777;
|
306 |
+
}
|
307 |
+
|
308 |
+
div.publishpress-caps-manage span.manage-members a {
|
309 |
+
color: #777;
|
310 |
+
}
|
311 |
+
|
312 |
+
div.publishpress-caps-manage span.manage-members a:hover {
|
313 |
+
text-decoration: underline;
|
314 |
+
color:#655997;
|
315 |
+
}
|
316 |
+
|
317 |
+
div.publishpress-headline .cme-subtext a {
|
318 |
+
font-weight: bold;
|
319 |
+
}
|
320 |
+
|
321 |
+
div.publishpress-headline .cme-subtext a:hover {
|
322 |
+
text-decoration: underline;
|
323 |
+
}
|
324 |
+
|
325 |
+
div.publishpress-caps-backup th {
|
326 |
+
text-align:right;
|
327 |
+
padding-top:28px;
|
328 |
+
width: 140px;
|
329 |
+
}
|
330 |
+
|
331 |
+
div.publishpress-caps-backup p.description {max-width:620px !important;}
|
332 |
+
|
333 |
+
div.publishpress-caps-backup #cme_select_restore_div {height:250px;}
|
334 |
+
div.publishpress-caps-backup #cme_select_restore {
|
335 |
+
list-style:none;
|
336 |
+
max-height:250px;
|
337 |
+
margin:0;
|
338 |
+
overflow:auto;
|
339 |
+
padding:0;
|
340 |
+
background-color: #eee;
|
341 |
+
padding: 5px;
|
342 |
+
text-indent:10px;
|
343 |
+
}
|
344 |
+
div.publishpress-caps-backup #cme_select_restore li {
|
345 |
+
padding: 7px 15px 7px 7px;
|
346 |
+
background-color: #f4f4f4;
|
347 |
+
margin: 0;
|
348 |
+
line-height:25px;
|
349 |
+
}
|
350 |
+
|
351 |
+
div.publishpress-caps-backup #cme_select_restore li label {
|
352 |
+
font-size: 13px;
|
353 |
+
}
|
354 |
+
|
355 |
+
div.publishpress-caps-backup #cme_select_restore li:nth-child(even){
|
356 |
+
background-color:white;
|
357 |
+
}
|
358 |
+
|
359 |
+
div.cme-selected-backup-caption {
|
360 |
+
padding-left: 5px;
|
361 |
+
}
|
362 |
+
|
363 |
+
div.pp-caps-backup-button {
|
364 |
+
margin-top: 10px;
|
365 |
+
}
|
366 |
+
|
367 |
+
div.cme-restore-button {
|
368 |
+
margin-top: 25px;
|
369 |
+
padding-left: 5px;
|
370 |
+
}
|
371 |
+
|
372 |
+
div.publishpress-caps-backup td.cme-backup-info{
|
373 |
+
padding:0;
|
374 |
+
}
|
375 |
+
|
376 |
+
div.cme-show-backup {
|
377 |
+
padding-left:20px;
|
378 |
+
}
|
379 |
+
|
380 |
+
div.publishpress-caps-backup td.cme-backup-info li {
|
381 |
+
display:none;
|
382 |
+
}
|
383 |
+
|
384 |
+
div.publishpress-caps-backup td.cme-backup-info li.cme-change {
|
385 |
+
display: list-item;
|
386 |
+
}
|
387 |
+
|
388 |
+
div.publishpress-caps-backup td.cme-backup-info .cme-plus {
|
389 |
+
font-weight: bold;
|
390 |
+
color: green;
|
391 |
+
}
|
392 |
+
|
393 |
+
.cme-backup-info ul.pp-restore-caps {
|
394 |
+
display: inline-block;
|
395 |
+
}
|
396 |
+
|
397 |
+
ul.pp-restore-caps li {
|
398 |
+
margin-left: 20px;
|
399 |
+
}
|
400 |
+
|
401 |
+
span.pp-restore-caps-no-change {
|
402 |
+
font-style: italic;
|
403 |
+
padding-left : 20px;
|
404 |
+
}
|
405 |
+
|
406 |
+
div.publishpress-caps-backup td.cme-backup-info .cme-minus {
|
407 |
+
font-weight: bold;
|
408 |
+
color: #a00;
|
409 |
+
text-decoration: line-through;
|
410 |
+
}
|
411 |
+
|
412 |
+
div.publishpress-caps-backup td.cme-backup-info .cme-negate {
|
413 |
+
font-weight: bold;
|
414 |
+
background-color: #a00;
|
415 |
+
color: white;
|
416 |
+
text-decoration: line-through;
|
417 |
+
}
|
418 |
+
|
419 |
+
.cme-backup-info ul.toplevel_page_pp-capabilities {
|
420 |
+
display: inline-block;
|
421 |
+
padding-left:30px;
|
422 |
+
}
|
423 |
+
|
424 |
+
.restrict-column input[type=checkbox]:checked:focus {
|
425 |
+
border-color: crimson;
|
426 |
+
box-shadow: 0 0 0 1px crimson;
|
427 |
+
}
|
428 |
+
|
429 |
+
.restrict-column input[type=checkbox]:checked::before {
|
430 |
+
content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHZpZXdCb3g9IjAgMCAyMCAyMCIgc3R5bGU9Ii1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7Ij48cGF0aCBkPSJNMTQuOTUgNi40NkwxMS40MSAxMGwzLjU0IDMuNTRsLTEuNDEgMS40MUwxMCAxMS40MmwtMy41MyAzLjUzbC0xLjQyLTEuNDJMOC41OCAxMEw1LjA1IDYuNDdsMS40Mi0xLjQyTDEwIDguNThsMy41NC0zLjUzeiIgZmlsbD0iI2RjMTQzYyIvPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0icmdiYSgwLCAwLCAwLCAwKSIgLz48L3N2Zz4=");
|
431 |
+
}
|
432 |
+
|
433 |
+
#ppcb-tab-reset p {
|
434 |
+
text-align:center;
|
435 |
+
}
|
436 |
+
|
437 |
+
.publishpress-caps-backup span.pp-caps-warning {
|
438 |
+
color:red;
|
439 |
+
}
|
440 |
+
|
441 |
+
table#akmin tr td input[type=checkbox] {
|
442 |
+
margin: 0;
|
443 |
+
}
|
444 |
+
|
445 |
+
|
446 |
+
.pp-capability-menus {
|
447 |
+
width: 100%;
|
448 |
+
overflow: hidden;
|
449 |
+
background: #fff;
|
450 |
+
background: linear-gradient(90deg, #fafafa 0%, #fafafa 20%, #fff 20%, #fff 100%);
|
451 |
+
}
|
452 |
+
|
453 |
+
.pp-capability-menus .pp-capability-menus-wrap {
|
454 |
+
float: left;
|
455 |
+
width: 100%;
|
456 |
+
margin-left: -1px;
|
457 |
+
margin-right: 20px;
|
458 |
+
}
|
459 |
+
|
460 |
+
|
461 |
+
#pp-capability-menu-wrapper table {
|
462 |
+
border-right: none;
|
463 |
+
border-top: none;
|
464 |
+
border-bottom: none;
|
465 |
+
}
|
466 |
+
|
467 |
+
#pp-capability-menu-wrapper table td,
|
468 |
+
#pp-capability-menu-wrapper table th {
|
469 |
+
padding: 10px;
|
470 |
+
padding-bottom: 10px;
|
471 |
+
font-size: 13px;
|
472 |
+
line-height: 20px;
|
473 |
+
}
|
474 |
+
|
475 |
+
#pp-capability-menu-wrapper table td h4.ppc-menu-row-section {
|
476 |
+
margin-bottom: 0;
|
477 |
+
}
|
478 |
+
|
479 |
+
#pp-capability-menu-wrapper table td {
|
480 |
+
padding: 9px;
|
481 |
+
}
|
482 |
+
|
483 |
+
#pp-capability-menu-wrapper tbody tr:last-of-type td {
|
484 |
+
border-bottom: none;
|
485 |
+
}
|
486 |
+
|
487 |
+
#pp-capability-menu-wrapper tfoot th {
|
488 |
+
border-color: #eee;
|
489 |
+
}
|
490 |
+
|
491 |
+
|
492 |
+
table#akmin .pp-capability-menus-select .restrict-column {
|
493 |
+
min-width: 90px;
|
494 |
+
text-align: center;
|
495 |
+
display: table-cell !important;
|
496 |
+
clear: none !important;
|
497 |
+
}
|
498 |
+
|
499 |
+
.pp-capability-menus .menu-item-link {
|
500 |
+
display: inline;
|
501 |
+
color: #0073aa;
|
502 |
+
margin: -4px;
|
503 |
+
line-height: inherit;
|
504 |
+
padding: 4px 8px;
|
505 |
+
border: 1px solid transparent;
|
506 |
+
background: transparent;
|
507 |
+
border-radius: 0;
|
508 |
+
outline: none;
|
509 |
+
-webkit-transition: all 0.25s ease-out;
|
510 |
+
-moz-transition: all 0.25s ease-out;
|
511 |
+
-o-transition: all 0.25s ease-out;
|
512 |
+
transition: all 0.25s ease-out;
|
513 |
+
}
|
514 |
+
|
515 |
+
.pp-capability-menus .menu-item-link:hover,
|
516 |
+
.pp-capability-menus .menu-item-link:focus {
|
517 |
+
border-color: #eee;
|
518 |
+
background: #fafafa;
|
519 |
+
cursor: pointer;
|
520 |
+
}
|
521 |
+
|
522 |
+
.pp-capability-menus .menu-item-link:active {
|
523 |
+
color: #0073aa;
|
524 |
+
border-color: #0073aa;
|
525 |
+
}
|
526 |
+
|
527 |
+
.pp-capability-menus .check-all-menu-link,
|
528 |
+
.pp-capability-menus .check-all-menu-link:active {
|
529 |
+
color: #555;
|
530 |
+
}
|
531 |
+
|
532 |
+
.pp-capability-menus .menu-item-link.restricted,
|
533 |
+
.pp-capability-menus .menu-item-link.restricted:active {
|
534 |
+
color: crimson;
|
535 |
+
}
|
536 |
+
|
537 |
+
.pp-capability-menus .menu-item-link.disabled,
|
538 |
+
.pp-capability-menus .menu-item-link.disabled:active {
|
539 |
+
color: #555;
|
540 |
+
}
|
541 |
+
|
542 |
+
.pp-capability-menus .menu-item-link + .dashicons {
|
543 |
+
display: none;
|
544 |
+
margin-top: 1px;
|
545 |
+
margin-bottom: -1px;
|
546 |
+
line-height: inherit;
|
547 |
+
}
|
548 |
+
|
549 |
+
.pp-capability-menus .menu-item-link:hover + .dashicons,
|
550 |
+
.pp-capability-menus .menu-item-link:focus + .dashicons {
|
551 |
+
display: inline-block;
|
552 |
+
}
|
553 |
+
|
554 |
+
.pp-capability-menus-wrapper .button-primary {
|
555 |
+
margin-bottom: 25px !important;
|
556 |
+
}
|
557 |
+
|
558 |
+
|
559 |
+
.pp-capability-menus-wrapper .tooltip {
|
560 |
+
position: relative;
|
561 |
+
display: inline-block;
|
562 |
+
border-bottom: 1px dotted black;
|
563 |
+
}
|
564 |
+
|
565 |
+
.pp-capability-menus-wrapper .tooltip .tooltiptext {
|
566 |
+
visibility: hidden;
|
567 |
+
width: 120px;
|
568 |
+
background-color: black;
|
569 |
+
color: #fff;
|
570 |
+
text-align: center;
|
571 |
+
padding: 5px 0;
|
572 |
+
border-radius: 6px;
|
573 |
+
|
574 |
+
position: absolute;
|
575 |
+
z-index: 1;
|
576 |
+
}
|
577 |
+
|
578 |
+
.pp-capability-menus-wrapper .tooltip:hover .tooltiptext {
|
579 |
+
visibility: visible;
|
580 |
+
}
|
581 |
+
|
582 |
+
.capabilities_page_pp-capabilities-admin-menus input.ppc-admin-menu-submit,
|
583 |
+
.capabilities_page_pp-capabilities-nav-menus input.ppc-nav-menu-submit {
|
584 |
+
margin-bottom: 10px !important;
|
585 |
+
}
|
586 |
+
|
587 |
+
.pp-capability-menus-wrapper .features-section-header {
|
588 |
+
padding-left: 10px !important;
|
589 |
+
}
|
590 |
+
|
591 |
+
|
592 |
+
body.capabilities_page_pp-capabilities-admin-features .pp-capability-menus-select .restrict-column {
|
593 |
+
width: 70px !important;
|
594 |
+
}
|
595 |
+
|
596 |
+
.pp-column-right.capabilities-sidebar .button.button-primary {
|
597 |
+
color: #2271b1;
|
598 |
+
border-color: #2271b1;
|
599 |
+
background: #f6f7f7;
|
600 |
+
}
|
601 |
+
|
602 |
+
/* Roles screen */
|
603 |
+
|
604 |
+
.roles-capabilities-title {
|
605 |
+
font-weight: bold !important;
|
606 |
+
padding-left: 0 !important;
|
607 |
+
}
|
608 |
+
.pp-role-edit-wrap #publishing-action {
|
609 |
+
text-align: unset !important;
|
610 |
+
float: unset !important;
|
611 |
+
}
|
612 |
+
|
613 |
+
.pp-roles-delete-botton {
|
614 |
+
color: red !important;
|
615 |
+
border-color: red !important;
|
616 |
+
}
|
617 |
+
|
618 |
+
.ppc-roles-section {
|
619 |
+
min-height: 370px;
|
620 |
+
}
|
621 |
+
|
622 |
+
#poststuff .ppc-roles-section.postbox .inside {
|
623 |
+
margin-left: 0 !important;
|
624 |
+
margin-top: 0 !important;
|
625 |
+
padding-left: 0 !important;
|
626 |
+
}
|
627 |
+
|
628 |
+
.ppc-roles-section input[type=text],
|
629 |
+
.ppc-roles-section input[type=number],
|
630 |
+
.ppc-roles-section select {
|
631 |
+
width: 300px;
|
632 |
+
}
|
633 |
+
|
634 |
+
.ppc-roles-section #poststuff {
|
635 |
+
min-height: 600px;
|
636 |
+
}
|
637 |
+
|
638 |
+
ul.ppc-roles-tab {
|
639 |
+
margin: 0;
|
640 |
+
width: 20%;
|
641 |
+
float: left;
|
642 |
+
line-height: 1em;
|
643 |
+
padding: 0 0 10px;
|
644 |
+
position: relative;
|
645 |
+
background-color: #fafafa;
|
646 |
+
border-right: 1px solid #eee;
|
647 |
+
box-sizing: border-box;
|
648 |
+
min-height: 363px;
|
649 |
+
}
|
650 |
+
.ppc-roles-tab-content {
|
651 |
+
float: left;
|
652 |
+
width: 80%;
|
653 |
+
min-height: 275px;
|
654 |
+
box-sizing: border-box;
|
655 |
+
padding-left: 10px;
|
656 |
+
}
|
657 |
+
|
658 |
+
|
659 |
+
ul.ppc-roles-tab li {
|
660 |
+
margin: 0;
|
661 |
+
padding: 0;
|
662 |
+
display: block;
|
663 |
+
position: relative;
|
664 |
+
}
|
665 |
+
ul.ppc-roles-tab li a {
|
666 |
+
margin: 0;
|
667 |
+
padding: 10px;
|
668 |
+
display: block;
|
669 |
+
box-shadow: none;
|
670 |
+
text-decoration: none;
|
671 |
+
line-height: 20px!important;
|
672 |
+
border-bottom: 1px solid #eee;
|
673 |
+
}
|
674 |
+
|
675 |
+
ul.ppc-roles-tab li a span {
|
676 |
+
margin-right: .618em;
|
677 |
+
}
|
678 |
+
|
679 |
+
ul.ppc-roles-tab li a span.dashicons {
|
680 |
+
margin-left: 0;
|
681 |
+
font-size: 15px;
|
682 |
+
}
|
683 |
+
ul.ppc-roles-tab li.active a {
|
684 |
+
color: #555;
|
685 |
+
position: relative;
|
686 |
+
background-color: #eee;
|
687 |
+
}
|
688 |
+
|
689 |
+
.ppc-roles-sidebar ul.pp-roles-capabilities li {
|
690 |
+
margin-bottom: 0;
|
691 |
+
}
|
692 |
+
|
693 |
+
.ppc-roles-sidebar ul.pp-roles-capabilities li::before {
|
694 |
+
font-family: Dashicons;
|
695 |
+
font-weight: 400;
|
696 |
+
text-transform: none;
|
697 |
+
line-height: 1;
|
698 |
+
-webkit-font-smoothing: antialiased;
|
699 |
+
content: "\f12a";
|
700 |
+
font-variant: normal;
|
701 |
+
text-decoration: none;
|
702 |
+
color: green;
|
703 |
+
}
|
704 |
+
.roles-capabilities-load-more,
|
705 |
+
.roles-capabilities-load-less {
|
706 |
+
cursor: pointer;
|
707 |
+
color: #2271b1;
|
708 |
+
text-decoration: underline;
|
709 |
+
}
|
710 |
+
|
711 |
+
.ppc-roles-section .red-warning {
|
712 |
+
color: red;
|
713 |
+
font-weight: bold;
|
714 |
+
}
|
715 |
+
|
716 |
+
/* Filters */
|
717 |
+
.ppc-filter-wrapper {
|
718 |
+
float: right;
|
719 |
+
margin-bottom: 15px;
|
720 |
+
display: flex;
|
721 |
+
}
|
722 |
+
|
723 |
+
.ppc-filter-wrapper .button {
|
724 |
+
margin-left: 5px;
|
725 |
+
}
|
726 |
+
|
727 |
+
.ppc-filter-no-results {
|
728 |
+
margin-top: 20px;
|
729 |
+
}
|
730 |
+
|
731 |
+
/* ====================================================== Main Screen */
|
732 |
+
|
733 |
+
#ppc-capabilities-wrapper {
|
734 |
+
display: grid;
|
735 |
+
grid-template-columns: 1fr 4fr;
|
736 |
+
min-height: 400px;
|
737 |
+
}
|
738 |
+
|
739 |
+
/*
|
740 |
+
#ppc-capabilities-wrapper .ppc-capabilities-tabs {
|
741 |
+
|
742 |
+
}
|
743 |
+
*/
|
744 |
+
|
745 |
+
#ppc-capabilities-wrapper .ppc-capabilities-tabs > ul {
|
746 |
+
padding: 0;
|
747 |
+
margin: 0;
|
748 |
+
display: block;
|
749 |
+
}
|
750 |
+
|
751 |
+
#ppc-capabilities-wrapper .ppc-capabilities-tabs > ul > li {
|
752 |
+
margin: 0;
|
753 |
+
padding: 15px 12px;
|
754 |
+
background: #f0f0f1;
|
755 |
+
cursor: pointer;
|
756 |
+
border-bottom: 1px solid #ccc;
|
757 |
+
border-right: 1px solid #ccc;
|
758 |
+
font-size: 1.1em;
|
759 |
+
line-height: 1.3em;
|
760 |
+
}
|
761 |
+
|
762 |
+
#ppc-capabilities-wrapper .ppc-capabilities-tabs > ul > li:last-child {
|
763 |
+
margin-bottom: 20px;
|
764 |
+
}
|
765 |
+
|
766 |
+
#ppc-capabilities-wrapper .ppc-capabilities-tabs > ul > li.ppc-capabilities-tab-active {
|
767 |
+
background: #fff;
|
768 |
+
border-right-color: #fff;
|
769 |
+
}
|
770 |
+
|
771 |
+
#ppc-capabilities-wrapper .ppc-capabilities-content > div {
|
772 |
+
padding: 20px;
|
773 |
+
}
|
774 |
+
|
775 |
+
#ppc-capabilities-wrapper .ppc-capabilities-content > div > h3 {
|
776 |
+
margin-top: 0;
|
777 |
+
display: inline-block;
|
778 |
+
}
|
779 |
+
|
780 |
+
#publishpress_caps_form table#akmin td .pp-sidebar-box p:not(:last-of-type) {
|
781 |
+
margin: 15px 0;
|
782 |
+
padding: 0;
|
783 |
+
}
|
784 |
+
|
785 |
+
@media (max-width: 1199px) {
|
786 |
+
|
787 |
+
#ppc-capabilities-wrapper {
|
788 |
+
display: block;
|
789 |
+
}
|
790 |
+
|
791 |
+
#ppc-capabilities-wrapper .ppc-capabilities-tabs > ul > li,
|
792 |
+
#ppc-capabilities-wrapper .ppc-capabilities-tabs > ul > li.ppc-capabilities-tab-active {
|
793 |
+
border-right: none;
|
794 |
+
}
|
795 |
+
|
796 |
+
#publishpress_caps_form #akmin td.content,
|
797 |
+
#publishpress_caps_form #akmin td.sidebar {
|
798 |
+
display: block;
|
799 |
+
padding: 0;
|
800 |
+
}
|
801 |
+
|
802 |
+
#publishpress_caps_form #akmin td.content {
|
803 |
+
margin-bottom: 40px;
|
804 |
+
}
|
805 |
+
}
|
806 |
+
|
807 |
+
@media (max-width: 1184px) {
|
808 |
+
|
809 |
+
/* Filters */
|
810 |
+
.ppc-filter-wrapper {
|
811 |
+
float: none;
|
812 |
+
margin-bottom: 25px;
|
813 |
+
}
|
814 |
+
}
|
815 |
+
|
816 |
+
@media (max-width: 782px) {
|
817 |
+
|
818 |
+
table.cme-checklist.form-table tr td {
|
819 |
+
padding: 15px 10px;
|
820 |
+
}
|
821 |
+
|
822 |
+
table .cme-typecaps th:first-of-type {
|
823 |
+
width: 110px;
|
824 |
+
}
|
825 |
+
|
826 |
+
.pp-capability-menus {
|
827 |
+
background: linear-gradient(90deg, #fafafa 0%, #fafafa 48px, #fff 48px, #fff 100%);
|
828 |
+
}
|
829 |
+
|
830 |
+
#pp-capability-menu-wrapper table td,
|
831 |
+
#pp-capability-menu-wrapper table th {
|
832 |
+
line-height: 24px;
|
833 |
+
}
|
834 |
+
|
835 |
+
}
|
common/js/admin.dev.js
CHANGED
@@ -1,161 +1,236 @@
|
|
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"]').not(':disabled').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 |
-
$('input[name="' + cap_name_attr + '"]').closest('td').removeClass('cap-yes').removeClass('cap-no').addClass('cap-neg');
|
16 |
-
|
17 |
-
return false;
|
18 |
-
});
|
19 |
-
|
20 |
-
//$('table.cme-typecaps span.cap-x,table.cme-checklist span.cap-x,table.cme-checklist td.cap-neg span').live( 'click', function(e) {
|
21 |
-
$(document).on( 'click', 'table.cme-typecaps span.cap-x,table.cme-checklist span.cap-x,table.cme-checklist td.cap-neg span', function(e) {
|
22 |
-
$(this).closest('td').removeClass('cap-neg').removeClass('cap-yes').addClass('cap-no');
|
23 |
-
$(this).parent().find('input[type="checkbox"]').prop('checked',false);
|
24 |
-
$(this).parent().find('input.cme-negation-input').remove();
|
25 |
-
|
26 |
-
// Also apply for any other checkboxes with the same name
|
27 |
-
var cap_name_attr = $(this).next('input[type="checkbox"]').attr('name');
|
28 |
-
|
29 |
-
if (!cap_name_attr) {
|
30 |
-
cap_name_attr = $(this).next('label').find('input[type="checkbox"]').attr('name');
|
31 |
-
}
|
32 |
-
|
33 |
-
$('input[name="' + cap_name_attr + '"]').parent().closest('td').removeClass('cap-neg').removeClass('cap-yes').addClass('cap-no');
|
34 |
-
$('input[name="' + cap_name_attr + '"]').prop('checked',false).parent().find('input.cme-negation-input').remove();
|
35 |
-
|
36 |
-
return false;
|
37 |
-
});
|
38 |
-
|
39 |
-
$("#publishpress_caps_form").bind("keypress", function(e) {
|
40 |
-
if (e.keyCode == 13) {
|
41 |
-
$(document.activeElement).parent().find('input[type="submit"]').first().click();
|
42 |
-
return false;
|
43 |
-
}
|
44 |
-
});
|
45 |
-
|
46 |
-
$('input.cme-check-all').click( function(e) {
|
47 |
-
$(this).closest('table').find('input[type="checkbox"][disabled!="disabled"]:visible').prop('checked', $(this).is(":checked") );
|
48 |
-
});
|
49 |
-
|
50 |
-
$('a.cme-neg-all').click( function(e) {
|
51 |
-
$(this).closest('table').find('a.neg-cap:visible').click();
|
52 |
-
return false;
|
53 |
-
});
|
54 |
-
|
55 |
-
$('a.cme-switch-all').click( function(e) {
|
56 |
-
$(this).closest('table').find('td.cap-neg span').click();
|
57 |
-
return false;
|
58 |
-
});
|
59 |
-
|
60 |
-
$('table.cme-typecaps a.neg-type-caps').click( function(e) {
|
61 |
-
$(this).closest('tr').find('td[class!="cap-neg"]').filter('td[class!="cap-unreg"]').each( function() {
|
62 |
-
$(this).addClass('cap-neg');
|
63 |
-
|
64 |
-
var cap_name_attr = $(this).find('input[type="checkbox"]').attr('name');
|
65 |
-
$(this).append('<input type="hidden" class="cme-negation-input" name="'+cap_name_attr+'" value="" />');
|
66 |
-
|
67 |
-
$('input[name="' + cap_name_attr + '"]').parent().next('a.neg-cap:visible').click();
|
68 |
-
});
|
69 |
-
|
70 |
-
return false;
|
71 |
-
});
|
72 |
-
|
73 |
-
//http://stackoverflow.com/users/803925/nbrooks
|
74 |
-
$('table.cme-typecaps th').click(function(){
|
75 |
-
var columnNo = $(this).index();
|
76 |
-
|
77 |
-
var check_val = ! $(this).prop('checked_all');
|
78 |
-
|
79 |
-
if ( $(this).hasClass('term-cap') )
|
80 |
-
var class_sel = '[class*="term-cap"]';
|
81 |
-
else
|
82 |
-
var class_sel = '[class*="post-cap"]';
|
83 |
-
|
84 |
-
var chks = $(this).closest("table")
|
85 |
-
.find("tr td" + class_sel + ":nth-child(" + (columnNo+1) + ') input[type="checkbox"]:visible');
|
86 |
-
|
87 |
-
$(chks).each(function(i,e) {
|
88 |
-
$('input[name="' + $(this).attr('name') + '"]').prop('checked', check_val);
|
89 |
-
});
|
90 |
-
|
91 |
-
$(this).prop('checked_all',check_val);
|
92 |
-
});
|
93 |
-
|
94 |
-
$('a.cme-fix-read-cap').click(function(){
|
95 |
-
$('input[name="caps[read]"]').prop('checked', true);
|
96 |
-
$('input[name="SaveRole"]').trigger('click');
|
97 |
-
return false;
|
98 |
-
});
|
99 |
-
|
100 |
-
/* Filter Edit, Delete and Read capabilities */
|
101 |
-
|
102 |
-
// Fill the <select> extracting the values and labels from the tables
|
103 |
-
$('.ppc-filter-select').each(function(){
|
104 |
-
var filter = $(this)
|
105 |
-
var options = new Array();
|
106 |
-
$(this).parent().siblings('table').find('tbody').find('tr').each(function(){
|
107 |
-
options.push({
|
108 |
-
value : $(this).attr('class'),
|
109 |
-
text : $(this).find('.cap_type').text()
|
110 |
-
});
|
111 |
-
});
|
112 |
-
options.forEach(function(option, index){
|
113 |
-
filter.append($('<option>', {
|
114 |
-
value: option.value,
|
115 |
-
text: option.text
|
116 |
-
}));
|
117 |
-
});
|
118 |
-
});
|
119 |
-
|
120 |
-
// Reset select filters on load
|
121 |
-
$('.ppc-filter-select').prop('selectedIndex', 0);
|
122 |
-
|
123 |
-
$('.ppc-filter-select-reset').click(function(){
|
124 |
-
$(this).prev('.ppc-filter-select').prop('selectedIndex', 0);
|
125 |
-
$(this).parent().siblings('table').find('tr').show(); // Show all the table rows
|
126 |
-
});
|
127 |
-
$('.ppc-filter-select').change(function(){
|
128 |
-
if($(this).val()){
|
129 |
-
$(this).parent().siblings('table').find('tr').hide();
|
130 |
-
$(this).parent().siblings('table').find('thead tr:first-child').show(); // Show the table heading
|
131 |
-
$(this).parent().siblings('table').find('tr.' + $(this).val()).show(); // Show only the filtered row
|
132 |
-
} else {
|
133 |
-
$(this).parent().siblings('table').find('tr').show(); // No value selected; show all the table rows
|
134 |
-
}
|
135 |
-
});
|
136 |
-
|
137 |
-
/* Filter WordPress core, WooCommerce, Additional capabilities */
|
138 |
-
|
139 |
-
// Reset text filters on load
|
140 |
-
$('.ppc-filter-text').val('');
|
141 |
-
|
142 |
-
$('.ppc-filter-text-reset').click(function(){
|
143 |
-
$(this).prev('.ppc-filter-text').val('');
|
144 |
-
$(this).parent().siblings('table').find('tr').show(); // Show all the table rows
|
145 |
-
$(this).parent().siblings('.ppc-filter-no-results').hide(); // Hide "no results" message
|
146 |
-
});
|
147 |
-
$('.ppc-filter-text').keyup(function(){
|
148 |
-
$(this).parent().siblings('table').find('tr').hide();
|
149 |
-
$(this).parent().siblings('table').find('tr[class*="' + $(this).val() + '"]').show(); // Show only the filtered row
|
150 |
-
$(this).parent().siblings('table').find('tr.cme-bulk-select').hide(); // Hide bulk row
|
151 |
-
if($(this).val().length === 0){
|
152 |
-
$(this).parent().siblings('table').find('tr').show(); // Show all the table rows
|
153 |
-
}
|
154 |
-
// Show / Hide the no-results message
|
155 |
-
if($(this).parent().siblings('table').find('tr:visible').length === 0) {
|
156 |
-
$(this).parent().siblings('.ppc-filter-no-results').show(); // Show "no results" message
|
157 |
-
} else {
|
158 |
-
$(this).parent().siblings('.ppc-filter-no-results').hide(); // Hide "no results" message
|
159 |
-
}
|
160 |
-
|
161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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"]').not(':disabled').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 |
+
$('input[name="' + cap_name_attr + '"]').closest('td').removeClass('cap-yes').removeClass('cap-no').addClass('cap-neg');
|
16 |
+
|
17 |
+
return false;
|
18 |
+
});
|
19 |
+
|
20 |
+
//$('table.cme-typecaps span.cap-x,table.cme-checklist span.cap-x,table.cme-checklist td.cap-neg span').live( 'click', function(e) {
|
21 |
+
$(document).on( 'click', 'table.cme-typecaps span.cap-x,table.cme-checklist span.cap-x,table.cme-checklist td.cap-neg span', function(e) {
|
22 |
+
$(this).closest('td').removeClass('cap-neg').removeClass('cap-yes').addClass('cap-no');
|
23 |
+
$(this).parent().find('input[type="checkbox"]').prop('checked',false);
|
24 |
+
$(this).parent().find('input.cme-negation-input').remove();
|
25 |
+
|
26 |
+
// Also apply for any other checkboxes with the same name
|
27 |
+
var cap_name_attr = $(this).next('input[type="checkbox"]').attr('name');
|
28 |
+
|
29 |
+
if (!cap_name_attr) {
|
30 |
+
cap_name_attr = $(this).next('label').find('input[type="checkbox"]').attr('name');
|
31 |
+
}
|
32 |
+
|
33 |
+
$('input[name="' + cap_name_attr + '"]').parent().closest('td').removeClass('cap-neg').removeClass('cap-yes').addClass('cap-no');
|
34 |
+
$('input[name="' + cap_name_attr + '"]').prop('checked',false).parent().find('input.cme-negation-input').remove();
|
35 |
+
|
36 |
+
return false;
|
37 |
+
});
|
38 |
+
|
39 |
+
$("#publishpress_caps_form").bind("keypress", function(e) {
|
40 |
+
if (e.keyCode == 13) {
|
41 |
+
$(document.activeElement).parent().find('input[type="submit"]').first().click();
|
42 |
+
return false;
|
43 |
+
}
|
44 |
+
});
|
45 |
+
|
46 |
+
$('input.cme-check-all').click( function(e) {
|
47 |
+
$(this).closest('table').find('input[type="checkbox"][disabled!="disabled"]:visible').prop('checked', $(this).is(":checked") );
|
48 |
+
});
|
49 |
+
|
50 |
+
$('a.cme-neg-all').click( function(e) {
|
51 |
+
$(this).closest('table').find('a.neg-cap:visible').click();
|
52 |
+
return false;
|
53 |
+
});
|
54 |
+
|
55 |
+
$('a.cme-switch-all').click( function(e) {
|
56 |
+
$(this).closest('table').find('td.cap-neg span').click();
|
57 |
+
return false;
|
58 |
+
});
|
59 |
+
|
60 |
+
$('table.cme-typecaps a.neg-type-caps').click( function(e) {
|
61 |
+
$(this).closest('tr').find('td[class!="cap-neg"]').filter('td[class!="cap-unreg"]').each( function() {
|
62 |
+
$(this).addClass('cap-neg');
|
63 |
+
|
64 |
+
var cap_name_attr = $(this).find('input[type="checkbox"]').attr('name');
|
65 |
+
$(this).append('<input type="hidden" class="cme-negation-input" name="'+cap_name_attr+'" value="" />');
|
66 |
+
|
67 |
+
$('input[name="' + cap_name_attr + '"]').parent().next('a.neg-cap:visible').click();
|
68 |
+
});
|
69 |
+
|
70 |
+
return false;
|
71 |
+
});
|
72 |
+
|
73 |
+
//http://stackoverflow.com/users/803925/nbrooks
|
74 |
+
$('table.cme-typecaps th').click(function(){
|
75 |
+
var columnNo = $(this).index();
|
76 |
+
|
77 |
+
var check_val = ! $(this).prop('checked_all');
|
78 |
+
|
79 |
+
if ( $(this).hasClass('term-cap') )
|
80 |
+
var class_sel = '[class*="term-cap"]';
|
81 |
+
else
|
82 |
+
var class_sel = '[class*="post-cap"]';
|
83 |
+
|
84 |
+
var chks = $(this).closest("table")
|
85 |
+
.find("tr td" + class_sel + ":nth-child(" + (columnNo+1) + ') input[type="checkbox"]:visible');
|
86 |
+
|
87 |
+
$(chks).each(function(i,e) {
|
88 |
+
$('input[name="' + $(this).attr('name') + '"]').prop('checked', check_val);
|
89 |
+
});
|
90 |
+
|
91 |
+
$(this).prop('checked_all',check_val);
|
92 |
+
});
|
93 |
+
|
94 |
+
$('a.cme-fix-read-cap').click(function(){
|
95 |
+
$('input[name="caps[read]"]').prop('checked', true);
|
96 |
+
$('input[name="SaveRole"]').trigger('click');
|
97 |
+
return false;
|
98 |
+
});
|
99 |
+
|
100 |
+
/* Filter Edit, Delete and Read capabilities */
|
101 |
+
|
102 |
+
// Fill the <select> extracting the values and labels from the tables
|
103 |
+
$('.ppc-filter-select').each(function(){
|
104 |
+
var filter = $(this)
|
105 |
+
var options = new Array();
|
106 |
+
$(this).parent().siblings('table').find('tbody').find('tr').each(function(){
|
107 |
+
options.push({
|
108 |
+
value : $(this).attr('class'),
|
109 |
+
text : $(this).find('.cap_type').text()
|
110 |
+
});
|
111 |
+
});
|
112 |
+
options.forEach(function(option, index){
|
113 |
+
filter.append($('<option>', {
|
114 |
+
value: option.value,
|
115 |
+
text: option.text
|
116 |
+
}));
|
117 |
+
});
|
118 |
+
});
|
119 |
+
|
120 |
+
// Reset select filters on load
|
121 |
+
$('.ppc-filter-select').prop('selectedIndex', 0);
|
122 |
+
|
123 |
+
$('.ppc-filter-select-reset').click(function(){
|
124 |
+
$(this).prev('.ppc-filter-select').prop('selectedIndex', 0);
|
125 |
+
$(this).parent().siblings('table').find('tr').show(); // Show all the table rows
|
126 |
+
});
|
127 |
+
$('.ppc-filter-select').change(function(){
|
128 |
+
if($(this).val()){
|
129 |
+
$(this).parent().siblings('table').find('tr').hide();
|
130 |
+
$(this).parent().siblings('table').find('thead tr:first-child').show(); // Show the table heading
|
131 |
+
$(this).parent().siblings('table').find('tr.' + $(this).val()).show(); // Show only the filtered row
|
132 |
+
} else {
|
133 |
+
$(this).parent().siblings('table').find('tr').show(); // No value selected; show all the table rows
|
134 |
+
}
|
135 |
+
});
|
136 |
+
|
137 |
+
/* Filter WordPress core, WooCommerce, Additional capabilities */
|
138 |
+
|
139 |
+
// Reset text filters on load
|
140 |
+
$('.ppc-filter-text').val('');
|
141 |
+
|
142 |
+
$('.ppc-filter-text-reset').click(function(){
|
143 |
+
$(this).prev('.ppc-filter-text').val('');
|
144 |
+
$(this).parent().siblings('table').find('tr').show(); // Show all the table rows
|
145 |
+
$(this).parent().siblings('.ppc-filter-no-results').hide(); // Hide "no results" message
|
146 |
+
});
|
147 |
+
$('.ppc-filter-text').keyup(function(){
|
148 |
+
$(this).parent().siblings('table').find('tr').hide();
|
149 |
+
$(this).parent().siblings('table').find('tr[class*="' + $(this).val() + '"]').show(); // Show only the filtered row
|
150 |
+
$(this).parent().siblings('table').find('tr.cme-bulk-select').hide(); // Hide bulk row
|
151 |
+
if($(this).val().length === 0){
|
152 |
+
$(this).parent().siblings('table').find('tr').show(); // Show all the table rows
|
153 |
+
}
|
154 |
+
// Show / Hide the no-results message
|
155 |
+
if($(this).parent().siblings('table').find('tr:visible').length === 0) {
|
156 |
+
$(this).parent().siblings('.ppc-filter-no-results').show(); // Show "no results" message
|
157 |
+
} else {
|
158 |
+
$(this).parent().siblings('.ppc-filter-no-results').hide(); // Hide "no results" message
|
159 |
+
}
|
160 |
+
});
|
161 |
+
|
162 |
+
/**
|
163 |
+
* Roles tab toggle
|
164 |
+
*/
|
165 |
+
$(document).on('click', '.ppc-roles-tab li', function (event) {
|
166 |
+
event.preventDefault();
|
167 |
+
|
168 |
+
var clicked_tab = $(this).attr('data-tab');
|
169 |
+
|
170 |
+
//remove active class from all tabs
|
171 |
+
$('.ppc-roles-tab li').removeClass('active');
|
172 |
+
//add active class to current tab
|
173 |
+
$(this).addClass('active');
|
174 |
+
|
175 |
+
//hide all tabs contents
|
176 |
+
$('.pp-roles-tab-tr').hide();
|
177 |
+
//show this current tab contents
|
178 |
+
$('.pp-roles-' + clicked_tab + '-tab').show();
|
179 |
+
});
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Roles capabilities load more button
|
183 |
+
*/
|
184 |
+
$(document).on('click', '.roles-capabilities-load-more', function (event) {
|
185 |
+
event.preventDefault();
|
186 |
+
|
187 |
+
$('.roles-capabilities-load-more').hide();
|
188 |
+
|
189 |
+
$('.roles-capabilities-load-less').show();
|
190 |
+
|
191 |
+
$('ul.pp-roles-capabilities li').show();
|
192 |
+
});
|
193 |
+
|
194 |
+
/**
|
195 |
+
* Roles capabilities load less button
|
196 |
+
*/
|
197 |
+
$(document).on('click', '.roles-capabilities-load-less', function (event) {
|
198 |
+
event.preventDefault();
|
199 |
+
|
200 |
+
$('.roles-capabilities-load-less').hide();
|
201 |
+
|
202 |
+
$('.roles-capabilities-load-more').show();
|
203 |
+
|
204 |
+
$('ul.pp-roles-capabilities li').hide();
|
205 |
+
|
206 |
+
$('ul.pp-roles-capabilities').children().slice(0, 6).show();
|
207 |
+
|
208 |
+
window.scrollTo({ top: 0, behavior: 'smooth' });
|
209 |
+
});
|
210 |
+
|
211 |
+
/**
|
212 |
+
* Capabilities role slug validation
|
213 |
+
*/
|
214 |
+
$('.ppc-roles-tab-content input[name="role_slug"]').on('keyup', function (e) {
|
215 |
+
is_role_slug_exist();
|
216 |
+
});
|
217 |
+
|
218 |
+
if ($('#pp-role-slug-exists').length > 0) {
|
219 |
+
is_role_slug_exist();
|
220 |
+
}
|
221 |
+
|
222 |
+
function is_role_slug_exist() {
|
223 |
+
if ($('.ppc-roles-tab-content input[name="role_slug"]').attr('readonly') !== 'readonly') {
|
224 |
+
var value = $('.ppc-roles-tab-content input[name="role_slug"]').val();
|
225 |
+
var slugexists = $('#pp-role-slug-exists')
|
226 |
+
var all_roles = $('.ppc-roles-all-roles').val();
|
227 |
+
var role_array = all_roles.split(',');
|
228 |
+
if (role_array.includes(value)) {
|
229 |
+
slugexists.show();
|
230 |
+
} else {
|
231 |
+
slugexists.hide();
|
232 |
+
}
|
233 |
+
}
|
234 |
+
}
|
235 |
+
|
236 |
+
});
|
common/js/admin.js
CHANGED
@@ -1,5 +1 @@
|
|
1 |
-
jQuery(document).ready(function(
|
2 |
-
$('input[name="'+cap_name_attr+'"]').parent().closest('td').removeClass('cap-neg').removeClass('cap-yes').addClass('cap-no');$('input[name="'+cap_name_attr+'"]').prop('checked',false).parent().find('input.cme-negation-input').remove();return false;});$("#publishpress_caps_form").bind("keypress",function(e){if(e.keyCode==13){$(document.activeElement).parent().find('input[type="submit"]').first().click();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(){$(this).addClass('cap-neg');var cap_name_attr=$(this).find('input[type="checkbox"]').attr('name');$(this).append('<input type="hidden" class="cme-negation-input" name="'+cap_name_attr+'" value="" />');$('input[name="'+cap_name_attr+'"]').parent().next('a.neg-cap:visible').click();});return false;});$('table.cme-typecaps th').click(function(){var columnNo=$(this).index();var check_val=!$(this).prop('checked_all');if($(this).hasClass('term-cap'))
|
3 |
-
var class_sel='[class*="term-cap"]';else
|
4 |
-
var class_sel='[class*="post-cap"]';var chks=$(this).closest("table").find("tr td"+class_sel+":nth-child("+(columnNo+1)+') input[type="checkbox"]:visible');$(chks).each(function(i,e){$('input[name="'+$(this).attr('name')+'"]').prop('checked',check_val);});$(this).prop('checked_all',check_val);});$('a.cme-fix-read-cap').click(function(){$('input[name="caps[read]"]').prop('checked',true);$('input[name="SaveRole"]').trigger('click');return false;});
|
5 |
-
$(".ppc-filter-select").each(function(){var t=$(this),i=new Array;$(this).parent().siblings("table").find("tbody").find("tr").each(function(){i.push({value:$(this).attr("class"),text:$(this).find(".cap_type").text()})}),i.forEach(function(i,e){t.append($("<option>",{value:i.value,text:i.text}))})}),$(".ppc-filter-select").prop("selectedIndex",0),$(".ppc-filter-select-reset").click(function(){$(this).prev(".ppc-filter-select").prop("selectedIndex",0),$(this).parent().siblings("table").find("tr").show()}),$(".ppc-filter-select").change(function(){$(this).val()?($(this).parent().siblings("table").find("tr").hide(),$(this).parent().siblings("table").find("thead tr:first-child").show(),$(this).parent().siblings("table").find("tr."+$(this).val()).show()):$(this).parent().siblings("table").find("tr").show()}),$(".ppc-filter-text").val(""),$(".ppc-filter-text-reset").click(function(){$(this).prev(".ppc-filter-text").val(""),$(this).parent().siblings("table").find("tr").show(),$(this).parent().siblings(".ppc-filter-no-results").hide()}),$(".ppc-filter-text").keyup(function(){$(this).parent().siblings("table").find("tr").hide(),$(this).parent().siblings("table").find('tr[class*="'+$(this).val()+'"]').show(),$(this).parent().siblings("table").find("tr.cme-bulk-select").hide(),0===$(this).val().length&&$(this).parent().siblings("table").find("tr").show(),0===$(this).parent().siblings("table").find("tr:visible").length?$(this).parent().siblings(".ppc-filter-no-results").show():$(this).parent().siblings(".ppc-filter-no-results").hide()});});
|
1 |
+
jQuery(document).ready(function(e){function t(){if("readonly"!==e('.ppc-roles-tab-content input[name="role_slug"]').attr("readonly")){var t=e('.ppc-roles-tab-content input[name="role_slug"]').val(),i=e("#pp-role-slug-exists");e(".ppc-roles-all-roles").val().split(",").includes(t)?i.show():i.hide()}}e("a.neg-cap").attr("title",cmeAdmin.negationCaption),e("a.neg-type-caps").attr("title",cmeAdmin.typeCapsNegationCaption),e("td.cap-unreg").attr("title",cmeAdmin.typeCapUnregistered),e("a.normal-cap").attr("title",cmeAdmin.switchableCaption),e("span.cap-x").attr("title",cmeAdmin.capNegated),e('table.cme-checklist input[class!="cme-check-all"]').not(":disabled").attr("title",cmeAdmin.chkCaption),e("table.cme-checklist a.neg-cap").click(function(t){e(this).closest("td").removeClass("cap-yes").removeClass("cap-no").addClass("cap-neg");var i=e(this).parent().find('input[type="checkbox"]').attr("name");return e(this).after('<input type="hidden" class="cme-negation-input" name="'+i+'" value="" />'),e('input[name="'+i+'"]').closest("td").removeClass("cap-yes").removeClass("cap-no").addClass("cap-neg"),!1}),e(document).on("click","table.cme-typecaps span.cap-x,table.cme-checklist span.cap-x,table.cme-checklist td.cap-neg span",function(t){e(this).closest("td").removeClass("cap-neg").removeClass("cap-yes").addClass("cap-no"),e(this).parent().find('input[type="checkbox"]').prop("checked",!1),e(this).parent().find("input.cme-negation-input").remove();var i=e(this).next('input[type="checkbox"]').attr("name");return i||(i=e(this).next("label").find('input[type="checkbox"]').attr("name")),e('input[name="'+i+'"]').parent().closest("td").removeClass("cap-neg").removeClass("cap-yes").addClass("cap-no"),e('input[name="'+i+'"]').prop("checked",!1).parent().find("input.cme-negation-input").remove(),!1}),e("#publishpress_caps_form").bind("keypress",function(t){if(13==t.keyCode)return e(document.activeElement).parent().find('input[type="submit"]').first().click(),!1}),e("input.cme-check-all").click(function(t){e(this).closest("table").find('input[type="checkbox"][disabled!="disabled"]:visible').prop("checked",e(this).is(":checked"))}),e("a.cme-neg-all").click(function(t){return e(this).closest("table").find("a.neg-cap:visible").click(),!1}),e("a.cme-switch-all").click(function(t){return e(this).closest("table").find("td.cap-neg span").click(),!1}),e("table.cme-typecaps a.neg-type-caps").click(function(t){return e(this).closest("tr").find('td[class!="cap-neg"]').filter('td[class!="cap-unreg"]').each(function(){e(this).addClass("cap-neg");var t=e(this).find('input[type="checkbox"]').attr("name");e(this).append('<input type="hidden" class="cme-negation-input" name="'+t+'" value="" />'),e('input[name="'+t+'"]').parent().next("a.neg-cap:visible").click()}),!1}),e("table.cme-typecaps th").click(function(){var t=e(this).index(),i=!e(this).prop("checked_all");if(e(this).hasClass("term-cap"))var a='[class*="term-cap"]';else a='[class*="post-cap"]';var s=e(this).closest("table").find("tr td"+a+":nth-child("+(t+1)+') input[type="checkbox"]:visible');e(s).each(function(t,a){e('input[name="'+e(this).attr("name")+'"]').prop("checked",i)}),e(this).prop("checked_all",i)}),e("a.cme-fix-read-cap").click(function(){return e('input[name="caps[read]"]').prop("checked",!0),e('input[name="SaveRole"]').trigger("click"),!1}),e(".ppc-filter-select").each(function(){var t=e(this),i=new Array;e(this).parent().siblings("table").find("tbody").find("tr").each(function(){i.push({value:e(this).attr("class"),text:e(this).find(".cap_type").text()})}),i.forEach(function(i,a){t.append(e("<option>",{value:i.value,text:i.text}))})}),e(".ppc-filter-select").prop("selectedIndex",0),e(".ppc-filter-select-reset").click(function(){e(this).prev(".ppc-filter-select").prop("selectedIndex",0),e(this).parent().siblings("table").find("tr").show()}),e(".ppc-filter-select").change(function(){e(this).val()?(e(this).parent().siblings("table").find("tr").hide(),e(this).parent().siblings("table").find("thead tr:first-child").show(),e(this).parent().siblings("table").find("tr."+e(this).val()).show()):e(this).parent().siblings("table").find("tr").show()}),e(".ppc-filter-text").val(""),e(".ppc-filter-text-reset").click(function(){e(this).prev(".ppc-filter-text").val(""),e(this).parent().siblings("table").find("tr").show(),e(this).parent().siblings(".ppc-filter-no-results").hide()}),e(".ppc-filter-text").keyup(function(){e(this).parent().siblings("table").find("tr").hide(),e(this).parent().siblings("table").find('tr[class*="'+e(this).val()+'"]').show(),e(this).parent().siblings("table").find("tr.cme-bulk-select").hide(),0===e(this).val().length&&e(this).parent().siblings("table").find("tr").show(),0===e(this).parent().siblings("table").find("tr:visible").length?e(this).parent().siblings(".ppc-filter-no-results").show():e(this).parent().siblings(".ppc-filter-no-results").hide()}),e(document).on("click",".ppc-roles-tab li",function(t){t.preventDefault();var i=e(this).attr("data-tab");e(".ppc-roles-tab li").removeClass("active"),e(this).addClass("active"),e(".pp-roles-tab-tr").hide(),e(".pp-roles-"+i+"-tab").show()}),e(document).on("click",".roles-capabilities-load-more",function(t){t.preventDefault(),e(".roles-capabilities-load-more").hide(),e(".roles-capabilities-load-less").show(),e("ul.pp-roles-capabilities li").show()}),e(document).on("click",".roles-capabilities-load-less",function(t){t.preventDefault(),e(".roles-capabilities-load-less").hide(),e(".roles-capabilities-load-more").show(),e("ul.pp-roles-capabilities li").hide(),e("ul.pp-roles-capabilities").children().slice(0,6).show(),window.scrollTo({top:0,behavior:"smooth"})}),e('.ppc-roles-tab-content input[name="role_slug"]').on("keyup",function(e){t()}),e("#pp-role-slug-exists").length>0&&t()});
|
|
|
|
|
|
|
|
composer.lock
CHANGED
@@ -54,6 +54,10 @@
|
|
54 |
"container",
|
55 |
"dependency injection"
|
56 |
],
|
|
|
|
|
|
|
|
|
57 |
"time": "2018-01-21T07:42:36+00:00"
|
58 |
},
|
59 |
{
|
@@ -103,26 +107,35 @@
|
|
103 |
"container-interop",
|
104 |
"psr"
|
105 |
],
|
|
|
|
|
|
|
|
|
106 |
"time": "2017-02-14T16:28:37+00:00"
|
107 |
},
|
108 |
{
|
109 |
"name": "publishpress/wordpress-banners",
|
110 |
-
"version": "v1.2.
|
111 |
"source": {
|
112 |
"type": "git",
|
113 |
"url": "https://github.com/publishpress/wordpress-banners.git",
|
114 |
-
"reference": "
|
115 |
},
|
116 |
"dist": {
|
117 |
"type": "zip",
|
118 |
-
"url": "https://api.github.com/repos/publishpress/wordpress-banners/zipball/
|
119 |
-
"reference": "
|
120 |
"shasum": ""
|
121 |
},
|
122 |
"require": {
|
123 |
"php": ">=5.6.20"
|
124 |
},
|
125 |
"type": "library",
|
|
|
|
|
|
|
|
|
|
|
126 |
"notification-url": "https://packagist.org/downloads/",
|
127 |
"license": [
|
128 |
"GPL-3.0-or-later"
|
@@ -135,20 +148,24 @@
|
|
135 |
],
|
136 |
"description": "Display banners in admin pages of PublishPress Plugins.",
|
137 |
"homepage": "http://publishpress.com/",
|
138 |
-
"
|
|
|
|
|
|
|
|
|
139 |
},
|
140 |
{
|
141 |
"name": "publishpress/wordpress-reviews",
|
142 |
-
"version": "v1.1.
|
143 |
"source": {
|
144 |
"type": "git",
|
145 |
"url": "https://github.com/publishpress/wordpress-reviews.git",
|
146 |
-
"reference": "
|
147 |
},
|
148 |
"dist": {
|
149 |
"type": "zip",
|
150 |
-
"url": "https://api.github.com/repos/publishpress/wordpress-reviews/zipball/
|
151 |
-
"reference": "
|
152 |
"shasum": ""
|
153 |
},
|
154 |
"require": {
|
@@ -199,7 +216,11 @@
|
|
199 |
"reviews",
|
200 |
"wordpress plugin"
|
201 |
],
|
202 |
-
"
|
|
|
|
|
|
|
|
|
203 |
},
|
204 |
{
|
205 |
"name": "publishpress/wordpress-version-notices",
|
@@ -241,6 +262,10 @@
|
|
241 |
}
|
242 |
],
|
243 |
"description": "Library for displaying version notices for Pro plugins in WordPress.",
|
|
|
|
|
|
|
|
|
244 |
"time": "2021-07-14T16:15:47+00:00"
|
245 |
}
|
246 |
],
|
@@ -254,5 +279,5 @@
|
|
254 |
"php": ">=5.6.20"
|
255 |
},
|
256 |
"platform-dev": [],
|
257 |
-
"plugin-api-version": "
|
258 |
}
|
54 |
"container",
|
55 |
"dependency injection"
|
56 |
],
|
57 |
+
"support": {
|
58 |
+
"issues": "https://github.com/silexphp/Pimple/issues",
|
59 |
+
"source": "https://github.com/silexphp/Pimple/tree/master"
|
60 |
+
},
|
61 |
"time": "2018-01-21T07:42:36+00:00"
|
62 |
},
|
63 |
{
|
107 |
"container-interop",
|
108 |
"psr"
|
109 |
],
|
110 |
+
"support": {
|
111 |
+
"issues": "https://github.com/php-fig/container/issues",
|
112 |
+
"source": "https://github.com/php-fig/container/tree/master"
|
113 |
+
},
|
114 |
"time": "2017-02-14T16:28:37+00:00"
|
115 |
},
|
116 |
{
|
117 |
"name": "publishpress/wordpress-banners",
|
118 |
+
"version": "v1.2.8",
|
119 |
"source": {
|
120 |
"type": "git",
|
121 |
"url": "https://github.com/publishpress/wordpress-banners.git",
|
122 |
+
"reference": "79a02716f89b93daec5b2dc0e8c1bc4d1cf9967c"
|
123 |
},
|
124 |
"dist": {
|
125 |
"type": "zip",
|
126 |
+
"url": "https://api.github.com/repos/publishpress/wordpress-banners/zipball/79a02716f89b93daec5b2dc0e8c1bc4d1cf9967c",
|
127 |
+
"reference": "79a02716f89b93daec5b2dc0e8c1bc4d1cf9967c",
|
128 |
"shasum": ""
|
129 |
},
|
130 |
"require": {
|
131 |
"php": ">=5.6.20"
|
132 |
},
|
133 |
"type": "library",
|
134 |
+
"autoload": {
|
135 |
+
"files": [
|
136 |
+
"BannersMain.php"
|
137 |
+
]
|
138 |
+
},
|
139 |
"notification-url": "https://packagist.org/downloads/",
|
140 |
"license": [
|
141 |
"GPL-3.0-or-later"
|
148 |
],
|
149 |
"description": "Display banners in admin pages of PublishPress Plugins.",
|
150 |
"homepage": "http://publishpress.com/",
|
151 |
+
"support": {
|
152 |
+
"issues": "https://github.com/publishpress/wordpress-banners/issues",
|
153 |
+
"source": "https://github.com/publishpress/wordpress-banners/tree/v1.2.8"
|
154 |
+
},
|
155 |
+
"time": "2022-03-18T14:49:29+00:00"
|
156 |
},
|
157 |
{
|
158 |
"name": "publishpress/wordpress-reviews",
|
159 |
+
"version": "v1.1.18",
|
160 |
"source": {
|
161 |
"type": "git",
|
162 |
"url": "https://github.com/publishpress/wordpress-reviews.git",
|
163 |
+
"reference": "0020705b8f6a7177fc393c6c42c82171bf9e2fbd"
|
164 |
},
|
165 |
"dist": {
|
166 |
"type": "zip",
|
167 |
+
"url": "https://api.github.com/repos/publishpress/wordpress-reviews/zipball/0020705b8f6a7177fc393c6c42c82171bf9e2fbd",
|
168 |
+
"reference": "0020705b8f6a7177fc393c6c42c82171bf9e2fbd",
|
169 |
"shasum": ""
|
170 |
},
|
171 |
"require": {
|
216 |
"reviews",
|
217 |
"wordpress plugin"
|
218 |
],
|
219 |
+
"support": {
|
220 |
+
"issues": "https://github.com/publishpress/wordpress-reviews/issues",
|
221 |
+
"source": "https://github.com/publishpress/wordpress-reviews/tree/v1.1.18"
|
222 |
+
},
|
223 |
+
"time": "2021-12-15T00:03:53+00:00"
|
224 |
},
|
225 |
{
|
226 |
"name": "publishpress/wordpress-version-notices",
|
262 |
}
|
263 |
],
|
264 |
"description": "Library for displaying version notices for Pro plugins in WordPress.",
|
265 |
+
"support": {
|
266 |
+
"issues": "https://github.com/publishpress/WordPress-Version-Notices/issues",
|
267 |
+
"source": "https://github.com/publishpress/WordPress-Version-Notices/tree/1.1.3"
|
268 |
+
},
|
269 |
"time": "2021-07-14T16:15:47+00:00"
|
270 |
}
|
271 |
],
|
279 |
"php": ">=5.6.20"
|
280 |
},
|
281 |
"platform-dev": [],
|
282 |
+
"plugin-api-version": "2.2.0"
|
283 |
}
|
framework/styles/admin.css
CHANGED
@@ -68,7 +68,7 @@ table#akmin dl dt {
|
|
68 |
background: #dfdfdf;
|
69 |
}
|
70 |
|
71 |
-
table#akmin p {
|
72 |
padding: 5px 0 5px 0;
|
73 |
margin: 0;
|
74 |
}
|
@@ -127,7 +127,8 @@ table#akmin td.sidebar ul li {
|
|
127 |
border-bottom: 1px dotted gray;
|
128 |
}
|
129 |
|
130 |
-
table#akmin td.sidebar dd
|
|
|
131 |
margin: 0;
|
132 |
padding: 5px 10px 5px 10px;
|
133 |
-
}
|
68 |
background: #dfdfdf;
|
69 |
}
|
70 |
|
71 |
+
table#akmin p:not(.pp-recommendations-heading) {
|
72 |
padding: 5px 0 5px 0;
|
73 |
margin: 0;
|
74 |
}
|
127 |
border-bottom: 1px dotted gray;
|
128 |
}
|
129 |
|
130 |
+
table#akmin td.sidebar dd,
|
131 |
+
table#akmin td .pp-column-right dd {
|
132 |
margin: 0;
|
133 |
padding: 5px 10px 5px 10px;
|
134 |
+
}
|
includes/admin-load.php
CHANGED
@@ -39,7 +39,7 @@ class PP_Capabilities_Admin_UI {
|
|
39 |
|
40 |
|| (!empty($_REQUEST['action']) && in_array($_REQUEST['action'], ['pp-roles-add-role', 'pp-roles-delete-role', 'pp-roles-hide-role', 'pp-roles-unhide-role']))
|
41 |
|| ( ! empty($_SERVER['SCRIPT_NAME']) && strpos(sanitize_text_field($_SERVER['SCRIPT_NAME']), 'p-admin/plugins.php' ) && ! empty($_REQUEST['action'] ) )
|
42 |
-
|| ( isset($_GET['action']) && 'reset-defaults' == $_GET['action'] )
|
43 |
|| in_array( $pagenow, array( 'users.php', 'user-edit.php', 'profile.php', 'user-new.php' ) )
|
44 |
) ) {
|
45 |
global $capsman;
|
@@ -105,6 +105,10 @@ class PP_Capabilities_Admin_UI {
|
|
105 |
private function applyFeatureRestrictions($editor = 'gutenberg') {
|
106 |
global $pagenow;
|
107 |
|
|
|
|
|
|
|
|
|
108 |
// Return if not a post editor request
|
109 |
if (!in_array($pagenow, ['post.php', 'post-new.php'])) {
|
110 |
return;
|
39 |
|
40 |
|| (!empty($_REQUEST['action']) && in_array($_REQUEST['action'], ['pp-roles-add-role', 'pp-roles-delete-role', 'pp-roles-hide-role', 'pp-roles-unhide-role']))
|
41 |
|| ( ! empty($_SERVER['SCRIPT_NAME']) && strpos(sanitize_text_field($_SERVER['SCRIPT_NAME']), 'p-admin/plugins.php' ) && ! empty($_REQUEST['action'] ) )
|
42 |
+
|| ( isset($_GET['action']) && ('reset-defaults' == $_GET['action']) && isset($_REQUEST['_wpnonce']) && wp_verify_nonce($_REQUEST['_wpnonce'], 'capsman-reset-defaults') )
|
43 |
|| in_array( $pagenow, array( 'users.php', 'user-edit.php', 'profile.php', 'user-new.php' ) )
|
44 |
) ) {
|
45 |
global $capsman;
|
105 |
private function applyFeatureRestrictions($editor = 'gutenberg') {
|
106 |
global $pagenow;
|
107 |
|
108 |
+
if (is_multisite() && is_super_admin() && !defined('PP_CAPABILITIES_RESTRICT_SUPER_ADMIN')) {
|
109 |
+
return;
|
110 |
+
}
|
111 |
+
|
112 |
// Return if not a post editor request
|
113 |
if (!in_array($pagenow, ['post.php', 'post-new.php'])) {
|
114 |
return;
|
includes/admin.php
CHANGED
@@ -78,7 +78,11 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
78 |
<?php wp_nonce_field('capsman-general-manager'); ?>
|
79 |
|
80 |
<?php
|
81 |
-
|
|
|
|
|
|
|
|
|
82 |
?>
|
83 |
|
84 |
<input type="hidden" name="pp_caps_tab" value="<?php echo esc_attr($pp_tab);?>" />
|
@@ -99,9 +103,9 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
99 |
</p>
|
100 |
|
101 |
<fieldset>
|
102 |
-
<table id="akmin">
|
103 |
-
<
|
104 |
-
<
|
105 |
|
106 |
<div style="float:right">
|
107 |
|
@@ -273,7 +277,12 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
273 |
<div class="ppc-capabilities-tabs">
|
274 |
<ul>
|
275 |
<?php
|
276 |
-
|
|
|
|
|
|
|
|
|
|
|
277 |
$active_tab_id = "cme-cap-type-tables-{$active_tab_slug}";
|
278 |
|
279 |
$ppc_tab_active = 'ppc-capabilities-tab-active';
|
@@ -734,6 +743,17 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
734 |
$checks_per_row = get_option( 'cme_form-rows', 1 );
|
735 |
$i = 0; $first_row = true;
|
736 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
737 |
$core_caps = _cme_core_caps();
|
738 |
foreach( array_keys($core_caps) as $cap_name ) {
|
739 |
$cap_name = sanitize_key($cap_name);
|
@@ -819,11 +839,13 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
819 |
?>
|
820 |
|
821 |
<tr class="cme-bulk-select">
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
|
|
|
|
827 |
|
828 |
</table>
|
829 |
</div>
|
@@ -859,6 +881,16 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
859 |
$checks_per_row = get_option( 'cme_form-rows', 1 );
|
860 |
$i = 0; $first_row = true;
|
861 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
862 |
foreach( array_keys($_plugin_caps) as $cap_name ) {
|
863 |
$cap_name = sanitize_key($cap_name);
|
864 |
|
@@ -924,11 +956,13 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
924 |
?>
|
925 |
|
926 |
<tr class="cme-bulk-select">
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
|
|
|
|
932 |
|
933 |
</table>
|
934 |
</div>
|
@@ -1048,6 +1082,16 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
1048 |
echo '<div class="ppc-filter-no-results" style="display:none;">' . esc_html__( 'No results found. Please try again with a different word.', 'capsman-enhanced' ) . '</div>';
|
1049 |
?>
|
1050 |
<table class="widefat fixed striped form-table cme-checklist">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1051 |
<?php
|
1052 |
$centinel_ = true;
|
1053 |
$i = 0; $first_row = true;
|
@@ -1157,11 +1201,13 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
1157 |
?>
|
1158 |
|
1159 |
<tr class="cme-bulk-select">
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
|
|
|
|
1165 |
|
1166 |
</table>
|
1167 |
</div>
|
@@ -1273,7 +1319,7 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
1273 |
/* ]]> */
|
1274 |
</script>
|
1275 |
|
1276 |
-
<div style="display:
|
1277 |
<?php
|
1278 |
$level = ak_caps2level($rcaps);
|
1279 |
?>
|
@@ -1302,15 +1348,25 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
1302 |
$save_caption = (in_array(sanitize_key(get_locale()), ['en_EN', 'en_US'])) ? 'Save Capabilities' : __('Save Changes', 'capsman-enhanced');
|
1303 |
?>
|
1304 |
<input type="submit" name="SaveRole" value="<?php echo esc_attr($save_caption);?>" class="button-primary" />
|
1305 |
-
|
1306 |
-
<?php if ( current_user_can('administrator') && 'administrator' != $default ) : ?>
|
1307 |
-
<a class="ak-delete" title="<?php echo esc_attr__('Delete this role', 'capsman-enhanced') ?>" href="<?php echo esc_url_raw(wp_nonce_url("admin.php?page={$this->ID}&action=delete&role={$default}", 'delete-role_' . $default)); ?>" onclick="if ( confirm('<?php echo esc_js(sprintf(__("You are about to delete the %s role.\n\n 'Cancel' to stop, 'OK' to delete.", 'capsman-enhanced'), $roles[$default])); ?>') ) { return true;}return false;"><?php esc_html_e('Delete Role', 'capsman-enhanced')?></a>
|
1308 |
-
<?php endif; ?>
|
1309 |
</p>
|
1310 |
|
1311 |
-
</
|
1312 |
-
<
|
1313 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1314 |
|
1315 |
<dl>
|
1316 |
<dt><?php esc_html_e('Add Capability', 'capsman-enhanced'); ?></dt>
|
@@ -1327,35 +1383,9 @@ if( defined('PRESSPERMIT_ACTIVE') ) {
|
|
1327 |
do_action('publishpress-caps_sidebar_bottom');
|
1328 |
?>
|
1329 |
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
<?php $class = ( $support_pp_only_roles ) ? 'tight-text' : 'regular-text'; ?>
|
1334 |
-
<p><input type="text" name="copy-name" class="<?php echo esc_attr($class);?>" placeholder="<?php esc_attr_e('Role Name', 'capsman-enhanced') ?>" />
|
1335 |
-
|
1336 |
-
<?php if( $support_pp_only_roles ) : ?>
|
1337 |
-
<label for="copy_role_pp_only" title="<?php esc_attr_e('Make role available for supplemental assignment to Permission Groups only', 'capsman-enhanced');?>"> <input type="checkbox" name="copy_role_pp_only" id="copy_role_pp_only" autocomplete="off" value="1"> <?php esc_html_e('hidden', 'capsman-enhanced'); ?> </label>
|
1338 |
-
<?php endif; ?>
|
1339 |
-
|
1340 |
-
<br />
|
1341 |
-
<input type="submit" name="CopyRole" value="<?php esc_attr_e('Copy', 'capsman-enhanced') ?>" class="button" />
|
1342 |
-
</p>
|
1343 |
-
</dd>
|
1344 |
-
</dl>
|
1345 |
-
|
1346 |
-
<dl>
|
1347 |
-
<dt><?php esc_html_e('Rename Role', 'capsman-enhanced'); ?></dt>
|
1348 |
-
<dd style="text-align:center;">
|
1349 |
-
<p><input type="text" name="rename-name" class="regular-text" placeholder="<?php esc_attr_e('New Role Name', 'capsman-enhanced') ?>" />
|
1350 |
-
|
1351 |
-
<br />
|
1352 |
-
<input type="submit" name="RenameRole" value="<?php esc_attr_e('Rename', 'capsman-enhanced') ?>" class="button" />
|
1353 |
-
</p>
|
1354 |
-
</dd>
|
1355 |
-
</dl>
|
1356 |
-
</td>
|
1357 |
-
</tr>
|
1358 |
-
</table>
|
1359 |
</fieldset>
|
1360 |
</form>
|
1361 |
|
78 |
<?php wp_nonce_field('capsman-general-manager'); ?>
|
79 |
|
80 |
<?php
|
81 |
+
if (empty($_REQUEST['pp_caps_tab']) && !empty($_REQUEST['added'])) {
|
82 |
+
$pp_tab = 'additional';
|
83 |
+
} else {
|
84 |
+
$pp_tab = (!empty($_REQUEST['pp_caps_tab'])) ? sanitize_key($_REQUEST['pp_caps_tab']) : 'edit';
|
85 |
+
}
|
86 |
?>
|
87 |
|
88 |
<input type="hidden" name="pp_caps_tab" value="<?php echo esc_attr($pp_tab);?>" />
|
103 |
</p>
|
104 |
|
105 |
<fieldset>
|
106 |
+
<table id="akmin"><tr><td>
|
107 |
+
<div class="pp-columns-wrapper pp-enable-sidebar">
|
108 |
+
<div class="pp-column-left">
|
109 |
|
110 |
<div style="float:right">
|
111 |
|
277 |
<div class="ppc-capabilities-tabs">
|
278 |
<ul>
|
279 |
<?php
|
280 |
+
if (empty($_REQUEST['pp_caps_tab']) && !empty($_REQUEST['added'])) {
|
281 |
+
$active_tab_slug = 'additional';
|
282 |
+
} else {
|
283 |
+
$active_tab_slug = (!empty($_REQUEST['pp_caps_tab'])) ? sanitize_key($_REQUEST['pp_caps_tab']) : 'edit';
|
284 |
+
}
|
285 |
+
|
286 |
$active_tab_id = "cme-cap-type-tables-{$active_tab_slug}";
|
287 |
|
288 |
$ppc_tab_active = 'ppc-capabilities-tab-active';
|
743 |
$checks_per_row = get_option( 'cme_form-rows', 1 );
|
744 |
$i = 0; $first_row = true;
|
745 |
|
746 |
+
?>
|
747 |
+
<tr class="cme-bulk-select">
|
748 |
+
<td colspan="<?php echo (int) $checks_per_row;?>">
|
749 |
+
<input type="checkbox" class="cme-check-all" autocomplete="off" title="<?php esc_attr_e('check / uncheck all', 'capsman-enhanced');?>"> <span><?php _e('Capability Name', 'capability-manager-enhanced');?></span>
|
750 |
+
<span style="float:right">
|
751 |
+
<a class="cme-neg-all" href="#" title="<?php esc_attr_e('negate all (storing as disabled capabilities)', 'capsman-enhanced');?>">X</a> <a class="cme-switch-all" href="#" title="<?php esc_attr_e('negate none (add/remove all capabilities normally)', 'capsman-enhanced');?>">X</a>
|
752 |
+
</span>
|
753 |
+
</td>
|
754 |
+
</tr>
|
755 |
+
|
756 |
+
<?php
|
757 |
$core_caps = _cme_core_caps();
|
758 |
foreach( array_keys($core_caps) as $cap_name ) {
|
759 |
$cap_name = sanitize_key($cap_name);
|
839 |
?>
|
840 |
|
841 |
<tr class="cme-bulk-select">
|
842 |
+
<td colspan="<?php echo (int) $checks_per_row;?>">
|
843 |
+
<input type="checkbox" class="cme-check-all" autocomplete="off" title="<?php esc_attr_e('check / uncheck all', 'capsman-enhanced');?>"> <span><?php _e('Capability Name', 'capability-manager-enhanced');?></span>
|
844 |
+
<span style="float:right">
|
845 |
+
<a class="cme-neg-all" href="#" title="<?php esc_attr_e('negate all (storing as disabled capabilities)', 'capsman-enhanced');?>">X</a> <a class="cme-switch-all" href="#" title="<?php esc_attr_e('negate none (add/remove all capabilities normally)', 'capsman-enhanced');?>">X</a>
|
846 |
+
</span>
|
847 |
+
</td>
|
848 |
+
</tr>
|
849 |
|
850 |
</table>
|
851 |
</div>
|
881 |
$checks_per_row = get_option( 'cme_form-rows', 1 );
|
882 |
$i = 0; $first_row = true;
|
883 |
|
884 |
+
?>
|
885 |
+
<tr class="cme-bulk-select">
|
886 |
+
<td colspan="<?php echo (int) $checks_per_row;?>">
|
887 |
+
<input type="checkbox" class="cme-check-all" title="<?php esc_attr_e('check / uncheck all', 'capsman-enhanced');?>"> <span><?php _e('Capability Name', 'capability-manager-enhanced');?></span>
|
888 |
+
<span style="float:right">
|
889 |
+
<a class="cme-neg-all" href="#" title="<?php esc_attr_e('negate all (storing as disabled capabilities)', 'capsman-enhanced');?>">X</a> <a class="cme-switch-all" href="#" title="<?php esc_attr_e('negate none (add/remove all capabilities normally)', 'capsman-enhanced');?>">X</a>
|
890 |
+
</span>
|
891 |
+
</td>
|
892 |
+
</tr>
|
893 |
+
<?php
|
894 |
foreach( array_keys($_plugin_caps) as $cap_name ) {
|
895 |
$cap_name = sanitize_key($cap_name);
|
896 |
|
956 |
?>
|
957 |
|
958 |
<tr class="cme-bulk-select">
|
959 |
+
<td colspan="<?php echo (int) $checks_per_row;?>">
|
960 |
+
<input type="checkbox" class="cme-check-all" autocomplete="off" title="<?php esc_attr_e('check / uncheck all', 'capsman-enhanced');?>"> <span><?php _e('Capability Name', 'capability-manager-enhanced');?></span>
|
961 |
+
<span style="float:right">
|
962 |
+
<a class="cme-neg-all" href="#" title="<?php esc_attr_e('negate all (storing as disabled capabilities)', 'capsman-enhanced');?>">X</a> <a class="cme-switch-all" href="#" title="<?php esc_attr_e('negate none (add/remove all capabilities normally)', 'capsman-enhanced');?>">X</a>
|
963 |
+
</span>
|
964 |
+
</td>
|
965 |
+
</tr>
|
966 |
|
967 |
</table>
|
968 |
</div>
|
1082 |
echo '<div class="ppc-filter-no-results" style="display:none;">' . esc_html__( 'No results found. Please try again with a different word.', 'capsman-enhanced' ) . '</div>';
|
1083 |
?>
|
1084 |
<table class="widefat fixed striped form-table cme-checklist">
|
1085 |
+
|
1086 |
+
<tr class="cme-bulk-select">
|
1087 |
+
<td colspan="<?php echo (int) $checks_per_row;?>">
|
1088 |
+
<input type="checkbox" class="cme-check-all" title="<?php esc_attr_e('check / uncheck all', 'capsman-enhanced');?>"> <span><?php _e('Capability Name', 'capability-manager-enhanced');?></span>
|
1089 |
+
<span style="float:right">
|
1090 |
+
<a class="cme-neg-all" href="#" title="<?php esc_attr_e('negate all (storing as disabled capabilities)', 'capsman-enhanced');?>">X</a> <a class="cme-switch-all" href="#" title="<?php esc_attr_e('negate none (add/remove all capabilities normally)', 'capsman-enhanced');?>">X</a>
|
1091 |
+
</span>
|
1092 |
+
</td>
|
1093 |
+
</tr>
|
1094 |
+
|
1095 |
<?php
|
1096 |
$centinel_ = true;
|
1097 |
$i = 0; $first_row = true;
|
1201 |
?>
|
1202 |
|
1203 |
<tr class="cme-bulk-select">
|
1204 |
+
<td colspan="<?php echo (int) $checks_per_row;?>">
|
1205 |
+
<input type="checkbox" class="cme-check-all" autocomplete="off" title="<?php esc_attr_e('check / uncheck all', 'capsman-enhanced');?>"> <span><?php _e('Capability Name', 'capability-manager-enhanced');?></span>
|
1206 |
+
<span style="float:right">
|
1207 |
+
<a class="cme-neg-all" href="#" title="<?php esc_attr_e('negate all (storing as disabled capabilities)', 'capsman-enhanced');?>">X</a> <a class="cme-switch-all" href="#" title="<?php esc_attr_e('negate none (add/remove all capabilities normally)', 'capsman-enhanced');?>">X</a>
|
1208 |
+
</span>
|
1209 |
+
</td>
|
1210 |
+
</tr>
|
1211 |
|
1212 |
</table>
|
1213 |
</div>
|
1319 |
/* ]]> */
|
1320 |
</script>
|
1321 |
|
1322 |
+
<div style="display:none; float:right;">
|
1323 |
<?php
|
1324 |
$level = ak_caps2level($rcaps);
|
1325 |
?>
|
1348 |
$save_caption = (in_array(sanitize_key(get_locale()), ['en_EN', 'en_US'])) ? 'Save Capabilities' : __('Save Changes', 'capsman-enhanced');
|
1349 |
?>
|
1350 |
<input type="submit" name="SaveRole" value="<?php echo esc_attr($save_caption);?>" class="button-primary" />
|
|
|
|
|
|
|
|
|
1351 |
</p>
|
1352 |
|
1353 |
+
</div><!-- .pp-column-left -->
|
1354 |
+
<div class="pp-column-right capabilities-sidebar">
|
1355 |
+
<?php
|
1356 |
+
do_action('publishpress-caps_sidebar_top');
|
1357 |
+
|
1358 |
+
$banners = new PublishPress\WordPressBanners\BannersMain;
|
1359 |
+
$banners->pp_display_banner(
|
1360 |
+
'',
|
1361 |
+
__( 'PublishPress Capabilities is safe to use', 'capsman-enhanced' ),
|
1362 |
+
array(
|
1363 |
+
__( 'This plugin automatically creates a backup whenever you save changes. You can use these backups to
|
1364 |
+
restore an earlier version of your roles and capabilities.', 'capsman-enhanced' )
|
1365 |
+
),
|
1366 |
+
admin_url( 'admin.php?page=pp-capabilities-backup' ),
|
1367 |
+
__( 'Go to the Backup feature', 'capsman-enhanced' )
|
1368 |
+
);
|
1369 |
+
?>
|
1370 |
|
1371 |
<dl>
|
1372 |
<dt><?php esc_html_e('Add Capability', 'capsman-enhanced'); ?></dt>
|
1383 |
do_action('publishpress-caps_sidebar_bottom');
|
1384 |
?>
|
1385 |
|
1386 |
+
</div><!-- .pp-column-right -->
|
1387 |
+
</div><!-- .pp-columns-wrapper -->
|
1388 |
+
</td></tr></table> <!-- .akmin -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1389 |
</fieldset>
|
1390 |
</form>
|
1391 |
|
includes/backup-handler.php
CHANGED
@@ -33,6 +33,8 @@ class Capsman_BackupHandler
|
|
33 |
$cm_roles = $this->cm->ID . '_backup';
|
34 |
$cm_roles_initial = $this->cm->ID . '_backup_initial';
|
35 |
|
|
|
|
|
36 |
if ( ! get_option( $cm_roles_initial ) ) {
|
37 |
if ( $current_backup = get_option( $cm_roles ) ) {
|
38 |
update_option( $cm_roles_initial, $current_backup, false );
|
@@ -43,8 +45,30 @@ class Capsman_BackupHandler
|
|
43 |
}
|
44 |
}
|
45 |
|
|
|
|
|
|
|
46 |
$roles = get_option($wp_roles);
|
47 |
update_option($cm_roles, $roles, false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
update_option($this->cm->ID . '_backup_datestamp', current_time( 'timestamp' ), false );
|
49 |
ak_admin_notify(__('New backup saved.', 'capsman-enhanced'));
|
50 |
|
@@ -57,6 +81,8 @@ class Capsman_BackupHandler
|
|
57 |
$cm_roles = $this->cm->ID . '_backup';
|
58 |
$cm_roles_initial = $this->cm->ID . '_backup_initial';
|
59 |
|
|
|
|
|
60 |
switch ($_POST['select_restore']) {
|
61 |
case 'restore_initial':
|
62 |
if ($roles = get_option($cm_roles_initial)) {
|
@@ -69,8 +95,28 @@ class Capsman_BackupHandler
|
|
69 |
|
70 |
case 'restore':
|
71 |
if ($roles = get_option($cm_roles)) {
|
|
|
|
|
|
|
|
|
72 |
update_option($wp_roles, $roles);
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
} else {
|
75 |
ak_admin_error(__('Restore failed. No backup found.', 'capsman-enhanced'));
|
76 |
}
|
@@ -85,7 +131,142 @@ class Capsman_BackupHandler
|
|
85 |
}
|
86 |
}
|
87 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
/**
|
91 |
* Resets roles to WordPress defaults.
|
33 |
$cm_roles = $this->cm->ID . '_backup';
|
34 |
$cm_roles_initial = $this->cm->ID . '_backup_initial';
|
35 |
|
36 |
+
$backup_sections = pp_capabilities_backup_sections();
|
37 |
+
|
38 |
if ( ! get_option( $cm_roles_initial ) ) {
|
39 |
if ( $current_backup = get_option( $cm_roles ) ) {
|
40 |
update_option( $cm_roles_initial, $current_backup, false );
|
45 |
}
|
46 |
}
|
47 |
|
48 |
+
$active_backup = ['Roles and Capabilities'];
|
49 |
+
|
50 |
+
//role backup
|
51 |
$roles = get_option($wp_roles);
|
52 |
update_option($cm_roles, $roles, false);
|
53 |
+
|
54 |
+
//other backup
|
55 |
+
foreach($backup_sections as $backup_section){
|
56 |
+
$section_options = $backup_section['options'];
|
57 |
+
if(is_array($section_options) && !empty($section_options)){
|
58 |
+
foreach($section_options as $section_option){
|
59 |
+
$active_backup[] = $backup_section['label'];
|
60 |
+
$current_option = get_option($section_option);
|
61 |
+
update_option($section_option.'_backup', $current_option, false);
|
62 |
+
}
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
$active_backup = array_unique($active_backup);
|
67 |
+
|
68 |
+
//update last backup
|
69 |
+
update_option($this->cm->ID . '_last_backup', implode(', ', $active_backup));
|
70 |
+
|
71 |
+
//backup datestamp and response
|
72 |
update_option($this->cm->ID . '_backup_datestamp', current_time( 'timestamp' ), false );
|
73 |
ak_admin_notify(__('New backup saved.', 'capsman-enhanced'));
|
74 |
|
81 |
$cm_roles = $this->cm->ID . '_backup';
|
82 |
$cm_roles_initial = $this->cm->ID . '_backup_initial';
|
83 |
|
84 |
+
$backup_sections = pp_capabilities_backup_sections();
|
85 |
+
|
86 |
switch ($_POST['select_restore']) {
|
87 |
case 'restore_initial':
|
88 |
if ($roles = get_option($cm_roles_initial)) {
|
95 |
|
96 |
case 'restore':
|
97 |
if ($roles = get_option($cm_roles)) {
|
98 |
+
|
99 |
+
$restored_backup = ['Roles and Capabilities'];
|
100 |
+
|
101 |
+
//restore role backup
|
102 |
update_option($wp_roles, $roles);
|
103 |
+
|
104 |
+
//restore other backup
|
105 |
+
foreach($backup_sections as $backup_section){
|
106 |
+
$section_options = $backup_section['options'];
|
107 |
+
if(is_array($section_options) && !empty($section_options)){
|
108 |
+
foreach($section_options as $section_option){
|
109 |
+
$backup_option = get_option($section_option.'_backup');
|
110 |
+
if ($backup_option) {
|
111 |
+
$restored_backup[] = $backup_section['label'];
|
112 |
+
update_option($section_option, $backup_option);
|
113 |
+
}
|
114 |
+
}
|
115 |
+
}
|
116 |
+
}
|
117 |
+
|
118 |
+
$restored_backup = array_unique($restored_backup);
|
119 |
+
ak_admin_notify(sprintf(__('%s restored from last backup.', 'capsman-enhanced'), implode(', ', $restored_backup)));
|
120 |
} else {
|
121 |
ak_admin_error(__('Restore failed. No backup found.', 'capsman-enhanced'));
|
122 |
}
|
131 |
}
|
132 |
}
|
133 |
}
|
134 |
+
|
135 |
+
if (isset($_POST['import_backup'])) {
|
136 |
+
|
137 |
+
check_admin_referer('pp-capabilities-backup');
|
138 |
+
|
139 |
+
if (empty($_FILES['import_file']['tmp_name']) || empty($_FILES['import_file']['name'])) {
|
140 |
+
ak_admin_error(__( 'Please upload a file to import', 'capsman-enhanced'));
|
141 |
+
return;
|
142 |
+
}
|
143 |
+
|
144 |
+
if (pathinfo(sanitize_text_field($_FILES['import_file']['name']), PATHINFO_EXTENSION) !== 'json') {
|
145 |
+
ak_admin_error(__( 'Please upload a valid .json file', 'capsman-enhanced'));
|
146 |
+
return;
|
147 |
+
}
|
148 |
+
|
149 |
+
// Make sure WordPress upload support is loaded.
|
150 |
+
if ( ! function_exists( 'wp_handle_upload' ) ) {
|
151 |
+
require_once( ABSPATH . 'wp-admin/includes/file.php' );
|
152 |
+
}
|
153 |
+
|
154 |
+
// Setup internal vars.
|
155 |
+
$overrides = array( 'test_form' => false, 'test_type' => false, 'mimes' => array('json' => 'application/json') );
|
156 |
+
$file = wp_handle_upload( $_FILES['import_file'], $overrides );
|
157 |
+
|
158 |
+
// Make sure we have an uploaded file.
|
159 |
+
if (isset($file['error'])) {
|
160 |
+
ak_admin_error($file['error']);
|
161 |
+
return;
|
162 |
+
}
|
163 |
+
|
164 |
+
if ( ! file_exists( $file['file'] ) ) {
|
165 |
+
ak_admin_error(__( 'Error importing settings! Please try again.', 'capsman-enhanced'));
|
166 |
+
return;
|
167 |
+
}
|
168 |
+
|
169 |
+
// Get the upload data.
|
170 |
+
$raw = file_get_contents( $file['file'] );
|
171 |
+
$data = @unserialize( $raw );
|
172 |
+
|
173 |
+
// Remove the uploaded file.
|
174 |
+
unlink( $file['file'] );
|
175 |
+
|
176 |
+
// Data checks.
|
177 |
+
if ( 'array' != gettype( $data ) ) {
|
178 |
+
ak_admin_error(__( 'Error importing settings! Please check that you uploaded a valid json file.', 'capsman-enhanced'));
|
179 |
+
return;
|
180 |
+
}
|
181 |
+
|
182 |
+
$backup_sections = pp_capabilities_backup_sections();
|
183 |
+
$restored_backup = [];
|
184 |
+
|
185 |
+
foreach ( $data as $option_key => $option_value ) {
|
186 |
+
if($option_key === 'user_roles'){
|
187 |
+
$restored_backup[] = 'Roles and Capabilities';
|
188 |
+
$section_data = $this->santize_import_role($option_value);
|
189 |
+
update_option($wpdb->prefix . 'user_roles', $section_data);
|
190 |
+
}else{
|
191 |
+
$restored_backup[] = $this->get_import_option_section($option_key, $backup_sections);
|
192 |
+
$section_data = $this->santize_import_data($option_value);
|
193 |
+
update_option($option_key, $section_data);
|
194 |
+
}
|
195 |
+
}
|
196 |
+
|
197 |
+
$restored_backup = array_unique($restored_backup);
|
198 |
+
|
199 |
+
ak_admin_notify(sprintf(__('%s successfully imported from uploaded data.', 'capsman-enhanced'), implode(', ', $restored_backup)));
|
200 |
+
|
201 |
+
}
|
202 |
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Sanitize role data before import.
|
206 |
+
*
|
207 |
+
* @return array
|
208 |
+
*/
|
209 |
+
function get_import_option_section($option_key, $backup_sections)
|
210 |
+
{
|
211 |
+
$option_section = '';
|
212 |
+
|
213 |
+
foreach($backup_sections as $backup_section){
|
214 |
+
$section_options = $backup_section['options'];
|
215 |
+
if(is_array($section_options) && in_array($option_key, $section_options)){
|
216 |
+
$option_section= $backup_section['label'];
|
217 |
+
}
|
218 |
+
}
|
219 |
+
|
220 |
+
return $option_section;
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Sanitize role data before import.
|
225 |
+
*
|
226 |
+
* @return array
|
227 |
+
*/
|
228 |
+
function santize_import_role($role){
|
229 |
+
|
230 |
+
$sanitized_role = [];
|
231 |
+
|
232 |
+
foreach($role as $role_key => $role_data){
|
233 |
+
$role_key = sanitize_key($role_key);
|
234 |
+
$role_name = sanitize_text_field($role_data['name']);
|
235 |
+
$capabilities = $role_data['capabilities'];
|
236 |
+
$role_capabilities = array_combine(
|
237 |
+
array_map('sanitize_key', array_keys($capabilities)),
|
238 |
+
array_map('sanitize_text_field', array_values($capabilities))
|
239 |
+
);
|
240 |
+
|
241 |
+
//return sanitized data
|
242 |
+
$sanitized_role[$role_key] = ['name' => $role_name, 'capabilities' => $role_capabilities];
|
243 |
+
}
|
244 |
+
|
245 |
+
return $sanitized_role;
|
246 |
+
}
|
247 |
+
|
248 |
+
/**
|
249 |
+
* Sanitize other data before import.
|
250 |
+
*
|
251 |
+
* @return mixed
|
252 |
+
*/
|
253 |
+
function santize_import_data($data){
|
254 |
+
|
255 |
+
$sanitized_data = [];
|
256 |
+
|
257 |
+
if (is_array($data)) {
|
258 |
+
foreach ($data as $data_key => $data_content) {
|
259 |
+
$new_key = sanitize_key($data_key);
|
260 |
+
$new_content = is_array($data_content) ? array_map('sanitize_text_field', $data_content) : sanitize_text_field($data_content);
|
261 |
+
//return sanitized data
|
262 |
+
$sanitized_data[$new_key] = $new_content;
|
263 |
+
}
|
264 |
+
}else{
|
265 |
+
$sanitized_data = sanitize_text_field($data);
|
266 |
+
}
|
267 |
+
|
268 |
+
return $sanitized_data;
|
269 |
+
}
|
270 |
|
271 |
/**
|
272 |
* Resets roles to WordPress defaults.
|
includes/backup.php
CHANGED
@@ -36,10 +36,10 @@ $auto_backups = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb-
|
|
36 |
|
37 |
<div class="wrap publishpress-caps-manage publishpress-caps-backup pressshack-admin-wrapper">
|
38 |
<div id="icon-capsman-admin" class="icon32"></div>
|
39 |
-
<h2><?php
|
40 |
|
41 |
|
42 |
-
<form method="post" action="admin.php?page=pp-capabilities-backup">
|
43 |
<?php wp_nonce_field('pp-capabilities-backup'); ?>
|
44 |
|
45 |
<div class="pp-columns-wrapper<?php echo defined('CAPSMAN_PERMISSIONS_INSTALLED') && !CAPSMAN_PERMISSIONS_INSTALLED ? ' pp-enable-sidebar' : '' ?>">
|
@@ -48,6 +48,7 @@ $auto_backups = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb-
|
|
48 |
<li class="nav-tab nav-tab-active"><a href="#ppcb-tab-restore"><?php esc_html_e('Restore', 'capsman-enhanced');?></a></li>
|
49 |
<li class="nav-tab"><a href="#ppcb-tab-backup"><?php esc_html_e('Backup', 'capsman-enhanced');?></a></li>
|
50 |
<li class="nav-tab"><a href="#ppcb-tab-reset"><?php esc_html_e('Reset Roles', 'capsman-enhanced');?></a></li>
|
|
|
51 |
</ul>
|
52 |
|
53 |
<fieldset>
|
@@ -108,10 +109,14 @@ $auto_backups = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb-
|
|
108 |
|
109 |
if (!$listed_manual_backup && ($backup_datestamp > strtotime($date_caption))) :
|
110 |
$manual_date_caption = date('Y-m-d, g:i a', $backup_datestamp);
|
|
|
|
|
|
|
|
|
111 |
?>
|
112 |
<li>
|
113 |
<input type="radio" name="select_restore" value="restore" id="cme_restore_manual">
|
114 |
-
<label for="cme_restore_manual"><?php printf(esc_html__('Manual backup of
|
115 |
</li>
|
116 |
<?php
|
117 |
$listed_manual_backup = true;
|
@@ -299,6 +304,70 @@ $auto_backups = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb-
|
|
299 |
</dl>
|
300 |
|
301 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
302 |
</td>
|
303 |
</tr>
|
304 |
</table>
|
36 |
|
37 |
<div class="wrap publishpress-caps-manage publishpress-caps-backup pressshack-admin-wrapper">
|
38 |
<div id="icon-capsman-admin" class="icon32"></div>
|
39 |
+
<h2><?php esc_html_e('Backup Tool for PublishPress Capabilities', 'capsman-enhanced');?></h2>
|
40 |
|
41 |
|
42 |
+
<form method="post" action="admin.php?page=pp-capabilities-backup" enctype="multipart/form-data">
|
43 |
<?php wp_nonce_field('pp-capabilities-backup'); ?>
|
44 |
|
45 |
<div class="pp-columns-wrapper<?php echo defined('CAPSMAN_PERMISSIONS_INSTALLED') && !CAPSMAN_PERMISSIONS_INSTALLED ? ' pp-enable-sidebar' : '' ?>">
|
48 |
<li class="nav-tab nav-tab-active"><a href="#ppcb-tab-restore"><?php esc_html_e('Restore', 'capsman-enhanced');?></a></li>
|
49 |
<li class="nav-tab"><a href="#ppcb-tab-backup"><?php esc_html_e('Backup', 'capsman-enhanced');?></a></li>
|
50 |
<li class="nav-tab"><a href="#ppcb-tab-reset"><?php esc_html_e('Reset Roles', 'capsman-enhanced');?></a></li>
|
51 |
+
<li class="nav-tab"><a href="#ppcb-tab-import-export"><?php esc_html_e('Export / Import', 'capsman-enhanced');?></a></li>
|
52 |
</ul>
|
53 |
|
54 |
<fieldset>
|
109 |
|
110 |
if (!$listed_manual_backup && ($backup_datestamp > strtotime($date_caption))) :
|
111 |
$manual_date_caption = date('Y-m-d, g:i a', $backup_datestamp);
|
112 |
+
$last_backup = get_option('capsman_last_backup');
|
113 |
+
if(!$last_backup){
|
114 |
+
$last_backup = __('all roles', 'capsman-enhanced');
|
115 |
+
}
|
116 |
?>
|
117 |
<li>
|
118 |
<input type="radio" name="select_restore" value="restore" id="cme_restore_manual">
|
119 |
+
<label for="cme_restore_manual"><?php printf(esc_html__('Manual backup of %s (%s)', 'capsman-enhanced'), esc_html($last_backup), esc_html($manual_date_caption)); ?></label>
|
120 |
</li>
|
121 |
<?php
|
122 |
$listed_manual_backup = true;
|
304 |
</dl>
|
305 |
|
306 |
|
307 |
+
<dl id="ppcb-tab-import-export" style="display:none;">
|
308 |
+
<dt><?php
|
309 |
+
esc_html_e('Export / Import', 'capsman-enhanced'); ?></dt>
|
310 |
+
<dd>
|
311 |
+
|
312 |
+
<div class="metabox-holder">
|
313 |
+
<div class="postbox">
|
314 |
+
<h3><span><?php esc_html_e('Export Settings', 'capsman-enhanced'); ?></span></h3>
|
315 |
+
<div class="inside">
|
316 |
+
<p><?php esc_html_e('Export the plugin settings for this site as a .json file. This allows you to easily import the configuration into another site.', 'capsman-enhanced'); ?></p>
|
317 |
+
<ul>
|
318 |
+
<li>
|
319 |
+
<input id="pp_capabilities_export_roles" name="pp_capabilities_export_section[]" type="checkbox" value="user_roles" checked />
|
320 |
+
<label for="pp_capabilities_export_roles">
|
321 |
+
<?php esc_html_e('Roles and Capabilities', 'capsman-enhanced'); ?>
|
322 |
+
</label>
|
323 |
+
</li>
|
324 |
+
<?php
|
325 |
+
$backup_sections = pp_capabilities_backup_sections();
|
326 |
+
foreach($backup_sections as $backup_key => $backup_section){
|
327 |
+
?>
|
328 |
+
<li>
|
329 |
+
<input id="pp_capabilities_export_<?php echo esc_attr($backup_key); ?>" name="pp_capabilities_export_section[]" type="checkbox" value="<?php echo esc_attr($backup_key); ?>" checked />
|
330 |
+
<label for="pp_capabilities_export_<?php echo esc_attr($backup_key); ?>"> <?php esc_html_e($backup_section['label']); ?> </label>
|
331 |
+
</li>
|
332 |
+
<?php
|
333 |
+
}
|
334 |
+
?>
|
335 |
+
</ul>
|
336 |
+
<p>
|
337 |
+
<input type="submit" name="export_backup"
|
338 |
+
value="<?php esc_attr_e('Export', 'capsman-enhanced') ?>"
|
339 |
+
class="button-primary"/>
|
340 |
+
</p>
|
341 |
+
</div>
|
342 |
+
</div>
|
343 |
+
|
344 |
+
<div class="postbox">
|
345 |
+
<h3><span><?php esc_html_e('Import Settings', 'capsman-enhanced'); ?></span></h3>
|
346 |
+
<div class="inside">
|
347 |
+
<p><strong><span class="pp-caps-warning"><?php esc_html_e('WARNING:', 'capsman-enhanced'); ?></span> <?php esc_html_e('Please make a \'Manual Backup\' in the backup tab to enable backup restore in case anything goes wrong.', 'capsman-enhanced'); ?></p>
|
348 |
+
|
349 |
+
<p><?php esc_html_e('Import the plugin settings from a .json file. This file can be obtained by exporting the settings on another site using the form above.', 'capsman-enhanced'); ?></p>
|
350 |
+
|
351 |
+
<p><?php esc_html_e('Before importing, we recommend using the "Backup" tab to create a backup of your current settings.', 'capsman-enhanced'); ?></p>
|
352 |
+
|
353 |
+
<br />
|
354 |
+
|
355 |
+
<p>
|
356 |
+
<input type="file" name="import_file"/>
|
357 |
+
</p>
|
358 |
+
<p>
|
359 |
+
<input type="submit" name="import_backup"
|
360 |
+
value="<?php esc_attr_e('Import', 'capsman-enhanced') ?>"
|
361 |
+
class="button-primary"/>
|
362 |
+
</p>
|
363 |
+
</div>
|
364 |
+
</div>
|
365 |
+
</div>
|
366 |
+
|
367 |
+
</dd>
|
368 |
+
</dl>
|
369 |
+
|
370 |
+
|
371 |
</td>
|
372 |
</tr>
|
373 |
</table>
|
includes/features/admin-features.php
CHANGED
@@ -312,6 +312,31 @@ $admin_features_elements = PP_Capabilities_Admin_Features::elementsLayout();
|
|
312 |
window.location = '<?php echo esc_url_raw(admin_url('admin.php?page=pp-capabilities-admin-features&role=')); ?>' + $(this).val() + ''
|
313 |
|
314 |
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
})
|
316 |
/* ]]> */
|
317 |
</script>
|
312 |
window.location = '<?php echo esc_url_raw(admin_url('admin.php?page=pp-capabilities-admin-features&role=')); ?>' + $(this).val() + ''
|
313 |
|
314 |
})
|
315 |
+
|
316 |
+
// -------------------------------------------------------------
|
317 |
+
// Admin Toolbar Check
|
318 |
+
// -------------------------------------------------------------
|
319 |
+
$(document).on('change', '.pp-capability-menus-wrapper .ppc-menu-row.parent-menu.admintoolbar .check-item', function() {
|
320 |
+
|
321 |
+
if ($(this).is(':checked')) {
|
322 |
+
//add class if value is checked
|
323 |
+
$('.ppc-menu-row.child-menu.admintoolbar').find('.menu-item-link').addClass('restricted')
|
324 |
+
|
325 |
+
//toggle all checkbox
|
326 |
+
$('.ppc-menu-row.child-menu.admintoolbar').find("input[type='checkbox'][name='capsman_disabled_admin_features[]']").prop('checked', true)
|
327 |
+
$('.ppc-menu-row.child-menu.admintoolbar').find('.menu-item-link').addClass('restricted')
|
328 |
+
|
329 |
+
} else {
|
330 |
+
//unchecked value
|
331 |
+
$('.ppc-menu-row.child-menu.admintoolbar').find('.menu-item-link').removeClass('restricted')
|
332 |
+
|
333 |
+
//toggle all checkbox
|
334 |
+
$('.ppc-menu-row.child-menu.admintoolbar').find("input[type='checkbox'][name='capsman_disabled_admin_features[]']").prop('checked', false)
|
335 |
+
$('.ppc-menu-row.child-menu.admintoolbar').find('.menu-item-link').removeClass('restricted')
|
336 |
+
|
337 |
+
}
|
338 |
+
|
339 |
+
})
|
340 |
})
|
341 |
/* ]]> */
|
342 |
</script>
|
includes/features/editor-features-classic.php
CHANGED
@@ -7,7 +7,9 @@ $def_post_types = array_unique(apply_filters('pp_capabilities_feature_post_types
|
|
7 |
|
8 |
asort($def_post_types);
|
9 |
|
10 |
-
|
|
|
|
|
11 |
?>
|
12 |
<style type="text/css">
|
13 |
.pp-columns-wrapper.pp-enable-sidebar .pp-column-left {width: 100% !important;}
|
7 |
|
8 |
asort($def_post_types);
|
9 |
|
10 |
+
$types_limit = (defined('PP_CAPABILITIES_EDITOR_FEATURES_MAX_TYPES')) ? PP_CAPABILITIES_EDITOR_FEATURES_MAX_TYPES : 12;
|
11 |
+
|
12 |
+
if (count($def_post_types) > $types_limit ) {
|
13 |
?>
|
14 |
<style type="text/css">
|
15 |
.pp-columns-wrapper.pp-enable-sidebar .pp-column-left {width: 100% !important;}
|
includes/features/editor-features-gutenberg.php
CHANGED
@@ -7,7 +7,9 @@ $def_post_types = array_unique(apply_filters('pp_capabilities_feature_post_types
|
|
7 |
|
8 |
asort($def_post_types);
|
9 |
|
10 |
-
|
|
|
|
|
11 |
?>
|
12 |
<style type="text/css">
|
13 |
.pp-columns-wrapper.pp-enable-sidebar .pp-column-left {width: 100% !important;}
|
7 |
|
8 |
asort($def_post_types);
|
9 |
|
10 |
+
$types_limit = (defined('PP_CAPABILITIES_EDITOR_FEATURES_MAX_TYPES')) ? PP_CAPABILITIES_EDITOR_FEATURES_MAX_TYPES : 12;
|
11 |
+
|
12 |
+
if (count($def_post_types) > $types_limit ) {
|
13 |
?>
|
14 |
<style type="text/css">
|
15 |
.pp-columns-wrapper.pp-enable-sidebar .pp-column-left {width: 100% !important;}
|
includes/features/features-block-script.js
CHANGED
@@ -29,4 +29,7 @@ if(ppc_features.disabled_panel){
|
|
29 |
if(disabled_panel.includes("post-status")){
|
30 |
wp.data.dispatch( 'core/edit-post').removeEditorPanel( 'post-status' ) ;// Post status
|
31 |
}
|
|
|
|
|
|
|
32 |
}
|
29 |
if(disabled_panel.includes("post-status")){
|
30 |
wp.data.dispatch( 'core/edit-post').removeEditorPanel( 'post-status' ) ;// Post status
|
31 |
}
|
32 |
+
if(disabled_panel.includes("template")){
|
33 |
+
wp.data.dispatch( 'core/edit-post').removeEditorPanel( 'template' ) ;// Template
|
34 |
+
}
|
35 |
}
|
includes/features/restrict-admin-features.php
CHANGED
@@ -229,7 +229,7 @@ class PP_Capabilities_Admin_Features
|
|
229 |
$title = preg_replace('#(<img.*?>)#', '', $title);
|
230 |
|
231 |
//strip other html tags
|
232 |
-
$title =
|
233 |
|
234 |
return $title;
|
235 |
}
|
@@ -260,6 +260,11 @@ class PP_Capabilities_Admin_Features
|
|
260 |
public static function adminFeaturedRestriction()
|
261 |
{
|
262 |
global $ppc_disabled_toolbar, $ppc_disabled_widget;
|
|
|
|
|
|
|
|
|
|
|
263 |
// Get all user roles.
|
264 |
$user_roles = wp_get_current_user()->roles;
|
265 |
$disabled_features = get_option("capsman_disabled_admin_features", []);
|
@@ -342,8 +347,8 @@ class PP_Capabilities_Admin_Features
|
|
342 |
*/
|
343 |
public static function disableDashboardBarBackend()
|
344 |
{
|
345 |
-
|
346 |
-
|
347 |
}
|
348 |
|
349 |
/**
|
229 |
$title = preg_replace('#(<img.*?>)#', '', $title);
|
230 |
|
231 |
//strip other html tags
|
232 |
+
$title = wp_strip_all_tags($title);
|
233 |
|
234 |
return $title;
|
235 |
}
|
260 |
public static function adminFeaturedRestriction()
|
261 |
{
|
262 |
global $ppc_disabled_toolbar, $ppc_disabled_widget;
|
263 |
+
|
264 |
+
if (is_multisite() && is_super_admin() && !defined('PP_CAPABILITIES_RESTRICT_SUPER_ADMIN')) {
|
265 |
+
return;
|
266 |
+
}
|
267 |
+
|
268 |
// Get all user roles.
|
269 |
$user_roles = wp_get_current_user()->roles;
|
270 |
$disabled_features = get_option("capsman_disabled_admin_features", []);
|
347 |
*/
|
348 |
public static function disableDashboardBarBackend()
|
349 |
{
|
350 |
+
//add inline styles
|
351 |
+
ppc_add_inline_style('html.wp-toolbar { padding-top:0!important; } #wpadminbar {display:none !important;}');
|
352 |
}
|
353 |
|
354 |
/**
|
includes/features/restrict-editor-features.php
CHANGED
@@ -169,7 +169,8 @@ class PP_Capabilities_Post_Features {
|
|
169 |
|
170 |
// apply the stored restrictions by css
|
171 |
if ($restrict_elements = array_unique($restrict_elements)) {
|
172 |
-
|
|
|
173 |
}
|
174 |
}
|
175 |
|
@@ -259,7 +260,8 @@ class PP_Capabilities_Post_Features {
|
|
259 |
['editor_script' => 'ppc-features-block-script']
|
260 |
);
|
261 |
|
262 |
-
|
|
|
263 |
}
|
264 |
}
|
265 |
|
@@ -315,6 +317,7 @@ class PP_Capabilities_Post_Features {
|
|
315 |
|
316 |
esc_html__('Document Panel', 'capabilities-pro') => [
|
317 |
'status_visibility' => ['label' => esc_html__('Status & visibility', 'capsman-enhanced'), 'elements' => 'post-status'],
|
|
|
318 |
'permalink' => ['label' => esc_html__('Permalink', 'capsman-enhanced'), 'elements' => 'post-link'],
|
319 |
'categories' => ['label' => esc_html__('Categories', 'capsman-enhanced'), 'elements' => 'taxonomy-panel-category'],
|
320 |
'tags' => ['label' => esc_html__('Tags', 'capsman-enhanced'), 'elements' => 'taxonomy-panel-post_tag'],
|
169 |
|
170 |
// apply the stored restrictions by css
|
171 |
if ($restrict_elements = array_unique($restrict_elements)) {
|
172 |
+
//add inline styles
|
173 |
+
ppc_add_inline_style('' . implode(',', array_map('esc_attr', $restrict_elements)) . ' {display:none !important;}');
|
174 |
}
|
175 |
}
|
176 |
|
260 |
['editor_script' => 'ppc-features-block-script']
|
261 |
);
|
262 |
|
263 |
+
//add inline styles
|
264 |
+
ppc_add_inline_style('' . implode(',', array_map('esc_attr', $restrict_elements)) . ' {display:none !important;}');
|
265 |
}
|
266 |
}
|
267 |
|
317 |
|
318 |
esc_html__('Document Panel', 'capabilities-pro') => [
|
319 |
'status_visibility' => ['label' => esc_html__('Status & visibility', 'capsman-enhanced'), 'elements' => 'post-status'],
|
320 |
+
'template' => ['label' => esc_html__('Template', 'capsman-enhanced'), 'elements' => 'template'],
|
321 |
'permalink' => ['label' => esc_html__('Permalink', 'capsman-enhanced'), 'elements' => 'post-link'],
|
322 |
'categories' => ['label' => esc_html__('Categories', 'capsman-enhanced'), 'elements' => 'taxonomy-panel-category'],
|
323 |
'tags' => ['label' => esc_html__('Tags', 'capsman-enhanced'), 'elements' => 'taxonomy-panel-post_tag'],
|
includes/filters.php
CHANGED
@@ -55,15 +55,6 @@ add_filter('plugin_action_links_' . plugin_basename(CME_FILE), '_cme_fltPluginAc
|
|
55 |
|
56 |
add_action('plugins_loaded', '_cme_migrate_pp_options');
|
57 |
|
58 |
-
add_filter('cme_filterable_post_types', '_cme_filterable_post_types');
|
59 |
-
|
60 |
-
function _cme_filterable_post_types($post_type_objects) {
|
61 |
-
if ($advgb_profiles = get_post_type_object('advgb_profiles')) {
|
62 |
-
$post_type_objects['advgb_profiles'] = $advgb_profiles;
|
63 |
-
}
|
64 |
-
|
65 |
-
return $post_type_objects;
|
66 |
-
}
|
67 |
|
68 |
function _cme_publishpress_roles_js() {
|
69 |
if (defined('PUBLISHPRESS_VERSION') && !empty($_SERVER['REQUEST_URI']) && strpos(sanitize_text_field($_SERVER['REQUEST_URI']), 'page=pp-manage-roles')) {
|
55 |
|
56 |
add_action('plugins_loaded', '_cme_migrate_pp_options');
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
function _cme_publishpress_roles_js() {
|
60 |
if (defined('PUBLISHPRESS_VERSION') && !empty($_SERVER['REQUEST_URI']) && strpos(sanitize_text_field($_SERVER['REQUEST_URI']), 'page=pp-manage-roles')) {
|
includes/functions-admin.php
CHANGED
@@ -186,3 +186,48 @@ function ppc_remove_non_alphanumeric_space_characters($string)
|
|
186 |
{
|
187 |
return preg_replace("/(\W)+/", "", $string);
|
188 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
{
|
187 |
return preg_replace("/(\W)+/", "", $string);
|
188 |
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Get all capabilities backup section.
|
192 |
+
*
|
193 |
+
* @return array $backup_sections
|
194 |
+
*/
|
195 |
+
function pp_capabilities_backup_sections()
|
196 |
+
{
|
197 |
+
$cms_id = 'capsman';
|
198 |
+
$backup_sections = [];
|
199 |
+
|
200 |
+
//Editor Features
|
201 |
+
$backup_sections[$cms_id . '_editor_features_backup']['label'] = esc_html__('Editor Feature', 'capsman-enhanced');
|
202 |
+
$classic_editor = pp_capabilities_is_classic_editor_available();
|
203 |
+
$def_post_types = array_unique(apply_filters('pp_capabilities_feature_post_types', ['post', 'page']));
|
204 |
+
foreach ($def_post_types as $post_type) {
|
205 |
+
if ($classic_editor) {
|
206 |
+
$backup_sections[$cms_id . '_editor_features_backup']['options'][] = "capsman_feature_restrict_classic_{$post_type}";
|
207 |
+
}
|
208 |
+
$backup_sections[$cms_id . '_editor_features_backup']['options'][] = "capsman_feature_restrict_{$post_type}";
|
209 |
+
}
|
210 |
+
|
211 |
+
//Admin Features
|
212 |
+
$backup_sections[$cms_id . '_admin_features_backup']['label'] = esc_html__('Admin Feature', 'capsman-enhanced');
|
213 |
+
$backup_sections[$cms_id . '_admin_features_backup']['options'][] = "capsman_disabled_admin_features";
|
214 |
+
|
215 |
+
return apply_filters('pp_capabilities_backup_sections', $backup_sections);
|
216 |
+
}
|
217 |
+
|
218 |
+
/**
|
219 |
+
* Register and add inline styles.
|
220 |
+
*
|
221 |
+
* @param string $custom_css
|
222 |
+
* @param string $handle
|
223 |
+
*
|
224 |
+
* @return string
|
225 |
+
*
|
226 |
+
* @since 2.3.5
|
227 |
+
*/
|
228 |
+
function ppc_add_inline_style($custom_css, $handle = 'ppc-dummy-css-handle')
|
229 |
+
{
|
230 |
+
wp_register_style(esc_attr($handle), false);
|
231 |
+
wp_enqueue_style(esc_attr($handle));
|
232 |
+
wp_add_inline_style(esc_attr($handle), esc_attr($custom_css));
|
233 |
+
}
|
includes/handler.php
CHANGED
@@ -51,36 +51,7 @@ class CapsmanHandler
|
|
51 |
ak_admin_error(__('Error: Failed creating the new role.', 'capsman-enhanced'));
|
52 |
}
|
53 |
|
54 |
-
//
|
55 |
-
} elseif (!empty($_POST['RenameRole']) && !empty($_POST['rename-name']) && !empty($_POST['current'])) {
|
56 |
-
$current = get_role(sanitize_key($_POST['current']));
|
57 |
-
$new_title = sanitize_text_field($_POST['rename-name']);
|
58 |
-
|
59 |
-
if ($current && isset($wp_roles->roles[$current->name]) && $new_title) {
|
60 |
-
$old_title = $wp_roles->roles[$current->name]['name'];
|
61 |
-
$wp_roles->roles[$current->name]['name'] = $new_title;
|
62 |
-
update_option($wp_roles->role_key, $wp_roles->roles);
|
63 |
-
|
64 |
-
$this->cm->set_current_role($current->name);
|
65 |
-
|
66 |
-
$url = admin_url('admin.php?page=pp-capabilities&role=' . sanitize_key($current->name));
|
67 |
-
wp_redirect($url);
|
68 |
-
exit;
|
69 |
-
}
|
70 |
-
// Copy current role to a new one.
|
71 |
-
} elseif (!empty($_POST['CopyRole']) && !empty($_POST['copy-name']) && !empty($_POST['current'])) {
|
72 |
-
$current = get_role(sanitize_key($_POST['current']));
|
73 |
-
if ( $newrole = $this->createRole(sanitize_text_field($_POST['copy-name']), $current->capabilities) ) {
|
74 |
-
ak_admin_notify(__('New role created.', 'capsman-enhanced'));
|
75 |
-
$this->cm->set_current_role($newrole);
|
76 |
-
} else {
|
77 |
-
if ( empty($_POST['copy-name']) && in_array(get_locale(), ['en_EN', 'en_US']) )
|
78 |
-
ak_admin_error('Error: No role name specified.');
|
79 |
-
else
|
80 |
-
ak_admin_error(__('Error: Failed creating the new role.', 'capsman-enhanced'));
|
81 |
-
}
|
82 |
-
|
83 |
-
// Save role changes. Already saved at start with self::saveRoleCapabilities().
|
84 |
} elseif ( ! empty($_POST['SaveRole']) && !empty($_POST['current'])) {
|
85 |
if ( MULTISITE ) {
|
86 |
( method_exists( $wp_roles, 'for_site' ) ) ? $wp_roles->for_site() : $wp_roles->reinit();
|
@@ -399,33 +370,6 @@ class CapsmanHandler
|
|
399 |
|
400 |
pp_capabilities_autobackup();
|
401 |
}
|
402 |
-
|
403 |
-
/**
|
404 |
-
* Deletes a role.
|
405 |
-
* The role comes from the $_GET['role'] var and the nonce has already been checked.
|
406 |
-
* Default WordPress role cannot be deleted and if trying to do it, throws an error.
|
407 |
-
* Users with the deleted role, are moved to the WordPress default role.
|
408 |
-
*
|
409 |
-
* @return void
|
410 |
-
*/
|
411 |
-
function adminDeleteRole ()
|
412 |
-
{
|
413 |
-
if (!empty($_GET['role'])) {
|
414 |
-
$role_name = sanitize_key($_GET['role']);
|
415 |
-
check_admin_referer('delete-role_' . $role_name);
|
416 |
-
|
417 |
-
$this->cm->current = $role_name;
|
418 |
-
|
419 |
-
if (!pp_capabilities_is_editable_role($role_name)) {
|
420 |
-
ak_admin_error(__('The selected role is not editable.', 'capsman-enhanced'));
|
421 |
-
}
|
422 |
-
|
423 |
-
if (false !== pp_capabilities_roles()->actions->delete_role($role_name, ['allow_system_role_deletion' => true, 'nonce_check' => false])) {
|
424 |
-
unset($this->cm->roles[$role_name]);
|
425 |
-
$this->cm->current = get_option('default_role');
|
426 |
-
}
|
427 |
-
}
|
428 |
-
}
|
429 |
}
|
430 |
|
431 |
if ( ! function_exists('boolval') ) {
|
51 |
ak_admin_error(__('Error: Failed creating the new role.', 'capsman-enhanced'));
|
52 |
}
|
53 |
|
54 |
+
// Save role changes. Already saved at start with self::saveRoleCapabilities()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
} elseif ( ! empty($_POST['SaveRole']) && !empty($_POST['current'])) {
|
56 |
if ( MULTISITE ) {
|
57 |
( method_exists( $wp_roles, 'for_site' ) ) ? $wp_roles->for_site() : $wp_roles->reinit();
|
370 |
|
371 |
pp_capabilities_autobackup();
|
372 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
373 |
}
|
374 |
|
375 |
if ( ! function_exists('boolval') ) {
|
includes/manager.php
CHANGED
@@ -37,6 +37,8 @@ add_action( 'init', 'cme_update_pp_usage' ); // update early so resulting post
|
|
37 |
|
38 |
function cme_update_pp_usage() {
|
39 |
if ( ! empty($_REQUEST['update_filtered_types']) || ! empty($_REQUEST['update_filtered_taxonomies']) || ! empty($_REQUEST['update_detailed_taxonomies']) || ! empty($_REQUEST['SaveRole']) ) {
|
|
|
|
|
40 |
require_once( dirname(__FILE__).'/pp-handler.php' );
|
41 |
return _cme_update_pp_usage();
|
42 |
}
|
@@ -134,7 +136,11 @@ class CapabilityManager
|
|
134 |
$this->mod_url = plugins_url( '', CME_FILE );
|
135 |
|
136 |
if (is_admin() && !empty($_REQUEST['page']) && ('pp-capabilities-settings' == $_REQUEST['page']) && (!empty($_POST['all_options']) || !empty($_POST['all_options_pro']))) {
|
137 |
-
|
|
|
|
|
|
|
|
|
138 |
}
|
139 |
|
140 |
$this->moduleLoad();
|
@@ -157,6 +163,9 @@ class CapabilityManager
|
|
157 |
add_action('wp_ajax_pp-roles-hide-role', [$this, 'handleRolesAjax']);
|
158 |
add_action('wp_ajax_pp-roles-unhide-role', [$this, 'handleRolesAjax']);
|
159 |
}
|
|
|
|
|
|
|
160 |
}
|
161 |
|
162 |
/**
|
@@ -234,7 +243,8 @@ class CapabilityManager
|
|
234 |
add_filter( 'option_' . $role_key, array( &$this, 'reinstate_db_roles' ), PHP_INT_MAX );
|
235 |
}
|
236 |
|
237 |
-
|
|
|
238 |
}
|
239 |
|
240 |
public function set_current_role($role_name) {
|
@@ -721,12 +731,6 @@ class CapabilityManager
|
|
721 |
$this->generateNames();
|
722 |
$roles = array_keys($this->roles);
|
723 |
|
724 |
-
if ( isset($_GET['action']) && 'delete' == $_GET['action']) {
|
725 |
-
require_once( dirname(__FILE__).'/handler.php' );
|
726 |
-
$capsman_modify = new CapsmanHandler( $this );
|
727 |
-
$capsman_modify->adminDeleteRole();
|
728 |
-
}
|
729 |
-
|
730 |
if ( ! isset($this->current) ) { // By default, we manage the default role
|
731 |
if (empty($_POST) && !empty($_REQUEST['role'])) {
|
732 |
$role = sanitize_key($_REQUEST['role']);
|
@@ -879,12 +883,14 @@ class CapabilityManager
|
|
879 |
}
|
880 |
|
881 |
if (!empty($_SERVER['REQUEST_METHOD']) && ('POST' == $_SERVER['REQUEST_METHOD'])) {
|
|
|
882 |
require_once( dirname(__FILE__).'/backup-handler.php' );
|
883 |
$cme_backup_handler = new Capsman_BackupHandler( $this );
|
884 |
$cme_backup_handler->processBackupTool();
|
885 |
}
|
886 |
|
887 |
if ( isset($_GET['action']) && 'reset-defaults' == $_GET['action']) {
|
|
|
888 |
require_once( dirname(__FILE__).'/backup-handler.php' );
|
889 |
$cme_backup_handler = new Capsman_BackupHandler( $this );
|
890 |
$cme_backup_handler->backupToolReset();
|
@@ -893,6 +899,68 @@ class CapabilityManager
|
|
893 |
include ( dirname(CME_FILE) . '/includes/backup.php' );
|
894 |
}
|
895 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
896 |
function settingsPage() {
|
897 |
include ( dirname(CME_FILE) . '/includes/settings.php' );
|
898 |
}
|
37 |
|
38 |
function cme_update_pp_usage() {
|
39 |
if ( ! empty($_REQUEST['update_filtered_types']) || ! empty($_REQUEST['update_filtered_taxonomies']) || ! empty($_REQUEST['update_detailed_taxonomies']) || ! empty($_REQUEST['SaveRole']) ) {
|
40 |
+
check_admin_referer('capsman-general-manager');
|
41 |
+
|
42 |
require_once( dirname(__FILE__).'/pp-handler.php' );
|
43 |
return _cme_update_pp_usage();
|
44 |
}
|
136 |
$this->mod_url = plugins_url( '', CME_FILE );
|
137 |
|
138 |
if (is_admin() && !empty($_REQUEST['page']) && ('pp-capabilities-settings' == $_REQUEST['page']) && (!empty($_POST['all_options']) || !empty($_POST['all_options_pro']))) {
|
139 |
+
add_action('init', function() {
|
140 |
+
if (isset($_REQUEST['_wpnonce']) && wp_verify_nonce($_REQUEST['_wpnonce'], 'pp-capabilities-settings') && current_user_can('manage_capabilities')) {
|
141 |
+
require_once (dirname(CME_FILE) . '/includes/settings-handler.php');
|
142 |
+
}
|
143 |
+
}, 1);
|
144 |
}
|
145 |
|
146 |
$this->moduleLoad();
|
163 |
add_action('wp_ajax_pp-roles-hide-role', [$this, 'handleRolesAjax']);
|
164 |
add_action('wp_ajax_pp-roles-unhide-role', [$this, 'handleRolesAjax']);
|
165 |
}
|
166 |
+
|
167 |
+
//process export
|
168 |
+
add_action( 'admin_init', [$this, 'processExport']);
|
169 |
}
|
170 |
|
171 |
/**
|
243 |
add_filter( 'option_' . $role_key, array( &$this, 'reinstate_db_roles' ), PHP_INT_MAX );
|
244 |
}
|
245 |
|
246 |
+
$action = (defined('PP_CAPABILITIES_COMPAT_MODE')) ? 'init' : 'plugins_loaded';
|
247 |
+
add_action( $action, array( &$this, 'processRoleUpdate' ) );
|
248 |
}
|
249 |
|
250 |
public function set_current_role($role_name) {
|
731 |
$this->generateNames();
|
732 |
$roles = array_keys($this->roles);
|
733 |
|
|
|
|
|
|
|
|
|
|
|
|
|
734 |
if ( ! isset($this->current) ) { // By default, we manage the default role
|
735 |
if (empty($_POST) && !empty($_REQUEST['role'])) {
|
736 |
$role = sanitize_key($_REQUEST['role']);
|
883 |
}
|
884 |
|
885 |
if (!empty($_SERVER['REQUEST_METHOD']) && ('POST' == $_SERVER['REQUEST_METHOD'])) {
|
886 |
+
check_admin_referer('pp-capabilities-backup');
|
887 |
require_once( dirname(__FILE__).'/backup-handler.php' );
|
888 |
$cme_backup_handler = new Capsman_BackupHandler( $this );
|
889 |
$cme_backup_handler->processBackupTool();
|
890 |
}
|
891 |
|
892 |
if ( isset($_GET['action']) && 'reset-defaults' == $_GET['action']) {
|
893 |
+
check_admin_referer('capsman-reset-defaults');
|
894 |
require_once( dirname(__FILE__).'/backup-handler.php' );
|
895 |
$cme_backup_handler = new Capsman_BackupHandler( $this );
|
896 |
$cme_backup_handler->backupToolReset();
|
899 |
include ( dirname(CME_FILE) . '/includes/backup.php' );
|
900 |
}
|
901 |
|
902 |
+
|
903 |
+
/**
|
904 |
+
* Processes export.
|
905 |
+
*
|
906 |
+
* This function need to run in admin init
|
907 |
+
* to enable clean download.
|
908 |
+
*
|
909 |
+
* @return void
|
910 |
+
*/
|
911 |
+
function processExport()
|
912 |
+
{
|
913 |
+
global $wpdb;
|
914 |
+
|
915 |
+
if ((!is_multisite() || !is_super_admin()) && !current_user_can('administrator') && !current_user_can('restore_roles')) {
|
916 |
+
// TODO: Implement exceptions.
|
917 |
+
wp_die('<strong>' . esc_html__('You do not have permission to perform this action.', 'capsman-enhanced') . '</strong>');
|
918 |
+
}
|
919 |
+
|
920 |
+
if ( isset($_POST['export_backup']) && isset($_POST['pp_capabilities_export_section']) && !empty($_POST['pp_capabilities_export_section'])) {
|
921 |
+
check_admin_referer('pp-capabilities-backup');
|
922 |
+
|
923 |
+
|
924 |
+
$export_option = array_map('sanitize_text_field', $_POST['pp_capabilities_export_section']);
|
925 |
+
$backup_sections = pp_capabilities_backup_sections();
|
926 |
+
$charset = get_option( 'blog_charset' );
|
927 |
+
$data = [];
|
928 |
+
|
929 |
+
//add role
|
930 |
+
if(in_array('user_roles', $export_option)){
|
931 |
+
$data['user_roles'] = get_option($wpdb->prefix . 'user_roles');
|
932 |
+
}
|
933 |
+
|
934 |
+
//other section
|
935 |
+
foreach($backup_sections as $backup_key => $backup_section){
|
936 |
+
|
937 |
+
if(!in_array($backup_key, $export_option)){
|
938 |
+
continue;
|
939 |
+
}
|
940 |
+
$section_options = $backup_section['options'];
|
941 |
+
if(is_array($section_options) && !empty($section_options)){
|
942 |
+
foreach($section_options as $section_option){
|
943 |
+
$active_backup[] = $backup_section['label'];
|
944 |
+
$data[$section_option] = get_option($section_option);
|
945 |
+
}
|
946 |
+
}
|
947 |
+
}
|
948 |
+
|
949 |
+
// Set the download headers.
|
950 |
+
nocache_headers();
|
951 |
+
header( 'Content-Type: application/json; charset=' . $charset );
|
952 |
+
header( 'Content-Disposition: attachment; filename=capabilities-export-' . current_time('Y-m-d_g-i-s_a') . '.json' );
|
953 |
+
header( "Expires: 0" );
|
954 |
+
|
955 |
+
// Serialize the export data.
|
956 |
+
echo serialize( $data );
|
957 |
+
|
958 |
+
// Start the download.
|
959 |
+
die();
|
960 |
+
|
961 |
+
}
|
962 |
+
}
|
963 |
+
|
964 |
function settingsPage() {
|
965 |
include ( dirname(CME_FILE) . '/includes/settings.php' );
|
966 |
}
|
includes/roles/class/class-pp-roles-actions.php
CHANGED
@@ -18,6 +18,7 @@ class Pp_Roles_Actions
|
|
18 |
*/
|
19 |
protected $actions = [
|
20 |
'pp-roles-add-role',
|
|
|
21 |
'pp-roles-delete-role',
|
22 |
'pp-roles-hide-role',
|
23 |
'pp-roles-unhide-role',
|
@@ -85,6 +86,10 @@ class Pp_Roles_Actions
|
|
85 |
$this->notify($message, 'success', false);
|
86 |
}
|
87 |
|
|
|
|
|
|
|
|
|
88 |
protected function notify_error($message) {
|
89 |
$this->notify($message, 'error', false);
|
90 |
}
|
@@ -95,8 +100,9 @@ class Pp_Roles_Actions
|
|
95 |
* @param string $message The message to show to the user
|
96 |
* @param string $type The type of message to show [error|success|warning\info]
|
97 |
* @param bool $redirect If we should redirect to referrer
|
|
|
98 |
*/
|
99 |
-
protected function notify($message, $type = 'error', $redirect = true)
|
100 |
{
|
101 |
if (!in_array($type, ['error', 'success', 'warning'])) {
|
102 |
$type = 'error';
|
@@ -110,22 +116,22 @@ class Pp_Roles_Actions
|
|
110 |
//enqueue message
|
111 |
pp_capabilities_roles()->notify->add($type, $message);
|
112 |
|
113 |
-
// @todo: migrate Capabilities screen notice display method
|
114 |
if (!empty($_REQUEST['page']) && ('pp-capabilities' == $_REQUEST['page'])) {
|
115 |
$redirect = false;
|
116 |
}
|
117 |
|
118 |
if ($redirect) {
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
$
|
|
|
124 |
'page' => 'pp-capabilities-roles',
|
125 |
];
|
126 |
-
|
|
|
127 |
}
|
128 |
-
|
129 |
wp_safe_redirect($redirect_url);
|
130 |
die();
|
131 |
}
|
@@ -139,7 +145,7 @@ class Pp_Roles_Actions
|
|
139 |
{
|
140 |
|
141 |
if (!current_user_can($this->capability)) {
|
142 |
-
$this->notify(
|
143 |
}
|
144 |
}
|
145 |
|
@@ -151,10 +157,9 @@ class Pp_Roles_Actions
|
|
151 |
*/
|
152 |
protected function check_nonce($action = '-1', $query_arg = '_wpnonce')
|
153 |
{
|
154 |
-
|
155 |
$checked = isset($_REQUEST[$query_arg]) && wp_verify_nonce(sanitize_key($_REQUEST[$query_arg]), $action);
|
156 |
if (!$checked) {
|
157 |
-
$this->notify(
|
158 |
}
|
159 |
}
|
160 |
|
@@ -171,10 +176,24 @@ class Pp_Roles_Actions
|
|
171 |
/**
|
172 |
* Check nonce
|
173 |
*/
|
174 |
-
$
|
|
|
|
|
175 |
|
176 |
-
if (empty($_REQUEST['
|
177 |
-
$this->notify(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
}
|
179 |
|
180 |
/**
|
@@ -182,7 +201,7 @@ class Pp_Roles_Actions
|
|
182 |
*/
|
183 |
require_once(dirname(CME_FILE).'/includes/handler.php');
|
184 |
$capsman_handler = new CapsmanHandler();
|
185 |
-
$role = $capsman_handler->createNewName(
|
186 |
|
187 |
/**
|
188 |
* Check for invalid name entry
|
@@ -190,7 +209,7 @@ class Pp_Roles_Actions
|
|
190 |
if (!empty($role['error']) && ('invalid_name' == $role['error'])) {
|
191 |
$out = sprintf(
|
192 |
__('Invalid role name entry: %s', 'capsman-enhanced'),
|
193 |
-
|
194 |
);
|
195 |
$this->notify($out);
|
196 |
}
|
@@ -202,7 +221,7 @@ class Pp_Roles_Actions
|
|
202 |
//this role already exist
|
203 |
$out = sprintf(
|
204 |
__('The role "%s" already exists. Please choose a different name.', 'capsman-enhanced'),
|
205 |
-
|
206 |
);
|
207 |
|
208 |
$this->notify($out);
|
@@ -211,46 +230,132 @@ class Pp_Roles_Actions
|
|
211 |
/**
|
212 |
* Add role
|
213 |
*/
|
214 |
-
$
|
215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
if (!$result instanceof WP_Role) {
|
217 |
-
if ($this->notify(
|
218 |
return;
|
219 |
}
|
220 |
}
|
221 |
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
$count_users = count_users();
|
227 |
-
ob_start();
|
228 |
-
|
229 |
-
global $hook_suffix; //avoid warning outputs
|
230 |
-
if (!isset($hook_suffix)) {
|
231 |
-
$hook_suffix = '';
|
232 |
-
}
|
233 |
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
}
|
255 |
|
256 |
/**
|
@@ -276,8 +381,8 @@ class Pp_Roles_Actions
|
|
276 |
/**
|
277 |
* Check nonce
|
278 |
*/
|
279 |
-
if ($nonce_check) {
|
280 |
-
$this->
|
281 |
}
|
282 |
|
283 |
/**
|
@@ -301,7 +406,7 @@ class Pp_Roles_Actions
|
|
301 |
* If no roles provided return
|
302 |
*/
|
303 |
if (empty($roles)) {
|
304 |
-
$this->notify(
|
305 |
}
|
306 |
|
307 |
$default = get_option('default_role');
|
@@ -309,7 +414,7 @@ class Pp_Roles_Actions
|
|
309 |
if ( $default == $role ) {
|
310 |
$this->notify(
|
311 |
sprintf(
|
312 |
-
|
313 |
'options-general.php'
|
314 |
)
|
315 |
);
|
@@ -328,7 +433,7 @@ class Pp_Roles_Actions
|
|
328 |
}
|
329 |
|
330 |
if (empty($roles)) {
|
331 |
-
$this->notify(
|
332 |
}
|
333 |
}
|
334 |
|
@@ -356,13 +461,13 @@ class Pp_Roles_Actions
|
|
356 |
|
357 |
$single = sprintf(
|
358 |
esc_html__('The role %1$s was successfully deleted. %2$s', 'capsman-enhanced'),
|
359 |
-
|
360 |
$users_message
|
361 |
);
|
362 |
|
363 |
$plural = sprintf(
|
364 |
esc_html__('The selected %1$s roles were successfully deleted. %2$s', 'capsman-enhanced'),
|
365 |
-
|
366 |
$users_message
|
367 |
);
|
368 |
|
@@ -371,10 +476,19 @@ class Pp_Roles_Actions
|
|
371 |
if ($this->is_ajax()) {
|
372 |
wp_send_json_success($out);
|
373 |
} else {
|
374 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
375 |
}
|
376 |
} else {
|
377 |
-
$this->notify(
|
378 |
}
|
379 |
}
|
380 |
|
@@ -429,7 +543,7 @@ class Pp_Roles_Actions
|
|
429 |
|
430 |
$out = sprintf(
|
431 |
__('The role %1$s was successfully hidden.', 'capsman-enhanced'),
|
432 |
-
|
433 |
);
|
434 |
|
435 |
if ($this->is_ajax()) {
|
@@ -478,10 +592,10 @@ class Pp_Roles_Actions
|
|
478 |
* If no roles provided return
|
479 |
*/
|
480 |
if (empty($roles)) {
|
481 |
-
$this->notify(
|
482 |
}
|
483 |
|
484 |
-
$pp_only = (array) pp_capabilities_get_permissions_option(
|
485 |
$pp_only = array_diff($pp_only, (array) $roles);
|
486 |
pp_capabilities_update_permissions_option('supplemental_role_defs', $pp_only);
|
487 |
|
@@ -489,7 +603,7 @@ class Pp_Roles_Actions
|
|
489 |
|
490 |
$out = sprintf(
|
491 |
__('The role %1$s was successfully unhidden.', 'capsman-enhanced'),
|
492 |
-
|
493 |
);
|
494 |
|
495 |
if ($this->is_ajax()) {
|
18 |
*/
|
19 |
protected $actions = [
|
20 |
'pp-roles-add-role',
|
21 |
+
'pp-roles-edit-role',
|
22 |
'pp-roles-delete-role',
|
23 |
'pp-roles-hide-role',
|
24 |
'pp-roles-unhide-role',
|
86 |
$this->notify($message, 'success', false);
|
87 |
}
|
88 |
|
89 |
+
protected function notify_info($message) {
|
90 |
+
$this->notify($message, 'info', false);
|
91 |
+
}
|
92 |
+
|
93 |
protected function notify_error($message) {
|
94 |
$this->notify($message, 'error', false);
|
95 |
}
|
100 |
* @param string $message The message to show to the user
|
101 |
* @param string $type The type of message to show [error|success|warning\info]
|
102 |
* @param bool $redirect If we should redirect to referrer
|
103 |
+
* @param bool|string $redirect_url url to redirect to if provided
|
104 |
*/
|
105 |
+
protected function notify($message, $type = 'error', $redirect = true, $redirect_url = false)
|
106 |
{
|
107 |
if (!in_array($type, ['error', 'success', 'warning'])) {
|
108 |
$type = 'error';
|
116 |
//enqueue message
|
117 |
pp_capabilities_roles()->notify->add($type, $message);
|
118 |
|
|
|
119 |
if (!empty($_REQUEST['page']) && ('pp-capabilities' == $_REQUEST['page'])) {
|
120 |
$redirect = false;
|
121 |
}
|
122 |
|
123 |
if ($redirect) {
|
124 |
+
if (!$redirect_url) {
|
125 |
+
$redirect_url = wp_get_referer();
|
126 |
+
$redirect_url = wp_get_raw_referer();
|
127 |
+
|
128 |
+
if (empty($redirect_url)) {
|
129 |
+
$params = [
|
130 |
'page' => 'pp-capabilities-roles',
|
131 |
];
|
132 |
+
$redirect_url = esc_url_raw(add_query_arg($params, admin_url('admin.php')));
|
133 |
+
}
|
134 |
}
|
|
|
135 |
wp_safe_redirect($redirect_url);
|
136 |
die();
|
137 |
}
|
145 |
{
|
146 |
|
147 |
if (!current_user_can($this->capability)) {
|
148 |
+
$this->notify(esc_html__('You do not have sufficient permissions to perform this action.', 'capsman-enhanced'));
|
149 |
}
|
150 |
}
|
151 |
|
157 |
*/
|
158 |
protected function check_nonce($action = '-1', $query_arg = '_wpnonce')
|
159 |
{
|
|
|
160 |
$checked = isset($_REQUEST[$query_arg]) && wp_verify_nonce(sanitize_key($_REQUEST[$query_arg]), $action);
|
161 |
if (!$checked) {
|
162 |
+
$this->notify(esc_html__('Your link has expired, refresh the page and try again.', 'capsman-enhanced'));
|
163 |
}
|
164 |
}
|
165 |
|
176 |
/**
|
177 |
* Check nonce
|
178 |
*/
|
179 |
+
if (!isset($_REQUEST['_wpnonce']) || !wp_verify_nonce(sanitize_key($_REQUEST['_wpnonce']), 'add-role')) {
|
180 |
+
$this->notify(esc_html__('Your link has expired, refresh the page and try again.', 'capsman-enhanced'));
|
181 |
+
}
|
182 |
|
183 |
+
if (empty($_REQUEST['role_name'])) {
|
184 |
+
$this->notify(esc_html__('Missing parameters, refresh the page and try again.', 'capsman-enhanced'));
|
185 |
+
}
|
186 |
+
|
187 |
+
if (empty($_REQUEST['role_slug'])) {
|
188 |
+
$role_slug = str_replace(
|
189 |
+
[' ', '(', ')', '&', '#', '@', '+', ','],
|
190 |
+
'_',
|
191 |
+
strtolower(sanitize_text_field($_REQUEST['role_name']))
|
192 |
+
);
|
193 |
+
|
194 |
+
$role_slug = preg_replace('/[^0-9a-zA-Z\-\_]/', '', $role_slug);
|
195 |
+
} else {
|
196 |
+
$role_slug = sanitize_key($_REQUEST['role_slug']);
|
197 |
}
|
198 |
|
199 |
/**
|
201 |
*/
|
202 |
require_once(dirname(CME_FILE).'/includes/handler.php');
|
203 |
$capsman_handler = new CapsmanHandler();
|
204 |
+
$role = $capsman_handler->createNewName(sanitize_key($role_slug));
|
205 |
|
206 |
/**
|
207 |
* Check for invalid name entry
|
209 |
if (!empty($role['error']) && ('invalid_name' == $role['error'])) {
|
210 |
$out = sprintf(
|
211 |
__('Invalid role name entry: %s', 'capsman-enhanced'),
|
212 |
+
esc_html($role['name'])
|
213 |
);
|
214 |
$this->notify($out);
|
215 |
}
|
221 |
//this role already exist
|
222 |
$out = sprintf(
|
223 |
__('The role "%s" already exists. Please choose a different name.', 'capsman-enhanced'),
|
224 |
+
esc_html($role['name'])
|
225 |
);
|
226 |
|
227 |
$this->notify($out);
|
230 |
/**
|
231 |
* Add role
|
232 |
*/
|
233 |
+
$role_capabilities = [];
|
234 |
|
235 |
+
//get copied role capabilites
|
236 |
+
if (!empty($_REQUEST['role_action']) && $_REQUEST['role_action'] === 'copy'
|
237 |
+
&& !empty($_REQUEST['role'])
|
238 |
+
&& $role_data = pp_roles_get_role_data(sanitize_key($_REQUEST['role']))
|
239 |
+
) {
|
240 |
+
$role_capabilities = $role_data['capabilities'];
|
241 |
+
}
|
242 |
+
if (isset($_REQUEST['role_level'])) {
|
243 |
+
$role_capabilities = array_merge($role_capabilities, ak_level2caps(absint($_REQUEST['role_level'])));
|
244 |
+
}
|
245 |
+
$result = add_role($role['name'], sanitize_text_field($_REQUEST['role_name']), $role_capabilities);
|
246 |
if (!$result instanceof WP_Role) {
|
247 |
+
if ($this->notify(esc_html__('Something went wrong, the system wasn\'t able to create the role, refresh the page and try again.', 'capsman-enhanced'))) {
|
248 |
return;
|
249 |
}
|
250 |
}
|
251 |
|
252 |
+
/**
|
253 |
+
* Notify user and redirect
|
254 |
+
*/
|
255 |
+
$out = sprintf(esc_html__('The new role %s was created successfully.', 'capsman-enhanced'), sanitize_text_field($_REQUEST['role_name']));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
256 |
|
257 |
+
$redirect_url = esc_url_raw(
|
258 |
+
add_query_arg(
|
259 |
+
[
|
260 |
+
'page' => 'pp-capabilities-roles',
|
261 |
+
'add' => 'new_item',
|
262 |
+
'role_action' => 'edit',
|
263 |
+
'role' => esc_attr($role['name'])
|
264 |
+
],
|
265 |
+
admin_url('admin.php')
|
266 |
+
)
|
267 |
+
);
|
268 |
+
|
269 |
+
$this->notify($out, 'success', true, $redirect_url);
|
270 |
+
}
|
271 |
|
272 |
+
/**
|
273 |
+
* Handles edit role action
|
274 |
+
*/
|
275 |
+
public function edit_role()
|
276 |
+
{
|
277 |
+
global $wp_roles;
|
278 |
+
|
279 |
+
/**
|
280 |
+
* Check capabilities
|
281 |
+
*/
|
282 |
+
$this->check_permissions();
|
283 |
+
|
284 |
+
/**
|
285 |
+
* Check nonce
|
286 |
+
*/
|
287 |
+
if (!isset($_REQUEST['_wpnonce']) || !wp_verify_nonce(sanitize_key($_REQUEST['_wpnonce']), 'edit-role')) {
|
288 |
+
$this->notify(esc_html__('Your link has expired, refresh the page and try again.', 'capsman-enhanced'));
|
289 |
+
}
|
290 |
+
|
291 |
+
if (empty($_REQUEST['current_role']) || empty($_REQUEST['role_name'])) {
|
292 |
+
$this->notify(esc_html__('Missing parameters, refresh the page and try again.', 'capsman-enhanced'));
|
293 |
+
}
|
294 |
+
|
295 |
+
/**
|
296 |
+
* check if it's delete action and refer
|
297 |
+
*/
|
298 |
+
if (!empty($_REQUEST['delete_role'])) {
|
299 |
+
$this->delete_role(sanitize_key($_REQUEST['current_role']), ['nonce_check' => 'edit-role']);
|
300 |
+
return;
|
301 |
+
}
|
302 |
+
|
303 |
+
/**
|
304 |
+
* Update role
|
305 |
+
*/
|
306 |
+
$current = get_role(sanitize_key($_REQUEST['current_role']));
|
307 |
+
$new_title = sanitize_text_field($_REQUEST['role_name']);
|
308 |
+
|
309 |
+
$old_title = $wp_roles->roles[$current->name]['name'];
|
310 |
+
$wp_roles->roles[$current->name]['name'] = $new_title;
|
311 |
+
|
312 |
+
if ($current && isset($wp_roles->roles[$current->name]) && $new_title) {
|
313 |
+
$old_title = $wp_roles->roles[$current->name]['name'];
|
314 |
+
$wp_roles->roles[$current->name]['name'] = $new_title;
|
315 |
+
update_option($wp_roles->role_key, $wp_roles->roles);
|
316 |
}
|
317 |
+
|
318 |
+
$new_caps = pp_roles_remove_capabilities_role_level($current->capabilities);
|
319 |
+
|
320 |
+
if (isset($_REQUEST['role_level'])) {
|
321 |
+
$add_caps = array_merge($new_caps, ak_level2caps(absint($_REQUEST['role_level'])));
|
322 |
+
}else{
|
323 |
+
$add_caps = $new_caps;
|
324 |
+
}
|
325 |
+
$del_caps = array_diff_key($current->capabilities, $new_caps);
|
326 |
+
|
327 |
+
|
328 |
+
// Remove capabilities from role
|
329 |
+
foreach ( $del_caps as $cap => $grant) {
|
330 |
+
if ( current_user_can('administrator') || current_user_can($cap) )
|
331 |
+
$current->remove_cap($cap);
|
332 |
+
}
|
333 |
+
|
334 |
+
//add new capabilities to the role
|
335 |
+
foreach ( $add_caps as $cap => $grant ) {
|
336 |
+
if ( current_user_can('administrator') || current_user_can($cap) )
|
337 |
+
$current->add_cap( $cap, $grant );
|
338 |
+
}
|
339 |
+
|
340 |
+
|
341 |
+
/**
|
342 |
+
* Notify user and redirect
|
343 |
+
*/
|
344 |
+
$out = sprintf( __('%s role updated successfully.', 'capsman-enhanced'), $new_title);
|
345 |
+
|
346 |
+
$redirect_url = esc_url_raw(
|
347 |
+
add_query_arg(
|
348 |
+
[
|
349 |
+
'page' => 'pp-capabilities-roles',
|
350 |
+
'add' => 'new_item',
|
351 |
+
'role_action' => 'edit',
|
352 |
+
'role' => esc_attr(sanitize_key($_REQUEST['current_role']))
|
353 |
+
],
|
354 |
+
admin_url('admin.php')
|
355 |
+
)
|
356 |
+
);
|
357 |
+
|
358 |
+
$this->notify($out, 'success', true, $redirect_url);
|
359 |
}
|
360 |
|
361 |
/**
|
381 |
/**
|
382 |
* Check nonce
|
383 |
*/
|
384 |
+
if (!isset($_REQUEST['_wpnonce']) || !wp_verify_nonce(sanitize_key($_REQUEST['_wpnonce']), $nonce_check)) {
|
385 |
+
$this->notify(esc_html__('Your link has expired, refresh the page and try again.', 'capsman-enhanced'));
|
386 |
}
|
387 |
|
388 |
/**
|
406 |
* If no roles provided return
|
407 |
*/
|
408 |
if (empty($roles)) {
|
409 |
+
$this->notify(esc_html__('Missing parameters, refresh the page and try again.', 'capsman-enhanced'));
|
410 |
}
|
411 |
|
412 |
$default = get_option('default_role');
|
414 |
if ( $default == $role ) {
|
415 |
$this->notify(
|
416 |
sprintf(
|
417 |
+
esc_html__('Cannot delete default role. You <a href="%s">have to change it first</a>.', 'capsman-enhanced'),
|
418 |
'options-general.php'
|
419 |
)
|
420 |
);
|
433 |
}
|
434 |
|
435 |
if (empty($roles)) {
|
436 |
+
$this->notify(esc_html__('Deleting a system role is not allowed.', 'capsman-enhanced'));
|
437 |
}
|
438 |
}
|
439 |
|
461 |
|
462 |
$single = sprintf(
|
463 |
esc_html__('The role %1$s was successfully deleted. %2$s', 'capsman-enhanced'),
|
464 |
+
esc_html($roles[0]),
|
465 |
$users_message
|
466 |
);
|
467 |
|
468 |
$plural = sprintf(
|
469 |
esc_html__('The selected %1$s roles were successfully deleted. %2$s', 'capsman-enhanced'),
|
470 |
+
$deleted,
|
471 |
$users_message
|
472 |
);
|
473 |
|
476 |
if ($this->is_ajax()) {
|
477 |
wp_send_json_success($out);
|
478 |
} else {
|
479 |
+
$redirect_url = esc_url_raw(
|
480 |
+
add_query_arg(
|
481 |
+
[
|
482 |
+
'page' => 'pp-capabilities-roles'
|
483 |
+
],
|
484 |
+
admin_url('admin.php')
|
485 |
+
)
|
486 |
+
);
|
487 |
+
|
488 |
+
$this->notify($out, 'success', true, $redirect_url);
|
489 |
}
|
490 |
} else {
|
491 |
+
$this->notify(esc_html__('The role could not be deleted.', 'capsman-enhanced'));
|
492 |
}
|
493 |
}
|
494 |
|
543 |
|
544 |
$out = sprintf(
|
545 |
__('The role %1$s was successfully hidden.', 'capsman-enhanced'),
|
546 |
+
$roles[0]
|
547 |
);
|
548 |
|
549 |
if ($this->is_ajax()) {
|
592 |
* If no roles provided return
|
593 |
*/
|
594 |
if (empty($roles)) {
|
595 |
+
$this->notify(esc_html__('Missing parameters, refresh the page and try again.', 'capsman-enhanced'));
|
596 |
}
|
597 |
|
598 |
+
$pp_only = (array) pp_capabilities_get_permissions_option('supplemental_role_defs');
|
599 |
$pp_only = array_diff($pp_only, (array) $roles);
|
600 |
pp_capabilities_update_permissions_option('supplemental_role_defs', $pp_only);
|
601 |
|
603 |
|
604 |
$out = sprintf(
|
605 |
__('The role %1$s was successfully unhidden.', 'capsman-enhanced'),
|
606 |
+
$roles[0]
|
607 |
);
|
608 |
|
609 |
if ($this->is_ajax()) {
|
includes/roles/class/class-pp-roles-admin.php
CHANGED
@@ -89,6 +89,386 @@ class Pp_Roles_Admin
|
|
89 |
return $this->roles_list_table;
|
90 |
}
|
91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
/**
|
93 |
* Display admin flash notices
|
94 |
*/
|
89 |
return $this->roles_list_table;
|
90 |
}
|
91 |
|
92 |
+
/**
|
93 |
+
* Get the fields tabs to be rendered on role screen
|
94 |
+
*
|
95 |
+
* @param mixed $current
|
96 |
+
* @param bool $role_edit whether current action is role edit
|
97 |
+
* @param bool $role_copy whether current action is role copy
|
98 |
+
*
|
99 |
+
* @return array
|
100 |
+
*/
|
101 |
+
public static function get_fields_tabs($current, $role_edit, $role_copy)
|
102 |
+
{
|
103 |
+
$fields_tabs = [
|
104 |
+
'general' => [
|
105 |
+
'label' => esc_html__('General', 'capsman-enhanced'),
|
106 |
+
'icon' => 'dashicons dashicons-admin-tools',
|
107 |
+
],
|
108 |
+
'advanced' => [
|
109 |
+
'label' => esc_html__('Advanced', 'capsman-enhanced'),
|
110 |
+
'icon' => 'dashicons dashicons-admin-generic',
|
111 |
+
],
|
112 |
+
];
|
113 |
+
|
114 |
+
if ($role_edit && !$current['is_system']) {
|
115 |
+
$fields_tabs['delete'] = [
|
116 |
+
'label' => esc_html__('Delete', 'capsman-enhanced'),
|
117 |
+
'icon' => 'dashicons dashicons-trash',
|
118 |
+
];
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Customize fields tabs presented on role screen.
|
123 |
+
*
|
124 |
+
* @param array $fields_tabs Existing fields tabs to display.
|
125 |
+
* @param mixed $current
|
126 |
+
*/
|
127 |
+
$fields_tabs = apply_filters('pp_roles_tabs', $fields_tabs, $current);
|
128 |
+
|
129 |
+
return $fields_tabs;
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Get the fields to be rendered on role screen
|
134 |
+
*
|
135 |
+
* @param mixed $current.
|
136 |
+
* @param bool $role_edit whether current action is role edit
|
137 |
+
* @param bool $role_copy whether current action is role copy
|
138 |
+
*
|
139 |
+
* @return array
|
140 |
+
*/
|
141 |
+
public static function get_fields($current, $role_edit, $role_copy)
|
142 |
+
{
|
143 |
+
$fields = [
|
144 |
+
'role_name' => [
|
145 |
+
'label' => esc_html__('Role Name', 'capsman-enhanced'),
|
146 |
+
'type' => 'text',
|
147 |
+
'value_key' => 'name',
|
148 |
+
'tab' => 'general',
|
149 |
+
'editable' => true,
|
150 |
+
'required' => true,
|
151 |
+
],
|
152 |
+
'role_slug' => [
|
153 |
+
'label' => esc_html__('Role Slug', 'capsman-enhanced'),
|
154 |
+
'description' => esc_html__('The “slug” is the URL-friendly version of the role. It is usually all lowercase and contains only letters, numbers and underscores.', 'capsman-enhanced'),
|
155 |
+
'type' => 'text',
|
156 |
+
'value_key' => 'role',
|
157 |
+
'tab' => 'general',
|
158 |
+
'editable' => ($role_edit) ? false : true,
|
159 |
+
'required' => false,
|
160 |
+
],
|
161 |
+
'role_level' => [
|
162 |
+
'label' => esc_html__('Role Level', 'capsman-enhanced'),
|
163 |
+
'type' => 'select',
|
164 |
+
'value_key' => '',
|
165 |
+
'tab' => 'advanced',
|
166 |
+
'editable' => true,
|
167 |
+
'options' => [
|
168 |
+
'10' => '10',
|
169 |
+
'9' => '9',
|
170 |
+
'8' => '8',
|
171 |
+
'7' => '7',
|
172 |
+
'6' => '6',
|
173 |
+
'5' => '5',
|
174 |
+
'4' => '4',
|
175 |
+
'3' => '3',
|
176 |
+
'2' => '2',
|
177 |
+
'1' => '1',
|
178 |
+
'0' => '0',
|
179 |
+
],
|
180 |
+
'selected' => (is_array($current) && isset($current['capabilities'])) ? ak_caps2level($current['capabilities']) : '0',
|
181 |
+
],
|
182 |
+
'delete_role' => [
|
183 |
+
'label' => esc_html__('Delete role', 'capsman-enhanced'),
|
184 |
+
'description' => esc_html__('Deleting this role will completely remove it from database and is irrecoverable.', 'capsman-enhanced'),
|
185 |
+
'type' => 'button',
|
186 |
+
'value_key' => '',
|
187 |
+
'tab' => 'delete',
|
188 |
+
'editable' => true,
|
189 |
+
],
|
190 |
+
];
|
191 |
+
|
192 |
+
/**
|
193 |
+
* Customize fields presented on role screen.
|
194 |
+
*
|
195 |
+
* @param array $fields Existing fields to display.
|
196 |
+
* @param mixed $current Author to be rendered.
|
197 |
+
*/
|
198 |
+
$fields = apply_filters('pp_roles_fields', $fields, $current);
|
199 |
+
|
200 |
+
return $fields;
|
201 |
+
}
|
202 |
+
|
203 |
+
/**
|
204 |
+
* Get a rendered field partial
|
205 |
+
*
|
206 |
+
* @param array $args Arguments to render in the partial.
|
207 |
+
*/
|
208 |
+
private static function get_rendered_role_partial($args)
|
209 |
+
{
|
210 |
+
$defaults = [
|
211 |
+
'description' => '',
|
212 |
+
'type' => 'text',
|
213 |
+
'tab' => 'general',
|
214 |
+
'editable' => true,
|
215 |
+
'required' => false,
|
216 |
+
'value' => '',
|
217 |
+
'options' => [],
|
218 |
+
'selected' => '',
|
219 |
+
'label' => '',
|
220 |
+
];
|
221 |
+
$args = array_merge($defaults, $args);
|
222 |
+
$key = $args['key'];
|
223 |
+
$tab_class = 'pp-roles-tab-tr pp-roles-' . $args['tab'] . '-tab';
|
224 |
+
$tab_style = ($args['tab'] === 'general') ? '' : 'display:none;';
|
225 |
+
?>
|
226 |
+
<tr valign="top"
|
227 |
+
class="<?php echo esc_attr('form-field role-' . $key . '-wrap '. $tab_class); ?>"
|
228 |
+
data-tab="<?php echo esc_attr($args['tab']); ?>"
|
229 |
+
style="<?php echo esc_attr($tab_style); ?>"
|
230 |
+
>
|
231 |
+
<th scope="row">
|
232 |
+
<?php if (!empty($args['label'])) : ?>
|
233 |
+
<label for="<?php echo esc_attr($key); ?>"><?php echo esc_html($args['label']); ?></label>
|
234 |
+
<?php if ($args['required']) { ?>
|
235 |
+
<span class="required">*</span>
|
236 |
+
<?php } ?>
|
237 |
+
<?php endif; ?>
|
238 |
+
<?php if ($key === 'role_slug') { ?>
|
239 |
+
<p id="pp-role-slug-exists" class="red-warning" style="display:none;">
|
240 |
+
<?php esc_html_e('Slug already exists', 'capsman-enhanced'); ?>
|
241 |
+
<span class="dashicons dashicons-warning"></span>
|
242 |
+
</p>
|
243 |
+
<?php } ?>
|
244 |
+
</th>
|
245 |
+
<td>
|
246 |
+
<?php
|
247 |
+
if ($args['type'] === 'select') : ?>
|
248 |
+
<select name="<?php echo esc_attr($key); ?>" <?php echo ($args['required'] ? 'required="true"' : '');?>>
|
249 |
+
<?php
|
250 |
+
foreach ($args['options'] as $select_key => $select_label) {
|
251 |
+
?>
|
252 |
+
<option value="<?php esc_attr_e($select_key); ?>"
|
253 |
+
<?php selected($select_key, $args['selected']); ?>>
|
254 |
+
<?php echo esc_html($select_label); ?>
|
255 |
+
</option>
|
256 |
+
<?php } ?>
|
257 |
+
</select>
|
258 |
+
<?php
|
259 |
+
elseif ($args['type'] === 'button') :
|
260 |
+
?>
|
261 |
+
<input type="submit"
|
262 |
+
class="button-secondary pp-roles-delete-botton"
|
263 |
+
name="<?php echo esc_attr($key); ?>"
|
264 |
+
value="<?php echo esc_attr($args['label']); ?>"
|
265 |
+
onclick="return confirm('<?php esc_attr_e('Are you sure you want to delete this role?', 'capsman-enhanced'); ?>');"
|
266 |
+
/>
|
267 |
+
<?php if (isset($args['description'])) : ?>
|
268 |
+
<p class="description" style="color: red;"><?php echo esc_html($args['description']); ?></p>
|
269 |
+
<?php endif; ?>
|
270 |
+
<?php else : ?>
|
271 |
+
<input name="<?php echo esc_attr($key); ?>" type="<?php echo esc_attr($args['type']); ?>"
|
272 |
+
value="<?php echo esc_attr($args['value']); ?>"
|
273 |
+
<?php echo ($args['required'] ? 'required="true"' : '');?>
|
274 |
+
<?php echo (!$args['editable'] ? 'readonly="readonly"' : ''); ?>/>
|
275 |
+
|
276 |
+
<?php if (isset($args['description'])) : ?>
|
277 |
+
<p class="description"><?php echo esc_html($args['description']); ?></p>
|
278 |
+
<?php endif; ?>
|
279 |
+
<?php endif; ?>
|
280 |
+
</td>
|
281 |
+
</tr>
|
282 |
+
<?php
|
283 |
+
}
|
284 |
+
|
285 |
+
/**
|
286 |
+
* Get role edit screen
|
287 |
+
*
|
288 |
+
*/
|
289 |
+
public function get_roles_edit_ui()
|
290 |
+
{
|
291 |
+
global $wp_roles;
|
292 |
+
|
293 |
+
if (!empty($_GET) && !empty($_GET['role_action'])) {
|
294 |
+
$role_action = sanitize_key($_GET['role_action']);
|
295 |
+
} else {
|
296 |
+
$role_action = 'new';
|
297 |
+
}
|
298 |
+
|
299 |
+
$default_tab = (!empty($_GET) && !empty($_GET['active_tab'])) ? sanitize_key($_GET['active_tab']) : 'general';
|
300 |
+
$tab_class = 'ppc-' . $role_action;
|
301 |
+
$current_role = '';
|
302 |
+
$current = false;
|
303 |
+
$role_edit = false;
|
304 |
+
$role_copy = false;
|
305 |
+
|
306 |
+
if ($role_action === 'edit' && !empty($_GET['role']) && $role_data = pp_roles_get_role_data(sanitize_key($_GET['role']))) {
|
307 |
+
$current_role = sanitize_key($_GET['role']);
|
308 |
+
$current = $role_data;
|
309 |
+
$role_edit = true;
|
310 |
+
} elseif ($role_action === 'copy' && !empty($_GET['role']) && $role_data = pp_roles_get_role_data(sanitize_key($_GET['role']))) {
|
311 |
+
$current_role = sanitize_key($_GET['role']);
|
312 |
+
$current = $role_data;
|
313 |
+
$role_copy = true;
|
314 |
+
}
|
315 |
+
|
316 |
+
$fields_tabs = apply_filters('pp_roles_fields_tabs', self::get_fields_tabs($current, $role_edit, $role_copy), $current, $role_edit, $role_copy);
|
317 |
+
$fields = apply_filters('pp_roles_fields', self::get_fields($current, $role_edit, $role_copy), $current, $role_edit, $role_copy);
|
318 |
+
|
319 |
+
if ($role_copy) {
|
320 |
+
pp_capabilities_roles()->notify->add('info', sprintf( esc_html__('%s role copied to editor. Please click the "Create Role" button to create this new role.', 'capsman-enhanced'), $current['name']));
|
321 |
+
//update new name and remove slug
|
322 |
+
$current['role'] = $current['role'] . '_copy';
|
323 |
+
$current['name'] = $current['name'] . ' Copy';
|
324 |
+
}
|
325 |
+
|
326 |
+
$save_button_text = ($role_edit) ? esc_html__('Update Role', 'capsman-enhanced') : esc_html__('Create Role', 'capsman-enhanced');
|
327 |
+
|
328 |
+
pp_capabilities_roles()->notify->display();
|
329 |
+
?>
|
330 |
+
<div class="wrap pp-role-edit-wrap <?php echo esc_attr($tab_class); ?>">
|
331 |
+
<h1>
|
332 |
+
<?php
|
333 |
+
if ($role_edit) {
|
334 |
+
esc_html_e('Edit Role', 'capsman-enhanced');
|
335 |
+
} elseif ($role_copy) {
|
336 |
+
esc_html_e('Copy Role', 'capsman-enhanced');
|
337 |
+
} else {
|
338 |
+
esc_html_e('Create New Role', 'capsman-enhanced');
|
339 |
+
}
|
340 |
+
?>
|
341 |
+
<a href="<?php echo esc_url(admin_url('admin.php?page=pp-capabilities-roles')); ?>" class="page-title-action">
|
342 |
+
<?php esc_html_e('All Roles', 'capsman-enhanced'); ?>
|
343 |
+
</a>
|
344 |
+
</h1>
|
345 |
+
<div class="wp-clearfix"></div>
|
346 |
+
|
347 |
+
<form method="post" action="">
|
348 |
+
<input type="hidden" name="active_tab" class="ppc-roles-active-tab" value="<?php echo esc_attr($default_tab); ?>">
|
349 |
+
<input type="hidden" name="role_action" value="<?php echo esc_attr($role_action); ?>">
|
350 |
+
<input type="hidden" name="action" value="<?php echo ($role_action === 'edit' ? 'pp-roles-edit-role' : 'pp-roles-add-role'); ?>">
|
351 |
+
<input type="hidden" class="ppc-roles-all-roles" value="<?php echo esc_attr(join(',', array_keys($wp_roles->get_names()))); ?>">
|
352 |
+
<input type="hidden" name="_wpnonce"
|
353 |
+
value="<?php echo esc_attr($role_action === 'edit' ? wp_create_nonce('edit-role') : wp_create_nonce('add-role') ); ?>"
|
354 |
+
>
|
355 |
+
<input type="hidden" name="current_role" class="ppc-roles-current-role" value="<?php echo esc_attr($current_role); ?>">
|
356 |
+
<div id="poststuff">
|
357 |
+
<div id="post-body" class="metabox-holder columns-2">
|
358 |
+
<div id="post-body-content">
|
359 |
+
<div class="ppc-roles-section postbox">
|
360 |
+
|
361 |
+
<div class="inside">
|
362 |
+
<div class="main">
|
363 |
+
|
364 |
+
<ul class="ppc-roles-tab">
|
365 |
+
<?php
|
366 |
+
foreach ($fields_tabs as $key => $args) {
|
367 |
+
$active_tab = ($key === $default_tab) ? ' active' : '';
|
368 |
+
?>
|
369 |
+
<li class="<?php esc_attr_e($active_tab); ?>"
|
370 |
+
data-tab="<?php esc_attr_e($key); ?>"
|
371 |
+
>
|
372 |
+
<a href="#">
|
373 |
+
<span class="<?php esc_attr_e($args['icon']); ?>"></span>
|
374 |
+
<span><?php esc_html_e($args['label']); ?></span>
|
375 |
+
</a>
|
376 |
+
</li>
|
377 |
+
<?php
|
378 |
+
}
|
379 |
+
?>
|
380 |
+
</ul>
|
381 |
+
|
382 |
+
<div class="ppc-roles-tab-content">
|
383 |
+
<table class="form-table">
|
384 |
+
<?php
|
385 |
+
foreach ($fields as $key => $args) {
|
386 |
+
$args['key'] = $key;
|
387 |
+
$args['value'] = (is_array($current) && isset($current[$args['value_key']])) ? $current[$args['value_key']] : '';
|
388 |
+
|
389 |
+
self::get_rendered_role_partial($args);
|
390 |
+
}
|
391 |
+
?>
|
392 |
+
</table>
|
393 |
+
</div>
|
394 |
+
<div class="clear"></div>
|
395 |
+
</div>
|
396 |
+
</div>
|
397 |
+
</div>
|
398 |
+
</div>
|
399 |
+
|
400 |
+
<div id="postbox-container-1" class="postbox-container ppc-roles-sidebar">
|
401 |
+
<div id="submitdiv" class="postbox">
|
402 |
+
<div class="inside">
|
403 |
+
<div id="minor-publishing">
|
404 |
+
<div id="misc-publishing-actions">
|
405 |
+
<div class="misc-pub-section misc-pub-section-last" style="margin:0;">
|
406 |
+
<p>
|
407 |
+
<input type="submit"
|
408 |
+
value="<?php echo esc_attr($save_button_text); ?>" class="button-primary" id="publish" name="publish">
|
409 |
+
</p>
|
410 |
+
</div>
|
411 |
+
</div>
|
412 |
+
|
413 |
+
|
414 |
+
<div id="major-publishing-actions">
|
415 |
+
<div id="publishing-action">
|
416 |
+
<h2 class="roles-capabilities-title"><?php esc_html_e('Capabilities', 'capsman-enhanced'); ?></h2>
|
417 |
+
<p class="description">
|
418 |
+
<?php
|
419 |
+
printf(
|
420 |
+
esc_html__(
|
421 |
+
'These can be edited on the %1s Capabilities screen %2s',
|
422 |
+
'capsman-enhanced'
|
423 |
+
),
|
424 |
+
'<a href="' . esc_url(add_query_arg(['page' => 'pp-capabilities'], admin_url('admin.php'))) .'">',
|
425 |
+
'</a>'
|
426 |
+
);
|
427 |
+
?>
|
428 |
+
</p>
|
429 |
+
<ul class="pp-roles-capabilities">
|
430 |
+
<?php
|
431 |
+
if($current && isset($current['capabilities']) && is_array($current['capabilities'])) :
|
432 |
+
ksort($current['capabilities']);
|
433 |
+
$sn = 0;
|
434 |
+
foreach ($current['capabilities'] as $cap_name => $val) :
|
435 |
+
if (0 === strpos($cap_name, 'level_')) {
|
436 |
+
continue;
|
437 |
+
}
|
438 |
+
$sn++;
|
439 |
+
$style = ($sn > 6) ? 'display:none;' : '';
|
440 |
+
?>
|
441 |
+
<li style="<?php echo esc_attr($style);?>">
|
442 |
+
<?php echo esc_html($cap_name);?>
|
443 |
+
</li>
|
444 |
+
<?php endforeach; ?>
|
445 |
+
|
446 |
+
<?php if ($sn > 6) :?>
|
447 |
+
<div class="roles-capabilities-load-more">
|
448 |
+
<?php echo esc_html__('Load More', 'capsman-enhanced'); ?>
|
449 |
+
</div>
|
450 |
+
<div class="roles-capabilities-load-less" style="display:none;">
|
451 |
+
<?php echo esc_html__('Load Less', 'capsman-enhanced'); ?>
|
452 |
+
</div>
|
453 |
+
<?php endif;?>
|
454 |
+
|
455 |
+
<?php endif; ?>
|
456 |
+
</ul>
|
457 |
+
</div>
|
458 |
+
<div class="clear"></div>
|
459 |
+
</div>
|
460 |
+
</div>
|
461 |
+
</div>
|
462 |
+
</div>
|
463 |
+
</div>
|
464 |
+
<br class="clear">
|
465 |
+
</div>
|
466 |
+
</div>
|
467 |
+
</form>
|
468 |
+
</div>
|
469 |
+
<?php
|
470 |
+
}
|
471 |
+
|
472 |
/**
|
473 |
* Display admin flash notices
|
474 |
*/
|
includes/roles/class/class-pp-roles-list-table.php
CHANGED
@@ -18,6 +18,30 @@ class PP_Capabilities_Roles_List_Table extends WP_List_Table
|
|
18 |
protected $manager;
|
19 |
private $default_role = '';
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
/**
|
22 |
* PP_Capabilities_Roles_List_Table constructor.
|
23 |
*
|
@@ -37,6 +61,70 @@ class PP_Capabilities_Roles_List_Table extends WP_List_Table
|
|
37 |
$this->manager = pp_capabilities_roles()->manager;
|
38 |
|
39 |
$this->default_role = get_option('default_role');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
}
|
41 |
|
42 |
/**
|
@@ -114,18 +202,43 @@ class PP_Capabilities_Roles_List_Table extends WP_List_Table
|
|
114 |
//Build row actions
|
115 |
if (pp_capabilities_is_editable_role($item['role'])) {
|
116 |
$actions = [
|
117 |
-
'
|
118 |
'<a href="%s">%s</a>',
|
119 |
-
|
120 |
-
|
121 |
-
|
|
|
|
|
122 |
),
|
123 |
esc_html__('Capabilities', 'capsman-enhanced')
|
124 |
),
|
125 |
];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
} else {
|
127 |
$actions = [
|
128 |
-
'
|
129 |
];
|
130 |
|
131 |
if (defined("PRESSPERMIT_ACTIVE")) {
|
@@ -252,7 +365,7 @@ class PP_Capabilities_Roles_List_Table extends WP_List_Table
|
|
252 |
$out = sprintf(
|
253 |
'<a href="%1$s"><strong><span class="row-title">%2$s</span>%3$s</strong></a>',
|
254 |
add_query_arg(
|
255 |
-
['page' => 'pp-capabilities', 'role' => esc_attr($item['role'])],
|
256 |
admin_url('admin.php')
|
257 |
),
|
258 |
esc_html($item['name']),
|
@@ -372,7 +485,10 @@ class PP_Capabilities_Roles_List_Table extends WP_List_Table
|
|
372 |
echo '<input type="hidden" name="order" value="' . esc_attr(sanitize_key($_REQUEST['order'])) . '" />';
|
373 |
}
|
374 |
if (!empty($_REQUEST['page'])) {
|
375 |
-
echo '<input type="hidden" name="page" value="' . (
|
|
|
|
|
|
|
376 |
}
|
377 |
?>
|
378 |
<p class="search-box">
|
@@ -402,7 +518,11 @@ class PP_Capabilities_Roles_List_Table extends WP_List_Table
|
|
402 |
/**
|
403 |
* Fetch the data
|
404 |
*/
|
405 |
-
|
|
|
|
|
|
|
|
|
406 |
|
407 |
/**
|
408 |
* Handle search
|
@@ -459,4 +579,17 @@ class PP_Capabilities_Roles_List_Table extends WP_List_Table
|
|
459 |
'total_pages' => ceil($total_items / $per_page) //calculate the total number of pages
|
460 |
]);
|
461 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
}
|
18 |
protected $manager;
|
19 |
private $default_role = '';
|
20 |
|
21 |
+
/**
|
22 |
+
* The current view.
|
23 |
+
*
|
24 |
+
* @access public
|
25 |
+
* @var string
|
26 |
+
*/
|
27 |
+
public $role_view = 'all';
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Array of role views.
|
31 |
+
*
|
32 |
+
* @access public
|
33 |
+
* @var array
|
34 |
+
*/
|
35 |
+
public $role_views = array();
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Allowed role views.
|
39 |
+
*
|
40 |
+
* @access public
|
41 |
+
* @var array
|
42 |
+
*/
|
43 |
+
public $allowed_role_views = array();
|
44 |
+
|
45 |
/**
|
46 |
* PP_Capabilities_Roles_List_Table constructor.
|
47 |
*
|
61 |
$this->manager = pp_capabilities_roles()->manager;
|
62 |
|
63 |
$this->default_role = get_option('default_role');
|
64 |
+
|
65 |
+
// Get the role views.
|
66 |
+
$this->allowed_role_views = array_keys($this->get_views());
|
67 |
+
|
68 |
+
// Get the current view.
|
69 |
+
if (isset($_GET['view']) && in_array(sanitize_key($_GET['view']), $this->allowed_role_views)) {
|
70 |
+
$this->role_view = sanitize_key($_GET['view']);
|
71 |
+
}
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Returns an array of views for the list table.
|
76 |
+
*
|
77 |
+
* @access protected
|
78 |
+
* @return array
|
79 |
+
*/
|
80 |
+
protected function get_views() {
|
81 |
+
|
82 |
+
$views = array();
|
83 |
+
$current = ' class="current"';
|
84 |
+
|
85 |
+
$role_view_filters = [
|
86 |
+
'all' => _n_noop('All %s', 'All %s', 'capsman-enhanced'),
|
87 |
+
'mine' => _n_noop('Mine %s', 'Mine %s', 'capsman-enhanced'),
|
88 |
+
'active' => _n_noop('Has Users %s', 'Has Users %s', 'capsman-enhanced'),
|
89 |
+
'inactive' => _n_noop('No Users %s', 'No Users %s', 'capsman-enhanced'),
|
90 |
+
'editable' => _n_noop('Editable %s', 'Editable %s', 'capsman-enhanced'),
|
91 |
+
'uneditable'=> _n_noop('Uneditable %s', 'Uneditable %s', 'capsman-enhanced'),
|
92 |
+
'system' => _n_noop('System %s', 'System %s', 'capsman-enhanced'),
|
93 |
+
];
|
94 |
+
|
95 |
+
foreach($role_view_filters as $view => $noop){
|
96 |
+
$view_roles = $this->manager->get_roles_for_list_table($view);
|
97 |
+
//add role view
|
98 |
+
$this->role_views[$view] = ['roles' => $view_roles];
|
99 |
+
|
100 |
+
$count = count($view_roles);
|
101 |
+
|
102 |
+
// Skip any views with 0 roles.
|
103 |
+
if ((int)$count === 0) {
|
104 |
+
continue;
|
105 |
+
}
|
106 |
+
|
107 |
+
// Add the view link.
|
108 |
+
$views[ $view ] = sprintf(
|
109 |
+
'<a%s href="%s">%s</a>',
|
110 |
+
$view === $this->role_view ? $current : '',
|
111 |
+
esc_url(
|
112 |
+
add_query_arg(
|
113 |
+
[
|
114 |
+
'page' => 'pp-capabilities-roles',
|
115 |
+
'view' => esc_attr($view)
|
116 |
+
],
|
117 |
+
admin_url('admin.php')
|
118 |
+
)
|
119 |
+
),
|
120 |
+
sprintf(
|
121 |
+
translate_nooped_plural($noop, $count, $noop['domain']),
|
122 |
+
sprintf('<span class="count">(%s)</span>', number_format_i18n($count))
|
123 |
+
)
|
124 |
+
);
|
125 |
+
}
|
126 |
+
|
127 |
+
return $views;
|
128 |
}
|
129 |
|
130 |
/**
|
202 |
//Build row actions
|
203 |
if (pp_capabilities_is_editable_role($item['role'])) {
|
204 |
$actions = [
|
205 |
+
'capabilities' => sprintf(
|
206 |
'<a href="%s">%s</a>',
|
207 |
+
esc_url(
|
208 |
+
add_query_arg(
|
209 |
+
['page' => 'pp-capabilities', 'role' => esc_attr($item['role'])],
|
210 |
+
admin_url('admin.php')
|
211 |
+
)
|
212 |
),
|
213 |
esc_html__('Capabilities', 'capsman-enhanced')
|
214 |
),
|
215 |
];
|
216 |
+
|
217 |
+
$actions['edit'] = sprintf(
|
218 |
+
'<a href="%s">%s</a>',
|
219 |
+
esc_url(
|
220 |
+
add_query_arg(
|
221 |
+
['page' => 'pp-capabilities-roles', 'add' => 'new_item', 'role_action' => 'edit', 'role' => esc_attr($item['role'])],
|
222 |
+
admin_url('admin.php')
|
223 |
+
)
|
224 |
+
),
|
225 |
+
esc_html__('Edit', 'capsman-enhanced')
|
226 |
+
);
|
227 |
+
|
228 |
+
$actions['copy'] = sprintf(
|
229 |
+
'<a href="%s">%s</a>',
|
230 |
+
esc_url(
|
231 |
+
add_query_arg(
|
232 |
+
['page' => 'pp-capabilities-roles', 'add' => 'new_item', 'role_action' => 'copy', 'role' => esc_attr($item['role'])],
|
233 |
+
admin_url('admin.php')
|
234 |
+
)
|
235 |
+
),
|
236 |
+
esc_html__('Copy', 'capsman-enhanced')
|
237 |
+
);
|
238 |
+
|
239 |
} else {
|
240 |
$actions = [
|
241 |
+
'capabilities' => '<span class="pp-caps-action-note">' . esc_html__('(non-editable role)', 'capsman-enhanced') . '</span>',
|
242 |
];
|
243 |
|
244 |
if (defined("PRESSPERMIT_ACTIVE")) {
|
365 |
$out = sprintf(
|
366 |
'<a href="%1$s"><strong><span class="row-title">%2$s</span>%3$s</strong></a>',
|
367 |
add_query_arg(
|
368 |
+
['page' => 'pp-capabilities-roles', 'add' => 'new_item', 'role_action' => 'edit', 'role' => esc_attr($item['role'])],
|
369 |
admin_url('admin.php')
|
370 |
),
|
371 |
esc_html($item['name']),
|
485 |
echo '<input type="hidden" name="order" value="' . esc_attr(sanitize_key($_REQUEST['order'])) . '" />';
|
486 |
}
|
487 |
if (!empty($_REQUEST['page'])) {
|
488 |
+
echo '<input type="hidden" name="page" value="' . esc_attr(sanitize_key($_REQUEST['page'])) . '" />';
|
489 |
+
}
|
490 |
+
if (!empty($_REQUEST['view'])) {
|
491 |
+
echo '<input type="hidden" name="view" value="' . esc_attr(sanitize_key($_REQUEST['view'])) . '" />';
|
492 |
}
|
493 |
?>
|
494 |
<p class="search-box">
|
518 |
/**
|
519 |
* Fetch the data
|
520 |
*/
|
521 |
+
if (!empty($this->role_views[$this->role_view]['roles'])) {
|
522 |
+
$data = $this->role_views[$this->role_view]['roles'];
|
523 |
+
} else {
|
524 |
+
$data = [];
|
525 |
+
}
|
526 |
|
527 |
/**
|
528 |
* Handle search
|
579 |
'total_pages' => ceil($total_items / $per_page) //calculate the total number of pages
|
580 |
]);
|
581 |
}
|
582 |
+
|
583 |
+
/**
|
584 |
+
* Display the list table.
|
585 |
+
*
|
586 |
+
* @access public
|
587 |
+
* @return void
|
588 |
+
*/
|
589 |
+
public function display() {
|
590 |
+
|
591 |
+
$this->views();
|
592 |
+
|
593 |
+
parent::display();
|
594 |
+
}
|
595 |
}
|
includes/roles/class/class-pp-roles-manager.php
CHANGED
@@ -14,20 +14,58 @@ class Pp_Roles_Manager
|
|
14 |
/**
|
15 |
* Returns an array of all the available roles.
|
16 |
* This method is used to show the roles list table.
|
|
|
|
|
|
|
17 |
*
|
18 |
* @return array[]
|
19 |
*/
|
20 |
-
public function get_roles_for_list_table()
|
21 |
{
|
|
|
|
|
22 |
$roles = wp_roles()->roles;
|
|
|
|
|
|
|
|
|
23 |
$count = count_users();
|
24 |
$res = [];
|
|
|
25 |
foreach ($roles as $role => $detail) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
$res[] = [
|
27 |
'role' => $role,
|
28 |
'name' => $detail['name'],
|
29 |
'count' => isset($count['avail_roles'][$role]) ? $count['avail_roles'][$role] : 0,
|
30 |
-
'is_system' => $this->is_system_role($role)
|
|
|
31 |
];
|
32 |
}
|
33 |
|
@@ -151,7 +189,7 @@ class Pp_Roles_Manager
|
|
151 |
"SELECT ID FROM $wpdb->usermeta INNER JOIN $wpdb->users "
|
152 |
. "ON $wpdb->usermeta.user_id = $wpdb->users.ID "
|
153 |
. "WHERE meta_key='{$wpdb->prefix}capabilities' AND meta_value LIKE %s",
|
154 |
-
|
155 |
$like
|
156 |
)
|
157 |
);
|
14 |
/**
|
15 |
* Returns an array of all the available roles.
|
16 |
* This method is used to show the roles list table.
|
17 |
+
*
|
18 |
+
* @param $view string
|
19 |
+
* @param $capabilities bool whether to add capabilities to result or not
|
20 |
*
|
21 |
* @return array[]
|
22 |
*/
|
23 |
+
public function get_roles_for_list_table($view = 'all', $capabilities = false)
|
24 |
{
|
25 |
+
global $wp_roles;
|
26 |
+
|
27 |
$roles = wp_roles()->roles;
|
28 |
+
$current_user = wp_get_current_user();
|
29 |
+
$editable = function_exists('get_editable_roles') ?
|
30 |
+
array_keys(get_editable_roles()) :
|
31 |
+
array_keys(apply_filters('editable_roles', $roles));
|
32 |
$count = count_users();
|
33 |
$res = [];
|
34 |
+
|
35 |
foreach ($roles as $role => $detail) {
|
36 |
+
|
37 |
+
//mine role filter
|
38 |
+
if ($view === 'mine' && !in_array($role, $current_user->roles)) {
|
39 |
+
continue;
|
40 |
+
//active role filter
|
41 |
+
} elseif ($view === 'active'
|
42 |
+
&& (!isset($count['avail_roles'][$role])
|
43 |
+
|| (isset($count['avail_roles'][$role]) && (int)$count['avail_roles'][$role] === 0))
|
44 |
+
) {
|
45 |
+
continue;
|
46 |
+
//inactive role filter
|
47 |
+
} elseif ($view === 'inactive'
|
48 |
+
&& (isset($count['avail_roles'][$role])
|
49 |
+
&& (isset($count['avail_roles'][$role]) && (int)$count['avail_roles'][$role] > 0))
|
50 |
+
) {
|
51 |
+
continue;
|
52 |
+
//editable role filter
|
53 |
+
} elseif ($view === 'editable' && !in_array($role, $editable)) {
|
54 |
+
continue;
|
55 |
+
//uneditable role filter
|
56 |
+
} elseif ($view === 'uneditable' && in_array($role, $editable)) {
|
57 |
+
continue;
|
58 |
+
//system role filter
|
59 |
+
} elseif ($view === 'system' && !$this->is_system_role($role)) {
|
60 |
+
continue;
|
61 |
+
}
|
62 |
+
|
63 |
$res[] = [
|
64 |
'role' => $role,
|
65 |
'name' => $detail['name'],
|
66 |
'count' => isset($count['avail_roles'][$role]) ? $count['avail_roles'][$role] : 0,
|
67 |
+
'is_system' => $this->is_system_role($role),
|
68 |
+
'capabilities' => ($capabilities) ? $detail['capabilities'] : [],
|
69 |
];
|
70 |
}
|
71 |
|
189 |
"SELECT ID FROM $wpdb->usermeta INNER JOIN $wpdb->users "
|
190 |
. "ON $wpdb->usermeta.user_id = $wpdb->users.ID "
|
191 |
. "WHERE meta_key='{$wpdb->prefix}capabilities' AND meta_value LIKE %s",
|
192 |
+
|
193 |
$like
|
194 |
)
|
195 |
);
|
includes/roles/js/pp-roles-admin.js
CHANGED
@@ -9,6 +9,20 @@
|
|
9 |
/* global ajaxurl, validateForm */
|
10 |
|
11 |
jQuery(document).ready(function ($) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
/**
|
14 |
* Adds an event handler to the delete role link on the role overview page.
|
9 |
/* global ajaxurl, validateForm */
|
10 |
|
11 |
jQuery(document).ready(function ($) {
|
12 |
+
$('input[name="role_name"]').keyup(function(k){
|
13 |
+
// Indicate how default role slug will be generated from Role Name: PHP save handler will convert certain special characters to underscore, strip out others.
|
14 |
+
var role_slug = $('input[name="role_name"]').val().toLowerCase().replace(/[ \(\)\&\#\@\+\,\-]/gi, "_").replace(/[^0-9a-zA-Z\_]/g, '');
|
15 |
+
$('input[name="role_slug"]').attr('placeholder', role_slug);
|
16 |
+
});
|
17 |
+
|
18 |
+
$('input[name="role_slug"]').keypress(function (e) {
|
19 |
+
// Don't allow forbidden characters to be entered. Note that dash is not normally allowed, but ban be allowed if constant is defined.
|
20 |
+
|
21 |
+
// underscore, numeric, lowercase
|
22 |
+
if (95 != e.which && (e.which < 48 || e.which > 57) && (e.which < 97 || e.which > 122)) {
|
23 |
+
return false;
|
24 |
+
}
|
25 |
+
});
|
26 |
|
27 |
/**
|
28 |
* Adds an event handler to the delete role link on the role overview page.
|
includes/roles/roles-functions.php
CHANGED
@@ -77,3 +77,44 @@ function pp_roles_user_has_role($user_id, $roles)
|
|
77 |
|
78 |
return false;
|
79 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
return false;
|
79 |
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Check if role exist and return it data
|
83 |
+
*
|
84 |
+
* @param string $role_name
|
85 |
+
* @return bool|WP_Role
|
86 |
+
*/
|
87 |
+
function pp_roles_get_role_data($role_name)
|
88 |
+
{
|
89 |
+
|
90 |
+
$role = false;
|
91 |
+
$all_roles = pp_capabilities_roles()->manager->get_roles_for_list_table('all', true);
|
92 |
+
|
93 |
+
foreach ($all_roles as $role_data) {
|
94 |
+
if ($role_name === $role_data['role']) {
|
95 |
+
$role = $role_data;
|
96 |
+
break;
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
return $role;
|
101 |
+
}
|
102 |
+
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Remove capabilities role levels
|
106 |
+
*
|
107 |
+
* @param array $capabilities
|
108 |
+
* @return array
|
109 |
+
*/
|
110 |
+
function pp_roles_remove_capabilities_role_level($capabilities)
|
111 |
+
{
|
112 |
+
|
113 |
+
for($i = 0; $i<=10; $i++) {
|
114 |
+
if (array_key_exists("level_{$i}", $capabilities)) {
|
115 |
+
unset($capabilities["level_{$i}"]);
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
return $capabilities;
|
120 |
+
}
|
includes/roles/roles.php
CHANGED
@@ -1,7 +1,14 @@
|
|
1 |
<div class="wrap publishpress-caps-manage pressshack-admin-wrapper pp-capability-roles-wrapper">
|
2 |
|
|
|
|
|
|
|
|
|
3 |
<div class="wrap">
|
4 |
<h1 class="wp-heading-inline"><?php esc_html_e('Roles', 'capsman-enhanced') ?> </h1>
|
|
|
|
|
|
|
5 |
<?php
|
6 |
if (isset($_REQUEST['s']) && $search_str = esc_attr(wp_unslash(sanitize_text_field($_REQUEST['s'])))) {
|
7 |
/* translators: %s: search keywords */
|
@@ -19,38 +26,12 @@
|
|
19 |
<?php $table->search_box(esc_html__('Search Roles', 'capsman-enhanced'), 'roles'); ?>
|
20 |
</form>
|
21 |
<div id="col-container" class="wp-clearfix">
|
22 |
-
<div
|
23 |
-
<
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
<input type="hidden" name="screen" value="<?php echo 'capabilities_page_pp-capabilities-roles';?>">
|
29 |
-
<?php
|
30 |
-
wp_nonce_field('add-role');
|
31 |
-
?>
|
32 |
-
<div class="form-field form-required">
|
33 |
-
<label for="name"><?php esc_html_e('Name', 'capsman-enhanced') ?> </label>
|
34 |
-
<input name="name" id="name" type="text" value="" size="40">
|
35 |
-
<p><?php esc_html_e('The name is how it appears on your site.', 'capsman-enhanced'); ?></p>
|
36 |
-
</div>
|
37 |
-
|
38 |
-
<p class="submit">
|
39 |
-
<input type="submit" name="submit" id="submit" class="button button-primary"
|
40 |
-
value="<?php esc_attr_e('Add'); ?> ">
|
41 |
-
</p>
|
42 |
-
</form>
|
43 |
-
</div>
|
44 |
-
</div>
|
45 |
-
</div>
|
46 |
-
<div id="col-right">
|
47 |
-
<div class="col-wrap">
|
48 |
-
<form action="" method="post">
|
49 |
-
<?php $table->display(); //Display the table ?>
|
50 |
-
</form>
|
51 |
-
<div class="form-wrap edit-term-notes">
|
52 |
-
<p><?php esc_html__('Description here.', 'capsman-enhanced') ?></p>
|
53 |
-
</div>
|
54 |
</div>
|
55 |
</div>
|
56 |
</div>
|
@@ -59,6 +40,7 @@
|
|
59 |
</form>
|
60 |
|
61 |
</div>
|
|
|
62 |
|
63 |
|
64 |
<?php if (!defined('PUBLISHPRESS_CAPS_PRO_VERSION') || get_option('cme_display_branding')) {
|
1 |
<div class="wrap publishpress-caps-manage pressshack-admin-wrapper pp-capability-roles-wrapper">
|
2 |
|
3 |
+
<?php
|
4 |
+
if (isset($_GET['add']) && $_GET['add'] === 'new_item') {
|
5 |
+
pp_capabilities_roles()->admin->get_roles_edit_ui();
|
6 |
+
}else{ ?>
|
7 |
<div class="wrap">
|
8 |
<h1 class="wp-heading-inline"><?php esc_html_e('Roles', 'capsman-enhanced') ?> </h1>
|
9 |
+
<a href="<?php echo esc_url(admin_url('admin.php?page=pp-capabilities-roles&add=new_item')); ?>" class="page-title-action">
|
10 |
+
<?php esc_html_e('Add New', 'capsman-enhanced'); ?>
|
11 |
+
</a>
|
12 |
<?php
|
13 |
if (isset($_REQUEST['s']) && $search_str = esc_attr(wp_unslash(sanitize_text_field($_REQUEST['s'])))) {
|
14 |
/* translators: %s: search keywords */
|
26 |
<?php $table->search_box(esc_html__('Search Roles', 'capsman-enhanced'), 'roles'); ?>
|
27 |
</form>
|
28 |
<div id="col-container" class="wp-clearfix">
|
29 |
+
<div class="col-wrap">
|
30 |
+
<form action="" method="post">
|
31 |
+
<?php $table->display(); //Display the table ?>
|
32 |
+
</form>
|
33 |
+
<div class="form-wrap edit-term-notes">
|
34 |
+
<p><?php esc_html__('Description here.', 'capsman-enhanced') ?></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
</div>
|
36 |
</div>
|
37 |
</div>
|
40 |
</form>
|
41 |
|
42 |
</div>
|
43 |
+
<?php } ?>
|
44 |
|
45 |
|
46 |
<?php if (!defined('PUBLISHPRESS_CAPS_PRO_VERSION') || get_option('cme_display_branding')) {
|
languages/capsman-enhanced-es_ES.mo
CHANGED
Binary file
|
languages/capsman-enhanced-es_ES.po
CHANGED
@@ -2,17 +2,17 @@
|
|
2 |
# This file is distributed under the same license as the Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable Readme (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"PO-Revision-Date: 2021-12-03 21:32+0100\n"
|
6 |
-
"MIME-Version: 1.0\n"
|
7 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
-
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
-
"X-Generator: Poedit 3.0\n"
|
11 |
-
"Language: es\n"
|
12 |
"Project-Id-Version: Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable Readme (latest release)\n"
|
13 |
"POT-Creation-Date: \n"
|
|
|
14 |
"Last-Translator: \n"
|
15 |
"Language-Team: Angelo Giammarresi - info@wocmultimedia.com\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
#. Plugin name.
|
18 |
msgid "PublishPress Capabilities - User Role Access, Editor Permissions, Admin Menus"
|
@@ -236,7 +236,7 @@ msgstr "Estado del sistema"
|
|
236 |
|
237 |
#. Found in faq list item.
|
238 |
msgid "Add-ons"
|
239 |
-
msgstr "
|
240 |
|
241 |
#. Found in faq list item.
|
242 |
msgid "Import/Export"
|
@@ -688,7 +688,7 @@ msgstr "<strong>Ocultar características del editor</strong>: decide qué ven lo
|
|
688 |
|
689 |
#. Found in description list item.
|
690 |
msgid "<strong>Multisite support</strong>: Manage permissions on a single site or across your whole network."
|
691 |
-
msgstr "<
|
692 |
|
693 |
#. Found in description list item.
|
694 |
msgid "<strong>WooCommerce permissions</strong>: Control access to WooCommerce products, orders, coupons and more."
|
@@ -736,7 +736,7 @@ msgstr "Las principales características de PublishPress Capabilities"
|
|
736 |
|
737 |
#. Found in description paragraph.
|
738 |
msgid "<a href=\"https://publishpress.com/knowledge-base/multisite-network/\">Click here to learn about multisite permissions</a>."
|
739 |
-
msgstr "<a href=\"https://publishpress.com/knowledge-base/multisite-network/\"
|
740 |
|
741 |
#. Found in description paragraph.
|
742 |
msgid "PublishPress Capabilities allows you to control permissions on a single site or across your whole network. Every time you update permissions in PublishPress Capabilities, you can choose to sync those changes across your multisite network."
|
@@ -906,6 +906,66 @@ msgstr "7. Copia de seguridad y restauración de los perfiles y capacidades de l
|
|
906 |
msgid "2. Capabilities for any Post Type"
|
907 |
msgstr "2. Capacidades para cualquier tipo de contenido"
|
908 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
909 |
#. Found in changelog list item.
|
910 |
msgid "Feature : New \"Admin Features\" screen #200"
|
911 |
msgstr "Característica: nueva pantalla «Admin Features» #200"
|
2 |
# This file is distributed under the same license as the Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable Readme (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
"Project-Id-Version: Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable Readme (latest release)\n"
|
6 |
"POT-Creation-Date: \n"
|
7 |
+
"PO-Revision-Date: 2022-02-28 11:30+0100\n"
|
8 |
"Last-Translator: \n"
|
9 |
"Language-Team: Angelo Giammarresi - info@wocmultimedia.com\n"
|
10 |
+
"Language: es\n"
|
11 |
+
"MIME-Version: 1.0\n"
|
12 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
+
"Content-Transfer-Encoding: 8bit\n"
|
14 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
15 |
+
"X-Generator: Poedit 3.0.1\n"
|
16 |
|
17 |
#. Plugin name.
|
18 |
msgid "PublishPress Capabilities - User Role Access, Editor Permissions, Admin Menus"
|
236 |
|
237 |
#. Found in faq list item.
|
238 |
msgid "Add-ons"
|
239 |
+
msgstr "Extensiones"
|
240 |
|
241 |
#. Found in faq list item.
|
242 |
msgid "Import/Export"
|
688 |
|
689 |
#. Found in description list item.
|
690 |
msgid "<strong>Multisite support</strong>: Manage permissions on a single site or across your whole network."
|
691 |
+
msgstr "<strong>Es compatible con multisitio</strong>: gestiona los permisos en un solo sitio o en toda tu red."
|
692 |
|
693 |
#. Found in description list item.
|
694 |
msgid "<strong>WooCommerce permissions</strong>: Control access to WooCommerce products, orders, coupons and more."
|
736 |
|
737 |
#. Found in description paragraph.
|
738 |
msgid "<a href=\"https://publishpress.com/knowledge-base/multisite-network/\">Click here to learn about multisite permissions</a>."
|
739 |
+
msgstr "<a href=\"https://publishpress.com/knowledge-base/multisite-network/\">Haz clic aquí para saber más sobre los permisos del multisitio</a>."
|
740 |
|
741 |
#. Found in description paragraph.
|
742 |
msgid "PublishPress Capabilities allows you to control permissions on a single site or across your whole network. Every time you update permissions in PublishPress Capabilities, you can choose to sync those changes across your multisite network."
|
906 |
msgid "2. Capabilities for any Post Type"
|
907 |
msgstr "2. Capacidades para cualquier tipo de contenido"
|
908 |
|
909 |
+
#. Found in changelog list item.
|
910 |
+
msgid "Compat : WordPress 5.9 - failure adding / editing posts under some Editor Features configurations (work around WP hooking late-defined function _disable_block_editor_for_navigation_post_type)"
|
911 |
+
msgstr "Compatibilidad: WordPress 5.9 - Fallo en la adición/edición de entradas en algunas configuraciones de las características del editor (trabajar en torno al enganche de WP `late-defined function _disable_block_editor_for_navigation_post_type`)"
|
912 |
+
|
913 |
+
#. Found in changelog list item.
|
914 |
+
msgid "Fixed : CSRF vulnerability"
|
915 |
+
msgstr "Corregido: Vulnerabilidad CSRF"
|
916 |
+
|
917 |
+
#. Found in changelog list item.
|
918 |
+
msgid "Change : Capabilities screen - Tab for PublishPress Capabilities #220"
|
919 |
+
msgstr "Cambiado: Pantalla de Capacidades - pestaña por PublishPress Capabilities #220"
|
920 |
+
|
921 |
+
#. Found in changelog list item.
|
922 |
+
msgid "Change : Admin Features - Captions use dashes, not numbers #229"
|
923 |
+
msgstr "Cambiado: Características de administración - Los leyendas utilizan guiones, no números #229"
|
924 |
+
|
925 |
+
#. Found in changelog list item.
|
926 |
+
msgid "Feature : Admin Features - More items available for restriction #240"
|
927 |
+
msgstr "Característica: Características de administración - Más elementos disponibles para la restricción #240"
|
928 |
+
|
929 |
+
#. Found in changelog list item.
|
930 |
+
msgid "Feature : Admin Features - Restrict Admin Bar or individual Admin Bar elements"
|
931 |
+
msgstr "Característica: Características de administración - Restringir la barra de administración o los elementos individuales de la barra de administración"
|
932 |
+
|
933 |
+
#. Found in changelog list item.
|
934 |
+
msgid "Feature : Editor Features - Restrict editor elements for custom post types"
|
935 |
+
msgstr "Característica: Características del editor - Restringir los elementos del editor por los tipos de contenido personalizados"
|
936 |
+
|
937 |
+
#. Found in changelog list item.
|
938 |
+
msgid "Feature : Filter Capabilities display by post type or text entry"
|
939 |
+
msgstr "Característica: Filtrar las capacidades de visualización por tipo de contenido o por entrada de texto"
|
940 |
+
|
941 |
+
#. Found in changelog list item.
|
942 |
+
msgid "Lang : Spanish, French, Italian"
|
943 |
+
msgstr "Idiomas: Español, Francés, Italiano"
|
944 |
+
|
945 |
+
#. Found in changelog list item.
|
946 |
+
msgid "Fixed : Escape output variables"
|
947 |
+
msgstr "Corregido: Escape de variables de salida"
|
948 |
+
|
949 |
+
#. Found in changelog list item.
|
950 |
+
msgid "Fixed : Input sanitization consistency"
|
951 |
+
msgstr "Corregido: Coherencia en el saneamiento de las entradas"
|
952 |
+
|
953 |
+
#. Found in changelog list item.
|
954 |
+
msgid "Fixed : After role rename, title in dropdown does not refresh"
|
955 |
+
msgstr "Corregido: Después de cambiar el nombre del perfil, el título en el menú desplegable no se actualiza."
|
956 |
+
|
957 |
+
#. Found in changelog list item.
|
958 |
+
msgid "Fixed : Capability names with dashes could not be added"
|
959 |
+
msgstr "Corregido: Nombres de capacidades con guiones no se podían añadir"
|
960 |
+
|
961 |
+
#. Found in changelog list item.
|
962 |
+
msgid "Fixed : PHP Notice on Capabilities screen"
|
963 |
+
msgstr "Corregido: Aviso de PHP en la pantalla de las capacidades"
|
964 |
+
|
965 |
+
#. Found in changelog list item.
|
966 |
+
msgid "Fixed : Security issue"
|
967 |
+
msgstr "Corregido: Fallo de seguridad"
|
968 |
+
|
969 |
#. Found in changelog list item.
|
970 |
msgid "Feature : New \"Admin Features\" screen #200"
|
971 |
msgstr "Característica: nueva pantalla «Admin Features» #200"
|
languages/capsman-enhanced-fr_FR.mo
CHANGED
Binary file
|
languages/capsman-enhanced-fr_FR.po
CHANGED
@@ -1,3317 +1,1378 @@
|
|
1 |
-
# Translation of Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable
|
2 |
-
# This file is distributed under the same license as the Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Plugins - PublishPress Capabilities – User Role "
|
6 |
-
"Access, Editor Permissions, Admin Menus - Stable Readme (latest release)\n"
|
7 |
"POT-Creation-Date: \n"
|
8 |
-
"PO-Revision-Date:
|
9 |
"Last-Translator: \n"
|
10 |
-
"Language-Team: \n"
|
11 |
"Language: fr\n"
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
16 |
-
"X-Generator: Poedit 3.0\n"
|
17 |
|
18 |
-
|
19 |
-
msgid ""
|
20 |
-
"
|
21 |
-
msgstr ""
|
22 |
-
"PublishPress Capabilities - accès aux rôles des utilisateurs, autorisations "
|
23 |
-
"d’édition, menus d’administration"
|
24 |
-
|
25 |
-
#. Short description.
|
26 |
-
msgid ""
|
27 |
-
"The best permissions plugin allows you to customize user roles, editor "
|
28 |
-
"features and admin menus. You control who has access to your WordPress site."
|
29 |
-
msgstr ""
|
30 |
-
"La meilleure extension de droits vous permet de personnaliser les rôles des "
|
31 |
-
"utilisateurs, les fonctionnalités des éditeurs et les menus "
|
32 |
-
"d’administration. Vous contrôlez qui a accès à votre site WordPress."
|
33 |
-
|
34 |
-
#. Found in description paragraph.
|
35 |
-
msgid ""
|
36 |
-
"<a href=\"https://publishpress.com/knowledge-base/how-to-use-admin-features/"
|
37 |
-
"\">Click here to learn about removing toolbar items and dashboard widgets</"
|
38 |
-
"a>."
|
39 |
-
msgstr ""
|
40 |
-
"<a href=\"https://publishpress.com/knowledge-base/how-to-use-admin-features/"
|
41 |
-
"\">Cliquez ici pour en savoir plus sur la suppression des éléments de la "
|
42 |
-
"barre d’outils et des widgets du tableau de bord</a>."
|
43 |
-
|
44 |
-
#. Found in description paragraph.
|
45 |
-
msgid ""
|
46 |
-
"“Admin Features” allows you to hide features in the WordPress admin area and "
|
47 |
-
"toolbar. You can decide what users see in your WordPress dashboard. You can "
|
48 |
-
"use this option to hide all the links in the toolbar including \"About "
|
49 |
-
"WordPress\", \"Visit Site\" and more. You can also hide dashboard widgets "
|
50 |
-
"such as \"At a Glance\", \"Quick Draft\", and \"WordPress Events and News\"."
|
51 |
-
msgstr ""
|
52 |
-
"« Fonctionnalités d’administration » vous permet de masquer des "
|
53 |
-
"fonctionnalités dans la zone d’administration et la barre d’outils de "
|
54 |
-
"WordPress. Vous pouvez décider de ce que les utilisateurs voient dans votre "
|
55 |
-
"tableau de bord WordPress. Vous pouvez utiliser cette option pour masquer "
|
56 |
-
"tous les liens de la barre d’outils, y compris « À propos de WordPress », "
|
57 |
-
"« Visiter le site » et plus encore. Vous pouvez également masquer les "
|
58 |
-
"widgets du tableau de bord tels que « D’un coup d’œil », « Brouillon "
|
59 |
-
"rapide », et « Événements et actualités de WordPress »."
|
60 |
-
|
61 |
-
#. Found in description list item.
|
62 |
-
msgid ""
|
63 |
-
"<strong>Hide admin area features</strong>: Remove items from the WordPress "
|
64 |
-
"toolbar, plus dashboard widgets."
|
65 |
-
msgstr ""
|
66 |
-
"<strong>Masquer les fonctionnalités de la zone d’administration</strong> : "
|
67 |
-
"supprimez les éléments de la barre d’outils de WordPress, ainsi que les "
|
68 |
-
"widgets du tableau de bord."
|
69 |
-
|
70 |
-
#. Found in description header.
|
71 |
-
msgid "4. Hide Toolbar Link and Dashboard Widgets"
|
72 |
-
msgstr ""
|
73 |
-
"4. Masquer les liens de la barre d’outils et les widgets du tableau de bord"
|
74 |
-
|
75 |
-
#. Screenshot description.
|
76 |
-
msgid ""
|
77 |
-
"Admin Feature Restriction: PublishPress Capabilities enables you remove "
|
78 |
-
"items from the WordPress toolbar, plus dashboard widgets."
|
79 |
-
msgstr ""
|
80 |
-
"Restriction des fonctionnalités de l’administrateur : PublishPress "
|
81 |
-
"Capabilities vous permet de supprimer des éléments de la barre d’outils de "
|
82 |
-
"WordPress, ainsi que des widgets du tableau de bord."
|
83 |
-
|
84 |
-
#. Found in description header.
|
85 |
-
#| msgid "The Key Features of PublishPress Capabilities"
|
86 |
-
msgid "PublishPress Capabilities Pro"
|
87 |
-
msgstr "PublishPress Capabilities Pro"
|
88 |
-
|
89 |
-
#. Found in description paragraph.
|
90 |
-
msgid ""
|
91 |
-
"<a href=\"https://publishpress.com/knowledge-base/hide-metaboxes-in-"
|
92 |
-
"wordpress-posts/\">Click here to learn about hiding metaboxes</a>."
|
93 |
-
msgstr ""
|
94 |
-
"<a href=\"https://publishpress.com/knowledge-base/hide-metaboxes-in-"
|
95 |
-
"wordpress-posts/\">Cliquez ici pour en savoir plus sur le masquage des "
|
96 |
-
"boîtes méta</a>."
|
97 |
-
|
98 |
-
#. Found in description paragraph.
|
99 |
-
msgid ""
|
100 |
-
"WordPress has a feature called “metaboxes”. This is a strange name, but you "
|
101 |
-
"have seen them often if you use WordPress. When a user edits a post, the "
|
102 |
-
"edit screen has several default boxes: Status & visibility, Featured "
|
103 |
-
"image, Categories, Tags, etc. These boxes are metaboxes. Plugins can add "
|
104 |
-
"also add their own metaboxes. The Pro version of the PublishPress "
|
105 |
-
"Capabilities plugin allows you to hide metaboxes for specific user roles."
|
106 |
-
msgstr ""
|
107 |
-
"WordPress a une fonctionnalité appelée « métaboxes ou boîtes méta ». C’est "
|
108 |
-
"un nom étrange, mais vous les avez souvent vues si vous utilisez WordPress. "
|
109 |
-
"Lorsqu’un utilisateur modifie un article, l’écran de modification comporte "
|
110 |
-
"plusieurs boîtes par défaut : État et visibilité, Image mise en avant, "
|
111 |
-
"Catégories, Étiquettes, etc. Ces boîtes sont des boîtes méta. Les extensions "
|
112 |
-
"peuvent également ajouter leurs propres boîtes méta. La version Pro de la "
|
113 |
-
"extension PublishPress Capabilities vous autorise à masquer les boîtes méta "
|
114 |
-
"pour des rôles d’utilisateurs/utilisatrices spécifiques."
|
115 |
-
|
116 |
-
#. Found in description paragraph.
|
117 |
-
msgid ""
|
118 |
-
"<strong>Upgrade to Capabilities Pro</strong><br />\n"
|
119 |
-
" This plugin is the free version of PublishPress Capabilities. The Pro "
|
120 |
-
"version of Capabilities has all the features you need to control permissions "
|
121 |
-
"for your WordPress users. With Capabilities Pro you can manage access to "
|
122 |
-
"posts, pages, media and custom post types. <a href=\"https://publishpress."
|
123 |
-
"com/capabilities\" title=\"Capabilities Pro\">Click here to control access "
|
124 |
-
"to your WordPress site with Capabilities Pro!</a>"
|
125 |
-
msgstr ""
|
126 |
-
"<strong>Mise à niveau vers Capabilities Pro</strong><br />\n"
|
127 |
-
" Cette extension est la version gratuite de PublishPress Capabilities. La "
|
128 |
-
"version Pro de Capabilities possède toutes les fonctionnalités dont vous "
|
129 |
-
"avez besoin pour contrôler les droits de vos utilisateurs WordPress. Avec "
|
130 |
-
"Capabilities Pro, vous pouvez gérer l’accès aux articles, pages, médias et "
|
131 |
-
"types de publications personnalisés. <a href=\"https://publishpress.com/"
|
132 |
-
"capabilities\" title=\"Capabilities Pro\">Cliquez ici pour contrôler l’accès "
|
133 |
-
"à votre site WordPress avec Capabilities Pro !</a>"
|
134 |
-
|
135 |
-
#. Found in description list item.
|
136 |
-
msgid ""
|
137 |
-
"<strong>Hide editor metaboxes (Pro version)</strong>: You can hide metaboxes "
|
138 |
-
"on the post editing screen. "
|
139 |
-
msgstr ""
|
140 |
-
"<strong>Masquer l’éditeur des boîtes méta (version Pro)</strong> : vous "
|
141 |
-
"pouvez masquer les boîtes méta sur l’écran de modification des publications. "
|
142 |
-
|
143 |
-
#. Found in description header.
|
144 |
-
msgid "6. Hide Metaboxes in WordPress Posts"
|
145 |
-
msgstr "6. Masquer les boîtes méta dans les publications WordPress"
|
146 |
-
|
147 |
-
#. Screenshot description.
|
148 |
-
msgid ""
|
149 |
-
"Editor Feature Restriction: PublishPress Capabilities enables you to decide "
|
150 |
-
"what users see when they're writing posts."
|
151 |
-
msgstr ""
|
152 |
-
"Éditeur de restriction des fonctionnalités : les fonctionnalités de "
|
153 |
-
"PublishPress vous permettent de décider ce que les utilisateurs voient "
|
154 |
-
"lorsqu’ils rédigent des publications."
|
155 |
-
|
156 |
-
#. Screenshot description.
|
157 |
-
msgid ""
|
158 |
-
"Admin Menu Restrictions: With PublishPress Capabilities you can restrict "
|
159 |
-
"access to admin menu screens by user roles."
|
160 |
-
msgstr ""
|
161 |
-
"Restrictions du menu d’administration : avec PublishPress Capabilities, vous "
|
162 |
-
"pouvez restreindre l’accès aux écrans du menu d’administration en fonction "
|
163 |
-
"des rôles des utilisateurs."
|
164 |
-
|
165 |
-
#. Screenshot description.
|
166 |
-
msgid ""
|
167 |
-
"Navigation Menu Restrictions: PublishPress Capabilities enables you to "
|
168 |
-
"restrict access to navigation menus by roles, logged in and logged out users."
|
169 |
-
msgstr ""
|
170 |
-
"Restrictions des menus de navigation : PublishPress Capabilities vous permet "
|
171 |
-
"de restreindre l’accès aux menus de navigation par rôles, utilisateurs "
|
172 |
-
"connectés et déconnectés."
|
173 |
-
|
174 |
-
#. Screenshot description.
|
175 |
-
msgid ""
|
176 |
-
"WooCommerce Permissions: With PublishPress Capabilities you can control "
|
177 |
-
"permissions for WooCommerce products, orders and coupons."
|
178 |
-
msgstr ""
|
179 |
-
"Droits WooCommerce : avec PublishPress Capabilities, vous pouvez contrôler "
|
180 |
-
"les permissions pour les produits, les commandes et les codes promo de "
|
181 |
-
"WooCommerce."
|
182 |
-
|
183 |
-
#. Screenshot description.
|
184 |
-
msgid ""
|
185 |
-
"Media Library Permissions: PublishPress Capabilities enables you to decide "
|
186 |
-
"who can upload, edit and delete files from your site’s Media Library."
|
187 |
-
msgstr ""
|
188 |
-
"Droits de la médiathèque : PublishPress Capabilities vous permet de décider "
|
189 |
-
"qui peut télécharger, modifier et supprimer les fichiers de la médiathèque "
|
190 |
-
"de votre site."
|
191 |
-
|
192 |
-
#. Screenshot description.
|
193 |
-
msgid ""
|
194 |
-
"Permission backups: Every time you change your permissions, the PublishPress "
|
195 |
-
"Capabilities plugin will automatically create a backup."
|
196 |
-
msgstr ""
|
197 |
-
"Sauvegarde des droits : chaque fois que vous modifiez vos droits, la "
|
198 |
-
"extension PublishPress Capabilities créera automatiquement une sauvegarde."
|
199 |
-
|
200 |
-
#. Screenshot description.
|
201 |
-
msgid ""
|
202 |
-
"Enforce Taxonomy-Specific Capabilities: You can give “Manage”, “Edit” and "
|
203 |
-
"“Assign” permissions for all your taxonomies."
|
204 |
-
msgstr ""
|
205 |
-
"Donner des droits spécifiques à une taxonomie : vous pouvez donner des "
|
206 |
-
"autorisations « gérer », « modifier » et « attribuer » pour toutes vos "
|
207 |
-
"taxonomies."
|
208 |
-
|
209 |
-
#. Screenshot description.
|
210 |
-
msgid ""
|
211 |
-
"Custom Statuses: With Capabilities Pro, you can decide which user roles are "
|
212 |
-
"able to send posts to each status."
|
213 |
-
msgstr ""
|
214 |
-
"États personnalisés : avec Capabilities Pro, vous pouvez décider quels rôles "
|
215 |
-
"d’utilisateur peuvent envoyer des publications à chaque état."
|
216 |
-
|
217 |
-
#. Screenshot description.
|
218 |
-
msgid ""
|
219 |
-
"Multi-site support: Capabilities can control permissions on a single site or "
|
220 |
-
"across your whole network."
|
221 |
-
msgstr ""
|
222 |
-
"Prise en charge multisite : Capabilities vous permet de contrôler les droits "
|
223 |
-
"d’accès sur un seul site ou sur l’ensemble de votre réseau."
|
224 |
-
|
225 |
-
#. Screenshot description.
|
226 |
-
msgid ""
|
227 |
-
"Content permissions: With Capabilities, you can choose who can Publish, "
|
228 |
-
"Read, Edit and Delete content."
|
229 |
-
msgstr ""
|
230 |
-
"Droits sur le contenu : avec Capabilities vous pouvez choisir qui peut "
|
231 |
-
"publier, lire, modifier et supprimer le contenu."
|
232 |
-
|
233 |
-
#. Screenshot description.
|
234 |
-
msgid ""
|
235 |
-
"Create and copy user roles: With PublishPress Capabilities you can create or "
|
236 |
-
"copy any existing WordPress user role."
|
237 |
-
msgstr ""
|
238 |
-
"Créer et copier les rôles des utilisateurs : avec PublishPress Capabilities, "
|
239 |
-
"vous pouvez créer ou copier tous les rôles utilisateurs existants de "
|
240 |
-
"WordPress."
|
241 |
-
|
242 |
-
#. Screenshot description.
|
243 |
-
msgid ""
|
244 |
-
"Control user permissions: You can customize all the user roles on your site, "
|
245 |
-
"from Administrator to Subscriber."
|
246 |
-
msgstr ""
|
247 |
-
"Contrôlez les droits des utilisateurs : vous pouvez personnaliser tous les "
|
248 |
-
"rôles des utilisateurs sur votre site, de l’administrateur à l’abonné."
|
249 |
-
|
250 |
-
#. Found in description list item.
|
251 |
-
#| msgid ""
|
252 |
-
#| "<a href=\"https://publishpress.com/authors\">PublishPress Authors Pro</a> "
|
253 |
-
#| "allows you to add multiple authors and guest authors to WordPress posts."
|
254 |
-
msgid ""
|
255 |
-
"<a href=\"https://publishpress.com/blocks\">PublishPress Blocks Pro</a> has "
|
256 |
-
"everything you need to build professional websites with the WordPress block "
|
257 |
-
"editor."
|
258 |
-
msgstr ""
|
259 |
-
"<a href=\"https://publishpress.com/blocks\">PublishPress Blocks Pro</a> a "
|
260 |
-
"tout ce dont vous avez besoin pour créer des sites Web professionnels avec "
|
261 |
-
"l’éditeur de blocs WordPress."
|
262 |
-
|
263 |
-
#. Found in description list item.
|
264 |
-
#| msgid ""
|
265 |
-
#| "<a href=\"https://publishpress.com/revisions\">PublishPress Revisions "
|
266 |
-
#| "Pro</a> allows you to update your published pages with teamwork and "
|
267 |
-
#| "precision."
|
268 |
-
msgid ""
|
269 |
-
"<a href=\"https://publishpress.com/series\">PublishPress Series Pro</a> "
|
270 |
-
"enables you to group content together into a series "
|
271 |
-
msgstr ""
|
272 |
-
"<a href=\"https://publishpress.com/series\">PublishPress Series Pro</a> vous "
|
273 |
-
"permet de regrouper les contenus dans une série "
|
274 |
-
|
275 |
-
#. Found in faq paragraph.
|
276 |
-
msgid ""
|
277 |
-
"Jetpack is a plugin built by Automattic, the company behind WordPress.com. "
|
278 |
-
"This plugin offers many different services including backups, spam blocking, "
|
279 |
-
"analytics, malware scans, contact forms, and more. PublishPress Capabilities "
|
280 |
-
"can help you manage Jetpack permissisons."
|
281 |
-
msgstr ""
|
282 |
-
"Jetpack est une extension construite par Automattic, la société derrière "
|
283 |
-
"WordPress.com. Cette extension offre de nombreux services différents, y "
|
284 |
-
"compris les sauvegardes, le blocage des indésirables, les mesures "
|
285 |
-
"d’audience, les analyses de logiciels malveillants, les formulaires de "
|
286 |
-
"contact, et plus encore. PublishPress Capabilities peut vous aider à gérer "
|
287 |
-
"les droits de Jetpack."
|
288 |
-
|
289 |
-
#. Found in faq paragraph.
|
290 |
-
msgid ""
|
291 |
-
"The Elementor plugin is one of the most popular drag-and-drop page builders. "
|
292 |
-
"With Elementor, you’re editing the site live, and simultaneously see exactly "
|
293 |
-
"how it looks like. Elementor designs are full-responsive and come with over "
|
294 |
-
"40 powerful widgets. PublishPress Capabilities can help you manage Elementor "
|
295 |
-
"permissisons."
|
296 |
-
msgstr ""
|
297 |
-
"Elementor est l’un des constructeurs de pages par glisser-déposer les plus "
|
298 |
-
"populaires. Avec Elementor, vous éditez le site en direct, et voyez "
|
299 |
-
"simultanément à quoi il ressemble exactement. Les designs Elementor sont "
|
300 |
-
"entièrement responsive et viennent avec plus de 40 widgets puissants. "
|
301 |
-
"PublishPress Capabilities peut vous aider à gérer les droits d’Elementor."
|
302 |
-
|
303 |
-
#. Found in faq paragraph.
|
304 |
-
msgid ""
|
305 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-gravity-"
|
306 |
-
"forms-admin-menus/\">Click here to learn about Gravity Forms menu "
|
307 |
-
"permissions</a>."
|
308 |
-
msgstr ""
|
309 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-gravity-"
|
310 |
-
"forms-admin-menus/\">Cliquez ici pour en savoir plus sur les droits d’accès "
|
311 |
-
"au menu de Gravity Forms.</a>."
|
312 |
-
|
313 |
-
#. Found in faq paragraph.
|
314 |
-
msgid ""
|
315 |
-
"This approach works for the core Gravity Forms plugin and can also be used "
|
316 |
-
"for add-on plugins from the official site, or third-party sites."
|
317 |
-
msgstr ""
|
318 |
-
"Cette approche fonctionne pour la extension Gravity Forms principale et peut "
|
319 |
-
"également être utilisée pour des modules complémentaires du site officiel ou "
|
320 |
-
"de sites tiers."
|
321 |
-
|
322 |
-
#. Found in faq paragraph.
|
323 |
-
msgid ""
|
324 |
-
"It is possible to control who can access these links by using the "
|
325 |
-
"PublishPress Capabilities Pro plugin. After installing PublishPress "
|
326 |
-
"Capabilities Pro, go to “Capabilities”, then “Admin Menus” in your WordPress "
|
327 |
-
"admin area. In the top-left corner of this screen, choose the role that you "
|
328 |
-
"want to edit. For example, you can restrict access for the “Editor” role. By "
|
329 |
-
"default, Editors aren't given access to Gravity Forms, but site "
|
330 |
-
"administrators often do they give them some access. Scroll down and you can "
|
331 |
-
"enter a red X for any Gravity Forms menu link that you don't want users in "
|
332 |
-
"the Editor role to access. Now when an Editor logs in to your site, they "
|
333 |
-
"will not be able to see the blocked Gravity Forms menu links."
|
334 |
-
msgstr ""
|
335 |
-
"Il est possible de contrôler qui peut accéder à ces liens en utilisant la "
|
336 |
-
"extension PublishPress Capabilities Pro. Après avoir installé PublishPress "
|
337 |
-
"Capabilities Pro, allez dans « Capabilities », puis « Admin Menus » dans "
|
338 |
-
"votre zone d’administration WordPress. Dans le coin supérieur gauche de cet "
|
339 |
-
"écran, choisissez le rôle que vous souhaitez modifier. Par exemple, vous "
|
340 |
-
"pouvez restreindre l’accès au rôle « Éditeur/éditrice ». Par défaut, les "
|
341 |
-
"éditeurs/éditrices n’ont pas accès à Gravity Forms, mais les administrateurs "
|
342 |
-
"de sites leur donnent souvent un certain accès. Faites défiler la page vers "
|
343 |
-
"le bas et vous pouvez inscrire un X rouge pour tout lien du menu Gravity "
|
344 |
-
"Forms auquel vous ne voulez pas que les utilisateurs ayant le rôle d’éditeur/"
|
345 |
-
"éditrice aient accès. Désormais, lorsqu’un éditeur ou éditrice se connectera "
|
346 |
-
"à votre site, il ne pourra pas voir les liens de menu Gravity Forms bloqués."
|
347 |
-
|
348 |
-
#. Found in faq paragraph.
|
349 |
-
msgid ""
|
350 |
-
"When you first install Gravity Forms, you'll see one top-level menu link, "
|
351 |
-
"plus eight sub-menus."
|
352 |
-
msgstr ""
|
353 |
-
"Lorsque vous installez la extension Gravity Forms pour la première fois, "
|
354 |
-
"vous verrez un lien de menu de niveau supérieur et huit sous-menus."
|
355 |
-
|
356 |
-
#. Found in faq paragraph.
|
357 |
-
msgid ""
|
358 |
-
"Gravity Forms is perhaps the most popular contact form plugin for WordPress. "
|
359 |
-
"You can build and publish your WordPress forms in just minutes. Choose your "
|
360 |
-
"fields, configure your options and easily embed forms on your WordPress-"
|
361 |
-
"powered site. Gravity Forms allows you to easily integrate with third party "
|
362 |
-
"services such as PayPal, Mailchimp, and Zapier."
|
363 |
-
msgstr ""
|
364 |
-
"Gravity Forms est peut-être la extension de formulaire de contact la plus "
|
365 |
-
"populaire pour WordPress. Vous pouvez créer et publier vos formulaires "
|
366 |
-
"WordPress en quelques minutes seulement. Choisissez vos champs, configurez "
|
367 |
-
"vos options et intégrez facilement les formulaires sur votre site alimenté "
|
368 |
-
"par WordPress. Gravity Forms vous permet d’intégrer facilement des services "
|
369 |
-
"tiers tels que PayPal, Mailchimp et Zapier."
|
370 |
-
|
371 |
-
#. Found in faq paragraph.
|
372 |
-
msgid ""
|
373 |
-
"The Pro version of PublishPress Capabilities allows you to block access to "
|
374 |
-
"admin menu links in the Gravity Forms plugin. This is useful because Gravity "
|
375 |
-
"Forms has limited options for controlling who can access the admin screens."
|
376 |
-
msgstr ""
|
377 |
-
"La version Pro de PublishPress Capabilities vous permet de bloquer l’accès "
|
378 |
-
"aux liens du menu administrateur dans la extension Gravity Forms. Ceci est "
|
379 |
-
"utile car Gravity Forms a des options limitées pour contrôler qui peut "
|
380 |
-
"accéder aux écrans d’administration."
|
381 |
-
|
382 |
-
#. Found in faq paragraph.
|
383 |
-
msgid ""
|
384 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-the-events-"
|
385 |
-
"calendar-admin-menus/\">Click here to learn about The Events Calendar menu "
|
386 |
-
"permissions</a>."
|
387 |
-
msgstr ""
|
388 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-the-events-"
|
389 |
-
"calendar-admin-menus/\">Cliquez ici pour en savoir plus sur les droits "
|
390 |
-
"d’accès au menu de The Events Calendar</a>."
|
391 |
-
|
392 |
-
#. Found in faq paragraph.
|
393 |
-
msgid ""
|
394 |
-
"This approach works for the core The Events Calendar plugin and can also be "
|
395 |
-
"used for add-on plugins such as Virtual Events, Events Tickets, and more."
|
396 |
-
msgstr ""
|
397 |
-
"Cette approche fonctionne pour le cœur de la extension The Events Calendar "
|
398 |
-
"et peut également être utilisée pour des modules complémentaires tels que "
|
399 |
-
"Virtual Events, Events Tickets, etc."
|
400 |
-
|
401 |
-
#. Found in faq paragraph.
|
402 |
-
msgid ""
|
403 |
-
"It is possible to control who can access these The Events Calendar plugin "
|
404 |
-
"links by using the PublishPress Capabilities Pro plugin. After installing "
|
405 |
-
"PublishPress Capabilities Pro, go to “Capabilities”, then “Admin Menus” in "
|
406 |
-
"your WordPress admin area. In the top-left corner of this screen, choose the "
|
407 |
-
"role that you want to edit. For example, you can restrict The Events "
|
408 |
-
"Calendar access for the “Editor” role. Scroll down and you can enter a red X "
|
409 |
-
"for any The Events Calendar menu link that you don't want users in the "
|
410 |
-
"Editor role to access. Now when an Administrator logs in to your site, they "
|
411 |
-
"will not be able to see the Events Calendar menu links that you have blocked:"
|
412 |
-
msgstr ""
|
413 |
-
"Il est possible de contrôler qui peut accéder à ces liens de la extension "
|
414 |
-
"The Events Calendar en utilisant la extension PublishPress Capabilities Pro. "
|
415 |
-
"Après avoir installé PublishPress Capabilities Pro, allez dans "
|
416 |
-
"« Capabilities », puis « Admin Menus » dans votre zone d’administration "
|
417 |
-
"WordPress. Dans le coin supérieur gauche de cet écran, choisissez le rôle "
|
418 |
-
"que vous souhaitez modifier. Par exemple, vous pouvez restreindre l’accès à "
|
419 |
-
"The Events Calendar pour le rôle « Éditeur/éditrice ». Faites défiler la "
|
420 |
-
"page vers le bas et vous pouvez inscrire un X rouge pour tout lien du menu "
|
421 |
-
"The Events Calendar auquel vous ne voulez pas que les utilisateurs ayant le "
|
422 |
-
"rôle d’éditeur/éditrice aient accès. Désormais, lorsqu’un éditeur ou "
|
423 |
-
"éditrice se connecteront à votre site, ils ne pourront pas voir les liens de "
|
424 |
-
"menu The Events Calendar bloqués :"
|
425 |
-
|
426 |
-
#. Found in faq paragraph.
|
427 |
-
msgid ""
|
428 |
-
"When you first install the The Events Calendar plugin, you'll see one top-"
|
429 |
-
"level menu link, plus at least 10 sub-menus:"
|
430 |
-
msgstr ""
|
431 |
-
"Lorsque vous installez la extension The Events Calendar pour la première "
|
432 |
-
"fois, vous verrez un lien de menu de niveau supérieur et dix sous-menus : "
|
433 |
-
|
434 |
-
#. Found in faq paragraph.
|
435 |
-
msgid ""
|
436 |
-
"With The Events Calendar, you can easily create and manage an events "
|
437 |
-
"calendar on your WordPress site. The plugin supports both in-person and "
|
438 |
-
"virtual events. There are also many ways to extend the plugin for recurring "
|
439 |
-
"events, ticket sales, user-submitted events and more."
|
440 |
-
msgstr ""
|
441 |
-
"Avec The Events Calendar, vous pouvez facilement créer et gérer un "
|
442 |
-
"calendrier d’événements sur votre site WordPress. Cette extension prend en "
|
443 |
-
"charge les événements en personne et virtuels. Il existe également de "
|
444 |
-
"nombreuses façons d’étendre cette extension pour les événements récurrents, "
|
445 |
-
"la vente de billets, les événements soumis par les utilisateurs et plus "
|
446 |
-
"encore."
|
447 |
-
|
448 |
-
#. Found in faq paragraph.
|
449 |
-
msgid ""
|
450 |
-
"The Pro version of PublishPress Capabilities allows you to block access to "
|
451 |
-
"admin menu links in The Events Calendar plugin. This is useful because The "
|
452 |
-
"Events Calendar has limited options for managing who can access the admin "
|
453 |
-
"screens and important features."
|
454 |
-
msgstr ""
|
455 |
-
"La version Pro de PublishPress Capabilities vous permet de bloquer l’accès "
|
456 |
-
"aux liens du menu administrateur dans la extension The Events Calendar. Ceci "
|
457 |
-
"est utile car The Events Calendar a des options limitées pour contrôler qui "
|
458 |
-
"peut accéder aux écrans d’administration."
|
459 |
-
|
460 |
-
#. Found in faq paragraph.
|
461 |
-
#| msgid ""
|
462 |
-
#| "<a href=\"https://publishpress.com/knowledge-base/woocommerce-permissons/"
|
463 |
-
#| "\">Click here to learn about WooCommerce permissions</a>."
|
464 |
-
msgid ""
|
465 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-wpforms-"
|
466 |
-
"admin-menus/\">Click here to learn about WPForms menu permissions</a>."
|
467 |
-
msgstr ""
|
468 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-wpforms-"
|
469 |
-
"admin-menus/\">Cliquez ici pour en savoir plus sur les droits d’accès au "
|
470 |
-
"menu de WPForms</a>."
|
471 |
-
|
472 |
-
#. Found in faq paragraph.
|
473 |
-
msgid ""
|
474 |
-
"This approach works for the core WPForms plugin and can also be used for add-"
|
475 |
-
"on plugins such as Form Abandonment, Form Locker, Offline Forms, and more."
|
476 |
-
msgstr ""
|
477 |
-
"Cette approche fonctionne pour le cœur de la extension WPForms et peut "
|
478 |
-
"également être utilisée pour des modules complémentaires tels que Form "
|
479 |
-
"Abandonment, Form Locker, Offline Forms, etc."
|
480 |
-
|
481 |
-
#. Found in faq paragraph.
|
482 |
-
msgid ""
|
483 |
-
"Scroll down and you can enter a red X for any WPForms menu link that you "
|
484 |
-
"don't want users in the Administrator role to access. Now when an "
|
485 |
-
"Administrator logs in to your site, they will not be able to see the WPForms "
|
486 |
-
"menu links that you have blocked."
|
487 |
-
msgstr ""
|
488 |
-
"Faites défiler la page vers le bas et vous pouvez inscrire un X rouge pour "
|
489 |
-
"tout lien du menu auquel vous ne voulez pas que les utilisateurs ayant le "
|
490 |
-
"rôle d’administrateur ou administratrice aient accès. Désormais, lorsqu’un "
|
491 |
-
"administrateur ou une administratrice se connectera à votre site, ils ne "
|
492 |
-
"pourront pas voir les liens de menu WPForms que vous avez bloqué."
|
493 |
-
|
494 |
-
#. Found in faq paragraph.
|
495 |
-
msgid ""
|
496 |
-
"It is possible to control who can access these WPForms plugin links by using "
|
497 |
-
"the PublishPress Capabilities Pro plugin. After installing PublishPress "
|
498 |
-
"Capabilities Pro, go to “Capabilities”, then “Admin Menus” in your WordPress "
|
499 |
-
"admin area. In the top-left corner of this screen, choose the role that you "
|
500 |
-
"want to edit. For example, you can restrict WPForms access for the "
|
501 |
-
"“Administrator” role. If you do this, I would recommend making a copy of the "
|
502 |
-
"Administrator role so that one role still has full WPForms access."
|
503 |
-
msgstr ""
|
504 |
-
"Il est possible de contrôler qui peut accéder à ces liens de la extension "
|
505 |
-
"WPForms en utilisant la extension PublishPress Capabilities Pro. Après avoir "
|
506 |
-
"installé PublishPress Capabilities Pro, allez dans « Capabilities », puis "
|
507 |
-
"« Admin Menus » dans votre zone d’administration WordPress. Dans le coin "
|
508 |
-
"supérieur gauche de cet écran, choisissez le rôle que vous souhaitez "
|
509 |
-
"modifier. Par exemple, vous pouvez restreindre l’accès à WPForms pour le "
|
510 |
-
"rôle « Administrateur/administratrice ». Si vous faites cela, nous vous "
|
511 |
-
"recommandons de faire une copie du rôle d’administrateur et "
|
512 |
-
"d’administratrice afin que l’un des rôles ait toujours un accès complet à "
|
513 |
-
"WPForms."
|
514 |
-
|
515 |
-
#. Found in faq paragraph.
|
516 |
-
msgid ""
|
517 |
-
"When you first install the WPForms plugin, you'll see one top-level menu "
|
518 |
-
"link, plus at least 10 sub-menus:"
|
519 |
-
msgstr ""
|
520 |
-
"Lorsque vous installez la extension WPForms pour la première fois, vous "
|
521 |
-
"verrez un lien de menu de niveau supérieur et dix sous-menus : "
|
522 |
-
|
523 |
-
#. Found in faq paragraph.
|
524 |
-
msgid ""
|
525 |
-
"WPForms is one of the most popular WordPress contact form plugin with "
|
526 |
-
"millions of active installs. WPForms allows you to create beautiful contact "
|
527 |
-
"forms, feedback forms, subscription forms, payment forms, and more."
|
528 |
-
msgstr ""
|
529 |
-
"WPForms est l’une des extensions de formulaire de contact WordPress les plus "
|
530 |
-
"populaires avec des millions d’installations actives. WPForms vous permet de "
|
531 |
-
"créer de magnifiques formulaires de contact, des formulaires de "
|
532 |
-
"commentaires, des formulaires d’abonnement, des formulaires de paiement, et "
|
533 |
-
"plus encore."
|
534 |
-
|
535 |
-
#. Found in faq paragraph.
|
536 |
-
msgid ""
|
537 |
-
"The Pro version of PublishPress Capabilities allows you to block access to "
|
538 |
-
"admin menu links in the WP Forms plugin. This is useful because WPForms has "
|
539 |
-
"limited options for managing who can access the admin screens and important "
|
540 |
-
"features."
|
541 |
-
msgstr ""
|
542 |
-
"La version Pro de PublishPress Capabilities vous permet de bloquer l’accès "
|
543 |
-
"aux liens du menu administrateur dans la extension WP Forms. Ceci est utile "
|
544 |
-
"car WP Forms a des options limitées pour contrôler qui peut accéder aux "
|
545 |
-
"écrans d’administration et aux fonctionnalités importantes."
|
546 |
-
|
547 |
-
#. Found in faq paragraph.
|
548 |
-
#| msgid ""
|
549 |
-
#| "<a href=\"https://publishpress.com/knowledge-base/control-media-library-"
|
550 |
-
#| "access/\">Click here to learn about Media Library permissions</a>."
|
551 |
-
msgid ""
|
552 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-jetpack-"
|
553 |
-
"admin-menus/\">Click here to learn about Jetpack permissions</a>."
|
554 |
-
msgstr ""
|
555 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-jetpack-"
|
556 |
-
"admin-menus/\">Cliquez ici pour en savoir plus sur les droits d’accès à "
|
557 |
-
"Jetpack</a>."
|
558 |
-
|
559 |
-
#. Found in faq paragraph.
|
560 |
-
#| msgid ""
|
561 |
-
#| "<a href=\"https://publishpress.com/knowledge-base/woocommerce-permissons/"
|
562 |
-
#| "\">Click here to learn about WooCommerce permissions</a>."
|
563 |
-
msgid ""
|
564 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-elementor-"
|
565 |
-
"admin-menus/\">Click here to learn about Elementor menu permissions</a>."
|
566 |
-
msgstr ""
|
567 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-elementor-"
|
568 |
-
"admin-menus/\">Cliquez ici pour en savoir plus sur les droits d’accès au "
|
569 |
-
"menu de Elementor</a>."
|
570 |
-
|
571 |
-
#. Found in faq paragraph.
|
572 |
-
#| msgid ""
|
573 |
-
#| "<a href=\"https://publishpress.com/knowledge-base/woocommerce-permissons/"
|
574 |
-
#| "\">Click here to learn about WooCommerce permissions</a>."
|
575 |
-
msgid ""
|
576 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-yoast-seo-"
|
577 |
-
"admin-menus/\">Click here to learn about Yoast SEO menu permissions</a>."
|
578 |
-
msgstr ""
|
579 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-yoast-seo-"
|
580 |
-
"admin-menus/\">Cliquez ici pour en savoir plus sur les droits d’accès au "
|
581 |
-
"menu de Yoast SEO</a>."
|
582 |
-
|
583 |
-
#. Found in faq paragraph.
|
584 |
-
#| msgid ""
|
585 |
-
#| "<a href=\"https://publishpress.com/knowledge-base/woocommerce-permissons/"
|
586 |
-
#| "\">Click here to learn about WooCommerce permissions</a>."
|
587 |
-
msgid ""
|
588 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-contact-"
|
589 |
-
"form-7-admin-menus/\">Click here to learn about Contact Form 7 menu "
|
590 |
-
"permissions</a>."
|
591 |
-
msgstr ""
|
592 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-contact-"
|
593 |
-
"form-7-admin-menus/\">Cliquez ici pour en savoir plus sur les droits d’accès "
|
594 |
-
"au menu de Contact Form 7</a>."
|
595 |
-
|
596 |
-
#. Found in faq paragraph.
|
597 |
-
#| msgid ""
|
598 |
-
#| "<a href=\"https://publishpress.com/knowledge-base/woocommerce-permissons/"
|
599 |
-
#| "\">Click here to learn about WooCommerce permissions</a>."
|
600 |
-
msgid ""
|
601 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-woocommerce-"
|
602 |
-
"admin-menus/\">Click here to learn about WooCommerce menu permissions</a>."
|
603 |
-
msgstr ""
|
604 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-access-woocommerce-"
|
605 |
-
"admin-menus/\">Cliquez ici pour en savoir plus sur les droits d’accès au "
|
606 |
-
"menu de WooCommerce</a>."
|
607 |
-
|
608 |
-
#. Found in faq list item.
|
609 |
-
msgid "System Status"
|
610 |
-
msgstr "État du système"
|
611 |
-
|
612 |
-
#. Found in faq list item.
|
613 |
-
msgid "Add-ons"
|
614 |
-
msgstr "Modules complémentaires"
|
615 |
-
|
616 |
-
#. Found in faq list item.
|
617 |
-
msgid "Import/Export"
|
618 |
-
msgstr "Importer/Exporter"
|
619 |
-
|
620 |
-
#. Found in faq list item.
|
621 |
-
msgid "New Form"
|
622 |
-
msgstr "Nouveau formulaire"
|
623 |
-
|
624 |
-
#. Found in faq list item.
|
625 |
-
msgid "Forms"
|
626 |
-
msgstr "Formulaires"
|
627 |
-
|
628 |
-
#. Found in faq list item.
|
629 |
-
msgid "Event Add-Ons"
|
630 |
-
msgstr "Modules complémentaires pour les événements"
|
631 |
-
|
632 |
-
#. Found in faq list item.
|
633 |
-
msgid "Help"
|
634 |
-
msgstr "Aide"
|
635 |
-
|
636 |
-
#. Found in faq list item.
|
637 |
-
msgid "Import"
|
638 |
-
msgstr "Importer"
|
639 |
-
|
640 |
-
#. Found in faq list item.
|
641 |
-
msgid "Organizers"
|
642 |
-
msgstr "Organisateurs"
|
643 |
-
|
644 |
-
#. Found in faq list item.
|
645 |
-
msgid "Venues"
|
646 |
-
msgstr "Lieux"
|
647 |
-
|
648 |
-
#. Found in faq list item.
|
649 |
-
msgid "Events Categories"
|
650 |
-
msgstr "Catégories d’événements"
|
651 |
-
|
652 |
-
#. Found in faq list item.
|
653 |
-
msgid "Tag"
|
654 |
-
msgstr "Étiquette"
|
655 |
-
|
656 |
-
#. Found in faq list item.
|
657 |
-
msgid "Events"
|
658 |
-
msgstr "Événements"
|
659 |
-
|
660 |
-
#. Found in faq list item.
|
661 |
-
msgid "Community"
|
662 |
-
msgstr "Communauté"
|
663 |
-
|
664 |
-
#. Found in faq list item.
|
665 |
-
msgid "About Us"
|
666 |
-
msgstr "À propos de nous"
|
667 |
-
|
668 |
-
#. Found in faq list item.
|
669 |
-
msgid "SMTP"
|
670 |
-
msgstr "SMTP"
|
671 |
-
|
672 |
-
#. Found in faq list item.
|
673 |
-
msgid "Addons"
|
674 |
-
msgstr "Modules complémentaires"
|
675 |
-
|
676 |
-
#. Found in faq list item.
|
677 |
-
msgid "Entries"
|
678 |
-
msgstr "Entrées"
|
679 |
-
|
680 |
-
#. Found in faq list item.
|
681 |
-
msgid "All Forms"
|
682 |
-
msgstr "Tous les formulaires"
|
683 |
-
|
684 |
-
#. Found in faq header.
|
685 |
-
msgid "How Do I Control The Gravity Forms User Roles and Permissions?"
|
686 |
-
msgstr ""
|
687 |
-
"Comment puis-je contrôler les rôles et les droits des utilisateurs de "
|
688 |
-
"Gravity Forms ?"
|
689 |
-
|
690 |
-
#. Found in faq header.
|
691 |
-
msgid "How Do I Control The Events Calendar User Roles and Permissions?"
|
692 |
-
msgstr ""
|
693 |
-
"Comment puis-je contrôler les rôles et les droits des utilisateurs de The "
|
694 |
-
"Events Calendar ?"
|
695 |
-
|
696 |
-
#. Found in faq header.
|
697 |
-
msgid "How Do I Control WPForms User Roles and Permissions?"
|
698 |
-
msgstr ""
|
699 |
-
"Comment puis-je contrôler les rôles et les droits des utilisateurs de "
|
700 |
-
"WPForms ?"
|
701 |
-
|
702 |
-
#. Found in faq header.
|
703 |
-
msgid "How Do I Control WooCommerce Menu Link Permissions?"
|
704 |
-
msgstr "Comment puis-je contrôler les droits des liens du menu WooCommerce ?"
|
705 |
-
|
706 |
-
#. Found in faq paragraph.
|
707 |
-
msgid ""
|
708 |
-
"It is possible to control who can access these Jetpack links by using the "
|
709 |
-
"PublishPress Capabilities Pro plugin. After installing PublishPress "
|
710 |
-
"Capabilities Pro, go to “Capabilities”, then “Admin Menus” in your WordPress "
|
711 |
-
"admin area. In the top-left corner of this screen, choose the role that you "
|
712 |
-
"want to edit. For example, you can restrict Jetpack access for the "
|
713 |
-
"“Administrator” role. If you do this, I would recommend making a copy of the "
|
714 |
-
"Administrator role so that one role still has full Jetpack access. Scroll "
|
715 |
-
"down and you can enter a red X for any Jetpack menu link that you don't want "
|
716 |
-
"users in the Administrator role to access. Now when an Administrator logs in "
|
717 |
-
"to your site, they will not be able to see the Jetpack menu links that you "
|
718 |
-
"have blocked. This approach works for the core Jetpack plugin and can also "
|
719 |
-
"be used for add-on plugins such as Jetpack CRM and others."
|
720 |
-
msgstr ""
|
721 |
-
"Il est possible de contrôler qui peut accéder à ces liens de la extension "
|
722 |
-
"Jetpack en utilisant la extension PublishPress Capabilities Pro. Après avoir "
|
723 |
-
"installé PublishPress Capabilities Pro, allez dans « Capabilities », puis "
|
724 |
-
"« Admin Menus » dans votre zone d’administration WordPress. Dans le coin "
|
725 |
-
"supérieur gauche de cet écran, choisissez le rôle que vous souhaitez "
|
726 |
-
"modifier. Par exemple, vous pouvez restreindre l’accès à Jetpack pour le "
|
727 |
-
"rôle « Administrateur/administratrice ». Faites défiler la page vers le bas "
|
728 |
-
"et vous pouvez inscrire un X rouge pour tout lien du menu Jetpack auquel "
|
729 |
-
"vous ne voulez pas que les utilisateurs ayant le rôle d’administrateur ou "
|
730 |
-
"administratrice aient accès. Désormais, lorsqu’un administrateur ou une "
|
731 |
-
"administratrice se connecteront à votre site, il ne pourront pas voir les "
|
732 |
-
"liens de menu Jetpack que vous avez bloqué : "
|
733 |
-
|
734 |
-
#. Found in faq paragraph.
|
735 |
-
msgid ""
|
736 |
-
"When you first install the Jetpack plugin, you'll see one top-level menu "
|
737 |
-
"link, plus at least 2 sub-menus:"
|
738 |
-
msgstr ""
|
739 |
-
"Lorsque vous installez la extension Jetpack pour la première fois, vous "
|
740 |
-
"verrez un lien de menu de niveau supérieur et deux sous-menus : "
|
741 |
-
|
742 |
-
#. Found in faq paragraph.
|
743 |
-
msgid ""
|
744 |
-
"The Pro version of PublishPress Capabilities allows you to block access to "
|
745 |
-
"admin menu links in the Jetpack plugin. This is useful because Jetpack has "
|
746 |
-
"limited options for managing who can access the admin screens and important "
|
747 |
-
"features."
|
748 |
-
msgstr ""
|
749 |
-
"La version Pro de PublishPress Capabilities vous permet de bloquer l’accès "
|
750 |
-
"aux liens du menu administrateur dans la extension Jetpack. Ceci est utile "
|
751 |
-
"car Jetpack a des options limitées pour contrôler qui peut accéder aux "
|
752 |
-
"écrans d’administration."
|
753 |
-
|
754 |
-
#. Found in faq paragraph.
|
755 |
-
msgid ""
|
756 |
-
"This approach works for the core Elementor plugin and can also be used for "
|
757 |
-
"add-on plugins such as Essential Addons, Premium Addons, and others."
|
758 |
-
msgstr ""
|
759 |
-
"Cette approche fonctionne pour le cœur de la extension Elementor et peut "
|
760 |
-
"également être utilisée pour des modules complémentaires tels que Essential "
|
761 |
-
"Addons, Premium Addons, etc."
|
762 |
-
|
763 |
-
#. Found in faq paragraph.
|
764 |
-
msgid ""
|
765 |
-
"In the top-left corner of this screen, choose the role that you want to "
|
766 |
-
"edit. For example, you can restrict Elementor access for the “Administrator” "
|
767 |
-
"role. If you do this, I would recommend making a copy of the Administrator "
|
768 |
-
"role so that one role still has full Elementor access. Scroll down and you "
|
769 |
-
"can enter a red X for any Elementor menu link that you don't want users in "
|
770 |
-
"the Administrator role to access."
|
771 |
-
msgstr ""
|
772 |
-
"Dans le coin supérieur gauche de cet écran, choisissez le rôle que vous "
|
773 |
-
"souhaitez modifier. Par exemple, vous pouvez restreindre l’accès à Elementor "
|
774 |
-
"pour le rôle « Administrateur/administratrice ». Si vous faites cela, nous "
|
775 |
-
"vous recommandons de faire une copie du rôle d’administrateur et "
|
776 |
-
"d’administratrice afin que l’un des rôles ait toujours un accès complet à "
|
777 |
-
"WPForms."
|
778 |
-
|
779 |
-
#. Found in faq paragraph.
|
780 |
-
msgid ""
|
781 |
-
"It is possible to control who can access Elementor menu links by using the "
|
782 |
-
"PublishPress Capabilities Pro plugin. After installing PublishPress "
|
783 |
-
"Capabilities Pro, go to “Capabilities”, then “Admin Menus” in your WordPress "
|
784 |
-
"admin area."
|
785 |
-
msgstr ""
|
786 |
-
"Il est possible de contrôler qui peut accéder à ces liens du menu Elementor "
|
787 |
-
"en utilisant la extension PublishPress Capabilities Pro. Après avoir "
|
788 |
-
"installé PublishPress Capabilities Pro, allez dans « Capabilities », puis "
|
789 |
-
"« Admin Menus » dans votre zone d’administration WordPress."
|
790 |
-
|
791 |
-
#. Found in faq paragraph.
|
792 |
-
msgid ""
|
793 |
-
"When you first install Elementor, you'll see one top-level menu link, plus "
|
794 |
-
"at least 9 sub-menus:"
|
795 |
-
msgstr ""
|
796 |
-
"Lorsque vous installez la extension Elementor pour la première fois, vous "
|
797 |
-
"verrez un lien de menu de niveau supérieur et neuf sous-menus : "
|
798 |
-
|
799 |
-
#. Found in faq paragraph.
|
800 |
-
msgid ""
|
801 |
-
"The Pro version of PublishPress Capabilities allows you to block access to "
|
802 |
-
"admin menu links in the Elementor plugin. This is useful because Elementor "
|
803 |
-
"has limited options for managing who can access the admin screens and "
|
804 |
-
"important features."
|
805 |
-
msgstr ""
|
806 |
-
"La version Pro de PublishPress Capabilities vous permet de bloquer l’accès "
|
807 |
-
"aux liens du menu administrateur dans la extension Elementor. Ceci est utile "
|
808 |
-
"car Elementor a des options limitées pour contrôler qui peut accéder aux "
|
809 |
-
"écrans d’administration et aux fonctionnalités importantes."
|
810 |
-
|
811 |
-
#. Found in faq paragraph.
|
812 |
-
msgid ""
|
813 |
-
"This approach works for the core Yoast SEO plugin and can also be used for "
|
814 |
-
"add-on plugins such as Local SEO, WooCommerce SEO, Google News, and more."
|
815 |
-
msgstr ""
|
816 |
-
"Cette approche fonctionne pour le cœur de la extension Yoast SEO et peut "
|
817 |
-
"également être utilisée pour des modules complémentaires tels que Local SEO, "
|
818 |
-
"WooCommerce SEO, Google News, etc."
|
819 |
-
|
820 |
-
#. Found in faq paragraph.
|
821 |
-
msgid ""
|
822 |
-
"It is possible to control who can access these Yoast SEO links by using the "
|
823 |
-
"PublishPress Capabilities Pro plugin. After installing PublishPress "
|
824 |
-
"Capabilities Pro, go to “Capabilities”, then “Admin Menus” in your WordPress "
|
825 |
-
"admin area. In the top-left corner of this screen, choose the role that you "
|
826 |
-
"want to edit. For example, you can restrict Yoast SEO access for the “SEO "
|
827 |
-
"Manager” role. Scroll down and you can enter a red X for any menu link that "
|
828 |
-
"you don't want users in the SEO Manager role to access."
|
829 |
-
msgstr ""
|
830 |
-
"Il est possible de contrôler qui peut accéder à ces liens de la extension "
|
831 |
-
"Yoast SEO en utilisant la extension PublishPress Capabilities Pro. Après "
|
832 |
-
"avoir installé PublishPress Capabilities Pro, allez dans « Capabilities », "
|
833 |
-
"puis « Admin Menus » dans votre zone d’administration WordPress. Dans le "
|
834 |
-
"coin supérieur gauche de cet écran, choisissez le rôle que vous souhaitez "
|
835 |
-
"modifier. Par exemple, vous pouvez restreindre l’accès à Yoast SEO pour le "
|
836 |
-
"rôle « Responsable SEO ». Faites défiler la page vers le bas et vous pouvez "
|
837 |
-
"inscrire un X rouge pour tout lien du menu auquel vous ne voulez pas que les "
|
838 |
-
"utilisateurs ayant le rôle de responsable SEO aient accès."
|
839 |
-
|
840 |
-
#. Found in faq paragraph.
|
841 |
-
msgid ""
|
842 |
-
"When you first install Yoast SEO, you'll see one top-level menu link, plus "
|
843 |
-
"at least 5 sub-menus:"
|
844 |
-
msgstr ""
|
845 |
-
"Lorsque vous installez la extension Yoast SEO pour la première fois, vous "
|
846 |
-
"verrez un lien de menu de niveau supérieur et cinq sous-menus : "
|
847 |
-
|
848 |
-
#. Found in faq paragraph.
|
849 |
-
msgid ""
|
850 |
-
"Yoast SEO is the most popular WordPress SEO plugin and contains everything "
|
851 |
-
"that you need to manage your SEO. Yoast SEO is packed full of feature that "
|
852 |
-
"help search engines to find and understand your website."
|
853 |
-
msgstr ""
|
854 |
-
"Yoast SEO est la extension WordPress SEO la plus populaire et contient tout "
|
855 |
-
"ce dont vous avez besoin pour gérer votre référencement. Yoast SEO est "
|
856 |
-
"rempli de fonctionnalités qui aident les moteurs de recherche à trouver et à "
|
857 |
-
"comprendre votre site web."
|
858 |
-
|
859 |
-
#. Found in faq paragraph.
|
860 |
-
msgid ""
|
861 |
-
"The Pro version of PublishPress Capabilities allows you to block access to "
|
862 |
-
"admin menu links in the Yoast SEO plugin. This is useful because Yoast SEO "
|
863 |
-
"has limited options for managing who can access the admin screens and "
|
864 |
-
"important features."
|
865 |
-
msgstr ""
|
866 |
-
"La version Pro de PublishPress Capabilities vous permet de bloquer l’accès "
|
867 |
-
"aux liens du menu administrateur dans la extension Yoast SEO. Ceci est utile "
|
868 |
-
"car Yoast SEO a des options limitées pour contrôler qui peut accéder aux "
|
869 |
-
"écrans d’administration et aux fonctionnalités importantes."
|
870 |
-
|
871 |
-
#. Found in faq paragraph.
|
872 |
-
msgid ""
|
873 |
-
"It is possible to control who can access these links by using the "
|
874 |
-
"PublishPress Capabilities Pro plugin. After installing PublishPress "
|
875 |
-
"Capabilities Pro, go to “Capabilities”, then “Admin Menus” in your WordPress "
|
876 |
-
"admin area. In the top-left corner of this screen, choose the role that you "
|
877 |
-
"want to edit. Scroll down and you can enter a red X for any menu link that "
|
878 |
-
"you don't want users in the Editor role to access. This approach works for "
|
879 |
-
"the core Contact Form 7 plugin and can also be used for add-on plugins such "
|
880 |
-
"as Flamingo which records entries for Contact Form 7 forms."
|
881 |
-
msgstr ""
|
882 |
-
"Il est possible de contrôler qui peut accéder à ces liens en utilisant la "
|
883 |
-
"extension PublishPress Capabilities Pro. Après avoir installé PublishPress "
|
884 |
-
"Capabilities Pro, allez dans « Capabilities », puis « Admin Menus » dans "
|
885 |
-
"votre zone d’administration WordPress. Dans le coin supérieur gauche de cet "
|
886 |
-
"écran, choisissez le rôle que vous souhaitez modifier. Faites défiler la "
|
887 |
-
"page vers le bas et vous pouvez inscrire un X rouge pour tout lien du menu "
|
888 |
-
"auquel vous ne voulez pas que les utilisateurs ayant le rôle d’Éditeur/"
|
889 |
-
"éditrice aient accès. Cette approche fonctionne pour le cœur de la extension "
|
890 |
-
"Contact Form 7 et peut également être utilisé pour des modules "
|
891 |
-
"complémentaires tels que Flamingo, qui enregistre les entrées des "
|
892 |
-
"formulaires Contact Form 7."
|
893 |
-
|
894 |
-
#. Found in faq paragraph.
|
895 |
-
msgid ""
|
896 |
-
"When you first install Contact Form 7, you'll see one top-level menu link, "
|
897 |
-
"plus three sub-menus. All of these links are available to users in the "
|
898 |
-
"Administrator role:"
|
899 |
-
msgstr ""
|
900 |
-
"Lorsque vous installez la extension Contact Form 7 pour la première fois, "
|
901 |
-
"vous verrez un lien de menu de niveau supérieur et trois sous-menus. Tous "
|
902 |
-
"ces liens sont disponibles pour les utilisateurs ayant le rôle "
|
903 |
-
"d’administrateur et d’administratrice : "
|
904 |
-
|
905 |
-
#. Found in faq paragraph.
|
906 |
-
msgid ""
|
907 |
-
"Contact Form 7 is the most popular contact form plugin for WordPress. You "
|
908 |
-
"can manage multiple contact forms, and easily customize each form and the "
|
909 |
-
"emails it sends. Contact Form 7 supports Ajax-powered submitting, CAPTCHA, "
|
910 |
-
"Akismet spam filtering and much more."
|
911 |
-
msgstr ""
|
912 |
-
"Contact Form 7 est la extension de formulaire de contact la plus populaire "
|
913 |
-
"pour WordPress. Vous pouvez gérer plusieurs formulaires de contact, et "
|
914 |
-
"personnaliser facilement chaque formulaire et les e-mails qu’il envoie. "
|
915 |
-
"Contact Form 7 prend en charge la soumission par Ajax, CAPTCHA, le filtrage "
|
916 |
-
"anti-indésirable Akismet et bien plus encore."
|
917 |
-
|
918 |
-
#. Found in faq paragraph.
|
919 |
-
msgid ""
|
920 |
-
"The Pro version of PublishPress Capabilities allows you to block access to "
|
921 |
-
"admin menu links in the Contact Form 7 plugin. This is useful because "
|
922 |
-
"Contact Form 7 has very limited options for controlling who can access the "
|
923 |
-
"admin screens."
|
924 |
-
msgstr ""
|
925 |
-
"La version Pro de PublishPress Capabilities vous permet de bloquer l’accès "
|
926 |
-
"aux liens du menu administrateur dans la extension Contact Form 7. Ceci est "
|
927 |
-
"utile car Contact Form 7 a des options limitées pour contrôler qui peut "
|
928 |
-
"accéder aux écrans d’administration."
|
929 |
-
|
930 |
-
#. Found in faq paragraph.
|
931 |
-
msgid ""
|
932 |
-
"It is possible to control who can access these links by using the "
|
933 |
-
"PublishPress Capabilities Pro plugin. After installing PublishPress "
|
934 |
-
"Capabilities Pro, go to “Capabilities”, then “Admin Menus” in your WordPress "
|
935 |
-
"admin area. n the top-left corner of this screen, choose the role that you "
|
936 |
-
"want to edit. Scroll down and you can enter a red X for any menu link that "
|
937 |
-
"you don't want users in that role to access. This is a great way to "
|
938 |
-
"customize a WooCommerce role such as Shop Manager. This approach works for "
|
939 |
-
"the core WooCommerce plugin and can also be used for WooCommerce add-on "
|
940 |
-
"plugins such as WooCommerce Subscriptions, WooCommerce Shipping, and "
|
941 |
-
"WooCommerce Bookings. PublishPress Capabilities can help you manage "
|
942 |
-
"WooCommerce permissisons."
|
943 |
-
msgstr ""
|
944 |
-
"Il est possible de contrôler qui peut accéder à ces liens en utilisant la "
|
945 |
-
"extension PublishPress Capabilities Pro. Après avoir installé PublishPress "
|
946 |
-
"Capabilities Pro, allez dans « Capabilities », puis « Admin Menus » dans "
|
947 |
-
"votre zone d’administration WordPress. Dans le coin supérieur gauche de cet "
|
948 |
-
"écran, choisissez le rôle que vous souhaitez modifier. Faites défiler la "
|
949 |
-
"page vers le bas et vous pouvez inscrire un X rouge pour tout lien du menu "
|
950 |
-
"auquel vous ne voulez pas que les utilisateurs ayant ce rôle aient accès. Il "
|
951 |
-
"constitue un excellent moyen de personnaliser un rôle WooCommerce tel que le "
|
952 |
-
"gestionnaire de boutique. Cette approche fonctionne pour le cœur de la "
|
953 |
-
"extension WooCommerce et peut également être utilisé pour des modules "
|
954 |
-
"complémentaires tels que WooCommerce Subscriptions, WooCommerce Shipping, "
|
955 |
-
"and WooCommerce Bookings. PublishPress Capabilities peut vous aider à gérer "
|
956 |
-
"les droits de WooCommerce."
|
957 |
-
|
958 |
-
#. Found in faq paragraph.
|
959 |
-
msgid ""
|
960 |
-
"The Pro version of PublishPress Capabilities allows you to block access to "
|
961 |
-
"admin menu links in WooCommerce. This is useful because WooCommerce has very "
|
962 |
-
"limited options for controlling who can access the admin screens. When you "
|
963 |
-
"first install WooCommerce, you'll see four top-level menu links, plus sub-"
|
964 |
-
"menus. All of these links are available to users in the Administrator and "
|
965 |
-
"Shop Manager roles:"
|
966 |
-
msgstr ""
|
967 |
-
"La version Pro de PublishPress Capabilities vous permet de bloquer l’accès "
|
968 |
-
"aux liens du menu administrateur dans la extension WooCommerce. Ceci est "
|
969 |
-
"utile car WooCommerce a des options limitées pour contrôler qui peut accéder "
|
970 |
-
"aux écrans d’administration. Lorsque vous installez la extension WooCommerce "
|
971 |
-
"pour la première fois, vous verrez quatre liens de menu de niveau supérieur "
|
972 |
-
"et des sous-menus. Tous ces liens sont disponibles pour les utilisateurs "
|
973 |
-
"ayant le rôle d’administrateur/administratrice et de gestionnaire de "
|
974 |
-
"boutique : "
|
975 |
-
|
976 |
-
#. Found in faq paragraph.
|
977 |
-
msgid ""
|
978 |
-
"In the right sidebar, you can also enable permissions for WooCommerce "
|
979 |
-
"taxonomies. Check the boxes for Product categories, Product tags, and "
|
980 |
-
"Product shipping classes. After you check those boxes and refresh your "
|
981 |
-
"screen, you will see Manager, Edit, Assign and Delete options for Product "
|
982 |
-
"categories, Product tags, and Product shipping classes."
|
983 |
-
msgstr ""
|
984 |
-
"Dans la colonne latérale droite, vous pouvez également activer les droits "
|
985 |
-
"pour les taxonomies WooCommerce. Cochez les boîtes pour les catégories de "
|
986 |
-
"produits, les étiquettes de produits et les classes d’expédition de "
|
987 |
-
"produits. Après avoir coché ces boîtes et rafraîchi votre écran, vous verrez "
|
988 |
-
"apparaître les options gestionnaire, modifier, assigner et supprimer pour "
|
989 |
-
"les catégories de produits, les étiquettes de produits et les classes "
|
990 |
-
"d’expédition de produits."
|
991 |
-
|
992 |
-
#. Found in faq paragraph.
|
993 |
-
msgid ""
|
994 |
-
"The PublishPress Capabilities plugin enables you to control permissions for "
|
995 |
-
"the WooCommerce plugin and also WooCommerce user roles. You can use this "
|
996 |
-
"plugin as a WooCommerce user role editor. Go to the “Capabilities” link in "
|
997 |
-
"your WordPress admin menu. In the main area of your screen will see options "
|
998 |
-
"for WooCommerce Products, Orders and Coupons. These permissions cover "
|
999 |
-
"editing, deleting and reading."
|
1000 |
-
msgstr ""
|
1001 |
-
"La extension PublishPress Capabilities vous permet de contrôler les "
|
1002 |
-
"permissions pour la extension WooCommerce ainsi que les rôles des "
|
1003 |
-
"utilisateurs de WooCommerce. Vous pouvez utiliser cette extension comme un "
|
1004 |
-
"éditeur de rôle d’utilisateur WooCommerce. Allez sur le lien "
|
1005 |
-
"« Capabilities » dans votre menu d’administration WordPress. Dans la zone "
|
1006 |
-
"principale de votre écran, vous verrez des options pour les produits, les "
|
1007 |
-
"commandes et les codes promo WooCommerce. Ces permissions couvrent la "
|
1008 |
-
"modification, la suppression et la lecture."
|
1009 |
-
|
1010 |
-
#. Found in faq paragraph.
|
1011 |
-
msgid ""
|
1012 |
-
"WooCommerce is the most popular WordPress eCommerce plugin. You can create "
|
1013 |
-
"beautiful store with themes customized to your brand and industry and you'll "
|
1014 |
-
"find 1,000's of tools and popular integrations."
|
1015 |
-
msgstr ""
|
1016 |
-
"WooCommerce est la extension de commerce électronique la plus populaire de "
|
1017 |
-
"WordPress. Vous pouvez créer de magnifiques boutiques avec des thèmes "
|
1018 |
-
"personnalisés en fonction de votre marque et de votre secteur d’activité et "
|
1019 |
-
"vous trouverez des milliers d’outils et d’intégrations populaires."
|
1020 |
-
|
1021 |
-
#. Found in faq list item.
|
1022 |
-
msgid "Dashboard"
|
1023 |
-
msgstr "Tableau de bord"
|
1024 |
-
|
1025 |
-
#. Found in faq list item.
|
1026 |
-
msgid "Go Pro"
|
1027 |
-
msgstr "Passer Pro"
|
1028 |
-
|
1029 |
-
#. Found in faq list item.
|
1030 |
-
msgid "Custom Icons"
|
1031 |
-
msgstr "Icônes personnalisées"
|
1032 |
-
|
1033 |
-
#. Found in faq list item.
|
1034 |
-
msgid "Custom Fonts"
|
1035 |
-
msgstr "Polices personnalisées"
|
1036 |
-
|
1037 |
-
#. Found in faq list item.
|
1038 |
-
msgid "Get Help"
|
1039 |
-
msgstr "Obtenir de l’aide"
|
1040 |
-
|
1041 |
-
#. Found in faq list item.
|
1042 |
-
msgid "Getting Started"
|
1043 |
-
msgstr "Premiers pas"
|
1044 |
-
|
1045 |
-
#. Found in faq list item.
|
1046 |
-
msgid "System Info"
|
1047 |
-
msgstr "Information système"
|
1048 |
-
|
1049 |
-
#. Found in faq list item.
|
1050 |
-
msgid "Role Manager"
|
1051 |
-
msgstr "Gestionnaire de rôles"
|
1052 |
-
|
1053 |
-
#. Found in faq list item.
|
1054 |
-
msgid "Settings"
|
1055 |
-
msgstr "Réglages"
|
1056 |
-
|
1057 |
-
#. Found in faq list item.
|
1058 |
-
msgid "Premium"
|
1059 |
-
msgstr "Premium"
|
1060 |
-
|
1061 |
-
#. Found in faq list item.
|
1062 |
-
msgid "Tools"
|
1063 |
-
msgstr "Outils"
|
1064 |
-
|
1065 |
-
#. Found in faq list item.
|
1066 |
-
msgid "Social"
|
1067 |
-
msgstr "Social"
|
1068 |
-
|
1069 |
-
#. Found in faq list item.
|
1070 |
-
msgid "Search Appearance"
|
1071 |
-
msgstr "Apparence de la recherche"
|
1072 |
-
|
1073 |
-
#. Found in faq list item.
|
1074 |
-
msgid "General"
|
1075 |
-
msgstr "Général"
|
1076 |
-
|
1077 |
-
#. Found in faq list item.
|
1078 |
-
msgid "Integration"
|
1079 |
-
msgstr "Intégration"
|
1080 |
-
|
1081 |
-
#. Found in faq list item.
|
1082 |
-
msgid "Add New"
|
1083 |
-
msgstr "Ajouter"
|
1084 |
-
|
1085 |
-
#. Found in faq list item.
|
1086 |
-
msgid "Contact Forms"
|
1087 |
-
msgstr "Formulaires de contact"
|
1088 |
-
|
1089 |
-
#. Found in faq list item.
|
1090 |
-
msgid "Marketing"
|
1091 |
-
msgstr "Marketing"
|
1092 |
-
|
1093 |
-
#. Found in faq list item.
|
1094 |
-
msgid "Analytics"
|
1095 |
-
msgstr "Statistiques"
|
1096 |
-
|
1097 |
-
#. Found in faq list item.
|
1098 |
-
msgid "Products"
|
1099 |
-
msgstr "Produits"
|
1100 |
-
|
1101 |
-
#. Found in faq list item.
|
1102 |
-
msgid "WooCommerce"
|
1103 |
-
msgstr "WooCommerce"
|
1104 |
-
|
1105 |
-
#. Found in faq header.
|
1106 |
-
msgid "How Do I Control Jetpack User Roles and Permissions?"
|
1107 |
-
msgstr ""
|
1108 |
-
"Comment puis-je contrôler les rôles et les droits des utilisateurs de "
|
1109 |
-
"Jetpack ?"
|
1110 |
-
|
1111 |
-
#. Found in faq header.
|
1112 |
-
msgid "How Do I Control Elementor User Roles and Permissions?"
|
1113 |
-
msgstr ""
|
1114 |
-
"Comment puis-je contrôler les rôles et les droits des utilisateurs de "
|
1115 |
-
"Elementor ?"
|
1116 |
-
|
1117 |
-
#. Found in faq header.
|
1118 |
-
msgid "How Do I Control Yoast SEO User Roles and Permissions?"
|
1119 |
-
msgstr ""
|
1120 |
-
"Comment puis-je contrôler les rôles et les droits des utilisateurs de Yoast "
|
1121 |
-
"SEO ?"
|
1122 |
-
|
1123 |
-
#. Found in faq header.
|
1124 |
-
msgid "How Do I Control Contact Form 7 Permissions?"
|
1125 |
-
msgstr ""
|
1126 |
-
"Comment puis-je contrôler les rôles et les droits des utilisateurs de Form "
|
1127 |
-
"7 ?"
|
1128 |
-
|
1129 |
-
#. Found in faq paragraph.
|
1130 |
-
msgid ""
|
1131 |
-
"Common and incorrect typos include Capabilitise, Cpabilities, Capabiliites, "
|
1132 |
-
"Cspabilities, Capsbilities, Caoabilities, Calabilities."
|
1133 |
-
msgstr ""
|
1134 |
-
"Les fautes de frappe courantes et incorrectes comprennent Capabilitise, "
|
1135 |
-
"Cpabilities, Capabiliites, Cspabilities, Capsbilities, Caoabilities, "
|
1136 |
-
"Calabilities."
|
1137 |
-
|
1138 |
-
#. Found in faq paragraph.
|
1139 |
-
msgid ""
|
1140 |
-
"PublishPress is the official brandname. When writing about this user role "
|
1141 |
-
"editor plugin, please make sure to uppercase the Ps."
|
1142 |
-
msgstr ""
|
1143 |
-
"PublishPress est la marque officielle. Lorsque vous écrivez à propos de ce "
|
1144 |
-
"plugin d’édition de rôle d’utilisateur, veillez à mettre les P en majuscule."
|
1145 |
-
|
1146 |
-
#. Found in faq paragraph.
|
1147 |
-
msgid "Here's another comparison:"
|
1148 |
-
msgstr "Voici une autre comparaison :"
|
1149 |
-
|
1150 |
-
#. Found in faq paragraph.
|
1151 |
-
msgid "Here's an contrasting example when it comes to Post:"
|
1152 |
-
msgstr "Voici un exemple contrasté en ce qui concerne la publication : "
|
1153 |
-
|
1154 |
-
#. Found in faq paragraph.
|
1155 |
-
msgid "OK, that's maybe too simple, so here's more detail:"
|
1156 |
-
msgstr "OK, c’est peut-être trop simple, alors voici plus de détails :"
|
1157 |
-
|
1158 |
-
#. Found in faq paragraph.
|
1159 |
-
msgid ""
|
1160 |
-
"We provide two plugins that allow you to control who can access what on your "
|
1161 |
-
"WordPress site. This is simple way to understand the difference:"
|
1162 |
-
msgstr ""
|
1163 |
-
"Nous fournissons deux extensions qui vous permettent de contrôler qui peut "
|
1164 |
-
"accéder à quoi sur votre site WordPress. Voici une façon simple de "
|
1165 |
-
"comprendre la différence :"
|
1166 |
-
|
1167 |
-
#. Found in faq paragraph.
|
1168 |
-
msgid ""
|
1169 |
-
"If you want to proceed, click the “Reset to WordPress defaults” link. "
|
1170 |
-
"PublishPress Capabilities will ask you if you're really sure you want to do "
|
1171 |
-
"this. Click “OK” to continue. Once the process is complete, you'll see the "
|
1172 |
-
"message, “Roles and Capabilities reset to WordPress defaults”."
|
1173 |
-
msgstr ""
|
1174 |
-
"Si vous voulez continuer, cliquez sur le lien « Réinitialiser les valeurs "
|
1175 |
-
"par défaut de WordPress ». PublishPress Capabilities vous demandera si vous "
|
1176 |
-
"êtes vraiment sûr de vouloir faire cela. Cliquez sur « OK » pour continuer. "
|
1177 |
-
"Une fois le processus terminé, vous verrez le message « Rôles et capacités "
|
1178 |
-
"réinitialisés aux valeurs par défaut de WordPress »."
|
1179 |
-
|
1180 |
-
#. Found in faq paragraph.
|
1181 |
-
msgid ""
|
1182 |
-
"“WARNING: This will delete and/or modify stored role definitions. If you "
|
1183 |
-
"have installed any plugin that adds new roles or capabilities, these will be "
|
1184 |
-
"lost. It is recommended to use this only as a last resort!”"
|
1185 |
-
msgstr ""
|
1186 |
-
"« AVERTISSEMENT : Ceci va supprimer et/ou modifier les définitions de rôles "
|
1187 |
-
"stockés. Si vous avez installé une extension qui ajoute de nouveaux rôles ou "
|
1188 |
-
"capacités, ceux-ci seront perdus. Il est recommandé de n’utiliser cette "
|
1189 |
-
"opération que comme dernier recours ! »"
|
1190 |
-
|
1191 |
-
#. Found in faq paragraph.
|
1192 |
-
msgid ""
|
1193 |
-
"If you really need to clean up and refresh your site, PublishPress "
|
1194 |
-
"Capabilities does allow you to restore the default WordPress permissions. Go "
|
1195 |
-
"to Capabilities > Backup and dlick the “Reset Roles” tab. Before you take "
|
1196 |
-
"next step, make sure to read this warning:"
|
1197 |
-
msgstr ""
|
1198 |
-
"Si vous avez vraiment besoin de nettoyer et de rafraîchir votre site, "
|
1199 |
-
"PublishPress Capabilities vous permet de restaurer les droits par défaut de "
|
1200 |
-
"WordPress. Allez dans Capabilities > Sauvegardes et cliquez sur l’onglet "
|
1201 |
-
"« Réinitialiser les rôles ». Avant de passer à l’étape suivante, assurez-"
|
1202 |
-
"vous de lire cet avertissement :"
|
1203 |
-
|
1204 |
-
#. Found in faq paragraph.
|
1205 |
-
msgid ""
|
1206 |
-
"Whenever you choose a backup, the plugin will show all the permissions in "
|
1207 |
-
"that backup. Important changes in permissions are highlighted:"
|
1208 |
-
msgstr ""
|
1209 |
-
"Chaque fois que vous choisissez une sauvegarde, la extension affiche toutes "
|
1210 |
-
"les droits de cette sauvegarde. Les changements importants dans les droits "
|
1211 |
-
"sont mis en évidence :"
|
1212 |
-
|
1213 |
-
#. Found in faq paragraph.
|
1214 |
-
msgid ""
|
1215 |
-
"Click the yellow “Restore Selected Roles” button and you'll be able to roll "
|
1216 |
-
"back to a previous version."
|
1217 |
-
msgstr ""
|
1218 |
-
"Cliquez sur le bouton jaune «Restaurer les rôles sélectionnés »et vous "
|
1219 |
-
"pourrez revenir à une version antérieure."
|
1220 |
-
|
1221 |
-
#. Found in faq paragraph.
|
1222 |
-
msgid ""
|
1223 |
-
"Every time you change your permissions, the PublishPress Capabilities plugin "
|
1224 |
-
"will automatically create a backup. If you make a mistake, go to the "
|
1225 |
-
"“Backup” menu link and click the “Restore” tab. Here you can browse through "
|
1226 |
-
"the most recent 20 automatic backups. The plugin also saves a backup from "
|
1227 |
-
"you first installed PublishPress Capabilities. And you can click the "
|
1228 |
-
"“Backup” tab to manually create backups."
|
1229 |
-
msgstr ""
|
1230 |
-
"Chaque fois que vous modifiez vos droits, la extension PublishPress "
|
1231 |
-
"Capabilities crée automatiquement une sauvegarde. Si vous faites une erreur, "
|
1232 |
-
"allez dans le lien du menu « Sauvegardes » et cliquez sur "
|
1233 |
-
"l’onglet « Restaurer ». Ici, vous pouvez parcourir les 20 sauvegardes "
|
1234 |
-
"automatiques les plus récentes. Cette extension enregistre également une "
|
1235 |
-
"sauvegarde depuis votre première installation de PublishPress Capabilities. "
|
1236 |
-
"Et vous pouvez cliquer sur l’onglet « Sauvegardes »pour créer manuellement "
|
1237 |
-
"des sauvegardes."
|
1238 |
-
|
1239 |
-
#. Found in faq paragraph.
|
1240 |
-
msgid ""
|
1241 |
-
"Changing permissions in WordPress can be a tricky task. It's possible to "
|
1242 |
-
"lock yourself or others out of some important features. So, we've built a "
|
1243 |
-
"way to keep your site safe."
|
1244 |
-
msgstr ""
|
1245 |
-
"La modification des droits d’accès dans WordPress peut être une tâche "
|
1246 |
-
"délicate. Il est possible de se bloquer ou de bloquer d’autres personnes "
|
1247 |
-
"pour certaines fonctionnalités importantes. C’est pourquoi nous avons conçu "
|
1248 |
-
"un moyen de sécuriser votre site."
|
1249 |
-
|
1250 |
-
#. Found in faq paragraph.
|
1251 |
-
msgid ""
|
1252 |
-
"PublishPress Capabilities is a user role editor that offers you the ability "
|
1253 |
-
"to backup and restore your WordPress user permissions. This feature is very "
|
1254 |
-
"helpful if you want to test out changes on your site, or you've installed a "
|
1255 |
-
"new plugin that has changed your site's permissions."
|
1256 |
-
msgstr ""
|
1257 |
-
"PublishPress Capabilities est un éditeur de rôles d’utilisateurs qui vous "
|
1258 |
-
"offre la possibilité de sauvegarder et de restaurer les droits de vos "
|
1259 |
-
"utilisateurs WordPress. Cette fonctionnalité est très utile si vous voulez "
|
1260 |
-
"tester des changements sur votre site, ou si vous avez installé une nouvelle "
|
1261 |
-
"extension qui a modifié les droits de votre site."
|
1262 |
-
|
1263 |
-
#. Found in faq list item.
|
1264 |
-
msgid "publish press cpabilities (incorrect)"
|
1265 |
-
msgstr "publish press cpabilities (incorrect)"
|
1266 |
-
|
1267 |
-
#. Found in faq list item.
|
1268 |
-
msgid "publishpress capabilities (incorrect)"
|
1269 |
-
msgstr "publishpress capabilities (incorrect)"
|
1270 |
-
|
1271 |
-
#. Found in faq list item.
|
1272 |
-
#| msgid "The Key Features of PublishPress Capabilities"
|
1273 |
-
msgid "Publish Press Capabilities (incorrect)"
|
1274 |
-
msgstr "Publish Press Capabilities (incorrect)"
|
1275 |
-
|
1276 |
-
#. Found in faq list item.
|
1277 |
-
#| msgid "The Key Features of PublishPress Capabilities"
|
1278 |
-
msgid "PublishPress Capabilities (correct)"
|
1279 |
-
msgstr "PublishPress Capabilities (correct)"
|
1280 |
-
|
1281 |
-
#. Found in faq list item.
|
1282 |
-
msgid ""
|
1283 |
-
"PublishPress Permissions allows you to control who can read Pages with a "
|
1284 |
-
"specific Status, Category or Tag, or even Pages with a particular parent "
|
1285 |
-
"Page."
|
1286 |
-
msgstr ""
|
1287 |
-
"PublishPress Permissions vous permet de contrôler qui peut lire les pages "
|
1288 |
-
"ayant un état, une catégorie ou une étiquette spécifique, ou même les pages "
|
1289 |
-
"ayant une page parente particulière."
|
1290 |
-
|
1291 |
-
#. Found in faq list item.
|
1292 |
-
msgid ""
|
1293 |
-
"PublishPress Capabilities allows you to control who can read all your Pages."
|
1294 |
-
msgstr ""
|
1295 |
-
"PublishPress Capabilities vous permet de contrôler qui peut lire toutes vos "
|
1296 |
-
"pages."
|
1297 |
-
|
1298 |
-
#. Found in faq list item.
|
1299 |
-
msgid ""
|
1300 |
-
"PublishPress Permissions allows you to control who can publish Posts with a "
|
1301 |
-
"particular Status, Category or Tag, or even Posts without a specific "
|
1302 |
-
"Category or Tag."
|
1303 |
-
msgstr ""
|
1304 |
-
"PublishPress Permissions vous permet de contrôler qui peut publier des "
|
1305 |
-
"publications avec un état, une catégorie ou une étiquette particulière, ou "
|
1306 |
-
"même des publications sans catégorie ou étiquette spécifique."
|
1307 |
-
|
1308 |
-
#. Found in faq list item.
|
1309 |
-
msgid ""
|
1310 |
-
"PublishPress Capabilities allows you to control who can publish all your "
|
1311 |
-
"Posts."
|
1312 |
-
msgstr ""
|
1313 |
-
"PublishPress Capabilities vous permet de contrôler qui peut publier tous vos "
|
1314 |
-
"publications."
|
1315 |
-
|
1316 |
-
#. Found in faq list item.
|
1317 |
-
msgid ""
|
1318 |
-
"PublishPress Permissions allows you to customize advanced permissions that "
|
1319 |
-
"go far beyond the scope of the WordPress core."
|
1320 |
-
msgstr ""
|
1321 |
-
"PublishPress Permissions vous permet de personnaliser des droits avancés qui "
|
1322 |
-
"vont bien au-delà de la portée du cœur de WordPress."
|
1323 |
-
|
1324 |
-
#. Found in faq list item.
|
1325 |
-
msgid ""
|
1326 |
-
"PublishPress Permissions allows you to customize the default WordPress "
|
1327 |
-
"permissions."
|
1328 |
-
msgstr ""
|
1329 |
-
"PublishPress Permissions vous permet de personnaliser les droits par défaut "
|
1330 |
-
"de WordPress."
|
1331 |
-
|
1332 |
-
#. Found in faq list item.
|
1333 |
-
msgid "PublishPress Permissions: Advanced."
|
1334 |
-
msgstr "Permissions PublishPress : Avancé."
|
1335 |
-
|
1336 |
-
#. Found in faq list item.
|
1337 |
-
msgid "PublishPress Capabilities: Easy."
|
1338 |
-
msgstr "PublishPress Capabilities : Facile."
|
1339 |
-
|
1340 |
-
#. Found in faq list item.
|
1341 |
-
msgid ""
|
1342 |
-
"A stuck-through capability is set in the current role, but not the role "
|
1343 |
-
"backup."
|
1344 |
-
msgstr ""
|
1345 |
-
"Une capacité « bloquée \" est définie dans le rôle actuel, mais pas dans le "
|
1346 |
-
"rôle de secours."
|
1347 |
-
|
1348 |
-
#. Found in faq list item.
|
1349 |
-
msgid "A green capability is set in the role backup, but not the current role."
|
1350 |
-
msgstr ""
|
1351 |
-
"Une capacité verte est définie dans la sauvegarde du rôle, mais pas dans le "
|
1352 |
-
"rôle actuel."
|
1353 |
-
|
1354 |
-
#. Found in faq list item.
|
1355 |
-
msgid "A green role title means the role does not exist in your current set. "
|
1356 |
-
msgstr ""
|
1357 |
-
"Un titre de rôle vert signifie que le rôle n’existe pas dans votre jeu "
|
1358 |
-
"actuel. "
|
1359 |
-
|
1360 |
-
#. Found in faq header.
|
1361 |
-
msgid "What's the correct way to spell PublishPress Capabilities?"
|
1362 |
-
msgstr "Quelle est la façon correcte d’épeler PublishPress Capabilities ?"
|
1363 |
-
|
1364 |
-
#. Found in faq header.
|
1365 |
-
msgid ""
|
1366 |
-
"What’s the Difference Between PublishPress Capabilities and PublishPress "
|
1367 |
-
"Permissions?"
|
1368 |
-
msgstr ""
|
1369 |
-
"Quelle est la différence entre PublishPress Capabilities et PublishPress "
|
1370 |
-
"Permissions ?"
|
1371 |
-
|
1372 |
-
#. Found in faq header.
|
1373 |
-
msgid "How Do I Restore Permissions to the WordPress Defaults?"
|
1374 |
-
msgstr ""
|
1375 |
-
"Comment puis-je rétablir les droits d’accès aux valeurs par défaut de "
|
1376 |
-
"WordPress ?"
|
1377 |
-
|
1378 |
-
#. Found in faq header.
|
1379 |
-
msgid "How do I Backup and Restore WordPress User Permissions?"
|
1380 |
-
msgstr ""
|
1381 |
-
"Comment sauvegarder et restaurer les droits des utilisateurs de WordPress ?"
|
1382 |
-
|
1383 |
-
#. Found in description paragraph.
|
1384 |
-
msgid ""
|
1385 |
-
"PublishPress Capabilities gives you detailed control over all the permission "
|
1386 |
-
"levelsss on your WordPress site. You can edit user roles on your site, from "
|
1387 |
-
"Administrator and Editor to Contributor and Subscriber."
|
1388 |
-
msgstr ""
|
1389 |
-
"PublishPress Capabilities vous donne un contrôle détaillé de tous les "
|
1390 |
-
"niveaux de droits sur votre site WordPress. Vous pouvez modifier les rôles "
|
1391 |
-
"des utilisateurs sur votre site, de l’administrateur/administratrice à "
|
1392 |
-
"l’éditeur/éditrice en passant par le contributeur/contributrice et l’abonné/"
|
1393 |
-
"abonnée."
|
1394 |
-
|
1395 |
-
#. Found in description paragraph.
|
1396 |
-
msgid ""
|
1397 |
-
"The Pro version of PublishPress Capabilities enables you to stop users from "
|
1398 |
-
"accessing any admin menu link and any frontend menu link."
|
1399 |
-
msgstr ""
|
1400 |
-
"La version Pro de PublishPress Capabilities vous permet d’empêcher les "
|
1401 |
-
"utilisateurs d’accéder à tout lien des menus d’administration et de "
|
1402 |
-
"l’interface publique."
|
1403 |
-
|
1404 |
-
#. Found in description header.
|
1405 |
-
msgid "10. WordPress Admin Menu Restrictions (Pro version)"
|
1406 |
-
msgstr "10. Restrictions du menu d’administration de WordPress (version Pro)"
|
1407 |
-
|
1408 |
-
#. Found in description header.
|
1409 |
-
msgid "8. Create New User Roles or Copy User Roles"
|
1410 |
-
msgstr ""
|
1411 |
-
"8. Créer de nouveaux rôles d’utilisateur ou copier des rôles d’utilisateur"
|
1412 |
-
|
1413 |
-
#. Found in description header.
|
1414 |
-
msgid "5. Hide Gutenberg and Classic Editor Features"
|
1415 |
-
msgstr "5. Masquer les fonctionnalités de Gutenberg et de l’éditeur classique"
|
1416 |
-
|
1417 |
-
#. Found in description header.
|
1418 |
-
msgid "3. Capabilities for any WordPress Taxonomy"
|
1419 |
-
msgstr "3. Permissions pour toutes les taxonomies WordPress"
|
1420 |
-
|
1421 |
-
#. Found in description header.
|
1422 |
-
msgid "1. WordPress User Role Editor"
|
1423 |
-
msgstr "1. Éditeur de rôle d’utilisateur WordPress"
|
1424 |
-
|
1425 |
-
#. Found in description paragraph.
|
1426 |
-
msgid ""
|
1427 |
-
"<a href=\"https://publishpress.com/knowledge-base/editor-features/\">Click "
|
1428 |
-
"here to learn about hiding editor features</a>."
|
1429 |
-
msgstr ""
|
1430 |
-
"<a href=\"https://publishpress.com/knowledge-base/editor-features/\">Cliquez "
|
1431 |
-
"ici pour en savoir plus sur le masquage des fonctionnalités de l’éditeur</a>."
|
1432 |
-
|
1433 |
-
#. Found in description paragraph.
|
1434 |
-
msgid ""
|
1435 |
-
"PublishPress Capabilities has an option called \"Editor Features\" allows "
|
1436 |
-
"you to clean up the post editing screen. You can decide what users see when "
|
1437 |
-
"they're writing posts. You can hide anything on the Gutenberg or Classic "
|
1438 |
-
"Editor screens. You can hide boxes inside the sidebadd such Tags, "
|
1439 |
-
"Categories, or Excerpt. You can the \"Publish\" button. You can even hide "
|
1440 |
-
"the post title, body, or permalink. This is a great alternative to plugins "
|
1441 |
-
"such as Adminimize."
|
1442 |
-
msgstr ""
|
1443 |
-
"PublishPress Capabilities a une option appelée « Fonctionnalités de "
|
1444 |
-
"l’éditeur » qui vous permet de nettoyer l’écran d’édition de publication. "
|
1445 |
-
"Vous pouvez décider ce que les utilisateurs voient lorsqu’ils écrivent des "
|
1446 |
-
"publications. Vous pouvez masquer n’importe quoi sur les écrans Gutenberg ou "
|
1447 |
-
"Éditeur classique. Vous pouvez masquer les cases à l’intérieur de la barre "
|
1448 |
-
"latérale telles que les balises, les catégories ou les extraits. Vous pouvez "
|
1449 |
-
"cliquer sur le bouton « Publier ». Vous pouvez même masquer le titre, le "
|
1450 |
-
"corps ou le permalien de la publication. C’est une excellente alternative "
|
1451 |
-
"aux extensions telles que Adminimize."
|
1452 |
-
|
1453 |
-
#. Found in description paragraph.
|
1454 |
-
msgid ""
|
1455 |
-
"You can use PublishPress Capabilities to clean up the post editing screen. "
|
1456 |
-
"You can decide what authors see when they're writing posts. You can "
|
1457 |
-
"<strong>hide any features on the Gutenberg or Classic Editor screens</"
|
1458 |
-
"strong>."
|
1459 |
-
msgstr ""
|
1460 |
-
"Vous pouvez utiliser PublishPress Capabilities pour nettoyer l’écran "
|
1461 |
-
"d’édition de publication. Vous pouvez décider ce que les auteurs voient "
|
1462 |
-
"lorsqu’ils écrivent des publications. Vous pouvez <strong>masquer n’importe "
|
1463 |
-
"quelle fonctionnalité sur les écrans de Gutenberg ou de l’Éditeur classique</"
|
1464 |
-
"strong>."
|
1465 |
-
|
1466 |
-
#. Found in description list item.
|
1467 |
-
msgid ""
|
1468 |
-
"<strong>Hide editor features</strong>: Decide what users see when they're "
|
1469 |
-
"writing posts in Gutenberg or the Classic Editor."
|
1470 |
-
msgstr ""
|
1471 |
-
"<strong>Masquer les fonctionnalités de l’éditeur</strong> : décidez ce que "
|
1472 |
-
"les utilisateurs voient lorsqu’ils écrivent des publications dans Gutenberg "
|
1473 |
-
"ou dans l’éditeur classique."
|
1474 |
-
|
1475 |
-
#. Found in description list item.
|
1476 |
-
msgid ""
|
1477 |
-
"<strong>Multisite support</strong>: Manage permissions on a single site or "
|
1478 |
-
"across your whole network."
|
1479 |
-
msgstr ""
|
1480 |
-
"<strong>Support multisite</strong> : gérez les permissions sur un seul site "
|
1481 |
-
"ou sur l’ensemble de votre réseau."
|
1482 |
-
|
1483 |
-
#. Found in description list item.
|
1484 |
-
msgid ""
|
1485 |
-
"<strong>WooCommerce permissions</strong>: Control access to WooCommerce "
|
1486 |
-
"products, orders, coupons and more."
|
1487 |
-
msgstr ""
|
1488 |
-
"<strong>Les droits WooCommerce</strong> : Contrôlez l’accès aux produits "
|
1489 |
-
"WooCommerce, aux commandes, aux code promo et plus encore."
|
1490 |
-
|
1491 |
-
#. Found in description list item.
|
1492 |
-
msgid ""
|
1493 |
-
"<strong>Media library permissions</strong>: Decide who can upload, edit and "
|
1494 |
-
"delete files."
|
1495 |
-
msgstr ""
|
1496 |
-
"<strong>Permissions de la médiathèque</strong> : décidez qui peut "
|
1497 |
-
"télécharger, modifier et supprimer des fichiers."
|
1498 |
-
|
1499 |
-
#. Found in description list item.
|
1500 |
-
msgid ""
|
1501 |
-
"<strong>Admin menus (Pro version)</strong>: Stop users from accessing any "
|
1502 |
-
"admin menu link."
|
1503 |
-
msgstr ""
|
1504 |
-
"<strong>Menus d’administration (version Pro)</strong> : empêchez les "
|
1505 |
-
"utilisateurs d’accéder aux liens du menu d’administration."
|
1506 |
-
|
1507 |
-
#. Found in description list item.
|
1508 |
-
msgid ""
|
1509 |
-
"<strong>Frontend menus (Pro version)</strong>: Stop users from accessing any "
|
1510 |
-
"frontend menu link."
|
1511 |
-
msgstr ""
|
1512 |
-
"<strong> Menus de l’interface publique (Pro version) </strong> : empêchez "
|
1513 |
-
"les utilisateurs d’accéder aux liens du menu de l’interface publique."
|
1514 |
-
|
1515 |
-
#. Found in description list item.
|
1516 |
-
msgid ""
|
1517 |
-
"<strong>Create or copy user roles</strong>: Add new roles, or clone existing "
|
1518 |
-
"roles."
|
1519 |
-
msgstr ""
|
1520 |
-
"<strong>Créer ou copier des rôles utilisateur</strong> : ajoutez de nouveaux "
|
1521 |
-
"rôles ou clonez des rôles existants."
|
1522 |
-
|
1523 |
-
#. Found in description list item.
|
1524 |
-
msgid ""
|
1525 |
-
"<strong>Safe backups</strong>: Every time you change your permissions, "
|
1526 |
-
"PublishPress Capabilities saves a backup."
|
1527 |
-
msgstr ""
|
1528 |
-
"<strong>Sauvegardes sécurisées</strong> : chaque fois que vous modifiez vos "
|
1529 |
-
"permissions, PublishPress Capabilities enregistre une sauvegarde."
|
1530 |
-
|
1531 |
-
#. Found in description list item.
|
1532 |
-
msgid ""
|
1533 |
-
"<strong>Works for all taxonomies</strong>: Choose who can Manage, Edit and "
|
1534 |
-
"Assign terms in any taxonomy."
|
1535 |
-
msgstr ""
|
1536 |
-
"<strong>Fonctionne pour toutes les taxonomies</strong> : choisissez qui peut "
|
1537 |
-
"gérer, modifier et attribuer des termes dans n’importe quelle taxonomie."
|
1538 |
-
|
1539 |
-
#. Found in description list item.
|
1540 |
-
msgid ""
|
1541 |
-
"<strong>Works for all post types</strong>: Choose who can Publish, Read, "
|
1542 |
-
"Edit and Delete content for any post type."
|
1543 |
-
msgstr ""
|
1544 |
-
"<strong>Fonctionne pour tous les types de publication</strong> : choisissez "
|
1545 |
-
"qui peut publier, lire, modifier et supprimer du contenu pour tout type de "
|
1546 |
-
"publication."
|
1547 |
-
|
1548 |
-
#. Found in description list item.
|
1549 |
-
msgid ""
|
1550 |
-
"<strong>User role editor</strong>: You can change the capabilities for any "
|
1551 |
-
"role."
|
1552 |
-
msgstr ""
|
1553 |
-
"<strong>Éditeur de rôle utilisateur</strong> : vous pouvez modifier les "
|
1554 |
-
"fonctionnalités de n’importe quel rôle."
|
1555 |
-
|
1556 |
-
#. Found in description header.
|
1557 |
-
msgid "9. Frontend Menu Restrictions (Pro version)"
|
1558 |
-
msgstr "#7. Limitations de l’interface publique (Pro version)"
|
1559 |
-
|
1560 |
-
#. Found in description header.
|
1561 |
-
msgid "The Key Features of PublishPress Capabilities"
|
1562 |
-
msgstr "Les principales caractéristiques de PublishPress Capabilities"
|
1563 |
-
|
1564 |
-
#. Found in description paragraph.
|
1565 |
-
msgid ""
|
1566 |
-
"<a href=\"https://publishpress.com/knowledge-base/multisite-network/\">Click "
|
1567 |
-
"here to learn about multisite permissions</a>."
|
1568 |
-
msgstr ""
|
1569 |
-
"<a href=\"https://publishpress.com/knowledge-base/multisite-network/"
|
1570 |
-
"\">Cliquez ici pour en savoir plus sur les permissions multisites.</a>."
|
1571 |
-
|
1572 |
-
#. Found in description paragraph.
|
1573 |
-
msgid ""
|
1574 |
-
"PublishPress Capabilities allows you to control permissions on a single site "
|
1575 |
-
"or across your whole network. Every time you update permissions in "
|
1576 |
-
"PublishPress Capabilities, you can choose to sync those changes across your "
|
1577 |
-
"multisite network."
|
1578 |
-
msgstr ""
|
1579 |
-
"PublishPress Capabilities vous permet de contrôler les permissions sur un "
|
1580 |
-
"seul site ou sur l’ensemble de votre réseau. Chaque fois que vous mettez à "
|
1581 |
-
"jour les permissions dans PublishPress Capabilities, vous pouvez choisir de "
|
1582 |
-
"synchroniser ces changements sur votre réseau multisite."
|
1583 |
-
|
1584 |
-
#. Found in description paragraph.
|
1585 |
-
msgid ""
|
1586 |
-
"<a href=\"https://publishpress.com/knowledge-base/woocommerce-permissons/"
|
1587 |
-
"\">Click here to learn about WooCommerce permissions</a>."
|
1588 |
-
msgstr ""
|
1589 |
-
"<a href=\"https://publishpress.com/knowledge-base/woocommerce-permissons/"
|
1590 |
-
"\">Cliquez ici pour en savoir plus sur les permissions WooCommerce</a>."
|
1591 |
-
|
1592 |
-
#. Found in description paragraph.
|
1593 |
-
msgid ""
|
1594 |
-
"We mentioned earlier that PublishPress Capabilities has special support for "
|
1595 |
-
"WooCommerce taxonomies. This is true for the rest of WooCommerce also. With "
|
1596 |
-
"PublishPress Capabilities you can control permissions for WooCommerce "
|
1597 |
-
"products, orders and coupons."
|
1598 |
-
msgstr ""
|
1599 |
-
"Nous avons mentionné précédemment que PublishPress prend en charge les "
|
1600 |
-
"taxonomies WooCommerce. Cela est également vrai pour le reste de "
|
1601 |
-
"WooCommerce. PublishPress Capabilities vous permet de contrôler les droits "
|
1602 |
-
"pour les produits, les commandes et les code promo WooCommerce."
|
1603 |
-
|
1604 |
-
#. Found in description paragraph.
|
1605 |
-
msgid ""
|
1606 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-media-library-"
|
1607 |
-
"access/\">Click here to learn about Media Library permissions</a>."
|
1608 |
-
msgstr ""
|
1609 |
-
"<a href=\"https://publishpress.com/knowledge-base/control-media-library-"
|
1610 |
-
"access/\">Cliquez ici pour en savoir plus sur les permissions de la "
|
1611 |
-
"médiathèque</a>."
|
1612 |
-
|
1613 |
-
#. Found in description paragraph.
|
1614 |
-
msgid ""
|
1615 |
-
"PublishPress Capabilities enables you to decide who can upload, edit and "
|
1616 |
-
"delete files from your site's Media Library. By default, only Administrators "
|
1617 |
-
"are able to delete files in your Media Library. Subscribers and Contributors "
|
1618 |
-
"are not even allowed to upload files. You can customize these permissions "
|
1619 |
-
"for the Media Library and also the Featured Image box."
|
1620 |
-
msgstr ""
|
1621 |
-
"PublishPress Capabilities vous permet de décider qui peut télécharger, "
|
1622 |
-
"modifier et supprimer des fichiers de la médiathèque de votre site. Par "
|
1623 |
-
"défaut, seuls les administrateurs peuvent supprimer des fichiers de votre "
|
1624 |
-
"médiathèque. Les abonnés et les contributeurs ne sont même pas autorisés à "
|
1625 |
-
"télécharger des fichiers. Vous pouvez personnaliser ces permissions pour la "
|
1626 |
-
"médiathèque ainsi que la zone image mise en avant."
|
1627 |
-
|
1628 |
-
#. Found in description paragraph.
|
1629 |
-
msgid ""
|
1630 |
-
"<a href=\"https://publishpress.com/knowledge-base/admin-menus/\">Click to "
|
1631 |
-
"see how to block Admin menu access</a>."
|
1632 |
-
msgstr ""
|
1633 |
-
"<a href=\"https://publishpress.com/knowledge-base/admin-menus/\">Cliquez "
|
1634 |
-
"pour voir comment bloquer l’accès au menu d’administration</a>."
|
1635 |
-
|
1636 |
-
#. Found in description paragraph.
|
1637 |
-
msgid ""
|
1638 |
-
"With PublishPress Capabilities you can restrict access to admin menu screens "
|
1639 |
-
"by user roles. This is useful because many plugin do not have any way to "
|
1640 |
-
"control who can access their admin screens."
|
1641 |
-
msgstr ""
|
1642 |
-
"PublishPress Capabilities vous permet de restreindre l’accès aux écrans du "
|
1643 |
-
"menu d’administration par rôles d’utilisateur. Ceci est utile car de "
|
1644 |
-
"nombreuses extensions n’ont aucun moyen de contrôler qui peut accéder à "
|
1645 |
-
"leurs écrans d’administration."
|
1646 |
-
|
1647 |
-
#. Found in description paragraph.
|
1648 |
-
msgid ""
|
1649 |
-
"<a href=\"https://publishpress.com/knowledge-base/nav-menus/\">Click to see "
|
1650 |
-
"how to block frontend menu access</a>."
|
1651 |
-
msgstr ""
|
1652 |
-
"<a href=\"https://publishpress.com/knowledge-base/nav-menus/\">Cliquez pour "
|
1653 |
-
"voir comment bloquer l’accès au menu de l’interface publique</a>."
|
1654 |
-
|
1655 |
-
#. Found in description paragraph.
|
1656 |
-
msgid ""
|
1657 |
-
"PublishPress Capabilities enables you to restrict access to navigation menus "
|
1658 |
-
"by roles, logged in and logged out users. This is useful because a default "
|
1659 |
-
"WordPress site does not give you way to control the visibility of your links."
|
1660 |
-
msgstr ""
|
1661 |
-
"PublishPress Capabilities vous permet de restreindre l’accès aux menus de "
|
1662 |
-
"navigation par rôles, utilisateurs connectés et déconnectés. Ceci est utile "
|
1663 |
-
"car un site WordPress par défaut ne vous permet pas de contrôler la "
|
1664 |
-
"visibilité de vos liens."
|
1665 |
-
|
1666 |
-
#. Found in description paragraph.
|
1667 |
-
msgid ""
|
1668 |
-
"<a href=\"https://publishpress.com/knowledge-base/create-or-copy-user-roles/"
|
1669 |
-
"\">Click here to see how to create or copy user roles</a>."
|
1670 |
-
msgstr ""
|
1671 |
-
"<a href=\"https://publishpress.com/knowledge-base/create-or-copy-user-roles/"
|
1672 |
-
"\">Cliquez ici pour voir comment créer ou copier des rôles d’utilisateur</a>."
|
1673 |
-
|
1674 |
-
#. Found in description paragraph.
|
1675 |
-
msgid ""
|
1676 |
-
"With PublishPress Capabilities you can create or copy any existing WordPress "
|
1677 |
-
"user role. These roles can be customized in exactly the same way as the "
|
1678 |
-
"default WordPress roles. These new roles can be added to single sites or to "
|
1679 |
-
"an entire multisite network."
|
1680 |
-
msgstr ""
|
1681 |
-
"Avec PublishPress Capabilities, vous pouvez créer ou copier n’importe quel "
|
1682 |
-
"rôle d’utilisateur WordPress existant. Ces rôles peuvent être personnalisés "
|
1683 |
-
"exactement de la même manière que les rôles WordPress par défaut. Ces "
|
1684 |
-
"nouveaux rôles peuvent être ajoutés à des sites uniques ou à un réseau "
|
1685 |
-
"multisite entier."
|
1686 |
-
|
1687 |
-
#. Found in description paragraph.
|
1688 |
-
msgid ""
|
1689 |
-
"<a href=\"https://publishpress.com/knowledge-base/backup-restore-permissions/"
|
1690 |
-
"\">Click here to see how to backup permissions</a>."
|
1691 |
-
msgstr ""
|
1692 |
-
"<a href=\"https://publishpress.com/knowledge-base/backup-restore-permissions/"
|
1693 |
-
"\">Cliquez ici pour voir comment sauvegarder les permissions</a>."
|
1694 |
-
|
1695 |
-
#. Found in description paragraph.
|
1696 |
-
msgid ""
|
1697 |
-
"Every time you change your permissions, the PublishPress Capabilities plugin "
|
1698 |
-
"will now automatically create a backup. If you make a mistake, go to the "
|
1699 |
-
"\"Backup\" menu link and you'll be able to roll back to a previous version."
|
1700 |
-
msgstr ""
|
1701 |
-
"Chaque fois que vous modifiez vos permissions, l’extension PublishPress "
|
1702 |
-
"Capabilities crée automatiquement une sauvegarde. Si vous faites une erreur, "
|
1703 |
-
"allez sur le lien du menu « Sauvegarde » et vous pourrez revenir à une "
|
1704 |
-
"version précédente."
|
1705 |
-
|
1706 |
-
#. Found in description paragraph.
|
1707 |
-
msgid ""
|
1708 |
-
"<a href=\"https://publishpress.com/knowledge-base/taxonomy-specific-"
|
1709 |
-
"capabilities/\">Click here to learn about taxonomy permissions</a>."
|
1710 |
-
msgstr ""
|
1711 |
-
"<a href=\"https://publishpress.com/knowledge-base/taxonomy-specific-"
|
1712 |
-
"capabilities/\">Cliquez ici pour en savoir plus sur les permissions de "
|
1713 |
-
"taxonomie</a>."
|
1714 |
-
|
1715 |
-
#. Found in description paragraph.
|
1716 |
-
msgid ""
|
1717 |
-
"PublishPress Capabilities enables you to add extra permissions to the "
|
1718 |
-
"taxonomies on your site. This feature includes the default Categories and "
|
1719 |
-
"Tags, but also applies to other taxonomies. For example, in WooCommerce you "
|
1720 |
-
"can apply custom permissions to Product categories, Product tags, and "
|
1721 |
-
"Product shipping classes. You can enforce and assign \"Manage\", \"Edit\" "
|
1722 |
-
"and \"Assign\" distinct capabilities for all your taxonomies."
|
1723 |
-
msgstr ""
|
1724 |
-
"PublishPress Capabilities vous permet d’ajouter des permissions "
|
1725 |
-
"supplémentaires aux taxonomies de votre site. Cette fonctionnalité inclut "
|
1726 |
-
"les catégories et les balises par défaut, mais s’applique également à "
|
1727 |
-
"d’autres taxonomies. Par exemple, dans WooCommerce, vous pouvez appliquer "
|
1728 |
-
"des permissions personnalisées aux catégories de produits, aux étiquettes de "
|
1729 |
-
"produits et aux classes d’expédition de produits. Vous pouvez appliquer et "
|
1730 |
-
"attribuer des fonctionnalités distinctes « Gérer », « Modifier » et "
|
1731 |
-
"« Attribuer » pour toutes vos taxonomies."
|
1732 |
-
|
1733 |
-
#. Found in description paragraph.
|
1734 |
-
msgid ""
|
1735 |
-
"<a href=\"https://publishpress.com/knowledge-base/custom-post-types-"
|
1736 |
-
"capability/\">Click here to see how to control post type permissions</a>."
|
1737 |
-
msgstr ""
|
1738 |
-
"<a href=\"https://publishpress.com/knowledge-base/custom-post-types-"
|
1739 |
-
"capability/\">Cliquez ici pour voir comment contrôler les permissions de "
|
1740 |
-
"type de publication</a>."
|
1741 |
-
|
1742 |
-
#. Found in description paragraph.
|
1743 |
-
msgid ""
|
1744 |
-
"Many WordPress users have sites with custom post types. This can be done "
|
1745 |
-
"using custom code, a theme, or with a plugin. No matter how your post type "
|
1746 |
-
"is created, PublishPress Capabilities lets you enforce and assign distinct "
|
1747 |
-
"capabilities for your post type."
|
1748 |
-
msgstr ""
|
1749 |
-
"De nombreux utilisateurs de WordPress ont des sites avec des types de "
|
1750 |
-
"publication personnalisés. Cela peut être fait à l’aide d’un code "
|
1751 |
-
"personnalisé, d’un thème ou d’une extension. Quelle que soit la manière dont "
|
1752 |
-
"votre type de publication est créé, PublishPress Capabilities vous permet "
|
1753 |
-
"d’appliquer et d’attribuer des permissions distinctes à votre type de "
|
1754 |
-
"publication."
|
1755 |
-
|
1756 |
-
#. Found in description paragraph.
|
1757 |
-
msgid ""
|
1758 |
-
"<a href=\"https://publishpress.com/knowledge-base/permissions-start/\">Click "
|
1759 |
-
"here for your quick start guide to PublishPress Capabilities</a>."
|
1760 |
-
msgstr ""
|
1761 |
-
"<a href=\"https://publishpress.com/knowledge-base/permissions-start/"
|
1762 |
-
"\">Cliquez ici pour accéder à votre guide de démarrage rapide de "
|
1763 |
-
"PublishPress Capabilities</a>."
|
1764 |
-
|
1765 |
-
#. Found in description paragraph.
|
1766 |
-
msgid ""
|
1767 |
-
"With the Capabilities plugin, you can choose who can Publish, Read, Edit and "
|
1768 |
-
"Delete content. You can choose permissions for posts, pages, custom content "
|
1769 |
-
"types, categories, tags, and more."
|
1770 |
-
msgstr ""
|
1771 |
-
"Avec Capabilities, vous pouvez choisir qui peut publier, lire, modifier et "
|
1772 |
-
"supprimer du contenu. Vous pouvez choisir des permissions pour les "
|
1773 |
-
"publications, les pages, les types de publication personnalisées, les "
|
1774 |
-
"catégories, les balises, etc."
|
1775 |
-
|
1776 |
-
#. Found in description paragraph.
|
1777 |
-
msgid ""
|
1778 |
-
"You can <strong>customize all your WordPress user roles</strong>, from "
|
1779 |
-
"Administrators and Editors to Authors, Contributors, Subscribers and custom "
|
1780 |
-
"roles. Each use role can have the exact permissions that your site needs."
|
1781 |
-
msgstr ""
|
1782 |
-
"Vous pouvez <strong>personnaliser tous les rôles d’utilisateur sur votre "
|
1783 |
-
"site</strong>, des administrateurs et éditeurs aux auteurs, contributeurs, "
|
1784 |
-
"abonnés et rôles personnalisés. Chaque rôle peut avoir les permissions "
|
1785 |
-
"exactes dont votre site a besoin."
|
1786 |
-
|
1787 |
-
#. Found in description paragraph.
|
1788 |
-
msgid ""
|
1789 |
-
"<a href=\"https://publishpress.com/capabilities/\">PublishPress "
|
1790 |
-
"Capabilities</a> gives you control over all the permissions on your "
|
1791 |
-
"WordPress site. We built this user role editor plugin so you have an EASY "
|
1792 |
-
"and POWERFUL way to manage users."
|
1793 |
-
msgstr ""
|
1794 |
-
"<a href=\"https://publishpress.com/capabilities/\">PublishPress "
|
1795 |
-
"Capabilities</a> vous permet de contrôler toutes les permissions sur votre "
|
1796 |
-
"site WordPress. Nous avons construit cette extension d’éditeur de rôle "
|
1797 |
-
"d’utilisateur afin que vous ayez un moyen facile et puissant de gérer les "
|
1798 |
-
"utilisateurs."
|
1799 |
-
|
1800 |
-
#. Found in description paragraph.
|
1801 |
-
msgid ""
|
1802 |
-
"Follow PublishPress on <a href=\"https://www.facebook.com/publishpress"
|
1803 |
-
"\">Facebook</a>, <a href=\"https://www.twitter.com/publishpresscom"
|
1804 |
-
"\">Twitter</a> and <a href=\"https://www.youtube.com/publishpress\">YouTube</"
|
1805 |
-
"a>."
|
1806 |
-
msgstr ""
|
1807 |
-
"Suivez PublishPress sur <a href=\"https://www.facebook.com/publishpress"
|
1808 |
-
"\">Facebook</a>, <a href=\"https://www.twitter.com/publishpresscom"
|
1809 |
-
"\">Twitter</a> et <a href=\"https://www.youtube.com/publishpress\">YouTube</"
|
1810 |
-
"a>."
|
1811 |
-
|
1812 |
-
#. Found in description paragraph.
|
1813 |
-
msgid ""
|
1814 |
-
"Bug reports for PublishPress Capabilities are welcomed in our <a href="
|
1815 |
-
"\"https://github.com/publishpress/publishpress-capabilities\">repository on "
|
1816 |
-
"GitHub</a>. Please note that GitHub is not a support forum, and that issues "
|
1817 |
-
"that aren't properly qualified as bugs will be closed."
|
1818 |
-
msgstr ""
|
1819 |
-
"Les rapports de bogues pour PublishPress Capabilities sont les bienvenus "
|
1820 |
-
"dans notre <a href=\"https://github.com/publishpress/publishpress-"
|
1821 |
-
"capabilities\">dépôt sur GitHub</a>. Veuillez noter que GitHub n’est pas un "
|
1822 |
-
"forum de support et que les problèmes qui ne sont pas correctement qualifiés "
|
1823 |
-
"de bogues seront fermés."
|
1824 |
-
|
1825 |
-
#. Found in description paragraph.
|
1826 |
-
msgid ""
|
1827 |
-
"Together, these plugins are a suite of powerful publishing tools for "
|
1828 |
-
"WordPress. If you need to create a professional workflow in WordPress, with "
|
1829 |
-
"moderation, revisions, permissions and more... then you should try "
|
1830 |
-
"PublishPress."
|
1831 |
-
msgstr ""
|
1832 |
-
"Ensemble, ces extensions constituent une suite d’outils de publication "
|
1833 |
-
"puissants pour WordPress. Si vous avez besoin de créer un flux de travail "
|
1834 |
-
"professionnel dans WordPress, avec modération, révisions, permissions et "
|
1835 |
-
"plus encore... alors vous devriez essayer PublishPress."
|
1836 |
-
|
1837 |
-
#. Found in description paragraph.
|
1838 |
-
msgid "Join PublishPress and you'll get access to these Pro plugins:"
|
1839 |
-
msgstr "Rejoignez PublishPress et vous aurez accès à ces extensions Pro : "
|
1840 |
-
|
1841 |
-
#. Found in description paragraph.
|
1842 |
-
msgid ""
|
1843 |
-
"The Pro versions of the PublishPress plugins are well worth your investment. "
|
1844 |
-
"The Pro versions have extra features and faster support. <a href=\"https://"
|
1845 |
-
"publishpress.com/pricing/\">Click here to join PublishPress</a>."
|
1846 |
-
msgstr ""
|
1847 |
-
"Les versions Pro des extensions PublishPress valent bien votre "
|
1848 |
-
"investissement. Les versions Pro ont des fonctionnalités supplémentaires et "
|
1849 |
-
"un support plus rapide. <a href=\"https://publishpress.com/pricing/"
|
1850 |
-
"\">Cliquez ici pour rejoindre PublishPress</a>."
|
1851 |
-
|
1852 |
-
#. Found in description paragraph.
|
1853 |
-
msgid ""
|
1854 |
-
"PublishPress Capabilities offers you the ability to back up and restore your "
|
1855 |
-
"permissions. This feature is very helpful if you want to test out changes on "
|
1856 |
-
"your site, or if you've installed a new plugin that has changed your site's "
|
1857 |
-
"permissions."
|
1858 |
-
msgstr ""
|
1859 |
-
"PublishPress Capabilities vous offre la possibilité de sauvegarder et de "
|
1860 |
-
"restaurer vos permissions. Cette fonctionnalité est très utile si vous "
|
1861 |
-
"souhaitez tester des modifications sur votre site ou si vous avez installé "
|
1862 |
-
"une nouvelle extension qui a modifié les permissions de votre site."
|
1863 |
-
|
1864 |
-
#. Found in description paragraph.
|
1865 |
-
msgid ""
|
1866 |
-
"PublishPress Capabilities is <strong>safe to use</strong>. Every time you "
|
1867 |
-
"change your site's permissions, this plugin will take a backup that you can "
|
1868 |
-
"restore if anything goes wrong. You can use these backups to migrate your "
|
1869 |
-
"roles and permissions from one site to another."
|
1870 |
-
msgstr ""
|
1871 |
-
"PublishPress Capabilities est <strong>sûr à utiliser</strong>. Chaque fois "
|
1872 |
-
"que vous modifiez les permissions de votre site, cette extension effectuera "
|
1873 |
-
"une sauvegarde que vous pourrez restaurer en cas de problème. Vous pouvez "
|
1874 |
-
"utiliser ces sauvegardes pour migrer vos rôles et permissions d’un site à un "
|
1875 |
-
"autre."
|
1876 |
-
|
1877 |
-
#. Found in description list item.
|
1878 |
-
msgid ""
|
1879 |
-
"<a href=\"https://publishpress.com/revisions\">PublishPress Revisions Pro</"
|
1880 |
-
"a> allows you to update your published pages with teamwork and precision."
|
1881 |
-
msgstr ""
|
1882 |
-
"<a href=\"https://publishpress.com/revisions\">PublishPress Revisions Pro</"
|
1883 |
-
"a> vous permet de mettre à jour vos pages publiées avec précision et travail "
|
1884 |
-
"d’équipe."
|
1885 |
-
|
1886 |
-
#. Found in description list item.
|
1887 |
-
msgid ""
|
1888 |
-
"<a href=\"https://publishpress.com/publishpress\">PublishPress Pro</a> is "
|
1889 |
-
"the plugin for managing and scheduling WordPress content."
|
1890 |
-
msgstr ""
|
1891 |
-
"<a href=\"https://publishpress.com/publishpress\">PublishPress Pro</a> est "
|
1892 |
-
"l’extension pour gérer et planifier les publications WordPress."
|
1893 |
-
|
1894 |
-
#. Found in description list item.
|
1895 |
-
msgid ""
|
1896 |
-
"<a href=\"https://publishpress.com/permissions\">PublishPress Permissions "
|
1897 |
-
"Pro</a> is the plugin for advanced WordPress permissions."
|
1898 |
-
msgstr ""
|
1899 |
-
"<a href=\"https://publishpress.com/permissions\">PublishPress Permissions "
|
1900 |
-
"Pro</a> est l’extension pour les permissions WordPress avancées."
|
1901 |
-
|
1902 |
-
#. Found in description list item.
|
1903 |
-
msgid ""
|
1904 |
-
"<a href=\"https://publishpress.com/checklists\">PublishPress Checklists Pro</"
|
1905 |
-
"a> enables you to define tasks that must be completed before content is "
|
1906 |
-
"published."
|
1907 |
-
msgstr ""
|
1908 |
-
"<a href=\"https://publishpress.com/checklists\">PublishPress Checklists Pro</"
|
1909 |
-
"a> vous permet de définir les tâches qui doivent être effectuées avant "
|
1910 |
-
"publier une publication."
|
1911 |
-
|
1912 |
-
#. Found in description list item.
|
1913 |
-
msgid ""
|
1914 |
-
"<a href=\"https://publishpress.com/capabilities\">PublishPress Capabilities "
|
1915 |
-
"Pro</a> is the plugin to manage your WordPress user roles, permissions, and "
|
1916 |
-
"capabilities."
|
1917 |
-
msgstr ""
|
1918 |
-
"<a href=\"https://publishpress.com/capabilities\">PublishPress Capabilities "
|
1919 |
-
"Pro</a> est l’extension pour gérer vos rôles, permissions et droits "
|
1920 |
-
"d’utilisateur WordPress."
|
1921 |
-
|
1922 |
-
#. Found in description list item.
|
1923 |
-
msgid ""
|
1924 |
-
"<a href=\"https://publishpress.com/authors\">PublishPress Authors Pro</a> "
|
1925 |
-
"allows you to add multiple authors and guest authors to WordPress posts."
|
1926 |
-
msgstr ""
|
1927 |
-
"<a href=\"https://publishpress.com/authors\">PublishPress Authors Pro</a> "
|
1928 |
-
"vous permet d’ajouter plusieurs auteurs et auteurs invités aux publications "
|
1929 |
-
"WordPress."
|
1930 |
-
|
1931 |
-
#. Found in description header.
|
1932 |
-
msgid "Follow the PublishPress team"
|
1933 |
-
msgstr "Suivez l’équipe de PublishPress"
|
1934 |
-
|
1935 |
-
#. Found in description header.
|
1936 |
-
msgid "Bug Reports"
|
1937 |
-
msgstr "Rapports de bogues"
|
1938 |
-
|
1939 |
-
#. Found in description header.
|
1940 |
-
msgid "Join PublishPress and get the Pro plugins"
|
1941 |
-
msgstr "Rejoignez PublishPress et obtenez les extensions Pro"
|
1942 |
-
|
1943 |
-
#. Found in description header.
|
1944 |
-
msgid "13. WordPress Multisite support"
|
1945 |
-
msgstr "#11. Prise en charge de WordPress multisite"
|
1946 |
-
|
1947 |
-
#. Found in description header.
|
1948 |
-
msgid "12. Support for WooCommerce Permissions"
|
1949 |
-
msgstr "#dix. Prise en charge des permissions WooCommerce"
|
1950 |
-
|
1951 |
-
#. Found in description header.
|
1952 |
-
msgid "11. Support for Media Library Permissions"
|
1953 |
-
msgstr "#9. Prise en charge des permissions de la médiathèque"
|
1954 |
-
|
1955 |
-
#. Found in description header.
|
1956 |
-
msgid "7. Backup and Restore User Roles and Capabilities"
|
1957 |
-
msgstr "#5. Rôles et permissions de sauvegarde et de restauration"
|
1958 |
-
|
1959 |
-
#. Found in description header.
|
1960 |
-
msgid "2. Capabilities for any Post Type"
|
1961 |
-
msgstr "#2. Permissions pour toutes les publications"
|
1962 |
-
|
1963 |
-
#. Found in changelog list item.
|
1964 |
-
msgid "Feature : New \"Admin Features\" screen #200"
|
1965 |
-
msgstr "Feature : New \"Admin Features\" screen #200"
|
1966 |
-
|
1967 |
-
#. Found in changelog list item.
|
1968 |
-
msgid "Change : Role Capabilities screen uses tabs"
|
1969 |
-
msgstr "Change : Role Capabilities screen uses tabs"
|
1970 |
-
|
1971 |
-
#. Found in changelog list item.
|
1972 |
-
msgid ""
|
1973 |
-
"Fixed : Some security scans flagged an unused file in external library "
|
1974 |
-
"\"chosen\". That file (and other developer documentation files) has been "
|
1975 |
-
"removed"
|
1976 |
-
msgstr ""
|
1977 |
-
"Fixed : Some security scans flagged an unused file in external library "
|
1978 |
-
"\"chosen\". That file (and other developer documentation files) has been "
|
1979 |
-
"removed"
|
1980 |
-
|
1981 |
-
#. Found in changelog list item.
|
1982 |
-
msgid ""
|
1983 |
-
"Perf : Sync role to all sites - Operation timed out on networks with ~100 "
|
1984 |
-
"sites "
|
1985 |
-
msgstr ""
|
1986 |
-
"Perf : Sync role to all sites - Operation timed out on networks with ~100 "
|
1987 |
-
"sites "
|
1988 |
-
|
1989 |
-
#. Found in changelog list item.
|
1990 |
-
msgid ""
|
1991 |
-
"Feature : Retain last role selection for Capabilities, Editor Features "
|
1992 |
-
"screens"
|
1993 |
-
msgstr ""
|
1994 |
-
"Feature : Retain last role selection for Capabilities, Editor Features "
|
1995 |
-
"screens"
|
1996 |
-
|
1997 |
-
#. Found in changelog list item.
|
1998 |
-
msgid ""
|
1999 |
-
"Fixed : PHP Warning if a role is stored without a valid capabilities array"
|
2000 |
-
msgstr ""
|
2001 |
-
"Fixed : PHP Warning if a role is stored without a valid capabilities array"
|
2002 |
-
|
2003 |
-
#. Found in changelog list item.
|
2004 |
-
msgid ""
|
2005 |
-
"Fixed : If Media \"Create\" capability is negated or un-negated, the "
|
2006 |
-
"corresponding upload_files checkbox (in Other WP Core Capabilities section) "
|
2007 |
-
"is not toggled, leading to an apparant update failure "
|
2008 |
-
msgstr ""
|
2009 |
-
"Fixed : If Media \"Create\" capability is negated or un-negated, the "
|
2010 |
-
"corresponding upload_files checkbox (in Other WP Core Capabilities section) "
|
2011 |
-
"is not toggled, leading to an apparant update failure "
|
2012 |
-
|
2013 |
-
#. Found in changelog list item.
|
2014 |
-
msgid ""
|
2015 |
-
"Fixed : If Media \"Create\" capability is selected / unselected by clicking "
|
2016 |
-
"Media caption or Create caption, the corresponding upload_files checkbox (in "
|
2017 |
-
"Other WP Core Capabilities section) is not toggled, leading to an apparant "
|
2018 |
-
"update failure"
|
2019 |
-
msgstr ""
|
2020 |
-
"Fixed : If Media \"Create\" capability is selected / unselected by clicking "
|
2021 |
-
"Media caption or Create caption, the corresponding upload_files checkbox (in "
|
2022 |
-
"Other WP Core Capabilities section) is not toggled, leading to an apparant "
|
2023 |
-
"update failure"
|
2024 |
-
|
2025 |
-
#. Found in changelog list item.
|
2026 |
-
msgid ""
|
2027 |
-
"Feature : Editor Features restriction (new screen to block editor elements "
|
2028 |
-
"per-role)"
|
2029 |
-
msgstr ""
|
2030 |
-
"Feature : Editor Features restriction (new screen to block editor elements "
|
2031 |
-
"per-role)"
|
2032 |
-
|
2033 |
-
#. Found in changelog list item.
|
2034 |
-
msgid ""
|
2035 |
-
"Change : Permissions - Hide / Unhide Role setting moved to Roles screen row "
|
2036 |
-
"actions"
|
2037 |
-
msgstr ""
|
2038 |
-
"Change : Permissions - Hide / Unhide Role setting moved to Roles screen row "
|
2039 |
-
"actions"
|
2040 |
-
|
2041 |
-
#. Found in changelog list item.
|
2042 |
-
msgid ""
|
2043 |
-
"Compat : PublishPress - Authors without publish capability could directly "
|
2044 |
-
"publish on the Calendar screen"
|
2045 |
-
msgstr ""
|
2046 |
-
"Compat : PublishPress - Authors without publish capability could directly "
|
2047 |
-
"publish on the Calendar screen"
|
2048 |
-
|
2049 |
-
#. Found in changelog list item.
|
2050 |
-
msgid "Fixed : Add New User - couldn't display password entry"
|
2051 |
-
msgstr "Fixed : Add New User - couldn't display password entry"
|
2052 |
-
|
2053 |
-
#. Found in changelog list item.
|
2054 |
-
msgid ""
|
2055 |
-
"Fixed : Fatal error on Capabilities screen if another plugin calls "
|
2056 |
-
"get_editable_roles() too early"
|
2057 |
-
msgstr ""
|
2058 |
-
"Fixed : Fatal error on Capabilities screen if another plugin calls "
|
2059 |
-
"get_editable_roles() too early"
|
2060 |
-
|
2061 |
-
#. Found in changelog list item.
|
2062 |
-
msgid ""
|
2063 |
-
"Fixed : Multisite - \"sync role to all sites\" did not work if main site ID "
|
2064 |
-
"is not 1"
|
2065 |
-
msgstr ""
|
2066 |
-
"Fixed : Multisite - \"sync role to all sites\" did not work if main site ID "
|
2067 |
-
"is not 1"
|
2068 |
-
|
2069 |
-
#. Found in changelog list item.
|
2070 |
-
msgid ""
|
2071 |
-
"Feature : Multisite - \"sync options to all sites\" checkbox. Copies \"use "
|
2072 |
-
"create_posts capability\", Type-Specific Capabilities, Taxonomy-Specific "
|
2073 |
-
"Capabilities, Detailed Taxonomy Capabilities settings "
|
2074 |
-
msgstr ""
|
2075 |
-
"Feature : Multisite - \"sync options to all sites\" checkbox. Copies \"use "
|
2076 |
-
"create_posts capability\", Type-Specific Capabilities, Taxonomy-Specific "
|
2077 |
-
"Capabilities, Detailed Taxonomy Capabilities settings "
|
2078 |
-
|
2079 |
-
#. Found in changelog list item.
|
2080 |
-
msgid "Fixed : Fatal error on plugin load if Administrator role does not exist"
|
2081 |
-
msgstr ""
|
2082 |
-
"Fixed : Fatal error on plugin load if Administrator role does not exist"
|
2083 |
-
|
2084 |
-
#. Found in changelog list item.
|
2085 |
-
msgid "Feature : Rename Role sidebar box on Capabilities screen"
|
2086 |
-
msgstr "Feature : Rename Role sidebar box on Capabilities screen"
|
2087 |
-
|
2088 |
-
#. Found in changelog list item.
|
2089 |
-
msgid ""
|
2090 |
-
"Change : Add New Role retains capitalization as entered for role title "
|
2091 |
-
"(otherwise applies proper case)"
|
2092 |
-
msgstr ""
|
2093 |
-
"Change : Add New Role retains capitalization as entered for role title "
|
2094 |
-
"(otherwise applies proper case)"
|
2095 |
-
|
2096 |
-
#. Found in changelog list item.
|
2097 |
-
msgid ""
|
2098 |
-
"Compat : PublishPress Permissions - \"Type-Specific Capabilities\" setting "
|
2099 |
-
"was not properly synchronized with Permissions > Settings > Core > "
|
2100 |
-
"Filtered Post Types"
|
2101 |
-
msgstr ""
|
2102 |
-
"Compat : PublishPress Permissions - \"Type-Specific Capabilities\" setting "
|
2103 |
-
"was not properly synchronized with Permissions > Settings > Core > "
|
2104 |
-
"Filtered Post Types"
|
2105 |
-
|
2106 |
-
#. Found in changelog list item.
|
2107 |
-
msgid ""
|
2108 |
-
"Fixed : PublishPress Permissions - Type / Taxonomy settings incorrectly "
|
2109 |
-
"synchronized under some conditions"
|
2110 |
-
msgstr ""
|
2111 |
-
"Fixed : PublishPress Permissions - Type / Taxonomy settings incorrectly "
|
2112 |
-
"synchronized under some conditions"
|
2113 |
-
|
2114 |
-
#. Found in changelog list item.
|
2115 |
-
msgid "Fixed : Upgrade menu links were not displayed"
|
2116 |
-
msgstr "Fixed : Upgrade menu links were not displayed"
|
2117 |
-
|
2118 |
-
#. Found in changelog list item.
|
2119 |
-
msgid "Fixed : Fatal error due to missing vendor library folder"
|
2120 |
-
msgstr "Fixed : Fatal error due to missing vendor library folder"
|
2121 |
-
|
2122 |
-
#. Found in changelog list item.
|
2123 |
-
msgid ""
|
2124 |
-
"Fixed : Language file load failure if plugin directory structure is non-"
|
2125 |
-
"standard"
|
2126 |
-
msgstr ""
|
2127 |
-
"Fixed : Language file load failure if plugin directory structure is non-"
|
2128 |
-
"standard"
|
2129 |
-
|
2130 |
-
#. Found in changelog list item.
|
2131 |
-
msgid ""
|
2132 |
-
"Fixed : Multisite - Incorrect menu display on sites where main site ID is "
|
2133 |
-
"not 1"
|
2134 |
-
msgstr ""
|
2135 |
-
"Fixed : Multisite - Incorrect menu display on sites where main site ID is "
|
2136 |
-
"not 1"
|
2137 |
-
|
2138 |
-
#. Found in changelog list item.
|
2139 |
-
msgid ""
|
2140 |
-
"Fixed : Media Create / upload_files capability could not be removed from role"
|
2141 |
-
msgstr ""
|
2142 |
-
"Fixed : Media Create / upload_files capability could not be removed from role"
|
2143 |
-
|
2144 |
-
#. Found in changelog list item.
|
2145 |
-
msgid ""
|
2146 |
-
"Compat : Advanced Gutenberg - include AG Profile capabilities in Editing, "
|
2147 |
-
"Deletion, Reading capabilities grid"
|
2148 |
-
msgstr ""
|
2149 |
-
"Compat : Advanced Gutenberg - include AG Profile capabilities in Editing, "
|
2150 |
-
"Deletion, Reading capabilities grid"
|
2151 |
-
|
2152 |
-
#. Found in changelog list item.
|
2153 |
-
msgid ""
|
2154 |
-
"Feature : Backup > Restore - filter to display only modified capabilities"
|
2155 |
-
msgstr ""
|
2156 |
-
"Feature : Backup > Restore - filter to display only modified capabilities"
|
2157 |
-
|
2158 |
-
#. Found in changelog list item.
|
2159 |
-
msgid "Feature : Improved design and styling for Backup and Restore"
|
2160 |
-
msgstr "Feature : Improved design and styling for Backup and Restore"
|
2161 |
-
|
2162 |
-
#. Found in changelog list item.
|
2163 |
-
msgid ""
|
2164 |
-
"Fixed : Review of role backup contents does not show name of current roles "
|
2165 |
-
"which would be removed by restoring backup"
|
2166 |
-
msgstr ""
|
2167 |
-
"Fixed : Review of role backup contents does not show name of current roles "
|
2168 |
-
"which would be removed by restoring backup"
|
2169 |
-
|
2170 |
-
#. Found in changelog list item.
|
2171 |
-
msgid ""
|
2172 |
-
"Fixed : Type-Specific Capabilities options included some non-public "
|
2173 |
-
"WordPress post types that don't support capability customization "
|
2174 |
-
msgstr ""
|
2175 |
-
"Fixed : Type-Specific Capabilities options included some non-public "
|
2176 |
-
"WordPress post types that don't support capability customization "
|
2177 |
-
|
2178 |
-
#. Found in changelog list item.
|
2179 |
-
msgid ""
|
2180 |
-
"Change : Backup > Restore - Preview displays \"No changes\" below role "
|
2181 |
-
"name where appropriate "
|
2182 |
-
msgstr ""
|
2183 |
-
"Change : Backup > Restore - Preview displays \"No changes\" below role "
|
2184 |
-
"name where appropriate "
|
2185 |
-
|
2186 |
-
#. Found in changelog list item.
|
2187 |
-
msgid ""
|
2188 |
-
"Fixed : Backup > Restore - Clicking label for Initial Backup jumped "
|
2189 |
-
"selection to Last Manual Backup"
|
2190 |
-
msgstr ""
|
2191 |
-
"Fixed : Backup > Restore - Clicking label for Initial Backup jumped "
|
2192 |
-
"selection to Last Manual Backup"
|
2193 |
-
|
2194 |
-
#. Found in changelog list item.
|
2195 |
-
msgid ""
|
2196 |
-
"Fixed : Backup > Restore - Negated capabilities were not displayed "
|
2197 |
-
"correctly in restore preview"
|
2198 |
-
msgstr ""
|
2199 |
-
"Fixed : Backup > Restore - Negated capabilities were not displayed "
|
2200 |
-
"correctly in restore preview"
|
2201 |
-
|
2202 |
-
#. Found in changelog list item.
|
2203 |
-
msgid ""
|
2204 |
-
"Fixed : PHP warning for invalid foreach argument, on sites with no "
|
2205 |
-
"active_plugins option stored"
|
2206 |
-
msgstr ""
|
2207 |
-
"Fixed : PHP warning for invalid foreach argument, on sites with no "
|
2208 |
-
"active_plugins option stored"
|
2209 |
-
|
2210 |
-
#. Found in changelog list item.
|
2211 |
-
msgid ""
|
2212 |
-
"Fixed : Invalid Capabilities - Brief explanatory caption; avoid false "
|
2213 |
-
"positives for post types with map_meta_cap disabled"
|
2214 |
-
msgstr ""
|
2215 |
-
"Fixed : Invalid Capabilities - Brief explanatory caption; avoid false "
|
2216 |
-
"positives for post types with map_meta_cap disabled"
|
2217 |
-
|
2218 |
-
#. Found in changelog list item.
|
2219 |
-
msgid ""
|
2220 |
-
"Fixed : uneditable bbPress roles could be opened for editing (require "
|
2221 |
-
"Capabilities Pro)"
|
2222 |
-
msgstr ""
|
2223 |
-
"Fixed : uneditable bbPress roles could be opened for editing (require "
|
2224 |
-
"Capabilities Pro)"
|
2225 |
-
|
2226 |
-
#. Found in changelog list item.
|
2227 |
-
msgid ""
|
2228 |
-
"Compat : bbPress - Forum, Topic and Reply capabilities were not displayed in "
|
2229 |
-
"Editing Capabilities grid"
|
2230 |
-
msgstr ""
|
2231 |
-
"Compat : bbPress - Forum, Topic and Reply capabilities were not displayed in "
|
2232 |
-
"Editing Capabilities grid"
|
2233 |
-
|
2234 |
-
#. Found in changelog list item.
|
2235 |
-
msgid ""
|
2236 |
-
"Change : Adjust some captions, variable names, more selective code execution"
|
2237 |
-
msgstr ""
|
2238 |
-
"Change : Adjust some captions, variable names, more selective code execution"
|
2239 |
-
|
2240 |
-
#. Found in changelog list item.
|
2241 |
-
msgid ""
|
2242 |
-
"Change : Capabilities screen - move some sidebar items to Settings screen"
|
2243 |
-
msgstr ""
|
2244 |
-
"Change : Capabilities screen - move some sidebar items to Settings screen"
|
2245 |
-
|
2246 |
-
#. Found in changelog list item.
|
2247 |
-
msgid ""
|
2248 |
-
"Change : Capabilities screen - move role selector to top left, eliminate "
|
2249 |
-
"load button"
|
2250 |
-
msgstr ""
|
2251 |
-
"Change : Capabilities screen - move role selector to top left, eliminate "
|
2252 |
-
"load button"
|
2253 |
-
|
2254 |
-
#. Found in changelog list item.
|
2255 |
-
msgid ""
|
2256 |
-
"Lang : Fixed handling, activated partial translations in German, Italian, "
|
2257 |
-
"Russian, Spanish, Swedish, Belarusian, Catalan"
|
2258 |
-
msgstr ""
|
2259 |
-
"Lang : Fixed handling, activated partial translations in German, Italian, "
|
2260 |
-
"Russian, Spanish, Swedish, Belarusian, Catalan"
|
2261 |
-
|
2262 |
-
#. Found in changelog list item.
|
2263 |
-
msgid "Feature : Multiple role assignment on Add / Edit User screen"
|
2264 |
-
msgstr "Feature : Multiple role assignment on Add / Edit User screen"
|
2265 |
-
|
2266 |
-
#. Found in changelog list item.
|
2267 |
-
msgid "Feature : Roles screen"
|
2268 |
-
msgstr "Feature : Roles screen"
|
2269 |
-
|
2270 |
-
#. Found in changelog list item.
|
2271 |
-
msgid ""
|
2272 |
-
"Fixed : Capabilities menu was displayed to non-Administrators with no items "
|
2273 |
-
"except \"Upgrade to Pro\""
|
2274 |
-
msgstr ""
|
2275 |
-
"Fixed : Capabilities menu was displayed to non-Administrators with no items "
|
2276 |
-
"except \"Upgrade to Pro\""
|
2277 |
-
|
2278 |
-
#. Found in changelog list item.
|
2279 |
-
msgid ""
|
2280 |
-
"Compat : PublishPress Permissions - Post Type selections for \"Type-Specific "
|
2281 |
-
"Capabilities\" were not synchronized with PublishPress Permissions under "
|
2282 |
-
"some conditions"
|
2283 |
-
msgstr ""
|
2284 |
-
"Compat : PublishPress Permissions - Post Type selections for \"Type-Specific "
|
2285 |
-
"Capabilities\" were not synchronized with PublishPress Permissions under "
|
2286 |
-
"some conditions"
|
2287 |
-
|
2288 |
-
#. Found in changelog list item.
|
2289 |
-
msgid ""
|
2290 |
-
"Fixed : Fatal error loading Capabilities screen on a small percentage of "
|
2291 |
-
"installations"
|
2292 |
-
msgstr ""
|
2293 |
-
"Fixed : Fatal error loading Capabilities screen on a small percentage of "
|
2294 |
-
"installations"
|
2295 |
-
|
2296 |
-
#. Found in changelog list item.
|
2297 |
-
msgid ""
|
2298 |
-
"Change : Apply workaround filters for WordPress edit_published_posts / "
|
2299 |
-
"publish_posts handling only for users who have edit_published_posts "
|
2300 |
-
"capability for current post type"
|
2301 |
-
msgstr ""
|
2302 |
-
"Change : Apply workaround filters for WordPress edit_published_posts / "
|
2303 |
-
"publish_posts handling only for users who have edit_published_posts "
|
2304 |
-
"capability for current post type"
|
2305 |
-
|
2306 |
-
#. Found in changelog list item.
|
2307 |
-
msgid ""
|
2308 |
-
"Change : Reinstate WordPress edit_published_posts workaround with correct "
|
2309 |
-
"status filtering behavior"
|
2310 |
-
msgstr ""
|
2311 |
-
"Change : Reinstate WordPress edit_published_posts workaround with correct "
|
2312 |
-
"status filtering behavior"
|
2313 |
-
|
2314 |
-
#. Found in changelog list item.
|
2315 |
-
msgid ""
|
2316 |
-
"Fixed : Checkbox bulk selection on Role Capabilities screen was incorrect "
|
2317 |
-
"under some conditions"
|
2318 |
-
msgstr ""
|
2319 |
-
"Fixed : Checkbox bulk selection on Role Capabilities screen was incorrect "
|
2320 |
-
"under some conditions"
|
2321 |
-
|
2322 |
-
#. Found in changelog list item.
|
2323 |
-
msgid ""
|
2324 |
-
"Fixed : Role name captions on Role Capabilities and Backup Tool screens "
|
2325 |
-
"could not be translated"
|
2326 |
-
msgstr ""
|
2327 |
-
"Fixed : Role name captions on Role Capabilities and Backup Tool screens "
|
2328 |
-
"could not be translated"
|
2329 |
-
|
2330 |
-
#. Found in changelog list item.
|
2331 |
-
msgid ""
|
2332 |
-
"Fixed : Multisite - On sub-sites, Role Capabilities screen did not display "
|
2333 |
-
"PublishPress Capabilities section to Super Administrators who don't have a "
|
2334 |
-
"role on the site"
|
2335 |
-
msgstr ""
|
2336 |
-
"Fixed : Multisite - On sub-sites, Role Capabilities screen did not display "
|
2337 |
-
"PublishPress Capabilities section to Super Administrators who don't have a "
|
2338 |
-
"role on the site"
|
2339 |
-
|
2340 |
-
#. Found in changelog list item.
|
2341 |
-
msgid ""
|
2342 |
-
"Fixed : Term Assign or Delete capabilities were not effective due to "
|
2343 |
-
"WordPress core forcing default capability requirement"
|
2344 |
-
msgstr ""
|
2345 |
-
"Fixed : Term Assign or Delete capabilities were not effective due to "
|
2346 |
-
"WordPress core forcing default capability requirement"
|
2347 |
-
|
2348 |
-
#. Found in changelog list item.
|
2349 |
-
msgid ""
|
2350 |
-
"Fixed : Category Assign or Delete capabilities were not effective due to "
|
2351 |
-
"WordPress core forcing default capability requirement"
|
2352 |
-
msgstr ""
|
2353 |
-
"Fixed : Category Assign or Delete capabilities were not effective due to "
|
2354 |
-
"WordPress core forcing default capability requirement"
|
2355 |
-
|
2356 |
-
#. Found in changelog list item.
|
2357 |
-
msgid ""
|
2358 |
-
"Fixed : Add Capability sidebar added custom capability to role immediately, "
|
2359 |
-
"but capability checkbox did not display as checked until reload"
|
2360 |
-
msgstr ""
|
2361 |
-
"Fixed : Add Capability sidebar added custom capability to role immediately, "
|
2362 |
-
"but capability checkbox did not display as checked until reload"
|
2363 |
-
|
2364 |
-
#. Found in changelog list item.
|
2365 |
-
msgid ""
|
2366 |
-
"Fixed : Browser reload caused Role Capabilities screen to display default "
|
2367 |
-
"role "
|
2368 |
-
msgstr ""
|
2369 |
-
"Fixed : Browser reload caused Role Capabilities screen to display default "
|
2370 |
-
"role "
|
2371 |
-
|
2372 |
-
#. Found in changelog list item.
|
2373 |
-
msgid ""
|
2374 |
-
"Feature : Role Capabilities screen links to PublishPress > Roles for "
|
2375 |
-
"member management"
|
2376 |
-
msgstr ""
|
2377 |
-
"Feature : Role Capabilities screen links to PublishPress > Roles for "
|
2378 |
-
"member management"
|
2379 |
-
|
2380 |
-
#. Found in changelog list item.
|
2381 |
-
msgid ""
|
2382 |
-
"Feature : Capabilities link on PublishPress > Roles row opens Role "
|
2383 |
-
"Capabilities screen"
|
2384 |
-
msgstr ""
|
2385 |
-
"Feature : Capabilities link on PublishPress > Roles row opens Role "
|
2386 |
-
"Capabilities screen"
|
2387 |
-
|
2388 |
-
#. Found in changelog list item.
|
2389 |
-
msgid "Change : Renamed to PublishPress Capabilities"
|
2390 |
-
msgstr "Change : Renamed to PublishPress Capabilities"
|
2391 |
-
|
2392 |
-
#. Found in changelog list item.
|
2393 |
-
msgid ""
|
2394 |
-
"Fixed : Create Role, Copy Role, and Add Capability sidebar functions did not "
|
2395 |
-
"work with ENTER keypress (caused screen reload without applying operation)"
|
2396 |
-
msgstr ""
|
2397 |
-
"Fixed : Create Role, Copy Role, and Add Capability sidebar functions did not "
|
2398 |
-
"work with ENTER keypress (caused screen reload without applying operation)"
|
2399 |
-
|
2400 |
-
#. Found in changelog list item.
|
2401 |
-
msgid ""
|
2402 |
-
"Fixed : Capability Negation (Denial) bulk unselect link was ambiguous due to "
|
2403 |
-
"missing strikethrough"
|
2404 |
-
msgstr ""
|
2405 |
-
"Fixed : Capability Negation (Denial) bulk unselect link was ambiguous due to "
|
2406 |
-
"missing strikethrough"
|
2407 |
-
|
2408 |
-
#. Found in changelog list item.
|
2409 |
-
msgid ""
|
2410 |
-
"Fixed : Plugin capability sections - pp_set_notification_channel and "
|
2411 |
-
"pp_manage_roles were included in both PublishPress and PublishPress "
|
2412 |
-
"Permissions sections"
|
2413 |
-
msgstr ""
|
2414 |
-
"Fixed : Plugin capability sections - pp_set_notification_channel and "
|
2415 |
-
"pp_manage_roles were included in both PublishPress and PublishPress "
|
2416 |
-
"Permissions sections"
|
2417 |
|
2418 |
-
|
2419 |
-
msgid ""
|
2420 |
-
"
|
2421 |
-
|
2422 |
-
|
2423 |
-
"
|
2424 |
-
"
|
2425 |
-
|
2426 |
-
|
2427 |
-
msgid ""
|
2428 |
-
"
|
2429 |
-
|
2430 |
-
|
2431 |
-
"
|
2432 |
-
"
|
2433 |
-
|
2434 |
-
|
2435 |
-
msgid ""
|
2436 |
-
"
|
2437 |
-
|
2438 |
-
|
2439 |
-
"
|
2440 |
-
"
|
2441 |
-
|
2442 |
-
|
2443 |
-
msgid "
|
2444 |
-
msgstr "
|
2445 |
-
|
2446 |
-
|
2447 |
-
msgid ""
|
2448 |
-
"
|
2449 |
-
|
2450 |
-
|
2451 |
-
|
2452 |
-
|
2453 |
-
|
2454 |
-
|
2455 |
-
|
2456 |
-
"
|
2457 |
-
|
2458 |
-
|
2459 |
-
|
2460 |
-
|
2461 |
-
|
2462 |
-
|
2463 |
-
|
2464 |
-
|
2465 |
-
|
2466 |
-
|
2467 |
-
|
2468 |
-
|
2469 |
-
|
2470 |
-
|
2471 |
-
|
2472 |
-
"
|
2473 |
-
"
|
2474 |
-
|
2475 |
-
|
2476 |
-
"
|
2477 |
-
|
2478 |
-
|
2479 |
-
|
2480 |
-
|
2481 |
-
|
2482 |
-
|
2483 |
-
|
2484 |
-
|
2485 |
-
|
2486 |
-
|
2487 |
-
|
2488 |
-
"
|
2489 |
-
"
|
2490 |
-
|
2491 |
-
|
2492 |
-
"
|
2493 |
-
|
2494 |
-
|
2495 |
-
|
2496 |
-
"
|
2497 |
-
"
|
2498 |
-
|
2499 |
-
|
2500 |
-
"
|
2501 |
-
|
2502 |
-
|
2503 |
-
|
2504 |
-
|
2505 |
-
|
2506 |
-
|
2507 |
-
|
2508 |
-
|
2509 |
-
|
2510 |
-
|
2511 |
-
"
|
2512 |
-
|
2513 |
-
|
2514 |
-
|
2515 |
-
msgid ""
|
2516 |
-
"
|
2517 |
-
|
2518 |
-
|
2519 |
-
|
2520 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2521 |
|
2522 |
-
|
2523 |
-
msgid ""
|
2524 |
-
"
|
2525 |
-
"the definition"
|
2526 |
-
msgstr ""
|
2527 |
-
"Fixed : If a unique edit/delete capability is already defined, don't change "
|
2528 |
-
"the definition"
|
2529 |
-
|
2530 |
-
#. Found in changelog list item.
|
2531 |
-
msgid ""
|
2532 |
-
"Feature : Work around WordPress issue allowing users with "
|
2533 |
-
"edit_published_posts (but not publish_posts) to unpublish published posts"
|
2534 |
-
msgstr ""
|
2535 |
-
"Feature : Work around WordPress issue allowing users with "
|
2536 |
-
"edit_published_posts (but not publish_posts) to unpublish published posts"
|
2537 |
|
2538 |
-
|
2539 |
-
msgid ""
|
2540 |
-
"
|
2541 |
-
"edit_published_posts (but not publish_posts) capability from updating "
|
2542 |
-
"published posts (https://core.trac.wordpress.org/ticket/47443)"
|
2543 |
-
msgstr ""
|
2544 |
-
"Feature : Work around WordPress issue preventing users with "
|
2545 |
-
"edit_published_posts (but not publish_posts) capability from updating "
|
2546 |
-
"published posts (https://core.trac.wordpress.org/ticket/47443)"
|
2547 |
|
2548 |
-
|
2549 |
-
msgid ""
|
2550 |
-
|
2551 |
-
"filter to register their capabilities "
|
2552 |
-
msgstr ""
|
2553 |
-
"Feature : Plugin API - plugins can hook into \"cme_plugin_capabilities\" "
|
2554 |
-
"filter to register their capabilities "
|
2555 |
|
2556 |
-
|
2557 |
-
msgid ""
|
2558 |
-
|
2559 |
-
"sections on role editor screen"
|
2560 |
-
msgstr ""
|
2561 |
-
"Feature : WooCommerce, PublishPress, PressPermit capabilities grouped in "
|
2562 |
-
"sections on role editor screen"
|
2563 |
|
2564 |
-
|
2565 |
-
|
2566 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2567 |
|
2568 |
-
|
2569 |
-
msgid ""
|
2570 |
-
|
2571 |
-
"Capabilities\" if Press Permit Core is active, otherwise \"Users > "
|
2572 |
-
"Capabilities\")"
|
2573 |
-
msgstr ""
|
2574 |
-
"Change : Revert menu captions to previous behavior (\"Permissions > Role "
|
2575 |
-
"Capabilities\" if Press Permit Core is active, otherwise \"Users > "
|
2576 |
-
"Capabilities\")"
|
2577 |
|
2578 |
-
|
2579 |
-
msgid ""
|
2580 |
-
|
2581 |
-
"Administrator role level is set to 0"
|
2582 |
-
msgstr ""
|
2583 |
-
"Change : Don't allow non-Administrator to edit Administrators, even if "
|
2584 |
-
"Administrator role level is set to 0"
|
2585 |
|
2586 |
-
|
2587 |
-
msgid "
|
2588 |
-
msgstr "
|
2589 |
|
2590 |
-
|
2591 |
-
msgid ""
|
2592 |
-
"
|
2593 |
-
"with role editing capability)"
|
2594 |
-
msgstr ""
|
2595 |
-
"Fixed : Potential vulnerability in wp-admin (but exposure was only to users "
|
2596 |
-
"with role editing capability)"
|
2597 |
|
2598 |
-
|
2599 |
-
msgid ""
|
2600 |
-
"
|
2601 |
-
"is activated"
|
2602 |
-
msgstr ""
|
2603 |
-
"Compat : PHP 7.2 - warning for deprecated function if a second copy of CME "
|
2604 |
-
"is activated"
|
2605 |
|
2606 |
-
|
2607 |
-
msgid "
|
2608 |
-
msgstr "
|
2609 |
|
2610 |
-
|
2611 |
-
|
2612 |
-
|
|
|
2613 |
|
2614 |
-
|
2615 |
-
|
2616 |
-
"
|
2617 |
-
msgstr ""
|
2618 |
-
"Feature : When roles are manually backed up, also retain initial role backup"
|
2619 |
|
2620 |
-
|
2621 |
-
msgid ""
|
2622 |
-
"
|
2623 |
-
"update"
|
2624 |
-
msgstr ""
|
2625 |
-
"Feature : Automatically save backup of WP roles on plugin activation or "
|
2626 |
-
"update"
|
2627 |
|
2628 |
-
|
2629 |
-
msgid ""
|
2630 |
-
"
|
2631 |
-
"Capabilities screen"
|
2632 |
-
msgstr ""
|
2633 |
-
"Change : Links to Related Permissions Plugins in sidebar on Roles and "
|
2634 |
-
"Capabilities screen"
|
2635 |
|
2636 |
-
|
2637 |
-
msgid "
|
2638 |
-
msgstr "
|
2639 |
|
2640 |
-
|
2641 |
-
msgid "
|
2642 |
-
msgstr "
|
2643 |
|
2644 |
-
|
2645 |
-
msgid "
|
2646 |
-
msgstr "
|
2647 |
|
2648 |
-
|
2649 |
-
msgid ""
|
2650 |
-
"
|
2651 |
-
msgstr ""
|
2652 |
-
"Feature : Link to Backup Tool from sidebar of Roles and Capabilities screen"
|
2653 |
|
2654 |
-
|
2655 |
-
msgid ""
|
2656 |
-
"
|
2657 |
-
"make Woo honor it"
|
2658 |
-
msgstr ""
|
2659 |
-
"Feature : WooCommerce - If current user has duplicate_products capability, "
|
2660 |
-
"make Woo honor it"
|
2661 |
|
2662 |
-
|
2663 |
-
|
2664 |
-
|
|
|
2665 |
|
2666 |
-
|
2667 |
-
msgid "
|
2668 |
-
msgstr "
|
2669 |
|
2670 |
-
|
2671 |
-
msgid ""
|
2672 |
-
"
|
2673 |
-
msgstr ""
|
2674 |
-
"Feature : Additional save button at top of Roles and Capabilities screen!"
|
2675 |
|
2676 |
-
|
2677 |
-
msgid ""
|
2678 |
-
"
|
2679 |
-
"warning and instant fix link "
|
2680 |
-
msgstr ""
|
2681 |
-
"Feature : If read capability is missing from a standard role, display "
|
2682 |
-
"warning and instant fix link "
|
2683 |
|
2684 |
-
|
2685 |
-
msgid ""
|
2686 |
-
"
|
2687 |
-
msgstr ""
|
2688 |
-
"Feature : Prevent read capability from being removed from a standard role"
|
2689 |
|
2690 |
-
|
2691 |
-
msgid "
|
2692 |
-
msgstr "
|
2693 |
|
2694 |
-
|
2695 |
-
msgid ""
|
2696 |
-
"
|
2697 |
-
"if role has no WP admin / edit capabilities, or if it has "
|
2698 |
-
"\"dashboard_lockout_ok\" capability"
|
2699 |
-
msgstr ""
|
2700 |
-
"Change : Lockout safeguard (preventing read capability removal) is bypassed "
|
2701 |
-
"if role has no WP admin / edit capabilities, or if it has "
|
2702 |
-
"\"dashboard_lockout_ok\" capability"
|
2703 |
|
2704 |
-
|
2705 |
-
msgid ""
|
2706 |
-
"
|
2707 |
-
"edit_shop_orders / create_shop_orders capability"
|
2708 |
-
msgstr ""
|
2709 |
-
"Feature : WooCommerce - Ensure orders can be edited or added based on "
|
2710 |
-
"edit_shop_orders / create_shop_orders capability"
|
2711 |
|
2712 |
-
|
2713 |
-
msgid ""
|
2714 |
-
"
|
2715 |
-
"causes term assign, edit and deletion capabilities to be required and "
|
2716 |
-
"credited separate from management capability"
|
2717 |
-
msgstr ""
|
2718 |
-
"Feature : New right sidebar setting: \"Detailed Taxonomy Capabilities\" "
|
2719 |
-
"causes term assign, edit and deletion capabilities to be required and "
|
2720 |
-
"credited separate from management capability"
|
2721 |
|
2722 |
-
|
2723 |
-
msgid ""
|
2724 |
-
"
|
2725 |
-
"ensures a distinct manage capability for selected taxonomies"
|
2726 |
-
msgstr ""
|
2727 |
-
"Feature : New right sidebar setting: \"Taxonomy-Specific Capabilities\" "
|
2728 |
-
"ensures a distinct manage capability for selected taxonomies"
|
2729 |
|
2730 |
-
|
2731 |
-
msgid ""
|
2732 |
-
"
|
2733 |
-
"selected post types (without activating Press Permit Core)."
|
2734 |
-
msgstr ""
|
2735 |
-
"Feature : New right sidebar setting: \"Type-Specific Capabilities\" for "
|
2736 |
-
"selected post types (without activating Press Permit Core)."
|
2737 |
|
2738 |
-
|
2739 |
-
msgid ""
|
2740 |
-
"
|
2741 |
-
"Capabilities with Press Permit Core < 2.7"
|
2742 |
-
msgstr ""
|
2743 |
-
"Fixed : Press Permit integration - cannot load Permissions > Role "
|
2744 |
-
"Capabilities with Press Permit Core < 2.7"
|
2745 |
|
2746 |
-
|
2747 |
-
msgid ""
|
2748 |
-
"
|
2749 |
-
"Order\" submenu could not access Posts, Pages, Products or any other Post "
|
2750 |
-
"Type listing. This occurred if \"use create_posts\" option enabled and user "
|
2751 |
-
"lacks the create capability for Orders. "
|
2752 |
-
msgstr ""
|
2753 |
-
"Compat : WooCommerce integration - Users lacking access to the \"Add New "
|
2754 |
-
"Order\" submenu could not access Posts, Pages, Products or any other Post "
|
2755 |
-
"Type listing. This occurred if \"use create_posts\" option enabled and user "
|
2756 |
-
"lacks the create capability for Orders. "
|
2757 |
|
2758 |
-
|
2759 |
-
msgid ""
|
2760 |
-
"
|
2761 |
-
"with WooCommerce active"
|
2762 |
-
msgstr ""
|
2763 |
-
"Fixed : PHP Notices on Roles and Capabilities screen for non-Administrator "
|
2764 |
-
"with WooCommerce active"
|
2765 |
|
2766 |
-
|
2767 |
-
msgid ""
|
2768 |
-
"
|
2769 |
-
"post type if user lacks create capability for the post type and there are no "
|
2770 |
-
"other accessible items on the menu."
|
2771 |
-
msgstr ""
|
2772 |
-
"Fixed : Work around WP quirk of completely blocking admin page access for a "
|
2773 |
-
"post type if user lacks create capability for the post type and there are no "
|
2774 |
-
"other accessible items on the menu."
|
2775 |
|
2776 |
-
|
2777 |
-
msgid ""
|
2778 |
-
"
|
2779 |
-
"checked, saved, then unchecked)."
|
2780 |
-
msgstr ""
|
2781 |
-
"Fixed : Negative role capabilities could not be directly unset (had to be "
|
2782 |
-
"checked, saved, then unchecked)."
|
2783 |
|
2784 |
-
|
2785 |
-
msgid ""
|
2786 |
-
"
|
2787 |
-
"forced into stored role definition (and could not be removed)."
|
2788 |
-
msgstr ""
|
2789 |
-
"Fixed : On some sites, capabilities added dynamically by other code were "
|
2790 |
-
"forced into stored role definition (and could not be removed)."
|
2791 |
|
2792 |
-
|
2793 |
-
msgid "
|
2794 |
-
msgstr "
|
2795 |
|
2796 |
-
|
2797 |
-
|
2798 |
-
|
|
|
2799 |
|
2800 |
-
|
2801 |
-
msgid "
|
2802 |
-
msgstr "
|
2803 |
|
2804 |
-
|
2805 |
-
msgid "
|
2806 |
-
msgstr "
|
2807 |
|
2808 |
-
|
2809 |
-
msgid "
|
2810 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2811 |
|
2812 |
-
|
2813 |
-
msgid "
|
2814 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2815 |
|
2816 |
-
|
2817 |
-
msgid "
|
2818 |
-
msgstr "
|
2819 |
|
2820 |
-
|
2821 |
-
msgid "
|
2822 |
-
msgstr "
|
2823 |
|
2824 |
-
#.
|
2825 |
-
msgid "
|
2826 |
-
msgstr "
|
2827 |
|
2828 |
-
#.
|
2829 |
-
|
2830 |
-
|
|
|
2831 |
|
2832 |
-
#.
|
2833 |
-
msgid "
|
2834 |
-
msgstr "
|
2835 |
|
2836 |
-
#.
|
2837 |
-
msgid "
|
2838 |
-
msgstr "
|
2839 |
|
2840 |
-
#.
|
2841 |
-
msgid "
|
2842 |
-
msgstr "
|
2843 |
|
2844 |
-
|
2845 |
-
msgid "
|
2846 |
-
msgstr "
|
2847 |
|
2848 |
-
|
2849 |
-
msgid "
|
2850 |
-
msgstr "
|
2851 |
|
2852 |
-
|
2853 |
-
msgid "
|
2854 |
-
msgstr "
|
2855 |
|
2856 |
-
|
2857 |
-
msgid "
|
2858 |
-
msgstr ""
|
2859 |
-
"Cannot assign to users a role with more capabilities than current user."
|
2860 |
|
2861 |
-
|
2862 |
-
msgid "
|
2863 |
-
msgstr "
|
2864 |
|
2865 |
-
|
2866 |
-
msgid ""
|
2867 |
-
"
|
2868 |
-
"administrators."
|
2869 |
-
msgstr ""
|
2870 |
-
"Fixed a bug where administrators could not create or manage other "
|
2871 |
-
"administrators."
|
2872 |
|
2873 |
-
|
2874 |
-
msgid "
|
2875 |
-
msgstr "
|
2876 |
|
2877 |
-
|
2878 |
-
msgid ""
|
2879 |
-
"
|
2880 |
-
msgstr ""
|
2881 |
-
"Reduce memory usage by loading framework and plugin code only when needed"
|
2882 |
|
2883 |
-
|
2884 |
-
msgid ""
|
2885 |
-
"
|
2886 |
-
"specific role assignment"
|
2887 |
-
msgstr ""
|
2888 |
-
"Show capabilities which Press Permit adds to the role by supplemental type-"
|
2889 |
-
"specific role assignment"
|
2890 |
|
2891 |
-
|
2892 |
-
msgid ""
|
2893 |
-
"
|
2894 |
-
"PP filtering (which forces type-specific capability definitions)"
|
2895 |
-
msgstr ""
|
2896 |
-
"Press Permit integration: externally (dis)enable Post Types, Taxonomies for "
|
2897 |
-
"PP filtering (which forces type-specific capability definitions)"
|
2898 |
|
2899 |
-
|
2900 |
-
msgid "
|
2901 |
-
msgstr "
|
2902 |
|
2903 |
-
|
2904 |
-
msgid ""
|
2905 |
-
"
|
2906 |
-
msgstr ""
|
2907 |
-
"Don't allow a non-Administrator to add or remove a capability they don't have"
|
2908 |
|
2909 |
-
|
2910 |
-
msgid "
|
2911 |
-
msgstr "
|
2912 |
|
2913 |
-
|
2914 |
-
msgid "
|
2915 |
-
msgstr "
|
2916 |
|
2917 |
-
|
2918 |
-
msgid "
|
2919 |
-
msgstr "
|
2920 |
|
2921 |
-
|
2922 |
-
msgid ""
|
2923 |
-
"
|
2924 |
-
"repopulate PP capabilities (pp_manage_settings, etc.)"
|
2925 |
-
msgstr ""
|
2926 |
-
"Press Permit integration: if role definitions are reset to WP defaults, also "
|
2927 |
-
"repopulate PP capabilities (pp_manage_settings, etc.)"
|
2928 |
|
2929 |
-
|
2930 |
-
msgid "
|
2931 |
-
msgstr "
|
2932 |
|
2933 |
-
|
2934 |
msgid ""
|
2935 |
-
"
|
2936 |
-
"
|
2937 |
-
"beta1.4)"
|
2938 |
msgstr ""
|
2939 |
-
"
|
2940 |
-
"
|
2941 |
-
"beta1.4)"
|
2942 |
-
|
2943 |
-
#. Found in changelog list item.
|
2944 |
-
msgid "Language: updated .pot file"
|
2945 |
-
msgstr "Language: updated .pot file"
|
2946 |
|
2947 |
-
|
2948 |
-
msgid ""
|
2949 |
-
"
|
2950 |
-
"last saved capability set so they can be reinstated if necessary (currently "
|
2951 |
-
"for bbPress)"
|
2952 |
-
msgstr ""
|
2953 |
-
"Press Permit integration: automatically store a backup copy of each role's "
|
2954 |
-
"last saved capability set so they can be reinstated if necessary (currently "
|
2955 |
-
"for bbPress)"
|
2956 |
|
2957 |
-
|
2958 |
-
msgid ""
|
2959 |
-
"
|
2960 |
-
"even if it was defined to the be same as cap->edit_posts"
|
2961 |
-
msgstr ""
|
2962 |
-
"Fixed : Separate checkbox was displayed for cap->edit_published_posts "
|
2963 |
-
"even if it was defined to the be same as cap->edit_posts"
|
2964 |
|
2965 |
-
|
2966 |
-
msgid ""
|
2967 |
-
"
|
2968 |
-
msgstr ""
|
2969 |
-
"Fixed : Menu item change to \"Role Capabilities\" broke existing translations"
|
2970 |
|
2971 |
-
|
2972 |
-
msgid "
|
2973 |
-
msgstr "
|
2974 |
|
2975 |
-
|
2976 |
-
msgid ""
|
2977 |
-
"
|
2978 |
-
"Group, highlight it as green with a descriptive caption title, but leave "
|
2979 |
-
"checkbox enabled for display/editing of role defintion setting (previous "
|
2980 |
-
"behavior caused capability to be stripped out of WP role definition under "
|
2981 |
-
"some PP configurations)"
|
2982 |
-
msgstr ""
|
2983 |
-
"Press Permit integration: If capability is granted by the role's Permit "
|
2984 |
-
"Group, highlight it as green with a descriptive caption title, but leave "
|
2985 |
-
"checkbox enabled for display/editing of role defintion setting (previous "
|
2986 |
-
"behavior caused capability to be stripped out of WP role definition under "
|
2987 |
-
"some PP configurations)"
|
2988 |
|
2989 |
-
|
2990 |
-
msgid ""
|
2991 |
-
"
|
2992 |
-
"checkbox selection"
|
2993 |
-
msgstr ""
|
2994 |
-
"Fixed : Capability labels in \"Other WordPress\" section did not toggle "
|
2995 |
-
"checkbox selection"
|
2996 |
|
2997 |
-
|
2998 |
-
msgid "
|
2999 |
-
msgstr "
|
3000 |
|
3001 |
-
|
3002 |
-
msgid ""
|
3003 |
-
"
|
3004 |
-
"corrupted"
|
3005 |
-
msgstr ""
|
3006 |
-
"Fixed : Role update and copy failed if currently stored capability array is "
|
3007 |
-
"corrupted"
|
3008 |
|
3009 |
-
|
3010 |
-
msgid ""
|
3011 |
-
"
|
3012 |
-
"properly maintained on bbPress activation / deactivation, in some scenarios"
|
3013 |
-
msgstr ""
|
3014 |
-
"Compat : Press Permit + bbPress - customized role capabilities were not "
|
3015 |
-
"properly maintained on bbPress activation / deactivation, in some scenarios"
|
3016 |
|
3017 |
-
|
3018 |
-
|
3019 |
-
"
|
3020 |
-
"
|
3021 |
-
msgstr ""
|
3022 |
-
"Compat : bbPress 2.2 (supports customization of dynamic forum role "
|
3023 |
-
"capabilities)"
|
3024 |
|
3025 |
-
|
3026 |
-
msgid ""
|
3027 |
-
"
|
3028 |
-
"\" was not saved"
|
3029 |
-
msgstr ""
|
3030 |
-
"Compat : Press Permit - flagging of roles as \"supplemental assignment only"
|
3031 |
-
"\" was not saved"
|
3032 |
|
3033 |
-
|
3034 |
-
msgid ""
|
3035 |
-
|
3036 |
-
"on a bbPress role, caused creation of an invalid role"
|
3037 |
-
msgstr ""
|
3038 |
-
"Compat : bbPress + Press Permit - \"Add Capability\" form failed when used "
|
3039 |
-
"on a bbPress role, caused creation of an invalid role"
|
3040 |
|
3041 |
-
|
3042 |
-
msgid ""
|
3043 |
-
"
|
3044 |
-
"newly created and copied roles, regardless of checkbox setting near Create/"
|
3045 |
-
"Copy button"
|
3046 |
-
msgstr ""
|
3047 |
-
"Compat : Press Permit - \"supplemental only\" option was always enabled for "
|
3048 |
-
"newly created and copied roles, regardless of checkbox setting near Create/"
|
3049 |
-
"Copy button"
|
3050 |
|
3051 |
-
|
3052 |
-
msgid ""
|
3053 |
-
"
|
3054 |
-
"textbox caused the checkbox to be available but not selected"
|
3055 |
-
msgstr ""
|
3056 |
-
"Compat : bbPress + Press Permit - Adding a capability via the \"Add Cap\" "
|
3057 |
-
"textbox caused the checkbox to be available but not selected"
|
3058 |
|
3059 |
-
|
3060 |
-
msgid ""
|
3061 |
-
"
|
3062 |
-
"not redisplayed following save, required reload"
|
3063 |
-
msgstr ""
|
3064 |
-
"Compat : bbPress + Press Permit - Modified bbPress role capabilities were "
|
3065 |
-
"not redisplayed following save, required reload"
|
3066 |
|
3067 |
-
|
3068 |
-
msgid ""
|
3069 |
-
|
3070 |
-
"create_posts capabilities (requires Press Permit)"
|
3071 |
-
msgstr ""
|
3072 |
-
"Feature : \"Use create_posts capability\" checkbox in sidebar auto-defines "
|
3073 |
-
"create_posts capabilities (requires Press Permit)"
|
3074 |
|
3075 |
-
|
3076 |
-
msgid ""
|
3077 |
-
"
|
3078 |
-
"a column alongside edit_posts"
|
3079 |
-
msgstr ""
|
3080 |
-
"Feature : If create_posts capabilities are defined, organize checkboxes into "
|
3081 |
-
"a column alongside edit_posts"
|
3082 |
|
3083 |
-
|
3084 |
-
msgid ""
|
3085 |
-
"
|
3086 |
-
"installations"
|
3087 |
-
msgstr ""
|
3088 |
-
"Fixed : Role capabilities were not updated / refreshed properly on multisite "
|
3089 |
-
"installations"
|
3090 |
|
3091 |
-
|
3092 |
-
msgid ""
|
3093 |
-
"
|
3094 |
-
"project folder"
|
3095 |
-
msgstr ""
|
3096 |
-
"Change : Reduced download size by moving screenshots to assets folder of "
|
3097 |
-
"project folder"
|
3098 |
|
3099 |
-
|
3100 |
-
msgid "
|
3101 |
-
msgstr "
|
3102 |
|
3103 |
-
|
3104 |
-
msgid "
|
3105 |
-
msgstr "
|
3106 |
|
3107 |
-
|
3108 |
-
msgid ""
|
3109 |
-
|
3110 |
-
msgstr ""
|
3111 |
-
"Compat : Press Permit - \"supplemental only\" option stored redundant entries"
|
3112 |
|
3113 |
-
|
3114 |
-
msgid ""
|
3115 |
-
"
|
3116 |
-
"settings update"
|
3117 |
-
msgstr ""
|
3118 |
-
"Compat : Press Permit - PHP Warning on \"Force Type-Specific Capabilities\" "
|
3119 |
-
"settings update"
|
3120 |
|
3121 |
-
|
3122 |
-
msgid "
|
3123 |
-
msgstr "
|
3124 |
|
3125 |
-
|
3126 |
-
msgid "
|
3127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3128 |
|
3129 |
-
|
3130 |
-
msgid ""
|
3131 |
-
"
|
3132 |
-
"usage by 0.6 MB)"
|
3133 |
-
msgstr ""
|
3134 |
-
"Perf : Eliminated unused framework code (reduced typical wp-admin memory "
|
3135 |
-
"usage by 0.6 MB)"
|
3136 |
|
3137 |
-
|
3138 |
-
msgid ""
|
3139 |
-
"
|
3140 |
-
"info"
|
3141 |
-
msgstr ""
|
3142 |
-
"Change : Press Permit promotional message includes link to display further "
|
3143 |
-
"info"
|
3144 |
|
3145 |
-
|
3146 |
-
msgid ""
|
3147 |
-
"
|
3148 |
-
"use by PP Pro as a Pattern Role (when PP Collaborative Editing is activated "
|
3149 |
-
"and Advanced Settings enabled)"
|
3150 |
-
msgstr ""
|
3151 |
-
"Compat : Press Permit - if a role is marked as hidden, also default it for "
|
3152 |
-
"use by PP Pro as a Pattern Role (when PP Collaborative Editing is activated "
|
3153 |
-
"and Advanced Settings enabled)"
|
3154 |
|
3155 |
-
|
3156 |
-
msgid "
|
3157 |
-
msgstr "
|
3158 |
|
3159 |
-
|
3160 |
-
msgid ""
|
3161 |
-
"
|
3162 |
-
"defined"
|
3163 |
-
msgstr ""
|
3164 |
-
"Fixed : Term deletion capability was not included in taxonomies grid even if "
|
3165 |
-
"defined"
|
3166 |
|
3167 |
-
|
3168 |
-
msgid "
|
3169 |
-
msgstr "
|
3170 |
|
3171 |
-
|
3172 |
-
msgid ""
|
3173 |
-
"
|
3174 |
-
"screen"
|
3175 |
-
msgstr ""
|
3176 |
-
"Fixed : Role reset to WP defaults did not work, caused a PHP error / white "
|
3177 |
-
"screen"
|
3178 |
|
3179 |
-
|
3180 |
-
msgid ""
|
3181 |
-
"
|
3182 |
-
"super admin status"
|
3183 |
-
msgstr ""
|
3184 |
-
"Feature : Backup / Restore tool requires \"restore_roles\" capability or "
|
3185 |
-
"super admin status"
|
3186 |
|
3187 |
-
|
3188 |
-
msgid ""
|
3189 |
-
"
|
3190 |
-
"network"
|
3191 |
-
msgstr ""
|
3192 |
-
"Feature : Multisite - Copy a role definition to new (future) sites on a "
|
3193 |
-
"network"
|
3194 |
|
3195 |
-
|
3196 |
-
msgid ""
|
3197 |
-
"
|
3198 |
-
"network"
|
3199 |
-
msgstr ""
|
3200 |
-
"Feature : Multisite - Copy a role definition to all current sites on a "
|
3201 |
-
"network"
|
3202 |
|
3203 |
-
|
3204 |
-
msgid ""
|
3205 |
-
|
3206 |
-
"false value)"
|
3207 |
-
msgstr ""
|
3208 |
-
"Feature : Support negative capabilities (storage to wp_roles array with "
|
3209 |
-
"false value)"
|
3210 |
|
3211 |
-
|
3212 |
-
msgid ""
|
3213 |
-
|
3214 |
-
"users a role with a higher level than their own (including Administrator)"
|
3215 |
-
msgstr ""
|
3216 |
-
"Fixed : Non-administrators with user editing capabilities could give new "
|
3217 |
-
"users a role with a higher level than their own (including Administrator)"
|
3218 |
|
3219 |
-
|
3220 |
-
msgid ""
|
3221 |
-
"
|
3222 |
-
|
3223 |
-
|
3224 |
-
|
3225 |
-
|
3226 |
-
|
3227 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3228 |
|
3229 |
-
|
3230 |
-
msgid "
|
3231 |
-
msgstr "
|
3232 |
|
3233 |
-
|
3234 |
-
msgid "
|
3235 |
-
msgstr "
|
3236 |
|
3237 |
-
|
3238 |
-
msgid "
|
3239 |
-
msgstr "
|
3240 |
|
3241 |
-
|
3242 |
-
msgid ""
|
3243 |
-
"
|
3244 |
-
"installations"
|
3245 |
-
msgstr ""
|
3246 |
-
"Fixed : CSS caused formatting issues around wp-admin Update button on some "
|
3247 |
-
"installations"
|
3248 |
|
3249 |
-
|
3250 |
-
msgid ""
|
3251 |
-
|
3252 |
-
"with user editing capabilities could create/edit/delete Administrators. "
|
3253 |
-
"Administrator role is now implicitly treated as level 10."
|
3254 |
-
msgstr ""
|
3255 |
-
"Change : If user_level of Administrator role was cleared, non-Administrators "
|
3256 |
-
"with user editing capabilities could create/edit/delete Administrators. "
|
3257 |
-
"Administrator role is now implicitly treated as level 10."
|
3258 |
|
3259 |
-
|
3260 |
-
msgid ""
|
3261 |
-
"
|
3262 |
-
"capsman_get_capabilities or members_get_capabilities filter"
|
3263 |
-
msgstr ""
|
3264 |
-
"Compat : Support third party display of available capabilities via "
|
3265 |
-
"capsman_get_capabilities or members_get_capabilities filter"
|
3266 |
|
3267 |
-
|
3268 |
-
msgid ""
|
3269 |
-
"
|
3270 |
-
"Press Permit Core is inactive when CME deletes a role definition"
|
3271 |
-
msgstr ""
|
3272 |
-
"Compat : Press Permit Core - Permission Group refresh was not triggered if "
|
3273 |
-
"Press Permit Core is inactive when CME deletes a role definition"
|
3274 |
|
3275 |
-
|
3276 |
-
msgid ""
|
3277 |
-
"
|
3278 |
-
"demoted to Subscriber inappropriately"
|
3279 |
-
msgstr ""
|
3280 |
-
"Fixed : Deletion of a third party plugin role could cause users to be "
|
3281 |
-
"demoted to Subscriber inappropriately"
|
3282 |
|
3283 |
-
|
3284 |
-
msgid ""
|
3285 |
-
"
|
3286 |
-
"capability could give new users an Administrator role (since 1.5.2) "
|
3287 |
-
msgstr ""
|
3288 |
-
"Fixed : On single-site installations, non-Administrators with delete_users "
|
3289 |
-
"capability could give new users an Administrator role (since 1.5.2) "
|
3290 |
|
3291 |
-
|
3292 |
-
msgid "
|
3293 |
-
msgstr "
|
3294 |
|
3295 |
-
|
3296 |
-
msgid ""
|
3297 |
-
"
|
3298 |
-
"(define constant CME_LEGACY_USER_EDIT_FILTER to retain previous behavior)"
|
3299 |
-
msgstr ""
|
3300 |
-
"Fixed : Non-administrators could not assign their role to other users "
|
3301 |
-
"(define constant CME_LEGACY_USER_EDIT_FILTER to retain previous behavior)"
|
3302 |
|
3303 |
-
|
3304 |
-
msgid ""
|
3305 |
-
"
|
3306 |
-
"(define constant CME_LEGACY_USER_EDIT_FILTER to retain previous behavior)"
|
3307 |
-
msgstr ""
|
3308 |
-
"Fixed : Non-administrators could not edit other users with their role "
|
3309 |
-
"(define constant CME_LEGACY_USER_EDIT_FILTER to retain previous behavior)"
|
3310 |
|
3311 |
-
|
3312 |
-
|
3313 |
-
|
3314 |
-
|
3315 |
-
|
3316 |
-
|
3317 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Translation of Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable (latest release) in French (France)
|
2 |
+
# This file is distributed under the same license as the Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable (latest release)\n"
|
|
|
6 |
"POT-Creation-Date: \n"
|
7 |
+
"PO-Revision-Date: 2022-02-28 12:10+0100\n"
|
8 |
"Last-Translator: \n"
|
9 |
+
"Language-Team: Angelo Giammarresi - info@wocmultimedia.com\n"
|
10 |
"Language: fr\n"
|
11 |
"MIME-Version: 1.0\n"
|
12 |
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
"Content-Transfer-Encoding: 8bit\n"
|
14 |
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
15 |
+
"X-Generator: Poedit 3.0.1\n"
|
16 |
|
17 |
+
#: includes/roles/class/class-pp-roles-actions.php:248
|
18 |
+
msgid "The new role %s was created successfully."
|
19 |
+
msgstr "Le nouveau rôle %s a été créé avec succès."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
#: includes/roles/class/class-pp-roles-actions.php:204
|
22 |
+
msgid "The role \"%s\" already exists. Please choose a different name."
|
23 |
+
msgstr "Le rôle « %s » existe déjà. Veuillez choisir un autre nom."
|
24 |
+
|
25 |
+
#: includes/roles/class/class-pp-roles-actions.php:192
|
26 |
+
msgid "Invalid role name entry: %s"
|
27 |
+
msgstr "Entrée de nom de rôle invalide : %s"
|
28 |
+
|
29 |
+
#: includes/manager.php:508 includes/manager.php:530
|
30 |
+
msgid "You do not have permission to manage admin features."
|
31 |
+
msgstr "Vous n’avez pas le droit de gérer les fonctionnalités d’administration."
|
32 |
+
|
33 |
+
#: includes/features/restrict-admin-features.php:133
|
34 |
+
msgid "Welcome panel"
|
35 |
+
msgstr "Panneau d’accueil"
|
36 |
+
|
37 |
+
#: includes/features/restrict-admin-features.php:84
|
38 |
+
msgid "Version %s"
|
39 |
+
msgstr "Version %s"
|
40 |
+
|
41 |
+
#: includes/features/restrict-admin-features.php:83
|
42 |
+
msgid "Thank you for creating with WordPress"
|
43 |
+
msgstr "Merci de faire de WordPress votre outil de création"
|
44 |
+
|
45 |
+
#: includes/features/restrict-admin-features.php:69
|
46 |
+
msgid "Yoast SEO"
|
47 |
+
msgstr "Yoast SEO"
|
48 |
+
|
49 |
+
#: includes/features/restrict-admin-features.php:68
|
50 |
+
msgid "User Display Name"
|
51 |
+
msgstr "Nom affiché de l’utilisateur/utilisatrice"
|
52 |
+
|
53 |
+
#: includes/features/restrict-admin-features.php:66
|
54 |
+
#: includes/features/restrict-admin-features.php:67
|
55 |
+
msgid "New"
|
56 |
+
msgstr "Ajouter nouveau"
|
57 |
+
|
58 |
+
#: includes/features/restrict-admin-features.php:65
|
59 |
+
msgid "User actions"
|
60 |
+
msgstr "Actions de l’utilisateur ou utilisatrice"
|
61 |
+
|
62 |
+
#: includes/features/restrict-admin-features.php:64
|
63 |
+
msgid "Right bar"
|
64 |
+
msgstr "Barre de droite"
|
65 |
+
|
66 |
+
#: includes/features/restrict-admin-features.php:63
|
67 |
+
msgid "Comments"
|
68 |
+
msgstr "Commentaires"
|
69 |
+
|
70 |
+
#: includes/features/restrict-admin-features.php:62
|
71 |
+
msgid "Updates"
|
72 |
+
msgstr "Mises à jour"
|
73 |
+
|
74 |
+
#: includes/features/restrict-admin-features.php:61
|
75 |
+
msgid "WordPress External Links"
|
76 |
+
msgstr "Liens externes de WordPress"
|
77 |
+
|
78 |
+
#: includes/features/restrict-admin-features.php:60
|
79 |
+
msgid "WordPress Logo"
|
80 |
+
msgstr "Logo de WordPress"
|
81 |
+
|
82 |
+
#: includes/features/restrict-admin-features.php:59
|
83 |
+
msgid "Mobile Menu Toggle"
|
84 |
+
msgstr "Ouvrir/fermer le menu mobile"
|
85 |
+
|
86 |
+
#: includes/features/restrict-admin-features.php:22
|
87 |
+
msgid "Dashboard widgets"
|
88 |
+
msgstr "Widgets de tableau de bord"
|
89 |
+
|
90 |
+
#: includes/features/restrict-admin-features.php:19
|
91 |
+
msgid "Admin Toolbar"
|
92 |
+
msgstr "Barre d’outils de l’administration"
|
93 |
+
|
94 |
+
#: includes/features/restrict-admin-features.php:16
|
95 |
+
msgid "Header and Footer"
|
96 |
+
msgstr "En-tête et pied de page"
|
97 |
+
|
98 |
+
#: includes/features/admin-features.php:53
|
99 |
+
msgid "Note: You are only restricting access to admin features screens. Some plugins may also add features to other areas of WordPress."
|
100 |
+
msgstr "Note : Vous ne limitez l’accès qu’aux écrans des fonctionnalités d’administration. Certaines extensions peuvent également ajouter des fonctionnalités à d’autres zones de WordPress."
|
101 |
+
|
102 |
+
#: includes/features/admin-features.php:37
|
103 |
+
msgid "Admin Feature Restrictions"
|
104 |
+
msgstr "Restrictions des fonctionnalités administratives"
|
105 |
+
|
106 |
+
#: includes/backup.php:320 includes/features/admin-features.php:236
|
107 |
+
#: includes/features/editor-features.php:143
|
108 |
+
msgid "Click here to install PublishPress Permissions"
|
109 |
+
msgstr "Cliquez ici pour installer PublishPress Permissions"
|
110 |
+
|
111 |
+
#: includes/backup.php:317 includes/features/admin-features.php:233
|
112 |
+
#: includes/features/editor-features.php:140
|
113 |
+
msgid "PublishPress Permissions is 100% free to install."
|
114 |
+
msgstr "PublishPress Permissions est 100% gratuit à installer."
|
115 |
+
|
116 |
+
#: includes/backup.php:316 includes/features/admin-features.php:232
|
117 |
+
#: includes/features/editor-features.php:139
|
118 |
+
msgid "Allow specific user roles or users to manage each post."
|
119 |
+
msgstr "Autorisez des rôles d’utilisateur ou utilisatrices et des utilisateurs ou utilisatrices spécifiques à gérer chaque publication."
|
120 |
+
|
121 |
+
#: includes/backup.php:315 includes/features/admin-features.php:231
|
122 |
+
#: includes/features/editor-features.php:138
|
123 |
+
msgid "Choose who can read and edit each post."
|
124 |
+
msgstr "Choisissez qui peut lire et modifier chaque publication."
|
125 |
+
|
126 |
+
#: includes/backup.php:313 includes/features/admin-features.php:229
|
127 |
+
#: includes/features/editor-features.php:136
|
128 |
+
msgid "Control permissions for individual posts and pages"
|
129 |
+
msgstr "Contrôlez les autorisations pour les publications et les pages individuelles"
|
130 |
+
|
131 |
+
#: includes/backup.php:312 includes/features/admin-features.php:228
|
132 |
+
#: includes/features/editor-features.php:135
|
133 |
+
msgid "Recommendations for you"
|
134 |
+
msgstr "Des recommandations pour vous"
|
135 |
+
|
136 |
+
#: includes/admin.php:848
|
137 |
+
msgid "Plugin Capabilities – %s"
|
138 |
+
msgstr "Plugin Capabilities – %s"
|
139 |
+
|
140 |
+
#: includes/admin.php:729 includes/admin.php:854 includes/admin.php:1048
|
141 |
+
msgid "No results found. Please try again with a different word."
|
142 |
+
msgstr "Aucun résultat trouvé. Veuillez réessayer avec un autre mot."
|
143 |
+
|
144 |
+
#: includes/admin.php:726 includes/admin.php:851 includes/admin.php:1045
|
145 |
+
msgid "Filter by capability"
|
146 |
+
msgstr "Filtrer par permission"
|
147 |
+
|
148 |
+
#: includes/admin.php:723
|
149 |
+
msgid "WordPress Core Capabilities"
|
150 |
+
msgstr "Permissions de base de WordPress"
|
151 |
+
|
152 |
+
#: includes/admin.php:539 includes/admin.php:727 includes/admin.php:852
|
153 |
+
#: includes/admin.php:1046
|
154 |
+
msgid "Clear"
|
155 |
+
msgstr "Effacer"
|
156 |
+
|
157 |
+
#: includes/admin.php:536
|
158 |
+
msgid "Filter by post type"
|
159 |
+
msgstr "Filtrer par type de publication"
|
160 |
+
|
161 |
+
#: includes/admin.php:536
|
162 |
+
msgid "Filter by taxonomy"
|
163 |
+
msgstr "Filtrer par taxonomie"
|
164 |
+
|
165 |
+
#: includes/admin.php:530
|
166 |
+
msgid "Post %s Capabilities"
|
167 |
+
msgstr "Permissions de la publication %s"
|
168 |
+
|
169 |
+
#: includes/admin.php:530
|
170 |
+
msgid "Term %s Capabilities"
|
171 |
+
msgstr "Permissions de le terme %s"
|
172 |
+
|
173 |
+
#: includes/admin.php:486
|
174 |
+
msgid "Additional"
|
175 |
+
msgstr "Additionnel"
|
176 |
+
|
177 |
+
#: includes/admin.php:307
|
178 |
+
msgid "WordPress Core"
|
179 |
+
msgstr "WordPress Core"
|
180 |
+
|
181 |
+
#: includes/admin.php:220
|
182 |
+
msgid "Deletion"
|
183 |
+
msgstr "Supression"
|
184 |
+
|
185 |
+
#: includes/admin.php:219
|
186 |
+
msgid "Editing"
|
187 |
+
msgstr "Édition"
|
188 |
+
|
189 |
+
#: includes/admin-load.php:306 includes/manager.php:365
|
190 |
+
msgid "Admin Features"
|
191 |
+
msgstr "Fonctionnalités administratives"
|
192 |
+
|
193 |
+
#: includes-core/admin-features-promo.php:74
|
194 |
+
msgid "You can block pages by URL or hide Admin elements by entering a CSS class or ID. This feature is available in PublishPress Capabilities Pro."
|
195 |
+
msgstr "Vous pouvez bloquer des pages par URL ou masquer des éléments de l’administration en saisissant une classe ou un ID CSS. Cette fonctionnalité est disponible dans PublishPress Capabilities Pro."
|
196 |
+
|
197 |
+
#: includes/manager.php:199
|
198 |
+
msgid "Add or clear custom item entry before saving changes."
|
199 |
+
msgstr "Ajoutez ou effacez une entrée d’élément personnalisé avant d’enregistrer les modifications."
|
200 |
+
|
201 |
+
#: includes/manager.php:198
|
202 |
+
msgid "Are you sure you want to delete this item ?"
|
203 |
+
msgstr "Confirmez-vous vouloir supprimer cet élément ?"
|
204 |
+
|
205 |
+
#: includes-core/editor-features-promo.php:135
|
206 |
+
msgid "Page Attributes: Order"
|
207 |
+
msgstr "Attributs de la page : Tri"
|
208 |
+
|
209 |
+
#: includes-core/editor-features-promo.php:121
|
210 |
+
msgid "Permalink: Descriptive Caption"
|
211 |
+
msgstr "Permalien : Légende descriptive"
|
212 |
+
|
213 |
+
#: includes-core/editor-features-promo.php:107
|
214 |
+
msgid "Custom item one"
|
215 |
+
msgstr "Élément personnalisé un"
|
216 |
+
|
217 |
+
#: includes-core/editor-features-promo.php:101
|
218 |
+
msgid "Custom Items"
|
219 |
+
msgstr "Éléments personnalisés"
|
220 |
+
|
221 |
+
#: includes-core/editor-features-promo.php:86
|
222 |
+
msgid "You can hide plugin metaboxes. You can also hide specific items by entering their CSS class or ID. This feature is available in PublishPress Capabilities Pro."
|
223 |
+
msgstr "Vous pouvez masquer les boîtes méta des extensions. Vous pouvez également masquer des éléments spécifiques en saisissant leur classe CSS ou leur ID. Cette fonctionnalité est disponible dans PublishPress Capabilities Pro."
|
224 |
+
|
225 |
+
#: includes-core/editor-features-promo.php:71
|
226 |
+
msgid "TaxoPress - Settings"
|
227 |
+
msgstr "TaxoPress - Réglages"
|
228 |
+
|
229 |
+
#: includes-core/editor-features-promo.php:58
|
230 |
+
msgid "Notifications"
|
231 |
+
msgstr "Notifications"
|
232 |
+
|
233 |
+
#: includes-core/editor-features-promo.php:45
|
234 |
+
msgid "Editorial Comments"
|
235 |
+
msgstr "Commentaires éditoriaux"
|
236 |
+
|
237 |
+
#: includes-core/editor-features-promo.php:32
|
238 |
+
msgid "Checklist"
|
239 |
+
msgstr "Liste de contrôle"
|
240 |
+
|
241 |
+
#: includes-core/editor-features-promo.php:24
|
242 |
+
msgid "Metaboxes"
|
243 |
+
msgstr "Boîtes méta"
|
244 |
+
|
245 |
+
#: includes/manager.php:492 includes/manager.php:546
|
246 |
+
msgid "Settings updated."
|
247 |
+
msgstr "Réglages mis à jour."
|
248 |
+
|
249 |
+
#: includes/manager.php:448 includes/manager.php:470
|
250 |
+
msgid "You do not have permission to manage editor features."
|
251 |
+
msgstr "Vous n’êtes pas autorisé à gérer les fonctionnalités de l’éditeur."
|
252 |
+
|
253 |
+
#: includes/admin-load.php:305 includes/manager.php:363
|
254 |
+
msgid "Editor Features"
|
255 |
+
msgstr "Fonctionnalités de l’éditeur"
|
256 |
|
257 |
+
#: includes/features/restrict-editor-features.php:345
|
258 |
+
msgid "Text settings"
|
259 |
+
msgstr "Réglages du texte"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
|
261 |
+
#: includes/features/restrict-editor-features.php:344
|
262 |
+
msgid "Color settings"
|
263 |
+
msgstr "Réglages de couleur"
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
|
265 |
+
#: includes/features/restrict-editor-features.php:343
|
266 |
+
msgid "Typography"
|
267 |
+
msgstr "Typographie"
|
|
|
|
|
|
|
|
|
268 |
|
269 |
+
#: includes/features/restrict-editor-features.php:342
|
270 |
+
msgid "Paragraph"
|
271 |
+
msgstr "Paragraphe"
|
|
|
|
|
|
|
|
|
272 |
|
273 |
+
#: includes/features/restrict-editor-features.php:340
|
274 |
+
#: includes/features/restrict-editor-features.php:341
|
275 |
+
msgid "Block Panel"
|
276 |
+
msgstr "Panneau de blocs"
|
277 |
+
|
278 |
+
#: includes/features/restrict-editor-features.php:337
|
279 |
+
msgid "Post Attributes"
|
280 |
+
msgstr "Attributs d’articles"
|
281 |
+
|
282 |
+
#: includes/features/restrict-editor-features.php:335
|
283 |
+
msgid "Excerpt"
|
284 |
+
msgstr "Extrait"
|
285 |
+
|
286 |
+
#: includes/features/restrict-editor-features.php:334
|
287 |
+
msgid "Featured image"
|
288 |
+
msgstr "Image mise en avant"
|
289 |
+
|
290 |
+
#: includes/features/restrict-editor-features.php:317
|
291 |
+
msgid "Status & visibility"
|
292 |
+
msgstr "État et visibilité"
|
293 |
+
|
294 |
+
#: includes/features/restrict-editor-features.php:316
|
295 |
+
msgid "Document Panel"
|
296 |
+
msgstr "Panneau de publication"
|
297 |
+
|
298 |
+
#: includes/features/restrict-editor-features.php:313
|
299 |
+
msgid "Content"
|
300 |
+
msgstr "Contenu"
|
301 |
+
|
302 |
+
#: includes/features/restrict-editor-features.php:312
|
303 |
+
msgid "Edit title"
|
304 |
+
msgstr "Modifier le titre"
|
305 |
+
|
306 |
+
#: includes/features/restrict-editor-features.php:311
|
307 |
+
msgid "Body"
|
308 |
+
msgstr "Corps"
|
309 |
+
|
310 |
+
#: includes/features/restrict-editor-features.php:308
|
311 |
+
msgid "Options"
|
312 |
+
msgstr "Options"
|
313 |
+
|
314 |
+
#: includes/features/restrict-editor-features.php:306
|
315 |
+
msgid "Publish / Update"
|
316 |
+
msgstr "Publier/mettre à jour"
|
317 |
+
|
318 |
+
#: includes/features/restrict-editor-features.php:304
|
319 |
+
msgid "Switch to draft"
|
320 |
+
msgstr "Passer en brouillon"
|
321 |
+
|
322 |
+
#: includes/features/restrict-editor-features.php:302
|
323 |
+
msgid "Top Bar - Right"
|
324 |
+
msgstr "Barre supérieure - Droite"
|
325 |
+
|
326 |
+
#: includes/features/restrict-editor-features.php:299
|
327 |
+
msgid "Outline"
|
328 |
+
msgstr "Contour"
|
329 |
+
|
330 |
+
#: includes/features/restrict-editor-features.php:298
|
331 |
+
msgid "Details"
|
332 |
+
msgstr "Détails"
|
333 |
+
|
334 |
+
#: includes/features/restrict-editor-features.php:297
|
335 |
+
msgid "Redo"
|
336 |
+
msgstr "Rétablir"
|
337 |
+
|
338 |
+
#: includes/features/restrict-editor-features.php:296
|
339 |
+
msgid "Undo"
|
340 |
+
msgstr "Annuler"
|
341 |
+
|
342 |
+
#: includes/features/restrict-editor-features.php:295
|
343 |
+
msgid "Modes"
|
344 |
+
msgstr "Modes"
|
345 |
+
|
346 |
+
#: includes/features/restrict-editor-features.php:294
|
347 |
+
msgid "Add block"
|
348 |
+
msgstr "Ajouter un bloc"
|
349 |
+
|
350 |
+
#: includes/features/restrict-editor-features.php:293
|
351 |
+
msgid "Top Bar - Left"
|
352 |
+
msgstr "Barre supérieure - Gauche"
|
353 |
+
|
354 |
+
#: includes/features/restrict-editor-features.php:93
|
355 |
+
#: includes/features/restrict-editor-features.php:336
|
356 |
+
msgid "Discussion"
|
357 |
+
msgstr "Discussion"
|
358 |
+
|
359 |
+
#: includes/features/restrict-editor-features.php:92
|
360 |
+
msgid "Post Slug"
|
361 |
+
msgstr "Slug de publication"
|
362 |
+
|
363 |
+
#: includes/features/restrict-editor-features.php:91
|
364 |
+
msgid "Featured Image"
|
365 |
+
msgstr "Image mise en avant"
|
366 |
+
|
367 |
+
#: includes/features/restrict-editor-features.php:90
|
368 |
+
msgid "Other Boxes"
|
369 |
+
msgstr "Autres cases"
|
370 |
+
|
371 |
+
#: includes/features/restrict-editor-features.php:87
|
372 |
+
msgid "Order"
|
373 |
+
msgstr "Tri"
|
374 |
+
|
375 |
+
#: includes/features/restrict-editor-features.php:86
|
376 |
+
msgid "Page Template"
|
377 |
+
msgstr "Modèle de page"
|
378 |
+
|
379 |
+
#: includes/features/restrict-editor-features.php:85
|
380 |
+
msgid "Parent"
|
381 |
+
msgstr "Parent"
|
382 |
+
|
383 |
+
#: includes/features/restrict-editor-features.php:84
|
384 |
+
msgid "Page Attributes"
|
385 |
+
msgstr "Attributs de la page"
|
386 |
+
|
387 |
+
#: includes/features/restrict-editor-features.php:83
|
388 |
+
msgid "Page Boxes"
|
389 |
+
msgstr "Cadres de page"
|
390 |
+
|
391 |
+
#: includes/features/restrict-editor-features.php:71
|
392 |
+
#: includes/features/restrict-editor-features.php:320
|
393 |
+
msgid "Tags"
|
394 |
+
msgstr "Étiquettes"
|
395 |
+
|
396 |
+
#: includes/features/restrict-editor-features.php:70
|
397 |
+
msgid "Add New Category"
|
398 |
+
msgstr "Ajouter une nouvelle catégorie"
|
399 |
+
|
400 |
+
#: includes/features/restrict-editor-features.php:69
|
401 |
+
#: includes/features/restrict-editor-features.php:319
|
402 |
+
msgid "Categories"
|
403 |
+
msgstr "Catégories"
|
404 |
+
|
405 |
+
#: includes/features/restrict-editor-features.php:68
|
406 |
+
msgid "Taxonomy Boxes"
|
407 |
+
msgstr "Boîtes de taxonomie"
|
408 |
+
|
409 |
+
#: includes/features/restrict-editor-features.php:65
|
410 |
+
msgid "Publish"
|
411 |
+
msgstr "Publier"
|
412 |
+
|
413 |
+
#: includes/features/restrict-editor-features.php:64
|
414 |
+
msgid "Date"
|
415 |
+
msgstr "Date"
|
416 |
+
|
417 |
+
#: includes/features/restrict-editor-features.php:63
|
418 |
+
msgid "Publish Schedule"
|
419 |
+
msgstr "Calendrier de publication"
|
420 |
+
|
421 |
+
#: includes/features/restrict-editor-features.php:62
|
422 |
+
msgid "Publish Actions"
|
423 |
+
msgstr "Actions de publication"
|
424 |
+
|
425 |
+
#: includes/features/restrict-editor-features.php:61
|
426 |
+
msgid "Password Protect This Post"
|
427 |
+
msgstr "Mot de passe pour protéger cette publication"
|
428 |
+
|
429 |
+
#: includes/features/restrict-editor-features.php:60
|
430 |
+
msgid "Publish Visibility"
|
431 |
+
msgstr "Visibilité de la publication"
|
432 |
+
|
433 |
+
#: includes/features/restrict-editor-features.php:59
|
434 |
+
msgid "Publish Status "
|
435 |
+
msgstr "État de la publication "
|
436 |
+
|
437 |
+
#: includes/features/restrict-editor-features.php:58
|
438 |
+
#: includes/features/restrict-editor-features.php:305
|
439 |
+
msgid "Preview"
|
440 |
+
msgstr "Aperçu"
|
441 |
+
|
442 |
+
#: includes/features/restrict-editor-features.php:57
|
443 |
+
#: includes/features/restrict-editor-features.php:303
|
444 |
+
msgid "Save Draft"
|
445 |
+
msgstr "Enregistrer le brouillon"
|
446 |
+
|
447 |
+
#: includes/features/restrict-editor-features.php:55
|
448 |
+
#: includes/features/restrict-editor-features.php:56
|
449 |
+
msgid "Publish Box"
|
450 |
+
msgstr "Boîte de publication"
|
451 |
+
|
452 |
+
#: includes/features/restrict-editor-features.php:52
|
453 |
+
msgid "Word count"
|
454 |
+
msgstr "Nombre de mots"
|
455 |
+
|
456 |
+
#: includes/features/restrict-editor-features.php:51
|
457 |
+
msgid "HTML Editor Button"
|
458 |
+
msgstr "Bouton de l’éditeur HTML"
|
459 |
+
|
460 |
+
#: includes/features/restrict-editor-features.php:50
|
461 |
+
msgid "Media Buttons (all)"
|
462 |
+
msgstr "Boutons multimédia (tous)"
|
463 |
+
|
464 |
+
#: includes/features/restrict-editor-features.php:49
|
465 |
+
#: includes/features/restrict-editor-features.php:318
|
466 |
+
msgid "Permalink"
|
467 |
+
msgstr "Permalien"
|
468 |
+
|
469 |
+
#: includes/features/restrict-editor-features.php:47
|
470 |
+
msgid "Title"
|
471 |
+
msgstr "Titre"
|
472 |
+
|
473 |
+
#: includes/features/restrict-editor-features.php:45
|
474 |
+
#: includes/features/restrict-editor-features.php:48
|
475 |
+
msgid "Editor"
|
476 |
+
msgstr "Éditeur"
|
477 |
+
|
478 |
+
#: includes/features/restrict-admin-features.php:81
|
479 |
+
#: includes/features/restrict-editor-features.php:42
|
480 |
+
msgid "Screen Options"
|
481 |
+
msgstr "Options de l’écran"
|
482 |
+
|
483 |
+
#: includes/features/restrict-admin-features.php:82
|
484 |
+
#: includes/features/restrict-editor-features.php:41
|
485 |
+
msgid "Help"
|
486 |
+
msgstr "Aide"
|
487 |
|
488 |
+
#: includes/features/restrict-editor-features.php:40
|
489 |
+
msgid "Top Tabs"
|
490 |
+
msgstr "Onglets supérieurs"
|
|
|
|
|
|
|
|
|
|
|
|
|
491 |
|
492 |
+
#: includes/features/editor-features.php:95
|
493 |
+
msgid "Classic"
|
494 |
+
msgstr "Classique"
|
|
|
|
|
|
|
|
|
495 |
|
496 |
+
#: includes/features/editor-features.php:92
|
497 |
+
msgid "Gutenberg"
|
498 |
+
msgstr "Gutenberg"
|
499 |
|
500 |
+
#: includes/features/editor-features.php:48
|
501 |
+
msgid "Select editor features to remove. Note that this screen cannot be used to grant additional features to any role."
|
502 |
+
msgstr "Sélectionnez les fonctions d’éditeur à supprimer. Notez que cet écran ne peut pas être utilisé pour accorder des fonctionnalités supplémentaires à un rôle."
|
|
|
|
|
|
|
|
|
503 |
|
504 |
+
#: includes/features/editor-features.php:32
|
505 |
+
msgid "Editor Feature Restriction"
|
506 |
+
msgstr "Restriction des fonctionnalités de l’éditeur"
|
|
|
|
|
|
|
|
|
507 |
|
508 |
+
#: includes/features/editor-features-gutenberg.php:29
|
509 |
+
msgid "Gutenberg Screen"
|
510 |
+
msgstr "Écran Gutenberg"
|
511 |
|
512 |
+
#: includes/features/editor-features-classic.php:35
|
513 |
+
#: includes/features/editor-features-gutenberg.php:35
|
514 |
+
msgid "Toggle all"
|
515 |
+
msgstr "Tout masquer/afficher"
|
516 |
|
517 |
+
#: includes/features/editor-features-classic.php:34
|
518 |
+
#: includes/features/editor-features-gutenberg.php:34
|
519 |
+
msgid "%s Restrict"
|
520 |
+
msgstr "Restriction %s"
|
|
|
521 |
|
522 |
+
#: includes/features/editor-features-classic.php:29
|
523 |
+
msgid "Classic Editor Screen"
|
524 |
+
msgstr "Écran éditeur classique"
|
|
|
|
|
|
|
|
|
525 |
|
526 |
+
#: includes/admin.php:1387
|
527 |
+
msgid "sync options to all sites now"
|
528 |
+
msgstr "synchroniser les options sur tous les sites maintenant"
|
|
|
|
|
|
|
|
|
529 |
|
530 |
+
#: includes/admin.php:1387
|
531 |
+
msgid "Copy option settings to all sites now"
|
532 |
+
msgstr "Copiez les réglages des options sur tous les sites maintenant"
|
533 |
|
534 |
+
#: includes/admin.php:1352
|
535 |
+
msgid "Rename"
|
536 |
+
msgstr "Renommer"
|
537 |
|
538 |
+
#: includes/admin.php:1349
|
539 |
+
msgid "New Role Name"
|
540 |
+
msgstr "Nom du nouveau rôle"
|
541 |
|
542 |
+
#: includes/admin.php:1347
|
543 |
+
msgid "Rename Role"
|
544 |
+
msgstr "Renommer le rôle"
|
|
|
|
|
545 |
|
546 |
+
#: includes/admin.php:957
|
547 |
+
msgid "The following entries have no effect. Please assign desired capabilities in the Read / Edit / Delete grid above."
|
548 |
+
msgstr "Les entrées suivantes n’ont aucun effet. Veuillez attribuer les permisions souhaitées dans la grille lire/modifier/supprimer ci-dessus."
|
|
|
|
|
|
|
|
|
549 |
|
550 |
+
#: includes/handler.php:90 includes/handler.php:118 includes/handler.php:420
|
551 |
+
#: includes/manager.php:735
|
552 |
+
msgid "The selected role is not editable."
|
553 |
+
msgstr "Le rôle sélectionné n’est pas modifiable."
|
554 |
|
555 |
+
#: includes/manager.php:425
|
556 |
+
msgid "You do not have permission to manage roles."
|
557 |
+
msgstr "Vous n’êtes pas autorisé à gérer les rôles."
|
558 |
|
559 |
+
#: includes/backup.php:267
|
560 |
+
msgid "No changes"
|
561 |
+
msgstr "Aucun changement"
|
|
|
|
|
562 |
|
563 |
+
#: includes/backup.php:198
|
564 |
+
msgid "(this role will be removed if you restore backup)"
|
565 |
+
msgstr "(ce rôle sera supprimé si vous restaurez la sauvegarde)"
|
|
|
|
|
|
|
|
|
566 |
|
567 |
+
#: includes/backup.php:157
|
568 |
+
msgid "Show changes from current roles only"
|
569 |
+
msgstr "Afficher uniquement les changements par rapport aux rôles actuels"
|
|
|
|
|
570 |
|
571 |
+
#: includes/backup.php:146
|
572 |
+
msgid "Restore Selected Roles"
|
573 |
+
msgstr "Restaurer les rôles sélectionnés"
|
574 |
|
575 |
+
#: includes/backup.php:137
|
576 |
+
msgid "Initial backup of all roles"
|
577 |
+
msgstr "Sauvegarde initiale de tous les rôles"
|
|
|
|
|
|
|
|
|
|
|
|
|
578 |
|
579 |
+
#: includes/backup.php:129
|
580 |
+
msgid "Auto-backup of all roles (%s)"
|
581 |
+
msgstr "Sauvegarde automatique de tous les rôles (%s)"
|
|
|
|
|
|
|
|
|
582 |
|
583 |
+
#: includes/backup.php:114
|
584 |
+
msgid "Manual backup of all roles (%s)"
|
585 |
+
msgstr "Sauvegarde manuelle de tous les rôles (%s)"
|
|
|
|
|
|
|
|
|
|
|
|
|
586 |
|
587 |
+
#: includes/backup.php:100
|
588 |
+
msgid "Available Backups:"
|
589 |
+
msgstr "Sauvegardes disponibles :"
|
|
|
|
|
|
|
|
|
590 |
|
591 |
+
#: includes/backup.php:95
|
592 |
+
msgid "On this screen, you can restore an earlier version of your roles and capabilities."
|
593 |
+
msgstr "Sur cet écran, vous pouvez restaurer une version antérieure de vos rôles et permissions."
|
|
|
|
|
|
|
|
|
594 |
|
595 |
+
#: includes/backup.php:91
|
596 |
+
msgid "PublishPress Capabilities automatically creates a backup on installation and whenever you save changes."
|
597 |
+
msgstr "PublishPress Capabilities crée automatiquement une sauvegarde lors de l’installation et à chaque fois que vous enregistrez des modifications."
|
|
|
|
|
|
|
|
|
598 |
|
599 |
+
#: includes/backup.php:88
|
600 |
+
msgid "Restore Previous Roles and Capabilities"
|
601 |
+
msgstr "Restaurer les rôles et permissions antérieurs"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
602 |
|
603 |
+
#: includes/backup.php:74
|
604 |
+
msgid "Manual Backup"
|
605 |
+
msgstr "Sauvegarde manuelle"
|
|
|
|
|
|
|
|
|
606 |
|
607 |
+
#: includes/backup.php:69
|
608 |
+
msgid "A backup created on this screen replaces any previous manual backups, but is never automatically replaced."
|
609 |
+
msgstr "Le sauvegarde créée sur cet écran remplace toutes les sauvegardes manuelles précédentes, mais n’est jamais remplacée automatiquement."
|
|
|
|
|
|
|
|
|
|
|
|
|
610 |
|
611 |
+
#: includes/backup.php:64
|
612 |
+
msgid "PublishPress Capabilities automatically creates a backup on installation and whenever you save changes. The initial backup and last %d auto-backups are kept."
|
613 |
+
msgstr "PublishPress Capabilities crée automatiquement une sauvegarde lors de l’installation et à chaque fois que vous enregistrez des modifications. La sauvegarde initiale et les dernières %d sauvegardes automatiques sont conservées."
|
|
|
|
|
|
|
|
|
614 |
|
615 |
+
#: includes/backup.php:50
|
616 |
+
msgid "Reset Roles"
|
617 |
+
msgstr "Réinitialiser les rôles"
|
|
|
|
|
|
|
|
|
618 |
|
619 |
+
#: includes/backup.php:48
|
620 |
+
msgid "Restore"
|
621 |
+
msgstr "Restaurer"
|
622 |
|
623 |
+
#: includes/admin-load.php:312
|
624 |
+
#: includes/features/restrict-editor-features.php:307 includes/manager.php:372
|
625 |
+
msgid "Settings"
|
626 |
+
msgstr "Réglages"
|
627 |
|
628 |
+
#: includes/roles/roles.php:52
|
629 |
+
msgid "Description here."
|
630 |
+
msgstr "Description ici."
|
631 |
|
632 |
+
#: includes/roles/roles.php:40
|
633 |
+
msgid "Add"
|
634 |
+
msgstr "Ajouter"
|
635 |
|
636 |
+
#: includes/roles/roles.php:35
|
637 |
+
msgid "The name is how it appears on your site."
|
638 |
+
msgstr "Le nom tel qu’il apparaîtra sur votre site."
|
639 |
+
|
640 |
+
#: includes/manager.php:396 includes/roles/roles.php:33
|
641 |
+
msgid "Name"
|
642 |
+
msgstr "Nom du rôle"
|
643 |
+
|
644 |
+
#: includes/roles/roles.php:25
|
645 |
+
msgid "Add New Role"
|
646 |
+
msgstr "Ajouter un nouveau rôle"
|
647 |
+
|
648 |
+
#: includes/roles/roles.php:19
|
649 |
+
msgid "Search Roles"
|
650 |
+
msgstr "Recherche de rôles"
|
651 |
+
|
652 |
+
#. translators: %s: search keywords
|
653 |
+
#: includes/roles/roles.php:8
|
654 |
+
msgid "Search results for “%s”"
|
655 |
+
msgstr "Résultats de la recherche pour « %s »"
|
656 |
+
|
657 |
+
#: includes/admin-load.php:304 includes/manager.php:351
|
658 |
+
#: includes/roles/roles.php:4
|
659 |
+
msgid "Roles"
|
660 |
+
msgstr "Rôles"
|
661 |
+
|
662 |
+
#: includes/roles/class/class-pp-roles-list-table.php:239
|
663 |
+
msgid "Your Role"
|
664 |
+
msgstr "Ton rôle"
|
665 |
+
|
666 |
+
#: includes/roles/class/class-pp-roles-list-table.php:234
|
667 |
+
msgid "Default Role"
|
668 |
+
msgstr "Rôle par défaut"
|
669 |
+
|
670 |
+
#: includes/roles/class/class-pp-roles-list-table.php:183
|
671 |
+
msgid "Hide"
|
672 |
+
msgstr "Masquer"
|
673 |
+
|
674 |
+
#: includes-core/editor-features-promo.php:108
|
675 |
+
#: includes-core/editor-features-promo.php:122
|
676 |
+
#: includes-core/editor-features-promo.php:135
|
677 |
+
#: includes/features/admin-features.php:190
|
678 |
+
#: includes/features/editor-features-classic.php:78
|
679 |
+
#: includes/features/editor-features-gutenberg.php:77
|
680 |
+
#: includes/roles/class/class-pp-roles-list-table.php:164
|
681 |
+
#: includes/roles/class/class-pp-roles-list-table.php:301
|
682 |
+
msgid "Delete"
|
683 |
+
msgstr "Supprimer"
|
684 |
+
|
685 |
+
#: includes/roles/class/class-pp-roles-list-table.php:146
|
686 |
+
msgid "Unhide"
|
687 |
+
msgstr "Afficher"
|
688 |
+
|
689 |
+
#: includes/roles/class/class-pp-roles-list-table.php:128
|
690 |
+
msgid "(non-editable role)"
|
691 |
+
msgstr "(rôle non modifiable)"
|
692 |
+
|
693 |
+
#: includes/manager.php:398
|
694 |
+
#: includes/roles/class/class-pp-roles-list-table.php:78
|
695 |
+
msgid "Users"
|
696 |
+
msgstr "Utilisateurs"
|
697 |
+
|
698 |
+
#: includes/manager.php:397
|
699 |
+
#: includes/roles/class/class-pp-roles-list-table.php:77
|
700 |
+
msgid "Role"
|
701 |
+
msgstr "Rôle"
|
702 |
+
|
703 |
+
#: includes/roles/class/class-pp-roles-actions.php:491
|
704 |
+
msgid "The role %1$s was successfully unhidden."
|
705 |
+
msgstr "Le rôle %1$s a été affiché avec succès."
|
706 |
+
|
707 |
+
#: includes/roles/class/class-pp-roles-actions.php:431
|
708 |
+
msgid "The role %1$s was successfully hidden."
|
709 |
+
msgstr "Le rôle %1$s a été masqué avec succès."
|
710 |
+
|
711 |
+
#: includes/roles/class/class-pp-roles-actions.php:377
|
712 |
+
msgid "The role could not be deleted."
|
713 |
+
msgstr "Le rôle n’a pas pu être supprimé."
|
714 |
+
|
715 |
+
#: includes/roles/class/class-pp-roles-actions.php:364
|
716 |
+
msgid "The selected %1$s roles were successfully deleted. %2$s"
|
717 |
+
msgstr "Les rôles %1$s sélectionnés ont été supprimés avec succès. %2$s"
|
718 |
+
|
719 |
+
#: includes/roles/class/class-pp-roles-actions.php:358
|
720 |
+
msgid "The role %1$s was successfully deleted. %2$s"
|
721 |
+
msgstr "Le rôle %1$s a été supprimé avec succès. %2$s"
|
722 |
+
|
723 |
+
#: includes/roles/class/class-pp-roles-actions.php:353
|
724 |
+
msgid "%1$d users moved to default role %2$s."
|
725 |
+
msgstr "%1$d utilisateurs déplacés vers le rôle par défaut %2$s."
|
726 |
+
|
727 |
+
#: includes/roles/class/class-pp-roles-actions.php:331
|
728 |
+
msgid "Deleting a system role is not allowed."
|
729 |
+
msgstr "La suppression d’un rôle système n’est pas autorisée."
|
730 |
+
|
731 |
+
#: includes/roles/class/class-pp-roles-actions.php:217
|
732 |
+
msgid "Something went wrong, the system wasn't able to create the role, refresh the page and try again."
|
733 |
+
msgstr "Quelque chose s’est mal passé, le système n’a pas été en mesure de créer le rôle, rafraîchissez la page et réessayez."
|
734 |
+
|
735 |
+
#: includes/roles/class/class-pp-roles-actions.php:177
|
736 |
+
#: includes/roles/class/class-pp-roles-actions.php:304
|
737 |
+
#: includes/roles/class/class-pp-roles-actions.php:420
|
738 |
+
#: includes/roles/class/class-pp-roles-actions.php:481
|
739 |
+
msgid "Missing parameters, refresh the page and try again."
|
740 |
+
msgstr "Il y a des paramètres manquants, rafraîchissez la page et réessayez."
|
741 |
+
|
742 |
+
#: includes/roles/class/class-pp-roles-actions.php:157
|
743 |
+
msgid "Your link has expired, refresh the page and try again."
|
744 |
+
msgstr "Votre lien a expiré, rafraîchissez la page et réessayez."
|
745 |
+
|
746 |
+
#: includes/roles/class/class-pp-roles-actions.php:142
|
747 |
+
msgid "You do not have sufficient permissions to perform this action."
|
748 |
+
msgstr "Vous n’avez pas les droits suffisants pour effectuer cette action."
|
749 |
+
|
750 |
+
#: includes/roles/roles-functions.php:32
|
751 |
+
msgid "Are you sure you want to delete this role?"
|
752 |
+
msgstr "Confirmez-vous la suppression de ce rôle ?"
|
753 |
+
|
754 |
+
#: includes/settings.php:34
|
755 |
+
msgid "PublishPress Authors"
|
756 |
+
msgstr "PublishPress Authors"
|
757 |
+
|
758 |
+
#: includes/settings.php:14
|
759 |
+
msgid "Capabilities Settings"
|
760 |
+
msgstr "Réglages des permissions"
|
761 |
+
|
762 |
+
#: includes-core/CoreAdmin.php:63 includes/admin-load.php:308
|
763 |
+
msgid "Nav Menus"
|
764 |
+
msgstr "Menus de navigation"
|
765 |
+
|
766 |
+
#: includes-core/CoreAdmin.php:62 includes/admin-load.php:307
|
767 |
+
msgid "Admin Menus"
|
768 |
+
msgstr "Menus d’administration"
|
769 |
+
|
770 |
+
#: includes-core/admin-menus-promo.php:58
|
771 |
+
msgid "You can restrict access to admin menu screens. This feature is available in PublishPress Capabilities Pro"
|
772 |
+
msgstr "Vous pouvez restreindre l’accès aux écrans du menu d’administration. Cette fonctionnalité est disponible dans PublishPress Capabilities Pro"
|
773 |
+
|
774 |
+
#: includes-core/admin-menus-promo.php:29
|
775 |
+
msgid "Admin Menu Restrictions"
|
776 |
+
msgstr "Restrictions du menu d’administration"
|
777 |
+
|
778 |
+
#: includes-core/nav-menus-promo.php:63
|
779 |
+
msgid "You can restrict access to navigation menus. This feature is available in PublishPress Capabilities Pro"
|
780 |
+
msgstr "Vous pouvez restreindre l’accès aux menus de navigation. Cette fonctionnalité est disponible dans PublishPress Capabilities Pro"
|
781 |
+
|
782 |
+
#: includes-core/nav-menus-promo.php:29
|
783 |
+
msgid "Navigation Menu Restrictions"
|
784 |
+
msgstr "Restrictions du menu de navigation"
|
785 |
+
|
786 |
+
#: includes/features/restrict-editor-features.php:46
|
787 |
+
#: includes/filters-woocommerce.php:33
|
788 |
+
msgid "Add New"
|
789 |
+
msgstr "Ajouter"
|
790 |
|
791 |
+
#: includes/filters-woocommerce.php:32
|
792 |
+
msgid "All %s"
|
793 |
+
msgstr "Tous les %s"
|
794 |
+
|
795 |
+
#: includes/manager.php:923
|
796 |
+
msgid "Contact"
|
797 |
+
msgstr "Contact"
|
798 |
+
|
799 |
+
#: includes/manager.php:923
|
800 |
+
msgid "Contact the PublishPress team"
|
801 |
+
msgstr "Contact de l’équipe de PublishPress"
|
802 |
+
|
803 |
+
#: includes/manager.php:921
|
804 |
+
msgid "Capabilites Documentation"
|
805 |
+
msgstr "Documentation de Capabilities"
|
806 |
+
|
807 |
+
#: includes/manager.php:919
|
808 |
+
msgid "About"
|
809 |
+
msgstr "À propos"
|
810 |
+
|
811 |
+
#: includes/manager.php:919
|
812 |
+
msgid "About PublishPress Capabilities"
|
813 |
+
msgstr "À propos de PublishPress Capabilities"
|
814 |
+
|
815 |
+
#: includes/manager.php:908
|
816 |
+
msgid "If you like %s, please leave us a %s rating. Thank you!"
|
817 |
+
msgstr "Si vous appréciez %s, veuillez nous laisser une note de %s. Merci !"
|
818 |
+
|
819 |
+
#: includes/manager.php:651 includes/manager.php:685 includes/manager.php:703
|
820 |
+
msgid "You do not have permission to manage capabilities."
|
821 |
+
msgstr "Vous n’avez pas le droit de gérer les permissions."
|
822 |
+
|
823 |
+
#: includes-core/admin-features-promo.php:79
|
824 |
+
#: includes-core/admin-menus-promo.php:62
|
825 |
+
#: includes-core/editor-features-promo.php:91
|
826 |
+
#: includes-core/nav-menus-promo.php:67 includes/admin-load.php:318
|
827 |
+
#: includes/admin-load.php:319 includes/manager.php:378
|
828 |
+
#: includes/manager.php:379
|
829 |
+
msgid "Upgrade to Pro"
|
830 |
+
msgstr "Mettre à niveau en Pro"
|
831 |
+
|
832 |
+
#: includes/admin-load.php:309 includes/backup.php:49 includes/manager.php:369
|
833 |
+
msgid "Backup"
|
834 |
+
msgstr "Sauvegarde"
|
835 |
+
|
836 |
+
#: includes/handler.php:153
|
837 |
+
msgid "Type / Taxonomy settings saved."
|
838 |
+
msgstr "Réglages de type/taxonomie sauvegardés."
|
839 |
+
|
840 |
+
#: includes/backup-handler.php:82
|
841 |
+
msgid "Roles and Capabilities restored from selected auto-backup."
|
842 |
+
msgstr "Rôles et capacités restaurés à partir de la sauvegarde automatique sélectionnée."
|
843 |
+
|
844 |
+
#: includes/backup-handler.php:64
|
845 |
+
msgid "Roles and Capabilities restored from initial backup."
|
846 |
+
msgstr "Rôles et capacités restaurés à partir de la sauvegarde initiale."
|
847 |
+
|
848 |
+
#: includes/pp-ui.php:239
|
849 |
+
msgid "Enforce Edit, Delete and Assign capabilities separately from Management capability."
|
850 |
+
msgstr "Appliquez les permissions de modification, de suppression et d’attribution séparément de la gestion des permissions."
|
851 |
+
|
852 |
+
#: includes/pp-ui.php:236
|
853 |
+
msgid "Detailed Taxonomy Capabilities"
|
854 |
+
msgstr "Permissions détaillées de la taxonomie"
|
855 |
+
|
856 |
+
#: includes/pp-ui.php:180
|
857 |
+
msgid "Ensure permissions can be controlled separately from other taxonomies."
|
858 |
+
msgstr "Cela vous garantit que les droits peuvent être contrôlés séparément des autres taxonomies."
|
859 |
+
|
860 |
+
#: includes/pp-ui.php:177
|
861 |
+
msgid "Taxonomy-Specific Capabilities"
|
862 |
+
msgstr "Taxonomies spécifiques aux permissions"
|
863 |
+
|
864 |
+
#: includes/pp-ui.php:159
|
865 |
+
msgid "Make selected post types require a different capability to add new posts."
|
866 |
+
msgstr "Faire en sorte que les types de publication sélectionnés nécessitent une permission différente pour ajouter de nouvelles publications."
|
867 |
+
|
868 |
+
#: includes/pp-ui.php:96
|
869 |
+
msgid "Ensure permissions can be controlled separately from other post types."
|
870 |
+
msgstr "Assurez-vous que les droits peuvent être contrôlés séparément des autres types de publication."
|
871 |
+
|
872 |
+
#: includes/pp-ui.php:93
|
873 |
+
msgid "Type-Specific Capabilities"
|
874 |
+
msgstr "Permissions spécifiques par type"
|
875 |
+
|
876 |
+
#: includes/pp-ui.php:75
|
877 |
+
msgid "Capabilities for custom statuses can be manually added here. (See %sPermissions > Post Statuses%s for applicable names). %sSupplemental status-specific roles%s are usually more convenient, though."
|
878 |
+
msgstr "Les permissions pour les états personnalisés peuvent être ajoutées manuellement ici. (Voir %sPermissions > Afficher les états%s pour les noms applicables). Cependant, les %sRôles supplémentaires spécifiques aux états %s sont généralement plus pratiques, cependant."
|
879 |
+
|
880 |
+
#: includes/settings.php:48
|
881 |
+
msgid "Help / Contact Form"
|
882 |
+
msgstr "Aide/Formulaire de contact"
|
883 |
+
|
884 |
+
#: includes/settings.php:46
|
885 |
+
msgid "PublishPress Revisions"
|
886 |
+
msgstr "PublishPress Revisions"
|
887 |
+
|
888 |
+
#: includes/settings.php:24
|
889 |
+
msgid "Related Permissions Plugins"
|
890 |
+
msgstr "Extensions de droits similaires"
|
891 |
+
|
892 |
+
#: includes/admin.php:1334
|
893 |
+
#: includes/roles/class/class-pp-roles-list-table.php:76
|
894 |
+
msgid "Role Name"
|
895 |
+
msgstr "Nom du rôle"
|
896 |
+
|
897 |
+
#: includes/admin.php:1280
|
898 |
+
msgid "Role level is mostly deprecated. However, it still determines eligibility for Post Author assignment and limits the application of user editing capabilities."
|
899 |
+
msgstr "Le niveau de rôle est généralement obsolète. Cependant, il détermine toujours l’éligibilité à l’affectation d’auteur de publication et limite l’application des permissions de modification par l’utilisateur."
|
900 |
+
|
901 |
+
#: includes/admin.php:481 includes/admin.php:944
|
902 |
+
msgid "Invalid Capabilities"
|
903 |
+
msgstr "Permissions invalides"
|
904 |
+
|
905 |
+
#: includes/admin.php:781
|
906 |
+
msgid "Lockout Prevention: To remove read capability, first remove WordPress admin / editing capabilities, or add \"dashboard_lockout_ok\" capability"
|
907 |
+
msgstr "Prévention du verrouillage : pour supprimer la permission de lecture, supprimez d’abord les permissions d’administration/édition de WordPress ou ajoutez la permission « dashboard_lockout_ok »"
|
908 |
+
|
909 |
+
#: includes/admin.php:643
|
910 |
+
msgid "shared capability: %s"
|
911 |
+
msgstr "permission partagée : %s"
|
912 |
+
|
913 |
+
#: includes/admin.php:1189 includes/settings.php:40
|
914 |
+
msgid "PublishPress Permissions"
|
915 |
+
msgstr "PublishPress Permissions"
|
916 |
+
|
917 |
+
#: includes/admin.php:128
|
918 |
+
msgid "<strong>Note:</strong> Capability changes <strong>remain in the database</strong> after plugin deactivation. You can also configure this role as a %sPermission Group%s."
|
919 |
+
msgstr "<strong>Note : </strong>Les changements de permission<strong> restent dans la base de données</strong> après la désactivation de l’extension. Vous pouvez également configurer ce rôle en tant que %sGroupe de droits%s."
|
920 |
+
|
921 |
+
#: includes/admin.php:136
|
922 |
+
msgid "<strong>Note:</strong> Capability changes <strong>remain in the database</strong> after plugin deactivation."
|
923 |
+
msgstr "<strong>Note :</strong> Les changements de permission <strong>restent dans la base de données</strong> après la désactivation du plugin."
|
924 |
+
|
925 |
+
#: includes/admin.php:40
|
926 |
+
msgid "Warning: This role cannot access the dashboard without the read capability. %1$sClick here to fix this now%2$s."
|
927 |
+
msgstr "Avertissement : ce rôle ne peut accéder au tableau de bord sans la permission de lecture. %1$sCliquez ici pour le corriger%2$s."
|
928 |
+
|
929 |
+
#: includes/filters.php:263
|
930 |
+
msgid "Edit Roles"
|
931 |
+
msgstr "Modifier les Rôles"
|
932 |
+
|
933 |
+
#: includes/backup.php:227
|
934 |
+
msgid "%s (level %s)"
|
935 |
+
msgstr "%s (niveau %s)"
|
936 |
+
|
937 |
+
#: includes/backup.php:191
|
938 |
+
msgid "%s (%s roles)"
|
939 |
+
msgstr "%s (%s rôles)"
|
940 |
+
|
941 |
+
#: includes/backup.php:84
|
942 |
+
msgid "Last Backup"
|
943 |
+
msgstr "Dernière sauvegarde"
|
944 |
+
|
945 |
+
#: includes/backup.php:84
|
946 |
+
msgid "Last Manual Backup - %s"
|
947 |
+
msgstr "Dernière sauvegarde manuelle - %s"
|
948 |
+
|
949 |
+
#: includes/backup.php:164
|
950 |
+
msgid "Initial Backup"
|
951 |
+
msgstr "Sauvegarde initiale"
|
952 |
+
|
953 |
+
#: includes/backup.php:164
|
954 |
+
msgid "Initial Backup - %s"
|
955 |
+
msgstr "Sauvegarde initiale - %s"
|
956 |
|
957 |
+
#: includes/backup.php:39
|
958 |
+
msgid "Backup Tool for %1$sPublishPress Capabilities%2$s"
|
959 |
+
msgstr "Outil de sauvegarde pour %1$sPublishPress Capabilities%2$s"
|
960 |
|
961 |
+
#: capsman-enhanced.php:70
|
962 |
+
msgid "<strong>This plugin can be deleted.</strong>"
|
963 |
+
msgstr "<strong>Cette extension peut être supprimée.</strong>"
|
964 |
|
965 |
+
#. Author URI of the plugin
|
966 |
+
msgid "https://publishpress.com/"
|
967 |
+
msgstr "https://publishpress.com/"
|
968 |
|
969 |
+
#. Author of the plugin
|
970 |
+
#: includes/settings.php:29
|
971 |
+
msgid "PublishPress"
|
972 |
+
msgstr "PublishPress"
|
973 |
|
974 |
+
#. Plugin URI of the plugin
|
975 |
+
msgid "https://publishpress.com/capability-manager/"
|
976 |
+
msgstr "https://publishpress.com/capability-manager/"
|
977 |
|
978 |
+
#. Plugin Name of the plugin
|
979 |
+
msgid "PublishPress Capabilities"
|
980 |
+
msgstr "PublishPress Capabilities"
|
981 |
|
982 |
+
#. Description of the plugin
|
983 |
+
msgid "Manage WordPress role definitions, per-site or network-wide. Organizes post capabilities by post type and operation."
|
984 |
+
msgstr "Gérez les définitions de rôles WordPress, par site ou à l’échelle du réseau. Organisez les permissions par type de publication."
|
985 |
|
986 |
+
#: includes/pp-ui.php:167 includes/pp-ui.php:231 includes/pp-ui.php:288
|
987 |
+
msgid "Update"
|
988 |
+
msgstr "Mettre à jour"
|
989 |
|
990 |
+
#: includes/pp-ui.php:159
|
991 |
+
msgid "Use create_posts capability"
|
992 |
+
msgstr "Utilisez la permission create_posts"
|
993 |
|
994 |
+
#: includes/pp-ui.php:80
|
995 |
+
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."
|
996 |
+
msgstr "Les permissions pour les états personnalisés peuvent être ajoutées manuellement à un rôle ici (voir Conditions > États > Mappage des permissions pour les noms applicables). Toutefois, il est généralement plus pratique d’utiliser les groupes de permissions pour attribuer un rôle supplémentaire spécifique à l’etat."
|
997 |
|
998 |
+
#: includes/pp-ui.php:77
|
999 |
+
msgid "Capabilities for custom statuses can be manually added here. Or activate the PP Custom Post Statuses extension to assign status-specific supplemental roles."
|
1000 |
+
msgstr "Les permissions pour les états personnalisés peuvent être ajoutées manuellement ici. Ou activez l’extension PP Custom Post Statuses pour affecter des rôles supplémentaires spécifiques à l’état."
|
|
|
1001 |
|
1002 |
+
#: includes/pp-ui.php:67
|
1003 |
+
msgid "\"Posts\" capabilities selected here also define type-specific role assignment for Permit Groups%s."
|
1004 |
+
msgstr "Les permissions de « publications » sélectionnées ici définissent également l’attribution de rôles spécifiques au type pour les groupes de permissions%s."
|
1005 |
|
1006 |
+
#: includes/pp-ui.php:65
|
1007 |
+
msgid "\"Posts\" capabilities selected here also define type-specific role assignment for Permission Groups%s."
|
1008 |
+
msgstr "Les permissions de « publications » sélectionnées ici définissent également l’attribution de rôles spécifiques au type pour les groupes de permissions%s."
|
|
|
|
|
|
|
|
|
1009 |
|
1010 |
+
#: includes/pp-ui.php:60
|
1011 |
+
msgid "activate %1$sAdvanced settings%2$s, see Role Usage"
|
1012 |
+
msgstr "activer %1$sRéglages avancées%2$s, voir Utilisation des rôles"
|
1013 |
|
1014 |
+
#: includes/pp-ui.php:58
|
1015 |
+
msgid "see %1$sRole Usage%2$s: \"Pattern Roles\""
|
1016 |
+
msgstr "voir %1$sUtilisation des rôles%2$s : « Modèle de rôle »."
|
|
|
|
|
1017 |
|
1018 |
+
#: includes/manager.php:764
|
1019 |
+
msgid "Bad form Received"
|
1020 |
+
msgstr "Formulaire reçu incorrect"
|
|
|
|
|
|
|
|
|
1021 |
|
1022 |
+
#: includes/roles/class/class-pp-roles-actions.php:312
|
1023 |
+
msgid "Cannot delete default role. You <a href=\"%s\">have to change it first</a>."
|
1024 |
+
msgstr "Vous ne pouvez pas modifier le rôle par defaut. Vous devez d’abord <a href=\"%s\">le modifier</a>."
|
|
|
|
|
|
|
|
|
1025 |
|
1026 |
+
#: includes/handler.php:279
|
1027 |
+
msgid "You cannot remove Manage Capabilities from Administrators"
|
1028 |
+
msgstr "Vous ne pouvez pas supprimer Gérer les permissions des administrateurs"
|
1029 |
|
1030 |
+
#: includes/handler.php:156
|
1031 |
+
msgid "Bad form received."
|
1032 |
+
msgstr "Formulaire reçu incorrect."
|
|
|
|
|
1033 |
|
1034 |
+
#: includes/handler.php:148
|
1035 |
+
msgid "Incorrect capability name."
|
1036 |
+
msgstr "Nom de permission incorrect."
|
1037 |
|
1038 |
+
#: includes/manager.php:717
|
1039 |
+
msgid "New capability added to role."
|
1040 |
+
msgstr "Nouvelle permission ajouté au rôle."
|
1041 |
|
1042 |
+
#: includes/handler.php:51 includes/handler.php:80
|
1043 |
+
msgid "Error: Failed creating the new role."
|
1044 |
+
msgstr "Erreur : Échec de la création du nouveau rôle."
|
1045 |
|
1046 |
+
#: includes/handler.php:45 includes/handler.php:74
|
1047 |
+
msgid "New role created."
|
1048 |
+
msgstr "Nouveau rôle créé."
|
|
|
|
|
|
|
|
|
1049 |
|
1050 |
+
#: includes/backup.php:296
|
1051 |
+
msgid "Reset to WordPress defaults"
|
1052 |
+
msgstr "Réinitialiser avec les valeurs par défaut de WordPress"
|
1053 |
|
1054 |
+
#: includes/backup.php:296
|
1055 |
msgid ""
|
1056 |
+
"You are about to reset Roles and Capabilities to WordPress defaults.\n"
|
1057 |
+
" 'Cancel' to stop, 'OK' to reset."
|
|
|
1058 |
msgstr ""
|
1059 |
+
"Vous êtes sur le point de réinitialiser les rôles et les permissions avec les valeurs par défaut de WordPress.\n"
|
1060 |
+
"« Annuler » pour arrêter et « OK » pour réinitialiser."
|
|
|
|
|
|
|
|
|
|
|
1061 |
|
1062 |
+
#: includes/backup.php:294
|
1063 |
+
msgid "Reset Roles and Capabilities to WordPress defaults"
|
1064 |
+
msgstr "Réinitialiser les rôles et les permissions avec les valeurs par défaut de WordPress"
|
|
|
|
|
|
|
|
|
|
|
|
|
1065 |
|
1066 |
+
#: includes/backup.php:291
|
1067 |
+
msgid "It is recommended to use this only as a last resource!"
|
1068 |
+
msgstr "Il est recommandé de ne l’utiliser qu’en dernier recours !"
|
|
|
|
|
|
|
|
|
1069 |
|
1070 |
+
#: includes/backup.php:289
|
1071 |
+
msgid "If you have installed any plugin that adds new roles or capabilities, these will be lost."
|
1072 |
+
msgstr "Si vous avez ajouté une extension pour créer de nouveaux rôles ou permissions, celles-ci seront perdues."
|
|
|
|
|
1073 |
|
1074 |
+
#: includes/backup.php:285
|
1075 |
+
msgid "Reseting default Roles and Capabilities will set them to the WordPress install defaults."
|
1076 |
+
msgstr "La réinitialisation des rôles et des capacités par défaut les définira sur les valeurs d’installation par défaut de WordPress."
|
1077 |
|
1078 |
+
#: includes/backup.php:285
|
1079 |
+
msgid "WARNING:"
|
1080 |
+
msgstr "Avertissement :"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1081 |
|
1082 |
+
#: includes/backup.php:283
|
1083 |
+
msgid "Reset WordPress Defaults"
|
1084 |
+
msgstr "Réinitialiser avec les valeurs par défaut de WordPress"
|
|
|
|
|
|
|
|
|
1085 |
|
1086 |
+
#: includes/backup.php:59
|
1087 |
+
msgid "Backup Roles and Capabilities"
|
1088 |
+
msgstr "Sauvegarder les rôles et les permissions"
|
1089 |
|
1090 |
+
#: includes/backup-handler.php:115
|
1091 |
+
msgid "Roles and Capabilities reset to WordPress defaults"
|
1092 |
+
msgstr "Rôles et permissions réinitialisées avec les valeurs par défaut de WordPress"
|
|
|
|
|
|
|
|
|
1093 |
|
1094 |
+
#: includes/backup-handler.php:102
|
1095 |
+
msgid "Needed function to create default roles not found!"
|
1096 |
+
msgstr "Fonction nécessaire à la création des rôles par défaut non trouvée !"
|
|
|
|
|
|
|
|
|
1097 |
|
1098 |
+
#: includes/backup-handler.php:66 includes/backup-handler.php:75
|
1099 |
+
#: includes/backup-handler.php:84
|
1100 |
+
msgid "Restore failed. No backup found."
|
1101 |
+
msgstr "Echec de la restauration. Aucune sauvegarde trouvée."
|
|
|
|
|
|
|
1102 |
|
1103 |
+
#: includes/backup-handler.php:73
|
1104 |
+
msgid "Roles and Capabilities restored from last backup."
|
1105 |
+
msgstr "Rôles et permissions restaurés à partir de la dernière sauvegarde."
|
|
|
|
|
|
|
|
|
1106 |
|
1107 |
+
#: includes/backup-handler.php:49
|
1108 |
+
msgid "New backup saved."
|
1109 |
+
msgstr "Nouvelle sauvegarde enregistrée."
|
|
|
|
|
|
|
|
|
1110 |
|
1111 |
+
#: includes/backup-handler.php:15 includes/manager.php:878
|
1112 |
+
msgid "You do not have permission to restore roles."
|
1113 |
+
msgstr "Vous n’avez pas la permission de restaurer les rôles."
|
|
|
|
|
|
|
|
|
|
|
|
|
1114 |
|
1115 |
+
#: includes/admin.php:1384
|
1116 |
+
msgid "sync role to all sites now"
|
1117 |
+
msgstr "synchroniser le rôle avec tous les sites maintenant"
|
|
|
|
|
|
|
|
|
1118 |
|
1119 |
+
#: includes/admin.php:1384
|
1120 |
+
msgid "Copy / update this role definition to all sites now"
|
1121 |
+
msgstr "Copiez/mettez à jour cette définition de rôle sur tous les sites maintenant"
|
|
|
|
|
|
|
|
|
1122 |
|
1123 |
+
#: includes/admin.php:1381
|
1124 |
+
msgid "include in new sites"
|
1125 |
+
msgstr "inclure dans les nouveaux sites"
|
|
|
|
|
|
|
|
|
1126 |
|
1127 |
+
#: includes/admin.php:1381
|
1128 |
+
msgid "Create this role definition in new (future) sites"
|
1129 |
+
msgstr "Créer cette définition de rôle dans les nouveaux (futurs) sites"
|
|
|
|
|
|
|
|
|
1130 |
|
1131 |
+
#: includes/admin.php:1319
|
1132 |
+
msgid "Add to role"
|
1133 |
+
msgstr "Ajouter au rôle"
|
|
|
|
|
|
|
|
|
1134 |
|
1135 |
+
#: includes/admin.php:1316
|
1136 |
+
msgid "Add Capability"
|
1137 |
+
msgstr "Ajouter une permission"
|
|
|
|
|
|
|
|
|
1138 |
|
1139 |
+
#: includes/admin.php:1341
|
1140 |
+
msgid "Copy"
|
1141 |
+
msgstr "Copier"
|
1142 |
|
1143 |
+
#: includes/admin.php:1331
|
1144 |
+
msgid "Copy this role to"
|
1145 |
+
msgstr "Copier ce rôle vers"
|
1146 |
|
1147 |
+
#: includes/admin.php:1337
|
1148 |
+
msgid "hidden"
|
1149 |
+
msgstr "masqué"
|
|
|
|
|
1150 |
|
1151 |
+
#: includes/admin.php:1337
|
1152 |
+
msgid "Make role available for supplemental assignment to Permission Groups only"
|
1153 |
+
msgstr "Rendre ce rôle uniquement disponible aux Permissions de groupe"
|
|
|
|
|
|
|
|
|
1154 |
|
1155 |
+
#: includes/admin.php:1307
|
1156 |
+
msgid "Delete Role"
|
1157 |
+
msgstr "Supprimer le rôle"
|
1158 |
|
1159 |
+
#: includes/admin.php:1307
|
1160 |
+
msgid ""
|
1161 |
+
"You are about to delete the %s role.\n"
|
1162 |
+
"\n"
|
1163 |
+
" 'Cancel' to stop, 'OK' to delete."
|
1164 |
+
msgstr ""
|
1165 |
+
"Vous allez supprimer le rôle %s.\n"
|
1166 |
+
"\n"
|
1167 |
+
" « Annuler » pour arrêter, « OK » pour supprimer."
|
1168 |
+
|
1169 |
+
#: includes/admin.php:1307
|
1170 |
+
msgid "Delete this role"
|
1171 |
+
msgstr "Supprimer ce rôle"
|
1172 |
+
|
1173 |
+
#: includes-core/admin-menus-promo.php:48 includes-core/nav-menus-promo.php:52
|
1174 |
+
#: includes/admin.php:109 includes/admin.php:1302
|
1175 |
+
#: includes/features/admin-features.php:76
|
1176 |
+
#: includes/features/admin-features.php:215
|
1177 |
+
#: includes/features/editor-features.php:69
|
1178 |
+
#: includes/features/editor-features.php:122 includes/settings.php:56
|
1179 |
+
msgid "Save Changes"
|
1180 |
+
msgstr "Enregistrer les modifications"
|
1181 |
+
|
1182 |
+
#: includes/admin.php:1282
|
1183 |
+
msgid "Level:"
|
1184 |
+
msgstr "Niveau :"
|
1185 |
+
|
1186 |
+
#: includes/admin.php:1042
|
1187 |
+
msgid "Additional Capabilities"
|
1188 |
+
msgstr "Permissions supplémentaires"
|
1189 |
+
|
1190 |
+
#: includes/admin.php:824 includes/admin.php:929 includes/admin.php:1162
|
1191 |
+
msgid "negate none (add/remove all capabilities normally)"
|
1192 |
+
msgstr "ne rien nier (ajouter/supprimer les permissions normalement)"
|
1193 |
+
|
1194 |
+
#: includes/admin.php:824 includes/admin.php:929 includes/admin.php:1162
|
1195 |
+
msgid "negate all (storing as disabled capabilities)"
|
1196 |
+
msgstr "nier tout (stockage en tant que permissions désactivées)"
|
1197 |
+
|
1198 |
+
#: includes/admin.php:824 includes/admin.php:929 includes/admin.php:1162
|
1199 |
+
msgid "check / uncheck all"
|
1200 |
+
msgstr "sélectionner/désélectionner tout"
|
1201 |
+
|
1202 |
+
#: includes/admin.php:631 includes/admin.php:762 includes/admin.php:890
|
1203 |
+
#: includes/admin.php:1109
|
1204 |
+
msgid "%s: assigned by Permission Group"
|
1205 |
+
msgstr "%s : attribué par le groupe de permission"
|
1206 |
|
1207 |
+
#: includes/admin.php:233
|
1208 |
+
msgid "can delete posts which are currently published with private visibility"
|
1209 |
+
msgstr "peut supprimer les publications publiées avec une visibilité privée"
|
|
|
|
|
|
|
|
|
1210 |
|
1211 |
+
#: includes/admin.php:232
|
1212 |
+
msgid "can delete posts which are currently published"
|
1213 |
+
msgstr "peut supprimer les publications publiées"
|
|
|
|
|
|
|
|
|
1214 |
|
1215 |
+
#: includes/admin.php:231
|
1216 |
+
msgid "can delete posts which were created by other users"
|
1217 |
+
msgstr "peut supprimer les publications créés par d’autres utilisateurs"
|
|
|
|
|
|
|
|
|
|
|
|
|
1218 |
|
1219 |
+
#: includes/admin.php:230
|
1220 |
+
msgid "has basic deletion capability (but may need other capabilities based on post status and ownership)"
|
1221 |
+
msgstr "possède la permission de supprimer de base (mais peut nécessiter d’autres permissions basées sur le état ou la propriété de la publication)"
|
1222 |
|
1223 |
+
#: includes/admin.php:229
|
1224 |
+
msgid "can make a post publicly visible"
|
1225 |
+
msgstr "peut modifier la visibilité d’une publication"
|
|
|
|
|
|
|
|
|
1226 |
|
1227 |
+
#: includes/admin.php:228
|
1228 |
+
msgid "can edit posts which are currently published with private visibility"
|
1229 |
+
msgstr "peut modifier les articles publiés avec la visibilité privée"
|
1230 |
|
1231 |
+
#: includes/admin.php:227
|
1232 |
+
msgid "can edit posts which are currently published"
|
1233 |
+
msgstr "peut modifier les articles publiés"
|
|
|
|
|
|
|
|
|
1234 |
|
1235 |
+
#: includes/admin.php:226
|
1236 |
+
msgid "can edit posts which were created by other users"
|
1237 |
+
msgstr "peut modifier les articles créés par d’autres utilisateurs"
|
|
|
|
|
|
|
|
|
1238 |
|
1239 |
+
#: includes/admin.php:225
|
1240 |
+
msgid "has basic editing capability (but may need other capabilities based on post status and ownership)"
|
1241 |
+
msgstr "possède la permission de modifier de base (mais peut nécessiter d’autres permissions basées sur le état ou la propriété de la publication)"
|
|
|
|
|
|
|
|
|
1242 |
|
1243 |
+
#: includes/admin.php:224
|
1244 |
+
msgid "can read posts which are currently published with private visibility"
|
1245 |
+
msgstr "peut lire les articles publiés avec la visibilité privée"
|
|
|
|
|
|
|
|
|
1246 |
|
1247 |
+
#: includes/admin.php:218
|
1248 |
+
msgid "Reading"
|
1249 |
+
msgstr "Lecture"
|
|
|
|
|
|
|
|
|
1250 |
|
1251 |
+
#: includes/admin.php:217
|
1252 |
+
msgid " "
|
1253 |
+
msgstr " "
|
|
|
|
|
|
|
|
|
1254 |
|
1255 |
+
#: includes/admin.php:1248
|
1256 |
+
msgid "%s info/purchase"
|
1257 |
+
msgstr "%s infos/achat"
|
1258 |
+
|
1259 |
+
#: includes/admin.php:1248
|
1260 |
+
msgid "%1$sbuy%2$s %3$s"
|
1261 |
+
msgstr "%1$sacheter%2$s %3$s"
|
1262 |
+
|
1263 |
+
#: includes/admin.php:1246
|
1264 |
+
msgid "%s (free install)"
|
1265 |
+
msgstr "%s (installation gratuite)"
|
1266 |
+
|
1267 |
+
#: includes/admin.php:1246
|
1268 |
+
msgid "%1$sgrab%2$s %3$s"
|
1269 |
+
msgstr "%1$sprendre%2$s %3$s"
|
1270 |
+
|
1271 |
+
#: includes/admin.php:1239
|
1272 |
+
msgid "Member support forum"
|
1273 |
+
msgstr "Forum d’assistance aux membres"
|
1274 |
+
|
1275 |
+
#: includes/admin.php:1235
|
1276 |
+
msgid "WPML integration to mirror permissions to translations <em>(Pro)</em>"
|
1277 |
+
msgstr "Intégration WPML pour refléter les droits dans les traductions <em> (Pro)</em>"
|
1278 |
+
|
1279 |
+
#: includes/admin.php:1231
|
1280 |
+
msgid "Grant supplemental content permissions to a BuddyPress group <em>(Pro)</em>"
|
1281 |
+
msgstr "Autorisez les droits de contenu supplémentaire au groupe BuddyPress <em> (Pro)</em>"
|
1282 |
+
|
1283 |
+
#: includes/admin.php:1227
|
1284 |
+
msgid "Grant Spectator, Participant or Moderator access to specific bbPress forums <em>(Pro)</em>"
|
1285 |
+
msgstr "Autorisez les visiteurs, participants ou modérateurs à accéder aux forums bbPress <em> (Pro)</em>"
|
1286 |
+
|
1287 |
+
#: includes/admin.php:1223
|
1288 |
+
msgid "Customize the moderated editing of published content with Revisionary or Post Forking <em>(Pro)</em>"
|
1289 |
+
msgstr "Personnaliser la modification modérée de la publication publié avec Revisionary ou Post Forking <em> (Pro)</em>"
|
1290 |
+
|
1291 |
+
#: includes/admin.php:1219
|
1292 |
+
msgid "Regulate permissions for Edit Flow post statuses <em>(Pro)</em>"
|
1293 |
+
msgstr "Réglementez les droits pour modifier les états de publication Edit Flow <em> (Pro)</em>"
|
1294 |
+
|
1295 |
+
#: includes/admin.php:1215
|
1296 |
+
msgid "Custom Moderation statuses for access-controlled, multi-step publishing workflow <em>(Pro)</em>"
|
1297 |
+
msgstr "États de modération personnalisés pour un flux de publication à accès contrôlé et à plusieurs étapes <em> (Pro)</em>"
|
1298 |
+
|
1299 |
+
#: includes/admin.php:1211
|
1300 |
+
msgid "Custom Post Visibility statuses, fully implemented throughout wp-admin <em>(Pro)</em>"
|
1301 |
+
msgstr "États de visibilité de publication personnalisés, entièrement mis en œuvre dans wp-admin. <em> (Pro)</em>"
|
1302 |
+
|
1303 |
+
#: includes/admin.php:1207
|
1304 |
+
msgid "Customize editing permissions per-category or per-post <em>(Pro)</em>"
|
1305 |
+
msgstr "Personnalisez les droits de modification par catégorie ou par publication <em> (Pro)</em>"
|
1306 |
|
1307 |
+
#: includes/admin.php:1203
|
1308 |
+
msgid "Customize reading permissions per-category or per-post"
|
1309 |
+
msgstr "Personnalisez les droits de lecture par catégorie ou par article"
|
1310 |
|
1311 |
+
#: includes/admin.php:1199
|
1312 |
+
msgid "Assign custom WP roles supplementally for a specific post type <em>(Pro)</em>"
|
1313 |
+
msgstr "Assignez des rôles WP personnalisés de manière complémentaire pour un type de publication spécifique <em> (Pro)</em>"
|
1314 |
|
1315 |
+
#: includes/admin.php:1195
|
1316 |
+
msgid "Assign standard WP roles supplementally for a specific post type"
|
1317 |
+
msgstr "Assignez des rôles WP standard de manière complémentaire pour un type de publication spécifique"
|
1318 |
|
1319 |
+
#: includes/admin.php:1191
|
1320 |
+
msgid "Automatically define type-specific capabilities for your custom post types and taxonomies"
|
1321 |
+
msgstr "Définissez automatiquement les permissions spécifiques à vos types de publication et taxonomies personnalisés"
|
|
|
|
|
|
|
|
|
1322 |
|
1323 |
+
#: includes/manager.php:921
|
1324 |
+
msgid "Documentation"
|
1325 |
+
msgstr "Documentation"
|
|
|
|
|
|
|
|
|
|
|
|
|
1326 |
|
1327 |
+
#: framework/lib/formating.php:40
|
1328 |
+
msgid "Settings saved."
|
1329 |
+
msgstr "Réglages enregistrés."
|
|
|
|
|
|
|
|
|
1330 |
|
1331 |
+
#: includes/manager.php:197
|
1332 |
+
msgid "Add or remove capability from the role normally"
|
1333 |
+
msgstr "Ajouter ou supprimer une permission du rôle normalement"
|
|
|
|
|
|
|
|
|
1334 |
|
1335 |
+
#: includes/manager.php:196
|
1336 |
+
msgid "Add or remove this capability from the WordPress role"
|
1337 |
+
msgstr "Ajouter ou supprimer une permission au rôle WordPress"
|
|
|
|
|
|
|
|
|
1338 |
|
1339 |
+
#: includes/manager.php:195
|
1340 |
+
msgid "This capability is explicitly negated. Click to add/remove normally."
|
1341 |
+
msgstr "Cette permission est explicitement niée. Cliquer pour l’ajouter/supprimer normalement."
|
|
|
|
|
|
|
|
|
1342 |
|
1343 |
+
#: includes/manager.php:194
|
1344 |
+
msgid "Post type registration does not define this capability distinctly"
|
1345 |
+
msgstr "L’enregistrement du type de publication ne définit pas cette permission de manière distincte"
|
1346 |
|
1347 |
+
#: includes/manager.php:193
|
1348 |
+
msgid "Explicitly negate these capabilities by storing as disabled"
|
1349 |
+
msgstr "Annulez explicitement ces permissions en les stockant comme désactivées"
|
|
|
|
|
|
|
|
|
1350 |
|
1351 |
+
#: includes/manager.php:192
|
1352 |
+
msgid "Explicity negate this capability by storing as disabled"
|
1353 |
+
msgstr "Annulez explicitement cette permission en la stockant comme désactivée"
|
|
|
|
|
|
|
|
|
1354 |
|
1355 |
+
#: includes/admin-load.php:282 includes/manager.php:329
|
1356 |
+
#: includes/roles/class/class-pp-roles-list-table.php:123
|
1357 |
+
msgid "Capabilities"
|
1358 |
+
msgstr "Permissions"
|
1359 |
+
|
1360 |
+
#: includes/admin.php:59
|
1361 |
+
msgid "Role Capabilities"
|
1362 |
+
msgstr "Permissions du rôle"
|
1363 |
+
|
1364 |
+
#: capsman-enhanced.php:100
|
1365 |
+
msgid "%s is required for this plugin."
|
1366 |
+
msgstr "%s est requis pour cette extension."
|
1367 |
+
|
1368 |
+
#: capsman-enhanced.php:98
|
1369 |
+
msgid "The active plugin %s is not compatible with your PHP version."
|
1370 |
+
msgstr "L’extension active %s n’est pas compatible avec votre version de PHP."
|
1371 |
+
|
1372 |
+
#: capsman-enhanced.php:97
|
1373 |
+
msgid "Warning:"
|
1374 |
+
msgstr "Avertissement :"
|
1375 |
+
|
1376 |
+
#: capsman-enhanced.php:40
|
1377 |
+
msgid "<strong>Error:</strong> PublishPress Capabilities cannot function because another copy of Capability Manager is active."
|
1378 |
+
msgstr "<strong>Erreur :</strong> PublishPress Capabilities ne peut être activée car un autre gestionnaire de permission est activé."
|
languages/capsman-enhanced-it_IT.mo
CHANGED
Binary file
|
languages/capsman-enhanced-it_IT.po
CHANGED
@@ -2,17 +2,17 @@
|
|
2 |
# This file is distributed under the same license as the Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable Readme (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"PO-Revision-Date: 2021-12-02 19:25+0100\n"
|
6 |
-
"MIME-Version: 1.0\n"
|
7 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
-
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
-
"X-Generator: Poedit 3.0\n"
|
11 |
-
"Language: it\n"
|
12 |
"Project-Id-Version: Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable Readme (latest release)\n"
|
13 |
"POT-Creation-Date: \n"
|
|
|
14 |
"Last-Translator: \n"
|
15 |
"Language-Team: Angelo Giammarresi - info@wocmultimedia.com\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
#. Plugin name.
|
18 |
msgid "PublishPress Capabilities - User Role Access, Editor Permissions, Admin Menus"
|
@@ -906,6 +906,66 @@ msgstr "7. Backup e ripristino dei ruoli utente e delle capacità"
|
|
906 |
msgid "2. Capabilities for any Post Type"
|
907 |
msgstr "2. Capacità per ogni tipo di articolo"
|
908 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
909 |
#. Found in changelog list item.
|
910 |
msgid "Feature : New \"Admin Features\" screen #200"
|
911 |
msgstr "Feature : New \"Admin Features\" screen #200"
|
2 |
# This file is distributed under the same license as the Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable Readme (latest release) package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
"Project-Id-Version: Plugins - PublishPress Capabilities – User Role Access, Editor Permissions, Admin Menus - Stable Readme (latest release)\n"
|
6 |
"POT-Creation-Date: \n"
|
7 |
+
"PO-Revision-Date: 2022-02-28 10:45+0100\n"
|
8 |
"Last-Translator: \n"
|
9 |
"Language-Team: Angelo Giammarresi - info@wocmultimedia.com\n"
|
10 |
+
"Language: it\n"
|
11 |
+
"MIME-Version: 1.0\n"
|
12 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
13 |
+
"Content-Transfer-Encoding: 8bit\n"
|
14 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
15 |
+
"X-Generator: Poedit 3.0.1\n"
|
16 |
|
17 |
#. Plugin name.
|
18 |
msgid "PublishPress Capabilities - User Role Access, Editor Permissions, Admin Menus"
|
906 |
msgid "2. Capabilities for any Post Type"
|
907 |
msgstr "2. Capacità per ogni tipo di articolo"
|
908 |
|
909 |
+
#. Found in changelog list item.
|
910 |
+
msgid "Compat : WordPress 5.9 - failure adding / editing posts under some Editor Features configurations (work around WP hooking late-defined function _disable_block_editor_for_navigation_post_type)"
|
911 |
+
msgstr "Compatibilità: WordPress 5.9 - mancata aggiunta/modifica di articoli sotto alcune configurazioni di funzioni dell'editor (work around WP hooking late-defined function _disable_block_editor_for_navigation_post_type)"
|
912 |
+
|
913 |
+
#. Found in changelog list item.
|
914 |
+
msgid "Fixed : CSRF vulnerability"
|
915 |
+
msgstr "Fixed : CSRF vulnerability"
|
916 |
+
|
917 |
+
#. Found in changelog list item.
|
918 |
+
msgid "Change : Capabilities screen - Tab for PublishPress Capabilities #220"
|
919 |
+
msgstr "Change : Capabilities screen - Tab for PublishPress Capabilities #220"
|
920 |
+
|
921 |
+
#. Found in changelog list item.
|
922 |
+
msgid "Change : Admin Features - Captions use dashes, not numbers #229"
|
923 |
+
msgstr "Change : Admin Features - Captions use dashes, not numbers #229"
|
924 |
+
|
925 |
+
#. Found in changelog list item.
|
926 |
+
msgid "Feature : Admin Features - More items available for restriction #240"
|
927 |
+
msgstr "Feature : Admin Features - More items available for restriction #240"
|
928 |
+
|
929 |
+
#. Found in changelog list item.
|
930 |
+
msgid "Feature : Admin Features - Restrict Admin Bar or individual Admin Bar elements"
|
931 |
+
msgstr "Feature : Admin Features - Restrict Admin Bar or individual Admin Bar elements"
|
932 |
+
|
933 |
+
#. Found in changelog list item.
|
934 |
+
msgid "Feature : Editor Features - Restrict editor elements for custom post types"
|
935 |
+
msgstr "Feature : Editor Features - Restrict editor elements for custom post types"
|
936 |
+
|
937 |
+
#. Found in changelog list item.
|
938 |
+
msgid "Feature : Filter Capabilities display by post type or text entry"
|
939 |
+
msgstr "Feature : Filter Capabilities display by post type or text entry"
|
940 |
+
|
941 |
+
#. Found in changelog list item.
|
942 |
+
msgid "Lang : Spanish, French, Italian"
|
943 |
+
msgstr "Lingue: Spagnolo, Francese, Italiano"
|
944 |
+
|
945 |
+
#. Found in changelog list item.
|
946 |
+
msgid "Fixed : Escape output variables"
|
947 |
+
msgstr "Fixed : Escape output variables"
|
948 |
+
|
949 |
+
#. Found in changelog list item.
|
950 |
+
msgid "Fixed : Input sanitization consistency"
|
951 |
+
msgstr "Fixed : Input sanitization consistency"
|
952 |
+
|
953 |
+
#. Found in changelog list item.
|
954 |
+
msgid "Fixed : After role rename, title in dropdown does not refresh"
|
955 |
+
msgstr "Fixed : After role rename, title in dropdown does not refresh"
|
956 |
+
|
957 |
+
#. Found in changelog list item.
|
958 |
+
msgid "Fixed : Capability names with dashes could not be added"
|
959 |
+
msgstr "Fixed : Capability names with dashes could not be added"
|
960 |
+
|
961 |
+
#. Found in changelog list item.
|
962 |
+
msgid "Fixed : PHP Notice on Capabilities screen"
|
963 |
+
msgstr "Fixed : PHP Notice on Capabilities screen"
|
964 |
+
|
965 |
+
#. Found in changelog list item.
|
966 |
+
msgid "Fixed : Security issue"
|
967 |
+
msgstr "Fixed : Security issue"
|
968 |
+
|
969 |
#. Found in changelog list item.
|
970 |
msgid "Feature : New \"Admin Features\" screen #200"
|
971 |
msgstr "Feature : New \"Admin Features\" screen #200"
|
readme.txt
CHANGED
@@ -7,7 +7,7 @@ Tags: user roles, capabilities, permissions, admin menus, post editing, post typ
|
|
7 |
Requires at least: 4.9.7
|
8 |
Tested up to: 5.9
|
9 |
Requires PHP: 5.6.20
|
10 |
-
Stable tag: 2.3.
|
11 |
License: GPLv3
|
12 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
13 |
|
@@ -409,6 +409,15 @@ Fixed : Security issue. Please update.
|
|
409 |
|
410 |
== Changelog ==
|
411 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
412 |
= 2.3.4 - 26 Jan 2022 =
|
413 |
* Compat : WordPress 5.9 - failure adding / editing posts under some Editor Features configurations (work around WP hooking late-defined function _disable_block_editor_for_navigation_post_type)
|
414 |
|
7 |
Requires at least: 4.9.7
|
8 |
Tested up to: 5.9
|
9 |
Requires PHP: 5.6.20
|
10 |
+
Stable tag: 2.3.5
|
11 |
License: GPLv3
|
12 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
13 |
|
409 |
|
410 |
== Changelog ==
|
411 |
|
412 |
+
= 2.3.5 - 13 Apr 2022 =
|
413 |
+
* Feature : Export / Import for new features
|
414 |
+
* Change : Clarify captions on Roles, Backup screens
|
415 |
+
* Fixed : Multisite: Don't apply Feature Restrictions to Super Administrators unless constant PP_CAPABILITIES_RESTRICT_SUPER_ADMIN is defined
|
416 |
+
* Fixed : Capabilities could not be updated if third party code executes too early. Now support constant PP_CAPABILITIES_COMPAT_MODE to work around conflicts.
|
417 |
+
* Fixed : Coding standards - WordPress VIP scan compliance improvements
|
418 |
+
* Compat : LoginWP - custom redirect failed
|
419 |
+
* Lang : New French, Italian and Spanish translations
|
420 |
+
|
421 |
= 2.3.4 - 26 Jan 2022 =
|
422 |
* Compat : WordPress 5.9 - failure adding / editing posts under some Editor Features configurations (work around WP hooking late-defined function _disable_block_editor_for_navigation_post_type)
|
423 |
|
vendor/composer/ClassLoader.php
CHANGED
@@ -37,57 +37,130 @@ namespace Composer\Autoload;
|
|
37 |
*
|
38 |
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
-
* @see
|
41 |
-
* @see
|
42 |
*/
|
43 |
class ClassLoader
|
44 |
{
|
|
|
|
|
|
|
45 |
// PSR-4
|
|
|
|
|
|
|
|
|
46 |
private $prefixLengthsPsr4 = array();
|
|
|
|
|
|
|
|
|
47 |
private $prefixDirsPsr4 = array();
|
|
|
|
|
|
|
|
|
48 |
private $fallbackDirsPsr4 = array();
|
49 |
|
50 |
// PSR-0
|
|
|
|
|
|
|
|
|
51 |
private $prefixesPsr0 = array();
|
|
|
|
|
|
|
|
|
52 |
private $fallbackDirsPsr0 = array();
|
53 |
|
|
|
54 |
private $useIncludePath = false;
|
|
|
|
|
|
|
|
|
|
|
55 |
private $classMap = array();
|
|
|
|
|
56 |
private $classMapAuthoritative = false;
|
|
|
|
|
|
|
|
|
|
|
57 |
private $missingClasses = array();
|
|
|
|
|
58 |
private $apcuPrefix;
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
public function getPrefixes()
|
61 |
{
|
62 |
if (!empty($this->prefixesPsr0)) {
|
63 |
-
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
64 |
}
|
65 |
|
66 |
return array();
|
67 |
}
|
68 |
|
|
|
|
|
|
|
|
|
69 |
public function getPrefixesPsr4()
|
70 |
{
|
71 |
return $this->prefixDirsPsr4;
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
74 |
public function getFallbackDirs()
|
75 |
{
|
76 |
return $this->fallbackDirsPsr0;
|
77 |
}
|
78 |
|
|
|
|
|
|
|
|
|
79 |
public function getFallbackDirsPsr4()
|
80 |
{
|
81 |
return $this->fallbackDirsPsr4;
|
82 |
}
|
83 |
|
|
|
|
|
|
|
|
|
84 |
public function getClassMap()
|
85 |
{
|
86 |
return $this->classMap;
|
87 |
}
|
88 |
|
89 |
/**
|
90 |
-
* @param
|
|
|
|
|
|
|
91 |
*/
|
92 |
public function addClassMap(array $classMap)
|
93 |
{
|
@@ -102,9 +175,11 @@ class ClassLoader
|
|
102 |
* Registers a set of PSR-0 directories for a given prefix, either
|
103 |
* appending or prepending to the ones previously set for this prefix.
|
104 |
*
|
105 |
-
* @param string
|
106 |
-
* @param
|
107 |
-
* @param bool
|
|
|
|
|
108 |
*/
|
109 |
public function add($prefix, $paths, $prepend = false)
|
110 |
{
|
@@ -147,11 +222,13 @@ class ClassLoader
|
|
147 |
* Registers a set of PSR-4 directories for a given namespace, either
|
148 |
* appending or prepending to the ones previously set for this namespace.
|
149 |
*
|
150 |
-
* @param string
|
151 |
-
* @param
|
152 |
-
* @param bool
|
153 |
*
|
154 |
* @throws \InvalidArgumentException
|
|
|
|
|
155 |
*/
|
156 |
public function addPsr4($prefix, $paths, $prepend = false)
|
157 |
{
|
@@ -195,8 +272,10 @@ class ClassLoader
|
|
195 |
* Registers a set of PSR-0 directories for a given prefix,
|
196 |
* replacing any others previously set for this prefix.
|
197 |
*
|
198 |
-
* @param string
|
199 |
-
* @param
|
|
|
|
|
200 |
*/
|
201 |
public function set($prefix, $paths)
|
202 |
{
|
@@ -211,10 +290,12 @@ class ClassLoader
|
|
211 |
* Registers a set of PSR-4 directories for a given namespace,
|
212 |
* replacing any others previously set for this namespace.
|
213 |
*
|
214 |
-
* @param string
|
215 |
-
* @param
|
216 |
*
|
217 |
* @throws \InvalidArgumentException
|
|
|
|
|
218 |
*/
|
219 |
public function setPsr4($prefix, $paths)
|
220 |
{
|
@@ -234,6 +315,8 @@ class ClassLoader
|
|
234 |
* Turns on searching the include path for class files.
|
235 |
*
|
236 |
* @param bool $useIncludePath
|
|
|
|
|
237 |
*/
|
238 |
public function setUseIncludePath($useIncludePath)
|
239 |
{
|
@@ -256,6 +339,8 @@ class ClassLoader
|
|
256 |
* that have not been registered with the class map.
|
257 |
*
|
258 |
* @param bool $classMapAuthoritative
|
|
|
|
|
259 |
*/
|
260 |
public function setClassMapAuthoritative($classMapAuthoritative)
|
261 |
{
|
@@ -276,6 +361,8 @@ class ClassLoader
|
|
276 |
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
277 |
*
|
278 |
* @param string|null $apcuPrefix
|
|
|
|
|
279 |
*/
|
280 |
public function setApcuPrefix($apcuPrefix)
|
281 |
{
|
@@ -296,25 +383,44 @@ class ClassLoader
|
|
296 |
* Registers this instance as an autoloader.
|
297 |
*
|
298 |
* @param bool $prepend Whether to prepend the autoloader or not
|
|
|
|
|
299 |
*/
|
300 |
public function register($prepend = false)
|
301 |
{
|
302 |
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
}
|
304 |
|
305 |
/**
|
306 |
* Unregisters this instance as an autoloader.
|
|
|
|
|
307 |
*/
|
308 |
public function unregister()
|
309 |
{
|
310 |
spl_autoload_unregister(array($this, 'loadClass'));
|
|
|
|
|
|
|
|
|
311 |
}
|
312 |
|
313 |
/**
|
314 |
* Loads the given class or interface.
|
315 |
*
|
316 |
* @param string $class The name of the class
|
317 |
-
* @return
|
318 |
*/
|
319 |
public function loadClass($class)
|
320 |
{
|
@@ -323,6 +429,8 @@ class ClassLoader
|
|
323 |
|
324 |
return true;
|
325 |
}
|
|
|
|
|
326 |
}
|
327 |
|
328 |
/**
|
@@ -367,6 +475,21 @@ class ClassLoader
|
|
367 |
return $file;
|
368 |
}
|
369 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
370 |
private function findFileWithExtension($class, $ext)
|
371 |
{
|
372 |
// PSR-4 lookup
|
@@ -438,6 +561,10 @@ class ClassLoader
|
|
438 |
* Scope isolated include.
|
439 |
*
|
440 |
* Prevents access to $this/self from included files.
|
|
|
|
|
|
|
|
|
441 |
*/
|
442 |
function includeFile($file)
|
443 |
{
|
37 |
*
|
38 |
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
+
* @see https://www.php-fig.org/psr/psr-0/
|
41 |
+
* @see https://www.php-fig.org/psr/psr-4/
|
42 |
*/
|
43 |
class ClassLoader
|
44 |
{
|
45 |
+
/** @var ?string */
|
46 |
+
private $vendorDir;
|
47 |
+
|
48 |
// PSR-4
|
49 |
+
/**
|
50 |
+
* @var array[]
|
51 |
+
* @psalm-var array<string, array<string, int>>
|
52 |
+
*/
|
53 |
private $prefixLengthsPsr4 = array();
|
54 |
+
/**
|
55 |
+
* @var array[]
|
56 |
+
* @psalm-var array<string, array<int, string>>
|
57 |
+
*/
|
58 |
private $prefixDirsPsr4 = array();
|
59 |
+
/**
|
60 |
+
* @var array[]
|
61 |
+
* @psalm-var array<string, string>
|
62 |
+
*/
|
63 |
private $fallbackDirsPsr4 = array();
|
64 |
|
65 |
// PSR-0
|
66 |
+
/**
|
67 |
+
* @var array[]
|
68 |
+
* @psalm-var array<string, array<string, string[]>>
|
69 |
+
*/
|
70 |
private $prefixesPsr0 = array();
|
71 |
+
/**
|
72 |
+
* @var array[]
|
73 |
+
* @psalm-var array<string, string>
|
74 |
+
*/
|
75 |
private $fallbackDirsPsr0 = array();
|
76 |
|
77 |
+
/** @var bool */
|
78 |
private $useIncludePath = false;
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @var string[]
|
82 |
+
* @psalm-var array<string, string>
|
83 |
+
*/
|
84 |
private $classMap = array();
|
85 |
+
|
86 |
+
/** @var bool */
|
87 |
private $classMapAuthoritative = false;
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @var bool[]
|
91 |
+
* @psalm-var array<string, bool>
|
92 |
+
*/
|
93 |
private $missingClasses = array();
|
94 |
+
|
95 |
+
/** @var ?string */
|
96 |
private $apcuPrefix;
|
97 |
|
98 |
+
/**
|
99 |
+
* @var self[]
|
100 |
+
*/
|
101 |
+
private static $registeredLoaders = array();
|
102 |
+
|
103 |
+
/**
|
104 |
+
* @param ?string $vendorDir
|
105 |
+
*/
|
106 |
+
public function __construct($vendorDir = null)
|
107 |
+
{
|
108 |
+
$this->vendorDir = $vendorDir;
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* @return string[]
|
113 |
+
*/
|
114 |
public function getPrefixes()
|
115 |
{
|
116 |
if (!empty($this->prefixesPsr0)) {
|
117 |
+
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
118 |
}
|
119 |
|
120 |
return array();
|
121 |
}
|
122 |
|
123 |
+
/**
|
124 |
+
* @return array[]
|
125 |
+
* @psalm-return array<string, array<int, string>>
|
126 |
+
*/
|
127 |
public function getPrefixesPsr4()
|
128 |
{
|
129 |
return $this->prefixDirsPsr4;
|
130 |
}
|
131 |
|
132 |
+
/**
|
133 |
+
* @return array[]
|
134 |
+
* @psalm-return array<string, string>
|
135 |
+
*/
|
136 |
public function getFallbackDirs()
|
137 |
{
|
138 |
return $this->fallbackDirsPsr0;
|
139 |
}
|
140 |
|
141 |
+
/**
|
142 |
+
* @return array[]
|
143 |
+
* @psalm-return array<string, string>
|
144 |
+
*/
|
145 |
public function getFallbackDirsPsr4()
|
146 |
{
|
147 |
return $this->fallbackDirsPsr4;
|
148 |
}
|
149 |
|
150 |
+
/**
|
151 |
+
* @return string[] Array of classname => path
|
152 |
+
* @psalm-return array<string, string>
|
153 |
+
*/
|
154 |
public function getClassMap()
|
155 |
{
|
156 |
return $this->classMap;
|
157 |
}
|
158 |
|
159 |
/**
|
160 |
+
* @param string[] $classMap Class to filename map
|
161 |
+
* @psalm-param array<string, string> $classMap
|
162 |
+
*
|
163 |
+
* @return void
|
164 |
*/
|
165 |
public function addClassMap(array $classMap)
|
166 |
{
|
175 |
* Registers a set of PSR-0 directories for a given prefix, either
|
176 |
* appending or prepending to the ones previously set for this prefix.
|
177 |
*
|
178 |
+
* @param string $prefix The prefix
|
179 |
+
* @param string[]|string $paths The PSR-0 root directories
|
180 |
+
* @param bool $prepend Whether to prepend the directories
|
181 |
+
*
|
182 |
+
* @return void
|
183 |
*/
|
184 |
public function add($prefix, $paths, $prepend = false)
|
185 |
{
|
222 |
* Registers a set of PSR-4 directories for a given namespace, either
|
223 |
* appending or prepending to the ones previously set for this namespace.
|
224 |
*
|
225 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
226 |
+
* @param string[]|string $paths The PSR-4 base directories
|
227 |
+
* @param bool $prepend Whether to prepend the directories
|
228 |
*
|
229 |
* @throws \InvalidArgumentException
|
230 |
+
*
|
231 |
+
* @return void
|
232 |
*/
|
233 |
public function addPsr4($prefix, $paths, $prepend = false)
|
234 |
{
|
272 |
* Registers a set of PSR-0 directories for a given prefix,
|
273 |
* replacing any others previously set for this prefix.
|
274 |
*
|
275 |
+
* @param string $prefix The prefix
|
276 |
+
* @param string[]|string $paths The PSR-0 base directories
|
277 |
+
*
|
278 |
+
* @return void
|
279 |
*/
|
280 |
public function set($prefix, $paths)
|
281 |
{
|
290 |
* Registers a set of PSR-4 directories for a given namespace,
|
291 |
* replacing any others previously set for this namespace.
|
292 |
*
|
293 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
294 |
+
* @param string[]|string $paths The PSR-4 base directories
|
295 |
*
|
296 |
* @throws \InvalidArgumentException
|
297 |
+
*
|
298 |
+
* @return void
|
299 |
*/
|
300 |
public function setPsr4($prefix, $paths)
|
301 |
{
|
315 |
* Turns on searching the include path for class files.
|
316 |
*
|
317 |
* @param bool $useIncludePath
|
318 |
+
*
|
319 |
+
* @return void
|
320 |
*/
|
321 |
public function setUseIncludePath($useIncludePath)
|
322 |
{
|
339 |
* that have not been registered with the class map.
|
340 |
*
|
341 |
* @param bool $classMapAuthoritative
|
342 |
+
*
|
343 |
+
* @return void
|
344 |
*/
|
345 |
public function setClassMapAuthoritative($classMapAuthoritative)
|
346 |
{
|
361 |
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
362 |
*
|
363 |
* @param string|null $apcuPrefix
|
364 |
+
*
|
365 |
+
* @return void
|
366 |
*/
|
367 |
public function setApcuPrefix($apcuPrefix)
|
368 |
{
|
383 |
* Registers this instance as an autoloader.
|
384 |
*
|
385 |
* @param bool $prepend Whether to prepend the autoloader or not
|
386 |
+
*
|
387 |
+
* @return void
|
388 |
*/
|
389 |
public function register($prepend = false)
|
390 |
{
|
391 |
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
392 |
+
|
393 |
+
if (null === $this->vendorDir) {
|
394 |
+
return;
|
395 |
+
}
|
396 |
+
|
397 |
+
if ($prepend) {
|
398 |
+
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
|
399 |
+
} else {
|
400 |
+
unset(self::$registeredLoaders[$this->vendorDir]);
|
401 |
+
self::$registeredLoaders[$this->vendorDir] = $this;
|
402 |
+
}
|
403 |
}
|
404 |
|
405 |
/**
|
406 |
* Unregisters this instance as an autoloader.
|
407 |
+
*
|
408 |
+
* @return void
|
409 |
*/
|
410 |
public function unregister()
|
411 |
{
|
412 |
spl_autoload_unregister(array($this, 'loadClass'));
|
413 |
+
|
414 |
+
if (null !== $this->vendorDir) {
|
415 |
+
unset(self::$registeredLoaders[$this->vendorDir]);
|
416 |
+
}
|
417 |
}
|
418 |
|
419 |
/**
|
420 |
* Loads the given class or interface.
|
421 |
*
|
422 |
* @param string $class The name of the class
|
423 |
+
* @return true|null True if loaded, null otherwise
|
424 |
*/
|
425 |
public function loadClass($class)
|
426 |
{
|
429 |
|
430 |
return true;
|
431 |
}
|
432 |
+
|
433 |
+
return null;
|
434 |
}
|
435 |
|
436 |
/**
|
475 |
return $file;
|
476 |
}
|
477 |
|
478 |
+
/**
|
479 |
+
* Returns the currently registered loaders indexed by their corresponding vendor directories.
|
480 |
+
*
|
481 |
+
* @return self[]
|
482 |
+
*/
|
483 |
+
public static function getRegisteredLoaders()
|
484 |
+
{
|
485 |
+
return self::$registeredLoaders;
|
486 |
+
}
|
487 |
+
|
488 |
+
/**
|
489 |
+
* @param string $class
|
490 |
+
* @param string $ext
|
491 |
+
* @return string|false
|
492 |
+
*/
|
493 |
private function findFileWithExtension($class, $ext)
|
494 |
{
|
495 |
// PSR-4 lookup
|
561 |
* Scope isolated include.
|
562 |
*
|
563 |
* Prevents access to $this/self from included files.
|
564 |
+
*
|
565 |
+
* @param string $file
|
566 |
+
* @return void
|
567 |
+
* @private
|
568 |
*/
|
569 |
function includeFile($file)
|
570 |
{
|
vendor/composer/InstalledVersions.php
ADDED
@@ -0,0 +1,350 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Composer.
|
5 |
+
*
|
6 |
+
* (c) Nils Adermann <naderman@naderman.de>
|
7 |
+
* Jordi Boggiano <j.boggiano@seld.be>
|
8 |
+
*
|
9 |
+
* For the full copyright and license information, please view the LICENSE
|
10 |
+
* file that was distributed with this source code.
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace Composer;
|
14 |
+
|
15 |
+
use Composer\Autoload\ClassLoader;
|
16 |
+
use Composer\Semver\VersionParser;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* This class is copied in every Composer installed project and available to all
|
20 |
+
*
|
21 |
+
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
22 |
+
*
|
23 |
+
* To require its presence, you can require `composer-runtime-api ^2.0`
|
24 |
+
*/
|
25 |
+
class InstalledVersions
|
26 |
+
{
|
27 |
+
/**
|
28 |
+
* @var mixed[]|null
|
29 |
+
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
|
30 |
+
*/
|
31 |
+
private static $installed;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @var bool|null
|
35 |
+
*/
|
36 |
+
private static $canGetVendors;
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @var array[]
|
40 |
+
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
41 |
+
*/
|
42 |
+
private static $installedByVendor = array();
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Returns a list of all package names which are present, either by being installed, replaced or provided
|
46 |
+
*
|
47 |
+
* @return string[]
|
48 |
+
* @psalm-return list<string>
|
49 |
+
*/
|
50 |
+
public static function getInstalledPackages()
|
51 |
+
{
|
52 |
+
$packages = array();
|
53 |
+
foreach (self::getInstalled() as $installed) {
|
54 |
+
$packages[] = array_keys($installed['versions']);
|
55 |
+
}
|
56 |
+
|
57 |
+
if (1 === \count($packages)) {
|
58 |
+
return $packages[0];
|
59 |
+
}
|
60 |
+
|
61 |
+
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Returns a list of all package names with a specific type e.g. 'library'
|
66 |
+
*
|
67 |
+
* @param string $type
|
68 |
+
* @return string[]
|
69 |
+
* @psalm-return list<string>
|
70 |
+
*/
|
71 |
+
public static function getInstalledPackagesByType($type)
|
72 |
+
{
|
73 |
+
$packagesByType = array();
|
74 |
+
|
75 |
+
foreach (self::getInstalled() as $installed) {
|
76 |
+
foreach ($installed['versions'] as $name => $package) {
|
77 |
+
if (isset($package['type']) && $package['type'] === $type) {
|
78 |
+
$packagesByType[] = $name;
|
79 |
+
}
|
80 |
+
}
|
81 |
+
}
|
82 |
+
|
83 |
+
return $packagesByType;
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Checks whether the given package is installed
|
88 |
+
*
|
89 |
+
* This also returns true if the package name is provided or replaced by another package
|
90 |
+
*
|
91 |
+
* @param string $packageName
|
92 |
+
* @param bool $includeDevRequirements
|
93 |
+
* @return bool
|
94 |
+
*/
|
95 |
+
public static function isInstalled($packageName, $includeDevRequirements = true)
|
96 |
+
{
|
97 |
+
foreach (self::getInstalled() as $installed) {
|
98 |
+
if (isset($installed['versions'][$packageName])) {
|
99 |
+
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
return false;
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* Checks whether the given package satisfies a version constraint
|
108 |
+
*
|
109 |
+
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
|
110 |
+
*
|
111 |
+
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
|
112 |
+
*
|
113 |
+
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
|
114 |
+
* @param string $packageName
|
115 |
+
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
|
116 |
+
* @return bool
|
117 |
+
*/
|
118 |
+
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
119 |
+
{
|
120 |
+
$constraint = $parser->parseConstraints($constraint);
|
121 |
+
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
122 |
+
|
123 |
+
return $provided->matches($constraint);
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Returns a version constraint representing all the range(s) which are installed for a given package
|
128 |
+
*
|
129 |
+
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
|
130 |
+
* whether a given version of a package is installed, and not just whether it exists
|
131 |
+
*
|
132 |
+
* @param string $packageName
|
133 |
+
* @return string Version constraint usable with composer/semver
|
134 |
+
*/
|
135 |
+
public static function getVersionRanges($packageName)
|
136 |
+
{
|
137 |
+
foreach (self::getInstalled() as $installed) {
|
138 |
+
if (!isset($installed['versions'][$packageName])) {
|
139 |
+
continue;
|
140 |
+
}
|
141 |
+
|
142 |
+
$ranges = array();
|
143 |
+
if (isset($installed['versions'][$packageName]['pretty_version'])) {
|
144 |
+
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
|
145 |
+
}
|
146 |
+
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
|
147 |
+
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
|
148 |
+
}
|
149 |
+
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
|
150 |
+
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
|
151 |
+
}
|
152 |
+
if (array_key_exists('provided', $installed['versions'][$packageName])) {
|
153 |
+
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
|
154 |
+
}
|
155 |
+
|
156 |
+
return implode(' || ', $ranges);
|
157 |
+
}
|
158 |
+
|
159 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
160 |
+
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
* @param string $packageName
|
164 |
+
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
165 |
+
*/
|
166 |
+
public static function getVersion($packageName)
|
167 |
+
{
|
168 |
+
foreach (self::getInstalled() as $installed) {
|
169 |
+
if (!isset($installed['versions'][$packageName])) {
|
170 |
+
continue;
|
171 |
+
}
|
172 |
+
|
173 |
+
if (!isset($installed['versions'][$packageName]['version'])) {
|
174 |
+
return null;
|
175 |
+
}
|
176 |
+
|
177 |
+
return $installed['versions'][$packageName]['version'];
|
178 |
+
}
|
179 |
+
|
180 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
181 |
+
}
|
182 |
+
|
183 |
+
/**
|
184 |
+
* @param string $packageName
|
185 |
+
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
186 |
+
*/
|
187 |
+
public static function getPrettyVersion($packageName)
|
188 |
+
{
|
189 |
+
foreach (self::getInstalled() as $installed) {
|
190 |
+
if (!isset($installed['versions'][$packageName])) {
|
191 |
+
continue;
|
192 |
+
}
|
193 |
+
|
194 |
+
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
|
195 |
+
return null;
|
196 |
+
}
|
197 |
+
|
198 |
+
return $installed['versions'][$packageName]['pretty_version'];
|
199 |
+
}
|
200 |
+
|
201 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
202 |
+
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* @param string $packageName
|
206 |
+
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
|
207 |
+
*/
|
208 |
+
public static function getReference($packageName)
|
209 |
+
{
|
210 |
+
foreach (self::getInstalled() as $installed) {
|
211 |
+
if (!isset($installed['versions'][$packageName])) {
|
212 |
+
continue;
|
213 |
+
}
|
214 |
+
|
215 |
+
if (!isset($installed['versions'][$packageName]['reference'])) {
|
216 |
+
return null;
|
217 |
+
}
|
218 |
+
|
219 |
+
return $installed['versions'][$packageName]['reference'];
|
220 |
+
}
|
221 |
+
|
222 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* @param string $packageName
|
227 |
+
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
|
228 |
+
*/
|
229 |
+
public static function getInstallPath($packageName)
|
230 |
+
{
|
231 |
+
foreach (self::getInstalled() as $installed) {
|
232 |
+
if (!isset($installed['versions'][$packageName])) {
|
233 |
+
continue;
|
234 |
+
}
|
235 |
+
|
236 |
+
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
|
237 |
+
}
|
238 |
+
|
239 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
240 |
+
}
|
241 |
+
|
242 |
+
/**
|
243 |
+
* @return array
|
244 |
+
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
|
245 |
+
*/
|
246 |
+
public static function getRootPackage()
|
247 |
+
{
|
248 |
+
$installed = self::getInstalled();
|
249 |
+
|
250 |
+
return $installed[0]['root'];
|
251 |
+
}
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Returns the raw installed.php data for custom implementations
|
255 |
+
*
|
256 |
+
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
257 |
+
* @return array[]
|
258 |
+
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
|
259 |
+
*/
|
260 |
+
public static function getRawData()
|
261 |
+
{
|
262 |
+
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
|
263 |
+
|
264 |
+
if (null === self::$installed) {
|
265 |
+
// only require the installed.php file if this file is loaded from its dumped location,
|
266 |
+
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
267 |
+
if (substr(__DIR__, -8, 1) !== 'C') {
|
268 |
+
self::$installed = include __DIR__ . '/installed.php';
|
269 |
+
} else {
|
270 |
+
self::$installed = array();
|
271 |
+
}
|
272 |
+
}
|
273 |
+
|
274 |
+
return self::$installed;
|
275 |
+
}
|
276 |
+
|
277 |
+
/**
|
278 |
+
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
279 |
+
*
|
280 |
+
* @return array[]
|
281 |
+
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
282 |
+
*/
|
283 |
+
public static function getAllRawData()
|
284 |
+
{
|
285 |
+
return self::getInstalled();
|
286 |
+
}
|
287 |
+
|
288 |
+
/**
|
289 |
+
* Lets you reload the static array from another file
|
290 |
+
*
|
291 |
+
* This is only useful for complex integrations in which a project needs to use
|
292 |
+
* this class but then also needs to execute another project's autoloader in process,
|
293 |
+
* and wants to ensure both projects have access to their version of installed.php.
|
294 |
+
*
|
295 |
+
* A typical case would be PHPUnit, where it would need to make sure it reads all
|
296 |
+
* the data it needs from this class, then call reload() with
|
297 |
+
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
|
298 |
+
* the project in which it runs can then also use this class safely, without
|
299 |
+
* interference between PHPUnit's dependencies and the project's dependencies.
|
300 |
+
*
|
301 |
+
* @param array[] $data A vendor/composer/installed.php data set
|
302 |
+
* @return void
|
303 |
+
*
|
304 |
+
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
|
305 |
+
*/
|
306 |
+
public static function reload($data)
|
307 |
+
{
|
308 |
+
self::$installed = $data;
|
309 |
+
self::$installedByVendor = array();
|
310 |
+
}
|
311 |
+
|
312 |
+
/**
|
313 |
+
* @return array[]
|
314 |
+
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
315 |
+
*/
|
316 |
+
private static function getInstalled()
|
317 |
+
{
|
318 |
+
if (null === self::$canGetVendors) {
|
319 |
+
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
|
320 |
+
}
|
321 |
+
|
322 |
+
$installed = array();
|
323 |
+
|
324 |
+
if (self::$canGetVendors) {
|
325 |
+
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
326 |
+
if (isset(self::$installedByVendor[$vendorDir])) {
|
327 |
+
$installed[] = self::$installedByVendor[$vendorDir];
|
328 |
+
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
329 |
+
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
330 |
+
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
331 |
+
self::$installed = $installed[count($installed) - 1];
|
332 |
+
}
|
333 |
+
}
|
334 |
+
}
|
335 |
+
}
|
336 |
+
|
337 |
+
if (null === self::$installed) {
|
338 |
+
// only require the installed.php file if this file is loaded from its dumped location,
|
339 |
+
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
340 |
+
if (substr(__DIR__, -8, 1) !== 'C') {
|
341 |
+
self::$installed = require __DIR__ . '/installed.php';
|
342 |
+
} else {
|
343 |
+
self::$installed = array();
|
344 |
+
}
|
345 |
+
}
|
346 |
+
$installed[] = self::$installed;
|
347 |
+
|
348 |
+
return $installed;
|
349 |
+
}
|
350 |
+
}
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -6,4 +6,5 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
|
|
9 |
);
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
9 |
+
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
10 |
);
|
vendor/composer/autoload_files.php
CHANGED
@@ -6,5 +6,6 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
|
|
9 |
'41c664bd04a95c2d6a2f2a3e00f06593' => $vendorDir . '/publishpress/wordpress-reviews/ReviewsController.php',
|
10 |
);
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
9 |
+
'0078757fbd019a5f202f2be6585c3626' => $vendorDir . '/publishpress/wordpress-banners/BannersMain.php',
|
10 |
'41c664bd04a95c2d6a2f2a3e00f06593' => $vendorDir . '/publishpress/wordpress-reviews/ReviewsController.php',
|
11 |
);
|
vendor/composer/autoload_real.php
CHANGED
@@ -22,13 +22,15 @@ class ComposerAutoloaderInit32a3d3886cf8ef146352508e41da4ee9
|
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
|
|
|
|
25 |
spl_autoload_register(array('ComposerAutoloaderInit32a3d3886cf8ef146352508e41da4ee9', 'loadClassLoader'), true, true);
|
26 |
-
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
27 |
spl_autoload_unregister(array('ComposerAutoloaderInit32a3d3886cf8ef146352508e41da4ee9', 'loadClassLoader'));
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
-
|
32 |
|
33 |
call_user_func(\Composer\Autoload\ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9::getInitializer($loader));
|
34 |
} else {
|
@@ -63,11 +65,16 @@ class ComposerAutoloaderInit32a3d3886cf8ef146352508e41da4ee9
|
|
63 |
}
|
64 |
}
|
65 |
|
|
|
|
|
|
|
|
|
|
|
66 |
function composerRequire32a3d3886cf8ef146352508e41da4ee9($fileIdentifier, $file)
|
67 |
{
|
68 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
69 |
-
require $file;
|
70 |
-
|
71 |
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
|
|
|
|
72 |
}
|
73 |
}
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
+
require __DIR__ . '/platform_check.php';
|
26 |
+
|
27 |
spl_autoload_register(array('ComposerAutoloaderInit32a3d3886cf8ef146352508e41da4ee9', 'loadClassLoader'), true, true);
|
28 |
+
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
29 |
spl_autoload_unregister(array('ComposerAutoloaderInit32a3d3886cf8ef146352508e41da4ee9', 'loadClassLoader'));
|
30 |
|
31 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
32 |
if ($useStaticLoader) {
|
33 |
+
require __DIR__ . '/autoload_static.php';
|
34 |
|
35 |
call_user_func(\Composer\Autoload\ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9::getInitializer($loader));
|
36 |
} else {
|
65 |
}
|
66 |
}
|
67 |
|
68 |
+
/**
|
69 |
+
* @param string $fileIdentifier
|
70 |
+
* @param string $file
|
71 |
+
* @return void
|
72 |
+
*/
|
73 |
function composerRequire32a3d3886cf8ef146352508e41da4ee9($fileIdentifier, $file)
|
74 |
{
|
75 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
|
|
|
|
76 |
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
77 |
+
|
78 |
+
require $file;
|
79 |
}
|
80 |
}
|
vendor/composer/autoload_static.php
CHANGED
@@ -7,6 +7,7 @@ namespace Composer\Autoload;
|
|
7 |
class ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9
|
8 |
{
|
9 |
public static $files = array (
|
|
|
10 |
'41c664bd04a95c2d6a2f2a3e00f06593' => __DIR__ . '/..' . '/publishpress/wordpress-reviews/ReviewsController.php',
|
11 |
);
|
12 |
|
@@ -39,12 +40,17 @@ class ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9
|
|
39 |
),
|
40 |
);
|
41 |
|
|
|
|
|
|
|
|
|
42 |
public static function getInitializer(ClassLoader $loader)
|
43 |
{
|
44 |
return \Closure::bind(function () use ($loader) {
|
45 |
$loader->prefixLengthsPsr4 = ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9::$prefixLengthsPsr4;
|
46 |
$loader->prefixDirsPsr4 = ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9::$prefixDirsPsr4;
|
47 |
$loader->prefixesPsr0 = ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9::$prefixesPsr0;
|
|
|
48 |
|
49 |
}, null, ClassLoader::class);
|
50 |
}
|
7 |
class ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9
|
8 |
{
|
9 |
public static $files = array (
|
10 |
+
'0078757fbd019a5f202f2be6585c3626' => __DIR__ . '/..' . '/publishpress/wordpress-banners/BannersMain.php',
|
11 |
'41c664bd04a95c2d6a2f2a3e00f06593' => __DIR__ . '/..' . '/publishpress/wordpress-reviews/ReviewsController.php',
|
12 |
);
|
13 |
|
40 |
),
|
41 |
);
|
42 |
|
43 |
+
public static $classMap = array (
|
44 |
+
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
45 |
+
);
|
46 |
+
|
47 |
public static function getInitializer(ClassLoader $loader)
|
48 |
{
|
49 |
return \Closure::bind(function () use ($loader) {
|
50 |
$loader->prefixLengthsPsr4 = ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9::$prefixLengthsPsr4;
|
51 |
$loader->prefixDirsPsr4 = ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9::$prefixDirsPsr4;
|
52 |
$loader->prefixesPsr0 = ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9::$prefixesPsr0;
|
53 |
+
$loader->classMap = ComposerStaticInit32a3d3886cf8ef146352508e41da4ee9::$classMap;
|
54 |
|
55 |
}, null, ClassLoader::class);
|
56 |
}
|
vendor/composer/installed.json
CHANGED
@@ -1,249 +1,271 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
"
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
"
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
"
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
"
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
"
|
28 |
-
"
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
"
|
34 |
-
"
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
"
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
"
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
"name": "psr/container",
|
56 |
-
"version": "1.0.0",
|
57 |
-
"version_normalized": "1.0.0.0",
|
58 |
-
"source": {
|
59 |
-
"type": "git",
|
60 |
-
"url": "https://github.com/php-fig/container.git",
|
61 |
-
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
|
62 |
-
},
|
63 |
-
"dist": {
|
64 |
-
"type": "zip",
|
65 |
-
"url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
|
66 |
-
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
|
67 |
-
"shasum": ""
|
68 |
-
},
|
69 |
-
"require": {
|
70 |
-
"php": ">=5.3.0"
|
71 |
-
},
|
72 |
-
"time": "2017-02-14T16:28:37+00:00",
|
73 |
-
"type": "library",
|
74 |
-
"extra": {
|
75 |
-
"branch-alias": {
|
76 |
-
"dev-master": "1.0.x-dev"
|
77 |
-
}
|
78 |
-
},
|
79 |
-
"installation-source": "dist",
|
80 |
-
"autoload": {
|
81 |
-
"psr-4": {
|
82 |
-
"Psr\\Container\\": "src/"
|
83 |
-
}
|
84 |
-
},
|
85 |
-
"notification-url": "https://packagist.org/downloads/",
|
86 |
-
"license": [
|
87 |
-
"MIT"
|
88 |
-
],
|
89 |
-
"authors": [
|
90 |
-
{
|
91 |
-
"name": "PHP-FIG",
|
92 |
-
"homepage": "http://www.php-fig.org/"
|
93 |
-
}
|
94 |
-
],
|
95 |
-
"description": "Common Container Interface (PHP FIG PSR-11)",
|
96 |
-
"homepage": "https://github.com/php-fig/container",
|
97 |
-
"keywords": [
|
98 |
-
"PSR-11",
|
99 |
-
"container",
|
100 |
-
"container-interface",
|
101 |
-
"container-interop",
|
102 |
-
"psr"
|
103 |
-
]
|
104 |
-
},
|
105 |
-
{
|
106 |
-
"name": "publishpress/wordpress-banners",
|
107 |
-
"version": "v1.2.4",
|
108 |
-
"version_normalized": "1.2.4.0",
|
109 |
-
"source": {
|
110 |
-
"type": "git",
|
111 |
-
"url": "https://github.com/publishpress/wordpress-banners.git",
|
112 |
-
"reference": "76db80ef2166e671fff021fdce20ff4ec206def2"
|
113 |
-
},
|
114 |
-
"dist": {
|
115 |
-
"type": "zip",
|
116 |
-
"url": "https://api.github.com/repos/publishpress/wordpress-banners/zipball/76db80ef2166e671fff021fdce20ff4ec206def2",
|
117 |
-
"reference": "76db80ef2166e671fff021fdce20ff4ec206def2",
|
118 |
-
"shasum": ""
|
119 |
-
},
|
120 |
-
"require": {
|
121 |
-
"php": ">=5.6.20"
|
122 |
-
},
|
123 |
-
"time": "2021-11-22T22:01:45+00:00",
|
124 |
-
"type": "library",
|
125 |
-
"installation-source": "dist",
|
126 |
-
"notification-url": "https://packagist.org/downloads/",
|
127 |
-
"license": [
|
128 |
-
"GPL-3.0-or-later"
|
129 |
-
],
|
130 |
-
"authors": [
|
131 |
-
{
|
132 |
-
"name": "PublishPress",
|
133 |
-
"email": "help@publishpress.com"
|
134 |
-
}
|
135 |
-
],
|
136 |
-
"description": "Display banners in admin pages of PublishPress Plugins.",
|
137 |
-
"homepage": "http://publishpress.com/"
|
138 |
-
},
|
139 |
-
{
|
140 |
-
"name": "publishpress/wordpress-reviews",
|
141 |
-
"version": "v1.1.16",
|
142 |
-
"version_normalized": "1.1.16.0",
|
143 |
-
"source": {
|
144 |
-
"type": "git",
|
145 |
-
"url": "https://github.com/publishpress/wordpress-reviews.git",
|
146 |
-
"reference": "2b647f104d7aa64e0c72c028f86e1875035b7a91"
|
147 |
-
},
|
148 |
-
"dist": {
|
149 |
-
"type": "zip",
|
150 |
-
"url": "https://api.github.com/repos/publishpress/wordpress-reviews/zipball/2b647f104d7aa64e0c72c028f86e1875035b7a91",
|
151 |
-
"reference": "2b647f104d7aa64e0c72c028f86e1875035b7a91",
|
152 |
-
"shasum": ""
|
153 |
-
},
|
154 |
-
"require": {
|
155 |
-
"php": ">=5.6.20"
|
156 |
-
},
|
157 |
-
"require-dev": {
|
158 |
-
"codeception/module-asserts": "^1.0",
|
159 |
-
"codeception/module-cli": "^1.0",
|
160 |
-
"codeception/module-db": "^1.0",
|
161 |
-
"codeception/module-filesystem": "^1.0",
|
162 |
-
"codeception/module-phpbrowser": "^1.0",
|
163 |
-
"codeception/module-rest": "^1.3",
|
164 |
-
"codeception/module-webdriver": "^1.0",
|
165 |
-
"codeception/util-universalframework": "^1.0",
|
166 |
-
"lucatume/wp-browser": "^3",
|
167 |
-
"overtrue/phplint": "^2.1",
|
168 |
-
"phpmd/phpmd": "^2.8",
|
169 |
-
"publishpress/publishpress-plugin-builder": "^1.2",
|
170 |
-
"sebastian/phpcpd": "^5.0",
|
171 |
-
"squizlabs/php_codesniffer": "^3.5",
|
172 |
-
"wp-cli/i18n-command": "^2.2",
|
173 |
-
"wp-cli/wp-cli": "^2.5"
|
174 |
-
},
|
175 |
-
"time": "2021-12-01T20:36:26+00:00",
|
176 |
-
"type": "library",
|
177 |
-
"installation-source": "dist",
|
178 |
-
"autoload": {
|
179 |
-
"files": [
|
180 |
-
"ReviewsController.php"
|
181 |
-
]
|
182 |
-
},
|
183 |
-
"notification-url": "https://packagist.org/downloads/",
|
184 |
-
"license": [
|
185 |
-
"GPL-3.0-or-later"
|
186 |
-
],
|
187 |
-
"authors": [
|
188 |
-
{
|
189 |
-
"name": "PublishPress",
|
190 |
-
"email": "help@publishpress.com"
|
191 |
-
},
|
192 |
-
{
|
193 |
-
"name": "Daniel Iser",
|
194 |
-
"homepage": "https://github.com/danieliser/WP-Product-In-Dash-Review-Requests"
|
195 |
-
}
|
196 |
-
],
|
197 |
-
"description": "Library for showing a five-star review banner.",
|
198 |
-
"homepage": "http://publishpress.com/",
|
199 |
-
"keywords": [
|
200 |
-
"review",
|
201 |
-
"reviews",
|
202 |
-
"wordpress plugin"
|
203 |
-
]
|
204 |
-
},
|
205 |
-
{
|
206 |
-
"name": "publishpress/wordpress-version-notices",
|
207 |
-
"version": "1.1.3",
|
208 |
-
"version_normalized": "1.1.3.0",
|
209 |
-
"source": {
|
210 |
-
"type": "git",
|
211 |
-
"url": "https://github.com/publishpress/WordPress-Version-Notices.git",
|
212 |
-
"reference": "57e7cbb3e9b9ac366ddd3fd0a80c2e2eabf75ea3"
|
213 |
-
},
|
214 |
-
"dist": {
|
215 |
-
"type": "zip",
|
216 |
-
"url": "https://api.github.com/repos/publishpress/WordPress-Version-Notices/zipball/57e7cbb3e9b9ac366ddd3fd0a80c2e2eabf75ea3",
|
217 |
-
"reference": "57e7cbb3e9b9ac366ddd3fd0a80c2e2eabf75ea3",
|
218 |
-
"shasum": ""
|
219 |
},
|
220 |
-
|
221 |
-
"
|
222 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
},
|
224 |
-
|
225 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
},
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
"
|
232 |
-
"
|
233 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
},
|
235 |
-
|
236 |
-
|
237 |
-
"
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
"
|
242 |
-
"
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"packages": [
|
3 |
+
{
|
4 |
+
"name": "pimple/pimple",
|
5 |
+
"version": "v3.2.3",
|
6 |
+
"version_normalized": "3.2.3.0",
|
7 |
+
"source": {
|
8 |
+
"type": "git",
|
9 |
+
"url": "https://github.com/silexphp/Pimple.git",
|
10 |
+
"reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32"
|
11 |
+
},
|
12 |
+
"dist": {
|
13 |
+
"type": "zip",
|
14 |
+
"url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32",
|
15 |
+
"reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32",
|
16 |
+
"shasum": ""
|
17 |
+
},
|
18 |
+
"require": {
|
19 |
+
"php": ">=5.3.0",
|
20 |
+
"psr/container": "^1.0"
|
21 |
+
},
|
22 |
+
"require-dev": {
|
23 |
+
"symfony/phpunit-bridge": "^3.2"
|
24 |
+
},
|
25 |
+
"time": "2018-01-21T07:42:36+00:00",
|
26 |
+
"type": "library",
|
27 |
+
"extra": {
|
28 |
+
"branch-alias": {
|
29 |
+
"dev-master": "3.2.x-dev"
|
30 |
+
}
|
31 |
+
},
|
32 |
+
"installation-source": "dist",
|
33 |
+
"autoload": {
|
34 |
+
"psr-0": {
|
35 |
+
"Pimple": "src/"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"notification-url": "https://packagist.org/downloads/",
|
39 |
+
"license": [
|
40 |
+
"MIT"
|
41 |
+
],
|
42 |
+
"authors": [
|
43 |
+
{
|
44 |
+
"name": "Fabien Potencier",
|
45 |
+
"email": "fabien@symfony.com"
|
46 |
+
}
|
47 |
+
],
|
48 |
+
"description": "Pimple, a simple Dependency Injection Container",
|
49 |
+
"homepage": "http://pimple.sensiolabs.org",
|
50 |
+
"keywords": [
|
51 |
+
"container",
|
52 |
+
"dependency injection"
|
53 |
+
],
|
54 |
+
"install-path": "../pimple/pimple"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
},
|
56 |
+
{
|
57 |
+
"name": "psr/container",
|
58 |
+
"version": "1.0.0",
|
59 |
+
"version_normalized": "1.0.0.0",
|
60 |
+
"source": {
|
61 |
+
"type": "git",
|
62 |
+
"url": "https://github.com/php-fig/container.git",
|
63 |
+
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
|
64 |
+
},
|
65 |
+
"dist": {
|
66 |
+
"type": "zip",
|
67 |
+
"url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
|
68 |
+
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
|
69 |
+
"shasum": ""
|
70 |
+
},
|
71 |
+
"require": {
|
72 |
+
"php": ">=5.3.0"
|
73 |
+
},
|
74 |
+
"time": "2017-02-14T16:28:37+00:00",
|
75 |
+
"type": "library",
|
76 |
+
"extra": {
|
77 |
+
"branch-alias": {
|
78 |
+
"dev-master": "1.0.x-dev"
|
79 |
+
}
|
80 |
+
},
|
81 |
+
"installation-source": "dist",
|
82 |
+
"autoload": {
|
83 |
+
"psr-4": {
|
84 |
+
"Psr\\Container\\": "src/"
|
85 |
+
}
|
86 |
+
},
|
87 |
+
"notification-url": "https://packagist.org/downloads/",
|
88 |
+
"license": [
|
89 |
+
"MIT"
|
90 |
+
],
|
91 |
+
"authors": [
|
92 |
+
{
|
93 |
+
"name": "PHP-FIG",
|
94 |
+
"homepage": "http://www.php-fig.org/"
|
95 |
+
}
|
96 |
+
],
|
97 |
+
"description": "Common Container Interface (PHP FIG PSR-11)",
|
98 |
+
"homepage": "https://github.com/php-fig/container",
|
99 |
+
"keywords": [
|
100 |
+
"PSR-11",
|
101 |
+
"container",
|
102 |
+
"container-interface",
|
103 |
+
"container-interop",
|
104 |
+
"psr"
|
105 |
+
],
|
106 |
+
"install-path": "../psr/container"
|
107 |
},
|
108 |
+
{
|
109 |
+
"name": "publishpress/wordpress-banners",
|
110 |
+
"version": "v1.2.8",
|
111 |
+
"version_normalized": "1.2.8.0",
|
112 |
+
"source": {
|
113 |
+
"type": "git",
|
114 |
+
"url": "https://github.com/publishpress/wordpress-banners.git",
|
115 |
+
"reference": "79a02716f89b93daec5b2dc0e8c1bc4d1cf9967c"
|
116 |
+
},
|
117 |
+
"dist": {
|
118 |
+
"type": "zip",
|
119 |
+
"url": "https://api.github.com/repos/publishpress/wordpress-banners/zipball/79a02716f89b93daec5b2dc0e8c1bc4d1cf9967c",
|
120 |
+
"reference": "79a02716f89b93daec5b2dc0e8c1bc4d1cf9967c",
|
121 |
+
"shasum": ""
|
122 |
+
},
|
123 |
+
"require": {
|
124 |
+
"php": ">=5.6.20"
|
125 |
+
},
|
126 |
+
"time": "2022-03-18T14:49:29+00:00",
|
127 |
+
"type": "library",
|
128 |
+
"installation-source": "dist",
|
129 |
+
"autoload": {
|
130 |
+
"files": [
|
131 |
+
"BannersMain.php"
|
132 |
+
]
|
133 |
+
},
|
134 |
+
"notification-url": "https://packagist.org/downloads/",
|
135 |
+
"license": [
|
136 |
+
"GPL-3.0-or-later"
|
137 |
+
],
|
138 |
+
"authors": [
|
139 |
+
{
|
140 |
+
"name": "PublishPress",
|
141 |
+
"email": "help@publishpress.com"
|
142 |
+
}
|
143 |
+
],
|
144 |
+
"description": "Display banners in admin pages of PublishPress Plugins.",
|
145 |
+
"homepage": "http://publishpress.com/",
|
146 |
+
"support": {
|
147 |
+
"issues": "https://github.com/publishpress/wordpress-banners/issues",
|
148 |
+
"source": "https://github.com/publishpress/wordpress-banners/tree/v1.2.8"
|
149 |
+
},
|
150 |
+
"install-path": "../publishpress/wordpress-banners"
|
151 |
},
|
152 |
+
{
|
153 |
+
"name": "publishpress/wordpress-reviews",
|
154 |
+
"version": "v1.1.18",
|
155 |
+
"version_normalized": "1.1.18.0",
|
156 |
+
"source": {
|
157 |
+
"type": "git",
|
158 |
+
"url": "https://github.com/publishpress/wordpress-reviews.git",
|
159 |
+
"reference": "0020705b8f6a7177fc393c6c42c82171bf9e2fbd"
|
160 |
+
},
|
161 |
+
"dist": {
|
162 |
+
"type": "zip",
|
163 |
+
"url": "https://api.github.com/repos/publishpress/wordpress-reviews/zipball/0020705b8f6a7177fc393c6c42c82171bf9e2fbd",
|
164 |
+
"reference": "0020705b8f6a7177fc393c6c42c82171bf9e2fbd",
|
165 |
+
"shasum": ""
|
166 |
+
},
|
167 |
+
"require": {
|
168 |
+
"php": ">=5.6.20"
|
169 |
+
},
|
170 |
+
"require-dev": {
|
171 |
+
"codeception/module-asserts": "^1.0",
|
172 |
+
"codeception/module-cli": "^1.0",
|
173 |
+
"codeception/module-db": "^1.0",
|
174 |
+
"codeception/module-filesystem": "^1.0",
|
175 |
+
"codeception/module-phpbrowser": "^1.0",
|
176 |
+
"codeception/module-rest": "^1.3",
|
177 |
+
"codeception/module-webdriver": "^1.0",
|
178 |
+
"codeception/util-universalframework": "^1.0",
|
179 |
+
"lucatume/wp-browser": "^3",
|
180 |
+
"overtrue/phplint": "^2.1",
|
181 |
+
"phpmd/phpmd": "^2.8",
|
182 |
+
"publishpress/publishpress-plugin-builder": "^1.2",
|
183 |
+
"sebastian/phpcpd": "^5.0",
|
184 |
+
"squizlabs/php_codesniffer": "^3.5",
|
185 |
+
"wp-cli/i18n-command": "^2.2",
|
186 |
+
"wp-cli/wp-cli": "^2.5"
|
187 |
+
},
|
188 |
+
"time": "2021-12-15T00:03:53+00:00",
|
189 |
+
"type": "library",
|
190 |
+
"installation-source": "dist",
|
191 |
+
"autoload": {
|
192 |
+
"files": [
|
193 |
+
"ReviewsController.php"
|
194 |
+
]
|
195 |
+
},
|
196 |
+
"notification-url": "https://packagist.org/downloads/",
|
197 |
+
"license": [
|
198 |
+
"GPL-3.0-or-later"
|
199 |
+
],
|
200 |
+
"authors": [
|
201 |
+
{
|
202 |
+
"name": "PublishPress",
|
203 |
+
"email": "help@publishpress.com"
|
204 |
+
},
|
205 |
+
{
|
206 |
+
"name": "Daniel Iser",
|
207 |
+
"homepage": "https://github.com/danieliser/WP-Product-In-Dash-Review-Requests"
|
208 |
+
}
|
209 |
+
],
|
210 |
+
"description": "Library for showing a five-star review banner.",
|
211 |
+
"homepage": "http://publishpress.com/",
|
212 |
+
"keywords": [
|
213 |
+
"review",
|
214 |
+
"reviews",
|
215 |
+
"wordpress plugin"
|
216 |
+
],
|
217 |
+
"support": {
|
218 |
+
"issues": "https://github.com/publishpress/wordpress-reviews/issues",
|
219 |
+
"source": "https://github.com/publishpress/wordpress-reviews/tree/v1.1.18"
|
220 |
+
},
|
221 |
+
"install-path": "../publishpress/wordpress-reviews"
|
222 |
},
|
223 |
+
{
|
224 |
+
"name": "publishpress/wordpress-version-notices",
|
225 |
+
"version": "1.1.3",
|
226 |
+
"version_normalized": "1.1.3.0",
|
227 |
+
"source": {
|
228 |
+
"type": "git",
|
229 |
+
"url": "https://github.com/publishpress/WordPress-Version-Notices.git",
|
230 |
+
"reference": "57e7cbb3e9b9ac366ddd3fd0a80c2e2eabf75ea3"
|
231 |
+
},
|
232 |
+
"dist": {
|
233 |
+
"type": "zip",
|
234 |
+
"url": "https://api.github.com/repos/publishpress/WordPress-Version-Notices/zipball/57e7cbb3e9b9ac366ddd3fd0a80c2e2eabf75ea3",
|
235 |
+
"reference": "57e7cbb3e9b9ac366ddd3fd0a80c2e2eabf75ea3",
|
236 |
+
"shasum": ""
|
237 |
+
},
|
238 |
+
"require": {
|
239 |
+
"php": ">=5.6.20",
|
240 |
+
"pimple/pimple": "^3"
|
241 |
+
},
|
242 |
+
"require-dev": {
|
243 |
+
"lucatume/wp-browser": "^2.4"
|
244 |
+
},
|
245 |
+
"time": "2021-07-14T16:15:47+00:00",
|
246 |
+
"type": "library",
|
247 |
+
"installation-source": "dist",
|
248 |
+
"autoload": {
|
249 |
+
"psr-4": {
|
250 |
+
"PPVersionNotices\\": "src/"
|
251 |
+
}
|
252 |
+
},
|
253 |
+
"notification-url": "https://packagist.org/downloads/",
|
254 |
+
"license": [
|
255 |
+
"GPL-3.0-or-later"
|
256 |
+
],
|
257 |
+
"authors": [
|
258 |
+
{
|
259 |
+
"name": "PublishPress",
|
260 |
+
"email": "help@publishpress.com",
|
261 |
+
"homepage": "https://publishpress.com",
|
262 |
+
"role": "Developer"
|
263 |
+
}
|
264 |
+
],
|
265 |
+
"description": "Library for displaying version notices for Pro plugins in WordPress.",
|
266 |
+
"install-path": "../publishpress/wordpress-version-notices"
|
267 |
+
}
|
268 |
+
],
|
269 |
+
"dev": false,
|
270 |
+
"dev-package-names": []
|
271 |
+
}
|
vendor/composer/installed.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php return array(
|
2 |
+
'root' => array(
|
3 |
+
'pretty_version' => '1.0.0+no-version-set',
|
4 |
+
'version' => '1.0.0.0',
|
5 |
+
'type' => 'wordpress-plugin',
|
6 |
+
'install_path' => __DIR__ . '/../../',
|
7 |
+
'aliases' => array(),
|
8 |
+
'reference' => NULL,
|
9 |
+
'name' => 'publishpress/publishpress-capabilities',
|
10 |
+
'dev' => false,
|
11 |
+
),
|
12 |
+
'versions' => array(
|
13 |
+
'pimple/pimple' => array(
|
14 |
+
'pretty_version' => 'v3.2.3',
|
15 |
+
'version' => '3.2.3.0',
|
16 |
+
'type' => 'library',
|
17 |
+
'install_path' => __DIR__ . '/../pimple/pimple',
|
18 |
+
'aliases' => array(),
|
19 |
+
'reference' => '9e403941ef9d65d20cba7d54e29fe906db42cf32',
|
20 |
+
'dev_requirement' => false,
|
21 |
+
),
|
22 |
+
'psr/container' => array(
|
23 |
+
'pretty_version' => '1.0.0',
|
24 |
+
'version' => '1.0.0.0',
|
25 |
+
'type' => 'library',
|
26 |
+
'install_path' => __DIR__ . '/../psr/container',
|
27 |
+
'aliases' => array(),
|
28 |
+
'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f',
|
29 |
+
'dev_requirement' => false,
|
30 |
+
),
|
31 |
+
'publishpress/publishpress-capabilities' => array(
|
32 |
+
'pretty_version' => '1.0.0+no-version-set',
|
33 |
+
'version' => '1.0.0.0',
|
34 |
+
'type' => 'wordpress-plugin',
|
35 |
+
'install_path' => __DIR__ . '/../../',
|
36 |
+
'aliases' => array(),
|
37 |
+
'reference' => NULL,
|
38 |
+
'dev_requirement' => false,
|
39 |
+
),
|
40 |
+
'publishpress/wordpress-banners' => array(
|
41 |
+
'pretty_version' => 'v1.2.8',
|
42 |
+
'version' => '1.2.8.0',
|
43 |
+
'type' => 'library',
|
44 |
+
'install_path' => __DIR__ . '/../publishpress/wordpress-banners',
|
45 |
+
'aliases' => array(),
|
46 |
+
'reference' => '79a02716f89b93daec5b2dc0e8c1bc4d1cf9967c',
|
47 |
+
'dev_requirement' => false,
|
48 |
+
),
|
49 |
+
'publishpress/wordpress-reviews' => array(
|
50 |
+
'pretty_version' => 'v1.1.18',
|
51 |
+
'version' => '1.1.18.0',
|
52 |
+
'type' => 'library',
|
53 |
+
'install_path' => __DIR__ . '/../publishpress/wordpress-reviews',
|
54 |
+
'aliases' => array(),
|
55 |
+
'reference' => '0020705b8f6a7177fc393c6c42c82171bf9e2fbd',
|
56 |
+
'dev_requirement' => false,
|
57 |
+
),
|
58 |
+
'publishpress/wordpress-version-notices' => array(
|
59 |
+
'pretty_version' => '1.1.3',
|
60 |
+
'version' => '1.1.3.0',
|
61 |
+
'type' => 'library',
|
62 |
+
'install_path' => __DIR__ . '/../publishpress/wordpress-version-notices',
|
63 |
+
'aliases' => array(),
|
64 |
+
'reference' => '57e7cbb3e9b9ac366ddd3fd0a80c2e2eabf75ea3',
|
65 |
+
'dev_requirement' => false,
|
66 |
+
),
|
67 |
+
),
|
68 |
+
);
|
vendor/composer/platform_check.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// platform_check.php @generated by Composer
|
4 |
+
|
5 |
+
$issues = array();
|
6 |
+
|
7 |
+
if (!(PHP_VERSION_ID >= 50620)) {
|
8 |
+
$issues[] = 'Your Composer dependencies require a PHP version ">= 5.6.20". You are running ' . PHP_VERSION . '.';
|
9 |
+
}
|
10 |
+
|
11 |
+
if ($issues) {
|
12 |
+
if (!headers_sent()) {
|
13 |
+
header('HTTP/1.1 500 Internal Server Error');
|
14 |
+
}
|
15 |
+
if (!ini_get('display_errors')) {
|
16 |
+
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
17 |
+
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
|
18 |
+
} elseif (!headers_sent()) {
|
19 |
+
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
20 |
+
}
|
21 |
+
}
|
22 |
+
trigger_error(
|
23 |
+
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
24 |
+
E_USER_ERROR
|
25 |
+
);
|
26 |
+
}
|
vendor/publishpress/wordpress-banners/BannersMain.php
CHANGED
@@ -24,98 +24,103 @@ namespace PublishPress\WordPressBanners;
|
|
24 |
|
25 |
use Exception;
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
{
|
31 |
-
|
32 |
-
/**
|
33 |
-
* HTML output banner inviting to install another PublishPress plugin or advertise a feature
|
34 |
-
*
|
35 |
-
* @param string $heading Custom heading; disabled if blank
|
36 |
-
* @param string $title Custom title; disabled if blank
|
37 |
-
* @param array $content Content to display. e.g. Feature list or a single paragraph
|
38 |
-
* @param string $link Link to apply to button and image
|
39 |
-
* @param string $link_title Link title
|
40 |
-
* @param string $image A filename from assets/images/ folder; disabled if blank
|
41 |
-
*
|
42 |
-
* @return void
|
43 |
-
*/
|
44 |
-
public function pp_display_banner(
|
45 |
-
$heading = '',
|
46 |
-
$title = '',
|
47 |
-
$contents = array(),
|
48 |
-
$link = '',
|
49 |
-
$link_title = '',
|
50 |
-
$image = ''
|
51 |
-
) {
|
52 |
-
if( !empty($heading) ) {
|
53 |
-
?>
|
54 |
-
<p class="nav-tab-wrapper pp-recommendations-heading">
|
55 |
-
<?php echo $heading ?>
|
56 |
-
</p>
|
57 |
-
<?php
|
58 |
-
}
|
59 |
-
?>
|
60 |
|
61 |
-
|
|
|
|
|
62 |
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
?>
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
<?php
|
70 |
}
|
|
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
75 |
<?php
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
<?php
|
82 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
?>
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
?>
|
88 |
-
<p><?php echo $contents[0] ?></p>
|
89 |
-
<?php
|
90 |
-
}
|
91 |
-
?>
|
92 |
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
|
99 |
-
<?php
|
100 |
-
if(!empty($image) && file_exists(__DIR__ . '/assets/images/' . $image)) {
|
101 |
-
?>
|
102 |
-
<div class="pp-box-banner-image">
|
103 |
-
<a href="<?php echo $link ?>">
|
104 |
-
<img src="<?php echo plugin_dir_url(__FILE__) . 'assets/images/' . $image ?>" title="<?php echo $title ?>" />
|
105 |
-
</a>
|
106 |
-
</div>
|
107 |
<?php
|
108 |
-
|
109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
-
|
112 |
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
|
|
121 |
}
|
24 |
|
25 |
use Exception;
|
26 |
|
27 |
+
if (! defined('PP_WP_BANNERS_VERSION')) {
|
28 |
+
define('PP_WP_BANNERS_VERSION', '1.2.8');
|
29 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
+
if (! class_exists('\\PublishPress\\WordPressBanners\\BannersMain')) {
|
32 |
+
class BannersMain
|
33 |
+
{
|
34 |
|
35 |
+
/**
|
36 |
+
* HTML output banner inviting to install another PublishPress plugin or advertise a feature
|
37 |
+
*
|
38 |
+
* @param string $heading Custom heading; disabled if blank
|
39 |
+
* @param string $title Custom title; disabled if blank
|
40 |
+
* @param array $content Content to display. e.g. Feature list or a single paragraph
|
41 |
+
* @param string $link Link to apply to button and image
|
42 |
+
* @param string $link_title Link title
|
43 |
+
* @param string $image A filename from assets/images/ folder; disabled if blank
|
44 |
+
*
|
45 |
+
* @return void
|
46 |
+
*/
|
47 |
+
public function pp_display_banner(
|
48 |
+
$heading = '',
|
49 |
+
$title = '',
|
50 |
+
$contents = array(),
|
51 |
+
$link = '',
|
52 |
+
$link_title = '',
|
53 |
+
$image = ''
|
54 |
+
) {
|
55 |
+
if (! empty($heading)) {
|
56 |
?>
|
57 |
+
<p class="nav-tab-wrapper pp-recommendations-heading">
|
58 |
+
<?php echo $heading ?>
|
59 |
+
</p>
|
60 |
<?php
|
61 |
}
|
62 |
+
?>
|
63 |
|
64 |
+
<div class="pp-sidebar-box">
|
65 |
+
|
66 |
+
<?php
|
67 |
+
if (! empty($title)) {
|
68 |
+
?>
|
69 |
+
<h3>
|
70 |
+
<?php echo $title ?>
|
71 |
+
</h3>
|
72 |
<?php
|
73 |
+
}
|
74 |
+
|
75 |
+
if (count($contents) > 1) {
|
76 |
+
?>
|
77 |
+
<ul>
|
78 |
<?php
|
79 |
+
foreach ($contents as $content) {
|
80 |
+
?>
|
81 |
+
<li>
|
82 |
+
<?php echo $content; ?>
|
83 |
+
</li>
|
84 |
+
<?php
|
85 |
+
}
|
86 |
+
?>
|
87 |
+
</ul>
|
88 |
+
<?php
|
89 |
+
} else {
|
90 |
?>
|
91 |
+
<p><?php echo $contents[0] ?></p>
|
92 |
+
<?php
|
93 |
+
}
|
94 |
?>
|
|
|
|
|
|
|
|
|
95 |
|
96 |
+
<p>
|
97 |
+
<a class="button button-primary" href="<?php echo $link ?>">
|
98 |
+
<?php echo $link_title ?>
|
99 |
+
</a>
|
100 |
+
</p>
|
101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
<?php
|
103 |
+
if (! empty($image) && file_exists(__DIR__ . '/assets/images/' . $image)) {
|
104 |
+
?>
|
105 |
+
<div class="pp-box-banner-image">
|
106 |
+
<a href="<?php echo $link ?>">
|
107 |
+
<img src="<?php echo plugin_dir_url(__FILE__) . 'assets/images/' . $image ?>" title="<?php
|
108 |
+
echo $title ?>"/>
|
109 |
+
</a>
|
110 |
+
</div>
|
111 |
+
<?php
|
112 |
+
}
|
113 |
+
?>
|
114 |
|
115 |
+
</div>
|
116 |
|
117 |
+
<?php
|
118 |
+
wp_enqueue_style(
|
119 |
+
'pp-wordpress-banners-style',
|
120 |
+
plugin_dir_url(__FILE__) . 'assets/css/style.css',
|
121 |
+
false,
|
122 |
+
PP_WP_BANNERS_VERSION
|
123 |
+
);
|
124 |
+
}
|
125 |
+
}
|
126 |
}
|
vendor/publishpress/wordpress-banners/composer.json
CHANGED
@@ -13,5 +13,10 @@
|
|
13 |
"email": "help@publishpress.com"
|
14 |
}
|
15 |
],
|
|
|
|
|
|
|
|
|
|
|
16 |
"minimum-stability": "dev"
|
17 |
}
|
13 |
"email": "help@publishpress.com"
|
14 |
}
|
15 |
],
|
16 |
+
"autoload": {
|
17 |
+
"files": [
|
18 |
+
"BannersMain.php"
|
19 |
+
]
|
20 |
+
},
|
21 |
"minimum-stability": "dev"
|
22 |
}
|
vendor/publishpress/wordpress-reviews/ReviewsController.php
CHANGED
@@ -56,11 +56,6 @@ class ReviewsController
|
|
56 |
*/
|
57 |
private $pluginName;
|
58 |
|
59 |
-
/**
|
60 |
-
* @var string
|
61 |
-
*/
|
62 |
-
private $apiUrl = '';
|
63 |
-
|
64 |
/**
|
65 |
* @var array
|
66 |
*/
|
@@ -265,7 +260,7 @@ class ReviewsController
|
|
265 |
$selected = [];
|
266 |
}
|
267 |
|
268 |
-
if (!
|
269 |
$dismissedTriggers = $this->getDismissedTriggerGroups();
|
270 |
|
271 |
$triggers = $this->getTriggers();
|
@@ -283,7 +278,7 @@ class ReviewsController
|
|
283 |
}
|
284 |
}
|
285 |
|
286 |
-
if (
|
287 |
break;
|
288 |
}
|
289 |
}
|
@@ -332,7 +327,7 @@ class ReviewsController
|
|
332 |
$triggers = [];
|
333 |
}
|
334 |
|
335 |
-
if (!
|
336 |
$timeMessage = __(
|
337 |
'Hey, you\'ve been using %1$s for %2$s on your site. We hope the plugin has been useful. Please could you quickly leave a 5-star rating on WordPress.org? It really does help to keep %1$s growing.',
|
338 |
$this->pluginSlug
|
@@ -387,13 +382,14 @@ class ReviewsController
|
|
387 |
}
|
388 |
|
389 |
if (isset($group)) {
|
390 |
-
if (!
|
|
|
391 |
return false;
|
392 |
}
|
393 |
|
394 |
if (! isset($code)) {
|
395 |
$return = $triggers[$this->pluginSlug][$group];
|
396 |
-
} elseif (
|
397 |
$return = $triggers[$this->pluginSlug][$group]['triggers'][$code];
|
398 |
} else {
|
399 |
$return = false;
|
@@ -416,7 +412,7 @@ class ReviewsController
|
|
416 |
$selected = [];
|
417 |
}
|
418 |
|
419 |
-
if (!
|
420 |
$dismissedTriggers = $this->getDismissedTriggerGroups();
|
421 |
|
422 |
foreach ($this->getTriggers() as $g => $group) {
|
@@ -432,13 +428,13 @@ class ReviewsController
|
|
432 |
}
|
433 |
}
|
434 |
|
435 |
-
if (
|
436 |
break;
|
437 |
}
|
438 |
}
|
439 |
}
|
440 |
|
441 |
-
if (!
|
442 |
return false;
|
443 |
}
|
444 |
|
@@ -463,7 +459,7 @@ class ReviewsController
|
|
463 |
|
464 |
if (empty($key)) {
|
465 |
$return = $trigger;
|
466 |
-
} elseif (
|
467 |
$return = $trigger[$key];
|
468 |
} else {
|
469 |
$return = false;
|
@@ -569,20 +565,6 @@ class ReviewsController
|
|
569 |
reason: reason
|
570 |
}
|
571 |
});
|
572 |
-
|
573 |
-
<?php if (! empty($this->apiUrl)) : ?>
|
574 |
-
$.ajax({
|
575 |
-
method: "POST",
|
576 |
-
dataType: "json",
|
577 |
-
url: '<?php echo $this->apiUrl; ?>',
|
578 |
-
data: {
|
579 |
-
trigger_group: trigger.group,
|
580 |
-
trigger_code: trigger.code,
|
581 |
-
reason: reason,
|
582 |
-
uuid: '<?php echo $uuid; ?>'
|
583 |
-
}
|
584 |
-
});
|
585 |
-
<?php endif; ?>
|
586 |
}
|
587 |
|
588 |
$(document)
|
@@ -616,7 +598,7 @@ class ReviewsController
|
|
616 |
<img src="<?php
|
617 |
echo $this->iconUrl; ?>" class="notice-icon" alt="<?php
|
618 |
echo $this->pluginName; ?> logo"/>
|
619 |
-
|
620 |
endif; ?>
|
621 |
|
622 |
<p><?php
|
@@ -626,7 +608,7 @@ class ReviewsController
|
|
626 |
echo "$this->pluginSlug-dismiss"; ?>"
|
627 |
target="_blank"
|
628 |
href="<?php
|
629 |
-
|
630 |
data-reason="am_now"
|
631 |
>
|
632 |
<strong><?php
|
56 |
*/
|
57 |
private $pluginName;
|
58 |
|
|
|
|
|
|
|
|
|
|
|
59 |
/**
|
60 |
* @var array
|
61 |
*/
|
260 |
$selected = [];
|
261 |
}
|
262 |
|
263 |
+
if (! array_key_exists($this->pluginSlug, $selected)) {
|
264 |
$dismissedTriggers = $this->getDismissedTriggerGroups();
|
265 |
|
266 |
$triggers = $this->getTriggers();
|
278 |
}
|
279 |
}
|
280 |
|
281 |
+
if (array_key_exists($this->pluginSlug, $selected)) {
|
282 |
break;
|
283 |
}
|
284 |
}
|
327 |
$triggers = [];
|
328 |
}
|
329 |
|
330 |
+
if (! array_key_exists($this->pluginSlug, $triggers)) {
|
331 |
$timeMessage = __(
|
332 |
'Hey, you\'ve been using %1$s for %2$s on your site. We hope the plugin has been useful. Please could you quickly leave a 5-star rating on WordPress.org? It really does help to keep %1$s growing.',
|
333 |
$this->pluginSlug
|
382 |
}
|
383 |
|
384 |
if (isset($group)) {
|
385 |
+
if (! array_key_exists($this->pluginSlug, $triggers)
|
386 |
+
|| ! array_key_exists($group, $triggers[$this->pluginSlug])) {
|
387 |
return false;
|
388 |
}
|
389 |
|
390 |
if (! isset($code)) {
|
391 |
$return = $triggers[$this->pluginSlug][$group];
|
392 |
+
} elseif (array_key_exists($code, $triggers[$this->pluginSlug][$group]['triggers'])) {
|
393 |
$return = $triggers[$this->pluginSlug][$group]['triggers'][$code];
|
394 |
} else {
|
395 |
$return = false;
|
412 |
$selected = [];
|
413 |
}
|
414 |
|
415 |
+
if (! array_key_exists($this->pluginSlug, $selected)) {
|
416 |
$dismissedTriggers = $this->getDismissedTriggerGroups();
|
417 |
|
418 |
foreach ($this->getTriggers() as $g => $group) {
|
428 |
}
|
429 |
}
|
430 |
|
431 |
+
if (array_key_exists($this->pluginSlug, $selected)) {
|
432 |
break;
|
433 |
}
|
434 |
}
|
435 |
}
|
436 |
|
437 |
+
if (! array_key_exists($this->pluginSlug, $selected)) {
|
438 |
return false;
|
439 |
}
|
440 |
|
459 |
|
460 |
if (empty($key)) {
|
461 |
$return = $trigger;
|
462 |
+
} elseif (array_key_exists($key, $trigger)) {
|
463 |
$return = $trigger[$key];
|
464 |
} else {
|
465 |
$return = false;
|
565 |
reason: reason
|
566 |
}
|
567 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
568 |
}
|
569 |
|
570 |
$(document)
|
598 |
<img src="<?php
|
599 |
echo $this->iconUrl; ?>" class="notice-icon" alt="<?php
|
600 |
echo $this->pluginName; ?> logo"/>
|
601 |
+
<?php
|
602 |
endif; ?>
|
603 |
|
604 |
<p><?php
|
608 |
echo "$this->pluginSlug-dismiss"; ?>"
|
609 |
target="_blank"
|
610 |
href="<?php
|
611 |
+
echo $trigger['link']; ?>"
|
612 |
data-reason="am_now"
|
613 |
>
|
614 |
<strong><?php
|
vendor/publishpress/wordpress-reviews/phpcs.xml.dist
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="PHP_CodeSniffer"
|
3 |
+
xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd">
|
4 |
+
<description>The coding standard for PublishPress Authors.</description>
|
5 |
+
|
6 |
+
<file>ReviewsController.php</file>
|
7 |
+
|
8 |
+
<arg name="basepath" value="."/>
|
9 |
+
<arg name="colors"/>
|
10 |
+
<arg name="parallel" value="75"/>
|
11 |
+
<arg value="np"/>
|
12 |
+
|
13 |
+
<!-- Include the whole PEAR standard -->
|
14 |
+
<rule ref="PSR12"/>
|
15 |
+
</ruleset>
|