function wc2_is_today($year, $month, $day)
{
    list($todayyy, $todaymm, $todaydd) = wc2_get_today();
    if ($year == $todayyy && $month == $todaymm && $day == $todaydd) {
        return true;
    }
    return false;
}
								if( isset($delivery_days[$i][$tm][$pref]) )
								$script_days .= '
	delivery_days_value['.$days.']["'.$tm.'"]["'.$pref.'"].push("'.(int)$delivery_days[$i][$tm][$pref].'");';
							}
						}
					}
				}
			}
		}
	}
	echo $script_days;
?>
<?php
	//営業日
	$business_days = 0;
	list( $yy, $mm, $dd ) = wc2_get_today();
	$business = ( isset($general['business_days'][$yy][$mm][$dd]) ) ? $general['business_days'][$yy][$mm][$dd] : 1;
	while( $business != 1 ) {
		$business_days++;
		list( $yy, $mm, $dd ) = wc2_get_nextday( $yy, $mm, $dd );
		$business = $general['business_days'][$yy][$mm][$dd];
	}
?>
	var business_days = "<?php echo $business_days; ?>";
	selected_delivery_time = "<?php echo esc_js($entry_data['order']['delivery_time']); ?>";
<?php
	$script_delivery_time = '
	var delivery_time = [];
	delivery_time[0] = [];';
	foreach( (array)$delivery['delivery_method'] as $dmid => $dm ) {
		$lines = explode("\n", $dm['time']);
 public function general_setting_page()
 {
     global $allowedposttags;
     if (!isset($this->plugin_screen_hook_suffix)) {
         return;
     }
     $screen = get_current_screen();
     if ($this->plugin_screen_hook_suffix != $screen->id) {
         return;
     }
     $general = wc2_get_option('general');
     $cart_description = wc2_get_option('cart_description');
     $member_description = wc2_get_option('member_description');
     if (array_key_exists('wc2_option_update', $_POST)) {
         check_admin_referer('wc2_setting_general', 'wc2_nonce');
         //			$this->error_message = $this->setting_delivery_check();
         $_POST = WC2_Utils::stripslashes_deep_post($_POST);
         //ショップ設定
         $general['company_name'] = isset($_POST['company_name']) ? trim($_POST['company_name']) : '';
         $general['zip_code'] = isset($_POST['zip_code']) ? trim($_POST['zip_code']) : '';
         $general['address1'] = isset($_POST['address1']) ? trim($_POST['address1']) : '';
         $general['address2'] = isset($_POST['address2']) ? trim($_POST['address2']) : '';
         $general['tel_number'] = isset($_POST['tel_number']) ? trim($_POST['tel_number']) : '';
         $general['fax_number'] = isset($_POST['fax_number']) ? trim($_POST['fax_number']) : '';
         $general['order_mail'] = isset($_POST['order_mail']) ? trim($_POST['order_mail']) : '';
         $general['inquiry_mail'] = isset($_POST['inquiry_mail']) ? trim($_POST['inquiry_mail']) : '';
         $general['sender_mail'] = isset($_POST['sender_mail']) ? trim($_POST['sender_mail']) : '';
         $general['error_mail'] = isset($_POST['error_mail']) ? trim($_POST['error_mail']) : '';
         $general['postage_privilege'] = isset($_POST['postage_privilege']) ? trim($_POST['postage_privilege']) : '';
         $general['purchase_limit'] = isset($_POST['purchase_limit']) ? trim($_POST['purchase_limit']) : '';
         $general['shipping_rule'] = isset($_POST['shipping_rule']) ? trim($_POST['shipping_rule']) : '';
         $general['tax_mode'] = isset($_POST['tax_mode']) ? trim($_POST['tax_mode']) : 'include';
         $general['tax_target'] = isset($_POST['tax_target']) ? trim($_POST['tax_target']) : 'products';
         $general['tax_rate'] = isset($_POST['tax_rate']) ? (int) $_POST['tax_rate'] : '';
         $general['tax_method'] = isset($_POST['tax_method']) ? trim($_POST['tax_method']) : '';
         $general['copyright'] = isset($_POST['copyright']) ? trim($_POST['copyright']) : '';
         $general['add2cart'] = isset($_POST['add2cart']) ? trim($_POST['add2cart']) : '0';
         //営業設定
         $general['display_mode'] = isset($_POST['display_mode']) ? trim($_POST['display_mode']) : '';
         $general['campaign_category'] = empty($_POST['cat']) ? '0' : $_POST['cat'];
         $general['campaign_privilege'] = isset($_POST['cat_privilege']) ? trim($_POST['cat_privilege']) : '';
         $general['privilege_point'] = isset($_POST['point_num']) ? (int) $_POST['point_num'] : '';
         $general['privilege_discount'] = isset($_POST['discount_num']) ? (int) $_POST['discount_num'] : '';
         $general['campaign_schedule'] = isset($_POST['campaign_schedule']) ? $_POST['campaign_schedule'] : '0';
         if (isset($_POST['business_days'])) {
             $general['business_days'] = $_POST['business_days'];
         }
         //会員システム
         $general['membersystem_state'] = isset($_POST['membersystem_state']) ? trim($_POST['membersystem_state']) : '';
         $general['membersystem_point'] = isset($_POST['membersystem_point']) ? trim($_POST['membersystem_point']) : '';
         $general['point_rate'] = isset($_POST['point_rate']) ? (int) $_POST['point_rate'] : 1;
         $general['start_point'] = isset($_POST['start_point']) ? (int) $_POST['start_point'] : '';
         $general['point_coverage'] = isset($_POST['point_coverage']) ? (int) $_POST['point_coverage'] : 0;
         $general['point_assign'] = isset($_POST['point_assign']) ? (int) $_POST['point_assign'] : 1;
         $general['member_pass_rule_min'] = isset($_POST['member_pass_rule_min']) ? (int) $_POST['member_pass_rule_min'] : 6;
         $general['member_pass_rule_max'] = isset($_POST['member_pass_rule_max']) && !empty($_POST['member_pass_rule_max']) ? (int) $_POST['member_pass_rule_max'] : '';
         //カートページ設定
         foreach ($general['indi_item_name'] as $key => $val) {
             $general['indi_item_name'][$key] = isset($_POST['indication'][$key]) ? 1 : 0;
         }
         foreach ($_POST['position'] as $key => $value) {
             $general['position'][$key] = $value;
         }
         //カート関連ページに挿入する説明書き
         foreach ($_POST['cart_header'] as $key => $value) {
             $cart_description['cart_header'][$key] = isset($_POST['cart_header'][$key]) ? addslashes(wp_kses($value, $allowedposttags)) : '';
         }
         foreach ($_POST['cart_footer'] as $key => $value) {
             $cart_description['cart_footer'][$key] = isset($_POST['cart_footer'][$key]) ? addslashes(wp_kses($value, $allowedposttags)) : '';
         }
         //会員関連ページに挿入する説明書き
         foreach ($_POST['member_header'] as $key => $value) {
             $member_description['member_header'][$key] = isset($_POST['member_header'][$key]) ? addslashes(wp_kses($value, $allowedposttags)) : '';
         }
         foreach ($_POST['member_footer'] as $key => $value) {
             $member_description['member_footer'][$key] = isset($_POST['member_footer'][$key]) ? addslashes(wp_kses($value, $allowedposttags)) : '';
         }
         if (!isset($general['indi_item_name'])) {
             $general['indi_item_name']['item_name'] = 1;
             $general['indi_item_name']['item_code'] = 1;
             $general['indi_item_name']['sku_name'] = 1;
             $general['indi_item_name']['sku_code'] = 1;
             $general['pos_item_name']['item_name'] = 1;
             $general['pos_item_name']['item_code'] = 2;
             $general['pos_item_name']['sku_name'] = 3;
             $general['pos_item_name']['sku_code'] = 4;
         }
         $general = apply_filters('wc2_filter_admin_setup_options', $general);
         wc2_update_option('general', $general);
         wc2_update_option('cart_description', $cart_description);
         wc2_update_option('member_description', $member_description);
         do_action('wc2_action_general_option_update');
         $this->action_status = 'success';
         $this->action_message = __('Updated!');
     } else {
         $this->action_status = 'none';
         $this->action_message = '';
     }
     $status = $this->action_status;
     $message = $this->action_message;
     //today
     list($todayyy, $todaymm, $todaydd) = wc2_get_today();
     for ($i = 0; $i < 12; $i++) {
         if (0 == $i) {
             $this->cal[$i] = new Calendar_Data();
             $this->cal[$i]->setToday($todayyy, $todaymm, $todaydd);
             $this->cal[$i]->setCalendarData();
         }
         list($month_yy[$i], $month_mm[$i], $month_dd[$i]) = wc2_get_aftermonth($todayyy, $todaymm, 1, $i);
         $this->cal[$i] = new Calendar_Data();
         $this->cal[$i]->setToday($month_yy[$i], $month_mm[$i], $month_dd[$i]);
         $this->cal[$i]->setCalendarData();
     }
     $yearstr = substr(get_date_from_gmt(gmdate('Y-m-d H:i:s', time())), 0, 4);
     $campaign_schedule_start_year = isset($general['campaign_schedule']['start']['year']) ? $general['campaign_schedule']['start']['year'] : 0;
     $campaign_schedule_start_month = isset($general['campaign_schedule']['start']['month']) ? $general['campaign_schedule']['start']['month'] : 0;
     $campaign_schedule_start_day = isset($general['campaign_schedule']['start']['day']) ? $general['campaign_schedule']['start']['day'] : 0;
     $campaign_schedule_start_hour = isset($general['campaign_schedule']['start']['hour']) ? $general['campaign_schedule']['start']['hour'] : 0;
     $campaign_schedule_start_min = isset($general['campaign_schedule']['start']['min']) ? $general['campaign_schedule']['start']['min'] : 0;
     $campaign_schedule_end_year = isset($general['campaign_schedule']['end']['year']) ? $general['campaign_schedule']['end']['year'] : 0;
     $campaign_schedule_end_month = isset($general['campaign_schedule']['end']['month']) ? $general['campaign_schedule']['end']['month'] : 0;
     $campaign_schedule_end_day = isset($general['campaign_schedule']['end']['day']) ? $general['campaign_schedule']['end']['day'] : 0;
     $campaign_schedule_end_hour = isset($general['campaign_schedule']['end']['hour']) ? $general['campaign_schedule']['end']['hour'] : 0;
     $campaign_schedule_end_min = isset($general['campaign_schedule']['end']['min']) ? $general['campaign_schedule']['end']['min'] : 0;
     $common_opts = isset($general['_iopt_']) ? $general['_iopt_'] : '';
     $display_mode_label = wc2_get_option('display_mode_label');
     $indi_item_name = $general['indi_item_name'];
     $pos_item_name = $general['pos_item_name'];
     foreach ((array) $indi_item_name as $key => $value) {
         $checked_item_name[$key] = $indi_item_name[$key] == 1 ? ' checked="checked"' : '';
     }
     if (!empty($cart_description)) {
         $cart_page_data = stripslashes_deep($cart_description);
     } else {
         $cart_page_data['cart_header'] = array();
         $cart_page_data['cart_footer'] = array();
     }
     if (!empty($member_description)) {
         $member_page_data = stripslashes_deep($member_description);
     } else {
         $member_page_data['member_header'] = array();
         $member_page_data['member_footer'] = array();
     }
     require_once WC2_PLUGIN_DIR . '/admin/views/setting-general.php';
 }
Example #4
0
 public function admin_order_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'])) {
         $this->mode = $_REQUEST['action'];
     } else {
         $this->mode = 'list';
     }
     $wc2_order = WC2_DB_Order::get_instance();
     switch ($this->mode) {
         case 'new':
             $title = '新規' . $this->title . '登録';
             $order_id = '';
             $dec_order_id = '';
             $data = $this->get_post_data();
             $data['ID'] = '';
             $data['dec_order_id'] = '--------------';
             $cart = array();
             $cart_row = 1;
             $item_total_price = 0;
             $order_date = wc2_get_today();
             $order_action = 'register';
             $this->page = 'order-post';
             break;
         case 'edit':
             $title = $this->title . '編集';
             if (isset($_REQUEST['order_action']) and 'register' == $_REQUEST['order_action']) {
                 check_admin_referer('wc2_order_post', 'wc2_nonce');
                 $data = $this->get_post_data();
                 if ($this->check_order_data($data)) {
                     $data = apply_filters('wc2_filter_admin_order_register_order_data', $data);
                     do_action('wc2_action_admin_order_register_pre');
                     $wc2_order->set_order_data($data);
                     $res = $wc2_order->add_order_data();
                     if (1 == $res) {
                         $order_id = $wc2_order->get_the_order_id();
                         $args = array('data' => $data, 'order_id' => $order_id);
                         wc2_set_dec_order_id($args);
                         $this->action_status = 'success';
                         $this->action_message = __('登録しました', 'wc2');
                     } else {
                         $this->action_status = 'error';
                         $this->action_message = __('登録に失敗しました', 'wc2');
                     }
                 } else {
                     $this->action_status = 'error';
                     $this->action_message = __('データに不備があります', 'wc2');
                 }
             } elseif (isset($_REQUEST['order_action']) and 'update' == $_REQUEST['order_action']) {
                 check_admin_referer('wc2_order_post', 'wc2_nonce');
                 $order_id = isset($_REQUEST['order_id']) ? $_REQUEST['order_id'] : '';
                 $data = $this->get_post_data();
                 if ($this->check_order_data($data)) {
                     $data = apply_filters('wc2_filter_admin_order_update_order_data', $data);
                     do_action('wc2_action_admin_order_update_pre');
                     $wc2_order->set_order_id($order_id);
                     $wc2_order->set_order_data($data);
                     $res = $wc2_order->update_order_data();
                     if (1 == $res) {
                         $this->action_status = 'success';
                         $this->action_message = __('Updated!');
                     } elseif (0 === $res) {
                         $this->action_status = 'none';
                         $this->action_message = '';
                     } else {
                         $this->action_status = 'error';
                         $this->action_message = __('Update Failed');
                     }
                 } else {
                     $this->action_status = 'error';
                     $this->action_message = __('データに不備があります', 'wc2');
                 }
             } else {
                 $order_id = isset($_REQUEST['target']) ? $_REQUEST['target'] : '';
             }
             $data = wc2_get_order_data($order_id);
             $dec_order_id = isset($data['dec_order_id']) ? $data['dec_order_id'] : '';
             $cart = !empty($data['cart']) ? $data['cart'] : array();
             $cart_row = 0 < count($cart) ? max(array_keys($cart)) + 1 : 1;
             $item_total_price = wc2_get_item_total_price($cart);
             $order_date_time = explode(" ", $data[ORDER_DATE]);
             $order_date = explode("-", $order_date_time[0]);
             $order_action = 'update';
             $this->page = 'order-post';
             break;
             //*** LI CUSTOMIZE >>>
         //*** LI CUSTOMIZE >>>
         case 'edit-mode':
             $title = $this->title . '編集';
             $order_id = isset($_REQUEST['order_id']) ? $_REQUEST['order_id'] : '';
             $dec_order_id = isset($_REQUEST['dec_order_id']) ? $_REQUEST['dec_order_id'] : '';
             $data = $this->get_post_data();
             $cart = !empty($data['cart']) ? $data['cart'] : array();
             $cart_row = 0 < count($cart) ? max(array_keys($cart)) + 1 : 1;
             $item_total_price = wc2_get_item_total_price($cart);
             $order_date_time = explode(" ", $data[ORDER_DATE]);
             $order_date = explode("-", $order_date_time[0]);
             $order_action = 'update';
             $this->page = 'order-post';
             $this->mode = 'edit';
             break;
             //*** LI CUSTOMIZE <<<
         //*** LI CUSTOMIZE <<<
         case 'delete':
             check_admin_referer('wc2_order_list', 'wc2_nonce');
             if (isset($_REQUEST['target']) && !empty($_REQUEST['target'])) {
                 $res = self::delete_order_data($_REQUEST['target']);
             }
             $this->page = 'order-list';
             break;
         case 'delete_batch':
             check_admin_referer('wc2_order_list', 'wc2_nonce');
             if (isset($_REQUEST['order_tag']) && !empty($_REQUEST['order_tag'])) {
                 $res = self::delete_batch_order_data($_REQUEST['order_tag']);
             }
             $this->page = 'order-list';
             break;
         case 'dl_orderdetail_list':
             check_admin_referer('wc2_dl_orderdetail_list', 'wc2_nonce');
             $this->download_order_detail_list();
             $this->page = '';
             break;
         case 'dl_order_list':
             check_admin_referer('wc2_dl_order_list', 'wc2_nonce');
             $this->download_order_list();
             $this->page = '';
             break;
         case 'list':
         default:
             $this->page = 'order-list';
             break;
     }
     do_action('wc2_action_admin_order_page', array($this));
     $order_status = wc2_get_option('management_status');
     $receipt_status = wc2_get_option('receipt_status');
     $order_type = wc2_get_option('order_type');
     //受注リスト
     if ($this->page == 'order-list') {
         $order_list = new WC2_Order_List_Table();
         $order_list->prepare_items();
         $order_refine_period = wc2_get_option('order_refine_period');
         $search_period = isset($_SESSION[WC2][$this->page]['search_period']) ? $_SESSION[WC2][$this->page]['search_period'] : 3;
         $startdate = isset($_SESSION[WC2][$this->page]['startdate']) ? $_SESSION[WC2][$this->page]['startdate'] : '';
         $enddate = isset($_SESSION[WC2][$this->page]['enddate']) ? $_SESSION[WC2][$this->page]['enddate'] : '';
         $search_column_key = isset($_REQUEST['search_column']) ? $_REQUEST['search_column'] : '';
         $search_word = '';
         $search_word_key = '';
         switch ($search_column_key) {
             case 'none':
                 break;
             case 'order_status':
                 $search_word_key = isset($_REQUEST['search_word']['order_status']) ? $_REQUEST['search_word']['order_status'] : '';
                 if (array_key_exists($search_word_key, $order_status)) {
                     $search_word = $order_status[$search_word_key];
                 }
                 break;
             case 'receipt_status':
                 $search_word_key = isset($_REQUEST['search_word']['receipt_status']) ? $_REQUEST['search_word']['receipt_status'] : '';
                 if (array_key_exists($search_word_key, $receipt_status)) {
                     $search_word = $receipt_status[$search_word_key];
                 }
                 break;
             case 'order_type':
                 $search_word_key = isset($_REQUEST['search_word']['order_type']) ? $_REQUEST['search_word']['order_type'] : '';
                 if (array_key_exists($search_word_key, $order_type)) {
                     $search_word = $order_type[$search_word_key];
                 }
                 break;
             default:
                 if (isset($_REQUEST['search_word']['keyword'])) {
                     $search_word = $_REQUEST['search_word']['keyword'];
                 }
         }
         $search_columns = $order_list->define_columns();
         unset($search_columns['cb']);
         unset($search_columns['total_price']);
         $search_columns['item_code'] = __('Item code', 'wc2');
         $search_columns['item_name'] = __('Item name', 'wc2');
         $search_columns = apply_filters('wc2_filter_admin_order_list_search_columns', $search_columns);
         $opt_order = wc2_get_option('opt_order');
         $chk_order = !empty($opt_order['chk_order']) ? $opt_order['chk_order'] : array();
         $chk_detail = !empty($opt_order['chk_detail']) ? $opt_order['chk_detail'] : array();
         $system_options = wc2_get_option('system');
         $applyform = wc2_get_apply_addressform($system_options['addressform']);
         //受注編集画面
     } elseif ($this->page == 'order-post') {
         $status = $this->action_status;
         $message = $this->action_message;
         $general_options = wc2_get_option('general');
         $payment_method = wc2_get_option('payment_method');
         $delivery_options = wc2_get_option('delivery');
         $delivery_method = isset($delivery_options['delivery_method']) ? $delivery_options['delivery_method'] : array();
         $delivery_after_days = apply_filters('wc2_filter_delivery_after_days', !empty($delivery_options['delivery_after_days']) ? (int) $delivery_options['delivery_after_days'] : 100);
         $order_condition = maybe_unserialize($data[ORDER_CONDITION]);
         $order_check = maybe_unserialize($data[ORDER_CHECK]);
     }
     $order_page = apply_filters('wc2_filter_admin_order_page', WC2_PLUGIN_DIR . '/admin/views/' . $this->page . '.php');
     require_once $order_page;
 }