NextGen Public Uploader working with NextCellent

nextgen-public-uploader-img-v1

I’ve received a bunch of requests saying many plugins (which they were working with NextGen) are now failing to work with NextCellent. Those plugins are adding extra functionality to the normal plugin behavior.

So I’ve decided to invest some time to understand what’s going on and provide an extra hand to NextCellent users. One of the requests I had is about NextGen Public Uploader plugin. This little wonder allows frontend images uploads for every user, a nice feature. Since I wasn’t aware of this plugin, I’m happy to discover it, I really needed this feature for one of my sites!

(Notice: following explanations requires some PHP knowledge. )

I found a couple of reasons why a plugin which work (or worked) with NextGen fails to work with NextCellent :

  • Hardcoded detection method: we, the programmers, in order to make sure that our plugin will work along other, need to check if the counterpart plugin is activated and running. In this case, the classic method consist in:
    if ( ! class_exists(‘nggLoader’) || ! in_array( ‘nextgen-gallery/nggallery.php’, get_option(‘active_plugins’) ) ) {
    …(Error message, plugin is not here!!!!)….
    }
    So we are checking if certain class exist, which is logical, and also the plugin has to be installed in some specific folder on the plugins folder, which is … suceptible to improvement.
  • Plugin development followed closely NextGen development: from version 2.0.x NextGen included a new engine inside , which is nice. However it broke compatibility with many plugins, forcing them to readapt or die. A plugin adapted to the new NextGen core is likely incompatible with NextCellent although there are solutions to this scenario too.

NextGen Public Uploader seems to belong to the first kind. With version 1.7.1 the plugin hardcoded detection method disabled interaction with NextCellent. However, I checked version 1.8.1 where they dropped the detection hurdle:

if ( ! class_exists(‘nggLoader’) {
…(Error message, plugin is not here!!!!)….
}

Notice the simplification, which skips the hardcoded limitation. Obviously we need more than that. The plugin needs to call objects from the other plugin to get the proper functionality (NextGen/NextCellent). NextGen Public Uploader seems to accomplish that, using objects like nggdb,nggGallery and accesing directly to the sql tables.

I installed the plugin and it initially worked. Since I check the plugins using PHP strict enabled, I also contacted with the authors  to suggest minimal things to improve. As a positive side effect, this revision helped to detect two bugs on NextCellent code, which were added to the next release.

Momentarily I’m saving a (what I think is an improved one) version of NextGen Public Uploader which I called nextgen-public-uploader.1.8.2 in this link to have some future references. You are free to download but remember, this is experimental, you need to go to the official NextGen Public Uploader to get the right one.

Have a wonderful day!

6 Comments


  • Does not work on mine, may be the theme, but it just renders my page blank? Thoughts?

    • Elfew
      Reply Cancel Reply
    • February 15, 2014

    Thank you, anyway is possible to upload more images at once? You know - select them and upload them... I have v1.7 of this plugin which has advanced features - user can select the gallery where to upload + you can add select more pictures to upload.... do you wanna upload this and you can change it in v1.8.2? Thanks PS - link for php file - just use this php instead of original php in v 1.7 https://www.dropbox.com/s/hrcufrpaxj2labi/npu-upload.php.txt

    • Reply Cancel Reply
    • February 17, 2014

    Hi, In Sweden we some times have problems using international programs due to our Swedish characters åäö ÅÄÖ and so also with your program. When we are importing an images for example årsmöte.jpg the images will show in the catalog with strange name and the picture itself will not show. Problem of WP or your plugin? Best regards Gunnar

    • admin
      Reply Cancel Reply
    • March 17, 2014

    Thanks for report this issue. I'll be seeing it.

    • MoeyC
      Reply Cancel Reply
    • June 14, 2014

    I am getting this error: Fatal error: Cannot make static method nggAdmin::upload_images() non static in class UploaderNggAdmin in /home/muc20354/public_html/wp-content/plugins/nextgen-public-uploader/inc/class.npu_uploader.php on line 10 Does anyone have an idea how to fix it?

    • mike truese
      Reply Cancel Reply
    • September 2, 2014

    Still getting same error as MoeyC. Went to WP support site, http://wordpress.org/support/topic/compatibility-with-plugin-nextcellent, and found link that says there's a fix, leads back to this page. So, there's that. I'd prefer to not edit plugin code for obvious reasons.

Leave a Reply

Your email address will not be published Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*