Advanced Access Manager - Version 6.0.5

Version Description

  • Fixed Bug: Refactored the license managements. Fixed bugs with license registration https://forum.aamplugin.com/d/356-unregistered-version-message
  • Fixed Bug: Some servers do not allow WP core string concatenation. This was causing 403 https://forum.aamplugin.com/d/389-message-loading-aam-ui-please-wait-403-forbidden
  • Fixed Bug: Media list on Posts & Terms tab is not rendered correctly due to improperly managed DB query for post type attachment
  • Fixed Bug: AAM core getOption method did not deserialized settings properly in some cases
  • Fixed Bug: Access Manager metabox was rendered for users that have ability to manage other users https://forum.aamplugin.com/d/371-you-are-not-allowed-to-manage-any-aam-subject
  • Fixed Bug: Logout redirect was no working properly https://forum.aamplugin.com/d/339-problem-with-login-shortcode-and-widget
  • Fixed Bug: The Drill-Down button was not working on Posts & Terms tab
  • Fixed Bug: Access policy Action "Create" was not converted at all for the PostType resource
  • Change: Simplified the first migration script by removing all error emissions. We captured enough migration logs to be confident about proper migration of the most critical settings
  • Change: Changed verbiage for the Enterprise Package on the Add-ons area
  • Change: Added info notification to the Posts & Terms tab for proper Media access controls
  • Change: Merge internal Settings service with Core service
  • Change: Added new migration script that fixed issues with legacy names for premium add-ons
  • Change: Added new internal AddOn manager class
  • New: Added the ability to check for new add-on updates from the Add-ons area
  • New: Published free AAM add-on AAM Protected Media Files https://wordpress.org/plugins/aam-protected-media-files/
Download this release

Release Info

Developer vasyltech
Plugin Icon 128x128 Advanced Access Manager
Version 6.0.5
Comparing to
See all releases

Code changes from version 6.0.4 to 6.0.5

aam.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Plugin Name: Advanced Access Manager
5
  * Description: Collection of features to manage your WordPress website authentication, authorization and monitoring
6
- * Version: 6.0.4
7
  * Author: Vasyl Martyniuk <vasyl@vasyltech.com>
8
  * Author URI: https://vasyltech.com
9
  * Text Domain: advanced-access-manager
@@ -264,7 +264,7 @@ if (defined('ABSPATH')) {
264
  //define few common constants
265
  define('AAM_MEDIA', plugins_url('/media', __FILE__));
266
  define('AAM_KEY', 'advanced-access-manager');
267
- define('AAM_VERSION', '6.0.4');
268
  define('AAM_BASEDIR', __DIR__);
269
 
270
  //load vendor
3
  /**
4
  * Plugin Name: Advanced Access Manager
5
  * Description: Collection of features to manage your WordPress website authentication, authorization and monitoring
6
+ * Version: 6.0.5
7
  * Author: Vasyl Martyniuk <vasyl@vasyltech.com>
8
  * Author URI: https://vasyltech.com
9
  * Text Domain: advanced-access-manager
264
  //define few common constants
265
  define('AAM_MEDIA', plugins_url('/media', __FILE__));
266
  define('AAM_KEY', 'advanced-access-manager');
267
+ define('AAM_VERSION', '6.0.5');
268
  define('AAM_BASEDIR', __DIR__);
269
 
270
  //load vendor
application/Addon/Repository.php CHANGED
@@ -5,15 +5,17 @@
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
- * @version 6.0.0
10
  */
11
 
12
  /**
13
  * Addon repository
14
  *
 
 
 
 
15
  * @package AAM
16
- * @version 6.0.0
17
  */
18
  class AAM_Addon_Repository
19
  {
@@ -45,16 +47,30 @@ class AAM_Addon_Repository
45
  /**
46
  * Get license registry
47
  *
 
 
48
  * @return array
49
  *
 
 
 
50
  * @access public
51
- * @version 6.0.0
52
  */
53
- public function getRegistry()
54
  {
 
55
  $registry = AAM_Core_API::getOption(self::DB_OPTION, array(), 'site');
56
 
57
- return (is_array($registry) ? $registry : array());
 
 
 
 
 
 
 
 
58
  }
59
 
60
  /**
@@ -76,21 +92,21 @@ class AAM_Addon_Repository
76
  * @param object $package
77
  * @param string $license
78
  *
79
- * @return void
80
  *
81
  * @access public
82
- * @version 6.0.0
83
  */
84
- public function storeLicense($package, $license)
85
  {
86
  $list = $this->getRegistry();
87
 
88
- $list[$package->id] = array(
89
- 'license' => $license, 'expire' => $package->expire
90
  );
91
 
92
  // Update the registry
93
- AAM_Core_API::updateOption(self::DB_OPTION, $list);
94
  }
95
 
96
  /**
@@ -146,8 +162,11 @@ class AAM_Addon_Repository
146
  *
147
  * @return array
148
  *
 
 
 
149
  * @access protected
150
- * @version 6.0.0
151
  */
152
  protected function buildAddonObject($title, $slug, $description)
153
  {
@@ -156,6 +175,7 @@ class AAM_Addon_Repository
156
  'version' => $this->getPluginVersion("aam-{$slug}/bootstrap.php"),
157
  'isActive' => $this->isPluginActive("aam-{$slug}/bootstrap.php"),
158
  'expires' => $this->getExpirationDate("aam-{$slug}"),
 
159
  'license' => $this->getPluginLicense("aam-{$slug}"),
160
  'type' => 'commercial',
161
  'description' => $description,
@@ -163,6 +183,28 @@ class AAM_Addon_Repository
163
  );
164
  }
165
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  /**
167
  * Get plugin version
168
  *
@@ -234,14 +276,17 @@ class AAM_Addon_Repository
234
  *
235
  * @return string|null
236
  *
 
 
 
237
  * @access protected
238
- * @version 6.0.0
239
  */
240
  protected function getExpirationDate($plugin)
241
  {
242
  $registry = $this->getRegistry();
243
 
244
- return (isset($registry[$plugin]) ? $registry[$plugin]['expires'] : null);
245
  }
246
 
247
  /**
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
  * Addon repository
12
  *
13
+ * @since 6.0.5 Refactored the license managements. Fixed couple bugs with license
14
+ * information displaying
15
+ * @since 6.0.0 Initial implementation of the class
16
+ *
17
  * @package AAM
18
+ * @version 6.0.5
19
  */
20
  class AAM_Addon_Repository
21
  {
47
  /**
48
  * Get license registry
49
  *
50
+ * @param boolean $license_only
51
+ *
52
  * @return array
53
  *
54
+ * @since 6.0.5 Added the $license_only argument
55
+ * @since 6.0.0 Initial implementation of the method
56
+ *
57
  * @access public
58
+ * @version 6.0.5
59
  */
60
+ public function getRegistry($license_only = false)
61
  {
62
+ $response = array();
63
  $registry = AAM_Core_API::getOption(self::DB_OPTION, array(), 'site');
64
 
65
+ if ($license_only === true) {
66
+ foreach($registry as $slug => $data) {
67
+ $response[$slug] = $data['license'];
68
+ }
69
+ } else {
70
+ $response = $registry;
71
+ }
72
+
73
+ return (is_array($response) ? $response : array());
74
  }
75
 
76
  /**
92
  * @param object $package
93
  * @param string $license
94
  *
95
+ * @return boolean
96
  *
97
  * @access public
98
+ * @version 6.0.5
99
  */
100
+ public function registerLicense($package, $license)
101
  {
102
  $list = $this->getRegistry();
103
 
104
+ $list[$package['slug']] = array(
105
+ 'license' => $license, 'expire' => $package['expire']
106
  );
107
 
108
  // Update the registry
109
+ return AAM_Core_API::updateOption(self::DB_OPTION, $list);
110
  }
111
 
112
  /**
162
  *
163
  * @return array
164
  *
165
+ * @since 6.0.5 Added new `hasUpdate` flag
166
+ * @since 6.0.0 Initial implementation of the method
167
+ *
168
  * @access protected
169
+ * @version 6.0.5
170
  */
171
  protected function buildAddonObject($title, $slug, $description)
172
  {
175
  'version' => $this->getPluginVersion("aam-{$slug}/bootstrap.php"),
176
  'isActive' => $this->isPluginActive("aam-{$slug}/bootstrap.php"),
177
  'expires' => $this->getExpirationDate("aam-{$slug}"),
178
+ 'hasUpdate' => $this->hasPluginUpdate("aam-{$slug}/bootstrap.php"),
179
  'license' => $this->getPluginLicense("aam-{$slug}"),
180
  'type' => 'commercial',
181
  'description' => $description,
183
  );
184
  }
185
 
186
+ /**
187
+ * Check if plugin has new version available
188
+ *
189
+ * @param string $id
190
+ *
191
+ * @return boolean
192
+ *
193
+ * @access protected
194
+ * @version 6.0.5
195
+ */
196
+ protected function hasPluginUpdate($id)
197
+ {
198
+ $has_update = false;
199
+ $plugins = get_site_transient('update_plugins');
200
+
201
+ if (isset($plugins->response) && is_array($plugins->response)) {
202
+ $has_update = array_key_exists($id, $plugins->response);
203
+ }
204
+
205
+ return $has_update;
206
+ }
207
+
208
  /**
209
  * Get plugin version
210
  *
276
  *
277
  * @return string|null
278
  *
279
+ * @since 6.0.5 Fixed typo in the property name
280
+ * @since 6.0.0 Initial implementation of the method
281
+ *
282
  * @access protected
283
+ * @version 6.0.5
284
  */
285
  protected function getExpirationDate($plugin)
286
  {
287
  $registry = $this->getRegistry();
288
 
289
+ return (isset($registry[$plugin]) ? $registry[$plugin]['expire'] : null);
290
  }
291
 
292
  /**
application/Backend/Feature/Addons/Manager.php ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ * Add-on manager
12
+ *
13
+ * @package AAM
14
+ * @version 6.0.5
15
+ */
16
+ class AAM_Backend_Feature_Addons_Manager extends AAM_Backend_Feature_Abstract
17
+ {
18
+
19
+ use AAM_Core_Contract_RequestTrait;
20
+
21
+ /**
22
+ * Default access capability to the Add-ons area
23
+ *
24
+ * @version 6.0.5
25
+ */
26
+ const ACCESS_CAPABILITY = 'aam_manage_addons';
27
+
28
+ /**
29
+ * Register AAM license
30
+ *
31
+ * @return string
32
+ *
33
+ * @access public
34
+ * @version 6.0.5
35
+ */
36
+ public function registerLicense()
37
+ {
38
+ $license = $this->getFromPost('license');
39
+ $slug = $this->getFromPost('slug');
40
+ $expire = $this->getFromPost('expire');
41
+
42
+ $result = AAM_Addon_Repository::getInstance()->registerLicense(
43
+ array('slug' => $slug, 'expire' => $expire), $license
44
+ );
45
+
46
+ return wp_json_encode(array('status' => ($result ? 'success' : 'failure')));
47
+ }
48
+
49
+ /**
50
+ * Get internal registry of add-ons
51
+ *
52
+ * This is used to manually check for the updates on the Add-Ons area
53
+ *
54
+ * @return string
55
+ *
56
+ * @access public
57
+ * @version 6.0.5
58
+ */
59
+ public function getRegistry()
60
+ {
61
+ return wp_json_encode(
62
+ AAM_Addon_Repository::getInstance()->getRegistry(true)
63
+ );
64
+ }
65
+
66
+ /**
67
+ * Update site option about plugin's status
68
+ *
69
+ * @return string
70
+ *
71
+ * @access public
72
+ * @version 6.0.5
73
+ */
74
+ public function checkForPluginUpdates()
75
+ {
76
+ $current = get_site_transient('update_plugins');
77
+ $payload = json_decode($this->getFromPost('payload'));
78
+
79
+ foreach($payload->products as $data) {
80
+ if (isset($current->checked)
81
+ && array_key_exists($data->plugin, $current->checked)) {
82
+ $current_v = $current->checked[$data->plugin];
83
+
84
+ if (version_compare($current_v, $data->new_version) === -1) {
85
+ $current->response[$data->plugin] = $data;
86
+ unset($current->no_update[$data->plugin]);
87
+ }
88
+ }
89
+ }
90
+
91
+ set_site_transient('update_plugins', $current);
92
+
93
+ return wp_json_encode(array('status' => 'success'));
94
+ }
95
+
96
+ /**
97
+ * Register add-ons UI manager
98
+ *
99
+ * @return void
100
+ *
101
+ * @access public
102
+ * @version 6.0.5
103
+ */
104
+ public static function register()
105
+ {
106
+ AAM_Backend_Feature::registerFeature((object) array(
107
+ 'capability' => self::ACCESS_CAPABILITY,
108
+ 'type' => 'core',
109
+ 'view' => __CLASS__
110
+ ));
111
+ }
112
+
113
+ }
application/Backend/Feature/Main/Post.php CHANGED
@@ -5,15 +5,16 @@
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
- * @version 6.0.0
10
  */
11
 
12
  /**
13
  * Backend posts & terms service UI
14
  *
 
 
 
15
  * @package AAM
16
- * @version 6.0.0
17
  */
18
  class AAM_Backend_Feature_Main_Post
19
  extends AAM_Backend_Feature_Abstract implements AAM_Backend_Feature_ISubjectAware
@@ -913,23 +914,38 @@ class AAM_Backend_Feature_Main_Post
913
  *
914
  * @return int
915
  *
 
 
 
 
916
  * @access protected
917
- * @global type $wpdb
918
- * @version 6.0.0
919
  */
920
- protected function getPostCount($type, $search)
921
  {
922
  global $wpdb;
923
 
924
  $query = "SELECT COUNT(*) AS total FROM {$wpdb->posts} ";
925
- $query .= "WHERE (post_type = %s) AND (post_title LIKE %s || ";
926
- $query .= "post_excerpt LIKE %s || post_content LIKE %s)";
927
 
928
- $args = array($type, "%{$search}%", "%{$search}%", "%{$search}%");
 
 
 
 
 
 
929
 
930
- foreach (get_post_stati(array('show_in_admin_all_list' => false)) as $status) {
931
- $query .= " AND ({$wpdb->posts}.post_status <> %s)";
932
- $args[] = $status;
 
 
 
 
 
 
933
  }
934
 
935
  return $wpdb->get_var($wpdb->prepare($query, $args));
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
  * Backend posts & terms service UI
12
  *
13
+ * @since 6.0.3 Allowed to manage access to ALL registered post types
14
+ * @since 6.0.0 Initial implementation of the class
15
+ *
16
  * @package AAM
17
+ * @version 6.0.3
18
  */
19
  class AAM_Backend_Feature_Main_Post
20
  extends AAM_Backend_Feature_Abstract implements AAM_Backend_Feature_ISubjectAware
914
  *
915
  * @return int
916
  *
917
+ * @since 6.0.5 Fixed the bug with Media list not showing correctly due to
918
+ * improperly managed DB query for post type `attachment`
919
+ * @since 6.0.0 Initial implementation of the method
920
+ *
921
  * @access protected
922
+ * @global WPDB $wpdb
923
+ * @version 6.0.5
924
  */
925
+ protected function getPostCount($type, $search = null)
926
  {
927
  global $wpdb;
928
 
929
  $query = "SELECT COUNT(*) AS total FROM {$wpdb->posts} ";
930
+ $query .= 'WHERE (post_type = %s)';
 
931
 
932
+ if (!empty($search)) {
933
+ $query .= ' AND (post_title LIKE %s || ';
934
+ $query .= "post_excerpt LIKE %s || post_content LIKE %s)";
935
+ $args = array($type, "%{$search}%", "%{$search}%", "%{$search}%");
936
+ } else {
937
+ $args = array($type);
938
+ }
939
 
940
+ if ($type === 'attachment') {
941
+ $query .= " AND ({$wpdb->posts}.post_status = %s)";
942
+ $args[] = 'inherit';
943
+ } else {
944
+ $statuses = get_post_stati(array('show_in_admin_all_list' => false));
945
+ foreach ($statuses as $status) {
946
+ $query .= " AND ({$wpdb->posts}.post_status <> %s)";
947
+ $args[] = $status;
948
+ }
949
  }
950
 
951
  return $wpdb->get_var($wpdb->prepare($query, $args));
application/Backend/View.php CHANGED
@@ -5,8 +5,6 @@
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
- * @version 6.0.0
10
  */
11
 
12
  /**
@@ -15,6 +13,9 @@
15
  * This class is used to manage all AAM UI templates and interaction of the UI with
16
  * AAM backend core
17
  *
 
 
 
18
  * @package AAM
19
  * @version 6.0.0
20
  */
@@ -92,42 +93,6 @@ class AAM_Backend_View
92
  return $content;
93
  }
94
 
95
- /**
96
- * Prepare AAM iFrame WordPress assets URL
97
- *
98
- * Based on the provided $type, return either JS or CSS URL
99
- *
100
- * @param string $type
101
- *
102
- * @return string
103
- *
104
- * @access protected
105
- * @version 6.0.0
106
- */
107
- protected static function prepareIframeWPAssetsURL($type)
108
- {
109
- global $wp_scripts, $compress_scripts, $compress_css;
110
-
111
- if ($type === 'js') {
112
- $zip = $compress_scripts ? 1 : 0;
113
- $script = 'load-scripts.php';
114
- $concat = 'jquery-core,jquery-migrate';
115
- } else {
116
- $zip = $compress_css ? 1 : 0;
117
- $script = 'load-styles.php';
118
- $concat = 'wp-edit-post,common';
119
- }
120
-
121
- if ($zip && defined('ENFORCE_GZIP') && ENFORCE_GZIP) {
122
- $zip = 'gzip';
123
- }
124
-
125
- $src = $wp_scripts->base_url . "/wp-admin/{$script}?c={$zip}&";
126
- $src .= "load%5B%5D={$concat}&ver=" . $wp_scripts->default_version;
127
-
128
- return esc_attr($src);
129
- }
130
-
131
  /**
132
  * Process the ajax call
133
  *
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
  /**
13
  * This class is used to manage all AAM UI templates and interaction of the UI with
14
  * AAM backend core
15
  *
16
+ * @since 6.0.5 Removed prepareIframeWPAssetsURL method
17
+ * @since 6.0.0 Initial implementation of the class
18
+ *
19
  * @package AAM
20
  * @version 6.0.0
21
  */
93
  return $content;
94
  }
95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  /**
97
  * Process the ajax call
98
  *
application/Backend/tmpl/metabox/iframe-footer.php CHANGED
@@ -1,7 +1,17 @@
1
- <?php /** @version 6.0.0 */ ?>
 
 
 
 
 
 
 
 
2
 
3
  <?php if (defined('AAM_KEY')) { ?>
4
- <script type="text/javascript" src="<?php echo static::prepareIframeWPAssetsURL('js'); ?>"></script>
 
 
5
  <?php do_action('aam_iframe_footer_action'); ?>
6
  </body>
7
  </html>
1
+ <?php
2
+ /**
3
+ * @since 6.0.5 Changed the way core libraries are loaded to avoid issue with
4
+ * concatenated scripts with PHP
5
+ * @since 6.0.0 Initial implementation of the template
6
+ *
7
+ * @version 6.0.5
8
+ * */
9
+ ?>
10
 
11
  <?php if (defined('AAM_KEY')) { ?>
12
+ <?php global $wp_scripts; ?>
13
+
14
+ <?php $wp_scripts->do_items(array('jquery-core', 'jquery-migrate')); ?>
15
  <?php do_action('aam_iframe_footer_action'); ?>
16
  </body>
17
  </html>
application/Backend/tmpl/metabox/iframe-header.php CHANGED
@@ -1,4 +1,12 @@
1
- <?php /** @version 6.0.0 */ ?>
 
 
 
 
 
 
 
 
2
 
3
  <?php if (defined('AAM_KEY')) { ?>
4
  <!DOCTYPE html>
@@ -11,7 +19,9 @@
11
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
12
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
13
 
14
- <link rel="stylesheet" href="<?php echo static::prepareIframeWPAssetsURL('css'); ?>" type="text/css" media="all" />
 
 
15
  <link rel="stylesheet" href="<?php echo AAM_MEDIA; ?>/css/vendor.min.css" type="text/css" media="all" />
16
  <link rel="stylesheet" href="<?php echo AAM_MEDIA; ?>/css/aam.css" type="text/css" media="all" />
17
 
1
+ <?php
2
+ /**
3
+ * @since 6.0.5 Changed the way core libraries are loaded to avoid issue with
4
+ * concatenated styles with PHP
5
+ * @since 6.0.0 Initial implementation of the template
6
+ *
7
+ * @version 6.0.5
8
+ * */
9
+ ?>
10
 
11
  <?php if (defined('AAM_KEY')) { ?>
12
  <!DOCTYPE html>
19
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
20
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
21
 
22
+ <?php global $wp_styles; ?>
23
+
24
+ <?php $wp_styles->do_item('common'); ?>
25
  <link rel="stylesheet" href="<?php echo AAM_MEDIA; ?>/css/vendor.min.css" type="text/css" media="all" />
26
  <link rel="stylesheet" href="<?php echo AAM_MEDIA; ?>/css/aam.css" type="text/css" media="all" />
27
 
application/Backend/tmpl/metabox/main-iframe.php CHANGED
@@ -107,7 +107,7 @@
107
  <div class="postbox">
108
  <div class="inside">
109
  <div class="aam-postbox-inside text-center">
110
- <p class="alert alert-info text-larger highlighted-italic"><?php echo AAM_Backend_View_Helper::preparePhrase('With the [Enterprise Package] get our dedicated support channel and all the premium add-ons for [50+ live websites]', 'i', 'b'); ?></p>
111
  <a href="https://aamplugin.com/pricing/enterprise-package" target="_blank" class="btn btn-sm btn-primary btn-block"><i class="icon-link"></i> <?php echo __('Read More', AAM_KEY); ?></a>
112
  </div>
113
  </div>
107
  <div class="postbox">
108
  <div class="inside">
109
  <div class="aam-postbox-inside text-center">
110
+ <p class="alert alert-info text-larger highlighted-italic"><?php echo AAM_Backend_View_Helper::preparePhrase('With the [Enterprise Package] get dedicated support channel and all the premium add-ons for a [bulk number of live websites]', 'i', 'b'); ?></p>
111
  <a href="https://aamplugin.com/pricing/enterprise-package" target="_blank" class="btn btn-sm btn-primary btn-block"><i class="icon-link"></i> <?php echo __('Read More', AAM_KEY); ?></a>
112
  </div>
113
  </div>
application/Backend/tmpl/page/addon-panel.php CHANGED
@@ -1,4 +1,11 @@
1
- <?php /** @version 6.0.0 */ ?>
 
 
 
 
 
 
 
2
 
3
  <?php if (defined('AAM_KEY')) { ?>
4
  <div id="extension-content" class="extension-container">
@@ -22,11 +29,12 @@
22
  </div>
23
  </div>
24
 
25
- <?php $commercial = AAM_Addon_Repository::getInstance()->getList('commercial'); ?>
26
 
27
- <div>
28
  <ul class="nav nav-tabs" role="tablist">
29
  <?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 } ?>
 
30
  </ul>
31
 
32
  <div class="tab-content">
@@ -38,7 +46,7 @@
38
  <td width="80%">
39
  <span class='aam-setting-title'><?php echo $product['title'], (!empty($product['tag']) ? '<sup><span class="badge sup">' . $product['tag'] . '</span></sup>' : ''), (!empty($product['version']) ? ' <small class="text-muted">' . $product['version'] . '</small>' : ''); ?></span>
40
  <?php if (!empty($product['license'])) { ?>
41
- <small class="aam-license-key"><b><?php echo __('License', AAM_KEY); ?>:</b> <a href="https://aamplugin.com/license/<?php echo $product['license']; ?>" target="_blank"><?php echo $product['license']; ?></a> <?php echo (!empty($product['expire']) ? sprintf('(expire on %s)', $product['expire']) : ''); ?></small>
42
  <?php } elseif (!empty($product['version'])) { ?>
43
  <small class="aam-license-key"><b><?php echo __('License', AAM_KEY); ?>:</b> <span class="text-danger"><?php echo __('unregistered version', AAM_KEY); ?></span></small>
44
  <?php } ?>
@@ -47,10 +55,12 @@
47
  </p>
48
  </td>
49
  <td class="text-center">
50
- <?php if (!empty($product['isActive'])) { ?>
 
 
51
  <a href="#" class="btn btn-sm btn-success btn-block disabled"><i class="icon-check"></i> <?php echo __('Active', AAM_KEY); ?></a>
52
  <?php } elseif (!empty($product['version'])) { ?>
53
- <a href="#" class="btn btn-sm btn-warning btn-block disabled"><i class="icon-attention-circled"></i> <?php echo __('Inactive', AAM_KEY); ?></a>
54
  <?php } else { ?>
55
  <a href="<?php echo $product['url']; ?>" target="_blank" class="btn btn-sm btn-primary btn-block"><i class="icon-link"></i> <?php echo __('Read More', AAM_KEY); ?></a>
56
  <?php } ?>
1
+ <?php
2
+ /**
3
+ * @since 6.0.5 Fixed typo in the license expiration property. Enriched plugin' status display
4
+ * @since 6.0.0 Initial implementation of the template
5
+ *
6
+ * @version 6.0.5
7
+ * */
8
+ ?>
9
 
10
  <?php if (defined('AAM_KEY')) { ?>
11
  <div id="extension-content" class="extension-container">
29
  </div>
30
  </div>
31
 
32
+ <?php $commercial = AAM_Addon_Repository::getInstance()->getList(); ?>
33
 
34
+ <div class="aam-outer-top-xs">
35
  <ul class="nav nav-tabs" role="tablist">
36
  <?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 } ?>
37
+ <li class="margin-right aam-update-check"><a href="#" id="check-for-updates"><i class='icon-arrows-cw'></i> <?php echo __('Check For Updates', AAM_KEY); ?></a></li>
38
  </ul>
39
 
40
  <div class="tab-content">
46
  <td width="80%">
47
  <span class='aam-setting-title'><?php echo $product['title'], (!empty($product['tag']) ? '<sup><span class="badge sup">' . $product['tag'] . '</span></sup>' : ''), (!empty($product['version']) ? ' <small class="text-muted">' . $product['version'] . '</small>' : ''); ?></span>
48
  <?php if (!empty($product['license'])) { ?>
49
+ <small class="aam-license-key"><b><?php echo __('License', AAM_KEY); ?>:</b> <a href="https://aamplugin.com/license/<?php echo $product['license']; ?>" target="_blank"><?php echo $product['license']; ?></a> <?php echo (!empty($product['expires']) ? sprintf('(expires on %s)', $product['expires']) : ''); ?></small>
50
  <?php } elseif (!empty($product['version'])) { ?>
51
  <small class="aam-license-key"><b><?php echo __('License', AAM_KEY); ?>:</b> <span class="text-danger"><?php echo __('unregistered version', AAM_KEY); ?></span></small>
52
  <?php } ?>
55
  </p>
56
  </td>
57
  <td class="text-center">
58
+ <?php if (!empty($product['hasUpdate'])) { ?>
59
+ <a href="#" class="btn btn-sm btn-warning btn-block disabled"><i class="icon-attention-circled"></i> <?php echo __('Update Available', AAM_KEY); ?></a>
60
+ <?php } elseif (!empty($product['isActive'])) { ?>
61
  <a href="#" class="btn btn-sm btn-success btn-block disabled"><i class="icon-check"></i> <?php echo __('Active', AAM_KEY); ?></a>
62
  <?php } elseif (!empty($product['version'])) { ?>
63
+ <a href="#" class="btn btn-sm btn-default btn-block disabled"><i class="icon-info-circled"></i> <?php echo __('Inactive', AAM_KEY); ?></a>
64
  <?php } else { ?>
65
  <a href="<?php echo $product['url']; ?>" target="_blank" class="btn btn-sm btn-primary btn-block"><i class="icon-link"></i> <?php echo __('Read More', AAM_KEY); ?></a>
66
  <?php } ?>
application/Backend/tmpl/partial/post-access-form.php CHANGED
@@ -9,6 +9,12 @@
9
  <input type="hidden" value="<?php echo $params->type; ?>" id="content-object-type" />
10
  <input type="hidden" value="<?php echo $params->id; ?>" id="content-object-id" />
11
 
 
 
 
 
 
 
12
  <table class="table table-striped table-bordered">
13
  <tbody>
14
  <?php foreach ($params->options as $option => $data) { ?>
9
  <input type="hidden" value="<?php echo $params->type; ?>" id="content-object-type" />
10
  <input type="hidden" value="<?php echo $params->id; ?>" id="content-object-id" />
11
 
12
+ <?php if ($params->object->post_type === 'attachment') { ?>
13
+ <div class="alert alert-warning aam-outer-bottom-xxs">
14
+ <?php echo sprintf(__('To fully protect your media library files, please refer to the %sHow to manage access to WordPress media library%s article.', AAM_KEY), '<a href="https://aamplugin.com/article/how-to-manage-access-to-the-wordpress-media-library" target="_blank">', '</a>'); ?>
15
+ </div>
16
+ <?php } ?>
17
+
18
  <table class="table table-striped table-bordered">
19
  <tbody>
20
  <?php foreach ($params->options as $option => $data) { ?>
application/Core/API.php CHANGED
@@ -12,8 +12,12 @@
12
  /**
13
  * AAM core API
14
  *
 
 
 
 
15
  * @package AAM
16
- * @version 6.0.0
17
  */
18
  final class AAM_Core_API
19
  {
@@ -27,8 +31,11 @@ final class AAM_Core_API
27
  *
28
  * @return mixed
29
  *
 
 
 
30
  * @access public
31
- * @version 6.0.0
32
  */
33
  public static function getOption($option, $default = null, $blog_id = null)
34
  {
@@ -47,7 +54,7 @@ final class AAM_Core_API
47
  $response = self::getCachedOption($option, $default);
48
  }
49
 
50
- return $response;
51
  }
52
 
53
  /**
12
  /**
13
  * AAM core API
14
  *
15
+ * @since 6.0.5 Fixed bug with getOption method where incorrect type could be
16
+ * returned
17
+ * @since 6.0.0 Initial implementation of the class
18
+ *
19
  * @package AAM
20
+ * @version 6.0.5
21
  */
22
  final class AAM_Core_API
23
  {
31
  *
32
  * @return mixed
33
  *
34
+ * @since 6.0.5 Fixed the bug where option may not be returned as proper type
35
+ * @since 6.0.0 Initial implementation of the method
36
+ *
37
  * @access public
38
+ * @version 6.0.5
39
  */
40
  public static function getOption($option, $default = null, $blog_id = null)
41
  {
54
  $response = self::getCachedOption($option, $default);
55
  }
56
 
57
+ return maybe_unserialize($response);
58
  }
59
 
60
  /**
application/Core/Object.php CHANGED
@@ -5,15 +5,16 @@
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
- * @version 6.0.0
10
  */
11
 
12
  /**
13
  * Abstract object class
14
  *
 
 
 
15
  * @package AAM
16
- * @version 6.0.0
17
  */
18
  abstract class AAM_Core_Object
19
  {
@@ -329,12 +330,15 @@ abstract class AAM_Core_Object
329
  *
330
  * @return boolean
331
  *
 
 
 
332
  * @access public
333
- * @version 6.0.0
334
  */
335
  public function isExplicit($property)
336
  {
337
- $option = $this->_explicitOption;
338
  $explicit = true;
339
 
340
  $chunks = explode('.', $property);
@@ -352,6 +356,19 @@ abstract class AAM_Core_Object
352
  return $explicit;
353
  }
354
 
 
 
 
 
 
 
 
 
 
 
 
 
 
355
  /**
356
  * Check if options are overwritten
357
  *
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
  * Abstract object class
12
  *
13
+ * @since 6.0.5 Added `getExplicitOption` method
14
+ * @since 6.0.0 Initial implementation of the class
15
+ *
16
  * @package AAM
17
+ * @version 6.0.5
18
  */
19
  abstract class AAM_Core_Object
20
  {
330
  *
331
  * @return boolean
332
  *
333
+ * @since 6.0.5 Changed the way explicit option is fetched
334
+ * @since 6.0.0 Initial implementation of the method
335
+ *
336
  * @access public
337
+ * @version 6.0.5
338
  */
339
  public function isExplicit($property)
340
  {
341
+ $option = $this->getExplicitOption();
342
  $explicit = true;
343
 
344
  $chunks = explode('.', $property);
356
  return $explicit;
357
  }
358
 
359
+ /**
360
+ * Get explicit option
361
+ *
362
+ * @return array
363
+ *
364
+ * @access public
365
+ * @version 6.0.5
366
+ */
367
+ public function getExplicitOption()
368
+ {
369
+ return $this->_explicitOption;
370
+ }
371
+
372
  /**
373
  * Check if options are overwritten
374
  *
application/Core/Redirect.php CHANGED
@@ -5,18 +5,21 @@
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
- * @version 6.0.0
10
  */
11
 
12
  /**
13
  * Core AAM redirect handler
14
  *
 
 
 
 
15
  * @package AAM
16
- * @version 6.0.0
17
  */
18
  class AAM_Core_Redirect
19
  {
 
20
  /**
21
  * Collection of redirect types
22
  *
@@ -122,16 +125,19 @@ class AAM_Core_Redirect
122
  *
123
  * @return void
124
  *
 
 
 
 
125
  * @access public
126
- * @version 6.0.0
127
  */
128
  public static function doUrlRedirect($meta)
129
  {
130
- $current = AAM_Core_Request::server('REQUEST_URI');
131
- $dest = isset($meta['url']) ? $meta['url'] : null;
132
- $code = isset($meta['code']) ? $meta['code'] : null;
133
 
134
- if (stripos($dest, $current) === false) {
135
  wp_safe_redirect($dest, $code);
136
  }
137
  }
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
  * Core AAM redirect handler
12
  *
13
+ * @since 6.0.5 Fixed bug where URL redirect was incorrectly validating destination
14
+ * URL
15
+ * @since 6.0.0 Initial implementation of the class
16
+ *
17
  * @package AAM
18
+ * @version 6.0.5
19
  */
20
  class AAM_Core_Redirect
21
  {
22
+
23
  /**
24
  * Collection of redirect types
25
  *
125
  *
126
  * @return void
127
  *
128
+ * @since 6.0.5 Fixed bug where destination URL was not properly checked against
129
+ * current page URI
130
+ * @since 6.0.0 Initial implementation of the method
131
+ *
132
  * @access public
133
+ * @version 6.0.5
134
  */
135
  public static function doUrlRedirect($meta)
136
  {
137
+ $dest = isset($meta['url']) ? $meta['url'] : null;
138
+ $code = isset($meta['code']) ? $meta['code'] : null;
 
139
 
140
+ if ($dest !== AAM_Core_Request::server('REQUEST_URI')) {
141
  wp_safe_redirect($dest, $code);
142
  }
143
  }
application/Migration/2019_06_30-base.php CHANGED
@@ -28,6 +28,7 @@ use WP_Error,
28
  *
29
  * The main purpose for this class is to eliminate AAM_Core_Compatibility
30
  *
 
31
  * @since 6.0.2 Bug fixing
32
  * @since 6.0.1 Slightly refactored the way errors are collected during the migration
33
  * execution. Fixed fatal error when incorrectly defined "Expire" post
@@ -35,7 +36,7 @@ use WP_Error,
35
  * @since 6.0.0 Initial implementation of the class
36
  *
37
  * @package AAM
38
- * @version 6.0.2
39
  */
40
  class Migration600 implements AAM_Core_Contract_MigrationInterface
41
  {
@@ -266,13 +267,13 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
266
  *
267
  * @return void
268
  *
269
- * @link https://forum.aamplugin.com/d/369-notice-undefined-offset-1-service-content-php-on-line-509
270
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
271
  * of returning them. Fixed bug with incorrectly set post ID.
272
  * @since 6.0.0 Initialize implementation of the method
273
  *
274
  * @access protected
275
- * @version 6.0.1
276
  */
277
  protected function processPostmeta($options)
278
  {
@@ -295,12 +296,6 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
295
 
296
  if (!is_null($xpath)) {
297
  AAM_Core_AccessSettings::getInstance()->set($xpath, $value);
298
- } else {
299
- $this->errors[] = new WP_Error(
300
- 'migration_error',
301
- sprintf('Failed to convert post "%d" options', $option->post_id),
302
- $option
303
- );
304
  }
305
  }
306
  }
@@ -312,13 +307,14 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
312
  *
313
  * @return void
314
  *
 
315
  * @since 6.0.2 Added list of known options that should be ignored
316
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
317
  * of returning them. Skipping wp_aam_capability option
318
  * @since 6.0.0 Initialize implementation of the method
319
  *
320
  * @access protected
321
- * @version 6.0.1
322
  */
323
  protected function processUsermeta($options)
324
  {
@@ -360,22 +356,10 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
360
  }
361
 
362
  AAM_Core_AccessSettings::getInstance()->set($xpath, $options);
363
- } elseif (!in_array($match[1], array('capability'), true)) {
364
- $this->errors[] = new WP_Error(
365
- 'migration_error',
366
- sprintf('Unrecognized object type "%s"', $match[1]),
367
- $option
368
- );
369
  }
370
  }elseif (in_array($option->meta_key, $ignored, true)) {
371
  // Just delete it. AAM v5 JWT tokens are no longer valid due to the
372
  // new way to calculate exp property
373
- } else {
374
- $this->errors[] = new WP_Error(
375
- 'migration_error',
376
- sprintf('Failed to parse access option %s', $option->meta_key),
377
- $option
378
- );
379
  }
380
  }
381
  }
@@ -385,13 +369,12 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
385
  *
386
  * @return void
387
  *
388
- * @link https://wordpress.org/support/topic/6-0-issues/
389
  * @since 6.0.1 Fixed the bug with `show_admin_bar` not converted to
390
  * `aam_show_toolbar`
391
  * @since 6.0.0 Initialize implementation of the method
392
  *
393
  * @access protected
394
- * @version 6.0.0
395
  */
396
  protected function convertCapabilities()
397
  {
@@ -431,22 +414,17 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
431
  *
432
  * @return void
433
  *
 
434
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
435
  * of returning them
436
  * @since 6.0.0 Initialize implementation of the method
437
  *
438
  * @access private
439
- * @version 6.0.1
440
  */
441
  private function _convertConfigPress($option)
442
  {
443
- $result = AAM_Core_ConfigPress::getInstance()->save($option->option_value);
444
-
445
- if ($result !== true) {
446
- $this->errors[] = new WP_Error(
447
- 'migration_error', 'Failed to convert ConfigPress settings', $option
448
- );
449
- }
450
  }
451
 
452
  /**
@@ -456,24 +434,19 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
456
  *
457
  * @return void
458
  *
 
459
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
460
  * of returning them
461
  * @since 6.0.0 Initialize implementation of the method
462
  *
463
  * @access private
464
- * @version 6.0.1
465
  */
466
  private function _convertExtensionRegistry($option)
467
  {
468
- $result = AAM_Core_API::updateOption(
469
  AAM_Addon_Repository::DB_OPTION, $option->option_value, 'site'
470
  );
471
-
472
- if ($result !== true) {
473
- $this->errors[] = new WP_Error(
474
- 'migration_error', 'Failed to convert Addon settings', $option
475
- );
476
- }
477
  }
478
 
479
  /**
@@ -483,6 +456,7 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
483
  *
484
  * @return void
485
  *
 
486
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
487
  * of returning them
488
  * @since 6.0.0 Initialize implementation of the method
@@ -514,8 +488,6 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
514
  )
515
  );
516
 
517
- $result = true;
518
-
519
  if (is_array($settings)) {
520
  $converted = array();
521
 
@@ -531,16 +503,10 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
531
  }
532
  }
533
 
534
- $result = AAM_Core_API::updateOption(
535
  AAM_Core_Config::DB_OPTION, $converted, 'site'
536
  );
537
  }
538
-
539
- if ($result !== true) {
540
- $this->errors[] = new WP_Error(
541
- 'migration_error', 'Failed to convert core settings', $option
542
- );
543
- }
544
  }
545
 
546
  /**
@@ -824,7 +790,7 @@ class Migration600 implements AAM_Core_Contract_MigrationInterface
824
  * @since 6.0.0 Initialize implementation of the method
825
  *
826
  * @access private
827
- * @version 6.0.1
828
  */
829
  private function _convertPostObject($options, $ns = '')
830
  {
28
  *
29
  * The main purpose for this class is to eliminate AAM_Core_Compatibility
30
  *
31
+ * @since 6.0.5 Keep improving migration process by excluding other legacy options
32
  * @since 6.0.2 Bug fixing
33
  * @since 6.0.1 Slightly refactored the way errors are collected during the migration
34
  * execution. Fixed fatal error when incorrectly defined "Expire" post
36
  * @since 6.0.0 Initial implementation of the class
37
  *
38
  * @package AAM
39
+ * @version 6.0.5
40
  */
41
  class Migration600 implements AAM_Core_Contract_MigrationInterface
42
  {
267
  *
268
  * @return void
269
  *
270
+ * @since 6.0.5 Removed error emission
271
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
272
  * of returning them. Fixed bug with incorrectly set post ID.
273
  * @since 6.0.0 Initialize implementation of the method
274
  *
275
  * @access protected
276
+ * @version 6.0.5
277
  */
278
  protected function processPostmeta($options)
279
  {
296
 
297
  if (!is_null($xpath)) {
298
  AAM_Core_AccessSettings::getInstance()->set($xpath, $value);
 
 
 
 
 
 
299
  }
300
  }
301
  }
307
  *
308
  * @return void
309
  *
310
+ * @since 6.0.5 Removed error emission
311
  * @since 6.0.2 Added list of known options that should be ignored
312
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
313
  * of returning them. Skipping wp_aam_capability option
314
  * @since 6.0.0 Initialize implementation of the method
315
  *
316
  * @access protected
317
+ * @version 6.0.5
318
  */
319
  protected function processUsermeta($options)
320
  {
356
  }
357
 
358
  AAM_Core_AccessSettings::getInstance()->set($xpath, $options);
 
 
 
 
 
 
359
  }
360
  }elseif (in_array($option->meta_key, $ignored, true)) {
361
  // Just delete it. AAM v5 JWT tokens are no longer valid due to the
362
  // new way to calculate exp property
 
 
 
 
 
 
363
  }
364
  }
365
  }
369
  *
370
  * @return void
371
  *
 
372
  * @since 6.0.1 Fixed the bug with `show_admin_bar` not converted to
373
  * `aam_show_toolbar`
374
  * @since 6.0.0 Initialize implementation of the method
375
  *
376
  * @access protected
377
+ * @version 6.0.1
378
  */
379
  protected function convertCapabilities()
380
  {
414
  *
415
  * @return void
416
  *
417
+ * @since 6.0.5 Removed error emission
418
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
419
  * of returning them
420
  * @since 6.0.0 Initialize implementation of the method
421
  *
422
  * @access private
423
+ * @version 6.0.5
424
  */
425
  private function _convertConfigPress($option)
426
  {
427
+ AAM_Core_ConfigPress::getInstance()->save($option->option_value);
 
 
 
 
 
 
428
  }
429
 
430
  /**
434
  *
435
  * @return void
436
  *
437
+ * @since 6.0.5 Removed error emission
438
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
439
  * of returning them
440
  * @since 6.0.0 Initialize implementation of the method
441
  *
442
  * @access private
443
+ * @version 6.0.5
444
  */
445
  private function _convertExtensionRegistry($option)
446
  {
447
+ AAM_Core_API::updateOption(
448
  AAM_Addon_Repository::DB_OPTION, $option->option_value, 'site'
449
  );
 
 
 
 
 
 
450
  }
451
 
452
  /**
456
  *
457
  * @return void
458
  *
459
+ * @since 6.0.5 Removed error emission
460
  * @since 6.0.1 Any errors are pushed directly to the $this->errors array instead
461
  * of returning them
462
  * @since 6.0.0 Initialize implementation of the method
488
  )
489
  );
490
 
 
 
491
  if (is_array($settings)) {
492
  $converted = array();
493
 
503
  }
504
  }
505
 
506
+ AAM_Core_API::updateOption(
507
  AAM_Core_Config::DB_OPTION, $converted, 'site'
508
  );
509
  }
 
 
 
 
 
 
510
  }
511
 
512
  /**
790
  * @since 6.0.0 Initialize implementation of the method
791
  *
792
  * @access private
793
+ * @version 6.0.2
794
  */
795
  private function _convertPostObject($options, $ns = '')
796
  {
application/Migration/2019_12_01-base.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ namespace AAM\Migration;
11
+
12
+ use AAM_Core_API,
13
+ AAM_Core_Migration,
14
+ AAM_Addon_Repository,
15
+ AAM_Core_Contract_MigrationInterface;
16
+
17
+ /**
18
+ * This migration class that converts add-ons registry
19
+ *
20
+ * @package AAM
21
+ * @version 6.0.5
22
+ */
23
+ class Migration610 implements AAM_Core_Contract_MigrationInterface
24
+ {
25
+
26
+ /**
27
+ * @inheritdoc
28
+ *
29
+ * @version 6.0.5
30
+ */
31
+ public function run()
32
+ {
33
+ // Reset failure log
34
+ AAM_Core_Migration::resetFailureLog();
35
+
36
+ $list = AAM_Core_API::getOption(
37
+ AAM_Addon_Repository::DB_OPTION, array(), 'site'
38
+ );
39
+
40
+ if (is_array($list)) {
41
+ $converted = array();
42
+
43
+ foreach($list as $slug => $data) {
44
+ if (stripos($slug, 'plus') !== false) {
45
+ $converted['aam-plus-package'] = $data;
46
+ } elseif (stripos($slug, 'hierarchy') !== false) {
47
+ $converted['aam-role-hierarchy'] = $data;
48
+ } elseif (stripos($slug, 'check') !== false) {
49
+ $converted['aam-ip-check'] = $data;
50
+ } elseif (stripos($slug, 'complete') !== false) {
51
+ $converted['aam-complete-package'] = $data;
52
+ } elseif (stripos($slug, 'commerce') !== false) {
53
+ $converted['aam-ecommerce'] = $data;
54
+ }
55
+ }
56
+
57
+ AAM_Core_API::updateOption(
58
+ AAM_Addon_Repository::DB_OPTION, $converted, 'site'
59
+ );
60
+ }
61
+
62
+ // Finally store this script as completed
63
+ AAM_Core_Migration::storeCompletedScript(basename(__FILE__));
64
+
65
+ return array('errors' => array());
66
+ }
67
+
68
+ }
69
+
70
+ if (defined('AAM_KEY')) {
71
+ return (new Migration610())->run();
72
+ }
application/Service/Core.php CHANGED
@@ -10,11 +10,12 @@
10
  /**
11
  * AAM core service
12
  *
 
13
  * @since 6.0.4 Bug fixing. Unwanted "Access Denied" metabox on the Your Profile page
14
  * @since 6.0.0 Initial implementation of the class
15
  *
16
  * @package AAM
17
- * @version 6.0.4
18
  */
19
  class AAM_Service_Core
20
  {
@@ -33,12 +34,14 @@ class AAM_Service_Core
33
  *
34
  * @access protected
35
  *
 
 
36
  * @since 6.0.4 Fixed bug when Access Manager metabox is rendered on profile edit
37
  * page
38
  * @since 6.0.0 Initial implementation of the method
39
  *
40
  * @return void
41
- * @version 6.0.4
42
  */
43
  protected function __construct()
44
  {
@@ -51,15 +54,26 @@ class AAM_Service_Core
51
  }
52
 
53
  if (is_admin()) {
54
- if (AAM_Core_Config::get('ui.settings.renderAccessMetabox', true)) {
 
 
 
 
55
  add_action('edit_user_profile', array($this, 'renderAccessWidget'));
56
  }
57
 
58
- // Register UI elements
59
  add_action('aam_init_ui_action', function () {
60
  AAM_Backend_Feature_Subject_Role::register();
61
  AAM_Backend_Feature_Subject_User::register();
62
- });
 
 
 
 
 
 
 
63
  }
64
 
65
  // Check if user has ability to perform certain task based on provided
@@ -101,7 +115,7 @@ class AAM_Service_Core
101
  'Content-Type' => 'application/json'
102
  ),
103
  // Here we are passing ONLY license numbers and expiration dates
104
- 'body' => wp_json_encode($repository->getRegistry())
105
  )
106
  );
107
 
@@ -173,12 +187,18 @@ class AAM_Service_Core
173
  *
174
  * @return void
175
  *
 
 
 
 
176
  * @access public
177
- * @version 6.0.0
178
  */
179
  public function renderAccessWidget($user)
180
  {
181
- echo AAM_Backend_View::getInstance()->renderUserMetabox($user);
 
 
182
  }
183
 
184
  /**
10
  /**
11
  * AAM core service
12
  *
13
+ * @since 6.0.5 Making sure that only if user is allowed to manage other users
14
  * @since 6.0.4 Bug fixing. Unwanted "Access Denied" metabox on the Your Profile page
15
  * @since 6.0.0 Initial implementation of the class
16
  *
17
  * @package AAM
18
+ * @version 6.0.5
19
  */
20
  class AAM_Service_Core
21
  {
34
  *
35
  * @access protected
36
  *
37
+ * @since 6.0.5 Fixed bug when Access Manager metabox is rendered for users that
38
+ * have ability to manage other users
39
  * @since 6.0.4 Fixed bug when Access Manager metabox is rendered on profile edit
40
  * page
41
  * @since 6.0.0 Initial implementation of the method
42
  *
43
  * @return void
44
+ * @version 6.0.5
45
  */
46
  protected function __construct()
47
  {
54
  }
55
 
56
  if (is_admin()) {
57
+ $metaboxEnabled = AAM_Core_Config::get(
58
+ 'ui.settings.renderAccessMetabox', true
59
+ );
60
+
61
+ if ($metaboxEnabled && current_user_can('aam_manager')) {
62
  add_action('edit_user_profile', array($this, 'renderAccessWidget'));
63
  }
64
 
65
+ // Hook that initialize the AAM UI part of the service
66
  add_action('aam_init_ui_action', function () {
67
  AAM_Backend_Feature_Subject_Role::register();
68
  AAM_Backend_Feature_Subject_User::register();
69
+
70
+ AAM_Backend_Feature_Settings_Service::register();
71
+ AAM_Backend_Feature_Settings_Core::register();
72
+ AAM_Backend_Feature_Settings_Content::register();
73
+ AAM_Backend_Feature_Settings_ConfigPress::register();
74
+ AAM_Backend_Feature_Settings_Manager::register();
75
+ AAM_Backend_Feature_Addons_Manager::register();
76
+ }, 1);
77
  }
78
 
79
  // Check if user has ability to perform certain task based on provided
115
  'Content-Type' => 'application/json'
116
  ),
117
  // Here we are passing ONLY license numbers and expiration dates
118
+ 'body' => wp_json_encode($repository->getRegistry(true))
119
  )
120
  );
121
 
187
  *
188
  * @return void
189
  *
190
+ * @since 6.0.5 Making sure that user metabox is rendered only if user is allowed
191
+ * to manage other users
192
+ * @since 6.0.0 Initial implementation of the method
193
+ *
194
  * @access public
195
+ * @version 6.0.5
196
  */
197
  public function renderAccessWidget($user)
198
  {
199
+ if (current_user_can('aam_manage_users')) {
200
+ echo AAM_Backend_View::getInstance()->renderUserMetabox($user);
201
+ }
202
  }
203
 
204
  /**
application/Service/LogoutRedirect.php CHANGED
@@ -5,15 +5,16 @@
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
- * @version 6.0.0
10
  */
11
 
12
  /**
13
  * Logout Redirect service
14
  *
 
 
 
15
  * @package AAM
16
- * @version 6.0.0
17
  */
18
  class AAM_Service_LogoutRedirect
19
  {
@@ -26,6 +27,16 @@ class AAM_Service_LogoutRedirect
26
  */
27
  const FEATURE_FLAG = 'core.service.logout-redirect.enabled';
28
 
 
 
 
 
 
 
 
 
 
 
29
  /**
30
  * Constructor
31
  *
@@ -68,35 +79,42 @@ class AAM_Service_LogoutRedirect
68
  *
69
  * @return void
70
  *
 
 
 
 
71
  * @access protected
72
- * @version 6.0.0
73
  */
74
  protected function initializeHooks()
75
  {
76
- // Fired after the user has been logged out successfully
77
- add_action('wp_logout', function() {
78
- $settings = AAM::getUser()->getObject(
79
  AAM_Core_Object_LogoutRedirect::OBJECT_TYPE
80
  )->getOption();
 
81
 
 
 
82
  // Determining redirect type
83
  $type = 'default';
84
- if (!empty($settings['logout.redirect.type'])) {
85
- $type = $settings['logout.redirect.type'];
86
  }
87
 
88
  if ($type !== 'default') {
89
  AAM_Core_Redirect::execute(
90
- $type, array($type => $settings["logout.redirect.{$type}"])
91
  );
 
92
 
93
- // Halt the execution. Redirect should carry user away if this is not
94
- // a CLI execution (e.g. Unit Test)
95
- if (php_sapi_name() !== 'cli') {
96
- exit;
97
- }
98
  }
99
- });
100
  }
101
 
102
  }
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
  * Logout Redirect service
12
  *
13
+ * @since 6.0.5 Fixed the bug with logout redirect
14
+ * @since 6.0.0 Initial implementation of the class
15
+ *
16
  * @package AAM
17
+ * @version 6.0.5
18
  */
19
  class AAM_Service_LogoutRedirect
20
  {
27
  */
28
  const FEATURE_FLAG = 'core.service.logout-redirect.enabled';
29
 
30
+ /**
31
+ * Contains the redirect instructions for just logged out user
32
+ *
33
+ * @var array
34
+ *
35
+ * @access protected
36
+ * @since 6.0.5
37
+ */
38
+ protected $redirect = null;
39
+
40
  /**
41
  * Constructor
42
  *
79
  *
80
  * @return void
81
  *
82
+ * @since 6.0.5 Fixed bug where user was not redirected properly after logout
83
+ * because AAM was already hooking into `set_current_user`.
84
+ * @since 6.0.0 Initial implementation of the method
85
+ *
86
  * @access protected
87
+ * @version 6.0.5
88
  */
89
  protected function initializeHooks()
90
  {
91
+ // Capture currently logging out user settings
92
+ add_action('clear_auth_cookie', function() {
93
+ $this->redirect = AAM::getUser()->getObject(
94
  AAM_Core_Object_LogoutRedirect::OBJECT_TYPE
95
  )->getOption();
96
+ });
97
 
98
+ // Fired after the user has been logged out successfully
99
+ add_action('wp_logout', function() {
100
  // Determining redirect type
101
  $type = 'default';
102
+ if (!empty($this->redirect['logout.redirect.type'])) {
103
+ $type = $this->redirect['logout.redirect.type'];
104
  }
105
 
106
  if ($type !== 'default') {
107
  AAM_Core_Redirect::execute(
108
+ $type, array($type => $this->redirect["logout.redirect.{$type}"])
109
  );
110
+ }
111
 
112
+ // Halt the execution. Redirect should carry user away if this is not
113
+ // a CLI execution (e.g. Unit Test)
114
+ if (php_sapi_name() !== 'cli') {
115
+ exit;
 
116
  }
117
+ }, PHP_INT_MAX);
118
  }
119
 
120
  }
application/Service/Settings.php DELETED
@@ -1,48 +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
- * @version 6.0.0
10
- */
11
-
12
- /**
13
- * Settings service
14
- *
15
- * @package AAM
16
- * @version 6.0.0
17
- */
18
- class AAM_Service_Settings
19
- {
20
- use AAM_Core_Contract_ServiceTrait;
21
-
22
- /**
23
- * Constructor
24
- *
25
- * @return void
26
- *
27
- * @access protected
28
- * @version 6.0.0
29
- */
30
- protected function __construct()
31
- {
32
- if (is_admin()) {
33
- // Hook that initialize the AAM UI part of the service
34
- add_action('aam_init_ui_action', function () {
35
- AAM_Backend_Feature_Settings_Service::register();
36
- AAM_Backend_Feature_Settings_Core::register();
37
- AAM_Backend_Feature_Settings_Content::register();
38
- AAM_Backend_Feature_Settings_ConfigPress::register();
39
- AAM_Backend_Feature_Settings_Manager::register();
40
- }, 1);
41
- }
42
- }
43
-
44
- }
45
-
46
- if (defined('AAM_KEY')) {
47
- AAM_Service_Settings::bootstrap();
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lang/advanced-access-manager-en_US.po CHANGED
@@ -1,7 +1,7 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Advanced Access Manager\n"
4
- "POT-Creation-Date: 2019-11-19 16:45-0500\n"
5
  "PO-Revision-Date: \n"
6
  "Last-Translator: \n"
7
  "Language-Team: AAMPlugin <support@aamplugin.com>\n"
@@ -24,7 +24,7 @@ msgstr ""
24
  msgid "WP 4.7.0 or higher is required."
25
  msgstr ""
26
 
27
- #: application/Addon/Repository.php:110
28
  msgid ""
29
  "Manage access to your WordPress website posts, pages, media, custom post "
30
  "types, categories, tags and custom taxonomies for any role, individual user, "
@@ -32,21 +32,21 @@ msgid ""
32
  "for frontend, backend or API levels."
33
  msgstr ""
34
 
35
- #: application/Addon/Repository.php:115
36
  msgid ""
37
  "Manage access to your WordPress website by users IP address or referred host "
38
  "and completely lock down the entire website if necessary. Define the "
39
  "unlimited number of whitelisted or blacklisted IPs or hosts."
40
  msgstr ""
41
 
42
- #: application/Addon/Repository.php:120
43
  msgid ""
44
  "Define and manage complex WordPress role hierarchy where all the access "
45
  "settings are propagated down the tree with the ability to override any "
46
  "settings for any specific role."
47
  msgstr ""
48
 
49
- #: application/Addon/Repository.php:135
50
  msgid ""
51
  "Get the complete list of all premium AAM addons in one package and all "
52
  "future premium addons will be included for now additional cost."
@@ -117,7 +117,7 @@ msgid "Login Redirect"
117
  msgstr ""
118
 
119
  #: application/Backend/Feature/Main/LogoutRedirect.php:75
120
- #: application/Service/LogoutRedirect.php:52
121
  msgid "Logout Redirect"
122
  msgstr ""
123
 
@@ -125,7 +125,7 @@ msgstr ""
125
  msgid "Backend Menu"
126
  msgstr ""
127
 
128
- #: application/Backend/Feature/Main/Metabox.php:263
129
  #: application/Service/Metabox.php:42
130
  msgid "Metaboxes & Widgets"
131
  msgstr ""
@@ -140,41 +140,41 @@ msgstr ""
140
  msgid "Access Policies"
141
  msgstr ""
142
 
143
- #: application/Backend/Feature/Main/Post.php:214
144
  msgid "307 - Temporary Redirect (Default)"
145
  msgstr ""
146
 
147
- #: application/Backend/Feature/Main/Post.php:215
148
  #: application/Backend/tmpl/service/uri.php:95
149
  msgid "301 - Moved Permanently"
150
  msgstr ""
151
 
152
- #: application/Backend/Feature/Main/Post.php:216
153
  #: application/Backend/tmpl/service/uri.php:97
154
  msgid "303 - See Other"
155
  msgstr ""
156
 
157
- #: application/Backend/Feature/Main/Post.php:311
158
  #, php-format
159
  msgid "%d times"
160
  msgstr ""
161
 
162
- #: application/Backend/Feature/Main/Post.php:333
163
  #, php-format
164
  msgid "\"%s\" page"
165
  msgstr ""
166
 
167
- #: application/Backend/Feature/Main/Post.php:339
168
  #, php-format
169
  msgid "%s URL"
170
  msgstr ""
171
 
172
- #: application/Backend/Feature/Main/Post.php:343
173
  msgid "Login page"
174
  msgstr ""
175
 
176
- #: application/Backend/Feature/Main/Post.php:1007
177
- #: application/Service/Content.php:72
178
  msgid "Posts & Terms"
179
  msgstr ""
180
 
@@ -295,7 +295,7 @@ msgstr ""
295
 
296
  #: application/Backend/Feature/Subject/User.php:225
297
  #: application/Backend/Feature/Subject/User.php:250
298
- #: application/Backend/View/Localization.php:142 media/js/aam.js:4657
299
  msgid "Unexpected application error"
300
  msgstr ""
301
 
@@ -315,19 +315,19 @@ msgstr ""
315
  msgid "You are not allowed to manage any AAM subject"
316
  msgstr ""
317
 
318
- #: application/Backend/View/Localization.php:32 media/js/aam.js:1993
319
  msgid "Search Capability"
320
  msgstr ""
321
 
322
- #: application/Backend/View/Localization.php:33 media/js/aam.js:1994
323
  msgid "_TOTAL_ capability(s)"
324
  msgstr ""
325
 
326
- #: application/Backend/View/Localization.php:34 media/js/aam.js:410
327
- #: media/js/aam.js:471 media/js/aam.js:1030 media/js/aam.js:2141
328
- #: media/js/aam.js:2183 media/js/aam.js:2382 media/js/aam.js:2401
329
- #: media/js/aam.js:2471 media/js/aam.js:2493 media/js/aam.js:2512
330
- #: media/js/aam.js:3475
331
  msgid "Saving..."
332
  msgstr ""
333
 
@@ -335,7 +335,7 @@ msgstr ""
335
  msgid "Execute Migration"
336
  msgstr ""
337
 
338
- #: application/Backend/View/Localization.php:36 media/js/aam.js:2149
339
  msgid "Failed to add new capability"
340
  msgstr ""
341
 
@@ -343,39 +343,39 @@ msgstr ""
343
  msgid "Application error"
344
  msgstr ""
345
 
346
- #: application/Backend/View/Localization.php:38 media/js/aam.js:2157
347
  msgid "Add Capability"
348
  msgstr ""
349
 
350
  #: application/Backend/View/Localization.php:39
351
- #: application/Backend/tmpl/service/capability.php:76 media/js/aam.js:2199
352
  msgid "Update Capability"
353
  msgstr ""
354
 
355
  #: application/Backend/View/Localization.php:40
356
  #: application/Backend/tmpl/service/menu.php:93
357
- #: application/Backend/tmpl/service/toolbar.php:70 media/js/aam.js:1477
358
- #: media/js/aam.js:1608
359
  msgid "Show Menu"
360
  msgstr ""
361
 
362
  #: application/Backend/View/Localization.php:41
363
  #: application/Backend/tmpl/service/menu.php:97
364
- #: application/Backend/tmpl/service/toolbar.php:74 media/js/aam.js:1487
365
- #: media/js/aam.js:1618
366
  msgid "Restrict Menu"
367
  msgstr ""
368
 
369
- #: application/Backend/View/Localization.php:42 media/js/aam.js:1788
370
  msgid "Failed to retrieve mataboxes"
371
  msgstr ""
372
 
373
- #: application/Backend/View/Localization.php:43 media/js/aam.js:2649
374
- #: media/js/aam.js:3362 media/js/aam.js:3554 media/js/aam.js:3781
375
  msgid "Search"
376
  msgstr ""
377
 
378
- #: application/Backend/View/Localization.php:44 media/js/aam.js:2650
379
  msgid "_TOTAL_ object(s)"
380
  msgstr ""
381
 
@@ -383,16 +383,16 @@ msgstr ""
383
  msgid "Failed"
384
  msgstr ""
385
 
386
- #: application/Backend/View/Localization.php:46 media/js/aam.js:64
387
- #: media/js/aam.js:4290
388
  msgid "Loading..."
389
  msgstr ""
390
 
391
- #: application/Backend/View/Localization.php:47 media/js/aam.js:69
392
  msgid "No role"
393
  msgstr ""
394
 
395
- #: application/Backend/View/Localization.php:48 media/js/aam.js:149
396
  msgid "Create New Role"
397
  msgstr ""
398
 
@@ -400,7 +400,7 @@ msgstr ""
400
  msgid "Search Role"
401
  msgstr ""
402
 
403
- #: application/Backend/View/Localization.php:50 media/js/aam.js:133
404
  msgid "_TOTAL_ role(s)"
405
  msgstr ""
406
 
@@ -408,13 +408,13 @@ msgstr ""
408
  #: application/Backend/tmpl/page/subject-panel-advanced.php:19
409
  #: application/Backend/tmpl/service/capability.php:30
410
  #: application/Backend/tmpl/service/capability.php:64
411
- #: application/Backend/tmpl/service/jwt.php:84 media/js/aam.js:1320
412
- #: media/js/aam.js:3565 media/js/aam.js:3796 media/js/aam.js:3881
413
  msgid "Create"
414
  msgstr ""
415
 
416
  #: application/Backend/View/Localization.php:52
417
- #: application/Backend/tmpl/page/subject-panel.php:17 media/js/aam.js:171
418
  msgid "Users"
419
  msgstr ""
420
 
@@ -426,20 +426,20 @@ msgstr ""
426
  msgid "Add Role"
427
  msgstr ""
428
 
429
- #: application/Backend/View/Localization.php:55 media/js/aam.js:478
430
  msgid "Failed to update role"
431
  msgstr ""
432
 
433
  #: application/Backend/View/Localization.php:56
434
  #: application/Backend/tmpl/page/subject-panel-advanced.php:41
435
- #: application/Backend/tmpl/service/capability.php:90 media/js/aam.js:487
436
  msgid "Update"
437
  msgstr ""
438
 
439
  #: application/Backend/View/Localization.php:57
440
  #: application/Backend/tmpl/page/subject-panel-advanced.php:110
441
- #: application/Backend/tmpl/partial/post-access-form.php:89
442
- #: media/js/aam.js:1077 media/js/aam.js:2455
443
  msgid "Reset"
444
  msgstr ""
445
 
@@ -447,12 +447,12 @@ msgstr ""
447
  msgid "Update..."
448
  msgstr ""
449
 
450
- #: application/Backend/View/Localization.php:59 media/js/aam.js:510
451
- #: media/js/aam.js:1942 media/js/aam.js:3513 media/js/aam.js:3899
452
  msgid "Deleting..."
453
  msgstr ""
454
 
455
- #: application/Backend/View/Localization.php:60 media/js/aam.js:516
456
  msgid "Failed to delete role"
457
  msgstr ""
458
 
@@ -461,78 +461,78 @@ msgstr ""
461
  msgid "Delete Role"
462
  msgstr ""
463
 
464
- #: application/Backend/View/Localization.php:62 media/js/aam.js:610
465
  msgid "Failed to lock user"
466
  msgstr ""
467
 
468
- #: application/Backend/View/Localization.php:63 media/js/aam.js:702
469
  msgid "Search user"
470
  msgstr ""
471
 
472
- #: application/Backend/View/Localization.php:64 media/js/aam.js:2444
473
  msgid "Counter was reset successfully"
474
  msgstr ""
475
 
476
- #: application/Backend/View/Localization.php:65 media/js/aam.js:703
477
  msgid "_TOTAL_ user(s)"
478
  msgstr ""
479
 
480
- #: application/Backend/View/Localization.php:66 media/js/aam.js:718
481
  msgid "Create New User"
482
  msgstr ""
483
 
484
  #: application/Backend/View/Localization.php:67
485
- #: application/Backend/tmpl/page/subject-panel.php:38 media/js/aam.js:766
486
  msgid "Role"
487
  msgstr ""
488
 
489
  #: application/Backend/View/Localization.php:68
490
- #: application/Core/Subject/Default.php:36 media/js/aam.js:1190
491
  msgid "All Users, Roles and Visitor"
492
  msgstr ""
493
 
494
- #: application/Backend/View/Localization.php:69 media/js/aam.js:1161
495
- #: media/js/aam.js:1236 media/js/aam.js:4259
496
  msgid "Failed to apply policy changes"
497
  msgstr ""
498
 
499
  #: application/Backend/View/Localization.php:70
500
  #: application/Backend/tmpl/partial/visitor-principal-subject-tab.php:14
501
- #: media/js/aam.js:1155 media/js/aam.js:1164
502
  msgid "Attach Policy To Visitors"
503
  msgstr ""
504
 
505
  #: application/Backend/View/Localization.php:71
506
  #: application/Backend/tmpl/partial/visitor-principal-subject-tab.php:12
507
- #: media/js/aam.js:1153 media/js/aam.js:1166
508
  msgid "Detach Policy From Visitors"
509
  msgstr ""
510
 
511
- #: application/Backend/View/Localization.php:72 media/js/aam.js:649
512
- #: media/js/aam.js:3689
513
  msgid "Generating URL..."
514
  msgstr ""
515
 
516
  #: application/Backend/View/Localization.php:73
517
- #: application/Core/Subject/Visitor.php:43 media/js/aam.js:1116
518
  msgid "Anonymous"
519
  msgstr ""
520
 
521
- #: application/Backend/View/Localization.php:74 media/js/aam.js:1142
522
- #: media/js/aam.js:1217 media/js/aam.js:1808 media/js/aam.js:4105
523
  msgid "Processing..."
524
  msgstr ""
525
 
526
- #: application/Backend/View/Localization.php:75 media/js/aam.js:727
527
  msgid "Loading roles..."
528
  msgstr ""
529
 
530
- #: application/Backend/View/Localization.php:76 media/js/aam.js:659
531
- #: media/js/aam.js:3700
532
  msgid "Failed to generate JWT token"
533
  msgstr ""
534
 
535
- #: application/Backend/View/Localization.php:77 media/js/aam.js:1910
536
  msgid "Failed to process request"
537
  msgstr ""
538
 
@@ -544,286 +544,286 @@ msgstr ""
544
  msgid "Current role"
545
  msgstr ""
546
 
547
- #: application/Backend/View/Localization.php:80 media/js/aam.js:2839
548
  msgid "Manage Access"
549
  msgstr ""
550
 
551
- #: application/Backend/View/Localization.php:81 media/js/aam.js:744
552
  msgid "Filter by role"
553
  msgstr ""
554
 
555
  #: application/Backend/View/Localization.php:82
556
- #: application/Backend/View/PostOptionList.php:76 media/js/aam.js:2851
557
  msgid "Edit"
558
  msgstr ""
559
 
560
  #: application/Backend/View/Localization.php:83
561
  #: application/Backend/tmpl/page/subject-panel-advanced.php:111
562
- #: application/Backend/tmpl/partial/post-access-form.php:60
563
- #: application/Backend/tmpl/partial/post-access-form.php:90
564
- #: application/Backend/tmpl/partial/post-access-form.php:163
565
- #: application/Backend/tmpl/partial/post-access-form.php:184
566
- #: application/Backend/tmpl/partial/post-access-form.php:206
567
- #: application/Backend/tmpl/service/uri.php:108 media/js/aam.js:1044
568
- #: media/js/aam.js:3492
569
  msgid "Save"
570
  msgstr ""
571
 
572
- #: application/Backend/View/Localization.php:84 media/js/aam.js:217
573
  msgid "Manage role"
574
  msgstr ""
575
 
576
- #: application/Backend/View/Localization.php:85 media/js/aam.js:238
577
  msgid "Edit role"
578
  msgstr ""
579
 
580
- #: application/Backend/View/Localization.php:86 media/js/aam.js:291
581
- #: media/js/aam.js:524
582
  msgid "Delete role"
583
  msgstr ""
584
 
585
- #: application/Backend/View/Localization.php:87 media/js/aam.js:262
586
  msgid "Clone role"
587
  msgstr ""
588
 
589
- #: application/Backend/View/Localization.php:88 media/js/aam.js:805
590
  msgid "Manage user"
591
  msgstr ""
592
 
593
- #: application/Backend/View/Localization.php:89 media/js/aam.js:854
594
  msgid "Edit user"
595
  msgstr ""
596
 
597
- #: application/Backend/View/Localization.php:90 media/js/aam.js:605
598
- #: media/js/aam.js:606 media/js/aam.js:875 media/js/aam.js:886
599
  msgid "Lock user"
600
  msgstr ""
601
 
602
- #: application/Backend/View/Localization.php:91 media/js/aam.js:599
603
- #: media/js/aam.js:600 media/js/aam.js:899 media/js/aam.js:910
604
  msgid "Unlock user"
605
  msgstr ""
606
 
607
- #: application/Backend/View/Localization.php:92 media/js/aam.js:1904
608
  msgid "WordPress core does not allow to grant this capability"
609
  msgstr ""
610
 
611
- #: application/Backend/View/Localization.php:93 media/js/aam.js:1228
612
- #: media/js/aam.js:1241
613
  msgid "Detach Policy From Everybody"
614
  msgstr ""
615
 
616
- #: application/Backend/View/Localization.php:94 media/js/aam.js:1230
617
- #: media/js/aam.js:1239
618
  msgid "Attach Policy To Everybody"
619
  msgstr ""
620
 
621
- #: application/Backend/View/Localization.php:95 media/js/aam.js:1309
622
  msgid "Search Policy"
623
  msgstr ""
624
 
625
- #: application/Backend/View/Localization.php:96 media/js/aam.js:1310
626
  msgid "_TOTAL_ Policies"
627
  msgstr ""
628
 
629
- #: application/Backend/View/Localization.php:97 media/js/aam.js:1343
630
  msgid "Apply Policy"
631
  msgstr ""
632
 
633
- #: application/Backend/View/Localization.php:98 media/js/aam.js:1363
634
  msgid "Revoke Policy"
635
  msgstr ""
636
 
637
  #: application/Backend/View/Localization.php:99
638
- #: application/Service/AccessPolicy.php:170 media/js/aam.js:1380
639
  msgid "Edit Policy"
640
  msgstr ""
641
 
642
  #: application/Backend/View/Localization.php:100
643
  #: application/Backend/tmpl/service/menu.php:79
644
- #: application/Backend/tmpl/service/toolbar.php:60 media/js/aam.js:1517
645
  msgid "Uncheck to allow"
646
  msgstr ""
647
 
648
  #: application/Backend/View/Localization.php:101
649
  #: application/Backend/tmpl/service/menu.php:79
650
- #: application/Backend/tmpl/service/toolbar.php:60 media/js/aam.js:1519
651
  msgid "Check to restrict"
652
  msgstr ""
653
 
654
  #: application/Backend/View/Localization.php:102
655
- #: application/Backend/tmpl/service/metabox.php:78 media/js/aam.js:1653
656
- #: media/js/aam.js:1842
657
  msgid "Uncheck to show"
658
  msgstr ""
659
 
660
  #: application/Backend/View/Localization.php:103
661
- #: application/Backend/tmpl/service/metabox.php:78 media/js/aam.js:1655
662
- #: media/js/aam.js:1844
663
  msgid "Check to hide"
664
  msgstr ""
665
 
666
  #: application/Backend/View/Localization.php:104
667
- #: application/Backend/tmpl/service/metabox.php:114 media/js/aam.js:1811
668
  msgid "Initialize"
669
  msgstr ""
670
 
671
- #: application/Backend/View/Localization.php:105 media/js/aam.js:1996
672
  msgid "No capabilities"
673
  msgstr ""
674
 
675
- #: application/Backend/View/Localization.php:106 media/js/aam.js:2671
676
  msgid "Post Type"
677
  msgstr ""
678
 
679
- #: application/Backend/View/Localization.php:107 media/js/aam.js:2676
680
  msgid "Hierarchical Taxonomy"
681
  msgstr ""
682
 
683
- #: application/Backend/View/Localization.php:108 media/js/aam.js:2681
684
  msgid "Hierarchical Term"
685
  msgstr ""
686
 
687
- #: application/Backend/View/Localization.php:109 media/js/aam.js:2686
688
  msgid "Tag Taxonomy"
689
  msgstr ""
690
 
691
- #: application/Backend/View/Localization.php:110 media/js/aam.js:2691
692
  msgid "Tag"
693
  msgstr ""
694
 
695
- #: application/Backend/View/Localization.php:111 media/js/aam.js:2702
696
  msgid "Customized Settings"
697
  msgstr ""
698
 
699
- #: application/Backend/View/Localization.php:112 media/js/aam.js:2772
700
- #: media/js/aam.js:2794
701
  msgid "Parent"
702
  msgstr ""
703
 
704
- #: application/Backend/View/Localization.php:113 media/js/aam.js:2825
705
  msgid "Drill-Down"
706
  msgstr ""
707
 
708
- #: application/Backend/View/Localization.php:114 media/js/aam.js:3363
709
  msgid "_TOTAL_ route(s)"
710
  msgstr ""
711
 
712
- #: application/Backend/View/Localization.php:115 media/js/aam.js:3365
713
  msgid "No API endpoints found. You might have APIs disabled."
714
  msgstr ""
715
 
716
- #: application/Backend/View/Localization.php:116 media/js/aam.js:3366
717
- #: media/js/aam.js:3785 media/js/aam.js:4059
718
  msgid "Nothing to show"
719
  msgstr ""
720
 
721
- #: application/Backend/View/Localization.php:117 media/js/aam.js:3483
722
  msgid "Failed to save URI rule"
723
  msgstr ""
724
 
725
- #: application/Backend/View/Localization.php:118 media/js/aam.js:3519
726
  msgid "Failed to delete URI rule"
727
  msgstr ""
728
 
729
- #: application/Backend/View/Localization.php:119 media/js/aam.js:3555
730
  msgid "_TOTAL_ URI(s)"
731
  msgstr ""
732
 
733
- #: application/Backend/View/Localization.php:120 media/js/aam.js:3594
734
  msgid "Edit Rule"
735
  msgstr ""
736
 
737
- #: application/Backend/View/Localization.php:121 media/js/aam.js:3606
738
  msgid "Delete Rule"
739
  msgstr ""
740
 
741
- #: application/Backend/View/Localization.php:122 media/js/aam.js:3621
742
  msgid "Denied"
743
  msgstr ""
744
 
745
- #: application/Backend/View/Localization.php:123 media/js/aam.js:3628
746
  msgid "Redirected"
747
  msgstr ""
748
 
749
- #: application/Backend/View/Localization.php:124 media/js/aam.js:3633
750
  msgid "Callback"
751
  msgstr ""
752
 
753
- #: application/Backend/View/Localization.php:125 media/js/aam.js:3638
754
  msgid "Allowed"
755
  msgstr ""
756
 
757
- #: application/Backend/View/Localization.php:126 media/js/aam.js:3685
758
  msgid "Generating token..."
759
  msgstr ""
760
 
761
- #: application/Backend/View/Localization.php:127 media/js/aam.js:3782
762
  msgid "_TOTAL_ token(s)"
763
  msgstr ""
764
 
765
- #: application/Backend/View/Localization.php:128 media/js/aam.js:3784
766
  msgid "No JWT tokens have been generated."
767
  msgstr ""
768
 
769
- #: application/Backend/View/Localization.php:129 media/js/aam.js:3829
770
  msgid "Delete Token"
771
  msgstr ""
772
 
773
- #: application/Backend/View/Localization.php:130 media/js/aam.js:3842
774
  msgid "View Token"
775
  msgstr ""
776
 
777
- #: application/Backend/View/Localization.php:131 media/js/aam.js:3867
778
  msgid "Creating..."
779
  msgstr ""
780
 
781
- #: application/Backend/View/Localization.php:132 media/js/aam.js:4056
782
  msgid "Search Service"
783
  msgstr ""
784
 
785
- #: application/Backend/View/Localization.php:133 media/js/aam.js:4057
786
  msgid "_TOTAL_ service(s)"
787
  msgstr ""
788
 
789
  #: application/Backend/View/Localization.php:134
790
  #: application/Backend/tmpl/settings/content.php:19
791
  #: application/Backend/tmpl/settings/core.php:16
792
- #: application/Backend/tmpl/settings/security.php:16 media/js/aam.js:4069
793
  msgid "Enabled"
794
  msgstr ""
795
 
796
  #: application/Backend/View/Localization.php:135
797
  #: application/Backend/tmpl/settings/content.php:19
798
  #: application/Backend/tmpl/settings/core.php:16
799
- #: application/Backend/tmpl/settings/security.php:16 media/js/aam.js:4069
800
  msgid "Disabled"
801
  msgstr ""
802
 
803
- #: application/Backend/View/Localization.php:136 media/js/aam.js:4111
804
  msgid "All settings has been cleared successfully"
805
  msgstr ""
806
 
807
  #: application/Backend/View/Localization.php:137
808
- #: application/Backend/tmpl/metabox/main-iframe.php:97 media/js/aam.js:4123
809
  msgid "Clear"
810
  msgstr ""
811
 
812
  #: application/Backend/View/Localization.php:138
813
  #: application/Backend/tmpl/page/subject-panel-advanced.php:102
814
- #: application/Backend/tmpl/partial/role-inheritance.php:7 media/js/aam.js:4295
815
  msgid "Select Role"
816
  msgstr ""
817
 
818
- #: application/Backend/View/Localization.php:139 media/js/aam.js:4581
819
  msgid "Data has been saved to clipboard"
820
  msgstr ""
821
 
822
- #: application/Backend/View/Localization.php:140 media/js/aam.js:4585
823
  msgid "Failed to save data to clipboard"
824
  msgstr ""
825
 
826
- #: application/Backend/View/Localization.php:141 media/js/aam.js:4653
827
  msgid "Operation completed successfully"
828
  msgstr ""
829
 
@@ -848,7 +848,7 @@ msgid ""
848
  msgstr ""
849
 
850
  #: application/Backend/View/PostOptionList.php:41
851
- #: application/Backend/tmpl/partial/post-access-form.php:50
852
  msgid "Teaser Message"
853
  msgstr ""
854
 
@@ -901,12 +901,12 @@ msgid ""
901
  msgstr ""
902
 
903
  #: application/Backend/View/PostOptionList.php:64
904
- #: application/Backend/tmpl/partial/post-access-form.php:175
905
  msgid "Password Protected"
906
  msgstr ""
907
 
908
  #: application/Backend/View/PostOptionList.php:65
909
- #: application/Backend/tmpl/partial/post-access-form.php:179
910
  #: application/Backend/tmpl/widget/login-frontend.php:29
911
  msgid "Password"
912
  msgstr ""
@@ -944,8 +944,8 @@ msgstr ""
944
  #: application/Backend/View/PostOptionList.php:81
945
  #: application/Backend/tmpl/page/subject-panel-advanced.php:59
946
  #: application/Backend/tmpl/service/jwt.php:136
947
- #: application/Backend/tmpl/service/uri.php:130 media/js/aam.js:3527
948
- #: media/js/aam.js:3913
949
  msgid "Delete"
950
  msgstr ""
951
 
@@ -1004,10 +1004,10 @@ msgid "Reset AAM Settings"
1004
  msgstr ""
1005
 
1006
  #: application/Backend/tmpl/metabox/main-iframe.php:90
1007
- #: application/Backend/tmpl/page/addon-panel.php:70
1008
- #: application/Backend/tmpl/page/addon-panel.php:81
1009
  #: application/Backend/tmpl/page/addon-panel.php:91
1010
- #: application/Backend/tmpl/page/addon-panel.php:104
 
1011
  #: application/Backend/tmpl/page/subject-panel-advanced.php:8
1012
  #: application/Backend/tmpl/page/subject-panel-advanced.php:20
1013
  #: application/Backend/tmpl/page/subject-panel-advanced.php:30
@@ -1016,16 +1016,16 @@ msgstr ""
1016
  #: application/Backend/tmpl/page/subject-panel-advanced.php:60
1017
  #: application/Backend/tmpl/page/subject-panel-advanced.php:70
1018
  #: application/Backend/tmpl/page/subject-panel-advanced.php:112
1019
- #: application/Backend/tmpl/partial/post-access-form.php:49
1020
- #: application/Backend/tmpl/partial/post-access-form.php:61
1021
- #: application/Backend/tmpl/partial/post-access-form.php:71
1022
- #: application/Backend/tmpl/partial/post-access-form.php:91
1023
- #: application/Backend/tmpl/partial/post-access-form.php:101
1024
- #: application/Backend/tmpl/partial/post-access-form.php:164
1025
- #: application/Backend/tmpl/partial/post-access-form.php:174
1026
- #: application/Backend/tmpl/partial/post-access-form.php:185
1027
- #: application/Backend/tmpl/partial/post-access-form.php:195
1028
- #: application/Backend/tmpl/partial/post-access-form.php:207
1029
  #: application/Backend/tmpl/service/capability.php:49
1030
  #: application/Backend/tmpl/service/capability.php:65
1031
  #: application/Backend/tmpl/service/capability.php:75
@@ -1068,12 +1068,12 @@ msgstr ""
1068
 
1069
  #: application/Backend/tmpl/metabox/main-iframe.php:110
1070
  msgid ""
1071
- "With the [Enterprise Package] get our dedicated support channel and all the "
1072
- "premium add-ons for [50+ live websites]"
1073
  msgstr ""
1074
 
1075
  #: application/Backend/tmpl/metabox/main-iframe.php:111
1076
- #: application/Backend/tmpl/page/addon-panel.php:55
1077
  msgid "Read More"
1078
  msgstr ""
1079
 
@@ -1088,7 +1088,7 @@ msgstr ""
1088
  msgid "Syntax Error"
1089
  msgstr ""
1090
 
1091
- #: application/Backend/tmpl/page/addon-panel.php:8
1092
  msgid ""
1093
  "By purchasing any of the premium addon(s) below, you obtain the license that "
1094
  "allows you to install and use AAM software for one physical WordPress "
@@ -1099,58 +1099,66 @@ msgid ""
1099
  "guaranteed] within 30 day from the time of purchase."
1100
  msgstr ""
1101
 
1102
- #: application/Backend/tmpl/page/addon-panel.php:13
1103
  msgid "Download Addon"
1104
  msgstr ""
1105
 
1106
- #: application/Backend/tmpl/page/addon-panel.php:17
1107
  msgid "Enter The License Key"
1108
  msgstr ""
1109
 
1110
- #: application/Backend/tmpl/page/addon-panel.php:21
1111
  msgid "Download"
1112
  msgstr ""
1113
 
1114
- #: application/Backend/tmpl/page/addon-panel.php:29
1115
  msgid "Premium"
1116
  msgstr ""
1117
 
1118
- #: application/Backend/tmpl/page/addon-panel.php:41
1119
- #: application/Backend/tmpl/page/addon-panel.php:43
 
 
 
 
1120
  msgid "License"
1121
  msgstr ""
1122
 
1123
- #: application/Backend/tmpl/page/addon-panel.php:43
1124
  msgid "unregistered version"
1125
  msgstr ""
1126
 
1127
- #: application/Backend/tmpl/page/addon-panel.php:51
 
 
 
 
1128
  msgid "Active"
1129
  msgstr ""
1130
 
1131
- #: application/Backend/tmpl/page/addon-panel.php:53
1132
  msgid "Inactive"
1133
  msgstr ""
1134
 
1135
- #: application/Backend/tmpl/page/addon-panel.php:71
1136
  msgid "License Key Info"
1137
  msgstr ""
1138
 
1139
- #: application/Backend/tmpl/page/addon-panel.php:75
1140
  msgid ""
1141
  "Insert license key that you received after the payment (find the email "
1142
  "example below). It might take up to 2 hours to process the payment."
1143
  msgstr ""
1144
 
1145
- #: application/Backend/tmpl/page/addon-panel.php:92
1146
  msgid "Plugin Installation"
1147
  msgstr ""
1148
 
1149
- #: application/Backend/tmpl/page/addon-panel.php:96
1150
  msgid "The plugin has been successfully downloaded from our server."
1151
  msgstr ""
1152
 
1153
- #: application/Backend/tmpl/page/addon-panel.php:100
1154
  #, php-format
1155
  msgid ""
1156
  "With AAM v6.0.0 or higher, all premium addons are [regular WordPress "
@@ -1327,53 +1335,60 @@ msgstr ""
1327
  msgid "Reset to default"
1328
  msgstr ""
1329
 
1330
- #: application/Backend/tmpl/partial/post-access-form.php:23
 
 
 
 
 
 
 
1331
  msgid "change"
1332
  msgstr ""
1333
 
1334
- #: application/Backend/tmpl/partial/post-access-form.php:54
1335
  msgid "Plain text or valid HTML"
1336
  msgstr ""
1337
 
1338
- #: application/Backend/tmpl/partial/post-access-form.php:55
1339
  msgid "Enter your teaser message..."
1340
  msgstr ""
1341
 
1342
- #: application/Backend/tmpl/partial/post-access-form.php:56
1343
  msgid ""
1344
  "Use [&#91;excerpt&#93;] shortcode to insert post excerpt to the teaser "
1345
  "message."
1346
  msgstr ""
1347
 
1348
- #: application/Backend/tmpl/partial/post-access-form.php:72
1349
  msgid "Define Access Limit"
1350
  msgstr ""
1351
 
1352
- #: application/Backend/tmpl/partial/post-access-form.php:76
1353
  msgid "Access Limit Threshold"
1354
  msgstr ""
1355
 
1356
- #: application/Backend/tmpl/partial/post-access-form.php:77
1357
  msgid "Enter digital number"
1358
  msgstr ""
1359
 
1360
- #: application/Backend/tmpl/partial/post-access-form.php:84
1361
  #, php-format
1362
  msgid "The user can access content [%d] times."
1363
  msgstr ""
1364
 
1365
- #: application/Backend/tmpl/partial/post-access-form.php:102
1366
  msgid "Access Redirect"
1367
  msgstr ""
1368
 
1369
- #: application/Backend/tmpl/partial/post-access-form.php:105
1370
  msgid ""
1371
  "Use REDIRECT option only if you want to redirect user to a different "
1372
  "location either temporary or permanently. Do not use it as a way to protect "
1373
  "access to avoid inconsistent user experience."
1374
  msgstr ""
1375
 
1376
- #: application/Backend/tmpl/partial/post-access-form.php:110
1377
  #: application/Backend/tmpl/service/404redirect.php:26
1378
  #: application/Backend/tmpl/service/login-redirect.php:33
1379
  #: application/Backend/tmpl/service/logout-redirect.php:33
@@ -1382,12 +1397,12 @@ msgstr ""
1382
  msgid "Redirected to existing page [(select from the drop-down)]"
1383
  msgstr ""
1384
 
1385
- #: application/Backend/tmpl/partial/post-access-form.php:114
1386
  #: application/Backend/tmpl/service/logout-redirect.php:37
1387
  msgid "Redirected to the URL [(enter full URL starting from http or https)]"
1388
  msgstr ""
1389
 
1390
- #: application/Backend/tmpl/partial/post-access-form.php:119
1391
  #: application/Backend/tmpl/service/redirect.php:49
1392
  #: application/Backend/tmpl/service/uri.php:52
1393
  msgid ""
@@ -1395,7 +1410,7 @@ msgid ""
1395
  "the restricted page)]"
1396
  msgstr ""
1397
 
1398
- #: application/Backend/tmpl/partial/post-access-form.php:124
1399
  #: application/Backend/tmpl/service/404redirect.php:34
1400
  #: application/Backend/tmpl/service/login-redirect.php:41
1401
  #: application/Backend/tmpl/service/logout-redirect.php:41
@@ -1406,7 +1421,7 @@ msgstr ""
1406
  msgid "Trigger PHP callback function [(valid %sPHP callback%s is required)]"
1407
  msgstr ""
1408
 
1409
- #: application/Backend/tmpl/partial/post-access-form.php:128
1410
  #: application/Backend/tmpl/service/404redirect.php:38
1411
  #: application/Backend/tmpl/service/login-redirect.php:45
1412
  #: application/Backend/tmpl/service/logout-redirect.php:45
@@ -1416,7 +1431,7 @@ msgstr ""
1416
  msgid "Existing Page"
1417
  msgstr ""
1418
 
1419
- #: application/Backend/tmpl/partial/post-access-form.php:136
1420
  #: application/Backend/tmpl/service/404redirect.php:47
1421
  #: application/Backend/tmpl/service/login-redirect.php:54
1422
  #: application/Backend/tmpl/service/logout-redirect.php:54
@@ -1426,7 +1441,7 @@ msgstr ""
1426
  msgid "-- Select Page --"
1427
  msgstr ""
1428
 
1429
- #: application/Backend/tmpl/partial/post-access-form.php:142
1430
  #: application/Backend/tmpl/service/404redirect.php:53
1431
  #: application/Backend/tmpl/service/login-redirect.php:60
1432
  #: application/Backend/tmpl/service/logout-redirect.php:60
@@ -1435,7 +1450,7 @@ msgstr ""
1435
  msgid "The URL"
1436
  msgstr ""
1437
 
1438
- #: application/Backend/tmpl/partial/post-access-form.php:147
1439
  #: application/Backend/tmpl/service/404redirect.php:58
1440
  #: application/Backend/tmpl/service/login-redirect.php:65
1441
  #: application/Backend/tmpl/service/logout-redirect.php:65
@@ -1445,22 +1460,22 @@ msgstr ""
1445
  msgid "PHP Callback Function"
1446
  msgstr ""
1447
 
1448
- #: application/Backend/tmpl/partial/post-access-form.php:148
1449
  #: application/Backend/tmpl/service/redirect.php:92
1450
  #: application/Backend/tmpl/service/redirect.php:144
1451
  msgid "Enter valid callback"
1452
  msgstr ""
1453
 
1454
- #: application/Backend/tmpl/partial/post-access-form.php:152
1455
  #: application/Backend/tmpl/service/uri.php:92
1456
  msgid "HTTP Redirect Code"
1457
  msgstr ""
1458
 
1459
- #: application/Backend/tmpl/partial/post-access-form.php:180
1460
  msgid "Enter Password"
1461
  msgstr ""
1462
 
1463
- #: application/Backend/tmpl/partial/post-access-form.php:196
1464
  msgid "Expiration Date/Time"
1465
  msgstr ""
1466
 
@@ -1793,7 +1808,7 @@ msgid "URI"
1793
  msgstr ""
1794
 
1795
  #: application/Backend/tmpl/service/menu.php:163
1796
- #: application/Backend/tmpl/service/toolbar.php:101 media/js/aam.js:766
1797
  msgid "ID"
1798
  msgstr ""
1799
 
@@ -2152,23 +2167,23 @@ msgstr ""
2152
  msgid "Lost your password?"
2153
  msgstr ""
2154
 
2155
- #: application/Backend/tmpl/widget/login-frontend.php:101
2156
  msgid "Dashboard"
2157
  msgstr ""
2158
 
2159
- #: application/Backend/tmpl/widget/login-frontend.php:102
2160
  msgid "Edit My Profile"
2161
  msgstr ""
2162
 
2163
- #: application/Backend/tmpl/widget/login-frontend.php:104
2164
  msgid "Log Out"
2165
  msgstr ""
2166
 
2167
- #: application/Core/Jwt/Issuer.php:60
2168
  msgid "Token has been revoked"
2169
  msgstr ""
2170
 
2171
- #: application/Core/Object.php:141
2172
  #, php-format
2173
  msgid "AAM object function %s is not defined"
2174
  msgstr ""
@@ -2183,7 +2198,7 @@ msgstr ""
2183
  msgid "The policy document is empty"
2184
  msgstr ""
2185
 
2186
- #: application/Core/Redirect.php:74
2187
  #: application/Service/ExtendedCapabilities.php:81
2188
  #: application/Service/Route.php:171
2189
  msgid "Access Denied"
@@ -2243,18 +2258,22 @@ msgid ""
2243
  "user/role access management."
2244
  msgstr ""
2245
 
2246
- #: application/Service/Content.php:73
2247
  msgid ""
2248
  "Manage access to your website content for any user, role or visitor. This "
2249
  "include access to posts, pages, media attachment, custom post types, "
2250
  "categories, tags, custom taxonomies and terms."
2251
  msgstr ""
2252
 
2253
- #: application/Service/Content.php:118
2254
  msgid "Access Manager"
2255
  msgstr ""
2256
 
2257
- #: application/Service/Content.php:574
 
 
 
 
2258
  msgid "[No teaser message provided]"
2259
  msgstr ""
2260
 
@@ -2302,7 +2321,7 @@ msgid ""
2302
  "authentication is completed successfully."
2303
  msgstr ""
2304
 
2305
- #: application/Service/LogoutRedirect.php:53
2306
  msgid ""
2307
  "Manage logout redirect for any group of users or individual user after user "
2308
  "logged out successfully."
@@ -2432,33 +2451,33 @@ msgstr ""
2432
  msgid "Login to continue"
2433
  msgstr ""
2434
 
2435
- #: media/js/aam.js:132
2436
  msgid "Search role"
2437
  msgstr ""
2438
 
2439
- #: media/js/aam.js:433
2440
  msgid "Add role"
2441
  msgstr ""
2442
 
2443
- #: media/js/aam.js:1063 media/js/aam.js:2364 media/js/aam.js:2435
2444
- #: media/js/aam.js:4693
2445
  msgid "Resetting..."
2446
  msgstr ""
2447
 
2448
- #: media/js/aam.js:2666
2449
  msgid "Post"
2450
  msgstr ""
2451
 
2452
- #: media/js/aam.js:2732
2453
  msgid "post type"
2454
  msgstr ""
2455
 
2456
- #: media/js/aam.js:2737 media/js/aam.js:2763 media/js/aam.js:2776
2457
- #: media/js/aam.js:2785 media/js/aam.js:2798
2458
  msgid "ID:"
2459
  msgstr ""
2460
 
2461
- #: media/js/aam.js:2759
2462
  msgid "taxonomy"
2463
  msgstr ""
2464
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Advanced Access Manager\n"
4
+ "POT-Creation-Date: 2019-12-01 21:02-0500\n"
5
  "PO-Revision-Date: \n"
6
  "Last-Translator: \n"
7
  "Language-Team: AAMPlugin <support@aamplugin.com>\n"
24
  msgid "WP 4.7.0 or higher is required."
25
  msgstr ""
26
 
27
+ #: application/Addon/Repository.php:126
28
  msgid ""
29
  "Manage access to your WordPress website posts, pages, media, custom post "
30
  "types, categories, tags and custom taxonomies for any role, individual user, "
32
  "for frontend, backend or API levels."
33
  msgstr ""
34
 
35
+ #: application/Addon/Repository.php:131
36
  msgid ""
37
  "Manage access to your WordPress website by users IP address or referred host "
38
  "and completely lock down the entire website if necessary. Define the "
39
  "unlimited number of whitelisted or blacklisted IPs or hosts."
40
  msgstr ""
41
 
42
+ #: application/Addon/Repository.php:136
43
  msgid ""
44
  "Define and manage complex WordPress role hierarchy where all the access "
45
  "settings are propagated down the tree with the ability to override any "
46
  "settings for any specific role."
47
  msgstr ""
48
 
49
+ #: application/Addon/Repository.php:151
50
  msgid ""
51
  "Get the complete list of all premium AAM addons in one package and all "
52
  "future premium addons will be included for now additional cost."
117
  msgstr ""
118
 
119
  #: application/Backend/Feature/Main/LogoutRedirect.php:75
120
+ #: application/Service/LogoutRedirect.php:63
121
  msgid "Logout Redirect"
122
  msgstr ""
123
 
125
  msgid "Backend Menu"
126
  msgstr ""
127
 
128
+ #: application/Backend/Feature/Main/Metabox.php:264
129
  #: application/Service/Metabox.php:42
130
  msgid "Metaboxes & Widgets"
131
  msgstr ""
140
  msgid "Access Policies"
141
  msgstr ""
142
 
143
+ #: application/Backend/Feature/Main/Post.php:215
144
  msgid "307 - Temporary Redirect (Default)"
145
  msgstr ""
146
 
147
+ #: application/Backend/Feature/Main/Post.php:216
148
  #: application/Backend/tmpl/service/uri.php:95
149
  msgid "301 - Moved Permanently"
150
  msgstr ""
151
 
152
+ #: application/Backend/Feature/Main/Post.php:217
153
  #: application/Backend/tmpl/service/uri.php:97
154
  msgid "303 - See Other"
155
  msgstr ""
156
 
157
+ #: application/Backend/Feature/Main/Post.php:312
158
  #, php-format
159
  msgid "%d times"
160
  msgstr ""
161
 
162
+ #: application/Backend/Feature/Main/Post.php:334
163
  #, php-format
164
  msgid "\"%s\" page"
165
  msgstr ""
166
 
167
+ #: application/Backend/Feature/Main/Post.php:340
168
  #, php-format
169
  msgid "%s URL"
170
  msgstr ""
171
 
172
+ #: application/Backend/Feature/Main/Post.php:344
173
  msgid "Login page"
174
  msgstr ""
175
 
176
+ #: application/Backend/Feature/Main/Post.php:1025
177
+ #: application/Service/Content.php:92
178
  msgid "Posts & Terms"
179
  msgstr ""
180
 
295
 
296
  #: application/Backend/Feature/Subject/User.php:225
297
  #: application/Backend/Feature/Subject/User.php:250
298
+ #: application/Backend/View/Localization.php:142 media/js/aam.js:4720
299
  msgid "Unexpected application error"
300
  msgstr ""
301
 
315
  msgid "You are not allowed to manage any AAM subject"
316
  msgstr ""
317
 
318
+ #: application/Backend/View/Localization.php:32 media/js/aam.js:1989
319
  msgid "Search Capability"
320
  msgstr ""
321
 
322
+ #: application/Backend/View/Localization.php:33 media/js/aam.js:1990
323
  msgid "_TOTAL_ capability(s)"
324
  msgstr ""
325
 
326
+ #: application/Backend/View/Localization.php:34 media/js/aam.js:406
327
+ #: media/js/aam.js:467 media/js/aam.js:1026 media/js/aam.js:2137
328
+ #: media/js/aam.js:2179 media/js/aam.js:2378 media/js/aam.js:2397
329
+ #: media/js/aam.js:2467 media/js/aam.js:2489 media/js/aam.js:2508
330
+ #: media/js/aam.js:3463
331
  msgid "Saving..."
332
  msgstr ""
333
 
335
  msgid "Execute Migration"
336
  msgstr ""
337
 
338
+ #: application/Backend/View/Localization.php:36 media/js/aam.js:2145
339
  msgid "Failed to add new capability"
340
  msgstr ""
341
 
343
  msgid "Application error"
344
  msgstr ""
345
 
346
+ #: application/Backend/View/Localization.php:38 media/js/aam.js:2153
347
  msgid "Add Capability"
348
  msgstr ""
349
 
350
  #: application/Backend/View/Localization.php:39
351
+ #: application/Backend/tmpl/service/capability.php:76 media/js/aam.js:2195
352
  msgid "Update Capability"
353
  msgstr ""
354
 
355
  #: application/Backend/View/Localization.php:40
356
  #: application/Backend/tmpl/service/menu.php:93
357
+ #: application/Backend/tmpl/service/toolbar.php:70 media/js/aam.js:1473
358
+ #: media/js/aam.js:1604
359
  msgid "Show Menu"
360
  msgstr ""
361
 
362
  #: application/Backend/View/Localization.php:41
363
  #: application/Backend/tmpl/service/menu.php:97
364
+ #: application/Backend/tmpl/service/toolbar.php:74 media/js/aam.js:1483
365
+ #: media/js/aam.js:1614
366
  msgid "Restrict Menu"
367
  msgstr ""
368
 
369
+ #: application/Backend/View/Localization.php:42 media/js/aam.js:1784
370
  msgid "Failed to retrieve mataboxes"
371
  msgstr ""
372
 
373
+ #: application/Backend/View/Localization.php:43 media/js/aam.js:2645
374
+ #: media/js/aam.js:3350 media/js/aam.js:3542 media/js/aam.js:3769
375
  msgid "Search"
376
  msgstr ""
377
 
378
+ #: application/Backend/View/Localization.php:44 media/js/aam.js:2646
379
  msgid "_TOTAL_ object(s)"
380
  msgstr ""
381
 
383
  msgid "Failed"
384
  msgstr ""
385
 
386
+ #: application/Backend/View/Localization.php:46 media/js/aam.js:60
387
+ #: media/js/aam.js:4354
388
  msgid "Loading..."
389
  msgstr ""
390
 
391
+ #: application/Backend/View/Localization.php:47 media/js/aam.js:65
392
  msgid "No role"
393
  msgstr ""
394
 
395
+ #: application/Backend/View/Localization.php:48 media/js/aam.js:145
396
  msgid "Create New Role"
397
  msgstr ""
398
 
400
  msgid "Search Role"
401
  msgstr ""
402
 
403
+ #: application/Backend/View/Localization.php:50 media/js/aam.js:129
404
  msgid "_TOTAL_ role(s)"
405
  msgstr ""
406
 
408
  #: application/Backend/tmpl/page/subject-panel-advanced.php:19
409
  #: application/Backend/tmpl/service/capability.php:30
410
  #: application/Backend/tmpl/service/capability.php:64
411
+ #: application/Backend/tmpl/service/jwt.php:84 media/js/aam.js:1316
412
+ #: media/js/aam.js:3553 media/js/aam.js:3784 media/js/aam.js:3868
413
  msgid "Create"
414
  msgstr ""
415
 
416
  #: application/Backend/View/Localization.php:52
417
+ #: application/Backend/tmpl/page/subject-panel.php:17 media/js/aam.js:167
418
  msgid "Users"
419
  msgstr ""
420
 
426
  msgid "Add Role"
427
  msgstr ""
428
 
429
+ #: application/Backend/View/Localization.php:55 media/js/aam.js:474
430
  msgid "Failed to update role"
431
  msgstr ""
432
 
433
  #: application/Backend/View/Localization.php:56
434
  #: application/Backend/tmpl/page/subject-panel-advanced.php:41
435
+ #: application/Backend/tmpl/service/capability.php:90 media/js/aam.js:483
436
  msgid "Update"
437
  msgstr ""
438
 
439
  #: application/Backend/View/Localization.php:57
440
  #: application/Backend/tmpl/page/subject-panel-advanced.php:110
441
+ #: application/Backend/tmpl/partial/post-access-form.php:95
442
+ #: media/js/aam.js:1073 media/js/aam.js:2451
443
  msgid "Reset"
444
  msgstr ""
445
 
447
  msgid "Update..."
448
  msgstr ""
449
 
450
+ #: application/Backend/View/Localization.php:59 media/js/aam.js:506
451
+ #: media/js/aam.js:1938 media/js/aam.js:3501 media/js/aam.js:3886
452
  msgid "Deleting..."
453
  msgstr ""
454
 
455
+ #: application/Backend/View/Localization.php:60 media/js/aam.js:512
456
  msgid "Failed to delete role"
457
  msgstr ""
458
 
461
  msgid "Delete Role"
462
  msgstr ""
463
 
464
+ #: application/Backend/View/Localization.php:62 media/js/aam.js:606
465
  msgid "Failed to lock user"
466
  msgstr ""
467
 
468
+ #: application/Backend/View/Localization.php:63 media/js/aam.js:698
469
  msgid "Search user"
470
  msgstr ""
471
 
472
+ #: application/Backend/View/Localization.php:64 media/js/aam.js:2440
473
  msgid "Counter was reset successfully"
474
  msgstr ""
475
 
476
+ #: application/Backend/View/Localization.php:65 media/js/aam.js:699
477
  msgid "_TOTAL_ user(s)"
478
  msgstr ""
479
 
480
+ #: application/Backend/View/Localization.php:66 media/js/aam.js:714
481
  msgid "Create New User"
482
  msgstr ""
483
 
484
  #: application/Backend/View/Localization.php:67
485
+ #: application/Backend/tmpl/page/subject-panel.php:38 media/js/aam.js:762
486
  msgid "Role"
487
  msgstr ""
488
 
489
  #: application/Backend/View/Localization.php:68
490
+ #: application/Core/Subject/Default.php:36 media/js/aam.js:1186
491
  msgid "All Users, Roles and Visitor"
492
  msgstr ""
493
 
494
+ #: application/Backend/View/Localization.php:69 media/js/aam.js:1157
495
+ #: media/js/aam.js:1232 media/js/aam.js:4323
496
  msgid "Failed to apply policy changes"
497
  msgstr ""
498
 
499
  #: application/Backend/View/Localization.php:70
500
  #: application/Backend/tmpl/partial/visitor-principal-subject-tab.php:14
501
+ #: media/js/aam.js:1151 media/js/aam.js:1160
502
  msgid "Attach Policy To Visitors"
503
  msgstr ""
504
 
505
  #: application/Backend/View/Localization.php:71
506
  #: application/Backend/tmpl/partial/visitor-principal-subject-tab.php:12
507
+ #: media/js/aam.js:1149 media/js/aam.js:1162
508
  msgid "Detach Policy From Visitors"
509
  msgstr ""
510
 
511
+ #: application/Backend/View/Localization.php:72 media/js/aam.js:645
512
+ #: media/js/aam.js:3677
513
  msgid "Generating URL..."
514
  msgstr ""
515
 
516
  #: application/Backend/View/Localization.php:73
517
+ #: application/Core/Subject/Visitor.php:43 media/js/aam.js:1112
518
  msgid "Anonymous"
519
  msgstr ""
520
 
521
+ #: application/Backend/View/Localization.php:74 media/js/aam.js:1138
522
+ #: media/js/aam.js:1213 media/js/aam.js:1804 media/js/aam.js:4169
523
  msgid "Processing..."
524
  msgstr ""
525
 
526
+ #: application/Backend/View/Localization.php:75 media/js/aam.js:723
527
  msgid "Loading roles..."
528
  msgstr ""
529
 
530
+ #: application/Backend/View/Localization.php:76 media/js/aam.js:655
531
+ #: media/js/aam.js:3688
532
  msgid "Failed to generate JWT token"
533
  msgstr ""
534
 
535
+ #: application/Backend/View/Localization.php:77 media/js/aam.js:1906
536
  msgid "Failed to process request"
537
  msgstr ""
538
 
544
  msgid "Current role"
545
  msgstr ""
546
 
547
+ #: application/Backend/View/Localization.php:80 media/js/aam.js:2827
548
  msgid "Manage Access"
549
  msgstr ""
550
 
551
+ #: application/Backend/View/Localization.php:81 media/js/aam.js:740
552
  msgid "Filter by role"
553
  msgstr ""
554
 
555
  #: application/Backend/View/Localization.php:82
556
+ #: application/Backend/View/PostOptionList.php:76 media/js/aam.js:2839
557
  msgid "Edit"
558
  msgstr ""
559
 
560
  #: application/Backend/View/Localization.php:83
561
  #: application/Backend/tmpl/page/subject-panel-advanced.php:111
562
+ #: application/Backend/tmpl/partial/post-access-form.php:66
563
+ #: application/Backend/tmpl/partial/post-access-form.php:96
564
+ #: application/Backend/tmpl/partial/post-access-form.php:169
565
+ #: application/Backend/tmpl/partial/post-access-form.php:190
566
+ #: application/Backend/tmpl/partial/post-access-form.php:212
567
+ #: application/Backend/tmpl/service/uri.php:108 media/js/aam.js:1040
568
+ #: media/js/aam.js:3480
569
  msgid "Save"
570
  msgstr ""
571
 
572
+ #: application/Backend/View/Localization.php:84 media/js/aam.js:213
573
  msgid "Manage role"
574
  msgstr ""
575
 
576
+ #: application/Backend/View/Localization.php:85 media/js/aam.js:234
577
  msgid "Edit role"
578
  msgstr ""
579
 
580
+ #: application/Backend/View/Localization.php:86 media/js/aam.js:287
581
+ #: media/js/aam.js:520
582
  msgid "Delete role"
583
  msgstr ""
584
 
585
+ #: application/Backend/View/Localization.php:87 media/js/aam.js:258
586
  msgid "Clone role"
587
  msgstr ""
588
 
589
+ #: application/Backend/View/Localization.php:88 media/js/aam.js:801
590
  msgid "Manage user"
591
  msgstr ""
592
 
593
+ #: application/Backend/View/Localization.php:89 media/js/aam.js:850
594
  msgid "Edit user"
595
  msgstr ""
596
 
597
+ #: application/Backend/View/Localization.php:90 media/js/aam.js:601
598
+ #: media/js/aam.js:602 media/js/aam.js:871 media/js/aam.js:882
599
  msgid "Lock user"
600
  msgstr ""
601
 
602
+ #: application/Backend/View/Localization.php:91 media/js/aam.js:595
603
+ #: media/js/aam.js:596 media/js/aam.js:895 media/js/aam.js:906
604
  msgid "Unlock user"
605
  msgstr ""
606
 
607
+ #: application/Backend/View/Localization.php:92 media/js/aam.js:1900
608
  msgid "WordPress core does not allow to grant this capability"
609
  msgstr ""
610
 
611
+ #: application/Backend/View/Localization.php:93 media/js/aam.js:1224
612
+ #: media/js/aam.js:1237
613
  msgid "Detach Policy From Everybody"
614
  msgstr ""
615
 
616
+ #: application/Backend/View/Localization.php:94 media/js/aam.js:1226
617
+ #: media/js/aam.js:1235
618
  msgid "Attach Policy To Everybody"
619
  msgstr ""
620
 
621
+ #: application/Backend/View/Localization.php:95 media/js/aam.js:1305
622
  msgid "Search Policy"
623
  msgstr ""
624
 
625
+ #: application/Backend/View/Localization.php:96 media/js/aam.js:1306
626
  msgid "_TOTAL_ Policies"
627
  msgstr ""
628
 
629
+ #: application/Backend/View/Localization.php:97 media/js/aam.js:1339
630
  msgid "Apply Policy"
631
  msgstr ""
632
 
633
+ #: application/Backend/View/Localization.php:98 media/js/aam.js:1359
634
  msgid "Revoke Policy"
635
  msgstr ""
636
 
637
  #: application/Backend/View/Localization.php:99
638
+ #: application/Service/AccessPolicy.php:170 media/js/aam.js:1376
639
  msgid "Edit Policy"
640
  msgstr ""
641
 
642
  #: application/Backend/View/Localization.php:100
643
  #: application/Backend/tmpl/service/menu.php:79
644
+ #: application/Backend/tmpl/service/toolbar.php:60 media/js/aam.js:1513
645
  msgid "Uncheck to allow"
646
  msgstr ""
647
 
648
  #: application/Backend/View/Localization.php:101
649
  #: application/Backend/tmpl/service/menu.php:79
650
+ #: application/Backend/tmpl/service/toolbar.php:60 media/js/aam.js:1515
651
  msgid "Check to restrict"
652
  msgstr ""
653
 
654
  #: application/Backend/View/Localization.php:102
655
+ #: application/Backend/tmpl/service/metabox.php:78 media/js/aam.js:1649
656
+ #: media/js/aam.js:1838
657
  msgid "Uncheck to show"
658
  msgstr ""
659
 
660
  #: application/Backend/View/Localization.php:103
661
+ #: application/Backend/tmpl/service/metabox.php:78 media/js/aam.js:1651
662
+ #: media/js/aam.js:1840
663
  msgid "Check to hide"
664
  msgstr ""
665
 
666
  #: application/Backend/View/Localization.php:104
667
+ #: application/Backend/tmpl/service/metabox.php:114 media/js/aam.js:1807
668
  msgid "Initialize"
669
  msgstr ""
670
 
671
+ #: application/Backend/View/Localization.php:105 media/js/aam.js:1992
672
  msgid "No capabilities"
673
  msgstr ""
674
 
675
+ #: application/Backend/View/Localization.php:106 media/js/aam.js:2667
676
  msgid "Post Type"
677
  msgstr ""
678
 
679
+ #: application/Backend/View/Localization.php:107 media/js/aam.js:2672
680
  msgid "Hierarchical Taxonomy"
681
  msgstr ""
682
 
683
+ #: application/Backend/View/Localization.php:108 media/js/aam.js:2677
684
  msgid "Hierarchical Term"
685
  msgstr ""
686
 
687
+ #: application/Backend/View/Localization.php:109 media/js/aam.js:2682
688
  msgid "Tag Taxonomy"
689
  msgstr ""
690
 
691
+ #: application/Backend/View/Localization.php:110 media/js/aam.js:2687
692
  msgid "Tag"
693
  msgstr ""
694
 
695
+ #: application/Backend/View/Localization.php:111 media/js/aam.js:2698
696
  msgid "Customized Settings"
697
  msgstr ""
698
 
699
+ #: application/Backend/View/Localization.php:112 media/js/aam.js:2768
700
+ #: media/js/aam.js:2790
701
  msgid "Parent"
702
  msgstr ""
703
 
704
+ #: application/Backend/View/Localization.php:113 media/js/aam.js:2813
705
  msgid "Drill-Down"
706
  msgstr ""
707
 
708
+ #: application/Backend/View/Localization.php:114 media/js/aam.js:3351
709
  msgid "_TOTAL_ route(s)"
710
  msgstr ""
711
 
712
+ #: application/Backend/View/Localization.php:115 media/js/aam.js:3353
713
  msgid "No API endpoints found. You might have APIs disabled."
714
  msgstr ""
715
 
716
+ #: application/Backend/View/Localization.php:116 media/js/aam.js:3354
717
+ #: media/js/aam.js:3773 media/js/aam.js:4123
718
  msgid "Nothing to show"
719
  msgstr ""
720
 
721
+ #: application/Backend/View/Localization.php:117 media/js/aam.js:3471
722
  msgid "Failed to save URI rule"
723
  msgstr ""
724
 
725
+ #: application/Backend/View/Localization.php:118 media/js/aam.js:3507
726
  msgid "Failed to delete URI rule"
727
  msgstr ""
728
 
729
+ #: application/Backend/View/Localization.php:119 media/js/aam.js:3543
730
  msgid "_TOTAL_ URI(s)"
731
  msgstr ""
732
 
733
+ #: application/Backend/View/Localization.php:120 media/js/aam.js:3582
734
  msgid "Edit Rule"
735
  msgstr ""
736
 
737
+ #: application/Backend/View/Localization.php:121 media/js/aam.js:3594
738
  msgid "Delete Rule"
739
  msgstr ""
740
 
741
+ #: application/Backend/View/Localization.php:122 media/js/aam.js:3609
742
  msgid "Denied"
743
  msgstr ""
744
 
745
+ #: application/Backend/View/Localization.php:123 media/js/aam.js:3616
746
  msgid "Redirected"
747
  msgstr ""
748
 
749
+ #: application/Backend/View/Localization.php:124 media/js/aam.js:3621
750
  msgid "Callback"
751
  msgstr ""
752
 
753
+ #: application/Backend/View/Localization.php:125 media/js/aam.js:3626
754
  msgid "Allowed"
755
  msgstr ""
756
 
757
+ #: application/Backend/View/Localization.php:126 media/js/aam.js:3673
758
  msgid "Generating token..."
759
  msgstr ""
760
 
761
+ #: application/Backend/View/Localization.php:127 media/js/aam.js:3770
762
  msgid "_TOTAL_ token(s)"
763
  msgstr ""
764
 
765
+ #: application/Backend/View/Localization.php:128 media/js/aam.js:3772
766
  msgid "No JWT tokens have been generated."
767
  msgstr ""
768
 
769
+ #: application/Backend/View/Localization.php:129 media/js/aam.js:3816
770
  msgid "Delete Token"
771
  msgstr ""
772
 
773
+ #: application/Backend/View/Localization.php:130 media/js/aam.js:3829
774
  msgid "View Token"
775
  msgstr ""
776
 
777
+ #: application/Backend/View/Localization.php:131 media/js/aam.js:3854
778
  msgid "Creating..."
779
  msgstr ""
780
 
781
+ #: application/Backend/View/Localization.php:132 media/js/aam.js:4120
782
  msgid "Search Service"
783
  msgstr ""
784
 
785
+ #: application/Backend/View/Localization.php:133 media/js/aam.js:4121
786
  msgid "_TOTAL_ service(s)"
787
  msgstr ""
788
 
789
  #: application/Backend/View/Localization.php:134
790
  #: application/Backend/tmpl/settings/content.php:19
791
  #: application/Backend/tmpl/settings/core.php:16
792
+ #: application/Backend/tmpl/settings/security.php:16 media/js/aam.js:4133
793
  msgid "Enabled"
794
  msgstr ""
795
 
796
  #: application/Backend/View/Localization.php:135
797
  #: application/Backend/tmpl/settings/content.php:19
798
  #: application/Backend/tmpl/settings/core.php:16
799
+ #: application/Backend/tmpl/settings/security.php:16 media/js/aam.js:4133
800
  msgid "Disabled"
801
  msgstr ""
802
 
803
+ #: application/Backend/View/Localization.php:136 media/js/aam.js:4175
804
  msgid "All settings has been cleared successfully"
805
  msgstr ""
806
 
807
  #: application/Backend/View/Localization.php:137
808
+ #: application/Backend/tmpl/metabox/main-iframe.php:97 media/js/aam.js:4187
809
  msgid "Clear"
810
  msgstr ""
811
 
812
  #: application/Backend/View/Localization.php:138
813
  #: application/Backend/tmpl/page/subject-panel-advanced.php:102
814
+ #: application/Backend/tmpl/partial/role-inheritance.php:7 media/js/aam.js:4359
815
  msgid "Select Role"
816
  msgstr ""
817
 
818
+ #: application/Backend/View/Localization.php:139 media/js/aam.js:4644
819
  msgid "Data has been saved to clipboard"
820
  msgstr ""
821
 
822
+ #: application/Backend/View/Localization.php:140 media/js/aam.js:4648
823
  msgid "Failed to save data to clipboard"
824
  msgstr ""
825
 
826
+ #: application/Backend/View/Localization.php:141 media/js/aam.js:4716
827
  msgid "Operation completed successfully"
828
  msgstr ""
829
 
848
  msgstr ""
849
 
850
  #: application/Backend/View/PostOptionList.php:41
851
+ #: application/Backend/tmpl/partial/post-access-form.php:56
852
  msgid "Teaser Message"
853
  msgstr ""
854
 
901
  msgstr ""
902
 
903
  #: application/Backend/View/PostOptionList.php:64
904
+ #: application/Backend/tmpl/partial/post-access-form.php:181
905
  msgid "Password Protected"
906
  msgstr ""
907
 
908
  #: application/Backend/View/PostOptionList.php:65
909
+ #: application/Backend/tmpl/partial/post-access-form.php:185
910
  #: application/Backend/tmpl/widget/login-frontend.php:29
911
  msgid "Password"
912
  msgstr ""
944
  #: application/Backend/View/PostOptionList.php:81
945
  #: application/Backend/tmpl/page/subject-panel-advanced.php:59
946
  #: application/Backend/tmpl/service/jwt.php:136
947
+ #: application/Backend/tmpl/service/uri.php:130 media/js/aam.js:3515
948
+ #: media/js/aam.js:3900
949
  msgid "Delete"
950
  msgstr ""
951
 
1004
  msgstr ""
1005
 
1006
  #: application/Backend/tmpl/metabox/main-iframe.php:90
1007
+ #: application/Backend/tmpl/page/addon-panel.php:80
 
1008
  #: application/Backend/tmpl/page/addon-panel.php:91
1009
+ #: application/Backend/tmpl/page/addon-panel.php:101
1010
+ #: application/Backend/tmpl/page/addon-panel.php:114
1011
  #: application/Backend/tmpl/page/subject-panel-advanced.php:8
1012
  #: application/Backend/tmpl/page/subject-panel-advanced.php:20
1013
  #: application/Backend/tmpl/page/subject-panel-advanced.php:30
1016
  #: application/Backend/tmpl/page/subject-panel-advanced.php:60
1017
  #: application/Backend/tmpl/page/subject-panel-advanced.php:70
1018
  #: application/Backend/tmpl/page/subject-panel-advanced.php:112
1019
+ #: application/Backend/tmpl/partial/post-access-form.php:55
1020
+ #: application/Backend/tmpl/partial/post-access-form.php:67
1021
+ #: application/Backend/tmpl/partial/post-access-form.php:77
1022
+ #: application/Backend/tmpl/partial/post-access-form.php:97
1023
+ #: application/Backend/tmpl/partial/post-access-form.php:107
1024
+ #: application/Backend/tmpl/partial/post-access-form.php:170
1025
+ #: application/Backend/tmpl/partial/post-access-form.php:180
1026
+ #: application/Backend/tmpl/partial/post-access-form.php:191
1027
+ #: application/Backend/tmpl/partial/post-access-form.php:201
1028
+ #: application/Backend/tmpl/partial/post-access-form.php:213
1029
  #: application/Backend/tmpl/service/capability.php:49
1030
  #: application/Backend/tmpl/service/capability.php:65
1031
  #: application/Backend/tmpl/service/capability.php:75
1068
 
1069
  #: application/Backend/tmpl/metabox/main-iframe.php:110
1070
  msgid ""
1071
+ "With the [Enterprise Package] get dedicated support channel and all the "
1072
+ "premium add-ons for a [bulk number of live websites]"
1073
  msgstr ""
1074
 
1075
  #: application/Backend/tmpl/metabox/main-iframe.php:111
1076
+ #: application/Backend/tmpl/page/addon-panel.php:65
1077
  msgid "Read More"
1078
  msgstr ""
1079
 
1088
  msgid "Syntax Error"
1089
  msgstr ""
1090
 
1091
+ #: application/Backend/tmpl/page/addon-panel.php:15
1092
  msgid ""
1093
  "By purchasing any of the premium addon(s) below, you obtain the license that "
1094
  "allows you to install and use AAM software for one physical WordPress "
1099
  "guaranteed] within 30 day from the time of purchase."
1100
  msgstr ""
1101
 
1102
+ #: application/Backend/tmpl/page/addon-panel.php:20
1103
  msgid "Download Addon"
1104
  msgstr ""
1105
 
1106
+ #: application/Backend/tmpl/page/addon-panel.php:24
1107
  msgid "Enter The License Key"
1108
  msgstr ""
1109
 
1110
+ #: application/Backend/tmpl/page/addon-panel.php:28
1111
  msgid "Download"
1112
  msgstr ""
1113
 
1114
+ #: application/Backend/tmpl/page/addon-panel.php:36
1115
  msgid "Premium"
1116
  msgstr ""
1117
 
1118
+ #: application/Backend/tmpl/page/addon-panel.php:37
1119
+ msgid "Check For Updates"
1120
+ msgstr ""
1121
+
1122
+ #: application/Backend/tmpl/page/addon-panel.php:49
1123
+ #: application/Backend/tmpl/page/addon-panel.php:51
1124
  msgid "License"
1125
  msgstr ""
1126
 
1127
+ #: application/Backend/tmpl/page/addon-panel.php:51
1128
  msgid "unregistered version"
1129
  msgstr ""
1130
 
1131
+ #: application/Backend/tmpl/page/addon-panel.php:59
1132
+ msgid "Update Available"
1133
+ msgstr ""
1134
+
1135
+ #: application/Backend/tmpl/page/addon-panel.php:61
1136
  msgid "Active"
1137
  msgstr ""
1138
 
1139
+ #: application/Backend/tmpl/page/addon-panel.php:63
1140
  msgid "Inactive"
1141
  msgstr ""
1142
 
1143
+ #: application/Backend/tmpl/page/addon-panel.php:81
1144
  msgid "License Key Info"
1145
  msgstr ""
1146
 
1147
+ #: application/Backend/tmpl/page/addon-panel.php:85
1148
  msgid ""
1149
  "Insert license key that you received after the payment (find the email "
1150
  "example below). It might take up to 2 hours to process the payment."
1151
  msgstr ""
1152
 
1153
+ #: application/Backend/tmpl/page/addon-panel.php:102
1154
  msgid "Plugin Installation"
1155
  msgstr ""
1156
 
1157
+ #: application/Backend/tmpl/page/addon-panel.php:106
1158
  msgid "The plugin has been successfully downloaded from our server."
1159
  msgstr ""
1160
 
1161
+ #: application/Backend/tmpl/page/addon-panel.php:110
1162
  #, php-format
1163
  msgid ""
1164
  "With AAM v6.0.0 or higher, all premium addons are [regular WordPress "
1335
  msgid "Reset to default"
1336
  msgstr ""
1337
 
1338
+ #: application/Backend/tmpl/partial/post-access-form.php:14
1339
+ #, php-format
1340
+ msgid ""
1341
+ "To fully protect your media library files, please refer to the %sHow to "
1342
+ "manage access to WordPress media library%s article."
1343
+ msgstr ""
1344
+
1345
+ #: application/Backend/tmpl/partial/post-access-form.php:29
1346
  msgid "change"
1347
  msgstr ""
1348
 
1349
+ #: application/Backend/tmpl/partial/post-access-form.php:60
1350
  msgid "Plain text or valid HTML"
1351
  msgstr ""
1352
 
1353
+ #: application/Backend/tmpl/partial/post-access-form.php:61
1354
  msgid "Enter your teaser message..."
1355
  msgstr ""
1356
 
1357
+ #: application/Backend/tmpl/partial/post-access-form.php:62
1358
  msgid ""
1359
  "Use [&#91;excerpt&#93;] shortcode to insert post excerpt to the teaser "
1360
  "message."
1361
  msgstr ""
1362
 
1363
+ #: application/Backend/tmpl/partial/post-access-form.php:78
1364
  msgid "Define Access Limit"
1365
  msgstr ""
1366
 
1367
+ #: application/Backend/tmpl/partial/post-access-form.php:82
1368
  msgid "Access Limit Threshold"
1369
  msgstr ""
1370
 
1371
+ #: application/Backend/tmpl/partial/post-access-form.php:83
1372
  msgid "Enter digital number"
1373
  msgstr ""
1374
 
1375
+ #: application/Backend/tmpl/partial/post-access-form.php:90
1376
  #, php-format
1377
  msgid "The user can access content [%d] times."
1378
  msgstr ""
1379
 
1380
+ #: application/Backend/tmpl/partial/post-access-form.php:108
1381
  msgid "Access Redirect"
1382
  msgstr ""
1383
 
1384
+ #: application/Backend/tmpl/partial/post-access-form.php:111
1385
  msgid ""
1386
  "Use REDIRECT option only if you want to redirect user to a different "
1387
  "location either temporary or permanently. Do not use it as a way to protect "
1388
  "access to avoid inconsistent user experience."
1389
  msgstr ""
1390
 
1391
+ #: application/Backend/tmpl/partial/post-access-form.php:116
1392
  #: application/Backend/tmpl/service/404redirect.php:26
1393
  #: application/Backend/tmpl/service/login-redirect.php:33
1394
  #: application/Backend/tmpl/service/logout-redirect.php:33
1397
  msgid "Redirected to existing page [(select from the drop-down)]"
1398
  msgstr ""
1399
 
1400
+ #: application/Backend/tmpl/partial/post-access-form.php:120
1401
  #: application/Backend/tmpl/service/logout-redirect.php:37
1402
  msgid "Redirected to the URL [(enter full URL starting from http or https)]"
1403
  msgstr ""
1404
 
1405
+ #: application/Backend/tmpl/partial/post-access-form.php:125
1406
  #: application/Backend/tmpl/service/redirect.php:49
1407
  #: application/Backend/tmpl/service/uri.php:52
1408
  msgid ""
1410
  "the restricted page)]"
1411
  msgstr ""
1412
 
1413
+ #: application/Backend/tmpl/partial/post-access-form.php:130
1414
  #: application/Backend/tmpl/service/404redirect.php:34
1415
  #: application/Backend/tmpl/service/login-redirect.php:41
1416
  #: application/Backend/tmpl/service/logout-redirect.php:41
1421
  msgid "Trigger PHP callback function [(valid %sPHP callback%s is required)]"
1422
  msgstr ""
1423
 
1424
+ #: application/Backend/tmpl/partial/post-access-form.php:134
1425
  #: application/Backend/tmpl/service/404redirect.php:38
1426
  #: application/Backend/tmpl/service/login-redirect.php:45
1427
  #: application/Backend/tmpl/service/logout-redirect.php:45
1431
  msgid "Existing Page"
1432
  msgstr ""
1433
 
1434
+ #: application/Backend/tmpl/partial/post-access-form.php:142
1435
  #: application/Backend/tmpl/service/404redirect.php:47
1436
  #: application/Backend/tmpl/service/login-redirect.php:54
1437
  #: application/Backend/tmpl/service/logout-redirect.php:54
1441
  msgid "-- Select Page --"
1442
  msgstr ""
1443
 
1444
+ #: application/Backend/tmpl/partial/post-access-form.php:148
1445
  #: application/Backend/tmpl/service/404redirect.php:53
1446
  #: application/Backend/tmpl/service/login-redirect.php:60
1447
  #: application/Backend/tmpl/service/logout-redirect.php:60
1450
  msgid "The URL"
1451
  msgstr ""
1452
 
1453
+ #: application/Backend/tmpl/partial/post-access-form.php:153
1454
  #: application/Backend/tmpl/service/404redirect.php:58
1455
  #: application/Backend/tmpl/service/login-redirect.php:65
1456
  #: application/Backend/tmpl/service/logout-redirect.php:65
1460
  msgid "PHP Callback Function"
1461
  msgstr ""
1462
 
1463
+ #: application/Backend/tmpl/partial/post-access-form.php:154
1464
  #: application/Backend/tmpl/service/redirect.php:92
1465
  #: application/Backend/tmpl/service/redirect.php:144
1466
  msgid "Enter valid callback"
1467
  msgstr ""
1468
 
1469
+ #: application/Backend/tmpl/partial/post-access-form.php:158
1470
  #: application/Backend/tmpl/service/uri.php:92
1471
  msgid "HTTP Redirect Code"
1472
  msgstr ""
1473
 
1474
+ #: application/Backend/tmpl/partial/post-access-form.php:186
1475
  msgid "Enter Password"
1476
  msgstr ""
1477
 
1478
+ #: application/Backend/tmpl/partial/post-access-form.php:202
1479
  msgid "Expiration Date/Time"
1480
  msgstr ""
1481
 
1808
  msgstr ""
1809
 
1810
  #: application/Backend/tmpl/service/menu.php:163
1811
+ #: application/Backend/tmpl/service/toolbar.php:101 media/js/aam.js:762
1812
  msgid "ID"
1813
  msgstr ""
1814
 
2167
  msgid "Lost your password?"
2168
  msgstr ""
2169
 
2170
+ #: application/Backend/tmpl/widget/login-frontend.php:102
2171
  msgid "Dashboard"
2172
  msgstr ""
2173
 
2174
+ #: application/Backend/tmpl/widget/login-frontend.php:103
2175
  msgid "Edit My Profile"
2176
  msgstr ""
2177
 
2178
+ #: application/Backend/tmpl/widget/login-frontend.php:105
2179
  msgid "Log Out"
2180
  msgstr ""
2181
 
2182
+ #: application/Core/Jwt/Issuer.php:69
2183
  msgid "Token has been revoked"
2184
  msgstr ""
2185
 
2186
+ #: application/Core/Object.php:142
2187
  #, php-format
2188
  msgid "AAM object function %s is not defined"
2189
  msgstr ""
2198
  msgid "The policy document is empty"
2199
  msgstr ""
2200
 
2201
+ #: application/Core/Redirect.php:77
2202
  #: application/Service/ExtendedCapabilities.php:81
2203
  #: application/Service/Route.php:171
2204
  msgid "Access Denied"
2258
  "user/role access management."
2259
  msgstr ""
2260
 
2261
+ #: application/Service/Content.php:93
2262
  msgid ""
2263
  "Manage access to your website content for any user, role or visitor. This "
2264
  "include access to posts, pages, media attachment, custom post types, "
2265
  "categories, tags, custom taxonomies and terms."
2266
  msgstr ""
2267
 
2268
+ #: application/Service/Content.php:138
2269
  msgid "Access Manager"
2270
  msgstr ""
2271
 
2272
+ #: application/Service/Content.php:216
2273
+ msgid "You are not allowed to publish this content"
2274
+ msgstr ""
2275
+
2276
+ #: application/Service/Content.php:582
2277
  msgid "[No teaser message provided]"
2278
  msgstr ""
2279
 
2321
  "authentication is completed successfully."
2322
  msgstr ""
2323
 
2324
+ #: application/Service/LogoutRedirect.php:64
2325
  msgid ""
2326
  "Manage logout redirect for any group of users or individual user after user "
2327
  "logged out successfully."
2451
  msgid "Login to continue"
2452
  msgstr ""
2453
 
2454
+ #: media/js/aam.js:128
2455
  msgid "Search role"
2456
  msgstr ""
2457
 
2458
+ #: media/js/aam.js:429
2459
  msgid "Add role"
2460
  msgstr ""
2461
 
2462
+ #: media/js/aam.js:1059 media/js/aam.js:2360 media/js/aam.js:2431
2463
+ #: media/js/aam.js:4756
2464
  msgid "Resetting..."
2465
  msgstr ""
2466
 
2467
+ #: media/js/aam.js:2662
2468
  msgid "Post"
2469
  msgstr ""
2470
 
2471
+ #: media/js/aam.js:2728
2472
  msgid "post type"
2473
  msgstr ""
2474
 
2475
+ #: media/js/aam.js:2733 media/js/aam.js:2759 media/js/aam.js:2772
2476
+ #: media/js/aam.js:2781 media/js/aam.js:2794
2477
  msgid "ID:"
2478
  msgstr ""
2479
 
2480
+ #: media/js/aam.js:2755
2481
  msgid "taxonomy"
2482
  msgstr ""
2483
 
media/css/aam.css CHANGED
@@ -654,7 +654,11 @@ input[type=radio]:checked + label:before {
654
  }
655
 
656
  .aam-outer-top-xs {
657
- margin-top: 30px;
 
 
 
 
658
  }
659
 
660
  .aam-highligh-row {
654
  }
655
 
656
  .aam-outer-top-xs {
657
+ margin-top: 30px !important;
658
+ }
659
+
660
+ .aam-outer-bottom-xxs {
661
+ margin-bottom: 15px !important;
662
  }
663
 
664
  .aam-highligh-row {
media/js/aam.js CHANGED
@@ -3,15 +3,11 @@
3
  * LICENSE: This file is subject to the terms and conditions defined in *
4
  * file 'license.txt', which is part of this source code package. *
5
  * ======================================================================
6
- *
7
- * @version 6.0.0
8
  */
9
 
10
- /**
11
- *
12
- * @param {type} $
13
- * @returns {undefined}
14
- */
15
  (function ($) {
16
 
17
  /**
@@ -2811,15 +2807,7 @@
2811
  $(container).append($('<i/>', {
2812
  'class': 'aam-row-action text-success icon-level-down'
2813
  }).bind('click', function () {
2814
- if (!$(this).prop('disabled')) {
2815
- $(this).prop('disabled', true);
2816
- //set filter
2817
- filter[data[2]] = data[0];
2818
- //finally reload the data
2819
- $('#post-list').DataTable().ajax.reload();
2820
- //update the breadcrumb
2821
- addBreadcrumbLevel('type', data[0], data[3]);
2822
- }
2823
  }).attr({
2824
  'data-toggle': "tooltip",
2825
  'title': getAAM().__('Drill-Down')
@@ -3923,7 +3911,7 @@
3923
  })(jQuery);
3924
 
3925
  /**
3926
- * Extensions Interface
3927
  *
3928
  * @param {jQuery} $
3929
  *
@@ -3931,6 +3919,27 @@
3931
  */
3932
  (function ($) {
3933
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3934
  /**
3935
  *
3936
  * @param {type} data
@@ -3945,7 +3954,7 @@
3945
  "Accept": "application/json"
3946
  },
3947
  success: function (response) {
3948
- cb(response)
3949
  },
3950
  error: function (response) {
3951
  error(response.responseJSON);
@@ -3953,6 +3962,51 @@
3953
  });
3954
  }
3955
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3956
  /**
3957
  *
3958
  * @returns {undefined}
@@ -3979,10 +4033,13 @@
3979
  if (response) {
3980
  getAAM().downloadFile(
3981
  response.content,
3982
- response.title + '.zip',
3983
  'application/zip'
3984
  );
3985
  $('#downloaded-info-modal').modal('show');
 
 
 
3986
  }
3987
  $('i', _this).attr('class', 'icon-download-cloud');
3988
  }, function (response) {
@@ -3990,6 +4047,14 @@
3990
  $('i', _this).attr('class', 'icon-download-cloud');
3991
  });
3992
  });
 
 
 
 
 
 
 
 
3993
  }
3994
  }
3995
 
3
  * LICENSE: This file is subject to the terms and conditions defined in *
4
  * file 'license.txt', which is part of this source code package. *
5
  * ======================================================================
 
 
6
  */
7
 
8
+ /**
9
+ *
10
+ */
 
 
11
  (function ($) {
12
 
13
  /**
2807
  $(container).append($('<i/>', {
2808
  'class': 'aam-row-action text-success icon-level-down'
2809
  }).bind('click', function () {
2810
+ $('td:eq(1) > a', row).trigger('click');
 
 
 
 
 
 
 
 
2811
  }).attr({
2812
  'data-toggle': "tooltip",
2813
  'title': getAAM().__('Drill-Down')
3911
  })(jQuery);
3912
 
3913
  /**
3914
+ * Add-ons Interface
3915
  *
3916
  * @param {jQuery} $
3917
  *
3919
  */
3920
  (function ($) {
3921
 
3922
+ /**
3923
+ *
3924
+ * @param {*} license
3925
+ * @param {*} slug
3926
+ * @param {*} expire
3927
+ */
3928
+ function registerLicense(license, slug, expire) {
3929
+ $.ajax(getLocal().ajaxurl, {
3930
+ type: 'POST',
3931
+ dataType: 'json',
3932
+ data: {
3933
+ action: 'aam',
3934
+ sub_action: 'Addons_Manager.registerLicense',
3935
+ _ajax_nonce: getLocal().nonce,
3936
+ license: license,
3937
+ slug: slug,
3938
+ expire: expire
3939
+ }
3940
+ });
3941
+ }
3942
+
3943
  /**
3944
  *
3945
  * @param {type} data
3954
  "Accept": "application/json"
3955
  },
3956
  success: function (response) {
3957
+ cb(response);
3958
  },
3959
  error: function (response) {
3960
  error(response.responseJSON);
3962
  });
3963
  }
3964
 
3965
+ /**
3966
+ *
3967
+ */
3968
+ function checkForUpdates(cb) {
3969
+ $.ajax(getLocal().ajaxurl, {
3970
+ type: 'POST',
3971
+ dataType: 'json',
3972
+ data: {
3973
+ action: 'aam',
3974
+ sub_action: 'Addons_Manager.getRegistry',
3975
+ _ajax_nonce: getLocal().nonce
3976
+ },
3977
+ success: function(response) {
3978
+ $.ajax(`${getLocal().system.apiEndpoint}/registry`, {
3979
+ type: 'POST',
3980
+ dataType: 'json',
3981
+ data: JSON.stringify(response),
3982
+ contentType: 'application/json',
3983
+ headers: {
3984
+ "Accept": "application/json"
3985
+ },
3986
+ success: function (response) {
3987
+ console.log(response);
3988
+ $.ajax(getLocal().ajaxurl, {
3989
+ type: 'POST',
3990
+ dataType: 'json',
3991
+ data: {
3992
+ action: 'aam',
3993
+ sub_action: 'Addons_Manager.checkForPluginUpdates',
3994
+ _ajax_nonce: getLocal().nonce,
3995
+ payload: JSON.stringify(response)
3996
+ },
3997
+ success: function() {
3998
+ cb();
3999
+ }
4000
+ });
4001
+ },
4002
+ error: function (response) {
4003
+ error(response.responseJSON);
4004
+ }
4005
+ });
4006
+ }
4007
+ });
4008
+ }
4009
+
4010
  /**
4011
  *
4012
  * @returns {undefined}
4033
  if (response) {
4034
  getAAM().downloadFile(
4035
  response.content,
4036
+ response.slug + '.zip',
4037
  'application/zip'
4038
  );
4039
  $('#downloaded-info-modal').modal('show');
4040
+
4041
+ // Store the license in the internal add-ons registry
4042
+ registerLicense(license, response.slug, response.expire);
4043
  }
4044
  $('i', _this).attr('class', 'icon-download-cloud');
4045
  }, function (response) {
4047
  $('i', _this).attr('class', 'icon-download-cloud');
4048
  });
4049
  });
4050
+
4051
+ $('#check-for-updates').bind('click', function() {
4052
+ $('i', $(this)).attr('class', 'icon-spin4 animate-spin');
4053
+ checkForUpdates(function() {
4054
+ $('i', '#check-for-updates').attr('class', 'icon-arrows-cw');
4055
+ getAAM().fetchContent('extensions');
4056
+ });
4057
+ });
4058
  }
4059
  }
4060
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: access control, membership, backend menu, user role, restricted content, s
4
  Requires at least: 4.7.0
5
  Requires PHP: 5.6.0
6
  Tested up to: 5.3
7
- Stable tag: 6.0.4
8
 
9
  All you need to manage access to WordPress websites on the frontend, backend and API levels for any role, user or visitors.
10
 
@@ -91,6 +91,24 @@ We take security and privacy very seriously, that is why there are several non-n
91
 
92
  == Changelog ==
93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  = 6.0.4 =
95
  * Fixed Bug: https://forum.aamplugin.com/d/367-authentication-jwt-expires-fatal-error
96
  * Fixed Bug: JWT validation endpoint did not check token's expiration based on UTC timezone
4
  Requires at least: 4.7.0
5
  Requires PHP: 5.6.0
6
  Tested up to: 5.3
7
+ Stable tag: 6.0.5
8
 
9
  All you need to manage access to WordPress websites on the frontend, backend and API levels for any role, user or visitors.
10
 
91
 
92
  == Changelog ==
93
 
94
+ = 6.0.5 =
95
+ * Fixed Bug: Refactored the license managements. Fixed bugs with license registration https://forum.aamplugin.com/d/356-unregistered-version-message
96
+ * Fixed Bug: Some servers do not allow WP core string concatenation. This was causing 403 https://forum.aamplugin.com/d/389-message-loading-aam-ui-please-wait-403-forbidden
97
+ * Fixed Bug: Media list on Posts & Terms tab is not rendered correctly due to improperly managed DB query for post type `attachment`
98
+ * Fixed Bug: AAM core getOption method did not deserialized settings properly in some cases
99
+ * Fixed Bug: Access Manager metabox was rendered for users that have ability to manage other users https://forum.aamplugin.com/d/371-you-are-not-allowed-to-manage-any-aam-subject
100
+ * Fixed Bug: Logout redirect was no working properly https://forum.aamplugin.com/d/339-problem-with-login-shortcode-and-widget
101
+ * Fixed Bug: The Drill-Down button was not working on Posts & Terms tab
102
+ * Fixed Bug: Access policy Action "Create" was not converted at all for the PostType resource
103
+ * Change: Simplified the first migration script by removing all error emissions. We captured enough migration logs to be confident about proper migration of the most critical settings
104
+ * Change: Changed verbiage for the Enterprise Package on the Add-ons area
105
+ * Change: Added info notification to the Posts & Terms tab for proper Media access controls
106
+ * Change: Merge internal Settings service with Core service
107
+ * Change: Added new migration script that fixed issues with legacy names for premium add-ons
108
+ * Change: Added new internal AddOn manager class
109
+ * New: Added the ability to check for new add-on updates from the Add-ons area
110
+ * New: Published free AAM add-on AAM Protected Media Files https://wordpress.org/plugins/aam-protected-media-files/
111
+
112
  = 6.0.4 =
113
  * Fixed Bug: https://forum.aamplugin.com/d/367-authentication-jwt-expires-fatal-error
114
  * Fixed Bug: JWT validation endpoint did not check token's expiration based on UTC timezone