This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
developers:addons:core_events [2009/01/12 23:54] jonyo |
developers:addons:core_events [2014/09/25 16:55] (current) |
||
---|---|---|---|
Line 2: | Line 2: | ||
A core event is a way for an addon to interact with the base software to change or add something, without needing to make any changes to the base code at all. | A core event is a way for an addon to interact with the base software to change or add something, without needing to make any changes to the base code at all. | ||
+ | |||
+ | Note that core events are synonymous with //software hooks// with respect to the Geo software((All Core Events are software hooks, but not all software hooks are core events. | ||
===== How it Works ===== | ===== How it Works ===== | ||
- | Core events use [[http:// | + | Core events use [[http:// |
- | An addon will be **automatically subscribed** to a core event, if 2 things happen: | + | An addon will be **automatically subscribed** to a core event, if 3 things happen: |
* in **info.php**, | * in **info.php**, | ||
- | * in the util.php file, the addon' | + | * in the util.php file, the addon' |
* in the admin panel, at [[admin_menu/ | * in the admin panel, at [[admin_menu/ | ||
Line 19: | Line 21: | ||
**Breaking that call down:** | **Breaking that call down:** | ||
- | * trigger**Display**: | + | * trigger**Display**: |
* **event_name**: | * **event_name**: | ||
Line 36: | Line 38: | ||
| Notification | | Notification | ||
| Filter | | Filter | ||
- | | Overload | + | | Overload |
| Return a String | | Return a String | ||
| Return an Array | geoAddon:: | | Return an Array | geoAddon:: | ||
Line 54: | Line 56: | ||
A lot of the filter events are used to filter the results of a particular function, in those cases the name of the event is usually **filter_[CLASS NAME]_[FUNCTION NAME]**. | A lot of the filter events are used to filter the results of a particular function, in those cases the name of the event is usually **filter_[CLASS NAME]_[FUNCTION NAME]**. | ||
+ | |||
+ | There is a special case where what is being filtered is another data type (like an array), this special case behavior was added in 4.1.0. | ||
==== overload ==== | ==== overload ==== | ||
Line 79: | Line 83: | ||
These core events are to deal with the user session or session data. In all events so far, it is done in addition to, not instead of, the built in stuff. | These core events are to deal with the user session or session data. In all events so far, it is done in addition to, not instead of, the built in stuff. | ||
- | These are what the Bridge addon uses to do it' | + | These are what the Bridge addon uses to do its thing for syncing up login/ |
==== user ==== | ==== user ==== | ||
Line 89: | Line 93: | ||
==== errorhandle ==== | ==== errorhandle ==== | ||
- | This is a special case, this is the name of a core event that is it' | + | This is a special case, this is the name of a core event that is its own category. |
In the software, we use trigger_error() as a debugging message tool, the message syntax will match: | In the software, we use trigger_error() as a debugging message tool, the message syntax will match: | ||
Line 101: | Line 105: | ||
==== app_bottom ==== | ==== app_bottom ==== | ||
- | This is another core event that is it' | + | This is another core event that is its own category. |