Version Description
Download this release
Release Info
| Developer | ultimatemember |
| Plugin | |
| Version | 1.0.47 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.46 to 1.0.47
- admin/assets/css/um-admin-dashboard.css +10 -119
- admin/assets/css/um-admin-misc.css +1 -1
- admin/core/um-admin-actions.php +15 -0
- admin/core/um-admin-dashboard.php +159 -0
- admin/core/um-admin-notices.php +4 -0
- admin/templates/dashboard.php +0 -36
- admin/templates/dashboard/overview.php +0 -158
- admin/templates/dashboard/purge.php +11 -0
- admin/templates/dashboard/users.php +162 -0
- admin/templates/directory/profile.php +2 -2
- admin/templates/directory/search.php +1 -1
- admin/templates/{about.php → welcome/about.php} +2 -2
- admin/templates/{about_footer.php → welcome/about_footer.php} +0 -0
- admin/templates/{about_header.php → welcome/about_header.php} +0 -0
- admin/templates/{start.php → welcome/start.php} +2 -2
- admin/um-admin-init.php +1 -65
- core/um-actions-profile.php +2 -0
- core/um-actions-user.php +4 -1
- core/um-builtin.php +2 -2
- core/um-files.php +1 -4
- core/um-filters-members.php +5 -0
- core/um-members.php +12 -2
- index.php +1 -1
- readme.txt +10 -1
admin/assets/css/um-admin-dashboard.css
CHANGED
|
@@ -1,110 +1,11 @@
|
|
| 1 |
-
|
| 2 |
-
-
|
| 3 |
-
*/
|
| 4 |
-
|
| 5 |
-
.um-admin.toplevel_page_ultimatemember div.error,
|
| 6 |
-
.um-admin.toplevel_page_ultimatemember div.updated
|
| 7 |
-
{
|
| 8 |
-
margin: 18px 20px 0 2px !important;
|
| 9 |
-
}
|
| 10 |
-
|
| 11 |
-
.um-admin-dash-container {
|
| 12 |
-
box-sizing: border-box;
|
| 13 |
-
margin: 18px 20px 20px 2px !important;
|
| 14 |
-
background: none !important;
|
| 15 |
-
overflow: hidden;
|
| 16 |
-
}
|
| 17 |
-
|
| 18 |
-
.um-admin-dash-container * {
|
| 19 |
-
-webkit-font-smoothing: antialiased !important;
|
| 20 |
-
-moz-osx-font-smoothing: grayscale !important;
|
| 21 |
-
}
|
| 22 |
-
|
| 23 |
-
.um-admin-dash-container a.ok {color: #7ACF58}
|
| 24 |
-
.um-admin-dash-container a.red {color: #C74A4A}
|
| 25 |
-
|
| 26 |
-
.um-admin-dash-count {
|
| 27 |
-
background: #7ACF58;
|
| 28 |
-
color: #fff;
|
| 29 |
-
padding: 2px 6px;
|
| 30 |
-
border-radius: 3px;
|
| 31 |
-
font-family: Open Sans;
|
| 32 |
-
font-weight: 700;
|
| 33 |
-
font-size: 12px;
|
| 34 |
-
margin-left: 10px;
|
| 35 |
-
display: none;
|
| 36 |
-
}
|
| 37 |
-
.um-admin-dash-count.count-0 {background: #ddd !important}
|
| 38 |
-
.um-admin-dash-count.red {background:#C74A4A}
|
| 39 |
-
|
| 40 |
-
.um-admin-dash-head {
|
| 41 |
-
background: #3ba1da;
|
| 42 |
-
padding: 0 0 0 20px;
|
| 43 |
-
}
|
| 44 |
-
|
| 45 |
-
.um-admin-dash-foot {
|
| 46 |
-
border-radius: 0;
|
| 47 |
-
background: none !important;
|
| 48 |
-
padding: 10px 0;
|
| 49 |
-
border-top: 1px solid #D8D8D8;
|
| 50 |
-
}
|
| 51 |
-
|
| 52 |
-
/*
|
| 53 |
-
- Header
|
| 54 |
-
*/
|
| 55 |
-
|
| 56 |
-
.um-admin-dash-head-logo {
|
| 57 |
-
float: left;
|
| 58 |
-
margin: 20px 10px;
|
| 59 |
-
}
|
| 60 |
-
|
| 61 |
-
.um-admin-dash-head h2 {
|
| 62 |
-
color: #fff;
|
| 63 |
-
font-size: 24px !important;
|
| 64 |
-
-webkit-font-smoothing: antialiased;
|
| 65 |
-
-moz-osx-font-smoothing: grayscale;
|
| 66 |
-
background: url(../img/logo-header.png) no-repeat left 8px;
|
| 67 |
-
padding: 10px 10px 10px 80px;
|
| 68 |
-
margin: 0 !important;
|
| 69 |
-
display: inline-block;
|
| 70 |
-
font-style: normal;
|
| 71 |
-
padding-right: 5px;
|
| 72 |
-
line-height: 29px;
|
| 73 |
-
}
|
| 74 |
-
|
| 75 |
-
.um-admin-dash-head span {
|
| 76 |
-
color: #fff !important;
|
| 77 |
-
font-size: 14px;
|
| 78 |
-
position: relative;
|
| 79 |
-
top: -10px;
|
| 80 |
-
font-weight: 600;
|
| 81 |
-
padding-left: 4px;
|
| 82 |
-
}
|
| 83 |
-
|
| 84 |
-
/*
|
| 85 |
-
- Main
|
| 86 |
-
*/
|
| 87 |
-
|
| 88 |
-
.um-admin-dash-main {
|
| 89 |
-
margin-left: 201px;
|
| 90 |
-
border-left: 1px solid #D8D8D8;
|
| 91 |
-
padding: 0 30px 30px 30px;
|
| 92 |
-
box-shadow: 0px 1px 0px #FFF inset;
|
| 93 |
-
border-left: none;
|
| 94 |
-
margin-left: 0;
|
| 95 |
}
|
| 96 |
|
| 97 |
-
.
|
| 98 |
-
|
| 99 |
-
padding: 30px 0 10px 0;
|
| 100 |
-
margin: 0 !important;
|
| 101 |
-
}
|
| 102 |
|
| 103 |
-
.
|
| 104 |
-
font-weight: 500;
|
| 105 |
-
padding: 30px 0 10px 0;
|
| 106 |
-
margin: 0 !important;
|
| 107 |
-
}
|
| 108 |
|
| 109 |
.um-admin-dash-review {
|
| 110 |
text-decoration: none !important;
|
|
@@ -114,9 +15,10 @@
|
|
| 114 |
right: 4px;
|
| 115 |
}
|
| 116 |
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
|
|
|
| 120 |
|
| 121 |
.um-admin-dash-share {
|
| 122 |
margin-top: 11px !important;
|
|
@@ -133,10 +35,6 @@
|
|
| 133 |
}
|
| 134 |
.um-admin-dash-share a:hover {color: #3ba1da !important}
|
| 135 |
|
| 136 |
-
/*
|
| 137 |
-
- Dashboard styles
|
| 138 |
-
*/
|
| 139 |
-
|
| 140 |
.um-admin-dash-four-col .um-admin-dash-col {
|
| 141 |
float: left;
|
| 142 |
width: 25%;
|
|
@@ -161,17 +59,10 @@
|
|
| 161 |
.um-admin-dash-col a:hover {text-decoration: underline}
|
| 162 |
.um-admin-dash-col a {text-decoration: none}
|
| 163 |
|
| 164 |
-
.um-admin-dash-num {
|
| 165 |
-
display: inline-block;
|
| 166 |
-
margin: 8px 0 0 0;
|
| 167 |
-
font-size: 28px;
|
| 168 |
-
font-weight: 300;
|
| 169 |
-
}
|
| 170 |
-
|
| 171 |
.um-admin-dash-item {
|
| 172 |
padding: 5px 0;
|
| 173 |
vertical-align: middle;
|
| 174 |
-
border-top: 1px solid #
|
| 175 |
display: inline-block;
|
| 176 |
width: 100%;
|
| 177 |
box-sizing: border-box;
|
| 1 |
+
.wrap h2 sup {
|
| 2 |
+
font-size: 15px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
}
|
| 4 |
|
| 5 |
+
.wrap a.red,
|
| 6 |
+
.wrap span.red {color:#A00}
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
+
.wrap span.ok {color:#7ACF58}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
|
| 10 |
.um-admin-dash-review {
|
| 11 |
text-decoration: none !important;
|
| 15 |
right: 4px;
|
| 16 |
}
|
| 17 |
|
| 18 |
+
.um-admin-dash-content h4 {
|
| 19 |
+
margin: 10px 0 3px 0;
|
| 20 |
+
padding: 0;
|
| 21 |
+
}
|
| 22 |
|
| 23 |
.um-admin-dash-share {
|
| 24 |
margin-top: 11px !important;
|
| 35 |
}
|
| 36 |
.um-admin-dash-share a:hover {color: #3ba1da !important}
|
| 37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
.um-admin-dash-four-col .um-admin-dash-col {
|
| 39 |
float: left;
|
| 40 |
width: 25%;
|
| 59 |
.um-admin-dash-col a:hover {text-decoration: underline}
|
| 60 |
.um-admin-dash-col a {text-decoration: none}
|
| 61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
.um-admin-dash-item {
|
| 63 |
padding: 5px 0;
|
| 64 |
vertical-align: middle;
|
| 65 |
+
border-top: 1px solid #eee;
|
| 66 |
display: inline-block;
|
| 67 |
width: 100%;
|
| 68 |
box-sizing: border-box;
|
admin/assets/css/um-admin-misc.css
CHANGED
|
@@ -183,7 +183,7 @@ body.um-admin-modal-open {
|
|
| 183 |
}
|
| 184 |
|
| 185 |
.um-admin-success-block {
|
| 186 |
-
background: #
|
| 187 |
}
|
| 188 |
|
| 189 |
/*
|
| 183 |
}
|
| 184 |
|
| 185 |
.um-admin-success-block {
|
| 186 |
+
background: #7ACF58;
|
| 187 |
}
|
| 188 |
|
| 189 |
/*
|
admin/core/um-admin-actions.php
CHANGED
|
@@ -1,5 +1,20 @@
|
|
| 1 |
<?php
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
/***
|
| 4 |
*** @duplicate form
|
| 5 |
***/
|
| 1 |
<?php
|
| 2 |
|
| 3 |
+
/***
|
| 4 |
+
*** @purge temp
|
| 5 |
+
***/
|
| 6 |
+
add_action('um_admin_do_action__purge_temp', 'um_admin_do_action__purge_temp');
|
| 7 |
+
function um_admin_do_action__purge_temp( $action ){
|
| 8 |
+
global $ultimatemember;
|
| 9 |
+
if ( !is_admin() || !current_user_can('manage_options') ) die();
|
| 10 |
+
|
| 11 |
+
$ultimatemember->files->remove_dir( $ultimatemember->files->upload_temp );
|
| 12 |
+
|
| 13 |
+
$url = remove_query_arg('um_adm_action', $ultimatemember->permalinks->get_current_url() );
|
| 14 |
+
$url = add_query_arg('update','purged_temp',$url);
|
| 15 |
+
exit( wp_redirect($url) );
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
/***
|
| 19 |
*** @duplicate form
|
| 20 |
***/
|
admin/core/um-admin-dashboard.php
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
class UM_Admin_Dashboard {
|
| 4 |
+
|
| 5 |
+
function __construct() {
|
| 6 |
+
|
| 7 |
+
$this->slug = 'ultimatemember';
|
| 8 |
+
|
| 9 |
+
$this->about_tabs['about'] = 'About';
|
| 10 |
+
$this->about_tabs['start'] = 'Getting Started';
|
| 11 |
+
|
| 12 |
+
add_action('admin_menu', array(&$this, 'primary_admin_menu'), 0);
|
| 13 |
+
add_action('admin_menu', array(&$this, 'secondary_menu_items'), 1000);
|
| 14 |
+
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
/***
|
| 18 |
+
*** @setup admin menu
|
| 19 |
+
***/
|
| 20 |
+
function primary_admin_menu() {
|
| 21 |
+
|
| 22 |
+
$this->pagehook = add_menu_page( __('Ultimate Member', $this->slug), __('Ultimate Member', $this->slug), 'manage_options', $this->slug, array(&$this, 'admin_page'), 'dashicons-admin-users', '66.78578');
|
| 23 |
+
add_action('load-'.$this->pagehook, array(&$this, 'on_load_page'));
|
| 24 |
+
|
| 25 |
+
add_submenu_page( $this->slug, __('Dashboard', $this->slug), __('Dashboard', $this->slug), 'manage_options', $this->slug, array(&$this, 'admin_page') );
|
| 26 |
+
|
| 27 |
+
foreach( $this->about_tabs as $k => $tab ) {
|
| 28 |
+
add_submenu_page( '_'. $k . '_um', sprintf(__('%s | Ultimate Member', $this->slug), $tab), sprintf(__('%s | Ultimate Member', $this->slug), $tab), 'manage_options', $this->slug . '-' . $k, array(&$this, 'admin_page') );
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
/***
|
| 34 |
+
*** @secondary admin menu (after settings)
|
| 35 |
+
***/
|
| 36 |
+
function secondary_menu_items() {
|
| 37 |
+
|
| 38 |
+
add_submenu_page( $this->slug, __('Forms', $this->slug), __('Forms', $this->slug), 'manage_options', 'edit.php?post_type=um_form', '', '' );
|
| 39 |
+
add_submenu_page( $this->slug, __('User Roles', $this->slug), __('User Roles', $this->slug), 'manage_options', 'edit.php?post_type=um_role', '', '' );
|
| 40 |
+
|
| 41 |
+
if ( um_get_option('members_page' ) || !get_option('um_options') ){
|
| 42 |
+
add_submenu_page( $this->slug, __('Member Directories', $this->slug), __('Member Directories', $this->slug), 'manage_options', 'edit.php?post_type=um_directory', '', '' );
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
+
do_action('um_extend_admin_menu');
|
| 46 |
+
|
| 47 |
+
}
|
| 48 |
+
|
| 49 |
+
/***
|
| 50 |
+
*** @load metabox stuff
|
| 51 |
+
***/
|
| 52 |
+
function on_load_page() {
|
| 53 |
+
|
| 54 |
+
wp_enqueue_script('common');
|
| 55 |
+
wp_enqueue_script('wp-lists');
|
| 56 |
+
wp_enqueue_script('postbox');
|
| 57 |
+
|
| 58 |
+
add_screen_option('layout_columns', array('max' => 2, 'default' => 2) );
|
| 59 |
+
|
| 60 |
+
/** custom metaboxes for dashboard defined here **/
|
| 61 |
+
|
| 62 |
+
add_meta_box('um-metaboxes-contentbox-1', __('Users Overview','ultimatemember'), array(&$this, 'users_overview'), $this->pagehook, 'normal', 'core');
|
| 63 |
+
|
| 64 |
+
add_meta_box('um-metaboxes-sidebox-1', __('Purge Temp Files','ultimatemember'), array(&$this, 'purge_temp'), $this->pagehook, 'side', 'core');
|
| 65 |
+
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
function users_overview() {
|
| 69 |
+
global $ultimatemember;
|
| 70 |
+
include_once um_path . 'admin/templates/dashboard/users.php';
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
function purge_temp() {
|
| 74 |
+
global $ultimatemember;
|
| 75 |
+
include_once um_path . 'admin/templates/dashboard/purge.php';
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
/***
|
| 79 |
+
*** @get a directory size
|
| 80 |
+
***/
|
| 81 |
+
function dir_size( $directory ) {
|
| 82 |
+
global $ultimatemember;
|
| 83 |
+
if ( $directory == 'temp' ) {
|
| 84 |
+
$directory = $ultimatemember->files->upload_temp;
|
| 85 |
+
$size = 0;
|
| 86 |
+
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){
|
| 87 |
+
$size+=$file->getSize();
|
| 88 |
+
}
|
| 89 |
+
return round ( $size / 1048576, 2);
|
| 90 |
+
}
|
| 91 |
+
return 0;
|
| 92 |
+
}
|
| 93 |
+
|
| 94 |
+
/***
|
| 95 |
+
*** @which admin page to show?
|
| 96 |
+
***/
|
| 97 |
+
function admin_page() {
|
| 98 |
+
|
| 99 |
+
$page = $_REQUEST['page'];
|
| 100 |
+
if ( $page == 'ultimatemember' ) {
|
| 101 |
+
|
| 102 |
+
?>
|
| 103 |
+
|
| 104 |
+
<div id="um-metaboxes-general" class="wrap">
|
| 105 |
+
|
| 106 |
+
<h2>Ultimate Member <sup><?php echo ultimatemember_version; ?></sup></h2>
|
| 107 |
+
|
| 108 |
+
<form action="admin-post.php" method="post">
|
| 109 |
+
|
| 110 |
+
<?php wp_nonce_field('um-metaboxes-general'); ?>
|
| 111 |
+
<?php wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false ); ?>
|
| 112 |
+
<?php wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false ); ?>
|
| 113 |
+
|
| 114 |
+
<input type="hidden" name="action" value="save_um_metaboxes_general" />
|
| 115 |
+
|
| 116 |
+
<div id="poststuff">
|
| 117 |
+
|
| 118 |
+
<div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
|
| 119 |
+
|
| 120 |
+
<div id="postbox-container-2" class="postbox-container"><?php do_meta_boxes($this->pagehook,'normal',null); ?></div>
|
| 121 |
+
<div id="postbox-container-1" class="postbox-container"><?php do_meta_boxes($this->pagehook,'side',null); ?></div>
|
| 122 |
+
|
| 123 |
+
</div>
|
| 124 |
+
|
| 125 |
+
</div>
|
| 126 |
+
|
| 127 |
+
</form>
|
| 128 |
+
</div><div class="um-admin-clear"></div>
|
| 129 |
+
|
| 130 |
+
<div class="um-admin-dash-share"><?php global $reduxConfig; foreach ( $reduxConfig->args['share_icons'] as $k => $arr ) { ?><a href="<?php echo $arr['url']; ?>" class="um-about-icon um-admin-tipsy-n" title="<?php echo $arr['title']; ?>" target="_blank"><i class="<?php echo $arr['icon']; ?>"></i></a><?php } ?>
|
| 131 |
+
</div><div class="um-admin-clear"></div>
|
| 132 |
+
|
| 133 |
+
<script type="text/javascript">
|
| 134 |
+
//<![CDATA[
|
| 135 |
+
jQuery(document).ready( function($) {
|
| 136 |
+
// postboxes setup
|
| 137 |
+
postboxes.add_postbox_toggles('<?php echo $this->pagehook; ?>');
|
| 138 |
+
});
|
| 139 |
+
//]]>
|
| 140 |
+
</script>
|
| 141 |
+
|
| 142 |
+
<?php
|
| 143 |
+
|
| 144 |
+
} else if ( strstr( $page, 'ultimatemember-' ) ) {
|
| 145 |
+
|
| 146 |
+
$template = str_replace('ultimatemember-','',$page);
|
| 147 |
+
$file = um_path . 'admin/templates/welcome/'. $template . '.php';
|
| 148 |
+
|
| 149 |
+
if ( file_exists( $file ) ){
|
| 150 |
+
include_once um_path . 'admin/templates/welcome/'. $template . '.php';
|
| 151 |
+
}
|
| 152 |
+
|
| 153 |
+
}
|
| 154 |
+
|
| 155 |
+
}
|
| 156 |
+
|
| 157 |
+
}
|
| 158 |
+
|
| 159 |
+
$um_dashboard = new UM_Admin_Dashboard();
|
admin/core/um-admin-notices.php
CHANGED
|
@@ -111,6 +111,10 @@ class UM_Admin_Notices {
|
|
| 111 |
$update = $_REQUEST['update'];
|
| 112 |
switch($update) {
|
| 113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 114 |
case 'form_duplicated':
|
| 115 |
$messages[0]['content'] = __('The form has been duplicated successfully.','ultimatemember');
|
| 116 |
break;
|
| 111 |
$update = $_REQUEST['update'];
|
| 112 |
switch($update) {
|
| 113 |
|
| 114 |
+
case 'purged_temp':
|
| 115 |
+
$messages[0]['content'] = __('Your temp uploads directory is now clean.','ultimatemember');
|
| 116 |
+
break;
|
| 117 |
+
|
| 118 |
case 'form_duplicated':
|
| 119 |
$messages[0]['content'] = __('The form has been duplicated successfully.','ultimatemember');
|
| 120 |
break;
|
admin/templates/dashboard.php
DELETED
|
@@ -1,36 +0,0 @@
|
|
| 1 |
-
<?php global $ultimatemember; ?>
|
| 2 |
-
|
| 3 |
-
<div class="um-admin-dash-container">
|
| 4 |
-
|
| 5 |
-
<div class="um-admin-dash-head">
|
| 6 |
-
|
| 7 |
-
<div class="um-admin-dash-head-logo">
|
| 8 |
-
<h2>Dashboard</h2>
|
| 9 |
-
<span><?php echo ultimatemember_version; ?></span>
|
| 10 |
-
</div><div class="um-admin-clear"></div>
|
| 11 |
-
|
| 12 |
-
</div>
|
| 13 |
-
|
| 14 |
-
<div class="um-admin-dash-body">
|
| 15 |
-
|
| 16 |
-
<div class="um-admin-dash-main">
|
| 17 |
-
|
| 18 |
-
<div class="um-admin-dash-content">
|
| 19 |
-
|
| 20 |
-
<?php include_once um_path . 'admin/templates/dashboard/overview.php'; ?>
|
| 21 |
-
|
| 22 |
-
</div>
|
| 23 |
-
|
| 24 |
-
</div><div class="um-admin-clear"></div>
|
| 25 |
-
|
| 26 |
-
</div>
|
| 27 |
-
|
| 28 |
-
<div class="um-admin-dash-foot">
|
| 29 |
-
<div class="um-admin-dash-share">
|
| 30 |
-
|
| 31 |
-
<?php global $reduxConfig; foreach ( $reduxConfig->args['share_icons'] as $k => $arr ) { ?><a href="<?php echo $arr['url']; ?>" class="um-about-icon um-admin-tipsy-n" title="<?php echo $arr['title']; ?>" target="_blank"><i class="<?php echo $arr['icon']; ?>"></i></a><?php } ?>
|
| 32 |
-
|
| 33 |
-
</div><div class="clear"></div>
|
| 34 |
-
</div>
|
| 35 |
-
|
| 36 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/templates/dashboard/overview.php
DELETED
|
@@ -1,158 +0,0 @@
|
|
| 1 |
-
<div class="um-admin-dash-two-col">
|
| 2 |
-
|
| 3 |
-
<div class="um-admin-dash-col">
|
| 4 |
-
|
| 5 |
-
<h3><?php _e('Recent Members','ultimatemember'); ?></h3>
|
| 6 |
-
|
| 7 |
-
<?php foreach( $ultimatemember->query->get_users_by_status('approved') as $user_id ) { um_fetch_user( $user_id ); ?>
|
| 8 |
-
|
| 9 |
-
<div class="um-admin-dash-item">
|
| 10 |
-
|
| 11 |
-
<div class="um-admin-dash-thumb">
|
| 12 |
-
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('profile_photo', 30 ); ?></a>
|
| 13 |
-
</div>
|
| 14 |
-
|
| 15 |
-
<div class="um-admin-dash-info">
|
| 16 |
-
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('display_name'); ?></a>
|
| 17 |
-
</div>
|
| 18 |
-
|
| 19 |
-
<div class="um-admin-dash-meta"><?php echo date( "j M H:i", strtotime( um_user('user_registered') ) ); ?>
|
| 20 |
-
|
| 21 |
-
<?php
|
| 22 |
-
|
| 23 |
-
if ( um_user('submitted') ) {
|
| 24 |
-
|
| 25 |
-
echo '<a href="#" class="um-admin-dash-review um-admin-tipsy-n" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="'.$user_id.'" data-arg2="edit_registration" title="Review registration info"><i class="um-icon-information-circled"></i></a>';
|
| 26 |
-
|
| 27 |
-
}
|
| 28 |
-
|
| 29 |
-
?>
|
| 30 |
-
|
| 31 |
-
</div>
|
| 32 |
-
|
| 33 |
-
<div class="um-admin-dash-more">
|
| 34 |
-
|
| 35 |
-
</div>
|
| 36 |
-
|
| 37 |
-
</div>
|
| 38 |
-
|
| 39 |
-
<?php um_reset_user(); } ?>
|
| 40 |
-
|
| 41 |
-
</div>
|
| 42 |
-
|
| 43 |
-
<div class="um-admin-dash-col">
|
| 44 |
-
|
| 45 |
-
<?php $users = $ultimatemember->query->get_users_by_status('awaiting_admin_review'); ?>
|
| 46 |
-
<h3><?php _e('Users Awaiting Review','ultimatemember'); ?><span class="um-admin-dash-count red count-0">0</span></h3>
|
| 47 |
-
|
| 48 |
-
<?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
|
| 49 |
-
|
| 50 |
-
<div class="um-admin-dash-item">
|
| 51 |
-
|
| 52 |
-
<div class="um-admin-dash-thumb">
|
| 53 |
-
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('profile_photo', 30 ); ?></a>
|
| 54 |
-
</div>
|
| 55 |
-
|
| 56 |
-
<div class="um-admin-dash-info">
|
| 57 |
-
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('display_name'); ?></a>
|
| 58 |
-
</div>
|
| 59 |
-
|
| 60 |
-
<div class="um-admin-dash-meta"><?php echo date( "j M H:i", strtotime( um_user('user_registered') ) ); ?>
|
| 61 |
-
|
| 62 |
-
<?php
|
| 63 |
-
|
| 64 |
-
if ( um_user('submitted') ) {
|
| 65 |
-
|
| 66 |
-
echo '<a href="#" class="um-admin-dash-review um-admin-tipsy-n" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="'.$user_id.'" data-arg2="edit_registration" title="Review registration info"><i class="um-icon-information-circled"></i></a>';
|
| 67 |
-
|
| 68 |
-
}
|
| 69 |
-
|
| 70 |
-
?>
|
| 71 |
-
|
| 72 |
-
</div>
|
| 73 |
-
|
| 74 |
-
<div class="um-admin-dash-more">
|
| 75 |
-
<a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_approve_membership'); ?>" class="ok">Approve</a> | <a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_reject_membership'); ?>" class="red">Reject</a>
|
| 76 |
-
</div>
|
| 77 |
-
|
| 78 |
-
</div>
|
| 79 |
-
|
| 80 |
-
<?php um_reset_user(); } ?>
|
| 81 |
-
|
| 82 |
-
<?php if ( !$users ) { ?>
|
| 83 |
-
<div class="um-admin-dash-item"><?php _e('No users are awaiting manual verification so far.','ultimatemember'); ?></div>
|
| 84 |
-
<?php } ?>
|
| 85 |
-
|
| 86 |
-
</div>
|
| 87 |
-
|
| 88 |
-
</div>
|
| 89 |
-
|
| 90 |
-
<div class="um-admin-dash-two-col">
|
| 91 |
-
|
| 92 |
-
<div class="um-admin-dash-col">
|
| 93 |
-
|
| 94 |
-
<?php $users = $ultimatemember->query->get_users_by_status('awaiting_email_confirmation'); ?>
|
| 95 |
-
<h3><?php _e('Pending e-mail confirmation','ultimatemember'); ?><span class="um-admin-dash-count red count-0">0</span></h3>
|
| 96 |
-
|
| 97 |
-
<?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
|
| 98 |
-
|
| 99 |
-
<div class="um-admin-dash-item">
|
| 100 |
-
|
| 101 |
-
<div class="um-admin-dash-thumb">
|
| 102 |
-
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('profile_photo', 30 ); ?></a>
|
| 103 |
-
</div>
|
| 104 |
-
|
| 105 |
-
<div class="um-admin-dash-info">
|
| 106 |
-
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('display_name'); ?></a>
|
| 107 |
-
</div>
|
| 108 |
-
|
| 109 |
-
<div class="um-admin-dash-meta"><?php echo date( "j M H:i", strtotime( um_user('user_registered') ) ); ?></div>
|
| 110 |
-
|
| 111 |
-
<div class="um-admin-dash-more">
|
| 112 |
-
<a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_resend_activation'); ?>" class="ok">Resend Email</a>
|
| 113 |
-
</div>
|
| 114 |
-
|
| 115 |
-
</div>
|
| 116 |
-
|
| 117 |
-
<?php um_reset_user(); } ?>
|
| 118 |
-
|
| 119 |
-
<?php if ( !$users ) { ?>
|
| 120 |
-
<div class="um-admin-dash-item"><?php _e('No users are awaiting e-mail validation yet.','ultimatemember'); ?></div>
|
| 121 |
-
<?php } ?>
|
| 122 |
-
|
| 123 |
-
</div>
|
| 124 |
-
|
| 125 |
-
<div class="um-admin-dash-col">
|
| 126 |
-
|
| 127 |
-
<?php $users = $ultimatemember->query->get_users_by_status('inactive'); ?>
|
| 128 |
-
<h3><?php _e('Recently Deactivated','ultimatemember'); ?><span class="um-admin-dash-count red count-0">0</span></h3>
|
| 129 |
-
|
| 130 |
-
<?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
|
| 131 |
-
|
| 132 |
-
<div class="um-admin-dash-item">
|
| 133 |
-
|
| 134 |
-
<div class="um-admin-dash-thumb">
|
| 135 |
-
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('profile_photo', 30 ); ?></a>
|
| 136 |
-
</div>
|
| 137 |
-
|
| 138 |
-
<div class="um-admin-dash-info">
|
| 139 |
-
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('display_name'); ?></a>
|
| 140 |
-
</div>
|
| 141 |
-
|
| 142 |
-
<div class="um-admin-dash-meta"><?php echo date( "j M H:i", strtotime( um_user('user_registered') ) ); ?></div>
|
| 143 |
-
|
| 144 |
-
<div class="um-admin-dash-more">
|
| 145 |
-
<a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_reenable'); ?>" class="ok">Re-activate</a> | <a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_delete'); ?>" class="red">Delete</a>
|
| 146 |
-
</div>
|
| 147 |
-
|
| 148 |
-
</div>
|
| 149 |
-
|
| 150 |
-
<?php um_reset_user(); } ?>
|
| 151 |
-
|
| 152 |
-
<?php if ( !$users ) { ?>
|
| 153 |
-
<div class="um-admin-dash-item"><?php _e('No users have been deactivated recently.','ultimatemember'); ?></div>
|
| 154 |
-
<?php } ?>
|
| 155 |
-
|
| 156 |
-
</div>
|
| 157 |
-
|
| 158 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/templates/dashboard/purge.php
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php if ( $this->dir_size('temp') > 0.1 ) { ?>
|
| 2 |
+
|
| 3 |
+
<p>You can free up <span class="red"><?php echo $this->dir_size('temp'); ?>MB</span> by purging your temp upload directory.</p>
|
| 4 |
+
|
| 5 |
+
<p><a href="<?php echo add_query_arg( 'um_adm_action', 'purge_temp' ); ?>" class="button">Purge Temp</a></p>
|
| 6 |
+
|
| 7 |
+
<?php } else { ?>
|
| 8 |
+
|
| 9 |
+
<p>Your temp uploads directory is <span class="ok">clean</span>. There is nothing to purge.</p>
|
| 10 |
+
|
| 11 |
+
<?php } ?>
|
admin/templates/dashboard/users.php
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<div class="um-admin-dash-content">
|
| 2 |
+
|
| 3 |
+
<div class="um-admin-dash-two-col">
|
| 4 |
+
|
| 5 |
+
<div class="um-admin-dash-col">
|
| 6 |
+
|
| 7 |
+
<h4><?php _e('Recent Members','ultimatemember'); ?></h4>
|
| 8 |
+
|
| 9 |
+
<?php foreach( $ultimatemember->query->get_users_by_status('approved') as $user_id ) { um_fetch_user( $user_id ); ?>
|
| 10 |
+
|
| 11 |
+
<div class="um-admin-dash-item">
|
| 12 |
+
|
| 13 |
+
<div class="um-admin-dash-thumb">
|
| 14 |
+
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('profile_photo', 30 ); ?></a>
|
| 15 |
+
</div>
|
| 16 |
+
|
| 17 |
+
<div class="um-admin-dash-info">
|
| 18 |
+
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('display_name'); ?></a>
|
| 19 |
+
</div>
|
| 20 |
+
|
| 21 |
+
<div class="um-admin-dash-meta"><?php echo date( "j M H:i", strtotime( um_user('user_registered') ) ); ?>
|
| 22 |
+
|
| 23 |
+
<?php
|
| 24 |
+
|
| 25 |
+
if ( um_user('submitted') ) {
|
| 26 |
+
|
| 27 |
+
echo '<a href="#" class="um-admin-dash-review um-admin-tipsy-n" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="'.$user_id.'" data-arg2="edit_registration" title="Review registration info"><i class="um-icon-information-circled"></i></a>';
|
| 28 |
+
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
?>
|
| 32 |
+
|
| 33 |
+
</div>
|
| 34 |
+
|
| 35 |
+
<div class="um-admin-dash-more">
|
| 36 |
+
|
| 37 |
+
</div>
|
| 38 |
+
|
| 39 |
+
</div>
|
| 40 |
+
|
| 41 |
+
<?php um_reset_user(); } ?>
|
| 42 |
+
|
| 43 |
+
</div>
|
| 44 |
+
|
| 45 |
+
<div class="um-admin-dash-col">
|
| 46 |
+
|
| 47 |
+
<?php $users = $ultimatemember->query->get_users_by_status('awaiting_admin_review'); ?>
|
| 48 |
+
<h4><?php _e('Users Awaiting Review','ultimatemember'); ?></h4>
|
| 49 |
+
|
| 50 |
+
<?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
|
| 51 |
+
|
| 52 |
+
<div class="um-admin-dash-item">
|
| 53 |
+
|
| 54 |
+
<div class="um-admin-dash-thumb">
|
| 55 |
+
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('profile_photo', 30 ); ?></a>
|
| 56 |
+
</div>
|
| 57 |
+
|
| 58 |
+
<div class="um-admin-dash-info">
|
| 59 |
+
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('display_name'); ?></a>
|
| 60 |
+
</div>
|
| 61 |
+
|
| 62 |
+
<div class="um-admin-dash-meta"><?php echo date( "j M H:i", strtotime( um_user('user_registered') ) ); ?>
|
| 63 |
+
|
| 64 |
+
<?php
|
| 65 |
+
|
| 66 |
+
if ( um_user('submitted') ) {
|
| 67 |
+
|
| 68 |
+
echo '<a href="#" class="um-admin-dash-review um-admin-tipsy-n" data-modal="UM_preview_registration" data-modal-size="smaller" data-dynamic-content="um_admin_review_registration" data-arg1="'.$user_id.'" data-arg2="edit_registration" title="Review registration info"><i class="um-icon-information-circled"></i></a>';
|
| 69 |
+
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
?>
|
| 73 |
+
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<div class="um-admin-dash-more">
|
| 77 |
+
<a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_approve_membership'); ?>" class="ok">Approve</a> | <a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_reject_membership'); ?>" class="red">Reject</a>
|
| 78 |
+
</div>
|
| 79 |
+
|
| 80 |
+
</div>
|
| 81 |
+
|
| 82 |
+
<?php um_reset_user(); } ?>
|
| 83 |
+
|
| 84 |
+
<?php if ( !$users ) { ?>
|
| 85 |
+
<div class="um-admin-dash-item"><?php _e('No users are awaiting manual verification so far.','ultimatemember'); ?></div>
|
| 86 |
+
<?php } ?>
|
| 87 |
+
|
| 88 |
+
</div>
|
| 89 |
+
|
| 90 |
+
</div>
|
| 91 |
+
|
| 92 |
+
<div class="um-admin-dash-two-col">
|
| 93 |
+
|
| 94 |
+
<div class="um-admin-dash-col">
|
| 95 |
+
|
| 96 |
+
<?php $users = $ultimatemember->query->get_users_by_status('awaiting_email_confirmation'); ?>
|
| 97 |
+
<h4><?php _e('Pending e-mail confirmation','ultimatemember'); ?></h4>
|
| 98 |
+
|
| 99 |
+
<?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
|
| 100 |
+
|
| 101 |
+
<div class="um-admin-dash-item">
|
| 102 |
+
|
| 103 |
+
<div class="um-admin-dash-thumb">
|
| 104 |
+
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('profile_photo', 30 ); ?></a>
|
| 105 |
+
</div>
|
| 106 |
+
|
| 107 |
+
<div class="um-admin-dash-info">
|
| 108 |
+
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('display_name'); ?></a>
|
| 109 |
+
</div>
|
| 110 |
+
|
| 111 |
+
<div class="um-admin-dash-meta"><?php echo date( "j M H:i", strtotime( um_user('user_registered') ) ); ?></div>
|
| 112 |
+
|
| 113 |
+
<div class="um-admin-dash-more">
|
| 114 |
+
<a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_resend_activation'); ?>" class="ok">Resend Email</a>
|
| 115 |
+
</div>
|
| 116 |
+
|
| 117 |
+
</div>
|
| 118 |
+
|
| 119 |
+
<?php um_reset_user(); } ?>
|
| 120 |
+
|
| 121 |
+
<?php if ( !$users ) { ?>
|
| 122 |
+
<div class="um-admin-dash-item"><?php _e('No users are awaiting e-mail validation yet.','ultimatemember'); ?></div>
|
| 123 |
+
<?php } ?>
|
| 124 |
+
|
| 125 |
+
</div>
|
| 126 |
+
|
| 127 |
+
<div class="um-admin-dash-col">
|
| 128 |
+
|
| 129 |
+
<?php $users = $ultimatemember->query->get_users_by_status('inactive'); ?>
|
| 130 |
+
<h4><?php _e('Recently Deactivated','ultimatemember'); ?></h4>
|
| 131 |
+
|
| 132 |
+
<?php foreach( $users as $user_id ) { um_fetch_user( $user_id ); ?>
|
| 133 |
+
|
| 134 |
+
<div class="um-admin-dash-item">
|
| 135 |
+
|
| 136 |
+
<div class="um-admin-dash-thumb">
|
| 137 |
+
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('profile_photo', 30 ); ?></a>
|
| 138 |
+
</div>
|
| 139 |
+
|
| 140 |
+
<div class="um-admin-dash-info">
|
| 141 |
+
<a href="<?php echo um_user_profile_url(); ?>" target="_blank"><?php echo um_user('display_name'); ?></a>
|
| 142 |
+
</div>
|
| 143 |
+
|
| 144 |
+
<div class="um-admin-dash-meta"><?php echo date( "j M H:i", strtotime( um_user('user_registered') ) ); ?></div>
|
| 145 |
+
|
| 146 |
+
<div class="um-admin-dash-more">
|
| 147 |
+
<a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_reenable'); ?>" class="ok">Re-activate</a> | <a href="<?php echo $ultimatemember->permalinks->admin_act_url('user_action','um_delete'); ?>" class="red">Delete</a>
|
| 148 |
+
</div>
|
| 149 |
+
|
| 150 |
+
</div>
|
| 151 |
+
|
| 152 |
+
<?php um_reset_user(); } ?>
|
| 153 |
+
|
| 154 |
+
<?php if ( !$users ) { ?>
|
| 155 |
+
<div class="um-admin-dash-item"><?php _e('No users have been deactivated recently.','ultimatemember'); ?></div>
|
| 156 |
+
<?php } ?>
|
| 157 |
+
|
| 158 |
+
</div>
|
| 159 |
+
|
| 160 |
+
</div>
|
| 161 |
+
|
| 162 |
+
</div><div class="um-admin-clear"></div>
|
admin/templates/directory/profile.php
CHANGED
|
@@ -60,7 +60,7 @@
|
|
| 60 |
<?php if ( $i == 1 ) { ?>
|
| 61 |
<a href="#" class="um-admin-clone button um-admin-tipsy-n" title="New Field"><i class="um-icon-plus" style="margin-right:0!important"></i></a>
|
| 62 |
<?php } else { ?>
|
| 63 |
-
<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-
|
| 64 |
<?php } ?>
|
| 65 |
|
| 66 |
</span>
|
|
@@ -126,7 +126,7 @@
|
|
| 126 |
<?php if ( $i == 1 ) { ?>
|
| 127 |
<a href="#" class="um-admin-clone button um-admin-tipsy-n" title="New Field"><i class="um-icon-plus" style="margin-right:0!important"></i></a>
|
| 128 |
<?php } else { ?>
|
| 129 |
-
<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-
|
| 130 |
<?php } ?>
|
| 131 |
|
| 132 |
</span>
|
| 60 |
<?php if ( $i == 1 ) { ?>
|
| 61 |
<a href="#" class="um-admin-clone button um-admin-tipsy-n" title="New Field"><i class="um-icon-plus" style="margin-right:0!important"></i></a>
|
| 62 |
<?php } else { ?>
|
| 63 |
+
<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-close" style="margin-right:0!important"></i></a>
|
| 64 |
<?php } ?>
|
| 65 |
|
| 66 |
</span>
|
| 126 |
<?php if ( $i == 1 ) { ?>
|
| 127 |
<a href="#" class="um-admin-clone button um-admin-tipsy-n" title="New Field"><i class="um-icon-plus" style="margin-right:0!important"></i></a>
|
| 128 |
<?php } else { ?>
|
| 129 |
+
<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-close" style="margin-right:0!important"></i></a>
|
| 130 |
<?php } ?>
|
| 131 |
|
| 132 |
</span>
|
admin/templates/directory/search.php
CHANGED
|
@@ -46,7 +46,7 @@
|
|
| 46 |
<?php if ( $i == 1 ) { ?>
|
| 47 |
<a href="#" class="um-admin-clone button um-admin-tipsy-n" title="New Field"><i class="um-icon-plus" style="margin-right:0!important"></i></a>
|
| 48 |
<?php } else { ?>
|
| 49 |
-
<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-
|
| 50 |
<?php } ?>
|
| 51 |
|
| 52 |
</span>
|
| 46 |
<?php if ( $i == 1 ) { ?>
|
| 47 |
<a href="#" class="um-admin-clone button um-admin-tipsy-n" title="New Field"><i class="um-icon-plus" style="margin-right:0!important"></i></a>
|
| 48 |
<?php } else { ?>
|
| 49 |
+
<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-close" style="margin-right:0!important"></i></a>
|
| 50 |
<?php } ?>
|
| 51 |
|
| 52 |
</span>
|
admin/templates/{about.php → welcome/about.php}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
|
| 2 |
-
<?php global $ultimatemember; include_once um_path . 'admin/templates/about_header.php'; ?>
|
| 3 |
|
| 4 |
<div class="changelog headline-feature dfw">
|
| 5 |
<h2>Introducing Ultimate Member</h2>
|
|
@@ -71,4 +71,4 @@
|
|
| 71 |
|
| 72 |
</div>
|
| 73 |
|
| 74 |
-
<?php include_once um_path . 'admin/templates/about_footer.php'; ?>
|
| 1 |
|
| 2 |
+
<?php global $ultimatemember; include_once um_path . 'admin/templates/welcome/about_header.php'; ?>
|
| 3 |
|
| 4 |
<div class="changelog headline-feature dfw">
|
| 5 |
<h2>Introducing Ultimate Member</h2>
|
| 71 |
|
| 72 |
</div>
|
| 73 |
|
| 74 |
+
<?php include_once um_path . 'admin/templates/welcome/about_footer.php'; ?>
|
admin/templates/{about_footer.php → welcome/about_footer.php}
RENAMED
|
File without changes
|
admin/templates/{about_header.php → welcome/about_header.php}
RENAMED
|
File without changes
|
admin/templates/{start.php → welcome/start.php}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
|
| 2 |
-
<?php global $ultimatemember; include_once um_path . 'admin/templates/about_header.php'; ?>
|
| 3 |
|
| 4 |
<div class="changelog headline-feature dfw">
|
| 5 |
<h2>Getting Started</h2>
|
|
@@ -63,4 +63,4 @@
|
|
| 63 |
</div>
|
| 64 |
</div>
|
| 65 |
|
| 66 |
-
<?php include_once um_path . 'admin/templates/about_footer.php'; ?>
|
| 1 |
|
| 2 |
+
<?php global $ultimatemember; include_once um_path . 'admin/templates/welcome/about_header.php'; ?>
|
| 3 |
|
| 4 |
<div class="changelog headline-feature dfw">
|
| 5 |
<h2>Getting Started</h2>
|
| 63 |
</div>
|
| 64 |
</div>
|
| 65 |
|
| 66 |
+
<?php include_once um_path . 'admin/templates/welcome/about_footer.php'; ?>
|
admin/um-admin-init.php
CHANGED
|
@@ -4,15 +4,7 @@ class UM_Admin_API {
|
|
| 4 |
|
| 5 |
function __construct() {
|
| 6 |
|
| 7 |
-
$this->slug = 'ultimatemember';
|
| 8 |
-
|
| 9 |
-
$this->about_tabs['about'] = 'About';
|
| 10 |
-
$this->about_tabs['start'] = 'Getting Started';
|
| 11 |
-
|
| 12 |
add_action('admin_init', array(&$this, 'admin_init'), 0);
|
| 13 |
-
|
| 14 |
-
add_action('admin_menu', array(&$this, 'admin_menu'), 0 );
|
| 15 |
-
add_action('admin_menu', array(&$this, 'secondary_menu_items'), 1000 );
|
| 16 |
|
| 17 |
$_redux_tracker['dev_mode'] = false;
|
| 18 |
$_redux_tracker['hash'] = md5( network_site_url() . '-' . $_SERVER['REMOTE_ADDR'] );
|
|
@@ -26,64 +18,8 @@ class UM_Admin_API {
|
|
| 26 |
require_once( um_path . 'admin/core/um-admin-redux.php' );
|
| 27 |
}
|
| 28 |
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
/***
|
| 32 |
-
*** @Creates menu
|
| 33 |
-
***/
|
| 34 |
-
function admin_menu() {
|
| 35 |
-
|
| 36 |
-
add_menu_page( __('Ultimate Member', $this->slug), __('Ultimate Member', $this->slug), 'manage_options', $this->slug, array(&$this, 'admin_page'), 'dashicons-admin-users', '66.78578');
|
| 37 |
-
|
| 38 |
-
add_submenu_page( $this->slug, __('Dashboard', $this->slug), __('Dashboard', $this->slug), 'manage_options', $this->slug, array(&$this, 'admin_page') );
|
| 39 |
-
|
| 40 |
-
foreach( $this->about_tabs as $k => $tab ) {
|
| 41 |
-
add_submenu_page( '_'. $k . '_um', sprintf(__('%s | Ultimate Member', $this->slug), $tab), sprintf(__('%s | Ultimate Member', $this->slug), $tab), 'manage_options', $this->slug . '-' . $k, array(&$this, 'admin_page') );
|
| 42 |
-
}
|
| 43 |
-
|
| 44 |
-
}
|
| 45 |
-
|
| 46 |
-
/***
|
| 47 |
-
*** @After "settings" menu
|
| 48 |
-
***/
|
| 49 |
-
function secondary_menu_items() {
|
| 50 |
-
|
| 51 |
-
add_submenu_page( $this->slug, __('Forms', $this->slug), __('Forms', $this->slug), 'manage_options', 'edit.php?post_type=um_form', '', '' );
|
| 52 |
-
|
| 53 |
-
add_submenu_page( $this->slug, __('User Roles', $this->slug), __('User Roles', $this->slug), 'manage_options', 'edit.php?post_type=um_role', '', '' );
|
| 54 |
-
|
| 55 |
-
if ( um_get_option('members_page' ) || !get_option('um_options') ){
|
| 56 |
-
add_submenu_page( $this->slug, __('Member Directories', $this->slug), __('Member Directories', $this->slug), 'manage_options', 'edit.php?post_type=um_directory', '', '' );
|
| 57 |
-
}
|
| 58 |
-
|
| 59 |
-
do_action('um_extend_admin_menu');
|
| 60 |
-
|
| 61 |
-
}
|
| 62 |
-
|
| 63 |
-
/***
|
| 64 |
-
*** @Admin page function
|
| 65 |
-
***/
|
| 66 |
-
function admin_page() {
|
| 67 |
-
|
| 68 |
-
$page = $_REQUEST['page'];
|
| 69 |
-
|
| 70 |
-
if ( $page == 'ultimatemember' ) {
|
| 71 |
-
include_once um_path . 'admin/templates/dashboard.php';
|
| 72 |
-
}
|
| 73 |
|
| 74 |
-
if ( strstr( $page, 'ultimatemember-' ) ) {
|
| 75 |
-
|
| 76 |
-
$template = str_replace('ultimatemember-','',$page);
|
| 77 |
-
$file = um_path . 'admin/templates/'. $template . '.php';
|
| 78 |
-
|
| 79 |
-
if ( file_exists( $file ) ){
|
| 80 |
-
include_once um_path . 'admin/templates/'. $template . '.php';
|
| 81 |
-
} else {
|
| 82 |
-
echo '<h4>' . __('Please create a team.php template in admin templates.','ultimatemember') . '</h4>';
|
| 83 |
-
}
|
| 84 |
-
|
| 85 |
-
}
|
| 86 |
-
|
| 87 |
}
|
| 88 |
|
| 89 |
/***
|
| 4 |
|
| 5 |
function __construct() {
|
| 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
add_action('admin_init', array(&$this, 'admin_init'), 0);
|
|
|
|
|
|
|
|
|
|
| 8 |
|
| 9 |
$_redux_tracker['dev_mode'] = false;
|
| 10 |
$_redux_tracker['hash'] = md5( network_site_url() . '-' . $_SERVER['REMOTE_ADDR'] );
|
| 18 |
require_once( um_path . 'admin/core/um-admin-redux.php' );
|
| 19 |
}
|
| 20 |
|
| 21 |
+
require_once um_path . 'admin/core/um-admin-dashboard.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
}
|
| 24 |
|
| 25 |
/***
|
core/um-actions-profile.php
CHANGED
|
@@ -87,6 +87,8 @@
|
|
| 87 |
$ultimatemember->user->update_files( $files );
|
| 88 |
}
|
| 89 |
|
|
|
|
|
|
|
| 90 |
do_action('um_user_after_updating_profile', $to_update );
|
| 91 |
|
| 92 |
if ( !isset( $args['is_signup'] ) ) {
|
| 87 |
$ultimatemember->user->update_files( $files );
|
| 88 |
}
|
| 89 |
|
| 90 |
+
do_action('um_after_user_upload', um_user('ID') );
|
| 91 |
+
|
| 92 |
do_action('um_user_after_updating_profile', $to_update );
|
| 93 |
|
| 94 |
if ( !isset( $args['is_signup'] ) ) {
|
core/um-actions-user.php
CHANGED
|
@@ -6,15 +6,18 @@
|
|
| 6 |
add_action('um_after_user_upload','um_remove_unused_uploads', 10);
|
| 7 |
function um_remove_unused_uploads( $user_id ) {
|
| 8 |
global $ultimatemember;
|
|
|
|
| 9 |
um_fetch_user( $user_id );
|
|
|
|
| 10 |
$array = $ultimatemember->user->profile;
|
|
|
|
| 11 |
$files = glob( um_user_uploads_dir() . '*', GLOB_BRACE);
|
| 12 |
foreach($files as $file) {
|
| 13 |
$str = basename($file);
|
| 14 |
if ( !strstr( $str, 'profile_photo') && !strstr( $str, 'cover_photo') && !preg_grep('/' . $str . '/', $array ) )
|
| 15 |
unlink( $file );
|
| 16 |
}
|
| 17 |
-
|
| 18 |
}
|
| 19 |
|
| 20 |
/***
|
| 6 |
add_action('um_after_user_upload','um_remove_unused_uploads', 10);
|
| 7 |
function um_remove_unused_uploads( $user_id ) {
|
| 8 |
global $ultimatemember;
|
| 9 |
+
|
| 10 |
um_fetch_user( $user_id );
|
| 11 |
+
|
| 12 |
$array = $ultimatemember->user->profile;
|
| 13 |
+
|
| 14 |
$files = glob( um_user_uploads_dir() . '*', GLOB_BRACE);
|
| 15 |
foreach($files as $file) {
|
| 16 |
$str = basename($file);
|
| 17 |
if ( !strstr( $str, 'profile_photo') && !strstr( $str, 'cover_photo') && !preg_grep('/' . $str . '/', $array ) )
|
| 18 |
unlink( $file );
|
| 19 |
}
|
| 20 |
+
|
| 21 |
}
|
| 22 |
|
| 23 |
/***
|
core/um-builtin.php
CHANGED
|
@@ -555,7 +555,7 @@ class UM_Builtin {
|
|
| 555 |
'required' => 0,
|
| 556 |
'public' => 1,
|
| 557 |
'editable' => 1,
|
| 558 |
-
'options' => array('Male','Female')
|
| 559 |
),
|
| 560 |
|
| 561 |
'country' => array(
|
|
@@ -563,7 +563,7 @@ class UM_Builtin {
|
|
| 563 |
'metakey' => 'country',
|
| 564 |
'type' => 'select',
|
| 565 |
'label' => __('Country','ultimatemember'),
|
| 566 |
-
'placeholder' => 'Choose a Country',
|
| 567 |
'required' => 0,
|
| 568 |
'public' => 1,
|
| 569 |
'editable' => 1,
|
| 555 |
'required' => 0,
|
| 556 |
'public' => 1,
|
| 557 |
'editable' => 1,
|
| 558 |
+
'options' => array( __('Male','ultimatemember'), __('Female','ultimatemember') )
|
| 559 |
),
|
| 560 |
|
| 561 |
'country' => array(
|
| 563 |
'metakey' => 'country',
|
| 564 |
'type' => 'select',
|
| 565 |
'label' => __('Country','ultimatemember'),
|
| 566 |
+
'placeholder' => __('Choose a Country','ultimatemember'),
|
| 567 |
'required' => 0,
|
| 568 |
'public' => 1,
|
| 569 |
'editable' => 1,
|
core/um-files.php
CHANGED
|
@@ -504,9 +504,6 @@ class UM_Files {
|
|
| 504 |
// update user's meta
|
| 505 |
update_user_meta( $user_id, $key, $filename );
|
| 506 |
|
| 507 |
-
// this action is executed after upload
|
| 508 |
-
do_action('um_after_user_upload', $user_id );
|
| 509 |
-
|
| 510 |
// the url of upload
|
| 511 |
return $this->upload_baseurl . $user_id . '/' . $filename;
|
| 512 |
|
|
@@ -518,7 +515,7 @@ class UM_Files {
|
|
| 518 |
function remove_dir($dir) {
|
| 519 |
if ( file_exists( $dir ) ) {
|
| 520 |
foreach(glob($dir . '/*') as $file) {
|
| 521 |
-
if(is_dir($file)) remove_dir($file); else unlink($file);
|
| 522 |
} rmdir($dir);
|
| 523 |
}
|
| 524 |
}
|
| 504 |
// update user's meta
|
| 505 |
update_user_meta( $user_id, $key, $filename );
|
| 506 |
|
|
|
|
|
|
|
|
|
|
| 507 |
// the url of upload
|
| 508 |
return $this->upload_baseurl . $user_id . '/' . $filename;
|
| 509 |
|
| 515 |
function remove_dir($dir) {
|
| 516 |
if ( file_exists( $dir ) ) {
|
| 517 |
foreach(glob($dir . '/*') as $file) {
|
| 518 |
+
if(is_dir($file)) $this->remove_dir($file); else unlink($file);
|
| 519 |
} rmdir($dir);
|
| 520 |
}
|
| 521 |
}
|
core/um-filters-members.php
CHANGED
|
@@ -80,6 +80,11 @@
|
|
| 80 |
|
| 81 |
if ( !in_array( $field, $ultimatemember->members->core_search_fields ) ) {
|
| 82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
$query_args['meta_query'][] = array(
|
| 84 |
'key' => $field,
|
| 85 |
'value' => $value,
|
| 80 |
|
| 81 |
if ( !in_array( $field, $ultimatemember->members->core_search_fields ) ) {
|
| 82 |
|
| 83 |
+
if ( strstr($field, 'role_' ) ) {
|
| 84 |
+
$field = 'role';
|
| 85 |
+
$operator = '=';
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
$query_args['meta_query'][] = array(
|
| 89 |
'key' => $field,
|
| 90 |
'value' => $value,
|
core/um-members.php
CHANGED
|
@@ -61,6 +61,7 @@ class UM_Members {
|
|
| 61 |
global $ultimatemember;
|
| 62 |
|
| 63 |
$fields = $ultimatemember->builtin->all_user_fields;
|
|
|
|
| 64 |
$attrs = $fields[$filter];
|
| 65 |
|
| 66 |
if ( $ultimatemember->builtin->is_dropdown_field( $filter ) ) {
|
|
@@ -79,9 +80,18 @@ class UM_Members {
|
|
| 79 |
|
| 80 |
<option></option>
|
| 81 |
|
| 82 |
-
<?php foreach( $attrs['options'] as $k => $v ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
|
| 84 |
-
<option value="<?php echo $
|
| 85 |
|
| 86 |
<?php } ?>
|
| 87 |
|
| 61 |
global $ultimatemember;
|
| 62 |
|
| 63 |
$fields = $ultimatemember->builtin->all_user_fields;
|
| 64 |
+
|
| 65 |
$attrs = $fields[$filter];
|
| 66 |
|
| 67 |
if ( $ultimatemember->builtin->is_dropdown_field( $filter ) ) {
|
| 80 |
|
| 81 |
<option></option>
|
| 82 |
|
| 83 |
+
<?php foreach( $attrs['options'] as $k => $v ) {
|
| 84 |
+
|
| 85 |
+
$v = stripslashes($v);
|
| 86 |
+
|
| 87 |
+
$opt = $v;
|
| 88 |
+
|
| 89 |
+
if ( strstr($filter, 'role_') )
|
| 90 |
+
$opt = $k;
|
| 91 |
+
|
| 92 |
+
?>
|
| 93 |
|
| 94 |
+
<option value="<?php echo $opt; ?>" <?php um_select_if_in_query_params( $filter, $opt ); ?>><?php echo $v; ?></option>
|
| 95 |
|
| 96 |
<?php } ?>
|
| 97 |
|
index.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
Plugin Name: Ultimate Member
|
| 4 |
Plugin URI: http://ultimatemember.com/
|
| 5 |
Description: Ultimate Member is a powerful community and membership plugin that allows you to create beautiful community and membership sites with WordPress
|
| 6 |
-
Version: 1.0.
|
| 7 |
Author: Ultimate Member
|
| 8 |
Author URI: http://ultimatemember.com/
|
| 9 |
*/
|
| 3 |
Plugin Name: Ultimate Member
|
| 4 |
Plugin URI: http://ultimatemember.com/
|
| 5 |
Description: Ultimate Member is a powerful community and membership plugin that allows you to create beautiful community and membership sites with WordPress
|
| 6 |
+
Version: 1.0.47
|
| 7 |
Author: Ultimate Member
|
| 8 |
Author URI: http://ultimatemember.com/
|
| 9 |
*/
|
readme.txt
CHANGED
|
@@ -7,7 +7,7 @@ Tags: access control, author, authors, author profile, comments, community, comm
|
|
| 7 |
Requires at least: 4.1
|
| 8 |
Tested up to: 4.1
|
| 9 |
|
| 10 |
-
Stable Tag: 1.0.
|
| 11 |
|
| 12 |
License: GNU Version 2 or Any Later Version
|
| 13 |
|
|
@@ -186,6 +186,15 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
|
|
| 186 |
|
| 187 |
== Changelog ==
|
| 188 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 189 |
= 1.0.46: February 8, 2015 =
|
| 190 |
|
| 191 |
(Update Recommended)
|
| 7 |
Requires at least: 4.1
|
| 8 |
Tested up to: 4.1
|
| 9 |
|
| 10 |
+
Stable Tag: 1.0.47
|
| 11 |
|
| 12 |
License: GNU Version 2 or Any Later Version
|
| 13 |
|
| 186 |
|
| 187 |
== Changelog ==
|
| 188 |
|
| 189 |
+
= 1.0.47: February 9, 2015 =
|
| 190 |
+
|
| 191 |
+
* New: A more native dashboard for Ultimate Member
|
| 192 |
+
* New: view your temp uploads directory size and purge it from dashboard
|
| 193 |
+
* Fixed: user uploads bug with handling photo uploads at once
|
| 194 |
+
* Fixed: issue with using UM role as search filter in directory
|
| 195 |
+
* Fixed: a little icon issue with directory backend
|
| 196 |
+
* Fixed: localized a few words from predefined fields
|
| 197 |
+
|
| 198 |
= 1.0.46: February 8, 2015 =
|
| 199 |
|
| 200 |
(Update Recommended)
|
