Changeset 22087


Ignore:
Timestamp:
2012/11/09 16:41:28 (9 years ago)
Author:
h_yoshimoto
Message:

#1955 r22083 ~ r22086間のコミットをmerge

Location:
branches/version-2_12-multilang
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-multilang

  • branches/version-2_12-multilang/data/class/SC_ClassAutoloader.php

    r21991 r22087  
    7272            $plugin_class = $class; 
    7373            $plugin_classpath = $classpath; 
     74 
    7475            $objPlugin->doAction('loadClassFileChange', array(&$plugin_class, &$plugin_classpath)); 
     76 
    7577            // FIXME: トリッキーな処理で _Ex ファイルを無視しないようにする(無視するとユーザーカスタマイズで分かりにくい) 
    7678            //        SC_XXXX_Ex がロードされる場合にextendsのchainを 
    7779            //        SC_XXXX_Ex -> SC_XXXX から、 SC_XXXX_Ex -> $class (-> SC_XXXX) と変える。 
    7880            //        そうでない場合は、直接置き換えと想定して帰ってきたクラスをロードする 
    79             if ($plugin_class !== $class) { 
     81            if (is_array($plugin_class) && count($plugin_class) > 0) { 
     82                $arrPluginClassName = $plugin_class; 
     83                $arrPluginClassPath = $plugin_classpath; 
     84 
     85                foreach ($arrPluginClassName as $key => $plugin_class) { 
     86                    $plugin_classpath = $arrPluginClassPath[$key]; 
     87 
     88                    if ($is_ex) { 
     89                        // Ex ファイルへのフックの場合のみチェイン変更する。 
     90 
     91                        if ($parent_classname) { 
     92                            $exp = "/(class[ ]+{$plugin_class}[ ]+extends +)[a-zA-Z_\-]+( *{?)/"; 
     93                            $replace = '$1' . $parent_classname . '$2'; 
     94 
     95                            $base_class_str = file_get_contents($plugin_classpath); 
     96                            $base_class_str = str_replace(array('<?php', '?>'), '', $base_class_str); 
     97                            $base_class_str = preg_replace($exp, $replace, $base_class_str, 1); 
     98                            eval($base_class_str); 
     99                        } else { 
     100                            include $plugin_classpath; 
     101                        } 
     102 
     103                        $parent_classname = $plugin_class; 
     104                    } else { 
     105                        include $plugin_classpath; 
     106                    } 
     107                } 
     108 
    80109                if ($is_ex) { 
    81                     // Ex ファイルへのフックの場合のみチェイン変更する。 
    82                     $exp = "/(class[ ]+{$class}[ ]+extends +)[a-zA-Z_\-]+( *{)/"; 
    83                     $replace = '$1' . $plugin_class . '$2'; 
     110                    $exp = "/(class[ ]+{$class}[ ]+extends +)[a-zA-Z_\-]+( *{?)/"; 
     111                    $replace = '$1' . $parent_classname . '$2'; 
    84112                    $base_class_str = file_get_contents($classpath); 
    85113                    $base_class_str = str_replace(array('<?php', '?>'), '', $base_class_str); 
    86114                    $base_class_str = preg_replace($exp, $replace, $base_class_str, 1); 
    87                     include $plugin_classpath; 
    88115                    eval($base_class_str); 
    89116                    return; 
    90                 } else { 
    91                     include $plugin_classpath; 
    92117                } 
    93118            } 
  • branches/version-2_12-multilang/data/class/helper/SC_Helper_Plugin.php

    r22058 r22087  
    105105        } 
    106106 
     107        if ($hook_point == 'loadClassFileChange') { 
     108            $arrSaveArgs = $arrArgs; 
     109            $arrClassName = array(); 
     110            $arrClassPath = array(); 
     111        } 
     112 
    107113        if (array_key_exists($hook_point, $this->arrRegistedPluginActions) 
    108114            && is_array($this->arrRegistedPluginActions[$hook_point])) { 
     
    113119                foreach ($arrFuncs as $func) { 
    114120                    if (!is_null($func['function'])) { 
    115                         call_user_func_array($func['function'], $arrArgs); 
     121                        if ($hook_point == 'loadClassFileChange') { 
     122                            $classname = $arrSaveArgs[0]; 
     123                            $classpath = $arrSaveArgs[1]; 
     124                            $arrTempArgs = array(&$classname, &$classpath); 
     125 
     126                            call_user_func_array($func['function'], $arrTempArgs); 
     127 
     128                            if ($classname !== $arrSaveArgs[0]) { 
     129                                $arrClassName[] = $classname; 
     130                                $arrClassPath[] = $classpath; 
     131                            } 
     132                        } else { 
     133                            call_user_func_array($func['function'], $arrArgs); 
     134                        } 
    116135                    } 
     136                } 
     137            } 
     138 
     139            if ($hook_point == 'loadClassFileChange') { 
     140                if (count($arrClassName) > 0) { 
     141                    $arrArgs[0] = $arrClassName; 
     142                    $arrArgs[1] = $arrClassPath; 
    117143                } 
    118144            } 
  • branches/version-2_12-multilang/data/class/pages/shopping/LC_Page_Shopping_Multiple.php

    r22081 r22087  
    337337        } 
    338338 
     339        //不必要な配送先を削除 
     340        foreach ($_SESSION['shipping'] as $id=>$arrShipping) { 
     341            if(!isset($arrShipping['shipment_item'])){ 
     342                $objPurchase->unsetOneShippingTemp($id); 
     343            } 
     344        } 
     345 
    339346        // $arrValues[0] には, 購入者の情報が格納されている 
    340347        $objPurchase->saveOrderTemp($uniqid, $arrValues[0], $objCustomer); 
  • branches/version-2_12-multilang/html/user_data/packages/sphone/js/jquery.flickslide.js

    r22081 r22087  
    6868                                                $(settings.parentArea + ' .flickSlideContainer li.slideUnit').get(0)) 
    6969                                                .width.replace('px',''))*-1; 
    70  
    71                                                                        $('div.flickSlideContainer ul.move').get(0).style.webkitTransform = 'translate(0,0)'; 
     70                                        $('div.flickSlideContainer ul.move').get(0).style.webkitTransform = 'translate(0,0)'; 
    7271                                } 
    7372                                currentX=0; 
     
    120119                            if(settings.direction==='prev'){ 
    121120                                if(currentX==0){ 
    122                                                                        slideObj.get(0).style.webkitTransform='translate(0, 0)'; 
     121                                    slideObj.get(0).style.webkitTransform='translate(0, 0)'; 
    123122                                    slideTimer=setTimeout(lotation,slideDuration); 
    124123                                    slideLock=0; 
    125124                                }else{ 
    126125                                    currentX = currentX+slideUnitWidth; 
    127                                                                        slideObj.get(0).style.webkitTransform = 'translate('+currentX+'px, 0)'; 
     126                                    slideObj.get(0).style.webkitTransform = 'translate('+currentX+'px, 0)'; 
    128127                                    slideCount--; 
    129128                                    slidePager(); 
     
    133132                            }else if(settings.direction==='next'){ 
    134133                                if(currentX===maxX){ 
    135                                                                        slideObj.get(0).style.webkitTransform='translate('+maxX+'px, 0)'; 
     134                                    slideObj.get(0).style.webkitTransform='translate('+maxX+'px, 0)'; 
    136135                                    slideTimer=setTimeout(lotation,slideDuration); 
    137136                                    slideLock=0; 
    138137                                }else{ 
    139138                                    currentX=currentX-slideUnitWidth; 
    140                                                                        slideObj.get(0).style.webkitTransform='translate('+currentX+'px, 0)'; 
     139                                    slideObj.get(0).style.webkitTransform='translate('+currentX+'px, 0)'; 
    141140                                    slideCount++; 
    142141                                    slidePager(); 
     
    175174                         moveX=Number(currentX+diffX); 
    176175                         slideObj.css('-webkit-transition','none'); 
    177                                                 slideObj.get(0).style.webkitTransform='translate( '+moveX+'px, 0)'; 
     176                         slideObj.get(0).style.webkitTransform='translate( '+moveX+'px, 0)'; 
    178177                     } 
    179178                 }else if(e.type=="touchend"){ 
     
    187186                     if(diffX>settings.targetWidth||(diffX>60&&diffTime<400&&orientationChangeDelay===0)){ 
    188187                         if(currentX==0){ 
    189                                                         slideObj.get(0).style.webkitTransform='translate(0, 0)'; 
     188                             slideObj.get(0).style.webkitTransform='translate(0, 0)'; 
    190189                         }else{ 
    191190                             currentX=currentX+slideUnitWidth; 
    192                                                         slideObj.get(0).style.webkitTransform='translate('+currentX+'px, 0)'; 
     191                             slideObj.get(0).style.webkitTransform='translate('+currentX+'px, 0)'; 
    193192                             slideCount--; 
    194193                             slidePager(); 
     
    196195                     }else if(diffX<(settings.targetWidth*-1)||(diffX<-60&&diffTime<400&&orientationChangeDelay===0)){ 
    197196                         if(currentX===maxX){ 
    198                                                         slideObj.get(0).style.webkitTransform='translate('+maxX+'px, 0)'; 
     197                             slideObj.get(0).style.webkitTransform='translate('+maxX+'px, 0)'; 
    199198                         }else{ 
    200199                             currentX=currentX-slideUnitWidth; 
    201                                                         slideObj.get(0).style.webkitTransform='translate('+currentX+'px, 0)'; 
     200                             slideObj.get(0).style.webkitTransform='translate('+currentX+'px, 0)'; 
    202201                             slideCount++;slidePager(); 
    203202                         } 
    204203                     }else{ 
    205204                         if(currentX===0){ 
    206                                                         slideObj.get(0).style.webkitTransform='translate(0, 0)'; 
     205                             slideObj.get(0).style.webkitTransform='translate(0, 0)'; 
    207206                         }else if(currentX===maxX){ 
    208                                                         slideObj.get(0).style.webkitTransform='translate('+maxX+'px, 0)'; 
     207                             slideObj.get(0).style.webkitTransform='translate('+maxX+'px, 0)'; 
    209208                         }else{ 
    210                                                         slideObj.get(0).style.webkitTransform='translate('+currentX+'px, 0)'; 
     209                             slideObj.get(0).style.webkitTransform='translate('+currentX+'px, 0)'; 
    211210                         } 
    212211                     } 
Note: See TracChangeset for help on using the changeset viewer.