049bca6a by Kevin Burton

activate or remove signups

1 parent 3801f63c
......@@ -148,6 +148,16 @@ function create_user() {
require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'create_user.php');
}
function signups() {
require_once(__DIR__ . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'signups.php');
}
function _get_signups() {
global $wpdb;
$users = $wpdb->get_results("SELECT * FROM wp_signups WHERE active = 0 ORDER BY registered ASC");
return $users;
}
class ProfileValidation extends Common\Validation {
public function prefix($val) {
update_user_meta($_POST['uid'], __FUNCTION__, $val);
......@@ -475,6 +485,26 @@ function run_validation() {
class Actions {
public static function wp_ajax_override_activate() {
global $wpdb;
$activation_key = $_POST['akey'];
Auth\activate($_POST['akey']);
$return = array(
'success' => 'true'
);
die(json_encode($return));
}
public static function wp_ajax_override_remove() {
global $wpdb;
$activation_key = $_POST['akey'];
$wpdb->query("DELETE FROM wp_signups WHERE activation_key='$activation_key' LIMIT 1");
$return = array(
'success' => 'true'
);
die(json_encode($return));
}
public static function wp_ajax_remove_user() {
$remove_action = $_POST['remove_action'];
......@@ -858,6 +888,7 @@ class Actions {
public static function admin_menu() {
add_menu_page('CBV Users','CBV Users',CAPABILITY,'cbv_users',__NAMESPACE__ . '\display_users',null,3 );
add_submenu_page('cbv_users','New User', 'New User',CAPABILITY,'cbv_users_create',__NAMESPACE__ . '\create_user');
add_submenu_page('cbv_users','New User', 'Awaiting Validation',CAPABILITY,'cbv_users_signups',__NAMESPACE__ . '\signups');
}
public static function admin_init() {
......
<?php
namespace Tz\WordPress\Tools\UserManager;
use Tz, Tz\Common;
use Tz\WordPress\CBV;
use Exception, StdClass;
$users = _get_signups();
?>
<div id="" class="wrap">
<div id="icon-users" class="icon32"><br /></div>
<h2>Users awaiting validation</h2>
<p style="display:none;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam iaculis convallis nisi eu dignissim. Quisque malesuada augue in mi blandit at blandit tortor sollicitudin. Cras at justo mi, vel mollis est. Donec orci erat, blandit varius vehicula vitae, volutpat at lorem. Etiam tincidunt bibendum ante, non tincidunt purus faucibus sed. Suspendisse eget facilisis tellus. Nulla imperdiet leo placerat diam sollicitudin nec mattis neque mattis. Cras id lacus tellus. Phasellus volutpat vehicula porttitor. Praesent erat felis, pharetra mollis egestas sit amet, rhoncus eget nisl. Morbi interdum sapien vitae nibh pharetra scelerisque. Mauris porta accumsan velit ac aliquam. Sed sit amet dictum felis. Fusce tempus vulputate nulla, quis tincidunt velit mattis eu.</p>
<table cellspacing="0" class="widefat post fixed" style="margin-top:20px;">
<thead>
<tr>
<th width="200">Login</th>
<th>Email</th>
<th width="200">Date Registered</th>
<th width="200">&nbsp;</th>
</tr>
</thead>
<tbody>
<?php foreach($users as $user): ?>
<tr>
<td><?php echo $user->user_login; ?></td>
<td><a href="mailto:<?php echo $user->user_email; ?>"><?php echo $user->user_email; ?></a></td>
<td><?php echo date("M j, Y @ h:ia",strtotime($user->registered)); ?></td>
<td style="text-align:right;"><a href="#" class="activate" rel="<?php echo $user->activation_key;?>">Activate</a> | <a href="#" class="remove" rel="<?php echo $user->activation_key;?>">Remove</a></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('.activate').click(function(e) {
var activation_key = $(this).attr('rel');
$.ajax({
url: '/wp-admin/admin-ajax.php'
, dataType: 'json'
, type: 'POST'
, data: ({ajax:"yes", action: 'override_activate', akey: activation_key})
, success: function(date) {
document.location.href = document.location.href;
}
});
e.preventDefault();
return false;
});
$('.remove').click(function(e) {
var activation_key = $(this).attr('rel');
$.ajax({
url: '/wp-admin/admin-ajax.php'
, dataType: 'json'
, type: 'POST'
, data: ({ajax:"yes", action: 'override_remove', akey: activation_key})
, success: function(date) {
document.location.href = document.location.href;
}
});
e.preventDefault();
return false;
});
});
</script>
\ No newline at end of file