OSDN Git Service

CHANGE: new SkinではなくManager:getSkin()を用いるよう変更
authorsakamocchi <o-takashi@sakamocchi.jp>
Sun, 27 May 2012 02:48:28 +0000 (11:48 +0900)
committersakamocchi <o-takashi@sakamocchi.jp>
Sun, 27 May 2012 02:48:28 +0000 (11:48 +0900)
前回のコミットで追加した、Managerクラスのスキンオブジェクトキャッシュ機構を利用するように修正。

action.php
nucleus/bookmarklet.php
nucleus/index.php
nucleus/libs/ADMIN.php
nucleus/libs/AdminActions.php
nucleus/libs/MANAGER.php
nucleus/libs/SKIN.php
nucleus/libs/globalfunctions.php
nucleus/libs/showlist.php
nucleus/libs/skinie.php
nucleus/xmlrpc/server.php

index 6cf854a..6cbe25e 100644 (file)
@@ -28,7 +28,7 @@ $errorInfo = $a->doAction($action);
 \r
 if ( $errorInfo )\r
 {\r
-       $skin = new SKIN($errorInfo['skinid']);\r
+       $skin =& $manager->getSkin($errorInfo['skinid']);\r
        doError($errorInfo['message'], $skin);\r
 }\r
 \r
index 6c2bee1..a7ddd84 100644 (file)
@@ -32,7 +32,7 @@ if ( !Skin::existsID($skinid) )
        echo _ERROR_SKIN;
        exit;
 }
-$skin = new Skin($skinid, 'AdminActions', 'AdminSkin');
+$skin =& $manager->getSkin($skinid, 'AdminActions', 'AdminSkin');
 
 // check logged-in or pass through
 $action = requestVar('action');
index a2b5368..cad6257 100644 (file)
@@ -83,7 +83,7 @@ if ( !Admin::initialize() )
        /* TODO: this is a bad way... */
        sendContentType('text/html', 'admin-' . $action);
        
-       $skin = new Skin(0, 'AdminActions', 'AdminSkin');
+       $skin =& $manager->getSkin(0, 'AdminActions', 'AdminSkin');
        if ( $bNeedsLogin )
        {
                $skin->parse('fileparse', $DIR_SKINS . 'admin/showlogin.skn');
index 1800e68..8fa7310 100644 (file)
@@ -151,7 +151,7 @@ class Admin
        \r
        static public function initialize()\r
        {\r
-               global $CONF, $DIR_LIBS;\r
+               global $CONF, $DIR_LIBS, $manager;\r
                \r
                /* NOTE: 1. decide which skinid to use */\r
                $skinid = $CONF['AdminSkin'];\r
@@ -174,7 +174,7 @@ class Admin
                }\r
                \r
                /* NOTE: 3. initializing each members */\r
-               self::$skin                     = new Skin($skinid, 'AdminActions', 'AdminSkin');\r
+               self::$skin                     =& $manager->getSkin($skinid, 'AdminActions', 'AdminSkin');\r
                self::$action           = '';\r
                self::$extrahead        = '';\r
                self::$passvar          = '';\r
@@ -250,7 +250,7 @@ class Admin
                }\r
                elseif ( $id != $CONF['AdminSkin'] )\r
                {\r
-                       self::$skin = new Skin($CONF['AdminSkin'], 'AdminActions');\r
+                       self::$skin =& $manager->getSkin($CONF['AdminSkin'], 'AdminActions');\r
                        if ( self::$skin && self::existsSkinContents('adminerrorpage') )\r
                        {\r
                                self::error(_BADACTION . ENTITY::hsc($action));\r
@@ -3719,7 +3719,7 @@ class Admin
         */\r
        static private function action_skineditgeneral()\r
        {\r
-               global $member;\r
+               global $manager, $member;\r
                \r
                $skinid = intRequestVar('skinid');\r
                \r
@@ -3731,7 +3731,7 @@ class Admin
                $inc_mode       = postVar('inc_mode');\r
                $inc_prefix     = postVar('inc_prefix');\r
                \r
-               $skin = new Skin($skinid);\r
+               $skin =& $manager->getSkin($skinid);\r
                \r
                // 1. Some checks\r
                if ( !isValidSkinName($name) )\r
@@ -3793,7 +3793,7 @@ class Admin
         */\r
        static private function action_skinupdate()\r
        {\r
-               global $member;\r
+               global $manager, $member;\r
                \r
                $skinid = intRequestVar('skinid');\r
                $content = trim(postVar('content'));\r
@@ -3801,7 +3801,7 @@ class Admin
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               $skin = new SKIN($skinid);\r
+               $skin =& $manager->getSKIN($skinid);\r
                $skin->update($type, $content);\r
                \r
                self::action_skinedittype(_SKIN_UPDATED);\r
@@ -3816,7 +3816,7 @@ class Admin
         */\r
        static private function action_skindelete()\r
        {\r
-               global $member, $manager, $CONF;\r
+               global $manager, $member, $CONF;\r
                \r
                $skinid = intRequestVar('skinid');\r
                \r
@@ -3978,14 +3978,14 @@ class Admin
         */\r
        static private function action_skinclone()\r
        {\r
-               global $member;\r
+               global $manager, $member;\r
                \r
                $member->isAdmin() or self::disallow();\r
                \r
                $skinid = intRequestVar('skinid');\r
                \r
                // 1. read skin to clone\r
-               $skin = new Skin($skinid);\r
+               $skin =& $manager->getSkin($skinid);\r
                \r
                $name = "{$skin->getName()}_clone";\r
                \r
@@ -4115,7 +4115,7 @@ class Admin
         */\r
        static private function action_adminskineditgeneral()\r
        {\r
-               global $member;\r
+               global $manager, $member;\r
                \r
                $skinid = intRequestVar('skinid');\r
                \r
@@ -4127,7 +4127,7 @@ class Admin
                $inc_mode       = postVar('inc_mode');\r
                $inc_prefix     = postVar('inc_prefix');\r
                \r
-               $skin = new Skin($skinid, 'AdminActions', 'AdminSkin');\r
+               $skin =& $manager->getSkin($skinid, 'AdminActions', 'AdminSkin');\r
                \r
                // 1. Some checks\r
                if ( !isValidSkinName($name) )\r
@@ -4189,14 +4189,15 @@ class Admin
         */\r
        static private function action_adminskinupdate()\r
        {\r
-               global $member;\r
-               $skinid         = intRequestVar('skinid');\r
-               $content        = trim(postVar('content'));\r
-               $type           = postVar('type');\r
+               global $manager, $member;\r
+               \r
+               $skinid = intRequestVar('skinid');\r
+               $content = trim(postVar('content'));\r
+               $type = postVar('type');\r
                \r
                $member->isAdmin() or self::disallow();\r
                \r
-               $skin = new Skin($skinid, 'Admin', 'AdminSkin');\r
+               $skin =& $manager->getSkin($skinid, 'Admin', 'AdminSkin');\r
                $skin->update($type, $content);\r
                self::action_adminskinedittype(_SKIN_UPDATED);\r
                return;\r
@@ -4343,14 +4344,14 @@ class Admin
         */\r
        static private function action_adminskinclone()\r
        {\r
-               global $member;\r
+               global $manager, $member;\r
                \r
                $member->isAdmin() or self::disallow();\r
                \r
                $skinid = intRequestVar('skinid');\r
                \r
                // 1. read skin to clone\r
-               $skin = new Skin($skinid, 'Admin', 'AdminSkin');\r
+               $skin =& $manager->getSkin($skinid, 'Admin', 'AdminSkin');\r
                $name = "{$skin->getName()}_clone";\r
                \r
                // if a skin with that name already exists:\r
@@ -4504,7 +4505,7 @@ class Admin
         */\r
        static private function action_adminskiniedoimport()\r
        {\r
-               global $DIR_LIBS, $DIR_SKINS, $member;\r
+               global $DIR_LIBS, $DIR_SKINS, $manager, $member;\r
                \r
                $member->isAdmin() or self::disallow();\r
                \r
@@ -4558,7 +4559,7 @@ class Admin
                        $query  = "UPDATE %s SET value = %d WHERE name = 'AdminSkin'";\r
                        $query  = sprintf($query, sql_table('config'), $res);\r
                        DB::execute($query);\r
-                       $skin   = new Skin(0, 'AdminActions', 'AdminSkin');\r
+                       $skin   =& $manager->Skin(0, 'AdminActions', 'AdminSkin');\r
                        $skin->parse('importAdmin', $DIR_SKINS . 'admin/defaultimporter.skn');\r
                }\r
                else\r
index 7651600..0e1aca6 100644 (file)
@@ -1076,17 +1076,19 @@ class AdminActions extends BaseActions
         */
        public function parse_allowedskinactions()
        {
+               global $manager;
+               
                $type = strtolower(trim(requestVar('type')));
                $skinid = intRequestVar('skinid');
                
                if ( !preg_match('#^admin#', $this->skintype) )
                {
-                       $skin = new Skin($skinid);
+                       $skin =& $manager->getSkin($skinid);
                        $tag = 'skinvar';
                }
                else
                {
-                       $skin = new Skin($skinid, 'AdminActions');
+                       $skin =& $manager->getSkin($skinid, 'AdminActions');
                        $tag = 'adminskinvar';
                }
                
@@ -1899,13 +1901,13 @@ class AdminActions extends BaseActions
                
                if ( !preg_match('#^admin#', $this->skintype) )
                {
-                       $skin = new Skin($CONF['BaseSkin']);
+                       $skin =& $manager->getSkin($CONF['BaseSkin']);
                        /* TODO: removeaction? */
                        $template['editaction'] = 'skinedittype';
                }
                else
                {
-                       $skin = new Skin($CONF['AdminSkin'], 'AdminActions');
+                       $skin =& $manager->getSkin($CONF['AdminSkin'], 'AdminActions');
                        $template['editaction'] = 'adminskinedittype';
                        /* TODO: removeaction? */
                }
@@ -2375,15 +2377,17 @@ class AdminActions extends BaseActions
         */
        public function parse_editskin($type = 'id')
        {
+               global $manager;
+               
                $skinid = intRequestVar('skinid');
                
                if ( !preg_match('#^admin#', $this->skintype) )
                {
-                       $skin = new SKIN($skinid);
+                       $skin =& $manager->getSKIN($skinid);
                }
                else
                {
-                       $skin = new SKIN($skinid, 'AdminActions');
+                       $skin =& $manager->getSKIN($skinid, 'AdminActions');
                }
                
                switch ( $type )
@@ -2420,6 +2424,8 @@ class AdminActions extends BaseActions
         */
        public function parse_editskintype($stype = 'id')
        {
+               global $manager;
+               
                static $skin = NULL;
                static $types = array();
                
@@ -2429,11 +2435,11 @@ class AdminActions extends BaseActions
                        
                        if ( !preg_match('#^admin#', $this->skintype) )
                        {
-                               $skin = new Skin($skinid);
+                               $skin =& $manager->getSkin($skinid);
                        }
                        else
                        {
-                               $skin = new Skin($skinid, 'AdminActions');
+                               $skin =& $manager->getSkin($skinid, 'AdminActions');
                        }
                        
                        $types = $skin->getDefaultTypes();
@@ -4225,13 +4231,13 @@ class AdminActions extends BaseActions
                
                if ( !preg_match('#^admin#', $this->skintype) )
                {
-                       $skin = new Skin($skinid);
+                       $skin =& $manager->getSkin($skinid);
                        $template['editaction'] = 'skinedittype';
                        $template['removeaction'] = 'skinremovetype';
                }
                else
                {
-                       $skin = new Skin($skinid, 'AdminActions');
+                       $skin =& $manager->getSkin($skinid, 'AdminActions');
                        $template['editaction'] = 'adminskinedittype';
                        $template['removeaction'] = 'adminskinremovetype';
                }
index e1fe1d4..1fc1c65 100644 (file)
@@ -225,9 +225,14 @@ class Manager
        }\r
        \r
        /**\r
+        * Manager::getSkin()\r
         * \r
+        * @param       integer $skinid                         ID for skin\r
+        * @param       string  $action_class           action class for handling skin variables\r
+        * @param       string  $event_identifier       identifier for event name\r
+        * @return      object  instance of Skin class\r
         */\r
-       public function &getSkin($skinid, $action_class='', $event_identifier='')\r
+       public function &getSkin($skinid, $action_class='Actions', $event_identifier='Skin')\r
        {\r
                if ( !array_key_exists($skinid, $this->skins) )\r
                {\r
index b4abe0c..82e73a6 100644 (file)
@@ -54,9 +54,7 @@ class Skin
                \r
                $this->id = (integer) $id;\r
                \r
-               /*\r
-                * NOTE: include needed action class\r
-                */\r
+               /* NOTE: include needed action class */\r
                if ( $action_class != 'Actions' )\r
                {\r
                        if ( !class_exists($action_class, FALSE)\r
index 7e7fee6..420f1c1 100644 (file)
@@ -1246,7 +1246,7 @@ function selector()
                $type = strtolower($special);\r
        }\r
        \r
-       $skin = new SKIN($skinid);\r
+       $skin =& $manager->get($skinid);\r
        \r
        if ( !$skin->isValid() )\r
        {\r
@@ -1297,7 +1297,7 @@ function doError($msg, $skin = '')
                        // this statement should actually never be executed\r
                        $id = $CONF['BaseSkin'];\r
                }\r
-               $skin = new Skin($id);\r
+               $skin =& $manager->getSkin($id);\r
        }\r
        \r
        $errormessage = $msg;\r
@@ -1367,15 +1367,15 @@ function removeBreaks($var)
  */\r
 function parseFile($filename, $includeMode = 'normal', $includePrefix = '')\r
 {\r
-       global $skinid;\r
+       global $manager, $skinid;\r
        \r
        if ( !$skinid || !existsID($skinid) )\r
        {\r
-               $skin = new Skin($CONF['BaseSkin']);\r
+               $skin =& $manager->getSkin($CONF['BaseSkin']);\r
        }\r
        else\r
        {\r
-               $skin = new Skin($skinid);\r
+               $skin =& $manager->getSkin($skinid);\r
        }\r
        \r
        $oldIncludeMode = Parser::getProperty('IncludeMode');\r
index efe6aab..14b2929 100644 (file)
@@ -1741,11 +1741,11 @@ function listplug_table_skinlist($vars, $type, $template_name = '')
                        \r
                        if ( !preg_match('#^admin#', $current['sdname']) )\r
                        {\r
-                               $skin = new Skin($current['sdnumber']);\r
+                               $skin =& $manager->getSkin($current['sdnumber']);\r
                        }\r
                        else\r
                        {\r
-                               $skin = new Skin($current['sdnumber'], 'AdminActions');\r
+                               $skin =& $manager->getSkin($current['sdnumber'], 'AdminActions');\r
                        }\r
                        $available_types = $skin->getAvailableTypes();\r
                        \r
index e15d0bd..30e55e3 100644 (file)
@@ -210,6 +210,8 @@ class SkinImport
         */\r
        public function writeToDatabase($allowOverwrite = 0)\r
        {\r
+               global $manager;\r
+               \r
                $existingSkins = $this->checkSkinNameClashes();\r
                $existingTemplates = $this->checkTemplateNameClashes();\r
                $invalidSkinNames = $this->checkSkinNamesValid();\r
@@ -270,7 +272,7 @@ class SkinImport
                                        $data['includeMode'],\r
                                        $data['includePrefix']\r
                                );\r
-                               $skinObj = new SKIN($skinid);\r
+                               $skinObj =& $manager->getSkin($skinid);\r
                        }\r
                        \r
                        // 2. add parts\r
@@ -698,7 +700,7 @@ class SkinExport
                foreach ($this->skins as $skinId => $skinName)\r
                {\r
                        $skinId = intval($skinId);\r
-                       $skinObj = new SKIN($skinId);\r
+                       $skinObj =& $manager->getSkin($skinId);\r
                        \r
                        echo "\t" . '<skin name="' . Entity::hsc($skinName) . '" type="' . Entity::hsc($skinObj->getContentType()) . '" includeMode="' . Entity::hsc($skinObj->getIncludeMode()) . '" includePrefix="' . Entity::hsc($skinObj->getIncludePrefix()) . '">' . "\n";\r
                        echo "\t\t<description>" . Entity::hsc($skinObj->getDescription()) . "</description>\n";\r
index 462e340..ead2bf2 100644 (file)
@@ -282,7 +282,7 @@ function _getSkinPart($blogid, $username, $password, $type) {
 
        // 3. return skin part
        $blog =& $manager->getBlog($blogid);
-       $skin = new SKIN($blog->getDefaultSkin());
+       $skin =& $manager->getSkin($blog->getDefaultSkin());
        return new xmlrpcresp(new xmlrpcval($skin->getContentFromDB($type),"string"));
 
 }
@@ -303,7 +303,7 @@ function _setSkinPart($blogid, $username, $password, $content, $type) {
 
        // 3. update skin part
        $blog =& $manager->getBlog($blogid);
-       $skin = new SKIN($blog->getDefaultSkin());
+       $skin =& $manager->getSkin($blog->getDefaultSkin());
        $skin->update($type, $content);
 
        return new xmlrpcresp(new xmlrpcval(1,'boolean'));