/**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objDb = new SC_Helper_DB_Ex();
     $mode = $this->getMode();
     if (!empty($_POST)) {
         $objFormParam = new SC_FormParam_Ex();
         $objFormParam->setParam($_POST);
         $this->arrErr = $this->lfCheckError($mode, $objFormParam);
         if (!empty($this->arrErr['deliv_id'])) {
             SC_Utils_Ex::sfDispException();
             return;
         }
     }
     switch ($mode) {
         case 'delete':
             // ランク付きレコードの削除
             $objDb->sfDeleteRankRecord("dtb_deliv", "deliv_id", $_POST['deliv_id']);
             $this->objDisplay->reload();
             // PRG pattern
             break;
         case 'up':
             $objDb->sfRankUp("dtb_deliv", "deliv_id", $_POST['deliv_id']);
             $this->objDisplay->reload();
             // PRG pattern
             break;
         case 'down':
             $objDb->sfRankDown("dtb_deliv", "deliv_id", $_POST['deliv_id']);
             $this->objDisplay->reload();
             // PRG pattern
             break;
         default:
             break;
     }
     $this->arrDelivList = $this->lfGetDelivList();
 }
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     $conn = new SC_DBConn();
     $objView = new SC_AdminView();
     $objSess = new SC_Session();
     $objDb = new SC_Helper_DB_Ex();
     // 認証可否の判定
     SC_Utils_Ex::sfIsSuccess($objSess);
     if (!isset($_POST['mode'])) {
         $_POST['mode'] = "";
     }
     switch ($_POST['mode']) {
         case 'delete':
             // ランク付きレコードの削除
             $objDb->sfDeleteRankRecord("dtb_payment", "payment_id", $_POST['payment_id']);
             // 再表示
             $this->reload();
             break;
         case 'up':
             $objDb->sfRankUp("dtb_payment", "payment_id", $_POST['payment_id']);
             // 再表示
             $this->reload();
             break;
         case 'down':
             $objDb->sfRankDown("dtb_payment", "payment_id", $_POST['payment_id']);
             // 再表示
             $this->reload();
             break;
     }
     $this->arrDelivList = $objDb->sfGetIDValueList("dtb_deliv", "deliv_id", "service_name");
     $this->arrPaymentListFree = $this->lfGetPaymentList(2);
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }
 function action()
 {
     $objDb = new SC_Helper_DB_Ex();
     $objFormParam = new SC_FormParam_Ex();
     $this->lfInitParam($objFormParam);
     $objFormParam->setParam($_POST);
     $objFormParam->convParam();
     $this->tpl_questionnaire_id = $objFormParam->getValue('questionnaire_id');
     $mode = $this->getMode();
     switch ($mode) {
         case 'csv':
             if (is_numeric($this->tpl_questionnaire_id)) {
                 $this->lfDoCSV($this->tpl_questionnaire_id);
             }
             break;
         case 'delete':
             if (is_numeric($this->tpl_questionnaire_id)) {
                 $objDb->sfDeleteRankRecord('dtb_questionnaire', 'questionnaire_id', $this->tpl_questionnaire_id);
                 $this->objDisplay->reload();
             }
             break;
         case 'pre_edit':
             if (is_numeric($this->tpl_questionnaire_id)) {
                 $arrContents = reset($this->lfGetContents($this->tpl_questionnaire_id));
                 $arrContents['question'] = unserialize($arrContents['question']);
                 $objFormParam->setParam($arrContents);
             }
             break;
             //---- 新規登録/編集登録
         //---- 新規登録/編集登録
         case 'confirm':
             $this->arrErr = $this->lfCheckError($objFormParam);
             if (SC_Utils_Ex::isBlank($this->arrErr)) {
                 // IDの値がPOSTされて来た場合は既存データの編集とみなす
                 $member_id = $_SESSION['member_id'];
                 $this->lfRegistData($objFormParam, $member_id, $this->tpl_questionnaire_id);
                 $this->tpl_onload = "window.alert('登録が完了しました');";
             }
             break;
         default:
             break;
     }
     $this->arrForm = $objFormParam->getFormParamList();
     $this->arrContents = $this->lfGetContents();
 }
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     $conn = new SC_DBConn();
     $objView = new SC_AdminView();
     $objSess = new SC_Session();
     $objQuery = new SC_Query();
     $objDb = new SC_Helper_DB_Ex();
     // 認証可否の判定
     SC_Utils_Ex::sfIsSuccess($objSess);
     if (!isset($_POST['mode'])) {
         $_POST['mode'] = "";
     }
     switch ($_POST['mode']) {
         case 'delete':
             // ランク付きレコードの削除
             $objDb->sfDeleteRankRecord("dtb_deliv", "deliv_id", $_POST['deliv_id']);
             // 再表示
             SC_Utils_Ex::sfReload();
             break;
         case 'up':
             $objDb->sfRankUp("dtb_deliv", "deliv_id", $_POST['deliv_id']);
             // 再表示
             SC_Utils_Ex::sfReload();
             break;
         case 'down':
             $objDb->sfRankDown("dtb_deliv", "deliv_id", $_POST['deliv_id']);
             // 再表示
             SC_Utils_Ex::sfReload();
             break;
         default:
             break;
     }
     // 配送業者一覧の取得
     $col = "deliv_id, name, service_name";
     $where = "del_flg = 0";
     $table = "dtb_deliv";
     $objQuery->setorder("rank DESC");
     $this->arrDelivList = $objQuery->select($col, $table, $where);
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }
 /**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objDb = new SC_Helper_DB_Ex();
     $mode = $this->getMode();
     if (!empty($_POST)) {
         $objFormParam = new SC_FormParam_Ex();
         $objFormParam->addParam('配送業者ID', 'payment_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
         $objFormParam->setParam($_POST);
         $objFormParam->convParam();
         $arrErr = $objFormParam->checkError();
         if (!empty($this->arrErr['payment_id'])) {
             trigger_error('', E_USER_ERROR);
             return;
         }
         $post = $objFormParam->getHashArray();
     }
     switch ($this->getMode()) {
         case 'delete':
             // ランク付きレコードの削除
             $objDb->sfDeleteRankRecord('dtb_payment', 'payment_id', $post['payment_id']);
             // 再表示
             $this->objDisplay->reload();
             break;
         case 'up':
             $objDb->sfRankUp('dtb_payment', 'payment_id', $post['payment_id']);
             // 再表示
             $this->objDisplay->reload();
             break;
         case 'down':
             $objDb->sfRankDown('dtb_payment', 'payment_id', $post['payment_id']);
             // 再表示
             $this->objDisplay->reload();
             break;
     }
     $this->arrDelivList = $objDb->sfGetIDValueList('dtb_deliv', 'deliv_id', 'service_name');
     $this->arrPaymentListFree = $this->lfGetPaymentList();
 }
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     $conn = new SC_DBConn();
     $objView = new SC_AdminView();
     $objQuery = new SC_Query();
     $objDb = new SC_Helper_DB_Ex();
     // 認証可否の判定
     $objSess = new SC_Session();
     SC_Utils_Ex::sfIsSuccess($objSess);
     $get_check = false;
     // 規格IDのチェック
     if (SC_Utils_Ex::sfIsInt($_GET['class_id'])) {
         // 規格名の取得
         $this->tpl_class_name = $objQuery->get("dtb_class", "name", "class_id = ?", array($_GET['class_id']));
         if ($this->tpl_class_name != "") {
             // 規格IDの引き継ぎ
             $this->arrHidden['class_id'] = $_GET['class_id'];
             $get_check = true;
         }
     }
     if (!$get_check) {
         // 規格登録ページに飛ばす。
         $this->sendRedirect($this->getLocation(URL_CLASS_REGIST));
         exit;
     }
     if (!isset($_POST['mode'])) {
         $_POST['mode'] = "";
     }
     if (isset($_POST['class_id'])) {
         if (!SC_Utils_Ex::sfIsInt($_POST['class_id'])) {
             SC_Utils_Ex::sfDispError("");
         }
     }
     // 新規作成 or 編集
     switch ($_POST['mode']) {
         // 登録ボタン押下
         case 'edit':
             // POST値の引き継ぎ
             $this->arrForm = $_POST;
             // 入力文字の変換
             $_POST = $this->lfConvertParam($_POST);
             // エラーチェック
             $this->arrErr = $this->lfErrorCheck();
             if (count($this->arrErr) <= 0) {
                 if ($_POST['classcategory_id'] == "") {
                     $this->lfInsertClass();
                     // DBへの書き込み
                 } else {
                     $this->lfUpdateClass();
                     // DBへの書き込み
                 }
                 // 再表示
                 $this->reload($_GET['class_id']);
                 //sfReload("class_id=" . $_GET['class_id']);
             } else {
                 // POSTデータを引き継ぐ
                 $this->tpl_classcategory_id = $_POST['classcategory_id'];
             }
             break;
             // 削除
         // 削除
         case 'delete':
             // ランク付きレコードの削除
             $where = "class_id = " . SC_Utils_Ex::sfQuoteSmart($_POST['class_id']);
             $objDb->sfDeleteRankRecord("dtb_classcategory", "classcategory_id", $_POST['classcategory_id'], $where, true);
             break;
             // 編集前処理
         // 編集前処理
         case 'pre_edit':
             // 編集項目をDBより取得する。
             $where = "classcategory_id = ?";
             $name = $objQuery->get("dtb_classcategory", "name", $where, array($_POST['classcategory_id']));
             // 入力項目にカテゴリ名を入力する。
             $this->arrForm['name'] = $name;
             // POSTデータを引き継ぐ
             $this->tpl_classcategory_id = $_POST['classcategory_id'];
             break;
         case 'down':
             $where = "class_id = " . SC_Utils_Ex::sfQuoteSmart($_POST['class_id']);
             $objDb->sfRankDown("dtb_classcategory", "classcategory_id", $_POST['classcategory_id'], $where);
             break;
         case 'up':
             $where = "class_id = " . SC_Utils_Ex::sfQuoteSmart($_POST['class_id']);
             $objDb->sfRankUp("dtb_classcategory", "classcategory_id", $_POST['classcategory_id'], $where);
             break;
         default:
             break;
     }
     // 規格分類の読込
     $where = "del_flg <> 1 AND class_id = ?";
     $objQuery->setorder("rank DESC");
     $this->arrClassCat = $objQuery->select("name, classcategory_id", "dtb_classcategory", $where, array($_GET['class_id']));
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     $conn = new SC_DBConn();
     $objView = new SC_AdminView();
     $objSess = new SC_Session();
     $objDb = new SC_Helper_DB_Ex();
     // 認証可否の判定
     SC_Utils_Ex::sfIsSuccess($objSess);
     // パラメータ管理クラス
     $this->objFormParam = new SC_FormParam();
     // パラメータ情報の初期化
     $this->lfInitParam();
     // POST値の取得
     $this->objFormParam->setParam($_POST);
     // 通常時は親カテゴリを0に設定する。
     $this->arrForm['parent_category_id'] = isset($_POST['parent_category_id']) ? $_POST['parent_category_id'] : "";
     if (!isset($_POST['mode'])) {
         $_POST['mode'] = "";
     }
     switch ($_POST['mode']) {
         case 'edit':
             $this->objFormParam->convParam();
             $arrRet = $this->objFormParam->getHashArray();
             $this->arrErr = $this->lfCheckError($arrRet);
             if (count($this->arrErr) == 0) {
                 if ($_POST['category_id'] == "") {
                     $objQuery = new SC_Query();
                     $count = $objQuery->count("dtb_category");
                     if ($count < CATEGORY_MAX) {
                         $this->lfInsertCat($_POST['parent_category_id']);
                     } else {
                         print "カテゴリの登録最大数を超えました。";
                     }
                 } else {
                     $this->lfUpdateCat($_POST['category_id']);
                 }
             } else {
                 $this->arrForm = array_merge($this->arrForm, $this->objFormParam->getHashArray());
                 $this->arrForm['category_id'] = $_POST['category_id'];
             }
             break;
         case 'pre_edit':
             // 編集項目のカテゴリ名をDBより取得する。
             $oquery = new SC_Query();
             $where = "category_id = ?";
             $cat_name = $oquery->get("dtb_category", "category_name", $where, array($_POST['category_id']));
             $description = $oquery->get("dtb_category", "description", $where, array($_POST['category_id']));
             // 入力項目にカテゴリ名を入力する。
             $this->arrForm['category_name'] = $cat_name;
             $this->arrForm['description'] = $description;
             // POSTデータを引き継ぐ
             $this->arrForm['category_id'] = $_POST['category_id'];
             break;
         case 'delete':
             $objQuery = new SC_Query();
             // 子カテゴリのチェック
             $where = "parent_category_id = ? AND del_flg = 0";
             $count = $objQuery->count("dtb_category", $where, array($_POST['category_id']));
             if ($count != 0) {
                 $this->arrErr['category_name'] = "※ 子カテゴリが存在するため削除できません。<br>";
             }
             // 登録商品のチェック
             $table = "dtb_product_categories AS T1 LEFT JOIN dtb_products AS T2 ON T1.product_id = T2.product_id";
             $where = "T1.category_id = ? AND T2.del_flg = 0";
             $count = $objQuery->count($table, $where, array($_POST['category_id']));
             if ($count != 0) {
                 $this->arrErr['category_name'] = "※ カテゴリ内に商品が存在するため削除できません。<br>";
             }
             if (!isset($this->arrErr['category_name'])) {
                 // ランク付きレコードの削除(※処理負荷を考慮してレコードごと削除する。)
                 $objDb->sfDeleteRankRecord("dtb_category", "category_id", $_POST['category_id'], "", true);
             }
             break;
         case 'up':
             $objQuery = new SC_Query();
             $objQuery->begin();
             $up_id = $this->lfGetUpRankID($objQuery, "dtb_category", "parent_category_id", "category_id", $_POST['category_id']);
             if ($up_id != "") {
                 // 上のグループのrankから減算する数
                 $my_count = $this->lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $_POST['category_id']);
                 // 自分のグループのrankに加算する数
                 $up_count = $this->lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $up_id);
                 if ($my_count > 0 && $up_count > 0) {
                     // 自分のグループに加算
                     $this->lfUpRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $_POST['category_id'], $up_count);
                     // 上のグループから減算
                     $this->lfDownRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $up_id, $my_count);
                 }
             }
             $objQuery->commit();
             break;
         case 'down':
             $objQuery = new SC_Query();
             $objQuery->begin();
             $down_id = $this->lfGetDownRankID($objQuery, "dtb_category", "parent_category_id", "category_id", $_POST['category_id']);
             if ($down_id != "") {
                 // 下のグループのrankに加算する数
                 $my_count = $this->lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $_POST['category_id']);
                 // 自分のグループのrankから減算する数
                 $down_count = $this->lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $down_id);
                 if ($my_count > 0 && $down_count > 0) {
                     // 自分のグループから減算
                     $this->lfUpRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $down_id, $my_count);
                     // 下のグループに加算
                     $this->lfDownRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $_POST['category_id'], $down_count);
                 }
             }
             $objQuery->commit();
             break;
         case 'tree':
             break;
         case 'csv':
             require_once CLASS_EX_PATH . "helper_extends/SC_Helper_CSV_Ex.php";
             $objCSV = new SC_Helper_CSV_Ex();
             // オプションの指定
             $option = "ORDER BY rank DESC";
             // CSV出力タイトル行の作成
             $arrOutput = SC_Utils_Ex::sfSwapArray($objCSV->sfgetCsvOutput(5, " WHERE csv_id = 5 AND status = 1"));
             if (count($arrOutput) <= 0) {
                 break;
             }
             $arrOutputCols = $arrOutput['col'];
             $arrOutputTitle = $arrOutput['disp_name'];
             $head = SC_Utils_Ex::sfGetCSVList($arrOutputTitle);
             $where = "del_flg = 0";
             $data = $objCSV->lfGetCategoryCSV($where, $option, $arrval, $arrOutputCols);
             // CSVを送信する。
             SC_Utils_Ex::sfCSVDownload($head . $data, 'category');
             exit;
             break;
         default:
             $this->arrForm['parent_category_id'] = 0;
             break;
     }
     $this->arrList = $this->lfGetCat($this->arrForm['parent_category_id']);
     $this->arrTree = $objDb->sfGetCatTree($this->arrForm['parent_category_id']);
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     $conn = new SC_DBConn();
     $objView = new SC_AdminView();
     $objSess = new SC_Session();
     $objQuery = new SC_Query();
     $objDb = new SC_Helper_DB_Ex();
     // 認証可否の判定
     SC_Utils_Ex::sfIsSuccess($objSess);
     if (!isset($_POST['mode'])) {
         $_POST['mode'] = "";
     }
     // 要求判定
     switch ($_POST['mode']) {
         // 編集処理
         case 'edit':
             // POST値の引き継ぎ
             $this->arrForm = $_POST;
             // 入力文字の変換
             $this->arrForm = $this->lfConvertParam($this->arrForm);
             // エラーチェック
             $this->arrErr = $this->lfErrorCheck();
             if (count($this->arrErr) <= 0) {
                 if ($_POST['class_id'] == "") {
                     $this->lfInsertClass($this->arrForm);
                     // 新規作成
                 } else {
                     $this->lfUpdateClass($this->arrForm);
                     // 既存編集
                 }
                 // 再表示
                 $this->reload();
             } else {
                 // POSTデータを引き継ぐ
                 $this->tpl_class_id = $_POST['class_id'];
             }
             break;
             // 削除
         // 削除
         case 'delete':
             $objDb->sfDeleteRankRecord("dtb_class", "class_id", $_POST['class_id'], "", true);
             $objQuery = new SC_Query();
             $objQuery->delete("dtb_classcategory", "class_id = ?", $_POST['class_id']);
             // 再表示
             $this->reload();
             break;
             // 編集前処理
         // 編集前処理
         case 'pre_edit':
             // 編集項目をDBより取得する。
             $where = "class_id = ?";
             $class_name = $objQuery->get("dtb_class", "name", $where, array($_POST['class_id']));
             // 入力項目にカテゴリ名を入力する。
             $this->arrForm['name'] = $class_name;
             // POSTデータを引き継ぐ
             $this->tpl_class_id = $_POST['class_id'];
             break;
         case 'down':
             $objDb->sfRankDown("dtb_class", "class_id", $_POST['class_id']);
             // 再表示
             $this->reload();
             break;
         case 'up':
             $objDb->sfRankUp("dtb_class", "class_id", $_POST['class_id']);
             // 再表示
             $this->reload();
             break;
         default:
             break;
     }
     // 規格の読込
     $where = "del_flg <> 1";
     $objQuery->setorder("rank DESC");
     $this->arrClass = $objQuery->select("name, class_id", "dtb_class", $where);
     $this->arrClassCatCount = SC_Utils_Ex::sfGetClassCatCount();
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }
Ejemplo n.º 9
0
 /**
  * Page のプロセス.
  *
  * @return void
  */
 function process()
 {
     $objView = new SC_AdminView();
     $objDb = new SC_Helper_DB_Ex();
     $objDate = new SC_Date();
     // 登録・更新検索開始年
     $objDate->setStartYear(RELEASE_YEAR);
     $objDate->setEndYear(DATE("Y"));
     $this->arrStartYear = $objDate->getYear();
     $this->arrStartMonth = $objDate->getMonth();
     $this->arrStartDay = $objDate->getDay();
     // 登録・更新検索終了年
     $objDate->setStartYear(RELEASE_YEAR);
     $objDate->setEndYear(DATE("Y"));
     $this->arrEndYear = $objDate->getYear();
     $this->arrEndMonth = $objDate->getMonth();
     $this->arrEndDay = $objDate->getDay();
     // 認証可否の判定
     $objSess = new SC_Session();
     SC_Utils_Ex::sfIsSuccess($objSess);
     if (!isset($_POST['mode'])) {
         $_POST['mode'] = "";
     }
     //キャンペーンの編集時
     if (isset($_POST['campaign_id']) && SC_Utils_Ex::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値の引き継ぎ
     $this->arrForm = $_POST;
     // 検索ワードの引き継ぎ
     foreach ($_POST as $key => $val) {
         if (ereg("^search_", $key) || ereg("^campaign_", $key)) {
             switch ($key) {
                 case 'search_product_flag':
                 case 'search_status':
                     $this->arrHidden[$key] = SC_Utils_Ex::sfMergeParamCheckBoxes($val);
                     if (!is_array($val)) {
                         $this->arrForm[$key] = split("-", $val);
                     }
                     break;
                 default:
                     $this->arrHidden[$key] = $val;
                     break;
             }
         }
     }
     // ページ送り用
     $this->arrHidden['search_pageno'] = isset($_POST['search_pageno']) ? $_POST['search_pageno'] : "";
     // 商品削除
     if ($_POST['mode'] == "delete") {
         if ($_POST['category_id'] != "") {
             // ランク付きレコードの削除
             $where = "category_id = " . SC_Utils_Ex::sfQuoteSmart($_POST['category_id']);
             $objDb->sfDeleteRankRecord("dtb_products", "product_id", $_POST['product_id'], $where);
         } else {
             $objDb->sfDeleteRankRecord("dtb_products", "product_id", $_POST['product_id']);
         }
         // 子テーブル(商品規格)の削除
         $objQuery = new SC_Query();
         $objQuery->delete("dtb_products_class", "product_id = ?", array($_POST['product_id']));
         // 件数カウントバッチ実行
         $objDb->sfCategory_Count($objQuery);
     }
     if ($_POST['mode'] == "search" || $_POST['mode'] == "csv" || $_POST['mode'] == "delete" || $_POST['mode'] == "delete_all" || $_POST['mode'] == "camp_search") {
         // 入力文字の強制変換
         $this->lfConvertParam();
         // エラーチェック
         $this->arrErr = $this->lfCheckError();
         $where = "del_flg = 0";
         $view_where = "del_flg = 0";
         // 入力エラーなし
         if (count($this->arrErr) == 0) {
             $arrval = array();
             foreach ($this->arrForm as $key => $val) {
                 $val = SC_Utils_Ex::sfManualEscape($val);
                 if ($val == "") {
                     continue;
                 }
                 switch ($key) {
                     case 'search_product_id':
                         // 商品ID
                         $where .= " AND product_id = ?";
                         $view_where .= " AND product_id = ?";
                         $arrval[] = $val;
                         break;
                     case 'search_product_class_name':
                         //規格名称
                         $where_in = " (SELECT classcategory_id FROM dtb_classcategory WHERE class_id IN (SELECT class_id FROM dtb_class WHERE name LIKE ?)) ";
                         $where .= " AND product_id IN (SELECT product_id FROM dtb_products_class WHERE classcategory_id1 IN " . $where_in;
                         $where .= " OR classcategory_id2 IN" . $where_in . ")";
                         $view_where .= " AND product_id IN (SELECT product_id FROM dtb_products_class WHERE classcategory_id1 IN " . $where_in;
                         $view_where .= " OR classcategory_id2 IN" . $where_in . ")";
                         $arrval[] = "%{$val}%";
                         $arrval[] = "%{$val}%";
                         $view_where = $where;
                         break;
                     case 'search_name':
                         // 商品名
                         $where .= " AND name ILIKE ?";
                         $view_where .= " AND name ILIKE ?";
                         $arrval[] = "%{$val}%";
                         break;
                     case 'search_category_id':
                         // カテゴリー
                         list($tmp_where, $tmp_arrval) = $objDb->sfGetCatWhere($val);
                         if ($tmp_where != "") {
                             $where .= " AND product_id IN (SELECT product_id FROM dtb_product_categories WHERE " . $tmp_where . ")";
                             $view_where .= " AND product_id IN (SELECT product_id FROM dtb_product_categories WHERE " . $tmp_where . ")";
                             $arrval = array_merge((array) $arrval, (array) $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)";
                         $view_where .= " AND EXISTS (SELECT product_id FROM dtb_products_class as cls WHERE cls.product_code ILIKE ? AND dtb_products.product_id = cls.product_id GROUP BY cls.product_id )";
                         $arrval[] = "%{$val}%";
                         break;
                     case 'search_startyear':
                         // 登録更新日(FROM)
                         $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']);
                         $where .= " AND update_date >= '" . $_POST['search_startyear'] . "/" . $_POST['search_startmonth'] . "/" . $_POST['search_startday'] . "'";
                         $view_where .= " AND update_date >= '" . $_POST['search_startyear'] . "/" . $_POST['search_startmonth'] . "/" . $_POST['search_startday'] . "'";
                         break;
                     case 'search_endyear':
                         // 登録更新日(TO)
                         $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday']);
                         $date = date('Y/m/d', strtotime($date) + 86400);
                         $where .= " AND update_date < date('" . $date . "')";
                         $view_where .= " AND update_date < date('" . $date . "')";
                         break;
                     case 'search_product_flag':
                         //種別
                         global $arrSTATUS;
                         $search_product_flag = SC_Utils_Ex::sfSearchCheckBoxes($val);
                         if ($search_product_flag != "") {
                             $where .= " AND product_flag LIKE ?";
                             $view_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 = ? ";
                                 } else {
                                     $tmp_where .= "OR status = ? ";
                                 }
                                 $arrval[] = $element;
                             }
                         }
                         if ($tmp_where != "") {
                             $tmp_where .= ")";
                             $where .= " {$tmp_where}";
                             $view_where .= " {$tmp_where}";
                         }
                         break;
                     default:
                         break;
                 }
             }
             $order = "update_date DESC, product_id DESC";
             $objQuery = new SC_Query();
             switch ($_POST['mode']) {
                 case 'csv':
                     require_once CLASS_EX_PATH . "helper_extends/SC_Helper_CSV_Ex.php";
                     $objCSV = new SC_Helper_CSV_Ex();
                     // オプションの指定
                     $option = "ORDER BY {$order}";
                     // CSV出力タイトル行の作成
                     $arrOutput = SC_Utils_Ex::sfSwapArray($objCSV->sfgetCsvOutput(1, " WHERE csv_id = 1 AND status = 1"));
                     if (count($arrOutput) <= 0) {
                         break;
                     }
                     $arrOutputCols = $arrOutput['col'];
                     $arrOutputTitle = $arrOutput['disp_name'];
                     $head = SC_Utils_Ex::sfGetCSVList($arrOutputTitle);
                     $data = $objCSV->lfGetProductsCSV($where, $option, $arrval, $arrOutputCols);
                     // CSVを送信する。
                     SC_Utils_Ex::sfCSVDownload($head . $data);
                     exit;
                     break;
                 case 'delete_all':
                     // 検索結果の取得
                     $col = "product_id";
                     $from = "vw_products_nonclass AS noncls ";
                     $arrProducts = $objQuery->select($col, $from, $where, $arrval);
                     // 検索結果をすべて削除
                     $sqlval['del_flg'] = 1;
                     $where = "product_id = ?";
                     if (count($arrProducts) > 0) {
                         foreach ($arrProducts as $key => $val) {
                             $objQuery->update("dtb_products", $sqlval, $where, array($arrProducts[$key]["product_id"]));
                         }
                     }
                     break;
                 default:
                     // 読み込む列とテーブルの指定
                     $col = "product_id, name, category_id, main_list_image, status, product_code, price01, price02, stock, stock_unlimited";
                     $from = "vw_products_nonclass AS noncls ";
                     // 行数の取得
                     $linemax = $objQuery->count("dtb_products", $view_where, $arrval);
                     $this->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($this->arrHidden['search_pageno'], $linemax, $page_max, "fnNaviSearchPage", NAVI_PMAX);
                     $startno = $objNavi->start_row;
                     $this->arrPagenavi = $objNavi->arrPagenavi;
                     //キャンペーン商品検索時は、全結果の商品IDを変数に格納する
                     if (isset($_POST['search_mode']) && $_POST['search_mode'] == 'campaign') {
                         $arrRet = $objQuery->select($col, $from, $where, $arrval);
                         if (count($arrRet) > 0) {
                             $arrRet = sfSwapArray($arrRet);
                             $pid = implode("-", $arrRet['product_id']);
                             $this->arrHidden['campaign_product_id'] = $pid;
                         }
                     }
                     // 取得範囲の指定(開始行番号、行数のセット)
                     //                    if(DB_TYPE != "mysql") $objQuery->setlimitoffset($page_max, $startno);
                     $objQuery->setlimitoffset($page_max, $startno);
                     // 表示順序
                     $objQuery->setorder($order);
                     // 検索結果の取得
                     $this->arrProducts = $objQuery->select($col, $from, $where, $arrval);
                     // 各商品ごとのカテゴリIDを取得
                     if (count($this->arrProducts) > 0) {
                         foreach ($this->arrProducts as $key => $val) {
                             $this->arrProducts[$key]["categories"] = $objDb->sfGetCategoryId($val["product_id"]);
                             $objDb->g_category_on = false;
                         }
                     }
             }
         }
     }
     // カテゴリの読込
     list($this->arrCatKey, $this->arrCatVal) = $objDb->sfGetLevelCatList(false);
     $this->arrCatList = $this->lfGetIDName($this->arrCatKey, $this->arrCatVal);
     // 画面の表示
     $objView->assignobj($this);
     $objView->display(MAIN_FRAME);
 }
Ejemplo n.º 10
0
 /**
  * ニュースの削除.
  *
  * @param  integer $news_id ニュースID
  * @return void
  */
 public function deleteNews($news_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     // ランク付きレコードの削除
     $objDb->sfDeleteRankRecord('dtb_news', 'news_id', $news_id);
 }
 /**
  * 削除する新着情報以降のrankを1つ繰り上げる。
  * @param Integer $news_id
  * @param Integer $rank
  */
 function computeRankForDelete($news_id, $rank)
 {
     SC_Helper_DB_Ex::sfDeleteRankRecord('dtb_news', 'news_id', $news_id);
 }
 /**
  * 会員規約の削除.
  *
  * @param  integer $kiyaku_id 会員規約ID
  * @return void
  */
 public function deleteKiyaku($kiyaku_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     // ランク付きレコードの削除
     $objDb->sfDeleteRankRecord('dtb_kiyaku', 'kiyaku_id', $kiyaku_id);
 }
Ejemplo n.º 13
0
 /**
  * カテゴリーの削除
  *
  * @param int $category_id カテゴリーID
  * @return void
  */
 public function delete($category_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     // ランク付きレコードの削除(※処理負荷を考慮してレコードごと削除する。)
     $objDb->sfDeleteRankRecord('dtb_category', 'category_id', $category_id, '', true);
 }
 /**
  * 休日の削除.
  *
  * @param  integer $holiday_id 休日ID
  * @return void
  */
 public function delete($holiday_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     // ランク付きレコードの削除
     $objDb->sfDeleteRankRecord('dtb_holiday', 'holiday_id', $holiday_id, '', true);
 }
 /**
  * メーカー情報削除.
  *
  * @param integer $maker_id メーカーID
  * @return void
  */
 function lfDelete($maker_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     $objDb->sfDeleteRankRecord('dtb_maker', 'maker_id', $maker_id, '', true);
 }
 /**
  * 配送方法の削除.
  *
  * @param  integer $deliv_id 配送方法ID
  * @return void
  */
 public function delete($deliv_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     // ランク付きレコードの削除
     $objDb->sfDeleteRankRecord('dtb_deliv', 'deliv_id', $deliv_id);
 }
Ejemplo n.º 17
0
 /**
  * 支払方法の削除.
  *
  * @param  integer $payment_id 支払方法ID
  * @return void
  */
 public function delete($payment_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     // ランク付きレコードの削除
     $objDb->sfDeleteRankRecord('dtb_payment', 'payment_id', $payment_id);
 }
 /**
  * 規格情報を削除する.
  *
  * @param integer $class_id 規格ID
  * @param SC_Helper_DB $objDb SC_Helper_DBのインスタンス
  * @return integer 削除件数
  */
 function lfDeleteClass($class_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     $ret = $objDb->sfDeleteRankRecord('dtb_class', 'class_id', $class_id, '', true);
     $where = 'class_id = ?';
     $objQuery->delete('dtb_classcategory', $where, array($class_id));
     return $ret;
 }
 /**
  * メーカー情報削除.
  *
  * @param integer $maker_id メーカーID
  * @return void
  */
 function lfDelete($maker_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     $objDb->sfDeleteRankRecord("dtb_maker", "maker_id", $maker_id, "", true);
 }
 /**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objDb = new SC_Helper_DB_Ex();
     $mode = $this->getMode();
     $objFormParam = new SC_FormParam_Ex();
     $this->lfInitParam($mode, $objFormParam);
     $objFormParam->setParam($_REQUEST);
     $objFormParam->convParam();
     $this->arrErr = $this->lfCheckError($mode, $objFormParam);
     $is_error = !SC_Utils_Ex::isBlank($this->arrErr);
     $this->kiyaku_id = $objFormParam->getValue('kiyaku_id');
     if ($is_error) {
         trigger_error('', E_USER_ERROR);
         return;
     }
     // 要求判定
     switch ($mode) {
         // 編集処理
         case 'confirm':
             // POST値の引き継ぎ
             $this->arrForm = $_POST;
             if (!$is_error) {
                 if ($this->kiyaku_id == '') {
                     $result = $this->lfInsertClass($this->arrForm, $_SESSION['member_id']);
                     // 新規作成
                 } else {
                     $result = $this->lfUpdateClass($this->arrForm, $this->kiyaku_id);
                     // 既存編集
                 }
                 if ($result !== FALSE) {
                     $arrPram = array('kiyaku_id' => $result, 'msg' => 'on');
                     SC_Response_Ex::reload($arrPram, true);
                     SC_Response_Ex::actionExit();
                 }
             }
             break;
             // 削除
         // 削除
         case 'delete':
             $objDb->sfDeleteRankRecord('dtb_kiyaku', 'kiyaku_id', $this->kiyaku_id, '', true);
             // 再表示
             $this->objDisplay->reload();
             break;
         case 'down':
             $objDb->sfRankDown('dtb_kiyaku', 'kiyaku_id', $this->kiyaku_id);
             // 再表示
             $this->objDisplay->reload();
             break;
         case 'up':
             $objDb->sfRankUp('dtb_kiyaku', 'kiyaku_id', $this->kiyaku_id);
             // 再表示
             $this->objDisplay->reload();
             break;
         default:
             if (isset($_GET['msg']) && $_GET['msg'] == 'on') {
                 // 完了メッセージ
                 $this->tpl_onload = "alert('登録が完了しました。');";
             }
             break;
     }
     $this->arrForm = $objFormParam->getFormParamList();
     if (!$is_error) {
         // 規約一覧を取得
         $this->arrKiyaku = $this->lfGetKiyakuList();
         // kiyaku_id が指定されている場合には規約データの取得
         if (!SC_Utils_Ex::isBlank($this->kiyaku_id)) {
             // 編集項目を取得する。
             $arrKiyakuData = $this->lfGetKiyakuDataByKiyakuID($this->kiyaku_id);
             // 入力項目にカテゴリ名を入力する。
             $this->arrForm['kiyaku_title'] = $arrKiyakuData[0]['kiyaku_title'];
             $this->arrForm['kiyaku_text'] = $arrKiyakuData[0]['kiyaku_text'];
             // POSTデータを引き継ぐ
             $this->tpl_kiyaku_id = $this->kiyaku_id;
         }
     } else {
         // 画面にエラー表示しないため, ログ出力
         GC_Utils_Ex::gfPrintLog('Error: ' . print_r($this->arrErr, true));
     }
 }
 /**
  * 規格情報を削除する.
  *
  * @param integer $class_id 規格ID
  * @param SC_Helper_DB $objDb SC_Helper_DBのインスタンス
  * @return integer 更新件数
  */
 function lfDeleteClass($class_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     $objDb->sfDeleteRankRecord("dtb_class", "class_id", $class_id, "", true);
     $where = "class_id = ?";
     $ret = $objQuery->delete("dtb_classcategory", $where, array($class_id));
     return $ret;
 }
 /**
  * 規格分類情報を削除する
  *
  * @param integer $class_id 規格ID
  * @param integer $classcategory_id 規格分類ID
  * @return void
  */
 function lfDeleteClassCat($class_id, $classcategory_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     $where = 'class_id = ' . SC_Utils_Ex::sfQuoteSmart($class_id);
     $objDb->sfDeleteRankRecord('dtb_classcategory', 'classcategory_id', $classcategory_id, $where, true);
 }
 /**
  * 商品IDの配列からおすすめ商品を削除.
  *
  * @param  array $productIDs 商品ID
  * @return void
  */
 public function deleteByProductIDs($productIDs)
 {
     $objDb = new SC_Helper_DB_Ex();
     $arrList = $this->getList();
     foreach ($arrList as $recommend) {
         if (in_array($recommend['product_id'], $productIDs)) {
             $objDb->sfDeleteRankRecord('dtb_best_products', 'best_id', $recommend['best_id'], '', TRUE);
         }
     }
 }
 /**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objDb = new SC_Helper_DB_Ex();
     $objDate = new SC_Date_Ex();
     $this->arrMonth = $objDate->getMonth();
     $this->arrDay = $objDate->getDay();
     $mode = $this->getMode();
     if (!empty($_POST)) {
         $objFormParam = new SC_FormParam_Ex();
         $this->lfInitParam($mode, $objFormParam);
         $objFormParam->setParam($_POST);
         $objFormParam->convParam();
         $holiday_id = $objFormParam->getValue('holiday_id');
         $this->arrErr = $this->lfCheckError($mode, $objFormParam);
         if (!empty($this->arrErr['holiday_id'])) {
             SC_Utils_Ex::sfDispException();
             return;
         }
         $post = $objFormParam->getHashArray();
     }
     // 要求判定
     switch ($mode) {
         // 編集処理
         case 'edit':
             // POST値の引き継ぎ
             $this->arrForm = $this->arrForm = $_POST;
             if (count($this->arrErr) <= 0) {
                 // 新規作成
                 if ($post['holiday_id'] == "") {
                     $this->lfInsertClass($this->arrForm, $_SESSION['member_id']);
                 } else {
                     $this->lfUpdateClass($this->arrForm, $post['holiday_id']);
                 }
                 // 再表示
                 $this->objDisplay->reload();
             } else {
                 // POSTデータを引き継ぐ
                 $this->tpl_holiday_id = $post['holiday_id'];
             }
             break;
             // 削除
         // 削除
         case 'delete':
             $objDb->sfDeleteRankRecord("dtb_holiday", "holiday_id", $post['holiday_id'], "", true);
             // 再表示
             $this->objDisplay->reload();
             break;
             // 編集前処理
         // 編集前処理
         case 'pre_edit':
             // 編集項目を取得する。
             $arrHolidayData = $this->lfGetHolidayDataByHolidayID($post['holiday_id']);
             // 入力項目にカテゴリ名を入力する。
             $this->arrForm['title'] = $arrHolidayData[0]['title'];
             $this->arrForm['month'] = $arrHolidayData[0]['month'];
             $this->arrForm['day'] = $arrHolidayData[0]['day'];
             // POSTデータを引き継ぐ
             $this->tpl_holiday_id = $post['holiday_id'];
             break;
         case 'down':
             $objDb->sfRankDown("dtb_holiday", "holiday_id", $post['holiday_id']);
             // 再表示
             $this->objDisplay->reload();
             break;
         case 'up':
             $objDb->sfRankUp("dtb_holiday", "holiday_id", $post['holiday_id']);
             // 再表示
             $this->objDisplay->reload();
             break;
         default:
             break;
     }
     $this->arrHoliday = $this->lfGetHolidayList();
     // POSTデータを引き継ぐ
     $this->tpl_holiday_id = $holiday_id;
 }
 /**
  * メーカーの削除.
  *
  * @param  integer $maker_id メーカーID
  * @return void
  */
 public function delete($maker_id)
 {
     $objDb = new SC_Helper_DB_Ex();
     // ランク付きレコードの削除
     $objDb->sfDeleteRankRecord('dtb_maker', 'maker_id', $maker_id, '', true);
 }