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

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

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