Advanced Access Manager - Version 2.6

Version Description

  • Fixed bug with user inheritance
  • Fixed bug with user restore default settings
  • Fixed bug with installed extension detection
  • Improved core extension handling
  • Improved subject inheritance mechanism
  • Removed deprecated ConfigPress Tutorial
  • Optimized CSS
  • Regenerated translation pot file
Download this release

Release Info

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

Code changes from version 2.5 to 2.6

Files changed (96) hide show
  1. aam.php +28 -3
  2. application/control/object/post.php +15 -2
  3. application/control/object/term.php +7 -0
  4. application/control/subject.php +30 -0
  5. application/control/subject/role.php +7 -0
  6. application/control/subject/user.php +24 -14
  7. application/control/subject/visitor.php +7 -0
  8. application/core/extension.php +19 -0
  9. application/core/repository.php +84 -4
  10. application/view/extension.php +12 -37
  11. application/view/help.php +51 -0
  12. application/view/manager.php +15 -4
  13. application/view/menu.php +33 -22
  14. application/view/metabox.php +20 -6
  15. application/view/tmpl/capability.phtml +2 -2
  16. application/view/tmpl/configpress.phtml +0 -1
  17. application/view/tmpl/control_area.phtml +21 -9
  18. application/view/tmpl/extension.phtml +9 -11
  19. application/view/tmpl/help_developers.phtml +29 -0
  20. application/view/tmpl/help_extensions.phtml +16 -0
  21. application/view/tmpl/help_faq.phtml +38 -0
  22. application/view/tmpl/help_overview.phtml +48 -0
  23. application/view/tmpl/metabox.phtml +2 -2
  24. config.php +2 -2
  25. docs/configpress.pdf +0 -0
  26. extension/AAM_My_Feature/images/message-active.png +0 -0
  27. extension/AAM_My_Feature/images/message.png +0 -0
  28. extension/AAM_My_Feature/images/talk-active.png +0 -0
  29. extension/AAM_My_Feature/images/talk.png +0 -0
  30. extension/AAM_My_Feature/my_feature.css +0 -44
  31. extension/AAM_My_Feature/ui.phtml +4 -9
  32. lang/aam.mo +0 -0
  33. lang/aam.pot +131 -143
  34. media/css/aam.css +211 -518
  35. media/css/configpress.css +1 -9
  36. media/css/images/capability/add-active.png +0 -0
  37. media/css/images/capability/add.png +0 -0
  38. media/css/images/capability/copy-active.png +0 -0
  39. media/css/images/capability/copy.png +0 -0
  40. media/css/images/capability/filter-active.png +0 -0
  41. media/css/images/capability/filter.png +0 -0
  42. media/css/images/capability/restore-active.png +0 -0
  43. media/css/images/capability/restore.png +0 -0
  44. media/css/images/capability/select-active.png +0 -0
  45. media/css/images/capability/select.png +0 -0
  46. media/css/images/cmanager/add-active.png +0 -0
  47. media/css/images/cmanager/add.png +0 -0
  48. media/css/images/cmanager/block-user-active.png +0 -0
  49. media/css/images/cmanager/block-user.png +0 -0
  50. media/css/images/cmanager/delete-active.png +0 -0
  51. media/css/images/cmanager/delete.png +0 -0
  52. media/css/images/cmanager/duplicate-active.png +0 -0
  53. media/css/images/cmanager/duplicate.png +0 -0
  54. media/css/images/cmanager/edit-active.png +0 -0
  55. media/css/images/cmanager/edit-user-active.png +0 -0
  56. media/css/images/cmanager/edit-user.png +0 -0
  57. media/css/images/cmanager/edit.png +0 -0
  58. media/css/images/cmanager/filter-active.png +0 -0
  59. media/css/images/cmanager/filter.png +0 -0
  60. media/css/images/cmanager/refresh-active.png +0 -0
  61. media/css/images/cmanager/refresh.png +0 -0
  62. media/css/images/cmanager/restore-active.png +0 -0
  63. media/css/images/cmanager/restore.png +0 -0
  64. media/css/images/cmanager/select-active.png +0 -0
  65. media/css/images/cmanager/select.png +0 -0
  66. media/css/images/cmanager/settings-active.png +0 -0
  67. media/css/images/cmanager/settings.png +0 -0
  68. media/css/images/common/add.png +0 -0
  69. media/css/images/common/medium-iconset.png +0 -0
  70. media/css/images/{capability/ajax-loader.gif → common/medium-loader.gif} +0 -0
  71. media/css/images/common/small-iconset.png +0 -0
  72. media/css/images/configpress/pdf-active.png +0 -0
  73. media/css/images/configpress/pdf.png +0 -0
  74. media/css/images/event/add-active.png +0 -0
  75. media/css/images/event/add.png +0 -0
  76. media/css/images/metabox/add-active.png +0 -0
  77. media/css/images/metabox/add.png +0 -0
  78. media/css/images/metabox/refresh-active.png +0 -0
  79. media/css/images/metabox/refresh.png +0 -0
  80. media/css/images/post/delete-active.png +0 -0
  81. media/css/images/post/delete.png +0 -0
  82. media/css/images/post/edit-active.png +0 -0
  83. media/css/images/post/edit.png +0 -0
  84. media/css/images/post/filter-active.png +0 -0
  85. media/css/images/post/filter.png +0 -0
  86. media/css/images/post/refresh-active.png +0 -0
  87. media/css/images/post/refresh.png +0 -0
  88. media/css/images/post/restore-active.png +0 -0
  89. media/css/images/post/restore.png +0 -0
  90. media/css/images/post/settings-active.png +0 -0
  91. media/css/images/post/settings.png +0 -0
  92. media/css/images/post/trash-active.png +0 -0
  93. media/css/images/post/trash.png +0 -0
  94. media/js/aam.js +346 -324
  95. media/js/configpress.js +2 -3
  96. readme.txt +23 -3
aam.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  Plugin Name: Advanced Access Manager
5
  Description: Manage User and Role Access to WordPress Backend and Frontend.
6
- Version: 2.5
7
  Author: Vasyl Martyniuk <support@wpaam.com>
8
  Author URI: http://www.wpaam.com
9
 
@@ -67,6 +67,9 @@ class aam {
67
  //print required JS & CSS
68
  add_action('admin_print_scripts', array($this, 'printScripts'));
69
  add_action('admin_print_styles', array($this, 'printStyles'));
 
 
 
70
 
71
  //manager Admin Menu
72
  if (aam_Core_API::isNetworkPanel()) {
@@ -291,6 +294,24 @@ class aam {
291
 
292
  return $pages;
293
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
 
295
  /**
296
  * Filter Navigation menu
@@ -708,6 +729,7 @@ class aam {
708
  wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css');
709
  wp_enqueue_style('aam-style', AAM_MEDIA_URL . 'css/aam.css');
710
  wp_enqueue_style('aam-datatables', AAM_MEDIA_URL . 'css/jquery.dt.css');
 
711
  wp_enqueue_style(
712
  'aam-treeview', AAM_MEDIA_URL . 'css/jquery.treeview.css'
713
  );
@@ -752,6 +774,7 @@ class aam {
752
  wp_enqueue_script('jquery-ui-sortable');
753
  wp_enqueue_script('jquery-ui-menu');
754
  wp_enqueue_script('jquery-effects-highlight');
 
755
 
756
  $localization = array(
757
  'nonce' => wp_create_nonce('aam_ajax'),
@@ -764,6 +787,9 @@ class aam {
764
  'blog' => get_current_blog_id(),
765
  'user' => 0
766
  ),
 
 
 
767
  'labels' => aam_View_Manager::uiLabels()
768
  );
769
  wp_localize_script('aam-admin', 'aamLocal', $localization);
@@ -1158,8 +1184,7 @@ class aam {
1158
  * @access protected
1159
  */
1160
  protected function loadExtensions() {
1161
- $model = new aam_Core_Repository($this);
1162
- $model->load();
1163
  }
1164
 
1165
  }
3
  /**
4
  Plugin Name: Advanced Access Manager
5
  Description: Manage User and Role Access to WordPress Backend and Frontend.
6
+ Version: 2.6
7
  Author: Vasyl Martyniuk <support@wpaam.com>
8
  Author URI: http://www.wpaam.com
9
 
67
  //print required JS & CSS
68
  add_action('admin_print_scripts', array($this, 'printScripts'));
69
  add_action('admin_print_styles', array($this, 'printStyles'));
70
+
71
+ //add help menu
72
+ add_filter('contextual_help', array($this, 'contextualHelp'), 10, 3);
73
 
74
  //manager Admin Menu
75
  if (aam_Core_API::isNetworkPanel()) {
294
 
295
  return $pages;
296
  }
297
+
298
+ /**
299
+ * Contextual Help Menu
300
+ *
301
+ * @param type $contextual_help
302
+ * @param type $screen_id
303
+ * @param type $screen
304
+ *
305
+ * @return
306
+ */
307
+ public function contextualHelp($contextual_help, $screen_id, $screen){
308
+ if ($this->isAAMScreen()){
309
+ $help = new aam_View_Help();
310
+ $help->content($screen);
311
+ }
312
+
313
+ return $contextual_help;
314
+ }
315
 
316
  /**
317
  * Filter Navigation menu
729
  wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css');
730
  wp_enqueue_style('aam-style', AAM_MEDIA_URL . 'css/aam.css');
731
  wp_enqueue_style('aam-datatables', AAM_MEDIA_URL . 'css/jquery.dt.css');
732
+ wp_enqueue_style('wp-pointer');
733
  wp_enqueue_style(
734
  'aam-treeview', AAM_MEDIA_URL . 'css/jquery.treeview.css'
735
  );
774
  wp_enqueue_script('jquery-ui-sortable');
775
  wp_enqueue_script('jquery-ui-menu');
776
  wp_enqueue_script('jquery-effects-highlight');
777
+ wp_enqueue_script('wp-pointer');
778
 
779
  $localization = array(
780
  'nonce' => wp_create_nonce('aam_ajax'),
787
  'blog' => get_current_blog_id(),
788
  'user' => 0
789
  ),
790
+ 'contextualMenu' => get_user_meta(
791
+ get_current_user_id(), 'aam_contextual_menu', true
792
+ ),
793
  'labels' => aam_View_Manager::uiLabels()
794
  );
795
  wp_localize_script('aam-admin', 'aamLocal', $localization);
1184
  * @access protected
1185
  */
1186
  protected function loadExtensions() {
1187
+ aam_Core_Repository::getInstance($this)->load();
 
1188
  }
1189
 
1190
  }
application/control/object/post.php CHANGED
@@ -122,6 +122,12 @@ class aam_Control_Object_Post extends aam_Control_Object {
122
  //try to get any parent access
123
  $option = $this->inheritAccess($term_id);
124
  }
 
 
 
 
 
 
125
 
126
  $this->setOption(
127
  apply_filters('aam_post_access_option', $option, $this)
@@ -145,9 +151,16 @@ class aam_Control_Object_Post extends aam_Control_Object {
145
  }
146
 
147
  /**
148
- *
149
- * @param type $term_id
 
 
 
 
 
150
  * @return array
 
 
151
  */
152
  private function inheritAccess($term_id) {
153
  $term = new aam_Control_Object_Term($this->getSubject(), $term_id);
122
  //try to get any parent access
123
  $option = $this->inheritAccess($term_id);
124
  }
125
+ //even if parent category is empty, try to read the parent subject
126
+ if (empty($option)){
127
+ $option = $this->getSubject()->readParentSubject(
128
+ self::UID, $this->getPost()->ID
129
+ );
130
+ }
131
 
132
  $this->setOption(
133
  apply_filters('aam_post_access_option', $option, $this)
151
  }
152
 
153
  /**
154
+ * Inherit access from parent term
155
+ *
156
+ * Go throught the hierarchical branch of terms and retrieve access from the
157
+ * first parent term that has access defined.
158
+ *
159
+ * @param int $term_id
160
+ *
161
  * @return array
162
+ *
163
+ * @access private
164
  */
165
  private function inheritAccess($term_id) {
166
  $term = new aam_Control_Object_Term($this->getSubject(), $term_id);
application/control/object/term.php CHANGED
@@ -104,6 +104,13 @@ class aam_Control_Object_Term extends aam_Control_Object {
104
  //try to get any parent restriction
105
  $access = $this->inheritAccess($this->getTerm()->parent);
106
  }
 
 
 
 
 
 
 
107
 
108
  $this->setOption(
109
  apply_filters('aam_term_access_option', $access, $this)
104
  //try to get any parent restriction
105
  $access = $this->inheritAccess($this->getTerm()->parent);
106
  }
107
+
108
+ //even if parent category is empty, try to read the parent subject
109
+ if (empty($access)){
110
+ $access = $this->getSubject()->readParentSubject(
111
+ self::UID, $this->getTerm()->term_id
112
+ );
113
+ }
114
 
115
  $this->setOption(
116
  apply_filters('aam_term_access_option', $access, $this)
application/control/subject.php CHANGED
@@ -433,4 +433,34 @@ abstract class aam_Control_Subject {
433
  */
434
  abstract protected function retrieveSubject();
435
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
436
  }
433
  */
434
  abstract protected function retrieveSubject();
435
 
436
+ /**
437
+ * Read object from parent subject
438
+ *
439
+ * @param string $object
440
+ * @param mixed $object_id
441
+ *
442
+ * @return mixed
443
+ *
444
+ * @access public
445
+ */
446
+ public function readParentSubject($object, $object_id){
447
+ if ($subject = $this->getParentSubject()){
448
+ $option = $subject->getObject($object, $object_id)->getOption();
449
+ } else {
450
+ $option = null;
451
+ }
452
+
453
+ return $option;
454
+ }
455
+
456
+ /**
457
+ * Retrive parent subject
458
+ *
459
+ * If there is no parent subject, return null
460
+ *
461
+ * @return aam_Control_Subject|null
462
+ *
463
+ * @access public
464
+ */
465
+ abstract public function getParentSubject();
466
  }
application/control/subject/role.php CHANGED
@@ -278,5 +278,12 @@ class aam_Control_Subject_Role extends aam_Control_Subject {
278
  public function clearCache(){
279
  return true;
280
  }
 
 
 
 
 
 
 
281
 
282
  }
278
  public function clearCache(){
279
  return true;
280
  }
281
+
282
+ /**
283
+ * @inheritdoc
284
+ */
285
+ public function getParentSubject(){
286
+ return null;
287
+ }
288
 
289
  }
application/control/subject/user.php CHANGED
@@ -247,19 +247,30 @@ class aam_Control_Subject_User extends aam_Control_Subject {
247
  $this->getOptionName($object, $object_id), $this->getId()
248
  );
249
  if (empty($option) && $inherit) {
250
- //try to get this option from the User's Role
251
- $roles = $this->getSubject()->roles;
252
- //first user role is counted only. AAM does not support multi-roles
253
- $subject_role = array_shift($roles);
254
- //in case of multisite & current user does not belong to the site
255
- if ($subject_role){
256
- $role = new aam_Control_Subject_Role($subject_role);
257
- $option = $role->getObject($object, $object_id)->getOption();
258
- }
259
  }
260
 
261
  return $option;
262
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
263
 
264
  /**
265
  *
@@ -298,15 +309,14 @@ class aam_Control_Subject_User extends aam_Control_Subject {
298
  {
299
  global $wpdb;
300
 
301
- $mask = 'aam_%_' . $this->getId();
302
-
303
  //clear all settings in usermeta table
304
  $prefix = $wpdb->get_blog_prefix();
305
- $wpdb->query(
306
- "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE '{$prefix}{$mask}'"
307
- );
308
 
309
  //clear all settings in postmeta table
 
310
  $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE '{$mask}'");
311
 
312
  $this->clearCache(); //delete cache
247
  $this->getOptionName($object, $object_id), $this->getId()
248
  );
249
  if (empty($option) && $inherit) {
250
+ $option = $this->readParentSubject($object, $object_id);
 
 
 
 
 
 
 
 
251
  }
252
 
253
  return $option;
254
  }
255
+
256
+ /**
257
+ * @inheritdoc
258
+ */
259
+ public function getParentSubject() {
260
+ //try to get this option from the User's Role
261
+ $roles = $this->getSubject()->roles;
262
+ //first user role is counted only. AAM does not support multi-roles
263
+ $subject_role = array_shift($roles);
264
+
265
+ if ($subject_role){
266
+ //in case of multisite & current user does not belong to the site
267
+ $role = new aam_Control_Subject_Role($subject_role);
268
+ } else {
269
+ $role = null;
270
+ }
271
+
272
+ return $role;
273
+ }
274
 
275
  /**
276
  *
309
  {
310
  global $wpdb;
311
 
 
 
312
  //clear all settings in usermeta table
313
  $prefix = $wpdb->get_blog_prefix();
314
+ $query = "DELETE FROM {$wpdb->usermeta} WHERE ";
315
+ $query .= "meta_key LIKE '{$prefix}aam_%' AND user_id = " . $this->getId();
316
+ $wpdb->query($query);
317
 
318
  //clear all settings in postmeta table
319
+ $mask = 'aam_%_' . $this->getId();
320
  $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE '{$mask}'");
321
 
322
  $this->clearCache(); //delete cache
application/control/subject/visitor.php CHANGED
@@ -190,5 +190,12 @@ class aam_Control_Subject_Visitor extends aam_Control_Subject
190
 
191
  do_action('aam_clear_all_options', $this);
192
  }
 
 
 
 
 
 
 
193
 
194
  }
190
 
191
  do_action('aam_clear_all_options', $this);
192
  }
193
+
194
+ /**
195
+ * @inheritdoc
196
+ */
197
+ public function getParentSubject(){
198
+ return null;
199
+ }
200
 
201
  }
application/core/extension.php CHANGED
@@ -16,6 +16,11 @@
16
  */
17
  class AAM_Core_Extension {
18
 
 
 
 
 
 
19
  /**
20
  * Parent AAM object
21
  *
@@ -37,6 +42,20 @@ class AAM_Core_Extension {
37
  public function __construct(aam $parent) {
38
  $this->setParent($parent);
39
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
  /**
42
  * Set Parent Object
16
  */
17
  class AAM_Core_Extension {
18
 
19
+ /**
20
+ * Extension iterator
21
+ */
22
+ const ITERATOR = 1;
23
+
24
  /**
25
  * Parent AAM object
26
  *
42
  public function __construct(aam $parent) {
43
  $this->setParent($parent);
44
  }
45
+
46
+ /**
47
+ * Get extension iterator
48
+ *
49
+ * Extension iterator is kind of extension's version with the only difference:
50
+ * the iterator is incremented only when activation hook has to be fired.
51
+ *
52
+ * @return int
53
+ *
54
+ * @access public
55
+ */
56
+ public function getInterator(){
57
+ return self::ITERATOR;
58
+ }
59
 
60
  /**
61
  * Set Parent Object
application/core/repository.php CHANGED
@@ -31,6 +31,25 @@ class aam_Core_Repository {
31
  * Extensions installed successfully
32
  */
33
  const STATUS_INSTALLED = 'installed';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  /**
36
  * Basedir to Extentions repository
@@ -73,11 +92,34 @@ class aam_Core_Repository {
73
  *
74
  * @return void
75
  *
76
- * @access public
77
  */
78
- public function __construct(aam $parent = null) {
79
  $this->setParent($parent);
80
  $this->_basedir = AAM_BASE_DIR . 'extension';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  }
82
 
83
  /**
@@ -100,6 +142,42 @@ class aam_Core_Repository {
100
  }
101
  }
102
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
 
104
  /**
105
  * Download extension from the external server
@@ -143,8 +221,9 @@ class aam_Core_Repository {
143
  $repository[$extension] = (object) array(
144
  'status' => self::STATUS_INSTALLED,
145
  'license' => $license,
 
146
  //ugly way but quick
147
- 'basedir' => $this->_basedir . '/' . str_replace(' ', '_', $extension)
148
  );
149
  aam_Core_API::updateBlogOption('aam_extensions', $repository, 1);
150
  $response = true;
@@ -212,7 +291,7 @@ class aam_Core_Repository {
212
  */
213
  protected function retrieve($license) {
214
  global $wp_filesystem;
215
-
216
  $url = WPAAM_REST_API . '?method=extension&license=' . $license;
217
  $res = wp_remote_request($url, array('timeout' => 10));
218
  $response = false;
@@ -270,6 +349,7 @@ class aam_Core_Repository {
270
  if (file_exists($bootstrap) && !isset($this->_cache[$extension])) {
271
  //bootstrap the extension
272
  $this->_cache[$extension] = require_once($bootstrap);
 
273
  //check if activation hook still present and trigger warning if yes
274
  if (file_exists($this->_basedir . "/{$extension}/activation.php")){
275
  aam_Core_Console::add(
31
  * Extensions installed successfully
32
  */
33
  const STATUS_INSTALLED = 'installed';
34
+
35
+ /**
36
+ * Single instance of itself
37
+ *
38
+ * @var aam_Core_Repository
39
+ *
40
+ * @access private
41
+ * @static
42
+ */
43
+ private static $_instance = null;
44
+
45
+ /**
46
+ * Extension repository
47
+ *
48
+ * @var array
49
+ *
50
+ * @access private
51
+ */
52
+ private $_repository = array();
53
 
54
  /**
55
  * Basedir to Extentions repository
92
  *
93
  * @return void
94
  *
95
+ * @access protected
96
  */
97
+ protected function __construct(aam $parent = null) {
98
  $this->setParent($parent);
99
  $this->_basedir = AAM_BASE_DIR . 'extension';
100
+ //retrieve list of extensions from the database
101
+ $repository = aam_Core_API::getBlogOption('aam_extensions', array(), 1);
102
+ if (is_array($repository)){
103
+ $this->_repository = $repository;
104
+ }
105
+ }
106
+
107
+ /**
108
+ * Get single instance of itself
109
+ *
110
+ * @param aam $parent
111
+ *
112
+ * @return aam_Core_Repository
113
+ *
114
+ * @access public
115
+ * @static
116
+ */
117
+ public static function getInstance(aam $parent = null){
118
+ if (is_null(self::$_instance)){
119
+ self::$_instance = new self($parent);
120
+ }
121
+
122
+ return self::$_instance;
123
  }
124
 
125
  /**
142
  }
143
  }
144
  }
145
+
146
+ /**
147
+ * Check if extensions exists
148
+ *
149
+ * @param string $extension
150
+ *
151
+ * @return boolean
152
+ *
153
+ * @access public
154
+ */
155
+ public function hasExtension($extension){
156
+ $response = false;
157
+
158
+ if (isset($this->_repository[$extension])){
159
+ $info = $this->_repository[$extension];
160
+ if ($info->status == self::STATUS_INSTALLED
161
+ && file_exists($info->basedir)){
162
+ $response = true;
163
+ }
164
+ }
165
+
166
+ return $response;
167
+ }
168
+
169
+ /**
170
+ * Get Extension info
171
+ *
172
+ * @param string $ext
173
+ *
174
+ * @return stdClass
175
+ *
176
+ * @access public
177
+ */
178
+ public function getExtension($ext){
179
+ return ($this->hasExtension($ext) ? $this->_repository[$ext] : new stdClass);
180
+ }
181
 
182
  /**
183
  * Download extension from the external server
221
  $repository[$extension] = (object) array(
222
  'status' => self::STATUS_INSTALLED,
223
  'license' => $license,
224
+ 'iteration' => 0, //this counter is used for extension activation
225
  //ugly way but quick
226
+ 'basedir' => "{$this->_basedir}/" . str_replace(' ', '_', $extension)
227
  );
228
  aam_Core_API::updateBlogOption('aam_extensions', $repository, 1);
229
  $response = true;
291
  */
292
  protected function retrieve($license) {
293
  global $wp_filesystem;
294
+
295
  $url = WPAAM_REST_API . '?method=extension&license=' . $license;
296
  $res = wp_remote_request($url, array('timeout' => 10));
297
  $response = false;
349
  if (file_exists($bootstrap) && !isset($this->_cache[$extension])) {
350
  //bootstrap the extension
351
  $this->_cache[$extension] = require_once($bootstrap);
352
+ //TODO - Implement Iterator here!!
353
  //check if activation hook still present and trigger warning if yes
354
  if (file_exists($this->_basedir . "/{$extension}/activation.php")){
355
  aam_Core_Console::add(
application/view/extension.php CHANGED
@@ -20,11 +20,11 @@ class aam_View_Extension extends aam_View_Abstract {
20
  /**
21
  * Extensions Repository
22
  *
23
- * @var array
24
  *
25
  * @access private
26
  */
27
- private $_repository = array();
28
 
29
  /**
30
  * Constructor
@@ -37,12 +37,7 @@ class aam_View_Extension extends aam_View_Abstract {
37
  */
38
  public function __construct() {
39
  parent::__construct();
40
-
41
- //get repository
42
- $repository = aam_Core_API::getBlogOption('aam_extensions', array(), 1);
43
- if (is_array($repository)){
44
- $this->_repository = $repository;
45
- }
46
  }
47
 
48
  /**
@@ -53,16 +48,15 @@ class aam_View_Extension extends aam_View_Abstract {
53
  * @access public
54
  */
55
  public function install(){
56
- $repo = new aam_Core_Repository;
57
  $license = aam_Core_Request::post('license');
58
  $ext = aam_Core_Request::post('extension');
59
 
60
- if ($license && $repo->add($ext, $license)){
61
  $response = array('status' => 'success');
62
  } else {
63
  $response = array(
64
  'status' => 'failure',
65
- 'reasons' => $repo->getErrors()
66
  );
67
  }
68
 
@@ -77,16 +71,15 @@ class aam_View_Extension extends aam_View_Abstract {
77
  * @access public
78
  */
79
  public function remove(){
80
- $repo = new aam_Core_Repository;
81
  $license = aam_Core_Request::post('license');
82
  $ext = aam_Core_Request::post('extension');
83
 
84
- if ($repo && $repo->remove($ext, $license)){
85
  $response = array('status' => 'success');
86
  } else {
87
  $response = array(
88
  'status' => 'failure',
89
- 'reasons' => $repo->getErrors()
90
  );
91
  }
92
 
@@ -112,29 +105,11 @@ class aam_View_Extension extends aam_View_Abstract {
112
  }
113
 
114
  /**
115
- * Check if extensions exists
116
- *
117
- * @param string $extension
118
- *
119
- * @return boolean
120
- *
121
- * @access public
122
- */
123
- public function hasExtension($extension){
124
- return (isset($this->_repository[$extension]) ? true : false);
125
- }
126
-
127
- /**
128
- * Get Extension
129
- *
130
- * @param string $extension
131
- *
132
- * @return stdClass
133
- *
134
- * @access public
135
  */
136
- public function getExtension($extension){
137
- return ($this->hasExtension($extension) ? $this->_repository[$extension] : new stdClass);
138
  }
139
-
140
  }
20
  /**
21
  * Extensions Repository
22
  *
23
+ * @var aam_Core_Repository
24
  *
25
  * @access private
26
  */
27
+ private $_repository;
28
 
29
  /**
30
  * Constructor
37
  */
38
  public function __construct() {
39
  parent::__construct();
40
+ $this->_repository = aam_Core_Repository::getInstance();
 
 
 
 
 
41
  }
42
 
43
  /**
48
  * @access public
49
  */
50
  public function install(){
 
51
  $license = aam_Core_Request::post('license');
52
  $ext = aam_Core_Request::post('extension');
53
 
54
+ if ($license && $this->getRepository()->add($ext, $license)){
55
  $response = array('status' => 'success');
56
  } else {
57
  $response = array(
58
  'status' => 'failure',
59
+ 'reasons' => $this->getRepository()->getErrors()
60
  );
61
  }
62
 
71
  * @access public
72
  */
73
  public function remove(){
 
74
  $license = aam_Core_Request::post('license');
75
  $ext = aam_Core_Request::post('extension');
76
 
77
+ if ($this->getRepository()->remove($ext, $license)){
78
  $response = array('status' => 'success');
79
  } else {
80
  $response = array(
81
  'status' => 'failure',
82
+ 'reasons' => $this->getRepository()->getErrors()
83
  );
84
  }
85
 
105
  }
106
 
107
  /**
108
+ *
109
+ * @return aam_Core_Respository
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  */
111
+ public function getRepository(){
112
+ return $this->_repository;
113
  }
114
+
115
  }
application/view/help.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ *
12
+ * @package AAM
13
+ * @author Vasyl Martyniuk <support@wpaam.com>
14
+ * @copyright Copyright C 2013 Vasyl Martyniuk
15
+ * @license GNU General Public License {@link http://www.gnu.org/licenses/}
16
+ */
17
+ class aam_View_Help extends aam_View_Abstract {
18
+
19
+ /**
20
+ * Get View content
21
+ *
22
+ * @return string
23
+ *
24
+ * @access public
25
+ */
26
+ public function content($screen) {
27
+ $basedir = dirname(__FILE__) . '/tmpl/';
28
+ $screen->add_help_tab(array(
29
+ 'id' => 'faq',
30
+ 'title' => 'FAQ',
31
+ 'content' => $this->loadTemplate($basedir . 'help_faq.phtml')
32
+ ));
33
+ //add overview tab
34
+ $screen->add_help_tab(array(
35
+ 'id' => 'overview',
36
+ 'title' => 'Overview',
37
+ 'content' => $this->loadTemplate($basedir . 'help_overview.phtml')
38
+ ));
39
+ $screen->add_help_tab(array(
40
+ 'id' => 'extensions',
41
+ 'title' => 'Extensions',
42
+ 'content' => $this->loadTemplate($basedir . 'help_extensions.phtml')
43
+ ));
44
+ $screen->add_help_tab(array(
45
+ 'id' => 'developers',
46
+ 'title' => 'Developers',
47
+ 'content' => $this->loadTemplate($basedir . 'help_developers.phtml')
48
+ ));
49
+ }
50
+
51
+ }
application/view/manager.php CHANGED
@@ -45,7 +45,7 @@ class aam_View_Manager extends aam_View_Abstract {
45
  * Default ajax response
46
  */
47
  const DEFAULT_AJAX_RESPONSE = -1;
48
-
49
  /**
50
  * Constructor
51
  *
@@ -194,8 +194,7 @@ class aam_View_Manager extends aam_View_Abstract {
194
  *
195
  * @access public
196
  */
197
- public function processAjax()
198
- {
199
  $sub_method = aam_Core_Request::request('sub_action');
200
 
201
  if (method_exists($this, $sub_method)) {
@@ -795,6 +794,17 @@ class aam_View_Manager extends aam_View_Abstract {
795
  'status' => ($result === false ? 'failure' : 'success')
796
  ));
797
  }
 
 
 
 
 
 
 
 
 
 
 
798
 
799
  /**
800
  * UI Javascript labels
@@ -855,7 +865,8 @@ class aam_View_Manager extends aam_View_Abstract {
855
  'Trash Post' => __('Trash Post', 'aam'),
856
  'Restore Default Access' => __('Restore Default Access', 'aam'),
857
  'Duplicate' => __('Duplicate', 'aam'),
858
- 'Actions Locked' => __('Actions Locked', 'aam')
 
859
  ));
860
  }
861
 
45
  * Default ajax response
46
  */
47
  const DEFAULT_AJAX_RESPONSE = -1;
48
+
49
  /**
50
  * Constructor
51
  *
194
  *
195
  * @access public
196
  */
197
+ public function processAjax(){
 
198
  $sub_method = aam_Core_Request::request('sub_action');
199
 
200
  if (method_exists($this, $sub_method)) {
794
  'status' => ($result === false ? 'failure' : 'success')
795
  ));
796
  }
797
+
798
+ /**
799
+ * Discard Help Pointer
800
+ *
801
+ * @return string
802
+ *
803
+ * @access public
804
+ */
805
+ public function discardHelp(){
806
+ return update_user_meta(get_current_user_id(), 'aam_contextual_menu', 1);
807
+ }
808
 
809
  /**
810
  * UI Javascript labels
865
  'Trash Post' => __('Trash Post', 'aam'),
866
  'Restore Default Access' => __('Restore Default Access', 'aam'),
867
  'Duplicate' => __('Duplicate', 'aam'),
868
+ 'Actions Locked' => __('Actions Locked', 'aam'),
869
+ 'AAM Documentation' => __('<h3>AAM Documentation</h3><div class="inner">Find more information about Advanced Access Manager here.</div>', 'aam'),
870
  ));
871
  }
872
 
application/view/menu.php CHANGED
@@ -23,16 +23,16 @@ class aam_View_Menu extends aam_View_Abstract {
23
  public function content() {
24
  return $this->loadTemplate(dirname(__FILE__) . '/tmpl/menu.phtml');
25
  }
26
-
27
  /**
28
  * @inheritdoc
29
  */
30
  public function defaultOption($options) {
31
- //make sure that some parts are always in place
32
  if (!isset($options[aam_Control_Object_Menu::UID])) {
33
  $options[aam_Control_Object_Menu::UID] = array();
34
  }
35
-
36
  return $options;
37
  }
38
 
@@ -44,9 +44,9 @@ class aam_View_Menu extends aam_View_Abstract {
44
  */
45
  public function getMenu() {
46
  global $menu;
47
-
48
  $response = array();
49
-
50
  //let's create menu list with submenus
51
  foreach ($menu as $menu_item) {
52
  if (!preg_match('/^separator/', $menu_item[2])) {
@@ -62,10 +62,10 @@ class aam_View_Menu extends aam_View_Abstract {
62
  }
63
  }
64
  }
65
-
66
  return $response;
67
  }
68
-
69
  /**
70
  * Prepare filtered submenu
71
  *
@@ -85,24 +85,35 @@ class aam_View_Menu extends aam_View_Abstract {
85
  if ($this->getSubject()->hasCapability($submenu_item[1]) !== false) {
86
  //prepare title
87
  $submenu_title = $this->removeHTML($submenu_item[0]);
88
- if (mb_strlen($submenu_title) > 18) {
89
- $submenu_short = mb_substr($submenu_title, 0, 15) . '..';
90
- } else {
91
- $submenu_short = $submenu_title;
92
- }
93
-
94
  $filtered_submenu[] = array(
95
  'name' => $submenu_title,
96
- 'short' => $submenu_short,
97
  'id' => $submenu_item[2]
98
  );
99
  }
100
  }
101
  }
102
-
103
  return $filtered_submenu;
104
  }
105
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  /**
107
  * Check if the entire branch is restricted
108
  *
@@ -112,17 +123,17 @@ class aam_View_Menu extends aam_View_Abstract {
112
  *
113
  * @access public
114
  */
115
- public function hasRestrictedAll($menu){
116
  $menuControl = $this->getSubject()->getObject(aam_Control_Object_Menu::UID);
117
  $response = $menuControl->has($menu['id']);
118
-
119
- foreach($menu['submenu'] as $submenu){
120
- if ($menuControl->has($submenu['id']) === false){
121
  $response = false;
122
  break;
123
  }
124
  }
125
-
126
  return $response;
127
  }
128
 
@@ -136,4 +147,4 @@ class aam_View_Menu extends aam_View_Abstract {
136
  return strip_tags($text);
137
  }
138
 
139
- }
23
  public function content() {
24
  return $this->loadTemplate(dirname(__FILE__) . '/tmpl/menu.phtml');
25
  }
26
+
27
  /**
28
  * @inheritdoc
29
  */
30
  public function defaultOption($options) {
31
+ //make sure that some parts are always in place
32
  if (!isset($options[aam_Control_Object_Menu::UID])) {
33
  $options[aam_Control_Object_Menu::UID] = array();
34
  }
35
+
36
  return $options;
37
  }
38
 
44
  */
45
  public function getMenu() {
46
  global $menu;
47
+
48
  $response = array();
49
+
50
  //let's create menu list with submenus
51
  foreach ($menu as $menu_item) {
52
  if (!preg_match('/^separator/', $menu_item[2])) {
62
  }
63
  }
64
  }
65
+
66
  return $response;
67
  }
68
+
69
  /**
70
  * Prepare filtered submenu
71
  *
85
  if ($this->getSubject()->hasCapability($submenu_item[1]) !== false) {
86
  //prepare title
87
  $submenu_title = $this->removeHTML($submenu_item[0]);
 
 
 
 
 
 
88
  $filtered_submenu[] = array(
89
  'name' => $submenu_title,
90
+ 'short' => $this->prepareTitle($submenu_title),
91
  'id' => $submenu_item[2]
92
  );
93
  }
94
  }
95
  }
96
+
97
  return $filtered_submenu;
98
  }
99
+
100
+ /**
101
+ *
102
+ * @param type $title
103
+ * @return string
104
+ */
105
+ protected function prepareTitle($title) {
106
+ if (function_exists('mb_strlen')) {
107
+ if ((mb_strlen($title) > 18)) {
108
+ $title = mb_substr($title, 0, 15) . '..';
109
+ }
110
+ } elseif (strlen($title) > 18) {
111
+ $title = substr($title, 0, 15) . '..';
112
+ }
113
+
114
+ return $title;
115
+ }
116
+
117
  /**
118
  * Check if the entire branch is restricted
119
  *
123
  *
124
  * @access public
125
  */
126
+ public function hasRestrictedAll($menu) {
127
  $menuControl = $this->getSubject()->getObject(aam_Control_Object_Menu::UID);
128
  $response = $menuControl->has($menu['id']);
129
+
130
+ foreach ($menu['submenu'] as $submenu) {
131
+ if ($menuControl->has($submenu['id']) === false) {
132
  $response = false;
133
  break;
134
  }
135
  }
136
+
137
  return $response;
138
  }
139
 
147
  return strip_tags($text);
148
  }
149
 
150
+ }
application/view/metabox.php CHANGED
@@ -176,7 +176,7 @@ class aam_View_Metabox extends aam_View_Abstract {
176
  global $wp_post_types;
177
 
178
  $cache = aam_Core_API::getBlogOption('aam_metabox_cache', array());
179
- if ($this->getSubject()->getUID() == 'visitor') {
180
  $list = array(
181
  'widgets' => (isset($cache['widgets']) ? $cache['widgets'] : array())
182
  );
@@ -211,11 +211,8 @@ class aam_View_Metabox extends aam_View_Abstract {
211
  $content .= '<div class=metabox-row>';
212
  }
213
  //prepare title
214
- if (mb_strlen($metabox['title']) > 18) {
215
- $title = mb_substr($metabox['title'], 0, 15) . '...';
216
- } else {
217
- $title = $metabox['title'];
218
- }
219
  //prepare selected
220
  if ($metaboxControl->has($screen, $metabox['id'])) {
221
  $checked = 'checked="checked"';
@@ -257,6 +254,23 @@ class aam_View_Metabox extends aam_View_Abstract {
257
  return $content;
258
  }
259
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
260
  /**
261
  *
262
  * @param type $text
176
  global $wp_post_types;
177
 
178
  $cache = aam_Core_API::getBlogOption('aam_metabox_cache', array());
179
+ if ($this->getSubject()->getUID() == aam_Control_Subject_Visitor::UID) {
180
  $list = array(
181
  'widgets' => (isset($cache['widgets']) ? $cache['widgets'] : array())
182
  );
211
  $content .= '<div class=metabox-row>';
212
  }
213
  //prepare title
214
+ $title = $this->prepareTitle($metabox['title']);
215
+
 
 
 
216
  //prepare selected
217
  if ($metaboxControl->has($screen, $metabox['id'])) {
218
  $checked = 'checked="checked"';
254
  return $content;
255
  }
256
 
257
+ /**
258
+ *
259
+ * @param type $title
260
+ * @return string
261
+ */
262
+ protected function prepareTitle($title) {
263
+ if (function_exists('mb_strlen')) {
264
+ if ((mb_strlen($title) > 18)) {
265
+ $title = mb_substr($title, 0, 15) . '..';
266
+ }
267
+ } elseif (strlen($title) > 18) {
268
+ $title = substr($title, 0, 15) . '..';
269
+ }
270
+
271
+ return $title;
272
+ }
273
+
274
  /**
275
  *
276
  * @param type $text
application/view/tmpl/capability.phtml CHANGED
@@ -34,8 +34,8 @@
34
  <tr>
35
  <td><?php echo $group; ?></td>
36
  <td>
37
- <div class="capability-actions">
38
- <a href="#" class="capability-action capability-action-select"></a>
39
  </div>
40
  </td>
41
  </tr>
34
  <tr>
35
  <td><?php echo $group; ?></td>
36
  <td>
37
+ <div class="aam-list-row-actions">
38
+ <a href="#" class="aam-icon aam-icon-small aam-icon-select"><span></span></a>
39
  </div>
40
  </td>
41
  </tr>
application/view/tmpl/configpress.phtml CHANGED
@@ -56,7 +56,6 @@
56
  </h3>
57
  <div class="inside">
58
  <div class="cpanel-major">
59
- <a href="<?php echo AAM_BASE_URL . '/docs/configpress.pdf' ?>" target="_blank" class="cpanel-item cpanel-item-tutorial"><?php echo __('Tutorial', 'aam'); ?></a>
60
  <a href="#" class="cpanel-item cpanel-item-save" id="save_config" ><?php echo __('Save', 'aam'); ?></a>
61
  </div>
62
  <div class="cpanel-minor">
56
  </h3>
57
  <div class="inside">
58
  <div class="cpanel-major">
 
59
  <a href="#" class="cpanel-item cpanel-item-save" id="save_config" ><?php echo __('Save', 'aam'); ?></a>
60
  </div>
61
  <div class="cpanel-minor">
application/view/tmpl/control_area.phtml CHANGED
@@ -25,8 +25,16 @@ if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) {
25
  $post_type = $object->getPost()->post_type;
26
  }
27
 
 
28
  ?>
29
- <?php if ($object->getUID() == aam_Control_Object_Term::UID) { ?>
 
 
 
 
 
 
 
30
  <div id="term_access">
31
  <table class="dataTable" id="term_access_frontend">
32
  <thead>
@@ -48,7 +56,8 @@ if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) {
48
  'aam_term_access_list',
49
  aam_Core_Settings::get('term_frontend_restrictions'),
50
  'frontend',
51
- $object
 
52
  )
53
  );
54
  foreach ($term_fcaps as $i => $action) {
@@ -60,7 +69,7 @@ if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) {
60
  </div>
61
  </td>
62
  <td>
63
- <div class="post-actions">
64
  <div class="post-action">
65
  <input type="checkbox" id="term_frontend_<?php echo $action; ?>" name="access[term][frontend][<?php echo $action; ?>]" <?php echo ($object->has('frontend', $action) ? 'checked="checked"' : ''); ?> />
66
  <label for="term_frontend_<?php echo $action; ?>">
@@ -94,7 +103,8 @@ if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) {
94
  'aam_term_access_list',
95
  aam_Core_Settings::get('term_backend_restrictions'),
96
  'backend',
97
- $object
 
98
  )
99
  );
100
  foreach ($term_bcaps as $i => $action) {
@@ -106,7 +116,7 @@ if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) {
106
  </div>
107
  </td>
108
  <td>
109
- <div class="post-actions">
110
  <div class="post-action">
111
  <input type="checkbox" id="term_backend_<?php echo $action ?>" name="access[term][backend][<?php echo $action; ?>]" <?php echo ($object->has('backend', $action) ? 'checked="checked"' : ''); ?> />
112
  <label for="term_backend_<?php echo $action ?>">
@@ -147,7 +157,8 @@ if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) {
147
  'aam_post_access_list',
148
  aam_Core_Settings::get('post_frontend_restrictions'),
149
  'frontend',
150
- $object
 
151
  )
152
  );
153
  foreach ($post_fcaps as $i => $action) {
@@ -159,7 +170,7 @@ if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) {
159
  </div>
160
  </td>
161
  <td>
162
- <div class="post-actions">
163
  <div class="post-action post-action-check">
164
  <input type="checkbox" id="post_frontend_<?php echo $action ?>" name="access[post][frontend][<?php echo $action; ?>]" <?php echo ($object->has('frontend', $action) ? 'checked="checked"' : ''); ?> />
165
  <label for="post_frontend_<?php echo $action ?>">
@@ -197,7 +208,8 @@ if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) {
197
  'aam_post_access_list',
198
  aam_Core_Settings::get('post_backend_restrictions'),
199
  'backend',
200
- $object
 
201
  )
202
  );
203
  foreach ($post_bcaps as $i => $action) {
@@ -209,7 +221,7 @@ if (aam_Core_Request::post('type') === aam_Control_Object_Term::UID) {
209
  </div>
210
  </td>
211
  <td>
212
- <div class="post-actions">
213
  <div class="post-action post-action-check">
214
  <input type="checkbox" id="post_backend_<?php echo $action ?>" name="access[post][backend][<?php echo $action; ?>]" <?php echo ($object->has('backend', $action) ? 'checked="checked"' : ''); ?> />
215
  <label for="post_backend_<?php echo $action ?>">
25
  $post_type = $object->getPost()->post_type;
26
  }
27
 
28
+ if ($post_type == 'attachment'){
29
  ?>
30
+ <div class="attachment-access-block">
31
+ Get better access control over your media files with
32
+ <b><a href="http://wpaam.com/aam-extensions/aam-media-manager/" target="_blank">AAM Media Manager</a></b>
33
+ extension.
34
+ </div>
35
+ <?php
36
+ }
37
+ if ($object->getUID() == aam_Control_Object_Term::UID) { ?>
38
  <div id="term_access">
39
  <table class="dataTable" id="term_access_frontend">
40
  <thead>
56
  'aam_term_access_list',
57
  aam_Core_Settings::get('term_frontend_restrictions'),
58
  'frontend',
59
+ $object,
60
+ $post_type
61
  )
62
  );
63
  foreach ($term_fcaps as $i => $action) {
69
  </div>
70
  </td>
71
  <td>
72
+ <div class="aam-list-row-actions">
73
  <div class="post-action">
74
  <input type="checkbox" id="term_frontend_<?php echo $action; ?>" name="access[term][frontend][<?php echo $action; ?>]" <?php echo ($object->has('frontend', $action) ? 'checked="checked"' : ''); ?> />
75
  <label for="term_frontend_<?php echo $action; ?>">
103
  'aam_term_access_list',
104
  aam_Core_Settings::get('term_backend_restrictions'),
105
  'backend',
106
+ $object,
107
+ $post_type
108
  )
109
  );
110
  foreach ($term_bcaps as $i => $action) {
116
  </div>
117
  </td>
118
  <td>
119
+ <div class="aam-list-row-actions">
120
  <div class="post-action">
121
  <input type="checkbox" id="term_backend_<?php echo $action ?>" name="access[term][backend][<?php echo $action; ?>]" <?php echo ($object->has('backend', $action) ? 'checked="checked"' : ''); ?> />
122
  <label for="term_backend_<?php echo $action ?>">
157
  'aam_post_access_list',
158
  aam_Core_Settings::get('post_frontend_restrictions'),
159
  'frontend',
160
+ $object,
161
+ $post_type
162
  )
163
  );
164
  foreach ($post_fcaps as $i => $action) {
170
  </div>
171
  </td>
172
  <td>
173
+ <div class="aam-list-row-actions">
174
  <div class="post-action post-action-check">
175
  <input type="checkbox" id="post_frontend_<?php echo $action ?>" name="access[post][frontend][<?php echo $action; ?>]" <?php echo ($object->has('frontend', $action) ? 'checked="checked"' : ''); ?> />
176
  <label for="post_frontend_<?php echo $action ?>">
208
  'aam_post_access_list',
209
  aam_Core_Settings::get('post_backend_restrictions'),
210
  'backend',
211
+ $object,
212
+ $post_type
213
  )
214
  );
215
  foreach ($post_bcaps as $i => $action) {
221
  </div>
222
  </td>
223
  <td>
224
+ <div class="aam-list-row-actions">
225
  <div class="post-action post-action-check">
226
  <input type="checkbox" id="post_backend_<?php echo $action ?>" name="access[post][backend][<?php echo $action; ?>]" <?php echo ($object->has('backend', $action) ? 'checked="checked"' : ''); ?> />
227
  <label for="post_backend_<?php echo $action ?>">
application/view/tmpl/extension.phtml CHANGED
@@ -46,8 +46,8 @@
46
  <td>
47
  <div class="extension-actions">
48
  <a href="http://wpaam.com/aam-extensions/aam-plus-package/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a>
49
- <?php if ($this->hasExtension('AAM Plus Package')) { ?>
50
- <a href="#" extension="AAM Plus Package" license="<?php echo $this->getExtension('AAM Plus Package')->license; ?>" class="extension-action extension-action-ok" aam-tooltip="Installed Successfully"></a>
51
  <?php } else { ?>
52
  <a href="#" extension="AAM Plus Package" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UEM8U65HFEG4Q" class="extension-action extension-action-purchase" aam-tooltip="Get it Today"></a>
53
  <?php } ?>
@@ -67,8 +67,8 @@
67
  <td>
68
  <div class="extension-actions">
69
  <a href="http://wpaam.com/aam-extensions/aam-activities/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a>
70
- <?php if ($this->hasExtension('AAM Activities')) { ?>
71
- <a href="#" extension="AAM Activities" license="<?php echo $this->getExtension('AAM Activities')->license; ?>" class="extension-action extension-action-ok" aam-tooltip="Installed Successfully"></a>
72
  <?php } else { ?>
73
  <a href="#" extension="AAM Activities" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HME9DTSFSJH4W" class="extension-action extension-action-purchase" aam-tooltip="Get it Today"></a>
74
  <?php } ?>
@@ -88,8 +88,8 @@
88
  <td>
89
  <div class="extension-actions">
90
  <a href="http://wpaam.com/aam-extensions/aam-media-manager/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a>
91
- <?php if ($this->hasExtension('AAM Media Manager')) { ?>
92
- <a href="#" extension="AAM Media Manager" license="<?php echo $this->getExtension('AAM Media Manager')->license; ?>" class="extension-action extension-action-ok" aam-tooltip="Installed Successfully"></a>
93
  <?php } else { ?>
94
  <a href="#" extension="AAM Media Manager" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=WJ48A7Z6EFZJ4" class="extension-action extension-action-purchase" aam-tooltip="Get it Today"></a>
95
  <?php } ?>
@@ -110,8 +110,8 @@
110
 
111
  <div class="extension-actions">
112
  <a href="http://wpaam.com/aam-extensions/aam-content-filter/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a>
113
- <?php if ($this->hasExtension('AAM Content Filter')) { ?>
114
- <a href="#" extension="AAM Content Filter" license="<?php echo $this->getExtension('AAM Content Filter')->license; ?>" class="extension-action extension-action-ok" aam-tooltip="Installed Successfully"></a>
115
  <?php } else { ?>
116
  <a href="#" extension="AAM Content Filter" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=X7NZ7QF8A9CVS" class="extension-action extension-action-purchase" aam-tooltip="Get it Today"></a>
117
  <?php } ?>
@@ -200,6 +200,4 @@
200
  </div>
201
  </div>
202
  </div>
203
- </div>
204
-
205
-
46
  <td>
47
  <div class="extension-actions">
48
  <a href="http://wpaam.com/aam-extensions/aam-plus-package/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a>
49
+ <?php if ($this->getRepository()->hasExtension('AAM Plus Package')) { ?>
50
+ <a href="#" extension="AAM Plus Package" license="<?php echo $this->getRepository()->getExtension('AAM Plus Package')->license; ?>" class="extension-action extension-action-ok" aam-tooltip="Installed Successfully"></a>
51
  <?php } else { ?>
52
  <a href="#" extension="AAM Plus Package" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UEM8U65HFEG4Q" class="extension-action extension-action-purchase" aam-tooltip="Get it Today"></a>
53
  <?php } ?>
67
  <td>
68
  <div class="extension-actions">
69
  <a href="http://wpaam.com/aam-extensions/aam-activities/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a>
70
+ <?php if ($this->getRepository()->hasExtension('AAM Activities')) { ?>
71
+ <a href="#" extension="AAM Activities" license="<?php echo $this->getRepository()->getExtension('AAM Activities')->license; ?>" class="extension-action extension-action-ok" aam-tooltip="Installed Successfully"></a>
72
  <?php } else { ?>
73
  <a href="#" extension="AAM Activities" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HME9DTSFSJH4W" class="extension-action extension-action-purchase" aam-tooltip="Get it Today"></a>
74
  <?php } ?>
88
  <td>
89
  <div class="extension-actions">
90
  <a href="http://wpaam.com/aam-extensions/aam-media-manager/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a>
91
+ <?php if ($this->getRepository()->hasExtension('AAM Media Manager')) { ?>
92
+ <a href="#" extension="AAM Media Manager" license="<?php echo $this->getRepository()->getExtension('AAM Media Manager')->license; ?>" class="extension-action extension-action-ok" aam-tooltip="Installed Successfully"></a>
93
  <?php } else { ?>
94
  <a href="#" extension="AAM Media Manager" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=WJ48A7Z6EFZJ4" class="extension-action extension-action-purchase" aam-tooltip="Get it Today"></a>
95
  <?php } ?>
110
 
111
  <div class="extension-actions">
112
  <a href="http://wpaam.com/aam-extensions/aam-content-filter/" target="_blank" class="extension-action extension-action-forum" aam-tooltip="Visit Our Website"></a>
113
+ <?php if ($this->getRepository()->hasExtension('AAM Content Filter')) { ?>
114
+ <a href="#" extension="AAM Content Filter" license="<?php echo $this->getRepository()->getExtension('AAM Content Filter')->license; ?>" class="extension-action extension-action-ok" aam-tooltip="Installed Successfully"></a>
115
  <?php } else { ?>
116
  <a href="#" extension="AAM Content Filter" link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=X7NZ7QF8A9CVS" class="extension-action extension-action-purchase" aam-tooltip="Get it Today"></a>
117
  <?php } ?>
200
  </div>
201
  </div>
202
  </div>
203
+ </div>
 
 
application/view/tmpl/help_developers.phtml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h2>AAM Development Framework</h2>
2
+
3
+ <p>
4
+ Are you passionate about WordPress development? We are too! Become a member of
5
+ the AAM community and obtain our
6
+ <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3Q6UDARTR532U" target="_blank">Exclusive Development License</a>
7
+ where you can profit from your own ideas and have access to all AAM extensions.
8
+ </p>
9
+
10
+ <p>
11
+ We receive regular requests and suggestions for new extensions and decided we would
12
+ extend the opportunity to create and earn by opening our platform to you. We will
13
+ host your extensions on our server so you may develop custom features for you and
14
+ your customers. If you have a great idea and would like to create an extension for
15
+ sales, we will review, approve and host it on AAM server.
16
+ </p>
17
+
18
+ <p>
19
+ You can download the sample extension from our official
20
+ <a href="https://github.com/wpaam/AAM-Feature-Example" target="_blank">GitHub Repository</a>
21
+ and customize it to your special need.
22
+ </p>
23
+
24
+ <p>
25
+ Additionally the
26
+ <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3Q6UDARTR532U" target="_blank">AAM Development License</a>
27
+ gives you an opportunity to download <b>ALL</b> AAM extensions that are available
28
+ now and all new extensions that will be developed within a year from the time of purchase.
29
+ </p>
application/view/tmpl/help_extensions.phtml ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h2>AAM Extensions</h2>
2
+
3
+ <p>
4
+ Advanced Access Manager is free platform and you can use most of the features without
5
+ any limitations but in case you are looking for more, this is where AAM extensions
6
+ might be useful for you to check. Complete list of available extensions you can find
7
+ on AAM->Extensions page.
8
+ </p>
9
+ <p>
10
+ We are using PayPal to process the payment and if it completed successfully, you will
11
+ automatically receive an email with license key that you can use to activate the extension.
12
+ </p>
13
+ <p>
14
+ In case of any issues with license key, we guaranty to resolve the issue within one business day.
15
+ Otherwise your money back.
16
+ </p>
application/view/tmpl/help_faq.phtml ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h2>Frequently Asked Questions</h2>
2
+
3
+ <h4>What is Advanced Access Manager?</h4>
4
+ <p>
5
+ Advanced Access Manager (aka AAM) is free WordPress plugin that allows you to
6
+ control access to your website. With AAM you can manager access to your Posts,
7
+ Pages and Categories, filter unnecessary areas in your Backend, manager Users and
8
+ Roles and many more.
9
+ </p>
10
+
11
+ <h4>What should I know to understand how AAM works?</h4>
12
+ <p>
13
+ Best way to learn more about AAM is to check our
14
+ <a href="http://wpaam.com/tutorials/" target="_blank">collection of tutorials</a>.
15
+ From here you'll get the basic understanding about most important aspects of AAM
16
+ functionality. It is also very important to understand how WordPress
17
+ <a href="https://codex.wordpress.org/Roles_and_Capabilities" target="_blank">Roles & Capabilities</a>
18
+ are organized.
19
+ </p>
20
+
21
+ <h4>I'm not able to manage Administrator Role. What am I missing?</h4>
22
+ <p>
23
+ In fact that AAM is very powerful tool, many unexperienced users were able to limit
24
+ Administrator rights and loose access to Dashboard. That is why from AAM Release 2.5
25
+ we introduced <a href="http://wpaam.com/tutorials/aam-super-admin/" target="_blank">AAM Super Admin</a>.
26
+ You can make one user in your system as AAM Super Administrator that is able to manager other
27
+ administrators.<br/>
28
+ <span style="color:#FF0000; font-weight: bold;">Warning!</span> Do not limit capabilities for Administrator
29
+ Role, because even if you are AAM Super Administrator, you still remain WordPress Administrator.
30
+ </p>
31
+
32
+ <h4>What is ConfigPress?</h4>
33
+ <p>
34
+ Think about ConfigPress as a settings page but instead of dozens of checkboxes, drop-downs and input fields
35
+ you use configuration script based on <a href="http://en.wikipedia.org/wiki/INI_file" target="_blank">INI Standard</a>.
36
+ The reason we use this format is that AAM is not only just a plugin but complex and very flexible development
37
+ tool. That is why we came to conclusion to organize all settings in ConfigPress format.
38
+ </p>
application/view/tmpl/help_overview.phtml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h2>General Overview</h2>
2
+ <p>
3
+ Advanced Access Manager (aka AAM) is one of the most popular access control plugins. It is easy-to-use but
4
+ at the same time very powerful tool that gives you a flexible control over your either
5
+ single WordPress site or Multisite Network. With AAM you are allowed to configure access
6
+ to different parts of your website for any <i>role</i> or individual <i>user</i>.
7
+ </p>
8
+ <p>
9
+ Another great aspect of AAM is that our team constantly working on new features and improving
10
+ existing. We are very dedicated to success of this project and our support is ready to help you
11
+ within 48hours.
12
+ </p>
13
+ <p>
14
+ Below you can find some of the major feature that are available in current AAM version:
15
+ </p>
16
+
17
+ <b>Control access to backend menu (including submenu).</b> As example you can restrict
18
+ access for <i>role</i> Editor to Menu "Pages" or does not allow any <i>user</i> to
19
+ manage Post's Categories.<br/>
20
+ <br/>
21
+ <b>Filter <i>widgets</i> & <i>metaboxes</i>.</b> Filter the list of metaboxes that any <i>role</i>
22
+ or <i>user</i> can see during Post/Page editing. At the same time you can filter the
23
+ list of Dashboard and Frontend widgets.<br/>
24
+ <br/>
25
+ <b>Control access to any <i>post</i>, <i>page</i>, <i>custom post type</i> or <i>category</i>.</b>
26
+ You can restrict access to page or post for any <i>user</i> or <i>role</i> as well as
27
+ restrict access to entire <i>category</i> and all posts inside it. You can also restrict
28
+ commenting for pages or exclude any from the frontend menu. For more restrictions you can
29
+ consider to get <a href="http://wpaam.com/aam-extensions/aam-plus-package/" target="_blank">AAM Plus Package</a>.<br/>
30
+ <br/>
31
+ <b>Filter Post or Page content.</b> You can filter Post's or Page's content for
32
+ currently logged in user or visitor. This feature is available with extension
33
+ <a href="http://wpaam.com/aam-extensions/aam-content-filter/" target="_blank">AAM Content Manager</a>.<br/>
34
+ <br/>
35
+ <b>Manage capabilities for any <i>role</i> or <i>user</i>.</b>
36
+ AAM, with simple interface, allows you to grand or remove capabilities for any <i>role</i> or <i>user</i>.
37
+ You can also create new custom capability or remove existing.<br/>
38
+ <br/>
39
+ <b>Create custom actions for system events.</b> As example your system can send email
40
+ to you if some user published post or page, or modified content. You also can develop
41
+ your own custom action for system event.<br/>
42
+ <br/>
43
+ <b>Track <i>user</i> activities.</b> With AAM you can track user activities within
44
+ your website. So you can easily find out when user was logged in or modified any post
45
+ or page. To extend the list of tracked activities, consider to get
46
+ <a href="http://wpaam.com/aam-extensions/aam-activities/" target="_blank">AAM Activities</a>
47
+ extension.
48
+
application/view/tmpl/metabox.phtml CHANGED
@@ -12,8 +12,8 @@
12
  <div class="metabox-top-action-link">
13
  <input type="text" class="link-text" id="metabox_link" />
14
  </div>
15
- <a href="#" class="metabox-top-action metabox-top-action-add" aam-tooltip="<?php echo __('Retrieve Metaboxes From Link', 'aam') ;?>"></a>
16
- <a href="#" class="metabox-top-action metabox-top-action-refresh" aam-tooltip="<?php echo __('Refresh the List', 'aam') ;?>"></a>
17
  <br class="clear" />
18
  </div>
19
  <div class="aam-metabox-loader"></div>
12
  <div class="metabox-top-action-link">
13
  <input type="text" class="link-text" id="metabox_link" />
14
  </div>
15
+ <a href="#" class="aam-icon aam-icon-medium aam-icon-add" id="retrieve_url" aam-tooltip="<?php echo __('Retrieve Metaboxes From Link', 'aam') ;?>"><span></span></a>
16
+ <a href="#" class="aam-icon aam-icon-medium aam-icon-refresh" id="refresh_metaboxes" aam-tooltip="<?php echo __('Refresh the List', 'aam') ;?>"><span></span></a>
17
  <br class="clear" />
18
  </div>
19
  <div class="aam-metabox-loader"></div>
config.php CHANGED
@@ -8,7 +8,7 @@
8
  */
9
 
10
  //AAM Version for Update purpose
11
- define('AAM_VERSION', '2.5');
12
 
13
  define('AAM_BASE_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR);
14
 
@@ -28,7 +28,7 @@ define('AAM_APPL_ENV', (getenv('APPL_ENV') ? getenv('APPL_ENV') : 'production'))
28
  if (AAM_APPL_ENV === 'production') {
29
  define('WPAAM_REST_API', 'http://rest.wpaam.com');
30
  } else {
31
- define('WPAAM_REST_API', 'http://wpaam.localhost/rest');
32
  }
33
 
34
  /**
8
  */
9
 
10
  //AAM Version for Update purpose
11
+ define('AAM_VERSION', '2.5.1');
12
 
13
  define('AAM_BASE_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR);
14
 
28
  if (AAM_APPL_ENV === 'production') {
29
  define('WPAAM_REST_API', 'http://rest.wpaam.com');
30
  } else {
31
+ define('WPAAM_REST_API', 'http://wpaam.localhost/');
32
  }
33
 
34
  /**
docs/configpress.pdf DELETED
Binary file
extension/AAM_My_Feature/images/message-active.png DELETED
Binary file
extension/AAM_My_Feature/images/message.png DELETED
Binary file
extension/AAM_My_Feature/images/talk-active.png DELETED
Binary file
extension/AAM_My_Feature/images/talk.png DELETED
Binary file
extension/AAM_My_Feature/my_feature.css CHANGED
@@ -19,48 +19,4 @@
19
  font-size: 1.2em;
20
  font-weight: bold;
21
  text-align: center;
22
- }
23
-
24
- .my-feature-actions{
25
- width: 100%;
26
- margin-top: 10px;
27
- text-align: center;
28
- }
29
-
30
- .my-feature-action{
31
- min-width: 48px;
32
- height: 70px;
33
- display: inline-block;
34
- text-decoration: none;
35
- position: relative;
36
- }
37
-
38
- .my-feature-action span{
39
- display: block;
40
- margin-top: 50px;
41
- text-align: center;
42
- width: 100%;
43
- font-size: 0.8em;
44
- text-transform: uppercase;
45
- font-weight: bold;
46
- color: #333333;
47
- font-family: "Trebuchet MS", Helvetica, sans-serif;
48
- }
49
-
50
- .my-feature-message-action{
51
- background: transparent url('images/message.png') no-repeat center 6px;
52
- }
53
-
54
- .my-feature-message-action:hover{
55
- background: transparent url('images/message-active.png') no-repeat center 6px;
56
- }
57
-
58
- .my-feature-forum-action{
59
- background: transparent url('images/talk.png') no-repeat center 0;
60
- margin-left: 60px;
61
- }
62
-
63
- .my-feature-forum-action:hover{
64
- background: transparent url('images/talk-active.png') no-repeat center 0;
65
- margin-left: 60px;
66
  }
19
  font-size: 1.2em;
20
  font-weight: bold;
21
  text-align: center;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  }
extension/AAM_My_Feature/ui.phtml CHANGED
@@ -10,15 +10,10 @@
10
  <div class="feature-content-container" id="my_feature_content">
11
  <div class="my-feature-banner">
12
  <p class="banner-style">
13
- <?php echo __('Do you need a custom feature? Ask us and we will develop it for you.', 'aam'); ?>
 
 
 
14
  </p>
15
  </div>
16
- <div class="my-feature-actions">
17
- <a href="#" class="my-feature-action my-feature-message-action">
18
- <span><?php echo __('Email Us', 'aam'); ?></span>
19
- </a>
20
- <a href="http://wpaam.com/forum/viewtopic.php?f=7&t=72" target="_blank" class="my-feature-action my-feature-forum-action">
21
- <span><?php echo __('Ask on Forum', 'aam'); ?></span>
22
- </a>
23
- </div>
24
  </div>
10
  <div class="feature-content-container" id="my_feature_content">
11
  <div class="my-feature-banner">
12
  <p class="banner-style">
13
+ <?php echo __('Do you need a custom feature?', 'aam'); ?>
14
+ <a href="https://github.com/wpaam/AAM-Feature-Example" target="_blank">
15
+ <?php echo __('Create your own extension ', 'aam'); ?>
16
+ </a> <?php echo __('or ask us and we will develop it for you.', 'aam'); ?>
17
  </p>
18
  </div>
 
 
 
 
 
 
 
 
19
  </div>
lang/aam.mo CHANGED
Binary file
lang/aam.pot CHANGED
@@ -1,7 +1,7 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: AAM\n"
4
- "POT-Creation-Date: 2014-04-06 20:42-0500\n"
5
  "PO-Revision-Date: \n"
6
  "Last-Translator: WPAAM <support@wpaam.com>\n"
7
  "Language-Team: WP AAM <support@wpaam.com>\n"
@@ -9,50 +9,50 @@ msgstr ""
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.6.4\n"
13
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
14
  "X-Poedit-SourceCharset: UTF-8\n"
15
  "X-Poedit-KeywordsList: __\n"
16
  "X-Poedit-Basepath: d:\\xampp\\htdocs\\aam\\wp-content\\plugins\\aam\\\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
 
19
- #: aam.php:381 aam.php:389 aam.php:416
20
  msgid "Access denied"
21
  msgstr ""
22
 
23
- #: aam.php:899 aam.php:900
24
  msgid "AAM"
25
  msgstr ""
26
 
27
- #: aam.php:911 aam.php:912
28
  msgid "Access Control"
29
  msgstr ""
30
 
31
- #: aam.php:921 aam.php:922
32
  msgid "ConfigPress"
33
  msgstr ""
34
 
35
- #: aam.php:931 aam.php:932
36
  msgid "Extensions"
37
  msgstr ""
38
 
39
- #: application/core/repository.php:182
40
  msgid "Failed to Remove Extension"
41
  msgstr ""
42
 
43
- #: application/core/repository.php:227
44
  msgid "Invalid License Key"
45
  msgstr ""
46
 
47
- #: application/core/repository.php:230
48
  msgid "Failed to write file to wp-content/aam folder"
49
  msgstr ""
50
 
51
- #: application/core/repository.php:234
52
  msgid "Failed to reach the WPAAM Server"
53
  msgstr ""
54
 
55
- #: application/core/repository.php:250
56
  msgid "Failed to insert extension to extension folder"
57
  msgstr ""
58
 
@@ -76,7 +76,7 @@ msgstr ""
76
  msgid "Miscellaneous"
77
  msgstr ""
78
 
79
- #: application/view/extension.php:107
80
  msgid "Folder advanced-access-manager/extension is not writable"
81
  msgstr ""
82
 
@@ -113,10 +113,10 @@ msgid "Metabox & Widget"
113
  msgstr ""
114
 
115
  #: application/view/manager.php:145 application/view/tmpl/capability.phtml:17
116
- #: application/view/tmpl/control_area.phtml:39
117
- #: application/view/tmpl/control_area.phtml:85
118
- #: application/view/tmpl/control_area.phtml:138
119
- #: application/view/tmpl/control_area.phtml:188
120
  #: extension/AAM_Plus_Package/ui.phtml:28
121
  #: extension/AAM_Plus_Package/ui.phtml:60
122
  #: extension/AAM_Plus_Package/ui.phtml:93
@@ -132,203 +132,209 @@ msgstr ""
132
  msgid "Event Manager"
133
  msgstr ""
134
 
135
- #: application/view/manager.php:242
136
  msgid "You are not allowed to manage any AAM Features."
137
  msgstr ""
138
 
139
- #: application/view/manager.php:810
140
  msgid "Rollback Settings"
141
  msgstr ""
142
 
143
- #: application/view/manager.php:811
144
  msgid "Cancel"
145
  msgstr ""
146
 
147
- #: application/view/manager.php:812
148
  msgid "Send E-mail"
149
  msgstr ""
150
 
151
- #: application/view/manager.php:813 application/view/manager.php:819
152
  msgid "Add New Role"
153
  msgstr ""
154
 
155
- #: application/view/manager.php:814
156
  msgid "Manage"
157
  msgstr ""
158
 
159
- #: application/view/manager.php:815
160
  msgid "Edit"
161
  msgstr ""
162
 
163
- #: application/view/manager.php:816
164
  msgid "Delete"
165
  msgstr ""
166
 
167
- #: application/view/manager.php:817
168
  msgid "Filtered"
169
  msgstr ""
170
 
171
- #: application/view/manager.php:818
172
  msgid "Clear"
173
  msgstr ""
174
 
175
- #: application/view/manager.php:820
176
  msgid "Save Changes"
177
  msgstr ""
178
 
179
- #: application/view/manager.php:821
180
  #, php-format
181
  msgid ""
182
  "System detected %d user(s) with this role. All Users with Role <b>%s</b> "
183
  "will be deleted automatically!"
184
  msgstr ""
185
 
186
- #: application/view/manager.php:822
187
  #, php-format
188
  msgid "Are you sure that you want to delete role <b>%s</b>?"
189
  msgstr ""
190
 
191
- #: application/view/manager.php:823 application/view/tmpl/role.phtml:53
192
  msgid "Delete Role"
193
  msgstr ""
194
 
195
- #: application/view/manager.php:824
196
  msgid "Add User"
197
  msgstr ""
198
 
199
- #: application/view/manager.php:825
200
  msgid "Filter Users"
201
  msgstr ""
202
 
203
- #: application/view/manager.php:826 application/view/manager.php:842
204
  msgid "Refresh List"
205
  msgstr ""
206
 
207
- #: application/view/manager.php:827
208
  msgid "Block"
209
  msgstr ""
210
 
211
- #: application/view/manager.php:828
212
  #, php-format
213
  msgid "Are you sure you want to delete user <b>%s</b>?"
214
  msgstr ""
215
 
216
- #: application/view/manager.php:829
217
  msgid "Filter Capabilities by Category"
218
  msgstr ""
219
 
220
- #: application/view/manager.php:830 application/view/tmpl/capability.phtml:47
221
  msgid "Inherit Capabilities"
222
  msgstr ""
223
 
224
- #: application/view/manager.php:831 application/view/tmpl/capability.phtml:62
225
  msgid "Add New Capability"
226
  msgstr ""
227
 
228
- #: application/view/manager.php:832
229
  #, php-format
230
  msgid "Are you sure that you want to delete capability <b>%s</b>?"
231
  msgstr ""
232
 
233
- #: application/view/manager.php:833 application/view/tmpl/capability.phtml:81
234
  msgid "Delete Capability"
235
  msgstr ""
236
 
237
- #: application/view/manager.php:834
238
  msgid "Select Role"
239
  msgstr ""
240
 
241
- #: application/view/manager.php:835
242
  msgid "Add Capability"
243
  msgstr ""
244
 
245
- #: application/view/manager.php:836
246
  msgid "Add Event"
247
  msgstr ""
248
 
249
- #: application/view/manager.php:837
250
  msgid "Edit Event"
251
  msgstr ""
252
 
253
- #: application/view/manager.php:838 application/view/manager.php:840
254
  #: application/view/tmpl/event.phtml:105
255
  msgid "Delete Event"
256
  msgstr ""
257
 
258
- #: application/view/manager.php:839
259
  msgid "Save Event"
260
  msgstr ""
261
 
262
- #: application/view/manager.php:841
263
  msgid "Filter Posts by Post Type"
264
  msgstr ""
265
 
266
- #: application/view/manager.php:843 application/view/tmpl/manager.phtml:68
267
  msgid "Restore Default"
268
  msgstr ""
269
 
270
- #: application/view/manager.php:844
271
  msgid "Apply"
272
  msgstr ""
273
 
274
- #: application/view/manager.php:845
275
  msgid "Edit Term"
276
  msgstr ""
277
 
278
- #: application/view/manager.php:846
279
  msgid "Manager Access"
280
  msgstr ""
281
 
282
- #: application/view/manager.php:847
283
  msgid "Unlock Default Accesss Control"
284
  msgstr ""
285
 
286
- #: application/view/manager.php:848
287
  msgid "Close"
288
  msgstr ""
289
 
290
- #: application/view/manager.php:849
291
  msgid "Edit Role"
292
  msgstr ""
293
 
294
- #: application/view/manager.php:850
295
  msgid "Restore Default Capabilities"
296
  msgstr ""
297
 
298
- #: application/view/manager.php:851
299
  #, php-format
300
  msgid "Are you sure you want to delete <b>%s</b>?"
301
  msgstr ""
302
 
303
- #: application/view/manager.php:852
304
  #, php-format
305
  msgid "Are you sure you want to move <b>%s</b> to trash?"
306
  msgstr ""
307
 
308
- #: application/view/manager.php:853 application/view/tmpl/post.phtml:27
309
  msgid "Delete Post"
310
  msgstr ""
311
 
312
- #: application/view/manager.php:854
313
  msgid "Delete Permanently"
314
  msgstr ""
315
 
316
- #: application/view/manager.php:855
317
  msgid "Trash Post"
318
  msgstr ""
319
 
320
- #: application/view/manager.php:856
321
  msgid "Restore Default Access"
322
  msgstr ""
323
 
324
- #: application/view/manager.php:857
325
  msgid "Duplicate"
326
  msgstr ""
327
 
328
- #: application/view/manager.php:858
329
  msgid "Actions Locked"
330
  msgstr ""
331
 
 
 
 
 
 
 
332
  #: application/view/metabox.php:191
333
  msgid "Dashboard Widgets"
334
  msgstr ""
@@ -353,36 +359,6 @@ msgstr ""
353
  msgid "Folder wp-content/aam is not writable"
354
  msgstr ""
355
 
356
- #: extension/AAM_Activities/extension.php:133
357
- #: extension/AAM_Activities/extension.php:146
358
- #: extension/AAM_Activities/extension.php:160
359
- msgid "Post does not exist."
360
- msgstr ""
361
-
362
- #: extension/AAM_Activities/extension.php:136
363
- #, php-format
364
- msgid "Updated %s: %s"
365
- msgstr ""
366
-
367
- #: extension/AAM_Activities/extension.php:149
368
- #, php-format
369
- msgid "Trashed %s: %s"
370
- msgstr ""
371
-
372
- #: extension/AAM_Activities/extension.php:163
373
- #, php-format
374
- msgid "Untrashed %s: %s"
375
- msgstr ""
376
-
377
- #: extension/AAM_Activities/extension.php:172
378
- #, php-format
379
- msgid "Deleted %s %s"
380
- msgstr ""
381
-
382
- #: extension/AAM_Activities/extension.php:229
383
- msgid "Undefined Type"
384
- msgstr ""
385
-
386
  #: extension/AAM_Activity_Log/activity.php:98
387
  msgid "System Login"
388
  msgstr ""
@@ -399,11 +375,11 @@ msgstr ""
399
  msgid "Activity Log"
400
  msgstr ""
401
 
402
- #: extension/AAM_Activity_Log/extension.php:176
403
  msgid "Clear Logs"
404
  msgstr ""
405
 
406
- #: extension/AAM_Activity_Log/extension.php:177
407
  msgid "Get More"
408
  msgstr ""
409
 
@@ -431,7 +407,7 @@ msgstr ""
431
  msgid "My Feature"
432
  msgstr ""
433
 
434
- #: extension/AAM_Plus_Package/extension.php:165
435
  msgid "Comments"
436
  msgstr ""
437
 
@@ -484,10 +460,11 @@ msgstr ""
484
  #: application/view/tmpl/extension.phtml:15
485
  #: application/view/tmpl/extension.phtml:148
486
  #: application/view/tmpl/extension.phtml:167
 
487
  #: application/view/tmpl/manager.phtml:17
488
- #: application/view/tmpl/manager.phtml:43
489
- #: application/view/tmpl/manager.phtml:62
490
- #: application/view/tmpl/manager.phtml:92
491
  msgid "Click to toggle"
492
  msgstr ""
493
 
@@ -497,71 +474,67 @@ msgstr ""
497
 
498
  #: application/view/tmpl/configpress.phtml:36
499
  #: application/view/tmpl/extension.phtml:150
500
- #: application/view/tmpl/manager.phtml:45
501
  msgid "AAM Warnings"
502
  msgstr ""
503
 
504
  #: application/view/tmpl/configpress.phtml:55
505
- #: application/view/tmpl/manager.phtml:64
506
  msgid "Control Panel"
507
  msgstr ""
508
 
509
  #: application/view/tmpl/configpress.phtml:59
510
- msgid "Tutorial"
511
- msgstr ""
512
-
513
- #: application/view/tmpl/configpress.phtml:60
514
- #: application/view/tmpl/manager.phtml:69
515
  msgid "Save"
516
  msgstr ""
517
 
518
- #: application/view/tmpl/configpress.phtml:63
519
- #: application/view/tmpl/manager.phtml:72
520
  msgid "Follow @wpaam"
521
  msgstr ""
522
 
523
- #: application/view/tmpl/configpress.phtml:63
524
- #: application/view/tmpl/manager.phtml:72
525
  msgid "Follow"
526
  msgstr ""
527
 
528
- #: application/view/tmpl/configpress.phtml:64
529
- #: application/view/tmpl/manager.phtml:73
530
  msgid "Help Forum"
531
  msgstr ""
532
 
533
- #: application/view/tmpl/configpress.phtml:64
534
- #: application/view/tmpl/manager.phtml:73
535
  msgid "Help"
536
  msgstr ""
537
 
538
- #: application/view/tmpl/configpress.phtml:65
539
- #: application/view/tmpl/manager.phtml:74
540
- #: application/view/tmpl/manager.phtml:82
541
  msgid "E-mail Us"
542
  msgstr ""
543
 
544
- #: application/view/tmpl/configpress.phtml:66
545
- #: application/view/tmpl/manager.phtml:75
546
  msgid "Rate AAM"
547
  msgstr ""
548
 
549
- #: application/view/tmpl/configpress.phtml:66
550
- #: application/view/tmpl/manager.phtml:75
551
  msgid "Rate Us"
552
  msgstr ""
553
 
554
- #: application/view/tmpl/control_area.phtml:35
555
- #: application/view/tmpl/control_area.phtml:81
556
- #: application/view/tmpl/control_area.phtml:132
557
- #: application/view/tmpl/control_area.phtml:182
558
  msgid "Access"
559
  msgstr ""
560
 
561
- #: application/view/tmpl/control_area.phtml:40
562
- #: application/view/tmpl/control_area.phtml:86
563
- #: application/view/tmpl/control_area.phtml:139
564
- #: application/view/tmpl/control_area.phtml:189
565
  #: extension/AAM_Plus_Package/ui.phtml:29
566
  #: extension/AAM_Plus_Package/ui.phtml:61
567
  #: extension/AAM_Plus_Package/ui.phtml:94
@@ -569,13 +542,13 @@ msgstr ""