The MKP_Base plugin is based on several core concepts. Understanding these concepts will make using this shortcode handler much easier.
This plugin implements a collection of classes that work together to provide power, extensibility and simplicity:
MKP_Base provides a large collection of services which are called upon by the other classes. These services include:
Generation of diagnostic messages which are written to a text log file
Generation of notification messages which appear as popups on the screen
Parsing and validating shortcodes
The AJAX Handler class extends MKP_Base and manages AJAX calls from the front end
The Location Manager also extends MKP_Base and provides functions that convert address information into latitude and longitude.
The Data Loader class:
Loads the Contacts, Communities and I-Group classes when a shortcode is invoked that uses that code
Pulls XML Data from MKP Connect
Filters that data according to requests from the other classes
The Contact class displays contact lists for regions, areas and communities
The Communities class displays community information for regions, areas and communities
The I-Group class displays I-Group lists and maps for regions, areas and communities
These classes are shown visually in this diagram:
Each shortcode must begin with the name of the class it is expressing. For example, to display an I-Group map, you must use the mkp_igroups object:
mkp_igroups community=”Puget Sound” map
where mkp_igroups is the object, community=”Puget Sound” is a modifier and map is the action.
22 I-Groups in the Puget Sound Community
Options define behavioral values that persist across page turns. For example, if the “verbose” option is set to true, extensive diagnostic information will be written to the corresponding log file on the current and on all subsequent pages. Options are set with the shortcode:
The remainder of each shortcode is a list of modifiers followed by the action they modify. For example, to display a notification message, you would use the message=”contents of the message” type=NOTIFICATION_TYPE_CONFIRMATION sticky=false modifiers followed by the notify action:
mkp_base message=”This is a notification message” type=NOTIFICATION_TYPE_CONFIRMATION sticky=true notify
Note that the text of the message does not appear on the page, but it does (or at least should) appear as a popup message in the bottom right corner of the screen.
mkp_base shortcodes <– display shortcodes supported by the MKP Base class
MKP Base Shortcodes:
All modifiers must precede actions they modify.
shortcodes = bool, action: Display list of plugin shortcodes
do_shortcode = string, action: Execute a shortcode
verbose = bool, modifier: Display diagnostic messages and long form of notification types
message = string, modifier: Message text for use by log and notify codes
source = string, modifier: Prefix diagnostic messages with this text
report = bool, action: requires: [message] Log a diagnostic message.