Please make sure IN_MYBB is defined."); } $page->add_breadcrumb_item($lang->awaiting_activation, "index.php?module=user-awaiting_activation"); $sub_tabs['awaiting_activation'] = array( 'title' => $lang->awaiting_activation, 'link' => "index.php?module=user-awaiting_activation", 'description' => $lang->awaiting_activation_desc ); $plugins->run_hooks("admin_user_awaiting_activation_begin"); if($mybb->input['action'] == "activate" && $mybb->request_method == "post") { $plugins->run_hooks("admin_user_awaiting_activation_activate"); if(!is_array($mybb->input['user'])) { $mybb->input['user'] = array(); } $mybb->input['user'] = array_map('intval', $mybb->input['user']); $user_ids = implode(", ", $mybb->input['user']); if(empty($user_ids)) { flash_message($lang->no_users_selected, 'error'); admin_redirect("index.php?module=user-awaiting_activation"); } $num_activated = $num_deleted = 0; $users_to_delete = array(); if(!empty($mybb->input['delete'])) // Delete selected user(s) { require_once MYBB_ROOT.'inc/datahandlers/user.php'; $userhandler = new UserDataHandler('delete'); $query = $db->simple_select("users", "uid, usergroup", "uid IN ({$user_ids})"); while($user = $db->fetch_array($query)) { if($user['usergroup'] == 5) { ++$num_deleted; $users_to_delete[] = (int)$user['uid']; } } if(!empty($users_to_delete)) { $userhandler->delete_user($users_to_delete, 1); } $plugins->run_hooks("admin_user_awaiting_activation_activate_delete_commit"); // Log admin action log_admin_action('deleted', $num_deleted); flash_message($lang->success_users_deleted, 'success'); admin_redirect("index.php?module=user-awaiting_activation"); } else // Activate selected user(s) { $query = $db->simple_select("users", "uid, username, email, usergroup, coppauser", "uid IN ({$user_ids})"); while($user = $db->fetch_array($query)) { ++$num_activated; if($user['coppauser']) { $updated_user = array( "coppauser" => 0 ); } else { $db->delete_query("awaitingactivation", "uid='{$user['uid']}'"); } // Move out of awaiting activation if they're in it. if($user['usergroup'] == 5) { $updated_user['usergroup'] = 2; } $db->update_query("users", $updated_user, "uid='{$user['uid']}'"); $message = $lang->sprintf($lang->email_adminactivateaccount, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl']); my_mail($user['email'], $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']), $message); } $cache->update_awaitingactivation(); $plugins->run_hooks("admin_user_awaiting_activation_activate_commit"); // Log admin action log_admin_action('activated', $num_activated); flash_message($lang->success_users_activated, 'success'); admin_redirect("index.php?module=user-awaiting_activation"); } } if(!$mybb->input['action']) { $plugins->run_hooks("admin_user_awaiting_activation_start"); $query = $db->simple_select("users", "COUNT(uid) AS users", "usergroup='5'"); $total_rows = $db->fetch_field($query, "users"); $per_page = 20; $mybb->input['page'] = $mybb->get_input('page', MyBB::INPUT_INT); if($mybb->input['page'] > 1) { $mybb->input['page'] = $mybb->input['page']; $start = ($mybb->input['page']*$per_page)-$per_page; $pages = ceil($total_rows / $per_page); if($mybb->input['page'] > $pages) { $mybb->input['page'] = 1; $start = 0; } } else { $mybb->input['page'] = 1; $start = 0; } $page->output_header($lang->manage_awaiting_activation); $page->output_nav_tabs($sub_tabs, 'awaiting_activation'); $form = new Form("index.php?module=user-awaiting_activation&action=activate", "post"); $table = new Table; $table->construct_header($form->generate_check_box("allbox", 1, '', array('class' => 'checkall'))); $table->construct_header($lang->username, array('width' => '20%')); $table->construct_header($lang->registered, array('width' => '15%', 'class' => 'align_center')); $table->construct_header($lang->last_active, array('width' => '15%', 'class' => 'align_center')); $table->construct_header($lang->email, array('width' => '15%', 'class' => 'align_center')); $table->construct_header($lang->ipaddress, array('width' => '10%', 'class' => 'align_center')); $table->construct_header($lang->type, array('class' => 'align_center')); $query = $db->query(" SELECT u.uid, u.username, u.regdate, u.regip, u.lastactive, u.email, u.coppauser, a.type AS reg_type, a.validated FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."awaitingactivation a ON (a.uid=u.uid) WHERE u.usergroup='5' ORDER BY u.regdate DESC LIMIT {$start}, {$per_page} "); while($user = $db->fetch_array($query)) { $trow = alt_trow(); $user['username'] = htmlspecialchars_uni($user['username']); $user['profilelink'] = build_profile_link($user['username'], $user['uid'], "_blank"); $user['email'] = htmlspecialchars_uni($user['email']); $user['regdate'] = my_date('relative', $user['regdate']); $user['lastactive'] = my_date('relative', $user['lastactive']); if($user['reg_type'] == 'r' || $user['reg_type'] == 'b' && $user['validated'] == 0) { $user['type'] = $lang->email_activation; } elseif($user['coppauser'] == 1) { $user['type'] = $lang->admin_activation_coppa; } else { $user['type'] = $lang->administrator_activation; } if(empty($user['regip'])) { $user['regip'] = $lang->na; } else { $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip'])); } $table->construct_cell($form->generate_check_box("user[{$user['uid']}]", $user['uid'], '')); $table->construct_cell($user['profilelink']); $table->construct_cell($user['regdate'], array("class" => "align_center")); $table->construct_cell($user['lastactive'], array("class" => "align_center")); $table->construct_cell($user['email'], array("class" => "align_center")); $table->construct_cell($user['regip'], array("class" => "align_center")); $table->construct_cell($user['type'], array("class" => "align_center")); $table->construct_row(); } if($table->num_rows() == 0) { $table->construct_cell($lang->no_users_awaiting_activation, array('colspan' => 7)); $table->construct_row(); $table->output($lang->manage_awaiting_activation); } else { $table->output($lang->manage_awaiting_activation); $buttons[] = $form->generate_submit_button($lang->activate_users, array('onclick' => "return confirm('{$lang->confirm_activate_users}');")); $buttons[] = $form->generate_submit_button($lang->delete_users, array('name' => 'delete', 'onclick' => "return confirm('{$lang->confirm_delete_users}');")); $form->output_submit_wrapper($buttons); } $form->end(); echo "
".draw_admin_pagination($mybb->input['page'], $per_page, $total_rows, "index.php?module=user-awaiting_activation&page={page}"); $page->output_footer(); }