Thread Rating:
  • 45 Vote(s) - 3.73 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Not Solved Script to Update Plugins for 1.6.5
#1
Not Solved
I've updated my original script (http://community.mybb.com/thread-106729-post-777848.html#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.


Attached Files
.php   plugin_hook_update.php (Size: 8.49 KB / Downloads: 1,538)
Personal site: CommunityPlugins.com

Please do not PM me for MyBB support here. Use the forums, they are here for a reason. Thanks.
Reply
#2
Not Solved
thanks for writing this, pavemen!
Reply
#3
Not Solved
This is great, thanks pavemen.
#
MyBB is the best forum software! Exclamation

Reply
#4
Not Solved
This user has been denied support. This user has been denied support.
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
Reply
#5
Not Solved
WoW! Very nice script.
Reply
#6
Not Solved
Whoah! Very cool -- thank you!
Reply
#7
Not Solved
This user has been denied support. This user has been denied support.
cool Smile
[Image: logo.png]
Reply
#8
Not Solved
This user has been denied support. This user has been denied support.
Sticked, nice, this could help many who searches out for updating the plugins on their own. Smile
Reply
#9
Not Solved
@Paveman:
Thanks a lot for this very useful script. Great Job!

Reply
#10
Not Solved
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:
PHP Code:
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);

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)