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 -511 1.3.32.12.4 View file →
@@ -1,511 +1,325 @@
1 -<?php
2 -//20101208ysk start
3 -/*
4 -$html .= '
5 -<script type="text/javascript">
6 - var selected_delivery_method = \'\';
7 - var selected_delivery_time = \'\';
8 -
9 - jQuery(function($){
10 - ';
11 -*/
12 -$sendout = usces_get_send_out_date();
13 -
14 -if(isset($this))
15 - $usces = &$this;
16 -
17 -//$shipping_indication = apply_filters('usces_filter_shipping_indication', $usces->options['usces_shipping_indication']);
18 -
19 -$html = '
20 -<script type="text/javascript">
21 - //1桁の数字を0埋めで2桁にする
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 -//$c = '';
32 -//foreach($shipping_indication as $value){
33 -// $html .= $c.$value;
34 -// $c = ',';
35 -//}
36 -$html .= '
37 - function addDate(year, month, day, add) {
38 - var date = new Date(Number(year), (Number(month) - 1), Number(day));
39 - var baseSec = date.getTime();
40 - var addSec = Number(add) * 86400000;
41 - var targetSec = baseSec + addSec;
42 - date.setTime(targetSec);
43 -
44 - var yy = date.getFullYear() + "";
45 - var mm = toDoubleDigits(date.getMonth() + 1);
46 - var dd = toDoubleDigits(date.getDate());
47 -
48 - var newdate = new Array();
49 - newdate["year"] = yy;
50 - newdate["month"] = mm;
51 - newdate["day"] = dd;
52 - return(newdate);
53 - }
54 -
55 - jQuery(function($){
56 - ';
57 -
58 -//選択可能な配送方法
59 -$default_deli = array_values(apply_filters('usces_filter_get_available_delivery_method', $usces->get_available_delivery_method()));
60 -//if($usces_entries['order']['delivery_method'] === NULL){
61 -if(empty($usces_entries['order']['delivery_method'])){
62 - //$default_deli = $usces->get_available_delivery_method();
63 - //$html .= 'selected_delivery_method = \'' . $default_deli[0] . '\';';
64 - $selected_delivery_method = $default_deli[0];
65 -}else{
66 - //$html .= 'selected_delivery_method = \'' . $usces_entries['order']['delivery_method'] . '\';';
67 - $selected_delivery_method = $usces_entries['order']['delivery_method'];
68 -}
69 -$html .= 'selected_delivery_method = \'' . $selected_delivery_method . '\';';
70 -if(isset($usces_entries['order']['delivery_date'])) {
71 - $html .= 'selected_delivery_date = \''.$usces_entries['order']['delivery_date'].'\';';
72 -}
73 -
74 -//カートに入っている商品の発送日目安
75 -$shipping = 0;
76 -$cart = $usces->cart->get_cart();
77 -for($i = 0; $i < count($cart); $i++) {
78 - $cart_row = $cart[$i];
79 - $post_id = $cart_row['post_id'];
80 - $itemShipping = $usces->getItemShipping($post_id);
81 -//20110606ysk start
82 - if($itemShipping == 0 or $itemShipping == 9) {
83 - $shipping = 0;
84 - break;
85 - }
86 - if($shipping < $itemShipping) $shipping = $itemShipping;
87 -//20110606ysk end
88 -}
89 -$html .= 'var shipping = '.$shipping.';';
90 -//配送業務締時間
91 -//20110422ysk start
92 -$hour = (!empty($usces->options['delivery_time_limit']['hour'])) ? $usces->options['delivery_time_limit']['hour'] : '00';
93 -$min = (!empty($usces->options['delivery_time_limit']['min'])) ? $usces->options['delivery_time_limit']['min'] : '00';
94 -$html .= 'var delivery_time_limit_hour = "'.$hour.'";';
95 -$html .= 'var delivery_time_limit_min = "'.$min.'";';
96 -//20110422ysk end
97 -//最短宅配時間帯
98 -$html .= 'var shortest_delivery_time = '.(int)$usces->options['shortest_delivery_time'].';';
99 -//配送希望日を何日後まで表示するか
100 -$delivery_after_days = (!empty($usces->options['delivery_after_days'])) ? (int)$usces->options['delivery_after_days'] : 15;
101 -$html .= 'var delivery_after_days = '.$delivery_after_days.';';
102 -//配送先県(customer)
103 -$html .= 'var customer_pref = "'.esc_js($usces_entries['customer']['pref']).'";';
104 -//配送先県(customer/delivery)
105 -$delivery_pref = (isset($usces_entries['delivery']['pref']) && !empty($usces_entries['delivery']['pref'])) ? $usces_entries['delivery']['pref'] : $usces_entries['customer']['pref'];
106 -$html .= 'var delivery_pref = "'.esc_js($delivery_pref).'";';
107 -//20120710ysk start 0000472
108 -$delivery_country = (isset($usces_entries['delivery']['country']) && !empty($usces_entries['delivery']['country'])) ? $usces_entries['delivery']['country'] : $usces_entries['customer']['country'];
109 -$html .= 'var delivery_country = "'.esc_js($delivery_country).'";';
110 -//20120710ysk end
111 -//選択可能な配送方法に設定されている配達日数
112 -//20120612ysk start 0000501
113 -$html_days = 'var delivery_days = [];';
114 -foreach((array)$default_deli as $id) {
115 - $index = $usces->get_delivery_method_index($id);
116 - if(0 <= $index) {
117 - $html_days .= 'delivery_days['.$id.'] = [];';
118 - $html_days .= 'delivery_days['.$id.'].push("'.$usces->options['delivery_method'][$index]['days'].'");';
119 - }
120 -}
121 -//20120612ysk end
122 -//配達日数に設定されている県毎の日数
123 -//20110317ysk start
124 -//$prefs = $usces->options['province'];
125 -//array_shift($prefs);
126 -//global $usces_states;
127 -$target_market = ( isset($usces->options['system']['target_market']) && !empty($usces->options['system']['target_market']) ) ? $usces->options['system']['target_market'] : usces_get_local_target_market();
128 -foreach((array)$target_market as $tm) {
129 -//20110331ysk start
130 - //$prefs[$tm] = $usces_states[$tm];
131 - $prefs[$tm] = get_usces_states($tm);
132 -//20110331ysk end
133 - array_shift($prefs[$tm]);
134 -}
135 -//20110317ysk end
136 -$delivery_days = $usces->options['delivery_days'];
137 -//20120612ysk start 0000501
138 -$html_days .= 'var delivery_days_value = [];';
139 -foreach((array)$default_deli as $key => $id) {
140 - $index = $usces->get_delivery_method_index($id);
141 - if(0 <= $index) {
142 - $days = (int)$usces->options['delivery_method'][$index]['days'];
143 - if(0 <= $days) {
144 - for($i = 0; $i < count((array)$delivery_days); $i++) {
145 - if((int)$delivery_days[$i]['id'] == $days) {
146 - $html_days .= 'delivery_days_value['.$days.'] = [];';
147 -//20110317ysk start
148 -//20120710ysk start 0000472
149 - //$country = $usces->options['delivery_days'][$i]['country'];
150 - //foreach((array)$prefs as $pref) {
151 - //foreach((array)$prefs[$country] as $pref) {
152 -//20110317ysk end
153 - //$html_days .= 'delivery_days_value['.$days.']["'.$pref.'"] = [];';
154 - //$html_days .= 'delivery_days_value['.$days.']["'.$pref.'"].push("'.(int)$delivery_days[$i]['value'][$pref].'");';
155 - foreach( (array)$target_market as $tm ) {
156 - $html_days .= 'delivery_days_value['.$days.']["'.$tm.'"] = [];';
157 - foreach( (array)$prefs[$tm] as $pref) {
158 - $pref = esc_js($pref);
159 - $html_days .= 'delivery_days_value['.$days.']["'.$tm.'"]["'.$pref.'"] = [];';
160 - $html_days .= 'delivery_days_value['.$days.']["'.$tm.'"]["'.$pref.'"].push("'.(int)$delivery_days[$i][$tm][$pref].'");';
161 - }
162 -//20120710ysk end
163 - }
164 - }
165 - }
166 - }
167 - }
168 -}
169 -$html .= apply_filters('usces_filter_delivery_days_value', $html_days, $cart, $default_deli, $prefs);
170 -//20120612ysk end
171 -//20101208ysk end
172 -//20110131ysk start
173 -$business_days = 0;
174 -list($yy, $mm, $dd) = getToday();
175 -//20110228ysk start
176 -//$business = $this->options['business_days'][$yy][$mm][$dd];
177 -$business = (isset($usces->options['business_days'][$yy][$mm][$dd])) ? $usces->options['business_days'][$yy][$mm][$dd] : 1;
178 -//20110228ysk end
179 -while($business != 1) {
180 - $business_days++;
181 - list($yy, $mm, $dd) = getNextDay($yy, $mm, $dd);
182 - $business = $usces->options['business_days'][$yy][$mm][$dd];
183 -}
184 -$html .= 'var business_days = '.$business_days.';';
185 -//20110131ysk end
186 -
187 -$html .= 'selected_delivery_time = \'' . esc_js($usces_entries['order']['delivery_time']) . '\';
188 - var delivery_time = [];delivery_time[0] = [];';
189 -
190 -foreach((array)$usces->options['delivery_method'] as $dmid => $dm){
191 - $lines = explode("\n", $dm['time']);
192 - $html .= 'delivery_time[' . $dm['id'] . '] = [];';
193 - foreach((array)$lines as $line){
194 - if(trim($line) != ''){
195 - $html .= 'delivery_time[' . $dm['id'] . '].push("' . trim($line) . '");';
196 - }
197 - }
198 -}
199 -
200 -$payments_str = '';
201 -$payments_arr = array();
202 -$payments = usces_get_system_option( 'usces_payment_method', 'sort' );
203 -foreach ( (array)$payments as $array ) {
204 - switch( $array['settlement'] ){
205 - case 'acting_zeus_card':
206 - $paymod_base = 'zeus';
207 - if( 'on' == $usces->options['acting_settings'][$paymod_base]['card_activate']
208 - && 'on' == $usces->options['acting_settings'][$paymod_base]['activate'] ){
209 -
210 - $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "', ";
211 - $payments_arr[] = $paymod_base;
212 - }
213 - break;
214 - case 'acting_zeus_conv':
215 - $paymod_base = 'zeus';
216 - if( 'on' == $usces->options['acting_settings'][$paymod_base]['conv_activate']
217 - && 'on' == $usces->options['acting_settings'][$paymod_base]['activate'] ){
218 -
219 - $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "_conv', ";
220 - $payments_arr[] = $paymod_base.'_conv';
221 - }
222 - break;
223 - case 'acting_remise_card':
224 - $paymod_base = 'remise';
225 - if( 'on' == $usces->options['acting_settings'][$paymod_base]['card_activate']
226 - && 'on' == $usces->options['acting_settings'][$paymod_base]['howpay']
227 - && 'on' == $usces->options['acting_settings'][$paymod_base]['activate'] ){
228 -
229 - $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "', ";
230 - $payments_arr[] = $paymod_base;
231 - }
232 - break;
233 - }
234 -}
235 -$payments_str = rtrim($payments_str, ', ');
236 -
237 -$html .= "
238 - var uscesPaymod = { " . $payments_str . " };
239 -
240 - $(\"input[name='offer\\[payment_name\\]']\").click(function() {";
241 -
242 -foreach($payments_arr as $pm ){
243 - $html .= "
244 - $(\"#" . $pm . "\").css({\"display\": \"none\"});\n";
245 -}
246 -
247 -//20101208ysk start
248 -/*
249 -$html .= "
250 - var chk_pay = $(\"input[name='offer\\[payment_name\\]']:checked\").val();
251 - if( uscesPaymod[chk_pay] != '' ){
252 - $(\"#\" + uscesPaymod[chk_pay]).css({\"display\": \"block\"});
253 - }
254 - });
255 -
256 - $('#delivery_method_select').change(function() {
257 - orderfunc.make_delivery_time(($('#delivery_method_select option:selected').val()-0));
258 - });
259 -
260 - orderfunc = {
261 - make_delivery_time : function(selected) {
262 - var option = '';
263 - if(delivery_time[selected] != undefined){
264 - for(var i=0; i<delivery_time[selected].length; i++){
265 - if( delivery_time[selected][i] == selected_delivery_time ) {
266 - option += '<option value=\"' + delivery_time[selected][i] + '\" selected=\"selected\">' + delivery_time[selected][i] + '</option>';
267 - }else{
268 - option += '<option value=\"' + delivery_time[selected][i] + '\">' + delivery_time[selected][i] + '</option>';
269 - }
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_time_select\").html(option);
276 - }
277 - };
278 - ";
279 -*/
280 -$cart_delivery_script = "
281 - var chk_pay = $(\"input[name='offer\\[payment_name\\]']:checked\").val();
282 - if( uscesPaymod[chk_pay] != '' ){
283 - $(\"#\" + uscesPaymod[chk_pay]).css({\"display\": \"table\"});
284 - }
285 - });
286 -
287 - $('#delivery_method_select').change(function() {
288 - orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
289 - orderfunc.make_delivery_time(($('#delivery_method_select option:selected').val()-0));
290 - });
291 -
292 - $('#delivery_flag1').click(function() {
293 - if(customer_pref != delivery_pref) {
294 - delivery_pref = customer_pref;
295 - orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
296 - }
297 - });
298 -
299 -//20110317ysk start
300 - $('#delivery_flag2').click(function() {
301 - //if($('#delivery_flag2').attr('checked') && 0 < $('#pref').attr('selectedIndex')) {
302 -//20110722ysk start 0000210
303 - //if($('#delivery_flag2').attr('checked') && 0 < $('#delivery_pref').attr('selectedIndex')) {
304 - if($('#delivery_flag2').attr('checked') && undefined != $('#delivery_pref').get(0) && 0 < $('#delivery_pref').get(0).selectedIndex) {
305 -//20110722ysk end
306 - //delivery_pref = $('#pref').val();
307 - delivery_pref = $('#delivery_pref').val();
308 - orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
309 - }
310 - });
311 -
312 - //$('#pref').change(function() {
313 - $('#delivery_pref').change(function() {
314 - //if($('#delivery_flag2').attr('checked') && 0 < $('#pref').attr('selectedIndex')) {
315 -//20110722ysk start 0000210
316 - //if($('#delivery_flag2').attr('checked') && 0 < $('#delivery_pref').attr('selectedIndex')) {
317 - if($('#delivery_flag2').attr('checked') && undefined != $('#delivery_pref').get(0) && 0 < $('#delivery_pref').get(0).selectedIndex) {
318 -//20110722ysk end
319 - //delivery_pref = $('#pref').val();
320 - delivery_pref = $('#delivery_pref').val();
321 - orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
322 - }
323 - });
324 -//20110317ysk end
325 -
326 - orderfunc = {
327 - make_delivery_date : function(selected) {
328 - var option = '';
329 - var message = '';
330 -//20110606ysk start
331 - //if(delivery_days[selected] != undefined && 0 < delivery_days[selected].length) {
332 - if(delivery_days[selected] != undefined && 0 <= delivery_days[selected]) {
333 -//20110606ysk end
334 - switch(shipping) {
335 - case 0://指定なし
336 - case 9://商品入荷後
337 - break;
338 - default:
339 - var date = new Array();
340 - date['year'] = '" . $sendout['sendout_date']['year'] . "';
341 - date['month'] = '" . $sendout['sendout_date']['month'] . "';
342 - date['day'] = '" . $sendout['sendout_date']['day'] . "';
343 - //配達日数加算
344 - if(delivery_days_value[delivery_days[selected]] != undefined) {
345 -//20120710ysk start 0000472
346 - //if(delivery_days_value[delivery_days[selected]][delivery_pref] != undefined) {
347 - // date = addDate(date[\"year\"], date[\"month\"], date[\"day\"], delivery_days_value[delivery_days[selected]][delivery_pref]);
348 - //}
349 - if(delivery_days_value[delivery_days[selected]][delivery_country][delivery_pref] != undefined) {
350 - date = addDate(date[\"year\"], date[\"month\"], date[\"day\"], delivery_days_value[delivery_days[selected]][delivery_country][delivery_pref]);
351 - }
352 -//20120710ysk end
353 - }
354 - //最短配送時間帯メッセージ
355 - var date_str = date[\"year\"]+\"-\"+date[\"month\"]+\"-\"+date[\"day\"];
356 - switch(shortest_delivery_time) {
357 - case 0://指定しない 20110106ysk -> 20111128ysk DEL
358 - //message = " . __("'最短 ' + date_str + ' からご指定いただけます。'", 'usces') . ";
359 - break;
360 - case 1://午前着可
361 - message = " . __("'最短 ' + date_str + ' の午前中からご指定いただけます。'", 'usces') . ";
362 - break;
363 - case 2://午前着不可
364 - message = " . __("'最短 ' + date_str + ' の午後からご指定いただけます。'", 'usces') . ";
365 - break;
366 - }
367 -//20110126ysk start
368 - //option += '<option value=\"0\">".__('No preference', 'usces')."</option>';
369 - option += '<option value=\"".__('No preference', 'usces')."\">".__('No preference', 'usces')."</option>';
370 -//20110126ysk end";
371 -$delivery_after_days_script = "
372 - for(var i = 0; i < delivery_after_days; i++) {
373 - date_str = date[\"year\"]+\"-\"+date[\"month\"]+\"-\"+date[\"day\"];
374 - if(date_str == selected_delivery_date) {
375 - option += '<option value=\"' + date_str + '\" selected>' + date_str + '</option>';
376 - } else {
377 - option += '<option value=\"' + date_str + '\">' + date_str + '</option>';
378 - }
379 - date = addDate(date[\"year\"], date[\"month\"], date[\"day\"], 1);
380 - }";
381 -$cart_delivery_script .= apply_filters( 'usces_delivery_after_days_script', $delivery_after_days_script );
382 -$cart_delivery_script .= "
383 - break;
384 - }
385 - }
386 - if(option == '') {
387 - option = '<option value=\"".__('There is not a choice.', 'usces')."\">' + '".__('There is not a choice.', 'usces')."' + '</option>';
388 - }
389 - $(\"#delivery_date_select\").html(option);
390 - $(\"#delivery_time_limit_message\").html(message);
391 - },
392 - make_delivery_time : function(selected) {
393 - var option = '';
394 - if(delivery_time[selected] != undefined){
395 - for(var i=0; i<delivery_time[selected].length; i++){
396 - if( delivery_time[selected][i] == selected_delivery_time ) {
397 - option += '<option value=\"' + delivery_time[selected][i] + '\" selected=\"selected\">' + delivery_time[selected][i] + '</option>';
398 - }else{
399 - option += '<option value=\"' + delivery_time[selected][i] + '\">' + delivery_time[selected][i] + '</option>';
400 - }
401 - }
402 - }
403 - if(option == ''){
404 - option = '<option value=\"" . __('There is not a choice.', 'usces') . "\">' + '" . __('There is not a choice.', 'usces') . "' + '</option>';
405 - }
406 - $(\"#delivery_time_select\").html(option);
407 - }
408 - };
409 - ";
410 -//20101208ysk end
411 -
412 -if($usces_entries['delivery']['delivery_flag'] == 0) {
413 - $cart_delivery_script .= "
414 - $(\"#delivery_table\").css({display: \"none\"});\n";
415 -}
416 -
417 -//20101208ysk start
418 -$cart_delivery_script .= "
419 - orderfunc.make_delivery_date(selected_delivery_method);\n";
420 -//20101208ysk end
421 -
422 -$cart_delivery_script .= "
423 - orderfunc.make_delivery_time(selected_delivery_method);\n";
424 -
425 -$html .= apply_filters( 'usces_filter_cart_delivery_script', $cart_delivery_script, $usces_entries, $sendout );
426 -
427 -foreach($payments_arr as $pn => $pm ){
428 - $html .= "
429 - $(\"#" . $pm . "\").css({\"display\": \"none\"});\n";
430 -
431 - switch( $pm ){
432 - case 'zeus':
433 - if('on' == $usces->options['acting_settings'][$pm]['howpay']){
434 - $html .= "
435 - $(\"input[name='howpay']\").change(function() {
436 - if( '' != $(\"select[name='cbrand'] option:selected\").val() ){
437 - $(\"#div_" . $pm . "\").css({\"display\": \"\"});
438 - }
439 - if( '1' == $(\"input[name='howpay']:checked\").val() ){
440 - $(\"#cbrand_" . $pm . "\").css({\"display\": \"none\"});
441 - $(\"#div_" . $pm . "\").css({\"display\": \"none\"});
442 - }else{
443 - $(\"#cbrand_" . $pm . "\").css({\"display\": \"\"});
444 - }
445 - });
446 -
447 - $(\"select[name='cbrand']\").change(function() {
448 - $(\"#div_" . $pm . "\").css({\"display\": \"\"});
449 - if( '1' == $(\"select[name='cbrand'] option:selected\").val() ){
450 - $(\"#brand1\").css({\"display\": \"\"});
451 - $(\"#brand2\").css({\"display\": \"none\"});
452 - $(\"#brand3\").css({\"display\": \"none\"});
453 - }else if( '2' == $(\"select[name='cbrand'] option:selected\").val() ){
454 - $(\"#brand1\").css({\"display\": \"none\"});
455 - $(\"#brand2\").css({\"display\": \"\"});
456 - $(\"#brand3\").css({\"display\": \"none\"});
457 - }else if( '3' == $(\"select[name='cbrand'] option:selected\").val() ){
458 - $(\"#brand1\").css({\"display\": \"none\"});
459 - $(\"#brand2\").css({\"display\": \"none\"});
460 - $(\"#brand3\").css({\"display\": \"\"});
461 - }else{
462 - $(\"#brand1\").css({\"display\": \"none\"});
463 - $(\"#brand2\").css({\"display\": \"none\"});
464 - $(\"#brand3\").css({\"display\": \"none\"});
465 - }
466 - });
467 -
468 - if( '1' == $(\"input[name='howpay']:checked\").val() ){
469 - $(\"#cbrand_" . $pm . "\").css({\"display\": \"none\"});
470 - $(\"#div_" . $pm . "\").css({\"display\": \"none\"});
471 - }else{
472 - $(\"#cbrand_" . $pm . "\").css({\"display\": \"\"});
473 - $(\"#div_" . $pm . "\").css({\"display\": \"\"});
474 - }
475 -
476 - if( '1' == $(\"select[name='cbrand'] option:selected\").val() ){
477 - $(\"#brand1\").css({\"display\": \"\"});
478 - $(\"#brand2\").css({\"display\": \"none\"});
479 - $(\"#brand3\").css({\"display\": \"none\"});
480 - }else if( '2' == $(\"select[name='cbrand'] option:selected\").val() ){
481 - $(\"#brand1\").css({\"display\": \"none\"});
482 - $(\"#brand2\").css({\"display\": \"\"});
483 - $(\"#brand3\").css({\"display\": \"none\"});
484 - }else if( '3' == $(\"select[name='cbrand'] option:selected\").val() ){
485 - $(\"#brand1\").css({\"display\": \"none\"});
486 - $(\"#brand2\").css({\"display\": \"none\"});
487 - $(\"#brand3\").css({\"display\": \"\"});
488 - }else{
489 - $(\"#brand1\").css({\"display\": \"none\"});
490 - $(\"#brand2\").css({\"display\": \"none\"});
491 - $(\"#brand3\").css({\"display\": \"none\"});
492 - }
493 -
494 - \n";
495 - }
496 - break;
497 -
498 - }
499 -}
500 -
501 -$html .= "
502 - ch_pay = $(\"input[name='offer\\[payment_name\\]']:checked\").val();
503 - if( uscesPaymod[ch_pay] != '' ){
504 - $(\"#\" + uscesPaymod[ch_pay]).css({\"display\": \"\"});
505 - }";
506 -
507 -$html .= "
508 - });
509 -</script>
510 -";
511 -?>
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";