MyBB Community Forums

Full Version: Script to Update Plugins for 1.6.5
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10
I've updated my original script (http://community.mybb.com/thread-106729-...#pid777848) to actually update the plugin files now. All the fixes use the "reference" method by adding "&" where needed.

USE AT YOUR OWN RISK

Where needed = function called by affected hook and no "&" already present

So I suggest that you backup your ENTIRE plugins folder and any subfolders.

Remove any old version of my original script from the plugins folder

Download the attached file to your local computer, open it in a text editor and make sure that $dryrun is set to 1 and the $plugin_dir is correct

Save and upload the file to your forum root (where index.php and showthread.php are located)

Direct your browser to the newly uploaded file and it will output all the hooks its looking for in each directory (plugins and subfolders), each file, each function/hook then all the files that will actually be changed and how many fixes in each will be applied

If it all looks okay, edit your local copy and change $dryrun to 0, save and upload.

Reload the browser page and wait for the done message. All changed files will be listed.

Run it again and there should be no changed files listed, indicating the files were updated the first pass.

Feedback accepted, please use at your risk, but it seems to be working on my server.

If the plugin author has already updated his/her plugin, I suggest that you use that version instead.

Update: 11/30/11: This script was updated to cover the case where inline comments are given directly after the add_hooks calls in the plugin file.
thanks for writing this, pavemen!
This is great, thanks pavemen.
Very nice, I hope it could work out with all. I'd test this one today. Also, it'd be great if this thread is sticky so as many threads pointing out how could I update will look into this. Smile
WoW! Very nice script.
Whoah! Very cool -- thank you!
cool Smile
Sticked, nice, this could help many who searches out for updating the plugins on their own. Smile
@Paveman:
Thanks a lot for this very useful script. Great Job!

Someone PM'd me that this script was saying that MyAdvertisements required to be updated but MyAdvertisements always used receiving by reference. Either your script is failing somewhere or something else is happening.

Oh and this was the function it mentioned:
function myadvertisements_postbit_disable(&$post)
{
	global $mybb, $templates;
	
	$cachetemps = array();
	
	if(!$templates->cache['postbit'])
		$cachetemps[] = 'postbit';
		
	if(!$templates->cache['postbit_classic'])
		$cachetemps[] = 'postbit_classic';
	
	if (!empty($cachetemps))
		$templates->cache(implode(',', $cachetemps));
		
	if (!isset($mypostcounter))
		$mypostcounter = 0;
		
	static $postbit_backup = '';
	static $postbit_classic_backup = '';
	
	// Fix purposed by Yumi/Zinga
	// http://mybbhacks.zingaburga.com/showthread.php?tid=572&pid=5133#pid5133
    static $restore_postbit = null;
    if (empty($postbit_backup) || $restore_postbit)
    {
        $viewmode = ($mybb->settings['postlayout'] == 'classic' ? '_classic' : '');
        $restore_postbit = (
            !isset($restore_postbit)
            && isset($templates->cache['postbit_first'.$viewmode])
            && $templates->cache['postbit_first'.$viewmode] == $templates->cache['postbit'.$viewmode]
        );
        $postbit_backup = $templates->cache['postbit'];
        $postbit_classic_backup = $templates->cache['postbit_classic'];
    }
	
	$templates->cache['postbit'] = str_replace('{myadvertisements[zone_3]}', '', $postbit_backup);
	$templates->cache['postbit_classic'] = str_replace('{myadvertisements[zone_3]}', '', $postbit_classic_backup);
}
Pages: 1 2 3 4 5 6 7 8 9 10