PluginProbe
Welcart e-Commerce / 2.12.4
Welcart e-Commerce v2.12.4
2.12.4 2.12.3 2.11.35 2.12.2 2.12.1 2.11.34 2.11.33 2.11.32 2.11.31 2.11.30 1.3.16 1.3.17 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 All 292 releases
← All changes | includes/delivery_info_script.php +325 -393 1.3.52.12.4 View file →
@@ -1,393 +1,325 @@
1 -<?php
2 -$sendout = usces_get_send_out_date();
3 -
4 -if(isset($this))
5 - $usces = &$this;
6 -
7 -$html = '
8 -<script type="text/javascript">
9 - //1桁の数字を0埋めで2桁にする
10 - var toDoubleDigits = function(num) {
11 - num += "";
12 - if(num.length === 1) num = "0".concat(num);
13 - return num;
14 - };
15 - var selected_delivery_method = \'\';
16 - var selected_delivery_date = \'\';
17 - var selected_delivery_time = \'\';
18 - var add_shipping = new Array();//発送日目安
19 -
20 - function addDate(year, month, day, add) {
21 - var date = new Date(Number(year), (Number(month) - 1), Number(day));
22 - var baseSec = date.getTime();
23 - var addSec = Number(add) * 86400000;
24 - var targetSec = baseSec + addSec;
25 - date.setTime(targetSec);
26 -
27 - var yy = date.getFullYear() + "";
28 - var mm = toDoubleDigits(date.getMonth() + 1);
29 - var dd = toDoubleDigits(date.getDate());
30 -
31 - var newdate = new Array();
32 - newdate["year"] = yy;
33 - newdate["month"] = mm;
34 - newdate["day"] = dd;
35 - return(newdate);
36 - }
37 -
38 - jQuery(function($){
39 - ';
40 -
41 -//選択可能な配送方法
42 -$default_deli = array_values(apply_filters('usces_filter_get_available_delivery_method', $usces->get_available_delivery_method()));
43 -if(empty($usces_entries['order']['delivery_method'])){
44 - $selected_delivery_method = $default_deli[0];
45 -}else{
46 - $selected_delivery_method = $usces_entries['order']['delivery_method'];
47 -}
48 -$html .= 'selected_delivery_method = \'' . $selected_delivery_method . '\';';
49 -if(isset($usces_entries['order']['delivery_date'])) {
50 - $html .= 'selected_delivery_date = \''.$usces_entries['order']['delivery_date'].'\';';
51 -}
52 -
53 -//カートに入っている商品の発送日目安
54 -$shipping = 0;
55 -$cart = $usces->cart->get_cart();
56 -for($i = 0; $i < count($cart); $i++) {
57 - $cart_row = $cart[$i];
58 - $post_id = $cart_row['post_id'];
59 - $itemShipping = $usces->getItemShipping($post_id);
60 - if($itemShipping == 0 or $itemShipping == 9) {
61 - $shipping = 0;
62 - break;
63 - }
64 - if($shipping < $itemShipping) $shipping = $itemShipping;
65 -}
66 -$html .= 'var shipping = '.$shipping.';';
67 -//配送業務締時間
68 -$hour = (!empty($usces->options['delivery_time_limit']['hour'])) ? $usces->options['delivery_time_limit']['hour'] : '00';
69 -$min = (!empty($usces->options['delivery_time_limit']['min'])) ? $usces->options['delivery_time_limit']['min'] : '00';
70 -$html .= 'var delivery_time_limit_hour = "'.$hour.'";';
71 -$html .= 'var delivery_time_limit_min = "'.$min.'";';
72 -//最短宅配時間帯
73 -$html .= 'var shortest_delivery_time = '.(int)$usces->options['shortest_delivery_time'].';';
74 -//配送希望日を何日後まで表示するか
75 -$delivery_after_days = (!empty($usces->options['delivery_after_days'])) ? (int)$usces->options['delivery_after_days'] : 15;
76 -$html .= 'var delivery_after_days = '.$delivery_after_days.';';
77 -//配送先県(customer)
78 -$html .= 'var customer_pref = "'.esc_js($usces_entries['customer']['pref']).'";';
79 -//配送先県(customer/delivery)
80 -$delivery_pref = (isset($usces_entries['delivery']['pref']) && !empty($usces_entries['delivery']['pref'])) ? $usces_entries['delivery']['pref'] : $usces_entries['customer']['pref'];
81 -$html .= 'var delivery_pref = "'.esc_js($delivery_pref).'";';
82 -$delivery_country = (isset($usces_entries['delivery']['country']) && !empty($usces_entries['delivery']['country'])) ? $usces_entries['delivery']['country'] : $usces_entries['customer']['country'];
83 -$html .= 'var delivery_country = "'.esc_js($delivery_country).'";';
84 -//選択可能な配送方法に設定されている配達日数
85 -$html_days = 'var delivery_days = [];';
86 -foreach((array)$default_deli as $id) {
87 - $index = $usces->get_delivery_method_index($id);
88 - if(0 <= $index) {
89 - $html_days .= 'delivery_days['.$id.'] = [];';
90 - $html_days .= 'delivery_days['.$id.'].push("'.$usces->options['delivery_method'][$index]['days'].'");';
91 - }
92 -}
93 -//配達日数に設定されている県毎の日数
94 -$target_market = ( isset($usces->options['system']['target_market']) && !empty($usces->options['system']['target_market']) ) ? $usces->options['system']['target_market'] : usces_get_local_target_market();
95 -foreach((array)$target_market as $tm) {
96 - $prefs[$tm] = get_usces_states($tm);
97 - array_shift($prefs[$tm]);
98 -}
99 -$delivery_days = $usces->options['delivery_days'];
100 -$html_days .= 'var delivery_days_value = [];';
101 -foreach((array)$default_deli as $key => $id) {
102 - $index = $usces->get_delivery_method_index($id);
103 - if(0 <= $index) {
104 - $days = (int)$usces->options['delivery_method'][$index]['days'];
105 - if(0 <= $days) {
106 - for($i = 0; $i < count((array)$delivery_days); $i++) {
107 - if((int)$delivery_days[$i]['id'] == $days) {
108 - $html_days .= 'delivery_days_value['.$days.'] = [];';
109 - foreach( (array)$target_market as $tm ) {
110 - $html_days .= 'delivery_days_value['.$days.']["'.$tm.'"] = [];';
111 - foreach( (array)$prefs[$tm] as $pref) {
112 - $pref = esc_js($pref);
113 - $html_days .= 'delivery_days_value['.$days.']["'.$tm.'"]["'.$pref.'"] = [];';
114 - $html_days .= 'delivery_days_value['.$days.']["'.$tm.'"]["'.$pref.'"].push("'.(int)$delivery_days[$i][$tm][$pref].'");';
115 - }
116 - }
117 - }
118 - }
119 - }
120 - }
121 -}
122 -$html .= apply_filters('usces_filter_delivery_days_value', $html_days, $cart, $default_deli, $prefs);
123 -$business_days = 0;
124 -list($yy, $mm, $dd) = getToday();
125 -$business = (isset($usces->options['business_days'][$yy][$mm][$dd])) ? $usces->options['business_days'][$yy][$mm][$dd] : 1;
126 -while($business != 1) {
127 - $business_days++;
128 - list($yy, $mm, $dd) = getNextDay($yy, $mm, $dd);
129 - $business = $usces->options['business_days'][$yy][$mm][$dd];
130 -}
131 -$html .= 'var business_days = '.$business_days.';';
132 -
133 -$html .= 'selected_delivery_time = \'' . esc_js($usces_entries['order']['delivery_time']) . '\';
134 - var delivery_time = [];delivery_time[0] = [];';
135 -
136 -foreach((array)$usces->options['delivery_method'] as $dmid => $dm){
137 - $lines = explode("\n", $dm['time']);
138 - $html .= 'delivery_time[' . $dm['id'] . '] = [];';
139 - foreach((array)$lines as $line){
140 - if(trim($line) != ''){
141 - $html .= 'delivery_time[' . $dm['id'] . '].push("' . trim($line) . '");';
142 - }
143 - }
144 -}
145 -
146 -$payments_str = '';
147 -$payments_arr = array();
148 -$payments = usces_get_system_option( 'usces_payment_method', 'sort' );
149 -$payments = apply_filters( 'usces_filter_available_payment_method', $payments );
150 -foreach ( (array)$payments as $array ) {
151 - switch( $array['settlement'] ){
152 - case 'acting_zeus_card':
153 - $paymod_base = 'zeus';
154 - if( 'on' == $usces->options['acting_settings'][$paymod_base]['card_activate']
155 - && 'on' == $usces->options['acting_settings'][$paymod_base]['activate'] ){
156 - $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "', ";
157 - $payments_arr[] = $paymod_base;
158 - }
159 - break;
160 - case 'acting_zeus_conv':
161 - $paymod_base = 'zeus';
162 - if( 'on' == $usces->options['acting_settings'][$paymod_base]['conv_activate']
163 - && 'on' == $usces->options['acting_settings'][$paymod_base]['activate'] ){
164 - $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "_conv', ";
165 - $payments_arr[] = $paymod_base.'_conv';
166 - }
167 - break;
168 - case 'acting_remise_card':
169 - $paymod_base = 'remise';
170 - if( 'on' == $usces->options['acting_settings'][$paymod_base]['card_activate']
171 - && 'on' == $usces->options['acting_settings'][$paymod_base]['howpay']
172 - && 'on' == $usces->options['acting_settings'][$paymod_base]['activate'] ){
173 - $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "', ";
174 - $payments_arr[] = $paymod_base;
175 - }
176 - break;
177 - }
178 -}
179 -$payments_str = rtrim($payments_str, ', ');
180 -
181 -$html .= "
182 - var uscesPaymod = { " . $payments_str . " };
183 -
184 - $(\"input[name='offer\\[payment_name\\]']\").click(function() {";
185 -
186 -foreach($payments_arr as $pm ){
187 - $html .= "
188 - $(\"#" . $pm . "\").css({\"display\": \"none\"});\n";
189 -}
190 -
191 -$cart_delivery_script = "
192 - var chk_pay = $(\"input[name='offer\\[payment_name\\]']:checked\").val();
193 - if( uscesPaymod[chk_pay] != '' ){
194 - $(\"#\" + uscesPaymod[chk_pay]).css({\"display\": \"table\"});
195 - }
196 - });
197 -
198 - $('#delivery_method_select').change(function() {
199 - orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
200 - orderfunc.make_delivery_time(($('#delivery_method_select option:selected').val()-0));
201 - });
202 -
203 - $('#delivery_flag1').click(function() {
204 - if(customer_pref != delivery_pref) {
205 - delivery_pref = customer_pref;
206 - orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
207 - }
208 - });
209 -
210 - $('#delivery_flag2').click(function() {
211 - if($('#delivery_flag2').attr('checked') && undefined != $('#delivery_pref').get(0) && 0 < $('#delivery_pref').get(0).selectedIndex) {
212 - delivery_pref = $('#delivery_pref').val();
213 - orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
214 - }
215 - });
216 -
217 - $('#delivery_pref').change(function() {
218 - if($('#delivery_flag2').attr('checked') && undefined != $('#delivery_pref').get(0) && 0 < $('#delivery_pref').get(0).selectedIndex) {
219 - delivery_pref = $('#delivery_pref').val();
220 - orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
221 - }
222 - });
223 - orderfunc = {
224 - make_delivery_date : function(selected) {
225 - var option = '';
226 - var message = '';
227 - if(delivery_days[selected] != undefined && 0 <= delivery_days[selected]) {
228 - switch(shipping) {
229 - case 0://指定なし
230 - case 9://商品入荷後
231 - break;
232 - default:
233 - var date = new Array();
234 - date['year'] = '" . $sendout['sendout_date']['year'] . "';
235 - date['month'] = '" . $sendout['sendout_date']['month'] . "';
236 - date['day'] = '" . $sendout['sendout_date']['day'] . "';
237 - //配達日数加算
238 - if(delivery_days_value[delivery_days[selected]] != undefined) {
239 - if(delivery_days_value[delivery_days[selected]][delivery_country][delivery_pref] != undefined) {
240 - date = addDate(date[\"year\"], date[\"month\"], date[\"day\"], delivery_days_value[delivery_days[selected]][delivery_country][delivery_pref]);
241 - }
242 - }
243 - //最短配送時間帯メッセージ
244 - var date_str = date[\"year\"]+\"-\"+date[\"month\"]+\"-\"+date[\"day\"];
245 - switch(shortest_delivery_time) {
246 - case 0://指定しない 20110106ysk -> 20111128ysk DEL
247 - //message = " . __("'最短 ' + date_str + ' からご指定いただけます。'", 'usces') . ";
248 - break;
249 - case 1://午前着可
250 - message = " . __("'最短 ' + date_str + ' の午前中からご指定いただけます。'", 'usces') . ";
251 - break;
252 - case 2://午前着不可
253 - message = " . __("'最短 ' + date_str + ' の午後からご指定いただけます。'", 'usces') . ";
254 - break;
255 - }";
256 -$delivery_after_days_script = "
257 - option += '<option value=\"".__('No preference', 'usces')."\">".__('No preference', 'usces')."</option>';
258 - for(var i = 0; i < delivery_after_days; i++) {
259 - date_str = date[\"year\"]+\"-\"+date[\"month\"]+\"-\"+date[\"day\"];
260 - if(date_str == selected_delivery_date) {
261 - option += '<option value=\"' + date_str + '\" selected>' + date_str + '</option>';
262 - } else {
263 - option += '<option value=\"' + date_str + '\">' + date_str + '</option>';
264 - }
265 - date = addDate(date[\"year\"], date[\"month\"], date[\"day\"], 1);
266 - }";
267 -$cart_delivery_script .= apply_filters( 'usces_delivery_after_days_script', $delivery_after_days_script );
268 -$cart_delivery_script .= "
269 - break;
270 - }
271 - }
272 - if(option == '') {
273 - option = '<option value=\"".__('There is not a choice.', 'usces')."\">' + '".__('There is not a choice.', 'usces')."' + '</option>';
274 - }
275 - $(\"#delivery_date_select\").html(option);
276 - $(\"#delivery_time_limit_message\").html(message);
277 - },
278 - make_delivery_time : function(selected) {
279 - var option = '';
280 - if(delivery_time[selected] != undefined){
281 - for(var i=0; i<delivery_time[selected].length; i++){
282 - if( delivery_time[selected][i] == selected_delivery_time ) {
283 - option += '<option value=\"' + delivery_time[selected][i] + '\" selected=\"selected\">' + delivery_time[selected][i] + '</option>';
284 - }else{
285 - option += '<option value=\"' + delivery_time[selected][i] + '\">' + delivery_time[selected][i] + '</option>';
286 - }
287 - }
288 - }
289 - if(option == ''){
290 - option = '<option value=\"" . __('There is not a choice.', 'usces') . "\">' + '" . __('There is not a choice.', 'usces') . "' + '</option>';
291 - }
292 - $(\"#delivery_time_select\").html(option);
293 - }
294 - };
295 - ";
296 -
297 -if($usces_entries['delivery']['delivery_flag'] == 0) {
298 - $cart_delivery_script .= "
299 - $(\"#delivery_table\").css({display: \"none\"});\n";
300 -}
301 -
302 -$cart_delivery_script .= "
303 - orderfunc.make_delivery_date(selected_delivery_method);\n";
304 -
305 -$cart_delivery_script .= "
306 - orderfunc.make_delivery_time(selected_delivery_method);\n";
307 -
308 -$html .= apply_filters( 'usces_filter_cart_delivery_script', $cart_delivery_script, $usces_entries, $sendout );
309 -
310 -foreach($payments_arr as $pn => $pm ){
311 - $html .= "
312 - $(\"#" . $pm . "\").css({\"display\": \"none\"});\n";
313 -
314 - switch( $pm ){
315 - case 'zeus':
316 - if('on' == $usces->options['acting_settings'][$pm]['howpay']){
317 - $html .= "
318 - $(\"input[name='howpay']\").change(function() {
319 - if( '' != $(\"select[name='cbrand'] option:selected\").val() ){
320 - $(\"#div_" . $pm . "\").css({\"display\": \"\"});
321 - }
322 - if( '1' == $(\"input[name='howpay']:checked\").val() ){
323 - $(\"#cbrand_" . $pm . "\").css({\"display\": \"none\"});
324 - $(\"#div_" . $pm . "\").css({\"display\": \"none\"});
325 - }else{
326 - $(\"#cbrand_" . $pm . "\").css({\"display\": \"\"});
327 - }
328 - });
329 -
330 - $(\"select[name='cbrand']\").change(function() {
331 - $(\"#div_" . $pm . "\").css({\"display\": \"\"});
332 - if( '1' == $(\"select[name='cbrand'] option:selected\").val() ){
333 - $(\"#brand1\").css({\"display\": \"\"});
334 - $(\"#brand2\").css({\"display\": \"none\"});
335 - $(\"#brand3\").css({\"display\": \"none\"});
336 - }else if( '2' == $(\"select[name='cbrand'] option:selected\").val() ){
337 - $(\"#brand1\").css({\"display\": \"none\"});
338 - $(\"#brand2\").css({\"display\": \"\"});
339 - $(\"#brand3\").css({\"display\": \"none\"});
340 - }else if( '3' == $(\"select[name='cbrand'] option:selected\").val() ){
341 - $(\"#brand1\").css({\"display\": \"none\"});
342 - $(\"#brand2\").css({\"display\": \"none\"});
343 - $(\"#brand3\").css({\"display\": \"\"});
344 - }else{
345 - $(\"#brand1\").css({\"display\": \"none\"});
346 - $(\"#brand2\").css({\"display\": \"none\"});
347 - $(\"#brand3\").css({\"display\": \"none\"});
348 - }
349 - });
350 -
351 - if( '1' == $(\"input[name='howpay']:checked\").val() ){
352 - $(\"#cbrand_" . $pm . "\").css({\"display\": \"none\"});
353 - $(\"#div_" . $pm . "\").css({\"display\": \"none\"});
354 - }else{
355 - $(\"#cbrand_" . $pm . "\").css({\"display\": \"\"});
356 - $(\"#div_" . $pm . "\").css({\"display\": \"\"});
357 - }
358 -
359 - if( '1' == $(\"select[name='cbrand'] option:selected\").val() ){
360 - $(\"#brand1\").css({\"display\": \"\"});
361 - $(\"#brand2\").css({\"display\": \"none\"});
362 - $(\"#brand3\").css({\"display\": \"none\"});
363 - }else if( '2' == $(\"select[name='cbrand'] option:selected\").val() ){
364 - $(\"#brand1\").css({\"display\": \"none\"});
365 - $(\"#brand2\").css({\"display\": \"\"});
366 - $(\"#brand3\").css({\"display\": \"none\"});
367 - }else if( '3' == $(\"select[name='cbrand'] option:selected\").val() ){
368 - $(\"#brand1\").css({\"display\": \"none\"});
369 - $(\"#brand2\").css({\"display\": \"none\"});
370 - $(\"#brand3\").css({\"display\": \"\"});
371 - }else{
372 - $(\"#brand1\").css({\"display\": \"none\"});
373 - $(\"#brand2\").css({\"display\": \"none\"});
374 - $(\"#brand3\").css({\"display\": \"none\"});
375 - }
376 -
377 - \n";
378 - }
379 - break;
380 - }
381 -}
382 -
383 -$html .= "
384 - ch_pay = $(\"input[name='offer\\[payment_name\\]']:checked\").val();
385 - if( uscesPaymod[ch_pay] != '' ){
386 - $(\"#\" + uscesPaymod[ch_pay]).css({\"display\": \"\"});
387 - }";
388 -
389 -$html .= "
390 - });
391 -</script>
392 -";
393 -?>
1 +<?php
2 +/**
3 + * Delivery and Payment Method Script.
4 + *
5 + * @package Welcart
6 + */
7 +
8 +$sendout = usces_get_send_out_date();
9 +$no_preference = apply_filters( 'usces_filter_label_delivery_date_no_preference', __( 'No preference', 'usces' ) );
10 +$not_a_choice = apply_filters( 'usces_filter_label_delivery_date_not_a_choice', __( 'There is not a choice.', 'usces' ) );
11 +
12 +if ( isset( $this ) ) {
13 + $usces = &$this;
14 +}
15 +
16 +$html = '';
17 +
18 +/* Delivery Script */
19 +if ( wel_have_shipped() ) {
20 + $html = '
21 +<script type="text/javascript">
22 +var toDoubleDigits = function(num) {
23 + num += "";
24 + if( num.length === 1 ) num = "0".concat(num);
25 + return num;
26 +};
27 +var selected_delivery_method = \'\';
28 +var selected_delivery_date = \'\';
29 +var selected_delivery_time = \'\';
30 +var add_shipping = new Array();
31 +
32 +function addDate(year, month, day, add) {
33 + var date = new Date( Number(year), (Number(month)-1), Number(day) );
34 + var baseSec = date.getTime();
35 + var addSec = Number(add)*86400000;
36 + var targetSec = baseSec+addSec;
37 + date.setTime(targetSec);
38 +
39 + var yy = date.getFullYear()+"";
40 + var mm = toDoubleDigits(date.getMonth()+1);
41 + var dd = toDoubleDigits(date.getDate());
42 +
43 + var newdate = new Array();
44 + newdate["year"] = yy;
45 + newdate["month"] = mm;
46 + newdate["day"] = dd;
47 + return(newdate);
48 +}
49 +
50 +jQuery( function($) {';
51 +
52 + /* Selectable delivery method(選択可能な配送方法) */
53 + $default_deli = array_values( apply_filters( 'usces_filter_get_available_delivery_method', $usces->get_available_delivery_method() ) );
54 +
55 + if ( ! isset( $usces_entries['order']['delivery_method'] ) || '' == $usces_entries['order']['delivery_method'] || ! in_array( $usces_entries['order']['delivery_method'], $default_deli, true ) ) {
56 + $selected_delivery_method = $default_deli[0];
57 + } else {
58 + $selected_delivery_method = $usces_entries['order']['delivery_method'];
59 + }
60 + $html .= '
61 + selected_delivery_method = \'' . $selected_delivery_method . '\';';
62 + if ( isset( $usces_entries['order']['delivery_date'] ) ) {
63 + $html .= '
64 + selected_delivery_date = \'' . $usces_entries['order']['delivery_date'] . '\';';
65 + }
66 +
67 + /* ItemShipping of goods that are in the cart.(カートに入っている商品の発送日目安) */
68 + $shipping = 0;
69 + $cart = $usces->cart->get_cart();
70 + $cart_count = ( $cart && is_array( $cart ) ) ? count( $cart ) : 0;
71 + $shipping_rule_ex = apply_filters( 'usces_filter_item_shipping_rule_ex', 9 );
72 + for ( $i = 0; $i < $cart_count; $i++ ) {
73 + $cart_row = $cart[ $i ];
74 + $item_shipping = $usces->getItemShipping( $cart_row['post_id'] );
75 + if ( 0 === (int) $item_shipping || $shipping_rule_ex === (int) $item_shipping ) {
76 + $shipping = 0;
77 + break;
78 + }
79 + if ( $shipping < $item_shipping ) {
80 + $shipping = $item_shipping;
81 + }
82 + }
83 + $html .= "\n\t" . 'var shipping = ' . (string) $shipping . ';';
84 + /* 配送業務締時間 */
85 + $hour = ( ! empty( $usces->options['delivery_time_limit']['hour'] ) ) ? $usces->options['delivery_time_limit']['hour'] : '00';
86 + $min = ( ! empty( $usces->options['delivery_time_limit']['min'] ) ) ? $usces->options['delivery_time_limit']['min'] : '00';
87 + $html .= "\n\t" . 'var delivery_time_limit_hour = "' . $hour . '";';
88 + $html .= "\n\t" . 'var delivery_time_limit_min = "' . $min . '";';
89 + /* 最短宅配時間帯 */
90 + $html .= "\n\t" . 'var shortest_delivery_time = ' . (int) $usces->options['shortest_delivery_time'] . ';';
91 + /* 配送希望日を何日後まで表示するか */
92 + $delivery_after_days = ( ! empty( $usces->options['delivery_after_days'] ) ) ? (int) $usces->options['delivery_after_days'] : 15;
93 + $html .= "\n\t" . 'var delivery_after_days = ' . $delivery_after_days . ';';
94 + /* 配送先県(customer) */
95 + $html .= "\n\t" . 'var customer_pref = "' . esc_js( $usces_entries['customer']['pref'] ) . '";';
96 + /* 配送先県(customer/delivery) */
97 + $delivery_pref = ( isset( $usces_entries['delivery']['pref'] ) && ! empty( $usces_entries['delivery']['pref'] ) ) ? $usces_entries['delivery']['pref'] : $usces_entries['customer']['pref'];
98 + $html .= "\n\t" . 'var delivery_pref = "' . esc_js( $delivery_pref ) . '";';
99 + $delivery_country = ( isset( $usces_entries['delivery']['country'] ) && ! empty( $usces_entries['delivery']['country'] ) ) ? $usces_entries['delivery']['country'] : $usces_entries['customer']['country'];
100 + $html .= "\n\t" . 'var delivery_country = "' . esc_js( $delivery_country ) . '";';
101 + /* 選択可能な配送方法に設定されている配達日数 */
102 + $html_days = "\n\t" . 'var delivery_days = [];';
103 + foreach ( (array) $default_deli as $deli_id ) {
104 + $index = $usces->get_delivery_method_index( $deli_id );
105 + if ( 0 <= $index ) {
106 + $html_days .= "\n\t" . 'delivery_days[' . $deli_id . '] = [];';
107 + $html_days .= "\n\t" . 'delivery_days[' . $deli_id . '].push("' . $usces->options['delivery_method'][ $index ]['days'] . '");';
108 + }
109 + }
110 + /* 配達日数に設定されている県毎の日数 */
111 + $target_market = ( isset( $usces->options['system']['target_market'] ) && ! empty( $usces->options['system']['target_market'] ) ) ? $usces->options['system']['target_market'] : usces_get_local_target_market();
112 + foreach ( (array) $target_market as $tm ) {
113 + $prefs[ $tm ] = get_usces_states( $tm );
114 + array_shift( $prefs[ $tm ] );
115 + }
116 + $delivery_days = $usces->options['delivery_days'];
117 + $delivery_days_count = ( $delivery_days && is_array( $delivery_days ) ) ? count( $delivery_days ) : 0;
118 + $html_days .= "\n\t" . 'var delivery_days_value = [];';
119 + foreach ( (array) $default_deli as $key => $deli_id ) {
120 + $index = $usces->get_delivery_method_index( $deli_id );
121 + if ( 0 <= $index ) {
122 + $days = (int) $usces->options['delivery_method'][ $index ]['days'];
123 + if ( 0 <= $days ) {
124 + for ( $i = 0; $i < $delivery_days_count; $i++ ) {
125 + if ( (int) $delivery_days[ $i ]['id'] == $days ) {
126 + $html_days .= "\n\t" . 'delivery_days_value[' . $days . '] = [];';
127 + foreach ( (array) $target_market as $tm ) {
128 + $html_days .= "\n\t" . 'delivery_days_value[' . $days . ']["' . $tm . '"] = [];';
129 + foreach ( (array) $prefs[ $tm ] as $pref ) {
130 + $pref = esc_js( $pref );
131 + $html_days .= "\n\t" . 'delivery_days_value[' . $days . ']["' . $tm . '"]["' . $pref . '"] = [];';
132 + if ( isset( $delivery_days[ $i ][ $tm ][ $pref ] ) ) {
133 + $html_days .= "\n\t" . 'delivery_days_value[' . $days . ']["' . $tm . '"]["' . $pref . '"].push("' . (int) $delivery_days[ $i ][ $tm ][ $pref ] . '");';
134 + }
135 + }
136 + }
137 + }
138 + }
139 + }
140 + }
141 + }
142 + $html .= apply_filters( 'usces_filter_delivery_days_value', $html_days, $cart, $default_deli, $prefs );
143 + $business_days = 0;
144 + list( $yy, $mm, $dd ) = getToday();
145 + $business = ( isset( $usces->options['business_days'][ $yy ][ $mm ][ $dd ] ) ) ? $usces->options['business_days'][ $yy ][ $mm ][ $dd ] : 1;
146 + while ( 1 !== (int) $business ) {
147 + $business_days++;
148 + list( $yy, $mm, $dd ) = getNextDay( $yy, $mm, $dd );
149 + $business = $usces->options['business_days'][ $yy ][ $mm ][ $dd ];
150 + }
151 + $html .= "\n\t" . 'var business_days = ' . $business_days . ';';
152 +
153 + $html .= "\n\t" . 'selected_delivery_time = \'' . esc_js( $usces_entries['order']['delivery_time'] ) . '\';';
154 +
155 + $html_time = "\n\t" . 'var delivery_time = [];delivery_time[0] = [];';
156 + foreach ( (array) $usces->options['delivery_method'] as $dmid => $dm ) {
157 + $dm['time'] = usces_change_line_break( $dm['time'] );
158 + $lines = explode( "\n", $dm['time'] );
159 + $html_time .= "\n\t" . 'delivery_time[' . $dm['id'] . '] = [];';
160 + foreach ( (array) $lines as $line ) {
161 + if ( '' !== trim( $line ) ) {
162 + $html_time .= "\n\t" . 'delivery_time[' . $dm['id'] . '].push("' . trim( $line ) . '");';
163 + }
164 + }
165 + }
166 + $html .= apply_filters( 'usces_filter_delivery_time_value', $html_time, $cart, $default_deli, $prefs );
167 +
168 + $cart_delivery_script = "\n
169 + $(document).on( 'change', '#delivery_method_select', function() {
170 + orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
171 + orderfunc.make_delivery_time(($('#delivery_method_select option:selected').val()-0));
172 + });
173 + $(document).on( 'click', '#delivery_flag1', function() {
174 + if( customer_pref != delivery_pref ) {
175 + delivery_pref = customer_pref;
176 + orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
177 + }
178 + });
179 + $(document).on( 'click', '#delivery_flag2', function() {
180 + if( $('#delivery_flag2').prop('checked') && undefined != $('#delivery_pref').get(0) && 0 < $('#delivery_pref').get(0).selectedIndex ) {
181 + delivery_pref = $('#delivery_pref').val();
182 + orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
183 + }
184 + });
185 + $(document).on( 'change', '#delivery_pref', function() {
186 + if( $('#delivery_flag2').prop('checked') && undefined != $('#delivery_pref').get(0) && 0 < $('#delivery_pref').get(0).selectedIndex ) {
187 + delivery_pref = $('#delivery_pref').val();
188 + orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
189 + }
190 + });
191 + $(document).on( 'blur', '#search_zipcode', function() {
192 + if( $('#delivery_flag2').prop('checked') && undefined != $('#delivery_pref').get(0) && 0 < $('#delivery_pref').get(0).selectedIndex ) {
193 + $('#search_zipcode_change').val($('#zipcode').val());
194 + delivery_pref = $('#delivery_pref').val();
195 + orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
196 + }
197 + });
198 +
199 + orderfunc = {
200 + make_delivery_date : function(selected) {
201 + var option = '';
202 + var message = '';
203 + if( delivery_days[selected] != undefined && 0 <= delivery_days[selected] ) {
204 + switch(shipping) {
205 + case 0:
206 + case 9:
207 + break;
208 + default:
209 + var date = new Array();
210 + date['year'] = '" . $sendout['sendout_date']['year'] . "';
211 + date['month'] = '" . $sendout['sendout_date']['month'] . "';
212 + date['day'] = '" . $sendout['sendout_date']['day'] . "';
213 + if( delivery_days_value[delivery_days[selected]] != undefined ) {
214 + if( delivery_days_value[delivery_days[selected]][delivery_country][delivery_pref] != undefined ) {
215 + date = addDate(date[\"year\"], date[\"month\"], date[\"day\"], delivery_days_value[delivery_days[selected]][delivery_country][delivery_pref] );
216 + }
217 + }
218 + var date_str = date[\"year\"]+\"-\"+date[\"month\"]+\"-\"+date[\"day\"];
219 + switch(shortest_delivery_time) {
220 + case 0:
221 + //message = '最短 '+date_str+' からご指定いただけます。';
222 + break;
223 + case 1:
224 + message = '最短 '+date_str+' の午前中からご指定いただけます。';
225 + break;
226 + case 2:
227 + message = '最短 '+date_str+' の午後からご指定いただけます。';
228 + break;
229 + }";
230 + $delivery_after_days_script = "
231 + option += '<option value=\"" . $no_preference . "\">" . $no_preference . "</option>';
232 + for( var i = 0; i < delivery_after_days; i++ ) {
233 + date_str = date[\"year\"]+\"-\"+date[\"month\"]+\"-\"+date[\"day\"];
234 + if( date_str == selected_delivery_date ) {
235 + option += '<option value=\"'+date_str+'\" selected>'+date_str+'</option>';
236 + } else {
237 + option += '<option value=\"'+date_str+'\">'+date_str+'</option>';
238 + }
239 + date = addDate( date[\"year\"], date[\"month\"], date[\"day\"], 1 );
240 + }";
241 + $cart_delivery_script .= apply_filters( 'usces_delivery_after_days_script', $delivery_after_days_script );
242 + $cart_delivery_script .= "
243 + break;
244 + }
245 + }
246 + if( option == '' ) {
247 + option = '<option value=\"" . $not_a_choice . "\">'+'" . $not_a_choice . "'+'</option>';
248 + }
249 + $(\"#delivery_date_select\").html(option);
250 + $(\"#delivery_time_limit_message\").html(message);
251 + },
252 +
253 + make_delivery_time : function(selected) {
254 + var option = '';
255 + if( delivery_time[selected] != undefined ) {
256 + for( var i = 0; i < delivery_time[selected].length; i++ ) {
257 + if( delivery_time[selected][i] == selected_delivery_time ) {
258 + option += '<option value=\"'+delivery_time[selected][i]+'\" selected=\"selected\">'+delivery_time[selected][i]+'</option>';
259 + } else {
260 + option += '<option value=\"'+delivery_time[selected][i]+'\">'+delivery_time[selected][i]+'</option>';
261 + }
262 + }
263 + }
264 + if( option == '' ) {
265 + option = '<option value=\"" . __( 'There is not a choice.', 'usces' ) . "\">'+'" . __( 'There is not a choice.', 'usces' ) . "'+'</option>';
266 + }
267 + $(\"#delivery_time_select\").html( option );
268 + }
269 + };";
270 +
271 + if ( 1 !== (int) $usces_entries['delivery']['delivery_flag'] ) {
272 + $cart_delivery_script .= "\n\t$(\"#delivery_table\").css({\"display\":\"none\"});";
273 + }
274 + $cart_delivery_script .= "\n\t" . 'orderfunc.make_delivery_date(selected_delivery_method);';
275 + $cart_delivery_script .= "\n\t" . 'orderfunc.make_delivery_time(selected_delivery_method);';
276 + $html .= apply_filters( 'usces_filter_cart_delivery_script', $cart_delivery_script, $usces_entries, $sendout );
277 +}
278 +
279 +/* Payment Method Script */
280 +if ( empty( $html ) ) {
281 + $html = '
282 +<script type="text/javascript">
283 +jQuery( function($) {';
284 +}
285 +$payments_str = '';
286 +$payments_arr = array();
287 +$payments = usces_get_system_option( 'usces_payment_method', 'sort' );
288 +$payments = apply_filters( 'usces_filter_available_payment_method', $payments );
289 +foreach ( (array) $payments as $array ) {
290 + switch ( $array['settlement'] ) {
291 + case 'acting_remise_card':
292 + $paymod_base = 'remise';
293 + if ( 'on' == $usces->options['acting_settings'][ $paymod_base ]['card_activate'] &&
294 + 'on' == $usces->options['acting_settings'][ $paymod_base ]['howpay'] &&
295 + 'on' == $usces->options['acting_settings'][ $paymod_base ]['activate'] ) {
296 + $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "', ";
297 + $payments_arr[] = $paymod_base;
298 + }
299 + break;
300 + }
301 + $payments_str = apply_filters( 'usces_filter_payments_str', $payments_str, $array );
302 + $payments_arr = apply_filters( 'usces_filter_payments_arr', $payments_arr, $array );
303 +}
304 +$payments_str = rtrim( $payments_str, ', ' );
305 +$html .= "\n\tvar uscesPaymod = { " . $payments_str . " };
306 + $(document).on( 'click', \"input[name='offer\\[payment_name\\]']\", function() {";
307 +foreach ( $payments_arr as $pm ) {
308 + $html .= "\n\t\t$(\"#" . $pm . "\").css({\"display\":\"none\"});\n";
309 +}
310 +$html .= "\n\t\tvar chk_pay = $(\"input[name='offer\\[payment_name\\]']:checked\").val();
311 + if( uscesPaymod[chk_pay] != '' ) {
312 + $(\"#\"+uscesPaymod[chk_pay]).css({\"display\":\"table\"});
313 + }
314 + });";
315 +foreach ( $payments_arr as $pn => $pm ) {
316 + $html .= "\n\t$(\"#" . $pm . "\").css({\"display\":\"none\"});";
317 + $howpay = '';
318 + $html .= apply_filters( 'usces_filter_howpay', $howpay, $pm, $payments_arr );
319 +}
320 +$html .= "\n\tch_pay = $(\"input[name='offer\\[payment_name\\]']:checked\").val();
321 + if( uscesPaymod[ch_pay] != '' ) {
322 + $(\"#\"+uscesPaymod[ch_pay]).css({\"display\":\"\"});
323 + }";
324 +$html .= "\n});
325 +</script>\n";