PluginProbe
Welcart e-Commerce / 1.4.0
Welcart e-Commerce v1.4.0
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.4.0, at includes/delivery_info_script.php

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