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