Development:Messaging: Difference between revisions
From MoodleDocs
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
== | ===Setting up a provider=== | ||
* db/messages.php (list the types of providers) | |||
/lang/XX/messages/providercomponent_providername.html (documentation) | * /lang/XX/messages/providercomponent_providername.html (documentation) | ||
... | ... | ||
===Setting up a processor=== | |||
===Sending a Message=== | |||
Whenever you need to send a message, it should “tell” the system about it. So, using the message as an example, we first define an object as follows: | |||
$eventdata = new object(); | |||
$eventdata->component = 'message'; | |||
$eventdata->name = 'instantmessage'; | |||
$eventdata->userfrom = $userfrom; | |||
$eventdata->userto = $userto; | |||
$eventdata->subject = "IM"; | |||
$eventdata->fullmessage = $message; | |||
$eventdata->fullmessageformat = FORMAT_PLAIN; | |||
$eventdata->fullmessagehtml = ''; | |||
$eventdata->smallmessage = ''; | |||
Then we post the object as an event and forget about it: | |||
events_trigger('message_send', $eventdata); |
Revision as of 17:41, 25 September 2008
The Messageing API is a new core system in Moodle to allow communication of messages to users. It's based on the events system, so a module will trigger an event with the attached message data and the message output processor will try to deliver the message to the correct place.
Overview
Setting up a provider
- db/messages.php (list the types of providers)
- /lang/XX/messages/providercomponent_providername.html (documentation)
...
Setting up a processor
Sending a Message
Whenever you need to send a message, it should “tell” the system about it. So, using the message as an example, we first define an object as follows:
$eventdata = new object(); $eventdata->component = 'message'; $eventdata->name = 'instantmessage'; $eventdata->userfrom = $userfrom; $eventdata->userto = $userto; $eventdata->subject = "IM"; $eventdata->fullmessage = $message; $eventdata->fullmessageformat = FORMAT_PLAIN; $eventdata->fullmessagehtml = ; $eventdata->smallmessage = ;
Then we post the object as an event and forget about it:
events_trigger('message_send', $eventdata);