4 * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
\r
5 * Copyright (C) 2002-2005 The Nucleus Group
\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
13 * code to make it easier to create plugin admin areas
\r
15 * $Id: PLUGINADMIN.php,v 1.3 2005-03-16 08:10:35 kimitake Exp $
\r
16 * $NucleusJP: PLUGINADMIN.php,v 1.3 2005/03/12 06:19:05 kimitake Exp $
\r
19 global $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_ENV_VARS, $HTTP_POST_FILES, $HTTP_SESSION_VARS;
\r
20 $aVarsToCheck = array('DIR_LIBS');
\r
21 foreach ($aVarsToCheck as $varName)
\r
23 if (phpversion() >= '4.1.0')
\r
25 if ( isset($_GET[$varName])
\r
26 || isset($_POST[$varName])
\r
27 || isset($_COOKIE[$varName])
\r
28 || isset($_ENV[$varName])
\r
29 || isset($_SESSION[$varName])
\r
30 || isset($_FILES[$varName])
\r
32 die('Sorry. An error occurred.');
\r
35 if ( isset($HTTP_GET_VARS[$varName])
\r
36 || isset($HTTP_POST_VARS[$varName])
\r
37 || isset($HTTP_COOKIE_VARS[$varName])
\r
38 || isset($HTTP_ENV_VARS[$varName])
\r
39 || isset($HTTP_SESSION_VARS[$varName])
\r
40 || isset($HTTP_POST_FILES[$varName])
\r
42 die('Sorry. An error occurred.');
\r
48 include($DIR_LIBS . 'ADMIN.php');
\r
52 var $strFullName; // NP_SomeThing
\r
53 var $plugin; // ref. to plugin object
\r
54 var $bValid; // evaluates to true when object is considered valid
\r
55 var $admin; // ref to an admin object
\r
57 function PluginAdmin($pluginName)
\r
61 $this->strFullName = 'NP_' . $pluginName;
\r
63 // check if plugin exists and is installed
\r
64 if (!$manager->pluginInstalled($this->strFullName))
\r
65 doError('Invalid plugin');
\r
67 $this->plugin =& $manager->getPlugin($this->strFullName);
\r
68 $this->bValid = $this->plugin;
\r
71 doError('Invalid plugin');
\r
73 $this->admin = new ADMIN();
\r
74 $this->admin->action = 'plugin_' . $pluginName;
\r
77 function start($extraHead = '')
\r
80 $strBaseHref = '<base href="' . htmlspecialchars($CONF['AdminURL']) . '" />';
\r
81 $extraHead .= $strBaseHref;
\r
83 $this->admin->pagehead($extraHead);
\r
88 $this->admin->pagefoot();
\r