OSDN Git Service

CHANGE: 管理画面用スキンに<%pagehead%><%pagefoot%>を追加。
authorsakamocchi <o-takashi@sakamocchi.jp>
Mon, 7 May 2012 13:03:26 +0000 (22:03 +0900)
committersakamocchi <o-takashi@sakamocchi.jp>
Mon, 7 May 2012 13:03:26 +0000 (22:03 +0900)
AdminActions::parse_pagehead()とAdminActions::parse_pagefoot()も追加。

PluginAdmin::start()とPluginAdmin::end()で依然Skin::parse()するため、このページを表示するときだけはイベントが2度発生してしまう。今後の課題とする。

nucleus/libs/ADMIN.php
nucleus/libs/AdminActions.php
nucleus/libs/PLUGINADMIN.php
nucleus/libs/SKIN.php
skins/admin/default/skinbackup.xml

index 38a4339..24148f8 100644 (file)
@@ -26,15 +26,15 @@ class Admin
        static private $formal_public_identifier        = '-//W3C//DTD XHTML 1.0 Strict//EN';\r
        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
+\r
        static public $headMess;\r
-       \r
+\r
        static private $action;\r
        static private $skin;\r
        static private $extrahead;\r
        static private $passvar;\r
        static private $aOptions;\r
-       \r
+\r
        /**\r
         * Admin::$edit_actions\r
         */\r
@@ -50,12 +50,12 @@ class Admin
                'admintemplateedit',\r
                'admintemplateoverview',\r
                'admintemplatedelete'\r
-       );\r
-       \r
-       /**\r
-        * Admin::$skinless_actions\r
-        */\r
-       static private $skinless_actions = array(\r
+               );\r
+\r
+               /**\r
+                * Admin::$skinless_actions\r
+                */\r
+               static private $skinless_actions = array(\r
                'plugindeleteconfirm',\r
                'pluginoptionsupdate',\r
                'skinremovetypeconfirm',\r
@@ -89,9 +89,9 @@ class Admin
                'changemembersettings',\r
                'clearactionlog',\r
                'memberedit'\r
-       );\r
-       \r
-       static private $actions_needless_to_check = array(\r
+               );\r
+\r
+               static private $actions_needless_to_check = array(\r
                'showlogin',\r
                'login',\r
                'overview',\r
@@ -341,9 +341,7 @@ class Admin
                        self::$headMess = $msg;\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('showlogin');\r
-               self::pagefoot();\r
        }\r
        \r
        /**\r
@@ -360,9 +358,7 @@ class Admin
                        self::$headMess = $msg;\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('overview');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -382,9 +378,7 @@ class Admin
                }\r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('manage');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -405,9 +399,7 @@ class Admin
                \r
                $member->teamRights($blogid) or $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('itemlist');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -444,9 +436,7 @@ class Admin
                        self::batchAskDeleteConfirmation('item', $selected);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('batchitem');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -477,9 +467,7 @@ class Admin
                        self::batchAskDeleteConfirmation('comment', $selected);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('batchcomment');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -522,9 +510,7 @@ class Admin
                        self::batchAskDeleteConfirmation('member',$selected);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('batchmember');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -556,9 +542,7 @@ class Admin
                        self::batchAskDeleteConfirmation('team',$selected);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('batchteam');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -595,9 +579,7 @@ class Admin
                        self::batchAskDeleteConfirmation('category', $selected);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('batchcategory');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -613,9 +595,7 @@ class Admin
        static private function batchMoveSelectDestination($type, $ids)\r
        {\r
                $_POST['batchmove'] = $type;\r
-               self::pagehead();\r
                self::$skin->parse('batchmove');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -632,9 +612,7 @@ class Admin
        {\r
                $_POST['batchmove'] = $type;\r
                global $manager;\r
-               self::pagehead();\r
                self::$skin->parse('batchmovecat');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -649,9 +627,7 @@ class Admin
         */\r
        static private function batchAskDeleteConfirmation($type, $ids)\r
        {\r
-               self::pagehead();\r
                self::$skin->parse('batchdelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -752,9 +728,7 @@ class Admin
        {\r
                global $member, $manager, $CONF;\r
                \r
-               self::pagehead();\r
                self::$skin->parse('browseownitems');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -783,9 +757,7 @@ class Admin
                \r
                $blogid = getBlogIdFromItemId($itemid);\r
                \r
-               self::pagehead();\r
                self::$skin->parse('itemcommentlist');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -798,9 +770,7 @@ class Admin
         */\r
        static private function action_browseowncomments()\r
        {\r
-               self::pagehead();\r
                self::$skin->parse('browseowncomments');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -829,9 +799,7 @@ class Admin
                /* TODO: we consider to use the other way insterad of this */\r
                $_REQUEST['blogid'] = $blogid;\r
                \r
-               self::pagehead();\r
                self::$skin->parse('blogcommentlist');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -855,9 +823,7 @@ class Admin
                \r
                $blog =& $manager->getBlog($blogid);\r
                \r
-               self::pagehead();\r
                self::$skin->parse('createitem');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -886,9 +852,7 @@ class Admin
                                )\r
                );\r
                \r
-               self::pagehead();\r
                self::$skin->parse('itemedit');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1026,9 +990,7 @@ class Admin
                        self::error(_ERROR_NOSUCHITEM);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('itemdelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1129,9 +1091,7 @@ class Admin
                \r
                $member->canAlterItem($itemid) or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('itemmove');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1264,9 +1224,7 @@ class Admin
                \r
                $member->canAlterComment($commentid) or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('commentedit');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1349,9 +1307,7 @@ class Admin
                $commentid = intRequestVar('commentid');\r
                $member->canAlterComment($commentid) or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('commentdelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1441,9 +1397,7 @@ class Admin
                // check if allowed\r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('usermanagement');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1482,10 +1436,9 @@ class Admin
                // check if allowed\r
                ($member->getID() == $memberid) or $member->isAdmin() or self::disallow();\r
                \r
-               $extrahead = '<script type="text/javascript" src="javascript/numbercheck.js"></script>';\r
-               self::pagehead($extrahead);\r
+               Admin::$extrahead .= "<script type=\"text/javascript\" src=\"javascript/numbercheck.js\"></script>\n";\r
+               \r
                self::$skin->parse('editmembersettings');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1760,9 +1713,7 @@ class Admin
                $_POST['bNeedsPasswordChange']  = TRUE;\r
                \r
                self::$headMess = $message;\r
-               self::pagehead();\r
                self::$skin->parse('activate');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1846,9 +1797,7 @@ class Admin
                // do the activation\r
                Member::activate($key);\r
                \r
-               self::pagehead();\r
                self::$skin->parse('activatesetpwd');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1868,9 +1817,7 @@ class Admin
                // check if allowed\r
                $member->blogAdminRights($blogid) or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('manageteam');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -1921,9 +1868,7 @@ class Admin
                $teammem =  Member::createFromID($memberid);\r
                $blog =& $manager->getBlog($blogid);\r
                \r
-               self::pagehead();\r
                self::$skin->parse('teamdelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -2077,10 +2022,9 @@ class Admin
                \r
                $blog =& $manager->getBlog($blogid);\r
                \r
-               $extrahead = '<script type="text/javascript" src="javascript/numbercheck.js"></script>';\r
-               self::pagehead($extrahead);\r
+               Admin::$extrahead .= "<script type=\"text/javascript\" src=\"javascript/numbercheck.js\"></script>\n";\r
+               \r
                self::$skin->parse('blogsettings');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -2154,10 +2098,9 @@ class Admin
                $_REQUEST['desturl']    = $desturl;\r
                $member->blogAdminRights($blogid) or self::disallow();\r
                \r
-               $extrahead = '<script type="text/javascript" src="javascript/numbercheck.js"></script>';\r
-               self::pagehead($extrahead);\r
+               Admin::$extrahead .= "<script type=\"text/javascript\" src=\"javascript/numbercheck.js\"></script>\n";\r
+               \r
                self::$skin->parse('categoryedit');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -2255,9 +2198,7 @@ class Admin
                        self::error(_ERROR_DELETELASTCATEGORY);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('categorydelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -2558,9 +2499,7 @@ class Admin
                \r
                $blog =& $manager->getBlog($blogid);\r
                \r
-               self::pagehead();\r
                self::$skin->parse('deleteblog');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -2638,9 +2577,7 @@ class Admin
                \r
                $mem = Member::createFromID($memberid);\r
                \r
-               self::pagehead();\r
                self::$skin->parse('memberdelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -2737,9 +2674,7 @@ class Admin
                // Only Super-Admins can do this\r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('createnewlog');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -2842,9 +2777,7 @@ class Admin
                /* TODO: we should consider to use the other way insterad of this */\r
                $_REQUEST['blogid'] = $blogid;\r
                $_REQUEST['catid']  = $catid;\r
-               self::pagehead();\r
                self::$skin->parse('addnewlog');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -2885,9 +2818,7 @@ class Admin
                \r
                include_once($DIR_LIBS . 'skinie.php');\r
                \r
-               self::pagehead();\r
                self::$skin->parse('skinieoverview');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -2952,9 +2883,7 @@ class Admin
                        self::error($error);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('skinieimport');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3017,9 +2946,7 @@ class Admin
                $_REQUEST['skinnames'] = $importer->getSkinNames();\r
                $_REQUEST['tpltnames'] = $importer->getTemplateNames();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('skiniedoimport');\r
-               self::pagefoot();\r
                return;\r
        }\r
 \r
@@ -3082,9 +3009,7 @@ class Admin
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('templateoverview');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3106,12 +3031,10 @@ class Admin
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               $extrahead  = "<script type=\"text/javascript\" src=\"javascript/templateEdit.js\"></script>\n";\r
-               $extrahead .= '<script type=\"text/javascript">setTemplateEditText("' . Entity::hsc(_EDITTEMPLATE_EMPTY) . "\");</script>\n";\r
+               Admin::$extrahead .= "<script type=\"text/javascript\" src=\"javascript/templateEdit.js\"></script>\n";\r
+               Admin::$extrahead .= '<script type=\"text/javascript">setTemplateEditText("' . Entity::hsc(_EDITTEMPLATE_EMPTY) . "\");</script>\n";\r
                \r
-               self::pagehead($extrahead);\r
                self::$skin->parse('templateedit');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3259,9 +3182,7 @@ class Admin
                $templateid = intRequestVar('templateid');\r
                // TODO: check if template can be deleted\r
                \r
-               self::pagehead();\r
                self::$skin->parse('templatedelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3386,9 +3307,7 @@ class Admin
        {\r
                global $member, $manager;\r
                $member->isAdmin() or self::disallow();\r
-               self::pagehead();\r
                self::$skin->parse('admntemplateoverview');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3406,11 +3325,11 @@ class Admin
                        self::$headMess = $msg;\r
                }\r
                $member->isAdmin() or self::disallow();\r
-               $extrahead  = "<script type=\"text/javascript\" src=\"javascript/templateEdit.js\"></script>\n";\r
-               $extrahead .= '<script type="text/javascript">setTemplateEditText("' . Entity::hsc(_EDITTEMPLATE_EMPTY) . '");</script>' . "\n";\r
-               self::pagehead($extrahead);\r
+               \r
+               Admin::$extrahead .= "<script type=\"text/javascript\" src=\"javascript/templateEdit.js\"></script>\n";\r
+               Admin::$extrahead .= '<script type="text/javascript">setTemplateEditText("' . Entity::hsc(_EDITTEMPLATE_EMPTY) . '");</script>' . "\n";\r
+               \r
                self::$skin->parse('admintemplateedit');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3608,9 +3527,7 @@ class Admin
                $member->isAdmin() or self::disallow();\r
                \r
                // TODO: check if template can be deleted\r
-               self::pagehead();\r
                self::$skin->parse('admintemplatedelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3737,9 +3654,7 @@ class Admin
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('skinoverview');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3786,9 +3701,7 @@ class Admin
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('skinedit');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3862,9 +3775,7 @@ class Admin
                        self::error(_ERROR_SKIN_PARTS_SPECIAL_FORMAT);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('skinedittype');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -3921,9 +3832,7 @@ class Admin
                        self::error(_ERROR_SKINDEFDELETE . Entity::hsc($name));\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('skindelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4004,9 +3913,7 @@ class Admin
                        self::error(_ERROR_SKIN_PARTS_SPECIAL_DELETE);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('skinremovetype');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4145,9 +4052,7 @@ class Admin
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('adminskinoverview');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4193,9 +4098,7 @@ class Admin
                global $member, $manager;\r
                \r
                $member->isAdmin() or self::disallow();\r
-               self::pagehead();\r
                self::$skin->parse('adminskinedit');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4269,9 +4172,7 @@ class Admin
                        self::error(_ERROR_SKIN_PARTS_SPECIAL_FORMAT);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('adminskinedittype');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4309,9 +4210,7 @@ class Admin
                \r
                /* TODO: needless variable $skinid... */\r
                $skinid = intRequestVar('skinid');\r
-               self::pagehead();\r
                self::$skin->parse('adminskindelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
 \r
@@ -4386,9 +4285,7 @@ class Admin
                        self::error(_ERROR_SKIN_PARTS_SPECIAL_DELETE);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('adminskinremovetype');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4520,9 +4417,7 @@ class Admin
                // load skinie class\r
                include_once($DIR_LIBS . 'skinie.php');\r
                \r
-               self::pagehead();\r
                self::$skin->parse('adminskinieoverview');\r
-               self::pagefoot();\r
                return;\r
        }\r
 \r
@@ -4583,9 +4478,7 @@ class Admin
                $_REQUEST['tpltclashes']        = $templateNameClashes;\r
                $_REQUEST['nameclashes']        = $hasNameClashes ? 1 : 0;\r
                \r
-               self::pagehead();\r
                self::$skin->parse('adminskinieimport');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4642,9 +4535,7 @@ class Admin
                $_REQUEST['skinnames']  = $importer->getSkinNames();\r
                $_REQUEST['tpltnames']  = $importer->getTemplateNames();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('adminskiniedoimport');\r
-               self::pagefoot();\r
                return;\r
        }\r
 \r
@@ -4703,9 +4594,7 @@ class Admin
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('settingsedit');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4781,9 +4670,7 @@ class Admin
         */\r
        static private function action_systemoverview()\r
        {\r
-               self::pagehead();\r
                self::$skin->parse('systemoverview');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4816,9 +4703,7 @@ class Admin
        static public function error($msg)\r
        {\r
                self::$headMess = $msg;\r
-               self::pagehead();\r
                self::$skin->parse('adminerrorpage');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -4845,7 +4730,8 @@ class Admin
         */\r
        static public function PluninAdminPagehead($extrahead = '')\r
        {\r
-               self::pagehead();\r
+               self::$extrahead .= $extrahead;\r
+               self::$skin->parse('pagehead');\r
                return;\r
        }\r
        \r
@@ -4858,277 +4744,7 @@ class Admin
         */\r
        static public function PluninAdminPagefoot()\r
        {\r
-               self::pagefoot();\r
-               return;\r
-       }\r
-       \r
-       /**\r
-        * Admin::pagehead()\r
-        * Output admin page head\r
-        * \r
-        * @param       string  PluninAdminPagehead\r
-        * @return      void\r
-        */\r
-       static private function pagehead($extrahead = '')\r
-       {\r
-               global $member, $nucleus, $CONF, $manager;\r
-\r
-               if ( self::existsSkinContents('pagehead') )\r
-               {\r
-                       if ( isset($extrahead) && !empty($extrahead) )\r
-                       {\r
-                               self::$extrahead = $extrahead;\r
-                       }\r
-                       self::$skin->parse('pagehead');\r
-               }\r
-               else\r
-               {\r
-                       $data = array(\r
-                               'extrahead'     => &$extrahead,\r
-                               'action'        => self::$action\r
-                       );\r
-                       \r
-                       $manager->notify('AdminPrePageHead', $data);\r
-                       \r
-                       $baseUrl = Entity::hsc($CONF['SkinsURL']);\r
-                       \r
-                       /*\r
-                        * TODO: obsoleted\r
-                       if ( !array_key_exists('AdminCSS', $CONF) )\r
-                       {\r
-                               DB::execute("INSERT INTO " . sql_table('config') . " VALUES ('AdminCSS', 'original')");\r
-                               $CONF['AdminCSS'] = 'original';\r
-                       }\r
-                       */\r
-                       \r
-                       /* HTTP 1.1 application for no caching */\r
-                       header("Cache-Control: no-cache, must-revalidate");\r
-                       header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");\r
-                       \r
-                       $root_element = 'html';\r
-                       $charset = i18n::get_current_charset();\r
-                       $locale = preg_replace('#_#', '-', i18n::get_current_locale());\r
-                       $xml_version_info = self::$xml_version_info;\r
-                       $formal_public_identifier = self::$formal_public_identifier;\r
-                       $system_identifier = self::$system_identifier;\r
-                       $xhtml_namespace = self::$xhtml_namespace;\r
-                       \r
-                       echo "<?xml version=\"{$xml_version_info}\" encoding=\"{$charset}\" ?>\n";\r
-                       echo "<!DOCTYPE {$root_element} PUBLIC \"{$formal_public_identifier}\" \"{$system_identifier}\">\n";\r
-                       echo "<{$root_element} xmlns=\"{$xhtml_namespace}\" xml:lang=\"{$locale}\" lang=\"{$locale}\">\n";\r
-                       echo "<head>\n";\r
-                       echo '<title>' . Entity::hsc($CONF['SiteName']) . " - Admin</title>\n";\r
-                       /*\r
-                        * TODO: obsoleted\r
-                       echo "<link rel=\"stylesheet\" title=\"Nucleus Admin Default\" type=\"text/css\" href=\"{$baseUrl}admin/defaultadmin/styles/admin_{$CONF["AdminCSS"]}.css\" />\n";\r
-                       */\r
-                       echo "<link rel=\"stylesheet\" title=\"Nucleus Admin Default\" type=\"text/css\" href=\"{$baseUrl}admin/defaultadmin/styles/addedit.css\" />\n";\r
-                       echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/edit.js\"></script>\n";\r
-                       echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/admin.js\"></script>\n";\r
-                       echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/compatibility.js\"></script>\n";\r
-                       echo "{$extrahead}\n";\r
-                       echo "</head>\n\n";\r
-                       echo "<body>\n";\r
-                       echo "<div id=\"adminwrapper\">\n";\r
-                       echo "<div class=\"header\">\n";\r
-                       echo '<h1>' . Entity::hsc($CONF['SiteName']) . "</h1>\n";\r
-                       echo "</div>\n";\r
-                       echo "<div id=\"container\">\n";\r
-                       echo "<div id=\"content\">\n";\r
-                       echo "<div class=\"loginname\">\n";\r
-                       if ( $member->isLoggedIn() )\r
-                       {\r
-                               echo _LOGGEDINAS . ' ' . $member->getDisplayName() ." - <a href='index.php?action=logout'>" . _LOGOUT. "</a><br />\n";\r
-                               echo "<a href='index.php?action=overview'>" . _ADMINHOME . "</a> - ";\r
-                       }\r
-                       else\r
-                       {\r
-                               echo '<a href="index.php?action=showlogin" title="Log in">' . _NOTLOGGEDIN . "</a><br />\n";\r
-                       }\r
-                       echo "<a href='".$CONF['IndexURL']."'>"._YOURSITE."</a><br />\n";\r
-                       echo '(';\r
-                       \r
-                       if (array_key_exists('codename', $nucleus) && $nucleus['codename'] != '' )\r
-                       {\r
-                               $codenamestring = ' &quot;' . $nucleus['codename'].'&quot;';\r
-                       }\r
-                       else\r
-                       {\r
-                               $codenamestring = '';\r
-                       }\r
-                       \r
-                       if ( $member->isLoggedIn() && $member->isAdmin() )\r
-                       {\r
-                               $checkURL = sprintf(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_URL, getNucleusVersion(), getNucleusPatchLevel());\r
-                               echo '<a href="' . $checkURL . '" title="' . _ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TITLE . '">Nucleus CMS ' . $nucleus['version'] . $codenamestring . '</a>';\r
-                               \r
-                               $newestVersion = getLatestVersion();\r
-                               $newestCompare = str_replace('/', '.', $newestVersion);\r
-                               $currentVersion = str_replace(array('/','v'), array('.',''), $nucleus['version']);\r
-                               \r
-                               if ( $newestVersion && version_compare($newestCompare, $currentVersion) > 0 )\r
-                               {\r
-                                       echo "<br />\n";\r
-                                       echo '<a style="color:red" href="http://nucleuscms.org/upgrade.php" title="' . _ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TITLE . '">';\r
-                                       echo _ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TEXT . $newestVersion;\r
-                                       echo "</a>";\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               echo "Nucleus CMS {$nucleus['version']}{$codenamestring}";\r
-                       }\r
-                       echo ')';\r
-                       echo '</div>';\r
-               }\r
-               return;\r
-       }\r
-       \r
-       /**\r
-        * Admin::pagefoot()\r
-        * Output admin page foot include quickmenu\r
-        * \r
-        * @param       void\r
-        * @return      void\r
-        */\r
-       static private function pagefoot()\r
-       {\r
-               global $action, $member, $manager;\r
-               \r
-               if ( self::existsSkinContents('pagefoot') )\r
-               {\r
-                       self::$skin->parse('pagefoot');\r
-                       exit;\r
-               }\r
-               else\r
-               {\r
-                       $data = array(\r
-                               'action' => self::$action\r
-                       );\r
-                       \r
-                       $manager->notify('AdminPrePageFoot', $data);\r
-                       \r
-                       if ( $member->isLoggedIn() && ($action != 'showlogin') )\r
-                       {\r
-                               echo '<h2>' . _LOGOUT . "</h2>\n";\r
-                               echo "<ul>\n";\r
-                               echo '<li><a href="index.php?action=overview">' . _BACKHOME . "</a></li>\n";\r
-                               echo '<li><a href="index.php?action=logout">' .  _LOGOUT . "</a></li>\n";\r
-                               echo "</ul>\n";\r
-                       }\r
-                       \r
-                       echo "<div class=\"foot\">\n";\r
-                       echo '<a href="' . _ADMINPAGEFOOT_OFFICIALURL . '">Nucleus CMS</a> &copy; 2002-' . date('Y') . ' ' . _ADMINPAGEFOOT_COPYRIGHT;\r
-                       echo '-';\r
-                       echo '<a href="' . _ADMINPAGEFOOT_DONATEURL . '">' . _ADMINPAGEFOOT_DONATE . "</a>\n";\r
-                       echo "</div>\n";\r
-                       \r
-                       echo "<div id=\"quickmenu\">\n";\r
-                       \r
-                       if ( ($action != 'showlogin') && ($member->isLoggedIn()) )\r
-                       {\r
-                               echo "<ul>\n";\r
-                               echo '<li><a href="index.php?action=overview">' . _QMENU_HOME . "</a></li>\n";\r
-                               echo "</ul>\n";\r
-                               \r
-                               echo '<h2>' . _QMENU_ADD . "</h2>\n";\r
-                               echo "<form method=\"get\" action=\"index.php\">\n";\r
-                               echo "<p>\n";\r
-                               echo "<input type=\"hidden\" name=\"action\" value=\"createitem\" />\n";\r
-                               \r
-                               $showAll = requestVar('showall');\r
-                               \r
-                               if ( ($member->isAdmin()) && ($showAll == 'yes') )\r
-                               {\r
-                                       // Super-Admins have access to all blogs! (no add item support though)\r
-                                       $query = "SELECT bnumber as value, bname as text FROM %s ORDER BY bname;";\r
-                                       $query = sprintf($query, sql_table('blog'));\r
-                               }\r
-                               else\r
-                               {\r
-                                       $query = "SELECT bnumber as value, bname as text FROM %s, %s WHERE tblog=bnumber and tmember=%d ORDER BY bname;";\r
-                                       $query = sprintf($query, sql_table('blog'), sql_table('team'), (integer) $member->getID());\r
-                               }\r
-                               $template['name']               = 'blogid';\r
-                               $template['tabindex']   = 15000;\r
-                               $template['extra']              = _QMENU_ADD_SELECT;\r
-                               $template['selected']   = -1;\r
-                               $template['shorten']    = 10;\r
-                               $template['shortenel']  = '';\r
-                               $template['javascript'] = 'onchange="return form.submit()"';\r
-                               showlist($query, 'select', $template);\r
-                               \r
-                               echo "</p>\n";\r
-                               echo "</form>\n";\r
-                               \r
-                               echo "<h2>{$member->getDisplayName()}</h2>\n";\r
-                               echo "<ul>\n";\r
-                               echo '<li><a href="index.php?action=editmembersettings">' . _QMENU_USER_SETTINGS . "</a></li>\n";\r
-                               echo '<li><a href="index.php?action=browseownitems">' . _QMENU_USER_ITEMS . "</a></li>\n";\r
-                               echo '<li><a href="index.php?action=browseowncomments">' . _QMENU_USER_COMMENTS . "</a></li>\n";\r
-                               echo "</ul>\n";\r
-                               \r
-                               if ( $member->isAdmin() )\r
-                               {\r
-                                       echo '<h2>' . _QMENU_MANAGE . "</h2>\n";\r
-                                       echo "<ul>\n";\r
-                                       echo '<li><a href="index.php?action=actionlog">' . _QMENU_MANAGE_LOG . "</a></li>\n";\r
-                                       echo '<li><a href="index.php?action=settingsedit">' . _QMENU_MANAGE_SETTINGS . "</a></li>\n";\r
-                                       echo '<li><a href="index.php?action=systemoverview">' . _QMENU_MANAGE_SYSTEM . "</a></li>\n";\r
-                                       echo '<li><a href="index.php?action=usermanagement">' . _QMENU_MANAGE_MEMBERS . "</a></li>\n";\r
-                                       echo '<li><a href="index.php?action=createnewlog">' . _QMENU_MANAGE_NEWBLOG . "</a></li>\n";\r
-                                       echo '<li><a href="index.php?action=backupoverview">' . _QMENU_MANAGE_BACKUPS . "</a></li>\n";\r
-                                       echo '<li><a href="index.php?action=pluginlist">' . _QMENU_MANAGE_PLUGINS . "</a></li>\n";\r
-                                       echo "</ul>\n";\r
-                                       \r
-                                       echo "<h2>" . _QMENU_LAYOUT . "</h2>\n";\r
-                                       echo "<ul>\n";\r
-                                       echo '<li><a href="index.php?action=skinoverview">' . _QMENU_LAYOUT_SKINS . "</a></li>\n";\r
-                                       echo '<li><a href="index.php?action=templateoverview">' . _QMENU_LAYOUT_TEMPL . "</a></li>\n";\r
-                                       echo '<li><a href="index.php?action=skinieoverview">' . _QMENU_LAYOUT_IEXPORT . "</a></li>\n";\r
-                                       echo "</ul>\n";\r
-                               }\r
-                               \r
-                               $data = array('options' => array());\r
-                               \r
-                               $manager->notify('QuickMenu', $data);\r
-                               \r
-                               if ( count($data['options']) > 0 )\r
-                               {\r
-                                       echo "<h2>" . _QMENU_PLUGINS . "</h2>\n";\r
-                                       echo "<ul>\n";\r
-                                       foreach ( $data['options'] as $option )\r
-                                       {\r
-                                               echo '<li><a href="' . Entity::hsc($option['url']) . '" title="' . Entity::hsc($option['tooltip']) . '">' . Entity::hsc($option['title']) . "</a></li>\n";\r
-                                       }\r
-                                       echo "</ul>\n";\r
-                               }\r
-                       }\r
-                       else if ( ($action == 'activate') || ($action == 'activatesetpwd') )\r
-                       {\r
-                       \r
-                               echo '<h2>' . _QMENU_ACTIVATE . '</h2>' . _QMENU_ACTIVATE_TEXT;\r
-                       }\r
-                       else\r
-                       {\r
-                               echo '<h2>' . _QMENU_INTRO . '</h2>' . _QMENU_INTRO_TEXT;\r
-                       }\r
-                       \r
-                       echo "<!-- quickmenu -->\n";\r
-                       echo "</div>\n";\r
-                       \r
-                       echo "<!-- content -->\n";\r
-                       echo "</div>\n";\r
-                       \r
-                       echo "<!-- container -->\n";\r
-                       echo "</div>\n";\r
-                       \r
-                       echo "<!-- adminwrapper -->\n";\r
-                       echo "</div>\n";\r
-                       \r
-                       echo "</body>\n";\r
-                       echo "</html>\n";\r
-               }\r
+               self::$skin->parse('pagefoot');\r
                return;\r
        }\r
        \r
@@ -5145,9 +4761,7 @@ class Admin
                $blogid = intRequestVar('blogid');\r
                $member->teamRights($blogid) or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('bookmarklet');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -5163,9 +4777,7 @@ class Admin
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('actionlog');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -5182,9 +4794,7 @@ class Admin
                $blogid = intRequestVar('blogid');\r
                $member->blogAdminRights($blogid) or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('banlist');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -5201,9 +4811,7 @@ class Admin
                $blogid = intRequestVar('blogid');\r
                $member->blogAdminRights($blogid) or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('banlistdelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -5253,9 +4861,7 @@ class Admin
                /* TODO: we should use other ways */\r
                $_REQUEST['delblogs'] = $deleted;\r
                \r
-               self::pagehead();\r
                self::$skin->parse('banlistdeleteconfirm');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -5293,9 +4899,7 @@ class Admin
                /* TODO: we should consider to use the other way instead of this */\r
                $_REQUEST['blogid'] = $blogid;          \r
                \r
-               self::pagehead();\r
                self::$skin->parse('banlistnew');\r
-               self::pagefoot();\r
                \r
                return;\r
        }\r
@@ -5382,9 +4986,7 @@ class Admin
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('backupoverview');\r
-               self::pagefoot();\r
                return;\r
        }\r
 \r
@@ -5444,9 +5046,7 @@ class Admin
                {\r
                        self::error($message);\r
                }\r
-               self::pagehead();\r
                self::$skin->parse('backuprestore');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -5465,9 +5065,7 @@ class Admin
                // check if allowed\r
                $member->isAdmin() or self::disallow();\r
                \r
-               self::pagehead();\r
                self::$skin->parse('pluginlist');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -5491,9 +5089,7 @@ class Admin
                        self::error(_ERROR_NOSUCHPLUGIN);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('pluginhelp');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -5657,9 +5253,7 @@ class Admin
                        self::error(_ERROR_NOSUCHPLUGIN);\r
                }\r
                \r
-               self::pagehead();\r
                self::$skin->parse('plugindelete');\r
-               self::pagefoot();\r
                return;\r
        }\r
 \r
@@ -5874,10 +5468,9 @@ class Admin
                {\r
                        self::$headMess = $message;\r
                }\r
-               $extrahead = "<script type=\"text/javascript\" src=\"javascript/numbercheck.js\"></script>\n";\r
-               self::pagehead($extrahead);\r
+               Admin::$extrahead .= "<script type=\"text/javascript\" src=\"javascript/numbercheck.js\"></script>\n";\r
+               \r
                self::$skin->parse('pluginoptions');\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -5975,9 +5568,7 @@ class Admin
         */\r
        static private function action_parseSpecialskin()\r
        {\r
-               self::pagehead();\r
                self::$skin->parse(self::$action);\r
-               self::pagefoot();\r
                return;\r
        }\r
        \r
@@ -6077,9 +5668,9 @@ class Admin
                \r
                self::$skin                             = (object) $skn;\r
                $handler = new AdminActions($actnName, self::$skin, $this);\r
-               $handler->setSkin(self::$skin);\r
                \r
                $parser = new PARSER($handler);\r
+               $parser->setSkin(self::$skin);\r
                $parser->parse($contents);\r
                \r
                return;\r
index 366ca40..fabb773 100644 (file)
@@ -7,9 +7,6 @@ if ( !class_exists('BaseActions') )
 
 class AdminActions extends BaseActions
 {
-       // reference to the skin object for which a part is being parsed
-       private $skin;
-       
        private $skintype;
        
        /* NOTE: list of whole available action names for tags
@@ -133,11 +130,23 @@ class AdminActions extends BaseActions
        static private $default_actions = array(
                'addtickettourl',
                'adminurl',
+               'codename',
                'customhelplink',
+               'date',
+               'extrahead',
                'headmessage',
                'helplink',
+               'member',
+               'newestcompare',
+               'pagehead',
+               'pagefoot',
+               'qmenuaddselect',
+               'quickmenu',
+               'sitevar',
                'sprinttext',
-               'ticket'
+               'ticket',
+               'version',
+               'versioncheckurl'
        );
        
        /**
@@ -531,7 +540,7 @@ class AdminActions extends BaseActions
                                        'categories',
                                        'currenttime',
                                        'init',
-                                       'itemoptions',
+                                       'pluginoptions',
                                        'pluginextras'
                                );
                                break;
@@ -581,8 +590,8 @@ class AdminActions extends BaseActions
                                        'categories',
                                        'currenttime',
                                        'itemtime',
-                                       'pluginextras',
-                                       'itemoptions'
+                                       'pluginoptions',
+                                       'pluginextras'
                                );
                                break;
                        case 'itemlist':
@@ -621,27 +630,6 @@ class AdminActions extends BaseActions
                                        'yrbloglist',
                                );
                                break;
-                       case 'pagefoot':
-                               $extra_actions = array(
-                                       'date',
-                                       'qmenuaddselect',
-                                       'member',
-                                       'quickmenu',
-                               );
-                               break;
-                       case 'pagehead':
-                               $extra_actions = array(
-                                       'charset',
-                                       'sitevar',
-                                       'adminurl',
-                                       'extrahead',
-                                       'member',
-                                       'versioncheckurl',
-                                       'version',
-                                       'codename',
-                                       'newestcompare',
-                               );
-                               break;
                        case 'plugindelete':
                                $extra_actions = array(
                                        'editpluginfo',
@@ -787,18 +775,6 @@ class AdminActions extends BaseActions
        }
        
        /**
-        * AdminActions::setSkin()
-        * Set the skin
-        * @param       object  $skin   an instance of Skin class
-        * @return      void
-        */
-       public function setSkin(&$skin)
-       {
-               $this->skin =& $skin;
-               return;
-       }
-       
-       /**
         * AdminActions::parse_actionloglist()
         * Parse skinvar actionloglist
         * 
@@ -1293,7 +1269,7 @@ class AdminActions extends BaseActions
                
                $template['content'] = 'adminskinlist';
                $template['tabindex'] = 10;
-               $template['friendly_names'] = $this->skin->getAvailableTypes();
+               $template['friendly_names'] = $this->parser->skin->getAvailableTypes();
                Showlist($query, 'table', $template, $templateName);
                return;
        }
@@ -1332,7 +1308,7 @@ class AdminActions extends BaseActions
                        $templates = Template::read($templateName);
                }
                
-               $nType  = $this->skin->getAvailableTypes();
+               $nType  = $this->parser->skin->getAvailableTypes();
                $skinid = intRequestVar('skinid');
                
                $query = "SELECT stype FROM  %s WHERE stype NOT IN (%s) AND sdesc=%d;";
@@ -1424,7 +1400,7 @@ class AdminActions extends BaseActions
        {
                global $DIR_ADMINSKINS;
                $skinType = strtolower(trim(requestVar('type')));
-               $actions  = $this->skin->getAllowedActionsForType($skinType);
+               $actions  = $this->parser->skin->getAllowedActionsForType($skinType);
                sort($actions);
                
                while ( $current = array_shift($actions) )
@@ -2376,7 +2352,7 @@ class AdminActions extends BaseActions
                        $templates = Template::read($templateName);
                }
                
-               $types = $this->skin->getAvailableTypes();
+               $types = $this->parser->skin->getAvailableTypes();
                ksort($types);
                
                /* NOTE: set templates for HEAD/BODY/FOOT */
@@ -2657,7 +2633,7 @@ class AdminActions extends BaseActions
        {
                global $CONF, $manager, $member;
                
-               $fNames = $this->skin->getAvailableTypes();
+               $fNames = $this->parser->skin->getAvailableTypes();
                $sType  = strtolower(trim(requestVar('type')));
                
                switch ( $type )
@@ -2666,16 +2642,16 @@ class AdminActions extends BaseActions
                                echo intRequestVar('skinid');
                                break;
                        case 'name':
-                               echo Entity::hsc($this->skin->getName());
+                               echo Entity::hsc($this->parser->skin->getName());
                                break;
                        case 'desc':
-                               echo Entity::hsc($this->skin->getDescription());
+                               echo Entity::hsc($this->parser->skin->getDescription());
                                break;
                        case 'type':
-                               echo Entity::hsc($this->skin->getContentType());
+                               echo Entity::hsc($this->parser->skin->getContentType());
                                break;
                        case 'content':
-                               echo Entity::hsc($this->skin->getContentFromDB($sType));
+                               echo Entity::hsc($this->parser->skin->getContentFromDB($sType));
                                break;
                        case 'skintype':
                                $skinType = !array_key_exists($sType, $fNames) ? ucfirst($sType) : $fNames[$sType];
@@ -2685,7 +2661,7 @@ class AdminActions extends BaseActions
                                echo Entity::hsc($sType);
                                break;
                        case 'prefix':
-                               echo Entity::hsc($this->skin->getIncludePrefix());
+                               echo Entity::hsc($this->parser->skin->getIncludePrefix());
                                break;
                        case 'mode':
                                $incMode = $skin->getIncludeMode() ? _PARSER_INCMODE_SKINDIR : _PARSER_INCMODE_NORMAL;
@@ -3720,6 +3696,7 @@ class AdminActions extends BaseActions
                {
                        $templates = Template::read($templateName);
                }
+               
                if ( !array_key_exists('INSERT_PLUGOPTION_TITLE', $templates) || empty($templates['INSERT_PLUGOPTION_TITLE']) )
                {
                        $template['title'] = "<tr>"
@@ -3730,6 +3707,7 @@ class AdminActions extends BaseActions
                {
                        $template['title'] = $templates['INSERT_PLUGOPTION_TITLE'];
                }
+               
                if ( !array_key_exists('INSERT_PLUGOPTION_BODY', $templates) || empty($templates['INSERT_PLUGOPTION_BODY']) )
                {
                        $template['body'] = "<tr>"
@@ -3906,27 +3884,13 @@ class AdminActions extends BaseActions
        }
        
        /**
-        * AdminActions::parse_itemoptions()
-        * Parse skinvar itemoptions
-        * Adds the itemOptions of a plugin to a page
-        * @author TeRanEX
-        */
-       public function parse_itemoptions()
-       {
-               $this->parse_pluginoptions('item');
-               return;
-       }
-       
-       /**
-        * AdminActions::parse_itemoptions()
-        * 
+        * AdminActions::parse_itemtime()
         * date change on edit item
         * 
-        * Parse skinvar itemoptions
-        * Adds the itemOptions of a plugin to a page
-        * @author TeRanEX
+        * @param       string  $key    key of PHP's getDate()
+        * @return      void
         */
-       public function parse_itemtime($what)
+       public function parse_itemtime($key)
        {
                global $manager;
                
@@ -3956,7 +3920,7 @@ class AdminActions extends BaseActions
                        $manager->notify('PreAddItemForm', $data);
                }
                $itemtime = getdate($contents['timestamp']);
-               echo $itemtime[$what];
+               echo $itemtime[$key];
                return;
        }
        
@@ -4341,26 +4305,77 @@ class AdminActions extends BaseActions
         * @param       string  $type   type of plugin option
         * @return      void
         */
-       public function parse_pluginoptions($type = 'global')
+       public function parse_pluginoptions($context='global')
        {
-               global $itemid;
+               global $itemid, $manager;
                
-               switch ( $type )
+               switch ( $context )
                {
                        case 'member':
-                               $id = intRequestVar('memberid');
+                               $contextid = intRequestVar('memberid');
                                break;
                        case 'blog':
-                               $id = intRequestVar('blogid');
+                               $contextid = intRequestVar('blogid');
                                break;
                        case 'category':
-                               $id = intRequestVar('catid');
+                               $contextid = intRequestVar('catid');
                                break;
                        case 'item':
-                               $id = $itemid;
+                               $contextid = $itemid;
                                break;
                }
-               Admin::insertPluginOptions($type, $id);
+               
+               /* Actually registererd plugin options */
+               $aIdToValue = array();
+               $query = "SELECT oid, ovalue FROM %s WHERE ocontextid=%d;";
+               $query = sprintf($query, sql_table('plugin_option'), (integer) $contextid);
+               $res = DB::getResult($query);
+               foreach ( $res as $row )
+               {
+                       $aIdToValue[$row['oid']] = $row['ovalue'];
+               }
+               
+               /* Currently available plugin options */
+               $query  = "SELECT * FROM %s, %s WHERE opid=pid and ocontext= %s ORDER BY porder, oid ASC;";
+               $query  = sprintf($query, sql_table('plugin_option_desc'), sql_table('plugin'), DB::quoteValue($context));
+               $res    = DB::getResult($query);
+               
+               $options = array();
+               foreach ($res as $row )
+               {
+                       if ( !array_key_exists($row['oid'], $aIdToValue) )
+                       {
+                               $value = $row['odef'];
+                       }
+                       else
+                       {
+                               $value = $aIdToValue[$row['oid']];
+                       }
+                               
+                       $options[] = array(
+                               'pid'                   => $row['pid'],
+                               'pfile'                 => $row['pfile'],
+                               'oid'                   => $row['oid'],
+                               'value'                 => $value,
+                               'name'                  => $row['oname'],
+                               'description'   => $row['odesc'],
+                               'type'                  => $row['otype'],
+                               'typeinfo'              => $row['oextra'],
+                               'contextid'             => $contextid,
+                               'extra'                 => ''
+                       );
+               }
+               
+               $data = array(
+                       'context'       =>  $context,
+                       'contextid'     =>  $contextid,
+                       'options'       => &$opt4ions
+               );
+               $manager->notify('PrePluginOptionsEdit', $data);
+               
+               $content = $this->parser->skin->getContentFromDB('insertpluginoptions');
+               $this->parser->parse($content);
+               
                return;
        }
        
@@ -5726,4 +5741,275 @@ class AdminActions extends BaseActions
                $this->newPlugCandidates = $candidates;
                return (count($candidates) > 0);
        }
+       
+       /**
+        * AdminActions::pagehead()
+        * Output admin page head
+        * 
+        * @param       void
+        * @return      void
+        */
+       public function parse_pagehead()
+       {
+               global $member, $nucleus, $CONF, $manager;
+               
+               $content = $this->parser->skin->getContentFromDB('pagehead');
+               if ( !$content )
+               {
+                       $extrahead = Admin::$extrahead;
+                       $data = array(
+                               'extrahead'     => &$extrahead,
+                               'action'        =>  Admin::$action
+                       );
+                       $manager->notify('AdminPrePageHead', $data);
+                       
+                       $baseUrl = Entity::hsc($CONF['SkinsURL']);
+                       
+                       /*
+                        * TODO: obsoleted
+                       if ( !array_key_exists('AdminCSS', $CONF) )
+                       {
+                               DB::execute("INSERT INTO " . sql_table('config') . " VALUES ('AdminCSS', 'original')");
+                               $CONF['AdminCSS'] = 'original';
+                       }
+                       */
+                       
+                       /* HTTP 1.1 application for no caching */
+                       header("Cache-Control: no-cache, must-revalidate");
+                       header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
+                       
+                       $root_element = 'html';
+                       $charset = i18n::get_current_charset();
+                       $locale = preg_replace('#_#', '-', i18n::get_current_locale());
+                       $xml_version_info = self::$xml_version_info;
+                       $formal_public_identifier = self::$formal_public_identifier;
+                       $system_identifier = self::$system_identifier;
+                       $xhtml_namespace = self::$xhtml_namespace;
+                       
+                       echo "<?xml version=\"{$xml_version_info}\" encoding=\"{$charset}\" ?>\n";
+                       echo "<!DOCTYPE {$root_element} PUBLIC \"{$formal_public_identifier}\" \"{$system_identifier}\">\n";
+                       echo "<{$root_element} xmlns=\"{$xhtml_namespace}\" xml:lang=\"{$locale}\" lang=\"{$locale}\">\n";
+                       echo "<head>\n";
+                       echo '<title>' . Entity::hsc($CONF['SiteName']) . " - Admin</title>\n";
+                       /*
+                        * TODO: obsoleted
+                       echo "<link rel=\"stylesheet\" title=\"Nucleus Admin Default\" type=\"text/css\" href=\"{$baseUrl}admin/defaultadmin/styles/admin_{$CONF["AdminCSS"]}.css\" />\n";
+                       */
+                       echo "<link rel=\"stylesheet\" title=\"Nucleus Admin Default\" type=\"text/css\" href=\"{$baseUrl}admin/defaultadmin/styles/addedit.css\" />\n";
+                       echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/edit.js\"></script>\n";
+                       echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/admin.js\"></script>\n";
+                       echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/compatibility.js\"></script>\n";
+                       echo "{$extrahead}\n";
+                       echo "</head>\n\n";
+                       echo "<body>\n";
+                       echo "<div id=\"adminwrapper\">\n";
+                       echo "<div class=\"header\">\n";
+                       echo '<h1>' . Entity::hsc($CONF['SiteName']) . "</h1>\n";
+                       echo "</div>\n";
+                       echo "<div id=\"container\">\n";
+                       echo "<div id=\"content\">\n";
+                       echo "<div class=\"loginname\">\n";
+                       
+                       if ( !$member->isLoggedIn() )
+                       {
+                               echo '<a href="index.php?action=showlogin" title="Log in">' . _NOTLOGGEDIN . "</a><br />\n";
+                       }
+                       else
+                       {
+                               echo _LOGGEDINAS . ' ' . $member->getDisplayName() ." - <a href='index.php?action=logout'>" . _LOGOUT. "</a><br />\n";
+                               echo "<a href='index.php?action=overview'>" . _ADMINHOME . "</a> - ";
+                       }
+                       
+                       echo "<a href='".$CONF['IndexURL']."'>"._YOURSITE."</a><br />\n";
+                       echo '(';
+                       
+                       if ( !array_key_exists('codename', $nucleus) || empty($nucleus['codename']) )
+                       {
+                               $codenamestring = '';
+                       }
+                       else
+                       {
+                               $codenamestring = ' &quot;' . $nucleus['codename'].'&quot;';
+                       }
+                       
+                       if ( $member->isLoggedIn() && $member->isAdmin() )
+                       {
+                               $checkURL = sprintf(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_URL, getNucleusVersion(), getNucleusPatchLevel());
+                               echo '<a href="' . $checkURL . '" title="' . _ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TITLE . '">Nucleus CMS ' . $nucleus['version'] . $codenamestring . '</a>';
+                               
+                               $newestVersion = getLatestVersion();
+                               $newestCompare = str_replace('/', '.', $newestVersion);
+                               $currentVersion = str_replace(array('/','v'), array('.',''), $nucleus['version']);
+                               
+                               if ( $newestVersion && version_compare($newestCompare, $currentVersion) > 0 )
+                               {
+                                       echo "<br />\n";
+                                       echo '<a style="color:red" href="http://nucleuscms.org/upgrade.php" title="' . _ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TITLE . '">';
+                                       echo _ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TEXT . $newestVersion;
+                                       echo "</a>";
+                               }
+                       }
+                       else
+                       {
+                               echo "Nucleus CMS {$nucleus['version']}{$codenamestring}";
+                       }
+                       echo ')';
+                       echo '</div>';
+               }
+               else
+               {
+                       $this->parser->parse($content);
+               }
+               
+               return;
+       }
+       
+       /**
+        * AdminActionss::pagefoot()
+        * Output admin page foot include quickmenu
+        * 
+        * @param       void
+        * @return      void
+        */
+       public function parse_pagefoot()
+       {
+               global $action, $member, $manager;
+               
+               $content = $this->parser->skin->getContentFromDB('pagefoot');
+               if ( !$content )
+               {
+                       $data = array(
+                               'action' => self::$action
+                       );
+                       $manager->notify('AdminPrePageFoot', $data);
+                       
+                       if ( $member->isLoggedIn() && ($action != 'showlogin') )
+                       {
+                               echo '<h2>' . _LOGOUT . "</h2>\n";
+                               echo "<ul>\n";
+                               echo '<li><a href="index.php?action=overview">' . _BACKHOME . "</a></li>\n";
+                               echo '<li><a href="index.php?action=logout">' .  _LOGOUT . "</a></li>\n";
+                               echo "</ul>\n";
+                       }
+                       
+                       echo "<div class=\"foot\">\n";
+                       echo '<a href="' . _ADMINPAGEFOOT_OFFICIALURL . '">Nucleus CMS</a> &copy; 2002-' . date('Y') . ' ' . _ADMINPAGEFOOT_COPYRIGHT;
+                       echo '-';
+                       echo '<a href="' . _ADMINPAGEFOOT_DONATEURL . '">' . _ADMINPAGEFOOT_DONATE . "</a>\n";
+                       echo "</div>\n";
+                       
+                       echo "<div id=\"quickmenu\">\n";
+                       
+                       if ( ($action != 'showlogin') && ($member->isLoggedIn()) )
+                       {
+                               echo "<ul>\n";
+                               echo '<li><a href="index.php?action=overview">' . _QMENU_HOME . "</a></li>\n";
+                               echo "</ul>\n";
+                               
+                               echo '<h2>' . _QMENU_ADD . "</h2>\n";
+                               echo "<form method=\"get\" action=\"index.php\">\n";
+                               echo "<p>\n";
+                               echo "<input type=\"hidden\" name=\"action\" value=\"createitem\" />\n";
+                               
+                               $showAll = requestVar('showall');
+                               
+                               if ( ($member->isAdmin()) && ($showAll == 'yes') )
+                               {
+                                       // Super-Admins have access to all blogs! (no add item support though)
+                                       $query = "SELECT bnumber as value, bname as text FROM %s ORDER BY bname;";
+                                       $query = sprintf($query, sql_table('blog'));
+                               }
+                               else
+                               {
+                                       $query = "SELECT bnumber as value, bname as text FROM %s, %s WHERE tblog=bnumber and tmember=%d ORDER BY bname;";
+                                       $query = sprintf($query, sql_table('blog'), sql_table('team'), (integer) $member->getID());
+                               }
+                               $template['name']               = 'blogid';
+                               $template['tabindex']   = 15000;
+                               $template['extra']              = _QMENU_ADD_SELECT;
+                               $template['selected']   = -1;
+                               $template['shorten']    = 10;
+                               $template['shortenel']  = '';
+                               $template['javascript'] = 'onchange="return form.submit()"';
+                               showlist($query, 'select', $template);
+                               
+                               echo "</p>\n";
+                               echo "</form>\n";
+                               
+                               echo "<h2>{$member->getDisplayName()}</h2>\n";
+                               echo "<ul>\n";
+                               echo '<li><a href="index.php?action=editmembersettings">' . _QMENU_USER_SETTINGS . "</a></li>\n";
+                               echo '<li><a href="index.php?action=browseownitems">' . _QMENU_USER_ITEMS . "</a></li>\n";
+                               echo '<li><a href="index.php?action=browseowncomments">' . _QMENU_USER_COMMENTS . "</a></li>\n";
+                               echo "</ul>\n";
+                               
+                               if ( $member->isAdmin() )
+                               {
+                                       echo '<h2>' . _QMENU_MANAGE . "</h2>\n";
+                                       echo "<ul>\n";
+                                       echo '<li><a href="index.php?action=actionlog">' . _QMENU_MANAGE_LOG . "</a></li>\n";
+                                       echo '<li><a href="index.php?action=settingsedit">' . _QMENU_MANAGE_SETTINGS . "</a></li>\n";
+                                       echo '<li><a href="index.php?action=systemoverview">' . _QMENU_MANAGE_SYSTEM . "</a></li>\n";
+                                       echo '<li><a href="index.php?action=usermanagement">' . _QMENU_MANAGE_MEMBERS . "</a></li>\n";
+                                       echo '<li><a href="index.php?action=createnewlog">' . _QMENU_MANAGE_NEWBLOG . "</a></li>\n";
+                                       echo '<li><a href="index.php?action=backupoverview">' . _QMENU_MANAGE_BACKUPS . "</a></li>\n";
+                                       echo '<li><a href="index.php?action=pluginlist">' . _QMENU_MANAGE_PLUGINS . "</a></li>\n";
+                                       echo "</ul>\n";
+                                       
+                                       echo "<h2>" . _QMENU_LAYOUT . "</h2>\n";
+                                       echo "<ul>\n";
+                                       echo '<li><a href="index.php?action=skinoverview">' . _QMENU_LAYOUT_SKINS . "</a></li>\n";
+                                       echo '<li><a href="index.php?action=templateoverview">' . _QMENU_LAYOUT_TEMPL . "</a></li>\n";
+                                       echo '<li><a href="index.php?action=skinieoverview">' . _QMENU_LAYOUT_IEXPORT . "</a></li>\n";
+                                       echo "</ul>\n";
+                               }
+                               
+                               $data = array('options' => array());
+                               
+                               $manager->notify('QuickMenu', $data);
+                               
+                               if ( count($data['options']) > 0 )
+                               {
+                                       echo "<h2>" . _QMENU_PLUGINS . "</h2>\n";
+                                       echo "<ul>\n";
+                                       foreach ( $data['options'] as $option )
+                                       {
+                                               echo '<li><a href="' . Entity::hsc($option['url']) . '" title="' . Entity::hsc($option['tooltip']) . '">' . Entity::hsc($option['title']) . "</a></li>\n";
+                                       }
+                                       echo "</ul>\n";
+                               }
+                       }
+                       else if ( ($action == 'activate') || ($action == 'activatesetpwd') )
+                       {
+                       
+                               echo '<h2>' . _QMENU_ACTIVATE . '</h2>' . _QMENU_ACTIVATE_TEXT;
+                       }
+                       else
+                       {
+                               echo '<h2>' . _QMENU_INTRO . '</h2>' . _QMENU_INTRO_TEXT;
+                       }
+                       
+                       echo "<!-- quickmenu -->\n";
+                       echo "</div>\n";
+                       
+                       echo "<!-- content -->\n";
+                       echo "</div>\n";
+                       
+                       echo "<!-- container -->\n";
+                       echo "</div>\n";
+                       
+                       echo "<!-- adminwrapper -->\n";
+                       echo "</div>\n";
+                       
+                       echo "</body>\n";
+                       echo "</html>\n";
+               }
+               else
+               {
+                       $this->parser->skin->parse('pagefoot');
+                       exit;
+               }
+               
+               return;
+       }
 }
index ba547b5..5cdd11d 100644 (file)
@@ -20,9 +20,9 @@
 \r
 class PluginAdmin\r
 {\r
-       public $strFullName;            // NP_SomeThing\r
-       public $plugin;                 // ref. to plugin object\r
-       public $bValid;                 // evaluates to true when object is considered valid\r
+       public $strFullName;    // NP_SomeThing\r
+       public $plugin;         // ref. to plugin object\r
+       public $bValid;         // evaluates to true when object is considered valid\r
        public $admin;                  // ref to an admin object\r
        \r
        public function __construct($pluginName)\r
@@ -42,18 +42,17 @@ class PluginAdmin
                        doError(_ERROR_INVALID_PLUGIN);\r
                }\r
                \r
-               $this->plugin =$manager->getPlugin($this->strFullName);\r
-               $this->bValid = $this->plugin;\r
+               $this->plugin = &$manager->getPlugin($this->strFullName);\r
+               $this->bValid =  $this->plugin;\r
                \r
                if ( !$this->bValid )\r
                {\r
                        doError(_ERROR_INVALID_PLUGIN);\r
                }\r
                \r
-               /*$this->admin = new Admin();\r
-               $this->admin->action = "plugin_{$pluginName}";*/\r
                Admin::initialize();\r
                Admin::setAdminAction("plugin_{$pluginName}");\r
+               \r
                return;\r
        }\r
        \r
@@ -66,11 +65,8 @@ class PluginAdmin
        public function start($extraHead = '')\r
        {\r
                global $CONF;\r
-               $strBaseHref  = '<base href="' . Entity::hsc($CONF['AdminURL']) . '" />';\r
-               $extraHead .= $strBaseHref;\r
-               \r
-               //$this->admin->pagehead($extraHead);\r
-               Admin::PluninAdminPagehead($extraHead);\r
+               $extrahead = '<base href="' . Entity::hsc($CONF['AdminURL']) . '" />' . "\n";\r
+               Admin::PluninAdminPagehead($extrahead);\r
                return;\r
        }\r
        \r
@@ -82,8 +78,7 @@ class PluginAdmin
         */\r
        public function end()\r
        {\r
-               $this->_AddTicketByJS();\r
-               //$this->admin->pagefoot();\r
+               $this->AddTicketByJS();\r
                Admin::PluninAdminPagefoot();\r
                return;\r
        }\r
@@ -96,10 +91,10 @@ class PluginAdmin
         * @param       void\r
         * @return      void\r
         */\r
-       public function _AddTicketByJS()\r
+       private function AddTicketByJS()\r
        {\r
                global $CONF,$ticketforplugin;\r
-               if ( !($ticket=$ticketforplugin['ticket']) ) \r
+               if ( !($ticket = $ticketforplugin['ticket']) )\r
                {\r
                        return;\r
                }\r
index 682a948..48af7c3 100644 (file)
@@ -372,7 +372,6 @@ class Skin
                // call action handler\r
                $action_class = $this->action_class;\r
                $handler = new $action_class($type);\r
-               $handler->setSkin($this);\r
                \r
                // register action handler to parser\r
                $parser = new Parser($handler);\r
index 10835d4..1612f99 100644 (file)
@@ -7,12 +7,12 @@
   </meta>
   <skin name="admin/default" type="text/html" includeMode="skin" includePrefix="admin/default">
     <description><![CDATA[ADMIN Area Default skin]]></description>
-    <part name="actionlog"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+    <part name="actionlog"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_ACTIONLOG_CLEAR_TITLE)%></h2>
         <p><a href="<%adminurl%><%addtickettourl(index.php?action=clearactionlog)%>"><%text(_ACTIONLOG_CLEAR_TEXT)%></a></p>
         <h2><%text(_ACTIONLOG_TITLE)%></h2>
-        <%actionloglist%>]]></part>
-    <part name="activate"><![CDATA[<h2><%activationmessage(title)%></h2>
+        <%actionloglist%><%pagefoot%>]]></part>
+    <part name="activate"><![CDATA[<%pagehead%><h2><%activationmessage(title)%></h2>
              <p><%activationmessage(text)%></p>
              <p class="error"><%headmessage%></p>
              <%if(bechangepass)%><div>
                         </tr>
                     </table>
                 </form>
-             </div><%endif%>]]></part>
-    <part name="activatesetpwd"><![CDATA[<h2><%text(_ACTIVATE_SUCCESS_TITLE)%></h2>
-<p><%text(_ACTIVATE_SUCCESS_TEXT)%></p>]]></part>
-    <part name="addnewlog"><![CDATA[<h2><%text(_BLOGCREATED_TITLE)%></h2>
+             </div><%endif%><%pagefoot%>]]></part>
+    <part name="activatesetpwd"><![CDATA[<%pagehead%><h2><%text(_ACTIVATE_SUCCESS_TITLE)%></h2>
+<p><%text(_ACTIVATE_SUCCESS_TEXT)%></p><%pagefoot%>]]></part>
+    <part name="addnewlog"><![CDATA[<%pagehead%><h2><%text(_BLOGCREATED_TITLE)%></h2>
         <p><%sprinttext(_BLOGCREATED_ADDEDTXT,<|%createdblogsetting(name)%|>)%></p>
         <ol>
             <li><a href="#index_php"><%sprinttext(_BLOGCREATED_SIMPLEWAY,<|%getblogsetting(short)%|>)%></a></li>
@@ -90,13 +90,13 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="adminerrorpage"><![CDATA[        <h2>Error!</h2>
+        </form><%pagefoot%>]]></part>
+    <part name="adminerrorpage"><![CDATA[<%pagehead%>        <h2>Error!</h2>
         <%headmessage%>
         <br />
         <a href="<%adminurl%>index.php" onclick="history.back()"><%text(_BACK)%></a>
-]]></part>
-    <part name="adminskindelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+<%pagefoot%>]]></part>
+    <part name="adminskindelete"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p><%text(_CONFIRMTXT_SKIN)%><b><%editadminskintype(name)%></b> (<%editadminskintype(desc)%>)</p>
             <form method="post" action="<%adminurl%>index.php">
                 <div>
@@ -105,8 +105,8 @@ selector();
                     <input type="hidden" name="skinid" value="<%editadminskintype(id)%>" />
                     <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
                 </div>
-            </form>]]></part>
-    <part name="adminskinedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=adminskinoverview">(<%text(_SKIN_BACK)%>)</a></p>
+            </form><%pagefoot%>]]></part>
+    <part name="adminskinedit"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=adminskinoverview">(<%text(_SKIN_BACK)%>)</a></p>
         <h2><%text(_SKIN_EDITONE_TITLE)%> '<%editadminskin(name)%>'</h2>
         <h3><%text(_SKIN_PARTS_TITLE)%></h3>
         <%text(_SKIN_PARTS_MSG)%>
@@ -146,8 +146,8 @@ selector();
                     <td><input type="submit" tabindex="140" value="<%text(_SKIN_CHANGE_BTN)%>" onclick="return checkSubmit();" /></td>
                 </tr></table>
             </div>
-        </form>]]></part>
-    <part name="adminskinedittype"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=adminskinoverview"><%text(_SKIN_GOBACK)%></a>)</p>
+        </form><%pagefoot%>]]></part>
+    <part name="adminskinedittype"><![CDATA[<%pagehead%><p>(<a href="<%adminurl%>index.php?action=adminskinoverview"><%text(_SKIN_GOBACK)%></a>)</p>
         <h2><%text(_SKIN_EDITPART_TITLE)%> '<%editadminskintype(name)%>': <%editadminskintype(skintype)%></h2>
         <%headmessage%>
         <form method="post" action="<%adminurl%>index.php">
@@ -169,16 +169,16 @@ selector();
                 <%text(_SKINEDIT_ALLOWEDTEMPLATESS)%>
                 <%adminskineditallowedlist(template)%><br />
             </div>
-        </form>]]></part>
-    <part name="adminskiniedoimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </form><%pagefoot%>]]></part>
+    <part name="adminskiniedoimport"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_SKINIE_DONE)%></h2>
 
         <ul>
             <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>
             <li><p><strong><%text(_SKINIE_INFO_IMPORTEDSKINS)%></strong> <%importskininfo(snames)%></p></li>
             <li><p><strong><%text(_SKINIE_INFO_IMPORTEDTEMPLS)%></strong> <%importskininfo(tnames)%></p></li>
-        </ul>]]></part>
-    <part name="adminskinieimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=adminskinieoverview">(<%text(_BACK)%>)</a></p>
+        </ul><%pagefoot%>]]></part>
+    <part name="adminskinieimport"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=adminskinieoverview">(<%text(_BACK)%>)</a></p>
         <h2><%text(_SKINIE_CONFIRM_TITLE)%></h2>
 
         <ul>
@@ -197,8 +197,8 @@ selector();
             <input type="submit" value="<%text(_SKINIE_CONFIRM_IMPORT)%>" />
             <%if(nameclashes)%><br />
             <input type="checkbox" name="overwrite" value="1" id="cb_overwrite" /><label for="cb_overwrite"><%text(_SKINIE_CONFIRM_OVERWRITE)%></label><%endif%>
-        </div></form>]]></part>
-    <part name="adminskinieoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </div></form><%pagefoot%>]]></part>
+    <part name="adminskinieoverview"><![CDATA[<%pagehead%><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>
@@ -249,8 +249,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="adminskinoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </form><%pagefoot%>]]></part>
+    <part name="adminskinoverview"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_SKIN_EDIT_TITLE)%></h2>
         <h3><%text(_SKIN_AVAILABLE_TITLE)%></h3>
         <%adminskinoverview%>
@@ -272,8 +272,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="adminskinremovetype"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+        </form><%pagefoot%>]]></part>
+    <part name="adminskinremovetype"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p><%text(_CONFIRMTXT_SKIN_PARTS_SPECIAL)%><b><%editadminskintype(skintype)%> (<%editadminskintype(name)%>)</b> (<%editadminskintype(desc)%>)</p>
             <form method="post" action="<%adminurl%>index.php">
                 <div>
@@ -283,8 +283,8 @@ selector();
                     <input type="hidden" name="type" value="<%editadminskintype(skintype)%>" />
                     <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
                 </div>
-            </form>]]></part>
-    <part name="admintemplatedelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+            </form><%pagefoot%>]]></part>
+    <part name="admintemplatedelete"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p><%text(_CONFIRMTXT_TEMPLATE)%><b><%editadmintemplateinfo(name)%></b> (<%editadmintemplateinfo(desc)%>)</p>
             <form method="post" action="<%adminurl%>index.php">
                 <div>
@@ -293,8 +293,8 @@ selector();
                     <input type="hidden" name="templateid" value="<%editadmintemplateinfo(id)%>" />
                     <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
                 </div>
-            </form>]]></part>
-    <part name="admintemplateedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=admintemplateoverview">(<%text(_TEMPLATE_BACK)%>)</a></p>
+            </form><%pagefoot%>]]></part>
+    <part name="admintemplateedit"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=admintemplateoverview">(<%text(_TEMPLATE_BACK)%>)</a></p>
 
         <h2><%text(_TEMPLATE_EDIT_TITLE)%> '<%editadmintemplateinfo(name)%>'</h2>
         <%headmessage%>
@@ -463,8 +463,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="admntemplateoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </form><%pagefoot%>]]></part>
+    <part name="admntemplateoverview"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_TEMPLATE_TITLE)%></h2>
         <h3><%text(_TEMPLATE_AVAILABLE_TITLE)%></h3>
         <%admintemplateoverview%>
@@ -486,8 +486,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="backupoverview"><![CDATA[        <p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </form><%pagefoot%>]]></part>
+    <part name="backupoverview"><![CDATA[<%pagehead%>        <p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_BACKUPS_TITLE)%></h2>
         <h3><%text(_BACKUP_TITLE)%></h3>
         <p><%text(_BACKUP_INTRO)%></p>
@@ -515,15 +515,15 @@ selector();
                 <%text(_RESTORE_WARNING)%>
             </p>
         </form>
-]]></part>
-    <part name="backuprestore"><![CDATA[        <h2><%text(_RESTORE_COMPLETE)%></h2>
-]]></part>
-    <part name="banlist"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+<%pagefoot%>]]></part>
+    <part name="backuprestore"><![CDATA[<%pagehead%>        <h2><%text(_RESTORE_COMPLETE)%></h2>
+<%pagefoot%>]]></part>
+    <part name="banlist"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
         <h2><%text(_BAN_TITLE)%> '<%adminbloglink(admin/default)%>'</h2>
         <%adminbanlist%>
         <h2><%text(_BAN_NEW_TITLE)%></h2>
-        <p><a href="<%adminurl%>index.php?action=banlistnew&amp;blogid=<%requestblogid%>"><%text(_BAN_NEW_TEXT)%></a></p>]]></part>
-    <part name="banlistdelete"><![CDATA[            <h2><%text(_BAN_REMOVE_TITLE)%></h2>
+        <p><a href="<%adminurl%>index.php?action=banlistnew&amp;blogid=<%requestblogid%>"><%text(_BAN_NEW_TEXT)%></a></p><%pagefoot%>]]></part>
+    <part name="banlistdelete"><![CDATA[<%pagehead%>            <h2><%text(_BAN_REMOVE_TITLE)%></h2>
 
             <form method="post" action="<%adminurl%>index.php">
 
@@ -553,15 +553,15 @@ selector();
             </div>
 
             </form>
-]]></part>
-    <part name="banlistdeleteconfirm"><![CDATA[        <a href="<%adminurl%>index.php?action=banlist&amp;blogid=<%requestblogid%>">(<%text(_BACK)%>)</a>
+<%pagefoot%>]]></part>
+    <part name="banlistdeleteconfirm"><![CDATA[<%pagehead%>        <a href="<%adminurl%>index.php?action=banlist&amp;blogid=<%requestblogid%>">(<%text(_BACK)%>)</a>
         <h2><%text(_BAN_REMOVED_TITLE)%></h2>
         <p><%text(_BAN_REMOVED_TEXT)%></p>
         <ul>
         <%banlistdeletedlist%>
         </ul>
-]]></part>
-    <part name="banlistnew"><![CDATA[        <h2><%text(_BAN_ADD_TITLE)%></h2>
+<%pagefoot%>]]></part>
+    <part name="banlistnew"><![CDATA[<%pagehead%>        <h2><%text(_BAN_ADD_TITLE)%></h2>
         <form method="post" action="<%adminurl%>index.php">
             <h3><%text(_BAN_IPRANGE)%></h3>
             <p><%text(_BAN_IPRANGE_TEXT)%></p>
@@ -589,8 +589,8 @@ selector();
                 <input type="submit" value="<%text(_BAN_ADD_BTN)%>" />
             </div>
         </form>
-]]></part>
-    <part name="batchcategory"><![CDATA[<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>
+<%pagefoot%>]]></part>
+    <part name="batchcategory"><![CDATA[<%pagehead%><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>
         <h2><%text(_BATCH_CATEGORIES)%></h2>
         <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
         <ul>
@@ -598,15 +598,15 @@ selector();
 
 
         </ul>
-        <b><%text(_BATCH_DONE)%></b>]]></part>
-    <part name="batchcomment"><![CDATA[<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>
+        <b><%text(_BATCH_DONE)%></b><%pagefoot%>]]></part>
+    <part name="batchcomment"><![CDATA[<%pagehead%><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>
         <h2><%text(_BATCH_COMMENTS)%></h2>
         <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
         <ul>
         <%adminbatchlist%>
         </ul>
-        <b><%text(_BATCH_DONE)%></b>]]></part>
-    <part name="batchdelete"><![CDATA[<h2><%text(_BATCH_DELETE_CONFIRM)%></h2>
+        <b><%text(_BATCH_DONE)%></b><%pagefoot%>]]></part>
+    <part name="batchdelete"><![CDATA[<%pagehead%><h2><%text(_BATCH_DELETE_CONFIRM)%></h2>
         <form method="post" action="<%adminurl%>index.php">
             <div>
                 <input type="hidden" name="action" value="<%batchdeletetype%>" />
@@ -616,22 +616,22 @@ selector();
                 <%batchdeletelist%>
                 <input type="submit" value="<%text(_BATCH_DELETE_CONFIRM_BTN)%>" onclick="return checkSubmit();" />
             </div>
-        </form>]]></part>
-    <part name="batchitem"><![CDATA[<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>
+        </form><%pagefoot%>]]></part>
+    <part name="batchitem"><![CDATA[<%pagehead%><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>
         <h2><%text(_BATCH_ITEMS)%></h2>
         <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
         <ul>
         <%adminbatchlist%>
         </ul>
-        <b><%text(_BATCH_DONE)%></b>]]></part>
-    <part name="batchmember"><![CDATA[<a href="<%adminurl%>index.php?action=usermanagement"><%text(_MEMBERS_BACKTOOVERVIEW)%></a>
+        <b><%text(_BATCH_DONE)%></b><%pagefoot%>]]></part>
+    <part name="batchmember"><![CDATA[<%pagehead%><a href="<%adminurl%>index.php?action=usermanagement"><%text(_MEMBERS_BACKTOOVERVIEW)%></a>
         <h2><%text(_BATCH_MEMBERS)%></h2>
         <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
         <ul>
         <%adminbatchlist%>
         </ul>
-        <b><%text(_BATCH_DONE)%></b>]]></part>
-    <part name="batchmove"><![CDATA[<h2><%text(_MOVE_TITLE)%></h2>
+        <b><%text(_BATCH_DONE)%></b><%pagefoot%>]]></part>
+    <part name="batchmove"><![CDATA[<%pagehead%><h2><%text(_MOVE_TITLE)%></h2>
         <form method="post" action="<%adminurl%>index.php">
             <div>
                 <input type="hidden" name="action" value="<%batchmovetype%>" />
@@ -641,8 +641,8 @@ selector();
                 <%movedistselect%>
                 <input type="submit" value="<%batchmovebtn%>" onclick="return checkSubmit();" />
             </div>
-        </form>]]></part>
-    <part name="batchmovecat"><![CDATA[<h2><%text(_MOVECAT_TITLE)%></h2>
+        </form><%pagefoot%>]]></part>
+    <part name="batchmovecat"><![CDATA[<%pagehead%><h2><%text(_MOVECAT_TITLE)%></h2>
         <form method="post" action="<%adminurl%>index.php">
             <div>
                 <input type="hidden" name="action" value="<%batchmovetype%>" />
@@ -652,19 +652,19 @@ selector();
                 <%movedistselect%>
                 <input type="submit" value="<%batchmovebtn%>" onclick="return checkSubmit();" />
             </div>
-        </form>]]></part>
-    <part name="batchteam"><![CDATA[<a href="<%adminurl%>index.php?action=manageteam&amp;blogid=<%requestblogid%>"><%text(_BACK)%></a>
+        </form><%pagefoot%>]]></part>
+    <part name="batchteam"><![CDATA[<%pagehead%><a href="<%adminurl%>index.php?action=manageteam&amp;blogid=<%requestblogid%>"><%text(_BACK)%></a>
         <h2><%text(_BATCH_TEAM)%></h2>
         <p><%text(_BATCH_EXECUTING)%><b><%adminbatchaction%></b></p>
         <ul>
         <%adminbatchlist%>
         </ul>
-        <b><%text(_BATCH_DONE)%></b>]]></part>
+        <b><%text(_BATCH_DONE)%></b><%pagefoot%>]]></part>
     <part name="blogcommentlist"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>)</p>
         <h2><%text(_COMMENTS_BLOG)%> <%adminbloglink(admin/default)%></h2>
         <%commentnavlist(admin/default)%>]]></part>
     <part name="blogselectbox"><![CDATA[<%blogselectbox%>]]></part>
-    <part name="blogsettings"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+    <part name="blogsettings"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
         <h2><%text(_EBLOG_TITLE)%>: '<%adminbloglink(admin/default)%>'</h2>
 
         <h3><%text(_EBLOG_TEAM_TITLE)%></h3>
@@ -781,8 +781,8 @@ selector();
             </div>
         </form>
         <h3><%text(_PLUGINS_EXTRA)%></h3>
-        <%pluginextras(blog)%>]]></part>
-    <part name="bookmarklet"><![CDATA[        <p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+        <%pluginextras(blog)%><%pagefoot%>]]></part>
+    <part name="bookmarklet"><![CDATA[<%pagehead%>        <p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
         <h2><%text(_BOOKMARKLET_TITLE)%></h2>
         <p><%text(_BOOKMARKLET_DESC1)%><%text(_BOOKMARKLET_DESC2)%><%text(_BOOKMARKLET_DESC3)%><%text(_BOOKMARKLET_DESC4)%><%text(_BOOKMARKLET_DESC5)%></p>
         <h3><%text(_BOOKMARKLET_BOOKARKLET)%></h3>
@@ -792,14 +792,14 @@ selector();
             <br />
             <a href="<%bookmarkletadmin(url)%>"><%sprinttext(_BOOKMARKLET_ANCHOR,<|%getblogsetting(name)%|>)%></a><%text(_BOOKMARKLET_BMARKFOLLOW)%>
         </p>
-]]></part>
-    <part name="browseowncomments"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>)</p>
+<%pagefoot%>]]></part>
+    <part name="browseowncomments"><![CDATA[<%pagehead%><p>(<a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a>)</p>
         <h2><%text(_COMMENTS_YOUR)%></h2>
-        <%commentnavlist(admin/default)%>]]></part>
-    <part name="browseownitems"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a></p>
+        <%commentnavlist(admin/default)%><%pagefoot%>]]></part>
+    <part name="browseownitems"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a></p>
         <h2><%text(_ITEMLIST_YOUR)%></h2>
-        <%itemnavlist(admin/default)%>]]></part>
-    <part name="categorydelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+        <%itemnavlist(admin/default)%><%pagefoot%>]]></part>
+    <part name="categorydelete"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <div>
                 <%text(_CONFIRMTXT_CATEGORY)%><b><%categorysetting(name)%></b>
             </div>
@@ -811,8 +811,8 @@ selector();
                     <input type="hidden" name="catid" value="<%categorysetting(id)%>" />
                     <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
                 </div>
-            </form>]]></part>
-    <part name="categoryedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=blogsettings&amp;blogid=<%requestblogid%>">(<%text(_BACK_TO_BLOGSETTINGS)%>)</a></p>
+            </form><%pagefoot%>]]></part>
+    <part name="categoryedit"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=blogsettings&amp;blogid=<%requestblogid%>">(<%text(_BACK_TO_BLOGSETTINGS)%>)</a></p>
         <h2><%text(_EBLOG_CAT_UPDATE)%> '<%categorysetting(name)%>'</h2>
         <form method='post' action='<%adminurl%>index.php'>
             <div>
@@ -840,8 +840,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="commentdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+        </form><%pagefoot%>]]></part>
+    <part name="commentdelete"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p><%text(_CONFIRMTXT_COMMENT)%></p>
             <div class="note">
             <b><%text(_EDITC_WHO)%>:</b> <%deletecomment(author)%>
@@ -853,8 +853,8 @@ selector();
                 <%ticket%>
                 <input type="hidden" name="commentid" value="<%deletecomment(id)%>" />
                 <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
-            </div></form>]]></part>
-    <part name="commentedit"><![CDATA[<h2><%text(_EDITC_TITLE)%></h2>
+            </div></form><%pagefoot%>]]></part>
+    <part name="commentedit"><![CDATA[<%pagehead%><h2><%text(_EDITC_TITLE)%></h2>
             <form method="post" action="<%adminurl%>index.php">
                 <div>
                     <input type="hidden" name="action" value="commentupdate" />
@@ -894,8 +894,8 @@ selector();
                         </tr>
                     </table>
                 </div>
-            </form>]]></part>
-    <part name="createitem"><![CDATA[<h2><%text(_ADD_ADDTO)%> '<%adminbloglink(admin/default)%>'</h2>
+            </form><%pagefoot%>]]></part>
+    <part name="createitem"><![CDATA[<%pagehead%><h2><%text(_ADD_ADDTO)%> '<%adminbloglink(admin/default)%>'</h2>
 
 <%init%>
 <script type="text/javascript" src="<%skinfile(/javascript/numbercheck.js)%>"></script>
@@ -1053,7 +1053,7 @@ selector();
                        <%pluginextras%>
                </td>
        </tr>
-                       <%itemoptions%> 
+                       <%pluginoptions(item)%> 
     <tr>
        <th colspan="2"><%text(_ADD_MORE)%></th>
        </tr><tr>
@@ -1156,8 +1156,8 @@ selector();
        var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'
        var formtype = 'add'; // Add or edit form
 </script>      
-<%endif%>]]></part>
-    <part name="createnewlog"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+<%endif%><%pagefoot%>]]></part>
+    <part name="createnewlog"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_EBLOG_CREATE_TITLE)%></h2>
         <h3><%text(_ADMIN_NOTABILIA)%></h3>
         <p><%text(_ADMIN_PLEASE_READ)%></p>
@@ -1210,8 +1210,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="deleteblog"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+        </form><%pagefoot%>]]></part>
+    <part name="deleteblog"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p><%text(_WARNINGTXT_BLOGDEL)%>
             </p>
             <div>
@@ -1222,8 +1222,8 @@ selector();
             <%ticket%>
             <input type="hidden" name="blogid" value="<%requestblogid%>" />
             <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
-            </div></form>]]></part>
-    <part name="editmembersettings"><![CDATA[<%if(superadmin)%><a href="<%adminurl%>index.php?action=usermanagement">(<%text(_MEMBERS_BACKTOOVERVIEW)%>)<%else%><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)<%endif%></a>
+            </div></form><%pagefoot%>]]></part>
+    <part name="editmembersettings"><![CDATA[<%pagehead%><%if(superadmin)%><a href="<%adminurl%>index.php?action=usermanagement">(<%text(_MEMBERS_BACKTOOVERVIEW)%>)<%else%><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)<%endif%></a>
             <h2><%text(_MEMBERS_EDIT)%></h2>
             <form method="post" action="<%adminurl%>index.php" name="memberedit">
                 <div>
@@ -1293,12 +1293,12 @@ selector();
                 </div>
             </form>
             <h3><%text(_PLUGINS_EXTRA)%></h3>
-            <%pluginextras(member)%>]]></part>
+            <%pluginextras(member)%><%pagefoot%>]]></part>
     <part name="insertpluginoptions"><![CDATA[<%insertpluginoptions(admin/default)%>]]></part>
-    <part name="itemcommentlist"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=itemlist&amp;blogid=<%requestblogid%>"><%text(_BACKTOOVERVIEW)%></a>)</p>
+    <part name="itemcommentlist"><![CDATA[<%pagehead%><p>(<a href="<%adminurl%>index.php?action=itemlist&amp;blogid=<%requestblogid%>"><%text(_BACKTOOVERVIEW)%></a>)</p>
         <h2><%text(_COMMENTS)%></h2>
-        <%commentnavlist(admin/default)%>]]></part>
-    <part name="itemdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+        <%commentnavlist(admin/default)%><%pagefoot%>]]></part>
+    <part name="itemdelete"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
         <p><%text(_CONFIRMTXT_ITEM)%></p>
             <div class="note">
                 <b>"<%deleteitemtitle%>"</b>
@@ -1310,8 +1310,8 @@ selector();
                 <%ticket%>
                 <input type="hidden" name="itemid" value="<%deleteitemid%>" />
                 <input type="submit" value="<%text(_DELETE_CONFIRM_BTN)%>" tabindex="10" />
-            </div></form>]]></part>
-    <part name="itemedit"><![CDATA[<h2><%text(_EDIT_ITEM)%></h2>
+            </div></form><%pagefoot%>]]></part>
+    <part name="itemedit"><![CDATA[<%pagehead%><h2><%text(_EDIT_ITEM)%></h2>
 
 <%init%>
 <script type="text/javascript" src="<%skinfile(/javascript/numbercheck.js)%>"></script>
@@ -1496,7 +1496,7 @@ selector();
                <%pluginextras%>
        </td>   
 </tr>
-                       <%itemoptions%> 
+                       <%pluginoptions(item)%> 
 <tr>
        <th colspan="2"><%text(_ADD_MORE)%></th>
 </tr>
@@ -1596,20 +1596,20 @@ selector();
        var goalurl = '../action.php'; // The PHP file where the content must be posted to
        var lastsavedtext = '<%text(_AUTOSAVEDRAFT_LASTSAVED)%>'; // The language variable for 'Last saved'
        var formtype = 'edit'; // Add or edit form
-</script><%endif%>]]></part>
-    <part name="itemlist"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+</script><%endif%><%pagefoot%>]]></part>
+    <part name="itemlist"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
         <h2><%text(_ITEMLIST_BLOG)%><%adminbloglink(admin/default)%></h2>
         <%ilistaddnew%>
-        <%itemnavlist(admin/default)%>]]></part>
-    <part name="itemmove"><![CDATA[<h2><%text(_MOVE_TITLE)%></h2>
+        <%itemnavlist(admin/default)%><%pagefoot%>]]></part>
+    <part name="itemmove"><![CDATA[<%pagehead%><h2><%text(_MOVE_TITLE)%></h2>
             <form method="post" action="<%adminurl%>index.php"><div>
                 <input type="hidden" name="action" value="itemmoveto" />
                 <input type="hidden" name="itemid" value="<%moveitemid%>" />
                 <%ticket%>
                 <%movedistselect%>
                 <input type="submit" value="<%text(_MOVE_BTN)%>" tabindex="10000" onclick="return checkSubmit();" />
-            </div></form>]]></part>
-    <part name="manage"><![CDATA[<p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
+            </div></form><%pagefoot%>]]></part>
+    <part name="manage"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=overview">(<%text(_BACKHOME)%>)</a></p>
         <%headmessage%>
         <h2><%text(_MANAGE_GENERAL)%></h2>
 
@@ -1631,8 +1631,8 @@ selector();
         <ul>
             <li><a href="<%adminurl%>index.php?action=backupoverview"><%text(_OVERVIEW_BACKUP)%></a></li>
             <li><a href="<%adminurl%>index.php?action=pluginlist"><%text(_OVERVIEW_PLUGINS)%></a></li>
-        </ul>]]></part>
-    <part name="manageteam"><![CDATA[<p><a href="<%adminurl%>index.php?action=blogsettings&amp;blogid=<%requestblogid%>">(<%text(_BACK_TO_BLOGSETTINGS)%>)</a></p>
+        </ul><%pagefoot%>]]></part>
+    <part name="manageteam"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=blogsettings&amp;blogid=<%requestblogid%>">(<%text(_BACK_TO_BLOGSETTINGS)%>)</a></p>
         <h2><%text(_TEAM_TITLE)%><%blogsetting(name)%></h2>
         <h3><%text(_TEAM_CURRENT)%></h3>
         <%blogteamlist(admin/default)%>
@@ -1657,8 +1657,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="memberdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+        </form><%pagefoot%>]]></part>
+    <part name="memberdelete"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p><%text(_CONFIRMTXT_MEMBER%><b><%editmember(displayname)%></b></p>
             <p><%text(_WARNINGTXT_NOTDELMEDIAFILES)%></p>
             <form method="post" action="<%adminurl%>index.php">
@@ -1668,8 +1668,8 @@ selector();
                     <input type="hidden" name="memberid" value="<%editmember(id)%>" />
                     <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
                 </div>
-            </form>]]></part>
-    <part name="overview"><![CDATA[<%headmessage%>
+            </form><%pagefoot%>]]></part>
+    <part name="overview"><![CDATA[<%pagehead%><%headmessage%>
         <h2><%text(_OVERVIEW_YRBLOGS)%></h2>
         <%yrbloglist(admin/default)%>
         <h2><%text(_OVERVIEW_YRSETTINGS)%></h2>
@@ -1681,7 +1681,7 @@ selector();
         <%if(superadmin)%><h2><%text(_OVERVIEW_MANAGEMENT)%></h2>
         <ul>
             <li><a href="<%adminurl%>index.php?action=manage"><%text(_OVERVIEW_MANAGE)%></a></li>
-        </ul>]]></part>
+        </ul><%pagefoot%>]]></part>
     <part name="pagefoot"><![CDATA[<%if(loggedin)%><%ifnot(adminaction,showlogin)%><h2><%text(_LOGOUT)%></h2>
                     <ul>
                         <li><a href="<%adminurl%>index.php?action=overview"><%text(_BACKHOME)%></a></li>
@@ -1773,7 +1773,7 @@ selector();
                         <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>]]></part>
-    <part name="plugindelete"><![CDATA[            <h2><%text(_DELETE_CONFIRM)%></h2>
+    <part name="plugindelete"><![CDATA[<%pagehead%>            <h2><%text(_DELETE_CONFIRM)%></h2>
 
             <p><%text(_CONFIRMTXT_PLUGIN)%> <strong><%editpluginfo(name)%></strong>?</p>
             <form method="post" action="<%adminurl%>index.php"><div>
@@ -1782,12 +1782,12 @@ selector();
             <input type="hidden" name="plugid" value="<%editpluginfo(id)%>" />
             <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
             </div></form>
-]]></part>
-    <part name="pluginhelp"><![CDATA[        <p><a href="<%adminurl%>index.php?action=pluginlist">(<%text(_PLUGS_BACK)%>)</a></p>
+<%pagefoot%>]]></part>
+    <part name="pluginhelp"><![CDATA[<p><a href="<%adminurl%>index.php?action=pluginlist">(<%text(_PLUGS_BACK)%>)</a></p>
         <h2><%text(_PLUGS_HELP_TITLE)%>: <%helpplugname%></h2>
         <%pluginhelp%>
 ]]></part>
-    <part name="pluginlist"><![CDATA[        <p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+    <part name="pluginlist"><![CDATA[<%pagehead%>        <p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_PLUGS_TITLE_MANAGE)%><%helplink(plugins)%></h2>
         <h3><%text(_PLUGS_TITLE_INSTALLED)%> &nbsp;&nbsp;<span style="font-size:smaller"><%helplink('getplugins')%><%text(_PLUGS_TITLE_GETPLUGINS)%></a></span></h3>
         <%pluginlistlist(admin/default)%>
@@ -1811,8 +1811,8 @@ selector();
                 <%newpluginlist%>
                 </select>
                 <input type='submit' tabindex="40" value='<%text(_PLUGS_BTN_INSTALL)%>' />
-            </div></form><%else%><p><%text(_PLUGS_NOCANDIDATES)%></p><%endif%>]]></part>
-    <part name="pluginoptions"><![CDATA[<p><a href="<%adminurl%>index.php?action=pluginlist">(<%text(_PLUGS_BACK)%>)</a></p>
+            </div></form><%else%><p><%text(_PLUGS_NOCANDIDATES)%></p><%endif%><%pagefoot%>]]></part>
+    <part name="pluginoptions"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=pluginlist">(<%text(_PLUGS_BACK)%>)</a></p>
             <h2><%sprinttext(_PLUGIN_OPTIONS_TITLE,<|%geteditpluginfo(name)%|>)%></h2>
             <%headmessage%>
             <form action="<%adminurl%>index.php" method="post">
@@ -1823,8 +1823,8 @@ selector();
                     <%ticket%>
                     <%editplugoptionslist%>
                 </div>
-            </form>]]></part>
-    <part name="settingsedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+            </form><%pagefoot%>]]></part>
+    <part name="settingsedit"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_SETTINGS_TITLE)%></h2>
         <form action="<%adminurl%>index.php" method="post">
             <div>
@@ -1968,8 +1968,8 @@ selector();
             </div>
         </form>
         <h2><%text(_PLUGINS_EXTRA)%></h2>
-        <%pluginextras%>]]></part>
-    <part name="showlogin"><![CDATA[<h2><%text(_LOGIN)%></h2>
+        <%pluginextras%><%pagefoot%>]]></part>
+    <part name="showlogin"><![CDATA[<%pagehead%><h2><%text(_LOGIN)%></h2>
         <%headmessage%>
         <form action="<%adminurl%>index.php" method="post"><p>
             <%text(_LOGIN_NAME)%> <br /><input name="login"  tabindex="10" />
@@ -1985,8 +1985,8 @@ selector();
                 <br /><a href="forgotpassword.html"><%text(_LOGIN_FORGOT)%></a>
             </small>
             <%passrequestvars%>
-        </p></form>]]></part>
-    <part name="skindelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+        </p></form><%pagefoot%>]]></part>
+    <part name="skindelete"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p><%text(_CONFIRMTXT_SKIN)%><b><%editskintype(name)%></b> (<%editskintype(desc)%>)</p>
             <form method="post" action="<%adminurl%>index.php">
                 <div>
@@ -1995,8 +1995,8 @@ selector();
                     <input type="hidden" name="skinid" value="<%editskintype(id)%>" />
                     <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
                 </div>
-            </form>]]></part>
-    <part name="skinedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=skinoverview">(<%text(_SKIN_BACK)%>)</a></p>
+            </form><%pagefoot%>]]></part>
+    <part name="skinedit"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=skinoverview">(<%text(_SKIN_BACK)%>)</a></p>
         <h2><%text(_SKIN_EDITONE_TITLE)%> '<%editskin(name)%>'</h2>
         <h3><%text(_SKIN_PARTS_TITLE)%></h3>
         <%text(_SKIN_PARTS_MSG)%>
@@ -2045,8 +2045,8 @@ selector();
                     <td><input type="submit" tabindex="140" value="<%text(_SKIN_CHANGE_BTN)%>" onclick="return checkSubmit();" /></td>
                 </tr></table>
             </div>
-        </form>]]></part>
-    <part name="skinedittype"><![CDATA[<p>(<a href="<%adminurl%>index.php?action=skinoverview"><%text(_SKIN_GOBACK)%></a>)</p>
+        </form><%pagefoot%>]]></part>
+    <part name="skinedittype"><![CDATA[<%pagehead%><p>(<a href="<%adminurl%>index.php?action=skinoverview"><%text(_SKIN_GOBACK)%></a>)</p>
         <h2><%text(_SKIN_EDITPART_TITLE)%> '<%editskintype(name)%>': <%editskintype(skintype)%></h2>
         <%headmessage%>
         <form method="post" action="<%adminurl%>index.php">
@@ -2071,16 +2071,16 @@ selector();
                 <%text(_SKINEDIT_ALLOWEDTEMPLATESS)%>
                 <%skineditallowedlist(template)%><br />
             </div>
-        </form>]]></part>
-    <part name="skiniedoimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </form><%pagefoot%>]]></part>
+    <part name="skiniedoimport"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_SKINIE_DONE)%></h2>
 
         <ul>
             <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>
             <li><p><strong><%text(_SKINIE_INFO_IMPORTEDSKINS)%></strong> <%importskininfo(snames)%></p></li>
             <li><p><strong><%text(_SKINIE_INFO_IMPORTEDTEMPLS)%></strong> <%importskininfo(tnames)%></p></li>
-        </ul>]]></part>
-    <part name="skinieimport"><![CDATA[<p><a href="<%adminurl%>index.php?action=skinieoverview">(<%text(_BACK)%>)</a></p>
+        </ul><%pagefoot%>]]></part>
+    <part name="skinieimport"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=skinieoverview">(<%text(_BACK)%>)</a></p>
         <h2><%text(_SKINIE_CONFIRM_TITLE)%></h2>
         <ul>
             <li><p><strong><%text(_SKINIE_INFO_GENERAL)%></strong> <%importskininfo(info)%></p></li>
@@ -2098,8 +2098,8 @@ selector();
             <input type="submit" value="<%text(_SKINIE_CONFIRM_IMPORT)%>" />
             <%if(nameclashes)%><br />
             <input type="checkbox" name="overwrite" value="1" id="cb_overwrite" /><label for="cb_overwrite"><%text(_SKINIE_CONFIRM_OVERWRITE)%></label><%endif%>
-        </div></form>]]></part>
-    <part name="skinieoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </div></form><%pagefoot%>]]></part>
+    <part name="skinieoverview"><![CDATA[<%pagehead%><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>
@@ -2150,8 +2150,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="skinoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </form><%pagefoot%>]]></part>
+    <part name="skinoverview"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_SKIN_EDIT_TITLE)%></h2>
         <h3><%text(_SKIN_AVAILABLE_TITLE)%></h3>
         <%skinoverview%>
@@ -2174,8 +2174,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="skinremovetype"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+        </form><%pagefoot%>]]></part>
+    <part name="skinremovetype"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p><%text(_CONFIRMTXT_SKIN_PARTS_SPECIAL)%><b><%editskintype(skintype)%> (<%editskintype(name)%>)</b> (<%editskintype(desc)%>)</p>
             <form method="post" action="<%adminurl%>index.php">
                 <div>
@@ -2185,8 +2185,8 @@ selector();
                     <input type="hidden" name="type" value="<%editskintype(skintype)%>" />
                     <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
                 </div>
-            </form>]]></part>
-    <part name="systemoverview"><![CDATA[        <h2><%text(_ADMIN_SYSTEMOVERVIEW_HEADING)%></h2>
+            </form><%pagefoot%>]]></part>
+    <part name="systemoverview"><![CDATA[<%pagehead%><h2><%text(_ADMIN_SYSTEMOVERVIEW_HEADING)%></h2>
 <%if(superadmin)%>
         <h3><%text(_ADMIN_SYSTEMOVERVIEW_PHPANDMYSQL)%></h3>
         <table summary="Version of PHP MySQL">
@@ -2264,8 +2264,9 @@ selector();
         </a><br />
 <%else%>
         <%text(_ADMIN_SYSTEMOVERVIEW_NOT_ADMIN)%>
-]]></part>
-    <part name="teamdelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+<%endif%>
+<%pagefoot%>]]></part>
+    <part name="teamdelete"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p>
                 <%text(_CONFIRMTXT_TEAM1)%>
                 <b>
@@ -2283,8 +2284,8 @@ selector();
                 <input type="hidden" name="memberid" value="<%editmember(id)%>" />
             <input type="hidden" name="blogid" value="<%requestblogid%>" />
             <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
-            </div></form>]]></part>
-    <part name="templatedelete"><![CDATA[<h2><%text(_DELETE_CONFIRM)%></h2>
+            </div></form><%pagefoot%>]]></part>
+    <part name="templatedelete"><![CDATA[<%pagehead%><h2><%text(_DELETE_CONFIRM)%></h2>
             <p><%text(_CONFIRMTXT_TEMPLATE)%><b><%edittemplateinfo(name)%></b> (<%edittemplateinfo(desc)%>)</p>
             <form method="post" action="<%adminurl%>index.php">
                 <div>
@@ -2293,8 +2294,8 @@ selector();
                     <input type="hidden" name="templateid" value="<%edittemplateinfo(id)%>" />
                     <input type="submit" tabindex="10" value="<%text(_DELETE_CONFIRM_BTN)%>" />
                 </div>
-            </form>]]></part>
-    <part name="templateedit"><![CDATA[<p><a href="<%adminurl%>index.php?action=templateoverview">(<%text(_TEMPLATE_BACK)%>)</a></p>
+            </form><%pagefoot%>]]></part>
+    <part name="templateedit"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=templateoverview">(<%text(_TEMPLATE_BACK)%>)</a></p>
 
         <h2><%text(_TEMPLATE_EDIT_TITLE)%> '<%edittemplateinfo(name)%>'</h2>
         <%headmessage%>
@@ -2389,8 +2390,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="templateoverview"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </form><%pagefoot%>]]></part>
+    <part name="templateoverview"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
         <h2><%text(_TEMPLATE_TITLE)%></h2>
         <h3><%text(_TEMPLATE_AVAILABLE_TITLE)%></h3>
         <%templateoverview%>
@@ -2412,8 +2413,8 @@ selector();
                     </tr>
                 </table>
             </div>
-        </form>]]></part>
-    <part name="usermanagement"><![CDATA[<p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
+        </form><%pagefoot%>]]></part>
+    <part name="usermanagement"><![CDATA[<%pagehead%><p><a href="<%adminurl%>index.php?action=manage">(<%text(_BACKTOMANAGE)%>)</a></p>
             <h2><%text(_MEMBERS_TITLE)%></h2>
             <h3><%text(_MEMBERS_CURRENT)%></h3>
             <%editmemberlist(admin/default)%>
@@ -2459,7 +2460,7 @@ selector();
                         <td><input type="submit" value="<%text(_MEMBERS_NEW_BTN)%>" tabindex="10090" onclick="return checkSubmit();" /></td>
                     </tr></table>
                 </div>
-            </form>]]></part>
+            </form><%pagefoot%>]]></part>
   </skin>
   <template name="admin/default">
     <description><![CDATA[デフォルト管理画面用テンプレート]]></description>