Version Description
- Fixed bug with subject managing check
- Fixed bug with update hook
- Fixed issue with extension activation hook
- Added AAM Security Feature. First iteration
- Improved CSS
Download this release
Release Info
Developer | vasyl_m |
Plugin | Advanced Access Manager |
Version | 2.7 |
Comparing to | |
See all releases |
Code changes from version 2.6 to 2.7
- aam.php +19 -4
- application/core/extension.php +5 -13
- application/core/repository.php +1 -8
- application/core/update.php +12 -2
- application/view/abstract.php +2 -0
- application/view/tmpl/configpress.phtml +17 -7
- application/view/tmpl/extension.phtml +10 -4
- application/view/tmpl/manager.phtml +2 -9
- application/view/tmpl/metabox.phtml +2 -2
- application/view/user.php +1 -2
- config.php +1 -1
- extension/AAM_Secure/extension.php +384 -0
- extension/AAM_Secure/geoip/freegeoip.php +31 -0
- extension/AAM_Secure/geoip/geoip.php +15 -0
- extension/AAM_Secure/index.php +17 -0
- extension/AAM_Secure/javascript/loader.js +41 -0
- extension/AAM_Secure/javascript/security.js +48 -0
- extension/AAM_Secure/security.php +85 -0
- extension/AAM_Secure/stylesheet/flags32.css +260 -0
- extension/AAM_Secure/stylesheet/images/deny.png +0 -0
- extension/AAM_Secure/stylesheet/images/flags32.png +0 -0
- extension/AAM_Secure/stylesheet/images/large-iconset.png +0 -0
- extension/AAM_Secure/stylesheet/images/restriction.png +0 -0
- extension/AAM_Secure/stylesheet/security.css +84 -0
- extension/AAM_Secure/view/security.phtml +156 -0
- media/css/aam.css +2 -314
- media/css/common.css +353 -0
- media/css/configpress.css +0 -102
- media/css/extension.css +0 -64
- media/css/images/common/add.png +0 -0
- media/css/images/common/large-iconset.png +0 -0
- media/css/images/common/medium-iconset.png +0 -0
- media/css/images/{warning.png → common/warning.png} +0 -0
- media/css/images/cpanel/help-forum-active.png +0 -0
- media/css/images/cpanel/help-forum.png +0 -0
- media/css/images/cpanel/message-active.png +0 -0
- media/css/images/cpanel/message.png +0 -0
- media/css/images/cpanel/restore-active.png +0 -0
- media/css/images/cpanel/restore.png +0 -0
- media/css/images/cpanel/save-active.png +0 -0
- media/css/images/cpanel/save.png +0 -0
- media/css/images/cpanel/star-active.png +0 -0
- media/css/images/cpanel/star.png +0 -0
- media/css/images/cpanel/twitter-active.png +0 -0
- media/css/images/cpanel/twitter.png +0 -0
- media/css/images/extension/link-active.png +0 -0
- media/css/images/extension/link.png +0 -0
- media/css/images/extension/message-active.png +0 -0
- media/css/images/extension/message.png +0 -0
- media/css/images/extension/twitter-active.png +0 -0
- media/css/images/extension/twitter.png +0 -0
- media/js/aam.js +49 -24
- readme.txt +53 -45
- screenshot-6.png +0 -0
aam.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
/**
|
4 |
Plugin Name: Advanced Access Manager
|
5 |
Description: Manage User and Role Access to WordPress Backend and Frontend.
|
6 |
-
Version: 2.
|
7 |
Author: Vasyl Martyniuk <support@wpaam.com>
|
8 |
Author URI: http://www.wpaam.com
|
9 |
|
@@ -727,7 +727,12 @@ class aam {
|
|
727 |
wp_enqueue_style('global');
|
728 |
wp_enqueue_style('wp-admin');
|
729 |
wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css');
|
730 |
-
wp_enqueue_style('aam-style', AAM_MEDIA_URL . 'css/
|
|
|
|
|
|
|
|
|
|
|
731 |
wp_enqueue_style('aam-datatables', AAM_MEDIA_URL . 'css/jquery.dt.css');
|
732 |
wp_enqueue_style('wp-pointer');
|
733 |
wp_enqueue_style(
|
@@ -738,10 +743,20 @@ class aam {
|
|
738 |
wp_enqueue_style('global');
|
739 |
wp_enqueue_style('wp-admin');
|
740 |
wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css');
|
741 |
-
wp_enqueue_style('aam-style', AAM_MEDIA_URL . 'css/
|
|
|
|
|
|
|
|
|
|
|
742 |
wp_enqueue_style('aam-datatables', AAM_MEDIA_URL . 'css/jquery.dt.css');
|
743 |
} elseif ($this->isAAMConfigPressScreen()) {
|
744 |
-
wp_enqueue_style('aam-style', AAM_MEDIA_URL . 'css/
|
|
|
|
|
|
|
|
|
|
|
745 |
wp_enqueue_style('aam-codemirror', AAM_MEDIA_URL . 'css/codemirror.css');
|
746 |
}
|
747 |
|
3 |
/**
|
4 |
Plugin Name: Advanced Access Manager
|
5 |
Description: Manage User and Role Access to WordPress Backend and Frontend.
|
6 |
+
Version: 2.7
|
7 |
Author: Vasyl Martyniuk <support@wpaam.com>
|
8 |
Author URI: http://www.wpaam.com
|
9 |
|
727 |
wp_enqueue_style('global');
|
728 |
wp_enqueue_style('wp-admin');
|
729 |
wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css');
|
730 |
+
wp_enqueue_style('aam-common-style', AAM_MEDIA_URL . 'css/common.css');
|
731 |
+
wp_enqueue_style(
|
732 |
+
'aam-style',
|
733 |
+
AAM_MEDIA_URL . 'css/aam.css',
|
734 |
+
array('aam-common-style')
|
735 |
+
);
|
736 |
wp_enqueue_style('aam-datatables', AAM_MEDIA_URL . 'css/jquery.dt.css');
|
737 |
wp_enqueue_style('wp-pointer');
|
738 |
wp_enqueue_style(
|
743 |
wp_enqueue_style('global');
|
744 |
wp_enqueue_style('wp-admin');
|
745 |
wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css');
|
746 |
+
wp_enqueue_style('aam-common-style', AAM_MEDIA_URL . 'css/common.css');
|
747 |
+
wp_enqueue_style(
|
748 |
+
'aam-style',
|
749 |
+
AAM_MEDIA_URL . 'css/extension.css',
|
750 |
+
array('aam-common-style')
|
751 |
+
);
|
752 |
wp_enqueue_style('aam-datatables', AAM_MEDIA_URL . 'css/jquery.dt.css');
|
753 |
} elseif ($this->isAAMConfigPressScreen()) {
|
754 |
+
wp_enqueue_style('aam-common-style', AAM_MEDIA_URL . 'css/common.css');
|
755 |
+
wp_enqueue_style(
|
756 |
+
'aam-style',
|
757 |
+
AAM_MEDIA_URL . 'css/configpress.css',
|
758 |
+
array('aam-common-style')
|
759 |
+
);
|
760 |
wp_enqueue_style('aam-codemirror', AAM_MEDIA_URL . 'css/codemirror.css');
|
761 |
}
|
762 |
|
application/core/extension.php
CHANGED
@@ -16,11 +16,6 @@
|
|
16 |
*/
|
17 |
class AAM_Core_Extension {
|
18 |
|
19 |
-
/**
|
20 |
-
* Extension iterator
|
21 |
-
*/
|
22 |
-
const ITERATOR = 1;
|
23 |
-
|
24 |
/**
|
25 |
* Parent AAM object
|
26 |
*
|
@@ -44,19 +39,16 @@ class AAM_Core_Extension {
|
|
44 |
}
|
45 |
|
46 |
/**
|
47 |
-
*
|
48 |
*
|
49 |
-
*
|
50 |
-
* the iterator is incremented only when activation hook has to be fired.
|
51 |
-
*
|
52 |
-
* @return int
|
53 |
*
|
54 |
* @access public
|
55 |
*/
|
56 |
-
public function
|
57 |
-
return
|
58 |
}
|
59 |
-
|
60 |
/**
|
61 |
* Set Parent Object
|
62 |
*
|
16 |
*/
|
17 |
class AAM_Core_Extension {
|
18 |
|
|
|
|
|
|
|
|
|
|
|
19 |
/**
|
20 |
* Parent AAM object
|
21 |
*
|
39 |
}
|
40 |
|
41 |
/**
|
42 |
+
* Activate hook
|
43 |
*
|
44 |
+
* @return boolean
|
|
|
|
|
|
|
45 |
*
|
46 |
* @access public
|
47 |
*/
|
48 |
+
public function activate(){
|
49 |
+
return true;
|
50 |
}
|
51 |
+
|
52 |
/**
|
53 |
* Set Parent Object
|
54 |
*
|
application/core/repository.php
CHANGED
@@ -221,7 +221,6 @@ class aam_Core_Repository {
|
|
221 |
$repository[$extension] = (object) array(
|
222 |
'status' => self::STATUS_INSTALLED,
|
223 |
'license' => $license,
|
224 |
-
'iteration' => 0, //this counter is used for extension activation
|
225 |
//ugly way but quick
|
226 |
'basedir' => "{$this->_basedir}/" . str_replace(' ', '_', $extension)
|
227 |
);
|
@@ -349,13 +348,7 @@ class aam_Core_Repository {
|
|
349 |
if (file_exists($bootstrap) && !isset($this->_cache[$extension])) {
|
350 |
//bootstrap the extension
|
351 |
$this->_cache[$extension] = require_once($bootstrap);
|
352 |
-
|
353 |
-
//check if activation hook still present and trigger warning if yes
|
354 |
-
if (file_exists($this->_basedir . "/{$extension}/activation.php")){
|
355 |
-
aam_Core_Console::add(
|
356 |
-
"Activation hook for {$extension} is not deleted"
|
357 |
-
);
|
358 |
-
}
|
359 |
}
|
360 |
}
|
361 |
|
221 |
$repository[$extension] = (object) array(
|
222 |
'status' => self::STATUS_INSTALLED,
|
223 |
'license' => $license,
|
|
|
224 |
//ugly way but quick
|
225 |
'basedir' => "{$this->_basedir}/" . str_replace(' ', '_', $extension)
|
226 |
);
|
348 |
if (file_exists($bootstrap) && !isset($this->_cache[$extension])) {
|
349 |
//bootstrap the extension
|
350 |
$this->_cache[$extension] = require_once($bootstrap);
|
351 |
+
$this->_cache[$extension]->activate();
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
}
|
353 |
}
|
354 |
|
application/core/update.php
CHANGED
@@ -17,6 +17,15 @@
|
|
17 |
*/
|
18 |
final class aam_Core_Update {
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
/**
|
21 |
* List of stages
|
22 |
*
|
@@ -33,7 +42,8 @@ final class aam_Core_Update {
|
|
33 |
*
|
34 |
* @access public
|
35 |
*/
|
36 |
-
public function __construct() {
|
|
|
37 |
//register update stages
|
38 |
$this->_stages = apply_filters('aam_update_stages', array(
|
39 |
array($this, 'downloadRepository'),
|
@@ -72,7 +82,7 @@ final class aam_Core_Update {
|
|
72 |
$response = true;
|
73 |
if ($extensions = aam_Core_API::getBlogOption('aam_extensions')) {
|
74 |
if (is_array($extensions)){
|
75 |
-
$repo =
|
76 |
$repo->download();
|
77 |
}
|
78 |
}
|
17 |
*/
|
18 |
final class aam_Core_Update {
|
19 |
|
20 |
+
/**
|
21 |
+
* Reference to AAM
|
22 |
+
*
|
23 |
+
* @var aam
|
24 |
+
*
|
25 |
+
* @access private
|
26 |
+
*/
|
27 |
+
|
28 |
+
private $_parent = null;
|
29 |
/**
|
30 |
* List of stages
|
31 |
*
|
42 |
*
|
43 |
* @access public
|
44 |
*/
|
45 |
+
public function __construct($parent) {
|
46 |
+
$this->_parent = $parent;
|
47 |
//register update stages
|
48 |
$this->_stages = apply_filters('aam_update_stages', array(
|
49 |
array($this, 'downloadRepository'),
|
82 |
$response = true;
|
83 |
if ($extensions = aam_Core_API::getBlogOption('aam_extensions')) {
|
84 |
if (is_array($extensions)){
|
85 |
+
$repo = aam_Core_Repository::getInstance($this->_parent);
|
86 |
$repo->download();
|
87 |
}
|
88 |
}
|
application/view/abstract.php
CHANGED
@@ -82,6 +82,8 @@ abstract class aam_View_Abstract {
|
|
82 |
);
|
83 |
}
|
84 |
}
|
|
|
|
|
85 |
}
|
86 |
|
87 |
/**
|
82 |
);
|
83 |
}
|
84 |
}
|
85 |
+
|
86 |
+
return true;
|
87 |
}
|
88 |
|
89 |
/**
|
application/view/tmpl/configpress.phtml
CHANGED
@@ -55,14 +55,24 @@
|
|
55 |
<span><?php echo __('Control Panel', 'aam'); ?></span>
|
56 |
</h3>
|
57 |
<div class="inside">
|
58 |
-
<div class="
|
59 |
-
<a href="#" class="
|
|
|
|
|
60 |
</div>
|
61 |
-
<div class="
|
62 |
-
<a href="https://twitter.com/wpaam" target="_blank" class="
|
63 |
-
|
64 |
-
|
65 |
-
<a href="http://
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
</div>
|
67 |
</div>
|
68 |
</div>
|
55 |
<span><?php echo __('Control Panel', 'aam'); ?></span>
|
56 |
</h3>
|
57 |
<div class="inside">
|
58 |
+
<div class="large-icons-row">
|
59 |
+
<a href="#" class="aam-icon aam-icon-large aam-icon-large-save" id="save_config" >
|
60 |
+
<span></span><?php echo __('Save', 'aam'); ?>
|
61 |
+
</a>
|
62 |
</div>
|
63 |
+
<div class="medium-icons-row">
|
64 |
+
<a href="https://twitter.com/wpaam" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-twitter" aam-tooltip="<?php echo __('Follow @wpaam', 'aam'); ?>">
|
65 |
+
<span></span><?php echo __('Follow', 'aam'); ?>
|
66 |
+
</a>
|
67 |
+
<a href="http://wpaam.com/support" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-help" aam-tooltip="<?php echo __('Help Forum', 'aam'); ?>">
|
68 |
+
<span></span><?php echo __('Help', 'aam'); ?>
|
69 |
+
</a>
|
70 |
+
<a href="mailto:support@wpaam.com" class="aam-icon aam-icon-medium aam-icon-medium-message" id="aam_message" aam-tooltip="<?php echo __('E-mail Us', 'aam'); ?>">
|
71 |
+
<span></span><?php echo __('E-mail Us', 'aam'); ?>
|
72 |
+
</a>
|
73 |
+
<a href="http://wordpress.org/support/view/plugin-reviews/advanced-access-manager" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-star" aam-tooltip="<?php echo __('Rate AAM', 'aam'); ?>">
|
74 |
+
<span></span><?php echo __('Rate Us', 'aam'); ?>
|
75 |
+
</a>
|
76 |
</div>
|
77 |
</div>
|
78 |
</div>
|
application/view/tmpl/extension.phtml
CHANGED
@@ -169,10 +169,16 @@
|
|
169 |
<span><?php echo __('Connect with AAM', 'aam'); ?></span>
|
170 |
</h3>
|
171 |
<div class="inside">
|
172 |
-
<div
|
173 |
-
<a href="https://twitter.com/wpaam" class="
|
174 |
-
|
175 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
</div>
|
177 |
</div>
|
178 |
</div>
|
169 |
<span><?php echo __('Connect with AAM', 'aam'); ?></span>
|
170 |
</h3>
|
171 |
<div class="inside">
|
172 |
+
<div class="large-icons-row">
|
173 |
+
<a href="https://twitter.com/wpaam" class="aam-icon aam-icon-large aam-icon-large-twitter" aam-tooltip="Follow @wpaam" target="_blank">
|
174 |
+
<span></span><?php echo __('Follow Us', 'aam'); ?>
|
175 |
+
</a>
|
176 |
+
<a href="mailto:support@wpaam.com" class="aam-icon aam-icon-large aam-icon-large-message" aam-tooltip="Send Us Email">
|
177 |
+
<span></span><?php echo __('Send Message', 'aam'); ?>
|
178 |
+
</a>
|
179 |
+
<a href="http://wpaam.com" class="aam-icon aam-icon-large aam-icon-large-link" aam-tooltip="Visit Us" target="_blank">
|
180 |
+
<span></span><?php echo __('Website', 'aam'); ?>
|
181 |
+
</a>
|
182 |
</div>
|
183 |
</div>
|
184 |
</div>
|
application/view/tmpl/manager.phtml
CHANGED
@@ -59,16 +59,9 @@
|
|
59 |
<span><?php echo __('Control Panel', 'aam'); ?></span>
|
60 |
</h3>
|
61 |
<div class="inside">
|
62 |
-
<div class="
|
63 |
-
<a href="#" class="cpanel-item cpanel-item-restore" id="aam_roleback" aam-tooltip="<?php echo __('Restore Default', 'aam'); ?>"><?php echo __('Default', 'aam'); ?></a>
|
64 |
-
<a href="#" class="cpanel-item cpanel-item-save" id="aam_save" ><?php echo __('Save', 'aam'); ?></a>
|
65 |
-
</div>
|
66 |
-
<div class="cpanel-minor">
|
67 |
-
<a href="https://twitter.com/wpaam" target="_blank" class="cpanel-item cpanel-item-twitter" id="aam_twitter" aam-tooltip="<?php echo __('Follow @wpaam', 'aam'); ?>"><?php echo __('Follow', 'aam'); ?></a>
|
68 |
-
<a href="http://wpaam.com/support" target="_blank" class="cpanel-item cpanel-item-help" id="aam_help" aam-tooltip="<?php echo __('Help Forum', 'aam'); ?>"><?php echo __('Help', 'aam'); ?></a>
|
69 |
-
<a href="#" class="cpanel-item cpanel-item-message" id="aam_message" aam-tooltip="<?php echo __('E-mail Us', 'aam'); ?>"><?php echo __('E-mail Us', 'aam'); ?></a>
|
70 |
-
<a href="http://wordpress.org/support/view/plugin-reviews/advanced-access-manager" target="_blank" class="cpanel-item cpanel-item-star" aam-tooltip="<?php echo __('Rate AAM', 'aam'); ?>"><?php echo __('Rate Us', 'aam'); ?></a>
|
71 |
</div>
|
|
|
72 |
<div class="aam-metabox-loader"></div>
|
73 |
</div>
|
74 |
<div id="restore_dialog" class="aam-dialog" title="<?php echo __('Undo Change', 'aam'); ?>">
|
59 |
<span><?php echo __('Control Panel', 'aam'); ?></span>
|
60 |
</h3>
|
61 |
<div class="inside">
|
62 |
+
<div class="large-icons-row" id="cpanel_major">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
</div>
|
64 |
+
<div class="medium-icons-row" id="cpanel_minor"></div>
|
65 |
<div class="aam-metabox-loader"></div>
|
66 |
</div>
|
67 |
<div id="restore_dialog" class="aam-dialog" title="<?php echo __('Undo Change', 'aam'); ?>">
|
application/view/tmpl/metabox.phtml
CHANGED
@@ -12,8 +12,8 @@
|
|
12 |
<div class="metabox-top-action-link">
|
13 |
<input type="text" class="link-text" id="metabox_link" />
|
14 |
</div>
|
15 |
-
<a href="#" class="aam-icon aam-icon-medium aam-icon-add" id="retrieve_url" aam-tooltip="<?php echo __('Retrieve Metaboxes From Link', 'aam') ;?>"><span></span></a>
|
16 |
-
<a href="#" class="aam-icon aam-icon-medium aam-icon-refresh" id="refresh_metaboxes" aam-tooltip="<?php echo __('Refresh the List', 'aam') ;?>"><span></span></a>
|
17 |
<br class="clear" />
|
18 |
</div>
|
19 |
<div class="aam-metabox-loader"></div>
|
12 |
<div class="metabox-top-action-link">
|
13 |
<input type="text" class="link-text" id="metabox_link" />
|
14 |
</div>
|
15 |
+
<a href="#" class="aam-icon aam-icon-medium aam-icon-medium-add" id="retrieve_url" aam-tooltip="<?php echo __('Retrieve Metaboxes From Link', 'aam') ;?>"><span></span></a>
|
16 |
+
<a href="#" class="aam-icon aam-icon-medium aam-icon-medium-refresh" id="refresh_metaboxes" aam-tooltip="<?php echo __('Refresh the List', 'aam') ;?>"><span></span></a>
|
17 |
<br class="clear" />
|
18 |
</div>
|
19 |
<div class="aam-metabox-loader"></div>
|
application/view/user.php
CHANGED
@@ -124,8 +124,7 @@ class aam_View_User extends aam_View_Abstract {
|
|
124 |
* @access public
|
125 |
*/
|
126 |
public function block() {
|
127 |
-
if ($this->isManagable($this->getSubject()->
|
128 |
-
&& $this->getSubject()->block()){
|
129 |
$response = array(
|
130 |
'status' => 'success',
|
131 |
'user_status' => $this->getSubject()->user_status
|
124 |
* @access public
|
125 |
*/
|
126 |
public function block() {
|
127 |
+
if ($this->isManagable() && $this->getSubject()->block()){
|
|
|
128 |
$response = array(
|
129 |
'status' => 'success',
|
130 |
'user_status' => $this->getSubject()->user_status
|
config.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
*/
|
9 |
|
10 |
//AAM Version for Update purpose
|
11 |
-
define('AAM_VERSION', '2.
|
12 |
|
13 |
define('AAM_BASE_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR);
|
14 |
|
8 |
*/
|
9 |
|
10 |
//AAM Version for Update purpose
|
11 |
+
define('AAM_VERSION', '2.7');
|
12 |
|
13 |
define('AAM_BASE_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR);
|
14 |
|
extension/AAM_Secure/extension.php
ADDED
@@ -0,0 +1,384 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
* Feature Secure
|
12 |
+
*
|
13 |
+
* @package AAM
|
14 |
+
* @author Vasyl Martyniuk <support@wpaam.com>
|
15 |
+
* @copyright Copyright C Vasyl Martyniuk
|
16 |
+
* @license GNU General Public License {@link http://www.gnu.org/licenses/}
|
17 |
+
*/
|
18 |
+
class AAM_Secure extends AAM_Core_Extension {
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Unique Feature ID
|
22 |
+
*/
|
23 |
+
const FEATURE_ID = 'secure';
|
24 |
+
|
25 |
+
/**
|
26 |
+
*
|
27 |
+
* @var type
|
28 |
+
*/
|
29 |
+
private $_cache = array();
|
30 |
+
|
31 |
+
/**
|
32 |
+
*
|
33 |
+
* @var type
|
34 |
+
*/
|
35 |
+
private $_cacheLimit = 1000;
|
36 |
+
|
37 |
+
/**
|
38 |
+
*
|
39 |
+
* @var type
|
40 |
+
*/
|
41 |
+
private $_stats = array();
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Constructor
|
45 |
+
*
|
46 |
+
* @param aam $parent Main AAM object
|
47 |
+
*
|
48 |
+
* @return void
|
49 |
+
*
|
50 |
+
* @access public
|
51 |
+
*/
|
52 |
+
public function __construct(aam $parent) {
|
53 |
+
parent::__construct($parent);
|
54 |
+
|
55 |
+
if (is_admin()) {
|
56 |
+
//print required JS & CSS
|
57 |
+
add_action('admin_print_scripts', array($this, 'printScripts'));
|
58 |
+
add_action('admin_print_styles', array($this, 'printStyles'));
|
59 |
+
add_action('admin_head', array($this, 'adminHead'));
|
60 |
+
|
61 |
+
//manager Admin Menu
|
62 |
+
if (aam_Core_API::isNetworkPanel()) {
|
63 |
+
add_action('network_admin_menu', array($this, 'adminMenu'), 999);
|
64 |
+
} else {
|
65 |
+
add_action('admin_menu', array($this, 'adminMenu'), 999);
|
66 |
+
}
|
67 |
+
//manager AAM Ajax Requests
|
68 |
+
add_action('wp_ajax_aam_security', array($this, 'ajax'));
|
69 |
+
}
|
70 |
+
|
71 |
+
add_filter('wp_login_errors', array($this, 'loginFailure'), 10, 2);
|
72 |
+
add_action('wp_login', array($this, 'login'), 10, 2);
|
73 |
+
|
74 |
+
//add_filter('authenticate', array($this, 'authenticate'), 999, 3);
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
*
|
79 |
+
* @param type $username
|
80 |
+
* @param type $user
|
81 |
+
*/
|
82 |
+
public function login($username, $user) {
|
83 |
+
$this->_cache = aam_Core_API::getBlogOption(
|
84 |
+
'aam_security_login_cache', array()
|
85 |
+
);
|
86 |
+
$ip = aam_Core_Request::server('REMOTE_ADDR');
|
87 |
+
if ($this->hasIPCache($ip)) {
|
88 |
+
$data = $this->getIPCache($ip);
|
89 |
+
$data->attempts = 0; //reset counter
|
90 |
+
$this->addIPCache($ip, $data);
|
91 |
+
aam_Core_API::updateBlogOption(
|
92 |
+
'aam_security_login_cache', $this->_cache
|
93 |
+
);
|
94 |
+
}
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
*
|
99 |
+
* @return type
|
100 |
+
*/
|
101 |
+
public function isGeoLookupOn() {
|
102 |
+
$geo_lookup = aam_Core_ConfigPress::getParam(
|
103 |
+
'security.login.geo_lookup', 'false'
|
104 |
+
);
|
105 |
+
|
106 |
+
return ($geo_lookup == 'true' ? true : false);
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
*
|
111 |
+
* @return type
|
112 |
+
*/
|
113 |
+
public function isLoginLockoutOn() {
|
114 |
+
$login_lock = aam_Core_ConfigPress::getParam(
|
115 |
+
'security.login.lockout', 'false'
|
116 |
+
);
|
117 |
+
|
118 |
+
return ($login_lock == 'true' ? true : false);
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
*
|
123 |
+
* @param type $errors
|
124 |
+
* @param type $redirect_to
|
125 |
+
*/
|
126 |
+
public function loginFailure($errors, $redirect_to) {
|
127 |
+
$this->_cache = aam_Core_API::getBlogOption(
|
128 |
+
'aam_security_login_cache', array()
|
129 |
+
);
|
130 |
+
$this->_cacheLimit = aam_Core_ConfigPress::getParam(
|
131 |
+
'security.login.cache_limit', 1000
|
132 |
+
);
|
133 |
+
if ($this->isGeoLookupOn()) {
|
134 |
+
$this->_stats = aam_Core_API::getBlogOption(
|
135 |
+
'aam_security_login_stats', array()
|
136 |
+
);
|
137 |
+
$info = $this->retrieveGeoData();
|
138 |
+
if (!is_null($info)) {
|
139 |
+
if (!isset($this->_stats[$info->countryCode])) {
|
140 |
+
$this->_stats[$info->countryCode] = array(
|
141 |
+
'failed' => 0
|
142 |
+
);
|
143 |
+
}
|
144 |
+
$this->_stats[$info->countryCode]['failed']++;
|
145 |
+
aam_Core_API::updateBlogOption(
|
146 |
+
'aam_security_login_stats', $this->_stats
|
147 |
+
);
|
148 |
+
}
|
149 |
+
}
|
150 |
+
if ($this->isLoginLockoutOn()) {
|
151 |
+
$this->loginLockout();
|
152 |
+
}
|
153 |
+
aam_Core_API::updateBlogOption(
|
154 |
+
'aam_security_login_cache', $this->_cache
|
155 |
+
);
|
156 |
+
|
157 |
+
return $errors;
|
158 |
+
}
|
159 |
+
|
160 |
+
/**
|
161 |
+
*
|
162 |
+
*/
|
163 |
+
protected function loginLockout() {
|
164 |
+
$ip = aam_Core_Request::server('REMOTE_ADDR');
|
165 |
+
if ($this->hasIPCache($ip)) {
|
166 |
+
$info = $this->getIPCache($ip);
|
167 |
+
} else {
|
168 |
+
$info = new stdClass;
|
169 |
+
}
|
170 |
+
|
171 |
+
if (!isset($info->attempts)) {
|
172 |
+
$info->attempts = 1;
|
173 |
+
} else {
|
174 |
+
$info->attempts++;
|
175 |
+
}
|
176 |
+
$threshold = aam_Core_ConfigPress::getParam(
|
177 |
+
'security.login.attempts', 10
|
178 |
+
);
|
179 |
+
if ($info->attempts >= $threshold) {
|
180 |
+
$action = aam_Core_ConfigPress::getParam(
|
181 |
+
'security.login.attempt_failure', 'slowdown'
|
182 |
+
);
|
183 |
+
switch ($action) {
|
184 |
+
case 'slowdown':
|
185 |
+
$time = aam_Core_ConfigPress::getParam(
|
186 |
+
'security.login.slowdown_time', '5'
|
187 |
+
);
|
188 |
+
sleep(intval($time));
|
189 |
+
break;
|
190 |
+
|
191 |
+
case 'die':
|
192 |
+
wp_die(aam_Core_ConfigPress::getParam(
|
193 |
+
'security.login.die_message', 'You are not allowed to login'
|
194 |
+
));
|
195 |
+
break;
|
196 |
+
|
197 |
+
default:
|
198 |
+
break;
|
199 |
+
}
|
200 |
+
}
|
201 |
+
}
|
202 |
+
|
203 |
+
/**
|
204 |
+
*
|
205 |
+
* @return null
|
206 |
+
*/
|
207 |
+
protected function retrieveGeoData() {
|
208 |
+
$ip = aam_Core_Request::server('REMOTE_ADDR');
|
209 |
+
if ($this->hasIPCache($ip)) {
|
210 |
+
$location = $this->getIPCache($ip);
|
211 |
+
} else {
|
212 |
+
$service = aam_Core_ConfigPress::getParam(
|
213 |
+
'security.login.geoip.service', 'FreeGeoIP'
|
214 |
+
);
|
215 |
+
$filename = dirname(__FILE__) . '/geoip/' . strtolower($service) . '.php';
|
216 |
+
|
217 |
+
if (file_exists($filename)) {
|
218 |
+
require_once($filename);
|
219 |
+
$location = call_user_func("{$service}::query", $ip);
|
220 |
+
$this->addIPCache($ip, $location);
|
221 |
+
} else {
|
222 |
+
$location = null;
|
223 |
+
}
|
224 |
+
}
|
225 |
+
|
226 |
+
return $location;
|
227 |
+
}
|
228 |
+
|
229 |
+
/**
|
230 |
+
*
|
231 |
+
* @param type $ip
|
232 |
+
* @return type
|
233 |
+
*/
|
234 |
+
protected function hasIPCache($ip) {
|
235 |
+
return (isset($this->_cache[$ip]) ? true : false);
|
236 |
+
}
|
237 |
+
|
238 |
+
/**
|
239 |
+
*
|
240 |
+
* @param type $ip
|
241 |
+
* @return type
|
242 |
+
*/
|
243 |
+
protected function getIPCache($ip) {
|
244 |
+
return ($this->hasIPCache($ip) ? $this->_cache[$ip] : null);
|
245 |
+
}
|
246 |
+
|
247 |
+
/**
|
248 |
+
*
|
249 |
+
* @param type $ip
|
250 |
+
* @param type $data
|
251 |
+
*/
|
252 |
+
protected function addIPCache($ip, $data) {
|
253 |
+
if (!is_null($data)) {
|
254 |
+
if ((count($this->_cache) >= $this->_cacheLimit) && !isset($this->_cache[$ip])) {
|
255 |
+
array_shift($this->_cache);
|
256 |
+
}
|
257 |
+
$this->_cache[$ip] = $data;
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
+
/**
|
262 |
+
* Print necessary styles
|
263 |
+
*
|
264 |
+
* @return void
|
265 |
+
*
|
266 |
+
* @access public
|
267 |
+
*/
|
268 |
+
public function printStyles() {
|
269 |
+
if ($this->isSecurityScreen()) {
|
270 |
+
wp_enqueue_style('dashboard');
|
271 |
+
wp_enqueue_style('global');
|
272 |
+
wp_enqueue_style('wp-admin');
|
273 |
+
wp_enqueue_style('aam-ui-style', AAM_MEDIA_URL . 'css/jquery-ui.css');
|
274 |
+
wp_enqueue_style('aam-common-style', AAM_MEDIA_URL . 'css/common.css');
|
275 |
+
wp_enqueue_style('aam-security-style', AAM_SECURITY_BASE_URL . '/stylesheet/security.css');
|
276 |
+
if ($this->isGeoLookupOn()) {
|
277 |
+
wp_enqueue_style('aam-datatable', AAM_MEDIA_URL . 'css/jquery.dt.css');
|
278 |
+
wp_enqueue_style('aam-country-flags', AAM_SECURITY_BASE_URL . '/stylesheet/flags32.css');
|
279 |
+
}
|
280 |
+
}
|
281 |
+
}
|
282 |
+
|
283 |
+
/**
|
284 |
+
* Print necessary scripts
|
285 |
+
*
|
286 |
+
* @return void
|
287 |
+
*
|
288 |
+
* @access public
|
289 |
+
*/
|
290 |
+
public function printScripts() {
|
291 |
+
if ($this->isSecurityScreen()) {
|
292 |
+
wp_enqueue_script('postbox');
|
293 |
+
wp_enqueue_script('dashboard');
|
294 |
+
if ($this->isGeoLookupOn()) {
|
295 |
+
wp_enqueue_script('aam-datatable', AAM_MEDIA_URL . 'js/jquery.dt.js');
|
296 |
+
wp_enqueue_script('google-jsapi', 'https://www.google.com/jsapi');
|
297 |
+
}
|
298 |
+
wp_enqueue_script('aam-security', AAM_SECURITY_BASE_URL . '/javascript/security.js');
|
299 |
+
$localization = array(
|
300 |
+
'nonce' => wp_create_nonce('aam_ajax'),
|
301 |
+
'ajaxurl' => admin_url('admin-ajax.php'),
|
302 |
+
);
|
303 |
+
wp_localize_script('aam-security', 'aamLocal', $localization);
|
304 |
+
}
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
*
|
309 |
+
*/
|
310 |
+
public function adminHead() {
|
311 |
+
if ($this->isSecurityScreen() && $this->isGeoLookupOn()) {
|
312 |
+
echo '<script type="text/javascript">';
|
313 |
+
echo file_get_contents(__DIR__ . '/javascript/loader.js');
|
314 |
+
echo '</script>';
|
315 |
+
}
|
316 |
+
}
|
317 |
+
|
318 |
+
/**
|
319 |
+
*
|
320 |
+
* @return type
|
321 |
+
*/
|
322 |
+
public function isSecurityScreen() {
|
323 |
+
return (aam_Core_Request::get('page') == 'aam-security' ? true : false);
|
324 |
+
}
|
325 |
+
|
326 |
+
/**
|
327 |
+
* Register Admin Menu
|
328 |
+
*
|
329 |
+
* @return void
|
330 |
+
*
|
331 |
+
* @access public
|
332 |
+
*/
|
333 |
+
public function adminMenu() {
|
334 |
+
//register submenus
|
335 |
+
add_submenu_page(
|
336 |
+
'aam', __('Security', 'aam'), __('Security', 'aam'), aam_Core_ConfigPress::getParam(
|
337 |
+
'aam.page.security.capability', 'administrator'
|
338 |
+
), 'aam-security', array($this, 'content')
|
339 |
+
);
|
340 |
+
}
|
341 |
+
|
342 |
+
/**
|
343 |
+
*
|
344 |
+
*/
|
345 |
+
public function content() {
|
346 |
+
require_once(dirname(__FILE__) . '/security.php');
|
347 |
+
$security = new aam_View_Security();
|
348 |
+
echo $security->run();
|
349 |
+
}
|
350 |
+
|
351 |
+
public function ajax() {
|
352 |
+
check_ajax_referer('aam_ajax');
|
353 |
+
|
354 |
+
//clean buffer to make sure that nothing messing around with system
|
355 |
+
while (@ob_end_clean());
|
356 |
+
|
357 |
+
//process ajax request
|
358 |
+
try {
|
359 |
+
require_once(dirname(__FILE__) . '/security.php');
|
360 |
+
$model = new aam_View_Security();
|
361 |
+
echo $model->processAjax();
|
362 |
+
} catch (Exception $e) {
|
363 |
+
echo '-1';
|
364 |
+
}
|
365 |
+
die();
|
366 |
+
}
|
367 |
+
|
368 |
+
/**
|
369 |
+
*
|
370 |
+
* @param type $user
|
371 |
+
* @param type $username
|
372 |
+
* @param type $password
|
373 |
+
* @return type
|
374 |
+
*/
|
375 |
+
public function authenticate($user, $username, $password) {
|
376 |
+
if (!is_wp_error($user)) {
|
377 |
+
$login_history = get_user_meta($user->ID, 'aam_login_history', true);
|
378 |
+
$ip = aam_Core_Request::server('REMOTE_ADDR');
|
379 |
+
}
|
380 |
+
|
381 |
+
return $user;
|
382 |
+
}
|
383 |
+
|
384 |
+
}
|
extension/AAM_Secure/geoip/freegeoip.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* ======================================================================
|
4 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
5 |
+
* file 'license.txt', which is part of this source code package. *
|
6 |
+
* ======================================================================
|
7 |
+
*/
|
8 |
+
|
9 |
+
require_once(dirname(__FILE__) . '/geoip.php');
|
10 |
+
|
11 |
+
class FreeGeoIP extends GeoIP {
|
12 |
+
|
13 |
+
public static function query($ip) {
|
14 |
+
$response = aam_Core_API::cURL('http://freegeoip.net/xml/' . $ip, false, true);
|
15 |
+
if ($response['status'] == 'success') {
|
16 |
+
$data = simplexml_load_string($response['content']);
|
17 |
+
$geodata = (object) array(
|
18 |
+
'countryCode' => (string) $data->CountryCode,
|
19 |
+
'countryName' => (string) $data->CountryName,
|
20 |
+
'region' => (string) $data->RegionCode,
|
21 |
+
'city' => (string) $data->City,
|
22 |
+
'zip' => (string) $data->ZipCode
|
23 |
+
);
|
24 |
+
} else {
|
25 |
+
$geodata = null;
|
26 |
+
}
|
27 |
+
|
28 |
+
return $geodata;
|
29 |
+
}
|
30 |
+
|
31 |
+
}
|
extension/AAM_Secure/geoip/geoip.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* ======================================================================
|
4 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
5 |
+
* file 'license.txt', which is part of this source code package. *
|
6 |
+
* ======================================================================
|
7 |
+
*/
|
8 |
+
|
9 |
+
abstract class GeoIP {
|
10 |
+
|
11 |
+
public static function query($ip) {
|
12 |
+
|
13 |
+
}
|
14 |
+
|
15 |
+
}
|
extension/AAM_Secure/index.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
$dirname = basename(dirname(__FILE__));
|
11 |
+
define('AAM_SECURITY_BASE_URL', AAM_BASE_URL . 'extension/' . $dirname);
|
12 |
+
|
13 |
+
|
14 |
+
//load the Extension Controller
|
15 |
+
require_once dirname(__FILE__) . '/extension.php';
|
16 |
+
|
17 |
+
return new AAM_Secure($this->getParent());
|
extension/AAM_Secure/javascript/loader.js
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* ======================================================================
|
3 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
4 |
+
* file 'license.txt', which is part of this source code package. *
|
5 |
+
* ======================================================================
|
6 |
+
*/
|
7 |
+
|
8 |
+
google.load('visualization', '1', {'packages': ['geochart']});
|
9 |
+
google.setOnLoadCallback(drawRegionsMap);
|
10 |
+
|
11 |
+
function drawRegionsMap() {
|
12 |
+
jQuery.ajax(aamLocal.ajaxurl, {
|
13 |
+
type: 'POST',
|
14 |
+
dataType: 'json',
|
15 |
+
data: {
|
16 |
+
action: 'aam_security',
|
17 |
+
sub_action: 'map_data',
|
18 |
+
_ajax_nonce: aamLocal.nonce
|
19 |
+
},
|
20 |
+
success: function(response) {
|
21 |
+
var list = new Array();
|
22 |
+
list.push(['Country', 'Failed Attempts']);
|
23 |
+
for (var i in response.list) {
|
24 |
+
list.push(response.list[i]);
|
25 |
+
}
|
26 |
+
var data = google.visualization.arrayToDataTable(list);
|
27 |
+
|
28 |
+
var options = {
|
29 |
+
colorAxis: {colors: ['#4374e0', '#e7711c']} // orange to blue
|
30 |
+
};
|
31 |
+
var chart = new google.visualization.GeoChart(
|
32 |
+
document.getElementById('geo_map')
|
33 |
+
);
|
34 |
+
chart.draw(data, options);
|
35 |
+
},
|
36 |
+
failure: function() {
|
37 |
+
|
38 |
+
}
|
39 |
+
});
|
40 |
+
|
41 |
+
}
|
extension/AAM_Secure/javascript/security.js
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* ======================================================================
|
3 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
4 |
+
* file 'license.txt', which is part of this source code package. *
|
5 |
+
* ======================================================================
|
6 |
+
*/
|
7 |
+
|
8 |
+
function AAMSecurity() {
|
9 |
+
|
10 |
+
}
|
11 |
+
|
12 |
+
AAMSecurity.prototype.init = function() {
|
13 |
+
var _this = this;
|
14 |
+
|
15 |
+
if (jQuery('#country_list').length) {
|
16 |
+
jQuery('#country_list').dataTable({
|
17 |
+
sDom: "t",
|
18 |
+
bAutoWidth: false,
|
19 |
+
bSort: false,
|
20 |
+
aoColumnDefs: [
|
21 |
+
{
|
22 |
+
sClass: 'center',
|
23 |
+
aTargets: [1]
|
24 |
+
}
|
25 |
+
]
|
26 |
+
});
|
27 |
+
}
|
28 |
+
|
29 |
+
jQuery('.aam-icon', '.large-icons-row').each(function(){
|
30 |
+
jQuery(this).bind('click', function(){
|
31 |
+
_this.switchMode(jQuery(this).attr('mode'));
|
32 |
+
});
|
33 |
+
});
|
34 |
+
jQuery('#setting_trigger_inline').bind('click', function(event){
|
35 |
+
event.preventDefault();
|
36 |
+
_this.switchMode('settings');
|
37 |
+
});
|
38 |
+
};
|
39 |
+
|
40 |
+
AAMSecurity.prototype.switchMode = function(mode) {
|
41 |
+
jQuery('.mode-container').hide();
|
42 |
+
jQuery('#' + mode + '_mode').show();
|
43 |
+
};
|
44 |
+
|
45 |
+
jQuery(document).ready(function() {
|
46 |
+
var security = new AAMSecurity();
|
47 |
+
security.init();
|
48 |
+
});
|
extension/AAM_Secure/security.php
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* ======================================================================
|
5 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
6 |
+
* file 'license.txt', which is part of this source code package. *
|
7 |
+
* ======================================================================
|
8 |
+
*/
|
9 |
+
|
10 |
+
/**
|
11 |
+
*
|
12 |
+
* @package AAM
|
13 |
+
* @author Vasyl Martyniuk <support@wpaam.com>
|
14 |
+
* @copyright Copyright C 2013 Vasyl Martyniuk
|
15 |
+
* @license GNU General Public License {@link http://www.gnu.org/licenses/}
|
16 |
+
*/
|
17 |
+
class aam_View_Security extends aam_View_Abstract {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Run the Manager
|
21 |
+
*
|
22 |
+
* @return string
|
23 |
+
*
|
24 |
+
* @access public
|
25 |
+
*/
|
26 |
+
public function run() {
|
27 |
+
return $this->loadTemplate(dirname(__FILE__) . '/view/security.phtml');
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
*
|
32 |
+
* @return type
|
33 |
+
*/
|
34 |
+
public function processAjax() {
|
35 |
+
switch (aam_Core_Request::post('sub_action')) {
|
36 |
+
case 'map_data':
|
37 |
+
$response = $this->getMapData();
|
38 |
+
break;
|
39 |
+
|
40 |
+
default:
|
41 |
+
$response = json_encode(array('status' => 'failure'));
|
42 |
+
break;
|
43 |
+
}
|
44 |
+
|
45 |
+
return $response;
|
46 |
+
}
|
47 |
+
|
48 |
+
protected function getMapData() {
|
49 |
+
$stats = aam_Core_API::getBlogOption(
|
50 |
+
'aam_security_login_stats', array()
|
51 |
+
);
|
52 |
+
$list = array();
|
53 |
+
foreach($stats as $country => $data){
|
54 |
+
$list[] = array($country, $data['failed']);
|
55 |
+
}
|
56 |
+
return json_encode(
|
57 |
+
array('list' => $list)
|
58 |
+
);
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
*
|
63 |
+
* @return type
|
64 |
+
*/
|
65 |
+
public function isGeoLookupOn() {
|
66 |
+
$geo_lookup = aam_Core_ConfigPress::getParam(
|
67 |
+
'security.login.geo_lookup', 'false'
|
68 |
+
);
|
69 |
+
|
70 |
+
return ($geo_lookup == 'true' ? true : false);
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
*
|
75 |
+
* @return type
|
76 |
+
*/
|
77 |
+
public function isLoginLockoutOn() {
|
78 |
+
$login_lock = aam_Core_ConfigPress::getParam(
|
79 |
+
'security.login.lockout', 'false'
|
80 |
+
);
|
81 |
+
|
82 |
+
return ($login_lock == 'true' ? true : false);
|
83 |
+
}
|
84 |
+
|
85 |
+
}
|
extension/AAM_Secure/stylesheet/flags32.css
ADDED
@@ -0,0 +1,260 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.flag{
|
2 |
+
display:block;
|
3 |
+
height:32px;
|
4 |
+
min-width:32px;
|
5 |
+
vertical-align: middle;
|
6 |
+
line-height:32px;
|
7 |
+
background:url(images/flags32.png) no-repeat 0 center;
|
8 |
+
padding-left: 36px;
|
9 |
+
}
|
10 |
+
._African_Union{background-position:0 -32px;}
|
11 |
+
._Arab_League{background-position:0 -64px;}
|
12 |
+
._ASEAN{background-position:0 -96px;}
|
13 |
+
._CARICOM{background-position:0 -128px;}
|
14 |
+
._CIS{background-position:0 -160px;}
|
15 |
+
._Commonwealth{background-position:0 -192px;}
|
16 |
+
._England{background-position:0 -224px;}
|
17 |
+
._European_Union, .eu{background-position:0 -256px;}
|
18 |
+
._Islamic_Conference{background-position:0 -288px;}
|
19 |
+
._Kosovo{background-position:0 -320px;}
|
20 |
+
._NATO{background-position:0 -352px;}
|
21 |
+
._Northern_Cyprus{background-position:0 -384px;}
|
22 |
+
._Northern_Ireland{background-position:0 -416px;}
|
23 |
+
._Olimpic_Movement{background-position:0 -448px;}
|
24 |
+
._OPEC{background-position:0 -480px;}
|
25 |
+
._Red_Cross{background-position:0 -512px;}
|
26 |
+
._Scotland{background-position:0 -544px;}
|
27 |
+
._Somaliland{background-position:0 -576px;}
|
28 |
+
._Tibet{background-position:0 -608px;}
|
29 |
+
._United_Nations{background-position:0 -640px;}
|
30 |
+
._Wales{background-position:0 -672px;}
|
31 |
+
.ad{background-position:0 -704px;}
|
32 |
+
.ae{background-position:0 -736px;}
|
33 |
+
.af{background-position:0 -768px;}
|
34 |
+
.ag{background-position:0 -800px;}
|
35 |
+
.ai{background-position:0 -832px;}
|
36 |
+
.al{background-position:0 -864px;}
|
37 |
+
.am{background-position:0 -896px;}
|
38 |
+
.ao{background-position:0 -928px;}
|
39 |
+
.aq{background-position:0 -960px;}
|
40 |
+
.ar{background-position:0 -992px;}
|
41 |
+
.as{background-position:0 -1024px;}
|
42 |
+
.at{background-position:0 -1056px;}
|
43 |
+
.au{background-position:0 -1088px;}
|
44 |
+
.aw{background-position:0 -1120px;}
|
45 |
+
.ax{background-position:0 -1152px;}
|
46 |
+
.az{background-position:0 -1184px;}
|
47 |
+
.ba{background-position:0 -1216px;}
|
48 |
+
.bb{background-position:0 -1248px;}
|
49 |
+
.bd{background-position:0 -1280px;}
|
50 |
+
.be{background-position:0 -1312px;}
|
51 |
+
.bf{background-position:0 -1344px;}
|
52 |
+
.bg{background-position:0 -1376px;}
|
53 |
+
.bh{background-position:0 -1408px;}
|
54 |
+
.bi{background-position:0 -1440px;}
|
55 |
+
.bj{background-position:0 -1472px;}
|
56 |
+
.bm{background-position:0 -1504px;}
|
57 |
+
.bn{background-position:0 -1536px;}
|
58 |
+
.bo{background-position:0 -1568px;}
|
59 |
+
.br{background-position:0 -1600px;}
|
60 |
+
.bs{background-position:0 -1632px;}
|
61 |
+
.bt{background-position:0 -1664px;}
|
62 |
+
.bw{background-position:0 -1696px;}
|
63 |
+
.by{background-position:0 -1728px;}
|
64 |
+
.bz{background-position:0 -1760px;}
|
65 |
+
.ca{background-position:0 -1792px;}
|
66 |
+
.cd{background-position:0 -1824px;}
|
67 |
+
.cf{background-position:0 -1856px;}
|
68 |
+
.cg{background-position:0 -1888px;}
|
69 |
+
.ch{background-position:0 -1920px;}
|
70 |
+
.ci{background-position:0 -1952px;}
|
71 |
+
.ck{background-position:0 -1984px;}
|
72 |
+
.cl{background-position:0 -2016px;}
|
73 |
+
.cm{background-position:0 -2048px;}
|
74 |
+
.cn{background-position:0 -2080px;}
|
75 |
+
.co{background-position:0 -2112px;}
|
76 |
+
.cr{background-position:0 -2144px;}
|
77 |
+
.cu{background-position:0 -2176px;}
|
78 |
+
.cv{background-position:0 -2208px;}
|
79 |
+
.cy{background-position:0 -2240px;}
|
80 |
+
.cz{background-position:0 -2272px;}
|
81 |
+
.de{background-position:0 -2304px;}
|
82 |
+
.dj{background-position:0 -2336px;}
|
83 |
+
.dk{background-position:0 -2368px;}
|
84 |
+
.dm{background-position:0 -2400px;}
|
85 |
+
.do{background-position:0 -2432px;}
|
86 |
+
.dz{background-position:0 -2464px;}
|
87 |
+
.ec{background-position:0 -2496px;}
|
88 |
+
.ee{background-position:0 -2528px;}
|
89 |
+
.eg{background-position:0 -2560px;}
|
90 |
+
.eh{background-position:0 -2592px;}
|
91 |
+
.er{background-position:0 -2624px;}
|
92 |
+
.es{background-position:0 -2656px;}
|
93 |
+
.et{background-position:0 -2688px;}
|
94 |
+
.fi{background-position:0 -2720px;}
|
95 |
+
.fj{background-position:0 -2752px;}
|
96 |
+
.fm{background-position:0 -2784px;}
|
97 |
+
.fo{background-position:0 -2816px;}
|
98 |
+
.fr{background-position:0 -2848px;}
|
99 |
+
.bl, .cp, .mf, .yt{background-position:0 -2848px;}
|
100 |
+
.ga{background-position:0 -2880px;}
|
101 |
+
.gb{background-position:0 -2912px;}
|
102 |
+
.sh{background-position:0 -2912px;}
|
103 |
+
.gd{background-position:0 -2944px;}
|
104 |
+
.ge{background-position:0 -2976px;}
|
105 |
+
.gg{background-position:0 -3008px;}
|
106 |
+
.gh{background-position:0 -3040px;}
|
107 |
+
.gi{background-position:0 -3072px;}
|
108 |
+
.gl{background-position:0 -3104px;}
|
109 |
+
.gm{background-position:0 -3136px;}
|
110 |
+
.gn{background-position:0 -3168px;}
|
111 |
+
.gp{background-position:0 -3200px;}
|
112 |
+
.gq{background-position:0 -3232px;}
|
113 |
+
.gr{background-position:0 -3264px;}
|
114 |
+
.gt{background-position:0 -3296px;}
|
115 |
+
.gu{background-position:0 -3328px;}
|
116 |
+
.gw{background-position:0 -3360px;}
|
117 |
+
.gy{background-position:0 -3392px;}
|
118 |
+
.hk{background-position:0 -3424px;}
|
119 |
+
.hn{background-position:0 -3456px;}
|
120 |
+
.hr{background-position:0 -3488px;}
|
121 |
+
.ht{background-position:0 -3520px;}
|
122 |
+
.hu{background-position:0 -3552px;}
|
123 |
+
.id{background-position:0 -3584px;}
|
124 |
+
.mc{background-position:0 -3584px;}
|
125 |
+
.ie{background-position:0 -3616px;}
|
126 |
+
.il{background-position:0 -3648px;}
|
127 |
+
.im{background-position:0 -3680px;}
|
128 |
+
.in{background-position:0 -3712px;}
|
129 |
+
.iq{background-position:0 -3744px;}
|
130 |
+
.ir{background-position:0 -3776px;}
|
131 |
+
.is{background-position:0 -3808px;}
|
132 |
+
.it{background-position:0 -3840px;}
|
133 |
+
.je{background-position:0 -3872px;}
|
134 |
+
.jm{background-position:0 -3904px;}
|
135 |
+
.jo{background-position:0 -3936px;}
|
136 |
+
.jp{background-position:0 -3968px;}
|
137 |
+
.ke{background-position:0 -4000px;}
|
138 |
+
.kg{background-position:0 -4032px;}
|
139 |
+
.kh{background-position:0 -4064px;}
|
140 |
+
.ki{background-position:0 -4096px;}
|
141 |
+
.km{background-position:0 -4128px;}
|
142 |
+
.kn{background-position:0 -4160px;}
|
143 |
+
.kp{background-position:0 -4192px;}
|
144 |
+
.kr{background-position:0 -4224px;}
|
145 |
+
.kw{background-position:0 -4256px;}
|
146 |
+
.ky{background-position:0 -4288px;}
|
147 |
+
.kz{background-position:0 -4320px;}
|
148 |
+
.la{background-position:0 -4352px;}
|
149 |
+
.lb{background-position:0 -4384px;}
|
150 |
+
.lc{background-position:0 -4416px;}
|
151 |
+
.li{background-position:0 -4448px;}
|
152 |
+
.lk{background-position:0 -4480px;}
|
153 |
+
.lr{background-position:0 -4512px;}
|
154 |
+
.ls{background-position:0 -4544px;}
|
155 |
+
.lt{background-position:0 -4576px;}
|
156 |
+
.lu{background-position:0 -4608px;}
|
157 |
+
.lv{background-position:0 -4640px;}
|
158 |
+
.ly{background-position:0 -4672px;}
|
159 |
+
.ma{background-position:0 -4704px;}
|
160 |
+
.md{background-position:0 -4736px;}
|
161 |
+
.me{background-position:0 -4768px;}
|
162 |
+
.mg{background-position:0 -4800px;}
|
163 |
+
.mh{background-position:0 -4832px;}
|
164 |
+
.mk{background-position:0 -4864px;}
|
165 |
+
.ml{background-position:0 -4896px;}
|
166 |
+
.mm{background-position:0 -4928px;}
|
167 |
+
.mn{background-position:0 -4960px;}
|
168 |
+
.mo{background-position:0 -4992px;}
|
169 |
+
.mq{background-position:0 -5024px;}
|
170 |
+
.mr{background-position:0 -5056px;}
|
171 |
+
.ms{background-position:0 -5088px;}
|
172 |
+
.mt{background-position:0 -5120px;}
|
173 |
+
.mu{background-position:0 -5152px;}
|
174 |
+
.mv{background-position:0 -5184px;}
|
175 |
+
.mw{background-position:0 -5216px;}
|
176 |
+
.mx{background-position:0 -5248px;}
|
177 |
+
.my{background-position:0 -5280px;}
|
178 |
+
.mz{background-position:0 -5312px;}
|
179 |
+
.na{background-position:0 -5344px;}
|
180 |
+
.nc{background-position:0 -5376px;}
|
181 |
+
.ne{background-position:0 -5408px;}
|
182 |
+
.ng{background-position:0 -5440px;}
|
183 |
+
.ni{background-position:0 -5472px;}
|
184 |
+
.nl{background-position:0 -5504px;}
|
185 |
+
.bq{background-position:0 -5504px;}
|
186 |
+
.no{background-position:0 -5536px;}
|
187 |
+
.bv, .nq, .sj{background-position:0 -5536px;}
|
188 |
+
.np{background-position:0 -5568px;}
|
189 |
+
.nr{background-position:0 -5600px;}
|
190 |
+
.nz{background-position:0 -5632px;}
|
191 |
+
.om{background-position:0 -5664px;}
|
192 |
+
.pa{background-position:0 -5696px;}
|
193 |
+
.pe{background-position:0 -5728px;}
|
194 |
+
.pf{background-position:0 -5760px;}
|
195 |
+
.pg{background-position:0 -5792px;}
|
196 |
+
.ph{background-position:0 -5824px;}
|
197 |
+
.pk{background-position:0 -5856px;}
|
198 |
+
.pl{background-position:0 -5888px;}
|
199 |
+
.pr{background-position:0 -5920px;}
|
200 |
+
.ps{background-position:0 -5952px;}
|
201 |
+
.pt{background-position:0 -5984px;}
|
202 |
+
.pw{background-position:0 -6016px;}
|
203 |
+
.py{background-position:0 -6048px;}
|
204 |
+
.qa{background-position:0 -6080px;}
|
205 |
+
.re{background-position:0 -6112px;}
|
206 |
+
.ro{background-position:0 -6144px;}
|
207 |
+
.rs{background-position:0 -6176px;}
|
208 |
+
.ru{background-position:0 -6208px;}
|
209 |
+
.rw{background-position:0 -6240px;}
|
210 |
+
.sa{background-position:0 -6272px;}
|
211 |
+
.sb{background-position:0 -6304px;}
|
212 |
+
.sc{background-position:0 -6336px;}
|
213 |
+
.sd{background-position:0 -6368px;}
|
214 |
+
.se{background-position:0 -6400px;}
|
215 |
+
.sg{background-position:0 -6432px;}
|
216 |
+
.si{background-position:0 -6464px;}
|
217 |
+
.sk{background-position:0 -6496px;}
|
218 |
+
.sl{background-position:0 -6528px;}
|
219 |
+
.sm{background-position:0 -6560px;}
|
220 |
+
.sn{background-position:0 -6592px;}
|
221 |
+
.so{background-position:0 -6624px;}
|
222 |
+
.sr{background-position:0 -6656px;}
|
223 |
+
.st{background-position:0 -6688px;}
|
224 |
+
.sv{background-position:0 -6720px;}
|
225 |
+
.sy{background-position:0 -6752px;}
|
226 |
+
.sz{background-position:0 -6784px;}
|
227 |
+
.tc{background-position:0 -6816px;}
|
228 |
+
.td{background-position:0 -6848px;}
|
229 |
+
.tg{background-position:0 -6880px;}
|
230 |
+
.th{background-position:0 -6912px;}
|
231 |
+
.tj{background-position:0 -6944px;}
|
232 |
+
.tl{background-position:0 -6976px;}
|
233 |
+
.tm{background-position:0 -7008px;}
|
234 |
+
.tn{background-position:0 -7040px;}
|
235 |
+
.to{background-position:0 -7072px;}
|
236 |
+
.tr{background-position:0 -7104px;}
|
237 |
+
.tt{background-position:0 -7136px;}
|
238 |
+
.tv{background-position:0 -7168px;}
|
239 |
+
.tw{background-position:0 -7200px;}
|
240 |
+
.tz{background-position:0 -7232px;}
|
241 |
+
.ua{background-position:0 -7264px;}
|
242 |
+
.ug{background-position:0 -7296px;}
|
243 |
+
.us{background-position:0 -7328px;}
|
244 |
+
.uy{background-position:0 -7360px;}
|
245 |
+
.uz{background-position:0 -7392px;}
|
246 |
+
.va{background-position:0 -7424px;}
|
247 |
+
.vc{background-position:0 -7456px;}
|
248 |
+
.ve{background-position:0 -7488px;}
|
249 |
+
.vg{background-position:0 -7520px;}
|
250 |
+
.vi{background-position:0 -7552px;}
|
251 |
+
.vn{background-position:0 -7584px;}
|
252 |
+
.vu{background-position:0 -7616px;}
|
253 |
+
.ws{background-position:0 -7648px;}
|
254 |
+
.ye{background-position:0 -7680px;}
|
255 |
+
.za{background-position:0 -7712px;}
|
256 |
+
.zm{background-position:0 -7744px;}
|
257 |
+
.zw{background-position:0 -7776px;}
|
258 |
+
.sx{background-position:0 -7808px;}
|
259 |
+
.cw{background-position:0 -7840px;}
|
260 |
+
.ss{background-position:0 -7872px;}
|
extension/AAM_Secure/stylesheet/images/deny.png
ADDED
Binary file
|
extension/AAM_Secure/stylesheet/images/flags32.png
ADDED
Binary file
|
extension/AAM_Secure/stylesheet/images/large-iconset.png
ADDED
Binary file
|
extension/AAM_Secure/stylesheet/images/restriction.png
ADDED
Binary file
|
extension/AAM_Secure/stylesheet/security.css
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* ======================================================================
|
3 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
4 |
+
* file 'license.txt', which is part of this source code package. *
|
5 |
+
* ======================================================================
|
6 |
+
*/
|
7 |
+
|
8 |
+
#aam_form{
|
9 |
+
position: relative;
|
10 |
+
}
|
11 |
+
|
12 |
+
.clear{
|
13 |
+
line-height: 0;
|
14 |
+
font-size: 0;
|
15 |
+
padding: 0;
|
16 |
+
margin: 0;
|
17 |
+
clear: both;
|
18 |
+
}
|
19 |
+
|
20 |
+
.main-inside{
|
21 |
+
position: relative;
|
22 |
+
min-height: 200px;
|
23 |
+
}
|
24 |
+
|
25 |
+
.aam-main-loader{
|
26 |
+
position: absolute;
|
27 |
+
top: 0px;
|
28 |
+
left: 0px;
|
29 |
+
width: 100%;
|
30 |
+
height: 100%;
|
31 |
+
background: transparent url('images/main-loader.gif') no-repeat center;
|
32 |
+
}
|
33 |
+
|
34 |
+
.aam-icon-large span {
|
35 |
+
background-image: url('images/large-iconset.png');
|
36 |
+
}
|
37 |
+
|
38 |
+
.aam-icon-large-glob span{
|
39 |
+
background-position: 0 0;
|
40 |
+
}
|
41 |
+
|
42 |
+
.aam-icon-large-glob:hover span{
|
43 |
+
background-position: 0 -48px;
|
44 |
+
}
|
45 |
+
|
46 |
+
.aam-icon-large-settings span{
|
47 |
+
background-position: -48px 0;
|
48 |
+
}
|
49 |
+
|
50 |
+
.aam-icon-large-settings:hover span{
|
51 |
+
background-position: -48px -48px;
|
52 |
+
}
|
53 |
+
|
54 |
+
|
55 |
+
.restriction{
|
56 |
+
background: transparent url('images/restriction.png') no-repeat center;
|
57 |
+
}
|
58 |
+
|
59 |
+
.deny{
|
60 |
+
background: transparent url('images/deny.png') no-repeat center;
|
61 |
+
}
|
62 |
+
|
63 |
+
.center{
|
64 |
+
text-align: center;
|
65 |
+
}
|
66 |
+
|
67 |
+
.feature-off-notice{
|
68 |
+
width: 90%;
|
69 |
+
text-align: center;
|
70 |
+
padding: 10px 0;
|
71 |
+
font-size: 1.1em;
|
72 |
+
margin: 5px auto 0 auto;
|
73 |
+
border: 1px solid #FFAAAA;
|
74 |
+
}
|
75 |
+
|
76 |
+
.feature-off-notice a{
|
77 |
+
text-decoration: none;
|
78 |
+
color: #257DA6;
|
79 |
+
}
|
80 |
+
|
81 |
+
#settings_mode{
|
82 |
+
text-align: justify;
|
83 |
+
padding: 5px 15px;
|
84 |
+
}
|
extension/AAM_Secure/view/security.phtml
ADDED
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* ======================================================================
|
4 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
5 |
+
* file 'license.txt', which is part of this source code package. *
|
6 |
+
* ======================================================================
|
7 |
+
*/
|
8 |
+
?>
|
9 |
+
<div class="wrap">
|
10 |
+
<div class="postbox-container" style="width:70%;">
|
11 |
+
<div class="metabox-holder">
|
12 |
+
<div class="meta-box-sortables">
|
13 |
+
<div class="postbox">
|
14 |
+
<div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div>
|
15 |
+
<h3 class="hndle">
|
16 |
+
<?php echo __('AAM Security', 'aam'); ?>
|
17 |
+
</h3>
|
18 |
+
<div class="inside main-inside">
|
19 |
+
<div class="mode-container" id="map_mode">
|
20 |
+
<?php if ($this->isGeoLookupOn()) { ?>
|
21 |
+
<div id="geo_map" style="width: 100%; height: 500px;"></div>
|
22 |
+
<?php } else { ?>
|
23 |
+
<p class="feature-off-notice">
|
24 |
+
The Geo Lookup feature is off. Turn it on with ConfigPress.<br/>
|
25 |
+
For more information check <a href="#" id="setting_trigger_inline">Settings</a> tab.
|
26 |
+
</p>
|
27 |
+
<?php } ?>
|
28 |
+
</div>
|
29 |
+
<div class="mode-container" id="settings_mode" style="display: none;">
|
30 |
+
<p>
|
31 |
+
In current version of AAM Security you have to utilize ConfigPress to trigger
|
32 |
+
certain features. Please find out below the list of all possible ConfigPress
|
33 |
+
settings:
|
34 |
+
<pre style="background:#fff;color:#000">
|
35 |
+
<span style="color:#05a;font-weight: bold;">[security]</span>
|
36 |
+
<span style="color:#00b418">#Geo Lookup feature monitors the location of the user based on IP address.</span>
|
37 |
+
<span style="color:#00b418">#By default this feature is deactivated and can be activated by changing.</span>
|
38 |
+
<span style="color:#00b418">#the <b>false</b> to <b>true</b>.</span>
|
39 |
+
<span style="color:#0100b6;font-weight:700;">login.geo_lookup</span> = <span style="color:#d80800">"false"</span>
|
40 |
+
<span style="color:#00b418">#We are using FreeGeoIP.net webservice to retrieve the geo location based on</span>
|
41 |
+
<span style="color:#00b418">#IP address. Currently this is the only option but we will extend the list of</span>
|
42 |
+
<span style="color:#00b418">#possible options in future releases.</span>
|
43 |
+
<span style="color:#0100b6;font-weight:700">login.geoip.service</span> = <span style="color:#d80800">"FreeGeoIP"</span>
|
44 |
+
<span style="color:#00b418">#Login lockout feature control the admin login process. This prevent your</span>
|
45 |
+
<span style="color:#00b418">#website from being hacked by trying different password combinations.</span>
|
46 |
+
<span style="color:#0100b6;font-weight:700">login.lockout</span> = <span style="color:#d80800">"false"</span>
|
47 |
+
<span style="color:#00b418">#This setting defines how many attempts user has for entering correct password</span>
|
48 |
+
<span style="color:#00b418">#before the <b>attempt failure</b> procedure fires.</span>
|
49 |
+
<span style="color:#0100b6;font-weight:700">login.attempts</span> = <span style="color:#d80800">"10"</span>
|
50 |
+
<span style="color:#00b418">#Attempt failure procedure is fired after user excided the number of attempts</span>
|
51 |
+
<span style="color:#00b418">#to enter correct password. By default the server starts slowdown the each </span>
|
52 |
+
<span style="color:#00b418">#new request for 5 seconds. Another possible procedure is <b>die</b>.</span>
|
53 |
+
<span style="color:#00b418">#In this case the login process is completely locked for user's IP address.</span>
|
54 |
+
<span style="color:#0100b6;font-weight:700">login.attempt_failure</span> = <span style="color:#d80800">"slowdown"</span>
|
55 |
+
<span style="color:#00b418">#By default every new login request slows down for 5 seconds.</span>
|
56 |
+
<span style="color:#0100b6;font-weight:700">login.slowdown_time</span> = <span style="color:#d80800">"5"</span>
|
57 |
+
<span style="color:#00b418">#If <b>attempt failure</b> procedure is <b>die</b>, you can define your own</span>
|
58 |
+
<span style="color:#00b418">#custom message that will be shown for locked user.</span>
|
59 |
+
<span style="color:#0100b6;font-weight:700">login.die_message</span> = <span style="color:#d80800">"You are not allowed to login"</span>
|
60 |
+
<span style="color:#00b418">#To speedup the lookup and lockout feature, all IP addresses are cached to database.</span>
|
61 |
+
<span style="color:#00b418">#By default AAM caches up to 1000 records.</span>
|
62 |
+
<span style="color:#0100b6;font-weight:700">login.cache_limit</span> = <span style="color:#d80800">"1000"</span>
|
63 |
+
</pre>
|
64 |
+
</p>
|
65 |
+
<p style="font-size: 0.9em;">
|
66 |
+
AAM Security is very new but expecting to be one of the biggest features
|
67 |
+
in AAM plugin. Currently it can be considered on development stage so some of
|
68 |
+
the features might not work the way you expect.<br/>
|
69 |
+
We are expecting feedback and recommendations from you how to expend and improve
|
70 |
+
AAM Security feature. Please send your thoughts to our email box
|
71 |
+
<a href="mailto:support@wpaam.com">support@wpaam.com</a>.
|
72 |
+
</p>
|
73 |
+
</div>
|
74 |
+
</div>
|
75 |
+
</div>
|
76 |
+
</div>
|
77 |
+
</div>
|
78 |
+
</div>
|
79 |
+
|
80 |
+
<?php if (aam_Core_Console::hasIssues()) { ?>
|
81 |
+
<div class="postbox-container" style="width:25%; margin-left: 2%;">
|
82 |
+
<div class="metabox-holder">
|
83 |
+
<div class="meta-box-sortables">
|
84 |
+
<div class="postbox">
|
85 |
+
<div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div>
|
86 |
+
<h3 class="hndle">
|
87 |
+
<span><?php echo __('AAM Warnings', 'aam'); ?></span>
|
88 |
+
</h3>
|
89 |
+
<div class="inside">
|
90 |
+
<?php foreach (aam_Core_Console::getWarnings() as $warning) { ?>
|
91 |
+
<div class="aam-warning"><span><?php echo $warning; ?></span></div>
|
92 |
+
<?php } ?>
|
93 |
+
</div>
|
94 |
+
</div>
|
95 |
+
</div>
|
96 |
+
</div>
|
97 |
+
</div>
|
98 |
+
<?php } ?>
|
99 |
+
|
100 |
+
<div class="postbox-container" style="width:25%; margin-left: 2%;">
|
101 |
+
<div class="metabox-holder" id="control_panel">
|
102 |
+
<div class="meta-box-sortables">
|
103 |
+
<div class="postbox">
|
104 |
+
<div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div>
|
105 |
+
<h3 class="hndle">
|
106 |
+
<span><?php echo __('Control Panel', 'aam'); ?></span>
|
107 |
+
</h3>
|
108 |
+
<div class="inside">
|
109 |
+
<div class="large-icons-row">
|
110 |
+
<a href="#" class="aam-icon aam-icon-large aam-icon-large-glob" mode="map">
|
111 |
+
<span></span><?php echo __('Map', 'aam'); ?>
|
112 |
+
</a>
|
113 |
+
<!--<a href="#" class="cpanel-item cpanel-item-graph" ><?php echo __('Graph', 'aam'); ?></a>-->
|
114 |
+
<a href="#" class="aam-icon aam-icon-large aam-icon-large-settings" mode="settings" >
|
115 |
+
<span></span><?php echo __('Settings', 'aam'); ?>
|
116 |
+
</a>
|
117 |
+
</div>
|
118 |
+
<div class="medium-icons-row">
|
119 |
+
<a href="https://twitter.com/wpaam" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-twitter" aam-tooltip="<?php echo __('Follow @wpaam', 'aam'); ?>"><span></span><?php echo __('Follow', 'aam'); ?></a>
|
120 |
+
<a href="http://wpaam.com/support" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-help" aam-tooltip="<?php echo __('Help Forum', 'aam'); ?>"><span></span><?php echo __('Help', 'aam'); ?></a>
|
121 |
+
<a href="#" class="aam-icon aam-icon-medium aam-icon-medium-message" id="aam_message" aam-tooltip="<?php echo __('E-mail Us', 'aam'); ?>"><span></span><?php echo __('E-mail Us', 'aam'); ?></a>
|
122 |
+
<a href="http://wordpress.org/support/view/plugin-reviews/advanced-access-manager" target="_blank" class="aam-icon aam-icon-medium aam-icon-medium-star" aam-tooltip="<?php echo __('Rate AAM', 'aam'); ?>"><span></span><?php echo __('Rate Us', 'aam'); ?></a>
|
123 |
+
</div>
|
124 |
+
</div>
|
125 |
+
</div>
|
126 |
+
</div>
|
127 |
+
</div>
|
128 |
+
</div>
|
129 |
+
<?php if (false && $this->isGeoLookupOn()) { ?>
|
130 |
+
<div class="postbox-container" style="width:25%; margin-left: 2%;">
|
131 |
+
<div class="metabox-holder">
|
132 |
+
<div class="meta-box-sortables">
|
133 |
+
<div class="postbox">
|
134 |
+
<div class="handlediv" title="<?php echo __('Click to toggle', 'aam'); ?>"></div>
|
135 |
+
<h3 class="hndle">
|
136 |
+
<span><?php echo __('Country Impact List', 'aam'); ?></span>
|
137 |
+
</h3>
|
138 |
+
<div class="inside">
|
139 |
+
<table class="dataTable" id="country_list">
|
140 |
+
<thead>
|
141 |
+
<tr>
|
142 |
+
<th width="80%">Country</th>
|
143 |
+
<th>Action</th>
|
144 |
+
</tr>
|
145 |
+
</thead>
|
146 |
+
<tbody>
|
147 |
+
</tbody>
|
148 |
+
</table>
|
149 |
+
</div>
|
150 |
+
</div>
|
151 |
+
</div>
|
152 |
+
</div>
|
153 |
+
</div>
|
154 |
+
<?php } ?>
|
155 |
+
<br class="clear" />
|
156 |
+
</div>
|
media/css/aam.css
CHANGED
@@ -5,29 +5,12 @@
|
|
5 |
* ======================================================================
|
6 |
*/
|
7 |
|
8 |
-
.aam-beta-version{
|
9 |
-
margin: 15px 10px;
|
10 |
-
border: 1px solid #FF8888;
|
11 |
-
border-radius: 4px;
|
12 |
-
padding: 4px;
|
13 |
-
text-align: center;
|
14 |
-
font-weight: bold;
|
15 |
-
font-size: 1.1em;
|
16 |
-
}
|
17 |
|
18 |
/** GLOBAL AAM STYLES */
|
19 |
#aam_form{
|
20 |
position: relative;
|
21 |
}
|
22 |
|
23 |
-
.aam-hidden{
|
24 |
-
display: none;
|
25 |
-
}
|
26 |
-
|
27 |
-
.aam-dialog{
|
28 |
-
display: none;
|
29 |
-
}
|
30 |
-
|
31 |
.aam-asterix{
|
32 |
display: inline-block;
|
33 |
font-size: 0.9em;
|
@@ -80,190 +63,11 @@
|
|
80 |
margin: 10px 0px;
|
81 |
}
|
82 |
|
83 |
-
.wrap a{
|
84 |
-
outline: 0;
|
85 |
-
}
|
86 |
-
|
87 |
-
.aam-tooltip {
|
88 |
-
display:none;
|
89 |
-
position:absolute;
|
90 |
-
border:1px solid #CCCCCC;
|
91 |
-
background-color: #F5F5F5;
|
92 |
-
border-radius: 4px;
|
93 |
-
box-shadow: 0 0 5px #AAAAAA;
|
94 |
-
padding: 5px 10px;
|
95 |
-
z-index: 9999;
|
96 |
-
color: #333333;
|
97 |
-
font-size: 1em;
|
98 |
-
max-width: 300px;
|
99 |
-
left:0px;
|
100 |
-
top: 0px;
|
101 |
-
font-weight: bold;
|
102 |
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
103 |
-
}
|
104 |
-
|
105 |
-
.aam-icon{
|
106 |
-
text-indent: -9999px;
|
107 |
-
text-align: center;
|
108 |
-
background-repeat: no-repeat;
|
109 |
-
}
|
110 |
-
|
111 |
-
a.aam-icon{
|
112 |
-
outline: none;
|
113 |
-
display: inline-block;
|
114 |
-
}
|
115 |
-
|
116 |
-
.aam-icon span {
|
117 |
-
content: "";
|
118 |
-
display: block;
|
119 |
-
background-repeat: no-repeat;
|
120 |
-
opacity: 1;
|
121 |
-
-webkit-transition: opacity 0.5s;
|
122 |
-
-moz-transition: opacity 0.5s;
|
123 |
-
-o-transition: opacity 0.5s;
|
124 |
-
}
|
125 |
-
|
126 |
-
.aam-icon-medium span {
|
127 |
-
background-image: url('images/common/medium-iconset.png');
|
128 |
-
width: 24px;
|
129 |
-
height: 24px;
|
130 |
-
margin-left: calc(50% - 12px);
|
131 |
-
margin-left: -moz-calc(50% - 12px);
|
132 |
-
}
|
133 |
-
|
134 |
-
.aam-icon-medium:hover span {
|
135 |
-
opacity: 1;
|
136 |
-
}
|
137 |
-
|
138 |
-
.aam-icon-small span {
|
139 |
-
background-image: url('images/common/small-iconset.png');
|
140 |
-
width: 16px;
|
141 |
-
height: 16px;
|
142 |
-
margin-left: calc(50% - 8px);
|
143 |
-
margin-left: -moz-calc(50% - 8px);
|
144 |
-
}
|
145 |
-
|
146 |
-
.aam-icon-small:hover span{
|
147 |
-
opacity: 1;
|
148 |
-
}
|
149 |
-
|
150 |
-
.aam-icon-medium-active{
|
151 |
-
background-position-y: -24px !important;
|
152 |
-
}
|
153 |
-
|
154 |
-
.aam-icon-small-active{
|
155 |
-
background-position-y: -16px !important;
|
156 |
-
}
|
157 |
-
|
158 |
-
.aam-icon-add span{
|
159 |
-
background-position: 0 0;
|
160 |
-
}
|
161 |
-
|
162 |
-
.aam-icon-add:hover span{
|
163 |
-
background-position: 0 -24px;
|
164 |
-
}
|
165 |
-
|
166 |
-
.aam-icon-refresh span{
|
167 |
-
background-position: -24px 0px;
|
168 |
-
}
|
169 |
-
|
170 |
-
.aam-icon-refresh:hover span{
|
171 |
-
background-position: -24px -24px;
|
172 |
-
}
|
173 |
-
|
174 |
-
.aam-icon-filter span{
|
175 |
-
background-position: -48px 0px;
|
176 |
-
}
|
177 |
-
|
178 |
-
.aam-icon-filter:hover span{
|
179 |
-
background-position: -48px -24px;
|
180 |
-
}
|
181 |
-
|
182 |
-
.aam-icon-copy span{
|
183 |
-
background-position: -72px 0px;
|
184 |
-
}
|
185 |
-
|
186 |
-
.aam-icon-copy:hover span{
|
187 |
-
background-position: -72px -24px;
|
188 |
-
}
|
189 |
-
|
190 |
-
.aam-icon-restore span{
|
191 |
-
background-position: -96px 0px;
|
192 |
-
}
|
193 |
-
|
194 |
-
.aam-icon-restore:hover span{
|
195 |
-
background-position: -96px -24px;
|
196 |
-
}
|
197 |
-
|
198 |
.aam-medium-loader span{
|
199 |
background-image: url('images/common/medium-loader.gif');
|
200 |
background-position: 0 0 !important;
|
201 |
}
|
202 |
|
203 |
-
.aam-icon-manage span{
|
204 |
-
background-position: 0 0;
|
205 |
-
}
|
206 |
-
|
207 |
-
.aam-icon-manage:hover span{
|
208 |
-
background-position: 0 -16px;
|
209 |
-
}
|
210 |
-
|
211 |
-
.aam-icon-delete span{
|
212 |
-
background-position: -16px 0;
|
213 |
-
}
|
214 |
-
|
215 |
-
.aam-icon-delete:hover span{
|
216 |
-
background-position: -16px -16px;
|
217 |
-
}
|
218 |
-
|
219 |
-
.aam-icon-pen span{
|
220 |
-
background-position: -32px 0;
|
221 |
-
}
|
222 |
-
|
223 |
-
.aam-icon-pen:hover span{
|
224 |
-
background-position: -32px -16px;
|
225 |
-
}
|
226 |
-
|
227 |
-
.aam-icon-edit-user span{
|
228 |
-
background-position: -48px 0;
|
229 |
-
}
|
230 |
-
|
231 |
-
.aam-icon-edit-user:hover span{
|
232 |
-
background-position: -48px -16px;
|
233 |
-
}
|
234 |
-
|
235 |
-
.aam-icon-block span{
|
236 |
-
background-position: -64px 0;
|
237 |
-
}
|
238 |
-
|
239 |
-
.aam-icon-block:hover span{
|
240 |
-
background-position: -64px -16px;
|
241 |
-
}
|
242 |
-
|
243 |
-
.aam-icon-default span{
|
244 |
-
background-position: -80px 0;
|
245 |
-
}
|
246 |
-
|
247 |
-
.aam-icon-default:hover span{
|
248 |
-
background-position: -80px -16px;
|
249 |
-
}
|
250 |
-
|
251 |
-
.aam-icon-trash span{
|
252 |
-
background-position: -96px 0;
|
253 |
-
}
|
254 |
-
|
255 |
-
.aam-icon-trash:hover span{
|
256 |
-
background-position: -96px -16px;
|
257 |
-
}
|
258 |
-
|
259 |
-
.aam-icon-select span{
|
260 |
-
background-position: -112px 0;
|
261 |
-
}
|
262 |
-
|
263 |
-
.aam-icon-select:hover span{
|
264 |
-
background-position: -112px -16px;
|
265 |
-
}
|
266 |
-
|
267 |
.aam-list-top-actions{
|
268 |
float: right;
|
269 |
display: inline-table;
|
@@ -394,104 +198,6 @@ a.aam-icon{
|
|
394 |
}
|
395 |
|
396 |
/** CONTROL PANEL STYLES */
|
397 |
-
.cpanel-major{
|
398 |
-
display: table;
|
399 |
-
width: 100%;
|
400 |
-
margin-bottom: 5px;
|
401 |
-
padding-bottom: 5px;
|
402 |
-
border-bottom: 1px solid #CCCCCC;
|
403 |
-
}
|
404 |
-
|
405 |
-
.cpanel-major .cpanel-item{
|
406 |
-
height: 64px;
|
407 |
-
width: 50%;
|
408 |
-
display: table-cell;
|
409 |
-
text-align: center;
|
410 |
-
vertical-align: bottom;
|
411 |
-
text-decoration: none;
|
412 |
-
text-transform: uppercase;
|
413 |
-
font-size: 10px;
|
414 |
-
font-weight: bold;
|
415 |
-
color: #333333;
|
416 |
-
background-repeat: no-repeat;
|
417 |
-
background-position: center top;
|
418 |
-
}
|
419 |
-
|
420 |
-
.cpanel-major .cpanel-item-disabled{
|
421 |
-
opacity: 0.8;
|
422 |
-
cursor: none;
|
423 |
-
pointer-events: none;
|
424 |
-
text-decoration: line-through;
|
425 |
-
}
|
426 |
-
|
427 |
-
.cpanel-minor{
|
428 |
-
display: table;
|
429 |
-
width: 100%;
|
430 |
-
margin-top: 10px;
|
431 |
-
}
|
432 |
-
|
433 |
-
.cpanel-minor .cpanel-item{
|
434 |
-
height: 40px;
|
435 |
-
width: 25%;
|
436 |
-
display: table-cell;
|
437 |
-
text-align: center;
|
438 |
-
vertical-align: bottom;
|
439 |
-
text-decoration: none;
|
440 |
-
text-transform: uppercase;
|
441 |
-
font-size: 9px;
|
442 |
-
font-weight: bold;
|
443 |
-
color: #333333;
|
444 |
-
background-repeat: no-repeat;
|
445 |
-
background-position: center top;
|
446 |
-
}
|
447 |
-
|
448 |
-
.cpanel-item-restore{
|
449 |
-
background-image: url('images/cpanel/restore.png');
|
450 |
-
}
|
451 |
-
|
452 |
-
.cpanel-item-restore:hover{
|
453 |
-
background-image: url('images/cpanel/restore-active.png');
|
454 |
-
}
|
455 |
-
|
456 |
-
.cpanel-item-save{
|
457 |
-
background-image: url('images/cpanel/save.png');
|
458 |
-
}
|
459 |
-
|
460 |
-
.cpanel-item-save:hover{
|
461 |
-
background-image: url('images/cpanel/save-active.png');
|
462 |
-
}
|
463 |
-
|
464 |
-
.cpanel-item-help{
|
465 |
-
background-image: url('images/cpanel/help-forum.png');
|
466 |
-
}
|
467 |
-
|
468 |
-
.cpanel-item-help:hover{
|
469 |
-
background-image: url('images/cpanel/help-forum-active.png');
|
470 |
-
}
|
471 |
-
|
472 |
-
.cpanel-item-twitter{
|
473 |
-
background-image: url('images/cpanel/twitter.png');
|
474 |
-
}
|
475 |
-
|
476 |
-
.cpanel-item-twitter:hover{
|
477 |
-
background-image: url('images/cpanel/twitter-active.png');
|
478 |
-
}
|
479 |
-
|
480 |
-
.cpanel-item-message{
|
481 |
-
background-image: url('images/cpanel/message.png');
|
482 |
-
}
|
483 |
-
|
484 |
-
.cpanel-item-message:hover{
|
485 |
-
background-image: url('images/cpanel/message-active.png');
|
486 |
-
}
|
487 |
-
|
488 |
-
.cpanel-item-star{
|
489 |
-
background-image: url('images/cpanel/star.png');
|
490 |
-
}
|
491 |
-
|
492 |
-
.cpanel-item-star:hover{
|
493 |
-
background-image: url('images/cpanel/star-active.png');
|
494 |
-
}
|
495 |
|
496 |
#major-publishing-actions{
|
497 |
margin-top: 5px;
|
@@ -721,12 +427,12 @@ a.aam-icon{
|
|
721 |
background-image: url('images/metabox/link-active.png');
|
722 |
}
|
723 |
|
724 |
-
.metabox-top-actions .aam-icon-add{
|
725 |
margin-left: 10px;
|
726 |
display: inline-block;
|
727 |
}
|
728 |
|
729 |
-
.metabox-top-actions .aam-icon-refresh{
|
730 |
float: right;
|
731 |
display: inline-block;
|
732 |
}
|
@@ -1147,22 +853,4 @@ a.aam-lock-big{
|
|
1147 |
|
1148 |
.event-specifier{
|
1149 |
display:none;
|
1150 |
-
}
|
1151 |
-
|
1152 |
-
.aam-warning{
|
1153 |
-
width: 100%;
|
1154 |
-
height: 40px;
|
1155 |
-
display: table-row;
|
1156 |
-
background: transparent url('images/warning.png') no-repeat 2px center;
|
1157 |
-
-moz-box-sizing: border-box;
|
1158 |
-
-webkit-box-sizing: border-box;
|
1159 |
-
box-sizing: border-box;
|
1160 |
-
margin-top: 1px;
|
1161 |
-
}
|
1162 |
-
|
1163 |
-
.aam-warning span{
|
1164 |
-
display: table-cell;
|
1165 |
-
vertical-align: middle;
|
1166 |
-
padding-left: 30px;
|
1167 |
-
font-size: 0.9em;
|
1168 |
}
|
5 |
* ======================================================================
|
6 |
*/
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
/** GLOBAL AAM STYLES */
|
10 |
#aam_form{
|
11 |
position: relative;
|
12 |
}
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
.aam-asterix{
|
15 |
display: inline-block;
|
16 |
font-size: 0.9em;
|
63 |
margin: 10px 0px;
|
64 |
}
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
.aam-medium-loader span{
|
67 |
background-image: url('images/common/medium-loader.gif');
|
68 |
background-position: 0 0 !important;
|
69 |
}
|
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
.aam-list-top-actions{
|
72 |
float: right;
|
73 |
display: inline-table;
|
198 |
}
|
199 |
|
200 |
/** CONTROL PANEL STYLES */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
|
202 |
#major-publishing-actions{
|
203 |
margin-top: 5px;
|
427 |
background-image: url('images/metabox/link-active.png');
|
428 |
}
|
429 |
|
430 |
+
.metabox-top-actions .aam-icon-medium-add{
|
431 |
margin-left: 10px;
|
432 |
display: inline-block;
|
433 |
}
|
434 |
|
435 |
+
.metabox-top-actions .aam-icon-medium-refresh{
|
436 |
float: right;
|
437 |
display: inline-block;
|
438 |
}
|
853 |
|
854 |
.event-specifier{
|
855 |
display:none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
856 |
}
|
media/css/common.css
ADDED
@@ -0,0 +1,353 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* ======================================================================
|
3 |
+
* LICENSE: This file is subject to the terms and conditions defined in *
|
4 |
+
* file 'license.txt', which is part of this source code package. *
|
5 |
+
* ======================================================================
|
6 |
+
*/
|
7 |
+
.aam-beta-version{
|
8 |
+
margin: 15px 10px;
|
9 |
+
border: 1px solid #FF8888;
|
10 |
+
border-radius: 4px;
|
11 |
+
padding: 4px;
|
12 |
+
text-align: center;
|
13 |
+
font-weight: bold;
|
14 |
+
font-size: 1.1em;
|
15 |
+
}
|
16 |
+
|
17 |
+
.aam-hidden{
|
18 |
+
display: none;
|
19 |
+
}
|
20 |
+
|
21 |
+
.aam-dialog{
|
22 |
+
display: none;
|
23 |
+
}
|
24 |
+
|
25 |
+
.wrap a{
|
26 |
+
outline: 0;
|
27 |
+
}
|
28 |
+
|
29 |
+
.aam-tooltip {
|
30 |
+
display:none;
|
31 |
+
position:absolute;
|
32 |
+
border:1px solid #CCCCCC;
|
33 |
+
background-color: #F5F5F5;
|
34 |
+
border-radius: 4px;
|
35 |
+
box-shadow: 0 0 5px #AAAAAA;
|
36 |
+
padding: 5px 10px;
|
37 |
+
z-index: 9999;
|
38 |
+
color: #333333;
|
39 |
+
font-size: 1em;
|
40 |
+
max-width: 300px;
|
41 |
+
left:0px;
|
42 |
+
top: 0px;
|
43 |
+
font-weight: bold;
|
44 |
+
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
45 |
+
}
|
46 |
+
|
47 |
+
.aam-icon{
|
48 |
+
text-indent: -9999px;
|
49 |
+
text-align: center;
|
50 |
+
background-repeat: no-repeat;
|
51 |
+
}
|
52 |
+
|
53 |
+
a.aam-icon{
|
54 |
+
outline: none;
|
55 |
+
}
|
56 |
+
|
57 |
+
.aam-icon span {
|
58 |
+
content: "";
|
59 |
+
display: block;
|
60 |
+
background-repeat: no-repeat;
|
61 |
+
opacity: 1;
|
62 |
+
-webkit-transition: opacity 0.5s;
|
63 |
+
-moz-transition: opacity 0.5s;
|
64 |
+
-o-transition: opacity 0.5s;
|
65 |
+
}
|
66 |
+
|
67 |
+
.aam-icon span:hover{
|
68 |
+
opacity: 1;
|
69 |
+
}
|
70 |
+
|
71 |
+
.aam-icon-large span {
|
72 |
+
background-image: url('images/common/large-iconset.png');
|
73 |
+
width: 48px;
|
74 |
+
height: 48px;
|
75 |
+
margin-left: calc(50% - 24px);
|
76 |
+
margin-left: -moz-calc(50% - 24px);
|
77 |
+
}
|
78 |
+
|
79 |
+
.aam-icon-medium span {
|
80 |
+
background-image: url('images/common/medium-iconset.png');
|
81 |
+
width: 24px;
|
82 |
+
height: 24px;
|
83 |
+
margin-left: calc(50% - 12px);
|
84 |
+
margin-left: -moz-calc(50% - 12px);
|
85 |
+
}
|
86 |
+
|
87 |
+
.aam-icon-small span {
|
88 |
+
background-image: url('images/common/small-iconset.png');
|
89 |
+
width: 16px;
|
90 |
+
height: 16px;
|
91 |
+
margin-left: calc(50% - 8px);
|
92 |
+
margin-left: -moz-calc(50% - 8px);
|
93 |
+
}
|
94 |
+
|
95 |
+
.aam-icon-large-active{
|
96 |
+
background-position-y: -48px !important;
|
97 |
+
}
|
98 |
+
|
99 |
+
.aam-icon-medium-active{
|
100 |
+
background-position-y: -24px !important;
|
101 |
+
}
|
102 |
+
|
103 |
+
.aam-icon-small-active{
|
104 |
+
background-position-y: -16px !important;
|
105 |
+
}
|
106 |
+
|
107 |
+
.aam-icon-large-save span{
|
108 |
+
background-position: 0 0;
|
109 |
+
}
|
110 |
+
|
111 |
+
.aam-icon-large-save:hover span{
|
112 |
+
background-position: 0 -48px;
|
113 |
+
}
|
114 |
+
|
115 |
+
.aam-icon-large-roleback span{
|
116 |
+
background-position: -48px 0;
|
117 |
+
}
|
118 |
+
|
119 |
+
.aam-icon-large-roleback:hover span{
|
120 |
+
background-position: -48px -48px;
|
121 |
+
}
|
122 |
+
|
123 |
+
.aam-icon-large-twitter span{
|
124 |
+
background-position: -96px 0;
|
125 |
+
}
|
126 |
+
|
127 |
+
.aam-icon-large-twitter:hover span{
|
128 |
+
background-position: -96px -48px;
|
129 |
+
}
|
130 |
+
|
131 |
+
.aam-icon-large-message span{
|
132 |
+
background-position: -144px 0;
|
133 |
+
}
|
134 |
+
|
135 |
+
.aam-icon-large-message:hover span{
|
136 |
+
background-position: -144px -48px;
|
137 |
+
}
|
138 |
+
|
139 |
+
.aam-icon-large-link span{
|
140 |
+
background-position: -192px 0;
|
141 |
+
}
|
142 |
+
|
143 |
+
.aam-icon-large-link:hover span{
|
144 |
+
background-position: -192px -48px;
|
145 |
+
}
|
146 |
+
|
147 |
+
.aam-icon-medium-add span{
|
148 |
+
background-position: 0 0;
|
149 |
+
}
|
150 |
+
|
151 |
+
.aam-icon-medium-add:hover span{
|
152 |
+
background-position: 0 -24px;
|
153 |
+
}
|
154 |
+
|
155 |
+
.aam-icon-medium-refresh span{
|
156 |
+
background-position: -24px 0px;
|
157 |
+
}
|
158 |
+
|
159 |
+
.aam-icon-medium-refresh:hover span{
|
160 |
+
background-position: -24px -24px;
|
161 |
+
}
|
162 |
+
|
163 |
+
.aam-icon-medium-filter span{
|
164 |
+
background-position: -48px 0px;
|
165 |
+
}
|
166 |
+
|
167 |
+
.aam-icon-medium-filter:hover span{
|
168 |
+
background-position: -48px -24px;
|
169 |
+
}
|
170 |
+
|
171 |
+
.aam-icon-medium-copy span{
|
172 |
+
background-position: -72px 0px;
|
173 |
+
}
|
174 |
+
|
175 |
+
.aam-icon-medium-copy:hover span{
|
176 |
+
background-position: -72px -24px;
|
177 |
+
}
|
178 |
+
|
179 |
+
.aam-icon-medium-roleback span{
|
180 |
+
background-position: -96px 0px;
|
181 |
+
}
|
182 |
+
|
183 |
+
.aam-icon-medium-roleback:hover span{
|
184 |
+
background-position: -96px -24px;
|
185 |
+
}
|
186 |
+
|
187 |
+
.aam-icon-medium-twitter span{
|
188 |
+
background-position: -120px 0;
|
189 |
+
}
|
190 |
+
|
191 |
+
.aam-icon-medium-twitter:hover span{
|
192 |
+
background-position: -120px -24px;
|
193 |
+
}
|
194 |
+
|
195 |
+
.aam-icon-medium-help span{
|
196 |
+
background-position: -144px 0;
|
197 |
+
}
|
198 |
+
|
199 |
+
.aam-icon-medium-help:hover span{
|
200 |
+
background-position: -144px -24px;
|
201 |
+
}
|
202 |
+
|
203 |
+
.aam-icon-medium-message span{
|
204 |
+
background-position: -168px 0;
|
205 |
+
}
|
206 |
+
|
207 |
+
.aam-icon-medium-message:hover span{
|
208 |
+
background-position: -168px -24px;
|
209 |
+
}
|
210 |
+
|
211 |
+
.aam-icon-medium-star span{
|
212 |
+
background-position: -192px 0;
|
213 |
+
}
|
214 |
+
|
215 |
+
.aam-icon-medium-star:hover span{
|
216 |
+
background-position: -192px -24px;
|
217 |
+
}
|
218 |
+
|
219 |
+
.aam-icon-small-manage span{
|
220 |
+
background-position: 0 0;
|
221 |
+
}
|
222 |
+
|
223 |
+
.aam-icon-small-manage:hover span{
|
224 |
+
background-position: 0 -16px;
|
225 |
+
}
|
226 |
+
|
227 |
+
.aam-icon-small-delete span{
|
228 |
+
background-position: -16px 0;
|
229 |
+
}
|
230 |
+
|
231 |
+
.aam-icon-small-delete:hover span{
|
232 |
+
background-position: -16px -16px;
|
233 |
+
}
|
234 |
+
|
235 |
+
.aam-icon-small-pen span{
|
236 |
+
background-position: -32px 0;
|
237 |
+
}
|
238 |
+
|
239 |
+
.aam-icon-small-pen:hover span{
|
240 |
+
background-position: -32px -16px;
|
241 |
+
}
|
242 |
+
|
243 |
+
.aam-icon-small-edit-user span{
|
244 |
+
background-position: -48px 0;
|
245 |
+
}
|
246 |
+
|
247 |
+
.aam-icon-small-edit-user:hover span{
|
248 |
+
background-position: -48px -16px;
|
249 |
+
}
|
250 |
+
|
251 |
+
.aam-icon-small-block span{
|
252 |
+
background-position: -64px 0;
|
253 |
+
}
|
254 |
+
|
255 |
+
.aam-icon-small-block:hover span{
|
256 |
+
background-position: -64px -16px;
|
257 |
+
}
|
258 |
+
|
259 |
+
.aam-icon-small-roleback span{
|
260 |
+
background-position: -80px 0;
|
261 |
+
}
|
262 |
+
|
263 |
+
.aam-icon-small-roleback:hover span{
|
264 |
+
background-position: -80px -16px;
|
265 |
+
}
|
266 |
+
|
267 |
+
.aam-icon-small-trash span{
|
268 |
+
background-position: -96px 0;
|
269 |
+
}
|
270 |
+
|
271 |
+
.aam-icon-small-trash:hover span{
|
272 |
+
background-position: -96px -16px;
|
273 |
+
}
|
274 |
+
|
275 |
+
.aam-icon-small-select span{
|
276 |
+
background-position: -112px 0;
|
277 |
+
}
|
278 |
+
|
279 |
+
.aam-icon-small-select:hover span{
|
280 |
+
background-position: -112px -16px;
|
281 |
+
}
|
282 |
+
|
283 |
+
.large-icons-row{
|
284 |
+
display: table;
|
285 |
+
width: 100%;
|
286 |
+
margin-bottom: 5px;
|
287 |
+
padding-bottom: 5px;
|
288 |
+
border-bottom: 1px solid #CCCCCC;
|
289 |
+
}
|
290 |
+
|
291 |
+
.large-icons-row .aam-icon{
|
292 |
+
display: table-cell;
|
293 |
+
text-align: center;
|
294 |
+
vertical-align: bottom;
|
295 |
+
text-decoration: none;
|
296 |
+
text-transform: uppercase;
|
297 |
+
font-size: 10px;
|
298 |
+
font-weight: bold;
|
299 |
+
color: #333333;
|
300 |
+
}
|
301 |
+
|
302 |
+
.large-icons-row a.disabled span{
|
303 |
+
opacity: 0.8;
|
304 |
+
cursor: none;
|
305 |
+
pointer-events: none;
|
306 |
+
text-decoration: line-through;
|
307 |
+
}
|
308 |
+
|
309 |
+
.medium-icons-row{
|
310 |
+
display: inline-table;
|
311 |
+
width: 100%;
|
312 |
+
margin-top: 10px;
|
313 |
+
}
|
314 |
+
|
315 |
+
.medium-icons-row .aam-icon{
|
316 |
+
display: table-cell;
|
317 |
+
text-indent: 0;
|
318 |
+
font-size: 9px;
|
319 |
+
font-weight: bold;
|
320 |
+
color: #333333;
|
321 |
+
}
|
322 |
+
|
323 |
+
.medium-icons-row a.aam-icon{
|
324 |
+
text-decoration: none;
|
325 |
+
}
|
326 |
+
|
327 |
+
.aam-list-row-actions{
|
328 |
+
width: 100%;
|
329 |
+
display: inline-table;
|
330 |
+
text-align: center;
|
331 |
+
}
|
332 |
+
|
333 |
+
.aam-list-row-actions .aam-icon{
|
334 |
+
display: table-cell;
|
335 |
+
}
|
336 |
+
|
337 |
+
.aam-warning{
|
338 |
+
width: 100%;
|
339 |
+
height: 40px;
|
340 |
+
display: table-row;
|
341 |
+
background: transparent url('images/common/warning.png') no-repeat 2px center;
|
342 |
+
-moz-box-sizing: border-box;
|
343 |
+
-webkit-box-sizing: border-box;
|
344 |
+
box-sizing: border-box;
|
345 |
+
margin-top: 1px;
|
346 |
+
}
|
347 |
+
|
348 |
+
.aam-warning span{
|
349 |
+
display: table-cell;
|
350 |
+
vertical-align: middle;
|
351 |
+
padding-left: 30px;
|
352 |
+
font-size: 0.9em;
|
353 |
+
}
|
media/css/configpress.css
CHANGED
@@ -1,106 +1,4 @@
|
|
1 |
-
.cpanel-major{
|
2 |
-
display: table;
|
3 |
-
width: 100%;
|
4 |
-
margin-bottom: 5px;
|
5 |
-
padding-bottom: 5px;
|
6 |
-
border-bottom: 1px solid #CCCCCC;
|
7 |
-
}
|
8 |
-
|
9 |
-
.cpanel-major .cpanel-item{
|
10 |
-
height: 64px;
|
11 |
-
width: 50%;
|
12 |
-
display: table-cell;
|
13 |
-
text-align: center;
|
14 |
-
vertical-align: bottom;
|
15 |
-
text-decoration: none;
|
16 |
-
text-transform: uppercase;
|
17 |
-
font-size: 10px;
|
18 |
-
font-weight: bold;
|
19 |
-
color: #333333;
|
20 |
-
background-repeat: no-repeat;
|
21 |
-
background-position: center top;
|
22 |
-
}
|
23 |
-
|
24 |
-
.cpanel-minor{
|
25 |
-
display: table;
|
26 |
-
width: 100%;
|
27 |
-
margin-top: 10px;
|
28 |
-
}
|
29 |
-
|
30 |
-
.cpanel-minor .cpanel-item{
|
31 |
-
height: 40px;
|
32 |
-
width: 25%;
|
33 |
-
display: table-cell;
|
34 |
-
text-align: center;
|
35 |
-
vertical-align: bottom;
|
36 |
-
text-decoration: none;
|
37 |
-
text-transform: uppercase;
|
38 |
-
font-size: 9px;
|
39 |
-
font-weight: bold;
|
40 |
-
color: #333333;
|
41 |
-
background-repeat: no-repeat;
|
42 |
-
background-position: center top;
|
43 |
-
}
|
44 |
-
|
45 |
-
.cpanel-item-save{
|
46 |
-
background-image: url('images/cpanel/save.png');
|
47 |
-
}
|
48 |
-
|
49 |
-
.cpanel-item-save:hover{
|
50 |
-
background-image: url('images/cpanel/save-active.png');
|
51 |
-
}
|
52 |
-
|
53 |
-
.cpanel-item-help{
|
54 |
-
background-image: url('images/cpanel/help-forum.png');
|
55 |
-
}
|
56 |
-
|
57 |
-
.cpanel-item-help:hover{
|
58 |
-
background-image: url('images/cpanel/help-forum-active.png');
|
59 |
-
}
|
60 |
-
|
61 |
-
.cpanel-item-twitter{
|
62 |
-
background-image: url('images/cpanel/twitter.png');
|
63 |
-
}
|
64 |
-
|
65 |
-
.cpanel-item-twitter:hover{
|
66 |
-
background-image: url('images/cpanel/twitter-active.png');
|
67 |
-
}
|
68 |
-
|
69 |
-
.cpanel-item-message{
|
70 |
-
background-image: url('images/cpanel/message.png');
|
71 |
-
}
|
72 |
-
|
73 |
-
.cpanel-item-message:hover{
|
74 |
-
background-image: url('images/cpanel/message-active.png');
|
75 |
-
}
|
76 |
-
|
77 |
-
.cpanel-item-star{
|
78 |
-
background-image: url('images/cpanel/star.png');
|
79 |
-
}
|
80 |
-
|
81 |
-
.cpanel-item-star:hover{
|
82 |
-
background-image: url('images/cpanel/star-active.png');
|
83 |
-
}
|
84 |
-
|
85 |
#major-publishing-actions{
|
86 |
margin-top: 5px;
|
87 |
border-top: 1px solid #D5D5D5;
|
88 |
-
}
|
89 |
-
|
90 |
-
.aam-warning{
|
91 |
-
width: 100%;
|
92 |
-
height: 40px;
|
93 |
-
display: table-row;
|
94 |
-
background: transparent url('images/warning.png') no-repeat 2px center;
|
95 |
-
-moz-box-sizing: border-box;
|
96 |
-
-webkit-box-sizing: border-box;
|
97 |
-
box-sizing: border-box;
|
98 |
-
margin-top: 1px;
|
99 |
-
}
|
100 |
-
|
101 |
-
.aam-warning span{
|
102 |
-
display: table-cell;
|
103 |
-
vertical-align: middle;
|
104 |
-
padding-left: 30px;
|
105 |
-
font-size: 0.9em;
|
106 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
#major-publishing-actions{
|
2 |
margin-top: 5px;
|
3 |
border-top: 1px solid #D5D5D5;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
}
|
media/css/extension.css
CHANGED
@@ -1,8 +1,3 @@
|
|
1 |
-
.cpanel{
|
2 |
-
display: table;
|
3 |
-
width: 100%;
|
4 |
-
}
|
5 |
-
|
6 |
.extension-name{
|
7 |
font-weight: bold;
|
8 |
font-family: Tahoma, Geneva, sans-serif;
|
@@ -31,25 +26,6 @@
|
|
31 |
color: #212121;
|
32 |
}
|
33 |
|
34 |
-
.cpanel-item{
|
35 |
-
height: 64px;
|
36 |
-
min-width: 48px;
|
37 |
-
display: table-cell;
|
38 |
-
text-align: center;
|
39 |
-
vertical-align: bottom;
|
40 |
-
text-decoration: none;
|
41 |
-
text-transform: uppercase;
|
42 |
-
font-size: 10px;
|
43 |
-
font-weight: bold;
|
44 |
-
color: #333333;
|
45 |
-
background-repeat: no-repeat;
|
46 |
-
background-position: center top;
|
47 |
-
}
|
48 |
-
|
49 |
-
a.cpanel-item{
|
50 |
-
outline: 0;
|
51 |
-
}
|
52 |
-
|
53 |
.cpanel-item-twitter{
|
54 |
background-image: url('images/extension/twitter.png');
|
55 |
}
|
@@ -135,28 +111,6 @@ a.extension-action{
|
|
135 |
background-image: url('images/extension/download-active.png');
|
136 |
}
|
137 |
|
138 |
-
.aam-tooltip {
|
139 |
-
display:none;
|
140 |
-
position:absolute;
|
141 |
-
border:1px solid #CCCCCC;
|
142 |
-
background-color: #F5F5F5;
|
143 |
-
border-radius: 4px;
|
144 |
-
box-shadow: 0 0 5px #AAAAAA;
|
145 |
-
padding: 5px 10px;
|
146 |
-
z-index: 9999;
|
147 |
-
color: #333333;
|
148 |
-
font-size: 1em;
|
149 |
-
max-width: 300px;
|
150 |
-
left:0px;
|
151 |
-
top: 0px;
|
152 |
-
font-weight: bold;
|
153 |
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
154 |
-
}
|
155 |
-
|
156 |
-
.aam-dialog{
|
157 |
-
display: none;
|
158 |
-
}
|
159 |
-
|
160 |
.dialog-content{
|
161 |
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
162 |
}
|
@@ -192,24 +146,6 @@ input.license-input{
|
|
192 |
opacity: 0.8;
|
193 |
}
|
194 |
|
195 |
-
.aam-warning{
|
196 |
-
width: 100%;
|
197 |
-
height: 40px;
|
198 |
-
display: table-row;
|
199 |
-
background: transparent url('images/warning.png') no-repeat 2px center;
|
200 |
-
-moz-box-sizing: border-box;
|
201 |
-
-webkit-box-sizing: border-box;
|
202 |
-
box-sizing: border-box;
|
203 |
-
margin-top: 1px;
|
204 |
-
}
|
205 |
-
|
206 |
-
.aam-warning span{
|
207 |
-
display: table-cell;
|
208 |
-
vertical-align: middle;
|
209 |
-
padding-left: 30px;
|
210 |
-
font-size: 0.9em;
|
211 |
-
}
|
212 |
-
|
213 |
.extension-error-list{
|
214 |
margin-top: 5px;
|
215 |
display: none;
|
|
|
|
|
|
|
|
|
|
|
1 |
.extension-name{
|
2 |
font-weight: bold;
|
3 |
font-family: Tahoma, Geneva, sans-serif;
|
26 |
color: #212121;
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
.cpanel-item-twitter{
|
30 |
background-image: url('images/extension/twitter.png');
|
31 |
}
|
111 |
background-image: url('images/extension/download-active.png');
|
112 |
}
|
113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
.dialog-content{
|
115 |
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
116 |
}
|
146 |
opacity: 0.8;
|
147 |
}
|
148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
.extension-error-list{
|
150 |
margin-top: 5px;
|
151 |
display: none;
|
media/css/images/common/add.png
DELETED
Binary file
|
media/css/images/common/large-iconset.png
ADDED
Binary file
|
media/css/images/common/medium-iconset.png
CHANGED
Binary file
|
media/css/images/{warning.png → common/warning.png}
RENAMED
File without changes
|
media/css/images/cpanel/help-forum-active.png
DELETED
Binary file
|
media/css/images/cpanel/help-forum.png
DELETED
Binary file
|
media/css/images/cpanel/message-active.png
DELETED
Binary file
|
media/css/images/cpanel/message.png
DELETED
Binary file
|
media/css/images/cpanel/restore-active.png
DELETED
Binary file
|
media/css/images/cpanel/restore.png
DELETED
Binary file
|
media/css/images/cpanel/save-active.png
DELETED
Binary file
|
media/css/images/cpanel/save.png
DELETED
Binary file
|
media/css/images/cpanel/star-active.png
DELETED
Binary file
|
media/css/images/cpanel/star.png
DELETED
Binary file
|
media/css/images/cpanel/twitter-active.png
DELETED
Binary file
|
media/css/images/cpanel/twitter.png
DELETED
Binary file
|
media/css/images/extension/link-active.png
DELETED
Binary file
|
media/css/images/extension/link.png
DELETED
Binary file
|
media/css/images/extension/message-active.png
DELETED
Binary file
|
media/css/images/extension/message.png
DELETED
Binary file
|
media/css/images/extension/twitter-active.png
DELETED
Binary file
|
media/css/images/extension/twitter.png
DELETED
Binary file
|
media/js/aam.js
CHANGED
@@ -283,7 +283,7 @@ AAM.prototype.compileAjaxPackage = function(action, include_subject) {
|
|
283 |
* @access public
|
284 |
*/
|
285 |
AAM.prototype.disableRoleback = function(){
|
286 |
-
jQuery('#aam_roleback').addClass('
|
287 |
};
|
288 |
|
289 |
/**
|
@@ -294,7 +294,7 @@ AAM.prototype.disableRoleback = function(){
|
|
294 |
* @access public
|
295 |
*/
|
296 |
AAM.prototype.enableRoleback = function(){
|
297 |
-
jQuery('#aam_roleback').removeClass('
|
298 |
};
|
299 |
|
300 |
/**
|
@@ -307,7 +307,7 @@ AAM.prototype.enableRoleback = function(){
|
|
307 |
AAM.prototype.initControlPanel = function() {
|
308 |
var _this = this;
|
309 |
//Role Back feature
|
310 |
-
|
311 |
event.preventDefault();
|
312 |
if (!jQuery(this).hasClass('cpanel-item-disabled')){
|
313 |
var buttons = {};
|
@@ -345,9 +345,10 @@ AAM.prototype.initControlPanel = function() {
|
|
345 |
});
|
346 |
}
|
347 |
});
|
|
|
348 |
|
349 |
//Save the AAM settings
|
350 |
-
|
351 |
event.preventDefault();
|
352 |
_this.showMetaboxLoader('#control_panel');
|
353 |
|
@@ -406,22 +407,44 @@ AAM.prototype.initControlPanel = function() {
|
|
406 |
}
|
407 |
});
|
408 |
});
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
//Init Tooltip
|
426 |
this.initTooltip('#control_panel');
|
427 |
};
|
@@ -1515,7 +1538,7 @@ AAM.prototype.initCapabilityTab = function() {
|
|
1515 |
//add Restore Default Capability button
|
1516 |
var restore = _this.createIcon(
|
1517 |
'medium',
|
1518 |
-
'
|
1519 |
aamLocal.labels['Restore Default Capabilities']
|
1520 |
).bind('click', function(event) {
|
1521 |
event.preventDefault();
|
@@ -2478,7 +2501,7 @@ AAM.prototype.initPostTab = function() {
|
|
2478 |
if (parseInt(aData[6]) === 1) {
|
2479 |
jQuery('.aam-list-row-actions', nRow).append(_this.createIcon(
|
2480 |
'small',
|
2481 |
-
'
|
2482 |
aamLocal.labels['Restore Default Access']
|
2483 |
).bind('click', function(event) {
|
2484 |
event.preventDefault();
|
@@ -2905,7 +2928,7 @@ AAM.prototype.initPostTree = function() {
|
|
2905 |
*/
|
2906 |
AAM.prototype.createIcon = function(size, qualifier, tooltip){
|
2907 |
var icon = jQuery('<a/>', {
|
2908 |
-
class: 'aam-icon aam-icon-' + size + ' aam-icon-' + qualifier,
|
2909 |
href: '#'
|
2910 |
});
|
2911 |
//add tooltip if defined
|
@@ -2977,8 +3000,10 @@ AAM.prototype.activateIcon = function(element, size) {
|
|
2977 |
AAM.prototype.deactivateIcon = function(element) {
|
2978 |
if (jQuery(element).hasClass('aam-icon-small-active')){
|
2979 |
jQuery(element).removeClass('aam-icon-small-active');
|
2980 |
-
}else if (jQuery(element).hasClass('aam-icon-medium-active')){
|
2981 |
jQuery(element).removeClass('aam-icon-medium-active');
|
|
|
|
|
2982 |
}
|
2983 |
};
|
2984 |
|
283 |
* @access public
|
284 |
*/
|
285 |
AAM.prototype.disableRoleback = function(){
|
286 |
+
jQuery('#aam_roleback').addClass('disabled');
|
287 |
};
|
288 |
|
289 |
/**
|
294 |
* @access public
|
295 |
*/
|
296 |
AAM.prototype.enableRoleback = function(){
|
297 |
+
jQuery('#aam_roleback').removeClass('disabled');
|
298 |
};
|
299 |
|
300 |
/**
|
307 |
AAM.prototype.initControlPanel = function() {
|
308 |
var _this = this;
|
309 |
//Role Back feature
|
310 |
+
var roleback = this.createIcon('large', 'roleback').append('Roleback').bind('click', function(event) {
|
311 |
event.preventDefault();
|
312 |
if (!jQuery(this).hasClass('cpanel-item-disabled')){
|
313 |
var buttons = {};
|
345 |
});
|
346 |
}
|
347 |
});
|
348 |
+
jQuery('#cpanel_major').append(roleback);
|
349 |
|
350 |
//Save the AAM settings
|
351 |
+
var save = this.createIcon('large', 'save').append('Save').bind('click', function(event) {
|
352 |
event.preventDefault();
|
353 |
_this.showMetaboxLoader('#control_panel');
|
354 |
|
407 |
}
|
408 |
});
|
409 |
});
|
410 |
+
jQuery('#cpanel_major').append(save);
|
411 |
+
|
412 |
+
//create minor actions
|
413 |
+
jQuery('#cpanel_minor').append(
|
414 |
+
this.createIcon('medium', 'twitter', 'Follow Us').attr({
|
415 |
+
href: 'https://twitter.com/wpaam',
|
416 |
+
target: '_blank'
|
417 |
+
}).append('Twitter')
|
418 |
+
);
|
419 |
+
jQuery('#cpanel_minor').append(
|
420 |
+
this.createIcon('medium', 'help', 'Support').attr({
|
421 |
+
href: 'http://wpaam.com/support',
|
422 |
+
target: '_blank'
|
423 |
+
}).append('Support')
|
424 |
+
);
|
425 |
+
jQuery('#cpanel_minor').append(
|
426 |
+
this.createIcon('medium', 'message', 'Message').append('Support').bind('click', function(event) {
|
427 |
+
event.preventDefault();
|
428 |
+
var buttons = {};
|
429 |
+
buttons[aamLocal.labels['Send E-mail']] = function() {
|
430 |
+
location.href = 'mailto:support@wpaam.com';
|
431 |
+
jQuery("#message_dialog").dialog("close");
|
432 |
+
};
|
433 |
+
jQuery("#message_dialog").dialog({
|
434 |
+
resizable: false,
|
435 |
+
height: 'auto',
|
436 |
+
width: '20%',
|
437 |
+
modal: true,
|
438 |
+
buttons: buttons
|
439 |
+
});
|
440 |
+
}));
|
441 |
+
jQuery('#cpanel_minor').append(
|
442 |
+
this.createIcon('medium', 'star', 'Rate Us').attr({
|
443 |
+
href: 'http://wordpress.org/support/view/plugin-reviews/advanced-access-manager',
|
444 |
+
target: '_blank'
|
445 |
+
}).append('Rate')
|
446 |
+
);
|
447 |
+
|
448 |
//Init Tooltip
|
449 |
this.initTooltip('#control_panel');
|
450 |
};
|
1538 |
//add Restore Default Capability button
|
1539 |
var restore = _this.createIcon(
|
1540 |
'medium',
|
1541 |
+
'roleback',
|
1542 |
aamLocal.labels['Restore Default Capabilities']
|
1543 |
).bind('click', function(event) {
|
1544 |
event.preventDefault();
|
2501 |
if (parseInt(aData[6]) === 1) {
|
2502 |
jQuery('.aam-list-row-actions', nRow).append(_this.createIcon(
|
2503 |
'small',
|
2504 |
+
'roleback',
|
2505 |
aamLocal.labels['Restore Default Access']
|
2506 |
).bind('click', function(event) {
|
2507 |
event.preventDefault();
|
2928 |
*/
|
2929 |
AAM.prototype.createIcon = function(size, qualifier, tooltip){
|
2930 |
var icon = jQuery('<a/>', {
|
2931 |
+
class: 'aam-icon aam-icon-' + size + ' aam-icon-' + size + '-' + qualifier,
|
2932 |
href: '#'
|
2933 |
});
|
2934 |
//add tooltip if defined
|
3000 |
AAM.prototype.deactivateIcon = function(element) {
|
3001 |
if (jQuery(element).hasClass('aam-icon-small-active')){
|
3002 |
jQuery(element).removeClass('aam-icon-small-active');
|
3003 |
+
} else if (jQuery(element).hasClass('aam-icon-medium-active')){
|
3004 |
jQuery(element).removeClass('aam-icon-medium-active');
|
3005 |
+
} else if (jQuery(element).hasClass('aam-icon-minor-active')){
|
3006 |
+
jQuery(element).removeClass('aam-icon-minor-active');
|
3007 |
}
|
3008 |
};
|
3009 |
|
readme.txt
CHANGED
@@ -1,65 +1,67 @@
|
|
1 |
=== Advanced Access Manager ===
|
2 |
Contributors: vasyl_m
|
3 |
-
Tags: access manager, access, access control,
|
4 |
Requires at least: 3.4.2
|
5 |
-
Tested up to: 3.9
|
6 |
-
Stable tag: 2.
|
7 |
|
8 |
-
The
|
|
|
9 |
|
10 |
== Description ==
|
11 |
|
12 |
-
|
|
|
|
|
|
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
to different parts of your website for any Role or individual User.
|
18 |
|
19 |
-
|
20 |
-
|
21 |
-
free and fast support. You can either send us an email or leave a message on WordPress
|
22 |
-
Forum. We always ready to help you and to improve your experience with AAM.
|
23 |
|
24 |
-
|
|
|
|
|
|
|
25 |
|
26 |
-
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
|
|
29 |
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
|
|
33 |
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
page commenting for individual pages or exclude them from Frontend menu. We are
|
45 |
-
extending the list of possible restrictions with each new version.
|
46 |
|
47 |
-
|
48 |
-
|
49 |
-
modified content. You are also allowed to develop your own custom action for event.
|
50 |
|
51 |
-
|
52 |
-
With AAM you can track user activities within your website. So you can easily find out
|
53 |
-
when user was logged in or modified some Post/Page. There are many activities that can
|
54 |
-
be tracked. We constantly adding more and more.
|
55 |
|
56 |
-
|
57 |
-
AAM allows you to create new Roles or Delete existing.
|
58 |
-
|
59 |
-
There are a lot of small and hidden features included in AAM that we are not listing
|
60 |
-
here but you can find more about them on our [Forum](http://wpaam.com/forum).
|
61 |
-
|
62 |
-
The AAM support also these languages:
|
63 |
|
64 |
* English
|
65 |
* German (by Kolja www.Reggae-Party.de)
|
@@ -74,7 +76,6 @@ The AAM support also these languages:
|
|
74 |
|
75 |
1. Upload `advanced-access-manager` folder to the `/wp-content/plugins/` directory
|
76 |
2. Activate the plugin through the 'Plugins' menu in WordPress
|
77 |
-
3. Find Access Manager under AWM Group Menu
|
78 |
|
79 |
== Frequently Asked Questions ==
|
80 |
|
@@ -96,6 +97,13 @@ the list of additional metaboxes can be picked by AAM.
|
|
96 |
|
97 |
== Changelog ==
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
= 2.6 =
|
100 |
* Fixed bug with user inheritance
|
101 |
* Fixed bug with user restore default settings
|
1 |
=== Advanced Access Manager ===
|
2 |
Contributors: vasyl_m
|
3 |
+
Tags: security, login, access manager, access, access control, capability, role, user, post filter, category
|
4 |
Requires at least: 3.4.2
|
5 |
+
Tested up to: 3.9.1
|
6 |
+
Stable tag: 2.7
|
7 |
|
8 |
+
The powerful and easy-to-use tool to improve security and define access to your
|
9 |
+
posts, pages and backend areas for single blog or multisite network.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
+
''Advanced Access Manager'' (aka ''AAM'') is known nowadays as one of the best
|
14 |
+
access control and security enhancement tool. It is easy-to-use and at the same
|
15 |
+
time very powerful plugin that gives you the flexible control over your single
|
16 |
+
blog or ''multisite network''.
|
17 |
|
18 |
+
With ''AAM'' you can control access to different areas of your website like posts,
|
19 |
+
pages, categories, widgets or menus. The access can be defined for any user, role
|
20 |
+
or visitor.
|
|
|
21 |
|
22 |
+
Below is the list of highlighted features that has been implemented and proved in
|
23 |
+
current ''AAM'' version:
|
|
|
|
|
24 |
|
25 |
+
''Secure Admin Login''.
|
26 |
+
Control the login process to your website. Define the number or possible login
|
27 |
+
attempts, trace the failed login request's geographical location, lockout IP
|
28 |
+
addresses for potential hacker attacks.
|
29 |
|
30 |
+
''Control Access to Posts, Pages or Categories''.
|
31 |
+
Restrict access to your posts, pages, custom post types of categories for any
|
32 |
+
user, role or visitor. Define whether the viewer can ''see'', ''read'' or ''comment''
|
33 |
+
on any post or page. For more extended list of possible options consider to get
|
34 |
+
the [AAM Plus Package](http://wpaam.com/aam-extensions/aam-plus-package/). To
|
35 |
+
learn more about this feature check our
|
36 |
+
[Posts and Pages Tutorial](http://wpaam.com/tutorials/posts-pages-general-overview/).
|
37 |
|
38 |
+
''Control Access to Media Files''.
|
39 |
+
Define your custom access to media files for any user, role or visitor. The feature
|
40 |
+
works without any extra configurations to your server .htaccess file. Find more
|
41 |
+
information about this topic in our
|
42 |
+
[Tutorial](http://wpaam.com/tutorials/control-access-to-media-files/).
|
43 |
|
44 |
+
''Manage Roles and Capabilities''.
|
45 |
+
Manage the list of roles and capabilities. This feature has been designed and tested
|
46 |
+
by hundreds of experienced WordPress user and developers. It gives you possibility
|
47 |
+
to create, update or delete any role or capability. For security reasons, this
|
48 |
+
feature is limited by default but can be easily activated. Read more about it in
|
49 |
+
our [AAM Super Admin Tutorial](http://wpaam.com/tutorials/aam-super-admin/).
|
50 |
|
51 |
+
''Track User Activity''.
|
52 |
+
Track logged in user activities like when user was logged in or logged out. Explore
|
53 |
+
more tracking options with [AAM Activities](http://wpaam.com/aam-extensions/aam-activities/).
|
54 |
|
55 |
+
''Filter Backend Menu''.
|
56 |
+
Control access to backend menu (including submenus). For more information check
|
57 |
+
[How to Manage Admin Menu](http://wpaam.com/tutorials/how-to-manage-admin-menu/).
|
|
|
|
|
58 |
|
59 |
+
''Filter Metaboxes and Widgets''.
|
60 |
+
Filter available metaboxes or widgets for any user, role or visitor.
|
|
|
61 |
|
62 |
+
And many, many more...
|
|
|
|
|
|
|
63 |
|
64 |
+
The ''AAM'' has multi-language UI:
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
* English
|
67 |
* German (by Kolja www.Reggae-Party.de)
|
76 |
|
77 |
1. Upload `advanced-access-manager` folder to the `/wp-content/plugins/` directory
|
78 |
2. Activate the plugin through the 'Plugins' menu in WordPress
|
|
|
79 |
|
80 |
== Frequently Asked Questions ==
|
81 |
|
97 |
|
98 |
== Changelog ==
|
99 |
|
100 |
+
= 2.7 =
|
101 |
+
* Fixed bug with subject managing check
|
102 |
+
* Fixed bug with update hook
|
103 |
+
* Fixed issue with extension activation hook
|
104 |
+
* Added AAM Security Feature. First iteration
|
105 |
+
* Improved CSS
|
106 |
+
|
107 |
= 2.6 =
|
108 |
* Fixed bug with user inheritance
|
109 |
* Fixed bug with user restore default settings
|
screenshot-6.png
DELETED
Binary file
|