Index: /branches/version-2_12-dev/html/install/sql/create_table_mysql.sql
===================================================================
--- /branches/version-2_12-dev/html/install/sql/create_table_mysql.sql	(revision 21502)
+++ /branches/version-2_12-dev/html/install/sql/create_table_mysql.sql	(revision 21512)
@@ -1126,5 +1126,5 @@
     compliant_version varchar(255),
     plugin_description varchar(255),
-    rank int NOT NULL DEFAULT 0,
+    priority int NOT NULL DEFAULT 0,
     enable smallint NOT NULL DEFAULT 0,
     create_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
Index: /branches/version-2_12-dev/html/install/sql/create_table_pgsql.sql
===================================================================
--- /branches/version-2_12-dev/html/install/sql/create_table_pgsql.sql	(revision 21502)
+++ /branches/version-2_12-dev/html/install/sql/create_table_pgsql.sql	(revision 21512)
@@ -1126,5 +1126,5 @@
     compliant_version text,    
     plugin_description text,
-    rank int NOT NULL DEFAULT 0,
+    priority int NOT NULL DEFAULT 0,
     enable smallint NOT NULL DEFAULT 0,
     create_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
Index: /branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateTransformer.php
===================================================================
--- /branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateTransformer.php	(revision 21509)
+++ /branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateTransformer.php	(revision 21512)
@@ -30,5 +30,5 @@
  * @version $Id: $
  */
-class SC_Plugin_TemplateTransformList {
+class SC_Plugin_TemplateTransformer {
 
     var $objDOM;
@@ -50,5 +50,5 @@
      * @return void
      */
-    function SC_Plugin_TemplateTransformList($tmpl) {
+    function SC_Plugin_TemplateTransformer($tmpl) {
         $this->objDOM = new DOMDocument();
         $this->objDOM->strictErrorChecking = false;
@@ -424,4 +424,5 @@
      * 変形済みファイルを書き出す
      *
+     * @param string $filename ファイル名.
      * @param boolean $test_mode 
      * @return mixed  書き出しに成功した場合は,書き出したファイルのパス. 失敗した場合は false.
Index: /branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateTransformList.php
===================================================================
--- /branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateTransformList.php	(revision 21509)
+++ /branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateTransformList.php	(revision 21512)
@@ -32,7 +32,9 @@
 class SC_Plugin_TemplateTransformList {
 
-    // トランスフォームするテンプレートの配列
+    // テンプレート毎のSC_Plugin_TemplateTransformerのインスタンス.
     var $arrConfsByTemplates;
+    // プラグインが介入するテンプレートの配列
     var $arrTemplatesByPlugin;
+    // HeadNaviに追加するブロックの配列
     var $arrBlocsByPlugin;
 
@@ -56,7 +58,5 @@
     function init() {
         $this->arrConfsByTemplates = array();
-        // プラグインが介入するテンプレートの配列
         $this->arrTemplatesByPlugin = array();
-        // HeadNaviに追加するブロックの配列
         $this->arrHeadNaviBlocsByPlugin = array();
     }
@@ -66,14 +66,14 @@
      *
      * @param streing $tmpl 設定対象のテンプレートパス
-     * @param SC_Plugin_Base $objPlugin プラグインオブジェクト
-     * @return SC_Plugin_TemplateTransformList 指定したテンプレートを transform するための SC_Plugin_TemplateTransformList オブジェクト
+     * @param SC_Plugin_Base $objPlugin プラグインインスタンス
+     * @return SC_Plugin_TemplateTransformer 指定したテンプレートを transform するための SC_Plugin_TemplateTransformer オブジェクト
      */
     function setTemplate($tmpl, SC_Plugin_Base $objPlugin) {
         $this->arrTemplatesByPlugin[$objPlugin->arrSelfInfo['class_name']][$tmpl] = 1;
 
-        if (!is_array($this->arrConfsByTemplates)) $this->arrConfsByTemplates = array();
+        if (!is_array($this->arrConfsByTemplates)) $this->arrConfsByTemplates = array(); // 初期化
         if (!array_key_exists($tmpl, $this->arrConfsByTemplates)) {
             // テンプレートパスをキーにトランスフォーマのインスタンスをセット.
-            $this->arrConfsByTemplates[$tmpl] = new SC_Plugin_TemplateTransformList($tmpl);
+            $this->arrConfsByTemplates[$tmpl] = new SC_Plugin_TemplateTransformer($tmpl);
         }
         // 処理を行うプラグイン名をセットする.
@@ -87,5 +87,5 @@
      * @param streing $tmpl 設定対象のテンプレートのパス（adminディレクトリからの相対パス）
      * @param SC_Plugin_Base $objPlugin プラグインオブジェクト
-     * @return SC_Plugin_TemplateTransformList SC_Plugin_TemplateTransformList オブジェクト
+     * @return SC_Plugin_TemplateTransformer SC_Plugin_TemplateTransformer オブジェクト
      */
     function setTemplateAdmin($tmpl, SC_Plugin_Base $objPlugin) {
@@ -98,5 +98,5 @@
      * @param streing $tmpl 設定対象のテンプレートのパス（PCディレクトリからの相対パス）
      * @param SC_Plugin_Base $objPlugin プラグインオブジェクト
-     * @return SC_Plugin_TemplateTransformList SC_Plugin_TemplateTransformList オブジェクト
+     * @return SC_Plugin_TemplateTransformer SC_Plugin_TemplateTransformer オブジェクト
      */
     function setTemplatePC($tmpl, SC_Plugin_Base $objPlugin) {
@@ -109,5 +109,5 @@
      * @param streing $tmpl 設定対象のテンプレートのパス（携帯ディレクトリからの相対パス）
      * @param SC_Plugin_Base $objPlugin プラグインオブジェクト
-     * @return SC_Plugin_TemplateTransformList SC_Plugin_TemplateTransformList オブジェクト
+     * @return SC_Plugin_TemplateTransformer SC_Plugin_TemplateTransformer オブジェクト
      */
     function setTemplateMobile($tmpl, SC_Plugin_Base $objPlugin) {
@@ -120,5 +120,5 @@
      * @param streing         $tmpl      設定対象のテンプレートのパス（スマホディレクトリからの相対パス）
      * @param SC_Plugin_Base $objPlugin プラグインオブジェクト
-     * @return SC_Plugin_TemplateTransformList SC_Plugin_TemplateTransformList オブジェクト
+     * @return SC_Plugin_TemplateTransformer SC_Plugin_TemplateTransformer オブジェクト
      */
     function setTemplateSphone($tmpl, SC_Plugin_Base $objPlugin) {
@@ -143,4 +143,5 @@
      */
     function transformAll($test_mode = false) {
+        // SC_Plugin_TemplateTransformerの配列.
         foreach ($this->arrConfsByTemplates as $tmpl => $objTransformaer) {
             $objTransformaer->saveHTMLFile($tmpl, $test_mode);
Index: /branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateSelector.php
===================================================================
--- /branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateSelector.php	(revision 21509)
+++ /branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateSelector.php	(revision 21512)
@@ -39,9 +39,9 @@
      * コンストラクタ
      *
-     * @param SC_Plugin_TemplateTransformList $objTransformer SC_Plugin_TemplateTransformListオブジェクト
+     * @param SC_Plugin_TemplateTransformer $objTransformer SC_Plugin_TemplateTransformerオブジェクト
      * @param string $current_plugin プラグイン名
      * @return void
      */
-    function __construct(SC_Plugin_TemplateTransformList $objTransformer, $current_plugin) {
+    function __construct(SC_Plugin_TemplateTransformer $objTransformer, $current_plugin) {
         $this->objTransformer = $objTransformer;
         $this->current_plugin = $current_plugin;
@@ -74,7 +74,7 @@
      * @return SC_Plugin_TemplateSelector SC_Plugin_TemplateSelectorオブジェクト
      */
-    function find($selector, $index = NULL, $require = true, $err_msg = NULL, SC_Plugin_TemplateSelector $objSelector = NULL, $parent_index = NULL) {
+    function find($selector, $index = NULL, $require = true, $err_msg = NULL) {
         $objSelectorChild = new SC_Plugin_TemplateSelector($this->objTransformer, $this->current_plugin);
-        foreach ($this->arrElements as $key => &$objElement) {
+        foreach ($this->arrElements as &$objElement) {
             $this->objTransformer->find($selector, $index, false, NULL, $objSelectorChild, $objElement[0]);
         }
@@ -97,5 +97,5 @@
      */
     function insertBefore($html_snip) {
-        foreach ($this->arrElements as $key => $objElement) {
+        foreach ($this->arrElements as $objElement) {
             $this->objTransformer->setTransform('insertBefore', $objElement[0], $html_snip);
         }
@@ -110,5 +110,5 @@
      */
     function insertAfter($html_snip) {
-        foreach ($this->arrElements as $key => $objElement) {
+        foreach ($this->arrElements as $objElement) {
             $this->objTransformer->setTransform('insertAfter', $objElement[0], $html_snip);
         }
@@ -123,5 +123,5 @@
      */
     function appendChild($html_snip) {
-        foreach ($this->arrElements as $key => $objElement) {
+        foreach ($this->arrElements as $objElement) {
             $this->objTransformer->setTransform('appendChild', $objElement[0], $html_snip);
         }
@@ -136,5 +136,5 @@
      */
     function replaceChild($html_snip) {
-        foreach ($this->arrElements as $key => &$objElement) {
+        foreach ($this->arrElements as &$objElement) {
             $this->objTransformer->setTransform('replaceChild', $objElement[0], $html_snip);
         }
Index: /branches/version-2_12-dev/data/class/helper/SC_Helper_Plugin.php
===================================================================
--- /branches/version-2_12-dev/data/class/helper/SC_Helper_Plugin.php	(revision 21486)
+++ /branches/version-2_12-dev/data/class/helper/SC_Helper_Plugin.php	(revision 21512)
@@ -64,8 +64,8 @@
                 $this->arrPluginIds[] = $arrPluginData['plugin_id'];
                 // ローカルフックポイントの登録.
-                $this->registLocalHookPoint($objPlugin, $arrPluginData['rank']);
+                $this->registLocalHookPoint($objPlugin, $arrPluginData['priority']);
                 // スーパーフックポイントの登録.
-                $this->registSuperHookPoint($objPlugin, HOOK_POINT_PREPROCESS, 'preProcess', $arrPluginData['rank']);
-                $this->registSuperHookPoint($objPlugin, HOOK_POINT_PROCESS, 'process', $arrPluginData['rank']);
+                $this->registSuperHookPoint($objPlugin, HOOK_POINT_PREPROCESS, 'preProcess', $arrPluginData['priority']);
+                $this->registSuperHookPoint($objPlugin, HOOK_POINT_PROCESS, 'process', $arrPluginData['priority']);
             }
         }
@@ -100,7 +100,7 @@
             && is_array($this->arrRegistedPluginActions[$hook_point])) {
 
-            ksort($this->arrRegistedPluginActions[$hook_point]);
+            krsort($this->arrRegistedPluginActions[$hook_point]);
             foreach ($this->arrRegistedPluginActions[$hook_point] as $priority => $arrFuncs) {
-
+                
                 foreach ($arrFuncs as $func) {
                     if (!is_null($func['function'])) {
@@ -122,6 +122,6 @@
         // XXX 2.11.0 互換のため
         $arrCols = $objQuery->listTableFields($table);
-        if (in_array('rank', $arrCols)) {
-            $objQuery->setOrder('rank DESC');
+        if (in_array('priority', $arrCols)) {
+            $objQuery->setOrder('priority DESC, plugin_id ASC');
         }
         $arrRet = $objQuery->select($col,$table,$where);
@@ -140,5 +140,5 @@
         // XXX 2.11.0 互換のため
         $arrCols = $objQuery->listTableFields($table);
-        if (in_array('rank', $arrCols)) {
+        if (in_array('priority', $arrCols)) {
             $objQuery->setOrder('plugin_id ASC');
         }
@@ -158,9 +158,4 @@
         $table = 'dtb_plugin';
         $where = 'plugin_id = ?';
-        // XXX 2.11.0 互換のため
-        $arrCols = $objQuery->listTableFields($table);
-        if (in_array('rank', $arrCols)) {
-            $objQuery->setOrder('rank ASC');
-        }
         $plugin = $objQuery->getRow($col, $table, $where, array($plugin_id));
         return $plugin;
@@ -178,9 +173,4 @@
         $table = 'dtb_plugin';
         $where = 'plugin_code = ?';
-        // XXX 2.11.0 互換のため
-        $arrCols = $objQuery->listTableFields($table);
-        if (in_array('rank', $arrCols)) {
-            $objQuery->setOrder('rank ASC');
-        }
         $plugin = $objQuery->getRow($col, $table, $where, array($plugin_code));
         return $plugin;
@@ -310,11 +300,14 @@
             SC_Utils_Ex::deleteFile(PLUGIN_TMPL_CACHE_REALDIR, false);
         }
-        $objTemplateTransformList = SC_Plugin_Template_Transform_List::getSingletonInstance();
+        $objTemplateTransformList = SC_Plugin_TemplateTransformList::getSingletonInstance();
         $objTemplateTransformList->init();
+        // プラグインのsetTemplateTransformerを実行します.
         foreach ($this->arrPluginInstances as $objPlugin) {
-            // TODO 関数チェック;
-            $objPlugin->setTemplateTransformer();
-        }
-        // トランスフォーム実行
+            if(method_exists($objPlugin, 'setTemplateTransformer') === true) {
+                // SC_Plugin_TemplateTransformList::arrConfsByTemplatesにトランスフォーム情報をセットします
+                $objPlugin->setTemplateTransformer();
+            }
+        }
+        // SC_Plugin_TemplateTransformList::arrConfsByTemplatesにセットされた情報を元にトランスフォームの実行
         $objTemplateTransformList->transformAll($test_mode);
     }
Index: /branches/version-2_12-dev/data/class/pages/admin/system/LC_Page_Admin_System_Plugin.php
===================================================================
--- /branches/version-2_12-dev/data/class/pages/admin/system/LC_Page_Admin_System_Plugin.php	(revision 21509)
+++ /branches/version-2_12-dev/data/class/pages/admin/system/LC_Page_Admin_System_Plugin.php	(revision 21512)
@@ -637,5 +637,5 @@
         $objQuery =& SC_Query_Ex::getSingletonInstance();
         // UPDATEする値を作成する。
-        $sqlval['rank'] = $priority;
+        $sqlval['priority'] = $priority;
         $sqlval['update_date'] = 'CURRENT_TIMESTAMP';
         $where = "plugin_id = ?";
@@ -671,5 +671,5 @@
         $arr_sqlval_plugin['compliant_version'] = $objReflection->getConstant('COMPLIANT_VERSION');
         $arr_sqlval_plugin['plugin_description'] = $objReflection->getConstant('DESCRIPTION');
-        $arr_sqlval_plugin['rank'] = 1 + $objQuery->max('rank', 'dtb_plugin');
+        $arr_sqlval_plugin['priority'] = 0;
         $arr_sqlval_plugin['enable'] = PLUGIN_ENABLE_FALSE;
         $arr_sqlval_plugin['update_date'] = 'CURRENT_TIMESTAMP';
Index: /branches/version-2_12-dev/data/Smarty/templates/admin/system/plugin.tpl
===================================================================
--- /branches/version-2_12-dev/data/Smarty/templates/admin/system/plugin.tpl	(revision 21501)
+++ /branches/version-2_12-dev/data/Smarty/templates/admin/system/plugin.tpl	(revision 21512)
@@ -25,4 +25,8 @@
     $(function() {
 
+       /**
+        * 「有効/有効にする」チェックボタン押下時
+        * ajaxでPOSTする.
+        */
         $('input[id^=plugin_enable]').change(function(event) {
             var data = {};
@@ -54,11 +58,14 @@
         });
 
-        /**
-         * 通信エラー表示.
-         */
-        function remoteException(XMLHttpRequest, textStatus, errorThrown) {
-            alert('通信中にエラーが発生しました。');
-        }
-
+   /**
+    * 通信エラー表示.
+    */
+    function remoteException(XMLHttpRequest, textStatus, errorThrown) {
+        alert('通信中にエラーが発生しました。');
+    }
+
+   /**
+    * アップデートリンク押下時の処理.
+    */
     $('.update_link').click(function(event) {
         var plugin_id = event.target.name;
@@ -67,16 +74,25 @@
     });
 
-
+   /**
+    * アプデートボタン押下時の処理.
+    * アップデート対象ファイル以外はPOSTされない様にdisabled属性を付与
+    */
     function removeUpdateFile(select_id) {
         $('input[name="update_plugin_file"]').attr("disabled", "disabled");
         $('input[id="' + select_id + '"]').removeAttr("disabled");
     }
-    
+
+   /**
+    * インストール
+    */
     function install() {
         if (window.confirm('プラグインをインストールしても宜しいでしょうか？')){
-            fnModeSubmit('install', '', '');
+            fnModeSubmit('install');
         }
     }
-    
+
+   /**
+    * アンインストール(削除)
+    */
     function uninstall(plugin_id, plugin_code) {
         if (window.confirm('一度削除したデータは元に戻せません。\nプラグインを削除しても宜しいですか？')){
@@ -86,4 +102,7 @@
     }
     
+   /**
+    * アップデート
+    */
     function update(plugin_id, plugin_code) {
         if (window.confirm('プラグインをアップデートしても宜しいですか？')){
@@ -94,10 +113,13 @@
     }
     
-    function priority(plugin_id) {
-        if (window.confirm('プラグインをアップデートしても宜しいですか？')){
-           fnModeSubmit('priority','plugin_id',plugin_id);
-        }
-    }
-    
+
+   /**
+    * 優先度変更.
+    */
+    function priority(plugin_id, plugin_code) {
+        var priority = $("*[name=priority_" + plugin_code +"]").val();
+        fnSetFormValue('priority', priority);
+        fnModeSubmit('priority','plugin_id',plugin_id);
+    }
     
 //]]>
@@ -202,9 +224,8 @@
                 </td>
                 <!--優先順位-->
-                <!--{assign var=key value="rank"}-->
                 <td class="center">
                     <span class="attention"><!--{$arrErr.priority[$plugin.plugin_id]}--></span>
-                    <input type="text" class="center" name="priority" value="<!--{$plugin.rank|h}-->" size="1" class="rank" />
-                    <a class="btn-action" href="javascript:;" onclick="priority(<!--{$plugin.plugin_id}-->);return false;"><span class="btn-next">変更</span></a><br/>
+                    <input type="text" class="center" name="priority_<!--{$plugin.plugin_code}-->" value="<!--{$plugin.priority|h}-->" size="1" class="priority" />
+                    <a class="btn-action" href="javascript:;" onclick="priority(<!--{$plugin.plugin_id}-->, '<!--{$plugin.plugin_code}-->');return false;"><span class="btn-next">変更</span></a><br/>
                 </td>
             </tr>
