Plugins
=======
-Beginning with the 0.7.x branch, StatusNet has supported a simple but
+GNU social supports a simple but
powerful plugin architecture. Important events in the code are named,
like 'StartNoticeSave', and other software can register interest
in those events. When the events happen, the other software is called
In the simplest case, you can add a function to config.php and use the
Event::addHandler() function to hook an event:
- function AddGoogleLink($action)
- {
- $action->menuItem('http://www.google.com/', _('Google'), _('Search engine'));
- return true;
- }
+function AddMyWebsiteLink($action)
+{
+$action->menuItem('http://mywebsite.net/', _('My web site'), _('Example web link'));
+return true;
+}
- Event::addHandler('EndPrimaryNav', 'AddGoogleLink');
+Event::addHandler('EndPrimaryNav', 'AddMyWebsiteLink');
This adds a menu item to the end of the main navigation menu. You can
see the list of existing events, and parameters that handlers must
This will look for and load files named 'ExamplePlugin.php' or
'Example/ExamplePlugin.php' either in the plugins/ directory (for
-plugins that ship with StatusNet) or in the local/ directory (for
+plugins that ship with GNU social) or in the local/ directory (for
plugins you write yourself or that you get from somewhere else) or
local/plugins/.