Advanced Access Manager - Version 4.5

Version Description

  • Fixed few minor bugs reported by users
  • Refactored Extensions functionality
  • Added fully functioning Access Manager Widget for both Posts and Categories
  • Updated documentation
  • Significantly improved performance
Download this release

Release Info

Developer vasyl_m
Plugin Icon 128x128 Advanced Access Manager
Version 4.5
Comparing to
See all releases

Code changes from version 4.4.1 to 4.5

Application/Backend/Feature/Extension.php CHANGED
@@ -80,31 +80,27 @@ class AAM_Backend_Feature_Extension extends AAM_Backend_Feature_Abstract {
80
  * @access public
81
  */
82
  public function update() {
83
- $extension = AAM_Core_Request::post('extension');
84
- $list = AAM_Core_Compatibility::getExtensionList();
85
 
86
- if (!empty($list[$extension]['license'])) {
87
- $response = $this->install($list[$extension]['license']);
88
  } else {
89
- $response = json_encode(array(
90
- 'status' => 'failure',
91
- 'error' => __('License key is missing.', AAM_KEY)
92
- ));
 
 
 
 
 
 
93
  }
94
 
95
  return $response;
96
  }
97
 
98
- /**
99
- *
100
- * @return type
101
- */
102
- public function check() {
103
- AAM_Extension_Repository::getInstance()->check();
104
-
105
- return json_encode(array('status' => 'success'));
106
- }
107
-
108
  /**
109
  *
110
  * @param type $type
@@ -160,7 +156,7 @@ class AAM_Backend_Feature_Extension extends AAM_Backend_Feature_Abstract {
160
  'position' => 999,
161
  'title' => __('Extensions', AAM_KEY),
162
  'capability' => $cap,
163
- 'notification' => self::getNotification(),
164
  'subjects' => array(
165
  'AAM_Core_Subject_Role',
166
  'AAM_Core_Subject_User',
@@ -170,21 +166,5 @@ class AAM_Backend_Feature_Extension extends AAM_Backend_Feature_Abstract {
170
  ));
171
  }
172
  }
173
-
174
- /**
175
- *
176
- * @return int
177
- */
178
- protected static function getNotification() {
179
- $count = 0;
180
-
181
- foreach(AAM_Extension_Repository::getInstance()->getList() as $extension) {
182
- if ($extension['status'] == AAM_Extension_Repository::STATUS_UPDATE) {
183
- $count++;
184
- }
185
- }
186
-
187
- return ($count ? $count : 'NEW');
188
- }
189
-
190
  }
80
  * @access public
81
  */
82
  public function update() {
83
+ $id = AAM_Core_Request::post('extension');
84
+ $licenses = AAM_Core_Compatibility::getLicenseList();
85
 
86
+ if (!empty($licenses[$id]['license'])) {
87
+ $response = $this->install($licenses[$id]['license']);
88
  } else {
89
+ //fallback compatibility
90
+ $list = AAM_Extension_Repository::getInstance()->getList();
91
+ if (!empty($list[$id]['license'])) {
92
+ $response = $this->install($list[$id]['license']);
93
+ } else {
94
+ $response = json_encode(array(
95
+ 'status' => 'failure',
96
+ 'error' => __('Enter license key to update extension.', AAM_KEY)
97
+ ));
98
+ }
99
  }
100
 
101
  return $response;
102
  }
103
 
 
 
 
 
 
 
 
 
 
 
104
  /**
105
  *
106
  * @param type $type
156
  'position' => 999,
157
  'title' => __('Extensions', AAM_KEY),
158
  'capability' => $cap,
159
+ 'notification' => 'NEW',
160
  'subjects' => array(
161
  'AAM_Core_Subject_Role',
162
  'AAM_Core_Subject_User',
166
  ));
167
  }
168
  }
169
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  }
Application/Backend/Feature/Menu.php CHANGED
@@ -99,13 +99,13 @@ class AAM_Backend_Feature_Menu extends AAM_Backend_Feature_Abstract {
99
  protected function getSubmenu($menu) {
100
  global $submenu;
101
 
102
- $response = array();
103
- $subject = AAM_Backend_View::getSubject();
 
104
 
105
  if (isset($submenu[$menu])) {
106
  foreach ($submenu[$menu] as $item) {
107
- if ($subject->hasCapability($item[1])
108
- || is_a($subject, 'AAM_Core_Subject_Default')) {
109
  $response[] = array(
110
  'id' => $item[2],
111
  'name' => $this->filterMenuName($item[0]),
99
  protected function getSubmenu($menu) {
100
  global $submenu;
101
 
102
+ $response = array();
103
+ $subject = AAM_Backend_View::getSubject();
104
+ $isDefault = is_a($subject, 'AAM_Core_Subject_Default');
105
 
106
  if (isset($submenu[$menu])) {
107
  foreach ($submenu[$menu] as $item) {
108
+ if ($subject->hasCapability($item[1]) || $isDefault) {
 
109
  $response[] = array(
110
  'id' => $item[2],
111
  'name' => $this->filterMenuName($item[0]),
Application/Backend/Feature/Post.php CHANGED
@@ -337,7 +337,7 @@ class AAM_Backend_Feature_Post extends AAM_Backend_Feature_Abstract {
337
  * @param type $area
338
  * @return type
339
  */
340
- public function getAccessOptionList($area) {
341
  static $list = null;
342
 
343
  if (is_null($list)) {
@@ -351,10 +351,10 @@ class AAM_Backend_Feature_Post extends AAM_Backend_Feature_Abstract {
351
  *
352
  * @return type
353
  */
354
- public function getCurrentObject() {
355
  $object = (object) array(
356
  'id' => urldecode(AAM_Core_Request::request('oid')),
357
- 'type' => AAM_Core_Request::post('otype')
358
  );
359
 
360
  if ($object->id) {
337
  * @param type $area
338
  * @return type
339
  */
340
+ public static function getAccessOptionList($area) {
341
  static $list = null;
342
 
343
  if (is_null($list)) {
351
  *
352
  * @return type
353
  */
354
+ public static function getCurrentObject() {
355
  $object = (object) array(
356
  'id' => urldecode(AAM_Core_Request::request('oid')),
357
+ 'type' => AAM_Core_Request::request('otype')
358
  );
359
 
360
  if ($object->id) {
Application/Backend/Filter.php CHANGED
@@ -54,12 +54,10 @@ class AAM_Backend_Filter {
54
  //default category filder
55
  add_filter('pre_option_default_category', array($this, 'defaultCategory'));
56
 
57
- //wp die hook
58
- add_filter('wp_die_handler', array($this, 'backendDie'));
59
-
60
  //add post filter for LIST restriction
61
- if (!AAM::isAAM()) {
62
- add_filter('the_posts', array($this, 'thePosts'), 10, 2);
 
63
  add_action('pre_get_posts', array($this, 'preparePostQuery'));
64
  }
65
 
@@ -195,7 +193,7 @@ class AAM_Backend_Filter {
195
  global $post;
196
 
197
  //make sure that nobody is playing with screen options
198
- if ($post instanceof WP_Post) {
199
  $screen = $post->post_type;
200
  } elseif ($screen_object = get_current_screen()) {
201
  $screen = $screen_object->id;
@@ -211,7 +209,7 @@ class AAM_Backend_Filter {
211
  /**
212
  * Post Quick Menu Actions Filtering
213
  *
214
- * @param array $actions
215
  * @param WP_Post $post
216
  *
217
  * @return array
@@ -219,7 +217,7 @@ class AAM_Backend_Filter {
219
  * @access public
220
  */
221
  public function postRowActions($actions, $post) {
222
- $object = AAM::getUser()->getObject('post', $post->ID);
223
 
224
  $edit = $object->has('backend.edit');
225
  $others = $object->has('backend.edit_others');
@@ -273,7 +271,7 @@ class AAM_Backend_Filter {
273
  $post = $this->getPost();
274
 
275
  if (is_a($post, 'WP_Post')) {
276
- $object = AAM::getUser()->getObject('post', $post->ID);
277
  $edit = $object->has('backend.edit');
278
  $others = $object->has('backend.edit_others');
279
 
@@ -312,93 +310,91 @@ class AAM_Backend_Filter {
312
 
313
  return $post;
314
  }
315
-
316
  /**
317
- * Take control over wp_die function
318
- *
319
- * @param callback $function
320
- *
321
- * @return void
322
- *
323
- * @access public
324
  */
325
- public function backendDie($function) {
326
- if (AAM_Core_Config::get('access-denied-handler', true)) {
327
- AAM_Core_API::reject(
328
- 'backend', array('callback' => $function, 'skip-die' => true)
329
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
330
  }
331
 
332
- return $function;
333
  }
334
 
335
  /**
336
  * Filter posts from the list
337
  *
338
- * @param array $posts
 
339
  *
340
  * @return array
341
  *
342
  * @access public
343
  */
344
- public function thePosts($posts) {
345
  $filtered = array();
346
 
347
- if (AAM::isAAM()) { //skip post filtering if this is AAM page
348
- $filtered = $posts;
349
- } else {
350
- foreach ($posts as $post) {
351
- $object = AAM::getUser()->getObject('post', $post->ID);
352
-
353
- $list = $object->has('backend.list');
354
- $others = $object->has('backend.list_others');
355
-
356
- if (!$list && (!$others || $this->isAuthor($post))) {
357
- $filtered[] = $post;
358
- } else {
359
- $notin = AAM_Core_Cache::get($post->post_type . '__not_in_backend');
360
- AAM_Core_Cache::set(
361
- AAM::getUser(), $post->post_type . '__not_in_backend', $notin
362
- );
363
- }
364
  }
365
  }
 
 
366
 
367
- return $filtered;
368
  }
369
 
370
  /**
 
371
  *
372
- * @param type $query
 
 
 
 
373
  */
374
  public function preparePostQuery($query) {
375
  if ($this->skip === false) {
376
- $filtered = array();
377
-
378
- if (!empty($query->query['post_type'])) {
379
- $postType = $query->query['post_type'];
380
- } elseif (!empty($query->query_vars['post_type'])) {
381
- $postType = $query->query_vars['post_type'];
382
- } else {
383
- $postType = 'post';
384
- }
385
-
386
- if (AAM_Core_Cache::has($postType . '__not_in_backend')) {
387
- $filtered = AAM_Core_Cache::get($postType . '__not_in_backend');
388
- } else {
389
- foreach ($this->fetchPosts($postType) as $post) {
390
- $object = AAM::getUser()->getObject('post', $post->ID);
391
- $list = $object->has('backend.list');
392
- $others = $object->has('backend.list_others');
393
-
394
- if ($list || ($others && !$this->isAuthor($object->getPost()))) {
395
- $filtered[] = $post->ID;
396
- }
397
- }
398
- AAM_Core_Cache::set(AAM::getUser(), $postType. '__not_in_backend', $filtered);
399
- }
400
 
401
- if (isset($query->query_vars['post__not_in'])) {
 
402
  $query->query_vars['post__not_in'] = array_merge(
403
  $query->query_vars['post__not_in'], $filtered
404
  );
@@ -408,25 +404,6 @@ class AAM_Backend_Filter {
408
  }
409
  }
410
 
411
- /**
412
- *
413
- * @param type $postType
414
- * @return type
415
- */
416
- protected function fetchPosts($postType) {
417
- $this->skip = true;
418
-
419
- $posts = get_posts(array(
420
- 'post_type' => (is_string($postType) ? $postType : 'post'),
421
- 'numberposts' => 500,
422
- 'post_status' => 'any'
423
- ));
424
-
425
- $this->skip = false;
426
-
427
- return $posts;
428
- }
429
-
430
  /**
431
  * Check user capability
432
  *
54
  //default category filder
55
  add_filter('pre_option_default_category', array($this, 'defaultCategory'));
56
 
 
 
 
57
  //add post filter for LIST restriction
58
+ if (!AAM::isAAM() && AAM_Core_Config::get('check-post-visibility', true)) {
59
+ add_filter('found_posts', array($this, 'foundPosts'), 10, 2);
60
+ add_filter('posts_fields_request', array($this, 'fieldsRequest'), 10, 2);
61
  add_action('pre_get_posts', array($this, 'preparePostQuery'));
62
  }
63
 
193
  global $post;
194
 
195
  //make sure that nobody is playing with screen options
196
+ if (is_a($post, 'WP_Post')) {
197
  $screen = $post->post_type;
198
  } elseif ($screen_object = get_current_screen()) {
199
  $screen = $screen_object->id;
209
  /**
210
  * Post Quick Menu Actions Filtering
211
  *
212
+ * @param array $actions
213
  * @param WP_Post $post
214
  *
215
  * @return array
217
  * @access public
218
  */
219
  public function postRowActions($actions, $post) {
220
+ $object = AAM::getUser()->getObject('post', $post->ID, $post);
221
 
222
  $edit = $object->has('backend.edit');
223
  $others = $object->has('backend.edit_others');
271
  $post = $this->getPost();
272
 
273
  if (is_a($post, 'WP_Post')) {
274
+ $object = AAM::getUser()->getObject('post', $post->ID, $post);
275
  $edit = $object->has('backend.edit');
276
  $others = $object->has('backend.edit_others');
277
 
310
 
311
  return $post;
312
  }
313
+
314
  /**
315
+ *
316
+ * @global type $wpdb
317
+ * @param type $fields
318
+ * @param type $query
319
+ * @return type
 
 
320
  */
321
+ public function fieldsRequest($fields, $query) {
322
+ global $wpdb;
323
+
324
+ $qfields = (isset($query->query['fields']) ? $query->query['fields'] : '');
325
+
326
+ if ($qfields == 'id=>parent') {
327
+ $author = "{$wpdb->posts}.post_author";
328
+ if (strpos($fields, $author) === false) {
329
+ $fields .= ", $author";
330
+ }
331
+
332
+ $status = "{$wpdb->posts}.post_status";
333
+ if (strpos($fields, $status) === false) {
334
+ $fields .= ", $status";
335
+ }
336
+
337
+ $type = "{$wpdb->posts}.post_type";
338
+ if (strpos($fields, $type) === false) {
339
+ $fields .= ", $type";
340
+ }
341
  }
342
 
343
+ return $fields;
344
  }
345
 
346
  /**
347
  * Filter posts from the list
348
  *
349
+ * @param int $counter
350
+ * @param WP_Query $query
351
  *
352
  * @return array
353
  *
354
  * @access public
355
  */
356
+ public function foundPosts($counter, $query) {
357
  $filtered = array();
358
 
359
+ foreach ($query->posts as $post) {
360
+ if (isset($post->post_type)) {
361
+ $type = $post->post_type;
362
+ } else {
363
+ $type = AAM_Core_API::getQueryPostType($query);
364
+ }
365
+
366
+ $object = (is_scalar($post) ? get_post($post) : $post);
367
+
368
+ if (!AAM_Core_API::isHiddenPost($object, $type, 'backend')) {
369
+ $filtered[] = $post;
370
+ } else {
371
+ $counter--;
372
+ $query->post_count--;
 
 
 
373
  }
374
  }
375
+
376
+ $query->posts = $filtered;
377
 
378
+ return $counter;
379
  }
380
 
381
  /**
382
+ * Prepare pre post query
383
  *
384
+ * @param WP_Query $query
385
+ *
386
+ * @return void
387
+ *
388
+ * @access public
389
  */
390
  public function preparePostQuery($query) {
391
  if ($this->skip === false) {
392
+ $this->skip = true;
393
+ $filtered = AAM_Core_API::getFilteredPostList($query, 'backend');
394
+ $this->skip = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
395
 
396
+ if (isset($query->query_vars['post__not_in'])
397
+ && is_array($query->query_vars['post__not_in'])) {
398
  $query->query_vars['post__not_in'] = array_merge(
399
  $query->query_vars['post__not_in'], $filtered
400
  );
404
  }
405
  }
406
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
407
  /**
408
  * Check user capability
409
  *
Application/Backend/Manager.php CHANGED
@@ -51,6 +51,10 @@ class AAM_Backend_Manager {
51
  add_action('all_admin_notices', array($this, 'notification'));
52
  }
53
 
 
 
 
 
54
  //manager AAM Ajax Requests
55
  add_action('wp_ajax_aam', array($this, 'ajax'));
56
  //manager AAM Features Content rendering
@@ -76,8 +80,8 @@ class AAM_Backend_Manager {
76
  //footer thank you
77
  add_filter('admin_footer_text', array($this, 'thankYou'), 999);
78
 
79
- //check extension version
80
- $this->checkExtensionList();
81
 
82
  //register backend hooks and filters
83
  if (AAM_Core_Config::get('backend-access-control', true)) {
@@ -88,6 +92,21 @@ class AAM_Backend_Manager {
88
  AAM_Backend_View_CodePinch::bootstrap();
89
  }
90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  /**
92
  *
93
  * @param type $text
@@ -142,31 +161,6 @@ class AAM_Backend_Manager {
142
  }
143
  }
144
 
145
- /**
146
- *
147
- */
148
- protected function checkExtensionList() {
149
- $list = AAM_Extension_Repository::getInstance()->getList();
150
-
151
- foreach($list as $item) {
152
- if ($item['status'] == AAM_Extension_Repository::STATUS_UPDATE) {
153
- AAM_Core_Console::add(
154
- sprintf(
155
- __('Extension %s has new update available for download.'),
156
- $item['title']
157
- )
158
- );
159
- }elseif ($item['status'] == AAM_Extension_Repository::STATUS_INACTIVE) {
160
- AAM_Core_Console::add(
161
- sprintf(
162
- __('License violation for %s extension. Enter valid license on the Extensions tab or contact us immediately.'),
163
- $item['title']
164
- )
165
- );
166
- }
167
- }
168
- }
169
-
170
  /**
171
  *
172
  */
@@ -202,11 +196,11 @@ class AAM_Backend_Manager {
202
 
203
  if (AAM::getUser()->hasCapability($cap)) {
204
  add_meta_box(
205
- 'aam-acceess-control',
206
- __('Access Manager', AAM_KEY),
207
- array($this, 'renderMetabox'),
208
  null,
209
- 'side',
210
  'high'
211
  );
212
  }
@@ -216,8 +210,16 @@ class AAM_Backend_Manager {
216
  *
217
  * @global type $post
218
  */
219
- public function renderMetabox() {
220
- echo AAM_Backend_View::getInstance()->renderMetabox();
 
 
 
 
 
 
 
 
221
  }
222
 
223
  /**
@@ -232,7 +234,7 @@ class AAM_Backend_Manager {
232
 
233
  if (AAM_Core_Request::get('init') == 'metabox') {
234
  //make sure that nobody is playing with screen options
235
- if ($post instanceof WP_Post) {
236
  $screen = $post->post_type;
237
  } elseif ($screen_object = get_current_screen()) {
238
  $screen = $screen_object->id;
@@ -459,7 +461,7 @@ class AAM_Backend_Manager {
459
  public function renderPage() {
460
  echo AAM_Backend_View::getInstance()->renderPage();
461
  }
462
-
463
  /**
464
  * Render list of AAM Features
465
  *
51
  add_action('all_admin_notices', array($this, 'notification'));
52
  }
53
 
54
+ add_action('edit_category_form_fields', array($this, 'renderTermMetabox'), 1);
55
+ add_action('edit_link_category_form_fields', array($this, 'renderTermMetabox'), 1);
56
+ add_action('edit_tag_form_fields', array($this, 'renderTermMetabox'), 1);
57
+
58
  //manager AAM Ajax Requests
59
  add_action('wp_ajax_aam', array($this, 'ajax'));
60
  //manager AAM Features Content rendering
80
  //footer thank you
81
  add_filter('admin_footer_text', array($this, 'thankYou'), 999);
82
 
83
+ //control admin area
84
+ add_action('admin_init', array($this, 'adminInit'));
85
 
86
  //register backend hooks and filters
87
  if (AAM_Core_Config::get('backend-access-control', true)) {
92
  AAM_Backend_View_CodePinch::bootstrap();
93
  }
94
 
95
+ /**
96
+ *
97
+ */
98
+ public function adminInit() {
99
+ $user = AAM::getUser();
100
+ $cap = AAM_Core_Config::get(
101
+ AAM_Backend_Feature_Post::getAccessOption(), 'administrator'
102
+ );
103
+
104
+ if (AAM_Core_Request::get('aampostaccess') && $user->hasCapability($cap)) {
105
+ echo AAM_Backend_View::getInstance()->renderAccessFrame();
106
+ exit;
107
+ }
108
+ }
109
+
110
  /**
111
  *
112
  * @param type $text
161
  }
162
  }
163
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  /**
165
  *
166
  */
196
 
197
  if (AAM::getUser()->hasCapability($cap)) {
198
  add_meta_box(
199
+ 'aam-acceess-manager',
200
+ __('Access Manager', AAM_KEY) . ' <small style="color:#999999;">by AAM plugin</small>',
201
+ array($this, 'renderPostMetabox'),
202
  null,
203
+ 'advanced',
204
  'high'
205
  );
206
  }
210
  *
211
  * @global type $post
212
  */
213
+ public function renderPostMetabox() {
214
+ echo AAM_Backend_View::getInstance()->renderMetabox('post');
215
+ }
216
+
217
+ /**
218
+ *
219
+ * @global type $post
220
+ */
221
+ public function renderTermMetabox() {
222
+ echo AAM_Backend_View::getInstance()->renderMetabox('term');
223
  }
224
 
225
  /**
234
 
235
  if (AAM_Core_Request::get('init') == 'metabox') {
236
  //make sure that nobody is playing with screen options
237
+ if (is_a($post, 'WP_Post')) {
238
  $screen = $post->post_type;
239
  } elseif ($screen_object = get_current_screen()) {
240
  $screen = $screen_object->id;
461
  public function renderPage() {
462
  echo AAM_Backend_View::getInstance()->renderPage();
463
  }
464
+
465
  /**
466
  * Render list of AAM Features
467
  *
Application/Backend/View.php CHANGED
@@ -91,14 +91,33 @@ class AAM_Backend_View {
91
  *
92
  * @access public
93
  */
94
- public function renderMetabox() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  global $post;
96
 
97
- if (is_a($post, 'WP_Post')) {
98
- $url = admin_url('admin.php?page=aam&oid=' . $post->ID . '&otype=post#post');
99
-
100
  ob_start();
101
- require_once(dirname(__FILE__) . '/phtml/metabox.phtml');
 
 
 
 
 
102
  $content = ob_get_contents();
103
  ob_end_clean();
104
  } else {
91
  *
92
  * @access public
93
  */
94
+ public function renderAccessFrame() {
95
+ ob_start();
96
+ require_once(dirname(__FILE__) . '/phtml/frame.phtml');
97
+ $content = ob_get_contents();
98
+ ob_end_clean();
99
+
100
+ return $content;
101
+ }
102
+
103
+ /**
104
+ * Run the Manager
105
+ *
106
+ * @return string
107
+ *
108
+ * @access public
109
+ */
110
+ public function renderMetabox($type) {
111
  global $post;
112
 
113
+ if (($type == 'post') && is_a($post, 'WP_Post')) {
 
 
114
  ob_start();
115
+ require_once(dirname(__FILE__) . '/phtml/post-metabox.phtml');
116
+ $content = ob_get_contents();
117
+ ob_end_clean();
118
+ } elseif ($type == 'term') {
119
+ ob_start();
120
+ require_once(dirname(__FILE__) . '/phtml/term-metabox.phtml');
121
  $content = ob_get_contents();
122
  ob_end_clean();
123
  } else {
Application/Backend/View/PostOptionList.php CHANGED
@@ -11,55 +11,55 @@ return array(
11
  'frontend' => array(
12
  'list' => array(
13
  'title' => __('List', AAM_KEY),
14
- 'descr' => __('Hide %s.', AAM_KEY)
15
  ),
16
  'list_others' => array(
17
  'title' => __('List To Others', AAM_KEY),
18
- 'descr' => __('Hide %s for all except author.', AAM_KEY)
19
  ),
20
  'read' => array(
21
  'title' => __('Read', AAM_KEY),
22
- 'descr' => __('Restrict access to read %s.', AAM_KEY)
23
  ),
24
  'read_others' => array(
25
  'title' => __('Read By Others', AAM_KEY),
26
- 'descr' => __('Restrict access to read for all except author.', AAM_KEY)
27
  ),
28
  'limit' => array(
29
  'title' => __('Limit', AAM_KEY),
30
- 'descr' => __('If checked, show defined in the Content Teaser tab teaser message instead of %s content.', AAM_KEY)
31
  ),
32
  'comment' => array(
33
  'title' => __('Comment', AAM_KEY),
34
- 'descr' => __('Restrict access to comment on %s if commenting feature is enabled.', AAM_KEY)
35
  ),
36
  'redirect' => array(
37
  'title' => __('Redirect', AAM_KEY),
38
  'sub' => '<small>' . sprintf(__('Redirect to: %s', AAM_KEY), '<b data-preview="frontend.location" id="post-location"></b>' ) . ' <a href="#" class="change-location" data-ref="frontend.location" data-preview-id="post-location">' . __('change', AAM_KEY) . '</a></small>',
39
- 'descr' => __('Redirect to specified location when user tries to read the %s.', AAM_KEY)
40
  ),
41
  'protected' => array(
42
  'title' => __('Password Protected', AAM_KEY),
43
  'sub' => '<small>' . sprintf(__('Password: %s', AAM_KEY), '<b data-preview="frontend.password" id="post-password"></b>' ) . ' <a href="#" class="change-password" data-ref="frontend.password" data-preview-id="post-password">' . __('change', AAM_KEY) . '</a></small>',
44
- 'descr' => __('Add a password protection for the %s.', AAM_KEY)
45
  )
46
  ),
47
  'backend' => array(
48
  'list' => array(
49
  'title' => __('List', AAM_KEY),
50
- 'descr' => __('Hide %s.', AAM_KEY)
51
  ),
52
  'list_others' => array(
53
  'title' => __('List To Others', AAM_KEY),
54
- 'descr' => __('Hide %s for all except author.', AAM_KEY)
55
  ),
56
  'edit' => array(
57
  'title' => __('Edit', AAM_KEY),
58
- 'descr' => __('Restrict access to edit %s.', AAM_KEY)
59
  ),
60
  'edit_others' => array(
61
  'title' => __('Edit By Others', AAM_KEY),
62
- 'descr' => __('Restrict access to edit %s for all except author.', AAM_KEY)
63
  ),
64
  'delete' => array(
65
  'title' => __('Delete', AAM_KEY),
@@ -67,15 +67,15 @@ return array(
67
  ),
68
  'delete_others' => array(
69
  'title' => __('Delete By Others', AAM_KEY),
70
- 'descr' => __('Restrict access to trash or permanently delete %s for all except author.', AAM_KEY)
71
  ),
72
  'publish' => array(
73
  'title' => __('Publish', AAM_KEY),
74
- 'descr' => __('Restrict access to publish %s. Quick Edit inline action is also removed.', AAM_KEY)
75
  ),
76
  'publish_others' => array(
77
  'title' => __('Publish By Others', AAM_KEY),
78
- 'descr' => __('Restrict access to publish %s for all except author. Quick Edit inline action is also removed.', AAM_KEY)
79
  )
80
  )
81
  );
11
  'frontend' => array(
12
  'list' => array(
13
  'title' => __('List', AAM_KEY),
14
+ 'descr' => __('Hide %s however access with a direct URL will be still allowed. When there are more than 500 posts, this option may not be applied immediately because, for performance reasons, AAM checks limited number of posts per request.', AAM_KEY) . sprintf(__(' %sSee in action.%s', AAM_KEY), "<a href='https://youtu.be/2jiu_CL6JJg' target='_blank'>", '</a>')
15
  ),
16
  'list_others' => array(
17
  'title' => __('List To Others', AAM_KEY),
18
+ 'descr' => __('Hide %s for all except author (whoever created %s or was assigned on the Author metabox). Access with a direct URL will be still allowed. When there are more than 500 posts, this option may not be applied immediately because, for performance reasons, AAM checks limited number of posts per request.', AAM_KEY)
19
  ),
20
  'read' => array(
21
  'title' => __('Read', AAM_KEY),
22
+ 'descr' => __('Restrict access to read %s. Any attempts to read, view or open %s will result in redirecting user based on the Access Denied Redirect rule.', AAM_KEY) . sprintf(__(' %sSee in action.%s', AAM_KEY), "<a href='https://youtu.be/1742nVeGvgs' target='_blank'>", '</a>')
23
  ),
24
  'read_others' => array(
25
  'title' => __('Read By Others', AAM_KEY),
26
+ 'descr' => __('Restrict access to read %s for all except author (whoever created %s or was assigned on the Author metabox). Any attempts to read, view or open %s will result in redirecting user based on the Access Denied Redirect rule.', AAM_KEY)
27
  ),
28
  'limit' => array(
29
  'title' => __('Limit', AAM_KEY),
30
+ 'descr' => __('When checked, show defined on the Content Teaser tab teaser message instead of the %s content.', AAM_KEY)
31
  ),
32
  'comment' => array(
33
  'title' => __('Comment', AAM_KEY),
34
+ 'descr' => __('Restrict access to comment on %s when commenting feature is enabled.', AAM_KEY)
35
  ),
36
  'redirect' => array(
37
  'title' => __('Redirect', AAM_KEY),
38
  'sub' => '<small>' . sprintf(__('Redirect to: %s', AAM_KEY), '<b data-preview="frontend.location" id="post-location"></b>' ) . ' <a href="#" class="change-location" data-ref="frontend.location" data-preview-id="post-location">' . __('change', AAM_KEY) . '</a></small>',
39
+ 'descr' => __('Redirect user to defined location when user tries to read the %s. Define either valid full URL or public page ID within the website.', AAM_KEY)
40
  ),
41
  'protected' => array(
42
  'title' => __('Password Protected', AAM_KEY),
43
  'sub' => '<small>' . sprintf(__('Password: %s', AAM_KEY), '<b data-preview="frontend.password" id="post-password"></b>' ) . ' <a href="#" class="change-password" data-ref="frontend.password" data-preview-id="post-password">' . __('change', AAM_KEY) . '</a></small>',
44
+ 'descr' => __('Add the password protection for the %s. Available with WordPress 4.7.0 or higher.', AAM_KEY)
45
  )
46
  ),
47
  'backend' => array(
48
  'list' => array(
49
  'title' => __('List', AAM_KEY),
50
+ 'descr' => __('Hide %s however access with a direct URL is still allowed. When there are more than 500 posts, this option may not be applied immediately because, for performance reasons, AAM checks limited number of posts per request.', AAM_KEY)
51
  ),
52
  'list_others' => array(
53
  'title' => __('List To Others', AAM_KEY),
54
+ 'descr' => __('Hide %s for all except author (whoever created %s or was assigned on the Author metabox). Access with a direct URL is still allowed. When there are more than 500 posts, this option may not be applied immediately because, for performance reasons, AAM checks limited number of posts per request.', AAM_KEY)
55
  ),
56
  'edit' => array(
57
  'title' => __('Edit', AAM_KEY),
58
+ 'descr' => __('Restrict access to edit %s. Any attempts to edit %s will result in redirecting user based on the Access Denied Redirect rule.', AAM_KEY)
59
  ),
60
  'edit_others' => array(
61
  'title' => __('Edit By Others', AAM_KEY),
62
+ 'descr' => __('Restrict access to edit %s for all except author (whoever created %s or was assigned on the Author metabox). Any attempts to edit %s will result in redirecting user based on the Access Denied Redirect rule.', AAM_KEY)
63
  ),
64
  'delete' => array(
65
  'title' => __('Delete', AAM_KEY),
67
  ),
68
  'delete_others' => array(
69
  'title' => __('Delete By Others', AAM_KEY),
70
+ 'descr' => __('Restrict access to trash or permanently delete %s for all except author (whoever created %s or was assigned on the Author metabox).', AAM_KEY)
71
  ),
72
  'publish' => array(
73
  'title' => __('Publish', AAM_KEY),
74
+ 'descr' => __('Restrict access to publish %s. User will be allowed only submit for review. Quick Edit inline action is also removed from the list page.', AAM_KEY)
75
  ),
76
  'publish_others' => array(
77
  'title' => __('Publish By Others', AAM_KEY),
78
+ 'descr' => __('Restrict access to publish %s for all except author (whoever created %s or was assigned on the Author metabox). User will be allowed only submit for review. Quick Edit inline action is also removed from the list page.', AAM_KEY)
79
  )
80
  )
81
  );
Application/Backend/View/UtilityOptionList.php CHANGED
@@ -10,22 +10,32 @@
10
  return array(
11
  'manage-capability' => array(
12
  'title' => __('Edit/Delete Capabilities', AAM_KEY),
13
- 'descr' => AAM_Backend_View_Helper::preparePhrase('[Please note!] For experienced users only. Allow to edit or delete capabilities', 'b'),
14
  'value' => AAM_Core_Config::get('manage-capability', false)
15
  ),
16
  'backend-access-control' => array(
17
  'title' => __('Backend Access Control', AAM_KEY),
18
- 'descr' => __('Allow AAM to manage access to backend resources like backend menu, categories or posts.', AAM_KEY),
19
  'value' => AAM_Core_Config::get('backend-access-control', true),
20
  ),
21
  'frontend-access-control' => array(
22
  'title' => __('Frontend Access Control', AAM_KEY),
23
- 'descr' => __('Allow AAM to manage access to frontend resources like pages, categories or posts.', AAM_KEY),
24
  'value' => AAM_Core_Config::get('frontend-access-control', true),
25
  ),
26
  'media-access-control' => array(
27
  'title' => __('Media Files Access Control', AAM_KEY),
28
- 'descr' => AAM_Backend_View_Helper::preparePhrase('Allow AAM to manage a physically access to all media files located in the [uploads] folder.', 'strong'),
29
  'value' => AAM_Core_Config::get('media-access-control', false),
30
- )
 
 
 
 
 
 
 
 
 
 
31
  );
10
  return array(
11
  'manage-capability' => array(
12
  'title' => __('Edit/Delete Capabilities', AAM_KEY),
13
+ 'descr' => AAM_Backend_View_Helper::preparePhrase('Allow to edit or delete any capability on the Capabilities tab. [Note!] For experienced users only. Changing or deleting capability may result in loosing access to some features or the entire website.', 'b'),
14
  'value' => AAM_Core_Config::get('manage-capability', false)
15
  ),
16
  'backend-access-control' => array(
17
  'title' => __('Backend Access Control', AAM_KEY),
18
+ 'descr' => __('Allow AAM to manage access to backend resources. If there is no need to manage access to the website backend then keep this option unchecked as it may increase your webiste performance.', AAM_KEY),
19
  'value' => AAM_Core_Config::get('backend-access-control', true),
20
  ),
21
  'frontend-access-control' => array(
22
  'title' => __('Frontend Access Control', AAM_KEY),
23
+ 'descr' => __('Allow AAM to manage access to frontend resources. If there is no need to manage access to the website frontend then keep this option unchecked as it may increase your webiste performance.', AAM_KEY),
24
  'value' => AAM_Core_Config::get('frontend-access-control', true),
25
  ),
26
  'media-access-control' => array(
27
  'title' => __('Media Files Access Control', AAM_KEY),
28
+ 'descr' => sprintf(AAM_Backend_View_Helper::preparePhrase('Allow AAM to manage a physically access to all media files located in the defined by the system [uploads] folder. [Note!] This feature requires additional steps as described in %sthis article%s.', 'strong', 'strong'), '<a href="https://aamplugin.com/help/how-to-manage-wordpress-media-access" target="_blank">', '</a>'),
29
  'value' => AAM_Core_Config::get('media-access-control', false),
30
+ ),
31
+ 'render-access-metabox' => array(
32
+ 'title' => __('Render Access Manager Metabox', AAM_KEY),
33
+ 'descr' => __('Render Access Manager metabox on all post and category edit pages. Access Manager metabox is the quick way to manage access to any post or category without leaving an edit page.', AAM_KEY),
34
+ 'value' => AAM_Core_Config::get('render-access-metabox', true),
35
+ ),
36
+ 'check-post-visibility' => array(
37
+ 'title' => __('Check Post Visibility', AAM_KEY),
38
+ 'descr' => __('For performance reasons, keep this option uncheck if do not use LIST or LIST TO OTHERS access options on Posts & Pages tab. When it is checked, AAM will filter list of posts that are hidden for a user on both frontend and backend.', AAM_KEY),
39
+ 'value' => AAM_Core_Config::get('check-post-visibility', true),
40
+ ),
41
  );
Application/Backend/phtml/extension.phtml CHANGED
@@ -27,7 +27,6 @@
27
  <ul class="nav nav-tabs" role="tablist">
28
  <?php if(count($commercial)) { ?><li role="presentation" class="active"><a href="#premium-extensions" aria-controls="premium-extensions" role="tab" data-toggle="tab"><i class='icon-basket'></i> <?php echo __('Premium', AAM_KEY); ?></a></li><?php } ?>
29
  <?php if(count($free)) { ?><li role="presentation" <?php echo (!count($commercial) ? 'class="active"' : ''); ?>><a href="#free-extensions" aria-controls="free-extensions" role="tab" data-toggle="tab"><i class='icon-download-cloud'></i> <?php echo __('Free', AAM_KEY); ?></a></li><?php } ?>
30
- <li style="float:right;"><a href="#" id="update-check" data-toggle="tooltip" title="<?php echo __('Check For Updates', AAM_KEY); ?>"><small><i class="icon-arrows-cw"></i> <?php echo __('Check', AAM_KEY); ?></small></a></li>
31
  </ul>
32
 
33
  <!-- Tab panes -->
27
  <ul class="nav nav-tabs" role="tablist">
28
  <?php if(count($commercial)) { ?><li role="presentation" class="active"><a href="#premium-extensions" aria-controls="premium-extensions" role="tab" data-toggle="tab"><i class='icon-basket'></i> <?php echo __('Premium', AAM_KEY); ?></a></li><?php } ?>
29
  <?php if(count($free)) { ?><li role="presentation" <?php echo (!count($commercial) ? 'class="active"' : ''); ?>><a href="#free-extensions" aria-controls="free-extensions" role="tab" data-toggle="tab"><i class='icon-download-cloud'></i> <?php echo __('Free', AAM_KEY); ?></a></li><?php } ?>
 
30
  </ul>
31
 
32
  <!-- Tab panes -->
Application/Backend/phtml/frame.phtml ADDED
@@ -0,0 +1,248 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
3
+ <head>
4
+ <title>Post Access</title>
5
+
6
+ <meta charset="UTF-8" />
7
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
+
10
+ <link rel='stylesheet' href='<?php echo AAM_MEDIA; ?>/css/bootstrap.min.css' type='text/css' media='all' />
11
+ <link rel='stylesheet' href='<?php echo AAM_MEDIA; ?>/css/datatables.min.css' type='text/css' media='all' />
12
+ <link rel='stylesheet' href='<?php echo AAM_MEDIA; ?>/css/aam.css' type='text/css' media='all' />
13
+
14
+ <?php do_action( 'admin_print_scripts' ); ?>
15
+
16
+ <?php
17
+ $roles = array_keys(get_editable_roles());
18
+ $id = array_shift($roles);
19
+ $role = AAM_Core_API::getRoles()->get_role($id);
20
+
21
+ $subject = (object) array(
22
+ 'type' => 'role',
23
+ 'id' => $id,
24
+ 'name' => $role->name,
25
+ 'level' => AAM_Core_API::maxLevel($role->capabilities)
26
+ );
27
+
28
+ $object = AAM_Backend_Feature_Post::getCurrentObject();
29
+ ?>
30
+
31
+ <script type="text/javascript">var aamLocal = <?php
32
+ echo json_encode(array(
33
+ 'nonce' => wp_create_nonce('aam_ajax'),
34
+ 'ajaxurl' => admin_url('admin-ajax.php'),
35
+ 'url' => array(
36
+ 'site' => admin_url('index.php'),
37
+ 'jsbase' => AAM_MEDIA . '/js'
38
+ ),
39
+ 'level' => AAM_Core_API::maxLevel(wp_get_current_user()->allcaps),
40
+ 'translation' => array(),
41
+ 'ui' => 'post',
42
+ 'subject' => array(
43
+ 'type' => $subject->type,
44
+ 'id' => $subject->id,
45
+ 'name' => $subject->name,
46
+ 'level' => $subject->level,
47
+ 'blog' => get_current_blog_id()
48
+ ),
49
+ ));
50
+ ?></script>
51
+ </head>
52
+
53
+ <body>
54
+ <?php if (AAM_Backend_Feature_Post::checkLimit() === false) { ?>
55
+ <div style="border-left: 4px solid #ffb900; background-color: #FFF1CC; padding: 10px; font-size: 1em; margin: 10px 0px;">
56
+ You've reached the limit. Consider to purchase <strong><a href="<?php echo admin_url('admin.php?page=aam#extension'); ?>" target="_blank">AAM Plus Package</a></strong> extension.
57
+ </div>
58
+ <?php } ?>
59
+
60
+ <div class="row" style="margin: 10px 0 0 0;">
61
+ <div class="col-sm-4" style="padding: 0;">
62
+ <div class="panel panel-default" style="border-radius:0;">
63
+ <div class="panel-body">
64
+ <ul class="nav nav-tabs" role="tablist">
65
+ <li role="presentation" class="active"><a href="#roles" aria-controls="roles" role="tab" data-toggle="tab"><i class="icon-users" data-toggle="tooltip" data-placement="top" title="Roles"></i></a></li>
66
+ <li role="presentation"><a href="#users" aria-controls="users" role="tab" data-toggle="tab"><i class="icon-user" data-toggle="tooltip" data-placement="top" title="Users"></i></a></li>
67
+ <li role="presentation"><a href="#visitor" aria-controls="visitor" role="tab" data-toggle="tab"><i class="icon-user-secret" data-toggle="tooltip" data-placement="top" title="Visitor"></i></a></li>
68
+ <li role="presentation"><a href="#default" aria-controls="default" role="tab" data-toggle="tab" class="text-danger"><i class="icon-asterisk" data-toggle="tooltip" data-placement="top" title="Default"></i></a></li>
69
+ </ul>
70
+ <div class="tab-content">
71
+ <div role="tabpanel" class="tab-pane active" id="roles">
72
+ <table id="role-list" class="table table-striped table-bordered">
73
+ <thead>
74
+ <tr>
75
+ <th>ID</th>
76
+ <th>Users</th>
77
+ <th width="80%"><?php echo __('Role', AAM_KEY); ?></th>
78
+ <th>&nbsp;</th>
79
+ <th>Level</th>
80
+ </tr>
81
+ </thead>
82
+ <tbody></tbody>
83
+ </table>
84
+ </div>
85
+ <div role="tabpanel" class="tab-pane" id="users">
86
+ <table id="user-list" class="table table-striped table-bordered">
87
+ <thead>
88
+ <tr>
89
+ <th>ID</th>
90
+ <th>Roles</th>
91
+ <th width="80%"><?php echo __('Username', AAM_KEY); ?></th>
92
+ <th>&nbsp;</th>
93
+ <th>Level</th>
94
+ </tr>
95
+ </thead>
96
+ <tbody></tbody>
97
+ </table>
98
+ </div>
99
+ <div role="tabpanel" class="tab-pane" id="visitor">
100
+ <div class="visitor-message">
101
+ <span class="aam-bordered"><?php echo sprintf(__('Manage access to %s for visitors (any user that is not authenticated)', AAM_KEY), '<b>' . ($object->type == 'post' ? $object->post->post_title : $object->term->name) . '</b>'); ?>.</span>
102
+ <button class="btn btn-primary btn-block" id="manage-visitor"><i class="icon-cog"></i> <?php echo __('Manage Visitors', AAM_KEY); ?></button>
103
+ </div>
104
+ </div>
105
+ <div role="tabpanel" class="tab-pane" id="default">
106
+ <div class="visitor-message">
107
+ <span class="aam-bordered"><?php echo sprintf(__('Manage default access to %s for all users, roles and visitor. This includes Administrator role and yourself', AAM_KEY), '<b>' . ($object->type == 'post' ? $object->post->post_title : $object->term->name) . '</b>'); ?>.</span>
108
+ <?php if (defined('AAM_PLUS_PACKAGE')) { ?>
109
+ <button class="btn btn-danger btn-block" id="manage-default"><i class="icon-cog"></i> <?php echo __('Manage Default Access', AAM_KEY); ?></button>
110
+ <?php } else { ?>
111
+ <p class="aam-notification">
112
+ <?php echo AAM_Backend_View_Helper::preparePhrase('This feature is allowed only with [AAM Plus Package] extension.', 'b'); ?>
113
+ </p>
114
+ <?php } ?>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ </div>
120
+ </div>
121
+
122
+ <div class="col-sm-8">
123
+ <div class="aam-overwrite hidden" id="post-overwritten">
124
+ <span><i class="icon-check"></i> <?php echo __('Settings are customized', AAM_KEY); ?></span>
125
+ <span><a href="#" id="post-reset" class="btn btn-xs btn-primary" style="margin-top: -4px;"><?php echo __('Reset To Default', AAM_KEY); ?></a></span>
126
+ </div>
127
+
128
+ <?php if ($object->id) { ?>
129
+ <input type="hidden" id="load-post-object" value="<?php echo ($object->type == 'post' ? $object->post->ID : $object->term->term_id); ?>" />
130
+ <input type="hidden" id="load-post-object-type" value="<?php echo $object->type; ?>" />
131
+ <input type="hidden" id="load-post-object-title" value="<?php echo ($object->type == 'post' ? $object->post->post_title : $object->term->name); ?>" />
132
+ <?php } ?>
133
+
134
+ <div class="aam-access-form" data-type="<?php echo $object->type; ?>">
135
+ <?php if ($object->type == 'post') { ?>
136
+ <table class="table table-striped table-bordered">
137
+ <tbody>
138
+ <tr>
139
+ <td colspan="2" class="aam-table-group">
140
+ <i class="icon-doc-text-inv"></i> <strong><?php echo __('Frontend', AAM_KEY); ?></strong>
141
+ </td>
142
+ </tr>
143
+
144
+ <?php foreach (AAM_Backend_Feature_Post::getAccessOptionList('frontend') as $option => $data) { ?>
145
+ <tr>
146
+ <td width="90%">
147
+ <strong class="aam-block aam-highlight text-uppercase"><?php echo $data['title']; ?></strong>
148
+ <?php
149
+ if (!empty($data['sub'])) {
150
+ echo $data['sub'];
151
+ }
152
+ ?>
153
+ <p class="aam-hint" data-dynamic-post-label="<?php echo $data['descr']; ?>">---</p>
154
+ </td>
155
+ <td>
156
+ <div class="aam-row-actions">
157
+ <i class="aam-row-action text-muted icon-check-empty" data-property="frontend.<?php echo $option; ?>"></i>
158
+ </div>
159
+ </td>
160
+ </tr>
161
+ <?php } ?>
162
+
163
+ <?php do_action('aam-post-access-option-action', 'post', 'frontend'); ?>
164
+
165
+ <tr class="aam-backend-post-access">
166
+ <td colspan="2" class="aam-table-group">
167
+ <i class="icon-doc-text-inv"></i> <strong><?php echo __('Backend', AAM_KEY); ?></strong>
168
+ </td>
169
+ </tr>
170
+
171
+ <?php foreach (AAM_Backend_Feature_Post::getAccessOptionList('backend') as $option => $data) { ?>
172
+ <tr class="aam-backend-post-access">
173
+ <td width="90%">
174
+ <strong class="aam-block aam-highlight text-uppercase"><?php echo $data['title']; ?></strong>
175
+ <?php
176
+ if (!empty($data['sub'])) {
177
+ echo $data['sub'];
178
+ }
179
+ ?>
180
+ <p class="aam-hint" data-dynamic-post-label="<?php echo $data['descr']; ?>">---</p>
181
+ </td>
182
+ <td>
183
+ <div class="aam-row-actions">
184
+ <i class="aam-row-action text-muted icon-check-empty" data-property="backend.<?php echo $option; ?>"></i>
185
+ </div>
186
+ </td>
187
+ </tr>
188
+ <?php } ?>
189
+
190
+ <?php do_action('aam-post-access-option-action', 'post', 'backend'); ?>
191
+
192
+ </tbody>
193
+ </table>
194
+ <?php } else {
195
+ echo apply_filters('aam-term-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('term-type.phtml'));
196
+ } ?>
197
+ <div class="aam-overlay"></div>
198
+ </div>
199
+
200
+ <div class="modal fade" id="password-modal" tabindex="-1" role="dialog">
201
+ <div class="modal-dialog modal-sm" role="document">
202
+ <div class="modal-content">
203
+ <div class="modal-header">
204
+ <button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">&times;</span></button>
205
+ <h4 class="modal-title"><?php echo __('Change Password', AAM_KEY); ?></h4>
206
+ </div>
207
+ <div class="modal-body">
208
+ <div class="form-group">
209
+ <label><?php echo __('Password', AAM_KEY); ?></label>
210
+ <input type="text" class="form-control" id="password-value" placeholder="<?php echo __('Enter Password', AAM_KEY); ?>" />
211
+ </div>
212
+ </div>
213
+ <div class="modal-footer">
214
+ <button type="button" class="btn btn-success" id="change-password-btn"><?php echo __('Change', AAM_KEY); ?></button>
215
+ <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
216
+ </div>
217
+ </div>
218
+ </div>
219
+ </div>
220
+
221
+ <div class="modal fade" id="location-modal" tabindex="-1" role="dialog">
222
+ <div class="modal-dialog" role="document">
223
+ <div class="modal-content">
224
+ <div class="modal-header">
225
+ <button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">&times;</span></button>
226
+ <h4 class="modal-title"><?php echo __('Redirect', AAM_KEY); ?></h4>
227
+ </div>
228
+ <div class="modal-body">
229
+ <div class="form-group">
230
+ <label><?php echo __('Valid URL or Page ID', AAM_KEY); ?></label>
231
+ <input type="text" class="form-control" id="location-value" placeholder="<?php echo __('Enter Redirect', AAM_KEY); ?>" />
232
+ </div>
233
+ </div>
234
+ <div class="modal-footer">
235
+ <button type="button" class="btn btn-success" id="change-location-btn"><?php echo __('Change', AAM_KEY); ?></button>
236
+ <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
237
+ </div>
238
+ </div>
239
+ </div>
240
+ </div>
241
+ </div>
242
+ </div>
243
+
244
+ <p style="margin: 5px; text-align: left; font-size: 0.9em;">
245
+ <b>Please help us</b> and submit your review <a href="https://wordpress.org/support/plugin/advanced-access-manager/reviews/" target="_blank"><i class="icon-star"></i><i class="icon-star"></i><i class="icon-star"></i><i class="icon-star"></i><i class="icon-star"></i></a>
246
+ </p>
247
+ </body>
248
+ </html>
Application/Backend/phtml/metabox.phtml DELETED
@@ -1,8 +0,0 @@
1
- <?php if (defined('AAM_KEY')) { ?>
2
- <?php if (AAM_Backend_Feature_Post::checkLimit() === false) { ?>
3
- <div style="border-left: 4px solid #ffb900; padding-left: 10px; font-size: 0.8em; margin: 10px 5px;">
4
- You've reached the limit. Consider to purchase <strong><a href="<?php echo admin_url('admin.php?page=aam#extension'); ?>" target="_blank">AAM Plus Package</a></strong> extension.
5
- </div>
6
- <?php } ?>
7
- <a href="<?php echo $url; ?>" class="page-title-action" target="_blank" style="display: block; margin: 17px 5px 0px; text-align:center;"><?php echo __('Manage Access', AAM_KEY); ?></a>
8
- <?php }
 
 
 
 
 
 
 
 
Application/Backend/phtml/object/menu.phtml CHANGED
@@ -33,11 +33,18 @@
33
  <div class="row aam-bordered">
34
  <?php echo ($object->has($menu['id']) ? '<div class="aam-lock"></div>' : ''); ?>
35
  <?php foreach ($menu['submenu'] as $j => $submenu) { ?>
36
- <div class="col-xs-12 col-md-6 aam-submenu-item">
37
- <label for="menu-item-<?php echo $i . $j; ?>"><?php echo $submenu['name']; ?> <small class="aam-menu-capability"><?php echo $submenu['capability']; ?></small></label>
38
- <input type="checkbox" class="aam-checkbox-danger" id="menu-item-<?php echo $i . $j; ?>" data-menu-id="<?php echo $submenu['id']; ?>"<?php echo ($object->has($submenu['id']) || $object->has($menu['id']) ? ' checked="checked"' : ''); ?> />
39
- <label for="menu-item-<?php echo $i . $j; ?>"></label>
40
- </div>
 
 
 
 
 
 
 
41
  <?php } ?>
42
  </div>
43
  <?php } ?>
@@ -60,5 +67,24 @@
60
  </div>
61
  <?php } ?>
62
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  </div>
64
  <?php }
33
  <div class="row aam-bordered">
34
  <?php echo ($object->has($menu['id']) ? '<div class="aam-lock"></div>' : ''); ?>
35
  <?php foreach ($menu['submenu'] as $j => $submenu) { ?>
36
+ <?php if ($submenu['id'] == 'index.php') { ?>
37
+ <div class="col-xs-12 col-md-6 aam-submenu-item">
38
+ <label for="menu-item-<?php echo $i . $j; ?>"><?php echo $submenu['name']; ?> <small class="aam-menu-capability"><?php echo $submenu['capability']; ?></small></label>
39
+ <a href="#dashboard-lockout-modal" data-toggle="modal"><i class="icon-help-circled"></i></a>
40
+ </div>
41
+ <?php } else { ?>
42
+ <div class="col-xs-12 col-md-6 aam-submenu-item">
43
+ <label for="menu-item-<?php echo $i . $j; ?>"><?php echo $submenu['name']; ?> <small class="aam-menu-capability"><?php echo $submenu['capability']; ?></small></label>
44
+ <input type="checkbox" class="aam-checkbox-danger" id="menu-item-<?php echo $i . $j; ?>" data-menu-id="<?php echo $submenu['id']; ?>"<?php echo ($object->has($submenu['id']) || $object->has($menu['id']) ? ' checked="checked"' : ''); ?> />
45
+ <label for="menu-item-<?php echo $i . $j; ?>"></label>
46
+ </div>
47
+ <?php } ?>
48
  <?php } ?>
49
  </div>
50
  <?php } ?>
67
  </div>
68
  <?php } ?>
69
  </div>
70
+
71
+ <div class="modal fade" id="dashboard-lockout-modal" tabindex="-1" role="dialog">
72
+ <div class="modal-dialog" role="document">
73
+ <div class="modal-content">
74
+ <div class="modal-header">
75
+ <button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">&times;</span></button>
76
+ <h4 class="modal-title"><?php echo __('Dashboard Lockdown', AAM_KEY); ?></h4>
77
+ </div>
78
+ <div class="modal-body">
79
+ <p class="text-center alert alert-warning"><strong><?php echo __('You cannot restrict access to Dashboard home page.', AAM_KEY); ?></strong></p>
80
+
81
+ <p class="aam-outer-top-xs text-center"><?php echo sprintf(__('Dashboard home page is the default page every user is redirected after login. If you need to lockdown user from the entire website dashboard, %splease check this article%s.', AAM_KEY), '<a href="https://aamplugin.com/help/how-to-lockdown-wordpress-backend" target="_blank">', '</a>'); ?></p>
82
+ </div>
83
+ <div class="modal-footer">
84
+ <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('OK', AAM_KEY); ?></button>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </div>
89
  </div>
90
  <?php }
Application/Backend/phtml/object/post.phtml CHANGED
@@ -47,17 +47,17 @@
47
  <tbody></tbody>
48
  </table>
49
 
50
- <div class="aam-slide-form" data-type="type">
51
  <?php echo apply_filters('aam-post-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('post-type.phtml')); ?>
52
  <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
53
  </div>
54
 
55
- <div class="aam-slide-form" data-type="term">
56
  <?php echo apply_filters('aam-term-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('term-type.phtml')); ?>
57
  <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
58
  </div>
59
 
60
- <div class="aam-slide-form" data-type="post">
61
  <table class="table table-striped table-bordered">
62
  <tbody>
63
  <tr>
47
  <tbody></tbody>
48
  </table>
49
 
50
+ <div class="aam-slide-form aam-access-form" data-type="type">
51
  <?php echo apply_filters('aam-post-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('post-type.phtml')); ?>
52
  <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
53
  </div>
54
 
55
+ <div class="aam-slide-form aam-access-form" data-type="term">
56
  <?php echo apply_filters('aam-term-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('term-type.phtml')); ?>
57
  <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
58
  </div>
59
 
60
+ <div class="aam-slide-form aam-access-form" data-type="post">
61
  <table class="table table-striped table-bordered">
62
  <tbody>
63
  <tr>
Application/Backend/phtml/post-metabox.phtml ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php if (defined('AAM_KEY')) { ?>
2
+ <iframe src="<?php echo admin_url('admin.php?page=aam&aampostaccess=1&oid=' . AAM_Core_Request::get('post') . '&otype=post'); ?>" width="100%" height="450" style="border-bottom: 1px solid #e5e5e5; margin-top:10px;"></iframe>
3
+ <?php }
Application/Backend/phtml/term-metabox.phtml ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (defined('AAM_KEY')) { ?>
2
+ <tr class="form-field term-description-wrap">
3
+ <th scope="row"><label for="description"><?php _e('Access'); ?></label></th>
4
+ <td>
5
+ <div style="padding: 0px 10px; box-sizing: border-box; background-color: #FFFFFF; width: 95%;">
6
+ <iframe src="<?php echo admin_url('admin.php?page=aam&aampostaccess=1&oid=' . AAM_Core_Request::get('tag_ID') . '|' . AAM_Core_Request::get('taxonomy') . '&otype=term'); ?>" width="100%" height="450" style="border-bottom: 1px solid #e5e5e5; margin-top:10px;"></iframe>
7
+ </div>
8
+ </td>
9
+ </tr>
10
+ <?php }
Application/Core/API.php CHANGED
@@ -232,9 +232,14 @@ final class AAM_Core_API {
232
  }
233
 
234
  /**
 
235
  *
236
- * @param type $rule
237
- * @param type $args
 
 
 
 
238
  */
239
  public static function redirect($rule, $args = null) {
240
  if (filter_var($rule, FILTER_VALIDATE_URL)) {
@@ -245,7 +250,7 @@ final class AAM_Core_API {
245
  call_user_func($rule, $args);
246
  } elseif (!empty($args['callback']) && is_callable($args['callback'])) {
247
  call_user_func($args['callback'], $rule, '', array());
248
- } elseif (empty($args['skip-die'])) {
249
  wp_die($rule);
250
  }
251
  exit;
@@ -271,8 +276,11 @@ final class AAM_Core_API {
271
  }
272
 
273
  /**
 
274
  *
275
- * @return type
 
 
276
  */
277
  public static function version() {
278
  if (file_exists(ABSPATH . 'wp-admin/includes/plugin.php')) {
@@ -287,4 +295,106 @@ final class AAM_Core_API {
287
  return (!empty($version) ? $version : null);
288
  }
289
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  }
232
  }
233
 
234
  /**
235
+ * Redirect request
236
  *
237
+ * Redirect user based on defined $rule
238
+ *
239
+ * @param mixed $rule
240
+ * @param mixed $args
241
+ *
242
+ * @access public
243
  */
244
  public static function redirect($rule, $args = null) {
245
  if (filter_var($rule, FILTER_VALIDATE_URL)) {
250
  call_user_func($rule, $args);
251
  } elseif (!empty($args['callback']) && is_callable($args['callback'])) {
252
  call_user_func($args['callback'], $rule, '', array());
253
+ } else {
254
  wp_die($rule);
255
  }
256
  exit;
276
  }
277
 
278
  /**
279
+ * Get plugin version
280
  *
281
+ * @return string
282
+ *
283
+ * @access public
284
  */
285
  public static function version() {
286
  if (file_exists(ABSPATH . 'wp-admin/includes/plugin.php')) {
295
  return (!empty($version) ? $version : null);
296
  }
297
 
298
+ /**
299
+ * Get filtered post list
300
+ *
301
+ * Return only posts that are restricted to LIST or LIST TO OTHERS for the
302
+ * current user. This function is shared by both frontend and backend
303
+ *
304
+ * @param WP_Query $query
305
+ * @param string $area
306
+ *
307
+ * @return array
308
+ *
309
+ * @access public
310
+ */
311
+ public static function getFilteredPostList($query, $area = 'frontend') {
312
+ $filtered = array();
313
+ $type = self::getQueryPostType($query);
314
+
315
+ if (AAM_Core_Cache::has("{$type}__not_in_{$area}")) {
316
+ $filtered = AAM_Core_Cache::get("{$type}__not_in_{$area}");
317
+ } else { //first initial build
318
+ $posts = get_posts(array(
319
+ 'post_type' => $type, 'numberposts' => 500, 'post_status' => 'any'
320
+ ));
321
+ foreach ($posts as $post) {
322
+ if (self::isHiddenPost($post, $type, $area)) {
323
+ $filtered[] = $post->ID;
324
+ }
325
+ }
326
+ }
327
+
328
+ return (is_array($filtered) ? $filtered : array());
329
+ }
330
+
331
+ /**
332
+ * Check if post is hidden
333
+ *
334
+ * @param mixed $post
335
+ * @param string $area
336
+ *
337
+ * @return boolean
338
+ *
339
+ * @access public
340
+ */
341
+ public static function isHiddenPost($post, $type, $area = 'frontend') {
342
+ static $counter = 0;
343
+
344
+ $hidden = false;
345
+
346
+ if ($counter <= 500) { //avoid server crash
347
+ $user = get_current_user_id();
348
+ $key = "{$type}__not_in_{$area}";
349
+ $cache = AAM_Core_Cache::get($key, array());
350
+ $checked = AAM_Core_Cache::get($key . '_checked', array());
351
+
352
+ if (!in_array($post->ID, $cache)) {
353
+ if (!in_array($post->ID, $checked)) {
354
+ $object = AAM::getUser()->getObject('post', $post->ID, $post);
355
+ $list = $object->has("{$area}.list");
356
+ $others = $object->has("{$area}.list_others");
357
+ $checked[] = $post->ID;
358
+
359
+ if ($list || ($others && ($post->post_author != $user))) {
360
+ $hidden = true;
361
+ $cache[] = $post->ID;
362
+ }
363
+
364
+ AAM_Core_Cache::set(AAM::getUser(), $key . '_checked', $checked);
365
+ AAM_Core_Cache::set(AAM::getUser(), $key, $cache);
366
+ $counter++;
367
+ }
368
+ } else {
369
+ $hidden = true;
370
+ }
371
+ }
372
+
373
+ return $hidden;
374
+ }
375
+
376
+ /**
377
+ * Get Query post type
378
+ *
379
+ * @param WP_Query $query
380
+ *
381
+ * @return string
382
+ *
383
+ * @access public
384
+ */
385
+ public static function getQueryPostType($query) {
386
+ //get post type based on queired object
387
+ if (!empty($query->query['post_type'])) {
388
+ $type = $query->query['post_type'];
389
+ } elseif (!empty($query->query_vars['post_type'])) {
390
+ $type = $query->query_vars['post_type'];
391
+ }
392
+
393
+ if (empty($type) || !is_scalar($type)){
394
+ $type = 'post';
395
+ }
396
+
397
+ return $type;
398
+ }
399
+
400
  }
Application/Core/Cache.php CHANGED
@@ -27,7 +27,7 @@ class AAM_Core_Cache {
27
  *
28
  * @access protected
29
  */
30
- protected static $cache = false;
31
 
32
  /**
33
  * Update cache flag
@@ -65,7 +65,7 @@ class AAM_Core_Cache {
65
  public static function set($subject, $option, $data) {
66
  if (!isset(self::$cache[$option]) || (self::$cache[$option] != $data)) {
67
  self::$cache[$option] = $data;
68
- self::$updated = true;
69
  }
70
  }
71
 
27
  *
28
  * @access protected
29
  */
30
+ public static $cache = false;
31
 
32
  /**
33
  * Update cache flag
65
  public static function set($subject, $option, $data) {
66
  if (!isset(self::$cache[$option]) || (self::$cache[$option] != $data)) {
67
  self::$cache[$option] = $data;
68
+ self::$updated = true;
69
  }
70
  }
71
 
Application/Core/Compatibility.php CHANGED
@@ -52,22 +52,17 @@ class AAM_Core_Compatibility {
52
  *
53
  * @return type
54
  */
55
- public static function getExtensionList() {
56
- $extensions = AAM_Core_API::getOption('aam-extensions', array(), 'site');
57
 
58
- if (empty($extensions)) {
59
- $extensions = AAM_Core_API::getOption('aam-extension-license', array(), 'site');
60
- if (!empty($extensions)) {
61
  $converted = array();
62
 
63
- foreach($extensions as $title => $license) {
64
- $id = strtoupper(str_replace(' ', '_', $title));
65
- if (defined($id)) { //include only installed
66
- $converted[$id] = array(
67
- 'license' => $license,
68
- 'status' => AAM_Extension_Repository::STATUS_INSTALLED
69
- );
70
- }
71
  }
72
 
73
  AAM_Core_API::updateOption('aam-extensions', $converted);
@@ -75,7 +70,7 @@ class AAM_Core_Compatibility {
75
  }
76
  }
77
 
78
- return $extensions;
79
  }
80
 
81
  /**
52
  *
53
  * @return type
54
  */
55
+ public static function getLicenseList() {
56
+ $list = AAM_Core_API::getOption('aam-extensions', array(), 'site');
57
 
58
+ if (empty($list)) {
59
+ $list = AAM_Core_API::getOption('aam-extension-license', array(), 'site');
60
+ if (!empty($list)) {
61
  $converted = array();
62
 
63
+ foreach($list as $title => $license) {
64
+ $id = strtoupper(str_replace(' ', '_', $title));
65
+ $converted[$id] = array('license' => $license);
 
 
 
 
 
66
  }
67
 
68
  AAM_Core_API::updateOption('aam-extensions', $converted);
70
  }
71
  }
72
 
73
+ return $list;
74
  }
75
 
76
  /**
Application/Core/Object/Post.php CHANGED
@@ -38,12 +38,12 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
38
  parent::__construct($subject);
39
 
40
  //make sure that we are dealing with WP_Post object
41
- if (is_a($post, 'WP_Post')) {
42
  $this->setPost($post);
43
  } elseif (intval($post)) {
44
  $this->setPost(get_post($post));
45
  }
46
-
47
  if ($this->getPost()) {
48
  $this->read();
49
  }
@@ -71,8 +71,9 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
71
  */
72
  public function read() {
73
  $subject = $this->getSubject();
 
74
  $opname = $this->getOptionName();
75
- $chname = $opname . '|' . $this->getPost()->ID;
76
 
77
  //read cache first
78
  $option = AAM_Core_Cache::get($chname);
@@ -82,7 +83,7 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
82
  } else {
83
  //Cache is empty. Get post access for current subject (user or role)
84
  if (empty($option)) { //no cache for this element
85
- $option = get_post_meta($this->getPost()->ID, $opname, true);
86
  $this->setOverwritten(!empty($option));
87
  }
88
 
@@ -94,11 +95,7 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
94
 
95
  //No settings for a post. Try to inherit from the parent
96
  if (empty($option)) {
97
- $option = $subject->inheritFromParent('post', $this->getPost()->ID);
98
- }
99
-
100
- if (empty($option)) {
101
- $option = $subject->inheritFromDefault('post', $this->getPost()->ID);
102
  }
103
  }
104
 
@@ -145,20 +142,16 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
145
  }
146
 
147
  /**
148
- * Set Post. Cover all unexpectd wierd issues with WP Core
149
  *
150
- * @param WP_Post $post
151
  *
152
  * @return void
153
  *
154
  * @access public
155
  */
156
  public function setPost($post) {
157
- if ($post instanceof WP_Post) {
158
- $this->_post = $post;
159
- } else {
160
- $this->_post = (object) array('ID' => 0);
161
- }
162
  }
163
 
164
  /**
38
  parent::__construct($subject);
39
 
40
  //make sure that we are dealing with WP_Post object
41
+ if (is_object($post)) {
42
  $this->setPost($post);
43
  } elseif (intval($post)) {
44
  $this->setPost(get_post($post));
45
  }
46
+
47
  if ($this->getPost()) {
48
  $this->read();
49
  }
71
  */
72
  public function read() {
73
  $subject = $this->getSubject();
74
+ $post = $this->getPost();
75
  $opname = $this->getOptionName();
76
+ $chname = $opname . '|' . $post->ID;
77
 
78
  //read cache first
79
  $option = AAM_Core_Cache::get($chname);
83
  } else {
84
  //Cache is empty. Get post access for current subject (user or role)
85
  if (empty($option)) { //no cache for this element
86
+ $option = get_post_meta($post->ID, $opname, true);
87
  $this->setOverwritten(!empty($option));
88
  }
89
 
95
 
96
  //No settings for a post. Try to inherit from the parent
97
  if (empty($option)) {
98
+ $option = $subject->inheritFromParent('post', $post->ID, $post);
 
 
 
 
99
  }
100
  }
101
 
142
  }
143
 
144
  /**
145
+ * Set Post
146
  *
147
+ * @param WP_Post|stdClass $post
148
  *
149
  * @return void
150
  *
151
  * @access public
152
  */
153
  public function setPost($post) {
154
+ $this->_post = $post;
 
 
 
 
155
  }
156
 
157
  /**
Application/Core/Subject.php CHANGED
@@ -170,34 +170,33 @@ abstract class AAM_Core_Subject {
170
  /**
171
  * Get Individual Object
172
  *
173
- * @param string $objectType
174
  * @param mixed $id
175
  *
176
  * @return AAM_Core_Object
177
  *
178
  * @access public
179
  */
180
- public function getObject($objectType, $id = 'none') {
181
  $object = null;
182
 
183
- $nid = (is_scalar($id) ? $id : 'none'); //prevent from any surprises
 
184
 
185
  //check if there is an object with specified ID
186
- if (!isset($this->_objects[$objectType][$nid])) {
187
- $classname = 'AAM_Core_Object_' . ucfirst($objectType);
188
  if (class_exists($classname)) {
189
- $object = new $classname($this, $nid);
190
  } else {
191
- $object = apply_filters(
192
- 'aam-object-filter', null, $objectType, $nid, $this
193
- );
194
  }
195
 
196
  if (is_a($object, 'AAM_Core_Object')) {
197
- $this->_objects[$objectType][$nid] = $object;
198
  }
199
  } else {
200
- $object = $this->_objects[$objectType][$nid];
201
  }
202
 
203
  return $object;
@@ -273,9 +272,9 @@ abstract class AAM_Core_Subject {
273
  *
274
  * @access public
275
  */
276
- public function inheritFromParent($object, $id = ''){
277
  if ($subject = $this->getParent()){
278
- $option = $subject->getObject($object, $id)->getOption();
279
  } else {
280
  $option = null;
281
  }
170
  /**
171
  * Get Individual Object
172
  *
173
+ * @param string $type
174
  * @param mixed $id
175
  *
176
  * @return AAM_Core_Object
177
  *
178
  * @access public
179
  */
180
+ public function getObject($type, $id = 'none', $param = null) {
181
  $object = null;
182
 
183
+ //performance optimization
184
+ $id = (is_scalar($id) ? $id : 'none'); //prevent from any surprises
185
 
186
  //check if there is an object with specified ID
187
+ if (!isset($this->_objects[$type][$id])) {
188
+ $classname = 'AAM_Core_Object_' . ucfirst($type);
189
  if (class_exists($classname)) {
190
+ $object = new $classname($this, (is_null($param) ? $id : $param));
191
  } else {
192
+ $object = apply_filters('aam-object-filter', null, $type, $id, $this);
 
 
193
  }
194
 
195
  if (is_a($object, 'AAM_Core_Object')) {
196
+ $this->_objects[$type][$id] = $object;
197
  }
198
  } else {
199
+ $object = $this->_objects[$type][$id];
200
  }
201
 
202
  return $object;
272
  *
273
  * @access public
274
  */
275
+ public function inheritFromParent($object, $id = '', $param = null){
276
  if ($subject = $this->getParent()){
277
+ $option = $subject->getObject($object, $id, $param)->getOption();
278
  } else {
279
  $option = null;
280
  }
Application/Extension/Compatibility.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * ======================================================================
5
- * LICENSE: This file is subject to the terms and conditions defined in *
6
- * file 'license.txt', which is part of this source code package. *
7
- * ======================================================================
8
- */
9
-
10
- /**
11
- * Extension compatibility with older versions
12
- *
13
- * @package AAM
14
- * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15
- * @todo Remove Feb 2018
16
- */
17
- class AAM_Extension_Compatibility {
18
-
19
- /**
20
- *
21
- */
22
- public static function init() {
23
- //block deprecated extensions from loading
24
- define('AAM_UTILITIES', '99');
25
- define('AAM_POST_FILTER', '99');
26
- define('AAM_REDIRECT', '99');
27
- define('AAM_CONTENT_TEASER', '99');
28
- define('AAM_LOGIN_REDIRECT', '99');
29
- //TODO - Remove this in Jul 2018
30
-
31
- //caching filter & action
32
- add_filter(
33
- 'aam-read-cache-filter', 'AAM_Extension_Compatibility::readCache', 10, 3
34
- );
35
-
36
- //utilities option
37
- add_filter('aam-utility-property', 'AAM_Core_Config::get', 10, 2);
38
- }
39
-
40
- /**
41
- *
42
- * @param type $value
43
- * @param type $option
44
- * @param type $subject
45
- * @return type
46
- */
47
- public static function readCache($value, $option, $subject) {
48
- return AAM_Core_Cache::get($option);
49
- }
50
-
51
- /**
52
- *
53
- * @return type
54
- */
55
- public static function getExtensionList() {
56
- $extensions = AAM_Core_API::getOption('aam-extensions', array());
57
-
58
- if (empty($extensions)) {
59
- $extensions = AAM_Core_API::getOption('aam-extension-license', array());
60
- if (!empty($extensions)) {
61
- $converted = array();
62
-
63
- foreach($extensions as $title => $license) {
64
- $converted[strtoupper(str_replace(' ', '_', $title))] = array(
65
- 'license' => $license,
66
- 'status' => AAM_Extension_Repository::STATUS_INSTALLED
67
- );
68
- }
69
-
70
- AAM_Core_API::updateOption('aam-extensions', $converted);
71
- AAM_Core_API::deleteOption('aam-extension-license');
72
- }
73
- }
74
-
75
- return $extensions;
76
- }
77
-
78
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Application/Extension/List.php CHANGED
@@ -8,7 +8,7 @@
8
  */
9
 
10
  return array(
11
- array(
12
  'title' => 'AAM Plus Package',
13
  'id' => 'AAM_PLUS_PACKAGE',
14
  'type' => 'commercial',
@@ -18,7 +18,7 @@ return array(
18
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FGAHULDEFZV4U',
19
  'version' => (defined('AAM_PLUS_PACKAGE') ? constant('AAM_PLUS_PACKAGE') : null)
20
  ),
21
- array(
22
  'title' => 'AAM IP Check',
23
  'id' => 'AAM_IP_CHECK',
24
  'type' => 'commercial',
@@ -29,7 +29,7 @@ return array(
29
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=R5QYSA9ZUA2E4',
30
  'version' => (defined('AAM_IP_CHECK') ? constant('AAM_IP_CHECK') : null)
31
  ),
32
- array(
33
  'title' => 'AAM User Activity',
34
  'id' => 'AAM_USER_ACTIVITY',
35
  'type' => 'commercial',
@@ -40,7 +40,7 @@ return array(
40
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=WUZ7XBWHDNWS2',
41
  'version' => (defined('AAM_USER_ACTIVITY') ? constant('AAM_USER_ACTIVITY') : null)
42
  ),
43
- array(
44
  'title' => 'AAM Role Hierarchy',
45
  'id' => 'AAM_ROLE_HIERARCHY',
46
  'type' => 'commercial',
@@ -50,7 +50,7 @@ return array(
50
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=K8DMZ66SAW8VG',
51
  'version' => (defined('AAM_ROLE_HIERARCHY') ? constant('AAM_ROLE_HIERARCHY') : null)
52
  ),
53
- array(
54
  'title' => 'AAM Role Filter',
55
  'id' => 'AAM_ROLE_FILTER',
56
  'type' => 'commercial',
@@ -60,7 +60,7 @@ return array(
60
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=G9V4BT3T8WJSN',
61
  'version' => (defined('AAM_ROLE_FILTER') ? constant('AAM_ROLE_FILTER') : null)
62
  ),
63
- array(
64
  'title' => 'AAM Payment',
65
  'id' => 'AAM_PAYMENT',
66
  'type' => 'commercial',
@@ -71,7 +71,7 @@ return array(
71
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9ZRU8E7JBNF2W',
72
  'version' => (defined('AAM_PAYMENT') ? constant('AAM_PAYMENT') : null)
73
  ),
74
- array(
75
  'title' => 'AAM Complete Package',
76
  'id' => 'AAM_COMPLETE_PACKAGE',
77
  'type' => 'commercial',
@@ -81,7 +81,7 @@ return array(
81
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=THJWEJR3URR8L',
82
  'version' => (defined('AAM_COMPLETE_PACKAGE') ? constant('AAM_COMPLETE_PACKAGE') : null)
83
  ),
84
- array(
85
  'title' => 'AAM Multisite',
86
  'id' => 'AAM_MULTISITE',
87
  'type' => 'GNU',
@@ -89,7 +89,7 @@ return array(
89
  'description' => 'Convenient way to navigate between different sites in the Network Admin Panel.',
90
  'version' => (defined('AAM_MULTISITE') ? constant('AAM_MULTISITE') : null)
91
  ),
92
- array(
93
  'title' => 'AAM ConfigPress',
94
  'id' => 'AAM_CONFIGPRESS',
95
  'type' => 'GNU',
8
  */
9
 
10
  return array(
11
+ 'AAM_PLUS_PACKAGE' => array(
12
  'title' => 'AAM Plus Package',
13
  'id' => 'AAM_PLUS_PACKAGE',
14
  'type' => 'commercial',
18
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FGAHULDEFZV4U',
19
  'version' => (defined('AAM_PLUS_PACKAGE') ? constant('AAM_PLUS_PACKAGE') : null)
20
  ),
21
+ 'AAM_IP_CHECK' => array(
22
  'title' => 'AAM IP Check',
23
  'id' => 'AAM_IP_CHECK',
24
  'type' => 'commercial',
29
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=R5QYSA9ZUA2E4',
30
  'version' => (defined('AAM_IP_CHECK') ? constant('AAM_IP_CHECK') : null)
31
  ),
32
+ 'AAM_USER_ACTIVITY' => array(
33
  'title' => 'AAM User Activity',
34
  'id' => 'AAM_USER_ACTIVITY',
35
  'type' => 'commercial',
40
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=WUZ7XBWHDNWS2',
41
  'version' => (defined('AAM_USER_ACTIVITY') ? constant('AAM_USER_ACTIVITY') : null)
42
  ),
43
+ 'AAM_ROLE_HIERARCHY' => array(
44
  'title' => 'AAM Role Hierarchy',
45
  'id' => 'AAM_ROLE_HIERARCHY',
46
  'type' => 'commercial',
50
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=K8DMZ66SAW8VG',
51
  'version' => (defined('AAM_ROLE_HIERARCHY') ? constant('AAM_ROLE_HIERARCHY') : null)
52
  ),
53
+ 'AAM_ROLE_FILTER' => array(
54
  'title' => 'AAM Role Filter',
55
  'id' => 'AAM_ROLE_FILTER',
56
  'type' => 'commercial',
60
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=G9V4BT3T8WJSN',
61
  'version' => (defined('AAM_ROLE_FILTER') ? constant('AAM_ROLE_FILTER') : null)
62
  ),
63
+ 'AAM_PAYMENT' => array(
64
  'title' => 'AAM Payment',
65
  'id' => 'AAM_PAYMENT',
66
  'type' => 'commercial',
71
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9ZRU8E7JBNF2W',
72
  'version' => (defined('AAM_PAYMENT') ? constant('AAM_PAYMENT') : null)
73
  ),
74
+ 'AAM_COMPLETE_PACKAGE' => array(
75
  'title' => 'AAM Complete Package',
76
  'id' => 'AAM_COMPLETE_PACKAGE',
77
  'type' => 'commercial',
81
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=THJWEJR3URR8L',
82
  'version' => (defined('AAM_COMPLETE_PACKAGE') ? constant('AAM_COMPLETE_PACKAGE') : null)
83
  ),
84
+ 'AAM_MULTISITE' => array(
85
  'title' => 'AAM Multisite',
86
  'id' => 'AAM_MULTISITE',
87
  'type' => 'GNU',
89
  'description' => 'Convenient way to navigate between different sites in the Network Admin Panel.',
90
  'version' => (defined('AAM_MULTISITE') ? constant('AAM_MULTISITE') : null)
91
  ),
92
+ 'AAM_CONFIGPRESS' => array(
93
  'title' => 'AAM ConfigPress',
94
  'id' => 'AAM_CONFIGPRESS',
95
  'type' => 'GNU',
Application/Extension/Repository.php CHANGED
@@ -134,26 +134,6 @@ class AAM_Extension_Repository {
134
  }
135
  }
136
 
137
- /**
138
- * Check extension list
139
- *
140
- */
141
- public function check() {
142
- $list = AAM_Core_Compatibility::getExtensionList();
143
-
144
- foreach(AAM_Extension_Server::check() as $id => $item) {
145
- if ($item->violation === true) {
146
- $list[$id]['status'] = self::STATUS_INACTIVE;
147
- } elseif (version_compare(constant($id), $item->version) === -1) {
148
- $list[$id]['status'] = self::STATUS_UPDATE;
149
- } else {
150
- $list[$id]['status'] = self::STATUS_INSTALLED;
151
- }
152
- }
153
-
154
- AAM_Core_API::updateOption('aam-extensions', $list);
155
- }
156
-
157
  /**
158
  * Store the license key
159
  *
@@ -168,12 +148,9 @@ class AAM_Extension_Repository {
168
  */
169
  public function storeLicense($package, $license) {
170
  //retrieve the installed list of extensions
171
- $list = AAM_Core_Compatibility::getExtensionList();
172
 
173
- $list[$package->id] = array(
174
- 'license' => $license,
175
- 'status' => self::STATUS_INSTALLED,
176
- );
177
 
178
  //update the extension list
179
  AAM_Core_API::updateOption('aam-extensions', $list);
@@ -227,24 +204,19 @@ class AAM_Extension_Repository {
227
  public function getList() {
228
  if (empty($this->list)) {
229
  $list = require dirname(__FILE__) . '/List.php';
230
- $index = AAM_Core_Compatibility::getExtensionList();
 
231
 
232
- foreach ($list as &$item) {
233
- $id = $item['id'];
234
-
235
- if (isset($index[$id])) {
236
- $item['status'] = $index[$id]['status'];
237
- } elseif (defined($id)) {
238
- $item['status'] = self::STATUS_INSTALLED;
239
- } else {
240
- $item['status'] = self::STATUS_DOWNLOAD;
241
- }
242
 
 
243
  if (empty($item['license'])) {
244
  if (!empty($index[$id]['license'])) {
245
  $item['license'] = $index[$id]['license'];
246
  } else {
247
- $item['license'] = 0;
248
  }
249
  }
250
  }
@@ -255,6 +227,29 @@ class AAM_Extension_Repository {
255
  return $this->list;
256
  }
257
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  /**
259
  * Check extension directory
260
  *
134
  }
135
  }
136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  /**
138
  * Store the license key
139
  *
148
  */
149
  public function storeLicense($package, $license) {
150
  //retrieve the installed list of extensions
151
+ $list = AAM_Core_Compatibility::getLicenseList();
152
 
153
+ $list[$package->id] = array('license' => $license);
 
 
 
154
 
155
  //update the extension list
156
  AAM_Core_API::updateOption('aam-extensions', $list);
204
  public function getList() {
205
  if (empty($this->list)) {
206
  $list = require dirname(__FILE__) . '/List.php';
207
+ $index = AAM_Core_Compatibility::getLicenseList();
208
+ $check = AAM_Core_API::getOption('aam-check', array(), 'site');
209
 
210
+ foreach ($list as $id => &$item) {
211
+ //update extension status
212
+ $item['status'] = $this->checkStatus($item, $check);
 
 
 
 
 
 
 
213
 
214
+ //get premium license from the stored license index
215
  if (empty($item['license'])) {
216
  if (!empty($index[$id]['license'])) {
217
  $item['license'] = $index[$id]['license'];
218
  } else {
219
+ $item['license'] = '';
220
  }
221
  }
222
  }
227
  return $this->list;
228
  }
229
 
230
+ /**
231
+ *
232
+ * @param type $extension
233
+ * @param type $index
234
+ * @return type
235
+ */
236
+ protected function checkStatus($extension, $index) {
237
+ $id = $extension['id'];
238
+
239
+ if (defined($id)) { //extension is installed
240
+ if (isset($index->$id)
241
+ && version_compare(constant($id), $index->$id->version) == -1) {
242
+ $status = AAM_Extension_Repository::STATUS_UPDATE;
243
+ } else {
244
+ $status = AAM_Extension_Repository::STATUS_INSTALLED;
245
+ }
246
+ } else {
247
+ $status = AAM_Extension_Repository::STATUS_DOWNLOAD;
248
+ }
249
+
250
+ return $status;
251
+ }
252
+
253
  /**
254
  * Check extension directory
255
  *
Application/Extension/Server.php CHANGED
@@ -37,29 +37,19 @@ final class AAM_Extension_Server {
37
  * @access public
38
  */
39
  public static function check() {
40
- $domain = parse_url(site_url(), PHP_URL_HOST);
41
-
42
  //prepare check params
43
  $params = array(
44
- 'domain' => $domain,
45
- 'version' => AAM_Core_API::version(),
46
- 'extensions' => array()
47
  );
48
 
49
- //add list of all premium installed extensions
50
- foreach(AAM_Extension_Repository::getInstance()->getList() as $item) {
51
- if ($item['status'] !== AAM_Extension_Repository::STATUS_DOWNLOAD) {
52
- $params['extensions'][$item['title']] = $item['license'];
53
- }
54
- }
55
-
56
  $response = self::send('/check', $params);
57
  $result = array();
58
 
59
  if (!is_wp_error($response)) {
60
  //WP Error Fix bug report
61
- if ($response->error !== true && !empty($response->extensions)) {
62
- $result = $response->extensions;
63
  }
64
  }
65
 
37
  * @access public
38
  */
39
  public static function check() {
 
 
40
  //prepare check params
41
  $params = array(
42
+ 'domain' => parse_url(site_url(), PHP_URL_HOST),
43
+ 'version' => AAM_Core_API::version()
 
44
  );
45
 
 
 
 
 
 
 
 
46
  $response = self::send('/check', $params);
47
  $result = array();
48
 
49
  if (!is_wp_error($response)) {
50
  //WP Error Fix bug report
51
+ if ($response->error !== true && !empty($response->products)) {
52
+ $result = $response->products;
53
  }
54
  }
55
 
Application/Frontend/Manager.php CHANGED
@@ -44,18 +44,23 @@ class AAM_Frontend_Manager {
44
  //control WordPress frontend
45
  add_action('wp', array($this, 'wp'), 999);
46
  add_action('404_template', array($this, 'themeRedirect'), 999);
 
 
47
  //filter navigation pages & taxonomies
48
- add_filter('get_pages', array($this, 'thePosts'));
49
- add_filter('wp_get_nav_menu_items', array($this, 'getNavigationMenu'));
 
 
 
 
 
 
50
  //widget filters
51
  add_filter('sidebars_widgets', array($this, 'widgetFilter'), 999);
52
  //get control over commenting stuff
53
  add_filter('comments_open', array($this, 'commentOpen'), 10, 2);
54
  //user login control
55
  add_filter('wp_authenticate_user', array($this, 'authenticate'), 1, 2);
56
- //add post filter for LIST restriction
57
- add_filter('the_posts', array($this, 'thePosts'), 999, 2);
58
- add_action('pre_get_posts', array($this, 'preparePostQuery'));
59
 
60
  //password protected filter
61
  add_filter('post_password_required', array($this, 'isProtected'), 10, 2);
@@ -397,22 +402,16 @@ class AAM_Frontend_Manager {
397
 
398
  if (is_array($posts)) {
399
  foreach ($posts as $i => $post) {
400
- if ($current && ($current->ID == $post->ID)) { continue; }
401
-
402
- $object = AAM::getUser()->getObject('post', $post->ID);
403
- $list = $object->has('frontend.list');
404
- $others = $object->has('frontend.list_others');
405
 
406
- if ($list || ($others && !$this->isAuthor($post))) {
407
  unset($posts[$i]);
408
- $notin = AAM_Core_Cache::get($post->post_type . '__not_in_frontend');
409
- AAM_Core_Cache::set(
410
- AAM::getUser(), $post->post_type . '__not_in_frontend', $notin
411
- );
412
  }
413
  }
 
 
414
  }
415
-
416
  return $posts;
417
  }
418
 
@@ -427,14 +426,10 @@ class AAM_Frontend_Manager {
427
  */
428
  public function getNavigationMenu($pages) {
429
  if (is_array($pages)) {
430
- $user = AAM::getUser();
431
  foreach ($pages as $i => $page) {
432
  if ($page->type == 'post_type') {
433
- $object = $user->getObject('post', $page->object_id);
434
- $list = $object->has('frontend.list');
435
- $others = $object->has('frontend.list_others');
436
-
437
- if ($list || ($others && !$this->isAuthor($page))) {
438
  unset($pages[$i]);
439
  }
440
  }
@@ -502,25 +497,12 @@ class AAM_Frontend_Manager {
502
  */
503
  public function preparePostQuery($query) {
504
  if ($this->skip === false) {
505
- $filtered = array();
506
- $key = $this->getQueryType($query) . '__not_in_frontend';
 
507
 
508
- if (AAM_Core_Cache::has($key)) {
509
- $filtered = AAM_Core_Cache::get($key);
510
- } else {
511
- foreach ($this->fetchPosts($query) as $id) {
512
- $object = AAM::getUser()->getObject('post', $id);
513
- $list = $object->has('frontend.list');
514
- $others = $object->has('frontend.list_others');
515
-
516
- if ($list || ($others && !$this->isAuthor($object->getPost()))) {
517
- $filtered[] = $id;
518
- }
519
- }
520
- AAM_Core_Cache::set(AAM::getUser(), $key, $filtered);
521
- }
522
-
523
- if (isset($query->query_vars['post__not_in'])) {
524
  $query->query_vars['post__not_in'] = array_merge(
525
  $query->query_vars['post__not_in'], $filtered
526
  );
@@ -530,41 +512,6 @@ class AAM_Frontend_Manager {
530
  }
531
  }
532
 
533
- /**
534
- *
535
- * @param type $query
536
- * @return type
537
- */
538
- protected function fetchPosts($query) {
539
- $this->skip = true;
540
-
541
- $posts = get_posts(array(
542
- 'post_type' => $this->getQueryType($query),
543
- 'numberposts' => 500
544
- ));
545
-
546
- $this->skip = false;
547
-
548
- return $posts;
549
- }
550
-
551
- /**
552
- *
553
- * @param type $query
554
- * @return type
555
- */
556
- protected function getQueryType($query) {
557
- if (!empty($query->query['post_type'])) {
558
- $postType = $query->query['post_type'];
559
- } elseif (!empty($query->query_vars['post_type'])) {
560
- $postType = $query->query_vars['post_type'];
561
- } else {
562
- $postType = 'post';
563
- }
564
-
565
- return (is_string($postType) ? $postType : 'post');
566
- }
567
-
568
  /**
569
  *
570
  * @global WP_Post $post
44
  //control WordPress frontend
45
  add_action('wp', array($this, 'wp'), 999);
46
  add_action('404_template', array($this, 'themeRedirect'), 999);
47
+
48
+ if (AAM_Core_Config::get('check-post-visibility', true)) {
49
  //filter navigation pages & taxonomies
50
+ add_filter('get_pages', array($this, 'thePosts'));
51
+ add_filter('wp_get_nav_menu_items', array($this, 'getNavigationMenu'));
52
+
53
+ //add post filter for LIST restriction
54
+ add_filter('the_posts', array($this, 'thePosts'), 999, 2);
55
+ add_action('pre_get_posts', array($this, 'preparePostQuery'));
56
+ }
57
+
58
  //widget filters
59
  add_filter('sidebars_widgets', array($this, 'widgetFilter'), 999);
60
  //get control over commenting stuff
61
  add_filter('comments_open', array($this, 'commentOpen'), 10, 2);
62
  //user login control
63
  add_filter('wp_authenticate_user', array($this, 'authenticate'), 1, 2);
 
 
 
64
 
65
  //password protected filter
66
  add_filter('post_password_required', array($this, 'isProtected'), 10, 2);
402
 
403
  if (is_array($posts)) {
404
  foreach ($posts as $i => $post) {
405
+ if ($current && ($current->ID == $post->ID)) { continue; }
 
 
 
 
406
 
407
+ if (AAM_Core_API::isHiddenPost($post, $post->post_type)) {
408
  unset($posts[$i]);
 
 
 
 
409
  }
410
  }
411
+
412
+ $posts = array_values($posts);
413
  }
414
+
415
  return $posts;
416
  }
417
 
426
  */
427
  public function getNavigationMenu($pages) {
428
  if (is_array($pages)) {
 
429
  foreach ($pages as $i => $page) {
430
  if ($page->type == 'post_type') {
431
+ $post = get_post($page->object_id);
432
+ if (AAM_Core_API::isHiddenPost($post, $post->post_type)) {
 
 
 
433
  unset($pages[$i]);
434
  }
435
  }
497
  */
498
  public function preparePostQuery($query) {
499
  if ($this->skip === false) {
500
+ $this->skip = true;
501
+ $filtered = AAM_Core_API::getFilteredPostList($query);
502
+ $this->skip = false;
503
 
504
+ if (isset($query->query_vars['post__not_in'])
505
+ && is_array($query->query_vars['post__not_in'])) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
506
  $query->query_vars['post__not_in'] = array_merge(
507
  $query->query_vars['post__not_in'], $filtered
508
  );
512
  }
513
  }
514
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
515
  /**
516
  *
517
  * @global WP_Post $post
Lang/advanced-access-manager-en_US.mo CHANGED
Binary file
Lang/advanced-access-manager-en_US.po CHANGED
@@ -1,19 +1,19 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: AAM\n"
4
- "POT-Creation-Date: 2017-02-04 14:44-0500\n"
5
  "PO-Revision-Date: \n"
6
- "Last-Translator: \n"
7
  "Language-Team: WP AAM <vasyl@vasyltech.com>\n"
8
- "Language: en_US\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.8.11\n"
13
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
14
  "X-Poedit-SourceCharset: UTF-8\n"
15
  "X-Poedit-KeywordsList: __\n"
16
  "X-Poedit-Basepath: ..\n"
 
 
17
  "X-Poedit-SearchPath-0: .\n"
18
 
19
  #: media/js/aam-ui.js:44 Application/Backend/View/Localization.php:23
@@ -33,227 +33,232 @@ msgstr ""
33
  msgid "_TOTAL_ role(s)"
34
  msgstr ""
35
 
36
- #: media/js/aam-ui.js:98 media/js/aam-ui.js:540
37
  #: Application/Backend/View/Localization.php:27
38
- #: Application/Backend/phtml/index.phtml:137
39
  #: Application/Backend/phtml/object/capability.phtml:27
40
  #: Application/Backend/phtml/object/capability.phtml:57
41
  msgid "Create"
42
  msgstr ""
43
 
44
- #: media/js/aam-ui.js:118 Application/Backend/View/Localization.php:28
45
- #: Application/Backend/phtml/index.phtml:103
46
- #: Application/Backend/phtml/index.phtml:223
47
  msgid "Users"
48
  msgstr ""
49
 
50
- #: media/js/aam-ui.js:150 Application/Backend/View/Localization.php:45
51
  msgid "Manage Role"
52
  msgstr ""
53
 
54
- #: media/js/aam-ui.js:165 Application/Backend/View/Localization.php:46
55
  msgid "Edit Role Name"
56
  msgstr ""
57
 
58
- #: media/js/aam-ui.js:179
59
  msgid "Clone Role"
60
  msgstr ""
61
 
62
- #: media/js/aam-ui.js:198 media/js/aam-ui.js:380
63
  #: Application/Backend/View/Localization.php:35
64
  #: Application/Backend/View/Localization.php:47
65
- #: Application/Backend/phtml/index.phtml:171
66
  msgid "Delete Role"
67
  msgstr ""
68
 
69
- #: media/js/aam-ui.js:272 media/js/aam-ui.js:327 media/js/aam-ui.js:1132
70
- #: media/js/aam-ui.js:1178 Application/Backend/View/Localization.php:13
71
  msgid "Saving..."
72
  msgstr ""
73
 
74
- #: media/js/aam-ui.js:287 Application/Backend/View/Localization.php:29
75
  msgid "Failed to add new role"
76
  msgstr ""
77
 
78
- #: media/js/aam-ui.js:292 media/js/aam-ui.js:339 media/js/aam-ui.js:376
79
- #: media/js/aam-ui.js:470 media/js/aam-ui.js:502 media/js/aam-ui.js:845
80
- #: media/js/aam-ui.js:882 media/js/aam-ui.js:918 media/js/aam-ui.js:1145
81
- #: media/js/aam-ui.js:1191 media/js/aam-ui.js:1232 media/js/aam-ui.js:1393
82
- #: media/js/aam-ui.js:1441 media/js/aam-ui.js:1731 media/js/aam-ui.js:1826
83
- #: media/js/aam-ui.js:1920 media/js/aam-ui.js:2009 media/js/aam-ui.js:2105
84
  #: media/js/aam.js:207 Application/Backend/View/Localization.php:15
85
  msgid "Application error"
86
  msgstr ""
87
 
88
- #: media/js/aam-ui.js:295 Application/Backend/View/Localization.php:30
89
  msgid "Add Role"
90
  msgstr ""
91
 
92
- #: media/js/aam-ui.js:334 Application/Backend/View/Localization.php:31
93
  msgid "Failed to update role"
94
  msgstr ""
95
 
96
- #: media/js/aam-ui.js:343 Application/Backend/View/Localization.php:32
97
- #: Application/Backend/phtml/extension.phtml:51
98
- #: Application/Backend/phtml/extension.phtml:78
99
- #: Application/Backend/phtml/index.phtml:159
100
  #: Application/Backend/phtml/object/capability.phtml:79
101
  msgid "Update"
102
  msgstr ""
103
 
104
- #: media/js/aam-ui.js:366 media/js/aam-ui.js:1219
105
  #: Application/Backend/View/Localization.php:33
106
  msgid "Deleting..."
107
  msgstr ""
108
 
109
- #: media/js/aam-ui.js:372 Application/Backend/View/Localization.php:34
110
  msgid "Failed to delete role"
111
  msgstr ""
112
 
113
- #: media/js/aam-ui.js:455 media/js/aam-ui.js:456 media/js/aam-ui.js:620
114
  #: Application/Backend/View/Localization.php:51
115
  msgid "Unlock User"
116
  msgstr ""
117
 
118
- #: media/js/aam-ui.js:461 media/js/aam-ui.js:462 media/js/aam-ui.js:609
119
  #: Application/Backend/View/Localization.php:50
120
  msgid "Lock User"
121
  msgstr ""
122
 
123
- #: media/js/aam-ui.js:466 Application/Backend/View/Localization.php:36
124
  msgid "Failed to block user"
125
  msgstr ""
126
 
127
- #: media/js/aam-ui.js:532 Application/Backend/View/Localization.php:37
128
  msgid "Search User"
129
  msgstr ""
130
 
131
- #: media/js/aam-ui.js:533 Application/Backend/View/Localization.php:38
132
  msgid "_TOTAL_ user(s)"
133
  msgstr ""
134
 
135
- #: media/js/aam-ui.js:557 Application/Backend/View/Localization.php:39
136
- #: Application/Backend/phtml/index.phtml:114
 
137
  msgid "Role"
138
  msgstr ""
139
 
140
- #: media/js/aam-ui.js:585 Application/Backend/View/Localization.php:48
141
  msgid "Manage User"
142
  msgstr ""
143
 
144
- #: media/js/aam-ui.js:598 Application/Backend/View/Localization.php:49
145
  msgid "Edit User"
146
  msgstr ""
147
 
148
- #: media/js/aam-ui.js:631
149
  msgid "Switch To User"
150
  msgstr ""
151
 
152
- #: media/js/aam-ui.js:683 Application/Backend/View/Localization.php:40
153
  msgid "Anonymous"
154
  msgstr ""
155
 
156
- #: media/js/aam-ui.js:706
157
  msgid "All Users, Roles and Visitor"
158
  msgstr ""
159
 
160
- #: media/js/aam-ui.js:750 Application/Backend/View/Localization.php:17
161
- #: Application/Backend/phtml/object/menu.phtml:49
162
  msgid "Show Menu"
163
  msgstr ""
164
 
165
- #: media/js/aam-ui.js:765 Application/Backend/View/Localization.php:18
166
- #: Application/Backend/phtml/object/menu.phtml:53
167
  msgid "Restrict Menu"
168
  msgstr ""
169
 
170
- #: media/js/aam-ui.js:877 Application/Backend/View/Localization.php:19
171
  msgid "Failed to retrieve mataboxes"
172
  msgstr ""
173
 
174
- #: media/js/aam-ui.js:905
175
  msgid "Processing"
176
  msgstr ""
177
 
178
- #: media/js/aam-ui.js:913
179
  msgid "Failed to initialize URL"
180
  msgstr ""
181
 
182
- #: media/js/aam-ui.js:921 Application/Backend/phtml/object/metabox.phtml:93
183
  msgid "Initialize"
184
  msgstr ""
185
 
186
- #: media/js/aam-ui.js:995 Application/Backend/View/Localization.php:52
187
  msgid "Failed to grand capability - WordPress policy"
188
  msgstr ""
189
 
190
- #: media/js/aam-ui.js:1030 Application/Backend/View/Localization.php:11
191
  msgid "Search Capability"
192
  msgstr ""
193
 
194
- #: media/js/aam-ui.js:1031 Application/Backend/View/Localization.php:12
195
  msgid "_TOTAL_ capability(s)"
196
  msgstr ""
197
 
198
- #: media/js/aam-ui.js:1033
199
  msgid "Nothing to show"
200
  msgstr ""
201
 
202
- #: media/js/aam-ui.js:1140 Application/Backend/View/Localization.php:14
203
  msgid "Failed to add new capability"
204
  msgstr ""
205
 
206
- #: media/js/aam-ui.js:1148 Application/Backend/View/Localization.php:16
207
  msgid "Add Capability"
208
  msgstr ""
209
 
210
- #: media/js/aam-ui.js:1186
211
  msgid "Failed to update capability"
212
  msgstr ""
213
 
214
- #: media/js/aam-ui.js:1194 Application/Backend/phtml/object/capability.phtml:69
215
  msgid "Update Capability"
216
  msgstr ""
217
 
218
- #: media/js/aam-ui.js:1227
219
  msgid "Failed to delete capability"
220
  msgstr ""
221
 
222
- #: media/js/aam-ui.js:1235 Application/Backend/phtml/object/capability.phtml:91
223
  msgid "Delete Capability"
224
  msgstr ""
225
 
226
- #: media/js/aam-ui.js:1480 Application/Backend/View/Localization.php:20
227
  msgid "Search"
228
  msgstr ""
229
 
230
- #: media/js/aam-ui.js:1481 Application/Backend/View/Localization.php:21
231
  msgid "_TOTAL_ object(s)"
232
  msgstr ""
233
 
234
- #: media/js/aam-ui.js:1547
235
  msgid "Drill-Down"
236
  msgstr ""
237
 
238
- #: media/js/aam-ui.js:1565 Application/Backend/View/Localization.php:43
239
- #: Application/Backend/phtml/metabox.phtml:7
240
  msgid "Manage Access"
241
  msgstr ""
242
 
243
- #: media/js/aam-ui.js:1577 Application/Backend/View/Localization.php:44
244
- #: Application/Backend/View/PostOptionList.php:52
245
  msgid "Edit"
246
  msgstr ""
247
 
248
- #: media/js/aam-ui.js:1781 media/js/aam-ui.js:1876 media/js/aam-ui.js:1962
249
- #: media/js/aam-ui.js:2147 media/js/aam-ui.js:2181 media/js/aam-ui.js:2219
 
250
  msgid "Application Error"
251
  msgstr ""
252
 
 
 
 
 
253
  #: Application/Backend/Feature/Abstract.php:30
254
  #: Application/Backend/Feature/Role.php:29
255
- #: Application/Backend/Feature/User.php:29 Application/Backend/Manager.php:469
256
- #: Application/Backend/Manager.php:494 Application/Core/API.php:267
257
  msgid "Access Denied"
258
  msgstr ""
259
 
@@ -278,6 +283,7 @@ msgstr ""
278
 
279
  #: Application/Backend/Feature/Capability.php:256
280
  #: Application/Backend/Feature/Capability.php:297
 
281
  #: Application/Backend/phtml/object/post.phtml:88
282
  msgid "Backend"
283
  msgstr ""
@@ -295,11 +301,11 @@ msgstr ""
295
  msgid "Contact Us"
296
  msgstr ""
297
 
298
- #: Application/Backend/Feature/Extension.php:91
299
- msgid "License key is missing."
300
  msgstr ""
301
 
302
- #: Application/Backend/Feature/Extension.php:156
303
  msgid "Extensions"
304
  msgstr ""
305
 
@@ -327,37 +333,20 @@ msgstr ""
327
  msgid "Security"
328
  msgstr ""
329
 
330
- #: Application/Backend/Feature/Shortcode.php:45
331
- #: Application/Backend/phtml/shortcode.phtml:6
332
- msgid "Shortcodes"
333
- msgstr ""
334
-
335
  #: Application/Backend/Feature/Teaser.php:103
336
  msgid "Content Teaser"
337
  msgstr ""
338
 
339
- #: Application/Backend/Feature/Utility.php:103
340
  msgid "Utilities"
341
  msgstr ""
342
 
343
- #: Application/Backend/Manager.php:143
344
- #, php-format
345
- msgid "Extension %s has new update available for download."
346
- msgstr ""
347
-
348
- #: Application/Backend/Manager.php:150
349
- #, php-format
350
- msgid ""
351
- "License violation for %s extension. Enter valid license on the Extensions "
352
- "tab or contact us immediately."
353
- msgstr ""
354
-
355
- #: Application/Backend/Manager.php:194
356
  msgid "Access Manager"
357
  msgstr ""
358
 
359
- #: Application/Backend/Manager.php:264 Application/Backend/Manager.php:284
360
- #: Application/Backend/Manager.php:309
361
  msgid "Access"
362
  msgstr ""
363
 
@@ -374,25 +363,36 @@ msgid "Current role"
374
  msgstr ""
375
 
376
  #: Application/Backend/View/PostOptionList.php:13
377
- #: Application/Backend/View/PostOptionList.php:44
378
  msgid "List"
379
  msgstr ""
380
 
381
  #: Application/Backend/View/PostOptionList.php:14
382
- #: Application/Backend/View/PostOptionList.php:45
383
  #, php-format
384
- msgid "Hide %s."
 
 
 
 
 
 
 
 
 
385
  msgstr ""
386
 
387
  #: Application/Backend/View/PostOptionList.php:17
388
- #: Application/Backend/View/PostOptionList.php:48
389
  msgid "List To Others"
390
  msgstr ""
391
 
392
  #: Application/Backend/View/PostOptionList.php:18
393
- #: Application/Backend/View/PostOptionList.php:49
394
  #, php-format
395
- msgid "Hide %s for all except author."
 
 
 
 
396
  msgstr ""
397
 
398
  #: Application/Backend/View/PostOptionList.php:21
@@ -401,7 +401,9 @@ msgstr ""
401
 
402
  #: Application/Backend/View/PostOptionList.php:22
403
  #, php-format
404
- msgid "Restrict access to read %s."
 
 
405
  msgstr ""
406
 
407
  #: Application/Backend/View/PostOptionList.php:25
@@ -409,7 +411,11 @@ msgid "Read By Others"
409
  msgstr ""
410
 
411
  #: Application/Backend/View/PostOptionList.php:26
412
- msgid "Restrict access to read for all except author."
 
 
 
 
413
  msgstr ""
414
 
415
  #: Application/Backend/View/PostOptionList.php:29
@@ -419,8 +425,8 @@ msgstr ""
419
  #: Application/Backend/View/PostOptionList.php:30
420
  #, php-format
421
  msgid ""
422
- "If checked, show defined in the Content Teaser tab teaser message instead of "
423
- "%s content."
424
  msgstr ""
425
 
426
  #: Application/Backend/View/PostOptionList.php:33
@@ -429,81 +435,127 @@ msgstr ""
429
 
430
  #: Application/Backend/View/PostOptionList.php:34
431
  #, php-format
432
- msgid "Restrict access to comment on %s if commenting feature is enabled."
433
  msgstr ""
434
 
435
  #: Application/Backend/View/PostOptionList.php:37
436
- msgid "Password Protected"
 
 
437
  msgstr ""
438
 
439
  #: Application/Backend/View/PostOptionList.php:38
440
  #, php-format
441
- msgid "Password: %s"
442
  msgstr ""
443
 
444
  #: Application/Backend/View/PostOptionList.php:38
 
445
  msgid "change"
446
  msgstr ""
447
 
448
  #: Application/Backend/View/PostOptionList.php:39
449
  #, php-format
450
- msgid "Add a password protection for the %s."
 
 
451
  msgstr ""
452
 
453
- #: Application/Backend/View/PostOptionList.php:53
 
 
 
 
 
 
 
 
 
454
  #, php-format
455
- msgid "Restrict access to edit %s."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
456
  msgstr ""
457
 
458
- #: Application/Backend/View/PostOptionList.php:56
 
 
 
 
 
 
 
459
  msgid "Edit By Others"
460
  msgstr ""
461
 
462
- #: Application/Backend/View/PostOptionList.php:57
463
  #, php-format
464
- msgid "Restrict access to edit %s for all except author."
 
 
 
465
  msgstr ""
466
 
467
- #: Application/Backend/View/PostOptionList.php:60
468
- #: Application/Backend/phtml/index.phtml:177
469
  #: Application/Backend/phtml/object/capability.phtml:97
470
  msgid "Delete"
471
  msgstr ""
472
 
473
- #: Application/Backend/View/PostOptionList.php:61
474
  #, php-format
475
  msgid "Restrict access to trash or permanently delete %s."
476
  msgstr ""
477
 
478
- #: Application/Backend/View/PostOptionList.php:64
479
  msgid "Delete By Others"
480
  msgstr ""
481
 
482
- #: Application/Backend/View/PostOptionList.php:65
483
  #, php-format
484
  msgid ""
485
- "Restrict access to trash or permanently delete %s for all except author."
 
486
  msgstr ""
487
 
488
- #: Application/Backend/View/PostOptionList.php:68
489
  msgid "Publish"
490
  msgstr ""
491
 
492
- #: Application/Backend/View/PostOptionList.php:69
493
  #, php-format
494
  msgid ""
495
- "Restrict access to publish %s. Quick Edit inline action is also removed."
 
496
  msgstr ""
497
 
498
- #: Application/Backend/View/PostOptionList.php:72
499
  msgid "Publish By Others"
500
  msgstr ""
501
 
502
- #: Application/Backend/View/PostOptionList.php:73
503
  #, php-format
504
  msgid ""
505
- "Restrict access to publish %s for all except author. Quick Edit inline "
506
- "action is also removed."
 
507
  msgstr ""
508
 
509
  #: Application/Backend/View/SecurityOptionList.php:12
@@ -549,8 +601,9 @@ msgstr ""
549
 
550
  #: Application/Backend/View/UtilityOptionList.php:18
551
  msgid ""
552
- "Allow AAM to manage access to backend resources like backend menu, "
553
- "categories or posts."
 
554
  msgstr ""
555
 
556
  #: Application/Backend/View/UtilityOptionList.php:22
@@ -559,8 +612,9 @@ msgstr ""
559
 
560
  #: Application/Backend/View/UtilityOptionList.php:23
561
  msgid ""
562
- "Allow AAM to manage access to frontend resources like pages, categories or "
563
- "posts."
 
564
  msgstr ""
565
 
566
  #: Application/Backend/View/UtilityOptionList.php:27
@@ -568,40 +622,58 @@ msgid "Media Files Access Control"
568
  msgstr ""
569
 
570
  #: Application/Backend/View/UtilityOptionList.php:32
571
- msgid "Clear cache automatically"
 
 
 
 
 
 
 
 
 
 
 
572
  msgstr ""
573
 
574
- #: Application/Core/Repository.php:302 Application/Extension/Repository.php:273
 
 
 
 
 
 
 
575
  #, php-format
576
  msgid "Failed to create %s"
577
  msgstr ""
578
 
579
- #: Application/Core/Repository.php:306 Application/Extension/Repository.php:277
580
  #, php-format
581
  msgid "Directory %s is not writable"
582
  msgstr ""
583
 
584
- #: Application/Frontend/Manager.php:184
585
  #, php-format
586
  msgid "[%s] Double Authentication"
587
  msgstr ""
588
 
589
- #: Application/Frontend/Manager.php:186
590
  #, php-format
591
  msgid "Someone was trying to login from the different IP address %s:"
592
  msgstr ""
593
 
594
- #: Application/Frontend/Manager.php:187
595
  #, php-format
596
  msgid "Website: %s"
597
  msgstr ""
598
 
599
- #: Application/Frontend/Manager.php:188
600
  #, php-format
601
  msgid "Username: %s"
602
  msgstr ""
603
 
604
- #: Application/Frontend/Manager.php:189
605
  msgid "Visit the following address to authorize the login:"
606
  msgstr ""
607
 
@@ -617,6 +689,34 @@ msgstr ""
617
  msgid "WP 3.8 or higher is required."
618
  msgstr ""
619
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
620
  #: Application/Backend/phtml/contact.phtml:6
621
  msgid ""
622
  "Feel free to contact us if you have any questions or concerns but follow few "
@@ -640,84 +740,161 @@ msgid "Premium"
640
  msgstr ""
641
 
642
  #: Application/Backend/phtml/extension.phtml:29
643
- #: Application/Backend/phtml/extension.phtml:69
644
  msgid "Free"
645
  msgstr ""
646
 
647
- #: Application/Backend/phtml/extension.phtml:30
648
- msgid "Check For Updates"
649
- msgstr ""
650
-
651
- #: Application/Backend/phtml/extension.phtml:30
652
- msgid "Check"
653
- msgstr ""
654
-
655
- #: Application/Backend/phtml/extension.phtml:49
656
- #: Application/Backend/phtml/extension.phtml:76
657
  msgid "Installed"
658
  msgstr ""
659
 
660
- #: Application/Backend/phtml/extension.phtml:53
661
  msgid "Inactive"
662
  msgstr ""
663
 
664
- #: Application/Backend/phtml/extension.phtml:55
665
  msgid "Purchase"
666
  msgstr ""
667
 
668
- #: Application/Backend/phtml/extension.phtml:80
669
- #: Application/Backend/phtml/extension.phtml:111
670
  msgid "Download"
671
  msgstr ""
672
 
673
- #: Application/Backend/phtml/extension.phtml:95
674
- #: Application/Backend/phtml/extension.phtml:122
675
- #: Application/Backend/phtml/extension.phtml:133
676
- #: Application/Backend/phtml/index.phtml:126
677
- #: Application/Backend/phtml/index.phtml:138
678
- #: Application/Backend/phtml/index.phtml:148
679
- #: Application/Backend/phtml/index.phtml:160
680
- #: Application/Backend/phtml/index.phtml:170
681
- #: Application/Backend/phtml/index.phtml:178
 
 
 
 
682
  #: Application/Backend/phtml/object/capability.phtml:47
683
  #: Application/Backend/phtml/object/capability.phtml:58
684
  #: Application/Backend/phtml/object/capability.phtml:68
685
  #: Application/Backend/phtml/object/capability.phtml:80
686
  #: Application/Backend/phtml/object/capability.phtml:90
687
  #: Application/Backend/phtml/object/capability.phtml:98
 
688
  #: Application/Backend/phtml/object/metabox.phtml:80
689
  #: Application/Backend/phtml/object/metabox.phtml:94
690
  #: Application/Backend/phtml/object/post.phtml:121
691
  #: Application/Backend/phtml/object/post.phtml:132
692
- #: Application/Backend/phtml/utility.phtml:42
 
 
693
  msgid "Close"
694
  msgstr ""
695
 
696
- #: Application/Backend/phtml/extension.phtml:96
697
  msgid "Notification"
698
  msgstr ""
699
 
700
- #: Application/Backend/phtml/extension.phtml:100
701
  msgid ""
702
  "Extension requires manual installation. Please follow few simple steps below."
703
  msgstr ""
704
 
705
- #: Application/Backend/phtml/extension.phtml:112
706
- #: Application/Backend/phtml/utility.phtml:50
707
  msgid "Cancel"
708
  msgstr ""
709
 
710
- #: Application/Backend/phtml/extension.phtml:123
711
  msgid "Install Extension"
712
  msgstr ""
713
 
714
- #: Application/Backend/phtml/extension.phtml:127
715
  msgid ""
716
  "Insert license key that you recieved after the payment (find the email "
717
  "example below). It might take up to 2 hours to process the payment. Please "
718
  "remember that license key is limited only to one life domain."
719
  msgstr ""
720
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
721
  #: Application/Backend/phtml/index.phtml:14
722
  msgid "Access Control Panel"
723
  msgstr ""
@@ -749,104 +926,92 @@ msgstr ""
749
  msgid "Notifications"
750
  msgstr ""
751
 
752
- #: Application/Backend/phtml/index.phtml:81
753
  msgid "AAM Multisite"
754
  msgstr ""
755
 
756
- #: Application/Backend/phtml/index.phtml:85
757
  msgid "Install AAM Multisite"
758
  msgstr ""
759
 
760
- #: Application/Backend/phtml/index.phtml:96
761
  msgid "Users/Roles Panel"
762
  msgstr ""
763
 
764
- #: Application/Backend/phtml/index.phtml:102
765
- #: Application/Backend/phtml/index.phtml:218
766
  msgid "Roles"
767
  msgstr ""
768
 
769
- #: Application/Backend/phtml/index.phtml:104
770
- #: Application/Backend/phtml/index.phtml:228
771
  msgid "Visitor"
772
  msgstr ""
773
 
774
- #: Application/Backend/phtml/index.phtml:105
775
- #: Application/Backend/phtml/index.phtml:233
776
  msgid "Default"
777
  msgstr ""
778
 
779
- #: Application/Backend/phtml/index.phtml:115
780
- #: Application/Backend/phtml/index.phtml:191
781
  msgid "Action"
782
  msgstr ""
783
 
784
- #: Application/Backend/phtml/index.phtml:127
785
  msgid "Create Role"
786
  msgstr ""
787
 
788
- #: Application/Backend/phtml/index.phtml:131
789
- #: Application/Backend/phtml/index.phtml:153
790
  msgid "Role Name"
791
  msgstr ""
792
 
793
- #: Application/Backend/phtml/index.phtml:132
794
- #: Application/Backend/phtml/index.phtml:154
795
  msgid "Enter Role Name"
796
  msgstr ""
797
 
798
- #: Application/Backend/phtml/index.phtml:149
799
  msgid "Update Role"
800
  msgstr ""
801
 
802
- #: Application/Backend/phtml/index.phtml:174
803
  #, php-format
804
  msgid "Are you sure that you want to delete the %s role?"
805
  msgstr ""
806
 
807
- #: Application/Backend/phtml/index.phtml:190
808
- msgid "Username"
809
- msgstr ""
810
-
811
- #: Application/Backend/phtml/index.phtml:200
812
  msgid ""
813
  "Manage access to your website for visitors (any user that is not "
814
  "authenticated)"
815
  msgstr ""
816
 
817
- #: Application/Backend/phtml/index.phtml:201
818
- msgid "Manage Visitors"
819
- msgstr ""
820
-
821
- #: Application/Backend/phtml/index.phtml:206
822
  msgid ""
823
  "Manage default access to your website resources for all users, roles and "
824
  "visitor. This includes Administrator role and your user"
825
  msgstr ""
826
 
827
- #: Application/Backend/phtml/index.phtml:207
828
- msgid "Manage Default Access"
829
- msgstr ""
830
-
831
- #: Application/Backend/phtml/index.phtml:219
832
  msgid ""
833
  "With Roles tab you can manage access for any defined role, edit role's name, "
834
  "create new role or even delete existing (but only when there is no users "
835
  "assigned to it). You are not allowed to delete Administrator role."
836
  msgstr ""
837
 
838
- #: Application/Backend/phtml/index.phtml:224
839
  msgid ""
840
  "Manage access for any user. As a bonus feature, you can block user. It means "
841
  "that user will be not able to login to your website anymore."
842
  msgstr ""
843
 
844
- #: Application/Backend/phtml/index.phtml:229
845
  msgid ""
846
  "Visitor can be considered any user that is not authenticated to your website."
847
  msgstr ""
848
 
849
- #: Application/Backend/phtml/index.phtml:234
850
  msgid ""
851
  "Manage default access settings to your website resources for all users, "
852
  "roles and visitors."
@@ -889,38 +1054,28 @@ msgstr ""
889
  msgid "Are you sure that you want to delete %s capability for all roles?"
890
  msgstr ""
891
 
892
- #: Application/Backend/phtml/object/login-redirect.phtml:43
893
- #: Application/Backend/phtml/object/redirect.phtml:61
894
- msgid "Existing Page"
895
- msgstr ""
896
-
897
- #: Application/Backend/phtml/object/login-redirect.phtml:52
898
- #: Application/Backend/phtml/object/redirect.phtml:70
899
- msgid "-- Select Page --"
900
  msgstr ""
901
 
902
- #: Application/Backend/phtml/object/login-redirect.phtml:58
903
- #: Application/Backend/phtml/object/redirect.phtml:76
904
- #: Application/Backend/phtml/object/redirect.phtml:109
905
- msgid "The URL"
906
  msgstr ""
907
 
908
- #: Application/Backend/phtml/object/login-redirect.phtml:63
909
- #: Application/Backend/phtml/object/redirect.phtml:81
910
- #: Application/Backend/phtml/object/redirect.phtml:113
911
- msgid "PHP Callback Function"
912
  msgstr ""
913
 
914
- #: Application/Backend/phtml/object/menu.phtml:7
915
- #: Application/Backend/phtml/object/metabox.phtml:12
916
- #: Application/Backend/phtml/object/post.phtml:27
917
- msgid "Settings are customized"
 
 
918
  msgstr ""
919
 
920
- #: Application/Backend/phtml/object/menu.phtml:8
921
- #: Application/Backend/phtml/object/metabox.phtml:13
922
- #: Application/Backend/phtml/object/post.phtml:28
923
- msgid "Reset To Default"
924
  msgstr ""
925
 
926
  #: Application/Backend/phtml/object/metabox.phtml:4
@@ -978,26 +1133,6 @@ msgstr ""
978
  msgid "Go Back"
979
  msgstr ""
980
 
981
- #: Application/Backend/phtml/object/post.phtml:65
982
- msgid "Frontend"
983
- msgstr ""
984
-
985
- #: Application/Backend/phtml/object/post.phtml:122
986
- msgid "Change Password"
987
- msgstr ""
988
-
989
- #: Application/Backend/phtml/object/post.phtml:126
990
- msgid "Password"
991
- msgstr ""
992
-
993
- #: Application/Backend/phtml/object/post.phtml:127
994
- msgid "Enter Password"
995
- msgstr ""
996
-
997
- #: Application/Backend/phtml/object/post.phtml:131
998
- msgid "Change"
999
- msgstr ""
1000
-
1001
  #: Application/Backend/phtml/object/redirect.phtml:25
1002
  msgid "Frontend Redirect"
1003
  msgstr ""
@@ -1007,12 +1142,12 @@ msgid "Backend Redirect"
1007
  msgstr ""
1008
 
1009
  #: Application/Backend/phtml/object/redirect.phtml:56
1010
- #: Application/Backend/phtml/object/redirect.phtml:104
1011
  msgid "Customized Message"
1012
  msgstr ""
1013
 
1014
  #: Application/Backend/phtml/object/redirect.phtml:57
1015
- #: Application/Backend/phtml/object/redirect.phtml:105
1016
  msgid "Enter message..."
1017
  msgstr ""
1018
 
@@ -1039,22 +1174,30 @@ msgid ""
1039
  msgstr ""
1040
 
1041
  #: Application/Backend/phtml/utility.phtml:26
1042
- msgid "Clear All Settings"
1043
  msgstr ""
1044
 
1045
  #: Application/Backend/phtml/utility.phtml:28
 
 
 
 
 
 
 
 
1046
  msgid ""
1047
  "Remove all the settings related to AAM (including all extension licenses)."
1048
  msgstr ""
1049
 
1050
- #: Application/Backend/phtml/utility.phtml:43
1051
  msgid "Clear all settings"
1052
  msgstr ""
1053
 
1054
- #: Application/Backend/phtml/utility.phtml:46
1055
  msgid "All AAM settings will be removed."
1056
  msgstr ""
1057
 
1058
- #: Application/Backend/phtml/utility.phtml:49
1059
  msgid "Clear"
1060
  msgstr ""
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: AAM\n"
4
+ "POT-Creation-Date: 2017-03-23 17:23-0400\n"
5
  "PO-Revision-Date: \n"
 
6
  "Language-Team: WP AAM <vasyl@vasyltech.com>\n"
 
7
  "MIME-Version: 1.0\n"
8
  "Content-Type: text/plain; charset=UTF-8\n"
9
  "Content-Transfer-Encoding: 8bit\n"
10
+ "X-Generator: Poedit 1.8.12\n"
11
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
12
  "X-Poedit-SourceCharset: UTF-8\n"
13
  "X-Poedit-KeywordsList: __\n"
14
  "X-Poedit-Basepath: ..\n"
15
+ "Last-Translator: \n"
16
+ "Language: en_US\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
 
19
  #: media/js/aam-ui.js:44 Application/Backend/View/Localization.php:23
33
  msgid "_TOTAL_ role(s)"
34
  msgstr ""
35
 
36
+ #: media/js/aam-ui.js:99 media/js/aam-ui.js:558
37
  #: Application/Backend/View/Localization.php:27
38
+ #: Application/Backend/phtml/index.phtml:112
39
  #: Application/Backend/phtml/object/capability.phtml:27
40
  #: Application/Backend/phtml/object/capability.phtml:57
41
  msgid "Create"
42
  msgstr ""
43
 
44
+ #: media/js/aam-ui.js:120 Application/Backend/View/Localization.php:28
45
+ #: Application/Backend/phtml/index.phtml:78
46
+ #: Application/Backend/phtml/index.phtml:198
47
  msgid "Users"
48
  msgstr ""
49
 
50
+ #: media/js/aam-ui.js:159 Application/Backend/View/Localization.php:45
51
  msgid "Manage Role"
52
  msgstr ""
53
 
54
+ #: media/js/aam-ui.js:175 Application/Backend/View/Localization.php:46
55
  msgid "Edit Role Name"
56
  msgstr ""
57
 
58
+ #: media/js/aam-ui.js:191
59
  msgid "Clone Role"
60
  msgstr ""
61
 
62
+ #: media/js/aam-ui.js:212 media/js/aam-ui.js:397
63
  #: Application/Backend/View/Localization.php:35
64
  #: Application/Backend/View/Localization.php:47
65
+ #: Application/Backend/phtml/index.phtml:146
66
  msgid "Delete Role"
67
  msgstr ""
68
 
69
+ #: media/js/aam-ui.js:289 media/js/aam-ui.js:344 media/js/aam-ui.js:1182
70
+ #: media/js/aam-ui.js:1228 Application/Backend/View/Localization.php:13
71
  msgid "Saving..."
72
  msgstr ""
73
 
74
+ #: media/js/aam-ui.js:304 Application/Backend/View/Localization.php:29
75
  msgid "Failed to add new role"
76
  msgstr ""
77
 
78
+ #: media/js/aam-ui.js:309 media/js/aam-ui.js:356 media/js/aam-ui.js:393
79
+ #: media/js/aam-ui.js:487 media/js/aam-ui.js:519 media/js/aam-ui.js:895
80
+ #: media/js/aam-ui.js:932 media/js/aam-ui.js:968 media/js/aam-ui.js:1195
81
+ #: media/js/aam-ui.js:1241 media/js/aam-ui.js:1282 media/js/aam-ui.js:1454
82
+ #: media/js/aam-ui.js:1504 media/js/aam-ui.js:1830 media/js/aam-ui.js:1925
83
+ #: media/js/aam-ui.js:2019 media/js/aam-ui.js:2100 media/js/aam-ui.js:2174
84
  #: media/js/aam.js:207 Application/Backend/View/Localization.php:15
85
  msgid "Application error"
86
  msgstr ""
87
 
88
+ #: media/js/aam-ui.js:312 Application/Backend/View/Localization.php:30
89
  msgid "Add Role"
90
  msgstr ""
91
 
92
+ #: media/js/aam-ui.js:351 Application/Backend/View/Localization.php:31
93
  msgid "Failed to update role"
94
  msgstr ""
95
 
96
+ #: media/js/aam-ui.js:360 Application/Backend/View/Localization.php:32
97
+ #: Application/Backend/phtml/extension.phtml:50
98
+ #: Application/Backend/phtml/extension.phtml:77
99
+ #: Application/Backend/phtml/index.phtml:134
100
  #: Application/Backend/phtml/object/capability.phtml:79
101
  msgid "Update"
102
  msgstr ""
103
 
104
+ #: media/js/aam-ui.js:383 media/js/aam-ui.js:1269
105
  #: Application/Backend/View/Localization.php:33
106
  msgid "Deleting..."
107
  msgstr ""
108
 
109
+ #: media/js/aam-ui.js:389 Application/Backend/View/Localization.php:34
110
  msgid "Failed to delete role"
111
  msgstr ""
112
 
113
+ #: media/js/aam-ui.js:472 media/js/aam-ui.js:473 media/js/aam-ui.js:650
114
  #: Application/Backend/View/Localization.php:51
115
  msgid "Unlock User"
116
  msgstr ""
117
 
118
+ #: media/js/aam-ui.js:478 media/js/aam-ui.js:479 media/js/aam-ui.js:637
119
  #: Application/Backend/View/Localization.php:50
120
  msgid "Lock User"
121
  msgstr ""
122
 
123
+ #: media/js/aam-ui.js:483 Application/Backend/View/Localization.php:36
124
  msgid "Failed to block user"
125
  msgstr ""
126
 
127
+ #: media/js/aam-ui.js:549 Application/Backend/View/Localization.php:37
128
  msgid "Search User"
129
  msgstr ""
130
 
131
+ #: media/js/aam-ui.js:550 Application/Backend/View/Localization.php:38
132
  msgid "_TOTAL_ user(s)"
133
  msgstr ""
134
 
135
+ #: media/js/aam-ui.js:576 Application/Backend/View/Localization.php:39
136
+ #: Application/Backend/phtml/frame.phtml:77
137
+ #: Application/Backend/phtml/index.phtml:89
138
  msgid "Role"
139
  msgstr ""
140
 
141
+ #: media/js/aam-ui.js:610 Application/Backend/View/Localization.php:48
142
  msgid "Manage User"
143
  msgstr ""
144
 
145
+ #: media/js/aam-ui.js:624 Application/Backend/View/Localization.php:49
146
  msgid "Edit User"
147
  msgstr ""
148
 
149
+ #: media/js/aam-ui.js:663
150
  msgid "Switch To User"
151
  msgstr ""
152
 
153
+ #: media/js/aam-ui.js:718 Application/Backend/View/Localization.php:40
154
  msgid "Anonymous"
155
  msgstr ""
156
 
157
+ #: media/js/aam-ui.js:750
158
  msgid "All Users, Roles and Visitor"
159
  msgstr ""
160
 
161
+ #: media/js/aam-ui.js:800 Application/Backend/View/Localization.php:17
162
+ #: Application/Backend/phtml/object/menu.phtml:56
163
  msgid "Show Menu"
164
  msgstr ""
165
 
166
+ #: media/js/aam-ui.js:815 Application/Backend/View/Localization.php:18
167
+ #: Application/Backend/phtml/object/menu.phtml:60
168
  msgid "Restrict Menu"
169
  msgstr ""
170
 
171
+ #: media/js/aam-ui.js:927 Application/Backend/View/Localization.php:19
172
  msgid "Failed to retrieve mataboxes"
173
  msgstr ""
174
 
175
+ #: media/js/aam-ui.js:955
176
  msgid "Processing"
177
  msgstr ""
178
 
179
+ #: media/js/aam-ui.js:963
180
  msgid "Failed to initialize URL"
181
  msgstr ""
182
 
183
+ #: media/js/aam-ui.js:971 Application/Backend/phtml/object/metabox.phtml:93
184
  msgid "Initialize"
185
  msgstr ""
186
 
187
+ #: media/js/aam-ui.js:1045 Application/Backend/View/Localization.php:52
188
  msgid "Failed to grand capability - WordPress policy"
189
  msgstr ""
190
 
191
+ #: media/js/aam-ui.js:1080 Application/Backend/View/Localization.php:11
192
  msgid "Search Capability"
193
  msgstr ""
194
 
195
+ #: media/js/aam-ui.js:1081 Application/Backend/View/Localization.php:12
196
  msgid "_TOTAL_ capability(s)"
197
  msgstr ""
198
 
199
+ #: media/js/aam-ui.js:1083
200
  msgid "Nothing to show"
201
  msgstr ""
202
 
203
+ #: media/js/aam-ui.js:1190 Application/Backend/View/Localization.php:14
204
  msgid "Failed to add new capability"
205
  msgstr ""
206
 
207
+ #: media/js/aam-ui.js:1198 Application/Backend/View/Localization.php:16
208
  msgid "Add Capability"
209
  msgstr ""
210
 
211
+ #: media/js/aam-ui.js:1236
212
  msgid "Failed to update capability"
213
  msgstr ""
214
 
215
+ #: media/js/aam-ui.js:1244 Application/Backend/phtml/object/capability.phtml:69
216
  msgid "Update Capability"
217
  msgstr ""
218
 
219
+ #: media/js/aam-ui.js:1277
220
  msgid "Failed to delete capability"
221
  msgstr ""
222
 
223
+ #: media/js/aam-ui.js:1285 Application/Backend/phtml/object/capability.phtml:91
224
  msgid "Delete Capability"
225
  msgstr ""
226
 
227
+ #: media/js/aam-ui.js:1543 Application/Backend/View/Localization.php:20
228
  msgid "Search"
229
  msgstr ""
230
 
231
+ #: media/js/aam-ui.js:1544 Application/Backend/View/Localization.php:21
232
  msgid "_TOTAL_ object(s)"
233
  msgstr ""
234
 
235
+ #: media/js/aam-ui.js:1610
236
  msgid "Drill-Down"
237
  msgstr ""
238
 
239
+ #: media/js/aam-ui.js:1628 Application/Backend/View/Localization.php:43
 
240
  msgid "Manage Access"
241
  msgstr ""
242
 
243
+ #: media/js/aam-ui.js:1640 Application/Backend/View/Localization.php:44
244
+ #: Application/Backend/View/PostOptionList.php:57
245
  msgid "Edit"
246
  msgstr ""
247
 
248
+ #: media/js/aam-ui.js:1880 media/js/aam-ui.js:1975 media/js/aam-ui.js:2061
249
+ #: media/js/aam-ui.js:2283 media/js/aam-ui.js:2317 media/js/aam-ui.js:2338
250
+ #: media/js/aam-ui.js:2376
251
  msgid "Application Error"
252
  msgstr ""
253
 
254
+ #: Application/Backend/Feature/404Redirect.php:62
255
+ msgid "404 Redirect"
256
+ msgstr ""
257
+
258
  #: Application/Backend/Feature/Abstract.php:30
259
  #: Application/Backend/Feature/Role.php:29
260
+ #: Application/Backend/Feature/User.php:29 Application/Backend/Manager.php:483
261
+ #: Application/Backend/Manager.php:508 Application/Core/API.php:225
262
  msgid "Access Denied"
263
  msgstr ""
264
 
283
 
284
  #: Application/Backend/Feature/Capability.php:256
285
  #: Application/Backend/Feature/Capability.php:297
286
+ #: Application/Backend/phtml/frame.phtml:167
287
  #: Application/Backend/phtml/object/post.phtml:88
288
  msgid "Backend"
289
  msgstr ""
301
  msgid "Contact Us"
302
  msgstr ""
303
 
304
+ #: Application/Backend/Feature/Extension.php:96
305
+ msgid "Enter license key to update extension."
306
  msgstr ""
307
 
308
+ #: Application/Backend/Feature/Extension.php:157
309
  msgid "Extensions"
310
  msgstr ""
311
 
333
  msgid "Security"
334
  msgstr ""
335
 
 
 
 
 
 
336
  #: Application/Backend/Feature/Teaser.php:103
337
  msgid "Content Teaser"
338
  msgstr ""
339
 
340
+ #: Application/Backend/Feature/Utility.php:113
341
  msgid "Utilities"
342
  msgstr ""
343
 
344
+ #: Application/Backend/Manager.php:200
 
 
 
 
 
 
 
 
 
 
 
 
345
  msgid "Access Manager"
346
  msgstr ""
347
 
348
+ #: Application/Backend/Manager.php:278 Application/Backend/Manager.php:298
349
+ #: Application/Backend/Manager.php:323
350
  msgid "Access"
351
  msgstr ""
352
 
363
  msgstr ""
364
 
365
  #: Application/Backend/View/PostOptionList.php:13
366
+ #: Application/Backend/View/PostOptionList.php:49
367
  msgid "List"
368
  msgstr ""
369
 
370
  #: Application/Backend/View/PostOptionList.php:14
 
371
  #, php-format
372
+ msgid ""
373
+ "Hide %s however access with a direct URL will be still allowed. When there "
374
+ "are more than 500 posts, this option may not be applied immediately because, "
375
+ "for performance reasons, AAM checks limited number of posts per request."
376
+ msgstr ""
377
+
378
+ #: Application/Backend/View/PostOptionList.php:14
379
+ #: Application/Backend/View/PostOptionList.php:22
380
+ #, php-format
381
+ msgid " %sSee in action.%s"
382
  msgstr ""
383
 
384
  #: Application/Backend/View/PostOptionList.php:17
385
+ #: Application/Backend/View/PostOptionList.php:53
386
  msgid "List To Others"
387
  msgstr ""
388
 
389
  #: Application/Backend/View/PostOptionList.php:18
 
390
  #, php-format
391
+ msgid ""
392
+ "Hide %s for all except author (whoever created %s or was assigned on the "
393
+ "Author metabox). Access with a direct URL will be still allowed. When there "
394
+ "are more than 500 posts, this option may not be applied immediately because, "
395
+ "for performance reasons, AAM checks limited number of posts per request."
396
  msgstr ""
397
 
398
  #: Application/Backend/View/PostOptionList.php:21
401
 
402
  #: Application/Backend/View/PostOptionList.php:22
403
  #, php-format
404
+ msgid ""
405
+ "Restrict access to read %s. Any attempts to read, view or open %s will "
406
+ "result in redirecting user based on the Access Denied Redirect rule."
407
  msgstr ""
408
 
409
  #: Application/Backend/View/PostOptionList.php:25
411
  msgstr ""
412
 
413
  #: Application/Backend/View/PostOptionList.php:26
414
+ #, php-format
415
+ msgid ""
416
+ "Restrict access to read %s for all except author (whoever created %s or was "
417
+ "assigned on the Author metabox). Any attempts to read, view or open %s will "
418
+ "result in redirecting user based on the Access Denied Redirect rule."
419
  msgstr ""
420
 
421
  #: Application/Backend/View/PostOptionList.php:29
425
  #: Application/Backend/View/PostOptionList.php:30
426
  #, php-format
427
  msgid ""
428
+ "When checked, show defined on the Content Teaser tab teaser message instead "
429
+ "of the %s content."
430
  msgstr ""
431
 
432
  #: Application/Backend/View/PostOptionList.php:33
435
 
436
  #: Application/Backend/View/PostOptionList.php:34
437
  #, php-format
438
+ msgid "Restrict access to comment on %s when commenting feature is enabled."
439
  msgstr ""
440
 
441
  #: Application/Backend/View/PostOptionList.php:37
442
+ #: Application/Backend/phtml/frame.phtml:226
443
+ #: Application/Backend/phtml/object/post.phtml:143
444
+ msgid "Redirect"
445
  msgstr ""
446
 
447
  #: Application/Backend/View/PostOptionList.php:38
448
  #, php-format
449
+ msgid "Redirect to: %s"
450
  msgstr ""
451
 
452
  #: Application/Backend/View/PostOptionList.php:38
453
+ #: Application/Backend/View/PostOptionList.php:43
454
  msgid "change"
455
  msgstr ""
456
 
457
  #: Application/Backend/View/PostOptionList.php:39
458
  #, php-format
459
+ msgid ""
460
+ "Redirect user to defined location when user tries to read the %s. Define "
461
+ "either valid full URL or public page ID within the website."
462
  msgstr ""
463
 
464
+ #: Application/Backend/View/PostOptionList.php:42
465
+ msgid "Password Protected"
466
+ msgstr ""
467
+
468
+ #: Application/Backend/View/PostOptionList.php:43
469
+ #, php-format
470
+ msgid "Password: %s"
471
+ msgstr ""
472
+
473
+ #: Application/Backend/View/PostOptionList.php:44
474
  #, php-format
475
+ msgid ""
476
+ "Add the password protection for the %s. Available with WordPress 4.7.0 or "
477
+ "higher."
478
+ msgstr ""
479
+
480
+ #: Application/Backend/View/PostOptionList.php:50
481
+ #, php-format
482
+ msgid ""
483
+ "Hide %s however access with a direct URL is still allowed. When there are "
484
+ "more than 500 posts, this option may not be applied immediately because, for "
485
+ "performance reasons, AAM checks limited number of posts per request."
486
+ msgstr ""
487
+
488
+ #: Application/Backend/View/PostOptionList.php:54
489
+ #, php-format
490
+ msgid ""
491
+ "Hide %s for all except author (whoever created %s or was assigned on the "
492
+ "Author metabox). Access with a direct URL is still allowed. When there are "
493
+ "more than 500 posts, this option may not be applied immediately because, for "
494
+ "performance reasons, AAM checks limited number of posts per request."
495
  msgstr ""
496
 
497
+ #: Application/Backend/View/PostOptionList.php:58
498
+ #, php-format
499
+ msgid ""
500
+ "Restrict access to edit %s. Any attempts to edit %s will result in "
501
+ "redirecting user based on the Access Denied Redirect rule."
502
+ msgstr ""
503
+
504
+ #: Application/Backend/View/PostOptionList.php:61
505
  msgid "Edit By Others"
506
  msgstr ""
507
 
508
+ #: Application/Backend/View/PostOptionList.php:62
509
  #, php-format
510
+ msgid ""
511
+ "Restrict access to edit %s for all except author (whoever created %s or was "
512
+ "assigned on the Author metabox). Any attempts to edit %s will result in "
513
+ "redirecting user based on the Access Denied Redirect rule."
514
  msgstr ""
515
 
516
+ #: Application/Backend/View/PostOptionList.php:65
517
+ #: Application/Backend/phtml/index.phtml:152
518
  #: Application/Backend/phtml/object/capability.phtml:97
519
  msgid "Delete"
520
  msgstr ""
521
 
522
+ #: Application/Backend/View/PostOptionList.php:66
523
  #, php-format
524
  msgid "Restrict access to trash or permanently delete %s."
525
  msgstr ""
526
 
527
+ #: Application/Backend/View/PostOptionList.php:69
528
  msgid "Delete By Others"
529
  msgstr ""
530
 
531
+ #: Application/Backend/View/PostOptionList.php:70
532
  #, php-format
533
  msgid ""
534
+ "Restrict access to trash or permanently delete %s for all except author "
535
+ "(whoever created %s or was assigned on the Author metabox)."
536
  msgstr ""
537
 
538
+ #: Application/Backend/View/PostOptionList.php:73
539
  msgid "Publish"
540
  msgstr ""
541
 
542
+ #: Application/Backend/View/PostOptionList.php:74
543
  #, php-format
544
  msgid ""
545
+ "Restrict access to publish %s. User will be allowed only submit for review. "
546
+ "Quick Edit inline action is also removed from the list page."
547
  msgstr ""
548
 
549
+ #: Application/Backend/View/PostOptionList.php:77
550
  msgid "Publish By Others"
551
  msgstr ""
552
 
553
+ #: Application/Backend/View/PostOptionList.php:78
554
  #, php-format
555
  msgid ""
556
+ "Restrict access to publish %s for all except author (whoever created %s or "
557
+ "was assigned on the Author metabox). User will be allowed only submit for "
558
+ "review. Quick Edit inline action is also removed from the list page."
559
  msgstr ""
560
 
561
  #: Application/Backend/View/SecurityOptionList.php:12
601
 
602
  #: Application/Backend/View/UtilityOptionList.php:18
603
  msgid ""
604
+ "Allow AAM to manage access to backend resources. If there is no need to "
605
+ "manage access to the website backend then keep this option unchecked as it "
606
+ "may increase your webiste performance."
607
  msgstr ""
608
 
609
  #: Application/Backend/View/UtilityOptionList.php:22
612
 
613
  #: Application/Backend/View/UtilityOptionList.php:23
614
  msgid ""
615
+ "Allow AAM to manage access to frontend resources. If there is no need to "
616
+ "manage access to the website frontend then keep this option unchecked as it "
617
+ "may increase your webiste performance."
618
  msgstr ""
619
 
620
  #: Application/Backend/View/UtilityOptionList.php:27
622
  msgstr ""
623
 
624
  #: Application/Backend/View/UtilityOptionList.php:32
625
+ msgid "Render Access Manager Metabox"
626
+ msgstr ""
627
+
628
+ #: Application/Backend/View/UtilityOptionList.php:33
629
+ msgid ""
630
+ "Render Access Manager metabox on all post and category edit pages. Access "
631
+ "Manager metabox is the quick way to manage access to any post or category "
632
+ "without leaving an edit page."
633
+ msgstr ""
634
+
635
+ #: Application/Backend/View/UtilityOptionList.php:37
636
+ msgid "Check Post Visibility"
637
  msgstr ""
638
 
639
+ #: Application/Backend/View/UtilityOptionList.php:38
640
+ msgid ""
641
+ "For performance reasons, keep this option uncheck if do not use LIST or LIST "
642
+ "TO OTHERS access options on Posts & Pages tab. When it is checked, AAM will "
643
+ "filter list of posts that are hidden for a user on both frontend and backend."
644
+ msgstr ""
645
+
646
+ #: Application/Extension/Repository.php:268
647
  #, php-format
648
  msgid "Failed to create %s"
649
  msgstr ""
650
 
651
+ #: Application/Extension/Repository.php:272
652
  #, php-format
653
  msgid "Directory %s is not writable"
654
  msgstr ""
655
 
656
+ #: Application/Frontend/Manager.php:191
657
  #, php-format
658
  msgid "[%s] Double Authentication"
659
  msgstr ""
660
 
661
+ #: Application/Frontend/Manager.php:193
662
  #, php-format
663
  msgid "Someone was trying to login from the different IP address %s:"
664
  msgstr ""
665
 
666
+ #: Application/Frontend/Manager.php:194
667
  #, php-format
668
  msgid "Website: %s"
669
  msgstr ""
670
 
671
+ #: Application/Frontend/Manager.php:195
672
  #, php-format
673
  msgid "Username: %s"
674
  msgstr ""
675
 
676
+ #: Application/Frontend/Manager.php:196
677
  msgid "Visit the following address to authorize the login:"
678
  msgstr ""
679
 
689
  msgid "WP 3.8 or higher is required."
690
  msgstr ""
691
 
692
+ #: Application/Backend/phtml/404redirect.phtml:33
693
+ #: Application/Backend/phtml/object/login-redirect.phtml:43
694
+ #: Application/Backend/phtml/object/redirect.phtml:61
695
+ #: Application/Backend/phtml/object/redirect.phtml:113
696
+ msgid "Existing Page"
697
+ msgstr ""
698
+
699
+ #: Application/Backend/phtml/404redirect.phtml:42
700
+ #: Application/Backend/phtml/object/login-redirect.phtml:52
701
+ #: Application/Backend/phtml/object/redirect.phtml:70
702
+ #: Application/Backend/phtml/object/redirect.phtml:122
703
+ msgid "-- Select Page --"
704
+ msgstr ""
705
+
706
+ #: Application/Backend/phtml/404redirect.phtml:48
707
+ #: Application/Backend/phtml/object/login-redirect.phtml:58
708
+ #: Application/Backend/phtml/object/redirect.phtml:76
709
+ #: Application/Backend/phtml/object/redirect.phtml:128
710
+ msgid "The URL"
711
+ msgstr ""
712
+
713
+ #: Application/Backend/phtml/404redirect.phtml:53
714
+ #: Application/Backend/phtml/object/login-redirect.phtml:63
715
+ #: Application/Backend/phtml/object/redirect.phtml:81
716
+ #: Application/Backend/phtml/object/redirect.phtml:133
717
+ msgid "PHP Callback Function"
718
+ msgstr ""
719
+
720
  #: Application/Backend/phtml/contact.phtml:6
721
  msgid ""
722
  "Feel free to contact us if you have any questions or concerns but follow few "
740
  msgstr ""
741
 
742
  #: Application/Backend/phtml/extension.phtml:29
743
+ #: Application/Backend/phtml/extension.phtml:68
744
  msgid "Free"
745
  msgstr ""
746
 
747
+ #: Application/Backend/phtml/extension.phtml:48
748
+ #: Application/Backend/phtml/extension.phtml:75
 
 
 
 
 
 
 
 
749
  msgid "Installed"
750
  msgstr ""
751
 
752
+ #: Application/Backend/phtml/extension.phtml:52
753
  msgid "Inactive"
754
  msgstr ""
755
 
756
+ #: Application/Backend/phtml/extension.phtml:54
757
  msgid "Purchase"
758
  msgstr ""
759
 
760
+ #: Application/Backend/phtml/extension.phtml:79
761
+ #: Application/Backend/phtml/extension.phtml:110
762
  msgid "Download"
763
  msgstr ""
764
 
765
+ #: Application/Backend/phtml/extension.phtml:94
766
+ #: Application/Backend/phtml/extension.phtml:121
767
+ #: Application/Backend/phtml/extension.phtml:132
768
+ #: Application/Backend/phtml/frame.phtml:204
769
+ #: Application/Backend/phtml/frame.phtml:215
770
+ #: Application/Backend/phtml/frame.phtml:225
771
+ #: Application/Backend/phtml/frame.phtml:236
772
+ #: Application/Backend/phtml/index.phtml:101
773
+ #: Application/Backend/phtml/index.phtml:113
774
+ #: Application/Backend/phtml/index.phtml:123
775
+ #: Application/Backend/phtml/index.phtml:135
776
+ #: Application/Backend/phtml/index.phtml:145
777
+ #: Application/Backend/phtml/index.phtml:153
778
  #: Application/Backend/phtml/object/capability.phtml:47
779
  #: Application/Backend/phtml/object/capability.phtml:58
780
  #: Application/Backend/phtml/object/capability.phtml:68
781
  #: Application/Backend/phtml/object/capability.phtml:80
782
  #: Application/Backend/phtml/object/capability.phtml:90
783
  #: Application/Backend/phtml/object/capability.phtml:98
784
+ #: Application/Backend/phtml/object/menu.phtml:75
785
  #: Application/Backend/phtml/object/metabox.phtml:80
786
  #: Application/Backend/phtml/object/metabox.phtml:94
787
  #: Application/Backend/phtml/object/post.phtml:121
788
  #: Application/Backend/phtml/object/post.phtml:132
789
+ #: Application/Backend/phtml/object/post.phtml:142
790
+ #: Application/Backend/phtml/object/post.phtml:153
791
+ #: Application/Backend/phtml/utility.phtml:53
792
  msgid "Close"
793
  msgstr ""
794
 
795
+ #: Application/Backend/phtml/extension.phtml:95
796
  msgid "Notification"
797
  msgstr ""
798
 
799
+ #: Application/Backend/phtml/extension.phtml:99
800
  msgid ""
801
  "Extension requires manual installation. Please follow few simple steps below."
802
  msgstr ""
803
 
804
+ #: Application/Backend/phtml/extension.phtml:111
805
+ #: Application/Backend/phtml/utility.phtml:61
806
  msgid "Cancel"
807
  msgstr ""
808
 
809
+ #: Application/Backend/phtml/extension.phtml:122
810
  msgid "Install Extension"
811
  msgstr ""
812
 
813
+ #: Application/Backend/phtml/extension.phtml:126
814
  msgid ""
815
  "Insert license key that you recieved after the payment (find the email "
816
  "example below). It might take up to 2 hours to process the payment. Please "
817
  "remember that license key is limited only to one life domain."
818
  msgstr ""
819
 
820
+ #: Application/Backend/phtml/frame.phtml:91
821
+ #: Application/Backend/phtml/index.phtml:165
822
+ msgid "Username"
823
+ msgstr ""
824
+
825
+ #: Application/Backend/phtml/frame.phtml:101
826
+ #, php-format
827
+ msgid "Manage access to %s for visitors (any user that is not authenticated)"
828
+ msgstr ""
829
+
830
+ #: Application/Backend/phtml/frame.phtml:102
831
+ #: Application/Backend/phtml/index.phtml:176
832
+ msgid "Manage Visitors"
833
+ msgstr ""
834
+
835
+ #: Application/Backend/phtml/frame.phtml:107
836
+ #, php-format
837
+ msgid ""
838
+ "Manage default access to %s for all users, roles and visitor. This includes "
839
+ "Administrator role and yourself"
840
+ msgstr ""
841
+
842
+ #: Application/Backend/phtml/frame.phtml:109
843
+ #: Application/Backend/phtml/index.phtml:182
844
+ msgid "Manage Default Access"
845
+ msgstr ""
846
+
847
+ #: Application/Backend/phtml/frame.phtml:124
848
+ #: Application/Backend/phtml/object/menu.phtml:7
849
+ #: Application/Backend/phtml/object/metabox.phtml:12
850
+ #: Application/Backend/phtml/object/post.phtml:27
851
+ msgid "Settings are customized"
852
+ msgstr ""
853
+
854
+ #: Application/Backend/phtml/frame.phtml:125
855
+ #: Application/Backend/phtml/object/menu.phtml:8
856
+ #: Application/Backend/phtml/object/metabox.phtml:13
857
+ #: Application/Backend/phtml/object/post.phtml:28
858
+ msgid "Reset To Default"
859
+ msgstr ""
860
+
861
+ #: Application/Backend/phtml/frame.phtml:140
862
+ #: Application/Backend/phtml/object/post.phtml:65
863
+ msgid "Frontend"
864
+ msgstr ""
865
+
866
+ #: Application/Backend/phtml/frame.phtml:205
867
+ #: Application/Backend/phtml/object/post.phtml:122
868
+ msgid "Change Password"
869
+ msgstr ""
870
+
871
+ #: Application/Backend/phtml/frame.phtml:209
872
+ #: Application/Backend/phtml/object/post.phtml:126
873
+ msgid "Password"
874
+ msgstr ""
875
+
876
+ #: Application/Backend/phtml/frame.phtml:210
877
+ #: Application/Backend/phtml/object/post.phtml:127
878
+ msgid "Enter Password"
879
+ msgstr ""
880
+
881
+ #: Application/Backend/phtml/frame.phtml:214
882
+ #: Application/Backend/phtml/frame.phtml:235
883
+ #: Application/Backend/phtml/object/post.phtml:131
884
+ #: Application/Backend/phtml/object/post.phtml:152
885
+ msgid "Change"
886
+ msgstr ""
887
+
888
+ #: Application/Backend/phtml/frame.phtml:230
889
+ #: Application/Backend/phtml/object/post.phtml:147
890
+ msgid "Valid URL or Page ID"
891
+ msgstr ""
892
+
893
+ #: Application/Backend/phtml/frame.phtml:231
894
+ #: Application/Backend/phtml/object/post.phtml:148
895
+ msgid "Enter Redirect"
896
+ msgstr ""
897
+
898
  #: Application/Backend/phtml/index.phtml:14
899
  msgid "Access Control Panel"
900
  msgstr ""
926
  msgid "Notifications"
927
  msgstr ""
928
 
929
+ #: Application/Backend/phtml/index.phtml:56
930
  msgid "AAM Multisite"
931
  msgstr ""
932
 
933
+ #: Application/Backend/phtml/index.phtml:60
934
  msgid "Install AAM Multisite"
935
  msgstr ""
936
 
937
+ #: Application/Backend/phtml/index.phtml:71
938
  msgid "Users/Roles Panel"
939
  msgstr ""
940
 
941
+ #: Application/Backend/phtml/index.phtml:77
942
+ #: Application/Backend/phtml/index.phtml:193
943
  msgid "Roles"
944
  msgstr ""
945
 
946
+ #: Application/Backend/phtml/index.phtml:79
947
+ #: Application/Backend/phtml/index.phtml:203
948
  msgid "Visitor"
949
  msgstr ""
950
 
951
+ #: Application/Backend/phtml/index.phtml:80
952
+ #: Application/Backend/phtml/index.phtml:208
953
  msgid "Default"
954
  msgstr ""
955
 
956
+ #: Application/Backend/phtml/index.phtml:90
957
+ #: Application/Backend/phtml/index.phtml:166
958
  msgid "Action"
959
  msgstr ""
960
 
961
+ #: Application/Backend/phtml/index.phtml:102
962
  msgid "Create Role"
963
  msgstr ""
964
 
965
+ #: Application/Backend/phtml/index.phtml:106
966
+ #: Application/Backend/phtml/index.phtml:128
967
  msgid "Role Name"
968
  msgstr ""
969
 
970
+ #: Application/Backend/phtml/index.phtml:107
971
+ #: Application/Backend/phtml/index.phtml:129
972
  msgid "Enter Role Name"
973
  msgstr ""
974
 
975
+ #: Application/Backend/phtml/index.phtml:124
976
  msgid "Update Role"
977
  msgstr ""
978
 
979
+ #: Application/Backend/phtml/index.phtml:149
980
  #, php-format
981
  msgid "Are you sure that you want to delete the %s role?"
982
  msgstr ""
983
 
984
+ #: Application/Backend/phtml/index.phtml:175
 
 
 
 
985
  msgid ""
986
  "Manage access to your website for visitors (any user that is not "
987
  "authenticated)"
988
  msgstr ""
989
 
990
+ #: Application/Backend/phtml/index.phtml:181
 
 
 
 
991
  msgid ""
992
  "Manage default access to your website resources for all users, roles and "
993
  "visitor. This includes Administrator role and your user"
994
  msgstr ""
995
 
996
+ #: Application/Backend/phtml/index.phtml:194
 
 
 
 
997
  msgid ""
998
  "With Roles tab you can manage access for any defined role, edit role's name, "
999
  "create new role or even delete existing (but only when there is no users "
1000
  "assigned to it). You are not allowed to delete Administrator role."
1001
  msgstr ""
1002
 
1003
+ #: Application/Backend/phtml/index.phtml:199
1004
  msgid ""
1005
  "Manage access for any user. As a bonus feature, you can block user. It means "
1006
  "that user will be not able to login to your website anymore."
1007
  msgstr ""
1008
 
1009
+ #: Application/Backend/phtml/index.phtml:204
1010
  msgid ""
1011
  "Visitor can be considered any user that is not authenticated to your website."
1012
  msgstr ""
1013
 
1014
+ #: Application/Backend/phtml/index.phtml:209
1015
  msgid ""
1016
  "Manage default access settings to your website resources for all users, "
1017
  "roles and visitors."
1054
  msgid "Are you sure that you want to delete %s capability for all roles?"
1055
  msgstr ""
1056
 
1057
+ #: Application/Backend/phtml/object/login-redirect.phtml:27
1058
+ msgid "WordPress default behavior"
 
 
 
 
 
 
1059
  msgstr ""
1060
 
1061
+ #: Application/Backend/phtml/object/menu.phtml:76
1062
+ msgid "Dashboard Lockdown"
 
 
1063
  msgstr ""
1064
 
1065
+ #: Application/Backend/phtml/object/menu.phtml:79
1066
+ msgid "You cannot restrict access to Dashboard home page."
 
 
1067
  msgstr ""
1068
 
1069
+ #: Application/Backend/phtml/object/menu.phtml:81
1070
+ #, php-format
1071
+ msgid ""
1072
+ "Dashboard home page is the default page every user is redirected after "
1073
+ "login. If you need to lockdown user from the entire website dashboard, "
1074
+ "%splease check this article%s."
1075
  msgstr ""
1076
 
1077
+ #: Application/Backend/phtml/object/menu.phtml:84
1078
+ msgid "OK"
 
 
1079
  msgstr ""
1080
 
1081
  #: Application/Backend/phtml/object/metabox.phtml:4
1133
  msgid "Go Back"
1134
  msgstr ""
1135
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1136
  #: Application/Backend/phtml/object/redirect.phtml:25
1137
  msgid "Frontend Redirect"
1138
  msgstr ""
1142
  msgstr ""
1143
 
1144
  #: Application/Backend/phtml/object/redirect.phtml:56
1145
+ #: Application/Backend/phtml/object/redirect.phtml:108
1146
  msgid "Customized Message"
1147
  msgstr ""
1148
 
1149
  #: Application/Backend/phtml/object/redirect.phtml:57
1150
+ #: Application/Backend/phtml/object/redirect.phtml:109
1151
  msgid "Enter message..."
1152
  msgstr ""
1153
 
1174
  msgstr ""
1175
 
1176
  #: Application/Backend/phtml/utility.phtml:26
1177
+ msgid "Clear Cache"
1178
  msgstr ""
1179
 
1180
  #: Application/Backend/phtml/utility.phtml:28
1181
+ msgid "Clear all AAM cache."
1182
+ msgstr ""
1183
+
1184
+ #: Application/Backend/phtml/utility.phtml:37
1185
+ msgid "Clear All Settings"
1186
+ msgstr ""
1187
+
1188
+ #: Application/Backend/phtml/utility.phtml:39
1189
  msgid ""
1190
  "Remove all the settings related to AAM (including all extension licenses)."
1191
  msgstr ""
1192
 
1193
+ #: Application/Backend/phtml/utility.phtml:54
1194
  msgid "Clear all settings"
1195
  msgstr ""
1196
 
1197
+ #: Application/Backend/phtml/utility.phtml:57
1198
  msgid "All AAM settings will be removed."
1199
  msgstr ""
1200
 
1201
+ #: Application/Backend/phtml/utility.phtml:60
1202
  msgid "Clear"
1203
  msgstr ""
Lang/advanced-access-manager.pot CHANGED
@@ -2,7 +2,7 @@
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: AAM\n"
5
- "POT-Creation-Date: 2017-02-04 14:44-0500\n"
6
  "PO-Revision-Date: \n"
7
  "Last-Translator: WPAAM <support@wpaam.com>\n"
8
  "Language-Team: WP AAM <vasyl@vasyltech.com>\n"
@@ -10,7 +10,7 @@ msgstr ""
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Poedit 1.8.11\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
  "X-Poedit-KeywordsList: __\n"
@@ -34,227 +34,232 @@ msgstr ""
34
  msgid "_TOTAL_ role(s)"
35
  msgstr ""
36
 
37
- #: media/js/aam-ui.js:98 media/js/aam-ui.js:540
38
  #: Application/Backend/View/Localization.php:27
39
- #: Application/Backend/phtml/index.phtml:137
40
  #: Application/Backend/phtml/object/capability.phtml:27
41
  #: Application/Backend/phtml/object/capability.phtml:57
42
  msgid "Create"
43
  msgstr ""
44
 
45
- #: media/js/aam-ui.js:118 Application/Backend/View/Localization.php:28
46
- #: Application/Backend/phtml/index.phtml:103
47
- #: Application/Backend/phtml/index.phtml:223
48
  msgid "Users"
49
  msgstr ""
50
 
51
- #: media/js/aam-ui.js:150 Application/Backend/View/Localization.php:45
52
  msgid "Manage Role"
53
  msgstr ""
54
 
55
- #: media/js/aam-ui.js:165 Application/Backend/View/Localization.php:46
56
  msgid "Edit Role Name"
57
  msgstr ""
58
 
59
- #: media/js/aam-ui.js:179
60
  msgid "Clone Role"
61
  msgstr ""
62
 
63
- #: media/js/aam-ui.js:198 media/js/aam-ui.js:380
64
  #: Application/Backend/View/Localization.php:35
65
  #: Application/Backend/View/Localization.php:47
66
- #: Application/Backend/phtml/index.phtml:171
67
  msgid "Delete Role"
68
  msgstr ""
69
 
70
- #: media/js/aam-ui.js:272 media/js/aam-ui.js:327 media/js/aam-ui.js:1132
71
- #: media/js/aam-ui.js:1178 Application/Backend/View/Localization.php:13
72
  msgid "Saving..."
73
  msgstr ""
74
 
75
- #: media/js/aam-ui.js:287 Application/Backend/View/Localization.php:29
76
  msgid "Failed to add new role"
77
  msgstr ""
78
 
79
- #: media/js/aam-ui.js:292 media/js/aam-ui.js:339 media/js/aam-ui.js:376
80
- #: media/js/aam-ui.js:470 media/js/aam-ui.js:502 media/js/aam-ui.js:845
81
- #: media/js/aam-ui.js:882 media/js/aam-ui.js:918 media/js/aam-ui.js:1145
82
- #: media/js/aam-ui.js:1191 media/js/aam-ui.js:1232 media/js/aam-ui.js:1393
83
- #: media/js/aam-ui.js:1441 media/js/aam-ui.js:1731 media/js/aam-ui.js:1826
84
- #: media/js/aam-ui.js:1920 media/js/aam-ui.js:2009 media/js/aam-ui.js:2105
85
  #: media/js/aam.js:207 Application/Backend/View/Localization.php:15
86
  msgid "Application error"
87
  msgstr ""
88
 
89
- #: media/js/aam-ui.js:295 Application/Backend/View/Localization.php:30
90
  msgid "Add Role"
91
  msgstr ""
92
 
93
- #: media/js/aam-ui.js:334 Application/Backend/View/Localization.php:31
94
  msgid "Failed to update role"
95
  msgstr ""
96
 
97
- #: media/js/aam-ui.js:343 Application/Backend/View/Localization.php:32
98
- #: Application/Backend/phtml/extension.phtml:51
99
- #: Application/Backend/phtml/extension.phtml:78
100
- #: Application/Backend/phtml/index.phtml:159
101
  #: Application/Backend/phtml/object/capability.phtml:79
102
  msgid "Update"
103
  msgstr ""
104
 
105
- #: media/js/aam-ui.js:366 media/js/aam-ui.js:1219
106
  #: Application/Backend/View/Localization.php:33
107
  msgid "Deleting..."
108
  msgstr ""
109
 
110
- #: media/js/aam-ui.js:372 Application/Backend/View/Localization.php:34
111
  msgid "Failed to delete role"
112
  msgstr ""
113
 
114
- #: media/js/aam-ui.js:455 media/js/aam-ui.js:456 media/js/aam-ui.js:620
115
  #: Application/Backend/View/Localization.php:51
116
  msgid "Unlock User"
117
  msgstr ""
118
 
119
- #: media/js/aam-ui.js:461 media/js/aam-ui.js:462 media/js/aam-ui.js:609
120
  #: Application/Backend/View/Localization.php:50
121
  msgid "Lock User"
122
  msgstr ""
123
 
124
- #: media/js/aam-ui.js:466 Application/Backend/View/Localization.php:36
125
  msgid "Failed to block user"
126
  msgstr ""
127
 
128
- #: media/js/aam-ui.js:532 Application/Backend/View/Localization.php:37
129
  msgid "Search User"
130
  msgstr ""
131
 
132
- #: media/js/aam-ui.js:533 Application/Backend/View/Localization.php:38
133
  msgid "_TOTAL_ user(s)"
134
  msgstr ""
135
 
136
- #: media/js/aam-ui.js:557 Application/Backend/View/Localization.php:39
137
- #: Application/Backend/phtml/index.phtml:114
 
138
  msgid "Role"
139
  msgstr ""
140
 
141
- #: media/js/aam-ui.js:585 Application/Backend/View/Localization.php:48
142
  msgid "Manage User"
143
  msgstr ""
144
 
145
- #: media/js/aam-ui.js:598 Application/Backend/View/Localization.php:49
146
  msgid "Edit User"
147
  msgstr ""
148
 
149
- #: media/js/aam-ui.js:631
150
  msgid "Switch To User"
151
  msgstr ""
152
 
153
- #: media/js/aam-ui.js:683 Application/Backend/View/Localization.php:40
154
  msgid "Anonymous"
155
  msgstr ""
156
 
157
- #: media/js/aam-ui.js:706
158
  msgid "All Users, Roles and Visitor"
159
  msgstr ""
160
 
161
- #: media/js/aam-ui.js:750 Application/Backend/View/Localization.php:17
162
- #: Application/Backend/phtml/object/menu.phtml:49
163
  msgid "Show Menu"
164
  msgstr ""
165
 
166
- #: media/js/aam-ui.js:765 Application/Backend/View/Localization.php:18
167
- #: Application/Backend/phtml/object/menu.phtml:53
168
  msgid "Restrict Menu"
169
  msgstr ""
170
 
171
- #: media/js/aam-ui.js:877 Application/Backend/View/Localization.php:19
172
  msgid "Failed to retrieve mataboxes"
173
  msgstr ""
174
 
175
- #: media/js/aam-ui.js:905
176
  msgid "Processing"
177
  msgstr ""
178
 
179
- #: media/js/aam-ui.js:913
180
  msgid "Failed to initialize URL"
181
  msgstr ""
182
 
183
- #: media/js/aam-ui.js:921 Application/Backend/phtml/object/metabox.phtml:93
184
  msgid "Initialize"
185
  msgstr ""
186
 
187
- #: media/js/aam-ui.js:995 Application/Backend/View/Localization.php:52
188
  msgid "Failed to grand capability - WordPress policy"
189
  msgstr ""
190
 
191
- #: media/js/aam-ui.js:1030 Application/Backend/View/Localization.php:11
192
  msgid "Search Capability"
193
  msgstr ""
194
 
195
- #: media/js/aam-ui.js:1031 Application/Backend/View/Localization.php:12
196
  msgid "_TOTAL_ capability(s)"
197
  msgstr ""
198
 
199
- #: media/js/aam-ui.js:1033
200
  msgid "Nothing to show"
201
  msgstr ""
202
 
203
- #: media/js/aam-ui.js:1140 Application/Backend/View/Localization.php:14
204
  msgid "Failed to add new capability"
205
  msgstr ""
206
 
207
- #: media/js/aam-ui.js:1148 Application/Backend/View/Localization.php:16
208
  msgid "Add Capability"
209
  msgstr ""
210
 
211
- #: media/js/aam-ui.js:1186
212
  msgid "Failed to update capability"
213
  msgstr ""
214
 
215
- #: media/js/aam-ui.js:1194 Application/Backend/phtml/object/capability.phtml:69
216
  msgid "Update Capability"
217
  msgstr ""
218
 
219
- #: media/js/aam-ui.js:1227
220
  msgid "Failed to delete capability"
221
  msgstr ""
222
 
223
- #: media/js/aam-ui.js:1235 Application/Backend/phtml/object/capability.phtml:91
224
  msgid "Delete Capability"
225
  msgstr ""
226
 
227
- #: media/js/aam-ui.js:1480 Application/Backend/View/Localization.php:20
228
  msgid "Search"
229
  msgstr ""
230
 
231
- #: media/js/aam-ui.js:1481 Application/Backend/View/Localization.php:21
232
  msgid "_TOTAL_ object(s)"
233
  msgstr ""
234
 
235
- #: media/js/aam-ui.js:1547
236
  msgid "Drill-Down"
237
  msgstr ""
238
 
239
- #: media/js/aam-ui.js:1565 Application/Backend/View/Localization.php:43
240
- #: Application/Backend/phtml/metabox.phtml:7
241
  msgid "Manage Access"
242
  msgstr ""
243
 
244
- #: media/js/aam-ui.js:1577 Application/Backend/View/Localization.php:44
245
- #: Application/Backend/View/PostOptionList.php:52
246
  msgid "Edit"
247
  msgstr ""
248
 
249
- #: media/js/aam-ui.js:1781 media/js/aam-ui.js:1876 media/js/aam-ui.js:1962
250
- #: media/js/aam-ui.js:2147 media/js/aam-ui.js:2181 media/js/aam-ui.js:2219
 
251
  msgid "Application Error"
252
  msgstr ""
253
 
 
 
 
 
254
  #: Application/Backend/Feature/Abstract.php:30
255
  #: Application/Backend/Feature/Role.php:29
256
- #: Application/Backend/Feature/User.php:29 Application/Backend/Manager.php:469
257
- #: Application/Backend/Manager.php:494 Application/Core/API.php:267
258
  msgid "Access Denied"
259
  msgstr ""
260
 
@@ -279,6 +284,7 @@ msgstr ""
279
 
280
  #: Application/Backend/Feature/Capability.php:256
281
  #: Application/Backend/Feature/Capability.php:297
 
282
  #: Application/Backend/phtml/object/post.phtml:88
283
  msgid "Backend"
284
  msgstr ""
@@ -296,11 +302,11 @@ msgstr ""
296
  msgid "Contact Us"
297
  msgstr ""
298
 
299
- #: Application/Backend/Feature/Extension.php:91
300
- msgid "License key is missing."
301
  msgstr ""
302
 
303
- #: Application/Backend/Feature/Extension.php:156
304
  msgid "Extensions"
305
  msgstr ""
306
 
@@ -328,37 +334,20 @@ msgstr ""
328
  msgid "Security"
329
  msgstr ""
330
 
331
- #: Application/Backend/Feature/Shortcode.php:45
332
- #: Application/Backend/phtml/shortcode.phtml:6
333
- msgid "Shortcodes"
334
- msgstr ""
335
-
336
  #: Application/Backend/Feature/Teaser.php:103
337
  msgid "Content Teaser"
338
  msgstr ""
339
 
340
- #: Application/Backend/Feature/Utility.php:103
341
  msgid "Utilities"
342
  msgstr ""
343
 
344
- #: Application/Backend/Manager.php:143
345
- #, php-format
346
- msgid "Extension %s has new update available for download."
347
- msgstr ""
348
-
349
- #: Application/Backend/Manager.php:150
350
- #, php-format
351
- msgid ""
352
- "License violation for %s extension. Enter valid license on the Extensions "
353
- "tab or contact us immediately."
354
- msgstr ""
355
-
356
- #: Application/Backend/Manager.php:194
357
  msgid "Access Manager"
358
  msgstr ""
359
 
360
- #: Application/Backend/Manager.php:264 Application/Backend/Manager.php:284
361
- #: Application/Backend/Manager.php:309
362
  msgid "Access"
363
  msgstr ""
364
 
@@ -375,25 +364,36 @@ msgid "Current role"
375
  msgstr ""
376
 
377
  #: Application/Backend/View/PostOptionList.php:13
378
- #: Application/Backend/View/PostOptionList.php:44
379
  msgid "List"
380
  msgstr ""
381
 
382
  #: Application/Backend/View/PostOptionList.php:14
383
- #: Application/Backend/View/PostOptionList.php:45
384
  #, php-format
385
- msgid "Hide %s."
 
 
 
 
 
 
 
 
 
386
  msgstr ""
387
 
388
  #: Application/Backend/View/PostOptionList.php:17
389
- #: Application/Backend/View/PostOptionList.php:48
390
  msgid "List To Others"
391
  msgstr ""
392
 
393
  #: Application/Backend/View/PostOptionList.php:18
394
- #: Application/Backend/View/PostOptionList.php:49
395
  #, php-format
396
- msgid "Hide %s for all except author."
 
 
 
 
397
  msgstr ""
398
 
399
  #: Application/Backend/View/PostOptionList.php:21
@@ -402,7 +402,9 @@ msgstr ""
402
 
403
  #: Application/Backend/View/PostOptionList.php:22
404
  #, php-format
405
- msgid "Restrict access to read %s."
 
 
406
  msgstr ""
407
 
408
  #: Application/Backend/View/PostOptionList.php:25
@@ -410,7 +412,11 @@ msgid "Read By Others"
410
  msgstr ""
411
 
412
  #: Application/Backend/View/PostOptionList.php:26
413
- msgid "Restrict access to read for all except author."
 
 
 
 
414
  msgstr ""
415
 
416
  #: Application/Backend/View/PostOptionList.php:29
@@ -420,8 +426,8 @@ msgstr ""
420
  #: Application/Backend/View/PostOptionList.php:30
421
  #, php-format
422
  msgid ""
423
- "If checked, show defined in the Content Teaser tab teaser message instead of "
424
- "%s content."
425
  msgstr ""
426
 
427
  #: Application/Backend/View/PostOptionList.php:33
@@ -430,81 +436,127 @@ msgstr ""
430
 
431
  #: Application/Backend/View/PostOptionList.php:34
432
  #, php-format
433
- msgid "Restrict access to comment on %s if commenting feature is enabled."
434
  msgstr ""
435
 
436
  #: Application/Backend/View/PostOptionList.php:37
437
- msgid "Password Protected"
 
 
438
  msgstr ""
439
 
440
  #: Application/Backend/View/PostOptionList.php:38
441
  #, php-format
442
- msgid "Password: %s"
443
  msgstr ""
444
 
445
  #: Application/Backend/View/PostOptionList.php:38
 
446
  msgid "change"
447
  msgstr ""
448
 
449
  #: Application/Backend/View/PostOptionList.php:39
450
  #, php-format
451
- msgid "Add a password protection for the %s."
 
 
452
  msgstr ""
453
 
454
- #: Application/Backend/View/PostOptionList.php:53
 
 
 
 
 
 
 
 
 
455
  #, php-format
456
- msgid "Restrict access to edit %s."
 
 
457
  msgstr ""
458
 
459
- #: Application/Backend/View/PostOptionList.php:56
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
460
  msgid "Edit By Others"
461
  msgstr ""
462
 
463
- #: Application/Backend/View/PostOptionList.php:57
464
  #, php-format
465
- msgid "Restrict access to edit %s for all except author."
 
 
 
466
  msgstr ""
467
 
468
- #: Application/Backend/View/PostOptionList.php:60
469
- #: Application/Backend/phtml/index.phtml:177
470
  #: Application/Backend/phtml/object/capability.phtml:97
471
  msgid "Delete"
472
  msgstr ""
473
 
474
- #: Application/Backend/View/PostOptionList.php:61
475
  #, php-format
476
  msgid "Restrict access to trash or permanently delete %s."
477
  msgstr ""
478
 
479
- #: Application/Backend/View/PostOptionList.php:64
480
  msgid "Delete By Others"
481
  msgstr ""
482
 
483
- #: Application/Backend/View/PostOptionList.php:65
484
  #, php-format
485
  msgid ""
486
- "Restrict access to trash or permanently delete %s for all except author."
 
487
  msgstr ""
488
 
489
- #: Application/Backend/View/PostOptionList.php:68
490
  msgid "Publish"
491
  msgstr ""
492
 
493
- #: Application/Backend/View/PostOptionList.php:69
494
  #, php-format
495
  msgid ""
496
- "Restrict access to publish %s. Quick Edit inline action is also removed."
 
497
  msgstr ""
498
 
499
- #: Application/Backend/View/PostOptionList.php:72
500
  msgid "Publish By Others"
501
  msgstr ""
502
 
503
- #: Application/Backend/View/PostOptionList.php:73
504
  #, php-format
505
  msgid ""
506
- "Restrict access to publish %s for all except author. Quick Edit inline "
507
- "action is also removed."
 
508
  msgstr ""
509
 
510
  #: Application/Backend/View/SecurityOptionList.php:12
@@ -550,8 +602,9 @@ msgstr ""
550
 
551
  #: Application/Backend/View/UtilityOptionList.php:18
552
  msgid ""
553
- "Allow AAM to manage access to backend resources like backend menu, "
554
- "categories or posts."
 
555
  msgstr ""
556
 
557
  #: Application/Backend/View/UtilityOptionList.php:22
@@ -560,8 +613,9 @@ msgstr ""
560
 
561
  #: Application/Backend/View/UtilityOptionList.php:23
562
  msgid ""
563
- "Allow AAM to manage access to frontend resources like pages, categories or "
564
- "posts."
 
565
  msgstr ""
566
 
567
  #: Application/Backend/View/UtilityOptionList.php:27
@@ -569,40 +623,58 @@ msgid "Media Files Access Control"
569
  msgstr ""
570
 
571
  #: Application/Backend/View/UtilityOptionList.php:32
572
- msgid "Clear cache automatically"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
573
  msgstr ""
574
 
575
- #: Application/Core/Repository.php:302 Application/Extension/Repository.php:273
576
  #, php-format
577
  msgid "Failed to create %s"
578
  msgstr ""
579
 
580
- #: Application/Core/Repository.php:306 Application/Extension/Repository.php:277
581
  #, php-format
582
  msgid "Directory %s is not writable"
583
  msgstr ""
584
 
585
- #: Application/Frontend/Manager.php:184
586
  #, php-format
587
  msgid "[%s] Double Authentication"
588
  msgstr ""
589
 
590
- #: Application/Frontend/Manager.php:186
591
  #, php-format
592
  msgid "Someone was trying to login from the different IP address %s:"
593
  msgstr ""
594
 
595
- #: Application/Frontend/Manager.php:187
596
  #, php-format
597
  msgid "Website: %s"
598
  msgstr ""
599
 
600
- #: Application/Frontend/Manager.php:188
601
  #, php-format
602
  msgid "Username: %s"
603
  msgstr ""
604
 
605
- #: Application/Frontend/Manager.php:189
606
  msgid "Visit the following address to authorize the login:"
607
  msgstr ""
608
 
@@ -618,6 +690,34 @@ msgstr ""
618
  msgid "WP 3.8 or higher is required."
619
  msgstr ""
620
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
621
  #: Application/Backend/phtml/contact.phtml:6
622
  msgid ""
623
  "Feel free to contact us if you have any questions or concerns but follow few "
@@ -641,84 +741,161 @@ msgid "Premium"
641
  msgstr ""
642
 
643
  #: Application/Backend/phtml/extension.phtml:29
644
- #: Application/Backend/phtml/extension.phtml:69
645
  msgid "Free"
646
  msgstr ""
647
 
648
- #: Application/Backend/phtml/extension.phtml:30
649
- msgid "Check For Updates"
650
- msgstr ""
651
-
652
- #: Application/Backend/phtml/extension.phtml:30
653
- msgid "Check"
654
- msgstr ""
655
-
656
- #: Application/Backend/phtml/extension.phtml:49
657
- #: Application/Backend/phtml/extension.phtml:76
658
  msgid "Installed"
659
  msgstr ""
660
 
661
- #: Application/Backend/phtml/extension.phtml:53
662
  msgid "Inactive"
663
  msgstr ""
664
 
665
- #: Application/Backend/phtml/extension.phtml:55
666
  msgid "Purchase"
667
  msgstr ""
668
 
669
- #: Application/Backend/phtml/extension.phtml:80
670
- #: Application/Backend/phtml/extension.phtml:111
671
  msgid "Download"
672
  msgstr ""
673
 
674
- #: Application/Backend/phtml/extension.phtml:95
675
- #: Application/Backend/phtml/extension.phtml:122
676
- #: Application/Backend/phtml/extension.phtml:133
677
- #: Application/Backend/phtml/index.phtml:126
678
- #: Application/Backend/phtml/index.phtml:138
679
- #: Application/Backend/phtml/index.phtml:148
680
- #: Application/Backend/phtml/index.phtml:160
681
- #: Application/Backend/phtml/index.phtml:170
682
- #: Application/Backend/phtml/index.phtml:178
 
 
 
 
683
  #: Application/Backend/phtml/object/capability.phtml:47
684
  #: Application/Backend/phtml/object/capability.phtml:58
685
  #: Application/Backend/phtml/object/capability.phtml:68
686
  #: Application/Backend/phtml/object/capability.phtml:80
687
  #: Application/Backend/phtml/object/capability.phtml:90
688
  #: Application/Backend/phtml/object/capability.phtml:98
 
689
  #: Application/Backend/phtml/object/metabox.phtml:80
690
  #: Application/Backend/phtml/object/metabox.phtml:94
691
  #: Application/Backend/phtml/object/post.phtml:121
692
  #: Application/Backend/phtml/object/post.phtml:132
693
- #: Application/Backend/phtml/utility.phtml:42
 
 
694
  msgid "Close"
695
  msgstr ""
696
 
697
- #: Application/Backend/phtml/extension.phtml:96
698
  msgid "Notification"
699
  msgstr ""
700
 
701
- #: Application/Backend/phtml/extension.phtml:100
702
  msgid ""
703
  "Extension requires manual installation. Please follow few simple steps below."
704
  msgstr ""
705
 
706
- #: Application/Backend/phtml/extension.phtml:112
707
- #: Application/Backend/phtml/utility.phtml:50
708
  msgid "Cancel"
709
  msgstr ""
710
 
711
- #: Application/Backend/phtml/extension.phtml:123
712
  msgid "Install Extension"
713
  msgstr ""
714
 
715
- #: Application/Backend/phtml/extension.phtml:127
716
  msgid ""
717
  "Insert license key that you recieved after the payment (find the email "
718
  "example below). It might take up to 2 hours to process the payment. Please "
719
  "remember that license key is limited only to one life domain."
720
  msgstr ""
721
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
722
  #: Application/Backend/phtml/index.phtml:14
723
  msgid "Access Control Panel"
724
  msgstr ""
@@ -750,104 +927,92 @@ msgstr ""
750
  msgid "Notifications"
751
  msgstr ""
752
 
753
- #: Application/Backend/phtml/index.phtml:81
754
  msgid "AAM Multisite"
755
  msgstr ""
756
 
757
- #: Application/Backend/phtml/index.phtml:85
758
  msgid "Install AAM Multisite"
759
  msgstr ""
760
 
761
- #: Application/Backend/phtml/index.phtml:96
762
  msgid "Users/Roles Panel"
763
  msgstr ""
764
 
765
- #: Application/Backend/phtml/index.phtml:102
766
- #: Application/Backend/phtml/index.phtml:218
767
  msgid "Roles"
768
  msgstr ""
769
 
770
- #: Application/Backend/phtml/index.phtml:104
771
- #: Application/Backend/phtml/index.phtml:228
772
  msgid "Visitor"
773
  msgstr ""
774
 
775
- #: Application/Backend/phtml/index.phtml:105
776
- #: Application/Backend/phtml/index.phtml:233
777
  msgid "Default"
778
  msgstr ""
779
 
780
- #: Application/Backend/phtml/index.phtml:115
781
- #: Application/Backend/phtml/index.phtml:191
782
  msgid "Action"
783
  msgstr ""
784
 
785
- #: Application/Backend/phtml/index.phtml:127
786
  msgid "Create Role"
787
  msgstr ""
788
 
789
- #: Application/Backend/phtml/index.phtml:131
790
- #: Application/Backend/phtml/index.phtml:153
791
  msgid "Role Name"
792
  msgstr ""
793
 
794
- #: Application/Backend/phtml/index.phtml:132
795
- #: Application/Backend/phtml/index.phtml:154
796
  msgid "Enter Role Name"
797
  msgstr ""
798
 
799
- #: Application/Backend/phtml/index.phtml:149
800
  msgid "Update Role"
801
  msgstr ""
802
 
803
- #: Application/Backend/phtml/index.phtml:174
804
  #, php-format
805
  msgid "Are you sure that you want to delete the %s role?"
806
  msgstr ""
807
 
808
- #: Application/Backend/phtml/index.phtml:190
809
- msgid "Username"
810
- msgstr ""
811
-
812
- #: Application/Backend/phtml/index.phtml:200
813
  msgid ""
814
  "Manage access to your website for visitors (any user that is not "
815
  "authenticated)"
816
  msgstr ""
817
 
818
- #: Application/Backend/phtml/index.phtml:201
819
- msgid "Manage Visitors"
820
- msgstr ""
821
-
822
- #: Application/Backend/phtml/index.phtml:206
823
  msgid ""
824
  "Manage default access to your website resources for all users, roles and "
825
  "visitor. This includes Administrator role and your user"
826
  msgstr ""
827
 
828
- #: Application/Backend/phtml/index.phtml:207
829
- msgid "Manage Default Access"
830
- msgstr ""
831
-
832
- #: Application/Backend/phtml/index.phtml:219
833
  msgid ""
834
  "With Roles tab you can manage access for any defined role, edit role's name, "
835
  "create new role or even delete existing (but only when there is no users "
836
  "assigned to it). You are not allowed to delete Administrator role."
837
  msgstr ""
838
 
839
- #: Application/Backend/phtml/index.phtml:224
840
  msgid ""
841
  "Manage access for any user. As a bonus feature, you can block user. It means "
842
  "that user will be not able to login to your website anymore."
843
  msgstr ""
844
 
845
- #: Application/Backend/phtml/index.phtml:229
846
  msgid ""
847
  "Visitor can be considered any user that is not authenticated to your website."
848
  msgstr ""
849
 
850
- #: Application/Backend/phtml/index.phtml:234
851
  msgid ""
852
  "Manage default access settings to your website resources for all users, "
853
  "roles and visitors."
@@ -890,38 +1055,28 @@ msgstr ""
890
  msgid "Are you sure that you want to delete %s capability for all roles?"
891
  msgstr ""
892
 
893
- #: Application/Backend/phtml/object/login-redirect.phtml:43
894
- #: Application/Backend/phtml/object/redirect.phtml:61
895
- msgid "Existing Page"
896
- msgstr ""
897
-
898
- #: Application/Backend/phtml/object/login-redirect.phtml:52
899
- #: Application/Backend/phtml/object/redirect.phtml:70
900
- msgid "-- Select Page --"
901
  msgstr ""
902
 
903
- #: Application/Backend/phtml/object/login-redirect.phtml:58
904
- #: Application/Backend/phtml/object/redirect.phtml:76
905
- #: Application/Backend/phtml/object/redirect.phtml:109
906
- msgid "The URL"
907
  msgstr ""
908
 
909
- #: Application/Backend/phtml/object/login-redirect.phtml:63
910
- #: Application/Backend/phtml/object/redirect.phtml:81
911
- #: Application/Backend/phtml/object/redirect.phtml:113
912
- msgid "PHP Callback Function"
913
  msgstr ""
914
 
915
- #: Application/Backend/phtml/object/menu.phtml:7
916
- #: Application/Backend/phtml/object/metabox.phtml:12
917
- #: Application/Backend/phtml/object/post.phtml:27
918
- msgid "Settings are customized"
 
 
919
  msgstr ""
920
 
921
- #: Application/Backend/phtml/object/menu.phtml:8
922
- #: Application/Backend/phtml/object/metabox.phtml:13
923
- #: Application/Backend/phtml/object/post.phtml:28
924
- msgid "Reset To Default"
925
  msgstr ""
926
 
927
  #: Application/Backend/phtml/object/metabox.phtml:4
@@ -979,26 +1134,6 @@ msgstr ""
979
  msgid "Go Back"
980
  msgstr ""
981
 
982
- #: Application/Backend/phtml/object/post.phtml:65
983
- msgid "Frontend"
984
- msgstr ""
985
-
986
- #: Application/Backend/phtml/object/post.phtml:122
987
- msgid "Change Password"
988
- msgstr ""
989
-
990
- #: Application/Backend/phtml/object/post.phtml:126
991
- msgid "Password"
992
- msgstr ""
993
-
994
- #: Application/Backend/phtml/object/post.phtml:127
995
- msgid "Enter Password"
996
- msgstr ""
997
-
998
- #: Application/Backend/phtml/object/post.phtml:131
999
- msgid "Change"
1000
- msgstr ""
1001
-
1002
  #: Application/Backend/phtml/object/redirect.phtml:25
1003
  msgid "Frontend Redirect"
1004
  msgstr ""
@@ -1008,12 +1143,12 @@ msgid "Backend Redirect"
1008
  msgstr ""
1009
 
1010
  #: Application/Backend/phtml/object/redirect.phtml:56
1011
- #: Application/Backend/phtml/object/redirect.phtml:104
1012
  msgid "Customized Message"
1013
  msgstr ""
1014
 
1015
  #: Application/Backend/phtml/object/redirect.phtml:57
1016
- #: Application/Backend/phtml/object/redirect.phtml:105
1017
  msgid "Enter message..."
1018
  msgstr ""
1019
 
@@ -1040,22 +1175,30 @@ msgid ""
1040
  msgstr ""
1041
 
1042
  #: Application/Backend/phtml/utility.phtml:26
1043
- msgid "Clear All Settings"
1044
  msgstr ""
1045
 
1046
  #: Application/Backend/phtml/utility.phtml:28
 
 
 
 
 
 
 
 
1047
  msgid ""
1048
  "Remove all the settings related to AAM (including all extension licenses)."
1049
  msgstr ""
1050
 
1051
- #: Application/Backend/phtml/utility.phtml:43
1052
  msgid "Clear all settings"
1053
  msgstr ""
1054
 
1055
- #: Application/Backend/phtml/utility.phtml:46
1056
  msgid "All AAM settings will be removed."
1057
  msgstr ""
1058
 
1059
- #: Application/Backend/phtml/utility.phtml:49
1060
  msgid "Clear"
1061
  msgstr ""
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: AAM\n"
5
+ "POT-Creation-Date: 2017-03-23 17:22-0400\n"
6
  "PO-Revision-Date: \n"
7
  "Last-Translator: WPAAM <support@wpaam.com>\n"
8
  "Language-Team: WP AAM <vasyl@vasyltech.com>\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 1.8.12\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
  "X-Poedit-KeywordsList: __\n"
34
  msgid "_TOTAL_ role(s)"
35
  msgstr ""
36
 
37
+ #: media/js/aam-ui.js:99 media/js/aam-ui.js:558
38
  #: Application/Backend/View/Localization.php:27
39
+ #: Application/Backend/phtml/index.phtml:112
40
  #: Application/Backend/phtml/object/capability.phtml:27
41
  #: Application/Backend/phtml/object/capability.phtml:57
42
  msgid "Create"
43
  msgstr ""
44
 
45
+ #: media/js/aam-ui.js:120 Application/Backend/View/Localization.php:28
46
+ #: Application/Backend/phtml/index.phtml:78
47
+ #: Application/Backend/phtml/index.phtml:198
48
  msgid "Users"
49
  msgstr ""
50
 
51
+ #: media/js/aam-ui.js:159 Application/Backend/View/Localization.php:45
52
  msgid "Manage Role"
53
  msgstr ""
54
 
55
+ #: media/js/aam-ui.js:175 Application/Backend/View/Localization.php:46
56
  msgid "Edit Role Name"
57
  msgstr ""
58
 
59
+ #: media/js/aam-ui.js:191
60
  msgid "Clone Role"
61
  msgstr ""
62
 
63
+ #: media/js/aam-ui.js:212 media/js/aam-ui.js:397
64
  #: Application/Backend/View/Localization.php:35
65
  #: Application/Backend/View/Localization.php:47
66
+ #: Application/Backend/phtml/index.phtml:146
67
  msgid "Delete Role"
68
  msgstr ""
69
 
70
+ #: media/js/aam-ui.js:289 media/js/aam-ui.js:344 media/js/aam-ui.js:1182
71
+ #: media/js/aam-ui.js:1228 Application/Backend/View/Localization.php:13
72
  msgid "Saving..."
73
  msgstr ""
74
 
75
+ #: media/js/aam-ui.js:304 Application/Backend/View/Localization.php:29
76
  msgid "Failed to add new role"
77
  msgstr ""
78
 
79
+ #: media/js/aam-ui.js:309 media/js/aam-ui.js:356 media/js/aam-ui.js:393
80
+ #: media/js/aam-ui.js:487 media/js/aam-ui.js:519 media/js/aam-ui.js:895
81
+ #: media/js/aam-ui.js:932 media/js/aam-ui.js:968 media/js/aam-ui.js:1195
82
+ #: media/js/aam-ui.js:1241 media/js/aam-ui.js:1282 media/js/aam-ui.js:1454
83
+ #: media/js/aam-ui.js:1504 media/js/aam-ui.js:1830 media/js/aam-ui.js:1925
84
+ #: media/js/aam-ui.js:2019 media/js/aam-ui.js:2100 media/js/aam-ui.js:2174
85
  #: media/js/aam.js:207 Application/Backend/View/Localization.php:15
86
  msgid "Application error"
87
  msgstr ""
88
 
89
+ #: media/js/aam-ui.js:312 Application/Backend/View/Localization.php:30
90
  msgid "Add Role"
91
  msgstr ""
92
 
93
+ #: media/js/aam-ui.js:351 Application/Backend/View/Localization.php:31
94
  msgid "Failed to update role"
95
  msgstr ""
96
 
97
+ #: media/js/aam-ui.js:360 Application/Backend/View/Localization.php:32
98
+ #: Application/Backend/phtml/extension.phtml:50
99
+ #: Application/Backend/phtml/extension.phtml:77
100
+ #: Application/Backend/phtml/index.phtml:134
101
  #: Application/Backend/phtml/object/capability.phtml:79
102
  msgid "Update"
103
  msgstr ""
104
 
105
+ #: media/js/aam-ui.js:383 media/js/aam-ui.js:1269
106
  #: Application/Backend/View/Localization.php:33
107
  msgid "Deleting..."
108
  msgstr ""
109
 
110
+ #: media/js/aam-ui.js:389 Application/Backend/View/Localization.php:34
111
  msgid "Failed to delete role"
112
  msgstr ""
113
 
114
+ #: media/js/aam-ui.js:472 media/js/aam-ui.js:473 media/js/aam-ui.js:650
115
  #: Application/Backend/View/Localization.php:51
116
  msgid "Unlock User"
117
  msgstr ""
118
 
119
+ #: media/js/aam-ui.js:478 media/js/aam-ui.js:479 media/js/aam-ui.js:637
120
  #: Application/Backend/View/Localization.php:50
121
  msgid "Lock User"
122
  msgstr ""
123
 
124
+ #: media/js/aam-ui.js:483 Application/Backend/View/Localization.php:36
125
  msgid "Failed to block user"
126
  msgstr ""
127
 
128
+ #: media/js/aam-ui.js:549 Application/Backend/View/Localization.php:37
129
  msgid "Search User"
130
  msgstr ""
131
 
132
+ #: media/js/aam-ui.js:550 Application/Backend/View/Localization.php:38
133
  msgid "_TOTAL_ user(s)"
134
  msgstr ""
135
 
136
+ #: media/js/aam-ui.js:576 Application/Backend/View/Localization.php:39
137
+ #: Application/Backend/phtml/frame.phtml:77
138
+ #: Application/Backend/phtml/index.phtml:89
139
  msgid "Role"
140
  msgstr ""
141
 
142
+ #: media/js/aam-ui.js:610 Application/Backend/View/Localization.php:48
143
  msgid "Manage User"
144
  msgstr ""
145
 
146
+ #: media/js/aam-ui.js:624 Application/Backend/View/Localization.php:49
147
  msgid "Edit User"
148
  msgstr ""
149
 
150
+ #: media/js/aam-ui.js:663
151
  msgid "Switch To User"
152
  msgstr ""
153
 
154
+ #: media/js/aam-ui.js:718 Application/Backend/View/Localization.php:40
155
  msgid "Anonymous"
156
  msgstr ""
157
 
158
+ #: media/js/aam-ui.js:750
159
  msgid "All Users, Roles and Visitor"
160
  msgstr ""
161
 
162
+ #: media/js/aam-ui.js:800 Application/Backend/View/Localization.php:17
163
+ #: Application/Backend/phtml/object/menu.phtml:56
164
  msgid "Show Menu"
165
  msgstr ""
166
 
167
+ #: media/js/aam-ui.js:815 Application/Backend/View/Localization.php:18
168
+ #: Application/Backend/phtml/object/menu.phtml:60
169
  msgid "Restrict Menu"
170
  msgstr ""
171
 
172
+ #: media/js/aam-ui.js:927 Application/Backend/View/Localization.php:19
173
  msgid "Failed to retrieve mataboxes"
174
  msgstr ""
175
 
176
+ #: media/js/aam-ui.js:955
177
  msgid "Processing"
178
  msgstr ""
179
 
180
+ #: media/js/aam-ui.js:963
181
  msgid "Failed to initialize URL"
182
  msgstr ""
183
 
184
+ #: media/js/aam-ui.js:971 Application/Backend/phtml/object/metabox.phtml:93
185
  msgid "Initialize"
186
  msgstr ""
187
 
188
+ #: media/js/aam-ui.js:1045 Application/Backend/View/Localization.php:52
189
  msgid "Failed to grand capability - WordPress policy"
190
  msgstr ""
191
 
192
+ #: media/js/aam-ui.js:1080 Application/Backend/View/Localization.php:11
193
  msgid "Search Capability"
194
  msgstr ""
195
 
196
+ #: media/js/aam-ui.js:1081 Application/Backend/View/Localization.php:12
197
  msgid "_TOTAL_ capability(s)"
198
  msgstr ""
199
 
200
+ #: media/js/aam-ui.js:1083
201
  msgid "Nothing to show"
202
  msgstr ""
203
 
204
+ #: media/js/aam-ui.js:1190 Application/Backend/View/Localization.php:14
205
  msgid "Failed to add new capability"
206
  msgstr ""
207
 
208
+ #: media/js/aam-ui.js:1198 Application/Backend/View/Localization.php:16
209
  msgid "Add Capability"
210
  msgstr ""
211
 
212
+ #: media/js/aam-ui.js:1236
213
  msgid "Failed to update capability"
214
  msgstr ""
215
 
216
+ #: media/js/aam-ui.js:1244 Application/Backend/phtml/object/capability.phtml:69
217
  msgid "Update Capability"
218
  msgstr ""
219
 
220
+ #: media/js/aam-ui.js:1277
221
  msgid "Failed to delete capability"
222
  msgstr ""
223
 
224
+ #: media/js/aam-ui.js:1285 Application/Backend/phtml/object/capability.phtml:91
225
  msgid "Delete Capability"
226
  msgstr ""
227
 
228
+ #: media/js/aam-ui.js:1543 Application/Backend/View/Localization.php:20
229
  msgid "Search"
230
  msgstr ""
231
 
232
+ #: media/js/aam-ui.js:1544 Application/Backend/View/Localization.php:21
233
  msgid "_TOTAL_ object(s)"
234
  msgstr ""
235
 
236
+ #: media/js/aam-ui.js:1610
237
  msgid "Drill-Down"
238
  msgstr ""
239
 
240
+ #: media/js/aam-ui.js:1628 Application/Backend/View/Localization.php:43
 
241
  msgid "Manage Access"
242
  msgstr ""
243
 
244
+ #: media/js/aam-ui.js:1640 Application/Backend/View/Localization.php:44
245
+ #: Application/Backend/View/PostOptionList.php:57
246
  msgid "Edit"
247
  msgstr ""
248
 
249
+ #: media/js/aam-ui.js:1880 media/js/aam-ui.js:1975 media/js/aam-ui.js:2061
250
+ #: media/js/aam-ui.js:2283 media/js/aam-ui.js:2317 media/js/aam-ui.js:2338
251
+ #: media/js/aam-ui.js:2376
252
  msgid "Application Error"
253
  msgstr ""
254
 
255
+ #: Application/Backend/Feature/404Redirect.php:62
256
+ msgid "404 Redirect"
257
+ msgstr ""
258
+
259
  #: Application/Backend/Feature/Abstract.php:30
260
  #: Application/Backend/Feature/Role.php:29
261
+ #: Application/Backend/Feature/User.php:29 Application/Backend/Manager.php:483
262
+ #: Application/Backend/Manager.php:508 Application/Core/API.php:225
263
  msgid "Access Denied"
264
  msgstr ""
265
 
284
 
285
  #: Application/Backend/Feature/Capability.php:256
286
  #: Application/Backend/Feature/Capability.php:297
287
+ #: Application/Backend/phtml/frame.phtml:167
288
  #: Application/Backend/phtml/object/post.phtml:88
289
  msgid "Backend"
290
  msgstr ""
302
  msgid "Contact Us"
303
  msgstr ""
304
 
305
+ #: Application/Backend/Feature/Extension.php:96
306
+ msgid "Enter license key to update extension."
307
  msgstr ""
308
 
309
+ #: Application/Backend/Feature/Extension.php:157
310
  msgid "Extensions"
311
  msgstr ""
312
 
334
  msgid "Security"
335
  msgstr ""
336
 
 
 
 
 
 
337
  #: Application/Backend/Feature/Teaser.php:103
338
  msgid "Content Teaser"
339
  msgstr ""
340
 
341
+ #: Application/Backend/Feature/Utility.php:113
342
  msgid "Utilities"
343
  msgstr ""
344
 
345
+ #: Application/Backend/Manager.php:200
 
 
 
 
 
 
 
 
 
 
 
 
346
  msgid "Access Manager"
347
  msgstr ""
348
 
349
+ #: Application/Backend/Manager.php:278 Application/Backend/Manager.php:298
350
+ #: Application/Backend/Manager.php:323
351
  msgid "Access"
352
  msgstr ""
353
 
364
  msgstr ""
365
 
366
  #: Application/Backend/View/PostOptionList.php:13
367
+ #: Application/Backend/View/PostOptionList.php:49
368
  msgid "List"
369
  msgstr ""
370
 
371
  #: Application/Backend/View/PostOptionList.php:14
 
372
  #, php-format
373
+ msgid ""
374
+ "Hide %s however access with a direct URL will be still allowed. When there "
375
+ "are more than 500 posts, this option may not be applied immediately because, "
376
+ "for performance reasons, AAM checks limited number of posts per request."
377
+ msgstr ""
378
+
379
+ #: Application/Backend/View/PostOptionList.php:14
380
+ #: Application/Backend/View/PostOptionList.php:22
381
+ #, php-format
382
+ msgid " %sSee in action.%s"
383
  msgstr ""
384
 
385
  #: Application/Backend/View/PostOptionList.php:17
386
+ #: Application/Backend/View/PostOptionList.php:53
387
  msgid "List To Others"
388
  msgstr ""
389
 
390
  #: Application/Backend/View/PostOptionList.php:18
 
391
  #, php-format
392
+ msgid ""
393
+ "Hide %s for all except author (whoever created %s or was assigned on the "
394
+ "Author metabox). Access with a direct URL will be still allowed. When there "
395
+ "are more than 500 posts, this option may not be applied immediately because, "
396
+ "for performance reasons, AAM checks limited number of posts per request."
397
  msgstr ""
398
 
399
  #: Application/Backend/View/PostOptionList.php:21
402
 
403
  #: Application/Backend/View/PostOptionList.php:22
404
  #, php-format
405
+ msgid ""
406
+ "Restrict access to read %s. Any attempts to read, view or open %s will "
407
+ "result in redirecting user based on the Access Denied Redirect rule."
408
  msgstr ""
409
 
410
  #: Application/Backend/View/PostOptionList.php:25
412
  msgstr ""
413
 
414
  #: Application/Backend/View/PostOptionList.php:26
415
+ #, php-format
416
+ msgid ""
417
+ "Restrict access to read %s for all except author (whoever created %s or was "
418
+ "assigned on the Author metabox). Any attempts to read, view or open %s will "
419
+ "result in redirecting user based on the Access Denied Redirect rule."
420
  msgstr ""
421
 
422
  #: Application/Backend/View/PostOptionList.php:29
426
  #: Application/Backend/View/PostOptionList.php:30
427
  #, php-format
428
  msgid ""
429
+ "When checked, show defined on the Content Teaser tab teaser message instead "
430
+ "of the %s content."
431
  msgstr ""
432
 
433
  #: Application/Backend/View/PostOptionList.php:33
436
 
437
  #: Application/Backend/View/PostOptionList.php:34
438
  #, php-format
439
+ msgid "Restrict access to comment on %s when commenting feature is enabled."
440
  msgstr ""
441
 
442
  #: Application/Backend/View/PostOptionList.php:37
443
+ #: Application/Backend/phtml/frame.phtml:226
444
+ #: Application/Backend/phtml/object/post.phtml:143
445
+ msgid "Redirect"
446
  msgstr ""
447
 
448
  #: Application/Backend/View/PostOptionList.php:38
449
  #, php-format
450
+ msgid "Redirect to: %s"
451
  msgstr ""
452
 
453
  #: Application/Backend/View/PostOptionList.php:38
454
+ #: Application/Backend/View/PostOptionList.php:43
455
  msgid "change"
456
  msgstr ""
457
 
458
  #: Application/Backend/View/PostOptionList.php:39
459
  #, php-format
460
+ msgid ""
461
+ "Redirect user to defined location when user tries to read the %s. Define "
462
+ "either valid full URL or public page ID within the website."
463
  msgstr ""
464
 
465
+ #: Application/Backend/View/PostOptionList.php:42
466
+ msgid "Password Protected"
467
+ msgstr ""
468
+
469
+ #: Application/Backend/View/PostOptionList.php:43
470
+ #, php-format
471
+ msgid "Password: %s"
472
+ msgstr ""
473
+
474
+ #: Application/Backend/View/PostOptionList.php:44
475
  #, php-format
476
+ msgid ""
477
+ "Add the password protection for the %s. Available with WordPress 4.7.0 or "
478
+ "higher."
479
  msgstr ""
480
 
481
+ #: Application/Backend/View/PostOptionList.php:50
482
+ #, php-format
483
+ msgid ""
484
+ "Hide %s however access with a direct URL is still allowed. When there are "
485
+ "more than 500 posts, this option may not be applied immediately because, for "
486
+ "performance reasons, AAM checks limited number of posts per request."
487
+ msgstr ""
488
+
489
+ #: Application/Backend/View/PostOptionList.php:54
490
+ #, php-format
491
+ msgid ""
492
+ "Hide %s for all except author (whoever created %s or was assigned on the "
493
+ "Author metabox). Access with a direct URL is still allowed. When there are "
494
+ "more than 500 posts, this option may not be applied immediately because, for "
495
+ "performance reasons, AAM checks limited number of posts per request."
496
+ msgstr ""
497
+
498
+ #: Application/Backend/View/PostOptionList.php:58
499
+ #, php-format
500
+ msgid ""
501
+ "Restrict access to edit %s. Any attempts to edit %s will result in "
502
+ "redirecting user based on the Access Denied Redirect rule."
503
+ msgstr ""
504
+
505
+ #: Application/Backend/View/PostOptionList.php:61
506
  msgid "Edit By Others"
507
  msgstr ""
508
 
509
+ #: Application/Backend/View/PostOptionList.php:62
510
  #, php-format
511
+ msgid ""
512
+ "Restrict access to edit %s for all except author (whoever created %s or was "
513
+ "assigned on the Author metabox). Any attempts to edit %s will result in "
514
+ "redirecting user based on the Access Denied Redirect rule."
515
  msgstr ""
516
 
517
+ #: Application/Backend/View/PostOptionList.php:65
518
+ #: Application/Backend/phtml/index.phtml:152
519
  #: Application/Backend/phtml/object/capability.phtml:97
520
  msgid "Delete"
521
  msgstr ""
522
 
523
+ #: Application/Backend/View/PostOptionList.php:66
524
  #, php-format
525
  msgid "Restrict access to trash or permanently delete %s."
526
  msgstr ""
527
 
528
+ #: Application/Backend/View/PostOptionList.php:69
529
  msgid "Delete By Others"
530
  msgstr ""
531
 
532
+ #: Application/Backend/View/PostOptionList.php:70
533
  #, php-format
534
  msgid ""
535
+ "Restrict access to trash or permanently delete %s for all except author "
536
+ "(whoever created %s or was assigned on the Author metabox)."
537
  msgstr ""
538
 
539
+ #: Application/Backend/View/PostOptionList.php:73
540
  msgid "Publish"
541
  msgstr ""
542
 
543
+ #: Application/Backend/View/PostOptionList.php:74
544
  #, php-format
545
  msgid ""
546
+ "Restrict access to publish %s. User will be allowed only submit for review. "
547
+ "Quick Edit inline action is also removed from the list page."
548
  msgstr ""
549
 
550
+ #: Application/Backend/View/PostOptionList.php:77
551
  msgid "Publish By Others"
552
  msgstr ""
553
 
554
+ #: Application/Backend/View/PostOptionList.php:78
555
  #, php-format
556
  msgid ""
557
+ "Restrict access to publish %s for all except author (whoever created %s or "
558
+ "was assigned on the Author metabox). User will be allowed only submit for "
559
+ "review. Quick Edit inline action is also removed from the list page."
560
  msgstr ""
561
 
562
  #: Application/Backend/View/SecurityOptionList.php:12
602
 
603
  #: Application/Backend/View/UtilityOptionList.php:18
604
  msgid ""
605
+ "Allow AAM to manage access to backend resources. If there is no need to "
606
+ "manage access to the website backend then keep this option unchecked as it "
607
+ "may increase your webiste performance."
608
  msgstr ""
609
 
610
  #: Application/Backend/View/UtilityOptionList.php:22
613
 
614
  #: Application/Backend/View/UtilityOptionList.php:23
615
  msgid ""
616
+ "Allow AAM to manage access to frontend resources. If there is no need to "
617
+ "manage access to the website frontend then keep this option unchecked as it "
618
+ "may increase your webiste performance."
619
  msgstr ""
620
 
621
  #: Application/Backend/View/UtilityOptionList.php:27
623
  msgstr ""
624
 
625
  #: Application/Backend/View/UtilityOptionList.php:32
626
+ msgid "Render Access Manager Metabox"
627
+ msgstr ""
628
+
629
+ #: Application/Backend/View/UtilityOptionList.php:33
630
+ msgid ""
631
+ "Render Access Manager metabox on all post and category edit pages. Access "
632
+ "Manager metabox is the quick way to manage access to any post or category "
633
+ "without leaving an edit page."
634
+ msgstr ""
635
+
636
+ #: Application/Backend/View/UtilityOptionList.php:37
637
+ msgid "Check Post Visibility"
638
+ msgstr ""
639
+
640
+ #: Application/Backend/View/UtilityOptionList.php:38
641
+ msgid ""
642
+ "For performance reasons, keep this option uncheck if do not use LIST or LIST "
643
+ "TO OTHERS access options on Posts & Pages tab. When it is checked, AAM will "
644
+ "filter list of posts that are hidden for a user on both frontend and backend."
645
  msgstr ""
646
 
647
+ #: Application/Extension/Repository.php:268
648
  #, php-format
649
  msgid "Failed to create %s"
650
  msgstr ""
651
 
652
+ #: Application/Extension/Repository.php:272
653
  #, php-format
654
  msgid "Directory %s is not writable"
655
  msgstr ""
656
 
657
+ #: Application/Frontend/Manager.php:191
658
  #, php-format
659
  msgid "[%s] Double Authentication"
660
  msgstr ""
661
 
662
+ #: Application/Frontend/Manager.php:193
663
  #, php-format
664
  msgid "Someone was trying to login from the different IP address %s:"
665
  msgstr ""
666
 
667
+ #: Application/Frontend/Manager.php:194
668
  #, php-format
669
  msgid "Website: %s"
670
  msgstr ""
671
 
672
+ #: Application/Frontend/Manager.php:195
673
  #, php-format
674
  msgid "Username: %s"
675
  msgstr ""
676
 
677
+ #: Application/Frontend/Manager.php:196
678
  msgid "Visit the following address to authorize the login:"
679
  msgstr ""
680
 
690
  msgid "WP 3.8 or higher is required."
691
  msgstr ""
692
 
693
+ #: Application/Backend/phtml/404redirect.phtml:33
694
+ #: Application/Backend/phtml/object/login-redirect.phtml:43
695
+ #: Application/Backend/phtml/object/redirect.phtml:61
696
+ #: Application/Backend/phtml/object/redirect.phtml:113
697
+ msgid "Existing Page"
698
+ msgstr ""
699
+
700
+ #: Application/Backend/phtml/404redirect.phtml:42
701
+ #: Application/Backend/phtml/object/login-redirect.phtml:52
702
+ #: Application/Backend/phtml/object/redirect.phtml:70
703
+ #: Application/Backend/phtml/object/redirect.phtml:122
704
+ msgid "-- Select Page --"
705
+ msgstr ""
706
+
707
+ #: Application/Backend/phtml/404redirect.phtml:48
708
+ #: Application/Backend/phtml/object/login-redirect.phtml:58
709
+ #: Application/Backend/phtml/object/redirect.phtml:76
710
+ #: Application/Backend/phtml/object/redirect.phtml:128
711
+ msgid "The URL"
712
+ msgstr ""
713
+
714
+ #: Application/Backend/phtml/404redirect.phtml:53
715
+ #: Application/Backend/phtml/object/login-redirect.phtml:63
716
+ #: Application/Backend/phtml/object/redirect.phtml:81
717
+ #: Application/Backend/phtml/object/redirect.phtml:133
718
+ msgid "PHP Callback Function"
719
+ msgstr ""
720
+
721
  #: Application/Backend/phtml/contact.phtml:6
722
  msgid ""
723
  "Feel free to contact us if you have any questions or concerns but follow few "
741
  msgstr ""
742
 
743
  #: Application/Backend/phtml/extension.phtml:29
744
+ #: Application/Backend/phtml/extension.phtml:68
745
  msgid "Free"
746
  msgstr ""
747
 
748
+ #: Application/Backend/phtml/extension.phtml:48
749
+ #: Application/Backend/phtml/extension.phtml:75
 
 
 
 
 
 
 
 
750
  msgid "Installed"
751
  msgstr ""
752
 
753
+ #: Application/Backend/phtml/extension.phtml:52
754
  msgid "Inactive"
755
  msgstr ""
756
 
757
+ #: Application/Backend/phtml/extension.phtml:54
758
  msgid "Purchase"
759
  msgstr ""
760
 
761
+ #: Application/Backend/phtml/extension.phtml:79
762
+ #: Application/Backend/phtml/extension.phtml:110
763
  msgid "Download"
764
  msgstr ""
765
 
766
+ #: Application/Backend/phtml/extension.phtml:94
767
+ #: Application/Backend/phtml/extension.phtml:121
768
+ #: Application/Backend/phtml/extension.phtml:132
769
+ #: Application/Backend/phtml/frame.phtml:204
770
+ #: Application/Backend/phtml/frame.phtml:215
771
+ #: Application/Backend/phtml/frame.phtml:225
772
+ #: Application/Backend/phtml/frame.phtml:236
773
+ #: Application/Backend/phtml/index.phtml:101
774
+ #: Application/Backend/phtml/index.phtml:113
775
+ #: Application/Backend/phtml/index.phtml:123
776
+ #: Application/Backend/phtml/index.phtml:135
777
+ #: Application/Backend/phtml/index.phtml:145
778
+ #: Application/Backend/phtml/index.phtml:153
779
  #: Application/Backend/phtml/object/capability.phtml:47
780
  #: Application/Backend/phtml/object/capability.phtml:58
781
  #: Application/Backend/phtml/object/capability.phtml:68
782
  #: Application/Backend/phtml/object/capability.phtml:80
783
  #: Application/Backend/phtml/object/capability.phtml:90
784
  #: Application/Backend/phtml/object/capability.phtml:98
785
+ #: Application/Backend/phtml/object/menu.phtml:75
786
  #: Application/Backend/phtml/object/metabox.phtml:80
787
  #: Application/Backend/phtml/object/metabox.phtml:94
788
  #: Application/Backend/phtml/object/post.phtml:121
789
  #: Application/Backend/phtml/object/post.phtml:132
790
+ #: Application/Backend/phtml/object/post.phtml:142
791
+ #: Application/Backend/phtml/object/post.phtml:153
792
+ #: Application/Backend/phtml/utility.phtml:53
793
  msgid "Close"
794
  msgstr ""
795
 
796
+ #: Application/Backend/phtml/extension.phtml:95
797
  msgid "Notification"
798
  msgstr ""
799
 
800
+ #: Application/Backend/phtml/extension.phtml:99
801
  msgid ""
802
  "Extension requires manual installation. Please follow few simple steps below."
803
  msgstr ""
804
 
805
+ #: Application/Backend/phtml/extension.phtml:111
806
+ #: Application/Backend/phtml/utility.phtml:61
807
  msgid "Cancel"
808
  msgstr ""
809
 
810
+ #: Application/Backend/phtml/extension.phtml:122
811
  msgid "Install Extension"
812
  msgstr ""
813
 
814
+ #: Application/Backend/phtml/extension.phtml:126
815
  msgid ""
816
  "Insert license key that you recieved after the payment (find the email "
817
  "example below). It might take up to 2 hours to process the payment. Please "
818
  "remember that license key is limited only to one life domain."
819
  msgstr ""
820
 
821
+ #: Application/Backend/phtml/frame.phtml:91
822
+ #: Application/Backend/phtml/index.phtml:165
823
+ msgid "Username"
824
+ msgstr ""
825
+
826
+ #: Application/Backend/phtml/frame.phtml:101
827
+ #, php-format
828
+ msgid "Manage access to %s for visitors (any user that is not authenticated)"
829
+ msgstr ""
830
+
831
+ #: Application/Backend/phtml/frame.phtml:102
832
+ #: Application/Backend/phtml/index.phtml:176
833
+ msgid "Manage Visitors"
834
+ msgstr ""
835
+
836
+ #: Application/Backend/phtml/frame.phtml:107
837
+ #, php-format
838
+ msgid ""
839
+ "Manage default access to %s for all users, roles and visitor. This includes "
840
+ "Administrator role and yourself"
841
+ msgstr ""
842
+
843
+ #: Application/Backend/phtml/frame.phtml:109
844
+ #: Application/Backend/phtml/index.phtml:182
845
+ msgid "Manage Default Access"
846
+ msgstr ""
847
+
848
+ #: Application/Backend/phtml/frame.phtml:124
849
+ #: Application/Backend/phtml/object/menu.phtml:7
850
+ #: Application/Backend/phtml/object/metabox.phtml:12
851
+ #: Application/Backend/phtml/object/post.phtml:27
852
+ msgid "Settings are customized"
853
+ msgstr ""
854
+
855
+ #: Application/Backend/phtml/frame.phtml:125
856
+ #: Application/Backend/phtml/object/menu.phtml:8
857
+ #: Application/Backend/phtml/object/metabox.phtml:13
858
+ #: Application/Backend/phtml/object/post.phtml:28
859
+ msgid "Reset To Default"
860
+ msgstr ""
861
+
862
+ #: Application/Backend/phtml/frame.phtml:140
863
+ #: Application/Backend/phtml/object/post.phtml:65
864
+ msgid "Frontend"
865
+ msgstr ""
866
+
867
+ #: Application/Backend/phtml/frame.phtml:205
868
+ #: Application/Backend/phtml/object/post.phtml:122
869
+ msgid "Change Password"
870
+ msgstr ""
871
+
872
+ #: Application/Backend/phtml/frame.phtml:209
873
+ #: Application/Backend/phtml/object/post.phtml:126
874
+ msgid "Password"
875
+ msgstr ""
876
+
877
+ #: Application/Backend/phtml/frame.phtml:210
878
+ #: Application/Backend/phtml/object/post.phtml:127
879
+ msgid "Enter Password"
880
+ msgstr ""
881
+
882
+ #: Application/Backend/phtml/frame.phtml:214
883
+ #: Application/Backend/phtml/frame.phtml:235
884
+ #: Application/Backend/phtml/object/post.phtml:131
885
+ #: Application/Backend/phtml/object/post.phtml:152
886
+ msgid "Change"
887
+ msgstr ""
888
+
889
+ #: Application/Backend/phtml/frame.phtml:230
890
+ #: Application/Backend/phtml/object/post.phtml:147
891
+ msgid "Valid URL or Page ID"
892
+ msgstr ""
893
+
894
+ #: Application/Backend/phtml/frame.phtml:231
895
+ #: Application/Backend/phtml/object/post.phtml:148
896
+ msgid "Enter Redirect"
897
+ msgstr ""
898
+
899
  #: Application/Backend/phtml/index.phtml:14
900
  msgid "Access Control Panel"
901
  msgstr ""
927
  msgid "Notifications"
928
  msgstr ""
929
 
930
+ #: Application/Backend/phtml/index.phtml:56
931
  msgid "AAM Multisite"
932
  msgstr ""
933
 
934
+ #: Application/Backend/phtml/index.phtml:60
935
  msgid "Install AAM Multisite"
936
  msgstr ""
937
 
938
+ #: Application/Backend/phtml/index.phtml:71
939
  msgid "Users/Roles Panel"
940
  msgstr ""
941
 
942
+ #: Application/Backend/phtml/index.phtml:77
943
+ #: Application/Backend/phtml/index.phtml:193
944
  msgid "Roles"
945
  msgstr ""
946
 
947
+ #: Application/Backend/phtml/index.phtml:79
948
+ #: Application/Backend/phtml/index.phtml:203
949
  msgid "Visitor"
950
  msgstr ""
951
 
952
+ #: Application/Backend/phtml/index.phtml:80
953
+ #: Application/Backend/phtml/index.phtml:208
954
  msgid "Default"
955
  msgstr ""
956
 
957
+ #: Application/Backend/phtml/index.phtml:90
958
+ #: Application/Backend/phtml/index.phtml:166
959
  msgid "Action"
960
  msgstr ""
961
 
962
+ #: Application/Backend/phtml/index.phtml:102
963
  msgid "Create Role"
964
  msgstr ""
965
 
966
+ #: Application/Backend/phtml/index.phtml:106
967
+ #: Application/Backend/phtml/index.phtml:128
968
  msgid "Role Name"
969
  msgstr ""
970
 
971
+ #: Application/Backend/phtml/index.phtml:107
972
+ #: Application/Backend/phtml/index.phtml:129
973
  msgid "Enter Role Name"
974
  msgstr ""
975
 
976
+ #: Application/Backend/phtml/index.phtml:124
977
  msgid "Update Role"
978
  msgstr ""
979
 
980
+ #: Application/Backend/phtml/index.phtml:149
981
  #, php-format
982
  msgid "Are you sure that you want to delete the %s role?"
983
  msgstr ""
984
 
985
+ #: Application/Backend/phtml/index.phtml:175
 
 
 
 
986
  msgid ""
987
  "Manage access to your website for visitors (any user that is not "
988
  "authenticated)"
989
  msgstr ""
990
 
991
+ #: Application/Backend/phtml/index.phtml:181
 
 
 
 
992
  msgid ""
993
  "Manage default access to your website resources for all users, roles and "
994
  "visitor. This includes Administrator role and your user"
995
  msgstr ""
996
 
997
+ #: Application/Backend/phtml/index.phtml:194
 
 
 
 
998
  msgid ""
999
  "With Roles tab you can manage access for any defined role, edit role's name, "
1000
  "create new role or even delete existing (but only when there is no users "
1001
  "assigned to it). You are not allowed to delete Administrator role."
1002
  msgstr ""
1003
 
1004
+ #: Application/Backend/phtml/index.phtml:199
1005
  msgid ""
1006
  "Manage access for any user. As a bonus feature, you can block user. It means "
1007
  "that user will be not able to login to your website anymore."
1008
  msgstr ""
1009
 
1010
+ #: Application/Backend/phtml/index.phtml:204
1011
  msgid ""
1012
  "Visitor can be considered any user that is not authenticated to your website."
1013
  msgstr ""
1014
 
1015
+ #: Application/Backend/phtml/index.phtml:209
1016
  msgid ""
1017
  "Manage default access settings to your website resources for all users, "
1018
  "roles and visitors."
1055
  msgid "Are you sure that you want to delete %s capability for all roles?"
1056
  msgstr ""
1057
 
1058
+ #: Application/Backend/phtml/object/login-redirect.phtml:27
1059
+ msgid "WordPress default behavior"
 
 
 
 
 
 
1060
  msgstr ""
1061
 
1062
+ #: Application/Backend/phtml/object/menu.phtml:76
1063
+ msgid "Dashboard Lockdown"
 
 
1064
  msgstr ""
1065
 
1066
+ #: Application/Backend/phtml/object/menu.phtml:79
1067
+ msgid "You cannot restrict access to Dashboard home page."
 
 
1068
  msgstr ""
1069
 
1070
+ #: Application/Backend/phtml/object/menu.phtml:81
1071
+ #, php-format
1072
+ msgid ""
1073
+ "Dashboard home page is the default page every user is redirected after "
1074
+ "login. If you need to lockdown user from the entire website dashboard, "
1075
+ "%splease check this article%s."
1076
  msgstr ""
1077
 
1078
+ #: Application/Backend/phtml/object/menu.phtml:84
1079
+ msgid "OK"
 
 
1080
  msgstr ""
1081
 
1082
  #: Application/Backend/phtml/object/metabox.phtml:4
1134
  msgid "Go Back"
1135
  msgstr ""
1136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1137
  #: Application/Backend/phtml/object/redirect.phtml:25
1138
  msgid "Frontend Redirect"
1139
  msgstr ""
1143
  msgstr ""
1144
 
1145
  #: Application/Backend/phtml/object/redirect.phtml:56
1146
+ #: Application/Backend/phtml/object/redirect.phtml:108
1147
  msgid "Customized Message"
1148
  msgstr ""
1149
 
1150
  #: Application/Backend/phtml/object/redirect.phtml:57
1151
+ #: Application/Backend/phtml/object/redirect.phtml:109
1152
  msgid "Enter message..."
1153
  msgstr ""
1154
 
1175
  msgstr ""
1176
 
1177
  #: Application/Backend/phtml/utility.phtml:26
1178
+ msgid "Clear Cache"
1179
  msgstr ""
1180
 
1181
  #: Application/Backend/phtml/utility.phtml:28
1182
+ msgid "Clear all AAM cache."
1183
+ msgstr ""
1184
+
1185
+ #: Application/Backend/phtml/utility.phtml:37
1186
+ msgid "Clear All Settings"
1187
+ msgstr ""
1188
+
1189
+ #: Application/Backend/phtml/utility.phtml:39
1190
  msgid ""
1191
  "Remove all the settings related to AAM (including all extension licenses)."
1192
  msgstr ""
1193
 
1194
+ #: Application/Backend/phtml/utility.phtml:54
1195
  msgid "Clear all settings"
1196
  msgstr ""
1197
 
1198
+ #: Application/Backend/phtml/utility.phtml:57
1199
  msgid "All AAM settings will be removed."
1200
  msgstr ""
1201
 
1202
+ #: Application/Backend/phtml/utility.phtml:60
1203
  msgid "Clear"
1204
  msgstr ""
aam.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  Plugin Name: Advanced Access Manager
5
  Description: Manage website access for any user, role or visitors
6
- Version: 4.4.1
7
  Author: Vasyl Martyniuk <vasyl@vasyltech.com>
8
  Author URI: https://www.vasyltech.com
9
 
@@ -145,7 +145,7 @@ class AAM {
145
  */
146
  public static function cron() {
147
  //grab the server extension list
148
- AAM_Extension_Repository::getInstance()->check();
149
  }
150
 
151
  /**
3
  /**
4
  Plugin Name: Advanced Access Manager
5
  Description: Manage website access for any user, role or visitors
6
+ Version: 4.5
7
  Author: Vasyl Martyniuk <vasyl@vasyltech.com>
8
  Author URI: https://www.vasyltech.com
9
 
145
  */
146
  public static function cron() {
147
  //grab the server extension list
148
+ AAM_Core_API::updateOption('aam-check', AAM_Extension_Server::check(), 'site');
149
  }
150
 
151
  /**
media/active-menu.svg CHANGED
@@ -1,21 +1,21 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 3.8.3 (29802) - http://www.bohemiancoding.com/sketch -->
4
- <title>Group</title>
5
  <desc>Created with Sketch.</desc>
6
  <defs></defs>
7
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
8
- <g id="Group">
9
- <g id="Gear_7" fill="#FFFFFF">
10
- <g id="layer1" transform="translate(0.113781, 0.033332)">
11
- <g id="g27" transform="translate(0.124998, 0.048704)">
12
- <path d="M17.5195752,7.63821239 L16.0152212,7.13532743 C15.8313982,6.35861947 15.5261947,5.62906195 15.1185664,4.96895575 L15.8261416,3.55061947 C15.3404602,2.91010619 14.7687611,2.33856637 14.1284071,1.85304425 L12.7099115,2.56061947 C12.0499646,2.15283186 11.3204071,1.84730973 10.5438584,1.66364602 L10.0409735,0.159451327 C9.64847788,0.105769912 9.2480177,0.0772566372 8.84070796,0.0772566372 C8.43339823,0.0772566372 8.03309735,0.105769912 7.64044248,0.159451327 L7.13755752,1.66364602 C6.36100885,1.84730973 5.63145133,2.15283186 4.97134513,2.56061947 L3.55300885,1.85304425 C2.91249558,2.33856637 2.34095575,2.91010619 1.85559292,3.55061947 L2.56316814,4.96895575 C2.15538053,5.62906195 1.84985841,6.35861947 1.66635398,7.13532743 L0.162,7.63821239 C0.108318584,8.03054867 0.0798053097,8.43116814 0.0798053097,8.83831858 C0.0798053097,9.24546903 0.108159292,9.6460885 0.162,10.0384248 L1.66635398,10.5413097 C1.8500177,11.3180177 2.15538053,12.0475752 2.56300885,12.7076814 L1.85575221,14.1260177 C2.34111504,14.766531 2.91265487,15.3380708 3.55316814,15.8235929 L4.97150442,15.1160177 C5.63161062,15.5238053 6.36116814,15.8293274 7.13771681,16.0129912 L7.64060177,17.5170265 C8.03309735,17.5708673 8.43355752,17.5993805 8.84086726,17.5993805 C9.24817699,17.5993805 9.64847788,17.5708673 10.0411327,17.5170265 L10.5440177,16.0129912 C11.3205664,15.8293274 12.0501239,15.5238053 12.7100708,15.116177 L14.1285664,15.8235929 C14.7689204,15.3380708 15.3406195,14.766531 15.8259823,14.1260177 L15.1187257,12.7076814 C15.526354,12.0475752 15.8315575,11.3180177 16.0153805,10.5413097 L17.5197345,10.0384248 C17.5734159,9.6460885 17.6019292,9.24546903 17.6019292,8.83831858 C17.6019292,8.43116814 17.5734159,8.03054867 17.5195752,7.63821239 L17.5195752,7.63821239 Z M8.84070796,14.8261062 C5.53380531,14.8261062 2.85292035,12.1453805 2.85292035,8.83831858 C2.85292035,5.53125664 5.53380531,2.85053097 8.84070796,2.85053097 C12.1476106,2.85053097 14.8284956,5.53125664 14.8284956,8.83831858 C14.8284956,12.1453805 12.1476106,14.8261062 8.84070796,14.8261062 L8.84070796,14.8261062 Z" id="path29"></path>
13
- </g>
 
 
 
 
14
  </g>
15
- </g>
16
- <g id="1467918132_102" transform="translate(5.097345, 3.663717)">
17
- <path d="M1.39794078,2.60514684 L1.39794078,3.99669843 L0.801558397,3.99669843 C0.362214334,3.99669843 0.00634542449,4.35254546 0.00634542449,4.79188953 L0.00634542449,8.76786687 C0.00634542449,9.20718905 0.362214334,9.5630142 0.801558397,9.5630142 L7.16304337,9.5630142 C7.60236555,9.5630142 7.95830011,9.20718905 7.95830011,8.76786687 L7.95830011,4.79188953 C7.95830011,4.35254546 7.60236555,3.99669843 7.16304337,3.99669843 L6.56670476,3.99669843 L6.56670476,2.60514684 C6.56670476,1.17782019 5.40960566,0.0207867354 3.98232277,0.0207867354 C2.55503987,0.0207867354 1.39794078,1.17779831 1.39794078,2.60514684 L1.39794078,2.60514684 Z M2.39194058,3.99669843 L2.39194058,2.60514684 C2.39194058,1.7264806 3.10361276,1.01474278 3.98230088,1.01474278 C4.86098901,1.01474278 5.57270495,1.7264806 5.57270495,2.60514684 L5.57270495,3.99669843 L2.39194058,3.99669843 L2.39194058,3.99669843 Z" id="Shape" fill="#FFFFFF"></path>
18
- <path d="M3.18710979,6.18348488 C3.18710979,5.7441627 3.54295682,5.38831567 3.98230088,5.38831567 C4.42164495,5.38831567 4.7774701,5.7441627 4.7774701,6.18348488 C4.7774701,6.46382136 4.63231304,6.71035204 4.41370223,6.85148303 C4.41370223,6.85148303 4.49137898,7.32073811 4.57872703,7.8732933 C4.57872703,8.03823057 4.44553875,8.17141885 4.28051396,8.17141885 L3.68408781,8.17141885 C3.5190849,8.17141885 3.38591851,8.03823057 3.38591851,7.8732933 L3.5509433,6.85148303 C3.33231061,6.71035204 3.18710979,6.46379947 3.18710979,6.18348488 L3.18710979,6.18348488 Z" id="Path" fill="#000000"></path>
19
  </g>
20
  </g>
21
  </g>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="18px" height="19px" viewBox="0 0 18 19" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Icon Small</title>
5
  <desc>Created with Sketch.</desc>
6
  <defs></defs>
7
+ <g id="Plugin-Banners" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
8
+ <g id="Icon-Small" transform="translate(-1.000000, 0.000000)">
9
+ <rect id="Rectangle-2" x="0" y="0" width="18" height="18"></rect>
10
+ <g id="User-Icon" transform="translate(1.000000, 0.000000)" fill="#FFFFFF">
11
+ <g id="User-Body">
12
+ <path d="M1.47319377,6.58573908 C0.554745344,7.6585469 0,9.0519647 0,10.5749502 C0,13.9644586 2.74773947,16.7121981 6.13724789,16.7121981 C9.52675631,16.7121981 12.2744958,13.9644586 12.2744958,10.5749502 C12.2744958,9.0519647 11.7197504,7.6585469 10.801302,6.58573908 C9.67568066,7.29370796 8.00377079,7.74237426 6.13724789,7.74237426 C4.27072499,7.74237426 2.59881512,7.29370796 1.47319377,6.58573908 Z" id="Combined-Shape"></path>
13
+ <ellipse id="Oval-3" cx="6.13724789" cy="3.30467194" rx="3.30467194" ry="3.30467194"></ellipse>
14
+ </g>
15
+ <g id="Circled-Lock" transform="translate(8.969824, 10.102854)">
16
+ <circle id="Oval-3" stroke="#333333" stroke-width="3" cx="3.30467194" cy="3.30467194" r="3.30467194"></circle>
17
+ <path d="M4.59827732,5.19305591 L2.10548576,5.19305591 C1.93335404,5.19305591 1.79396477,5.05213877 1.79396477,4.87835146 L1.79396477,3.30467194 C1.79396477,3.13088463 1.93350996,2.98981022 2.10548576,2.98981022 L2.26124625,2.98981022 L2.26124625,2.51783218 C2.26124625,1.90949795 2.74957645,1.41628797 3.35188154,1.41628797 C3.95418663,1.41628797 4.44251683,1.90949795 4.44251683,2.51783218 L4.44251683,2.98981022 L4.59827732,2.98981022 C4.77040904,2.98981022 4.90979831,3.13072735 4.90979831,3.30467194 L4.90979831,4.87835146 C4.90979831,5.0519815 4.77025313,5.19305591 4.59827732,5.19305591 L4.59827732,5.19305591 Z M3.97507943,2.51783218 C3.97507943,2.17025755 3.69598906,1.88842328 3.35188154,1.88842328 C3.00777402,1.88842328 2.72868365,2.17025755 2.72868365,2.51783218 L2.72868365,2.98981022 L3.97507943,2.98981022 L3.97507943,2.51783218 L3.97507943,2.51783218 Z" id="Shape"></path>
18
  </g>
 
 
 
 
19
  </g>
20
  </g>
21
  </g>
media/css/aam.css CHANGED
@@ -630,6 +630,21 @@ input[type=radio]:checked + label:before {
630
  cursor: pointer;
631
  }
632
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
633
  .visitor-message span {
634
  margin-bottom: 15px;
635
  display: block;
630
  cursor: pointer;
631
  }
632
 
633
+ .aam-access-form {
634
+ position: relative;
635
+ }
636
+
637
+ .aam-overlay {
638
+ position: absolute;
639
+ top: 0;
640
+ left: 0;
641
+ width: 100%;
642
+ height: 100%;
643
+ background-color: rgba(200,200,200, 0.3);
644
+ display: none;
645
+ z-index: 10;
646
+ }
647
+
648
  .visitor-message span {
649
  margin-bottom: 15px;
650
  display: block;
media/js/aam-ui.js CHANGED
@@ -92,20 +92,22 @@
92
  infoFiltered: ''
93
  },
94
  initComplete: function () {
95
- var create = $('<a/>', {
96
- 'href': '#',
97
- 'class': 'btn btn-primary'
98
- }).html('<i class="icon-plus"></i> ' + aam.__('Create'))
99
- .bind('click', function (event) {
100
- event.preventDefault();
101
- $('#add-role-modal').modal('show');
102
- });
 
103
 
104
- $('.dataTables_filter', '#role-list_wrapper').append(create);
 
105
  },
106
  createdRow: function (row, data) {
107
  if (isCurrent(data[0])) {
108
- $('td:eq(0)', row).html('<strong>' + data[2] + '</strong>');
109
  } else {
110
  $('td:eq(0)', row).html('<span>' + data[2] + '</span>');
111
  }
@@ -133,17 +135,24 @@
133
  var title = $('td:eq(0) span', row).html();
134
  aam.setSubject('role', data[0], title, data[4]);
135
  $('td:eq(0) span', row).replaceWith(
136
- '<strong>' + title + '</strong>'
137
  );
138
  $('i.icon-cog', container).attr(
139
- 'class', 'aam-row-action icon-spin4 animate-spin'
140
- );
141
- aam.fetchContent();
142
- $('i.icon-spin4', container).attr(
143
  'class', 'aam-row-action icon-cog text-muted'
144
  );
145
- //Show add capability that may be hidden after manager user
146
- $('#add-capability').show();
 
 
 
 
 
 
 
 
 
 
 
147
  }
148
  }).attr({
149
  'data-toggle': "tooltip",
@@ -152,6 +161,7 @@
152
  break;
153
 
154
  case 'edit':
 
155
  $(container).append($('<i/>', {
156
  'class': 'aam-row-action icon-pencil text-warning'
157
  }).bind('click', function () {
@@ -164,9 +174,11 @@
164
  'data-toggle': "tooltip",
165
  'title': aam.__('Edit Role Name')
166
  }));
 
167
  break;
168
 
169
  case 'clone':
 
170
  $(container).append($('<i/>', {
171
  'class': 'aam-row-action icon-clone text-success'
172
  }).bind('click', function () {
@@ -178,9 +190,11 @@
178
  'data-toggle': "tooltip",
179
  'title': aam.__('Clone Role')
180
  }));
 
181
  break;
182
 
183
  case 'delete':
 
184
  $(container).append($('<i/>', {
185
  'class': 'aam-row-action icon-trash-empty text-danger'
186
  }).bind('click', {role: data}, function (event) {
@@ -197,14 +211,17 @@
197
  'data-toggle': "tooltip",
198
  'title': aam.__('Delete Role')
199
  }));
 
200
  break;
201
 
202
  default:
 
203
  aam.triggerHook('role-action', {
204
  container: container,
205
  action : action,
206
  data : data
207
  });
 
208
  break;
209
  }
210
  });
@@ -534,6 +551,7 @@
534
  infoFiltered: ''
535
  },
536
  initComplete: function () {
 
537
  var create = $('<a/>', {
538
  'href': '#',
539
  'class': 'btn btn-primary'
@@ -543,10 +561,11 @@
543
  });
544
 
545
  $('.dataTables_filter', '#user-list_wrapper').append(create);
 
546
  },
547
  createdRow: function (row, data) {
548
  if (isCurrent(data[0])) {
549
- $('td:eq(0)', row).html('<strong>' + data[2] + '</strong>');
550
  } else {
551
  $('td:eq(0)', row).html('<span>' + data[2] + '</span>');
552
  }
@@ -572,13 +591,19 @@
572
  $(this).prop('disabled', true);
573
  aam.setSubject('user', data[0], data[2], data[4]);
574
  $('td:eq(0) span', row).replaceWith(
575
- '<strong>' + data[2] + '</strong>'
576
  );
577
- $('i.icon-cog', container).attr('class', 'aam-row-action icon-spin4 animate-spin');
578
- aam.fetchContent();
579
- $('i.icon-spin4', container).attr('class', 'aam-row-action icon-cog text-muted');
580
- //make sure that there is no way user add's new capability
581
- $('#add-capability').hide();
 
 
 
 
 
 
582
  }
583
  }).attr({
584
  'data-toggle': "tooltip",
@@ -587,6 +612,7 @@
587
  break;
588
 
589
  case 'edit':
 
590
  $(container).append($('<i/>', {
591
  'class': 'aam-row-action icon-pencil text-info'
592
  }).bind('click', function () {
@@ -597,9 +623,11 @@
597
  'data-toggle': "tooltip",
598
  'title': aam.__('Edit User')
599
  }));
 
600
  break;
601
 
602
  case 'lock':
 
603
  $(container).append($('<i/>', {
604
  'class': 'aam-row-action icon-lock-open-alt text-warning'
605
  }).bind('click', function () {
@@ -608,9 +636,11 @@
608
  'data-toggle': "tooltip",
609
  'title': aam.__('Lock User')
610
  }));
 
611
  break;
612
 
613
  case 'unlock':
 
614
  $(container).append($('<i/>', {
615
  'class': 'aam-row-action icon-lock text-danger'
616
  }).bind('click', function () {
@@ -619,9 +649,11 @@
619
  'data-toggle': "tooltip",
620
  'title': aam.__('Unlock User')
621
  }));
 
622
  break;
623
 
624
  case 'switch':
 
625
  $(container).append($('<i/>', {
626
  'class': 'aam-row-action icon-exchange text-success'
627
  }).bind('click', function () {
@@ -630,6 +662,7 @@
630
  'data-toggle': "tooltip",
631
  'title': aam.__('Switch To User')
632
  }));
 
633
  break;
634
 
635
  default:
@@ -679,11 +712,20 @@
679
 
680
  $('document').ready(function() {
681
  $('#manage-visitor').bind('click', function (event) {
 
 
682
  event.preventDefault();
683
  aam.setSubject('visitor', null, aam.__('Anonymous'), 0);
684
  $('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
685
- aam.fetchContent();
686
- $('i.icon-spin4', $(this)).attr('class', 'icon-cog');
 
 
 
 
 
 
 
687
  //hide post & pages access control groups that belong to backend
688
  $('.aam-backend-post-access').hide();
689
  });
@@ -702,11 +744,19 @@
702
 
703
  $('document').ready(function() {
704
  $('#manage-default').bind('click', function (event) {
 
 
705
  event.preventDefault();
706
  aam.setSubject('default', null, aam.__('All Users, Roles and Visitor'), 0);
707
  $('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
708
- aam.fetchContent();
709
- $('i.icon-spin4', $(this)).attr('class', 'icon-cog');
 
 
 
 
 
 
710
  });
711
  });
712
 
@@ -1287,9 +1337,13 @@
1287
  * @param {type} callback
1288
  * @returns {undefined}
1289
  */
1290
- function loadAccessForm(object, id, btn, callback) {
1291
  //reset the form first
1292
- var container = $('.aam-slide-form[data-type="' + object + '"]');
 
 
 
 
1293
 
1294
  //reset data preview elements
1295
  $('[data-preview]', container).text('');
@@ -1342,6 +1396,7 @@
1342
  subjectId: aam.getSubject().id
1343
  },
1344
  beforeSend: function () {
 
1345
  $(btn).attr('class', 'aam-row-action icon-spin4 animate-spin');
1346
  },
1347
  success: function (response) {
@@ -1349,8 +1404,7 @@
1349
  for (var property in response.access) {
1350
  var checked = (parseInt(response.access[property]) ? 'text-danger icon-check' : 'text-muted icon-check-empty');
1351
  var checkbox = $('[data-property="' + property + '"]', container);
1352
- console.log(checkbox.length);
1353
- console.log('[data-preview="' + property + '"]: ' + $('[data-preview="' + property + '"]', container).length);
1354
  if (checkbox.length) {
1355
  checkbox.attr({
1356
  'class': 'aam-row-action ' + checked
@@ -1385,19 +1439,27 @@
1385
  }
1386
 
1387
  //update dynamic labels
1388
- var marker = '<b>' + $('.aam-post-breadcrumb span').text() + '</b>';
 
 
 
 
1389
  $('[data-dynamic-post-label]').each(function() {
1390
- $(this).html($(this).attr('data-dynamic-post-label').replace(/%s/g, marker));
 
 
1391
  });
1392
  },
1393
  error: function () {
1394
  aam.notification('danger', aam.__('Application error'));
1395
  },
1396
  complete: function () {
1397
- $(btn).attr('class', 'aam-row-action text-info icon-cog');
 
 
1398
  }
1399
  });
1400
- }
1401
 
1402
  /**
1403
  *
@@ -1556,7 +1618,7 @@
1556
  }).bind('click', function () {
1557
  if (!$(this).prop('disabled')) {
1558
  $(this).prop('disabled', true);
1559
- loadAccessForm(data[2], data[0], $(this), function () {
1560
  addBreadcrumbLevel('edit', data[2], data[3]);
1561
  $(this).prop('disabled', false);
1562
  });
@@ -1628,7 +1690,7 @@
1628
  success: function (response) {
1629
  if (response.status === 'success') {
1630
  $('#post-overwritten').addClass('hidden');
1631
- loadAccessForm(type, id);
1632
  }
1633
  }
1634
  });
@@ -1648,7 +1710,7 @@
1648
 
1649
  //load referenced post
1650
  if ($('#load-post-object').val()) {
1651
- loadAccessForm(
1652
  $('#load-post-object-type').val(),
1653
  $('#load-post-object').val()
1654
  );
@@ -1725,7 +1787,6 @@
1725
  }
1726
  $('#location-modal').modal('hide');
1727
  });
1728
-
1729
  }
1730
 
1731
  aam.addHook('init', initialize);
@@ -2184,35 +2245,6 @@
2184
  );
2185
  $('#extension-notification-modal').modal('hide');
2186
  });
2187
-
2188
- $('#update-check').bind('click', function(event) {
2189
- event.preventDefault();
2190
-
2191
- $.ajax(aamLocal.ajaxurl, {
2192
- type: 'POST',
2193
- dataType: 'json',
2194
- async: false,
2195
- data: {
2196
- action: 'aam',
2197
- sub_action: 'Extension.check',
2198
- _ajax_nonce: aamLocal.nonce
2199
- },
2200
- beforeSend: function () {
2201
- $('#update-check i').attr('class', 'icon-spin4 animate-spin');
2202
- },
2203
- success: function (response) {
2204
- if (response.status === 'success') {
2205
- location.reload();
2206
- }
2207
- },
2208
- error: function () {
2209
- aam.notification('danger', aam.__('Application error'));
2210
- },
2211
- complete: function () {
2212
- $('#update-check i').attr('class', 'icon-arrows-cw');
2213
- }
2214
- });
2215
- });
2216
  }
2217
 
2218
  aam.addHook('init', initialize);
92
  infoFiltered: ''
93
  },
94
  initComplete: function () {
95
+ if (!aam.isUI()) {
96
+ var create = $('<a/>', {
97
+ 'href': '#',
98
+ 'class': 'btn btn-primary'
99
+ }).html('<i class="icon-plus"></i> ' + aam.__('Create'))
100
+ .bind('click', function (event) {
101
+ event.preventDefault();
102
+ $('#add-role-modal').modal('show');
103
+ });
104
 
105
+ $('.dataTables_filter', '#role-list_wrapper').append(create);
106
+ }
107
  },
108
  createdRow: function (row, data) {
109
  if (isCurrent(data[0])) {
110
+ $('td:eq(0)', row).html('<strong class="aam-highlight">' + data[2] + '</strong>');
111
  } else {
112
  $('td:eq(0)', row).html('<span>' + data[2] + '</span>');
113
  }
135
  var title = $('td:eq(0) span', row).html();
136
  aam.setSubject('role', data[0], title, data[4]);
137
  $('td:eq(0) span', row).replaceWith(
138
+ '<strong class="aam-highlight">' + title + '</strong>'
139
  );
140
  $('i.icon-cog', container).attr(
 
 
 
 
141
  'class', 'aam-row-action icon-cog text-muted'
142
  );
143
+ if (!aam.isUI()) {
144
+ $('i.icon-cog', container).attr(
145
+ 'class', 'aam-row-action icon-spin4 animate-spin'
146
+ );
147
+ aam.fetchContent();
148
+ $('i.icon-spin4', container).attr(
149
+ 'class', 'aam-row-action icon-cog text-muted'
150
+ );
151
+ //Show add capability that may be hidden after manager user
152
+ $('#add-capability').show();
153
+ } else {
154
+ $.aam.loadAccessForm($('#load-post-object-type').val(), $('#load-post-object').val(), $(this));
155
+ }
156
  }
157
  }).attr({
158
  'data-toggle': "tooltip",
161
  break;
162
 
163
  case 'edit':
164
+ if (!aam.isUI()) {
165
  $(container).append($('<i/>', {
166
  'class': 'aam-row-action icon-pencil text-warning'
167
  }).bind('click', function () {
174
  'data-toggle': "tooltip",
175
  'title': aam.__('Edit Role Name')
176
  }));
177
+ }
178
  break;
179
 
180
  case 'clone':
181
+ if (!aam.isUI()) {
182
  $(container).append($('<i/>', {
183
  'class': 'aam-row-action icon-clone text-success'
184
  }).bind('click', function () {
190
  'data-toggle': "tooltip",
191
  'title': aam.__('Clone Role')
192
  }));
193
+ }
194
  break;
195
 
196
  case 'delete':
197
+ if (!aam.isUI()) {
198
  $(container).append($('<i/>', {
199
  'class': 'aam-row-action icon-trash-empty text-danger'
200
  }).bind('click', {role: data}, function (event) {
211
  'data-toggle': "tooltip",
212
  'title': aam.__('Delete Role')
213
  }));
214
+ }
215
  break;
216
 
217
  default:
218
+ if (!aam.isUI()) {
219
  aam.triggerHook('role-action', {
220
  container: container,
221
  action : action,
222
  data : data
223
  });
224
+ }
225
  break;
226
  }
227
  });
551
  infoFiltered: ''
552
  },
553
  initComplete: function () {
554
+ if (!aam.isUI()) {
555
  var create = $('<a/>', {
556
  'href': '#',
557
  'class': 'btn btn-primary'
561
  });
562
 
563
  $('.dataTables_filter', '#user-list_wrapper').append(create);
564
+ }
565
  },
566
  createdRow: function (row, data) {
567
  if (isCurrent(data[0])) {
568
+ $('td:eq(0)', row).html('<strong class="aam-highlight">' + data[2] + '</strong>');
569
  } else {
570
  $('td:eq(0)', row).html('<span>' + data[2] + '</span>');
571
  }
591
  $(this).prop('disabled', true);
592
  aam.setSubject('user', data[0], data[2], data[4]);
593
  $('td:eq(0) span', row).replaceWith(
594
+ '<strong class="aam-highlight">' + data[2] + '</strong>'
595
  );
596
+ $('i.icon-cog', container).attr('class', 'aam-row-action icon-cog text-muted');
597
+
598
+ if (!aam.isUI()) {
599
+ $('i.icon-cog', container).attr('class', 'aam-row-action icon-spin4 animate-spin');
600
+ aam.fetchContent();
601
+ $('i.icon-spin4', container).attr('class', 'aam-row-action icon-cog text-muted');
602
+ //make sure that there is no way user add's new capability
603
+ $('#add-capability').hide();
604
+ } else {
605
+ $.aam.loadAccessForm($('#load-post-object-type').val(), $('#load-post-object').val(), $(this));
606
+ }
607
  }
608
  }).attr({
609
  'data-toggle': "tooltip",
612
  break;
613
 
614
  case 'edit':
615
+ if (!aam.isUI()) {
616
  $(container).append($('<i/>', {
617
  'class': 'aam-row-action icon-pencil text-info'
618
  }).bind('click', function () {
623
  'data-toggle': "tooltip",
624
  'title': aam.__('Edit User')
625
  }));
626
+ }
627
  break;
628
 
629
  case 'lock':
630
+ if (!aam.isUI()) {
631
  $(container).append($('<i/>', {
632
  'class': 'aam-row-action icon-lock-open-alt text-warning'
633
  }).bind('click', function () {
636
  'data-toggle': "tooltip",
637
  'title': aam.__('Lock User')
638
  }));
639
+ }
640
  break;
641
 
642
  case 'unlock':
643
+ if (!aam.isUI()) {
644
  $(container).append($('<i/>', {
645
  'class': 'aam-row-action icon-lock text-danger'
646
  }).bind('click', function () {
649
  'data-toggle': "tooltip",
650
  'title': aam.__('Unlock User')
651
  }));
652
+ }
653
  break;
654
 
655
  case 'switch':
656
+ if (!aam.isUI()) {
657
  $(container).append($('<i/>', {
658
  'class': 'aam-row-action icon-exchange text-success'
659
  }).bind('click', function () {
662
  'data-toggle': "tooltip",
663
  'title': aam.__('Switch To User')
664
  }));
665
+ }
666
  break;
667
 
668
  default:
712
 
713
  $('document').ready(function() {
714
  $('#manage-visitor').bind('click', function (event) {
715
+ var _this = this;
716
+
717
  event.preventDefault();
718
  aam.setSubject('visitor', null, aam.__('Anonymous'), 0);
719
  $('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
720
+
721
+ if (!aam.isUI()) {
722
+ aam.fetchContent();
723
+ $('i.icon-spin4', $(this)).attr('class', 'icon-cog');
724
+ } else {
725
+ $.aam.loadAccessForm($('#load-post-object-type').val(), $('#load-post-object').val(), null, function () {
726
+ $('i.icon-spin4', $(_this)).attr('class', 'icon-cog');
727
+ });
728
+ }
729
  //hide post & pages access control groups that belong to backend
730
  $('.aam-backend-post-access').hide();
731
  });
744
 
745
  $('document').ready(function() {
746
  $('#manage-default').bind('click', function (event) {
747
+ var _this = this;
748
+
749
  event.preventDefault();
750
  aam.setSubject('default', null, aam.__('All Users, Roles and Visitor'), 0);
751
  $('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
752
+ if (!aam.isUI()) {
753
+ aam.fetchContent();
754
+ $('i.icon-spin4', $(this)).attr('class', 'icon-cog');
755
+ } else {
756
+ $.aam.loadAccessForm($('#load-post-object-type').val(), $('#load-post-object').val(), null, function () {
757
+ $('i.icon-spin4', $(_this)).attr('class', 'icon-cog');
758
+ });
759
+ }
760
  });
761
  });
762
 
1337
  * @param {type} callback
1338
  * @returns {undefined}
1339
  */
1340
+ $.aam.loadAccessForm = function(object, id, btn, callback) {
1341
  //reset the form first
1342
+ var container = $('.aam-access-form[data-type="' + object + '"]');
1343
+ $('#post-overwritten').addClass('hidden');
1344
+
1345
+ //show overlay if present
1346
+ $('.aam-overlay', container).show();
1347
 
1348
  //reset data preview elements
1349
  $('[data-preview]', container).text('');
1396
  subjectId: aam.getSubject().id
1397
  },
1398
  beforeSend: function () {
1399
+ $(btn).attr('data-class', $(btn).attr('class'));
1400
  $(btn).attr('class', 'aam-row-action icon-spin4 animate-spin');
1401
  },
1402
  success: function (response) {
1404
  for (var property in response.access) {
1405
  var checked = (parseInt(response.access[property]) ? 'text-danger icon-check' : 'text-muted icon-check-empty');
1406
  var checkbox = $('[data-property="' + property + '"]', container);
1407
+
 
1408
  if (checkbox.length) {
1409
  checkbox.attr({
1410
  'class': 'aam-row-action ' + checked
1439
  }
1440
 
1441
  //update dynamic labels
1442
+ if ($('#load-post-object-title').length) {
1443
+ var marker = $('#load-post-object-title').val();
1444
+ } else {
1445
+ marker = $('.aam-post-breadcrumb span').text();
1446
+ }
1447
  $('[data-dynamic-post-label]').each(function() {
1448
+ $(this).html(
1449
+ $(this).attr('data-dynamic-post-label').replace(/%s/g, '<b>' + marker + '</b>')
1450
+ );
1451
  });
1452
  },
1453
  error: function () {
1454
  aam.notification('danger', aam.__('Application error'));
1455
  },
1456
  complete: function () {
1457
+ $(btn).attr('class', $(btn).attr('data-class')).removeAttr('data-class');
1458
+ //show overlay if present
1459
+ $('.aam-overlay', container).hide();
1460
  }
1461
  });
1462
+ };
1463
 
1464
  /**
1465
  *
1618
  }).bind('click', function () {
1619
  if (!$(this).prop('disabled')) {
1620
  $(this).prop('disabled', true);
1621
+ $.aam.loadAccessForm(data[2], data[0], $(this), function () {
1622
  addBreadcrumbLevel('edit', data[2], data[3]);
1623
  $(this).prop('disabled', false);
1624
  });
1690
  success: function (response) {
1691
  if (response.status === 'success') {
1692
  $('#post-overwritten').addClass('hidden');
1693
+ $.aam.loadAccessForm(type, id);
1694
  }
1695
  }
1696
  });
1710
 
1711
  //load referenced post
1712
  if ($('#load-post-object').val()) {
1713
+ $.aam.loadAccessForm(
1714
  $('#load-post-object-type').val(),
1715
  $('#load-post-object').val()
1716
  );
1787
  }
1788
  $('#location-modal').modal('hide');
1789
  });
 
1790
  }
1791
 
1792
  aam.addHook('init', initialize);
2245
  );
2246
  $('#extension-notification-modal').modal('hide');
2247
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2248
  }
2249
 
2250
  aam.addHook('init', initialize);
media/js/aam.js CHANGED
@@ -226,6 +226,10 @@
226
  $(el).append('<span>' + $(el).data('readmore') + '</span>');
227
  }));
228
  };
 
 
 
 
229
 
230
  /**
231
  * Initialize UI
@@ -233,6 +237,7 @@
233
  $(document).ready(function () {
234
  aam = new AAM();
235
  aam.initialize();
 
236
  });
237
 
238
  })(jQuery);
226
  $(el).append('<span>' + $(el).data('readmore') + '</span>');
227
  }));
228
  };
229
+
230
+ AAM.prototype.isUI = function() {
231
+ return (typeof aamLocal.ui !== 'undefined');
232
+ };
233
 
234
  /**
235
  * Initialize UI
237
  $(document).ready(function () {
238
  aam = new AAM();
239
  aam.initialize();
240
+ $.aam = aam;
241
  });
242
 
243
  })(jQuery);
readme.txt CHANGED
@@ -10,7 +10,7 @@ Manage access to your website for any user, role or visitors for both frontend a
10
  == Description ==
11
 
12
  > Advanced Access Manager (aka AAM) is all you need to manage access to your website frontend and backend for any user, role or visitors.
13
- > Please note! Some features are limited or not included in the basic plugin installation. Upon activation go to the Extensions tab to learn more about free and premium extensions that are available for download.
14
 
15
  https://www.youtube.com/watch?v=yiOhjaacNJc
16
 
10
  == Description ==
11
 
12
  > Advanced Access Manager (aka AAM) is all you need to manage access to your website frontend and backend for any user, role or visitors.
13
+ > Please Note! Some features are limited or not included in the basic plugin installation. Upon activation go to the Extensions tab to learn more about free and premium extensions that are available for download.
14
 
15
  https://www.youtube.com/watch?v=yiOhjaacNJc
16