OSDN Git Service

Merge branch 'skinnable-master' of ssh://shizuki@git.sourceforge.jp/gitroot/nucleus...
[nucleus-jp/nucleus-next.git] / nucleus / libs / PLUGINADMIN.php
index ae254b6..5cdd11d 100644 (file)
@@ -2,7 +2,7 @@
 \r
 /*\r
  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
- * Copyright (C) 2002-2009 The Nucleus Group\r
+ * Copyright (C) 2002-2012 The Nucleus Group\r
  *\r
  * This program is free software; you can redistribute it and/or\r
  * modify it under the terms of the GNU General Public License\r
  * code to make it easier to create plugin admin areas\r
  *\r
  * @license http://nucleuscms.org/license.txt GNU General Public License\r
- * @copyright Copyright (C) 2002-2009 The Nucleus Group\r
+ * @copyright Copyright (C) 2002-2012 The Nucleus Group\r
  * @version $Id: PLUGINADMIN.php 1626 2012-01-09 15:46:54Z sakamocchi $\r
  */\r
 \r
 class PluginAdmin\r
 {\r
-       var $strFullName;               // NP_SomeThing\r
-       var $plugin;                    // ref. to plugin object\r
-       var $bValid;                    // evaluates to true when object is considered valid\r
-       var $admin;                             // ref to an admin object\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
-       function PluginAdmin($pluginName)\r
+       public function __construct($pluginName)\r
        {\r
-               global $manager;\r
-               include_once($DIR_LIBS . 'ADMIN.php');\r
-               include_libs('ADMIN.php',true,true);\r
-\r
-               $this->strFullName = 'NP_' . $pluginName;\r
-\r
+               global $manager, $DIR_LIBS;\r
+               \r
+               if ( !class_exists('Admin', FALSE) )\r
+               {\r
+                       include($DIR_LIBS . 'ADMIN.php');\r
+               }\r
+               \r
+               $this->strFullName = "NP_{$pluginName}";\r
+               \r
                // check if plugin exists and is installed\r
                if ( !$manager->pluginInstalled($this->strFullName) )\r
                {\r
                        doError(_ERROR_INVALID_PLUGIN);\r
                }\r
-\r
-               $this->plugin =$manager->getPlugin($this->strFullName);\r
-               $this->bValid = $this->plugin;\r
-\r
+               \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
+               \r
+               Admin::initialize();\r
+               Admin::setAdminAction("plugin_{$pluginName}");\r
+               \r
+               return;\r
        }\r
-\r
-       function start($extraHead = '')\r
+       \r
+       /**\r
+        * PluginAdmin::start()\r
+        * \r
+        * @param       string  $extraHead      child elements for header element\r
+        * @return      void\r
+        */\r
+       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
+               $extrahead = '<base href="' . Entity::hsc($CONF['AdminURL']) . '" />' . "\n";\r
+               Admin::PluninAdminPagehead($extrahead);\r
+               return;\r
        }\r
-\r
-       function end()\r
+       \r
+       /**\r
+        * PluginAdmin::end()\r
+        * \r
+        * @param       void\r
+        * @return      void\r
+        */\r
+       public function end()\r
        {\r
-               $this->_AddTicketByJS();\r
-               $this->admin->pagefoot();\r
+               $this->AddTicketByJS();\r
+               Admin::PluninAdminPagefoot();\r
+               return;\r
        }\r
-\r
-/** \r
- * Add ticket when not used in plugin's admin page\r
- * to avoid CSRF.\r
- */\r
-       function _AddTicketByJS(){\r
+       \r
+       /**\r
+        * PluginAdmin::_AddTicketByJS()\r
+        * Add ticket when not used in plugin's admin page\r
+        * to avoid CSRF.\r
+        * \r
+        * @param       void\r
+        * @return      void\r
+        */\r
+       private function AddTicketByJS()\r
+       {\r
                global $CONF,$ticketforplugin;\r
-               if ( !($ticket=$ticketforplugin['ticket']) ) \r
+               if ( !($ticket = $ticketforplugin['ticket']) )\r
                {\r
-                       //echo "\n<!--TicketForPlugin skipped-->\n";\r
                        return;\r
                }\r
                $ticket=Entity::hsc($ticket);\r
\r
+\r
 ?><script type="text/javascript">\r
 /*<![CDATA[*/\r
 /* Add tickets for available links (outside blog excluded) */\r
@@ -132,7 +153,7 @@ for (i=0;document.forms[i];i++){
 }\r
 /*]]>*/\r
 </script><?php\r
\r
+       return;\r
        }\r
 }\r
 \r