prekill
![](modules/Forums/images/avatars/gallery/blank.gif)
|
Posted:
Sun Aug 10, 2008 3:59 pm |
|
nop,
what I did is complied the following mainfile which is curently working:
its a mix between the original and the ravens one: (basicly I changed the top until function languge)
Quote: |
<?php
putenv("TZ=Israel");
/************************************************************************/
/* PHP-NUKE: Advanced Content Management System */
/* ============================================ */
/* */
/* Copyright (c) 2002 by Francisco Burzi */
/* http://phpnuke.org */
/* Copyright (c) 2005 by Roy Shiker & PHPNuke Israel */
/* Hebrew Translation & Coding By PHPNuke Israel - http://phpnuke-israel.org */
/* */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License. */
/************************************************************************/
/* Additional security checking code 2003 by chatserv */
/* http://www.nukefixes.com -- http://www.nukeresources.com */
/************************************************************************/
if($_SERVER['REQUEST_URI'] != "/" AND substr($_SERVER['REQUEST_URI'], -1) == "/") {
header("Location: http://".$_SERVER['HTTP_HOST'].rtrim($_SERVER['REQUEST_URI'],'/'));
}
if (file_exists("includes/custom_files/custom_mainfile.php")) {
include_once("includes/custom_files/custom_mainfile.php");
}
//Union Tap
//Copyright Zhen-Xjell 2004 http://nukecops.com
//Code to prevent UNION SQL Injections
//if(!file_exsts('includes/nukesentinel.php')) {
// unset($matches);
// unset($loc);
// if(isset($_SERVER['QUERY_STRING'])) {
// if (preg_match("/([OdWo5NIbpuU4V2iJT0n]{5}) /", rawurldecode($loc=$_SERVER['QUERY_STRING']), $matches)) {
// die('Illegal Operation');
// }
// }
//}
//if(!file_exists('includes/nukesentinel.php')) {
// if(isset($_SERVER['QUERY_STRING']) && (!stripos_clone($_SERVER['QUERY_STRING'], "ad_click") || !stripos_clone($_SERVER['QUERY_STRING'], "url"))) {
// $queryString = $_SERVER['QUERY_STRING'];
// if (stripos_clone($queryString,'%20union%20') OR stripos_clone($queryString,'/*') OR stripos_clone($queryString,'*/union/*') OR stripos_clone($queryString,'c2nyaxb0') OR stripos_clone($queryString,'+union+') OR stripos_clone($queryString,'http://') OR (stripos_clone($queryString,'cmd=') AND !stripos_clone($queryString,'&cmd')) OR (stripos_clone($queryString,'exec') AND !stripos_clone($queryString,'execu')) OR stripos_clone($queryString,'concat')) {
// die('Illegal Operation');
// }
// }
//}
$phpver = phpversion();
if ($phpver < '4.1.0') {
$_GET = $HTTP_GET_VARS;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
}
if ($phpver >= '4.0.4pl1' && strstr($_SERVER["HTTP_USER_AGENT"],'compatible')) {
if (extension_loaded('zlib')) {
ob_end_clean();
ob_start('ob_gzhandler');
}
} else if ($phpver > '4.0') {
if (strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip')) {
if (extension_loaded('zlib')) {
$do_gzip_compress = TRUE;
ob_start();
ob_implicit_flush(0);
//header('Content-Encoding: gzip');
}
}
}
$phpver = explode(".", $phpver);
$phpver = "$phpver[0]$phpver[1]";
if ($phpver >= 41) {
$PHP_SELF = $_SERVER['PHP_SELF'];
}
if (!ini_get("register_globals")) {
import_request_variables('GPC');
}
if(isset($admin))
{
$admin = base64_decode($admin);
$admin = addslashes($admin);
$admin = base64_encode($admin);
}
if(isset($user))
{
$user = base64_decode($user);
$user = addslashes($user);
$user = base64_encode($user);
}
//foreach ($_GET as $secvalue) {
// if ((eregi("<[^>]*script*\"?[^>]*>", $secvalue)) ||
// (eregi("<[^>]*object*\"?[^>]*>", $secvalue)) ||
// (eregi("<[^>]*iframe*\"?[^>]*>", $secvalue)) ||
// (eregi("<[^>]*applet*\"?[^>]*>", $secvalue)) ||
// (eregi("<[^>]*meta*\"?[^>]*>", $secvalue)) ||
// (eregi("<[^>]*style*\"?[^>]*>", $secvalue)) ||
// (eregi("<[^>]*form*\"?[^>]*>", $secvalue)) ||
// (eregi("<[^>]*img*\"?[^>]*>", $secvalue)) ||
// (eregi("<[^>]*onmouseover*\"?[^>]*>", $secvalue)) ||
// (eregi("\([^>]*\"?[^)]*\)", $secvalue)) ||
// (eregi("\"", $secvalue)) ||
// (eregi("forum_admin", $var_name)) ||
// (eregi("inside_mod", $var_name))) {
// die ("<center><img src=images/logo.gif><br><br><b>The html tags you attempted to use are not allowed</b><br><br>[ <a href=\"javascript:history.go(-1)\"><b>Go Back</b></a> ]");
// }
//}
//foreach ($_POST as $secvalue) {
// if ((eregi("<[^>]*onmouseover*\"?[^>]*>", $secvalue)) || (eregi("<[^>]script*\"?[^>]*>", $secvalue)) || (eregi("<[^>]style*\"?[^>]*>", $secvalue))) {
// die ("<center><img src=images/logo.gif><br><br><b>The html tags you attempted to use are not allowed</b><br><br>[ <a href=\"javascript:history.go(-1)\"><b>Go Back</b></a> ]");
// }
//}
if (stristr($_SERVER['SCRIPT_NAME'], "mainfile.php")) {
Header("Location: index.php");
die();
}
if ($forum_admin == 1) {
require_once("../../../config.php");
require_once("../../../db/db.php");
include_once("../../../includes/nukesentinel.php");
} elseif ($inside_mod == 1) {
require_once("../../config.php");
require_once("../../db/db.php");
} else {
require_once("config.php");
require_once("db/db.php");
include_once("includes/nukesentinel.php");
/* FOLLOWING TWO LINES ARE DEPRECATED BUT ARE HERE FOR OLD MODULES COMPATIBILITY */
/* PLEASE START USING THE NEW SQL ABSTRACTION LAYER. SEE MODULES DOC FOR DETAILS */
require_once("includes/sql_layer.php");
$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);
}
define('NUKE_FILE', true);
$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);
$result = $db->sql_query('SELECT * FROM '.$prefix.'_config');
$row = $db->sql_fetchrow($result);
$sitename = $row['sitename'];
$nukeurl = $row['nukeurl'];
$site_logo = $row['site_logo'];
$slogan = $row['slogan'];
$startdate = $row['startdate'];
$adminmail = stripslashes($row['adminmail']);
$anonpost = $row['anonpost'];
$Default_Theme = $row['Default_Theme'];
$foot1 = $row['foot1'];
$foot2 = $row['foot2'];
$foot3 = $row['foot3'];
$commentlimit = intval($row['commentlimit']);
$anonymous = $row['anonymous'];
$minpass = intval($row['minpass']);
$pollcomm = intval($row['pollcomm']);
$articlecomm = intval($row['articlecomm']);
$broadcast_msg = intval($row['broadcast_msg']);
$my_headlines = intval($row['my_headlines']);
$top = intval($row['top']);
$storyhome = intval($row['storyhome']);
$user_news = intval($row['user_news']);
$oldnum = intval($row['oldnum']);
$ultramode = intval($row['ultramode']);
$banners = intval($row['banners']);
$backend_title = $row['backend_title'];
$backend_language = $row['backend_language'];
$language = $row['language'];
$locale = $row['locale'];
$multilingual = intval($row['multilingual']);
$useflags = intval($row['useflags']);
$notify = intval($row['notify']);
$notify_email = $row['notify_email'];
$notify_subject = $row['notify_subject'];
$notify_message = $row['notify_message'];
$notify_from = $row['notify_from'];
$moderate = intval($row['moderate']);
$admingraphic = intval($row['admingraphic']);
$httpref = intval($row['httpref']);
$httprefmax = intval($row['httprefmax']);
$CensorMode = intval($row['CensorMode']);
$CensorReplace = $row['CensorReplace'];
$copyright = $row['copyright'];
// $Version_Num = floatval($row['Version_Num']);
$Version_Num = htmlentities(strip_tags($row['Version_Num']));
$domain = str_replace('http://', '', $nukeurl);
$mtime = microtime();
$mtime = explode(' ',$mtime);
$mtime = $mtime[1] + $mtime[0];
$start_time = $mtime;
$pagetitle = '';
if ($forum_admin != 1) {
if (isset($newlang) AND !eregi("\.","$newlang")) {
if (file_exists("language/lang-".$newlang.".php")) {
setcookie("lang",$newlang,time()+31536000);
include("language/lang-".$newlang.".php");
$currentlang = $newlang;
} else {
setcookie("lang",$language,time()+31536000);
include("language/lang-".$language.".php");
$currentlang = $language;
}
} elseif (isset($lang)) {
include("language/lang-".$lang.".php");
$currentlang = $lang;
} else {
setcookie("lang",$language,time()+31536000);
include("language/lang-".$language.".php");
$currentlang = $language;
}
}
function get_lang($module) {
global $currentlang, $language;
if ($module == 'admin') {
if (file_exists('admin/language/lang-'.$currentlang.'.php')) {
include_once('admin/language/lang-'.$currentlang.'.php');
} elseif (file_exists('admin/language/lang-'.$language.'.php')) {
include_once('admin/language/lang-'.$language.'.php');
} else { // fall back to English
@include_once('admin/language/lang-english.php');
}
} else {
if (file_exists('modules/'.$module.'/language/lang-'.$currentlang.'.php')) {
include_once('modules/'.$module.'/language/lang-'.$currentlang.'.php');
} elseif (file_exists('modules/'.$module.'/language/lang-'.$language.'.php')) {
include_once('modules/'.$module.'/language/lang-'.$language.'.php');
} else { // fall back to English
@include_once('modules/'.$module.'/language/lang-english.php');
}
}
}
function is_admin($admin) {
if (!$admin) { return 0; }
static $adminSave;
if (isset($adminSave)) return $adminSave;
if (!is_array($admin)) {
$admin = base64_decode($admin);
$admin = addslashes($admin);
$admin = explode(':', $admin);
}
$aid=$pwd='';
if (isset($admin[0])) $aid = $admin[0];
if (isset($admin[1])) $pwd = $admin[1];
$aid = substr(addslashes($aid), 0, 25);
if (!empty($aid) && !empty($pwd)) {
global $prefix, $db;
$sql = 'SELECT pwd FROM '.$prefix.'_authors WHERE aid=\''.$aid.'\'';
$result = $db->sql_query($sql);
$pass = $db->sql_fetchrow($result);
if ($pass[0] == $pwd && !empty($pass[0])) {
return $adminSave = 1;
}
}
return $adminSave = 0;
}
function is_user($user) {
if (!$user) { return 0; }
static $userSave;
if (isset($userSave)) return $userSave;
if (!is_array($user)) {
$user = base64_decode($user);
$user = addslashes($user);
$user = explode(':', $user);
}
$uid = $user[0];
$pwd = $user[2];
$uid = intval($uid);
if (!empty($uid) AND !empty($pwd)) {
global $db, $user_prefix;
$sql = 'SELECT user_password FROM '.$user_prefix.'_users WHERE user_id=\''.$uid.'\'';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if ($row[0] == $pwd && !empty($row[0])) {
return $userSave = 1;
}
}
return $userSave = 0;
}
function is_group($user, $name) {
global $prefix, $db, $user_prefix, $cookie, $user;
if (is_user($user)) {
if(!is_array($user)) {
$cookie = cookiedecode($user);
$uid = intval($cookie[0]);
} else {
$uid = intval($user[0]);
}
$result = $db->sql_query('SELECT points FROM '.$user_prefix.'_users WHERE user_id=\''.$uid.'\'');
list($points) = $db->sql_fetchrow($result);
$points = intval($points);
$result2 = $db->sql_query('SELECT mod_group FROM '.$prefix.'_modules WHERE title=\''.$name.'\'');
list($mod_group) = $db->sql_fetchrow($result2);
$mod_group = intval($mod_group);
$result3 = $db->sql_query('SELECT points FROM '.$prefix.'_groups WHERE id=\''.$mod_group.'\'');
list($rpoints) = $db->sql_fetchrow($result3);
$grp = intval($rpoints);
if (($points >= 0 AND $points >= $grp) OR $mod_group == 0) {
return 1;
}
}
return 0;
}
function update_points($id) {
global $user_prefix, $prefix, $db, $user;
if (is_user($user)) {
if(!is_array($user)) {
$cookie = cookiedecode($user);
$username = trim($cookie[1]);
} else {
$username = trim($user[1]);
}
if ($db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_groups')) > '0') {
$id = intval($id);
$result = $db->sql_query('SELECT points FROM '.$prefix.'_groups_points WHERE id=\''.$id.'\'');
list($points) = $db->sql_fetchrow($result);
$rpoints = intval($points);
$db->sql_query('UPDATE '.$user_prefix.'_users SET points=points+'.$rpoints.' WHERE username=\''.$username.'\'');
}
}
}
function title($text) {
OpenTable();
echo '<center><span class="title"><strong>'.$text.'</strong></span></center>';
CloseTable();
echo '<br />';
}
function is_active($module) {
global $prefix, $db;
static $save;
if (is_array($save)) {
if (isset($save[$module])) return ($save[$module]);
return 0;
}
$sql = 'SELECT title FROM '.$prefix.'_modules WHERE active=\'1\'';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) {
$save[$row[0]] = 1;
}
if (isset($save[$module])) return ($save[$module]);
return 0;
}
function render_blocks($side, $blockfile, $title, $content, $bid, $url) {
if(!defined('BLOCK_FILE')) {
define('BLOCK_FILE', true);
}
if (empty($url)) {
if (empty($blockfile)) {
// GT-NExtGEn 0.5 by Bill Murrin (Audioslaved) http://gt.audioslaved.com (c) 2004
//Modified by montego from http://montegoscripts.com for TegoNuke(tm) ShortLinks
global $tnsl_bAutoTapBlocks;
if (defined('TNSL_USE_SHORTLINKS') && isset($tnsl_bAutoTapBlocks) && $tnsl_bAutoTapBlocks) {
$content = tnsl_fShortenBlockURLs('', $content);
}
//End of GT-NExtGEn / ShortURLs
if ($side == 'c') {
themecenterbox($title, $content);
} elseif ($side == 'd') {
themecenterbox($title, $content);
} else {
themesidebox($title, $content);
}
} else {
if ($side == 'c') {
blockfileinc($title, $blockfile, 1);
} elseif ($side == 'd') {
blockfileinc($title, $blockfile, 1);
} else {
blockfileinc($title, $blockfile);
}
}
} else {
if ($side == 'c' OR $side == 'd') {
headlines($bid,1);
} else {
headlines($bid);
}
}
}
function blocks($side) {
global $storynum, $prefix, $multilingual, $currentlang, $db, $admin, $user;
if ($multilingual == 1) {
$querylang = 'AND (blanguage=\''.$currentlang.'\' OR blanguage=\'\')';
} else {
$querylang = '';
}
if (strtolower($side[0]) == 'l') {
$pos = 'l';
} elseif (strtolower($side[0]) == 'r') {
$pos = 'r';
} elseif (strtolower($side[0]) == 'c') {
$pos = 'c';
} elseif (strtolower($side[0]) == 'd') {
$pos = 'd';
}
$side = $pos;
$result = $db->sql_query('SELECT * FROM '.$prefix.'_blocks WHERE bposition=\''.$pos.'\' AND active=1 '.$querylang.' ORDER BY weight ASC');
while($row = $db->sql_fetchrow($result)) {
$groups = $row['groups'];
$bid = intval($row['bid']);
$title = stripslashes(check_html($row['title'], 'nohtml'));
$content = stripslashes($row['content']);
$url = stripslashes($row['url']);
$blockfile = $row['blockfile'];
$view = intval($row['view']);
$expire = intval($row['expire']);
$action = $row['action'];
$action = substr("$action", 0,1);
$now = time();
$sub = intval($row['subscription']);
if ($sub == 0 OR ($sub == 1 AND !paid())) {
if ($expire != 0 AND $expire <= $now) {
if ($action == 'd') {
$db->sql_query('UPDATE '.$prefix.'_blocks SET active=0, expire=\'0\' WHERE bid=\''.$bid.'\'');
return;
} elseif ($action == 'r') {
$db->sql_query('DELETE FROM '.$prefix.'_blocks WHERE bid=\''.$bid.'\'');
return;
}
}
if ($row['bkey'] == 'admin') {
adminblock();
} elseif ($row['bkey'] == 'userbox') {
userblock();
} elseif (empty($row['bkey'])) {
if ($view == 0) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 1 AND is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 2 AND is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 3 AND !is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view > 3 AND in_groups($groups)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
}
}
}
}
}
function message_box() {
global $bgcolor1, $bgcolor2, $user, $admin, $cookie, $textcolor2, $prefix, $multilingual, $currentlang, $db, $admin_file;
if ($multilingual == 1) {
$querylang = 'AND (mlanguage=\''.$currentlang.'\' OR mlanguage=\'\')';
} else {
$querylang = '';
}
$result = $db->sql_query('SELECT * FROM '.$prefix.'_message WHERE active=1 '.$querylang);
if ($numrows = $db->sql_numrows($result) == 0) {
return;
} else {
while ($row = $db->sql_fetchrow($result)) {
$groups = $row['groups'];
$mid = intval($row['mid']);
$title = stripslashes(check_html($row['title'], 'nohtml'));
$content = stripslashes($row['content']);
$mdate = $row['date'];
$expire = intval($row['expire']);
$view = intval($row['view']);
if (!empty($title) && !empty($content)) {
if ($expire == 0) {
$remain = _UNLIMITED;
} else {
$etime = (($mdate+$expire)-time())/3600;
$etime = (int)$etime;
if ($etime < 1) {
$remain = _EXPIRELESSHOUR;
} else {
$remain = _EXPIREIN.' '.$etime.' '._HOURS;
}
}
if ($view > 5 AND in_groups($groups)) {
OpenTable();
echo '<center><font class="option" color="'.$textcolor2.'"><b>'.$title.'</b></font></center><br />'."\n";
echo '<div class="content">'.$content.'</div>'."\n";
if (is_admin($admin)) {
echo '<br /><br /><center><font class="content">[ '._MVIEWGROUPS.' - '.$remain.' - <a href="'.$admin_file.'.php?op=editmsg&mid='.$mid.'">'._EDIT.'</a> ]</font></center>'."\n";
}
CloseTable();
echo '<br />';
} elseif ($view == 5 AND paid()) {
OpenTable();
echo '<center><font class="option" color="'.$textcolor2.'"><b>'.$title.'</b></font></center><br />'."\n"
.'<div class="content">'.$content.'</div>'."\n";
if (is_admin($admin)) {
echo '<br /><br /><center><font class="content">[ '._MVIEWSUBUSERS.' - '.$remain.' - <a href="'.$admin_file.'.php?op=editmsg&mid='.$mid.'">'._EDIT.'</a> ]</font></center>';
}
CloseTable();
echo '<br />';
} elseif ($view == 4 AND is_admin($admin)) {
OpenTable();
echo '<center><font class="option" color="'.$textcolor2.'"><b>'.$title.'</b></font></center><br />'."\n"
.'<div class="content">'.$content.'</div>'."\n"
.'<br /><br /><center><font class="content">[ '._MVIEWADMIN.' - '.$remain.' - <a href="'.$admin_file.'.php?op=editmsg&mid='.$mid.'">'._EDIT.'</a> ]</font></center>';
CloseTable();
echo '<br />';
} elseif ($view == 3 AND is_user($user) || is_admin($admin)) {
OpenTable();
echo '<center><font class="option" color="'.$textcolor2.'"><b>'.$title.'</b></font></center><br />'."\n"
.'<div class="content">'.$content.'</div>'."\n";
if (is_admin($admin)) {
echo '<br /><br /><center><font class="content">[ '._MVIEWUSERS.' - '.$remain.' - <a href="'.$admin_file.'.php?op=editmsg&mid='.$mid.'">'._EDIT.'</a> ]</font></center>';
}
CloseTable();
echo '<br />';
} elseif ($view == 2 AND !is_user($user) || is_admin($admin)) {
OpenTable();
echo '<center><font class="option" color="'.$textcolor2.'"><b>'.$title.'</b></font></center><br />'."\n"
.'<div class="content">'.$content.'</div>'."\n";
if (is_admin($admin)) {
echo '<br /><br /><center><font class="content">[ '._MVIEWANON.' - '.$remain.' - <a href="'.$admin_file.'.php?op=editmsg&mid='.$mid.'">'._EDIT.'</a> ]</font></center>';
}
CloseTable();
echo '<br />';
} elseif ($view == 1) {
OpenTable();
echo '<center><font class="option" color="'.$textcolor2.'"><b>'.$title.'</b></font></center><br />'."\n"
.'<div class="content">'.$content.'</div>'."\n";
if (is_admin($admin)) {
echo '<br /><br /><center><font class="content">[ '._MVIEWALL.' - '.$remain.' - <a href="'.$admin_file.'.php?op=editmsg&mid='.$mid.'">'._EDIT.'</a> ]</font></center>';
}
CloseTable();
echo '<br />';
}
if ($expire != 0) {
$past = time()-$expire;
if ($mdate < $past) {
$db->sql_query('UPDATE '.$prefix.'_message SET active=0 WHERE mid=\''.$mid.'\'');
}
}
}
}
}
}
function online() {
global $nsnst_const, $user, $cookie, $prefix, $db;
if(!file_exists('includes/nukesentinel.php')) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = $nsnst_const['remote_ip'];
}
$guest = 0;
if (is_user($user)) {
cookiedecode($user);
$uname = $cookie[1];
if (!isset($uname)) {
$uname = $ip;
$guest = 1;
}
} else {
$uname = $ip;
$guest = 1;
}
$past = time()-3600;
$sql = 'DELETE FROM '.$prefix.'_session WHERE time < \''.$past.'\'';
$db->sql_query($sql);
$sql = 'SELECT time FROM '.$prefix.'_session WHERE uname=\''.$uname.'\'';
$result = $db->sql_query($sql);
$ctime = time();
if (!empty($uname)) {
$uname = substr($uname, 0,25);
$row = $db->sql_fetchrow($result);
if ($row) {
$db->sql_query('UPDATE '.$prefix.'_session SET uname=\''.$uname.'\', time=\''.$ctime.'\', host_addr=\''.$ip.'\', guest=\''.$guest.'\' WHERE uname=\''.$uname.'\'');
} else {
$db->sql_query('INSERT INTO '.$prefix.'_session (uname, time, host_addr, guest) VALUES (\''.$uname.'\', \''.$ctime.'\', \''.$ip.'\', \''.$guest.'\')');
}
}
}
function blockfileinc($title, $blockfile, $side=0) {
$blockfiletitle = $title;
$file = file_exists('blocks/'.$blockfile);
if (!$file) {
$content = _BLOCKPROBLEM;
} else {
include_once('blocks/'.$blockfile);
}
if (empty($content)) {
$content = _BLOCKPROBLEM2;
} else { //Added by montego from http://montegoscripts.com for TegoNuke(tm) ShortLinks
global $tnsl_bAutoTapBlocks;
if (defined('TNSL_USE_SHORTLINKS') && isset($tnsl_bAutoTapBlocks) && $tnsl_bAutoTapBlocks) {
$content = tnsl_fShortenBlockURLs($blockfile, $content);
}
}
//End of TegoNuke(tm) ShortLinks
if ($side == 1) {
themecenterbox($blockfiletitle, $content);
} elseif ($side == 2) {
themecenterbox($blockfiletitle, $content);
} else {
themesidebox($blockfiletitle, $content);
}
}
function selectlanguage() {
global $useflags, $currentlang;
if ($useflags == 1) {
$title = _SELECTLANGUAGE;
$content = '<center><font class="content">'._SELECTGUILANG.'<br /><br />';
$langdir = dir('language');
while($func=$langdir->read()) {
if(substr($func, 0, 5) == 'lang-') {
$menulist .= "$func ";
}
}
closedir($langdir->handle);
$menulist = explode(' ', $menulist);
sort($menulist);
for ($i=0; $i < sizeof($menulist); $i++) {
if($menulist[$i]!='') {
$tl = str_replace('lang-','',$menulist[$i]);
$tl = str_replace('.php','',$tl);
$altlang = ucfirst($tl);
$content .= '<a href="index.php?newlang='.$tl.'"><img src="images/language/flag-'.$tl.'.png" border="0" alt="'.$altlang.'" title="'.$altlang.'" hspace="3" vspace="3" /></a> ';
}
}
$content .= '</font></center>';
themesidebox($title, $content);
} else {
$title = _SELECTLANGUAGE;
$content = '<center><font class="content">'._SELECTGUILANG.'<br /><br /></font>';
$content .= '<form action="index.php" method="get"><select name="newlanguage" onchange="top.location.href=this.options[this.selectedIndex].value">';
$handle=opendir('language');
while ($file = readdir($handle)) {
if (preg_match('/^lang\-(.+)\.php/', $file, $matches)) {
$langFound = $matches[1];
$languageslist .= "$langFound ";
}
}
closedir($handle);
$languageslist = explode(' ', $languageslist);
sort($languageslist);
for ($i=0; $i < sizeof($languageslist); $i++) {
if($languageslist[$i]!='') {
$content .= '<option value="index.php?newlang='.$languageslist[$i].'" ';
if($languageslist[$i]==$currentlang) {
$content .= ' selected="selected"';
}
$content .= '>'.ucfirst($languageslist[$i]).'</option>';
}
}
$content .= '</select></form></center>'."\n";
themesidebox($title, $content);
}
}
function ultramode() {
global $prefix, $db;
$ultra = 'ultramode.txt';
$file = fopen($ultra, 'w');
fwrite($file, 'General purpose self-explanatory file with news headlines'."\n");
$sql = 'SELECT s.sid, s.catid, s.aid, s.title, s.time, s.hometext, s.comments, s.topic, t.topictext, t.topicimage FROM '.$prefix.'_stories s LEFT JOIN '.$prefix.'_topics t ON t.topicid = s.topic WHERE s.ihome = 0 ORDER BY s.time DESC LIMIT 0,10';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result)) {
$rsid = intval($row['sid']);
$raid = $row['aid'];
$rcatid = $row['catid'];
$rtitle = check_html(stripslashes($row['title']), 'nohtml');
$rtime = $row['time'];
$rhometext = check_html(stripslashes($row['hometext']), 'nohtml');
$rcomments = $row['comments'];
$rtopic = $row['topic'];
$topictext = stripslashes(check_html($row['topictext'], 'nohtml'));
$topicimage = stripslashes($row['topicimage']);
$content = "%%\n".$rtitle."\n".'/modules.php?name=News&file=article&sid='.$rsid."\n".$rtime."\n".$raid."\n".$topictext."\n".$rcomments."\n".$topicimage."\n";
fwrite($file, $content);
}
fclose($file);
}
function cookiedecode($user) {
global $cookie, $db, $user_prefix;
static $pass;
if(!is_array($user)) {
$user = base64_decode($user);
$user = addslashes($user);
$cookie = explode(':', $user);
} else {
$cookie = $user;
}
if (!isset($pass) AND isset($cookie[1])) {
$sql = 'SELECT user_password FROM '.$user_prefix.'_users WHERE username=\''.$cookie[1].'\'';
$result = $db->sql_query($sql);
list($pass) = $db->sql_fetchrow($result);
}
if (isset($cookie[2]) AND ($cookie[2] == $pass) AND (!empty($pass))) { return $cookie; }
}
function getusrinfo($user) {
global $user_prefix, $db, $userinfo, $cookie;
if (!$user OR empty($user)) {
return NULL;
}
cookiedecode($user);
$user = $cookie;
if (isset($userrow) AND is_array($userrow)) {
if ($userrow['username'] == $user[1] && $userrow['user_password'] == $user[2]) {
return $userrow;
}
}
$sql = 'SELECT * FROM '.$user_prefix.'_users WHERE username=\''.$user[1].'\' AND user_password=\''.$user[2].'\'';
$result = $db->sql_query($sql);
if ($db->sql_numrows($result) == 1) {
static $userrow;
$userrow = $db->sql_fetchrow($result);
return $userinfo = $userrow;
}
unset($userinfo);
}
// Speed up this function with stripos_clone and str_replace
function FixQuotes ($what = '') {
$what = str_replace("'","''",$what);
while (stripos_clone($what, "\\\\'")) {
$what = str_replace("\\\\'","'",$what);
}
return $what;
}
/*********************************************************/
/* text filter */
/*********************************************************/
function check_words($Message) {
global $CensorMode, $CensorReplace, $EditedMessage, $CensorList;
include_once('config.php');
$EditedMessage = $Message;
if ($CensorMode != 0) {
if (is_array($CensorList)) {
$Replace = $CensorReplace;
if ($CensorMode == 1) {
for ($i = 0; $i < count($CensorList); $i++) {
$EditedMessage = eregi_replace("$CensorList[$i]([^a-zA-Z0-9])","$Replace\\1",$EditedMessage);
}
} elseif ($CensorMode == 2) {
for ($i = 0; $i < count($CensorList); $i++) {
$EditedMessage = eregi_replace("(^|[^[:alnum:]])$CensorList[$i]","\\1$Replace",$EditedMessage);
}
} elseif ($CensorMode == 3) {
for ($i = 0; $i < count($CensorList); $i++) {
$EditedMessage = eregi_replace("$CensorList[$i]","$Replace",$EditedMessage);
}
}
}
}
return $EditedMessage;
}
function delQuotes($string) {
/* no recursive function to add quote to an HTML tag if needed */
/* and delete duplicate spaces between attribs. */
$tmp=''; // string buffer
$result=''; // result string
$i=0;
$attrib=-1; // Are us in an HTML attrib ? -1: no attrib 0: name of the attrib 1: value of the atrib
$quote=0; // Is a string quote delimited opened ? 0=no, 1=yes
$len = strlen($string);
while ($i<$len) {
switch($string[$i]) { // What car is it in the buffer ?
case '"': // a quote.
if ($quote==0) {
$quote=1;
} else {
$quote=0;
if (($attrib>0) && ($tmp != '')) { $result .= "=\"$tmp\""; }
$tmp='';
$attrib=-1;
}
break;
case '=': // an equal - attrib delimiter
if ($quote==0) { // Is it found in a string ?
$attrib=1;
if ($tmp!='') $result.=" $tmp";
$tmp='';
} else $tmp .= '=';
break;
case ' ': // a blank ?
if ($attrib>0) { # add it to the string, if one opened.
$tmp .= $string[$i];
}
break;
default: // Other
if ($attrib<0) // If we weren't in an attrib, set attrib to 0
$attrib=0;
$tmp .= $string[$i];
break;
}
$i++;
}
if (($quote!=0) && ($tmp != '')) {
if ($attrib==1) { $result .= '='; } // If it is the value of an atrib, add the '='
$result .= "\"$tmp\""; // Add quote if needed (the reason of the function
}
return $result;
}
###############################################################################
#
# nukeWYSIWYG Copyright (c) 2005 Kevin Guske http://nukeseo.com
# kses developed by Ulf Harnhammar http://kses.sf.net
# kses enhancement ideas contributed by sixonetonoffun http://netflake.com
# FCKeditor by Frederico Caldeira Knabben http://fckeditor.net
# Original FCKeditor for PHP-Nuke by H.Theisen http://phpnuker.de
#
###############################################################################
/**
* montego - extended capability to skip the final html check.
* This is used to allow for content that is posted by an admin to pass through unabated.
* However, in order to help ensure XHTML compliance, the kses_no_null, kses_js_entities and
* kses_normalize_entities functions are very useful.
*/
function check_html ($string, $allowed_html = '', $allowed_protocols = array('http', 'https', 'ftp', 'news', 'nntp', 'gopher', 'mailto'))
{
$stop = FALSE;
if(!function_exists('kses_no_null')) {
@include_once('includes/kses/kses.php');
}
if (get_magic_quotes_gpc() == 1) {
$string = stripslashes($string);
}
$string = kses_no_null($string);
$string = kses_js_entities($string);
$string = kses_normalize_entities($string);
$string = kses_hook($string);
if (stripos_clone($allowed_html, 'nocheck') === true) {
return $string;
} else {
if (stripos_clone($allowed_html, 'nohtml') === false) {
global $AllowableHTML;
$allowed_html = $AllowableHTML;
} else {
$allowed_html = array('<null>');
}
$allowed_html_fixed = kses_array_lc($allowed_html);
return kses_split($string, $allowed_html_fixed, $allowed_protocols);
}
}
function wysiwyg_textarea($name, $value, $config = 'NukeUser', $cols = 50, $rows = 10)
{
global $advanced_editor;
// Don't waste bandwidth by loading WYSIWYG editor for crawlers
if ($advanced_editor == 0 or !isset($_COOKIE))
{
echo '<textarea name="'.$name.'" cols="'.$cols.'" rows="'.$rows.'">'.$value.'</textarea>';
} else {
@include_once('includes/FCKeditor/fckeditor.php');
$rows = $rows + 2; // Add extra space for toolbars
$oFCKeditor = new FCKeditor($name) ;
$oFCKheight = $rows * 20;
$oFCKeditor->Height = $oFCKheight;
$oFCKeditor->ToolbarSet = $config;
$oFCKeditor->InstanceName = $name;
$oFCKeditor->Value = $value;
$oFCKeditor->Create();
}
}
function wysiwyg_textarea_html($name, $value, $config = 'NukeUser', $cols = 50, $rows = 10)
{
global $advanced_editor;
// Don't waste bandwidth by loading WYSIWYG editor for crawlers
if ($advanced_editor == 0 or !isset($_COOKIE))
{
echo '<textarea name="'.$name.'" cols="'.$cols.'" rows="'.$rows.'">'.$value.'</textarea>';
} else {
@include_once('includes/FCKeditor/fckeditor.php');
$rows = $rows + 2; // Add extra space for toolbars
$oFCKeditor = new FCKeditor($name);
$oFCKheight = $rows * 20;
$oFCKeditor->Height = $oFCKheight;
$oFCKeditor->ToolbarSet = $config;
$oFCKeditor->InstanceName = $name;
$oFCKeditor->Value = $value;
$wysiwygHTML = $oFCKeditor->CreateHtml() ;
return $wysiwygHTML;
}
}
function filter_text($Message, $strip='') {
global $EditedMessage;
check_words($Message);
$EditedMessage=check_html($EditedMessage, $strip);
return $EditedMessage;
}
function filter($what, $strip="", $save="", $type="") {
if ($strip == "nohtml") {
$what = check_html($what, $strip);
$what = htmlentities(trim($what), ENT_QUOTES);
// If the variable $what doesn't comes from a preview screen should be converted
if ($type != "preview" AND $save != 1) {
$what = html_entity_decode($what, ENT_QUOTES);
}
}
if ($save == 1) {
$what = check_words($what);
$what = check_html($what, $strip);
$what = addslashes($what);
} else {
$what = stripslashes(FixQuotes($what));
$what = check_words($what);
$what = check_html($what, $strip);
}
return($what);
}
/*********************************************************/
/* formatting stories */
/*********************************************************/
// Beta 3 code by Quake 08/19/2005
// Written for Nuke-Evolution and Nuke Patched
function formatTimestamp($time) {
global $datetime, $locale;
static $localeSet; // setlocale() can be expensive to call; only need to call it once
if (!isset($localeSet)) {
setlocale(LC_TIME, $locale);
$localeSet = 1;
}
if (!is_numeric($time)) {
preg_match('/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}) [0-9]{1,2}) [0-9]{1,2})/', $time, $datetime);
$time = gmmktime($datetime[4],$datetime[5],$datetime[6],$datetime[2],$datetime[3],$datetime[1]);
}
$time -= date('Z');
$datetime = strftime(_DATESTRING, $time);
$datetime = ucfirst($datetime);
return $datetime;
}
function get_author($aid) {
global $prefix, $db;
static $users;
if (isset($users[$aid]) AND is_array($users[$aid])) {
$row = $users[$aid];
} else {
$sql = 'SELECT url, email FROM '.$prefix.'_authors WHERE aid=\''.$aid.'\'';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$users[$aid] = $row;
}
$aidurl = stripslashes($row['url']);
$aidmail = encode_mail(stripslashes($row['email']));
if (!empty($aidurl) && isset($aidurl) && $aidurl != 'http://') {
$aid = '<a href="'.$aidurl.'">'.$aid.'</a>';
} elseif (!empty($aidmail) && isset($aidmail)) {
$aid = '<a href="mailto:'.$aidmail.'">'.$aid.'</a>';
} else {
$aid = $aid;
}
return $aid;
}
function formatAidHeader($aid) {
$AidHeader = get_author($aid);
echo $AidHeader;
}
function adminblock() {
global $admin, $prefix, $db, $admin_file;
if (is_admin($admin)) {
$sql = 'SELECT title, content FROM '.$prefix.'_blocks WHERE bkey=\'admin\'';
$result = $db->sql_query($sql);
while (list($title, $content) = $db->sql_fetchrow($result)) {
$content = preg_replace('/\badmin.php/', $admin_file.'.php', $content); //RN6444
$content = '<span class="content">'.$content.'</span>';
themesidebox($title, $content);
}
$title = _WAITINGCONT;
$num = $db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_queue'));
$content = '<span class="content">';
$content .= '<strong><big>·</big></strong> <a href="'.$admin_file.'.php?op=submissions">'._SUBMISSIONS.'</a>: '.$num.'<br />';
$num = $db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_reviews_add'));
$content .= '<strong><big>·</big></strong> <a href="'.$admin_file.'.php?op=reviews">'._WREVIEWS.'</a>: '.$num.'<br />';
$num = $db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_links_newlink'));
$brokenl = $db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_links_modrequest WHERE brokenlink=1'));
$modreql = $db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_links_modrequest WHERE brokenlink=0'));
$content .= '<strong><big>·</big></strong> <a href="'.$admin_file.'.php?op=Links">'._WLINKS.'</a>: '.$num.'<br />';
$content .= '<strong><big>·</big></strong> <a href="'.$admin_file.'.php?op=LinksListModRequests">'._MODREQLINKS.'</a>: '.$modreql.'<br />';
$content .= '<strong><big>·</big></strong> <a href="'.$admin_file.'.php?op=LinksListBrokenLinks">'._BROKENLINKS.'</a>: '.$brokenl.'<br />';
$num = $db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_downloads_newdownload'));
$brokend = $db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_downloads_modrequest WHERE brokendownload=1'));
$modreqd = $db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_downloads_modrequest WHERE brokendownload=0'));
$content .= '<strong><big>·</big></strong> <a href="'.$admin_file.'.php?op=downloads">'._UDOWNLOADS.'</a>: '.$num.'<br />';
$content .= '<strong><big>·</big></strong> <a href="'.$admin_file.'.php?op=DownloadsListModRequests">'._MODREQDOWN.'</a>: '.$modreqd.'<br />';
$content .= '<strong><big>·</big></strong> <a href="'.$admin_file.'.php?op=DownloadsListBrokenDownloads">'._BROKENDOWN.'</a>: '.$brokend.'<br />';
$result = $db->sql_query('SELECT COUNT(*) FROM '.$prefix.'_gcal_event WHERE approved = 0');
$row = $db->sql_fetchrow($result);
$content .= '<strong><big>·</big></strong> <a href="'.$admin_file.'.php?op=gcalendar">'._GCALENDAR_EVENTS.'</a>: '.$row[0].'<br />';
$content .= '</span>';
themesidebox($title, $content);
}
}
function loginbox($gfx_check) {
global $user, $sitekey, $gfx_chk;
mt_srand ((double)microtime()*1000000);
$maxran = 1000000;
$random_num = mt_rand(0, $maxran);
$datekey = date('F j');
$rcode = hexdec(md5($_SERVER['HTTP_USER_AGENT'] . $sitekey . $random_num . $datekey));
$code = substr($rcode, 2, 6);
if (!is_user($user)) {
$title = _LOGIN;
$boxstuff = '<form action="account.html" method="post">';
$boxstuff .= '<center><font class="content">'._NICKNAME.'<br />';
$boxstuff .= '<input type="text" name="username" size="8" maxlength="25" /><br />';
$boxstuff .= _PASSWORD.'<br />';
$boxstuff .= '<input type="password" name="user_password" size="8" maxlength="20" /><br />';
/*****[BEGIN]******************************************
[ Base: GFX Code v1.0.0 ]
******************************************************/
$boxstuff .= security_code(array(2,4,5,7), 'stacked');
/*****[END]********************************************
[ Base: GFX Code v1.0.0 ]
******************************************************/
$boxstuff .= '<input type="hidden" name="op" value="login" />';
$boxstuff .= '<input type="submit" value="'._LOGIN.'" /></font></center></form>';
$boxstuff .= '<center><font class="content">'._ASREGISTERED.'</font></center>';
themesidebox($title, $boxstuff);
}
}
function userblock() {
global $user, $cookie, $db, $user_prefix, $userinfo;
if(is_user($user)) {
getusrinfo($user);
if($userinfo['ublockon']) {
$sql = 'SELECT ublock FROM '.$user_prefix.'_users WHERE user_id=\''.$cookie[0].'\'';
$result = $db->sql_query($sql);
list($ublock) = $db->sql_fetchrow($result);
$title = _MENUFOR.' '.$cookie[1];
themesidebox($title, $ublock);
}
}
}
function getTopics($s_sid) {
global $prefix, $topicname, $topicimage, $topictext, $db;
$sid = intval($s_sid);
$result = $db->sql_query('SELECT t.topicname, t.topicimage, t.topictext FROM '.$prefix.'_stories s LEFT JOIN '.$prefix.'_topics t ON t.topicid = s.topic WHERE s.sid = \''.$sid.'\'');
$row = $db->sql_fetchrow($result);
$topicname = $row['topicname'];
$topicimage = $row['topicimage'];
$topictext = stripslashes(check_html($row['topictext'], 'nohtml'));
}
/************************************************************************
* nukePIE
* http://www.nukeSEO.com
* Copyright © 2007 by Kevin Guske
************************************************************************/
include_once('includes/nukeSEO/nukeSEOfunctions.php');
function headlines($bid, $cenbox=0) {
global $prefix, $db, $useBoxoverWithnukePIE;
if (!defined('_CHARSET')) define('_CHARSET','ISO-8859-1');
include_once('includes/SimplePie/simplepie.inc');
include_once('includes/SimplePie/idn/idna_convert.class.php');
# Create a new instance of the SimplePie object
$feed = new SimplePie();
# Get Feed Information
$bid = intval($bid);
$result = $db->sql_query('SELECT title, url, refresh FROM '.$prefix.'_blocks WHERE bid=\''.$bid.'\'');
list($title, $url, $refresh) = $db->sql_fetchrow($result);
$title = stripslashes(check_html($title, 'nohtml'));
$refresh = intval($refresh);
# Initialize the whole SimplePie object. Read the feed, process it, parse it, cache it, etc.
$feed->set_feed_url($url);
$feed->set_output_encoding(_CHARSET);
$feed->set_cache_duration($refresh);
$feed->init();
$feed->handle_content_type();
$content = '<font class="content">';
if (isset($feed->error)) {
# If errors, display it.
$content .= htmlspecialchars($feed->error);
}
else
{
foreach($feed->get_items() as $item) {
$content .= '·';
# If the item has a permalink back to the original post, link the item's title to it.
if ($item->get_permalink())
{
$content .= '<a href="' . $item->get_permalink() . '" title="';
$item_desc = $item->get_description();
if ($useBoxoverWithnukePIE)
{
if ($item_desc == check_html($item_desc, 'nohtml')) $item_desc = nl2br($item_desc);
$content .= 'cssbody=[nukePIEbody] cssheader=[nukePIEhdr] header=['.encodeBoxover(check_html($item->get_title(), 'nohtml')).'] body=['.encodeBoxover(xmlentities($item_desc)).'] singleclickstop=[On] ';
}
else
{
$content .= check_html($item_desc, 'nohtml');
}
$content .= '">';
}
$content .= check_html($item->get_title(), 'nohtml');
if ($item->get_permalink()) $content .= '</a>';
# Check for enclosures. If an item has any, set the first one to the $enclosure variable.
/* if ($enclosure = $item->get_enclosure(0)) {
# Use the embed() method to embed the enclosure into the page inline.
$content .= '<div align="center">';
$content .= '<p>' . $enclosure->embed(array(
'audio' => './for_the_demo/place_audio.png',
'video' => './for_the_demo/place_video.png',
'alt' => '<img src="./for_the_demo/mini_podcast.png" class="download" border="0" title="Download the Podcast (' . $enclosure->get_extension() . '; ' . $enclosure->get_size() . ' MB)" />',
'altclass' => 'download'
)) . '</p>';
$content .= '<p class="footnote" align="center">(' . $enclosure->get_type() . '; ' . $enclosure->get_size() . ' MB)</p>';
$content .= '</div>';
}
*/ $content .= '<br />'.chr(10);
}
}
$siteurl = ereg_replace('http://','',$url);
$siteurl = explode('/',$siteurl);
$content .= ' </font><br /><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td><a href="http://'.$siteurl[0].'" title="'.$title.'" target="blank"><b>'._HREADMORE.'</b></a></td><td align="right"><a href="http://nukeseo.com" title="nukePIE (c) nukeSEO.com">©</a></td></tr></table>';
if ($cenbox == 0) {
themesidebox($title, $content);
} else {
themecenterbox($title, $content);
}
}
function automated_news() {
global $prefix, $multilingual, $currentlang, $db;
if ($multilingual == 1) {
$querylang = 'WHERE (alanguage=\''.$currentlang.'\' OR alanguage=\'\')'; /* the OR is needed to display stories who are posted to ALL languages */
} else {
$querylang = '';
}
$today = getdate();
$day = $today['mday'];
if ($day < 10) {
$day = '0'.$day;
}
$month = $today['mon'];
if ($month < 10) {
$month = '0'.$month;
}
$year = $today['year'];
$hour = $today['hours'];
$min = $today['minutes'];
$sec = '00';
$result = $db->sql_query('SELECT anid, time FROM '.$prefix.'_autonews '.$querylang);
while (list($anid, $time) = $db->sql_fetchrow($result)) {
ereg ('([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}) [0-9]{1,2}) [0-9]{1,2})', $time, $date);
if (($date[1] <= $year) AND ($date[2] <= $month) AND ($date[3] <= $day)) {
if (($date[4] < $hour) AND ($date[5] >= $min) OR ($date[4] <= $hour) AND ($date[5] <= $min)) {
$result2 = $db->sql_query('SELECT * FROM '.$prefix.'_autonews WHERE anid=\''.$anid.'\'');
while ($row2 = $db->sql_fetchrow($result2)) {
$title = stripslashes(FixQuotes(check_html($row2['title'], 'nohtml')));
$hometext = stripslashes(FixQuotes($row2['hometext']));
$bodytext = stripslashes(FixQuotes($row2['bodytext']));
$notes = stripslashes(FixQuotes($row2['notes']));
$catid2 = intval($row2['catid']);
$aid2 = $row2['aid'];
$time2 = $row2['time'];
$topic2 = $row2['topic'];
$informant2 = $row2['informant'];
$ihome2 = intval($row2['ihome']);
$alanguage2 = $row2['alanguage'];
$acomm2 = intval($row2['acomm']);
$associated2 = $row2['associated'];
$num = $db->sql_numrows($db->sql_query('SELECT sid FROM '.$prefix.'_stories WHERE title=\''.$title.'\''));
if ($num == 0) {
$db->sql_query('DELETE FROM '.$prefix.'_autonews WHERE anid=\''.$anid.'\'');
$db->sql_query('INSERT INTO '.$prefix.'_stories VALUES (NULL, \''.$catid2.'\', \''.$aid2.'\', \''.$title.'\', \''.$time2.'\', \''.$hometext.'\', \''.$bodytext.'\', 0, 0, \''.$topic2.'\', \''.$informant2.'\', \''.$notes.'\', \''.$ihome2.'\', \''.$alanguage2.'\', \''.$acomm2.'\', 0, 0, 0, 0, \''.$associated2.'\')');
}
}
}
}
}
}
function themecenterbox($title, $content) {
OpenTable();
echo "$content";
CloseTable();
}
function public_message() {
global $prefix, $user_prefix, $db, $user, $admin, $p_msg, $cookie, $broadcast_msg;
if ($broadcast_msg == 1) {
if (is_user($user)) {
cookiedecode($user);
$result = $db->sql_query('SELECT broadcast FROM '.$user_prefix.'_users WHERE username=\''.$cookie[1].'\'');
$row = $db->sql_fetchrow($result);
$upref = intval($row['broadcast']);
if ($upref == 1) {
$t_off = '<br /><p align="right">[ <a href="modules.php?name=Your_Account&op=edithome">';
$t_off .= '<font size="2">'._TURNOFFMSG.'</font></a> ]</p>';
$pm_show = 1;
} else {
$pm_show = 0;
}
} else {
$t_off = '';
}
if (!is_user($user) OR (is_user($user) AND ($pm_show == 1))) {
$c_mid = base64_decode($p_msg);
$c_mid = addslashes($c_mid);
$c_mid = intval($c_mid);
$result2 = $db->sql_query('SELECT mid, content, date, who FROM '.$prefix.'_public_messages WHERE mid > '.$c_mid.' ORDER BY date ASC LIMIT 1');
$row2 = $db->sql_fetchrow($result2);
$mid = intval($row2['mid']);
$content = $row2['content'];
$tdate = $row2['date'];
$who = $row2['who'];
if ((!isset($c_mid)) OR ($c_mid = $mid)) {
$public_msg = '<br /><table width="90%" border="1" cellspacing="2" cellpadding="0" bgcolor="#FFFFFF" align="center"><tr><td>';
$public_msg .= '<table width="100%" border="0" cellspacing="1" cellpadding="2" bgcolor="#FF0000"><tr><td align="left">';
$public_msg .= '<font color="#FFFFFF" size="3"><b>'._BROADCASTFROM.' <a href="modules.php?name=Your_Account&op=userinfo&username='.$who.'"><i>'.$who.'</i></a>: "'.$content.'"</b></font>';
$public_msg .= $t_off;
$public_msg .= '</td></tr></table>';
$public_msg .= '</td></tr></table>';
$ref_date = $tdate+600;
$actual_date = time();
if ($actual_date >= $ref_date) {
$public_msg = '';
$numrows = $db->sql_numrows($db->sql_query('SELECT * FROM '.$prefix.'_public_messages'));
if ($numrows == 1) {
$db->sql_query('DELETE FROM '.$prefix.'_public_messages');
$mid = 0;
} else {
$db->sql_query('DELETE FROM '.$prefix.'_public_messages WHERE mid=\''.$mid.'\'');
}
}
if ($mid == 0 OR empty($mid)) {
setcookie('p_msg');
} else {
$mid = base64_encode($mid);
$mid = addslashes($mid);
setcookie('p_msg',$mid,time()+600);
}
}
}
} else {
$public_msg = '';
}
if (empty($public_msg)) { $public_msg = ''; }
return $public_msg;
}
function get_theme() {
global $user, $db, $prefix, $user_prefix, $Default_Theme;
static $theme = false;
if ($theme) return $theme;
$theme = (isset($_COOKIE['theme'])) ? base64_decode($_COOKIE['theme']) : false;
if (isset($_POST['themeprev']) && $theme != $_POST['themeprev'] && file_exists('themes/'.$_POST['themeprev'].'/theme.php')) {
$theme = $_POST['themeprev'];
setcookie('theme',base64_encode($theme), 0);
if (is_user($user)) {
$user2 = explode(':', base64_decode(addslashes($user)));
$user_id = intval($user2[0]);
$info = base64_encode("$user2[0]:$user2[1]:$user2[2]:$user2[3]:$user2[4]:$user2[5]:$user2[6]:$user2[7]:$user2[8]:$theme:$user2[10]");
setcookie('user', $info, time()+2592000);
$db->sql_query('UPDATE '.$user_prefix.'_users SET theme=\''.$theme.'\' WHERE user_id=\''.$user_id.'\'');
}
return $theme;
} elseif ($theme && file_exists('themes/'.$theme.'/theme.php')) {
return $theme;
}
if (!is_user($user)) {
$theme = $Default_Theme;
return $theme;
}
$user = addslashes($user);
$user2 = base64_decode($user);
$user2 = explode(':', $user2);
if($user2[9]) {
if(!file_exists('themes/'.$user2[9].'/theme.php')) {
$theme = $Default_Theme;
} else $theme = $user2[9];
} else $theme = $Default_Theme;
return $theme;
}
function removecrlf($str) {
// Function for Security Fix by Ulf Harnhammar, VSU Security 2002
// Looks like I don't have so bad track record of security reports as Ulf believes
// He decided to not contact me, but I'm always here, digging on the net
return strtr($str, "\015\012", ' ');
}
function validate_mail($email) {
if(strlen($email) < 7 || !preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $email)) {
// These next 3 lines have been commented out by Raven on 1/14/2007.
// Reason being, this function should only validate the email and return to the calling script.
// The calling script should handle the validation results.
// OpenTable();
// echo _ERRORINVEMAIL;
// CloseTable();
return false;
} else {
return $email;
}
}
/*****[BEGIN]******************************************
[ Base: function validateEmailFormat ($email) ]
******************************************************/
// Copyright (C) 2001 Ron Harwood and L. Patrick Smallwood
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// File: functions/validateemailformat.php
//
// Added by Raven 1/14/2007
//
function validateEmailFormat ($email)
{
// This is based on page 295 of the book 'Mastering Regular Expressions' - the most
// definitive RFC-compliant email regex.
// Some shortcuts for avoiding backslashitis
$esc = '\\\\';
$Period = '\.';
$space = '\040';
$tab = '\t';
$OpenBR = '\[';
$CloseBR = '\]';
$OpenParen = '\(';
$CloseParen = '\)';
$NonASCII = '\x80-\xff';
$ctrl = '\000-\037';
$CRlist = '\n\015'; // note: this should really be only \015.
// Items 19, 20, 21 -- see table on page 295 of 'Mastering Regular Expressions'
$qtext = "[^$esc$NonASCII$CRlist\"]"; // for within "..."
$dtext = "[^$esc$NonASCII$CRlist$OpenBR$CloseBR]"; // for within [...]
$quoted_pair = " $esc [^$NonASCII] "; // an escaped character
// Items 22 and 23, comment.
// Impossible to do properly with a regex, I make do by allowing at most
// one level of nesting.
$ctext = " [^$esc$NonASCII$CRlist()] ";
// $Cnested matches one non-nested comment.
// It is unrolled, with normal of $ctext, special of $quoted_pair.
$Cnested = "";
$Cnested .= "$OpenParen"; // (
$Cnested .= "$ctext*"; // normal*
$Cnested .= "(?: $quoted_pair $ctext* )*"; // (special normal*)*
$Cnested .= "$CloseParen"; // )
// $comment allows one level of nested parentheses
// It is unrolled, with normal of $ctext, special of ($quoted_pair|$Cnested)
$comment = "";
$comment .= "$OpenParen"; // (
$comment .= "$ctext*"; // normal*
$comment .= "(?:"; // (
$comment .= "(?: $quoted_pair | $Cnested )"; // special
$comment .= "$ctext*"; // normal*
$comment .= ")*"; // )*
$comment .= "$CloseParen"; // )
// $X is optional whitespace/comments
$X = "";
$X .= "[$space$tab]*"; // Nab whitespace
$X .= "(?: $comment [$space$tab]* )*"; // If comment found, allow more spaces
// Item 10: atom
$atom_char = "[^($space)<>\@,;:\".$esc$OpenBR$CloseBR$ctrl$NonASCII]";
$atom = "";
$atom .= "$atom_char+"; // some number of atom characters ...
$atom .= "(?!$atom_char)"; // ... not followed by something that
// could be part of an atom
// Item 11: doublequoted string, unrolled.
$quoted_str = "";
$quoted_str .= "\""; // "
$quoted_str .= "$qtext *"; // normal
$quoted_str .= "(?: $quoted_pair $qtext * )*"; // ( special normal* )*
$quoted_str .= "\""; // "
// Item 7: word is an atom or quoted string
$word = "";
$word .= "(?:";
$word .= "$atom"; // Atom
$word .= "|"; // or
$word .= "$quoted_str"; // Quoted string
$word .= ")";
// Item 12: domain-ref is just an atom
$domain_ref = $atom;
// Item 13: domain-literal is like a quoted string, but [...] instead of "..."
$domain_lit = "";
$domain_lit .= "$OpenBR"; // [
$domain_lit .= "(?: $dtext | $quoted_pair )*"; // stuff
$domain_lit .= "$CloseBR"; // ]
// Item 9: sub-domain is a domain-ref or a domain-literal
$sub_domain = "";
$sub_domain .= "(?:";
$sub_domain .= "$domain_ref";
$sub_domain .= "|";
$sub_domain .= "$domain_lit";
$sub_domain .= ")";
$sub_domain .= "$X"; // optional trailing comments
// Item 6: domain is a list of subdomains separated by dots
$domain = "";
$do |
|
|
|
![](themes/RavenIce/forums/images/spacer.gif) |
Susann
Moderator
![](modules/Forums/images/avatars/4e3210db4efb891870d79.gif)
Joined: Dec 19, 2004
Posts: 3191
Location: Germany:Moderator German NukeSentinel Support
|
Posted:
Sun Aug 10, 2008 4:06 pm |
|
I´m quite sure you missed a step or two with your upgrade.Use mysqldiff for your database.
In rnconfig you need also set this to:
$error_reporting = E_ALL; // This is the default and means: All errors except Notices
to find out more. Also update NukeSentinel, because there is anew version available, remove old files from your server, maybe deactivet modules and blocks wich are not included in RavenNuke. Later you can try to activate these again. Check your site with fisubice. |
|
|
|
![](themes/RavenIce/forums/images/spacer.gif) |
montego
Site Admin
![](modules/Forums/images/avatars/0c0adf824792d6d341ef4.gif)
Joined: Aug 29, 2004
Posts: 9457
Location: Arizona
|
Posted:
Mon Aug 11, 2008 6:52 am |
|
What happens if you use the RavenNuke mainfile.php but with this one line added like above:
putenv("TZ=Israel"); |
_________________ Only registered users can see links on this board! Get registered or login!
Only registered users can see links on this board! Get registered or login! |
|
|
![](themes/RavenIce/forums/images/spacer.gif) |
prekill
![](modules/Forums/images/avatars/gallery/blank.gif)
|
Posted:
Mon Aug 11, 2008 8:15 am |
|
|
|
![](themes/RavenIce/forums/images/spacer.gif) |
prekill
![](modules/Forums/images/avatars/gallery/blank.gif)
|
Posted:
Mon Aug 11, 2008 12:09 pm |
|
I have just replaced this part of ravensnuke:
Quote: | if(defined('FORUM_ADMIN')) define('INCLUDE_PATH', '../../../');
elseif(defined('INSIDE_MOD')) define('INCLUDE_PATH', '../../');
else define('INCLUDE_PATH', './');
// Added by Raven for my RavenNuke76(tm) installation in v2.02.02
// These settings MUST be set here (right before including config.php) to avoid code injection.
$bypassInstallationFolderCheck = FALSE;
$bypassNukeSentinelInvalidIPCheck = FALSE;
$advanced_editor = 0;
$tnsl_bUseShortLinks = FALSE;
$tnsl_bAutoTapBlocks = FALSE;
$tnsl_bAutoTapLinks = FALSE;
$tnsl_bDebugShortLinks = FALSE;
$useDynamicTitles = FALSE;
$autoActivateUsers = FALSE;
//
@require_once(INCLUDE_PATH.'config.php');
// Fail if $admin_file is not set or does not exist
define('_ADMINSET','You must set a value for admin_file in config.php');
define('_ADMINNOTEXISTS','The admin_file you defined in config.php does not exist');
if (!defined('FORUM_ADMIN')) {
if(empty($admin_file)) {
die (_ADMINSET);
} elseif (!empty($admin_file) && !file_exists($admin_file.'.php')) {
die (_ADMINNOTEXISTS);
}
}
@require_once(INCLUDE_PATH.'db/db.php');
@require_once(INCLUDE_PATH.'includes/sql_layer.php');
@require_once(INCLUDE_PATH.'includes/ipban.php');
if (file_exists(INCLUDE_PATH.'includes/custom_files/custom_mainfile.php')) {
@include_once(INCLUDE_PATH.'includes/custom_files/custom_mainfile.php');
} |
with this one, and the site is working, whats the diffrence between the two? and why ravennuke give a blank page?
Quote: | if(defined('FORUM_ADMIN')) {
define('INCLUDE_PATH', '../../../');
} elseif(defined('INSIDE_MOD')) {
define('INCLUDE_PATH', '../../');
} else {
define('INCLUDE_PATH', './');
}
@require_once(INCLUDE_PATH."config.php");
@require_once(INCLUDE_PATH."db/db.php");
@require_once(INCLUDE_PATH."includes/sql_layer.php");
@require_once(INCLUDE_PATH."includes/ipban.php");
@include_once(INCLUDE_PATH."includes/nukesentinel.php");
if (file_exists(INCLUDE_PATH."includes/custom_files/custom_mainfile.php")) {
@include_once(INCLUDE_PATH."includes/custom_files/custom_mainfile.php");
} |
|
|
|
|
![](themes/RavenIce/forums/images/spacer.gif) |
|
|
View next topic
View previous topic
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001-2007 phpBB Group
All times are GMT - 6 Hours
|