Version Description
- General bug fixing and improvements
- Added ability to setup access settings to all Users, Roles and Visitors
- Added Login Redirect feature
Download this release
Release Info
Developer | vasyl_m |
Plugin | Advanced Access Manager |
Version | 3.9.5 |
Comparing to | |
See all releases |
Code changes from version 3.9.3 to 3.9.5
- Application/Backend/Feature/Contact.php +2 -1
- Application/Backend/Feature/Extension.php +4 -4
- Application/Backend/Feature/LoginRedirect.php +109 -0
- Application/Backend/Feature/Menu.php +8 -3
- Application/Backend/Feature/Metabox.php +2 -1
- Application/Backend/Feature/Post.php +2 -1
- Application/Backend/Feature/Redirect.php +7 -9
- Application/Backend/Feature/Teaser.php +6 -8
- Application/Backend/Feature/Utility.php +1 -3
- Application/Backend/Manager.php +17 -4
- Application/Backend/View.php +1 -0
- Application/Backend/View/ProductList.php +14 -3
- Application/Backend/phtml/index.phtml +16 -4
- Application/Backend/phtml/object/login-redirect.phtml +65 -0
- Application/Backend/phtml/object/menu.phtml +2 -2
- Application/Backend/phtml/object/metabox.phtml +1 -1
- Application/Backend/phtml/object/post.phtml +88 -86
- Application/Backend/phtml/object/redirect.phtml +8 -8
- Application/Backend/phtml/object/teaser.phtml +3 -3
- Application/Backend/phtml/partial/login-redirect.phtml +5 -0
- Application/Backend/phtml/partial/redirect.phtml +1 -1
- Application/Backend/phtml/partial/teaser.phtml +1 -2
- Application/Core/API.php +8 -8
- Application/Core/Object/Post.php +4 -2
- Application/Core/Subject.php +6 -16
- Application/Core/Subject/Default.php +67 -0
- Application/Core/Subject/Role.php +5 -8
- Application/Core/Subject/User.php +0 -7
- Application/Core/Subject/Visitor.php +0 -19
- Application/Frontend/Manager.php +25 -3
- aam.php +3 -3
- media/css/aam.css +73 -70
- media/css/datatables.min.css +3 -3
- media/font/fontello.eot +0 -0
- media/font/fontello.svg +63 -61
- media/font/fontello.ttf +0 -0
- media/font/fontello.woff +0 -0
- media/font/fontello.woff2 +0 -0
- media/js/aam-ui.js +97 -13
- media/js/bootstrap.min.js +0 -7
- media/js/download.min.js +0 -2
- media/js/toggle.min.js +0 -9
- media/js/{datatables.min.js → vendor.js} +19 -0
- readme.txt +21 -14
Application/Backend/Feature/Contact.php
CHANGED
@@ -47,7 +47,8 @@ class AAM_Backend_Feature_Contact extends AAM_Backend_Feature_Abstract {
|
|
47 |
'subjects' => array(
|
48 |
'AAM_Core_Subject_Role',
|
49 |
'AAM_Core_Subject_User',
|
50 |
-
'AAM_Core_Subject_Visitor'
|
|
|
51 |
),
|
52 |
'view' => __CLASS__
|
53 |
));
|
47 |
'subjects' => array(
|
48 |
'AAM_Core_Subject_Role',
|
49 |
'AAM_Core_Subject_User',
|
50 |
+
'AAM_Core_Subject_Visitor',
|
51 |
+
'AAM_Core_Subject_Default'
|
52 |
),
|
53 |
'view' => __CLASS__
|
54 |
));
|
Application/Backend/Feature/Extension.php
CHANGED
@@ -46,7 +46,9 @@ class AAM_Backend_Feature_Extension extends AAM_Backend_Feature_Abstract {
|
|
46 |
$filtered = array();
|
47 |
foreach($products as $product) {
|
48 |
if ($product['type'] == $filter) {
|
49 |
-
|
|
|
|
|
50 |
$filtered[] = $product;
|
51 |
}
|
52 |
}
|
@@ -206,9 +208,7 @@ class AAM_Backend_Feature_Extension extends AAM_Backend_Feature_Abstract {
|
|
206 |
'capability' => $cap,
|
207 |
'notification' => self::getNotification(),
|
208 |
'subjects' => array(
|
209 |
-
'AAM_Core_Subject_Role'
|
210 |
-
'AAM_Core_Subject_User',
|
211 |
-
'AAM_Core_Subject_Visitor'
|
212 |
),
|
213 |
'view' => __CLASS__
|
214 |
));
|
46 |
$filtered = array();
|
47 |
foreach($products as $product) {
|
48 |
if ($product['type'] == $filter) {
|
49 |
+
if (!isset($product['license'])) {
|
50 |
+
$product['license'] = $this->retrieveLicense($product['id']);
|
51 |
+
}
|
52 |
$filtered[] = $product;
|
53 |
}
|
54 |
}
|
208 |
'capability' => $cap,
|
209 |
'notification' => self::getNotification(),
|
210 |
'subjects' => array(
|
211 |
+
'AAM_Core_Subject_Role'
|
|
|
|
|
212 |
),
|
213 |
'view' => __CLASS__
|
214 |
));
|
Application/Backend/Feature/LoginRedirect.php
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* ======================================================================
|
5 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
6 |
+
* file 'license.txt', which is part of this source code package. *
|
7 |
+
* ======================================================================
|
8 |
+
*/
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Login redirect
|
12 |
+
*
|
13 |
+
* @package AAM
|
14 |
+
* @author Vasyl Martyniuk <vasyl@vasyltech.com>
|
15 |
+
*/
|
16 |
+
class AAM_Backend_Feature_LoginRedirect extends AAM_Backend_Feature_Abstract {
|
17 |
+
|
18 |
+
/**
|
19 |
+
*
|
20 |
+
*/
|
21 |
+
public function save() {
|
22 |
+
$param = AAM_Core_Request::post('param');
|
23 |
+
$value = AAM_Core_Request::post('value');
|
24 |
+
$subject = AAM_Backend_View::getSubject();
|
25 |
+
|
26 |
+
if ($this->isDefault()) {
|
27 |
+
AAM_Core_Config::set($param, $value);
|
28 |
+
} else {
|
29 |
+
do_action('aam-login-redirect-save-action', $subject, $param, $value);
|
30 |
+
}
|
31 |
+
|
32 |
+
return json_encode(array('status' => 'success'));
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
*
|
37 |
+
* @return type
|
38 |
+
*/
|
39 |
+
public function reset() {
|
40 |
+
do_action('aam-login-redirect-reset-action', AAM_Backend_View::getSubject());
|
41 |
+
|
42 |
+
return json_encode(array('status' => 'success'));
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
*
|
47 |
+
* @return type
|
48 |
+
*/
|
49 |
+
public function isDefault() {
|
50 |
+
return (AAM_Backend_View::getSubject()->getUID() == 'default');
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
*
|
55 |
+
* @param type $option
|
56 |
+
* @return type
|
57 |
+
*/
|
58 |
+
public function getOption($option, $default = null) {
|
59 |
+
$value = AAM_Core_Config::get($option, $default);
|
60 |
+
|
61 |
+
if (!$this->isDefault()) {
|
62 |
+
$subject = AAM_Backend_View::getSubject();
|
63 |
+
$value = apply_filters(
|
64 |
+
'aam-login-redirect-option-filter', $value, $option, $subject
|
65 |
+
);
|
66 |
+
}
|
67 |
+
|
68 |
+
return $value;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @inheritdoc
|
73 |
+
*/
|
74 |
+
public static function getAccessOption() {
|
75 |
+
return 'feature.login-redirect.capability';
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @inheritdoc
|
80 |
+
*/
|
81 |
+
public static function getTemplate() {
|
82 |
+
return 'object/login-redirect.phtml';
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Register Contact/Hire feature
|
87 |
+
*
|
88 |
+
* @return void
|
89 |
+
*
|
90 |
+
* @access public
|
91 |
+
*/
|
92 |
+
public static function register() {
|
93 |
+
$cap = AAM_Core_Config::get(self::getAccessOption(), 'administrator');
|
94 |
+
|
95 |
+
AAM_Backend_Feature::registerFeature((object) array(
|
96 |
+
'uid' => 'login_redirect',
|
97 |
+
'position' => 40,
|
98 |
+
'title' => __('Login Redirect', AAM_KEY),
|
99 |
+
'capability' => $cap,
|
100 |
+
'subjects' => array(
|
101 |
+
'AAM_Core_Subject_Role',
|
102 |
+
'AAM_Core_Subject_User',
|
103 |
+
'AAM_Core_Subject_Default'
|
104 |
+
),
|
105 |
+
'view' => __CLASS__
|
106 |
+
));
|
107 |
+
}
|
108 |
+
|
109 |
+
}
|
Application/Backend/Feature/Menu.php
CHANGED
@@ -33,7 +33,7 @@ class AAM_Backend_Feature_Menu extends AAM_Backend_Feature_Abstract {
|
|
33 |
/**
|
34 |
* Get subject's menu
|
35 |
*
|
36 |
-
* Based on the list of
|
37 |
* complete menu list and return it.
|
38 |
*
|
39 |
* @return array
|
@@ -104,7 +104,8 @@ class AAM_Backend_Feature_Menu extends AAM_Backend_Feature_Abstract {
|
|
104 |
|
105 |
if (isset($submenu[$menu])) {
|
106 |
foreach ($submenu[$menu] as $item) {
|
107 |
-
if ($subject->hasCapability($item[1])
|
|
|
108 |
$response[] = array(
|
109 |
'id' => $item[2],
|
110 |
'name' => $this->filterMenuName($item[0]),
|
@@ -188,7 +189,11 @@ class AAM_Backend_Feature_Menu extends AAM_Backend_Feature_Abstract {
|
|
188 |
'position' => 5,
|
189 |
'title' => __('Backend Menu', AAM_KEY),
|
190 |
'capability' => $cap,
|
191 |
-
'subjects' => array(
|
|
|
|
|
|
|
|
|
192 |
'view' => __CLASS__
|
193 |
));
|
194 |
}
|
33 |
/**
|
34 |
* Get subject's menu
|
35 |
*
|
36 |
+
* Based on the list of capabilities that current subject has, prepare
|
37 |
* complete menu list and return it.
|
38 |
*
|
39 |
* @return array
|
104 |
|
105 |
if (isset($submenu[$menu])) {
|
106 |
foreach ($submenu[$menu] as $item) {
|
107 |
+
if ($subject->hasCapability($item[1])
|
108 |
+
|| is_a($subject, 'AAM_Core_Subject_Default')) {
|
109 |
$response[] = array(
|
110 |
'id' => $item[2],
|
111 |
'name' => $this->filterMenuName($item[0]),
|
189 |
'position' => 5,
|
190 |
'title' => __('Backend Menu', AAM_KEY),
|
191 |
'capability' => $cap,
|
192 |
+
'subjects' => array(
|
193 |
+
'AAM_Core_Subject_Role',
|
194 |
+
'AAM_Core_Subject_User',
|
195 |
+
'AAM_Core_Subject_Default'
|
196 |
+
),
|
197 |
'view' => __CLASS__
|
198 |
));
|
199 |
}
|
Application/Backend/Feature/Metabox.php
CHANGED
@@ -241,7 +241,8 @@ class AAM_Backend_Feature_Metabox extends AAM_Backend_Feature_Abstract {
|
|
241 |
'subjects' => array(
|
242 |
'AAM_Core_Subject_Role',
|
243 |
'AAM_Core_Subject_User',
|
244 |
-
'AAM_Core_Subject_Visitor'
|
|
|
245 |
),
|
246 |
'view' => __CLASS__
|
247 |
));
|
241 |
'subjects' => array(
|
242 |
'AAM_Core_Subject_Role',
|
243 |
'AAM_Core_Subject_User',
|
244 |
+
'AAM_Core_Subject_Visitor',
|
245 |
+
'AAM_Core_Subject_Default'
|
246 |
),
|
247 |
'view' => __CLASS__
|
248 |
));
|
Application/Backend/Feature/Post.php
CHANGED
@@ -381,7 +381,8 @@ class AAM_Backend_Feature_Post extends AAM_Backend_Feature_Abstract {
|
|
381 |
'subjects' => array(
|
382 |
'AAM_Core_Subject_Role',
|
383 |
'AAM_Core_Subject_User',
|
384 |
-
'AAM_Core_Subject_Visitor'
|
|
|
385 |
),
|
386 |
'view' => __CLASS__
|
387 |
));
|
381 |
'subjects' => array(
|
382 |
'AAM_Core_Subject_Role',
|
383 |
'AAM_Core_Subject_User',
|
384 |
+
'AAM_Core_Subject_Visitor',
|
385 |
+
'AAM_Core_Subject_Default'
|
386 |
),
|
387 |
'view' => __CLASS__
|
388 |
));
|
Application/Backend/Feature/Redirect.php
CHANGED
@@ -23,7 +23,7 @@ class AAM_Backend_Feature_Redirect extends AAM_Backend_Feature_Abstract {
|
|
23 |
$value = AAM_Core_Request::post('value');
|
24 |
$subject = AAM_Backend_View::getSubject();
|
25 |
|
26 |
-
if ($this->
|
27 |
AAM_Core_Config::set($param, $value);
|
28 |
} else {
|
29 |
do_action('aam-action-redirect-save', $subject, $param, $value);
|
@@ -46,11 +46,8 @@ class AAM_Backend_Feature_Redirect extends AAM_Backend_Feature_Abstract {
|
|
46 |
*
|
47 |
* @return type
|
48 |
*/
|
49 |
-
public function
|
50 |
-
|
51 |
-
$adminId = AAM_Core_Config::get('core.admin.id', 'administrator');
|
52 |
-
|
53 |
-
return ($subject->getUID() == 'role' && $subject->getId() == $adminId);
|
54 |
}
|
55 |
|
56 |
/**
|
@@ -61,7 +58,7 @@ class AAM_Backend_Feature_Redirect extends AAM_Backend_Feature_Abstract {
|
|
61 |
public function getOption($option, $default = null) {
|
62 |
$value = AAM_Core_Config::get($option, $default);
|
63 |
|
64 |
-
if (!$this->
|
65 |
$subject = AAM_Backend_View::getSubject();
|
66 |
$value = apply_filters(
|
67 |
'aam-filter-redirect-option', $value, $option, $subject
|
@@ -98,12 +95,13 @@ class AAM_Backend_Feature_Redirect extends AAM_Backend_Feature_Abstract {
|
|
98 |
AAM_Backend_Feature::registerFeature((object) array(
|
99 |
'uid' => 'redirect',
|
100 |
'position' => 30,
|
101 |
-
'title' => __('Redirect', AAM_KEY),
|
102 |
'capability' => $cap,
|
103 |
'subjects' => array(
|
104 |
'AAM_Core_Subject_Role',
|
105 |
'AAM_Core_Subject_User',
|
106 |
-
'AAM_Core_Subject_Visitor'
|
|
|
107 |
),
|
108 |
'view' => __CLASS__
|
109 |
));
|
23 |
$value = AAM_Core_Request::post('value');
|
24 |
$subject = AAM_Backend_View::getSubject();
|
25 |
|
26 |
+
if ($this->isDefault()) {
|
27 |
AAM_Core_Config::set($param, $value);
|
28 |
} else {
|
29 |
do_action('aam-action-redirect-save', $subject, $param, $value);
|
46 |
*
|
47 |
* @return type
|
48 |
*/
|
49 |
+
public function isDefault() {
|
50 |
+
return AAM_Backend_View::getSubject()->getUID() == 'default';
|
|
|
|
|
|
|
51 |
}
|
52 |
|
53 |
/**
|
58 |
public function getOption($option, $default = null) {
|
59 |
$value = AAM_Core_Config::get($option, $default);
|
60 |
|
61 |
+
if (!$this->isDefault()) {
|
62 |
$subject = AAM_Backend_View::getSubject();
|
63 |
$value = apply_filters(
|
64 |
'aam-filter-redirect-option', $value, $option, $subject
|
95 |
AAM_Backend_Feature::registerFeature((object) array(
|
96 |
'uid' => 'redirect',
|
97 |
'position' => 30,
|
98 |
+
'title' => __('Access Denied Redirect', AAM_KEY),
|
99 |
'capability' => $cap,
|
100 |
'subjects' => array(
|
101 |
'AAM_Core_Subject_Role',
|
102 |
'AAM_Core_Subject_User',
|
103 |
+
'AAM_Core_Subject_Visitor',
|
104 |
+
'AAM_Core_Subject_Default'
|
105 |
),
|
106 |
'view' => __CLASS__
|
107 |
));
|
Application/Backend/Feature/Teaser.php
CHANGED
@@ -23,7 +23,7 @@ class AAM_Backend_Feature_Teaser extends AAM_Backend_Feature_Abstract {
|
|
23 |
$value = AAM_Core_Request::post('value');
|
24 |
$subject = AAM_Backend_View::getSubject();
|
25 |
|
26 |
-
if ($this->
|
27 |
AAM_Core_Config::set($param, $value);
|
28 |
} else {
|
29 |
do_action('aam-action-teaser-save', $subject, $param, $value);
|
@@ -46,11 +46,8 @@ class AAM_Backend_Feature_Teaser extends AAM_Backend_Feature_Abstract {
|
|
46 |
*
|
47 |
* @return type
|
48 |
*/
|
49 |
-
public function
|
50 |
-
|
51 |
-
$adminId = AAM_Core_Config::get('core.admin.id', 'administrator');
|
52 |
-
|
53 |
-
return ($subject->getUID() == 'role' && $subject->getId() == $adminId);
|
54 |
}
|
55 |
|
56 |
/**
|
@@ -61,7 +58,7 @@ class AAM_Backend_Feature_Teaser extends AAM_Backend_Feature_Abstract {
|
|
61 |
public function getOption($option, $default = null) {
|
62 |
$value = AAM_Core_Config::get($option, $default);
|
63 |
|
64 |
-
if (!$this->
|
65 |
$subject = AAM_Backend_View::getSubject();
|
66 |
$value = apply_filters(
|
67 |
'aam-filter-teaser-option', $value, $option, $subject
|
@@ -103,7 +100,8 @@ class AAM_Backend_Feature_Teaser extends AAM_Backend_Feature_Abstract {
|
|
103 |
'subjects' => array(
|
104 |
'AAM_Core_Subject_Role',
|
105 |
'AAM_Core_Subject_User',
|
106 |
-
'AAM_Core_Subject_Visitor'
|
|
|
107 |
),
|
108 |
'view' => __CLASS__
|
109 |
));
|
23 |
$value = AAM_Core_Request::post('value');
|
24 |
$subject = AAM_Backend_View::getSubject();
|
25 |
|
26 |
+
if ($this->isDefault()) {
|
27 |
AAM_Core_Config::set($param, $value);
|
28 |
} else {
|
29 |
do_action('aam-action-teaser-save', $subject, $param, $value);
|
46 |
*
|
47 |
* @return type
|
48 |
*/
|
49 |
+
public function isDefault() {
|
50 |
+
return (AAM_Backend_View::getSubject()->getUID() == 'default');
|
|
|
|
|
|
|
51 |
}
|
52 |
|
53 |
/**
|
58 |
public function getOption($option, $default = null) {
|
59 |
$value = AAM_Core_Config::get($option, $default);
|
60 |
|
61 |
+
if (!$this->isDefault()) {
|
62 |
$subject = AAM_Backend_View::getSubject();
|
63 |
$value = apply_filters(
|
64 |
'aam-filter-teaser-option', $value, $option, $subject
|
100 |
'subjects' => array(
|
101 |
'AAM_Core_Subject_Role',
|
102 |
'AAM_Core_Subject_User',
|
103 |
+
'AAM_Core_Subject_Visitor',
|
104 |
+
'AAM_Core_Subject_Default'
|
105 |
),
|
106 |
'view' => __CLASS__
|
107 |
));
|
Application/Backend/Feature/Utility.php
CHANGED
@@ -91,9 +91,7 @@ class AAM_Backend_Feature_Utility extends AAM_Backend_Feature_Abstract {
|
|
91 |
'title' => __('Utilities', AAM_KEY),
|
92 |
'capability' => $cap,
|
93 |
'subjects' => array(
|
94 |
-
'AAM_Core_Subject_Role'
|
95 |
-
'AAM_Core_Subject_User',
|
96 |
-
'AAM_Core_Subject_Visitor'
|
97 |
),
|
98 |
'view' => __CLASS__
|
99 |
));
|
91 |
'title' => __('Utilities', AAM_KEY),
|
92 |
'capability' => $cap,
|
93 |
'subjects' => array(
|
94 |
+
'AAM_Core_Subject_Role'
|
|
|
|
|
95 |
),
|
96 |
'view' => __CLASS__
|
97 |
));
|
Application/Backend/Manager.php
CHANGED
@@ -32,6 +32,9 @@ class AAM_Backend_Manager {
|
|
32 |
* @access protected
|
33 |
*/
|
34 |
protected function __construct() {
|
|
|
|
|
|
|
35 |
//check if user switch is required
|
36 |
$this->checkUserSwitch();
|
37 |
|
@@ -87,6 +90,19 @@ class AAM_Backend_Manager {
|
|
87 |
AAM_Backend_View_CodePinch::bootstrap();
|
88 |
}
|
89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
/**
|
91 |
*
|
92 |
*/
|
@@ -307,10 +323,7 @@ class AAM_Backend_Manager {
|
|
307 |
*/
|
308 |
public function printJavascript() {
|
309 |
if (AAM::isAAM()) {
|
310 |
-
wp_enqueue_script('aam-
|
311 |
-
wp_enqueue_script('aam-dt', AAM_MEDIA . '/js/datatables.min.js');
|
312 |
-
wp_enqueue_script('aam-dwn', AAM_MEDIA . '/js/download.min.js');
|
313 |
-
wp_enqueue_script('aam-utl-tg', AAM_MEDIA . '/js/toggle.min.js');
|
314 |
wp_enqueue_script('aam-main', AAM_MEDIA . '/js/aam.js');
|
315 |
|
316 |
//add plugin localization
|
32 |
* @access protected
|
33 |
*/
|
34 |
protected function __construct() {
|
35 |
+
//check if user is allowed to see backend
|
36 |
+
$this->checkUserAccess();
|
37 |
+
|
38 |
//check if user switch is required
|
39 |
$this->checkUserSwitch();
|
40 |
|
90 |
AAM_Backend_View_CodePinch::bootstrap();
|
91 |
}
|
92 |
|
93 |
+
/**
|
94 |
+
*
|
95 |
+
*/
|
96 |
+
protected function checkUserAccess() {
|
97 |
+
$all = AAM_Core_API::getAllCapabilities();
|
98 |
+
|
99 |
+
if (isset($all['access_dashboard']) && get_current_user_id()) {
|
100 |
+
if (empty(AAM::getUser()->allcaps['access_dashboard'])) {
|
101 |
+
AAM_Core_API::reject('backend');
|
102 |
+
}
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
/**
|
107 |
*
|
108 |
*/
|
323 |
*/
|
324 |
public function printJavascript() {
|
325 |
if (AAM::isAAM()) {
|
326 |
+
wp_enqueue_script('aam-vendor', AAM_MEDIA . '/js/vendor.js');
|
|
|
|
|
|
|
327 |
wp_enqueue_script('aam-main', AAM_MEDIA . '/js/aam.js');
|
328 |
|
329 |
//add plugin localization
|
Application/Backend/View.php
CHANGED
@@ -57,6 +57,7 @@ class AAM_Backend_View {
|
|
57 |
AAM_Backend_Feature_Post::register();
|
58 |
AAM_Backend_Feature_Redirect::register();
|
59 |
AAM_Backend_Feature_Teaser::register();
|
|
|
60 |
AAM_Backend_Feature_Extension::register();
|
61 |
AAM_Backend_Feature_Utility::register();
|
62 |
AAM_Backend_Feature_Contact::register();
|
57 |
AAM_Backend_Feature_Post::register();
|
58 |
AAM_Backend_Feature_Redirect::register();
|
59 |
AAM_Backend_Feature_Teaser::register();
|
60 |
+
AAM_Backend_Feature_LoginRedirect::register();
|
61 |
AAM_Backend_Feature_Extension::register();
|
62 |
AAM_Backend_Feature_Utility::register();
|
63 |
AAM_Backend_Feature_Contact::register();
|
Application/Backend/View/ProductList.php
CHANGED
@@ -22,9 +22,9 @@ return array(
|
|
22 |
'title' => 'AAM Redirect',
|
23 |
'id' => 'AAM Redirect',
|
24 |
'type' => 'commercial',
|
25 |
-
'price' => '$
|
26 |
'new' => true,
|
27 |
-
'description' => '
|
28 |
'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QAM3P45X6PKUU',
|
29 |
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Redirect'),
|
30 |
'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Redirect')
|
@@ -35,11 +35,22 @@ return array(
|
|
35 |
'type' => 'commercial',
|
36 |
'price' => '$10 <small>USD</small>',
|
37 |
'new' => true,
|
38 |
-
'description' => '
|
39 |
'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3NG4CZX3WEH7L',
|
40 |
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Content Teaser'),
|
41 |
'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Content Teaser')
|
42 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
array(
|
44 |
'title' => 'AAM Role Hierarchy',
|
45 |
'id' => 'AAM Role Hierarchy',
|
22 |
'title' => 'AAM Redirect',
|
23 |
'id' => 'AAM Redirect',
|
24 |
'type' => 'commercial',
|
25 |
+
'price' => '$10 <small>USD</small>',
|
26 |
'new' => true,
|
27 |
+
'description' => 'Setup customized redirect or "Access Denied" message for each role, individual user or visitors. <a href="http://vasyltech.com/blog/aam-redirect-extension" target="_blank">Read more.</a>',
|
28 |
'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QAM3P45X6PKUU',
|
29 |
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Redirect'),
|
30 |
'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Redirect')
|
35 |
'type' => 'commercial',
|
36 |
'price' => '$10 <small>USD</small>',
|
37 |
'new' => true,
|
38 |
+
'description' => 'Setup customized teaser message for any user role, individual user or visitors. <a href="http://vasyltech.com/blog/aam-content-teaser" target="_blank">Read more.</a>',
|
39 |
'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3NG4CZX3WEH7L',
|
40 |
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Content Teaser'),
|
41 |
'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Content Teaser')
|
42 |
),
|
43 |
+
array(
|
44 |
+
'title' => 'AAM Login Redirect',
|
45 |
+
'id' => 'AAM Login Redirect',
|
46 |
+
'type' => 'commercial',
|
47 |
+
'price' => '$10 <small>USD</small>',
|
48 |
+
'new' => true,
|
49 |
+
'description' => 'Setup customized login redirect for any user or user role. <a href="http://vasyltech.com/blog/aam-login-redirect" target="_blank">Read more.</a>',
|
50 |
+
'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=PQCF4AEK856TG',
|
51 |
+
'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Login Redirect'),
|
52 |
+
'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Login Redirect')
|
53 |
+
),
|
54 |
array(
|
55 |
'title' => 'AAM Role Hierarchy',
|
56 |
'id' => 'AAM Role Hierarchy',
|
Application/Backend/phtml/index.phtml
CHANGED
@@ -84,6 +84,7 @@
|
|
84 |
<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>
|
85 |
<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>
|
86 |
<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>
|
|
|
87 |
</ul>
|
88 |
<div class="tab-content">
|
89 |
<div role="tabpanel" class="tab-pane active" id="roles">
|
@@ -152,7 +153,7 @@
|
|
152 |
<h4 class="modal-title"><?php echo __('Delete Role', AAM_KEY); ?></h4>
|
153 |
</div>
|
154 |
<div class="modal-body">
|
155 |
-
<p class="text-center aam-confirm-message" data-message="<?php echo __('Are you sure that you want to delete %s role?', AAM_KEY); ?>"></p>
|
156 |
</div>
|
157 |
<div class="modal-footer">
|
158 |
<button type="button" class="btn btn-danger" id="delete-role-btn"><?php echo __('Delete', AAM_KEY); ?></button>
|
@@ -182,6 +183,12 @@
|
|
182 |
<button class="btn btn-primary btn-block" id="manage-visitor"><i class="icon-cog"></i> <?php echo __('Manage Visitors', AAM_KEY); ?></button>
|
183 |
</div>
|
184 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
</div>
|
186 |
</div>
|
187 |
<div class="aam-help-context">
|
@@ -203,6 +210,11 @@
|
|
203 |
<strong><i class="icon-user-secret"></i> <?php echo __('Visitor', AAM_KEY); ?></strong><br/>
|
204 |
<?php echo __('Visitor can be considered any user that is not authenticated to your website.', AAM_KEY); ?>
|
205 |
</p>
|
|
|
|
|
|
|
|
|
|
|
206 |
</div>
|
207 |
</div>
|
208 |
</div>
|
@@ -214,9 +226,9 @@
|
|
214 |
<div class="postbox">
|
215 |
<div class="inside text-center">
|
216 |
<div class="inner-sm">
|
217 |
-
<p class="text-muted text-larger"><?php echo __('
|
218 |
-
<a href="<?php echo AAM_Backend_View_CodePinch::getUrl(AAM_CODEPINCH_AFFILIATE_CODE); ?>" class="btn btn-lg btn-
|
219 |
-
<img src="http://codepinch.io/frontend/img/codepinch-icon.svg" /> Install
|
220 |
</a>
|
221 |
</div>
|
222 |
</div>
|
84 |
<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>
|
85 |
<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>
|
86 |
<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>
|
87 |
+
<li role="presentation"><a href="#default" aria-controls="default" role="tab" data-toggle="tab" class="text-danger"><i class="icon-asterisk"></i> <?php echo __('Default', AAM_KEY); ?></a></li>
|
88 |
</ul>
|
89 |
<div class="tab-content">
|
90 |
<div role="tabpanel" class="tab-pane active" id="roles">
|
153 |
<h4 class="modal-title"><?php echo __('Delete Role', AAM_KEY); ?></h4>
|
154 |
</div>
|
155 |
<div class="modal-body">
|
156 |
+
<p class="text-center aam-confirm-message alert alert-danger" data-message="<?php echo __('Are you sure that you want to delete the %s role?', AAM_KEY); ?>"></p>
|
157 |
</div>
|
158 |
<div class="modal-footer">
|
159 |
<button type="button" class="btn btn-danger" id="delete-role-btn"><?php echo __('Delete', AAM_KEY); ?></button>
|
183 |
<button class="btn btn-primary btn-block" id="manage-visitor"><i class="icon-cog"></i> <?php echo __('Manage Visitors', AAM_KEY); ?></button>
|
184 |
</div>
|
185 |
</div>
|
186 |
+
<div role="tabpanel" class="tab-pane" id="default">
|
187 |
+
<div class="visitor-message">
|
188 |
+
<span class="aam-bordered"><?php echo __('Manage default access to your website resources for all users, roles and visitor. This includes Administrator role and your user', AAM_KEY); ?>.</span>
|
189 |
+
<button class="btn btn-danger btn-block" id="manage-default"><i class="icon-cog"></i> <?php echo __('Manage Default', AAM_KEY); ?></button>
|
190 |
+
</div>
|
191 |
+
</div>
|
192 |
</div>
|
193 |
</div>
|
194 |
<div class="aam-help-context">
|
210 |
<strong><i class="icon-user-secret"></i> <?php echo __('Visitor', AAM_KEY); ?></strong><br/>
|
211 |
<?php echo __('Visitor can be considered any user that is not authenticated to your website.', AAM_KEY); ?>
|
212 |
</p>
|
213 |
+
|
214 |
+
<p class="text-justify">
|
215 |
+
<strong><i class="icon-asterisk"></i> <?php echo __('Default', AAM_KEY); ?></strong><br/>
|
216 |
+
<?php echo __('Manage default access settings to your website resources for all users, roles and visitors.', AAM_KEY); ?>
|
217 |
+
</p>
|
218 |
</div>
|
219 |
</div>
|
220 |
</div>
|
226 |
<div class="postbox">
|
227 |
<div class="inside text-center">
|
228 |
<div class="inner-sm">
|
229 |
+
<p class="text-muted text-larger"><?php echo __('Improve your website security and track all PHP errors for free.', AAM_KEY); ?></p>
|
230 |
+
<a href="<?php echo AAM_Backend_View_CodePinch::getUrl(AAM_CODEPINCH_AFFILIATE_CODE); ?>" class="btn btn-lg btn-success" target="_blank">
|
231 |
+
<img src="http://codepinch.io/frontend/img/codepinch-icon.svg" /> Install CodePinch
|
232 |
</a>
|
233 |
</div>
|
234 |
</div>
|
Application/Backend/phtml/object/login-redirect.phtml
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<div class="aam-feature" id="login_redirect-content">
|
3 |
+
<div class="row">
|
4 |
+
<div class="col-xs-12">
|
5 |
+
<?php if ($this->isDefault() || defined('AAM_LOGIN_REDIRECT')) { ?>
|
6 |
+
<?php echo apply_filters('aam-login-redirect-ui-filter', AAM_Backend_View::getInstance()->loadPartial('login-redirect.phtml')); ?>
|
7 |
+
<?php } ?>
|
8 |
+
</div>
|
9 |
+
</div>
|
10 |
+
|
11 |
+
<?php if ($this->isDefault() || defined('AAM_LOGIN_REDIRECT')) { ?>
|
12 |
+
<div class="row">
|
13 |
+
<div class="col-xs-12">
|
14 |
+
<?php $type = $this->getOption('login.redirect.type', 'default'); ?>
|
15 |
+
|
16 |
+
<div class="radio">
|
17 |
+
<input type="radio" name="login.redirect.type" id="login-redirect-default" data-action="#default-redirect-action" value="default"<?php echo ($type == 'default' ? ' checked' : ''); ?> />
|
18 |
+
<label for="login-redirect-default"><?php echo AAM_Backend_View_Helper::preparePhrase('WordPress default behavior'); ?></label>
|
19 |
+
</div>
|
20 |
+
<div class="radio">
|
21 |
+
<input type="radio" name="login.redirect.type" id="login-redirect-page" data-action="#page-redirect-action" value="page"<?php echo ($type == 'page' ? ' checked' : ''); ?> />
|
22 |
+
<label for="login-redirect-page"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to existing page [(select from the drop-down)]', 'small'); ?></label>
|
23 |
+
</div>
|
24 |
+
<div class="radio">
|
25 |
+
<input type="radio" name="login.redirect.type" id="login-redirect-url" data-action="#url-redirect-action" value="url"<?php echo ($type == 'url' ? ' checked' : ''); ?> />
|
26 |
+
<label for="login-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to the URL [(enter full URL starting from http or https)]', 'small'); ?></label>
|
27 |
+
</div>
|
28 |
+
<div class="radio">
|
29 |
+
<input type="radio" name="login.redirect.type" id="login-redirect-callback" data-action="#callback-redirect-action" value="callback"<?php echo ($type == 'callback' ? ' checked' : ''); ?> />
|
30 |
+
<label for="login-redirect-callback"><?php echo sprintf(AAM_Backend_View_Helper::preparePhrase('Trigger PHP callback function [(valid %sPHP callback%s is required)]', 'small'), '<a href="http://php.net/manual/en/language.types.callable.php" target="_blank">', '</a>'); ?></label>
|
31 |
+
</div>
|
32 |
+
|
33 |
+
<div class="form-group login-redirect-action" id="page-redirect-action" style="display: <?php echo ($type == 'page' ? 'block' : 'none'); ?>;">
|
34 |
+
<label><?php echo __('Existing Page', AAM_KEY); ?></label>
|
35 |
+
<?php
|
36 |
+
wp_dropdown_pages(array(
|
37 |
+
'depth' => 99,
|
38 |
+
'selected' => $this->getOption('login.redirect.page'),
|
39 |
+
'echo' => 1,
|
40 |
+
'name' => 'login.redirect.page',
|
41 |
+
'id' => 'page-redirect', // string
|
42 |
+
'class' => 'form-control', // string
|
43 |
+
'show_option_none' => __('-- Select Page --', AAM_KEY) // string
|
44 |
+
));
|
45 |
+
?>
|
46 |
+
</div>
|
47 |
+
|
48 |
+
<div class="form-group login-redirect-action" id="url-redirect-action" style="display: <?php echo ($type == 'url' ? 'block' : 'none'); ?>;">
|
49 |
+
<label><?php echo __('The URL', AAM_KEY); ?></label>
|
50 |
+
<input type="text" class="form-control" name="login.redirect.url" placeholder="http://" value="<?php echo $this->getOption('login.redirect.url'); ?>" />
|
51 |
+
</div>
|
52 |
+
|
53 |
+
<div class="form-group login-redirect-action" id="callback-redirect-action" style="display: <?php echo ($type == 'callback' ? 'block' : 'none'); ?>;">
|
54 |
+
<label><?php echo __('PHP Callback Function', AAM_KEY); ?></label>
|
55 |
+
<input type="text" class="form-control" placeholder="Enter valid callback" name="login.redirect.callback" value="<?php echo $this->getOption('login.redirect.callback'); ?>" />
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
</div>
|
59 |
+
<?php } else { ?>
|
60 |
+
<p class="aam-notification">
|
61 |
+
<?php echo AAM_Backend_View_Helper::preparePhrase('You are allowed to setup only the [default] login redirect for all users and roles. With [AAM Login Redirect] extension you can customize the redirect for any user, role.', 'b', 'b'); ?>
|
62 |
+
</p>
|
63 |
+
<?php } ?>
|
64 |
+
</div>
|
65 |
+
<?php }
|
Application/Backend/phtml/object/menu.phtml
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
<div class="row">
|
4 |
<div class="col-xs-12">
|
5 |
<p class="aam-info">
|
6 |
-
<?php echo sprintf(__('
|
7 |
</p>
|
8 |
</div>
|
9 |
</div>
|
@@ -12,7 +12,7 @@
|
|
12 |
<div class="row">
|
13 |
<div class="col-xs-12">
|
14 |
<div class="aam-overwrite">
|
15 |
-
<span><i class="icon-
|
16 |
<span><a href="#" id="menu-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a>
|
17 |
</div>
|
18 |
</div>
|
3 |
<div class="row">
|
4 |
<div class="col-xs-12">
|
5 |
<p class="aam-info">
|
6 |
+
<?php echo sprintf(__('Learn how to manage access to the backend menu from %sthis article%s', AAM_KEY),'<a href="https://vasyltech.com/blog/manage-access-to-wordpress-backend-menu" target="_blank">', '</a>'); ?>
|
7 |
</p>
|
8 |
</div>
|
9 |
</div>
|
12 |
<div class="row">
|
13 |
<div class="col-xs-12">
|
14 |
<div class="aam-overwrite">
|
15 |
+
<span><i class="icon-check"></i> <?php echo __('Settings are customized', AAM_KEY); ?></span>
|
16 |
<span><a href="#" id="menu-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a>
|
17 |
</div>
|
18 |
</div>
|
Application/Backend/phtml/object/metabox.phtml
CHANGED
@@ -9,7 +9,7 @@
|
|
9 |
<div class="row">
|
10 |
<div class="col-xs-12">
|
11 |
<div class="aam-overwrite">
|
12 |
-
<span><i class="icon-
|
13 |
<span><a href="#" id="metabox-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a>
|
14 |
</div>
|
15 |
</div>
|
9 |
<div class="row">
|
10 |
<div class="col-xs-12">
|
11 |
<div class="aam-overwrite">
|
12 |
+
<span><i class="icon-check"></i> <?php echo __('Settings are customized', AAM_KEY); ?></span>
|
13 |
<span><a href="#" id="metabox-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a>
|
14 |
</div>
|
15 |
</div>
|
Application/Backend/phtml/object/post.phtml
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
<div class="row">
|
5 |
<div class="col-xs-12">
|
6 |
<p class="aam-notification">
|
7 |
-
<?php echo sprintf(AAM_Backend_View_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. For more information about post access control check %sthis article%s.', 'b'), '<a href="https://vasyltech.com/blog/manage-access-to-posts-and-pages" target="_blank">', '</a>'); ?>
|
8 |
</p>
|
9 |
</div>
|
10 |
</div>
|
@@ -18,104 +18,106 @@
|
|
18 |
</div>
|
19 |
<?php } ?>
|
20 |
|
21 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
-
<div class="aam-post-breadcrumb">
|
24 |
-
<a href="#" data-level="root"><i class="icon-home"></i> <?php echo __('Root', AAM_KEY); ?></a>
|
25 |
<?php if (!is_null($current)) { ?>
|
26 |
-
<
|
27 |
-
<i class="icon-angle-double-right"></i>
|
28 |
-
<?php echo $current->post_title; ?>
|
29 |
-
</span>
|
30 |
<?php } ?>
|
31 |
-
</div>
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
|
|
41 |
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
<th>ID</th>
|
47 |
-
<th>Link</th>
|
48 |
-
<th width="5%"> </th>
|
49 |
-
<th width="75%"><?php echo __('Title', AAM_KEY); ?></th>
|
50 |
-
<th><?php echo __('Actions', AAM_KEY); ?></th>
|
51 |
-
</tr>
|
52 |
-
</thead>
|
53 |
-
<tbody></tbody>
|
54 |
-
</table>
|
55 |
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
-
|
67 |
-
<table class="table table-striped table-bordered">
|
68 |
-
<tbody>
|
69 |
-
<tr>
|
70 |
-
<td colspan="2" class="aam-table-group">
|
71 |
-
<i class="icon-doc-text-inv"></i> <strong><?php echo __('Frontend', AAM_KEY); ?></strong>
|
72 |
-
</td>
|
73 |
-
</tr>
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
</td>
|
81 |
-
<td>
|
82 |
-
<div class="aam-row-actions">
|
83 |
-
<i class="aam-row-action text-muted icon-check-empty" data-property="frontend.<?php echo $option; ?>"></i>
|
84 |
-
</div>
|
85 |
-
</td>
|
86 |
-
</tr>
|
87 |
-
<?php } ?>
|
88 |
-
|
89 |
-
<?php do_action('aam-post-access-option-action', 'post', 'frontend'); ?>
|
90 |
|
91 |
-
|
92 |
-
<
|
93 |
-
<
|
94 |
-
|
95 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
<div class="aam-row-actions">
|
105 |
-
<i class="aam-row-action text-muted icon-check-empty" data-property="backend.<?php echo $option; ?>"></i>
|
106 |
-
</div>
|
107 |
-
</td>
|
108 |
-
</tr>
|
109 |
-
<?php } ?>
|
110 |
-
|
111 |
-
<?php do_action('aam-post-access-option-action', 'post', 'backend'); ?>
|
112 |
-
|
113 |
-
</tbody>
|
114 |
-
</table>
|
115 |
-
|
116 |
-
<a href="#" class="btn btn-xs btn-primary post-back">≪ <?php echo __('Go Back', AAM_KEY); ?></a>
|
117 |
</div>
|
118 |
-
|
119 |
</div>
|
120 |
<?php
|
121 |
}
|
4 |
<div class="row">
|
5 |
<div class="col-xs-12">
|
6 |
<p class="aam-notification">
|
7 |
+
<?php echo sprintf(AAM_Backend_View_Helper::preparePhrase('You are allowed to manage access up to 10 posts, pages or custom post types but only on role, user or visitor levels. Consider to purchase [AAM Plus Package] extension to unlock this limitation. For more information about post access control check %sthis article%s.', 'b'), '<a href="https://vasyltech.com/blog/manage-access-to-posts-and-pages" target="_blank">', '</a>'); ?>
|
8 |
</p>
|
9 |
</div>
|
10 |
</div>
|
18 |
</div>
|
19 |
<?php } ?>
|
20 |
|
21 |
+
<?php if (defined('AAM_PLUS_PACKAGE') || AAM_Backend_View::getSubject()->getUID() != 'default') { ?>
|
22 |
+
<?php $current = $this->getCurrentPost(); ?>
|
23 |
+
|
24 |
+
<div class="aam-post-breadcrumb">
|
25 |
+
<a href="#" data-level="root"><i class="icon-home"></i> <?php echo __('Root', AAM_KEY); ?></a>
|
26 |
+
<?php if (!is_null($current)) { ?>
|
27 |
+
<span>
|
28 |
+
<i class="icon-angle-double-right"></i>
|
29 |
+
<?php echo $current->post_title; ?>
|
30 |
+
</span>
|
31 |
+
<?php } ?>
|
32 |
+
</div>
|
33 |
+
|
34 |
+
<div class="aam-overwrite hidden" id="post-overwritten">
|
35 |
+
<span><i class="icon-check"></i> <?php echo __('Settings are customized', AAM_KEY); ?></span>
|
36 |
+
<span><a href="#" id="post-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a></span>
|
37 |
+
</div>
|
38 |
|
|
|
|
|
39 |
<?php if (!is_null($current)) { ?>
|
40 |
+
<input type="hidden" id="load-post" value="<?php echo $current->ID; ?>" />
|
|
|
|
|
|
|
41 |
<?php } ?>
|
|
|
42 |
|
43 |
+
<div class="aam-container">
|
44 |
+
<table id="post-list" class="table table-striped table-bordered">
|
45 |
+
<thead>
|
46 |
+
<tr>
|
47 |
+
<th>ID</th>
|
48 |
+
<th>Link</th>
|
49 |
+
<th width="5%"> </th>
|
50 |
+
<th width="75%"><?php echo __('Title', AAM_KEY); ?></th>
|
51 |
+
<th><?php echo __('Actions', AAM_KEY); ?></th>
|
52 |
+
</tr>
|
53 |
+
</thead>
|
54 |
+
<tbody></tbody>
|
55 |
+
</table>
|
56 |
|
57 |
+
<div class="aam-slide-form" data-type="type">
|
58 |
+
<?php echo apply_filters('aam-post-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('post-type.phtml')); ?>
|
59 |
+
<a href="#" class="btn btn-xs btn-primary post-back">≪ <?php echo __('Go Back', AAM_KEY); ?></a>
|
60 |
+
</div>
|
61 |
|
62 |
+
<div class="aam-slide-form" data-type="term">
|
63 |
+
<?php echo apply_filters('aam-term-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('term-type.phtml')); ?>
|
64 |
+
<a href="#" class="btn btn-xs btn-primary post-back">≪ <?php echo __('Go Back', AAM_KEY); ?></a>
|
65 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
|
67 |
+
<div class="aam-slide-form" data-type="post">
|
68 |
+
<table class="table table-striped table-bordered">
|
69 |
+
<tbody>
|
70 |
+
<tr>
|
71 |
+
<td colspan="2" class="aam-table-group">
|
72 |
+
<i class="icon-doc-text-inv"></i> <strong><?php echo __('Frontend', AAM_KEY); ?></strong>
|
73 |
+
</td>
|
74 |
+
</tr>
|
75 |
|
76 |
+
<?php foreach($this->getAccessOptionList('frontend') as $option => $data) { ?>
|
77 |
+
<tr>
|
78 |
+
<td width="90%">
|
79 |
+
<strong class="aam-block aam-highlight text-uppercase"><?php echo $data['title']; ?></strong>
|
80 |
+
<p class="aam-hint" data-dynamic-post-label="<?php echo $data['descr']; ?>"></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.<?php echo $option; ?>"></i>
|
85 |
+
</div>
|
86 |
+
</td>
|
87 |
+
</tr>
|
88 |
+
<?php } ?>
|
89 |
|
90 |
+
<?php do_action('aam-post-access-option-action', 'post', 'frontend'); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
|
92 |
+
<tr class="aam-backend-post-access">
|
93 |
+
<td colspan="2" class="aam-table-group">
|
94 |
+
<i class="icon-doc-text-inv"></i> <strong><?php echo __('Backend', AAM_KEY); ?></strong>
|
95 |
+
</td>
|
96 |
+
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
+
<?php foreach($this->getAccessOptionList('backend') as $option => $data) { ?>
|
99 |
+
<tr class="aam-backend-post-access">
|
100 |
+
<td width="90%">
|
101 |
+
<strong class="aam-block aam-highlight text-uppercase"><?php echo $data['title']; ?></strong>
|
102 |
+
<p class="aam-hint" data-dynamic-post-label="<?php echo $data['descr']; ?>"></p>
|
103 |
+
</td>
|
104 |
+
<td>
|
105 |
+
<div class="aam-row-actions">
|
106 |
+
<i class="aam-row-action text-muted icon-check-empty" data-property="backend.<?php echo $option; ?>"></i>
|
107 |
+
</div>
|
108 |
+
</td>
|
109 |
+
</tr>
|
110 |
+
<?php } ?>
|
111 |
|
112 |
+
<?php do_action('aam-post-access-option-action', 'post', 'backend'); ?>
|
113 |
+
|
114 |
+
</tbody>
|
115 |
+
</table>
|
116 |
+
|
117 |
+
<a href="#" class="btn btn-xs btn-primary post-back">≪ <?php echo __('Go Back', AAM_KEY); ?></a>
|
118 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
</div>
|
120 |
+
<?php } ?>
|
121 |
</div>
|
122 |
<?php
|
123 |
}
|
Application/Backend/phtml/object/redirect.phtml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<div class="aam-feature" id="redirect-content">
|
3 |
<div class="row">
|
4 |
<div class="col-xs-12">
|
5 |
-
<?php if ($this->
|
6 |
<?php echo apply_filters('aam-redirect-ui-filter', AAM_Backend_View::getInstance()->loadPartial('redirect.phtml')); ?>
|
7 |
<?php } ?>
|
8 |
</div>
|
@@ -10,7 +10,7 @@
|
|
10 |
|
11 |
<div class="row">
|
12 |
<div class="col-xs-12">
|
13 |
-
<?php if ($this->
|
14 |
<div>
|
15 |
<ul class="nav nav-tabs" role="tablist">
|
16 |
<li role="presentation" class="active"><a href="#frontend-redirect" aria-controls="frontend-redirect" role="tab" data-toggle="tab"><i class="icon-home"></i> <?php echo __('Frontend Redirect', AAM_KEY); ?></a></li>
|
@@ -36,7 +36,7 @@
|
|
36 |
</div>
|
37 |
<div class="radio">
|
38 |
<input type="radio" name="frontend.redirect.type" id="frontend-redirect-url" data-action="#frontend-url-action" value="url" data-group="frontend-redirect"<?php echo ($frontendType == 'url' ? ' checked' : ''); ?> />
|
39 |
-
<label for="frontend-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to
|
40 |
</div>
|
41 |
<div class="radio">
|
42 |
<input type="radio" name="frontend.redirect.type" id="frontend-redirect-callback" data-action="#frontend-callback-action" value="callback" data-group="frontend-redirect"<?php echo ($frontendType == 'callback' ? ' checked' : ''); ?> />
|
@@ -57,14 +57,14 @@
|
|
57 |
'echo' => 1,
|
58 |
'name' => 'frontend.redirect.page',
|
59 |
'id' => 'frontend-page', // string
|
60 |
-
'class' => '
|
61 |
'show_option_none' => __('-- Select Page --', AAM_KEY) // string
|
62 |
));
|
63 |
?>
|
64 |
</div>
|
65 |
|
66 |
<div class="form-group aam-redirect-action frontend-redirect" id="frontend-url-action" style="display: <?php echo ($frontendType == 'url' ? 'block' : 'none'); ?>;">
|
67 |
-
<label for="frontend-url"><?php echo __('
|
68 |
<input type="text" class="form-control" name="frontend.redirect.url" placeholder="http://" value="<?php echo $this->getOption('frontend.redirect.url'); ?>" />
|
69 |
</div>
|
70 |
|
@@ -84,7 +84,7 @@
|
|
84 |
</div>
|
85 |
<div class="radio">
|
86 |
<input type="radio" name="backend.redirect.type" id="backend-redirect-url" data-action="#backend-url" value="url" data-group="backend-redirect"<?php echo ($backendType == 'url' ? ' checked' : ''); ?> />
|
87 |
-
<label for="backend-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to
|
88 |
</div>
|
89 |
<div class="radio">
|
90 |
<input type="radio" name="backend.redirect.type" id="backend-redirect-callback" data-action="#backend-callback-action" value="callback" data-group="backend-redirect"<?php echo ($backendType == 'callback' ? ' checked' : ''); ?> />
|
@@ -97,7 +97,7 @@
|
|
97 |
</div>
|
98 |
|
99 |
<div class="form-group aam-redirect-action backend-redirect" id="backend-url" style="display: <?php echo ($backendType == 'url' ? 'block' : 'none'); ?>;">
|
100 |
-
<label for="backend-url"><?php echo __('
|
101 |
<input type="text" class="form-control" placeholder="http://" name="backend.redirect.url" value="<?php echo $this->getOption('backend.redirect.url'); ?>" />
|
102 |
</div>
|
103 |
<div class="form-group aam-redirect-action backend-redirect" id="backend-callback-action" style="display: <?php echo ($backendType == 'callback' ? 'block' : 'none'); ?>;">
|
@@ -109,7 +109,7 @@
|
|
109 |
</div>
|
110 |
<?php } else { ?>
|
111 |
<p class="aam-notification">
|
112 |
-
<?php echo
|
113 |
</p>
|
114 |
<?php } ?>
|
115 |
</div>
|
2 |
<div class="aam-feature" id="redirect-content">
|
3 |
<div class="row">
|
4 |
<div class="col-xs-12">
|
5 |
+
<?php if ($this->isDefault() || defined('AAM_REDIRECT')) { ?>
|
6 |
<?php echo apply_filters('aam-redirect-ui-filter', AAM_Backend_View::getInstance()->loadPartial('redirect.phtml')); ?>
|
7 |
<?php } ?>
|
8 |
</div>
|
10 |
|
11 |
<div class="row">
|
12 |
<div class="col-xs-12">
|
13 |
+
<?php if ($this->isDefault() || defined('AAM_REDIRECT')) { ?>
|
14 |
<div>
|
15 |
<ul class="nav nav-tabs" role="tablist">
|
16 |
<li role="presentation" class="active"><a href="#frontend-redirect" aria-controls="frontend-redirect" role="tab" data-toggle="tab"><i class="icon-home"></i> <?php echo __('Frontend Redirect', AAM_KEY); ?></a></li>
|
36 |
</div>
|
37 |
<div class="radio">
|
38 |
<input type="radio" name="frontend.redirect.type" id="frontend-redirect-url" data-action="#frontend-url-action" value="url" data-group="frontend-redirect"<?php echo ($frontendType == 'url' ? ' checked' : ''); ?> />
|
39 |
+
<label for="frontend-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to the URL [(enter valid URL starting from http or https)]', 'small'); ?></label>
|
40 |
</div>
|
41 |
<div class="radio">
|
42 |
<input type="radio" name="frontend.redirect.type" id="frontend-redirect-callback" data-action="#frontend-callback-action" value="callback" data-group="frontend-redirect"<?php echo ($frontendType == 'callback' ? ' checked' : ''); ?> />
|
57 |
'echo' => 1,
|
58 |
'name' => 'frontend.redirect.page',
|
59 |
'id' => 'frontend-page', // string
|
60 |
+
'class' => 'form-control', // string
|
61 |
'show_option_none' => __('-- Select Page --', AAM_KEY) // string
|
62 |
));
|
63 |
?>
|
64 |
</div>
|
65 |
|
66 |
<div class="form-group aam-redirect-action frontend-redirect" id="frontend-url-action" style="display: <?php echo ($frontendType == 'url' ? 'block' : 'none'); ?>;">
|
67 |
+
<label for="frontend-url"><?php echo __('The URL', AAM_KEY); ?></label>
|
68 |
<input type="text" class="form-control" name="frontend.redirect.url" placeholder="http://" value="<?php echo $this->getOption('frontend.redirect.url'); ?>" />
|
69 |
</div>
|
70 |
|
84 |
</div>
|
85 |
<div class="radio">
|
86 |
<input type="radio" name="backend.redirect.type" id="backend-redirect-url" data-action="#backend-url" value="url" data-group="backend-redirect"<?php echo ($backendType == 'url' ? ' checked' : ''); ?> />
|
87 |
+
<label for="backend-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to the URL [(enter valid URL starting from http or https)]', 'small'); ?></label>
|
88 |
</div>
|
89 |
<div class="radio">
|
90 |
<input type="radio" name="backend.redirect.type" id="backend-redirect-callback" data-action="#backend-callback-action" value="callback" data-group="backend-redirect"<?php echo ($backendType == 'callback' ? ' checked' : ''); ?> />
|
97 |
</div>
|
98 |
|
99 |
<div class="form-group aam-redirect-action backend-redirect" id="backend-url" style="display: <?php echo ($backendType == 'url' ? 'block' : 'none'); ?>;">
|
100 |
+
<label for="backend-url"><?php echo __('The URL', AAM_KEY); ?></label>
|
101 |
<input type="text" class="form-control" placeholder="http://" name="backend.redirect.url" value="<?php echo $this->getOption('backend.redirect.url'); ?>" />
|
102 |
</div>
|
103 |
<div class="form-group aam-redirect-action backend-redirect" id="backend-callback-action" style="display: <?php echo ($backendType == 'callback' ? 'block' : 'none'); ?>;">
|
109 |
</div>
|
110 |
<?php } else { ?>
|
111 |
<p class="aam-notification">
|
112 |
+
<?php echo AAM_Backend_View_Helper::preparePhrase('You are allowed to setup only the [default] access denied redirect for all users, roles and visitor. With [AAM Redirect] extension you can customize redirect for any user, role or visitors.', 'b', 'b'); ?>
|
113 |
</p>
|
114 |
<?php } ?>
|
115 |
</div>
|
Application/Backend/phtml/object/teaser.phtml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<div class="aam-feature" id="teaser-content">
|
3 |
<div class="row">
|
4 |
<div class="col-xs-12">
|
5 |
-
<?php if ($this->
|
6 |
<?php echo apply_filters('aam-teaser-ui-filter', AAM_Backend_View::getInstance()->loadPartial('teaser.phtml')); ?>
|
7 |
<?php } ?>
|
8 |
</div>
|
@@ -10,7 +10,7 @@
|
|
10 |
|
11 |
<div class="row">
|
12 |
<div class="col-xs-12">
|
13 |
-
<?php if ($this->
|
14 |
<div>
|
15 |
<div class="form-group">
|
16 |
<label><?php echo __('Teaser Message', AAM_KEY); ?></label>
|
@@ -25,7 +25,7 @@
|
|
25 |
</div>
|
26 |
<?php } else { ?>
|
27 |
<p class="aam-notification">
|
28 |
-
<?php echo
|
29 |
</p>
|
30 |
<?php } ?>
|
31 |
</div>
|
2 |
<div class="aam-feature" id="teaser-content">
|
3 |
<div class="row">
|
4 |
<div class="col-xs-12">
|
5 |
+
<?php if ($this->isDefault() || defined('AAM_CONTENT_TEASER')) { ?>
|
6 |
<?php echo apply_filters('aam-teaser-ui-filter', AAM_Backend_View::getInstance()->loadPartial('teaser.phtml')); ?>
|
7 |
<?php } ?>
|
8 |
</div>
|
10 |
|
11 |
<div class="row">
|
12 |
<div class="col-xs-12">
|
13 |
+
<?php if ($this->isDefault() || defined('AAM_CONTENT_TEASER')) { ?>
|
14 |
<div>
|
15 |
<div class="form-group">
|
16 |
<label><?php echo __('Teaser Message', AAM_KEY); ?></label>
|
25 |
</div>
|
26 |
<?php } else { ?>
|
27 |
<p class="aam-notification">
|
28 |
+
<?php echo AAM_Backend_View_Helper::preparePhrase('You are allowed to setup only the [default] teaser message for all users, roles and visitor. With [AAM Teaser] extension you can customize the teaser message for any user, role or visitors.', 'b', 'b'); ?>
|
29 |
</p>
|
30 |
<?php } ?>
|
31 |
</div>
|
Application/Backend/phtml/partial/login-redirect.phtml
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if (defined('AAM_KEY')) { ?>
|
2 |
+
<p class="aam-info">
|
3 |
+
<?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default] redirect after user logged in successfully for all your users and roles. With [AAM Login Redirect] extension you can customize login redirect for any user or role.', 'strong', 'strong'); ?>
|
4 |
+
</p>
|
5 |
+
<?php }
|
Application/Backend/phtml/partial/redirect.phtml
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php if (defined('AAM_KEY')) { ?>
|
2 |
<p class="aam-info">
|
3 |
-
<?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default]
|
4 |
</p>
|
5 |
<?php }
|
1 |
<?php if (defined('AAM_KEY')) { ?>
|
2 |
<p class="aam-info">
|
3 |
+
<?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default] redirect for all users, roles and visitors when access is denied for any restricted resources on your website.', 'strong'); ?>
|
4 |
</p>
|
5 |
<?php }
|
Application/Backend/phtml/partial/teaser.phtml
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
<?php if (defined('AAM_KEY')) { ?>
|
2 |
<p class="aam-info">
|
3 |
-
<?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default] teaser message when
|
4 |
-
<a href="http://vasyltech.com/blog/aam-content-teaser" target="_blank">Read more.</a>
|
5 |
</p>
|
6 |
<?php }
|
1 |
<?php if (defined('AAM_KEY')) { ?>
|
2 |
<p class="aam-info">
|
3 |
+
<?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default] teaser message for all users, roles and visitors when access is limited to read posts or pages.', 'strong'); ?>
|
|
|
4 |
</p>
|
5 |
<?php }
|
Application/Core/API.php
CHANGED
@@ -220,17 +220,17 @@ final class AAM_Core_API {
|
|
220 |
|
221 |
/**
|
222 |
*
|
223 |
-
* @param type $
|
224 |
* @param type $area
|
225 |
* @param type $args
|
226 |
*/
|
227 |
-
|
228 |
-
if (filter_var($
|
229 |
-
wp_redirect($
|
230 |
-
} elseif (preg_match('/^[\d]+$/', $
|
231 |
-
wp_redirect(get_post_permalink($
|
232 |
-
} elseif (is_callable($
|
233 |
-
call_user_func($
|
234 |
} elseif (!empty($args['callback']) && is_callable($args['callback'])) {
|
235 |
$message = self::getDenyMessage($area);
|
236 |
call_user_func($args['callback'], $message, '', array());
|
220 |
|
221 |
/**
|
222 |
*
|
223 |
+
* @param type $location
|
224 |
* @param type $area
|
225 |
* @param type $args
|
226 |
*/
|
227 |
+
public static function redirect($location, $area = null, $args = null) {
|
228 |
+
if (filter_var($location, FILTER_VALIDATE_URL)) {
|
229 |
+
wp_redirect($location);
|
230 |
+
} elseif (preg_match('/^[\d]+$/', $location)) {
|
231 |
+
wp_redirect(get_post_permalink($location));
|
232 |
+
} elseif (is_callable($location)) {
|
233 |
+
call_user_func($location, $args);
|
234 |
} elseif (!empty($args['callback']) && is_callable($args['callback'])) {
|
235 |
$message = self::getDenyMessage($area);
|
236 |
call_user_func($args['callback'], $message, '', array());
|
Application/Core/Object/Post.php
CHANGED
@@ -76,7 +76,7 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
|
|
76 |
|
77 |
//read cache first
|
78 |
$option = AAM_Core_Cache::get($chname);
|
79 |
-
|
80 |
if ($option === false) { //if false, then the cache is empty but exist
|
81 |
$option = array();
|
82 |
} else {
|
@@ -85,7 +85,7 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
|
|
85 |
$option = get_post_meta($this->getPost()->ID, $opname, true);
|
86 |
$this->setOverwritten(!empty($option));
|
87 |
}
|
88 |
-
|
89 |
//try to inherit from terms or default settings - AAM Plus Package or any
|
90 |
//other extension that use this filter
|
91 |
if (empty($option)) {
|
@@ -129,6 +129,8 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
|
|
129 |
* @access public
|
130 |
*/
|
131 |
public function reset() {
|
|
|
|
|
132 |
return delete_post_meta($this->getPost()->ID, $this->getOptionName());
|
133 |
}
|
134 |
|
76 |
|
77 |
//read cache first
|
78 |
$option = AAM_Core_Cache::get($chname);
|
79 |
+
|
80 |
if ($option === false) { //if false, then the cache is empty but exist
|
81 |
$option = array();
|
82 |
} else {
|
85 |
$option = get_post_meta($this->getPost()->ID, $opname, true);
|
86 |
$this->setOverwritten(!empty($option));
|
87 |
}
|
88 |
+
|
89 |
//try to inherit from terms or default settings - AAM Plus Package or any
|
90 |
//other extension that use this filter
|
91 |
if (empty($option)) {
|
129 |
* @access public
|
130 |
*/
|
131 |
public function reset() {
|
132 |
+
AAM_Core_Cache::clear();
|
133 |
+
|
134 |
return delete_post_meta($this->getPost()->ID, $this->getOptionName());
|
135 |
}
|
136 |
|
Application/Core/Subject.php
CHANGED
@@ -243,7 +243,9 @@ abstract class AAM_Core_Subject {
|
|
243 |
*
|
244 |
* @access public
|
245 |
*/
|
246 |
-
|
|
|
|
|
247 |
|
248 |
/**
|
249 |
* Retrieve subject based on used class
|
@@ -252,7 +254,9 @@ abstract class AAM_Core_Subject {
|
|
252 |
*
|
253 |
* @access protected
|
254 |
*/
|
255 |
-
|
|
|
|
|
256 |
|
257 |
/**
|
258 |
*
|
@@ -292,18 +296,4 @@ abstract class AAM_Core_Subject {
|
|
292 |
return null;
|
293 |
}
|
294 |
|
295 |
-
/**
|
296 |
-
* Check if subject has parent
|
297 |
-
*
|
298 |
-
* Return true if current subject has parent subject. Applicable only for User
|
299 |
-
* only were Role is a parent subject to it.
|
300 |
-
*
|
301 |
-
* @return boolean
|
302 |
-
*
|
303 |
-
* @access public
|
304 |
-
*/
|
305 |
-
public function hasParent() {
|
306 |
-
return false;
|
307 |
-
}
|
308 |
-
|
309 |
}
|
243 |
*
|
244 |
* @access public
|
245 |
*/
|
246 |
+
public function getCapabilities() {
|
247 |
+
return array();
|
248 |
+
}
|
249 |
|
250 |
/**
|
251 |
* Retrieve subject based on used class
|
254 |
*
|
255 |
* @access protected
|
256 |
*/
|
257 |
+
protected function retrieveSubject() {
|
258 |
+
return null;
|
259 |
+
}
|
260 |
|
261 |
/**
|
262 |
*
|
296 |
return null;
|
297 |
}
|
298 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
299 |
}
|
Application/Core/Subject/Default.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* ======================================================================
|
5 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
6 |
+
* file 'license.txt', which is part of this source code package. *
|
7 |
+
* ======================================================================
|
8 |
+
*/
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Default subject
|
12 |
+
*
|
13 |
+
* @package AAM
|
14 |
+
* @author Vasyl Martyniuk <vasyl@vasyltech.com>
|
15 |
+
*/
|
16 |
+
class AAM_Core_Subject_Default extends AAM_Core_Subject {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Subject UID: DEFAULT
|
20 |
+
*/
|
21 |
+
const UID = 'default';
|
22 |
+
|
23 |
+
/**
|
24 |
+
*
|
25 |
+
* @param type $value
|
26 |
+
* @param type $object
|
27 |
+
* @param type $object_id
|
28 |
+
* @return type
|
29 |
+
*/
|
30 |
+
public function updateOption($value, $object, $object_id = 0) {
|
31 |
+
return AAM_Core_API::updateOption(
|
32 |
+
$this->getOptionName($object, $object_id), $value
|
33 |
+
);
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
*
|
38 |
+
* @param type $object
|
39 |
+
* @param type $object_id
|
40 |
+
* @param type $default
|
41 |
+
* @return type
|
42 |
+
*/
|
43 |
+
public function readOption($object, $object_id = 0, $default = null) {
|
44 |
+
return AAM_Core_API::getOption(
|
45 |
+
$this->getOptionName($object, $object_id), $default
|
46 |
+
);
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
*
|
51 |
+
* @param type $object
|
52 |
+
* @param type $id
|
53 |
+
* @return string
|
54 |
+
*/
|
55 |
+
public function getOptionName($object, $id) {
|
56 |
+
return "aam_{$object}" . ($id ? "_{$id}_" : '_') . self::UID;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
*
|
61 |
+
* @return type
|
62 |
+
*/
|
63 |
+
public function getUID() {
|
64 |
+
return self::UID;
|
65 |
+
}
|
66 |
+
|
67 |
+
}
|
Application/Core/Subject/Role.php
CHANGED
@@ -179,14 +179,11 @@ class AAM_Core_Subject_Role extends AAM_Core_Subject {
|
|
179 |
* @inheritdoc
|
180 |
*/
|
181 |
public function getParent() {
|
182 |
-
return apply_filters(
|
|
|
|
|
|
|
|
|
183 |
}
|
184 |
|
185 |
-
/**
|
186 |
-
* @inheritdoc
|
187 |
-
*/
|
188 |
-
public function hasParent() {
|
189 |
-
return ($this->getParent() ? true : false);
|
190 |
-
}
|
191 |
-
|
192 |
}
|
179 |
* @inheritdoc
|
180 |
*/
|
181 |
public function getParent() {
|
182 |
+
return apply_filters(
|
183 |
+
'aam-parent-role-filter',
|
184 |
+
new AAM_Core_Subject_Default,
|
185 |
+
$this
|
186 |
+
);
|
187 |
}
|
188 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
}
|
Application/Core/Subject/User.php
CHANGED
@@ -250,13 +250,6 @@ class AAM_Core_Subject_User extends AAM_Core_Subject {
|
|
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
|
262 |
*
|
250 |
return "aam_{$object}" . ($id ? "_{$id}" : '');
|
251 |
}
|
252 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
/**
|
254 |
* Get Subject UID
|
255 |
*
|
Application/Core/Subject/Visitor.php
CHANGED
@@ -20,25 +20,6 @@ class AAM_Core_Subject_Visitor extends AAM_Core_Subject {
|
|
20 |
*/
|
21 |
const UID = 'visitor';
|
22 |
|
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 |
-
/**
|
35 |
-
*
|
36 |
-
* @return type
|
37 |
-
*/
|
38 |
-
public function getCapabilities() {
|
39 |
-
return array();
|
40 |
-
}
|
41 |
-
|
42 |
/**
|
43 |
*
|
44 |
* @param type $value
|
20 |
*/
|
21 |
const UID = 'visitor';
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
/**
|
24 |
*
|
25 |
* @param type $value
|
Application/Frontend/Manager.php
CHANGED
@@ -39,7 +39,7 @@ class AAM_Frontend_Manager {
|
|
39 |
public function __construct() {
|
40 |
if (AAM_Core_Config::get('frontend-access-control', true)) {
|
41 |
//login hook
|
42 |
-
add_action('wp_login', array($this, 'login'),
|
43 |
|
44 |
//control WordPress frontend
|
45 |
add_action('wp', array($this, 'wp'), 999);
|
@@ -70,9 +70,31 @@ class AAM_Frontend_Manager {
|
|
70 |
* @param type $login
|
71 |
* @param type $user
|
72 |
*/
|
73 |
-
public function login(
|
|
|
|
|
74 |
if (is_a($user, 'WP_User')) {
|
75 |
-
AAM_Core_API::deleteOption('aam-user-switch-' . $user->ID);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
}
|
77 |
}
|
78 |
|
39 |
public function __construct() {
|
40 |
if (AAM_Core_Config::get('frontend-access-control', true)) {
|
41 |
//login hook
|
42 |
+
add_action('wp_login', array($this, 'login'), 999);
|
43 |
|
44 |
//control WordPress frontend
|
45 |
add_action('wp', array($this, 'wp'), 999);
|
70 |
* @param type $login
|
71 |
* @param type $user
|
72 |
*/
|
73 |
+
public function login() {
|
74 |
+
$user = wp_get_current_user();
|
75 |
+
|
76 |
if (is_a($user, 'WP_User')) {
|
77 |
+
AAM_Core_API::deleteOption('aam-user-switch-' . $user->ID);
|
78 |
+
|
79 |
+
$subject = new AAM_Core_Subject_User($user->ID);
|
80 |
+
|
81 |
+
//if Login redirect is defined
|
82 |
+
$type = apply_filters(
|
83 |
+
'aam-login-redirect-option-filter',
|
84 |
+
AAM_Core_Config::get('login.redirect.type', 'default'),
|
85 |
+
'login.redirect.type',
|
86 |
+
$subject
|
87 |
+
);
|
88 |
+
|
89 |
+
if ($type !== 'default') {
|
90 |
+
$redirect = apply_filters(
|
91 |
+
'aam-login-redirect-option-filter',
|
92 |
+
AAM_Core_Config::get("login.redirect.{$type}"),
|
93 |
+
"login.redirect.{$type}",
|
94 |
+
$subject
|
95 |
+
);
|
96 |
+
AAM_Core_API::redirect($redirect);
|
97 |
+
}
|
98 |
}
|
99 |
}
|
100 |
|
aam.php
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
|
3 |
/**
|
4 |
Plugin Name: Advanced Access Manager
|
5 |
-
Description: Manage
|
6 |
-
Version: 3.9.
|
7 |
Author: Vasyl Martyniuk <vasyl@vasyltech.com>
|
8 |
Author URI: https://www.vasyltech.com
|
9 |
|
@@ -53,7 +53,7 @@ class AAM {
|
|
53 |
} else {
|
54 |
$this->setUser(new AAM_Core_Subject_Visitor(''));
|
55 |
}
|
56 |
-
|
57 |
//load AAM core config
|
58 |
AAM_Core_Config::bootstrap();
|
59 |
}
|
2 |
|
3 |
/**
|
4 |
Plugin Name: Advanced Access Manager
|
5 |
+
Description: Manage website access for any user, role or visitors
|
6 |
+
Version: 3.9.5
|
7 |
Author: Vasyl Martyniuk <vasyl@vasyltech.com>
|
8 |
Author URI: https://www.vasyltech.com
|
9 |
|
53 |
} else {
|
54 |
$this->setUser(new AAM_Core_Subject_Visitor(''));
|
55 |
}
|
56 |
+
|
57 |
//load AAM core config
|
58 |
AAM_Core_Config::bootstrap();
|
59 |
}
|
media/css/aam.css
CHANGED
@@ -62,72 +62,74 @@
|
|
62 |
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
63 |
}
|
64 |
|
65 |
-
|
66 |
-
.icon-
|
67 |
-
.icon-
|
68 |
-
.icon-
|
69 |
-
.icon-
|
70 |
-
.icon-
|
71 |
-
.icon-
|
72 |
-
.icon-
|
73 |
-
.icon-
|
74 |
-
.icon-
|
75 |
-
.icon-
|
76 |
-
.icon-
|
77 |
-
.icon-
|
78 |
-
.icon-
|
79 |
-
.icon-
|
80 |
-
.icon-
|
81 |
-
.icon-
|
82 |
-
.icon-
|
83 |
-
.icon-
|
84 |
-
.icon-
|
85 |
-
.icon-
|
86 |
-
.icon-
|
87 |
-
.icon-
|
88 |
-
.icon-
|
89 |
-
.icon-
|
90 |
-
.icon-
|
91 |
-
.icon-
|
92 |
-
.icon-
|
93 |
-
.icon-
|
94 |
-
.icon-
|
95 |
-
.icon-
|
96 |
-
.icon-
|
97 |
-
.icon-
|
98 |
-
.icon-
|
99 |
-
.icon-
|
100 |
-
.icon-
|
101 |
-
.icon-
|
102 |
-
.icon-
|
103 |
-
.icon-
|
104 |
-
.icon-
|
105 |
-
.icon-
|
106 |
-
.icon-
|
107 |
-
.icon-
|
108 |
-
.icon-
|
109 |
-
.icon-
|
110 |
-
.icon-
|
111 |
-
.icon-
|
112 |
-
.icon-
|
113 |
-
.icon-
|
114 |
-
.icon-
|
115 |
-
.icon-
|
116 |
-
.icon-
|
117 |
-
.icon-
|
118 |
-
.icon-
|
119 |
-
.icon-
|
120 |
-
.icon-
|
121 |
-
.icon-
|
122 |
-
.icon-
|
123 |
-
.icon-
|
124 |
-
.icon-
|
125 |
-
.icon-
|
126 |
-
.icon-
|
127 |
-
.icon-
|
128 |
-
.icon-
|
129 |
-
.icon-circle
|
130 |
-
.icon-
|
|
|
|
|
131 |
|
132 |
.animate-spin {
|
133 |
-moz-animation: spin 2s infinite linear;
|
@@ -272,6 +274,7 @@ a:focus, a:active {
|
|
272 |
|
273 |
.nav-tabs > li > a {
|
274 |
outline: none;
|
|
|
275 |
}
|
276 |
|
277 |
.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
|
@@ -457,12 +460,12 @@ input[type=checkbox] + label:before {
|
|
457 |
font-family: 'fontello';
|
458 |
display: inline-block;
|
459 |
font-size: 1.2em;
|
460 |
-
content: "\
|
461 |
}
|
462 |
|
463 |
input[type=checkbox]:checked + label:before {
|
464 |
font-size: 1.2em;
|
465 |
-
content: "\
|
466 |
}
|
467 |
|
468 |
input[type=checkbox].aam-checkbox-danger:checked + label:before {
|
@@ -486,13 +489,13 @@ input[type=radio] + label:before {
|
|
486 |
font-family: 'fontello';
|
487 |
display: inline-block;
|
488 |
font-size: 1.2em;
|
489 |
-
content: "\
|
490 |
margin-right: 10px;
|
491 |
}
|
492 |
|
493 |
input[type=radio]:checked + label:before {
|
494 |
font-size: 1.2em;
|
495 |
-
content: "\
|
496 |
margin-right: 10px;
|
497 |
}
|
498 |
|
62 |
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
63 |
}
|
64 |
|
65 |
+
|
66 |
+
.icon-asterisk:before { content: '\e800'; } /* 'î ' */
|
67 |
+
.icon-spin4:before { content: '\e801'; } /* 'î ' */
|
68 |
+
.icon-user-secret:before { content: '\e802'; } /* 'î ' */
|
69 |
+
.icon-folder:before { content: '\e803'; } /* 'î ' */
|
70 |
+
.icon-stop:before { content: '\e804'; } /* 'î ' */
|
71 |
+
.icon-left-dir:before { content: '\e805'; } /* 'î
' */
|
72 |
+
.icon-dollar:before { content: '\e806'; } /* 'î ' */
|
73 |
+
.icon-mail-alt:before { content: '\e807'; } /* 'î ' */
|
74 |
+
.icon-download-cloud:before { content: '\e808'; } /* 'î ' */
|
75 |
+
.icon-eye-off:before { content: '\e809'; } /* 'î ' */
|
76 |
+
.icon-attention-circled:before { content: '\e80a'; } /* 'î ' */
|
77 |
+
.icon-cog-alt:before { content: '\e80b'; } /* 'î ' */
|
78 |
+
.icon-link-1:before { content: '\e80c'; } /* 'î ' */
|
79 |
+
.icon-user-secret-1:before { content: '\e80d'; } /* 'î ' */
|
80 |
+
.icon-unlink:before { content: '\e80e'; } /* 'î ' */
|
81 |
+
.icon-sort-down:before { content: '\e80f'; } /* 'î ' */
|
82 |
+
.icon-pencil:before { content: '\e810'; } /* 'î ' */
|
83 |
+
.icon-arrows-cw:before { content: '\e811'; } /* 'î ' */
|
84 |
+
.icon-sort-up:before { content: '\e812'; } /* 'î ' */
|
85 |
+
.icon-sort:before { content: '\e813'; } /* 'î ' */
|
86 |
+
.icon-lock-open-alt:before { content: '\e814'; } /* 'î ' */
|
87 |
+
.icon-plus:before { content: '\e815'; } /* 'î ' */
|
88 |
+
.icon-filter:before { content: '\e816'; } /* 'î ' */
|
89 |
+
.icon-check:before { content: '\e817'; } /* 'î ' */
|
90 |
+
.icon-help-circled:before { content: '\e818'; } /* 'î ' */
|
91 |
+
.icon-file-code:before { content: '\e819'; } /* 'î ' */
|
92 |
+
.icon-users:before { content: '\e81a'; } /* 'î ' */
|
93 |
+
.icon-box-1:before { content: '\e81b'; } /* 'î ' */
|
94 |
+
.icon-folder-1:before { content: '\e81c'; } /* 'î ' */
|
95 |
+
.icon-eye-1:before { content: '\e81d'; } /* 'î ' */
|
96 |
+
.icon-upload-cloud:before { content: '\e81e'; } /* 'î ' */
|
97 |
+
.icon-user-plus:before { content: '\e81f'; } /* 'î ' */
|
98 |
+
.icon-gauge:before { content: '\e820'; } /* 'î ' */
|
99 |
+
.icon-box:before { content: '\e821'; } /* 'î ¡' */
|
100 |
+
.icon-plus-circled:before { content: '\e822'; } /* 'î ¢' */
|
101 |
+
.icon-link:before { content: '\e823'; } /* 'î £' */
|
102 |
+
.icon-wrench:before { content: '\e824'; } /* 'î ¤' */
|
103 |
+
.icon-eye:before { content: '\e825'; } /* 'î ¥' */
|
104 |
+
.icon-medkit:before { content: '\e826'; } /* 'î ¦' */
|
105 |
+
.icon-basket:before { content: '\e827'; } /* 'î §' */
|
106 |
+
.icon-check-empty:before { content: '\e828'; } /* 'î ¨' */
|
107 |
+
.icon-doc-text-inv:before { content: '\e829'; } /* 'î ©' */
|
108 |
+
.icon-home:before { content: '\e82a'; } /* 'î ª' */
|
109 |
+
.icon-angle-double-right:before { content: '\e82b'; } /* 'î «' */
|
110 |
+
.icon-facebook:before { content: '\e82c'; } /* 'î ¬' */
|
111 |
+
.icon-star:before { content: '\e82d'; } /* 'î ' */
|
112 |
+
.icon-list:before { content: '\e82e'; } /* 'î ®' */
|
113 |
+
.icon-up-dir:before { content: '\e82f'; } /* 'î ¯' */
|
114 |
+
.icon-dot-circled:before { content: '\e830'; } /* 'î °' */
|
115 |
+
.icon-code:before { content: '\e831'; } /* 'î ±' */
|
116 |
+
.icon-bug:before { content: '\e832'; } /* 'î ²' */
|
117 |
+
.icon-heartbeat:before { content: '\e833'; } /* 'î ³' */
|
118 |
+
.icon-connectdevelop:before { content: '\e834'; } /* 'î ´' */
|
119 |
+
.icon-trash-empty:before { content: '\e835'; } /* 'î µ' */
|
120 |
+
.icon-download-cloud-1:before { content: '\e836'; } /* 'î ¶' */
|
121 |
+
.icon-github:before { content: '\e837'; } /* 'î ·' */
|
122 |
+
.icon-cog:before { content: '\e838'; } /* 'î ¸' */
|
123 |
+
.icon-lock:before { content: '\e839'; } /* 'î ¹' */
|
124 |
+
.icon-twitter:before { content: '\e83a'; } /* 'î º' */
|
125 |
+
.icon-certificate:before { content: '\e83b'; } /* 'î »' */
|
126 |
+
.icon-user:before { content: '\e83c'; } /* 'î ¼' */
|
127 |
+
.icon-level-down:before { content: '\e83d'; } /* 'î ½' */
|
128 |
+
.icon-exchange:before { content: '\f0ec'; } /* 'ï¬' */
|
129 |
+
.icon-circle:before { content: '\f111'; } /* 'ï' */
|
130 |
+
.icon-thumbs-up-alt:before { content: '\f164'; } /* 'ï
¤' */
|
131 |
+
.icon-circle-thin:before { content: '\f1db'; } /* 'ï' */
|
132 |
+
.icon-clone:before { content: '\f24d'; } /* 'ï' */
|
133 |
|
134 |
.animate-spin {
|
135 |
-moz-animation: spin 2s infinite linear;
|
274 |
|
275 |
.nav-tabs > li > a {
|
276 |
outline: none;
|
277 |
+
font-size: 0.9em;
|
278 |
}
|
279 |
|
280 |
.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
|
460 |
font-family: 'fontello';
|
461 |
display: inline-block;
|
462 |
font-size: 1.2em;
|
463 |
+
content: "\E828"; /* unchecked icon */
|
464 |
}
|
465 |
|
466 |
input[type=checkbox]:checked + label:before {
|
467 |
font-size: 1.2em;
|
468 |
+
content: "\E817"; /* checked icon */
|
469 |
}
|
470 |
|
471 |
input[type=checkbox].aam-checkbox-danger:checked + label:before {
|
489 |
font-family: 'fontello';
|
490 |
display: inline-block;
|
491 |
font-size: 1.2em;
|
492 |
+
content: "\F1DB"; /* unchecked icon */
|
493 |
margin-right: 10px;
|
494 |
}
|
495 |
|
496 |
input[type=radio]:checked + label:before {
|
497 |
font-size: 1.2em;
|
498 |
+
content: "\F111"; /* checked icon */
|
499 |
margin-right: 10px;
|
500 |
}
|
501 |
|
media/css/datatables.min.css
CHANGED
@@ -81,16 +81,16 @@ table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,ta
|
|
81 |
}
|
82 |
table.dataTable thead .sorting:after {
|
83 |
font-family: "fontello";
|
84 |
-
content: "\
|
85 |
opacity: 0.2;
|
86 |
}
|
87 |
table.dataTable thead .sorting_asc:after {
|
88 |
font-family: "fontello";
|
89 |
-
content: "\
|
90 |
}
|
91 |
table.dataTable thead .sorting_desc:after {
|
92 |
font-family: "fontello";
|
93 |
-
content: "\
|
94 |
}
|
95 |
table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after {
|
96 |
color: #eee;
|
81 |
}
|
82 |
table.dataTable thead .sorting:after {
|
83 |
font-family: "fontello";
|
84 |
+
content: "\E813";
|
85 |
opacity: 0.2;
|
86 |
}
|
87 |
table.dataTable thead .sorting_asc:after {
|
88 |
font-family: "fontello";
|
89 |
+
content: "\E80F";
|
90 |
}
|
91 |
table.dataTable thead .sorting_desc:after {
|
92 |
font-family: "fontello";
|
93 |
+
content: "\E812";
|
94 |
}
|
95 |
table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after {
|
96 |
color: #eee;
|
media/font/fontello.eot
CHANGED
Binary file
|
media/font/fontello.svg
CHANGED
@@ -6,127 +6,129 @@
|
|
6 |
<font id="fontello" horiz-adv-x="1000" >
|
7 |
<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
8 |
<missing-glyph horiz-adv-x="1000" />
|
9 |
-
<glyph glyph-name="
|
10 |
|
11 |
-
<glyph glyph-name="
|
12 |
|
13 |
-
<glyph glyph-name="
|
14 |
|
15 |
-
<glyph glyph-name="
|
16 |
|
17 |
-
<glyph glyph-name="
|
18 |
|
19 |
-
<glyph glyph-name="
|
20 |
|
21 |
-
<glyph glyph-name="
|
22 |
|
23 |
-
<glyph glyph-name="
|
24 |
|
25 |
-
<glyph glyph-name="
|
26 |
|
27 |
-
<glyph glyph-name="
|
28 |
|
29 |
-
<glyph glyph-name="
|
30 |
|
31 |
-
<glyph glyph-name="
|
32 |
|
33 |
-
<glyph glyph-name="
|
34 |
|
35 |
-
<glyph glyph-name="
|
36 |
|
37 |
-
<glyph glyph-name="
|
38 |
|
39 |
-
<glyph glyph-name="
|
40 |
|
41 |
-
<glyph glyph-name="
|
42 |
|
43 |
-
<glyph glyph-name="
|
44 |
|
45 |
-
<glyph glyph-name="sort" unicode="" d="M571
|
46 |
|
47 |
-
<glyph glyph-name="
|
48 |
|
49 |
-
<glyph glyph-name="
|
50 |
|
51 |
-
<glyph glyph-name="
|
52 |
|
53 |
-
<glyph glyph-name="
|
54 |
|
55 |
-
<glyph glyph-name="
|
56 |
|
57 |
-
<glyph glyph-name="
|
58 |
|
59 |
-
<glyph glyph-name="
|
60 |
|
61 |
-
<glyph glyph-name="
|
62 |
|
63 |
-
<glyph glyph-name="
|
64 |
|
65 |
-
<glyph glyph-name="
|
66 |
|
67 |
-
<glyph glyph-name="
|
68 |
|
69 |
-
<glyph glyph-name="
|
70 |
|
71 |
-
<glyph glyph-name="
|
72 |
|
73 |
-
<glyph glyph-name="
|
74 |
|
75 |
-
<glyph glyph-name="
|
76 |
|
77 |
-
<glyph glyph-name="
|
78 |
|
79 |
-
<glyph glyph-name="
|
80 |
|
81 |
-
<glyph glyph-name="
|
82 |
|
83 |
-
<glyph glyph-name="
|
84 |
|
85 |
-
<glyph glyph-name="
|
86 |
|
87 |
-
<glyph glyph-name="
|
88 |
|
89 |
-
<glyph glyph-name="
|
90 |
|
91 |
-
<glyph glyph-name="
|
92 |
|
93 |
-
<glyph glyph-name="
|
94 |
|
95 |
-
<glyph glyph-name="
|
96 |
|
97 |
-
<glyph glyph-name="
|
98 |
|
99 |
-
<glyph glyph-name="
|
100 |
|
101 |
-
<glyph glyph-name="
|
102 |
|
103 |
-
<glyph glyph-name="
|
104 |
|
105 |
-
<glyph glyph-name="
|
106 |
|
107 |
-
<glyph glyph-name="
|
108 |
|
109 |
-
<glyph glyph-name="
|
110 |
|
111 |
-
<glyph glyph-name="
|
112 |
|
113 |
-
<glyph glyph-name="
|
114 |
|
115 |
-
<glyph glyph-name="
|
116 |
|
117 |
-
<glyph glyph-name="
|
118 |
|
119 |
-
<glyph glyph-name="
|
120 |
|
121 |
-
<glyph glyph-name="
|
122 |
|
123 |
-
<glyph glyph-name="
|
124 |
|
125 |
-
<glyph glyph-name=" |