Category Archives: Blogging

(Solved!) NextGEN Gallery works only with a role….

WordPress, MultiSite, NextGEN Gallery and this annoying message “Sorry, NextGEN Gallery works only with a role called administrator.”

Dashboard Error Nextgen Gallery WordPress Multisite

NextGEN Gallery error Administrator role

I noted a lot of older posts on the WordPress support site that lead nowhere to find a resolution, or, as someone else posted, they went poof! into a bug report hidden from the public.

Have I really solved this issue ? Yes, for the specific site that I am working on. Will this be the same issue for you? Maybe not, but here are the details.

So to be clear I am using the latest WordPress version and the latest NextGEN Gallery version in a multi-site configuration with about 6 sites within it. The nature of the issue is that the stated error message persists in the dashboard / admin view for a sub-site. It was not all sub-sites and when I did a proper review it was in fact only in one sub-site that the error displayed.

So I checked the php script just to confirm that the error message was telling the truth or at least was not a case of poor translation and it wasn’t. The actual script is at the bottom of this post but it is not relevant beyond confirming that it is a ‘role’ issue.

Wordpress Multisite Users Panel with no users

There were no users for the sub-site

Next I questioned, if I am the administrator for the main site and most of the sub-sites, why is there no administrator role?

Sure enough a check of the Users page for all the sites revealed that I was correctly in that role for all but the site that was giving the error.

This is where it got tricky, the sub-site was the #2 sub-site and the oldest sub-site, aside from the main site and when I tried to add an existing user or a new user to the subsite it completed but still did not show a user.

Empty WordPress Roles

The role dropdown is not populated.

The Role drop-down was not populating and therefore the concept of administrator was not available to be set for the user.

I experimented for a while with different settings, comparing sub-sites and trying to fathom why this was happening. The end result was no reason for it, other than I think this original blog #2 may have pre-dated a major upgrade in WordPress Multisite and perhaps there was some artifact or setting missing as a result.

In any case, I did a backup of the database, created a new subsite, ran an export of the #2 subsite, ran an import of the same data into the new subsite, and bingo!  There is now a new user with a role of Administrator and the NextGen error is no longer appearing.

The final clean up was to rename the old #2 site and archive it. Then rename the new site to the same as the old one, tweak the settings for theme, menu, widgets, and url, and the transition was done. All up this should take you less than 15 minutes to do.

Does it resolve the actual issue, no, but I think the error is not actually a NextGEN issue, but an issue with the WordPress site. If you have read this far, you probably have a similar problem, I hope this works for you.

 

NextGen nggallery_install Function

Now dont panic, the following code is just for my records, there is no need to change it. This is the piece of the PHP function that generates the error and I include it here just to confirm that the error is generated when there is not an available administrator role for the site.

	// Set the capabilities for the administrator
	$role = get_role('administrator');
	// We need this role, no other chance
	if ( empty($role) ) {
		update_option( "ngg_init_check", __('Sorry, NextGEN Gallery works only with a role called administrator',"nggallery") );
		return;
	}

	$role->add_cap('NextGEN Gallery overview');
	$role->add_cap('NextGEN Use TinyMCE');
	$role->add_cap('NextGEN Upload images');
	$role->add_cap('NextGEN Manage gallery');
	$role->add_cap('NextGEN Manage tags');
	$role->add_cap('NextGEN Manage others gallery');
	$role->add_cap('NextGEN Edit album');
	$role->add_cap('NextGEN Change style');
	$role->add_cap('NextGEN Change options');

Responsive Frameworks: Bootstrap, Foundation, and others

Search for ‘compare responsive frameworks’ and you are lead to an array of blog posts and commentaries on the topic.

I do not propose to reiterate stuff already said by others, but simply to consider what the frameworks might mean for me and the environment that I intend to apply a framework to.

My references are currently:

Regardless, of which framework, apparently consideration of which stylesheet language is used by the framework is another consideration. Is one ‘better’ than another or just ‘different’ ?

…and I have a lot of reading to do. My goal is to better understand options beyond the non-responsive Blueprint CSS framework that I have been using with osCmax.

 

 

 

Nextgen Gallery WordPress nggtags template caption option

I have a slightly older version of NGG because I have modded it and have yet to transfer those mods to the latest version. But I just made another minor change that I wanted to document before I forget what I did.

Using the

no images were found

  works well for showing the images from the gallery that are tagged as an automated gallery creation.

But I wanted to get the captions displayed as well like the syntax for the standard gallery by id display

no images were found

.  So I needed to add the ” template=caption” as an option for the nggtags shortcode.

Edit /wp-content/plugins/nextgen-gallery/nggfunctions.php

Around line 867 should start the function into which I inserted the $template value (with relevant comma’s etc.) at 3 places as highlighted with the new text.

function nggShowGalleryTags($taglist, $template = '') {

// $_GET from wp_query
$pid    = get_query_var('pid');
$pageid = get_query_var('pageid');

// get now the related images
$picturelist = nggTags::find_images_for_tags($taglist , 'ASC');

// look for ImageBrowser if we have a $_GET('pid')
if ( $pageid == get_the_ID() || !is_home() )
if (!empty( $pid ))  {
$out = nggCreateImageBrowser( $picturelist, $template);
return $out;
}

// go on if not empty
if ( empty($picturelist) )
return;

// show gallery
if ( is_array($picturelist) )
$out = nggCreateGallery($picturelist, false, $template);

$out = apply_filters('ngg_show_gallery_tags_content', $out, $taglist);
return $out;
}

That sorts out the function that is called from the  /wp-content/plugins/nextgen-gallery/lib/shortcodes.php

Around line 114 there is a string evaluation test process that we change to look for a second option referenced as template= etc..  shown in the highlighted line.


if ( stristr( $content, '[tags' )) {
$search = "@(?:<p>)*s*[tagss*=s*(.*?)s*]s*(?:</p>)*@i";
if (preg_match_all($search, $content, $matches, PREG_SET_ORDER)) {

foreach ($matches as $match) {
$replace = "

no images were found

}" template="{$match[2]}"]"; $content = str_replace ($match[0], $replace, $content); } } }

Finally around line 273 there is the call to the nggShowGalleryTags in the show_tags function. Insert a new line for $template as a parameter and to the output option.


function show_tags( $atts ) {

extract(shortcode_atts(array(
'gallery'       => '',
'template'  => '',
'album'         => ''
), $atts ));

if ( !empty($album) )
$out = nggShowAlbumTags($album);
else
$out = nggShowGalleryTags($gallery, $template);

return $out;
}

Now the nggtags option that will create a custom gallery from Tagged images can optionally include the image caption as well.

 

 

Mozilla Update version 6.0

Sometimes automatic updates are a blessing and others…..

Mozilla Thunderbird was updated for me today and I now have loads of issues like the following trying to send mail:

An error occurred sending mail: The mail server sent an incorrect greeting: Cannot connect to SMTP server 61.9.168.249 (61.9.168.249:25), connect error 10060.

The server is bigpond and the connection error leads me to the Mozilla forums, where I guess I am not alone:

General Error
SQL ERROR [ mysql4 ]

User ‘mozine_forums_rw’ has exceeded the ‘max_user_connections’ resource (current value: 20) [1226]

An sql error occurred while fetching this page. Please contact an administrator if this problem persists.

Cannot save drafts, cannot send, cannot uninstall… hours of messing around at my cost. Bugger!