Changeset 5433 for temp/trunk/html/admin
- Timestamp:
- 2006/09/22 13:48:00 (20 years ago)
- File:
-
- 1 edited
-
temp/trunk/html/admin/total/index.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
temp/trunk/html/admin/total/index.php
r5315 r5433 1 1 <?php 2 2 require_once("../require.php"); 3 require_once("./index_sub.php"); 4 require_once("../batch/daily.php"); 5 6 require_once("./class/SC_GraphPie.php"); 7 require_once("./class/SC_GraphLine.php"); 8 require_once("./class/SC_GraphBar.php"); 3 $INSTALL_DIR = realpath(dirname( __FILE__)); 9 4 10 5 class LC_Page { 11 var $arrResults;12 var $keyname;13 var $tpl_image;14 var $arrTitle;15 6 function LC_Page() { 16 $this->tpl_mainpage = 'total/index.tpl'; 17 $this->tpl_subnavi = 'total/subnavi.tpl'; 18 $this->tpl_graphsubtitle = 'total/subtitle.tpl'; 19 $this->tpl_titleimage = '/img/title/title_sale.jpg'; 20 $this->tpl_mainno = 'total'; 21 global $arrWDAY; 22 $this->arrWDAY = $arrWDAY; 23 // ¥Ú¡¼¥¸¥¿¥¤¥È¥ë 24 $this->arrTitle[''] = "´ü´ÖÊ̽¸·×"; 25 $this->arrTitle['term'] = "´ü´ÖÊ̽¸·×"; 26 $this->arrTitle['products'] = "¾¦ÉÊÊ̽¸·×"; 27 $this->arrTitle['age'] = "ǯÂåÊ̽¸·×"; 28 $this->arrTitle['job'] = "¿¦¶ÈÊ̽¸·×"; 29 $this->arrTitle['member'] = "²ñ°÷Ê̽¸·×"; 7 $this->arrDB_TYPE = array( 8 'pgsql' => 'PostgreSQL', 9 'mysql' => 'mySQL' 10 ); 30 11 } 31 12 } 32 13 33 14 $objPage = new LC_Page(); 34 $objView = new SC_AdminView(); 35 $objSess = new SC_Session(); 36 // ǧ¾Ú²ÄÈݤÎȽÄê 37 sfIsSuccess($objSess); 38 39 // ÆþÎÏ´ü´Ö¤ò¥»¥Ã¥·¥ç¥ó¤ËµÏ¿¤¹¤ë 40 lfSaveDateSession(); 15 16 // ¥Æ¥ó¥×¥ì¡¼¥È¥³¥ó¥Ñ¥¤¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Î½ñ¹þ¤ß¸¢¸Â¥Á¥§¥Ã¥¯ 17 $temp_dir = $INSTALL_DIR . '/temp'; 18 $mode = lfGetFileMode($temp_dir); 19 20 if($mode != '777') { 21 sfErrorHeader($temp_dir . "¤Ë¥æ¡¼¥¶½ñ¹þ¤ß¸¢¸Â(777)¤òÉÕÍ¿¤·¤Æ²¼¤µ¤¤¡£", true); 22 exit; 23 } 24 25 $objView = new SC_InstallView($INSTALL_DIR . '/templates', $INSTALL_DIR . '/temp'); 41 26 42 27 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ 43 $objFormParam = new SC_FormParam(); 28 $objWebParam = new SC_FormParam(); 29 $objDBParam = new SC_FormParam(); 44 30 // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ 45 lfInitParam(); 46 $objFormParam->setParam($_POST); 47 $objFormParam->setParam($_GET); 48 49 // ¸¡º÷¥ï¡¼¥É¤Î°ú¤·Ñ¤® 50 foreach ($_POST as $key => $val) { 51 if (ereg("^search_", $key)) { 52 $objPage->arrHidden[$key] = $val; 53 } 54 } 31 $objWebParam = lfInitWebParam($objWebParam); 32 $objDBParam = lfInitDBParam($objDBParam); 33 34 if ($_POST['db_type'] == 'pgsql') { 35 $port = ""; 36 }else{ 37 $port = ":".$_POST['db_port']; 38 } 39 40 //¥Õ¥©¡¼¥àÇÛÎó¤Î¼èÆÀ 41 $objWebParam->setParam($_POST); 42 $objDBParam->setParam($_POST); 55 43 56 44 switch($_POST['mode']) { 57 case 'pdf': 58 case 'csv': 59 case 'search': 60 // ÆþÎÏÃͤÎÊÑ´¹ 61 $objFormParam->convParam(); 62 $objPage->arrErr = lfCheckError($arrRet); 63 $arrRet = $objFormParam->getHashArray(); 64 65 // ÆþÎÏ¥¨¥é¡¼¤Ê¤· 66 if (count($objPage->arrErr) == 0) { 67 foreach ($arrRet as $key => $val) { 68 if($val == "") { 69 continue; 70 } 71 switch ($key) { 72 case 'search_startyear': 73 $sdate = $_POST['search_startyear'] . "/" . $_POST['search_startmonth'] . "/" . $_POST['search_startday']; 74 break; 75 case 'search_endyear': 76 $edate = $_POST['search_endyear'] . "/" . $_POST['search_endmonth'] . "/" . $_POST['search_endday']; 77 break; 78 case 'search_startyear_m': 79 list($sdate, $edate) = sfTermMonth($_POST['search_startyear_m'], $_POST['search_startmonth_m'], CLOSE_DAY); 80 break; 81 default: 82 break; 83 } 84 } 85 86 if($_POST['type'] != "") { 87 $type = $_POST['type']; 88 } 89 90 $page = $objFormParam->getValue('page'); 91 switch($page) { 92 // ¾¦ÉÊÊ̽¸·× 93 case 'products': 94 if($type == "") { 95 $type = 'all'; 96 } 97 $objPage->tpl_page_type = "total/page_products.tpl"; 98 // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 99 lfRealTimeDailyTotal($sdate, $edate); 100 // ¸¡º÷·ë²Ì¤Î¼èÆÀ 101 $objPage = lfGetOrderProducts($type, $sdate, $edate, $objPage); 45 // ¤è¤¦¤³¤½ 46 case 'welcome': 47 $objPage = lfDispStep0($objPage); 48 break; 49 // ¥¢¥¯¥»¥¹¸¢¸Â¤Î¥Á¥§¥Ã¥¯ 50 case 'step0': 51 $objPage = lfDispStep0_1($objPage); 52 break; 53 // ¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼ 54 case 'step0_1': 55 $objPage = lfDispStep1($objPage); 56 break; 57 // WEB¥µ¥¤¥È¤ÎÀßÄê 58 case 'step1': 59 //ÆþÎÏÃͤΥ¨¥é¡¼¥Á¥§¥Ã¥¯ 60 $objPage->arrErr = lfCheckWEBError($objWebParam); 61 if(count($objPage->arrErr) == 0) { 62 $objPage = lfDispStep2($objPage); 63 } else { 64 $objPage = lfDispStep1($objPage); 65 } 66 break; 67 // ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÀßÄê 68 case 'step2': 69 70 //ÆþÎÏÃͤΥ¨¥é¡¼¥Á¥§¥Ã¥¯ 71 $objPage->arrErr = lfCheckDBError($objDBParam); 72 if(count($objPage->arrErr) == 0) { 73 74 // ŹÊÞ¤òÊѹ¹¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï´°Î»²èÌ̤ØÁ«°Ü 75 $skip = $_POST["db_skip"]; 76 if ($skip == "on") { 77 // ÀßÄê¥Õ¥¡¥¤¥ë¤ÎÀ¸À® 78 lfMakeConfigFile(); 79 $objPage = lfDispComplete($objPage); 102 80 break; 103 // ¿¦¶ÈÊ̽¸·× 104 case 'job': 105 if($type == "") { 106 $type = 'all'; 107 } 108 $objPage->tpl_page_type = "total/page_job.tpl"; 109 // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 110 lfRealTimeDailyTotal($sdate, $edate); 111 // ¸¡º÷·ë²Ì¤Î¼èÆÀ 112 $objPage = lfGetOrderJob($type, $sdate, $edate, $objPage); 113 break; 114 // ²ñ°÷Ê̽¸·× 115 case 'member': 116 if($type == "") { 117 $type = 'all'; 118 } 119 $objPage->tpl_page_type = "total/page_member.tpl"; 120 // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 121 lfRealTimeDailyTotal($sdate, $edate); 122 // ¸¡º÷·ë²Ì¤Î¼èÆÀ 123 $objPage = lfGetOrderMember($type, $sdate, $edate, $objPage); 124 break; 125 // ǯÂåÊ̽¸·× 126 case 'age': 127 if($type == "") { 128 $type = 'all'; 129 } 130 $objPage->tpl_page_type = "total/page_age.tpl"; 131 // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 132 lfRealTimeDailyTotal($sdate, $edate); 133 // ¸¡º÷·ë²Ì¤Î¼èÆÀ 134 $objPage = lfGetOrderAge($type, $sdate, $edate, $objPage); 135 break; 136 // ´ü´ÖÊ̽¸·× 137 default: 138 if($type == "") { 139 $type = 'day'; 140 } 141 $objPage->tpl_page_type = "total/page_term.tpl"; 142 // ̤½¸·×¥Ç¡¼¥¿¤Î½¸·×¤ò¹Ô¤¦ 143 lfRealTimeDailyTotal($sdate, $edate); 144 // ¸¡º÷·ë²Ì¤Î¼èÆÀ 145 $objPage = lfGetOrderTerm($type, $sdate, $edate, $objPage); 81 } 82 83 $objPage = lfDispStep3($objPage); 84 85 } else { 86 $objPage = lfDispStep2($objPage); 87 } 88 break; 89 // ¥Æ¡¼¥Ö¥ë¤ÎºîÀ® 90 case 'step3': 91 // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ 92 $arrRet = $objDBParam->getHashArray(); 93 94 // ¥Æ¡¼¥Ö¥ë¤ÎºîÀ® 95 $objPage->arrErr = lfExecuteSQL("./create_table_".$arrRet['db_type'].".sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name'], $arrRet['db_type'], $arrRet['db_port']); 96 if(count($objPage->arrErr) == 0) { 97 $objPage->tpl_message.="¡û¡§¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; 98 } else { 99 $objPage->tpl_message.="¡ß¡§¥Æ¡¼¥Ö¥ë¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 100 } 101 102 // ¥Ó¥å¡¼¤ÎºîÀ® 103 if(count($objPage->arrErr) == 0 and $arrRet['db_type'] == 'pgsql') { 104 // ¥Ó¥å¡¼¤ÎºîÀ® 105 $objPage->arrErr = lfExecuteSQL("./create_view.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name'], $arrRet['db_type'], $arrRet['db_port']); 106 if(count($objPage->arrErr) == 0) { 107 $objPage->tpl_message.="¡û¡§¥Ó¥å¡¼¤ÎºîÀ®¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; 108 } else { 109 $objPage->tpl_message.="¡ß¡§¥Ó¥å¡¼¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 110 } 111 } 112 113 // ½é´ü¥Ç¡¼¥¿¤ÎºîÀ® 114 if(count($objPage->arrErr) == 0) { 115 $objPage->arrErr = lfExecuteSQL("./insert_data.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name'], $arrRet['db_type'], $arrRet['db_port']); 116 if(count($objPage->arrErr) == 0) { 117 $objPage->tpl_message.="¡û¡§½é´ü¥Ç¡¼¥¿¤ÎºîÀ®¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; 118 } else { 119 $objPage->tpl_message.="¡ß¡§½é´ü¥Ç¡¼¥¿¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 120 } 121 } 122 123 // ¥«¥é¥à¥³¥á¥ó¥È¤Î½ñ¹þ¤ß 124 if(count($objPage->arrErr) == 0) { 125 $objPage->arrErr = lfExecuteSQL("./column_comment.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name'], $arrRet['db_type'], $arrRet['db_port']); 126 if(count($objPage->arrErr) == 0) { 127 $objPage->tpl_message.="¡û¡§¥«¥é¥à¥³¥á¥ó¥È¤Î½ñ¹þ¤ß¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; 128 } else { 129 $objPage->tpl_message.="¡ß¡§¥«¥é¥à¥³¥á¥ó¥È¤Î½ñ¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 130 } 131 } 132 133 // ¥Æ¡¼¥Ö¥ë¥³¥á¥ó¥È¤Î½ñ¹þ¤ß 134 if(count($objPage->arrErr) == 0) { 135 $objPage->arrErr = lfExecuteSQL("./table_comment.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name'], $arrRet['db_type'], $arrRet['db_port']); 136 if(count($objPage->arrErr) == 0) { 137 $objPage->tpl_message.="¡û¡§¥Æ¡¼¥Ö¥ë¥³¥á¥ó¥È¤Î½ñ¹þ¤ß¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; 138 } else { 139 $objPage->tpl_message.="¡ß¡§¥Æ¡¼¥Ö¥ë¥³¥á¥ó¥È¤Î½ñ¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 140 } 141 } 142 143 144 if(count($objPage->arrErr) == 0) { 145 // ÀßÄê¥Õ¥¡¥¤¥ë¤ÎÀ¸À® 146 lfMakeConfigFile(); 147 $objPage = lfDispStep3($objPage); 148 $objPage->tpl_mode = 'complete'; 149 } else { 150 $objPage = lfDispStep3($objPage); 151 } 152 break; 153 // ¥Æ¡¼¥Ö¥ëÎàºï½ü 154 case 'drop': 155 // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ 156 $arrRet = $objDBParam->getHashArray(); 157 158 if ($arrRet['db_type'] == 'pgsql'){ 159 // ¥Ó¥å¡¼¤Îºï½ü 160 $objPage->arrErr = lfExecuteSQL("./drop_view.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name'], $arrRet['db_type'], $arrRet['db_port'], false); 161 if(count($objPage->arrErr) == 0) { 162 $objPage->tpl_message.="¡û¡§¥Ó¥å¡¼¤Îºï½ü¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; 163 } else { 164 $objPage->tpl_message.="¡ß¡§¥Ó¥å¡¼¤Îºï½ü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 165 } 166 } 167 168 169 // ¥Æ¡¼¥Ö¥ë¤Îºï½ü 170 if(count($objPage->arrErr) == 0) { 171 $objPage->arrErr = lfExecuteSQL("./drop_table.sql", $arrRet['db_user'], $arrRet['db_password'], $arrRet['db_server'], $arrRet['db_name'], $arrRet['db_type'], $arrRet['db_port'], false); 172 if(count($objPage->arrErr) == 0) { 173 $objPage->tpl_message.="¡û¡§¥Æ¡¼¥Ö¥ë¤Îºï½ü¤ËÀ®¸ù¤·¤Þ¤·¤¿¡£<br>"; 174 } else { 175 $objPage->tpl_message.="¡ß¡§¥Æ¡¼¥Ö¥ë¤Îºï½ü¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 176 } 177 } 178 $objPage = lfDispStep3($objPage); 179 break; 180 // ´°Î»²èÌÌ 181 case 'complete': 182 // ¥·¥ç¥Ã¥×¥Þ¥¹¥¿¾ðÊó¤Î½ñ¤¹þ¤ß 183 $arrRet = $objDBParam->getHashArray(); 184 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].$port."/".$arrRet['db_name']; 185 $sqlval['shop_name'] = $objWebParam->getValue('shop_name'); 186 $sqlval['email01'] = $objWebParam->getValue('admin_mail'); 187 $sqlval['email02'] = $objWebParam->getValue('admin_mail'); 188 $sqlval['email03'] = $objWebParam->getValue('admin_mail'); 189 $sqlval['email04'] = $objWebParam->getValue('admin_mail'); 190 $sqlval['email05'] = $objWebParam->getValue('admin_mail'); 191 $sqlval['top_tpl'] = "default1"; 192 $sqlval['product_tpl'] = "default1"; 193 $sqlval['detail_tpl'] = "default1"; 194 $sqlval['mypage_tpl'] = "default1"; 195 $objQuery = new SC_Query($dsn); 196 $cnt = $objQuery->count("dtb_baseinfo"); 197 if($cnt > 0) { 198 $objQuery->update("dtb_baseinfo", $sqlval); 199 } else { 200 $objQuery->insert("dtb_baseinfo", $sqlval); 201 } 202 global $GLOBAL_ERR; 203 $GLOBAL_ERR = ""; 204 $objPage = lfDispComplete($objPage); 205 break; 206 case 'return_step0': 207 $objPage = lfDispStep0($objPage); 208 break; 209 case 'return_step1': 210 $objPage = lfDispStep1($objPage); 211 break; 212 case 'return_step2': 213 $objPage = lfDispStep2($objPage); 214 break; 215 case 'return_welcome': 216 default: 217 $objPage = lfDispWelcome($objPage); 218 break; 219 } 220 221 //¥Õ¥©¡¼¥àÍѤΥѥé¥á¡¼¥¿¤òÊÖ¤¹ 222 $objPage->arrForm = $objWebParam->getFormParamList(); 223 $objPage->arrForm = array_merge($objPage->arrForm, $objDBParam->getFormParamList()); 224 225 // SiteInfo¤òÆÉ¤ß¹þ¤Þ¤Ê¤¤ 226 $objView->assignobj($objPage); 227 $objView->display('install_frame.tpl'); 228 //----------------------------------------------------------------------------------------------------------------------------------- 229 // ¤è¤¦¤³¤½²èÌ̤Îɽ¼¨ 230 function lfDispWelcome($objPage) { 231 global $objWebParam; 232 global $objDBParam; 233 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 234 $objPage->arrHidden = $objWebParam->getHashArray(); 235 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 236 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 237 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 238 $objPage->tpl_mainpage = 'welcome.tpl'; 239 $objPage->tpl_mode = 'welcome'; 240 return $objPage; 241 } 242 243 // STEP0²èÌ̤Îɽ¼¨(¥Õ¥¡¥¤¥ë¸¢¸Â¥Á¥§¥Ã¥¯) 244 function lfDispStep0($objPage) { 245 global $objWebParam; 246 global $objDBParam; 247 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 248 $objPage->arrHidden = $objWebParam->getHashArray(); 249 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 250 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 251 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 252 $objPage->tpl_mainpage = 'step0.tpl'; 253 $objPage->tpl_mode = 'step0'; 254 255 // ¥×¥í¥°¥é¥à¤Ç½ñ¹þ¤ß¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê 256 $arrWriteFile = array( 257 "html/install.inc", 258 "html/user_data", 259 "html/upload", 260 "data/Smarty/templates_c", 261 "data/update", 262 "data/logs", 263 ); 264 265 $mess = ""; 266 $err_file = false; 267 foreach($arrWriteFile as $val) { 268 $path = "../../" . $val; 269 if(file_exists($path)) { 270 $mode = lfGetFileMode("../../" . $val); 146 271 147 break; 148 } 149 150 if($_POST['mode'] == 'csv') { 151 // CSV½ÐÎÏ¥¿¥¤¥È¥ë¹Ô¤Î¼èÆÀ 152 list($arrTitleCol, $arrDataCol) = lfGetCSVColum($page, $objPage->keyname); 153 $head = sfGetCSVList($arrTitleCol); 154 $data = lfGetDataColCSV($objPage->arrResults, $arrDataCol); 155 // CSV¤òÁ÷¿®¤¹¤ë¡£ 156 sfCSVDownload($head.$data, $page."_".$type); 157 exit; 158 } 159 160 if($_POST['mode'] == 'pdf') { 161 // CSV½ÐÎÏ¥¿¥¤¥È¥ë¹Ô¤Î¼èÆÀ 162 list($arrTitleCol, $arrDataCol, $arrColSize, $arrAlign, $title) = lfGetPDFColum($page, $type, $objPage->keyname); 163 $head = sfGetPDFList($arrTitleCol); 164 $data = lfGetDataColPDF($objPage->arrResults, $arrDataCol, 40); 165 // PDF½ÐÎÏÍÑ 166 $graph_name = basename($objPage->tpl_image); 167 lfPDFDownload($graph_name, $head . $data, $arrColSize, $arrAlign, $sdate, $edate, $title); 168 exit; 169 } 170 } 171 break; 172 default: 173 if(count($_GET) == 0) { 174 /* 175 ¥ê¥¢¥ë¥¿¥¤¥à½¸·×¤ËÀÚ¤êÂØ¤¨ by Nakagawa 2006/08/31 176 // 1¥ö·îʬ¤Î½¸·× 177 lfStartDailyTotal(31,0); 178 */ 179 } 180 break; 181 } 182 183 // ÅÐÏ¿¡¦¹¹¿·Æü¸¡º÷ÍÑ 184 $objDate = new SC_Date(); 185 $objDate->setStartYear(RELEASE_YEAR); 186 $objDate->setEndYear(DATE("Y")); 187 $objPage->arrYear = $objDate->getYear(); 188 $objPage->arrMonth = $objDate->getMonth(); 189 $objPage->arrDay = $objDate->getDay(); 190 // ÆþÎÏÃͤμèÆÀ 191 $objPage->arrForm = $objFormParam->getFormParamList(); 192 193 $objPage->tpl_subtitle = $objPage->arrTitle[$objFormParam->getValue('page')]; 194 195 $objView->assignobj($objPage); 196 $objView->display(MAIN_FRAME); 197 198 //--------------------------------------------------------------------------------------------------------------------------- 199 /* PDF½ÐÎÏ */ 200 function lfPDFDownload($image, $table, $arrColSize, $arrAlign, $sdate, $edate, $title) { 201 202 $objPdf = new SC_Pdf(); 203 $objPdf->setTableColor("CCCCCC", "F0F0F0", "D1DEFE"); 272 // ¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç 273 if(is_dir($path)) { 274 if($mode == "777") { 275 $mess.= ">> ¡û¡§$val($mode) ¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡£<br>"; 276 } else { 277 $mess.= ">> ¡ß¡§$val($mode) ¤Ë¥æ¡¼¥¶½ñ¹þ¤ß¸¢¸Â(777)¤òÉÕÍ¿¤·¤Æ²¼¤µ¤¤¡£<br>"; 278 $err_file = true; 279 } 280 } else { 281 if($mode == "666") { 282 $mess.= ">> ¡û¡§$val($mode) ¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡£<br>"; 283 } else { 284 $mess.= ">> ¡ß¡§$val($mode) ¤Ë¥æ¡¼¥¶½ñ¹þ¤ß¸¢¸Â(666)¤òÉÕÍ¿¤·¤Æ²¼¤µ¤¤¡£<br>"; 285 $err_file = true; 286 } 287 } 204 288 205 // ÅÚÂæ¤È¤Ê¤ëPDF¥Õ¥¡¥¤¥ë¤Î»ØÄê 206 $objPdf->setTemplate(PDF_DIR . "total.pdf"); 207 208 $disp_sdate = sfDispDBDate($sdate, false); 209 $disp_edate = sfDispDBDate($edate, false); 210 211 $arrText['title_block'] = $title; 212 $arrText['date_block'] = "$disp_sdate-$disp_edate"; 213 $arrImage['graph_block'] = GRAPH_DIR . $image; 214 215 // ʸËö¤Î\n¤òºï½ü¤¹¤ë 216 $table = ereg_replace("\n$", "", $table); 217 $arrRet = split("\n", $table); 218 $page_max = intval((count($arrRet) / 35) + 1); 219 220 for($page = 1; $page <= $page_max; $page++) { 221 if($page > 1) { 222 // 2¥Ú¡¼¥¸°Ê¹ß 223 $start_no = 35 * ($page - 1) + 1; 224 } else { 225 // ³«»Ï¥Ú¡¼¥¸ 226 $start_no = 1; 227 } 228 229 $arrText['page_block'] = $page . " / " . $page_max; 230 $objPdf->setTextBlock($arrText); 231 $objPdf->setImageBlock($arrImage); 232 // ¥Ö¥í¥Ã¥¯ÃÍ¤ÎÆþÎÏ 233 $objPdf->writeBlock(); 234 // ºÇ½ª¥Ú¡¼¥¸¤Î¤ß¡¢¾¦ÉÊÊ̽¸·×¤Ï¹ç·×¤¬¤Ê¤¤¤Î¤ÇºÇ½ª¹Ô¤Î¿§¤òÊѹ¹¤·¤Ê¤¤¡£ 235 if($page == $page_max && $_POST['page'] != 'products') { 236 $last_color_flg = true; 237 } else { 238 $last_color_flg = false; 239 } 240 $objPdf->writeTableCenter($table, 500, $arrColSize, $arrAlign, 35, $start_no, $last_color_flg); 241 $objPdf->closePage(); 242 } 243 244 // PDF¤Î½ÐÎÏ 245 $objPdf->output(); 246 } 247 248 /* ¥»¥Ã¥·¥ç¥ó¤ËÆþÎÏ´ü´Ö¤òµÏ¿¤¹¤ë */ 249 function lfSaveDateSession() { 250 if($_POST['form'] == 1) { 251 $_SESSION['total']['startyear_m'] = $_POST['search_startyear_m']; 252 $_SESSION['total']['startmonth_m'] = $_POST['search_startmonth_m']; 253 } 254 255 if($_POST['form'] == 2) { 256 $_SESSION['total']['startyear'] = $_POST['search_startyear']; 257 $_SESSION['total']['startmonth'] = $_POST['search_startmonth']; 258 $_SESSION['total']['startday'] = $_POST['search_startday']; 259 $_SESSION['total']['endyear'] = $_POST['search_endyear']; 260 $_SESSION['total']['endmonth'] = $_POST['search_endmonth']; 261 $_SESSION['total']['endday'] = $_POST['search_endday']; 262 } 263 } 264 265 /* ¥Ç¥Õ¥©¥ë¥ÈÃͤμèÆÀ */ 266 function lfGetDateDefault() { 267 $year = date("Y"); 268 $month = date("m"); 269 $day = date("d"); 270 271 $list = $_SESSION['total']; 272 273 // ¥»¥Ã¥·¥ç¥ó¾ðÊó¤Ë³«»Ï·îÅÙ¤¬Êݸ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ 274 if($_SESSION['total']['startyear_m'] == "") { 275 $list['startyear_m'] = $year; 276 $list['startmonth_m'] = $month; 277 } 278 279 // ¥»¥Ã¥·¥ç¥ó¾ðÊó¤Ë³«»ÏÆüÉÕ¡¢½ªÎ»ÆüÉÕ¤¬Êݸ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ 280 if($_SESSION['total']['startyear'] == "" && $_SESSION['total']['endyear'] == "") { 281 $list['startyear'] = $year; 282 $list['startmonth'] = $month; 283 $list['startday'] = $day; 284 $list['endyear'] = $year; 285 $list['endmonth'] = $month; 286 $list['endday'] = $day; 287 } 288 289 return $list; 290 } 291 292 /* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */ 293 function lfInitParam() { 294 global $objFormParam; 295 296 // ¥Ç¥Õ¥©¥ë¥ÈÃͤμèÆÀ 297 $arrList = lfGetDateDefault(); 298 299 // ·îÅÙ½¸·× 300 $objFormParam->addParam("·îÅÙ", "search_startyear_m", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startyear_m']); 301 $objFormParam->addParam("·îÅÙ", "search_startmonth_m", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startmonth_m']); 302 // ´ü´Ö½¸·× 303 $objFormParam->addParam("³«»ÏÆü", "search_startyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startyear']); 304 $objFormParam->addParam("³«»ÏÆü", "search_startmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startmonth']); 305 $objFormParam->addParam("³«»ÏÆü", "search_startday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['startday']); 306 $objFormParam->addParam("½ªÎ»Æü", "search_endyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['endyear']); 307 $objFormParam->addParam("½ªÎ»Æü", "search_endmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['endmonth']); 308 $objFormParam->addParam("½ªÎ»Æü", "search_endday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), $arrList['endday']); 309 310 // hidden¥Ç¡¼¥¿¤Î¼èÆÀÍÑ 311 $objFormParam->addParam("", "page"); 312 $objFormParam->addParam("", "type"); 313 } 314 315 /* ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ */ 316 function lfCheckError() { 317 global $objFormParam; 289 } else { 290 $mess.= ">> ¡ß¡§$val ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£<br>"; 291 $err_file = true; 292 } 293 } 294 295 // ¸¢¸Â¥¨¥é¡¼Åù¤¬È¯À¸¤·¤Æ¤¤¤Ê¤¤¾ì¹ç 296 if(!$err_file) { 297 $path = "../../data/Smarty/templates_c/admin"; 298 if(!file_exists($path)) { 299 mkdir($path); 300 } 301 $path = "../../html/upload/save_image"; 302 if(!file_exists($path)) { 303 mkdir($path); 304 } 305 $path = "../../html/upload/temp_image"; 306 if(!file_exists($path)) { 307 mkdir($path); 308 } 309 $path = "../../html/upload/graph_image"; 310 if(!file_exists($path)) { 311 mkdir($path); 312 } 313 $path = "../../html/upload/csv"; 314 if(!file_exists($path)) { 315 mkdir($path); 316 } 317 } 318 319 $objPage->mess = $mess; 320 $objPage->err_file = $err_file; 321 322 return $objPage; 323 } 324 325 326 // STEP0_1²èÌ̤Îɽ¼¨(¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼) 327 function lfDispStep0_1($objPage) { 328 global $objWebParam; 329 global $objDBParam; 330 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 331 $objPage->arrHidden = $objWebParam->getHashArray(); 332 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 333 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 334 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 335 $objPage->tpl_mainpage = 'step0_1.tpl'; 336 $objPage->tpl_mode = 'step0_1'; 337 // ¥Õ¥¡¥¤¥ë¥³¥Ô¡¼ 338 $objPage->copy_mess = lfCopyDir("./user_data/", "../../html/user_data/", $objPage->copy_mess); 339 $objPage->copy_mess = lfCopyDir("./save_image/", "../../html/upload/save_image/", $objPage->copy_mess); 340 return $objPage; 341 } 342 343 function lfGetFileMode($path) { 344 $mode = substr(sprintf('%o', fileperms($path)), -3); 345 return $mode; 346 } 347 348 // STEP1²èÌ̤Îɽ¼¨ 349 function lfDispStep1($objPage) { 350 global $objDBParam; 351 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 352 $objPage->arrHidden = $objDBParam->getHashArray(); 353 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 354 $objPage->tpl_mainpage = 'step1.tpl'; 355 $objPage->tpl_mode = 'step1'; 356 return $objPage; 357 } 358 359 // STEP2²èÌ̤Îɽ¼¨ 360 function lfDispStep2($objPage) { 361 global $objWebParam; 362 global $objDBParam; 363 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 364 $objPage->arrHidden = $objWebParam->getHashArray(); 365 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 366 $objPage->tpl_mainpage = 'step2.tpl'; 367 $objPage->tpl_mode = 'step2'; 368 return $objPage; 369 } 370 371 // STEP3²èÌ̤Îɽ¼¨ 372 function lfDispStep3($objPage) { 373 global $objWebParam; 374 global $objDBParam; 375 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 376 $objPage->arrHidden = $objWebParam->getHashArray(); 377 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 378 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 379 $objPage->tpl_db_skip = $_POST['db_skip']; 380 $objPage->tpl_mainpage = 'step3.tpl'; 381 $objPage->tpl_mode = 'step3'; 382 return $objPage; 383 } 384 385 // ´°Î»²èÌ̤Îɽ¼¨ 386 function lfDispComplete($objPage) { 387 global $objWebParam; 388 global $objDBParam; 389 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 390 $objPage->arrHidden = $objWebParam->getHashArray(); 391 // hidden¤ËÆþÎÏÃͤòÊÝ»ý 392 $objPage->arrHidden = array_merge($objPage->arrHidden, $objDBParam->getHashArray()); 393 $objPage->arrHidden['db_skip'] = $_POST['db_skip']; 394 $objPage->tpl_mainpage = 'complete.tpl'; 395 $objPage->tpl_mode = 'complete'; 396 return $objPage; 397 } 398 399 // WEB¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ 400 function lfInitWebParam($objWebParam) { 401 402 $install_dir = realpath(dirname( __FILE__) . "/../../") . "/"; 403 $normal_url = "http://" . $_SERVER['HTTP_HOST'] . "/"; 404 $secure_url = "http://" . $_SERVER['HTTP_HOST'] . "/"; 405 $domain = ereg_replace("^[a-zA-Z0-9_~=&\?\/-]+\.", "", $_SERVER['HTTP_HOST']); 406 $objWebParam->addParam("Ź̾", "shop_name", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK")); 407 $objWebParam->addParam("´ÉÍý¼Ô¥á¡¼¥ë¥¢¥É¥ì¥¹", "admin_mail", MTEXT_LEN, "", array("EXIST_CHECK","EMAIL_CHECK","EMAIL_CHAR_CHECK","MAX_LENGTH_CHECK")); 408 $objWebParam->addParam("¥¤¥ó¥¹¥È¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê", "install_dir", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $install_dir); 409 $objWebParam->addParam("URL(Ä̾ï)", "normal_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $normal_url); 410 $objWebParam->addParam("URL(¥»¥¥å¥¢)", "secure_url", MTEXT_LEN, "", array("EXIST_CHECK","URL_CHECK","MAX_LENGTH_CHECK"), $secure_url); 411 $objWebParam->addParam("¥É¥á¥¤¥ó", "domain", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $domain); 412 413 return $objWebParam; 414 } 415 416 // DB¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ 417 function lfInitDBParam($objDBParam) { 418 419 $db_server = "127.0.0.1"; 420 $db_port = "3306"; 421 $db_name = "eccube_db"; 422 $db_user = "eccube_db_user"; 423 424 $objDBParam->addParam("DB¤Î¼ïÎà", "db_type", INT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK")); 425 $objDBParam->addParam("DB¥µ¡¼¥Ð", "db_server", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_server); 426 $objDBParam->addParam("DB¥Ý¡¼¥È", "db_port", INT_LEN, "", array("MAX_LENGTH_CHECK"), $db_port); 427 $objDBParam->addParam("DB̾", "db_name", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_name); 428 $objDBParam->addParam("DB¥æ¡¼¥¶", "db_user", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK"), $db_user); 429 $objDBParam->addParam("DB¥Ñ¥¹¥ï¡¼¥É", "db_password", MTEXT_LEN, "", array("EXIST_CHECK","MAX_LENGTH_CHECK")); 430 431 return $objDBParam; 432 } 433 434 // ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ 435 function lfCheckWebError($objFormParam) { 318 436 // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ 319 437 $arrRet = $objFormParam->getHashArray(); 320 438 $objErr = new SC_CheckError($arrRet); 321 439 $objErr->arrErr = $objFormParam->checkError(); 322 323 // ÆÃ¼ì¹àÌÜ¥Á¥§¥Ã¥¯324 if($_POST['form'] == 1) {325 $objErr->doFunc(array("·îÅÙ", "search_startyear_m"), array("ONE_EXIST_CHECK"));326 }327 328 if($_POST['form'] == 2) {329 $objErr->doFunc(array("´ü´Ö", "search_startyear", "search_endyear"), array("ONE_EXIST_CHECK"));330 }331 332 $objErr->doFunc(array("·îÅÙ", "search_startyear_m", "search_startmonth_m"), array("ALL_EXIST_CHECK"));333 $objErr->doFunc(array("³«»ÏÆü", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE"));334 $objErr->doFunc(array("½ªÎ»Æü", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE"));335 $objErr->doFunc(array("³«»ÏÆü", "½ªÎ»Æü", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM"));336 440 return $objErr->arrErr; 337 441 } 338 442 339 /* ÀÞ¤ìÀþ¥°¥é¥Õ¤ÎºîÀ® */ 340 function lfGetGraphLine($arrResults, $keyname, $type, $xtitle, $ytitle, $sdate, $edate) { 341 342 $ret_path = ""; 343 344 // ·ë²Ì¤¬0¹Ô°Ê¾å¤¢¤ë¾ì¹ç¤Î¤ß¥°¥é¥Õ¤òÀ¸À®¤¹¤ë¡£ 345 if(count($arrResults) > 0) { 443 // ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ 444 function lfCheckDBError($objFormParam) { 445 global $port; 446 // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ 447 $arrRet = $objFormParam->getHashArray(); 448 449 sfprintr($arrRet); 450 451 $objErr = new SC_CheckError($arrRet); 452 $objErr->arrErr = $objFormParam->checkError(); 453 454 if(count($objErr->arrErr) == 0) { 455 // Àܳ³Îǧ 456 $dsn = $arrRet['db_type']."://".$arrRet['db_user'].":".$arrRet['db_password']."@".$arrRet['db_server'].$port."/".$arrRet['db_name']; 457 // Debug¥â¡¼¥É»ØÄê 458 $options['debug'] = 3; 459 $objDB = DB::connect($dsn, $options); 460 // Àܳ¥¨¥é¡¼ 461 if(PEAR::isError($objDB)) { 462 $objErr->arrErr['all'] = ">> " . $objDB->message . "<br>"; 463 // ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë 464 ereg("\[(.*)\]", $objDB->userinfo, $arrKey); 465 $objErr->arrErr['all'].= $arrKey[0] . "<br>"; 466 gfPrintLog($objDB->userinfo, "./temp/install.log"); 467 } 468 } 469 return $objErr->arrErr; 470 } 471 472 // SQLʸ¤Î¼Â¹Ô 473 function lfExecuteSQL($filepath, $db_user, $db_password, $db_server, $db_name, $db_type, $db_port, $disp_err = true) { 474 global $port; 475 $arrErr = array(); 476 477 if(!file_exists($filepath)) { 478 $arrErr['all'] = ">> ¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"; 479 } else { 480 if($fp = fopen($filepath,"r")) { 481 $sql = fread($fp, filesize($filepath)); 482 fclose($fp); 483 } 484 485 $dsn = $db_type."://".$db_user.":".$db_password."@".$db_server.$port."/".$db_name; 346 486 347 // ¥°¥é¥Õ¤ÎÀ¸À® 348 $arrList = sfArrKeyValue($arrResults, $keyname, "total"); 349 350 // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ 351 $pngname = lfGetGraphPng($type); 352 353 $path = GRAPH_DIR . $pngname; 354 355 // ¥é¥Ù¥ëɽ¼¨¥¤¥ó¥¿¡¼¥Ð¥ë¤òµá¤á¤ë 356 $interval = intval(count($arrList) / 20); 357 if($interval < 1) { 358 $interval = 1; 359 } 360 $objGraphPie = new SC_GraphPie(); 361 $objGraphLine = new SC_GraphLine(); 362 363 // ÃͤΥ»¥Ã¥È 364 $objGraphLine->setData($arrList); 365 $objGraphLine->setXLabel(array_keys($arrList)); 366 367 // ¥é¥Ù¥ë²óž(ÆüËܸìÉÔ²Ä) 368 if($keyname == "key_day"){ 369 $objGraphLine->setXLabelAngle(45); 370 } 371 372 // ¥¿¥¤¥È¥ë¥»¥Ã¥È 373 $objGraphLine->setXTitle($xtitle); 374 $objGraphLine->setYTitle($ytitle); 375 376 // ¥á¥¤¥ó¥¿¥¤¥È¥ëºîÀ® 377 list($sy, $sm, $sd) = split("[/ ]" , $sdate); 378 list($ey, $em, $ed) = split("[/ ]" , $edate); 379 $start_date = $sy . "ǯ" . $sm . "·î" . $sd . "Æü"; 380 $end_date = $ey . "ǯ" . $em . "·î" . $ed . "Æü"; 381 $objGraphLine->drawTitle("½¸·×´ü´Ö¡§" . $start_date . " - " . $end_date); 382 383 // ¥°¥é¥ÕÉÁ²è 384 $objGraphLine->drawGraph(); 385 $objGraphLine->outputGraph(false, $path); 386 387 // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¤òÊÖ¤¹ 388 $ret_path = GRAPH_URL . $pngname; 389 } 390 return $ret_path; 391 } 392 393 // ±ß¥°¥é¥Õ¤ÎºîÀ® 394 function lfGetGraphPie($arrResults, $keyname, $type, $title = "", $sdate = "", $edate = "") { 395 396 $ret_path = ""; 397 398 // ·ë²Ì¤¬0¹Ô°Ê¾å¤¢¤ë¾ì¹ç¤Î¤ß¥°¥é¥Õ¤òÀ¸À®¤¹¤ë¡£ 399 if(count($arrResults) > 0) { 400 // ¥°¥é¥Õ¤ÎÀ¸À® 401 $arrList = sfArrKeyValue($arrResults, $keyname, "total", GRAPH_PIE_MAX, GRAPH_LABEL_MAX); 402 403 // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ 404 $pngname = lfGetGraphPng($type); 405 $path = GRAPH_DIR . $pngname; 406 407 $objGraphPie = new SC_GraphPie(); 408 409 /* ¥Ç¥Ð¥Ã¥°É½¼¨ÍÑ by naka 410 foreach($arrList as $key => $val) { 411 $objGraphPie->debugPrint("key:$key val:$val"); 412 } 413 */ 414 415 // ¥Ç¡¼¥¿¤ò¥»¥Ã¥È¤¹¤ë 416 $objGraphPie->setData($arrList); 417 // ËÞÎã¤ò¥»¥Ã¥È¤¹¤ë 418 $objGraphPie->setLegend(array_keys($arrList)); 419 420 // ¥á¥¤¥ó¥¿¥¤¥È¥ëºîÀ® 421 list($sy, $sm, $sd) = split("[/ ]" , $sdate); 422 list($ey, $em, $ed) = split("[/ ]" , $edate); 423 $start_date = $sy . "ǯ" . $sm . "·î" . $sd . "Æü"; 424 $end_date = $ey . "ǯ" . $em . "·î" . $ed . "Æü"; 425 $objGraphPie->drawTitle("½¸·×´ü´Ö¡§" . $start_date . " - " . $end_date); 426 427 // ±ß¥°¥é¥ÕÉÁ²è 428 $objGraphPie->drawGraph(); 429 430 // ¥°¥é¥Õ¤Î½ÐÎÏ 431 $objGraphPie->outputGraph(false, $path); 432 433 // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¤òÊÖ¤¹ 434 $ret_path = GRAPH_URL . $pngname; 435 } 436 return $ret_path; 437 } 438 439 // ËÀ¥°¥é¥Õ¤ÎºîÀ® 440 function lfGetGraphBar($arrResults, $keyname, $type, $xtitle, $ytitle, $sdate, $edate) { 441 $ret_path = ""; 442 443 // ·ë²Ì¤¬0¹Ô°Ê¾å¤¢¤ë¾ì¹ç¤Î¤ß¥°¥é¥Õ¤òÀ¸À®¤¹¤ë¡£ 444 if(count($arrResults) > 0) { 445 // ¥°¥é¥Õ¤ÎÀ¸À® 446 $arrList = sfArrKeyValue($arrResults, $keyname, "total", GRAPH_PIE_MAX, GRAPH_LABEL_MAX); 447 448 // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ 449 $pngname = lfGetGraphPng($type); 450 $path = GRAPH_DIR . $pngname; 451 452 $objGraphBar = new SC_GraphBar(); 453 454 foreach(array_keys($arrList) as $val) { 455 $arrKey[] = ereg_replace("¡Á", "-", $val); 487 $objDB = DB::connect($dsn); 488 // Àܳ¥¨¥é¡¼ 489 if(!PEAR::isError($objDB)) { 490 // ²þ¹Ô¡¢¥¿¥Ö¤ò1¥¹¥Ú¡¼¥¹¤ËÊÑ´¹ 491 $sql = preg_replace("/[\r\n\t]/"," ",$sql); 492 $sql_split = split(";",$sql); 493 foreach($sql_split as $key => $val){ 494 if (trim($val) != "") { 495 $ret = $objDB->query($val); 496 if(PEAR::isError($ret) and $disp_err) { 497 $arrErr['all'] = ">> " . $ret->message . "<br>"; 498 // ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë 499 ereg("\[(.*)\]", $ret->userinfo, $arrKey); 500 $arrErr['all'].= $arrKey[0] . "<br>"; 501 $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 502 gfPrintLog($ret->userinfo, "./temp/install.log"); 503 } 504 } 456 505 } 457 506 458 // ¥°¥é¥ÕÉÁ²è 459 $objGraphBar->setXLabel($arrKey); 460 $objGraphBar->setXTitle($xtitle); 461 $objGraphBar->setYTitle($ytitle); 462 $objGraphBar->setData($arrList); 463 464 // ¥á¥¤¥ó¥¿¥¤¥È¥ëºîÀ® 465 $arrKey = array_keys($arrList); 466 list($sy, $sm, $sd) = split("[/ ]" , $sdate); 467 list($ey, $em, $ed) = split("[/ ]" , $edate); 468 $start_date = $sy . "ǯ" . $sm . "·î" . $sd . "Æü"; 469 $end_date = $ey . "ǯ" . $em . "·î" . $ed . "Æü"; 470 $objGraphBar->drawTitle("½¸·×´ü´Ö¡§" . $start_date . " - " . $end_date); 471 472 $objGraphBar->drawGraph(); 473 $objGraphBar->outputGraph(false,$path); 474 475 // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¤òÊÖ¤¹ 476 $ret_path = GRAPH_URL . $pngname; 477 } 478 return $ret_path; 479 } 480 481 // ¥°¥é¥ÕÍѤÎPNG¥Õ¥¡¥¤¥ë̾ 482 function lfGetGraphPng($keyname) { 483 if($_POST['search_startyear_m'] != "") { 484 $pngname = sprintf("%s_%02d%02d.png", $keyname, substr($_POST['search_startyear_m'],2), $_POST['search_startmonth_m']); 485 } else { 486 $pngname = sprintf("%s_%02d%02d%02d_%02d%02d%02d.png", $keyname, substr($_POST['search_startyear'], 2), $_POST['search_startmonth'], $_POST['search_startday'], substr($_POST['search_endyear'],2), $_POST['search_endmonth'], $_POST['search_endday']); 487 } 488 return $pngname; 489 } 490 491 // ²ñ°÷¡¢Èó²ñ°÷½¸·×¤ÎWHEREʬ¤ÎºîÀ® 492 function lfGetWhereMember($col_date, $sdate, $edate, $type, $col_member = "customer_id") { 493 // ¼èÆÀÆüÉդλØÄê 494 if($sdate != "") { 495 if ($where != "") { 496 $where.= " AND "; 497 } 498 $where.= " $col_date >= '". $sdate ."'"; 499 } 507 } else { 508 $arrErr['all'] = ">> " . $objDB->message; 509 gfPrintLog($objDB->userinfo, "./temp/install.log"); 510 } 511 } 512 return $arrErr; 513 } 514 515 // ÀßÄê¥Õ¥¡¥¤¥ë¤ÎºîÀ® 516 function lfMakeConfigFile() { 517 global $objWebParam; 518 global $objDBParam; 519 global $port; 520 521 $filepath = $objWebParam->getValue('install_dir') . "/html/install.inc"; 522 $domain = $objWebParam->getValue('domain'); 523 if(!ereg("^\.", $domain)) { 524 $domain = "." . $domain; 525 } 526 527 $root_dir = $objWebParam->getValue('install_dir'); 528 if (!ereg("/$", $root_dir)) { 529 $root_dir = $root_dir . "/"; 530 } 531 532 $config_data = 533 "<?php\n". 534 " define ('ECCUBE_INSTALL', 'ON');\n" . 535 " define ('ROOT_DIR', '" . $root_dir . "');\n" . 536 " define ('SITE_URL', '" . $objWebParam->getValue('normal_url') . "');\n" . 537 " define ('SSL_URL', '" . $objWebParam->getValue('secure_url') . "');\n" . 538 " define ('DOMAIN_NAME', '" . $domain . "');\n" . 539 " define ('DB_TYPE', '" . $objDBParam->getValue('db_type') . "');\n" . 540 " define ('DB_USER', '" . $objDBParam->getValue('db_user') . "');\n" . 541 " define ('DB_PASSWORD', '" . $objDBParam->getValue('db_password') . "');\n" . 542 " define ('DB_SERVER', '" . $objDBParam->getValue('db_server') . "');\n" . 543 " define ('DB_NAME', '" . $objDBParam->getValue('db_name') . "');\n" . 544 " define ('DB_PORT', '" . $port . "');\n" . 545 "?>"; 546 547 if($fp = fopen($filepath,"w")) { 548 fwrite($fp, $config_data); 549 fclose($fp); 550 } 551 } 552 553 // ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤òºÆµ¢Åª¤Ë¥³¥Ô¡¼ 554 function lfCopyDir($src, $des, $mess, $override = false){ 555 if(!is_dir($src)){ 556 return false; 557 } 558 559 $oldmask = umask(0); 560 $mod= stat($src); 561 562 // ¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë 563 if(!file_exists($des)) { 564 mkdir($des, $mod[2]); 565 } 566 567 $fileArray=glob( $src."*" ); 568 foreach( $fileArray as $key => $data_ ){ 569 // CVS´ÉÍý¥Õ¥¡¥¤¥ë¤Ï¥³¥Ô¡¼¤·¤Ê¤¤ 570 if(ereg("/CVS/Entries", $data_)) { 571 break; 572 } 573 if(ereg("/CVS/Repository", $data_)) { 574 break; 575 } 576 if(ereg("/CVS/Root", $data_)) { 577 break; 578 } 500 579 501 if($edate != "") { 502 if ($where != "") { 503 $where.= " AND "; 504 } 505 $edate = date("Y/m/d",strtotime("1 day" ,strtotime($edate))); 506 $where.= " $col_date < date('" . $edate ."')"; 507 } 508 509 // ²ñ°÷¡¢Èó²ñ°÷¤ÎȽÄê 510 switch($type) { 511 // Á´ÂÎ 512 case 'all': 513 break; 514 case 'member': 515 if ($where != "") { 516 $where.= " AND "; 517 } 518 $where.= " $col_member <> 0"; 519 break; 520 case 'nonmember': 521 if ($where != "") { 522 $where.= " AND "; 523 } 524 $where.= " $col_member = 0"; 525 break; 526 default: 527 break; 528 } 529 530 return array($where, $arrval); 531 } 532 533 /** ²ñ°÷Ê̽¸·× **/ 534 function lfGetOrderMember($type, $sdate, $edate, $objPage, $graph = true) { 535 global $arrSex; 536 537 list($where, $arrval) = lfGetWhereMember('create_date', $sdate, $edate, $type); 538 539 // ²ñ°÷½¸·×¤Î¼èÆÀ 540 $col = "COUNT(*) AS order_count, SUM(total) AS total, (AVG(total)) AS total_average, order_sex"; 541 $from = "dtb_order"; 542 $objQuery = new SC_Query(); 543 $objQuery->setGroupBy("order_sex"); 544 545 $tmp_where = $where . " AND customer_id <> 0 AND del_flg = 0 "; 546 $arrRet = $objQuery->select($col, $from, $tmp_where, $arrval); 547 548 // ²ñ°÷¹ØÆþ¤Ç¤¢¤ë¤³¤È¤òµÏ¿¤¹¤ë¡£ 549 $max = count($arrRet); 550 for($i = 0; $i < $max; $i++) { 551 $arrRet[$i]['member_name'] = '²ñ°÷'.$arrSex[$arrRet[$i]['order_sex']]; 552 } 553 $objPage->arrResults = $arrRet; 554 555 // Èó²ñ°÷½¸·×¤Î¼èÆÀ 556 $tmp_where = $where . " AND customer_id = 0 AND del_flg = 0 "; 557 $arrRet = $objQuery->select($col, $from, $tmp_where, $arrval); 558 // Èó²ñ°÷¹ØÆþ¤Ç¤¢¤ë¤³¤È¤òµÏ¿¤¹¤ë¡£ 559 $max = count($arrRet); 560 for($i = 0; $i < $max; $i++) { 561 $arrRet[$i]['member_name'] = 'Èó²ñ°÷'.$arrSex[$arrRet[$i]['order_sex']]; 562 } 563 564 $objPage->arrResults = array_merge($objPage->arrResults, $arrRet); 565 566 // ±ß¥°¥é¥Õ¤ÎÀ¸À® 567 if($graph) { 568 $image_key = "member"; 569 $objPage->tpl_image = lfGetGraphPie($objPage->arrResults, "member_name", $image_key, "(Çä¾åÈæÎ¨)", $sdate, $edate); 570 } 571 572 return $objPage; 573 } 574 575 /** ¾¦ÉÊÊ̽¸·× **/ 576 function lfGetOrderProducts($type, $sdate, $edate, $objPage, $graph = true) { 577 list($where, $arrval) = lfGetWhereMember('create_date', $sdate, $edate, $type); 578 579 $sql = "SELECT T1.product_id, T1.product_code, T2.name, T1.products_count, T1.order_count, T1.price, T1.total "; 580 $sql.= "FROM ( "; 581 $sql.= "SELECT product_id, product_code, price, "; 582 $sql.= "COUNT(*) AS order_count, "; 583 $sql.= "SUM(quantity) AS products_count, "; 584 $sql.= "(price * sum(quantity)) AS total "; 585 $sql.= "FROM dtb_order_detail WHERE order_id IN (SELECT order_id FROM dtb_order WHERE $where ) "; 586 $sql.= "GROUP BY product_id, product_code, price "; 587 $sql.= ") "; 588 $sql.= "AS T1 LEFT JOIN dtb_products AS T2 USING (product_id) WHERE T2.name IS NOT NULL AND status = 1 ORDER BY T1.total DESC "; 589 590 if($_POST['mode'] != "csv") { 591 $sql.= "LIMIT " . PRODUCTS_TOTAL_MAX; 592 } 593 594 $objQuery = new SC_Query(); 595 $objPage->arrResults = $objQuery->getall($sql, $arrval); 596 597 // ±ß¥°¥é¥Õ¤ÎÀ¸À® 598 if($graph) { 599 $image_key = "products_" . $type; 600 $objPage->tpl_image = lfGetGraphPie($objPage->arrResults, "name", $image_key, "(Çä¾åÈæÎ¨)", $sdate, $edate); 601 } 602 603 return $objPage; 604 } 605 606 /** ¿¦¶ÈÊ̽¸·× **/ 607 function lfGetOrderJob($type, $sdate, $edate, $objPage, $graph = true) { 608 global $arrJob; 609 610 list($where, $arrval) = lfGetWhereMember('T2.create_date', $sdate, $edate, $type); 611 612 $sql = "SELECT job, count(*) AS order_count, SUM(total) AS total, (AVG(total)) AS total_average "; 613 $sql.= "FROM dtb_customer AS T1 LEFT JOIN dtb_order AS T2 USING ( customer_id ) WHERE $where AND T2.del_flg = 0 "; 614 $sql.= "GROUP BY job ORDER BY total DESC"; 615 616 $objQuery = new SC_Query(); 617 $objPage->arrResults = $objQuery->getall($sql, $arrval); 618 619 $max = count($objPage->arrResults); 620 for($i = 0; $i < $max; $i++) { 621 $job_key = $objPage->arrResults[$i]['job']; 622 if($job_key != "") { 623 $objPage->arrResults[$i]['job_name'] = $arrJob[$job_key]; 624 } else { 625 $objPage->arrResults[$i]['job_name'] = "̤²óÅú"; 626 } 627 } 628 629 // ±ß¥°¥é¥Õ¤ÎÀ¸À® 630 if($graph) { 631 $image_key = "job_" . $type; 632 $objPage->tpl_image = lfGetGraphPie($objPage->arrResults, "job_name", $image_key, "(Çä¾åÈæÎ¨)", $sdate, $edate); 633 } 634 635 return $objPage; 636 } 637 638 /** ǯÂåÊ̽¸·× **/ 639 function lfGetOrderAge($type, $sdate, $edate, $objPage, $graph = true) { 640 641 list($where, $arrval) = lfGetWhereMember('order_date', $sdate, $edate, $type, "member"); 642 643 $sql = "SELECT SUM(order_count) AS order_count, SUM(total) AS total, start_age, end_age "; 644 $sql.= "FROM dtb_bat_order_daily_age WHERE $where "; 645 $sql.= "GROUP BY start_age, end_age ORDER BY start_age, end_age"; 646 647 $objQuery = new SC_Query(); 648 $objPage->arrResults = $objQuery->getall($sql, $arrval); 649 650 $max = count($objPage->arrResults); 651 for($i = 0; $i < $max; $i++) { 652 if($objPage->arrResults[$i]['order_count'] > 0) { 653 $objPage->arrResults[$i]['total_average'] = intval($objPage->arrResults[$i]['total'] / $objPage->arrResults[$i]['order_count']); 654 } 655 $start_age = $objPage->arrResults[$i]['start_age']; 656 $end_age = $objPage->arrResults[$i]['end_age']; 657 if($start_age != "" || $end_age != "") { 658 if($end_age != 999) { 659 $objPage->arrResults[$i]['age_name'] = $start_age . "¡Á" . $end_age . "ºÐ"; 580 mb_ereg("^(.*[\/])(.*)",$data_, $matches); 581 $data=$matches[2]; 582 if( is_dir( $data_ ) ){ 583 $mess = lfCopyDir( $data_.'/', $des.$data.'/', $mess); 584 }else{ 585 if(!$override && file_exists($des.$data)) { 586 $mess.= $des.$data . "¡§¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹\n"; 660 587 } else { 661 $objPage->arrResults[$i]['age_name'] = $start_age . "ºÐ¡Á"; 588 if(@copy( $data_, $des.$data)) { 589 $mess.= $des.$data . "¡§¥³¥Ô¡¼À®¸ù\n"; 590 } else { 591 $mess.= $des.$data . "¡§¥³¥Ô¡¼¼ºÇÔ\n"; 592 } 662 593 } 663 } else { 664 $objPage->arrResults[$i]['age_name'] = "̤²óÅú"; 665 } 666 } 667 668 // ËÀ¥°¥é¥Õ¤ÎÀ¸À® 669 if($graph) { 670 $image_key = "age_" . $type; 671 $xtitle = "(ǯÎð)"; 672 $ytitle = "(Çä¾å¹ç·×)"; 673 $objPage->tpl_image = lfGetGraphBar($objPage->arrResults, "age_name", $image_key, $xtitle, $ytitle, $sdate, $edate); 674 } 675 676 return $objPage; 677 } 678 679 /** ´ü´ÖÊ̽¸·× **/ 680 function lfGetOrderTerm($type, $sdate, $edate, $objPage, $graph = true) { 681 682 $tmp_col = "sum(total_order) as total_order, sum(men) as men, sum(women) as women,"; 683 $tmp_col.= "sum(men_member) as men_member, sum(men_nonmember) as men_nonmember,"; 684 $tmp_col.= "sum(women_member) as women_member, sum(women_nonmember) as women_nonmember,"; 685 $tmp_col.= "sum(total) as total, (avg(total_average)) as total_average"; 686 $objQuery = new SC_Query(); 687 688 switch($type) { 689 // ·îÊÌ 690 case 'month': 691 $col = $tmp_col . ",key_month"; 692 $objQuery->setgroupby("key_month"); 693 $objQuery->setOrder("key_month"); 694 $objPage->keyname = "key_month"; 695 $objPage->tpl_tail = "·î"; 696 $from = "dtb_bat_order_daily"; 697 $xtitle = "(·îÊÌ)"; 698 $ytitle = "(Çä¾å¹ç·×)"; 699 break; 700 // ǯÊÌ 701 case 'year': 702 $col = $tmp_col . ",key_year"; 703 $objQuery->setgroupby("key_year"); 704 $objQuery->setOrder("key_year"); 705 $objPage->keyname = "key_year"; 706 $objPage->tpl_tail = "ǯ"; 707 $from = "dtb_bat_order_daily"; 708 $xtitle = "(ǯÊÌ)"; 709 $ytitle = "(Çä¾å¹ç·×)"; 710 break; 711 // ÍËÆüÊÌ 712 case 'wday': 713 $col = $tmp_col . ",key_wday, wday"; 714 $objQuery->setgroupby("key_wday, wday"); 715 $objQuery->setOrder("wday"); 716 $objPage->keyname = "key_wday"; 717 $objPage->tpl_tail = "ÍËÆü"; 718 $from = "dtb_bat_order_daily"; 719 $xtitle = "(ÍËÆüÊÌ)"; 720 $ytitle = "(Çä¾å¹ç·×)"; 721 break; 722 // »þ´ÖÊÌ 723 case 'hour': 724 $col = $tmp_col . ",hour"; 725 $objQuery->setgroupby("hour"); 726 $objQuery->setOrder("hour"); 727 $objPage->keyname = "hour"; 728 $objPage->tpl_tail = "»þ"; 729 $from = "dtb_bat_order_daily_hour"; 730 $xtitle = "(»þ´ÖÊÌ)"; 731 $ytitle = "(Çä¾å¹ç·×)"; 732 break; 733 default: 734 $col = "*"; 735 $objQuery->setOrder("key_day"); 736 $objPage->keyname = "key_day"; 737 $from = "dtb_bat_order_daily"; 738 $xtitle = "(ÆüÊÌ)"; 739 $ytitle = "(Çä¾å¹ç·×)"; 740 break; 741 } 742 743 744 // ¼èÆÀÆüÉդλØÄê 745 if($sdate != "") { 746 if ($where != "") { 747 $where.= " AND "; 748 } 749 $where.= " order_date >= '". $sdate ."'"; 750 } 751 752 if($edate != "") { 753 if ($where != "") { 754 $where.= " AND "; 755 } 756 $edate = date("Y/m/d",strtotime("1 day" ,strtotime($edate))); 757 $where.= " order_date < date('" . $edate ."')"; 758 } 759 760 // ¸¡º÷·ë²Ì¤Î¼èÆÀ 761 $objPage->arrResults = $objQuery->select($col, $from, $where, $arrval); 762 763 // ÀÞ¤ìÀþ¥°¥é¥Õ¤ÎÀ¸À® 764 if($graph) { 765 $image_key = "term_" . $type; 766 $objPage->tpl_image = lfGetGraphLine($objPage->arrResults, $objPage->keyname, $image_key, $xtitle, $ytitle, $sdate, $edate); 767 } 768 769 // ¸¡º÷·ë²Ì¤¬0¤Ç¤Ê¤¤¾ì¹ç 770 if(count($objPage->arrResults) > 0) { 771 // ºÇ½ª½¸·×¹Ô¼èÆÀ¤¹¤ë 772 $col = $tmp_col; 773 $objQuery = new SC_Query(); 774 $arrRet = $objQuery->select($col, $from, $where, $arrval); 775 $arrRet[0][$objPage->keyname] = "¹ç·×"; 776 $objPage->arrResults[] = $arrRet[0]; 777 } 778 779 // Ê¿¶ÑÃͤη׻» 780 $max = count($objPage->arrResults); 781 for($i = 0; $i < $max; $i++) { 782 if($objPage->arrResults[$i]['total_order'] > 0) { 783 $objPage->arrResults[$i]['total_average'] = intval($objPage->arrResults[$i]['total'] / $objPage->arrResults[$i]['total_order']); 784 } 785 } 786 787 return $objPage; 788 } 789 594 $mod=stat($data_ ); 595 } 596 } 597 umask($oldmask); 598 return $mess; 599 } 790 600 ?>
Note: See TracChangeset
for help on using the changeset viewer.
