vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   Quickly upgrade your hacked vBulletin 3 without compare programs (https://vborg.vbsupport.ru/showthread.php?t=66860)

Brad 07-04-2004 10:00 PM

Quickly upgrade your hacked vBulletin 3 without compare programs
 
I love compare programs, but let?s face it, they can and will miss changes or the core changes so much that they do not become much help at all. Now I'm not knocking compare programs, if you use them that is fine. However I've learned not to trust them for vital upgrades.

In this thread I'm going to show you how to quickly upgrade a board with hacks, with nothing more then a text editor and about an hour of your time.


Before you hack:

Before you begin hacking your board you should always keep in mind that jelsoft will, at some time, release an updated version of vBulletin.
This means at some point you are going to be stuck in a dilemma, which is, do you re-hack the entire source or do you stay with your current version?

Most people choose the latter option, and eventually end up running and insecure copy of the software.

For these reasons it is always important to document all changes you have made, with reference text file.

Keeping good reference:

Having good references will make upgrading an easy task for you. Open any text editor and make a new file named 'vb_upgradekit.txt' and store it in a safe place.

Whenever you install a hack make sure to update this file, include what code you had to find in the stock source, what file it was in, and what code you replaced/placed above or below the stock cod.

Here is an example of a well kept vb_upgradekit.txt file:

PHP Code:

// ################## In file /includes/functions.php ##############

// ## Find: 

$foo

// ## below that add:

while($foo >= $bar)
{
    echo 
$foo;
}

######## End changes for /includes/functions.php ############### 

By documenting your php changes in this way, you can upgrade the .php files of your board quickly because you only have one file to look at. Basically it will feel as you are just installing one large hack.

[high]Very important note: do not include SQL queries from hacks in your upgradkit.txt file, the database should not be affected by upgrades. Re-running SQL queries including in hack installations can damage your board or cause loss of data[/high]

The upgrade process:

1: Download the latest package from the member?s area and extract it to a folder on your local machine.

2: Open your vb_upgradekit.txt file and apply the necessary modifications to the .php files

3: Back-up your database and close your boards

3: Upload the vBulletin package to your server with modified .php files

4: Point your browser to www.mysiteurl.com/forum/install/upgrade.php and follow the on-screen instructions

5: Insure that the board still functions correctly

6: If there seem to be no errors re-open the boards

That?s it :)

Jason McConnell 07-06-2004 06:09 PM

Man, I wish I saw this thread last night :D I prety much did all of that anyway, without creating the vBUpgradekit. Definitely bookmarking this page :D

kira 07-06-2004 07:35 PM

Thank you very much, Brad! Great idea. I already comment the heck outta my hacked vB files, but having a separate composite instruction guide is brilliant.

Here's an extra thought: maybe you could remind people to include comments w/the names of the hacks each edit is related to? I don't see that in there, and though it seems obvious, you never know how easy it is to forget simple stuff like that. :)

TECK 07-21-2004 01:30 AM

Another interesting way:
Simply comment your current code and add the new one, with "old code" tags.

Example:
PHP Code:

/* start old code
if ($vboptions['displayloggedin'])
{
    $datecut = TIMENOW - $vboptions['cookietimeout'];
    $numbervisible = 0;
    $numberregistered = 0;
    $numberguest = 0;
end old code */

if ($vboptions['displayloggedin'])
{
    
$datecut TIMENOW $vboptions['cookietimeout'];
    
$numbervisible 0;
    
$numberregistered $numbervisible $numberguest;
    
$numberguest 0

Then, you simply do a search for "old code" to compare. ;)

Brad 07-21-2004 03:17 AM

That works but why go back to the files all the time? I used to do that myself, but I have far less trouble just keeping a referance .txt file.

Zachariah 07-21-2004 01:46 PM

Araxis Merge 6.5 works for me @ 70+ hacks ... the comment /* worked ok, and make a file w/ list of changes was ok, but Araxis makes it 10 min vs. 2-3 hours of code.

To each their own I guess.


All times are GMT. The time now is 06:59 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01182 seconds
  • Memory Usage 1,732KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete