Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Messaging: Difference between revisions

From MoodleDocs
No edit summary
No edit summary
Line 4: Line 4:




==Files to Create==
===Setting up a provider===
/db/messages.php (list the types of providers)
* 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);