示例#1
0
	/**
	 * 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();
			}
		}
	}
示例#2
0
 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';
     }
 }