authenticate_request(); $sloodle->load_module('chat', true); // Attempt to validate the user // (this will auto-register/enrol users where necessary and allowed) // If server access level is public, then validation is not essential... otherwise, it is $sloodleserveraccesslevel = $sloodle->request->get_server_access_level(false); if ($sloodleserveraccesslevel == 0) $sloodle->validate_user(false); else $sloodle->validate_user(true); $sloodle->validate_requirements(); // Has an incoming message been provided? $message = sloodle_clean_for_db($sloodle->request->optional_param('message', null)); if ($message != null) { // Add it to the chatroom - if it fails add a negative side effect code to our response. // The positive side effect will be added by the function if successful. if (!$sloodle->module->add_message($message)) { $sloodle->response->add_side_effect(-10101); add_to_log($sloodle->course->get_course_id(), 'sloodle', 'add message', '', 'Failed to add chat message to chatroom', $sloodle->request->get_module_id()); } else { add_to_log($sloodle->course->get_course_id(), 'sloodle', 'add message', '', 'Added chat message to chatroom', $sloodle->request->get_module_id()); } } // Start preparing the response $sloodle->response->set_status_code(1); $sloodle->response->set_status_descriptor('OK'); // Fetch a chat history $messages = $sloodle->module->get_chat_history(); foreach ($messages as $m) { $author = sloodle_clean_for_output($m->user->get_user_firstname().' '.$m->user->get_user_lastname()); $sloodle->response->add_data_line(array($m->id, $author, sloodle_clean_for_output($m->message))); } // Output our response sloodle_debug('
'); // For debug mode, lets us see the response in a browser
    $sloodle->response->render_to_output();
    sloodle_debug('
'); ?>