Release of upgrade for phpbb2.0.20

Support for IntegraMOD 140

Moderator: Integra Moderator

PostAuthor: found it » Thu Apr 20, 2006 2:37 pm

[quote=""gcomfx.com";p="2477""]Also have you guys quoted anyone with images yet?

http://100mphclub.com/community/viewtop ... 2914#32914

The quote is not expanded, but takes the space as if it were. :mrgreen: <img>
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: Eon » Fri Apr 21, 2006 5:30 am

I was going to say the same thing Found it.

I wasn't being bossy Found it. I could do the changes and stuff if you are asking for help.

<img>

Also, the bbcode.php in the zip file, is that the one we are supposed to use if we are using the premodded files?

gcomfx.com---

At that thread, there is a line to find, then a line to add I believe. Did you use the premodded files or make the changes manually?

If you downloaded a version before the bbcode.php was fixed, and you used it, then there is a fix in it as well.
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Fri Apr 21, 2006 5:46 am

"Threat009";p="2446" wrote:
"found it";p="2365" wrote:hi

can you place a zip file or a txt file so ican compare you posting.php as the site has screwed up your copy....

:mrgreen:

Thanks for taking the time to compare. I'm not sure why no one else has had this problem yet, but I'm guessing it may have something to do w/a mod I've installed in the past.

[url=http]posting.php.zip[/url]


Hi

your posting.php file is showing exactly the same as mine...have you added any mods to your site that need to be added in posting.php....?

let me know what mods you have added andwe can see if we can find the problem

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: gcomfx.com » Fri Apr 21, 2006 7:26 am

"found it";p="2479" wrote:
"gcomfx.com";p="2477" wrote:Also have you guys quoted anyone with images yet?

http://100mphclub.com/community/viewtop ... 2914#32914

The quote is not expanded, but takes the space as if it were. :mrgreen: <img>


Nope, apparently it's a new issue with Safari since the upgrade. And right after the upgrade to Safari finally fixed the add a smilie or BBcode from the button menus. LOL Oh well, I would rather have this problem than the other.
Last edited by gcomfx.com on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Paul (gcomfx) - 100mphclub.com originator
[size=99px]
User avatar
gcomfx.com
Sr Integra Member
Sr Integra Member
 
Posts: 251
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Wed Apr 12, 2006 9:34 am
Cash on hand: 0.00

PostAuthor: gcomfx.com » Fri Apr 21, 2006 7:33 am

"Eon";p="2548" wrote:gcomfx.com---

At that thread, there is a line to find, then a line to add I believe. Did you use the premodded files or make the changes manually?

If you downloaded a version before the bbcode.php was fixed, and you used it, then there is a fix in it as well.


I downloaded the file and installed it right before I posted. I used the premodded files. That manual stuff makes my head spin. <img>

So I need to download it again and then extract and install the bbcode.php in the zip file inside the download now?
Last edited by gcomfx.com on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Paul (gcomfx) - 100mphclub.com originator
[size=99px]
User avatar
gcomfx.com
Sr Integra Member
Sr Integra Member
 
Posts: 251
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Wed Apr 12, 2006 9:34 am
Cash on hand: 0.00

PostAuthor: Eon » Fri Apr 21, 2006 8:49 am

Is the zip file the fixed bbcode file Found it?
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

PostAuthor: found it » Fri Apr 21, 2006 9:02 am

"Eon";p="2569" wrote:Is the zip file the fixed bbcode file Found it?


yes it is and the extra fix is included in fuctions_post.php

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Threat009 » Fri Apr 21, 2006 9:12 am

"Threat009";p="2446" wrote:
[url=http]posting.php.zip[/url]


bump* Can anyone help w/this issue? Forums are totally down. No news, posting, quoting, nothing. Any attempt results in Parse error: parse error, unexpected $ in posting.php on line 1339
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

PostAuthor: Eon » Fri Apr 21, 2006 10:58 am

Do you have a backup of your posting.php before you applied the edits?

Although due to the fact that there is only 1 small edit in posting.php I am guessing that is not the real problem. At least not in that file.

I would put your backups back in place for the mean time until this can be sorted out.

Also, if you have kept up with what mods you have installed and what files were editted for those mods, you can go through and drop the pre-modded files into place that were not changed from the stock IM 140 with phpbb2.0.19 and phpbb security 1.03.

Then just make the changes to the files that were editted from mods or bug fixes.


That is what I did, was a lot quicker.
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Fri Apr 21, 2006 12:16 pm

"Threat009";p="2574" wrote:
"Threat009";p="2446" wrote:
[url=http]posting.php.zip[/url]


bump* Can anyone help w/this issue? Forums are totally down. No news, posting, quoting, nothing. Any attempt results in Parse error: parse error, unexpected $ in posting.php on line 1339


Hi I responded to your post a few hours ago here

http://integramod.com/forum/viewtopic.php?p=2551#2551

but you didnt go back a page in this topic....

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: Threat009 » Fri Apr 21, 2006 1:54 pm

"Eon";p="2590" wrote:Do you have a backup of your posting.php before you applied the edits?

Although due to the fact that there is only 1 small edit in posting.php I am guessing that is not the real problem. At least not in that file.

I would put your backups back in place for the mean time until this can be sorted out.

Also, if you have kept up with what mods you have installed and what files were editted for those mods, you can go through and drop the pre-modded files into place that were not changed from the stock IM 140 with phpbb2.0.19 and phpbb security 1.03.

Then just make the changes to the files that were editted from mods or bug fixes.


That is what I did, was a lot quicker.

An excellent suggestion. I overwrote all of my manual files w/the premodded ones and that seems to have done the trick! I have a folder that I keep all mods and add-ons in, so I did a search in that folder for any of the premodded files, and none were found so I got lucky on that one. I don't quite understand why the manual edits involve memberlist.php and posting.php but the pre-modded folder does not have them. :)
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

PostAuthor: Eon » Fri Apr 21, 2006 2:42 pm

I believe the bbcode.php that is included in the zip file is the correct one to use. And no it will not cause any problems just replacing the one you have with the new one. Unless of course you have made a mod to it since you dropped it in.

Make sure your quotes and everything work.

Otherwise happy forum whoring!
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

PostAuthor: Threat009 » Sat Apr 22, 2006 1:44 pm

"Eon";p="2596" wrote:I believe the bbcode.php that is included in the zip file is the correct one to use. And no it will not cause any problems just replacing the one you have with the new one. Unless of course you have made a mod to it since you dropped it in.

Make sure your quotes and everything work.

Otherwise happy forum whoring!

Overwrote the file, tested quote/s, everything seems to be running smoothly. Thanks to E1 for the assist! <img>
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: RedRobin » Sat Apr 22, 2006 1:50 pm

Hi everyone!

I guess the quickest way to install and update your portal (stock) is by doing the following steps below in strict order:

[list type=decimal][*]IntegraMOD 140
[*]phpBB 2.0.17 to 2.0.19 Integramod 140
[*]phpBB Security 1.02 to 1.03 IM 140
[*]phpBB 2.0.19 to 2.0.20 Integramod 140
[*]Apply the fix on your integraMOD-root/admin/admin_ranks.php if you used the ZIP file with pre-modded files.[/list]


As stated by found it, the correct code in admin_ranks.php should be]         $confirm = isset($HTTP_POST_VARS['confirm']);                 if( $rank_id && $confirm )[/code]

I suggest that all files should be core and un-modded before upgrading. It is much easier that way. I have success in updating my test site using these procedures. In the end, it should give you these results at your ACP:

[url=http][flash=,:nnokexpr]http://img65.imageshack.us/img65/6797/untitled4ab.jpg[/flash:nnokexpr][/url]

That's it! I hope you find my post informative. I'm new here and an amateur when it comes to PHP but I'm having a good start in contributing to this community.

<img>
Last edited by RedRobin on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
RedRobin
Newbie
Newbie
 
Posts: 4
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sat Apr 22, 2006 12:44 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: RedRobin » Sat Apr 22, 2006 2:00 pm

Also, I would like to add that I didn't edit a single file (except for the fix in admin_ranks.php) in my process of upgrading my integraMOD site.

All the ZIP files that I downloaded have "premodded folders". I only upload all the files within these folders to my server, overwriting the old ones before executing the installer for database updates.

These are all fresh installs. No "other" mods included. If this is your case, there should be no problem.

<img>
Last edited by RedRobin on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
RedRobin
Newbie
Newbie
 
Posts: 4
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sat Apr 22, 2006 12:44 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Threat009 » Sat Apr 22, 2006 2:28 pm

My site seems to be running fine, but this is starting to get a little confusing. If we are supposed to use bbcode.zip why is bbcode.php even included in the premodded folder? I guess that doesn't matter so long as everyone knows to use the .zip file, but than I read that if I use the .zip, which sounds like I had a choice, than apply fix to admin_ranks.php

WoW! This is one confusing update! Can someone confirm, Is premodded files/admin/admin_ranks.php correct? Or does it need an edit when you use bbcode.zip? :?
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Sat Apr 22, 2006 2:44 pm

"Threat009";p="2687" wrote:My site seems to be running fine, but this is starting to get a little confusing. If we are supposed to use bbcode.zip why is bbcode.php even included in the premodded folder? I guess that doesn't matter so long as everyone knows to use the .zip file, but than I read that if I use the .zip, which sounds like I had a choice, than apply fix to admin_ranks.php

WoW! This is one confusing update! Can someone confirm, Is premodded files/admin/admin_ranks.php correct? Or does it need an edit when you use bbcode.zip? :?


Hi

Sorry if the files got confusing ....lol they did for me uploading them.....ignore the bbcode zip...that ws on my comp but got loaded up.....

the fix (admin_rank.php) does need to be applied when using the premodded files as i made an error.....

if your site is working as it dhould then i would not worry.....

Again sorry for any confusion it was not the easiest of updates to do.....

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Threat009 » Sat Apr 22, 2006 3:04 pm

Thankyou for confirming :mrgreen:
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

PostAuthor: Eon » Mon Apr 24, 2006 12:34 pm

I just noticed this, but my button in the ACP that goes to Ranks is not there any more. And I applied the fix to admin_ranks.php.

And also my quotes have quit working again. Made no changes at all.
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

PostAuthor: Thug Lyfe » Mon Apr 24, 2006 4:53 pm

After seeing all these errors...i'm really scared because i'll most likely screw up lol. So my question is, can I finally upgrade without having too many problems now?
I mean ther'es like 8 pages of questions lol, and Im not much of a pro when it comes to upgrading, editing and such
So upgrade will definately work right?
Last edited by Thug Lyfe on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Thug Lyfe
Members
Members
 
Posts: 30
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 2:09 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: sirap » Mon Apr 24, 2006 5:09 pm

hi, just upgraded using premodded files..but I got this error when try to change user password in admin ACP.

phpBB : Critical Error

Error removing auto-login keys

DEBUG MODE

SQL Error : 1146 Table 'forumdb.SESSIONS_KEYS_TABLE' doesn't exist

DELETE FROM SESSIONS_KEYS_TABLE WHERE user_id = 242

Line : 533
File : sessions.php

Is anyone got the solution?
This is my sessions.php

Code: Select all
 <?php^M/***************************************************************************^M  *                                sessions.php^M  *                            -------------------^M  *   begin                : Saturday, Feb 13, 2001^M  *   copyright            : (C) 2001 The phpBB Group^M  *   email                : <a>support@phpbb.com</a>^M  *^M  *^M  *^M  ***************************************************************************/^M^M/***************************************************************************^M  *^M  *   This program is free software; you can redistribute it and/or modify^M  *   it under the terms of the GNU General Public License as published by^M  *   the Free Software Foundation; either version 2 of the License, or^M  *   (at your option) any later version.^M  *^M  ***************************************************************************/^M^M//^M// Adds/updates a new session to the database for the given userid.^M// Returns the new session ID on success.^M//^Mfunction session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)^M{^M         global $db, $board_config;^M         global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M         $cookiename = $board_config['cookie_name'];^M         $cookiepath = $board_config['cookie_path'];^M         $cookiedomain = $board_config['cookie_domain'];^M         $cookiesecure = $board_config['cookie_secure'];^M^M         if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M         {^M                 $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                 $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                 $sessionmethod = SESSION_METHOD_COOKIE;^M         }^M         else^M         {^M                 $sessiondata = array();^M                 $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                 $sessionmethod = SESSION_METHOD_GET;^M         }^M^M         if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) ^M         {^M                 $session_id = '';^M         }^M         ^M         $page_id = (int) $page_id;^M^M         global $HTTP_SERVER_VARS; ^M         if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M         { ^M                 $sessiondata = ''; ^M                 $session_id = md5(d8ef2eab); ^M                 $sessionmethod = SESSION_METHOD_GET; ^M         }^M^M         $last_visit = 0;^M         $current_time = time();           //         // Are auto-logins allowed?         // If allow_autologin is not set or is true then they are         // (same behaviour as old 2.0.x session code)         //         if (isset($board_config['allow_autologin']) && !$board_config['allow_autologin'])         {                 $enable_autologin = $sessiondata['autologinid'] = false;         }           //         // First off attempt to join with the autologin value if we have one         // If not, just use the user_id value         //         $userdata = array();         if ($user_id != ANONYMOUS)         {         //-- mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                        ^M//-- add^M                 lw_check_membership($userdata);^M//-- fin mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                    ^M^M                 if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '' && $user_id)                 {                         $sql = 'SELECT u.*                                FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k                                WHERE u.user_id = ' . (int) $user_id . "                                        AND u.user_active = 1                                        AND k.user_id = u.user_id                                        AND k.key_id = '" . md5($sessiondata['autologinid']) . "'";                         if (!($result = $db->sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db->sql_fetchrow($result);                         $db->sql_freeresult($result);                           $enable_autologin = $login = 1;                 }                 else if (!$auto_create)                 {                         $sessiondata['autologinid'] = '';                         $sessiondata['userid'] = $user_id;                           $sql = 'SELECT *                                FROM ' . USERS_TABLE . '                                WHERE user_id = ' . (int) $user_id . '                                        AND user_active = 1';                         if (!($result = $db->sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db->sql_fetchrow($result);                         $db->sql_freeresult($result);                         $login = 1;                 }         }           //         // At this point either $userdata should be populated or         // one of the below is true         // * Key didn't match one in the DB         // * User does not exist         // * User is inactive         //         if (!sizeof($userdata) || !is_array($userdata) || !$userdata)         {                 $sessiondata['autologinid'] = '';                 $sessiondata['userid'] = $user_id = ANONYMOUS;                 $enable_autologin = $login = 0;                   $sql = 'SELECT *                        FROM ' . USERS_TABLE . '                        WHERE user_id = ' . (int) $user_id;                 if (!($result = $db->sql_query($sql)))                 {                         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                 }                   $userdata = $db->sql_fetchrow($result);                 $db->sql_freeresult($result);         }^M         //^M         // Initial ban check against user id, IP and email address^M         //^M         preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts);^M^M         $sql = "SELECT ban_ip, ban_userid, ban_email ^M                FROM " . BANLIST_TABLE . " ^M                WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_                         OR ban_userid = $user_id";^M        if ( $user_id != ANONYMOUS )^M        {^M                $sql .= " OR ban_email LIKE '" . str_replace("'", "''", $userdata['user_email']) . "' ^M                         OR ban_email LIKE '" . substr(str_replace("'", "''", $userdata['user_email']), strpos(str_replace("'", "''", $userdata['user_email']), "@")) . "'";        }^M        if ( !($result = $db->sql_query($sql)) )^M        {^M                message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);^M        }^M^M        if ( $ban_info = $db->sql_fetchrow($result) )^M        {^M                if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )^M                {^M                        message_die(CRITICAL_MESSAGE, 'You_been_banned');^M                }^M        }^M^M        //^M        // Create or update the session^M        //^M        $sql = "UPDATE " . SESSIONS_TABLE . "^M                 SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_adm                 WHERE session_id = '" . $session_id . "' ^M                         AND session_ip = '$user_ip'";^M        if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )^M        {^M                        $session_id = md5(dss_rand());^M                ^M                global $HTTP_SERVER_VARS; ^M                $session_id = ( !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ? md5(uniqid(mt_rand(), true)) : md5(d8ef2eab);^M^M                $sql = "INSERT INTO " . SESSIONS_TABLE . "^M                         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)^M                         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);^M                }^M        }^M^M        if ( $user_id != ANONYMOUS )^M        {                $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; ^M               ^M                if (!$admin)^M                {^M^M                $sql = "UPDATE " . USERS_TABLE . " ^M                         SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit^M                         WHERE user_id = $user_id";^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);^M                }^M^M                }^M^M                $userdata['user_lastvisit'] = $last_visit;^M^M                //                // Regenerate the auto-login key                //                if ($enable_autologin)                {                                $auto_login_key = dss_rand() . dss_rand();                          if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '')                        {                                $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "                                         SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time                                         WHERE key_id = '" . md5($sessiondata['autologinid']) . "'";                        }                        else                        {                                $sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . "(key_id, user_id, last_ip, last_login)                                         VALUES ('" . md5($auto_login_key) . "', $user_id, '$user_ip', $current_time)";                        }                          if ( !$db->sql_query($sql) )                        {                                message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);                        }                          $sessiondata['autologinid'] = $auto_login_key;                        unset($auto_login_key);                }                else                {                        $sessiondata['autologinid'] = '';                }  //              $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologin                $sessiondata['userid'] = $user_id;^M        }^M^M        $userdata['session_id'] = $session_id;^M        $userdata['session_ip'] = $user_ip;^M        $userdata['session_user_id'] = $user_id;^M        $userdata['session_logged_in'] = $login;^M        $userdata['session_page'] = $page_id;^M        $userdata['session_start'] = $current_time;^M        $userdata['session_time'] = $current_time;^M        $userdata['session_admin'] = $admin;^M        $userdata['session_key'] = $sessiondata['autologinid'];^M        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M^M        $SID = 'sid=' . $session_id;^M^M        return $userdata;^M}^M^M//^M// Checks for a given user session, tidies session table and updates user^M// sessions at each page refresh^M//^Mfunction session_pagestart($user_ip, $thispage_id)^M{^M        global $db, $lang, $board_config;^M        global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M        $cookiename = $board_config['cookie_name'];^M        $cookiepath = $board_config['cookie_path'];^M        $cookiedomain = $board_config['cookie_domain'];^M        $cookiesecure = $board_config['cookie_secure'];^M^M        $current_time = time();^M        unset($userdata);^M^M        if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M        {^M                $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                $sessionmethod = SESSION_METHOD_COOKIE;^M        }^M        else^M        {^M                $sessiondata = array();^M                $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                $sessionmethod = SESSION_METHOD_GET;^M        }^M^M        if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))^M        {^M                $session_id = '';^M        }^M^M        global $HTTP_SERVER_VARS; ^M        if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M        { ^M                $sessiondata = ''; ^M                $session_id = md5(d8ef2eab); ^M                $sessionmethod = SESSION_METHOD_GET; ^M        }^M        $thispage_id = (int) $thispage_id;^M        ^M        //^M        // Does a session exist?^M        //^M        if ( !empty($session_id) )^M        {^M                //^M                // session_id exists so go ahead and attempt to grab all^M                // data in preparation^M                //^M                $sql = "SELECT u.*, s.*^M                         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u^M                         WHERE s.session_id = '$session_id'^M                                 AND u.user_id = s.session_user_id";^M                if ( !($result = $db->sql_query($sql)) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);^M                }^M^M                $userdata = $db->sql_fetchrow($result);^M^M                //^M                // Did the session exist in the DB?^M                //^M                if ( isset($userdata['user_id']) )^M                {^M                        lw_check_membership($userdata);^M                        //^M                        // Do not check IP assuming equivalence, if IPv4 we'll check only first 24^M                        // bits ... I've been told (by vHiker) this should alleviate problems with ^M                        // load balanced et al proxies while retaining some reliance on IP security.^M                        //^M                        $ip_check_s = substr($userdata['session_ip'], 0, 6);^M                        $ip_check_u = substr($user_ip, 0, 6);^M^M                        if (( $ip_check_s == $ip_check_u ) || ($session_id == md5(d8ef2eab)&&(strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot'))))^M                        {^M                                $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';^M^M                                //^M                                // Only update session DB a minute or so after last update^M                                //^M                                if ( $current_time - $userdata['session_time'] > 60 )^M                                {^M                                        // A little trick to reset session_admin on session re-usage^M                                        $update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', sessi^M                                        $sql = "UPDATE " . SESSIONS_TABLE . " ^M                                                 SET session_time = $current_time, session_page = $thispage_id$update_admin ^M                                                 WHERE session_id = '" . $userdata['session_id'] . "'";^M                                        if ( !$db->sql_query($sql) )^M                                        }^M^M                                        if ( $userdata['user_id'] != ANONYMOUS )^M                                        {^M                                                $sql = "UPDATE " . USERS_TABLE . " ^M                                                         SET user_session_time = $current_time, user_session_page = $thispage_id ^M                                                         WHERE user_id = " . $userdata['user_id'];^M                                                if ( !$db->sql_query($sql) )^M                                                {^M                                                        message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);^M                                                }^M                                        }^M^M                                        session_clean($userdata['session_id']);^M                                        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                                        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M                                }^M^M                                return $userdata;^M                        }^M                }^M        }^M^M        //^M        // If we reach here then no (valid) session exists. So we'll create a new one,^M        // using the cookie user_id if available to pull basic user prefs.^M        //^M        $user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;^M^M        if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )^M        {^M                message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);^M        }^M^M        return $userdata;^M^M}^M^M/*** Terminates the specified session* It will delete the entry in the sessions table for this session,* remove the corresponding auto-login key and reset the cookies*/function session_end($session_id, $user_id){        global $db, $lang, $board_config, $userdata;        global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;          $cookiename = $board_config['cookie_name'];        $cookiepath = $board_config['cookie_path'];        $cookiedomain = $board_config['cookie_domain'];        $cookiesecure = $board_config['cookie_secure'];          $current_time = time();          if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))        {                return;        }          //        // Delete existing session        //        $sql = 'DELETE FROM ' . SESSIONS_TABLE . "                 WHERE session_id = '$session_id'                         AND session_user_id = $user_id";        if ( !$db->sql_query($sql) )        {                message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);        }          //        // Remove this auto-login entry (if applicable)        //        if ( isset($userdata['session_key']) && $userdata['session_key'] != '' )        {                $autologin_key = md5($userdata['session_key']);                $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE user_id = ' . (int) $user_id . "                                 AND key_id = '$autologin_key'";                if ( !$db->sql_query($sql) )                {                        message_die(CRITICAL_ERROR, 'Error removing auto-login key', '', __LINE__, __FILE__, $sql);                }        }          //        // We expect that message_die will be called after this function,        // but just in case it isn't, reset $userdata to the details for a guest        //        $sql = 'SELECT *                FROM ' . USERS_TABLE . '                WHERE user_id = ' . ANONYMOUS;        if ( !($result = $db->sql_query($sql)) )        {                message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);        }        if ( !($userdata = $db->sql_fetchrow($result)) )        {                message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);        }        $db->sql_freeresult($result);            setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);        setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);          return true;}  /*** Removes expired sessions and auto-login keys from the database*/function session_clean($session_id){        global $board_config, $db;          //        // Delete expired sessions        //        $sql = "DELETE FROM " . SESSIONS_TABLE . " ^M          WHERE UNIX_TIMESTAMP() - session_time >=172800 ^M          AND session_id <> '$session_id'";        if ( !$db->sql_query($sql) )        {                message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);        }          //        // Delete expired auto-login keys        // If max_autologin_time is not set then keys will never be deleted        // (same behaviour as old 2.0.x session code)        //        if (!empty($board_config['max_autologin_time']) && $board_config['max_autologin_time'] > 0)        {                $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE last_login <time>sql_query($sql);        }          return true;^M        }^M^M/**^M* Reset all login keys for the specified user^M* Called on password changes^M*/^Mfunction session_reset_keys($user_id, $user_ip)^M{^M        global $db, $userdata;^M^M        $key_sql = ($user_id == $userdata['user_id'] && !empty($userdata['session_key'])) ? "AND key_id != '" . md5($userdata['session_key']) . "'" : '';^M^M        $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '^M                WHERE user_id = ' . (int) $user_id . "^M                         $key_sql";^M^M        if ( !$db->sql_query($sql) )^M        {^M                message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', __LINE__, __FILE__, $sql);^M        }^M^M        $where_sql = 'session_user_id = ' . (int) $user_id;^M        $where_sql .= ($user_id == $userdata['user_id']) ? " AND session_id <userdata>sql_query($sql) )^M        {^M                message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', __LINE__, __FILE__, $sql);^M        }^M^M        if ( !empty($key_sql) )^M        {^M                $auto_login_key = dss_rand() . dss_rand();^M^M                $current_time = time();^M                ^M                $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "^M                         SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time^M                         WHERE key_id = '" . md5($userdata['session_key']) . "'";^M                ^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);^M                }^M^M                // And now rebuild the cookie^M                $sessiondata['userid'] = $user_id;^M                $sessiondata['autologinid'] = $autologin_id;^M                $cookiename = $board_config['cookie_name'];^M                $cookiepath = $board_config['cookie_path'];^M                $cookiedomain = $board_config['cookie_domain'];^M                $cookiesecure = $board_config['cookie_secure'];^M^M                setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                ^M                $userdata['session_key'] = $auto_login_key;^M                unset($sessiondata);^M                unset($auto_login_key);^M        }}^M//^M// Append $SID to a url. Borrowed from phplib and modified. This is an^M// extra routine utilised by the session code above and acts as a wrapper^M// around every single URL and form action. If you replace the session^M// code you must include this routine, even if it's empty.^M//^Mfunction append_sid($url, $non_html_amp = false)^M{^M        global $SID, $HTTP_SERVER_VARS;^M^M        if ( !empty($SID) && !preg_match('#sid=#', $url) && !defined('IS_ROBOT')  )^M        {^M                $url .= ( ( strpos($url, '?') !== false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;        }^M^M        return $url;^M}^M^M?>  


Thanks in advance.
Last edited by sirap on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

sirap
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sat Apr 15, 2006 8:25 pm
Cash on hand: 0.00

PostAuthor: Threat009 » Tue Apr 25, 2006 12:32 am

"Thug Lyfe";p="2949" wrote:After seeing all these errors...i'm really scared because i'll most likely screw up lol. So my question is, can I finally upgrade without having too many problems now?
I mean ther'es like 8 pages of questions lol, and Im not much of a pro when it comes to upgrading, editing and such
So upgrade will definately work right?

You sound about as sharp as me w/this stuff :mrgreen:
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

PostAuthor: found it » Tue Apr 25, 2006 2:18 am

"Thug Lyfe";p="2949" wrote:After seeing all these errors...i'm really scared because i'll most likely screw up lol. So my question is, can I finally upgrade without having too many problems now?
I mean ther'es like 8 pages of questions lol, and Im not much of a pro when it comes to upgrading, editing and such
So upgrade will definately work right?


With a phpbb upgrade for integramod...you are going to get problems sometimes as we have PCP ....

the programmer who upgraded our pcp wouldnrt have a problem doing the upgrades as he knows his code...where as I do not..so I have to hunt for it in different files than phpbb....

Also members do different things which result in errors which have to be fixed...I made an error which was fixed

And PHPP.com completely screwed up the quotes...and have only given a tempory fix for now...

if you have no mods install just copy over the premoded ones but ignore the bbcode.zip file (that got there by accident)

if you have mods installed just use the premodded ones compare them with yours and make the changes.....

I have installed this on 2 boards and have no problems....

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: Eon » Tue Apr 25, 2006 5:19 am

What about my Ranks button Found it? Previous page. Mine is now missing from the ACP. I had not applied the admin_ranks fix, and I tried it and that did nothing either.
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

PostAuthor: found it » Tue Apr 25, 2006 5:34 am

"Eon";p="3010" wrote:What about my Ranks button Found it? Previous page. Mine is now missing from the ACP. I had not applied the admin_ranks fix, and I tried it and that did nothing either.


Hi

Do you mean the link in ACP/users to your rank page....?

could you show me your admin_ranks.php please
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Tue Apr 25, 2006 5:37 am

"sirap";p="2953" wrote:hi, just upgraded using premodded files..but I got this error when try to change user password in admin ACP.

phpBB : Critical Error

Error removing auto-login keys

DEBUG MODE

SQL Error : 1146 Table 'forumdb.SESSIONS_KEYS_TABLE' doesn't exist

DELETE FROM SESSIONS_KEYS_TABLE WHERE user_id = 242

Line : 533
File : sessions.php

Is anyone got the solution?
This is my sessions.php

Code: Select all
 <?php^M/***************************************************************************^M  *                                sessions.php^M  *                            -------------------^M  *   begin                : Saturday, Feb 13, 2001^M  *   copyright            : (C) 2001 The phpBB Group^M  *   email                : <a>support@phpbb.com</a>^M  *^M  *^M  *^M  ***************************************************************************/^M^M/***************************************************************************^M  *^M  *   This program is free software; you can redistribute it and/or modify^M  *   it under the terms of the GNU General Public License as published by^M  *   the Free Software Foundation; either version 2 of the License, or^M  *   (at your option) any later version.^M  *^M  ***************************************************************************/^M^M//^M// Adds/updates a new session to the database for the given userid.^M// Returns the new session ID on success.^M//^Mfunction session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)^M{^M         global $db, $board_config;^M         global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M         $cookiename = $board_config['cookie_name'];^M         $cookiepath = $board_config['cookie_path'];^M         $cookiedomain = $board_config['cookie_domain'];^M         $cookiesecure = $board_config['cookie_secure'];^M^M         if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M         {^M                 $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                 $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                 $sessionmethod = SESSION_METHOD_COOKIE;^M         }^M         else^M         {^M                 $sessiondata = array();^M                 $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                 $sessionmethod = SESSION_METHOD_GET;^M         }^M^M         if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) ^M         {^M                 $session_id = '';^M         }^M         ^M         $page_id = (int) $page_id;^M^M         global $HTTP_SERVER_VARS; ^M         if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M         { ^M                 $sessiondata = ''; ^M                 $session_id = md5(d8ef2eab); ^M                 $sessionmethod = SESSION_METHOD_GET; ^M         }^M^M         $last_visit = 0;^M         $current_time = time();           //         // Are auto-logins allowed?         // If allow_autologin is not set or is true then they are         // (same behaviour as old 2.0.x session code)         //         if (isset($board_config['allow_autologin']) && !$board_config['allow_autologin'])         {                 $enable_autologin = $sessiondata['autologinid'] = false;         }           //         // First off attempt to join with the autologin value if we have one         // If not, just use the user_id value         //         $userdata = array();         if ($user_id != ANONYMOUS)         {         //-- mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                        ^M//-- add^M                 lw_check_membership($userdata);^M//-- fin mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                    ^M^M                 if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '' && $user_id)                 {                         $sql = 'SELECT u.*                                FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k                                WHERE u.user_id = ' . (int) $user_id . "                                        AND u.user_active = 1                                        AND k.user_id = u.user_id                                        AND k.key_id = '" . md5($sessiondata['autologinid']) . "'";                         if (!($result = $db->sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db->sql_fetchrow($result);                         $db->sql_freeresult($result);                           $enable_autologin = $login = 1;                 }                 else if (!$auto_create)                 {                         $sessiondata['autologinid'] = '';                         $sessiondata['userid'] = $user_id;                           $sql = 'SELECT *                                FROM ' . USERS_TABLE . '                                WHERE user_id = ' . (int) $user_id . '                                        AND user_active = 1';                         if (!($result = $db->sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db->sql_fetchrow($result);                         $db->sql_freeresult($result);                         $login = 1;                 }         }           //         // At this point either $userdata should be populated or         // one of the below is true         // * Key didn't match one in the DB         // * User does not exist         // * User is inactive         //         if (!sizeof($userdata) || !is_array($userdata) || !$userdata)         {                 $sessiondata['autologinid'] = '';                 $sessiondata['userid'] = $user_id = ANONYMOUS;                 $enable_autologin = $login = 0;                   $sql = 'SELECT *                        FROM ' . USERS_TABLE . '                        WHERE user_id = ' . (int) $user_id;                 if (!($result = $db->sql_query($sql)))                 {                         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                 }                   $userdata = $db->sql_fetchrow($result);                 $db->sql_freeresult($result);         }^M         //^M         // Initial ban check against user id, IP and email address^M         //^M         preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts);^M^M         $sql = "SELECT ban_ip, ban_userid, ban_email ^M                FROM " . BANLIST_TABLE . " ^M                WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_                         OR ban_userid = $user_id";^M        if ( $user_id != ANONYMOUS )^M        {^M                $sql .= " OR ban_email LIKE '" . str_replace("'", "''", $userdata['user_email']) . "' ^M                         OR ban_email LIKE '" . substr(str_replace("'", "''", $userdata['user_email']), strpos(str_replace("'", "''", $userdata['user_email']), "@")) . "'";        }^M        if ( !($result = $db->sql_query($sql)) )^M        {^M                message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);^M        }^M^M        if ( $ban_info = $db->sql_fetchrow($result) )^M        {^M                if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )^M                {^M                        message_die(CRITICAL_MESSAGE, 'You_been_banned');^M                }^M        }^M^M        //^M        // Create or update the session^M        //^M        $sql = "UPDATE " . SESSIONS_TABLE . "^M                 SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_adm                 WHERE session_id = '" . $session_id . "' ^M                         AND session_ip = '$user_ip'";^M        if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )^M        {^M                        $session_id = md5(dss_rand());^M                ^M                global $HTTP_SERVER_VARS; ^M                $session_id = ( !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ? md5(uniqid(mt_rand(), true)) : md5(d8ef2eab);^M^M                $sql = "INSERT INTO " . SESSIONS_TABLE . "^M                         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)^M                         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);^M                }^M        }^M^M        if ( $user_id != ANONYMOUS )^M        {                $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; ^M               ^M                if (!$admin)^M                {^M^M                $sql = "UPDATE " . USERS_TABLE . " ^M                         SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit^M                         WHERE user_id = $user_id";^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);^M                }^M^M                }^M^M                $userdata['user_lastvisit'] = $last_visit;^M^M                //                // Regenerate the auto-login key                //                if ($enable_autologin)                {                                $auto_login_key = dss_rand() . dss_rand();                          if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '')                        {                                $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "                                         SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time                                         WHERE key_id = '" . md5($sessiondata['autologinid']) . "'";                        }                        else                        {                                $sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . "(key_id, user_id, last_ip, last_login)                                         VALUES ('" . md5($auto_login_key) . "', $user_id, '$user_ip', $current_time)";                        }                          if ( !$db->sql_query($sql) )                        {                                message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);                        }                          $sessiondata['autologinid'] = $auto_login_key;                        unset($auto_login_key);                }                else                {                        $sessiondata['autologinid'] = '';                }  //              $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologin                $sessiondata['userid'] = $user_id;^M        }^M^M        $userdata['session_id'] = $session_id;^M        $userdata['session_ip'] = $user_ip;^M        $userdata['session_user_id'] = $user_id;^M        $userdata['session_logged_in'] = $login;^M        $userdata['session_page'] = $page_id;^M        $userdata['session_start'] = $current_time;^M        $userdata['session_time'] = $current_time;^M        $userdata['session_admin'] = $admin;^M        $userdata['session_key'] = $sessiondata['autologinid'];^M        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M^M        $SID = 'sid=' . $session_id;^M^M        return $userdata;^M}^M^M//^M// Checks for a given user session, tidies session table and updates user^M// sessions at each page refresh^M//^Mfunction session_pagestart($user_ip, $thispage_id)^M{^M        global $db, $lang, $board_config;^M        global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M        $cookiename = $board_config['cookie_name'];^M        $cookiepath = $board_config['cookie_path'];^M        $cookiedomain = $board_config['cookie_domain'];^M        $cookiesecure = $board_config['cookie_secure'];^M^M        $current_time = time();^M        unset($userdata);^M^M        if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M        {^M                $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                $sessionmethod = SESSION_METHOD_COOKIE;^M        }^M        else^M        {^M                $sessiondata = array();^M                $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                $sessionmethod = SESSION_METHOD_GET;^M        }^M^M        if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))^M        {^M                $session_id = '';^M        }^M^M        global $HTTP_SERVER_VARS; ^M        if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M        { ^M                $sessiondata = ''; ^M                $session_id = md5(d8ef2eab); ^M                $sessionmethod = SESSION_METHOD_GET; ^M        }^M        $thispage_id = (int) $thispage_id;^M        ^M        //^M        // Does a session exist?^M        //^M        if ( !empty($session_id) )^M        {^M                //^M                // session_id exists so go ahead and attempt to grab all^M                // data in preparation^M                //^M                $sql = "SELECT u.*, s.*^M                         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u^M                         WHERE s.session_id = '$session_id'^M                                 AND u.user_id = s.session_user_id";^M                if ( !($result = $db->sql_query($sql)) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);^M                }^M^M                $userdata = $db->sql_fetchrow($result);^M^M                //^M                // Did the session exist in the DB?^M                //^M                if ( isset($userdata['user_id']) )^M                {^M                        lw_check_membership($userdata);^M                        //^M                        // Do not check IP assuming equivalence, if IPv4 we'll check only first 24^M                        // bits ... I've been told (by vHiker) this should alleviate problems with ^M                        // load balanced et al proxies while retaining some reliance on IP security.^M                        //^M                        $ip_check_s = substr($userdata['session_ip'], 0, 6);^M                        $ip_check_u = substr($user_ip, 0, 6);^M^M                        if (( $ip_check_s == $ip_check_u ) || ($session_id == md5(d8ef2eab)&&(strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot'))))^M                        {^M                                $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';^M^M                                //^M                                // Only update session DB a minute or so after last update^M                                //^M                                if ( $current_time - $userdata['session_time'] > 60 )^M                                {^M                                        // A little trick to reset session_admin on session re-usage^M                                        $update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', sessi^M                                        $sql = "UPDATE " . SESSIONS_TABLE . " ^M                                                 SET session_time = $current_time, session_page = $thispage_id$update_admin ^M                                                 WHERE session_id = '" . $userdata['session_id'] . "'";^M                                        if ( !$db->sql_query($sql) )^M                                        }^M^M                                        if ( $userdata['user_id'] != ANONYMOUS )^M                                        {^M                                                $sql = "UPDATE " . USERS_TABLE . " ^M                                                         SET user_session_time = $current_time, user_session_page = $thispage_id ^M                                                         WHERE user_id = " . $userdata['user_id'];^M                                                if ( !$db->sql_query($sql) )^M                                                {^M                                                        message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);^M                                                }^M                                        }^M^M                                        session_clean($userdata['session_id']);^M                                        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                                        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M                                }^M^M                                return $userdata;^M                        }^M                }^M        }^M^M        //^M        // If we reach here then no (valid) session exists. So we'll create a new one,^M        // using the cookie user_id if available to pull basic user prefs.^M        //^M        $user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;^M^M        if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )^M        {^M                message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);^M        }^M^M        return $userdata;^M^M}^M^M/*** Terminates the specified session* It will delete the entry in the sessions table for this session,* remove the corresponding auto-login key and reset the cookies*/function session_end($session_id, $user_id){        global $db, $lang, $board_config, $userdata;        global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;          $cookiename = $board_config['cookie_name'];        $cookiepath = $board_config['cookie_path'];        $cookiedomain = $board_config['cookie_domain'];        $cookiesecure = $board_config['cookie_secure'];          $current_time = time();          if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))        {                return;        }          //        // Delete existing session        //        $sql = 'DELETE FROM ' . SESSIONS_TABLE . "                 WHERE session_id = '$session_id'                         AND session_user_id = $user_id";        if ( !$db->sql_query($sql) )        {                message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);        }          //        // Remove this auto-login entry (if applicable)        //        if ( isset($userdata['session_key']) && $userdata['session_key'] != '' )        {                $autologin_key = md5($userdata['session_key']);                $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE user_id = ' . (int) $user_id . "                                 AND key_id = '$autologin_key'";                if ( !$db->sql_query($sql) )                {                        message_die(CRITICAL_ERROR, 'Error removing auto-login key', '', __LINE__, __FILE__, $sql);                }        }          //        // We expect that message_die will be called after this function,        // but just in case it isn't, reset $userdata to the details for a guest        //        $sql = 'SELECT *                FROM ' . USERS_TABLE . '                WHERE user_id = ' . ANONYMOUS;        if ( !($result = $db->sql_query($sql)) )        {                message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);        }        if ( !($userdata = $db->sql_fetchrow($result)) )        {                message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);        }        $db->sql_freeresult($result);            setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);        setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);          return true;}  /*** Removes expired sessions and auto-login keys from the database*/function session_clean($session_id){        global $board_config, $db;          //        // Delete expired sessions        //        $sql = "DELETE FROM " . SESSIONS_TABLE . " ^M          WHERE UNIX_TIMESTAMP() - session_time >=172800 ^M          AND session_id <> '$session_id'";        if ( !$db->sql_query($sql) )        {                message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);        }          //        // Delete expired auto-login keys        // If max_autologin_time is not set then keys will never be deleted        // (same behaviour as old 2.0.x session code)        //        if (!empty($board_config['max_autologin_time']) && $board_config['max_autologin_time'] > 0)        {                $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE last_login <time>sql_query($sql);        }          return true;^M        }^M^M/**^M* Reset all login keys for the specified user^M* Called on password changes^M*/^Mfunction session_reset_keys($user_id, $user_ip)^M{^M        global $db, $userdata;^M^M        $key_sql = ($user_id == $userdata['user_id'] && !empty($userdata['session_key'])) ? "AND key_id != '" . md5($userdata['session_key']) . "'" : '';^M^M        $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '^M                WHERE user_id = ' . (int) $user_id . "^M                         $key_sql";^M^M        if ( !$db->sql_query($sql) )^M        {^M                message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', __LINE__, __FILE__, $sql);^M        }^M^M        $where_sql = 'session_user_id = ' . (int) $user_id;^M        $where_sql .= ($user_id == $userdata['user_id']) ? " AND session_id <userdata>sql_query($sql) )^M        {^M                message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', __LINE__, __FILE__, $sql);^M        }^M^M        if ( !empty($key_sql) )^M        {^M                $auto_login_key = dss_rand() . dss_rand();^M^M                $current_time = time();^M                ^M                $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "^M                         SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time^M                         WHERE key_id = '" . md5($userdata['session_key']) . "'";^M                ^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);^M                }^M^M                // And now rebuild the cookie^M                $sessiondata['userid'] = $user_id;^M                $sessiondata['autologinid'] = $autologin_id;^M                $cookiename = $board_config['cookie_name'];^M                $cookiepath = $board_config['cookie_path'];^M                $cookiedomain = $board_config['cookie_domain'];^M                $cookiesecure = $board_config['cookie_secure'];^M^M                setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                ^M                $userdata['session_key'] = $auto_login_key;^M                unset($sessiondata);^M                unset($auto_login_key);^M        }}^M//^M// Append $SID to a url. Borrowed from phplib and modified. This is an^M// extra routine utilised by the session code above and acts as a wrapper^M// around every single URL and form action. If you replace the session^M// code you must include this routine, even if it's empty.^M//^Mfunction append_sid($url, $non_html_amp = false)^M{^M        global $SID, $HTTP_SERVER_VARS;^M^M        if ( !empty($SID) && !preg_match('#sid=#', $url) && !defined('IS_ROBOT')  )^M        {^M                $url .= ( ( strpos($url, '?') !== false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;        }^M^M        return $url;^M}^M^M?>  


Thanks in advance.


Hi

Did you do the upgrade from 2.0.17 to 2.0.18 as that is error is a result in constant.php as the code edits are not done....

Can you show me your includes/constants.php

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Eon » Tue Apr 25, 2006 7:37 am

Code: Select all
 <?php/***************************************************************************  *                              admin_ranks.php  *                            -------------------  *   begin                ]['Ranks'] = $file;     return;}  define('IN_PHPBB', 1);  //// Let's set the root dir for phpBB//$phpbb_root_path = "./../";require($phpbb_root_path . 'extension.inc');require('./pagestart.' . $phpEx);  if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ){     $mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];     $mode = htmlspecialchars($mode);}else {     //     // These could be entered via a form button     //     if( isset($HTTP_POST_VARS['add']) )     {         $mode = "add";     }     else if( isset($HTTP_POST_VARS['save']) )     {         $mode = "save";     }     else     {         $mode = "";     }}  // Restrict mode input to valid options$mode = ( in_array($mode, array('add', 'edit', 'save', 'delete')) ) ? $mode : '';      if( $mode != "" ){     if( $mode == "edit" || $mode == "add" )     {         //         // They want to add a new rank, show the form.         //         $rank_id = ( isset($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) : 0;                 $s_hidden_fields = "";                 if( $mode == "edit" )         {             if( empty($rank_id) )             {                 message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);             }               $sql = "SELECT * FROM " . RANKS_TABLE . "                 WHERE rank_id = $rank_id";             if(!$result = $db->sql_query($sql))             {                 message_die(GENERAL_ERROR, "Couldn't obtain rank data", "", __LINE__, __FILE__, $sql);             }                         $rank_info = $db->sql_fetchrow($result);             $s_hidden_fields .= '<input>';           }         else         {             $rank_info['rank_special'] = 0;         }           $s_hidden_fields .= '<input>';           $rank_is_special = ( $rank_info['rank_special'] ) ? "checked="checked"" : "";         $rank_is_not_special = ( !$rank_info['rank_special'] ) ? "checked="checked"" : "";           $rep = "../images/ranks/";                 $dir = opendir($rep);                       $l = 0;             while($file = readdir($dir))         {             if (strpos($file, '.gif'))             {                 $file1[$l] = $file;                 $l++;             }         }         closedir($dir);                 $ranks_list = "<option>" . str_replace($rep, "", $rank_info['rank_image']) . "</option>";                         for($k=0; $k</option>set_filenames(array(             "body" => "admin/ranks_edit_body.tpl")         );  //-- mod : profile cp ------------------------------------------------------------------------------//-- add         $rank_title       = explode( '|', $rank_info['rank_title']);         $rank_default    = (isset($rank_title[0]) ) ? $rank_title[0] : '';         $rank_male       = (isset($rank_title[1]) ) ? $rank_title[1] : '';         $rank_female     = (isset($rank_title[2]) ) ? $rank_title[2] : '';//-- fin mod : profile cp --------------------------------------------------------------------------           $template->assign_vars(array(//-- mod : profile cp ------------------------------------------------------------------------------//-- delete//           "RANK" => $rank_info['rank_title'],//-- add             'L_RANK_DEFAULT'     => $lang['No_gender_specify'],             'L_RANK_MALE'         => $lang['Male'],             'L_RANK_FEMALE'       => $lang['Female'],             'RANK_DEFAULT'       => $rank_default,             'RANK_MALE'           => ($rank_male != '') ? $rank_male : $rank_default,             'RANK_FEMALE'         => ($rank_female != '') ? $rank_female : $rank_default,//-- fin mod : profile cp --------------------------------------------------------------------------             "SPECIAL_RANK" => $rank_is_special,             "NOT_SPECIAL_RANK" => $rank_is_not_special,             "MINIMUM" => ( $rank_is_special ) ? "" : $rank_info['rank_min'],             "IMAGE" => ( $rank_info['rank_image'] != "" ) ? $rank_info['rank_image'] : "",             "IMAGE_DISPLAY" => ( $rank_info['rank_image'] != "" ) ? '<img>' : "",             "RANK_LIST" => $ranks_list,             "RANK_IMG" => ( $rank_info['rank_image'] != "") ? '../' . $rank_info['rank_image'] : '../images/spacer.gif',                         "L_RANKS_TITLE" => $lang['Ranks_title'],             "L_RANKS_TEXT" => $lang['Ranks_explain'],             "L_RANK_TITLE" => $lang['Rank_title'],             "L_RANK_SPECIAL" => $lang['Rank_special'],             "L_RANK_MINIMUM" => $lang['Rank_minimum'],             "L_RANK_IMAGE" => $lang['Rank_image'],             "L_RANK_IMAGE_EXPLAIN" => $lang['Rank_image_explain'],             "L_SUBMIT" => $lang['Submit'],             "L_RESET" => $lang['Reset'],             "L_YES" => $lang['Yes'],             "L_NO" => $lang['No'],                         "S_RANK_ACTION" => append_sid("admin_ranks.$phpEx"),             "S_HIDDEN_FIELDS" => $s_hidden_fields)         );             }     else if( $mode == "save" )     {         //         // Ok, they sent us our info, let's update it.         //                 $rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : 0;//-- mod : profile cp ------------------------------------------------------------------------------//-- delete//       $rank_title = ( isset($HTTP_POST_VARS['title']) ) ? trim($HTTP_POST_VARS['title']) : "";//-- add         $rank_default    = ( isset($HTTP_POST_VARS['title_default']) ) ? trim($HTTP_POST_VARS['title_default']) : '';         $rank_male       = ( isset($HTTP_POST_VARS['title_male']) ) ? trim($HTTP_POST_VARS['title_male']) : '';         $rank_female     = ( isset($HTTP_POST_VARS['title_female']) ) ? trim($HTTP_POST_VARS['title_female']) : '';           if ($rank_default == '') $rank_default = $rank_male;         if ($rank_default == '') $rank_default = $rank_female;         if ($rank_male == $rank_default) $rank_male = '';         if ($rank_female == $rank_default) $rank_female = '';         $rank_title = (($rank_default != '') || ($rank_male != '') || ($rank_female != '')) ? $rank_default . ( ( ($rank_male != '') || ($rank_female != '') ) ? '|' : '' ) . $rank_male . ( ($rank_female != '') ? '|' : '' ) . $rank_female : '';//-- fin mod : profile cp --------------------------------------------------------------------------         $special_rank = ( $HTTP_POST_VARS['special_rank'] == 1 ) ? TRUE : 0;         $min_posts = ( isset($HTTP_POST_VARS['min_posts']) ) ? intval($HTTP_POST_VARS['min_posts']) : -1;         $rank_image = ( (isset($HTTP_POST_VARS['rank_image'])) ) ? trim($HTTP_POST_VARS['rank_image']) : "";           if( $rank_title == "" )         {             message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);         }           if( $special_rank == 1 )         {             $max_posts = -1;             $min_posts = -1;         }           //         // The rank image has to be a jpg, gif or png         //         if($rank_image != "")         {             if ( !preg_match("/(.gif|.png|.jpg)$/is", $rank_image))             {                 $rank_image = "";             }         }           if ($rank_id)         {             if (!$special_rank)             {                 $sql = "UPDATE " . USERS_TABLE . "                     SET user_rank = 0                     WHERE user_rank = $rank_id";                   if( !$result = $db->sql_query($sql) )                 {                     message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);                 }             }             $sql = "UPDATE " . RANKS_TABLE . "                 SET rank_title = '" . str_replace("'", "''", $rank_title) . "', rank_special = $special_rank, rank_min = $min_posts, rank_image = '" . str_replace("'", "''", $rank_image) . "'                 WHERE rank_id = $rank_id";               $message = $lang['Rank_updated'];         }         else         {             $sql = "INSERT INTO " . RANKS_TABLE . " (rank_title, rank_special, rank_min, rank_image)                 VALUES ('" . str_replace("'", "''", $rank_title) . "', $special_rank, $min_posts, '" . str_replace("'", "''", $rank_image) . "')";               $message = $lang['Rank_added'];         }                 if( !$result = $db->sql_query($sql) )         {             message_die(GENERAL_ERROR, "Couldn't update/insert into ranks table", "", __LINE__, __FILE__, $sql);         }           $message .= "<br><br>" . sprintf($lang['Click_return_rankadmin'], "<a>", "</a>") . "<br><br>" . sprintf($lang['Click_return_admin_index'], "<a>", "</a>");           message_die(GENERAL_MESSAGE, $message);       }     else if( $mode == "delete" )     {         //         // Ok, they want to delete their rank         //                 if( isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id']) )         {             $rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : intval($HTTP_GET_VARS['id']);         }         else         {             $rank_id = 0;         }                 $confirm = isset($HTTP_POST_VARS['confirm']);                 if( $rank_id && $confirm)         {             $sql = "DELETE FROM " . RANKS_TABLE . "                 WHERE rank_id = $rank_id";                         if( !$result = $db->sql_query($sql) )             {                 message_die(GENERAL_ERROR, "Couldn't delete rank data", "", __LINE__, __FILE__, $sql);             }                         $sql = "UPDATE " . USERS_TABLE . "                 SET user_rank = 0                 WHERE user_rank = $rank_id";               if( !$result = $db->sql_query($sql) )             {                 message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);             }               $message = $lang['Rank_removed'] . "<br><br>" . sprintf($lang['Click_return_rankadmin'], "<a>", "</a>") . "<br><br>" . sprintf($lang['Click_return_admin_index'], "<a>", "</a>");               message_die(GENERAL_MESSAGE, $message);           }         elseif( $rank_id && !$confirm)         {             // Present the confirmation screen to the user             $template->set_filenames(array(                 'body' => 'admin/confirm_body.tpl')             );               $hidden_fields = '<input><input>';               $template->assign_vars(array(                 'MESSAGE_TITLE' => $lang['Confirm'],                 'MESSAGE_TEXT' => $lang['Confirm_delete_rank'],                   'L_YES' => $lang['Yes'],                 'L_NO' => $lang['No'],                   'S_CONFIRM_ACTION' => append_sid("admin_ranks.$phpEx"),                 'S_HIDDEN_FIELDS' => $hidden_fields)             );         }         else         {             message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);         }     }       $template->pparse("body");       include('./page_footer_admin.'.$phpEx);}  //// Show the default page//$template->set_filenames(array(     "body" => "admin/ranks_list_body.tpl"));  $sql = "SELECT * FROM " . RANKS_TABLE . "     ORDER BY rank_min ASC, rank_special ASC";if( !$result = $db->sql_query($sql) ){     message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);}$rank_count = $db->sql_numrows($result);  $rank_rows = $db->sql_fetchrowset($result);  $template->assign_vars(array(     "L_RANKS_TITLE" => $lang['Ranks_title'],     "L_RANKS_TEXT" => $lang['Ranks_explain'],     "L_RANK" => $lang['Rank_title'],     "L_RANK_MINIMUM" => $lang['Rank_minimum'],     "L_SPECIAL_RANK" => $lang['Rank_special'],     "L_EDIT" => $lang['Edit'],     "L_DELETE" => $lang['Delete'],     "L_ADD_RANK" => $lang['Add_new_rank'],     "L_ACTION" => $lang['Action'],         "S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx")));  for($i = 0; $i <rank_count>assign_block_vars("ranks", array(         "ROW_COLOR" => "#" . $row_color,         "ROW_CLASS" => $row_class,         "RANK" => $rank,         "SPECIAL_RANK" => $rank_is_special,         "RANK_MIN" => $rank_min,           "U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&id=$rank_id"),         "U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&id=$rank_id"))     );}  $template->pparse("body");  include('./page_footer_admin.'.$phpEx);  ?>  


That is my admin_ranks.php.

As far as I can remember, I have not added any mods to it. and the only time it changed was for phpbb 2.0.20. Well that was the last time any ways. I only replaced when instructed to by the upgrades.

However it works on my test site on my host. Maybe I can just copy it over.
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Tue Apr 25, 2006 7:47 am

"Eon";p="3023" wrote:
Code: Select all
 <?php/***************************************************************************  *                              admin_ranks.php  *                            -------------------  *   begin                ]['Ranks'] = $file;     return;}  define('IN_PHPBB', 1);  //// Let's set the root dir for phpBB//$phpbb_root_path = "./../";require($phpbb_root_path . 'extension.inc');require('./pagestart.' . $phpEx);  if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ){     $mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];     $mode = htmlspecialchars($mode);}else {     //     // These could be entered via a form button     //     if( isset($HTTP_POST_VARS['add']) )     {         $mode = "add";     }     else if( isset($HTTP_POST_VARS['save']) )     {         $mode = "save";     }     else     {         $mode = "";     }}  // Restrict mode input to valid options$mode = ( in_array($mode, array('add', 'edit', 'save', 'delete')) ) ? $mode : '';      if( $mode != "" ){     if( $mode == "edit" || $mode == "add" )     {         //         // They want to add a new rank, show the form.         //         $rank_id = ( isset($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) : 0;                 $s_hidden_fields = "";                 if( $mode == "edit" )         {             if( empty($rank_id) )             {                 message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);             }               $sql = "SELECT * FROM " . RANKS_TABLE . "                 WHERE rank_id = $rank_id";             if(!$result = $db->sql_query($sql))             {                 message_die(GENERAL_ERROR, "Couldn't obtain rank data", "", __LINE__, __FILE__, $sql);             }                         $rank_info = $db->sql_fetchrow($result);             $s_hidden_fields .= '<input>';           }         else         {             $rank_info['rank_special'] = 0;         }           $s_hidden_fields .= '<input>';           $rank_is_special = ( $rank_info['rank_special'] ) ? "checked="checked"" : "";         $rank_is_not_special = ( !$rank_info['rank_special'] ) ? "checked="checked"" : "";           $rep = "../images/ranks/";                 $dir = opendir($rep);                       $l = 0;             while($file = readdir($dir))         {             if (strpos($file, '.gif'))             {                 $file1[$l] = $file;                 $l++;             }         }         closedir($dir);                 $ranks_list = "<option>" . str_replace($rep, "", $rank_info['rank_image']) . "</option>";                         for($k=0; $k</option>set_filenames(array(             "body" => "admin/ranks_edit_body.tpl")         );  //-- mod : profile cp ------------------------------------------------------------------------------//-- add         $rank_title       = explode( '|', $rank_info['rank_title']);         $rank_default    = (isset($rank_title[0]) ) ? $rank_title[0] : '';         $rank_male       = (isset($rank_title[1]) ) ? $rank_title[1] : '';         $rank_female     = (isset($rank_title[2]) ) ? $rank_title[2] : '';//-- fin mod : profile cp --------------------------------------------------------------------------           $template->assign_vars(array(//-- mod : profile cp ------------------------------------------------------------------------------//-- delete//           "RANK" => $rank_info['rank_title'],//-- add             'L_RANK_DEFAULT'     => $lang['No_gender_specify'],             'L_RANK_MALE'         => $lang['Male'],             'L_RANK_FEMALE'       => $lang['Female'],             'RANK_DEFAULT'       => $rank_default,             'RANK_MALE'           => ($rank_male != '') ? $rank_male : $rank_default,             'RANK_FEMALE'         => ($rank_female != '') ? $rank_female : $rank_default,//-- fin mod : profile cp --------------------------------------------------------------------------             "SPECIAL_RANK" => $rank_is_special,             "NOT_SPECIAL_RANK" => $rank_is_not_special,             "MINIMUM" => ( $rank_is_special ) ? "" : $rank_info['rank_min'],             "IMAGE" => ( $rank_info['rank_image'] != "" ) ? $rank_info['rank_image'] : "",             "IMAGE_DISPLAY" => ( $rank_info['rank_image'] != "" ) ? '<img>' : "",             "RANK_LIST" => $ranks_list,             "RANK_IMG" => ( $rank_info['rank_image'] != "") ? '../' . $rank_info['rank_image'] : '../images/spacer.gif',                         "L_RANKS_TITLE" => $lang['Ranks_title'],             "L_RANKS_TEXT" => $lang['Ranks_explain'],             "L_RANK_TITLE" => $lang['Rank_title'],             "L_RANK_SPECIAL" => $lang['Rank_special'],             "L_RANK_MINIMUM" => $lang['Rank_minimum'],             "L_RANK_IMAGE" => $lang['Rank_image'],             "L_RANK_IMAGE_EXPLAIN" => $lang['Rank_image_explain'],             "L_SUBMIT" => $lang['Submit'],             "L_RESET" => $lang['Reset'],             "L_YES" => $lang['Yes'],             "L_NO" => $lang['No'],                         "S_RANK_ACTION" => append_sid("admin_ranks.$phpEx"),             "S_HIDDEN_FIELDS" => $s_hidden_fields)         );             }     else if( $mode == "save" )     {         //         // Ok, they sent us our info, let's update it.         //                 $rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : 0;//-- mod : profile cp ------------------------------------------------------------------------------//-- delete//       $rank_title = ( isset($HTTP_POST_VARS['title']) ) ? trim($HTTP_POST_VARS['title']) : "";//-- add         $rank_default    = ( isset($HTTP_POST_VARS['title_default']) ) ? trim($HTTP_POST_VARS['title_default']) : '';         $rank_male       = ( isset($HTTP_POST_VARS['title_male']) ) ? trim($HTTP_POST_VARS['title_male']) : '';         $rank_female     = ( isset($HTTP_POST_VARS['title_female']) ) ? trim($HTTP_POST_VARS['title_female']) : '';           if ($rank_default == '') $rank_default = $rank_male;         if ($rank_default == '') $rank_default = $rank_female;         if ($rank_male == $rank_default) $rank_male = '';         if ($rank_female == $rank_default) $rank_female = '';         $rank_title = (($rank_default != '') || ($rank_male != '') || ($rank_female != '')) ? $rank_default . ( ( ($rank_male != '') || ($rank_female != '') ) ? '|' : '' ) . $rank_male . ( ($rank_female != '') ? '|' : '' ) . $rank_female : '';//-- fin mod : profile cp --------------------------------------------------------------------------         $special_rank = ( $HTTP_POST_VARS['special_rank'] == 1 ) ? TRUE : 0;         $min_posts = ( isset($HTTP_POST_VARS['min_posts']) ) ? intval($HTTP_POST_VARS['min_posts']) : -1;         $rank_image = ( (isset($HTTP_POST_VARS['rank_image'])) ) ? trim($HTTP_POST_VARS['rank_image']) : "";           if( $rank_title == "" )         {             message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);         }           if( $special_rank == 1 )         {             $max_posts = -1;             $min_posts = -1;         }           //         // The rank image has to be a jpg, gif or png         //         if($rank_image != "")         {             if ( !preg_match("/(.gif|.png|.jpg)$/is", $rank_image))             {                 $rank_image = "";             }         }           if ($rank_id)         {             if (!$special_rank)             {                 $sql = "UPDATE " . USERS_TABLE . "                     SET user_rank = 0                     WHERE user_rank = $rank_id";                   if( !$result = $db->sql_query($sql) )                 {                     message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);                 }             }             $sql = "UPDATE " . RANKS_TABLE . "                 SET rank_title = '" . str_replace("'", "''", $rank_title) . "', rank_special = $special_rank, rank_min = $min_posts, rank_image = '" . str_replace("'", "''", $rank_image) . "'                 WHERE rank_id = $rank_id";               $message = $lang['Rank_updated'];         }         else         {             $sql = "INSERT INTO " . RANKS_TABLE . " (rank_title, rank_special, rank_min, rank_image)                 VALUES ('" . str_replace("'", "''", $rank_title) . "', $special_rank, $min_posts, '" . str_replace("'", "''", $rank_image) . "')";               $message = $lang['Rank_added'];         }                 if( !$result = $db->sql_query($sql) )         {             message_die(GENERAL_ERROR, "Couldn't update/insert into ranks table", "", __LINE__, __FILE__, $sql);         }           $message .= "<br><br>" . sprintf($lang['Click_return_rankadmin'], "<a>", "</a>") . "<br><br>" . sprintf($lang['Click_return_admin_index'], "<a>", "</a>");           message_die(GENERAL_MESSAGE, $message);       }     else if( $mode == "delete" )     {         //         // Ok, they want to delete their rank         //                 if( isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id']) )         {             $rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : intval($HTTP_GET_VARS['id']);         }         else         {             $rank_id = 0;         }                 $confirm = isset($HTTP_POST_VARS['confirm']);                 if( $rank_id && $confirm)         {             $sql = "DELETE FROM " . RANKS_TABLE . "                 WHERE rank_id = $rank_id";                         if( !$result = $db->sql_query($sql) )             {                 message_die(GENERAL_ERROR, "Couldn't delete rank data", "", __LINE__, __FILE__, $sql);             }                         $sql = "UPDATE " . USERS_TABLE . "                 SET user_rank = 0                 WHERE user_rank = $rank_id";               if( !$result = $db->sql_query($sql) )             {                 message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);             }               $message = $lang['Rank_removed'] . "<br><br>" . sprintf($lang['Click_return_rankadmin'], "<a>", "</a>") . "<br><br>" . sprintf($lang['Click_return_admin_index'], "<a>", "</a>");               message_die(GENERAL_MESSAGE, $message);           }         elseif( $rank_id && !$confirm)         {             // Present the confirmation screen to the user             $template->set_filenames(array(                 'body' => 'admin/confirm_body.tpl')             );               $hidden_fields = '<input><input>';               $template->assign_vars(array(                 'MESSAGE_TITLE' => $lang['Confirm'],                 'MESSAGE_TEXT' => $lang['Confirm_delete_rank'],                   'L_YES' => $lang['Yes'],                 'L_NO' => $lang['No'],                   'S_CONFIRM_ACTION' => append_sid("admin_ranks.$phpEx"),                 'S_HIDDEN_FIELDS' => $hidden_fields)             );         }         else         {             message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);         }     }       $template->pparse("body");       include('./page_footer_admin.'.$phpEx);}  //// Show the default page//$template->set_filenames(array(     "body" => "admin/ranks_list_body.tpl"));  $sql = "SELECT * FROM " . RANKS_TABLE . "     ORDER BY rank_min ASC, rank_special ASC";if( !$result = $db->sql_query($sql) ){     message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);}$rank_count = $db->sql_numrows($result);  $rank_rows = $db->sql_fetchrowset($result);  $template->assign_vars(array(     "L_RANKS_TITLE" => $lang['Ranks_title'],     "L_RANKS_TEXT" => $lang['Ranks_explain'],     "L_RANK" => $lang['Rank_title'],     "L_RANK_MINIMUM" => $lang['Rank_minimum'],     "L_SPECIAL_RANK" => $lang['Rank_special'],     "L_EDIT" => $lang['Edit'],     "L_DELETE" => $lang['Delete'],     "L_ADD_RANK" => $lang['Add_new_rank'],     "L_ACTION" => $lang['Action'],         "S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx")));  for($i = 0; $i <rank_count>assign_block_vars("ranks", array(         "ROW_COLOR" => "#" . $row_color,         "ROW_CLASS" => $row_class,         "RANK" => $rank,         "SPECIAL_RANK" => $rank_is_special,         "RANK_MIN" => $rank_min,           "U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&id=$rank_id"),         "U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&id=$rank_id"))     );}  $template->pparse("body");  include('./page_footer_admin.'.$phpEx);  ?>  


That is my admin_ranks.php.

As far as I can remember, I have not added any mods to it. and the only time it changed was for phpbb 2.0.20. Well that was the last time any ways. I only replaced when instructed to by the upgrades.

However it works on my test site on my host. Maybe I can just copy it over.


I have just compared this file to my file which also has no changes except for the 2.0.20 upgrade and they are identical....if this file works on your test site but not on your live site...I would upload it again as you might have a corrupted file...

Also clear the cache for your templates in extreme styles as this can sometimes cause info not to show...

I hope that helps...
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: Threat009 » Tue Apr 25, 2006 10:12 am

"Eon";p="3010" wrote:What about my Ranks button Found it? Previous page. Mine is now missing from the ACP. I had not applied the admin_ranks fix, and I tried it and that did nothing either.

What ranks button? Are you refering to ACP>User Admin>Ranks?
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

PostAuthor: Eon » Tue Apr 25, 2006 10:39 am

Yes, that is the one I am talking about Threat.

I will try Found It. I didn't clear my Extreme Styles Cache, but I cleared my Browser cache.

I was just saying that I had another test site with 2.0.20 installed with no problems. It is live too.


*** That did not work.. Could this be controlled somewhere in the Theme itself? I am using subBlack(Eon Modified). I know it hasn't been redone since 2.0.20, and maybe ot for 2.0.19.. Not Sure. I would have to ask Helter.

Any other ideas?
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

PostAuthor: Threat009 » Tue Apr 25, 2006 11:35 am

"Eon";p="3045" wrote:Yes, that is the one I am talking about Threat.

I will try Found It. I didn't clear my Extreme Styles Cache, but I cleared my Browser cache.

I was just saying that I had another test site with 2.0.20 installed with no problems. It is live too.


*** That did not work.. Could this be controlled somewhere in the Theme itself? I am using subBlack(Eon Modified). I know it hasn't been redone since 2.0.20, and maybe ot for 2.0.19.. Not Sure. I would have to ask Helter.

Any other ideas?

ACP>IMPortal>Clear Cache? Tried that yet? I may be going out on a limb here, but switch over to FI Subice and see if the link is now present in the ACP. I'm having an issue right now where quotes work on FI Subice but not on MSTrenches, so you never know, maybe it is just a theme issue.....
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Tue Apr 25, 2006 12:29 pm

Both problems do sound like theme issues....

keep me updated and we can see if it is anything else...

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: Eon » Tue Apr 25, 2006 12:49 pm

Well so much for that idea. Cause it is like that on FIsubice too. Cleared the IMPortal cache, and that did not work either.

What file controls the buttons in the ACP? Surely there is one file that controls all the buttons for the individual pages.
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

PostAuthor: Threat009 » Tue Apr 25, 2006 2:53 pm

"Eon";p="3070" wrote:Well so much for that idea. Cause it is like that on FIsubice too. Cleared the IMPortal cache, and that did not work either.

What file controls the buttons in the ACP? Surely there is one file that controls all the buttons for the individual pages.

Jeez man, that's really weird. Are you sure it was there before you updated to 2.0.20? I'm not a pro here, but I would suggest installing your old back-ups, and bring yourself back to 2.0.19 and than check to see if it's there. I only suggest this because no one has had this problem yet, so maybe you were missing that link prior to the 2.0.20 update. Hopefully, if you still have your back-up, you can go back to 2.0.19. If the link is there, than atleast we'll know for certain that the 2.0.20 did something to your ACP. Hope that helps you get closer to an answer......
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

PostAuthor: tekguru » Wed Apr 26, 2006 9:09 am

Anyone getting any page_tail errors when opening the extra emoticon pop-up from the message editor?
Last edited by tekguru on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[size=99px]http][/size]
[url=http][img=left]http://www.4winmobile.com/news/MVP_Horizontal_FullColor.png[/img][/url]
User avatar
tekguru
Sr Integra Member
Sr Integra Member
 
Posts: 329
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 11:29 pm
Cash on hand: 0.00

PostAuthor: gcomfx.com » Wed Apr 26, 2006 9:53 am

"tekguru";p="3156" wrote:Anyone getting any page_tail errors when opening the extra emoticon pop-up from the message editor?


None here. :shrug:
Last edited by gcomfx.com on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Paul (gcomfx) - 100mphclub.com originator
[size=99px]
User avatar
gcomfx.com
Sr Integra Member
Sr Integra Member
 
Posts: 251
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Wed Apr 12, 2006 9:34 am
Cash on hand: 0.00

PostAuthor: Eon » Thu Apr 27, 2006 8:52 am

I fixed the ranks problem.

Somewhere along the way, my admin_ranks.php in the admin/modules folder got currupted. It was completely blank. I placed a copy in from the IM 140 install and it works now.

Don't know when it got corrupted though.
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: sirap » Thu Apr 27, 2006 5:06 pm

"found it";p="3015" wrote:
"sirap";p="2953" wrote:hi, just upgraded using premodded files..but I got this error when try to change user password in admin ACP.

phpBB : Critical Error

Error removing auto-login keys

DEBUG MODE

SQL Error : 1146 Table 'forumdb.SESSIONS_KEYS_TABLE' doesn't exist

DELETE FROM SESSIONS_KEYS_TABLE WHERE user_id = 242

Line : 533
File : sessions.php

Is anyone got the solution?
This is my sessions.php

Code: Select all
 <?php^M/***************************************************************************^M  *                                sessions.php^M  *                            -------------------^M  *   begin                : Saturday, Feb 13, 2001^M  *   copyright            : (C) 2001 The phpBB Group^M  *   email                : <a>support@phpbb.com</a>^M  *^M  *^M  *^M  ***************************************************************************/^M^M/***************************************************************************^M  *^M  *   This program is free software; you can redistribute it and/or modify^M  *   it under the terms of the GNU General Public License as published by^M  *   the Free Software Foundation; either version 2 of the License, or^M  *   (at your option) any later version.^M  *^M  ***************************************************************************/^M^M//^M// Adds/updates a new session to the database for the given userid.^M// Returns the new session ID on success.^M//^Mfunction session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)^M{^M         global $db, $board_config;^M         global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M         $cookiename = $board_config['cookie_name'];^M         $cookiepath = $board_config['cookie_path'];^M         $cookiedomain = $board_config['cookie_domain'];^M         $cookiesecure = $board_config['cookie_secure'];^M^M         if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M         {^M                 $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                 $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                 $sessionmethod = SESSION_METHOD_COOKIE;^M         }^M         else^M         {^M                 $sessiondata = array();^M                 $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                 $sessionmethod = SESSION_METHOD_GET;^M         }^M^M         if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) ^M         {^M                 $session_id = '';^M         }^M         ^M         $page_id = (int) $page_id;^M^M         global $HTTP_SERVER_VARS; ^M         if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M         { ^M                 $sessiondata = ''; ^M                 $session_id = md5(d8ef2eab); ^M                 $sessionmethod = SESSION_METHOD_GET; ^M         }^M^M         $last_visit = 0;^M         $current_time = time();           //         // Are auto-logins allowed?         // If allow_autologin is not set or is true then they are         // (same behaviour as old 2.0.x session code)         //         if (isset($board_config['allow_autologin']) && !$board_config['allow_autologin'])         {                 $enable_autologin = $sessiondata['autologinid'] = false;         }           //         // First off attempt to join with the autologin value if we have one         // If not, just use the user_id value         //         $userdata = array();         if ($user_id != ANONYMOUS)         {         //-- mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                        ^M//-- add^M                 lw_check_membership($userdata);^M//-- fin mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                    ^M^M                 if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '' && $user_id)                 {                         $sql = 'SELECT u.*                                FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k                                WHERE u.user_id = ' . (int) $user_id . "                                        AND u.user_active = 1                                        AND k.user_id = u.user_id                                        AND k.key_id = '" . md5($sessiondata['autologinid']) . "'";                         if (!($result = $db->sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db->sql_fetchrow($result);                         $db->sql_freeresult($result);                           $enable_autologin = $login = 1;                 }                 else if (!$auto_create)                 {                         $sessiondata['autologinid'] = '';                         $sessiondata['userid'] = $user_id;                           $sql = 'SELECT *                                FROM ' . USERS_TABLE . '                                WHERE user_id = ' . (int) $user_id . '                                        AND user_active = 1';                         if (!($result = $db->sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db->sql_fetchrow($result);                         $db->sql_freeresult($result);                         $login = 1;                 }         }           //         // At this point either $userdata should be populated or         // one of the below is true         // * Key didn't match one in the DB         // * User does not exist         // * User is inactive         //         if (!sizeof($userdata) || !is_array($userdata) || !$userdata)         {                 $sessiondata['autologinid'] = '';                 $sessiondata['userid'] = $user_id = ANONYMOUS;                 $enable_autologin = $login = 0;                   $sql = 'SELECT *                        FROM ' . USERS_TABLE . '                        WHERE user_id = ' . (int) $user_id;                 if (!($result = $db->sql_query($sql)))                 {                         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                 }                   $userdata = $db->sql_fetchrow($result);                 $db->sql_freeresult($result);         }^M         //^M         // Initial ban check against user id, IP and email address^M         //^M         preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts);^M^M         $sql = "SELECT ban_ip, ban_userid, ban_email ^M                FROM " . BANLIST_TABLE . " ^M                WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_                         OR ban_userid = $user_id";^M        if ( $user_id != ANONYMOUS )^M        {^M                $sql .= " OR ban_email LIKE '" . str_replace("'", "''", $userdata['user_email']) . "' ^M                         OR ban_email LIKE '" . substr(str_replace("'", "''", $userdata['user_email']), strpos(str_replace("'", "''", $userdata['user_email']), "@")) . "'";        }^M        if ( !($result = $db->sql_query($sql)) )^M        {^M                message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);^M        }^M^M        if ( $ban_info = $db->sql_fetchrow($result) )^M        {^M                if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )^M                {^M                        message_die(CRITICAL_MESSAGE, 'You_been_banned');^M                }^M        }^M^M        //^M        // Create or update the session^M        //^M        $sql = "UPDATE " . SESSIONS_TABLE . "^M                 SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_adm                 WHERE session_id = '" . $session_id . "' ^M                         AND session_ip = '$user_ip'";^M        if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )^M        {^M                        $session_id = md5(dss_rand());^M                ^M                global $HTTP_SERVER_VARS; ^M                $session_id = ( !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ? md5(uniqid(mt_rand(), true)) : md5(d8ef2eab);^M^M                $sql = "INSERT INTO " . SESSIONS_TABLE . "^M                         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)^M                         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);^M                }^M        }^M^M        if ( $user_id != ANONYMOUS )^M        {                $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; ^M               ^M                if (!$admin)^M                {^M^M                $sql = "UPDATE " . USERS_TABLE . " ^M                         SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit^M                         WHERE user_id = $user_id";^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);^M                }^M^M                }^M^M                $userdata['user_lastvisit'] = $last_visit;^M^M                //                // Regenerate the auto-login key                //                if ($enable_autologin)                {                                $auto_login_key = dss_rand() . dss_rand();                          if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '')                        {                                $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "                                         SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time                                         WHERE key_id = '" . md5($sessiondata['autologinid']) . "'";                        }                        else                        {                                $sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . "(key_id, user_id, last_ip, last_login)                                         VALUES ('" . md5($auto_login_key) . "', $user_id, '$user_ip', $current_time)";                        }                          if ( !$db->sql_query($sql) )                        {                                message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);                        }                          $sessiondata['autologinid'] = $auto_login_key;                        unset($auto_login_key);                }                else                {                        $sessiondata['autologinid'] = '';                }  //              $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologin                $sessiondata['userid'] = $user_id;^M        }^M^M        $userdata['session_id'] = $session_id;^M        $userdata['session_ip'] = $user_ip;^M        $userdata['session_user_id'] = $user_id;^M        $userdata['session_logged_in'] = $login;^M        $userdata['session_page'] = $page_id;^M        $userdata['session_start'] = $current_time;^M        $userdata['session_time'] = $current_time;^M        $userdata['session_admin'] = $admin;^M        $userdata['session_key'] = $sessiondata['autologinid'];^M        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M^M        $SID = 'sid=' . $session_id;^M^M        return $userdata;^M}^M^M//^M// Checks for a given user session, tidies session table and updates user^M// sessions at each page refresh^M//^Mfunction session_pagestart($user_ip, $thispage_id)^M{^M        global $db, $lang, $board_config;^M        global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M        $cookiename = $board_config['cookie_name'];^M        $cookiepath = $board_config['cookie_path'];^M        $cookiedomain = $board_config['cookie_domain'];^M        $cookiesecure = $board_config['cookie_secure'];^M^M        $current_time = time();^M        unset($userdata);^M^M        if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M        {^M                $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                $sessionmethod = SESSION_METHOD_COOKIE;^M        }^M        else^M        {^M                $sessiondata = array();^M                $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                $sessionmethod = SESSION_METHOD_GET;^M        }^M^M        if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))^M        {^M                $session_id = '';^M        }^M^M        global $HTTP_SERVER_VARS; ^M        if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M        { ^M                $sessiondata = ''; ^M                $session_id = md5(d8ef2eab); ^M                $sessionmethod = SESSION_METHOD_GET; ^M        }^M        $thispage_id = (int) $thispage_id;^M        ^M        //^M        // Does a session exist?^M        //^M        if ( !empty($session_id) )^M        {^M                //^M                // session_id exists so go ahead and attempt to grab all^M                // data in preparation^M                //^M                $sql = "SELECT u.*, s.*^M                         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u^M                         WHERE s.session_id = '$session_id'^M                                 AND u.user_id = s.session_user_id";^M                if ( !($result = $db->sql_query($sql)) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);^M                }^M^M                $userdata = $db->sql_fetchrow($result);^M^M                //^M                // Did the session exist in the DB?^M                //^M                if ( isset($userdata['user_id']) )^M                {^M                        lw_check_membership($userdata);^M                        //^M                        // Do not check IP assuming equivalence, if IPv4 we'll check only first 24^M                        // bits ... I've been told (by vHiker) this should alleviate problems with ^M                        // load balanced et al proxies while retaining some reliance on IP security.^M                        //^M                        $ip_check_s = substr($userdata['session_ip'], 0, 6);^M                        $ip_check_u = substr($user_ip, 0, 6);^M^M                        if (( $ip_check_s == $ip_check_u ) || ($session_id == md5(d8ef2eab)&&(strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot'))))^M                        {^M                                $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';^M^M                                //^M                                // Only update session DB a minute or so after last update^M                                //^M                                if ( $current_time - $userdata['session_time'] > 60 )^M                                {^M                                        // A little trick to reset session_admin on session re-usage^M                                        $update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', sessi^M                                        $sql = "UPDATE " . SESSIONS_TABLE . " ^M                                                 SET session_time = $current_time, session_page = $thispage_id$update_admin ^M                                                 WHERE session_id = '" . $userdata['session_id'] . "'";^M                                        if ( !$db->sql_query($sql) )^M                                        }^M^M                                        if ( $userdata['user_id'] != ANONYMOUS )^M                                        {^M                                                $sql = "UPDATE " . USERS_TABLE . " ^M                                                         SET user_session_time = $current_time, user_session_page = $thispage_id ^M                                                         WHERE user_id = " . $userdata['user_id'];^M                                                if ( !$db->sql_query($sql) )^M                                                {^M                                                        message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);^M                                                }^M                                        }^M^M                                        session_clean($userdata['session_id']);^M                                        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                                        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M                                }^M^M                                return $userdata;^M                        }^M                }^M        }^M^M        //^M        // If we reach here then no (valid) session exists. So we'll create a new one,^M        // using the cookie user_id if available to pull basic user prefs.^M        //^M        $user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;^M^M        if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )^M        {^M                message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);^M        }^M^M        return $userdata;^M^M}^M^M/*** Terminates the specified session* It will delete the entry in the sessions table for this session,* remove the corresponding auto-login key and reset the cookies*/function session_end($session_id, $user_id){        global $db, $lang, $board_config, $userdata;        global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;          $cookiename = $board_config['cookie_name'];        $cookiepath = $board_config['cookie_path'];        $cookiedomain = $board_config['cookie_domain'];        $cookiesecure = $board_config['cookie_secure'];          $current_time = time();          if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))        {                return;        }          //        // Delete existing session        //        $sql = 'DELETE FROM ' . SESSIONS_TABLE . "                 WHERE session_id = '$session_id'                         AND session_user_id = $user_id";        if ( !$db->sql_query($sql) )        {                message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);        }          //        // Remove this auto-login entry (if applicable)        //        if ( isset($userdata['session_key']) && $userdata['session_key'] != '' )        {                $autologin_key = md5($userdata['session_key']);                $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE user_id = ' . (int) $user_id . "                                 AND key_id = '$autologin_key'";                if ( !$db->sql_query($sql) )                {                        message_die(CRITICAL_ERROR, 'Error removing auto-login key', '', __LINE__, __FILE__, $sql);                }        }          //        // We expect that message_die will be called after this function,        // but just in case it isn't, reset $userdata to the details for a guest        //        $sql = 'SELECT *                FROM ' . USERS_TABLE . '                WHERE user_id = ' . ANONYMOUS;        if ( !($result = $db->sql_query($sql)) )        {                message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);        }        if ( !($userdata = $db->sql_fetchrow($result)) )        {                message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);        }        $db->sql_freeresult($result);            setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);        setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);          return true;}  /*** Removes expired sessions and auto-login keys from the database*/function session_clean($session_id){        global $board_config, $db;          //        // Delete expired sessions        //        $sql = "DELETE FROM " . SESSIONS_TABLE . " ^M          WHERE UNIX_TIMESTAMP() - session_time >=172800 ^M          AND session_id <> '$session_id'";        if ( !$db->sql_query($sql) )        {                message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);        }          //        // Delete expired auto-login keys        // If max_autologin_time is not set then keys will never be deleted        // (same behaviour as old 2.0.x session code)        //        if (!empty($board_config['max_autologin_time']) && $board_config['max_autologin_time'] > 0)        {                $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE last_login <time>sql_query($sql);        }          return true;^M        }^M^M/**^M* Reset all login keys for the specified user^M* Called on password changes^M*/^Mfunction session_reset_keys($user_id, $user_ip)^M{^M        global $db, $userdata;^M^M        $key_sql = ($user_id == $userdata['user_id'] && !empty($userdata['session_key'])) ? "AND key_id != '" . md5($userdata['session_key']) . "'" : '';^M^M        $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '^M                WHERE user_id = ' . (int) $user_id . "^M                         $key_sql";^M^M        if ( !$db->sql_query($sql) )^M        {^M                message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', __LINE__, __FILE__, $sql);^M        }^M^M        $where_sql = 'session_user_id = ' . (int) $user_id;^M        $where_sql .= ($user_id == $userdata['user_id']) ? " AND session_id <userdata>sql_query($sql) )^M        {^M                message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', __LINE__, __FILE__, $sql);^M        }^M^M        if ( !empty($key_sql) )^M        {^M                $auto_login_key = dss_rand() . dss_rand();^M^M                $current_time = time();^M                ^M                $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "^M                         SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time^M                         WHERE key_id = '" . md5($userdata['session_key']) . "'";^M                ^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);^M                }^M^M                // And now rebuild the cookie^M                $sessiondata['userid'] = $user_id;^M                $sessiondata['autologinid'] = $autologin_id;^M                $cookiename = $board_config['cookie_name'];^M                $cookiepath = $board_config['cookie_path'];^M                $cookiedomain = $board_config['cookie_domain'];^M                $cookiesecure = $board_config['cookie_secure'];^M^M                setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                ^M                $userdata['session_key'] = $auto_login_key;^M                unset($sessiondata);^M                unset($auto_login_key);^M        }}^M//^M// Append $SID to a url. Borrowed from phplib and modified. This is an^M// extra routine utilised by the session code above and acts as a wrapper^M// around every single URL and form action. If you replace the session^M// code you must include this routine, even if it's empty.^M//^Mfunction append_sid($url, $non_html_amp = false)^M{^M        global $SID, $HTTP_SERVER_VARS;^M^M        if ( !empty($SID) && !preg_match('#sid=#', $url) && !defined('IS_ROBOT')  )^M        {^M                $url .= ( ( strpos($url, '?') !== false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;        }^M^M        return $url;^M}^M^M?>  


Thanks in advance.


Hi

Did you do the upgrade from 2.0.17 to 2.0.18 as that is error is a result in constant.php as the code edits are not done....

Can you show me your includes/constants.php



If I'm not mistaken I did upgrade from 2.0.17 to 2.0.18...BTW, here is my constants.php
Code: Select all
<?php^M// <ID>^M// +---------------+-------------------------------+-----------+^M// | IntegraMOD v1 |    ? 2005 IntegraMOD Group    |  {1.4.0}  |^M// +---------------+-------------------------------+-----------+^M// | Filename      | constants.php                             |^M// | Created By    | phpBB Group                               |^M// | Created On    | February 13, 2001                         |^M// | Copyright     | ? 2005 phpBB Group                        |^M// | License       | GNU-GPL v2 [http://gpl.integramod.org]    |^M// +---------------+-------------------------------------------+^M// |      DO NOT MODIFY/REMOVE ANTHING ABOVE THIS LINE!!!      |^M// +-----------------------------------------------------------+^M^M// *************************************************************^M// ****************** Begin Protecting Script ******************^M// *************************************************************^M/*^Mif (!defined('IM_LOADER') or !IM_LOADER or !defined('IM_GLOBALS') or !IM_GLOBALS)^M{^M         die('<p><strong>Access Denied:</strong> This file ('.basename(__FILE__).') cannot be accessed directly.</p>');^M}^M*/^M^M// *************************************************************^M// ******************* Set Global Constants ********************^M// *************************************************************^M// ### Debug Level -- To turn off, set to 0. ###^Mdefine('DEBUG', 1);^M^M// ### Account Activation Settings ###^Mdefine('USER_ACTIVATION_NONE', 0);^Mdefine('USER_ACTIVATION_SELF', 1);^Mdefine('USER_ACTIVATION_ADMIN', 2);^M^M// ### Album Constants ###^Mdefine('ALBUM_ANONYMOUS', -1);^Mdefine('ALBUM_GUEST', -1);^Mdefine('ALBUM_USER', 0);^Mdefine('ALBUM_ADMIN', 1);^Mdefine('ALBUM_MOD', 2);^Mdefine('ALBUM_PRIVATE', 3);^M// --------------------^Mdefine('ALBUM_UPLOAD_PATH', 'album_mod/upload/');^Mdefine('ALBUM_CACHE_PATH', 'album_mod/upload/cache/');^Mdefine('ALBUM_MED_CACHE_PATH', 'album_mod/upload/med_cache/');^M// --------------------^Mdefine('ALBUM_NAV_ARROW', ' &raquo; ');^Mdefine('ALBUM_ROOT_CATEGORY', -1);^M// --------------------^Mdefine('PERSONAL_GALLERY', 0);^M^M^M// ### Auth Settings ###^Mdefine('AUTH_LIST_ALL', 0);^Mdefine('AUTH_ALL', 0);^M// --------------------^Mdefine('AUTH_REG', 1);^Mdefine('AUTH_ACL', 2);^Mdefine('AUTH_MOD', 3);^Mdefine('AUTH_ADMIN', 5);^M// --------------------^Mdefine('AUTH_VIEW', 1);^Mdefine('AUTH_READ', 2);^Mdefine('AUTH_POST', 3);^Mdefine('AUTH_REPLY', 4);^Mdefine('AUTH_EDIT', 5);^Mdefine('AUTH_DELETE', 6);^Mdefine('AUTH_ANNOUNCE', 7);^Mdefine('AUTH_STICKY', <s8><img><s8>;^Mdefine('AUTH_POLLCREATE', 9);^Mdefine('AUTH_VOTE', 10);^Mdefine('AUTH_ATTACH', 11);^Mdefine('AUTH_DELAYEDPOST', 12);^Mdefine('AUTH_CAL', 20);^Mdefine('AUTH_GLOBAL_ANNOUNCE', 21);^Mdefine('AUTH_PAID_VIEW', 25);^M^M// ### Data Tables ###^Mdefine('ACCT_HIST_TABLE', $table_prefix.'account_hist');^Mdefine('ACRONYMS_TABLE', $table_prefix.'acronyms');^Mdefine('ADMIN_PM_TABLE', $table_prefix.'admin_pm');^Mdefine('ALBUM_CAT_TABLE', $table_prefix.'album_cat');^Mdefine('ALBUM_COMMENT_TABLE', $table_prefix.'album_comment');^Mdefine('ALBUM_CONFIG_TABLE', $table_prefix.'album_config');^Mdefine('ALBUM_RATE_TABLE', $table_prefix.'album_rate');^Mdefine('ALBUM_SP_CONFIG_TABLE', $table_prefix.'album_sp_config');^Mdefine('ALBUM_TABLE', $table_prefix.'album');^Mdefine('APPROVE_FORUMS_TABLE', $table_prefix.'approve_forums');^Mdefine('APPROVE_POSTS_TABLE', $table_prefix.'approve_posts');^Mdefine('APPROVE_TOPICS_TABLE', $table_prefix.'approve_topics');^Mdefine('APPROVE_USERS_TABLE', $table_prefix.'approve_users');^Mdefine('AUTH_ACCESS_TABLE', $table_prefix.'auth_access');^Mdefine('BANNER_STATS_TABLE', $table_prefix.'banner_stats');^Mdefine('BANNERS_TABLE', $table_prefix.'banner');^Mdefine('BANLIST_TABLE', $table_prefix.'banlist');^Mdefine('BLOCK_POSITION_TABLE', $table_prefix.'block_position');^Mdefine('BLOCK_VARIABLE_TABLE', $table_prefix.'block_variable');^Mdefine('BLOCKS_TABLE', $table_prefix.'blocks');^Mdefine('BOOKMARK_TABLE', $table_prefix.'bookmarks');^Mdefine('BUDDY_TABLE', $table_prefix.'contact_list');^Mdefine('BUDDYS_TABLE', $table_prefix.'buddy');^Mdefine('CATEGORIES_TABLE', $table_prefix.'categories');^Mdefine('CONFIG_TABLE', $table_prefix.'config');^Mdefine('CONTACT_TABLE', $table_prefix.'contact_list');^Mdefine('DIGEST_FORUMS_TABLE', $table_prefix.'digest_forums');^Mdefine('DIGEST_TABLE', $table_prefix.'digest');^Mdefine('DISALLOW_TABLE', $table_prefix.'disallow');^M//define('DISALLOW_TABLE', $table_prefix.'contact_list'); // Which to use? constants_contact.php^Mdefine('FORUM_TOUR_TABLE', $table_prefix.'forum_tour');^Mdefine('FORUMS_TABLE', $table_prefix.'forums');^Mdefine('GROUPS_TABLE', $table_prefix.'groups');^Mdefine('HACKS_LIST_TABLE', $table_prefix.'hacks_list');^Mdefine('IGNORE_TABLE', $table_prefix.'contact_list');^Mdefine('IM_CONFIG_TABLE', $table_prefix.'im_config');^Mdefine('IM_PREFS_TABLE', $table_prefix.'im_prefs');^Mdefine('IM_SITES_TABLE', $table_prefix.'im_sites');^Mdefine('IM_SESSIONS_TABLE', $table_prefix.'im_sessions');^Mdefine('JR_ADMIN_TABLE', $table_prefix.'jr_admin_users');^Mdefine('LAYOUT_TABLE', $table_prefix.'layout');^Mdefine('LINK_CATEGORIES_TABLE', $table_prefix.'link_categories');^Mdefine('LINK_CONFIG_TABLE', $table_prefix.'link_config');^Mdefine('LINKS_TABLE', $table_prefix.'links');^Mdefine('NEWS_TABLE', $table_prefix.'news');^Mdefine('OPTIMIZE_DB_TABLE', $table_prefix.'optimize_db');^Mdefine('PORTAL_CONFIG_TABLE', $table_prefix.'portal_config');^Mdefine('POSTS_TABLE', $table_prefix.'posts');^Mdefine('POSTS_TEXT_TABLE', $table_prefix.'posts_text');^Mdefine('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore');^Mdefine('PRIVMSGS_TABLE', $table_prefix.'privmsgs');^Mdefine('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text');^Mdefine('PRUNE_TABLE', $table_prefix.'forum_prune');^Mdefine('RANKS_TABLE', $table_prefix.'ranks');^Mdefine('REFERERS_TABLE', $table_prefix.'referers');^Mdefine('RULES_TABLE', $table_prefix.'rules');^Mdefine('SEARCH_MATCH_TABLE', $table_prefix.'search_wordmatch');^Mdefine('SEARCH_TABLE', $table_prefix.'search_results');^Mdefine('SEARCH_WORD_TABLE', $table_prefix.'search_wordlist');^Mdefine('SESSIONS_TABLE', $table_prefix.'sessions');^Mdefine('SHOUTBOX_TABLE', $table_prefix.'shout');^Mdefine('SMILIES_TABLE', $table_prefix.'smilies');^Mdefine('SUBSCRIPTIONS_TABLE', $table_prefix.'mod_subscriptions');^Mdefine('SUBSCRIBED_FORUMS_TABLE', $table_prefix.'mod_subscribed_forums');^Mdefine('THEMES_NAME_TABLE', $table_prefix.'themes_name');^Mdefine('THEMES_TABLE', $table_prefix.'themes');^Mdefine('TOPICS_TABLE', $table_prefix.'topics');^Mdefine('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch');^Mdefine('USER_GROUP_TABLE', $table_prefix.'user_group');^Mdefine('USERS_TABLE', $table_prefix.'users');^Mdefine('VOTE_DESC_TABLE', $table_prefix.'vote_desc');^Mdefine('VOTE_RESULTS_TABLE', $table_prefix.'vote_results');^Mdefine('VOTE_USERS_TABLE', $table_prefix.'vote_voters');^Mdefine('WORDS_TABLE', $table_prefix.'words');^Mdefine('WPM', $table_prefix.'wpm');^M^M// ### Database Connection ###^Mdefine('BEGIN_TRANSACTION', 1);^Mdefine('END_TRANSACTION', 2);^M^M// ### Error Codes ###^Mdefine('GENERAL_MESSAGE', 200);^Mdefine('GENERAL_ERROR', 202);^Mdefine('CRITICAL_MESSAGE', 203);^Mdefine('CRITICAL_ERROR', 204);^M^M// ### Group Settings ###^Mdefine('GROUP_OPEN', 0);^Mdefine('GROUP_CLOSED', 1);^Mdefine('GROUP_HIDDEN', 2);^Mdefine('GROUP_AUTO', 3);^Mdefine('GROUP_PAYMENT', 4);^M^M// ### Page Numbers for Session Handling ###^Mdefine('PAGE_INDEX', 0);^Mdefine('PAGE_LOGIN', -1);^Mdefine('PAGE_SEARCH', -2);^Mdefine('PAGE_REGISTER', -3);^Mdefine('PAGE_PROFILE', -4);^Mdefine('PAGE_VIEWONLINE', -6);^Mdefine('PAGE_VIEWMEMBERS', -7);^Mdefine('PAGE_FAQ', -8);^Mdefine('PAGE_POSTING', -9);^Mdefine('PAGE_PRIVMSGS', -10);^Mdefine('PAGE_GROUPCP', -11);^Mdefine('PAGE_FORUM_TOUR', -12);^Mdefine('PAGE_PORTAL', -13);^Mdefine('PAGE_CARD', -14);^Mdefine('PAGE_RULES', -15);^Mdefine('PAGE_COOKIES', -16);^Mdefine('PAGE_STAFF', -17);^Mdefine('PAGE_LINKS', -18);^Mdefine('PAGE_DOWNLOAD', -19);^Mdefine('PAGE_ALBUM', -50);^Mdefine('PAGE_ALBUM_PERSONAL', -51);^Mdefine('PAGE_ALBUM_PICTURE', -52);^Mdefine('PAGE_ALBUM_SEARCH', -53);^Mdefine('PAGE_REDIRECT', -1031);^Mdefine('PAGE_SHOUTBOX_MAX', -1035);^Mdefine('PAGE_SHOUTBOX', -1035);^Mdefine('PAGE_CONTACT', -8050);^Mdefine('PAGE_PRILLIAN', -8051);^Mdefine('PAGE_TOPIC_OFFSET', 5000);^M^M// ### Points Status ###^Mdefine('POINTS_DISABLED', 1);^Mdefine('POINTS_ENABLED', 0);^M^M// ### Post Types ###^Mdefine('POST_NORMAL', 0);^Mdefine('POST_STICKY', 1);^Mdefine('POST_ANNOUNCE', 2);^Mdefine('POST_GLOBAL_ANNOUNCE', 3);^Mdefine('POST_BIRTHDAY', 9);^Mdefine('POST_CALENDAR', 10);^M^M// ### Prillian Constants ###^M// prillian installed?^Mif (defined('PRILLIAN_INSTALLED')){^Mdefine('ALLOW_BUDDY_SELF', false);^Mdefine('CONTACT_PATH', $phpbb_root_path.'mods/contact/');^Mdefine('CONTACT_URL', $phpbb_root_path.'contact.'.$phpEx);^Mdefine('IM_NEW_MAIL', 6);^Mdefine('IM_READ_MAIL', 7);^Mdefine('IM_UNREAD_MAIL', <s8><img><s8>;^Mdefine('OFF_SITE', -2);^Mdefine('OFF_SITE_USERS_URL', 'u');^Mdefine('OFF_SITE_POST_URL', 'p');^Mdefine('PRILL_PATH', $phpbb_root_path.'mods/prillian/');^Mdefine('PRILL_URL', $phpbb_root_path.'imclient.'.$phpEx);^Mdefine('MAIN_MODE', 1);^Mdefine('WIDE_MODE', 2);^Mdefine('MINI_MODE', 3);^Mdefine('FRAMES_MODE', 4);^Mdefine('NO_FRAMES_MODE', 5);^M}^M^M// ### Private Message System ###^Mdefine('PRIVMSGS_READ_MAIL', 0);^Mdefine('PRIVMSGS_NEW_MAIL', 1);^Mdefine('PRIVMSGS_SENT_MAIL', 2);^Mdefine('PRIVMSGS_SAVED_IN_MAIL', 3);^Mdefine('PRIVMSGS_SAVED_OUT_MAIL', 4);^Mdefine('PRIVMSGS_UNREAD_MAIL', 5);^M^M// ### Session Parameters ###^Mdefine('SESSION_METHOD_COOKIE', 100);^Mdefine('SESSION_METHOD_GET', 101);^M^M// ### Software Status ###^Mdefine('FORUM_UNLOCKED', 0);^Mdefine('FORUM_LOCKED', 1);^M^M// ### Topic Status ###^Mdefine('TOPIC_UNLOCKED', 0);^Mdefine('TOPIC_LOCKED', 1);^Mdefine('TOPIC_MOVED', 2);^Mdefine('TOPIC_WATCH_NOTIFIED', 1);^Mdefine('TOPIC_WATCH_UN_NOTIFIED', 0);^M^M// ### URL Parameters ###^Mdefine('POST_TOPIC_URL', 't');^Mdefine('POST_CAT_URL', 'c');^Mdefine('POST_FORUM_URL', 'f');^Mdefine('POST_USERS_URL', 'u');^Mdefine('POST_POST_URL', 'p');^Mdefine('POST_GROUPS_URL', 'g');^M^M// ### User Avatar Settings ###^Mdefine('USER_AVATAR_NONE', 0);^Mdefine('USER_AVATAR_UPLOAD', 1);^Mdefine('USER_AVATAR_REMOTE', 2);^Mdefine('USER_AVATAR_GALLERY', 3);^M^M// ### User Levels ###^Mdefine('DELETED', -1);^Mdefine('ANONYMOUS', -1);^Mdefine('USER', 0);^Mdefine('ADMIN', 1);^Mdefine('MOD', 2);^Mdefine('JADMIN', 7);^Mdefine('ADMIN_FOUNDER', 99);^Mdefine('GUEST_ONLY', 1000);^M^M// ### Special Constants ###^Mdefine('NO', 0);^Mdefine('YES', 1);^Mdefine('FRIEND_ONLY',2);^Mdefine('UNKNOWN', 0);^Mdefine('MALE', 1);^Mdefine('FEMALE', 2);^Mdefine('VIP_RANK_TITLE', 'VIP');^Mdefine('OVERIDE_THEME', false);^Mdefine('DIGEST_THEME', 1);^Mdefine('DIGEST_LOGGING', true);^Mdefine('DIGEST_SUPPORT', "http://www.phpbb.com/phpBB/viewtopic.php?t=187868");^Mdefine('DIGEST_HTML', 1);^Mdefine('DIGEST_TEXT', 0);^M^M?>
Last edited by sirap on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

sirap
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sat Apr 15, 2006 8:25 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Mighty07 » Thu Apr 27, 2006 6:31 pm

After all the updates and fixes, i only got 2 things missing.
One is that thing about the "View posts since last visit" and the other is the daily backups.
The most important for me is the daily backups. Does anyone found a fix for this?
Last edited by Mighty07 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Mighty07
Newbie
Newbie
 
Posts: 25
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 12:38 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Helter » Thu Apr 27, 2006 7:04 pm

usually the daily backup is broken with the phpbb 18 or 19 update and fixed with the security mod update. Are you sure you did all the database updates? ie...update_to _latest.php, update.php...etc
Last edited by Helter on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
"Success is getting what you want. Happiness is wanting what you get." - Dale Carnegie
User avatar
Helter
Administrator
Administrator
 
Posts: 4553
Likes: 40 posts
Liked in: 115 posts
Images: 0
Joined: Sat Mar 11, 2006 4:46 pm
Cash on hand: 1,954.10
Location: Seattle Wa
IntegraMOD version: phpBB2x

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Fri Apr 28, 2006 2:06 am

"sirap";p="3367" wrote:
"found it";p="3015" wrote:
"sirap";p="2953" wrote:hi, just upgraded using premodded files..but I got this error when try to change user password in admin ACP.

phpBB : Critical Error

Error removing auto-login keys

DEBUG MODE

SQL Error : 1146 Table 'forumdb.SESSIONS_KEYS_TABLE' doesn't exist

DELETE FROM SESSIONS_KEYS_TABLE WHERE user_id = 242

Line : 533
File : sessions.php

Is anyone got the solution?
This is my sessions.php

Code: Select all
 <?php^M/***************************************************************************^M  *                                sessions.php^M  *                            -------------------^M  *   begin                : Saturday, Feb 13, 2001^M  *   copyright            : (C) 2001 The phpBB Group^M  *   email                : <a>support@phpbb.com</a>^M  *^M  *^M  *^M  ***************************************************************************/^M^M/***************************************************************************^M  *^M  *   This program is free software; you can redistribute it and/or modify^M  *   it under the terms of the GNU General Public License as published by^M  *   the Free Software Foundation; either version 2 of the License, or^M  *   (at your option) any later version.^M  *^M  ***************************************************************************/^M^M//^M// Adds/updates a new session to the database for the given userid.^M// Returns the new session ID on success.^M//^Mfunction session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)^M{^M         global $db, $board_config;^M         global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M         $cookiename = $board_config['cookie_name'];^M         $cookiepath = $board_config['cookie_path'];^M         $cookiedomain = $board_config['cookie_domain'];^M         $cookiesecure = $board_config['cookie_secure'];^M^M         if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M         {^M                 $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                 $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                 $sessionmethod = SESSION_METHOD_COOKIE;^M         }^M         else^M         {^M                 $sessiondata = array();^M                 $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                 $sessionmethod = SESSION_METHOD_GET;^M         }^M^M         if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) ^M         {^M                 $session_id = '';^M         }^M         ^M         $page_id = (int) $page_id;^M^M         global $HTTP_SERVER_VARS; ^M         if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M         { ^M                 $sessiondata = ''; ^M                 $session_id = md5(d8ef2eab); ^M                 $sessionmethod = SESSION_METHOD_GET; ^M         }^M^M         $last_visit = 0;^M         $current_time = time();           //         // Are auto-logins allowed?         // If allow_autologin is not set or is true then they are         // (same behaviour as old 2.0.x session code)         //         if (isset($board_config['allow_autologin']) && !$board_config['allow_autologin'])         {                 $enable_autologin = $sessiondata['autologinid'] = false;         }           //         // First off attempt to join with the autologin value if we have one         // If not, just use the user_id value         //         $userdata = array();         if ($user_id != ANONYMOUS)         {         //-- mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                        ^M//-- add^M                 lw_check_membership($userdata);^M//-- fin mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                    ^M^M                 if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '' && $user_id)                 {                         $sql = 'SELECT u.*                                FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k                                WHERE u.user_id = ' . (int) $user_id . "                                        AND u.user_active = 1                                        AND k.user_id = u.user_id                                        AND k.key_id = '" . md5($sessiondata['autologinid']) . "'";                         if (!($result = $db->sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db->sql_fetchrow($result);                         $db->sql_freeresult($result);                           $enable_autologin = $login = 1;                 }                 else if (!$auto_create)                 {                         $sessiondata['autologinid'] = '';                         $sessiondata['userid'] = $user_id;                           $sql = 'SELECT *                                FROM ' . USERS_TABLE . '                                WHERE user_id = ' . (int) $user_id . '                                        AND user_active = 1';                         if (!($result = $db->sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db->sql_fetchrow($result);                         $db->sql_freeresult($result);                         $login = 1;                 }         }           //         // At this point either $userdata should be populated or         // one of the below is true         // * Key didn't match one in the DB         // * User does not exist         // * User is inactive         //         if (!sizeof($userdata) || !is_array($userdata) || !$userdata)         {                 $sessiondata['autologinid'] = '';                 $sessiondata['userid'] = $user_id = ANONYMOUS;                 $enable_autologin = $login = 0;                   $sql = 'SELECT *                        FROM ' . USERS_TABLE . '                        WHERE user_id = ' . (int) $user_id;                 if (!($result = $db->sql_query($sql)))                 {                         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                 }                   $userdata = $db->sql_fetchrow($result);                 $db->sql_freeresult($result);         }^M         //^M         // Initial ban check against user id, IP and email address^M         //^M         preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts);^M^M         $sql = "SELECT ban_ip, ban_userid, ban_email ^M                FROM " . BANLIST_TABLE . " ^M                WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_                         OR ban_userid = $user_id";^M        if ( $user_id != ANONYMOUS )^M        {^M                $sql .= " OR ban_email LIKE '" . str_replace("'", "''", $userdata['user_email']) . "' ^M                         OR ban_email LIKE '" . substr(str_replace("'", "''", $userdata['user_email']), strpos(str_replace("'", "''", $userdata['user_email']), "@")) . "'";        }^M        if ( !($result = $db->sql_query($sql)) )^M        {^M                message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);^M        }^M^M        if ( $ban_info = $db->sql_fetchrow($result) )^M        {^M                if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )^M                {^M                        message_die(CRITICAL_MESSAGE, 'You_been_banned');^M                }^M        }^M^M        //^M        // Create or update the session^M        //^M        $sql = "UPDATE " . SESSIONS_TABLE . "^M                 SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_adm                 WHERE session_id = '" . $session_id . "' ^M                         AND session_ip = '$user_ip'";^M        if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )^M        {^M                        $session_id = md5(dss_rand());^M                ^M                global $HTTP_SERVER_VARS; ^M                $session_id = ( !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ? md5(uniqid(mt_rand(), true)) : md5(d8ef2eab);^M^M                $sql = "INSERT INTO " . SESSIONS_TABLE . "^M                         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)^M                         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);^M                }^M        }^M^M        if ( $user_id != ANONYMOUS )^M        {                $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; ^M               ^M                if (!$admin)^M                {^M^M                $sql = "UPDATE " . USERS_TABLE . " ^M                         SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit^M                         WHERE user_id = $user_id";^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);^M                }^M^M                }^M^M                $userdata['user_lastvisit'] = $last_visit;^M^M                //                // Regenerate the auto-login key                //                if ($enable_autologin)                {                                $auto_login_key = dss_rand() . dss_rand();                          if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '')                        {                                $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "                                         SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time                                         WHERE key_id = '" . md5($sessiondata['autologinid']) . "'";                        }                        else                        {                                $sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . "(key_id, user_id, last_ip, last_login)                                         VALUES ('" . md5($auto_login_key) . "', $user_id, '$user_ip', $current_time)";                        }                          if ( !$db->sql_query($sql) )                        {                                message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);                        }                          $sessiondata['autologinid'] = $auto_login_key;                        unset($auto_login_key);                }                else                {                        $sessiondata['autologinid'] = '';                }  //              $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologin                $sessiondata['userid'] = $user_id;^M        }^M^M        $userdata['session_id'] = $session_id;^M        $userdata['session_ip'] = $user_ip;^M        $userdata['session_user_id'] = $user_id;^M        $userdata['session_logged_in'] = $login;^M        $userdata['session_page'] = $page_id;^M        $userdata['session_start'] = $current_time;^M        $userdata['session_time'] = $current_time;^M        $userdata['session_admin'] = $admin;^M        $userdata['session_key'] = $sessiondata['autologinid'];^M        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M^M        $SID = 'sid=' . $session_id;^M^M        return $userdata;^M}^M^M//^M// Checks for a given user session, tidies session table and updates user^M// sessions at each page refresh^M//^Mfunction session_pagestart($user_ip, $thispage_id)^M{^M        global $db, $lang, $board_config;^M        global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M        $cookiename = $board_config['cookie_name'];^M        $cookiepath = $board_config['cookie_path'];^M        $cookiedomain = $board_config['cookie_domain'];^M        $cookiesecure = $board_config['cookie_secure'];^M^M        $current_time = time();^M        unset($userdata);^M^M        if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M        {^M                $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                $sessionmethod = SESSION_METHOD_COOKIE;^M        }^M        else^M        {^M                $sessiondata = array();^M                $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                $sessionmethod = SESSION_METHOD_GET;^M        }^M^M        if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))^M        {^M                $session_id = '';^M        }^M^M        global $HTTP_SERVER_VARS; ^M        if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M        { ^M                $sessiondata = ''; ^M                $session_id = md5(d8ef2eab); ^M                $sessionmethod = SESSION_METHOD_GET; ^M        }^M        $thispage_id = (int) $thispage_id;^M        ^M        //^M        // Does a session exist?^M        //^M        if ( !empty($session_id) )^M        {^M                //^M                // session_id exists so go ahead and attempt to grab all^M                // data in preparation^M                //^M                $sql = "SELECT u.*, s.*^M                         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u^M                         WHERE s.session_id = '$session_id'^M                                 AND u.user_id = s.session_user_id";^M                if ( !($result = $db->sql_query($sql)) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);^M                }^M^M                $userdata = $db->sql_fetchrow($result);^M^M                //^M                // Did the session exist in the DB?^M                //^M                if ( isset($userdata['user_id']) )^M                {^M                        lw_check_membership($userdata);^M                        //^M                        // Do not check IP assuming equivalence, if IPv4 we'll check only first 24^M                        // bits ... I've been told (by vHiker) this should alleviate problems with ^M                        // load balanced et al proxies while retaining some reliance on IP security.^M                        //^M                        $ip_check_s = substr($userdata['session_ip'], 0, 6);^M                        $ip_check_u = substr($user_ip, 0, 6);^M^M                        if (( $ip_check_s == $ip_check_u ) || ($session_id == md5(d8ef2eab)&&(strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot'))))^M                        {^M                                $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';^M^M                                //^M                                // Only update session DB a minute or so after last update^M                                //^M                                if ( $current_time - $userdata['session_time'] > 60 )^M                                {^M                                        // A little trick to reset session_admin on session re-usage^M                                        $update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', sessi^M                                        $sql = "UPDATE " . SESSIONS_TABLE . " ^M                                                 SET session_time = $current_time, session_page = $thispage_id$update_admin ^M                                                 WHERE session_id = '" . $userdata['session_id'] . "'";^M                                        if ( !$db->sql_query($sql) )^M                                        }^M^M                                        if ( $userdata['user_id'] != ANONYMOUS )^M                                        {^M                                                $sql = "UPDATE " . USERS_TABLE . " ^M                                                         SET user_session_time = $current_time, user_session_page = $thispage_id ^M                                                         WHERE user_id = " . $userdata['user_id'];^M                                                if ( !$db->sql_query($sql) )^M                                                {^M                                                        message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);^M                                                }^M                                        }^M^M                                        session_clean($userdata['session_id']);^M                                        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                                        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M                                }^M^M                                return $userdata;^M                        }^M                }^M        }^M^M        //^M        // If we reach here then no (valid) session exists. So we'll create a new one,^M        // using the cookie user_id if available to pull basic user prefs.^M        //^M        $user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;^M^M        if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )^M        {^M                message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);^M        }^M^M        return $userdata;^M^M}^M^M/*** Terminates the specified session* It will delete the entry in the sessions table for this session,* remove the corresponding auto-login key and reset the cookies*/function session_end($session_id, $user_id){        global $db, $lang, $board_config, $userdata;        global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;          $cookiename = $board_config['cookie_name'];        $cookiepath = $board_config['cookie_path'];        $cookiedomain = $board_config['cookie_domain'];        $cookiesecure = $board_config['cookie_secure'];          $current_time = time();          if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))        {                return;        }          //        // Delete existing session        //        $sql = 'DELETE FROM ' . SESSIONS_TABLE . "                 WHERE session_id = '$session_id'                         AND session_user_id = $user_id";        if ( !$db->sql_query($sql) )        {                message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);        }          //        // Remove this auto-login entry (if applicable)        //        if ( isset($userdata['session_key']) && $userdata['session_key'] != '' )        {                $autologin_key = md5($userdata['session_key']);                $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE user_id = ' . (int) $user_id . "                                 AND key_id = '$autologin_key'";                if ( !$db->sql_query($sql) )                {                        message_die(CRITICAL_ERROR, 'Error removing auto-login key', '', __LINE__, __FILE__, $sql);                }        }          //        // We expect that message_die will be called after this function,        // but just in case it isn't, reset $userdata to the details for a guest        //        $sql = 'SELECT *                FROM ' . USERS_TABLE . '                WHERE user_id = ' . ANONYMOUS;        if ( !($result = $db->sql_query($sql)) )        {                message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);        }        if ( !($userdata = $db->sql_fetchrow($result)) )        {                message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);        }        $db->sql_freeresult($result);            setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);        setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);          return true;}  /*** Removes expired sessions and auto-login keys from the database*/function session_clean($session_id){        global $board_config, $db;          //        // Delete expired sessions        //        $sql = "DELETE FROM " . SESSIONS_TABLE . " ^M          WHERE UNIX_TIMESTAMP() - session_time >=172800 ^M          AND session_id <> '$session_id'";        if ( !$db->sql_query($sql) )        {                message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);        }          //        // Delete expired auto-login keys        // If max_autologin_time is not set then keys will never be deleted        // (same behaviour as old 2.0.x session code)        //        if (!empty($board_config['max_autologin_time']) && $board_config['max_autologin_time'] > 0)        {                $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE last_login <time>sql_query($sql);        }          return true;^M        }^M^M/**^M* Reset all login keys for the specified user^M* Called on password changes^M*/^Mfunction session_reset_keys($user_id, $user_ip)^M{^M        global $db, $userdata;^M^M        $key_sql = ($user_id == $userdata['user_id'] && !empty($userdata['session_key'])) ? "AND key_id != '" . md5($userdata['session_key']) . "'" : '';^M^M        $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '^M                WHERE user_id = ' . (int) $user_id . "^M                         $key_sql";^M^M        if ( !$db->sql_query($sql) )^M        {^M                message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', __LINE__, __FILE__, $sql);^M        }^M^M        $where_sql = 'session_user_id = ' . (int) $user_id;^M        $where_sql .= ($user_id == $userdata['user_id']) ? " AND session_id <userdata>sql_query($sql) )^M        {^M                message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', __LINE__, __FILE__, $sql);^M        }^M^M        if ( !empty($key_sql) )^M        {^M                $auto_login_key = dss_rand() . dss_rand();^M^M                $current_time = time();^M                ^M                $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "^M                         SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time^M                         WHERE key_id = '" . md5($userdata['session_key']) . "'";^M                ^M                if ( !$db->sql_query($sql) )^M                {^M                        message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);^M                }^M^M                // And now rebuild the cookie^M                $sessiondata['userid'] = $user_id;^M                $sessiondata['autologinid'] = $autologin_id;^M                $cookiename = $board_config['cookie_name'];^M                $cookiepath = $board_config['cookie_path'];^M                $cookiedomain = $board_config['cookie_domain'];^M                $cookiesecure = $board_config['cookie_secure'];^M^M                setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                ^M                $userdata['session_key'] = $auto_login_key;^M                unset($sessiondata);^M                unset($auto_login_key);^M        }}^M//^M// Append $SID to a url. Borrowed from phplib and modified. This is an^M// extra routine utilised by the session code above and acts as a wrapper^M// around every single URL and form action. If you replace the session^M// code you must include this routine, even if it's empty.^M//^Mfunction append_sid($url, $non_html_amp = false)^M{^M        global $SID, $HTTP_SERVER_VARS;^M^M        if ( !empty($SID) && !preg_match('#sid=#', $url) && !defined('IS_ROBOT')  )^M        {^M                $url .= ( ( strpos($url, '?') !== false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;        }^M^M        return $url;^M}^M^M?>  


Thanks in advance.


Hi

Did you do the upgrade from 2.0.17 to 2.0.18 as that is error is a result in constant.php as the code edits are not done....

Can you show me your includes/constants.php



If I'm not mistaken I did upgrade from 2.0.17 to 2.0.18...BTW, here is my constants.php
Code: Select all
<?php^M// <ID>^M// +---------------+-------------------------------+-----------+^M// | IntegraMOD v1 |    ? 2005 IntegraMOD Group    |  {1.4.0}  |^M// +---------------+-------------------------------+-----------+^M// | Filename      | constants.php                             |^M// | Created By    | phpBB Group                               |^M// | Created On    | February 13, 2001                         |^M// | Copyright     | ? 2005 phpBB Group                        |^M// | License       | GNU-GPL v2 [http://gpl.integramod.org]    |^M// +---------------+-------------------------------------------+^M// |      DO NOT MODIFY/REMOVE ANTHING ABOVE THIS LINE!!!      |^M// +-----------------------------------------------------------+^M^M// *************************************************************^M// ****************** Begin Protecting Script ******************^M// *************************************************************^M/*^Mif (!defined('IM_LOADER') or !IM_LOADER or !defined('IM_GLOBALS') or !IM_GLOBALS)^M{^M         die('<p><strong>Access Denied:</strong> This file ('.basename(__FILE__).') cannot be accessed directly.</p>');^M}^M*/^M^M// *************************************************************^M// ******************* Set Global Constants ********************^M// *************************************************************^M// ### Debug Level -- To turn off, set to 0. ###^Mdefine('DEBUG', 1);^M^M// ### Account Activation Settings ###^Mdefine('USER_ACTIVATION_NONE', 0);^Mdefine('USER_ACTIVATION_SELF', 1);^Mdefine('USER_ACTIVATION_ADMIN', 2);^M^M// ### Album Constants ###^Mdefine('ALBUM_ANONYMOUS', -1);^Mdefine('ALBUM_GUEST', -1);^Mdefine('ALBUM_USER', 0);^Mdefine('ALBUM_ADMIN', 1);^Mdefine('ALBUM_MOD', 2);^Mdefine('ALBUM_PRIVATE', 3);^M// --------------------^Mdefine('ALBUM_UPLOAD_PATH', 'album_mod/upload/');^Mdefine('ALBUM_CACHE_PATH', 'album_mod/upload/cache/');^Mdefine('ALBUM_MED_CACHE_PATH', 'album_mod/upload/med_cache/');^M// --------------------^Mdefine('ALBUM_NAV_ARROW', ' &raquo; ');^Mdefine('ALBUM_ROOT_CATEGORY', -1);^M// --------------------^Mdefine('PERSONAL_GALLERY', 0);^M^M^M// ### Auth Settings ###^Mdefine('AUTH_LIST_ALL', 0);^Mdefine('AUTH_ALL', 0);^M// --------------------^Mdefine('AUTH_REG', 1);^Mdefine('AUTH_ACL', 2);^Mdefine('AUTH_MOD', 3);^Mdefine('AUTH_ADMIN', 5);^M// --------------------^Mdefine('AUTH_VIEW', 1);^Mdefine('AUTH_READ', 2);^Mdefine('AUTH_POST', 3);^Mdefine('AUTH_REPLY', 4);^Mdefine('AUTH_EDIT', 5);^Mdefine('AUTH_DELETE', 6);^Mdefine('AUTH_ANNOUNCE', 7);^Mdefine('AUTH_STICKY', <s8><img><s8>;^Mdefine('AUTH_POLLCREATE', 9);^Mdefine('AUTH_VOTE', 10);^Mdefine('AUTH_ATTACH', 11);^Mdefine('AUTH_DELAYEDPOST', 12);^Mdefine('AUTH_CAL', 20);^Mdefine('AUTH_GLOBAL_ANNOUNCE', 21);^Mdefine('AUTH_PAID_VIEW', 25);^M^M// ### Data Tables ###^Mdefine('ACCT_HIST_TABLE', $table_prefix.'account_hist');^Mdefine('ACRONYMS_TABLE', $table_prefix.'acronyms');^Mdefine('ADMIN_PM_TABLE', $table_prefix.'admin_pm');^Mdefine('ALBUM_CAT_TABLE', $table_prefix.'album_cat');^Mdefine('ALBUM_COMMENT_TABLE', $table_prefix.'album_comment');^Mdefine('ALBUM_CONFIG_TABLE', $table_prefix.'album_config');^Mdefine('ALBUM_RATE_TABLE', $table_prefix.'album_rate');^Mdefine('ALBUM_SP_CONFIG_TABLE', $table_prefix.'album_sp_config');^Mdefine('ALBUM_TABLE', $table_prefix.'album');^Mdefine('APPROVE_FORUMS_TABLE', $table_prefix.'approve_forums');^Mdefine('APPROVE_POSTS_TABLE', $table_prefix.'approve_posts');^Mdefine('APPROVE_TOPICS_TABLE', $table_prefix.'approve_topics');^Mdefine('APPROVE_USERS_TABLE', $table_prefix.'approve_users');^Mdefine('AUTH_ACCESS_TABLE', $table_prefix.'auth_access');^Mdefine('BANNER_STATS_TABLE', $table_prefix.'banner_stats');^Mdefine('BANNERS_TABLE', $table_prefix.'banner');^Mdefine('BANLIST_TABLE', $table_prefix.'banlist');^Mdefine('BLOCK_POSITION_TABLE', $table_prefix.'block_position');^Mdefine('BLOCK_VARIABLE_TABLE', $table_prefix.'block_variable');^Mdefine('BLOCKS_TABLE', $table_prefix.'blocks');^Mdefine('BOOKMARK_TABLE', $table_prefix.'bookmarks');^Mdefine('BUDDY_TABLE', $table_prefix.'contact_list');^Mdefine('BUDDYS_TABLE', $table_prefix.'buddy');^Mdefine('CATEGORIES_TABLE', $table_prefix.'categories');^Mdefine('CONFIG_TABLE', $table_prefix.'config');^Mdefine('CONTACT_TABLE', $table_prefix.'contact_list');^Mdefine('DIGEST_FORUMS_TABLE', $table_prefix.'digest_forums');^Mdefine('DIGEST_TABLE', $table_prefix.'digest');^Mdefine('DISALLOW_TABLE', $table_prefix.'disallow');^M//define('DISALLOW_TABLE', $table_prefix.'contact_list'); // Which to use? constants_contact.php^Mdefine('FORUM_TOUR_TABLE', $table_prefix.'forum_tour');^Mdefine('FORUMS_TABLE', $table_prefix.'forums');^Mdefine('GROUPS_TABLE', $table_prefix.'groups');^Mdefine('HACKS_LIST_TABLE', $table_prefix.'hacks_list');^Mdefine('IGNORE_TABLE', $table_prefix.'contact_list');^Mdefine('IM_CONFIG_TABLE', $table_prefix.'im_config');^Mdefine('IM_PREFS_TABLE', $table_prefix.'im_prefs');^Mdefine('IM_SITES_TABLE', $table_prefix.'im_sites');^Mdefine('IM_SESSIONS_TABLE', $table_prefix.'im_sessions');^Mdefine('JR_ADMIN_TABLE', $table_prefix.'jr_admin_users');^Mdefine('LAYOUT_TABLE', $table_prefix.'layout');^Mdefine('LINK_CATEGORIES_TABLE', $table_prefix.'link_categories');^Mdefine('LINK_CONFIG_TABLE', $table_prefix.'link_config');^Mdefine('LINKS_TABLE', $table_prefix.'links');^Mdefine('NEWS_TABLE', $table_prefix.'news');^Mdefine('OPTIMIZE_DB_TABLE', $table_prefix.'optimize_db');^Mdefine('PORTAL_CONFIG_TABLE', $table_prefix.'portal_config');^Mdefine('POSTS_TABLE', $table_prefix.'posts');^Mdefine('POSTS_TEXT_TABLE', $table_prefix.'posts_text');^Mdefine('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore');^Mdefine('PRIVMSGS_TABLE', $table_prefix.'privmsgs');^Mdefine('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text');^Mdefine('PRUNE_TABLE', $table_prefix.'forum_prune');^Mdefine('RANKS_TABLE', $table_prefix.'ranks');^Mdefine('REFERERS_TABLE', $table_prefix.'referers');^Mdefine('RULES_TABLE', $table_prefix.'rules');^Mdefine('SEARCH_MATCH_TABLE', $table_prefix.'search_wordmatch');^Mdefine('SEARCH_TABLE', $table_prefix.'search_results');^Mdefine('SEARCH_WORD_TABLE', $table_prefix.'search_wordlist');^Mdefine('SESSIONS_TABLE', $table_prefix.'sessions');^Mdefine('SHOUTBOX_TABLE', $table_prefix.'shout');^Mdefine('SMILIES_TABLE', $table_prefix.'smilies');^Mdefine('SUBSCRIPTIONS_TABLE', $table_prefix.'mod_subscriptions');^Mdefine('SUBSCRIBED_FORUMS_TABLE', $table_prefix.'mod_subscribed_forums');^Mdefine('THEMES_NAME_TABLE', $table_prefix.'themes_name');^Mdefine('THEMES_TABLE', $table_prefix.'themes');^Mdefine('TOPICS_TABLE', $table_prefix.'topics');^Mdefine('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch');^Mdefine('USER_GROUP_TABLE', $table_prefix.'user_group');^Mdefine('USERS_TABLE', $table_prefix.'users');^Mdefine('VOTE_DESC_TABLE', $table_prefix.'vote_desc');^Mdefine('VOTE_RESULTS_TABLE', $table_prefix.'vote_results');^Mdefine('VOTE_USERS_TABLE', $table_prefix.'vote_voters');^Mdefine('WORDS_TABLE', $table_prefix.'words');^Mdefine('WPM', $table_prefix.'wpm');^M^M// ### Database Connection ###^Mdefine('BEGIN_TRANSACTION', 1);^Mdefine('END_TRANSACTION', 2);^M^M// ### Error Codes ###^Mdefine('GENERAL_MESSAGE', 200);^Mdefine('GENERAL_ERROR', 202);^Mdefine('CRITICAL_MESSAGE', 203);^Mdefine('CRITICAL_ERROR', 204);^M^M// ### Group Settings ###^Mdefine('GROUP_OPEN', 0);^Mdefine('GROUP_CLOSED', 1);^Mdefine('GROUP_HIDDEN', 2);^Mdefine('GROUP_AUTO', 3);^Mdefine('GROUP_PAYMENT', 4);^M^M// ### Page Numbers for Session Handling ###^Mdefine('PAGE_INDEX', 0);^Mdefine('PAGE_LOGIN', -1);^Mdefine('PAGE_SEARCH', -2);^Mdefine('PAGE_REGISTER', -3);^Mdefine('PAGE_PROFILE', -4);^Mdefine('PAGE_VIEWONLINE', -6);^Mdefine('PAGE_VIEWMEMBERS', -7);^Mdefine('PAGE_FAQ', -8);^Mdefine('PAGE_POSTING', -9);^Mdefine('PAGE_PRIVMSGS', -10);^Mdefine('PAGE_GROUPCP', -11);^Mdefine('PAGE_FORUM_TOUR', -12);^Mdefine('PAGE_PORTAL', -13);^Mdefine('PAGE_CARD', -14);^Mdefine('PAGE_RULES', -15);^Mdefine('PAGE_COOKIES', -16);^Mdefine('PAGE_STAFF', -17);^Mdefine('PAGE_LINKS', -18);^Mdefine('PAGE_DOWNLOAD', -19);^Mdefine('PAGE_ALBUM', -50);^Mdefine('PAGE_ALBUM_PERSONAL', -51);^Mdefine('PAGE_ALBUM_PICTURE', -52);^Mdefine('PAGE_ALBUM_SEARCH', -53);^Mdefine('PAGE_REDIRECT', -1031);^Mdefine('PAGE_SHOUTBOX_MAX', -1035);^Mdefine('PAGE_SHOUTBOX', -1035);^Mdefine('PAGE_CONTACT', -8050);^Mdefine('PAGE_PRILLIAN', -8051);^Mdefine('PAGE_TOPIC_OFFSET', 5000);^M^M// ### Points Status ###^Mdefine('POINTS_DISABLED', 1);^Mdefine('POINTS_ENABLED', 0);^M^M// ### Post Types ###^Mdefine('POST_NORMAL', 0);^Mdefine('POST_STICKY', 1);^Mdefine('POST_ANNOUNCE', 2);^Mdefine('POST_GLOBAL_ANNOUNCE', 3);^Mdefine('POST_BIRTHDAY', 9);^Mdefine('POST_CALENDAR', 10);^M^M// ### Prillian Constants ###^M// prillian installed?^Mif (defined('PRILLIAN_INSTALLED')){^Mdefine('ALLOW_BUDDY_SELF', false);^Mdefine('CONTACT_PATH', $phpbb_root_path.'mods/contact/');^Mdefine('CONTACT_URL', $phpbb_root_path.'contact.'.$phpEx);^Mdefine('IM_NEW_MAIL', 6);^Mdefine('IM_READ_MAIL', 7);^Mdefine('IM_UNREAD_MAIL', <s8><img><s8>;^Mdefine('OFF_SITE', -2);^Mdefine('OFF_SITE_USERS_URL', 'u');^Mdefine('OFF_SITE_POST_URL', 'p');^Mdefine('PRILL_PATH', $phpbb_root_path.'mods/prillian/');^Mdefine('PRILL_URL', $phpbb_root_path.'imclient.'.$phpEx);^Mdefine('MAIN_MODE', 1);^Mdefine('WIDE_MODE', 2);^Mdefine('MINI_MODE', 3);^Mdefine('FRAMES_MODE', 4);^Mdefine('NO_FRAMES_MODE', 5);^M}^M^M// ### Private Message System ###^Mdefine('PRIVMSGS_READ_MAIL', 0);^Mdefine('PRIVMSGS_NEW_MAIL', 1);^Mdefine('PRIVMSGS_SENT_MAIL', 2);^Mdefine('PRIVMSGS_SAVED_IN_MAIL', 3);^Mdefine('PRIVMSGS_SAVED_OUT_MAIL', 4);^Mdefine('PRIVMSGS_UNREAD_MAIL', 5);^M^M// ### Session Parameters ###^Mdefine('SESSION_METHOD_COOKIE', 100);^Mdefine('SESSION_METHOD_GET', 101);^M^M// ### Software Status ###^Mdefine('FORUM_UNLOCKED', 0);^Mdefine('FORUM_LOCKED', 1);^M^M// ### Topic Status ###^Mdefine('TOPIC_UNLOCKED', 0);^Mdefine('TOPIC_LOCKED', 1);^Mdefine('TOPIC_MOVED', 2);^Mdefine('TOPIC_WATCH_NOTIFIED', 1);^Mdefine('TOPIC_WATCH_UN_NOTIFIED', 0);^M^M// ### URL Parameters ###^Mdefine('POST_TOPIC_URL', 't');^Mdefine('POST_CAT_URL', 'c');^Mdefine('POST_FORUM_URL', 'f');^Mdefine('POST_USERS_URL', 'u');^Mdefine('POST_POST_URL', 'p');^Mdefine('POST_GROUPS_URL', 'g');^M^M// ### User Avatar Settings ###^Mdefine('USER_AVATAR_NONE', 0);^Mdefine('USER_AVATAR_UPLOAD', 1);^Mdefine('USER_AVATAR_REMOTE', 2);^Mdefine('USER_AVATAR_GALLERY', 3);^M^M// ### User Levels ###^Mdefine('DELETED', -1);^Mdefine('ANONYMOUS', -1);^Mdefine('USER', 0);^Mdefine('ADMIN', 1);^Mdefine('MOD', 2);^Mdefine('JADMIN', 7);^Mdefine('ADMIN_FOUNDER', 99);^Mdefine('GUEST_ONLY', 1000);^M^M// ### Special Constants ###^Mdefine('NO', 0);^Mdefine('YES', 1);^Mdefine('FRIEND_ONLY',2);^Mdefine('UNKNOWN', 0);^Mdefine('MALE', 1);^Mdefine('FEMALE', 2);^Mdefine('VIP_RANK_TITLE', 'VIP');^Mdefine('OVERIDE_THEME', false);^Mdefine('DIGEST_THEME', 1);^Mdefine('DIGEST_LOGGING', true);^Mdefine('DIGEST_SUPPORT', "http://www.phpbb.com/phpBB/viewtopic.php?t=187868");^Mdefine('DIGEST_HTML', 1);^Mdefine('DIGEST_TEXT', 0);^M^M?>


Hi

you are missing a line form your constants.php

you need to find

Code: Select all
define('SESSIONS_TABLE', $table_prefix.'sessions');


and add after

Code: Select all
define('SESSIONS_KEYS_TABLE', $table_prefix.'sessions_keys');  


i hope that helps

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: sirap » Fri Apr 28, 2006 2:23 am

"found it";p="3397" wrote:
"sirap";p="3367" wrote:
"found it";p="3015" wrote:
"sirap";p="2953" wrote:hi, just upgraded using premodded files..but I got this error when try to change user password in admin ACP.

phpBB : Critical Error

Error removing auto-login keys

DEBUG MODE

SQL Error : 1146 Table 'forumdb.SESSIONS_KEYS_TABLE' doesn't exist

DELETE FROM SESSIONS_KEYS_TABLE WHERE user_id = 242

Line : 533
File : sessions.php

Is anyone got the solution?
This is my sessions.php

Code: Select all
 &lt;?php^M/***************************************************************************^M  *                                sessions.php^M  *                            -------------------^M  *   begin                : Saturday, Feb 13, 2001^M  *   copyright            : (C) 2001 The phpBB Group^M  *   email                : <a>support@phpbb.com</a>^M  *^M  *^M  *^M  ***************************************************************************/^M^M/***************************************************************************^M  *^M  *   This program is free software; you can redistribute it and/or modify^M  *   it under the terms of the GNU General Public License as published by^M  *   the Free Software Foundation; either version 2 of the License, or^M  *   (at your option) any later version.^M  *^M  ***************************************************************************/^M^M//^M// Adds/updates a new session to the database for the given userid.^M// Returns the new session ID on success.^M//^Mfunction session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)^M{^M         global $db, $board_config;^M         global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M         $cookiename = $board_config['cookie_name'];^M         $cookiepath = $board_config['cookie_path'];^M         $cookiedomain = $board_config['cookie_domain'];^M         $cookiesecure = $board_config['cookie_secure'];^M^M         if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M         {^M                 $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                 $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                 $sessionmethod = SESSION_METHOD_COOKIE;^M         }^M         else^M         {^M                 $sessiondata = array();^M                 $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                 $sessionmethod = SESSION_METHOD_GET;^M         }^M^M         if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) ^M         {^M                 $session_id = '';^M         }^M         ^M         $page_id = (int) $page_id;^M^M         global $HTTP_SERVER_VARS; ^M         if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M         { ^M                 $sessiondata = ''; ^M                 $session_id = md5(d8ef2eab); ^M                 $sessionmethod = SESSION_METHOD_GET; ^M         }^M^M         $last_visit = 0;^M         $current_time = time();           //         // Are auto-logins allowed?         // If allow_autologin is not set or is true then they are         // (same behaviour as old 2.0.x session code)         //         if (isset($board_config['allow_autologin']) && !$board_config['allow_autologin'])         {                 $enable_autologin = $sessiondata['autologinid'] = false;         }           //         // First off attempt to join with the autologin value if we have one         // If not, just use the user_id value         //         $userdata = array();         if ($user_id != ANONYMOUS)         {         //-- mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                        ^M//-- add^M                 lw_check_membership($userdata);^M//-- fin mod : Loewen Enterprise - PAYPAL IPN REG / SUBSCRIPTION - GROUP -----------------------------------------------------------                    ^M^M                 if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '' && $user_id)                 {                         $sql = 'SELECT u.*                                FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k                                WHERE u.user_id = ' . (int) $user_id . &quot;                                         AND u.user_active = 1                                         AND k.user_id = u.user_id                                         AND k.key_id = '&quot; . md5($sessiondata['autologinid']) . &quot;'&quot;;                         if (!($result = $db-&gt;sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db-&gt;sql_fetchrow($result);                         $db-&gt;sql_freeresult($result);                           $enable_autologin = $login = 1;                 }                 else if (!$auto_create)                 {                         $sessiondata['autologinid'] = '';                         $sessiondata['userid'] = $user_id;                           $sql = 'SELECT *                                FROM ' . USERS_TABLE . '                                WHERE user_id = ' . (int) $user_id . '                                        AND user_active = 1';                         if (!($result = $db-&gt;sql_query($sql)))                         {                                 message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                         }                           $userdata = $db-&gt;sql_fetchrow($result);                         $db-&gt;sql_freeresult($result);                         $login = 1;                 }         }           //         // At this point either $userdata should be populated or         // one of the below is true         // * Key didn't match one in the DB         // * User does not exist         // * User is inactive         //         if (!sizeof($userdata) || !is_array($userdata) || !$userdata)         {                 $sessiondata['autologinid'] = '';                 $sessiondata['userid'] = $user_id = ANONYMOUS;                 $enable_autologin = $login = 0;                   $sql = 'SELECT *                        FROM ' . USERS_TABLE . '                        WHERE user_id = ' . (int) $user_id;                 if (!($result = $db-&gt;sql_query($sql)))                 {                         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);                 }                   $userdata = $db-&gt;sql_fetchrow($result);                 $db-&gt;sql_freeresult($result);         }^M         //^M         // Initial ban check against user id, IP and email address^M         //^M         preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts);^M^M         $sql = &quot;SELECT ban_ip, ban_userid, ban_email ^M                 FROM &quot; . BANLIST_TABLE . &quot; ^M                 WHERE ban_ip IN ('&quot; . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . &quot;', '&quot; . $user_ip_parts[1] . $user_ip_parts[2] . $user_                        OR ban_userid = $user_id&quot;;^M        if ( $user_id != ANONYMOUS )^M        {^M                $sql .= &quot; OR ban_email LIKE '&quot; . str_replace(&quot;'&quot;, &quot;''&quot;, $userdata['user_email']) . &quot;' ^M                         OR ban_email LIKE '&quot; . substr(str_replace(&quot;'&quot;, &quot;''&quot;, $userdata['user_email']), strpos(str_replace(&quot;'&quot;, &quot;''&quot;, $userdata['user_email']), &quot;@&quot;)) . &quot;'&quot;;         }^M         if ( !($result = $db-&gt;sql_query($sql)) )^M         {^M                 message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);^M         }^M^M         if ( $ban_info = $db-&gt;sql_fetchrow($result) )^M         {^M                 if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )^M                 {^M                         message_die(CRITICAL_MESSAGE, 'You_been_banned');^M                 }^M         }^M^M         //^M         // Create or update the session^M         //^M         $sql = &quot;UPDATE &quot; . SESSIONS_TABLE . &quot;^M                 SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_adm                 WHERE session_id = '&quot; . $session_id . &quot;' ^M                         AND session_ip = '$user_ip'&quot;;^M         if ( !$db-&gt;sql_query($sql) || !$db-&gt;sql_affectedrows() )^M         {^M                         $session_id = md5(dss_rand());^M                 ^M                 global $HTTP_SERVER_VARS; ^M                 $session_id = ( !strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ? md5(uniqid(mt_rand(), true)) : md5(d8ef2eab);^M^M                 $sql = &quot;INSERT INTO &quot; . SESSIONS_TABLE . &quot;^M                         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)^M                         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)&quot;;^M                 if ( !$db-&gt;sql_query($sql) )^M                 {^M                         message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);^M                 }^M         }^M^M         if ( $user_id != ANONYMOUS )^M         {                 $last_visit = ( $userdata['user_session_time'] &gt; 0 ) ? $userdata['user_session_time'] : $current_time; ^M                ^M                 if (!$admin)^M                 {^M^M                 $sql = &quot;UPDATE &quot; . USERS_TABLE . &quot; ^M                         SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit^M                         WHERE user_id = $user_id&quot;;^M                 if ( !$db-&gt;sql_query($sql) )^M                 {^M                         message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);^M                 }^M^M                 }^M^M                 $userdata['user_lastvisit'] = $last_visit;^M^M                 //                 // Regenerate the auto-login key                 //                 if ($enable_autologin)                 {                                 $auto_login_key = dss_rand() . dss_rand();                           if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '')                         {                                 $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . &quot;                                         SET last_ip = '$user_ip', key_id = '&quot; . md5($auto_login_key) . &quot;', last_login = $current_time                                         WHERE key_id = '&quot; . md5($sessiondata['autologinid']) . &quot;'&quot;;                         }                         else                         {                                 $sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . &quot;(key_id, user_id, last_ip, last_login)                                         VALUES ('&quot; . md5($auto_login_key) . &quot;', $user_id, '$user_ip', $current_time)&quot;;                         }                           if ( !$db-&gt;sql_query($sql) )                         {                                 message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);                         }                           $sessiondata['autologinid'] = $auto_login_key;                         unset($auto_login_key);                 }                 else                 {                         $sessiondata['autologinid'] = '';                 }  //              $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologin                 $sessiondata['userid'] = $user_id;^M         }^M^M         $userdata['session_id'] = $session_id;^M         $userdata['session_ip'] = $user_ip;^M         $userdata['session_user_id'] = $user_id;^M         $userdata['session_logged_in'] = $login;^M         $userdata['session_page'] = $page_id;^M         $userdata['session_start'] = $current_time;^M         $userdata['session_time'] = $current_time;^M         $userdata['session_admin'] = $admin;^M         $userdata['session_key'] = $sessiondata['autologinid'];^M         setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M         setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M^M         $SID = 'sid=' . $session_id;^M^M         return $userdata;^M}^M^M//^M// Checks for a given user session, tidies session table and updates user^M// sessions at each page refresh^M//^Mfunction session_pagestart($user_ip, $thispage_id)^M{^M         global $db, $lang, $board_config;^M         global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;^M^M         $cookiename = $board_config['cookie_name'];^M         $cookiepath = $board_config['cookie_path'];^M         $cookiedomain = $board_config['cookie_domain'];^M         $cookiesecure = $board_config['cookie_secure'];^M^M         $current_time = time();^M         unset($userdata);^M^M         if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )^M         {^M                 $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();^M                 $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';^M                 $sessionmethod = SESSION_METHOD_COOKIE;^M         }^M         else^M         {^M                 $sessiondata = array();^M                 $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';^M                 $sessionmethod = SESSION_METHOD_GET;^M         }^M^M         if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))^M         {^M                 $session_id = '';^M         }^M^M         global $HTTP_SERVER_VARS; ^M         if ( empty($session_id)  && strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot') ) ^M         { ^M                 $sessiondata = ''; ^M                 $session_id = md5(d8ef2eab); ^M                 $sessionmethod = SESSION_METHOD_GET; ^M         }^M         $thispage_id = (int) $thispage_id;^M         ^M         //^M         // Does a session exist?^M         //^M         if ( !empty($session_id) )^M         {^M                 //^M                 // session_id exists so go ahead and attempt to grab all^M                 // data in preparation^M                 //^M                 $sql = &quot;SELECT u.*, s.*^M                         FROM &quot; . SESSIONS_TABLE . &quot; s, &quot; . USERS_TABLE . &quot; u^M                         WHERE s.session_id = '$session_id'^M                                 AND u.user_id = s.session_user_id&quot;;^M                 if ( !($result = $db-&gt;sql_query($sql)) )^M                 {^M                         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);^M                 }^M^M                 $userdata = $db-&gt;sql_fetchrow($result);^M^M                 //^M                 // Did the session exist in the DB?^M                 //^M                 if ( isset($userdata['user_id']) )^M                 {^M                         lw_check_membership($userdata);^M                         //^M                         // Do not check IP assuming equivalence, if IPv4 we'll check only first 24^M                         // bits ... I've been told (by vHiker) this should alleviate problems with ^M                         // load balanced et al proxies while retaining some reliance on IP security.^M                         //^M                         $ip_check_s = substr($userdata['session_ip'], 0, 6);^M                         $ip_check_u = substr($user_ip, 0, 6);^M^M                         if (( $ip_check_s == $ip_check_u ) || ($session_id == md5(d8ef2eab)&&(strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot'))))^M                         {^M                                 $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';^M^M                                 //^M                                 // Only update session DB a minute or so after last update^M                                 //^M                                 if ( $current_time - $userdata['session_time'] &gt; 60 )^M                                 {^M                                         // A little trick to reset session_admin on session re-usage^M                                         $update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] &gt; ($board_config['session_length']+60)) ? ', sessi^M                                        $sql = &quot;UPDATE &quot; . SESSIONS_TABLE . &quot; ^M                                                SET session_time = $current_time, session_page = $thispage_id$update_admin ^M                                                WHERE session_id = '&quot; . $userdata['session_id'] . &quot;'&quot;;^M                                        if ( !$db-&gt;sql_query($sql) )^M                                        }^M^M                                        if ( $userdata['user_id'] != ANONYMOUS )^M                                        {^M                                                $sql = &quot;UPDATE &quot; . USERS_TABLE . &quot; ^M                                                        SET user_session_time = $current_time, user_session_page = $thispage_id ^M                                                        WHERE user_id = &quot; . $userdata['user_id'];^M                                                if ( !$db-&gt;sql_query($sql) )^M                                                {^M                                                        message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);^M                                                }^M                                        }^M^M                                        session_clean($userdata['session_id']);^M                                        setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                                        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);^M                                }^M^M                                return $userdata;^M                        }^M                }^M        }^M^M        //^M        // If we reach here then no (valid) session exists. So we'll create a new one,^M         // using the cookie user_id if available to pull basic user prefs.^M         //^M         $user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;^M^M         if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )^M         {^M                 message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);^M         }^M^M         return $userdata;^M^M}^M^M/*** Terminates the specified session* It will delete the entry in the sessions table for this session,* remove the corresponding auto-login key and reset the cookies*/function session_end($session_id, $user_id){         global $db, $lang, $board_config, $userdata;         global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;           $cookiename = $board_config['cookie_name'];         $cookiepath = $board_config['cookie_path'];         $cookiedomain = $board_config['cookie_domain'];         $cookiesecure = $board_config['cookie_secure'];           $current_time = time();           if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))         {                 return;         }           //         // Delete existing session         //         $sql = 'DELETE FROM ' . SESSIONS_TABLE . &quot;                 WHERE session_id = '$session_id'                         AND session_user_id = $user_id&quot;;         if ( !$db-&gt;sql_query($sql) )         {                 message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);         }           //         // Remove this auto-login entry (if applicable)         //         if ( isset($userdata['session_key']) && $userdata['session_key'] != '' )         {                 $autologin_key = md5($userdata['session_key']);                 $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE user_id = ' . (int) $user_id . &quot;                                 AND key_id = '$autologin_key'&quot;;                 if ( !$db-&gt;sql_query($sql) )                 {                         message_die(CRITICAL_ERROR, 'Error removing auto-login key', '', __LINE__, __FILE__, $sql);                 }         }           //         // We expect that message_die will be called after this function,         // but just in case it isn't, reset $userdata to the details for a guest         //         $sql = 'SELECT *                FROM ' . USERS_TABLE . '                WHERE user_id = ' . ANONYMOUS;         if ( !($result = $db-&gt;sql_query($sql)) )         {                 message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);         }         if ( !($userdata = $db-&gt;sql_fetchrow($result)) )         {                 message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);         }         $db-&gt;sql_freeresult($result);             setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);         setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);           return true;}  /*** Removes expired sessions and auto-login keys from the database*/function session_clean($session_id){         global $board_config, $db;           //         // Delete expired sessions         //         $sql = &quot;DELETE FROM &quot; . SESSIONS_TABLE . &quot; ^M          WHERE UNIX_TIMESTAMP() - session_time &gt;=172800 ^M          AND session_id &lt;&gt; '$session_id'&quot;;         if ( !$db-&gt;sql_query($sql) )         {                 message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);         }           //         // Delete expired auto-login keys         // If max_autologin_time is not set then keys will never be deleted         // (same behaviour as old 2.0.x session code)         //         if (!empty($board_config['max_autologin_time']) && $board_config['max_autologin_time'] &gt; 0)         {                 $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '                        WHERE last_login &lt; ' . (time() - (86400 * (int) $board_config['max_autologin_time']));                 $db-&gt;sql_query($sql);         }           return true;^M         }^M^M/**^M* Reset all login keys for the specified user^M* Called on password changes^M*/^Mfunction session_reset_keys($user_id, $user_ip)^M{^M         global $db, $userdata;^M^M         $key_sql = ($user_id == $userdata['user_id'] && !empty($userdata['session_key'])) ? &quot;AND key_id != '&quot; . md5($userdata['session_key']) . &quot;'&quot; : '';^M^M         $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '^M                WHERE user_id = ' . (int) $user_id . &quot;^M                         $key_sql&quot;;^M^M         if ( !$db-&gt;sql_query($sql) )^M         {^M                 message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', __LINE__, __FILE__, $sql);^M         }^M^M         $where_sql = 'session_user_id = ' . (int) $user_id;^M         $where_sql .= ($user_id == $userdata['user_id']) ? &quot; AND session_id &lt;&gt; '&quot; . $userdata['session_id'] . &quot;'&quot; : '';^M         $sql = 'DELETE FROM ' . SESSIONS_TABLE . &quot;^M                 WHERE $where_sql&quot;;^M         if ( !$db-&gt;sql_query($sql) )^M         {^M                 message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', __LINE__, __FILE__, $sql);^M         }^M^M         if ( !empty($key_sql) )^M         {^M                 $auto_login_key = dss_rand() . dss_rand();^M^M                 $current_time = time();^M                 ^M                 $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . &quot;^M                         SET last_ip = '$user_ip', key_id = '&quot; . md5($auto_login_key) . &quot;', last_login = $current_time^M                         WHERE key_id = '&quot; . md5($userdata['session_key']) . &quot;'&quot;;^M                 ^M                 if ( !$db-&gt;sql_query($sql) )^M                 {^M                         message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);^M                 }^M^M                 // And now rebuild the cookie^M                 $sessiondata['userid'] = $user_id;^M                 $sessiondata['autologinid'] = $autologin_id;^M                 $cookiename = $board_config['cookie_name'];^M                 $cookiepath = $board_config['cookie_path'];^M                 $cookiedomain = $board_config['cookie_domain'];^M                 $cookiesecure = $board_config['cookie_secure'];^M^M                 setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);^M                 ^M                 $userdata['session_key'] = $auto_login_key;^M                 unset($sessiondata);^M                 unset($auto_login_key);^M         }}^M//^M// Append $SID to a url. Borrowed from phplib and modified. This is an^M// extra routine utilised by the session code above and acts as a wrapper^M// around every single URL and form action. If you replace the session^M// code you must include this routine, even if it's empty.^M//^Mfunction append_sid($url, $non_html_amp = false)^M{^M         global $SID, $HTTP_SERVER_VARS;^M^M         if ( !empty($SID) && !preg_match('#sid=#', $url) && !defined('IS_ROBOT')  )^M         {^M                 $url .= ( ( strpos($url, '?') !== false ) ?  ( ( $non_html_amp ) ? '&' : '&amp;' ) : '?' ) . $SID;         }^M^M         return $url;^M}^M^M?&gt;  


Thanks in advance.


Hi

Did you do the upgrade from 2.0.17 to 2.0.18 as that is error is a result in constant.php as the code edits are not done....

Can you show me your includes/constants.php



If I'm not mistaken I did upgrade from 2.0.17 to 2.0.18...BTW, here is my constants.php
Code: Select all
&lt;?php^M// &lt;$ID=19258851,REV=0001$&gt;^M// +---------------+-------------------------------+-----------+^M// | IntegraMOD v1 |    ? 2005 IntegraMOD Group    |  {1.4.0}  |^M// +---------------+-------------------------------+-----------+^M// | Filename      | constants.php                             |^M// | Created By    | phpBB Group                               |^M// | Created On    | February 13, 2001                         |^M// | Copyright     | ? 2005 phpBB Group                        |^M// | License       | GNU-GPL v2 [http://gpl.integramod.org]    |^M// +---------------+-------------------------------------------+^M// |      DO NOT MODIFY/REMOVE ANTHING ABOVE THIS LINE!!!      |^M// +-----------------------------------------------------------+^M^M// *************************************************************^M// ****************** Begin Protecting Script ******************^M// *************************************************************^M/*^Mif (!defined('IM_LOADER') or !IM_LOADER or !defined('IM_GLOBALS') or !IM_GLOBALS)^M{^M         die('&lt;p&gt;&lt;strong&gt;Access Denied:&lt;/strong&gt; This file ('.basename(__FILE__).') cannot be accessed directly.&lt;/p&gt;');^M}^M*/^M^M// *************************************************************^M// ******************* Set Global Constants ********************^M// *************************************************************^M// ### Debug Level -- To turn off, set to 0. ###^Mdefine('DEBUG', 1);^M^M// ### Account Activation Settings ###^Mdefine('USER_ACTIVATION_NONE', 0);^Mdefine('USER_ACTIVATION_SELF', 1);^Mdefine('USER_ACTIVATION_ADMIN', 2);^M^M// ### Album Constants ###^Mdefine('ALBUM_ANONYMOUS', -1);^Mdefine('ALBUM_GUEST', -1);^Mdefine('ALBUM_USER', 0);^Mdefine('ALBUM_ADMIN', 1);^Mdefine('ALBUM_MOD', 2);^Mdefine('ALBUM_PRIVATE', 3);^M// --------------------^Mdefine('ALBUM_UPLOAD_PATH', 'album_mod/upload/');^Mdefine('ALBUM_CACHE_PATH', 'album_mod/upload/cache/');^Mdefine('ALBUM_MED_CACHE_PATH', 'album_mod/upload/med_cache/');^M// --------------------^Mdefine('ALBUM_NAV_ARROW', '&nbsp;&raquo;&nbsp;');^Mdefine('ALBUM_ROOT_CATEGORY', -1);^M// --------------------^Mdefine('PERSONAL_GALLERY', 0);^M^M^M// ### Auth Settings ###^Mdefine('AUTH_LIST_ALL', 0);^Mdefine('AUTH_ALL', 0);^M// --------------------^Mdefine('AUTH_REG', 1);^Mdefine('AUTH_ACL', 2);^Mdefine('AUTH_MOD', 3);^Mdefine('AUTH_ADMIN', 5);^M// --------------------^Mdefine('AUTH_VIEW', 1);^Mdefine('AUTH_READ', 2);^Mdefine('AUTH_POST', 3);^Mdefine('AUTH_REPLY', 4);^Mdefine('AUTH_EDIT', 5);^Mdefine('AUTH_DELETE', 6);^Mdefine('AUTH_ANNOUNCE', 7);^Mdefine('AUTH_STICKY', <s8><img><s8>;^Mdefine('AUTH_POLLCREATE', 9);^Mdefine('AUTH_VOTE', 10);^Mdefine('AUTH_ATTACH', 11);^Mdefine('AUTH_DELAYEDPOST', 12);^Mdefine('AUTH_CAL', 20);^Mdefine('AUTH_GLOBAL_ANNOUNCE', 21);^Mdefine('AUTH_PAID_VIEW', 25);^M^M// ### Data Tables ###^Mdefine('ACCT_HIST_TABLE', $table_prefix.'account_hist');^Mdefine('ACRONYMS_TABLE', $table_prefix.'acronyms');^Mdefine('ADMIN_PM_TABLE', $table_prefix.'admin_pm');^Mdefine('ALBUM_CAT_TABLE', $table_prefix.'album_cat');^Mdefine('ALBUM_COMMENT_TABLE', $table_prefix.'album_comment');^Mdefine('ALBUM_CONFIG_TABLE', $table_prefix.'album_config');^Mdefine('ALBUM_RATE_TABLE', $table_prefix.'album_rate');^Mdefine('ALBUM_SP_CONFIG_TABLE', $table_prefix.'album_sp_config');^Mdefine('ALBUM_TABLE', $table_prefix.'album');^Mdefine('APPROVE_FORUMS_TABLE', $table_prefix.'approve_forums');^Mdefine('APPROVE_POSTS_TABLE', $table_prefix.'approve_posts');^Mdefine('APPROVE_TOPICS_TABLE', $table_prefix.'approve_topics');^Mdefine('APPROVE_USERS_TABLE', $table_prefix.'approve_users');^Mdefine('AUTH_ACCESS_TABLE', $table_prefix.'auth_access');^Mdefine('BANNER_STATS_TABLE', $table_prefix.'banner_stats');^Mdefine('BANNERS_TABLE', $table_prefix.'banner');^Mdefine('BANLIST_TABLE', $table_prefix.'banlist');^Mdefine('BLOCK_POSITION_TABLE', $table_prefix.'block_position');^Mdefine('BLOCK_VARIABLE_TABLE', $table_prefix.'block_variable');^Mdefine('BLOCKS_TABLE', $table_prefix.'blocks');^Mdefine('BOOKMARK_TABLE', $table_prefix.'bookmarks');^Mdefine('BUDDY_TABLE', $table_prefix.'contact_list');^Mdefine('BUDDYS_TABLE', $table_prefix.'buddy');^Mdefine('CATEGORIES_TABLE', $table_prefix.'categories');^Mdefine('CONFIG_TABLE', $table_prefix.'config');^Mdefine('CONTACT_TABLE', $table_prefix.'contact_list');^Mdefine('DIGEST_FORUMS_TABLE', $table_prefix.'digest_forums');^Mdefine('DIGEST_TABLE', $table_prefix.'digest');^Mdefine('DISALLOW_TABLE', $table_prefix.'disallow');^M//define('DISALLOW_TABLE', $table_prefix.'contact_list'); // Which to use? constants_contact.php^Mdefine('FORUM_TOUR_TABLE', $table_prefix.'forum_tour');^Mdefine('FORUMS_TABLE', $table_prefix.'forums');^Mdefine('GROUPS_TABLE', $table_prefix.'groups');^Mdefine('HACKS_LIST_TABLE', $table_prefix.'hacks_list');^Mdefine('IGNORE_TABLE', $table_prefix.'contact_list');^Mdefine('IM_CONFIG_TABLE', $table_prefix.'im_config');^Mdefine('IM_PREFS_TABLE', $table_prefix.'im_prefs');^Mdefine('IM_SITES_TABLE', $table_prefix.'im_sites');^Mdefine('IM_SESSIONS_TABLE', $table_prefix.'im_sessions');^Mdefine('JR_ADMIN_TABLE', $table_prefix.'jr_admin_users');^Mdefine('LAYOUT_TABLE', $table_prefix.'layout');^Mdefine('LINK_CATEGORIES_TABLE', $table_prefix.'link_categories');^Mdefine('LINK_CONFIG_TABLE', $table_prefix.'link_config');^Mdefine('LINKS_TABLE', $table_prefix.'links');^Mdefine('NEWS_TABLE', $table_prefix.'news');^Mdefine('OPTIMIZE_DB_TABLE', $table_prefix.'optimize_db');^Mdefine('PORTAL_CONFIG_TABLE', $table_prefix.'portal_config');^Mdefine('POSTS_TABLE', $table_prefix.'posts');^Mdefine('POSTS_TEXT_TABLE', $table_prefix.'posts_text');^Mdefine('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore');^Mdefine('PRIVMSGS_TABLE', $table_prefix.'privmsgs');^Mdefine('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text');^Mdefine('PRUNE_TABLE', $table_prefix.'forum_prune');^Mdefine('RANKS_TABLE', $table_prefix.'ranks');^Mdefine('REFERERS_TABLE', $table_prefix.'referers');^Mdefine('RULES_TABLE', $table_prefix.'rules');^Mdefine('SEARCH_MATCH_TABLE', $table_prefix.'search_wordmatch');^Mdefine('SEARCH_TABLE', $table_prefix.'search_results');^Mdefine('SEARCH_WORD_TABLE', $table_prefix.'search_wordlist');^Mdefine('SESSIONS_TABLE', $table_prefix.'sessions');^Mdefine('SHOUTBOX_TABLE', $table_prefix.'shout');^Mdefine('SMILIES_TABLE', $table_prefix.'smilies');^Mdefine('SUBSCRIPTIONS_TABLE', $table_prefix.'mod_subscriptions');^Mdefine('SUBSCRIBED_FORUMS_TABLE', $table_prefix.'mod_subscribed_forums');^Mdefine('THEMES_NAME_TABLE', $table_prefix.'themes_name');^Mdefine('THEMES_TABLE', $table_prefix.'themes');^Mdefine('TOPICS_TABLE', $table_prefix.'topics');^Mdefine('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch');^Mdefine('USER_GROUP_TABLE', $table_prefix.'user_group');^Mdefine('USERS_TABLE', $table_prefix.'users');^Mdefine('VOTE_DESC_TABLE', $table_prefix.'vote_desc');^Mdefine('VOTE_RESULTS_TABLE', $table_prefix.'vote_results');^Mdefine('VOTE_USERS_TABLE', $table_prefix.'vote_voters');^Mdefine('WORDS_TABLE', $table_prefix.'words');^Mdefine('WPM', $table_prefix.'wpm');^M^M// ### Database Connection ###^Mdefine('BEGIN_TRANSACTION', 1);^Mdefine('END_TRANSACTION', 2);^M^M// ### Error Codes ###^Mdefine('GENERAL_MESSAGE', 200);^Mdefine('GENERAL_ERROR', 202);^Mdefine('CRITICAL_MESSAGE', 203);^Mdefine('CRITICAL_ERROR', 204);^M^M// ### Group Settings ###^Mdefine('GROUP_OPEN', 0);^Mdefine('GROUP_CLOSED', 1);^Mdefine('GROUP_HIDDEN', 2);^Mdefine('GROUP_AUTO', 3);^Mdefine('GROUP_PAYMENT', 4);^M^M// ### Page Numbers for Session Handling ###^Mdefine('PAGE_INDEX', 0);^Mdefine('PAGE_LOGIN', -1);^Mdefine('PAGE_SEARCH', -2);^Mdefine('PAGE_REGISTER', -3);^Mdefine('PAGE_PROFILE', -4);^Mdefine('PAGE_VIEWONLINE', -6);^Mdefine('PAGE_VIEWMEMBERS', -7);^Mdefine('PAGE_FAQ', -8);^Mdefine('PAGE_POSTING', -9);^Mdefine('PAGE_PRIVMSGS', -10);^Mdefine('PAGE_GROUPCP', -11);^Mdefine('PAGE_FORUM_TOUR', -12);^Mdefine('PAGE_PORTAL', -13);^Mdefine('PAGE_CARD', -14);^Mdefine('PAGE_RULES', -15);^Mdefine('PAGE_COOKIES', -16);^Mdefine('PAGE_STAFF', -17);^Mdefine('PAGE_LINKS', -18);^Mdefine('PAGE_DOWNLOAD', -19);^Mdefine('PAGE_ALBUM', -50);^Mdefine('PAGE_ALBUM_PERSONAL', -51);^Mdefine('PAGE_ALBUM_PICTURE', -52);^Mdefine('PAGE_ALBUM_SEARCH', -53);^Mdefine('PAGE_REDIRECT', -1031);^Mdefine('PAGE_SHOUTBOX_MAX', -1035);^Mdefine('PAGE_SHOUTBOX', -1035);^Mdefine('PAGE_CONTACT', -8050);^Mdefine('PAGE_PRILLIAN', -8051);^Mdefine('PAGE_TOPIC_OFFSET', 5000);^M^M// ### Points Status ###^Mdefine('POINTS_DISABLED', 1);^Mdefine('POINTS_ENABLED', 0);^M^M// ### Post Types ###^Mdefine('POST_NORMAL', 0);^Mdefine('POST_STICKY', 1);^Mdefine('POST_ANNOUNCE', 2);^Mdefine('POST_GLOBAL_ANNOUNCE', 3);^Mdefine('POST_BIRTHDAY', 9);^Mdefine('POST_CALENDAR', 10);^M^M// ### Prillian Constants ###^M// prillian installed?^Mif (defined('PRILLIAN_INSTALLED')){^Mdefine('ALLOW_BUDDY_SELF', false);^Mdefine('CONTACT_PATH', $phpbb_root_path.'mods/contact/');^Mdefine('CONTACT_URL', $phpbb_root_path.'contact.'.$phpEx);^Mdefine('IM_NEW_MAIL', 6);^Mdefine('IM_READ_MAIL', 7);^Mdefine('IM_UNREAD_MAIL', <s8><img><s8>;^Mdefine('OFF_SITE', -2);^Mdefine('OFF_SITE_USERS_URL', 'u');^Mdefine('OFF_SITE_POST_URL', 'p');^Mdefine('PRILL_PATH', $phpbb_root_path.'mods/prillian/');^Mdefine('PRILL_URL', $phpbb_root_path.'imclient.'.$phpEx);^Mdefine('MAIN_MODE', 1);^Mdefine('WIDE_MODE', 2);^Mdefine('MINI_MODE', 3);^Mdefine('FRAMES_MODE', 4);^Mdefine('NO_FRAMES_MODE', 5);^M}^M^M// ### Private Message System ###^Mdefine('PRIVMSGS_READ_MAIL', 0);^Mdefine('PRIVMSGS_NEW_MAIL', 1);^Mdefine('PRIVMSGS_SENT_MAIL', 2);^Mdefine('PRIVMSGS_SAVED_IN_MAIL', 3);^Mdefine('PRIVMSGS_SAVED_OUT_MAIL', 4);^Mdefine('PRIVMSGS_UNREAD_MAIL', 5);^M^M// ### Session Parameters ###^Mdefine('SESSION_METHOD_COOKIE', 100);^Mdefine('SESSION_METHOD_GET', 101);^M^M// ### Software Status ###^Mdefine('FORUM_UNLOCKED', 0);^Mdefine('FORUM_LOCKED', 1);^M^M// ### Topic Status ###^Mdefine('TOPIC_UNLOCKED', 0);^Mdefine('TOPIC_LOCKED', 1);^Mdefine('TOPIC_MOVED', 2);^Mdefine('TOPIC_WATCH_NOTIFIED', 1);^Mdefine('TOPIC_WATCH_UN_NOTIFIED', 0);^M^M// ### URL Parameters ###^Mdefine('POST_TOPIC_URL', 't');^Mdefine('POST_CAT_URL', 'c');^Mdefine('POST_FORUM_URL', 'f');^Mdefine('POST_USERS_URL', 'u');^Mdefine('POST_POST_URL', 'p');^Mdefine('POST_GROUPS_URL', 'g');^M^M// ### User Avatar Settings ###^Mdefine('USER_AVATAR_NONE', 0);^Mdefine('USER_AVATAR_UPLOAD', 1);^Mdefine('USER_AVATAR_REMOTE', 2);^Mdefine('USER_AVATAR_GALLERY', 3);^M^M// ### User Levels ###^Mdefine('DELETED', -1);^Mdefine('ANONYMOUS', -1);^Mdefine('USER', 0);^Mdefine('ADMIN', 1);^Mdefine('MOD', 2);^Mdefine('JADMIN', 7);^Mdefine('ADMIN_FOUNDER', 99);^Mdefine('GUEST_ONLY', 1000);^M^M// ### Special Constants ###^Mdefine('NO', 0);^Mdefine('YES', 1);^Mdefine('FRIEND_ONLY',2);^Mdefine('UNKNOWN', 0);^Mdefine('MALE', 1);^Mdefine('FEMALE', 2);^Mdefine('VIP_RANK_TITLE', 'VIP');^Mdefine('OVERIDE_THEME', false);^Mdefine('DIGEST_THEME', 1);^Mdefine('DIGEST_LOGGING', true);^Mdefine('DIGEST_SUPPORT', &quot;http://www.phpbb.com/phpBB/viewtopic.php?t=187868&quot;);^Mdefine('DIGEST_HTML', 1);^Mdefine('DIGEST_TEXT', 0);^M^M?&gt;


Hi

you are missing a line form your constants.php

you need to find

Code: Select all
define('SESSIONS_TABLE', $table_prefix.'sessions');


and add after

Code: Select all
define('SESSIONS_KEYS_TABLE', $table_prefix.'sessions_keys');  


i hope that helps

<img>
Last edited by sirap on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

sirap
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sat Apr 15, 2006 8:25 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Fri Apr 28, 2006 2:51 am

No problem happy to help


:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: dan0042 » Fri Apr 28, 2006 3:37 am

just did this am runnin im1.40
just add this Fatal error: Call to undefined function: phpbbsecurity_guests() in /home/assaulto/public_html/St/common.php on line 396
Last edited by dan0042 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
:#: <img>
User avatar
dan0042
Integra Member
Integra Member
 
Posts: 170
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Fri Apr 21, 2006 4:06 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Mighty07 » Fri Apr 28, 2006 3:50 am

"Mighty07";p="3376" wrote:After all the updates and fixes, i only got 2 things missing.
One is that thing about the "View posts since last visit" and the other is the daily backups.
The most important for me is the daily backups. Does anyone found a fix for this?


Yes i've did. It started working after i put security update 1.0.3. And stopped right after i upgraded the core to 2.0.20.
All i got now is empty backup file, and an alert in the email.
Last edited by Mighty07 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Mighty07
Newbie
Newbie
 
Posts: 25
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 12:38 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Fri Apr 28, 2006 4:35 am

"Mighty07";p="3409" wrote:
"Mighty07";p="3376" wrote:After all the updates and fixes, i only got 2 things missing.
One is that thing about the "View posts since last visit" and the other is the daily backups.
The most important for me is the daily backups. Does anyone found a fix for this?


Yes i've did. It started working after i put security update 1.0.3. And stopped right after i upgraded the core to 2.0.20.
All i got now is empty backup file, and an alert in the email.


I would double check your files...I have this working fine on my live site...
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: gcomfx.com » Fri Apr 28, 2006 6:56 am

"Mighty07";p="3409" wrote:
"Mighty07";p="3376" wrote:After all the updates and fixes, i only got 2 things missing.
One is that thing about the &quot;View posts since last visit&quot; and the other is the daily backups.
The most important for me is the daily backups. Does anyone found a fix for this?


Yes i've did. It started working after i put security update 1.0.3. And stopped right after i upgraded the core to 2.0.20.
All i got now is empty backup file, and an alert in the email.


Mines not working either. Keep getting backup failed in my PMs. I just have a standard IM with the pre-modded file upgrade. <img>
Last edited by gcomfx.com on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Paul (gcomfx) - 100mphclub.com originator
[size=99px]
User avatar
gcomfx.com
Sr Integra Member
Sr Integra Member
 
Posts: 251
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Wed Apr 12, 2006 9:34 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: KoolBear » Sat Apr 29, 2006 9:56 pm

In relation to the admin_ranks.php problem I DID implement the correction added a ")"

But now this is the error message I get ...
Parse error: syntax error, unexpected T_ELSEIF in /home/dofbbc/public_html/site/admin/admin_ranks.php on line 298

Code: Select all
 <?php/***************************************************************************  *                              admin_ranks.php  *                            -------------------  *   begin                : Thursday, Jul 12, 2001  *   copyright            : (C) 2001 The phpBB Group  *   email                : <a>support@phpbb.com</a>  *  *  ***************************************************************************/  /***************************************************************************  *  *   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.  *  ***************************************************************************/  if( !empty($setmodules) ){     $file = basename(__FILE__);     $module['Users']['Ranks'] = $file;     return;}  define('IN_PHPBB', 1);  //// Let's set the root dir for phpBB//$phpbb_root_path = "./../";require($phpbb_root_path . 'extension.inc');require('./pagestart.' . $phpEx);  if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ){     $mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];     $mode = htmlspecialchars($mode);}else {     //     // These could be entered via a form button     //     if( isset($HTTP_POST_VARS['add']) )     {         $mode = "add";     }     else if( isset($HTTP_POST_VARS['save']) )     {         $mode = "save";     }     else     {         $mode = "";     }}  // Restrict mode input to valid options$mode = ( in_array($mode, array('add', 'edit', 'save', 'delete')) ) ? $mode : '';  if( $mode != "" ){     if( $mode == "edit" || $mode == "add" )     {         //         // They want to add a new rank, show the form.         //         $rank_id = ( isset($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) : 0;                 $s_hidden_fields = "";                 if( $mode == "edit" )         {             if( empty($rank_id) )             {                 message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);             }               $sql = "SELECT * FROM " . RANKS_TABLE . "                 WHERE rank_id = $rank_id";             if(!$result = $db->sql_query($sql))             {                 message_die(GENERAL_ERROR, "Couldn't obtain rank data", "", __LINE__, __FILE__, $sql);             }                         $rank_info = $db->sql_fetchrow($result);             $s_hidden_fields .= '<input>';           }         else         {             $rank_info['rank_special'] = 0;         }           $s_hidden_fields .= '<input>';           $rank_is_special = ( $rank_info['rank_special'] ) ? "checked="checked"" : "";         $rank_is_not_special = ( !$rank_info['rank_special'] ) ? "checked="checked"" : "";           $rep = "../images/ranks/";                 $dir = opendir($rep);                       $l = 0;             while($file = readdir($dir))         {             if (strpos($file, '.gif'))             {                 $file1[$l] = $file;                 $l++;             }         }         closedir($dir);                 $ranks_list = "<option>" . str_replace($rep, "", $rank_info['rank_image']) . "</option>";                         for($k=0; $k</option>set_filenames(array(             "body" => "admin/ranks_edit_body.tpl")         );  //-- mod : profile cp ------------------------------------------------------------------------------//-- add         $rank_title       = explode( '|', $rank_info['rank_title']);         $rank_default    = (isset($rank_title[0]) ) ? $rank_title[0] : '';         $rank_male       = (isset($rank_title[1]) ) ? $rank_title[1] : '';         $rank_female     = (isset($rank_title[2]) ) ? $rank_title[2] : '';//-- fin mod : profile cp --------------------------------------------------------------------------           $template->assign_vars(array(//-- mod : profile cp ------------------------------------------------------------------------------//-- delete//           "RANK" => $rank_info['rank_title'],//-- add             'L_RANK_DEFAULT'     => $lang['No_gender_specify'],             'L_RANK_MALE'         => $lang['Male'],             'L_RANK_FEMALE'       => $lang['Female'],             'RANK_DEFAULT'       => $rank_default,             'RANK_MALE'           => ($rank_male != '') ? $rank_male : $rank_default,             'RANK_FEMALE'         => ($rank_female != '') ? $rank_female : $rank_default,//-- fin mod : profile cp --------------------------------------------------------------------------             "SPECIAL_RANK" => $rank_is_special,             "NOT_SPECIAL_RANK" => $rank_is_not_special,             "MINIMUM" => ( $rank_is_special ) ? "" : $rank_info['rank_min'],             "IMAGE" => ( $rank_info['rank_image'] != "" ) ? $rank_info['rank_image'] : "",             "IMAGE_DISPLAY" => ( $rank_info['rank_image'] != "" ) ? '<img>' : "",             "RANK_LIST" => $ranks_list,             "RANK_IMG" => ( $rank_info['rank_image'] != "") ? '../' . $rank_info['rank_image'] : '../images/spacer.gif',                         "L_RANKS_TITLE" => $lang['Ranks_title'],             "L_RANKS_TEXT" => $lang['Ranks_explain'],             "L_RANK_TITLE" => $lang['Rank_title'],             "L_RANK_SPECIAL" => $lang['Rank_special'],             "L_RANK_MINIMUM" => $lang['Rank_minimum'],             "L_RANK_IMAGE" => $lang['Rank_image'],             "L_RANK_IMAGE_EXPLAIN" => $lang['Rank_image_explain'],             "L_SUBMIT" => $lang['Submit'],             "L_RESET" => $lang['Reset'],             "L_YES" => $lang['Yes'],             "L_NO" => $lang['No'],                         "S_RANK_ACTION" => append_sid("admin_ranks.$phpEx"),             "S_HIDDEN_FIELDS" => $s_hidden_fields)         );             }     else if( $mode == "save" )     {         //         // Ok, they sent us our info, let's update it.         //                 $rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : 0;//-- mod : profile cp ------------------------------------------------------------------------------//-- delete//       $rank_title = ( isset($HTTP_POST_VARS['title']) ) ? trim($HTTP_POST_VARS['title']) : "";//-- add         $rank_default    = ( isset($HTTP_POST_VARS['title_default']) ) ? trim($HTTP_POST_VARS['title_default']) : '';         $rank_male       = ( isset($HTTP_POST_VARS['title_male']) ) ? trim($HTTP_POST_VARS['title_male']) : '';         $rank_female     = ( isset($HTTP_POST_VARS['title_female']) ) ? trim($HTTP_POST_VARS['title_female']) : '';           if ($rank_default == '') $rank_default = $rank_male;         if ($rank_default == '') $rank_default = $rank_female;         if ($rank_male == $rank_default) $rank_male = '';         if ($rank_female == $rank_default) $rank_female = '';         $rank_title = (($rank_default != '') || ($rank_male != '') || ($rank_female != '')) ? $rank_default . ( ( ($rank_male != '') || ($rank_female != '') ) ? '|' : '' ) . $rank_male . ( ($rank_female != '') ? '|' : '' ) . $rank_female : '';//-- fin mod : profile cp --------------------------------------------------------------------------         $special_rank = ( $HTTP_POST_VARS['special_rank'] == 1 ) ? TRUE : 0;         $min_posts = ( isset($HTTP_POST_VARS['min_posts']) ) ? intval($HTTP_POST_VARS['min_posts']) : -1;         $rank_image = ( (isset($HTTP_POST_VARS['rank_image'])) ) ? trim($HTTP_POST_VARS['rank_image']) : "";           if( $rank_title == "" )         {             message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);         }           if( $special_rank == 1 )         {             $max_posts = -1;             $min_posts = -1;         }           //         // The rank image has to be a jpg, gif or png         //         if($rank_image != "")         {             if ( !preg_match("/(.gif|.png|.jpg)$/is", $rank_image))             {                 $rank_image = "";             }         }           if ($rank_id)         {             if (!$special_rank)             {                 $sql = "UPDATE " . USERS_TABLE . "                     SET user_rank = 0                     WHERE user_rank = $rank_id";                   if( !$result = $db->sql_query($sql) )                 {                     message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);                 }             }             $sql = "UPDATE " . RANKS_TABLE . "                 SET rank_title = '" . str_replace("'", "''", $rank_title) . "', rank_special = $special_rank, rank_min = $min_posts, rank_image = '" . str_replace("'", "''", $rank_image) . "'                 WHERE rank_id = $rank_id";               $message = $lang['Rank_updated'];         }         else         {             $sql = "INSERT INTO " . RANKS_TABLE . " (rank_title, rank_special, rank_min, rank_image)                 VALUES ('" . str_replace("'", "''", $rank_title) . "', $special_rank, $min_posts, '" . str_replace("'", "''", $rank_image) . "')";               $message = $lang['Rank_added'];         }                 if( !$result = $db->sql_query($sql) )         {             message_die(GENERAL_ERROR, "Couldn't update/insert into ranks table", "", __LINE__, __FILE__, $sql);         }           $message .= "<br><br>" . sprintf($lang['Click_return_rankadmin'], "<a>", "</a>") . "<br><br>" . sprintf($lang['Click_return_admin_index'], "<a>", "</a>");           message_die(GENERAL_MESSAGE, $message);       }     else if( $mode == "delete" )     {         //         // Ok, they want to delete their rank         //                 if( isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id']) )         {         $rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : intval($HTTP_GET_VARS['id']);               $confirm = isset($HTTP_POST_VARS['confirm']);               if( $rank_id && $confirm )           {             $sql = "DELETE FROM " . RANKS_TABLE . "                 WHERE rank_id = $rank_id";                         if( !$result = $db->sql_query($sql) )             {                 message_die(GENERAL_ERROR, "Couldn't delete rank data", "", __LINE__, __FILE__, $sql);             }                         $sql = "UPDATE " . USERS_TABLE . "                 SET user_rank = 0                 WHERE user_rank = $rank_id";               if( !$result = $db->sql_query($sql) )             {                 message_die(GENERAL_ERROR, $lang['No_update_ranks'], "", __LINE__, __FILE__, $sql);             }               $message = $lang['Rank_removed'] . "<br><br>" . sprintf($lang['Click_return_rankadmin'], "<a>", "</a>") . "<br><br>" . sprintf($lang['Click_return_admin_index'], "<a>", "</a>");               message_die(GENERAL_MESSAGE, $message);           }         else         {         elseif( $rank_id && !$confirm)         {             // Present the confirmation screen to the user             $template->set_filenames(array(                 'body' => 'admin/confirm_body.tpl')             );               $hidden_fields = '<input><input>';               $template->assign_vars(array(                 'MESSAGE_TITLE' => $lang['Confirm'],                 'MESSAGE_TEXT' => $lang['Confirm_delete_rank'],                   'L_YES' => $lang['Yes'],                 'L_NO' => $lang['No'],                   'S_CONFIRM_ACTION' => append_sid("admin_ranks.$phpEx"),                 'S_HIDDEN_FIELDS' => $hidden_fields)             );         }         else         {             message_die(GENERAL_MESSAGE, $lang['Must_select_rank']);         }     }       $template->pparse("body");       include('./page_footer_admin.'.$phpEx);}  //// Show the default page//$template->set_filenames(array(     "body" => "admin/ranks_list_body.tpl"));  $sql = "SELECT * FROM " . RANKS_TABLE . "     ORDER BY rank_min ASC, rank_special ASC";if( !$result = $db->sql_query($sql) ){     message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);}$rank_count = $db->sql_numrows($result);  $rank_rows = $db->sql_fetchrowset($result);  $template->assign_vars(array(     "L_RANKS_TITLE" => $lang['Ranks_title'],     "L_RANKS_TEXT" => $lang['Ranks_explain'],     "L_RANK" => $lang['Rank_title'],     "L_RANK_MINIMUM" => $lang['Rank_minimum'],     "L_SPECIAL_RANK" => $lang['Rank_special'],     "L_EDIT" => $lang['Edit'],     "L_DELETE" => $lang['Delete'],     "L_ADD_RANK" => $lang['Add_new_rank'],     "L_ACTION" => $lang['Action'],         "S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx")));  for($i = 0; $i <rank_count>assign_block_vars("ranks", array(         "ROW_COLOR" => "#" . $row_color,         "ROW_CLASS" => $row_class,         "RANK" => $rank,         "SPECIAL_RANK" => $rank_is_special,         "RANK_MIN" => $rank_min,           "U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&id=$rank_id"),         "U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&id=$rank_id"))     );       }}else{     //     // Show the default page     //     $template->set_filenames(array(         "body" => "admin/ranks_list_body.tpl")     );         $sql = "SELECT * FROM " . RANKS_TABLE . "         ORDER BY rank_min ASC, rank_special ASC";     if( !$result = $db->sql_query($sql) )     {         message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);     }     $rank_count = $db->sql_numrows($result);       $rank_rows = $db->sql_fetchrowset($result);         $template->assign_vars(array(         "L_RANKS_TITLE" => $lang['Ranks_title'],         "L_RANKS_TEXT" => $lang['Ranks_explain'],         "L_RANK" => $lang['Rank_title'],         "L_RANK_MINIMUM" => $lang['Rank_minimum'],         "L_SPECIAL_RANK" => $lang['Rank_special'],         "L_EDIT" => $lang['Edit'],         "L_DELETE" => $lang['Delete'],         "L_ADD_RANK" => $lang['Add_new_rank'],         "L_ACTION" => $lang['Action'],                 "S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx"))     );         for($i = 0; $i <rank_count>assign_block_vars("ranks", array(             "ROW_COLOR" => "#" . $row_color,             "ROW_CLASS" => $row_class,             "RANK" => $rank,             "SPECIAL_RANK" => $rank_is_special,             "RANK_MIN" => $rank_min,               "U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&id=$rank_id"),             "U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&id=$rank_id"))         );     }}  $template->pparse("body");  include('./page_footer_admin.'.$phpEx);  ?>  


Any ideas?
Last edited by KoolBear on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

KoolBear
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sat Apr 08, 2006 6:43 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Sun Apr 30, 2006 5:12 am

hi

firstly you have 2 bits od code the same...so you need to remove the second piece which is this..

Code: Select all
}}else{    //    // Show the default page    //    $template->set_filenames(array(       "body" => "admin/ranks_list_body.tpl")    );        $sql = "SELECT * FROM " . RANKS_TABLE . "       ORDER BY rank_min ASC, rank_special ASC";    if( !$result = $db->sql_query($sql) )    {       message_die(GENERAL_ERROR, "Couldn't obtain ranks data", "", __LINE__, __FILE__, $sql);    }    $rank_count = $db->sql_numrows($result);      $rank_rows = $db->sql_fetchrowset($result);        $template->assign_vars(array(       "L_RANKS_TITLE" => $lang['Ranks_title'],       "L_RANKS_TEXT" => $lang['Ranks_explain'],       "L_RANK" => $lang['Rank_title'],       "L_RANK_MINIMUM" => $lang['Rank_minimum'],       "L_SPECIAL_RANK" => $lang['Rank_special'],       "L_EDIT" => $lang['Edit'],       "L_DELETE" => $lang['Delete'],       "L_ADD_RANK" => $lang['Add_new_rank'],       "L_ACTION" => $lang['Action'],             "S_RANKS_ACTION" => append_sid("admin_ranks.$phpEx"))    );        for($i = 0; $i <rank_count>assign_block_vars("ranks", array(          "ROW_COLOR" => "#" . $row_color,          "ROW_CLASS" => $row_class,          "RANK" => $rank,          "SPECIAL_RANK" => $rank_is_special,          "RANK_MIN" => $rank_min,            "U_RANK_EDIT" => append_sid("admin_ranks.$phpEx?mode=edit&id=$rank_id"),          "U_RANK_DELETE" => append_sid("admin_ranks.$phpEx?mode=delete&id=$rank_id"))       );    }


also you need to find

Code: Select all
$confirm = isset($HTTP_POST_VARS['confirm']);


and before add

Code: Select all
        }         else         {             $rank_id = 0;         }


Let me know...

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: KoolBear » Sun Apr 30, 2006 8:39 am

Wow, thanks Foud it! But I must have had something else wronp :D

I ended up downloading teh latest 1_40 and used teh admin_ranks.php file from it. Now all is fine <img>

Thanks again for expending the time and and effort to assist me!

KB
Last edited by KoolBear on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

KoolBear
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sat Apr 08, 2006 6:43 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Sun Apr 30, 2006 10:05 am

no problem happy to help..

Glad you have it fixed...

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: Master Dwarf » Sun Apr 30, 2006 6:22 pm

I have to admit, I am a bit nervous about all this upgrading stuff. I have royally messed up my forums before and suffered for it. I know the security updates are important, but I need to know a sure fire way to update, with the correct files, with the correct edits to take me from 2.0.17 to present. :)

Maybe something for the knowledge base?
Last edited by Master Dwarf on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sean Kelley
http://www.GrumblingDwarf.com
Wisconsin Region Game Site
User avatar
Master Dwarf
Integra Supporter
Integra Supporter
 
Posts: 102
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 9:26 am
Cash on hand: 0.00
Location: Madison, WI

Re: Release of upgrade for phpbb2.0.20

PostAuthor: CopsOffDuty » Tue May 02, 2006 5:56 am

Post-Upgrade Error:

Not sure if anyone has found this and I just read all 151 posts on this topic trying to see if anyone encountered this...

Logged in as admin when I click "Delete this topic" it takes me to the next window that says "General Error - An error occurred".

Anyone else experiencing this issue? If anyone has a resolution, please share! I can delete posts individually, just not topics all together.

Thank you in advance! Besides that one issue, I haven't found any other errors.
Last edited by CopsOffDuty on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sincerely,
http://www.CopsOffDuty.com
[img=left]http://www.copsoffduty.com/images/sigbanner.jpg[/img]

CopsOffDuty
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 27, 2006 2:17 am
Cash on hand: 0.00
Location: Los Angeles, CA

PostAuthor: BurninFingerTipz » Tue May 02, 2006 6:25 am

I have the same error when I go to 'Moderate this forum' > I select a thread > click 'Delete' > click 'Yes' > "General Error

An Error Occurred"

Would be nice to have a fix for this...
Last edited by BurninFingerTipz on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

BurninFingerTipz
Members
Members
 
Posts: 55
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 6:49 pm
Cash on hand: 0.00
Location: Ohio, USA

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Tue May 02, 2006 8:33 am

hi

I have just tested both of the above problems on booth of my test sites and live one and neither problem appears....everything works as it should...


Is there anything else you have added or changed to your sites...?

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: CopsOffDuty » Tue May 02, 2006 1:22 pm

I haven't changed anything. Kept the whole thing stock. <img>
Last edited by CopsOffDuty on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sincerely,
http://www.CopsOffDuty.com
[img=left]http://www.copsoffduty.com/images/sigbanner.jpg[/img]

CopsOffDuty
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 27, 2006 2:17 am
Cash on hand: 0.00
Location: Los Angeles, CA

PostAuthor: found it » Tue May 02, 2006 2:30 pm

"CopsOffDuty";p="4127" wrote:I haven't changed anything. Kept the whole thing stock. <img>


is the only thing it tells you is an error occured...?

is that all the time...?
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: CopsOffDuty » Tue May 02, 2006 3:02 pm

Yes. It remains constant. I changed themes even to see if it was something with that theme, and still nothing.
Last edited by CopsOffDuty on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sincerely,
http://www.CopsOffDuty.com
[img=left]http://www.copsoffduty.com/images/sigbanner.jpg[/img]

CopsOffDuty
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 27, 2006 2:17 am
Cash on hand: 0.00
Location: Los Angeles, CA

PostAuthor: CopsOffDuty » Thu May 04, 2006 5:26 am

No ideas? Anyone? I wouldn't even know where to begin to look.
Last edited by CopsOffDuty on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sincerely,
http://www.CopsOffDuty.com
[img=left]http://www.copsoffduty.com/images/sigbanner.jpg[/img]

CopsOffDuty
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 27, 2006 2:17 am
Cash on hand: 0.00
Location: Los Angeles, CA

PostAuthor: CopsOffDuty » Thu May 04, 2006 5:31 am

Also, I found after this upgrade that when I tried to add a user manually via the ACP it seems to fill in my (admin) information by default. Once the user is created (even with different info) it gives them the same group membership as I. Slighty odd.
Last edited by CopsOffDuty on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sincerely,
http://www.CopsOffDuty.com
[img=left]http://www.copsoffduty.com/images/sigbanner.jpg[/img]

CopsOffDuty
Newbie
Newbie
 
Posts: 10
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 27, 2006 2:17 am
Cash on hand: 0.00
Location: Los Angeles, CA

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Master Dwarf » Thu May 04, 2006 8:15 am

Cops-

I have users lock themselves out. I go through ACP to modify the user account. It then places my user name inplace of theirs in the username field. Just re-enter their username back in that field if it happens and you should be fine. Then save changes and all should be good.

I can't help you with the other problems, sorry.
Last edited by Master Dwarf on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sean Kelley
http://www.GrumblingDwarf.com
Wisconsin Region Game Site
User avatar
Master Dwarf
Integra Supporter
Integra Supporter
 
Posts: 102
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 9:26 am
Cash on hand: 0.00
Location: Madison, WI

PostAuthor: Eon » Tue May 09, 2006 5:59 am

I have not had any problems with my upgrade either. Everything seems to work perfectly.

Can you copy the error and post it all exactly as it shows up?
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

PostAuthor: DaveSmooth » Tue May 09, 2006 12:57 pm

OK...I'm getting brave and ready to do this. When you say back up files...which ones? I am so leery of this.
Last edited by DaveSmooth on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

DaveSmooth
Members
Members
 
Posts: 38
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 2:36 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Tue May 09, 2006 1:22 pm

Back up any files you are going to make changes to...you cant go wrong then...

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: DaveSmooth » Tue May 09, 2006 1:40 pm

LOL...thanks. I'm sure I can do it, but I'm still way confused about the security update too. Are the premodded files the ones I should use? My board is not modded anymore than came with IM. Do I need to apply the fixes mentioned on the portal page to the security update or has it been fixed in the files for d/l? I'm sure if I can get past the security update, I can handle the phpbb update, as I've done them in the past with no problems. Or is this more complicated than previous updates? So many questions, and so much fear...haha.
Last edited by DaveSmooth on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

DaveSmooth
Members
Members
 
Posts: 38
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 2:36 pm
Cash on hand: 0.00

PostAuthor: Master Dwarf » Tue May 09, 2006 2:27 pm

I am now fully upgraded and had no problems. Sometimes, I think, its good to wait.

DaveSmooth-my forums had no additional mods either and all went well. What updates does your site have implemented? Are you all the way to 2.0.19?
Last edited by Master Dwarf on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sean Kelley
http://www.GrumblingDwarf.com
Wisconsin Region Game Site
User avatar
Master Dwarf
Integra Supporter
Integra Supporter
 
Posts: 102
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 9:26 am
Cash on hand: 0.00
Location: Madison, WI

PostAuthor: DaveSmooth » Tue May 09, 2006 2:30 pm

Yes Dwarf, my site is currently at 2.0.19 and security 1.0.2
Last edited by DaveSmooth on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

DaveSmooth
Members
Members
 
Posts: 38
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 2:36 pm
Cash on hand: 0.00

PostAuthor: Master Dwarf » Tue May 09, 2006 2:40 pm

There is a security update from 1.0.2 to 1.0.3. Did you implement that? Not sure if that has to be done before hand. I went the following:

2.0.17-2.0.19
1.0.2-1.0.3
2.0.19-2.0.20

I renamed my original files, uploaded the premodded files to each directory, and then ran the /install/update_to_latest.php if needed.

I then deleted all my cookies to my site and brought it up. All should be good and if not you can ftp and use your original files.
Last edited by Master Dwarf on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sean Kelley
http://www.GrumblingDwarf.com
Wisconsin Region Game Site
User avatar
Master Dwarf
Integra Supporter
Integra Supporter
 
Posts: 102
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 9:26 am
Cash on hand: 0.00
Location: Madison, WI

PostAuthor: DaveSmooth » Tue May 09, 2006 2:44 pm

No...haven't done the security update yet, which I'm pretty sure has to be done first. At this point I'm scared to do the security update...LOL.
Last edited by DaveSmooth on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

DaveSmooth
Members
Members
 
Posts: 38
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 2:36 pm
Cash on hand: 0.00

PostAuthor: Master Dwarf » Tue May 09, 2006 3:04 pm

Yeah, I was timid too.

Just make sure you back up your dbase and forums, you should have enough to get back up in case anything happens. There is a great tutorial on backing up if your host has CPanel.

There is enough support here and people are really nice. Hell, HelterSkelter was bound and determined to find out why my pips wouldn't change colors for my different themes that he looked into everything. And that was just for pips! <img>
Last edited by Master Dwarf on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sean Kelley
http://www.GrumblingDwarf.com
Wisconsin Region Game Site
User avatar
Master Dwarf
Integra Supporter
Integra Supporter
 
Posts: 102
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 9:26 am
Cash on hand: 0.00
Location: Madison, WI

PostAuthor: DaveSmooth » Tue May 09, 2006 3:15 pm

Yea...Helter has already been very helpful on a couple of other things.
Last edited by DaveSmooth on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

DaveSmooth
Members
Members
 
Posts: 38
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 2:36 pm
Cash on hand: 0.00

PostAuthor: Master Dwarf » Tue May 09, 2006 7:40 pm

I might have missed something earlier in this thread. My quote tags work ok. My apostrophe (') displays ok in a post. So do my double quotes ("). However, I have a user that has a signature. It is similar to the following:

It's like I don't want to forget what it's all about.

So every time there is an apostrophe the forums somehow change them into quotes (") so it ends up looking like:

It"s like I don"t want to forget what it"s all about.

Any ideas? Link to a post addressing this? <img>

I have recently implemented three updates and I am current with nothing installed other than the straight IMv1.40

edit above: it's not changing them to double quotes, its actually adding another apostrophe.

Edit again: now it's putting in . So it looks something like this-
I don't think you're happy enough!
Last edited by Master Dwarf on Wed May 10, 2006 2:20 pm, edited 1 time in total.
Sean Kelley
http://www.GrumblingDwarf.com
Wisconsin Region Game Site
User avatar
Master Dwarf
Integra Supporter
Integra Supporter
 
Posts: 102
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 9:26 am
Cash on hand: 0.00
Location: Madison, WI

PostAuthor: Eon » Wed May 10, 2006 6:04 am

Not seen that one yet. Sorry..
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

PostAuthor: Kat » Wed May 10, 2006 10:22 am

I assume when modding your own files that when you get to:

Files To Edit:
## db/mssql.php

I don't have that, and it isn't listed to edit, so I assume I don't do anything with it, correct?
Last edited by Kat on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Kat
Members
Members
 
Posts: 49
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Fri May 05, 2006 9:44 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Mighty07 » Wed May 10, 2006 11:36 am

"found it";p="3412" wrote:
"Mighty07";p="3409" wrote:
"Mighty07";p="3376" wrote:After all the updates and fixes, i only got 2 things missing.
One is that thing about the "View posts since last visit" and the other is the daily backups.
The most important for me is the daily backups. Does anyone found a fix for this?


Yes i've did. It started working after i put security update 1.0.3. And stopped right after i upgraded the core to 2.0.20.
All i got now is empty backup file, and an alert in the email.


I would double check your files...I have this working fine on my live site...


This issue continues. I've double check all the 1.0.3 security changes and re-uploaded the files too. And the backups don't work.
Also i've notice that in the ACP inside the "security-special" it doesn't assume the first 3 options. Regarding the admin/mods max number and the enable. All other options on that page it saves and stores them. Has the last one is the auto backup time, and i've been working on that. But those three don't.
Last edited by Mighty07 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Mighty07
Newbie
Newbie
 
Posts: 25
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 12:38 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Mighty07 » Wed May 10, 2006 12:14 pm

Oh!

Some part i figured it out.
Those return ''; in includes/phpbb_security.php were not correct.
Question now his, if i put them to the correct values i'm immediatly blocked!
How can i go around this?
Last edited by Mighty07 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Mighty07
Newbie
Newbie
 
Posts: 25
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 12:38 am
Cash on hand: 0.00

PostAuthor: Eon » Wed May 10, 2006 1:43 pm

How was it incorrect? If it worked after you installed the security update. Are you sure everything is at the right permissions settings?

Did you update the phpbb file with what you typed in? You may want to check your database to make sure they are set to the right values, and if all else fails you can set the # of mods and admins there.
Last edited by Eon on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Eon
Sr Integra Member
Sr Integra Member
 
Posts: 627
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Mar 28, 2006 10:15 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Kat » Wed May 10, 2006 3:14 pm

on profile.php:

Code: Select all
#-----[ FIND ]---------------------------------------------# Line 58     $chars = array( 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J',  'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T',  'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');         $max_chars = count($chars) - 1;     srand( (double) microtime()*1000000);         $rand_str = '';     for($i = 0; $i < 8; $i++)     {         $rand_str = ( $i == 0 ) ? $chars[rand(0, $max_chars)] ];     }       return ( $hash ) ? md5($rand_str) : $rand_str;  ##-----[ REPLACE WITH ]---------------------------------------------#     $rand_str = dss_rand();       return ( $hash ) ? md5($rand_str) : substr($rand_str, 8);


This is not in my file. What should I do?
Last edited by Kat on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Kat
Members
Members
 
Posts: 49
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Fri May 05, 2006 9:44 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Threat009 » Wed May 10, 2006 3:45 pm

"Kat";p="5421" wrote:on profile.php:

Code: Select all
#-----[ FIND ]---------------------------------------------# Line 58     $chars = array( 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J',  'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T',  'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');         $max_chars = count($chars) - 1;     srand( (double) microtime()*1000000);         $rand_str = '';     for($i = 0; $i < 8; $i++)     {         $rand_str = ( $i == 0 ) ? $chars[rand(0, $max_chars)] ];     }       return ( $hash ) ? md5($rand_str) : $rand_str;  ##-----[ REPLACE WITH ]---------------------------------------------#     $rand_str = dss_rand();       return ( $hash ) ? md5($rand_str) : substr($rand_str, 8);


This is not in my file. What should I do?

That was one of the problems I had. I overwrote the file w/the pre-mod. Actually, I had a back-up folder of all mods I installed on my site. So I used my computer to search that folder to find out if any of the 2.0.20 files were in the folder. I lucked out, so all I had to do was overwrite everything w/the premods, since my mods had nothing to do w/them. imo, the pre-mods are faster and safer, if you can get away w/using them.....
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

PostAuthor: Kat » Wed May 10, 2006 7:23 pm

"Threat009" wrote:
"Kat";p="5421" wrote:on profile.php:

Code: Select all
#-----[ FIND ]---------------------------------------------# Line 58     $chars = array( 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J',  'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T',  'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');         $max_chars = count($chars) - 1;     srand( (double) microtime()*1000000);         $rand_str = '';     for($i = 0; $i < 8; $i++)     {         $rand_str = ( $i == 0 ) ? $chars[rand(0, $max_chars)] ];     }       return ( $hash ) ? md5($rand_str) : $rand_str;  ##-----[ REPLACE WITH ]---------------------------------------------#     $rand_str = dss_rand();       return ( $hash ) ? md5($rand_str) : substr($rand_str, 8);


This is not in my file. What should I do?

That was one of the problems I had. I overwrote the file w/the pre-mod. Actually, I had a back-up folder of all mods I installed on my site. So I used my computer to search that folder to find out if any of the 2.0.20 files were in the folder. I lucked out, so all I had to do was overwrite everything w/the premods, since my mods had nothing to do w/them. imo, the pre-mods are faster and safer, if you can get away w/using them.....
I wish I could. Honestly I don't have any extra mods on my forum but I changed the layout and whenever I have used the premodded files it always messes up the layout and I have to try to recall how I changed everything and change it back
Last edited by Kat on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Kat
Members
Members
 
Posts: 49
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Fri May 05, 2006 9:44 am
Cash on hand: 0.00

PostAuthor: Threat009 » Wed May 10, 2006 9:13 pm

"Kat";p="5435" wrote:I wish I could. Honestly I don't have any extra mods on my forum but I changed the layout and whenever I have used the premodded files it always messes up the layout and I have to try to recall how I changed everything and change it back

Ouch! Not for nothing, b/c I can relate w/wanting to customize my layout, but you are gonna have a real hard time w/future updates, that is if you manage to get past this one. <img> You may want to weigh your options and think about reverting back to the default layout. Just a suggestion, but I think it would save you alot of headache and hassle.
Last edited by Threat009 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http][img=left]http://i63.photobucket.com/albums/h129/Threat009/donate.gif[/img][/url]
User avatar
Threat009
Sr Integra Member
Sr Integra Member
 
Posts: 220
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Apr 10, 2006 12:48 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Thu May 11, 2006 2:31 am

@KAT

Fortunately the template files that are premodded are not that big a deal...

I assume that by change the layout you aare referring to the way things look....

I would do the code changes for the template files by hand as they are minimal and it says starting from scratch again

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Kat » Thu May 11, 2006 8:12 am

I think I stated myself wrong there.

As for the different layout...what I mean is, I removed things such as The Shoutbox, and mini Cal that were at the bottom of the forum page. When I use premodded files, I have to remove these again and I never remember what the code is, so I have to go back and search for them and remove them again. I guess that would probably be easier to edit then all the individual files for an upgrade.

I am doing the code changes instead of the premodded files. As stated above, I don't have that mssql.php file at all, is that a big deal? As in the code changes area there is nothing listed there to change, nor is there anything refering to this file in the premodded files.

as for posting.php, I don't even see it in the premodded files to upload instead of doing the code changes myself (because the code I need to find isn't in my file). So should I not worry about this file? What should I do about it?

Sorry that I need so much help, I'm just so worried about upgrading these days. Finally I got my forum back together (I've been MIA for 2 years without a computer) and during that time we were hacked twice while using normal phpbb and I went from having 1000 active members to 300 and only a few or so post now so I'm trying to get it back to what it once was...and my host doesn't help much sometimes with only allowing me 50 sql queries an hour.

Thanks for any help anyone can give me


EDIT: ah gosh, maybe I shouldn't be doing this so early in the morning, now I see posting.php in the premodded files, lol, I'm gonna try just using the premodded file for this one file

EDIT #2 - except the "replace with" code for that file isn't in that file either???
Last edited by Kat on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Kat
Members
Members
 
Posts: 49
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Fri May 05, 2006 9:44 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Thu May 11, 2006 8:23 am

the premodded files are the ones that need changing....the manual edits script is the original form phpbb so some of the files that show there are not needed for integramod there...sorry for the confusion..

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: Mighty07 » Thu May 11, 2006 8:26 am

"Eon";p="5409" wrote:How was it incorrect? If it worked after you installed the security update. Are you sure everything is at the right permissions settings?

Did you update the phpbb file with what you typed in? You may want to check your database to make sure they are set to the right values, and if all else fails you can set the # of mods and admins there.


Ok. I've corrected the return values. So, now the special functions inside security are all working.
The things that keeps failling is the auto-backup's.

It creates the new .sql file with only this inside:

-- MySQL dump 10.9
--
-- Host: localhost Database: forumname
-- ------------------------------------------------------
-- Server version 4.1.12

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
Last edited by Mighty07 on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Mighty07
Newbie
Newbie
 
Posts: 25
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu Apr 13, 2006 12:38 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Kat » Thu May 11, 2006 8:26 am

lol, so in other words, I may come across a few things here and there that aren't in my files, but I shouldn't worry about them?

I know you guys do this all for free and help us all out, but why? lol this stuff is so confusing. I suppose it would be better if I could understand php...HTML is straight forward to me, but this stuff....wow, you guys put a lot into this...thank you <img>
Last edited by Kat on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Kat
Members
Members
 
Posts: 49
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Fri May 05, 2006 9:44 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Kat » Thu May 11, 2006 8:54 am

I know you said the template files weren't a big deal to edit. But what if I want to edit it? In comparing the two files: in board_config_body.tpl (premodded vs. mine) I only have one little edit to make:

Here is mine:

Code: Select all
<td>{L_FLOOD_INTERVAL} <br><span>{L_FLOOD_INTERVAL_EXPLAIN}</span></td><td> <input></td></tr>     <tr>         <td>{L_MAX_LOGIN_ATTEMPTS}<br><span>{L_MAX_LOGIN_ATTEMPTS_EXPLAIN}</span></td>         <td><input></td>     </tr>


and here is the premodded]<td>{L_FLOOD_INTERVAL} <br><span>{L_FLOOD_INTERVAL_EXPLAIN}</span></td><td> <input></td>     </tr>     <tr>         <td>{L_SEARCH_FLOOD_INTERVAL} <br><span>{L_SEARCH_FLOOD_INTERVAL_EXPLAIN}</span></td>         <td><input></td>  </tr>     <tr>         <td>{L_MAX_LOGIN_ATTEMPTS}<br><span>{L_MAX_LOGIN_ATTEMPTS_EXPLAIN}</span></td>         <td><input></td>     </tr>[/code]

So I assume, I just put the code in above my MAX LOGIN ATTEMPTS and it would be edited.

But since you said they weren't really needed, will including this hurt the board? or is it better to have it then not have it at all
Last edited by Kat on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Kat
Members
Members
 
Posts: 49
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Fri May 05, 2006 9:44 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Thu May 11, 2006 9:10 am

yes definately add that code ...all the code changes need to be done for the templates....

What I meant was they were not that hard to do manually if you had changed some of the code around in your template files......

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PostAuthor: Snake Plissken » Sat May 20, 2006 5:46 am

I'm confused, have 2.0.19 with security patch 1.03 and a few mods like ..

eMule, PageLoading, LocalLinks

So do I use the premodded files or go through the code changes manually?
Last edited by Snake Plissken on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
User avatar
Snake Plissken
Newbie
Newbie
 
Posts: 2
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Tue Apr 04, 2006 9:17 am
Cash on hand: 0.00

PostAuthor: Master Dwarf » Sat May 20, 2006 7:08 am

Somebody correct me if I am wrong...

Snake: if you have mods installed, tweaked your portal, added stuff, outside the normal, standard, blase` portal, then you are better off changing the code manually.

If you have the standard IM portal with no mods, then the premodded files can be used without a hitch.

The big reason is that people here are not going to know what mods you have installed and what files had to be altered to get those mods to function properly. If you overwrite something with a premodded file, it may mess up what mods you have implemented and you would have to reinstall them all from scratch. Guess it is up to you, and what you may think is easier.
Last edited by Master Dwarf on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sean Kelley
http://www.GrumblingDwarf.com
Wisconsin Region Game Site
User avatar
Master Dwarf
Integra Supporter
Integra Supporter
 
Posts: 102
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 9:26 am
Cash on hand: 0.00
Location: Madison, WI

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Csicso » Thu May 25, 2006 3:50 am

Hello!
<img> I thought everything was all right, after upgrading, but today i got
Code: Select all
Warning: Empty regular expression in .../forum/includes/bbcode.php(1162) : regexp code on line 3

this errormessage for at least 30 times on the portal! (portal.php)

Can anybody help me to vanquish that?
Last edited by Csicso on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Csicso
Newbie
Newbie
 
Posts: 7
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu May 25, 2006 3:45 am
Cash on hand: 0.00

PostAuthor: Master Dwarf » Thu May 25, 2006 9:37 am

Csicso: Can you post the contents of your /forum/includes/bbcode.php as a quote so we can take a look and see what may be amuck?
Last edited by Master Dwarf on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sean Kelley
http://www.GrumblingDwarf.com
Wisconsin Region Game Site
User avatar
Master Dwarf
Integra Supporter
Integra Supporter
 
Posts: 102
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 9:26 am
Cash on hand: 0.00
Location: Madison, WI

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Csicso » Fri May 26, 2006 3:30 am

Ok, here you are, i think tis is the one that i downloaded form here..

(Edited for 5 times)

Sorry for doing this, but i dont know how to quote the whole..

[code]
<?php
// -------------------------------------------------------------
//
// $Id: ---- $
//
// FILENAME : index.php
// STARTED : Sat Feb 13, 2001
// COPYRIGHT : ÂÂÂ © 2001, 2005 phpBB Group
// WWW : http://www.phpbb.com/
// LICENCE : GPL vs2.0 [ see /docs/COPYING ]
//
// -------------------------------------------------------------

if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}

define("BBCODE_UID_LEN", 10);

// global that holds loaded-and-prepared bbcode templates, so we only have to do
// that stuff once.

$bbcode_tpl = null;

/**
* Loads bbcode templates from the bbcode.tpl file of the current template set.
* Creates an array, keys are bbcode names like "b_open" or "url", values
* are the associated template.
* Probably pukes all over the place if there's something really screwed
* with the bbcode.tpl file.
*
* Nathan Codding, Sept 26 2001.
*/
function load_bbcode_template()
{
global $template;
$tpl_filename = $template->make_filename('bbcode.tpl');
$tpl = fread(fopen($tpl_filename, 'r'), filesize($tpl_filename));

// replace with \ and then ' with '.
$tpl = str_replace('\', '\\', $tpl);
$tpl = str_replace(''', '\'', $tpl);

// strip newlines.
$tpl = str_replace("n", '', $tpl);

// Turn template blocks into PHP assignment statements for the values of $bbcode_tpls..
$tpl = preg_replace('#<BEGIN>(.*?)<END>#', "n" . '$bbcode_tpls['\1'] = '\2';', $tpl);

$bbcode_tpls = array();

eval($tpl);

return $bbcode_tpls;
}


/**
* Prepares the loaded bbcode templates for insertion into preg_replace()
* or str_replace() calls in the bbencode_second_pass functions. This
* means replacing template placeholders with the appropriate preg backrefs
* or with language vars. NOTE: If you change how the regexps work in
* bbencode_second_pass(), you MUST change this function.
*
* Nathan Codding, Sept 26 2001
*
*/
function prepare_bbcode_template($bbcode_tpl)
{
global $lang, $current_template_path;

$bbcode_tpl['olist_open'] = str_replace('{LIST_TYPE}', '\1', $bbcode_tpl['olist_open']);

$bbcode_tpl['color_open'] = str_replace('{COLOR}', '\1', $bbcode_tpl['color_open']);

$bbcode_tpl['size_open'] = str_replace('{SIZE}', '\1', $bbcode_tpl['size_open']);

$bbcode_tpl['quote_open'] = str_replace('{L_QUOTE}', $lang['Quote'], $bbcode_tpl['quote_open']);

$bbcode_tpl['quote_username_open'] = str_replace('{L_QUOTE}', $lang['Quote'], $bbcode_tpl['quote_username_open']);
$bbcode_tpl['quote_username_open'] = str_replace('{L_WROTE}', $lang['wrote'], $bbcode_tpl['quote_username_open']);
$bbcode_tpl['quote_username_open'] = str_replace('{USERNAME}', '\1', $bbcode_tpl['quote_username_open']);

$bbcode_tpl['quote_post_open'] = str_replace('{L_QUOTE}', $lang['Quote'], $bbcode_tpl['quote_post_open']);
$temp_url = append_sid('show_post.php?p=\1');
$bbcode_tpl['quote_post_open'] = str_replace('{U_VIEW_POST}', '<a>' . $lang['View_post'] . '</a>', $bbcode_tpl['quote_post_open']);

$bbcode_tpl['quote_username_post_open'] = str_replace('{L_QUOTE}', $lang['Quote'], $bbcode_tpl['quote_username_post_open']);
$bbcode_tpl['quote_username_post_open'] = str_replace('{L_WROTE}', $lang['wrote'], $bbcode_tpl['quote_username_post_open']);
$bbcode_tpl['quote_username_post_open'] = str_replace('{USERNAME}', '\1', $bbcode_tpl['quote_username_post_open']);
$temp_url = append_sid('show_post.php?p=\2');
$bbcode_tpl['quote_username_post_open'] = str_replace('{U_VIEW_POST}', '<a>' . $lang['View_post'] . '</a>', $bbcode_tpl['quote_username_post_open']);

$bbcode_tpl['code_open'] = str_replace('{L_CODE}', $lang['Code'], $bbcode_tpl['code_open']);
$bbcode_tpl['php_open'] = str_replace('{L_PHP}', $lang['PHPCode'], $bbcode_tpl['php_open']); // PHP MOD

$bbcode_tpl['img'] = str_replace('{URL}', '\1', $bbcode_tpl['img']);
$bbcode_tpl['imgrel'] = str_replace('{URL}', '\1', $bbcode_tpl['imgrel']);
$bbcode_tpl['theme'] = str_replace('{URL}', $current_template_path . '/\1', $bbcode_tpl['theme']);

//BBCode Search Mod
$bbcode_tpl['search'] = str_replace('{KEYWORD}', '\1', $bbcode_tpl['search']);

// LEFT-RIGHT-start
$bbcode_tpl['left'] = str_replace('{URL}', '\1', $bbcode_tpl['left']);
$bbcode_tpl['right'] = str_replace('{URL}', '\1', $bbcode_tpl['right']);
$bbcode_tpl['themeleft'] = str_replace('{URL}', $current_template_path . '/\1', $bbcode_tpl['themeleft']);
$bbcode_tpl['themeright'] = str_replace('{URL}', $current_template_path . '/\1', $bbcode_tpl['themeright']);
$bbcode_tpl['relleft'] = str_replace('{URL}', '\1', $bbcode_tpl['relleft']);
$bbcode_tpl['relright'] = str_replace('{URL}', '\1', $bbcode_tpl['relright']);
// LEFT-RIGHT-end

// We do URLs in several different ways..
$bbcode_tpl['url1'] = str_replace('{URL}', '\1', $bbcode_tpl['url']);
$bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\1', $bbcode_tpl['url1']);

$bbcode_tpl['url2'] = str_replace('{URL}', 'http://\1', $bbcode_tpl['url']);
$bbcode_tpl['url2'] = str_replace('{DESCRIPTION}', '\1', $bbcode_tpl['url2']);

$bbcode_tpl['url3'] = str_replace('{URL}', '\1', $bbcode_tpl['url']);
$bbcode_tpl['url3'] = str_replace('{DESCRIPTION}', '\2', $bbcode_tpl['url3']);

$bbcode_tpl['url4'] = str_replace('{URL}', 'http://\1', $bbcode_tpl['url']);
$bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\3', $bbcode_tpl['url4']);

$bbcode_tpl['email'] = str_replace('{EMAIL}', '\1', $bbcode_tpl['email']);

$bbcode_tpl['acronym_open'] = str_replace('{DESCRIPTION}', '\1', $bbcode_tpl['acronym_open']);

$bbcode_tpl['google'] = ''' . $bbcode_tpl['google'] . ''';
$bbcode_tpl['google'] = str_replace('{STRING}', "' . str_replace('"', '"', '\1') . '", $bbcode_tpl['google']);
$bbcode_tpl['google'] = str_replace('{QUERY}', "' . urlencode(str_replace('"', '"', '\1')) . '", $bbcode_tpl['google']);

global $userdata;
$bbcode_tpl['you'] = str_replace('{YOU}', '"' . $userdata['username'] . '"', $bbcode_tpl['you']);

// bbcode_box Mod
$bbcode_tpl['align_open'] = str_replace('{ALIGN}', '\1', $bbcode_tpl['align_open']);
$bbcode_tpl['stream'] = str_replace('{URL}', '\1', $bbcode_tpl['stream']);
$bbcode_tpl['ram'] = str_replace('{URL}', '\1', $bbcode_tpl['ram']);
$bbcode_tpl['marq_open'] = str_replace('{MARQ}', '\1', $bbcode_tpl['marq_open']);
$bbcode_tpl['table_open'] = str_replace('{TABLE}', '\1', $bbcode_tpl['table_open']);
$bbcode_tpl['cell_open'] = str_replace('{CELL}', '\1', $bbcode_tpl['cell_open']);
$bbcode_tpl['web'] = str_replace('{URL}', '\1', $bbcode_tpl['web']);
$bbcode_tpl['flash'] = str_replace('{WIDTH}', '\1', $bbcode_tpl['flash']);
$bbcode_tpl['flash'] = str_replace('{HEIGHT}', '\2', $bbcode_tpl['flash']);
$bbcode_tpl['flash'] = str_replace('{URL}', '\3', $bbcode_tpl['flash']);
$bbcode_tpl['video'] = str_replace('{URL}', '\3', $bbcode_tpl['video']);
$bbcode_tpl['video'] = str_replace('{WIDTH}', '\1', $bbcode_tpl['video']);
$bbcode_tpl['video'] = str_replace('{HEIGHT}', '\2', $bbcode_tpl['video']);
$bbcode_tpl['font_open'] = str_replace('{FONT}', '\1', $bbcode_tpl['font_open']);
$bbcode_tpl['poet_open'] = str_replace('{POET}', '\1', $bbcode_tpl['poet_open']);
// bbcode_box Mod

define("BBCODE_TPL_READY", true);

return $bbcode_tpl;
}


/**
* Does second-pass bbencoding. This should be used before displaying the message in
* a thread. Assumes the message is already first-pass encoded, and we are given the
* correct UID as used in first-pass encoding.
*/
function bbencode_second_pass($text, $uid)
{
global $lang, $bbcode_tpl;

$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\1:", $text);

// pad it with a space so we can distinguish between FALSE and matching the 1st char (index 0).
// This is important; bbencode_quote(), bbencode_list(), and bbencode_code() all depend on it.
$text = " " . $text;

// First: If there isn't a "[" and a "]" in the message, don't bother.
if (! (strpos($text, "[") && strpos($text, "]")) )
{
// Remove padding, return.
$text = substr($text, 1);
return $text;
}

// Only load the templates ONCE..
if (!defined("BBCODE_TPL_READY"))
{
// load templates from file into array.
$bbcode_tpl = load_bbcode_template();

// prepare array for use in regexps.
$bbcode_tpl = prepare_bbcode_template($bbcode_tpl);
}

// [code] and [/code] for posting code (HTML, PHP, C etc etc) in your posts.
$text = bbencode_second_pass_code($text, $uid, $bbcode_tpl);

// PHP MOD
// /*php and /php*/ for posting PHP code in your posts.
$text = bbencode_second_pass_php($text, $uid, $bbcode_tpl);

//
and
for posting replies with quote, or just for quoting stuff.
$text = str_replace("
", $bbcode_tpl['quote_open'], $text);
$text = str_replace("
", $bbcode_tpl['quote_close'], $text);

// opening a quote with an pre-defined post entry
$text = preg_replace("/
+)"]/si", $bbcode_tpl['quote_post_open'], $text);

// opening a username quote with an pre-defined post entry
$text = preg_replace("/
*)"?);p=(?:"?([0-9]+)"?)]/si", $bbcode_tpl['quote_username_post_open'], $text);

// New one liner to deal with opening quotes with usernames...
// replaces the two line version that I had here before..
$text = preg_replace("/
/si", $bbcode_tpl['quote_username_open'], $text);

// acronym
$text = preg_replace("/[acronym:$uid="(.*?)"]/si", $bbcode_tpl['acronym_open'], $text);
$text = str_replace("[/acronym:$uid]", $bbcode_tpl['acronym_close'], $text);

//
    and [list type=x] for (un)ordered lists.
    // unordered lists
    $text = str_replace("
      ", $bbcode_tpl['ulist_open'], $text);
      // li tags
      $text = str_replace("
    • ", $bbcode_tpl['listitem'], $text);
      // ending tags
      $text = str_replace("
    ", $bbcode_tpl['ulist_close'], $text);
    $text = str_replace("
", $bbcode_tpl['olist_close'], $text);
// Ordered lists
$text = preg_replace("/[list type=([a1])]/si", $bbcode_tpl['olist_open'], $text);

// colors
$text = preg_replace("/[color=(#[0-9A-F]{6}|[a-z]+)]/si", $bbcode_tpl['color_open'], $text);
$text = str_replace("[/color]", $bbcode_tpl['color_close'], $text);

// size
$text = preg_replace("/[size=99px]/si", $bbcode_tpl['size_open'], $text);
$text = str_replace("[/size]", $bbcode_tpl['size_close'], $text);

// and for bolding text.
$text = str_replace("", $bbcode_tpl['b_open'], $text);
$text = str_replace("
", $bbcode_tpl['b_close'], $text);

// [sup] and [/sup] pour les textes en exposant.
$text = str_replace("[sup:$uid]", $bbcode_tpl['sup_open'], $text);
$text = str_replace("[/sup:$uid]", $bbcode_tpl['sup_close'], $text);

// [sub] and [/sub] pour les textes en indice.
$text = str_replace("[sub:$uid]", $bbcode_tpl['sub_open'], $text);
$text = str_replace("[/sub:$uid]", $bbcode_tpl['sub_close'], $text);

// [strike] and [/strike] for barring text.
$text = str_replace("[strike:$uid]", $bbcode_tpl['strike_open'], $text);
$text = str_replace("[/strike:$uid]", $bbcode_tpl['strike_close'], $text);

// and for underlining text.
$text = str_replace("", $bbcode_tpl['u_open'], $text);
$text = str_replace("
", $bbcode_tpl['u_close'], $text);

// and for italicizing text.
$text = str_replace("", $bbcode_tpl['i_open'], $text);
$text = str_replace("
", $bbcode_tpl['i_close'], $text);

// Patterns and replacements for URL and email tags..
$patterns = array();
$replacements = array();

// [img]image_url_here[/img] code..
// This one gets first-passed..
//-- mod : profile cp ------------------------------------------------------------------------------
//-- add
global $userdata;

if (!$userdata['user_viewimg'])
{
$text = str_replace("[img]", "", $text);
$text = str_replace("[/img]", "", $text);
$text = str_replace("[img=left:$uid]", "", $text);
$text = str_replace("[img=right:$uid]", "", $text);
$text = str_replace("[imgrel:$uid]", "", $text);
$text = str_replace("[/imgrel:$uid]", "", $text);
$text = str_replace("[imgrel=left:$uid]", "", $text);
$text = str_replace("[imgrel=right:$uid]", "", $text);
$text = str_replace("[theme:$uid]", "", $text);
$text = str_replace("[theme=left:$uid]", "", $text);
$text = str_replace("[theme=right:$uid]", "", $text);
$text = str_replace("[/theme:$uid]", "", $text);
}
//-- fin mod : profile cp --------------------------------------------------------------------------

$patterns[] = "#[img]([^?](?:[^[]+|[(?!url))*?)[/img]#i";
$replacements[] = $bbcode_tpl['img'];

//BBCode Search Mod
$patterns[] = "#[search:$uid](.*?)[/search:$uid]#si";
$replacements[] = $bbcode_tpl['search'];

$patterns[] = "#[theme:$uid](.*?)[/theme:$uid]#si";
$replacements[] = $bbcode_tpl['theme'];

$patterns[] = "#[imgrel:$uid](.*?)[/imgrel:$uid]#si";
$replacements[] = $bbcode_tpl['img'];

// LEFT-RIGHT-start
// [img=left]image_url_here[/img] code..
$patterns[] = "#[img=left:$uid](.*?)[/img]#si";
$replacements[] = $bbcode_tpl['left'];

// [img=right]image_url_here[/img] code..
$patterns[] = "#[img=right:$uid](.*?)[/img]#si";
$replacements[] = $bbcode_tpl['right'];

// [imgrel=left]image_url_here[/imgrel] code..
$patterns[] = "#[imgrel=left:$uid](.*?)[/imgrel:$uid]#si";
$replacements[] = $bbcode_tpl['relleft'];

// [img=right]image_url_here[/img] code..
$patterns[] = "#[imgrel=right:$uid](.*?)[/imgrel:$uid]#si";
$replacements[] = $bbcode_tpl['relright'];

// [img=left]image_url_here[/img] code..
$patterns[] = "#[theme=left:$uid](.*?)[/theme:$uid]#si";
$replacements[] = $bbcode_tpl['themeleft'];

// [img=right]image_url_here[/img] code..
$patterns[] = "#[theme=right:$uid](.*?)[/theme:$uid]#si";
$replacements[] = $bbcode_tpl['themeright'];
// LEFT-RIGHT-end

// matches a xxxx://www.phpbb.com code..
$patterns[] = "#[url]([w]+?://([w#$%&~/.-;:=,?@]+]+|[(?!url=))*?)[/url]#is";

$replacements[] = $bbcode_tpl['url1'];

// http://www.phpbb.com code.. (no xxxx:// prefix).
$patterns[] = "#[url]((www|ftp).([w#$%&~/.-;:=,?@]+]+|[(?!url=))*?)[/url]#is";

$replacements[] = $bbcode_tpl['url2'];

// [url=xxxx]phpBB[/url] code..
$patterns[] = "#[url=([w]+?]+]*?)]([^?nrt].*?)[/url]#is";
$replacements[] = $bbcode_tpl['url3'];

// phpBB code.. (no xxxx] = "#[url=((www|ftp).[w#$%&~/.-;]+]*?)]([^?nrt].*?)[/url]#is";
$replacements[] = $bbcode_tpl['url4'];

// user@domain.tld code..
$patterns[] = "#[email]([a-z0-9&-_.]+?@[w-]+.([w-.]+.)?[w]+)[/email]#si";
$replacements[] = $bbcode_tpl['email'];

// [google]string for search[/google] code..
$patterns[] = "#[google](.*?)[/google]#ise";
$replacements[] = $bbcode_tpl['google'];

// [you] - inserts the name of the person viewing the post
$patterns[] = "#[you]#ise";
$replacements[] = $bbcode_tpl['you'];

// bbcode_box Mod
// [fade] and [/fade] for faded text.
$text = str_replace("[fade:$uid]", $bbcode_tpl['fade_open'], $text);
$text = str_replace("[/fade:$uid]", $bbcode_tpl['fade_close'], $text);
// real
$patterns[] = "#[ram:$uid](.*?)[/ram:$uid]#si";
$replacements[] = $bbcode_tpl['ram'];
// sound
$patterns[] = "#[stream:$uid](.*?)[/stream:$uid]#si";
$replacements[] = $bbcode_tpl['stream'];
//web
$patterns[] = "#[web:$uid](.*?)[/web:$uid]#si";
$replacements[] = $bbcode_tpl['web'];
// [flash width= height= loop= ] and [/flash] code..
$patterns[] = "#[flash width=([0-6]?[0-9]?[0-9]) height=([0-4]?[0-9]?[0-9]):$uid](.*?)[/flash:$uid]#si";
$replacements[] = $bbcode_tpl['flash'];
// [flash width= height= loop= ] and [/flash] code..
$patterns[] = "#[video width=([0-6]?[0-9]?[0-9]) height=([0-4]?[0-9]?[0-9]):$uid](.*?)[/video:$uid]#si";
$replacements[] = $bbcode_tpl['video'];
$text = preg_replace($patterns, $replacements, $text);
// align
$text = preg_replace("/[align=(left|right|center|justify):$uid]/si", $bbcode_tpl['align_open'], $text);
$text = str_replace("[/align:$uid]", $bbcode_tpl['align_close'], $text);
// marquee
$text = preg_replace("/[marq=(left|right|up|down):$uid]/si", $bbcode_tpl['marq_open'], $text);
$text = str_replace("[/marq:$uid]", $bbcode_tpl['marq_close'], $text);
// table
$text = preg_replace("/[table=(.*?):$uid]/si", $bbcode_tpl['table_open'], $text);
$text = str_replace("[/table:$uid]", $bbcode_tpl['table_close'], $text);
// cell
$text = preg_replace("/[cell=(.*?):$uid]/si", $bbcode_tpl['cell_open'], $text);
$text = str_replace("[/cell:$uid]", $bbcode_tpl['cell_close'], $text);
// center
$text = preg_replace("/[center:$uid]/si", $bbcode_tpl['center_open'], $text);
$text = str_replace("[/center:$uid]", $bbcode_tpl['center_close'], $text);
// font
$text = preg_replace("//si", $bbcode_tpl['font_open'], $text);
$text = str_replace("[/font:$uid]", $bbcode_tpl['font_close'], $text);
// poet
$text = preg_replace("/[poet(.*?):$uid]/si", $bbcode_tpl['poet_open'], $text);
$text = str_replace("[/poet:$uid]", $bbcode_tpl['poet_close'], $text);
//[hr]
$text = str_replace("[hr:$uid]", $bbcode_tpl['hr'], $text);
// bbcode_box Mod

$text = preg_replace($patterns, $replacements, $text);

// Remove our padding from the string..
$text = substr($text, 1);

return $text;

} // bbencode_second_pass()

// Need to initialize the random numbers only ONCE
mt_srand( (double) microtime() * 1000000);

function make_bbcode_uid()
{
// Unique ID for this message..

$uid = dss_rand();
$uid = substr($uid, 0, BBCODE_UID_LEN);

return $uid;
}

function bbencode_first_pass($text, $uid)
{
// pad it with a space so we can distinguish between FALSE and matching the 1st char (index 0).
// This is important; bbencode_quote(), bbencode_list(), and bbencode_code() all depend on it.
$text = " " . $text;

// [code] and [/code] for posting code (HTML, PHP, C etc etc) in your posts.
$text = bbencode_first_pass_pda($text, $uid, '[code]', '[/code]', '', true, '');

// PHP MOD
// /*php and /php*/ for posting PHP code in your posts.
$text = bbencode_first_pass_pda($text, $uid, '/*php ', ' /php*/', '', true, '');

//
and
for posting replies with quote, or just for quoting stuff.
$text = bbencode_first_pass_pda($text, $uid, '
', '
', '', false, '');
$text = bbencode_first_pass_pda($text, $uid, '/[quote=(".*?")]/is', '
', '', false, '', "
");
//
and
for posting replies with quote, or just for quoting stuff with an pre-defined post entry
$text = bbencode_first_pass_pda($text, $uid, '/[quote=p=\\&quot;([0-9]+)\\&quot;]/is', '
', '', false, '', "
");

$text = bbencode_first_pass_pda($text, $uid, '/[quote=\\&quot;(.*?)\\&quot;;p=\\&quot;([0-9]+)\\&quot;]/is', '
', '', false, '', "
");
$text = bbencode_first_pass_pda($text, $uid, '/[quote=\\&quot;(.*?)\\&quot;]/is', '
', '', false, '', "[quote]");

// [acronym] and [/acronym]
$text = bbencode_first_pass_pda($text, $uid, '/[acronym=(".*?")]/is', '[/acronym]', '', false, '', "[acronym:$uid=\1]");

//
    and [list type=x] for (un)ordered lists.
    $open_tag = array();
    $open_tag[0] = "
      ";

      // unordered..
      $text = bbencode_first_pass_pda($text, $uid, $open_tag, "
    ", "
", false, 'replace_listitems');

$open_tag[0] = "[list type=decimal]";
$open_tag[1] = "
    ";

    // ordered.
    $text = bbencode_first_pass_pda($text, $uid, $open_tag, "
", "[/list]", false, 'replace_listitems');

// [color] and [/color] for setting text color
$text = preg_replace("#[color=(#[0-9A-F]{6}|[a-z-]+)](.*?)[/color]#si", "[color=\1]\2[/color]", $text);

// [size] and [/size] for setting text size
$text = preg_replace("#[size=99px]\2[/size]", $text);

// and for bolding text.
$text = preg_replace("#(.*?)#si", "\1", $text);

// [sup] and [/sup] pour les textes en exposant.
$text = preg_replace("#[sup](.*?)[/sup]#si", "[sup:$uid]\1[/sup:$uid]", $text);

// [sub] and [/sub] pour les textes en indice.
$text = preg_replace("#[sub](.*?)[/sub]#si", "[sub:$uid]\1[/sub:$uid]", $text);

// [strike] and [/strike] for barring text.
$text = preg_replace("#[strike](.*?)[/strike]#si", "[strike:$uid]\1[/strike:$uid]", $text);

// and for underlining text.
$text = preg_replace("#(.*?)#si", "\1", $text);

// and for italicizing text.
$text = preg_replace("#(.*?)#si", "\1", $text);

// [img]image_url_here[/img] code..
$text = preg_replace("#[img]((http|ftp|https|ftps)://)([^%20?&=#"nrt<]*?(.(jpg|jpeg|gif|png)))[/img]#sie", "'[img]\1'%20.%20str_replace('%20',%20'%20',%20'\3')%20.%20'[/img]'", $text);

//BBCode Search Mod
$text = preg_replace("#[search](.*?)[/search]#si", "[search:$uid]\1[/search:$uid]", $text);

$text = preg_replace("#[theme]([^ ?&=#"nrt<]*?)[/theme]#sie", "'[theme:$uid]\1' . str_replace(' ', '%20', '\3') . '[/theme:$uid]'", $text);
$text = preg_replace("#[theme=left]([^ ?&=#"nrt<]*?)[/theme]#sie", "'[theme=left:$uid]\1' . str_replace(' ', '%20', '\3') . '[/theme:$uid]'", $text);
$text = preg_replace("#[theme=right]([^ ?&=#"nrt<]*?)[/theme]#sie", "'[theme=right:$uid]\1' . str_replace(' ', '%20', '\3') . '[/theme:$uid]'", $text);

$text = preg_replace("#[imgrel]([^ ?&=#"nrt<]*?)[/imgrel]#sie", "'[imgrel:$uid]\1' . str_replace(' ', '%20', '\3') . '[/imgrel:$uid]'", $text);
$text = preg_replace("#[imgrel=left]([^rnt<"]*?)[/imgrel]#sie", "'[imgrel=left:$uid]\1' . str_replace(' ', '%20', '\3') . '[/imgrel:$uid]'", $text);
$text = preg_replace("#[imgrel=right]([^rnt<"]*?)[/imgrel]#sie", "'[imgrel=right:$uid]\1' . str_replace(' ', '%20', '\3') . '[/imgrel:$uid]'", $text);

// LEFT-RIGHT-start
$text = preg_replace("#[img=left]((http|ftp|https|ftps)://)([^rnt<"]*?)[/img]#sie", "'[img=left:$uid]\1' . str_replace(' ', '%20', '\3') . '[/img]'", $text);
$text = preg_replace("#[img=right]((http|ftp|https|ftps)://)([^rnt</img> 0)
{
// There exists a starting tag.
$curr_nesting_depth = sizeof($stack);
// We need to do 2 replacements now.
$match = array_pop($stack);
$start_index = $match['pos'];
$start_tag = $match['tag'];
$start_length = strlen($start_tag);
$start_tag_index = $match['index'];

if ($open_is_regexp)
{
$start_tag = preg_replace($open_tag[$start_tag_index], $open_regexp_replace[$start_tag_index], $start_tag);
}

// everything before the opening tag.
$before_start_tag = substr($text, 0, $start_index);

// everything after the opening tag, but before the closing tag.
$between_tags = substr($text, $start_index + $start_length, $curr_pos - $start_index - $start_length);

// Run the given function on the text between the tags..
if ($use_function_pointer)
{
$between_tags = $func($between_tags, $uid);
}

// everything after the closing tag.
$after_end_tag = substr($text, $curr_pos + $close_tag_length);

// Mark the lowest nesting level if needed.
if ($mark_lowest_level && ($curr_nesting_depth == 1))
{
if ($open_tag[0] == '[code]')
{
$code_entities_match = array('#<code_entities_replace> 0)
{
$match = array_pop($stack);
$curr_pos = $match['pos'];
// bbcode_array_push($stack, $match);
// ++$curr_pos;
}
else
{
$curr_pos = 1;
}
}
else
{
// No matching start tag found. Increment pos, keep going.
++$curr_pos;
}
}
else
{
// No starting tag or ending tag.. Increment pos, keep looping.,
++$curr_pos;
}
}
}
} // while

return $text;

} // bbencode_first_pass_pda()

/**
* Does second-pass bbencoding of the [code] tags. This includes
* running htmlspecialchars() over the text contained between
* any pair of [code] tags that are at the first level of
* nesting. Tags at the first level of nesting are indicated
* by this format: [code] ... [/code]
* Other tags are in this format: [code] ... [/code]
*/
function bbencode_second_pass_code($text, $uid, $bbcode_tpl)
{
global $lang;

$code_start_html = $bbcode_tpl['code_open'];
$code_end_html = $bbcode_tpl['code_close'];

// First, do all the 1st-level matches. These need an htmlspecialchars() run,
// so they have to be handled differently.
$match_count = preg_match_all("#[code](.*?)[/code]#si", $text, $matches);

for ($i = 0; $i < $match_count; $i++)
{
$before_replace = $matches[1][$i];
$after_replace = $matches[1][$i];

// Replace 2 spaces with " " so non-tabbed code indents without making huge long lines.
$after_replace = str_replace(" ", " ", $after_replace);
// now Replace 2 spaces with " " to catch odd #s of spaces.
$after_replace = str_replace(" ", " ", $after_replace);

// Replace tabs with " " so tabbed code indents sorta right without making huge long lines.
$after_replace = str_replace("t", " ", $after_replace);

// now Replace space occurring at the beginning of a line
$after_replace = preg_replace("/^ {1}/m", " ", $after_replace);

$str_to_match = "[code]" . $before_replace . "[/code]";

$replacement = $code_start_html;
$replacement .= $after_replace;
$replacement .= $code_end_html;

$text = str_replace($str_to_match, $replacement, $text);
}

// Now, do all the non-first-level matches. These are simple.
$text = str_replace("[code]", $code_start_html, $text);
$text = str_replace("[/code]", $code_end_html, $text);

return $text;

} // bbencode_second_pass_code()

/**
* PHP MOD
* Original code/function by phpBB Group
* Modified by JW Frazier / Fubonis < xxxx://yyyy with an HTML <a> tag linking
* to that URL
* - Goes through the given string, and replaces http://www.xxxx.yyyy[zzzz] with an HTML <a> tag linking
* to http://www.xxxx.yyyy[/zzzz]
* - Goes through the given string, and replaces xxxx@yyyy with an HTML mailto: tag linking
* to that email address
* - Only matches these 2 patterns either after a space, or at the beginning of a line
*
* Notes: the email one might get annoying - it's easy to make it more restrictive, though.. maybe
* have it require something like <a>xxxx@yyyy.zzzz</a> or such. We'll see.
*/
function make_clickable($text)
{

$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\1:", $text);

// pad it with a space so we can match things at the start of the 1st line.
$ret = ' ' . $text;

// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
// xxxx can only be alpha characters.
// yyyy is anything up to the first space, newline, comma, double quote or <
$ret = preg_replace("#(^|[n ])([w]+?://[w#$%&~/.-;:=,?@[]+]*)#is", "\1<a>\2</a>", $ret);

// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.
$ret = preg_replace("#(^|[n ])((www|ftp).[w#$%&~/.-;:=,?@[]+]*)#is", "\1<a>\2</a>", $ret);

// matches an email@domain type address at the start of a line, or after a space.
// Note: Only the followed chars are valid; alphanums, "-", "_" and or ".".
$ret = preg_replace("#(^|[n ])([a-z0-9&-_.]+?)@([w-]+.([w-.]+.)*[w]+)#i", "\1<a>\2@\3</a>", $ret);

// Remove our padding..
$ret = substr($ret, 1);

return($ret);
}

/**
* Nathan Codding - Feb 6, 2001
* Reverses the effects of make_clickable(), for use in editpost.
* - Does not distinguish between "www.xxxx.yyyy" and "http://aaaa.bbbb" type URLs.
*
*/
function undo_make_clickable($text)
{
$text = preg_replace("#<BBCode><a>.*?</a><BBCode>#i", "\1", $text);
$text = preg_replace("#<BBcode><a>.*?</a><BBCode>#i", "\1", $text);

return $text;

}

/**
* Nathan Codding - August 24, 2000.
* Takes a string, and does the reverse of the PHP standard function
* htmlspecialchars().
*/
function undo_htmlspecialchars($input)
{
$input = preg_replace("/&gt;/i", ">", $input);
$input = preg_replace("/&lt;/i", "<", $input);
$input = preg_replace("/&quot;/i", """, $input);
$input = preg_replace("/&/i", "&", $input);

return $input;
}

/**
* This is used to change a [*] tag into a [*] tag as part
* of the first-pass bbencoding of [list] tags. It fits the
* standard required in order to be passed as a variable
* function into bbencode_first_pass_pda().
*/
function replace_listitems($text, $uid)
{
$text = str_replace("[*]", "[*]", $text);

return $text;
}

/**
* Escapes the "/" character with "/". This is useful when you need
* to stick a runtime string into a PREG regexp that is being delimited
* with slashes.
*/
function escape_slashes($input)
{
$output = str_replace('/', '/', $input);
return $output;
}

/**
* This function does exactly what the PHP4 function array_push() does
* however, to keep phpBB compatable with PHP 3 we had to come up with our own
* method of doing it.
* This function was deprecated in phpBB 2.0.18
*/
function bbcode_array_push(&$stack, $value)
{
$stack[] = $value;
return(sizeof($stack));
}

/**
* This function does exactly what the PHP4 function array_push() does
* however, to keep phpBB compatable with PHP 3 we had to come up with our own
* method of doing it.
* This function was deprecated in phpBB 2.0.18
*/
function bbcode_array_pop(&$stack)
{
$arrSize = count($stack);
$x = 1;

while(list($key, $val) = each($stack))
{
if($x < count($stack))
{
$tmpArr[] = $val;
}
else
{
$return_val = $val;
}
$x++;
}
$stack = $tmpArr;

return($return_val);
}

//
// Smilies code ... would this be better tagged on to the end of bbcode.php?
// Probably so and I'll move it before B2
//
function smilies_pass($message)
{
static $orig, $repl;

if (!isset($orig))
{
global $db, $board_config, $portal_config, $var_cache;

$orig = $repl = array();

if($portal_config['cache_enabled'])
{
$orig = $var_cache->get('orig2', 86400, 'smilies');
$repl = $var_cache->get('repl2', 86400, 'smilies');
}
if(!$orig)
{
$sql = 'SELECT * FROM ' . SMILIES_TABLE;
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain smilies data", "", __LINE__, __FILE__, $sql);
}
$smilies = $db->sql_fetchrowset($result);

if (count($smilies))
{
usort($smilies, 'smiley_sort');
}

for ($i = 0; $i <count>save($orig, 'orig2', 'smilies');
$var_cache->save($repl, 'repl2', 'smilies');
}
}
}

if (count($orig))
{
$message = preg_replace($orig, $repl, ' ' . $message . ' ');
$message = substr($message, 1, -1);
}

return $message;
}

function acronym_pass($message)
{
static $orig, $repl;

if( !isset($orig) )
{
global $db, $board_config;
$orig = $repl = array();

$sql = 'SELECT * FROM ' . ACRONYMS_TABLE;
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't obtain acronyms data", "", __LINE__, __FILE__, $sql);
}

$acronyms = $db->sql_fetchrowset($result);

if( count($acronyms) )
{
usort( $acronyms, 'acronym_sort' );
}

for ($i = 0; $i </acronym> strlen($b['code']) ) ? -1 : 1;
}

function acronym_sort($a, $b)
{
if ( strlen($a['acronym']) == strlen($b['acronym']) )
{
return 0;
}

return ( strlen($a['acronym']) > strlen($b['acronym']) ) ? -1 : 1;
}
?>
[/code]
Last edited by Csicso on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Csicso
Newbie
Newbie
 
Posts: 7
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu May 25, 2006 3:45 am
Cash on hand: 0.00

PostAuthor: Csicso » Fri May 26, 2006 3:40 am

Really sorry, i tried, but i cannot force it, i realy dont know what happened.. <img>
Last edited by Csicso on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Csicso
Newbie
Newbie
 
Posts: 7
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu May 25, 2006 3:45 am
Cash on hand: 0.00

PostAuthor: Master Dwarf » Fri May 26, 2006 5:52 am

I'll take a look and see if there is anything outta whack.

Around line 196 things seem a bit strange. The file I have has a comment 'for posting code' it is commented out but yours is not. That's about as far as I looked.

Did you have any mods installed? Did you do the upgrade manually or using premodded files? If you used premodded files AND you did not have any mods installed previous to the upgrade, I would upload a premodded bbcode.php file. Make sense?
Last edited by Master Dwarf on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
Sean Kelley
http://www.GrumblingDwarf.com
Wisconsin Region Game Site
User avatar
Master Dwarf
Integra Supporter
Integra Supporter
 
Posts: 102
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 9:26 am
Cash on hand: 0.00
Location: Madison, WI

PostAuthor: Csicso » Mon May 29, 2006 3:22 am

Hi.
I have some minor mods installed, but anyone modified bbcode.php. As I remember, i downloaded the file, that i'm using from here.
Anway, I did the upgrade manually, and uploaded a premodded bbcode.php.
Last edited by Csicso on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

Csicso
Newbie
Newbie
 
Posts: 7
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Thu May 25, 2006 3:45 am
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: Dioncecht » Mon May 29, 2006 12:23 pm

ok, did the upgrade manually and everything SEEMS to work ok, except when I click on View New Posts Since Last visit. I get a blank page. Not sure if thats only when there are no new posts, but if there are no new posts, it should still display something saying there are no new posts, not a blank page.

any ideas?
Last edited by Dioncecht on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
'We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths.' - Walt Disney

[img=left]http://rpghq.org/banner2.jpg[/img]
[url=http]The RPG Headquarters. The RPG capitol of the net![/url]
User avatar
Dioncecht
Sr Integra Member
Sr Integra Member
 
Posts: 244
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 5:23 pm
Cash on hand: 0.00

PostAuthor: Dioncecht » Mon May 29, 2006 12:29 pm

Nevermind. I pulled the search.php premodded file and just used that since none of my mods ever really changed that file that I can remember. It seems to work ok now.
Last edited by Dioncecht on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
'We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths.' - Walt Disney

[img=left]http://rpghq.org/banner2.jpg[/img]
[url=http]The RPG Headquarters. The RPG capitol of the net![/url]
User avatar
Dioncecht
Sr Integra Member
Sr Integra Member
 
Posts: 244
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Sun Apr 09, 2006 5:23 pm
Cash on hand: 0.00

PostAuthor: ZacFields » Mon May 29, 2006 10:21 pm

I just want to add to the pile of people in saying:

"I used the premodded files to upgrade and I was using integramod 1.4.0 with phpbb security 1.0.3 and everything worked just great!"

Thanks for the good work guys.

Zac
Last edited by ZacFields on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.

ZacFields
Sr Integra Member
Sr Integra Member
 
Posts: 426
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Wed May 24, 2006 11:14 pm
Cash on hand: 0.00

Re: Release of upgrade for phpbb2.0.20

PostAuthor: found it » Tue May 30, 2006 7:55 am

Thank you to everyone who has this working right and for your kind words....

It makes up for the time and effort in making sure everything works as it should do....

:mrgreen:
Last edited by found it on Wed Dec 31, 1969 5:00 pm, edited 1 time in total.
[url=http]themes.[/url]
http://www.founditforum.com :: [url=http]Joining people together[/url]

[url=http][img=left]http://www.bbful.com/bbful_banner2.png[/img][/url]
User avatar
found it
Dev Team
Dev Team
 
Posts: 792
Likes: 0 post
Liked in: 0 post
Images: 0
Joined: Mon Mar 27, 2006 4:29 am
Cash on hand: 0.00

PreviousNext

Return to IntegraMOD 140

Who is online

Registered users: App360MonitorBot, Bing [Bot], Google [Bot]