Index: temp/trunk/html/admin/products/index.php
===================================================================
--- temp/trunk/html/admin/products/index.php	(revision 1624)
+++ temp/trunk/html/admin/products/index.php	(revision 1625)
@@ -1,22 +1,32 @@
 <?php
-require_once("../require.php");
+
+require_once("../../require.php");
 require_once("./index_csv.php");
+//require_once("../../require2.php");
 
 class LC_Page {
+	var $arrForm;
+	var $arrHidden;
+	var $arrProducts;
+	var $arrPageMax;
 	function LC_Page() {
-		$this->tpl_mainpage = 'order/index.tpl';
-		$this->tpl_subnavi = 'order/subnavi.tpl';
-		$this->tpl_mainno = 'order';		
+		$this->tpl_mainpage = 'products/index.tpl';
+//		$this->tpl_mainpage="products/test.tpl";
+
+		$this->tpl_mainno = 'products';
+		$this->tpl_subnavi = 'products/subnavi.tpl';
 		$this->tpl_subno = 'index';
 		$this->tpl_pager = ROOT_DIR . 'data/Smarty/templates/admin/pager.tpl';
-		$this->tpl_subtitle = '¼õÃí´ÉÍý';
-		global $arrORDERSTATUS;
-		$this->arrORDERSTATUS = $arrORDERSTATUS;
-		global $arrORDERSTATUS_COLOR;
-		$this->arrORDERSTATUS_COLOR = $arrORDERSTATUS_COLOR;
-		global $arrSex;
-		$this->arrSex = $arrSex;
+		$this->tpl_subtitle = '¾¦ÉÊ¥Þ¥¹¥¿';
+
 		global $arrPageMax;
 		$this->arrPageMax = $arrPageMax;
+		global $arrDISP;
+		$this->arrDISP = $arrDISP;
+		global $arrSTATUS;
+		$this->arrSTATUS = $arrSTATUS;
+		global $arrPRODUCTSTATUS_COLOR;
+		$this->arrPRODUCTSTATUS_COLOR = $arrPRODUCTSTATUS_COLOR;
+
 	}
 }
@@ -326,2 +336,455 @@
 
 ?>
+
+$objPage = new LC_Page();
+$objView = new SC_AdminView();
+$objSess = new SC_Session();
+$objDate = new SC_Date();
+
+
+// ÅÐÏ¿¡¦¹¹¿·¸¡º÷³«»ÏÇ¯
+$objDate->setStartYear(RELEASE_YEAR);
+$objDate->setEndYear(DATE("Y"));
+$objPage->arrStartYear = $objDate->getYear();
+$objPage->arrStartMonth = $objDate->getMonth();
+$objPage->arrStartDay = $objDate->getDay();
+// ÅÐÏ¿¡¦¹¹¿·¸¡º÷½ªÎ»Ç¯
+$objDate->setStartYear(RELEASE_YEAR);
+$objDate->setEndYear(DATE("Y"));
+$objPage->arrEndYear = $objDate->getYear();
+$objPage->arrEndMonth = $objDate->getMonth();
+$objPage->arrEndDay = $objDate->getDay();
+
+// Ç§¾Ú²ÄÈÝ¤ÎÈ½Äê
+$objSess = new SC_Session();
+sfIsSuccess($objSess);
+//¥­¥ã¥ó¥Ú¡¼¥ó¤ÎÊÔ½¸»þ
+if(sfIsInt($_POST['campaign_id']) && $_POST['mode'] == "camp_search") {
+	$objQuery = new SC_Query();
+	$search_data = $objQuery->get("dtb_campaign", "search_condition", "campaign_id = ? ", array($_POST['campaign_id']));
+	$arrSearch = unserialize($search_data);
+	foreach ($arrSearch as $key => $val) {
+		$_POST[$key] = $val;
+	}
+}
+
+// POSTÃÍ¤Î°ú¤­·Ñ¤®
+$objPage->arrForm = $_POST;
+
+// ¸¡º÷¥ï¡¼¥É¤Î°ú¤­·Ñ¤®
+foreach ($_POST as $key => $val) {
+	if (ereg("^search_", $key) || ereg("^campaign_", $key)) {
+		switch($key) {
+			case 'search_product_flag':
+			case 'search_status':
+				$objPage->arrHidden[$key] = sfMergeParamCheckBoxes($val);
+				if(!is_array($val)) {
+					$objPage->arrForm[$key] = split("-", $val);
+				}
+				break;
+			default:
+				$objPage->arrHidden[$key] = $val;
+				break;
+		}
+	}
+}
+
+// ¥Ú¡¼¥¸Á÷¤êÍÑ
+$objPage->arrHidden['search_pageno'] = $_POST['search_pageno'];
+
+// ¾¦ÉÊºï½ü
+if ($_POST['mode'] == "delete") {
+	if($_POST['category_id'] != "") {
+		// ¥é¥ó¥¯ÉÕ¤­¥ì¥³¡¼¥É¤Îºï½ü
+		$where = "category_id = " . addslashes($_POST['category_id']);
+		sfDeleteRankRecord("dtb_products", "product_id", $_POST['product_id'], $where);
+	} else {
+		sfDeleteRankRecord("dtb_products", "product_id", $_POST['product_id']);
+	}
+	// »Ò¥Æ¡¼¥Ö¥ë(¾¦ÉÊµ¬³Ê)¤Îºï½ü
+	$objQuery = new SC_Query();
+	$objQuery->delete("dtb_products_class", "product_id = ?", array($_POST['product_id']));
+	
+	// ·ï¿ô¥«¥¦¥ó¥È¥Ð¥Ã¥Á¼Â¹Ô
+	sfCategory_Count($objQuery);	
+}
+
+
+if ($_POST['mode'] == "search" || $_POST['mode'] == "csv"  || $_POST['mode'] == "delete" || $_POST['mode'] == "delete_all" || $_POST['mode'] == "camp_search") {
+	// ÆþÎÏÊ¸»ú¤Î¶¯À©ÊÑ´¹
+	lfConvertParam();
+	// ¥¨¥é¡¼¥Á¥§¥Ã¥¯
+	$objPage->arrErr = lfCheckError();
+
+	$where = "delete = 0";
+
+	// ÆþÎÏ¥¨¥é¡¼¤Ê¤·
+	if (count($objPage->arrErr) == 0) {
+
+		foreach ($objPage->arrForm as $key => $val) {
+				
+			$val = sfManualEscape($val);
+			
+			if($val == "") {
+				continue;
+			}
+			
+			switch ($key) {
+				case 'search_product_id':
+					$where .= " AND product_id = ?";
+					$arrval[] = $val;
+					break;
+				case 'search_product_class_id':
+					$where .= " AND product_id IN (SELECT product_id FROM dtb_products_class WHERE product_class_id = ?)";
+					$arrval[] = $val;
+					break;
+				case 'search_name':
+					$where .= " AND name ILIKE ?";
+					$arrval[] = "%$val%";
+					break;
+				case 'search_category_id':
+					list($tmp_where, $tmp_arrval) = sfGetCatWhere($val);
+					if($tmp_where != "") {
+						$where.= " AND $tmp_where";
+						$arrval = array_merge($arrval, $tmp_arrval);
+					}
+					break;
+				case 'search_product_code':
+					$where .= " AND product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code ILIKE ? GROUP BY product_id)";
+					$arrval[] = "%$val%";
+					break;
+				case 'search_startyear':
+					$date = sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']);
+					$where.= " AND update_date >= ?";
+					$arrval[] = $date;
+					break;
+				case 'search_endyear':
+					$date = sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday']);
+					$where.= " AND update_date <= ?";
+					$arrval[] = $date;
+					break;
+				case 'search_product_flag':
+					global $arrSTATUS;
+					$search_product_flag = sfSearchCheckBoxes($val);
+					if($search_product_flag != "") {
+						$where.= " AND product_flag LIKE ?";
+						$arrval[] = $search_product_flag;					
+					}
+					break;
+				case 'search_status':
+					$tmp_where = "";
+					foreach ($val as $element){
+						if ($element != ""){
+							if ($tmp_where == ""){
+								$tmp_where.="AND (status LIKE ? ";
+							}else{
+								$tmp_where.="OR status LIKE ? ";
+							}
+							$arrval[]=$element;
+						}
+					}
+					if ($tmp_where != ""){
+						$tmp_where.=")";
+						$where.= "$tmp_where";
+					}
+					break;
+				default:
+					break;
+			}
+		}
+
+		$order = "update_date DESC";
+		$objQuery = new SC_Query();
+		
+		switch($_POST['mode']) {
+		case 'csv':
+			// ¥ª¥×¥·¥ç¥ó¤Î»ØÄê
+			$option = "ORDER BY $order";
+			// CSV½ÐÎÏ¥¿¥¤¥È¥ë¹Ô¤ÎºîÀ®
+			$arrOutput = sfSwapArray(sfgetCsvOutput(1, " WHERE csv_id = 1 AND status = 1"));
+			
+			if (count($arrOutput) <= 0) break;
+			
+			$arrOutputCols = $arrOutput['col'];
+			$arrOutputTitle = $arrOutput['disp_name'];
+			
+			$head = sfGetCSVList($arrOutputTitle);
+			
+			$data = lfGetProductsCSV($where, $option, $arrval, $arrOutputCols);
+
+			// CSV¤òÁ÷¿®¤¹¤ë¡£
+			sfCSVDownload($head.$data);
+			exit;
+			break;
+		case 'delete_all':
+			// ¸¡º÷·ë²Ì¤ò¤¹¤Ù¤Æºï½ü
+			$where = "product_id IN (SELECT product_id FROM vw_products_nonclass WHERE $where)";
+			$sqlval['delete'] = 1;
+			$objQuery->update("dtb_products", $sqlval, $where, $arrval);
+			break;
+		default:
+			// ÆÉ¤ß¹þ¤àÎó¤È¥Æ¡¼¥Ö¥ë¤Î»ØÄê
+			$col = "product_id, name, category_id, main_list_image, status, product_code, price01, price02, stock, stock_unlimited";
+			$from = "vw_products_nonclass";
+
+			// ¹Ô¿ô¤Î¼èÆÀ
+			$linemax = $objQuery->count($from, $where, $arrval);
+			$objPage->tpl_linemax = $linemax;				// ²¿·ï¤¬³ºÅö¤·¤Þ¤·¤¿¡£É½¼¨ÍÑ
+
+			// ¥Ú¡¼¥¸Á÷¤ê¤Î½èÍý
+			if(is_numeric($_POST['search_page_max'])) {	
+				$page_max = $_POST['search_page_max'];
+			} else {
+				$page_max = SEARCH_PMAX;
+			}
+
+			// ¥Ú¡¼¥¸Á÷¤ê¤Î¼èÆÀ
+			$objNavi = new SC_PageNavi($_POST['search_pageno'], $linemax, $page_max, "fnNaviSearchPage", NAVI_PMAX);
+			$startno = $objNavi->start_row;
+			$objPage->arrPagenavi = $objNavi->arrPagenavi;
+			
+			//¥­¥ã¥ó¥Ú¡¼¥ó¾¦ÉÊ¸¡º÷»þ¤Ï¡¢Á´·ë²Ì¤Î¾¦ÉÊID¤òÊÑ¿ô¤Ë³ÊÇ¼¤¹¤ë
+			if($_POST['search_mode'] == 'campaign') {
+				$arrRet = $objQuery->select($col, $from, $where, $arrval);
+				if(count($arrRet) > 0) {
+					$arrRet = sfSwapArray($arrRet);
+					$pid = implode("-", $arrRet['product_id']);
+					$objPage->arrHidden['campaign_product_id'] = $pid;
+				}
+			}
+
+			// ¼èÆÀÈÏ°Ï¤Î»ØÄê(³«»Ï¹ÔÈÖ¹æ¡¢¹Ô¿ô¤Î¥»¥Ã¥È)
+			$objQuery->setlimitoffset($page_max, $startno);
+			// É½¼¨½ç½ø
+			$objQuery->setorder($order);
+			// ¸¡º÷·ë²Ì¤Î¼èÆÀ
+			$objPage->arrProducts = $objQuery->select($col, $from, $where, $arrval);
+//			$arrProducts = $objQuery->select($col, $from, $where, $arrval);
+			
+//			$objPage->arrTest = $arrProducts;
+			
+			$objPage->tpl_mainpage="products/test.tpl";
+
+			break;
+		}
+	}
+}
+/*
+$arrProducts = Array
+(
+    '0' => Array
+        (
+            'product_id' => '18',
+            'name' => 'test',
+            'category_id' => '11',
+            'main_list_image' => '08172054_44e458f942afc.gif',
+            'status' => '1',
+            'product_code' => 'cd 01',
+            'price01' => '500',
+            'price02' => '500',
+            'stock' => '43',
+            'stock_unlimited' => ""
+        ),
+
+    '1' => Array
+        (
+            'product_id' => '14',
+            'name' => 'LPO¥¨¥Ó¥¹',
+            'category_id' => '10',
+            'main_list_image' => '08171740_44e42b7f67953.gif',
+            'status' => '1',
+            'product_code' => 'LPO',
+            'price01' => '15000',
+            'price02' => '15000',
+            'stock' => '14999',
+            'stock_unlimited' => ""
+        ),
+
+    '2' => Array
+        (
+            'product_id' => '16',
+            'name' => 'LPO¥¨¥Ó¥¹',
+            'category_id' => '10',
+            'main_list_image' => '08181941_44e59975c535d.gif',
+            'status' => '1',
+            'product_code' => 'LPO',
+            'price01' => '15000',
+            'price02' => '15000',
+            'stock' => '14927',
+            'stock_unlimited' => ""
+        ),
+
+    '3' => Array
+        (
+            'product_id' => '15',
+            'name' => 'LPO¥¨¥Ó¥¹',
+            'category_id' => '10',
+            'main_list_image' => '08171740_44e42b7f67953.gif',
+            'status' => '1',
+            'product_code' => 'LPO',
+            'price01' => '15000',
+            'price02' => '15000',
+            'stock' => '14998',
+            'stock_unlimited' => ""
+        ),
+    '4' => Array
+        (
+            'product_id' => '17',
+            'name' => 'LPO¥¨¥Ó¥¹',
+            'category_id' => '15',
+            'main_list_image' => '08171740_44e42b7f67953.gif',
+            'status' => '1',
+            'product_code' => 'LPO',
+            'price01' => '15000',
+            'price02' => '15000',
+            'stock' => '0',
+            'stock_unlimited' => ""
+        ),
+
+    '5' => Array
+        (
+            'product_id' => '13',
+            'name' => 'LPO¥¨¥Ó¥¹',
+            'category_id' => '10',
+            'main_list_image' => '08171740_44e42b7f67953.gif',
+            'status' => '1',
+            'product_code' => 'LPO',
+            'price01' => '15000',
+            'price02' => '15000',
+            'stock' => '15000',
+            'stock_unlimited' => ""
+        ),
+
+    '6' => Array
+        (
+            'product_id' => '12',
+            'name' => 'LPO¥¨¥Ó¥¹',
+            'category_id' => '10',
+            'main_list_image' => '08171740_44e42b7f67953.gif',
+            'status' => '1',
+            'product_code' => 'LPO',
+            'price01' => '15000',
+            'price02' => '15000',
+            'stock' => '15000',
+            'stock_unlimited' => ""
+        ),
+
+    '7' => Array
+        (
+            'product_id' => '11',
+            'name' => 'LPO¥¨¥Ó¥¹',
+            'category_id' => '10',
+            'main_list_image' => '08171740_44e42b7f67953.gif',
+            'status' => '1',
+            'product_code' => 'LPO',
+            'price01' => '15000',
+            'price02' => '15000',
+            'stock' => '15000',
+            'stock_unlimited' => ""
+        ),
+    '8' => Array
+        (
+            'product_id' => '10',
+            'name' => 'LPO¥¨¥Ó¥¹',
+            'category_id' => '10',
+            'main_list_image' => '08171740_44e42b7f67953.gif',
+            'status' => '1',
+            'product_code' => 'LPO',
+            'price01' => '15000',
+            'price02' => '15000',
+            'stock' => '15000',
+            'stock_unlimited' => ""
+        ),
+
+    '9' => Array
+        (
+            'product_id' => '9',
+            'name' => 'LPO¥¨¥Ó¥¹',
+            'category_id' => '10',
+            'main_list_image' => '08171740_44e42b7f67953.gif',
+            'status' => '1',
+            'product_code' => 'LPO',
+            'price01' => '15000',
+            'price02' => '15000',
+            'stock' => '15000',
+            'stock_unlimited' => ""
+        )
+
+);
+
+
+$objPage->arrProducts = $arrProducts;
+*/
+
+// ¥«¥Æ¥´¥ê¤ÎÆÉ¹þ
+$objPage->arrCatList = sfGetCategoryList();
+$objPage->arrCatIDName = lfGetIDName($objPage->arrCatList);
+
+// ²èÌÌ¤ÎÉ½¼¨
+$objView->assignobj($objPage);
+$objView->display(MAIN_FRAME);
+
+//---------------------------------------------------------------------------------------------------------------------------------------------------------
+
+// ¼èÆÀÊ¸»úÎó¤ÎÊÑ´¹ 
+function lfConvertParam() {
+	global $objPage;
+	/*
+	 *	Ê¸»úÎó¤ÎÊÑ´¹
+	 *	K :  ¡ÖÈ¾³Ñ(ÊÝ¶¸)ÊÒ²¾Ì¾¡×¤ò¡ÖÁ´³ÑÊÒ²¾Ì¾¡×¤ËÊÑ´¹
+	 *	C :  ¡ÖÁ´³Ñ¤Ò¤é²¾Ì¾¡×¤ò¡ÖÁ´³Ñ¤«¤¿²¾Ì¾¡×¤ËÊÑ´¹
+	 *	V :  ÂùÅÀÉÕ¤­¤ÎÊ¸»ú¤ò°ìÊ¸»ú¤ËÊÑ´¹¡£"K","H"¤È¶¦¤Ë»ÈÍÑ¤·¤Þ¤¹	
+	 *	n :  ¡ÖÁ´³Ñ¡×¿ô»ú¤ò¡ÖÈ¾³Ñ(ÊÝ¶¸)¡×¤ËÊÑ´¹
+	 */
+	$arrConvList['search_name'] = "KVa";
+	$arrConvList['search_product_code'] = "KVa";
+	
+	// Ê¸»úÊÑ´¹
+	foreach ($arrConvList as $key => $val) {
+		// POST¤µ¤ì¤Æ¤­¤¿ÃÍ¤Î¤ßÊÑ´¹¤¹¤ë¡£
+		if(isset($objPage->arrForm[$key])) {
+			$objPage->arrForm[$key] = mb_convert_kana($objPage->arrForm[$key] ,$val);
+		}
+	}
+}
+
+// ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
+// ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯
+function lfCheckError() {
+	$objErr = new SC_CheckError();
+	$objErr->doFunc(array("³«»ÏÆü", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE"));
+	$objErr->doFunc(array("½ªÎ»Æü", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE"));
+	$objErr->doFunc(array("³«»ÏÆü", "½ªÎ»Æü", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM"));
+	return $objErr->arrErr;
+}
+
+// ¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹ÍÑWHEREÊ¸ºîÀ®
+function lfGetCBWhere($key, $max) {
+	$str = "";
+	$find = false;
+	for ($cnt = 1; $cnt <= $max; $cnt++) {
+		if ($_POST[$key . $cnt] == "1") {
+			$str.= "1";
+			$find = true;
+		} else {
+			$str.= "_";
+		}
+	}
+	if (!$find) {
+		$str = "";
+	}
+	return $str;
+}
+
+// ¥«¥Æ¥´¥êID¤ò¥­¡¼¡¢¥«¥Æ¥´¥êÌ¾¤òÃÍ¤Ë¤¹¤ëÇÛÎó¤òÊÖ¤¹¡£
+function lfGetIDName($arrCatList) {
+	$max = count($arrCatList);
+	for ($cnt = 0; $cnt < $max; $cnt++ ) {
+		$key = $arrCatList[$cnt]['category_id'];
+		$val = $arrCatList[$cnt]['category_name'];
+		$arrRet[$key] = $val;	
+	}
+	return $arrRet;
+}
+
+?>
