2 // For listing message histories between any two users
4 require('../config.php');
10 redirect($CFG->wwwroot
);
13 if (empty($CFG->messaging
)) {
14 error("Messaging is disabled on this site");
18 $userid1 = required_param('user1', PARAM_INT
);
19 if (! $user1 = get_record("user", "id", $userid1)) { // Check it's correct
20 error("User ID 1 was incorrect");
23 if ($user1->deleted
) {
25 print_heading(get_string('userdeleted').': '.$userid1);
30 if (has_capability('moodle/site:readallmessages', get_context_instance(CONTEXT_SYSTEM
))) { // Able to see any discussion
31 $userid2 = optional_param('user2', $USER->id
, PARAM_INT
);
32 if (! $user2 = get_record("user", "id", $userid2)) { // Check
33 error("User ID 2 was incorrect");
35 if ($user2->deleted
) {
37 print_heading(get_string('userdeleted').': '.$userid2);
42 $userid2 = $USER->id
; // Can only see messages involving yourself
45 $search = optional_param('search', '', PARAM_CLEAN
);
47 add_to_log(SITEID
, 'message', 'history', 'history.php?user1='.$userid1.'&user2='.$userid2, $userid1);
49 /// Our two users are defined - let's set up the page
51 print_header(get_string('messagehistory', 'message'), '', '', '', '<base target="_blank" />');
53 /// Print out a heading including the users we are looking at
55 print_simple_box_start('center');
56 echo '<table align="center" cellpadding="10"><tr>';
57 echo '<td align="center">';
58 echo print_user_picture($user1, SITEID
, $user1->picture
, 100, true, true, 'userwindow').'<br />';
59 echo fullname($user1);
61 echo '<td align="center">';
62 echo '<img src="'.$CFG->wwwroot
.'/pix/t/left.gif" alt="'.get_string('from').'" />';
63 echo '<img src="'.$CFG->wwwroot
.'/pix/t/right.gif" alt="'.get_string('to').'" />';
65 echo '<td align="center">';
66 echo print_user_picture($user2, SITEID
, $user2->picture
, 100, true, true, 'userwindow').'<br />';
67 echo fullname($user2);
70 print_simple_box_end();
73 /// Get all the messages and print them
75 if ($messages = message_get_history($user1, $user2)) {
79 $messagedate = get_string('strftimetime');
80 $blockdate = get_string('strftimedaydate');
81 foreach ($messages as $message) {
82 $date = usergetdate($message->timecreated
);
83 if ($current->mday
!= $date['mday'] |
$current->month
!= $date['month'] |
$current->year
!= $date['year']) {
84 $current->mday
= $date['mday'];
85 $current->month
= $date['month'];
86 $current->year
= $date['year'];
87 echo '<a name="'.$date['year'].$date['mon'].$date['mday'].'"></a>';
88 print_heading(userdate($message->timecreated
, $blockdate), 'center', 4);
90 if ($message->useridfrom
== $user1->id
) {
91 echo message_format_message($message, $user1, $messagedate, $search, 'other');
93 echo message_format_message($message, $user2, $messagedate, $search, 'me');
97 print_heading(get_string('nomessagesfound', 'message'));
100 print_footer('none');