add some info about plugins
This commit is contained in:
parent
9e7e440be9
commit
488befd628
45
README
45
README
|
@ -1429,6 +1429,51 @@ notify third-party servers of updates.
|
||||||
notify: an array of URLs for ping endpoints. Default is the empty
|
notify: an array of URLs for ping endpoints. Default is the empty
|
||||||
array (no notification).
|
array (no notification).
|
||||||
|
|
||||||
|
Plugins
|
||||||
|
=======
|
||||||
|
|
||||||
|
Beginning with the 0.7.x branch, Laconica has supported 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
|
||||||
|
and has a choice of accepting or rejecting the events.
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
Event::addHandler('EndPrimaryNav', 'AddGoogleLink');
|
||||||
|
|
||||||
|
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
|
||||||
|
implement, in EVENTS.txt.
|
||||||
|
|
||||||
|
The Plugin class in lib/plugin.php makes it easier to write more
|
||||||
|
complex plugins. Sub-classes can just create methods named
|
||||||
|
'onEventName', where 'EventName' is the name of the event (case
|
||||||
|
matters!). These methods will be automatically registered as event
|
||||||
|
handlers by the Plugin constructor (which you must call from your own
|
||||||
|
class's constructor).
|
||||||
|
|
||||||
|
Several example plugins are included in the plugins/ directory. You
|
||||||
|
can enable a plugin with the following line in config.php:
|
||||||
|
|
||||||
|
addPlugin('Example', array('param1' => 'value1',
|
||||||
|
'param2' => 'value2'));
|
||||||
|
|
||||||
|
This will look for and load files named 'ExamplePlugin.php' or
|
||||||
|
'Example/ExamplePlugin.php' either in the plugins/ directory (for
|
||||||
|
plugins that ship with Laconica) or in the local/ directory (for
|
||||||
|
plugins you write yourself or that you get from somewhere else) or
|
||||||
|
local/plugins/.
|
||||||
|
|
||||||
|
Plugins are documented in their own directories.
|
||||||
|
|
||||||
Troubleshooting
|
Troubleshooting
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue