Parent Directory
|
Revision Log
updated patch to added default values
? config.php
? moodledata
? patch.diff
? lib/messagelib.php
? message/edit.php
? message/edit_form.php
? message/output
Index: version.php
===================================================================
RCS file: /cvsroot/moodle/moodle/version.php,v
retrieving revision 1.724
diff -u -r1.724 version.php
--- version.php 21 Jul 2008 01:31:30 -0000 1.724
+++ version.php 23 Jul 2008 18:40:40 -0000
@@ -6,7 +6,7 @@
// This is compared against the values stored in the database to determine
// whether upgrades should be performed (see lib/db/*.php)
- $version = 2008070701; // YYYYMMDD = date of the last version bump
+ $version = 2008071200; // YYYYMMDD = date of the last version bump
// XX = daily increments
$release = '2.0 dev (Build: 20080721)'; // Human-friendly version name
Index: admin/handlevirus.php
===================================================================
RCS file: /cvsroot/moodle/moodle/admin/handlevirus.php,v
retrieving revision 1.10
diff -u -r1.10 handlevirus.php
--- admin/handlevirus.php 31 May 2008 10:43:51 -0000 1.10
+++ admin/handlevirus.php 23 Jul 2008 18:40:40 -0000
@@ -6,6 +6,8 @@
* php -d error_log=/path/to/log thisfile.php will override the default error log for php cli, which is stderr, so if you want this script to just print stuff out, use php thisfile.php instead.
*/
+require_once($CFG->libdir.'/eventslib.php');
+
$fd = fopen('php://stdin','r');
if (!$fd) {
@@ -59,7 +61,22 @@
return false;
}
$body = get_string('virusfoundlater','moodle',$a);
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = get_admin();
+ $eventdata->userto = $user;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $body;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+
+ /*
email_to_user($user,get_admin(),$subject,$body);
+ */
}
@@ -69,7 +86,20 @@
$body = get_string('virusfoundlateradmin','moodle',$a);
foreach ($admins as $admin) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $admin;
+ $eventdata->userto = $admin;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $body;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($admin,$admin,$subject,$body);
+ */
}
}
@@ -81,7 +111,20 @@
$subject = get_string('virusfoundsubject','moodle',format_string($site->fullname));
$body = get_string('virusfoundlateradminnolog','moodle',$a);
foreach ($admins as $admin) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $admin;
+ $eventdata->userto = $admin;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $body;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($admin,$admin,$subject,$body);
+ */
}
}
Index: backup/backup_scheduled.php
===================================================================
RCS file: /cvsroot/moodle/moodle/backup/backup_scheduled.php,v
retrieving revision 1.44
diff -u -r1.44 backup_scheduled.php
--- backup/backup_scheduled.php 5 Jun 2008 14:11:54 -0000 1.44
+++ backup/backup_scheduled.php 23 Jul 2008 18:40:45 -0000
@@ -1,5 +1,7 @@
<?php //$Id: patch.diff,v 1.7 2008/07/23 18:43:20 lfrodrigues Exp $
//This file contains all the code needed to execute scheduled backups
+
+require_once($CFG->libdir.'/eventslib.php');
//This function is executed via moodle cron
//It prepares all the info and execute backups as necessary
@@ -195,7 +197,20 @@
$subject = $prefix.get_string("scheduledbackupstatus");
//Send the message
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $admin;
+ $eventdata->userto = $admin;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $message;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($admin,$admin,$subject,$message);
+ */
}
Index: course/pending.php
===================================================================
RCS file: /cvsroot/moodle/moodle/course/pending.php,v
retrieving revision 1.19
diff -u -r1.19 pending.php
--- course/pending.php 16 Jun 2008 14:25:53 -0000 1.19
+++ course/pending.php 23 Jul 2008 18:40:48 -0000
@@ -5,6 +5,7 @@
require_once($CFG->libdir.'/pagelib.php');
require_once($CFG->libdir.'/blocklib.php');
require_once('lib.php');
+ require_once($CFG->libdir.'/eventslib.php');
require_login();
@@ -52,7 +53,21 @@
$a->name = $course->fullname;
$a->url = $CFG->wwwroot.'/course/view.php?id='.$courseid;
$a->teacher = $course->teacher;
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $USER;
+ $eventdata->userto = $user;
+ $eventdata->subject = get_string('courseapprovedsubject');
+ $eventdata->fullmessage = get_string('courseapprovedemail','moodle',$a);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($user,$USER,get_string('courseapprovedsubject'),get_string('courseapprovedemail','moodle',$a));
+ */
redirect($CFG->wwwroot.'/course/edit.php?id='.$courseid);
exit;
}
@@ -79,7 +94,20 @@
}
else {
$user = $DB->get_record("user", array("id"=>$reject->requester));
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $USER;
+ $eventdata->userto = $user;
+ $eventdata->subject = get_string('courserejectsubject');
+ $eventdata->fullmessage = get_string('courserejectemail','moodle',$rejectnotice);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+ /*
email_to_user($user,$USER,get_string('courserejectsubject'),get_string('courserejectemail','moodle',$rejectnotice));
+ */
$DB->delete_records("course_request", array("id"=>$reject->id));
notice(get_string('courserejected'),'pending.php');
}
Index: enrol/authorize/enrol.php
===================================================================
RCS file: /cvsroot/moodle/moodle/enrol/authorize/enrol.php,v
retrieving revision 2.23
diff -u -r2.23 enrol.php
--- enrol/authorize/enrol.php 5 Jul 2008 12:22:57 -0000 2.23
+++ enrol/authorize/enrol.php 23 Jul 2008 18:40:49 -0000
@@ -4,6 +4,7 @@
require_once($CFG->dirroot.'/enrol/authorize/const.php');
require_once($CFG->dirroot.'/enrol/authorize/localfuncs.php');
require_once($CFG->dirroot.'/enrol/authorize/authorizenet.class.php');
+require_once($CFG->libdir.'/eventslib.php');
/**
* Authorize.net Payment Gateway plugin
@@ -171,7 +172,7 @@
$order->currency = $curcost['currency'];
$order->id = $DB->insert_record("enrol_authorize", $order);
if (!$order->id) {
- email_to_admin("Error while trying to insert new data", $order);
+ message_to_admin("Error while trying to insert new data", $order);
return "Insert record error. Admin has been notified!";
}
@@ -242,7 +243,20 @@
$context = get_context_instance(CONTEXT_COURSE, $course->id);
if (($paymentmanagers = get_users_by_capability($context, 'enrol/authorize:managepayments'))) {
foreach ($paymentmanagers as $paymentmanager) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $USER;
+ $eventdata->userto = $paymentmanager;
+ $eventdata->subject = $emailsubject;
+ $eventdata->fullmessage = $emailmessage;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($paymentmanager, $USER, $emailsubject, $emailmessage);
+ */
}
}
redirect($CFG->wwwroot, get_string("reviewnotify", "enrol_authorize"), '30');
@@ -265,12 +279,26 @@
$a = new stdClass;
$a->course = "$course->fullname";
$a->user = fullname($USER);
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $USER;
+ $eventdata->userto = $paymentmanager;
+ $eventdata->subject = get_string("enrolmentnew", '', format_string($course->shortname));
+ $eventdata->fullmessage = get_string('enrolmentnewuser', '', $a);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user(
$paymentmanager,
$USER,
get_string("enrolmentnew", '', format_string($course->shortname)),
get_string('enrolmentnewuser', '', $a)
);
+ */
}
if (!empty($CFG->enrol_mailadmins)) {
$a = new stdClass;
@@ -278,18 +306,31 @@
$a->user = fullname($USER);
$admins = get_admins();
foreach ($admins as $admin) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $USER;
+ $eventdata->userto = $paymentmanager;
+ $eventdata->subject = get_string("enrolmentnew", '', format_string($course->shortname));
+ $eventdata->fullmessage = get_string('enrolmentnewuser', '', $a);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user(
$admin,
$USER,
get_string("enrolmentnew", '', format_string($course->shortname)),
get_string('enrolmentnewuser', '', $a)
);
+ */
}
}
}
else
{
- email_to_admin("Error while trying to enrol " . fullname($USER) . " in '$course->fullname'", $order);
+ message_to_admin("Error while trying to enrol " . fullname($USER) . " in '$course->fullname'", $order);
}
if ($SESSION->wantsurl) {
@@ -308,7 +349,7 @@
}
else
{
- email_to_admin($message, $order);
+ message_to_admin($message, $order);
return $message;
}
}
@@ -348,7 +389,7 @@
$order->currency = $curcost['currency'];
$order->id = $DB->insert_record("enrol_authorize", $order);
if (!$order->id) {
- email_to_admin("Error while trying to insert new data", $order);
+ message_to_admin("Error while trying to insert new data", $order);
return "Insert record error. Admin has been notified!";
}
@@ -385,7 +426,7 @@
return NULL;
}
else {
- email_to_admin($message, $order);
+ message_to_admin($message, $order);
return $message;
}
}
@@ -695,10 +736,35 @@
$adminuser = get_admin();
if (!empty($faults)) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $adminuser;
+ $eventdata->userto = $adminuser;
+ $eventdata->subject = "AUTHORIZE.NET CRON FAULTS";
+ $eventdata->fullmessage = $faults;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($adminuser, $adminuser, "AUTHORIZE.NET CRON FAULTS", $faults);
+ */
}
if (!empty($CFG->enrol_mailadmins)) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $adminuser;
+ $eventdata->userto = $adminuser;
+ $eventdata->subject = "AUTHORIZE.NET CRON LOG";
+ $eventdata->fullmessage = $this->log;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+ /*
email_to_user($adminuser, $adminuser, "AUTHORIZE.NET CRON LOG", $this->log);
+ */
}
// Send emails to students about which courses have enrolled.
@@ -757,7 +823,20 @@
$a->url = $CFG->wwwroot.'/enrol/authorize/uploadcsv.php';
$message = get_string('pendingecheckemail', 'enrol_authorize', $a);
foreach($csvusers as $csvuser) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $adminuser;
+ $eventdata->userto = $csvuser;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $message;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
@email_to_user($csvuser, $adminuser, $subject, $message);
+ */
}
mtrace(" users who have 'enrol/authorize:uploadcsv' were mailed");
}
@@ -791,7 +870,21 @@
$a->enrolurl = "$CFG->wwwroot/$CFG->admin/enrol_config.php?enrol=authorize";
$a->url = $CFG->wwwroot.'/enrol/authorize/index.php?status='.AN_STATUS_AUTH;
$message = get_string('pendingordersemail', 'enrol_authorize', $a);
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $adminuser;
+ $eventdata->userto = $adminuser;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $message;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($adminuser, $adminuser, $subject, $message);
+ */
// Email to payment managers
if (empty($CFG->an_emailexpiredteacher)) {
@@ -830,7 +923,20 @@
$a->url = $CFG->wwwroot.'/enrol/authorize/index.php?course='.$lastcourse.'&status='.AN_STATUS_AUTH;
$message = get_string('pendingordersemailteacher', 'enrol_authorize', $a);
foreach ($paymentmanagers as $paymentmanager) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $adminuser;
+ $eventdata->userto = $paymentmanager;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $message;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($paymentmanager, $adminuser, $subject, $message);
+ */
}
}
}
Index: enrol/authorize/localfuncs.php
===================================================================
RCS file: /cvsroot/moodle/moodle/enrol/authorize/localfuncs.php,v
retrieving revision 2.12
diff -u -r2.12 localfuncs.php
--- enrol/authorize/localfuncs.php 11 Jun 2008 13:37:53 -0000 2.12
+++ enrol/authorize/localfuncs.php 23 Jul 2008 18:40:49 -0000
@@ -1,5 +1,7 @@
<?php // $Id: patch.diff,v 1.7 2008/07/23 18:43:20 lfrodrigues Exp $
+require_once($CFG->libdir.'/eventslib.php');
+
function get_course_cost($course)
{
global $CFG;
@@ -111,7 +113,7 @@
}
}
-function email_to_admin($subject, $data)
+function message_to_admin($subject, $data)
{
global $SITE;
@@ -120,7 +122,19 @@
$message = "$SITE->fullname: Transaction failed.\n\n$subject\n\n";
$message .= print_r($data, true);
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $admin;
+ $eventdata->userto = $admin;
+ $eventdata->subject = "$SITE->fullname: Authorize.net ERROR";
+ $eventdata->fullmessage = $emailmessage;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+ /*
email_to_user($admin, $admin, "$SITE->fullname: Authorize.net ERROR", $message);
+ */
}
function send_welcome_messages($orderdata)
@@ -177,7 +191,21 @@
$a->profileurl = "$CFG->wwwroot/user/view.php?id=$lastuserid";
$a->paymenturl = "$CFG->wwwroot/enrol/authorize/index.php?user=$lastuserid";
$emailmessage = get_string('welcometocoursesemail', 'enrol_authorize', $a);
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $sender;
+ $eventdata->userto = $user;
+ $eventdata->subject = get_string("enrolmentnew", '', $SITE->shortname);
+ $eventdata->fullmessage = $emailmessage;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
@email_to_user($user, $sender, get_string("enrolmentnew", '', $SITE->shortname), $emailmessage);
+ */
}
}
while ($ei);
Index: enrol/authorize/uploadcsv.php
===================================================================
RCS file: /cvsroot/moodle/moodle/enrol/authorize/uploadcsv.php,v
retrieving revision 2.7
diff -u -r2.7 uploadcsv.php
--- enrol/authorize/uploadcsv.php 5 Jun 2008 18:21:44 -0000 2.7
+++ enrol/authorize/uploadcsv.php 23 Jul 2008 18:40:49 -0000
@@ -5,6 +5,7 @@
require_once($CFG->libdir.'/uploadlib.php');
require_once($CFG->dirroot.'/enrol/authorize/const.php');
require_once($CFG->dirroot.'/enrol/authorize/localfuncs.php');
+ require_once($CFG->libdir.'/eventslib.php');
/// Require capabilites
require_login();
@@ -224,7 +225,21 @@
/// Send email to admin
if (!empty($ignoredlines)) {
$admin = get_admin();
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $admin;
+ $eventdata->userto = $admin;
+ $eventdata->subject = "$SITE->fullname: Authorize.net CSV ERROR LOG";
+ $eventdata->fullmessage = $ignoredlines;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($admin, $admin, "$SITE->fullname: Authorize.net CSV ERROR LOG", $ignoredlines);
+ */
}
/// Send welcome messages to users
Index: enrol/flatfile/enrol.php
===================================================================
RCS file: /cvsroot/moodle/moodle/enrol/flatfile/enrol.php,v
retrieving revision 1.10
diff -u -r1.10 enrol.php
--- enrol/flatfile/enrol.php 2 Jun 2008 21:02:52 -0000 1.10
+++ enrol/flatfile/enrol.php 23 Jul 2008 18:40:49 -0000
@@ -5,6 +5,7 @@
// $CFG->enrol_emailteachers: send email to teachers when they are enrolled in a course
// $CFG->enrol_emailadmins: email the log from the cron job to the admin
+require_once($CFG->libdir.'/eventslib.php');
class enrolment_plugin_flatfile {
@@ -216,8 +217,22 @@
if (!empty($CFG->enrol_mailstudents)) {
$a->coursename = "$course->fullname";
$a->profileurl = "$CFG->wwwroot/user/view.php?id=$user->id&course=$course->id";
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $teacher;
+ $eventdata->userto = $user;
+ $eventdata->subject = get_string("enrolmentnew", '', $course->shortname);
+ $eventdata->fullmessage = get_string('welcometocoursetext', '', $a);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($user, $teacher, get_string("enrolmentnew", '', $course->shortname),
get_string('welcometocoursetext', '', $a));
+ */
}
if (!empty($CFG->enrol_mailteachers) && $teachers) {
@@ -227,8 +242,22 @@
if (!$u->hidden || has_capability('moodle/role:viewhiddenassigns', $context)) {
$a->course = "$course->fullname";
$a->user = fullname($user);
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $user;
+ $eventdata->userto = $teacher;
+ $eventdata->subject = get_string("enrolmentnew", '', $course->shortname);
+ $eventdata->fullmessage = get_string('enrolmentnewuser', '', $a);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($teacher, $user, get_string("enrolmentnew", '', $course->shortname),
get_string('enrolmentnewuser', '', $a));
+ */
}
}
}
@@ -246,12 +275,38 @@
} // end of if(file_open)
if(! @unlink($filename)) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = get_admin();
+ $eventdata->userto = get_admin();
+ $eventdata->subject = get_string("filelockedmailsubject", "enrol_flatfile");
+ $eventdata->fullmessage = get_string("filelockedmail", "enrol_flatfile", $filename);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user(get_admin(), get_admin(), get_string("filelockedmailsubject", "enrol_flatfile"), get_string("filelockedmail", "enrol_flatfile", $filename));
+ */
$this->log .= "Error unlinking file $filename\n";
}
if (!empty($CFG->enrol_mailadmins)) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = get_admin();
+ $eventdata->userto = get_admin();
+ $eventdata->subject = "Flatfile Enrolment Log";
+ $eventdata->fullmessage = $this->log;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user(get_admin(), get_admin(), "Flatfile Enrolment Log", $this->log);
+ */
}
} // end of if(file_exists)
Index: enrol/imsenterprise/enrol.php
===================================================================
RCS file: /cvsroot/moodle/moodle/enrol/imsenterprise/enrol.php,v
retrieving revision 1.20
diff -u -r1.20 enrol.php
--- enrol/imsenterprise/enrol.php 16 Jun 2008 14:25:54 -0000 1.20
+++ enrol/imsenterprise/enrol.php 23 Jul 2008 18:40:49 -0000
@@ -6,6 +6,7 @@
*/
require_once("$CFG->libdir/blocklib.php");
require_once($CFG->dirroot.'/group/lib.php');
+require_once($CFG->libdir.'/eventslib.php');
// The following flags are set in the configuration
// $CFG->enrol_imsfilelocation: where is the file we are looking for?
@@ -380,8 +381,21 @@
}else{
$msg .= "Logging is currently not active.";
}
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = get_admin();
+ $eventdata->userto = get_admin();
+ $eventdata->subject = "Moodle IMS Enterprise enrolment notification";
+ $eventdata->fullmessage = $msg;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+ /*
email_to_user(get_admin(), get_admin(), "Moodle IMS Enterprise enrolment notification", $msg);
+ */
$this->log_line('Notification email sent to administrator.');
}
Index: enrol/manual/enrol.php
===================================================================
RCS file: /cvsroot/moodle/moodle/enrol/manual/enrol.php,v
retrieving revision 1.35
diff -u -r1.35 enrol.php
--- enrol/manual/enrol.php 9 Jun 2008 16:54:00 -0000 1.35
+++ enrol/manual/enrol.php 23 Jul 2008 18:40:49 -0000
@@ -23,6 +23,7 @@
///////////////////////////////////////////////////////////////////////////
require_once($CFG->dirroot.'/group/lib.php');
+require_once($CFG->libdir.'/eventslib.php');
/**
* enrolment_plugin_manual is the default enrolment plugin
@@ -313,8 +314,20 @@
$strexpirynotifystudentsemail = get_string('expirynotifystudentsemail', '', $a);
$strexpirynotify = get_string('expirynotify');
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $teacher;
+ $eventdata->userto = $user;
+ $eventdata->subject = format_string($SITE->fullname) .' '. $strexpirynotify;
+ $eventdata->fullmessage = $strexpirynotifystudentsemail;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+ /*
email_to_user($user, $teacher, format_string($SITE->fullname) .' '. $strexpirynotify,
$strexpirynotifystudentsemail);
+ */
}
}
}
@@ -331,7 +344,20 @@
$strexpirynotifyemail = get_string('expirynotifyemail', '', $a);
$strexpirynotify = get_string('expirynotify');
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $admin;
+ $eventdata->userto = $teacher;
+ $eventdata->subject = $a->coursename .' '. $strexpirynotify;
+ $eventdata->fullmessage = $strexpirynotifyemail;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($teacher, $admin, $a->coursename .' '. $strexpirynotify, $strexpirynotifyemail);
+ */
}
}
}
Index: enrol/paypal/ipn.php
===================================================================
RCS file: /cvsroot/moodle/moodle/enrol/paypal/ipn.php,v
retrieving revision 1.25
diff -u -r1.25 ipn.php
--- enrol/paypal/ipn.php 9 Jun 2008 16:53:35 -0000 1.25
+++ enrol/paypal/ipn.php 23 Jul 2008 18:40:49 -0000
@@ -15,6 +15,7 @@
require("../../config.php");
require("enrol.php");
+ require_once($CFG->libdir.'/eventslib.php');
/// Keep out casual intruders
if (empty($_POST) or !empty($_GET)) {
@@ -46,17 +47,17 @@
/// get the user and course records
if (! $user = $DB->get_record("user", array("id"=>$data->userid))) {
- email_paypal_error_to_admin("Not a valid user id", $data);
+ message_paypal_error_to_admin("Not a valid user id", $data);
die;
}
if (! $course = $DB->get_record("course", array("id"=>$data->courseid))) {
- email_paypal_error_to_admin("Not a valid course id", $data);
+ message_paypal_error_to_admin("Not a valid course id", $data);
die;
}
if (! $context = get_context_instance(CONTEXT_COURSE, $course->id)) {
- email_paypal_error_to_admin("Not a valid context id", $data);
+ message_paypal_error_to_admin("Not a valid context id", $data);
die;
}
@@ -71,7 +72,7 @@
if (!$fp) { /// Could not open a socket to PayPal - FAIL
echo "<p>Error: could not access paypal.com</p>";
- email_paypal_error_to_admin("Could not access paypal.com to verify payment", $data);
+ message_paypal_error_to_admin("Could not access paypal.com to verify payment", $data);
die;
}
@@ -93,7 +94,7 @@
if ($data->payment_status != "Completed" and $data->payment_status != "Pending") {
role_unassign(0, $data->userid, 0, $context->id);
- email_paypal_error_to_admin("Status not completed or pending. User unenrolled from course", $data);
+ message_paypal_error_to_admin("Status not completed or pending. User unenrolled from course", $data);
die;
}
@@ -101,8 +102,21 @@
// Email user to let them know. Email admin.
if ($data->payment_status == "Pending" and $data->pending_reason != "echeck") {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = get_admin();
+ $eventdata->userto = $user;
+ $eventdata->subject = "Moodle: PayPal payment";
+ $eventdata->fullmessage = "Your PayPal payment is pending.";
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($user, get_admin(), "Moodle: PayPal payment", "Your PayPal payment is pending.");
- email_paypal_error_to_admin("Payment pending", $data);
+ */
+ message_paypal_error_to_admin("Payment pending", $data);
die;
}
@@ -119,24 +133,24 @@
if ($existing = $DB->get_record("enrol_paypal", array("txn_id"=>$data->txn_id))) { // Make sure this transaction doesn't exist already
- email_paypal_error_to_admin("Transaction $data->txn_id is being repeated!", $data);
+ message_paypal_error_to_admin("Transaction $data->txn_id is being repeated!", $data);
die;
}
if ($data->business != $CFG->enrol_paypalbusiness) { // Check that the email is the one we want it to be
- email_paypal_error_to_admin("Business email is $data->business (not $CFG->enrol_paypalbusiness)", $data);
+ message_paypal_error_to_admin("Business email is $data->business (not $CFG->enrol_paypalbusiness)", $data);
die;
}
if (!$user = $DB->get_record('user', array('id'=>$data->userid))) { // Check that user exists
- email_paypal_error_to_admin("User $data->userid doesn't exist", $data);
+ message_paypal_error_to_admin("User $data->userid doesn't exist", $data);
die;
}
if (!$course = $DB->get_record('course', array('id'=>$data->courseid))) { // Check that course exists
- email_paypal_error_to_admin("Course $data->courseid doesn't exist", $data);;
+ message_paypal_error_to_admin("Course $data->courseid doesn't exist", $data);;
die;
}
@@ -149,7 +163,7 @@
if ($data->payment_gross < $cost) {
$cost = format_float($cost, 2);
- email_paypal_error_to_admin("Amount paid is not enough ($data->payment_gross < $cost))", $data);
+ message_paypal_error_to_admin("Amount paid is not enough ($data->payment_gross < $cost))", $data);
die;
}
@@ -157,11 +171,11 @@
// ALL CLEAR !
if (!$DB->insert_record("enrol_paypal", $data)) { // Insert a transaction record
- email_paypal_error_to_admin("Error while trying to insert valid transaction", $data);
+ message_paypal_error_to_admin("Error while trying to insert valid transaction", $data);
}
if (!enrol_into_course($course, $user, 'paypal')) {
- email_paypal_error_to_admin("Error while trying to enrol ".fullname($user)." in '$course->fullname'", $data);
+ message_paypal_error_to_admin("Error while trying to enrol ".fullname($user)." in '$course->fullname'", $data);
die;
} else {
$teacher = get_teacher($course->id);
@@ -169,24 +183,65 @@
if (!empty($CFG->enrol_mailstudents)) {
$a->coursename = $course->fullname;
$a->profileurl = "$CFG->wwwroot/user/view.php?id=$user->id";
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $teacher;
+ $eventdata->userto = $user;
+ $eventdata->subject = get_string("enrolmentnew", '', $course->shortname);
+ $eventdata->fullmessage = get_string('welcometocoursetext', '', $a);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($user, $teacher, get_string("enrolmentnew", '', $course->shortname),
get_string('welcometocoursetext', '', $a));
+ */
}
if (!empty($CFG->enrol_mailteachers)) {
$a->course = $course->fullname;
$a->user = fullname($user);
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $user;
+ $eventdata->userto = $teacher;
+ $eventdata->subject = get_string("enrolmentnew", '', $course->shortname);
+ $eventdata->fullmessage = get_string('enrolmentnewuser', '', $a);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($teacher, $user, get_string("enrolmentnew", '', $course->shortname),
get_string('enrolmentnewuser', '', $a));
+ */
}
if (!empty($CFG->enrol_mailadmins)) {
$a->course = $course->fullname;
$a->user = fullname($user);
$admins = get_admins();
- foreach ($admins as $admin) {
+ foreach ($admins as $admin) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $user;
+ $eventdata->userto = $admin;
+ $eventdata->subject = get_string("enrolmentnew", '', $course->shortname);
+ $eventdata->fullmessage = get_string('enrolmentnewuser', '', $a);
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($admin, $user, get_string("enrolmentnew", '', $course->shortname),
get_string('enrolmentnewuser', '', $a));
+ */
}
}
@@ -195,7 +250,7 @@
} else if (strcmp ($result, "INVALID") == 0) { // ERROR
$DB->insert_record("enrol_paypal", $data, false);
- email_paypal_error_to_admin("Received an invalid payment notification!! (Fake payment?)", $data);
+ message_paypal_error_to_admin("Received an invalid payment notification!! (Fake payment?)", $data);
}
}
@@ -207,7 +262,7 @@
/// FUNCTIONS //////////////////////////////////////////////////////////////////
-function email_paypal_error_to_admin($subject, $data) {
+function message_paypal_error_to_admin($subject, $data) {
$admin = get_admin();
$site = get_site();
@@ -217,8 +272,20 @@
$message .= "$key => $value\n";
}
- email_to_user($admin, $admin, "PAYPAL ERROR: ".$subject, $message);
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $admin;
+ $eventdata->userto = $admin;
+ $eventdata->subject = "PAYPAL ERROR: ".$subject;
+ $eventdata->fullmessage = $message;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+/*
+ email_to_user($admin, $admin, "PAYPAL ERROR: ".$subject, $message);
+*/
}
?>
Index: error/index.php
===================================================================
RCS file: /cvsroot/moodle/moodle/error/index.php,v
retrieving revision 1.20
diff -u -r1.20 index.php
--- error/index.php 9 Jun 2008 16:53:38 -0000 1.20
+++ error/index.php 23 Jul 2008 18:40:49 -0000
@@ -1,6 +1,7 @@
<?PHP // $Id: patch.diff,v 1.7 2008/07/23 18:43:20 lfrodrigues Exp $
require('../config.php');
+ require_once($CFG->libdir.'/eventslib.php');
if ($form = data_submitted()) { // form submitted, do not check referer (original page unknown)!
@@ -20,8 +21,21 @@
$supportuser->lastname = $CFG->supportname ? '' : $admin->lastname;
$supportuser->maildisplay = true;
- /// Send the email and redirect
+ /// Send the message and redirect
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $USER;
+ $eventdata->userto = $supportuser;
+ $eventdata->subject = 'Error: '. $form->referer .' -> '. $form->requested;
+ $eventdata->fullmessage = $form->text;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($supportuser, $USER, 'Error: '. $form->referer .' -> '. $form->requested, $form->text);
+ */
redirect($CFG->wwwroot .'/course/', 'Message sent, thanks', 3);
exit;
Index: lang/en_utf8/message.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lang/en_utf8/message.php,v
retrieving revision 1.9
diff -u -r1.9 message.php
--- lang/en_utf8/message.php 13 Jun 2008 06:55:26 -0000 1.9
+++ lang/en_utf8/message.php 23 Jul 2008 18:40:59 -0000
@@ -10,10 +10,8 @@
$string['allstudents'] = 'All messages between students in course';
$string['allusers'] = 'All messages from all users';
$string['backupmessageshelp'] = 'If enabled, then instant messages will be included in SITE automated backups';
-$string['beepnewmessage'] = 'Beep when a new message comes in (may require browser plugin that can play sounds, such as Quicktime)';
$string['blockcontact'] = 'Block contact';
$string['blockedmessages'] = '$a message(s) to/from blocked users';
-$string['blocknoncontacts'] = 'Block all new messages from people who are not on my contact list';
$string['contactlistempty'] = 'Your contact list is currently empty';
$string['contacts'] = 'Contacts';
$string['context'] = 'context';
@@ -38,7 +36,6 @@
$string['mycontacts'] = 'My Contacts';
$string['newsearch'] = 'New search';
$string['newonlymsg'] = 'Show only new';
-$string['noframesjs'] = 'Version without frames and JavaScript';
$string['nomessages'] = 'No messages waiting';
$string['nomessagesfound'] = 'No messages were found';
$string['nosearchresults'] = 'There were no results from your search';
@@ -61,7 +58,6 @@
$string['sendmessagetopopup'] = "Send message to \$a - new window";
$string['settings'] = 'Settings';
$string['settingssaved'] = 'Your settings have been saved';
-$string['showmessagewindow'] = 'Automatically show Message window when I get new messages (your browser needs to be set so that it doesn\'t block popups on this site)';
$string['strftimedaydatetime'] = '%%A, %%d %%B %%Y, %%I:%%M %%p';
$string['timenosee'] = 'Minutes since I was last seen online';
$string['timesent'] = 'Time Sent';
@@ -71,4 +67,20 @@
$string['userisblockingyounoncontact'] = 'This user is only accepting messages from people listed as contacts, and you are not currently on the list.';
$string['userssearchresults'] = 'Search results: $a users found';
+//luis: used in the message system
+$string['editmymessage'] = 'Messaging';
+$string['guestnoeditmessage'] = 'Guest user can not edit messaging options';
+$string['guestnoeditmessageother'] = 'Guest user can not edit other user messaging options';
+$string['loggedin'] = 'Logged In: ';
+$string['loggedoff'] = 'Logged Off: ';
+$string['general_config'] = 'General Options';
+$string['providers_config'] = 'Message Sources';
+$string['processor_config'] = 'Destinations Configuration';
+$string['showmessagewindow'] = 'Popup window on new message';
+$string['blocknoncontacts'] = 'Block unknown users';
+$string['beepnewmessage'] = 'Beep on new message';
+$string['noframesjs'] = 'No frames and JavaScript';
+$string['providerstag'] = 'Source: ';
+$string['processortag'] = 'Destination: ';
+
?>
Index: lang/en_utf8/role.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lang/en_utf8/role.php,v
retrieving revision 1.60
diff -u -r1.60 role.php
--- lang/en_utf8/role.php 18 Apr 2008 08:35:16 -0000 1.60
+++ lang/en_utf8/role.php 23 Jul 2008 18:40:59 -0000
@@ -187,4 +187,9 @@
$string['user:viewusergrades'] = 'View user grades';
$string['course:managegrades'] = 'Manage grades';
+//LUIS: new message system
+$string['user:editmessageprofile'] = 'Edit user messaging profile';
+$string['user:editownmessageprofile'] = 'Edit own user messaging profile';
+
+
?>
Index: lib/adminlib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/adminlib.php,v
retrieving revision 1.226
diff -u -r1.226 adminlib.php
--- lib/adminlib.php 16 Jul 2008 02:16:42 -0000 1.226
+++ lib/adminlib.php 23 Jul 2008 18:41:01 -0000
@@ -785,6 +785,18 @@
$USER->newadminuser = 1;
load_all_capabilities();
+ //add default preferences for the messageprocessors (by default all users get email)
+ $providers = $DB->get_records('message_providers');
+ $preferences = array();
+ foreach ( $providers as $providerid => $provider){
+ $preferences[ 'message_provider_'.$provider->modulename.'_loggedin' ] = 'popup';
+ $preferences[ 'message_provider_'.$provider->modulename.'_loggedoff' ] = 'email';
+ }
+ if (!set_user_preferences( $preferences, $usernew->id ) ){
+ print_error('Error updating user message preferences');
+ }
+
+
if (!defined('CLI_UPGRADE')||!CLI_UPGRADE) {
redirect("$CFG->wwwroot/user/editadvanced.php?id=$user->id"); // Edit thyself
}
Index: lib/uploadlib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/uploadlib.php,v
retrieving revision 1.29
diff -u -r1.29 uploadlib.php
--- lib/uploadlib.php 14 Jul 2008 02:38:50 -0000 1.29
+++ lib/uploadlib.php 23 Jul 2008 18:41:04 -0000
@@ -9,6 +9,8 @@
* @package moodlecore
*/
+require_once($CFG->libdir.'/eventslib.php');
+
//error_reporting(E_ALL ^ E_NOTICE);
/**
* This class handles all aspects of fileuploading
@@ -642,7 +644,7 @@
$notice .= "\n". clam_handle_infected_file($fullpath);
$newreturn = false;
}
- clam_mail_admins($notice);
+ clam_message_admins($notice);
if ($appendlog) {
$file['uploadlog'] .= "\n". get_string('clambroken');
$file['clam'] = 1;
@@ -673,7 +675,7 @@
$notice = get_string('virusfound', 'moodle', $info);
$notice .= "\n\n". implode("\n", $output);
$notice .= "\n\n". clam_handle_infected_file($fullpath);
- clam_mail_admins($notice);
+ clam_message_admins($notice);
if ($appendlog) {
$info->filename = $file['originalname'];
$file['uploadlog'] .= "\n". get_string('virusfounduser', 'moodle', $info);
@@ -689,7 +691,7 @@
$notice .= "\n". clam_handle_infected_file($fullpath);
$newreturn = false;
}
- clam_mail_admins($notice);
+ clam_message_admins($notice);
if ($appendlog) {
$file['uploadlog'] .= "\n". get_string('clambroken');
$file['clam'] = 1;
@@ -703,14 +705,27 @@
*
* @param string $notice The body of the email to be sent.
*/
-function clam_mail_admins($notice) {
+function clam_message_admins($notice) {
$site = get_site();
$subject = get_string('clamemailsubject', 'moodle', format_string($site->fullname));
$admins = get_admins();
foreach ($admins as $admin) {
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = get_admin();
+ $eventdata->userto = $admin;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $notice;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
+ /*
email_to_user($admin, get_admin(), $subject, $notice);
+ */
}
}
Index: lib/db/access.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/db/access.php,v
retrieving revision 1.82
diff -u -r1.82 access.php
--- lib/db/access.php 29 Feb 2008 09:35:04 -0000 1.82
+++ lib/db/access.php 23 Jul 2008 18:41:08 -0000
@@ -807,6 +807,29 @@
'admin' => CAP_ALLOW
)
),
+
+ //capabilities designed for the new message system configuration
+ 'moodle/user:editmessageprofile' => array(
+
+ 'riskbitmask' => RISK_SPAM,
+
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_USER,
+ 'legacy' => array(
+ 'admin' => CAP_ALLOW
+ )
+ ),
+
+ 'moodle/user:editownmessageprofile' => array(
+
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_SYSTEM,
+ 'legacy' => array(
+ 'guest' => CAP_PROHIBIT,
+ 'user' => CAP_ALLOW,
+ 'admin' => CAP_ALLOW
+ )
+ ),
'moodle/question:managecategory' => array(
Index: lib/db/events.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/db/events.php,v
retrieving revision 1.7
diff -u -r1.7 events.php
--- lib/db/events.php 6 Jul 2008 22:54:46 -0000 1.7
+++ lib/db/events.php 23 Jul 2008 18:41:08 -0000
@@ -29,7 +29,54 @@
/* List of handlers */
-$handlers = array (); // no handlers for now in core
+$handlers = array (
+
+ /*
+ * Messaging Events
+ */
+/*
+ * required parameters (object):
+ * modulename -
+ * modulefile -
+ *
+ */
+ 'message_provider_register' => array (
+ 'handlerfile' => '/lib/messagelib.php',
+ 'handlerfunction' => 'message_provider_register_handler',
+ 'schedule' => 'instant'
+ ),
+
+/*
+ * required parameters (object):
+ * modulename -
+ *
+ */
+
+ 'message_provider_unregister' => array (
+ 'handlerfile' => '/lib/messagelib.php',
+ 'handlerfunction' => 'message_provider_unregister_handler',
+ 'schedule' => 'instant'
+ ),
+
+/* required parameters (object):
+ * modulename -
+ * userfrom
+ * userto
+ * subject
+ * fullmessage - the full message in a given format
+ * fullmessageformat - the format if the full message (FORMAT_MOODLE, FORMAT_HTML, ..)
+ * fullmessagehtml - the full version (the message processor will choose with one to use)
+ * smallmessage - the small version of the message
+ */
+
+ 'message_send' => array (
+ 'handlerfile' => '/lib/messagelib.php',
+ 'handlerfunction' => 'message_send_handler',
+ 'schedule' => 'instant'
+ )
+
+);
+
Index: lib/db/install.xml
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/db/install.xml,v
retrieving revision 1.154
diff -u -r1.154 install.xml
--- lib/db/install.xml 7 Jul 2008 15:09:40 -0000 1.154
+++ lib/db/install.xml 23 Jul 2008 18:41:08 -0000
@@ -311,12 +311,14 @@
<TABLE NAME="message" COMMENT="Stores all unread messages" PREVIOUS="log_display" NEXT="message_read">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="useridfrom"/>
- <FIELD NAME="useridfrom" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="useridto"/>
- <FIELD NAME="useridto" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="useridfrom" NEXT="message"/>
- <FIELD NAME="message" TYPE="text" LENGTH="small" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="useridto" NEXT="format"/>
- <FIELD NAME="format" TYPE="int" LENGTH="4" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="message" NEXT="timecreated"/>
- <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="format" NEXT="messagetype"/>
- <FIELD NAME="messagetype" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="timecreated"/>
+ <FIELD NAME="useridfrom" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="useridto"/>
+ <FIELD NAME="useridto" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="useridfrom" NEXT="subject"/>
+ <FIELD NAME="subject" TYPE="text" LENGTH="small" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="The message subject" PREVIOUS="useridto" NEXT="fullmessage"/>
+ <FIELD NAME="fullmessage" TYPE="text" LENGTH="small" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="subject" NEXT="fullmessageformat"/>
+ <FIELD NAME="fullmessageformat" TYPE="int" LENGTH="4" NOTNULL="false" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="The format of the full message" PREVIOUS="fullmessage" NEXT="fullmessagehtml"/>
+ <FIELD NAME="fullmessagehtml" TYPE="text" LENGTH="medium" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="html format of message" PREVIOUS="fullmessageformat" NEXT="smallmessage"/>
+ <FIELD NAME="smallmessage" TYPE="text" LENGTH="small" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Smal version of message (eg sms)" PREVIOUS="fullmessagehtml" NEXT="timecreated"/>
+ <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="smallmessage"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
@@ -329,14 +331,15 @@
<TABLE NAME="message_read" COMMENT="Stores all messages that have been read" PREVIOUS="message" NEXT="message_contacts">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="useridfrom"/>
- <FIELD NAME="useridfrom" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="useridto"/>
- <FIELD NAME="useridto" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="useridfrom" NEXT="message"/>
- <FIELD NAME="message" TYPE="text" LENGTH="small" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="useridto" NEXT="format"/>
- <FIELD NAME="format" TYPE="int" LENGTH="4" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="message" NEXT="timecreated"/>
- <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="format" NEXT="timeread"/>
- <FIELD NAME="timeread" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="timecreated" NEXT="messagetype"/>
- <FIELD NAME="messagetype" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="timeread" NEXT="mailed"/>
- <FIELD NAME="mailed" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="messagetype"/>
+ <FIELD NAME="useridfrom" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="useridto"/>
+ <FIELD NAME="useridto" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="useridfrom" NEXT="subject"/>
+ <FIELD NAME="subject" TYPE="text" LENGTH="small" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="The message subject" PREVIOUS="useridto" NEXT="fullmessage"/>
+ <FIELD NAME="fullmessage" TYPE="text" LENGTH="small" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="subject" NEXT="fullmessageformat"/>
+ <FIELD NAME="fullmessageformat" TYPE="int" LENGTH="4" NOTNULL="false" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="The format of the full message" PREVIOUS="fullmessage" NEXT="fullmessagehtml"/>
+ <FIELD NAME="fullmessagehtml" TYPE="text" LENGTH="medium" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="html format of message" PREVIOUS="fullmessageformat" NEXT="smallmessage"/>
+ <FIELD NAME="smallmessage" TYPE="text" LENGTH="small" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Smal version of message (eg sms)" PREVIOUS="fullmessagehtml" NEXT="timecreated"/>
+ <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="smallmessage" NEXT="timeread"/>
+ <FIELD NAME="timeread" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="timecreated"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
@@ -1708,7 +1711,7 @@
<INDEX NAME="name" UNIQUE="false" FIELDS="name" COMMENT="name index"/>
</INDEXES>
</TABLE>
- <TABLE NAME="portfolio_instance_user" COMMENT="user data for portfolio instances." PREVIOUS="portfolio_instance_config">
+ <TABLE NAME="portfolio_instance_user" COMMENT="user data for portfolio instances." PREVIOUS="portfolio_instance_config" NEXT="message_providers">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="instance"/>
<FIELD NAME="instance" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="fk to instance table" PREVIOUS="id" NEXT="userid"/>
@@ -1722,6 +1725,35 @@
<KEY NAME="userfk" TYPE="foreign" FIELDS="userid" REFTABLE="user" REFFIELDS="id" COMMENT="fk to user table" PREVIOUS="instancefk"/>
</KEYS>
</TABLE>
+ <TABLE NAME="message_providers" COMMENT="This table stores the message providers (modules and core systems)" PREVIOUS="portfolio_instance_user" NEXT="message_processors">
+ <FIELDS>
+ <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="true" ENUM="false" COMMENT="id of the table, please edit me" NEXT="modulename"/>
+ <FIELD NAME="modulename" TYPE="char" LENGTH="166" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Module Name" PREVIOUS="id" NEXT="modulefile"/>
+ <FIELD NAME="modulefile" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="The main module file" PREVIOUS="modulename"/>
+ </FIELDS>
+ <KEYS>
+ <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="primary key of the table, please edit me"/>
+ </KEYS>
+ </TABLE>
+ <TABLE NAME="message_processors" COMMENT="List of message output plugins" PREVIOUS="message_providers" NEXT="message_working">
+ <FIELDS>
+ <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="true" ENUM="false" COMMENT="id of the table, please edit me" NEXT="name"/>
+ <FIELD NAME="name" TYPE="char" LENGTH="166" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Default comment for the field, please edit me" PREVIOUS="id"/>
+ </FIELDS>
+ <KEYS>
+ <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="primary key of the table, please edit me"/>
+ </KEYS>
+ </TABLE>
+ <TABLE NAME="message_working" COMMENT="Lists all the messages and processors that need to be processed" PREVIOUS="message_processors">
+ <FIELDS>
+ <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="true" ENUM="false" COMMENT="id of the table, please edit me" NEXT="unreadmessageid"/>
+ <FIELD NAME="unreadmessageid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="message that still needs some processing (on message table)" PREVIOUS="id" NEXT="processorid"/>
+ <FIELD NAME="processorid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="The processor with processes the message" PREVIOUS="unreadmessageid"/>
+ </FIELDS>
+ <KEYS>
+ <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="primary key of the table, please edit me"/>
+ </KEYS>
+ </TABLE>
</TABLES>
<STATEMENTS>
<STATEMENT NAME="insert mnet_application" TYPE="insert" TABLE="mnet_application" COMMENT="Initial insert of records on table mnet_application" NEXT="insert log_display">
@@ -1730,7 +1762,7 @@
<SENTENCE TEXT="(name, display_name, xmlrpc_server_url, sso_land_url) VALUES ('mahara','Mahara','/api/xmlrpc/server.php', '/auth/xmlrpc/land.php')" />
</SENTENCES>
</STATEMENT>
- <STATEMENT NAME="insert log_display" TYPE="insert" TABLE="log_display" COMMENT="Initial insert of records on table log_display" PREVIOUS="insert mnet_application">
+ <STATEMENT NAME="insert log_display" TYPE="insert" TABLE="log_display" COMMENT="Initial insert of records on table log_display" PREVIOUS="insert mnet_application" NEXT="insert message_providers">
<SENTENCES>
<SENTENCE TEXT="(module, action, mtable, field) VALUES ('user', 'view', 'user', 'CONCAT(firstname," ",lastname)')" />
<SENTENCE TEXT="(module, action, mtable, field) VALUES ('course', 'user report', 'user', 'CONCAT(firstname," ",lastname)')" />
@@ -1752,5 +1784,10 @@
<SENTENCE TEXT="(module, action, mtable, field) VALUES ('group', 'view', 'groups', 'name')" />
</SENTENCES>
</STATEMENT>
+ <STATEMENT NAME="insert message_providers" TYPE="insert" TABLE="message_providers" COMMENT="Initial insert of moodle record in message_providers" PREVIOUS="insert log_display">
+ <SENTENCES>
+ <SENTENCE TEXT="(modulename, modulefile) VALUES ('moodle', 'index.php')" />
+ </SENTENCES>
+ </STATEMENT>
</STATEMENTS>
</XMLDB>
Index: lib/db/upgrade.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/db/upgrade.php,v
retrieving revision 1.212
diff -u -r1.212 upgrade.php
--- lib/db/upgrade.php 7 Jul 2008 15:09:40 -0000 1.212
+++ lib/db/upgrade.php 23 Jul 2008 18:41:08 -0000
@@ -191,7 +191,7 @@
$result = $DB->delete_records_select('role_names', $DB->sql_isempty('role_names', 'name', false, false));
upgrade_main_savepoint($result, 2008070300);
}
-
+
if ($result && $oldversion < 2008070700) {
if (isset($CFG->defaultuserroleid) and isset($CFG->guestroleid) and $CFG->defaultuserroleid == $CFG->guestroleid) {
// guest can not be selected in defaultuserroleid!
@@ -262,6 +262,91 @@
/// Main savepoint reached
upgrade_main_savepoint($result, 2008070701);
}
+
+ if ($result && $oldversion < 2008071200) {
+ /// Create the database tables for message_processors and message_providers
+ $table = new XMLDBTable('message_providers');
+ $table->addFieldInfo('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null, null);
+ $table->addFieldInfo('modulename', XMLDB_TYPE_CHAR, '166', null, XMLDB_NOTNULL, null, null, null, null);
+ $table->addFieldInfo('modulefile', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null, null);
+ $table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id'));
+ $dbman->create_table($table);
+
+ $table = new XMLDBTable('message_processors');
+ $table->addFieldInfo('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null, null);
+ $table->addFieldInfo('name', XMLDB_TYPE_CHAR, '166', null, XMLDB_NOTNULL, null, null, null, null);
+ $table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id'));
+ $dbman->create_table($table);
+
+
+ $provider = new object();
+ $provider->modulename = 'moodle';
+ $provider->modulefile = 'index.php';
+ $DB->insert_record('message_providers', $provider);
+
+ /// delete old and create new fields
+ $table = new XMLDBTable('message');
+ $field = new XMLDBField('messagetype');
+ $dbman->drop_field($table, $field);
+
+ /// fields to rename
+ $field = new XMLDBField('message');
+ $field->setAttributes(XMLDB_TYPE_TEXT, 'small', null, null, null, null, null, null, null);
+ $dbman->rename_field($table, $field, 'fullmessage');
+ $field = new XMLDBField('format');
+ $field->setAttributes(XMLDB_TYPE_INTEGER, '4', XMLDB_UNSIGNED, null, null, null, null, '0', null);
+ $dbman->rename_field($table, $field, 'fullmessageformat');
+
+ /// new message fields
+ $field = new XMLDBField('subject');
+ $field->setAttributes(XMLDB_TYPE_TEXT, 'small', null, null, null, null, null, null, null);
+ $dbman->add_field($table, $field);
+ $field = new XMLDBField('fullmessagehtml');
+ $field->setAttributes(XMLDB_TYPE_TEXT, 'medium', null, null, null, null, null, null, null);
+ $dbman->add_field($table, $field);
+ $field = new XMLDBField('smallmessage');
+ $field->setAttributes(XMLDB_TYPE_TEXT, 'small', null, null, null, null, null, null, null);
+ $dbman->add_field($table, $field);
+
+
+ $table = new XMLDBTable('message_read');
+ $field = new XMLDBField('messagetype');
+ $dbman->drop_field($table, $field);
+ $field = new XMLDBField('mailed');
+ $dbman->drop_field($table, $field);
+
+ /// fields to rename
+ $field = new XMLDBField('message');
+ $field->setAttributes(XMLDB_TYPE_TEXT, 'small', null, null, null, null, null, null, null);
+ $dbman->rename_field($table, $field, 'fullmessage');
+ $field = new XMLDBField('format');
+ $field->setAttributes(XMLDB_TYPE_INTEGER, '4', XMLDB_UNSIGNED, null, null, null, null, '0', null);
+ $dbman->rename_field($table, $field, 'fullmessageformat');
+
+
+ /// new message fields
+ $field = new XMLDBField('subject');
+ $field->setAttributes(XMLDB_TYPE_TEXT, 'small', null, null, null, null, null, null, null);
+ $dbman->add_field($table, $field);
+ $field = new XMLDBField('fullmessagehtml');
+ $field->setAttributes(XMLDB_TYPE_TEXT, 'medium', null, null, null, null, null, null, null);
+ $dbman->add_field($table, $field);
+ $field = new XMLDBField('smallmessage');
+ $field->setAttributes(XMLDB_TYPE_TEXT, 'small', null, null, null, null, null, null, null);
+ $dbman->add_field($table, $field);
+
+ /// new table
+ $table = new XMLDBTable('message_working');
+ $table->addFieldInfo('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null, null);
+ $table->addFieldInfo('unreadmessageid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, null);
+ $table->addFieldInfo('processorid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, null);
+ $table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id'));
+ $dbman->create_table($table);
+
+
+ upgrade_main_savepoint($result, 2008071200);
+ }
+
/*
* TODO:
Index: message/lib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/message/lib.php,v
retrieving revision 1.77
diff -u -r1.77 lib.php
--- message/lib.php 9 Jun 2008 19:48:26 -0000 1.77
+++ message/lib.php 23 Jul 2008 18:41:49 -0000
@@ -1,6 +1,8 @@
<?php
/// library functions for messaging
+require_once($CFG->libdir.'/eventslib.php');
+
define ('MESSAGE_SHORTLENGTH', 300);
define ('MESSAGE_WINDOW', true); // We are in a message window (so don't pop up a new one!)
@@ -951,6 +953,18 @@
if (!empty($userto->lang)) {
$USER->lang = $userto->lang;
}
+
+ $eventdata = new object();
+ $eventdata->modulename = 'moodle';
+ $eventdata->userfrom = $userfrom;
+ $eventdata->userto = $userto;
+ $eventdata->subject = "MESSAGE";
+ $eventdata->fullmessage = $message;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ events_trigger('message_send', $eventdata);
+
/// Save the new message in the database
@@ -963,9 +977,9 @@
$savemessage->messagetype = 'direct';
if ($CFG->messaging) {
- if (!$savemessage->id = $DB->insert_record('message', $savemessage)) {
- return false;
- }
+ //if (!$savemessage->id = $DB->insert_record('message', $savemessage)) {
+ // return false;
+ //}
$emailforced = false;
} else { // $CFG->messaging is not on, we need to force sending of emails
$emailforced = true;
Index: mod/assignment/lib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/assignment/lib.php,v
retrieving revision 1.329
diff -u -r1.329 lib.php
--- mod/assignment/lib.php 9 Jun 2008 16:54:01 -0000 1.329
+++ mod/assignment/lib.php 23 Jul 2008 18:41:50 -0000
@@ -5,6 +5,8 @@
* This class provides all the functionality for an assignment
*/
+require_once($CFG->libdir.'/eventslib.php');
+
DEFINE ('ASSIGNMENT_COUNT_WORDS', 1);
DEFINE ('ASSIGNMENT_COUNT_LETTERS', 2);
@@ -1579,7 +1581,21 @@
$posttext = $this->email_teachers_text($info);
$posthtml = ($teacher->mailformat == 1) ? $this->email_teachers_html($info) : '';
+ $eventdata = new object();
+ $eventdata->modulename = 'assignment';
+ $eventdata->userfrom = $user;
+ $eventdata->userto = $teacher;
+ $eventdata->subject = $postsubject;
+ $eventdata->fullmessage = $posttext;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = $posthtml;
+ $eventdata->smallmessage = '';
+ if ( events_trigger('message_send', $eventdata) > 0 ){
+ }
+
+ /*
@email_to_user($teacher, $user, $postsubject, $posttext, $posthtml); // If it fails, oh well, too bad.
+ */
}
}
}
@@ -1932,6 +1948,19 @@
/// OTHER STANDARD FUNCTIONS ////////////////////////////////////////////////////////
+/**
+ * Code to be executed when a module is installed
+ * now is just used to register the module as message provider
+ */
+function assignment_install() {
+ $eventdata = new object();
+ $eventdata->modulename = 'assignment';
+ $eventdata->modulefile = 'mod/assignment/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ return true;
+}
+
/**
* Deletes an assignment instance
*
@@ -2125,9 +2154,24 @@
$posthtml = "";
}
+ $eventdata = new object();
+ $eventdata->modulename = 'assignment';
+ $eventdata->userfrom = $teacher;
+ $eventdata->userto = $user;
+ $eventdata->subject = $postsubject;
+ $eventdata->fullmessage = $posttext;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = $posthtml;
+ $eventdata->smallmessage = '';
+ if ( events_trigger('message_send', $eventdata) > 0 ){
+ echo "Error: assignment cron: Could not send out mail for id $submission->id to user $user->id ($user->email)\n";
+ }
+
+ /*
if (! email_to_user($user, $teacher, $postsubject, $posttext, $posthtml)) {
echo "Error: assignment cron: Could not send out mail for id $submission->id to user $user->id ($user->email)\n";
}
+ */
}
$USER = $realuser;
Index: mod/assignment/version.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/assignment/version.php,v
retrieving revision 1.57
diff -u -r1.57 version.php
--- mod/assignment/version.php 19 Mar 2008 23:20:00 -0000 1.57
+++ mod/assignment/version.php 23 Jul 2008 18:41:50 -0000
@@ -5,8 +5,8 @@
// This fragment is called by /admin/index.php
////////////////////////////////////////////////////////////////////////////////
-$module->version = 2007101511;
-$module->requires = 2007101509; // Requires this Moodle version
+$module->version = 2008071200;
+$module->requires = 2008071200; // Requires this Moodle version
$module->cron = 60;
?>
Index: mod/assignment/db/upgrade.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/assignment/db/upgrade.php,v
retrieving revision 1.15
diff -u -r1.15 upgrade.php
--- mod/assignment/db/upgrade.php 22 Jun 2008 23:35:53 -0000 1.15
+++ mod/assignment/db/upgrade.php 23 Jul 2008 18:41:50 -0000
@@ -35,6 +35,15 @@
$DB->set_debug(true);
upgrade_mod_savepoint($result, 2007101511, 'assignment');
}
+
+ if ($result && $oldversion < 2008071200) {
+ $eventdata = new object();
+ $eventdata->modulename = 'assignment';
+ $eventdata->modulefile = 'mod/assignment/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ upgrade_mod_savepoint($result, 2008071200, 'assignment');
+ }
return $result;
}
Index: mod/feedback/lib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/feedback/lib.php,v
retrieving revision 1.16
diff -u -r1.16 lib.php
--- mod/feedback/lib.php 18 Jul 2008 14:53:28 -0000 1.16
+++ mod/feedback/lib.php 23 Jul 2008 18:41:52 -0000
@@ -8,6 +8,8 @@
* @package feedback
*/
+require_once($CFG->libdir.'/eventslib.php');
+
/// Library of functions and constants for module feedback
define('FEEDBACK_INCLUDE_TEST', 1);
@@ -27,6 +29,20 @@
$SESSION->feedback = new object();
}
+/**
+ * Code to be executed when a module is installed
+ * now is just used to register the module as message provider
+ */
+function feedback_install() {
+ $eventdata = new object();
+ $eventdata->modulename = 'feedback';
+ $eventdata->modulefile = 'mod/feedback/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ return true;
+}
+
+
/**
* this will create a new instance and return the id number
* of the new instance.
@@ -1808,9 +1824,37 @@
$posthtml = ($teacher->mailformat == 1) ? feedback_send_email_html($info, $course, $cm) : '';
if($feedback->anonymous == FEEDBACK_ANONYMOUS_NO) {
+ $eventdata = new object();
+ $eventdata->modulename = 'feedback';
+ $eventdata->userfrom = $user;
+ $eventdata->userto = $teacher;
+ $eventdata->subject = $postsubject;
+ $eventdata->fullmessage = $posttext;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = $posthtml;
+ $eventdata->smallmessage = '';
+ if ( events_trigger('message_send', $eventdata) > 0 ){
+ }
+
+ /*
@email_to_user($teacher, $user, $postsubject, $posttext, $posthtml);
+ */
}else {
+ $eventdata = new object();
+ $eventdata->modulename = 'feedback';
+ $eventdata->userfrom = $teacher;
+ $eventdata->userto = $teacher;
+ $eventdata->subject = $postsubject;
+ $eventdata->fullmessage = $posttext;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = $posthtml;
+ $eventdata->smallmessage = '';
+ if ( events_trigger('message_send', $eventdata) > 0 ){
+ }
+
+ /*
@email_to_user($teacher, $teacher, $postsubject, $posttext, $posthtml);
+ */
}
}
}
@@ -1849,7 +1893,21 @@
$posttext = feedback_send_email_text($info, $course);
$posthtml = ($teacher->mailformat == 1) ? feedback_send_email_html($info, $course, $cm) : '';
+ $eventdata = new object();
+ $eventdata->modulename = 'feedback';
+ $eventdata->userfrom = $teacher;
+ $eventdata->userto = $teacher;
+ $eventdata->subject = $postsubject;
+ $eventdata->fullmessage = $posttext;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = $posthtml;
+ $eventdata->smallmessage = '';
+ if ( events_trigger('message_send', $eventdata) > 0 ){
+ }
+
+ /*
@email_to_user($teacher, $teacher, $postsubject, $posttext, $posthtml);
+ */
}
}
}
Index: mod/feedback/version.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/feedback/version.php,v
retrieving revision 1.17
diff -u -r1.17 version.php
--- mod/feedback/version.php 22 Jun 2008 18:02:55 -0000 1.17
+++ mod/feedback/version.php 23 Jul 2008 18:41:52 -0000
@@ -10,8 +10,8 @@
*/
- $module->version = 2008052208; // The current module version (Date: YYYYMMDDXX)
- $module->requires = 2007101503; // Requires this Moodle version
+ $module->version = 2008071200; // The current module version (Date: YYYYMMDDXX)
+ $module->requires = 2008071200; // Requires this Moodle version
$feedback_version_intern = 1; //this version is used for restore older backups
$module->cron = 0; // Period for cron to check this module (secs)
Index: mod/feedback/db/upgrade.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/feedback/db/upgrade.php,v
retrieving revision 1.16
diff -u -r1.16 upgrade.php
--- mod/feedback/db/upgrade.php 22 Jun 2008 23:35:52 -0000 1.16
+++ mod/feedback/db/upgrade.php 23 Jul 2008 18:41:52 -0000
@@ -232,6 +232,16 @@
upgrade_mod_savepoint($result, 2008050105, 'feedback');
}
+
+ if ($result and $oldversion < 2008071200) {
+ $eventdata = new object();
+ $eventdata->modulename = 'forum';
+ $eventdata->modulefile = 'mod/forum/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ upgrade_mod_savepoint($result, 2008071200, 'feedback');
+ }
+
return $result;
}
Index: mod/forum/lib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/forum/lib.php,v
retrieving revision 1.685
diff -u -r1.685 lib.php
--- mod/forum/lib.php 10 Jul 2008 09:55:12 -0000 1.685
+++ mod/forum/lib.php 23 Jul 2008 18:41:53 -0000
@@ -1,6 +1,7 @@
<?php // $Id: patch.diff,v 1.7 2008/07/23 18:43:20 lfrodrigues Exp $
require_once($CFG->libdir.'/filelib.php');
+require_once($CFG->libdir.'/eventslib.php');
/// CONSTANTS ///////////////////////////////////////////////////////////
@@ -28,6 +29,20 @@
/// STANDARD FUNCTIONS ///////////////////////////////////////////////////////////
+/**
+ * Code to be executed when a module is installed
+ * now is just used to register the module as message provider
+ */
+function forum_install() {
+ $eventdata = new object();
+ $eventdata->modulename = 'forum';
+ $eventdata->modulefile = 'mod/forum/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ return true;
+}
+
+
/**
* Given an object containing all the necessary data,
* (defined by the form in mod_form.php) this function
@@ -446,9 +461,21 @@
// Send the post now!
mtrace('Sending ', '');
-
+ /*
if (!$mailresult = email_to_user($userto, $userfrom, $postsubject, $posttext,
$posthtml, '', '', $CFG->forum_replytouser)) {
+ */
+ $eventdata = new object();
+ $eventdata->modulename = 'forum';
+ $eventdata->userfrom = $userfrom;
+ $eventdata->userto = $userto;
+ $eventdata->subject = $postsubject;
+ $eventdata->fullmessage = $posttext;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = $posthtml;
+ $eventdata->smallmessage = '';
+ if ( events_trigger('message_send', $eventdata) > 0){
+
mtrace("Error: mod/forum/cron.php: Could not send out mail for id $post->id to user $userto->id".
" ($userto->email) .. not trying again.");
add_to_log($course->id, 'forum', 'mail error', "discuss.php?d=$discussion->id#p$post->id",
@@ -734,8 +761,20 @@
$posthtml = '';
}
+ /*
if (!$mailresult = email_to_user($userto, $site->shortname, $postsubject, $posttext, $posthtml,
'', '', $CFG->forum_replytouser)) {
+ */
+ $eventdata = new object();
+ $eventdata->modulename = 'forum';
+ $eventdata->userfrom = $site->shortname;
+ $eventdata->userto = $userto;
+ $eventdata->subject = $postsubject;
+ $eventdata->fullmessage = $posttext;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = $posthtml;
+ $eventdata->smallmessage = '';
+ if ( events_trigger('message_send', $eventdata) > 0){
mtrace("ERROR!");
echo "Error: mod/forum/cron.php: Could not send out digest mail to user $userto->id ($userto->email)... not trying again.\n";
add_to_log($course->id, 'forum', 'mail digest error', '', '', $cm->id, $userto->id);
Index: mod/forum/version.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/forum/version.php,v
retrieving revision 1.73
diff -u -r1.73 version.php
--- mod/forum/version.php 13 Apr 2008 19:15:03 -0000 1.73
+++ mod/forum/version.php 23 Jul 2008 18:41:53 -0000
@@ -5,8 +5,8 @@
// This fragment is called by /admin/index.php
////////////////////////////////////////////////////////////////////////////////
-$module->version = 2007101512;
-$module->requires = 2007101509; // Requires this Moodle version
+$module->version = 2008071200;
+$module->requires = 2008071200; // Requires this Moodle version
$module->cron = 60;
?>
Index: mod/forum/db/upgrade.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/forum/db/upgrade.php,v
retrieving revision 1.16
diff -u -r1.16 upgrade.php
--- mod/forum/db/upgrade.php 27 Jun 2008 17:28:22 -0000 1.16
+++ mod/forum/db/upgrade.php 23 Jul 2008 18:41:53 -0000
@@ -75,6 +75,16 @@
upgrade_mod_savepoint($result, 2007101512, 'forum');
}
+
+ if ($result and $oldversion < 2008071200) {
+ $eventdata = new object();
+ $eventdata->modulename = 'forum';
+ $eventdata->modulefile = 'mod/forum/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ upgrade_mod_savepoint($result, 2008071200, 'forum');
+ }
+
return $result;
Index: mod/lesson/essay.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/lesson/essay.php,v
retrieving revision 1.15
diff -u -r1.15 essay.php
--- mod/lesson/essay.php 13 Jun 2008 05:12:50 -0000 1.15
+++ mod/lesson/essay.php 23 Jul 2008 18:41:55 -0000
@@ -10,6 +10,7 @@
require_once('../../config.php');
require_once('locallib.php');
require_once('lib.php');
+ require_once($CFG->libdir.'/eventslib.php');
$id = required_param('id', PARAM_INT); // Course Module ID
$mode = optional_param('mode', 'display', PARAM_ALPHA);
@@ -219,7 +220,19 @@
// Subject
$subject = get_string('essayemailsubject', 'lesson', format_string($pages[$attempt->pageid]->title,true));
+ /*
if(email_to_user($users[$attempt->userid], $USER, $subject, $plaintxt, $message)) {
+ */
+ $eventdata = new object();
+ $eventdata->modulename = 'lesson';
+ $eventdata->userfrom = $USER;
+ $eventdata->userto = $users[$attempt->userid];
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $plaintext;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = $message;
+ $eventdata->smallmessage = '';
+ if ( events_trigger('message_send', $eventdata) == 0){
$essayinfo->sent = 1;
$attempt->useranswer = serialize($essayinfo);
$DB->update_record('lesson_attempts', $attempt);
Index: mod/lesson/lib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/lesson/lib.php,v
retrieving revision 1.48
diff -u -r1.48 lib.php
--- mod/lesson/lib.php 9 Jun 2008 12:29:40 -0000 1.48
+++ mod/lesson/lib.php 23 Jul 2008 18:41:55 -0000
@@ -7,8 +7,24 @@
* @package lesson
**/
+require_once($CFG->libdir.'/eventslib.php');
+
define("LESSON_MAX_EVENT_LENGTH", "432000"); // 5 days maximum
+/**
+ * Code to be executed when a module is installed
+ * now is just used to register the module as message provider
+ */
+function lesson_install() {
+ $eventdata = new object();
+ $eventdata->modulename = 'lesson';
+ $eventdata->modulefile = 'mod/lesson/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ return true;
+}
+
+
/**
* Given an object containing all the necessary data,
* (defined by the form in mod_form.php) this function
Index: mod/lesson/version.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/lesson/version.php,v
retrieving revision 1.41
diff -u -r1.41 version.php
--- mod/lesson/version.php 3 Mar 2008 11:49:35 -0000 1.41
+++ mod/lesson/version.php 23 Jul 2008 18:41:55 -0000
@@ -8,8 +8,8 @@
* @package lesson
**/
-$module->version = 2007101509; // The current module version (Date: YYYYMMDDXX)
-$module->requires = 2007101509; // Requires this Moodle version
+$module->version = 2008071200; // The current module version (Date: YYYYMMDDXX)
+$module->requires = 2008071200; // Requires this Moodle version
$module->cron = 0; // Period for cron to check this module (secs)
?>
Index: mod/lesson/db/upgrade.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/lesson/db/upgrade.php,v
retrieving revision 1.17
diff -u -r1.17 upgrade.php
--- mod/lesson/db/upgrade.php 22 Jun 2008 23:35:53 -0000 1.17
+++ mod/lesson/db/upgrade.php 23 Jul 2008 18:41:56 -0000
@@ -43,6 +43,15 @@
upgrade_mod_savepoint($result, 2007072201, 'lesson');
}
+
+ if ($result and $oldversion < 2008071200) {
+ $eventdata = new object();
+ $eventdata->modulename = 'lesson';
+ $eventdata->modulefile = 'mod/lesson/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ upgrade_mod_savepoint($result, 2008071200, 'lesson');
+ }
return $result;
}
Index: mod/quiz/lib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/quiz/lib.php,v
retrieving revision 1.305
diff -u -r1.305 lib.php
--- mod/quiz/lib.php 11 Jul 2008 07:27:15 -0000 1.305
+++ mod/quiz/lib.php 23 Jul 2008 18:41:56 -0000
@@ -11,6 +11,7 @@
require_once($CFG->libdir.'/pagelib.php');
require_once($CFG->libdir.'/questionlib.php');
+require_once($CFG->libdir.'/eventslib.php');
/// CONSTANTS ///////////////////////////////////////////////////////////////////
@@ -57,6 +58,19 @@
/// FUNCTIONS ///////////////////////////////////////////////////////////////////
+/**
+ * Code to be executed when a module is installed
+ * now is just used to register the module as message provider
+ */
+function quiz_install() {
+ $eventdata = new object();
+ $eventdata->modulename = 'quiz';
+ $eventdata->modulefile = 'mod/quiz/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ return true;
+}
+
/**
* Given an object containing all the necessary data,
* (defined by the form in mod_form.php) this function
Index: mod/quiz/locallib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/quiz/locallib.php,v
retrieving revision 1.152
diff -u -r1.152 locallib.php
--- mod/quiz/locallib.php 15 Jul 2008 15:30:40 -0000 1.152
+++ mod/quiz/locallib.php 23 Jul 2008 18:41:56 -0000
@@ -27,6 +27,7 @@
require_once($CFG->dirroot . '/mod/quiz/accessrules.php');
require_once($CFG->dirroot . '/question/editlib.php');
require_once($CFG->dirroot . '/mod/quiz/attemptlib.php');
+require_once($CFG->libdir . '/eventslib.php');
/// Constants ///////////////////////////////////////////////////////////////////
@@ -927,7 +928,20 @@
$body = get_string('emailconfirmbody', 'quiz', $a);
// send email and analyse result
+ $eventdata = new object();
+ $eventdata->modulename = 'quiz';
+ $eventdata->userfrom = get_admin();
+ $eventdata->userto = $USER;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $body;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ return (events_trigger('message_send', $eventdata) == 0);
+
+ /*
return email_to_user($USER, get_admin(), $subject, $body);
+ */
}
/**
@@ -952,7 +966,20 @@
$body = get_string('emailnotifybody', 'quiz', $a);
// send email and analyse result
+ $eventdata = new object();
+ $eventdata->modulename = 'quiz';
+ $eventdata->userfrom = $USER;
+ $eventdata->userto = $recipient;
+ $eventdata->subject = $subject;
+ $eventdata->fullmessage = $body;
+ $eventdata->fullmessageformat = FORMAT_PLAIN;
+ $eventdata->fullmessagehtml = '';
+ $eventdata->smallmessage = '';
+ return (events_trigger('message_send', $eventdata) == 0);
+
+ /*
return email_to_user($recipient, $USER, $subject, $body);
+ */
}
/**
Index: mod/quiz/version.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/quiz/version.php,v
retrieving revision 1.130
diff -u -r1.130 version.php
--- mod/quiz/version.php 20 Jun 2008 13:43:06 -0000 1.130
+++ mod/quiz/version.php 23 Jul 2008 18:41:57 -0000
@@ -5,8 +5,8 @@
// This fragment is called by moodle_needs_upgrading() and /admin/index.php
////////////////////////////////////////////////////////////////////////////////
-$module->version = 2008062001; // The (date) version of this module
-$module->requires = 2007101509; // Requires this Moodle version
+$module->version = 2008071200; // The (date) version of this module
+$module->requires = 2008071200; // Requires this Moodle version
$module->cron = 0; // How often should cron check this module (seconds)?
?>
Index: mod/quiz/db/upgrade.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/quiz/db/upgrade.php,v
retrieving revision 1.16
diff -u -r1.16 upgrade.php
--- mod/quiz/db/upgrade.php 22 Jun 2008 23:35:52 -0000 1.16
+++ mod/quiz/db/upgrade.php 23 Jul 2008 18:41:57 -0000
@@ -76,6 +76,16 @@
upgrade_mod_savepoint($result, 2008062001, 'quiz');
}
+
+ if ($result and $oldversion < 2008071200) {
+ $eventdata = new object();
+ $eventdata->modulename = 'quiz';
+ $eventdata->modulefile = 'mod/quiz/index.php';
+ events_trigger('message_provider_register', $eventdata);
+
+ upgrade_mod_savepoint($result, 2008071200, 'quiz');
+ }
+
return $result;
Index: user/editadvanced.php
===================================================================
RCS file: /cvsroot/moodle/moodle/user/editadvanced.php,v
retrieving revision 1.36
diff -u -r1.36 editadvanced.php
--- user/editadvanced.php 7 Jul 2008 07:45:51 -0000 1.36
+++ user/editadvanced.php 23 Jul 2008 18:42:13 -0000
@@ -100,6 +100,7 @@
print_error('cannotcreateuser');
}
$usercreated = true;
+
} else {
if (!$DB->update_record('user', $usernew)) {
print_error('cannotupdateuser');
@@ -146,9 +147,20 @@
// reload from db
$usernew = $DB->get_record('user', array('id'=>$usernew->id));
-
+
// trigger events
if ($usercreated) {
+ //add default preferences for the messageprocessors (by default all users get email)
+ $providers = $DB->get_records('message_providers');
+ $preferences = array();
+ foreach ( $providers as $providerid => $provider){
+ $preferences[ 'message_provider_'.$provider->modulename.'_loggedin' ] = 'popup';
+ $preferences[ 'message_provider_'.$provider->modulename.'_loggedoff' ] = 'email';
+ }
+ if (!set_user_preferences( $preferences, $usernew->id ) ){
+ print_error('Error updating user message preferences');
+ }
+
events_trigger('user_created', $usernew);
} else {
events_trigger('user_updated', $usernew);
@@ -167,7 +179,7 @@
redirect("$CFG->wwwroot/$CFG->admin/");
} else {
redirect("$CFG->wwwroot/user/view.php?id=$USER->id&course=$course->id");
- }
+ }
} else {
redirect("$CFG->wwwroot/$CFG->admin/user.php");
}
Index: user/tabs.php
===================================================================
RCS file: /cvsroot/moodle/moodle/user/tabs.php,v
retrieving revision 1.50
diff -u -r1.50 tabs.php
--- user/tabs.php 13 Jun 2008 07:07:45 -0000 1.50
+++ user/tabs.php 23 Jul 2008 18:42:13 -0000
@@ -238,6 +238,12 @@
}
}
}
+
+///added a new messaging tab
+ if (has_capability('moodle/user:editownmessageprofile', $systemcontext)) {
+ $toprow[] = new tabobject('editmessage', $wwwroot.'/message/edit.php?id='.$user->id.'&course='.$course->id, get_string('editmymessage', 'message'));
+ }
+
/// Add second row to display if there is one
if (!empty($secondrow)) {
| Moodle CVS Admin | ViewVC Help |
| Powered by ViewVC 1.0.7 |