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="
|
126 |
|
127 |
-
<glyph glyph-name="
|
128 |
|
129 |
-
<glyph glyph-name="
|
|
|
|
|
130 |
|
131 |
<glyph glyph-name="exchange" unicode="" d="M1000 189v-107q0-7-5-12t-13-6h-768v-107q0-7-5-12t-13-6q-6 0-13 6l-178 178q-5 6-5 13 0 8 5 13l179 178q5 5 12 5 8 0 13-5t5-13v-107h768q7 0 13-5t5-13z m0 304q0-8-5-13l-179-178q-5-6-12-6-8 0-13 6t-5 12v107h-768q-7 0-13 6t-5 12v107q0 8 5 13t13 5h768v107q0 8 5 13t13 5q6 0 13-5l178-178q5-5 5-13z" horiz-adv-x="1000" />
|
132 |
|
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="asterisk" unicode="" d="M827 264q26-14 33-43t-7-55l-35-61q-15-26-44-33t-54 7l-149 85v-171q0-29-21-50t-50-22h-71q-29 0-51 22t-21 50v171l-148-85q-26-15-55-7t-43 33l-36 61q-14 26-7 55t34 43l148 86-148 86q-26 14-34 43t7 55l36 61q15 26 43 33t55-7l148-85v171q0 29 21 50t51 22h71q29 0 50-22t21-50v-171l149 85q26 15 54 7t44-33l35-61q15-26 7-55t-33-43l-148-86z" horiz-adv-x="928.6" />
|
10 |
|
11 |
+
<glyph glyph-name="spin4" unicode="" d="M498 850c-114 0-228-39-320-116l0 0c173 140 428 130 588-31 134-134 164-332 89-495-10-29-5-50 12-68 21-20 61-23 84 0 3 3 12 15 15 24 71 180 33 393-112 539-99 98-228 147-356 147z m-409-274c-14 0-29-5-39-16-3-3-13-15-15-24-71-180-34-393 112-539 185-185 479-195 676-31l0 0c-173-140-428-130-589 31-134 134-163 333-89 495 11 29 6 50-12 68-11 11-27 17-44 16z" horiz-adv-x="1001" />
|
12 |
|
13 |
+
<glyph glyph-name="user-secret" unicode="" d="M321-7l54 250-54 71-71 36z m143 0l72 357-72-36-53-71z m90 564q-1 2-3 3-5 4-53 4-39 0-93-10-4-1-12-1t-12 1q-54 10-93 10-48 0-54-4-1-1-2-3 1-11 2-16 2-1 5-3t4-6q1-2 4-11t4-12 4-9 5-10 5-8 7-7 7-6 10-4 12-2 13-1q20 0 33 7t18 16 8 20 7 16 10 7h6q6 0 10-7t6-16 9-20 18-16 33-7q7 0 13 1t12 2 9 4 8 6 7 7 5 8 5 10 4 9 4 12 4 11q1 4 4 6t4 3q2 5 3 16z m232-491q0-68-41-106t-108-39h-488q-67 0-108 39t-41 106q0 34 3 66t10 70 21 69 36 58 52 41l-51 123h120q-12 36-12 71 0 7 1 18-109 23-109 54 0 32 118 55 9 35 28 75t40 63q18 21 42 21 17 0 47-17t47-18 47 18 47 17q24 0 42-21 20-23 39-63t29-75q117-23 117-55 0-31-108-54 4-45-11-89h119l-45-126q35-18 60-54t36-80 16-84 5-83z" horiz-adv-x="857.1" />
|
14 |
|
15 |
+
<glyph glyph-name="folder" unicode="" d="M929 511v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" />
|
16 |
|
17 |
+
<glyph glyph-name="stop" unicode="" d="M857 743v-786q0-14-10-25t-26-11h-785q-15 0-25 11t-11 25v786q0 14 11 25t25 11h785q15 0 26-11t10-25z" horiz-adv-x="857.1" />
|
18 |
|
19 |
+
<glyph glyph-name="left-dir" unicode="" d="M357 600v-500q0-14-10-25t-26-11-25 11l-250 250q-10 11-10 25t10 25l250 250q11 11 25 11t26-11 10-25z" horiz-adv-x="357.1" />
|
20 |
|
21 |
+
<glyph glyph-name="dollar" unicode="" d="M546 189q0-86-56-147t-144-77v-97q0-8-5-13t-13-5h-75q-7 0-13 5t-5 13v97q-37 5-71 18t-57 25-41 26-26 21-10 10q-9 12-1 23l58 76q3 5 12 6 9 1 14-5l1-1q63-55 135-70 21-4 42-4 45 0 79 24t35 68q0 16-9 30t-18 23-33 21-37 18-45 18q-21 9-34 14t-34 15-35 17-32 20-29 24-25 27-20 32-11 37-5 44q0 77 55 135t142 75v100q0 7 5 13t13 5h75q8 0 13-5t5-13v-98q32-4 62-13t48-19 36-21 21-16 9-8q9-10 3-21l-46-81q-4-9-12-9-8-2-16 4-1 1-8 6t-21 15-33 18-42 15-47 6q-53 0-87-24t-33-62q0-14 4-27t17-23 22-18 31-18 34-15 39-15q30-11 45-18t43-19 42-24 34-28 30-35 18-43 7-52z" horiz-adv-x="571.4" />
|
22 |
|
23 |
+
<glyph glyph-name="mail-alt" unicode="" d="M1000 454v-443q0-37-26-63t-63-27h-822q-36 0-63 27t-26 63v443q25-28 56-49 202-137 278-192 32-24 51-37t53-27 61-13h2q28 0 61 13t53 27 51 37q95 68 278 192 32 22 56 49z m0 164q0-44-27-84t-68-69q-210-146-262-181-5-4-23-17t-30-22-29-18-33-15-27-5h-2q-12 0-27 5t-33 15-29 18-30 22-23 17q-51 35-147 101t-114 80q-35 23-65 64t-31 77q0 43 23 72t66 29h822q36 0 62-26t27-63z" horiz-adv-x="1000" />
|
24 |
|
25 |
+
<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" />
|
26 |
|
27 |
+
<glyph glyph-name="eye-off" unicode="" d="M310 105l43 79q-48 35-76 88t-27 114q0 67 34 125-128-65-213-197 94-144 239-209z m217 424q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-12 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m202 106q0-4 0-5-59-105-176-316t-176-316l-28-50q-5-9-15-9-7 0-75 39-9 6-9 16 0 7 25 49-80 36-147 96t-117 137q-11 17-11 38t11 39q86 131 212 207t277 76q50 0 100-10l31 54q5 9 15 9 3 0 10-3t18-9 18-10 18-10 10-7q9-5 9-15z m21-249q0-78-44-142t-117-92l157 281q4-26 4-47z m250-72q0-19-11-38-22-36-61-81-84-96-194-149t-234-53l41 74q119 10 219 76t169 171q-65 100-158 164l35 63q53-36 102-86t81-102q11-19 11-39z" horiz-adv-x="1000" />
|
28 |
|
29 |
+
<glyph glyph-name="attention-circled" unicode="" d="M429 779q116 0 215-58t156-156 57-215-57-215-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58z m71-696v106q0 8-5 13t-12 5h-107q-8 0-13-5t-6-13v-106q0-8 6-13t13-6h107q7 0 12 6t5 13z m-1 192l10 346q0 7-6 10-5 5-13 5h-123q-8 0-13-5-6-3-6-10l10-346q0-6 5-10t14-4h103q8 0 13 4t6 10z" horiz-adv-x="857.1" />
|
30 |
|
31 |
+
<glyph glyph-name="cog-alt" unicode="" d="M500 350q0 59-42 101t-101 42-101-42-42-101 42-101 101-42 101 42 42 101z m429-286q0 29-22 51t-50 21-50-21-21-51q0-29 21-50t50-21 51 21 21 50z m0 572q0 29-22 50t-50 21-50-21-21-50q0-30 21-51t50-21 51 21 21 51z m-215-235v-103q0-6-4-11t-9-6l-86-14q-6-19-18-42 19-27 50-64 4-6 4-11 0-7-4-11-13-17-46-50t-44-33q-6 0-11 4l-64 50q-21-11-43-17-6-60-13-87-4-13-17-13h-104q-6 0-11 4t-5 10l-13 85q-19 6-42 18l-66-50q-4-4-11-4-6 0-12 4-80 75-80 90 0 5 4 10 5 8 23 30t26 34q-13 24-20 46l-85 13q-5 1-9 5t-4 11v103q0 6 4 11t9 6l86 14q7 19 18 42-19 27-50 64-4 6-4 11 0 7 4 11 12 17 46 50t44 33q6 0 12-4l64-50q19 10 43 18 6 60 13 86 3 13 16 13h104q6 0 11-4t6-10l13-85q19-6 41-17l66 49q5 4 11 4 7 0 12-4 81-75 81-90 0-5-4-10-7-9-24-30t-25-34q13-27 19-46l85-12q5-2 9-6t4-11z m357-298v-78q0-9-83-17-6-15-16-29 28-63 28-77 0-2-2-4-68-40-69-40-5 0-26 27t-29 37q-11-1-17-1t-17 1q-7-11-29-37t-25-27q-1 0-69 40-3 2-3 4 0 14 29 77-10 14-17 29-83 8-83 17v78q0 9 83 18 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-38q12 1 17 1t17-1q28 40 51 63l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-9 83-18z m0 572v-78q0-9-83-18-6-15-16-29 28-63 28-77 0-2-2-4-68-39-69-39-5 0-26 26t-29 38q-11-1-17-1t-17 1q-7-12-29-38t-25-26q-1 0-69 39-3 2-3 4 0 14 29 77-10 14-17 29-83 9-83 18v78q0 9 83 17 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-38q12 2 17 2t17-2q28 40 51 63l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-8 83-17z" horiz-adv-x="1071.4" />
|
32 |
|
33 |
+
<glyph glyph-name="link-1" unicode="" d="M812 171q0 23-15 38l-116 116q-16 16-38 16-24 0-40-18 1-1 10-10t12-12 9-11 7-14 2-15q0-23-16-38t-38-16q-8 0-15 2t-14 7-11 9-12 12-10 10q-19-17-19-40 0-23 16-38l115-116q15-15 38-15 22 0 38 15l82 81q15 16 15 37z m-392 394q0 22-15 38l-115 115q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l116-116q15-15 38-15 23 0 40 17-2 2-11 11t-12 12-8 10-7 14-2 16q0 22 15 38t38 15q9 0 16-2t14-7 10-8 12-12 11-11q18 17 18 41z m500-394q0-67-48-113l-82-81q-46-47-113-47-68 0-114 48l-115 115q-46 47-46 114 0 68 49 116l-49 49q-48-49-116-49-67 0-114 47l-116 116q-47 47-47 114t47 113l82 82q47 46 114 46 67 0 114-47l114-116q47-46 47-113 0-69-49-117l49-49q48 49 116 49 67 0 114-47l116-116q47-47 47-114z" horiz-adv-x="928.6" />
|
34 |
|
35 |
+
<glyph glyph-name="user-secret-1" unicode="" d="M321-7l54 250-54 71-71 36z m143 0l72 357-72-36-53-71z m90 563q-2 3-3 4-5 4-53 4-39 0-93-10-4-2-12-2t-12 2q-54 10-93 10-48 0-54-4-1-1-2-4 1-10 2-15 2-1 5-3t4-6q1-2 4-12t4-11 4-10 5-9 5-8 7-7 7-6 10-4 12-2 13-1q20 0 33 6t18 17 8 19 7 17 10 7h6q6 0 10-7t6-17 9-19 18-17 33-6q7 0 13 1t12 2 9 4 8 6 7 7 5 8 5 9 4 10 4 11 4 12q1 4 4 6t4 3q1 5 3 15z m232-490q0-68-41-106t-108-39h-488q-67 0-108 39t-41 106q0 34 3 66t10 70 21 69 36 58 52 41l-51 123h120q-12 36-12 71 0 7 1 18-109 22-109 54 0 32 118 55 9 35 28 75t40 63q18 21 42 21 17 0 47-17t47-18 47 18 47 17q24 0 42-21 20-23 39-63t29-75q117-23 117-55 0-32-108-54 4-45-11-89h119l-45-126q35-18 60-54t36-80 16-84 5-83z" horiz-adv-x="857.1" />
|
36 |
|
37 |
+
<glyph glyph-name="unlink" unicode="" d="M245 141l-143-143q-5-5-13-5-6 0-13 5-5 5-5 13t5 13l143 142q6 5 13 5t13-5q5-5 5-12t-5-13z m94-23v-179q0-8-5-13t-13-5-12 5-5 13v179q0 8 5 13t12 5 13-5 5-13z m-125 125q0-8-5-13t-13-5h-178q-8 0-13 5t-5 13 5 13 13 5h178q8 0 13-5t5-13z m706-72q0-67-48-113l-82-81q-46-47-113-47-68 0-114 48l-186 187q-12 11-24 31l134 10 152-153q15-15 38-15t38 15l82 81q15 16 15 37 0 23-15 38l-153 154 10 133q20-12 31-23l188-188q47-48 47-114z m-345 404l-133-10-152 153q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l153-153-10-134q-20 12-32 24l-187 187q-47 48-47 114 0 67 47 113l82 82q47 46 114 46 67 0 114-47l186-187q12-12 23-32z m354-46q0-8-5-13t-13-5h-179q-8 0-13 5t-5 13 5 12 13 5h179q8 0 13-5t5-12z m-304 303v-178q0-8-5-13t-13-5-13 5-5 13v178q0 8 5 13t13 5 13-5 5-13z m227-84l-143-143q-6-5-13-5t-12 5q-5 6-5 13t5 13l142 142q6 5 13 5t13-5q5-5 5-12t-5-13z" horiz-adv-x="928.6" />
|
38 |
|
39 |
+
<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" />
|
40 |
|
41 |
+
<glyph glyph-name="pencil" unicode="" d="M203-7l50 51-131 131-51-51v-60h72v-71h60z m291 518q0 12-12 12-5 0-9-4l-303-302q-4-4-4-10 0-12 13-12 5 0 9 4l303 302q3 4 3 10z m-30 107l232-232-464-465h-232v233z m381-54q0-29-20-50l-93-93-232 233 93 92q20 21 50 21 29 0 51-21l131-131q20-22 20-51z" horiz-adv-x="857.1" />
|
42 |
|
43 |
+
<glyph glyph-name="arrows-cw" unicode="" d="M843 261q0-3 0-4-36-150-150-243t-267-93q-81 0-157 31t-136 88l-72-72q-11-11-25-11t-25 11-11 25v250q0 14 11 25t25 11h250q14 0 25-11t10-25-10-25l-77-77q40-37 90-57t105-20q74 0 139 37t104 99q6 10 29 66 5 13 17 13h107q8 0 13-6t5-12z m14 446v-250q0-14-10-25t-26-11h-250q-14 0-25 11t-10 25 10 25l77 77q-82 77-194 77-75 0-140-37t-104-99q-6-10-29-66-5-13-17-13h-111q-7 0-13 6t-5 12v4q36 150 151 243t268 93q81 0 158-31t137-88l72 72q11 11 25 11t26-11 10-25z" horiz-adv-x="857.1" />
|
44 |
|
45 |
+
<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" />
|
46 |
|
47 |
+
<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" />
|
48 |
|
49 |
+
<glyph glyph-name="lock-open-alt" unicode="" d="M589 421q23 0 38-15t16-38v-322q0-22-16-37t-38-16h-535q-23 0-38 16t-16 37v322q0 22 16 38t38 15h17v179q0 103 74 177t176 73 177-73 73-177q0-15-10-25t-25-11h-36q-14 0-25 11t-11 25q0 59-42 101t-101 42-101-42-41-101v-179h410z" horiz-adv-x="642.9" />
|
50 |
|
51 |
+
<glyph glyph-name="plus" unicode="" d="M786 439v-107q0-22-16-38t-38-15h-232v-233q0-22-16-37t-38-16h-107q-22 0-38 16t-15 37v233h-232q-23 0-38 15t-16 38v107q0 23 16 38t38 16h232v232q0 22 15 38t38 16h107q23 0 38-16t16-38v-232h232q22 0 38-16t16-38z" horiz-adv-x="785.7" />
|
52 |
|
53 |
+
<glyph glyph-name="filter" unicode="" d="M783 685q9-23-8-39l-275-275v-414q0-23-22-33-7-3-14-3-15 0-25 11l-143 143q-10 10-10 25v271l-275 275q-18 16-8 39 9 22 33 22h714q23 0 33-22z" horiz-adv-x="785.7" />
|
54 |
|
55 |
+
<glyph glyph-name="check" unicode="" d="M786 331v-177q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q35 0 65-14 9-4 10-13 2-10-5-16l-27-28q-6-5-13-5-2 0-5 1-13 3-25 3h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63v141q0 8 5 13l36 35q6 6 13 6 3 0 7-2 11-4 11-16z m129 273l-455-454q-13-14-31-14t-32 14l-240 240q-14 13-14 31t14 32l61 62q14 13 32 13t32-13l147-147 361 361q13 13 31 13t32-13l62-61q13-14 13-32t-13-32z" horiz-adv-x="928.6" />
|
56 |
|
57 |
+
<glyph glyph-name="help-circled" unicode="" d="M500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
|
58 |
|
59 |
+
<glyph glyph-name="file-code" unicode="" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 16-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 15t-16 38v233h-429v-858h715z m-518 500q4 7 12 7t13-3l28-21q7-5 7-12t-3-14l-102-135 102-136q4-6 3-13t-7-12l-28-21q-6-4-13-4t-12 7l-126 168q-8 11 0 21z m447-168q8-10 0-21l-126-168q-4-6-11-7t-14 4l-28 21q-6 5-7 12t3 13l102 136-102 135q-4 7-3 14t7 12l28 21q6 4 14 3t11-7z m-346-257q-7 1-11 7t-3 14l77 464q1 7 7 11t14 3l35-5q7-2 11-8t3-13l-77-464q-1-7-7-11t-13-3z" horiz-adv-x="857.1" />
|
60 |
|
61 |
+
<glyph glyph-name="users" unicode="" d="M331 350q-90-3-148-71h-75q-45 0-77 22t-31 66q0 197 69 197 4 0 25-11t54-24 66-12q38 0 75 13-3-21-3-37 0-78 45-143z m598-356q0-66-41-105t-108-39h-488q-68 0-108 39t-41 105q0 30 2 58t8 61 14 61 24 54 35 45 48 30 62 11q6 0 24-12t41-26 59-27 76-12 75 12 60 27 41 26 23 12q35 0 63-11t47-30 35-45 24-54 15-61 8-61 2-58z m-572 713q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m393-214q0-89-63-152t-151-62-152 62-63 152 63 151 152 63 151-63 63-151z m321-126q0-43-31-66t-77-22h-75q-57 68-147 71 45 65 45 143 0 16-3 37 37-13 74-13 33 0 67 12t54 24 24 11q69 0 69-197z m-71 340q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z" horiz-adv-x="1071.4" />
|
62 |
|
63 |
+
<glyph glyph-name="box-1" unicode="" d="M607 386q0 14-10 25t-26 10h-142q-15 0-26-10t-10-25 10-25 26-11h142q15 0 26 11t10 25z m322 107v-536q0-14-11-25t-25-11h-786q-14 0-25 11t-11 25v536q0 14 11 25t25 11h786q14 0 25-11t11-25z m35 250v-143q0-15-10-25t-25-11h-858q-14 0-25 11t-10 25v143q0 14 10 25t25 11h858q14 0 25-11t10-25z" horiz-adv-x="1000" />
|
64 |
|
65 |
+
<glyph glyph-name="folder-1" unicode="" d="M929 511v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" />
|
66 |
|
67 |
+
<glyph glyph-name="eye-1" unicode="" d="M929 314q-85 132-213 197 34-58 34-125 0-104-73-177t-177-73-177 73-73 177q0 67 34 125-128-65-213-197 75-114 187-182t242-68 242 68 187 182z m-402 215q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-12 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m473-215q0-19-11-38-78-129-210-206t-279-77-279 77-210 206q-11 19-11 38t11 39q78 128 210 205t279 78 279-78 210-205q11-20 11-39z" horiz-adv-x="1000" />
|
68 |
|
69 |
+
<glyph glyph-name="upload-cloud" unicode="" d="M714 368q0 8-5 13l-196 196q-5 5-13 5t-13-5l-196-196q-5-6-5-13 0-8 5-13t13-5h125v-196q0-8 5-13t12-5h108q7 0 12 5t5 13v196h125q8 0 13 5t5 13z m357-161q0-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" />
|
70 |
|
71 |
+
<glyph glyph-name="user-plus" unicode="" d="M393 350q-89 0-152 63t-62 151 62 152 152 63 151-63 63-152-63-151-151-63z m536-71h196q7 0 13-6t5-12v-107q0-8-5-13t-13-5h-196v-197q0-7-6-12t-12-6h-107q-8 0-13 6t-5 12v197h-197q-7 0-12 5t-6 13v107q0 7 6 12t12 6h197v196q0 7 5 13t13 5h107q7 0 12-5t6-13v-196z m-411-125q0-29 21-51t50-21h143v-133q-38-28-95-28h-488q-67 0-108 39t-41 106q0 30 2 58t8 61 15 60 24 55 34 45 48 30 62 11q11 0 22-10 44-34 86-51t92-17 92 17 86 51q11 10 22 10 73 0 121-54h-125q-29 0-50-21t-21-50v-107z" horiz-adv-x="1142.9" />
|
72 |
|
73 |
+
<glyph glyph-name="gauge" unicode="" d="M214 207q0 30-21 51t-50 21-51-21-21-51 21-50 51-21 50 21 21 50z m107 250q0 30-20 51t-51 21-50-21-21-51 21-50 50-21 51 21 20 50z m239-268l57 213q3 14-5 27t-21 16-27-3-17-22l-56-213q-33-3-60-25t-35-55q-11-43 11-81t66-50 81 11 50 66q9 33-4 65t-40 51z m369 18q0 30-21 51t-51 21-50-21-21-51 21-50 50-21 51 21 21 50z m-358 357q0 30-20 51t-51 21-50-21-21-51 21-50 50-21 51 21 20 50z m250-107q0 30-20 51t-51 21-50-21-21-51 21-50 50-21 51 21 20 50z m179-250q0-145-79-269-10-17-30-17h-782q-20 0-30 17-79 123-79 269 0 102 40 194t106 160 160 107 194 39 194-39 160-107 106-160 40-194z" horiz-adv-x="1000" />
|
74 |
|
75 |
+
<glyph glyph-name="box" unicode="" d="M607 386q0 14-10 25t-26 10h-142q-15 0-26-10t-10-25 10-25 26-11h142q15 0 26 11t10 25z m322 107v-536q0-14-11-25t-25-11h-786q-14 0-25 11t-11 25v536q0 14 11 25t25 11h786q14 0 25-11t11-25z m35 250v-143q0-15-10-25t-25-11h-858q-14 0-25 11t-10 25v143q0 14 10 25t25 11h858q14 0 25-11t10-25z" horiz-adv-x="1000" />
|
76 |
|
77 |
+
<glyph glyph-name="plus-circled" unicode="" d="M679 314v72q0 14-11 25t-25 10h-143v143q0 15-11 25t-25 11h-71q-15 0-25-11t-11-25v-143h-143q-14 0-25-10t-10-25v-72q0-14 10-25t25-10h143v-143q0-15 11-25t25-11h71q15 0 25 11t11 25v143h143q14 0 25 10t11 25z m178 36q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
|
78 |
|
79 |
+
<glyph glyph-name="link" unicode="" d="M813 171q0 23-16 38l-116 116q-16 16-38 16-24 0-40-18 1-1 10-10t12-12 9-11 7-14 2-15q0-23-16-38t-38-16q-8 0-15 2t-14 7-11 9-12 12-10 10q-19-17-19-40 0-23 16-38l115-116q15-15 38-15 22 0 38 15l82 81q16 16 16 37z m-393 394q0 22-15 38l-115 115q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l116-116q15-15 38-15 23 0 40 17-2 2-11 11t-12 12-8 10-7 14-2 16q0 22 15 38t38 15q9 0 16-2t14-7 11-8 12-12 10-11q18 17 18 41z m500-394q0-66-48-113l-82-81q-46-47-113-47-68 0-114 48l-115 115q-46 47-46 114 0 68 49 116l-49 49q-48-49-116-49-67 0-114 47l-116 116q-47 47-47 114t47 113l82 82q47 46 114 46 67 0 114-47l115-116q46-46 46-113 0-69-49-117l49-49q48 49 116 49 67 0 114-47l116-116q47-47 47-114z" horiz-adv-x="928.6" />
|
80 |
|
81 |
+
<glyph glyph-name="wrench" unicode="" d="M214 29q0 14-10 25t-25 10-26-10-10-25 10-26 26-10 25 10 10 26z m360 234l-381-381q-21-20-50-20-29 0-51 20l-59 61q-21 20-21 50 0 29 21 51l380 380q22-55 64-97t97-64z m353 243q0-22-12-59-27-75-92-122t-144-46q-104 0-177 73t-73 177 73 176 177 74q32 0 67-10t60-26q9-6 9-15t-9-16l-163-94v-125l108-60q2 2 44 27t75 45 40 20q8 0 13-5t4-14z" horiz-adv-x="928.6" />
|
82 |
|
83 |
+
<glyph glyph-name="eye" unicode="" d="M929 314q-85 132-213 197 34-58 34-125 0-104-73-177t-177-73-177 73-73 177q0 67 34 125-128-65-213-197 75-114 187-182t242-68 242 68 187 182z m-402 215q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-11 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m473-215q0-19-11-38-78-129-210-206t-279-77-279 77-210 206q-11 19-11 38t11 39q78 128 210 205t279 78 279-78 210-205q11-20 11-39z" horiz-adv-x="1000" />
|
84 |
|
85 |
+
<glyph glyph-name="medkit" unicode="" d="M714 225v107q0 8-5 13t-13 5h-125v125q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-125h-125q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h125v-125q0-8 5-13t12-5h108q7 0 12 5t5 13v125h125q8 0 13 5t5 13z m-357 411h286v71h-286v-71z m-214 0v-715h-18q-51 0-88 37t-37 88v465q0 51 37 88t88 37h18z m661 0v-715h-608v715h90v89q0 22 15 38t38 16h322q22 0 38-16t15-38v-89h90z m196-125v-465q0-51-37-88t-88-37h-18v715h18q51 0 88-37t37-88z" horiz-adv-x="1000" />
|
86 |
|
87 |
+
<glyph glyph-name="basket" unicode="" d="M357-7q0-29-21-50t-50-22-50 22-22 50 22 50 50 21 50-21 21-50z m500 0q0-29-21-50t-50-22-51 22-21 50 21 50 51 21 50-21 21-50z m72 607v-286q0-13-10-23t-22-12l-583-68q7-34 7-40 0-8-13-35h513q15 0 26-11t10-25-10-25-26-11h-571q-14 0-25 11t-11 25q0 6 5 18t9 20 12 22 8 16l-98 460h-114q-15 0-25 10t-11 25 11 26 25 10h143q9 0 16-3t10-9 8-14 4-14 3-17 3-14h670q14 0 25-11t11-25z" horiz-adv-x="928.6" />
|
88 |
|
89 |
+
<glyph glyph-name="check-empty" unicode="" d="M625 707h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63v464q0 37-26 63t-63 26z m161-89v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" />
|
90 |
|
91 |
+
<glyph glyph-name="doc-text-inv" unicode="" d="M819 584q8-7 16-20h-264v264q13-8 21-16z m-265-91h303v-589q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h446v-304q0-22 16-38t38-15z m89-411v36q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v36q0 7-5 12t-13 5h-393q-8 0-13-5t-5-12v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v35q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-35q0-8 5-13t13-5h393q8 0 13 5t5 13z" horiz-adv-x="857.1" />
|
92 |
|
93 |
+
<glyph glyph-name="home" unicode="" d="M786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z" horiz-adv-x="928.6" />
|
94 |
|
95 |
+
<glyph glyph-name="angle-double-right" unicode="" d="M332 314q0-7-6-13l-260-260q-5-5-12-5t-13 5l-28 28q-6 6-6 13t6 13l219 219-219 220q-6 5-6 12t6 13l28 28q5 6 13 6t12-6l260-260q6-5 6-13z m214 0q0-7-5-13l-260-260q-6-5-13-5t-13 5l-28 28q-5 6-5 13t5 13l219 219-219 220q-5 5-5 12t5 13l28 28q6 6 13 6t13-6l260-260q5-5 5-13z" horiz-adv-x="571.4" />
|
96 |
|
97 |
+
<glyph glyph-name="facebook" unicode="" d="M535 843v-147h-87q-48 0-65-20t-17-60v-106h164l-22-165h-142v-424h-171v424h-142v165h142v122q0 104 58 161t155 57q82 0 127-7z" horiz-adv-x="571.4" />
|
98 |
|
99 |
+
<glyph glyph-name="star" unicode="" d="M929 489q0-12-15-27l-203-197 48-279q1-4 1-12 0-11-6-19t-17-9q-10 0-22 7l-251 132-250-132q-13-7-23-7-11 0-17 9t-6 19q0 4 1 12l48 279-203 197q-14 15-14 27 0 21 31 26l280 40 126 254q11 23 27 23t28-23l125-254 280-40q32-5 32-26z" horiz-adv-x="928.6" />
|
100 |
|
101 |
+
<glyph glyph-name="list" unicode="" d="M143 118v-107q0-7-5-13t-13-5h-107q-7 0-13 5t-5 13v107q0 7 5 12t13 6h107q7 0 13-6t5-12z m0 214v-107q0-7-5-13t-13-5h-107q-7 0-13 5t-5 13v107q0 7 5 13t13 5h107q7 0 13-5t5-13z m0 214v-107q0-7-5-12t-13-6h-107q-7 0-13 6t-5 12v107q0 8 5 13t13 5h107q7 0 13-5t5-13z m857-428v-107q0-7-5-13t-13-5h-750q-7 0-12 5t-6 13v107q0 7 6 12t12 6h750q7 0 13-6t5-12z m-857 643v-107q0-8-5-13t-13-5h-107q-7 0-13 5t-5 13v107q0 7 5 12t13 6h107q7 0 13-6t5-12z m857-429v-107q0-7-5-13t-13-5h-750q-7 0-12 5t-6 13v107q0 7 6 13t12 5h750q7 0 13-5t5-13z m0 214v-107q0-7-5-12t-13-6h-750q-7 0-12 6t-6 12v107q0 8 6 13t12 5h750q7 0 13-5t5-13z m0 215v-107q0-8-5-13t-13-5h-750q-7 0-12 5t-6 13v107q0 7 6 12t12 6h750q7 0 13-6t5-12z" horiz-adv-x="1000" />
|
102 |
|
103 |
+
<glyph glyph-name="up-dir" unicode="" d="M571 171q0-14-10-25t-25-10h-500q-15 0-25 10t-11 25 11 26l250 250q10 10 25 10t25-10l250-250q10-11 10-26z" horiz-adv-x="571.4" />
|
104 |
|
105 |
+
<glyph glyph-name="dot-circled" unicode="" d="M571 350q0-59-41-101t-101-42-101 42-42 101 42 101 101 42 101-42 41-101z m-142 304q-83 0-153-41t-110-111-41-152 41-152 110-111 153-41 152 41 110 111 41 152-41 152-110 111-152 41z m428-304q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
|
106 |
|
107 |
+
<glyph glyph-name="code" unicode="" d="M344 69l-28-28q-5-5-12-5t-13 5l-260 260q-6 6-6 13t6 13l260 260q5 6 13 6t12-6l28-28q6-5 6-13t-6-12l-219-220 219-219q6-6 6-13t-6-13z m330 596l-208-721q-2-7-9-11t-13-1l-34 9q-8 3-11 9t-2 14l208 720q3 8 9 11t13 2l35-10q7-2 11-9t1-13z m367-364l-260-260q-6-5-13-5t-13 5l-28 28q-5 6-5 13t5 13l219 219-219 220q-5 5-5 12t5 13l28 28q6 6 13 6t13-6l260-260q5-5 5-13t-5-13z" horiz-adv-x="1071.4" />
|
108 |
|
109 |
+
<glyph glyph-name="bug" unicode="" d="M911 314q0-14-11-25t-25-10h-125q0-96-37-162l116-117q10-11 10-25t-10-25q-10-11-25-11t-26 11l-110 110q-3-3-8-7t-24-16-36-21-46-16-54-7v500h-71v-500q-29 0-57 7t-49 19-36 22-25 18l-8 8-102-116q-11-12-27-12-13 0-24 9-11 10-11 25t8 26l113 127q-32 63-32 153h-125q-15 0-25 10t-11 25 11 25 25 11h125v164l-97 97q-11 10-11 25t11 25 25 10 25-10l97-97h471l96 97q11 10 25 10t26-10 10-25-10-25l-97-97v-164h125q15 0 25-11t11-25z m-268 322h-357q0 74 52 126t126 52 127-52 52-126z" horiz-adv-x="928.6" />
|
110 |
|
111 |
+
<glyph glyph-name="heartbeat" unicode="" d="M714 279h170q-2-4-5-6t-5-4l-2-3-347-335q-10-10-25-10t-25 10l-348 336q-3 2-11 12h205q13 0 22 7t13 19l39 157 106-372q3-11 13-18t22-8q11 0 21 8t13 18l81 271 31-63q11-19 32-19z m286 238q0-80-57-167h-206l-62 123q-5 10-15 15t-20 5q-25-3-31-26l-72-240-110 383q-3 11-13 18t-22 8-21-8-13-19l-64-259h-236q-58 87-58 167 0 123 71 192t196 70q34 0 70-12t67-33 54-38 42-38q20 20 42 38t54 38 67 33 70 12q125 0 196-70t71-192z" horiz-adv-x="1000" />
|
112 |
|
113 |
+
<glyph glyph-name="connectdevelop" unicode="" d="M1143 351q0-12-7-21t-19-11l-114-198q1-5 1-10 0-12-7-20t-18-11l-107-188q1-5 1-9 0-13-9-22t-22-10q-14 0-23 10h-224q-9-11-24-11t-24 11h-222q-10-11-24-11-13 0-23 9t-9 23q0 4 2 11l-107 187q-12 2-19 11t-7 20q0 5 2 10l-115 198q-11 3-18 12t-7 20q0 11 8 20t18 11l111 192q0 0 0 1t0 2q0 20 19 29l116 202q-2 6-2 10 0 14 10 23t22 9q14 0 24-12h221q9 12 24 12t24-12h223q10 12 24 12 13 0 22-9t10-23q0-3-2-10l115-200q13 0 22-9t9-22q0-7-4-15l104-181q11-2 18-11t7-19z m-550-446h217l-191 197h-79l-191-197h201q10 9 21 9t22-9z m-530 453q0-2 0-7 0-6-1-9l116-201q1 0 3 0t3-2l2-1 105 111v194l-104 108q-7-5-16-6z m487 437h-216l106-111 309 111h-156q-9-9-22-9t-21 9z m393-676q0 3 2 6l-35 38-10-44h43z m-60 0l13 59-141 148-165-171 35-36h258z m-49-205l9 15 36 173h-238l186-191q4 2 7 3z m-511-9h2l191 197h-208v-187l2-3q8-3 13-7z m-15 214h224l36 37-172 179-88-93v-123z m-108 0h91v105l-93-98q2-5 2-7z m0 460q0 0 0-1t0-1q0-9-4-16l95-99v150z m108 39v-173l85-88 166 175-124 132z m2 170l-2-4v-148l114 42-106 112q-3-1-6-2z m497 7h-8l-347-125 119-125z m-236-274l-166-176 174-178 165 171z m-187-174l-76 78v-158z m195-204l-23-24h47z m188 195l133-140 73 348-1 3-1 0z m192 223q-5 7-5 16v1l-120 210q-3 1-8 3l-243-259 173-182z m-668 69v124l-91-157z m0-528h-91l91-158v158z m606 0l-27-127 73 127h-46z m68 39l115 202q-1 5-1 7 0 1 2 9l-96 166-72-342 43-46q3 2 9 4z" horiz-adv-x="1142.9" />
|
114 |
|
115 |
+
<glyph glyph-name="trash-empty" unicode="" d="M286 439v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m143 0v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m142 0v-321q0-8-5-13t-12-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q7 0 12-5t5-13z m72-404v529h-500v-529q0-12 4-22t8-15 6-5h464q2 0 6 5t8 15 4 22z m-375 601h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q22 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" />
|
116 |
|
117 |
+
<glyph glyph-name="download-cloud-1" 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" />
|
118 |
|
119 |
+
<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" />
|
120 |
|
121 |
+
<glyph glyph-name="cog" unicode="" d="M571 350q0 59-41 101t-101 42-101-42-42-101 42-101 101-42 101 42 41 101z m286 61v-124q0-7-4-13t-11-7l-104-16q-10-30-21-51 19-27 59-77 6-6 6-13t-5-13q-15-21-55-61t-53-39q-7 0-14 5l-77 60q-25-13-51-21-9-76-16-104-4-16-20-16h-124q-8 0-14 5t-6 12l-16 103q-27 9-50 21l-79-60q-6-5-14-5-8 0-14 6-70 64-92 94-4 5-4 13 0 6 5 12 8 12 28 37t30 40q-15 28-23 55l-102 15q-7 1-11 7t-5 13v124q0 7 5 13t10 7l104 16q8 25 22 51-23 32-60 77-6 7-6 14 0 5 5 12 15 20 55 60t53 40q7 0 15-5l77-60q24 13 50 21 9 76 17 104 3 15 20 15h124q7 0 13-4t7-12l15-103q28-9 50-21l80 60q5 5 13 5 7 0 14-5 72-67 92-95 4-5 4-13 0-6-4-12-9-12-29-38t-30-39q14-28 23-55l102-15q7-1 12-7t4-13z" horiz-adv-x="857.1" />
|
122 |
|
123 |
+
<glyph glyph-name="lock" unicode="" d="M179 421h285v108q0 59-42 101t-101 41-101-41-41-101v-108z m464-53v-322q0-22-16-37t-38-16h-535q-23 0-38 16t-16 37v322q0 22 16 38t38 15h17v108q0 102 74 176t176 74 177-74 73-176v-108h18q23 0 38-15t16-38z" horiz-adv-x="642.9" />
|
124 |
|
125 |
+
<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" />
|
126 |
|
127 |
+
<glyph glyph-name="certificate" unicode="" d="M768 350l77-75q17-16 11-39-7-23-29-29l-105-27 30-103q6-23-11-39-16-18-39-11l-104 30-27-105q-5-23-28-30-7-1-11-1-17 0-28 13l-75 77-76-77q-15-17-39-12-23 7-28 30l-27 105-104-30q-23-7-39 11-17 16-10 39l29 103-105 27q-22 6-29 29-6 23 11 39l77 75-77 75q-17 16-11 39 7 23 29 29l105 27-29 103q-7 23 10 39 16 18 39 11l104-29 27 104q5 23 28 29 23 7 39-11l76-77 75 77q16 17 39 11 23-6 28-29l27-104 104 29q23 7 39-11 17-16 11-39l-30-103 105-27q22-6 29-29 6-23-11-39z" horiz-adv-x="857.1" />
|
128 |
|
129 |
+
<glyph glyph-name="user" unicode="" d="M786 66q0-67-41-106t-108-39h-488q-67 0-108 39t-41 106q0 30 2 58t8 61 15 60 24 55 34 45 48 30 62 11q5 0 24-12t41-27 60-27 75-12 74 12 61 27 41 27 24 12q34 0 62-11t48-30 34-45 24-55 15-60 8-61 2-58z m-179 498q0-88-63-151t-151-63-152 63-62 151 62 152 152 63 151-63 63-152z" horiz-adv-x="785.7" />
|
130 |
+
|
131 |
+
<glyph glyph-name="level-down" unicode="" d="M18 707h393q7 0 12-5t6-13v-482h107q22 0 32-20t-5-39l-178-214q-11-13-28-13t-27 13l-179 214q-14 17-5 39 10 20 33 20h107v357h-179q-8 0-14 6l-89 108q-7 7-2 19 5 10 16 10z" horiz-adv-x="571.4" />
|
132 |
|
133 |
<glyph glyph-name="exchange" unicode="" d="M1000 189v-107q0-7-5-12t-13-6h-768v-107q0-7-5-12t-13-6q-6 0-13 6l-178 178q-5 6-5 13 0 8 5 13l179 178q5 5 12 5 8 0 13-5t5-13v-107h768q7 0 13-5t5-13z m0 304q0-8-5-13l-179-178q-5-6-12-6-8 0-13 6t-5 12v107h-768q-7 0-13 6t-5 12v107q0 8 5 13t13 5h768v107q0 8 5 13t13 5q6 0 13-5l178-178q5-5 5-13z" horiz-adv-x="1000" />
|
134 |
|
media/font/fontello.ttf
CHANGED
Binary file
|
media/font/fontello.woff
CHANGED
Binary file
|
media/font/fontello.woff2
CHANGED
Binary file
|
media/js/aam-ui.js
CHANGED
@@ -680,12 +680,8 @@
|
|
680 |
*/
|
681 |
(function ($) {
|
682 |
|
683 |
-
|
684 |
-
|
685 |
-
* @returns {undefined}
|
686 |
-
*/
|
687 |
-
function initialize() {
|
688 |
-
$('#manage-visitor').bind('click', function (event) {
|
689 |
event.preventDefault();
|
690 |
aam.setSubject('visitor', null, aam.__('Anonymous'), 0);
|
691 |
$('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
|
@@ -694,11 +690,29 @@
|
|
694 |
//hide post & pages access control groups that belong to backend
|
695 |
$('.aam-backend-post-access').hide();
|
696 |
});
|
697 |
-
}
|
|
|
|
|
698 |
|
699 |
-
|
700 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
701 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
702 |
})(jQuery);
|
703 |
|
704 |
|
@@ -1400,6 +1414,13 @@
|
|
1400 |
success: function (response) {
|
1401 |
if (response.status === 'failure') {
|
1402 |
aam.notification('danger', response.error);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1403 |
}
|
1404 |
result = response;
|
1405 |
},
|
@@ -1590,10 +1611,6 @@
|
|
1590 |
$('#post-overwritten').addClass('hidden');
|
1591 |
loadAccessForm(type, id);
|
1592 |
}
|
1593 |
-
},
|
1594 |
-
error: function () {
|
1595 |
-
},
|
1596 |
-
complete: function () {
|
1597 |
}
|
1598 |
});
|
1599 |
});
|
@@ -1653,6 +1670,7 @@
|
|
1653 |
}
|
1654 |
});
|
1655 |
}
|
|
|
1656 |
/**
|
1657 |
*
|
1658 |
* @returns {undefined}
|
@@ -1685,6 +1703,72 @@
|
|
1685 |
|
1686 |
})(jQuery);
|
1687 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1688 |
/**
|
1689 |
* Teaser Interface
|
1690 |
*
|
680 |
*/
|
681 |
(function ($) {
|
682 |
|
683 |
+
$('document').ready(function() {
|
684 |
+
$('#manage-visitor').bind('click', function (event) {
|
|
|
|
|
|
|
|
|
685 |
event.preventDefault();
|
686 |
aam.setSubject('visitor', null, aam.__('Anonymous'), 0);
|
687 |
$('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
|
690 |
//hide post & pages access control groups that belong to backend
|
691 |
$('.aam-backend-post-access').hide();
|
692 |
});
|
693 |
+
});
|
694 |
+
|
695 |
+
})(jQuery);
|
696 |
|
697 |
+
/**
|
698 |
+
* Default Interface
|
699 |
+
*
|
700 |
+
* @param {jQuery} $
|
701 |
+
*
|
702 |
+
* @returns {void}
|
703 |
+
*/
|
704 |
+
(function ($) {
|
705 |
|
706 |
+
$('document').ready(function() {
|
707 |
+
$('#manage-default').bind('click', function (event) {
|
708 |
+
event.preventDefault();
|
709 |
+
aam.setSubject('default', null, aam.__('All Users, Roles and Visitor'), 0);
|
710 |
+
$('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
|
711 |
+
aam.fetchContent();
|
712 |
+
$('i.icon-spin4', $(this)).attr('class', 'icon-cog');
|
713 |
+
});
|
714 |
+
});
|
715 |
+
|
716 |
})(jQuery);
|
717 |
|
718 |
|
1414 |
success: function (response) {
|
1415 |
if (response.status === 'failure') {
|
1416 |
aam.notification('danger', response.error);
|
1417 |
+
} else {
|
1418 |
+
$('#post-overwritten').removeClass('hidden');
|
1419 |
+
//add some specific attributes to reset button
|
1420 |
+
$('#post-reset').attr({
|
1421 |
+
'data-type': object,
|
1422 |
+
'data-id': object_id
|
1423 |
+
});
|
1424 |
}
|
1425 |
result = response;
|
1426 |
},
|
1611 |
$('#post-overwritten').addClass('hidden');
|
1612 |
loadAccessForm(type, id);
|
1613 |
}
|
|
|
|
|
|
|
|
|
1614 |
}
|
1615 |
});
|
1616 |
});
|
1670 |
}
|
1671 |
});
|
1672 |
}
|
1673 |
+
|
1674 |
/**
|
1675 |
*
|
1676 |
* @returns {undefined}
|
1703 |
|
1704 |
})(jQuery);
|
1705 |
|
1706 |
+
/**
|
1707 |
+
* Login Redirect Interface
|
1708 |
+
*
|
1709 |
+
* @param {jQuery} $
|
1710 |
+
*
|
1711 |
+
* @returns {void}
|
1712 |
+
*/
|
1713 |
+
(function ($) {
|
1714 |
+
|
1715 |
+
/**
|
1716 |
+
*
|
1717 |
+
* @param {type} param
|
1718 |
+
* @param {type} value
|
1719 |
+
* @returns {undefined}
|
1720 |
+
*/
|
1721 |
+
function save(param, value) {
|
1722 |
+
$.ajax(aamLocal.ajaxurl, {
|
1723 |
+
type: 'POST',
|
1724 |
+
dataType: 'json',
|
1725 |
+
data: {
|
1726 |
+
action: 'aam',
|
1727 |
+
sub_action: 'LoginRedirect.save',
|
1728 |
+
_ajax_nonce: aamLocal.nonce,
|
1729 |
+
subject: aam.getSubject().type,
|
1730 |
+
subjectId: aam.getSubject().id,
|
1731 |
+
param: param,
|
1732 |
+
value: value
|
1733 |
+
},
|
1734 |
+
error: function () {
|
1735 |
+
aam.notification('danger', aam.__('Application error'));
|
1736 |
+
}
|
1737 |
+
});
|
1738 |
+
}
|
1739 |
+
|
1740 |
+
/**
|
1741 |
+
*
|
1742 |
+
* @returns {undefined}
|
1743 |
+
*/
|
1744 |
+
function initialize() {
|
1745 |
+
var container = '#login_redirect-content';
|
1746 |
+
|
1747 |
+
$('input[type="radio"]', container).each(function () {
|
1748 |
+
$(this).bind('click', function () {
|
1749 |
+
//hide all fields
|
1750 |
+
$('.login-redirect-action').hide();
|
1751 |
+
|
1752 |
+
//show the specific one
|
1753 |
+
$($(this).data('action')).show();
|
1754 |
+
|
1755 |
+
//save redirect type
|
1756 |
+
save($(this).attr('name'), $(this).val());
|
1757 |
+
});
|
1758 |
+
});
|
1759 |
+
|
1760 |
+
$('input[type="text"],select,textarea', container).each(function () {
|
1761 |
+
$(this).bind('change', function () {
|
1762 |
+
//save redirect type
|
1763 |
+
save($(this).attr('name'), $(this).val());
|
1764 |
+
});
|
1765 |
+
});
|
1766 |
+
}
|
1767 |
+
|
1768 |
+
aam.addHook('init', initialize);
|
1769 |
+
|
1770 |
+
})(jQuery);
|
1771 |
+
|
1772 |
/**
|
1773 |
* Teaser Interface
|
1774 |
*
|
media/js/bootstrap.min.js
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Bootstrap v3.3.5 (http://getbootstrap.com)
|
3 |
-
* Copyright 2011-2015 Twitter, Inc.
|
4 |
-
* Licensed under the MIT license
|
5 |
-
*/
|
6 |
-
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),
|
7 |
-
d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
media/js/download.min.js
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
//download.js v3.1, by dandavis; 2008-2015. [CCBY2] see http://danml.com/download.html for tests/usage
|
2 |
-
(function(f,a){"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():f.download=a()})(this,function(){return function(f,a,b){function n(l){var a=l.split(/[:;,]/);l=a[1];var a=("base64"==a[2]?atob:decodeURIComponent)(a.pop()),c=a.length,b=0,d=new Uint8Array(c);for(b;b<c;++b)d[b]=a.charCodeAt(b);return new g([d],{type:l})}function k(a,b){if("download"in d)return d.href=a,d.setAttribute("download",m),d.innerHTML="downloading...",h.body.appendChild(d),setTimeout(function(){d.click(),h.body.removeChild(d),!0===b&&setTimeout(function(){e.URL.revokeObjectURL(d.href)},250)},66),!0;if("undefined"!=typeof safari)return a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream"),!window.open(a)&&confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")&&(location.href=a),!0;var c=h.createElement("iframe");h.body.appendChild(c),b||(a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream")),c.src=a,setTimeout(function(){h.body.removeChild(c)},333)}var e=window;b=b||"application/octet-stream";var c=f,h=document,d=h.createElement("a");f=function(a){return String(a)};var g=e.Blob||e.MozBlob||e.WebKitBlob||f,g=g.call?g.bind(e):Blob,m=a||"download";"true"===String(this)&&(c=[c,b],b=c[0],c=c[1]);if(String(c).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))return navigator.msSaveBlob?navigator.msSaveBlob(n(c),m):k(c);a=c instanceof g?c:new g([c],{type:b});if(navigator.msSaveBlob)return navigator.msSaveBlob(a,m);if(e.URL)k(e.URL.createObjectURL(a),!0);else{if("string"==typeof a||a.constructor===f)try{return k("data:"+b+";base64,"+e.btoa(a))}catch(p){return k("data:"+b+","+encodeURIComponent(a))}b=new FileReader,b.onload=function(a){k(this.result)},b.readAsDataURL(a)}return!0}});
|
|
|
|
media/js/toggle.min.js
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
/*! ========================================================================
|
2 |
-
* Bootstrap Toggle: bootstrap-toggle.js v2.2.0
|
3 |
-
* http://www.bootstraptoggle.com
|
4 |
-
* ========================================================================
|
5 |
-
* Copyright 2014 Min Hur, The New York Times Company
|
6 |
-
* Licensed under MIT
|
7 |
-
* ======================================================================== */
|
8 |
-
+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.toggle"),f="object"==typeof b&&b;e||d.data("bs.toggle",e=new c(this,f)),"string"==typeof b&&e[b]&&e[b]()})}var c=function(b,c){this.$element=a(b),this.options=a.extend({},this.defaults(),c),this.render()};c.VERSION="2.2.0",c.DEFAULTS={on:"On",off:"Off",onstyle:"primary",offstyle:"default",size:"normal",style:"",width:null,height:null},c.prototype.defaults=function(){return{on:this.$element.attr("data-on")||c.DEFAULTS.on,off:this.$element.attr("data-off")||c.DEFAULTS.off,onstyle:this.$element.attr("data-onstyle")||c.DEFAULTS.onstyle,offstyle:this.$element.attr("data-offstyle")||c.DEFAULTS.offstyle,size:this.$element.attr("data-size")||c.DEFAULTS.size,style:this.$element.attr("data-style")||c.DEFAULTS.style,width:this.$element.attr("data-width")||c.DEFAULTS.width,height:this.$element.attr("data-height")||c.DEFAULTS.height}},c.prototype.render=function(){this._onstyle="btn-"+this.options.onstyle,this._offstyle="btn-"+this.options.offstyle;var b="large"===this.options.size?"btn-lg":"small"===this.options.size?"btn-sm":"mini"===this.options.size?"btn-xs":"",c=a('<label class="btn">').html(this.options.on).addClass(this._onstyle+" "+b),d=a('<label class="btn">').html(this.options.off).addClass(this._offstyle+" "+b+" active"),e=a('<span class="toggle-handle btn btn-default">').addClass(b),f=a('<div class="toggle-group">').append(c,d,e),g=a('<div class="toggle btn" data-toggle="toggle">').addClass(this.$element.prop("checked")?this._onstyle:this._offstyle+" off").addClass(b).addClass(this.options.style);this.$element.wrap(g),a.extend(this,{$toggle:this.$element.parent(),$toggleOn:c,$toggleOff:d,$toggleGroup:f}),this.$toggle.append(f);var h=this.options.width||Math.max(c.outerWidth(),d.outerWidth())+e.outerWidth()/2,i=this.options.height||Math.max(c.outerHeight(),d.outerHeight());c.addClass("toggle-on"),d.addClass("toggle-off"),this.$toggle.css({width:h,height:i}),this.options.height&&(c.css("line-height",c.height()+"px"),d.css("line-height",d.height()+"px")),this.update(!0),this.trigger(!0)},c.prototype.toggle=function(){this.$element.prop("checked")?this.off():this.on()},c.prototype.on=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._offstyle+" off").addClass(this._onstyle),this.$element.prop("checked",!0),void(a||this.trigger()))},c.prototype.off=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._onstyle).addClass(this._offstyle+" off"),this.$element.prop("checked",!1),void(a||this.trigger()))},c.prototype.enable=function(){this.$toggle.removeAttr("disabled"),this.$element.prop("disabled",!1)},c.prototype.disable=function(){this.$toggle.attr("disabled","disabled"),this.$element.prop("disabled",!0)},c.prototype.update=function(a){this.$element.prop("disabled")?this.disable():this.enable(),this.$element.prop("checked")?this.on(a):this.off(a)},c.prototype.trigger=function(b){this.$element.off("change.bs.toggle"),b||this.$element.change(),this.$element.on("change.bs.toggle",a.proxy(function(){this.update()},this))},c.prototype.destroy=function(){this.$element.off("change.bs.toggle"),this.$toggleGroup.remove(),this.$element.removeData("bs.toggle"),this.$element.unwrap()};var d=a.fn.bootstrapToggle;a.fn.bootstrapToggle=b,a.fn.bootstrapToggle.Constructor=c,a.fn.toggle.noConflict=function(){return a.fn.bootstrapToggle=d,this},a(function(){a("input[type=checkbox][data-toggle^=toggle]").bootstrapToggle()}),a(document).on("click.bs.toggle","div[data-toggle^=toggle]",function(b){var c=a(this).find("input[type=checkbox]");c.bootstrapToggle("toggle"),b.preventDefault()})}(jQuery);
|
9 |
-
//# sourceMappingURL=bootstrap-toggle.min.js.map
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
media/js/{datatables.min.js → vendor.js}
RENAMED
@@ -1,3 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/*
|
2 |
* This combined file was created by the DataTables downloader builder:
|
3 |
* https://datatables.net/download
|
@@ -207,4 +215,15 @@ type:"inline"}};var m=e.fn.dataTable.Api;m.register("responsive()",function(){re
|
|
207 |
h.version="1.0.7";e.fn.dataTable.Responsive=h;e.fn.DataTable.Responsive=h;e(p).on("init.dt.dtr",function(d,a){if("dt"===d.namespace&&(e(a.nTable).hasClass("responsive")||e(a.nTable).hasClass("dt-responsive")||a.oInit.responsive||k.defaults.responsive)){var c=a.oInit.responsive;!1!==c&&new h(a,e.isPlainObject(c)?c:{})}});return h};"function"===typeof define&&define.amd?define(["jquery","datatables"],o):"object"===typeof exports?o(require("jquery"),require("datatables")):jQuery&&!jQuery.fn.dataTable.Responsive&&
|
208 |
o(jQuery,jQuery.fn.dataTable)})(window,document);
|
209 |
|
|
|
|
|
210 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.3.5 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2015 Twitter, Inc.
|
4 |
+
* Licensed under the MIT license
|
5 |
+
*/
|
6 |
+
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),
|
7 |
+
d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
|
8 |
+
|
9 |
/*
|
10 |
* This combined file was created by the DataTables downloader builder:
|
11 |
* https://datatables.net/download
|
215 |
h.version="1.0.7";e.fn.dataTable.Responsive=h;e.fn.DataTable.Responsive=h;e(p).on("init.dt.dtr",function(d,a){if("dt"===d.namespace&&(e(a.nTable).hasClass("responsive")||e(a.nTable).hasClass("dt-responsive")||a.oInit.responsive||k.defaults.responsive)){var c=a.oInit.responsive;!1!==c&&new h(a,e.isPlainObject(c)?c:{})}});return h};"function"===typeof define&&define.amd?define(["jquery","datatables"],o):"object"===typeof exports?o(require("jquery"),require("datatables")):jQuery&&!jQuery.fn.dataTable.Responsive&&
|
216 |
o(jQuery,jQuery.fn.dataTable)})(window,document);
|
217 |
|
218 |
+
//download.js v3.1, by dandavis; 2008-2015. [CCBY2] see http://danml.com/download.html for tests/usage
|
219 |
+
(function(f,a){"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():f.download=a()})(this,function(){return function(f,a,b){function n(l){var a=l.split(/[:;,]/);l=a[1];var a=("base64"==a[2]?atob:decodeURIComponent)(a.pop()),c=a.length,b=0,d=new Uint8Array(c);for(b;b<c;++b)d[b]=a.charCodeAt(b);return new g([d],{type:l})}function k(a,b){if("download"in d)return d.href=a,d.setAttribute("download",m),d.innerHTML="downloading...",h.body.appendChild(d),setTimeout(function(){d.click(),h.body.removeChild(d),!0===b&&setTimeout(function(){e.URL.revokeObjectURL(d.href)},250)},66),!0;if("undefined"!=typeof safari)return a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream"),!window.open(a)&&confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")&&(location.href=a),!0;var c=h.createElement("iframe");h.body.appendChild(c),b||(a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream")),c.src=a,setTimeout(function(){h.body.removeChild(c)},333)}var e=window;b=b||"application/octet-stream";var c=f,h=document,d=h.createElement("a");f=function(a){return String(a)};var g=e.Blob||e.MozBlob||e.WebKitBlob||f,g=g.call?g.bind(e):Blob,m=a||"download";"true"===String(this)&&(c=[c,b],b=c[0],c=c[1]);if(String(c).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))return navigator.msSaveBlob?navigator.msSaveBlob(n(c),m):k(c);a=c instanceof g?c:new g([c],{type:b});if(navigator.msSaveBlob)return navigator.msSaveBlob(a,m);if(e.URL)k(e.URL.createObjectURL(a),!0);else{if("string"==typeof a||a.constructor===f)try{return k("data:"+b+";base64,"+e.btoa(a))}catch(p){return k("data:"+b+","+encodeURIComponent(a))}b=new FileReader,b.onload=function(a){k(this.result)},b.readAsDataURL(a)}return!0}});
|
220 |
|
221 |
+
/*! ========================================================================
|
222 |
+
* Bootstrap Toggle: bootstrap-toggle.js v2.2.0
|
223 |
+
* http://www.bootstraptoggle.com
|
224 |
+
* ========================================================================
|
225 |
+
* Copyright 2014 Min Hur, The New York Times Company
|
226 |
+
* Licensed under MIT
|
227 |
+
* ======================================================================== */
|
228 |
+
+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.toggle"),f="object"==typeof b&&b;e||d.data("bs.toggle",e=new c(this,f)),"string"==typeof b&&e[b]&&e[b]()})}var c=function(b,c){this.$element=a(b),this.options=a.extend({},this.defaults(),c),this.render()};c.VERSION="2.2.0",c.DEFAULTS={on:"On",off:"Off",onstyle:"primary",offstyle:"default",size:"normal",style:"",width:null,height:null},c.prototype.defaults=function(){return{on:this.$element.attr("data-on")||c.DEFAULTS.on,off:this.$element.attr("data-off")||c.DEFAULTS.off,onstyle:this.$element.attr("data-onstyle")||c.DEFAULTS.onstyle,offstyle:this.$element.attr("data-offstyle")||c.DEFAULTS.offstyle,size:this.$element.attr("data-size")||c.DEFAULTS.size,style:this.$element.attr("data-style")||c.DEFAULTS.style,width:this.$element.attr("data-width")||c.DEFAULTS.width,height:this.$element.attr("data-height")||c.DEFAULTS.height}},c.prototype.render=function(){this._onstyle="btn-"+this.options.onstyle,this._offstyle="btn-"+this.options.offstyle;var b="large"===this.options.size?"btn-lg":"small"===this.options.size?"btn-sm":"mini"===this.options.size?"btn-xs":"",c=a('<label class="btn">').html(this.options.on).addClass(this._onstyle+" "+b),d=a('<label class="btn">').html(this.options.off).addClass(this._offstyle+" "+b+" active"),e=a('<span class="toggle-handle btn btn-default">').addClass(b),f=a('<div class="toggle-group">').append(c,d,e),g=a('<div class="toggle btn" data-toggle="toggle">').addClass(this.$element.prop("checked")?this._onstyle:this._offstyle+" off").addClass(b).addClass(this.options.style);this.$element.wrap(g),a.extend(this,{$toggle:this.$element.parent(),$toggleOn:c,$toggleOff:d,$toggleGroup:f}),this.$toggle.append(f);var h=this.options.width||Math.max(c.outerWidth(),d.outerWidth())+e.outerWidth()/2,i=this.options.height||Math.max(c.outerHeight(),d.outerHeight());c.addClass("toggle-on"),d.addClass("toggle-off"),this.$toggle.css({width:h,height:i}),this.options.height&&(c.css("line-height",c.height()+"px"),d.css("line-height",d.height()+"px")),this.update(!0),this.trigger(!0)},c.prototype.toggle=function(){this.$element.prop("checked")?this.off():this.on()},c.prototype.on=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._offstyle+" off").addClass(this._onstyle),this.$element.prop("checked",!0),void(a||this.trigger()))},c.prototype.off=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._onstyle).addClass(this._offstyle+" off"),this.$element.prop("checked",!1),void(a||this.trigger()))},c.prototype.enable=function(){this.$toggle.removeAttr("disabled"),this.$element.prop("disabled",!1)},c.prototype.disable=function(){this.$toggle.attr("disabled","disabled"),this.$element.prop("disabled",!0)},c.prototype.update=function(a){this.$element.prop("disabled")?this.disable():this.enable(),this.$element.prop("checked")?this.on(a):this.off(a)},c.prototype.trigger=function(b){this.$element.off("change.bs.toggle"),b||this.$element.change(),this.$element.on("change.bs.toggle",a.proxy(function(){this.update()},this))},c.prototype.destroy=function(){this.$element.off("change.bs.toggle"),this.$toggleGroup.remove(),this.$element.removeData("bs.toggle"),this.$element.unwrap()};var d=a.fn.bootstrapToggle;a.fn.bootstrapToggle=b,a.fn.bootstrapToggle.Constructor=c,a.fn.toggle.noConflict=function(){return a.fn.bootstrapToggle=d,this},a(function(){a("input[type=checkbox][data-toggle^=toggle]").bootstrapToggle()}),a(document).on("click.bs.toggle","div[data-toggle^=toggle]",function(b){var c=a(this).find("input[type=checkbox]");c.bootstrapToggle("toggle"),b.preventDefault()})}(jQuery);
|
229 |
+
//# sourceMappingURL=bootstrap-toggle.min.js.map
|
readme.txt
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
=== Advanced Access Manager ===
|
2 |
Contributors: vasyltech
|
3 |
-
Tags: access, role, user, visitor, capability, page, post, permission, security, redirect
|
4 |
Requires at least: 3.8
|
5 |
Tested up to: 4.7
|
6 |
-
Stable tag: 3.9.
|
7 |
|
8 |
-
|
9 |
-
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
> Advanced Access Manager (aka AAM) is probably the only plugin that allows you to
|
14 |
-
>
|
15 |
-
>
|
16 |
|
17 |
AAM is well documented so even inexperienced WordPress user can easily understand
|
18 |
how to use it in the most efficient way.
|
@@ -20,15 +20,17 @@ how to use it in the most efficient way.
|
|
20 |
Please note! Some of the features are limited with the basic version and if
|
21 |
necessary, consider to get recommended free or premium extension.
|
22 |
|
23 |
-
|
24 |
|
25 |
-
*
|
26 |
-
*
|
27 |
-
*
|
28 |
-
*
|
29 |
-
* Manage
|
30 |
-
*
|
31 |
-
* Manage
|
|
|
|
|
32 |
|
33 |
> AAM is very flexible and customizable plugin that is used by a lot of developers
|
34 |
> around the world to create secure and powerful WordPress solutions.
|
@@ -64,6 +66,11 @@ out more about the Advanced Access Manager.
|
|
64 |
|
65 |
== Changelog ==
|
66 |
|
|
|
|
|
|
|
|
|
|
|
67 |
= 3.9.3 =
|
68 |
* Bug fixing
|
69 |
* Implemented license check mechanism
|
1 |
=== Advanced Access Manager ===
|
2 |
Contributors: vasyltech
|
3 |
+
Tags: access, role, user, visitor, capability, page, post, permission, security, redirect, access
|
4 |
Requires at least: 3.8
|
5 |
Tested up to: 4.7
|
6 |
+
Stable tag: 3.9.5
|
7 |
|
8 |
+
Set of tools to manage access to your website resources like posts, pages or menus for
|
9 |
+
any user, role or visitors.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
> Advanced Access Manager (aka AAM) is probably the only plugin that allows you to
|
14 |
+
> manage access to a website in the backend and frontend for any user, role or
|
15 |
+
> visitors.
|
16 |
|
17 |
AAM is well documented so even inexperienced WordPress user can easily understand
|
18 |
how to use it in the most efficient way.
|
20 |
Please note! Some of the features are limited with the basic version and if
|
21 |
necessary, consider to get recommended free or premium extension.
|
22 |
|
23 |
+
Below is the list of some of the most used features:
|
24 |
|
25 |
+
* Create, edit or delete Roles;
|
26 |
+
* Create, edit or delete Capabilities;
|
27 |
+
* Manage access to the Backend Menu;
|
28 |
+
* Manage access to Widgets & Metaboxes;
|
29 |
+
* Manage access to Posts, Pages, Custom Post Types or Categories;
|
30 |
+
* Limit access the a post's content with Teaser Message;
|
31 |
+
* Manage Access Denied Redirect for any restricted website resource;
|
32 |
+
* Manage Login Redirect after user authenticated successfully;
|
33 |
+
* And many more...
|
34 |
|
35 |
> AAM is very flexible and customizable plugin that is used by a lot of developers
|
36 |
> around the world to create secure and powerful WordPress solutions.
|
66 |
|
67 |
== Changelog ==
|
68 |
|
69 |
+
= 3.9.5 =
|
70 |
+
* General bug fixing and improvements
|
71 |
+
* Added ability to setup access settings to all Users, Roles and Visitors
|
72 |
+
* Added Login Redirect feature
|
73 |
+
|
74 |
= 3.9.3 =
|
75 |
* Bug fixing
|
76 |
* Implemented license check mechanism
|