Simple Machines Community Forum

Archived Boards and Threads... => Archived Boards => Install and Upgrade Help => Topic started by: scsouders on May 01, 2012, 05:43:28 PM

Title: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 05:43:28 PM
I just recently upgraded from SMF 1.1.16 to 2.0.2 via the webinstall.php.  The installation seemed to go through fine, no errors. When I log in as admin I can or cant access the following

Can Access
-Core Features
- Languages...but not its settings
-Themes and Layout...but not member options

Cant access without being redirected
-Features and Options
-Security and Moderation
-Server Settings
-Current Theme
-Modification Settings




Ive tried Permission settings but to no avail, Ive tried the string fix in the querystring.php , nothing worked

My forums are at http://forums.thrutheuprights.com/index.php

Im even using the default theme.

Can anyone help?







Version Information:
Forum version: SMF 2.0.2 (more detailed)
Current SMF version: SMF 2.0.2
GD version: bundled (2.0.34 compatible)
MySQL version: 5.0.95-community-log
eAccelerator: 0.9.6.1
PHP: 5.3.6
Server version: Apache/2.0.64 (Unix) mod_ssl/2.0.64 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_antiloris/0.4


Thxz
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 08:47:56 PM
Welcome to SMF,
This was asked not too long ago: http://www.simplemachines.org/community/index.php?topic=475292.0

Also who are you hosting with? This appears to be part of the problem according to the last user who had this issue.
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 09:33:54 PM
My host is

http://www.blutoshosting.com/
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 09:41:46 PM
Did you take a look at this thread: http://www.simplemachines.org/community/index.php?topic=475292.0 and try the steps listed in there?
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 09:55:50 PM
Yea, I've reviewed that post , then went to
http://dev.simplemachines.org/mantis/view.php?id=2669

I read some fragmented replies but not anything I understood

I did try to edit my querystring.php. and replaced the parse_string line but it doesnt appear to have helped , not sure if that's what I was supposed to do.
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 10:03:55 PM
Have you tried installing SMF not through webinstall.php? Are you sure you checked the file permissions?
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 10:05:31 PM
Do you notice this string in your URL  "%3b"?
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 10:07:40 PM
All of my directories are 755 all files are 644 , I believe that's correct right ?
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 10:10:11 PM
Quote from: Colin on May 01, 2012, 10:05:31 PM
Do you notice this string in your URL  "%3b"?

That string would be included in the url of the admin page that got redirected?
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 10:10:25 PM
Is your entire forum down right now? I can't even seem to get on it at all right now: http://forums.thrutheuprights.com/index.php

Back up now
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 10:11:06 PM
Quote from: scsouders on May 01, 2012, 10:10:11 PM
Quote from: Colin on May 01, 2012, 10:05:31 PM
Do you notice this string in your URL  "%3b"?

That string would be included in the url of the admin page that got redirected?
Correct
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 10:15:11 PM
Quote from: Colin on May 01, 2012, 10:11:06 PM
Quote from: scsouders on May 01, 2012, 10:10:11 PM
Quote from: Colin on May 01, 2012, 10:05:31 PM
Do you notice this string in your URL  "%3b"?

That string would be included in the url of the admin page that got redirected?
Correct


Ok, I logged in to the admin area , clicked on a admin link that normally should go to an admin section, but went to forums,,,the link appears as this

http://forums.thrutheuprights.com/index.php?action=admin;area=featuresettings
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 10:17:47 PM
What modifications do you have installed and was is the most recent one specifically?

*Thanks Flamer for the tip there.
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 10:23:48 PM
NCHAT is really the only different mod I installed since the SMF upgrade, but I have had it inactive a few times to try with it off, lemme uninstall it.

Here are others installed

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi18.photobucket.com%2Falbums%2Fb109%2Fscsouders%2Fwebsitepackages.png&hash=00a5fb271191f0045bfd23780448ec08cb29846c)
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 10:27:51 PM
I also uninstalled TapTalk as well
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 10:28:23 PM
Are you still having trouble?
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 10:28:44 PM
Personally, I don't see a mod that stands out in that list that would seem to cause those symptoms. Flamer if you want to chime in, it would be greatly appreciated.
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 10:30:28 PM
yes, still issues.

here is my querystring.php

<?php

/**
 * Simple Machines Forum (SMF)
 *
 * @package SMF
 * @author Simple Machines http://www.simplemachines.org
 * @copyright 2011 Simple Machines
 * @license http://www.simplemachines.org/about/smf/license.php BSD
 *
 * @version 2.0
 */

if (!defined('SMF'))
die('Hacking attempt...');

/* This file does a lot of important stuff.  Mainly, this means it handles
the query string, request variables, and session management.  It contains
the following functions:

void cleanRequest()
- cleans the request variables (ENV, GET, POST, COOKIE, SERVER) and
  makes sure the query string was parsed correctly.
- handles the URLs passed by the queryless URLs option.
- makes sure, regardless of php.ini, everything has slashes.
- sets up $board, $topic, and $scripturl and $_REQUEST['start'].
- determines, or rather tries to determine, the client's IP.

array escapestring__recursive(array var)
- returns the var, as an array or string, with escapes as required.
- importantly escapes all keys and values!
- calls itself recursively if necessary.

array htmlspecialchars__recursive(array var)
- adds entities (&quot;, &lt;, &gt;) to the array or string var.
- importantly, does not effect keys, only values.
- calls itself recursively if necessary.

array urldecode__recursive(array var)
- takes off url encoding (%20, etc.) from the array or string var.
- importantly, does it to keys too!
- calls itself recursively if there are any sub arrays.

array unescapestring__recursive(array var)
- unescapes, recursively, from the array or string var.
- effects both keys and values of arrays.
- calls itself recursively to handle arrays of arrays.

array stripslashes__recursive(array var)
- removes slashes, recursively, from the array or string var.
- effects both keys and values of arrays.
- calls itself recursively to handle arrays of arrays.

array htmltrim__recursive(array var)
- trims a string or an the var array using html characters as well.
- does not effect keys, only values.
- may call itself recursively if needed.

string cleanXml(string var)
- removes invalid XML characters to assure the input string being
  parsed properly.

string ob_sessrewrite(string buffer)
- rewrites the URLs outputted to have the session ID, if the user
  is not accepting cookies and is using a standard web browser.
- handles rewriting URLs for the queryless URLs option.
- can be turned off entirely by setting $scripturl to an empty
  string, ''. (it wouldn't work well like that anyway.)
- because of bugs in certain builds of PHP, does not function in
  versions lower than 4.3.0 - please upgrade if this hurts you.
*/

// Clean the request variables - add html entities to GET and slashes if magic_quotes_gpc is Off.
function cleanRequest()
{
global $board$topic$boardurl$scripturl$modSettings$smcFunc;

// Makes it easier to refer to things this way.
$scripturl $boardurl '/index.php';

// What function to use to reverse magic quotes - if sybase is on we assume that the database sensibly has the right unescape function!
$removeMagicQuoteFunction = @ini_get('magic_quotes_sybase') || strtolower(@ini_get('magic_quotes_sybase')) == 'on' 'unescapestring__recursive' 'stripslashes__recursive';

// Save some memory.. (since we don't use these anyway.)
unset($GLOBALS['HTTP_POST_VARS'], $GLOBALS['HTTP_POST_VARS']);
unset($GLOBALS['HTTP_POST_FILES'], $GLOBALS['HTTP_POST_FILES']);

// These keys shouldn't be set...ever.
if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS']))
die('Invalid request variable.');

// Same goes for numeric keys.
foreach (array_merge(array_keys($_POST), array_keys($_GET), array_keys($_FILES)) as $key)
if (is_numeric($key))
die('Numeric request keys are invalid.');

// Numeric keys in cookies are less of a problem. Just unset those.
foreach ($_COOKIE as $key => $value)
if (is_numeric($key))
unset($_COOKIE[$key]);

// Get the correct query string.  It may be in an environment variable...
if (!isset($_SERVER['QUERY_STRING']))
$_SERVER['QUERY_STRING'] = getenv('QUERY_STRING');

// It seems that sticking a URL after the query string is mighty common, well, it's evil - don't.
if (strpos($_SERVER['QUERY_STRING'], 'http') === 0)
{
header('HTTP/1.1 400 Bad Request');
die;
}

// Are we going to need to parse the ; out?
if ((strpos(@ini_get('arg_separator.input'), ';') === false || @version_compare(PHP_VERSION'4.2.0') == -1) && !empty($_SERVER['QUERY_STRING']))
{
// Get rid of the old one! You don't know where it's been!
$_GET = array();

// Was this redirected? If so, get the REDIRECT_QUERY_STRING.
// Do not urldecode() the querystring, unless you so much wish to break OpenID implementation. :)
$_SERVER['QUERY_STRING'] = substr($_SERVER['QUERY_STRING'], 05) === 'url=/' $_SERVER['REDIRECT_QUERY_STRING'] : $_SERVER['QUERY_STRING'];

// Replace ';' with '&' and '&something&' with '&something=&'.  (this is done for compatibility...)
// !!! smflib
parse_str(preg_replace('/&(\w+)(?=&|$)/''&$1='strtr($_SERVER['QUERY_STRING'], array(';?' => '&'';' => '&''%00' => ''"\0" => ''))), $_GET);

// Magic quotes still applies with parse_str - so clean it up.
if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != && empty($modSettings['integrate_magic_quotes']))
$_GET $removeMagicQuoteFunction($_GET);
}
elseif (strpos(@ini_get('arg_separator.input'), ';') !== false)
{
if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != && empty($modSettings['integrate_magic_quotes']))
$_GET $removeMagicQuoteFunction($_GET);

// Search engines will send action=profile%3Bu=1, which confuses PHP.
foreach ($_GET as $k => $v)
{
if (is_string($v) && strpos($k';') !== false)
{
$temp explode(';'$v);
$_GET[$k] = $temp[0];

for ($i 1$n count($temp); $i $n$i++)
{
@list ($key$val) = @explode('='$temp[$i], 2);
if (!isset($_GET[$key]))
$_GET[$key] = $val;
}
}

// This helps a lot with integration!
if (strpos($k'?') === 0)
{
$_GET[substr($k1)] = $v;
unset($_GET[$k]);
}
}
}

// There's no query string, but there is a URL... try to get the data from there.
if (!empty($_SERVER['REQUEST_URI']))
{
// Remove the .html, assuming there is one.
if (substr($_SERVER['REQUEST_URI'], strrpos($_SERVER['REQUEST_URI'], '.'), 4) == '.htm')
$request substr($_SERVER['REQUEST_URI'], 0strrpos($_SERVER['REQUEST_URI'], '.'));
else
$request $_SERVER['REQUEST_URI'];

// !!! smflib.
// Replace 'index.php/a,b,c/d/e,f' with 'a=b,c&d=&e=f' and parse it into $_GET.
if (strpos($requestbasename($scripturl) . '/') !== false)
{
parse_str(substr(preg_replace('/&(\w+)(?=&|$)/''&$1='strtr(preg_replace('~/([^,/]+),~''/$1='substr($requeststrpos($requestbasename($scripturl)) + strlen(basename($scripturl)))), '/''&')), 1), $temp);
if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != && empty($modSettings['integrate_magic_quotes']))
$temp $removeMagicQuoteFunction($temp);
$_GET += $temp;
}
}

// If magic quotes is on we have some work...
if (function_exists('get_magic_quotes_gpc') && @get_magic_quotes_gpc() != 0)
{
$_ENV $removeMagicQuoteFunction($_ENV);
$_POST $removeMagicQuoteFunction($_POST);
$_COOKIE $removeMagicQuoteFunction($_COOKIE);
foreach ($_FILES as $k => $dummy)
if (isset($_FILES[$k]['name']))
$_FILES[$k]['name'] = $removeMagicQuoteFunction($_FILES[$k]['name']);
}

// Add entities to GET.  This is kinda like the slashes on everything else.
$_GET htmlspecialchars__recursive($_GET);

// Let's not depend on the ini settings... why even have COOKIE in there, anyway?
$_REQUEST $_POST $_GET;

// Make sure $board and $topic are numbers.
if (isset($_REQUEST['board']))
{
// Make sure its a string and not something else like an array
$_REQUEST['board'] = (string) $_REQUEST['board'];

// If there's a slash in it, we've got a start value! (old, compatible links.)
if (strpos($_REQUEST['board'], '/') !== false)
list ($_REQUEST['board'], $_REQUEST['start']) = explode('/'$_REQUEST['board']);
// Same idea, but dots.  This is the currently used format - ?board=1.0...
elseif (strpos($_REQUEST['board'], '.') !== false)
list ($_REQUEST['board'], $_REQUEST['start']) = explode('.'$_REQUEST['board']);
// Now make absolutely sure it's a number.
$board = (int) $_REQUEST['board'];
$_REQUEST['start'] = isset($_REQUEST['start']) ? (int) $_REQUEST['start'] : 0;

// This is for "Who's Online" because it might come via POST - and it should be an int here.
$_GET['board'] = $board;
}
// Well, $board is going to be a number no matter what.
else
$board 0;

// If there's a threadid, it's probably an old YaBB SE link.  Flow with it.
if (isset($_REQUEST['threadid']) && !isset($_REQUEST['topic']))
$_REQUEST['topic'] = $_REQUEST['threadid'];

// We've got topic!
if (isset($_REQUEST['topic']))
{
// Make sure its a string and not something else like an array
$_REQUEST['topic'] = (string) $_REQUEST['topic'];

// Slash means old, beta style, formatting.  That's okay though, the link should still work.
if (strpos($_REQUEST['topic'], '/') !== false)
list ($_REQUEST['topic'], $_REQUEST['start']) = explode('/'$_REQUEST['topic']);
// Dots are useful and fun ;).  This is ?topic=1.15.
elseif (strpos($_REQUEST['topic'], '.') !== false)
list ($_REQUEST['topic'], $_REQUEST['start']) = explode('.'$_REQUEST['topic']);

$topic = (int) $_REQUEST['topic'];

// Now make sure the online log gets the right number.
$_GET['topic'] = $topic;
}
else
$topic 0;

// There should be a $_REQUEST['start'], some at least.  If you need to default to other than 0, use $_GET['start'].
if (empty($_REQUEST['start']) || $_REQUEST['start'] < || (int) $_REQUEST['start'] > 2147473647)
$_REQUEST['start'] = 0;

// The action needs to be a string and not an array or anything else
if (isset($_REQUEST['action']))
$_REQUEST['action'] = (string) $_REQUEST['action'];
if (isset($_GET['action']))
$_GET['action'] = (string) $_GET['action'];

// Make sure we have a valid REMOTE_ADDR.
if (!isset($_SERVER['REMOTE_ADDR']))
{
$_SERVER['REMOTE_ADDR'] = '';
// A new magic variable to indicate we think this is command line.
$_SERVER['is_cli'] = true;
}
elseif (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~'$_SERVER['REMOTE_ADDR']) === 0)
$_SERVER['REMOTE_ADDR'] = 'unknown';

// Try to calculate their most likely IP for those people behind proxies (And the like).
$_SERVER['BAN_CHECK_IP'] = $_SERVER['REMOTE_ADDR'];

// Find the user's IP address. (but don't let it give you 'unknown'!)
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_CLIENT_IP']) && (preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$_SERVER['HTTP_CLIENT_IP']) == || preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$_SERVER['REMOTE_ADDR']) != 0))
{
// We have both forwarded for AND client IP... check the first forwarded for as the block - only switch if it's better that way.
if (strtok($_SERVER['HTTP_X_FORWARDED_FOR'], '.') != strtok($_SERVER['HTTP_CLIENT_IP'], '.') && '.' strtok($_SERVER['HTTP_X_FORWARDED_FOR'], '.') == strrchr($_SERVER['HTTP_CLIENT_IP'], '.') && (preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$_SERVER['HTTP_X_FORWARDED_FOR']) == || preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$_SERVER['REMOTE_ADDR']) != 0))
$_SERVER['BAN_CHECK_IP'] = implode('.'array_reverse(explode('.'$_SERVER['HTTP_CLIENT_IP'])));
else
$_SERVER['BAN_CHECK_IP'] = $_SERVER['HTTP_CLIENT_IP'];
}
if (!empty($_SERVER['HTTP_CLIENT_IP']) && (preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$_SERVER['HTTP_CLIENT_IP']) == || preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$_SERVER['REMOTE_ADDR']) != 0))
{
// Since they are in different blocks, it's probably reversed.
if (strtok($_SERVER['REMOTE_ADDR'], '.') != strtok($_SERVER['HTTP_CLIENT_IP'], '.'))
$_SERVER['BAN_CHECK_IP'] = implode('.'array_reverse(explode('.'$_SERVER['HTTP_CLIENT_IP'])));
else
$_SERVER['BAN_CHECK_IP'] = $_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
// If there are commas, get the last one.. probably.
if (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',') !== false)
{
$ips array_reverse(explode(', '$_SERVER['HTTP_X_FORWARDED_FOR']));

// Go through each IP...
foreach ($ips as $i => $ip)
{
// Make sure it's in a valid range...
if (preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$ip) != && preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$_SERVER['REMOTE_ADDR']) == 0)
continue;

// Otherwise, we've got an IP!
$_SERVER['BAN_CHECK_IP'] = trim($ip);
break;
}
}
// Otherwise just use the only one.
elseif (preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$_SERVER['HTTP_X_FORWARDED_FOR']) == || preg_match('~^((0|10|172\.(1[6-9]|2[0-9]|3[01])|192\.168|255|127)\.|unknown)~'$_SERVER['REMOTE_ADDR']) != 0)
$_SERVER['BAN_CHECK_IP'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}

// Make sure we know the URL of the current request.
if (empty($_SERVER['REQUEST_URI']))
$_SERVER['REQUEST_URL'] = $scripturl . (!empty($_SERVER['QUERY_STRING']) ? '?' $_SERVER['QUERY_STRING'] : '');
elseif (preg_match('~^([^/]+//[^/]+)~'$scripturl$match) == 1)
$_SERVER['REQUEST_URL'] = $match[1] . $_SERVER['REQUEST_URI'];
else
$_SERVER['REQUEST_URL'] = $_SERVER['REQUEST_URI'];

// And make sure HTTP_USER_AGENT is set.
$_SERVER['HTTP_USER_AGENT'] = isset($_SERVER['HTTP_USER_AGENT']) ? htmlspecialchars($smcFunc['db_unescape_string']($_SERVER['HTTP_USER_AGENT']), ENT_QUOTES) : '';

// Some final checking.
if (preg_match('~^((([1]?\d)?\d|2[0-4]\d|25[0-5])\.){3}(([1]?\d)?\d|2[0-4]\d|25[0-5])$~'$_SERVER['BAN_CHECK_IP']) === 0)
$_SERVER['BAN_CHECK_IP'] = '';
if ($_SERVER['REMOTE_ADDR'] == 'unknown')
$_SERVER['REMOTE_ADDR'] = '';
}

// Adds slashes to the array/variable.  Uses two underscores to guard against overloading.
function escapestring__recursive($var)
{
global $smcFunc;

if (!is_array($var))
return $smcFunc['db_escape_string']($var);

// Reindex the array with slashes.
$new_var = array();

// Add slashes to every element, even the indexes!
foreach ($var as $k => $v)
$new_var[$smcFunc['db_escape_string']($k)] = escapestring__recursive($v);

return $new_var;
}

// Adds html entities to the array/variable.  Uses two underscores to guard against overloading.
function htmlspecialchars__recursive($var$level 0)
{
global $smcFunc;

if (!is_array($var))
return isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($varENT_QUOTES) : htmlspecialchars($varENT_QUOTES);

// Add the htmlspecialchars to every element.
foreach ($var as $k => $v)
$var[$k] = $level 25 null htmlspecialchars__recursive($v$level 1);

return $var;
}

// Removes url stuff from the array/variable.  Uses two underscores to guard against overloading.
function urldecode__recursive($var$level 0)
{
if (!is_array($var))
return urldecode($var);

// Reindex the array...
$new_var = array();

// Add the htmlspecialchars to every element.
foreach ($var as $k => $v)
$new_var[urldecode($k)] = $level 25 null urldecode__recursive($v$level 1);

return $new_var;
}
// Unescapes any array or variable.  Two underscores for the normal reason.
function unescapestring__recursive($var)
{
global $smcFunc;

if (!is_array($var))
return $smcFunc['db_unescape_string']($var);

// Reindex the array without slashes, this time.
$new_var = array();

// Strip the slashes from every element.
foreach ($var as $k => $v)
$new_var[$smcFunc['db_unescape_string']($k)] = unescapestring__recursive($v);

return $new_var;
}

// Remove slashes recursively...
function stripslashes__recursive($var$level 0)
{
if (!is_array($var))
return stripslashes($var);

// Reindex the array without slashes, this time.
$new_var = array();

// Strip the slashes from every element.
foreach ($var as $k => $v)
$new_var[stripslashes($k)] = $level 25 null stripslashes__recursive($v$level 1);

return $new_var;
}

// Trim a string including the HTML space, character 160.
function htmltrim__recursive($var$level 0)
{
global $smcFunc;

// Remove spaces (32), tabs (9), returns (13, 10, and 11), nulls (0), and hard spaces. (160)
if (!is_array($var))
return isset($smcFunc) ? $smcFunc['htmltrim']($var) : trim($var' ' "\t\n\r\x0B" '\0' "\xA0");

// Go through all the elements and remove the whitespace.
foreach ($var as $k => $v)
$var[$k] = $level 25 null htmltrim__recursive($v$level 1);

return $var;
}

// Clean up the XML to make sure it doesn't contain invalid characters.
function cleanXml($string)
{
global $context;

// http://www.w3.org/TR/2000/REC-xml-20001006#NT-Char
return preg_replace('~[\x00-\x08\x0B\x0C\x0E-\x19' . ($context['utf8'] ? (@version_compare(PHP_VERSION'4.3.3') != -'\x{D800}-\x{DFFF}\x{FFFE}\x{FFFF}' "\xED\xA0\x80-\xED\xBF\xBF\xEF\xBF\xBE\xEF\xBF\xBF") : '') . ']~' . ($context['utf8'] ? 'u' ''), ''$string);
}

function 
JavaScriptEscape($string)
{
global $scripturl;

return '\'' strtr($string, array(
"\r" => '',
"\n" => '\\n',
"\t" => '\\t',
'\\' => '\\\\',
'\'' => '\\\'',
'</' => '<\' + \'/',
'script' => 'scri\'+\'pt',
'<a href' => '<a hr\'+\'ef',
$scripturl => $scripturl '\'+\'',
)) . '\'';
}

// Rewrite URLs to include the session ID.
function ob_sessrewrite($buffer)
{
global $scripturl$modSettings$user_info$context;

// If $scripturl is set to nothing, or the SID is not defined (SSI?) just quit.
if ($scripturl == '' || !defined('SID'))
return $buffer;

// Do nothing if the session is cookied, or they are a crawler - guests are caught by redirectexit().  This doesn't work below PHP 4.3.0, because it makes the output buffer bigger.
// !!! smflib
if (empty($_COOKIE) && SID != '' && empty($context['browser']['possibly_robot']) && @version_compare(PHP_VERSION'4.3.0') != -1)
$buffer preg_replace('/"' preg_quote($scripturl'/') . '(?!\?' preg_quote(SID'/') . ')\\??/''"' $scripturl '?' SID '&amp;'$buffer);
// Debugging templates, are we?
elseif (isset($_GET['debug']))
$buffer preg_replace('/(?<!<link rel="canonical" href=)"' preg_quote($scripturl'/') . '\\??/''"' $scripturl '?debug;'$buffer);

// This should work even in 4.2.x, just not CGI without cgi.fix_pathinfo.
if (!empty($modSettings['queryless_urls']) && (!$context['server']['is_cgi'] || @ini_get('cgi.fix_pathinfo') == || @get_cfg_var('cgi.fix_pathinfo') == 1) && ($context['server']['is_apache'] || $context['server']['is_lighttpd']))
{
// Let's do something special for session ids!
if (defined('SID') && SID != '')
$buffer preg_replace('/"' preg_quote($scripturl'/') . '\?(?:' SID '(?:;|&|&amp;))((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e'"'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html?' . SID . '\$2\"'"$buffer);
else
$buffer preg_replace('/"' preg_quote($scripturl'/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?"/e'"'\"' . \$scripturl . '/' . strtr('\$1', '&;=', '//,') . '.html\$2\"'"$buffer);
}

// Return the changed buffer.
return $buffer;
}

?>


(edit by Yoshi2889: Please use code tags if posting code, like this: [code]your code[/code])
Title: Re: Admin Links Redirecting to home page
Post by: Adish - (F.L.A.M.E.R) on May 01, 2012, 10:32:17 PM
Your best fix currently would be to use the Large upgrade and upgrade once more as it does seem to be a broken upgrade. http://download.simplemachines.org/)

- Download a copy of Large Upgrade.
- Upload all the files on the server and replace them.
- Run the upgrade.php from yourwebsite.com/upgrade.php
- Follow the steps and once done, try again.
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 10:33:40 PM
Will I loose all my registered members and forums boards?
Title: Re: Admin Links Redirecting to home page
Post by: Adish - (F.L.A.M.E.R) on May 01, 2012, 10:38:13 PM
No you wouldn't. All you will loose are the installed modifications. You have already lost them while you upgraded anyhow. :) So, that shouldn't be a problem.

However, I would suggest grabbing a copy of your database just for as a backup before continuing unless you already have a backup while you were at 1.1.x.
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 01, 2012, 10:43:29 PM
Should I install the whole smf_2_0_2_upgrade contents individually, just replacing on file at a time. or should I extract them while they are zipped in the server. currently the zip file is in the packages folder
Title: Re: Admin Links Redirecting to home page
Post by: Adish - (F.L.A.M.E.R) on May 01, 2012, 10:47:51 PM
You can use FTP and replace all the files through that, or you can upload the file on to your server, unzip it and then replace it. Anything would be fine.

Following wiki should help: Upgrading SMF (http://wiki.simplemachines.org/smf/Upgrading)
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 01, 2012, 10:48:33 PM
You should always back up your database regardless of the type of work you are doing on your forum just in case.
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 02, 2012, 12:10:39 AM
I downloaded and did the upgrade , tried again, and still same results. :(
Title: Re: Admin Links Redirecting to home page
Post by: rx7raven on May 02, 2012, 12:53:34 AM
I'd like to chime in real quick as I'm helping scsouders with this issue.

I downloaded a backup of the forum and installed it on a computer running a LAMP server.  After installing fresh from the website, I did an import and everything works as it should.  I click on the admin interface and they redirect me to the correct location.  So it is working.
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 02, 2012, 12:57:25 AM
Ok, great! Glad it is finally working. *Topic marked as solved.
Title: Re: Admin Links Redirecting to home page
Post by: rx7raven on May 02, 2012, 01:04:21 AM
NO NO I meant I had it working on a different server so I'm wondering what server setting it could be.  If you think that  might be the case.

Sorry didn't mean to sound confusing. :-(
Title: Re: Admin Links Redirecting to home page
Post by: Colin on May 02, 2012, 01:09:53 AM
Oh, sorry about that. *Topic marked as unsolved. It now goes back to my initial hunch of it being a host/serverside issue.
Title: Re: Admin Links Redirecting to home page
Post by: rx7raven on May 02, 2012, 01:13:25 AM
I'm pretty sure everything was working prior to the upgrade on this host.
Title: Re: Admin Links Redirecting to home page
Post by: scsouders on May 02, 2012, 08:45:12 AM
Quote from: rx7raven on May 02, 2012, 01:13:25 AM
I'm pretty sure everything was working prior to the upgrade on this host.

Yea, all was fine when we had 1.1.16 installed, no admin issues, wasn't until the move to 2.0.2 , thats when I had issues. Could it be a permission stetting im missing..Im using 755 for directories and 644 for files.
Title: Re: Admin Links Redirecting to home page
Post by: Adish - (F.L.A.M.E.R) on May 06, 2012, 01:57:50 PM
Yes, it is likely to be a permissions issue. I highly doubt if a host can cause such an issue.

If you do not mind, feel free to send me the following details via PM and I will look into it personally for you:
- Your Hosting Control Panel Link.
- Your SMF Admin username/password.
- FTP access details.
Title: Re: Admin Links Redirecting to home page
Post by: rx7raven on May 16, 2012, 07:04:45 PM
Looks like we are good to go.  I'm guessing it was a permissions issue but everything is working fine for us.  Thanks for the help!
Title: Re: Admin Links Redirecting to home page
Post by: Sven Kortekaas on January 22, 2013, 08:12:41 AM
Quote from: rx7raven on May 16, 2012, 07:04:45 PM
Looks like we are good to go.  I'm guessing it was a permissions issue but everything is working fine for us.  Thanks for the help!

But how did you solve it?
Title: Re: Admin Links Redirecting to home page
Post by: rx7raven on January 23, 2013, 04:00:23 PM
Quote from: Sven Kortekaas on January 22, 2013, 08:12:41 AM
Quote from: rx7raven on May 16, 2012, 07:04:45 PM
Looks like we are good to go.  I'm guessing it was a permissions issue but everything is working fine for us.  Thanks for the help!

But how did you solve it?
Title: Re: Admin Links Redirecting to home page
Post by: Sven Kortekaas on January 23, 2013, 06:06:09 PM
Quote from: rx7raven on January 23, 2013, 04:00:23 PM
Quote from: Sven Kortekaas on January 22, 2013, 08:12:41 AM
Quote from: rx7raven on May 16, 2012, 07:04:45 PM
Looks like we are good to go.  I'm guessing it was a permissions issue but everything is working fine for us.  Thanks for the help!

But how did you solve it?

You only quoted me... How did you solve it?
Title: Re: Admin Links Redirecting to home page
Post by: Colin on January 24, 2013, 04:04:27 PM
Sven, are you having the same issue? From the previous posts it sounds like a file permissions issue. Did you check that already?
Title: Re: Admin Links Redirecting to home page
Post by: Sven Kortekaas on January 24, 2013, 04:41:31 PM
Quote from: Colin on January 24, 2013, 04:04:27 PM
Sven, are you having the same issue? From the previous posts it sounds like a file permissions issue. Did you check that already?
Yes I'm having the same issue. Some admin links work and some are going straight to the frontpage.

Didn't check all my file permission. What CHMOD for all the files?
Title: Re: Admin Links Redirecting to home page
Post by: Colin on January 24, 2013, 11:26:48 PM
644 for the files and 755 for the directories.
Title: Re: Admin Links Redirecting to home page
Post by: Sven Kortekaas on January 25, 2013, 07:01:28 AM
Quote from: Colin on January 24, 2013, 11:26:48 PM
644 for the files and 755 for the directories.
Check. All files are 644 and all directories are 755. Still got the problem.
Title: Re: Admin Links Redirecting to home page
Post by: Sven Kortekaas on January 25, 2013, 01:31:25 PM
Found the problem. I got my wordpress with Bulletproof Security plugin installed on /public_html/ and SMF on /public_html/brwforum/ and the .htaccess was the cause of all the problems. Thanks for helping me.