OSDN Git Service

FIX: 管理画面にエラーメッセージが出力されないバグ、スキンのクローンに関するバグの修正。
authorsakamocchi <o-takashi@sakamocchi.jp>
Fri, 4 May 2012 00:44:34 +0000 (09:44 +0900)
committersakamocchi <o-takashi@sakamocchi.jp>
Fri, 4 May 2012 00:44:34 +0000 (09:44 +0900)
Admin::$errMesgがプライベートメンバーだったため、AdminActionsクラスから参照出来なかった。
スキンのクローンを行うメソッド内のクエリが不正だったのを修正

nucleus/libs/ADMIN.php

index 87e60a4..c31e289 100644 (file)
@@ -27,11 +27,12 @@ class Admin
        static private $system_identifier                       = 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd';\r
        static private $xhtml_namespace                 = 'http://www.w3.org/1999/xhtml';\r
        \r
+       static public $headMess;\r
+       \r
        static private $action;\r
        static private $skin;\r
        static private $extrahead;\r
        static private $passvar;\r
-       static private $headMess;\r
        static private $aOptions;\r
        \r
        /**\r
@@ -2824,7 +2825,7 @@ class Admin
                $importer = new SkinImport();\r
                \r
                // get full filename\r
-               if ($mode == 'file')\r
+               if ( $mode == 'file' )\r
                {\r
                        $skinFile = $DIR_SKINS . $skinFileRaw . '/skinbackup.xml';\r
                        \r
@@ -2850,7 +2851,7 @@ class Admin
                $_REQUEST['tpltnames']  = $importer->getTemplateNames();\r
                \r
                // clashes\r
-               $skinNameClashe                 = $importer->checkSkinNameClashes();\r
+               $skinNameClashes                = $importer->checkSkinNameClashes();\r
                $templateNameClashes    = $importer->checkTemplateNameClashes();\r
                $hasNameClashes                 = (count($skinNameClashes) > 0) || (count($templateNameClashes) > 0);\r
                \r
@@ -4226,15 +4227,19 @@ class Admin
        static private function action_adminskindeleteconfirm()\r
        {\r
                global $member, $CONF, $manager;\r
+               \r
                $member->isAdmin() or self::disallow();\r
                $skinid = intRequestVar('skinid');\r
+               \r
                // don't allow default skin to be deleted\r
                if ( $skinid == $CONF['DefaultAdminSkin'] )\r
                {\r
                        self::error(_ERROR_DEFAULTSKIN);\r
                }\r
                \r
-               // don't allow deletion of default skins for members\r
+               /*\r
+                * TODO: NOT Implemented\r
+                *  don't allow deletion of default skins for members\r
                $memberDefaults =  $member->getAdminSkin();\r
                foreach ( $memberDefaults as $memID => $adminskin )\r
                {\r
@@ -4244,23 +4249,22 @@ class Admin
                                self::error(_ERROR_SKINDEFDELETE . $mem->displayname);\r
                        }\r
                }\r
+               */\r
                \r
-               $data = array('skinid' => (integer) $skinid);\r
-               $manager->notify('PreDeleteAdminSkin', $data);\r
+               $manager->notify('PreDeleteAdminSkin', array('skinid' => (integer) $skinid));\r
                \r
                // 1. delete description\r
-               $query = "DELETE FROM %s WHERE tdnumber=%s;";\r
-               $query = sprintf($query, sql_table('template_desc'), (integer) $templateid);\r
+               $query = "DELETE FROM %s WHERE sdnumber=%d;";\r
+               $query = sprintf($query, sql_table('skin_desc'), (integer) $skinid);\r
                sql_query($query);\r
                \r
                // 2. delete parts\r
-               $query = "DELETE FROM %s WHERE tdesc=%d;";\r
-               $query = sprintf($query, sql_table('template'), (integer) $templateid);\r
+               $query = "DELETE FROM %s WHERE sdesc=%d;";\r
+               $query = sprintf($query, sql_table('skin'), (integer) $skinid);\r
                \r
                sql_query($query);\r
                \r
-               $data = array('skinid' => intval($skinid));\r
-               $manager->notify('PostDeleteAdminSkin', $data);\r
+               $manager->notify('PostDeleteAdminSkin', array('skinid' => (integer) $skinid));\r
                self::action_adminskinoverview();\r
                return;\r
        }\r
@@ -4370,7 +4374,7 @@ class Admin
                        $skin->getIncludePrefix()\r
                );\r
                \r
-               $query = "SELECT stype %s FROM WHERE sdesc=%d;";\r
+               $query = "SELECT stype FROM %s WHERE sdesc=%d;";\r
                $query = sprintf($query, sql_table('skin'), (integer) $skinid);\r
                \r
                $res = sql_query($query);\r
@@ -4435,7 +4439,7 @@ class Admin
         */\r
        static private function action_adminskinieimport()\r
        {\r
-               global $DIR_LIBS, $DIR_ADMINSKINS, $manager, $member;\r
+               global $DIR_LIBS, $DIR_SKINS, $manager, $member;\r
                \r
                $member->isAdmin() or self::disallow();\r
                \r
@@ -4450,12 +4454,12 @@ class Admin
                // get full filename\r
                if ( $mode == 'file' )\r
                {\r
-                       $skinFile = $DIR_ADMINSKINS . $skinFileRaw . '/skinbackup.xml';\r
+                       $skinFile = "{$DIR_SKINS}admin/{$skinFileRaw}/skinbackup.xml";\r
                        \r
                        // backwards compatibilty (in v2.0, exports were saved as skindata.xml)\r
                        if ( !file_exists($skinFile) )\r
                        {\r
-                               $skinFile = $DIR_ADMINSKINS . $skinFileRaw . '/skindata.xml';\r
+                               $skinFile = "{$DIR_SKINS}admin/{$skinFileRaw}/skindata.xml";\r
                        }\r
                }\r
                else\r
@@ -4498,7 +4502,7 @@ class Admin
         */\r
        static private function action_adminskiniedoimport()\r
        {\r
-               global $DIR_LIBS, $DIR_ADMINSKINS, $member;\r
+               global $DIR_LIBS, $DIR_SKINS, $member;\r
                \r
                $member->isAdmin() or self::disallow();\r
                \r
@@ -4512,11 +4516,11 @@ class Admin
                // get full filename\r
                if ( $mode == 'file' )\r
                {\r
-                       $skinFile = $DIR_ADMINSKINS . $skinFileRaw . '/skinbackup.xml';\r
+                       $skinFile = "{$DIR_SKINS}admin/{$skinFileRaw}/skinbackup.xml";\r
                        // backwards compatibilty (in v2.0, exports were saved as skindata.xml)\r
                        if ( !file_exists($skinFile) )\r
                        {\r
-                               $skinFile = $DIR_ADMINSKINS . $skinFileRaw . '/skindata.xml';\r
+                               $skinFile = "{$DIR_SKINS}admin/{$skinFileRaw}/skindata.xml";\r
                        }\r
                }\r
                else\r
@@ -4715,6 +4719,7 @@ class Admin
         */\r
        static private function error($msg)\r
        {\r
+               self::$headMess = $msg;\r
                self::pagehead();\r
                self::$skin->parse('adminerrorpage');\r
                self::pagefoot();\r