Example #1
0
 public static function get_instance()
 {
     if (null == self::$instance) {
         self::$instance = new self();
     }
     return self::$instance;
 }
 function get_list_data($args)
 {
     $wc2_member = WC2_DB_Member::get_instance();
     $results = $wc2_member->get_member_list_data($args);
     return $results;
 }
Example #3
0
    public function member_history_rows()
    {
        $wc2_db_member = WC2_DB_Member::get_instance();
        $wc2_order = WC2_DB_Order::get_instance();
        $wc2_item = WC2_DB_Item::get_instance();
        if (is_admin()) {
            $member_id = $wc2_db_member->get_member_id();
        } else {
            if (wc2_is_login() && 0 != $_SESSION[WC2]['member']['ID']) {
                $member_id = $_SESSION[WC2]['member']['ID'];
            } else {
                return false;
            }
        }
        $member_history = $wc2_order->get_member_history($member_id);
        $colspan = wc2_is_membersystem_point() ? 9 : 7;
        $html = '<div class="history-area">
					<table>';
        if (!count($member_history)) {
            $html .= '<tr>
			<td>' . __('There is no your purchase history.', 'wc2') . '</td>
			</tr>';
        }
        foreach ($member_history as $umhs) {
            $cart = $umhs['cart'];
            $history_member_head = '<tr>
				<th class="historyrow">' . __('Order number', 'wc2') . '</th>
				<th class="historyrow">' . __('Order status', 'wc2') . '</th>
				<th class="historyrow">' . __('Purchase date', 'wc2') . '</th>
				<th class="historyrow">' . __('Purchase amount', 'wc2') . '</th>';
            if (wc2_is_membersystem_point()) {
                $history_member_head .= '<th class="historyrow">' . __('Used points', 'wc2') . '</th>';
            }
            $history_member_head .= '<th class="historyrow">' . apply_filters('wc2_filter_discount_label', __('Discount', 'wc2'), $umhs) . '</th>
				<th class="historyrow">' . __('Shipping charges', 'wc2') . '</th>
				<th class="historyrow">' . apply_filters('wc2_filter_cod_label', __('COD fee', 'wc2')) . '</th>
				<th class="historyrow">' . __('Consumption tax', 'wc2') . '</th>';
            if (wc2_is_membersystem_point()) {
                $history_member_head .= '<th class="historyrow">' . __('Acquired points', 'wc2') . '</th>';
            }
            $history_member_head .= '</tr>
				<tr>
				<td class="rightnum"><a href="' . WC2_ADMIN_URL . '?page=wc2_order&action=edit&target=' . $umhs['ID'] . '">' . $umhs['dec_order_id'] . '</a></td>
				<td class="aleft">' . wc2_get_order_status_name($umhs['order_status']) . '</td>
				<td class="date">' . $umhs['order_date'] . '</td>
				<td class="rightnum">' . wc2_crform($umhs['item_total_price'] - $umhs['usedpoint'] + $umhs['discount'] + $umhs['shipping_charge'] + $umhs['cod_fee'] + $umhs['tax'], true, false) . '</td>';
            if (wc2_is_membersystem_point()) {
                $history_member_head .= '<td class="rightnum">' . number_format($umhs['usedpoint']) . '</td>';
            }
            $history_member_head .= '<td class="rightnum">' . wc2_crform($umhs['discount'], true, false) . '</td>
				<td class="rightnum">' . wc2_crform($umhs['shipping_charge'], true, false) . '</td>
				<td class="rightnum">' . wc2_crform($umhs['cod_fee'], true, false) . '</td>
				<td class="rightnum">' . wc2_crform($umhs['tax'], true, false) . '</td>';
            if (wc2_is_membersystem_point()) {
                $history_member_head .= '<td class="rightnum">' . number_format($umhs['getpoint']) . '</td>';
            }
            $history_member_head .= '</tr>';
            $html .= apply_filters('wc2_filter_history_member_head', $history_member_head, $umhs);
            $html .= apply_filters('wc2_filter_member_history_header', NULL, $umhs);
            $html .= '<tr>
				<td class="retail" colspan="' . $colspan . '">
					<table id="retail_table_' . $umhs['ID'] . '" class="retail">';
            $history_cart_head = '<tr>
					<th scope="row" class="num">No.</th>
					<th class="thumbnail">&nbsp;</th>
					<th>' . __('Items', 'wc2') . '</th>
					<th class="price ">' . __('Unit price', 'wc2') . '(' . wc2_crcode() . ')' . '</th>
					<th class="quantity">' . __('Quantity', 'wc2') . '</th>
					<th class="subtotal">' . __('Amount', 'wc2') . '(' . wc2_crcode() . ')' . '</th>
					</tr>';
            $html .= apply_filters('wc2_filter_history_cart_head', $history_cart_head, $umhs);
            $i = 1;
            foreach ($cart as $cart_row) {
                $ordercart_id = $cart_row['cart_id'];
                $post_id = $cart_row['post_id'];
                $item_id = $cart_row['item_id'];
                $sku_id = $cart_row['sku_id'];
                $quantity = $cart_row['quantity'];
                $options = isset($cart_row['options']) ? $cart_row['options'] : '';
                //$options = wc2_get_ordercart_meta_value( 'option', $ordercart_id );
                //$options = wc2_get_ordercart_meta( 'option', $ordercart_id );
                $item_name = $cart_row['item_name'];
                $item_code = $cart_row['item_code'];
                $sku_name = $cart_row['sku_name'];
                $sku_code = $cart_row['sku_code'];
                $cart_item_name = wc2_get_cart_item_name($item_name, $item_code, $sku_name, $sku_code);
                $skuPrice = $cart_row['price'];
                $pictid = (int) $wc2_item->get_mainpictid($item_code);
                $optstr = '';
                if (is_array($options) && count($options) > 0) {
                    $optstr = '';
                    foreach ($options as $key => $value) {
                        if (!empty($key)) {
                            $key = urldecode($key);
                            $value = maybe_unserialize($value);
                            if (is_array($value)) {
                                $c = '';
                                $optstr .= esc_html($key) . ' : ';
                                foreach ($value as $v) {
                                    $optstr .= $c . nl2br(esc_html(urldecode($v)));
                                    $c = ', ';
                                }
                                $optstr .= "<br />\n";
                            } else {
                                $optstr .= esc_html($key) . ' : ' . nl2br(esc_html(urldecode($value))) . "<br />\n";
                            }
                        }
                    }
                    $optstr = apply_filters('wc2_filter_option_history', $optstr, $options);
                }
                $optstr = apply_filters('wc2_filter_option_info_history', $optstr, $umhs, $cart_row, $i);
                $permalink = apply_filters('wc2_filter_link_item_history', get_permalink($post_id), $cart_row);
                $history_cart_row = '<tr>
					<td>' . $i . '</td>
					<td>';
                if ($pictid) {
                    $cart_thumbnail = '<a href="' . esc_url($permalink) . '">' . wp_get_attachment_image($pictid, array(60, 60), true) . '</a>';
                } else {
                    $cart_thumbnail = '<p>' . wc2_no_image() . '</p>';
                }
                $history_cart_row .= apply_filters('wc2_filter_cart_thumbnail', $cart_thumbnail, $post_id, $pictid, $i, $cart_row);
                $history_cart_row .= '</td>
					<td class="aleft"><a href="' . esc_url($permalink) . '">' . esc_html($cart_item_name) . '<br />' . $optstr . '</a>' . apply_filters('wc2_filter_history_item_name', NULL, $umhs, $cart_row, $i) . '</td>
					<td class="rightnum">' . wc2_crform($skuPrice, true, false) . '</td>
					<td class="rightnum">' . number_format($cart_row['quantity']) . '</td>
					<td class="rightnum">' . wc2_crform($skuPrice * $cart_row['quantity'], true, false) . '</td>
					</tr>';
                $materials = compact('cart_thumbnail', 'post_id', 'pictid', 'cart_item_name', 'optstr');
                $html .= apply_filters('wc2_filter_history_cart_row', $history_cart_row, $umhs, $cart_row, $i, $materials);
                $i++;
            }
            $html .= '</table>
				</td>
				</tr>';
        }
        $html .= '</table>
		</div>';
        $html = apply_filters('wc2_filter_member_history_rows', $html, $member_id, $member_history, $colspan);
        return $html;
    }
Example #4
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();
			}
		}
	}
 public function delete_batch_member_data($mem_ids = array())
 {
     if (empty($mem_ids)) {
         return false;
     } elseif (!is_array($mem_ids)) {
         $mem_ids = (array) $mem_ids;
     }
     $res = array();
     $i = 0;
     $wc2_db_member = WC2_DB_Member::get_instance();
     foreach ($mem_ids as $mem_id) {
         $i++;
         $res[$i] = $wc2_db_member->delete_member_data($mem_id);
         if (-1 === $res[$i]) {
             break;
         }
     }
     if (in_array(-1, $res, true)) {
         $result = -1;
     } else {
         $result = 0 < array_sum($res) ? 1 : 0;
     }
     return $result;
 }
Example #6
0
	public function member_logout_process(){
		//unset($_SESSION[WC2]['member'], $_SESSION['wc2_entry']);
		unset($_SESSION[WC2]['member'], $_SESSION[WC2]['entry']);
		do_action('wc2_action_member_logout_process');

		$wc2_db_member = WC2_DB_Member::get_instance();
		$wc2_db_member->clear_column();

		return 'logout';
		//wp_redirect(get_option('home'));
		//exit;
	}