public function edit_level($id) { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin('membership level edit'); //Check nonce if (!isset($_POST['_wpnonce_edit_swpmlevel_admin_end']) || !wp_verify_nonce($_POST['_wpnonce_edit_swpmlevel_admin_end'], 'edit_swpmlevel_admin_end')) { //Nonce check failed. wp_die(SwpmUtils::_("Error! Nonce verification failed for membership level edit from admin end.")); } global $wpdb; $query = $wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = %d", $id); $level = $wpdb->get_row($query, ARRAY_A); $form = new SwpmLevelForm($level); if ($form->is_valid()) { $wpdb->update($wpdb->prefix . "swpm_membership_tbl", $form->get_sanitized(), array('id' => $id)); //@todo meta table and collect all relevant info and pass as argument $custom = apply_filters('swpm_admin_edit_membership_level', array(), $id); $this->save_custom_fields($id, $custom); $message = array('succeeded' => true, 'message' => '<p>' . SwpmUtils::_('Membership Level Updated Successfully.') . '</p>'); SwpmTransfer::get_instance()->set('status', $message); wp_redirect('admin.php?page=simple_wp_membership_levels'); exit(0); } $message = array('succeeded' => false, 'message' => SwpmUtils::_('Please correct the following:'), 'extra' => $form->get_errors()); SwpmTransfer::get_instance()->set('status', $message); }
public function edit_admin_end($id) { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin('member edit by admin'); //Check nonce if (!isset($_POST['_wpnonce_edit_swpmuser_admin_end']) || !wp_verify_nonce($_POST['_wpnonce_edit_swpmuser_admin_end'], 'edit_swpmuser_admin_end')) { //Nonce check failed. wp_die(SwpmUtils::_("Error! Nonce verification failed for user edit from admin end.")); } global $wpdb; $query = $wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl WHERE member_id = %d", $id); $member = $wpdb->get_row($query, ARRAY_A); $email_address = $member['email']; $user_name = $member['user_name']; unset($member['member_id']); unset($member['user_name']); $form = new SwpmForm($member); if ($form->is_valid()) { $member = $form->get_sanitized(); $plain_password = isset($member['plain_password']) ? $member['plain_password'] : ""; SwpmUtils::update_wp_user($user_name, $member); unset($member['plain_password']); $wpdb->update($wpdb->prefix . "swpm_members_tbl", $member, array('member_id' => $id)); $message = array('succeeded' => true, 'message' => '<p>Member profile updated successfully.</p>'); $error = apply_filters('swpm_admin_edit_custom_fields', array(), $member + array('member_id' => $id)); if (!empty($error)) { $message = array('succeeded' => false, 'message' => SwpmUtils::_('Please correct the following:'), 'extra' => $error); SwpmTransfer::get_instance()->set('status', $message); return; } SwpmTransfer::get_instance()->set('status', $message); $send_notification = filter_input(INPUT_POST, 'account_status_change'); if (!empty($send_notification)) { $settings = SwpmSettings::get_instance(); $from_address = $settings->get_value('email-from'); $headers = 'From: ' . $from_address . "\r\n"; $subject = filter_input(INPUT_POST, 'notificationmailhead'); $body = filter_input(INPUT_POST, 'notificationmailbody'); $settings->set_value('account-change-email-body', $body)->set_value('account-change-email-subject', $subject)->save(); $member['login_link'] = $settings->get_value('login-page-url'); $member['user_name'] = $user_name; $member['password'] = empty($plain_password) ? SwpmUtils::_("Your current password") : $plain_password; $values = array_values($member); $keys = array_map('swpm_enclose_var', array_keys($member)); $body = html_entity_decode(str_replace($keys, $values, $body)); wp_mail($email_address, $subject, $body, $headers); } wp_redirect('admin.php?page=simple_wp_membership'); exit(0); } $message = array('succeeded' => false, 'message' => SwpmUtils::_('Please correct the following:'), 'extra' => $form->get_errors()); SwpmTransfer::get_instance()->set('status', $message); }
public static function update_category_list() { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin('category protection update'); $selected = filter_input(INPUT_POST, 'membership_level_id'); $selected_level_id = empty($selected) ? 1 : $selected; $category = $selected_level_id == 1 ? SwpmProtection::get_instance() : SwpmPermission::get_instance($selected_level_id); $args = array('ids' => array('filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_REQUIRE_ARRAY)); $filtered = filter_input_array(INPUT_POST, $args); $ids = $filtered['ids']; $args = array('ids_in_page' => array('filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_REQUIRE_ARRAY)); $filtered = filter_input_array(INPUT_POST, $args); $ids_in_page = $filtered['ids_in_page']; $category->remove($ids_in_page, 'category')->apply($ids, 'category')->save(); $message = array('succeeded' => true, 'message' => '<p>' . SwpmUtils::_('Category protection updated!') . '</p>'); SwpmTransfer::get_instance()->set('status', $message); }
function delete_level() { global $wpdb; if (isset($_REQUEST['id'])) { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin('membership level delete'); //Check nonce if (!isset($_REQUEST['delete_swpmlevel_nonce']) || !wp_verify_nonce($_REQUEST['delete_swpmlevel_nonce'], 'nonce_delete_swpmlevel_admin_end')) { //Nonce check failed. wp_die(SwpmUtils::_("Error! Nonce verification failed for membership level delete from admin end.")); } $id = sanitize_text_field($_REQUEST['id']); $id = absint($id); $query = $wpdb->prepare("DELETE FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = %d", $id); $wpdb->query($query); echo '<div id="message" class="updated fade"><p>Selected record deleted successfully!</p></div>'; } }
function delete() { if (isset($_REQUEST['member_id'])) { //Check we are on the admin end and user has management permission SwpmMiscUtils::check_user_permission_and_is_admin('member deletion by admin'); //Check nonce if (!isset($_REQUEST['delete_swpmuser_nonce']) || !wp_verify_nonce($_REQUEST['delete_swpmuser_nonce'], 'delete_swpmuser_admin_end')) { //Nonce check failed. wp_die(SwpmUtils::_("Error! Nonce verification failed for user delete from admin end.")); } $id = sanitize_text_field($_REQUEST['member_id']); $id = absint($id); SwpmMembers::delete_user_by_id($id); } }