"MDL-14949, add a new capablity chat:talk to enable readonly chat user, merged from 1.9"

This commit is contained in:
dongsheng 2008-12-16 04:58:40 +00:00
parent c964051fee
commit 4314c0bcf5
5 changed files with 37 additions and 3 deletions

View File

@ -6,11 +6,12 @@ $string['autoscroll'] = 'Auto Scroll';
$string['beep'] = 'beep';
$string['cantlogin'] = 'Could not log in to chat room!!';
$string['cantinsert'] = 'Could not insert a chat message!';
$string['chat:chat'] = 'Talk in a chat';
$string['chat:chat'] = 'Access a chat room';
$string['chat:deletelog'] = 'Delete chat logs';
$string['chat:exportsession'] = 'Export chat session';
$string['chat:exportparticipatedsession'] = 'Export participated-in chat session';
$string['chat:readlog'] = 'Read chat logs';
$string['chat:talk'] = 'Talk in a chat';
$string['chatintro'] = 'Introduction text';
$string['chatname'] = 'Name of this chat room';
$string['chatreport'] = 'Chat sessions';

View File

@ -47,6 +47,20 @@ $mod_chat_capabilities = array(
)
),
'mod/chat:talk' => array(
'riskbitmask' => RISK_SPAM,
'captype' => 'write',
'contextlevel' => CONTEXT_MODULE,
'legacy' => array(
'student' => CAP_ALLOW,
'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW,
'admin' => CAP_ALLOW
)
),
'mod/chat:readlog' => array(
'captype' => 'read',

View File

@ -6,10 +6,25 @@
require('../lib.php');
$chat_sid = required_param('chat_sid', PARAM_ALPHANUM);
$chatid = required_param('chat_id', PARAM_INT);
if (!$chatuser = $DB->get_record('chat_users', array('sid'=>$chat_sid))) {
print_error('notlogged', 'chat');
}
if (!$chat = get_record('chat', 'id', $chatid)) {
error('Could not find that chat room!');
}
if (!$course = get_record('course', 'id', $chat->course)) {
error('Could not find the course this belongs to!');
}
if (!$cm = get_coursemodule_from_instance('chat', $chat->id, $course->id)) {
error('Course Module ID was incorrect');
}
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
//Get the user theme
$USER = $DB->get_record('user', array('id'=>$chatuser->userid));
@ -48,6 +63,7 @@
$meta = ob_get_clean();
print_header('', '', '', 'input_chat_message', $meta, false);
if(has_capability('mod/chat:chatlog',$context)){
?>
<form action="../empty.php" method="post" target="empty" id="inputForm"
onsubmit="return empty_field_and_submit()" style="margin:0">
@ -55,6 +71,9 @@
<?php helpbutton('chatting', get_string('helpchatting', 'chat'), 'chat', true, false); ?><br />
<input type="checkbox" id="auto" size="50" value="" checked='true' /><label for="auto"><?php echo get_string('autoscroll', 'chat');?></label>
</form>
<?php
}
?>
<form action="insert.php" method="post" target="empty" id="sendForm">
<input type="hidden" name="chat_sid" value="<?php echo $chat_sid ?>" />

View File

@ -50,7 +50,7 @@
print_error('cantlogin', 'chat');
}
$params = "chat_sid=$chat_sid";
$params = "chat_id=$id&chat_sid={$chat_sid}";
// fallback to the old jsupdate, but allow other update modes
$updatemode = 'jsupdate';

View File

@ -5,7 +5,7 @@
/// This fragment is called by moodle_needs_upgrading() and /admin/index.php
/////////////////////////////////////////////////////////////////////////////////
$module->version = 2008081400; // The (date) version of this module
$module->version = 2008081401; // The (date) version of this module
$module->requires = 2007101509; // Requires this Moodle version
$module->cron = 300; // How often should cron check this module (seconds)?