wwwroot); } if (empty($CFG->messaging)) { print_error('disabled', 'message'); } if (has_capability('moodle/site:sendmessage', get_context_instance(CONTEXT_SYSTEM))) { $PAGE->set_generaltype('popup'); $PAGE->set_title('send'); $PAGE->requires->js('message/message.js'); echo $OUTPUT->header(); /// Script parameters $userid = required_param('id', PARAM_INT); $message = optional_param('message', '', PARAM_CLEANHTML); $format = optional_param('format', FORMAT_MOODLE, PARAM_INT); /// Check the user we are talking to is valid if (! $user = $DB->get_record('user', array('id'=>$userid))) { print_error('invaliduserid'); } /// Check that the user is not blocking us!! if ($contact = $DB->get_record('message_contacts', array('userid'=>$user->id, 'contactid'=>$USER->id))) { if ($contact->blocked and !has_capability('moodle/site:readallmessages', get_context_instance(CONTEXT_SYSTEM))) { echo $OUTPUT->heading(get_string('userisblockingyou', 'message'), 1); echo $OUTPUT->footer(); exit; } } $userpreferences = get_user_preferences(NULL, NULL, $user->id); if (!empty($userpreferences['message_blocknoncontacts'])) { // User is blocking non-contacts if (empty($contact)) { // We are not a contact! echo $OUTPUT->heading(get_string('userisblockingyounoncontact', 'message'), 1); echo $OUTPUT->footer(); exit; } } 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); $time = userdate(time(), get_string('strftimedatetimeshort')); $message = '
'; //$PAGE->requires->js_function_call('parent.messages.document.write', Array($message)); $PAGE->requires->js_function_call('add_message', Array($message)); $PAGE->requires->js_function_call('parent.messages.scroll', Array(1,5000000)); add_to_log(SITEID, 'message', 'write', 'history.php?user1='.$user->id.'&user2='.$USER->id.'#m'.$messageid, $user->id); } echo ''; if (!empty($CFG->messagewasjustemailed)) { $OUTPUT->notifcation(get_string('mailsent', 'message'), 'notifysuccess'); } echo ''; $PAGE->requires->js_function_call('set_focus', Array('edit-message')); echo $OUTPUT->footer(); } ?>