OSDN Git Service

translated
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / libs / PLUGINADMIN.php
1 <?php\r
2 \r
3 /**\r
4   * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
5   * Copyright (C) 2002-2004 The Nucleus Group\r
6   *\r
7   * This program is free software; you can redistribute it and/or\r
8   * modify it under the terms of the GNU General Public License\r
9   * as published by the Free Software Foundation; either version 2\r
10   * of the License, or (at your option) any later version.\r
11   * (see nucleus/documentation/index.html#license for more info)\r
12   *\r
13   * code to make it easier to create plugin admin areas\r
14   */\r
15 \r
16 global $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_ENV_VARS, $HTTP_POST_FILES, $HTTP_SESSION_VARS;\r
17 $aVarsToCheck = array('DIR_LIBS');\r
18 foreach ($aVarsToCheck as $varName)\r
19 {\r
20         if (phpversion() >= '4.1.0')\r
21         {\r
22                 if (   isset($_GET[$varName]) \r
23                         || isset($_POST[$varName]) \r
24                         || isset($_COOKIE[$varName])\r
25                         || isset($_ENV[$varName])\r
26                         || isset($_SESSION[$varName])\r
27                         || isset($_FILES[$varName])\r
28                 ){\r
29                         die('Sorry. An error occurred.');\r
30                 }\r
31         } else {\r
32                 if (   isset($HTTP_GET_VARS[$varName]) \r
33                         || isset($HTTP_POST_VARS[$varName]) \r
34                         || isset($HTTP_COOKIE_VARS[$varName])\r
35                         || isset($HTTP_ENV_VARS[$varName])\r
36                         || isset($HTTP_SESSION_VARS[$varName])\r
37                         || isset($HTTP_POST_FILES[$varName])\r
38                 ){\r
39                         die('Sorry. An error occurred.');\r
40                 }               \r
41         }\r
42 }\r
43 \r
44 \r
45 include($DIR_LIBS . 'ADMIN.php');\r
46 \r
47 class PluginAdmin {\r
48         \r
49         var $strFullName;               // NP_SomeThing\r
50         var $plugin;                    // ref. to plugin object\r
51         var $bValid;                    // evaluates to true when object is considered valid\r
52         var $admin;                             // ref to an admin object\r
53         \r
54         function PluginAdmin($pluginName)\r
55         {\r
56                 global $manager;\r
57                 \r
58                 $this->strFullName = 'NP_' . $pluginName;\r
59                 \r
60                 // check if plugin exists and is installed\r
61                 if (!$manager->pluginInstalled($this->strFullName))\r
62                         doError('Invalid plugin');\r
63                 \r
64                 $this->plugin =& $manager->getPlugin($this->strFullName);\r
65                 $this->bValid = $this->plugin;\r
66         \r
67                 if (!$this->bValid)\r
68                         doError('Invalid plugin');\r
69                 \r
70                 $this->admin = new ADMIN();\r
71                 $this->admin->action = 'plugin_' . $pluginName;\r
72         }\r
73         \r
74         function start($extraHead = '')\r
75         {\r
76                 global $CONF;\r
77                 $strBaseHref  = '<base href="' . htmlspecialchars($CONF['AdminURL']) . '" />';  \r
78                 $extraHead .= $strBaseHref;\r
79                 \r
80                 $this->admin->pagehead($extraHead);\r
81         }\r
82         \r
83         function end()\r
84         {\r
85                 $this->admin->pagefoot();\r
86         }       \r
87 }\r
88 \r
89 \r
90 \r
91 ?>