Source for file LC_Page_Admin_System_Delete.php

Documentation is available at LC_Page_Admin_System_Delete.php

  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.lockon.co.jp/
  8.  *
  9.  * This program is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU General Public License
  11.  * as published by the Free Software Foundation; either version 2
  12.  * of the License, or (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  22.  */
  23.  
  24. // {{{ requires
  25. require_once(CLASS_PATH "pages/LC_Page.php");
  26.  
  27. /**
  28.  * XXX のページクラス.
  29.  *
  30.  * @package Page
  31.  * @author LOCKON CO.,LTD.
  32.  * @version $Id: LC_Page_Admin_System_Delete.php 16747 2007-11-08 04:18:30Z adachi $
  33.  */
  34.  
  35.     // }}}
  36.     // {{{ functions
  37.  
  38.     /**
  39.      * Page を初期化する.
  40.      *
  41.      * @return void 
  42.      */
  43.     function init({
  44.         parent::init();
  45.     }
  46.  
  47.     /**
  48.      * Page のプロセス.
  49.      *
  50.      * @return void 
  51.      */
  52.     function process({
  53.  
  54.         // 認証可否の判定
  55.         $objSess new SC_Session();
  56.         SC_Utils_Ex::sfIsSuccess($objSess);
  57.  
  58.         $this->initParam();
  59.  
  60.         // パラメータの検証
  61.         if ($this->objForm->checkError()
  62.             || !SC_Utils_ex::sfIsInt($id $this->objForm->getValue('id'))) {
  63.  
  64.             GC_Utils_Ex::gfPrintLog("error id=$id");
  65.             SC_Utils_Ex::sfDispError(INVALID_MOVE_ERRORR);
  66.         }
  67.  
  68.         $id $this->objForm->getValue('id');
  69.  
  70.         // レコードの削除
  71.         $objQuery =new SC_Query;
  72.         $objQuery->begin();
  73.  
  74.         $this->renumberRank($objQuery$id);
  75.         $this->deleteRecode($objQuery$id);
  76.  
  77.         $objQuery->commit();
  78.  
  79.         // リダイレクト
  80.         $url $this->getLocation(URL_SYSTEM_TOP)
  81.              . '?pageno=' $this->objForm->getValue('pageno');
  82.         $this->sendRedirect($url);
  83.     }
  84.  
  85.     /**
  86.      * デストラクタ.
  87.      *
  88.      * @return void 
  89.      */
  90.     function destroy({
  91.         parent::destroy();
  92.     }
  93.  
  94.     function initParam({
  95.         $objForm new SC_FormParam;
  96.         $objForm->addParam('pageno''pageno'INT_LEN''array('NUM_CHECK''MAX_LENGTH_CHECK''EXIST_CHECK'));
  97.         $objForm->addParam('id''id'INT_LEN''array('NUM_CHECK''MAX_LENGTH_CHECK'));
  98.         $objForm->setParam($_GET);
  99.  
  100.         $this->objForm $objForm;
  101.     }
  102.  
  103.     // ランキングの振り直し
  104.     function renumberRank(&$objQuery$id{
  105.         $where "member_id = ?";
  106.         // ランクの取得
  107.         $rank $objQuery->get("dtb_member""rank"$wherearray($id));
  108.  
  109.         // 削除したレコードより上のランキングを下げてRANKの空きを埋める。
  110.         $sqlup =<<<END
  111.         UPDATE
  112.             dtb_member
  113.         SET
  114.             rank = (rank - 1)
  115.         WHERE
  116.             rank > ? AND del_flg <> 1
  117. END;
  118.         // UPDATEの実行
  119.         return $objQuery->query($sqluparray($rank));
  120.     }
  121.  
  122.     // レコードの削除(削除フラグをONにする)
  123.     function deleteRecode(&$objQuery$id{
  124.         // ランクを最下位にする、DELフラグON
  125.         $sqlup =<<<END
  126.         UPDATE
  127.             dtb_member
  128.         SET
  129.             rank = 0,
  130.             del_flg = 1
  131.         WHERE
  132.             member_id = ?
  133. END;
  134.         // UPDATEの実行
  135.         return $objQuery->query($sqluparray($id));
  136.     }
  137.  
  138.  
  139. }
  140. /*
  141.  * Local variables:
  142.  * coding: utf-8
  143.  * End:
  144.  */
  145. ?>

Documentation generated on Tue, 28 Apr 2009 18:11:50 +0900 by phpDocumentor 1.4.2