Skip to content

Instantly share code, notes, and snippets.

@kurozumi
Last active January 21, 2016 10:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kurozumi/9daf56c9acb2954c603a to your computer and use it in GitHub Desktop.
Save kurozumi/9daf56c9acb2954c603a to your computer and use it in GitHub Desktop.
【EC-CUBE2.12.6】ポイント一括更新機能を追加する
<?php
/*
* This file is part of EC-CUBE
*
* Copyright(c) 2000-2013 LOCKON CO.,LTD. All Rights Reserved.
*
* http://www.lockon.co.jp/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
// {{{ requires
require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php';
/**
* ポイント一括変更 のページクラス(拡張).
*
* LC_Page_Admin_Basis_Point をカスタマイズする場合はこのクラスを編集する.
*
* @package Page
* @author LOCKON CO.,LTD.
* @version $Id: LC_Page_Admin_Basis_Point_Ex.php 22796 2013-05-02 09:11:36Z h_yoshimoto $
*/
class LC_Page_Admin_Basis_Change_Point_Ex extends LC_Page_Admin_Ex {
/**
* Page を初期化する.
*
* @return void
*/
function init() {
parent::init();
$this->tpl_mainpage = 'basis/change_point.tpl';
$this->tpl_subno = 'change_point';
$this->tpl_mainno = 'basis';
$this->tpl_maintitle = '基本情報管理';
$this->tpl_subtitle = 'ポイント一括変更';
$masterData = new SC_DB_MasterData_Ex();
$this->arrProductType = $masterData->getMasterData('mtb_product_type');
}
/**
* Page のプロセス.
*
* @return void
*/
function process() {
$this->action();
$this->sendResponse();
}
/**
* Page のアクション.
*
* @return void
*/
function action() {
$objDb = new SC_Helper_DB_Ex();
// パラメーター管理クラス
$objFormParam = new SC_FormParam_Ex();
// パラメーター情報の初期化
$this->lfInitParam($objFormParam);
// POST値の取得
$objFormParam->setParam($_POST);
if (!empty($_POST)) {
// 入力値の変換
$objFormParam->convParam();
$this->arrErr = $objFormParam->checkError();
if (count($this->arrErr) == 0) {
$this->lfUpdateData($objFormParam->getHashArray());
// 再表示
$this->tpl_onload = "window.alert('ポイント一括更新が完了しました。');";
}
}
$this->arrForm = $objFormParam->getFormParamList();
}
/**
* デストラクタ.
*
* @return void
*/
function destroy() {
parent::destroy();
}
/* パラメーター情報の初期化 */
function lfInitParam(&$objFormParam) {
$objFormParam->addParam('商品種別', 'product_type_id', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
$objFormParam->addParam('ポイント付与率', 'point_rate', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'MAX_LENGTH_CHECK', 'NUM_CHECK'));
}
function lfUpdateData($post) {
// 入力データを渡す。
$objQuery =& SC_Query_Ex::getSingletonInstance();
// UPDATEの実行
$objQuery->update('dtb_products_class',
array("point_rate" => $post['point_rate']),
"product_type_id=?",
array($post['product_type_id'])
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment