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

410 lines 15.4 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 $payments = apply_filters( 'usces_filter_available_payment_method', $payments );
163 foreach ( (array)$payments as $array ) {
164 switch( $array['settlement'] ){
165 case 'acting_zeus_card':
166 $paymod_base = 'zeus';
167 if( 'on' == $usces->options['acting_settings'][$paymod_base]['card_activate']
168 && 'on' == $usces->options['acting_settings'][$paymod_base]['activate'] ){
169 $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "', ";
170 $payments_arr[] = $paymod_base;
171 }
172 break;
173 case 'acting_zeus_conv':
174 $paymod_base = 'zeus';
175 if( 'on' == $usces->options['acting_settings'][$paymod_base]['conv_activate']
176 && 'on' == $usces->options['acting_settings'][$paymod_base]['activate'] ){
177 $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "_conv', ";
178 $payments_arr[] = $paymod_base.'_conv';
179 }
180 break;
181 case 'acting_remise_card':
182 $paymod_base = 'remise';
183 if( 'on' == $usces->options['acting_settings'][$paymod_base]['card_activate']
184 && 'on' == $usces->options['acting_settings'][$paymod_base]['howpay']
185 && 'on' == $usces->options['acting_settings'][$paymod_base]['activate'] ){
186 $payments_str .= "'" . $array['name'] . "': '" . $paymod_base . "', ";
187 $payments_arr[] = $paymod_base;
188 }
189 break;
190 }
191 }
192 $payments_str = rtrim($payments_str, ', ');
193
194 $html .= "
195 var uscesPaymod = { " . $payments_str . " };
196
197 $(\"input[name='offer\\[payment_name\\]']\").click(function() {";
198
199 foreach($payments_arr as $pm ){
200 $html .= "
201 $(\"#" . $pm . "\").css({\"display\": \"none\"});\n";
202 }
203
204 $cart_delivery_script = "
205 var chk_pay = $(\"input[name='offer\\[payment_name\\]']:checked\").val();
206 if( uscesPaymod[chk_pay] != '' ){
207 $(\"#\" + uscesPaymod[chk_pay]).css({\"display\": \"table\"});
208 }
209 });
210
211 $('#delivery_method_select').change(function() {
212 orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
213 orderfunc.make_delivery_time(($('#delivery_method_select option:selected').val()-0));
214 });
215
216 $('#delivery_flag1').click(function() {
217 if(customer_pref != delivery_pref) {
218 delivery_pref = customer_pref;
219 orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
220 }
221 });
222
223 $('#delivery_flag2').click(function() {
224 if($('#delivery_flag2').attr('checked') && undefined != $('#delivery_pref').get(0) && 0 < $('#delivery_pref').get(0).selectedIndex) {
225 delivery_pref = $('#delivery_pref').val();
226 orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
227 }
228 });
229
230 $('#delivery_pref').change(function() {
231 if($('#delivery_flag2').attr('checked') && undefined != $('#delivery_pref').get(0) && 0 < $('#delivery_pref').get(0).selectedIndex) {
232 delivery_pref = $('#delivery_pref').val();
233 orderfunc.make_delivery_date(($('#delivery_method_select option:selected').val()-0));
234 }
235 });
236 orderfunc = {
237 make_delivery_date : function(selected) {
238 var option = '';
239 var message = '';
240 if(delivery_days[selected] != undefined && 0 <= delivery_days[selected]) {
241 switch(shipping) {
242 case 0://指定なし
243 case 9://商品�
244 �荷後
245 break;
246 default:
247 var date = new Array();
248 date['year'] = '" . $sendout['sendout_date']['year'] . "';
249 date['month'] = '" . $sendout['sendout_date']['month'] . "';
250 date['day'] = '" . $sendout['sendout_date']['day'] . "';
251 //�
252 �達日数加算
253 if(delivery_days_value[delivery_days[selected]] != undefined) {
254 if(delivery_days_value[delivery_days[selected]][delivery_country][delivery_pref] != undefined) {
255 date = addDate(date[\"year\"], date[\"month\"], date[\"day\"], delivery_days_value[delivery_days[selected]][delivery_country][delivery_pref]);
256 }
257 }
258 //最短�
259 �送時間帯メッセージ
260 var date_str = date[\"year\"]+\"-\"+date[\"month\"]+\"-\"+date[\"day\"];
261 switch(shortest_delivery_time) {
262 case 0://指定しない 20110106ysk -> 20111128ysk DEL
263 //message = " . __("'最短 ' + date_str + ' からご指定いただけます。'", 'usces') . ";
264 break;
265 case 1://午前着可
266 message = " . __("'最短 ' + date_str + ' の午前中からご指定いただけます。'", 'usces') . ";
267 break;
268 case 2://午前着不可
269 message = " . __("'最短 ' + date_str + ' の午後からご指定いただけます。'", 'usces') . ";
270 break;
271 }";
272 $delivery_after_days_script = "
273 option += '<option value=\"".__('No preference', 'usces')."\">".__('No preference', 'usces')."</option>';
274 for(var i = 0; i < delivery_after_days; i++) {
275 date_str = date[\"year\"]+\"-\"+date[\"month\"]+\"-\"+date[\"day\"];
276 if(date_str == selected_delivery_date) {
277 option += '<option value=\"' + date_str + '\" selected>' + date_str + '</option>';
278 } else {
279 option += '<option value=\"' + date_str + '\">' + date_str + '</option>';
280 }
281 date = addDate(date[\"year\"], date[\"month\"], date[\"day\"], 1);
282 }";
283 $cart_delivery_script .= apply_filters( 'usces_delivery_after_days_script', $delivery_after_days_script );
284 $cart_delivery_script .= "
285 break;
286 }
287 }
288 if(option == '') {
289 option = '<option value=\"".__('There is not a choice.', 'usces')."\">' + '".__('There is not a choice.', 'usces')."' + '</option>';
290 }
291 $(\"#delivery_date_select\").html(option);
292 $(\"#delivery_time_limit_message\").html(message);
293 },
294 make_delivery_time : function(selected) {
295 var option = '';
296 if(delivery_time[selected] != undefined){
297 for(var i=0; i<delivery_time[selected].length; i++){
298 if( delivery_time[selected][i] == selected_delivery_time ) {
299 option += '<option value=\"' + delivery_time[selected][i] + '\" selected=\"selected\">' + delivery_time[selected][i] + '</option>';
300 }else{
301 option += '<option value=\"' + delivery_time[selected][i] + '\">' + delivery_time[selected][i] + '</option>';
302 }
303 }
304 }
305 if(option == ''){
306 option = '<option value=\"" . __('There is not a choice.', 'usces') . "\">' + '" . __('There is not a choice.', 'usces') . "' + '</option>';
307 }
308 $(\"#delivery_time_select\").html(option);
309 }
310 };
311 ";
312
313 if($usces_entries['delivery']['delivery_flag'] == 0) {
314 $cart_delivery_script .= "
315 $(\"#delivery_table\").css({display: \"none\"});\n";
316 }
317
318 $cart_delivery_script .= "
319 orderfunc.make_delivery_date(selected_delivery_method);\n";
320
321 $cart_delivery_script .= "
322 orderfunc.make_delivery_time(selected_delivery_method);\n";
323
324 $html .= apply_filters( 'usces_filter_cart_delivery_script', $cart_delivery_script, $usces_entries, $sendout );
325
326 foreach($payments_arr as $pn => $pm ){
327 $html .= "
328 $(\"#" . $pm . "\").css({\"display\": \"none\"});\n";
329
330 switch( $pm ){
331 case 'zeus':
332 if('on' == $usces->options['acting_settings'][$pm]['howpay']){
333 $html .= "
334 $(\"input[name='howpay']\").change(function() {
335 if( '' != $(\"select[name='cbrand'] option:selected\").val() ){
336 $(\"#div_" . $pm . "\").css({\"display\": \"\"});
337 }
338 if( '1' == $(\"input[name='howpay']:checked\").val() ){
339 $(\"#cbrand_" . $pm . "\").css({\"display\": \"none\"});
340 $(\"#div_" . $pm . "\").css({\"display\": \"none\"});
341 }else{
342 $(\"#cbrand_" . $pm . "\").css({\"display\": \"\"});
343 }
344 });
345
346 $(\"select[name='cbrand']\").change(function() {
347 $(\"#div_" . $pm . "\").css({\"display\": \"\"});
348 if( '1' == $(\"select[name='cbrand'] option:selected\").val() ){
349 $(\"#brand1\").css({\"display\": \"\"});
350 $(\"#brand2\").css({\"display\": \"none\"});
351 $(\"#brand3\").css({\"display\": \"none\"});
352 }else if( '2' == $(\"select[name='cbrand'] option:selected\").val() ){
353 $(\"#brand1\").css({\"display\": \"none\"});
354 $(\"#brand2\").css({\"display\": \"\"});
355 $(\"#brand3\").css({\"display\": \"none\"});
356 }else if( '3' == $(\"select[name='cbrand'] option:selected\").val() ){
357 $(\"#brand1\").css({\"display\": \"none\"});
358 $(\"#brand2\").css({\"display\": \"none\"});
359 $(\"#brand3\").css({\"display\": \"\"});
360 }else{
361 $(\"#brand1\").css({\"display\": \"none\"});
362 $(\"#brand2\").css({\"display\": \"none\"});
363 $(\"#brand3\").css({\"display\": \"none\"});
364 }
365 });
366
367 if( '1' == $(\"input[name='howpay']:checked\").val() ){
368 $(\"#cbrand_" . $pm . "\").css({\"display\": \"none\"});
369 $(\"#div_" . $pm . "\").css({\"display\": \"none\"});
370 }else{
371 $(\"#cbrand_" . $pm . "\").css({\"display\": \"\"});
372 $(\"#div_" . $pm . "\").css({\"display\": \"\"});
373 }
374
375 if( '1' == $(\"select[name='cbrand'] option:selected\").val() ){
376 $(\"#brand1\").css({\"display\": \"\"});
377 $(\"#brand2\").css({\"display\": \"none\"});
378 $(\"#brand3\").css({\"display\": \"none\"});
379 }else if( '2' == $(\"select[name='cbrand'] option:selected\").val() ){
380 $(\"#brand1\").css({\"display\": \"none\"});
381 $(\"#brand2\").css({\"display\": \"\"});
382 $(\"#brand3\").css({\"display\": \"none\"});
383 }else if( '3' == $(\"select[name='cbrand'] option:selected\").val() ){
384 $(\"#brand1\").css({\"display\": \"none\"});
385 $(\"#brand2\").css({\"display\": \"none\"});
386 $(\"#brand3\").css({\"display\": \"\"});
387 }else{
388 $(\"#brand1\").css({\"display\": \"none\"});
389 $(\"#brand2\").css({\"display\": \"none\"});
390 $(\"#brand3\").css({\"display\": \"none\"});
391 }
392
393 \n";
394 }
395 break;
396 }
397 }
398
399 $html .= "
400 ch_pay = $(\"input[name='offer\\[payment_name\\]']:checked\").val();
401 if( uscesPaymod[ch_pay] != '' ){
402 $(\"#\" + uscesPaymod[ch_pay]).css({\"display\": \"\"});
403 }";
404
405 $html .= "
406 });
407 </script>
408 ";
409 ?>
410