Page 1 of 1

Hiding Sidebar Plugins

Posted: Tue May 10, 2005 6:58 pm
by RobA
Is there a way to flag a sidebar plugin so it only displays when a user is logged in?

-Rob A>

Re: Hiding Sidebar Plugins

Posted: Tue May 10, 2005 9:00 pm
by garvinhicking
There is currently no way.

You could modify the "sidebarhider" plugin to fold in some specific sidebars. You could also enhance the plugin to automatically hide some plugins only for not logged in users.

To completely hide a plugin (not only via JavaScript) would mean you'd need to modify the plugin itself you want to not display.

Inside the generate_content() method of a sidebar plugion you can do a check:

Code: Select all

function generate_content(&$title) {
global $serendipity;

  if (!$_SESSION['serendipityAuthedUser']) {
    return false;
  }

  // more code here
}


HTH,
Garvin

Posted: Wed May 11, 2005 4:04 pm
by RobA
Brilliant!
Thanks!

I have munged up my copy of plugin_internal.inc.php so the serendipity_html_nugget_plugin now gives me an extra configuration parameter "Hidden for Guests?".

Image

I went and hard coded the strings in english as I didn't want to dig to find where all the language constants were stored.

This is awkward to have to add to every type of sidebar plugin code. Additionally, it puts my code out of sync with the source :(

Could this be done at the plugin admin level? I.E. be a parameter (like the LEFT/RIGHT display selection) that can just be toggled in the plugin admin screen. Or would that be way too complicated?

Thanks for the code snippit!

-Rob A>

Posted: Wed May 11, 2005 4:08 pm
by garvinhicking
Actually I have not yet come up with an idea that would make this function appear in all plugins, because as you mention it would mean to have a new column.

I will further ponder about it and hope to come to a solution :)

Regards,
Garvin

Posted: Thu May 12, 2005 4:29 pm
by garvinhicking
I have just committed a simple plugin API hook into the 0.9 core. You can patch it easily in your 0.8 CVS:

http://svn.berlios.de/viewcvs/serendipi ... r1=7&r2=93

And then I've committed the hiding functionality into the sidebar hider plugin. How's that? :)

Regards,
Garvin