/** * Customer information check * */ public function customer_process() { $nonce = ( isset($_POST['wc2_nonce']) ) ? $_POST['wc2_nonce'] : '0'; if( !wp_verify_nonce( $nonce, 'wc2_customer' ) ) { $this->set_error( __( 'Security error.' ), 'customer_process' ); $this->current_page_type = 'cart'; $this->current_page = 'error'; $this->page_redirect(); } wc2_set_entry(); if( isset($_POST['member_regmode']) and $_POST['member_regmode'] == 'newmemberfromcart' ) { $mes = wc2_member_check('customer'); if( 0 < count($mes) ) { foreach($mes as $error){ $this->set_error( $error, 'customer_process' ); } $this->current_page_type = 'cart'; $this->current_page = 'customer'; $this->page_redirect(); } $res = wc2_new_member_data( 'customer' ); if( 1 === $res ) { $wc2_db_member = WC2_DB_Member::get_instance(); $mem_id = $wc2_db_member->get_member_id(); $member = $wc2_db_member->get_member_data($mem_id); //SET SESSION wc2_set_session_current_member($member); wc2_set_entry_member_regmode('editmemberfromcart'); //登録完了メール送信 $user = $_POST['customer']; $user['ID'] = $mem_id; wc2_send_regmembermail($user); }else{ $this->set_error( __('登録に失敗しました。', 'wc2'), 'newmemberfromcart' ); $this->current_page_type = 'cart'; $this->current_page = 'customer'; $this->page_redirect(); } }elseif( isset($_POST['member_regmode']) and $_POST['member_regmode'] == 'editmemberfromcart' ){ $mem_id = wc2_memberinfo('ID'); $mes = wc2_member_check('customer', $mem_id); if( 0 < count($mes) ) { foreach($mes as $error){ $this->set_error( $error, 'customer_process' ); } $this->current_page_type = 'cart'; $this->current_page = 'customer'; $this->page_redirect(); } $res = wc2_edit_member_data($mem_id, 'customer'); if( 1 === $res ) { $wc2_db_member = WC2_DB_Member::get_instance(); $mem_id = $wc2_db_member->get_member_id(); $member = $wc2_db_member->get_member_data($mem_id); //SET SESSION wc2_set_session_current_member($member); wc2_set_entry_member_regmode('editmemberfromcart'); //登録完了メール送信 $user = $_POST['customer']; $user['ID'] = $mem_id; wc2_send_regmembermail($user); }else{ $this->set_error( __('登録に失敗しました。', 'wc2'), 'newmemberfromcart' ); $this->current_page_type = 'cart'; $this->current_page = 'customer'; $this->page_redirect(); } }else{ $mes = $this->customer_check(); if( 0 < count($mes) ) { foreach( $mes as $error ) $this->set_error( $error, 'customer_process' ); $this->current_page_type = 'cart'; $this->current_page = 'customer'; $this->page_redirect(); } } }
public function admin_member_page() { if (!isset($this->plugin_screen_hook_suffix)) { return; } $screen = get_current_screen(); if ($this->plugin_screen_hook_suffix != $screen->id) { return; } if (isset($_REQUEST['action']) && '-1' != $_REQUEST['action']) { $this->mode = $_REQUEST['action']; } elseif (isset($_REQUEST['action2']) && '-1' != $_REQUEST['action2']) { $this->mode = $_REQUEST['action2']; } else { $this->mode = 'list'; } $member_id = isset($_REQUEST['target']) ? trim($_REQUEST['target']) : ''; $wc2_db_member = WC2_DB_Member::get_instance(); switch ($this->mode) { case 'new': $this->page = 'member-post'; break; case 'edit': if (array_key_exists('addButton', $_POST)) { check_admin_referer('wc2_member_post', 'wc2_nonce'); $this->error_message = wc2_member_check('member', $member_id); if (array() == $this->error_message) { $res = wc2_new_member_data(); if (1 === $res) { $this->set_action_status('success', __('登録が完了しました。', 'wc2')); } else { $this->set_action_status('error', __('登録に失敗しました。', 'wc2')); } } else { $this->set_action_status('error', __('登録に失敗しました。', 'wc2')); } } //upmem_check if (array_key_exists('upButton', $_POST)) { check_admin_referer('wc2_member_post', 'wc2_nonce'); $this->error_message = wc2_member_check('member', $_REQUEST['target']); if (array() == $this->error_message) { $res = wc2_edit_member_data($member_id); if (1 === $res) { $this->set_action_status('success', __('登録が完了しました。', 'wc2')); } elseif (0 !== $res) { $this->set_action_status('error', __('登録に失敗しました。', 'wc2')); } } else { $this->set_action_status('error', __('登録に失敗しました。', 'wc2')); } } $this->page = 'member-post'; break; case 'delete': check_admin_referer('wc2_member_list', 'wc2_nonce'); $res = $wc2_db_member->delete_member_data($member_id); if (1 === $res) { $this->set_action_status('success', __('削除しました。', 'wc2')); } else { $this->set_action_status('error', __('削除に失敗しました。', 'wc2')); } $this->page = 'member-list'; break; case 'delete_batch': check_admin_referer('wc2_member_list', 'wc2_nonce'); if (isset($_REQUEST['member']) && !empty($_REQUEST['member'])) { $mem_ids = $_REQUEST['member']; $res = $this->delete_batch_member_data($mem_ids); if (1 === $res) { $this->set_action_status('success', __('削除しました。', 'wc2')); } else { $this->set_action_status('error', __('削除に失敗しました。', 'wc2')); } } $this->page = 'member-list'; break; case 'dlmemberlist': check_admin_referer('wc2_dl_memberlist', 'wc2_nonce'); $this->wc2_download_member_list(); $this->page = ''; break; case 'list': default: $this->page = 'member-list'; break; } if (!empty($this->page)) { $rank_type = wc2_get_option('rank_type'); if ($this->page == 'member-list') { $Member_List_Table = new Member_List_Table(); $Member_List_Table->prepare_items(); $status = $this->action_status; $message = $this->action_message; $this->action_status = 'none'; $this->action_message = ''; $search_column_key = isset($_REQUEST['search_column']) ? $_REQUEST['search_column'] : ''; $search_word = ''; $search_word_key = ''; switch ($search_column_key) { case 'none': break; case 'mem_rank': $search_word_key = isset($_REQUEST['search_word']['mem_rank']) ? $_REQUEST['search_word']['mem_rank'] : ''; if (array_key_exists($search_word_key, $rank_type)) { $search_word = $rank_type[$search_word_key]; } break; default: if (isset($_REQUEST['search_word']['keyword'])) { $search_word = $_REQUEST['search_word']['keyword']; } } $search_columns = $Member_List_Table->define_columns(); unset($search_columns['cb']); $search_columns = apply_filters('wc2_filter_admin_member_list_search_columns', $search_columns); $wc2_opt_member = wc2_get_option('wc2_opt_member'); $chk_mem = $wc2_opt_member['chk_mem']; } elseif ($this->page == 'member-post') { $wc2_options = wc2_get_option(); $status = $this->action_status; $message = $this->action_message; $this->action_status = 'none'; $this->action_message = ''; $member_action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; if (array() != $this->error_message && array_key_exists('addButton', $_POST)) { $member_action = 'new'; } $data = array(); //$referer = wp_get_referer(); //新規会員登録ページ if ('new' == $member_action) { $title = '新規会員登録'; $page = 'wc2_member'; $oa = 'edit'; $data['ID'] = ''; $data['account'] = isset($_POST['member']['account']) ? $_POST['member']['account'] : ''; $data['email'] = isset($_POST['member']['email']) ? $_POST['member']['email'] : ''; $data['passwd'] = isset($_POST['member']['passwd']) ? $_POST['member']['passwd'] : ''; $data['rank'] = isset($_POST['member']['rank']) ? $_POST['member']['rank'] : ''; $data['point'] = isset($_POST['member']['point']) ? $_POST['member']['point'] : ''; $data['name1'] = isset($_POST['member']['name1']) ? $_POST['member']['name1'] : ''; $data['name2'] = isset($_POST['member']['name2']) ? $_POST['member']['name2'] : ''; $data['name3'] = isset($_POST['member']['name3']) ? $_POST['member']['name3'] : ''; $data['name4'] = isset($_POST['member']['name4']) ? $_POST['member']['name4'] : ''; $data['country'] = isset($_POST['member']['country']) ? $_POST['member']['country'] : ''; $data['zipcode'] = isset($_POST['member']['zipcode']) ? $_POST['member']['zipcode'] : ''; $data['pref'] = isset($_POST['member']['pref']) ? $_POST['member']['pref'] : ''; $data['address1'] = isset($_POST['member']['address1']) ? $_POST['member']['address1'] : ''; $data['address2'] = isset($_POST['member']['address2']) ? $_POST['member']['address2'] : ''; $data['tel'] = isset($_POST['member']['tel']) ? $_POST['member']['tel'] : ''; $data['fax'] = isset($_POST['member']['fax']) ? $_POST['member']['fax'] : ''; $data['registered'] = '--------------'; //csmb $csmb_keys = wc2_get_custom_field_keys(WC2_CSMB); if (!empty($csmb_keys) && is_array($csmb_keys)) { foreach ($csmb_keys as $key) { list($pfx, $csmb_key) = explode('_', $key, 2); $csmb_val = isset($_POST[WC2_CUSTOM_MEMBER][$csmb_key]) ? $_POST[WC2_CUSTOM_MEMBER][$csmb_key] : ''; $data[WC2_CUSTOM_MEMBER][$csmb_key] = $csmb_val; } } //履歴 //$wc2_member_history =array(); //会員情報編集ページ } elseif ('edit' == $member_action) { $title = '会員情報編集'; $page = 'wc2_member'; $oa = 'edit'; if (isset($_REQUEST['target'])) { $member_id = $_REQUEST['target']; } else { $member_id = $wc2_db_member->get_member_id(); } $data = $wc2_db_member->get_member_data($member_id); //履歴 // $wc2_member_history = wc2_get_member_history(); } else { die('不正なパラメータです'); } //$material = compact('data', 'meta_data'); } require_once WC2_PLUGIN_DIR . '/admin/views/' . $this->page . '.php'; } }