Ignore:
Timestamp:
2007/03/10 21:35:02 (20 years ago)
Author:
nanasess
Message:

UTF-8 へ変換

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu/html/admin/total/index.php

    r15 r11729  
    2626        global $arrWDAY; 
    2727        $this->arrWDAY = $arrWDAY; 
    28         // ¥Ú¡¼¥¸¥¿¥¤¥È¥ë 
    29         $this->arrTitle[''] = "´ü´ÖÊ̽¸·×"; 
    30         $this->arrTitle['term'] = "´ü´ÖÊ̽¸·×"; 
    31         $this->arrTitle['products'] = "¾¦ÉÊÊ̽¸·×"; 
    32         $this->arrTitle['age'] = "ǯÂåÊ̽¸·×"; 
    33         $this->arrTitle['job'] = "¿¦¶ÈÊ̽¸·×"; 
    34         $this->arrTitle['member'] = "²ñ°÷Ê̽¸·×"; 
    35          
    36         // ¥­¥ã¥Ã¥·¥å²óÈò¤Î¤¿¤á¤ËÆüÉÕ¤òÅϤ¹ 
     28        // ページタイトル 
     29        $this->arrTitle[''] = "期間別集計"; 
     30        $this->arrTitle['term'] = "期間別集計"; 
     31        $this->arrTitle['products'] = "商品別集計"; 
     32        $this->arrTitle['age'] = "年代別集計"; 
     33        $this->arrTitle['job'] = "職業別集計"; 
     34        $this->arrTitle['member'] = "会員別集計"; 
     35         
     36        // キャッシュ回避のために日付を渡す 
    3737        $this->cashtime = time(); 
    3838    } 
     
    4242$objView = new SC_AdminView(); 
    4343$objSess = new SC_Session(); 
    44 // ǧ¾Ú²ÄÈݤÎȽÄê 
     44// 認証可否の判定 
    4545sfIsSuccess($objSess); 
    4646 
    47 // ÆþÎÏ´ü´Ö¤ò¥»¥Ã¥·¥ç¥ó¤Ëµ­Ï¿¤¹¤ë 
     47// 入力期間をセッションに記録する 
    4848lfSaveDateSession(); 
    4949 
     
    5454} 
    5555 
    56 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ 
     56// パラメータ管理クラス 
    5757$objFormParam = new SC_FormParam(); 
    58 // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ 
     58// パラメータ情報の初期化 
    5959lfInitParam(); 
    6060$objFormParam->setParam($_POST); 
    6161$objFormParam->setParam($_GET); 
    6262 
    63 // ¸¡º÷¥ï¡¼¥É¤Î°ú¤­·Ñ¤® 
     63// 検索ワードの引き継ぎ 
    6464foreach ($_POST as $key => $val) { 
    6565    if (ereg("^search_", $key)) { 
     
    7373case 'csv': 
    7474case 'search': 
    75     // ÆþÎÏÃͤÎÊÑ´¹ 
     75    // 入力値の変換 
    7676    $objFormParam->convParam(); 
    7777    $objPage->arrErr = lfCheckError($arrRet); 
    7878    $arrRet = $objFormParam->getHashArray(); 
    7979     
    80     // ÆþÎÏ¥¨¥é¡¼¤Ê¤· 
     80    // 入力エラーなし 
    8181    if (count($objPage->arrErr) == 0) { 
    8282        foreach ($arrRet as $key => $val) { 
     
    105105        $page = $objFormParam->getValue('page'); 
    106106        switch($page) { 
    107         // ¾¦ÉÊÊ̽¸·× 
     107        // 商品別集計 
    108108        case 'products': 
    109109            if($type == "") { 
     
    111111            } 
    112112            $objPage->tpl_page_type = "total/page_products.tpl"; 
    113             // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 
     113            // 未集計データの集計を行う 
    114114            if(!DAILY_BATCH_MODE) { 
    115115                lfRealTimeDailyTotal($sdate, $edate); 
    116116            } 
    117             // ¸¡º÷·ë²Ì¤Î¼èÆÀ 
     117            // 検索結果の取得 
    118118            $objPage = lfGetOrderProducts($type, $sdate, $edate, $objPage, true, $mode); 
    119119            break; 
    120         // ¿¦¶ÈÊ̽¸·× 
     120        // 職業別集計 
    121121        case 'job': 
    122122            if($type == "") { 
     
    124124            } 
    125125            $objPage->tpl_page_type = "total/page_job.tpl"; 
    126             // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 
     126            // 未集計データの集計を行う 
    127127            if(!DAILY_BATCH_MODE) { 
    128128                lfRealTimeDailyTotal($sdate, $edate); 
    129129            } 
    130             // ¸¡º÷·ë²Ì¤Î¼èÆÀ 
     130            // 検索結果の取得 
    131131            $objPage = lfGetOrderJob($type, $sdate, $edate, $objPage); 
    132132            break; 
    133         // ²ñ°÷Ê̽¸·× 
     133        // 会員別集計 
    134134        case 'member': 
    135135            if($type == "") { 
     
    137137            } 
    138138            $objPage->tpl_page_type = "total/page_member.tpl"; 
    139             // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 
     139            // 未集計データの集計を行う 
    140140            if(!DAILY_BATCH_MODE) { 
    141141                lfRealTimeDailyTotal($sdate, $edate); 
    142142            } 
    143             // ¸¡º÷·ë²Ì¤Î¼èÆÀ 
     143            // 検索結果の取得 
    144144            $objPage = lfGetOrderMember($type, $sdate, $edate, $objPage); 
    145145            break; 
    146         // ǯÂåÊ̽¸·× 
     146        // 年代別集計 
    147147        case 'age': 
    148148            if($type == "") { 
     
    151151             
    152152            $objPage->tpl_page_type = "total/page_age.tpl"; 
    153             // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 
     153            // 未集計データの集計を行う 
    154154            if(!DAILY_BATCH_MODE) { 
    155155                lfRealTimeDailyTotal($sdate, $edate); 
    156156            } 
    157             // ¸¡º÷·ë²Ì¤Î¼èÆÀ 
     157            // 検索結果の取得 
    158158            $objPage = lfGetOrderAge($type, $sdate, $edate, $objPage); 
    159159            break; 
    160         // ´ü´ÖÊ̽¸·× 
     160        // 期間別集計 
    161161        default: 
    162162            if($type == "") { 
     
    164164            } 
    165165            $objPage->tpl_page_type = "total/page_term.tpl"; 
    166             // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 
     166            // 未集計データの集計を行う 
    167167            if(!DAILY_BATCH_MODE) { 
    168168                lfRealTimeDailyTotal($sdate, $edate); 
    169169            } 
    170             // ¸¡º÷·ë²Ì¤Î¼èÆÀ 
     170            // 検索結果の取得 
    171171            $objPage = lfGetOrderTerm($type, $sdate, $edate, $objPage); 
    172172             
     
    175175 
    176176        if($mode == 'csv') { 
    177             // CSV½ÐÎÏ¥¿¥¤¥È¥ë¹Ô¤Î¼èÆÀ 
     177            // CSV出力タイトル行の取得 
    178178            list($arrTitleCol, $arrDataCol) = lfGetCSVColum($page, $objPage->keyname); 
    179179            $head = sfGetCSVList($arrTitleCol); 
    180180            $data = lfGetDataColCSV($objPage->arrResults, $arrDataCol); 
    181             // CSV¤òÁ÷¿®¤¹¤ë¡£ 
     181            // CSVを送信する。 
    182182            sfCSVDownload($head.$data, $page."_".$type); 
    183183            exit; 
     
    185185         
    186186        if($mode == 'pdf') { 
    187             // CSV½ÐÎÏ¥¿¥¤¥È¥ë¹Ô¤Î¼èÆÀ 
     187            // CSV出力タイトル行の取得 
    188188            list($arrTitleCol, $arrDataCol, $arrColSize, $arrAlign, $title) = lfGetPDFColum($page, $type, $objPage->keyname); 
    189189            $head = sfGetPDFList($arrTitleCol); 
    190190            $data = lfGetDataColPDF($objPage->arrResults, $arrDataCol, 40); 
    191             // PDF½ÐÎÏÍÑ 
     191            // PDF出力用 
    192192            $graph_name = basename($objPage->tpl_image); 
    193193            lfPDFDownload($graph_name, $head . $data, $arrColSize, $arrAlign, $sdate, $edate, $title, $page); 
     
    198198default: 
    199199    if(count($_GET) == 0) { 
    200         // ¥Ð¥Ã¥Á¥â¡¼¥É¤Î¾ì¹ç¤Î¤ß¼Â¹Ô¤¹¤ë 
     200        // バッチモードの場合のみ実行する 
    201201        if(DAILY_BATCH_MODE) { 
    202             // 1¥ö·îʬ¤Î½¸·× 
     202            // 1ヶ月分の集計 
    203203            lfStartDailyTotal(31,0); 
    204204        } 
     
    207207} 
    208208 
    209 // ÅÐÏ¿¡¦¹¹¿·Æü¸¡º÷ÍÑ 
     209// 登録・更新日検索用 
    210210$objDate = new SC_Date(); 
    211211$objDate->setStartYear(RELEASE_YEAR); 
     
    214214$objPage->arrMonth = $objDate->getMonth(); 
    215215$objPage->arrDay = $objDate->getDay(); 
    216 // ÆþÎÏÃͤμèÆÀ 
     216// 入力値の取得 
    217217$objPage->arrForm = $objFormParam->getFormParamList(); 
    218218 
     
    223223 
    224224//--------------------------------------------------------------------------------------------------------------------------- 
    225 /* PDF½ÐÎÏ */ 
     225/* PDF出力 */ 
    226226function lfPDFDownload($image, $table, $arrColSize, $arrAlign, $sdate, $edate, $title, $page = "") { 
    227227     
     
    229229    $objPdf->setTableColor("CCCCCC", "F0F0F0", "D1DEFE"); 
    230230             
    231     // ÅÚÂæ¤È¤Ê¤ëPDF¥Õ¥¡¥¤¥ë¤Î»ØÄê 
     231    // 土台となるPDFファイルの指定 
    232232    $objPdf->setTemplate(PDF_DIR . "total.pdf"); 
    233233 
     
    239239    $arrImage['graph_block'] = GRAPH_DIR . $image; 
    240240     
    241     // ʸËö¤Î\n¤òºï½ü¤¹¤ë 
     241    // 文末の\nを削除する 
    242242    $table = ereg_replace("\n$", "", $table); 
    243243    $arrRet = split("\n", $table); 
     
    246246    for($page = 1; $page <= $page_max; $page++) { 
    247247        if($page > 1) { 
    248             // 2¥Ú¡¼¥¸°Ê¹ß 
     248            // 2ページ以降 
    249249            $start_no = 35 * ($page - 1) + 1; 
    250250        } else { 
    251             // ³«»Ï¥Ú¡¼¥¸ 
     251            // 開始ページ 
    252252            $start_no = 1;           
    253253        } 
     
    256256        $objPdf->setTextBlock($arrText); 
    257257        $objPdf->setImageBlock($arrImage); 
    258         // ¥Ö¥í¥Ã¥¯ÃÍ¤ÎÆþÎÏ 
     258        // ブロック値の入力 
    259259        $objPdf->writeBlock(); 
    260         // ºÇ½ª¥Ú¡¼¥¸¤Î¤ß¡¢¾¦ÉÊÊ̽¸·×¤Ï¹ç·×¤¬¤Ê¤¤¤Î¤ÇºÇ½ª¹Ô¤Î¿§¤òÊѹ¹¤·¤Ê¤¤¡£ 
     260        // 最終ページのみ、商品別集計は合計がないので最終行の色を変更しない。 
    261261        if($page == $page_max && $page != 'products') { 
    262262            $last_color_flg = true; 
     
    268268    } 
    269269 
    270     // PDF¤Î½ÐÎÏ 
     270    // PDFの出力 
    271271    $objPdf->output();   
    272272} 
    273273 
    274 /* ¥»¥Ã¥·¥ç¥ó¤ËÆþÎÏ´ü´Ö¤òµ­Ï¿¤¹¤ë */ 
     274/* セッションに入力期間を記録する */ 
    275275function lfSaveDateSession() { 
    276276    if($_POST['form'] == 1) { 
     
    289289} 
    290290 
    291 /* ¥Ç¥Õ¥©¥ë¥ÈÃͤμèÆÀ */ 
     291/* デフォルト値の取得 */ 
    292292function lfGetDateDefault() { 
    293293    $year = date("Y"); 
     
    297297    $list = $_SESSION['total']; 
    298298     
    299     // ¥»¥Ã¥·¥ç¥ó¾ðÊó¤Ë³«»Ï·îÅÙ¤¬Êݸ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ 
     299    // セッション情報に開始月度が保存されていない。 
    300300    if($_SESSION['total']['startyear_m'] == "") { 
    301301        $list['startyear_m'] = $year; 
     
    303303    } 
    304304     
    305     // ¥»¥Ã¥·¥ç¥ó¾ðÊó¤Ë³«»ÏÆüÉÕ¡¢½ªÎ»ÆüÉÕ¤¬Êݸ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ 
     305    // セッション情報に開始日付、終了日付が保存されていない。 
    306306    if($_SESSION['total']['startyear'] == "" && $_SESSION['total']['endyear'] == "") { 
    307307        $list['startyear'] = $year; 
     
    316316} 
    317317 
    318 /* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */ 
     318/* パラメータ情報の初期化 */ 
    319319function lfInitParam() { 
    320320    global $objFormParam; 
    321321         
    322     // ¥Ç¥Õ¥©¥ë¥ÈÃͤμèÆÀ 
     322    // デフォルト値の取得 
    323323    $arrList = lfGetDateDefault(); 
    324324     
    325     // ·îÅÙ½¸·× 
    326     $objFormParam->addParam("·îÅÙ", "search_startyear_m", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startyear_m']); 
    327     $objFormParam->addParam("·îÅÙ", "search_startmonth_m", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startmonth_m']); 
    328     // ´ü´Ö½¸·× 
    329     $objFormParam->addParam("³«»ÏÆü", "search_startyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startyear']); 
    330     $objFormParam->addParam("³«»ÏÆü", "search_startmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startmonth']); 
    331     $objFormParam->addParam("³«»ÏÆü", "search_startday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startday']); 
    332     $objFormParam->addParam("½ªÎ»Æü", "search_endyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['endyear']); 
    333     $objFormParam->addParam("½ªÎ»Æü", "search_endmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['endmonth']); 
    334     $objFormParam->addParam("½ªÎ»Æü", "search_endday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['endday']); 
    335      
    336     // hidden¥Ç¡¼¥¿¤Î¼èÆÀÍÑ 
     325    // 月度集計 
     326    $objFormParam->addParam("月度", "search_startyear_m", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startyear_m']); 
     327    $objFormParam->addParam("月度", "search_startmonth_m", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startmonth_m']); 
     328    // 期間集計 
     329    $objFormParam->addParam("開始日", "search_startyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startyear']); 
     330    $objFormParam->addParam("開始日", "search_startmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startmonth']); 
     331    $objFormParam->addParam("開始日", "search_startday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startday']); 
     332    $objFormParam->addParam("終了日", "search_endyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['endyear']); 
     333    $objFormParam->addParam("終了日", "search_endmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['endmonth']); 
     334    $objFormParam->addParam("終了日", "search_endday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['endday']); 
     335     
     336    // hiddenデータの取得用 
    337337    $objFormParam->addParam("", "page"); 
    338338    $objFormParam->addParam("", "type"); 
     
    341341} 
    342342 
    343 /* ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ */ 
     343/* 入力内容のチェック */ 
    344344function lfCheckError() { 
    345345    global $objFormParam; 
    346     // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ 
     346    // 入力データを渡す。 
    347347    $arrRet =  $objFormParam->getHashArray(); 
    348348    $objErr = new SC_CheckError($arrRet); 
    349349    $objErr->arrErr = $objFormParam->checkError(); 
    350350     
    351     // ÆÃ¼ì¹àÌÜ¥Á¥§¥Ã¥¯ 
     351    // 特殊項目チェック 
    352352    if($_POST['form'] == 1) { 
    353         $objErr->doFunc(array("·îÅÙ", "search_startyear_m"), array("ONE_EXIST_CHECK")); 
     353        $objErr->doFunc(array("月度", "search_startyear_m"), array("ONE_EXIST_CHECK")); 
    354354    } 
    355355     
    356356    if($_POST['form'] == 2) { 
    357         $objErr->doFunc(array("´ü´Ö", "search_startyear", "search_endyear"), array("ONE_EXIST_CHECK")); 
     357        $objErr->doFunc(array("期間", "search_startyear", "search_endyear"), array("ONE_EXIST_CHECK")); 
    358358    } 
    359359             
    360     $objErr->doFunc(array("·îÅÙ", "search_startyear_m", "search_startmonth_m"), array("ALL_EXIST_CHECK")); 
    361     $objErr->doFunc(array("³«»ÏÆü", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); 
    362     $objErr->doFunc(array("½ªÎ»Æü", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE")); 
    363     $objErr->doFunc(array("³«»ÏÆü", "½ªÎ»Æü", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM")); 
     360    $objErr->doFunc(array("月度", "search_startyear_m", "search_startmonth_m"), array("ALL_EXIST_CHECK")); 
     361    $objErr->doFunc(array("開始日", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); 
     362    $objErr->doFunc(array("終了日", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE")); 
     363    $objErr->doFunc(array("開始日", "終了日", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM")); 
    364364    return $objErr->arrErr; 
    365365} 
    366366 
    367 /* ÀÞ¤ìÀþ¥°¥é¥Õ¤ÎºîÀ® */ 
     367/* 折れ線グラフの作成 */ 
    368368function lfGetGraphLine($arrResults, $keyname, $type, $xtitle, $ytitle, $sdate, $edate) { 
    369369     
    370370    $ret_path = ""; 
    371371     
    372     // ·ë²Ì¤¬0¹Ô°Ê¾å¤¢¤ë¾ì¹ç¤Î¤ß¥°¥é¥Õ¤òÀ¸À®¤¹¤ë¡£ 
     372    // 結果が0行以上ある場合のみグラフを生成する。 
    373373    if(count($arrResults) > 0) { 
    374374         
    375         // ¥°¥é¥Õ¤ÎÀ¸À® 
     375        // グラフの生成 
    376376        $arrList = sfArrKeyValue($arrResults, $keyname, "total"); 
    377377 
    378         // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ 
     378        // 一時ファイル名の取得 
    379379        $pngname = lfGetGraphPng($type); 
    380380         
    381381        $path = GRAPH_DIR . $pngname; 
    382382         
    383         // ¥é¥Ù¥ëɽ¼¨¥¤¥ó¥¿¡¼¥Ð¥ë¤òµá¤á¤ë 
     383        // ラベル表示インターバルを求める 
    384384        $interval = intval(count($arrList) / 20); 
    385385        if($interval < 1) { 
     
    389389        $objGraphLine = new SC_GraphLine(); 
    390390         
    391         // ÃͤΥ»¥Ã¥È 
     391        // 値のセット 
    392392        $objGraphLine->setData($arrList); 
    393393        $objGraphLine->setXLabel(array_keys($arrList)); 
    394394         
    395         // ¥é¥Ù¥ë²óž(ÆüËܸìÉÔ²Ä) 
     395        // ラベル回転(日本語不可) 
    396396        if($keyname == "key_day"){ 
    397397            $objGraphLine->setXLabelAngle(45); 
    398398        } 
    399399 
    400         // ¥¿¥¤¥È¥ë¥»¥Ã¥È 
     400        // タイトルセット 
    401401        $objGraphLine->setXTitle($xtitle); 
    402402        $objGraphLine->setYTitle($ytitle); 
    403403         
    404         // ¥á¥¤¥ó¥¿¥¤¥È¥ëºîÀ® 
     404        // メインタイトル作成 
    405405        list($sy, $sm, $sd) = split("[/ ]" , $sdate); 
    406406        list($ey, $em, $ed) = split("[/ ]" , $edate); 
    407         $start_date = $sy . "ǯ" . $sm . "·î" . $sd . "Æü"; 
    408         $end_date = $ey . "ǯ" . $em . "·î" . $ed . "Æü"; 
    409         $objGraphLine->drawTitle("½¸·×´ü´Ö¡§" . $start_date . " - " . $end_date); 
    410          
    411         // ¥°¥é¥ÕÉÁ²è 
     407        $start_date = $sy . "年" . $sm . "月" . $sd . "日"; 
     408        $end_date = $ey . "年" . $em . "月" . $ed . "日"; 
     409        $objGraphLine->drawTitle("集計期間:" . $start_date . " - " . $end_date); 
     410         
     411        // グラフ描画 
    412412        $objGraphLine->drawGraph(); 
    413413         
    414         // ¥°¥é¥Õ¤Î½ÐÎÏ 
     414        // グラフの出力 
    415415        if(DRAW_IMAGE){ 
    416416            $objGraphLine->outputGraph(); 
     
    418418        } 
    419419 
    420         // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¤òÊÖ¤¹ 
     420        // ファイルパスを返す 
    421421        $ret_path = GRAPH_URL . $pngname; 
    422422    } 
     
    424424} 
    425425 
    426 // ±ß¥°¥é¥Õ¤ÎºîÀ®  
     426// 円グラフの作成  
    427427function lfGetGraphPie($arrResults, $keyname, $type, $title = "", $sdate = "", $edate = "") { 
    428428     
    429429    $ret_path = ""; 
    430430     
    431     // ·ë²Ì¤¬0¹Ô°Ê¾å¤¢¤ë¾ì¹ç¤Î¤ß¥°¥é¥Õ¤òÀ¸À®¤¹¤ë¡£ 
     431    // 結果が0行以上ある場合のみグラフを生成する。 
    432432    if(count($arrResults) > 0) { 
    433         // ¥°¥é¥Õ¤ÎÀ¸À® 
     433        // グラフの生成 
    434434        $arrList = sfArrKeyValue($arrResults, $keyname, "total", GRAPH_PIE_MAX, GRAPH_LABEL_MAX); 
    435435         
    436         // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ 
     436        // 一時ファイル名の取得 
    437437        $pngname = lfGetGraphPng($type); 
    438438        $path = GRAPH_DIR . $pngname; 
     
    440440        $objGraphPie = new SC_GraphPie(); 
    441441         
    442         /* ¥Ç¥Ð¥Ã¥°É½¼¨ÍÑ by naka 
     442        /* デバッグ表示用 by naka 
    443443        foreach($arrList as $key => $val) { 
    444444            $objGraphPie->debugPrint("key:$key val:$val"); 
     
    446446        */ 
    447447         
    448         // ¥Ç¡¼¥¿¤ò¥»¥Ã¥È¤¹¤ë 
     448        // データをセットする 
    449449        $objGraphPie->setData($arrList); 
    450         // ËÞÎã¤ò¥»¥Ã¥È¤¹¤ë 
     450        // 凡例をセットする 
    451451        $objGraphPie->setLegend(array_keys($arrList)); 
    452452                                 
    453         // ¥á¥¤¥ó¥¿¥¤¥È¥ëºîÀ® 
     453        // メインタイトル作成 
    454454        list($sy, $sm, $sd) = split("[/ ]" , $sdate); 
    455455        list($ey, $em, $ed) = split("[/ ]" , $edate); 
    456         $start_date = $sy . "ǯ" . $sm . "·î" . $sd . "Æü"; 
    457         $end_date = $ey . "ǯ" . $em . "·î" . $ed . "Æü"; 
    458         $objGraphPie->drawTitle("½¸·×´ü´Ö¡§" . $start_date . " - " . $end_date); 
     456        $start_date = $sy . "年" . $sm . "月" . $sd . "日"; 
     457        $end_date = $ey . "年" . $em . "月" . $ed . "日"; 
     458        $objGraphPie->drawTitle("集計期間:" . $start_date . " - " . $end_date); 
    459459                 
    460         // ±ß¥°¥é¥ÕÉÁ²è 
     460        // 円グラフ描画 
    461461        $objGraphPie->drawGraph(); 
    462462         
    463         // ¥°¥é¥Õ¤Î½ÐÎÏ 
     463        // グラフの出力 
    464464        if(DRAW_IMAGE){ 
    465465            $objGraphPie->outputGraph(); 
     
    467467        } 
    468468 
    469         // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¤òÊÖ¤¹ 
     469        // ファイルパスを返す 
    470470        $ret_path = GRAPH_URL . $pngname; 
    471471    } 
     
    473473} 
    474474 
    475 // ËÀ¥°¥é¥Õ¤ÎºîÀ®  
     475// 棒グラフの作成  
    476476function lfGetGraphBar($arrResults, $keyname, $type, $xtitle, $ytitle, $sdate, $edate) { 
    477477    $ret_path = ""; 
    478478     
    479     // ·ë²Ì¤¬0¹Ô°Ê¾å¤¢¤ë¾ì¹ç¤Î¤ß¥°¥é¥Õ¤òÀ¸À®¤¹¤ë¡£ 
     479    // 結果が0行以上ある場合のみグラフを生成する。 
    480480    if(count($arrResults) > 0) { 
    481         // ¥°¥é¥Õ¤ÎÀ¸À® 
     481        // グラフの生成 
    482482        $arrList = sfArrKeyValue($arrResults, $keyname, "total", GRAPH_PIE_MAX, GRAPH_LABEL_MAX); 
    483483         
    484         // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ 
     484        // 一時ファイル名の取得 
    485485        $pngname = lfGetGraphPng($type); 
    486486        $path = GRAPH_DIR . $pngname; 
     
    489489         
    490490        foreach(array_keys($arrList) as $val) { 
    491             $arrKey[] = ereg_replace("¡Á", "-", $val); 
    492         } 
    493          
    494         // ¥°¥é¥ÕÉÁ²è 
     491            $arrKey[] = ereg_replace("", "-", $val); 
     492        } 
     493         
     494        // グラフ描画 
    495495        $objGraphBar->setXLabel($arrKey); 
    496496        $objGraphBar->setXTitle($xtitle); 
     
    498498        $objGraphBar->setData($arrList); 
    499499         
    500         // ¥á¥¤¥ó¥¿¥¤¥È¥ëºîÀ® 
     500        // メインタイトル作成 
    501501        $arrKey = array_keys($arrList); 
    502502        list($sy, $sm, $sd) = split("[/ ]" , $sdate); 
    503503        list($ey, $em, $ed) = split("[/ ]" , $edate); 
    504         $start_date = $sy . "ǯ" . $sm . "·î" . $sd . "Æü"; 
    505         $end_date = $ey . "ǯ" . $em . "·î" . $ed . "Æü"; 
    506         $objGraphBar->drawTitle("½¸·×´ü´Ö¡§" . $start_date . " - " . $end_date); 
     504        $start_date = $sy . "年" . $sm . "月" . $sd . "日"; 
     505        $end_date = $ey . "年" . $em . "月" . $ed . "日"; 
     506        $objGraphBar->drawTitle("集計期間:" . $start_date . " - " . $end_date); 
    507507         
    508508        $objGraphBar->drawGraph(); 
     
    513513        } 
    514514         
    515         // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¤òÊÖ¤¹ 
     515        // ファイルパスを返す 
    516516        $ret_path = GRAPH_URL . $pngname; 
    517517    } 
     
    519519} 
    520520 
    521 // ¥°¥é¥ÕÍѤÎPNG¥Õ¥¡¥¤¥ë̾  
     521// グラフ用のPNGファイル名  
    522522function lfGetGraphPng($keyname) { 
    523523    if($_POST['search_startyear_m'] != "") { 
     
    529529} 
    530530 
    531 // ²ñ°÷¡¢Èó²ñ°÷½¸·×¤ÎWHEREʬ¤ÎºîÀ® 
     531// 会員、非会員集計のWHERE分の作成 
    532532function lfGetWhereMember($col_date, $sdate, $edate, $type, $col_member = "customer_id") { 
    533     // ¼èÆÀÆüÉդλØÄê 
     533    // 取得日付の指定 
    534534    if($sdate != "") { 
    535535        if ($where != "") { 
     
    547547    } 
    548548     
    549     // ²ñ°÷¡¢Èó²ñ°÷¤ÎȽÄê 
     549    // 会員、非会員の判定 
    550550    switch($type) { 
    551     // Á´ÂΠ
     551    // 全体 
    552552    case 'all': 
    553553        break; 
     
    571571} 
    572572 
    573 /** ²ñ°÷Ê̽¸·× **/ 
     573/** 会員別集計 **/ 
    574574function lfGetOrderMember($type, $sdate, $edate, $objPage, $graph = true) { 
    575575    global $arrSex; 
     
    577577    list($where, $arrval) = lfGetWhereMember('create_date', $sdate, $edate, $type); 
    578578     
    579     // ²ñ°÷½¸·×¤Î¼èÆÀ 
     579    // 会員集計の取得 
    580580    $col = "COUNT(*) AS order_count, SUM(total) AS total, (AVG(total)) AS total_average, order_sex"; 
    581581    $from = "dtb_order"; 
     
    586586    $arrRet = $objQuery->select($col, $from, $tmp_where, $arrval); 
    587587     
    588     // ²ñ°÷¹ØÆþ¤Ç¤¢¤ë¤³¤È¤òµ­Ï¿¤¹¤ë¡£ 
     588    // 会員購入であることを記録する。 
    589589    $max = count($arrRet); 
    590590    for($i = 0; $i < $max; $i++) { 
    591         $arrRet[$i]['member_name'] = '²ñ°÷'.$arrSex[$arrRet[$i]['order_sex']]; 
     591        $arrRet[$i]['member_name'] = '会員'.$arrSex[$arrRet[$i]['order_sex']]; 
    592592    } 
    593593    $objPage->arrResults = $arrRet; 
    594594     
    595     // Èó²ñ°÷½¸·×¤Î¼èÆÀ 
     595    // 非会員集計の取得 
    596596    $tmp_where = $where . " AND customer_id = 0 AND del_flg = 0 "; 
    597597    $arrRet = $objQuery->select($col, $from, $tmp_where, $arrval); 
    598     // Èó²ñ°÷¹ØÆþ¤Ç¤¢¤ë¤³¤È¤òµ­Ï¿¤¹¤ë¡£ 
     598    // 非会員購入であることを記録する。 
    599599    $max = count($arrRet); 
    600600    for($i = 0; $i < $max; $i++) { 
    601         $arrRet[$i]['member_name'] = 'Èó²ñ°÷'.$arrSex[$arrRet[$i]['order_sex']]; 
     601        $arrRet[$i]['member_name'] = '非会員'.$arrSex[$arrRet[$i]['order_sex']]; 
    602602    } 
    603603     
    604604    $objPage->arrResults = array_merge($objPage->arrResults, $arrRet); 
    605605     
    606     // ±ß¥°¥é¥Õ¤ÎÀ¸À® 
     606    // 円グラフの生成 
    607607    if($graph) {     
    608608        $image_key = "member"; 
    609         $objPage->tpl_image = lfGetGraphPie($objPage->arrResults, "member_name", $image_key, "(Çä¾åÈæÎ¨)", $sdate, $edate); 
     609        $objPage->tpl_image = lfGetGraphPie($objPage->arrResults, "member_name", $image_key, "(売上比率)", $sdate, $edate); 
    610610    } 
    611611     
     
    613613} 
    614614 
    615 /** ¾¦ÉÊÊ̽¸·× **/ 
     615/** 商品別集計 **/ 
    616616function lfGetOrderProducts($type, $sdate, $edate, $objPage, $graph = true, $mode = "") { 
    617617    list($where, $arrval) = lfGetWhereMember('create_date', $sdate, $edate, $type); 
     
    635635    $objPage->arrResults = $objQuery->getall($sql, $arrval); 
    636636     
    637     // ±ß¥°¥é¥Õ¤ÎÀ¸À® 
     637    // 円グラフの生成 
    638638    if($graph) { 
    639639        $image_key = "products_" . $type; 
    640         $objPage->tpl_image = lfGetGraphPie($objPage->arrResults, "name", $image_key, "(Çä¾åÈæÎ¨)", $sdate, $edate); 
     640        $objPage->tpl_image = lfGetGraphPie($objPage->arrResults, "name", $image_key, "(売上比率)", $sdate, $edate); 
    641641    } 
    642642     
     
    644644} 
    645645 
    646 /** ¿¦¶ÈÊ̽¸·× **/ 
     646/** 職業別集計 **/ 
    647647function lfGetOrderJob($type, $sdate, $edate, $objPage, $graph = true) { 
    648648    global $arrJob;  
     
    663663            $objPage->arrResults[$i]['job_name'] = $arrJob[$job_key]; 
    664664        } else { 
    665             $objPage->arrResults[$i]['job_name'] = "̤²óÅú"; 
    666         } 
    667     } 
    668  
    669     // ±ß¥°¥é¥Õ¤ÎÀ¸À®    
     665            $objPage->arrResults[$i]['job_name'] = "未回答"; 
     666        } 
     667    } 
     668 
     669    // 円グラフの生成   
    670670    if($graph) { 
    671671        $image_key = "job_" . $type; 
    672         $objPage->tpl_image = lfGetGraphPie($objPage->arrResults, "job_name", $image_key, "(Çä¾åÈæÎ¨)", $sdate, $edate); 
     672        $objPage->tpl_image = lfGetGraphPie($objPage->arrResults, "job_name", $image_key, "(売上比率)", $sdate, $edate); 
    673673    } 
    674674     
     
    676676} 
    677677 
    678 /** ǯÂåÊ̽¸·× **/ 
     678/** 年代別集計 **/ 
    679679function lfGetOrderAge($type, $sdate, $edate, $objPage, $graph = true) { 
    680680 
     
    697697        if($start_age != "" || $end_age != "") { 
    698698            if($end_age != 999) { 
    699                 $objPage->arrResults[$i]['age_name'] = $start_age . "¡Á" . $end_age . "ºÐ"; 
     699                $objPage->arrResults[$i]['age_name'] = $start_age . "〜" . $end_age . "歳"; 
    700700            } else { 
    701                 $objPage->arrResults[$i]['age_name'] = $start_age . "ºÐ¡Á"; 
     701                $objPage->arrResults[$i]['age_name'] = $start_age . "歳〜"; 
    702702            } 
    703703        } else { 
    704             $objPage->arrResults[$i]['age_name'] = "̤²óÅú"; 
    705         } 
    706     } 
    707      
    708     // ËÀ¥°¥é¥Õ¤ÎÀ¸À® 
     704            $objPage->arrResults[$i]['age_name'] = "未回答"; 
     705        } 
     706    } 
     707     
     708    // 棒グラフの生成 
    709709    if($graph) { 
    710710        $image_key = "age_" . $type; 
    711         $xtitle = "(ǯÎð)"; 
    712         $ytitle = "(Çä¾å¹ç·×)"; 
     711        $xtitle = "(年齢)"; 
     712        $ytitle = "(売上合計)"; 
    713713        $objPage->tpl_image = lfGetGraphBar($objPage->arrResults, "age_name", $image_key, $xtitle, $ytitle, $sdate, $edate); 
    714714    } 
     
    717717} 
    718718 
    719 /** ´ü´ÖÊ̽¸·× **/ 
     719/** 期間別集計 **/ 
    720720function lfGetOrderTerm($type, $sdate, $edate, $objPage, $graph = true) { 
    721721         
     
    727727         
    728728        switch($type) { 
    729         // ·îÊÌ 
     729        // 月別 
    730730        case 'month': 
    731731            $col = $tmp_col . ",key_month"; 
     
    733733            $objQuery->setOrder("key_month"); 
    734734            $objPage->keyname = "key_month"; 
    735             $objPage->tpl_tail = "·î"; 
     735            $objPage->tpl_tail = ""; 
    736736            $from = "dtb_bat_order_daily"; 
    737             $xtitle = "(·îÊÌ)"; 
    738             $ytitle = "(Çä¾å¹ç·×)"; 
    739             break; 
    740         // ǯÊÌ 
     737            $xtitle = "(月別)"; 
     738            $ytitle = "(売上合計)"; 
     739            break; 
     740        // 年別 
    741741        case 'year': 
    742742            $col = $tmp_col . ",key_year"; 
     
    744744            $objQuery->setOrder("key_year"); 
    745745            $objPage->keyname = "key_year"; 
    746             $objPage->tpl_tail = "ǯ"; 
     746            $objPage->tpl_tail = ""; 
    747747            $from = "dtb_bat_order_daily"; 
    748             $xtitle = "(ǯÊÌ)"; 
    749             $ytitle = "(Çä¾å¹ç·×)"; 
    750             break; 
    751         // ÍËÆüÊÌ 
     748            $xtitle = "(年別)"; 
     749            $ytitle = "(売上合計)"; 
     750            break; 
     751        // 曜日別 
    752752        case 'wday': 
    753753            $col = $tmp_col . ",key_wday, wday"; 
     
    755755            $objQuery->setOrder("wday"); 
    756756            $objPage->keyname = "key_wday"; 
    757             $objPage->tpl_tail = "ÍËÆü"; 
     757            $objPage->tpl_tail = "曜日"; 
    758758            $from = "dtb_bat_order_daily"; 
    759             $xtitle = "(ÍËÆüÊÌ)"; 
    760             $ytitle = "(Çä¾å¹ç·×)"; 
    761             break; 
    762         // »þ´ÖÊÌ 
     759            $xtitle = "(曜日別)"; 
     760            $ytitle = "(売上合計)"; 
     761            break; 
     762        // 時間別 
    763763        case 'hour': 
    764764            $col = $tmp_col . ",hour"; 
     
    766766            $objQuery->setOrder("hour"); 
    767767            $objPage->keyname = "hour"; 
    768             $objPage->tpl_tail = "»þ"; 
     768            $objPage->tpl_tail = ""; 
    769769            $from = "dtb_bat_order_daily_hour"; 
    770             $xtitle = "(»þ´ÖÊÌ)"; 
    771             $ytitle = "(Çä¾å¹ç·×)"; 
     770            $xtitle = "(時間別)"; 
     771            $ytitle = "(売上合計)"; 
    772772            break; 
    773773        default: 
     
    776776            $objPage->keyname = "key_day"; 
    777777            $from = "dtb_bat_order_daily"; 
    778             $xtitle = "(ÆüÊÌ)"; 
    779             $ytitle = "(Çä¾å¹ç·×)"; 
    780             break; 
    781         } 
    782          
    783  
    784     // ¼èÆÀÆüÉդλØÄê 
     778            $xtitle = "(日別)"; 
     779            $ytitle = "(売上合計)"; 
     780            break; 
     781        } 
     782         
     783 
     784    // 取得日付の指定 
    785785        if($sdate != "") { 
    786786            if ($where != "") { 
     
    798798        } 
    799799         
    800         // ¸¡º÷·ë²Ì¤Î¼èÆÀ 
     800        // 検索結果の取得 
    801801        $objPage->arrResults = $objQuery->select($col, $from, $where, $arrval); 
    802802         
    803         // ÀÞ¤ìÀþ¥°¥é¥Õ¤ÎÀ¸À®    
     803        // 折れ線グラフの生成     
    804804        if($graph) { 
    805805            $image_key = "term_" . $type; 
     
    807807        } 
    808808         
    809         // ¸¡º÷·ë²Ì¤¬0¤Ç¤Ê¤¤¾ì¹ç 
     809        // 検索結果が0でない場合 
    810810        if(count($objPage->arrResults) > 0) { 
    811             // ºÇ½ª½¸·×¹Ô¼èÆÀ¤¹¤ë 
     811            // 最終集計行取得する 
    812812            $col = $tmp_col; 
    813813            $objQuery = new SC_Query(); 
    814814            $arrRet = $objQuery->select($col, $from, $where, $arrval); 
    815             $arrRet[0][$objPage->keyname] = "¹ç·×"; 
     815            $arrRet[0][$objPage->keyname] = "合計"; 
    816816            $objPage->arrResults[] = $arrRet[0]; 
    817817        } 
    818818 
    819         // Ê¿¶ÑÃͤη׻» 
     819        // 平均値の計算 
    820820        $max = count($objPage->arrResults); 
    821821        for($i = 0; $i < $max; $i++) { 
Note: See TracChangeset for help on using the changeset viewer.