function User_upgrade($oldversion) { // Upgrade dependent on old version number switch ($oldversion) { case 0.1: //Upgrade from 0.1 to 0.2 pnConfigSetVar('reg_allowreg', '1'); pnConfigSetVar('reg_verifyemail', '1'); pnConfigSetVar('reg_Illegalusername', 'root adm linux webmaster admin god administrator administrador nobody anonymous anonimo'); pnConfigSetVar('reg_noregreasons', 'Sorry, registration is disabled at this time.'); pnConfigSetVar('reg_uniemail', '1'); break; } return true; }
echo '<p>This script will upgrade postnuke from versions 0.71+ to the most current release. Upgrades from prior releases are not supported by this script.</p>'; // load postnuke core include 'includes/pnAPI.php'; pnInit(); // get our input list($task, $username, $password) = pnVarCleanFromInput('task', 'username', 'password'); // login to supplied admin credentials if ($task === 'regenerate' || $task === 'upgrade') { if (!pnUserLogin($username, $password)) { die('Failed to login to your site'); } } switch ($task) { case 'regenerate': // ensure that the default theme is extralite pnConfigSetVar('Default_Theme', 'ExtraLite'); // regenerate the modules list pnModAPIFunc('Modules', 'admin', 'regenerate'); echo 'Modules list regenerated.<br />' . "\n"; // check some config vars in config.php echo 'Before proceeding please ensure that the following lines exist in config.php' . "\n"; echo '<ul>' . "\n"; echo '<li>$pnconfig[\'dbtabletype\'] = \'MyISAM\';</li>' . "\n"; echo '<li>$pnconfig[\'pconnect\'] = \'0\';</li>' . "\n"; echo '<li>$pnconfig[\'temp\'] = \'pnTemp\';</li>' . "\n"; echo '<li>$pndebug[\'pagerendertime\'] = 0;</li>' . "\n"; echo '</ul>' . "\n"; echo "<a href=\"upgrade.php?username={$username}&password={$password}&task=upgrade\">Upgrade all modules.</a>\n"; break; case 'upgrade': // get a list of modules needing upgrading
function settings_admin_generate($vars) { if (!pnSecAuthAction(0, 'Settings::', '::', ACCESS_ADMIN)) { include 'header.php'; echo _SETTINGSNOAUTH; include 'footer.php'; return; } /* * Write the vars */ // TODO - fix this so that it fetches each value manually, otherwise // this is a security hole if (!pnSecConfirmAuthKey()) { include 'header.php'; echo _BADAUTHKEY; include 'footer.php'; } foreach ($vars as $name => $value) { if (substr($name, 0, 1) == 'x') { $var = pnVarCleanFromInput($name); pnConfigSetVar(substr($name, 1), $var); } } // Create $allowedhtml = array(); $htmltags = settingsGetHTMLTags(); foreach ($htmltags as $htmltag) { $tagval = pnVarCleanFromInput('htmlallow' . $htmltag . 'tag'); if ($tagval != 1 && $tagval != 2) { $tagval = 0; } $allowedhtml[$htmltag] = $tagval; } pnConfigSetVar('AllowableHTML', $allowedhtml); pnRedirect('admin.php'); }
function referers_admin_setConfig($var) { if (!pnSecConfirmAuthKey()) { include 'header.php'; echo _BADAUTHKEY; include 'footer.php'; exit; } // Escape some characters in these variables. // hehe, I like doing this, much cleaner :-) $fixvars = array(); // todo: make FixConfigQuotes global / replace with other function foreach ($fixvars as $v) { // $var[$v] = FixConfigQuotes($var[$v]); } // Set any numerical variables that havn't been set, to 0. i.e. paranoia check :-) $fixvars = array(); foreach ($fixvars as $v) { if (empty($var[$v])) { $var[$v] = 0; } } // all variables starting with x are the config vars. while (list($key, $val) = each($var)) { if (substr($key, 0, 1) == 'x') { pnConfigSetVar(substr($key, 1), $val); } } pnRedirect('admin.php'); }
function set_config_vars($currentlang) { // reasons $reasons = explode(',', _INSTALL_REASONS); // censorlist $wordlist = explode(',', _INSTALL_CENSORLIST); // footermessage $footmsg = defined('_FOOTMSGTEXT') ? "" . _FOOTMSGTEXT . "" : '<a href="http://www.postnuke.com"><img src="images/powered/postnuke.butn.gif" alt="Web site powered by PostNuke" /></a> <a href="http://adodb.sourceforge.net"><img src="images/powered/adodb2.gif" alt="ADODB database library" /></a> <a href="http://www.php.net"><img src="images/powered/php4_powered.gif" alt="PHP Language" /></a><p>All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest (c) 2004 by me<br />This web site was made with <a href="http://www.postnuke.com">PostNuke</a>, a web portal system written in PHP. PostNuke is Free Software released under the <a href="http://www.gnu.org">GNU/GPL license</a>.</p>You can syndicate our news using the file <a href="backend.php">backend.php</a>'; $allowablehtml = array('!--' => 2, 'a' => 2, 'abbr' => 0, 'acronym' => 0, 'address' => 0, 'applet' => 0, 'area' => 0, 'b' => 1, 'base' => 0, 'basefont' => 0, 'bdo' => 0, 'big' => 0, 'blockquote' => 0, 'br' => 1, 'button' => 0, 'caption' => 0, 'center' => 0, 'cite' => 0, 'code' => 0, 'col' => 0, 'colgroup' => 0, 'del' => 0, 'dfn' => 0, 'dir' => 0, 'div' => 0, 'dl' => 0, 'dd' => 0, 'dt' => 0, 'em' => 1, 'embed' => 0, 'fieldset' => 0, 'font' => 0, 'form' => 0, 'h1' => 0, 'h2' => 0, 'h3' => 0, 'h4' => 0, 'h5' => 0, 'h6' => 0, 'hr' => 1, 'i' => 1, 'iframe' => 0, 'img' => 0, 'input' => 0, 'ins' => 0, 'kbd' => 0, 'label' => 0, 'legend' => 0, 'li' => 1, 'map' => 0, 'marquee' => 0, 'menu' => 0, 'nobr' => 0, 'object' => 0, 'ol' => 1, 'optgroup' => 0, 'option' => 0, 'p' => 1, 'param' => 0, 'pre' => 1, 'q' => 0, 's' => 0, 'samp' => 0, 'script' => 0, 'select' => 0, 'small' => 0, 'span' => 0, 'strike' => 0, 'strong' => 1, 'sub' => 0, 'sup' => 0, 'table' => 2, 'tbody' => 0, 'td' => 2, 'textarea' => 0, 'tfoot' => 0, 'th' => 2, 'thead' => 0, 'tr' => 2, 'tt' => 1, 'u' => 0, 'ul' => 1, 'var' => 0); global $email; if ($email) { pnConfigSetVar('adminmail', $email); } else { pnConfigSetVar('adminmail', '*****@*****.**'); } pnConfigSetVar('debug', 0); pnConfigSetVar('sitename', _INSTALL_YOURSITENAME); pnConfigSetVar('site_logo', 'logo.gif'); pnConfigSetVar('slogan', _INSTALL_YOURSLOGAN); pnConfigSetVar('metakeywords', _INSTALL_METAKEYWORDS); pnConfigSetVar('dyn_keywords', 0); pnConfigSetVar('startdate', date("m.Y", time())); pnConfigSetVar('Default_Theme', 'ExtraLite'); pnConfigSetVar('foot1', _FOOTMSGTEXT); pnConfigSetVar('commentlimit', 4096); pnConfigSetVar('anonymous', _INSTALL_ANONYMOUS); pnConfigSetVar('timezone_offset', 12); pnConfigSetVar('nobox', 0); pnConfigSetVar('funtext', 0); pnConfigSetVar('reportlevel', 0); pnConfigSetVar('startpage', 'News'); pnConfigSetVar('admingraphic', 1); pnConfigSetVar('admart', 20); pnConfigSetVar('backend_title', _INSTALL_PNPOWERED); pnConfigSetVar('backend_language', _INSTALL_BACKENDLANG); pnConfigSetVar('seclevel', 'Medium'); pnConfigSetVar('secmeddays', 7); pnConfigSetVar('secinactivemins', 10); pnConfigSetVar('Version_Num', '0.7.6.2'); pnConfigSetVar('Version_ID', 'PostNuke'); pnConfigSetVar('Version_Sub', 'Phoenix'); pnConfigSetVar('debug_sql', 0); pnConfigSetVar('anonpost', 0); pnConfigSetVar('minpass', 5); pnConfigSetVar('pollcomm', 1); pnConfigSetVar('minage', 13); pnConfigSetVar('top', 10); pnConfigSetVar('storyhome', 10); pnConfigSetVar('banners', 0); pnConfigSetVar('myIP', '192.168.123.254'); pnConfigSetVar('language', $currentlang); pnConfigSetVar('anonymoussessions', '1'); pnConfigSetVar('multilingual', 1); pnConfigSetVar('useflags', 0); pnConfigSetVar('language_detect', 1); pnConfigSetVar('perpage', 10); pnConfigSetVar('popular', 500); pnConfigSetVar('newlinks', 10); pnConfigSetVar('toplinks', 25); pnConfigSetVar('linksresults', 10); pnConfigSetVar('links_anonaddlinklock', 0); pnConfigSetVar('anonwaitdays', 1); pnConfigSetVar('outsidewaitdays', 1); pnConfigSetVar('useoutsidevoting', 1); pnConfigSetVar('anonweight', 10); pnConfigSetVar('outsideweight', 20); pnConfigSetVar('detailvotedecimal', 2); pnConfigSetVar('mainvotedecimal', 1); pnConfigSetVar('toplinkspercentrigger', 0); pnConfigSetVar('mostpoplinkspercentrigger', 0); pnConfigSetVar('mostpoplinks', 25); pnConfigSetVar('featurebox', 1); pnConfigSetVar('linkvotemin', 5); pnConfigSetVar('blockunregmodify', 0); pnConfigSetVar('newdownloads', 10); pnConfigSetVar('topdownloads', 25); pnConfigSetVar('downloadsresults', 10); pnConfigSetVar('downloads_anonadddownloadlock', 1); pnConfigSetVar('topdownloadspercentrigger', 0); pnConfigSetVar('mostpopdownloadspercentrigger', 0); pnConfigSetVar('mostpopdownloads', 25); pnConfigSetVar('downloadvotemin', 5); pnConfigSetVar('notify', 0); pnConfigSetVar('notify_email', _INSTALL_NOTIFYMAIL); pnConfigSetVar('notify_subject', _INSTALL_NOTIFYSBJ); pnConfigSetVar('notify_message', _INSTALL_NOTIFYMSG); pnConfigSetVar('notify_from', _INSTALL_NOTIFYFRM); pnConfigSetVar('moderate', 1); pnConfigSetVar('BarScale', 1); pnConfigSetVar('tipath', 'images/topics/'); pnConfigSetVar('userimg', 'images/menu'); pnConfigSetVar('usergraphic', 1); pnConfigSetVar('topicsinrow', 5); pnConfigSetVar('httpref', 1); pnConfigSetVar('httprefmax', 1000); pnConfigSetVar('reasons', $reasons); pnConfigSetVar('AllowableHTML', $allowablehtml); pnConfigSetVar('CensorList', $wordlist); pnConfigSetVar('CensorMode', 1); pnConfigSetVar('CensorReplace', '*****'); pnConfigSetVar('theme_change', 0); pnConfigSetVar('htmlentities', '1'); pnConfigSetVar('UseCompression', 0); pnConfigSetVar('refereronprint', 0); pnConfigSetVar('storyorder', '1'); pnConfigSetVar('pnAntiCracker', '1'); pnConfigSetVar('safehtml', '1'); pnConfigSetVar('idnnames', 0); pnConfigSetVar('reg_allowreg', '1'); pnConfigSetVar('reg_verifyemail', '1'); pnConfigSetVar('reg_Illegalusername', _INSTALL_ILLEGALNAMES); pnConfigSetVar('reg_noregreasons', _INSTALL_REGDISABLED); pnConfigGetVar('reg_uniemail', '1'); pnConfigSetVar('loadlegacy', 0); pnConfigSetVar('newspager', 0); pnConfigSetVar('siteoff', 0); }