id, $addcontact); message_add_contact($addcontact); } if ($removecontact and confirm_sesskey()) { add_to_log(SITEID, 'message', 'remove contact', 'history.php?user1='.$removecontact.'&user2='.$USER->id, $removecontact); message_remove_contact($removecontact); } if ($blockcontact and confirm_sesskey()) { add_to_log(SITEID, 'message', 'block contact', 'history.php?user1='.$blockcontact.'&user2='.$USER->id, $blockcontact); message_block_contact($blockcontact); } if ($unblockcontact and confirm_sesskey()) { add_to_log(SITEID, 'message', 'unblock contact', 'history.php?user1='.$unblockcontact.'&user2='.$USER->id, $unblockcontact); message_unblock_contact($unblockcontact); } /// By default, print frameset to contain all the various panes if (!$frame) { $USER->message_user_refresh[$user->id] = time(); ?> <?php echo get_string('discussion', 'message').': '.fullname($user) ?> Sorry, but support for Frames is required to use Messaging '; echo ''; echo print_user_picture($user->id, SITEID, $user->picture, true, true, true, 'userwindow').''; echo ''; echo fullname($user); echo '
'; /// Print login status of this user if ($user->lastaccess) { if (time() - $user->lastaccess > $CFG->message_offline_time) { echo get_string('offline', 'message').': '.format_time(time() - $user->lastaccess); } else { echo get_string('lastaccess').': '.get_string('ago', 'message', format_time(time() - $user->lastaccess)); } } else { echo get_string("lastaccess").":". get_string("never"); } echo ''; echo '
'; echo '
'; if ($contact = get_record('message_contacts', 'userid', $USER->id, 'contactid', $user->id)) { if ($contact->blocked) { message_contact_link($user->id, 'add', false, 'user.php?id='.$user->id.'&frame=info'); echo " "; message_contact_link($user->id, 'unblock', false, 'user.php?id='.$user->id.'&frame=info'); echo " "; } else { message_contact_link($user->id, 'remove', false, 'user.php?id='.$user->id.'&frame=info'); echo " "; message_contact_link($user->id, 'block', false, 'user.php?id='.$user->id.'&frame=info'); echo " "; } } else { message_contact_link($user->id, 'add', false, 'user.php?id='.$user->id.'&frame=info'); echo " "; message_contact_link($user->id, 'block', false, 'user.php?id='.$user->id.'&frame=info'); echo " "; } message_history_link($user->id, 0, false, '', '', 'icon'); echo '
'; echo ''; echo ''; // Close possible theme tables off break; case 'messages': /// Print the main frame containing the current chat print_header(); echo '\n\n"; break; case 'refresh': /// Print the main frame containing the current chat header("Expires: Sun, 28 Dec 1997 09:32:45 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Type: text/html"); header("Refresh: $CFG->message_chat_refresh; url=user.php?id=$user->id&frame=refresh"); echo ''; if ($messages = get_records_select('message', "useridto = '$USER->id' AND useridfrom = '$user->id'", 'timecreated')) { foreach ($messages as $message) { $time = userdate($message->timecreated, get_string('strftimedaytime')); $options = NULL; $options->para = false; $options->newlines = true; $printmessage = format_text($message->message, $message->format, $options, 0); $printmessage = str_replace("\r", ' ', $printmessage); $printmessage = str_replace("\n", ' ', $printmessage); $printmessage = '

'.$user->firstname.' ['.$time.']: '. $printmessage.'

'; echo '\n\n"; /// Move the entry to the other table $message->timeread = time(); $message->message = addslashes($message->message); $messageid = $message->id; unset($message->id); if (insert_record('message_read', $message)) { delete_records('message', 'id', $messageid); } } echo '\n\n"; } // Update the info pane, but only if the data there is getting too old $timenow = time(); if ($timenow - $user->lastaccess > $CFG->message_offline_time) { // Offline if ($timenow - $USER->message_user_refresh[$user->id] < 30) { // It's just happened so refresh $USER->message_user_refresh[$user->id] = $timenow - 30; // Prevent it happening again $refreshinfo = true; } } else { // Online if ($timenow - $USER->message_user_refresh[$user->id] > 30) { // Been a while $USER->message_user_refresh[$user->id] = $timenow; // Prevent it happening again $refreshinfo = true; } } if (!empty($refreshinfo)) { echo '\n\n"; } echo ''; break; case 'edit': /// Print the bottom frame with the text editor /// Check that the user is not blocking us!! if ($contact = get_record('message_contacts', 'userid', $user->id, 'contactid', $USER->id)) { if ($contact->blocked and !isadmin()) { print_heading(get_string('userisblockingyou', 'message')); exit; } } $message = trim($message); if ($message and confirm_sesskey()) { /// Current user has just sent a message /// Save it to the database... $messageid = message_post_message($USER, $user, $message, $format, 'direct'); /// Format the message as HTML $options = NULL; $options->para = false; $options->newlines = true; $message = format_text($message, $format, $options, 0); $message = str_replace("\r", ' ', $message); $message = str_replace("\n", ' ', $message); /// Then write it to our own screen immediately $time = userdate(time(), get_string('strftimedaytime')); $message = '

'.addslashes($USER->firstname).' ['.$time.']: '.$message.'

'; $script = "\n\n"; $date = usergetdate($message->timecreated); $datestring = $date['year'].$date['mon'].$date['mday']; add_to_log(SITEID, 'message', 'write', 'history.php?user1='.$user->id.'&user2='.$USER->id.'#m'.$messageid, $user->id); } else { $script = ''; } print_header('','','','',$script,false,'','',false,''); echo '
'; echo '
'; echo ''; echo ''; echo ''; $usehtmleditor = can_use_html_editor(); $usehtmleditor = false; // REMOVE print_textarea($usehtmleditor, 5, 40, 450, 200, 'message', ''); if ($usehtmleditor) { use_html_editor("message"); } echo '
'; echo ''; echo '
'; echo '
'; break; } ?>