/** * check the query string to display an admin message for various actions * * @return html the HTML formatted admin page message */ public function admin_notices() { // first check to make sure we're on our settings if (empty($_REQUEST['page']) || empty($_REQUEST['page']) && $_REQUEST['page'] !== 'temporary-admin-user') { return; } // if we have neither success or error, bail if (empty($_REQUEST['success']) && empty($_REQUEST['error'])) { return; } // if we have success, just return that and go on your way if (!empty($_REQUEST['success'])) { // get my success type $type = !empty($_REQUEST['type']) ? $_REQUEST['type'] : 'created'; // display the message echo '<div id="message" class="updated below-h2 tempadmin-message">'; echo '<p>' . TempAdminUser_Utilities::get_admin_messages($type) . '</p>'; echo '</div>'; return; } // get my type (error code) $type = !empty($_REQUEST['errcode']) ? $_REQUEST['errcode'] : ''; // set an empty $text = ''; // now our error code checks switch ($type) { case 'NONCE_FAILED': $text = TempAdminUser_Utilities::get_admin_messages('nonce'); break; case 'NO_EMAIL': $text = TempAdminUser_Utilities::get_admin_messages('noemail'); break; case 'USED_EMAIL': $text = TempAdminUser_Utilities::get_admin_messages('usedemail'); break; case 'NO_TYPE': $text = TempAdminUser_Utilities::get_admin_messages('notype'); break; case 'BAD_TYPE': $text = TempAdminUser_Utilities::get_admin_messages('badtype'); break; case 'NO_CREATE': $text = TempAdminUser_Utilities::get_admin_messages('nocreate'); break; case 'NO_USERS': $text = TempAdminUser_Utilities::get_admin_messages('nousers'); break; case 'NO_DEMOTE': $text = TempAdminUser_Utilities::get_admin_messages('nodemote'); break; case 'NO_DELETE': $text = TempAdminUser_Utilities::get_admin_messages('nodelete'); break; default: $text = TempAdminUser_Utilities::get_admin_messages('default'); // end all case breaks } echo '<div id="message" class="error below-h2 tempadmin-message">'; echo '<p>' . esc_attr($text) . '</p>'; echo '</div>'; return; }
/** * update a group of users (either demote or delete) from * the settings page via ajax call * * @return array $ret the JSON encoded response for the ajax call */ public function update_users_js() { // make sure the user calling the action has permission to do so if (false === TempAdminUser_Utilities::check_user_perm()) { return; } // set up return array for ajax responses $ret = array(); // die fast without a nonce if (empty($_POST['nonce'])) { $ret['success'] = false; $ret['errcode'] = 'NO_NONCE'; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nonce'); echo json_encode($ret); die; } // check to make sure we got a type if (empty($_POST['type'])) { $ret['success'] = false; $ret['errcode'] = 'NO_TYPE'; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('notype'); echo json_encode($ret); die; } // check to make sure we got a type that is allowed if (!in_array($_POST['type'], array('demote', 'delete'))) { $ret['success'] = false; $ret['errcode'] = 'BAD_TYPE'; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('badtype'); echo json_encode($ret); die; } // check to make sure we got users if (empty($_POST['users'])) { $ret['success'] = false; $ret['errcode'] = 'NO_USERS'; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nousers'); echo json_encode($ret); die; } // set our type as a variable $type = $_POST['type']; // check to see if our nonce failed if (false === check_ajax_referer('tempadmin_' . $type . '_js', 'nonce', false)) { $ret['success'] = false; $ret['errcode'] = 'NONCE_FAILED'; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nonce'); echo json_encode($ret); die; } // make sure my users are an array $users = !is_array($_POST['users']) ? (array) $_POST['users'] : $_POST['users']; // demote users if requested if ($type == 'demote') { // do the action $action = self::demote_users($users); // return error if demotion failed if ($action === false) { $ret['success'] = false; $ret['errcode'] = 'NO_DEMOTE'; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nodemote'); echo json_encode($ret); die; } // return success if users were demoted if ($action === true) { $ret['success'] = true; $ret['errcode'] = null; $ret['remrows'] = $users; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('demoted'); echo json_encode($ret); die; } } // delete users if requested if ($type == 'delete') { // do the action itself $action = self::delete_users($users); // return error if deletion failed if ($action === false) { $ret['success'] = false; $ret['errcode'] = 'NO_DELETE'; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nodelete'); echo json_encode($ret); die; } // return success if users were deleted if ($action === true) { $ret['success'] = true; $ret['errcode'] = null; $ret['remrows'] = $users; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('deleted'); echo json_encode($ret); die; } } // unknown error $ret['success'] = false; $ret['errcode'] = 'UNKNOWN_ERROR'; $ret['message'] = TempAdminUser_Utilities::get_admin_messages('default'); echo json_encode($ret); die; }