Ignore:
Timestamp:
2007/09/06 22:14:30 (17 years ago)
Author:
nanasess
Message:

index_sub.php から関数を移植

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/data/class/pages/admin/total/LC_Page_Admin_Total.php

    r15636 r15638  
    223223                    // CSV出力タイトル行の取得 
    224224                    list($arrTitleCol, $arrDataCol, $arrColSize, $arrAlign, $title) = $this->lfGetPDFColum($page, $type, $this->keyname); 
    225                     $head = sfGetPDFList($arrTitleCol); 
    226                     $data = lfGetDataColPDF($this->arrResults, $arrDataCol, 40); 
     225                    $head = SC_Utils_Ex::sfGetPDFList($arrTitleCol); 
     226                    $data = $this->lfGetDataColPDF($this->arrResults, $arrDataCol, 40); 
    227227                    // PDF出力用 
    228228                    $graph_name = basename($this->tpl_image); 
     
    866866        } 
    867867    } 
     868 
     869    // 必要なカラムのみ抽出する(CSVデータで取得する) 
     870    function lfGetDataColCSV($arrData, $arrDataCol) { 
     871        $max = count($arrData); 
     872        $csv_data = ""; 
     873        for($i = 0; $i < $max; $i++) { 
     874            foreach($arrDataCol as $val) { 
     875                $arrRet[$i][$val] = $arrData[$i][$val]; 
     876            } 
     877            $csv_data.= SC_Utils_Ex::sfGetCSVList($arrRet[$i]); 
     878        } 
     879        return $csv_data; 
     880    } 
     881 
     882    // 必要なカラムのみ抽出する(PDFデータで取得する) 
     883    function lfGetDataColPDF($arrData, $arrDataCol, $len) { 
     884        $max = count($arrData); 
     885        $csv_data = ""; 
     886        for($i = 0; $i < $max; $i++) { 
     887            foreach($arrDataCol as $val) { 
     888                $arrRet[$i][$val] = SC_Utils_Ex::sfCutString($arrData[$i][$val], $len); 
     889            } 
     890            $csv_data.= SC_Utils_Ex::sfGetPDFList($arrRet[$i]); 
     891        } 
     892        return $csv_data; 
     893    } 
     894 
     895    function lfGetPDFColum($page, $type, $key = "") { 
     896 
     897        $arrSUBNAME['day'] = "日別"; 
     898        $arrSUBNAME['month'] = "月別"; 
     899        $arrSUBNAME['year'] = "年別"; 
     900        $arrSUBNAME['hour'] = "時間別"; 
     901        $arrSUBNAME['wday'] = "曜日別"; 
     902        $arrSUBNAME['all'] = "全体"; 
     903        $arrSUBNAME['member'] = "会員"; 
     904        $arrSUBNAME['nonmember'] = "非会員"; 
     905 
     906        switch($page) { 
     907            // 商品別集計 
     908        case 'products': 
     909            $title = "商品別集計(" . $arrSUBNAME[$type] . ")"; 
     910            $arrColSize = array( 
     911                                60, 
     912                                120, 
     913                                220, 
     914                                80, 
     915                                80, 
     916                                80, 
     917                                ); 
     918            $arrAlign = array( 
     919                              'right', 
     920                              'center', 
     921                              'right', 
     922                              'right', 
     923                              'right', 
     924                              'right', 
     925                              ); 
     926            break; 
     927            // 職業別集計 
     928        case 'job': 
     929            $title = "職業別集計(" . $arrSUBNAME[$type] . ")"; 
     930            $arrColSize = array( 
     931                                100, 
     932                                100, 
     933                                100, 
     934                                100, 
     935                                ); 
     936            $arrAlign = array( 
     937                              'right', 
     938                              'right', 
     939                              'right', 
     940                              'right', 
     941                              ); 
     942            break; 
     943            // 会員別集計 
     944        case 'member': 
     945            $title = "会員別集計(" . $arrSUBNAME[$type] . ")"; 
     946            $arrColSize = array( 
     947                                100, 
     948                                100, 
     949                                100, 
     950                                100, 
     951                                ); 
     952            $arrAlign = array( 
     953                              'right', 
     954                              'right', 
     955                              'right', 
     956                              'right', 
     957                              ); 
     958            break; 
     959            // 年代別集計 
     960        case 'age': 
     961            $title = "年代別集計(" . $arrSUBNAME[$type] . ")"; 
     962            $arrColSize = array( 
     963                                80, 
     964                                100, 
     965                                100, 
     966                                100, 
     967                                ); 
     968            $arrAlign = array( 
     969                              'right', 
     970                              'right', 
     971                              'right', 
     972                              'right', 
     973                              ); 
     974            break; 
     975            // 期間別集計 
     976        default: 
     977            $title = "期間別集計(" . $arrSUBNAME[$type] . ")"; 
     978            $arrColSize = array( 
     979                                60, 
     980                                60, 
     981                                50, 
     982                                50, 
     983                                80, 
     984                                80, 
     985                                80, 
     986                                80, 
     987                                80, 
     988                                80, 
     989                                ); 
     990            $arrAlign = array( 
     991                              'right', 
     992                              'right', 
     993                              'right', 
     994                              'right', 
     995                              'right', 
     996                              'right', 
     997                              'right', 
     998                              'right', 
     999                              'right', 
     1000                              'right', 
     1001                              ); 
     1002            break; 
     1003        } 
     1004 
     1005        list($arrTitleCol, $arrDataCol) = lfGetCSVColum($page, $key); 
     1006 
     1007        return array($arrTitleCol, $arrDataCol, $arrColSize, $arrAlign, $title); 
     1008    } 
     1009 
     1010    function lfGetCSVColum($page, $key = "") { 
     1011        switch($page) { 
     1012            // 商品別集計 
     1013        case 'products': 
     1014            $arrTitleCol = array( 
     1015                                 '商品番号', 
     1016                                 '商品名', 
     1017                                 '購入件数', 
     1018                                 '点数', 
     1019                                 '単価', 
     1020                                 '金額' 
     1021                                 ); 
     1022            $arrDataCol = array( 
     1023                                'product_code', 
     1024                                'product_name', 
     1025                                'order_count', 
     1026                                'products_count', 
     1027                                'price', 
     1028                                'total', 
     1029                                ); 
     1030            break; 
     1031            // 職業別集計 
     1032        case 'job': 
     1033            $arrTitleCol = array( 
     1034                                 '職業', 
     1035                                 '購入件数', 
     1036                                 '購入合計', 
     1037                                 '購入平均', 
     1038                                 ); 
     1039            $arrDataCol = array( 
     1040                                'job_name', 
     1041                                'order_count', 
     1042                                'total', 
     1043                                'total_average', 
     1044                                ); 
     1045            break; 
     1046            // 会員別集計 
     1047        case 'member': 
     1048            $arrTitleCol = array( 
     1049                                 '会員', 
     1050                                 '購入件数', 
     1051                                 '購入合計', 
     1052                                 '購入平均', 
     1053                                 ); 
     1054            $arrDataCol = array( 
     1055                                'member_name', 
     1056                                'order_count', 
     1057                                'total', 
     1058                                'total_average', 
     1059                                ); 
     1060            break; 
     1061            // 年代別集計 
     1062        case 'age': 
     1063            $arrTitleCol = array( 
     1064                                 '年齢', 
     1065                                 '購入件数', 
     1066                                 '購入合計', 
     1067                                 '購入平均', 
     1068                                 ); 
     1069            $arrDataCol = array( 
     1070                                'age_name', 
     1071                                'order_count', 
     1072                                'total', 
     1073                                'total_average', 
     1074                                ); 
     1075            break; 
     1076            // 期間別集計 
     1077        default: 
     1078            $arrTitleCol = array( 
     1079                                 '期間', 
     1080                                 '購入件数', 
     1081                                 '男性', 
     1082                                 '女性', 
     1083                                 '男性(会員)', 
     1084                                 '男性(非会員)', 
     1085                                 '女性(会員)', 
     1086                                 '女性(非会員)', 
     1087                                 '購入合計', 
     1088                                 '購入平均', 
     1089                                 ); 
     1090            $arrDataCol = array( 
     1091                                $key, 
     1092                                'total_order', 
     1093                                'men', 
     1094                                'women', 
     1095                                'men_member', 
     1096                                'men_nonmember', 
     1097                                'women_member', 
     1098                                'women_nonmember', 
     1099                                'total', 
     1100                                'total_average' 
     1101                                ); 
     1102            break; 
     1103        } 
     1104 
     1105        return array($arrTitleCol, $arrDataCol); 
     1106    } 
    8681107} 
    8691108?> 
Note: See TracChangeset for help on using the changeset viewer.