PluginProbe
Welcart e-Commerce / 1.3.3
Welcart e-Commerce v1.3.3
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
usc-e-shop / includes / delivery_info_script.php

delivery_info_script.php in Welcart e-Commerce 1.3.3, at includes/delivery_info_script.php

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