| 1 | <?php
|
|---|
| 2 |
|
|---|
| 3 | require_once("../require.php");
|
|---|
| 4 |
|
|---|
| 5 | class LC_Page {
|
|---|
| 6 | var $arrSession;
|
|---|
| 7 | var $tpl_mode;
|
|---|
| 8 | function LC_Page() {
|
|---|
| 9 | $this->tpl_mainpage = 'basis/point.tpl';
|
|---|
| 10 | $this->tpl_subnavi = 'basis/subnavi.tpl';
|
|---|
| 11 | $this->tpl_subno = 'point';
|
|---|
| 12 | $this->tpl_mainno = 'basis';
|
|---|
| 13 | global $arrSTATUS;
|
|---|
| 14 | $this->arrSTATUS = $arrSTATUS;
|
|---|
| 15 | global $arrDISP;
|
|---|
| 16 | $this->arrDISP = $arrDISP;
|
|---|
| 17 | }
|
|---|
| 18 | }
|
|---|
| 19 | $conn = new SC_DBConn();
|
|---|
| 20 | $objPage = new LC_Page();
|
|---|
| 21 | $objView = new SC_AdminView();
|
|---|
| 22 | $objSess = new SC_Session();
|
|---|
| 23 | $objQuery = new SC_Query();
|
|---|
| 24 | $objDate = new SC_Date();
|
|---|
| 25 |
|
|---|
| 26 | // ÅÐÏ¿¡¦¹¹¿·¸¡º÷³«»Ïǯ
|
|---|
| 27 | $objDate->setStartYear(RELEASE_YEAR);
|
|---|
| 28 | $objDate->setEndYear(DATE("Y"));
|
|---|
| 29 | $objPage->arrStartYear = $objDate->getYear();
|
|---|
| 30 | $objPage->arrStartMonth = $objDate->getMonth();
|
|---|
| 31 | $objPage->arrStartDay = $objDate->getDay();
|
|---|
| 32 | $objPage->arrStartHour = $objDate->getHour();
|
|---|
| 33 | // ÅÐÏ¿¡¦¹¹¿·¸¡º÷½ªÎ»Ç¯
|
|---|
| 34 | $objDate->setStartYear(RELEASE_YEAR);
|
|---|
| 35 | $objDate->setEndYear(DATE("Y"));
|
|---|
| 36 | $objPage->arrEndYear = $objDate->getYear();
|
|---|
| 37 | $objPage->arrEndMonth = $objDate->getMonth();
|
|---|
| 38 | $objPage->arrEndDay = $objDate->getDay();
|
|---|
| 39 | $objPage->arrEndHour = $objDate->getHour();
|
|---|
| 40 |
|
|---|
| 41 | // ǧ¾Ú²ÄÈݤÎȽÄê
|
|---|
| 42 | sfIsSuccess($objSess);
|
|---|
| 43 |
|
|---|
| 44 | // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹
|
|---|
| 45 | $objFormParam = new SC_FormParam();
|
|---|
| 46 | // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½
|
|---|
| 47 | lfInitParam();
|
|---|
| 48 | // POSTÃͤμèÆÀ
|
|---|
| 49 | $objFormParam->setParam($_POST);
|
|---|
| 50 |
|
|---|
| 51 | $cnt = $objQuery->count("dtb_baseinfo");
|
|---|
| 52 |
|
|---|
| 53 | if ($cnt > 0) {
|
|---|
| 54 | $objPage->tpl_mode = "update";
|
|---|
| 55 | } else {
|
|---|
| 56 | $objPage->tpl_mode = "insert";
|
|---|
| 57 | }
|
|---|
| 58 |
|
|---|
| 59 | // ¸¡º÷¥ï¡¼¥É¤Î°ú¤·Ñ¤®
|
|---|
| 60 | foreach ($_POST as $key => $val) {
|
|---|
| 61 | if (ereg("^search_", $key) || ereg("^campaign", $key)) {
|
|---|
| 62 | switch($key) {
|
|---|
| 63 | case 'search_product_flag':
|
|---|
| 64 | case 'search_status':
|
|---|
| 65 | $objPage->arrSearchHidden[$key] = sfMergeParamCheckBoxes($val);
|
|---|
| 66 | break;
|
|---|
| 67 | default:
|
|---|
| 68 | $objPage->arrSearchHidden[$key] = $val;
|
|---|
| 69 | break;
|
|---|
| 70 | }
|
|---|
| 71 | }
|
|---|
| 72 |
|
|---|
| 73 | }
|
|---|
| 74 |
|
|---|
| 75 | switch($_POST['mode']) {
|
|---|
| 76 | //Á´ÂΥݥ¤¥ó¥ÈÅÐÏ¿
|
|---|
| 77 | case 'update':
|
|---|
| 78 | case 'insert':
|
|---|
| 79 | // ÆþÎÏÃͤÎÊÑ´¹
|
|---|
| 80 | $objFormParam->convParam();
|
|---|
| 81 | $objPage->arrErr = $objFormParam->checkError();
|
|---|
| 82 | if(count($objPage->arrErr) == 0) {
|
|---|
| 83 | switch($_POST['mode']) {
|
|---|
| 84 | case 'update':
|
|---|
| 85 | lfUpdateData(); // ´û¸ÊÔ½¸
|
|---|
| 86 | break;
|
|---|
| 87 | case 'insert':
|
|---|
| 88 | lfInsertData(); // ¿·µ¬ºîÀ®
|
|---|
| 89 | break;
|
|---|
| 90 | default:
|
|---|
| 91 | break;
|
|---|
| 92 | }
|
|---|
| 93 | // ºÆÉ½¼¨
|
|---|
| 94 | //sfReload();
|
|---|
| 95 | $objPage->tpl_onload = "window.alert('¥Ý¥¤¥ó¥ÈÀßÄ꤬´°Î»¤·¤Þ¤·¤¿¡£');";
|
|---|
| 96 | }
|
|---|
| 97 | break;
|
|---|
| 98 | //¥¥ã¥ó¥Ú¡¼¥ó¾¦ÉÊÁªÂò¥Ú¡¼¥¸¤«¤é¤Î¿ä°Ü
|
|---|
| 99 | case 'campaign_next':
|
|---|
| 100 | $objPage->tpl_mainpage = 'basis/campaign_regist.tpl';
|
|---|
| 101 | //ÊÔ½¸»þ
|
|---|
| 102 | if(sfIsInt($_POST['campaign_id'])) {
|
|---|
| 103 | //¥¥ã¥ó¥Ú¡¼¥ó¾ðÊó¤Î¼èÆÀ
|
|---|
| 104 | $arrRet = $objQuery->select("*", "dtb_campaign", "delete = 0 AND campaign_id = ? ", array($_POST['campaign_id']));
|
|---|
| 105 | $arrCamp = $arrRet[0];
|
|---|
| 106 | //¥¥ã¥ó¥Ú¡¼¥ó´ü´Ö¤Î¼èÆÀ
|
|---|
| 107 | if ($arrCamp['start_date'] != "" && $arrCamp['end_date']){
|
|---|
| 108 | $arrSDate = sfDispDBDate($arrCamp['start_date']);
|
|---|
| 109 | list($arrCamp['startyear'], $arrCamp['startmonth'], $arrCamp['startday'], $arrCamp['starthour']) = split("[/ :]", $arrSDate);
|
|---|
| 110 | $arrEDate = sfDispDBDate($arrCamp['end_date']);
|
|---|
| 111 | list($arrCamp['endyear'], $arrCamp['endmonth'], $arrCamp['endday'], $arrCamp['endhour']) = split("[/ :]", $arrEDate);
|
|---|
| 112 | }
|
|---|
| 113 | $objPage->arrCamp = $arrCamp;
|
|---|
| 114 | }
|
|---|
| 115 | break;
|
|---|
| 116 | //¥¥ã¥ó¥Ú¡¼¥óÅÐÏ¿
|
|---|
| 117 | case 'campaign_regist':
|
|---|
| 118 | $objPage->tpl_mainpage = 'basis/campaign_regist.tpl';
|
|---|
| 119 | $objPage->arrCamp = $_POST;
|
|---|
| 120 | $objPage->arrCamp['campaign_name'] = mb_convert_kana($objPage->arrCamp['campaign_name'], "KVa");
|
|---|
| 121 | $objPage->arrCamp['campaign_point_rate'] = mb_convert_kana($objPage->arrCamp['campaign_point_rate'], "n");
|
|---|
| 122 | //¥¨¥é¡¼¥Á¥§¥Ã¥¯
|
|---|
| 123 | $objPage->arrErr = lfErrorCheck($objPage->arrCamp);
|
|---|
| 124 | if(count($objPage->arrErr) == 0) {
|
|---|
| 125 | //¥¥ã¥ó¥Ú¡¼¥óÅÐÏ¿
|
|---|
| 126 | lfRegistCampaign($objPage->arrCamp);
|
|---|
| 127 | //¥Ý¥¤¥ó¥ÈÀßÄê¥Ú¡¼¥¸¤Ø°Üư
|
|---|
| 128 | header("Location: ./point.php");
|
|---|
| 129 | exit;
|
|---|
| 130 | }
|
|---|
| 131 | break;
|
|---|
| 132 | default:
|
|---|
| 133 | $arrCol = $objFormParam->getKeyList(); // ¥¡¼Ì¾°ìÍ÷¤ò¼èÆÀ
|
|---|
| 134 | $col = sfGetCommaList($arrCol);
|
|---|
| 135 | $arrRet = $objQuery->select($col, "dtb_baseinfo");
|
|---|
| 136 | // POSTÃͤμèÆÀ
|
|---|
| 137 | $objFormParam->setParam($arrRet[0]);
|
|---|
| 138 | //¥¥ã¥ó¥Ú¡¼¥ó¤Îºï½ü
|
|---|
| 139 | if($_POST['mode'] == 'delete') {
|
|---|
| 140 | $sqlval['delete'] = '1';
|
|---|
| 141 | $sqlval['update_date'] = 'now()';
|
|---|
| 142 | $objQuery->begin();
|
|---|
| 143 | $objQuery->update("dtb_campaign", $sqlval, "campaign_id = ? ", array($_POST['campaign_id']));
|
|---|
| 144 | $objQuery->delete("dtb_campaign_detail", "campaign_id = ? ", array($_POST['campaign_id']));
|
|---|
| 145 | $objQuery->commit();
|
|---|
| 146 | }
|
|---|
| 147 | //¥¥ã¥ó¥Ú¡¼¥ó¥Ç¡¼¥¿¤Î¼èÆÀ
|
|---|
| 148 | $objPage->arrCampData = lfGetCampaignData();
|
|---|
| 149 | // ¥«¥Æ¥´¥ê¤ÎÆÉ¹þ
|
|---|
| 150 | $objPage->arrCatList = sfGetCategoryList();
|
|---|
| 151 | break;
|
|---|
| 152 | }
|
|---|
| 153 |
|
|---|
| 154 | $objPage->arrForm = $objFormParam->getFormParamList();
|
|---|
| 155 | $objView->assignobj($objPage);
|
|---|
| 156 | $objView->display(MAIN_FRAME);
|
|---|
| 157 |
|
|---|
| 158 | //--------------------------------------------------------------------------------------------------------------------------------------
|
|---|
| 159 | /* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */
|
|---|
| 160 | function lfInitParam() {
|
|---|
| 161 | global $objFormParam;
|
|---|
| 162 | $objFormParam->addParam("¥Ý¥¤¥ó¥ÈÉÕͿΨ", "point_rate", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
|
|---|
| 163 | $objFormParam->addParam("²ñ°÷ÅÐÏ¿»þÉÕÍ¿¥Ý¥¤¥ó¥È", "welcome_point", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
|
|---|
| 164 | }
|
|---|
| 165 |
|
|---|
| 166 | function lfUpdateData() {
|
|---|
| 167 | global $objFormParam;
|
|---|
| 168 | // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£
|
|---|
| 169 | $sqlval = $objFormParam->getHashArray();
|
|---|
| 170 | $sqlval['update_date'] = 'Now()';
|
|---|
| 171 | $objQuery = new SC_Query();
|
|---|
| 172 | // UPDATE¤Î¼Â¹Ô
|
|---|
| 173 | $ret = $objQuery->update("dtb_baseinfo", $sqlval);
|
|---|
| 174 | }
|
|---|
| 175 |
|
|---|
| 176 | function lfInsertData() {
|
|---|
| 177 | global $objFormParam;
|
|---|
| 178 | // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£
|
|---|
| 179 | $sqlval = $objFormParam->getHashArray();
|
|---|
| 180 | $sqlval['update_date'] = 'Now()';
|
|---|
| 181 | $objQuery = new SC_Query();
|
|---|
| 182 | // INSERT¤Î¼Â¹Ô
|
|---|
| 183 | $ret = $objQuery->insert("dtb_baseinfo", $sqlval);
|
|---|
| 184 | }
|
|---|
| 185 |
|
|---|
| 186 | //ÅÐÏ¿ºÑ¤ß¥¥ã¥ó¥Ú¡¼¥ó¤Î¼èÆÀ
|
|---|
| 187 | function lfGetCampaigndata() {
|
|---|
| 188 | $objQuery = new SC_Query;
|
|---|
| 189 | //ÅÐÏ¿ÆüÉÕ½ç¤Ëʤ٤ë
|
|---|
| 190 | $objQuery->setorder('update_date DESC');
|
|---|
| 191 | $arrData = $objQuery->select("*", "dtb_campaign", "delete = 0");
|
|---|
| 192 | for($i = 0; $i < count($arrData); $i++) {
|
|---|
| 193 | if ($arrData[$i]['search_condition'] != "") {
|
|---|
| 194 | $arrRet[$i] = unserialize($arrData[$i]['search_condition']);
|
|---|
| 195 | foreach($arrRet[$i] as $key => $val) {
|
|---|
| 196 | switch($key) {
|
|---|
| 197 | case 'search_product_flag':
|
|---|
| 198 | case 'search_status':
|
|---|
| 199 | $arrData[$i][$key] = split("-", $val);
|
|---|
| 200 | break;
|
|---|
| 201 | default:
|
|---|
| 202 | $arrData[$i][$key] = $val;
|
|---|
| 203 | break;
|
|---|
| 204 | }
|
|---|
| 205 | }
|
|---|
| 206 | }
|
|---|
| 207 | }
|
|---|
| 208 | return $arrData;
|
|---|
| 209 | }
|
|---|
| 210 |
|
|---|
| 211 | //---- ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯
|
|---|
| 212 | function lfErrorCheck($array) {
|
|---|
| 213 |
|
|---|
| 214 | foreach($array as $key => $val) {
|
|---|
| 215 | if(!ereg("^search", $key)) {
|
|---|
| 216 | $arrRet[$key] = $val;
|
|---|
| 217 | }
|
|---|
| 218 | }
|
|---|
| 219 |
|
|---|
| 220 | $objErr = new SC_CheckError($arrRet);
|
|---|
| 221 |
|
|---|
| 222 | $objErr->doFunc(array("³«»ÏÆü(ǯ)", "startyear"), array("SELECT_CHECK", "NUM_CHECK"));
|
|---|
| 223 | $objErr->doFunc(array("³«»ÏÆü(·î)", "startmonth"), array("SELECT_CHECK", "NUM_CHECK"));
|
|---|
| 224 | $objErr->doFunc(array("³«»ÏÆü(Æü)", "startday"), array("SELECT_CHECK", "NUM_CHECK"));
|
|---|
| 225 | $objErr->doFunc(array("³«»ÏÆü(»þ)", "starthour"), array("SELECT_CHECK", "NUM_CHECK"));
|
|---|
| 226 | $objErr->doFunc(array("½ªÎ»Æü(ǯ)", "endyear"), array("SELECT_CHECK", "NUM_CHECK"));
|
|---|
| 227 | $objErr->doFunc(array("½ªÎ»Æü(·î)", "endmonth"), array("SELECT_CHECK", "NUM_CHECK"));
|
|---|
| 228 | $objErr->doFunc(array("½ªÎ»Æü(Æü)", "endday"), array("SELECT_CHECK", "NUM_CHECK"));
|
|---|
| 229 | $objErr->doFunc(array("½ªÎ»Æü(»þ)", "endhour"), array("SELECT_CHECK", "NUM_CHECK"));
|
|---|
| 230 | $objErr->doFunc(array("³«»ÏÆü", "startyear", "startmonth", "startday", "starthour"), array("CHECK_DATE2"));
|
|---|
| 231 | $objErr->doFunc(array("½ªÎ»Æü", "endyear", "endmonth", "endday", "endhour"), array("CHECK_DATE2"));
|
|---|
| 232 | $objErr->doFunc(array("³«»ÏÆü","½ªÎ»Æü", "startyear", "startmonth", "startday", "starthour", "endyear", "endmonth", "endday", "endhour"), array("CHECK_SET_TERM2"));
|
|---|
| 233 | $objErr->doFunc(array("¥¥ã¥ó¥Ú¡¼¥ó̾", "campaign_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
|
|---|
| 234 | $objErr->doFunc(array("¥¥ã¥ó¥Ú¡¼¥ó¥Ý¥¤¥ó¥ÈÉÕͿΨ", "campaign_point_rate", INT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
|
|---|
| 235 |
|
|---|
| 236 | return $objErr->arrErr;
|
|---|
| 237 | }
|
|---|
| 238 |
|
|---|
| 239 | //¥¥ã¥ó¥Ú¡¼¥óÅÐÏ¿
|
|---|
| 240 | function lfRegistCampaign($array) {
|
|---|
| 241 | $objQuery = new SC_Query;
|
|---|
| 242 |
|
|---|
| 243 | $objQuery->begin();
|
|---|
| 244 | $sqlval['campaign_name'] = $array['campaign_name'];
|
|---|
| 245 | $sqlval['campaign_point_rate'] = $array['campaign_point_rate'];
|
|---|
| 246 | $sqlval['start_date'] = $array['startyear']."-".$array['startmonth']."-".$array['startday']." ".$array['starthour'].":00:00";
|
|---|
| 247 | $sqlval['end_date'] = $array['endyear']."-".$array['endmonth']."-".$array['endday']." ".$array['endhour'].":00:00";
|
|---|
| 248 | //¸¡º÷¾ò·ï¤ò³ÊǼ¤¹¤ë¥¡¼¤ò»ØÄꤹ¤ë
|
|---|
| 249 | foreach($array as $key => $val) {
|
|---|
| 250 | //¥Ú¡¼¥¸NO¤Ï³ÊǼ¤·¤Ê¤¤
|
|---|
| 251 | if(ereg("^search", $key) && !ereg("^search_page", $key)) {
|
|---|
| 252 | $arrRet[$key] = $val;
|
|---|
| 253 | }
|
|---|
| 254 | }
|
|---|
| 255 | $sqlval['search_condition'] = serialize($arrRet);
|
|---|
| 256 | $sqlval['create_date'] = 'now()';
|
|---|
| 257 | //ÊÔ½¸»þ
|
|---|
| 258 | if(sfIsInt($array['campaign_id'])) {
|
|---|
| 259 | $sqlval['update_date'] = 'now()';
|
|---|
| 260 | //¹¹¿·
|
|---|
| 261 | $objQuery->update("dtb_campaign", $sqlval, "campaign_id = ?", array($array['campaign_id']));
|
|---|
| 262 | //¾ÜºÙ¥Æ¡¼¥Ö¥ë¤òºï½ü
|
|---|
| 263 | $objQuery->delete("dtb_campaign_detail", "campaign_id = ? ", array($array['campaign_id']));
|
|---|
| 264 | $sqlvaldet['campaign_id'] = $array['campaign_id'];
|
|---|
| 265 | } else {
|
|---|
| 266 | //¿·µ¬ÅÐÏ¿
|
|---|
| 267 | $campaign_id = $objQuery->nextval("dtb_campaign", "campaign_id");
|
|---|
| 268 | $sqlval['campaign_id'] = $campaign_id;
|
|---|
| 269 | $objQuery->insert("dtb_campaign", $sqlval);
|
|---|
| 270 | $sqlvaldet['campaign_id'] = $campaign_id;
|
|---|
| 271 | }
|
|---|
| 272 | $sqlvaldet['campaign_point_rate'] = $array['campaign_point_rate'];
|
|---|
| 273 | //¥¥ã¥ó¥Ú¡¼¥ó¾¦ÉÊID¤òÇÛÎó¤Ë³ÊǼ
|
|---|
| 274 | $arrID = explode("-", $array['campaign_product_id']);
|
|---|
| 275 | foreach($arrID as $val) {
|
|---|
| 276 | $sqlvaldet['product_id'] = $val;
|
|---|
| 277 | $objQuery->insert("dtb_campaign_detail", $sqlvaldet);
|
|---|
| 278 | }
|
|---|
| 279 | $objQuery->commit();
|
|---|
| 280 | }
|
|---|