OSDN Git Service

FIX:緊急時スキンインポート専用画面の修正
authorshizuki <shizuki@kinezumi.net>
Sun, 20 May 2012 07:33:40 +0000 (16:33 +0900)
committershizuki <shizuki@kinezumi.net>
Sun, 20 May 2012 07:33:40 +0000 (16:33 +0900)
管理画面スキンが見つからなかった場合のスキンインポートへのフォールバック

nucleus/index.php
nucleus/libs/ADMIN.php
nucleus/libs/AdminActions.php
nucleus/libs/SKIN.php
skins/admin/defaultimporter.skn
skins/admin/showlogin.skn

index 15f9a44..6bc8c7e 100644 (file)
@@ -84,6 +84,19 @@ sendContentType('text/html', 'admin-' . $action);
 
 if ( !Admin::initialize() )
 {
+       $skin = new Skin(0, 'AdminActions', 'AdminSkin');
+       if ( $bNeedsLogin )
+       {
+               $skin->parse('fileparse', $DIR_SKINS . 'admin/showlogin.skn');
+       }
+       else if ($action == 'adminskinieimport' )
+       {
+               Admin::action($action);
+       }
+       else
+       {
+               $skin->parse('importAdmin', $DIR_SKINS . 'admin/defaultimporter.skn');
+       }
        /* TODO: something to handling errors */
        exit;
 }
index ff66e92..011785b 100644 (file)
@@ -4504,8 +4504,15 @@ class Admin
                $_REQUEST['skinclashes']        = $skinNameClashes;\r
                $_REQUEST['tpltclashes']        = $templateNameClashes;\r
                $_REQUEST['nameclashes']        = $hasNameClashes ? 1 : 0;\r
-               \r
-               self::$skin->parse('adminskinieimport');\r
+\r
+               if ( !is_object(self::$skin) )\r
+               {\r
+                       self::action_adminskiniedoimport();\r
+               }\r
+               else\r
+               {\r
+                       self::$skin->parse('adminskinieimport');\r
+               }\r
                return;\r
        }\r
        \r
@@ -4562,7 +4569,22 @@ class Admin
                $_REQUEST['skinnames']  = $importer->getSkinNames();\r
                $_REQUEST['tpltnames']  = $importer->getTemplateNames();\r
                \r
-               self::$skin->parse('adminskiniedoimport');\r
+               if ( !is_object(self::$skin) )\r
+               {\r
+                       global $DIR_SKINS;\r
+                       $query  = "SELECT min(sdnumber) FROM %s WHERE sdname != 'bookmarklet' AND sdincmode = 'admin'";\r
+                       $query  = sprintf($query, sql_table('skin_desc'));\r
+                       $res    = intval(DB::getValue($query));\r
+                       $query  = "UPDATE %s SET value = %d WHERE name = 'AdminSkin'";\r
+                       $query  = sprintf($query, sql_table('config'), $res);\r
+                       DB::execute($query);\r
+                       $skin   = new Skin(0, 'AdminActions', 'AdminSkin');\r
+                       $skin->parse('importAdmin', $DIR_SKINS . 'admin/defaultimporter.skn');\r
+               }\r
+               else\r
+               {\r
+                       self::$skin->parse('adminskiniedoimport');\r
+               }\r
                return;\r
        }\r
 \r
index 8848606..6ca087f 100644 (file)
@@ -4434,8 +4434,12 @@ class AdminActions extends BaseActions
         */
        public function parse_selectlocaladminskinfiles()
        {
-               global $DIR_SKINS, $manager;
+               global $DIR_SKINS, $manager, $DIR_LIBS;
                
+               if ( !class_exists('SkinImport', FALSE) )
+               {
+                       include_once("{$DIR_LIBS}skinie.php");
+               }
                $adminskindir = $DIR_SKINS . 'admin/';
                $candidates = SkinImport::searchForCandidates($adminskindir);
                
index 63124c9..b4abe0c 100644 (file)
@@ -344,7 +344,7 @@ class Skin
                }\r
                else\r
                {\r
-                       if ( $type != 'fileparse' )\r
+                       if ( $type != 'fileparse' && $type != 'importAdmin')\r
                        {\r
                                $contents = $this->getContentFromDB($type);\r
                        }\r
index cfa6ce8..6fd9d00 100644 (file)
@@ -3,12 +3,12 @@
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=<%charset%>" />
         <title><%sitevar(name)%> - Admin</title>
-        <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%adminstyleseets%>" />
-        <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%adminurl%>styles/addedit.css" />
+        <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%skinfile(admin/default/styles/admin_contemporary.css)%>" />
+        <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%skinfile(admin/default/styles/addedit.css)%>" />
 
-        <script type="text/javascript" src="<%adminurl%>javascript/edit.js"></script>
-        <script type="text/javascript" src="<%adminurl%>javascript/admin.js"></script>
-        <script type="text/javascript" src="<%adminurl%>javascript/compatibility.js"></script>
+        <script type="text/javascript" src="<%skinfile(admin/default/javascript/edit.js)%>"></script>
+        <script type="text/javascript" src="<%skinfile(admin/default/javascript/admin.js)%>"></script>
+        <script type="text/javascript" src="<%skinfile(admin/default/javascript/compatibility.js)%>"></script>
 
         <meta http-equiv='Pragma' content='no-cache' />
         <meta http-equiv='Cache-Control' content='no-cache, must-revalidate' />
                         <%if(loggedin)%><%text(_LOGGEDINAS)%> <%member(yourrealname)%> - <a href="<%adminurl%>index.php?action=logout"><%text(_LOGOUT)%></a><br /><a href="<%adminurl%>index.php?action=overview"><%text(_ADMINHOME)%></a> - <%else%><a href="<%adminurl%>index.php?action=showlogin" title="Log in"><%text(_NOTLOGGEDIN)%></a><br /><%endif%>
                         <a href="<%sitevar(url)%>"><%text(_YOURSITE)%></a><br />
                         (<%if(superadmin)%><a href="<%versioncheckurl%>" title="<%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TITLE)%>"><%version%><%codename%></a><%newestcompare%><%else%><%version%><%codename%><%endif%>)
-                    </div><p><a href="index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+                    </div><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_SKINIE_TITLE_IMPORT)%></h2>
         <p>
             <label for="skinie_import_local"><%text(_SKINIE_LOCAL)%></label>
-            <%if(superadmin)%><form method="post" action="index.php">
+            <%if(superadmin)%><form method="post" action="<%adminurl%>index.php">
                 <div>
                     <input type="hidden" name="action" value="adminskinieimport" />
                     <input type="hidden" name="overwrite" value="1" />
@@ -44,7 +44,7 @@
             </form><%else%><%text(_SKINIE_NOCANDIDATES)%><%endif%>
         </p>
         <p><em><%text(_OR)%></em></p>
-        <form method="post" action="index.php">
+        <form method="post" action="<%adminurl%>index.php">
             <p>
                 <%ticket%>
                 <input type="hidden" name="action" value="adminskinieimport" />
@@ -56,8 +56,8 @@
         </form>
 <%if(loggedin)%><%ifnot(adminaction,showlogin)%><h2><%text(_LOGOUT)%></h2>
                     <ul>
-                        <li><a href="index.php?action=overview"><%text(_BACKHOME)%></a></li>
-                        <li><a href="index.php?action=logout"><%text(_LOGOUT)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=logout"><%text(_LOGOUT)%></a></li>
                     </ul><%endif%><%endif%>
                     <div class="foot">
                         <a href="<%text(_ADMINPAGEFOOT_OFFICIALURL)%>">Nucleus CMS</a> &copy; 2002- <%date(%Y)%> <%text(_ADMINPAGEFOOT_COPYRIGHT)%> - <a href="<%text(_ADMINPAGEFOOT_DONATEURL)%>"><%text(_ADMINPAGEFOOT_DONATE)%></a>
                 </div><!-- content -->
                 <div id="quickmenu">
                     <%if(loggedin)%><%ifnot(adminaction,showlogin)%><ul>
-                        <li><a href="index.php?action=overview"><%text(_QMENU_HOME)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=overview"><%text(_QMENU_HOME)%></a></li>
                     </ul>
 
                     <h2><%text(_QMENU_ADD)%></h2>
-                    <form method="get" action="index.php">
+                    <form method="get" action="<%adminurl%>index.php">
                         <div>
                             <input type="hidden" name="action" value="createitem" />
                             <%qmenuaddselect%>
             
                     <h2><%member(yourrealname)%></h2>
                     <ul>
-                        <li><a href="index.php?action=editmembersettings"><%text(_QMENU_USER_SETTINGS)%></a></li>
-                        <li><a href="index.php?action=browseownitems"><%text(_QMENU_USER_ITEMS)%></a></li>
-                        <li><a href="index.php?action=browseowncomments"><%text(_QMENU_USER_COMMENTS)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=editmembersettings"><%text(_QMENU_USER_SETTINGS)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=browseownitems"><%text(_QMENU_USER_ITEMS)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=browseowncomments"><%text(_QMENU_USER_COMMENTS)%></a></li>
                     </ul>
                     <%if(superadmin)%><h2><%text(_QMENU_MANAGE)%></h2>
                     <ul>
-                        <li><a href="index.php?action=actionlog"><%text(_QMENU_MANAGE_LOG)%></a></li>
-                        <li><a href="index.php?action=settingsedit"><%text(_QMENU_MANAGE_SETTINGS)%></a></li>
-                        <li><a href="index.php?action=systemoverview"><%text(_QMENU_MANAGE_SYSTEM)%></a></li>
-                        <li><a href="index.php?action=usermanagement"><%text(_QMENU_MANAGE_MEMBERS)%></a></li>
-                        <li><a href="index.php?action=createnewlog"><%text(_QMENU_MANAGE_NEWBLOG)%></a></li>
-                        <li><a href="index.php?action=backupoverview"><%text(_QMENU_MANAGE_BACKUPS)%></a></li>
-                        <li><a href="index.php?action=pluginlist"><%text(_QMENU_MANAGE_PLUGINS)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=actionlog"><%text(_QMENU_MANAGE_LOG)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=settingsedit"><%text(_QMENU_MANAGE_SETTINGS)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=systemoverview"><%text(_QMENU_MANAGE_SYSTEM)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=usermanagement"><%text(_QMENU_MANAGE_MEMBERS)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=createnewlog"><%text(_QMENU_MANAGE_NEWBLOG)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=backupoverview"><%text(_QMENU_MANAGE_BACKUPS)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=pluginlist"><%text(_QMENU_MANAGE_PLUGINS)%></a></li>
                     </ul>
                     <h2><%text(_QMENU_LAYOUT)%></h2>
                     <ul>
-                        <li><a href="index.php?action=skinoverview"><%text(_QMENU_LAYOUT_SKINS)%></a></li>
-                        <li><a href="index.php?action=templateoverview"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>
-                        <li><a href="index.php?action=skinieoverview"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=skinoverview"><%text(_QMENU_LAYOUT_SKINS)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=templateoverview"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=skinieoverview"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>
                     </ul>
                     <h2><%text(_SKINABLEADMIN_QMENU_LAYOUT)%></h2>
                     <ul>
-                        <li><a href="index.php?action=adminskinoverview"><%text(_QMENU_LAYOUT_SKINS)%></a></li>
-                        <li><a href="index.php?action=admintemplateoverview"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>
-                        <li><a href="index.php?action=adminskinieoverview"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=adminskinoverview"><%text(_QMENU_LAYOUT_SKINS)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=admintemplateoverview"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>
+                        <li><a href="<%adminurl%>index.php?action=adminskinieoverview"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>
                     </ul><%endif%>
                     <%quickmenu(default/admin)%>
                     <%elseif(adminaction,activate)%><h2><%text(_QMENU_ACTIVATE)%></h2><%text(_QMENU_ACTIVATE_TEXT)%>
index 9d7a0f0..3226359 100644 (file)
@@ -3,13 +3,13 @@
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=<%charset%>" />
         <title><%sitevar(name)%> - Admin</title>
-        <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%adminstyleseets%>" />
-        <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%adminurl%>styles/addedit.css" />
+        <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%skinfile(admin/default/styles/admin_contemporary.css)%>" />
+        <link rel="stylesheet" title="Nucleus Admin Default" type="text/css" href="<%skinfile(admin/default/styles/addedit.css)%>" />
 
-        <script type="text/javascript" src="<%adminurl%>javascript/edit.js"></script>
+        <script type="text/javascript" src="<%skinfile(admin/default/javascript/edit.js)%>"></script>
 
-        <script type="text/javascript" src="<%adminurl%>javascript/admin.js"></script>
-        <script type="text/javascript" src="<%adminurl%>javascript/compatibility.js"></script>
+        <script type="text/javascript" src="<%skinfile(admin/default/javascript/admin.js)%>"></script>
+        <script type="text/javascript" src="<%skinfile(admin/default/javascript/compatibility.js)%>"></script>
 
         <meta http-equiv='Pragma' content='no-cache' />
         <meta http-equiv='Cache-Control' content='no-cache, must-revalidate' />