Lesson 4: Doing something when X happens
This lesson explains how to use Elgg's event system.
Problem
Whenever someone joins a group, you want to send an e-mail welcoming them. Whenever a blog entry is posted, you want to be notified so that you can review its content. Whenever someone logs in, you want to increase a counter so that you can proudly post on your front page how many times people have used your site: "3 billion served". In all of these cases, an event occurs and you want something to happen.
Solution
Elgg has an event system that calls a function when something occurs. When a user logs in, a login event is triggered within Elgg. Events are triggered for updating profile fields, joining a group, forming a friendship, uploading a file, or leaving a comment. When an event occurs, Elgg calls the functions that are registered for that event. Each function runs and when it is done, control is returned to Elgg.
Example
We want to receive an e-mail whenever someone joins our site. Our site...