Abstract class for plugins. Plugins can inherit from this class to get default configuration functionality. They can also override the configuration methods to do custom configuration. Inherits: LnBlogObject
A short description of the plugin.
The version number of the plugin. This should be in “1.2.3” format.
An associative array of arrays, with the form member=>settings, where member is the name of a member variable of your class and settings is an associative array of the configuration data for that member. This array is used by the default configuration show/save methods.
The following is a list of possible configuration settings for a member variable. If a setting is not given for a particular control, then the default value will be used.
|description||A descriptive string for the variable. This will be displayed on the configuration screen when the user modifies the setting for this variable. This element is required.|
|control||The type of control used to display this variable on the configuration screen. For the most part, these map directly to HTML input element types. The currently recognized values are “text”, “checkbox”, “radio”, “select”, “file”. The default is “text”.|
|default||The default value for this variable. This value will be used if the user does not specify a setting. Also, if the user modifies other settings, no configuration entry will be saved for this variable if the value is still the default. This is important because of pre-blog overriding. The default is the empty string.|
|options||An array of the form value=>description, where the value keys are control values and the descriptions describe each choice for the user. These are used only for radio button and selection box controls, with each array element representing an option for the user to select .|
|function addOption(||$name,|| |
|$control|| = ||"text",|
|$options|| = ||false||)|
A short-hand way to add configuration options. Adds the necessary values to member_list all in one shot.
|name||The name of the option.|
|description||A short description for the user to see.|
|default||The default value.|
|control||Optional control to use. The default is “text”.|
|options||An array of options for radio and select controls.|
Displays the plugin configuration in an HTML form. You must make sure to initialize the member_list for this to work.
Optionally returns the form markup as a string.
Retrieves configuration data for the plugin from an HTTP POST and stores the data in the relevant files.
Note that this also handles uploaded files. If run from a blog, the file is uploaded to the blog root. Otherwise, it goes to the userdata directory.
True on success, false on failure.
Reads the configuration data for the plugin from a file and stores it in class variables.
Cache management functions
Gets the path to the cache file for this plugin. Note that there is, by default, only one such file per plugin. Plugins that need more must override this method.
|obj||The object to which the cache applies. In the default implementation, this is the current blog. Plugins which want to store cache data in an entry directory, or a path based on some other object, must override this method.|
A string representing the local filesystem path to which cach data will be written. In the default implementation, this has the form BLOGROOT/cache/PLUGINCLASS_output.cache.
|function invalidateCache(||$obj|| = ||false||)|
Invalidates, i.e. deletes, the cache file for this plugin.
|obj||Same as for cachepath. If not specified, the current blog is used. Note that this parameter is passed on to cachepath and so can be used for implementing multi-file caches.|
Method called by outputCache to regenerate cache data. Plugins using the standard cache system must override this method to do their output.
|obj||An object to which this cache applies, as with invalidateCache and others.|
A string of data to send to the client.
|function outputCache(||$obj|| = ||false,|
|$suppress_login|| = ||true||)|
Dumps the contents of the cache file to the browser. If the cache file exists, then the data comes from there. Otherwise, buildOutput is called and the result used to create a fresh cache file. Note that if the class has an enable_cache member and it is set to false, then the cache will be bypassed and only the result of buildOutput will be sent to the browser.
|obj||Object to which the cache applies.|
|suppress_login||Don’t display the cached data when the user is logged in. This allows for users with different permission levels to still see different pages with caching on.|
Registers the standard set of cache invalidator events. This registers the invalidateCache method as an event handler for the UpdateComplete, InsertComplete, and DeleteComplete events for the BlogEntry and Article classes, as well as the UpdateComplete event of the blog class.
|function getCache(||$obj|| = ||false||)|
Returns the contents of the cache file as a string.
|obj||Object to which the cache applies.|
A string with the contents of the cache file.