4 * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
\r
5 * Copyright (C) 2002-2004 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
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
20 if (phpversion() >= '4.1.0')
\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
29 die('Sorry. An error occurred.');
\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
39 die('Sorry. An error occurred.');
\r
45 include($DIR_LIBS . 'ADMIN.php');
\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
54 function PluginAdmin($pluginName)
\r
58 $this->strFullName = 'NP_' . $pluginName;
\r
60 // check if plugin exists and is installed
\r
61 if (!$manager->pluginInstalled($this->strFullName))
\r
62 doError('Invalid plugin');
\r
64 $this->plugin =& $manager->getPlugin($this->strFullName);
\r
65 $this->bValid = $this->plugin;
\r
68 doError('Invalid plugin');
\r
70 $this->admin = new ADMIN();
\r
71 $this->admin->action = 'plugin_' . $pluginName;
\r
74 function start($extraHead = '')
\r
77 $strBaseHref = '<base href="' . htmlspecialchars($CONF['AdminURL']) . '" />';
\r
78 $extraHead .= $strBaseHref;
\r
80 $this->admin->pagehead($extraHead);
\r
85 $this->admin->pagefoot();
\r