Index: branches/dev/html/install/user_data/include/campaign/default/src/entry.php
===================================================================
--- branches/dev/html/install/user_data/include/campaign/default/src/entry.php	(revision 37)
+++ branches/dev/html/install/user_data/include/campaign/default/src/entry.php	(revision 37)
@@ -0,0 +1,388 @@
+<?php
+/*
+ * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
+ *
+ * http://www.lockon.co.jp/
+ */
+require_once("../../require.php");
+
+class LC_Page {
+	function LC_Page() {
+		$this->tpl_css = URL_DIR.'css/layout/entry/index.css';	// ¥á¥¤¥óCSS¥Ñ¥¹
+		$this->tpl_mainpage = 'entry/index.tpl';				// ¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È
+		$this->tpl_title .= '²ñ°÷ÅÐÏ¿(ÆþÎÏ¥Ú¡¼¥¸)';				//¡¡¥Ú¡¼¥¸¥¿¥¤¥È¥ë
+	}
+}
+
+//---- ¥Ú¡¼¥¸½é´üÀßÄê
+$CONF = sf_getBasisData();					// Å¹ÊÞ´ðËÜ¾ðÊó
+$objConn = new SC_DbConn();
+$objQuery = new SC_Query();
+$objPage = new LC_Page();
+$objView = new SC_SiteView();
+$objCampaignSess = new SC_CampaignSession();
+$objDate = new SC_Date(START_BIRTH_YEAR, date("Y",strtotime("now")));
+$objPage->arrPref = $arrPref;
+$objPage->arrJob = $arrJob;
+$objPage->arrReminder = $arrReminder;
+$objPage->arrYear = $objDate->getYear('', 1950);	//¡¡ÆüÉÕ¥×¥ë¥À¥¦¥óÀßÄê
+$objPage->arrMonth = $objDate->getMonth();
+$objPage->arrDay = $objDate->getDay();
+
+//SSLURLÈ½Äê
+if (SSLURL_CHECK == 1){
+	$ssl_url= sfRmDupSlash(SSL_URL.$_SERVER['REQUEST_URI']);
+	if (!ereg("^https://", $non_ssl_url)){
+		sfDispSiteError(URL_ERROR);
+	}
+}
+
+// ¥ì¥¤¥¢¥¦¥È¥Ç¥¶¥¤¥ó¤ò¼èÆÀ
+$objPage = sfGetPageLayout($objPage, false, DEF_LAYOUT);
+
+//---- ÅÐÏ¿ÍÑ¥«¥é¥àÇÛÎó
+$arrRegistColumn = array(
+							 array(  "column" => "name01", "convert" => "aKV" ),
+							 array(  "column" => "name02", "convert" => "aKV" ),
+							 array(  "column" => "kana01", "convert" => "CKV" ),
+							 array(  "column" => "kana02", "convert" => "CKV" ),
+							 array(  "column" => "zip01", "convert" => "n" ),
+							 array(  "column" => "zip02", "convert" => "n" ),
+							 array(  "column" => "pref", "convert" => "n" ),
+							 array(  "column" => "addr01", "convert" => "aKV" ),
+							 array(  "column" => "addr02", "convert" => "aKV" ),
+							 array(  "column" => "email", "convert" => "a" ),
+							 array(  "column" => "email2", "convert" => "a" ),
+							 array(  "column" => "email_mobile", "convert" => "a" ),
+							 array(  "column" => "email_mobile2", "convert" => "a" ),
+							 array(  "column" => "tel01", "convert" => "n" ),
+							 array(  "column" => "tel02", "convert" => "n" ),
+							 array(  "column" => "tel03", "convert" => "n" ),
+							 array(  "column" => "fax01", "convert" => "n" ),
+							 array(  "column" => "fax02", "convert" => "n" ),
+							 array(  "column" => "fax03", "convert" => "n" ),
+							 array(  "column" => "sex", "convert" => "n" ),
+							 array(  "column" => "job", "convert" => "n" ),
+							 array(  "column" => "birth", "convert" => "n" ),
+							 array(  "column" => "reminder", "convert" => "n" ),
+							 array(  "column" => "reminder_answer", "convert" => "aKV"),
+							 array(  "column" => "password", "convert" => "a" ),
+							 array(  "column" => "password02", "convert" => "a" )
+						 );
+
+//---- ÅÐÏ¿½ü³°ÍÑ¥«¥é¥àÇÛÎó
+$arrRejectRegistColumn = array("year", "month", "day", "email02", "email_mobile02", "password02");
+
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+
+	//-- POST¥Ç¡¼¥¿¤Î°ú¤­·Ñ¤®
+	$objPage->arrForm = $_POST;
+	
+	if($objPage->arrForm['year'] == '----') {
+		$objPage->arrForm['year'] = '';
+	}
+	
+	$objPage->arrForm['email'] = strtolower($objPage->arrForm['email']);		// email¤Ï¤¹¤Ù¤Æ¾®Ê¸»ú¤Ç½èÍý
+	$objPage->arrForm['email02'] = strtolower($objPage->arrForm['email02']);	// email¤Ï¤¹¤Ù¤Æ¾®Ê¸»ú¤Ç½èÍý
+
+	//-- ÆþÎÏ¥Ç¡¼¥¿¤ÎÊÑ´¹
+	$objPage->arrForm = lfConvertParam($objPage->arrForm, $arrRegistColumn);
+		
+	//--¡¡ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯
+	$objPage->arrErr = lfErrorCheck($objPage->arrForm);
+
+	if ($objPage->arrErr || $_POST["mode"] == "return") {		// ÆþÎÏ¥¨¥é¡¼¤Î¥Á¥§¥Ã¥¯
+		foreach($objPage->arrForm as $key => $val) {
+			$objPage->$key = $val;
+		}
+
+	} else {
+
+		//--¡¡³ÎÇ§
+		if ($_POST["mode"] == "confirm") {
+			foreach($objPage->arrForm as $key => $val) {
+				if ($key != "mode" && $key != "subm") $objPage->list_data[ $key ] = $val;
+			}
+			//¥Ñ¥¹¥ï¡¼¥ÉÉ½¼¨
+			$passlen = strlen($objPage->arrForm['password']);
+			$objPage->passlen = lfPassLen($passlen);
+			
+			$objPage->tpl_css = '/css/layout/entry/confirm.css';
+			$objPage->tpl_mainpage = 'entry/confirm.tpl';
+			$objPage->tpl_title = '²ñ°÷ÅÐÏ¿(³ÎÇ§¥Ú¡¼¥¸)';
+
+		}
+		
+		//--¡¡²¾ÅÐÏ¿¤È´°Î»²èÌÌ
+		if ($_POST["mode"] == "complete") {
+			$objPage->uniqid = lfRegistData ($objPage->arrForm, $arrRegistColumn, $arrRejectRegistColumn);
+
+			if($objCampaignSess->getIsCampaign()) {
+				$objPage->etc_value = "&cp=".$objCampaignSess->getCampaignId();
+			}
+						
+			$objPage->tpl_css = '/css/layout/entry/complete.css';
+			$objPage->tpl_mainpage = 'entry/complete.tpl';
+			$objPage->tpl_title = '²ñ°÷ÅÐÏ¿(´°Î»¥Ú¡¼¥¸)';
+
+			
+			//¡¡²¾ÅÐÏ¿´°Î»¥á¡¼¥ëÁ÷¿®
+			$objPage->CONF = $CONF;
+			$objPage->to_name01 = $_POST['name01'];
+			$objPage->to_name02 = $_POST['name02'];
+			$objMailText = new SC_SiteView();
+			$objMailText->assignobj($objPage);
+			$subject = sfMakesubject('²ñ°÷ÅÐÏ¿¤Î¤´³ÎÇ§');
+			$toCustomerMail = $objMailText->fetch("mail_templates/customer_mail.tpl");
+			$objMail = new GC_SendMail();
+			$objMail->setItem(
+								''									//¡¡°¸Àè
+								, $subject							//¡¡¥µ¥Ö¥¸¥§¥¯¥È
+								, $toCustomerMail					//¡¡ËÜÊ¸
+								, $CONF["email03"]					//¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹
+								, $CONF["shop_name"]				//¡¡ÇÛÁ÷¸µ¡¡Ì¾Á°
+								, $CONF["email03"]					//¡¡reply_to
+								, $CONF["email04"]					//¡¡return_path
+								, $CONF["email04"]					//  Errors_to
+								, $CONF["email01"]					//  Bcc
+																);
+			// °¸Àè¤ÎÀßÄê
+			$name = $_POST["name01"] . $_POST["name02"] ." ÍÍ";
+			$objMail->setTo($_POST["email"], $name);
+			$objMail->sendMail();
+
+			// ¥­¥ã¥ó¥Ú¡¼¥ó¼õÃí¾ðÊó¤òÅÐÏ¿
+			lfRegistCampaignOrder($objPage->uniqid);
+			
+			// ´°Î»¥Ú¡¼¥¸¤Ë°ÜÆ°¤µ¤»¤ë¡£
+			header("Location: ./complete.php");
+			exit;
+		}
+	}
+}
+
+if($objPage->year == '') {
+	$objPage->year = '----';
+}
+
+//----¡¡¥Ú¡¼¥¸É½¼¨
+$objView->assignobj($objPage);
+// ¥Õ¥ì¡¼¥à¤òÁªÂò(¥­¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤éÁ«°Ü¤Ê¤éÊÑ¹¹)
+$objCampaignSess->pageView($objView);
+
+//----------------------------------------------------------------------------------------------------------------------
+
+//---- function·²
+function lfRegistData ($array, $arrRegistColumn, $arrRejectRegistColumn) {
+	global $objConn;
+
+	// ²¾ÅÐÏ¿
+	foreach ($arrRegistColumn as $data) {
+		if (strlen($array[ $data["column"] ]) > 0 && ! in_array($data["column"], $arrRejectRegistColumn)) {
+			$arrRegist[ $data["column"] ] = $array[ $data["column"] ];
+		}
+	}
+		
+	// ÃÂÀ¸Æü¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç
+	if (strlen($array["year"]) > 0 ) {
+		$arrRegist["birth"] = $array["year"] ."/". $array["month"] ."/". $array["day"] ." 00:00:00";
+	}
+	
+	// ¥Ñ¥¹¥ï¡¼¥É¤Î°Å¹æ²½
+	$arrRegist["password"] = sha1($arrRegist["password"] . ":" . AUTH_MAGIC);
+	
+	$count = 1;
+	while ($count != 0) {
+		$uniqid = sfGetUniqRandomId("t");
+		$count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($uniqid));
+	}
+	
+	$arrRegist["secret_key"] = $uniqid;		// ²¾ÅÐÏ¿IDÈ¯¹Ô
+	$arrRegist["create_date"] = "now()"; 	// ºîÀ®Æü
+	$arrRegist["update_date"] = "now()"; 	// ¹¹¿·Æü
+	$arrRegist["first_buy_date"] = "";	 	// ºÇ½é¤Î¹ØÆþÆü
+	
+	//-- ²¾ÅÐÏ¿¼Â¹Ô
+	$objConn->query("BEGIN");
+
+	$objQuery = new SC_Query();
+	$objQuery->insert("dtb_customer", $arrRegist);
+
+	//--¡¡Èó²ñ°÷¤Ç¥á¥ë¥Þ¥¬ÅÐÏ¿¤·¤Æ¤¤¤ë¤«¤ÎÈ½Äê
+	$sql = "SELECT count(*) FROM dtb_customer_mail WHERE email = ?";
+	$mailResult = $objConn->getOne($sql, array($arrRegist["email"]));
+
+	//--¡¡¥á¥ë¥Þ¥¬²¾ÅÐÏ¿¼Â¹Ô
+	$arrRegistMail["email"] = $arrRegist["email"];	
+	if ($array["mail_flag"] == 1) {
+		$arrRegistMail["mail_flag"] = 4; 
+	} elseif ($array["mail_flag"] == 2) {
+		$arrRegistMail["mail_flag"] = 5; 
+	} else {
+		$arrRegistMail["mail_flag"] = 6; 
+	}
+	$arrRegistMail["update_date"] = "now()";
+	
+	// Èó²ñ°÷¤Ç¥á¥ë¥Þ¥¬ÅÐÏ¿¤·¤Æ¤¤¤ë¾ì¹ç
+	if ($mailResult == 1) {		
+		$objQuery->update("dtb_customer_mail", $arrRegistMail, "email = '" .addslashes($arrRegistMail["email"]). "'");			
+	} else {				//¡¡¿·µ¬ÅÐÏ¿¤Î¾ì¹ç
+		$arrRegistMail["create_date"] = "now()";
+		$objQuery->insert("dtb_customer_mail", $arrRegistMail);		
+	}
+	$objConn->query("COMMIT");
+
+	return $uniqid;
+}
+
+//----¡¡¼èÆÀÊ¸»úÎó¤ÎÊÑ´¹
+function lfConvertParam($array, $arrRegistColumn) {
+	/*
+	 *	Ê¸»úÎó¤ÎÊÑ´¹
+	 *	K :  ¡ÖÈ¾³Ñ(ÊÝ¶¸)ÊÒ²¾Ì¾¡×¤ò¡ÖÁ´³ÑÊÒ²¾Ì¾¡×¤ËÊÑ´¹
+	 *	C :  ¡ÖÁ´³Ñ¤Ò¤é²¾Ì¾¡×¤ò¡ÖÁ´³Ñ¤«¤¿²¾Ì¾¡×¤ËÊÑ´¹
+	 *	V :  ÂùÅÀÉÕ¤­¤ÎÊ¸»ú¤ò°ìÊ¸»ú¤ËÊÑ´¹¡£"K","H"¤È¶¦¤Ë»ÈÍÑ¤·¤Þ¤¹	
+	 *	n :  ¡ÖÁ´³Ñ¡×¿ô»ú¤ò¡ÖÈ¾³Ñ(ÊÝ¶¸)¡×¤ËÊÑ´¹
+	 *  a :  Á´³Ñ±Ñ¿ô»ú¤òÈ¾³Ñ±Ñ¿ô»ú¤ËÊÑ´¹¤¹¤ë
+	 */
+	// ¥«¥é¥àÌ¾¤È¥³¥ó¥Ð¡¼¥È¾ðÊó
+	foreach ($arrRegistColumn as $data) {
+		$arrConvList[ $data["column"] ] = $data["convert"];
+	}
+	// Ê¸»úÊÑ´¹
+	foreach ($arrConvList as $key => $val) {
+		// POST¤µ¤ì¤Æ¤­¤¿ÃÍ¤Î¤ßÊÑ´¹¤¹¤ë¡£
+		if(strlen(($array[$key])) > 0) {
+			$array[$key] = mb_convert_kana($array[$key] ,$val);
+		}
+	}
+	return $array;
+}
+
+//---- ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯
+function lfErrorCheck($array) {
+
+	global $objConn;
+	$objErr = new SC_CheckError($array);
+	
+	$objErr->doFunc(array("¤ªÌ¾Á°¡ÊÀ«¡Ë", 'name01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
+	$objErr->doFunc(array("¤ªÌ¾Á°¡ÊÌ¾¡Ë", 'name02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK"));
+	$objErr->doFunc(array("¥Õ¥ê¥¬¥Ê¡Ê¥»¥¤¡Ë", 'kana01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK"));
+	$objErr->doFunc(array("¥Õ¥ê¥¬¥Ê¡Ê¥á¥¤¡Ë", 'kana02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK"));
+	$objErr->doFunc(array("Í¹ÊØÈÖ¹æ1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK"));
+	$objErr->doFunc(array("Í¹ÊØÈÖ¹æ2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 
+	$objErr->doFunc(array("Í¹ÊØÈÖ¹æ", "zip01", "zip02"), array("ALL_EXIST_CHECK"));
+	$objErr->doFunc(array("ÅÔÆ»ÉÜ¸©", 'pref'), array("SELECT_CHECK","NUM_CHECK"));
+	$objErr->doFunc(array("¤´½»½ê1", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
+	$objErr->doFunc(array("¤´½»½ê2", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
+	$objErr->doFunc(array('¥á¡¼¥ë¥¢¥É¥ì¥¹', "email", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
+	$objErr->doFunc(array('¥á¡¼¥ë¥¢¥É¥ì¥¹(³ÎÇ§)', "email02", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
+	$objErr->doFunc(array('¥á¡¼¥ë¥¢¥É¥ì¥¹', '¥á¡¼¥ë¥¢¥É¥ì¥¹(³ÎÇ§)', "email", "email02") ,array("EQUAL_CHECK"));
+
+	//¸½²ñ°÷¤ÎÈ½Äê ¢ª¡¡¸½²ñ°÷¤â¤·¤¯¤Ï²¾ÅÐÏ¿Ãæ¤Ï¡¢¥á¥¢¥É°ì°Õ¤¬Á°Äó¤Ë¤Ê¤Ã¤Æ¤ë¤Î¤ÇÆ±¤¸¥á¥¢¥É¤ÇÅÐÏ¿ÉÔ²Ä
+	if (strlen($array["email"]) > 0) {
+		$objQuery = new SC_Query();
+		$arrRet = $objQuery->select("email, update_date, del_flg", "dtb_customer","email ILIKE ? ORDER BY del_flg", array($array["email"]));
+				
+		if(count($arrRet) > 0) {
+			if($arrRet[0]['del_flg'] != '1') {
+				// ²ñ°÷¤Ç¤¢¤ë¾ì¹ç
+				$objErr->arrErr["email"] .= "¢¨ ¤¹¤Ç¤Ë²ñ°÷ÅÐÏ¿¤Ç»ÈÍÑ¤µ¤ì¤Æ¤¤¤ë¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ç¤¹¡£<br />";
+			} else {
+				// Âà²ñ¤·¤¿²ñ°÷¤Ç¤¢¤ë¾ì¹ç
+				$leave_time = sfDBDatetoTime($arrRet[0]['update_date']);
+				$now_time = time();
+				$pass_time = $now_time - $leave_time;
+				// Âà²ñ¤«¤é²¿»þ´Ö-·Ð²á¤·¤Æ¤¤¤ë¤«È½Äê¤¹¤ë¡£
+				$limit_time = ENTRY_LIMIT_HOUR * 3600;						
+				if($pass_time < $limit_time) {
+					$objErr->arrErr["email"] .= "¢¨ Âà²ñ¤«¤é°ìÄê´ü´Ö¤Î´Ö¤Ï¡¢Æ±¤¸¥á¡¼¥ë¥¢¥É¥ì¥¹¤ò»ÈÍÑ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£<br />";
+				}
+			}
+		}
+	}
+
+	$objErr->doFunc(array("¤ªÅÅÏÃÈÖ¹æ1", 'tel01'), array("EXIST_CHECK","SPTAB_CHECK" ));
+	$objErr->doFunc(array("¤ªÅÅÏÃÈÖ¹æ2", 'tel02'), array("EXIST_CHECK","SPTAB_CHECK" ));
+	$objErr->doFunc(array("¤ªÅÅÏÃÈÖ¹æ3", 'tel03'), array("EXIST_CHECK","SPTAB_CHECK" ));
+	$objErr->doFunc(array("¤ªÅÅÏÃÈÖ¹æ", "tel01", "tel02", "tel03",TEL_ITEM_LEN) ,array("TEL_CHECK"));
+	$objErr->doFunc(array("FAXÈÖ¹æ1", 'fax01'), array("SPTAB_CHECK"));
+	$objErr->doFunc(array("FAXÈÖ¹æ2", 'fax02'), array("SPTAB_CHECK"));
+	$objErr->doFunc(array("FAXÈÖ¹æ3", 'fax03'), array("SPTAB_CHECK"));
+	$objErr->doFunc(array("FAXÈÖ¹æ", "fax01", "fax02", "fax03", TEL_ITEM_LEN) ,array("TEL_CHECK"));
+	$objErr->doFunc(array("¤´À­ÊÌ", "sex") ,array("SELECT_CHECK", "NUM_CHECK")); 
+	$objErr->doFunc(array("¥Ñ¥¹¥ï¡¼¥É", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK"));
+	$objErr->doFunc(array("¥Ñ¥¹¥ï¡¼¥É(³ÎÇ§)", 'password02', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK"));
+	$objErr->doFunc(array('¥Ñ¥¹¥ï¡¼¥É', '¥Ñ¥¹¥ï¡¼¥É(³ÎÇ§)', "password", "password02") ,array("EQUAL_CHECK"));
+	$objErr->doFunc(array("¥Ñ¥¹¥ï¡¼¥É¤òËº¤ì¤¿¤È¤­¤Î¥Ò¥ó¥È ¼ÁÌä", "reminder") ,array("SELECT_CHECK", "NUM_CHECK")); 
+	$objErr->doFunc(array("¥Ñ¥¹¥ï¡¼¥É¤òËº¤ì¤¿¤È¤­¤Î¥Ò¥ó¥È Åú¤¨", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK"));
+	$objErr->doFunc(array("¥á¡¼¥ë¥Þ¥¬¥¸¥ó", "mail_flag") ,array("SELECT_CHECK", "NUM_CHECK"));
+	
+	$objErr->doFunc(array("À¸Ç¯·îÆü", "year", "month", "day"), array("CHECK_DATE"));
+	$objErr->doFunc(array("¥á¡¼¥ë¥Þ¥¬¥¸¥ó", 'mail_flag'), array("SELECT_CHECK"));
+	
+	return $objErr->arrErr;
+}
+
+// ¥­¥ã¥ó¥Ú¡¼¥ó¼õÃí¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿
+function lfRegistCampaignOrder($uniqid) {
+
+	global $objQuery;
+	global $objCampaignSess;
+	$campaign_id = $objCampaignSess->getCampaignId();
+
+	// ¼õÃí¥Ç¡¼¥¿¤ò¼èÆÀ
+	$cols = "
+			customer_id,
+			name01 as order_name01,
+			name02 as order_name02,
+			kana01 as order_kana01,
+			kana02 as order_kana02,
+			zip01 as order_zip01,
+			zip02 as order_zip02,
+			pref as order_pref,
+			addr01 as order_addr01,
+			addr02 as order_addr02,
+			email as order_email,
+			tel01 as order_tel01,
+			tel02 as order_tel02,
+			tel03 as order_tel03,
+			fax01 as order_fax01,
+			fax02 as order_fax02,
+			fax03 as order_fax03,
+			sex as order_sex,
+			job as order_job,
+			birth as order_birth,
+			cell01,
+			cell02,
+			cell03
+			";
+			
+	$arrCustomer = $objQuery->select($cols, "dtb_customer", "secret_key = ?", array($uniqid)); 
+
+	$sqlval = $arrCustomer[0];
+	$sqlval['campaign_id'] = $campaign_id;
+    $sqlval['create_date'] = 'now()';
+		
+	// INSERT¤Î¼Â¹Ô
+	$objQuery->insert("dtb_campaign_order", $sqlval);
+	
+	// ¿½¤·¹þ¤ß¿ô¤Î¹¹¿·
+	$total_count = $objQuery->get("dtb_campaign", "total_count", "campaign_id = ?", array($campaign_id));
+	$arrCampaign['total_count'] = $total_count += 1;
+	$objQuery->update("dtb_campaign", $arrCampaign, "campaign_id = ?", array($campaign_id));
+}
+
+//³ÎÇ§¥Ú¡¼¥¸ÍÑ¥Ñ¥¹¥ï¡¼¥ÉÉ½¼¨ÍÑ
+
+function lfPassLen($passlen){
+	$ret = "";
+	for ($i=0;$i<$passlen;true){
+	$ret.="*";
+	$i++;
+	}
+	return $ret;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------
+?>
Index: branches/dev/html/install/user_data/include/campaign/default/src/application.php
===================================================================
--- branches/dev/html/install/user_data/include/campaign/default/src/application.php	(revision 37)
+++ branches/dev/html/install/user_data/include/campaign/default/src/application.php	(revision 37)
@@ -0,0 +1,230 @@
+<?php
+/*
+ * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
+ *
+ * http://www.lockon.co.jp/
+ */
+require_once("../../require.php");
+
+//---- ¥Ú¡¼¥¸É½¼¨¥¯¥é¥¹
+class LC_Page {
+	
+	function LC_Page() {
+		$this->tpl_mainpage = TEMPLATE_DIR . '/campaign/application.tpl';
+		/*
+		 session_start»þ¤Îno-cache¥Ø¥Ã¥À¡¼¤òÍÞÀ©¤¹¤ë¤³¤È¤Ç
+		 ¡ÖÌá¤ë¡×¥Ü¥¿¥ó»ÈÍÑ»þ¤ÎÍ­¸ú´ü¸ÂÀÚ¤ìÉ½¼¨¤òÍÞÀ©¤¹¤ë¡£
+		 private-no-expire:¥¯¥é¥¤¥¢¥ó¥È¤Î¥­¥ã¥Ã¥·¥å¤òµö²Ä¤¹¤ë¡£
+		*/
+		session_cache_limiter('private-no-expire');	
+	}
+}
+
+$objPage = new LC_Page();
+$objView = new SC_SiteView(false);
+$objQuery = new SC_Query();
+$objCustomer = new SC_Customer();
+$objCampaignSess = new SC_CampaignSession();
+// ¥¯¥Ã¥­¡¼´ÉÍý¥¯¥é¥¹
+$objCookie = new SC_Cookie(COOKIE_EXPIRE);
+
+$objLoginFormParam = new SC_FormParam();	// ¥í¥°¥¤¥ó¥Õ¥©¡¼¥àÍÑ
+lfInitLoginFormParam();						// ½é´üÀßÄê
+$objLoginFormParam->setParam($_POST);		// POSTÃÍ¤Î¼èÆÀ
+
+// ¥Ç¥£¥ì¥¯¥È¥êÌ¾¤ò¼èÆÀ
+$dir_name = dirname($_SERVER['PHP_SELF']);
+$arrDir = split('/', $dir_name);
+$dir_name = $arrDir[count($arrDir) -1];
+
+/* ¥»¥Ã¥·¥ç¥ó¤Ë¥­¥ã¥ó¥Ú¡¼¥ó¥Ç¡¼¥¿¤ò½ñ¤­¹þ¤à */
+// ¥­¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÁ«°Ü¤È¤¤¤¦¾ðÊó¤òÊÝ»ý
+$objCampaignSess->setIsCampaign();
+// ¥­¥ã¥ó¥Ú¡¼¥óID¤òÊÝ»ý
+$campaign_id = $objQuery->get("dtb_campaign", "campaign_id", "directory_name = ? AND del_flg = 0", array($dir_name));
+$objCampaignSess->setCampaignId($campaign_id);
+// ¥­¥ã¥ó¥Ú¡¼¥ó¥Ç¥£¥ì¥¯¥È¥êÌ¾¤òÊÝ»ý
+$objCampaignSess->setCampaignDir($dir_name);
+
+// ¥­¥ã¥ó¥Ú¡¼¥ó¤¬³«ºÅÃæ¤«¤ò¥Á¥§¥Ã¥¯
+if(lfCheckActive($dir_name)) {
+	$status = CAMPAIGN_TEMPLATE_ACTIVE;
+	$objPage->is_active = true;
+} else {
+	$status = CAMPAIGN_TEMPLATE_END;
+	$objPage->is_active = false;
+}
+
+switch($_POST['mode']) {
+// ¥í¥°¥¤¥ó¥Á¥§¥Ã¥¯
+case 'login':
+	$objLoginFormParam->toLower('login_email');
+	$objPage->arrErr = $objLoginFormParam->checkError();
+	$arrForm =  $objLoginFormParam->getHashArray();
+	// ¥¯¥Ã¥­¡¼ÊÝÂ¸È½Äê
+	if($arrForm['login_memory'] == "1" && $arrForm['login_email'] != "") {
+		$objCookie->setCookie('login_email', $_POST['login_email']);
+	} else {
+		$objCookie->setCookie('login_email', '');
+	}
+
+	if(count($objPage->arrErr) == 0) {
+		// ¥í¥°¥¤¥óÈ½Äê
+		if(!$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) {
+			// ²¾ÅÐÏ¿¤ÎÈ½Äê
+			$objQuery = new SC_Query;
+			$where = "email = ? AND status = 1 AND del_flg = 0";
+			$ret = $objQuery->count("dtb_customer", $where, array($arrForm['login_email']));
+			
+			if($ret > 0) {
+				sfDispSiteError(TEMP_LOGIN_ERROR);
+			} else {
+				sfDispSiteError(SITE_LOGIN_ERROR);
+			}
+		} else {
+			// ½ÅÊ£¿½¹þ¥Á¥§¥Ã¥¯
+			$orverlapping_flg = $objQuery->get("dtb_campaign", "orverlapping_flg", "campaign_id = ?", array($objCampaignSess->getCampaignId()));
+
+			if($orverlapping_flg) {
+				if(lfOverlappingCheck($objCustomer->getValue('customer_id'))) {
+					$objPage->arrErr['login_email'] = "¢¨ Ê£¿ô²ó¤´±þÊç¤¹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£";
+				}
+			}
+	
+			if(count($objPage->arrErr) == 0) {
+				// ¿½¹þ¾ðÊó¤òÅÐÏ¿
+				lfRegistCampaignOrder($objCustomer->getValue('customer_id'));
+				// ´°Î»¥Ú¡¼¥¸¤Ø¥ê¥À¥¤¥ì¥¯¥È
+				header("location: ". CAMPAIGN_URL . "$dir_name/complete.php");
+			}
+		}
+	}
+	break;
+default :
+	break;
+}
+// ÆþÎÏ¾ðÊó¤òÅÏ¤¹
+$objPage->arrForm = $_POST;
+$objPage->dir_name = $dir_name;
+$objPage->tpl_dir_name = CAMPAIGN_TEMPLATE_PATH . $dir_name  . "/" . $status;
+
+//----¡¡¥Ú¡¼¥¸É½¼¨
+$objView->assignobj($objPage);
+$objView->display($objPage->tpl_mainpage);
+
+
+//---------------------------------------------------------------------------------------------------------------------------------------------------------
+
+/* 
+ * ´Ø¿ôÌ¾¡§lfInitLoginFormParam()
+ * ÀâÌÀ¡¡¡§¥í¥°¥¤¥ó¥Õ¥©¡¼¥à¤ò½é´ü²½
+ * Ìá¤êÃÍ¡§Ìµ¤·
+ */
+function lfInitLoginFormParam() {
+	global $objLoginFormParam;
+	$objLoginFormParam->addParam("µ­²±¤¹¤ë", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+	$objLoginFormParam->addParam("¥á¡¼¥ë¥¢¥É¥ì¥¹", "login_email", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
+	$objLoginFormParam->addParam("¥Ñ¥¹¥ï¡¼¥É", "login_pass", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
+}
+
+/* 
+ * ´Ø¿ôÌ¾¡§lfCheckActive()
+ * °ú¿ô1 ¡§¥Ç¥£¥ì¥¯¥È¥êÌ¾
+ * ÀâÌÀ¡¡¡§¥­¥ã¥ó¥Ú¡¼¥óÃæ¤«¥Á¥§¥Ã¥¯
+ * Ìá¤êÃÍ¡§¥­¥ã¥ó¥Ú¡¼¥óÃæ¤Ê¤é true ½ªÎ»¤Ê¤é false
+ */
+function lfCheckActive($directory_name) {
+	
+	global $objQuery;
+	$is_active = false;
+	
+	$col = "limit_count, total_count, start_date, end_date";
+	$arrRet = $objQuery->select($col, "dtb_campaign", "directory_name = ? AND del_flg = 0", array($directory_name));
+
+	// ³«»ÏÆü»þ¡¦Ää»ßÆü»þ¤òÀ®·¿
+	$start_date = (date("YmdHis", strtotime($arrRet[0]['start_date'])));
+	$end_date = (date("YmdHis", strtotime($arrRet[0]['end_date'])));
+	$now_date = (date("YmdHis"));
+
+	// ¥­¥ã¥ó¥Ú¡¼¥ó¤¬³«ºÅ´ü´Ö¤Ç¡¢¤«¤Ä¿½¹þÀ©¸ÂÆâ¤Ç¤¢¤ë
+	if($now_date > $start_date && $now_date < $end_date
+			&& ($arrRet[0]['limit_count'] > $arrRet[0]['total_count'] || $arrRet[0]['limit_count'] < 1)) {
+		$is_active = true;
+	}
+		
+	return $is_active;
+}
+
+/* 
+ * ´Ø¿ôÌ¾¡§lfRegistCampaignOrder()
+ * ÀâÌÀ¡¡¡§¥­¥ã¥ó¥Ú¡¼¥ó¼õÃí¾ðÊó¤òÊÝÂ¸
+ * °ú¿ô1 ¡§¸ÜµÒID
+ * Ìá¤êÃÍ¡§Ìµ¤·
+ */
+function lfRegistCampaignOrder($customer_id) {
+
+	global $objQuery;
+	global $objCampaignSess;
+	$campaign_id = $objCampaignSess->getCampaignId();
+
+	// ¼õÃí¥Ç¡¼¥¿¤ò¼èÆÀ
+	$cols = "
+			customer_id,
+			name01 as order_name01,
+			name02 as order_name02,
+			kana01 as order_kana01,
+			kana02 as order_kana02,
+			zip01 as order_zip01,
+			zip02 as order_zip02,
+			pref as order_pref,
+			addr01 as order_addr01,
+			addr02 as order_addr02,
+			email as order_email,
+			tel01 as order_tel01,
+			tel02 as order_tel02,
+			tel03 as order_tel03,
+			fax01 as order_fax01,
+			fax02 as order_fax02,
+			fax03 as order_fax03,
+			sex as order_sex,
+			job as order_job,
+			birth as order_birth,
+			cell01,
+			cell02,
+			cell03
+			";
+			
+	$arrCustomer = $objQuery->select($cols, "dtb_customer", "customer_id = ?", array($customer_id)); 
+
+	$sqlval = $arrCustomer[0];
+	$sqlval['campaign_id'] = $campaign_id;
+    $sqlval['create_date'] = 'now()';
+		
+	// INSERT¤Î¼Â¹Ô
+	$objQuery->insert("dtb_campaign_order", $sqlval);
+	
+	// ¿½¤·¹þ¤ß¿ô¤Î¹¹¿·
+	$total_count = $objQuery->get("dtb_campaign", "total_count", "campaign_id = ?", array($campaign_id));
+	$arrCampaign['total_count'] = $total_count += 1;
+	$objQuery->update("dtb_campaign", $arrCampaign, "campaign_id = ?", array($campaign_id));
+	
+}
+
+/* 
+ * ´Ø¿ôÌ¾¡§lfOverlappingCheck()
+ * ÀâÌÀ¡¡¡§½ÅÊ£±þÊç¥Á¥§¥Ã¥¯
+ * °ú¿ô1 ¡§¸ÜµÒID
+ * Ìá¤êÃÍ¡§¥Õ¥é¥° (½ÅÊ£¤¬¤¢¤Ã¤¿¤é true ½ÅÊ£¤¬¤Ê¤«¤Ã¤¿¤é false)
+ */
+function lfOverlappingCheck($customer_id) {
+	
+	global $objQuery;
+	
+	$count = $objQuery->count("dtb_campaign_order", "customer_id = ?", array($customer_id));
+	if($count > 0) {
+		return true;
+	}
+	
+	return false;
+}
+?>
Index: branches/dev/html/install/user_data/include/campaign/default/src/index.php
===================================================================
--- branches/dev/html/install/user_data/include/campaign/default/src/index.php	(revision 37)
+++ branches/dev/html/install/user_data/include/campaign/default/src/index.php	(revision 37)
@@ -0,0 +1,346 @@
+<?php
+/*
+ * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
+ *
+ * http://www.lockon.co.jp/
+ */
+require_once("../../require.php");
+
+//---- ¥Ú¡¼¥¸É½¼¨¥¯¥é¥¹
+class LC_Page {
+	
+	function LC_Page() {
+		$this->tpl_mainpage = TEMPLATE_DIR . '/campaign/index.tpl';
+	}
+}
+
+$objPage = new LC_Page();
+$objView = new SC_SiteView(false);
+$objQuery = new SC_Query();
+$objCampaignSess = new SC_CampaignSession();
+
+// ¥Ç¥£¥ì¥¯¥È¥êÌ¾¤ò¼èÆÀ
+$dir_name = dirname($_SERVER['PHP_SELF']);
+$arrDir = split('/', $dir_name);
+$dir_name = $arrDir[count($arrDir) -1];
+
+/* ¥»¥Ã¥·¥ç¥ó¤Ë¥­¥ã¥ó¥Ú¡¼¥ó¥Ç¡¼¥¿¤ò½ñ¤­¹þ¤à */
+// ¥­¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÁ«°Ü¤È¤¤¤¦¾ðÊó¤òÊÝ»ý
+$objCampaignSess->setIsCampaign();
+// ¥­¥ã¥ó¥Ú¡¼¥óID¤òÊÝ»ý
+$campaign_id = $objQuery->get("dtb_campaign", "campaign_id", "directory_name = ? AND del_flg = 0", array($dir_name));
+$objCampaignSess->setCampaignId($campaign_id);
+// ¥­¥ã¥ó¥Ú¡¼¥ó¥Ç¥£¥ì¥¯¥È¥êÌ¾¤òÊÝ»ý
+$objCampaignSess->setCampaignDir($dir_name);
+
+// ¥«¡¼¥È¤ËÆþ¤ì¤Ê¤¤¥Ú¡¼¥¸¤Î¾ì¹ç¤Î¥Ú¡¼¥¸(¿½¹þ¤Î¤ß¥Ú¡¼¥¸)¤Ø¥ê¥À¥¤¥ì¥¯¥È
+$cart_flg = $objQuery->get("dtb_campaign", "cart_flg", "campaign_id = ?", array($campaign_id));
+if(!$cart_flg) {
+	header("location: ". CAMPAIGN_URL . "$dir_name/application.php");
+}
+
+// ¥­¥ã¥ó¥Ú¡¼¥ó¤¬³«ºÅÃæ¤«¤ò¥Á¥§¥Ã¥¯
+if(lfCheckActive($dir_name)) {
+	$status = CAMPAIGN_TEMPLATE_ACTIVE;
+} else {
+	$status = CAMPAIGN_TEMPLATE_END;
+}
+
+if($_GET['init'] != "") {
+	$objPage->tpl_init = 'false';
+	lfDispProductsList($_GET['ids']);
+} else {
+	$objPage->tpl_init = 'true';	
+}
+
+switch($_POST['mode']) {
+
+case 'cart':
+	$objPage->arrErr = lfCheckError($_POST['product_id']);
+	if(count($objPage->arrErr) == 0) {
+		$objCartSess = new SC_CartSession();
+		$classcategory_id = "classcategory_id". $_POST['product_id'];
+		$classcategory_id1 = $_POST[$classcategory_id. '_1'];
+		$classcategory_id2 = $_POST[$classcategory_id. '_2'];
+		$quantity = "quantity". $_POST['product_id'];
+		// µ¬³Ê1¤¬ÀßÄê¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç
+		if(!$objPage->tpl_classcat_find1[$_POST['product_id']]) {
+			$classcategory_id1 = '0';
+		}
+		// µ¬³Ê2¤¬ÀßÄê¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç
+		if(!$objPage->tpl_classcat_find2[$_POST['product_id']]) {
+			$classcategory_id2 = '0';
+		}
+		$objCartSess->setPrevURL($_SERVER['REQUEST_URI']);
+		$objCartSess->addProduct(array($_POST['product_id'], $classcategory_id1, $classcategory_id2), $_POST[$quantity]);
+		header("Location: " . URL_CART_TOP);
+		exit;
+	}
+	break;
+default :
+	break;
+}
+// ÆþÎÏ¾ðÊó¤òÅÏ¤¹
+$objPage->arrForm = $_POST;
+$objPage->tpl_dir_name = CAMPAIGN_TEMPLATE_PATH . $dir_name  . "/" . $status;
+
+//----¡¡¥Ú¡¼¥¸É½¼¨
+$objView->assignobj($objPage);
+$objView->display($objPage->tpl_mainpage);
+
+
+//---------------------------------------------------------------------------------------------------------------------------------------------------------
+/* 
+ * ´Ø¿ôÌ¾¡§lfCheckActive()
+ * °ú¿ô1 ¡§¥Ç¥£¥ì¥¯¥È¥êÌ¾
+ * ÀâÌÀ¡¡¡§¥­¥ã¥ó¥Ú¡¼¥óÃæ¤«¥Á¥§¥Ã¥¯
+ * Ìá¤êÃÍ¡§¥­¥ã¥ó¥Ú¡¼¥óÃæ¤Ê¤é true ½ªÎ»¤Ê¤é false
+ */
+function lfCheckActive($directory_name) {
+	
+	global $objQuery;
+	$is_active = false;
+	
+	$col = "limit_count, total_count, start_date, end_date";
+	$arrRet = $objQuery->select($col, "dtb_campaign", "directory_name = ? AND del_flg = 0", array($directory_name));
+
+	// ³«»ÏÆü»þ¡¦Ää»ßÆü»þ¤òÀ®·¿
+	$start_date = (date("YmdHis", strtotime($arrRet[0]['start_date'])));
+	$end_date = (date("YmdHis", strtotime($arrRet[0]['end_date'])));
+	$now_date = (date("YmdHis"));
+
+	// ¥­¥ã¥ó¥Ú¡¼¥ó¤¬³«ºÅ´ü´Ö¤Ç¡¢¤«¤Ä¿½¹þÀ©¸ÂÆâ¤Ç¤¢¤ë
+	if($now_date > $start_date && $now_date < $end_date
+			&& ($arrRet[0]['limit_count'] > $arrRet[0]['total_count'] || $arrRet[0]['limit_count'] < 1)) {
+		$is_active = true;
+	}
+		
+	return $is_active;
+}
+
+/* ¾¦ÉÊ°ìÍ÷¤ÎÉ½¼¨ */
+function lfDispProductsList($ids) {
+	
+	global $objQuery;
+	global $objPage;
+
+	// µ¬³ÊÌ¾°ìÍ÷
+	$arrClassName = sfGetIDValueList("dtb_class", "class_id", "name");
+	// µ¬³ÊÊ¬ÎàÌ¾°ìÍ÷
+	$arrClassCatName = sfGetIDValueList("dtb_classcategory", "classcategory_id", "name");
+	
+	$arrProductIds = split('-', $ids);
+	if(!is_array($arrProductIds)) {
+		$arrProductIds[0] = $ids;
+	}
+	
+	// where¶çÀ¸À®
+	$count = 0;
+	$where = "product_id IN (";
+	foreach($arrProductIds as $key =>$val) {
+		if($count > 0) $where .= ",";
+		$where .= "?";
+		$arrval[] = $val;
+		$count++;
+	}
+	$where .= ")";
+
+	// ¾¦ÉÊ°ìÍ÷
+	$arrProducts = $objQuery->select("*", "vw_products_allclass AS allcls", $where, $arrval);
+
+	for($i = 0; $i < count($arrProducts); $i++) {
+		$objPage = lfMakeSelect($arrProducts[$i]['product_id'], $arrClassName, $arrClassCatName);
+		// ¹ØÆþÀ©¸Â¿ô¤ò¼èÆÀ
+		$objPage = lfGetSaleLimit($arrProducts);
+	}
+
+	foreach($arrProducts as $key =>$val) {
+		$arrCamp[$val['product_id']] = $val;
+	}
+	
+	$objPage->arrProducts = $arrCamp;
+	
+	return $objPage;
+}
+
+/* µ¬³Ê¥»¥ì¥¯¥È¥Ü¥Ã¥¯¥¹¤ÎºîÀ® */
+function lfMakeSelect($product_id, $arrClassName, $arrClassCatName) {
+	global $objPage;
+	
+	$classcat_find1 = false;
+	$classcat_find2 = false;
+	// ºß¸Ë¤¢¤ê¤Î¾¦ÉÊ¤ÎÍ­Ìµ
+	$stock_find = false;
+	
+	// ¾¦ÉÊµ¬³Ê¾ðÊó¤Î¼èÆÀ	
+	$arrProductsClass = lfGetProductsClass($product_id);
+	
+	// µ¬³Ê1¥¯¥é¥¹Ì¾¤Î¼èÆÀ
+	$objPage->tpl_class_name1[$product_id] = $arrClassName[$arrProductsClass[0]['class_id1']];
+	// µ¬³Ê2¥¯¥é¥¹Ì¾¤Î¼èÆÀ
+	$objPage->tpl_class_name2[$product_id] = $arrClassName[$arrProductsClass[0]['class_id2']];
+	
+	// ¤¹¤Ù¤Æ¤ÎÁÈ¤ß¹ç¤ï¤»¿ô	
+	$count = count($arrProductsClass);
+	
+	$classcat_id1 = "";
+	
+	$arrSele = array();
+	$arrList = array();
+	
+	$list_id = 0;
+	$arrList[0] = "\tlist". $product_id. "_0 = new Array('ÁªÂò¤·¤Æ¤¯¤À¤µ¤¤'";
+	$arrVal[0] = "\tval". $product_id. "_0 = new Array(''";
+	
+	for ($i = 0; $i < $count; $i++) {
+		// ºß¸Ë¤Î¥Á¥§¥Ã¥¯
+		if($arrProductsClass[$i]['stock'] <= 0 && $arrProductsClass[$i]['stock_unlimited'] != '1') {
+			continue;
+		}
+		
+		$stock_find = true;
+		
+		// µ¬³Ê1¤Î¥»¥ì¥¯¥È¥Ü¥Ã¥¯¥¹ÍÑ
+		if($classcat_id1 != $arrProductsClass[$i]['classcategory_id1']){
+			$arrList[$list_id].=");\n";
+			$arrVal[$list_id].=");\n";
+			$classcat_id1 = $arrProductsClass[$i]['classcategory_id1'];
+			$arrSele[$classcat_id1] = $arrClassCatName[$classcat_id1];
+			$list_id++;
+		}
+		
+		// µ¬³Ê2¤Î¥»¥ì¥¯¥È¥Ü¥Ã¥¯¥¹ÍÑ
+		$classcat_id2 = $arrProductsClass[$i]['classcategory_id2'];
+		
+		// ¥»¥ì¥¯¥È¥Ü¥Ã¥¯¥¹É½¼¨ÃÍ
+		if($arrList[$list_id] == "") {
+			$arrList[$list_id] = "\tlist". $product_id. "_". $list_id. " = new Array('ÁªÂò¤·¤Æ¤¯¤À¤µ¤¤', '". $arrClassCatName[$classcat_id2]. "'";
+		} else {
+			$arrList[$list_id].= ", '".$arrClassCatName[$classcat_id2]."'";
+		}
+		
+		// ¥»¥ì¥¯¥È¥Ü¥Ã¥¯¥¹POSTÃÍ
+		if($arrVal[$list_id] == "") {
+			$arrVal[$list_id] = "\tval". $product_id. "_". $list_id. " = new Array('', '". $classcat_id2. "'";
+		} else {
+			$arrVal[$list_id].= ", '".$classcat_id2."'";
+		}
+	}	
+	
+	$arrList[$list_id].=");\n";
+	$arrVal[$list_id].=");\n";
+		
+	// µ¬³Ê1
+	$objPage->arrClassCat1[$product_id] = $arrSele;
+	
+	$lists = "\tlists".$product_id. " = new Array(";
+	$no = 0;
+	foreach($arrList as $val) {
+		$objPage->tpl_javascript.= $val;
+		if ($no != 0) {
+			$lists.= ",list". $product_id. "_". $no;
+		} else {
+			$lists.= "list". $product_id. "_". $no;
+		}
+		$no++;
+	}
+	$objPage->tpl_javascript.= $lists.");\n";
+	
+	$vals = "\tvals".$product_id. " = new Array(";
+	$no = 0;
+	foreach($arrVal as $val) {
+		$objPage->tpl_javascript.= $val;
+		if ($no != 0) {
+			$vals.= ",val". $product_id. "_". $no;
+		} else {
+			$vals.= "val". $product_id. "_". $no;
+		}
+		$no++;
+	}
+	$objPage->tpl_javascript.= $vals.");\n";
+	
+	// ÁªÂò¤µ¤ì¤Æ¤¤¤ëµ¬³Ê2ID
+	$classcategory_id = "classcategory_id". $product_id;
+	$objPage->tpl_onload .= "lnSetSelect('".$classcategory_id."_1','".$classcategory_id."_2','".$product_id."','".$_POST[$classcategory_id."_2"]."'); ";
+
+	// µ¬³Ê1¤¬ÀßÄê¤µ¤ì¤Æ¤¤¤ë
+	if($arrProductsClass[0]['classcategory_id1'] != '0') {
+		$classcat_find1 = true;
+	}
+	
+	// µ¬³Ê2¤¬ÀßÄê¤µ¤ì¤Æ¤¤¤ë
+	if($arrProductsClass[0]['classcategory_id2'] != '0') {
+		$classcat_find2 = true;
+	}
+		
+	$objPage->tpl_classcat_find1[$product_id] = $classcat_find1;
+	$objPage->tpl_classcat_find2[$product_id] = $classcat_find2;
+	$objPage->tpl_stock_find[$product_id] = $stock_find;
+		
+	return $objPage;
+}
+
+/* ¾¦ÉÊµ¬³Ê¾ðÊó¤Î¼èÆÀ */
+function lfGetProductsClass($product_id) {
+	$arrRet = array();
+	if(sfIsInt($product_id)) {
+		// ¾¦ÉÊµ¬³Ê¼èÆÀ
+		$objQuery = new SC_Query();
+		$col = "product_class_id, classcategory_id1, classcategory_id2, class_id1, class_id2, stock, stock_unlimited";
+		$table = "vw_product_class AS prdcls";
+		$where = "product_id = ?";
+		$objQuery->setorder("rank1 DESC, rank2 DESC");
+		$arrRet = $objQuery->select($col, $table, $where, array($product_id));
+	}
+	return $arrRet;
+}
+
+/* ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ */
+function lfCheckError($id) {
+	global $objPage;
+	
+	// ÆþÎÏ¥Ç¡¼¥¿¤òÅÏ¤¹¡£
+	$objErr = new SC_CheckError();
+	
+	$classcategory_id1 = "classcategory_id". $id. "_1";
+	$classcategory_id2 = "classcategory_id". $id. "_2";
+	$quantity = "quantity". $id;
+	// Ê£¿ô¹àÌÜ¥Á¥§¥Ã¥¯
+	if ($objPage->tpl_classcat_find1[$id]) {
+		$objErr->doFunc(array("µ¬³Ê1", $classcategory_id1, INT_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+	}
+	if ($objPage->tpl_classcat_find2[$id]) {
+		$objErr->doFunc(array("µ¬³Ê2", $classcategory_id2, INT_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+	}
+	$objErr->doFunc(array("¸Ä¿ô", $quantity, INT_LEN), array("EXIST_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+			
+	return $objErr->arrErr;
+}
+
+// ¹ØÆþÀ©¸Â¿ô¤ÎÀßÄê
+function lfGetSaleLimit($product) {
+	global $objPage;
+	//ºß¸Ë¤¬Ìµ¸Â¤Þ¤¿¤Ï¹ØÆþÀ©¸ÂÃÍ¤¬ÀßÄêÃÍ¤è¤êÂç¤­¤¤¾ì¹ç
+	if($product['sale_unlimited'] == 1 || $product['sale_limit'] > SALE_LIMIT_MAX) {
+		$objPage->tpl_sale_limit[$product['product_id']] = SALE_LIMIT_MAX;
+	} else {
+		$objPage->tpl_sale_limit[$product['product_id']] = $product['sale_limit'];
+	}
+	
+	return $objPage;
+}
+
+//»ÙÊ§ÊýË¡¤Î¼èÆÀ
+//payment_id	1:Âå¶â°ú´¹¡¡2:¶ä¹Ô¿¶¤ê¹þ¤ß¡¡3:¸½¶â½ñÎ±
+function lfGetPayment() {
+	$objQuery = new SC_Query;
+	$col = "payment_id, rule, payment_method";
+	$from = "dtb_payment";
+	$where = "del_flg = 0";
+	$order = "payment_id";
+	$objQuery->setorder($order);
+	$arrRet = $objQuery->select($col, $from, $where);
+	return $arrRet;
+}
+
+?>
Index: branches/dev/html/install/user_data/include/campaign/default/src/complete.php
===================================================================
--- branches/dev/html/install/user_data/include/campaign/default/src/complete.php	(revision 37)
+++ branches/dev/html/install/user_data/include/campaign/default/src/complete.php	(revision 37)
@@ -0,0 +1,37 @@
+<?php
+/*
+ * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
+ *
+ * http://www.lockon.co.jp/
+ */
+require_once("../../require.php");
+
+//---- ¥Ú¡¼¥¸É½¼¨¥¯¥é¥¹
+class LC_Page {
+	
+	function LC_Page() {
+		$this->tpl_mainpage = TEMPLATE_DIR . '/campaign/complete.tpl';
+	}
+}
+
+$objPage = new LC_Page();
+$objView = new SC_SiteView();
+$objQuery = new SC_Query();
+$objCampaignSess = new SC_CampaignSession();
+
+// ¥­¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤é¤ÎÁ«°Ü¤ÇÌµ¤¤¾ì¹ç¤ÏTOP¥Ú¡¼¥¸¤Ø
+if(!$objCampaignSess->getIsCampaign()) {
+	header("location: ". URL_DIR);
+}
+
+// ÆþÎÏ¾ðÊó¤òÅÏ¤¹
+$objPage->arrForm = $_POST;
+$objPage->campaign_name = $objQuery->get("dtb_campaign", "campaign_name", "campaign_id = ?", array($objCampaignSess->getCampaignId()));
+$site_frame = CAMPAIGN_TEMPLATE_PATH . $objCampaignSess->getCampaignDir()  . "/active/site_frame.tpl";
+
+//----¡¡¥Ú¡¼¥¸É½¼¨
+$objView->assignobj($objPage);
+$objView->display($site_frame);
+// ¥»¥Ã¥·¥ç¥ó¤Î³«Êü
+$objCampaignSess->delCampaign();
+?>
