function lfProductClassPage()
 {
     $objDb = new SC_Helper_DB_Ex();
     $this->arrHidden = $_POST;
     $this->arrHidden['select_class_id1'] = "";
     $this->arrHidden['select_class_id2'] = "";
     $arrClass = $objDb->sfGetIDValueList("dtb_class", 'class_id', 'name');
     // 規格分類が登録されていない規格は表示しないようにする。
     $arrClassCatCount = SC_Utils_Ex::sfGetClassCatCount();
     if (count($arrClass) > 0) {
         foreach ($arrClass as $key => $val) {
             if ($arrClassCatCount[$key] > 0) {
                 $this->arrClass[$key] = $arrClass[$key];
             }
         }
     }
     // 商品名を取得
     $objQuery = new SC_Query();
     $product_name = $objQuery->getOne("SELECT name FROM dtb_products WHERE product_id = ?", array($_POST['product_id']));
     $this->arrForm['product_name'] = $product_name;
 }
 /**
  * 規格分類の登録された, すべての規格を取得する.
  *
  * @access private
  * @return array 規格分類の登録された, すべての規格
  */
 function getAllClass()
 {
     $arrClass = SC_Helper_DB_Ex::sfGetIDValueList('dtb_class', 'class_id', 'name');
     // 規格分類が登録されていない規格は表示しないようにする。
     $arrClassCatCount = SC_Utils_Ex::sfGetClassCatCount();
     $results = array();
     if (!SC_Utils_Ex::isBlank($arrClass)) {
         foreach ($arrClass as $key => $val) {
             if ($arrClassCatCount[$key] > 0) {
                 $results[$key] = $arrClass[$key];
             }
         }
     }
     return $results;
 }
 /**
  * Page のアクション.
  *
  * @return void
  */
 function action()
 {
     $objFormParam = new SC_FormParam_Ex();
     $this->lfInitParam($objFormParam);
     $objFormParam->setParam($_POST);
     $objFormParam->convParam();
     $class_id = $objFormParam->getValue('class_id');
     // 要求判定
     switch ($this->getMode()) {
         // 編集処理
         case 'edit':
             //パラメーターの取得
             $this->arrForm = $objFormParam->getHashArray();
             // 入力パラメーターチェック
             $this->arrErr = $this->lfCheckError($objFormParam);
             if (SC_Utils_Ex::isBlank($this->arrErr)) {
                 //新規規格追加かどうかを判定する
                 $is_insert = $this->lfCheckInsert($this->arrForm);
                 if ($is_insert) {
                     $this->lfInsertClass($this->arrForm);
                     // 新規作成
                 } else {
                     $this->lfUpdateClass($this->arrForm);
                     // 既存編集
                 }
                 // 再表示
                 SC_Response_Ex::reload();
             }
             break;
             // 削除
         // 削除
         case 'delete':
             //規格データの削除処理
             $this->lfDeleteClass($class_id);
             // 再表示
             SC_Response_Ex::reload();
             break;
             // 編集前処理
         // 編集前処理
         case 'pre_edit':
             // 規格名を取得する。
             $class_name = $this->lfGetClassName($class_id);
             // 入力項目にカテゴリ名を入力する。
             $this->arrForm['name'] = $class_name;
             break;
         case 'down':
             $this->lfDownRank($class_id);
             // 再表示
             SC_Response_Ex::reload();
             break;
         case 'up':
             $this->lfUpRank($class_id);
             // 再表示
             SC_Response_Ex::reload();
             break;
         default:
             break;
     }
     // 規格の読込
     $this->arrClass = $this->lfGetClass();
     $this->arrClassCatCount = SC_Utils_Ex::sfGetClassCatCount();
     // POSTデータを引き継ぐ
     $this->tpl_class_id = $class_id;
 }
 /**
  * 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);
 }