Page
[ class tree: Page ] [ index: Page ] [ all elements ]

Source for file LC_Page_Admin_Plugin_Uninstall.php

Documentation is available at LC_Page_Admin_Plugin_Uninstall.php

  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2011 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. require_once CLASS_EX_REALDIR 'page_extends/admin/LC_Page_Admin_Ex.php';
  25.  
  26. /**
  27.  * プラグインのアンインストールのページクラス
  28.  *
  29.  * FIXME インストール直後のレンダリング時点では、上部ナビに反映されない
  30.  * TODO Transaction Token を使用する
  31.  *
  32.  * @package Page
  33.  * @author Seasoft 塚田将久
  34.  * @version $Id: LC_Page_Admin_Plugin_Uninstall.php 20970 2011-06-10 10:27:24Z Seasoft $
  35.  */
  36. class LC_Page_Admin_Plugin_Uninstall extends LC_Page_Admin_Ex {
  37.  
  38.     /**
  39.      * Page を初期化する.
  40.      *
  41.      * @return void 
  42.      */
  43.     function init({
  44.         if (DEBUG_LOAD_PLUGIN !== trueSC_Utils_Ex::sfDispException('プラグインは有効化されていない')// XXX 開発途上対応
  45.         parent::init();
  46.  
  47.         $this->tpl_mainpage 'plugin/uninstall.tpl';
  48.         $this->tpl_mainno   'plugin';
  49.         $this->tpl_subno    'uninstall';
  50.         $this->tpl_subtitle 'プラグインのアンインストール';
  51.     }
  52.  
  53.     /**
  54.      * Page のプロセス.
  55.      *
  56.      * @return void 
  57.      */
  58.     function process({
  59.         $this->action();
  60.         $this->sendResponse();
  61.     }
  62.  
  63.     /**
  64.      * Page のアクション.
  65.      *
  66.      * @return void 
  67.      */
  68.     function action({
  69.         // パラメーター管理クラス
  70.         $this->objFormParam new SC_FormParam_Ex();
  71.         // パラメーター情報の初期化
  72.         $this->lfInitParam();
  73.         // POST値の取得
  74.         $this->objFormParam->setParam($_REQUEST);
  75.         // 入力情報を渡す
  76.         $this->arrForm $this->objFormParam->getHashArray();
  77.         $this->arrErr $this->objFormParam->checkError();
  78.         if (count($this->arrErr== 0{
  79.             // アンインストール
  80.             $this->lfUninstall($this->arrForm['path']);
  81.             $this->tpl_result '完了しました。';
  82.         else {
  83.             SC_Utils_Ex::sfDispException();
  84.         }
  85.     }
  86.  
  87.     /**
  88.      * デストラクタ.
  89.      *
  90.      * @return void 
  91.      */
  92.     function destroy({
  93.         parent::destroy();
  94.     }
  95.  
  96.     /**
  97.      * アンインストール
  98.      *
  99.      * @return void 
  100.      */
  101.     function lfUninstall($path{
  102.         $objQuery new SC_Query_Ex();
  103.  
  104.         // アンインストール SQL を実行
  105.         SC_Helper_DB_Ex::sfExecSqlByFile(PLUGIN_REALDIR "$path/sql/uninstall.sql");
  106.  
  107.         // プラグイン XML から削除
  108.         $this->lfRemoveFromPluginsXml($path);
  109.     }
  110.  
  111.     /**
  112.      * プラグイン XML から削除
  113.      *
  114.      * @return void 
  115.      */
  116.     function lfRemoveFromPluginsXml($path{
  117.         $pluginsXml SC_Utils_Ex::sfGetPluginsXml();
  118.         for ($i 0$i <= count($pluginsXml->plugin1$i++{
  119.             if ((string)$pluginsXml->plugin[$i]->path == $path{
  120.                 unset($pluginsXml->plugin[$i]);
  121.             }
  122.         }
  123.         SC_Utils_Ex::sfPutPluginsXml($pluginsXml);
  124.     }
  125.  
  126.     /**
  127.      * パラメーター情報の初期化
  128.      *
  129.      * @return void 
  130.      */
  131.     function lfInitParam({
  132.         $this->objFormParam->addParam('プラグインのパス''path'STEXT_LEN''array('EXIST_CHECK''SPTAB_CHECK''MAX_LENGTH_CHECK'));
  133.     }
  134. }
  135. ?>

Documentation generated on Fri, 24 Feb 2012 14:01:32 +0900 by Seasoft