Version Description
- Integrated User Switch with AAM
- Fixed bugs reported by WP Error Fix
- Removed intro message
- Improved AAM speed
- Updated AAM Utilities extension
- Updated AAM Plus Package extension
- Added new AAM Skeleton Extension for developers
Download this release
Release Info
Developer | vasyl_m |
Plugin | Advanced Access Manager |
Version | 3.1 |
Comparing to | |
See all releases |
Code changes from version 3.0 to 3.1
- Application/Backend/Capability.php +47 -9
- Application/Backend/Extension.php +17 -3
- Application/Backend/Filter.php +12 -11
- Application/Backend/Localization.php +9 -0
- Application/Backend/Manager.php +65 -9
- Application/Backend/Menu.php +24 -2
- Application/Backend/Metabox.php +22 -0
- Application/Backend/Post.php +48 -18
- Application/Backend/ProductList.php +80 -0
- Application/Backend/User.php +11 -1
- Application/Backend/View.php +31 -18
- Application/Backend/view/extension.phtml +98 -133
- Application/Backend/view/index.phtml +251 -264
- Application/Backend/view/main-panel.phtml +20 -17
- Application/Backend/view/object/capability.phtml +51 -48
- Application/Backend/view/object/menu.phtml +62 -49
- Application/Backend/view/object/metabox.phtml +60 -49
- Application/Backend/view/object/post.phtml +193 -132
- Application/Backend/view/partial/post-type.phtml +9 -6
- Application/Backend/view/partial/term-type.phtml +9 -6
- Application/Core/API.php +24 -3
- Application/Core/Object.php +52 -1
- Application/Core/Object/Menu.php +8 -0
- Application/Core/Object/Metabox.php +9 -0
- Application/Core/Object/Post.php +58 -23
- Application/Core/Repository.php +60 -19
- Application/Core/Server.php +4 -5
- Application/Core/Subject.php +35 -9
- Application/Core/Subject/Role.php +27 -28
- Application/Core/Subject/User.php +25 -2
- Application/Core/Subject/Visitor.php +3 -15
- Application/Frontend/Manager.php +21 -17
- Lang/{en_US.mo → advanced-access-manager-en_US.mo} +0 -0
- Lang/{en_US.po → advanced-access-manager-en_US.po} +373 -256
- Lang/advanced-access-manager.pot +372 -255
- aam.php +25 -21
- media/css/aam.css +106 -57
- media/css/datatables.min.css +10 -3
- media/font/fontello.eot +0 -0
- media/font/fontello.svg +3 -0
- media/font/fontello.ttf +0 -0
- media/font/fontello.woff +0 -0
- media/js/aam-hook.js +1 -1
- media/js/aam-ui.js +293 -130
- media/js/aam.js +51 -49
- readme.txt +78 -2
- screenshot-1.png +0 -0
- screenshot-2.png +0 -0
- screenshot-3.png +0 -0
- screenshot-4.png +0 -0
- screenshot-5.png +0 -0
Application/Backend/Capability.php
CHANGED
@@ -75,20 +75,57 @@ class AAM_Backend_Capability {
|
|
75 |
if ($subject instanceof AAM_Core_Subject_Role) {
|
76 |
$response['data'] = $this->retrieveAllCaps();
|
77 |
} else {
|
78 |
-
$
|
79 |
-
$role = AAM_Core_API::getRoles()->get_role(array_shift($role_list));
|
80 |
-
foreach (array_keys($role->capabilities) as $cap) {
|
81 |
$response['data'][] = array(
|
82 |
$cap,
|
83 |
$this->getGroup($cap),
|
84 |
AAM_Backend_Helper::getHumanText($cap),
|
85 |
-
|
86 |
);
|
87 |
}
|
88 |
}
|
89 |
|
90 |
return json_encode($response);
|
91 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
/**
|
94 |
*
|
@@ -98,16 +135,17 @@ class AAM_Backend_Capability {
|
|
98 |
$caps = $response = array();
|
99 |
|
100 |
foreach (AAM_Core_API::getRoles()->role_objects as $role) {
|
101 |
-
|
|
|
|
|
102 |
}
|
103 |
|
104 |
-
$subject = AAM_Backend_View::getSubject();
|
105 |
foreach (array_keys($caps) as $cap) {
|
106 |
$response[] = array(
|
107 |
$cap,
|
108 |
$this->getGroup($cap),
|
109 |
AAM_Backend_Helper::getHumanText($cap),
|
110 |
-
|
111 |
);
|
112 |
}
|
113 |
|
@@ -125,7 +163,7 @@ class AAM_Backend_Capability {
|
|
125 |
return apply_filters('aam-capability-groups-filter', array(
|
126 |
__('System', AAM_KEY),
|
127 |
__('Posts & Pages', AAM_KEY),
|
128 |
-
__('Backend
|
129 |
__('Miscellaneous', AAM_KEY)
|
130 |
));
|
131 |
}
|
@@ -166,7 +204,7 @@ class AAM_Backend_Capability {
|
|
166 |
} elseif (in_array($capability, $this->_groups['post'])) {
|
167 |
$response = __('Posts & Pages', AAM_KEY);
|
168 |
} elseif (in_array($capability, $this->_groups['backend'])) {
|
169 |
-
$response = __('Backend
|
170 |
} else {
|
171 |
$response = __('Miscellaneous', AAM_KEY);
|
172 |
}
|
75 |
if ($subject instanceof AAM_Core_Subject_Role) {
|
76 |
$response['data'] = $this->retrieveAllCaps();
|
77 |
} else {
|
78 |
+
foreach ($this->getCapabilityList($subject) as $cap) {
|
|
|
|
|
79 |
$response['data'][] = array(
|
80 |
$cap,
|
81 |
$this->getGroup($cap),
|
82 |
AAM_Backend_Helper::getHumanText($cap),
|
83 |
+
$this->prepareActionList($cap)
|
84 |
);
|
85 |
}
|
86 |
}
|
87 |
|
88 |
return json_encode($response);
|
89 |
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
*
|
93 |
+
* @param AAM_Core_Subject_User $subject
|
94 |
+
* @return type
|
95 |
+
*/
|
96 |
+
protected function getCapabilityList(AAM_Core_Subject_User $subject) {
|
97 |
+
$list = array();
|
98 |
+
|
99 |
+
//IMPORTANT! Cause it is possible that user is not assigned to any role
|
100 |
+
$roles = $subject->roles;
|
101 |
+
|
102 |
+
if (is_array($roles)) {
|
103 |
+
foreach($roles as $slug) {
|
104 |
+
$role = AAM_Core_API::getRoles()->get_role($slug);
|
105 |
+
if ($role) {
|
106 |
+
$list = array_keys($role->capabilities);
|
107 |
+
break;
|
108 |
+
}
|
109 |
+
}
|
110 |
+
}
|
111 |
+
return $list;
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
*
|
116 |
+
* @param type $cap
|
117 |
+
* @return type
|
118 |
+
*/
|
119 |
+
protected function prepareActionList($cap) {
|
120 |
+
$subject = AAM_Backend_View::getSubject();
|
121 |
+
$actions = array();
|
122 |
+
|
123 |
+
$actions[] = ($subject->hasCapability($cap) ? 'checked' : 'unchecked');
|
124 |
+
|
125 |
+
return implode(
|
126 |
+
',', apply_filters('aam-cap-row-actions-filter', $actions, $subject)
|
127 |
+
);
|
128 |
+
}
|
129 |
|
130 |
/**
|
131 |
*
|
135 |
$caps = $response = array();
|
136 |
|
137 |
foreach (AAM_Core_API::getRoles()->role_objects as $role) {
|
138 |
+
if (is_array($role->capabilities)) {
|
139 |
+
$caps = array_merge($caps, $role->capabilities);
|
140 |
+
}
|
141 |
}
|
142 |
|
|
|
143 |
foreach (array_keys($caps) as $cap) {
|
144 |
$response[] = array(
|
145 |
$cap,
|
146 |
$this->getGroup($cap),
|
147 |
AAM_Backend_Helper::getHumanText($cap),
|
148 |
+
$this->prepareActionList($cap)
|
149 |
);
|
150 |
}
|
151 |
|
163 |
return apply_filters('aam-capability-groups-filter', array(
|
164 |
__('System', AAM_KEY),
|
165 |
__('Posts & Pages', AAM_KEY),
|
166 |
+
__('Backend', AAM_KEY),
|
167 |
__('Miscellaneous', AAM_KEY)
|
168 |
));
|
169 |
}
|
204 |
} elseif (in_array($capability, $this->_groups['post'])) {
|
205 |
$response = __('Posts & Pages', AAM_KEY);
|
206 |
} elseif (in_array($capability, $this->_groups['backend'])) {
|
207 |
+
$response = __('Backend', AAM_KEY);
|
208 |
} else {
|
209 |
$response = __('Miscellaneous', AAM_KEY);
|
210 |
}
|
Application/Backend/Extension.php
CHANGED
@@ -31,6 +31,17 @@ class AAM_Backend_Extension {
|
|
31 |
return $content;
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Install an extension
|
36 |
*
|
@@ -147,7 +158,7 @@ class AAM_Backend_Extension {
|
|
147 |
'uid' => 'extension',
|
148 |
'position' => 999,
|
149 |
'title' => __('Extensions', AAM_KEY),
|
150 |
-
'notification' => self::
|
151 |
'subjects' => array(
|
152 |
'AAM_Core_Subject_Role',
|
153 |
'AAM_Core_Subject_User',
|
@@ -161,11 +172,14 @@ class AAM_Backend_Extension {
|
|
161 |
*
|
162 |
* @return int
|
163 |
*/
|
164 |
-
protected static function
|
165 |
-
$list = AAM_Core_API::getOption('aam-extension-
|
166 |
$repo = AAM_Core_Repository::getInstance();
|
167 |
$count = 0;
|
168 |
|
|
|
|
|
|
|
169 |
foreach($list as $extension) {
|
170 |
$status = $repo->extensionStatus($extension->title);
|
171 |
if ($status == AAM_Core_Repository::STATUS_UPDATE) {
|
31 |
return $content;
|
32 |
}
|
33 |
|
34 |
+
/**
|
35 |
+
* Get Product List
|
36 |
+
*
|
37 |
+
* @return array
|
38 |
+
*
|
39 |
+
* @access protected
|
40 |
+
*/
|
41 |
+
protected function getProductList() {
|
42 |
+
return require(dirname(__FILE__) . '/ProductList.php');
|
43 |
+
}
|
44 |
+
|
45 |
/**
|
46 |
* Install an extension
|
47 |
*
|
158 |
'uid' => 'extension',
|
159 |
'position' => 999,
|
160 |
'title' => __('Extensions', AAM_KEY),
|
161 |
+
'notification' => self::getNotification(),
|
162 |
'subjects' => array(
|
163 |
'AAM_Core_Subject_Role',
|
164 |
'AAM_Core_Subject_User',
|
172 |
*
|
173 |
* @return int
|
174 |
*/
|
175 |
+
protected static function getNotification() {
|
176 |
+
$list = AAM_Core_API::getOption('aam-extension-repository', array());
|
177 |
$repo = AAM_Core_Repository::getInstance();
|
178 |
$count = 0;
|
179 |
|
180 |
+
//WP Error Fix bug report
|
181 |
+
$list = (is_array($list) ? $list : array());
|
182 |
+
|
183 |
foreach($list as $extension) {
|
184 |
$status = $repo->extensionStatus($extension->title);
|
185 |
if ($status == AAM_Core_Repository::STATUS_UPDATE) {
|
Application/Backend/Filter.php
CHANGED
@@ -121,15 +121,12 @@ class AAM_Backend_Filter {
|
|
121 |
unset($actions['inline hide-if-no-js']);
|
122 |
}
|
123 |
}
|
124 |
-
//filter trash menu
|
125 |
-
if ($object->has('backend.trash')) {
|
126 |
-
if (isset($actions['trash'])) {
|
127 |
-
unset($actions['trash']);
|
128 |
-
}
|
129 |
-
}
|
130 |
|
131 |
//filter delete menu
|
132 |
if ($object->has('backend.delete')) {
|
|
|
|
|
|
|
133 |
if (isset($actions['delete'])) {
|
134 |
unset($actions['delete']);
|
135 |
}
|
@@ -235,11 +232,15 @@ class AAM_Backend_Filter {
|
|
235 |
*/
|
236 |
public function thePosts($posts) {
|
237 |
$filtered = array();
|
238 |
-
|
239 |
-
|
240 |
-
$
|
241 |
-
|
242 |
-
|
|
|
|
|
|
|
|
|
243 |
}
|
244 |
}
|
245 |
|
121 |
unset($actions['inline hide-if-no-js']);
|
122 |
}
|
123 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
|
125 |
//filter delete menu
|
126 |
if ($object->has('backend.delete')) {
|
127 |
+
if (isset($actions['trash'])) {
|
128 |
+
unset($actions['trash']);
|
129 |
+
}
|
130 |
if (isset($actions['delete'])) {
|
131 |
unset($actions['delete']);
|
132 |
}
|
232 |
*/
|
233 |
public function thePosts($posts) {
|
234 |
$filtered = array();
|
235 |
+
|
236 |
+
if (AAM::isAAM()) { //skip post filtering if this is AAM page
|
237 |
+
$filtered = $posts;
|
238 |
+
} else {
|
239 |
+
foreach ($posts as $post) {
|
240 |
+
$object = AAM::getUser()->getObject('post', $post->ID);
|
241 |
+
if (!$object->has('backend.list')) {
|
242 |
+
$filtered[] = $post;
|
243 |
+
}
|
244 |
}
|
245 |
}
|
246 |
|
Application/Backend/Localization.php
CHANGED
@@ -40,6 +40,15 @@ return array(
|
|
40 |
'Anonymous' => __('Anonymous', AAM_KEY),
|
41 |
'Current user' => __('Current user', AAM_KEY),
|
42 |
'Current role' => __('Current role', AAM_KEY),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
'Javascript error detected during the page load. AAM may not function properly.' => __('Javascript error detected during the page load. AAM may not function properly.', AAM_KEY),
|
44 |
'Failed to grand capability - WordPress policy' => __('Failed to grand capability - WordPress policy', AAM_KEY),
|
45 |
);
|
40 |
'Anonymous' => __('Anonymous', AAM_KEY),
|
41 |
'Current user' => __('Current user', AAM_KEY),
|
42 |
'Current role' => __('Current role', AAM_KEY),
|
43 |
+
'Manage Access' => __('Manage Access', AAM_KEY),
|
44 |
+
'Edit' => __('Edit', AAM_KEY),
|
45 |
+
'Manage Role' => __('Manage Role', AAM_KEY),
|
46 |
+
'Edit Role Name' => __('Edit Role Name', AAM_KEY),
|
47 |
+
'Delete Role' => __('Delete Role', AAM_KEY),
|
48 |
+
'Manage User' => __('Manage User', AAM_KEY),
|
49 |
+
'Edit User' => __('Edit User', AAM_KEY),
|
50 |
+
'Lock User' => __('Lock User', AAM_KEY),
|
51 |
+
'Unlock User' => __('Unlock User', AAM_KEY),
|
52 |
'Javascript error detected during the page load. AAM may not function properly.' => __('Javascript error detected during the page load. AAM may not function properly.', AAM_KEY),
|
53 |
'Failed to grand capability - WordPress policy' => __('Failed to grand capability - WordPress policy', AAM_KEY),
|
54 |
);
|
Application/Backend/Manager.php
CHANGED
@@ -43,7 +43,7 @@ class AAM_Backend_Manager {
|
|
43 |
//manager AAM Ajax Requests
|
44 |
add_action('wp_ajax_aam', array($this, 'ajax'));
|
45 |
//manager AAM Features Content rendering
|
46 |
-
add_action('
|
47 |
//manager user search and authentication control
|
48 |
add_filter('user_search_columns', array($this, 'searchColumns'));
|
49 |
//manage access action to the user list
|
@@ -51,9 +51,14 @@ class AAM_Backend_Manager {
|
|
51 |
|
52 |
//check extension version
|
53 |
$this->checkExtensionList();
|
|
|
|
|
|
|
54 |
|
55 |
//register backend hooks and filters
|
56 |
-
|
|
|
|
|
57 |
}
|
58 |
|
59 |
/**
|
@@ -69,7 +74,7 @@ class AAM_Backend_Manager {
|
|
69 |
public function enqueueScript() {
|
70 |
if (AAM::isAAM()) {
|
71 |
echo "<script type=\"text/javascript\">\n";
|
72 |
-
echo file_get_contents(
|
73 |
echo "</script>\n";
|
74 |
}
|
75 |
}
|
@@ -78,9 +83,12 @@ class AAM_Backend_Manager {
|
|
78 |
*
|
79 |
*/
|
80 |
protected function checkExtensionList() {
|
81 |
-
$list = AAM_Core_API::getOption('aam-extension-
|
82 |
$repo = AAM_Core_Repository::getInstance();
|
83 |
|
|
|
|
|
|
|
84 |
foreach($list as $extension) {
|
85 |
$status = $repo->extensionStatus($extension->title);
|
86 |
if ($status == AAM_Core_Repository::STATUS_UPDATE) {
|
@@ -92,6 +100,53 @@ class AAM_Backend_Manager {
|
|
92 |
);
|
93 |
}
|
94 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}
|
96 |
|
97 |
/**
|
@@ -122,10 +177,12 @@ class AAM_Backend_Manager {
|
|
122 |
* @access public
|
123 |
*/
|
124 |
public function userActions($actions, $user) {
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
|
|
|
|
129 |
|
130 |
return $actions;
|
131 |
}
|
@@ -175,7 +232,6 @@ class AAM_Backend_Manager {
|
|
175 |
'name'=> $subject->name,
|
176 |
'blog' => get_current_blog_id()
|
177 |
),
|
178 |
-
'welcome' => AAM_Core_API::getOption('aam-welcome', 1),
|
179 |
'translation' => require (dirname(__FILE__) . '/Localization.php')
|
180 |
));
|
181 |
}
|
43 |
//manager AAM Ajax Requests
|
44 |
add_action('wp_ajax_aam', array($this, 'ajax'));
|
45 |
//manager AAM Features Content rendering
|
46 |
+
add_action('admin_action_aamc', array($this, 'renderContent'));
|
47 |
//manager user search and authentication control
|
48 |
add_filter('user_search_columns', array($this, 'searchColumns'));
|
49 |
//manage access action to the user list
|
51 |
|
52 |
//check extension version
|
53 |
$this->checkExtensionList();
|
54 |
+
|
55 |
+
//check cache status
|
56 |
+
$this->checkCacheStatus();
|
57 |
|
58 |
//register backend hooks and filters
|
59 |
+
if (apply_filters('aam-utility-property', 'backend-access-control', true)) {
|
60 |
+
AAM_Backend_Filter::register();
|
61 |
+
}
|
62 |
}
|
63 |
|
64 |
/**
|
74 |
public function enqueueScript() {
|
75 |
if (AAM::isAAM()) {
|
76 |
echo "<script type=\"text/javascript\">\n";
|
77 |
+
echo file_get_contents(AAM_BASE . '/media/js/aam-hook.js');
|
78 |
echo "</script>\n";
|
79 |
}
|
80 |
}
|
83 |
*
|
84 |
*/
|
85 |
protected function checkExtensionList() {
|
86 |
+
$list = AAM_Core_API::getOption('aam-extension-repository', array());
|
87 |
$repo = AAM_Core_Repository::getInstance();
|
88 |
|
89 |
+
//WP Error Fix bug report
|
90 |
+
$list = (is_array($list) ? $list : array());
|
91 |
+
|
92 |
foreach($list as $extension) {
|
93 |
$status = $repo->extensionStatus($extension->title);
|
94 |
if ($status == AAM_Core_Repository::STATUS_UPDATE) {
|
100 |
);
|
101 |
}
|
102 |
}
|
103 |
+
|
104 |
+
//TODO - Remove in Feb 2016
|
105 |
+
$this->checkRedundantExtensions();
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* @todo Remove in Feb 2016
|
110 |
+
*/
|
111 |
+
protected function checkRedundantExtensions() {
|
112 |
+
$basedir = AAM_Core_Repository::getInstance()->getBasedir();
|
113 |
+
|
114 |
+
//iterate through each active extension and load it
|
115 |
+
if (file_exists($basedir)) {
|
116 |
+
foreach (scandir($basedir) as $extension) {
|
117 |
+
if (!in_array($extension, array('.', '..'))) {
|
118 |
+
if (!preg_match('/^[a-z]{1}[a-z\-]+$/', $extension)) {
|
119 |
+
AAM_Core_Console::add(
|
120 |
+
sprintf(
|
121 |
+
AAM_Backend_Helper::preparePhrase('Please manually remove [%s] and re-install the extension if necessary', 'b'),
|
122 |
+
$basedir . '/' . $extension
|
123 |
+
)
|
124 |
+
);
|
125 |
+
}
|
126 |
+
}
|
127 |
+
}
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* Check caching status
|
133 |
+
*
|
134 |
+
* If caching is off, show notification about it
|
135 |
+
*
|
136 |
+
* @return void
|
137 |
+
*
|
138 |
+
* @access protected
|
139 |
+
*/
|
140 |
+
protected function checkCacheStatus() {
|
141 |
+
if (apply_filters('aam-cache-status-filter', false) === false) {
|
142 |
+
$message = __(
|
143 |
+
'AAM caching is off. To speed-up the website turn it on.', AAM_KEY
|
144 |
+
);
|
145 |
+
$message .= ' <a href="#cache-info-modal" data-toggle="modal">';
|
146 |
+
$message .= __('Read more.', AAM_KEY) . '</a>';
|
147 |
+
|
148 |
+
AAM_Core_Console::add($message);
|
149 |
+
}
|
150 |
}
|
151 |
|
152 |
/**
|
177 |
* @access public
|
178 |
*/
|
179 |
public function userActions($actions, $user) {
|
180 |
+
if (current_user_can('edit_user', $user->ID)) {
|
181 |
+
$url = admin_url('admin.php?page=aam&user=' . $user->ID);
|
182 |
+
|
183 |
+
$actions['aam'] = '<a href="' . $url . '">';
|
184 |
+
$actions['aam'] .= __('AAM', AAM_KEY) . '</a>';
|
185 |
+
}
|
186 |
|
187 |
return $actions;
|
188 |
}
|
232 |
'name'=> $subject->name,
|
233 |
'blog' => get_current_blog_id()
|
234 |
),
|
|
|
235 |
'translation' => require (dirname(__FILE__) . '/Localization.php')
|
236 |
));
|
237 |
}
|
Application/Backend/Menu.php
CHANGED
@@ -30,6 +30,18 @@ class AAM_Backend_Menu {
|
|
30 |
|
31 |
return $content;
|
32 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
/**
|
35 |
* Get subject's menu
|
@@ -131,9 +143,9 @@ class AAM_Backend_Menu {
|
|
131 |
*
|
132 |
* @return boolean
|
133 |
*
|
134 |
-
* @access
|
135 |
*/
|
136 |
-
|
137 |
$object = AAM_Backend_View::getSubject()->getObject('menu');
|
138 |
$response = $object->has($menu['id']);
|
139 |
|
@@ -146,6 +158,16 @@ class AAM_Backend_Menu {
|
|
146 |
|
147 |
return $response;
|
148 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
|
150 |
/**
|
151 |
* Register Menu feature
|
30 |
|
31 |
return $content;
|
32 |
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
*
|
36 |
+
* @return type
|
37 |
+
*/
|
38 |
+
public function reset() {
|
39 |
+
$object = AAM_Backend_View::getSubject()->getObject('menu');
|
40 |
+
|
41 |
+
return json_encode(array(
|
42 |
+
'status' => ($object->reset() ? 'success' : 'failure')
|
43 |
+
));
|
44 |
+
}
|
45 |
|
46 |
/**
|
47 |
* Get subject's menu
|
143 |
*
|
144 |
* @return boolean
|
145 |
*
|
146 |
+
* @access protected
|
147 |
*/
|
148 |
+
protected function hasRestrictedAll($menu) {
|
149 |
$object = AAM_Backend_View::getSubject()->getObject('menu');
|
150 |
$response = $object->has($menu['id']);
|
151 |
|
158 |
|
159 |
return $response;
|
160 |
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
*
|
164 |
+
* @return type
|
165 |
+
*/
|
166 |
+
protected function isOverwritten() {
|
167 |
+
$object = AAM_Backend_View::getSubject()->getObject('menu');
|
168 |
+
|
169 |
+
return $object->isOverwritten();
|
170 |
+
}
|
171 |
|
172 |
/**
|
173 |
* Register Menu feature
|
Application/Backend/Metabox.php
CHANGED
@@ -33,6 +33,18 @@ class AAM_Backend_Metabox {
|
|
33 |
return $content;
|
34 |
}
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
/**
|
37 |
*
|
38 |
* @global type $wp_post_types
|
@@ -180,6 +192,16 @@ class AAM_Backend_Metabox {
|
|
180 |
|
181 |
return $response;
|
182 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
|
184 |
/**
|
185 |
* Register metabox feature
|
33 |
return $content;
|
34 |
}
|
35 |
|
36 |
+
/**
|
37 |
+
*
|
38 |
+
* @return type
|
39 |
+
*/
|
40 |
+
public function reset() {
|
41 |
+
$object = AAM_Backend_View::getSubject()->getObject('metabox');
|
42 |
+
|
43 |
+
return json_encode(array(
|
44 |
+
'status' => ($object->reset() ? 'success' : 'failure')
|
45 |
+
));
|
46 |
+
}
|
47 |
+
|
48 |
/**
|
49 |
*
|
50 |
* @global type $wp_post_types
|
192 |
|
193 |
return $response;
|
194 |
}
|
195 |
+
|
196 |
+
/**
|
197 |
+
*
|
198 |
+
* @return type
|
199 |
+
*/
|
200 |
+
protected function isOverwritten() {
|
201 |
+
$object = AAM_Backend_View::getSubject()->getObject('metabox');
|
202 |
+
|
203 |
+
return $object->isOverwritten();
|
204 |
+
}
|
205 |
|
206 |
/**
|
207 |
* Register metabox feature
|
Application/Backend/Post.php
CHANGED
@@ -66,12 +66,10 @@ class AAM_Backend_Post {
|
|
66 |
$breadcrub = $this->renderPostBreadcrumb();
|
67 |
}
|
68 |
|
69 |
-
return json_encode(
|
70 |
-
array(
|
71 |
'status' => 'success',
|
72 |
'breadcrumb' => ($breadcrub ? $breadcrub : __('Base Level', AAM_KEY))
|
73 |
-
|
74 |
-
);
|
75 |
}
|
76 |
|
77 |
/**
|
@@ -83,9 +81,8 @@ class AAM_Backend_Post {
|
|
83 |
*/
|
84 |
protected function renderTermBreadcrumb() {
|
85 |
list($term, $taxonomy) = explode('|', AAM_Core_Request::post('id'));
|
86 |
-
$ancestors = array_reverse(
|
87 |
-
|
88 |
-
);
|
89 |
$breadcrumb = array();
|
90 |
foreach ($ancestors as $id) {
|
91 |
$breadcrumb[] = get_term($id, $taxonomy)->name;
|
@@ -234,21 +231,26 @@ class AAM_Backend_Post {
|
|
234 |
* @access public
|
235 |
*/
|
236 |
public function getAccess() {
|
237 |
-
$type = AAM_Core_Request::post('type');
|
238 |
-
$id = AAM_Core_Request::post('id');
|
239 |
|
240 |
$object = AAM_Backend_View::getSubject()->getObject($type, $id);
|
241 |
|
242 |
-
//prepare the response object
|
243 |
-
if ($object instanceof
|
244 |
-
$
|
|
|
|
|
|
|
|
|
245 |
} else {
|
246 |
-
$
|
247 |
}
|
248 |
|
249 |
-
return json_encode(
|
250 |
-
|
251 |
-
|
|
|
252 |
}
|
253 |
|
254 |
/**
|
@@ -260,13 +262,16 @@ class AAM_Backend_Post {
|
|
260 |
*/
|
261 |
public function save() {
|
262 |
if ($this->checkLimit()) {
|
263 |
-
$object
|
264 |
-
$objectId = AAM_Core_Request::post('objectId', 0);
|
265 |
|
266 |
$param = AAM_Core_Request::post('param');
|
267 |
$value = filter_var(
|
268 |
AAM_Core_Request::post('value'), FILTER_VALIDATE_BOOLEAN
|
269 |
);
|
|
|
|
|
|
|
270 |
|
271 |
$result = AAM_Backend_View::getSubject()->save(
|
272 |
$param, $value, $object, $objectId
|
@@ -281,6 +286,31 @@ class AAM_Backend_Post {
|
|
281 |
'error' => (empty($error) ? '' : $error)
|
282 |
));
|
283 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
|
285 |
/**
|
286 |
*
|
66 |
$breadcrub = $this->renderPostBreadcrumb();
|
67 |
}
|
68 |
|
69 |
+
return json_encode(array(
|
|
|
70 |
'status' => 'success',
|
71 |
'breadcrumb' => ($breadcrub ? $breadcrub : __('Base Level', AAM_KEY))
|
72 |
+
));
|
|
|
73 |
}
|
74 |
|
75 |
/**
|
81 |
*/
|
82 |
protected function renderTermBreadcrumb() {
|
83 |
list($term, $taxonomy) = explode('|', AAM_Core_Request::post('id'));
|
84 |
+
$ancestors = array_reverse(get_ancestors($term, $taxonomy, 'taxonomy'));
|
85 |
+
|
|
|
86 |
$breadcrumb = array();
|
87 |
foreach ($ancestors as $id) {
|
88 |
$breadcrumb[] = get_term($id, $taxonomy)->name;
|
231 |
* @access public
|
232 |
*/
|
233 |
public function getAccess() {
|
234 |
+
$type = trim(AAM_Core_Request::post('type'));
|
235 |
+
$id = intval(AAM_Core_Request::post('id'));
|
236 |
|
237 |
$object = AAM_Backend_View::getSubject()->getObject($type, $id);
|
238 |
|
239 |
+
//prepare the response object
|
240 |
+
if ($object instanceof AAM_Core_Object) {
|
241 |
+
$access = $object->getOption();
|
242 |
+
$metadata = array(
|
243 |
+
'inherited' => $object->getInherited(),
|
244 |
+
'overwritten' => $object->isOverwritten()
|
245 |
+
);
|
246 |
} else {
|
247 |
+
$access = $metadata = array();
|
248 |
}
|
249 |
|
250 |
+
return json_encode(array(
|
251 |
+
'access' => $access,
|
252 |
+
'meta' => $metadata
|
253 |
+
));
|
254 |
}
|
255 |
|
256 |
/**
|
262 |
*/
|
263 |
public function save() {
|
264 |
if ($this->checkLimit()) {
|
265 |
+
$object = trim(AAM_Core_Request::post('object'));
|
266 |
+
$objectId = intval(AAM_Core_Request::post('objectId', 0));
|
267 |
|
268 |
$param = AAM_Core_Request::post('param');
|
269 |
$value = filter_var(
|
270 |
AAM_Core_Request::post('value'), FILTER_VALIDATE_BOOLEAN
|
271 |
);
|
272 |
+
|
273 |
+
//clear cache
|
274 |
+
do_action('aam-clear-cache-action', AAM_Backend_View::getSubject());
|
275 |
|
276 |
$result = AAM_Backend_View::getSubject()->save(
|
277 |
$param, $value, $object, $objectId
|
286 |
'error' => (empty($error) ? '' : $error)
|
287 |
));
|
288 |
}
|
289 |
+
|
290 |
+
/**
|
291 |
+
* Reset the object settings
|
292 |
+
*
|
293 |
+
* @return string
|
294 |
+
*
|
295 |
+
* @access public
|
296 |
+
*/
|
297 |
+
public function reset() {
|
298 |
+
$type = trim(AAM_Core_Request::post('type'));
|
299 |
+
$id = intval(AAM_Core_Request::post('id', 0));
|
300 |
+
|
301 |
+
$object = AAM_Backend_View::getSubject()->getObject($type, $id);
|
302 |
+
if ($object instanceof AAM_Core_Object) {
|
303 |
+
$result = $object->reset();
|
304 |
+
//clear cache
|
305 |
+
do_action('aam-clear-cache-action', AAM_Backend_View::getSubject());
|
306 |
+
} else {
|
307 |
+
$result = false;
|
308 |
+
}
|
309 |
+
|
310 |
+
return json_encode(
|
311 |
+
array('status' => ($result ? 'success' : 'failure'))
|
312 |
+
);
|
313 |
+
}
|
314 |
|
315 |
/**
|
316 |
*
|
Application/Backend/ProductList.php
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
return array(
|
11 |
+
array(
|
12 |
+
'title' => 'AAM Plus Package',
|
13 |
+
'id' => 'AAM Plus Package',
|
14 |
+
'type' => 'commercial',
|
15 |
+
'cost' => '$30',
|
16 |
+
'currency' => 'USD',
|
17 |
+
'description' => __('Unlock limitations related to Posts and Pages feature. Extend basic AAM functionality with Page Categories and ability to manage access to your comments (AAM Plus Package adds new capabilities to the default list of WordPress capabilities like Edit Comments, Delete Comments, Spam Comments etc.)', AAM_KEY),
|
18 |
+
'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FGAHULDEFZV4U',
|
19 |
+
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Plus Package')
|
20 |
+
),
|
21 |
+
array(
|
22 |
+
'title' => 'AAM Role Filter',
|
23 |
+
'id' => 'AAM Role Filter',
|
24 |
+
'type' => 'commercial',
|
25 |
+
'cost' => '$5',
|
26 |
+
'currency' => 'USD',
|
27 |
+
'description' => __('Extension for more advanced user and role administration. Based on user\'s highest level capability, filter list of roles with higher level. Also prevent from editing, promoting or deleting higher level users.', AAM_KEY),
|
28 |
+
'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=G9V4BT3T8WJSN',
|
29 |
+
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Role Filter')
|
30 |
+
),
|
31 |
+
array(
|
32 |
+
'title' => 'AAM Dev License',
|
33 |
+
'id' => 'AAM Development License',
|
34 |
+
'type' => 'commercial',
|
35 |
+
'cost' => '$150',
|
36 |
+
'currency' => 'USD',
|
37 |
+
'description' => __('Development license gives you an ability to download all the available extensions and use them to up to 5 life domains.', AAM_KEY),
|
38 |
+
'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZX9RCWU6BTE52',
|
39 |
+
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Development License')
|
40 |
+
),
|
41 |
+
array(
|
42 |
+
'title' => 'AAM Utilities',
|
43 |
+
'id' => 'AAM Utilities',
|
44 |
+
'type' => 'GNU',
|
45 |
+
'license' => 'AAMUTILITIES',
|
46 |
+
'description' => __('Various useful tools for AAM like caching or clear all settings.', AAM_KEY),
|
47 |
+
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Utilities')
|
48 |
+
),
|
49 |
+
array(
|
50 |
+
'title' => 'AAM Multisite',
|
51 |
+
'id' => 'AAM Multisite',
|
52 |
+
'type' => 'GNU',
|
53 |
+
'license' => 'AAMMULTISITE',
|
54 |
+
'description' => __('Convenient way to navigate between different sites in the Network Admin Panel. This extension adds additional widget to the AAM page that allows to switch between different sites.', AAM_KEY),
|
55 |
+
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Multisite')
|
56 |
+
),
|
57 |
+
array(
|
58 |
+
'title' => 'AAM Post Filter',
|
59 |
+
'id' => 'AAM Post Filter',
|
60 |
+
'type' => 'GNU',
|
61 |
+
'license' => 'AAMPOSTFILTER',
|
62 |
+
'description' => AAM_Backend_Helper::preparePhrase('[WARNING!] Please use with caution. This is a supportive exension for the post access option [List]. It adds additional post filtering to fix the issue with large amount of post. [Turned on caching] is strongly recommended.', 'strong', 'strong', 'strong'),
|
63 |
+
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Post Filter')
|
64 |
+
),
|
65 |
+
array(
|
66 |
+
'title' => 'AAM Skeleton Extension',
|
67 |
+
'id' => 'AAM Skeleton Extension',
|
68 |
+
'type' => 'GNU',
|
69 |
+
'license' => 'SKELETONEXT',
|
70 |
+
'description' => __('Skeleton for custom AAM extension. Please find all necessary documentation inside the source code.', AAM_KEY),
|
71 |
+
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Skeleton Extension')
|
72 |
+
),
|
73 |
+
array(
|
74 |
+
'title' => 'User Switching',
|
75 |
+
'id' => 'User Switching',
|
76 |
+
'type' => 'plugin',
|
77 |
+
'description' => __('Instant switching between user accounts in WordPress. ', AAM_KEY),
|
78 |
+
'status' => AAM_Core_Repository::getInstance()->pluginStatus('User Switching')
|
79 |
+
)
|
80 |
+
);
|
Application/Backend/User.php
CHANGED
@@ -89,11 +89,21 @@ class AAM_Backend_User {
|
|
89 |
$actions = array('manage');
|
90 |
|
91 |
$prefix = ($user->ID == get_current_user_id() ? 'no-' : '');
|
|
|
92 |
$actions[] = $prefix . ($user->user_status ? 'unlock' : 'lock');
|
93 |
-
|
94 |
$actions[] = 'edit';
|
95 |
}
|
96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
return $actions;
|
98 |
}
|
99 |
|
89 |
$actions = array('manage');
|
90 |
|
91 |
$prefix = ($user->ID == get_current_user_id() ? 'no-' : '');
|
92 |
+
|
93 |
$actions[] = $prefix . ($user->user_status ? 'unlock' : 'lock');
|
|
|
94 |
$actions[] = 'edit';
|
95 |
}
|
96 |
|
97 |
+
if (class_exists('user_switching')) {
|
98 |
+
$url = user_switching::maybe_switch_url($user);
|
99 |
+
|
100 |
+
if (!in_array('edit', $actions) || empty($url)) {
|
101 |
+
$actions[] = 'no-switch';
|
102 |
+
} else {
|
103 |
+
$actions[] = 'switch|' . $url;
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
return $actions;
|
108 |
}
|
109 |
|
Application/Backend/View.php
CHANGED
@@ -86,29 +86,26 @@ class AAM_Backend_View {
|
|
86 |
public function processAjax() {
|
87 |
$response = null;
|
88 |
|
89 |
-
$
|
|
|
90 |
|
91 |
-
if (
|
92 |
-
$response = call_user_func(array($this, $
|
93 |
-
}
|
94 |
-
$classname = 'AAM_Backend_' . $
|
95 |
if (class_exists($classname)) {
|
96 |
-
$object = new $classname
|
97 |
-
if (method_exists($object, $
|
98 |
-
$response = call_user_func(array($object, $
|
99 |
}
|
100 |
}
|
101 |
}
|
102 |
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
);
|
107 |
-
}
|
108 |
-
|
109 |
-
return $response;
|
110 |
}
|
111 |
-
|
112 |
/**
|
113 |
* Render the Main Control Area
|
114 |
*
|
@@ -149,8 +146,8 @@ class AAM_Backend_View {
|
|
149 |
* @access public
|
150 |
*/
|
151 |
public function save() {
|
152 |
-
$object
|
153 |
-
$objectId = AAM_Core_Request::post('objectId', 0);
|
154 |
|
155 |
$param = AAM_Core_Request::post('param');
|
156 |
$value = filter_var(
|
@@ -171,6 +168,22 @@ class AAM_Backend_View {
|
|
171 |
'status' => AAM_Core_API::updateOption('aam-welcome', 0)
|
172 |
));
|
173 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
|
175 |
/**
|
176 |
* Get Subject
|
86 |
public function processAjax() {
|
87 |
$response = null;
|
88 |
|
89 |
+
$action = AAM_Core_Request::request('sub_action');
|
90 |
+
$parts = explode('.', $action);
|
91 |
|
92 |
+
if (method_exists($this, $parts[0])) {
|
93 |
+
$response = call_user_func(array($this, $parts[0]));
|
94 |
+
} elseif (count($parts) == 2) { //cover the Model.method pattern
|
95 |
+
$classname = 'AAM_Backend_' . $parts[0];
|
96 |
if (class_exists($classname)) {
|
97 |
+
$object = new $classname;
|
98 |
+
if (method_exists($object, $parts[1])) {
|
99 |
+
$response = call_user_func(array($object, $parts[1]));
|
100 |
}
|
101 |
}
|
102 |
}
|
103 |
|
104 |
+
return apply_filters(
|
105 |
+
'aam-ajax-filter', $response, $this->getSubject(), $action
|
106 |
+
);
|
|
|
|
|
|
|
|
|
107 |
}
|
108 |
+
|
109 |
/**
|
110 |
* Render the Main Control Area
|
111 |
*
|
146 |
* @access public
|
147 |
*/
|
148 |
public function save() {
|
149 |
+
$object = trim(AAM_Core_Request::post('object'));
|
150 |
+
$objectId = intval(AAM_Core_Request::post('objectId', 0));
|
151 |
|
152 |
$param = AAM_Core_Request::post('param');
|
153 |
$value = filter_var(
|
168 |
'status' => AAM_Core_API::updateOption('aam-welcome', 0)
|
169 |
));
|
170 |
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
*
|
174 |
+
* @return type
|
175 |
+
*/
|
176 |
+
public function getErrorFixStatus() {
|
177 |
+
$plugin = AAM_Core_Repository::getInstance()->pluginStatus('WP Error Fix');
|
178 |
+
|
179 |
+
if ($plugin['status'] == 'install') {
|
180 |
+
$response = array('status' => 'show', 'url' => $plugin['url']);
|
181 |
+
} else {
|
182 |
+
$response = array('status' => 'hide');
|
183 |
+
}
|
184 |
+
|
185 |
+
return json_encode($response);
|
186 |
+
}
|
187 |
|
188 |
/**
|
189 |
* Get Subject
|
Application/Backend/view/extension.phtml
CHANGED
@@ -1,151 +1,116 @@
|
|
1 |
-
|
2 |
-
<div class="
|
3 |
-
<div class="
|
4 |
-
<
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
</div>
|
9 |
-
|
10 |
-
<label for="extension-key"><?php echo __('Install Extension', AAM_KEY); ?> <a href="#install-extension-modal" data-toggle="modal"><i class="icon-help-circled"></i></a></label>
|
11 |
-
<div class="row">
|
12 |
-
<div class="col-xs-8">
|
13 |
-
<div class="form-group">
|
14 |
-
<input type="text" class="form-control" id="extension-key" placeholder="<?php echo __('License Key', AAM_KEY); ?>" />
|
15 |
</div>
|
16 |
</div>
|
17 |
-
|
18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
</div>
|
20 |
-
</div>
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
<tr>
|
25 |
-
<th width="80%"><?php echo __('Extension', AAM_KEY); ?></th>
|
26 |
-
<th><?php echo __('Action', AAM_KEY); ?></th>
|
27 |
-
</tr>
|
28 |
-
</thead>
|
29 |
-
<tbody>
|
30 |
-
<?php $dev = AAM_Core_Repository::getInstance()->extensionStatus('AAM Development License'); ?>
|
31 |
-
<?php if ($dev !== AAM_Core_Repository::STATUS_INSTALLED) { ?>
|
32 |
<tr>
|
33 |
-
<
|
34 |
-
|
35 |
-
<p class="text-justify">
|
36 |
-
<?php echo __('Development license gives you an ability to download all the available extensions and use them to up to 5 life domains.', AAM_KEY); ?>
|
37 |
-
</p>
|
38 |
-
</td>
|
39 |
-
<td>
|
40 |
-
<?php if ($dev == AAM_Core_Repository::STATUS_UPDATE) { ?>
|
41 |
-
<a href="#" class="btn btn-warning btn-block aam-update-extension" data-product="AAM Development License"><i class="icon-arrows-cw"></i> <?php echo __('Update', AAM_KEY); ?></a>
|
42 |
-
<?php } else { ?>
|
43 |
-
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZX9RCWU6BTE52" target="_blank" class="btn btn-success btn-block"><i class="icon-basket"></i> <?php echo __('Purchase', AAM_KEY); ?></a>
|
44 |
-
<?php } ?>
|
45 |
-
</td>
|
46 |
-
</tr>
|
47 |
-
<?php } ?>
|
48 |
-
<?php $plusPackage = AAM_Core_Repository::getInstance()->extensionStatus('AAM Plus Package'); ?>
|
49 |
-
<?php if ($plusPackage !== AAM_Core_Repository::STATUS_INSTALLED) { ?>
|
50 |
-
<tr>
|
51 |
-
<td>
|
52 |
-
<strong>AAM Plus Package - $30 <small>USD</small></strong>
|
53 |
-
<p class="text-justify">
|
54 |
-
<?php echo __('Unlock limitations related to Posts and Pages feature. Extend basic AAM functionality with Page Categories and ability to manage access to your comments (AAM Plus Package adds new capabilities to the default list of WordPress capabilities like Edit Comments, Delete Comments, Spam Comments etc.).', AAM_KEY); ?>
|
55 |
-
</p>
|
56 |
-
</td>
|
57 |
-
<td>
|
58 |
-
<?php if ($plusPackage == AAM_Core_Repository::STATUS_UPDATE) { ?>
|
59 |
-
<a href="#" class="btn btn-warning btn-block aam-update-extension" data-product="AAM Plus Package"><i class="icon-arrows-cw"></i> <?php echo __('Update', AAM_KEY); ?></a>
|
60 |
-
<?php } else { ?>
|
61 |
-
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FGAHULDEFZV4U" target="_blank" class="btn btn-success btn-block"><i class="icon-basket"></i> <?php echo __('Purchase', AAM_KEY); ?></a>
|
62 |
-
<?php } ?>
|
63 |
-
</td>
|
64 |
</tr>
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
</p>
|
74 |
</td>
|
75 |
-
<td>
|
76 |
-
<?php if ($utilities == AAM_Core_Repository::STATUS_UPDATE) { ?>
|
77 |
-
<a href="#" class="btn btn-warning btn-block aam-update-extension" data-product="AAM Utilities"><i class="icon-arrows-cw"></i> <?php echo __('Update', AAM_KEY); ?></a>
|
78 |
-
<?php } else { ?>
|
79 |
-
<a href="#" class="btn btn-success btn-block aam-download-extension" data-license="AAMUTILITIES"><i class="icon-download-cloud"></i> <?php echo __('Download', AAM_KEY); ?></a>
|
80 |
-
<?php } ?>
|
81 |
-
</td>
|
82 |
</tr>
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
91 |
</p>
|
92 |
-
</td>
|
93 |
-
<td>
|
94 |
-
<?php if ($multisite == AAM_Core_Repository::STATUS_UPDATE) { ?>
|
95 |
-
<a href="#" class="btn btn-warning btn-block aam-update-extension" data-product="AAM Multisite"><i class="icon-arrows-cw"></i> <?php echo __('Update', AAM_KEY); ?></a>
|
96 |
-
<?php } else { ?>
|
97 |
-
<a href="#" class="btn btn-success btn-block aam-download-extension" data-license="AAMMULTISITE"><i class="icon-download-cloud"></i> <?php echo __('Download', AAM_KEY); ?></a>
|
98 |
-
<?php } ?>
|
99 |
-
</td>
|
100 |
-
</tr>
|
101 |
-
<?php } ?>
|
102 |
-
<tr id="extension-list-empty" class="hidden">
|
103 |
-
<td colspan="2">
|
104 |
-
<p class="aam-notification-message text-center">
|
105 |
-
<?php echo __('All extensions are installed and up to date.', AAM_KEY); ?>
|
106 |
-
</p>
|
107 |
-
</td>
|
108 |
-
</tr>
|
109 |
-
</tbody>
|
110 |
-
</table>
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
<
|
122 |
-
</
|
123 |
-
</div>
|
124 |
-
<div class="modal-footer">
|
125 |
-
<button type="button" class="btn btn-success" id="download-extension"><?php echo __('Download', AAM_KEY); ?></button>
|
126 |
-
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Cancel', AAM_KEY); ?></button>
|
127 |
</div>
|
128 |
</div>
|
129 |
</div>
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
</
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
</div>
|
147 |
</div>
|
148 |
</div>
|
149 |
</div>
|
150 |
-
|
151 |
-
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="aam-feature" id="extension-content">
|
3 |
+
<div class="row">
|
4 |
+
<div class="col-xs-12">
|
5 |
+
<p class="aam-info">
|
6 |
+
<?php echo AAM_Backend_Helper::preparePhrase('One license is limited to one domain only but it can be used for unlimited number of test or development environments where URL is either [localhost] or starts with [dev.], [staging.] or [test.]', 'i', 'i', 'i', 'i'); ?><br/>
|
7 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
</div>
|
9 |
</div>
|
10 |
+
|
11 |
+
<label for="extension-key"><?php echo __('Install Extension', AAM_KEY); ?> <a href="#install-extension-modal" data-toggle="modal"><i class="icon-help-circled"></i></a></label>
|
12 |
+
<div class="row">
|
13 |
+
<div class="col-xs-8">
|
14 |
+
<div class="form-group">
|
15 |
+
<input type="text" class="form-control" id="extension-key" placeholder="<?php echo __('License Key', AAM_KEY); ?>" />
|
16 |
+
</div>
|
17 |
+
</div>
|
18 |
+
<div class="col-xs-4">
|
19 |
+
<button class="btn btn-primary btn-block" id="install-extension"><i class="icon-download-cloud"></i> <?php echo __('Install', AAM_KEY); ?></button>
|
20 |
+
</div>
|
21 |
</div>
|
|
|
22 |
|
23 |
+
<table class="table table-striped table-bordered aam-margin-top-xs" id="extension-list">
|
24 |
+
<thead>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
<tr>
|
26 |
+
<th width="80%"><?php echo __('Extension', AAM_KEY); ?></th>
|
27 |
+
<th><?php echo __('Action', AAM_KEY); ?></th>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
</tr>
|
29 |
+
</thead>
|
30 |
+
<tbody>
|
31 |
+
<?php foreach ($this->getProductList() as $product) { ?>
|
32 |
+
<tr>
|
33 |
+
<td>
|
34 |
+
<h4><?php echo $product['title'], ' - ' . ($product['type'] == 'commercial' ? $product['cost'] . ' <small>' . $product['currency'] . '</small>' : '<span class="text-success">' . __('Free', AAM_KEY) . '</span>'); ?></h4>
|
35 |
+
<p class="text-justify">
|
36 |
+
<?php echo $product['description']; ?>
|
37 |
+
</p>
|
38 |
+
</td>
|
39 |
+
<td>
|
40 |
+
<?php if ($product['status'] == AAM_Core_Repository::STATUS_INSTALLED) { ?>
|
41 |
+
<span class="aam-extension-installed"><i class="icon-check"></i> <?php echo __('Installed', AAM_KEY); ?></span>
|
42 |
+
<?php } elseif ($product['status'] == AAM_Core_Repository::STATUS_UPDATE) { ?>
|
43 |
+
<a href="#" class="btn btn-warning btn-block aam-update-extension" data-product="<?php echo $product['id']; ?>"><i class="icon-arrows-cw"></i> <?php echo __('Update', AAM_KEY); ?></a>
|
44 |
+
<?php } elseif ($product['type'] == 'commercial') { ?>
|
45 |
+
<a href="<?php echo $product['storeURL']; ?>" target="_blank" class="btn btn-success btn-block"><i class="icon-basket"></i> <?php echo __('Purchase', AAM_KEY); ?></a>
|
46 |
+
<?php } elseif ($product['type'] == 'plugin') { ?>
|
47 |
+
<?php if ($product['status']['status'] == 'install') { ?>
|
48 |
+
<a href="<?php echo $product['status']['url']; ?>" class="btn btn-success btn-block"><i class="icon-plus"></i> <?php echo __('Install', AAM_KEY); ?></a>
|
49 |
+
<?php } else { ?>
|
50 |
+
<span class="aam-extension-installed"><i class="icon-check"></i> <?php echo __('Installed', AAM_KEY); ?></span>
|
51 |
+
<?php } ?>
|
52 |
+
<?php } else { ?>
|
53 |
+
<a href="#" class="btn btn-success btn-block aam-download-extension" data-license="<?php echo $product['license']; ?>"><i class="icon-download-cloud"></i> <?php echo __('Download', AAM_KEY); ?></a>
|
54 |
+
<?php } ?>
|
55 |
+
</td>
|
56 |
+
</tr>
|
57 |
+
<?php } ?>
|
58 |
+
|
59 |
+
<tr id="extension-list-empty" class="hidden">
|
60 |
+
<td colspan="2">
|
61 |
+
<p class="aam-notification-message text-center">
|
62 |
+
<?php echo __('All extensions are installed and up to date.', AAM_KEY); ?>
|
63 |
</p>
|
64 |
</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
</tr>
|
66 |
+
</tbody>
|
67 |
+
</table>
|
68 |
+
|
69 |
+
<div class="modal fade" id="extension-notification-modal" tabindex="-1" role="dialog">
|
70 |
+
<div class="modal-dialog" role="document">
|
71 |
+
<div class="modal-content">
|
72 |
+
<div class="modal-header">
|
73 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
74 |
+
<h4 class="modal-title"><?php echo __('Notification', AAM_KEY); ?></h4>
|
75 |
+
</div>
|
76 |
+
<div class="modal-body">
|
77 |
+
<p class="text-center aam-notification">
|
78 |
+
<strong><span id="installation-error"></span>.</strong> <?php echo __('Extension requires manual installation. Please follow few simple steps below.', AAM_KEY); ?>
|
79 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
+
<ul class="aam-outer-top-xs aam-numeric-list">
|
82 |
+
<li><?php echo AAM_Backend_Helper::preparePhrase('Click [Download] button below and save the zip archive on your computer', 'b'); ?>;</li>
|
83 |
+
<li><?php echo AAM_Backend_Helper::preparePhrase('Connect to your website via FTP and navigate to [wp-content] folder', 'b'); ?>;</li>
|
84 |
+
<li><?php echo AAM_Backend_Helper::preparePhrase('Create [aam/extension] folder inside [wp-content] and make sure it is writable by your server', 'b', 'b'); ?>;</li>
|
85 |
+
<li><?php echo AAM_Backend_Helper::preparePhrase('Unzip downloaded archive and transfer the folder inside the [wp-content/aam/extension] folder', 'b'); ?>.</li>
|
86 |
+
</ul>
|
87 |
+
</div>
|
88 |
+
<div class="modal-footer">
|
89 |
+
<button type="button" class="btn btn-success" id="download-extension"><?php echo __('Download', AAM_KEY); ?></button>
|
90 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Cancel', AAM_KEY); ?></button>
|
91 |
+
</div>
|
|
|
|
|
|
|
|
|
92 |
</div>
|
93 |
</div>
|
94 |
</div>
|
95 |
+
|
96 |
+
<div class="modal fade" id="install-extension-modal" tabindex="-1" role="dialog">
|
97 |
+
<div class="modal-dialog" role="document">
|
98 |
+
<div class="modal-content">
|
99 |
+
<div class="modal-header">
|
100 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
101 |
+
<h4 class="modal-title"><?php echo __('Install Extension Info', AAM_KEY); ?></h4>
|
102 |
+
</div>
|
103 |
+
<div class="modal-body aam-info-modal">
|
104 |
+
<p>
|
105 |
+
<?php echo __('In order to install the extension, please use license number that you recieved after the payment was completed successfully (it might take up to 2 hours for PayPal to send you the email). If you already purchased an extension for the older AAM version, use the license key but please remember that it is limited only to one life domain.', AAM_KEY); ?>
|
106 |
+
</p>
|
107 |
+
</div>
|
108 |
+
<div class="modal-footer">
|
109 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
|
110 |
+
</div>
|
111 |
</div>
|
112 |
</div>
|
113 |
</div>
|
114 |
</div>
|
115 |
+
<?php
|
116 |
+
}
|
Application/Backend/view/index.phtml
CHANGED
@@ -1,319 +1,306 @@
|
|
1 |
-
|
2 |
-
<div class="
|
3 |
-
<div class="
|
4 |
-
<div class="
|
5 |
-
<div class="
|
6 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
</div>
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
</div>
|
15 |
</div>
|
16 |
</div>
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
</div>
|
23 |
-
</div>
|
24 |
-
|
25 |
-
<div class="row">
|
26 |
-
<div class="col-xs-12 col-md-8">
|
27 |
-
<div class="metabox-holder">
|
28 |
-
<div class="postbox">
|
29 |
-
<h3 class="hndle">
|
30 |
-
<span><?php echo __('Access Manager', AAM_KEY); ?></span>
|
31 |
-
<span class="aam-help-menu" data-target="#access-manager-inside"><i class="icon-help-circled"></i></span>
|
32 |
-
</h3>
|
33 |
-
<div class="inside" id="access-manager-inside">
|
34 |
-
<div class="aam-postbox-inside" id="aam-content"></div>
|
35 |
-
<div class="aam-help-context" >
|
36 |
-
<p class="aam-info aam-hint">
|
37 |
-
<strong><?php echo __('Note from the author', AAM_KEY); ?></strong><br/>
|
38 |
-
<?php echo __('Appreciate your interest in Advanced Access Manager (aka AAM). With a strong knowledge and experience in WordPress, AAM becomes a very powerful tool to manage access to your frontend and backend.', AAM_KEY); ?><br/>
|
39 |
-
<span class="aam-highlight"><?php echo __('Please notice!', AAM_KEY); ?></span> <?php echo AAM_Backend_Helper::preparePhrase('Power comes with responsibility. Make sure that you have enough knowledge in WordPress Roles and Capabilities because AAM is very closely tight to WordPress core. It is also very important [to have backup of your database before you start working with AAM] (there is no need to backup your files, AAM does not modify any physical files on your server and never did).', 'b'); ?><br/>
|
40 |
-
<?php echo __('AAM was thoroughly tested on the fresh installation of WordPress and in the latest versions of Chrome, Safari, IE and Firefox. If you have any issues, please make sure that there is no conflict with other plugins on your WordPress installation.', AAM_KEY); ?><br/>
|
41 |
-
<?php echo __('Please find below the short description of each feature that AAM offers.', AAM_KEY); ?>
|
42 |
-
</p>
|
43 |
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
</div>
|
74 |
</div>
|
75 |
</div>
|
76 |
</div>
|
77 |
</div>
|
78 |
-
</div>
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
</div>
|
119 |
-
<div class="modal-body">
|
120 |
-
<div class="form-group">
|
121 |
-
<label for="new-role-name"><?php echo __('Role Name', AAM_KEY); ?><span class="aam-asterix">*</span></label>
|
122 |
-
<input type="text" class="form-control" id="new-role-name" placeholder="<?php echo __('Enter Role Name', AAM_KEY); ?>" />
|
123 |
</div>
|
124 |
-
<div class="
|
125 |
-
<
|
126 |
-
|
127 |
-
<
|
128 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
</div>
|
130 |
-
</div>
|
131 |
-
<div class="modal-footer">
|
132 |
-
<button type="button" class="btn btn-success" id="add-role-btn"><?php echo __('Add Role', AAM_KEY); ?></button>
|
133 |
-
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
|
134 |
</div>
|
135 |
</div>
|
136 |
</div>
|
137 |
-
</div>
|
138 |
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
|
|
|
|
|
|
|
|
|
|
150 |
</div>
|
151 |
-
</div>
|
152 |
-
<div class="modal-footer">
|
153 |
-
<button type="button" class="btn btn-success" id="edit-role-btn"><?php echo __('Update Role', AAM_KEY); ?></button>
|
154 |
-
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
|
155 |
</div>
|
156 |
</div>
|
157 |
</div>
|
158 |
-
</div>
|
159 |
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
|
|
173 |
</div>
|
174 |
</div>
|
175 |
</div>
|
176 |
-
</div>
|
177 |
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
|
|
190 |
</div>
|
191 |
</div>
|
192 |
</div>
|
193 |
-
</div>
|
194 |
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
|
|
221 |
</div>
|
222 |
</div>
|
223 |
</div>
|
224 |
-
</div>
|
225 |
|
226 |
-
</div>
|
227 |
-
<?php if (current_user_can('edit_users')) { ?>
|
228 |
-
<div role="tabpanel" class="tab-pane" id="visitor">
|
229 |
-
<div class="visitor-message">
|
230 |
-
<span><?php echo __('Manage access to your website for visitors (any user that is not authenticated)', AAM_KEY); ?>.</span>
|
231 |
-
<button class="btn btn-primary btn-block" id="manage-visitor"><i class="icon-cog"></i> <?php echo __('Manage Visitor', AAM_KEY); ?></button>
|
232 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
</div>
|
234 |
-
<?php } ?>
|
235 |
</div>
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
</p>
|
241 |
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
|
|
261 |
</div>
|
262 |
</div>
|
263 |
</div>
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
</
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
<div class="col-xs-8 col-md-10 aam-notification-content">
|
279 |
-
<ul class="aam-error-list"></ul>
|
280 |
</div>
|
281 |
</div>
|
282 |
</div>
|
283 |
</div>
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
<p class="aam-info aam-margin-top-xs">
|
288 |
-
<?php echo sprintf(__('Follow us on twitter %s for the latest Advanced Access Manager news.', AAM_KEY), '<strong><a href="https://twitter.com/vasyltech/" target="_blank">@vasyltech</a></strong>'); ?>
|
289 |
-
</p>
|
290 |
-
|
291 |
-
<h2 class="aam-margin-top-xs"><?php echo __('What\'s New', AAM_KEY); ?></h2>
|
292 |
-
<ul>
|
293 |
-
<li><?php echo __('Brand new and much more intuitive user interface.', AAM_KEY); ?></li>
|
294 |
-
<li><?php echo __('Fully responsive design so you can manage access to website even on your smart phone.', AAM_KEY); ?></li>
|
295 |
-
<li><?php echo __('Better, more reliable and faster core functionality.', AAM_KEY); ?></li>
|
296 |
-
<li><?php echo __('Completely new extension handler. In case of any file system failure, you can download an extension for manual installation.', AAM_KEY); ?></li>
|
297 |
-
<li><?php echo __('Added "Manage Access" action to the list of user.', AAM_KEY); ?></li>
|
298 |
-
</ul>
|
299 |
-
|
300 |
-
<h2 class="aam-highlight aam-margin-top-xs"><?php echo __('Please be aware of the latest changes!', AAM_KEY); ?></h2>
|
301 |
-
<ul>
|
302 |
-
<li><?php echo __('"Save" button has been removed. Any changes that you perform are saved automatically.', AAM_KEY); ?></li>
|
303 |
-
<li><?php echo sprintf('With the first release of AAM version 3, not all extensions from AAM version 2 available for download. More extensions are coming soon. Follow us on twitter %s for the latest news.', '<strong><a href="https://twitter.com/vasyltech/" target="_blank">@vasyltech</a></strong>'); ?></li>
|
304 |
-
<li><?php echo __('License key for an extension is valid for one life domain only. All the licenses that were purchased before are still valid but limited to one domain with AAM version 3 (with AAM version 2 it is still unlimited until April 2016).', AAM_KEY); ?></li>
|
305 |
-
<li><?php echo __('Development License is valid for 5 domains with AAM version 3 but is still unlimited with version 2 (only until April 2016).', AAM_KEY); ?></li>
|
306 |
-
<li><?php echo __('Posts & Pages settings from AAM version 2 are not compatible with AAM version 3.', AAM_KEY); ?></li>
|
307 |
-
<li><?php echo __('You are not allowed to delete or lock an "Administrator" role.', AAM_KEY); ?></li>
|
308 |
-
<li><?php echo __('There is no longer a "Super Admin" role.', AAM_KEY); ?></li>
|
309 |
-
<li><?php echo __('You are not longer allowed to delete any user or group or users (but you still can do it within native WordPress interface).', AAM_KEY); ?></li>
|
310 |
-
<li><?php echo __('You are not allowed to delete any capability (even the one that you created manually).', AAM_KEY); ?></li>
|
311 |
-
</ul>
|
312 |
-
|
313 |
-
<h3>Rollback to AAM version 2</h3>
|
314 |
-
<p><?php echo sprintf(__('You can rolleback to the earlier version of AAM by simply downloading any previous version on %sthis page%s. After download, replace the wp-content/plugins/advanced-access-manager directory with the archive\'s content.'), '<a href="https://wordpress.org/plugins/advanced-access-manager/developers/" target="_blank">', '</a>'); ?></p>
|
315 |
-
|
316 |
-
<p class="aam-margin-top-xs text-center">
|
317 |
-
<a href="#" class="btn btn-lg btn-primary" id="confirm-welcome"><i class="icon-check"></i> <?php echo __('Ok, got it', AAM_KEY); ?></a>
|
318 |
-
</p>
|
319 |
-
</div>
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="wrap">
|
3 |
+
<div class="row aam-no-margin aam-notification-container<?php echo (AAM_Core_Console::hasIssues() ? '' : ' hidden') ?>">
|
4 |
+
<div class="col-xs-12">
|
5 |
+
<div class="row aam-notification">
|
6 |
+
<div class="col-xs-4 col-md-2 aam-notification-icon">
|
7 |
+
<i class="icon-attention-circled"></i>
|
8 |
+
</div>
|
9 |
+
<div class="col-xs-8 col-md-10 aam-notification-content">
|
10 |
+
<ul class="aam-error-list">
|
11 |
+
<?php foreach (AAM_Core_Console::getWarnings() as $message) { ?>
|
12 |
+
<li><?php echo $message; ?></li>
|
13 |
+
<?php } ?>
|
14 |
+
</ul>
|
15 |
+
</div>
|
16 |
</div>
|
17 |
+
</div>
|
18 |
+
</div>
|
19 |
+
|
20 |
+
<div class="modal fade" id="cache-info-modal" tabindex="-1" role="dialog">
|
21 |
+
<div class="modal-dialog" role="document">
|
22 |
+
<div class="modal-content">
|
23 |
+
<div class="modal-header">
|
24 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
25 |
+
<h4 class="modal-title"><?php echo __('Cache Information', AAM_KEY); ?></h4>
|
26 |
+
</div>
|
27 |
+
<div class="modal-body">
|
28 |
+
<p class="aam-info"><?php echo __('AAM main objective is to control access to your frontend and backend resources. In some cases your website may get slower because AAM performs additional checks. That is why it is important to have AAM caching turned on. Please follow few simple steps below to turn on the caching mechanism.', AAM_KEY); ?></p>
|
29 |
+
<ul class="aam-numeric-list">
|
30 |
+
<li><?php echo AAM_Backend_Helper::preparePhrase('Go to [Extensions] tab and click [Download] button for [AAM Utilities]', 'b', 'b', 'i'); ?>;</li>
|
31 |
+
<li><?php echo AAM_Backend_Helper::preparePhrase('After [AAM Utilities] installed successfully, go to [Utilities] tab and enable [Caching].', 'i', 'b', 'b'); ?></ol>
|
32 |
+
</ul>
|
33 |
+
</div>
|
34 |
+
<div class="modal-footer">
|
35 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('OK', AAM_KEY); ?></button>
|
36 |
+
</div>
|
37 |
</div>
|
38 |
</div>
|
39 |
</div>
|
40 |
+
|
41 |
+
<div class="row">
|
42 |
+
<div class="col-xs-12 col-md-8">
|
43 |
+
<h1 class="aam-current-subject"></h1>
|
44 |
+
</div>
|
45 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
+
<div class="row">
|
48 |
+
<div class="col-xs-12 col-md-8">
|
49 |
+
<div class="metabox-holder">
|
50 |
+
<div class="postbox">
|
51 |
+
<h3 class="hndle">
|
52 |
+
<span><?php echo __('Access Manager', AAM_KEY); ?></span>
|
53 |
+
<span class="aam-help-menu" data-target="#access-manager-inside"><i class="icon-help-circled"></i></span>
|
54 |
+
</h3>
|
55 |
+
<div class="inside" id="access-manager-inside">
|
56 |
+
<div class="aam-postbox-inside" id="aam-content"></div>
|
57 |
+
<div class="aam-help-context" >
|
58 |
+
<p class="aam-info aam-hint">
|
59 |
+
<strong><?php echo __('Note from the author', AAM_KEY); ?></strong><br/>
|
60 |
+
<?php echo __('Appreciate your interest in Advanced Access Manager (aka AAM). With a strong knowledge and experience in WordPress, AAM becomes a very powerful tool to manage access to your frontend and backend.', AAM_KEY); ?><br/>
|
61 |
+
<span class="aam-highlight"><?php echo __('Please notice!', AAM_KEY); ?></span> <?php echo AAM_Backend_Helper::preparePhrase('Power comes with responsibility. Make sure that you have enough knowledge in WordPress Roles and Capabilities because AAM is very closely tight to WordPress core. It is also very important [to have backup of your database before you start working with AAM] (there is no need to backup your files, AAM does not modify any physical files on your server and never did).', 'b'); ?><br/>
|
62 |
+
<?php echo __('AAM was thoroughly tested on the fresh installation of WordPress and in the latest versions of Chrome, Safari, IE and Firefox. If you have any issues, please make sure that there is no conflict with other plugins on your WordPress installation.', AAM_KEY); ?><br/>
|
63 |
+
<?php echo __('Please find below the short description of each feature that AAM offers.', AAM_KEY); ?>
|
64 |
+
</p>
|
65 |
|
66 |
+
<p class="text-justify">
|
67 |
+
<strong><?php echo __('Backend Menu', AAM_KEY); ?></strong><br/>
|
68 |
+
<?php echo __('Filter the admin menu. Please notice that it only filters the menu but does not restrict a direct access to the filtered menus. In order to completely restrict access to the menu, make sure that your role or user does not have capability that is assigned by WordPress core to that menu (the capability name is right next to the menu name).', AAM_KEY); ?>
|
69 |
+
</p>
|
70 |
|
71 |
+
<p class="text-justify">
|
72 |
+
<strong><?php echo __('Metaboxes & Widgets', AAM_KEY); ?></strong><br/>
|
73 |
+
<?php echo __('Filter backend metaboxes and frontend widgets. If the list of metaboxes and widgets is empty, click the “Refresh” button. This will reinitialize the list. It is a possibility that this feature will not work on servers that fails to execute WordPress remote request function “wp_remote_request”.', AAM_KEY); ?>
|
74 |
+
</p>
|
75 |
|
76 |
+
<p class="text-justify">
|
77 |
+
<strong><?php echo __('Capabilities', AAM_KEY); ?></strong><br/>
|
78 |
+
<?php echo __('This is probably the most important and powerful feature that manages list of capabilities for roles and users. Please make sure that you are familiar with WordPress Roles and Capabilities before using this feature. Do not try to un-check any capability for the Administrator role because your might lose access to your backend. While creating a new capability, AAM takes the capability name without any additional processing or normalization; which means that if you created new capability “Manage Boats”, internally it retains the same exact name.', AAM_KEY); ?>
|
79 |
+
</p>
|
80 |
|
81 |
+
<p class="text-justify">
|
82 |
+
<strong><?php echo __('Posts & Pages', AAM_KEY); ?></strong><br/>
|
83 |
+
<?php echo __('Manage access to your posts, pages and custom post types.', AAM_KEY); ?> <span class="aam-highlight"><?php echo __('Please notice!', AAM_KEY); ?></span> <?php echo __('This feature has limitations without AAM Plus Package extension.', AAM_KEY); ?>
|
84 |
+
</p>
|
85 |
+
|
86 |
+
<p class="text-justify">
|
87 |
+
<strong><?php echo __('Extensions', AAM_KEY); ?></strong><br/>
|
88 |
+
<?php echo sprintf(__('Extend AAM functionality with variety of extensions that can be either downloaded for free or purchased. All payment transactions are handled securely through PayPal and the PayPal Transaction ID is used to obtain the purchased extension (you can find Transaction ID in the email that PayPal send you after the purchase). Most of the time the extension is available for download almost immediately but it might take up to 2 hours for PayPal to notify our server about your payment. You are allowed to get the full refund within 30 days after the purchase, if extension did not meet your expectation. Please submit the %srefund form%s and we will issue a refund within next 3 business days.', AAM_KEY), '<a href="http://vasyltech.com/advanced-access-manager" target="_blank">', '</a>'); ?>
|
89 |
+
</p>
|
90 |
+
|
91 |
+
<div class="aam-info aam-social">
|
92 |
+
<a href="http://vasyltech.com" target="_blank"><i class="icon-home"></i></a>
|
93 |
+
<a href="http://twitter.com/vasyltech" target="_blank"><i class="icon-twitter"></i></a>
|
94 |
+
<a href="https://github.com/VasylTech/advanced-access-manager" target="_blank"><i class="icon-github"></i></a>
|
95 |
+
</div>
|
96 |
</div>
|
97 |
</div>
|
98 |
</div>
|
99 |
</div>
|
100 |
</div>
|
|
|
101 |
|
102 |
+
<div class="col-xs-12 col-md-4">
|
103 |
+
<div class="metabox-holder">
|
104 |
+
<?php do_action('aam-sidebar-ui-action', 'top'); ?>
|
105 |
|
106 |
+
<div class="postbox">
|
107 |
+
<h3 class="hndle">
|
108 |
+
<span><?php echo __('User/Role Manager', AAM_KEY); ?></span>
|
109 |
+
<span class="aam-help-menu" data-target="#user-role-manager-inside"><i class="icon-help-circled"></i></span>
|
110 |
+
</h3>
|
111 |
+
<div class="inside" id="user-role-manager-inside">
|
112 |
+
<div class="aam-postbox-inside">
|
113 |
+
<ul class="nav nav-tabs" role="tablist">
|
114 |
+
<li role="presentation" class="active"><a href="#roles" aria-controls="roles" role="tab" data-toggle="tab"><i class="icon-users"></i> <?php echo __('Roles', AAM_KEY); ?></a></li>
|
115 |
+
<li role="presentation"><a href="#users" aria-controls="users" role="tab" data-toggle="tab"><i class="icon-user"></i> <?php echo __('Users', AAM_KEY); ?></a></li>
|
116 |
+
<?php if (current_user_can('edit_users')) { ?>
|
117 |
+
<li role="presentation"><a href="#visitor" aria-controls="visitor" role="tab" data-toggle="tab"><i class="icon-user-secret"></i> <?php echo __('Visitor', AAM_KEY); ?></a></li>
|
118 |
+
<?php } ?>
|
119 |
+
</ul>
|
120 |
+
<div class="tab-content">
|
121 |
+
<div role="tabpanel" class="tab-pane active" id="roles">
|
122 |
+
<table id="role-list" class="table table-striped table-bordered">
|
123 |
+
<thead>
|
124 |
+
<tr>
|
125 |
+
<th>ID</th>
|
126 |
+
<th>Users</th>
|
127 |
+
<th width="70%"><?php echo __('Role', AAM_KEY); ?></th>
|
128 |
+
<th><?php echo __('Action', AAM_KEY); ?></th>
|
129 |
+
</tr>
|
130 |
+
</thead>
|
131 |
+
<tbody></tbody>
|
132 |
+
</table>
|
133 |
|
134 |
+
<div class="modal fade" id="add-role-modal" tabindex="-1" role="dialog">
|
135 |
+
<div class="modal-dialog modal-sm" role="document">
|
136 |
+
<div class="modal-content">
|
137 |
+
<div class="modal-header">
|
138 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
139 |
+
<h4 class="modal-title"><?php echo __('Add New Role', AAM_KEY); ?></h4>
|
|
|
|
|
|
|
|
|
|
|
140 |
</div>
|
141 |
+
<div class="modal-body">
|
142 |
+
<div class="form-group">
|
143 |
+
<label for="new-role-name"><?php echo __('Role Name', AAM_KEY); ?><span class="aam-asterix">*</span></label>
|
144 |
+
<input type="text" class="form-control" id="new-role-name" placeholder="<?php echo __('Enter Role Name', AAM_KEY); ?>" />
|
145 |
+
</div>
|
146 |
+
<div class="form-group">
|
147 |
+
<label for="inherit-role-list"><?php echo __('Inherit Capabilities', AAM_KEY); ?></label>
|
148 |
+
<select class="form-control" id="inherit-role-list">
|
149 |
+
<option value=""><?php echo __('Select Role', AAM_KEY); ?></option>
|
150 |
+
</select>
|
151 |
+
</div>
|
152 |
+
</div>
|
153 |
+
<div class="modal-footer">
|
154 |
+
<button type="button" class="btn btn-success" id="add-role-btn"><?php echo __('Add Role', AAM_KEY); ?></button>
|
155 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
|
156 |
</div>
|
|
|
|
|
|
|
|
|
157 |
</div>
|
158 |
</div>
|
159 |
</div>
|
|
|
160 |
|
161 |
+
<div class="modal fade" id="edit-role-modal" tabindex="-1" role="dialog">
|
162 |
+
<div class="modal-dialog modal-sm" role="document">
|
163 |
+
<div class="modal-content">
|
164 |
+
<div class="modal-header">
|
165 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
166 |
+
<h4 class="modal-title"><?php echo __('Edit Role', AAM_KEY); ?></h4>
|
167 |
+
</div>
|
168 |
+
<div class="modal-body">
|
169 |
+
<div class="form-group">
|
170 |
+
<label for="new-role-name"><?php echo __('Role Name', AAM_KEY); ?></label>
|
171 |
+
<input type="text" class="form-control" id="edit-role-name" placeholder="<?php echo __('Enter Role Name', AAM_KEY); ?>" />
|
172 |
+
</div>
|
173 |
+
</div>
|
174 |
+
<div class="modal-footer">
|
175 |
+
<button type="button" class="btn btn-success" id="edit-role-btn"><?php echo __('Update Role', AAM_KEY); ?></button>
|
176 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
|
177 |
</div>
|
|
|
|
|
|
|
|
|
178 |
</div>
|
179 |
</div>
|
180 |
</div>
|
|
|
181 |
|
182 |
+
<div class="modal fade" id="delete-role-modal" tabindex="-1" role="dialog">
|
183 |
+
<div class="modal-dialog modal-sm" role="document">
|
184 |
+
<div class="modal-content">
|
185 |
+
<div class="modal-header">
|
186 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
187 |
+
<h4 class="modal-title"><?php echo __('Delete Role', AAM_KEY); ?></h4>
|
188 |
+
</div>
|
189 |
+
<div class="modal-body">
|
190 |
+
<p class="text-center aam-confirm-message" data-message="<?php echo __('Are you sure that you want to delete %s role?', AAM_KEY); ?>"></p>
|
191 |
+
</div>
|
192 |
+
<div class="modal-footer">
|
193 |
+
<button type="button" class="btn btn-danger" id="delete-role-btn"><?php echo __('Delete Role', AAM_KEY); ?></button>
|
194 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
|
195 |
+
</div>
|
196 |
</div>
|
197 |
</div>
|
198 |
</div>
|
|
|
199 |
|
200 |
+
<div class="modal fade" id="role-notification-modal" tabindex="-1" role="dialog">
|
201 |
+
<div class="modal-dialog" role="document">
|
202 |
+
<div class="modal-content">
|
203 |
+
<div class="modal-header">
|
204 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
205 |
+
<h4 class="modal-title"><?php echo __('Notification', AAM_KEY); ?></h4>
|
206 |
+
</div>
|
207 |
+
<div class="modal-body">
|
208 |
+
<p class="text-center aam-notification-message"><?php echo __('You are not allowed to delete this role because either you do not have a capability to "Delete Users" or there is at least one user assigned to it.', AAM_KEY); ?></p>
|
209 |
+
</div>
|
210 |
+
<div class="modal-footer">
|
211 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('OK', AAM_KEY); ?></button>
|
212 |
+
</div>
|
213 |
</div>
|
214 |
</div>
|
215 |
</div>
|
|
|
216 |
|
217 |
+
</div>
|
218 |
+
<div role="tabpanel" class="tab-pane" id="users">
|
219 |
+
<table id="user-list" class="table table-striped table-bordered">
|
220 |
+
<thead>
|
221 |
+
<tr>
|
222 |
+
<th>ID</th>
|
223 |
+
<th>Roles</th>
|
224 |
+
<th width="65%"><?php echo __('Username', AAM_KEY); ?></th>
|
225 |
+
<th><?php echo __('Action', AAM_KEY); ?></th>
|
226 |
+
</tr>
|
227 |
+
</thead>
|
228 |
+
<tbody></tbody>
|
229 |
+
</table>
|
230 |
|
231 |
+
<div class="modal fade" id="user-notification-modal" tabindex="-1" role="dialog">
|
232 |
+
<div class="modal-dialog modal-sm" role="document">
|
233 |
+
<div class="modal-content">
|
234 |
+
<div class="modal-header">
|
235 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
236 |
+
<h4 class="modal-title"><?php echo __('Notification', AAM_KEY); ?></h4>
|
237 |
+
</div>
|
238 |
+
<div class="modal-body">
|
239 |
+
<p class="text-center aam-notification-message"><?php echo __('You are not allowed to perform this action.', AAM_KEY); ?></p>
|
240 |
+
</div>
|
241 |
+
<div class="modal-footer">
|
242 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('OK', AAM_KEY); ?></button>
|
243 |
+
</div>
|
244 |
</div>
|
245 |
</div>
|
246 |
</div>
|
|
|
247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
</div>
|
249 |
+
<?php if (current_user_can('edit_users')) { ?>
|
250 |
+
<div role="tabpanel" class="tab-pane" id="visitor">
|
251 |
+
<div class="visitor-message">
|
252 |
+
<span><?php echo __('Manage access to your website for visitors (any user that is not authenticated)', AAM_KEY); ?>.</span>
|
253 |
+
<button class="btn btn-primary btn-block" id="manage-visitor"><i class="icon-cog"></i> <?php echo __('Manage Visitor', AAM_KEY); ?></button>
|
254 |
+
</div>
|
255 |
+
</div>
|
256 |
+
<?php } ?>
|
257 |
</div>
|
|
|
258 |
</div>
|
259 |
+
<div class="aam-help-context">
|
260 |
+
<p class="aam-info aam-hint">
|
261 |
+
<?php echo AAM_Backend_Helper::preparePhrase('Manage access for your users, roles and visitors. Please be careful with Administrator role as well as your admin user. [Database backup is strongly recommended]', 'b'); ?>
|
262 |
+
</p>
|
|
|
263 |
|
264 |
+
<p class="text-justify">
|
265 |
+
<strong><?php echo __('Role Manager', AAM_KEY); ?></strong><br/>
|
266 |
+
<?php echo __('With role manager you can manage access for any defined role, edit role\'s name, create new role or even delete existing (but only when there is no users assigned to it). You are not allowed to delete Administrator role.', AAM_KEY); ?>
|
267 |
+
</p>
|
268 |
|
269 |
+
<p class="text-justify">
|
270 |
+
<strong><?php echo __('User Manager', AAM_KEY); ?></strong><br/>
|
271 |
+
<?php echo __('Manage access for any user. As a bonus feature, you can block user. It means that user will be not able to login to your website anymore. Create or edit user actions link to the native WordPress create/edit user interface.', AAM_KEY); ?>
|
272 |
+
</p>
|
273 |
|
274 |
+
<p class="text-justify">
|
275 |
+
<strong><?php echo __('Visitor Manager', AAM_KEY); ?></strong><br/>
|
276 |
+
<?php echo __('Visitor is any user that is not authenticated to your website. Considering the fact that visitors do not have any access to backend, any features that ara backend related are disabled.', AAM_KEY); ?>
|
277 |
+
</p>
|
278 |
+
|
279 |
+
<div class="aam-info aam-social">
|
280 |
+
<a href="http://vasyltech.com" target="_blank"><i class="icon-home"></i></a>
|
281 |
+
<a href="http://twitter.com/vasyltech" target="_blank"><i class="icon-twitter"></i></a>
|
282 |
+
<a href="https://github.com/VasylTech/advanced-access-manager" target="_blank"><i class="icon-github"></i></a>
|
283 |
+
</div>
|
284 |
</div>
|
285 |
</div>
|
286 |
</div>
|
287 |
+
<?php do_action('aam-sidebar-ui-action', 'bottom'); ?>
|
288 |
+
|
289 |
+
<!-- Error Fix Promotion: begin -->
|
290 |
+
<div class="postbox hidden" id="errorfix-promotion">
|
291 |
+
<h3 class="hndle">
|
292 |
+
<span>Website Error Fix</span>
|
293 |
+
<a href="http://phperrorfix.com" target="_blank" class="aam-help-menu"><i class="icon-help-circled"></i></a>
|
294 |
+
</h3>
|
295 |
+
<div class="inside">
|
296 |
+
<p class="aam-info">Keep your website error free with our patent pending <b>WP Error Fix</b>.</p>
|
297 |
+
<a href="#" class="btn btn-warning btn-lg btn-block" id="errorfix-install-btn">Install WP Error Fix</a>
|
298 |
+
</div>
|
299 |
+
</div>
|
300 |
+
<!-- Error Fix Promotion: end -->
|
|
|
|
|
301 |
</div>
|
302 |
</div>
|
303 |
</div>
|
304 |
</div>
|
305 |
+
<?php
|
306 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Application/Backend/view/main-panel.phtml
CHANGED
@@ -1,21 +1,24 @@
|
|
1 |
-
|
2 |
-
<div class="
|
3 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
<?php
|
5 |
-
foreach (AAM_Backend_Feature::retriveList() as $
|
6 |
-
echo
|
7 |
-
echo $feature->title;
|
8 |
-
echo (empty($feature->notification) ? '' : ' <span class="badge">' . $feature->notification . '</span>');
|
9 |
-
echo '</li>';
|
10 |
}
|
11 |
?>
|
12 |
-
</
|
13 |
</div>
|
14 |
-
|
15 |
-
|
16 |
-
foreach (AAM_Backend_Feature::retriveList() as $feature) {
|
17 |
-
echo $feature->view->getContent();
|
18 |
-
}
|
19 |
-
?>
|
20 |
-
</div>
|
21 |
-
</div>
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="row">
|
3 |
+
<div class="col-xs-12 col-md-4">
|
4 |
+
<ul class="list-group" id="feature-list">
|
5 |
+
<?php
|
6 |
+
foreach (AAM_Backend_Feature::retriveList() as $i => $feature) {
|
7 |
+
echo '<li class="list-group-item" data-feature="' . $feature->uid . '">';
|
8 |
+
echo $feature->title;
|
9 |
+
echo (empty($feature->notification) ? '' : ' <span class="badge">' . $feature->notification . '</span>');
|
10 |
+
echo '</li>';
|
11 |
+
}
|
12 |
+
?>
|
13 |
+
</ul>
|
14 |
+
</div>
|
15 |
+
<div class="col-xs-12 col-md-8">
|
16 |
<?php
|
17 |
+
foreach (AAM_Backend_Feature::retriveList() as $feature) {
|
18 |
+
echo $feature->view->getContent();
|
|
|
|
|
|
|
19 |
}
|
20 |
?>
|
21 |
+
</div>
|
22 |
</div>
|
23 |
+
<?php
|
24 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
Application/Backend/view/object/capability.phtml
CHANGED
@@ -1,57 +1,60 @@
|
|
1 |
-
|
2 |
-
<div class="
|
3 |
-
<div class="
|
4 |
-
<
|
5 |
-
|
6 |
-
|
|
|
|
|
7 |
</div>
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
</
|
|
|
21 |
</div>
|
22 |
-
<a href="#" class="btn btn-xs btn-primary" id="add-capability"><i class="icon-plus"></i> <?php echo __('Create', AAM_KEY); ?></a>
|
23 |
-
</div>
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
48 |
</div>
|
49 |
-
</div>
|
50 |
-
<div class="modal-footer">
|
51 |
-
<button type="button" class="btn btn-success" id="add-capability-btn"><?php echo __('Add Capability', AAM_KEY); ?></button>
|
52 |
-
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
|
53 |
</div>
|
54 |
</div>
|
55 |
</div>
|
56 |
</div>
|
57 |
-
|
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="aam-feature" id="capability-content">
|
3 |
+
<div class="row aam-user-note hidden">
|
4 |
+
<div class="col-xs-12">
|
5 |
+
<p class="aam-info">
|
6 |
+
<?php echo AAM_Backend_Helper::preparePhrase('[Please notice!] You are not allowed to assign or create a new capability that does not belong to user\'s role. Consider creating a new role with desired list of capabilities and then assign that role to user.', 'strong'); ?>
|
7 |
+
</p>
|
8 |
+
</div>
|
9 |
</div>
|
10 |
+
<div class="aam-feature-top-actions text-right">
|
11 |
+
<div class="btn-group">
|
12 |
+
<a href="#" class="btn btn-xs btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="capability-filter">
|
13 |
+
<i class="icon-filter"></i> <?php echo __('Filter', AAM_KEY); ?> <span class="caret"></span>
|
14 |
+
</a>
|
15 |
+
<ul class="dropdown-menu" id="capability-groups" aria-labelledby="capability-filter">
|
16 |
+
<?php foreach ($this->getGroupList() as $group) { ?>
|
17 |
+
<li><a href="#"><?php echo $group; ?></a></li>
|
18 |
+
<?php } ?>
|
19 |
+
<li role="separator" class="divider"></li>
|
20 |
+
<li><a href="#" data-clear="true"><?php echo __('All Capabilities', AAM_KEY); ?></a></li>
|
21 |
+
</ul>
|
22 |
+
</div>
|
23 |
+
<a href="#" class="btn btn-xs btn-primary" id="add-capability"><i class="icon-plus"></i> <?php echo __('Create', AAM_KEY); ?></a>
|
24 |
</div>
|
|
|
|
|
25 |
|
26 |
+
<table id="capability-list" class="table table-striped table-bordered">
|
27 |
+
<thead>
|
28 |
+
<tr>
|
29 |
+
<th>ID</th>
|
30 |
+
<th width="30%"><?php echo __('Category', AAM_KEY); ?></th>
|
31 |
+
<th width="50%"><?php echo __('Capability', AAM_KEY); ?></th>
|
32 |
+
<th><?php echo __('Actions', AAM_KEY); ?></th>
|
33 |
+
</tr>
|
34 |
+
</thead>
|
35 |
+
<tbody></tbody>
|
36 |
+
</table>
|
37 |
|
38 |
+
<div class="modal fade" id="add-capability-modal" tabindex="-1" role="dialog">
|
39 |
+
<div class="modal-dialog modal-sm" role="document">
|
40 |
+
<div class="modal-content">
|
41 |
+
<div class="modal-header">
|
42 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
43 |
+
<h4 class="modal-title"><?php echo __('Add New Capability', AAM_KEY); ?></h4>
|
44 |
+
</div>
|
45 |
+
<div class="modal-body">
|
46 |
+
<div class="form-group">
|
47 |
+
<label for="new-capability-name"><?php echo __('Capability Name', AAM_KEY); ?><span class="aam-asterix">*</span></label>
|
48 |
+
<input type="text" class="form-control" id="new-capability-name" placeholder="<?php echo __('Enter Capability', AAM_KEY); ?>" />
|
49 |
+
</div>
|
50 |
+
</div>
|
51 |
+
<div class="modal-footer">
|
52 |
+
<button type="button" class="btn btn-success" id="add-capability-btn"><?php echo __('Add Capability', AAM_KEY); ?></button>
|
53 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('Close', AAM_KEY); ?></button>
|
54 |
</div>
|
|
|
|
|
|
|
|
|
55 |
</div>
|
56 |
</div>
|
57 |
</div>
|
58 |
</div>
|
59 |
+
<?php
|
60 |
+
}
|
Application/Backend/view/object/menu.phtml
CHANGED
@@ -1,57 +1,70 @@
|
|
1 |
-
|
2 |
-
<div class="
|
3 |
-
<div class="
|
4 |
-
<
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
</div>
|
9 |
-
<div class="panel-group" id="admin-menu" role="tablist" aria-multiselectable="true">
|
10 |
-
<?php
|
11 |
-
$object = AAM_Backend_View::getSubject()->getObject('menu');
|
12 |
-
foreach ($this->getMenu() as $i => $menu) {
|
13 |
-
?>
|
14 |
-
<div class="panel panel-default">
|
15 |
-
<div class="panel-heading" role="tab" id="menu-<?php echo $i; ?>-heading">
|
16 |
-
<h4 class="panel-title">
|
17 |
-
<a role="button" data-toggle="collapse" data-parent="#admin-menu" href="#menu-<?php echo $i; ?>" aria-controls="menu-<?php echo $i; ?>">
|
18 |
-
<?php echo $menu['name']; ?> <small class="aam-menu-capability"><?php echo $menu['capability']; ?></small>
|
19 |
-
</a>
|
20 |
-
<?php echo ($object->has($menu['id']) ? '<i class="aam-panel-title-icon icon-eye-off text-danger"></i>' : ''); ?>
|
21 |
-
</h4>
|
22 |
</div>
|
|
|
|
|
23 |
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
</div>
|
51 |
</div>
|
52 |
</div>
|
53 |
</div>
|
54 |
-
|
55 |
-
|
56 |
</div>
|
57 |
-
|
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="aam-feature" id="admin_menu-content">
|
3 |
+
<div class="row<?php echo ($this->isOverwritten() ? '' : ' hidden'); ?>">
|
4 |
+
<div class="col-xs-12">
|
5 |
+
<div class="aam-overwrite">
|
6 |
+
<span><i class="icon-attention-circled"></i> <?php echo __('Settings may not be inherited', AAM_KEY); ?></span>
|
7 |
+
<span><a href="#" id="menu-reset"><?php echo __('Reset', AAM_KEY); ?></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
</div>
|
9 |
+
</div>
|
10 |
+
</div>
|
11 |
|
12 |
+
<div class="row">
|
13 |
+
<div class="col-xs-12">
|
14 |
+
<p class="aam-info">
|
15 |
+
<?php echo AAM_Backend_Helper::preparePhrase('If checked, then menu is filtered. [Please notice]! This does not restrict direct access to the page but rather filters it from the menu. In order to completely restrict access to the desired page, un-check the capability that is assigned to the menu [(the capability is shown right next to the menu title)].', 'strong', 'small'); ?>
|
16 |
+
</p>
|
17 |
+
</div>
|
18 |
+
</div>
|
19 |
+
|
20 |
+
<div class="panel-group" id="admin-menu" role="tablist" aria-multiselectable="true">
|
21 |
+
<?php
|
22 |
+
$object = AAM_Backend_View::getSubject()->getObject('menu');
|
23 |
+
foreach ($this->getMenu() as $i => $menu) {
|
24 |
+
?>
|
25 |
+
<div class="panel panel-default">
|
26 |
+
<div class="panel-heading" role="tab" id="menu-<?php echo $i; ?>-heading">
|
27 |
+
<h4 class="panel-title">
|
28 |
+
<a role="button" data-toggle="collapse" data-parent="#admin-menu" href="#menu-<?php echo $i; ?>" aria-controls="menu-<?php echo $i; ?>">
|
29 |
+
<?php echo $menu['name']; ?> <small class="aam-menu-capability"><?php echo $menu['capability']; ?></small>
|
30 |
+
</a>
|
31 |
+
<?php echo ($object->has($menu['id']) ? '<i class="aam-panel-title-icon icon-eye-off text-danger"></i>' : ''); ?>
|
32 |
+
</h4>
|
33 |
+
</div>
|
34 |
|
35 |
+
<div id="menu-<?php echo $i; ?>" class="panel-collapse collapse" role="tabpanel" aria-labelledby="menu-<?php echo $i; ?>-heading">
|
36 |
+
<div class="panel-body">
|
37 |
+
<?php if (!empty($menu['submenu'])) { ?>
|
38 |
+
<div class="row aam-bordered">
|
39 |
+
<?php echo ($object->has($menu['id']) ? '<div class="aam-lock"></div>' : ''); ?>
|
40 |
+
<?php foreach ($menu['submenu'] as $j => $submenu) { ?>
|
41 |
+
<div class="col-xs-12 col-md-6 aam-submenu-item">
|
42 |
+
<label for="menu-item-<?php echo $i . $j; ?>"><?php echo $submenu['name']; ?> <small class="aam-menu-capability"><?php echo $submenu['capability']; ?></small></label>
|
43 |
+
<input type="checkbox" class="aam-checkbox-danger" id="menu-item-<?php echo $i . $j; ?>" data-menu-id="<?php echo $submenu['id']; ?>"<?php echo ($object->has($submenu['id']) || $object->has($menu['id']) ? ' checked="checked"' : ''); ?> />
|
44 |
+
<label for="menu-item-<?php echo $i . $j; ?>"></label>
|
45 |
+
</div>
|
46 |
+
<?php } ?>
|
47 |
+
</div>
|
48 |
+
<?php } ?>
|
49 |
+
|
50 |
+
<div class="row<?php echo (!empty($menu['submenu']) ? ' aam-margin-top-xs' : ''); ?>">
|
51 |
+
<div class="col-xs-10 col-md-6 col-xs-offset-1 col-md-offset-3">
|
52 |
+
<?php if ($object->has($menu['id'])) { ?>
|
53 |
+
<a href="#" class="btn btn-primary btn-sm btn-block aam-restrict-menu" data-menu-id="<?php echo $menu['id']; ?>" data-target="#menu-<?php echo $i; ?>">
|
54 |
+
<i class="icon-eye"></i> <?php echo __('Show Menu', AAM_KEY); ?>
|
55 |
+
</a>
|
56 |
+
<?php } else { ?>
|
57 |
+
<a href="#" class="btn btn-danger btn-sm btn-block aam-restrict-menu" data-menu-id="<?php echo $menu['id']; ?>" data-target="#menu-<?php echo $i; ?>">
|
58 |
+
<i class="icon-eye-off"></i> <?php echo __('Hide Menu', AAM_KEY); ?>
|
59 |
+
</a>
|
60 |
+
<?php } ?>
|
61 |
+
</div>
|
62 |
</div>
|
63 |
</div>
|
64 |
</div>
|
65 |
</div>
|
66 |
+
<?php } ?>
|
67 |
+
</div>
|
68 |
</div>
|
69 |
+
<?php
|
70 |
+
}
|
Application/Backend/view/object/metabox.phtml
CHANGED
@@ -1,58 +1,69 @@
|
|
1 |
-
|
2 |
-
<div class="aam-feature
|
3 |
-
<
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
6 |
-
|
7 |
-
|
|
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
<?php foreach ($metaboxList as $screen => $metaboxes) { ?>
|
12 |
-
<div class="panel panel-default">
|
13 |
-
<div class="panel-heading" role="tab" id="group-<?php echo $screen; ?>-heading">
|
14 |
-
<h4 class="panel-title">
|
15 |
-
<a role="button" data-toggle="collapse" data-parent="#metabox-list" href="#group-<?php echo $screen; ?>" aria-controls="group-<?php echo $screen; ?>">
|
16 |
-
<?php
|
17 |
-
switch ($screen) {
|
18 |
-
case 'dashboard':
|
19 |
-
echo __('Dashboard Widgets', AAM_KEY);
|
20 |
-
break;
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
<
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
|
|
45 |
</div>
|
46 |
</div>
|
47 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
</div>
|
49 |
-
|
50 |
-
|
51 |
-
<?php } else { ?>
|
52 |
-
<div class="row">
|
53 |
-
<div class="col-xs-12 text-center">
|
54 |
-
<p class="aam-notification-message"><?php echo __('The list of metaboxes and widgets is not initialized. Click Refresh button above.'); ?></p>
|
55 |
-
</div>
|
56 |
</div>
|
57 |
-
|
58 |
-
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="aam-feature" id="metabox-content">
|
3 |
+
<div class="row<?php echo ($this->isOverwritten() ? '' : ' hidden'); ?>">
|
4 |
+
<div class="col-xs-12">
|
5 |
+
<div class="aam-overwrite">
|
6 |
+
<span><i class="icon-attention-circled"></i> <?php echo __('Settings may not be inherited', AAM_KEY); ?></span>
|
7 |
+
<span><a href="#" id="metabox-reset"><?php echo __('Reset', AAM_KEY); ?></a>
|
8 |
+
</div>
|
9 |
+
</div>
|
10 |
+
</div>
|
11 |
|
12 |
+
<div class="aam-feature-top-actions text-right">
|
13 |
+
<a href="#" class="btn btn-xs btn-primary" id="refresh-metabox-list"><i class="icon-arrows-cw"></i> <?php echo __('Refresh', AAM_KEY); ?></a>
|
14 |
+
</div>
|
15 |
|
16 |
+
<?php $object = AAM_Backend_View::getSubject()->getObject('metabox'); ?>
|
17 |
+
<?php $metaboxList = $this->getMetaboxList(); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
+
<?php if (!empty($metaboxList)) { ?>
|
20 |
+
<div class="panel-group" id="metabox-list" role="tablist">
|
21 |
+
<?php foreach ($metaboxList as $screen => $metaboxes) { ?>
|
22 |
+
<div class="panel panel-default">
|
23 |
+
<div class="panel-heading" role="tab" id="group-<?php echo $screen; ?>-heading">
|
24 |
+
<h4 class="panel-title">
|
25 |
+
<a role="button" data-toggle="collapse" data-parent="#metabox-list" href="#group-<?php echo $screen; ?>" aria-controls="group-<?php echo $screen; ?>">
|
26 |
+
<?php
|
27 |
+
switch ($screen) {
|
28 |
+
case 'dashboard':
|
29 |
+
echo __('Dashboard Widgets', AAM_KEY);
|
30 |
+
break;
|
31 |
|
32 |
+
case 'widgets':
|
33 |
+
echo __('Frontend Widgets', AAM_KEY);
|
34 |
+
break;
|
35 |
+
|
36 |
+
default:
|
37 |
+
echo $wp_post_types[$screen]->labels->name;
|
38 |
+
break;
|
39 |
+
}
|
40 |
+
?>
|
41 |
+
</a>
|
42 |
+
</h4>
|
43 |
+
</div>
|
44 |
+
<div id="group-<?php echo $screen; ?>" class="panel-collapse collapse" role="tabpanel" aria-labelledby="group-<?php echo $screen; ?>-heading">
|
45 |
+
<div class="panel-body">
|
46 |
+
<div class="row aam-bordered">
|
47 |
+
<?php foreach ($metaboxes as $metabox) { ?>
|
48 |
+
<div class="col-xs-12 col-md-6 aam-submenu-item">
|
49 |
+
<label for="metabox-<?php echo $screen; ?>-<?php echo $metabox['id']; ?>"><?php echo $metabox['title']; ?></label>
|
50 |
+
<input type="checkbox" class="aam-checkbox-danger" id="metabox-<?php echo $screen; ?>-<?php echo $metabox['id']; ?>" data-metabox="<?php echo $screen; ?>|<?php echo $metabox['id']; ?>"<?php echo ($object->has($screen, $metabox['id']) ? ' checked="checked"' : ''); ?> />
|
51 |
+
<label for="metabox-<?php echo $screen; ?>-<?php echo $metabox['id']; ?>"></label>
|
52 |
+
</div>
|
53 |
+
<?php } ?>
|
54 |
+
</div>
|
55 |
</div>
|
56 |
</div>
|
57 |
</div>
|
58 |
+
<?php } ?>
|
59 |
+
</div>
|
60 |
+
<?php } else { ?>
|
61 |
+
<div class="row">
|
62 |
+
<div class="col-xs-12 text-center">
|
63 |
+
<p class="aam-notification-message"><?php echo __('The list of metaboxes and widgets is not initialized. Click Refresh button above.'); ?></p>
|
64 |
</div>
|
65 |
+
</div>
|
66 |
+
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
67 |
</div>
|
68 |
+
<?php
|
69 |
+
}
|
Application/Backend/view/object/post.phtml
CHANGED
@@ -1,144 +1,205 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
<div class="
|
5 |
-
<
|
6 |
-
|
7 |
-
|
|
|
|
|
8 |
</div>
|
9 |
-
|
10 |
-
<?php } ?>
|
11 |
-
|
12 |
-
<div class="aam-post-breadcrumb">
|
13 |
-
<a href="#" data-level="root"><i class="icon-home"></i> <?php echo __('Root', AAM_KEY); ?></a>
|
14 |
-
</div>
|
15 |
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
<tr>
|
20 |
-
<th>ID</th>
|
21 |
-
<th>Link</th>
|
22 |
-
<th width="5%"> </th>
|
23 |
-
<th width="75%"><?php echo __('Title', AAM_KEY); ?></th>
|
24 |
-
<th><?php echo __('Actions', AAM_KEY); ?></th>
|
25 |
-
</tr>
|
26 |
-
</thead>
|
27 |
-
<tbody></tbody>
|
28 |
-
</table>
|
29 |
|
30 |
-
<div class="aam-
|
31 |
-
<?php echo
|
32 |
-
<a href="#"
|
33 |
</div>
|
34 |
|
35 |
-
<div class="aam-
|
36 |
-
|
37 |
-
<a href="#
|
38 |
</div>
|
39 |
|
40 |
-
<div class="aam-post-manager
|
41 |
-
<table class="table table-striped table-bordered">
|
42 |
-
<
|
43 |
-
<tr>
|
44 |
-
<td colspan="2" class="aam-table-group">
|
45 |
-
<i class="icon-doc-text-inv"></i> <strong><?php echo __('Frontend', AAM_KEY); ?></strong>
|
46 |
-
</td>
|
47 |
-
</tr>
|
48 |
-
|
49 |
-
<tr>
|
50 |
-
<td width="90%">
|
51 |
-
<strong class="aam-block"><?php echo __('List', AAM_KEY); ?></strong>
|
52 |
-
<p class="aam-hint">
|
53 |
-
<?php echo __('Filter (exclude) post from any list on your website frontend.', AAM_KEY); ?>
|
54 |
-
<span class="aam-highlight"><?php echo __('Warning!', AAM_KEY); ?></span>
|
55 |
-
<?php echo __('If checked, this property may slowdown your website with large amount of posts.', AAM_KEY); ?>
|
56 |
-
</p>
|
57 |
-
</td>
|
58 |
-
<td>
|
59 |
-
<div class="aam-row-actions">
|
60 |
-
<i class="aam-row-action text-muted icon-check-empty" data-property="frontend.list"></i>
|
61 |
-
</div>
|
62 |
-
</td>
|
63 |
-
</tr>
|
64 |
<tr>
|
65 |
-
<
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
</td>
|
71 |
-
<td>
|
72 |
-
<div class="aam-row-actions">
|
73 |
-
<i class="aam-row-action text-muted icon-check-empty" data-property="frontend.read"></i>
|
74 |
-
</div>
|
75 |
-
</td>
|
76 |
</tr>
|
77 |
-
|
78 |
-
|
79 |
-
<strong class="aam-block"><?php echo __('Comment', AAM_KEY); ?></strong>
|
80 |
-
<p class="aam-hint">
|
81 |
-
<?php echo __('Restrict access to comment on a post (if commenting feature is activated).', AAM_KEY); ?>
|
82 |
-
</p>
|
83 |
-
</td>
|
84 |
-
<td>
|
85 |
-
<div class="aam-row-actions">
|
86 |
-
<i class="aam-row-action text-muted icon-check-empty" data-property="frontend.comment"></i>
|
87 |
-
</div>
|
88 |
-
</td>
|
89 |
-
</tr>
|
90 |
-
|
91 |
-
<tr class="aam-backend-post-access">
|
92 |
-
<td colspan="2" class="aam-table-group">
|
93 |
-
<i class="icon-doc-text-inv"></i> <strong><?php echo __('Backend', AAM_KEY); ?></strong>
|
94 |
-
</td>
|
95 |
-
</tr>
|
96 |
-
|
97 |
-
<tr class="aam-backend-post-access">
|
98 |
-
<td>
|
99 |
-
<strong class="aam-block"><?php echo __('List', AAM_KEY); ?></strong>
|
100 |
-
<p class="aam-hint">
|
101 |
-
<?php echo __('Filter (exclude) post from any list on your website backend.', AAM_KEY); ?>
|
102 |
-
<span class="aam-highlight"><?php echo __('Warning!', AAM_KEY); ?></span>
|
103 |
-
<?php echo __('If checked, this property may slowdown your backend with large amount of posts.', AAM_KEY); ?>
|
104 |
-
</p>
|
105 |
-
</td>
|
106 |
-
<td>
|
107 |
-
<div class="aam-row-actions">
|
108 |
-
<i class="aam-row-action text-muted icon-check-empty" data-property="backend.list"></i>
|
109 |
-
</div>
|
110 |
-
</td>
|
111 |
-
</tr>
|
112 |
-
<tr class="aam-backend-post-access">
|
113 |
-
<td>
|
114 |
-
<strong class="aam-block"><?php echo __('Edit', AAM_KEY); ?></strong>
|
115 |
-
<p class="aam-hint">
|
116 |
-
<?php echo __('Restrict access to edit a post (also the link "Edit" and "Quick Edit" will be removed below the post title).', AAM_KEY); ?>
|
117 |
-
</p>
|
118 |
-
</td>
|
119 |
-
<td>
|
120 |
-
<div class="aam-row-actions">
|
121 |
-
<i class="aam-row-action text-muted icon-check-empty" data-property="backend.edit"></i>
|
122 |
-
</div>
|
123 |
-
</td>
|
124 |
-
</tr>
|
125 |
-
<tr class="aam-backend-post-access">
|
126 |
-
<td>
|
127 |
-
<strong class="aam-block"><?php echo __('Delete', AAM_KEY); ?></strong>
|
128 |
-
<p class="aam-hint">
|
129 |
-
<?php echo __('Restrict access to trash or permanently delete a post (also the link "Trash" or "Delete Permanently" will be removed for a post).', AAM_KEY); ?>
|
130 |
-
</p>
|
131 |
-
</td>
|
132 |
-
<td>
|
133 |
-
<div class="aam-row-actions">
|
134 |
-
<i class="aam-row-action text-muted icon-check-empty" data-property="backend.delete"></i>
|
135 |
-
</div>
|
136 |
-
</td>
|
137 |
-
</tr>
|
138 |
-
|
139 |
-
</tbody>
|
140 |
</table>
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
</div>
|
143 |
</div>
|
144 |
-
|
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="aam-feature" id="post-content">
|
3 |
+
<?php if (!defined('AAM_PLUS_PACKAGE')) { ?>
|
4 |
+
<div class="row">
|
5 |
+
<div class="col-xs-12">
|
6 |
+
<p class="aam-info">
|
7 |
+
<?php echo AAM_Backend_Helper::preparePhrase('You are allowed to manage access up to 10 posts, pages or custom post types. Consider to purchase [AAM Plus Package] extension to unlock this limitation.', 'b'); ?>
|
8 |
+
</p>
|
9 |
+
</div>
|
10 |
</div>
|
11 |
+
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
+
<div class="aam-post-breadcrumb">
|
14 |
+
<a href="#" data-level="root"><i class="icon-home"></i> <?php echo __('Root', AAM_KEY); ?></a>
|
15 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
+
<div class="aam-overwrite hidden" id="post-overwritten">
|
18 |
+
<span><i class="icon-attention-circled"></i> <?php echo __('Settings may not be inherited', AAM_KEY); ?></span>
|
19 |
+
<span><a href="#" id="post-reset"><?php echo __('Reset', AAM_KEY); ?></a> | <a href="#aam-reset-info-modal" data-toggle="modal"><?php echo __('Help', AAM_KEY); ?></a></span>
|
20 |
</div>
|
21 |
|
22 |
+
<div class="aam-inherited hidden" id="post-inherited">
|
23 |
+
<span><?php echo __('Settings inherited from', AAM_KEY); ?> <strong id="post-parent"></strong></span>
|
24 |
+
<span><a href="#aam-inheritance-modal" data-toggle="modal"><?php echo __('Help', AAM_KEY); ?></a></span>
|
25 |
</div>
|
26 |
|
27 |
+
<div class="aam-post-manager-container">
|
28 |
+
<table id="post-list" class="table table-striped table-bordered">
|
29 |
+
<thead>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
<tr>
|
31 |
+
<th>ID</th>
|
32 |
+
<th>Link</th>
|
33 |
+
<th width="5%"> </th>
|
34 |
+
<th width="75%"><?php echo __('Title', AAM_KEY); ?></th>
|
35 |
+
<th><?php echo __('Actions', AAM_KEY); ?></th>
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
</tr>
|
37 |
+
</thead>
|
38 |
+
<tbody></tbody>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
</table>
|
40 |
+
|
41 |
+
<div class="aam-post-manager" data-type="type">
|
42 |
+
<?php echo apply_filters('aam-post-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('post-type.phtml')); ?>
|
43 |
+
<a href="#" class="btn btn-xs btn-primary post-back">≪ <?php echo __('Go Back', AAM_KEY); ?></a>
|
44 |
+
</div>
|
45 |
+
|
46 |
+
<div class="aam-post-manager" data-type="term">
|
47 |
+
<?php echo apply_filters('aam-term-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('term-type.phtml')); ?>
|
48 |
+
<a href="#" class="btn btn-xs btn-primary post-back">≪ <?php echo __('Go Back', AAM_KEY); ?></a>
|
49 |
+
</div>
|
50 |
+
|
51 |
+
<div class="aam-post-manager" data-type="post">
|
52 |
+
<table class="table table-striped table-bordered">
|
53 |
+
<tbody>
|
54 |
+
<tr>
|
55 |
+
<td colspan="2" class="aam-table-group">
|
56 |
+
<i class="icon-doc-text-inv"></i> <strong><?php echo __('Frontend', AAM_KEY); ?></strong>
|
57 |
+
</td>
|
58 |
+
</tr>
|
59 |
+
|
60 |
+
<tr>
|
61 |
+
<td width="90%">
|
62 |
+
<strong class="aam-block"><?php echo __('List', AAM_KEY); ?></strong>
|
63 |
+
<p class="aam-hint">
|
64 |
+
<?php echo __('Filter (exclude) post from any list on your website frontend.', AAM_KEY); ?>
|
65 |
+
<span class="aam-highlight"><?php echo __('Warning!', AAM_KEY); ?></span>
|
66 |
+
<?php echo __('If checked, this property may slowdown your website with large amount of posts.', AAM_KEY); ?>
|
67 |
+
</p>
|
68 |
+
</td>
|
69 |
+
<td>
|
70 |
+
<div class="aam-row-actions">
|
71 |
+
<i class="aam-row-action text-muted icon-check-empty" data-property="frontend.list"></i>
|
72 |
+
</div>
|
73 |
+
</td>
|
74 |
+
</tr>
|
75 |
+
<tr>
|
76 |
+
<td>
|
77 |
+
<strong class="aam-block"><?php echo __('Read', AAM_KEY); ?></strong>
|
78 |
+
<p class="aam-hint">
|
79 |
+
<?php echo __('Restrict access to read a post. If "List" option is not checked, a post will be still listed on your website frontend.', AAM_KEY); ?>
|
80 |
+
</p>
|
81 |
+
</td>
|
82 |
+
<td>
|
83 |
+
<div class="aam-row-actions">
|
84 |
+
<i class="aam-row-action text-muted icon-check-empty" data-property="frontend.read"></i>
|
85 |
+
</div>
|
86 |
+
</td>
|
87 |
+
</tr>
|
88 |
+
<tr>
|
89 |
+
<td>
|
90 |
+
<strong class="aam-block"><?php echo __('Comment', AAM_KEY); ?></strong>
|
91 |
+
<p class="aam-hint">
|
92 |
+
<?php echo __('Restrict access to comment on a post (if commenting feature is activated).', AAM_KEY); ?>
|
93 |
+
</p>
|
94 |
+
</td>
|
95 |
+
<td>
|
96 |
+
<div class="aam-row-actions">
|
97 |
+
<i class="aam-row-action text-muted icon-check-empty" data-property="frontend.comment"></i>
|
98 |
+
</div>
|
99 |
+
</td>
|
100 |
+
</tr>
|
101 |
+
<?php do_action('aam-post-access-option-action', 'post', 'frontend'); ?>
|
102 |
+
|
103 |
+
<tr class="aam-backend-post-access">
|
104 |
+
<td colspan="2" class="aam-table-group">
|
105 |
+
<i class="icon-doc-text-inv"></i> <strong><?php echo __('Backend', AAM_KEY); ?></strong>
|
106 |
+
</td>
|
107 |
+
</tr>
|
108 |
+
|
109 |
+
<tr class="aam-backend-post-access">
|
110 |
+
<td>
|
111 |
+
<strong class="aam-block"><?php echo __('List', AAM_KEY); ?></strong>
|
112 |
+
<p class="aam-hint">
|
113 |
+
<?php echo __('Filter (exclude) post from any list on your website backend.', AAM_KEY); ?>
|
114 |
+
<span class="aam-highlight"><?php echo __('Warning!', AAM_KEY); ?></span>
|
115 |
+
<?php echo __('If checked, this property may slowdown your backend with large amount of posts.', AAM_KEY); ?>
|
116 |
+
</p>
|
117 |
+
</td>
|
118 |
+
<td>
|
119 |
+
<div class="aam-row-actions">
|
120 |
+
<i class="aam-row-action text-muted icon-check-empty" data-property="backend.list"></i>
|
121 |
+
</div>
|
122 |
+
</td>
|
123 |
+
</tr>
|
124 |
+
<tr class="aam-backend-post-access">
|
125 |
+
<td>
|
126 |
+
<strong class="aam-block"><?php echo __('Edit', AAM_KEY); ?></strong>
|
127 |
+
<p class="aam-hint">
|
128 |
+
<?php echo __('Restrict access to edit a post (also the link "Edit" and "Quick Edit" will be removed below the post title).', AAM_KEY); ?>
|
129 |
+
</p>
|
130 |
+
</td>
|
131 |
+
<td>
|
132 |
+
<div class="aam-row-actions">
|
133 |
+
<i class="aam-row-action text-muted icon-check-empty" data-property="backend.edit"></i>
|
134 |
+
</div>
|
135 |
+
</td>
|
136 |
+
</tr>
|
137 |
+
<tr class="aam-backend-post-access">
|
138 |
+
<td>
|
139 |
+
<strong class="aam-block"><?php echo __('Delete', AAM_KEY); ?></strong>
|
140 |
+
<p class="aam-hint">
|
141 |
+
<?php echo __('Restrict access to trash or permanently delete a post (also the link "Trash" or "Delete Permanently" will be removed for a post).', AAM_KEY); ?>
|
142 |
+
</p>
|
143 |
+
</td>
|
144 |
+
<td>
|
145 |
+
<div class="aam-row-actions">
|
146 |
+
<i class="aam-row-action text-muted icon-check-empty" data-property="backend.delete"></i>
|
147 |
+
</div>
|
148 |
+
</td>
|
149 |
+
</tr>
|
150 |
+
<?php do_action('aam-post-access-option-action', 'post', 'backend'); ?>
|
151 |
+
|
152 |
+
</tbody>
|
153 |
+
</table>
|
154 |
+
<a href="#" class="btn btn-xs btn-primary post-back">≪ <?php echo __('Go Back', AAM_KEY); ?></a>
|
155 |
+
</div>
|
156 |
+
</div>
|
157 |
+
|
158 |
+
<div class="modal fade" id="aam-inheritance-modal" tabindex="-1" role="dialog">
|
159 |
+
<div class="modal-dialog" role="document">
|
160 |
+
<div class="modal-content">
|
161 |
+
<div class="modal-header">
|
162 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
163 |
+
<h4 class="modal-title"><?php echo __('Inheritance', AAM_KEY); ?></h4>
|
164 |
+
</div>
|
165 |
+
<div class="modal-body aam-info-modal">
|
166 |
+
<p><?php echo __('If no access settings defined for post* or category* AAM triggers the inheritance mechanism in order listed below. The inheritance process terminates when the first defined set of settings is found.', AAM_KEY); ?></p>
|
167 |
+
<ul class="aam-numeric-list">
|
168 |
+
<li><?php echo __('If caching is on, read the cached settings', AAM_KEY); ?>;</li>
|
169 |
+
<li><?php echo __('Read post\'s or category\'s settings', AAM_KEY); ?>;</li>
|
170 |
+
<li><?php echo __('If AAM Plus Package installed, iterate through the tree of parent categories and read settings', AAM_KEY); ?>;</li>
|
171 |
+
<li><?php echo __('If AAM Plus Package installed, read the default access settings for posts or categories', AAM_KEY); ?>;</li>
|
172 |
+
<li><?php echo __('If user, read settings from the parent role and repeat the same sequence of steps', AAM_KEY); ?>;</li>
|
173 |
+
</ul>
|
174 |
+
|
175 |
+
<p class="aam-info aam-hint">
|
176 |
+
* <?php echo AAM_Backend_Helper::preparePhrase('[post] - any post, page or custom post type', 'strong'); ?>;<br/>
|
177 |
+
* <?php echo AAM_Backend_Helper::preparePhrase('[category] - any taxonomy/term or custom taxonomy', 'strong'); ?>.
|
178 |
+
</p>
|
179 |
+
</div>
|
180 |
+
<div class="modal-footer">
|
181 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('OK', AAM_KEY); ?></button>
|
182 |
+
</div>
|
183 |
+
</div>
|
184 |
+
</div>
|
185 |
+
</div>
|
186 |
+
|
187 |
+
<div class="modal fade" id="aam-reset-info-modal" tabindex="-1" role="dialog">
|
188 |
+
<div class="modal-dialog" role="document">
|
189 |
+
<div class="modal-content">
|
190 |
+
<div class="modal-header">
|
191 |
+
<button type="button" class="close" data-dismiss="modal" aria-label="<?php echo __('Close', AAM_KEY); ?>"><span aria-hidden="true">×</span></button>
|
192 |
+
<h4 class="modal-title"><?php echo __('Reset Information', AAM_KEY); ?></h4>
|
193 |
+
</div>
|
194 |
+
<div class="modal-body aam-info-modal">
|
195 |
+
<p><?php echo AAM_Backend_Helper::preparePhrase('[Settings may not be inherited] message indicates that access settings for current post or category are not inherited from parent category, role or default settings because they were modified for this particular post or category. Click [Reset] if you need to reset the access.', 'strong', 'strong'); ?></p>
|
196 |
+
</div>
|
197 |
+
<div class="modal-footer">
|
198 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo __('OK', AAM_KEY); ?></button>
|
199 |
+
</div>
|
200 |
+
</div>
|
201 |
+
</div>
|
202 |
</div>
|
203 |
</div>
|
204 |
+
<?php
|
205 |
+
}
|
Application/Backend/view/partial/post-type.phtml
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
-
|
2 |
-
<div class="
|
3 |
-
<
|
4 |
-
|
5 |
-
|
|
|
|
|
6 |
</div>
|
7 |
-
|
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="row">
|
3 |
+
<div class="col-xs-12">
|
4 |
+
<p class="aam-info">
|
5 |
+
<?php echo AAM_Backend_Helper::preparePhrase('Define the default access to your posts, pages, custom post types or categories. This feature is available only with [AAM Plus Package] extension. But you can still manage access to individual posts, pages or custom post types. Consider to purchase [AAM Plus Package] extension.', 'b', 'b'); ?>
|
6 |
+
</p>
|
7 |
+
</div>
|
8 |
</div>
|
9 |
+
<?php
|
10 |
+
}
|
Application/Backend/view/partial/term-type.phtml
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
-
|
2 |
-
<div class="
|
3 |
-
<
|
4 |
-
|
5 |
-
|
|
|
|
|
6 |
</div>
|
7 |
-
|
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="row">
|
3 |
+
<div class="col-xs-12">
|
4 |
+
<p class="aam-info">
|
5 |
+
<?php echo AAM_Backend_Helper::preparePhrase('Managing default access to categories (terms) is available in [AAM Plus Package] only. But you can still manage access to individual posts, pages or custom post types. Consider to purchase [AAM Plus Package] extension.', 'b', 'b'); ?>
|
6 |
+
</p>
|
7 |
+
</div>
|
8 |
</div>
|
9 |
+
<?php
|
10 |
+
}
|
Application/Core/API.php
CHANGED
@@ -150,9 +150,11 @@ final class AAM_Core_API {
|
|
150 |
public static function maxLevel($caps, $default = 0) {
|
151 |
$levels = array($default);
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
$
|
|
|
|
|
156 |
}
|
157 |
}
|
158 |
|
@@ -183,5 +185,24 @@ final class AAM_Core_API {
|
|
183 |
}
|
184 |
exit;
|
185 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
|
187 |
}
|
150 |
public static function maxLevel($caps, $default = 0) {
|
151 |
$levels = array($default);
|
152 |
|
153 |
+
if (is_array($caps)) { //WP Error Fix bug report
|
154 |
+
foreach($caps as $cap => $granted) {
|
155 |
+
if ($granted && preg_match('/^level_(10|[0-9])$/i', $cap, $match)) {
|
156 |
+
$levels[] = intval($match[1]);
|
157 |
+
}
|
158 |
}
|
159 |
}
|
160 |
|
185 |
}
|
186 |
exit;
|
187 |
}
|
188 |
+
|
189 |
+
/**
|
190 |
+
* Remove directory recursively
|
191 |
+
*
|
192 |
+
* @param string $pathname
|
193 |
+
*
|
194 |
+
* @return void
|
195 |
+
*
|
196 |
+
* @access public
|
197 |
+
*/
|
198 |
+
public static function removeDirectory($pathname) {
|
199 |
+
$files = glob($pathname . '/*');
|
200 |
+
|
201 |
+
foreach ($files as $file) {
|
202 |
+
is_dir($file) ? self::removeDirectory($file) : @unlink($file);
|
203 |
+
}
|
204 |
+
|
205 |
+
@rmdir($pathname);
|
206 |
+
}
|
207 |
|
208 |
}
|
Application/Core/Object.php
CHANGED
@@ -23,7 +23,7 @@ abstract class AAM_Core_Object {
|
|
23 |
* @access private
|
24 |
*/
|
25 |
private $_subject = null;
|
26 |
-
|
27 |
/**
|
28 |
* Object options
|
29 |
*
|
@@ -33,6 +33,15 @@ abstract class AAM_Core_Object {
|
|
33 |
*/
|
34 |
private $_option = array();
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
/**
|
37 |
* Constructor
|
38 |
*
|
@@ -95,5 +104,47 @@ abstract class AAM_Core_Object {
|
|
95 |
public function getOption() {
|
96 |
return $this->_option;
|
97 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
}
|
23 |
* @access private
|
24 |
*/
|
25 |
private $_subject = null;
|
26 |
+
|
27 |
/**
|
28 |
* Object options
|
29 |
*
|
33 |
*/
|
34 |
private $_option = array();
|
35 |
|
36 |
+
/**
|
37 |
+
* Inheritance indicator
|
38 |
+
*
|
39 |
+
* @var null|string
|
40 |
+
*
|
41 |
+
* @access private
|
42 |
+
*/
|
43 |
+
private $_inherited = null;
|
44 |
+
|
45 |
/**
|
46 |
* Constructor
|
47 |
*
|
104 |
public function getOption() {
|
105 |
return $this->_option;
|
106 |
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Set Inherited flag
|
110 |
+
*
|
111 |
+
* @param string $inherited
|
112 |
+
*
|
113 |
+
* @return void
|
114 |
+
*/
|
115 |
+
public function setInherited($inherited) {
|
116 |
+
$this->_inherited = $inherited;
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Get Inherited flag
|
121 |
+
*
|
122 |
+
* @return null|string
|
123 |
+
*
|
124 |
+
* @access public
|
125 |
+
*/
|
126 |
+
public function getInherited() {
|
127 |
+
return $this->_inherited;
|
128 |
+
}
|
129 |
|
130 |
+
/**
|
131 |
+
* Check if options were overwritten
|
132 |
+
*
|
133 |
+
* In order to consider options overwritten there are three conditions to be met:
|
134 |
+
* - Current subject has to have the parent subject;
|
135 |
+
* - Current object should have no empty option set;
|
136 |
+
* - The inherited flad should be null;
|
137 |
+
*
|
138 |
+
* @return boolean
|
139 |
+
*
|
140 |
+
* @access public
|
141 |
+
*/
|
142 |
+
public function isOverwritten () {
|
143 |
+
$parent = $this->getSubject()->hasParent();
|
144 |
+
$option = $this->getOption();
|
145 |
+
$inherit = $this->getInherited();
|
146 |
+
|
147 |
+
return ($parent && !empty($option) && is_null($inherit));
|
148 |
+
}
|
149 |
+
|
150 |
}
|
Application/Core/Object/Menu.php
CHANGED
@@ -31,6 +31,7 @@ class AAM_Core_Object_Menu extends AAM_Core_Object {
|
|
31 |
|
32 |
if (empty($option)) {
|
33 |
$option = $this->getSubject()->inheritFromParent('menu');
|
|
|
34 |
}
|
35 |
|
36 |
$this->setOption($option);
|
@@ -113,5 +114,12 @@ class AAM_Core_Object_Menu extends AAM_Core_Object {
|
|
113 |
|
114 |
return $this->getSubject()->updateOption($option, 'menu');
|
115 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
|
117 |
}
|
31 |
|
32 |
if (empty($option)) {
|
33 |
$option = $this->getSubject()->inheritFromParent('menu');
|
34 |
+
$this->setInherited(empty($option) ? null : 'role');
|
35 |
}
|
36 |
|
37 |
$this->setOption($option);
|
114 |
|
115 |
return $this->getSubject()->updateOption($option, 'menu');
|
116 |
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
*
|
120 |
+
*/
|
121 |
+
public function reset() {
|
122 |
+
return $this->getSubject()->deleteOption('menu');
|
123 |
+
}
|
124 |
|
125 |
}
|
Application/Core/Object/Metabox.php
CHANGED
@@ -31,6 +31,7 @@ class AAM_Core_Object_Metabox extends AAM_Core_Object {
|
|
31 |
|
32 |
if (empty($option)) {
|
33 |
$option = $this->getSubject()->inheritFromParent('metabox');
|
|
|
34 |
}
|
35 |
|
36 |
$this->setOption($option);
|
@@ -132,6 +133,14 @@ class AAM_Core_Object_Metabox extends AAM_Core_Object {
|
|
132 |
|
133 |
return $this->getSubject()->updateOption($option, 'metabox');
|
134 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
|
136 |
/**
|
137 |
*
|
31 |
|
32 |
if (empty($option)) {
|
33 |
$option = $this->getSubject()->inheritFromParent('metabox');
|
34 |
+
$this->setInherited(empty($option) ? null : 'role');
|
35 |
}
|
36 |
|
37 |
$this->setOption($option);
|
133 |
|
134 |
return $this->getSubject()->updateOption($option, 'metabox');
|
135 |
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
*
|
139 |
+
*/
|
140 |
+
public function reset() {
|
141 |
+
return $this->getSubject()->deleteOption('metabox');
|
142 |
+
}
|
143 |
+
|
144 |
|
145 |
/**
|
146 |
*
|
Application/Core/Object/Post.php
CHANGED
@@ -61,23 +61,39 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
|
|
61 |
public function read() {
|
62 |
$subject = $this->getSubject();
|
63 |
$opname = $this->getOptionName();
|
|
|
64 |
|
65 |
-
//cache
|
66 |
-
$option = apply_filters('aam-read-cache-filter',
|
67 |
-
|
68 |
-
if (empty($option)) { //no cache, than try to read it from DB
|
69 |
-
$option = get_post_meta($this->getPost()->ID, $opname, true);
|
70 |
-
}
|
71 |
|
72 |
-
//
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
}
|
76 |
-
|
77 |
-
$this->setOption(
|
78 |
|
79 |
//trigger caching mechanism
|
80 |
-
do_action(
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
}
|
82 |
|
83 |
/**
|
@@ -90,22 +106,23 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
|
|
90 |
public function save($property, $checked) {
|
91 |
$option = $this->getOption();
|
92 |
|
93 |
-
|
94 |
-
$option[$property] = $checked;
|
95 |
-
} elseif (isset($option[$property])) {
|
96 |
-
//this is important, because if you uncheck all options, AAM will try to
|
97 |
-
//inherit settings from the parent. This way there is no need to
|
98 |
-
//implement "Reset Settings" feature
|
99 |
-
unset($option[$property]); //remove it
|
100 |
-
}
|
101 |
-
|
102 |
-
//clear cache
|
103 |
-
do_action('aam-clear-cache-action', $this->getSubject());
|
104 |
|
105 |
return update_post_meta(
|
106 |
$this->getPost()->ID, $this->getOptionName(), $option
|
107 |
);
|
108 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
|
110 |
/**
|
111 |
* Set Post. Cover all unexpectd wierd issues with WP Core
|
@@ -167,5 +184,23 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
|
|
167 |
public function getPost() {
|
168 |
return $this->_post;
|
169 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
|
171 |
}
|
61 |
public function read() {
|
62 |
$subject = $this->getSubject();
|
63 |
$opname = $this->getOptionName();
|
64 |
+
$chname = $opname . '|' . $this->getPost()->ID;
|
65 |
|
66 |
+
//read cache first
|
67 |
+
$option = apply_filters('aam-read-cache-filter', array(), $chname, $subject);
|
|
|
|
|
|
|
|
|
68 |
|
69 |
+
if ($option === false) { //if false, then the cache is empty but exist
|
70 |
+
$option = array();
|
71 |
+
} else {
|
72 |
+
if (empty($option)) { //no cache for this element
|
73 |
+
$option = get_post_meta($this->getPost()->ID, $opname, true);
|
74 |
+
}
|
75 |
+
|
76 |
+
//try to inherit from terms or default first - AAM Plus Package or any
|
77 |
+
//other extension that use this filter
|
78 |
+
$option = apply_filters('aam-post-access-filter', $option, $this);
|
79 |
+
|
80 |
+
//try to inherit from parent
|
81 |
+
if (empty($option)) {
|
82 |
+
$option = $subject->inheritFromParent('post', $this->getPost()->ID);
|
83 |
+
$this->setInherited(empty($option) ? null : 'role');
|
84 |
+
}
|
85 |
}
|
86 |
+
|
87 |
+
$this->setOption($option);
|
88 |
|
89 |
//trigger caching mechanism
|
90 |
+
do_action(
|
91 |
+
'aam-write-cache-action',
|
92 |
+
$chname,
|
93 |
+
//if cache is on and result is empty, simply cache the false to speed-up
|
94 |
+
(empty($option) ? false : $option),
|
95 |
+
$subject
|
96 |
+
);
|
97 |
}
|
98 |
|
99 |
/**
|
106 |
public function save($property, $checked) {
|
107 |
$option = $this->getOption();
|
108 |
|
109 |
+
$option[$property] = $checked;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
return update_post_meta(
|
112 |
$this->getPost()->ID, $this->getOptionName(), $option
|
113 |
);
|
114 |
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Reset post settings
|
118 |
+
*
|
119 |
+
* @return boolean
|
120 |
+
*
|
121 |
+
* @access public
|
122 |
+
*/
|
123 |
+
public function reset() {
|
124 |
+
return delete_post_meta($this->getPost()->ID, $this->getOptionName());
|
125 |
+
}
|
126 |
|
127 |
/**
|
128 |
* Set Post. Cover all unexpectd wierd issues with WP Core
|
184 |
public function getPost() {
|
185 |
return $this->_post;
|
186 |
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Check if options were overwritten
|
190 |
+
*
|
191 |
+
* In order to consider options overwritten there are three conditions to be met:
|
192 |
+
* - Current object should have no empty option set;
|
193 |
+
* - The inherited flad should be null;
|
194 |
+
*
|
195 |
+
* @return boolean
|
196 |
+
*
|
197 |
+
* @access public
|
198 |
+
*/
|
199 |
+
public function isOverwritten () {
|
200 |
+
$option = $this->getOption();
|
201 |
+
$inherit = $this->getInherited();
|
202 |
+
|
203 |
+
return (!empty($option) && is_null($inherit));
|
204 |
+
}
|
205 |
|
206 |
}
|
Application/Core/Repository.php
CHANGED
@@ -51,6 +51,15 @@ class AAM_Core_Repository {
|
|
51 |
* @static
|
52 |
*/
|
53 |
private static $_instance = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
/**
|
56 |
* Consturctor
|
@@ -87,15 +96,18 @@ class AAM_Core_Repository {
|
|
87 |
* @access public
|
88 |
*/
|
89 |
public function load() {
|
90 |
-
$basedir =
|
91 |
|
92 |
if (file_exists($basedir)) {
|
93 |
//iterate through each active extension and load it
|
94 |
-
foreach (scandir($basedir) as $
|
95 |
-
if (!in_array($
|
96 |
-
$this->bootstrapExtension($basedir . '/' . $
|
97 |
}
|
98 |
}
|
|
|
|
|
|
|
99 |
}
|
100 |
}
|
101 |
|
@@ -127,12 +139,12 @@ class AAM_Core_Repository {
|
|
127 |
* @global type $wp_filesystem
|
128 |
*/
|
129 |
public function addExtension($content) {
|
130 |
-
$filepath =
|
131 |
|
132 |
$response = file_put_contents($filepath, $content);
|
133 |
if (!is_wp_error($response)) { //unzip the archive
|
134 |
WP_Filesystem(false, false, true); //init filesystem
|
135 |
-
$response = unzip_file($filepath,
|
136 |
if (!is_wp_error($response)) {
|
137 |
$response = true;
|
138 |
}
|
@@ -174,10 +186,10 @@ class AAM_Core_Repository {
|
|
174 |
if (!defined($const)) { //extension does not exist
|
175 |
$status = self::STATUS_DOWNLOAD;
|
176 |
} elseif (!empty($cache[$title])) {
|
177 |
-
|
178 |
-
//Check if there is a version mismatch. Also ignore if there is no
|
179 |
//license stored for this extension
|
180 |
-
|
|
|
181 |
$status = self::STATUS_UPDATE;
|
182 |
}
|
183 |
}
|
@@ -185,23 +197,42 @@ class AAM_Core_Repository {
|
|
185 |
return $status;
|
186 |
}
|
187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
/**
|
189 |
*
|
190 |
* @return type
|
191 |
*/
|
192 |
protected function prepareExtensionCache() {
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
$
|
199 |
-
|
200 |
-
|
|
|
|
|
|
|
|
|
|
|
201 |
}
|
202 |
}
|
203 |
|
204 |
-
return $cache;
|
205 |
}
|
206 |
|
207 |
/**
|
@@ -217,7 +248,7 @@ class AAM_Core_Repository {
|
|
217 |
$error = false;
|
218 |
|
219 |
//create a directory if does not exist
|
220 |
-
$basedir =
|
221 |
if (!file_exists($basedir)) {
|
222 |
if (!@mkdir($basedir, fileperms(ABSPATH) & 0777 | 0755, true)) {
|
223 |
$error = sprintf(__('Failed to create %s', AAM_KEY), $basedir);
|
@@ -230,5 +261,15 @@ class AAM_Core_Repository {
|
|
230 |
|
231 |
return $error;
|
232 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
|
234 |
}
|
51 |
* @static
|
52 |
*/
|
53 |
private static $_instance = null;
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Extension cache
|
57 |
+
*
|
58 |
+
* @var array
|
59 |
+
*
|
60 |
+
* @access protected
|
61 |
+
*/
|
62 |
+
protected $cache = array();
|
63 |
|
64 |
/**
|
65 |
* Consturctor
|
96 |
* @access public
|
97 |
*/
|
98 |
public function load() {
|
99 |
+
$basedir = $this->getBasedir();
|
100 |
|
101 |
if (file_exists($basedir)) {
|
102 |
//iterate through each active extension and load it
|
103 |
+
foreach (scandir($basedir) as $extension) {
|
104 |
+
if (!in_array($extension, array('.', '..'))) {
|
105 |
+
$this->bootstrapExtension($basedir . '/' . $extension);
|
106 |
}
|
107 |
}
|
108 |
+
//Very important hook for cases when there is extensions dependancy.
|
109 |
+
//For example AAM Plus Package depends on AAM Utitlities properties
|
110 |
+
do_action('aam-post-extensions-load');
|
111 |
}
|
112 |
}
|
113 |
|
139 |
* @global type $wp_filesystem
|
140 |
*/
|
141 |
public function addExtension($content) {
|
142 |
+
$filepath = $this->getBasedir() . '/' . uniqid('aam_');
|
143 |
|
144 |
$response = file_put_contents($filepath, $content);
|
145 |
if (!is_wp_error($response)) { //unzip the archive
|
146 |
WP_Filesystem(false, false, true); //init filesystem
|
147 |
+
$response = unzip_file($filepath, $this->getBasedir());
|
148 |
if (!is_wp_error($response)) {
|
149 |
$response = true;
|
150 |
}
|
186 |
if (!defined($const)) { //extension does not exist
|
187 |
$status = self::STATUS_DOWNLOAD;
|
188 |
} elseif (!empty($cache[$title])) {
|
189 |
+
//Check if user has the latest extension. Also ignore if there is no
|
|
|
190 |
//license stored for this extension
|
191 |
+
$version = version_compare(constant($const), $cache[$title]->version);
|
192 |
+
if ($version == -1 && !empty($cache[$title]->license)) {
|
193 |
$status = self::STATUS_UPDATE;
|
194 |
}
|
195 |
}
|
197 |
return $status;
|
198 |
}
|
199 |
|
200 |
+
/**
|
201 |
+
*
|
202 |
+
* @param type $slug
|
203 |
+
*
|
204 |
+
* @return type
|
205 |
+
*/
|
206 |
+
public function pluginStatus($slug) {
|
207 |
+
require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
|
208 |
+
|
209 |
+
$plugin = plugins_api('plugin_information', array('slug' => $slug));
|
210 |
+
|
211 |
+
return install_plugin_install_status( $plugin);
|
212 |
+
}
|
213 |
+
|
214 |
/**
|
215 |
*
|
216 |
* @return type
|
217 |
*/
|
218 |
protected function prepareExtensionCache() {
|
219 |
+
if (empty($this->cache)) {
|
220 |
+
$list = AAM_Core_API::getOption('aam-extension-repository', array());
|
221 |
+
$licenses = AAM_Core_API::getOption('aam-extension-license', array());
|
222 |
+
|
223 |
+
//WP Error Fix bug report
|
224 |
+
$list = (is_array($list) ? $list : array());
|
225 |
+
|
226 |
+
$this->cache = array();
|
227 |
+
foreach ($list as $row) {
|
228 |
+
$this->cache[$row->title] = $row;
|
229 |
+
if (isset($licenses[$row->title])) {
|
230 |
+
$this->cache[$row->title]->license = $licenses[$row->title];
|
231 |
+
}
|
232 |
}
|
233 |
}
|
234 |
|
235 |
+
return $this->cache;
|
236 |
}
|
237 |
|
238 |
/**
|
248 |
$error = false;
|
249 |
|
250 |
//create a directory if does not exist
|
251 |
+
$basedir = $this->getBasedir();
|
252 |
if (!file_exists($basedir)) {
|
253 |
if (!@mkdir($basedir, fileperms(ABSPATH) & 0777 | 0755, true)) {
|
254 |
$error = sprintf(__('Failed to create %s', AAM_KEY), $basedir);
|
261 |
|
262 |
return $error;
|
263 |
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
*
|
267 |
+
* @return type
|
268 |
+
*/
|
269 |
+
public function getBasedir() {
|
270 |
+
$basedir = WP_CONTENT_DIR . self::RELPATH;
|
271 |
+
|
272 |
+
return AAM_Core_ConfigPress::get('aam.extentionDir', $basedir);
|
273 |
+
}
|
274 |
|
275 |
}
|
Application/Core/Server.php
CHANGED
@@ -27,7 +27,7 @@ final class AAM_Core_Server {
|
|
27 |
*
|
28 |
* Fetch the extension list with versions from the server
|
29 |
*
|
30 |
-
* @return array
|
31 |
*
|
32 |
* @access public
|
33 |
*/
|
@@ -35,13 +35,12 @@ final class AAM_Core_Server {
|
|
35 |
$response = self::send(self::SERVER_URL . '/check');
|
36 |
|
37 |
if (!is_wp_error($response)) {
|
38 |
-
|
39 |
-
|
40 |
-
} else {
|
41 |
$result = $response->products;
|
42 |
}
|
43 |
} else {
|
44 |
-
$result =
|
45 |
}
|
46 |
|
47 |
return $result;
|
27 |
*
|
28 |
* Fetch the extension list with versions from the server
|
29 |
*
|
30 |
+
* @return array
|
31 |
*
|
32 |
* @access public
|
33 |
*/
|
35 |
$response = self::send(self::SERVER_URL . '/check');
|
36 |
|
37 |
if (!is_wp_error($response)) {
|
38 |
+
//WP Error Fix bug report
|
39 |
+
if ($response->error !== true && !empty($response->products)) {
|
|
|
40 |
$result = $response->products;
|
41 |
}
|
42 |
} else {
|
43 |
+
$result = array();
|
44 |
}
|
45 |
|
46 |
return $result;
|
Application/Core/Subject.php
CHANGED
@@ -78,7 +78,7 @@ abstract class AAM_Core_Subject {
|
|
78 |
$subject = $this->getSubject();
|
79 |
|
80 |
//make sure that method is callable
|
81 |
-
if (method_exists($subject, $name)) {
|
82 |
$response = call_user_func_array(array($subject, $name), $args);
|
83 |
} else {
|
84 |
$response = null;
|
@@ -180,11 +180,6 @@ abstract class AAM_Core_Subject {
|
|
180 |
public function getObject($objectType, $id = 'none') {
|
181 |
$object = null;
|
182 |
|
183 |
-
//make sure that object group is defined
|
184 |
-
if (!isset($this->_objects[$objectType])){
|
185 |
-
$this->_objects[$objectType] = array();
|
186 |
-
}
|
187 |
-
|
188 |
//check if there is an object with specified ID
|
189 |
if (!isset($this->_objects[$objectType][$id])) {
|
190 |
$classname = 'AAM_Core_Object_' . ucfirst($objectType);
|
@@ -212,7 +207,9 @@ abstract class AAM_Core_Subject {
|
|
212 |
* @return type
|
213 |
*/
|
214 |
public function hasCapability($capability) {
|
215 |
-
|
|
|
|
|
216 |
}
|
217 |
|
218 |
/**
|
@@ -226,6 +223,16 @@ abstract class AAM_Core_Subject {
|
|
226 |
public function save($param, $value, $object, $objectId = 0) {
|
227 |
return $this->getObject($object, $objectId)->save($param, $value);
|
228 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
|
230 |
/**
|
231 |
* Retrieve list of subject's capabilities
|
@@ -245,6 +252,11 @@ abstract class AAM_Core_Subject {
|
|
245 |
*/
|
246 |
abstract protected function retrieveSubject();
|
247 |
|
|
|
|
|
|
|
|
|
|
|
248 |
/**
|
249 |
* Read object from parent subject
|
250 |
*
|
@@ -256,7 +268,7 @@ abstract class AAM_Core_Subject {
|
|
256 |
* @access public
|
257 |
*/
|
258 |
public function inheritFromParent($object, $id = ''){
|
259 |
-
if ($subject = $this->
|
260 |
$option = $subject->getObject($object, $id)->getOption();
|
261 |
} else {
|
262 |
$option = null;
|
@@ -274,6 +286,20 @@ abstract class AAM_Core_Subject {
|
|
274 |
*
|
275 |
* @access public
|
276 |
*/
|
277 |
-
abstract public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
279 |
}
|
78 |
$subject = $this->getSubject();
|
79 |
|
80 |
//make sure that method is callable
|
81 |
+
if ($subject instanceof AAM_Core_Subject && method_exists($subject, $name)) {
|
82 |
$response = call_user_func_array(array($subject, $name), $args);
|
83 |
} else {
|
84 |
$response = null;
|
180 |
public function getObject($objectType, $id = 'none') {
|
181 |
$object = null;
|
182 |
|
|
|
|
|
|
|
|
|
|
|
183 |
//check if there is an object with specified ID
|
184 |
if (!isset($this->_objects[$objectType][$id])) {
|
185 |
$classname = 'AAM_Core_Object_' . ucfirst($objectType);
|
207 |
* @return type
|
208 |
*/
|
209 |
public function hasCapability($capability) {
|
210 |
+
$subject = $this->getSubject();
|
211 |
+
|
212 |
+
return ($subject ? $subject->has_cap($capability) : false);
|
213 |
}
|
214 |
|
215 |
/**
|
223 |
public function save($param, $value, $object, $objectId = 0) {
|
224 |
return $this->getObject($object, $objectId)->save($param, $value);
|
225 |
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
*
|
229 |
+
* @param type $object
|
230 |
+
* @param type $id
|
231 |
+
* @return type
|
232 |
+
*/
|
233 |
+
public function deleteOption($object, $id = 0) {
|
234 |
+
return AAM_Core_API::deleteOption($this->getOptionName($object, $id));
|
235 |
+
}
|
236 |
|
237 |
/**
|
238 |
* Retrieve list of subject's capabilities
|
252 |
*/
|
253 |
abstract protected function retrieveSubject();
|
254 |
|
255 |
+
/**
|
256 |
+
*
|
257 |
+
*/
|
258 |
+
abstract public function getOptionName($object, $id);
|
259 |
+
|
260 |
/**
|
261 |
* Read object from parent subject
|
262 |
*
|
268 |
* @access public
|
269 |
*/
|
270 |
public function inheritFromParent($object, $id = ''){
|
271 |
+
if ($subject = $this->getParent()){
|
272 |
$option = $subject->getObject($object, $id)->getOption();
|
273 |
} else {
|
274 |
$option = null;
|
286 |
*
|
287 |
* @access public
|
288 |
*/
|
289 |
+
abstract public function getParent();
|
290 |
+
|
291 |
+
/**
|
292 |
+
* Check if subject has parent
|
293 |
+
*
|
294 |
+
* Return true if current subject has parent subject. Applicable only for User
|
295 |
+
* only were Role is a parent subject to it.
|
296 |
+
*
|
297 |
+
* @return boolean
|
298 |
+
*
|
299 |
+
* @access public
|
300 |
+
*/
|
301 |
+
public function hasParent() {
|
302 |
+
return false;
|
303 |
+
}
|
304 |
|
305 |
}
|
Application/Core/Subject/Role.php
CHANGED
@@ -28,7 +28,7 @@ class AAM_Core_Subject_Role extends AAM_Core_Subject {
|
|
28 |
* @access protected
|
29 |
*/
|
30 |
protected function retrieveSubject() {
|
31 |
-
$roles =
|
32 |
$role = $roles->get_role($this->getId());
|
33 |
|
34 |
if (!is_null($role) && isset($role->capabilities)) {
|
@@ -49,14 +49,14 @@ class AAM_Core_Subject_Role extends AAM_Core_Subject {
|
|
49 |
*/
|
50 |
public function delete() {
|
51 |
$status = false;
|
52 |
-
$
|
53 |
|
54 |
if ($this->getId() !== 'administrator') {
|
55 |
$count = count_users();
|
56 |
$stats = $count['avail_roles'];
|
57 |
|
58 |
if (empty($stats[$this->getId()])) {
|
59 |
-
$
|
60 |
$status = true;
|
61 |
}
|
62 |
}
|
@@ -65,15 +65,19 @@ class AAM_Core_Subject_Role extends AAM_Core_Subject {
|
|
65 |
}
|
66 |
|
67 |
/**
|
68 |
-
*
|
69 |
-
*
|
|
|
|
|
70 |
* @return boolean
|
|
|
|
|
71 |
*/
|
72 |
public function update($name) {
|
73 |
-
$
|
74 |
if ($name) {
|
75 |
-
$
|
76 |
-
$status = AAM_Core_API::updateOption($
|
77 |
} else {
|
78 |
$status = false;
|
79 |
}
|
@@ -91,7 +95,9 @@ class AAM_Core_Subject_Role extends AAM_Core_Subject {
|
|
91 |
* @access public
|
92 |
*/
|
93 |
public function removeCapability($capability) {
|
94 |
-
|
|
|
|
|
95 |
}
|
96 |
|
97 |
/**
|
@@ -106,12 +112,17 @@ class AAM_Core_Subject_Role extends AAM_Core_Subject {
|
|
106 |
* @access public
|
107 |
*/
|
108 |
public function addCapability($capability) {
|
109 |
-
|
|
|
|
|
110 |
}
|
111 |
|
112 |
/**
|
113 |
-
*
|
114 |
-
*
|
|
|
|
|
|
|
115 |
*/
|
116 |
public function getCapabilities() {
|
117 |
return $this->getSubject()->capabilities;
|
@@ -146,23 +157,11 @@ class AAM_Core_Subject_Role extends AAM_Core_Subject {
|
|
146 |
/**
|
147 |
*
|
148 |
* @param type $object
|
149 |
-
* @param type $
|
150 |
-
* @return type
|
151 |
-
*/
|
152 |
-
public function deleteOption($object, $object_id = 0) {
|
153 |
-
return AAM_Core_API::deleteOption(
|
154 |
-
$this->getOptionName($object, $object_id)
|
155 |
-
);
|
156 |
-
}
|
157 |
-
|
158 |
-
/**
|
159 |
-
*
|
160 |
-
* @param type $object
|
161 |
-
* @param type $object_id
|
162 |
* @return string
|
163 |
*/
|
164 |
-
public function getOptionName($object, $
|
165 |
-
$name = "aam_{$object}" . ($
|
166 |
$name .= self::UID . '_' . $this->getId();
|
167 |
|
168 |
return $name;
|
@@ -179,7 +178,7 @@ class AAM_Core_Subject_Role extends AAM_Core_Subject {
|
|
179 |
/**
|
180 |
* @inheritdoc
|
181 |
*/
|
182 |
-
public function
|
183 |
return null;
|
184 |
}
|
185 |
|
28 |
* @access protected
|
29 |
*/
|
30 |
protected function retrieveSubject() {
|
31 |
+
$roles = AAM_Core_API::getRoles();
|
32 |
$role = $roles->get_role($this->getId());
|
33 |
|
34 |
if (!is_null($role) && isset($role->capabilities)) {
|
49 |
*/
|
50 |
public function delete() {
|
51 |
$status = false;
|
52 |
+
$roles = AAM_Core_API::getRoles();
|
53 |
|
54 |
if ($this->getId() !== 'administrator') {
|
55 |
$count = count_users();
|
56 |
$stats = $count['avail_roles'];
|
57 |
|
58 |
if (empty($stats[$this->getId()])) {
|
59 |
+
$roles->remove_role($this->getId());
|
60 |
$status = true;
|
61 |
}
|
62 |
}
|
65 |
}
|
66 |
|
67 |
/**
|
68 |
+
* Update role name
|
69 |
+
*
|
70 |
+
* @param string $name
|
71 |
+
*
|
72 |
* @return boolean
|
73 |
+
*
|
74 |
+
* @access public
|
75 |
*/
|
76 |
public function update($name) {
|
77 |
+
$roles = AAM_Core_API::getRoles();
|
78 |
if ($name) {
|
79 |
+
$roles->roles[$this->getId()]['name'] = $name;
|
80 |
+
$status = AAM_Core_API::updateOption($roles->role_key, $roles->roles);
|
81 |
} else {
|
82 |
$status = false;
|
83 |
}
|
95 |
* @access public
|
96 |
*/
|
97 |
public function removeCapability($capability) {
|
98 |
+
$this->getSubject()->remove_cap($capability);
|
99 |
+
|
100 |
+
return true;
|
101 |
}
|
102 |
|
103 |
/**
|
112 |
* @access public
|
113 |
*/
|
114 |
public function addCapability($capability) {
|
115 |
+
$this->getSubject()->add_cap($capability, 1);
|
116 |
+
|
117 |
+
return true;
|
118 |
}
|
119 |
|
120 |
/**
|
121 |
+
* Get role's capabilities
|
122 |
+
*
|
123 |
+
* @return array
|
124 |
+
*
|
125 |
+
* @access public
|
126 |
*/
|
127 |
public function getCapabilities() {
|
128 |
return $this->getSubject()->capabilities;
|
157 |
/**
|
158 |
*
|
159 |
* @param type $object
|
160 |
+
* @param type $id
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
* @return string
|
162 |
*/
|
163 |
+
public function getOptionName($object, $id) {
|
164 |
+
$name = "aam_{$object}" . ($id ? "_{$id}_" : '_');
|
165 |
$name .= self::UID . '_' . $this->getId();
|
166 |
|
167 |
return $name;
|
178 |
/**
|
179 |
* @inheritdoc
|
180 |
*/
|
181 |
+
public function getParent() {
|
182 |
return null;
|
183 |
}
|
184 |
|
Application/Core/Subject/User.php
CHANGED
@@ -200,18 +200,34 @@ class AAM_Core_Subject_User extends AAM_Core_Subject {
|
|
200 |
$this->getOptionName($object, $id), $this->getId()
|
201 |
);
|
202 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
|
204 |
/**
|
205 |
* @inheritdoc
|
206 |
*/
|
207 |
-
public function
|
208 |
//try to get this option from the User's Role
|
209 |
$roles = $this->getSubject()->roles;
|
210 |
//first user role is counted only. AAM does not support multi-roles
|
211 |
$subject_role = array_shift($roles);
|
212 |
|
|
|
213 |
if ($subject_role) {
|
214 |
-
//in case of multisite & current user does not belong to the site
|
215 |
$role = new AAM_Core_Subject_Role($subject_role);
|
216 |
} else {
|
217 |
$role = null;
|
@@ -233,6 +249,13 @@ class AAM_Core_Subject_User extends AAM_Core_Subject {
|
|
233 |
public function getOptionName($object, $id) {
|
234 |
return "aam_{$object}" . ($id ? "_{$id}" : '');
|
235 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
|
237 |
/**
|
238 |
* Get Subject UID
|
200 |
$this->getOptionName($object, $id), $this->getId()
|
201 |
);
|
202 |
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Read user's option
|
206 |
+
*
|
207 |
+
* @param string $object
|
208 |
+
* @param string $id
|
209 |
+
*
|
210 |
+
* @return mixed
|
211 |
+
*
|
212 |
+
* @access public
|
213 |
+
*/
|
214 |
+
public function deleteOption($object, $id = 0) {
|
215 |
+
return delete_user_option(
|
216 |
+
$this->getId(), $this->getOptionName($object, $id)
|
217 |
+
);
|
218 |
+
}
|
219 |
|
220 |
/**
|
221 |
* @inheritdoc
|
222 |
*/
|
223 |
+
public function getParent() {
|
224 |
//try to get this option from the User's Role
|
225 |
$roles = $this->getSubject()->roles;
|
226 |
//first user role is counted only. AAM does not support multi-roles
|
227 |
$subject_role = array_shift($roles);
|
228 |
|
229 |
+
//in case of multisite & current user does not belong to the site
|
230 |
if ($subject_role) {
|
|
|
231 |
$role = new AAM_Core_Subject_Role($subject_role);
|
232 |
} else {
|
233 |
$role = null;
|
249 |
public function getOptionName($object, $id) {
|
250 |
return "aam_{$object}" . ($id ? "_{$id}" : '');
|
251 |
}
|
252 |
+
|
253 |
+
/**
|
254 |
+
* @inheritdoc
|
255 |
+
*/
|
256 |
+
public function hasParent() {
|
257 |
+
return true;
|
258 |
+
}
|
259 |
|
260 |
/**
|
261 |
* Get Subject UID
|
Application/Core/Subject/Visitor.php
CHANGED
@@ -23,12 +23,12 @@ class AAM_Core_Subject_Visitor extends AAM_Core_Subject {
|
|
23 |
/**
|
24 |
* Retrieve Visitor Subject
|
25 |
*
|
26 |
-
* @return
|
27 |
*
|
28 |
* @access protected
|
29 |
*/
|
30 |
protected function retrieveSubject() {
|
31 |
-
return
|
32 |
}
|
33 |
|
34 |
/**
|
@@ -64,18 +64,6 @@ class AAM_Core_Subject_Visitor extends AAM_Core_Subject {
|
|
64 |
);
|
65 |
}
|
66 |
|
67 |
-
/**
|
68 |
-
*
|
69 |
-
* @param type $object
|
70 |
-
* @param type $id
|
71 |
-
* @return type
|
72 |
-
*/
|
73 |
-
public function deleteOption($object, $id = 0) {
|
74 |
-
return AAM_Core_API::deleteOption(
|
75 |
-
$this->getOptionName($object, $id)
|
76 |
-
);
|
77 |
-
}
|
78 |
-
|
79 |
/**
|
80 |
*
|
81 |
* @param type $object
|
@@ -97,7 +85,7 @@ class AAM_Core_Subject_Visitor extends AAM_Core_Subject {
|
|
97 |
/**
|
98 |
* @inheritdoc
|
99 |
*/
|
100 |
-
public function
|
101 |
return null;
|
102 |
}
|
103 |
|
23 |
/**
|
24 |
* Retrieve Visitor Subject
|
25 |
*
|
26 |
+
* @return null|AAM_Core_Subject
|
27 |
*
|
28 |
* @access protected
|
29 |
*/
|
30 |
protected function retrieveSubject() {
|
31 |
+
return null;
|
32 |
}
|
33 |
|
34 |
/**
|
64 |
);
|
65 |
}
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
/**
|
68 |
*
|
69 |
* @param type $object
|
85 |
/**
|
86 |
* @inheritdoc
|
87 |
*/
|
88 |
+
public function getParent() {
|
89 |
return null;
|
90 |
}
|
91 |
|
Application/Frontend/Manager.php
CHANGED
@@ -32,19 +32,21 @@ class AAM_Frontend_Manager {
|
|
32 |
* @access public
|
33 |
*/
|
34 |
public function __construct() {
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
|
|
48 |
}
|
49 |
|
50 |
/**
|
@@ -53,17 +55,19 @@ class AAM_Frontend_Manager {
|
|
53 |
* @return void
|
54 |
*
|
55 |
* @access public
|
56 |
-
* @global WP_Query $wp_query
|
57 |
* @global WP_Post $post
|
58 |
*/
|
59 |
public function wp() {
|
60 |
-
global $
|
61 |
|
62 |
$user = AAM::getUser();
|
63 |
-
if (
|
64 |
-
|
|
|
65 |
AAM_Core_API::reject();
|
66 |
}
|
|
|
|
|
67 |
}
|
68 |
}
|
69 |
|
32 |
* @access public
|
33 |
*/
|
34 |
public function __construct() {
|
35 |
+
if (apply_filters('aam-utility-property', 'frontend-access-control', true)) {
|
36 |
+
//control WordPress frontend
|
37 |
+
add_action('wp', array($this, 'wp'), 999);
|
38 |
+
//filter navigation pages & taxonomies
|
39 |
+
add_filter('get_pages', array($this, 'getPages'));
|
40 |
+
add_filter('wp_get_nav_menu_items', array($this, 'getNavigationMenu'));
|
41 |
+
//widget filters
|
42 |
+
add_filter('sidebars_widgets', array($this, 'widgetFilter'), 999);
|
43 |
+
//get control over commenting stuff
|
44 |
+
add_filter('comments_open', array($this, 'commentOpen'), 10, 2);
|
45 |
+
//user login control
|
46 |
+
add_filter('wp_authenticate_user', array($this, 'authenticate'), 1, 2);
|
47 |
+
//add post filter for LIST restriction
|
48 |
+
add_filter('the_posts', array($this, 'thePosts'), 999, 2);
|
49 |
+
}
|
50 |
}
|
51 |
|
52 |
/**
|
55 |
* @return void
|
56 |
*
|
57 |
* @access public
|
|
|
58 |
* @global WP_Post $post
|
59 |
*/
|
60 |
public function wp() {
|
61 |
+
global $post;
|
62 |
|
63 |
$user = AAM::getUser();
|
64 |
+
if (is_single() || is_page()) {
|
65 |
+
$object = $user->getObject('post', $post->ID);
|
66 |
+
if ($object->has('frontend.read')) {
|
67 |
AAM_Core_API::reject();
|
68 |
}
|
69 |
+
//trigger any action that is listeting
|
70 |
+
do_action('aam-wp-action', $object);
|
71 |
}
|
72 |
}
|
73 |
|
Lang/{en_US.mo → advanced-access-manager-en_US.mo}
RENAMED
Binary file
|
Lang/{en_US.po → advanced-access-manager-en_US.po}
RENAMED
@@ -1,13 +1,13 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: AAM\n"
|
4 |
-
"POT-Creation-Date:
|
5 |
"PO-Revision-Date: \n"
|
6 |
"Language-Team: WP AAM <vasyl@vasyltech.com>\n"
|
7 |
"MIME-Version: 1.0\n"
|
8 |
"Content-Type: text/plain; charset=UTF-8\n"
|
9 |
"Content-Transfer-Encoding: 8bit\n"
|
10 |
-
"X-Generator: Poedit 1.8.
|
11 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
12 |
"X-Poedit-SourceCharset: UTF-8\n"
|
13 |
"X-Poedit-KeywordsList: __\n"
|
@@ -16,13 +16,13 @@ msgstr ""
|
|
16 |
"Language: en_US\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
-
#: media/js/aam-ui.js:43 media/js/aam-ui.js:
|
20 |
#: Application/Backend/Localization.php:23
|
21 |
msgid "Loading..."
|
22 |
msgstr ""
|
23 |
|
24 |
#: media/js/aam-ui.js:48 Application/Backend/Localization.php:24
|
25 |
-
#: Application/Backend/view/index.phtml:
|
26 |
msgid "Select Role"
|
27 |
msgstr ""
|
28 |
|
@@ -34,178 +34,226 @@ msgstr ""
|
|
34 |
msgid "_TOTAL_ role(s)"
|
35 |
msgstr ""
|
36 |
|
37 |
-
#: media/js/aam-ui.js:89 media/js/aam-ui.js:
|
38 |
#: Application/Backend/Localization.php:27
|
39 |
-
#: Application/Backend/view/object/capability.phtml:
|
40 |
msgid "Create"
|
41 |
msgstr ""
|
42 |
|
43 |
#: media/js/aam-ui.js:114 Application/Backend/Localization.php:28
|
44 |
-
#: Application/Backend/view/index.phtml:
|
45 |
msgid "Users"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: media/js/aam-ui.js:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
#: Application/Backend/Localization.php:13
|
50 |
msgid "Saving..."
|
51 |
msgstr ""
|
52 |
|
53 |
-
#: media/js/aam-ui.js:
|
54 |
msgid "Failed to add new role"
|
55 |
msgstr ""
|
56 |
|
57 |
-
#: media/js/aam-ui.js:
|
58 |
-
#: media/js/aam-ui.js:
|
59 |
-
#: media/js/aam-ui.js:
|
60 |
-
#: media/js/aam-ui.js:
|
61 |
#: Application/Backend/Localization.php:15
|
62 |
msgid "Application error"
|
63 |
msgstr ""
|
64 |
|
65 |
-
#: media/js/aam-ui.js:
|
66 |
-
#: Application/Backend/view/index.phtml:
|
67 |
msgid "Add Role"
|
68 |
msgstr ""
|
69 |
|
70 |
-
#: media/js/aam-ui.js:
|
71 |
msgid "Failed to update role"
|
72 |
msgstr ""
|
73 |
|
74 |
-
#: media/js/aam-ui.js:
|
75 |
-
#: Application/Backend/view/extension.phtml:
|
76 |
-
#: Application/Backend/view/extension.phtml:59
|
77 |
-
#: Application/Backend/view/extension.phtml:77
|
78 |
-
#: Application/Backend/view/extension.phtml:95
|
79 |
msgid "Update"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: media/js/aam-ui.js:
|
83 |
msgid "Deleting..."
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: media/js/aam-ui.js:
|
87 |
msgid "Failed to delete role"
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: media/js/aam-ui.js:
|
91 |
-
#: Application/Backend/
|
92 |
-
|
93 |
-
|
|
|
|
|
|
|
|
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: media/js/aam-ui.js:
|
97 |
msgid "Failed to block user"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: media/js/aam-ui.js:
|
101 |
msgid "Search User"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: media/js/aam-ui.js:
|
105 |
msgid "_TOTAL_ user(s)"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: media/js/aam-ui.js:
|
109 |
-
#: Application/Backend/view/index.phtml:
|
110 |
msgid "Role"
|
111 |
msgstr ""
|
112 |
|
113 |
-
#: media/js/aam-ui.js:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
msgid "Anonymous"
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: media/js/aam-ui.js:
|
118 |
-
#: Application/Backend/view/object/menu.phtml:
|
119 |
msgid "Show Menu"
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: media/js/aam-ui.js:
|
123 |
-
#: Application/Backend/view/object/menu.phtml:
|
124 |
msgid "Hide Menu"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: media/js/aam-ui.js:
|
128 |
msgid "Failed to retrieve mataboxes"
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: media/js/aam-ui.js:
|
132 |
msgid "Failed to grand capability - WordPress policy"
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: media/js/aam-ui.js:
|
136 |
msgid "Search Capability"
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: media/js/aam-ui.js:
|
140 |
msgid "_TOTAL_ capability(s)"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: media/js/aam-ui.js:
|
144 |
msgid "Failed to add new capability"
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: media/js/aam-ui.js:
|
148 |
-
#: Application/Backend/view/object/capability.phtml:
|
149 |
msgid "Add Capability"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: media/js/aam-ui.js:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
msgid "Search"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: media/js/aam-ui.js:
|
157 |
msgid "_TOTAL_ object(s)"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: media/js/aam-ui.js:
|
161 |
msgid "Failed"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: media/js/aam.js:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
msgid ""
|
166 |
"Javascript error detected during the page load. AAM may not function "
|
167 |
"properly."
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: media/js/aam.js:
|
171 |
msgid "Current "
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: Application/Backend/Capability.php:
|
175 |
-
#: Application/Backend/Capability.php:
|
176 |
msgid "System"
|
177 |
msgstr ""
|
178 |
|
179 |
-
#: Application/Backend/Capability.php:
|
180 |
-
#: Application/Backend/Capability.php:
|
181 |
msgid "Posts & Pages"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: Application/Backend/Capability.php:
|
185 |
-
#: Application/Backend/Capability.php:
|
186 |
-
|
|
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: Application/Backend/Capability.php:
|
190 |
-
#: Application/Backend/Capability.php:
|
191 |
msgid "Miscellaneous"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: Application/Backend/Capability.php:
|
195 |
-
#: Application/Backend/view/index.phtml:
|
196 |
msgid "Capabilities"
|
197 |
msgstr ""
|
198 |
|
199 |
-
#: Application/Backend/Extension.php:
|
200 |
msgid "License key is missing."
|
201 |
msgstr ""
|
202 |
|
203 |
-
#: Application/Backend/Extension.php:
|
204 |
-
#: Application/Backend/view/index.phtml:
|
205 |
msgid "Extensions"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: Application/Backend/Filter.php:
|
209 |
msgid "Access Denied"
|
210 |
msgstr ""
|
211 |
|
@@ -217,183 +265,221 @@ msgstr ""
|
|
217 |
msgid "Current role"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: Application/Backend/Manager.php:
|
221 |
#, php-format
|
222 |
msgid "Extension %s has new update available for download."
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: Application/Backend/Manager.php:
|
226 |
-
msgid "
|
|
|
|
|
|
|
|
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: Application/Backend/Manager.php:
|
230 |
msgid "AAM"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: Application/Backend/Menu.php:
|
234 |
msgid "Backend Menu"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: Application/Backend/Metabox.php:
|
238 |
msgid "Metaboxes & Widgets"
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: Application/Backend/Post.php:
|
242 |
msgid "Base Level"
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: Application/Backend/Post.php:
|
246 |
msgid "You reached your limitation."
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: Application/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
#, php-format
|
251 |
msgid "Failed to create %s"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: Application/Core/Repository.php:
|
255 |
#, php-format
|
256 |
msgid "Directory %s is not writable"
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: aam.php:
|
260 |
msgid "PHP 5.2 or higher is required."
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: aam.php:
|
264 |
msgid "WP 3.8 or higher is required."
|
265 |
msgstr ""
|
266 |
|
267 |
-
#: Application/Backend/view/extension.phtml:
|
268 |
msgid "Install Extension"
|
269 |
msgstr ""
|
270 |
|
271 |
-
#: Application/Backend/view/extension.phtml:
|
272 |
msgid "License Key"
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: Application/Backend/view/extension.phtml:
|
276 |
msgid "Install"
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: Application/Backend/view/extension.phtml:
|
280 |
msgid "Extension"
|
281 |
msgstr ""
|
282 |
|
283 |
-
#: Application/Backend/view/extension.phtml:
|
284 |
-
#: Application/Backend/view/index.phtml:
|
285 |
-
#: Application/Backend/view/index.phtml:
|
286 |
msgid "Action"
|
287 |
msgstr ""
|
288 |
|
289 |
-
#: Application/Backend/view/extension.phtml:
|
290 |
-
msgid ""
|
291 |
-
"Development license gives you an ability to download all the available "
|
292 |
-
"extensions and use them to up to 5 life domains."
|
293 |
-
msgstr ""
|
294 |
-
|
295 |
-
#: Application/Backend/view/extension.phtml:43
|
296 |
-
#: Application/Backend/view/extension.phtml:61
|
297 |
-
msgid "Purchase"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: Application/Backend/view/extension.phtml:
|
301 |
-
msgid ""
|
302 |
-
"Unlock limitations related to Posts and Pages feature. Extend basic AAM "
|
303 |
-
"functionality with Page Categories and ability to manage access to your "
|
304 |
-
"comments (AAM Plus Package adds new capabilities to the default list of "
|
305 |
-
"WordPress capabilities like Edit Comments, Delete Comments, Spam Comments "
|
306 |
-
"etc.)."
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: Application/Backend/view/extension.phtml:
|
310 |
-
msgid "
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: Application/Backend/view/extension.phtml:
|
314 |
-
#: Application/Backend/view/extension.phtml:
|
315 |
-
#: Application/Backend/view/extension.phtml:125
|
316 |
msgid "Download"
|
317 |
msgstr ""
|
318 |
|
319 |
-
#: Application/Backend/view/extension.phtml:
|
320 |
-
msgid ""
|
321 |
-
"Convenient way to navigate between different sites in the Network Admin "
|
322 |
-
"Panel. This extension adds additional widget to the AAM page that allows to "
|
323 |
-
"switch between different sites."
|
324 |
-
msgstr ""
|
325 |
-
|
326 |
-
#: Application/Backend/view/extension.phtml:105
|
327 |
msgid "All extensions are installed and up to date."
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: Application/Backend/view/extension.phtml:
|
331 |
-
#: Application/Backend/view/extension.phtml:
|
332 |
-
#: Application/Backend/view/extension.phtml:
|
333 |
-
#: Application/Backend/view/index.phtml:
|
334 |
-
#: Application/Backend/view/index.phtml:
|
335 |
-
#: Application/Backend/view/index.phtml:
|
336 |
-
#: Application/Backend/view/index.phtml:
|
337 |
-
#: Application/Backend/view/index.phtml:158
|
338 |
-
#: Application/Backend/view/index.phtml:166
|
339 |
#: Application/Backend/view/index.phtml:176
|
340 |
-
#: Application/Backend/view/index.phtml:
|
341 |
-
#: Application/Backend/view/
|
342 |
-
#: Application/Backend/view/
|
|
|
|
|
|
|
|
|
|
|
343 |
msgid "Close"
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: Application/Backend/view/extension.phtml:
|
347 |
-
#: Application/Backend/view/index.phtml:
|
348 |
-
#: Application/Backend/view/index.phtml:
|
349 |
msgid "Notification"
|
350 |
msgstr ""
|
351 |
|
352 |
-
#: Application/Backend/view/extension.phtml:
|
353 |
-
#, php-format
|
354 |
msgid ""
|
355 |
-
"
|
356 |
-
"archive to wp-content%s directory."
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: Application/Backend/view/extension.phtml:
|
360 |
msgid "Cancel"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: Application/Backend/view/extension.phtml:
|
364 |
msgid "Install Extension Info"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: Application/Backend/view/extension.phtml:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
msgid ""
|
369 |
-
"
|
370 |
-
"
|
371 |
-
"
|
372 |
-
"
|
373 |
-
"please remember that it is limited only to one life domain."
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: Application/Backend/view/index.phtml:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
377 |
msgid "Access Manager"
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: Application/Backend/view/index.phtml:
|
381 |
msgid "Note from the author"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: Application/Backend/view/index.phtml:
|
385 |
msgid ""
|
386 |
"Appreciate your interest in Advanced Access Manager (aka AAM). With a strong "
|
387 |
"knowledge and experience in WordPress, AAM becomes a very powerful tool to "
|
388 |
"manage access to your frontend and backend."
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: Application/Backend/view/index.phtml:39
|
392 |
#: Application/Backend/view/index.phtml:61
|
|
|
393 |
msgid "Please notice!"
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: Application/Backend/view/index.phtml:
|
397 |
msgid ""
|
398 |
"AAM was thoroughly tested on the fresh installation of WordPress and in the "
|
399 |
"latest versions of Chrome, Safari, IE and Firefox. If you have any issues, "
|
@@ -401,12 +487,12 @@ msgid ""
|
|
401 |
"WordPress installation."
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: Application/Backend/view/index.phtml:
|
405 |
msgid ""
|
406 |
"Please find below the short description of each feature that AAM offers."
|
407 |
msgstr ""
|
408 |
|
409 |
-
#: Application/Backend/view/index.phtml:
|
410 |
msgid ""
|
411 |
"Filter the admin menu. Please notice that it only filters the menu but does "
|
412 |
"not restrict a direct access to the filtered menus. In order to completely "
|
@@ -415,11 +501,11 @@ msgid ""
|
|
415 |
"name is right next to the menu name)."
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: Application/Backend/view/index.phtml:
|
419 |
msgid "Metaboxes & Widgets"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: Application/Backend/view/index.phtml:
|
423 |
msgid ""
|
424 |
"Filter backend metaboxes and frontend widgets. If the list of metaboxes and "
|
425 |
"widgets is empty, click the “Refresh” button. This will reinitialize the "
|
@@ -427,7 +513,7 @@ msgid ""
|
|
427 |
"fails to execute WordPress remote request function “wp_remote_request”."
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: Application/Backend/view/index.phtml:
|
431 |
msgid ""
|
432 |
"This is probably the most important and powerful feature that manages list "
|
433 |
"of capabilities for roles and users. Please make sure that you are familiar "
|
@@ -439,19 +525,19 @@ msgid ""
|
|
439 |
"retains the same exact name."
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: Application/Backend/view/index.phtml:
|
443 |
msgid "Posts & Pages"
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: Application/Backend/view/index.phtml:
|
447 |
msgid "Manage access to your posts, pages and custom post types."
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: Application/Backend/view/index.phtml:
|
451 |
msgid "This feature has limitations without AAM Plus Package extension."
|
452 |
msgstr ""
|
453 |
|
454 |
-
#: Application/Backend/view/index.phtml:
|
455 |
#, php-format
|
456 |
msgid ""
|
457 |
"Extend AAM functionality with variety of extensions that can be either "
|
@@ -466,155 +552,150 @@ msgid ""
|
|
466 |
"within next 3 business days."
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: Application/Backend/view/index.phtml:
|
470 |
msgid "User/Role Manager"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: Application/Backend/view/index.phtml:
|
474 |
msgid "Roles"
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: Application/Backend/view/index.phtml:
|
478 |
msgid "Visitor"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: Application/Backend/view/index.phtml:
|
482 |
msgid "Add New Role"
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: Application/Backend/view/index.phtml:
|
486 |
-
#: Application/Backend/view/index.phtml:
|
487 |
msgid "Role Name"
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: Application/Backend/view/index.phtml:
|
491 |
-
#: Application/Backend/view/index.phtml:
|
492 |
msgid "Enter Role Name"
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: Application/Backend/view/index.phtml:
|
496 |
msgid "Inherit Capabilities"
|
497 |
msgstr ""
|
498 |
|
499 |
-
#: Application/Backend/view/index.phtml:
|
500 |
msgid "Edit Role"
|
501 |
msgstr ""
|
502 |
|
503 |
-
#: Application/Backend/view/index.phtml:
|
504 |
msgid "Update Role"
|
505 |
msgstr ""
|
506 |
|
507 |
-
#: Application/Backend/view/index.phtml:
|
508 |
#, php-format
|
509 |
msgid "Are you sure that you want to delete %s role?"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: Application/Backend/view/index.phtml:
|
513 |
msgid ""
|
514 |
"You are not allowed to delete this role because either you do not have a "
|
515 |
"capability to \"Delete Users\" or there is at least one user assigned to it."
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: Application/Backend/view/index.phtml:
|
519 |
-
#: Application/Backend/view/index.phtml:214
|
520 |
-
msgid "OK"
|
521 |
-
msgstr ""
|
522 |
-
|
523 |
-
#: Application/Backend/view/index.phtml:196
|
524 |
msgid "Username"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: Application/Backend/view/index.phtml:
|
528 |
msgid "You are not allowed to perform this action."
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: Application/Backend/view/index.phtml:
|
532 |
msgid ""
|
533 |
"Manage access to your website for visitors (any user that is not "
|
534 |
"authenticated)"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: Application/Backend/view/index.phtml:
|
538 |
msgid "Manage Visitor"
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: Application/Backend/view/index.phtml:
|
542 |
msgid "Role Manager"
|
543 |
msgstr ""
|
544 |
|
545 |
-
#: Application/Backend/view/index.phtml:
|
546 |
msgid ""
|
547 |
"With role manager you can manage access for any defined role, edit role's "
|
548 |
"name, create new role or even delete existing (but only when there is no "
|
549 |
"users assigned to it). You are not allowed to delete Administrator role."
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: Application/Backend/view/index.phtml:
|
553 |
msgid "User Manager"
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: Application/Backend/view/index.phtml:
|
557 |
msgid ""
|
558 |
"Manage access for any user. As a bonus feature, you can block user. It means "
|
559 |
"that user will be not able to login to your website anymore. Create or edit "
|
560 |
"user actions link to the native WordPress create/edit user interface."
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: Application/Backend/view/index.phtml:
|
564 |
msgid "Visitor Manager"
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: Application/Backend/view/index.phtml:
|
568 |
msgid ""
|
569 |
"Visitor is any user that is not authenticated to your website. Considering "
|
570 |
"the fact that visitors do not have any access to backend, any features that "
|
571 |
"ara backend related are disabled."
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: Application/Backend/view/index.phtml:
|
575 |
#, php-format
|
576 |
msgid "Follow us on twitter %s for the latest Advanced Access Manager news."
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: Application/Backend/view/index.phtml:
|
580 |
msgid "What's New"
|
581 |
msgstr ""
|
582 |
|
583 |
-
#: Application/Backend/view/index.phtml:
|
584 |
msgid "Brand new and much more intuitive user interface."
|
585 |
msgstr ""
|
586 |
|
587 |
-
#: Application/Backend/view/index.phtml:
|
588 |
msgid ""
|
589 |
"Fully responsive design so you can manage access to website even on your "
|
590 |
"smart phone."
|
591 |
msgstr ""
|
592 |
|
593 |
-
#: Application/Backend/view/index.phtml:
|
594 |
msgid "Better, more reliable and faster core functionality."
|
595 |
msgstr ""
|
596 |
|
597 |
-
#: Application/Backend/view/index.phtml:
|
598 |
msgid ""
|
599 |
"Completely new extension handler. In case of any file system failure, you "
|
600 |
"can download an extension for manual installation."
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: Application/Backend/view/index.phtml:
|
604 |
msgid "Added \"Manage Access\" action to the list of user."
|
605 |
msgstr ""
|
606 |
|
607 |
-
#: Application/Backend/view/index.phtml:
|
608 |
msgid "Please be aware of the latest changes!"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: Application/Backend/view/index.phtml:
|
612 |
msgid ""
|
613 |
"\"Save\" button has been removed. Any changes that you perform are saved "
|
614 |
"automatically."
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: Application/Backend/view/index.phtml:
|
618 |
msgid ""
|
619 |
"License key for an extension is valid for one life domain only. All the "
|
620 |
"licenses that were purchased before are still valid but limited to one "
|
@@ -622,39 +703,39 @@ msgid ""
|
|
622 |
"April 2016)."
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: Application/Backend/view/index.phtml:
|
626 |
msgid ""
|
627 |
"Development License is valid for 5 domains with AAM version 3 but is still "
|
628 |
"unlimited with version 2 (only until April 2016)."
|
629 |
msgstr ""
|
630 |
|
631 |
-
#: Application/Backend/view/index.phtml:
|
632 |
msgid ""
|
633 |
"Posts & Pages settings from AAM version 2 are not compatible with AAM "
|
634 |
"version 3."
|
635 |
msgstr ""
|
636 |
|
637 |
-
#: Application/Backend/view/index.phtml:
|
638 |
msgid "You are not allowed to delete or lock an \"Administrator\" role."
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: Application/Backend/view/index.phtml:
|
642 |
msgid "There is no longer a \"Super Admin\" role."
|
643 |
msgstr ""
|
644 |
|
645 |
-
#: Application/Backend/view/index.phtml:
|
646 |
msgid ""
|
647 |
"You are not longer allowed to delete any user or group or users (but you "
|
648 |
"still can do it within native WordPress interface)."
|
649 |
msgstr ""
|
650 |
|
651 |
-
#: Application/Backend/view/index.phtml:
|
652 |
msgid ""
|
653 |
"You are not allowed to delete any capability (even the one that you created "
|
654 |
"manually)."
|
655 |
msgstr ""
|
656 |
|
657 |
-
#: Application/Backend/view/index.phtml:
|
658 |
#, php-format
|
659 |
msgid ""
|
660 |
"You can rolleback to the earlier version of AAM by simply downloading any "
|
@@ -662,166 +743,202 @@ msgid ""
|
|
662 |
"plugins/advanced-access-manager directory with the archive's content."
|
663 |
msgstr ""
|
664 |
|
665 |
-
#: Application/Backend/view/index.phtml:
|
666 |
msgid "Ok, got it"
|
667 |
msgstr ""
|
668 |
|
669 |
-
#: Application/Backend/view/object/capability.phtml:
|
670 |
-
msgid ""
|
671 |
-
"[Please notice!] You are not allowed to assign or create a new capability "
|
672 |
-
"that does not belong to user's role. Consider creating a new role with "
|
673 |
-
"desired list of capabilities and then assign that role to user."
|
674 |
-
msgstr ""
|
675 |
-
|
676 |
-
#: Application/Backend/view/object/capability.phtml:12
|
677 |
msgid "Filter"
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: Application/Backend/view/object/capability.phtml:
|
681 |
msgid "All Capabilities"
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: Application/Backend/view/object/capability.phtml:
|
685 |
msgid "Category"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: Application/Backend/view/object/capability.phtml:
|
689 |
msgid "Capability"
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: Application/Backend/view/object/capability.phtml:
|
693 |
-
|
|
|
694 |
msgstr ""
|
695 |
|
696 |
-
#: Application/Backend/view/object/capability.phtml:
|
697 |
msgid "Add New Capability"
|
698 |
msgstr ""
|
699 |
|
700 |
-
#: Application/Backend/view/object/capability.phtml:
|
701 |
msgid "Capability Name"
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: Application/Backend/view/object/capability.phtml:
|
705 |
msgid "Enter Capability"
|
706 |
msgstr ""
|
707 |
|
708 |
-
#: Application/Backend/view/object/menu.phtml:
|
709 |
-
|
710 |
-
|
711 |
-
"
|
712 |
-
"desired page, un-check the capability that is assigned to the menu [(the "
|
713 |
-
"capability is shown right next to the menu title)]."
|
714 |
msgstr ""
|
715 |
|
716 |
-
#: Application/Backend/view/object/
|
|
|
|
|
|
|
|
|
|
|
|
|
717 |
msgid "Refresh"
|
718 |
msgstr ""
|
719 |
|
720 |
-
#: Application/Backend/view/object/metabox.phtml:
|
721 |
msgid "Dashboard Widgets"
|
722 |
msgstr ""
|
723 |
|
724 |
-
#: Application/Backend/view/object/metabox.phtml:
|
725 |
msgid "Frontend Widgets"
|
726 |
msgstr ""
|
727 |
|
728 |
-
#: Application/Backend/view/object/metabox.phtml:
|
729 |
msgid ""
|
730 |
"The list of metaboxes and widgets is not initialized. Click Refresh button "
|
731 |
"above."
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: Application/Backend/view/object/post.phtml:
|
735 |
msgid "Root"
|
736 |
msgstr ""
|
737 |
|
|
|
|
|
|
|
|
|
|
|
738 |
#: Application/Backend/view/object/post.phtml:23
|
739 |
-
msgid "
|
740 |
msgstr ""
|
741 |
|
742 |
-
#: Application/Backend/view/object/post.phtml:
|
743 |
-
msgid "
|
744 |
msgstr ""
|
745 |
|
746 |
-
#: Application/Backend/view/object/post.phtml:
|
747 |
-
#: Application/Backend/view/object/post.phtml:
|
748 |
-
#: Application/Backend/view/object/post.phtml:
|
749 |
msgid "Go Back"
|
750 |
msgstr ""
|
751 |
|
752 |
-
#: Application/Backend/view/object/post.phtml:
|
753 |
msgid "Frontend"
|
754 |
msgstr ""
|
755 |
|
756 |
-
#: Application/Backend/view/object/post.phtml:
|
757 |
-
#: Application/Backend/view/object/post.phtml:
|
758 |
msgid "List"
|
759 |
msgstr ""
|
760 |
|
761 |
-
#: Application/Backend/view/object/post.phtml:
|
762 |
msgid "Filter (exclude) post from any list on your website frontend."
|
763 |
msgstr ""
|
764 |
|
765 |
-
#: Application/Backend/view/object/post.phtml:
|
766 |
-
#: Application/Backend/view/object/post.phtml:
|
767 |
msgid "Warning!"
|
768 |
msgstr ""
|
769 |
|
770 |
-
#: Application/Backend/view/object/post.phtml:
|
771 |
msgid ""
|
772 |
"If checked, this property may slowdown your website with large amount of "
|
773 |
"posts."
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: Application/Backend/view/object/post.phtml:
|
777 |
msgid "Read"
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: Application/Backend/view/object/post.phtml:
|
781 |
msgid ""
|
782 |
"Restrict access to read a post. If \"List\" option is not checked, a post "
|
783 |
"will be still listed on your website frontend."
|
784 |
msgstr ""
|
785 |
|
786 |
-
#: Application/Backend/view/object/post.phtml:
|
787 |
msgid "Comment"
|
788 |
msgstr ""
|
789 |
|
790 |
-
#: Application/Backend/view/object/post.phtml:
|
791 |
msgid ""
|
792 |
"Restrict access to comment on a post (if commenting feature is activated)."
|
793 |
msgstr ""
|
794 |
|
795 |
-
#: Application/Backend/view/object/post.phtml:
|
796 |
-
msgid "Backend"
|
797 |
-
msgstr ""
|
798 |
-
|
799 |
-
#: Application/Backend/view/object/post.phtml:101
|
800 |
msgid "Filter (exclude) post from any list on your website backend."
|
801 |
msgstr ""
|
802 |
|
803 |
-
#: Application/Backend/view/object/post.phtml:
|
804 |
msgid ""
|
805 |
"If checked, this property may slowdown your backend with large amount of "
|
806 |
"posts."
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: Application/Backend/view/object/post.phtml:
|
810 |
-
msgid "Edit"
|
811 |
-
msgstr ""
|
812 |
-
|
813 |
-
#: Application/Backend/view/object/post.phtml:116
|
814 |
msgid ""
|
815 |
"Restrict access to edit a post (also the link \"Edit\" and \"Quick Edit\" "
|
816 |
"will be removed below the post title)."
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: Application/Backend/view/object/post.phtml:
|
820 |
msgid "Delete"
|
821 |
msgstr ""
|
822 |
|
823 |
-
#: Application/Backend/view/object/post.phtml:
|
824 |
msgid ""
|
825 |
"Restrict access to trash or permanently delete a post (also the link \"Trash"
|
826 |
"\" or \"Delete Permanently\" will be removed for a post)."
|
827 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: AAM\n"
|
4 |
+
"POT-Creation-Date: 2016-03-06 19:12-0500\n"
|
5 |
"PO-Revision-Date: \n"
|
6 |
"Language-Team: WP AAM <vasyl@vasyltech.com>\n"
|
7 |
"MIME-Version: 1.0\n"
|
8 |
"Content-Type: text/plain; charset=UTF-8\n"
|
9 |
"Content-Transfer-Encoding: 8bit\n"
|
10 |
+
"X-Generator: Poedit 1.8.7\n"
|
11 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
12 |
"X-Poedit-SourceCharset: UTF-8\n"
|
13 |
"X-Poedit-KeywordsList: __\n"
|
16 |
"Language: en_US\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
+
#: media/js/aam-ui.js:43 media/js/aam-ui.js:1317
|
20 |
#: Application/Backend/Localization.php:23
|
21 |
msgid "Loading..."
|
22 |
msgstr ""
|
23 |
|
24 |
#: media/js/aam-ui.js:48 Application/Backend/Localization.php:24
|
25 |
+
#: Application/Backend/view/index.phtml:149
|
26 |
msgid "Select Role"
|
27 |
msgstr ""
|
28 |
|
34 |
msgid "_TOTAL_ role(s)"
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: media/js/aam-ui.js:89 media/js/aam-ui.js:442
|
38 |
#: Application/Backend/Localization.php:27
|
39 |
+
#: Application/Backend/view/object/capability.phtml:23
|
40 |
msgid "Create"
|
41 |
msgstr ""
|
42 |
|
43 |
#: media/js/aam-ui.js:114 Application/Backend/Localization.php:28
|
44 |
+
#: Application/Backend/view/index.phtml:115
|
45 |
msgid "Users"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: media/js/aam-ui.js:142 Application/Backend/Localization.php:45
|
49 |
+
msgid "Manage Role"
|
50 |
+
msgstr ""
|
51 |
+
|
52 |
+
#: media/js/aam-ui.js:157 Application/Backend/Localization.php:46
|
53 |
+
msgid "Edit Role Name"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: media/js/aam-ui.js:177 media/js/aam-ui.js:317
|
57 |
+
#: Application/Backend/Localization.php:35
|
58 |
+
#: Application/Backend/Localization.php:47
|
59 |
+
#: Application/Backend/view/index.phtml:187
|
60 |
+
#: Application/Backend/view/index.phtml:193
|
61 |
+
msgid "Delete Role"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: media/js/aam-ui.js:220 media/js/aam-ui.js:264 media/js/aam-ui.js:965
|
65 |
#: Application/Backend/Localization.php:13
|
66 |
msgid "Saving..."
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: media/js/aam-ui.js:228 Application/Backend/Localization.php:29
|
70 |
msgid "Failed to add new role"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: media/js/aam-ui.js:233 media/js/aam-ui.js:276 media/js/aam-ui.js:313
|
74 |
+
#: media/js/aam-ui.js:407 media/js/aam-ui.js:734 media/js/aam-ui.js:771
|
75 |
+
#: media/js/aam-ui.js:978 media/js/aam-ui.js:1146 media/js/aam-ui.js:1187
|
76 |
+
#: media/js/aam-ui.js:1463 media/js/aam.js:231
|
77 |
#: Application/Backend/Localization.php:15
|
78 |
msgid "Application error"
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: media/js/aam-ui.js:236 Application/Backend/Localization.php:30
|
82 |
+
#: Application/Backend/view/index.phtml:154
|
83 |
msgid "Add Role"
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: media/js/aam-ui.js:271 Application/Backend/Localization.php:31
|
87 |
msgid "Failed to update role"
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: media/js/aam-ui.js:280 Application/Backend/Localization.php:32
|
91 |
+
#: Application/Backend/view/extension.phtml:43
|
|
|
|
|
|
|
92 |
msgid "Update"
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: media/js/aam-ui.js:303 Application/Backend/Localization.php:33
|
96 |
msgid "Deleting..."
|
97 |
msgstr ""
|
98 |
|
99 |
+
#: media/js/aam-ui.js:309 Application/Backend/Localization.php:34
|
100 |
msgid "Failed to delete role"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: media/js/aam-ui.js:390 media/js/aam-ui.js:391 media/js/aam-ui.js:534
|
104 |
+
#: Application/Backend/Localization.php:51
|
105 |
+
msgid "Unlock User"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: media/js/aam-ui.js:396 media/js/aam-ui.js:397 media/js/aam-ui.js:523
|
109 |
+
#: Application/Backend/Localization.php:50
|
110 |
+
msgid "Lock User"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: media/js/aam-ui.js:402 Application/Backend/Localization.php:36
|
114 |
msgid "Failed to block user"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: media/js/aam-ui.js:434 Application/Backend/Localization.php:37
|
118 |
msgid "Search User"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: media/js/aam-ui.js:435 Application/Backend/Localization.php:38
|
122 |
msgid "_TOTAL_ user(s)"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: media/js/aam-ui.js:459 Application/Backend/Localization.php:39
|
126 |
+
#: Application/Backend/view/index.phtml:127
|
127 |
msgid "Role"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: media/js/aam-ui.js:483 Application/Backend/Localization.php:48
|
131 |
+
msgid "Manage User"
|
132 |
+
msgstr ""
|
133 |
+
|
134 |
+
#: media/js/aam-ui.js:504 Application/Backend/Localization.php:49
|
135 |
+
msgid "Edit User"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: media/js/aam-ui.js:592 Application/Backend/Localization.php:40
|
139 |
msgid "Anonymous"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: media/js/aam-ui.js:641 Application/Backend/Localization.php:17
|
143 |
+
#: Application/Backend/view/object/menu.phtml:54
|
144 |
msgid "Show Menu"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: media/js/aam-ui.js:656 Application/Backend/Localization.php:18
|
148 |
+
#: Application/Backend/view/object/menu.phtml:58
|
149 |
msgid "Hide Menu"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: media/js/aam-ui.js:766 Application/Backend/Localization.php:19
|
153 |
msgid "Failed to retrieve mataboxes"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: media/js/aam-ui.js:850 Application/Backend/Localization.php:53
|
157 |
msgid "Failed to grand capability - WordPress policy"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: media/js/aam-ui.js:885 Application/Backend/Localization.php:11
|
161 |
msgid "Search Capability"
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: media/js/aam-ui.js:886 Application/Backend/Localization.php:12
|
165 |
msgid "_TOTAL_ capability(s)"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: media/js/aam-ui.js:973 Application/Backend/Localization.php:14
|
169 |
msgid "Failed to add new capability"
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: media/js/aam-ui.js:981 Application/Backend/Localization.php:16
|
173 |
+
#: Application/Backend/view/object/capability.phtml:52
|
174 |
msgid "Add Capability"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: media/js/aam-ui.js:1131
|
178 |
+
msgid "parent role"
|
179 |
+
msgstr ""
|
180 |
+
|
181 |
+
#: media/js/aam-ui.js:1133
|
182 |
+
msgid "default settings"
|
183 |
+
msgstr ""
|
184 |
+
|
185 |
+
#: media/js/aam-ui.js:1135
|
186 |
+
msgid "parent category"
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
+
#: media/js/aam-ui.js:1227 Application/Backend/Localization.php:20
|
190 |
msgid "Search"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: media/js/aam-ui.js:1228 Application/Backend/Localization.php:21
|
194 |
msgid "_TOTAL_ object(s)"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: media/js/aam-ui.js:1306 Application/Backend/Localization.php:22
|
198 |
msgid "Failed"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: media/js/aam-ui.js:1336 Application/Backend/Localization.php:43
|
202 |
+
#: Application/Backend/Manager.php:177
|
203 |
+
msgid "Manage Access"
|
204 |
+
msgstr ""
|
205 |
+
|
206 |
+
#: media/js/aam-ui.js:1347 Application/Backend/Localization.php:44
|
207 |
+
#: Application/Backend/view/object/post.phtml:125
|
208 |
+
msgid "Edit"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#: media/js/aam.js:139 Application/Backend/Localization.php:52
|
212 |
msgid ""
|
213 |
"Javascript error detected during the page load. AAM may not function "
|
214 |
"properly."
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: media/js/aam.js:170
|
218 |
msgid "Current "
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: Application/Backend/Capability.php:141
|
222 |
+
#: Application/Backend/Capability.php:180
|
223 |
msgid "System"
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: Application/Backend/Capability.php:142
|
227 |
+
#: Application/Backend/Capability.php:182 Application/Backend/Post.php:348
|
228 |
msgid "Posts & Pages"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: Application/Backend/Capability.php:143
|
232 |
+
#: Application/Backend/Capability.php:184
|
233 |
+
#: Application/Backend/view/object/post.phtml:104
|
234 |
+
msgid "Backend"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: Application/Backend/Capability.php:144
|
238 |
+
#: Application/Backend/Capability.php:186
|
239 |
msgid "Miscellaneous"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: Application/Backend/Capability.php:205
|
243 |
+
#: Application/Backend/view/index.phtml:77
|
244 |
msgid "Capabilities"
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: Application/Backend/Extension.php:99
|
248 |
msgid "License key is missing."
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: Application/Backend/Extension.php:160
|
252 |
+
#: Application/Backend/view/index.phtml:87
|
253 |
msgid "Extensions"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: Application/Backend/Filter.php:193 Application/Core/API.php:180
|
257 |
msgid "Access Denied"
|
258 |
msgstr ""
|
259 |
|
265 |
msgid "Current role"
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: Application/Backend/Manager.php:92
|
269 |
#, php-format
|
270 |
msgid "Extension %s has new update available for download."
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: Application/Backend/Manager.php:136
|
274 |
+
msgid "AAM caching is off. To speed-up the website turn it on."
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: Application/Backend/Manager.php:139
|
278 |
+
msgid "Read more."
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: Application/Backend/Manager.php:293 Application/Backend/Manager.php:294
|
282 |
msgid "AAM"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: Application/Backend/Menu.php:183 Application/Backend/view/index.phtml:67
|
286 |
msgid "Backend Menu"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: Application/Backend/Metabox.php:217
|
290 |
msgid "Metaboxes & Widgets"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: Application/Backend/Post.php:71
|
294 |
msgid "Base Level"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: Application/Backend/Post.php:281
|
298 |
msgid "You reached your limitation."
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: Application/Backend/ProductList.php:17
|
302 |
+
msgid ""
|
303 |
+
"Development license gives you an ability to download all the available "
|
304 |
+
"extensions and use them to up to 5 life domains."
|
305 |
+
msgstr ""
|
306 |
+
|
307 |
+
#: Application/Backend/ProductList.php:27
|
308 |
+
msgid ""
|
309 |
+
"Unlock limitations related to Posts and Pages feature. Extend basic AAM "
|
310 |
+
"functionality with Page Categories and ability to manage access to your "
|
311 |
+
"comments (AAM Plus Package adds new capabilities to the default list of "
|
312 |
+
"WordPress capabilities like Edit Comments, Delete Comments, Spam Comments "
|
313 |
+
"etc.)"
|
314 |
+
msgstr ""
|
315 |
+
|
316 |
+
#: Application/Backend/ProductList.php:37
|
317 |
+
msgid ""
|
318 |
+
"Extension for more advanced user and role administration. Based on user's "
|
319 |
+
"highest level capability, filter list of roles with higher level. Also "
|
320 |
+
"prevent from editing, promoting or deleting higher level users."
|
321 |
+
msgstr ""
|
322 |
+
|
323 |
+
#: Application/Backend/ProductList.php:46
|
324 |
+
msgid "Various useful tools for AAM like caching or clear all settings."
|
325 |
+
msgstr ""
|
326 |
+
|
327 |
+
#: Application/Backend/ProductList.php:54
|
328 |
+
msgid ""
|
329 |
+
"Convenient way to navigate between different sites in the Network Admin "
|
330 |
+
"Panel. This extension adds additional widget to the AAM page that allows to "
|
331 |
+
"switch between different sites."
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: Application/Core/Repository.php:234
|
335 |
#, php-format
|
336 |
msgid "Failed to create %s"
|
337 |
msgstr ""
|
338 |
|
339 |
+
#: Application/Core/Repository.php:238
|
340 |
#, php-format
|
341 |
msgid "Directory %s is not writable"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: aam.php:152
|
345 |
msgid "PHP 5.2 or higher is required."
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: aam.php:154
|
349 |
msgid "WP 3.8 or higher is required."
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: Application/Backend/view/extension.phtml:11
|
353 |
msgid "Install Extension"
|
354 |
msgstr ""
|
355 |
|
356 |
+
#: Application/Backend/view/extension.phtml:15
|
357 |
msgid "License Key"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: Application/Backend/view/extension.phtml:19
|
361 |
msgid "Install"
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: Application/Backend/view/extension.phtml:26
|
365 |
msgid "Extension"
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: Application/Backend/view/extension.phtml:27
|
369 |
+
#: Application/Backend/view/index.phtml:128
|
370 |
+
#: Application/Backend/view/index.phtml:225
|
371 |
msgid "Action"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: Application/Backend/view/extension.phtml:34
|
375 |
+
msgid "Free"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: Application/Backend/view/extension.phtml:41
|
379 |
+
msgid "Installed"
|
|
|
|
|
|
|
|
|
|
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: Application/Backend/view/extension.phtml:45
|
383 |
+
msgid "Purchase"
|
384 |
msgstr ""
|
385 |
|
386 |
+
#: Application/Backend/view/extension.phtml:47
|
387 |
+
#: Application/Backend/view/extension.phtml:83
|
|
|
388 |
msgid "Download"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: Application/Backend/view/extension.phtml:56
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
392 |
msgid "All extensions are installed and up to date."
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: Application/Backend/view/extension.phtml:67
|
396 |
+
#: Application/Backend/view/extension.phtml:94
|
397 |
+
#: Application/Backend/view/extension.phtml:103
|
398 |
+
#: Application/Backend/view/index.phtml:24
|
399 |
+
#: Application/Backend/view/index.phtml:138
|
400 |
+
#: Application/Backend/view/index.phtml:155
|
401 |
+
#: Application/Backend/view/index.phtml:165
|
|
|
|
|
402 |
#: Application/Backend/view/index.phtml:176
|
403 |
+
#: Application/Backend/view/index.phtml:186
|
404 |
+
#: Application/Backend/view/index.phtml:194
|
405 |
+
#: Application/Backend/view/index.phtml:204
|
406 |
+
#: Application/Backend/view/index.phtml:235
|
407 |
+
#: Application/Backend/view/object/capability.phtml:42
|
408 |
+
#: Application/Backend/view/object/capability.phtml:53
|
409 |
+
#: Application/Backend/view/object/post.phtml:160
|
410 |
+
#: Application/Backend/view/object/post.phtml:189
|
411 |
msgid "Close"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: Application/Backend/view/extension.phtml:68
|
415 |
+
#: Application/Backend/view/index.phtml:205
|
416 |
+
#: Application/Backend/view/index.phtml:236
|
417 |
msgid "Notification"
|
418 |
msgstr ""
|
419 |
|
420 |
+
#: Application/Backend/view/extension.phtml:72
|
|
|
421 |
msgid ""
|
422 |
+
"Extension requires manual installation. Please follow few simple steps below."
|
|
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: Application/Backend/view/extension.phtml:84
|
426 |
msgid "Cancel"
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: Application/Backend/view/extension.phtml:95
|
430 |
msgid "Install Extension Info"
|
431 |
msgstr ""
|
432 |
|
433 |
+
#: Application/Backend/view/extension.phtml:99
|
434 |
+
msgid ""
|
435 |
+
"In order to install the extension, please use license number that you "
|
436 |
+
"recieved after the payment was completed successfully (it might take up to 2 "
|
437 |
+
"hours for PayPal to send you the email). If you already purchased an "
|
438 |
+
"extension for the older AAM version, use the license key but please remember "
|
439 |
+
"that it is limited only to one life domain."
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: Application/Backend/view/index.phtml:25
|
443 |
+
msgid "Cache Information"
|
444 |
+
msgstr ""
|
445 |
+
|
446 |
+
#: Application/Backend/view/index.phtml:28
|
447 |
msgid ""
|
448 |
+
"AAM main objective is to control access to your frontend and backend "
|
449 |
+
"resources. In some cases your website may get slower because AAM performs "
|
450 |
+
"additional checks. That is why it is important to have AAM caching turned "
|
451 |
+
"on. Please follow few simple steps below to turn on the caching mechanism."
|
|
|
452 |
msgstr ""
|
453 |
|
454 |
+
#: Application/Backend/view/index.phtml:35
|
455 |
+
#: Application/Backend/view/index.phtml:211
|
456 |
+
#: Application/Backend/view/index.phtml:242
|
457 |
+
#: Application/Backend/view/object/post.phtml:179
|
458 |
+
#: Application/Backend/view/object/post.phtml:196
|
459 |
+
msgid "OK"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: Application/Backend/view/index.phtml:52
|
463 |
msgid "Access Manager"
|
464 |
msgstr ""
|
465 |
|
466 |
+
#: Application/Backend/view/index.phtml:59
|
467 |
msgid "Note from the author"
|
468 |
msgstr ""
|
469 |
|
470 |
+
#: Application/Backend/view/index.phtml:60
|
471 |
msgid ""
|
472 |
"Appreciate your interest in Advanced Access Manager (aka AAM). With a strong "
|
473 |
"knowledge and experience in WordPress, AAM becomes a very powerful tool to "
|
474 |
"manage access to your frontend and backend."
|
475 |
msgstr ""
|
476 |
|
|
|
477 |
#: Application/Backend/view/index.phtml:61
|
478 |
+
#: Application/Backend/view/index.phtml:83
|
479 |
msgid "Please notice!"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: Application/Backend/view/index.phtml:62
|
483 |
msgid ""
|
484 |
"AAM was thoroughly tested on the fresh installation of WordPress and in the "
|
485 |
"latest versions of Chrome, Safari, IE and Firefox. If you have any issues, "
|
487 |
"WordPress installation."
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: Application/Backend/view/index.phtml:63
|
491 |
msgid ""
|
492 |
"Please find below the short description of each feature that AAM offers."
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: Application/Backend/view/index.phtml:68
|
496 |
msgid ""
|
497 |
"Filter the admin menu. Please notice that it only filters the menu but does "
|
498 |
"not restrict a direct access to the filtered menus. In order to completely "
|
501 |
"name is right next to the menu name)."
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: Application/Backend/view/index.phtml:72
|
505 |
msgid "Metaboxes & Widgets"
|
506 |
msgstr ""
|
507 |
|
508 |
+
#: Application/Backend/view/index.phtml:73
|
509 |
msgid ""
|
510 |
"Filter backend metaboxes and frontend widgets. If the list of metaboxes and "
|
511 |
"widgets is empty, click the “Refresh” button. This will reinitialize the "
|
513 |
"fails to execute WordPress remote request function “wp_remote_request”."
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: Application/Backend/view/index.phtml:78
|
517 |
msgid ""
|
518 |
"This is probably the most important and powerful feature that manages list "
|
519 |
"of capabilities for roles and users. Please make sure that you are familiar "
|
525 |
"retains the same exact name."
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: Application/Backend/view/index.phtml:82
|
529 |
msgid "Posts & Pages"
|
530 |
msgstr ""
|
531 |
|
532 |
+
#: Application/Backend/view/index.phtml:83
|
533 |
msgid "Manage access to your posts, pages and custom post types."
|
534 |
msgstr ""
|
535 |
|
536 |
+
#: Application/Backend/view/index.phtml:83
|
537 |
msgid "This feature has limitations without AAM Plus Package extension."
|
538 |
msgstr ""
|
539 |
|
540 |
+
#: Application/Backend/view/index.phtml:88
|
541 |
#, php-format
|
542 |
msgid ""
|
543 |
"Extend AAM functionality with variety of extensions that can be either "
|
552 |
"within next 3 business days."
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: Application/Backend/view/index.phtml:108
|
556 |
msgid "User/Role Manager"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: Application/Backend/view/index.phtml:114
|
560 |
msgid "Roles"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: Application/Backend/view/index.phtml:117
|
564 |
msgid "Visitor"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: Application/Backend/view/index.phtml:139
|
568 |
msgid "Add New Role"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: Application/Backend/view/index.phtml:143
|
572 |
+
#: Application/Backend/view/index.phtml:170
|
573 |
msgid "Role Name"
|
574 |
msgstr ""
|
575 |
|
576 |
+
#: Application/Backend/view/index.phtml:144
|
577 |
+
#: Application/Backend/view/index.phtml:171
|
578 |
msgid "Enter Role Name"
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: Application/Backend/view/index.phtml:147
|
582 |
msgid "Inherit Capabilities"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: Application/Backend/view/index.phtml:166
|
586 |
msgid "Edit Role"
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: Application/Backend/view/index.phtml:175
|
590 |
msgid "Update Role"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: Application/Backend/view/index.phtml:190
|
594 |
#, php-format
|
595 |
msgid "Are you sure that you want to delete %s role?"
|
596 |
msgstr ""
|
597 |
|
598 |
+
#: Application/Backend/view/index.phtml:208
|
599 |
msgid ""
|
600 |
"You are not allowed to delete this role because either you do not have a "
|
601 |
"capability to \"Delete Users\" or there is at least one user assigned to it."
|
602 |
msgstr ""
|
603 |
|
604 |
+
#: Application/Backend/view/index.phtml:224
|
|
|
|
|
|
|
|
|
|
|
605 |
msgid "Username"
|
606 |
msgstr ""
|
607 |
|
608 |
+
#: Application/Backend/view/index.phtml:239
|
609 |
msgid "You are not allowed to perform this action."
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: Application/Backend/view/index.phtml:252
|
613 |
msgid ""
|
614 |
"Manage access to your website for visitors (any user that is not "
|
615 |
"authenticated)"
|
616 |
msgstr ""
|
617 |
|
618 |
+
#: Application/Backend/view/index.phtml:253
|
619 |
msgid "Manage Visitor"
|
620 |
msgstr ""
|
621 |
|
622 |
+
#: Application/Backend/view/index.phtml:265
|
623 |
msgid "Role Manager"
|
624 |
msgstr ""
|
625 |
|
626 |
+
#: Application/Backend/view/index.phtml:266
|
627 |
msgid ""
|
628 |
"With role manager you can manage access for any defined role, edit role's "
|
629 |
"name, create new role or even delete existing (but only when there is no "
|
630 |
"users assigned to it). You are not allowed to delete Administrator role."
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: Application/Backend/view/index.phtml:270
|
634 |
msgid "User Manager"
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: Application/Backend/view/index.phtml:271
|
638 |
msgid ""
|
639 |
"Manage access for any user. As a bonus feature, you can block user. It means "
|
640 |
"that user will be not able to login to your website anymore. Create or edit "
|
641 |
"user actions link to the native WordPress create/edit user interface."
|
642 |
msgstr ""
|
643 |
|
644 |
+
#: Application/Backend/view/index.phtml:275
|
645 |
msgid "Visitor Manager"
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: Application/Backend/view/index.phtml:276
|
649 |
msgid ""
|
650 |
"Visitor is any user that is not authenticated to your website. Considering "
|
651 |
"the fact that visitors do not have any access to backend, any features that "
|
652 |
"ara backend related are disabled."
|
653 |
msgstr ""
|
654 |
|
655 |
+
#: Application/Backend/view/index.phtml:310
|
656 |
#, php-format
|
657 |
msgid "Follow us on twitter %s for the latest Advanced Access Manager news."
|
658 |
msgstr ""
|
659 |
|
660 |
+
#: Application/Backend/view/index.phtml:313
|
661 |
msgid "What's New"
|
662 |
msgstr ""
|
663 |
|
664 |
+
#: Application/Backend/view/index.phtml:315
|
665 |
msgid "Brand new and much more intuitive user interface."
|
666 |
msgstr ""
|
667 |
|
668 |
+
#: Application/Backend/view/index.phtml:316
|
669 |
msgid ""
|
670 |
"Fully responsive design so you can manage access to website even on your "
|
671 |
"smart phone."
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: Application/Backend/view/index.phtml:317
|
675 |
msgid "Better, more reliable and faster core functionality."
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: Application/Backend/view/index.phtml:318
|
679 |
msgid ""
|
680 |
"Completely new extension handler. In case of any file system failure, you "
|
681 |
"can download an extension for manual installation."
|
682 |
msgstr ""
|
683 |
|
684 |
+
#: Application/Backend/view/index.phtml:319
|
685 |
msgid "Added \"Manage Access\" action to the list of user."
|
686 |
msgstr ""
|
687 |
|
688 |
+
#: Application/Backend/view/index.phtml:322
|
689 |
msgid "Please be aware of the latest changes!"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: Application/Backend/view/index.phtml:324
|
693 |
msgid ""
|
694 |
"\"Save\" button has been removed. Any changes that you perform are saved "
|
695 |
"automatically."
|
696 |
msgstr ""
|
697 |
|
698 |
+
#: Application/Backend/view/index.phtml:326
|
699 |
msgid ""
|
700 |
"License key for an extension is valid for one life domain only. All the "
|
701 |
"licenses that were purchased before are still valid but limited to one "
|
703 |
"April 2016)."
|
704 |
msgstr ""
|
705 |
|
706 |
+
#: Application/Backend/view/index.phtml:327
|
707 |
msgid ""
|
708 |
"Development License is valid for 5 domains with AAM version 3 but is still "
|
709 |
"unlimited with version 2 (only until April 2016)."
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: Application/Backend/view/index.phtml:328
|
713 |
msgid ""
|
714 |
"Posts & Pages settings from AAM version 2 are not compatible with AAM "
|
715 |
"version 3."
|
716 |
msgstr ""
|
717 |
|
718 |
+
#: Application/Backend/view/index.phtml:329
|
719 |
msgid "You are not allowed to delete or lock an \"Administrator\" role."
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: Application/Backend/view/index.phtml:330
|
723 |
msgid "There is no longer a \"Super Admin\" role."
|
724 |
msgstr ""
|
725 |
|
726 |
+
#: Application/Backend/view/index.phtml:331
|
727 |
msgid ""
|
728 |
"You are not longer allowed to delete any user or group or users (but you "
|
729 |
"still can do it within native WordPress interface)."
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: Application/Backend/view/index.phtml:332
|
733 |
msgid ""
|
734 |
"You are not allowed to delete any capability (even the one that you created "
|
735 |
"manually)."
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: Application/Backend/view/index.phtml:336
|
739 |
#, php-format
|
740 |
msgid ""
|
741 |
"You can rolleback to the earlier version of AAM by simply downloading any "
|
743 |
"plugins/advanced-access-manager directory with the archive's content."
|
744 |
msgstr ""
|
745 |
|
746 |
+
#: Application/Backend/view/index.phtml:339
|
747 |
msgid "Ok, got it"
|
748 |
msgstr ""
|
749 |
|
750 |
+
#: Application/Backend/view/object/capability.phtml:13
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
751 |
msgid "Filter"
|
752 |
msgstr ""
|
753 |
|
754 |
+
#: Application/Backend/view/object/capability.phtml:20
|
755 |
msgid "All Capabilities"
|
756 |
msgstr ""
|
757 |
|
758 |
+
#: Application/Backend/view/object/capability.phtml:30
|
759 |
msgid "Category"
|
760 |
msgstr ""
|
761 |
|
762 |
+
#: Application/Backend/view/object/capability.phtml:31
|
763 |
msgid "Capability"
|
764 |
msgstr ""
|
765 |
|
766 |
+
#: Application/Backend/view/object/capability.phtml:32
|
767 |
+
#: Application/Backend/view/object/post.phtml:35
|
768 |
+
msgid "Actions"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: Application/Backend/view/object/capability.phtml:43
|
772 |
msgid "Add New Capability"
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: Application/Backend/view/object/capability.phtml:47
|
776 |
msgid "Capability Name"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: Application/Backend/view/object/capability.phtml:48
|
780 |
msgid "Enter Capability"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: Application/Backend/view/object/menu.phtml:6
|
784 |
+
#: Application/Backend/view/object/metabox.phtml:6
|
785 |
+
#: Application/Backend/view/object/post.phtml:18
|
786 |
+
msgid "Settings may not be inherited"
|
|
|
|
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: Application/Backend/view/object/menu.phtml:7
|
790 |
+
#: Application/Backend/view/object/metabox.phtml:7
|
791 |
+
#: Application/Backend/view/object/post.phtml:19
|
792 |
+
msgid "Reset"
|
793 |
+
msgstr ""
|
794 |
+
|
795 |
+
#: Application/Backend/view/object/metabox.phtml:13
|
796 |
msgid "Refresh"
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: Application/Backend/view/object/metabox.phtml:29
|
800 |
msgid "Dashboard Widgets"
|
801 |
msgstr ""
|
802 |
|
803 |
+
#: Application/Backend/view/object/metabox.phtml:33
|
804 |
msgid "Frontend Widgets"
|
805 |
msgstr ""
|
806 |
|
807 |
+
#: Application/Backend/view/object/metabox.phtml:63
|
808 |
msgid ""
|
809 |
"The list of metaboxes and widgets is not initialized. Click Refresh button "
|
810 |
"above."
|
811 |
msgstr ""
|
812 |
|
813 |
+
#: Application/Backend/view/object/post.phtml:14
|
814 |
msgid "Root"
|
815 |
msgstr ""
|
816 |
|
817 |
+
#: Application/Backend/view/object/post.phtml:19
|
818 |
+
#: Application/Backend/view/object/post.phtml:24
|
819 |
+
msgid "Help"
|
820 |
+
msgstr ""
|
821 |
+
|
822 |
#: Application/Backend/view/object/post.phtml:23
|
823 |
+
msgid "Settings inherited from"
|
824 |
msgstr ""
|
825 |
|
826 |
+
#: Application/Backend/view/object/post.phtml:34
|
827 |
+
msgid "Title"
|
828 |
msgstr ""
|
829 |
|
830 |
+
#: Application/Backend/view/object/post.phtml:43
|
831 |
+
#: Application/Backend/view/object/post.phtml:48
|
832 |
+
#: Application/Backend/view/object/post.phtml:152
|
833 |
msgid "Go Back"
|
834 |
msgstr ""
|
835 |
|
836 |
+
#: Application/Backend/view/object/post.phtml:56
|
837 |
msgid "Frontend"
|
838 |
msgstr ""
|
839 |
|
840 |
+
#: Application/Backend/view/object/post.phtml:62
|
841 |
+
#: Application/Backend/view/object/post.phtml:110
|
842 |
msgid "List"
|
843 |
msgstr ""
|
844 |
|
845 |
+
#: Application/Backend/view/object/post.phtml:64
|
846 |
msgid "Filter (exclude) post from any list on your website frontend."
|
847 |
msgstr ""
|
848 |
|
849 |
+
#: Application/Backend/view/object/post.phtml:65
|
850 |
+
#: Application/Backend/view/object/post.phtml:113
|
851 |
msgid "Warning!"
|
852 |
msgstr ""
|
853 |
|
854 |
+
#: Application/Backend/view/object/post.phtml:66
|
855 |
msgid ""
|
856 |
"If checked, this property may slowdown your website with large amount of "
|
857 |
"posts."
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: Application/Backend/view/object/post.phtml:77
|
861 |
msgid "Read"
|
862 |
msgstr ""
|
863 |
|
864 |
+
#: Application/Backend/view/object/post.phtml:79
|
865 |
msgid ""
|
866 |
"Restrict access to read a post. If \"List\" option is not checked, a post "
|
867 |
"will be still listed on your website frontend."
|
868 |
msgstr ""
|
869 |
|
870 |
+
#: Application/Backend/view/object/post.phtml:90
|
871 |
msgid "Comment"
|
872 |
msgstr ""
|
873 |
|
874 |
+
#: Application/Backend/view/object/post.phtml:92
|
875 |
msgid ""
|
876 |
"Restrict access to comment on a post (if commenting feature is activated)."
|
877 |
msgstr ""
|
878 |
|
879 |
+
#: Application/Backend/view/object/post.phtml:112
|
|
|
|
|
|
|
|
|
880 |
msgid "Filter (exclude) post from any list on your website backend."
|
881 |
msgstr ""
|
882 |
|
883 |
+
#: Application/Backend/view/object/post.phtml:114
|
884 |
msgid ""
|
885 |
"If checked, this property may slowdown your backend with large amount of "
|
886 |
"posts."
|
887 |
msgstr ""
|
888 |
|
889 |
+
#: Application/Backend/view/object/post.phtml:127
|
|
|
|
|
|
|
|
|
890 |
msgid ""
|
891 |
"Restrict access to edit a post (also the link \"Edit\" and \"Quick Edit\" "
|
892 |
"will be removed below the post title)."
|
893 |
msgstr ""
|
894 |
|
895 |
+
#: Application/Backend/view/object/post.phtml:138
|
896 |
msgid "Delete"
|
897 |
msgstr ""
|
898 |
|
899 |
+
#: Application/Backend/view/object/post.phtml:140
|
900 |
msgid ""
|
901 |
"Restrict access to trash or permanently delete a post (also the link \"Trash"
|
902 |
"\" or \"Delete Permanently\" will be removed for a post)."
|
903 |
msgstr ""
|
904 |
+
|
905 |
+
#: Application/Backend/view/object/post.phtml:161
|
906 |
+
msgid "Inheritance"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: Application/Backend/view/object/post.phtml:164
|
910 |
+
msgid ""
|
911 |
+
"If no access settings defined for post* or category* AAM triggers the "
|
912 |
+
"inheritance mechanism in order listed below. The inheritance process "
|
913 |
+
"terminates when the first defined set of settings is found."
|
914 |
+
msgstr ""
|
915 |
+
|
916 |
+
#: Application/Backend/view/object/post.phtml:166
|
917 |
+
msgid "If caching is on, read the cached settings"
|
918 |
+
msgstr ""
|
919 |
+
|
920 |
+
#: Application/Backend/view/object/post.phtml:167
|
921 |
+
msgid "Read post's or category's settings"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: Application/Backend/view/object/post.phtml:168
|
925 |
+
msgid ""
|
926 |
+
"If AAM Plus Package installed, iterate through the tree of parent categories "
|
927 |
+
"and read settings"
|
928 |
+
msgstr ""
|
929 |
+
|
930 |
+
#: Application/Backend/view/object/post.phtml:169
|
931 |
+
msgid ""
|
932 |
+
"If AAM Plus Package installed, read the default access settings for posts or "
|
933 |
+
"categories"
|
934 |
+
msgstr ""
|
935 |
+
|
936 |
+
#: Application/Backend/view/object/post.phtml:170
|
937 |
+
msgid ""
|
938 |
+
"If user, read settings from the parent role and repeat the same sequence of "
|
939 |
+
"steps"
|
940 |
+
msgstr ""
|
941 |
+
|
942 |
+
#: Application/Backend/view/object/post.phtml:190
|
943 |
+
msgid "Reset Information"
|
944 |
+
msgstr ""
|
Lang/advanced-access-manager.pot
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: AAM\n"
|
5 |
-
"POT-Creation-Date: 2015-
|
6 |
"PO-Revision-Date: \n"
|
7 |
"Last-Translator: WPAAM <support@wpaam.com>\n"
|
8 |
"Language-Team: WP AAM <vasyl@vasyltech.com>\n"
|
@@ -17,13 +17,13 @@ msgstr ""
|
|
17 |
"X-Poedit-Basepath: ..\n"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
|
20 |
-
#: media/js/aam-ui.js:43 media/js/aam-ui.js:
|
21 |
#: Application/Backend/Localization.php:23
|
22 |
msgid "Loading..."
|
23 |
msgstr ""
|
24 |
|
25 |
#: media/js/aam-ui.js:48 Application/Backend/Localization.php:24
|
26 |
-
#: Application/Backend/view/index.phtml:
|
27 |
msgid "Select Role"
|
28 |
msgstr ""
|
29 |
|
@@ -35,178 +35,226 @@ msgstr ""
|
|
35 |
msgid "_TOTAL_ role(s)"
|
36 |
msgstr ""
|
37 |
|
38 |
-
#: media/js/aam-ui.js:89 media/js/aam-ui.js:
|
39 |
#: Application/Backend/Localization.php:27
|
40 |
-
#: Application/Backend/view/object/capability.phtml:
|
41 |
msgid "Create"
|
42 |
msgstr ""
|
43 |
|
44 |
#: media/js/aam-ui.js:114 Application/Backend/Localization.php:28
|
45 |
-
#: Application/Backend/view/index.phtml:
|
46 |
msgid "Users"
|
47 |
msgstr ""
|
48 |
|
49 |
-
#: media/js/aam-ui.js:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
#: Application/Backend/Localization.php:13
|
51 |
msgid "Saving..."
|
52 |
msgstr ""
|
53 |
|
54 |
-
#: media/js/aam-ui.js:
|
55 |
msgid "Failed to add new role"
|
56 |
msgstr ""
|
57 |
|
58 |
-
#: media/js/aam-ui.js:
|
59 |
-
#: media/js/aam-ui.js:
|
60 |
-
#: media/js/aam-ui.js:
|
61 |
-
#: media/js/aam-ui.js:
|
62 |
#: Application/Backend/Localization.php:15
|
63 |
msgid "Application error"
|
64 |
msgstr ""
|
65 |
|
66 |
-
#: media/js/aam-ui.js:
|
67 |
-
#: Application/Backend/view/index.phtml:
|
68 |
msgid "Add Role"
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: media/js/aam-ui.js:
|
72 |
msgid "Failed to update role"
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: media/js/aam-ui.js:
|
76 |
-
#: Application/Backend/view/extension.phtml:
|
77 |
-
#: Application/Backend/view/extension.phtml:59
|
78 |
-
#: Application/Backend/view/extension.phtml:77
|
79 |
-
#: Application/Backend/view/extension.phtml:95
|
80 |
msgid "Update"
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: media/js/aam-ui.js:
|
84 |
msgid "Deleting..."
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: media/js/aam-ui.js:
|
88 |
msgid "Failed to delete role"
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: media/js/aam-ui.js:
|
92 |
-
#: Application/Backend/
|
93 |
-
|
94 |
-
|
|
|
|
|
|
|
|
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: media/js/aam-ui.js:
|
98 |
msgid "Failed to block user"
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: media/js/aam-ui.js:
|
102 |
msgid "Search User"
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: media/js/aam-ui.js:
|
106 |
msgid "_TOTAL_ user(s)"
|
107 |
msgstr ""
|
108 |
|
109 |
-
#: media/js/aam-ui.js:
|
110 |
-
#: Application/Backend/view/index.phtml:
|
111 |
msgid "Role"
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: media/js/aam-ui.js:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
msgid "Anonymous"
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: media/js/aam-ui.js:
|
119 |
-
#: Application/Backend/view/object/menu.phtml:
|
120 |
msgid "Show Menu"
|
121 |
msgstr ""
|
122 |
|
123 |
-
#: media/js/aam-ui.js:
|
124 |
-
#: Application/Backend/view/object/menu.phtml:
|
125 |
msgid "Hide Menu"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: media/js/aam-ui.js:
|
129 |
msgid "Failed to retrieve mataboxes"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: media/js/aam-ui.js:
|
133 |
msgid "Failed to grand capability - WordPress policy"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: media/js/aam-ui.js:
|
137 |
msgid "Search Capability"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: media/js/aam-ui.js:
|
141 |
msgid "_TOTAL_ capability(s)"
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: media/js/aam-ui.js:
|
145 |
msgid "Failed to add new capability"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: media/js/aam-ui.js:
|
149 |
-
#: Application/Backend/view/object/capability.phtml:
|
150 |
msgid "Add Capability"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: media/js/aam-ui.js:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
msgid "Search"
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: media/js/aam-ui.js:
|
158 |
msgid "_TOTAL_ object(s)"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: media/js/aam-ui.js:
|
162 |
msgid "Failed"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: media/js/aam.js:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
msgid ""
|
167 |
"Javascript error detected during the page load. AAM may not function "
|
168 |
"properly."
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: media/js/aam.js:
|
172 |
msgid "Current "
|
173 |
msgstr ""
|
174 |
|
175 |
-
#: Application/Backend/Capability.php:
|
176 |
-
#: Application/Backend/Capability.php:
|
177 |
msgid "System"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: Application/Backend/Capability.php:
|
181 |
-
#: Application/Backend/Capability.php:
|
182 |
msgid "Posts & Pages"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: Application/Backend/Capability.php:
|
186 |
-
#: Application/Backend/Capability.php:
|
187 |
-
|
|
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: Application/Backend/Capability.php:
|
191 |
-
#: Application/Backend/Capability.php:
|
192 |
msgid "Miscellaneous"
|
193 |
msgstr ""
|
194 |
|
195 |
-
#: Application/Backend/Capability.php:
|
196 |
-
#: Application/Backend/view/index.phtml:
|
197 |
msgid "Capabilities"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: Application/Backend/Extension.php:
|
201 |
msgid "License key is missing."
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: Application/Backend/Extension.php:
|
205 |
-
#: Application/Backend/view/index.phtml:
|
206 |
msgid "Extensions"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: Application/Backend/Filter.php:
|
210 |
msgid "Access Denied"
|
211 |
msgstr ""
|
212 |
|
@@ -218,183 +266,221 @@ msgstr ""
|
|
218 |
msgid "Current role"
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: Application/Backend/Manager.php:
|
222 |
#, php-format
|
223 |
msgid "Extension %s has new update available for download."
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: Application/Backend/Manager.php:
|
227 |
-
msgid "
|
|
|
|
|
|
|
|
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: Application/Backend/Manager.php:
|
231 |
msgid "AAM"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: Application/Backend/Menu.php:
|
235 |
msgid "Backend Menu"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: Application/Backend/Metabox.php:
|
239 |
msgid "Metaboxes & Widgets"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: Application/Backend/Post.php:
|
243 |
msgid "Base Level"
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: Application/Backend/Post.php:
|
247 |
msgid "You reached your limitation."
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: Application/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
#, php-format
|
252 |
msgid "Failed to create %s"
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: Application/Core/Repository.php:
|
256 |
#, php-format
|
257 |
msgid "Directory %s is not writable"
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: aam.php:
|
261 |
msgid "PHP 5.2 or higher is required."
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: aam.php:
|
265 |
msgid "WP 3.8 or higher is required."
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: Application/Backend/view/extension.phtml:
|
269 |
msgid "Install Extension"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: Application/Backend/view/extension.phtml:
|
273 |
msgid "License Key"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: Application/Backend/view/extension.phtml:
|
277 |
msgid "Install"
|
278 |
msgstr ""
|
279 |
|
280 |
-
#: Application/Backend/view/extension.phtml:
|
281 |
msgid "Extension"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: Application/Backend/view/extension.phtml:
|
285 |
-
#: Application/Backend/view/index.phtml:
|
286 |
-
#: Application/Backend/view/index.phtml:
|
287 |
msgid "Action"
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: Application/Backend/view/extension.phtml:
|
291 |
-
msgid ""
|
292 |
-
"Development license gives you an ability to download all the available "
|
293 |
-
"extensions and use them to up to 5 life domains."
|
294 |
-
msgstr ""
|
295 |
-
|
296 |
-
#: Application/Backend/view/extension.phtml:43
|
297 |
-
#: Application/Backend/view/extension.phtml:61
|
298 |
-
msgid "Purchase"
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: Application/Backend/view/extension.phtml:
|
302 |
-
msgid ""
|
303 |
-
"Unlock limitations related to Posts and Pages feature. Extend basic AAM "
|
304 |
-
"functionality with Page Categories and ability to manage access to your "
|
305 |
-
"comments (AAM Plus Package adds new capabilities to the default list of "
|
306 |
-
"WordPress capabilities like Edit Comments, Delete Comments, Spam Comments "
|
307 |
-
"etc.)."
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: Application/Backend/view/extension.phtml:
|
311 |
-
msgid "
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: Application/Backend/view/extension.phtml:
|
315 |
-
#: Application/Backend/view/extension.phtml:
|
316 |
-
#: Application/Backend/view/extension.phtml:125
|
317 |
msgid "Download"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: Application/Backend/view/extension.phtml:
|
321 |
-
msgid ""
|
322 |
-
"Convenient way to navigate between different sites in the Network Admin "
|
323 |
-
"Panel. This extension adds additional widget to the AAM page that allows to "
|
324 |
-
"switch between different sites."
|
325 |
-
msgstr ""
|
326 |
-
|
327 |
-
#: Application/Backend/view/extension.phtml:105
|
328 |
msgid "All extensions are installed and up to date."
|
329 |
msgstr ""
|
330 |
|
331 |
-
#: Application/Backend/view/extension.phtml:
|
332 |
-
#: Application/Backend/view/extension.phtml:
|
333 |
-
#: Application/Backend/view/extension.phtml:
|
334 |
-
#: Application/Backend/view/index.phtml:
|
335 |
-
#: Application/Backend/view/index.phtml:
|
336 |
-
#: Application/Backend/view/index.phtml:
|
337 |
-
#: Application/Backend/view/index.phtml:
|
338 |
-
#: Application/Backend/view/index.phtml:158
|
339 |
-
#: Application/Backend/view/index.phtml:166
|
340 |
#: Application/Backend/view/index.phtml:176
|
341 |
-
#: Application/Backend/view/index.phtml:
|
342 |
-
#: Application/Backend/view/
|
343 |
-
#: Application/Backend/view/
|
|
|
|
|
|
|
|
|
|
|
344 |
msgid "Close"
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: Application/Backend/view/extension.phtml:
|
348 |
-
#: Application/Backend/view/index.phtml:
|
349 |
-
#: Application/Backend/view/index.phtml:
|
350 |
msgid "Notification"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: Application/Backend/view/extension.phtml:
|
354 |
-
#, php-format
|
355 |
msgid ""
|
356 |
-
"
|
357 |
-
"archive to wp-content%s directory."
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: Application/Backend/view/extension.phtml:
|
361 |
msgid "Cancel"
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: Application/Backend/view/extension.phtml:
|
365 |
msgid "Install Extension Info"
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: Application/Backend/view/extension.phtml:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
369 |
msgid ""
|
370 |
-
"
|
371 |
-
"
|
372 |
-
"
|
373 |
-
"
|
374 |
-
"please remember that it is limited only to one life domain."
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: Application/Backend/view/index.phtml:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
msgid "Access Manager"
|
379 |
msgstr ""
|
380 |
|
381 |
-
#: Application/Backend/view/index.phtml:
|
382 |
msgid "Note from the author"
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: Application/Backend/view/index.phtml:
|
386 |
msgid ""
|
387 |
"Appreciate your interest in Advanced Access Manager (aka AAM). With a strong "
|
388 |
"knowledge and experience in WordPress, AAM becomes a very powerful tool to "
|
389 |
"manage access to your frontend and backend."
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: Application/Backend/view/index.phtml:39
|
393 |
#: Application/Backend/view/index.phtml:61
|
|
|
394 |
msgid "Please notice!"
|
395 |
msgstr ""
|
396 |
|
397 |
-
#: Application/Backend/view/index.phtml:
|
398 |
msgid ""
|
399 |
"AAM was thoroughly tested on the fresh installation of WordPress and in the "
|
400 |
"latest versions of Chrome, Safari, IE and Firefox. If you have any issues, "
|
@@ -402,12 +488,12 @@ msgid ""
|
|
402 |
"WordPress installation."
|
403 |
msgstr ""
|
404 |
|
405 |
-
#: Application/Backend/view/index.phtml:
|
406 |
msgid ""
|
407 |
"Please find below the short description of each feature that AAM offers."
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: Application/Backend/view/index.phtml:
|
411 |
msgid ""
|
412 |
"Filter the admin menu. Please notice that it only filters the menu but does "
|
413 |
"not restrict a direct access to the filtered menus. In order to completely "
|
@@ -416,11 +502,11 @@ msgid ""
|
|
416 |
"name is right next to the menu name)."
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: Application/Backend/view/index.phtml:
|
420 |
msgid "Metaboxes & Widgets"
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: Application/Backend/view/index.phtml:
|
424 |
msgid ""
|
425 |
"Filter backend metaboxes and frontend widgets. If the list of metaboxes and "
|
426 |
"widgets is empty, click the “Refresh” button. This will reinitialize the "
|
@@ -428,7 +514,7 @@ msgid ""
|
|
428 |
"fails to execute WordPress remote request function “wp_remote_request”."
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: Application/Backend/view/index.phtml:
|
432 |
msgid ""
|
433 |
"This is probably the most important and powerful feature that manages list "
|
434 |
"of capabilities for roles and users. Please make sure that you are familiar "
|
@@ -440,19 +526,19 @@ msgid ""
|
|
440 |
"retains the same exact name."
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: Application/Backend/view/index.phtml:
|
444 |
msgid "Posts & Pages"
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: Application/Backend/view/index.phtml:
|
448 |
msgid "Manage access to your posts, pages and custom post types."
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: Application/Backend/view/index.phtml:
|
452 |
msgid "This feature has limitations without AAM Plus Package extension."
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: Application/Backend/view/index.phtml:
|
456 |
#, php-format
|
457 |
msgid ""
|
458 |
"Extend AAM functionality with variety of extensions that can be either "
|
@@ -467,155 +553,150 @@ msgid ""
|
|
467 |
"within next 3 business days."
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: Application/Backend/view/index.phtml:
|
471 |
msgid "User/Role Manager"
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: Application/Backend/view/index.phtml:
|
475 |
msgid "Roles"
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: Application/Backend/view/index.phtml:
|
479 |
msgid "Visitor"
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: Application/Backend/view/index.phtml:
|
483 |
msgid "Add New Role"
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: Application/Backend/view/index.phtml:
|
487 |
-
#: Application/Backend/view/index.phtml:
|
488 |
msgid "Role Name"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: Application/Backend/view/index.phtml:
|
492 |
-
#: Application/Backend/view/index.phtml:
|
493 |
msgid "Enter Role Name"
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: Application/Backend/view/index.phtml:
|
497 |
msgid "Inherit Capabilities"
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: Application/Backend/view/index.phtml:
|
501 |
msgid "Edit Role"
|
502 |
msgstr ""
|
503 |
|
504 |
-
#: Application/Backend/view/index.phtml:
|
505 |
msgid "Update Role"
|
506 |
msgstr ""
|
507 |
|
508 |
-
#: Application/Backend/view/index.phtml:
|
509 |
#, php-format
|
510 |
msgid "Are you sure that you want to delete %s role?"
|
511 |
msgstr ""
|
512 |
|
513 |
-
#: Application/Backend/view/index.phtml:
|
514 |
msgid ""
|
515 |
"You are not allowed to delete this role because either you do not have a "
|
516 |
"capability to \"Delete Users\" or there is at least one user assigned to it."
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: Application/Backend/view/index.phtml:
|
520 |
-
#: Application/Backend/view/index.phtml:214
|
521 |
-
msgid "OK"
|
522 |
-
msgstr ""
|
523 |
-
|
524 |
-
#: Application/Backend/view/index.phtml:196
|
525 |
msgid "Username"
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: Application/Backend/view/index.phtml:
|
529 |
msgid "You are not allowed to perform this action."
|
530 |
msgstr ""
|
531 |
|
532 |
-
#: Application/Backend/view/index.phtml:
|
533 |
msgid ""
|
534 |
"Manage access to your website for visitors (any user that is not "
|
535 |
"authenticated)"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: Application/Backend/view/index.phtml:
|
539 |
msgid "Manage Visitor"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: Application/Backend/view/index.phtml:
|
543 |
msgid "Role Manager"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: Application/Backend/view/index.phtml:
|
547 |
msgid ""
|
548 |
"With role manager you can manage access for any defined role, edit role's "
|
549 |
"name, create new role or even delete existing (but only when there is no "
|
550 |
"users assigned to it). You are not allowed to delete Administrator role."
|
551 |
msgstr ""
|
552 |
|
553 |
-
#: Application/Backend/view/index.phtml:
|
554 |
msgid "User Manager"
|
555 |
msgstr ""
|
556 |
|
557 |
-
#: Application/Backend/view/index.phtml:
|
558 |
msgid ""
|
559 |
"Manage access for any user. As a bonus feature, you can block user. It means "
|
560 |
"that user will be not able to login to your website anymore. Create or edit "
|
561 |
"user actions link to the native WordPress create/edit user interface."
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: Application/Backend/view/index.phtml:
|
565 |
msgid "Visitor Manager"
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: Application/Backend/view/index.phtml:
|
569 |
msgid ""
|
570 |
"Visitor is any user that is not authenticated to your website. Considering "
|
571 |
"the fact that visitors do not have any access to backend, any features that "
|
572 |
"ara backend related are disabled."
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: Application/Backend/view/index.phtml:
|
576 |
#, php-format
|
577 |
msgid "Follow us on twitter %s for the latest Advanced Access Manager news."
|
578 |
msgstr ""
|
579 |
|
580 |
-
#: Application/Backend/view/index.phtml:
|
581 |
msgid "What's New"
|
582 |
msgstr ""
|
583 |
|
584 |
-
#: Application/Backend/view/index.phtml:
|
585 |
msgid "Brand new and much more intuitive user interface."
|
586 |
msgstr ""
|
587 |
|
588 |
-
#: Application/Backend/view/index.phtml:
|
589 |
msgid ""
|
590 |
"Fully responsive design so you can manage access to website even on your "
|
591 |
"smart phone."
|
592 |
msgstr ""
|
593 |
|
594 |
-
#: Application/Backend/view/index.phtml:
|
595 |
msgid "Better, more reliable and faster core functionality."
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: Application/Backend/view/index.phtml:
|
599 |
msgid ""
|
600 |
"Completely new extension handler. In case of any file system failure, you "
|
601 |
"can download an extension for manual installation."
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: Application/Backend/view/index.phtml:
|
605 |
msgid "Added \"Manage Access\" action to the list of user."
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: Application/Backend/view/index.phtml:
|
609 |
msgid "Please be aware of the latest changes!"
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: Application/Backend/view/index.phtml:
|
613 |
msgid ""
|
614 |
"\"Save\" button has been removed. Any changes that you perform are saved "
|
615 |
"automatically."
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: Application/Backend/view/index.phtml:
|
619 |
msgid ""
|
620 |
"License key for an extension is valid for one life domain only. All the "
|
621 |
"licenses that were purchased before are still valid but limited to one "
|
@@ -623,39 +704,39 @@ msgid ""
|
|
623 |
"April 2016)."
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: Application/Backend/view/index.phtml:
|
627 |
msgid ""
|
628 |
"Development License is valid for 5 domains with AAM version 3 but is still "
|
629 |
"unlimited with version 2 (only until April 2016)."
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: Application/Backend/view/index.phtml:
|
633 |
msgid ""
|
634 |
"Posts & Pages settings from AAM version 2 are not compatible with AAM "
|
635 |
"version 3."
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: Application/Backend/view/index.phtml:
|
639 |
msgid "You are not allowed to delete or lock an \"Administrator\" role."
|
640 |
msgstr ""
|
641 |
|
642 |
-
#: Application/Backend/view/index.phtml:
|
643 |
msgid "There is no longer a \"Super Admin\" role."
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: Application/Backend/view/index.phtml:
|
647 |
msgid ""
|
648 |
"You are not longer allowed to delete any user or group or users (but you "
|
649 |
"still can do it within native WordPress interface)."
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: Application/Backend/view/index.phtml:
|
653 |
msgid ""
|
654 |
"You are not allowed to delete any capability (even the one that you created "
|
655 |
"manually)."
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: Application/Backend/view/index.phtml:
|
659 |
#, php-format
|
660 |
msgid ""
|
661 |
"You can rolleback to the earlier version of AAM by simply downloading any "
|
@@ -663,166 +744,202 @@ msgid ""
|
|
663 |
"plugins/advanced-access-manager directory with the archive's content."
|
664 |
msgstr ""
|
665 |
|
666 |
-
#: Application/Backend/view/index.phtml:
|
667 |
msgid "Ok, got it"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: Application/Backend/view/object/capability.phtml:
|
671 |
-
msgid ""
|
672 |
-
"[Please notice!] You are not allowed to assign or create a new capability "
|
673 |
-
"that does not belong to user's role. Consider creating a new role with "
|
674 |
-
"desired list of capabilities and then assign that role to user."
|
675 |
-
msgstr ""
|
676 |
-
|
677 |
-
#: Application/Backend/view/object/capability.phtml:12
|
678 |
msgid "Filter"
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: Application/Backend/view/object/capability.phtml:
|
682 |
msgid "All Capabilities"
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: Application/Backend/view/object/capability.phtml:
|
686 |
msgid "Category"
|
687 |
msgstr ""
|
688 |
|
689 |
-
#: Application/Backend/view/object/capability.phtml:
|
690 |
msgid "Capability"
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: Application/Backend/view/object/capability.phtml:
|
694 |
-
|
|
|
695 |
msgstr ""
|
696 |
|
697 |
-
#: Application/Backend/view/object/capability.phtml:
|
698 |
msgid "Add New Capability"
|
699 |
msgstr ""
|
700 |
|
701 |
-
#: Application/Backend/view/object/capability.phtml:
|
702 |
msgid "Capability Name"
|
703 |
msgstr ""
|
704 |
|
705 |
-
#: Application/Backend/view/object/capability.phtml:
|
706 |
msgid "Enter Capability"
|
707 |
msgstr ""
|
708 |
|
709 |
-
#: Application/Backend/view/object/menu.phtml:
|
710 |
-
|
711 |
-
|
712 |
-
"
|
713 |
-
"desired page, un-check the capability that is assigned to the menu [(the "
|
714 |
-
"capability is shown right next to the menu title)]."
|
715 |
msgstr ""
|
716 |
|
717 |
-
#: Application/Backend/view/object/
|
|
|
|
|
|
|
|
|
|
|
|
|
718 |
msgid "Refresh"
|
719 |
msgstr ""
|
720 |
|
721 |
-
#: Application/Backend/view/object/metabox.phtml:
|
722 |
msgid "Dashboard Widgets"
|
723 |
msgstr ""
|
724 |
|
725 |
-
#: Application/Backend/view/object/metabox.phtml:
|
726 |
msgid "Frontend Widgets"
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: Application/Backend/view/object/metabox.phtml:
|
730 |
msgid ""
|
731 |
"The list of metaboxes and widgets is not initialized. Click Refresh button "
|
732 |
"above."
|
733 |
msgstr ""
|
734 |
|
735 |
-
#: Application/Backend/view/object/post.phtml:
|
736 |
msgid "Root"
|
737 |
msgstr ""
|
738 |
|
|
|
|
|
|
|
|
|
|
|
739 |
#: Application/Backend/view/object/post.phtml:23
|
740 |
-
msgid "
|
741 |
msgstr ""
|
742 |
|
743 |
-
#: Application/Backend/view/object/post.phtml:
|
744 |
-
msgid "
|
745 |
msgstr ""
|
746 |
|
747 |
-
#: Application/Backend/view/object/post.phtml:
|
748 |
-
#: Application/Backend/view/object/post.phtml:
|
749 |
-
#: Application/Backend/view/object/post.phtml:
|
750 |
msgid "Go Back"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: Application/Backend/view/object/post.phtml:
|
754 |
msgid "Frontend"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: Application/Backend/view/object/post.phtml:
|
758 |
-
#: Application/Backend/view/object/post.phtml:
|
759 |
msgid "List"
|
760 |
msgstr ""
|
761 |
|
762 |
-
#: Application/Backend/view/object/post.phtml:
|
763 |
msgid "Filter (exclude) post from any list on your website frontend."
|
764 |
msgstr ""
|
765 |
|
766 |
-
#: Application/Backend/view/object/post.phtml:
|
767 |
-
#: Application/Backend/view/object/post.phtml:
|
768 |
msgid "Warning!"
|
769 |
msgstr ""
|
770 |
|
771 |
-
#: Application/Backend/view/object/post.phtml:
|
772 |
msgid ""
|
773 |
"If checked, this property may slowdown your website with large amount of "
|
774 |
"posts."
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: Application/Backend/view/object/post.phtml:
|
778 |
msgid "Read"
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: Application/Backend/view/object/post.phtml:
|
782 |
msgid ""
|
783 |
"Restrict access to read a post. If \"List\" option is not checked, a post "
|
784 |
"will be still listed on your website frontend."
|
785 |
msgstr ""
|
786 |
|
787 |
-
#: Application/Backend/view/object/post.phtml:
|
788 |
msgid "Comment"
|
789 |
msgstr ""
|
790 |
|
791 |
-
#: Application/Backend/view/object/post.phtml:
|
792 |
msgid ""
|
793 |
"Restrict access to comment on a post (if commenting feature is activated)."
|
794 |
msgstr ""
|
795 |
|
796 |
-
#: Application/Backend/view/object/post.phtml:
|
797 |
-
msgid "Backend"
|
798 |
-
msgstr ""
|
799 |
-
|
800 |
-
#: Application/Backend/view/object/post.phtml:101
|
801 |
msgid "Filter (exclude) post from any list on your website backend."
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: Application/Backend/view/object/post.phtml:
|
805 |
msgid ""
|
806 |
"If checked, this property may slowdown your backend with large amount of "
|
807 |
"posts."
|
808 |
msgstr ""
|
809 |
|
810 |
-
#: Application/Backend/view/object/post.phtml:
|
811 |
-
msgid "Edit"
|
812 |
-
msgstr ""
|
813 |
-
|
814 |
-
#: Application/Backend/view/object/post.phtml:116
|
815 |
msgid ""
|
816 |
"Restrict access to edit a post (also the link \"Edit\" and \"Quick Edit\" "
|
817 |
"will be removed below the post title)."
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: Application/Backend/view/object/post.phtml:
|
821 |
msgid "Delete"
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: Application/Backend/view/object/post.phtml:
|
825 |
msgid ""
|
826 |
"Restrict access to trash or permanently delete a post (also the link \"Trash"
|
827 |
"\" or \"Delete Permanently\" will be removed for a post)."
|
828 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
msgid ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: AAM\n"
|
5 |
+
"POT-Creation-Date: 2015-12-09 19:35-0500\n"
|
6 |
"PO-Revision-Date: \n"
|
7 |
"Last-Translator: WPAAM <support@wpaam.com>\n"
|
8 |
"Language-Team: WP AAM <vasyl@vasyltech.com>\n"
|
17 |
"X-Poedit-Basepath: ..\n"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
|
20 |
+
#: media/js/aam-ui.js:43 media/js/aam-ui.js:1317
|
21 |
#: Application/Backend/Localization.php:23
|
22 |
msgid "Loading..."
|
23 |
msgstr ""
|
24 |
|
25 |
#: media/js/aam-ui.js:48 Application/Backend/Localization.php:24
|
26 |
+
#: Application/Backend/view/index.phtml:149
|
27 |
msgid "Select Role"
|
28 |
msgstr ""
|
29 |
|
35 |
msgid "_TOTAL_ role(s)"
|
36 |
msgstr ""
|
37 |
|
38 |
+
#: media/js/aam-ui.js:89 media/js/aam-ui.js:442
|
39 |
#: Application/Backend/Localization.php:27
|
40 |
+
#: Application/Backend/view/object/capability.phtml:23
|
41 |
msgid "Create"
|
42 |
msgstr ""
|
43 |
|
44 |
#: media/js/aam-ui.js:114 Application/Backend/Localization.php:28
|
45 |
+
#: Application/Backend/view/index.phtml:115
|
46 |
msgid "Users"
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: media/js/aam-ui.js:142 Application/Backend/Localization.php:45
|
50 |
+
msgid "Manage Role"
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#: media/js/aam-ui.js:157 Application/Backend/Localization.php:46
|
54 |
+
msgid "Edit Role Name"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: media/js/aam-ui.js:177 media/js/aam-ui.js:317
|
58 |
+
#: Application/Backend/Localization.php:35
|
59 |
+
#: Application/Backend/Localization.php:47
|
60 |
+
#: Application/Backend/view/index.phtml:187
|
61 |
+
#: Application/Backend/view/index.phtml:193
|
62 |
+
msgid "Delete Role"
|
63 |
+
msgstr ""
|
64 |
+
|
65 |
+
#: media/js/aam-ui.js:220 media/js/aam-ui.js:264 media/js/aam-ui.js:965
|
66 |
#: Application/Backend/Localization.php:13
|
67 |
msgid "Saving..."
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: media/js/aam-ui.js:228 Application/Backend/Localization.php:29
|
71 |
msgid "Failed to add new role"
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: media/js/aam-ui.js:233 media/js/aam-ui.js:276 media/js/aam-ui.js:313
|
75 |
+
#: media/js/aam-ui.js:407 media/js/aam-ui.js:734 media/js/aam-ui.js:771
|
76 |
+
#: media/js/aam-ui.js:978 media/js/aam-ui.js:1146 media/js/aam-ui.js:1187
|
77 |
+
#: media/js/aam-ui.js:1463 media/js/aam.js:231
|
78 |
#: Application/Backend/Localization.php:15
|
79 |
msgid "Application error"
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: media/js/aam-ui.js:236 Application/Backend/Localization.php:30
|
83 |
+
#: Application/Backend/view/index.phtml:154
|
84 |
msgid "Add Role"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: media/js/aam-ui.js:271 Application/Backend/Localization.php:31
|
88 |
msgid "Failed to update role"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: media/js/aam-ui.js:280 Application/Backend/Localization.php:32
|
92 |
+
#: Application/Backend/view/extension.phtml:43
|
|
|
|
|
|
|
93 |
msgid "Update"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: media/js/aam-ui.js:303 Application/Backend/Localization.php:33
|
97 |
msgid "Deleting..."
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: media/js/aam-ui.js:309 Application/Backend/Localization.php:34
|
101 |
msgid "Failed to delete role"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: media/js/aam-ui.js:390 media/js/aam-ui.js:391 media/js/aam-ui.js:534
|
105 |
+
#: Application/Backend/Localization.php:51
|
106 |
+
msgid "Unlock User"
|
107 |
+
msgstr ""
|
108 |
+
|
109 |
+
#: media/js/aam-ui.js:396 media/js/aam-ui.js:397 media/js/aam-ui.js:523
|
110 |
+
#: Application/Backend/Localization.php:50
|
111 |
+
msgid "Lock User"
|
112 |
msgstr ""
|
113 |
|
114 |
+
#: media/js/aam-ui.js:402 Application/Backend/Localization.php:36
|
115 |
msgid "Failed to block user"
|
116 |
msgstr ""
|
117 |
|
118 |
+
#: media/js/aam-ui.js:434 Application/Backend/Localization.php:37
|
119 |
msgid "Search User"
|
120 |
msgstr ""
|
121 |
|
122 |
+
#: media/js/aam-ui.js:435 Application/Backend/Localization.php:38
|
123 |
msgid "_TOTAL_ user(s)"
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: media/js/aam-ui.js:459 Application/Backend/Localization.php:39
|
127 |
+
#: Application/Backend/view/index.phtml:127
|
128 |
msgid "Role"
|
129 |
msgstr ""
|
130 |
|
131 |
+
#: media/js/aam-ui.js:483 Application/Backend/Localization.php:48
|
132 |
+
msgid "Manage User"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#: media/js/aam-ui.js:504 Application/Backend/Localization.php:49
|
136 |
+
msgid "Edit User"
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: media/js/aam-ui.js:592 Application/Backend/Localization.php:40
|
140 |
msgid "Anonymous"
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: media/js/aam-ui.js:641 Application/Backend/Localization.php:17
|
144 |
+
#: Application/Backend/view/object/menu.phtml:54
|
145 |
msgid "Show Menu"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: media/js/aam-ui.js:656 Application/Backend/Localization.php:18
|
149 |
+
#: Application/Backend/view/object/menu.phtml:58
|
150 |
msgid "Hide Menu"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: media/js/aam-ui.js:766 Application/Backend/Localization.php:19
|
154 |
msgid "Failed to retrieve mataboxes"
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: media/js/aam-ui.js:850 Application/Backend/Localization.php:53
|
158 |
msgid "Failed to grand capability - WordPress policy"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: media/js/aam-ui.js:885 Application/Backend/Localization.php:11
|
162 |
msgid "Search Capability"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: media/js/aam-ui.js:886 Application/Backend/Localization.php:12
|
166 |
msgid "_TOTAL_ capability(s)"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: media/js/aam-ui.js:973 Application/Backend/Localization.php:14
|
170 |
msgid "Failed to add new capability"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: media/js/aam-ui.js:981 Application/Backend/Localization.php:16
|
174 |
+
#: Application/Backend/view/object/capability.phtml:52
|
175 |
msgid "Add Capability"
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: media/js/aam-ui.js:1131
|
179 |
+
msgid "parent role"
|
180 |
+
msgstr ""
|
181 |
+
|
182 |
+
#: media/js/aam-ui.js:1133
|
183 |
+
msgid "default settings"
|
184 |
+
msgstr ""
|
185 |
+
|
186 |
+
#: media/js/aam-ui.js:1135
|
187 |
+
msgid "parent category"
|
188 |
+
msgstr ""
|
189 |
+
|
190 |
+
#: media/js/aam-ui.js:1227 Application/Backend/Localization.php:20
|
191 |
msgid "Search"
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: media/js/aam-ui.js:1228 Application/Backend/Localization.php:21
|
195 |
msgid "_TOTAL_ object(s)"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: media/js/aam-ui.js:1306 Application/Backend/Localization.php:22
|
199 |
msgid "Failed"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: media/js/aam-ui.js:1336 Application/Backend/Localization.php:43
|
203 |
+
#: Application/Backend/Manager.php:177
|
204 |
+
msgid "Manage Access"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: media/js/aam-ui.js:1347 Application/Backend/Localization.php:44
|
208 |
+
#: Application/Backend/view/object/post.phtml:125
|
209 |
+
msgid "Edit"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: media/js/aam.js:139 Application/Backend/Localization.php:52
|
213 |
msgid ""
|
214 |
"Javascript error detected during the page load. AAM may not function "
|
215 |
"properly."
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: media/js/aam.js:170
|
219 |
msgid "Current "
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: Application/Backend/Capability.php:141
|
223 |
+
#: Application/Backend/Capability.php:180
|
224 |
msgid "System"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: Application/Backend/Capability.php:142
|
228 |
+
#: Application/Backend/Capability.php:182 Application/Backend/Post.php:348
|
229 |
msgid "Posts & Pages"
|
230 |
msgstr ""
|
231 |
|
232 |
+
#: Application/Backend/Capability.php:143
|
233 |
+
#: Application/Backend/Capability.php:184
|
234 |
+
#: Application/Backend/view/object/post.phtml:104
|
235 |
+
msgid "Backend"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: Application/Backend/Capability.php:144
|
239 |
+
#: Application/Backend/Capability.php:186
|
240 |
msgid "Miscellaneous"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: Application/Backend/Capability.php:205
|
244 |
+
#: Application/Backend/view/index.phtml:77
|
245 |
msgid "Capabilities"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: Application/Backend/Extension.php:99
|
249 |
msgid "License key is missing."
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: Application/Backend/Extension.php:160
|
253 |
+
#: Application/Backend/view/index.phtml:87
|
254 |
msgid "Extensions"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: Application/Backend/Filter.php:193 Application/Core/API.php:180
|
258 |
msgid "Access Denied"
|
259 |
msgstr ""
|
260 |
|
266 |
msgid "Current role"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: Application/Backend/Manager.php:92
|
270 |
#, php-format
|
271 |
msgid "Extension %s has new update available for download."
|
272 |
msgstr ""
|
273 |
|
274 |
+
#: Application/Backend/Manager.php:136
|
275 |
+
msgid "AAM caching is off. To speed-up the website turn it on."
|
276 |
+
msgstr ""
|
277 |
+
|
278 |
+
#: Application/Backend/Manager.php:139
|
279 |
+
msgid "Read more."
|
280 |
msgstr ""
|
281 |
|
282 |
+
#: Application/Backend/Manager.php:293 Application/Backend/Manager.php:294
|
283 |
msgid "AAM"
|
284 |
msgstr ""
|
285 |
|
286 |
+
#: Application/Backend/Menu.php:183 Application/Backend/view/index.phtml:67
|
287 |
msgid "Backend Menu"
|
288 |
msgstr ""
|
289 |
|
290 |
+
#: Application/Backend/Metabox.php:217
|
291 |
msgid "Metaboxes & Widgets"
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: Application/Backend/Post.php:71
|
295 |
msgid "Base Level"
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: Application/Backend/Post.php:281
|
299 |
msgid "You reached your limitation."
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: Application/Backend/ProductList.php:17
|
303 |
+
msgid ""
|
304 |
+
"Development license gives you an ability to download all the available "
|
305 |
+
"extensions and use them to up to 5 life domains."
|
306 |
+
msgstr ""
|
307 |
+
|
308 |
+
#: Application/Backend/ProductList.php:27
|
309 |
+
msgid ""
|
310 |
+
"Unlock limitations related to Posts and Pages feature. Extend basic AAM "
|
311 |
+
"functionality with Page Categories and ability to manage access to your "
|
312 |
+
"comments (AAM Plus Package adds new capabilities to the default list of "
|
313 |
+
"WordPress capabilities like Edit Comments, Delete Comments, Spam Comments "
|
314 |
+
"etc.)"
|
315 |
+
msgstr ""
|
316 |
+
|
317 |
+
#: Application/Backend/ProductList.php:37
|
318 |
+
msgid ""
|
319 |
+
"Extension for more advanced user and role administration. Based on user's "
|
320 |
+
"highest level capability, filter list of roles with higher level. Also "
|
321 |
+
"prevent from editing, promoting or deleting higher level users."
|
322 |
+
msgstr ""
|
323 |
+
|
324 |
+
#: Application/Backend/ProductList.php:46
|
325 |
+
msgid "Various useful tools for AAM like caching or clear all settings."
|
326 |
+
msgstr ""
|
327 |
+
|
328 |
+
#: Application/Backend/ProductList.php:54
|
329 |
+
msgid ""
|
330 |
+
"Convenient way to navigate between different sites in the Network Admin "
|
331 |
+
"Panel. This extension adds additional widget to the AAM page that allows to "
|
332 |
+
"switch between different sites."
|
333 |
+
msgstr ""
|
334 |
+
|
335 |
+
#: Application/Core/Repository.php:234
|
336 |
#, php-format
|
337 |
msgid "Failed to create %s"
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: Application/Core/Repository.php:238
|
341 |
#, php-format
|
342 |
msgid "Directory %s is not writable"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: aam.php:152
|
346 |
msgid "PHP 5.2 or higher is required."
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: aam.php:154
|
350 |
msgid "WP 3.8 or higher is required."
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: Application/Backend/view/extension.phtml:11
|
354 |
msgid "Install Extension"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: Application/Backend/view/extension.phtml:15
|
358 |
msgid "License Key"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: Application/Backend/view/extension.phtml:19
|
362 |
msgid "Install"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: Application/Backend/view/extension.phtml:26
|
366 |
msgid "Extension"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: Application/Backend/view/extension.phtml:27
|
370 |
+
#: Application/Backend/view/index.phtml:128
|
371 |
+
#: Application/Backend/view/index.phtml:225
|
372 |
msgid "Action"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: Application/Backend/view/extension.phtml:34
|
376 |
+
msgid "Free"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: Application/Backend/view/extension.phtml:41
|
380 |
+
msgid "Installed"
|
|
|
|
|
|
|
|
|
|
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: Application/Backend/view/extension.phtml:45
|
384 |
+
msgid "Purchase"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: Application/Backend/view/extension.phtml:47
|
388 |
+
#: Application/Backend/view/extension.phtml:83
|
|
|
389 |
msgid "Download"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: Application/Backend/view/extension.phtml:56
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
393 |
msgid "All extensions are installed and up to date."
|
394 |
msgstr ""
|
395 |
|
396 |
+
#: Application/Backend/view/extension.phtml:67
|
397 |
+
#: Application/Backend/view/extension.phtml:94
|
398 |
+
#: Application/Backend/view/extension.phtml:103
|
399 |
+
#: Application/Backend/view/index.phtml:24
|
400 |
+
#: Application/Backend/view/index.phtml:138
|
401 |
+
#: Application/Backend/view/index.phtml:155
|
402 |
+
#: Application/Backend/view/index.phtml:165
|
|
|
|
|
403 |
#: Application/Backend/view/index.phtml:176
|
404 |
+
#: Application/Backend/view/index.phtml:186
|
405 |
+
#: Application/Backend/view/index.phtml:194
|
406 |
+
#: Application/Backend/view/index.phtml:204
|
407 |
+
#: Application/Backend/view/index.phtml:235
|
408 |
+
#: Application/Backend/view/object/capability.phtml:42
|
409 |
+
#: Application/Backend/view/object/capability.phtml:53
|
410 |
+
#: Application/Backend/view/object/post.phtml:160
|
411 |
+
#: Application/Backend/view/object/post.phtml:189
|
412 |
msgid "Close"
|
413 |
msgstr ""
|
414 |
|
415 |
+
#: Application/Backend/view/extension.phtml:68
|
416 |
+
#: Application/Backend/view/index.phtml:205
|
417 |
+
#: Application/Backend/view/index.phtml:236
|
418 |
msgid "Notification"
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: Application/Backend/view/extension.phtml:72
|
|
|
422 |
msgid ""
|
423 |
+
"Extension requires manual installation. Please follow few simple steps below."
|
|
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: Application/Backend/view/extension.phtml:84
|
427 |
msgid "Cancel"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: Application/Backend/view/extension.phtml:95
|
431 |
msgid "Install Extension Info"
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: Application/Backend/view/extension.phtml:99
|
435 |
+
msgid ""
|
436 |
+
"In order to install the extension, please use license number that you "
|
437 |
+
"recieved after the payment was completed successfully (it might take up to 2 "
|
438 |
+
"hours for PayPal to send you the email). If you already purchased an "
|
439 |
+
"extension for the older AAM version, use the license key but please remember "
|
440 |
+
"that it is limited only to one life domain."
|
441 |
+
msgstr ""
|
442 |
+
|
443 |
+
#: Application/Backend/view/index.phtml:25
|
444 |
+
msgid "Cache Information"
|
445 |
+
msgstr ""
|
446 |
+
|
447 |
+
#: Application/Backend/view/index.phtml:28
|
448 |
msgid ""
|
449 |
+
"AAM main objective is to control access to your frontend and backend "
|
450 |
+
"resources. In some cases your website may get slower because AAM performs "
|
451 |
+
"additional checks. That is why it is important to have AAM caching turned "
|
452 |
+
"on. Please follow few simple steps below to turn on the caching mechanism."
|
|
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: Application/Backend/view/index.phtml:35
|
456 |
+
#: Application/Backend/view/index.phtml:211
|
457 |
+
#: Application/Backend/view/index.phtml:242
|
458 |
+
#: Application/Backend/view/object/post.phtml:179
|
459 |
+
#: Application/Backend/view/object/post.phtml:196
|
460 |
+
msgid "OK"
|
461 |
+
msgstr ""
|
462 |
+
|
463 |
+
#: Application/Backend/view/index.phtml:52
|
464 |
msgid "Access Manager"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: Application/Backend/view/index.phtml:59
|
468 |
msgid "Note from the author"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: Application/Backend/view/index.phtml:60
|
472 |
msgid ""
|
473 |
"Appreciate your interest in Advanced Access Manager (aka AAM). With a strong "
|
474 |
"knowledge and experience in WordPress, AAM becomes a very powerful tool to "
|
475 |
"manage access to your frontend and backend."
|
476 |
msgstr ""
|
477 |
|
|
|
478 |
#: Application/Backend/view/index.phtml:61
|
479 |
+
#: Application/Backend/view/index.phtml:83
|
480 |
msgid "Please notice!"
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: Application/Backend/view/index.phtml:62
|
484 |
msgid ""
|
485 |
"AAM was thoroughly tested on the fresh installation of WordPress and in the "
|
486 |
"latest versions of Chrome, Safari, IE and Firefox. If you have any issues, "
|
488 |
"WordPress installation."
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: Application/Backend/view/index.phtml:63
|
492 |
msgid ""
|
493 |
"Please find below the short description of each feature that AAM offers."
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: Application/Backend/view/index.phtml:68
|
497 |
msgid ""
|
498 |
"Filter the admin menu. Please notice that it only filters the menu but does "
|
499 |
"not restrict a direct access to the filtered menus. In order to completely "
|
502 |
"name is right next to the menu name)."
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: Application/Backend/view/index.phtml:72
|
506 |
msgid "Metaboxes & Widgets"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: Application/Backend/view/index.phtml:73
|
510 |
msgid ""
|
511 |
"Filter backend metaboxes and frontend widgets. If the list of metaboxes and "
|
512 |
"widgets is empty, click the “Refresh” button. This will reinitialize the "
|
514 |
"fails to execute WordPress remote request function “wp_remote_request”."
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: Application/Backend/view/index.phtml:78
|
518 |
msgid ""
|
519 |
"This is probably the most important and powerful feature that manages list "
|
520 |
"of capabilities for roles and users. Please make sure that you are familiar "
|
526 |
"retains the same exact name."
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: Application/Backend/view/index.phtml:82
|
530 |
msgid "Posts & Pages"
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: Application/Backend/view/index.phtml:83
|
534 |
msgid "Manage access to your posts, pages and custom post types."
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: Application/Backend/view/index.phtml:83
|
538 |
msgid "This feature has limitations without AAM Plus Package extension."
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: Application/Backend/view/index.phtml:88
|
542 |
#, php-format
|
543 |
msgid ""
|
544 |
"Extend AAM functionality with variety of extensions that can be either "
|
553 |
"within next 3 business days."
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: Application/Backend/view/index.phtml:108
|
557 |
msgid "User/Role Manager"
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: Application/Backend/view/index.phtml:114
|
561 |
msgid "Roles"
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: Application/Backend/view/index.phtml:117
|
565 |
msgid "Visitor"
|
566 |
msgstr ""
|
567 |
|
568 |
+
#: Application/Backend/view/index.phtml:139
|
569 |
msgid "Add New Role"
|
570 |
msgstr ""
|
571 |
|
572 |
+
#: Application/Backend/view/index.phtml:143
|
573 |
+
#: Application/Backend/view/index.phtml:170
|
574 |
msgid "Role Name"
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: Application/Backend/view/index.phtml:144
|
578 |
+
#: Application/Backend/view/index.phtml:171
|
579 |
msgid "Enter Role Name"
|
580 |
msgstr ""
|
581 |
|
582 |
+
#: Application/Backend/view/index.phtml:147
|
583 |
msgid "Inherit Capabilities"
|
584 |
msgstr ""
|
585 |
|
586 |
+
#: Application/Backend/view/index.phtml:166
|
587 |
msgid "Edit Role"
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: Application/Backend/view/index.phtml:175
|
591 |
msgid "Update Role"
|
592 |
msgstr ""
|
593 |
|
594 |
+
#: Application/Backend/view/index.phtml:190
|
595 |
#, php-format
|
596 |
msgid "Are you sure that you want to delete %s role?"
|
597 |
msgstr ""
|
598 |
|
599 |
+
#: Application/Backend/view/index.phtml:208
|
600 |
msgid ""
|
601 |
"You are not allowed to delete this role because either you do not have a "
|
602 |
"capability to \"Delete Users\" or there is at least one user assigned to it."
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: Application/Backend/view/index.phtml:224
|
|
|
|
|
|
|
|
|
|
|
606 |
msgid "Username"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: Application/Backend/view/index.phtml:239
|
610 |
msgid "You are not allowed to perform this action."
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: Application/Backend/view/index.phtml:252
|
614 |
msgid ""
|
615 |
"Manage access to your website for visitors (any user that is not "
|
616 |
"authenticated)"
|
617 |
msgstr ""
|
618 |
|
619 |
+
#: Application/Backend/view/index.phtml:253
|
620 |
msgid "Manage Visitor"
|
621 |
msgstr ""
|
622 |
|
623 |
+
#: Application/Backend/view/index.phtml:265
|
624 |
msgid "Role Manager"
|
625 |
msgstr ""
|
626 |
|
627 |
+
#: Application/Backend/view/index.phtml:266
|
628 |
msgid ""
|
629 |
"With role manager you can manage access for any defined role, edit role's "
|
630 |
"name, create new role or even delete existing (but only when there is no "
|
631 |
"users assigned to it). You are not allowed to delete Administrator role."
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: Application/Backend/view/index.phtml:270
|
635 |
msgid "User Manager"
|
636 |
msgstr ""
|
637 |
|
638 |
+
#: Application/Backend/view/index.phtml:271
|
639 |
msgid ""
|
640 |
"Manage access for any user. As a bonus feature, you can block user. It means "
|
641 |
"that user will be not able to login to your website anymore. Create or edit "
|
642 |
"user actions link to the native WordPress create/edit user interface."
|
643 |
msgstr ""
|
644 |
|
645 |
+
#: Application/Backend/view/index.phtml:275
|
646 |
msgid "Visitor Manager"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: Application/Backend/view/index.phtml:276
|
650 |
msgid ""
|
651 |
"Visitor is any user that is not authenticated to your website. Considering "
|
652 |
"the fact that visitors do not have any access to backend, any features that "
|
653 |
"ara backend related are disabled."
|
654 |
msgstr ""
|
655 |
|
656 |
+
#: Application/Backend/view/index.phtml:310
|
657 |
#, php-format
|
658 |
msgid "Follow us on twitter %s for the latest Advanced Access Manager news."
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: Application/Backend/view/index.phtml:313
|
662 |
msgid "What's New"
|
663 |
msgstr ""
|
664 |
|
665 |
+
#: Application/Backend/view/index.phtml:315
|
666 |
msgid "Brand new and much more intuitive user interface."
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: Application/Backend/view/index.phtml:316
|
670 |
msgid ""
|
671 |
"Fully responsive design so you can manage access to website even on your "
|
672 |
"smart phone."
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: Application/Backend/view/index.phtml:317
|
676 |
msgid "Better, more reliable and faster core functionality."
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: Application/Backend/view/index.phtml:318
|
680 |
msgid ""
|
681 |
"Completely new extension handler. In case of any file system failure, you "
|
682 |
"can download an extension for manual installation."
|
683 |
msgstr ""
|
684 |
|
685 |
+
#: Application/Backend/view/index.phtml:319
|
686 |
msgid "Added \"Manage Access\" action to the list of user."
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: Application/Backend/view/index.phtml:322
|
690 |
msgid "Please be aware of the latest changes!"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: Application/Backend/view/index.phtml:324
|
694 |
msgid ""
|
695 |
"\"Save\" button has been removed. Any changes that you perform are saved "
|
696 |
"automatically."
|
697 |
msgstr ""
|
698 |
|
699 |
+
#: Application/Backend/view/index.phtml:326
|
700 |
msgid ""
|
701 |
"License key for an extension is valid for one life domain only. All the "
|
702 |
"licenses that were purchased before are still valid but limited to one "
|
704 |
"April 2016)."
|
705 |
msgstr ""
|
706 |
|
707 |
+
#: Application/Backend/view/index.phtml:327
|
708 |
msgid ""
|
709 |
"Development License is valid for 5 domains with AAM version 3 but is still "
|
710 |
"unlimited with version 2 (only until April 2016)."
|
711 |
msgstr ""
|
712 |
|
713 |
+
#: Application/Backend/view/index.phtml:328
|
714 |
msgid ""
|
715 |
"Posts & Pages settings from AAM version 2 are not compatible with AAM "
|
716 |
"version 3."
|
717 |
msgstr ""
|
718 |
|
719 |
+
#: Application/Backend/view/index.phtml:329
|
720 |
msgid "You are not allowed to delete or lock an \"Administrator\" role."
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: Application/Backend/view/index.phtml:330
|
724 |
msgid "There is no longer a \"Super Admin\" role."
|
725 |
msgstr ""
|
726 |
|
727 |
+
#: Application/Backend/view/index.phtml:331
|
728 |
msgid ""
|
729 |
"You are not longer allowed to delete any user or group or users (but you "
|
730 |
"still can do it within native WordPress interface)."
|
731 |
msgstr ""
|
732 |
|
733 |
+
#: Application/Backend/view/index.phtml:332
|
734 |
msgid ""
|
735 |
"You are not allowed to delete any capability (even the one that you created "
|
736 |
"manually)."
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: Application/Backend/view/index.phtml:336
|
740 |
#, php-format
|
741 |
msgid ""
|
742 |
"You can rolleback to the earlier version of AAM by simply downloading any "
|
744 |
"plugins/advanced-access-manager directory with the archive's content."
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: Application/Backend/view/index.phtml:339
|
748 |
msgid "Ok, got it"
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: Application/Backend/view/object/capability.phtml:13
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
752 |
msgid "Filter"
|
753 |
msgstr ""
|
754 |
|
755 |
+
#: Application/Backend/view/object/capability.phtml:20
|
756 |
msgid "All Capabilities"
|
757 |
msgstr ""
|
758 |
|
759 |
+
#: Application/Backend/view/object/capability.phtml:30
|
760 |
msgid "Category"
|
761 |
msgstr ""
|
762 |
|
763 |
+
#: Application/Backend/view/object/capability.phtml:31
|
764 |
msgid "Capability"
|
765 |
msgstr ""
|
766 |
|
767 |
+
#: Application/Backend/view/object/capability.phtml:32
|
768 |
+
#: Application/Backend/view/object/post.phtml:35
|
769 |
+
msgid "Actions"
|
770 |
msgstr ""
|
771 |
|
772 |
+
#: Application/Backend/view/object/capability.phtml:43
|
773 |
msgid "Add New Capability"
|
774 |
msgstr ""
|
775 |
|
776 |
+
#: Application/Backend/view/object/capability.phtml:47
|
777 |
msgid "Capability Name"
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: Application/Backend/view/object/capability.phtml:48
|
781 |
msgid "Enter Capability"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: Application/Backend/view/object/menu.phtml:6
|
785 |
+
#: Application/Backend/view/object/metabox.phtml:6
|
786 |
+
#: Application/Backend/view/object/post.phtml:18
|
787 |
+
msgid "Settings may not be inherited"
|
|
|
|
|
788 |
msgstr ""
|
789 |
|
790 |
+
#: Application/Backend/view/object/menu.phtml:7
|
791 |
+
#: Application/Backend/view/object/metabox.phtml:7
|
792 |
+
#: Application/Backend/view/object/post.phtml:19
|
793 |
+
msgid "Reset"
|
794 |
+
msgstr ""
|
795 |
+
|
796 |
+
#: Application/Backend/view/object/metabox.phtml:13
|
797 |
msgid "Refresh"
|
798 |
msgstr ""
|
799 |
|
800 |
+
#: Application/Backend/view/object/metabox.phtml:29
|
801 |
msgid "Dashboard Widgets"
|
802 |
msgstr ""
|
803 |
|
804 |
+
#: Application/Backend/view/object/metabox.phtml:33
|
805 |
msgid "Frontend Widgets"
|
806 |
msgstr ""
|
807 |
|
808 |
+
#: Application/Backend/view/object/metabox.phtml:63
|
809 |
msgid ""
|
810 |
"The list of metaboxes and widgets is not initialized. Click Refresh button "
|
811 |
"above."
|
812 |
msgstr ""
|
813 |
|
814 |
+
#: Application/Backend/view/object/post.phtml:14
|
815 |
msgid "Root"
|
816 |
msgstr ""
|
817 |
|
818 |
+
#: Application/Backend/view/object/post.phtml:19
|
819 |
+
#: Application/Backend/view/object/post.phtml:24
|
820 |
+
msgid "Help"
|
821 |
+
msgstr ""
|
822 |
+
|
823 |
#: Application/Backend/view/object/post.phtml:23
|
824 |
+
msgid "Settings inherited from"
|
825 |
msgstr ""
|
826 |
|
827 |
+
#: Application/Backend/view/object/post.phtml:34
|
828 |
+
msgid "Title"
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: Application/Backend/view/object/post.phtml:43
|
832 |
+
#: Application/Backend/view/object/post.phtml:48
|
833 |
+
#: Application/Backend/view/object/post.phtml:152
|
834 |
msgid "Go Back"
|
835 |
msgstr ""
|
836 |
|
837 |
+
#: Application/Backend/view/object/post.phtml:56
|
838 |
msgid "Frontend"
|
839 |
msgstr ""
|
840 |
|
841 |
+
#: Application/Backend/view/object/post.phtml:62
|
842 |
+
#: Application/Backend/view/object/post.phtml:110
|
843 |
msgid "List"
|
844 |
msgstr ""
|
845 |
|
846 |
+
#: Application/Backend/view/object/post.phtml:64
|
847 |
msgid "Filter (exclude) post from any list on your website frontend."
|
848 |
msgstr ""
|
849 |
|
850 |
+
#: Application/Backend/view/object/post.phtml:65
|
851 |
+
#: Application/Backend/view/object/post.phtml:113
|
852 |
msgid "Warning!"
|
853 |
msgstr ""
|
854 |
|
855 |
+
#: Application/Backend/view/object/post.phtml:66
|
856 |
msgid ""
|
857 |
"If checked, this property may slowdown your website with large amount of "
|
858 |
"posts."
|
859 |
msgstr ""
|
860 |
|
861 |
+
#: Application/Backend/view/object/post.phtml:77
|
862 |
msgid "Read"
|
863 |
msgstr ""
|
864 |
|
865 |
+
#: Application/Backend/view/object/post.phtml:79
|
866 |
msgid ""
|
867 |
"Restrict access to read a post. If \"List\" option is not checked, a post "
|
868 |
"will be still listed on your website frontend."
|
869 |
msgstr ""
|
870 |
|
871 |
+
#: Application/Backend/view/object/post.phtml:90
|
872 |
msgid "Comment"
|
873 |
msgstr ""
|
874 |
|
875 |
+
#: Application/Backend/view/object/post.phtml:92
|
876 |
msgid ""
|
877 |
"Restrict access to comment on a post (if commenting feature is activated)."
|
878 |
msgstr ""
|
879 |
|
880 |
+
#: Application/Backend/view/object/post.phtml:112
|
|
|
|
|
|
|
|
|
881 |
msgid "Filter (exclude) post from any list on your website backend."
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: Application/Backend/view/object/post.phtml:114
|
885 |
msgid ""
|
886 |
"If checked, this property may slowdown your backend with large amount of "
|
887 |
"posts."
|
888 |
msgstr ""
|
889 |
|
890 |
+
#: Application/Backend/view/object/post.phtml:127
|
|
|
|
|
|
|
|
|
891 |
msgid ""
|
892 |
"Restrict access to edit a post (also the link \"Edit\" and \"Quick Edit\" "
|
893 |
"will be removed below the post title)."
|
894 |
msgstr ""
|
895 |
|
896 |
+
#: Application/Backend/view/object/post.phtml:138
|
897 |
msgid "Delete"
|
898 |
msgstr ""
|
899 |
|
900 |
+
#: Application/Backend/view/object/post.phtml:140
|
901 |
msgid ""
|
902 |
"Restrict access to trash or permanently delete a post (also the link \"Trash"
|
903 |
"\" or \"Delete Permanently\" will be removed for a post)."
|
904 |
msgstr ""
|
905 |
+
|
906 |
+
#: Application/Backend/view/object/post.phtml:161
|
907 |
+
msgid "Inheritance"
|
908 |
+
msgstr ""
|
909 |
+
|
910 |
+
#: Application/Backend/view/object/post.phtml:164
|
911 |
+
msgid ""
|
912 |
+
"If no access settings defined for post* or category* AAM triggers the "
|
913 |
+
"inheritance mechanism in order listed below. The inheritance process "
|
914 |
+
"terminates when the first defined set of settings is found."
|
915 |
+
msgstr ""
|
916 |
+
|
917 |
+
#: Application/Backend/view/object/post.phtml:166
|
918 |
+
msgid "If caching is on, read the cached settings"
|
919 |
+
msgstr ""
|
920 |
+
|
921 |
+
#: Application/Backend/view/object/post.phtml:167
|
922 |
+
msgid "Read post's or category's settings"
|
923 |
+
msgstr ""
|
924 |
+
|
925 |
+
#: Application/Backend/view/object/post.phtml:168
|
926 |
+
msgid ""
|
927 |
+
"If AAM Plus Package installed, iterate through the tree of parent categories "
|
928 |
+
"and read settings"
|
929 |
+
msgstr ""
|
930 |
+
|
931 |
+
#: Application/Backend/view/object/post.phtml:169
|
932 |
+
msgid ""
|
933 |
+
"If AAM Plus Package installed, read the default access settings for posts or "
|
934 |
+
"categories"
|
935 |
+
msgstr ""
|
936 |
+
|
937 |
+
#: Application/Backend/view/object/post.phtml:170
|
938 |
+
msgid ""
|
939 |
+
"If user, read settings from the parent role and repeat the same sequence of "
|
940 |
+
"steps"
|
941 |
+
msgstr ""
|
942 |
+
|
943 |
+
#: Application/Backend/view/object/post.phtml:190
|
944 |
+
msgid "Reset Information"
|
945 |
+
msgstr ""
|
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: 3.
|
7 |
Author: Vasyl Martyniuk <vasyl@vasyltech.com>
|
8 |
Author URI: http://www.vasyltech.com
|
9 |
|
@@ -97,7 +97,11 @@ class AAM {
|
|
97 |
* @access public
|
98 |
*/
|
99 |
public static function isAAM() {
|
100 |
-
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
|
103 |
/**
|
@@ -110,7 +114,9 @@ class AAM {
|
|
110 |
*/
|
111 |
public static function getInstance() {
|
112 |
if (is_null(self::$_instance)) {
|
113 |
-
load_plugin_textdomain(
|
|
|
|
|
114 |
self::$_instance = new self;
|
115 |
}
|
116 |
|
@@ -129,8 +135,8 @@ class AAM {
|
|
129 |
public static function cron() {
|
130 |
//grab the server extension list
|
131 |
$response = AAM_Core_Server::check();
|
132 |
-
if (!
|
133 |
-
AAM_Core_API::updateOption('aam-extension-
|
134 |
}
|
135 |
}
|
136 |
|
@@ -142,7 +148,7 @@ class AAM {
|
|
142 |
* @access public
|
143 |
*/
|
144 |
public static function activate() {
|
145 |
-
global $
|
146 |
|
147 |
//check PHP Version
|
148 |
if (version_compare(PHP_VERSION, '5.2') == -1) {
|
@@ -152,13 +158,10 @@ class AAM {
|
|
152 |
}
|
153 |
|
154 |
//create an wp-content/aam folder if does not exist
|
155 |
-
|
156 |
-
|
157 |
-
$
|
158 |
-
|
159 |
-
//make sure that we have always content dir
|
160 |
-
if ($wp_filesystem->exists($wp_content . '/aam') === false) {
|
161 |
-
$wp_filesystem->mkdir($wp_content . '/aam');
|
162 |
}
|
163 |
}
|
164 |
|
@@ -172,17 +175,17 @@ class AAM {
|
|
172 |
* @access public
|
173 |
*/
|
174 |
public static function uninstall() {
|
175 |
-
global $wp_filesystem;
|
176 |
-
|
177 |
//trigger any uninstall hook that is registered by any extension
|
178 |
do_action('aam-uninstall-action');
|
179 |
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
|
|
|
|
186 |
}
|
187 |
|
188 |
}
|
@@ -191,6 +194,7 @@ if (defined('ABSPATH')) {
|
|
191 |
//define few common constants
|
192 |
define('AAM_MEDIA', plugins_url('/media', __FILE__));
|
193 |
define('AAM_KEY', 'advanced-access-manager');
|
|
|
194 |
|
195 |
//register autoloader
|
196 |
require (dirname(__FILE__) . '/autoloader.php');
|
3 |
/**
|
4 |
Plugin Name: Advanced Access Manager
|
5 |
Description: Manage User and Role Access to WordPress Backend and Frontend.
|
6 |
+
Version: 3.1
|
7 |
Author: Vasyl Martyniuk <vasyl@vasyltech.com>
|
8 |
Author URI: http://www.vasyltech.com
|
9 |
|
97 |
* @access public
|
98 |
*/
|
99 |
public static function isAAM() {
|
100 |
+
$page = AAM_Core_Request::get('page');
|
101 |
+
$action = AAM_Core_Request::post('action');
|
102 |
+
$intersect = array_intersect(array('aam', 'aamc'), array($page, $action));
|
103 |
+
|
104 |
+
return (is_admin() && count($intersect));
|
105 |
}
|
106 |
|
107 |
/**
|
114 |
*/
|
115 |
public static function getInstance() {
|
116 |
if (is_null(self::$_instance)) {
|
117 |
+
load_plugin_textdomain(
|
118 |
+
AAM_KEY, false, dirname(plugin_basename(__FILE__)) . '/Lang/'
|
119 |
+
);
|
120 |
self::$_instance = new self;
|
121 |
}
|
122 |
|
135 |
public static function cron() {
|
136 |
//grab the server extension list
|
137 |
$response = AAM_Core_Server::check();
|
138 |
+
if (!empty($response)) {
|
139 |
+
AAM_Core_API::updateOption('aam-extension-repository', $response);
|
140 |
}
|
141 |
}
|
142 |
|
148 |
* @access public
|
149 |
*/
|
150 |
public static function activate() {
|
151 |
+
global $wp_version;
|
152 |
|
153 |
//check PHP Version
|
154 |
if (version_compare(PHP_VERSION, '5.2') == -1) {
|
158 |
}
|
159 |
|
160 |
//create an wp-content/aam folder if does not exist
|
161 |
+
$dirname = WP_CONTENT_DIR . '/aam';
|
162 |
+
|
163 |
+
if (file_exists($dirname) === false) {
|
164 |
+
@mkdir($dirname, fileperms( ABSPATH ) & 0777 | 0755);
|
|
|
|
|
|
|
165 |
}
|
166 |
}
|
167 |
|
175 |
* @access public
|
176 |
*/
|
177 |
public static function uninstall() {
|
|
|
|
|
178 |
//trigger any uninstall hook that is registered by any extension
|
179 |
do_action('aam-uninstall-action');
|
180 |
|
181 |
+
//remove aam directory if exists
|
182 |
+
$dirname = WP_CONTENT_DIR . '/aam';
|
183 |
+
if (file_exists($dirname)) {
|
184 |
+
AAM_Core_API::removeDirectory($dirname);
|
185 |
+
}
|
186 |
+
|
187 |
+
//clear schedules
|
188 |
+
wp_clear_scheduled_hook('aam-cron');
|
189 |
}
|
190 |
|
191 |
}
|
194 |
//define few common constants
|
195 |
define('AAM_MEDIA', plugins_url('/media', __FILE__));
|
196 |
define('AAM_KEY', 'advanced-access-manager');
|
197 |
+
define('AAM_BASE', dirname(__FILE__));
|
198 |
|
199 |
//register autoloader
|
200 |
require (dirname(__FILE__) . '/autoloader.php');
|
media/css/aam.css
CHANGED
@@ -88,6 +88,9 @@
|
|
88 |
.icon-download-cloud:before { content: '\e818'; } /* '' */
|
89 |
.icon-github:before { content: '\e819'; } /* '' */
|
90 |
.icon-twitter:before { content: '\e81a'; } /* '' */
|
|
|
|
|
|
|
91 |
|
92 |
.animate-spin {
|
93 |
-moz-animation: spin 2s infinite linear;
|
@@ -201,6 +204,10 @@ html, body {
|
|
201 |
cursor: auto;
|
202 |
}
|
203 |
|
|
|
|
|
|
|
|
|
204 |
/** BOOTSTRAP **/
|
205 |
.row {
|
206 |
position: relative;
|
@@ -361,6 +368,11 @@ table.table-bordered.dataTable tbody th, table.table-bordered.dataTable tbody td
|
|
361 |
}
|
362 |
|
363 |
/** AAM **/
|
|
|
|
|
|
|
|
|
|
|
364 |
input[type=checkbox] { /* to hide the checkbox itself */
|
365 |
display:none;
|
366 |
}
|
@@ -395,6 +407,14 @@ input[type="checkbox"]:focus, input[type="radio"]:focus {
|
|
395 |
margin-right: 0;
|
396 |
}
|
397 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
398 |
.aam-lock {
|
399 |
position: absolute;
|
400 |
top: 0;
|
@@ -434,6 +454,42 @@ input[type="checkbox"]:focus, input[type="radio"]:focus {
|
|
434 |
border: 1px solid #E5E5E5;
|
435 |
}
|
436 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
437 |
.row.aam-bordered {
|
438 |
margin-left: 0;
|
439 |
margin-right: 0;
|
@@ -483,18 +539,28 @@ input[type="checkbox"]:focus, input[type="radio"]:focus {
|
|
483 |
}
|
484 |
|
485 |
.aam-sticky-note {
|
486 |
-
position:
|
487 |
-
top:
|
488 |
-
|
489 |
-
|
490 |
-webkit-box-shadow: 0px 0px 12px 2px rgba(100,100,100,1);
|
491 |
-moz-box-shadow: 0px 0px 12px 2px rgba(100,100,100,1);
|
492 |
box-shadow: 0px 0px 12px 2px rgba(100,100,100,1);
|
493 |
-
font-size: 1.
|
494 |
font-weight: 500;
|
495 |
padding: 15px;
|
|
|
496 |
z-index: 999;
|
497 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
498 |
}
|
499 |
|
500 |
.aam-submenu-item label {
|
@@ -536,9 +602,25 @@ input[type="checkbox"]:focus, input[type="radio"]:focus {
|
|
536 |
padding: 10px;
|
537 |
}
|
538 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
539 |
.aam-help-menu {
|
540 |
float: right;
|
541 |
-
font-size:
|
542 |
color: #337ab7;
|
543 |
cursor: pointer;
|
544 |
}
|
@@ -605,14 +687,23 @@ input[type="checkbox"]:focus, input[type="radio"]:focus {
|
|
605 |
margin-bottom: 20px;
|
606 |
}
|
607 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
608 |
.aam-notification {
|
609 |
border-left: 6px solid #F04748;
|
610 |
background-color: #F5F5F5;
|
611 |
padding: 10px;
|
612 |
position: relative;
|
613 |
-
|
614 |
-
|
615 |
-
|
|
|
|
|
616 |
}
|
617 |
|
618 |
.aam-notification-icon {
|
@@ -658,53 +749,6 @@ input[type="checkbox"]:focus, input[type="radio"]:focus {
|
|
658 |
text-align: justify;
|
659 |
}
|
660 |
|
661 |
-
.aam-welcome-message {
|
662 |
-
background-color: #f1f1f1;
|
663 |
-
color: #333333;
|
664 |
-
position: absolute;
|
665 |
-
top: 20px;
|
666 |
-
right: 20px;
|
667 |
-
width: 0;
|
668 |
-
opacity: 0;
|
669 |
-
padding: 10px 30px 15px 30px;
|
670 |
-
z-index: 10000;
|
671 |
-
visibility: hidden;
|
672 |
-
-webkit-transition: all .5s ease-in-out;
|
673 |
-
-moz-transition: all .5s ease-in-out;
|
674 |
-
-o-transition: all .5s ease-in-out;
|
675 |
-
transition: all .5s ease-in-out;
|
676 |
-
-webkit-transition-delay: 1s;
|
677 |
-
-moz-transition-delay: 1s;
|
678 |
-
-o-transition-delay: 1s;
|
679 |
-
transition-delay: 1s;
|
680 |
-
}
|
681 |
-
|
682 |
-
.aam-welcome-message.active {
|
683 |
-
width: calc(100% - 15px);
|
684 |
-
width: -moz-calc(100% - 15px);
|
685 |
-
height: auto;
|
686 |
-
opacity: 1;
|
687 |
-
visibility: visible;
|
688 |
-
}
|
689 |
-
|
690 |
-
.aam-welcome-message h1 {
|
691 |
-
font-size: 2.2em;
|
692 |
-
}
|
693 |
-
|
694 |
-
.aam-welcome-message ul {
|
695 |
-
list-style: disc;
|
696 |
-
margin-left: 30px;
|
697 |
-
font-size: 1.2em;
|
698 |
-
}
|
699 |
-
|
700 |
-
.aam-welcome-message .aam-notification-container ul {
|
701 |
-
list-style: none;
|
702 |
-
}
|
703 |
-
|
704 |
-
.aam-welcome-message p {
|
705 |
-
font-size: 1.2em;
|
706 |
-
}
|
707 |
-
|
708 |
.dataTables_processing {
|
709 |
border: 1px solid #cccccc;
|
710 |
color: #337ab7;
|
@@ -728,4 +772,9 @@ input[type="checkbox"]:focus, input[type="radio"]:focus {
|
|
728 |
|
729 |
.aam-current-subject strong {
|
730 |
text-transform: capitalize;
|
|
|
|
|
|
|
|
|
|
|
731 |
}
|
88 |
.icon-download-cloud:before { content: '\e818'; } /* '' */
|
89 |
.icon-github:before { content: '\e819'; } /* '' */
|
90 |
.icon-twitter:before { content: '\e81a'; } /* '' */
|
91 |
+
.icon-sort-down:before { content: '\e81b'; } /* '' */
|
92 |
+
.icon-sort-up:before { content: '\e81c'; } /* '' */
|
93 |
+
.icon-sort:before { content: '\e81d'; } /* '' */
|
94 |
|
95 |
.animate-spin {
|
96 |
-moz-animation: spin 2s infinite linear;
|
204 |
cursor: auto;
|
205 |
}
|
206 |
|
207 |
+
.hndle a {
|
208 |
+
font-size: 1em;
|
209 |
+
}
|
210 |
+
|
211 |
/** BOOTSTRAP **/
|
212 |
.row {
|
213 |
position: relative;
|
368 |
}
|
369 |
|
370 |
/** AAM **/
|
371 |
+
#capability-groups {
|
372 |
+
right: 0;
|
373 |
+
left: auto;
|
374 |
+
}
|
375 |
+
|
376 |
input[type=checkbox] { /* to hide the checkbox itself */
|
377 |
display:none;
|
378 |
}
|
407 |
margin-right: 0;
|
408 |
}
|
409 |
|
410 |
+
.aam-outer-top-xs {
|
411 |
+
margin-top: 30px;
|
412 |
+
}
|
413 |
+
|
414 |
+
.aam-block {
|
415 |
+
display: block;
|
416 |
+
}
|
417 |
+
|
418 |
.aam-lock {
|
419 |
position: absolute;
|
420 |
top: 0;
|
454 |
border: 1px solid #E5E5E5;
|
455 |
}
|
456 |
|
457 |
+
.aam-inherited {
|
458 |
+
padding: 5px 15px;
|
459 |
+
background-color: #337ab7;
|
460 |
+
color: #FFFFFF;
|
461 |
+
font-weight: 700;
|
462 |
+
margin-bottom: 15px;
|
463 |
+
letter-spacing: 1px;
|
464 |
+
}
|
465 |
+
|
466 |
+
.aam-overwrite {
|
467 |
+
padding: 5px 15px;
|
468 |
+
background-color: #f0ad4e;
|
469 |
+
color: #FFFFFF;
|
470 |
+
font-weight: 700;
|
471 |
+
margin-bottom: 15px;
|
472 |
+
letter-spacing: 1px;
|
473 |
+
}
|
474 |
+
|
475 |
+
.aam-overwrite a, .aam-inherited a{
|
476 |
+
color: #FFFFFF;
|
477 |
+
}
|
478 |
+
|
479 |
+
.aam-overwrite:after, .aam-inherited:after {
|
480 |
+
display: inline-block;
|
481 |
+
content: '';
|
482 |
+
clear: both;
|
483 |
+
}
|
484 |
+
|
485 |
+
.aam-overwrite span:first-child, .aam-inherited span:first-child {
|
486 |
+
float: left;
|
487 |
+
}
|
488 |
+
|
489 |
+
.aam-overwrite span:last-child, .aam-inherited span:last-child {
|
490 |
+
float: right;
|
491 |
+
}
|
492 |
+
|
493 |
.row.aam-bordered {
|
494 |
margin-left: 0;
|
495 |
margin-right: 0;
|
539 |
}
|
540 |
|
541 |
.aam-sticky-note {
|
542 |
+
position: fixed;
|
543 |
+
top: 32px;
|
544 |
+
left: 160px;
|
545 |
+
width: calc(100% - 160px);
|
546 |
-webkit-box-shadow: 0px 0px 12px 2px rgba(100,100,100,1);
|
547 |
-moz-box-shadow: 0px 0px 12px 2px rgba(100,100,100,1);
|
548 |
box-shadow: 0px 0px 12px 2px rgba(100,100,100,1);
|
549 |
+
font-size: 1.5em;
|
550 |
font-weight: 500;
|
551 |
padding: 15px;
|
552 |
+
text-align: center;
|
553 |
z-index: 999;
|
554 |
+
color: #FFFFFF;
|
555 |
+
letter-spacing: 1px;
|
556 |
+
}
|
557 |
+
|
558 |
+
.aam-sticky-note.danger {
|
559 |
+
background-color: #a94442;
|
560 |
+
}
|
561 |
+
|
562 |
+
.aam-sticky-note.success {
|
563 |
+
background-color: #5cb85c;
|
564 |
}
|
565 |
|
566 |
.aam-submenu-item label {
|
602 |
padding: 10px;
|
603 |
}
|
604 |
|
605 |
+
.aam-extension-installed {
|
606 |
+
border: 1px solid transparent;
|
607 |
+
display: inline-block;
|
608 |
+
font-size: 14px;
|
609 |
+
font-weight: 400;
|
610 |
+
line-height: 1.42857;
|
611 |
+
margin-bottom: 0;
|
612 |
+
padding: 6px 12px;
|
613 |
+
text-align: center;
|
614 |
+
vertical-align: middle;
|
615 |
+
white-space: nowrap;
|
616 |
+
background-color: #666666;
|
617 |
+
color: #FFFFFF;
|
618 |
+
width: 100%;
|
619 |
+
}
|
620 |
+
|
621 |
.aam-help-menu {
|
622 |
float: right;
|
623 |
+
font-size: 1em;
|
624 |
color: #337ab7;
|
625 |
cursor: pointer;
|
626 |
}
|
687 |
margin-bottom: 20px;
|
688 |
}
|
689 |
|
690 |
+
.aam-info-modal, .aam-info-modal p, .aam-info-modal ul {
|
691 |
+
font-size: 1.1em;
|
692 |
+
-moz-hyphens: auto;
|
693 |
+
word-wrap: break-word;
|
694 |
+
text-align: justify;
|
695 |
+
}
|
696 |
+
|
697 |
.aam-notification {
|
698 |
border-left: 6px solid #F04748;
|
699 |
background-color: #F5F5F5;
|
700 |
padding: 10px;
|
701 |
position: relative;
|
702 |
+
}
|
703 |
+
|
704 |
+
.aam-numeric-list {
|
705 |
+
list-style: decimal;
|
706 |
+
padding-left: 15px;
|
707 |
}
|
708 |
|
709 |
.aam-notification-icon {
|
749 |
text-align: justify;
|
750 |
}
|
751 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
752 |
.dataTables_processing {
|
753 |
border: 1px solid #cccccc;
|
754 |
color: #337ab7;
|
772 |
|
773 |
.aam-current-subject strong {
|
774 |
text-transform: capitalize;
|
775 |
+
}
|
776 |
+
|
777 |
+
.table h4 {
|
778 |
+
margin-top: 5px;
|
779 |
+
margin-bottom: 5px;
|
780 |
}
|
media/css/datatables.min.css
CHANGED
@@ -80,14 +80,17 @@ table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,ta
|
|
80 |
right: 8px;
|
81 |
}
|
82 |
table.dataTable thead .sorting:after {
|
83 |
-
|
|
|
84 |
opacity: 0.2;
|
85 |
}
|
86 |
table.dataTable thead .sorting_asc:after {
|
87 |
-
|
|
|
88 |
}
|
89 |
table.dataTable thead .sorting_desc:after {
|
90 |
-
|
|
|
91 |
}
|
92 |
table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after {
|
93 |
color: #eee;
|
@@ -233,4 +236,8 @@ table.dataTable>tbody>tr.child span.dtr-title {
|
|
233 |
display: inline-block;
|
234 |
font-weight: bold;
|
235 |
min-width: 75px;
|
|
|
|
|
|
|
|
|
236 |
}
|
80 |
right: 8px;
|
81 |
}
|
82 |
table.dataTable thead .sorting:after {
|
83 |
+
font-family: "fontello";
|
84 |
+
content: "\e81d";
|
85 |
opacity: 0.2;
|
86 |
}
|
87 |
table.dataTable thead .sorting_asc:after {
|
88 |
+
font-family: "fontello";
|
89 |
+
content: "\e81b";
|
90 |
}
|
91 |
table.dataTable thead .sorting_desc:after {
|
92 |
+
font-family: "fontello";
|
93 |
+
content: "\e81c";
|
94 |
}
|
95 |
table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after {
|
96 |
color: #eee;
|
236 |
display: inline-block;
|
237 |
font-weight: bold;
|
238 |
min-width: 75px;
|
239 |
+
}
|
240 |
+
|
241 |
+
.table small {
|
242 |
+
color: #777777;
|
243 |
}
|
media/font/fontello.eot
CHANGED
Binary file
|
media/font/fontello.svg
CHANGED
@@ -33,6 +33,9 @@
|
|
33 |
<glyph glyph-name="download-cloud" unicode="" d="m714 332q0 8-5 13t-13 5h-125v196q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-196h-125q-8 0-13-5t-5-13q0-8 5-13l196-196q5-5 13-5t13 5l196 196q5 6 5 13z m357-125q0-89-62-151t-152-63h-607q-103 0-177 73t-73 177q0 72 39 134t105 92q-1 17-1 24 0 118 84 202t202 84q87 0 159-49t105-129q40 35 93 35 59 0 101-42t42-101q0-43-23-77 72-17 119-76t46-133z" horiz-adv-x="1071.4" />
|
34 |
<glyph glyph-name="github" unicode="" d="m357 171q0-22-7-45t-24-43-40-19-41 19-24 43-7 45 7 46 24 43 41 19 40-19 24-43 7-46z m357 0q0-22-7-45t-24-43-40-19-41 19-24 43-7 45 7 46 24 43 41 19 40-19 24-43 7-46z m90 0q0 67-39 114t-104 47q-23 0-109-12-40-6-88-6t-87 6q-85 12-109 12-66 0-104-47t-39-114q0-49 18-85t45-58 68-33 78-17 83-4h94q46 0 83 4t78 17 69 33 45 58 18 85z m125 99q0-116-34-185-22-43-59-74t-79-48-95-27-96-12-93-3q-43 0-79 2t-82 7-85 17-77 28-67 46-48 64q-35 69-35 185 0 132 76 221-15 45-15 94 0 65 28 122 61 0 106-22t106-69q82 20 172 20 83 0 156-18 59 46 105 67t105 22q29-57 29-122 0-48-15-93 76-90 76-222z" horiz-adv-x="928.6" />
|
35 |
<glyph glyph-name="twitter" unicode="" d="m904 622q-37-54-90-93 0-8 0-23 0-73-21-145t-64-139-103-117-144-82-181-30q-151 0-276 81 19-3 43-3 126 0 224 77-59 2-105 36t-64 89q19-2 34-2 24 0 48 6-63 13-104 62t-41 115v2q38-21 82-23-37 25-59 64t-22 86q0 49 25 91 68-83 164-133t208-55q-5 21-5 41 0 75 53 127t127 53q79 0 132-57 61 12 114 44-20-64-79-100 52 6 104 28z" horiz-adv-x="928.6" />
|
|
|
|
|
|
|
36 |
</font>
|
37 |
</defs>
|
38 |
</svg>
|
33 |
<glyph glyph-name="download-cloud" unicode="" d="m714 332q0 8-5 13t-13 5h-125v196q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-196h-125q-8 0-13-5t-5-13q0-8 5-13l196-196q5-5 13-5t13 5l196 196q5 6 5 13z m357-125q0-89-62-151t-152-63h-607q-103 0-177 73t-73 177q0 72 39 134t105 92q-1 17-1 24 0 118 84 202t202 84q87 0 159-49t105-129q40 35 93 35 59 0 101-42t42-101q0-43-23-77 72-17 119-76t46-133z" horiz-adv-x="1071.4" />
|
34 |
<glyph glyph-name="github" unicode="" d="m357 171q0-22-7-45t-24-43-40-19-41 19-24 43-7 45 7 46 24 43 41 19 40-19 24-43 7-46z m357 0q0-22-7-45t-24-43-40-19-41 19-24 43-7 45 7 46 24 43 41 19 40-19 24-43 7-46z m90 0q0 67-39 114t-104 47q-23 0-109-12-40-6-88-6t-87 6q-85 12-109 12-66 0-104-47t-39-114q0-49 18-85t45-58 68-33 78-17 83-4h94q46 0 83 4t78 17 69 33 45 58 18 85z m125 99q0-116-34-185-22-43-59-74t-79-48-95-27-96-12-93-3q-43 0-79 2t-82 7-85 17-77 28-67 46-48 64q-35 69-35 185 0 132 76 221-15 45-15 94 0 65 28 122 61 0 106-22t106-69q82 20 172 20 83 0 156-18 59 46 105 67t105 22q29-57 29-122 0-48-15-93 76-90 76-222z" horiz-adv-x="928.6" />
|
35 |
<glyph glyph-name="twitter" unicode="" d="m904 622q-37-54-90-93 0-8 0-23 0-73-21-145t-64-139-103-117-144-82-181-30q-151 0-276 81 19-3 43-3 126 0 224 77-59 2-105 36t-64 89q19-2 34-2 24 0 48 6-63 13-104 62t-41 115v2q38-21 82-23-37 25-59 64t-22 86q0 49 25 91 68-83 164-133t208-55q-5 21-5 41 0 75 53 127t127 53q79 0 132-57 61 12 114 44-20-64-79-100 52 6 104 28z" horiz-adv-x="928.6" />
|
36 |
+
<glyph glyph-name="sort-down" unicode="" d="m571 243q0-15-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 10-11 25t11 25 25 11h500q14 0 25-11t10-25z" horiz-adv-x="571.4" />
|
37 |
+
<glyph glyph-name="sort-up" unicode="" d="m571 457q0-14-10-25t-25-11h-500q-15 0-25 11t-11 25 11 25l250 250q10 11 25 11t25-11l250-250q10-10 10-25z" horiz-adv-x="571.4" />
|
38 |
+
<glyph glyph-name="sort" unicode="" d="m571 243q0-15-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 10-11 25t11 25 25 11h500q14 0 25-11t10-25z m0 214q0-14-10-25t-25-11h-500q-15 0-25 11t-11 25 11 25l250 250q10 11 25 11t25-11l250-250q10-10 10-25z" horiz-adv-x="571.4" />
|
39 |
</font>
|
40 |
</defs>
|
41 |
</svg>
|
media/font/fontello.ttf
CHANGED
Binary file
|
media/font/fontello.woff
CHANGED
Binary file
|
media/js/aam-hook.js
CHANGED
@@ -13,4 +13,4 @@ AAM_PageError = false;
|
|
13 |
callback.call(null, msg, url, line, col, error);
|
14 |
}
|
15 |
};
|
16 |
-
})();
|
13 |
callback.call(null, msg, url, line, col, error);
|
14 |
}
|
15 |
};
|
16 |
+
})();
|
media/js/aam-ui.js
CHANGED
@@ -13,7 +13,7 @@
|
|
13 |
* @returns {void}
|
14 |
*/
|
15 |
(function ($) {
|
16 |
-
|
17 |
/**
|
18 |
*
|
19 |
* @param {type} id
|
@@ -21,7 +21,7 @@
|
|
21 |
*/
|
22 |
function isCurrent(id) {
|
23 |
var subject = aam.getSubject();
|
24 |
-
|
25 |
return (subject.type === 'role' && subject.id === id);
|
26 |
}
|
27 |
|
@@ -45,7 +45,7 @@
|
|
45 |
},
|
46 |
success: function (response) {
|
47 |
$('#inherit-role-list').html(
|
48 |
-
|
49 |
);
|
50 |
for (var i in response) {
|
51 |
$('#inherit-role-list').append(
|
@@ -59,7 +59,7 @@
|
|
59 |
//initialize the role list table
|
60 |
$('#role-list').DataTable({
|
61 |
autoWidth: false,
|
62 |
-
ordering:
|
63 |
dom: 'ftrip',
|
64 |
pagingType: 'simple',
|
65 |
processing: true,
|
@@ -74,7 +74,8 @@
|
|
74 |
}
|
75 |
},
|
76 |
columnDefs: [
|
77 |
-
{visible: false, targets: [0, 1]}
|
|
|
78 |
],
|
79 |
language: {
|
80 |
search: '_INPUT_',
|
@@ -84,12 +85,12 @@
|
|
84 |
},
|
85 |
initComplete: function () {
|
86 |
var create = $('<a/>', {
|
87 |
-
'href'
|
88 |
-
'class'
|
89 |
}).html('<i class="icon-plus"></i> ' + aam.__('Create'))
|
90 |
-
|
91 |
event.preventDefault();
|
92 |
-
|
93 |
//clear add role form first
|
94 |
$('#new-role-name', '#add-role-modal').val('');
|
95 |
fetchRoleList();
|
@@ -107,14 +108,14 @@
|
|
107 |
} else {
|
108 |
$('td:eq(0)', row).html('<span>' + data[2] + '</span>');
|
109 |
}
|
110 |
-
|
111 |
//add subtitle
|
112 |
$('td:eq(0)', row).append(
|
113 |
$('<i/>', {'class': 'aam-row-subtitle'}).text(
|
114 |
aam.__('Users') + ': ' + parseInt(data[1])
|
115 |
)
|
116 |
);
|
117 |
-
|
118 |
var actions = data[3].split(',');
|
119 |
|
120 |
var container = $('<div/>', {'class': 'aam-row-actions'});
|
@@ -123,20 +124,23 @@
|
|
123 |
case 'manage':
|
124 |
$(container).append($('<i/>', {
|
125 |
'class': 'aam-row-action icon-cog text-info'
|
126 |
-
}).bind('click', function() {
|
127 |
aam.setSubject('role', data[0], data[2]);
|
128 |
$('td:eq(0) span', row).replaceWith(
|
129 |
'<strong>' + data[2] + '</strong>'
|
130 |
-
|
131 |
$('i.icon-cog', container).attr(
|
132 |
-
|
133 |
-
|
134 |
aam.fetchContent();
|
135 |
$('i.icon-spin4', container).attr(
|
136 |
-
|
137 |
-
|
138 |
//Show add capability that may be hidden after manager user
|
139 |
$('#add-capability').show();
|
|
|
|
|
|
|
140 |
}));
|
141 |
break;
|
142 |
|
@@ -149,6 +153,9 @@
|
|
149 |
$('#edit-role-modal').modal('show').on('shown.bs.modal', function () {
|
150 |
$('#edit-role-name').focus();
|
151 |
});
|
|
|
|
|
|
|
152 |
}));
|
153 |
break;
|
154 |
|
@@ -159,13 +166,16 @@
|
|
159 |
$('#delete-role-btn').data('role', data[0]);
|
160 |
var message = $('#delete-role-modal .aam-confirm-message').data('message');
|
161 |
$('#delete-role-modal .aam-confirm-message').html(
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
|
168 |
$('#delete-role-modal').modal('show');
|
|
|
|
|
|
|
169 |
}));
|
170 |
break;
|
171 |
|
@@ -217,7 +227,7 @@
|
|
217 |
} else {
|
218 |
aam.notification(
|
219 |
'danger', aam.__('Failed to add new role')
|
220 |
-
|
221 |
}
|
222 |
},
|
223 |
error: function () {
|
@@ -259,7 +269,7 @@
|
|
259 |
$('#role-list').DataTable().ajax.reload();
|
260 |
} else {
|
261 |
aam.notification(
|
262 |
-
|
263 |
);
|
264 |
}
|
265 |
},
|
@@ -275,7 +285,7 @@
|
|
275 |
$('#edit-role-name').focus().parent().addClass('has-error');
|
276 |
}
|
277 |
});
|
278 |
-
|
279 |
//edit role button
|
280 |
$('#delete-role-btn').bind('click', function (event) {
|
281 |
var _this = this;
|
@@ -301,7 +311,7 @@
|
|
301 |
}
|
302 |
},
|
303 |
error: function () {
|
304 |
-
|
305 |
},
|
306 |
complete: function () {
|
307 |
$('#delete-role-modal').modal('hide');
|
@@ -309,7 +319,7 @@
|
|
309 |
}
|
310 |
});
|
311 |
});
|
312 |
-
|
313 |
//add setSubject hook
|
314 |
aam.addHook('setSubject', function () {
|
315 |
//clear highlight
|
@@ -322,7 +332,7 @@
|
|
322 |
//show post & pages access control groups that belong to backend
|
323 |
$('.aam-backend-post-access').show();
|
324 |
});
|
325 |
-
|
326 |
//in case interface needed to be reloaded
|
327 |
aam.addHook('refresh', function () {
|
328 |
$('#role-list').DataTable().ajax.url(aamLocal.ajaxurl).load();
|
@@ -339,7 +349,7 @@
|
|
339 |
* @returns {void}
|
340 |
*/
|
341 |
(function ($) {
|
342 |
-
|
343 |
/**
|
344 |
*
|
345 |
* @param {type} id
|
@@ -347,10 +357,10 @@
|
|
347 |
*/
|
348 |
function isCurrent(id) {
|
349 |
var subject = aam.getSubject();
|
350 |
-
|
351 |
return (subject.type === 'user' && parseInt(subject.id) === id);
|
352 |
}
|
353 |
-
|
354 |
/**
|
355 |
*
|
356 |
* @param {type} id
|
@@ -359,7 +369,7 @@
|
|
359 |
*/
|
360 |
function blockUser(id, btn) {
|
361 |
var state = ($(btn).hasClass('icon-lock') ? 0 : 1);
|
362 |
-
|
363 |
$.ajax(aamLocal.ajaxurl, {
|
364 |
type: 'POST',
|
365 |
dataType: 'json',
|
@@ -376,20 +386,22 @@
|
|
376 |
success: function (response) {
|
377 |
if (response.status === 'success') {
|
378 |
if (state === 1) {
|
379 |
-
$(btn).attr(
|
380 |
-
|
381 |
-
|
382 |
-
|
|
|
383 |
} else {
|
384 |
-
$(btn).attr(
|
385 |
-
|
386 |
-
|
387 |
-
|
|
|
388 |
}
|
389 |
} else {
|
390 |
aam.notification(
|
391 |
-
|
392 |
-
|
393 |
}
|
394 |
},
|
395 |
error: function () {
|
@@ -397,7 +409,7 @@
|
|
397 |
}
|
398 |
});
|
399 |
}
|
400 |
-
|
401 |
//initialize the user list table
|
402 |
$('#user-list').DataTable({
|
403 |
autoWidth: false,
|
@@ -425,9 +437,9 @@
|
|
425 |
infoFiltered: ''
|
426 |
},
|
427 |
initComplete: function () {
|
428 |
-
|
429 |
-
'href'
|
430 |
-
'class'
|
431 |
}).html('<i class="icon-plus"></i> ' + aam.__('Create')).bind('click', function (event) {
|
432 |
event.preventDefault();
|
433 |
window.open(aamLocal.url.addUser, '_blank');
|
@@ -441,14 +453,14 @@
|
|
441 |
} else {
|
442 |
$('td:eq(0)', row).html('<span>' + data[2] + '</span>');
|
443 |
}
|
444 |
-
|
445 |
//add subtitle
|
446 |
$('td:eq(0)', row).append(
|
447 |
-
|
448 |
aam.__('Role') + ': ' + data[1]
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
var actions = data[3].split(',');
|
453 |
|
454 |
var container = $('<div/>', {'class': 'aam-row-actions'});
|
@@ -457,19 +469,22 @@
|
|
457 |
case 'manage':
|
458 |
$(container).append($('<i/>', {
|
459 |
'class': 'aam-row-action icon-cog text-info'
|
460 |
-
}).bind('click', function() {
|
461 |
aam.setSubject('user', data[0], data[2]);
|
462 |
$('td:eq(0) span', row).replaceWith(
|
463 |
'<strong>' + data[2] + '</strong>'
|
464 |
-
|
465 |
$('i.icon-cog', container).attr('class', 'aam-row-action icon-spin4 animate-spin');
|
466 |
aam.fetchContent();
|
467 |
$('i.icon-spin4', container).attr('class', 'aam-row-action icon-cog text-info');
|
468 |
//make sure that there is no way user add's new capability
|
469 |
$('#add-capability').hide();
|
|
|
|
|
|
|
470 |
}));
|
471 |
break;
|
472 |
-
|
473 |
case 'no-manage':
|
474 |
$(container).append($('<i/>', {
|
475 |
'class': 'aam-row-action icon-cog text-muted'
|
@@ -483,11 +498,14 @@
|
|
483 |
'class': 'aam-row-action icon-pencil text-warning'
|
484 |
}).bind('click', function () {
|
485 |
window.open(
|
486 |
-
|
487 |
-
|
|
|
|
|
|
|
488 |
}));
|
489 |
break;
|
490 |
-
|
491 |
case 'no-edit':
|
492 |
$(container).append($('<i/>', {
|
493 |
'class': 'aam-row-action icon-pencil text-muted'
|
@@ -501,19 +519,25 @@
|
|
501 |
'class': 'aam-row-action icon-lock-open-alt text-warning'
|
502 |
}).bind('click', function () {
|
503 |
blockUser(data[0], $(this));
|
|
|
|
|
|
|
504 |
}));
|
505 |
break;
|
506 |
-
|
507 |
case 'unlock':
|
508 |
$(container).append($('<i/>', {
|
509 |
'class': 'aam-row-action icon-lock text-danger'
|
510 |
}).bind('click', function () {
|
511 |
blockUser(data[0], $(this));
|
|
|
|
|
|
|
512 |
}));
|
513 |
break;
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
$(container).append($('<i/>', {
|
518 |
'class': 'aam-row-action icon-lock text-muted'
|
519 |
}).bind('click', function () {
|
@@ -521,14 +545,33 @@
|
|
521 |
}));
|
522 |
break;
|
523 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
524 |
default:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
525 |
break;
|
526 |
}
|
527 |
});
|
528 |
$('td:eq(1)', row).html(container);
|
529 |
}
|
530 |
});
|
531 |
-
|
532 |
//add setSubject hook
|
533 |
aam.addHook('setSubject', function () {
|
534 |
//clear highlight
|
@@ -541,12 +584,12 @@
|
|
541 |
//show post & pages access control groups that belong to backend
|
542 |
$('.aam-backend-post-access').show();
|
543 |
});
|
544 |
-
|
545 |
//in case interface needed to be reloaded
|
546 |
aam.addHook('refresh', function () {
|
547 |
$('#user-list').DataTable().ajax.url(aamLocal.ajaxurl).load();
|
548 |
});
|
549 |
-
|
550 |
})(jQuery);
|
551 |
|
552 |
|
@@ -597,29 +640,29 @@
|
|
597 |
function initialize() {
|
598 |
$('.aam-restrict-menu').each(function () {
|
599 |
$(this).bind('click', function () {
|
600 |
-
var status =
|
601 |
var target = $(this).data('target');
|
602 |
|
603 |
$('i', $(this)).attr('class', 'icon-spin4 animate-spin');
|
604 |
|
605 |
var result = aam.save($(this).data('menu-id'), status, 'menu');
|
606 |
-
|
607 |
if (result.status === 'success') {
|
608 |
-
if (status
|
609 |
$('input', target).each(function () {
|
610 |
$(this).attr('checked', true);
|
611 |
aam.save($(this).data('menu-id'), status, 'menu');
|
612 |
});
|
613 |
$('.aam-bordered', target).append(
|
614 |
$('<div/>', {'class': 'aam-lock'})
|
615 |
-
|
616 |
$(this).removeClass('btn-danger').addClass('btn-primary');
|
617 |
$(this).html(
|
618 |
-
|
619 |
-
|
620 |
//add menu restricted indicator
|
621 |
var ind = $('<i/>', {
|
622 |
-
'class'
|
623 |
});
|
624 |
$('.panel-title', target + '-heading').append(ind);
|
625 |
} else {
|
@@ -630,12 +673,12 @@
|
|
630 |
$('.aam-lock', target).remove();
|
631 |
$(this).removeClass('btn-primary').addClass('btn-danger');
|
632 |
$(this).html(
|
633 |
-
|
634 |
-
|
635 |
$('.panel-title .icon-eye-off', target + '-heading').remove();
|
636 |
}
|
637 |
} else {
|
638 |
-
$(this).attr('checked',
|
639 |
}
|
640 |
});
|
641 |
});
|
@@ -643,10 +686,34 @@
|
|
643 |
$('input[type="checkbox"]', '#admin-menu').each(function () {
|
644 |
$(this).bind('click', function () {
|
645 |
aam.save(
|
646 |
-
$(this).data('menu-id'),
|
|
|
|
|
647 |
);
|
648 |
});
|
649 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
650 |
}
|
651 |
|
652 |
aam.addHook('init', initialize);
|
@@ -716,8 +783,8 @@
|
|
716 |
getContent();
|
717 |
} else {
|
718 |
aam.notification(
|
719 |
-
|
720 |
-
|
721 |
}
|
722 |
},
|
723 |
error: function () {
|
@@ -726,21 +793,45 @@
|
|
726 |
complete: function () {
|
727 |
$('i', '#refresh-metabox-list').attr(
|
728 |
'class', 'icon-arrows-cw'
|
729 |
-
|
730 |
}
|
731 |
});
|
732 |
|
733 |
});
|
734 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
735 |
$('input[type="checkbox"]', '#metabox-list').each(function () {
|
736 |
$(this).bind('click', function () {
|
737 |
aam.save(
|
738 |
-
|
739 |
-
|
|
|
|
|
740 |
});
|
741 |
});
|
742 |
}
|
743 |
-
|
744 |
aam.addHook('init', initialize);
|
745 |
|
746 |
})(jQuery);
|
@@ -763,10 +854,10 @@
|
|
763 |
*/
|
764 |
function save(capability, btn) {
|
765 |
var granted = $(btn).hasClass('icon-check-empty') ? 1 : 0;
|
766 |
-
|
767 |
//show indicator
|
768 |
$(btn).attr('class', 'aam-row-action icon-spin4 animate-spin');
|
769 |
-
|
770 |
if (aam.save(capability, granted, 'capability').status === 'success') {
|
771 |
if (granted) {
|
772 |
$(btn).attr('class', 'aam-row-action text-success icon-check');
|
@@ -774,7 +865,7 @@
|
|
774 |
$(btn).attr('class', 'aam-row-action text-muted icon-check-empty');
|
775 |
}
|
776 |
} else {
|
777 |
-
|
778 |
aam.notification(
|
779 |
'danger', aam.__('Failed to grand capability - WordPress policy')
|
780 |
);
|
@@ -817,13 +908,16 @@
|
|
817 |
lengthMenu: '_MENU_'
|
818 |
},
|
819 |
createdRow: function (row, data) {
|
|
|
|
|
|
|
|
|
|
|
|
|
820 |
var actions = data[3].split(',');
|
821 |
|
822 |
var container = $('<div/>', {'class': 'aam-row-actions'});
|
823 |
$.each(actions, function (i, action) {
|
824 |
-
var checkbox = $('<input/>').attr({
|
825 |
-
'type': 'checkbox'
|
826 |
-
});
|
827 |
switch (action) {
|
828 |
case 'unchecked':
|
829 |
$(container).append($('<i/>', {
|
@@ -842,6 +936,11 @@
|
|
842 |
break;
|
843 |
|
844 |
default:
|
|
|
|
|
|
|
|
|
|
|
845 |
break;
|
846 |
}
|
847 |
});
|
@@ -849,11 +948,6 @@
|
|
849 |
}
|
850 |
});
|
851 |
|
852 |
-
//filter capability dropdown
|
853 |
-
$('#capability-filter').bind('click', function () {
|
854 |
-
$('.dropdown-menu').dropdown('toggle');
|
855 |
-
});
|
856 |
-
|
857 |
$('a', '#capability-groups').each(function () {
|
858 |
$(this).bind('click', function () {
|
859 |
var table = $('#capability-list').DataTable();
|
@@ -896,8 +990,8 @@
|
|
896 |
$('#capability-list').DataTable().ajax.reload();
|
897 |
} else {
|
898 |
aam.notification(
|
899 |
-
|
900 |
-
|
901 |
}
|
902 |
},
|
903 |
error: function () {
|
@@ -915,12 +1009,12 @@
|
|
915 |
$('#add-capability-modal').on('shown.bs.modal', function (e) {
|
916 |
$('#new-capability-name').focus();
|
917 |
});
|
918 |
-
|
919 |
//show or hide capability user note based on current subject
|
920 |
if (aam.getSubject().type === 'user') {
|
921 |
-
$('
|
922 |
} else {
|
923 |
-
$('
|
924 |
}
|
925 |
|
926 |
}
|
@@ -983,14 +1077,14 @@
|
|
983 |
function loadAccessForm(object, id, btn) {
|
984 |
//reset the form first
|
985 |
var container = $('.aam-post-manager[data-type="' + object + '"]');
|
986 |
-
|
987 |
-
$('.aam-row-action', container).each(function() {
|
988 |
$(this).attr({
|
989 |
-
'class'
|
990 |
-
'data-type'
|
991 |
-
'data-id'
|
992 |
});
|
993 |
-
|
994 |
//initialize each access property
|
995 |
$(this).unbind('click').bind('click', function (event) {
|
996 |
event.preventDefault();
|
@@ -1016,9 +1110,9 @@
|
|
1016 |
}
|
1017 |
}
|
1018 |
});
|
1019 |
-
|
1020 |
});
|
1021 |
-
|
1022 |
$.ajax(aamLocal.ajaxurl, {
|
1023 |
type: 'POST',
|
1024 |
dataType: 'json',
|
@@ -1033,15 +1127,36 @@
|
|
1033 |
},
|
1034 |
beforeSend: function () {
|
1035 |
$(btn).attr('class', 'aam-row-action icon-spin4 animate-spin');
|
|
|
1036 |
},
|
1037 |
success: function (response) {
|
1038 |
//iterate through each property
|
1039 |
-
for (var property in response) {
|
1040 |
-
var checked = (response[property] ? 'text-danger icon-check' : 'text-muted icon-check-empty');
|
1041 |
|
1042 |
$('[data-property="' + property + '"]', container).attr({
|
1043 |
-
'class'
|
1044 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1045 |
}
|
1046 |
|
1047 |
$('#post-list_wrapper').addClass('aam-hidden');
|
@@ -1055,7 +1170,7 @@
|
|
1055 |
}
|
1056 |
});
|
1057 |
}
|
1058 |
-
|
1059 |
/**
|
1060 |
*
|
1061 |
* @param {type} param
|
@@ -1066,7 +1181,7 @@
|
|
1066 |
*/
|
1067 |
function save(param, value, object, object_id) {
|
1068 |
var result = null;
|
1069 |
-
|
1070 |
$.ajax(aamLocal.ajaxurl, {
|
1071 |
type: 'POST',
|
1072 |
dataType: 'json',
|
@@ -1092,10 +1207,10 @@
|
|
1092 |
aam.notification('danger', aam.__('Application error'));
|
1093 |
}
|
1094 |
});
|
1095 |
-
|
1096 |
return result;
|
1097 |
-
}
|
1098 |
-
|
1099 |
/**
|
1100 |
*
|
1101 |
* @returns {undefined}
|
@@ -1103,7 +1218,7 @@
|
|
1103 |
function initialize() {
|
1104 |
//reset filter to default list of post types
|
1105 |
filter.type = null;
|
1106 |
-
|
1107 |
//initialize the role list table
|
1108 |
$('#post-list').DataTable({
|
1109 |
autoWidth: false,
|
@@ -1145,7 +1260,7 @@
|
|
1145 |
//reset the ajax queue
|
1146 |
queue = new Array();
|
1147 |
},
|
1148 |
-
|
1149 |
//object type icon
|
1150 |
switch (data[2]) {
|
1151 |
case 'type':
|
@@ -1170,7 +1285,7 @@
|
|
1170 |
//visual feedback - show loading icon
|
1171 |
$('td:eq(0)', row).html(
|
1172 |
'<i class="icon-spin4 animate-spin"></i>'
|
1173 |
-
|
1174 |
//set filter
|
1175 |
filter[data[2]] = data[0];
|
1176 |
//reset the ajax queue
|
@@ -1183,6 +1298,8 @@
|
|
1183 |
|
1184 |
}).html(data[3]);
|
1185 |
$('td:eq(1)', row).html(link);
|
|
|
|
|
1186 |
}
|
1187 |
|
1188 |
//add breadcrumb but only if not a type
|
@@ -1201,8 +1318,8 @@
|
|
1201 |
success: function (response) {
|
1202 |
if (response.status === 'success') {
|
1203 |
$('td:eq(1) span', row).html(
|
1204 |
-
|
1205 |
-
|
1206 |
}
|
1207 |
},
|
1208 |
error: function () {
|
@@ -1216,10 +1333,10 @@
|
|
1216 |
});
|
1217 |
});
|
1218 |
$('td:eq(1)', row).append(
|
1219 |
-
|
1220 |
aam.__('Loading...')
|
1221 |
-
|
1222 |
-
|
1223 |
}
|
1224 |
|
1225 |
//update the actions
|
@@ -1234,6 +1351,9 @@
|
|
1234 |
}).bind('click', function () {
|
1235 |
loadAccessForm(data[2], data[0], $(this));
|
1236 |
addBreadcrumbLevel('edit', data[2], data[3]);
|
|
|
|
|
|
|
1237 |
}));
|
1238 |
break;
|
1239 |
|
@@ -1242,9 +1362,11 @@
|
|
1242 |
'class': 'aam-row-action text-warning icon-pencil'
|
1243 |
}).bind('click', function () {
|
1244 |
window.open(data[1], '_blank');
|
|
|
|
|
|
|
1245 |
}));
|
1246 |
break;
|
1247 |
-
break;
|
1248 |
|
1249 |
default:
|
1250 |
break;
|
@@ -1266,6 +1388,41 @@
|
|
1266 |
$(this).nextAll().remove();
|
1267 |
$('.aam-post-manager').removeClass('active');
|
1268 |
$('#post-list_wrapper').removeClass('aam-hidden');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1269 |
});
|
1270 |
|
1271 |
//go back button
|
@@ -1277,6 +1434,7 @@
|
|
1277 |
$('.aam-post-manager[data-type="' + type + '"]').removeClass('active');
|
1278 |
$('#post-list_wrapper').removeClass('aam-hidden');
|
1279 |
$('.aam-post-breadcrumb span:last').remove();
|
|
|
1280 |
});
|
1281 |
}
|
1282 |
|
@@ -1376,7 +1534,7 @@
|
|
1376 |
$('i', $(this)).attr('class', 'icon-arrows-cw');
|
1377 |
});
|
1378 |
});
|
1379 |
-
|
1380 |
//download extension
|
1381 |
$('.aam-download-extension').each(function () {
|
1382 |
$(this).bind('click', function (event) {
|
@@ -1396,11 +1554,11 @@
|
|
1396 |
//bind the download handler
|
1397 |
$('#download-extension').bind('click', function () {
|
1398 |
download(
|
1399 |
-
'data:
|
1400 |
dump.title + '.zip',
|
1401 |
'application/zip'
|
1402 |
-
|
1403 |
-
$('#extension-notification-modal').hide
|
1404 |
});
|
1405 |
}
|
1406 |
|
@@ -1432,10 +1590,15 @@
|
|
1432 |
$(this).addClass('active');
|
1433 |
//show feature content
|
1434 |
$('#' + $(this).data('feature') + '-content').addClass('active');
|
|
|
1435 |
});
|
1436 |
});
|
1437 |
-
|
1438 |
-
|
|
|
|
|
|
|
|
|
1439 |
}
|
1440 |
|
1441 |
/**
|
@@ -1448,7 +1611,7 @@
|
|
1448 |
dataType: 'html',
|
1449 |
async: false,
|
1450 |
data: {
|
1451 |
-
action: '
|
1452 |
_ajax_nonce: aamLocal.nonce,
|
1453 |
subject: this.getSubject().type,
|
1454 |
subjectId: this.getSubject().id
|
@@ -1456,7 +1619,7 @@
|
|
1456 |
beforeSend: function () {
|
1457 |
var loader = $('<div/>', {'class': 'aam-loading'}).html(
|
1458 |
'<i class="icon-spin4 animate-spin"></i>'
|
1459 |
-
|
1460 |
$('#aam-content').html(loader);
|
1461 |
},
|
1462 |
success: function (response) {
|
13 |
* @returns {void}
|
14 |
*/
|
15 |
(function ($) {
|
16 |
+
|
17 |
/**
|
18 |
*
|
19 |
* @param {type} id
|
21 |
*/
|
22 |
function isCurrent(id) {
|
23 |
var subject = aam.getSubject();
|
24 |
+
|
25 |
return (subject.type === 'role' && subject.id === id);
|
26 |
}
|
27 |
|
45 |
},
|
46 |
success: function (response) {
|
47 |
$('#inherit-role-list').html(
|
48 |
+
'<option value="">' + aam.__('Select Role') + '</option>'
|
49 |
);
|
50 |
for (var i in response) {
|
51 |
$('#inherit-role-list').append(
|
59 |
//initialize the role list table
|
60 |
$('#role-list').DataTable({
|
61 |
autoWidth: false,
|
62 |
+
ordering: true,
|
63 |
dom: 'ftrip',
|
64 |
pagingType: 'simple',
|
65 |
processing: true,
|
74 |
}
|
75 |
},
|
76 |
columnDefs: [
|
77 |
+
{visible: false, targets: [0, 1]},
|
78 |
+
{sorting: false, targets: [0, 1, 3]}
|
79 |
],
|
80 |
language: {
|
81 |
search: '_INPUT_',
|
85 |
},
|
86 |
initComplete: function () {
|
87 |
var create = $('<a/>', {
|
88 |
+
'href': '#',
|
89 |
+
'class': 'btn btn-primary'
|
90 |
}).html('<i class="icon-plus"></i> ' + aam.__('Create'))
|
91 |
+
.bind('click', function (event) {
|
92 |
event.preventDefault();
|
93 |
+
|
94 |
//clear add role form first
|
95 |
$('#new-role-name', '#add-role-modal').val('');
|
96 |
fetchRoleList();
|
108 |
} else {
|
109 |
$('td:eq(0)', row).html('<span>' + data[2] + '</span>');
|
110 |
}
|
111 |
+
|
112 |
//add subtitle
|
113 |
$('td:eq(0)', row).append(
|
114 |
$('<i/>', {'class': 'aam-row-subtitle'}).text(
|
115 |
aam.__('Users') + ': ' + parseInt(data[1])
|
116 |
)
|
117 |
);
|
118 |
+
|
119 |
var actions = data[3].split(',');
|
120 |
|
121 |
var container = $('<div/>', {'class': 'aam-row-actions'});
|
124 |
case 'manage':
|
125 |
$(container).append($('<i/>', {
|
126 |
'class': 'aam-row-action icon-cog text-info'
|
127 |
+
}).bind('click', function () {
|
128 |
aam.setSubject('role', data[0], data[2]);
|
129 |
$('td:eq(0) span', row).replaceWith(
|
130 |
'<strong>' + data[2] + '</strong>'
|
131 |
+
);
|
132 |
$('i.icon-cog', container).attr(
|
133 |
+
'class', 'aam-row-action icon-spin4 animate-spin'
|
134 |
+
);
|
135 |
aam.fetchContent();
|
136 |
$('i.icon-spin4', container).attr(
|
137 |
+
'class', 'aam-row-action icon-cog text-info'
|
138 |
+
);
|
139 |
//Show add capability that may be hidden after manager user
|
140 |
$('#add-capability').show();
|
141 |
+
}).attr({
|
142 |
+
'data-toggle': "tooltip",
|
143 |
+
'title': aam.__('Manage Role')
|
144 |
}));
|
145 |
break;
|
146 |
|
153 |
$('#edit-role-modal').modal('show').on('shown.bs.modal', function () {
|
154 |
$('#edit-role-name').focus();
|
155 |
});
|
156 |
+
}).attr({
|
157 |
+
'data-toggle': "tooltip",
|
158 |
+
'title': aam.__('Edit Role Name')
|
159 |
}));
|
160 |
break;
|
161 |
|
166 |
$('#delete-role-btn').data('role', data[0]);
|
167 |
var message = $('#delete-role-modal .aam-confirm-message').data('message');
|
168 |
$('#delete-role-modal .aam-confirm-message').html(
|
169 |
+
message.replace(
|
170 |
+
'%s',
|
171 |
+
'<strong>' + event.data.role[2] + '</strong>'
|
172 |
+
)
|
173 |
+
);
|
174 |
|
175 |
$('#delete-role-modal').modal('show');
|
176 |
+
}).attr({
|
177 |
+
'data-toggle': "tooltip",
|
178 |
+
'title': aam.__('Delete Role')
|
179 |
}));
|
180 |
break;
|
181 |
|
227 |
} else {
|
228 |
aam.notification(
|
229 |
'danger', aam.__('Failed to add new role')
|
230 |
+
);
|
231 |
}
|
232 |
},
|
233 |
error: function () {
|
269 |
$('#role-list').DataTable().ajax.reload();
|
270 |
} else {
|
271 |
aam.notification(
|
272 |
+
'danger', aam.__('Failed to update role')
|
273 |
);
|
274 |
}
|
275 |
},
|
285 |
$('#edit-role-name').focus().parent().addClass('has-error');
|
286 |
}
|
287 |
});
|
288 |
+
|
289 |
//edit role button
|
290 |
$('#delete-role-btn').bind('click', function (event) {
|
291 |
var _this = this;
|
311 |
}
|
312 |
},
|
313 |
error: function () {
|
314 |
+
aam.notification('danger', aam.__('Application error'));
|
315 |
},
|
316 |
complete: function () {
|
317 |
$('#delete-role-modal').modal('hide');
|
319 |
}
|
320 |
});
|
321 |
});
|
322 |
+
|
323 |
//add setSubject hook
|
324 |
aam.addHook('setSubject', function () {
|
325 |
//clear highlight
|
332 |
//show post & pages access control groups that belong to backend
|
333 |
$('.aam-backend-post-access').show();
|
334 |
});
|
335 |
+
|
336 |
//in case interface needed to be reloaded
|
337 |
aam.addHook('refresh', function () {
|
338 |
$('#role-list').DataTable().ajax.url(aamLocal.ajaxurl).load();
|
349 |
* @returns {void}
|
350 |
*/
|
351 |
(function ($) {
|
352 |
+
|
353 |
/**
|
354 |
*
|
355 |
* @param {type} id
|
357 |
*/
|
358 |
function isCurrent(id) {
|
359 |
var subject = aam.getSubject();
|
360 |
+
|
361 |
return (subject.type === 'user' && parseInt(subject.id) === id);
|
362 |
}
|
363 |
+
|
364 |
/**
|
365 |
*
|
366 |
* @param {type} id
|
369 |
*/
|
370 |
function blockUser(id, btn) {
|
371 |
var state = ($(btn).hasClass('icon-lock') ? 0 : 1);
|
372 |
+
|
373 |
$.ajax(aamLocal.ajaxurl, {
|
374 |
type: 'POST',
|
375 |
dataType: 'json',
|
386 |
success: function (response) {
|
387 |
if (response.status === 'success') {
|
388 |
if (state === 1) {
|
389 |
+
$(btn).attr({
|
390 |
+
'class': 'aam-row-action icon-lock text-danger',
|
391 |
+
'title': aam.__('Unlock User'),
|
392 |
+
'data-original-title': aam.__('Unlock User')
|
393 |
+
});
|
394 |
} else {
|
395 |
+
$(btn).attr({
|
396 |
+
'class': 'aam-row-action icon-lock-open-alt text-warning',
|
397 |
+
'title': aam.__('Lock User'),
|
398 |
+
'data-original-title': aam.__('Lock User')
|
399 |
+
});
|
400 |
}
|
401 |
} else {
|
402 |
aam.notification(
|
403 |
+
'danger', aam.__('Failed to block user')
|
404 |
+
);
|
405 |
}
|
406 |
},
|
407 |
error: function () {
|
409 |
}
|
410 |
});
|
411 |
}
|
412 |
+
|
413 |
//initialize the user list table
|
414 |
$('#user-list').DataTable({
|
415 |
autoWidth: false,
|
437 |
infoFiltered: ''
|
438 |
},
|
439 |
initComplete: function () {
|
440 |
+
var create = $('<a/>', {
|
441 |
+
'href': '#',
|
442 |
+
'class': 'btn btn-primary'
|
443 |
}).html('<i class="icon-plus"></i> ' + aam.__('Create')).bind('click', function (event) {
|
444 |
event.preventDefault();
|
445 |
window.open(aamLocal.url.addUser, '_blank');
|
453 |
} else {
|
454 |
$('td:eq(0)', row).html('<span>' + data[2] + '</span>');
|
455 |
}
|
456 |
+
|
457 |
//add subtitle
|
458 |
$('td:eq(0)', row).append(
|
459 |
+
$('<i/>', {'class': 'aam-row-subtitle'}).text(
|
460 |
aam.__('Role') + ': ' + data[1]
|
461 |
+
)
|
462 |
+
);
|
463 |
+
|
464 |
var actions = data[3].split(',');
|
465 |
|
466 |
var container = $('<div/>', {'class': 'aam-row-actions'});
|
469 |
case 'manage':
|
470 |
$(container).append($('<i/>', {
|
471 |
'class': 'aam-row-action icon-cog text-info'
|
472 |
+
}).bind('click', function () {
|
473 |
aam.setSubject('user', data[0], data[2]);
|
474 |
$('td:eq(0) span', row).replaceWith(
|
475 |
'<strong>' + data[2] + '</strong>'
|
476 |
+
);
|
477 |
$('i.icon-cog', container).attr('class', 'aam-row-action icon-spin4 animate-spin');
|
478 |
aam.fetchContent();
|
479 |
$('i.icon-spin4', container).attr('class', 'aam-row-action icon-cog text-info');
|
480 |
//make sure that there is no way user add's new capability
|
481 |
$('#add-capability').hide();
|
482 |
+
}).attr({
|
483 |
+
'data-toggle': "tooltip",
|
484 |
+
'title': aam.__('Manage User')
|
485 |
}));
|
486 |
break;
|
487 |
+
|
488 |
case 'no-manage':
|
489 |
$(container).append($('<i/>', {
|
490 |
'class': 'aam-row-action icon-cog text-muted'
|
498 |
'class': 'aam-row-action icon-pencil text-warning'
|
499 |
}).bind('click', function () {
|
500 |
window.open(
|
501 |
+
aamLocal.url.editUser + '?user_id=' + data[0], '_blank'
|
502 |
+
);
|
503 |
+
}).attr({
|
504 |
+
'data-toggle': "tooltip",
|
505 |
+
'title': aam.__('Edit User')
|
506 |
}));
|
507 |
break;
|
508 |
+
|
509 |
case 'no-edit':
|
510 |
$(container).append($('<i/>', {
|
511 |
'class': 'aam-row-action icon-pencil text-muted'
|
519 |
'class': 'aam-row-action icon-lock-open-alt text-warning'
|
520 |
}).bind('click', function () {
|
521 |
blockUser(data[0], $(this));
|
522 |
+
}).attr({
|
523 |
+
'data-toggle': "tooltip",
|
524 |
+
'title': aam.__('Lock User')
|
525 |
}));
|
526 |
break;
|
527 |
+
|
528 |
case 'unlock':
|
529 |
$(container).append($('<i/>', {
|
530 |
'class': 'aam-row-action icon-lock text-danger'
|
531 |
}).bind('click', function () {
|
532 |
blockUser(data[0], $(this));
|
533 |
+
}).attr({
|
534 |
+
'data-toggle': "tooltip",
|
535 |
+
'title': aam.__('Unlock User')
|
536 |
}));
|
537 |
break;
|
538 |
+
|
539 |
+
case 'no-lock':
|
540 |
+
case 'no-unlock':
|
541 |
$(container).append($('<i/>', {
|
542 |
'class': 'aam-row-action icon-lock text-muted'
|
543 |
}).bind('click', function () {
|
545 |
}));
|
546 |
break;
|
547 |
|
548 |
+
case 'no-switch':
|
549 |
+
$(container).append($('<i/>', {
|
550 |
+
'class': 'aam-row-action icon-arrows-cw text-muted'
|
551 |
+
}).bind('click', function () {
|
552 |
+
$('#user-notification-modal').modal('show');
|
553 |
+
}));
|
554 |
+
break;
|
555 |
+
|
556 |
default:
|
557 |
+
var chunks = action.split('|');
|
558 |
+
if (chunks[0] === 'switch') {
|
559 |
+
$(container).append($('<i/>', {
|
560 |
+
'class': 'aam-row-action icon-arrows-cw text-info'
|
561 |
+
}).bind('click', function () {
|
562 |
+
location.href = chunks[1].replace(/&/g, '&');
|
563 |
+
}).attr({
|
564 |
+
'data-toggle': "tooltip",
|
565 |
+
'title': aam.__('Switch To User')
|
566 |
+
}));
|
567 |
+
}
|
568 |
break;
|
569 |
}
|
570 |
});
|
571 |
$('td:eq(1)', row).html(container);
|
572 |
}
|
573 |
});
|
574 |
+
|
575 |
//add setSubject hook
|
576 |
aam.addHook('setSubject', function () {
|
577 |
//clear highlight
|
584 |
//show post & pages access control groups that belong to backend
|
585 |
$('.aam-backend-post-access').show();
|
586 |
});
|
587 |
+
|
588 |
//in case interface needed to be reloaded
|
589 |
aam.addHook('refresh', function () {
|
590 |
$('#user-list').DataTable().ajax.url(aamLocal.ajaxurl).load();
|
591 |
});
|
592 |
+
|
593 |
})(jQuery);
|
594 |
|
595 |
|
640 |
function initialize() {
|
641 |
$('.aam-restrict-menu').each(function () {
|
642 |
$(this).bind('click', function () {
|
643 |
+
var status = $('i', $(this)).hasClass('icon-eye-off');
|
644 |
var target = $(this).data('target');
|
645 |
|
646 |
$('i', $(this)).attr('class', 'icon-spin4 animate-spin');
|
647 |
|
648 |
var result = aam.save($(this).data('menu-id'), status, 'menu');
|
649 |
+
|
650 |
if (result.status === 'success') {
|
651 |
+
if (status) { //locked the menu
|
652 |
$('input', target).each(function () {
|
653 |
$(this).attr('checked', true);
|
654 |
aam.save($(this).data('menu-id'), status, 'menu');
|
655 |
});
|
656 |
$('.aam-bordered', target).append(
|
657 |
$('<div/>', {'class': 'aam-lock'})
|
658 |
+
);
|
659 |
$(this).removeClass('btn-danger').addClass('btn-primary');
|
660 |
$(this).html(
|
661 |
+
'<i class="icon-eye"></i>' + aam.__('Show Menu')
|
662 |
+
);
|
663 |
//add menu restricted indicator
|
664 |
var ind = $('<i/>', {
|
665 |
+
'class': 'aam-panel-title-icon icon-eye-off text-danger'
|
666 |
});
|
667 |
$('.panel-title', target + '-heading').append(ind);
|
668 |
} else {
|
673 |
$('.aam-lock', target).remove();
|
674 |
$(this).removeClass('btn-primary').addClass('btn-danger');
|
675 |
$(this).html(
|
676 |
+
'<i class="icon-eye-off"></i>' + aam.__('Hide Menu')
|
677 |
+
);
|
678 |
$('.panel-title .icon-eye-off', target + '-heading').remove();
|
679 |
}
|
680 |
} else {
|
681 |
+
$(this).attr('checked', !status);
|
682 |
}
|
683 |
});
|
684 |
});
|
686 |
$('input[type="checkbox"]', '#admin-menu').each(function () {
|
687 |
$(this).bind('click', function () {
|
688 |
aam.save(
|
689 |
+
$(this).data('menu-id'),
|
690 |
+
$(this).attr('checked') ? true : false,
|
691 |
+
'menu'
|
692 |
);
|
693 |
});
|
694 |
});
|
695 |
+
|
696 |
+
//reset button
|
697 |
+
$('#menu-reset').bind('click', function (event) {
|
698 |
+
event.preventDefault();
|
699 |
+
|
700 |
+
$.ajax(aamLocal.ajaxurl, {
|
701 |
+
type: 'POST',
|
702 |
+
dataType: 'json',
|
703 |
+
data: {
|
704 |
+
action: 'aam',
|
705 |
+
sub_action: 'Menu.reset',
|
706 |
+
_ajax_nonce: aamLocal.nonce,
|
707 |
+
subject: aam.getSubject().type,
|
708 |
+
subjectId: aam.getSubject().id
|
709 |
+
},
|
710 |
+
success: function (response) {
|
711 |
+
if (response.status === 'success') {
|
712 |
+
aam.fetchContent();
|
713 |
+
}
|
714 |
+
}
|
715 |
+
});
|
716 |
+
});
|
717 |
}
|
718 |
|
719 |
aam.addHook('init', initialize);
|
783 |
getContent();
|
784 |
} else {
|
785 |
aam.notification(
|
786 |
+
'danger', aam.__('Failed to retrieve mataboxes')
|
787 |
+
);
|
788 |
}
|
789 |
},
|
790 |
error: function () {
|
793 |
complete: function () {
|
794 |
$('i', '#refresh-metabox-list').attr(
|
795 |
'class', 'icon-arrows-cw'
|
796 |
+
);
|
797 |
}
|
798 |
});
|
799 |
|
800 |
});
|
801 |
|
802 |
+
//reset button
|
803 |
+
$('#metabox-reset').bind('click', function (event) {
|
804 |
+
event.preventDefault();
|
805 |
+
|
806 |
+
$.ajax(aamLocal.ajaxurl, {
|
807 |
+
type: 'POST',
|
808 |
+
dataType: 'json',
|
809 |
+
data: {
|
810 |
+
action: 'aam',
|
811 |
+
sub_action: 'Metabox.reset',
|
812 |
+
_ajax_nonce: aamLocal.nonce,
|
813 |
+
subject: aam.getSubject().type,
|
814 |
+
subjectId: aam.getSubject().id
|
815 |
+
},
|
816 |
+
success: function (response) {
|
817 |
+
if (response.status === 'success') {
|
818 |
+
aam.fetchContent();
|
819 |
+
}
|
820 |
+
}
|
821 |
+
});
|
822 |
+
});
|
823 |
+
|
824 |
$('input[type="checkbox"]', '#metabox-list').each(function () {
|
825 |
$(this).bind('click', function () {
|
826 |
aam.save(
|
827 |
+
$(this).data('metabox'),
|
828 |
+
$(this).attr('checked') ? true : false,
|
829 |
+
'metabox'
|
830 |
+
);
|
831 |
});
|
832 |
});
|
833 |
}
|
834 |
+
|
835 |
aam.addHook('init', initialize);
|
836 |
|
837 |
})(jQuery);
|
854 |
*/
|
855 |
function save(capability, btn) {
|
856 |
var granted = $(btn).hasClass('icon-check-empty') ? 1 : 0;
|
857 |
+
|
858 |
//show indicator
|
859 |
$(btn).attr('class', 'aam-row-action icon-spin4 animate-spin');
|
860 |
+
|
861 |
if (aam.save(capability, granted, 'capability').status === 'success') {
|
862 |
if (granted) {
|
863 |
$(btn).attr('class', 'aam-row-action text-success icon-check');
|
865 |
$(btn).attr('class', 'aam-row-action text-muted icon-check-empty');
|
866 |
}
|
867 |
} else {
|
868 |
+
if (granted) {
|
869 |
aam.notification(
|
870 |
'danger', aam.__('Failed to grand capability - WordPress policy')
|
871 |
);
|
908 |
lengthMenu: '_MENU_'
|
909 |
},
|
910 |
createdRow: function (row, data) {
|
911 |
+
//add also the internal capability representation next to the
|
912 |
+
//capability title
|
913 |
+
$('td:eq(1)', row).append(
|
914 |
+
' <small class="aam-block">' + data[0] + '</small>'
|
915 |
+
);
|
916 |
+
|
917 |
var actions = data[3].split(',');
|
918 |
|
919 |
var container = $('<div/>', {'class': 'aam-row-actions'});
|
920 |
$.each(actions, function (i, action) {
|
|
|
|
|
|
|
921 |
switch (action) {
|
922 |
case 'unchecked':
|
923 |
$(container).append($('<i/>', {
|
936 |
break;
|
937 |
|
938 |
default:
|
939 |
+
aam.triggerHook('decorate-capability-row', {
|
940 |
+
action: action,
|
941 |
+
container: container,
|
942 |
+
data: data
|
943 |
+
});
|
944 |
break;
|
945 |
}
|
946 |
});
|
948 |
}
|
949 |
});
|
950 |
|
|
|
|
|
|
|
|
|
|
|
951 |
$('a', '#capability-groups').each(function () {
|
952 |
$(this).bind('click', function () {
|
953 |
var table = $('#capability-list').DataTable();
|
990 |
$('#capability-list').DataTable().ajax.reload();
|
991 |
} else {
|
992 |
aam.notification(
|
993 |
+
'danger', aam.__('Failed to add new capability')
|
994 |
+
);
|
995 |
}
|
996 |
},
|
997 |
error: function () {
|
1009 |
$('#add-capability-modal').on('shown.bs.modal', function (e) {
|
1010 |
$('#new-capability-name').focus();
|
1011 |
});
|
1012 |
+
|
1013 |
//show or hide capability user note based on current subject
|
1014 |
if (aam.getSubject().type === 'user') {
|
1015 |
+
$('.aam-user-note').removeClass('hidden');
|
1016 |
} else {
|
1017 |
+
$('.aam-user-note').addClass('hidden');
|
1018 |
}
|
1019 |
|
1020 |
}
|
1077 |
function loadAccessForm(object, id, btn) {
|
1078 |
//reset the form first
|
1079 |
var container = $('.aam-post-manager[data-type="' + object + '"]');
|
1080 |
+
|
1081 |
+
$('.aam-row-action', container).each(function () {
|
1082 |
$(this).attr({
|
1083 |
+
'class': 'aam-row-action text-muted icon-check-empty',
|
1084 |
+
'data-type': object,
|
1085 |
+
'data-id': id
|
1086 |
});
|
1087 |
+
|
1088 |
//initialize each access property
|
1089 |
$(this).unbind('click').bind('click', function (event) {
|
1090 |
event.preventDefault();
|
1110 |
}
|
1111 |
}
|
1112 |
});
|
1113 |
+
|
1114 |
});
|
1115 |
+
|
1116 |
$.ajax(aamLocal.ajaxurl, {
|
1117 |
type: 'POST',
|
1118 |
dataType: 'json',
|
1127 |
},
|
1128 |
beforeSend: function () {
|
1129 |
$(btn).attr('class', 'aam-row-action icon-spin4 animate-spin');
|
1130 |
+
$('#post-overwritten, #post-inherited').addClass('hidden');
|
1131 |
},
|
1132 |
success: function (response) {
|
1133 |
//iterate through each property
|
1134 |
+
for (var property in response.access) {
|
1135 |
+
var checked = (response.access[property] ? 'text-danger icon-check' : 'text-muted icon-check-empty');
|
1136 |
|
1137 |
$('[data-property="' + property + '"]', container).attr({
|
1138 |
+
'class': 'aam-row-action ' + checked
|
1139 |
});
|
1140 |
+
|
1141 |
+
//check metadata and show message if necessary
|
1142 |
+
if (response.meta.overwritten === true) {
|
1143 |
+
$('#post-overwritten').removeClass('hidden');
|
1144 |
+
//add some specific attributes to reset button
|
1145 |
+
$('#post-reset').attr({
|
1146 |
+
'data-type': object,
|
1147 |
+
'data-id': id
|
1148 |
+
});
|
1149 |
+
} else if (response.meta.inherited !== null) {
|
1150 |
+
if (response.meta.inherited === 'role') {
|
1151 |
+
$('#post-parent').text(aam.__('parent role'));
|
1152 |
+
} else if (response.meta.inherited === 'default') {
|
1153 |
+
$('#post-parent').text(aam.__('default settings'));
|
1154 |
+
} else if (response.meta.inherited === 'term') {
|
1155 |
+
$('#post-parent').text(aam.__('parent category'));
|
1156 |
+
}
|
1157 |
+
$('#post-inherited').removeClass('hidden');
|
1158 |
+
}
|
1159 |
+
|
1160 |
}
|
1161 |
|
1162 |
$('#post-list_wrapper').addClass('aam-hidden');
|
1170 |
}
|
1171 |
});
|
1172 |
}
|
1173 |
+
|
1174 |
/**
|
1175 |
*
|
1176 |
* @param {type} param
|
1181 |
*/
|
1182 |
function save(param, value, object, object_id) {
|
1183 |
var result = null;
|
1184 |
+
|
1185 |
$.ajax(aamLocal.ajaxurl, {
|
1186 |
type: 'POST',
|
1187 |
dataType: 'json',
|
1207 |
aam.notification('danger', aam.__('Application error'));
|
1208 |
}
|
1209 |
});
|
1210 |
+
|
1211 |
return result;
|
1212 |
+
}
|
1213 |
+
|
1214 |
/**
|
1215 |
*
|
1216 |
* @returns {undefined}
|
1218 |
function initialize() {
|
1219 |
//reset filter to default list of post types
|
1220 |
filter.type = null;
|
1221 |
+
|
1222 |
//initialize the role list table
|
1223 |
$('#post-list').DataTable({
|
1224 |
autoWidth: false,
|
1260 |
//reset the ajax queue
|
1261 |
queue = new Array();
|
1262 |
},
|
1263 |
+
rowCallback: function (row, data) {
|
1264 |
//object type icon
|
1265 |
switch (data[2]) {
|
1266 |
case 'type':
|
1285 |
//visual feedback - show loading icon
|
1286 |
$('td:eq(0)', row).html(
|
1287 |
'<i class="icon-spin4 animate-spin"></i>'
|
1288 |
+
);
|
1289 |
//set filter
|
1290 |
filter[data[2]] = data[0];
|
1291 |
//reset the ajax queue
|
1298 |
|
1299 |
}).html(data[3]);
|
1300 |
$('td:eq(1)', row).html(link);
|
1301 |
+
} else { //reset the post/term title
|
1302 |
+
$('td:eq(1)', row).html(data[3]);
|
1303 |
}
|
1304 |
|
1305 |
//add breadcrumb but only if not a type
|
1318 |
success: function (response) {
|
1319 |
if (response.status === 'success') {
|
1320 |
$('td:eq(1) span', row).html(
|
1321 |
+
response.breadcrumb
|
1322 |
+
);
|
1323 |
}
|
1324 |
},
|
1325 |
error: function () {
|
1333 |
});
|
1334 |
});
|
1335 |
$('td:eq(1)', row).append(
|
1336 |
+
$('<span/>', {'class': 'aam-row-subtitle'}).text(
|
1337 |
aam.__('Loading...')
|
1338 |
+
)
|
1339 |
+
);
|
1340 |
}
|
1341 |
|
1342 |
//update the actions
|
1351 |
}).bind('click', function () {
|
1352 |
loadAccessForm(data[2], data[0], $(this));
|
1353 |
addBreadcrumbLevel('edit', data[2], data[3]);
|
1354 |
+
}).attr({
|
1355 |
+
'data-toggle': "tooltip",
|
1356 |
+
'title': aam.__('Manage Access')
|
1357 |
}));
|
1358 |
break;
|
1359 |
|
1362 |
'class': 'aam-row-action text-warning icon-pencil'
|
1363 |
}).bind('click', function () {
|
1364 |
window.open(data[1], '_blank');
|
1365 |
+
}).attr({
|
1366 |
+
'data-toggle': "tooltip",
|
1367 |
+
'title': aam.__('Edit')
|
1368 |
}));
|
1369 |
break;
|
|
|
1370 |
|
1371 |
default:
|
1372 |
break;
|
1388 |
$(this).nextAll().remove();
|
1389 |
$('.aam-post-manager').removeClass('active');
|
1390 |
$('#post-list_wrapper').removeClass('aam-hidden');
|
1391 |
+
$('#post-overwritten, #post-inherited').addClass('hidden');
|
1392 |
+
});
|
1393 |
+
|
1394 |
+
//reset button
|
1395 |
+
$('#post-reset').bind('click', function (event) {
|
1396 |
+
event.preventDefault();
|
1397 |
+
|
1398 |
+
var type = $(this).attr('data-type');
|
1399 |
+
var id = $(this).attr('data-id');
|
1400 |
+
|
1401 |
+
$.ajax(aamLocal.ajaxurl, {
|
1402 |
+
type: 'POST',
|
1403 |
+
dataType: 'json',
|
1404 |
+
data: {
|
1405 |
+
action: 'aam',
|
1406 |
+
sub_action: 'Post.reset',
|
1407 |
+
_ajax_nonce: aamLocal.nonce,
|
1408 |
+
type: type,
|
1409 |
+
id: id,
|
1410 |
+
subject: aam.getSubject().type,
|
1411 |
+
subjectId: aam.getSubject().id
|
1412 |
+
},
|
1413 |
+
beforeSend: function () {
|
1414 |
+
},
|
1415 |
+
success: function (response) {
|
1416 |
+
if (response.status === 'success') {
|
1417 |
+
$('#post-overwritten').addClass('hidden');
|
1418 |
+
loadAccessForm(type, id);
|
1419 |
+
}
|
1420 |
+
},
|
1421 |
+
error: function () {
|
1422 |
+
},
|
1423 |
+
complete: function () {
|
1424 |
+
}
|
1425 |
+
});
|
1426 |
});
|
1427 |
|
1428 |
//go back button
|
1434 |
$('.aam-post-manager[data-type="' + type + '"]').removeClass('active');
|
1435 |
$('#post-list_wrapper').removeClass('aam-hidden');
|
1436 |
$('.aam-post-breadcrumb span:last').remove();
|
1437 |
+
$('#post-overwritten, #post-inherited').addClass('hidden');
|
1438 |
});
|
1439 |
}
|
1440 |
|
1534 |
$('i', $(this)).attr('class', 'icon-arrows-cw');
|
1535 |
});
|
1536 |
});
|
1537 |
+
|
1538 |
//download extension
|
1539 |
$('.aam-download-extension').each(function () {
|
1540 |
$(this).bind('click', function (event) {
|
1554 |
//bind the download handler
|
1555 |
$('#download-extension').bind('click', function () {
|
1556 |
download(
|
1557 |
+
'data:application/zip;base64,' + dump.content,
|
1558 |
dump.title + '.zip',
|
1559 |
'application/zip'
|
1560 |
+
);
|
1561 |
+
$('#extension-notification-modal').modal('hide');
|
1562 |
});
|
1563 |
}
|
1564 |
|
1590 |
$(this).addClass('active');
|
1591 |
//show feature content
|
1592 |
$('#' + $(this).data('feature') + '-content').addClass('active');
|
1593 |
+
location.hash = $(this).data('feature');
|
1594 |
});
|
1595 |
});
|
1596 |
+
|
1597 |
+
if (location.hash !== '') {
|
1598 |
+
$('li[data-feature="' + location.hash.substr(1) + '"]', '#feature-list').trigger('click');
|
1599 |
+
} else {
|
1600 |
+
$('li:eq(0)', '#feature-list').trigger('click');
|
1601 |
+
}
|
1602 |
}
|
1603 |
|
1604 |
/**
|
1611 |
dataType: 'html',
|
1612 |
async: false,
|
1613 |
data: {
|
1614 |
+
action: 'aamc',
|
1615 |
_ajax_nonce: aamLocal.nonce,
|
1616 |
subject: this.getSubject().type,
|
1617 |
subjectId: this.getSubject().id
|
1619 |
beforeSend: function () {
|
1620 |
var loader = $('<div/>', {'class': 'aam-loading'}).html(
|
1621 |
'<i class="icon-spin4 animate-spin"></i>'
|
1622 |
+
);
|
1623 |
$('#aam-content').html(loader);
|
1624 |
},
|
1625 |
success: function (response) {
|
media/js/aam.js
CHANGED
@@ -45,13 +45,14 @@
|
|
45 |
* Trigger UI hook
|
46 |
*
|
47 |
* @param {String} name
|
|
|
48 |
*
|
49 |
* @returns {void}
|
50 |
*/
|
51 |
-
AAM.prototype.triggerHook = function (name) {
|
52 |
if (typeof this.hooks[name] !== 'undefined') {
|
53 |
for (var i in this.hooks[name]) {
|
54 |
-
this.hooks[name][i].call(this);
|
55 |
}
|
56 |
}
|
57 |
};
|
@@ -76,53 +77,33 @@
|
|
76 |
$('.aam-help-menu').each(function() {
|
77 |
var target = $(this).data('target');
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
$(
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
});
|
90 |
-
});
|
91 |
-
|
92 |
-
//welcome message
|
93 |
-
if (parseInt(aamLocal.welcome) === 1) {
|
94 |
-
$('.aam-welcome-message').toggleClass('active');
|
95 |
-
$('.wrap').css('visibility', 'hidden');
|
96 |
-
$('#confirm-welcome').bind('click', function (event) {
|
97 |
-
event.preventDefault();
|
98 |
-
|
99 |
-
$('i', $(this)).attr('class', 'icon-spin4 animate-spin');
|
100 |
-
|
101 |
-
$.ajax(aamLocal.ajaxurl, {
|
102 |
-
type: 'POST',
|
103 |
-
dataType: 'json',
|
104 |
-
data: {
|
105 |
-
action: 'aam',
|
106 |
-
sub_action: 'confirmWelcome',
|
107 |
-
_ajax_nonce: aamLocal.nonce
|
108 |
-
},
|
109 |
-
beforeSend: function () {
|
110 |
-
$('.aam-welcome-message').toggleClass('active');
|
111 |
-
setTimeout(function() {
|
112 |
-
$('.aam-welcome-message').remove();
|
113 |
-
}, 1500);
|
114 |
-
},
|
115 |
-
complete: function () {
|
116 |
-
$('.wrap').css('visibility', 'visible');
|
117 |
}
|
118 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
});
|
120 |
-
|
121 |
-
|
122 |
-
}
|
123 |
|
124 |
//if there is an error detected during the AAM load, show it
|
125 |
-
if (AAM_PageError) {
|
126 |
$('.aam-error-list').append(
|
127 |
$('<li/>').html(
|
128 |
this.__('Javascript error detected during the page load. AAM may not function properly.')
|
@@ -130,6 +111,27 @@
|
|
130 |
);
|
131 |
$('.aam-notification-container').removeClass('hidden');
|
132 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
};
|
134 |
|
135 |
/**
|
@@ -177,14 +179,14 @@
|
|
177 |
* @returns {undefined}
|
178 |
*/
|
179 |
AAM.prototype.notification = function (status, message) {
|
180 |
-
var notification = $('<div/>', {'class': 'aam-sticky-note'});
|
181 |
-
|
182 |
-
|
183 |
-
);
|
184 |
$('.wrap').append(notification);
|
|
|
185 |
setTimeout(function () {
|
186 |
$('.aam-sticky-note').remove();
|
187 |
-
},
|
188 |
};
|
189 |
|
190 |
/**
|
45 |
* Trigger UI hook
|
46 |
*
|
47 |
* @param {String} name
|
48 |
+
* @param {Object} params
|
49 |
*
|
50 |
* @returns {void}
|
51 |
*/
|
52 |
+
AAM.prototype.triggerHook = function (name, params) {
|
53 |
if (typeof this.hooks[name] !== 'undefined') {
|
54 |
for (var i in this.hooks[name]) {
|
55 |
+
this.hooks[name][i].call(this, params);
|
56 |
}
|
57 |
}
|
58 |
};
|
77 |
$('.aam-help-menu').each(function() {
|
78 |
var target = $(this).data('target');
|
79 |
|
80 |
+
if (target) {
|
81 |
+
$(this).bind('click', function() {
|
82 |
+
if ($(this).hasClass('active')) {
|
83 |
+
$('.aam-help-context', target).removeClass('active');
|
84 |
+
$('.aam-postbox-inside', target).show();
|
85 |
+
$(this).removeClass('active');
|
86 |
+
} else {
|
87 |
+
$('.aam-postbox-inside', target).hide();
|
88 |
+
$('.aam-help-context', target).addClass('active');
|
89 |
+
$(this).addClass('active');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
}
|
91 |
});
|
92 |
+
}
|
93 |
+
});
|
94 |
+
|
95 |
+
//help tooltips
|
96 |
+
$('body').delegate('[data-toggle="tooltip"]', 'hover', function (event) {
|
97 |
+
event.preventDefault();
|
98 |
+
$(this).tooltip({
|
99 |
+
'placement' : 'top',
|
100 |
+
'container' : 'body'
|
101 |
});
|
102 |
+
$(this).tooltip('show');
|
103 |
+
});
|
|
|
104 |
|
105 |
//if there is an error detected during the AAM load, show it
|
106 |
+
if (typeof AAM_PageError !== 'undefined' && AAM_PageError) {
|
107 |
$('.aam-error-list').append(
|
108 |
$('<li/>').html(
|
109 |
this.__('Javascript error detected during the page load. AAM may not function properly.')
|
111 |
);
|
112 |
$('.aam-notification-container').removeClass('hidden');
|
113 |
}
|
114 |
+
|
115 |
+
//Error Fix promotion code
|
116 |
+
$.ajax(aamLocal.ajaxurl, {
|
117 |
+
type: 'POST',
|
118 |
+
dataType: 'json',
|
119 |
+
data: {
|
120 |
+
action: 'aam',
|
121 |
+
sub_action: 'getErrorFixStatus',
|
122 |
+
_ajax_nonce: aamLocal.nonce
|
123 |
+
},
|
124 |
+
success: function (response) {
|
125 |
+
if (response.status === 'show') {
|
126 |
+
$('#errorfix-promotion').removeClass('hidden');
|
127 |
+
$('#errorfix-install-btn').attr(
|
128 |
+
'href', response.url.replace(/&/g, '&')
|
129 |
+
);
|
130 |
+
} else {
|
131 |
+
$('#errorfix-promotion').remove();
|
132 |
+
}
|
133 |
+
}
|
134 |
+
});
|
135 |
};
|
136 |
|
137 |
/**
|
179 |
* @returns {undefined}
|
180 |
*/
|
181 |
AAM.prototype.notification = function (status, message) {
|
182 |
+
var notification = $('<div/>', {'class': 'aam-sticky-note ' + status});
|
183 |
+
|
184 |
+
notification.append($('<span/>').text(message));
|
|
|
185 |
$('.wrap').append(notification);
|
186 |
+
|
187 |
setTimeout(function () {
|
188 |
$('.aam-sticky-note').remove();
|
189 |
+
}, 9000);
|
190 |
};
|
191 |
|
192 |
/**
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: vasyltech
|
3 |
Tags: access, access manager, role, user, capability, admin, page, post, widget
|
4 |
Requires at least: 3.8
|
5 |
-
Tested up to: 4.
|
6 |
-
Stable tag: 3.
|
7 |
|
8 |
One of the best tools in WordPress repository to manage access to your posts,
|
9 |
pages, categories and backend area for users, roles and visitors.
|
@@ -45,6 +45,82 @@ out more about the Advanced Access Manager.
|
|
45 |
|
46 |
== Changelog ==
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
= 3.0 =
|
49 |
* Brand new and much more intuitive user interface
|
50 |
* Fully responsive design
|
2 |
Contributors: vasyltech
|
3 |
Tags: access, access manager, role, user, capability, admin, page, post, widget
|
4 |
Requires at least: 3.8
|
5 |
+
Tested up to: 4.4
|
6 |
+
Stable tag: 3.1
|
7 |
|
8 |
One of the best tools in WordPress repository to manage access to your posts,
|
9 |
pages, categories and backend area for users, roles and visitors.
|
45 |
|
46 |
== Changelog ==
|
47 |
|
48 |
+
= 3.1 =
|
49 |
+
* Integrated User Switch with AAM
|
50 |
+
* Fixed bugs reported by WP Error Fix
|
51 |
+
* Removed intro message
|
52 |
+
* Improved AAM speed
|
53 |
+
* Updated AAM Utilities extension
|
54 |
+
* Updated AAM Plus Package extension
|
55 |
+
* Added new AAM Skeleton Extension for developers
|
56 |
+
|
57 |
+
= 3.0.10 =
|
58 |
+
* Fixed bug reported by WP Error Fix when user's first role does not exist
|
59 |
+
* Fixed bug reported by WP Error Fix when roles has invalid capability set
|
60 |
+
|
61 |
+
= 3.0.9 =
|
62 |
+
* Added ability to extend the AAM Utilities property list
|
63 |
+
* Updated AAM Plus Package with ability to toggle the page categories feature
|
64 |
+
* Added WP Error Fix promotion tab
|
65 |
+
* Finalized and resolved all known issues
|
66 |
+
|
67 |
+
= 3.0.8 =
|
68 |
+
* Extended AAM with few extra core filters and actions
|
69 |
+
* Added role list sorting by name
|
70 |
+
* Added WP Error Fix item to the extension list
|
71 |
+
* Fixed the issue with language file
|
72 |
+
|
73 |
+
= 3.0.7 =
|
74 |
+
* Fixed the warning issue with newly installed AAM instance
|
75 |
+
|
76 |
+
= 3.0.6 =
|
77 |
+
* Fixed issue when server has security policy regarding file_get_content as URL
|
78 |
+
* Added filters to support Edit/Delete caps with AAM Utilities extension
|
79 |
+
* Updated AAM Utilities extension
|
80 |
+
* Refactored extension list manager
|
81 |
+
* Added AAM Role Filter extension
|
82 |
+
* Added AAM Post Filter extension
|
83 |
+
* Standardize the extension folder name
|
84 |
+
|
85 |
+
= 3.0.5 =
|
86 |
+
* Wrapped all *.phtml files into condition to avoid crash on direct file access
|
87 |
+
* Fixed bug with Visitor subject API
|
88 |
+
* Added internal capability id to the list of capabilities
|
89 |
+
* Fixed bug with strict standard notice
|
90 |
+
* Fixed bug when extension after update still indicates that update is needed
|
91 |
+
* Fixed bug when extensions were not able to load js & css on windows server
|
92 |
+
* Updated AAM Utilities extension
|
93 |
+
* Updated AAM Multisite extension
|
94 |
+
|
95 |
+
= 3.0.4 =
|
96 |
+
* Improved the Metaboxes & Widget filtering on user level
|
97 |
+
* Improved visual feedback for already installed extensions
|
98 |
+
* Fixed the bug when posts and categories were filtered on the AAM page
|
99 |
+
* Significantly improved the posts & pages inheritance mechanism
|
100 |
+
* Updated and fixed bugs in AAM Plus Package and AAM Utilities
|
101 |
+
* Improved AAM navigation during page reload
|
102 |
+
* Removed Trash post access option. Now Delete option is the same
|
103 |
+
* Added UI feedback on current posts, menu and metaboxes inheritance status
|
104 |
+
* Updated AAM Multisite extension
|
105 |
+
|
106 |
+
= 3.0.3 =
|
107 |
+
* Fixed bug with backend menu saving
|
108 |
+
* Fixed bug with metaboxes & widgets saving
|
109 |
+
* Fixed bug with WP_Filesystem when non-standard filesystem is used
|
110 |
+
* Optimized Posts & Pages breadcrumb load
|
111 |
+
|
112 |
+
= 3.0.2 =
|
113 |
+
* Fixed a bug with posts access within categories
|
114 |
+
* Significantly improved the caching mechanism
|
115 |
+
* Added mandatory notification if caching is not turned on
|
116 |
+
* Added more help content
|
117 |
+
|
118 |
+
= 3.0.1 =
|
119 |
+
* Fixed the bug with capability saving
|
120 |
+
* Fixed the bug with capability drop-down menu
|
121 |
+
* Made backend menu help is more clear
|
122 |
+
* Added tooltips to some UI buttons
|
123 |
+
|
124 |
= 3.0 =
|
125 |
* Brand new and much more intuitive user interface
|
126 |
* Fully responsive design
|
screenshot-1.png
DELETED
Binary file
|
screenshot-2.png
DELETED
Binary file
|
screenshot-3.png
DELETED
Binary file
|
screenshot-4.png
DELETED
Binary file
|
screenshot-5.png
DELETED
Binary file
|